翻译官

注册

 

发新话题 回复该主题

搜到生肉也不怕啦你的定制版谷歌 [复制链接]

1#
中科白癜风医院微博 http://m.39.net/pf/a_4580342.html

全文共字,预计学习时长28分钟

图源:unsplash

过去几年,机器翻译领域发生了变革。建立在深度学习基础上的新翻译系统,取代了语言学家数十年统计研究而建立的旧系统。像谷歌翻译这样的流行翻译产品从内部结构发生改变,用新的深度学习模式取代了原来的代码。

待训练的“西班牙语-英语”翻译模式的

这对每个人而言都是好事。深度学习方法不仅更准确,而且对语言学方面要求不高,并非只有语言学研究生学位才能理解。

理论上而言,它很简单,只要有足够的训练数据、保证计算机能力,任何人都能够建立自己的语言翻译系统。但独自建立翻译系统仍然是困难的,因为所需的数据量和计算能力对于普通爱好者来说简直是高不可攀的。

但是就像机器学习中的其他部分一样,机器翻译在迅速成长。工具越来越方便使用,GPU越来越强大,训练数据越来越丰富。你可以使用现成的硬件和软件构建语言翻译系统,它们足以应对实际项目的使用需要。最棒的是不需要向Google支付任何API费用就可以使用。

话不多说,现在就建立西班牙语-英语的翻译系统,把“生肉资源”高水平、高精度翻译出来!

依靠神经网络的文本翻译

我们翻译系统的核心是神经网络,它能接受句子并输出该句的翻译。我以前写过关于机器翻译系统的历史,以及我们如何使用神经网络来翻译文本的文章,在这里摘取概要/p>

神经翻译系统实际上是两个神经网络端到端相互连接。第一个神经网络学习将字词序列(即句子)编码成能代表它意思的数组。第二个神经网络学习将这些数字解码成代表相同意思的单词。

这其中的诀窍在于,编码器接收源语言的单词,而解码器输出目标语言的单词。因此实际上,模型通过中间的数字编码学会了人类语言到另一种语言的映射:

为了对句意进行编码和解码,将使用特殊类型的神经网络,它被称为递归神经网络神经网络。标准的神经网络没有记忆。如果给出相同的输入,它每次都会得到相同的结果。

相比之下,递归神经网络之所以“递归”,是因为最后的输入会影响下一个预测。这一点非常重要,因为句子中的每个单词都不是独立的。单词的意思取决于它在句子中的上下文。句子中的每个单词影响下一个单词的选用,这样能捕捉到上下文中的一些关联。

如果向神经网络展示单词“My”、“name”、“is”,然后要求它对单词“Adam”的含义进行编码,它将依据前面的单词知道“Adam”表示名字。

如果你精通机器学习,那聊到循环神经网络时很可能会打哈欠,请跳到下面的Linuxshell命令,开始训练自己的模型。毕竟机器学习领域是发展迅速,几年前绝对具有革命性的东西放到现在已经是老生常谈了。

图源:unsplash

不过,其实还有更前卫的方法,可以使用Transformer新型模型进行语言转换。Transformer模型更进一步,它通过模拟单词之间的交叉关系,而不是仅仅考虑单词的顺序,来捕捉句子中单词的上下文意义。

但是在这个项目中将使用循环神经网络,以保持训练时间的合理性,不过效果还是很好的!

完整的翻译流程

这里将使用两个递归神经网络来翻译文本。训练第一个网络用西班牙语编码句子,并训练第二个将它们解码成英语。正如我在reddit上的评论,几乎每个拥有Python副本的高中生都知道如何创建递归神经网络了。

动手之前我们还需要处理凌乱的、真实世界数据的策略。人类非常擅长在没有任何帮助的情况下,从混乱的数据中提取信息。例如,下面这句话可以毫不费力地读出来/p>

cOMPuTERsareBAdatUNderStandINGMessyDAtA.(计算机不擅长理解混乱的数据)

但只经过完全格式化文本训练的神经网络训练对此束手无策。神经网络没有能力去推断它们在训练数据之外的东西。如果神经网络以前从未见“cOMPuTERs”,它不会知道这与与“

分享 转发
TOP
发新话题 回复该主题