孔子和玛格丽塔





介绍



机器学习有很多竞赛,还有举行各种形式的竞赛的平台。但是竞赛的主题通常不是人类语言及其处理方法,这种竞赛很少与俄语相关。最近,我在Mail.ru的ML Boot Camp平台上参加了中俄机器翻译竞赛。由于没有足够的竞争性程序设计经验,而且由于隔离,在五月的整个假期中度过了我的岁月,所以我取得了第一名。我将尝试在本文中谈论这一点以及语言以及将一项任务替换为另一项任务。



第一章。从不说中文



这项比赛的作者提议创建一个通用的机器翻译系统,因为即使是中俄配对的大公司的翻译也远远落后于流行的配对。但是,由于验证是针对新闻和小说进行的,因此很明显,有必要向新闻语料库和书籍学习。评估转移的标准是标准BLEU。此度量标准将人工翻译与机器翻译进行比较,并且大致而言,根据找到的匹配项数,以100分制为单位估计文本的相似性。俄语具有丰富的形态,因此将其翻译为俄语时,其度量标准始终明显低于单词形成方式较少的语言(例如,罗曼语-法语,意大利语等)。



任何从事机器学习的人都知道,它主要是关于数据及其清理的。让我们开始寻找语料库,同时我们将了解机器翻译的荒唐之处。因此,穿着白色斗篷...



第2章。



我们身穿带有血腥衬里的白色斗篷,步履蹒跚,步履蹒跚,我们进入了一个由俄中平行兵团后面的搜索引擎。正如我们稍后将理解的那样,我们所发现的还不够,但是现在让我们看一下我们的第一个发现(我收集了发现的数据集并清理并将其放入开放访问[1]):





OPUS是一个很大的语言上多样化的语料库,让我们看一下其中的示例:

“什么我和她都经历过,甚至比你所经历的更不寻常的...”

我与她的经历比你的经历离奇多了



“我会告诉你的。”

我给你讲讲这段经历



...... “小镇我出生的地方......”

我出生那座小镇...


顾名思义,这些主要是电影和电视节目的字幕。TED字幕属于同一类型,经过解析和清理后,TED字幕也变成了完全平行的语料库:



这是我们在历史的惩罚实验如何变成了:

这就是关于我们印象中的惩戒措施的不为人知的一面



。年轻人都不敢在任何时刻,他们可以停止,搜查,拘留

年轻人总是担心随时会被截停,搜身和逮捕



而不仅在大街上,而且在自己家里,

无论是在街上还是在家
WikiMatrix有激光对准从互联网网页(所谓的文本常见抓取各种语言),但我们的任务也有几个人,他们看起来很奇怪:

Zbranki(乌克兰语

但被其否认。



但是您最好还是快点!

斋戒对于你们更好,如果你们知道。



他拒绝了这样的说法。

后来这个推论被否认。
在数据检索的第一阶段之后,我们的模型出现了一个问题。有哪些工具以及如何完成任务?MIPT在Stepic [2]



有一本我非常喜欢的NLP课程,当它在线上使用时,该课程特别有用,因为在研讨会上也可以理解机器翻译系统,您可以自己编写。我记得,在Colab培训后,从头开始编写的网络很高兴能为德语文本提供足够的俄语翻译。我们建立了具有注意机制的变压器体系结构模型,该模型一度成为突破性的想法[3]



自然,首先想到的是“只给模型其他输入数据”并赢得胜利。但是,正如任何中国小学生都知道的那样,中文脚本中没有空格,并且我们的模型接受标记集(即其中的单词)作为输入。捷巴这样的图书馆可以将中文文本准确地分解成单词。将单词标记化嵌入到模型中并在找到的语料库上运行,我得到的BLEU约为0.5(比例为100分)。



第3章机器翻译和公开



比赛的官方基准(简单但可行的示例解决方案)是基于OpenMNT提出的。它是一个开源翻译学习工具,具有许多用于扭曲的超参数。在这一步中,让我们通过它训练和推断模型。我们将在kaggle平台上进行培训,因为该平台免费提供40小时的GPU培训[4]



应当指出的是,到那时,竞争的参与者已经很少了,一旦进入,就可以立即进入前五名,这是有原因的。解决方案的格式是docker容器,在推理过程中将文件夹安装到该容器,并且该模型必须从其中一个读取,然后将答案放入另一个。由于官方基准线还没有开始(我个人没有立即组装它)并且没有权重,所以我决定收集自己的基准线并将其置于公共领域[5]。之后,参与者开始提出请求,以正确组装解决方案,并通常向泊坞窗提供帮助。道德上,容器是当今开发中的标准,可以使用它们,协调和简化您的生活(并非所有人都同意最后的说法)。



现在让我们在上一步中找到的主体中添加更多:





首先是来自联合国会议的大量法律文件。顺便说一下,该组织的所有正式语言都可用,并根据建议进行了调整。第二个甚至更有趣,因为它是具有独特性的直接新闻语料库-它是中文-英文。这个事实并不困扰我们,因为从英语到俄语的现代机器翻译质量很高,并且使用了Amazon Translate,Google Translate,Bing和Yandex。为了完整起见,我们将举例说明发生的事情。



联合国文件

.

它是一个低成本平台运转寿命较长且能在今后进一步发展。



.

报告特别详细描述了由参加者自己拟订的若干与该地区有关并涉及整个地区的项目计划。


UM-Corpus



Facebook在1月初完成了收购Little Eye Labs的交易。

1月初脸书完成了对小眼睛实验室的收购,



在班加罗尔四工程师推出一年左右的小眼睛实验室和半前

一年半以前四位工程师在班加罗尔创办了



公司建立针对移动应用的软件工具,交易将花费在10 $和$ 1500万美元。

该公司开发移动应用软件工具,这次交易价值1000到1500万美元,


因此,我们的新成分:OpenNMT +高质量机柜+ BPE(您可以在此处阅读有关BPE令牌化的信息)。我们训练,组装到一个容器中,经过调试/清洁和标准技巧后,我们得到了BLEU 6.0(比例仍然是100分)。



第4章。平行手稿不燃烧



到目前为止,我们一直在逐步改进模型,最大的收益来自使用新闻语料库(验证域之一)。除了新闻以外,拥有文学作品也会很不错。在花了很明显,中国图书没有流行的系统的机器翻译不能提供的时间相当-纳斯塔西娅变得像Nostosi Filipauny罗戈任-罗戈雷恩。角色的名称通常占整个作品的很大一部分,而且这些名称通常很少见,因此,如果模型从未看到过它们,则很可能将无法正确翻译它们。我们必须学习书籍。



在这里,我们将翻译任务替换为文本对齐任务。我必须马上说我最喜欢这部分,因为我本人很喜欢学习语言以及书籍和故事的平行文本,我认为这是最有效的学习方式之一。有几种对齐方法,最有效率的结果是将句子翻译到向量空间中,并计算匹配候选者之间的余弦距离。将某物转换为向量称为嵌入,在这种情况下,这是一个句子嵌入。为此目的,有几个很好的库[6]。可视化结果时,可以看到中文文本略有滑移,这是因为俄语中的复杂句子通常会被翻译成中文的两个或三个。







在互联网上找到了所有可能的东西,并自己对这些书进行调平后,我们将其添加到语料库中。



他是一个昂贵的灰色西装,国外的,在他的衣服,鞋子的颜色。

他穿一身昂贵的灰色西装,脚上的外国皮鞋也与西装颜色十分协调



他的名言拧一个在他耳边灰色贝雷帽,搭配黑色携带拐杖贵宾犬的头。

头上一顶灰色无檐帽,但压到耳尖,,直到整个人那么俏皮矫健。



她看起来四十多岁。

看模样年纪在四十开外。


在对新建筑进行培训之后,BLEU在公共数据集上增长到20,在私有数据集上增长到19.7。它也起着重要作用,因为验证工作显然已进入培训。实际上,绝对不应这样做,这被称为泄漏,并且该度量标准也不再具有指示性。



结论



从启发式和统计方法到神经网络和转换器,机器翻译已经走了很长一段路。我很高兴能够抽出时间来熟悉此主题,它绝对值得社区密切关注。我要感谢竞赛的作者和其他参与者的有趣交流和新想法!



[1]俄语-汉语平行语料库

[2] MIPT提供的自然语言处理课程

[3]突破性文章需要您全力以赴

[4]笔记本电脑,上面有kaggle学习示例

[5]公共docker基准

[6]多语言句子库嵌入



All Articles