[占位符]

使用机器翻译六种语言模板搜索

squarespace每个审判始于一个重要选择:选择一个模板。模板是出发点,以一个网站的一个有凝聚力的外观和结构。

精简模板选择过程中,我们发布了一个搜索栏 模板存储我只想挣钱图片

squarespace现在六种语言版本:英语,西班牙语,法语,德语,意大利语和葡萄牙语。在英语释放模板搜索,可支持超过10万独特的搜索词后,我们需要一个快速的方法来提供额外的五种语言相同的经历。这篇文章中我们将介绍如何国际化模板快速搜索随着我们前进的道路上面临着一些挑战。

模板 search in spanish
模板 search in 德语
模板 search in Portugeuse

英语模板的第一个版本是由匹配的搜索字词通过从客户站点的描述模板基于内容的模板表示搜索建成。给定一个查询,通过匹配查询到的模板表示位居模板。

例如,假设我们有以下用户现场的描述和相应的模板:

模板网站说明
贝德福德 “让我们做瑜伽!”
贝德福德 “瑜伽是不错的”
铸造厂 “我喜欢喝红茶菌”

我们第一记号化的每个站点的描述和每个字分配给一个数值载体编码,其语义(即 我只想挣钱图片我只想挣钱图片 fasttext 矢量,“瑜伽”映射到 [0.089077 0.32074 -0.53238 ....,-0.31365] 和“红茶菌”映射到 [-0.42905 0.10066 -0.49866 ....,0.024994].

然后,我们组所有的模板和分配权重的令牌基于 词频。在上述情况下,“瑜伽”荣获不是“好”以来“瑜伽”出现两个网站的描述模板贝德福德较高的权重; “好”只出现在一个网站的描述。这些权重,我们用它来计算每个字嵌入模板的加权平均值:

模板向量表示
贝德福德 [3,-1,2,...,-1]
铸造厂 [1,0,-1,...,3]

当用户搜索查询进入到模板存储,计算的平均字嵌入查询。然后,我们使用排序模板 余弦相似 字嵌入新的查询和模板表示之间。

使用上面的例子,如果用户搜索“运动”,模板贝德福德会比排名代工模板更高。嵌入的“运动”这个词是接近“瑜伽” - 这出现在网站描述贝德福德,相比于“饮”和“红茶菌” - 这出现代工。

国际化模板搜索,我们需要支持另外五种语言用在所有语言一致的体验。例如,在西班牙返回的结果英语是否应同为“食品”“食品”。同时,我们也希望能尽量减少变化对我们现有的代码库,服务性能和部署过程。

最终,我们决定保留搜索模板英语不变,并翻译成所有非英语英语查询,而不是建立每个语言搜索的单独的模板。我们在其他语言中没有网站的描述除了英语,这是更容易保持跨语言一致的模板搜索的经验,如果我们从翻译执行分离的搜索模板。作为额外的奖励,翻译问题大大的事实,搜索查询的99%是在长度只有一两句话简单。这意味着ESTA翻译单词一个个可能是有足够的,而不是翻译更长,更复杂的短语。

我只想挣钱图片

我们通过几个选项循环以供我们使用的情况下翻译的搜索查询到英语。因为我们在现有的Word搜索中使用的大量词汇的人工翻译服务是不完美的。我们选择,因为我们觉得可能我们解决内部与开放源代码解决方案,有更好的服务性能的问题,不使用付费的机器翻译服务。

我们第一次尝试双语词典随着 开放的多语种共发现,但有限的词汇是不适合我们的使用情况。然后,我们尝试了神经机器翻译(NMT)模式,类似的机器翻译服务所支付的使用,并且我们很快取得从任务的国家的最先进的翻译 2016会议上机器翻译 运用 tensorflow的神经机器翻译.2 3 4 NMT模型使用大 回归神经网络 从一种语言到另字的解码的序列。尽管令人印象深刻的基于句子的翻译,培训呈现出单GPU的时间为每语言对二三天,我们只有真正需要的单个单词的翻译。

一个更快的解决方案,我们看着开源统计机器翻译模型:如 快速对齐通过组合哪种模式转换 字对齐 句子和转移概率词对之间。1 我们发现我们的单字查询基准看齐执行从快速对齐概率转换表既有偿机器翻译服务和NMT模型。也快对齐是大约24倍比NMT更快地培养每语言对模型。

我只想挣钱图片

随着快译字典学习对齐

学习翻译词典具有快速对齐,我们下载了30-70万元的并行数据线从每一种语言 我只想挣钱图片。清洁和令牌化的数据后,我们跑了 快速对齐 在所有语言对。1 我只想挣钱图片

基准

我们使用了两种基准来评估我们的翻译质量。相比于其他系统的第一标杆的翻译我们的机器翻译,像谷歌翻译。第二个基准评价了关于语义评价国际研讨会开发的一个开源的任务,我们的翻译。

第一基准帮助我们衡量我们的翻译质量相比谷歌上最流行的搜索查询模板翻译。我们采取了前1000个查询搜索现有模板,并使用谷歌翻译作为我们的地面实况它们翻译成五种语言。任务包括每种语言回英语翻译的话,我们会在生产,看是否符合翻译的英语原文的单词。

让我们走字“演习”为例。首先,我们翻译成“运动”来使用谷歌翻译五种语言;我们在西班牙得到了“锻炼”。接下来我们翻译的“锻炼”回英语,这是标记为正确的,只有当我们得到了“锻炼”。

我们报告翻译的准确度下表中放回英语快速对齐,谷歌翻译,以及被Facebook的双语词典开源。5 我们发现快速对齐有点差于执行谷歌翻译,但比Facebook的的字典好得多。

语言快速对齐谷歌翻译FB词典
FR 0.690 0.736 0.652
ES 0.729 我只想挣钱图片 0.616
0.681 0.736 0.632
PT 0.723 0.760 0.190
0.725 0.742 0.595

ESTA而基准是有用的,它是有点偏。首先,我们假定由谷歌翻译完成第一次翻译是正确的,(在英语如“带”被错误地翻译为:在法国“B等”),尽管无缘的情况。此外,谷歌翻译获得不公平的优势与词 一词多义。例如,“建议”是由谷歌翻译翻译成法语为“康塞尔”。当我们翻译“康塞尔”回Ingles公司,谷歌翻译预测“建议”这是正确的。但快速对齐预测“议会”,这是标记为不正确,尽管是一个有效的翻译。

任务2:semeval 2017年基准上任务2

我只想挣钱图片 帮助我们衡量我们的基准质量的翻译对人工评估,解决上述任务的偏见。6

2跨语言任务包含几个单词对需要根据他们的话相似性进行评分从0到4。无论是测试ESTA翻译的语言质量,在这些语言文字的嵌入之间的质量。例如,在英语“自驾车”应该用高分(如4.0)标记,如果在西班牙语中带有“自主车”,因为它是直接翻译。应该生成一个稍低的分数(例如3.1)进行比较,如果“自驾车”在西班牙的“公交”(公交车),因为他们不是直接翻译,但仍是交通运输的两种手段。每个字是对地面实况鉴于人类相似的分数,并最终得分是由人的成绩与我们的系统所产生的那些比较计算任务2。

2个结果任务报告于下表。首先,我们使用,而使用我们的快速对齐做的翻译词典语言维基百科数据训练fasttext字的嵌入。我们进行了相同的2017年基准模型在德国semeval,但在西班牙和意大利糟糕的3-4%。7 在从字的嵌入的质量评估进一步去除偏压,我们使用类似于由luminoso_run2那些,2017 semeval赢家(即英语使用英语矢量 numberbatch 我只想挣钱图片8 我们的分数由2击败基线到10%,并会特地在第二位,在2017年。在semeval同时我们还进行比luminoso_run2糟糕的是,我们的无监督的翻译相提并论显然与那些据悉通过结构化 这样的知识为图形Babelnet.9

我只想挣钱图片在德EN-它
nasari(基线)9 0.63 0.60 0.65
luminoso_run28 0.76 0.76 0.78
我只想挣钱图片 0.61 0.60 0.62
快速对齐带连接numberbatch 17.06 0.68 0.66 0.66

结论标杆

我们发现我们的快速对齐词典都堪与谷歌翻译了一到两轮字查询,并会在过第二个地方进来的semeval 2017年任务2的竞争。提供快速快速对齐培训和推理没有准确太多的牺牲相比于系统中使用 神经机器翻译 和结构化的知识图的semeval。

重温例子

实施模板来搜索的另外五种语言,我们只需使用快速对齐词典翻译所有查询背英语。在搜索前面的例子英语模板,我们说,“演习”将使我们在英语贝德福德回来的模板。如果我们现在要查找在西班牙的“锻炼”,执行以下步骤:

  1. 我们翻译的英语快速对齐使用字典“演习”,以“锻炼”。
  2. 我们执行相同的搜索为模板英语我们以前。
  3. 我们回到贝德福德模板具有相同排名前。

结果

我们部署在我们的搜索服务的所有六种语言在2017年十一月下旬此外,我们达到我们的目标功能:我们的部署是无缝的,服务性能保持不变,因为我们只增加 O(1) 字典查找,模板英语搜索不变,并添加翻译只需要一个额外的代码行。翻译可以被添加到其他很容易用最少的服务代码更改管道:

步骤= [
            ( '标记生成器',tokenize_transformer),
 +('译者,翻译),
            ( '矢量器',向量化),
            ( '估计' 模式),
        ]

而我们的方法是简单地实现,其对单个词的查询翻译的准确性是看齐,与现有的机器翻译服务和基于知识的词图表示。

因为我们的版本中,我们通过使用监督模型预测,直接从历史搜索的模板,模板改进搜索结果。同时新车型将充分利用这里介绍的翻译方法。

检查出搜索模板 西班牙语, 法国, 我只想挣钱图片, 意大利我只想挣钱图片 德语。此外,我们添加了对的英语版本的所有语言的支持 搜索模板.

引用

  1. 我只想挣钱图片 PDF格式

  2. 米吨。陈德良,E。 brevdo和r。赵。 2017年神经机器翻译(seq2seq)教程。访问2018 2月27日。 //github.com/tensorflow/nmt.

  3. 我只想挣钱图片

  4. 机器翻译(wmt16)ACL 2016的第一次会议。访问2018 2月28日。 http://www.statmt.org/wmt16/.

  5. 一。 Conneau克Lample,L。 Denoyer,MA。 Ranzato,H。 Jégou。 2017年facebookresearch /缪斯:用于监督或非监督字的嵌入多语言库。访问2018 2月27日。 //github.com/facebookresearch/muse.

  6. 学家卡马乔小丘,M.吨。 pilehvar,N.矿工和r。纳维利。 2017年semeval-2017任务2:多语言和跨语言单词的语义相似度。 PDF格式

  7. 一。 joulin,E。严重的,对。 Bojanowski和t。 mikolov。 2017年富民与Word矢量字信息。协会为计算语言学。 PDF格式

  8. 河施佩尔和j。洛瑞怀疑。 2017年ConceptNet在semeval - 2017年任务2:扩展的嵌入了多语种字关系的知识。在协会的计算语言学。 PDF格式

  9. 学家卡马乔-丘陵,米。吨。 pilehvar和r。纳维利。 2016年nasari:整合显性知识和统计的概念和实体多语言语料库表示。人工智能,567-577页2016。

螺母和螺栓与ED桥

构建用于前端的翻译的系统