中英文在自然语言处理上的十大差异点

——学习总结

原文链接 → https://mp.weixin.qq.com/s/C7AF7ECj0bF5G1kDo3V72w

自然语言是人与人交流沟通的重要媒介方式,经历过漫长的历史发展,在世界各地形成了众多的语言分支。语言就像一个加过密的通讯系统一样,只有发送和接受两端有一致的加密规则,双方才能进行有效通讯。语言不通主要是因为不同类型的语言有不同表达语义的符号、规则和发音等,这些差异也造成了不同的自然语言处理任务的差异性。众所周知中文和英文是世界上使用人数最多的两种语言,也是两种最有代表性的语言,并且两者差异性较为明显。从书写的文字上看,英文是表音的(能拼读发音),中文是表义的(象形文字嘛)。接下来总结中文和英文的十大差异点


一、中英文分词方式不同

由于英文单词之间天然存在空格,所以对英文文本处理时可以非常容易地通过空格来切分单词。

然而中文词之间不存在天然地空格,并且中文词是由多个字构成的,所以对于中文文本处理之前首先要进行分词。中文分词是一个非常有挑战性的任务,虽然现在已有较为成熟的开源工具。

然而在一些特定任务下,英文可能要对单词继续切分(子词),中文可能不需要切分,做这些处理然后作为模型的输入。

二、英文语素和中文偏旁

英文需要词形还原(lemmatization)和词干提取(stemming)等预处理操作的原因是,英文单词有丰富的形态变化,包括:单复数、主被动、时态变化、词缀等。为方便处理需要对英文单词做一些预处理操作。当然这些操作一般还配合着词性标注等操作。

中文里是没有像英文这样的词形态变化的,但中文有一个与“词干”变化相近的概念——偏旁部首。学术界也有尝试,但是收益不怎么明显。作者认为其原因首先是常用中文汉字数量比英文单词少,每个字的意思多,这些汉字的含义通过上下文来获取的语义描述信息足够充分,拆分偏旁后额外再能添补的信息作用非常小。第二是中文里表义的基本单元是多个汉字构成的词,而不是单字。因而拆分偏旁部首对语义的理解起到的作用比较微小。

三、词性标注方法的差异

中英文词性尽管整体上很相似,但在很多细节上存在差异。词性标注是自然语言处理领域的一个重要研究方向。中英文的差异如下图。

英文有一些中文没有的词性:冠词和助动词。而中文里没有冠词一说,冠词有助于语义的理解。如“Show me the photo of your company”,通过定冠词the的指示,很容易的定位本句话的关键实词是photo;“DataGrand is a Chinese company”里“a”这样的不定冠词也可以很好的指示出宾语“company”。这些大量出现的冠词虽然是虚词,本身并没有明确含义,但在NLP中用于定位句子中的关键实词,判断实词种类(是否可数,是否专有名词等),进而识别出句法结构(后面还会详细介绍)等,起到了很大的指示作用,也降低了计算机进行语义理解的难度,因而这方面英文比中文有先天优势。在英文句子中也大量存在,和冠词用于指示主语宾语类似,助动词对识别主要动词(Main Verb)和谓语会起帮助。

另外英文在词性方面的划分和使用更为严谨,词汇在变换词性的时候会在词尾形成丰富的变化。例如-ing、-able、-ful、-ment、-ness等都对确认词性给出具体的提示。名词中还会进一步区分可数名词、不可数名词,在词尾用-s、-es来区分。动词也同样会存在发生时态的指示,过去式,现在时,未来时等非常明确,因此在英文语法中几乎没有词性混淆不清的情况发生。

而中文的词性则缺乏类似英文这样的明确规范。汉语没有英文的屈折变化的特点,不像英语能通过灵活的词尾变化来指示词性变化,汉语这种一词多性且缺乏指示的特点,给计算机词性标注带来了很大的困难,业界对词性的标准以及标准测试集也很不完善。很多具体词汇的词性甚至让人工来研读都模棱两可,让算法自动来识别就更难了。

四、标点符号和字体特征

标点符号和字体特征是学术界研究时经常容易忽视的地方。英语对于标点符号的使用有明确的规范,而中文没有这么强的规范,主要是因为以前的中文是没有标点符号的,这个是中文后面才有的要求。

同时英文还有专有名词大写、斜体字、首字母大写的用法,中文中不存在。

另外在日常生活中,还形成了使用不同的符号表达不同的情绪,例如:中文“囧”表达一种窘况;“:)”表达英文的笑脸。给自然语言处理带来了很多新的挑战。

五、词汇粒度的处理方法差异

词汇粒度在自然语言处理实践中有重要的作用,例如中文分词和词汇粒度有很大关系。例如“中华人民共和国”这样一个词,按不同粒度来切,既可大粒度切为:“中华人民,人民共和国”,也可进一步切出“中华,人民,共和国”,而“共和国”还可以进一步切为“共和,国”。为什么分词需要有不同的粒度呢?因为各有作用。大粒度词的表义能力更强,例如“中华人民共和国”这样的大粒度词,能完整准确的表达一个概念,适合作为文章关键词或标签提取出来。在搜索引擎中直接用大粒度词去构建倒排索引并搜索,一般可得到相关性(准确率)更好的结果。

中文古代汉语最小的语义表达单位是字而不是词,古代汉语经常是一字一词。但对现代汉语切分到太细的粒度也不太好。为了解决基本粒度词的问题,笔者曾在百度设计开发了亚粒度词(subterm)补足的策略,缓解了召回不足的问题,工业界还有一些其他的同义词关联等方法来应对,但到目前为止词汇粒度问题仍然是困扰中文NLP的一个“慢性病”。近年来兴起的BERT模型,利用大量文本进行Transform预训练,填补各种粒度词汇的语义信息,也是是一种缓解问题的办法。

英文因为不存在切分问题,所以粒度问题只需要考虑词组(Phrase)切分的问题。例如Harvard University,两个单词可以切为Phrase来表达一个具体机构。相比中文的从细到粗的多粒度切分要简单很多。

六、句法结构分析方法

词汇级别之上就是句子,语句是由一系列的词汇排列组合后生成的,而后通过语法结构来表达语义。

在句子结构方面,“英语重形合,汉语重义合”的特点体现的非常明显。英语为了充分体现句子中的各种承接、转折、从属、并列等关系,不厌其烦的准备了大量的连词、助词、介词、冠词等作为填充剂,来补充实词之间的缝隙,构成了很多从句、引导句。这些包含各类结构的结构,让计算机来进行语义角色标注(SemanticRole Labeling, SRL)和语义依存分析(SemanticDependency Parsing, SDP)相对比较容易。

从计算机的视角来看,恰恰因为汉语讲究意合而不重形式,句子结构都比较松散,并没有英文中那么多的虚词作为实词间的语义粘合剂,而是依赖词汇前后顺序关系,隐含表达出句子结构,所以也给计算机处理带来了挑战。

七、中英文指代消解

指代消解指的是分析分本然后知道哪些指代词指代的是哪些内容。不论是在书面文本中进行长文章解读,还是在对话文本中回溯前文问题,指代消解都起到非常关键的作用。计算机需要能像人类一样建立起上下文间这些词汇间的关联关系,做到把概念串联起来“读懂”文章的意思。

英文缩略语可读性弱,且重复歧义多,因为中文常用汉字有五千多个,而英文只有26个。

在实际工程应用中,共指消解最常用到的场景是对人名、机构名、地点、条款、具体事件、关系类型等要素的指代处理。在超长文书(如证券行业的上市公司重组公告、招股说明书等)处理方面该技术也起了很大作用。日常中文的共指消解存在一定的行文规律,通过预先挖掘简写和指代词表导入算法中可显著提升效果。业界常见的共指消解方法既有传统的规则启发法,也有经典的统计学习、聚类算法、概率图模型等,此外深度强化学习、长短时记忆网络等新的Meural Mention-ranking方法也有良好的效果。

八、英汉词汇间关联关系挖掘

词汇间关系是构建语义网络的一项基础技术,我们知道同义词、近义词、相关词是特别常见的词汇关系,此外词汇的上下位(例如在生物知识网络中Sparrow属于Bird,Shanghai属于China)和词向量等在NLP处理中都很重要。和英文单词相比,汉字的数量少得多,常用汉字数才2000-3000个,其中最常用的1000个汉字已经能覆盖92%的书面资料了。这1000个汉字中去掉偏旁部首类似的字,独立语素更是不到500个。在表述事物时汉语中采用字组合的方式,可以非常方便的理解词义并且研读出词汇之间的关联关系。

而英文单词动辄2万-3万个(美国成年人平均单词量),而且意思相似的词汇间的字母构成差异很大,所以很多情况下如果没见过某个单词,很难像中文一样大致能猜出词汇所指的意思。请大家不查词典猜猜limousine、roadster、saloon分别是什么意思,再看看对应的中文意思,就能理解为什么会有这么多英文单词了。

知识图谱(Knowledge Graph)是理解这些词汇间关系一种好办法。词汇(或称为实体Entity)间的关系通过挖掘大量文本、Wiki等来构建。英文词汇间的关系不像中文这样能让人能观察到,因此构建知识图谱对英文来说非常有价值。

词向量那个是通过在语料上的无监督学习,将单词映射为向量,词间关系和联系通过向量运算获得。

九、中英文省略和内容补足的处理

语境是一个微妙的概念,人类在进行文字阅读时,不只是看到文字内容本身,而是不自觉的会将语境相关的词汇自动补充进入字里行间,辅助语义理解。反之,人类在文字写作时,会将一些重复内容省略掉,主语或宾语是最常被省略的对象。例如摘录自合同文书的一段文字“本协议中约定了大桥建设工程的具体内容,其中乙方负责承接,丙方负责监督,以确保顺利交付”。

如果让计算机来解读,需要把指代语补齐(用[-]表示)为:“本协议中约定了大桥建设工程的具体内容,乙方负责承接[该工程],丙方负责监督[乙方的工作],确保[该工程]顺利交付”。 书面文本还相对规范,如果是日常对话的口语文本,那么省略更加是无处不在,以一个电商客服问答为例:“这双卖多少?”,“58”。“少点?”,“最低了”。“行吗?”,“做不了哎”。如果补齐省略语,应该为:“这双[鞋子的价钱]卖多少?”“[价钱]少点[行吗]?”“[价钱少点]行吗?”

英文的省略习惯也存在(全世界人民都爱偷懒),例如省略主语it:“Looks as if it will snow”,省略谓语comes:“Who next?”,省略宾语thedishes:“Let ' s do the dishes. I ' ll wash and you ' ll dry.”,省略连词that“It ' s a pity[that] she ' s leaving”。当然英文中还有一类约定俗成的独特简称(很多来自拉丁语)e.g., etc., al., i.e., viz.等。

区别在于英文书面文本中省略出现的较少,同时语义连接词的省略有固定规范,例如“because…so…”要求只省其中一个。英文行文时单词使用量比中文多,同样的内容英文篇幅通常是中文的200%左右,也即中文1页纸写完的内容,如果用英文写要2页甚至更多。如果对比惜字如金的文言文,就更浓缩了。如“民为贵,社稷次之,君为轻”,10个字如果改用英文写,没有几十个单词怕是说不清楚。那么放到省略环境下看时,汉语就比较吃亏了,因为本来就浓缩,再加上语法约束不严导致时不时省略,对信息的损失比较大。

十、歧义问题与子串转义处理

前文原作者曾提到过汉语中单字不多(3000个汉字可以覆盖99%的中文文本了),所以汉语里的词汇大多是由几个汉字顺序组合来形成的。这里潜伏着一个巨大的隐患是,因为字的排列组合形式很多,所以会导致局部出现的一些组合所构成的意思,和整体词的意思不同,出现歧义;或者说一个词汇中的子串和整个词的意思会出现很大的差异,因而也称为子串转义问题。

用数学形式化的方法再来表述下什么是子串转义问题:假设A、B、C分别表示三个汉字,那么子串转义就是指词汇ABC的含义,和AB或者BC的含义完全不相同。当然4个汉字或者更长的短串也类似。例如ABCD和ABC或BCD或AB、BC、CD的意思可能会完全不同,这种意思“突变”的情况称为子串转义。

例如:“周杰伦”和其中的前两个字构成的词“周杰”显然指的是完全不同的两个人,“荨麻疹”和“麻疹”是两种病,“亚健康”和“健康”的意思截然相反。这会给计算机处理带来很多困难,尤其在搜索引擎中,当用户搜“周杰”或“麻疹”或“健康”时,如果结果出“周杰伦上海粉丝见面会”、或“荨麻疹治疗方法”、“导致白领亚健康的主要原因”都是不太好的结果。我们在搜索引擎中遇到的大量结果不相关的问题,很多都是由于汉语中局部转义现象导致的。

很多朋友可能会觉得这些都可以视为命名实体识别(NER)问题,将这些专名直接切为一个整体,就能解决上述局部转义的问题了。其实没这么简单,因为其实大量的中文词汇里,局部词组合成的意思和整体词汇是存在关联的,如果不切开会带来召回不足的问题。例如“消防队”和“消防”,“上班族”和“上班”,“315晚会”和“315”等,甚至前面例子里“周杰伦”和“杰伦”也有紧密的语义关联。当用户搜索词是“消防”、“杰伦”、“315”等query时,相应的整体词“周杰伦”、“315晚会”等所在的文章也理应被搜出来。因为明明文章里有这个词且意思相关,如果没被找出来是不能被用户接受的。通过这些例子可见正确处理汉语的字词组合的确是一件很棘手的课题。

英文中也存在歧义问题,最常见的情况是英文多义词导致的。例如“He went to the bank”既可以理解为“他去了银行”,也可以理解为“他去了河岸边”,“The doctor saw the Indian dance”,单词Indian既可以视为形容词“印第安人的舞蹈”,也可以是名词“印第安人+跳舞”,还有英文中不定式导致的歧义,如“Not many books filled the shelves”,可以理解为“书架上没有几本书”或者“要放满那些书架不用很多书”。

其实所有的人类语言都存在着各式各样的歧义的问题,我们看到各个民族所流传的笑话里很多都是拿这些歧义语义来打趣的。不同语言处理歧义的具体方法不同,但整体思路都是将歧义句放到句子上下文里来解读,引入更多语境信息来正确获得意思。

《中英文在自然语言处理上的十大差异点》学习总结相关推荐

  1. 《HBase权威指南》一导读

    前 言 HBase权威指南 你阅读本书的理由可能有很多.可能是因为听说了Hadoop,并了解到它能够在合理的时间范围内处理PB级的数据,在研读Hadoop的过程中发现了一个处理随机读写的系统,它叫做H ...

  2. 《JS权威指南学习总结--开始简介》

    本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...

  3. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...

  4. Hadoop权威指南学习笔记三

    HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...

  5. HBase权威指南 高清中文版 PDF(来自linuxidc)

    内容提要 <HBase权威指南>由乔治(Lars George)著,探讨了 如何通过使用与HBase高度集成的Hadoop将 HBase的可 伸缩性变得简单:把大型数据集分布到相对廉价的商 ...

  6. Hadoop权威指南学习笔记一

    Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/ ...

  7. 802.11基本概念介绍【802.11 无线网络权威指南学习总结1】

    802.11基本概念介绍[802.11 无线网络权威指南学习总结1] 1.802.11网络技术介绍 IEEE 802 规格的重心放在 OSI 模型最底下的两层,因为它们同时涵盖了实体(physical ...

  8. mysql权威指南 代码_mysql权威指南学习札记

    mysql权威指南学习笔记 1,mysql的标示符最多就64个字符 2,drop table table1,table2,table3;删除多个table的时候用,号分隔开,为了避免不必要的错误,我们 ...

  9. symfony权威指南学习之一:symfony 介绍

    symfony权威指南学习之一:symfony 介绍 一.symfony 简介        symfony 是一个完整的 web 应用开发框架,它为加速开发提供了几个关键功能. 首先,它把 web ...

  10. Http权威指南学习研究

    学习时间:                                   该学习:第六章  6.6小节   加油   185页 2017年5月15日15:13:00 今天任务: 看完前两章节: ...

最新文章

  1. 【WPF】对话框/消息弹窗
  2. python推荐系统-RecQ-Python推荐系统框架
  3. java 动态代理深度学习(Proxy,InvocationHandler)
  4. Lua 元表(Metatable)
  5. excel实战应用案例100讲(六)-社会判断理论:模型及应用
  6. 逻辑回归与线性回归的区别
  7. mysql增删查改总结_MySQL2 数据增删改查 SQL总结
  8. 《OKR工作法》读书笔记(转)
  9. OSPF协议配置命令解析
  10. c语言城市交通灯优化,城市智能交通灯系毕业设计论文.doc
  11. python求两个向量的夹角
  12. 我国iPS细胞事业支援促进委员会成立
  13. 0x和\u区别,unicode编码
  14. MathType数学公式编辑器,编辑数学资料工具
  15. 华为荣耀play3分辨率_华为全新国行原封报价
  16. 鲜为人知的火箭尾喷管黑科技 不是你想象的那样简单
  17. 雷军:我也想做高级工程师 !
  18. IT开发团队分工及内容
  19. js将base64图片处理成背景透明png
  20. 多思计组实验实验四、数据通路实验

热门文章

  1. 禁用Google英文翻译功能
  2. GNU开发工具——GNU Binutils快速入门
  3. 阿里MaxComputer基本操作
  4. mysql之mysql.sock文件
  5. 【数字钟】数字电路设计 24 小时数字钟(带加速、暂停、滴答声、清零功能)
  6. 【matlab】Simulink 微分模块的线性化问题
  7. 开源)嗨,Java,你可以生成金山词霸的二维码分享海报吗?
  8. 计算机过热保护,CPU过热 保护电脑关机的解决办法有哪些
  9. [通讯方式] 串口通信
  10. ubuntu 安裝deb_ubuntu安装deb