在信息纷繁如大洋般浩浩的互联网时代,操持各自语言的人们汇聚网络,言之纷纷,书之不息,各类信息无时不发,无处不在……不论是经典著述、长篇大论,抑或巧思短文、灵感的火花……似乎,互联网承载和传播了这个星球上人类的所有智慧。然而,一个简单的事实让信息携带智慧流通全球还依然只是一个梦想——即:不同语言之间无法直接沟通。为解决这个问题,机器翻译随科技的发展应运而生,并不断发展。

  前面的废话

  曾经有一个梦想——希望能轻松读懂英文,至少在看一篇没有太多文学色彩的技术文章时,可以明白个八九不离十。

  也曾经不自量力——在借助机器翻译求学外文失败之后,试图研究机器翻译应当如何进行……

  世界发展真快,失望、怅然与自知无能为力的几年虚度,曾经的渴望和若有所研的心得早已抛诸天外。直至几年前,Google 推出了翻译服务,经初步试用,如果要求不高的话,感觉翻译效果也算是不错!(注:不能用专业的人工翻译和机器自动翻译比质量)。免费使用,及时快速,在信息飞速流动的互联网时代,有这样的免费服务已经很知足了。(其实很想说一声谢谢!)

  机器翻译的质量

  一个显而易见的前提是,机器翻译不可能与人工翻译相比。在目前的技术条件下,一般认为机器翻译如果有 60% 以上的准确率就基本可用了。目前机器翻译已经发展到“基于短语的翻译,并正在融合句法信息,以进一步提高翻译的精确性”(摘自维基百科“机器翻译”词条)。从对 Google 翻译服务的试用来看,其对简单短句、短语、以及习惯用语的翻译都还不错,翻译包含了对句法词序的转换处理。

  那么,现阶段我们是否可以期待计算机对普通长句也有比较好的翻译效果呢?

  简单的答案是:No!

  复杂一点的答案也许是:我们可以有这样的期望吗?

  或许,我们可以有这样的期望。但我们需要作出一些付出!请细想一下,我们通常所见的那长长的句子,它是否可以被分解为多个短句呢?如果短句与短句之间有语法上的主次关系,它们是否可以被包装成一个父级的简单句呢(即视短句仅为一个占位单元)?如果答案是肯定的,那长句就可以拆解封装成简单句的组合了(可能有多层)。

  这是无意中尝试的一个例子,请看:

  原文:“为什么计算机合成语音多数是女声。”
  Google 译成英文:“Why do the majority of female computer synthesized speech.”
  用该译文译回中文:“为什么大多数女性电脑合成语音。”

  一正一反两次互译,含义已经相去甚远了。但我们尝试一下分解策略:

  中文分解                Google 译文
  -------------------------------------------------
  1. 计算机合成语音       Computer-synthesized voice
  2. 女 声                Female voice  // 注:原译为 Girl,应是个 Bug,中间空一格即可
  3. 多数                 Most
  4. 为什么 X 是 Y        Why X is Y   // X 和 Y 是占位符,此处是取其语法翻译

  组合后译文:“Why <Computer-synthesized voice> <Most> is <Female voice>”
  去掉尖括号:“Why Computer-synthesized voice Most is Female voice.”
  用该译文译回中文:“为什么电脑合成的声音大多是女性的声音。”

  效果如何! 有种惊艳的感觉吧?

  再来一句试试:
  原文:“互联网以英文为主是不争的事实,”
  Google 译成英文:“Internet in English is an indisputable fact,”
  用该译文译回中文:“在英国的互联网是一个不争的事实,”

  中文分解                Google 译文
  -------------------------------------------------
  1. 互联网               Internet
  2. 英文                 English
  3. XX 以 YY 为主        XX to YY-based
  4. XX 是不争的事实      XX is an indisputable fact

  组合得译文:“Internet to English-based is an indisputable fact,”
  用该译文译回中文:“以英语为主的互联网是一个不争的事实,”

  与直接回译的差别是不是有点大,与原文的意思是不是基本符合?

  看到这里,是否,我们真的可以有某些期望? 或许,这是一个需要努力但并非太多努力就可接近的目标! 请抱持思考和理性批评的心态看待下面的解说。

  长句拆解,短句组合构造长句译文

  一般来说,对于具有较深文学色彩的文字,因大多包含隐喻,上下文环境依赖等,机器翻译十分困难。但对于普通的文法较为规范的描述性文章(如技术类说明书,使用手册等),如果句法足够简单,则机器翻译的表现已很不错。

  如上所见,如果人工稍作参与,通过长句分解,机器翻译整篇文章或许也会有比较理想的结果。这里,我们需要对长句进行逻辑判断和拆解,如果必要,构造父级的句法特征句(如“XX 以 YY 为主”,XX 为占位符,代表相应子句,用于语法转换),则人工参与的并不多,但效果却会很大。

  对原文进行拆解标识的意义

  或许,你认为人工参与机器翻译并不划算,太低级,理想的机器翻译应当是完全的无人工自动执行。确实,这是人人期盼理想状态,但那离现实似乎太过遥远(个人看法)。

  表面上看,一旦人工参与,任何机器无法解决的智能问题都会化解,所以,人工参与不是解决问题的办法——这仅是简单地看问题。

  我想说,这观点低估了人脑智能的复杂性,对机器智能寄予了过高的期望。另外,这也忽略了一个重要事实,即——分析拆解工作其实是“一次性”的。当我们对原文做好语法标识后,就可以撒手不管它将要被翻译到何种语言了。注意!这里没有指明何种语言,因为——这适用于翻译到任何一种语言——所作与目标语言无关,标识仅仅是说明了自己。

  还有一点,精通一门语言易,精通多门语言难,通晓一门语言的人很多,通晓多门语言的人很少。任何一个人,只要母语多少有些修养,就可以标识用母语写的文章,从而帮助作者的文章得到翻译,或作者自行标注,让自己的文章可以直接被翻译。人机结合,这对翻译人员的门槛降到了最低——好宽广的群众基础啊! 梦想,是否有实现的可能?

  技术性的个人研究分享

  很浅薄,请不吝赐教……

  从上面的分析看,借助于 Google 翻译服务的 API,现阶段就可以编写并不复杂的程序,实现可行的通篇文章机器翻译,但前提条件是,原文需要被适当标识。个人认为标识文章的语法应当尽量简单,以利于大众化普及,由于机器翻译服务已有初步的智能,简单标识已经可行。

  笔者设计的标识逻辑有 3 层,共 7 个标识字,如下:

      顶层: 子句,标识字 clause
      中层: 短语,标识字 phrase,包含常用习语、俗语、俚语等
      底层: 单词,标识字 名词 word-n,动词 word-v。
      
      另外两个特殊词,人名 names,术语 term,一般情况下保持为不翻译,需标识出来。

  如果仅针对长句拆解,底层的单词标注其实已经不需要,这里加入是方便将来机器对短句进行更加准确的判断。

  标识例子1(Html 代码,用 class 属性表达):
      <span class="syntax">
          <span class="phrase">为什么</span>
          <span class="clause">
              <span class="word-n">计算机</span><span class="word-v">合成</span><span class="word-n">语音</span>
              // 注:这一句其实不必拆解,它可能已成为一个术语
          </span>
          <span class="clause">
              多数<span class="word-v">是</span><span class="phrase">女声</span>
          </span>,
      </span>

  标识例子2
      <span class="syntax">
          <span class="clause">其中一个<span class="word-n">答案</span></span>
          可能在于
          <span class="clause">
              人类的<span class="phrase">生物机制</span>
          </span>。
      </span>

  注:
  1. 代码最外围用 syntax 包含,表示内部为语法标识。
  2. 并非所有的文字都需要标注,将句子切分以表达出逻辑关系即可。
  3. 一些介词、助词之类的字是语法标志词,不需要标注。

  抛砖引玉,期待探讨!谢谢。

  来源:读者原创投稿,作者:乙謌

转载于:https://www.cnblogs.com/helenR/p/googletranslate.html

Google 翻译,梦想与现实的距离有多远相关推荐

  1. arkit与现实世界距离比_如何使用ARKit和Pusher构建实时增强现实测量应用程序

    arkit与现实世界距离比 by Esteban Herrera 由Esteban Herrera 如何使用ARKit和Pusher构建实时增强现实测量应用程序 (How to Build a Rea ...

  2. 输出不详宗教预言,Google翻译为何“水逆”了?

    最近,一些网友使用的 Google 翻译"水逆"了. 在 Reddit 上,有网友截图显示,在 Google 翻译中当某些语种的词汇翻译成英语时,输出的却是毫无由头的宗教语言.比如 ...

  3. 虚拟与现实的距离——VR的2016正如移动互联网的2009【下篇】

    这是<虚拟与现实的距离 >系列的下篇,姗姗来迟,不是我们不知道 2015年 已经悄然逝去,而是我们更愿意等 2016 多揭晓一些谜底. 比如,Oculus Rift CV1 最终定价 59 ...

  4. Hadoop的梦想与现实

    Hadoop的梦想与现实 2014-08-27 09:51 佚名 36大数据 字号: T | T 可以说,Hadoop的出现是计算技术发展进程中一个重要的里程碑,它使实用的大规模分布式计算和存储成为可 ...

  5. Python一键转Java?“Google翻译”你别闹

    作者 | 若名 出品 | AI科技大本营(ID:rgznai100) 近日,Reddit 上有网友放出了一张疑似 Google 翻译添加了能让编程语言间互相转换的图片,立即引发数千名程序员网友的跟帖热 ...

  6. Google 翻译的妙用

    Google 翻译的妙用 对于En不好的人来说,Google翻译是一个不可或缺的工具,尽管有时候其翻译过来的语言让人哭笑不得,曾有蛋疼的网友将辛弃疾的青玉案·元夕这首词使用"Google翻译 ...

  7. Python 大规模异步新闻爬虫、google翻译、百度翻译、有道翻译、百度指数

    参考:https://www.yuanrenxue.com/crawler/news-crawler-urlpool.html url_pool.py # -*- coding: utf-8 -*- ...

  8. java html转图片_Python一键转Java?“Google翻译”你别闹

    作者 | 若名 出品 | AI科技大本营(ID:rgznai100) 近日,Reddit 上有网友放出了一张疑似 Google 翻译添加了能让编程语言间互相转换的图片,立即引发数千名程序员网友的跟帖热 ...

  9. 在C#中使用Google翻译API

    目录 介绍 要求 示例翻译函数 兴趣点 介绍 我们想轻松地将文本字符串翻译成另一种语言.从Google 翻译API返回的结果非常晦涩.它们采用JSON锯齿状数组的形式.当您必须翻译多个句子时,甚至更加 ...

最新文章

  1. 做出的一个图片的自动展示效果(JS版本)
  2. 基于Docker搭建Gitlab代码存储
  3. BZOJ3230 相似子串 【后缀数组】
  4. aspnet登录界面代码_SAP系统基础操作培训1-环境登录介绍
  5. java面试之闭包(closure)
  6. android 几个快速编译images指令
  7. Building a Better Vocabulary: Lecture 1 Five Principles for Learning Vocabulary
  8. Base32编码转换
  9. Android和Linux应用综合对比分析
  10. 记忆拼图·心灵风暴·黑洞生死书
  11. ChucK初步(4)
  12. git pull报错error: You have not concluded your merge (MERGE_HEAD exists).
  13. Java编程序哥德巴赫猜想
  14. 差分进化算法_想用遗传算法?来看看这些已为你做好的开源优化框架
  15. mysql insert 阻塞_insert遭遇阻塞
  16. JavaScript用Math.asin()求反正弦值
  17. 深入剖析优惠券核心架构设计
  18. ESP32学习入门:WiFi连接网络
  19. 学习三极管的原理和作用
  20. 小飞升值记——(终章)

热门文章

  1. 如何看待 Apache Log4j 2 远程代码执行漏洞?
  2. 玩游戏也能学Python?!论Python的正确打开方式
  3. JavaWeb结合七牛云存储搭建个人相册服务
  4. java 防渗透_「java、工程师工作经验怎么写」-看准网
  5. Lua语法入门HelloWorld
  6. 用户认证-什么是认证
  7. 微服务网关Gateway中Path路径过滤
  8. Object类的toString方法
  9. Redis与Zookeeper实现分布式锁区别
  10. 三种实现分布式解决方案原理分析