口语翻译——AI过程的必经之路

人工智能的道路我们还有很长的路要走,我们期待一场未来与机器人的真正博弈,而这种博弈的结果是:人与机器的和谐共存,生活的更加便捷。从我们感受到的智能来举例,如果你的手机是iphone,那你一定不会对siri陌生,这个人机交互的神器,可以帮助我们读短信、介绍餐厅、询问天气、语音设置闹钟。当然,这都不算太高大上,真正让用户叫奇的是siri还能够不断学习新的声音和语调,提供对话式的应答。而siri所表现的种种智能,也不过是未来实现AI的冰山一角,庆幸的是我们或许能为未来的机器翻译,人机交互技术添砖加瓦,看到更好的智能应用。( 如果大家对siri的技术想更深入的了解的话,推荐一篇文章给大家:http://www.infoq.com/cn/articles/zjl-siri  )

我们知道早期的机器翻译都有板有眼的,使用的语料也多来源于新闻,看起来似乎还不是那么接地气,但是看到大家常常使用的谷歌翻译、有道翻译(感兴趣的也可以试试紫冬口译 中科院自动化所开发的)慢慢贴近生活,翻译的内容也越来越生活化,也就知道我们的技术也会越来越平易近人,这种贴近将不再满足于新闻报道、论文专利正统文字的翻译,而是日常交流口语的翻译。笔者这篇博客作为一个科普blog,大家一起来了解一下口语翻译的前世今生和关键技术。

口语翻译从总体上来看应该有三大模块组成:自动语音识别器、机器翻译引擎、语音合成器;显然传统意义上的机器翻译并不能完全适应这种口语式的翻译,只有当把翻译和识别看成一个整体,我们才能更好的服务于口语翻译的系统。因此在做翻译模块时,我们必须考虑到语音识别时存在的识别错误,我们也必须使得我们的翻译系统能更好的接受或者纠正这种错误,同时最好考虑到口语在语言学上的意义。不同于书面语,口语的句法相对松散,常常存在重复、冗余、省略、颠倒等多个“不规矩”的语法现象,而这一切也都会增加研究的难度。

列举几个典型的口语现象:

1.啊 打九折 行 下礼拜 下礼拜二三吧 (重复)

2.有房间吗 现在  (颠倒)

3.那个 可以预定吗 行吗 (冗余)

先来看看我们的前人们都做了些什么吧?1989年Speech Trans(美国CMU)作为第一个语音翻译实验系统与大家见面,此后的20多年期间,一匹针对不同领域的语音翻译系统相继问世,现在我们能看到的siri、google 翻译语音版、itranslate Voice 都已经慢慢被我们所熟知,相应的科技领域的探索也变成我们关注的热点:U-STAR(全球语音翻译前沿研究组织)组织的23国语音同声翻译技术(VoiceTra4U-M)应用也得到了成功的展示,语音翻译看起来也慢慢走下神坛。虽然语音翻译已经开始投入应用,但是现阶段的应用大多是限定领域的,如果想要具有真正意义上的通用性,我们还是会有更长的路要走的,我们希望我们未来的翻译可以完成知识库的自动扩充,我们希望我们未来的翻译可以实现人与人的无国籍的无障碍沟通。当然,这一切的实现,都不能脱离技术。

长期以来,使用的比较多的是一种面向中间表示的口语解析方法,采用IF格式理论,其基础是对话行为理论——即语言不是只用来陈述事实,而且还附载着说话人的意图。这样做的一个好处是,便于使用规则解析且能产生很好的准确率。缺点就是限定领域,且IF格式的使用构建耗费巨大。这里举个例子来说明IF格式的含义(以旅馆预定的语料为例):

明天我想要预定一个单人间

IF:c:give-information+reservation+room(room-spec=(room-type=single,quantity=1),reservation-spec=(time=(relative-time=tomorrow)))

表示含义:说话人为c,句子的意图是提供信息,主题是预定房间,而房间的类型为单人间,数量为1,预定的时间为tomorrow。

除了这个方法之外,还可以使用基于实例的方法,目前比较好的方法是基于统计的方法。然而回归问题的本质,目前的语言翻译核心大体相似——基于短语、基于层次化短语、基于句法,导致翻译结果的差异往往集中在语料的不同,以及输入格式的质量的差异上。因此笔者认为,如果核心的翻译过程不容易做改进的时候,不如转念想想语料的预处理该怎么去做,将会对我们的口语翻译有很大的帮助的。O(∩_∩)O

最后附图一张,希望机器翻译越来越好~

时间: 2024-10-12 17:52:53

口语翻译——AI过程的必经之路的相关文章

RestTemplate翻译serviceId过程

RestTemplate#getForObject(url...) RestTemplate#execute RestTemplate#doExecute AbstractClientHttpRequest#execute AbstractBufferingClientHttpRequest#executeInternal InterceptingClientHttpRequest#executeInternal InterceptingClientHttpRequest.Interceptin

浅谈技术翻译(转自李松峰)

有的译者认为“技术书籍以技术引导为己任,最重要的是让读者入门然后去读英文原文,而不是要传承中华文化”,这种看法你认同吗? 首先,咱们先明确一下“技术书籍”这个概念.因为“技术”是一个很宽泛的词,必须先界定一下.你想,修车是技术,开飞机是技术,甚至养猪.理发.炒菜…等等里面都可以有技术,都有相应的书籍.但我们今天说的“技术书籍”,仅仅指“信息技术类书籍”,具体一点说,就是“计算机和网络技术书籍”.而我们今天谈论的翻译,也仅仅局限于“计算机相关技术书籍”的翻译,而下面的讨论也以英译中为例. 好了,开

AI有一招,能干到王思聪没币可撒

曾记得十几天之前否?那时我们踌躇满志的跨进了2018,满怀着对未来的渴望和珍重--然后我们惊奇的发现,2018第一个火起来的词叫"撒币"- 不是我说啥,这可真出戏啊. 似乎一夜之间,直播答题和这个叫做"撒币"的关键词就火了.王思聪的冲顶大会.映客的芝士超人.花椒的百万赢家,一时之间大佬们疯狂争当"大撒币",人民群众则纷纷出头想当被币砸到的那个幸运儿. 当然了,不管这些平台们如何"撒",最终"币"还是要回到他

干货|人人都是翻译项目的Master

在平时的工作中,我们都会经常查阅一些英文文档来解决平时遇到的问题和拓宽视野.看到好的文章或者书籍有没有想要和小伙伴分享的冲动,那么我们一起来翻译吧- 翻译主张 "信 达 雅" ."信"指意义不悖原文,即是译文要准确,不偏离,不遗漏,也不要随意增减意思:"达"指不拘泥于原文形式,译文通顺明白:"雅"则指译文时选用的词语要得体,追求文章本身的古雅,简明优雅.身为非专业翻译人员,要达到以上三点不是很容易的,但是我们要尽可能往这个方向

程序员翻译技术类书籍的总结

2013年到现在,已经翻译了3本书了,其它杂七杂八的文章也不少.其中有一些经验和教训,势必要总结一下. 将译稿纳入版本管理 没有版本管理的代码修改起来是战战兢兢地,而译稿也类似.我习惯在GitHub上创建一个私有的仓库(我是GitHub的会员),把与该书相关的内容都放置上去,每翻译一点就迁入一次,保证任何修改都可以追踪. 创建一个词条文档 在翻译书的过程中,难免会遇到很多专业词汇,有些专业词汇有统一的翻译,而有些则没有,需要自己权衡后给出一个翻译结果.最好把这些词汇都放置到一个独立文档中,这尤其

GET&&POST请求编码过程

编码.解码 我们在开发过程中不可避免的一个话题就是编码和解码,那么什么是编码什么是解码呢?为什么要进行编码和解码呢?下面我们一一分析! 编码和解码的概念 编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码.用预先规定的方法将文字.数字或其它对象编成数码,或将信息.数据转换成规定的电脉冲信号.编码在电子计算机.电视.遥控和通讯等方面广泛使用.编码是信息从一种形式或格式转换为另一种形式的过程.解码,是编码的逆过程.例如:"我是中国人!"按照UTF-8编码后为

云计算设计模式翻译:Cache-Aside Pattern

这个手册其实老早就搞到了,只是最近实在太懒了一直没动- - ,希望能坚持把主要的内容翻译完.翻译的过程中会加入一些自己的看法,如果有不准确或错误的地方欢迎各种提意见指出~. 简单来说就是将数据从持久化存储中加载到cache中.这个模式可以提升系统性能,并且保证cache和底层存储中数据的一致性.PS:下文会用"存储空间"来表示data store,在实际的工程中可以代表数据库.文件等持久化到硬盘的存储容器. Context and Problem  传统的应用程序中经常使用cache来

【转自知乎,只为分享】计算机术语那些逆天的翻译!!

Windows 的 file handle 为什么译为「文件句柄」?和「句」有什么关系? file handle 之类的翻译做「文件句柄」,完全就是乱来.handle 就是「把手」,什么门的把手.锅的把手.锤子的把手都是handle,可以理解为用来方便控制某个东西的东西.所以file handle是用来控制file的东西.要控制哪个object就用哪个handle.参考翻译:操作符或者把儿. return value翻译成返回值更是不着边际,也许你我很快能把它跟左上角对应起来,但是对于零基础学习

第4章2节《MonkeyRunner源码剖析》ADB协议及服务: ADB服务SERVICES.TXT翻译参考(原创)

天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文"寻求合作伙伴编写<深入理解 MonkeyRunner>书籍".但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在所难免.有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息. ADB服务器端在接受到ADB客户端发送过来的命令后会进行相应的处理,如果是主机服务就在ADB服务器内部进行处理,如果是本地服务就会发送给Android目标机器端的adbd守护进程进行处理. 因为ADB相关的源代码不在我