一、自然语言处理的对象:文字(信息来源:图象、语音和文字)。
二、先修课程:
- 数学分析
- 概率论与数理统计
- 线向代数
- 解析几何
- 数据结构与算法基础
- 编程语言:C/C++、python
- 机器学习基础
三、自然语言概念
- 自然语言就是人类的语言,如英语、汉语等。
- 与计算机编程语言不同,自然语言沟通方式是:听说读写
- 自然语言的形式是:书面形式和口语形式。今天说的自然语言处理针对的是书面语言的处理。
四、几个术语与概念:
- 自然语言处理(NLP,Natural Language Processing):通过算法、统计或常识专门处理语言的各种方法的学科。
- 自然语言理解 (NLU,Natural Language Understanding):对某种自然语言的文本的真正理解。
- 计算语言学(Computational Linguistic):从语言学的角度来分析、处理自然语言,试图以机器或计算机模拟人的语言能力。目前来看,计算机语言学和自然语言处理方向一致,两者可以看作同一事物的不同名称。
五、与其他学科的关系图如下:
六、自然语言处理的技术挑战
1. 知识角度(知识人工智能的核心议题)来看,自然语言处理要处理和两类知识:
-
- 常识知识:自然语言中的实体知识。
- 语言知识:自然语言处理的各类词性、句法、形式语义。
现代自然语言处理就是一个用语言处理这两类知识的研究和工程分支学科。
2.相比比计算机编程语言的精确、唯一和无歧义的定义来看,自然语言的形式和语义之间的映射类型有:
-
- 一对一、多对一、一对多或多对多的映射
- 一对多映射需要输入之外的大量另一的知识才能在目标的形式表示中做出正确选择。
3. 困难举例:
-
- 修饰语附着问题(Modifier attachment problem),对于下面句子,到底making you crazy是修饰job还是problems
Show me all problems in your job making you crazy。
-
- 量词范围界定问题(Quantifier scoping problem)比如,应英语中each表示通用所有(Ɐ)或者(Ǝ)所指的范围有多种不同理解。
- 缩略语或省略句(Elliptical utterances)一个问句的解释可能取决于先前的问句及其解释。下面甲问的“在哪?”
例如:甲:明年是不是举报奥运会?乙:是的。甲:在哪?乙:日本东京
七、机器翻译的研究历史
1. 1949年Warren Weaver提出计算机可能对解决世界范围的翻译问题有用。70年后,今天翻译质量仍不尽人意,只是粗略的大义,远远不适用于正式场合的文档产出。这使得人们认识到问题所在,人类语言翻译是一种复杂的认知和处理能力,涉及到不同类型的知识:
-
- 句子结构
- 词义
- 听众模型(用户模型)
- 对话规则(对话翻译)
- 关于世界的广泛共享信息
2. 1964年由John R. Pierce发表的ALPAC(Automatic Language Processing Advisory Committee)报告指出,否定短期内对机器翻译产生有意义影响的可能性。从此,机器翻译进入了由30年的低谷期。
3.80年代末90年代初,IMB模型的提出开启统计机器翻译的统计机器翻译(SMT)的时代,机器翻译低谷期开始复苏。
4.二十世纪初,最小错误率训练(MERT)结合翻译质量自动得分评估(BLEU)带动了统计机器翻译进入全胜时期,特别是2014年谷歌DeepMind提出的NMT(Neural Machine Transaction)神经机器翻译使得机器翻译进入了新的时代。
八、语言处理层次
(一)自然语言处理的研究目标:
-
- 开发实用、有效的语言处理和分析系统
- 更好低理解语言和智能的本质
(二)James Allen提出语言分析的层次
1. 形态分析(词汇分析)Morphological Analysis ,就是指从完整的书写的词形式中识别出词干,词形式有时也包括词干的句法类别识别,即词性分析。例如,英语中单词cowardly =coward (词干)+ ly (后缀),ly将名词变为形容词。
汉语或者大多数东亚语言中的形态或词汇分析与英语有所不同,汉语是词汇间无间隔的句子书写方式,所以这就要求,从句子(也就是字的序列)中切分出词,这个处理称做中文分词。
大多数自然语言分析系统通常首先需要将文本分割为有语言学意义的符号单元。广义上来说,这个过程包括分词(切分)、词原型提取、词性标注以及命名实体/短语识别等一大类词法处理任务。
2. 句法分析(深层、浅层句法分析)(Syntax)
句法和语义是关联的两个语言层次的概念。句法有时候也不够严格地被称为语法或文法(grammer)。 严格来说,语法 = 句法 + 语义。
句法指定义了句子内部各成分之间的形式化的相对位置关系。通常来说,句法 = 词典 + 规则。句法分析的目标是给各句子成份分配句法类别标签,并确定各成份之间的句法关系。
3. 语义分析 Semantic
语义分析的目的是为意义完整的话语(utterances)赋予意义,包括词义及词义组合,这是一种与上下文无关的意义。
上下文相关的语义分析包括:
-
- 句子层面的语义角色标注任务:给出句子内部的谓词-论元结构。
- 词义消歧
- 指代消解
4. 语用分析 Pragmatics
指文本符号或会话与会话生产者/用户之间的关系。他对不同的情境上下文背景中,对话语的解释重大影响。这部分工作困难重重,目前还没有在此方面取得突破性进展。
5. 篇章分析(文本分析)Discourse 针对文本整体论述结构的分析,同时,还负责分析文本句子之间的关系。
6. 世界知识分析:世界知识是指不受限制的常识知识,这个任务是负责推断出每个语言用户必须具备的一般世界知识。例如,用户在对话中的目的和价值观。
从词汇、句法直到世界知识,下一层就是上一层的基础,当下一层表述不合理时,上一层也无法实现正确表达。
(三)层次分析举例:
1. Grey elephants have long noses. [ syntax √ sematics √ ]
2. White cloud have long noses. [ syntax √ Sematics × ]
3. Long have white cloud noses. [ Syntax × Sematics × ]
九、自然语言处理系统的两个应用
从历史上出现的两个人机对话系统来看,我们看看自然语言处理是如何用语言知识来应对一般知识的实际应用场景的。
一个是ELIZA【Webizenbaum, 1966】,它 是1966年在麻省理工学院完成的最著名的模式匹配自然语言处理系统。该系统在对话中扮演心理医生的角色,使用模式匹配的方法进行输入并把它转换成适当的输出。通过下面地址访问:https://www.masswerk.at/elizabot/
第二个,20世纪70年代,专家系统确立知识是AI核心问题的共识。也是使人们重拾AI信心的标志。LUNAR【William Woods,1973】是通过使用ATN句法分析器和规则驱动的语义解释过程来将英语输入的问题翻译成正式的查询语言的表达式来进行操作,以帮助地质学家访问、比较和评估月球岩石上的化学数据和土壤成份。
十、研究主题及主要学术组织和会议
1. 对比ACL 2020和2010的征稿启事的主题列表,十年中这个主题变化并不是很大, 这与深度学习深度渗透NLP 的情景似乎不符,但也清理之中,这是因为征稿主题是任务列表而非方法,但机器学习,包括深度学习恰恰是方法。
2. 自然语言处理的主要的国际学术组织ACL及其学术会议
-
- ACL 的全称如下:
- Annual Meeting of the Association for Computational Linguistics
- the Association for Computational Linguistics
- ACL的在线文献库:https://www.aclweb.org/anthology/
- ACL 的全称如下:
3. 国内的自然语言处理会议
1). 中国计算语言学大会 —— The China National Conference on Computational Linguistics (CCL)
-
- 首届主办于1991年
- 中国中文信息学会(Chinese information processing society, CIPS)
- 计算语言学专委会(Technical committee of computational linguistics)
- 网址:http://www.cips-cl.org/static/CCL2019/index.html
2).自然语言处理与中文计算国际会议 —— The CCF International Conference on Natural Language Processing and Chinese Computing (NLPCC)
-
- 首届主办于2012年
- 中国计算机学会(China Computer Federation, CCF)
- 自然语言处理与中文计算专委会(Technical Committee of NLP and Chinese Computation)
- 网址:http://tcci.ccf.org.cn/conference/2019/