大数据文摘丹尼尔·怀特纳克出品编译:林、曹培新这个世界上有多少种语言?7117.没错,不是方言,而是所讲的语言。人类传递信息的载体是语言,不同语言之间的交流依赖于翻译。例如,在疫情防控方面,世卫组织在官网发布公告,呼吁大家勤洗手,预防感染。作为一个国际组织,这里默认使用的语言是英文,不过网站右上角也有切换语言的地方,提供包括中文在内的6种语言可供选择。虽然这6种语言覆盖了全球超过35亿人口,但显然是不够的。转向翻译软件?以目前世界上应用最广泛的谷歌翻译为例,它只能支持100多种语言,与现有语言相比,只是九牛一毛。世卫组织发布的全球疫情消息固然希望让更多人知道,但目前很多地区都面临着语言障碍,阻碍了信息的传播,哪怕只是告诉人们要勤洗手。为了让更多人了解洗手的重要性,一位名叫DanielWhitenack的AI大佬采用多语言无监督的方法训练了500多种语言的跨语言词向量,然后从已有的目标语言文档中提取出“中的washing”和“hands”,然后将这些部分组合起来生成510种语言的“washinghands”的短语翻译。Daniel使用Facebook开发的MUSE(MultilingualUnsupervisedandSupervisedEmbeddings)库训练了544种语言和英语之间的跨语言词向量,这些向量允许从现有文档中提取类似于目标短语“washyourhands”的词向量。短语。丹尼尔与语言社区SILInternational的同事合作完成了这项工作,他们的成果可以在Ethnologue指南页面上看到——一份包含454种翻译的新冠病毒指南。链接:https://www.ethnologue.com/guides/health跟着数据菌一起来看看他是怎么做到的吧!把“洗脚”和“你的手”拆解,先变成“洗手”,SIL国际已经完成了2000多种语言的语义工作,目前管理着1600多种语言的项目文档。所以我想他们可能已经将“washyourhands”或类似的短语多次翻译成数百种语言,并且这个猜想得到了证实!所以我能够从我们的900多种语言档案中快速收集文档,大部分是完整的教材和圣经等。这些文档中的每一个都有一个英文副本,其中必然包含短语“washyourhands”或类似的东西,例如“wash你的脸。”此外,这些文件质量很高,与当地语言社区合作进行了翻译和验证。我们有一个语言数据集!然而,这里有两个问题需要克服。首先,该数据在大多数语言中只有数千个样本,与用于训练机器翻译模型的数百万样本相比仍然太小;其次,即使文档中包含目标语言中的“洗手”一词,我们也不知道该词在周围文本中的确切位置。对于低资源语言数据集,我们当然可以利用机器翻译中的一些最先进的技术,但是需要一些时间来微调自动化方法以快速适应每个语言对的翻译模型。此外,我们针对的许多语言都没有现有的基准来比较评估指标,例如BLEU分数。因此,我选择尝试通过在现有文档中查找短语本身或短语的一部分(例如“洗手”或“您的手”)来构建术语“洗手”。为了找到这些,我使用FacebookResearch的多语言无监督和监督嵌入(MUSE)库训练了每个跨语言词向量。MUSE将单语词向量(我使用fasttext生成这些词向量)作为输入,并使用对抗性方法学习从英语到目标向量空间的映射,其输出是跨语言词向量。一旦生成了跨语言词向量,我们就可以在目标语言文档中找到短语。事实证明,整个文档中都非常清楚地使用了“washyourface”这个词以及“hands”、“washyours”等单独的实例。对于每种语言,我搜索N-grams(基于平行用法匹配英语)在该短语预期出现的区域。使用跨语言词向量对N-gram进行矢量化,并使用各种距离度量与英语短语的矢量化版本进行比较,在向量空间中最接近英语短语的N-gram被确定为目标语言匹配。最后,将与英语对应词相匹配的组成短语组合起来,生成目标语言的“washyourhands”短语。这种组合再次利用跨语言向量来确保正确组合。例如,如果我们在目标语言中匹配短语“washingfeet”,我们必须将“feet”对应的N-gram替换为“hand”对应的N-gram,下面是BelizeCreoleBelizeKriol'sexampleinEnglish:当然,我们在这个匹配过程中做了一些假设,所以这个过程很可能不会产生语法正确的预测。例如,我假设在大多数语言中,“手”这个词和“脚”这个词是一个词长(词之间用空格和标点符号分隔)。这种假设肯定与现实不同。我们可以克服其中的一些限制并在未来扩展系统,但就目前而言,该方法可以在没有任何翻译系统支持的情况下提供相对可靠的多语言翻译结果。ExploringaPhraseTranslationunderLowDataConditionsApproach到目前为止,我已经能够为544种语言训练跨语言词向量,并且我使用上面的方法试图弄清楚这些语言是如何表示“洗手”的。因为很多语言对都缺乏一致的数据,所以我使用了一个单独的文档来保存,其中还包含一个“洗手”组件,以帮助验证构造短语中的标记。以下是来自EthnologueLinguisticStatistics的翻译示例:构造短语类似于参考翻译,或者是“洗手”的替代表达。例如,在保加利亚语中,我预测“умийръцете”,但在谷歌翻译中,我预测“Измийсиръцете”.但是,如果我使用谷歌翻译来回译我的预测,我仍然会“洗手”。在某些不确定的情况下,我无法与参考翻译(例如所罗门群岛的Pijin[pis]或带有人类注释的类别)进行比较,但我仍然可以验证使用了“洗手”(wasim)和“手”(han))在其他必然分别谈到洗手或手的参考文献中。大约15%的译文可以用这种方法验证,希望在收集参考词典的时候多做一些。请注意,即使是像意大利语这样的高资源语言,我也最多使用每种语言大约7000个句子来获得上述翻译,并且不依赖于语言对之间对齐的句子。尽管数据非常匮乏、无人监督,但对于两个系统都支持的语言,我仍然能够获得与谷歌翻译质量相似的短语。在某种程度上,这证明了我使用的“混合”方法(词向量的无监督对齐+基于规则的匹配)在将短语翻译成数据很少的语言方面是有效的。相关报道:https://datadan.io/blog/wash-your-hands【本文为专栏组织大数据文摘原创翻译,微信公众号“大数据文摘(id:BigDataDigest)”】点此查看查看作者的更多好文章
