计算语言学(一)
“人类知识通过语言表达。因此,计算语言学非常重要。”–Mark Steedman,ACL 主席演讲(2007 年)
。
。计算语言学是一门科学和工程学科,致力于从计算的角度理解书面和口头语言,并构建能够批量或在对话环境中有效处理和生成语言的人工制品。如果语言是心灵的镜子,那么对语言的计算理解也能提供对思维和智力的洞察。由于语言是我们最自然、用途最广泛的交流方式,拥有语言能力的计算机将极大地促进我们与各种机器和软件的交互,并以真正满足我们需求的方式让我们触手可及互联网上大量的文本和其他资源。
本文概述了计算语言学的目标和方法(从历史角度),然后详细探讨了语言结构和分析(第 2 节)、解释(第 3-5 节)和语言使用(第 6-7 节)的基本概念,以及语言知识的获取(第 8 节)、自然语言处理中的统计和机器学习技术(第 9 节)和其他应用(第 10 节)。
1. 简介:计算语言学的目标和方法
1.1 计算语言学的目标
1.2 计算语言学的方法
2. 语法和解析
2.1 结构层次
。2.2 句法
。2.3 解析
。2.4 处理句法歧义
。3. 语义表示
。3.1 逻辑主义的意义表示方法
。将语言与逻辑联系起来
。主题角色和(新)戴维森式的表示
。表达力问题
。规范化、主题角色(再次)和基元
。3.2 心理动机的意义表示方法
。表征主义方法
。联结主义方法
。3.3 统计语义
。3.4 实践中使用哪些语义?
。4. 语义解释
。4.1 将句法树映射到逻辑形式
。4.2 语法的从属作用
。4.3 处理语义歧义和欠规范
。5. 理解文本
。 5.1 处理参考文献和各种形式的“缺失材料”
。5.2 建立联系
。5.3 处理比喻性语言
。5.4 综合方法
。前景
。6. 语言生成
。7. 理解对话并参与对话
。8. 获取语言知识
。8.1 手动知识编码
。8.2 从文本中提取知识
。8.3 众包
。9. 统计自然语言处理
。10. 应用
。10.1 机器翻译(再次)
。10.2 文档检索和聚类应用
。10.3 知识提取和摘要
。10.4 情感分析
。10.5 聊天机器人和友好的对话代理
。10.6 虚拟世界、游戏和互动小说
。 10.7 自然语言用户界面
。基于文本的问答
。数据库前端
。推理(基于知识)问答
。基于语音的网络服务和助手
。10.8 协作问题解决者和智能导师
。10.9 语言机器人
。参考书目
。学术工具
。其他互联网资源
。相关文章
。1. 简介:计算语言学的目标和方法
。1.1 计算语言学的目标
。计算语言学的理论目标包括:制定语法和语义框架,以便通过计算实现句法和语义分析;发现利用语言结构和分布(统计)特性的处理技术和学习原理;以及开发在认知和神经科学上可行的计算模型,以解释语言处理和学习如何在大脑中进行。
该领域的实际目标广泛而多样。其中最突出的是:对某些所需主题进行有效的文本检索;有效的机器翻译(MT);问答(QA),从简单的事实问题到需要推理和描述性或议论性答案的问题(可能带有理由);文本摘要;分析文本或口语中的主题、情感或其他心理属性;用于完成特定任务(购买、技术故障排除、行程计划、日程维护、医疗咨询等)的对话代理;最终,创建具有类似人类对话能力、语言习得能力和从文本中获取知识能力的计算系统。
1.2 计算语言学方法
。计算语言学的理论和实践研究方法通常借鉴理论语言学、哲学逻辑、认知科学(尤其是心理语言学),当然还有计算机科学的理论和发现。然而,从 20 世纪 50 年代中期到 1970 年左右的早期研究往往理论中立,主要关注的是开发用于机器翻译和简单问答等应用的实用技术。在机器翻译领域,核心问题是词汇结构和内容、特定领域“子语言”的表征(例如天气预报)以及从一种语言到另一种语言的转换(例如,使用相当临时的图形转换语法或迁移语法)。在问答领域,关注点在于表征特定领域中遇到的问题模式,以及这些问题模式与答案可能存储形式(例如关系数据库)之间的关系。
。到了20世纪60年代中期,许多研究人员受到通用计算机日益强大的性能和可用性的鼓舞,并受到人类水平人工智能梦想的启发,开始设计旨在实现真正语言理解和对话的系统。他们所采用的技术和理论基础差异很大。约瑟夫·魏森鲍姆(Joseph Weizenbaum)的ELIZA程序就是一个极少依赖语言学或认知理论的程序的例子,该程序旨在模仿(或许是讽刺)罗杰斯派精神病学家。ELIZA依赖于将用户输入与存储的模式(简短的单词序列,穿插在编号的槽中,由输入填充)进行匹配,并返回与匹配的输入模式相关联的一组输出模板中的一个,这些模板由输入中的材料实例化。虽然人们常说 ELIZA 及其现代聊天机器人后代仅仅依赖于诡计,但可以说人类的言语行为在某种程度上与 ELIZA 一样具有反射性,也就是说,我们在某些情况下以“预先编程”或公式化的方式运作,例如,在交换问候时,或在喧闹的聚会上回应评论,除了偶尔的单词外,我们记不清这些评论的内容。
。
。早年,研究人员从大脑联想过程的思想中得到启发,提出了一种非常不同的语言处理视角。例如,M. Ross Quillian(1968)提出了一种词义消歧模型,该模型基于概念网络中的“扩散激活”(通常对应于名词含义),这些概念通过关系链接(通常对应于动词或介词含义)相互连接。鲁梅哈特 (Rumelhart)、林赛 (Lindsay) 和诺曼 (Norman) (1972) 等研究人员对这种“语义记忆”模型的变体进行了研究,这些变体至今仍是语言和认知计算模型中活跃的研究范式。另一项受心理学启发的研究始于 20 世纪 60 年代,由罗杰·尚克 (Roger Schank) 及其同事进行了二十多年,但他的目标是完整故事理解和推理问答。该研究的核心原则是,句子意义和世界知识的表示围绕几个(例如 11 个)动作原语展开,推理主要由与这些原语相关的规则驱动;(约里克·威尔克斯 (Yorick Wilks) 是类似观点的杰出代表)。也许 Schank 工作中最重要的方面是认识到语言理解和推理在很大程度上依赖于大量的背景知识,包括大量“脚本”知识(熟悉的复杂事件的典型方式,例如在餐厅用餐,展开)和计划(人们试图实现目标的典型方式)(Schank & Abelson 1977)。
20世纪60年代还出现了一些更纯粹受人工智能启发的方法,例如Sad Sam(Lindsay,1963)、Sir(Raphael,1968)和Student(Bobrow,1968)等系统。这些系统采用了诸如模式匹配/转换等手段,用于分析和解释有限的英语子集,以关系层次结构和属性值列表形式呈现的知识,以及基于图搜索、形式化推理协议和数值代数的问答方法。稍晚出现的一个颇具影响力的观点是,人工智能系统中的知识应该以程序化而非声明式的方式构建——了解某事物就是能够执行某些功能(Hewitt,1969)。两个令人印象深刻的系统体现了这种方法论,它们分别是 shrdlu (Winograd 1972) 和 Lunar (Woods et al. 1972)。这两个系统包含复杂的程序化语法和语法到语义的映射规则,并且能够在其“微领域”(分别是桌面上的模拟块和月球岩石数据库)中相当稳健地运行。此外,shrdlu 还具有强大的规划能力,这得益于微规划器目标链语言(Prolog 的前身)。所有这些方法仍然存在的困难在于扩展语言覆盖范围以及解析和解释的可靠性,最重要的是,从微领域(即几段文本的覆盖范围)扩展到更多样化、更广泛的领域。扩展的困难很大程度上归因于“知识获取瓶颈”——难以编码或获取更普遍理解所需的大量事实和规则。经典合集包含几篇关于上两段提到的早期工作的文章,包括 Marvin Minsky 的《语义信息处理》(1968 年)以及 Schank 和 Colby 的《思维和语言的计算机模型》(1973 年)。
自 20 世纪 70 年代以来,研究逐渐从纯粹的程序性方法转向旨在将大量语言和世界知识以更易于理解、模块化、可重用的形式进行编码,并建立更坚实的理论基础。这一趋势得益于综合句法语义框架的出现,例如广义短语结构语法 (GPSG)、中心词驱动短语结构语法 (HPSG)、词汇功能语法 (LFG)、树状邻接语法 (TAG) 和组合范畴语法 (CCG),在每种情况下,人们都密切关注语法分析的计算可处理性以及从语法到语义的映射。后一个领域最重要的发展包括 Richard Montague 对语言逻辑(尤其是内涵)语义学的深刻见解,以及 Hans Kamp 和 Irene Heim 对话语表征理论 (DRT) 的发展,该理论对语言中的首语重复提供了系统的、语义上的形式化描述。
。
。20 世纪 80 年代末,自然语言处理的几乎所有方面都发生了重大转变,到 1995 年底基本完成:这是向基于语料库的统计方法的转变(例如,1993 年季刊《计算语言学》出现了两期关于该主题的特刊)。这一新范式的形成得益于机器可读文本和语音数据日益普及和数量的激增,而推动这一新范式发展的因素包括:人们日益认识到语言分布特性的重要性,开发了强大的新型统计学习技术,并且希望这些技术能够克服自计算语言学(以及更广泛的人工智能)诞生以来一直困扰着它的可扩展性问题。
。
。基于语料库的方法确实在生成全面、中等准确的语音识别器、词性 (POS) 标注器、用于学习概率短语结构语法的解析器,甚至机器翻译和基于文本的问答系统和摘要系统方面取得了相当大的成功。然而,语义处理一直局限于相当浅显的方面,例如从文本中提取与特定类型事件相关的特定数据(例如,恐怖爆炸事件的地点、日期、肇事者、受害者等),或从文本语料库中提取论元类型聚类、关系元组或释义集。目前,基于语料库的统计方法仍然占主导地位,但似乎有越来越多的研究倾向于将语言的形式逻辑方法与基于语料库的统计方法相结合,以便在语言理解和对话系统中实现更深入的理解和更智能的行为。也有研究致力于将联结主义和神经网络方法与符号和逻辑方法相结合。以下章节将详细阐述上述许多主题。计算语言学的一般参考文献包括 Allen 1995、Jurafsky 和 Martin 2009 以及 Clark 等人 2010。
。
。2. 语法和解析
。2.1 结构层次
。语言的结构分为多个层次,首先是口语,其声学信号中的模式可以映射到音素(构成语言的可区分的连续声音)。对于特定语言而言,等效的音素组(即使互换,也不会影响听者识别的单词)构成了该语言的音素。反过来,音素又是词素(最小有意义的词段)的组成部分,而词素又构成了单词的组成部分。(在书面语中,人们用字素、音节和单词来代替文字。)单词被组合成短语,例如名词短语、动词短语、形容词短语和介词短语,它们是句子的结构组成部分,表达完整的思想。在更高的层次上,我们有各种类型的话语结构,尽管这些结构通常比低层次结构更为松散。
尽管篇幅所限,本文无法对词汇层面以下所使用的方法进行深入讨论,但所有这些结构层面的语言分析技术都已发展成熟。然而,值得注意的是,20 世纪 80 年代和 90 年代开发的语音识别技术对 NLP 研究转向上述基于语料库的新型统计方法产生了巨大影响。其中一个关键思想是隐马尔可夫模型 (HMM),它对“噪声”序列(例如,音素序列、音素序列或单词序列)进行建模,使其看起来像是由“隐藏的”底层状态及其转换概率生成的。连续的隐藏状态可以单独或成组地建模,以便从观察到的噪声序列中提取更抽象、更高级别的成分,例如从音素中提取音素,从音素中提取单词,或从单词中提取词性。生成概率和状态转换概率是此类模型的参数,重要的是,这些参数可以从训练数据中学习。随后,可以使用快速动态规划算法(例如维特比算法)将这些模型有效地应用于新数据的分析。这些相当成功的技术随后被推广到更高级别的结构,并很快影响了 NLP 的各个方面。
2.2 句法
在考虑如何表示、分析和使用语法结构之前,我们首先应该问一问,我们有什么依据认为某种语法“正确”,或某个句子“合乎语法”。当然,这些主要是语言学本身的问题,但我们给出的答案肯定会对计算语言学产生影响。
传统上,形式语法旨在尽可能简洁地捕捉语言学家对格式良好性的直觉,同时也允许对特定语言进行概括(例如,英语问句中的主语-助动词倒装),并跨语言进行概括(例如,陈述性、语用中性的主句中名词性主语、动词和名词性宾语的一致顺序)。关于语言学家对格式是否规范的具体判断,值得注意的是,这些判断不仅彼此之间基本一致,而且与非语言学家的判断也基本一致——至少对于“明显合乎语法”和“明显不合语法”的句子而言是如此(Pinker,2007)。此外,传统短语结构支持优雅的意义组合理论这一发现,也为传统的理论方法论增添了可信度。
。
。然而,传统的形式语法通常并未全面涵盖任何一种语言,并且在格式是否规范和格式是否规范之间划出了明确的界限,而事实上,人们(包括语言学家)对许多句子的语法性判断是不确定或模棱两可的。此外,当我们试图处理“自然”的句子时,我们希望能够适应语言、方言以及错误和不连贯的语言中的地域性、类型性和语域性差异(例如,拼写错误、不带标点的连写句、言语中的犹豫和修补、非母语人士产生的错误成分顺序,以及母语人士的僵化错误,例如“for you and I”——这可能是学校老师抨击“you and me”在主语位置上的产物)。因此,语言学家理想化的语法在大多数实际应用中需要具有差异容忍度。满足这一需求的典型方式是,承认比语言简约所能接受的更多的短语结构规则批准——比如说,10,000 条或更多规则,而不是几百条。这些规则并非由语言学家(计算语言学家或其他语言学家)直接提供,而是可以从经过训练的注释者(例如语言学研究生)用其基本短语树结构修饰的书面语或口语语料库中“读出”。无监督语法习得(通常从带词性标注的训练语料库开始)是另一种途径(参见第 9 节),但结果往往不太令人满意。结合统计训练和解析技术,这种对语法的放宽导致了对语法缺陷句子构成一个截然不同的概念:它不一定是被语法拒绝的句子,而是需要一些很少使用的规则来分析的句子。
。
。如 1.2 节所述,计算语言学中使用的语法表示形式多种多样,从程序性的语法到形式语言学中开发的语法,以及由面向计算的语言学家开发的系统化、易于解析的变体。例如,Winograd 的 shrdlu 程序包含用他的编程语言编写的代码,表达如下:
。
。要解析一个句子,尝试解析一个名词短语 (NP);如果失败,则返回 NIL,否则接下来尝试解析一个动词短语 (VP),如果失败或解析成功但剩余单词,则返回 NIL,否则返回成功。
。
。类似地,Woods 的 lunar 语法基于某种程序化解释的转换图(增强转换网络,简称 ATN),其中句子子图可能包含标记为 NP 的边(使用 NP 子图分析 NP),后跟标记为 VP 的边(类比解释)。在这两种情况下,局部特征值(例如,名词短语和副词的数量和人称)都会被记录下来,并检查其一致性作为成功的条件。一种密切相关的形式主义是确定子句语法(例如,Pereira & Warren 1982),它使用 Prolog 来断言“事实”,例如,如果输入词序列包含一个从索引 I1 到索引 I2 的名词短语和一个从索引 I2 到索引 I3 的副词短语,则输入包含一个从索引 I1 到索引 I3 的句子。(同样,特征一致性约束也可以合并到这样的断言中。)鉴于证明句子存在的目标,Prolog 的目标链机制会对这些断言提供程序化的解释。
目前,最常用的语法结构陈述式表示是诺姆·乔姆斯基(1956, 1957)定义的上下文无关语法(CFG),因为它们简单易懂且易于解析。乔姆斯基曾认为,只有深层语言表示才是上下文无关的,而表层形式则由转换(例如英语被动语态和疑问句构成)生成,从而产生非上下文无关的语言。然而,后来的研究证明,一方面,不受限制的乔姆斯基转换语法允许计算上难以处理甚至无法判定的语言;另一方面,乔姆斯基认为需要进行转换分析的现象,可以通过在句法范畴的规范中使用适当的特征,在上下文无关的框架内进行处理。值得注意的是,无界移动,例如“杰克劝你买哪辆车?”这句话中最后一个动词宾语明显移动到句首,已被证明可以通过两个嵌入的 VP 各自带有的 /NP)wh) 类型的间隙(或斜线)特征进行分析,从而为将句首宾语的类别与空出的宾语位置的类别进行匹配提供了途径。因此,在非转换性语法框架内,人们谈论的是无界(或长距离)依赖关系,而不是无界移动。同时应该注意到,至少有些自然语言已被证明具有轻度的上下文敏感性(例如,荷兰语和瑞士德语表现出跨序列依赖关系,其中一系列名词“NP1 NP2 NP3 ...”需要以相同的顺序与后续一系列动词“V1 V2 V3 ...”进行匹配)。似乎能够实现适度轻度上下文敏感性的语法框架包括中心语法、树状邻接语法 (TAG)、组合范畴语法 (CCG) 和线性索引语法 (LIG)。中心语法允许在短语的中心(例如,动词短语 (VP) 的首动词、名词短语 (NP) 的末名词或句子的动词短语)和已有的补语之间插入补语;它们是中心驱动短语结构语法 (HPSG) 的历史前身,HPSG 是一种统一语法(见下文),在计算语言学中备受关注。然而,不受限制的 HPSG 可以生成递归可枚举(通常仅为半可判定)的语言。