改进 Google 地图中的印度语音译
印度近 75% 的人口——拥有世界上第二多的互联网用户——主要使用印度语言而不是英语与网络互动。在接下来的五年里,这个数字预计将上升到 90%。为了让下一个 10 亿用户尽可能地访问 Google 地图,它必须允许人们以他们喜欢的语言使用它,使他们能够探索世界任何地方。
但是,Google 地图中大多数印度景点 (POI) 的名称通常无法以印度语言的本地文字提供。这些名称通常是英文的,可能会与基于拉丁文字的首字母缩写词以及印度语单词和名称组合在一起。解决这种混合语言表示需要一个音译系统,该系统根据源语言和目标语言将字符从一种文字映射到另一种文字,同时还要考虑单词的语音特性。
例如,考虑古吉拉特邦艾哈迈达巴德的一位用户,他正在寻找附近的医院 KD 医院。他们使用古吉拉特语(印度第六大最广泛使用的语言)的母语发出搜索查询 કેડી હોસ્પિટલ。这里,કેડી(“ kay-dee ”)是KD的首字母缩写词,હોસ્પિટલ是“医院”。在这次搜索中,Google Maps 知道要寻找医院,但它不知道 કેડી 是 KD,因此它找到了另一家医院,CIMS。由于古吉拉特语脚本中可用的印度名胜古迹 (POI) 名称相对稀少,而不是他们想要的结果,而是向用户显示了更远的结果。
为了应对这一挑战,我们构建了一个学习模型的集合,将拉丁文字 POI 的名称音译成 10 种在印度流行的语言:印地语、孟加拉语、马拉地语、泰卢固语、泰米尔语、古吉拉特语、卡纳达语、马拉雅拉姆语、旁遮普语和奥迪亚语。使用这个集合,我们将这些语言的名称添加到印度的数百万个 POI 中,将某些语言的覆盖范围增加了近 20 倍。这将使数百万不会说英语的现有印度用户立即受益,使他们能够以自己的语言找到医生、医院、杂货店、银行、公交车站、火车站和其他基本服务。
音译 vs. 转录 vs. 翻译
我们的目标是设计一个系统,将参考拉丁文字名称音译为上述语言的本土文字和正字法。例如,梵文文字是印地语和马拉地语(马哈拉施特拉邦那格浦尔的母语)的母语文字。音译NIT Garden和Chandramani Garden的拉丁文字名称,这两个 POI 在那格浦尔,结果分别取决于特定的文字,एनआईटी गार्डन和
需要注意的是,音译的 POI 名称不是翻译。音译只涉及用不同的文字书写相同的单词,就像英文报纸可能会选择将西里尔字母中的名称 Горбачёв 写为“戈尔巴乔夫”,供不阅读西里尔字母的读者使用。例如,上面两个转写的 POI 名称中的第二个单词仍然发音为“garden”,而前面古吉拉特语示例中的第二个单词仍然是“hospital”——它们仍然是英文单词“garden”和“hospital”,只是写在另一个脚本中。事实上,印度的 POI 名称中经常使用常见的英语单词,即使是用母语书写的也是如此。这些文字中的名称在很大程度上取决于它的发音。所以 एनआईटी 来自首字母缩略词NIT的发音是“ en-aye-tee”,而不是英文单词“ nit ”。知道 NIT 是来自该地区的常见首字母缩写词,这是在推导出正确音译时可以使用的证据之一。
另请注意,虽然我们使用术语音译,遵循 NLP 社区中直接在书写系统之间映射的约定,南亚语言中的罗马化无论脚本如何通常都是发音驱动的,因此可以将这些方法称为转录而不是音译. 然而,任务仍然是脚本之间的映射,因为在这些语言的拉丁脚本中,发音只是相对粗略地捕获,并且仍然存在许多必须考虑的特定于脚本的对应关系。这一点,再加上拉丁文字缺乏标准拼写以及由此产生的可变性,使这项任务具有挑战性。
音译合奏
我们使用一组模型自动将参考拉丁文字名称(例如NIT Garden或Chandramani Garden)音译为上述语言的本土文字和拼写法。候选音译源自一对序列到序列 (seq2seq) 模型。一种是用于一般文本音译的有限状态模型,其训练方式类似于Gboard 设备上用于音译键盘的模型。另一个是在公开发布的Dakshina 数据集上训练的神经 长短期记忆(LSTM) 模型。该数据集包含从维基百科中提取的 12 种南亚语言的拉丁语和本土文字数据,包括除上述语言中的一种之外的所有语言,并允许对各种音译方法进行培训和评估。由于这两种模型具有如此不同的特征,它们共同产生了更多种类的音译候选。
为了处理首字母缩略词的棘手现象(例如上面的“NIT”和“KD”示例),我们开发了一个专门的音译模块,为这些情况生成额外的候选音译。
对于每一种母语文字,该组合都使用专门为地名、专有名词或常用词量身定制的不同出处的罗马化词典。在 Dakshina 数据集中可以找到此类罗马化词典的示例。
合奏中
的评分合奏将可能音译的分数组合在一个加权混合物中,其参数专门针对 POI 名称的准确性使用此类名称的小型目标开发集进行调整。
对于候选音译中的每个原生脚本标记,集成还根据其在非常大的在线文本样本中的频率对结果进行加权。额外的候选评分基于源自ISO 15919罗马化标准的确定性罗马化方法,该方法将每个本地脚本标记映射到唯一的拉丁脚本字符串。与被音译的原始拉丁文字标记相比,该字符串允许集合跟踪某些关键对应关系,即使 ISO 派生映射本身并不总是完全对应于给定的本地文字通常以拉丁文字书写的方式。
总的来说,与单独使用任何一种方法相比,这些许多移动部件提供的音译质量要高得多。
覆盖范围
下表提供了由于对现有 POI 名称自动音译的集成而导致的每种语言质量和覆盖范围的改进。该报道改进措施自动音译已提供了该项目的增加。 质量改进衡量被判断为改进的更新音译与被判断为劣于现有自动音译的比例。
覆盖范围 质量
语 改进 改进
不。 3.2 倍 1.8 倍
孟加拉 19倍 3.3 倍
马拉地语 19倍 2.9 倍
泰卢固语 3.9 倍 2.6 倍
泰米尔语 19倍 3.6 倍
古吉拉特语 19倍 2.5 倍
卡纳达语 24x 2.3 倍
马拉雅拉姆语 24x 1.7 倍
讨厌 960 倍 —*
旁遮普语 24x —*
结论
与任何机器学习系统一样,由此产生的自动音译可能包含一些错误或缺陷,但这些广泛使用的语言的覆盖范围大幅增加标志着印度谷歌地图中信息可访问性的显着扩展。未来的工作将包括使用该集成在 Maps 中转写其他类别的实体,并将其扩展到其他语言和文字,包括在该地区也常用的波斯-阿拉伯文字。
更新说明:优先更新微信公众号“雨夜的博客”,后更新博客,之后才会陆续分发到各个平台,如果先提前了解更多,请关注微信公众号“雨夜的博客”。