漫谈人工智能机器翻译的前世今生
在人工智能发展进程中艾伦·麦席森·图灵,这位著名英国数学家、逻辑学家,最早提出了机器人是否会思考的概念,图灵也被誉为现代计算机科学之父和人工智能之父!
艾伦·麦席森·图灵(1912年6月23日-1954年6月7日),被誉为“人工智能之父”
我们把时间推回到半个多世纪的某个夏天,此时麦卡锡、明斯基等众科学家们正在举办一场Party,在这次聚会上探讨和共同研究了用机器模拟智能的问题,也是在那时,“人工智能(AI)”的理念正式被提出!
如今人工智能商业化正在快速推进中,比如我们所知道和了解的人像识别、图像识别技术、语音识别、自然语言理解、用户画像等,现在我们所讨论的机器翻译也是AI一大主要战场!
现在我们再把焦点放回到机器翻译上,现阶段机器翻译也被主流的称之为:统计翻译
机器翻译的基本原理是:从语料库大量的翻译实例中自动学习翻译知识,然后利用这些翻译知识自动翻译其他句子。
这件事听起来似乎很简单,但是实际上难度超过了我们的想象!
不同语言的语序不一样,即使是同一个句子,它也可能有很多种正确的但不同的翻译方法,而且纵使是同一个句子,在不同语境下的内涵和意义也不尽相同,如果再考虑到文化、宗教、政治、信仰等等复杂原因的影响呢!
大体上来看机器翻译的几大障碍包括:一词多义、理解上的歧义、结构不同造成的歧义、词性多解、文化因素不同,等等都是制约和影响翻译质量的因素。
机器翻译涵盖人工智能、数学、语言学、计算语言学、语音识别及语音合成等多种学科及技术,显然机器翻译本身很不简单,是一个复杂、庞大、意义重大的系统工程!
纵观机器翻译发展的进程,可以把其划分为下面五个重要阶段:
1.机器翻译正式拉开序幕
1947年
美国人Weaver提出的把翻译看成是一种解码的过程
1949年
Warren Weaver发表《翻译备忘录》,正式提出机器翻译的思想
1954年
美国乔治敦大学首次用IBM-701计算机进行英俄翻译,通过这次机器翻译的公开演示,算是正式拉开了机器翻译研究的序幕
IBM-701计算机的英俄翻译
2.机器翻译陷入低潮期
1966年
1964年,美国科学院成立了语言自动处理咨询委员会(Automatic Language Processing Advisory Committee),委员会经过2年的研究,于1966年公布了一份名为《语言与机器》的报告。
该报告全面否定了机器翻译的可行性,并宣称“在近期或可以预见的未来,开发出实用的机器翻译系统是没有指望的”。
机器翻译开始陷入低谷和空前的萧条中!
3.机器翻译进入复苏期
1970年
转换生成语法理论取得重大进展及AI技术的进步,机器翻译进入复苏期
4.机器翻译走向繁荣期
1976年
加拿大蒙特利尔大学与加拿大联邦政府翻译局联合开发的TAUM-METEO系统,是机器翻译发展史上的一个里程碑,标志着机器翻译由复苏走向繁荣
5.机器翻译持续发展期
1985年
日本著名机器翻译专家长尾真(MakotoNagao)在《TranslationbyAnalogy》中首次提出基于实例的机器翻译思想
其基本思想是:不通过深层的分析,仅通过已有的经验知识,通过类比原理进行翻译
1993年
IBM的Brown和Della Pietra等人提出的基于词对齐的翻译模型,标志着现代统计机器翻译方法的诞生
1994年
Robert Frederking提出多引擎机器翻译方法
其基本思想是:
1.多个翻译引擎同时对输入的句子进行翻译,不仅对整句进行,同时对句中任何一个片段也给出对应的译文,并对这些译文片段给出一个评分
2.各个翻译引擎共享一个类似chart的数据结构,根据其源文片段所处的位置,将这些译文片段放在这个公共的chart结构中
3.对各个引擎给出的片段评分进行一致化处理,使之具有可比较性
4.采用一个动态规划算法(chartwalk算法)选择一组刚好能覆盖整个源文输入句子,同时又具有最高总分的译文片段作为输出
2003年
爱丁堡大学的Koehn提出短语翻译模型,使机器翻译效果显著提升,借助同时期Franz Och提出的对数线性模型及其权重训练方法,短语翻译模型在工业界开始广泛采用
2005年
David Chang提出了层次短语模型,同时还有多个大学和研究所在基于语法树的翻译模型方面研究也取得了长足的进步
人工智能机器翻译的春天和蜜月期是不是真的已经到来?
回到当下,人工智能机器翻译尚不能做到无障碍的沟通和顺畅无碍的进行语义上的理解和交流。
显然距离我们最终想要机器翻译达到的效果,还有很长的路要走!
未来,我们拭目以待更多更亮眼产品的出现!
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-Web打印
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程
- GitHub上大热的Deep Photo终于有TensorFlow版了!
- 资源 | Style2paints:专业的AI漫画线稿自动上色工具
- Github 项目推荐 | 真实全景图像强化学习 AI 平台 —— Matterport3DSimulator
- Github 项目推荐 | 用 Pytorch 实现的 Capsule Network
- 野外动物监测图像挑战赛:预测捕捉到的野外图像是否包含动物
- Github 项目推荐 | 用 Keras 实现的神经网络机器翻译
- Github 项目推荐 | 类 Keras 的 PyTorch 深度学习框架 —— PyToune
- Github 项目推荐 | 可提取结构化信息的自然语言理解 Python 库 Snips NLU
- 工具| 诸神之眼nmap定制化之并发处理
- 确认过眼神,ZZCMS 8.2 任意文件删除是你想要的
- golang go语言 http包 和 高并发下的websocket
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名详解
- Maven实战之旅第六篇——maven常用指令
- maven实战之旅第四篇——利用maven archetype手动建立一个maven项目
- 一起刷 leetcode 之旋转矩阵
- exe调用DLL的方式
- 聊聊claudb的DatabaseCleaner
- Stata | 排名转为得分
- kafka使用avro序列化和反序列化
- avro使用schema生成java文件
- zabbix_sender安装和使用
- zabbix_get安装和使用
- rabbitmq搭建集群踩坑记
- Elasticsearch升级踩坑记之升级elasticsearch2.x到elasticsearch5.x
- 变量判断与设置
- 变量的删除与替换