机器翻译的流程(原理)是怎么样的
作者:九五要当学霸链接:知乎专栏来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。原文:AdamGeitgey
原文链接:https://medium.com/@ageitgey/machine-learning-is-fun-part-5-language-translation-with-deep-learning-and-the-magic-of-sequences-2ace0acca0aa#.t5upusfij
翻译:巡洋舰科技——赵95
你是不是看烦了各种各样对于深度学习的报导,却不知其所云?我们要来改变这个问题。
有趣的机器学习前六章已更新!点此查看第一章:最简明入门指南、第二章:用机器学习【制造超级马里奥】的关卡、第三章:图像识别【鸟or飞机】第四章:用深度进行【人脸识别】第五章:使用深度学习进行【语言翻译】和序列的魔力第六章:如何用深度学习进行【语音识别】
我们都知道并且喜欢使用Google翻译,这个网站可以瞬时翻译100种不同的人类语言,就好像有魔法一样。他甚至存在于我们的手机和智能手表上面:(知乎无法上传太大的GIF,看图请戳原文)Google翻译背后的科技被称为机器翻译。它改变了世界,在本来根本不可能的情况下让(不同语言的)人们完成了沟通。
但我们都知道,在过去的15年里,高中学生已经使用Google翻译...额...协助他们完成他们的西班牙语作业。这已经不是新闻了…?
<imgsrc="https://pic3.zhimg.com/50/v2-a9fcbd775a70567a8d49ea73e42f4358_hd.jpg"data-rawwidth="853"data-rawheight="192"class="origin_imagezh-lightbox-thumb"width="853"data-original="https://pic3.zhimg.com/v2-a9fcbd775a70567a8d49ea73e42f4358_r.jpg">事实证明,在过去两年,深度学习已经完全改写了我们的机器翻译方法。那些对语言翻译一无所知的深度学习研究人员正在利用一个个相对简单的机器学习解决方案,来打败世界上最好的专家建造的语言翻译系统。
这一突破背后的技术被称为序列到序列学习sequencetosequencelearning。这是一项非常强大的技术,被用于解决许多种类的问题。在我们看到它如何被用于翻译之后,我们还将学习这个算法是怎样用来编写AI聊天机器人和描述图片的。
我们开始吧!
让计算机翻译
那么我们该如何编写代码,才能让计算机翻译人类的语言呢?
最简单的方法,就是把句子中的每个单词,都替换成翻译后的目标语言单词。这里有一个简单的例子,把西班牙语逐字翻译成英语:
<imgsrc="https://pic2.zhimg.com/50/v2-db380a8bf032afa9533d358389de99d6_hd.jpg"data-rawwidth="1000"data-rawheight="180"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic2.zhimg.com/v2-db380a8bf032afa9533d358389de99d6_r.jpg">我们只是用匹配的英语单词替换每个西班牙单词。
这很容易实现,因为你所需要是一本字典来查找每个单词的翻译。但结果并不好,因为它忽略了语法和上下文的联系。
因此,下一件你可能要做的事,就是开始添加特定语言规则以改进结果。例如,你可能将两个常用词翻译为词组。你可能互换名词和形容词的顺序,因为他们在西班牙语中以相反的顺序出现:
<imgsrc="https://pic2.zhimg.com/50/v2-bed5ad249e62bea5ac3958c725dd0160_hd.jpg"data-rawwidth="1000"data-rawheight="250"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic2.zhimg.com/v2-bed5ad249e62bea5ac3958c725dd0160_r.jpg">这真的有效!如果我们就继续添加更多的规则,直到我们可以应对每一部分语法,我们的程序应该就能够翻译任何句子了,对吧?
这就是最早的机器翻译系统的工作原理。语言学家提出了许多复杂的规则,并逐一编程实现。一些世界上最聪明的语言学家在冷战期间辛勤努力了多年,才创建出了一些更容易理解俄罗斯人交流的翻译系统。
不幸的是,这种套路只对简单问题适用,比如说像天气预报这样结构简单的文档。它对于真实世界的文字来说并不可靠。
问题是,人类语言并不总是遵循固定的规则。人类语言充满了各种特殊情况,区域差异,或者干脆就不按套路出牌(#‵′)凸。我们说英语的方式更多地受到几百年前入侵的人的影响,而不是由坐下来定义语法规则的人。
利用统计数据使计算机更好地翻译
在基于规则的系统失效之后,一些新的翻译方法被开发出来了,他们基于概率和统计的模型而不是语法规则。
建造一个基于统计的翻译系统需要大量的训练数据,其中完全相同的文本被翻译成至少两种语言。这种双重翻译的文本称为平行语料库parallelcorpora。18世纪的科学家以同样的方式在罗塞塔石碑上面从希腊语中找出埃及象形文字。(译者注:罗塞塔石碑,高1.14米,宽0.73米,制作于公元前196年,刻有古埃及国王托勒密五世登基的诏书。石碑上用希腊文字、古埃及文字和当时的通俗体文字刻了同样的内容,这使得近代的考古学家得以有机会对照各语言版本的内容后,解读出已经失传千余年的埃及象形文之意义与结构,而成为今日研究古埃及历史的重要里程碑)以同样的方式,计算机可以使用平行语料库猜测如何将文本从一种语言转换为另一种语言。
幸运的是,有很多双重翻译的文本已经存在在世界的各个角落。例如,欧洲议会将其诉讼程序翻译成21种语言。因此,研究人员经常使用这些数据来帮助建造翻译系统。
<imgsrc="https://pic3.zhimg.com/50/v2-8405085e2a71fe599a8a0365b8a61596_hd.jpg"data-rawwidth="1000"data-rawheight="167"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic3.zhimg.com/v2-8405085e2a71fe599a8a0365b8a61596_r.jpg">训练数据通常令人兴奋!但这只是无数条政府文件而已...
用概率的思维思考
统计翻译系统的根本不同,在于它们试图生成不止一个精确的翻译。相反,他们生成成千上万种可能的翻译,然后他们按照可能最正确的给这些翻译排名。他们通过与训练数据的相似性来估计有多“正确”。以下是它的工作原理:
第1步:将原始句子分成块
首先,我们将我们的句子分成简单的块,每一块都可以轻松翻译:
<imgsrc="https://pic2.zhimg.com/50/v2-ec2cc836a5ae27ee35ed01a912036d31_hd.jpg"data-rawwidth="1000"data-rawheight="87"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic2.zhimg.com/v2-ec2cc836a5ae27ee35ed01a912036d31_r.jpg">第2步:找到每一块的所有可能的翻译
接下来,我们将翻译每块文字,我们将通过寻找我们数据库中所有人类翻译过的相同词块来完成我们的翻译。
要着重注意的是,我们不只是在一本简简单单的翻译字典中查找这些词块。相反,我们看到是真实的人在真实的句子中如何翻译这些相同的词。这有助于我们捕获到在不同语境中所有不同的表达方式:
<imgsrc="https://pic4.zhimg.com/50/v2-4a56bab19fc10b4fd4f52cc2cf9351b5_hd.jpg"data-rawwidth="1000"data-rawheight="471"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic4.zhimg.com/v2-4a56bab19fc10b4fd4f52cc2cf9351b5_r.jpg">即使最常见的短语也有很多种可能的翻译
这些可能的翻译中的有一些会比其他翻译更频繁地使用。根据我们训练数据中每个翻译出现的频率,我们可以给它设定一个分数。
例如,有人说“Quiero”更多的时候是指“我想要”而不是“我尝试”。所以,我们可以使用我们训练数据中“Quiero”被翻译成“我想要”的频率,给“我想要”这个翻译更多的权重。
第3步:生成所有可能的句子,找到最有可能的那句
接下来,我们将使用这些词块的每种可能翻译来组合生成一堆可能的句子。
从第二步中列出的翻译过的词块中,我们可以通过不同组合方式生成将近2,500个不同的句子。下面是一些例子:
Ilove|toleave|at|theseaside|moretidy.Imean|tobeon|to|theopenspace|mostlovely.Ilike|tobe|on|pertheseaside|morelovely.Imean|togo|to|theopenspace|mosttidy.
但在真实世界中,因为有不同的语序和词块分解方法,所以实际上有更多可能的词块组合:
Itry|torun|at|theprettiest|openspace.Iwant|torun|per|themoretidy|openspace.Imean|toforget|at|thetidiest|beach.Itry|togo|per|themoretidy|seaside.
现在需要扫描所有这些生成的句子,找到那个听起来“最像人话”的句子。
为此,我们将每个生成的句子与来自英语书籍和新闻故事的数百万个真实句子进行比较。我们拥有的英语文本越多越好。
我们采用这种可能的翻译:
Itry|toleave|per|themostlovely|openspace.
很可能没有人用英语写过这样的句子,所以它不会与我们的数据库任何句子非常相似。我们给这个可能的翻译设定一个低概率的得分。
但看看下面这个可能的翻译:
Iwant|togo|to|theprettiest|beach.
这个句子和我们的训练集中的句子很类似,所以它将获得一个高概率的得分。
在尝试过所有可能的句子之后,我们会选择那个,既是最有可能的词块翻译,又与真实英语句子最相似,的句子。
我们最后的翻译将是“Iwant|togo|to|theprettiest|beach.
我想去最漂亮的海滩。”不错!
有里程碑意义的统计机器翻译
当有足够多的训练数据的时候,统计机器翻译系统的性能要优于基于语言规则的系统。FranzJosefOch基于这些想法并做出了改进,并在21世纪初使用它们构建了Google翻译。机器翻译终于可以被全世界使用。
早期的时候,基于概率翻译的“愚蠢”方法居然比语言学家设计规则系统做的更好,这让每个人都感到惊讶。这导致了80年代的时候,研究人员会(有点刻薄的)说:
“每当我炒了一个语言学家鱿鱼的时候,我的翻译准确度就会上升。”FrederickJelinek
统计机器翻译的局限性
虽然统计机器翻译系统效果还不错,但是他们难于构建和维护。每一对需要翻译的新语言,都需要专业人士对一个全新的多步骤“翻译流水线”进行调试和修整。
因为构建这些不同的流水线需要做太多工作,所以我们必须进行权衡。如果你要用Google翻译把格鲁吉亚语翻译成泰卢固语(印度东部德拉维拉语言),那么作为一个中间步骤,它必须先翻译成英语。因为并没有太多格鲁吉亚到泰卢固语的翻译需求,所以在这一对语言上投入太多并没有太大意义。相比于英语翻译到法语,它可能会使用一个更低级的“翻译流水线”。
如果我们能让计算机为我们做所有令人讨厌的开发工作,这不更好么?
让电脑翻译的更好——无需昂贵的专家们
机器翻译的核心是一个黑盒系统,它通过查看训练数据,自己就可以学习如何翻译。使用统计机器翻译,人们仍然需要建立和调整多步骤的统计模型。
2014年,KyungHyunCho的团队取得了突破。他们发现了一种应用深度学习来构建这种黑盒系统的方法。他们的深度学习模型采用平行语料库,并使用它来学习如何在无任何人为干预的情况下在这两种语言之间进行翻译。
两个宏伟的方法使这成为可能-循环神经网络和编码。通过巧妙地结合这两个想法,我们可以建立一个能够自学的翻译系统。
循环神经网络
我们已经在第2章讨论过了循环神经网络,让我们快速回顾一下。
一个常规(非循环)神经网络是泛型机器学习算法,接收一序列数字并计算结果(基于先前的训练)。神经网络可以用作一个黑盒子,来解决很多问题。例如,我们可以基于房子的属性,使用神经网络来计算房屋的近似价格:
<imgsrc="https://pic3.zhimg.com/50/v2-6ea7212dd6e34f5ed60eec35acb7c756_hd.jpg"data-rawwidth="860"data-rawheight="389"class="origin_imagezh-lightbox-thumb"width="860"data-original="https://pic3.zhimg.com/v2-6ea7212dd6e34f5ed60eec35acb7c756_r.jpg">但是像大多数机器学习算法一样,神经网络是无状态(Stateless)的。你输入一序列数字,神经网络计算并输出结果。如果再次输入相同的数字,它总是计算出相同的结果。它没有进行过的计算的记忆。换句话说,2+2总是等于4。
一个循环神经网络(RecurrentNeuralNetwork或简称RNN)是一个稍微改进过的神经网络的版本,区别是RNN先前的状态是可以被当做输入,再次带入到下一次计算中去。这意味着之前的计算结果会更改未来计算的结果!
<imgsrc="https://pic4.zhimg.com/50/v2-d164b6165ed48bef689a837f6a70aca0_hd.jpg"data-rawwidth="860"data-rawheight="556"class="origin_imagezh-lightbox-thumb"width="860"data-original="https://pic4.zhimg.com/v2-d164b6165ed48bef689a837f6a70aca0_r.jpg">人类痛恨他:一个黑科技就让机器变得更聪明!
我们为什么要这样做?无论我们上次计算结果是什么,2+2不应该总是等于4么?
这个技巧允许神经网络学习数据序列中的规律。例如,基于句子的前几个词,你可以使用它来预测句子中下一个最有可能的单词是什么:
<imgsrc="https://pic2.zhimg.com/50/v2-4c999bbcdf7e7ce9a691ce76438064de_hd.jpg"data-rawwidth="887"data-rawheight="530"class="origin_imagezh-lightbox-thumb"width="887"data-original="https://pic2.zhimg.com/v2-4c999bbcdf7e7ce9a691ce76438064de_r.jpg">实现智能手机输入法的“自动更正”的方法之一…
当你想要学习数据中的规律时,RNN将会非常有用。因为人类语言其实只是一个大而复杂的“规律”,自然语言处理的各个领域越来越多地使用RNN。
如果你想了解更多关于RNN,你可以阅读第2章,我们使用了RNN来生成一本海明威写作风格的假书,然后使用同一个RNN生成了超级马里奥兄弟的游戏关卡。
编码
我们需要回顾的另一个想法是编码Encoding。在第4章中作为脸部识别的一部分,我们谈到了编码。为了解释编码,让我们稍作调整,了解一下如何用电脑区分两个人。
当你试图用电脑区分两张脸时,你从每张脸收集不同的测量值,并与其他脸部比较这些测量值。例如,我们可以测量耳朵的大小或眼间的间距,比较两个图片的测量值以确定他们是否是同一个人。
你可能已经从观看热门影视剧CSI当中对这个想法耳熟能详了(知乎无法上传太大的GIF,看图请戳原文)。
把面部特征转换为一系列测量值的想法就是编码的例子之一。我们获取到原始数据(面部图片),并将其转换为代表这张脸的一系列测量值(编码)。
但是像我们在第4章中看到的,我们不必提出一个具体的面部特征列表来测量我们自己。相反,我们可以使用神经网络,让它自动从面部生成测量值。找出哪些测量值能够区分两个相似的人,计算机在这方面比我们做的更好:
<imgsrc="https://pic1.zhimg.com/50/v2-6e2b5cfcbd33b1105a4d8d40191c162d_hd.jpg"data-rawwidth="1000"data-rawheight="499"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic1.zhimg.com/v2-6e2b5cfcbd33b1105a4d8d40191c162d_r.jpg">这些是由神经网络产生的面部特征测量值,训练后的该神经网络可以保证不同的数字代表了不同人的面部。
这是我们的编码。它让我们用简单的东西(128个数字)代表非常复杂的东西(一张脸的图片)。现在比较两张脸更加容易了,因为我们只需要比较这128个数字而不是比较整张脸的图像。
你猜怎么着?我们可以用句子做同样的事情!我们可以把任何一个句子表达成一系列独特的编码:
<imgsrc="https://pic3.zhimg.com/50/v2-4fa1d6823b59d61bc84d290f4cf8adeb_hd.jpg"data-rawwidth="1000"data-rawheight="479"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic3.zhimg.com/v2-4fa1d6823b59d61bc84d290f4cf8adeb_r.jpg">这一序列数字代表的是英语句子“有趣的机器学习!”。不同的句子将由不同的数字集表示。
为了生成这个编码,我们将句子输入到RNN中,一次一个词。最后一个词处理之后的最终结果,就将是表示整个句子的数值:
<imgsrc="https://pic3.zhimg.com/50/v2-520f649f58b1d522f1c38ff49153c590_hd.jpg"data-rawwidth="877"data-rawheight="395"class="origin_imagezh-lightbox-thumb"width="877"data-original="https://pic3.zhimg.com/v2-520f649f58b1d522f1c38ff49153c590_r.jpg">因为RNN具有记忆功能,能够记住处理过得每个词,所以它计算的最终编码表示句子中的所有词。
棒极了,所以现在我们有一种方法来把一个整个句子表示成一组独特的数字!我们不知道编码中的每个数字是什么意思,但这并不重要。只要每一句话都能由一组独特的数字标识出来,那么我们就不需要准确地知道这些数字是如何生成的。
让我们开始翻译吧!
好的,所以我们知道怎样使用RNN去个一句话编码并生成一组独特的数字。它有什么用呢?事情从这儿开始变得酷炫了!
如果我们使用两个RNNs并将它们首尾相连呢?第一个RNN可以给句子生成编码。然后,第二RNN遵循相反的逻辑,解码得到原始句子:
<imgsrc="https://pic3.zhimg.com/50/v2-473f0ea39bfa46879f0975c77272b8c8_hd.jpg"data-rawwidth="1250"data-rawheight="336"class="origin_imagezh-lightbox-thumb"width="1250"data-original="https://pic3.zhimg.com/v2-473f0ea39bfa46879f0975c77272b8c8_r.jpg">当然,编码然后再解码并得到原始语句并没有太大用处。但是如果(这里是问题的关键),我们训练第二个RNN,使它解码成西班牙语而不是英语,这会怎样?我们可以使用平行语料库训练数据来训练它:
<imgsrc="https://pic4.zhimg.com/50/v2-04ff81324066f8cc916e3b9773808cc9_hd.jpg"data-rawwidth="1250"data-rawheight="334"class="origin_imagezh-lightbox-thumb"width="1250"data-original="https://pic4.zhimg.com/v2-04ff81324066f8cc916e3b9773808cc9_r.jpg">就像这样,我们有一个通用的方法,将一序列英语单词转换成同样的西班牙语单词序列!
这是一个强有力的想法:
l这种方法主要受限于你拥有的训练数据量和你可以投入的计算机生产力。机器学习研究人员仅仅在在两年前发明了这个方法,但它已经表现的和统计机器翻译系统一样好了,而后者花了20年时间才开发完善。
l这不依赖于任何关于人类语言规则的了解。算法自己计算出这些规则。这意味着你不需要专业人士来调整“翻译流水线”的各个步骤,计算机为你把这个做好了。
l这种方法适用于几乎任何种类的序列到序列sequence-to-sequence问题!而且事实证明,许多有趣的问题都实际上是序列到序列的问题。继续阅读了解其他你可以做的酷炫的事!
注意,我们忽略了一些处理真实数据会碰到的问题。例如,如何处理不同长度的输入和输出?这还需要一些额外的工作(请参见bucketing和padding)。非常用词翻译也是一个问题。
构建你自己的序列到序列翻译系统
如果你想建立自己的语言翻译系统,这儿有一个包括可以在英语和法语之间翻译的TensorFlow的demo。然而,这并不是给胆小鬼或预算有限的人准备的。这仍然是一项新技术,并且资源有限。即使你有一台带有高级显卡的高级电脑,可能也需要连续一个月的时间来训练你自己的语言翻译系统。
此外,序列到序列语言翻译技术正在及快速地改进,以至于难以跟上。许多最近的改进(如添加注意机制attentionmechanism或上下文跟踪trackingcontext)显着改善了翻译结果,但这些发展太过前沿,以至于他们甚至还没有维基百科页面。如果你想做认真的去做任何序列到序列学习,随着技术的发展,你需要持续保持更新,。
序列到序列模型的无穷力量
那么,我们还能用序列到序列模型做什么呢?
大约一年前,Google的研究人员表示,你可以使用序列到序列模型来建造AI机器人。这个想法是如此简单,并且令人震惊的是,它真的有效。
首先,他们获取了一些Google员工和Google技术支持小组之间的聊天记录。然后他们训练了序列到序列模型,其中输入的句子就是雇员的问题,而技术支持团队的回复是该句子的“翻译”。
<imgsrc="https://pic2.zhimg.com/50/v2-b0e96c4e8b2853799ecc52ee39689f1a_hd.jpg"data-rawwidth="1250"data-rawheight="341"class="origin_imagezh-lightbox-thumb"width="1250"data-original="https://pic2.zhimg.com/v2-b0e96c4e8b2853799ecc52ee39689f1a_r.jpg">当用户与机器人进行交互时,他们将使用该系统“翻译”每个用户的消息以获得机器人的响应。
他们最终得到的是一个半智能机器人,(有时)可以回答真正的技术支持问题。下面是一部分用户和机器人之间的对话示例:
人:连接被拒绝或类似的东西
机器:我可以知道你连接的网络连接的版本吗?
人:我不确定我知不知道
机器:是网络连接提示任何用户证书?
人类:是的
机器:你现在在家还是在工作?办公室?
人:我在家
机器:试试这个。goto页面,然后输入您的姓名和密码
人类:完成
机器:尝试使用登录,然后检查其是否正常工作
人类:是的,现在它在工作!
机器:棒极了。还有什么我可以帮助你的?
他们还试图建立一个基于数百万部电影字幕的聊天机器人。他们的想法是,使用电影角色之间的对话作为一种训练机器人像人一样说话的方式。输入句子是一名角色的一句话,“翻译”是另一名角色在对话里回应他的内容:
<imgsrc="https://pic2.zhimg.com/50/v2-dffddd0667601ce5600454dfd82b5007_hd.jpg"data-rawwidth="1250"data-rawheight="340"class="origin_imagezh-lightbox-thumb"width="1250"data-original="https://pic2.zhimg.com/v2-dffddd0667601ce5600454dfd82b5007_r.jpg">他们得到了很有意思的结果。机器人不仅仅像一个人,更是显示出了一点点智能化:
人类:我的名字是david。我的名字是什么?
机器:david。
人:我的名字是约翰。我的名字是什么?
机器:约翰。
人类:你是领导还是追随者?
机器:我是领导者。
人类:你是追随者还是领导者?
机器:我是领导者。
这只是可能性的开始。我们将不局限于将一个句子转换成另一个句子,同样,我们制作一个图像到序列的模型,它可以将图像转换为文本!
Google的另一个团队通过将第一个RNN替换为卷积神经网络(如我们在第3章中所了解的那样)。这允许输入是图片而不是句子,其余的工作基本相同:
<imgsrc="https://pic2.zhimg.com/50/v2-9d899c93bdc3d566e6441d2e2a2f938e_hd.jpg"data-rawwidth="1250"data-rawheight="341"class="origin_imagezh-lightbox-thumb"width="1250"data-original="https://pic2.zhimg.com/v2-9d899c93bdc3d566e6441d2e2a2f938e_r.jpg">就像这样,(只要我们有很多很多的训练数据)我们就可以把图片变成单词!
AndrejKarpathy把这个想法进行了拓展,以构建一个通过分别处理图像的多个区域,来详细描述图像的系统:
<imgsrc="https://pic1.zhimg.com/50/v2-380c811bf4f9ffc0ebd1fa03427de50d_hd.jpg"data-rawwidth="1000"data-rawheight="763"class="origin_imagezh-lightbox-thumb"width="1000"data-original="https://pic1.zhimg.com/v2-380c811bf4f9ffc0ebd1fa03427de50d_r.jpg">AndrejKarpathy论文中的图片
这个想法使得我们可以构建一个,能够按照奇怪的要求找到特定图片的图片搜索引擎:
<imgsrc="https://pic2.zhimg.com/50/v2-80cf134e8142811f9ba5f0f1561012a1_hd.jpg"data-rawwidth="444"data-rawheight="356"class="origin_imagezh-lightbox-thumb"width="444"data-original="https://pic2.zhimg.com/v2-80cf134e8142811f9ba5f0f1561012a1_r.jpg">例子来自imagesentencerankingvisualize
甚至有研究人员正在研究相反的问题,仅仅基于文本描述产生一个完整的图片!
从这些例子,你可以开始想象的各种可能性。到目前为止,序列到序列应用在从语音识别到计算机视觉各个领域。我猜,明年会有更多的应用。
如果您想更深入地了解序列到序列模型和翻译,以下是一些推荐的资源:
RichardSocher’sCS224DLecture—FancyRecurrentNeuralNetworksforMachineTranslation(video)ThangLuong’sCS224DLecture—NeuralMachineTransation(PDF)TensorFlow’sdescriptionofSeq2SeqmodelingTheDeepLearningBook’schapteronSequencetoSequenceLearning(PDF)<imgsrc="https://pic4.zhimg.com/50/v2-c8693405235197b0a454b2c41cb432d6_hd.jpg"data-rawwidth="1120"data-rawheight="808"class="origin_imagezh-lightbox-thumb"width="1120"data-original="https://pic4.zhimg.com/v2-c8693405235197b0a454b2c41cb432d6_r.jpg">人工智能的十大应用
导读:人工智能已经逐渐走进我们的生活,并应用于各个领域,它不仅给许多行业带来了巨大的经济效益,也为我们的生活带来了许多改变和便利。下面,我们将分别介绍人工智能的一些主要应用场景。
作者:王健宗何安珣李泽远
来源:大数据DT(ID:hzdashuju)
01 无人驾驶汽车
无人驾驶汽车是智能汽车的一种,也称为轮式移动机器人,主要依靠车内以计算机系统为主的智能驾驶控制器来实现无人驾驶。无人驾驶中涉及的技术包含多个方面,例如计算机视觉、自动控制技术等。
美国、英国、德国等发达国家从20世纪70年代开始就投入到无人驾驶汽车的研究中,中国从20世纪80年代起也开始了无人驾驶汽车的研究。
2005年,一辆名为Stanley的无人驾驶汽车以平均40km/h的速度跑完了美国莫哈维沙漠中的野外地形赛道,用时6小时53分58秒,完成了约282千米的驾驶里程。
Stanley是由一辆大众途锐汽车经过改装而来的,由大众汽车技术研究部、大众汽车集团下属的电子研究工作实验室及斯坦福大学一起合作完成,其外部装有摄像头、雷达、激光测距仪等装置来感应周边环境,内部装有自动驾驶控制系统来完成指挥、导航、制动和加速等操作。
2006年,卡内基梅隆大学又研发了无人驾驶汽车Boss,Boss能够按照交通规则安全地驾驶通过附近有空军基地的街道,并且会避让其他车辆和行人。
近年来,伴随着人工智能浪潮的兴起,无人驾驶成为人们热议的话题,国内外许多公司都纷纷投入到自动驾驶和无人驾驶的研究中。例如,Google的GoogleX实验室正在积极研发无人驾驶汽车GoogleDriverlessCar,百度也已启动了“百度无人驾驶汽车”研发计划,其自主研发的无人驾驶汽车Apollo还曾亮相2018年央视春晚。
但是最近两年,发现无人驾驶的复杂程度远超几年前所预期的,要真正实现商业化还有很长的路要走。
02 人脸识别
人脸识别也称人像识别、面部识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别涉及的技术主要包括计算机视觉、图像处理等。
人脸识别系统的研究始于20世纪60年代,之后,随着计算机技术和光学成像技术的发展,人脸识别技术水平在20世纪80年代得到不断提高。在20世纪90年代后期,人脸识别技术进入初级应用阶段。目前,人脸识别技术已广泛应用于多个领域,如金融、司法、公安、边检、航天、电力、教育、医疗等。
有一个关于人脸识别技术应用的有趣案例:张学友获封“逃犯克星”,因为警方利用人脸识别技术在其演唱会上多次抓到了在逃人员。
2018年4月7日,张学友南昌演唱会开始后,看台上一名粉丝便被警方带离现场。实际上,他是一名逃犯,安保人员通过人像识别系统锁定了在看台上的他;
2018年5月20日,张学友嘉兴演唱会上,犯罪嫌疑人于某在通过安检门时被人脸识别系统识别出是逃犯,随后被警方抓获。随着人脸识别技术的进一步成熟和社会认同度的提高,其将应用在更多领域,给人们的生活带来更多改变。
03机器翻译
机器翻译是计算语言学的一个分支,是利用计算机将一种自然语言转换为另一种自然语言的过程。机器翻译用到的技术主要是神经机器翻译技术(NeuralMachineTranslation,NMT),该技术当前在很多语言上的表现已经超过人类。
随着经济全球化进程的加快及互联网的迅速发展,机器翻译技术在促进政治、经济、文化交流等方面的价值凸显,也给人们的生活带来了许多便利。例如我们在阅读英文文献时,可以方便地通过有道翻译、Google翻译等网站将英文转换为中文,免去了查字典的麻烦,提高了学习和工作的效率。
04声纹识别
生物特征识别技术包括很多种,除了人脸识别,目前用得比较多的有声纹识别。声纹识别是一种生物鉴权技术,也称为说话人识别,包括说话人辨认和说话人确认。
声纹识别的工作过程为,系统采集说话人的声纹信息并将其录入数据库,当说话人再次说话时,系统会采集这段声纹信息并自动与数据库中已有的声纹信息做对比,从而识别出说话人的身份。
相比于传统的身份识别方法(如钥匙、证件),声纹识别具有抗遗忘、可远程的鉴权特点,在现有算法优化和随机密码的技术手段下,声纹也能有效防录音、防合成,因此安全性高、响应迅速且识别精准。
同时,相较于人脸识别、虹膜识别等生物特征识别技术,声纹识别技术具有可通过电话信道、网络信道等方式采集用户的声纹特征的特点,因此其在远程身份确认上极具优势。
目前,声纹识别技术有声纹核身、声纹锁和黑名单声纹库等多项应用案例,可广泛应用于金融、安防、智能家居等领域,落地场景丰富。
05智能客服机器人
智能客服机器人是一种利用机器模拟人类行为的人工智能实体形态,它能够实现语音识别和自然语义理解,具有业务推理、话术应答等能力。
当用户访问网站并发出会话时,智能客服机器人会根据系统获取的访客地址、IP和访问路径等,快速分析用户意图,回复用户的真实需求。同时,智能客服机器人拥有海量的行业背景知识库,能对用户咨询的常规问题进行标准回复,提高应答准确率。
智能客服机器人广泛应用于商业服务与营销场景,为客户解决问题、提供决策依据。同时,智能客服机器人在应答过程中,可以结合丰富的对话语料进行自适应训练,因此,其在应答话术上将变得越来越精确。
随着智能客服机器人的垂直发展,它已经可以深入解决很多企业的细分场景下的问题。比如电商企业面临的售前咨询问题,对大多数电商企业来说,用户所咨询的售前问题普遍围绕价格、优惠、货品来源渠道等主题,传统的人工客服每天都会对这几类重复性的问题进行回答,导致无法及时为存在更多复杂问题的客户群体提供服务。
而智能客服机器人可以针对用户的各类简单、重复性高的问题进行解答,还能为用户提供全天候的咨询应答、解决问题的服务,它的广泛应用也大大降低了企业的人工客服成本。
06智能外呼机器人
智能外呼机器人是人工智能在语音识别方面的典型应用,它能够自动发起电话外呼,以语音合成的自然人声形式,主动向用户群体介绍产品。
在外呼期间,它可以利用语音识别和自然语言处理技术获取客户意图,而后采用针对性话术与用户进行多轮交互会话,最后对用户进行目标分类,并自动记录每通电话的关键点,以成功完成外呼工作。
从2018年年初开始,智能外呼机器人呈现出喷井式兴起状态,它能够在互动过程中不带有情绪波动,并且自动完成应答、分类、记录和追踪,助力企业完成一些烦琐、重复和耗时的操作,从而解放人工,减少大量的人力成本和重复劳动力,让员工着力于目标客群,进而创造更高的商业价值。当然智能外呼机器人也带来了另一面,即会对用户造成频繁的打扰。
基于维护用户的合法权益,促进语音呼叫服务端健康发展,2020年8月31日国家工信部下发了《通信短信息和语音呼叫服务管理规定(征求意见稿)》,意味着未来的外呼服务,无论人工还是人工智能,都需要持证上岗,而且还要在监管的监视下进行,这也对智能外呼机器人的用户体验和服务质量提出了更高的要求。
07智能音箱
智能音箱是语音识别、自然语言处理等人工智能技术的电子产品类应用与载体,随着智能音箱的迅猛发展,其也被视为智能家居的未来入口。究其本质,智能音箱就是能完成对话环节的拥有语音交互能力的机器。通过与它直接对话,家庭消费者能够完成自助点歌、控制家居设备和唤起生活服务等操作。
支撑智能音箱交互功能的前置基础主要包括将人声转换成文本的自动语音识别(AutomaticSpeechRecognition,ASR)技术,对文字进行词性、句法、语义等分析的自然语言处理(NaturalLanguageProcessing,NLP)技术,以及将文字转换成自然语音流的语音合成技术(TextToSpeech,TTS)技术。
在人工智能技术的加持下,智能音箱也逐渐以更自然的语音交互方式创造出更多家庭场景下的应用。
08个性化推荐
个性化推荐是一种基于聚类与协同过滤技术的人工智能应用,它建立在海量数据挖掘的基础上,通过分析用户的历史行为建立推荐模型,主动给用户提供匹配他们的需求与兴趣的信息,如商品推荐、新闻推荐等。
个性化推荐既可以为用户快速定位需求产品,弱化用户被动消费意识,提升用户兴致和留存黏性,又可以帮助商家快速引流,找准用户群体与定位,做好产品营销。
个性化推荐系统广泛存在于各类网站和App中,本质上,它会根据用户的浏览信息、用户基本信息和对物品或内容的偏好程度等多因素进行考量,依托推荐引擎算法进行指标分类,将与用户目标因素一致的信息内容进行聚类,经过协同过滤算法,实现精确的个性化推荐。
09医学图像处理
医学图像处理是目前人工智能在医疗领域的典型应用,它的处理对象是由各种不同成像机理,如在临床医学中广泛使用的核磁共振成像、超声成像等生成的医学影像。
传统的医学影像诊断,主要通过观察二维切片图去发现病变体,这往往需要依靠医生的经验来判断。而利用计算机图像处理技术,可以对医学影像进行图像分割、特征提取、定量分析和对比分析等工作,进而完成病灶识别与标注,针对肿瘤放疗环节的影像的靶区自动勾画,以及手术环节的三维影像重建。
该应用可以辅助医生对病变体及其他目标区域进行定性甚至定量分析,从而大大提高医疗诊断的准确性和可靠性。另外,医学图像处理在医疗教学、手术规划、手术仿真、各类医学研究、医学二维影像重建中也起到重要的辅助作用。
10 图像搜索
图像搜索是近几年用户需求日益旺盛的信息检索类应用,分为基于文本的和基于内容的两类搜索方式。传统的图像搜索只识别图像本身的颜色、纹理等要素,基于深度学习的图像搜索还会计入人脸、姿态、地理位置和字符等语义特征,针对海量数据进行多维度的分析与匹配。
该技术的应用与发展,不仅是为了满足当下用户利用图像匹配搜索以顺利查找到相同或相似目标物的需求,更是为了通过分析用户的需求与行为,如搜索同款、相似物比对等,确保企业的产品迭代和服务升级在后续工作中更加聚焦。
关于作者:王健宗,博士,某大型金融集团科技公司资深人工智能总监、高级工程师,中国计算机学会大数据专家委员会委员、高级会员,美国佛罗里达大学人工智能博士后,曾任美国莱斯大学电子与计算机工程系研究员、美国惠普公司高级云计算解决方案专家。
何安珣,某大型金融集团科技公司高级算法工程师,中国计算机学会会员,中国计算机学会青年计算机科技论坛(YOCSEF深圳)委员。拥有丰富的金融智能从业经验,主要研究金融智能系统框架搭建、算法研究和模型融合技术等,致力于推动金融智能的落地应用与价值创造。
李泽远,某大型金融集团科技公司高级人工智能产品经理,中国计算机学会会员,长期致力于金融智能的产品化工作,负责技术服务类的产品生态搭建与实施推进。
本文摘编自《金融智能:AI如何为银行、保险、证券业赋能》,经出版方授权发布。
延伸阅读《金融智能》
点击上图了解及购买
转载请联系微信:DoctorData
推荐语:这是一部讲解如何用AI技术解决银行、保险、证券行业的核心痛点并帮助它们实现数智化转型的著作。作者从金融智能一线从业者的视角,深入剖析了传统金融行业的痛点与局限,以及金融智能的特点与优势,阐明了人工智能等技术在金融业的必要性,并针对金融智能在银行、保险和证券业的诸多应用场景,给出了具体解决方案。
划重点????
干货直达????
有了中台,那后台还剩下什么?(图解中台架构)
关于读书,我发现每一个技术大牛都有这个怪癖
2020福布斯中国富豪榜发布!10年来谁是中国最有钱的人?
34秒看完200余年美国总统大战:民主党vs共和党谁是赢家?
更多精彩????
在公众号对话框输入以下关键词
查看更多优质内容!
PPT | 读书 | 书单 | 硬核 | 干货 | 讲明白 | 神操作
大数据 | 云计算 | 数据库 | Python | 可视化
AI | 人工智能 | 机器学习 | 深度学习 | NLP
5G | 中台 | 用户画像 | 1024 | 数学 | 算法 | 数字孪生
据统计,99%的大咖都完成了这个神操作
????