博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自然语言的机器翻译 ai_我如何使用AI翻译500种语言的“洗手”
阅读量:2526 次
发布时间:2019-05-11

本文共 3409 字,大约阅读时间需要 11 分钟。

自然语言的机器翻译 ai

您可能不知道,但是目前有 。 不是方言,而是生活语言! 但是,世界上许多数字媒体仅支持几种语言,而且Google Translate等翻译平台仅支持约100种语言。 这种现实意味着,由于缺乏及时获取信息的机会,全世界有数十亿人被边缘化。 当前的冠状病毒(COVID-19)大流行已经使这一点变得十分痛苦,并强调需要立即,快速地将与健康相关的短语(例如“洗手”或“保持距离”)翻译为语言。

为此,我应用了最先进的AI技术,以544种语言构建了类似于短语“洗手”的内容并进行计数(我的GPU仍在运行)。 多语言无监督和监督嵌入(MUSE)方法用于训练544种语言和英语之间的跨语言单词嵌入。 这些嵌入然后允许从现有文档中提取与目标短语相似的短语。

我与SIL International的同事合作完成了这项工作,他们收集了该短语的更多人工翻译。 这些人工翻译和我的一些机器翻译的组合可以在上搜索(机器生成的短语用一个小的机器人图标表示),并且在生成/收集它们时会添加更多的翻译。

利用现有语料库

SIL International已用2000多种语言完成了语言工作,目前管理着1600多种语言项目。 因此,当我处理这个特定问题时,我知道我们可能已经将“洗手”和/或类似的短语多次翻译成数百种语言,并且这种猜测得到了回报。 我能够从我们的档案库中以900多种语言快速收集文档(主要是完整的带壳书模板,教育材料和圣经)。 这些文档中的每一个都有英文的相似之处,其中必然包含短语“洗手”和/或类似的短语,例如“洗脸”。 此外,这些文档中的每一个都是高质量的,并且与当地语言社区合作进行了翻译和检查。

,我们当然可以利用一些最新技巧,但是要花一些时间来调整自动化方法,以快速适应每种语言对中的翻译模型。 此外,我们要定位的许多语言都没有现有的基准,可以用来比较评估指标(例如, 。 鉴于对冠状病毒大流行的紧迫担忧,我们希望采取更快的行动(尽管我们计划将来再解决该问题)。

我选择尝试通过在现有文档中找到短语本身或短语的组成部分(如“洗手”或“您的手”)来构建短语“洗手”。 为了找到这些,我使用Facebook Research的训练了每对{英语,目标语言}对的跨语言嵌入。 MUSE将单语词嵌入作为输入(我使用生成了这些词),并使用对抗性方法学习了从英语到目标嵌入空间的映射。 此过程的输出是跨语言单词嵌入。

Using fasttext along with MUSE to perform cross-language embedding

生成跨语言嵌入后,我们便可以在目标语言文档中找到短语组件。 事实证明,在整个文档中,“洗脸”一词与“手”,“洗脸”等实例一起被单独使用。 对于每种语言,我都会在期望该短语出现的区域中搜索n-gram(基于英语并行中的用法)。 使用跨语言嵌入对N-gram进行矢量化处理,并使用各种距离度量将其与英语短语的矢量化版本进行比较。 嵌入空间中与英语短语“最接近”的n-gram被确定为目标语言匹配。

最后,将与他们的英语对应词匹配的组成词短语组合在一起,以生成目标语言中的“洗手”短语。 这种组合再次利用跨语言嵌入来确保以适当的方式组合组件。 例如,如果我们在目标语言中匹配短语“洗脚”,则必须将与“脚”相对应的n-gram替换为与“手”相对应的n-gram。 这是伯利兹·克里奥尔(Belize Kriol)英语的示例:

当然,在此匹配过程中会做出一些假设,并且此过程很可能不会产生语法上正确的预测。 例如,我假设在大多数语言中,“手”一词和“脚”一词都是一个令牌长(令牌由空格和标点符号分隔)。 当然并非总是如此。 这可能会造成一个不好的字眼色拉,例如“然后洗手”。 希望我们可以克服其中的一些局限性,并在将来扩展系统,但是,到目前为止,我们选择通过图形来增强创意。

我们将世界卫生组织的洗手说明改编为PNG模板图像。 然后,我们结合Bash和Go脚本,将翻译后的短语生成并生成为洗手图像。 这样,在文本和图像中都强调了正确洗手的想法(以防万一我们生成的翻译很尴尬)。

结果

到目前为止,我已经能够训练544种语言的跨语言嵌入。 我使用上面讨论的方法尝试为所有这些语言构造“洗手”。 因为我没有许多语言对的一致数据,所以我使用了单独的保留文档,其中还包含“洗手”的成分,以帮助验证所构造短语中的标记。 这使我们对我们公开发布的译文充满信心(至少它们包含指示洗手和/或洗手的信息)。 此外,我将该方法与Google Translate支持和/或可用人工翻译的语言对进行了比较。 这是带有语言统计的翻译样本:

语言:意大利语[ita]

地点:意大利

人口:68,000,000
我们的系统:“làvatila mani”
Google翻译:“ Lavati le mani”

语言:保加利亚语[bul]

所在地:保加利亚

人口:8,000,000
我们的系统:“умийръцете”
Google翻译:“Измийсиръцете”

语言:荷兰语[nld]

所在地:荷兰

人口:24,000,000
我们的系统:“废物处理”
谷歌翻译:“我是手吗”

语言:Pijin [pis]

地点:所罗门群岛

人口:550,000
我们的系统:“ wasim han”
Google翻译:不支持

语言:Tikar [tik]

地点:喀麦隆

人口:11万
我们的系统:“ɓɔsifyàʼ”
Google翻译:不支持

语言:Waffa [waj]

地点:巴布亚新几内亚

人口:1300
我们的系统:“ yaakuuvaitana nnikiiyauvaa fini”
Google翻译:不支持

构造的短语类似于参考翻译,或者是“洗手”的替代方式。 例如,在保加利亚语中,我预测为“умийръцете”,而Google Translate预测为“Измийсиръцете”。 但是,如果我使用Google翻译对预测进行回译,我仍然会“洗手”。 在某些不确定性下,我无法与参考译文(例如,所罗门群岛的Pijin [pis])或人工注释的跨度进行比较,但我仍然可以验证“洗手”(wasim)和“手”( han)分别用在其他必须谈论洗涤或洗手的参考文件中。 使用此方法可以验证大约15%的翻译,我希望在收集参考词典时进行更多验证。

请注意,即使对于像意大利这样的高资源语言,我最多都使用每种语言的大约7,000个句子来获得以上翻译。 我也不依赖语言对之间对齐的句子。 尽管存在这种数据稀缺且不受监督的情况,但对于两个系统都支持的语言,我仍然能够获得类似于Google Translate的短语。 这证明了这种“混合”方法(单词嵌入的无监督对齐+基于规则的匹配)在将短短语翻译成数据很少的语言中的潜在用途。

注意:我绝对不是在说这是解决有关冠状病毒和其他与健康有关的问题的信息传播问题的解决方案。 这里还有很多事情需要探索和正式评估,我们正在努力。 在许多情况下,这种方法将无法帮助构建数百种语言的重要信息材料。 但是,我认为我们所有人都应该努力为与当前危机有关的问题开发创造性的解决方案。 也许这是一个很大的难题。

您可以在《 上查看经过验证的翻译以及人工翻译的完整列表。 另外,即将对书面形式的系统进行更全面的描述和分析。 我们欢迎公众提供有关翻译的反馈意见,以帮助对系统进行微调,最重要的是,确保将健康信息传播到世界各地的边缘化语言社区。

创建自己的洗手海报

我们已经开源 。 这种方法应该能够处理几乎所有的语言和脚本。 您可以将自己的“洗手”翻译添加到海报上,以帮助传播单词或根据您自己的本地环境定制翻译。 确保使用#WashYourHands标签在社交媒体上分享您生成的海报。

培养您的AI技能

那里有许多激动人心的AI问题,它们可以对世界产生巨大影响。 如果您想通过AI解决上述问题,或者您认为您的企业可能需要开始将AI用于其他方面(供应链优化,推荐,客户服务自动化等),请不要错过 。 AI课堂是为期三天的沉浸式虚拟培训活动,适用于至少具有一定编程经验和数学基础知识的任何人。 该培训为使用Python和TensorFlow和PyTorch等开源框架进行现实AI开发提供了实践基础。 完成课程后,参与者将有信心开始开发和部署自己的AI解决方案。

经许可,本文已重新发布

翻译自:

自然语言的机器翻译 ai

转载地址:http://fnszd.baihongyu.com/

你可能感兴趣的文章
Linux 常用命令
查看>>
ACM 竞赛高校联盟 练习赛 第六场 光头强的强迫症(线段树)
查看>>
Item 16: Avoid Creating Unnecessary Objects(Effective C#)
查看>>
温故而知新练习题2
查看>>
用Gradle 构建你的android程序
查看>>
【bzoj2118】 墨墨的等式
查看>>
AFO
查看>>
Master Reactor Manager Worker TaskWorker(Task)
查看>>
解析大型.NET ERP系统 设计异常处理模块
查看>>
sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
查看>>
middle
查看>>
[Bzoj1009][HNOI2008]GT考试(动态规划)
查看>>
Blob(二进制)、byte[]、long、date之间的类型转换
查看>>
linux awk命令详解
查看>>
OO第一次总结博客
查看>>
day7
查看>>
iphone移动端踩坑
查看>>
vs无法加载项目
查看>>
Beanutils基本用法
查看>>
玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
查看>>