计算机自然语言处理


计算机自然语言处理 目录 前言 ..................................................... 第1章 计算机自然语言处理技术概论 .......................... 1 第2章 数学基础 ............................................ 9 2.1 初等概率理论 ............................................ 9 2.1.1 基本概念............................................. 9 2.1.2 条件概率与独立...................................... 12 2.1.3 全概率公式与贝叶斯公式.............................. 13 2.1.4 随机变量............................................ 16 2.1.5 多维随机变量........................................ 18 2.1.6 数学期望与方差...................................... 21 2.1.7 常用分布............................................ 23 2.2 信息论基础 ............................................. 25 2.2.1 信息熵.............................................. 26 2.2.2 联合熵和条件熵...................................... 28 2.2.3 互信息.............................................. 29 2.2.4 相关熵(Kullback-Leibler divergence)............... 31 2.2.5 语言与熵............................................ 31 2.2.6 噪声信道模型........................................ 33 2.3 粗糙集 ................................................. 36 2.3.1 信息系统............................................ 36 2.3.2 不可分辨关系........................................ 37 2.3.3 集合近似............................................ 38 2.3.4 约简................................................ 39 2.3.5 属性依从............................................ 42 2.3.6 决策规则合成........................................ 42 2.4 本章小结 ............................................... 43 第3章 分词和统计分布规律 .................................... 45 3.1 引言 ................................................... 45 3.2 分词规范 ............................................... 47 3.3 常用的分词的方法 ....................................... 50 3.3.1 正向最大匹配分词.................................... 50 3.3.2 反向最大匹配分词.................................... 51 3.3.3 基于统计的词网格分词................................ 52 3.4 歧义的分类和识别 ....................................... 53 3.4.1 歧义的分类.......................................... 53 3.4.2 歧义的抽取和消歧.................................... 55 3.5 新词的识别 ............................................. 58 计算机自然语言处理 3.5.1 统计构词能力........................................ 59 3.5.2 汉字构词模式........................................ 59 3.5.3 未登录词识别算法.................................... 60 3.6 关于分词的统计规律 ..................................... 61 3.7 语言单位的统计分布规律Zipf ’s Law ....................... 62 3.8 本章小结 ............................................... 66 第4章 基于数学统计的语言模型 ................................. 68 4.1 统计语言模型概述 ....................................... 68 4.2 现有的主要统计语言模型 ................................. 69 4.2.1 上下文无关模型...................................... 70 4.2.2 N 元文法模型 ....................................... 70 4.2.3 posN − 模型 ........................................ 72 4.2.4 基于决策树的语言模型................................ 74 4.2.5 动态、自适应、基于缓存的语言模型.................... 75 4.3 数据平滑技术 ........................................... 76 4.3.1 数据平滑算法的评价标准.............................. 77 4.3.2 常见平滑方法........................................ 78 4.4 隐马尔科夫模型 ......................................... 83 4.4.1 随机过程............................................ 83 4.4.2 马尔科夫链和马尔科夫性.............................. 84 4.4.3 马尔科夫模型........................................ 85 4.4.4 隐马尔科夫模型...................................... 85 4.4.5 结束语.............................................. 91 4.5 最大熵模型............................................. 92 4.5.1 模型介绍............................................. 92 4.5.2 模型评价............................................ 94 4.5.3 最大熵语言建模...................................... 94 4.5.4 小结................................................ 96 4.6 本章小结............................................... 96 第五章 基于语言理解的处理方法 .............................. 101 5.1 引言 .................................................. 101 5.2 常用的基于语言理解的分类标注体系 ...................... 102 5.2.1 词性分类体系....................................... 102 5.2.2 词义分类体系....................................... 105 5.3 常用的基于语言理解的语法理论 .......................... 108 5.3.1 常用的语法理论..................................... 110 5.3.2 浅层句法分析技术................................... 121 5.4 语料库多级加工 ........................................ 124 计算机自然语言处理 5.4.1 语料库的多级加工................................... 126 5.4.2 分词............................................... 127 5.4.3 词性标注........................................... 128 5.4.4 词性标注的HMM模型.................................. 131 5.4.5 Viterbi词性标注算法................................ 132 5.4.6 句法分析........................................... 133 5.4.7 概率上下文无关文法................................. 139 5.4.8 语料库的应用....................................... 141 5.5 本章小结.............................................. 142 第6章 音字转换技术 ......................................... 145 6.1 引言 .................................................. 145 6.2 声音语句输入 .......................................... 146 6.2.1 声音语句输入的提出................................. 146 6.2.2 声音语句的推理..................................... 147 6.2.3 声音语句输入的系统实现............................. 149 6.3 汉字智能拼音键盘输入 .................................. 151 6.4 拼音输入的多种表达形式 ................................ 152 6.4.1 拼音助学和提示输入................................. 153 6.4.2 简拼快速输入....................................... 153 6.4.3 用户自定义简拼..................................... 154 6.4.4 模糊拼音输入....................................... 154 6.4.5 面向数字键盘的数字拼音输入......................... 154 6.5 拼音预处理 ............................................ 155 6.5.1 拼音流的切分....................................... 155 6.5.2 拼音纠错........................................... 158 6.6 音字转换的实现方法 .................................... 159 6.6.1 基于理解的方法..................................... 160 6.6.2 基于语用统计的方法................................. 160 6.6.3 基于模板匹配的方法................................. 161 6.6.4 基于上下文关联的音字转换........................... 162 6.7 本章小结 .............................................. 163 第7章 自动文摘技术 ...................................... 165 7.1 引言 ..................................................... 165 7.2 文本的内部表示方法 .................................... 169 7.3 基于浅层分析的文摘技术 ................................ 170 7.3.1 建立特征库......................................... 171 7.3.2 文摘句抽取......................................... 174 7.4 基于实体分析的文摘技术 ................................ 175 计算机自然语言处理 7.4.1 特征提取........................................... 175 7.4.2 文摘抽取........................................... 178 7.5 基于话语结构的文摘技术 ................................ 178 7.5.1 基于词汇衔接的文摘方法............................. 179 7.5.2 基于词汇衔接的文摘方法............................. 182 7.6 文摘系统评测方法 ...................................... 185 7.7 本章小结 .............................................. 187 第8章 信息检索技术 .......................................... 190 8.1 信息检索综述 .......................................... 190 8.1.1 信息检索的定义与术语............................... 190 8.1.2 信息检索系统....................................... 191 8.1.3 信息检索系统的评价................................. 194 8.1.4 信息检索简史....................................... 197 8.2 信息检索的统计模型 .................................... 199 8.2.1 基于统计的信息检索模型............................. 199 8.2.2 布尔模型........................................... 201 8.2.3 向量空间模型....................................... 201 8.2.4 概率模型........................................... 206 8.3 信息检索中的自然语言处理方法 .......................... 209 8.4 文本自动分类技术 ...................................... 213 8.4.1 问题的提出......................................... 213 8.4.2 分类预处理......................................... 214 8.4.3 向量空间简化方法................................... 215 8.4.4 分类方法........................................... 217 8.5 本章小结 .............................................. 225 第9章 文字识别技术 .......................................... 228 9.1 引言 .................................................. 228 9.2 联机手写体汉字识别的国内外研究概况 .................... 230 9.2.1 国外研究概况....................................... 230 9.2.2 国内研究概况....................................... 231 9.3 联机手写体汉字识别方法综述 ............................ 232 9.3.1 基于统计的识别方法................................. 232 9.3.2 基于结构的识别方法................................. 233 9.3.3 基于神经元网络的识别方法........................... 235 9.3.4 基于机器学习的识别方法............................. 235 9.4 典型联机手写体汉字识别系统 ............................ 236 9.4.1 汉王中文手写体汉字识别系统......................... 237 9.4.2 豪文中文手写体汉字识别系统......................... 238 计算机自然语言处理 9.5 联机手写体汉字识别后处理系统 .......................... 239 9.5.1 手写体汉字识别模型................................. 239 9.5.2 P(I/S)估计......................................... 241 9.5.3 P(S)估计........................................... 242 9.5.4 基于词网格的手写体汉字识别的语言学解码方法......... 243 9.5.5 联机手写体汉字识别后处理系统....................... 244 9.6 本章小结 .............................................. 246 前前前前 言言言言 计算机自然语言处理是用计算机通过可计算的方法对自然语言的各级语言 单位(字、词、语句、篇章等等)进行转换、传输、存贮、分析等加工处理的 科学。是一门与语言学、计算机科学、数学、心理学、信息论、声学相联系的 交叉性学科。国际互联网技术的飞速发展,极大地推动了信息处理技术的发展, 也为信息处理技术不断提出新的需求。语言作为信息的载体,语言处理技术已 经日益成为全球信息化和我国社会和经济发展的重要支撑性技术。 本书全面阐述了自然语言处理技术的基本原理和实用方法,全书共分为基 础、原理和应用三个篇章。第一章是概论;由第二章、第三章构成本书的基础 篇,论述了自然语言处理技术的数学基础和中文语言处理特有的自动分词技术; 第四章、第五章构成了本书的原理篇,分别论述了基于统计和基于语言学规则 的语言处理技术的基本原理;第六章、第七章、第八章、第九章构成了本书的 应用篇,论述了在音字转换、自动文摘、信息检索、手写体识别等应用领域中 的实用语言处理方法。 本书可供有志于从事自然语言处理技术研究和应用开发的计算机相关专业 的研究生,大学高年级学生和科技人员参考,也可以作为相关专业研究生的专 业课教材。 参加本书编写工作的有王晓龙、关毅(第 1 章、第 2 章、第 3 章、第 8 章)、 刘秉权(第 6 章)、林磊(第 9 章)、陈清才(第 2 章、第 7 章)、赵岩(第 3 章、 第 5 章)、赵健(第 4 章、第 8 章)、肖镜辉(第 4 章),全书由王晓龙、林磊等 进行了统编和审校。由于编著者水平有限,错误和疏漏在所难免,敬请读者批 评指正。 作者 2003 年 7 月 22 日 内容提要内容提要内容提要内容提要 计算机自然语言处理技术在我国现代化及信息化建设中起着越来越重要的 作用,我国政府已经将它列入“国家中长期科学技术发展纲领”。几十年来, 计算机中文语言处理技术经历了从汉字处理技术到汉语处理技术,由单机语言 信息处理到网络语言信息处理技术的发展。近年来,语言处理技术,特别是基 于国际互联网的中文语言处理技术正在引起我国广大科技工作者的高度重视。 本书作者长期从事中文语言处理技术的理论研究和实用系统开发工作,具有坚 实的理论基础和丰富的实践经验。本书就是作者几十年来与课题组成员在这一 领域里辛勤工作的结晶。在内容的编排上,既全面阐述了中文语言处理技术的 特殊规律,又借鉴了国外学者在计算语言学领域里的最新成就,还包括了作者 的实践经验和体会。因此,本书对于计算机相关专业的研究生、高年级大学生 和从事自然语言处理的科技人员具有参考价值,也可以作为相关专业研究生的 专业课教材。 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 1 第1章 计算机自然语言处理技术概论 语言是音义结合的词汇和语法的体系,是人类最重要的交际、思维和传递 信息的工具。它随着社会的产生而产生,随着社会的发展而发展,经过了漫长 而缓慢的发展过程,从而成为一种极其复杂的、特殊的、充满了灵活性和不确 定性的社会现象。在人类社会正逐步进入信息化社会的今天,语言文字信息的 计算机自动处理水平和处理量已成为衡量一个国家是否步入信息社会的重要标 准之一。我国政府一直将中文语言处理技术作为高技术产业化的重点领域。从 二十世纪八十年代开始至今,中文语言处理技术在字处理、词处理等领域均取 得了重要的突破,诞生了一系列实用化的成果,不仅使中文这一世界最古老的 文字之一顺利地搭上了信息时代的火车,而且在文字识别、语音识别、机器翻 译等语言处理技术的应用领域与西文相比毫不逊色,在排版印刷等应用领域达 到了世界领先的水平。 所谓计算机自然语言处理,是用计算机通过可计算的方法对自然语言的各 级语言单位(字、词、语句、篇章等等)进行转换、传输、存贮、分析等加工 处理的科学。本书主要讨论中文语言处理的基本理论和实用方法,这里的中文, 广义上是指汉语和其他少数民族的语言文字,狭义上特指汉语文字,包括以文 本、图像、声音等形式存在的汉语口语和书面语,本书采用狭义的定义。 中文 语言处理通常特指以计算机为工具采用可计算的方法自动处理中文信息,从技 术路线上看,可以分为基于统计的语言处理技术和基于语言学规则的语言处理 技术两大类,前者从大规模真实语料库中获得语言各级语言单位上的统计信息, 并依据较低级语言单位上的统计信息,运用相关的统计推理技术计算较高级语 言单位上的统计信息;后者通过对语言学知识的形式化、形式化规则的算法化 以及算法实现等步骤将语言学知识转化为计算机可以处理的形式。按照语言处 理技术的处理对象,语言处理技术可以划分为字处理技术、词处理技术、语句 处理技术、篇章处理技术等等。按照语言处理技术的应用领域,可以划分为应 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 2 用基础技术、应用技术两大类。本书主要介绍在词、语句、篇章等语言结构单 位上的引入语言学规则的统计语言处理方法的基本原理和应用。 自然语言处理技术是一门与语言学、计算机科学、数学、心理学、信息论、 声学相联系的交叉性学科,与自然科学和社会科学的许多主要学科都有着千丝 万缕的联系,其中,又与语言学、计算机科学和数学的关系最为密切。在更加 细微的层面上,与自然语言处理技术密切相关的学科有计算语言学、智能化人 机接口、自然语言理解等等。其中,计算语言学是现代语言学的一大分支,它 是用计算机理解、生成和处理自然语言,即它的研究范围不仅涵盖语言信息的 处理,还包括语言信息的理解和生成。智能化人机接口侧重于语言信息处理的 应用研究,即运用语言处理技术改善人机交互的方式、手段和途径。自然语言 理解则是人工智能的一个分支,其研究重点侧重于对经深度加工处理的语言信 息的理解,相当于语言处理技术在较高级语言单位上的应用基础研究。 从 20 世纪 50 年代初俄汉机器翻译系统算起,中文语言处理技术的发展历史 已经有 50 多年了。从八十年代初期开始,随着计算机技术的普及和发展,中文 语言处理技术在应用需求的强大牵引下,进入了一个快速发展的时期,在字处 理、词处理、句处理、篇章处理等技术层面上诞生了一系列基础研究和应用研 究的标志性成果。 在字处理技术方面,提出了信息处理用的汉字机内码。汉字内码定义了汉字 在计算机内部的存储方式,目前有中国国家标准 GB2312 -80 、港澳台地区普遍 使用的台湾《通用汉字标准交换码》,地区标准号为:CNS11643 、国家信息产 业部和质量技术监督局发布的《信息技术和信息交换用汉字编码字符集、基本 集的扩充》,国家标准号为:GB18030-2000 、中日韩三国根据 UCS 标准共同制 定的《CJK 统一汉字编码字符集》,其国际标准号为:ISO/IEC10646 ,国家标准 号为:GB13000-90 。 汉字的输入码(或称汉字外码)提供了输入汉字的途径,主要有五笔字型、 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 3 智能 ABC、拼音码等,通过建立输入码与汉字内码的一一对应,使得计算机可 以输入处理汉字。 汉字库(或称汉字字形码、汉字发生器编码)包含如汉字的宋体、黑体、楷体、 综艺等各种字体的矢量形式,通过专门的处理程序把要输出的汉字转换成对应 的汉字字形后在显示器、打印机上输出。汉字库中还包含了汉字放大、缩小、 斜体、粗体等字体的变化信息。 汉字处理的应用技术主要是汉字排版系统(如北大方正的激光照排系统)、 印刷体汉字识别和联机手写汉字识别技术,这方面目前已经出台了一些标准, 如中国电子技术标准化研究所、北京汉王科技有限公司等单位起草的《联机手 写汉字识别技术要求与测试规程》。 在词处理技术方面,词是自然语言中最小的有意义的构成单位,是自然语言 处理中最基本的研究内容,也是其他研究的先行和基础。汉语不同于印欧语, 本身没有空格作为词的分隔标志,所以制定统一的分词规范是非常必要的,目 前有国家制定的《信息处理用现代汉语分词规范》[1](中华人民共和国国家标 准 GB13715 ),其主导的判别标准就是“使用频繁,结合紧密”。当然在实际应 用时,还要考虑文化,语感等多种因素才能得到正确的结果。这方面,山西大 学刘开瑛[2]等,北京语言学院的宋柔[3]等学者进行了长期的研究,取得了很多研 究成果。 词处理的主要内容包括分词、词性标注、词义消歧三个主要的内容。分词常 用的方法包括正向最大匹配和反向最大匹配以及基于词网格的统计方法。困扰 分词的主要问题就是歧义消解和新词识别,由于语言本身的复杂性,目前这两 个问题并没有得到根本性的解决。清华大学孙茂松、黄昌宁[4][5],东北大学姚天 顺等学者均进行了相关的研究工作,取得了长足的进展。词性标注常用的方法 就是基于隐马尔科夫模型的词性标注方法。词义标注因为要考虑长距离的上下 文关系,所以隐马尔科夫模型并不适用。常用的词性标注的方法包括基于词典 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 4 知识库的方法,还有一些常用基于统计的分类方法,包括贝叶斯方法和最大熵 模型。分词和词性标注是所有自然语言应用的基础,广泛的应用于机器翻译, 信息检索等各个领域。由中科院刘群、白硕开发的 ICTCLAS[6]分词和词性标注 系统,以及由哈工大自然语言处理研究室开发的 ICSU[7]分词和词性标注系统均 取得了较高的分词和词性标注精度。 在语句处理方面,汉语语句处理技术是近年来中文信息处理研究领域的一个 热点,也是一个难点。它是建立在汉字编码、汉语词语切分、汉语词法分析等 基础之上的一项技术,同时它也是汉语篇章理解的基础。汉语的语句级处理技 术主要包括句法分析、语句的语义分析等研究内容。虽然吴蔚天[8]等在设计汉 外机器翻译系统 Sino Trans 时提出了汉语完全语法树模型,一定程度上推动了 计算机分析汉语句法结构水平的发展,但在直接发掘汉语语言知识,揭示汉语 的语言成分组合规律方面并没有太多进展。由于以语句作为研究对象,无论是 在汉语语法或者是汉语计算的数学模型上都存在相当大的难度,因此目前主要 是针对汉语短语展开研究,采用的主要是基于语法规则的、基于数学统计的和 规则与统计相结合的方法。《现代汉语语法信息词典》[9]以朱德熙[10]先生提出的 词组本位语法体系作为设置各项语法范畴的理论基础,马希文[11]的《从计算语 言学角度看语法研究》,冯志伟[12]的《计算语言学对理论语言学的挑战》和他提 出的潜在歧义结构论,白硕[13]的《语言学知识的计算机辅助发现》,罗振声[14] 等对汉语句型的自动分析和分布统计的研究, 以及北京大学计算语言学研究所 的俞士汶、詹卫东[15]在基于规则的汉语短语分析方面所做的研究工作,都代表 了基于规则的汉语语法分析的主流。在汉语语句语义理解方面,值得一提的是 国内学者黄曾阳[16]积多年研究心得,提出面向整个自然语言理解的理论框架 ——概念层次网络理论(HNC),对传统的基于句法知识的语言表述及处理模式 提出挑战,代之以语义表达为基础来对汉语进行理解。随着国外在近年来统计 语言学的兴起,国内的学者也针对汉语的统计语言模型展开了大量的研究。清 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 5 华大学的黄昌宁[17]、哈尔滨工业大学的王晓龙[18]、赵铁军[19]、微软(亚洲)研 究院的自然语言理解小组、中科院计算所的白硕、刘群[20]等学者和机构对汉语 的统计语言模型进行了深入的研究和探讨,对汉语的 n-gram 模型、HMM 模型 进行了完善,并应用到了音字转换、机器翻译、句法分析等研究领域,取得了 丰硕的成果。随着对汉语语句分析技术的研究不断深入,一些实用的系统也随 之投入到现实应用当中,其中最为引人瞩目的就是哈尔滨工业大学王晓龙等学 者联合微软公司开发的微软拼音输入法(MSPY),这种语句级的输入法较以前 的单词级的输入法在性能上有了很大的提高。此外还有黑马中文自动校对系统 [21]、科大讯飞开发的 TTS(Text to Speech )系统[22]、WORD 中的中文自动更正 功能等,都采用了汉语语句或者短语处理技术。 在篇章处理技术方面,当前对于篇章级的分析主要集中于研究一篇文章的话 语结构,即进行话语结构分析。话语结构分析主要是指跨越语句本身的多个语 句或者段落之间在结构或者语义上的相互关系的分析。话语结构分析通常包括 两种类型,一种是基于语法结构的衔接性(cohesion )分析,另一种是基于语义 之间的连贯性的分析(coherence )。前者主要是在结构与形式上的衔接,而后者 则指语义上的连贯性。前者讨论的范围比较趋向于文本呈现出来的表面结构如 何彼此串连,例如文本中间是如何运用适当的连接词或副词来串连句子,或者 是在文法层次上,句子和句子之间是如何依赖同样的主题词,以及类似的句法 结构来串连彼此;而后者则是语义层面上的更抽象的一致性,即表示文本实体 之间是否基于相同的主题进行讨论。在实际的自然语言处理中它们很难区分开, 因为判断语法层的连接需要借助于人脑中的认知模型来完成,而人脑中认知模 型的判断又是以文本中的语法结构为基础来进行,也就是说,人们在判断文本 实体间的语义连贯性的时候往往会参照实体之间的语法衔接关系,而作者在撰 写文章的时候也往往会借助形式上的衔接来反映意义上的连贯性,所以很难将 这两者区分开来。 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 6 作者在撰写文章的时候,总会赋予一篇文章一定的语法或者语义结构,通过 对这种结构的分析,可以帮助我们更加接近于理解全文的内容,从而更准确的 完成相应的自然语言处理任务。当前话语结构分析主要应用于自动文摘领域,如 哈尔滨工业大学的王开铸[23]等开发的 HIT-863 系统、王晓龙等开发的 InsunAbs [7] 系统、上海交通大学的王永成[24]等开发的“OA”系统都不同程度的进行了文章 的话语结构分析,此外在清华大学的罗振声、北京邮电大学的钟义信等的自动 文摘研究中,话语结构分析也是一个重要的研究内容。除了应用于文摘系统, 话语结构分析也可应用于信息抽取领域,如东北大学的姚天顺[25]等关于信息抽 取的研究中所进行的语段层分析。 经过二十余年的艰苦奋斗,在语言学家,计算机专家的共同努力下,中文语 言处理技术从无到有,取得了非常丰硕的成果。当前,在基础研究方面,中文 语言处理技术正在跨越汉语自动句法分析的雄关。在应用研究方面,基于国际 互联网的语言处理技术,如文本分类、信息提取、自动问答、基于内容的信息 检索等等正在成为新的研究热点。但是,在国际互联网技术飞速发展,中文网 页信息急剧膨胀,中文已经成为仅次于英语的世界第二大网页信息语种的今天, 中文语言处理的发展速度仍然滞后,特别是随着各项基础和应用研究纵深发展, 许多长期积累的困难和问题日益突出,成为中文语言处理技术继续发展的障碍, 这些困难和问题主要表现在:长期以来,汉语语言学研究基本上是面向汉语教 学的,能够直接面向计算机的形式化语言学研究成果数量较少,而且缺乏统一 的标准,中文语言处理研究力量分散,存在着低水平重复的现象,科学公正的 评测机制尚未建立起来。中文语言处理技术的发展期待着语言学家和计算机专 家们打破门户之见,协同一致,兼收并蓄,早日实现资源和成果共享,为进一 步提高我国的语言处理水平而共同奋斗。 本书作者长期从事中文语言处理的研究工作,二十多年来,在课题组全体成 员的共同努力下,在语句输入、语料库加工、自动文摘、信息检索等领域做出 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 7 了一些探索性的工作,本书就是这些工作的总结。我们希望通过这本书,使读 者在掌握中文语言处理技术的基本原理和主要方法的同时,认识到研究这门科 学的高度复杂性和艰巨性,并且希望越来越多的人加入到这一艰苦、繁琐而又 充满情趣的科学的研究队伍中。 参考文献: [1] 刘源等,信息处理用现代汉语分词规范即自动分词方法,清华大学出版社,广西科学 技术出版社,1994. [2] 刘开瑛,现代汉语自动分词系统中几个问题的讨论,计算机开发与应用,1998 [3] 宋柔,关于分词规范的探讨,《语言文字应用》,1997 年第3期 [4] 孙茂松、黄昌宁,邹嘉彦,陆方,沈达阳, 利用汉字二元语法关系解决汉语自动分词中 的交集型歧义, 《计算机研究与发展》Vol.34, No.5, pp.332-339, 1997.5 [5] 黄昌宁,中文信息处理中的分词问题,《语言文字应用》, 1997, (1), 71-78 [6] http://mtgroup.ict.ac.cn/~zhp/ICTCLAS/ [7] http://www.insun.hit.edu.cn [8] 吴蔚天、罗建林,《汉语计算语言学-- 汉语形式语法和形式分析》,电子工业出版社, 1994 年,第83 页,第155 页-164 页 [9] 俞士汶,《现代汉语语法信息词典详解》,清华大学出版社,1996 [10] 朱德熙,《语法问答》,商务印书馆,1993 [11] 马希文,《从计算语言学角度看语法研究》 [12] 冯志伟《计算语言学对理论语言学的挑战》,《语言文字应用》1992 年第1期 [13] 白硕,《语言学知识的计算机辅助发现》,科学出版社,1995 。 [14] 罗振声、郑碧霞,《汉语句型自动分析和分布统计算法与策略的研究》,《中文信息 学报》1994 年第2期。 [15] 詹卫东,《面向中文信息处理的现代汉语短语结构规则研究》,博士论文,1999 。 [16] 黄曾阳,HNC(概念层次网络)理论,清华大学出版社,1998 [17] 黄昌宁(1993 )《关于处理大规模真实文本的谈话》,载《语言文字应用》1993 年第 2期。 [18] 关毅,王晓龙,张凯,基于统计与规则相结合的汉语计算语言模型及其在语音识别中 的应用《高技术通讯》,1998.4 Vol.8 No.4 ,P:16~20 [19] 赵铁军等,机器翻译原理,哈尔滨工业出版社,2000. 第第第第1章章章章 计算机自然计算机自然计算机自然计算机自然语言处理技术概论语言处理技术概论语言处理技术概论语言处理技术概论 8 [20] 刘群,詹卫东,常宝宝,刘颖,一个汉英机器翻译系统的计算模型与语言模型,第三 届全国智能接口与智能应用学术会议,吴泉源,钱跃良主编,智能计算机接口与应用进展, 第253-258 页,电子工业出版社,1997.8 [21] http://www.bjhm.com.cn/bjxt/bjxt.htm [22] http://www.iflytek.com/ [23] 刘挺,王开铸,基于篇章多级依存结构的自动文摘研究,计算机研究与发展,第36 卷 第4期,1999 ,4 [24] 王永成 许慧敏,OA-1.4 版中文自动摘要系统,http://naxun.sjtu.edu.cn/index1.htm [25] 姚天顺,《自然语言理解—一种让机器懂得人类语言的研究》,清华大学出版社, 2002.10 。 第第第第2章章章章 数学基础数学基础数学基础数学基础 9 第第第第2章章章章 数学基础数学基础数学基础数学基础 本章简要介绍了为理解本书后续内容必须预先掌握的数学基础知识,包括 概率论、信息论、粗糙集等方面的基本理论。为使计算机处理中文语言,必须 首先将语言信息加以形式化,使之能以严密规整的数学形式表现出来,这一过 程通常称之为语言的模型化。本章描述了在语言模型化中广为应用的数学工具, 包括作为基于统计的中文语言处理技术的理论基础的概率理论和信息论,以及 粗糙集理论等等。受篇幅所限,在此仅列出要点,更加详细的内容请读者参阅 在本章末尾列出的参考文献。 语言处理技术中常用的数学基础知识还包括集合论、函数与关系、微积分 等等,在此我们假定读者已经掌握了这些背景知识。对概率论和信息论比较熟 悉的读者可以跳过本章,直接进入后续章节的学习,如果遇到难以理解的公式, 再查阅本章的相关内容作为参考。我们建议读者通读本章的内容,了解全书中 统一使用的数学符号的含义,以便更好地理解本书的其余章节的内容。 2.1 初等概率理论初等概率理论初等概率理论初等概率理论 基于统计的语言处理技术已经成为语言处理技术的主流。统计语言处理的 目的在于以自然语言为处理对象进行统计推导,它包括两个步骤:首先,收集 自然语言词汇(或者其他语言单位)的分布情况,即统计语言单位出现的概率;其 次,根据这些分布情况进行统计推导。因此,初等概率理论是统计语言处理的 数学基础之一。 2.1.1 基本概念基本概念基本概念基本概念 概率论概率论概率论概率论(Probability theory )是研究随机现象的数学分支,所谓随机现象是 指这样的一类现象,当人们观察它时,所得到的观察结果不是确定的,而是许 许多多可能结果中的一种。例如,抛一枚质量均匀的硬币,可能出现正面朝上 或反面朝上两种结果。随机现象的实现和对它的观察称为随机试验随机试验随机试验随机试验(Experiment 第第第第2章章章章 数学基础数学基础数学基础数学基础 10 或者Trial ),随机试验的每一可能结果称为一个基本基本基本基本事件事件事件事件(Elementary event ), 一个或一组基本事件又通称随机事件随机事件随机事件随机事件(Random event ),或简称事件事件事件事件(Event )。 事件的概率概率概率概率(Probability )则是衡量该事件发生的可能性的量度。虽然在一次随 机试验中发生某个事件是带有偶然性的,但那些可以在相同条件下大量重复的 随机试验往往呈现出明显的数量规律性。人们在长期实践中己逐步觉察到某些 这样的规律性,并在实践中加以应用。例如连续多次掷一均匀的硬币,出现正 面的频率(出现次数与投掷次数之比)随着投掷次数的增加逐渐稳定于1/2。这种 在大量重复试验或观察中所呈现出的固有规律性,称之为随机现象的统计规律统计规律统计规律统计规律 性性性性(Statistical rule )。 随机试验的所有可能结果或者全体基本事件构成的集合称为样本空间样本空间样本空间样本空间 (Sample space ),记为Ω ,随机变量随机变量随机变量随机变量(Random variable ) X 是定义于Ω 上的函 数,即对每一基本事件 Ω∈ω ,有一数值 )(ωX 与之对应。随机变量的取值可以 是离散的,也可以是连续的。在语言处理的应用中,通常可以将语言单位(如 词汇)视为一个离散型的随机变量。概率的统计定义如下: 首先引入频率的概念,它描述了事件出现的频繁程度。 频率定义:若事件 A 在相同条件下进行的 n 次试验中出现了 r 次,则称 n rAWn =)( (2-1) 为事件 A 在 n 次试验中出现的频率频率频率频率(Frequency ),称 r 为事件 A 在 n 次试 验中出现的频数频数频数频数(Frequence )。如果随着试验次数 n 的增大,事件 A 出现的频 率 )(AWn 总在区间 ]1,0[ 上的某个数字 p 附近摆动,那么定义事件 A 的概率为 pAP =)( (2-2) 概率的这种定义,称为概率的统计定义概率的统计定义概率的统计定义概率的统计定义(Statistical definition of probability ), 由此确定的概率称为统计概率统计概率统计概率统计概率(Statistical probability )。除统计概率外,还有古 典概率、几何概率等多种定义方式,将这些定义方式加以综合,建立公理化体 第第第第2章章章章 数学基础数学基础数学基础数学基础 11 系,给出概率的数学定义如下: 定义 设随机实验的样本空间为Ω ,如果对于每一事件 Ω⊂A ,总有一实 数 )(AP 与之对应,此实值函数 )(AP 满足如下公理: 公理1 (非负性)对于任一事件 A ,有 1)(0 ≤≤ AP (2-3) 公理2 (规范性) 0)(,1)( ==Ω φPP (2-4) 公理3 (完全可加性) 对于任意有限个两两互斥的事件 nAAA ,...,, 21 ,有 )(...)()()...( 2121 nn APAPAPAAAP +++=∪∪∪ (2-5) 则称 )(AP 为事件 A 的概率,这个定义称为概率的公理化定义概率的公理化定义概率的公理化定义概率的公理化定义(Axiomatic definition of probability )。公理3又称为概率的加法定理概率的加法定理概率的加法定理概率的加法定理(Addition formula )。 由概率的公理化定义可以得到如下推论: (1) )()()( BAPBPABP ∩−=− (2) )()( BPAPBA ≤⇒⊆ (3) )(1)( APAP −= (4) )()()()( BAPBPAPBAP ∩−+=∪ 其中, AB − 标记事件 B 与事件 A 的差事件差事件差事件差事件(Differential event ),表示“事 件 B 出现而事件 A 不出现”; BA ∩ 标记事件 A 与事件 B 的积事件积事件积事件积事件(Product event ),简记为 AB,表示“事件 A 和事件 B 同时发生”; BA ⊆ 标记事件 A 是 事件 B 的子事件子事件子事件子事件(Sub-event ),表示“事件 A 发生必然导致事件 B 发生”;A 标 记事件 A 的逆事件逆事件逆事件逆事件(Inverse event ),表示“ A 与 A 必有一个出现,而不能同时 出现”,即 AA −Ω= ; BA ∪ 标记事件 A 与事件 B 的和事件和事件和事件和事件(Additive event ), 表示“事件 A 和事件 B 至少有一个出现”。 例1 现代汉语字频统计。由北京航空学院和国家语言文字工作委员会于 1985 年完成。从1977 年至1982 年间社会科学和自然科学的规模为一千一百零八 万余字的语料中利用计算机进行统计得到汉字的字频,前20 个最高频汉字列出 如表2-1所示。 第第第第2章章章章 数学基础数学基础数学基础数学基础 12 表2-1 现代汉语字频统计结果:前20 个最高频汉字及其频率 2.1.2 条件概率与独立条件概率与独立条件概率与独立条件概率与独立 在实际问题中,除了要知道事件 A 的概率 )(AP 外,往往还要知道在事件 B 出 现条件下事件 A 出现的概率,称这种概率为事件 B 出现条件下事件 A 的条件概条件概条件概条件概 率率率率(Conditional probability ),记为 )|( BAP 。当我们预测一个事件的出现时, 如果已经具备一些关于该事件的信息或者知识,就可以使用条件概率来反映这 种情况。不考虑先决条件(信息或者知识)而得到的该事件的概率,通常称为 该事件的先验概率先验概率先验概率先验概率(Prior probability )。在具备该事件出现的信息或者知识的条 件下得到的该事件的概率,通常称为该事件的后验概率后验概率后验概率后验概率(Posterior probability )。 例如,当我们预测“大学”一词出现的概率时,如果已经知道出现在它前面的 两个词是“哈尔滨”和“工业”,“大学”一词出现的概率就大大增加了。在 事件 B 已知出现的条件下,事件 A 出现的条件概率记为 )|( BAP 由下式计算: )( )()|( BP BAPBAP ∩= (2-6) 在公式(2-6)中,当 Ω=B 时, 1)(),()( =Ω=Ω PAPAP ,于是 )()|( APAP =Ω ,于是条件概率转换为无条件概率。可见,可以把一般概率看 作是必然事件出现条件下的条件概率。 由公式(2-6)立即可得: 汉字 频率 汉字 频率 汉字 频率 汉字 频率 的 0.040855 了 0.008470 中 0.006012 国 0.005406 一 0.013994 有 0.008356 大 0.005857 我 0.005172 是 0.011758 和 0.007297 为 0.005720 以 0.005117 在 0.010175 人 0.006821 上 0.005705 要 0.004824 不 0.009034 这 0.006557 个 0.005488 他 0.004685 第第第第2章章章章 数学基础数学基础数学基础数学基础 13 )|()()|()()( ABPAPBAPBPABP == (2-7) 公式(2-7)称为概率的乘法定理概率的乘法定理概率的乘法定理概率的乘法定理(Production rule )。乘法定理易于推广到 有限多个事件联合出现的情形,设有 n 个事件 nAAA ,...,, 21 ,则有: )|()...|()|()()...( 1 121312121 i n inn AAPAAAPAAPAPAAAP − =∩∩=∩∩∩ (2-8) 公式(2-8)又称为链规则链规则链规则链规则(Chain rule )。在统计语言处理技术中有着广泛 的应用,是构造统计语言模型的理论基础之一。 两个事件 A 和 B 是独立独立独立独立(Independent )的当且仅当: )()()( BPAPBAP =∩ (2-9) 否则,称事件 A 和 B 是依赖依赖依赖依赖(Dependent )的。类似地,我们称事件 A 和事 件 B 在事件C 发生的条件下相互独立当且仅当: )|()|()|( CBPCAPCBAP =∩ (2-10 ) 2.1.3 全概率公式与贝叶斯公式全概率公式与贝叶斯公式全概率公式与贝叶斯公式全概率公式与贝叶斯公式 在计算某复杂事件出现的概率时,如果直接计算事件的概率比较困难,可 以采用将该事件划分为若干彼此独立的简单事件之和,再应用概率的加法定理 和乘法定理计算该事件的概率。 定义 满足如下条件的一组事件 nBBB ,...,, 21 ,称为样本空间Ω 的一个划分划分划分划分 (Partition ): 1. ),...,2,1,,(, njijiBB ji =≠= φ 2. Ω=∪∪∪ nBBB ...21 定理 如果 nBBB ,...,, 21 构成样本空间Ω 的一个划分,且 ),...,2,1(,0)( niBP i => ,则对任一事件 A ,有: )|()(...)|()()|()()( 112211 BAPBPBAPBPBAPBPAP +++= ∑= ⋅= n i ii BAPBP 1 )|()( (2-11 ) 第第第第2章章章章 数学基础数学基础数学基础数学基础 14 公式(2-11 )称为全概率公式全概率公式全概率公式全概率公式(Breakdown law )。 与全概率公式密切相关的另一个重要公式称为贝叶斯公式贝叶斯公式贝叶斯公式贝叶斯公式(Bayesian formula ),在后续章节中我们将经常看到它的应用,在统计语言处理中占据着 举足轻重的地位。当直接计算条件概率 )|( BAP 比较困难而 )|( ABP 已知或者容 易计算时,可以用贝叶斯公式通过 )A|(BP 计算 )|( BAP 。 由条件概率公式(2-7): )( )()|( )( )()|( AP BPBAP AP ABPABP == (2-12 ) 公式(2-12 )就是贝叶斯公式。显然: )()|(maxarg)( )()|(maxarg)|(maxarg BPBAPAP BPBAPABP BBB == (2-13 ) 在公式(2-13 )中, )(maxarg xf x 表示“使 )(xf 取最大值的 x ”,公式(2-13 ) 是贝叶斯公式在统计语言处理中主要的应用形式之一。贝叶斯公式更为一般和 严格的说明由贝叶斯定理给出: 贝叶斯定理贝叶斯定理贝叶斯定理贝叶斯定理(Bayesian’ theorem ):如果存在一组事件 iB 是事件 A 的划分, 换句话说,事件 A 能且只能与两两不相交的事件 nBBB ,...,, 21 之一同时发生,即 nBBBA ∪∪∪⊆ ...21 且当 ji ≠ 时 φ=∩ ji BB ,那么,由全概率公式(2-11 ), ∑= i ii BPBAPAP )()|()( 。于是: ∑= = n i ii jj j BPBAP BPBAPABP 1 )()|( )()|()|( (2-14 ) 例2 将A、B、C三个字符之一输入信道,输出为原字母的概率为 a ,而输 出为其它一字母的概率都是 2/)1( a− ,今将字符串AAAA,BBBB,CCCC 之一 输 入 信 道 , 输 入 AAAA, BBBB, CCCC 的 概 率 分 别 是 1p , 2p , 3p ( 1321 =++ ppp ),已知输出为ABCA,问输入的是AAAA 的概率是多少?(设 第第第第2章章章章 数学基础数学基础数学基础数学基础 15 信道传输每个字母的工作是独立的) 解:根据贝叶斯公式 ( 请 注 意 , 下 述 推 导 中 CBA ,, 是 指 字 符 , 而 非 事 件 。 )|( ABCAOAAAAIP == 是指已知输出为 ABCA 时,输入为 AAAA 的概率; )|( AAAAIABCAOP == 是指已知输入为 AAAA 时,输出为 ABCA 的概率; )(AAAAP 是指输入为 AAAA 的概率; )|( ABP 是指输入为 A 时,输出为 B 的概率) =)|( ABCAAAAAP )()|()()|()()|( )()|( CCCCPCCCCABCAPBBBBPBBBBABCAPAAAAPAAAAABCAP AAAAPAAAAABCAP ++ 由于信道传输每个字母的工作是独立的,因此 aaaaAAPACPABPAAPAAAAABCAP ⋅−⋅−⋅== 2 )1( 2 )1()|()|()|()|()|( 类似地有: 2 )1( 2 )1( 2 )1()|( aaaaBBBBABCAP −⋅−⋅⋅−= 2 )1( 2 )1( 2 )1()|( aaaaCCCCABCAP −⋅⋅−⋅−= , 已知 1)( pAAAAP = , 2)( pBBBBP = , 3)( pCCCCP = ,且 1321 =++ ppp 于 是: =)|( ABCAAAAAP 信道 输入 AAAA,BBBB,CCC C 输出 噪声 ABCA,BCAA,… 第第第第2章章章章 数学基础数学基础数学基础数学基础 16 321 1 2 )1( 2 )1( 2 )1( 2 )1( 2 )1( 2 )1( 2 )1( 2 )1( 2 )1( 2 )1( paaaapaaaapaaaa paaaa ⋅−⋅⋅−⋅−+⋅−⋅−⋅⋅−+⋅⋅−⋅−⋅ ⋅⋅−⋅−⋅ = 32321 1 )2( 2 pppppa ap ++−−= apa ap −+−= 1)13( 2 1 1 在应用贝叶斯定理时,首先需要确定先验概率 )( iBP ,通常情况下,根据贝 叶斯假设来确定,即: 贝叶斯假设:如果没有任何以往的知识来帮助确定 )( iBP ,可以采用均匀分 布来作为其分布。这也是贝叶斯方法的缺陷。 2.1.4 随机变量随机变量随机变量随机变量 许多随机实验的结果与数值有关,要么可以直接用数值来描述,要么可以转 换为等价的数值形式。一般情况下,对于样本空间Ω 中的每一个样本点e ,都 对应着一个实数 )(eξ ,这个随着实验结果而变化的实数 )(eξ 通常称之为随机变随机变随机变随机变 量量量量(Random variable ,简写为RV)。 定义 设 E 是随机实验,它的样本空间是 }{e=Ω ,如果对于每一个 Ω∈e , 都有一个实数 )(eξ 与之对应,就得到一个定义在Ω 上的单值实值函数 )(eξξ = , 称为随机变量。 随机变量通常用大写英文字母 ZYX ,, 或者希腊字母 ζηξ ,, 表示。 随机变量根据其取值不同分为离散型随机变量离散型随机变量离散型随机变量离散型随机变量(Discrete random variable ) 和连续型随机变量连续型随机变量连续型随机变量连续型随机变量(Continuous random variable )。 定义 如果随机变量ξ 只能取有限个或可列个值,则称它为离散型随机变量。 设离散型随机变量ξ 的所有可能取值为 kx ,(,...2,1=k ),ξ 取各个可能值 的概率为: 第第第第2章章章章 数学基础数学基础数学基础数学基础 17 ,...2,1,)( === kpxP kkξ (2-15 ) 由概率的定义, kp 满足如下两个条件: 1. 0≥kp ,...2,1=k 2.∑ ∞ = = 1 1 k kp 我们称(2-15 )为离散型随机变量ξ 的概率分布概率分布概率分布概率分布(Probability distribution ), 或者分布律分布律分布律分布律(Distribution law ),分布律可用表2-2的形式来表示。 表2-2 离散型随机变量的分布律 ξ 1x 2x 3x …… ix …… kp 1p 2p 3p …… ip …… 还有一类随机变量不是离散型的,即其可能的取值不能一一列举出来,为 给出它的定义,首先给出分布函数的定义如下: 定义 设ξ 为随机变量, x 是任意实数,则函数 )()( xPxF <= ξ 称为ξ 的分分分分 布函数布函数布函数布函数(Distribution function )。对于任意的实数 21 , xx ,( 21 xx < )有: )()()()()( 121221 xFxFxPxPxxP −=<−<=<≤ ξξξ (2-16 ) 因此,若已知ξ 的分布函数,就可知道ξ 落在任意区间 ],[ 21 xx 上的概率。 分布函数完整地描述了随机变量的统计规律性。 连续型随机变量可由概率分布函数定义如下: 定义 设 )(xF 是随机变量ξ 的概率分布函数,若存在非负函数 )(xf ,使对 任意实数 x 有: ∫∞− = x dxxfxF )()( (2-17 ) 则称ξ 为连续型随机变量,其中函数 )(xf 称为ξ 的概率密度函数概率密度函数概率密度函数概率密度函数 (Probability density function 或者Probability mass function, 简写为pdf 或者pmf ), 第第第第2章章章章 数学基础数学基础数学基础数学基础 18 简称概率密度概率密度概率密度概率密度(Probability density )。 比较一下离散型随机变量的概率分布和连续型随机变量的概率密度函数可 以有助于我们对概念的理解: 对于离散型随机变量, )()( xPxf == ξ ,其中 )(xf 是频率函数;对于连续 型随机变量, )()()( xFdx dxFxf =′= , )(xf 是概率密度函数。 对于离散型随机变量, ∑≤ =≤ xx i i xfxP )()(ξ ;对于连续型随机变量, ∫∞− ==≤ x dttfxFxP )()()(ξ 对于离散型随机变量, 1)()( ==Ω ∑Ω∈x xfP ;对于连续型随机变量, 1)()( ==Ω ∫ +∞ ∞− dxxfP 因此,也可以将离散型随机变量的概率分布和连续型随机变量的概率密度 函数统称为概率密度函数。 随机变量是离散型随机变量或者连续型随机变量的充要条件是: 1.随机变量ξ 是离散型随机变量,当且仅当Ω 是有限集合或可数集合。 2.随机变量ξ 是连续型随机变量,当且仅当其分布函数 F 连续且除有限个 点之外处处连续可导。 离散型随机变量 X 具有概率函数 )(xf 或者连续型随机变量具有概率密度 函数 )(xf 记为 )(~ xfX 。 2.1.5 多维随机变量多维随机变量多维随机变量多维随机变量 随机试验的结果经常需要同时用两个或者两个以上的随机变量来描述,由 若干个随机变量组成的有序数组称为多维随机变量,本小节介绍多维随机变量 的有关概念和定理,为简明起见,在此仅以二维随机变量为例,多维随机变量 第第第第2章章章章 数学基础数学基础数学基础数学基础 19 的情形易于由二维随机变量推知。 定义 设 E 是一个随机试验,它的样本空间 }{e=Ω , )(eξξ = 和 )(eηη = 是 定义在 Ω 上的随机变量,由它们构成的有序数组 ),( ηξ 称为二维随机变量二维随机变量二维随机变量二维随机变量 (Two-dimensional random variable )。定义二维随机变量 ),( ηξ 的分布函数如下: 定 义 设 ),( ηξ 是 二维 随机 变 量, 对 于 任意实 数 x 和 y , 二元 函 数 ),())()((),( yxPyxPyxF <<=<∩<= ηξηξ 称为二维随机变量 ),( ηξ 的分布函 数,或称为随机变量ξ 和η 的联合分布函数联合分布函数联合分布函数联合分布函数(Joint distribution function )。 与前面讨论过的一维随机变量类似,二维随机变量也分为二维离散型随机二维离散型随机二维离散型随机二维离散型随机 变量变量变量变量(Two-dimensional discrete random variable ) 和 二维连续型随机变量二维连续型随机变量二维连续型随机变量二维连续型随机变量 (Two-dimensional continuous random variable )。 定义 若二维随机变量 ),( ηξ 的所有可能取值为有限个或可数多个数组,则 称 ),( ηξ 为二维离散型随机变量。 设二维离散型随机变量 ),( ηξ 所有可能取值为 ),( ii yx , ,...2,1, =ji ,记 ijji pyxP === ),( ηξ , ,...2,1, =ji ,则由概率的定义有: ∑∑ ∞ = ∞ = = 1 1 1 i j ijp , 10 ≤≤ ijp 称 ijji pyxP === ),( ηξ , ,...2,1, =ji 为二维离散型随机变量 ),( ηξ 的概率分 布或者分布律,或称随机变量ξ 和η 的联合分布律联合分布律联合分布律联合分布律(Joint distribution law )。 与一维连续型随机变量类似,对于二维随机变量 ),( ηξ 的分布函数 ),( yxF , 如果存在非负函数 ),( yxf 使得: ∫∫ ∫ ∫∞− ∞− == D x y dxdyyxfdyxfyxF ),(),(),( σ (2-18 ) 则称 ),( ηξ 为二维连续型随机变量,函数 ),( yxf 称为二维随机变量 ),( ηξ 的 分布密度或称为随机变量ξ 和η 的联合分布密度。 第第第第2章章章章 数学基础数学基础数学基础数学基础 20 二维随机变量 ),( ηξ 作为一个整体,具有分布函数 ),( yxF ,而ξ 和η 都是随 机变量,也都有各自的分布函数,将它们分别记为 )(xFξ 和 )(yFη ,分别称为二 维随机变量 ),( ηξ 关于ξ 和关于η 的边缘分布函数边缘分布函数边缘分布函数边缘分布函数(Marginal distribution function )。 对于二维离散型随机变量,设二维离散型随机变量 ),( ηξ 的分布律为: ijji pyxP === ),( ηξ ,则二维离散型随机变量 ),( ηξ 关于ξ 的边缘分布律为: ∑ ∞ = == 1 )( j iji pxP ξ (2-19 ) 同理,二维离散型随机变量 ),( ηξ 关于η 的边缘分布律为: ∑ ∞ = == 1 )( i ijj pyP η (2-20 ) 由边缘分布函数的定义,离散型随机变量的边缘分布函数为: ∑∑< ∞ = =+∞<<= xx j ij i pxPxF 1 ),()( ηξξ (2-21 ) ∑ ∑ +∞ = < =<+∞<= 1 ),()( x yy ij j pyPyF ηξη (2-22 ) 对于二维连续型随机变量,设二维连续型随机变量 ),( ηξ 的分布密度 ),( yxf ,则: ∫ ∫∞− +∞ ∞− =+∞<<= x dxdyyxfxPxF ]),([),()( ηξξ (2-23 ) ∫ ∫∞− +∞ ∞− =<+∞<= y dydxyxfyPyF ]),([),()( ηξη (2-24 ) 并记 ∫ +∞ ∞− = dyyxfxf ),()(ξ , ∫ +∞ ∞− = dxyxfyf ),()(η 为二维随机变量 ),( ηξ 的边缘分 布密度。 第第第第2章章章章 数学基础数学基础数学基础数学基础 21 定义 设 ),( yxF 及 )(),( yFxF ηξ 分别是二维随机变量 ),( ηξ 的分布函数及边 缘分布函数。若对于所有的 yx, 有 )()(),( yPxPyxP <⋅<=<< ηξηξ ,即: )()(),( yFxFyxF ηξ ⋅= (2-25 ) 则称随机变量ξ 和η 是相互独立的。 对于离散型随机变量 ),( ηξ 有: jijiji ppyPxPyxP ⋅⋅====== )()(),( ηξηξ (2-26 ) 对于连续型随机变量 ),( ηξ ,在分布密度 ),( yxf 的连续点处有: )()(),( yfxfyxf ηξ ⋅= (2-27 ) 2.1.6 数学期望与方差数学期望与方差数学期望与方差数学期望与方差 数学期望数学期望数学期望数学期望(Expectation )和方差方差方差方差(Variance )是随机变量的两个重要的数值 特征,数学期望反映了随机变量的平均取值,方差则反映了随机变量取值的分 散程度。 定义 设离散型随机变量ξ 的分布律为: kk pxP == )(ξ ( ,...2,1=k ) 若级数∑ ∞ =1k kk px 绝对收敛,则称级数∑ ∞ =1k kk px 为随机变量ξ 的数学期望,记 为 ξE 或 µ ,即: ∑ ∞ = = 1k kk pxEξ (2-28) 设连续型随机变量ξ 的概率密度为 )(xf ,若积分 ∫ +∞ ∞− dxxxf )( 绝对收敛,则称 ∫ +∞ ∞− dxxxf )( 的值为随机变量ξ 的数学期望,记为 ξE 或者 µ ,即: ∫ +∞ ∞− = dxxxfE )(ξ (2-29 ) 数学期望简称期望,又称均值均值均值均值(Mean ),可以将数学期望视为随机变量取 第第第第2章章章章 数学基础数学基础数学基础数学基础 22 值的以取这些值的频率为权重的加权平均。 对随机变量ξ 的函数 )(ξη g= 的数学期望 ηE ,不必知道η 的分布,只需知 道ξ 的分布即可。因为有如下定理: 定理 设η 是随机变量ξ 的函数: )(ξη g= ,且 g 是连续函数。 1.ξ 是离散型随机变量,其分布律为 )( kk xpp == ξ , ,...2,1=k ,若级数 ∑ ∞ =1 )( k kk pxg 绝对收敛,则: ∑ ∞ = == 1 )()]([ k kk pxggEE ξη (2-30) 2.ξ 是连续型随机变量,它的概率密度为 )(xf ,若 ∫ +∞ ∞− dxxfxg )()( 绝对收敛, 则 ∫ +∞ ∞− == dxxfxggEE )()()]([ ηη (2-31) 随机变量的数学期望(假设数学期望存在)的性质如下: 1.设C 是常数,则有 CEC = 2.设ξ 是随机变量,C 是常数,则 )()( ξξ CECE = 3.设 ηξ, 是随机变量,则有 ηξηξ EEE +=+ )( 4.设 ηξ, 是相对独立的随机变量,则有 )()(),( ηξηξ EEE ⋅= 方差是衡量一个随机变量的取值离散程度的数值特征,它的定义如下: 定义 设ξ 是一个随机变量,若 2)( ξξ EE − 存在,则称它为随机变量ξ 的方 差,并记为 ξD 或者 )(ξVar 或者 2σ ,即: 2)( ξξξ EED −= (2-32) 对于离散型随机变量: ∑Ω∈ ⋅−= x xfxD )()( 2µξ 第第第第2章章章章 数学基础数学基础数学基础数学基础 23 对于连续型随机变量: ∫ +∞ ∞− −= dxxfxD )()( 2µξ 方差的平方根称为标准差标准差标准差标准差(Standard deviation ),是另一个经常使用的随机 变量的数值特征,记为σ 。 方差与数学期望存在如下关系: 22 )( ξξξ EED −= (2-33) 方差的一些性质列出如下: 1.设C 是常数,则 0=DC 2.设ξ 是随机变量,C 是常数,则有 ξξ DCCD 2)( = 3.设 ηξ, 是两个相互独立的随机变量,则有 )()()( ηξηξ DDD +=+ 4. 0=ξD 的充要条件是 1)( == CP ξ 2.1.7 常用分布常用分布常用分布常用分布 本小节介绍在计算语言学研究中经常使用的概率分布。当构造语言的概率 模型时,如果已知某种语言现象服从某种特定的概率分布,那么我们只需确定 该概率分布的几个数字特征(如期望,方差等),就能完整地描述这类语言现 象。在计算语言学研究中常用的分布包括:二项分布二项分布二项分布二项分布(Binomial distribution ), 泊松分布泊松分布泊松分布泊松分布(Poisson distribution ),正态分布正态分布正态分布正态分布(Normal distribution )。 1、二项分布 离散型随机变量ξ 只可能取两个值,即当事件 A 不出现时 0=ξ ,当事件 A 出现时 1=ξ ,且 pP == )1(ξ , pP −== 1)0(ξ , 10 << p 。这种只有两个可能 结果的随机试验称为伯努利试验伯努利试验伯努利试验伯努利试验(Bernoulli trials ) 重复进行 n 次独立的伯努利试验,这里“重复”是指在每次试验中事件 A ( A )出现的概率保持不变,这种试验称为 n 重伯努利试验。 在 n 重伯努利试验中,设事件 A 出现的概率为 )10( << pp ,以ξ 表示 n 次 试验中事件 A 出现的次数,ξ 的可能取值为 n,...,2,1,0 ,令 ),()( pnPkP k==ξ , 第第第第2章章章章 数学基础数学基础数学基础数学基础 24 则: ),...,1,0()1(),( nkppk npnP knk k =−     = − (2-34) 其中 !)!( ! kkn n k n −=      nk ≤≤0 。 则称ξ 服从参数为 n 和 p 的二项分布二项分布二项分布二项分布(Binomial distribution ),记为 ),(~ pnBξ 。 二项分布的数学期望是 np ,方差是 )1( pnp − 二项分布在统计语言处理中应用广泛,例如,在英语语料库中,包含单词 “the ”的语句占语料库中语句总数的比例近似地服从二项分布。另外,某英语 动词在英语语料库中作为及物动词的出现也近似地服从二项分布,等等。 2、泊松分布 离散型随机变量ξ 的取值范围为 ,...,2,1,0=k 且 λλξ −=== ekkPp k k !)( (2-35 ) 其中, ,...,2,1,0=k 0>λ 。 则称随机变量ξ 服从参数为λ 的泊松分布泊松分布泊松分布泊松分布(Poisson distribution )。记为 )(~ λξ P 。 泊松分布的数学期望是λ ,方差是λ 。 在某一固定大小的范围(或者时间段)内,某种特定类型事件的分布,例如: 在一个篇幅内出现的打字错误,在一页内的某个词的分布等等都近似地服从泊 松分布。 泊松分布与二元分布的关系由泊松定理给出: 定理(泊松定理):设有一列二项分布 )},({ npnB ,其中参数列 }{ np 满足 0lim >= ∞→ λnn np ,则对任意非负整数 k ,有 !),(lim kepnp k nkn λλ− ∞→ = 第第第第2章章章章 数学基础数学基础数学基础数学基础 25 3、正态分布 连续型随机变量最重要的概率分布是正态分布正态分布正态分布正态分布(Normal distribution ),又 称为高斯分布高斯分布高斯分布高斯分布(Gaussian distribution )。 连续型随机变量具有概率密度函数: 2 2 2 )( 2 1)( σ µ σπ −− = x exp (2-36 ) 其中, 0>σ , µ 为常数。则称连续型随机变量服从参数为 µ 和σ 的正态 分布,记为 ),(~ 2σµξ N 。特别当 1,0 == σµ 时,称为标准正态分布标准正态分布标准正态分布标准正态分布(Standard normal distribution ),记为 )1,0(~ Nξ 。 正态分布的数学期望是 µ ,方差是 2σ 。 正态分布是自然界中最常见的一种分布,例如,人的身高、体重等随机变 量都近似地服从正态分布,汉字的笔画数与该笔画对应的汉字的个数符合正态 分布等等。在语言处理技术中,正态分布经常应用在文本自动分类技术中。另 外,许多其它的分布(例如二元分布)可以用正态分布来近似。特别是在数理 统计中,某些用于推断的统计量都是在正态分布条件下导出的,这就是正态分 布在概率论和数理统计中占据重要位置的原因。 2.2 信息论基础信息论基础信息论基础信息论基础 信息论是由香农(Claude Elwood Shannon ,1916-2001 )于20 世纪40 年代末 创立的关于信息通讯的数学理论。20 世纪40 年代末,随着通信技术的飞速发展, 人们迫切地需要讯号传输的理论模型。香农研究了通过一条噪声信道(例如一 条电话线)的输出信号恢复输入信号的问题,在1948 年发表了著名的论文《通 讯的数学理论》,宣告了信息论的诞生。在这篇论文中,他选择概率论作为数 学工具,提出了用“不确定性的量度”来计算信息量的数学公式,为信息论奠 定了理论基础。在香农为信息量确定名称的时候,数学家冯﹒诺依曼(John Louis von Neumann,1903-1957 )建议称为熵熵熵熵(Entropy ),理由是不确定性函数在统计 第第第第2章章章章 数学基础数学基础数学基础数学基础 26 力学中已经用在熵下面了,香农接受了这个建议。在热力学中熵是物质系统状 态的一个函数,它表示微观粒子之间无规则的排列程度,即表示系统混乱的程 度,维纳(Norbert Wiener,1894-1964 )说:“信息量的概念非常自然地从属于 统计学的一个古典概念——熵。正如一个系统中的信息量是它的组织化程度的 度量,一个系统的熵就是它的无组织程度的度量;这一个正好是那一个的负 数。”。由于信息论中的熵与热力学中的熵无关,为加以区分,在我国将信息 领域里的不确定性的量度称为信息熵。 语言是人类最重要的交际工具,也是社会上传递信息的工具,是信息的载 体。因此,语言处理技术中的许多应用,都大量地运用或借鉴了信息论的基本 理论与量度。信息论是语言处理的又一数学基础之一。 2.2.1 信息熵信息熵信息熵信息熵 对于信息接收者而言,信息通信的目的在于获取信息,也就是说,收讯人 事先对通讯的内容并不确知,而通过得到信息消除了这种不确定性。因此,不 确定的程度是信息量的一个量度,不确定性越大,信息量就越大,反之则越小。 抛一枚硬币,掷一个骰子或者接收到一个信号,其结果都具有不确定性, 然而,它们的不确定性各不相同,抛一枚硬币的结果只有两个,其不确定性比 可能有六个结果的掷骰子要小。用 H 表示一次随机实验的不确定性,H 与随机 实验结果的个数有关,换句话说,是随机实验结果的个数的一个函数,于是有: )(kfH = , k 表示随机实验可能的结果数。对于抛硬币和掷骰子,它们的不确 定性分别是: )2()( fH =抛一次硬币 )6()( fH =掷一次骰子 再考虑随机实验“抛一枚硬币同时掷一次骰子”的不确定性。其可能的结 果共有12 种,因此: )12()( fH =骰子抛一枚硬币同时掷一次 第第第第2章章章章 数学基础数学基础数学基础数学基础 27 如果规定“抛一枚硬币同时掷一次骰子”的不确定性分别是抛一次硬币的 不确定性与掷一次骰子的不确定性之和,即: )()()( 掷一次骰子抛一枚硬币骰子抛一枚硬币同时掷一次 HHH += 于是有: )6()2()12( fff += 最后,如果某随机实验结果唯一,那么它就没有不确定性了,即: 0)1( =f 。 可以证明,满足上述条件的函数只能是对数函数log ,即不确定性 H 与随机 实验的可能结果的个数 k 满足如下关系: kH log= (2-37 ) 在信息处理领域,公式(2-37 )中对数的底通常取2,对应的计量单位称为比比比比 (bit )以10 为底的对数称为哈特利(hartley ),以e 为底的对数称为纳特(nat )。 掷骰子的各种结果概率都相同,而在信息通讯中,并不是每个字的出现的概率 都相同,而是具有特定的概率分布,令 )(xp 为一个在有限字符集Ω 上取值的随 机变量 X 的概率密度函数: Ω∈== xxXPxp ),()( 随机变量的信息熵是该随机变量的平均不确定性程度: ∑∑ Ω∈Ω∈ =−== xx xpxpxpxpXHpH )( 1log)()(log)()()( 22 (2-38 ) 根据数学期望的定义,信息熵的另一种解释是函数 )( 1log 2 xp 的数学期望,即: ))( 1(log)( 2 xpEXH = (2-39 ) 例3 考察英语中特定字母出现的频率。当观察字母的个数较少时,频率有较大 幅度的随机波动,但当观察数目增大时,频率即呈现出稳定性,有人统计了 438023 个字母得到如表2-3所示的数据。 根据表2-3数据,由公式(2-38 )计算可知,每收到一个英文讯号消除的不 确定程度 H 是4.1606 比特。中文有6000 多个常用字,经中国科学家冯志伟等人 第第第第2章章章章 数学基础数学基础数学基础数学基础 28 测算,汉字的信息熵随着汉字个数的增加而增加,当汉字的个数达到12366 个 汉字时,汉字的信息熵值为9.65 比特,因此,汉字机内码必须用两个字节才能 表示一个汉字。 表2-3 特定英语字母的出现频率 汉字是当今世界上信息量最大的文字符号系统,这一特点使中文信息处理 在信息编码、存储和传输等方面具有一定的特殊性,与其他语言处理相比较而 言,中文处于不利的地位。 2.2.2 联合熵和条件熵联合熵和条件熵联合熵和条件熵联合熵和条件熵 两个离散型随机变量 X 和Y 的联合熵是确定两个随机变量的值所需的平 均信息量,设 ),(~, yxpYX ,它们的联合熵由下式给出: ∑ ∑Ω∈ Ω∈ −= x yx y yxpyxpYXH ),(log),(),( (2-40 ) 给定另一个离散型随机变量 X ,一个离散型随机变量Y 的条件熵是在已知 随机变量 X 的取值的条件下,确定Y 的取值所需的平均信息量,设 ),(~, yxpYX ,Y 的条件熵由下式给出: 字母 频率 字母 频率 字母 频率 E 0.1268 L 0.0394 P 0.0186 T 0.0978 D 0.0389 B 0.0156 A 0.0788 U 0.0280 V 0.0102 O 0.0776 C 0.0268 K 0.0060 I 0.0707 F 0.0256 X 0.0016 N 0.0706 M 0.0244 J 0.0010 S 0.0634 W 0.0214 Q 0.0009 R 0.0594 Y 0.0202 Z 0.0006 H 0.0573 G 0.0187 第第第第2章章章章 数学基础数学基础数学基础数学基础 29 =)|( XYH ∑Ω∈ = xx xXYHxp )|()( ∑ ∑Ω∈ Ω∈ −= x yx y xypxypxp ])|(log)|()[( ∑ ∑Ω∈ Ω∈ −= x yx y xypyxp )|(log),( ( 2-41 ) 在熵值的计算中,也有一个类似于公式(2-8)的链规则: )|()(),( XYHXHYXH += (2-42 ) ),...,|(...)|()(),...,,( 1112121 −+++= nnn XXXHXXHXHXXXH (2-43 ) 公式(2-43 )称为熵的链规则熵的链规则熵的链规则熵的链规则。 2.2.3 互信息互信息互信息互信息 由熵的链规则可知: )|()()|()(),( YXHYHXYHXHYXH +=+= 于是, )|()()|()( XYHYHYXHXH −=− 这一差值称为随机变量 X 和 Y 的互信息互信息互信息互信息(Mutual information ),记作 );( YXI 。两个随机变量的互信息可以解释为知道一个随机变量的取值后对另一 个随机变量的不确定性的减少量,或者一个随机变量包含的另一个随机变量的 信息量。 两个随机变量的互信息是非负、对称的量度,可以用于衡量两个随机变量 的依赖程度(或者独立性),当两个随机变量独立时,它们的互信息刚好为0, 互信息的取值越大,表明两个随机变量地依赖程度越高。经简单推导可知: ∑= yx ypxp yxpyxpYXI , )()( ),(log),();( (2-44 ) 由于 0)|( =XXH , );()|()()( XXIXXHXHXH =−= ,因此,信息熵又 被称为自信息自信息自信息自信息(Self-information )。互信息与熵的关系由图2-1给出: 第第第第2章章章章 数学基础数学基础数学基础数学基础 30 图2-1 互信息与熵关系图 随机变量 X 和Y 在随机变量 Z 已知的条件下的条件互信息由下式给出: ),|()|()|);(()|;( ZYXHZXHZYXIZYXI −== (2-45 ) 互信息的链规则由下式给出: =);( 1 YXI n ),...,|;(...);( 111 −++ nn XXYXIYXI ∑= −= n i ii XXYXI 1 11 ),...,|;( (2-46 ) 在研究自然语言中词汇的搭配关系中,经常使用“互信息”作为描述两个 单词之间关联程度大小的量度。这里的“互信息”是指点与点的互信息,它的 计算方法由下式给出: )()( ),(log),( ypxp yxpyxI = (2-47 ) 其中, )(xp 和 )(yp 分别是随机变量 x 和 y 的概率, ),( yxp 是二元搭配 ),( yx 出现的概率。 当 x 和 y 表示单词时,互信息 ),( yxI 比较了二元单词对 ),( yx 构成固定搭配 与仅仅是单词 x 或 y 的偶然出现的可能性,如果两个单词的互信息 0),( >yxI , )(XH )(YH ),( YXH )|( YXH )|( XYH );( YXI 第第第第2章章章章 数学基础数学基础数学基础数学基础 31 说明它们存在着比较紧密的二元搭配关系, ),( yxI 越大,这种搭配关系越紧密; 如果 0),( =yxI ,说明它们的同现仅属偶然;如果 0),( 0 then AmbFragSet ← kAmbWordNumk ww L− 14 k ← k + 1 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 56 15 endif 16 endfor 17 endfor 18 endwhile 下面介绍相应的组合歧义抽取算法 汉语字词界限模糊,几乎每个汉字都可以成为词语,因此理论上讲,任何 一个汉语多字词就是一个潜在的组合歧义字段。换句话讲,给定词典中的多字 词是一个理论上的组合歧义候选词集,但实际上真有意义的组合歧义字段数量 很少。因此必须加以区分以降低工作量。 设有词语 21www = ,其中 1w 、 2w 为 w 所包含的子字串,若 w 是一潜在的组 合歧义词语,则根据组合歧义定义有 1|| >w ,且 Dww ∈∃ 21, 。设 )(wPr 和 )( 1wPr 、 )( 2wPr 分别为 w 和 1w 、 2w 在语料中出现的概率,则存在: )( 1 ))()())(()(( )()(0 21 wPwPwPwPwP wPwscore rrrrr r ≤++=≤ (3-1) 若 0)( =wscore 或 )(1)( wPwscore r = ,则可认为 w 在所讨论的语料中不存在组 合歧义。在最大匹配分词中, w 一般被分为一个词,因此如果 w 满足条件 1) 0)( >wPr ;2) ε≤)()( wPwscore r ( 10 << ε ,根据实验确定,ε 越大,抽取精度越 低,召回率越高),则可认 w 在所讨论的语料是一潜在的组合歧义词语。 下面介绍一种交叉歧义的处理策略[12],对交叉歧义中伪歧义型高频最大交 集型歧义切分字段,可以把它们的正确(唯一)切分形式预先记录在一张表中,其 歧义消解通过简单的查表予以完成。本质上,这是一个基于记忆的学习模型。 其特色体现在以下几个方面: 1. 适用范围足够广,前4,279 个伪歧义型高频最大交集型歧义切分字段的覆盖 率竟然高达53.35%! 在某些对分词系统精度要求不太高的应用中,不妨将真歧义 类型2近似成伪歧义型处理,则覆盖率可进一步提升到58.58% 。而通过前面的讨 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 57 论我们已得出高频最大交集型歧义切分字段关于领域相当稳定这一结论。 2. 对伪歧义型最大交集型歧义切分字段可实现无错误切分。考虑一个伪歧义 的例子:“提高人民生活水平”。如果我们按常规程序处理之,首先须进行全切 分(这样可在理论上彻底避免切分盲点), 然后利用规则法或n元语法模型求解。 但是,全切分往往产生膨胀的候选解空间(连接两个字间位置的弧指示该弧所跨 越的汉字串构成一个词,从起始位置到结束位置的一条弧路径对应一种可能切 分), 要从如此庞大的解空间约束到一个正确解绝非易事,而方法本身存在的局限 性又导致规则法或n元语法模型在某些情形下会陷入鞭长莫及、束手无策的境 地(不妨设想一下,假使要求人完成同样的任务,需要综合运用多少知识!),经复杂 计算、费尽周折但仍然可能发生错判。基于记忆的模型则保证了切分结果准确 无误。 3. 时间、空间代价小。存储一张入口项数量不足5,000 的相关类型的数据表, 所需内存仅约100 KB,且查表过程就是全部求解过程,避开了纷繁的计算,因此 速度很快(平均12 次二分查找即可定位)。 4. 为基于实例的排歧计算提供了典型的实例集。譬如,数据表中已将“今天 下午”及其解“今天/下午”记录在案。现遇到了数据表之外的另一个最大交集 型歧义切分字段“今天上午”,则通过相似度比较,我们可以参照“今天下午” 的解推测出“今天上午”的解很可能是“今天/上午”。在统计分析的支持下, 制定一个基于记忆的伪歧义型高频最大交集型歧义切分字段消解这个策略,虽 然似乎简单得不能再简单,但实验证明行之有效,把它设计成一个预处理模块 可以明显改善实用型非受限汉语自动分词系统的排歧能力。而隐寓于其中的, 涉及智能实现机制的一些哲学思考也值得我们再三品味。 对组合歧义的处理通常需要上下文信息[17]。排歧的基本模型采纳WSD 中广 泛使用的向量空间法,设字串W0为组合歧义切分字段,句子Si包含W0,将W0 左右各d个词形成的窗口看作是W0的上下文,窗口中每一个不同的词均为W0的 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 58 特征词,特征词关于句子的集合为W0的特征词集。一般的,W0的切分形式有两 种,即“合”和“分”两种情况。于是,特征词集中的每个特征词Wj又被依次 赋予分别与两种不同切分形势相对应的两个权值,从而构成了特征矩阵。特征 矩阵中权值列向量的维数和权值的大小因处理的方法而异。特征分矩阵和特征 合矩阵可根据适当的规模的训练集自动获得。 任意输入一含W0的句子,则排歧过程同上:首先从该句中提取出W0上下文, 继而得到W0关于这个句子的特征矩阵,然后分别计算着这个特征矩阵和分矩阵 和合矩阵之间的距离,取距离较近所对应的下脚标作为切分结果。 3.5 新词的识别新词的识别新词的识别新词的识别 新词的识别就是未登录词的识别,所谓未登录词就是指系统词典中没有收 录的词。例如:汉语中的数量词(一千二百五),时间词(1998 年8月),人名 (赵健),地名(宽甸县),机构名(松雷百货)等,这些词没有办法全部收 录到词典中去,但是这些词在汉语中出现的概率很高,所以识别这些新词是分 词系统的一个重要任务。 中文的人名通常是由姓氏和名字两部分构成。姓氏是相对封闭的,可以作 为人名识别的一个明显的左开端。人名识别通常可以通过基于统计的方法来识 别,就通过计算一个候选人名的概率值,如果该概率值大于某个值,那么就是 一个人名,反之就不是一个人名。 地名的识别和人名的识别有些不同,有些地名有明显的右边界,例如:伊 春市、五常县、松峰山等。通常通过地名的特点、用字规律、用词规律、构词 规律和地名的上下文规律等,实现在真实文本中中国地名的自动识别。 下面介绍一种基于构词力的新词识别方法。通过统计发现绝大多数的未登 录词常被切分为单字词,因此,新词识别在某种程度上就是一个在适当的地方 和 范 围内 融合 这 些 连续的 单 字 词 的 过 程。Yao Yuan 博 士 [11] 曾提 出 基 于 head-middle-tail 结构的构词模式和基于构词能力的未登录词识别方法,将新词识 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 59 别看作是词语边界识别的后处理过程,应用简单叠加原理,提出一种汉字构词 能力、构词模式、字结合点和n-gram 模型相融合的未登录词识别算法。 3.5.1 统计构词能力统计构词能力统计构词能力统计构词能力 虽然理论上任何一个汉字均可成为多字词的成员,但每个汉字构成多字词 的能力并不一样。汉语中存在许多的功能字(Function Character) ,如“的”、“了”, 这些字的频度一般较高,而且常常单独存在,构成多字词的能力较弱。设 )(cWFP 为汉字 c 的构词能力(Word Formation Power, WFP),则 )( )()( cCount cCountcWFP 的多字词含= (3-2) 公式(3-2)实际上反映了单个汉字构成多字词的概率大小。那么,从汉字构 词能力角度,某一字串 ncccC L21= 构成词语 w 的概率可表示为:    > =− = ∏ ∈wc iWFP i wcWFP wcWFP wP )1(|C| ),( )1(|C| ),(1 )( 是多字词 是单字词 (3-3) 3.5.2 汉字构词模式汉字构词模式汉字构词模式汉字构词模式 对于任一汉字 c ,它在构成多字词时有如下三种模式:1. 词首(Head) : c 是 多字词的首字,以 H 表示;2. 词尾(Tail) : c 位于多字词的尾部,以T 表示;3. 词中(Middle) :c 位于多字词的中部,以 M 表示。设 )(cpttn 表示汉字c 在某一多 字词的模式,则 )( ))(()|)(( 位于多字词cCount cpttnCountccpttnPr = (3-4) 其中, )|)(( ccpttnPr 表示汉字 c 在某一多字词中取模式 )(cpttn 是的条件4 率,显然对于同一汉字 c ,存在 1)|)(( ,,)( =∑= TMHcpttn r ccpttnP 。 基于上述模式,任意一个多字词可能是如下两种结构之一: tailhead + 和 tailmiddlemiddlehead ++++ L 。于是,多字词 lcccw L21= 的构词模式概率为: 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 60 ∏ = = l i iirpttn ccpttrPwP 1 )|)(()( (3-5) 3.5.3 未登录词识别算法未登录词识别算法未登录词识别算法未登录词识别算法 虽然未登录词在切分句子中常常表现为单字词,但并不是说我们就可以自 由地将任意的单字词融合成新的多字词,它不仅依赖于新词内部各汉字的构词 能力、构词模式和字对间的亲和力有关,而且与该新词所处的上下文有关。这 里分别采用构词能力、字结合点模型和词语n-gram 模型描述这些特征信息,并 采用线性插值方法将它们融合在一起。 设有词串 RgleL wWwW sin= ,其中 ngle wwwW L21sin = 为一单字词串, Lw 、 Rw 分 别为该串的左、右邻多字词,未登录词识别的任务就是对 gleWsin 重新进行词语边 界划分,使新得到的词串更反应句子的意思。设 mnew xxxW L21 ˆ = 为 nwww L21 最 可能的新的切分词串,则: }))|()()()(({maxarg )()()()({maxargˆ ,,1 1∑= −+++= +++= ni iiriCJMipttniWFP W newbigramnewCJMnewpttnnewWFP W new xxPxPxPxP WPWPWPWPW new new L (3-6) 式中, Lwx =0 ;当 ix 为新词时, )( )( )|( 1 1 1 − − − ∑ = i w Ui iir xCount wxCount xxP U ( Uw 代表训练 语料中的所有新词)。 作为词语边界识别系统的后处理,未登录词识别算法的核心就是对3.3 节算 法输出中的某一单字词串重新进行词语边界划分,从中找到一个满足公式(3-6) 的新的词串。算法具体描述如下: 未登录词识别算法: 1. 从输入切分句子 NwwwW L21= 中寻找单字词串 gleWsin ( 1|| sin >gleW ); 2. 如果 gleWsin 存在重叠词形式,如 AABB、 ABAB、 ABB,则将重叠部分组 合一个新词,转到步骤4; 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 61 3. 构造 gleWsin 的所有可能词语边界划分,并利用3.3 节的算法从中搜索满足 公式(3-4) 的最佳划分 newW ∧ 替代 gleWsin ; 4. 检查输入句子,寻找下一个单字词串 gleWsin ,如果存在,则重复步骤2-3; 否则,输出结果,结束。 3.6 关于分词的统计规律关于分词的统计规律关于分词的统计规律关于分词的统计规律 我们从93-96 年《人民日报》中随机抽取约19,251,887 个汉字的不同领域不 同长度的文本,并采用3.5 节所描述的方法对这些文本进行加工,形成一个含有 12,348,010 词次的训练语料。此外,我们对训练语料中的歧义字段和未登录词的 分布情况进行了全部或抽样调查,结果分别见表3-2、表3-3和表3-4。 从这些数据我们可以看出这样几个规律:(1) 交叉歧义、组合歧义和词典未 登录词加在一起约占训练语料总词次的8.12% ,这说明若不考虑其它因素如词定 义的不一致的影响,最简单的最大匹配方法的分词精度的下界应在8% 左右。(2) 训练语料中共出现275,937 频次、41,394 种的交叉歧义字段,其中只有218 种真歧 义,约占歧义种数的0.5% ,其余全部为伪歧义。进一步的统计显示,歧义字段 的平均长度是2.37 词,平均约每100 个词出现5.30 交叉歧义字段,这说明交叉歧 义是影响汉语分词性能的重要因素;另外,表3-3还表明频率最高的771 种歧义 字段约覆盖训练语料中48.87% 的歧义。(3) 组合歧义的消解虽然很困难,但其出 现的概率很小,只占全部词次的0.36% 。(4) 训练语料中出现的未登录词约占总词 次的2.46% ,这说明未登录词是影响汉语词语边界划分准确率的重要因素之一; 另外5,394 个未登录词的抽样调查(表3-4) 显示,人名和地名,特别是中文人名和 地名,是未登录词的重要来源,分别占到47.66% 和14.83% ,因此若能解决人名 和地名的识别问题,近80% 的未登录词问题也就迎刃而解。 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 62 表3-2 训练语料中歧义和未登录词分布 种数 频次 占总词次百分比 面向FMM 切分的纠错规则数 交叉歧义 41,394 275,937 5.30 14,892 组合歧义 411 44,642 0.36 2,512 未登录词 23,932 303,531 2.46 23,932 表3-3 交叉歧义字段随频度的分布 频度 ≥200 ≥100 ≥50 ≥20 ≥10 ≥5 ≥2 ≥1 歧义种数 138 325 771 1,954 3,892 7,721 20,667 41394 总频度 78,779 104,800 134,859 170,939 197,013 221,761 255,209 275,937 覆盖度(%) 28.55 37.98 48.87 61.95 71.40 80.37 92.49 100.00 表3-4 未登录词分布 人名 地名 机构名 重叠词 其它 合计 中国 外国 中国 外国 数 量 2,571 565 800 292 231 74 861 5,394 百分比 47.66 10.47 14.83 5.41 4.28 1.37 15.96 100.00 3.7 语言单位的统计分布规律语言单位的统计分布规律语言单位的统计分布规律语言单位的统计分布规律Zipf’s Law 本小节介绍一个适用于各种不同语言,各级语言单位的统计分布规律,它 对于统计语言模型的建立具有重要的指导意义。 许多自然现象都遵循着一定的统计规律。G.K.Zipf 发现,象工资收入的分布 情况,英文单词词频和物种的分布情况等现象中,存在着一个普遍性的原理, 他提出了一个定律来说明这一类现象,后人称为Zipf 定律,其实质是一个多项式 衰减函数。Zipf 定律给出了英语文本中,英语单词频度与词序之间的关系。我们 首先加以简要讨论。 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 63 Zipf 定律是美国哈佛大学的语言学家George Kingsley Zipf (1902-1950 )发 现的[19] 。他发现,在大量英文文本中对单词进行计数,并从最高频到最低频进 行排序 ),...,,( 21 nwww ,那么其频度 ),...,,( 21 nfff 近似地服从Zipf 定律(Zipf,1935 ), 即 nf n 1∝ ,随后又由Mandelbrot [20] 给出了更佳的近似 05.1−∝ nf n 。自Zipf 定律发 现以来,许多研究者对英语的不同结构层次从音素级到语句级,进行了统计研 究[21] ,给出了相应的Zipf 定律。Zipf 定律对于自然语言理解的各个领域,尤其对 建立自然语言的统计模型具有重要的指导意义。 Zipf 定律具有多种不同的形式,我们首先给出最简单的形式,然后加以综合, 给出一种更为复杂的形式。 假设有一数据集,将集合内的元素按大小顺序排列,使得 nxxx >=>=>= ...21 按照这种顺序,r 称为 rx 的级别(rank )。可以视 rx 为有序集中第 r 个元素 值的大小。Zipf 定律给出了一个元素的值与它相应的等级之间的关系,可以简 单地描述如下: 常数=⋅ rxr (3 -7) 这种词序-大小关系图是如图3-2所示的双曲函数。 令 x 为集合中某元素的大小, )(xf 为其出现的频率, ∫ ∞ = 0 1)( dxxf 。令 n 为 数据集中元素的总的个数,且定义 )(xN 为值大于 x 的元素的个数,那么则有: ∫ ∞ = x duunfxN )()( (3 -8) 为一个具有值大小为 x 的元素的词序,则有 )()( 某个常数KxNx =⋅ 。 因此: 2//)()( xKnxNxf ′=′−= (3 -9) 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 64 其中, nKK /=′ 。 公式(3-9)是由公式(3-7)得到的大小-频度的关系,它存在着一些不足之处。 首先,(3-9)式中的常数 K′依赖于集合中元素的总数 n ,其次,正如我们将在后 文中看到的那样,由对Zipf 所发现的现象作出统计的解释而发现了可归为一族的 一系列分布,(3-9)式仅是该族分布中的一个特例。 图3-2 Zipf 定律的简单形式:词序与大小关系简图 Zipf 的发现仅是一族分布中的一个特例,由此经过统计推理,可以推出一个 分布族,即: 0, >= axr r a 常数 (3 -10) 经过类似前面的分析,可得下面的大小-频度关系: ,...,2,1,)( )1( == +− rArrf a (3 -11) 这里 0>a ,且 ∑ ∞ = +−=+= 1 )1()1( r araA ζ (3 -12) 为 黎 曼 ζ 函 数 。 上 述 公 式 定 义 了 离 散 帕 累 托 分 布 ( discrete Pareto distribution ),(3-9)式只不过是(3-12)式在 1=a 式的情形。 自Zipf 定律被发现以来,许多语言学家,统计学家对英文的各个层次结构进 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 65 行了统计研究,人们发现,在英文的音素级,单词级,词性(part-of-speech ) 级,语句级,二元对(bigram ),三元对(trigram ),甚至于名词短语的词性序 列,介词短语的词性序列等等各个层次结构,都近似的遵循各自的不同形式的 Zipf 定律。 那么,在现代汉语中各个层次的语言单位中,存在着怎样的词频-词序关 系呢?我们在建立现代汉语计算语言模型的实践中,通过实验发现,在现代汉 语的字,词,二元对等层次结构上,同样存在Zipf 形式的频度-词序关系[18] 。 这种现象的发生的原因可能是由于:人们在为书写文档而选择词汇的时候,大 体遵循如下两个原则:1) 关联原则,人们大体上总是使用他先前使用过的词汇。 2) 模仿原则,人们总是模仿和借鉴自己或其他人已有的作品。 研究大规模真实文本中的词频-词序关系,对建立现代汉语计算语言模型 具有重要的指导意义。首先,它指出,在大规模的真实文本中,少量高频的语 言单位占有很高的比例。假如现代汉语中现存的词汇共有100000 个,而常用的 词汇仅有2000 个,也就是说,我们仅仅考虑频度最高的2000 个词汇。那么这2000 词汇占统计语料中总词汇量的比例可近似地计算如下: 根据Zipf 定律, )()( 常数Crrf =⋅ ,...,2,1=r The Ratio = )100000/1...3/12/11( )2000/1...3/12/11( )100000(...)2()1( )2000(...)2()1( ++++ ++++=+++ +++ C C fff fff 100000/1...2/11 2000/1...2/11 +++ ++= (3 -13) 由于, ),5772.0(ln1lim 称为欧拉常数==−∑∞→ EEnnnn 故,The Ratio ≈ )100000ln( )2000ln( ≈ 66% (3 -14) 占总词汇量的2% 的词汇的总出现次数占统计语料中的总词汇量的66% 。在 对现代汉语的结构特征的研究中,我们可以将注意力集中在汉语中高频的词汇 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 66 和结构中,它们已经覆盖了语料库中的相当大的一部分。 仅仅基于词汇的分布情况,我们只能得到极少数高频的词汇的有意义的统 计信息,而对于我们所感兴趣的绝大多数的词汇或其他的语言的结构单位来说, 就很难得到什么有意义结论。另外,我们可以由此断定,许多的语言单位的出 现频率是极低的,而且,还存在着极多的合法的语言单位或者语言单位的搭配, 由于未在用于训练语言模型的语料库中出现,而难于分清到底是因为在语法意 义上非法还是仅仅因为未在用于训练的语料库中出现。为解决这个数据稀疏问 题,人们采用了许多办法,如扩大训练语料库的规模,采用一些数据平滑技术 等等。但是,语料库规模的扩大仅仅能够起到十分有限的作用。 3.8 本章小结本章小结本章小结本章小结 本章主要讲述了中文自然语言处理中的一些基本的处理步骤,主要是分词 和基于分词的一些统计规律。在分词部分主要介绍了分词的规范,分词的一些 基本方法,和分词常见的问题。统计规律主要介绍了简单的基于词的相关的统 计信息,包括分词歧义统计和Zipf 规律。 参考文献: [1] Wang Xiaolong, Wang Kaizhu, et al. The Problem of Separating Characters into Fewest Words and Its Algorithms. Chinese Science Bulletin (English edition), 1989, 34(22): 1924-1928 [2] Yeh Ching-Long and Lee Hsi-Jian. Rule-Based Word Identification for Mandarin Chinese Sentences – A Unification Approach. Computer Processing of Chinese & Oriental Languages. 1991, 5(2): 97-117 [3] 梁南元,郑延斌.汉语分词模型和汉语分词系统PC-CWSS. Communications of COLIPS. 1991, 1(1): 51-55 [4] 刘源.信息处理用现代汉语分词规范及自动分词方法. 清华大学出版社,广西科技出版 社,1994 [5] Chiang Tung-Hui, Chang Jing-Shin, Lin Ming-Yu, and Su Keh-Yih. Statistical Models for Word Segmentation and Unknown Word Resolution . In Proceedings of ROCLING-Ⅴ, R.O.C. Computational Linguistics Conferences, Taiwan, 1992: 123-146 第第第第3章章章章 分词和统计分布规律分词和统计分布规律分词和统计分布规律分词和统计分布规律 67 [6] 高军,陈锡先. 基于变长方法汉语语料自动分词. Communications of COLIPS, 1996, 6(2): 87-94 [7] 刘挺,吴岩, 王开铸. 串频统计和词形匹配相结合的汉语自动分词系统. 中文信息学报. 1998, 12(1): 17-22 [8] Sun Mao-Song, Shen Da-Yang and Benjamin K Tsou. Chinese Word Segmentation without using Lexicon and Hand-crafted Training Data. Proceedings of COLING-ACL’98. Montreal, Canada, 1998: 1265-1271 [9] Masaaki Nagata. A Self-Organizing Japanese Word Segmenter using Heuristic Word Identification and Re-estimation. In Proceedings of the Fifth Workshop on Very Large Corpora. Beijing, China, 1997: 203-215 [10] Richard Sproat, Chilin Shih, William Gale, and Nancy Chang. A Stochastic Finite-State Word Segmentation Algorithm for Chinese. Computational Linguistics. 1996, 22(3): 377-404 [11] Yao Yuan. Statistics Based Approaches towards Chinese Language Processing. Ph.D. thesis. National University of Singapore. 1997 [12] 孙茂松,左正平,邹嘉彦. 高频最大交集型歧义切分字段在汉语自动分词中的作用. 中 文信息学报. 1999, 13(1): 27-34 [13] Convering Ambiguity Resolution in Chinese Word Segmentation Based on Contexual Information COLING 2002 [14] 信息处理用现代汉语分词规范及自动分词方法 刘源 清华大学出版社出版年 [15] 书面汉语的自动分词与另一个自动分词系统CDWS,梁南元,中国汉字信息处理系统 学术会议,桂林,1983 [16] 第三次全国自然语言理解研讨会论文集,1989 午8月,太原 [17] 肖云,孙茂松 利用上下文信息解决汉语自动分词中的组合型歧义,计算机工程与应 用 2001 年19 期 [18] 关毅 王晓龙 张凯,“现代汉语计算语言模型中语言单位的频度-词序关系”,《中文 信息学报》,1999.2 Vol.13 No.2 P:8—15 [19] G.K. Zipf, Human Behavior and the Principle of Least Effort (Addison-Wesley, 1949). [20] B. Mandelbrot, "An informational theory of the statistical structure of languages", in Communication Theory, ed. W. Jackson (Betterworth, 1953) , pp. 486-502. [21]G.A. Miller, E.B. Newman, "Tests of a statistical explanation of the rank-frequency relation for words in written English", American Journal of Psychology, 71, 209-218 (1958). 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 68 第第第第4章章章章 基于数学统计的基于数学统计的基于数学统计的基于数学统计的语言模型语言模型语言模型语言模型 语言模型语言模型语言模型语言模型(Language Model )是描述自然语言内在规律的数学模型,构造 语言模型是计算语言学的核心。在实践中,语言模型广泛地用于语言识别、手 写体文字识别、机器翻译、键盘输入、信息检索等研究领域。 语言模型可分为传统的文法型语言模型和基于统计的语言模型。文法型语 言模型是人工编制的语言学文法,文法规则来源于语言学家掌握的语言学知识 和领域知识,但这种语言模型不能处理大规模真实文本。为满足这一需求,基 于统计的语言模型应运而生。这种语言模型通常是概率模型,计算机借助于统 计语言模型的概率参数,可以估计出自然语言中每个句子出现的可能性,而不 是简单地判断该句子是否符合文法。在本章中,将对常用的统计语言模型,包 括 N 元文法模型元文法模型元文法模型元文法模型(N-gram Model )、隐马尔科夫模型隐马尔科夫模型隐马尔科夫模型隐马尔科夫模型(Hidden Markov Model, 简 缩为 HMM)、最大熵模型最大熵模型最大熵模型最大熵模型(Maximum Entropy Model ),分别进行介绍,并给出 了如何去评价一个语言模型的方法。 4.1 统计语言模型概述统计语言模型概述统计语言模型概述统计语言模型概述 一个基于统计的计算语言模型以概率分布的形式描述了任意语句(字符串) s 属 于 某 种 语 言 集 合 的 可 能 性 。 例 如 : 02.0)//( ≈学习认真他p , 03.0)/( ≈认真/读书他p , 0)//( ≈坏认真他p ,等等。这里并不要求语句 s 在 语法上是完备的,该模型需对任意的语句 s 都给出一个概率值。 假定词是一个句子的最小的结构单位,并假设一个语句 s 由词 nwww ,...,, 21 组成,那么,不失一般性, )(sp 可由下式计算: )...|()|()|()()( 121213121 −= nn wwwwpwwwpwwpwpsp L ∏ = −= n i ii wwwp 1 11 )...|( (4-1) 例如对于二元模型而言, )|()...|( 1121 −− = iiii wwpwwwwp , )1( ni ≤≤ ,那么 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 69 公式(4-1)为: ∏ = −= n i ii wwpsp 1 1 )|()( (4-2) 为保证公式(4-1) 和公式(4-2) 的完备性,必须引进一个起始词 0w ,并且假定 )()|( 101 wpwwp = 。公式(4-2) 和公式(4-2) 满足 1)( =∑ s sp 。 概率 )|( 1−ii wwp 可以使用许多方法估算,一种被广泛采用的称为最大相似最大相似最大相似最大相似 度估计度估计度估计度估计(Maximum Likelihood Estimation ,简缩为MLE)的方法使用如下公式估 算: ∑ − − − = iw ii ii ii wwcount wwcountwwp )( )()|( 1 1 1 (4-3) 公式(4-3) 中, )( 1 ii wwcount − 为词对 ii ww 1− 在训练语料库中出现的次数。用于 估算基于统计的计算语言模型中的概率分布的训练语料库文本称为训练数据训练数据训练数据训练数据 (Training Data )。根据训练数据估算 )|( 1−ii wwp 这类概率分布的过程称为训练。 前文曾经提到,大量的低频词,无论训练数据的规模如何扩大,其出现频 度仍旧很低甚至根本不出现。如果采用MLE 估算它们的概率分布,将出现大量 的 0)|( 1 =−ii wwp ,从而导致 0)( =sp 的情况,这种情况大大削弱了该模型的描 述能力。数据平滑技术数据平滑技术数据平滑技术数据平滑技术(Data Smoothing )能够解决这一类问题,它通过调整 )|( 1−ii wwp 这类概率分布的取值的方法,从而避免 0)( =sp 这类情况的出现,达 到使 )(sp 的计算更加精确的目的,在4.3 节将对其进行详细介绍。 以上简要介绍了基于统计的计算语言模型的一些基本概念和术语。下面介 绍现有的常用统计语言模型和数据平滑技术。 4.2 现有的主要统计语言模型现有的主要统计语言模型现有的主要统计语言模型现有的主要统计语言模型 本小节综述现有的主要统计语言模型。参照前文对语言模型作用的定义, 根据对上下文空间不同的划分方法,本小节将现有的语言模型分为五大类分别 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 70 讨论。 4.2.1 上下文无关模型上下文无关模型上下文无关模型上下文无关模型 上下文无关模型仅仅考虑当前词本身的概率,而不考虑该词所对应的上下文 环境,这是一种最为简单,易于实现,而没有多大实际应用价值的统计语言模 型。在这里列出,仅仅是作为其他的更为复杂实用的计算语言模型的一个基础。 一种最简单的上下文无关模型,是将所有的词视为具有相同的概率分布的随 机变量的统计模型。设给定的词表为V ,那么一个词的概率由下式给出: Vcwwp i 1)|( == (4-4) 其中c 是词的上下文,这个模型无需估计任何词的概率,因而也就不需要任何训 练数据。如果根据在训练文本中词出现的频度估算出词的概率,而不考虑该词 的上下文环境,就可以给出一个能够更为精细反映词的统计特征的计算语言模 型: )()|( wwpcwwp ii === (4-5) 采用 MLE, )( wwp i = 由下式近似地给出: () N Nwwp w i == 其中, wN 表示词 w 在训练文本中出现的总的次数,N 为训练文本的总词数。这 类模型十分简单,仅需估算出 V 个词的概率。在实际应用中,它被应用到一些 商用语音识别系统中[1]。因为它是 gramN − 模型当 1=N 时的特殊情形,所以它 也被称为一元文法统计模型一元文法统计模型一元文法统计模型一元文法统计模型(Unigram Model )。 一元文法模型的优点是它仅仅需要非常少的训练数据,它的缺点是没有考虑 到上下文信息,统计信息不充分,因而在实际应用中往往系统精确度不高。 4.2.2 N 元文法模型元文法模型元文法模型元文法模型 前述的语言模型仅仅考虑了词本身的概率分布,而没有考虑该词的上下文环 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 71 境。从本小节开始,后文将考察依赖于上下文环境的词的概率分布情况,由此 构成依赖于上下文环境的统计计算语言模型。 首先考察 N 元文法模型的一种简单情况,即 2=N 。此时的语言模型又称为 Bigram 语言模型。当读者看到一个句子的片段“他正在认真”时,显然这并不 是一个完整的句子。那么,什么样的词可以接续在该片段的后面以构成一个完 整的句子呢?一种方法是通过查看“认真”一词,来确定下一个词,可以是“学 习,工作,思考”等等,而不能是“美丽,我,中国”等等。由此可知,在自 然语言中,存在着后一个词的出现条件地依赖于前一个词的出现的现象。因此, 如果把一个词的上下文定义为该词的前一个词,尽管这一定义仅仅包含了上下 文的极少的一部分,却对下一个词的出现具有较强的约束力。语料库语言学研 究表明,许多词的前面词的出现对于该词的出现具有很强的预测能力,对于象 英语这样的有严格的语序的语言更是如此。汉语的语序较英语灵活得多,但这 种约束关系依然存在,反映了这种约束关系的语言模型,在实际的应用中非常 有效。 如下的公式,反映了这种条件依赖(或约束)关系: )|()|( 1−=== iii wwwpcwwp 如果假定,在一个语句中第i 个词出现的概率,条件地依赖于它前面的 1−N 个词,即将一个词的上下文定义为该词前面出现的 1−N 个词,这样的语言模型 就叫做 N 元文法统计模型( gramN − )。由如下公式所示: )|()|( 1 1 − +−=== i Niii wwwpcwwp (4-6) 在 N 元文法统计模型中,对于系统词表中词的每一个 1−N 元组,都有一个 概率分布与其相对应。由于共有 1−NV 不同的 1−N 元组,因此这类统计模型有 1−NV 个不同的概率分布。对于每一个分布,我们又必须估算 N 个参数,因此这 类统计模型共需估算出 NV 个参数。例如,若 10000=V , 3=N ,我们必须计 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 72 算出 1210 个参数。对于大词表应用而言(例如: 10000>N ),由于参数空间随 着 N 的增大呈指数上升,因此 N 不能取得太大,一般取 2 或 3[2]。 gramN − 模型的优点在于它包含了前 1−N 个词所能提供的全部信息,这些 信息对于当前词的出现具有很强的约束力。它的缺点在于需要相当规模的训练 文本来确定模型的参数。当 N 较大时,模型的参数空间过大。 文献[3]指出:自从十几年前在大词表语言识别系统中首次使用 Trigram 以 来,直到现在,Trigram 统计模型仍旧是在实际应用中表现最佳的语言模型,并 且成为许多其它的语言模型的重要组成部分。 4.2.3 posN − 模型模型模型模型 gramN − 模型的主要缺点是它需要大规模的文本训练。另一方面,它假定 在一个语句中第i 个词出现的概率,条件地依赖于它前面的 1−N 个词,而事实 上并非如此。许多词出现的概率条件地依赖于它前面词的语法功能。于是人们 设想,将词按照其语法功能进行分类,由这些词类决定下一个词出现的概率。 这样的词类称为词性词性词性词性(Part-of-Speech ,简缩为 POS),而相应的语言模型称为 posN − 模型。 令 },...,,{ 21 tgggG = ,为词类的集合。令 )(wg 表示词 w 的词类,用 )( 2 1 i iwg , nii ≤≤≤ 211 表示 )( 1iwg ,)( 11 +iwg ,…, )( 2iwg 。 在 posN − 模型中,一个词出现的概率条件地依赖于前 1−N 个词的词类, 因而,上下文定义为该词前面 1−N 个词的词类。由如下公式所示: ))(|()|( 1 1 − +−=== i Niii wgwwpcwwp (4-7) 这种模型有 1−NG 个不同的概率分布,共需估算出 VG N ⋅−1 个参数。例如, 若 200=G , ,10000=V 3=N ,那么这种模型(Tri-pos 模型)共需估算出 10108⋅ 个参数,其参数空间较同样规模的 gramN − 模型(Trigram 模型)减小很多。 进一步,如果假设一个词的词类出现的概率条件地依赖于前 1−N 个词的词 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 73 类,而该词本身的概率依赖于该词所属的词类,我们就可以得到如下公式: ))(|())(|)(()|( 1 1 ii i Niii wgwwpwgwgpcwwp =⋅== − +− (4-8) 这种模型并没有改变上下文的定义,但是它只需估算出 VGG N ⋅+ 个参数。 例如:对于同样的 G 和 V ,它只需估算出 810 个参数,其参数空间进一步大大 地减小了。 上述模型[4]要求词类各不相交,但是,在自然语言中,广泛地存在着一词多 类的现象。例如,“学习”一词可以是动词,也可以是名词。因此,词“学习” 出现的概率应该是它作为一个名词的概率加上它作为一个动词的概率。针对这 种情况,考虑到一个词的所有所属词类,就可以给出如下公式: ∑∈ − +− ==⋅=== Gg jii i Nijii j gwgwwpwggwgpcwwp ))(|())(|)(()|( 1 1 (4-9) posN − 模型与 gramN − 模型有着密切的关系。考察 posN − 模型的极端的 情况,即当整个模型只有一个词类,与每一个词都有一个词类的情况。如果 posN − 模型只有一个词类,那么前 1−N 个词类没有提供任何上下文信息,于 是 posN − 模型退化为Unigram 模型;如果每一个词都有一个各不相同的词类, 显然,这样的 posN − 模型等价于 gramN − 模型。因此, gramN − 模型与 posN − 模型由词类数量的不同而相互转化的关系如图 4-1 所示: 图 4-1 N-gram 模型与N-pos 模型的关系 posN − 模型的优点在于它需要的训练数据比 gramN − 模型少得多,并且 …… …… 1 25 500 N Unigram 模型 经常使用的 N-pos 模型词 类数一般在 25~500 之间 N-gram 模型 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 74 模型的参数空间也要小得多。它的缺点在于词的概率分布依赖于词性而非词本 身,显然按照词类划分词的概率分布不如词本身的划分更加精细。因此在实际 的应用(如语言识别)中,这类语言模型一般难以达到 gramN − 模型的精度[5]。 4.2.4 基于决策树的语言模型基于决策树的语言模型基于决策树的语言模型基于决策树的语言模型 在前述的语言模型中,为建模所需估算的概率分布是固定的,与训练数据无 关。例如,在 Tri-pos 模型中,每一个二元词类对都有一个概率分布,我们需估 算出 2 G 个概率分布。尽管存在许多二元词类对的概率分布情况相似的情况,仍 然要逐一枚举每一个二元词类对并计算其概率分布。例如,在英语中,〔动词, 冠词〕和〔介词,冠词〕的概率分布情况相近,却需对这两种分别计算它的概 率分布情况,这不仅是参数空间上的浪费,而且相近的概率分布对提高语言模 型的表现能力毫无助益。 统计决策树技术可以解决这一问题。近年来,统计决策树成功地运用在统计 计算语言处理技术的许多领域[6]。构造统计决策树的方法以及统计决策树的有 关细节请参见有关文献[7]。本小节仅对统计决策树在构造语言模型技术中的应 用作一简要描述。 在构造统计计算语言模型的应用中,一棵统计决策树包括所有的概率分布以 及根据当前上下文查询其分布的机制。在这样的统计决策树中,通常包括两种 类型的节点:中间节点和叶节点。每一个叶节点包括唯一的概率分布,而每一 个中间节点包括关于上下文的一个提问。对于当前词的上下文,查询从根节点 开始,由对根节点的提问的不同回答进入子节点,直至叶节点。从而得到当前 词上下文的分布信息。 为构造一棵统计决策树,必须预先定义一个关于上下文信息的问题集和一个 评价问题优劣的函数。例如,可以参考统计决策树高度最小(查询所经过的中 间节点最少、查询速度最快)等因素来构造这样的函数。首先,选取使评价函 数值为最优的问题,构造一个根节点。然后递归地构造它的子节点,直到满足 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 75 某种结束条件使构造过程终止。训练数据包括在给定上下文中出现的一些词, 例如在训练语料库中出现一个词 iw ,它的前一个词为 1−iw ,这样的一个数据点 为 ( 1−iw , iw )=( 今天 , 是)。在关于上下文信息的问题集中都是这样的提问:“它 前一个词的词性是 jg 吗?”。这里 jg 可以是任何词性标号。每一个这样的数据 通过回答根节点上的提问而进入子节点,并回答子节点的提问进入下一级子节 点,直到叶节点为止。在叶节点中我们根据训练数据的频度来计算满足相应上 下文条件的概率分布情况。 前述的所有语言模型,包括Unigram 、 gramN − , posN − 等等,归根结底, 都可以以统计决策树的形式表示出来。因此,统计决策树模型是一种更加通用 的语言模型。它的优点在于,分布数不是预先固定好的,而是根据在训练语料 库中的实际情况确定的。它的缺点在于构造统计决策树的时空消耗非常大。 4.2.5 动态动态动态动态、、、、自适应自适应自适应自适应、、、、基于缓存的语言模型基于缓存的语言模型基于缓存的语言模型基于缓存的语言模型 在前述的所有语言模型中,概率分布都是预先从训练语料库中估算好的,在 语言模型的应用过程中,并不改变这些数据。因此,这样的语言模型可以称作 静态语言模型[8]。但是,在自然语言中,经常出现这样的现象。某些在文本中 通常很少出现的词,在某一局部文本中突然大量地出现。文献[9]描述了因语料 库中文本类型的不同而使词的频度分布情况不同的情况。能够根据词在局部文 本中的出现情况动态地调整语言模型中的概率分布数据的语言模型称为动态、 自适应的或者基于缓存的语言模型。 动态语言模型这一概念首先是由 Kuhn [10]提出的,在文献[11]中,这一概念 得到了发展,并在[12]中得到了验证。由于这些方法都有一些相似之处,下文中 仅举一种方法为例加以详细说明。 在文献[7] 中, N 个最近出现过的词 1− − i Niw 存于一个缓存中,作为独立的训练 数据。基于这些数据,可以估算出独立的 Unigram ,Bigram,Trigram 等频度数 据。通过某种平滑算法将这些频度数据结合起来,可以估算出一个单独的动态 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 76 Trigram 数据,用 )|( 1 2 − − i iidyn wwp 表示。对于在缓存中出现过的所有词,都计算出 一个动态 Trigram 数据。它们与静态语言模型中的频度分布数据 )|( 1 2 − − i iista wwp 通 过线性插值而结合在一起,形成一个混合的动态自适应的模型,由如下公式所 示: )|()1()|()|( 1 2 1 2 1 2 − − − − − − −+= i iista i iidyn i iicom wwpwwpwwp λλ (4-10) 其中, 10 << λ ,它的值可以通过 forward-backward 算法来估算出来[13],由 静态 Trigram 模型的规模以及 N 取值的不同一般取值在 0.07~0.28 之间。 这种混合模型可以有效地避免数据稀疏的问题,同时可以提高原静态模型 的表现能力。在文献[7] 中,一个孤立语音识别系统,经短文本测试错误率降低 了5%; 经长文本测试错误率降低了24% 。 4.3 数据平滑技术数据平滑技术数据平滑技术数据平滑技术 前文曾经提到:由于语言模型的训练文本T 的规模及其分布存在着一定的局 限性和片面性,许多合理的语言搭配现象没有出现在T 中。例如:一个词串 i Niw 1+− 没有出现在训练文本T 中,根据公式(4-6),该词串对应的上下文条件概率 )|( 1 1 − +− i Nii wwp =0 ,从而导致该词串所在的语句 S 的出现概率 0)( =Sp 。这种情况 通常被称作数据稀疏问题(Data Sparseness )或零概率问题。对于一个给定的词 典V ,基于词的N-gram 模型的模型参数空间为 NV || 。显然,随着N-gram 模型的 元数(N值)的增长,该模型的参数空间呈指数性增长,其面临的数据稀疏问题 也越来越严重,这极大地影响了模型的语言描述能力。根据Zipf 统计定律[14], 我们知道:对于大量的低频词来说,无论训练语料库的规模如何扩大,其出现 频度依然很低或根本不出现,无法获得其足够的统计特性,用于可靠的概率估 计。显然,单纯地扩大训练文本T 的规模,不仅受到计算机的时空复杂性的限 制,而且对于数据稀疏问题所起的作用也十分有限。由于数据稀疏问题严重地 制约着统计语言模型的性能,用于解决该问题的数据平滑技术成为统计语言模 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 77 型的研究热点。该技术对采用最大似然估计得到的词的上下文概率分布进一步 调整,确保统计语言模型中的每个概率参数均不为零,同时使模型中的概率分 布更加趋向合理、均匀。 尽管数据平滑技术是构造统计语言模型的核心技术,但文献中缺乏对现有 的各种数据平滑方法之间的系统评价,只有Nadas [15][16][17]、Katz [18]、Church [19] 和Peto [20]等人在固定规模的语料库上对极少数的数据平滑算法进行了比较。这 种情况使得研究人员很难从众多的数据平滑技术中选择适合自己的方法。 4.3.1 数据平滑算法的评价标准数据平滑算法的评价标准数据平滑算法的评价标准数据平滑算法的评价标准 某种数据平滑算法的优劣,可以根据经过该平滑算法处理之后的语言模型 的性能而度量出来。前文曾经提到:语言模型的性能一般根据它在测试文本上 的交叉熵(Cross Entropy )或迷惑度(Perplexity )进行度量(见2.2.5 节)[21]。 对于一个给定的语言模型 M 和一个测试文本T ,T 由句子序列 )( 21 Tlttt K 组 成,包含的总词数为 TN 。令模型 M 采用了第 m 类数据平滑技术之后的概率分 布为 mp 。第 m 类数据平滑技术的性能则可以通过计算模型 M 在T 上的交叉熵 mEntropy 进行评价, mEntropy 的计算公式如下: )(log1 1 2 im l iT m tpNEntropy T ∑= −= (4-11 ) 在熵的基础上,可以计算出语言模型的迷惑度, mEntropy mPerplexity 2= ,作 为数据平滑算法的另一种性能评价标准。语言模型的熵值或迷惑度值越小,说 明该平滑算法的性能越好。 有时,研究人员也可以采用模型 M 的概率参数直接计算测试文本T 的生成 概率(对数形式),来度量语言模型的数据平滑算法的性能,具体公式如下: )(log 1 2 im l i M tpF T ∑= = (4-12 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 78 测试文本的生成概率越大,说明模型和测试集的符合程度越高,对应的数 据平滑算法的性能越好。显然,上述三种数据平滑的度量方法是相互等价的。 4.3.2 常见平滑方法常见平滑方法常见平滑方法常见平滑方法 1.加法平滑 Lidstone 、Johnson 和 Jeffreys 等人提出了一种简单易行的数据平滑方法[22], 称作加法平滑(additive Smoothing )。它的基本思想为:为了避免零概率问题, 将 N-gram 模型中每个 N 元对的出现次数加上一个常数δ ( 10 ≤< δ ),相应的 N-gram 模型参数 )|( 1 1 − +− i niiadd wwp 计算如下: ∑ + += +− +−− +− iw i ni i nii niiadd Vwc wcwwp ||)( )()|( 1 11 1 δ δ (4-13 ) Lidstone 建议 1=δ 。Gale 认为这种平滑技术的性能一般来说较差[23]。 2.Good-Turing Good-Turing 估计是许多数据平滑技术的核心[24]。Good-Turing 估计的基本 思想为:对于 N-gram 模型中出现 r 次的 N 元对 i niw 1+− ,根据 Good-Turing 估计公 式,该 N 元对的出现次数为 *r : r r n nrr 1* )1( ++= (4-14 ) 其中, rn 表示 N-gram 的训练集中实际出现 r 次的 N 元对的个数。那么,对于 N-gram 中出现次数为 r 的 N 元对 i niw 1+− 的出现概率为: ∑ ∞ = +− = 0 * * 1 )( r i niGT r rwp (4-15 ) 由于 rn 不能为零,所以Gale 和Sampson(1995) 提出一种用于 rn 的平滑算法 [25]。由于Good-Turing 估计公式中缺乏利用低元模型对高元模型进行线性插值的 思想,它通常不单独使用,而作为其他平滑算法中的一个计算工具。 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 79 3.线性插值平滑 线 性 插 值 平 滑 ( Linear Interpolation Smoothing ) 方 法 通 常 也 被 称 作 Jelinek-Mercer 平滑[26]。该数据平滑技术主要利用低元 N-gram 模型对高元 N-gram 模型进行线性插值。Jelinek 和 Mercer 在 1980 年首先提出了这种数据平 滑算法的思想,Brown 在 1992 年给出了线性插值的平滑公式: )|()1()|()|( 1 2int 1 1 1 1int 1 1 1 1 − +− − +− − +− ⋅−+⋅= − +− − +− i niierpw i niiMLw i niierp wwpwwpwwp i ni i ni λλ (4-16) N-gram 模型可以递归地定义为由最大似然估计原则得到的 N-gram 模型和 (N-1)-gram 模型的线性插值。为了结束以上的递归定义:可以令 Unigram 模型 为最大似然估计模型,或者令 0-gram 模型为一个均匀分布模型 || 1)( Vwp io =阶 。 对于插值系数 1 1 − +−i niw λ 的估计,一般可以采用 Baum-Welch 算法估计出来[27]。 其基本思想为:使用经过数据平滑的模型概率参数,计算一个测试集 H 的对数 似然概率 )(log Hp ,当 )(log Hp 为极大值时,对应的 1 1 − +−i niw λ 为最优值。因此可 以求解 )(log Hp 对应于每个 1 1 − +−i niw λ 的偏导数,令 0)(log 1 1 =∂ ∂ − +−i niw Hp λ 。通过对该方程 求解,可以得到 1 1 − +−i niw λ 的迭代计算公式: )|()1()|( )|( )()( 1 1 2int 1 1 1 1 11 1 ' 1 1 1 1 1 11 1 − +− − +− − +− +−− +− ⋅−+⋅ ⋅ ⋅⋅= − +− − +− − +−− +− ∑ i niierpw i niiMLw i niiMLw w i nii ni w wwpwwp wwp wcwc i ni i ni i ni i i ni λλ λ λ 其中, )( j iwc 代表词串 j iw 在测试集中出现的次数。由于需要计算的 1 1 − +−i niw λ 参数 众多,Jelinek 和Mercer 建议对 1 1 − +−i niw λ 参数空间进行桶式分类,属于同一类的所 有的 1 1 − +−i niw λ 被设置为相同值。Baul 进一步提出根据 )( 1 1 − +− i niwc 对 1 1 − +−i niw λ 进行分类 [1] ,属于同一类的 1 1 − +−i niw λ 设置为相同值。 )( 1 1 − +− i niwc 越大,设置 1 1 − +−i niw λ 值越大。 4.回退式平滑 Katz 提出的一种回退式数据平滑(Backing-off Smoothing )算法[18]。该数据 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 80 平滑算法的主要思想为:当一个 N 元对 i niw 1+− 的出现次数 )( 1 i niwc +− 足够大时, )|( 1 1 − +− i niiML wwp 是 i niw 1+− 可靠的概率估计。而当 )( 1 i niwc +− 不是足够大时,采用 Good-Turing 估计对其平滑,将其部分概率折扣给未出现的 N 元对。当 )( 1 i niwc +− =0 时,模型回退到低元模型,按着 )|( 1 2 − +− i niikatz wwp 比例来分配被折扣给未出现的 N 元对的概率。综合上述思想,回退式平滑算法的平滑公式为: )0)(( ))(1( ))(( )|( )|( )|( )|( 1 1 1 1 2 1 1 1 1 1 1 = <≤ ≥    ⋅ ⋅= +− +− +− − +− − +− − +− − +− i ni i ni i ni i niikatz i niiGT i niiML i niikatz wcif kwcif kwcif wwp wwp wwp wwp β α (4-17 ) 其中, )|( 1 1 − +− i niiML wwp 为最大似然估计模型。 )|( 1 1 − +− i niiGT wwp 为 Good-Turing 概率 估计。阚值 k 为一个常量,Katz 建议 k =5 。参数α 和 β 保证模型参数概率的归 一化约束条件,即 1)|( 1 1 =∑ − +− iw i niikatz wwp 。为了结束公式(4-17 )的递归定义, 可以令 Unigram 模型为最大似然估计模型,或令 0 阶模型为均匀分布模型。 令 )( 1 i niwcr +−= , ∑ +− +− = i ni ni w i r rwcn 1 1 )),((δ , ∑ +− +−= i niw i niwcN 1 )( 1 。 )( 1 i niGT wp +− 的计 算公式如下: N r n nwp r ri niGT 1)( 1 1 +⋅= + +− (4-18 ) 而 )( 1 i niML wp +− 采用最大似然估计原则进行估计: N rwp i niML =+− )( 1 (4-19 ) 根据 Good-Turing 估计公式,被折扣给所有未出现的 N 元对的次数之和等 于 1n 。显然 1 0 nNnr r r −=⋅∑> 。根据回退式平滑算法的定义,可以得出下面的公 式: ∑∑∑ ∞ = − = + ∞ = ⋅=−=⋅+⋅+⋅ 2 1 1 11)1( r r K r r Kr r nrnNnrnr α (4-20 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 81 通过对(4-20 )公式求解,可以求出α 的值: ∑ ∑ = − = ⋅ ⋅ = K r r K r r nr nr 2 1 2α (4-21 ) 将公式(4-17 ),带入到 1)|( 1 1 =∑ − +− iw i niikatz wwp 等式中,可得: ∑∑∑ ∈ − +− ∈ − +− ∈ − +− −⋅−=⋅ *0 )|()|(1)|( 1 1 1 1 1 2 KiKii Sw i niiML Sw i niiGT Sw i niikatz wwpwwpwwp αβ (4-22 ) 在公式(4-22 )中, }0)(|{ 10 == +− i nii wcwS , })(0|{ 1 KwcwS i niiK <<= +− , =KS })(|{ 1 Kwcw i nii ≥+− 。将(4-21 )带入公式(4-22 ),可以求出 β : ∑ ∑∑ ∈ − +− ∈ − +− ∈ − +− −⋅− = 03 *33 )|( )|()|(1 1 2 1 1 1 1 Sw i niikatz Sw i niiML Sw i niiGT wwp wwpwwp KK α β (4-23 ) 显然,与线性插值平滑算法相比,回退式数据平滑算法的参数较少,而且 可以直接确定,无需通过某种迭带重估算法反复训练,因此它的实现更为方便。 5.Kneser-Ney 平滑 Kneser 和Ney 于1995 年在绝对折扣平滑方法的基础上提出了一种新的平滑 算法,一般称之为Kneser-Ney 平滑[28]。其基本思想为:当使用低元模型对高元 模型进行插值平滑时,低元模型在混合模型中的影响较大,因此必须特殊处理。 例如,在英语中“Francisco ”一词仅出现在“San ”之后。由于 )Francisco(c 很大, )Francisco(p 较高。如果采用绝对折扣平滑方法,那么对于任意不等于“San ” 的上下文 h , )hFrancisco/(p 也会被赋予很高的概率,这显然是不合理的。因此 在Kneser-Ney 平滑中,他们认为Unigram 概率 )( iwp 应与其不同的前向邻接词的 数量成正比,而不是与其频度 )( iwc 成正比。即: )( )()( 1 1 •• •= + + N wNwp i iKN (4-24 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 82 其中, |}0)(|{|)( 111 >=• −−+ iiii wwcwwN , |}0)(|),{(|)( 111 >=•• −−+ iiii wwcwwN 。 将公式(4-24 )的推广到高阶模型( 3≥N )中,可以得到: )( )()|( 1 21 211 2 •• •= − +−+ +−+− +− i ni i nii niiKN wN wNwwp (4-25 ) 其中, |}0)(|{|)( 1121 >=• +−+−+−+ i nini i ni wcwwN |}0)(|),{(|)( 11 1 21 >=•• +−+− − +−+ i niini i ni wcwwwN 综上所述, Kneser-Ney 平滑公式被定义为: )|()( )( )( }0,)(max{)|( 1 2 1 11 1 1 11 1 − +− − +−+ +− +− +−− +− ⋅•⋅+ −= ∑ i niiKN i nii ni w i ni i nii niiKN wwpwN wc D wc Dwcwwp i (4-26 ) 其中, )|( 1 2 − +− i niiKN wwp 由公式(4-25 )计算,而 D 的值由公式(4-27 )计算。 21 1 2nn nD += (4-27 ) )( 1 11 •− +−+ i niwN 的定义如下: |}0)(|{|)( 1 1 1 11 >=• − +− − +−+ i i nii i ni wwcwwN (4-28 ) 6.Witten-Bell 平滑 Witten-Bell 平滑算法是Jelinek-Mercer 线性插值平滑算法的一个特例[29]。该 平滑算法与一般的线性插值平滑算法的唯一不同之处在于:线性插值中的插值 系数 1 1 − +−i niw λ 的设置方式。一般的线性插值平滑算法采用Baum-Welch 重估算法训 练 1 1 − +−i niw λ ;而Witten-Bell 平滑算法采用如下的公式计算 1 1 − +−i niw λ : ∑ +− − +−+ − +−+ +• •=− − +− i i ni w i ni i ni i ni w wcwN wN )()( )(1 1 1 11 1 11 1 1 λ (4-29 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 83 其中,符号 )( 1 11 •− +−+ i niwN 的定义同(4-28 ),其中位置符号“• ”代表在训练语料 库中出现在词串 1 1 − +− i niw 之后的任意一个词。 ()1+N 表示括号里的处于位置“• ”且 出现次数大于零的词的个数。将 1 1 − +−i niw λ 的值带入插值公式,可以得到Witten-Bell 平滑公式: ∑ •+ ⋅•+= − +−++− − +− − +−++−− +− iw i ni i ni i niiwb i ni i nii niiwb wNwc wwpwNwcwwp )()( )|()()()|( 1 111 1 2 1 1111 1 (4-30 ) 4.4 隐马尔科夫模型隐马尔科夫模型隐马尔科夫模型隐马尔科夫模型 隐马尔隐马尔隐马尔隐马尔科夫模型科夫模型科夫模型科夫模型(Hidden Markov Model )[30]自上世纪七十年代应用于语 音识别领域取得巨大成功后,被广泛应用到自然语言处理的各个领域,成为基 于统计的自然语言处理的重要方法,是上世纪统计自然语言处理领域的重要成 果之一。下面这一节我们将要介绍隐马尔科夫模型和它的三个基本问题,以及 经典算法。 4.4.1 随机过程随机过程随机过程随机过程 随机过程随机过程随机过程随机过程(Stochastic Process )是在同一样本空间 Ω 下的一个随机变量序 列 ε1, ε2, ε3……εn。这些变量可能出现的结果称为这个随机过程的状态。 例 1: 以扔骰子为例,不断扔出的骰子所形成的序列就可以看作一个随机过 程。 例 2: 在某一时刻在某个商场内购物的人数可以看作一个随机事件,可以用 一个随机变量表示,在某段时刻商场内购物的人数情况可以用一列随机变量来 表示,这可以看作一个随机过程。 随 机过 程按照 时间的连续 与否可 以 分 为连续随机过程连续随机过程连续随机过程连续随机过程(Continuous Stochastic Process )和离散随机过程离散随机过程离散随机过程离散随机过程(Discrete Stochastic Process ),上面的例 1 就是离散随机过程,例 2 是连续随机过程。我们以后用到的都是离散随机过程。 离散随机过程可以由以下两个条件完全刻画: 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 84 1.初始时刻的任意状态的初始概率 )( 1 jxep = 。 2.此后任意时刻的条件概率 ...2,1:1 =+ tet ),...,|( 11 11 ittiit xexexep t === ++ 。 4.4.2 马尔科夫链和马尔科夫性马尔科夫链和马尔科夫性马尔科夫链和马尔科夫性马尔科夫链和马尔科夫性 马尔科夫链马尔科夫链马尔科夫链马尔科夫链(Markov Chain )是一种特殊的离散随机过程,这种随机过程的 下一时刻的状态完全由当前时刻的状态来决定,而与从前的状态无关。即“未 来”只与“现在”有关,而与“过去”无关。用数学语言来表示就是: )|(),...,|( 111 111 ittitittiit xexepxexexep tt ====== ++ ++ (4-31 ) 称具有以上性质的随机过程为马尔科夫过程,具有马尔科夫性马尔科夫性马尔科夫性马尔科夫性(Markov Property )。如果随机过程的马尔科夫性与时间 t 无关,称这个随机过程是齐次齐次齐次齐次 (homogeneous )的马尔科夫过程。以后我们讨论的都是齐次的马尔科夫过程。 概率转移矩阵概率转移矩阵概率转移矩阵概率转移矩阵(Stochastic Matrix )是描述马尔科夫链的重要工具。给定一 个具有 n 个状态 nsss ,..., 21 的马尔科夫链,设从状态 is 到 js 的概率为 ijp ,即 )|( 1 itjtij sesepp === + ,则概率转移矩阵定义为: nipp pp pp P n j ijij nnn n ,...,1,1,0, ... ......... ... 1 1 111 ==≥           = ∑= (4-32 ) 通过概率转移矩阵,可以直观的看到从状态 is 下一时刻到 js 的概率 ijp ,方 便的计算出一个马尔科夫链的概率。也可以通过概率转移矩阵算出从状态 is 出 发经过 n 个时刻到达状态 js 的概率 )(n ijp ,算法如下: nipp pp pp P n j n ij n ij n nn n n n n n n ,...,1,1,0, ... ......... ... 1 1 111 ==≥           = ∑= (4-33 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 85 很容易验证它的正确性,这里不再给出证明。 4.4.3 马尔科夫模型马尔科夫模型马尔科夫模型马尔科夫模型 实际的马尔科夫模型是在马尔科夫链的基础之上发展起来的。因为现实世 界十分复杂,实际问题往往不能直接转换成马尔科夫链来处理,观察到的事件 往往不能与马尔科夫链的状态一一对应,而是通过某种概率分布来与状态保持 联系。这种实际事件与状态由某种概率分布来联系的马尔科夫链就是马尔科夫 模型。实际上,马尔科夫模型是一个双重随机过程。其中的一重随机过程是描 述基本的状态转移,而另一重随机过程是描述状态与观察值之间的对应关系。 下面我们形式地定义马尔科夫模型。 马尔科夫模型是一个五元组 },,,,{ ΘΑΡΣΩ=Μ ,其中 },...,,{ 21 nsss=Ω 是所 有状态的集合; },...,{ 21 mσσσ=Σ 是所有观察序列的集合; nnijp ×=Ρ }{ 并且 )|( 1 itjtij sesepp === + 是概率转移矩阵; mnija ×=Α }{ 称为发射概率矩阵,其中 )|( iijtij sepa === ση 是在状态 is 观察到 jσ 的概率; },...,,{ 21 nπππ=Θ 是初始概 率向量,其中 iπ 是在状态 i 的初始概率。 4.4.4 隐马尔科夫模型隐马尔科夫模型隐马尔科夫模型隐马尔科夫模型 当马尔科夫模型中的“状态”对于外界来说不可见的时候,就转换成了隐 马尔科夫模型。其实马尔科夫模型和隐马尔科夫模型的数学模型都是相同的, 只不过因为现实问题的情况不同,对模型的限定条件不同,要解决的问题不同, 从而分为两个模型。 隐马尔科夫模型有三个基本问题: 1.对于给定的观察序列,它出现的概率是多大。 2.对于给定的观察序列,在状态序列未知的情况下,根据现有的隐马尔 科夫模型,它最有可能的隐含状态序列是什么。 3.怎样调整现有的模型参数,使得能最好的描述给定观察序列,即使给 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 86 定的观察序列概率最大。 对于以上三个问题的解决,衍生出了五个算法。这五个算法都是动态规划算 法。这些基本问题与他们的解决算法,都是从实际中得来的,与数学模型本身 的联系不是十分密切。实际上,历史的发展恰恰是先提出了这些问题,又提出 了相应的算法,最后才归结到统一的马尔科夫数学模型中去的。下面我们将逐 一介绍这些问题和算法。  问题一:我们刚才提到的隐马尔科夫模型的第一个问题,是对于一个给 定 的 观 察 序 列 },...,,{ 21 Tkkk σσσ=Ο , 如 果 设 产 生 它 的 状 态 序 列 是 ),...,,( 21 Tiii sssS = ,那么求 )(ΟP 是多少。注意,这时候的状态序列可以有多条。 我们可以这样计算: ∏ ∏ = = ====Ο T t T t kiitkt tttt asePSP 1 1 )|()|( ση (4-34 ) ∏ = − ⋅= T t iii tt pSP 2 11 )( π (4-35 ) tttttttt ki T t iiiki T t iii T t ki apapaSPSPSP ∏∏∏ === ⋅⋅⋅=⋅⋅=⋅Ο=∩Ο −− 221 111111 )()()()()|()( ππ (4-36 ) 将所有的状态序列所产生观察值的概率加起来,就是这个观察序列在这个 隐马尔科夫模型下的概率: ∑ ∑ ∏ = ⋅⋅⋅=∩Ο=Ο − S ss T t kiiiiki Tii tttt apaSPP ,..., 21 1111 )()()( π 这是一个非常直观的想法,但是这样做的算法复杂度太高,需要 )2( TTnO 的 时间复杂度。当 n=5 ,T=100 时,计算量达到 1072 。指数型的复杂度,一般是 不能应用在工程实现中的,何况,我们还有复杂度更低的算法。下面我们来介 绍 forward 和 backward 算法,以及 forward-backward 算法。 首先,对于 forward 算法,定义前向变量: ( ) ( ) ( )itkitkitt sepsetOpi =====≤= ;,,; 11 σησηα K 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 87 是在 t 时刻,到达状态 is 的时候,观察到 t≤Ο 的概率。 初始, iikik asePi πσηα ⋅==== 11 );()( 111 ,其中 i=1,…,n (4-37) 递归, 1 1 1 )()( + ⋅    ⋅= ∑= + tjk n i ijtt apij αα ,其中 t=1,…,T-1;j=1,…,n (4-38) 终止, ∑ ∑= = =====Ο n i n i Titktk isePP t 1 1 1 )();,...,()( 1 ασηση (4-39 ) 以上的算法复杂度是 O(n2T) 。 backward 算 法 和 forward 算 法 非 常 类 似 , 定 义 后 向 变 量 )|,...,()|()( 11 itkTktitt sePsetPt Tt =====>Ο= ++ σησηβ 。可以看出,backward 算法的计算方向与 forward 是相反的。 初始, 1)( =tTβ ,其中 i=1,…,n 递归, )()( 1 1 1 japi t n j jkijt t + = ⋅⋅= ∑ + ββ , (4-40 ) 其中 t=1,…,T-1;i=1,…,n 终止, )()|,...,(),()( 1 1 12 1 11 121 iasePsePP i n i ikikTk n i ik T βπσησηση ⋅⋅====⋅===Ο ∑∑ == (4-41 ) backward 的算法复杂度同样是 O(n2T) 。 以 上 介 绍 了 forward 和 backward 算 法 , 将 这 两 种 算 法 结 合 , 就 是 forward-backward 算法。 ∑ ∑= = ==≤Ο>Ο⋅=≤Ο==Ο=Ο n t n i ititit settPsetPsePP 1 1 );|();();()( ∑ ∑= = ⋅==>Ο⋅=≤Ο n i n i ttitit iisetPsetP 1 1 )()()|();( βα (4-42 ) 这个算法的时间复杂度仍然是 O(n2T) 。 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 88  问题二:我们的第二个问题是,给定某个观察序列,根据现有的隐马尔科 夫模型找到一条概率最大的状态序列。 一种自然的想法是对于 11, +≤≤ Ttt ,我们找状态 ts 使 )|( ΟtsP 的值达到最 大。按照这种想法,定义 ∑= =Ο Ο==Ο== N j jj iit ti tt tt P isPisPt 1 )()( )()( )( ),()|()( βα βαγ (4-43 ) 然后取状态 ts 满足条件 11),(maxarg 1 +≤≤= ≤≤ Ttts i Ni t γ (4-44 ) 但是这样做有弊端,这种做法没有考虑状态之间的联系,而只是寻找特定 时刻的最佳状态,找出的状态序列并不能保证是全局最优的。下面的 viterbi 算 法能够保证找出全局最优的状态序列。 定义变量: );,,...,();,1()( 11 11 11 ,...1 maxmax tsesesePtsetSPi ititi ss it tS t t tii ≤Ο====≤Ο=−≤= − − − −≤ δ (4-45 ) 这个概率表示的是从 1 到 t 时刻,以状态 si 结束时,观察到发射序列的最大 概率。我们的目的就是要找出当 t 是结束时刻时,满足这个最大概率的状态序 列。因此我们要记录对应 )(itδ 的状态序列,为此我们只需要记录 si 的前一个状 态就可以了,其他的状态可以由 )1( −itδ 递归得到。我们用变量 )(itψ 来记录 si 的前一个状态。下面我们给出 viterbi 算法: 初始, niai iki ,...,1,)( 11 =⋅= πδ (4-46 ) 递归, njTtapij tjkijt i t ,...,1;,...,2,)()( 1max ==⋅    ⋅= −δδ (4-47 ) njTtpij ijt ni t ,...,1;,...,2),)(()( 1 1 maxarg ==⋅= − ≤≤ δψ (4-48 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 89 这里与 forward 和 backward 算法不同的是递归的时候取最大值,而不是取 乘积;并且 viterbi 算法是对两个变量进行递归,一个是记录概率的最大值,这 是我们衡量状态序列的标准,另一个是记录状态路径,这是我们要找的结果。 终止, )(max iP T i final δ= ,这是在最佳状态序列观察到发射序列的概率值。 )(maxarg 1 is T ni kT δ ≤≤ = ,这是我们得到的最佳状态在 T 时刻的状态值,下面我们 要通过对变量 )(itψ 的回溯来找出从 1 到 T-1 时刻最佳状态的状态值。如果说算 法前面是在辛勤的耕耘,那么下面我们要“收获”了。 回溯, 1,...,1),( 11 −== ++ Ttss tt ktk ψ (4-49 ) 可以证明,viterbi 算法的时间复杂度是 O(n2T) 。 viterbi 算法实质上是在一个有向图中找一条最佳的路径,这是隐马尔科夫 模型中用得最多的一个算法。这也是很通用的一个算法,很多时候人们并不很 了解隐马尔科夫模型,却能够用 viterbi 算法来解决实际问题。从历史发展的角 度来看也是这样的,并不是人们一开始就想到用隐马尔科夫模型,而是在解决 各种各样的问题的时候产生出了 forward ,backward 算法,viterbi 算法,以及我 们马上就要介绍的 baum-welch 算法,然后人们经过思考,总结,才将这些算法 归结到统一的隐马尔科夫模型中去。我们在学习中,也要把重点放到应用中, 先做到能够灵活的应用,然后再细细体味这个模型的“精美”之处,这也是我 们站在前人的肩膀上,能够“偏得”的一部分东西。  问题三:通常,在解决实际问题中,并没有现成的隐马尔科夫模型等着我 们去用,而需要我们去构造一个专有的隐马尔科夫模型。这时候我们面临的问 题常常是这样的:手边有一部分已经标记好的训练语料,还有一大部分未知的 测试预料,我们的任务是构建一个数学模型能够对标记好的语料给出最好的解 释,然后应用这个模型到未知的测试语料中去。这就需要我们根据现有的语料 来构造隐马尔科夫模型,这就是我们的第三个问题。 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 90 如果我们手中的语料既标记了观察序列又标记了状态序列(在实际应用中 根据实际问题的不同,观察序列和状态序列所对应的概念也不同),那么我们可 以直接根据隐马尔科夫模型中各个参数的定义直接统计出这些参数。不过通常 这样的语料很难得,或者需要大量的人力去标记,或者需要资金购买。如果我 们既没有人力,有没有资金,那我们不是什么都做不了么?通常我们手中的语 料能够提供观察序列的信息,结合 baum-welch 算法能够估计出隐马尔科夫模型 中的各个参数。 定义变量: )( ),;()|,(),( 1 1 Ο ==Ο=Ο=== + + P sesePsesePji jtit jitt t ε (4-50 ) 由定义式可以看出 ),( jitε 的含义是在观察序列已知的情况下,在 t 和 t+1 时刻的 状态分别是 i 和 j 的概率。回想在前几节我们对 )(itα 和 )(1 jt+β 的定义,我们可 以这样计算 ),( jitε : ∑ + ++ ⋅⋅⋅ ⋅⋅⋅ =Ο ⋅⋅⋅ = + ++ ji tjkijt tjkijttjkijt t japi japi P japi ji t tt , 1 11 )()( )()( )( )()( ),( 1 11 βα βαβα ε (4-51 ) 回想我们在问题二中定义的 )|()( Ο== isPt tiγ ,我们不难发现 )(tiγ 和 ),( jitε 之间的联系: ∑ ∑= = + =Ο===Ο== n j n j tjtitti jisesePisPt 1 1 1 ),()|,()|()( εγ (4-52 ) 有了以上的定义,就不难理解以下符号的意义: )(1 iγ 表示初始状态是 si 的概率,∑ − = 1 1 ),( T t t jiε 表示从状态 si 转移到状态 sj 的 概率,∑ − = 1 1 )( T t t iγ 表示从状态 si 转移到其他状态的概率,再定义符号 ∑== T t t jtk i σσ γ ;1 )( 表示 在状态 si 观察到 jσ 的概率。 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 91 有了这些定义,我们就可以给出隐马尔科夫模型的各个参数的估计公式: )(1 _ ii γπ = (4-53 ) ∑ ∑ = − == T t t T t t ij i ji p 1 1 1 _ )( ),( γ ε (4-54 ) ∑ ∑ = === T t t T t t ij i i a jtk 1 ;1_ )( )( γ γ σσ (4-55 ) 一般的做法是,先随机的给隐马尔科夫模型的参数赋值,再用 viterbi 算法 找出现有模型下的最优状态序列,然后带入以上的公式重新估计隐马尔科夫模 型的参数,这样的过程可以根据实际问题的需要进行多次。不过 baum-welch 算 法的收敛很快,过度的应用这些公式也能带来很多副作用。 baum-welch 算法对已经观察到的序列能给出很好的解释,但是对于那些没 有观察到的序列,不一定能给出好的解释,这也是 baum-welch 算法的缺点之一。 所以如果有标注的很好的语料,尽量用隐马尔科夫模型中各个参数的定义来构 建模型,万不得已,再用 baum-welch 算法。 4.4.5 结结结结束语束语束语束语 隐马尔科夫模型有多种定义方式,或者说有多个变种,我们以上介绍的只 是最容易理解的一种。在实际应用中,应该根据实际问题的需要,选用最适合 的模型。笔者建议读者在学习隐马尔科夫模型的时候,尽量和应用联系起来, 实际动手用隐马尔科夫模型来解决一个问题,可能比单纯地看参考书更容易掌 握这一模型的优缺点。 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 92 4.5 最大熵模型最大熵模型最大熵模型最大熵模型 4.5.1 模型介绍模型介绍模型介绍模型介绍 最大熵方法最先由 Jaynes 于上世纪 50 年代提出[31],后又经 Berger 等人引 入到了自然语言处理中[32]。很多学者已经应用最大熵模型来解决自然语言处理 中的文本分类[33]、名实体识别[34]、词性标注[35]等问题。DellaPietra [36]将最大熵 第一次用于语言建模。 最大熵方法的基本思想是在满足系统当前提供的所有条件下寻求分布最均 匀的模型,即熵最大的模型。最大熵模型的主要原理为[37]:令 nxxx ,,, 21 L=x 代 表由 n 个随机变量组成的一个随机变量序列, )(xif 为对应于第i 个特征的约束 函数,通常采用索引函数作为一个特征的约束函数,即对于第 i 个特征, 1)( =xif ,否则 0)( =xif 。从而最大熵模型需要解决的主要问题可以描述为寻找 一个合适的概率分布 )(xP ,使其满足如下条件: 对于约束 iK , mi ,,2,1 L= , )(xP 满足: ii KfP =∑ x xx )()( (4-56 ) 在所有满足上述条件的概率分布中, )(xP 所对应的熵最大,即:    −== ∑ xxx xxxx )(log)(maxarg))((maxarg)( )()( * PPPHP PP (4-57 ) 为了问题能够有一个合理的解,要求能够同时满足第一个条件提出的所有 约束的概率分布是存在的,即各个约束应该相容,同时还必须加上第 0 个约束 函数,即对所有 x : 1)(0 =xf (4-58 ) 为了寻找满足上述条件的概率分布,引入一个差别函数 )||( QPD [38]: ∑≡ x x xx )( )(log)()||( Q PPQPD (4-59 ) 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 93 其中 )(xQ 为一个已知的概率分布函数,如果令 )(xQ 表示均匀分布,则上式等价 于 cPH +− ))(( x ,其中c 为一个常数,求解熵最大的解转换为求解 )||( QPD 最小 的解。式(4-59 )的最小值可以通过引入非确定性拉格朗日乘子[39]来求解。即 对所有随机变量 x ,令下式对 )(xP 的偏导数为 0: ∑ ∑     −′′− ′i iii KfPQPD x xx )()()||( λ 从而对所有 x 有: ∑ +=+    i ii fQ P 0)(1)( )(log λλ xx x 对上式两边取指数并作适当变换后可以得到所求的解为: []      = ∑ i ii fQP )(expexp)()( 0 xxx λλ (4-60 ) 这里待定拉格朗日乘子 iλ 的取值必须满足式(4-57 )、(4-58 )给定的约束条件, 即 [] jj i ii KffQ =     ∑ ∑ )()(exp)(exp 0 xxx x λλ , mj ,,1,0 L= (4-61 ) 在最大熵建模过程中我们所要解决的两个主要问题为约束的确定以及参数 iλ 的求解。 由于不同的问题域显然会提出不同的约束,因此前一个问题是与特定的应 用密切相关的,这也是在应用最大熵模型到不同的应用领域的时候人们需要解 决的一个主要问题。对于参数 iλ 的求解,最常用的是通过迭代规整算法(GIS) [40],算法描述为: 设定 iλ 的初值, mi ,,2,1 L= , for 0=j to m do 保持 iλ , ji ≠ 不变,寻找满足第 j 个约束的 jλ 的最优值 * jλ , 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 94 令 * jj λλ = end for 如果所有的约束条件都得到满足,迭代终止,否则,返回 4.5.2 模型评价模型评价模型评价模型评价 最大熵原理和GIS 算法有以下主要的优点: 最大熵模型简单并且直观。它只是通过添加主要的约束来融合多种信息, 没有其他的前提假设条件; 最大熵模型具有通用性。对任何事件空间的任何子集的概率估计都可以使 用最大熵原理; 任何现存的语言模型的知识都可以被添加到最大熵模型; GIS 算法是一个逐步适应的过程,新的约束条件可以被随时添加到模型当 中; 在现存的约束条件下,最大熵模型肯定存在唯一的解。 同时,最大熵原理以及GIS 算法还有以下主要缺点: GIS 算法的计算复杂性太高; 虽然GIS 算法一定能收敛,从而得到模型的解,但是我们无法确定GIS 算法 迭代次数的理论上限; 在有些时候,我们给模型添加一些和训练数据不一致的约束,显得很有用。 例如我们可能会选择Good-Turing 折扣方法。在这种情况下,最大熵模型就会失 去和最大似然原理的一致性,更重要的是,这种不一致性会导致不能保证模型 理论解的存在性、唯一性和收敛性。 4.5.3 最大熵语言建模最大熵语言建模最大熵语言建模最大熵语言建模 这一节,我们具体介绍如何用最大熵模型来整合多种知识源,来建立语言 模型。 1. n-gram 模型整合 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 95 传统的n-gram 语言模型中的知识,通常是Unigram 、Bigram 、Trigram 的最大 似然估计,在用最大熵模型融合时,被替换为具有同样信息的Unigram 、Bigram 、 Trigram 约束,具体描述如下: 对Unigram 1w 而言,其约束特征函数的形式如下:    == otherwise wwifwhf w 0 )(1),( 1 1 (4-62 ) 该特征的数学期望 1wK 为: ∑= ),(1 11 ~ whfNfE wwP (4-63 ) 相应的约束条件为: 111 ~ , ),()|()(~ wP wh wwp fEwhfhwphpfE == ∑ (4-64 ) 其中, ()~p 为经验概率。 对Bigram 而言,其特征函数、数学期望和约束条件和Unigram 的形式基本上 一样,定义如下:    == otherwise winendshandwwifwhf ww 0 )(1),( 12 ][ 21 (4-65 ) ∑= ),(1 ],[],[~ 2121 whfNfE wwwwP (4-66 ) ],[~ , ],[],[ 212121 ),()|()(~ wwP wh wwwwp fEwhfhwphpfE == ∑ (4-67 ) Trigram 的特征函数、数学期望和约束条件,读者可自行写出,在此就不再 赘述了。 2. Trigger 整合 为了在模型中融合一个触发对 BA → 的信息,我们定义触发对 BA → 的特 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 96 征函数如下:    =∈=→ otherwise BwhAifwhf BA 0 ),(1),( (4-68 ) 设 BAP fE →~ 为上述特征的经验期望,则其约束条件为: BAP h w BA fEwhfhwphp →→ =∑ ∑ ~),()|()(~ (4-69 ) 触发对 BA → 可以根据互信息来求得,详见参考文献[41]。 4.5.4 小结小结小结小结 与线性插值以及回退算法相比,最大熵模型的主要优点在于可以将所有不 同的概率分布以约束的形式提出,然后通过最大熵模型来求解一个满足所有约 束条件的解。由于不同的知识源在建模过程中就已经集成到了一起,同时在建 模过程中考虑到了不同知识源之间的相互作用,从而保证了所求得的概率分布 的一致性。但同时,这也增加了建模的复杂性,从而在面对大规模语料库的时 候,必须考虑到如何进行算法的优化以及特征提取等问题。 4.6 本章小结本章小结本章小结本章小结 本章介绍了基于统计语言模型的定义与常用的统计语言模型,其中包括上下 文无关文法、N-Gram 模型、N-pos 模型、决策树模型、基于缓存的自适应模型, 并对以上模型中所存在的数据稀疏问题进行了详细讨论,给出了常用的数据平 滑算法。此外,本章的后两节对目前应用非常广泛的隐马尔科夫模型和最大熵 模型进行了详细讨论,指出了隐马尔科夫模型中三个常用算法以及最大上模型 中的迭代训练算法,与其他融合算法相比,最大熵模型的主要优点在于可以将 所有不同的概率分布以约束的形式提出,然后通过最大熵模型来求解一个满足 所有约束条件的解。 参考文献: [ 1 ]Frederick Jelinek. The development of an experimental discrete dictation recogniser. 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 97 Proceedings of the I.E.E.E., 73(11), 1985. [2] R. Kneser and V. Steinbiss. On the dynamic adaptation of stochastic language models. In Proceedings of International Conference on Acoustics, Speech and Signal Processing, pages 586--589. Minneapolis, Minnesota, USA, 1993. [3] F. Jelinek. Up from trigram! the struggle for improved language models. In European Conference on Speech Communication and Technology, pages 1037--1040, 1991. [4] P. Dumouchel, V. Gupta, M. Lennig, and P. Mermelstein. Three probabilistic language models for a large-vocabulary speech recognizer. In Proceedings of International Conference on Acoustics, Speech and Signal Processing, pages 513--516, 1989. [5] J. P. Ueberla. Analysing a simple language model - some general conclusions for language models for speech recognition. Computer, Speech and Language, 1994. [6] E. Black, F. Jelinek, J. Lafferty, D. Magerman, R. Mercer, and S. Roukos. Towards history-based grammars: Using richer models for probabilistic parsing. In Proceedings of DARPA Speech and Natural Language Workshop, pages 134--139. Harriman, New York, Feb 1992. [7]L. Breiman, J. H. Friedman, R. A. Olshen, and C. J. Stone. Classification and Regression Trees. Wadsworth, Inc., Belmont CA, 1984. [8]F. Jelinek, B. Merialdo, S. Roukos, and M. Strauss. A dynamic language model for speech recognition. In Proceedings of DARPA Speech and Natural Language Workshop, pages 293--295, February 1991. [9] S. Johansson. Some observations on word frequencies in three corpora of present day English texts. International Review of Applied Linguistics in Language Teaching, 67-68:117--126, 1985. [10] R. Kuhn. Speech recognition and the frequency of recently used words: A modified markov model for natural language. In International Conference on Computational Linguistics, pages 348--350. Budapest, August 1988. [11] R. Kuhn and R. De Mori. Corrections to a cache-based natural language model for speech recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14:691--692, 1992. [12] R. Kneser and V. Steinbiss. On the dynamic adaptation of stochastic language models. In Proceedings of International Conference on Acoustics, Speech and Signal Processing, pages 586--589. Minneapolis, Minnesota, USA, 1993. [13] Lalit R. Bahl, Frederick Jelinek, and Robert L. Mercer. A maximum likelihood approach to 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 98 continuous speech recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-5(2):179--190, March, 1983. [14] G. Zipf. The Psycho-Biology of Language. Houghton. Mifflin. [15] A. Natas. Optimal Solution of A Training Problem in Speech Recognition. In IEEE Transactions on Acoustics, Speech and Signal Processing. ASSP-33: 326-329, 1983. [16] A. Natas. Estimation of Probabilities in the Language Model of the IBM Speech Recognition System. IEEE Transactions on Acoustics, Speech and Signal Processing. ASSP-32(4): 859-861, 1984. [17] A. Natas. On Turing’s Formula for Word Probabilities. IEEE Transactions on Acoustics, Speech and Signal Processing. 32: 1414-1416, 1985. [18] S. M. Katz. Estimation of Probabilities from Sparse Data for the Language Model Component of A Speech Recognizer. IEEE Transactions on Acoustics, Speech and Signal Processing. ASSP-35(3): 400-401, 1987. [19] K. W. Church and W. A. Gale. A Comparison of the Enhanced Good-Turing and Deleted Estimation Methods for Estimating Probabilities of English Bigrams. Computer Speech and Language, 5: 19-54, 1991. [20] MacKay, J. C. David and L. C. Peto. A Hierarchical Dirichlet Language Model. Natural Language Engineering, 1(3): 1-19, 1995. [21] Stanley F. Chen. Building Probabilistic Models for Natural Language, PhD thesis, the Subject of Computer Science, Harvard University Cambridge Massachusetts, May 1996. [22] H. Jeffreys. Theory of Probability. Clarendon Press, Oxford, Second Edition, 1948. [23] W. A. Gale and K. W. Church. Estimation Procedures for Language Context: Poor Estimates Are Worse Than None. Proceedings in Computational Statistics, Ninth Symposium, pages 69-74, Dubrovnik, Yugoslavia, September 1990. [24] I. J. Good. The Population Frequencies of Species and the Estimation of Population Parameters, Biometrika, 40(3 and 4): 237-264, 1953. [25]W. A. Gale and Geoffrey Sampson. Good-Turing Frequency Estimation without Tears. Journal of Quantitative Linguistics, 2(3): 15-19, 1995. [26] F. Jelinek and R. L. Mercer. Interpolated Estimation of Markov Source Parameters from Sparse Data. In Proceedings of the Workshop on Pattern Recognition in Practice, Amsterdam, Netherlands: North-Holland, May 1980. [27] A. B. Poritz. Hidden Markov Models: A Guided Tour. Proceedings of the International 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 99 Conference on Acoustics, Speech, and Signal Processing, 1: 7-13, New York Hilton, New York City, April 1988. [28] R. Kneser and H. Ney. Improved Backing-off for m-gram Language Modeling In Proceedings IEEE International Conference on Acoustics, Speech and Signal Processing, Vo.1: 49-52, 1995. [29] I. H. Witten and T. C. Bell. The Zero-Frequency Problem: Estimating the Probabilities of Novel Events in Adaptive Text Compression. IEEE Transactions on Information Theory, 37(4):1085-1094, July 1991. [30] Brigitte Krenn, Christer Samuelsson. The Linguist’s Guide to Statistics. 1997. [31] E.T. Jaynes. Information Theory and Statistical Mechanics. Physics Reviews. 1957, vol.106: 620-630 [32] A. L. Berger, S. A. Della Pietra, V. J. Della Pietra. A Maximum Entropy Approach to Natural Language Processing. Computational Linguistics. vol. 1996, 22(1): 39-72 [33] Kamal Nigam, John Lafferty, et al. Using maximum entropy for text classification. In proceedings of the IJCAI-99 workshop on information filtering, Stockholm, SE, 1999. [34] Andrew Borthwick, A maximum entropy approach to named entity recognition, Ph.D dissertation New York University, September,1999. [35] Adwait Ratnaparkhi. A maximum entropy model for part-of-speech tagging. In proceedings of conference on empirical method in natural language processing, university of Pennsylvania, 1996. [36] Stephen Della Pietra, Vincent Della Pietra, Robert Mercer and Salim Roukos. Adaptive Language Modeling Using Minimum Discriminant Estimation. In Proceedings of the International Conference on Acoustics, Speech and Signal Processing, pages I-633–636, San Francisco, March 1992. Also published in Proceedings of the DARPA Workshop on Speech and Natural Language, Morgan Kaufmann,pages 103–106, February 1992. [37] Frederick Jelinek. Statistical Methods for Speech Recognition.The MIT Press. London. 1997 [38] S. Kullback, Information Theory and Statistics, Wiley, NewYork, 1959 [39] F.B. Hildebrand. Methods of Applied Mathematics. Prentice-Hall, Englewood Cliffs, NJ, 1952 [40] Darroch, J.N., D. Ratcliff. Generalized Iterative Scaling for Log-linear Models. The Annals of Mathematical Statistics. 1972, vol.43: 1470-1480. 第第第第4章章章章 基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型基于数学统计的语言模型 100 [41] D. Magerman and M. Marcus. Parsing A Natural Language Using Mutual Information Statistic. In Proceedings of the eighth National Conference on Artificial Intelligence, 1990. 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 101 第五章第五章第五章第五章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 本章简要介绍了基于语言理解的处理方法中的主要问题:包括词法分析和 句法分析。借助于现有的词法分析和句法分析技术,阐述了语料库自动多级加 工的方法,意义和应用。大规模语料库加工是基于统计的计算语言学的基础, 同时也为后续应用篇所介绍的相关技术提供统计数据基础。 5.1 引言引言引言引言 为了使计算机能够真正地做到语言的理解,必须以某种语言模型描述自然 语言的规律。常用的语言模型分为两种:一种是以基于知识的方法为代表的理 性主义方法,该方法以语言学理论为基础,强调语言学家对语言现象的认识, 采用非歧义的规则形式描述或解释歧义行为或歧义特性;一种是以基于语料库 的统计分析为基础的经验主义方法,该方法更注重用数学方法,从能代表自然 语言规律的大规模真实文本中发现知识,抽取语言现象或统计规律。本章在第 二节将要介绍几种常见的基于语言理解的标注体系和句法分析方法,这些体系 大多都是语言学家提出并制定的,属于理性主义方法。第三节介绍的语料库多 级加工技术则是经验主义处理方法的基础。 所有计算语言的方法必须依托于一定的语言学资源,而不同的语言学资源 往往带有不同的标注集。这些资源的不同完全来源于语言学家对于语言现象的 不同理解,所以会有比较大的差异。5.2 节中将主要介绍目前在中文信息处理中 比较通用的分类方法和标准,这些标准都依托于语言学家依据这种分类方法建 立的一些语言学资源,包括北大《现代汉语语法信息词典》[1]、《同义词词林》 [2]、“知网”[3]等。其中北大《现代汉语语法信息词典》和“知网”为机器可读 的辞典。 句法分析是语言学理论和实际的自然语言应用的一个重要桥梁。一个实用 的、完备的、准确的句法分析将是计算机真正理解自然语言的基础,而自然语 言中存在的大量的歧义现象又是句法分析的巨大挑战。伴随着语料库语言学的 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 102 发展,句法分析的研究方向也正在转向大覆盖度的句法分析上来。5.3.1 节将首 先介绍基本的乔姆斯基(Chomsky) 文法体系。然后介绍了中文句法分析中常用的 文法和算法,如概率上下文无关文法概率上下文无关文法概率上下文无关文法概率上下文无关文法(Probabilistic Context Free Grammer) 、上下上下上下上下 文依存文法文依存文法文依存文法文依存文法等。最后介绍了目前比较热门的研究方向:浅层句法分析浅层句法分析浅层句法分析浅层句法分析(Shallow Parsing) 或叫做组块分析组块分析组块分析组块分析(Chunking) 。 随着计算语言学界从理性主义向经验主义的转移,语料库语言学和语料库 的自动大规模加工越来越受到人们得重视。1990 年8月在赫尔辛基举行的第13 届 国际计算语言学大会(Coling‘90) 会前讲座的主题是:“处理大规模真实文本的理 论、方法和工具”,确定了计算语言学今后一个时期的主要战略目标。英语语 料库的建设起步较早,相继出现不同规模和加工深度的语料库,从六十年代的 百万词次的Brown 语料库、七十年代的千万词次的Birmingham 语料库到九十年 代几百万词次的Penn 树库,目前研究的重点已从词性标注向句法标注、语义标 注方向转移。这些语料库及其加工方法极大地推动了英语的自然语言处理的发 展。相比之下,汉语语料库的研究相对欠缺,无论是语料规模、加工深度,还 是加工方法、工具和基于语料库的知识获取等语料库语言学理论,都落后于英 语,这在一定程度上制约了汉语自然语言处理的发展。5.4 节中我们将主要介绍 中文语料的获取、自动加工、和基于加工后语料的一些具体应用。 5.2 常用的基于语言理解的分类标注体系常用的基于语言理解的分类标注体系常用的基于语言理解的分类标注体系常用的基于语言理解的分类标注体系 在基于语言理解的处理方法中,无论是词性标注还是词义标注,都可以被 认为是一个分类的问题。如把“红”分到名词词性类中,还是分到形容词词性 类中。把“打”分到“买”的语义类中,还是分到“打斗”的语义类中等。所 以,分类体系对于基于语言理解问题是至关重要的,也是一个基础性的工作。 5.2.1 词性分类体系词性分类体系词性分类体系词性分类体系 语言学界认为,划分词类的依据有三种:形态标准、意义标准和分布标准[5]。 对于汉语来说,形态标准和意义标准都是行不通的,所以只能根据词在句法结 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 103 构里所担当的语法功能,也就是分布标准进行分类。同时,也要考虑标注集的 三个确定原则,那就是:标准性、兼容性和扩展性。标准性是指尽量采纳当前 已经成为各个语言的词性标准或正在成为词性标准的分类体系和标记符号,没 必要从头做起。兼容性是指尽量使标注集的表示与已经存在的标注集可以相互 进行转化。扩展性是指对未解决的遗留问题或是未来可能的技术发展方向充分 的加以考虑,以便可以加以扩充和修改,并使扩充和修改对系统的整体影响代 价最小。 词的词性的分类是以语言学界的分类为基础,共分为名词、时间词、处所 词、方位词、动词、形容词、状态词、区别词、数词、量词、代词、介词、副 词、连词、助词、语气词、象声词、叹词、前缀、后缀、成语、简称、习用语 等。 目前,常见的比较有影响的词性标注集有“八五”汉语语料库词性标记集 所给出的24 大类词类和北京大学计算语言学研究所的《现代汉语语法信息词典》 关于39 个词类的定义(如表5-1所示)。同时还有各个科研院所自行定义的词性分 类体系。如哈尔滨工业大学机器翻译教研室[4]含有42 个词性标记的词性标注集 和清华大学[5]的含有111 个词性标记的词性标注集。应该说明的是,这些标注集 在大类上差别不大,有的只是对某个大类进行了更细微的语法化分。由于《现 代汉语语法信息词典》是机读词典,同时北大在这套词性标注集上又进行了一 年人民日报语料的人工标注工作。所以本文将以《现代汉语语法信息词典》标 准为例进行介绍。这里需要强调的是,词性标注集目前还没有国家制定的标准。 不同的词性分类体系基本上是来源于不同语言学家对语言现象的认识。在计算 语言学不同的领域,人们对词性依赖的程度不同,处理的精度不同,所以对词 性分类的粒度的定义也不同。在不同的应用中应该定义适用于自己系统的词性 标注集。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 104 表5-1 北京大学的汉语词性标注集 Ag 形语素 形容词性语素。形容词代码为 a,语素代码g前面置以 A。 A 形容词 取英语形容词 adjective 的第 1 个字母。 Ad 副形词 直接作状语的形容词。形容词代码 a 和副词代码 d 并在一 起。 An 名形词 具有名词功能的形容词。形容词代码 a 和名词代码 n 并在 一起。 B 区别词 取汉字“别”的声母。 C 连词 取英语连词 conjunction 的第 1 个字母。 Dg 副语素 副词性语素。副词代码为 d,语素代码g前面置以 D。 D 副词 取 adverb 的第 2 个字母,因其第 1 个字母已用于形容词。 E 叹词 取英语叹词 exclamation 的第 1 个字母。 F 方位词 取汉字“方” 的声母。 G 语素 大多数语素都能作为合成词的“词根”,取汉字“根”的声 母。 H 前接成分 取英语 head 的第 1 个字母。 I 成语 取英语成语 idiom 的第 1 个字母。 J 简称略语 取汉字“简”的声母。 K 后接成分 L 习用语 习用语尚未成为成语,有点“临时性”,取“临”的声母。 M 数词 取英语 numeral 的第 3 个字母,n,u 已有他用。 Ng 名语素 名词性语素。名词代码为 n,语素代码g前面置以 N。 N 名词 取英语名词 noun 的第 1 个字母。 Nr 人名 名词代码 n 和“人(ren)” 的声母并在一起。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 105 Ns 地名 名词代码 n 和处所词代码 s 并在一起。 Nt 机构团体 “团”的声母为 t,名词代码 n 和 t 并在一起。 Nz 其他专名 “专”的声母的第 1 个字母为 z,名词代码 n 和 z 并在一起。 O 拟声词 取英语拟声词 onomatopoeia 的第 1 个字母。 P 介词 取英语介词 prepositional 的第 1 个字母。 Q 量词 取英语 quantity 的第 1 个字母。 R 代词 取英语代词 pronoun 的第 2 个字母,因 p 已用于介词。 S 处所词 取英语 space 的第 1 个字母。 Tg 时语素 时间词性语素。时间词代码为t, 在语素的代码g前面置以T。 T 时间词 取英语 time 的第 1 个字母。 U 助词 取英语助词 auxiliary 的第 2 个字母,因 a 已用于形容词。 Vg 动语素 动词性语素。动词代码为 v。在语素的代码 g 前面置以 V。 V 动词 取英语动词 verb 的第一个字母。 Vd 副动词 直接作状语的动词。动词和副词的代码并在一起。 Vn 名动词 指具有名词功能的动词。动词和名词的代码并在一起。 W 标点符号 X 非语素字 非语素字只是一个符号,字母 x 常用于代表未知数、符号。 Y 语气词 取汉字“语”的声母。 Z 状态词 取汉字“状”的声母的前一个字母。 5.2.2 词义分类体系词义分类体系词义分类体系词义分类体系 在语言处理技术中,词义分析占有非常重要的地位。传统的句法分析技术 仅仅着眼于语言的结构分析,而理解语言关键在于理解语言表达的意义。对于 汉语这种缺乏语法形态的语言来说,词义知识就更加重要了。在介绍词义分类 体系前,首先要搞清楚什么是词义。目前对词义还没有一个准确的定义。一般 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 106 来说,词义可定义为:在一定的语言环境中所阐明的内容[6]。想要描述一种词 语所表述的意义,常见的方式有三种:第一种就是同义词分类的方法,这种方 法出现的时间最早,所基于的概念也最简单,一个词的词义完全可以用属于同 一个集合中的其他词的词义来表示;第二种是基于语义成分分析的词汇语义学语义成分分析的词汇语义学语义成分分析的词汇语义学语义成分分析的词汇语义学 (componential lexical semantics )(也可译为义素分析法)。这种方式把一个词 的意义分析为更小的概念原子的组合。不过,定义一套概念原子却非易事;第 三种方法是许多认知心理学家和计算语言学家提出的基于“网”的形式来描述词 语的意义。随着这方面研究的增多,越来越多的人自觉地意识到:除了利用语 义成分(义素分析法)表示语义,还有利用关系来表示语义的基于关系的词汇基于关系的词汇基于关系的词汇基于关系的词汇 语义学语义学语义学语义学(relational lexical semantics ),而且后者有可能替代前者。 首先,我们将介绍表示词义的第一种方法:同义词分类的方法。本文采用 《同义词词林》的词义分类体系作为例子来进行介绍。《同义词词林》的词义 分类体系分为大、中、小三级,共分12 个大类、94 个中类、1428 个小类。其中 每个大类以大写英文字母表示,中类以小写字母表示,小类则以阿拉伯数字表 示,具体见附表2。十二个大类包括:人(A)、物(B)、时间与空间(C)、抽象事物 (D)、特征(E)、动作(F)、心理活动(G)、活动(H)、现象与状态(I)、关联(J)、助语 (K) 和敬语(L)。《同义词词林》提供了一个汉语词义的分类体系,但不足之处是 很多常用词没有被收录。 词义表示的第二种方法是义素分析法。本文将采用董振东先生的《知网》 为例进行介绍。《知网》通过对约六千个汉字进行考察和分析来抽取了一千多个 义原。义原是知网中最基本的,不能再分割的意义的最小单位,将其作为解释 知识词典的基本要素,其它的词条全都由这些义原来定义。如《知网》中医生 的定义为DEF=human| 人,#occupation| 职位,*cure| 医治,medical| 医;其中,人、职 位、医治、医,就是用来定义语义的四个原子义原,分别表示为医生是人,与 职位相关,是医治的施事者。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 107 词义表示的第三种方法是基于“网”的形式来描述词语的意义。词汇所表示 的概念相互之间存在着联系,彼此构成了一个知识网络,因此词义词典在整体 上就是一个词义网络或者是知识网络。这种思想最早来源于WordNet [7]。它首先 是一个在线义类词典在线义类词典在线义类词典在线义类词典(Online Thesaurus )。WordNet 词库的基石就是它的同义 词集合。另外,WordNet 包含的信息远不止此。它还给出同义词集合同义词集合同义词集合同义词集合(Synonym Set, 即Synset )之间关系的许多详细信息。它的名词和动词都是分层级组织词语 之间的语义关系的,在名词中,有上下位关系(hyper-hyponymy ),在动词中 是下位(troponymy )关系;动词中的继承(entailment )关系有些类似名词中的 整体部分(meronymy )关系等等。 依据WordNet 的这种思想,《知网》中也定义了相应的关系,但这种关系只 存在于义原中,并没有定义词与词的关系。这些关系主要包括:(a) 上下位关系, (b) 同义关系,(c) 反义关系,(d) 对义关系,(e) 部件-整体关系,(f) 属性-宿主 关系,(g) 材料-成品关系,(h) 施事/经验者/关系主体-事件关系,(i) 受事/内容 /领属物等-事件关系,(j) 工具-事件关系,(k) 场所-事件关系,(l) 时间-事件关 系,(m) 值-属性关系,(n) 实体-值关系,(o) 事件-角色关系,(p) 相关关系等。 这些关系在知网中通过 KDML 来描述,知网的 KDML 中使用了一些特殊 符号来表示不同的关系(表 5-2)。 表5-2 KDML 语言的关系标识符号说明 符号 表达意义 例子 ! 表示某一属性为一种敏感的属性 Gas| 气  ! odor| 气味, # 表示与其相关 SufferFrom| 罹患  # medical| 医 $ “事件-内容(受事,对象,领有物)” 关系 Tool| 用具use| 利用 % “部件-整体”关系 room| 房间  % house| 房屋 * “事件-工具(施事)”关系 LandVehicle| 车 * VehicleGo| 驶 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 108 + “隐性角色-事件”关系 Document| 文书  + write| 写 ? “材料-成品”关系 tree| 树  ? material| 材料 ( “概念-概念词”关系 安大略湖  ( US| 美国 = 标注动态复杂概念的特殊动态角色 挨  = manner(regular| 定期) { 动态角色的格标记 按  {AccordingTo} & 表示指向 安  & electricity| 电 @ 表示空间或时间 鞍  @ sit| 坐蹲 作为目前一个比较常用的汉语知识词典,知网不仅采用了义素分析法,同 时采用了网络表示方法。比起WordNet 来说,它并没有定义同义词集合,但两个 词的相似度却可以通过义原的重合度和网络表示中的各种距离来计算得到。目 前已经有很多知网相关的研究,读者可到知网的网站上查询相关的文献。 5.3 常用的基于语言理解常用的基于语言理解常用的基于语言理解常用的基于语言理解的语法理论的语法理论的语法理论的语法理论 为了确切地描述一种语言,人们自然首先要问:什么是语言?有人定义语 言为:某一字母表上符号串(句子)的集合。这种定义很不全面。第一,它没有为 句子提供一种结构性的描述;第二,它没有提供一种能准确地确定什么是该语 言中的句子而什么不是的手段。因为自然语言是无穷的,而且相当复杂。如果 要用计算机来表示、理解、生成语言,首先的一步就是将语言进行形式化。所 说的形式化就是指用一定的范畴和作用在这些范畴上的规则来描述它们。用有 限的范畴和规则来描述和生成无限的语言。并且这些范畴和规则都是可形式化 的,就是说可以通过数理符号来进行表示和推理的,而不是存在于语言学家头 脑中的内省的知识。随着语言学家对语言的认识不断深入以及基于计算机工具 对语言理解的需要,语言学家和计算机工作者共同合作,创建了很多语法理论 以及基于这些理论的算法。其中比较有代表性的有:基于对语言知识认知的功 能主义语法如:乔姆斯集转换生成语法转换生成语法转换生成语法转换生成语法(TG)、特尼埃尔的依存语法依存语法依存语法依存语法(配价语 法)(DG),菲尔格的格语法格语法格语法格语法、韩礼德代表的系统功能语法系统功能语法系统功能语法系统功能语法、Langacker 倡导的认 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 109 知语法都基于这一类。另外就是基于对语言知识表达的形式主义句法:短语结短语结短语结短语结 构语法构语法构语法构语法(PSG)、扩充转移网络扩充转移网络扩充转移网络扩充转移网络(ATN)、支支支支配约束理论配约束理论配约束理论配约束理论(GB)、功能合一语法功能合一语法功能合一语法功能合一语法(FUG)、 词汇功能语法词汇功能语法词汇功能语法词汇功能语法(LFG)、中心词驱动的短语结构语法中心词驱动的短语结构语法中心词驱动的短语结构语法中心词驱动的短语结构语法(HPSG)、广义短语结构语法广义短语结构语法广义短语结构语法广义短语结构语法 (GPSG)、范畴语法范畴语法范畴语法范畴语法(CG)、链接语法链接语法链接语法链接语法(LG)、树邻接语法树邻接语法树邻接语法树邻接语法(TAG)等。如果以语法 所基于的基础上来看。可以分为两类,一个是基于语法范畴的;一类是基于词 的,如图 5-1: 图 5-1 常用语法的分类体系 在这里需要强调一下:一般的语法理论基本上来源于外国语言学家进行的 研究。翻译到中文时有不同的译法:有些中文资料翻译成句法,有些中文资料 翻译成文法,在我们这本书中,为使读者不会与已有的命名产生冲突,尽量与 现成的流行的叫法相一致。所以,我们提到句法,文法,语法这三个词时,基 形式句法 基于范畴 基于词 TG PSG TAG 基 于 词 合 一运算 DG LG CG FUG HPSG GPSG 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 110 本上指同一个概念。 5.3.1 常用的语法理论常用的语法理论常用的语法理论常用的语法理论 下面我们介绍一些形式化的语法,这些语法的特点是侧重于对语言知识加 以形式化的表示。50 年代后半期,美国语言学 Chomsky 提出了短语结构语法 (Phrase Structure Grammar ,简称 PSG)。第一次提出了关于语言和语法的数学 模型。本节将首先给予介绍。 语法是被用来精确而无歧义地描述语言的句子的构成方式,但语法描述语 言的时候不考虑语言的含义。短语结构语法可表示成形如(T,V,P,S) 的四元 组,其中T为称为终结符号集,V为非终结符号集,P为产生式集。它们均为非 空的有限集。其中非终结符号集V是需要定义的语法范畴,是专门用来描述语法 的。这些符号不能出现在最终生成的句子中。终结符号集T为基本符号,这些基 本符号不需要进一步定义。S∈V, 为文法的开始符号。P为产生式规则集,每条 产生式规则集有如下的形式: βα → 其中, ( )+∈ VT Uα , ( )*UT U∈β ,且 βα ≠ ,( )*UT U 表示由( )UT U 中的符号 所构成的全部符号串的集合,( )+UT U 表示( )*UT U 中除空符号以外的一切符号 串的集合。 通常,用PSG 处理自然语言时,它区分歧义的能力很差,所以需要对短语 结构的形式体系增加某些约束,对这个问题,Chomsky 提出了一种文法分类体 系,包含四类文法。分别称之为0型文法、l型文法、2型文法和3型文法。下面, 我们将简要地介绍各类文法的定义以及它们之间的关系。 1. 无约束短语结构语法(0型文法) 若P中任一产生式都有一般的形式: βα → 且 ( )+∈ VT Uα ( )*UT U∈β 其中,对 βα, 不加任何其它的限制,则称为0型文法或短语结构文法(简记为 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 111 PSG)。 0型文法所描述语言称之为0型语言。0型文法是Chomsky 文法体系中生成能 力最强的一种形式。用它不足以描述自然语言,但对程序设计语言的描述而言 又太一般化。所以需要一定的约束。 2. 上下文有关语法(1型文法) 若一个0型文法G中所有产生式具有如下的形式: baaAb β→ 其中,a,b ∈ ( )*UT U ,A∈V, ∈β ( )+UT U 。之所以如此命名,是因为如果 A前面出现符号a,后面紧接着符号b, 则A可以重写为 β 。它的重写规则依赖于上 下文。 3. 上下文无关文法(2型文法) 若在1型文法中所有的产生式有如下形式: β→A 其中,A∈V, ∈β ( )+UT U ,每条产生式的左侧必须是一个单独的非终结符。 规则应用时不依赖于A所处的上下文,所以叫做上下文无关文法(CFG)。 4. 正则语法(3型文法) 若在2型文法中仅含有如下的产生式: aBA → aA → 其中,A,B∈V,a∈T, 则称为为右线性文法。 若在2型文法中仅含有如下的产生式: BaA → aA → 其中,A,B∈V,a∈T, 则称为为左线性文法。 一般的,我们把左线性文法和右线性文法统称为3型文法或者正则文法。一 般的正则文法都可以用一个有向状态转移图(Finite-State Transition Diagram ) 来表示,所以它又叫做有限状态语法。它所表述的语言可以用有限自动机来识 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 112 别,它一般用来描述程序设计语言的单词结构,不适宜用来描写自然语言。具 体的应用可以参考相关的编译原理书籍。 从上述的介绍中,我们可以看出:语法的型号越高,对规则附加的限制就越 多,语法的生成能力就越弱。他们之间的关系是:0型文法 ⊃ 1型文法 ⊃ 2型文法 ⊃ 3型文法。 短语结构文法的好处在于可以方便的对一个句子进行结构的描述,但是由于 它没有引入语义的成分,在生成正确的句子的同时,也会生成错误的句子。如 牛吃草和草吃牛在句法结构上都是一样的,短语结构文法没有办法加以区别。 要解决这个问题,必须要引入更精确的语义定义和描述。如定义吃的主语必须 是一个动物等。而要引入这些定义必须要在词的基础上,对词这个句法范畴进 行更多的定义。这样就引入了复杂特征集,以及基于复杂特征集的合一运算。 同时随着计算语言学的兴起,它们也都非常重视系统的逻辑结构和计算机上的 可表示性。可以说,下面我们介绍的这些语法都是对短语结构文法的扩展了。 广义短语结构语法广义短语结构语法广义短语结构语法广义短语结构语法(GPSG)是1985 年盖之达(Gerald Gazdar )等提出的。 广义短语结构句法有两个特点:1)只有一个句法对象,即短语结构,只有一个 句法描写平面,即一般说的表层结构。GPSG 从生成语法最早的短语结构语法出 词汇直接支配规则 元规则 扩展后的直接支配规则的集合 非词汇直接支配规则 特征共现限制 特征标示默认值 头特征规约 足特征规约 控制一致原则 线性顺序说明 投射函数 树 图 5-2 广义短语结构语法总体示意图 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 113 发,对短语结构语法进行扩充,使扩充后的语法依然是短语结构语法,所以叫 做广义短语结构语法。2)句法和语义并重,在建立语法的同时,试图揭示出句 法和语义之间的相互关系,并把这当作一种句法理论的中心目标。3)它更致力 于句法普遍性的探索,4)它是高度严格的形式化的方法[8]。它的总体结构如图 5-2所示。 功能合一语法功能合一语法功能合一语法功能合一语法是1985 年美国计算语言学家马丁.凯依(Martin Kay )提出的, 它采用了功能描述和合一运算的方法,所以叫做功能合一算法。简单的说,复 杂特征集就是对事物从多方面进行的描述,这些多方面特征的描述就构成了一 个复杂特征集。在功能合一语法中,复杂特征集叫做功能描述(Functional Description, 简称FD)。一个功能描述由一组描述元组成,而描述元主要是一些 带值的属性,叫做属性-值对。如下例: 合一运算是对复杂特征集进行运算的方法。在短语结构语法中,一般我们 使用转换,如一个标记为NP 的句法范畴转换为一个N, 一个标记N转换成一个具 体的名词等,当采用复杂特征集时,转换算法不再适用,于是采用了合一运算 方法。合一就是把若干个功能描述合一成一个单独的功能描述,例如上例两个 功能描述合并后得到下面这个功能描述 类型 = 动词 词语 = run 时态 = 现在 类型 = 动词 数 = 单数 人称 = 3 类型 = 动词 词语 = run 时态 = 现在 数 = 单数 人称 = 3 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 114 合一运算不同于求并运算,在合一运算中,如果两个功能描述有相同的属 性,但它们的值不相等,就说明这两个功能是不相容的,合一运算就会失败。 功能合一语法把复杂特征集全面、系统的运用到语言描写中,具体说,就是它 在词条定义、句法规则、语义规则和句子的描述中,都使用了复杂特征集,这 是功能合一语法的最大特点[9]。 词汇功能语法词汇功能语法词汇功能语法词汇功能语法(LFG)是美国语言学家布鲁斯南(J.Bresnan )和卡普兰 (R.M.Kaplan )提出的。对自然语言的计算机分析和生成产生了巨大的影响。 与转换生成语法相同,词汇功能语法也有两个语法层次:成分结构和功能结构。 但在实现方法上具有明显的不同。在转换生成语法中,句子的深层结构和表层 结构都表示为句法短语结构,论旨角色(Thematic Role) 和表层结构之间的转换是 建立在深层的句法短语结构之上的。而LFG 是一种非转换语法理论,它以无序 的语法功能作为语法理论的基础。在LFG 中句法-语义分析过程所依据的语言知 识主要存储在机器词典的词汇项中,整个过程是词汇驱动的。LFG 采用复杂特 征集作为信息表示的基本手段,以合一运算作为句法-语义分析的基本算法。由 成分结构到功能结构的映射均由合一这种简单的运算方式来完成。一般包括以 下几个步骤:首先由句法规则和词法规则生成句子的成分结构,然后从成分结 构求出功能描述,再从功能描述式构造功能结构。由合格的功能描述不一定能 生成合乎语法的功能结构。从功能描述生成功能结构是通过合一运算和功能合 格条件检查来实现的。功能合格条件由三部分组成: 唯一性(Uniqueness ) 任何功能结构中,一个属性至多只能有一个值。唯 一性检查体现在合一运算中。合一成功,则满足唯一性,合一失败,则不满足 唯一性。 完备性(Completeness) 一个功能结构是局部完备的,当且仅当该功能结构包 含了它的谓词应该管辖的所有语法功能;一个功能描述是完备的,当且仅当该 功能结构内所有的子功能结构都是局部完备的。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 115 一致性(Coherence): 一个功能结构是局部一致的,当且仅当该功能结构所包 含的可被管辖的语法功能都为一个局部谓词所管辖;一个功能结构是一致的, 当且仅当该功能结构内的所有子功能结构都是局部一致的 中心语驱动短语结构语法中心语驱动短语结构语法中心语驱动短语结构语法中心语驱动短语结构语法(HPSG)是波兰德1984 年提出的,它在广义短语 结构文法的基础上提出的,他基本上继承了广义短语结构语法的原则,是一种 基于约束的语法理论。但是它同时又吸收了词汇功能语法,范畴语法的优点, 强调了词汇在语言构成中重要的地位,强调中心语在语法分析中的作用,使整 个语法系统由中心语驱动[10]。HPSG 把符号看作含有音系、句法、语义、话语、 及短语结构信息的结 构性复合体,并采用 分类特征结构(Sorted Feature Structures )来描写。它具有分类性,即每个特征机构都有一个分类,表明该特 征结构所描写的语言客体的类型;特征合适性,即一个特征结构里面可以出现 什么样的特征取决于该特征结构的分类,特征必须适合特征结构的分类;特征 完整性,适合一个特征的结构的所有特征都必须出现在该特征结构中;分类穷 尽性,所有的特征的值都必须是最具体的值分类。HPSG 中的规则和语法普遍性 原则都是对特征结构的制约,这些制约主要有:词汇规定、语法普遍原则和直 接支配格式[11]。 下面介绍基于认知的语法,这些语法理论的目的侧重于从语言事实中发现 范畴,建立规则。所有的这些语法理论无一不是语言学家或哲学家对语言现象 的思考和认识。 依存语法依存语法依存语法依存语法(配价语法,GB)是由法国语言学家 Tesniere . L 在其 1959 年所 著的《结构句法基础》提出的[12]。它是基于这样一个事实:那就是不管是哪个 学派的语法学说,都不得不正视句子中词与词之间的句法、语义联系这一事实; 因此,反映动词对名词性成分的支配能力的“价”这一概念,是哪一种语法理 论也回避不了的。当然,在理论处理上可以做出不同的安排。比如,配价语法 和依存语法把它放在非常核心的地位,格语法和系统功能语法把它置于比较重 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 116 要的地位;而转换生成语法(GT)等形式语法则把它当作一种记载在词库的动 词词条之下的词汇、语法特征,认为一个动词所必有的论元构成了动词的论元论元论元论元 结构结构结构结构(argument struct) 、基础句式(原子句)是动词的论元结构的一个投影.在此基 础上建立起投射原则、论旨原则。而这些原则都是 GB 理论的原则系统[13]。综 上,依存句法表述词与词之间一种最基本的联系。 在一般应用的时候,都是以动词作为一个句子的中心,支配其他的成分。 而它本身不受任何其他成分的支配。所有的受支配成分都以某种依存关系从属 于支配成分。如图5-3所示 Robinson J.J 在1970 年提出了依存关系的四大公理,为依存关系奠定了基础, 这四条公理[14]是: 1.一个句子中只有一个成分是独立的,不受任何成分支配 2.其他成分直接依存于另外的某一个成分 3.何一个成分都不能直接依存于两个或两个以上的其他成分。 4.如果A成分直接依存于B成分,而C成分在句中位于A成分和B成分之间 的话,那么,C或者直接依存于A,或者直接依存于B,或者直接依存于A 和B之间的某一成分。 她 是 我 小 的 伙伴 图5-3 句子的依存语法表示 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 117 依存语法的主要特点是:表示方法简洁,易懂。 依存语法生成的句法树不含非终结符,一个具有N个词的句子,生成依存 句法树只有N个结点和(N-1) 条边。而利用短语结构语法得到的句法树由于含有 非终结符,结点数大大超过N, 大大超过(N-1) 条边。例如,图5-3所示的句子用结 构语法表示时如图5-4。 依存语法关注的不是简单的顺序的同现概率。而是注重词与词的语义的依 存关系,例如,“一枝可爱的红色的花”。根据依存文法,可以直接提取出“一 枝”和“花”的依存关系。如果按在简单的顺序的同现概率,则提出“一枝” 和“可爱”的同现概率了。 格语法格语法格语法格语法(Case Grammer )是C.J.Fillmore 在本世纪60 年代提出的。这里提出 的格不是表层的句法格,而是深层的语义格。是一切语言的普遍现象[15]。如下 面的例句: Tom swam from one side of the river to the other side 动词 swam 与一个施事格 A:(Tom), 一个源点格 S:(from one side of the river) 以 及一个目标格 G:(to the other side) 并用。句子可以用深层框架的形式表示为: [+--ASG] 。菲尔摩从英语出发,最初提出六个格:施事、工具、与格、使成、 处所、客体。格语法偏重语义,但是忽略了词,短语之间的句法关系。这是由 她 是 我 小 的 伙伴 NP NP DE V S 图 5-4 短语结构表示 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 118 于语法的侧重点不同。短语结构语法属于句法平面,而格语法更加侧重语义平 面。这两个平面都是对语言的分析所离不开的。 鲁川、林杏光两位先生根据汉语的特点,把格语法的说法改为格关系,并且 提出了格关系的层次性。并根据这种理论,编写出了《动词大辞典》,这是格语 法理论在汉语领域的一个具体应用的成果。 韩礼德提出的系统功能语法把语言看作一个和人类社会密切相关的职能体 系,对这一体系的描述和解释都有赖于这个体系之外的语言的社会职能[16]。系 统功能语法的主要特点是外部性,而不是从语言体系本身去解释语言。韩礼德 的系统功能语法由系统语法和功能语法两部分组成。前者说明语言系统表现为 选择关系,后者阐明语言的三大功能:概念功能,人际功能和语篇功能等[17]系 统功能语法有六个核心的思想,分别为纯理功能的思想,系统的思想,层次的 思想,功能的思想,语境的思想和近似的思想[18]。语言本身是个意义系统,语 言的功能首先体现于语义功能。 认知语法理论认知语法理论认知语法理论认知语法理论是罗纳德.兰格克(Langacker Ronald )自1976 年以来发展并阐 述的一种语言机构理论。它以追求概括性为首要目标,力图找出一些基本的认 知原则,对语言不同层次、不同方面存在的并行现象做出统一的解释,以收到 以简化繁之效[19]。它不是以数理符号形式的表示语言,这种表示一般可以认为 是一种描述机制,也可以认为是一种生成机制,但是真实的语言却不是靠这些 形式化的描述生成的。同样,语法也不是生成的,而是和人的认知能力有密切 的联系,认知句法从认知的角度研究句法的理论。 以上简要介绍了四种文法,这四种文法有一个共同的目的,那就是从不同 的角度来认识语言的本质。由于角度的不同,提出的范畴和规则也不尽相同。 前两个句法都是基于词汇的句法理论。对词汇的功能的表述一个是用词与词之 间的关系来定义的,一个用词本身的格来描述词的功能。其实对格的定义也是 考察词在句子中所起的作用来定义的,而这些作用也都是从词与词之间的关系 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 119 中提出来的。所以说这两种方法都是基于词汇的认识,但是都没有过多的考虑 语言的结构。优点是对语义进行了首要的考虑。都是从语言的内部来表示的, 都是基于词汇这个范畴的。而后两种方法侧重于从语言的外部来认识语言。一 个从语言的外部功能来认识语言,一个从人的认知能力来认识语言,这两种方 法都有比较浓重的哲学色彩。不太适合直接在计算机上使用。而下面我们要介 绍的句法侧重于语言的表示。有比较好的形式化表示,可以在计算机上比较方 便的使用。 以上这四种句法都是对短语结构文法的扩展,下面将要介绍两种与短语结构 文法没有多大关系的语法,一种是扩充转移网络文法,一种是树邻接文法。 扩充转移网络语法扩充转移网络语法扩充转移网络语法扩充转移网络语法((((ATN))))是美国哈佛大学人工智能专家伍兹(W.Woods ) 提出的。它的出现对自然语言处理领域产生了重要的影响,并成功的应用于有 限领域的问答系统中。最初的转移网络可以追述到有限状态转移图(Finite State Transition Diagram )。FSTD 由若干有限的状态以及从一个状态到另一个状态的 弧组成。但是FSTD 只能识别正则语言,所以用于表达自然语言是远远不够的。 如果对FSTD 赋予一种递归机制,就可以提高它的识别能力。扩充后的FSTD 被 称为递归转移网络(Recursive Transition Network )简称RTN。可以证明,RTN 具有识别上下文无关语言的能力,相当于一个上下文无关文法。RTN 存在两点 明显的局限性:1. 它只是一个识别器,而不是一个分析器,即只能指出输入句 子是否合法,而不能进一步产生对句子的结构分析;2. 不能充分揭示句子成分 之间的某种依赖性。鉴于这些原因,ATN 对RTN 进行了三方面的扩充:1. 寄存 器组,用来存放分析过程中产生的,关于句子或成分的结构信息;2. 测试,弧 上除了用词类,句法结构等作为标记以外,还允许附加任意的测试,只有当这 些测试满足后该弧才能通过;3. 动作,弧上还可以附加某些动作,当弧被通过 时,动作便被执行。ATN 具有比较强的生成能力(相当于0型语法)但是它是过 程性的,不是描述性的,同时,对句法的过分依赖,限制了它处理某些合乎语 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 120 义但不完全合乎语法的话语的能力[20]。 树邻接语法树邻接语法树邻接语法树邻接语法(Tree Adjoining Grammar, 简称TAG)是Joshi 在1975 年提出的。 它是处于上下文无关语法和上下文有关语法之间的一种语法表示形式。他提出 的动机是因为上下文过于简单,不足以限制一些不合法的语言现象,但是上下 文有关语法的分析算法过于复杂,不适合实际应用。直观地说,在树邻接语法 中,句子的结构也是用树形式来表示的,它的一种基本的操作是剪插。剪插是 将树中的某一枝剪断,然后用另外一特殊的子树插入到树中被剪的位置,再将 剪下的一枝移接到子树的一个特定位置。除了剪接操作外,树邻接语法的形式 化体系还包括两种原子树,一种是初始树,一种是辅助树。初始树的根结点都 标以S,而叶结点都是终结符,或者是带有替换标志的非终结符。辅助树中还包 括一个特殊的叶结点,这个特殊的叶结点与其根结点具有同样的标号。这个叶 结点称为脚节点[21]。为了把词汇信息引入树邻接语法,必须附加上词汇项的语 法结构集合;并且要一个或一组用于组合结构的操作。也就是说在初始树和附 加树中添加词汇锚点,并引入合一运算。 链语法链语法链语法链语法由 CMU 计算机学院的 Daniel Sleator 、Columbia University 音乐系的 Davy Temperley 共同在 1991 年提出的。一部链语法(Link Grammar) 就是一个单 词的集合,其中的每个单词后面记录着各自的链接要求(Linking Requirement) 。 这些链接要求可以通过一系列链接子表达式(Formula of Connectors) 指定。一个 由单词组成的串(Word Sequence) ,如果在单词之间存在满足下列条件的链(Link) 的话(或者说,能够在单词之间画出一些链,并且这些链满足下面的条件),就说, 这个单词串是链语法所定义的语言中的句子。首先这些链满足了其中所有单词 的链接要求,其次满足下面 4 条元规则: 平面性(Planarity) ,这些链之间互相不 交叉;连通性(Connectivity) ,这些链足以把所有的单词链在一起;顺序性 (Ordering) ,公式中较左边的链接子必须和距离单词较近的单词链接,反之,公 式中较右边的链接子必须和距离单词较远的单词链接。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 121 D.Sleator 和 D.Temperley 提出了一个基于动态规划(Dynamic Programming) 的分析算法或识别算法。算法以一种自顶向下的方式建立句子的链接集。自顶 向下在这里的含义是,算法总是先建立较大的链,然后在这些链的范围内建立 范围较小的链。 链语法的主要特点是: 链语法是词汇主义(Lexicalism) 的语法系统,对于任 何一个单词,词典中都详尽地描述了这个单词在句子中如何使用。所有词汇主 义的语法系统所带来的优点是:构造大型语法系统很容易,一个单词的描述只 对包含这个单词的句子的分析产生影响。同时,允许我们逐步地建立一个大型 语法系统。进而对于特殊的不规则的词语描述也很方便,它们在词典中单独占 据一个条目。实际经验告诉我们,语言中任何现象都可以分为典型的和非典型 的,描述典型规律的规则很容易,而描述非典型的规则则要麻烦得多。链语法 用单词间的关系描述代替了成分描述。一般认为,词汇主义得语法系统易于用 来构造统计模型,单词间的关系描述也使我们收集词汇之间的统计信息变得容 易。 5.3.2 浅层句法分析技术浅层句法分析技术浅层句法分析技术浅层句法分析技术 浅层句法分析浅层句法分析浅层句法分析浅层句法分析(Shallow Parsing )也叫组块分析组块分析组块分析组块分析(Chunking ),或者可称为 局部句法分析局部句法分析局部句法分析局部句法分析(Partial parsing )。这种分析技术的提出出于下面的这种情况, 对自然语言处理层次的划分,分为词、短语、和句子3个不同的层次单位。而我 们上述的句法理论从词直接便生成了句法分析结果,并没有通过短语这个层次。 这就不可避免的引入大量的歧义问题,不仅降低算法的执行效率,而且常常得 不到正确的结果。实践证明,有必要将短语分析与句子分析分开处理,使基本 的短语分析能够象词性标注一样取得较好的正确率,从而为后续的句法分析打 下坚实的基础。 常见的浅层句法分析主要有两种方法,一种是基于统计的,另外一种是基 于规则的[22]。基于统计的方法主要有: 1. 基于隐马尔可夫模型的方法;2. 互信 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 122 息的方法;3. Ф2统计方法;4. 基于中心词依存概率的方法。 隐马尔科夫模型(HMM)是从语音识别中发展出来的一种统计技术。Church 进一步把HMM 用于识别英语中简单的非递归的名词短语,它把短语边界识别化 为一个在词类标记对之间插入NP 的左边界“[”和NP 的右边界“]”的问题。一 对词类标记之间只有四种情况1. [ ;2. ] ;3. ][ ;4. 空;最后一种可以进一步分为 两种情况;在NP 内,和在NP 外。首先在有词性标注的语料中人工或半自动标注 NP 边界,以此作为训练数据,然后统计出任意一对词类标记之间出现以上5种 状态的概率。统计得到的概率就成为短语边界标注的根据。这实际上把短语边 界识别变成了一个与词性标注类似的问题。 互信息互信息互信息互信息(mutual information )是信息论中的一个概念,它用来度量一个消 息中两个信号之间的相互依赖程度 (见2.2.3 节)。二元互信息是两个时间的概 率的函数: )()( ),(log),( 2 YPXP YXPYXMI ×= (5-1) 我们把词类序列看成一个随机事件,这样就可以计算一对词类标记之间的 互 信 息 。 如 果 X 和 Y 在 一 起 出 现 的 机 会 多 于 它 们 随 机 出 现 的 机 会 , 则 P(X,Y)>>P(X)*P(Y), 即 MI(X,Y)>>0; 如 果 X 和 Y 是 随 机 分 布 的 , 则 P(X,Y) ≈ P(X)*P(Y),即MI(X,Y) ≈ 0,如果X和Y是互补分布的,则互信息就 MI(X,Y)<< 0 。互信息越高,X和Y组成短语的可能性就越大。为了确定句子中 短语的边界,需要更多的上下文,Magerman 和 Marcus 提出了广义互信息的概 念[23],具体推导可参看参考文献。 用 χ 2检验的方法来确定短语的边界是由Chen 和Lee 提出来的[24],其主要的 方法如下:对于两个词W1和W2,可以建立如表5-3所示的联立表。 在表5-3中,a表示串W1 W2出现的次数,b 表示不在W1,W2中的W1出现的次 数,c表示不在W1 W2中的W2出现的次数,d表示既不是W1又不是W2的词的次数。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 123 a+b 是W1的出现的次数,a+c 是W2的出现的次数,c+d 是非W1的总词次,b+d 是 非W2的总词次,N=a+b+c+d 表示语料库中的总词次。根据上面的联立表。 χ 2 统计量定义如下: )()()()( )( 2 2 dcdbcaba cbda +×+×+×+ ×−×=χ (5-2) 当a=0 时, 2χ 近于0,即当W1 W2从不共现时, 2χ 取极小值。当b=c=0 时, 2χ =1 ,即当W1 W2总是共现时, 2χ 取极大值。 2χ 越大,说明W1 W2共现的机 会越多,相反,则说明W1 W2共现的机会越少。 表5-3 词W1和W2联立表 W2 !W 2 ∑ W1 a B a+b !W 1 c D c+d ∑ a+c b+d a+b+c+d Collins 提出了一种基于分析树中中心词之间依存概率的统计分析算法,该 方法的要点是,把分析树归结为一个非递归的基本名词短语集合及依存关系的 集合。在这些依存关系中,基本名词短语除了中心词外其他词都被忽略,所以 依存关系就是基本名词短语的中心词和其他词之间的依存关系,依存概率可以 通过树库中的统计得到,分析算法是一个自底向上的线图分析器,利用动态规 划来查找训练数据中的所有依存关系空间。这种方法是以大规模树库为基础的, 而且以完全句法分析为目标。这种方法已基本名词短语识别为前提,利用具体 词之间的依存概率,把短语归结为中心词。这个研究思路对于部分句法分析也 是很有借鉴意义的。 基于规则的方法就是根据人工书写的或半自动获取的语法规则标注出短语 的边界和短语的类型。根据标注策略的不同可以把规则方法分为两种:1)增加 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 124 句法标记法;2)删除句法标记法。规则的使用相对简单,但是规则的获取却是 比较困难的。一般规则都是人工书写的,但是人工书写和总结这些上下文限制 规则是十分困难的,所以我们介绍一些从语料库中自动获取这些语法规则的方 法。这些方法中,Eric Brill 提出了一种基于转换的错误驱动的学习方法[25]。另 外一种方法是Cardie Pierce 提出的基于实例的方法。 基于转换的错误驱动的学习算法是: 1. 始标注。把训练语料中所有的基本名词短语的标记去掉,用一个简单的初 始标注程序标注出训练集中可能的基本名词短语。把这个结果作为系统的 底线。 2. 成候选规则集。在每个初始标注错误的地方,规则模扳便用来生成获选规 则,规则的条件就是词的上下文环境,动作就是改正错误标记所要做的动 作。 3. 获取规则。把获选规则集中的每条规则分别运用于初始标注的结果,选出 得分最高的规则。把这条规则运用于初始标注的结果作为下一轮循环的基 础,并把这条规则作为规则序列中的第一条规则输出。重复以下过程直到 得分最高的规则的得分为0或低于某个值为止。 基于实例的方法是把标注好的短语信息的语料库分为两个部分,一部分用 于训练,另一部分用于剪枝。首先从训练的语料中得到一组名词短语的组 成模式规则,然后把得到的这些规则应用到剪枝的语料中,对这些规则进 行打分。比如,如果一个规则识别出一个正确的短语的1分,识别出一个错 误的短语-1分,这样根据每天规则的总的得分情况对规则进行删减,去掉 那些得分的规则。 5.4 语料语料语料语料库多级加工库多级加工库多级加工库多级加工 语料库语言学语料库语言学语料库语言学语料库语言学(Corpus Linguistics) 是以语料库为基本知识源来研究自然语 言规律的学科,其中语料库加工的理论、方法和工具和基于语料库的知识获取 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 125 是语料库语言学研究的主要内容。语料库语料库语料库语料库(Corpus) 是按照一定的原则组织在一起 的真实的自然语言数据(包括书面语和口语)的集合,主要用于研究自然语言的规 律,特别是统计语言学模型的训练以及相关系统的评价和测试。 国外的语料库研究起步早。1961 年,世界上第一个大规模电子语料库--- 布 朗语料库(Brown Corpus, 简缩为BC)的出现,标志着语料库语言学的诞生。BC 包含有一百万词的美国英语,并在1979 年采用TAGGIT 结合人工校对方法进行了 词性标注。七十年代初,英国Lancaster 大学、挪威Oslo 大学和Bergen 大学联合开 发了LOB(London-Oslo-Bergen Corpus, LOB) 。LOB 含有相同数量的英国英语, 并也在1979 年采用CLAWS 系统进行了词性标注。近年来,随着基于语料库的统 计方法在语音识别领域的巨大成功和计算语言学方法论的战略转移,各国政府、 科研机构和一些大公司纷纷介入语料库研究,语料库语言学作为计算语言学一 个独立分支学科,越来越为世人所瞩目并得到迅速发展。语料库建设已从单一 的研究行为转向有计划的工程行为,如美国的ACI/DCI 计划,欧共体的ECI 计划 等,并向更大规模、更深的加工层次发展,相继产生一批规模大,有影响的不 同层次和类型的语料库,如Penn 树库。 汉语语料库的建设起步较晚,直到进入九十年代,国内的一些研究机构才 开始根据各自不同的用途建立了相关的语料库,如清华大学按系统原则收集 5000 万汉字的原始语料库、台湾中央研究院的200 万词次的带有词性标注的汉语 平衡语料库等。虽然汉语的语料库建设近来有了长足的发展,但同英语相比, 在标注体系的标准化、系统化、加工的深度以及资源的开放性等方面还存在着 明显的不足,这已在一定程度上成为汉语自然语言处理的制约因素之一。特别 值得一提的是,近来在国内外相继出现了专门研究汉语树库的组织,如台湾中 央研究院的中文信息处理组(Chinese Knowledge Information Processing Group, CKIP)、马里兰大学CLIP 实验室的汉森林(Chinese Forest) 、美国宾夕法尼亚大学 XTAG 计划,汉语语料库特别是汉语树库的研究方兴未艾。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 126 5.4.1 语料库的多级加工语料库的多级加工语料库的多级加工语料库的多级加工 所谓语料库标注或加工就是对电子语料(包括书面语和口语)进行不同层 次的语言学分析,并添加相应的“显性”的解释性的语言学信息过程[4] 。语料 库是否能成为一个名副其实的语言知识库,不仅与其本身规模、分布的多样性 和均衡性有关,更重要的是与其加工的深度层次有关。通常只有经过不同层次 加工的“熟”语料才可真正用作自然语言处理系统的训练、测试和评价。对于 未经加工的生语料(Raw Corpora) ,由于语言学信息是“隐性”存在,我们所能 直接获取的是非常初级的有关字或词语的统计知识,只有在对语料库进行一层 一层的标注之后,使语料库由“生”变“熟”,使孕育在生语料中“隐性”的 语言学知识“显性”化,方能从语料库中真正获取更多、更有用的语言学知识。 层次越高,所能获取的语言学知识越丰富,但加工难度越大。 与不同层次的自然语言分析相对应,语料库的加工主要包括词性标注、句 法标注、语义标注、言语标注和语用标注等,由于汉语书写的特殊性,汉语的 语料加工还包括分词。如表1-1所示,目前大多数的语料库加工集中在词性标注, 句法标注正处于一个迅速发展时期,而其它层次的语料加工,如语义、言语等, 还处于起步阶段。 表5-4 英语和汉语语料库标注情况对比 语言层 英语标注情况 汉语标注情况 词性(Part of speech) 基本实用化 迅速发展 句法(syntactic) 迅速发展 大多在发展 语义(semantic) 存在一些,大多在发展 起步 言语(discourse) 很少,起步 无 语用(pragmatic) 很少,起步 无 目前,语料库的加工主要三种方式,即人工、自动和人机结合的半自动方 式。由于自然语言处理技术的限制,自动加工会给语料带来一些错误,而人工 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 127 加工非常昂贵,需要大量的人力资源。相比之下,半自动加工则兼顾两者的优 点。人机结合的方式有两种:一种是由计算机自动选择语料库中需要人干预的 自动加工不能解决的部分,从而减少人的工作[25] ;另一种方式则是先由计算机 对待加工的语料进行自动加工,然后由人工校对[4] 。 歧义消解研究与语料库的多级加工关系紧密。一方面,高性能的歧义消解 技术是实现语料库加工自动化的关键。由于自然语言的歧义存在的普遍性,在 每个语言层次的语料库加工几乎都要碰到相应的歧义问题,在某种意义上讲, 语料库的多级加工实际是一个面向真实文本的自然语言多级歧义消解过程。另 一方面,语料库特别是经过加工的语料库又为歧义消解提供了资源支持。大量 的实验表明,基于语料库的方法对于歧义消解非常有效,而这类方法的效果很 大程度依赖于训练语料库的规模、分布和加工程度。语料库加工的层次越高, 所能提供的语言学信息越丰富,越有利于歧义消解水平的提高。 图 5-5 语料库多级加工与歧义消解的关系 5.4.2 分词分词分词分词 词是自然语言理解中有意义的最小构成单位,但是汉语文本是基于字的, 词与词之间没有显性的界限标志,因此词语边界识别是汉语句法分析中首先要 汉语语料库多级加工/标注 词性 标注 消歧消解 词语 边界 歧义 词 性 兼 类 结 构 歧 义 语 义 歧 义 照 应 歧 义 深 层 歧 义 词语边 界划分 句法 标注 语义 标注 言语 标注 深层 标注 生语料 熟语料 信息库 知识获取 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 128 解决的问题之一。汉语自动分词就是把没有分割标记的汉字串转换到符合语言 实际的词串。目前困扰分词的两个主要问题就是歧义识别和未登录词的识别。 由于本书前文已经对分词作了详细的介绍,这里就不再赘述。但有一点应该说 明,汉语自动分词是所有中文信息处理的基础,同时也是语料库自动加工的基 础。它的准确性也会直接影响和扩散到语料库加工的所有后续的步骤中,包括 词性标注和句法分析层次。 5.4.3 词性标注词性标注词性标注词性标注 词性标注的任务就是根据一个词在某个特定句子中的上下文,为这个词标 注为正确的词性。其实质是研究词语所表现的语法功能的聚合关系,它要解决 的主要问题是词性歧义(词性兼类)和未登录词词性的确定。词性自动标注是自然 语言处理中的一个基本问题,因为在汉语中广泛存在着一个词语的词性多于一 个的歧义现象。这种现象也叫做词性歧义或叫做词性兼类。例如“说”这个词 在下面两个句子中分别为动词词性和名词词性。 “哥白尼的日心说”和“哥白 尼说”。 词性兼类问题在汉语中很突出,据不完全统计[26,27],常见的汉语词性兼类 现象有几十种,这些兼类现象具有以下分布特征:1. 在汉语词汇中,兼类词的 数量不多,约占总词条数的 5-11% 。2. 兼类词的实际使用频率很高,约占总词 次的 40-45% 。也就是说,越是常用的词,其词性兼类现象越严重。3. 兼类现象 分布不均:在孙茂松等[17] 的统计中,仅动名兼类就占全部兼类现象的 49.8% ; 在张民[18] 的统计中动名兼类和形副兼类就占全部 113 种兼类现象的 62.5% 。所 以说,词性标注的正确率对整个语料库加工系统还是比较重要的,同时它的正 确率如何直接影响到本文的后续工作,因为词义消歧和句法分析都以经过词性 标注的句子为其输入。 目前词性标注方法主要有以下三种: 1.基于规则的方法 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 129 基于规则的方法利用语言学家手工内省的规则来进行词性消歧,例如 TAGGIT 系统[28]。TAGGIT 采用了3300 上下文框架规则(Context Frame Rules) 和86 种词性标记,并用于标注布朗语料库,其标注准确率为77%。Brill [29]1992 年提 出一个基于转换规则的词性标注,获得95-96% 的正确率,第一次使规则方法性 能 可 以 与 统 计 方 法 媲 美 。 Voutilainen(1994) [ 30 ] 则 采 用 约 束 文 法 (Constrain Grammars) 进行词性标注,获得99.3% 的准确率,这一结果是迄今报道的关于词 性标注的最好的结果。尽管语言学方法能取得很好的消歧结果,但考虑到获得 一个好的模型所要付出的大量的人力,语言学方法是一种非常耗时的方法。 2.基于统计的方法 基于统计的方法是最常使用的一种词性标注方法。对于给定的输入词串, 基于统计的方法先确定其所有可能的词性串,然后对它们分别打分,并选择得 分最高的词性串为最佳的输出。常见的统计词性标注方法基于频度的方法[31]、 基于N元模型的方法[32]和基于隐马尔可夫模型(Hidden Markov Models, HMMs) 的方法。[33]其中,HMM 结合Viterbi 算法的词性标注方法最常见。 为了减少训练所需的手工标注语料的规模,如Cutting 等人[34]在其开发的 Xerox 系统中采用了Baum-Welch 算法来无指导地估计词性标注的HMM 参数。传 统的HMM 方法只能处理固定长度的上下文信息。为提高消歧性能,Jung 等人[35] 将最大熵模型应用于词性标注。该方法的显著特点是它可以融合不同阶的 n-gram 信息、长距离n-gram 和其它有关词法的统计信息。 3.混合方法 混合方法是一种统计与规则相结合的方法,最典型的是Lancaster 大学的 CLAWS 系统。CLAWS(Constituent-Likelihood Automatic Word-Tagging System) [36] 将一些有关英语多字词、成语的规则引入HMM,第一个版本完成于1980-1983 年间,主要面向LOB 语料库,包含有135 个标记该系统。从CLAWS4 开始用与亿 词级的英国国家语料库(British National Corpus, BNC) 的加工。最新版本是1996 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 130 年的CLAWS17 。CLAWS 的准确率为96-97% 。 在上述三种方法中,基于统计的词性标注方法用的最为普遍,是目前词性 标注的主流方法。词性标注是目前自然语言处理中比较成功的领域之一,尤其 是英语的词性标注,其准确率一般可达95~97% ,已基本走向实用化。 汉语有关词性标注的研究起步较晚,但近来发展很快。同英语相比,汉语 汉语不仅缺少象英语那样对词性标注,特别是对确定未登录词词性十分有用的 丰富的形态信息,如大写、词尾变化、词缀等;而且汉语的词序相对英语自由, 汉语的词性与句法成分之间不象印欧语那样存在简单的一一对应关系。因而汉 语词性标注的兼类问题和未登录词词性的识别问题更为突出,同等条件下对英 语词性标注比较有效的模型效果下降。例如HMM 方法在词性标注,特别是词序 相对严格的英语词性标注中获得极大成功,是目前词性标注中广泛采用的一种 方法。但该方法是建立在兼类词性的发射概率和转移概率独立假设基础上,其 效能依赖于目标词性的概率分布,某个兼类词的候选词性(如汉语中的名词动词 兼类词)的概率分布接近时,这种方法常常产生错误的标注结果。 从概率角度,词性标注问题可描述为:给定一个含有词语序列 mwww ,,, 21 L 的输入句子W ,确定最有可能的词性标记序列 mtttT ,,, 21 L= ,使得条件概率 )|( WTP 最大。 )|( WTP 目前还很难直接估计,一般采用贝叶斯原理进行转换, 即: )( )|()()|( WP TWPTPWTP = (5-3) 由于词性标注中,W 是给定的, )(WP 不依赖于T ,因此在计算 )|( WTP , 可以不考虑 )(WP ,同时应用联合概率公式 )|()(),( ABPAPBAP = ,有: ),()|()()|( TWPTWPTPWTP == (5-4) 进一步对(5-4) 式应用概率乘法公式,有: 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 131 ),|(),|( ),|,(),()|( 1,11,1 ,1 ,11,1 ,1 1,11,1,1,1 −− = − = −− ×= == ∏ ∏ iii mi iii mi iiiimm twtPtwwP twtwPtwPWTP (5-5) 式中, ii wwww ,,, 21,1 L= , ii tttt ,,, 21,1 L= , mi ≤≤1 。 公式(5-5) 给出了不作任何简化假设的理想化的词性标注的概率模型。词性 标注的任务就是从输入句子W 的所有可能的词性标记序列 }{T 中寻找一个最佳 的标记序列Tˆ ,使得公式(5-5) 值最大为W ,即: ),|(),|(maxarg)|(maxargˆ 1,11,1 ,1 ,11,1 −− = − ×== ∏ iii mi iii TT twtPtwwPWTPT (5-6) 5.4.4 词性标注的词性标注的词性标注的词性标注的HMM 模型模型模型模型 模型(5-5) 虽然反映理想状态下有关词性标注的概率分布,但由于需要估计 的参数空间太大,该模型实际上式不可计算的。因此,在实际的词性标注系统 一般需要对该模型进行相应的简化,以减少模型的参数空间。常用的简化是隐 马尔可夫模型,即在公式(5-5) 所示的理想模型中引入一些独立性假设(即通常所 说的马尔可夫假设),这些假设包括: 1. 词性标记 it 的出现只依赖于有限的前 1−N 个词性标记,即n-pos 模型 ),,|()|(),|( 1211,11,11,1 −+−+−−−− ≈≈ iNiNiiiiiii ttttPttPtwtP L 。 2. 一个词语的出现不依赖于其前面的任何词语,只依赖于前面的词性标记, 并 进 一 步 假 设 词 语 iw 的 出 现 只 依 赖 于 词 性 标 记 it , 即 )|()|(),|( ,1,11,1 iiiiiii twPtwPtwwP ≈≈− 。 经过上述假设,由(5-5) 式可以得到一个 1−N 阶词性标注的隐马尔可夫模 型: )|(),,,|()|( ,1 121 ii mi iNiNii twPttttPWTP ∏ = −+−+−≈ L (5-7) 式中, )|( ii twP 则被称为发射概率(Emission Probability) 或词汇概率(Lexical 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 132 Probability) ; 参 数 ),,,|( 121 −+−+− iNiNii ttttP L 被 称 为 状 态 转 移 概 率 (Transition Probability) 或上下文概率(Contextual Probability) 。 5.4.5 Viterbi 词性标注算法词性标注算法词性标注算法词性标注算法 在HMM 框架的词性标注中,标注算法的主要任务就是为给定的观察值序列 (即输入词串W ),找到一个最佳的状态序列(词性标记串Tˆ )。可以采用Viterbi 算 法实现这一过程。 给定词语序列 mwww ,,, 21 L ,设 )1( mjN j ≤≤ 为词语 jw 可能的词性标记数, 数组 ),( jiSeqScore 为局部最优函数,它记录从首词到第 j 词的第i 个候选词性 i jt 的最佳词性标记序列的概率分值,数组 ),( jiBackPtr 则指向第 1−j 词的在局部最 佳标记序列的词性,则基于 grambi − 模型的Viterbi 词性标注算法可具体描述如 下: 输入:词语序列 mwwwW ,,, 21 L= 输出:最佳的词性标记序列 mtttT ˆ,,ˆ,ˆˆ 21 L= 算法: i. 初始化: for i=1 to 1N )|()|()1,( 111 φii tPtwPiSeqScore ×= 0)1,( =iBackPtr ii. 递归过程: for j=2 to m for i=1 to jN )}|()|()1,({max),( 11 1 k j i j i jjNk ttPtwPjkSeqScorejiSeqScore j −≤≤ ××−= − kjiBackPtr ˆ),( = (kˆ 为上式取最大值时的 k ) iii. 最佳状态序列求解: 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 133 ),(maxˆ miSeqScoret i mtm = for i = n-1 to 1 )1,ˆ(ˆ 1 += + itBackPtrt ii 5.4.6 句法分析句法分析句法分析句法分析 从理论上讲,句法分析要同时研究句子中蕴含的组合关系和聚合关系。根 据索绪尔的语言理论,自然语言中存在着两种重要的关系,即组合关系 (Syntagmatic Relations) 和聚合关系(Paradigmatic Relations) 。组合关系指语言单位 组合的方式,而聚合关系则表示语言单位间的相似关系或相似度。一个完整的 句法分析涵盖词法和句法结构两个层次的自然语言分析,它既要研究词在形态 上(词形)的组合关系以及各词在语法功能和意义上的聚合关系(即词法分析),又 要研究各句子成分在结构上的组合关系和在句法功能上的聚合关系(句法标注)。 因此,句法分析是一个自益问题(Bootstrapping Problem) 。下面我们将对目前常 用的两种句法进行讨论,它们分别是上下文无关句法和依存句法。在自然语言 理解中,上下文无关文法由于具有实用的分析算法而得到广泛的应用。具体的 定义我们在上面已经讨论过了。下面将给你具体的实例。假设有以下文法: 1. SNP VP 2. NP ART N 3. NP ART ADJ N 4. NP ADJ N 5. VP V 6. VP V NP 常用的句法分析算法从方向上可以分为从上到下的句法分析和从下到上的 句法分析两种,在从上到下的分析算法中,我们开始于S符号,然后根据句法规 则的左部符号来扩展右部符号,直到整个句子分析完成。从下到上的分析算法 中,我们开始于句子中的词,然后利用句法规则从句法规则中的右部符号来规 约成左部符号。直到规约到它只包含符号S。 从上到下的算法中包含一个可能状态的线性表(Possibilities List )。线性表 中的第一个元素是当前状态(Current State) ,其他的状态叫做备份状态(Backup States) ,每一个状态都是一个〈符号列表,词位置〉对。我们的算法描述如下: 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 134 图 5-6 从上到下的句法分析方法 下面我们对句子1 The 2 old 3 man 4 cried 5 。进行从下到下句法分析(图5-7)。 the:ART old:ADJ,N man:N,V cried: V 其实,我们可以把句法分析看成一个人工智能中的搜索问题,对一个先深搜 索来说,可能状态线性表是一个堆栈,遵循后入先出战略,对一个先宽搜索来 说,可能状态线性表是一个队列,遵循先入先出策略。 从可能状态线性表取出当前状态 C,如 果可能状态表为空,算法失败 如果 C 的符号列表为空,词位置为整个 句子的末尾,算法成功 C 中的符号例表的 第一个符号是终结 把 C 中符号列表的第一个符 号删掉,词位置加一,并把 修改完的 C 放回可能线性状 态表 对 C 中符号列表的第一个 非终结符号进行重写。产 生新的状态后加入可能状 态线性表。 Y N 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 135 图 5-7 从上到下句法分析的步骤 从下到上句法分析时对句子从左到右进行扫描,将扫描得到的一系列词性范 畴与句法规则右边进行匹配。如果想同时进行规约,规约成句法规则的右边。 例如:对句法规则来说 NP  ART ADJ N ,我们把ART ADJ N 规约成NP。整个 分析的过程就是一个不断扫描,归约,查找的过程。但是,这种简单的方法却 有很大的代价,因为他们会尝试很多次相同的匹配。通过一个叫线图的数据结 构可以保存局部的分析结果。这样就避免了相同的结构别反复的归约。线图是 算法的关键数据结构,它保存了分析过程中到目前为止推导出来的成分,同时 步骤 当前状态(Current State ) 备份状态(Backup States ) 1 ( (S) 1 ) 2 ( (NP VP) 1 ) 3 ( (ART N VP) 1 ) ( (ART ADJ N VP) 1 ) 4 ( (N VP) 2 ) ( (ART ADJ N VP) 1 ) 5 ( (VP) 3 ) ( (ART ADJ N VP) 1 ) 6 ( (V) 3 ) ( (V NP) 3 ) ( ( ART ADJ N VP) 1 ) 7 ( ( ) 4 ) ( (V NP) 3 ) ( ( ART ADJ N VP) 1 ) 8 ( (V NP) 3 ) ( ( ART ADJ N VP) 1 ) 9 ( (NP) 4 ) ( (ART ADJ N VP)1 ) 10 ( (ART N ) 4 ) ( (ART ADJ N) 4 ) ( (ART ADJ N VP) 1 ) 11 ( (ART ADJ N) 4 ( (ART ADJ N VP)1 ) 12 ((ART ADJ N VP )1) 13 ( (ADJ N VP) 2) 14 ( (N VP) 3 ) 15 ( ( VP) 4 ) 16 ( ( V) 4) ((V NP ) 4) 17 ( ( ) 5) 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 136 还保存了分析过程中到目前为止推导出来的成分,同时还保存了部分匹配的规 则,我们把这些部分匹配的规则叫做活动弧。另外就是用来保存新的已归约的 成分的线性表,我们称为代理表。自底向上的线图分析算法如下: 重复下序步骤直到输入为空: 1 如果代理表为空,则取输入中的下一个词的词性,然后将其加入代理表中; 2 从代理表中选择一个成分 3 对于一个形如X•CX 1…X N的规则,增加一个从位置P1到P2的形式为 XC•X1…X N的活动弧 4使用弧扩展算法将C加入到线图中。 弧扩展算法表述如下:(在Chart 表中从位置P1到P2增加成分C) 1 把成分C从代理表中移出,插入到线图的P1到P2的位置; 2 对于从位置P0到P1的形式为XX1…•C…X N的活动弧,从位置P0到P2增加 一个新的活动弧XX1…C•…X N; 3 对于从位置P0到P1的形式为XX1……X N•C的活动弧,从位置P0到P2将X 作为新成分加入代理表中。 在算法分析过程中,像上面我们介绍的从上到下算法介绍的那样,也可以采 用深度优先或者是宽度优先的搜索策略。这依赖于代理表是堆栈实现还是队列 实现。下面我们给出一个实例[37]。 我们分析的句子是The large can hold the water, 其中各词的词性是: the:ART large:ADJ can:N/AUX/V hold:V water:N/V 句法如下所示: 1.入the 成分ART1 被放到代理表中 从代理表中取出ART1 (the 从1到2) 在线图中加入ART1 在线图中增加活动弧NP ART•ADJ N 从1到2 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 137 在线图中增加活动弧NP ART•N从1到2 2.读入下一个词large 成分是ADJ2 被放到代理表中 从代理表中取出ADJ2 (large 从2到3) 在线图中加入ART1 在线图中增加活动弧NP ADJ•N从2到3 在线图中增加活动弧NP ART ADJ •N从2到3 第二个活动弧是从上一个活动弧的延伸,利用了弧扩展算法。 3.读入下一个词can 成分是N1,AUX1 V1 被放到代理表中 从代理表中取出N1 (can 从3到4) 在弧扩展算法中我们产生了两个NP,第一个从1到4的NP,是由规则2构造 的,第二条从2到4的NP,是规则4构造的,现在的NP 在代理表的顶端。 4.代理表中取出NP1, (the large can 从1到4) 增加活动弧SNP•VP 从1到4 代理表中取出NP2, (large can 从2到4) 增加活动弧SNP•VP 从2到4 到此为止,线图的结构如图5-8。 在图中并没有显示活动弧,而所有的活动弧如上图所是都是存在的。如果生 成的S成分能够覆盖整个的句子,则说明分析成功(如图5-9中S1 所示)。 如果我们不用线图保存局部的分析结果,那我们的句法分析的时间复杂度 将会是Cn,而如果我们使用线图,则时间复杂度将会是k*n 3。其中n是被分析的句 子的长度。从这里我们可以看出,基于线图的句法分析算法是很高效的。 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 138 图 5-8 图分析中的局部结果线图 图5-9 最后的结果线图 S1( 规则1由NP1 和VP2 组成) S2 (规则1由NP2 和VP 组成) VP3( 规则5 由AUX1 和VP2 组成) NP2( 规则4) VP2( 规则5) NP1( 规则2) VP1 (规则6) N1 N2 NP3( 规则3) V1 V2 V3 V4 ART1 ADJ1 AUX1 AUX2 N3 ART2 N4 NP2( 规则 4) NP1( 规则 2) ART1 ADJ1 N1 AUX1 V1 1 The 2 large 3 can 4 NP ART•ADJ N NP ART•N NP ADJ•N NP ART ADJ •N S  NP • VP SNP•VP VP AUX•VP VP V•NP 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 139 5.4.7 概率上下文无关文法概率上下文无关文法概率上下文无关文法概率上下文无关文法 通过把概率引入句法分析,我们可以在以下三个方面使用它。第一是可以利 用概率加速句法分析,第二是可以用概率在句法分析的不同结果中选择正确的, 第三是通过概率进行句子确定[38]。我们通过把概率值赋值给每一个语法重写规 则,来进行基于概率的句法分析。句法规则的概率值来自于对已标注和句法分 析完毕后的树库。 表5-5 数库中句法规则的统计 一个概率上下文无关文法(Probabilistic/Stochastic Context-Free Grammar, PCFG/SCFG) 是一个四元组 〉ΣΣ〈= ++ RSG TN ,,, ,其中, },,,{ ||21 +Σ+ =Σ NNNNN L 是 一个非终结符集合; },,,{ ||21 +Σ+ =Σ TtttT L 是一个终结符集合;S 是一个起始符号, +Σ∈ NS ; },,,{ ||21 RrrrR L= 是 一 组 产 生 式 , 对 于 每 个 产 生 式 Rr i ∈ 有 ))(,:( i r kji rPNr ξ→ , 其 中 , *)( ++ Σ∪Σ∈ NT kξ , 产 生 式 概 率 )|()( jkj r i r NNPrP ξ→= ,表示句子推导过程中非终结符 jN 被符号串 kξ 所替 换 的 概 率 , 它 一 般 满 足 : 0)|( >→ jkj r NNP ξ ; 而 且 , +Σ∈∀ N jN , ∑ =→ k jkj r NNP ξ ξ 1)|( 。 由以上的可知,PCFG 实际上是CFG 和概率的组合,因此,基于PCFG 的句 法分析结果取决于CFG 规则及其统计特性。设某个句子 S 有 λ 个可能的句法分 规则 规则左部计数 规则计数 概率 SNP VP 200 200 1 VP V NP PP 300 200 0.666 VP V NP 300 100 0.333 NP N N 400 100 0.25 NP NP PP 4000 300 0.75 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 140 析树,以 },,,{)( 21 λππππ L=S 表示,那么,句子 S 的第 )1( λ≤≤ ii 棵分析树 iπ 的 概率为该分析树所用到的所有规则的概率的乘积,即: ∏= j jrir rPP )()(π (5-8) 而句子 S 的概率则为它所包含的所有可能的分析树的概率之和,即: ∑= = λ π 1 )()( i irr PSP (5-9) 于是,句法分析的目的就是从输入句子的所有可能的分析树中寻找最佳的 分析树 )(maxargˆ 1 ir i P ππ λ≤≤ = 。实际上,概率 )( irP π 和 )(SPr 是句法分析的两个重要 方面。前者反映了句子 S 的第 )1( λ≤≤ ii 棵候选分析树 iπ 的可能性, )( irP π 越大 说明 iπ 在语法或语义上越符合句子 S 的本意;后者则反映句子 S 合乎语法的程 度。可见,与CFG 相比,PCFG 不仅具有定量描述句法歧义的能力,而且可以描 述不符合语法的句子。 一个应用概率的明显的例子就是我们可以对上面提到的线图算法的代理表 进行改进,上例中的搜索过程属于盲目搜索,没有任何启发信息,但是我们可 以对代理表中的待分析成分依据句法规则的概率进行排序,具体可以用优先队 列来实现代理表。这种句法分析方法叫做Best First Parsing. 基于概率的句法分析可以加快句法分析的速度,但是却不能大幅度提高句 法分析的正确率。例如,我们上面的文法进行分析时有对以下的结构进行句法 分析:V NP PP 。我们可以得到两种结构(如图5-10 )。 第一棵句法分析树的概率是P(T1) = 0.666 第二颗句法分析树的概率是P(T2) = 0.333*0.75 = 0.25 从以上两个结果可以看出,当我们看到V NP PP 这种结构中,都会把PP 与 VP 进行关联,当我们处理eat cake with spoon 时可以,但当我们处理eat cake with milk 时却是完全错误的。造成这种错误的原因是基于概率的语法分析没有引入 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 141 词汇信息。如果我们把词汇信息引入句法分析,就可以成功的解决这些问题。 目前这类句法分析是研究的热点。 图 5-10 相同输入的不同结构分析结果 5.4.8 语料库的应用语料库的应用语料库的应用语料库的应用 语料库的应用基本上可以分为两个部分,一个部分就是经过标注和预处理 的语料库可以为所有的基于统计的自然语言理解提供统计的数据资源,另外一 部分就是语料库自动加工技术,如分词、词性标注、句法分析等自动加工技术 是具体应用的基础。目前,基于统计的方法已经广泛用于机器翻译、信息提取、 信息检索、文本分类、问答系统、自动文摘、词典编撰等各个方面。可以这样 说,语料库是基于统计的自然语言处理技术的基础。 没有任何标注的叫做原始语料库,也叫做生语料库,对于中文来说,对于 这样的语料库,我们可以对汉语的字频进行相关的统计,也可以对字频进行二 元的同现的统计,这些数据对于汉字的拼音输入、汉字分词系统、文本纠错都 是有很现实的应用意义的。对于已经完成分词的语料,我们可以对其进行词一 级的二元,三元的同现概率的统计。这些统计概率反过来可以为汉语分词系统 提供数据方面的支持,同时也可以用在词典编撰、短语识别等方面的研究上。 对于已经标注了词性信息的语料,我们可以统计出词性的二元同现概率,还有 VP 0.666 V NP PP VP 0.333 V NP 0.75 NP PP 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 142 同一词性下的不同词的发射概率,而这两个概率又是基于隐马尔科夫模型的词 性标注系统的两个主要资源,如果没有这两方面的数据,就没有办法进行词性 的标注。对于标注了层次短语结构的树库,我们可以统计出规则的应用次数, 这样我们就可以把上下文无关文法变成概率上下文无关文法,而概率上下文无 关文法是明显优于上下文无关文法的。 语料库自动加工技术主要包括分词、词性标注、短语识别、句法分析等层 次,不同的应用有不同的加工深度的要求,对于信息检索来说,分词是必不可 少的;对于机器翻译来说,又必须加工到句法分析层次。但无论是什么应用系 统,都必须需要一定的语料库自动加工技术,这是非常明显的。 5.5 本章小结本章小结本章小结本章小结 本章主要讲述了常用的文法体系和基于短语结构文法的语料库多级加工技 术。这两部分内容是彼此相关的。文法体系是语料库多级加工的理论基础,而 加工好的语料库是最终的可用的产品。汉语的自动句法分析,是汉语自然语言 处理的核心难题,解决这个核心难题,依赖于适合汉语的文法体系,同时也依 赖于成熟,丰富的汉语树库。只有依赖于完备、正确、实时、自动的带有语义 分析的句法分析系统的出现,我们才能真正的说:“计算机理解了语言。” 参考文献: [1] 俞士文 等. 现代汉语语法信息词典详解. 清华大学出版社. 1998 [2] 梅家驹 等. 同义词词林. 上海辞书出版社. 1983 [3] 董振东 等. 知网. http://www.keenage.com [4] 张民,李生,赵铁军统计与规则并举的汉语词性自动标注算法 软件学报 1998 , 9(2):134-138 [5] 白拴虎 基于统计的汉语语料库词性自动标注的研究与实现 清华大学硕士学位论文 [6] 赵铁军 等 机器翻译原理 哈尔滨工业大学出版社 2001 [7] G. A. Miller, R. beckwith, C. Tellbaum, D. Gross and K. Miller. Introduction to WordNet: an on – line lexical database. CSL43. Cognitive Science Laboratory, Princeton University, Princeton, 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 143 NJ,1993 [8] 张卫国 广义短语结构语法述略 语言文字应用 1996 年1期 [9] 苗传江 张庆旭等 功能合一语法 语言文字应用 1995 年第3期 [10] Walt Detmar Meurers. On Implementing an HPSG theory, 1994 [11] 尤爱莉 中心语驱动短语结构语法评价 外语学刊 2000 年第2期 [12] 冯志伟 特思尼耶尔从属关系语法,国外语言学,1983 年第一期 [13] 袁毓林 汉语动词的配价研究 1998 [14] 周明 黄昌宁 面向语料库标注的汉语依存体系的探讨 中文信息学报 1994 8(3) [15] 王玲玲,格语法及其在汉语研究中的应用,“信息处理用语言理论讲话”第三讲 语言文 字应用 1994 年04 期 [16] 庞素芬 系统功能语法与格语法的比较 湖南教育出版社 语言文字应用 1994 年04 期 [17] 苗兴伟系统功能语法与转换生成语法对比刍议 外语研究 1998 年03 期 [18] 胡壮麟 朱永生等 《系统功能语法概论》1989 出版 [19] 沈家煊认知语法的概括性 外语教学与研究 2000 年01 期 [20] 孙茂松 扩充转移网络语法 语言文字应用 1995 年1期 [21] 翁富良 王野翊 计算语言学导论 1998 年 [22] 孙宏林 俞士汶 浅层句法分析方法概述 [23] Magerman, D. M. Marcus. 1990. Parsing a natural language using mutual information statistics. In Proceedings of AAAI’90 :984-989 [24] Chen, Hsin-His.Lee, Development of a partially bracketed corpus with part-of-speech information only. In Proceeding of the 3 rd Workshop on Very Large Corpora 1995 :162-172 [25] Brill Eric Unsupervised learning of Disambiguation Rules for part speech tagging. In Proceedings of the 3 rd Workshop on Very Large Corpora :1995 :1-13 [26] 刘小虎 英汉机器翻译中词义消歧方法的研究 哈尔滨工业大学博士学位论文 [27] 刘开瑛,王小鹏 现代汉语句子分析中的歧义现象及处理策略 1990 年中国人工智能学 术论文集(CJCAI90 ),1990 : 311-321 [28] B.B.Green and G.M.Rubin. Automated Grammatical Tagging of English. Technical report, Brown University. 1971 [29] Bernard Merialdo. Tagging English Text with a Probabilistic Model. Computational Linguistics. 1994, 20(2): 1-29 [30] A.Voutilainen. Three Studies of Grammar-based Surface Parsing of Unrestricted English Text. Publication No.24, University of Helsinki,1994 第第第第5章章章章 基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法基于语言理解的处理方法 144 [31] I.Marshall. Choice of Grammatical Word-Class without Global Syntactic Analysis: Tagging Words in the LOB Corpus. Computers and Humanities. 1983, 17: 139-150 [32] Kenneth Ward Church. A Stochastic Parts Program and Noun Phrase Parser for Unrestricted Text. In Proceedings of 2 nd Conference on Applied Natural Language Processing. Austin, Texas., 1988: 136-143 [33] J.M.Kupiec. Probabilistic Models of Short and Long Distance Word Dependencies in Running Texts. In Proceedings of the (1989) DARPA Speech and Natural Language Workshop. Philadelphia, 1989: 290-295 [34] D. Cutting, J. Kupiec, J. Pederson and P. Sibun. A Practical Part -of-speech Tagger. In Proceedings of 3 rd Conference on Applied Natural Language Processing. Treno,Italy. 1992: 133-140 [35] Sung-Young Jung, Young C.Park, Key-Sun Choi and Youngwhan Kim. Markov Random Field Based English Part-of-Speech Tagging System. In Proceedings of COLING’96. Copenhagen, Denmark, 1996: 236-242 [36] G.Leech, R.Garside, M.Bryant. CLAWS4: The Tagging of the British National Corpus. In Proceedings of COLING’94. Kyoto, Japan. 1994: [37] James Allen. Natural Language Understanding. The Benjamin/Cummings Publishing Company.Inc [38] Christopher D.Manning. Hinrich Schutze .Foundations of Statistical Natural Language Processing. The MIT Press 第第第第6章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 228 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 音字转换是汉字智能拼音键盘输入和汉语连续语音识别中的关键问题。本 章首先介绍这两个音字转换问题的应用背景,之后讨论拼音输入的各种形式、 拼音音节切分、拼音(语音)纠错以及音字转换方法等主要问题。 6.1 引言引言引言引言 根据输入设备的不同,文字输入方法分为语音输入方法、手写输入方法和 键盘输入方法三类。其中键盘输入方法目前被最广泛采用,另外两种方法为计 算机用户提供了更多样的人性化输入方式,在某些特殊场合也具备特别的用途, 但由于技术上的限制,其应用受到很多限制。对汉语的计算机处理而言,汉字 的键盘输入也是个重要的问题。 在诸多汉语的输入方法中,语音识别和拼音键盘输入是两个典型的方法, 并面临一个共同的问题:音字转换。这也是本章的讨论内容。 汉语的发音以音节为单位,它是语音识别的基本单位,也是拼音键盘输入 的基本输入单位。每个音节通常对应多个汉字,在以单字或词为单位进行语音 输入或拼音键盘输入时,给定输入,常对应多个同音字或同音词,需要用户进 一步选择确定,输入速度因而非常慢。如果以较长的语段或语句为单位,则由 于字与字之间、词与词之间存在语言上的约束关系,可以此协助确定合适的同 音字或词,有效加快输入速度,在拼音键盘输入中缩短输入码长。 音字转换技术就是利用计算机采用人工智能、统计学、语言学等方法充分 利用各种语言单位的上下文关系处理汉语语音音节串或拼音串到对应汉字串的 自动转换。这里语音音节与汉语拼音实质相同,但在不同场合表示形式不同, 处理方法有所侧重和不同。 本章首先详细介绍了汉语的声音语句输入和智能拼音键盘输入这两个音字 转换的背景。之后主要以智能拼音键盘输入为背景讨论了音字转换系统面临的 几个主要问题:拼音的多种表达形式、拼音音节自动切分、拼音(语音)纠错、 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 146 音字转换方法等。 目前国内外在面向语音识别等大规模真实文本处理的语言学研究中,已形 成了以统计方法为主要内容的语言模型研究分支,其内容在前面章节中有详细 论述,其方法基本适用于本章的音字转换,本章不再赘述。 6.2 声音语句输入声音语句输入声音语句输入声音语句输入 6.2.1 声音语句输入的提出声音语句输入的提出声音语句输入的提出声音语句输入的提出 声音输入是人机通信的最自然最理想的方式,在国内外均作为高技术重要 课题加以研究[1-4] 。从声音到文字的输入过程可分为两个阶段:一是语音识别阶 段,把自然的声音信号转换为机器可以处理的数字表达的音节形式(或拼音形 式),二是语音理解阶段或音字转换阶段,把音节转换为汉字形式。 汉语的语音识别单位分为单音节(字识别)和多音节(词识别)两种,对 于通用的汉语文字系统来说,引人注目的是单音节语音识别技术,这是因为: 1. 汉语是单音节语言,口语中,词与词之间很少有清晰的停顿,主要是单 音节之间有间隔,单音节输入较易为人们接受。 2. 汉语中音节数只有400 个,考虑音调也只有1200 个,词是由音节组合成, 只要上述音节可以正确输入,则这些音节能构成可以说是无限的词组和语句。 况且语音输入训练时只训练单音节是比较容易的,而在大词汇量(如几万个) 情况下训练词的输入是难以让用户接受的。 3. 单音节输入比多音节输入变化范围小,对系统资源的要求较低。 语音理解阶段进行语音识别后的处理,有三级形式:字处理、词处理和语句级 处理。 字处理的典型形式是:把语音识别器给出的和输入音节相近的几个音所包 含的近音字在计算机屏幕上显示出来,让用户选择所需的汉字。这种形式的特 点是实现简单,对系统资源要求不高,但由于语音理解的工作基本上留给用户 处理,屏幕提示的候选汉字太多,查找困难,用户输入速度慢,眼睛容易疲劳, 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 147 不适于输入较长的文本。 词处理的典型形式是:通过用户读入音节停顿时间的不同确定词的长短, 再和系统词库进行近音匹配,把近音词在屏幕上显示出来让用户选择。其特点 是:系统排除了不太可能的候选词,留给用户选择的范围较小,选择工作比较 容易也比较迅速。但朗读时字词停顿的时间不能相同或相近,读词的时间停顿 较长,节奏不好掌握,读音的速度相对较慢,用户读音时还要思考输入文本的 语义,确认是字还是词,脑力劳动强度较大。 语句处理要明显优于字词输入形式: 1. 从操作心理学上看,操作人员倾向于按有一定意义的短语或句子为单位 进行短时记忆。 2. 从信息论角度讲,汉字的多维熵要少于一维熵,语句输入法比字词输入 法需要较少的输入信息。这样对语音识别器精度的要求较低,这一点非常重要, 因为语音识别正确率达到较高的程度以后,再提高一点都很困难。 因此单音节语句输入操作比较自然,对用户的限制较少,其与语言后处理技术 相结合可以实现理想的语音识别系统。 6.2.2 声音语句的推理声音语句的推理声音语句的推理声音语句的推理 图6-1给出了声音语句输入的示意图。 声音语句 多个音节候选 汉字语句 语音识别 语音理解 图6-1 声音语句输入分阶段处理示意图 语音识别部分采用模块匹配法或隐马尔科夫模型等方法把听觉信号转换为 数字表达的音节形式,由于不同人发音不同,即使同一人在不同时刻、不同环 境的发音也不同,以及噪音等多种因素的影响,语句部分的输出通常不是唯一 确定的,如果把作为候选的M个相似音节作为行,对应输入语句中的N个音节作 为列,则语音识别部分的输出可表达为一个音节候选二维向量。图6-2为“今天 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 148 是星期五”语音识别部分给出的音节候选向量的示例,其中,音节用汉语拼音 表示,候选音节和输入音节的距离用数字表示,沿Y轴顺序排列,数字越小,相 似度越好。声音语句的音节按输入的顺序沿X轴排列,音节数N=6, 候选音节数 M=9 。 Y 0 1 2 3 4 5 6 X jin 033 jing 035 jian 039 ji 089 qin 289 xin 453 xun 562 qun 787 jun 886 jian 076 tian 076 gan 087 qing 433 jin 556 qin 559 ting 876 xin 890 jun 987 shi 121 chun 135 shun 190 chi 344 sen 456 shen 490 ci 580 zi 590 ping 621 xing 324 qing 354 xin 566 qin 677 xong 698 shen 790 seng 834 xun 932 shuan 998 qi 022 ji 056 xi 056 xie 078 xin 145 xing 180 qie 230 xian 286 zhi 341 wu 201 hu 222 fu 342 gu 389 mu 450 pu 489 wo 564 zhu 621 gong 840 图6-2 对“今天是星期五”语音识别给出的音节候选向量 语音理解的任务不仅是从音节候选向量中选择出正确的音节,更主要的是 从音节中选出正确的汉字。如果把同音字作为一维向量的话(沿Z轴方向),二 维的音节候选向量可以转化为三维的音字候选向量。图6-3将图6-2的二维向量转 化为三维向量。为清晰起见,只列出了前三个候选音节的情况。 人类在理解自然语言时,除了听觉信号外,还必须有其他知识(如音节、词、 语法、语义、语境等知识)才能理解所听到的声音。对这些知识的组织、表达、 获取以及使用,都是语音理解部分研究的内容。该部分模拟人们听写行为的思 维过程,运用多种知识排除歧义性,在音字候选向量中找到一条沿 X 轴方向从 1 到 N 的最佳路径作为输出。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 149 Y 金 间 是 星 七 五 今 渐 事 兴 期 武 仅 件 时 姓 奇 午 3 斤 简 视 行 欺 侮 惊 天 春 轻 鸡 虎 精 田 唇 清 急 乎 迳 殄 蠢 情 几 扈 2 京 添 纯 请 技 唬 Z 间 干 顺 新 西 妇 渐 竿 瞬 信 晰 服 谏 绀 舜 昕 息 伏 1 件 甘 吮 心 媳 付 0 1 2 3 4 5 6 X 图6-3 音字候选三维向量举例 6.2.3 声音语句输入的系统实现声音语句输入的系统实现声音语句输入的系统实现声音语句输入的系统实现 声音语句输入系统的框图如图6-4所示,以下对几个主要模块给予说明。 1. 语音识别模块 本模块把声音输入转化为计算机可以处理的音节候选二维向量。 2. 音词自动切分模块 由于书面语言中词与词之间没有空格,而人们说话时也极少在每个词之间 都给予停顿,以词为输入单位的转换方式很不自然。这样系统自动分词是必不 可少的。 3. 语义和语法推理模块 根据分词后的近音语句查找知识库,根据语义和语法规则进行自底向上的 归约推理。 4. 概率推理模块 上个模块如果得到两个以上的候选结果,而又无法用其他知识或缺少某些 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 150 知识进一步处理,则采用概率推理进行歧义判断,从而选出一个最有希望的可 能结果作为输出。 5. 输出验证和机器学习模块 语音信号 N N 汉字输出 Y Y 语音识别 近音词自动切分 查找知识库,给出同音 字、词的候选集以及相 关规则集,据词法、语 法、语义知识进行推理 路径大于一条? 概率推理 句子输出正确? 拼音内码转为汉字内码 语音库 词典 句法知识 语义知识 语用知识 知识库 机器 学习 图6-4 声音语句输入流程图 理论上讲,语句级声音输入无法或很难达到100% 正确。在将声音语句转换 为汉字语句后,系统一般把输出结果显示在屏幕上,等待用户验证。 如果转换结果完全正确,系统对转换机制及所用的知识加以肯定,即对转 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 151 换该语句所使用的字、词、规则等的可能性或优先度进行小幅度增值处理,也 可对其他知识进行小幅度减值处理,这称为自然记忆。 如果转换结果有误,系统为用户提供一个实时修正转换错误的方法,也就 是句内编辑。用户改正后的汉字语句,系统将对它进行词法、句法、语义等各 方面的分析,并且进行词和规则的自动生成、强化记忆、可能性及优先度大幅 度增(减)值处理等操作,对知识库进行较大的修改和更新,以便保证今后对 该类语句声音输入的正确性,这称为强化记忆。 6.3 汉字智能拼音键盘输入汉字智能拼音键盘输入汉字智能拼音键盘输入汉字智能拼音键盘输入 汉字键盘输入是汉字输入的主要方式。汉字键盘输入方法可以分为两类, 一类是基于字形的输入法,一类是基于拼音的。基于字形的输入法(形码)重 码率低,平均码长较短,因而输入速度快,但难以掌握,只适用于专职打字员; 拼音是汉字的标准音调符号,因其易学易用,成为最受欢迎的输入手段,97% 以上的中文用户使用这种方法[5] ,缺点是由于汉字多音字现象很普遍,因而重 码率高,基于字、词的拼音输入往往速度较慢。根据上下文建立汉语语言模型, 在此基础上以句子为单位进行输入能很好地克服普通汉字输入法的弊端。目前, 基于拼音的汉字智能语句输入法因其易学、快速、具有良好的人机接口等特点 已成为广大计算机用户认同的主流输入法。 汉字智能拼音键盘输入的核心内容是拼音串到汉字串的自动转换,这个过 程与汉语声音语句输入中的语言后处理部分本质上是一样的,简称音字转换。 音字转换是将连续的拼音流自动转换成相应的文字流的过程。给定一个连续的 拼音流,存在各种不同的切分方式,由此得到拼音的各种不同组合,每个特定 的拼音的切分对应一系列同音字或同音词,相邻的字或词存在一个由前向后的 联接关系。由此构成音字转换问题的状态空间(如图6-5所示)。音字转换即为 在词网格中搜寻最优路径的过程。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 152 6.4 拼音输入的多种表达形式拼音输入的多种表达形式拼音输入的多种表达形式拼音输入的多种表达形式 在汉语拼音中,音节是语音中最小的结构单位,也是人们可以自然地察觉 到的最小的语音单位。普通话的音节一般由声母、韵母、声调三部分构成。一 般说来,一个汉字的读音就是一个音节。它是由 1 至 4 个音素组成的(音素是 从音质角度划分的最小的语音单位,包括元音和辅音)。 图6-5 词网格示意图 汉语拼音是一种国家标准,是中国语文教育的必修内容,因此掌握汉语拼 音的人数众多,这也是拼音输入法易于掌握的原因。目前汉语拼音输入法的基 本形式是采用汉语拼音原型,称之为“全拼”。全拼输入形式由于其易学性被 广泛接受,但也存在一些弱点,比如这种输入方式表示一个音节的字母数量较 多,使得汉字输入的平均码长较长;再比如这种拼音编码的码长不一致,在输 入拼音的时候也为用户带来一些麻烦,拼音之间必须显式输入间隔,进一步增 加了汉字输入的平均码长,这个问题可以通过拼音音节自动切分来解决,但毕 竟增加了系统的负担;另外,对全拼方式很多计算机用户并不完全熟悉,怎样 更好地适应这类用户,是一个重要问题。针对全拼输入的各种缺点,可以考虑 对基本拼音的表达形式作适当变通,以适应不同用户的需要。下面将介绍除全 观测序列 o0 o1 o2 o3 o4 候 选 词 时 间 t w11 w21 w31 w41 w51 w12 w22 w42 w52 w32 w43 w53 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 153 拼之外的其他拼音输入形式。 6.4.1 拼音助学和提示拼音助学和提示拼音助学和提示拼音助学和提示输入输入输入输入 对于拼音不熟的用户,或者偶尔忘记某个拼音的拼法,或者想了解某个拼 音有哪些同音字时,都可以使用提示方式了解。 1. 声母提示 声母有 23 个,另外可定义 5 个准声母包括 y、w,以及韵母音节的首字母 a、 o、e,也就是说,若音节中不含声母,则该音节第一个字母定义为声母,汉语 中有 400 多个音节,1200 多个音调节,6000 多汉字(GB2312-80 ),它们都可按 声母分为 26 组。 用户输入声母,再输入提示键,即可熟悉以此声母为首的汉字各音节、双 拼(简拼)字符或常用字。 2. 拼音提示 当输入一个完整的拼音音节后,再按提示键,可以了解该拼音所有的同音 字以及相应的形码的编码,可以再输入音调或形码键,以便形成音节、音调节 或再根据形码确认汉字。 6.4.2 简拼快速输入简拼快速输入简拼快速输入简拼快速输入 1. 拼音的压缩表达(简拼、双拼、三拼) 为减少拼音字母串的长度,可以为多字母声母和韵母定义简码,这样,每 个拼音音节仅用至多三个简码就可表示,简化后的拼音形式称为简码。双拼和 三拼是特殊的简拼形式,双拼即一个拼音由两个简码组成(声母+韵母),三拼 即一个拼音由三个简码组成(声母+介母+韵母)。 各种简拼方式可以单独使用,也可与全拼形式混合使用,为用户提供更大 的灵活性。各种输入法系统通常提供各种简拼形式供用户选用。 2. 快速输入 对简拼形式熟悉的用户可以采用快速语句输入方式。快速输入的要点是用 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 154 双拼表示拼音(每个音节只需用二个字母表示),目的是省略拼音间隔符号,这 样绝大多数汉字可以用二键输入。这种方式和其他简拼方式都可选用音调。 6.4.3 用户自定义简拼用户自定义简拼用户自定义简拼用户自定义简拼 由于简拼形式没有国家标准,不同的汉字系统采用的简拼形式多种多样, 一些用户对某种拼音缩写表达已成习惯,这样比较难适应其他方法,因而输入 法系统可以提供用户自定义简拼功能,以利于用户自定义某种简拼形式。 6.4.4 模糊拼音输入模糊拼音输入模糊拼音输入模糊拼音输入 对于发音不准的用户,例如平卷舌音节 c 和 ch 、s 和 sh 、z 和 zh 不分,b 和 p、in 和 ing 等分不清的用户,一下子改正发音很困难,可以使用模糊拼音输 入方法。系统为用户提供模糊音定义的功能,根据用户定义,系统自动处理拼 音模糊问题。 6.4.5 面向数字键盘的数字拼音输入面向数字键盘的数字拼音输入面向数字键盘的数字拼音输入面向数字键盘的数字拼音输入 使用标准计算机键盘输入汉字,直接按上述方式输入拼音串即可实现语句 级拼音汉字输入,在手机等数字信息设备中,必须利用数字键盘(小键盘)输 入信息。通过数字键盘输入汉语拼音,每个数字键对应多个拼音字母(如图 6-6 所示),因而增加了输入拼音的难度。这里每个合法汉语拼音对应的数字串称之 为数字拼音,根据通常数字键盘的定义,用数字 2-9 表示。以数字拼音输入汉 字,具体输入形式有两种: 1. 数字拼音之间显式输入拼音间隔,如用 0 作为人工切分键,例如输入“哈 尔 滨 是 个 美 丽 的 城 市 ”, 则 其 对 应 的 数 字 拼 音 串 表 示 为 “420370246074404306340540330243640744 ”,这种方式由于需要人工切分数字 拼音,因而增加了击键次数。 2. 连续输入数字拼音,不用显式间隔。如上个数字串将“0”去掉结果为 “423724674443634543324364744 ”。这种方式减少了击键次数,但需要自动确 定拼音间隔,称之为数字拼音切分。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 155 1 2 ABC 3 DEF 4 GHI 5 JKL 6 MNO 7 PQRS 8 TVU 9 WXYZ * 0 # 图6-6 数字键盘字符键的标准布局 具体地,数字拼音处理中的如下几个问题为数字键盘的拼音智能输入带来 更大的难度: 1. 一个未切分的数字串可以对应多种数字拼音的组合。如根据实验结果, 上述数字串可切分为 189 种合法的数字拼音串。如何确定最合理的切分结果是 一个难题。 2. 一个数字拼音通常对应多个合法的候选拼音,如数字串“226 ”对应“ban ”、 “can ”两个合法拼音,而数字串“726 ”则对应“pan ”、“pao ”、“rao ”、“san ”、 “sao ”、“ran ”等多达 6 个合法拼音。 以上两个问题使得一个数字串可能对应成千上万个标准拼音串。 3. 如果考虑简拼、模糊音等不同的拼音输入方式,则数字拼音的自动切分 将更复杂,为音字转换带来更大的不确定性。 6.5 拼音预处理拼音预处理拼音预处理拼音预处理 拼音的预处理包括拼音音节的自动断开和输入拼音的错误处理。 6.5.1 拼音流的切分拼音流的切分拼音流的切分拼音流的切分 拼音流的切分就是确定拼音串中的各个音节。在语句级汉字输入方法中, 用户输入一串拼音,而拼音串是由若干个有效拼音组成,每个有效拼音对应为 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 156 一个汉字。因此用户在输入过程中,为了得到正确的转换结果,输入拼音串时, 应该在每输入完一个有效拼音后,就做一下断开,这样转换模块的工作才能正 确地进行。从操作心理来看,操作人员倾向于按有一定意义的短语或句子为单 位进行短时记忆、持续输入。因此用户应该是根据输入内容连续输入拼音流, 如果对拼音串进行人工的切分,这样的操作方法容易打断人的连续思维,加重 操作员的脑力劳动,因此对连续的拼音串进行自动的切分是有必要的。为简便 起见,本书不讨论面向小键盘的数字拼音切分问题。 拼音音节的自动断开可通过事先在大规模拼音语料基础上建立统计模型的 基础上,通过拼音语言模型来实现。这种方法通过整句的上下文信息来确定切 分结果,具体地,利用统计信息来确定多个切分结果中的最大概率结果。这种 方法能够达到很高的准确率,但在用户修改切分错误时会带来一些操作的不便。 在实践中,通过对汉语拼音构成的分析,我们发现,利用几条拼音边界切分的 规则即可实现拼音音节的断开,少数切分歧义现象通过用户手工断开即可。 算法的基本思想:根据汉语拼音的规则,对用户输入的拼音串进行切分, 采取边输入边切分的方式。 算法:基于拼音规则的拼音切分纠错算法 1 开始; 2 当前输入的字母为 I、U、V 中的一个,则转 12 ; 3 判断当前拼音串是否为有效拼音,如果是有效拼音或有效拼音的一部 分,不需要切分 转 13 ; 4 判断最后输入的字母是否为声母,如果不是声母转 6; 5 当前输入的字母是声母,且它前面的拼音串为有效的拼音,则在当前输 入声母前断开拼音,转 13 , 否则转 12 ; 6 判断拼音串的倒数第二个字母是否为 G,R,N 中的一个,如果不是转 11 ; 7 判断 G,R,N 前面的拼音是否为有效拼音,如果无效转 10 ; 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 157 8 G,R,N 前面的拼音为有效拼音,并且 G,R,N 和最后的字符组成的拼音为有 效拼音或有效拼音的一部分,则在 G,R,N 前面断开,转 13 ; 9 G,R,N 前面的拼音为有效拼音,但 G,R,N 和最后的字符组成的拼音无效, 判断在 G,R,N 后面断开是否有效,如果成功,则断开,转 13 ,否则转 12 ; 10 G,R,N 前面的拼音为无效拼音,判断在 G,R,N 后面断开是否有效,如果成 功,则断开,转 13 ,否则转 12 ; 11 最后输入字母不是声母,并且倒数第二个字符也不是 G,R,N 中的一个, 判断在 G,R,N 后面断开是否有效,如果成功,则断开,转 13 ; 12 输入错误,当前输入应该删除; 13 结束; 算法要求输入的拼音串必须是一个有效的拼音、一个有效拼音的一部分或 一个有效拼音后跟一个字母这三种形式中的一种。 算法需要两个数据结构支持: 一个是汉语拼音的声母表,保存汉语拼音中的所有声母,用于判断输入字 符是否为声母。 另一个是汉语拼音的有效拼音表,保存汉语拼音中的所有有效拼音以及它 们的 ID,主要用于判断拼音串是否为有效拼音或有效拼音的一部分。在判断拼 音串时,利用二分查找方法查找有效拼音表,给出当前拼音串的判断结果。 从上面算法可知,当拼音串中出现 G,R,N 时容易发生切分歧义,因为 G,R,N 可以与前面的字符组成韵母,也可以与后面的零声母组成一个有效的拼音,因 此要特殊处理。在某些情况下利用该算法会发生切分错误,需要人工干预。例 如:用户想输入“西安”两个字,拼音为“XIAN”,因为它是一个有效的拼音, 所以算法不对其进行切分,这时需要用户干预,对其进行人工切分。实践证明, 需要人工切分的拼音出现的概率比较小,因此该算法提高了用户的输入速度, 减轻了用户的负担。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 158 6.5.2 拼音纠错拼音纠错拼音纠错拼音纠错 由于拼音序列是转换成汉字的基础和前提,拼音序列输入错误对汉字输入 系统有直接的影响,它的正确性直接关系到转换结果。因此我们必须在拼音层 次上检测和处理用户的输入错误,以保证汉字输入系统接受的是正确的拼音输 入[6] 。 一般来说,用户在输入拼音串的过程中或多或少会存在一些错误,引起输 入错误的原因有以下几个方面:(1)与人们日常使用语言文字的习惯有关,通 常人们都是用汉字进行书写,而不是用拼音来传递交流信息。由于很多人在日 常生活中不是频繁使用,因而对拼音不是特别熟练[6] 。(2)由于中国地域广阔, 人口众多,不同地域的人的发音存在着一定的差异,存在着若干多种方言。例 如南方人对卷舌—平舌、前鼻音—后鼻音的区分就不同于北方人,这也就是常 说的“南方模糊音”[6] 。(3)用户真正关心的是转换后的汉字的正确,因此一 般情况下并不对输入拼音的正确与否进行检查,因此要求系统必须自动检测拼 音串的正确与否。(4)很重要的一点就是对键盘的熟练程度,这不但影响用户 的输入速度,而且直接影响到用户输入的准确度。在拼音语句级输入中,如果 用户输入拼音时出错,会影响到整个句子的转换结果。用户需要找到拼音出现 错误的地方进行纠正,才能得到正确的转换结果,这样一来就增加了用户的工 作量。因此为了减轻用户的负担,输入系统应该自动地在拼音层次上进行拼写 检查和修正,这样可以提高输入速度和输入效率。 文献[6] 以拼音整句输入法为基础,提出了在中文输入过程中的拼写自动修 改方法。通过对用户输入过程中所犯各种错误的分析,建立了一种有效可行的 打字模型,通过收集用户真实输入的数据,统计得到用户打字模型的参数;同 时基于大量的中文文本,训练得到一个强大的中文语言模型,并与中文的打字 模型相结合,采用类似语音识别的技术,修改用户输入中的各种错误,并得到 最合适的汉字。拼写纠正不仅可以进行用户自适应,而且还适用于各种语言。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 159 拼音纠错可以是一个明确的“预”处理过程,也可与后续音字转换过程结 合起来进行。 文献[7] 在语音识别系统中使用了拼音纠错技术。其纠错过程利用了音字转 换的结果,具体过程为:(1) 利用统计语言模型对输入拼音串进行初次转换,得 到初次转换词串;(2) 将初次转换词串纠错,得到正确的候选拼音;(3) 对上一步 得到的拼音候选再一次利用统计语言模型转换,得到最终词串。其具体的纠错 方法采用了“词组匹配纠正法”,纠错分两步:首先找到错误拼音所在的位置。 用“可信度”来衡量音字转换结果中汉字的正确程度。可信度越低,该汉字出 错的可能性越大。可信度计算考虑以下几个因素:(1) 转换结果中单字词容易出 错,多字词不易出错;(2) 某词与其前后相邻词的关系越小其可信度越小,两个 词的关系根据二者是否可以按语法规则组成短语,或二者的词性关系,或二者 构成的词串在语料中是否出现过来判断。得到每个汉字的可信度后,假设可信 度最小的汉字附近存在错误拼音。纠错就是纠正可信度最低的汉字机器相邻字 所对应的拼音,进而产生一个候选的正确拼音序列,然后再一次应用统计方法 进行音字转换。候选拼音的产生方式有两种:第一根据统计的二元词连接对, 第二是根据汉语的词组生成规则。当拼音正确率高于85% 时,这种带纠错的音 字转换方法可以提高音字转换正确率。 6.6 音字转换的实现方法音字转换的实现方法音字转换的实现方法音字转换的实现方法 语言建模尤其是统计语言建模技术是当前自然语言处理和计算语言学的主 要研究对象,被广泛应用于面向大规模文本的真实应用中,统计语言建模技术 就是针对大词表连续语音识别问题而提出,目前的主要语言建模技术均可用于 解决音字转换问题。本文仅针对汉字智能键盘输入问题对音字转换技术进行论 述。这方面的论述有大量文献报道[8-19] ,其中文献[19] 对当前主要汉字键盘智能 输入处理软件的综述较好地反映了这个问题。按其论述,目前成功应用的主要 音字转换方法有以下几类,作者对其稍加补充,阐述如下。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 160 6.6.1 基于理解的方法基于理解的方法基于理解的方法基于理解的方法 主要利用汉语语法知识来消化同音字、词,以及化解歧义分词。通常表述 为计算机能够识别和处理的一系列固定搭配、公式和自定义规则。在学科分类 中属于人工智能分支自然语言理解。使用该方法的软件是最早出现也是最理想 化的智能输入软件。 根据自动分词得到同音字、词的候选集,查找知识库得到相关的规则,再 经过归约推理,得出转换结果。利用句内编辑实时修正转换错误和批量学习可 以使得系统知识不断完善和充实,也就是自学习功能。 这种方法的优点是,由于采用了自行构造的“语法体系”,因而大体上能 够包括最基本和较少歧义的汉语语法知识,因此系统正确率比较稳定。缺点是 其语言的覆盖面较小,当输入语句的语法不规范时,不能有效处理;另外建立 知识库时知识表达和知识获取均非常困难。 6.6.2 基于语用统计的方法基于语用统计的方法基于语用统计的方法基于语用统计的方法 主要利用语用统计的数据来消化同音字、词,以及化解歧义分词。在学科 分类中属于统计学和运筹学范畴。 这种方案主要通过汉语字与字或词与词之间的同现概率来完成汉语语用统 计库的构造。主流的统计语言建模技术主要讨论的就是这种方法。由于概率信 息空间十分巨大,统计信息库的存储通常采用各种索引和压缩技术。如对基于 词的N-gram 模型,其N元概率信息可以采用图6-7所示的得多级索引形式来表示。 其中V代表词表,|V| 表示词表规模,不同的词用整数编号,称为词ID(Word ID ), 对于一级索引,词条的ID 号用位置信息表示。这种数据结构大大压缩了数据空 间。 这种方法通过概率计算求得词网格中的最佳路径,为减少状态空间的搜索 时间,必须采用有效的搜索方法,比如采用动态规划的Viterbi 算法或各种A* 算 法。 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 161 1 2 3 . . . |V| 一 元 频率 一 元 频率 第二词队 列首地址 第二词队 列首地址 二 元 频率 二 元 频率 Word ID Word ID 第三词队 列首地址 第三词队 列首地址 一 元 频率 第二词队 列首地址 第二词队 列首地址 一 元 频率 …… …… Word ID 二 元 频率 第三词队 列首地址 …… …… …… …… …… …… 图6-7 N-gram 语言模型数据结构 文献[14,17] 以统计语言模型为基本框架,实现了基于理解和基于语用统计相 结合的方法,在一定程度上,实现了两种方法的取长补短。 基于语用统计的方法适于大规模真实文本的应用,是目前的主流方法。其 优点是:对于已经进行过语用统计或具有相同类型的领域,系统的转换正确率 比较高,语用统计具有一定的偏向性。对于某个用户而言,在使用过程中,语 用统计库将会从最初的通用模型逐渐变为符合这个用户语用习惯的专用模型。 6.6.3 基于模板匹配的方法基于模板匹配的方法基于模板匹配的方法基于模板匹配的方法 本方法寓汉语语法知识于巨量的短语串中,进而利用这些短语串来消化同 音字、词,以及化解歧义分词。这种短语串通常称之为“模板词”。 这种系统通过模板词搜索引擎来完成汉语语法体系的组织。由于需要搜索 巨量的语料,获取巨量的短语串,才有可能大体上包容汉语语法知识。 根据分词后的输入语句查找模板词库和句法规则库,然后进行匹配处理。 如果匹配结果唯一,则不必再用概率推理;若存在两个以上的候选结果时,则 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 162 根据句法规则或概率推理进一步判定,选出一个最有希望的可能结果作为输出。 这种方法的优点是:对于已经搜索过模板词的或者具有相同类型的领域, 系统的转换正确率比较高。但由于模板词数量巨大,对计算机存储空间要求较 高。 6.6.4 基于上下文关联的音字转换基于上下文关联的音字转换基于上下文关联的音字转换基于上下文关联的音字转换 前文基于语用统计的方法可认为是一种上下文字、词关联的实现方法。“青 月亮汉字通智能输入软件”实现了一种基于模糊控制理论,利用上下文关联的 语用环境来智能选择重码字词的方法。在学科分类中属于自动控制分支非线性 控制范畴。 音字转换过程根据字、词属性知识、语法知识和动态语用统计知识计算上 下文关联重码字、词的特征函数值,根据特征函数值确定最有可能的一个字、 词。如果存在音字转换错误,系统提供给用户错误修正机制,根据修正后的结 果,系统机器学习机制自动更新知识库。这里将自然语言看成是一个模糊的集 合,将汉字输入系统作为一个基于非线性控制范畴的模糊控制系统来对待,机 器学习(或转换出现错误时的手工键选信号)相当于一个传感器,算法程序、 汉语知识库和动态语用统计库作为非线性调节器,使得系统的键选率和平均码 长逐渐趋于最优。 “青月亮汉字通”向上关联4个词语,向下关联1个词语,合计上下文关联5 个词,这一调节机制涉及到许多相互矛盾和相互牵制的受控参数,模糊集合的 特征函数从[0,1] 区间连续取值,可以较为准确地表现各种语言现象差异,获得 比较好的结果。 值得一提的是,“青月亮汉字通”作为一种音码、形码、和笔画码三位一 体的通用智能输入处理平台,可为各种输入法增加上下文关联智能输入的后处 理支持,增强了这些输入法的易学性和易用性。另外,这种输入法采用字段输 入,不使用语句级输入,使语法规则简约化,易于知识表达,其优点是不但减 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 163 低了键选率,还大大缓解了输入过程中“回头看”的问题。 6.7 本章小结本章小结本章小结本章小结 音字转换是汉字智能拼音键盘输入和汉语连续语音识别中的关键问题。本 章首先介绍了这两个音字转换问题的应用背景,之后讨论了拼音输入的各种形 式、拼音音节切分、拼音(语音)纠错以及音字转换方法等主要问题。 参考文献: [1] L. R. Baul, F. Jelinek, and R. L. Mercer. A Maximum Likelihood Approach to Continuous Speech Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1983,5(2): 179-190 [2] F. Jelinek. Self-organized Language Modeling for Speech Recognition. In Waibel and Lee, editors, Readings in Speech Recognition. Morgan Kaufmann. San Mateo, California, 1990:450-506 [3] 黄泰翼.人机语音通讯的发展及展望.中国中文信息学会成立十周年学术报告会论文集, 北京,1991 [4] 方隶棠,吴文虎.汉语语音识别的回顾、现状及展望.中国中文信息学会成立十周年学术 报告论文集,北京,1991 [5] 陈原主编.汉语语言文字信息处理.上海,上海教育出版社,1997 [6] 陈正,李开复.拼写纠正在拼音输入法中的应用.计算机学报.2001 ,24(7):758-763 [7] 张瑞强,王作英,张建平.带拼音纠错的汉语音字转换技术.清华大学学报(自然科学 版).1997 [8] 王晓龙,王开铸. 声音语句输入的研究. 计算机学报,1994 ,17 (2):96-103 [9] 万建成. 语音代码-汉字智能转换研究. 中文信息学报,1994 ,8(2):61-71 [10] 潘凌云,杨长生. 拼音、汉字计算机自动转换系统. 计算机学报,1990 ,13 (4):271-275 [11] 关毅,王晓龙. 基于转移的音字转换纠错规则获取技术. 计算机研究与发展。1999 ,36 (3):268-273 [12] 倪小东,李人厚,余克艰,庞宣明. 适用于信息设备的汉字输入法研究. 中文信息学报, 2001,15(5):58-64 [13] 王轩,王晓龙。大规模文本计算机音字相互转换技术的研究。计算机研究与发展。1998 , 35 (5):417-421 第第第第6章章章章 音字转换技术音字转换技术音字转换技术音字转换技术 164 [14] 王轩,王晓龙. 语音识别中统计与规则相结合的语言模型. 自动化学报, 1999,25(3) : 309-315 [15] 章森等.语句拼音-汉字转换的智能处理机制分析.中文信息学报,1998 (2) [16] 张普.智能化-汉字键盘输入法的最重要发展方向.中国标准出版社,1997 (2) [17] 蔡榕.最优拼音汉字一次输入变换法及拼音汉字转换系统的实现.第三届中文信息处理 国际会议论文集,1992 ,10 [18] 陈一凡、胡宣华.汉字键盘输入技术与理论基础.清华大学出版社,1994.6 [19] 陈一凡,朱亮.汉字键盘输入智能处理软件综述.中文信息学报,2003 ,17 (2):60-65 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 228 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 自动文摘技术(Auto-Summarization )作为自然语言处理的一个难点,当前 由于互联网的日益兴起而吸引了越来越多研究者的注意,本章将就自动文摘技 术的发展过程和主要方法作一个简要介绍。 7.1 引言引言引言引言 文本摘要是指通过对全文信息进行处理,从中提取出最重要的内容,经过 重组后生成比原文更简短、精练的文本(原文摘要)的过程。这一任务对人们 来说并不陌生,摘要出现的历史其实远远早于计算机出现的历史,而其所涉及 到的体裁包括了小说、新闻、科技论文等相当广泛的领域。当然,即使到了今 天,摘要的生成也主要是由原文的作者或者是专业的文摘员来完成。而随着互 联网普及后出现的信息爆炸性增长,单单靠手工来完成对文本信息的摘要编撰 工作除了无法应付互联网上不断涌现的海量信息外,还存在着以下缺点:首先, 由于每个人对文本内容的理解必然受到其自身知识背景的影响,使得人工撰写 的摘要存在很大的主观性,不同的文摘员对同一篇文章所作的摘要往往差别很 大,甚至同一个人对同一篇文章在不同时期做出的摘要也会有很大不同;此外, 人工摘要也很难满足面向特定任务或者基于用户请求的文摘任务,比如在信息 检索过程中不同的用户会用不同的关键字或自然语言指出他所特别关心的内 容,这就需要在撰写文摘的时候必须根据用户请求而对包含特定信息的语句有 所侧重,用户请求是很难预知的,显然由人来编写相关的摘要将无法满足用户 对信息获取的实时性要求,这里还没考虑多用户同时提出请求,而这恰恰是当 前的互联网环境下的真实情况。 另一方面,互联网的迅速普及在提供了信息获取途径的同时却给人们留下 了另一个难题,那就是如何在每天都不断涌现的海量信息面前更快速、准确的 获得有用的信息,显然,通过阅读文摘而不是全文能够极大的加快人们的信息 过滤速度,帮助人们更容易地解决这个问题,从而使得对自动文摘技术的需求 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 166 由过去的科技人员转向了普通用户,这也极大的鼓励了人们对自动文摘技术的 研究热情。然而,自动文摘技术当前所取得的研究成果还不如其他自然语言处 理技术那样成熟和得到广泛应用,这主要是因为为一篇文章撰写真正的文摘, 首先必须真正的“理解”原文的内容,这一任务对人来说是较容易完成,但对 计算机而言却是显得异常困难, 而这就导致了自动文摘的质量,尤其是摘要的 逻辑连贯性还很难与人工摘要相比。 一般地说,一个自动文摘系统可以分成:文本内部表示、文本分析、文摘 提取、摘要生成四个部分, 各个部分的主要功能为: 文档内部表示:主要是将用户输入的文档进行词语、语句、段落、章节等 的划分,由于文档的结构特点,通常将划分后的结果用结构树的形式表示[1]。 文档分析:文档分析是当前大多数自动文摘系统的所作的主要工作,主要 对文档进行不同层次的分析,通常在这一阶段需要给出一个定量的标准来衡量 每一个文档基本单元(语句、段落或章节等)的重要程度并根据分析结果将这 一度量赋值给每个基本单元。 文摘提取:在这一部分首先需要确定文摘生成时用到的基本单元,即确定 提取什么样的文档基本单元来生成摘要,由于现有技术的限制,使得用低层次 语言生成技术,如通过词语来生成语句,还很难达到令人满意的效果,因而往 往选择较高层次的如以单句[2]、复句[1,3]等为摘要提取的基本单元,其中大多数 文摘系统选择语句(单句或复句)为提取的基本单元。然后根据给定的文摘比 率(文摘比率 = 文摘长度/原文长度)提取出分析过程中得到的最重要的文摘 基本组成单元。 摘要生成:其主要任务是进行合成,将文摘基本单元作进一步的加工,根 据选取的组成文摘的基本单元的不同,这部分任务难易程度也有所不同,例如, 如果选择语 句作为文摘的基本单 元,则需要解决如指 代消解(Anaphora Resolving ),关联词匹配等问题,如果以词语作为基本单元,则需要处理语句 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 167 生成等问题。 以上我们将一个文摘系统根据处理过程分成了四部分,由于在现有技术下 文摘生成部分往往只能做一些浅层的工作,而对于深层的语言生成等技术还无 法实现,所以文档分析往往是现有文摘系统的核心部分,而主要的文摘技术也 是针对这一部分任务而设计的。一个文摘系统所采用的文档分析技术可以分为 三类[4]: 1 浅层分析(Surface-level )只涉及到对文档中所蕴含的一些浅层的特征进行统 计与分析,然后将其中的某些特征按特定的量化模型结合起来作为文档信息的 量化度量,并据此选择出文档的核心内容,对于文档的浅层分析往往不需要复 杂的文档内部表示,而只需要能够划分出文摘提取时的基本单元就可以了。这 一分析方法所涉及到的主要特征有:  主题特征(Thematic Features ),指文档中出现的在统计意义上信息含量 较高的词语,主要基于对短语的频度统计来进行分析。  位置特征(Location ),在文本、段落中的位置,如对于新闻类文档,其 第一段往往是对全文的概括性描述,而文档中每一段的段首或段尾也往 往是对这一段的主要内容的描述。  背景特征(Background ),背景特征指在标题、子标题、文档首段或者用 户查询中出现的词或短语。  指示性词语和短语(Cue Words and Phrases ),指文档内的一些特定的词 语如“总而言之”、“综上所述”、“本文”等,或者一些起着强调作用词 语如“特别地”、“重要的是”等,当然也包含一些特定领域的专有词汇, 因为这些词汇往往对文档的中心主题有着很好的指示作用。 2 实体层分析(Entity-level ),所谓实体即是指前文所述的组成文档的各个单元 如语句、段落等,每个语句或者每个段落皆可以称为一个实体。实现实体层的 分析需要首先将文档转化成内部表示的形式,分化出文档的各个实体并建立起 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 168 文档实体间的相互关系,通过对文档实体及其相互关系建模,将有助于确定个 个实体对于表述文档内容的作用。在实体层分析所利用到的特征主要是个个实 体之间的相互关系,包括:  相似关系(Similarity );  相近关系(Proximity ),即文档各个单元之间的距离;  同现关系(Co-occurrence ),指两个词语在同一个上下文中出现,当然, 同现关系不一定只是指词语,也可以是词性同现或者词义同现等;  基于辞典的关系,如上下位关系、同义关系、反义关系等;  逻辑关系(Logical Relations) ;  句法关系(Syntactic Relations ),如语法分析树;  语义表示关系(Meaning Representation-based Relations ),如基于断言- 论点的关系。 3 话语层分析,主要是对全文的宏观结构进行建模,这些结构包括:  文档格式,如超文本标记或者文档大纲;  用于区分文本主题的线索;  文本的修辞结构(Rhetorical Structure ),如议论文或者说明文的结构特 征。 一个文摘系统往往不只涉及到一种分析层次,更常见的情况是在一个文摘 系统综合了多个层次、多种特征的分析与集成来共同完成文档分析以及摘要提 取任务。 本章的主要内容如下:在7.2 节将讨论文档的内部表示方法,尽管不是所有 的文档分析都需要事先对文本建立特殊的内部表示,但内部表示的建立将为以 后文摘系统的深层分析提供一个良好的基础;在本章中将详细的介绍各个层次 的分析技术以及在典型的文摘系统中的实现方法。最后一节描述自动文摘系统 的评测方法。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 169 7.2 文本的内部表示方法文本的内部表示方法文本的内部表示方法文本的内部表示方法 显然每个自动文摘系统由于采用的分析技术不同,其内部表示也不尽相同, 我们不可能介绍每一种表示方法,在这里我们将主要介绍文献[1]中使用的一种 比较通用的、根据文本的自然结构来表示文档的方法,即文档结构树(Structure Tree of Document )。 图7-1 文章结构树 一篇文档按其自然结构可以划分为章节(Section )、段落(Paragraph )、 复句(Complex Sentence )、分句(Clause )、词语(Word ),它们之间从前往 后依次存在包含关系,因而可以用树来表示,如图7-1所示,在图7-1中每个节点 (根节点除外)由一个唯一的多层编号来表示,编号的层次是由“.”分隔的。 由于除了章节以外的其他单元之间都会有明显的标记加以区分,如段落之间以 段落标记进行区分,复句之间由表征复句结束的标点符号“。?!”等来进行 分隔,因而可以很方便的确定相应层次的节点所包含的子节点。但文档的章节 文档 1 ...2 2.1 2.2 2.3 2.1.3 2.1.22.1.1 2.1.2.32.1.2.22.1.2.1 根节点 段落层 复句层 分句层 章节层 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 170 (也称意义段)之间则不一定具有明显的界限,所以文档表示中一个重要的工 作就是进行文档的章节划分,关于文档章节的划分方法可以参见[5,6,7,8]。 一篇文档除了根据自然的物理结构来进行表示外,在文档分析阶段往往会 根据分析结果引入更深层次的表示,如话语结构树等以反映文档各个基本单元 之间的语法语义关系,7.5 节将对此进行详细描述。 7.3 基于浅层基于浅层基于浅层基于浅层分析的文摘技术分析的文摘技术分析的文摘技术分析的文摘技术 如上所述,文本的浅层分析仅仅借助统计方法并只涉及到对一些浅层的语 言学知识的利用,这种方法并没有考虑到语言的语法、语义及语用知识,而这 些知识是人们对文档内容进行理解的基础,因此,把基于浅层分析的文摘方法 称为机械式文摘,而把基于实体层及话语层分析技术的文摘方法称为理解式文 摘。有趣的是,虽然浅层分析是在50 年中期开始出现的最早的自动文摘技术, 而在60 年代以后人们将主要的精力用于研究基于理解的自动文摘技术,但在 1990 年代以来,人们对自动文摘系统重新燃起的热情覆盖了对这两种技术的研 究, 尤其是对基于浅层分析技术的文摘系统,由于其高效、简洁而得到广泛的 应用。当然,在很多实际系统中往往综合这两种分析技术来分析文档,这样能 够在保证系统效率的同时提高文摘的质量,这样的技术称为复合文摘技术。 1958 年Luhn 在IBM704 数据处理机上建立了有史以来第一个自动文摘系统, 并于同年将其研究成果发表在IBM Journal 上,首次提出了一整套的自动文摘方 法,从而开创了自然语言处理的自动文摘领域。Luhn 所采用的主要是基于词频 统计的语句加权方法从原文中抽取出主题语句来生成摘要。经过十年左右的发 展,Edmundson 则在Luhn 的基础上综合运用了多种特征来进行语句的加权。 Edmundson 的研究涉及到了对大多数浅层特征的使用,是一种比较典型的基于 浅层分析的文摘方法,本节主要介绍Edmundson 的文摘系统实现方法。 一个基于浅层分析的文摘系统的处理过程如图7-2所示,这里把整个过程分 成两部分,即脱机处理和联机处理。脱机处理部分主要是进行手工建立自动文 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 171 摘系统的训练语料库,并通过对训练语料库的统计来建立一个通用(指与特定 文档无关)的特征库。联机处理主要完成三部分功能:首先根据输入文档以及 通用特征库来抽取输入文档中所蕴含的特征信息,即文档特征库,然后根据文 档特征库以及相应的权值计算方法来计算每个语句的权值,最后根据语句权值 的大小并考虑到文摘系统的连贯性来抽取文摘,生成摘要。 语料库 通用特征 库 建立特征库开始 文档 特征抽取 语句权值 计算 文档特征库 语料库 标注 抽取摘要 摘要 脱机处理 联机处理 图7-2 基于浅层分析的自动文摘系统处理过程 7.3.1 建立特征库建立特征库建立特征库建立特征库 为了建立一个通用特征库,Edmundson 首先收集了目标领域内一定数量的 文档来构成训练语料库,并对每一篇文本手工编写摘要。然后根据对手工编写 摘要与原始文档的对比统计来建立起通用特征库。 这里用到的特征主要指浅层特征,在Edmundson 的算法中主要用到了以下 四种特征信息: 1 索词词典  该词典由三个子词典构成,即奖励词典(Bonus dictionary ),如果一 个语句中包含有该词典中的词或短语,则该语句作为文摘句的可能性就 会增加,即可以获得正向加权;惩罚词典(Stigma dictionary ),与奖励 词典正好相反,包含该词典中词或短语的语句出现在文摘中的可能性将 比不包含这样的词语的语句更小,即该语句的权值会降低;无关词典 (Null dictionary ),该词典中的词条与语句的加权无关。 为了构造线索词词典,需要事先构造一个训练语料库,该训练语料 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 172 库由 N 篇通常是取至不同领域的文本文档组成,同时还需要为每篇文 档准备相应的一篇或者多篇摘要。然后通过统计每个词语的如下信息来 决定每个词语应该归入哪一个词典之中:1)频度(Frequency ):每个 词语在语料库中出现的次数;2)分布(Dispersion ):在语料库中包含 有该个词语文档数目;3)选择率(Selection Ratio ):词语出现在文摘 库中的频度与出现在语料库中的频度的比值。  然后按如下原则来构造候选线索词:无关词候选,当词语的分布大 于给定的域值 dλ ,并且选择率在两个给定的域值 slλ , suλ ( susl λλ <≤0 ) 之间的时候该词语列入无关词候选列表;奖励词候选,词语的选择率大 于 suλ 时列入该候选列表;惩罚词候选,如果词语的选择率小于 slλ 则归 入该候选列表。除了以上三类候选列表以外,还有一类词语有可能对于 文摘语句的选取产生影响,这类词语往往出现频度较低,但是其分布也 很低,即只在较少的文档中出现,这类词语被称为后备词(Residue ), 当一个词的分布小于给定域值并且其选择率在 slλ , suλ 之间时可以列入 该候选列表,该列表主要是在进一步调整其他候选词典的时候使用。  通常情况下需要对上述候选次列表结合语法或语用信息来进行进一 步的调整以获得最后的线索词典,目前并没有一个更加系统的方法来完 成这一工作,所以需要根据实际应用所提供的语言学资源决定对候选进 行进一步筛选的方法。 2 关键词词典 关键词词典的构造通常是采用词频统计来完成的,主要是基于这样的假设: 即高频度的实词往往对于一篇文档所表述的内容起到比较重要的作用。事实上, 关键词的抽取不仅仅涉及到频度统计问题,对于汉语而言,更涉及到分词、名 实体识别等汉语自然语言处理的基本技术,以便识别出文档中的人名以及专有 名词等,从而提高关键词抽取的准确率。这里仅仅介绍如何统计方法来建立一 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 173 篇文档的关键词词典,即首先统计所有实词在一篇文档中的出现频度并按频度 的大小降序排列,然后按照给定的比率将特定数量的未出现在线索词典中的高 频实词抽取出来构成关键词词典,同时给每个关键词赋予一个权值来表明该词 语在抽取文摘句时的重要程度,也可以直接用该词语的频度作为每个关键词的 权重。 3 标题词库 标题词库包括标题以及各级子标题中出现的,同时又没有出现在无关词典 中的实词。在多数情况下标题或者子标题中往往蕴含了一篇文档所描述的主要 内容,所以标题中出现的词语对于文摘句的抽取有一定的参考意义,为了利用 标题信息,同样需要给每个词语设置一个权值,只是该权值的设置与下一个浅 层特征,即位置特征,是密切相关的,所以其设置方法将在下面给出。 4 位置特征 通常文章的作者都希望将一篇文章的主要内容尽早地呈现给读者,而在文 章的结尾会再一次对全文内容作一个总结,这一特点在新闻类文章中体现得尤 为明显。除了全文内容的具有这一特点外,文本中每一意义段或者自然段往往 也具有相似的特征。另外,在紧接着标题或者小标题后的语句往往更能反映全 文或者小标题所要陈述的内容。Edmundson 通过对100篇文章及其相应的人 工摘要的统计也证实了上述特征的存在,这一点主要体现在处于上述位置的语 句中的词语选择率往往比位于文章中其它位置的语句中的词语选择率高。根据 这些特点,在进行文摘语句的抽取时就应该考虑到一个语句在文章或者段落中 的位置特征并将这种特征进行量化加权。 这里将语句的位置特征的权值分成了两部分,一部分称为标题加权 (Heading Weight ),首先需要统计在上一部分构造的标题词库中每个词语在训 练语料库中的选择率,对于一篇文章,与处于上训练语料库中相应位置上的语 句中实词的选择率是成正比的(一个语句的选择率)。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 174 7.3.2 文摘句抽取文摘句抽取文摘句抽取文摘句抽取 在上一节我们建立了四个文本浅层特征库,每个特征库中的元素都被赋予 了一个量化权值来表明该元素在文摘抽取过程中的重要程度。文摘语句的抽取 实际上就是通过这些特征来计算每个语句的权值,并根据用户给定的文摘比率 来抽取出权值最大的前 m 个语句。由于涉及多个特征词典,所以每个语句的权 值将按线性插值的方式进行累加: LaTaKaCaWs 4321 +++= (7-1) 这里 ia 为每个特征类型的权重,C 、 K 、T 、 L 分别表示采用7.3.1 节所建 立的四种特征对语句进行加权后得到的权值。 通常情况下,在文摘句抽取出来以后,还需要作进一步的处理,比如进行 指代消解、去除文摘句中内容重复或者相近的语句等,以便使建立的文摘具有 较好的连贯性。 由上可见,在基于浅层分析文摘抽取方法中,最重要的工作是确定应该建 立什么样的特征词典以及如何对词典中的每个元素进行加权。显然,为了获得 更好的系统性能,需要一个具有相当规模的训练语料库,事实上,建立一个大 规模的文摘语料库对于所有的文摘系统都起着相当重要的作用。 基于浅层分析的文摘方法的一个主要特点是系统容易实现,并且系统的处 理效率很高,适合于对大规模文档的在线处理。虽然这种方法只用到了文章的 浅层特征,但却能获得良好的文摘性能,因而现在很多文摘系统都利用到了浅 层特征。 浅层分析的主要问题在于缺乏对文本内容的深层分析与理解,从而很难解 决当前文摘系统所面临的主要问题,即如何保证文摘的逻辑连贯性。此外,如 何准确地判断文本的中心主题、如何根据用户提交的关键词或者语句来抽取用 户所特别关心的内容等问题仅仅靠文本的浅层特征也是很难解决的。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 175 7.4 基于实体分析的文摘技术基于实体分析的文摘技术基于实体分析的文摘技术基于实体分析的文摘技术 这一节将介绍基于实体分析的文摘技术。正如7.1 节所述,用于实体分析的 特征范围非常广泛,而如何使用这些特征则没有一个系统的方法,与上节一样, 本节将通过一个基于实体分析的文摘系统[9]来介绍实体分析的主要方法。 由于实体分析所用到的特征不再是简单的词频或位置信息,因而需要有更 多的自然语言处理技术如搭配关系的获取、名实体识别等的支持,特征提取算 法也要比浅层分析复杂。 7.4.1 特征提取特征提取特征提取特征提取 为了进行特征提取,首先介绍一个在特征抽取中常用到的概念 idftf ⋅ ,tf 指 术语频度(Term Frequency ),即术语在一篇文章中的出现次数。idf 定义为文 档频度的倒数(Inverse Document Frequency ),术语的文档频度指语料库中包 含有该术语的文章数目,显然一个术语的idf 是针对特定的语料库的,同一个术 语在不同语料库中有可能具有不同的idf 值,这里给出的是 idftf ⋅ 的一个比较常 用的定义方法: () 2 2 log log           •   • = ∑ j t j ij k ik ik nNtf nNtf w (7-2) 其中 ikw 是当第k 个术语 kT 相对于语料库中第i 个文档 iD 的 idftf ⋅ 权值, iktf 为 kT 在 iD 中出现的频度, N 是语料库中所有文档的数目, t 为所有术语的总数目, kn 为给定语料库中包含有短语 kT 的文档的数目。 idftf ⋅ 权值还可以有其他的定义,事实上,式(7-2)的分子项也可以单独 作为 idftf ⋅ 权值的一种定义。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 176 1 词语搭配库 在上一节我们介绍了浅层分析中通常会用到对单个词语频度的统计,当然 在浅层分析中我们也可以将式(7-2)定义的加权方法应用到对单个词语的分析 中。但是由于每个词语在不同的语境中往往具有不同的语义,仅仅依赖于单个 词语出现频度的加权方法往往会引入许多干扰,例如词语“打”在不同的上下 文如“有一打”、“打开水”、“打败”等中显然具有不同的语义,而简单的 词频统计并不考虑这一点,在以上几种语境中的“打”都被认为是相同的并且 都被累加到“打”的词频中。为了解决这一问题,我们可以采用词语搭配来取 代孤立的词语,即统计与计算每个词语搭配而不是单个词语的权值。 词语搭配关系可以分为语法上的搭配、习惯用法、事理上的搭配三种类型 [10],由于我们通常是采用统计的方法来寻找合理的搭配关系,所以不用严格的 区分这种搭配关系到底是属于什么类型,而更关心搭配是否合理,即判断两个 或多个词语是否构成搭配关系,为此我们可以借助第2章所介绍的互信息来作为 判别准则,同时由于我们使用词语搭配的主要目的是为每个词语提供相应的语 境来排除语义模糊性的干扰,所以这里主要考虑的是名词与名词之间的二元搭 配关系。 综上所述,借助于统计方法构造一个名-名搭配的二元词语搭配库需要完成 以下工作: 准备大规模的原始语料库,一般语料库规模应该达到100M 以上; 对原始语料库进行词性标注; 统计并计算各个名词两两之间的互信息; 根据存储空间以及处理时间的限制给定一个互信息的临界值,将互信息超 过该临界值的名词对加入词语搭配库。 当我们构造了一个词语搭配库以后,就可以将库中的每个词语搭配看成一 个整体来计算其权重。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 177 2 名实体识别 名实体包括了人名、地名、机构名称等,是自动文摘技术中非常重要的特 征,但是对于汉语而言,由于词语之间不存在明显的分界,如何识别词语边界 已经成为一个比较难于解决的问题,而名实体的识别往往需要在汉语分词结果 的基础上结合语法分析来完成。 研究表明,尽管特殊的人名对于判断一篇文章所涉及的领域有一定的帮助, 比如象克林顿、丘吉尔等人名与政治具有密切关系,但一般而言,人名与文档 所涉及的领域之间并没有明显的关系,而机构的名称则往往与特定的领域有关。 通过采用相应的名实体识别算法,我们可以建立一个包含人名、地名、机 构名称等名实体的名实体特征库。 3 语义词典 除了需要知道一个语义所属的语义类别,我们通常还希望语义词典能够提 供各个词语之间或者各个义素之间的语义关系,如同义、反义、上位、下位以 及相似等,现在常用的语义词典有英语的WordNet 、汉语的Hownet 、同义词词 林等。其中WordNet 主要描述了词语之间的语义关系,而Hownet 则是通过描述 各个义素(基本的语义单位)之间的关系来间接描述词语之间的语义关系,作 为非商业性的研究工作,这两个词典都可以从网上免费获得。 在上述语义关系中,我们在这里比较关心的是同义词。首先,由于在同一 文档中,作者有可能用不同的词语来表达同一个意义,比如我们在本文中可能 用“文本”、“文档”或者“文章”来表示同一个事物,显然如果在计算短语 的 idftf ⋅ 加权时把它们看作同一个词更合理一些。 另一方面,在面向任务的自动文摘系统中,往往需要根据用户提出的要求 来重点提取用户所关心的内容,比如用户可能要求根据给定的关键词集或者查 询语句来生成文档的摘要, 而文档中可能只含有与关键词集合或者查询语句中 词语的同义词,这时候显然需要对关键词集或者查询语句进行同义词扩展。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 178 除了同义关系,语义相似关系在文摘系统中也具有非常重要的作用,这一 点将在7.5 节中进行介绍。 7.4.2 文摘抽取文摘抽取文摘抽取文摘抽取 基于实体分析的文摘抽取算法与基于浅层分析的文摘方法是相似的,即都 是通过建立好的特征库来对每个语句进行加权,最后根据给定的文摘比率来抽 取权值最大的 m 个语句来构成文摘语句集。这里我们可以用式(7-2)所定义的 加权公式来计算每个特征的权值,而一个语句的权值等于它所包含的所有特征 的权值的加权平均。 由于一个文摘系统可能会涉及到多种特征,与浅层特征不同,每一个实体 特征的获取往往需要较为复杂的算法,并且特征获取的准确率会受到当前自然 语言处理技术的限制,所以并不是系统用到的特征越多系统性能就越好,而是 需要综合考虑系统所生成的文摘的质量、系统的处理时间、当前可利用的语言 学资源及自然语言处理技术等多方面的因素来进行特征的选择。此外,对于系 统所选择的每种特征,我们也可以在加权平均的计算中赋予不同的权重。 无论是特征的选择还是特征权重的确定,都需要有一个评测标准来定量评 测文摘系统的性能,由于文摘系统的定量评测非常困难,我们将在7.6 节专门加 以讨论。 7.5 基于话语结构的文摘技术基于话语结构的文摘技术基于话语结构的文摘技术基于话语结构的文摘技术 话语 结构分析在文摘系统中具有非常重要的作用,这是因为作者在撰写文章的 时候,总会赋予一篇文章一定的结构,同样,我们在进行文摘抽取的时候应该 尽可能的获取并在文摘中保持这种结构。本节所要关心的问题是如何给文章的 话语结构建立一个合理的模型,以便我们在生成文摘的时候能够对话语结构信 息加以利用。 话语结构 的 一 种 分 类 方 式 是 将它分 成衔 接性(Cohesion )和 连 贯性 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 179 (Coherence )两种[11],这是两个比较相似但又不同的概念,为了明确它们之间 的区别,我们可以参照王寅所编《简明语义学词典》[12]来将它们分别称为结构 衔接和语义衔接,显然这里明确指出了前者主要是在结构与形式上的衔接,而 后者则指语义上的连贯性。前者讨论的范围比较趋向于文本呈现出来的表面结 构如何彼此串连,例如文本中间是如何运用适当的连接词或副词来串连句子, 或者是在文法层次上,句子和句子之间是如何依赖同样的主题词,以及类似的 句法结构来串连彼此;而后者则是语义层面上的更抽象的一致性,即表示文本 实体之间是否基于相同的主题进行讨论。在实际的自然语言处理中要它们很难 区分开,因为判断语法层的连接需要借助于人脑中的认知模型来完成,而脑中 认知模型的判断又是以文本中的语法结构为基础来进行,以就是说,人们在判 断文本实体间的语义连贯性的时候往往会参照实体之间的语法衔接关系,而作 者在撰写文章的时候也往往会借助形式上的衔接来反映意义上的连贯性,所以 我们很难将这两者区分开来。有关衔接性与连贯性的更多讨论,可参见文献[13] 不过在自动文摘系统的分类上,衔接性的处理主要涉及到指代、省略、关 联关系以及词汇层关系如反复(Reiteration )、同义(Synonymy )、上位 (Hypernymy )等。而连贯性的处理则偏重于处理段落、复句、分句之间的宏 观(Macro-level )关系,这种关系可能通过明显的线索词反映出来,如“虽然… 但是…”、“综上所述”等,也有可能通过统计方法来获得文本实体内部的语 义连贯性。 7.5.1 基于词汇衔接的文摘方法基于词汇衔接的文摘方法基于词汇衔接的文摘方法基于词汇衔接的文摘方法 衔接性可以分为词汇衔接(Lexical Cohesion )、指涉(Reference )、代替 (Substitution )、省略(Ellipsis )、连接关系(Conjunction )等,其中词汇衔 接以及连接关系在文摘的抽取中具有比较重要的作用。本节将通过一种基于词 汇链(Lexical chain )的文摘方法来介绍如何借助于词汇衔接来进行文摘抽取[14]。 在基于词汇链的文摘系统中,词汇衔接是通过相应的词汇链来描述的,一 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 180 个词汇链是指从一篇文档中抽取出来的具有某种相似或者相关特征的词语链 表,比如一篇文档中所有语义相似的名词性词语可以构成一个词汇链。通常词 汇链的构成可以分成以下三步: 1.选择一个候选词汇集,或者称为特征词集,通常情况下我们不会把一篇 文档中的所有词语都加入相应的词汇链,而是根据需要来限定可以加入词汇链 的词语所应该具有的特征。比如在这里我们需要通过词汇链来分析文章的主题, 则需要词汇链中的词语应该具有较强的主题相关性,而像副词、介词等对于确 定文章的主题并没有太大帮助,可以不用考虑; 2.对于每个候选词,根据相应的判别准则来寻找相应的词汇链; 3.如果这一词汇链存在,则将候选词插入该词汇链中,否则,根据需要创 建一个或多个词汇链。 在第2步的时候我们需要有一个给定的判别准则,事实上并没有一个标准的 方法来决定什么样的判别准则是最好的,所以读者完全可以根据不同的应用环 境来设计出不同的判别准则。作为例子,这里所用到的判别准则是根据语义词 典如WordNet ,Hownet 等来计算的语义的相似度。 为了将候选词插入相应的词汇链,需要判断计算每个候选词与所有词汇链 之间的距离,每当一个词语插入了一个词汇链以后,该词汇链的组成实际上已 经改变了,这必然会影响其后词语插入的决策,然而实际应用中往往会有一个 词语可能插入多个词汇链的情况出现,比如如果我们按如下方式来定义插入过 程:如果一个词语的语义与某一词汇链中词语的语义之间有关联,则将该词语 插入这一词汇链中。由于多义词的存在,显然会出现一个词可以插入多个词汇 链的情况,而插入不同的链会直接影响到其后的与其相关的词语的插入,而到 底选择哪一个链插入才是最好的,则需要遍历所有可能的插入情况并对结果加 以比较后才能得出结论。显然这是一个动态聚类问题,考虑到算法的复杂度, 要想求得全局最优的聚类结果显然非常困难。另外,随着词汇数量的增多,聚 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 181 类算法的复杂度有可能呈现出指数的增加,为了避免这种情况,需要在算法中 引入相应的候选剪切方法。 此外,我们还可以引入文本切分算法将文档且分成若干个意义段,并对每 个意义段建立相应的词汇链,然后再将各个意义段中的词汇链进行合并来完成 对全文词汇链的建立。 在建立了词汇链之后,另一个问题是怎么借助于词汇链来完成自动文摘任 务。由上面的词汇链建立过程我们可以看到每个词汇链中所包含的词语实际上 可以看成是集中反映了文档的一个主题,而文摘往往是为了描述一篇文章的主 要内容而建立的,所以一种比较直接的方法是找到几条最重要的词汇链,并根 据这几条词汇链来抽取文摘句,即将含有这重要词汇链中每个成员的第一个语 句抽取出来组成文摘句。但按这种方法建立的文摘质量并不是很好,因为一条 词汇链中的许多词语往往描述同一个概念的不同方面,但并不是所有词语都能 够很好的表达该概念,因而需要选择出词汇链中有代表性的词语并按这些词语 来抽取文摘句。然而,如何判断一个词语是否更能代表该词汇链所表述的概念 并没有成熟的方法,Regina & Michael 在对比研究后认为在文本中的出现频度低 于词汇链中词语的平均出现频度的那些词语更能代表该词语链所表述的概念, 而我们的文摘句抽取也应该基于这些能够代表词汇链的词语基础上来选择。当 然,对于汉语来说,我们应该在实际应用中通过实验来寻找更好的词汇选择方 法。 那么我们该如何来确定什么样的词汇链更重要呢?显然,对于词汇链的重 要度,我们需要有一个定量的评测。这一问题同样缺乏一个系统而成熟的方法, 作为一种简单的方法,我们可以根据需要选择尽可能长的词汇链,即用词汇链 的长度来作为评价一个词汇链重要程度的标准。此外,我们也可以考虑采用上 节所定义的 idftf ⋅ 权值,即用一个词汇链的平均 idftf ⋅ 权值来判断词汇链的重 要性,具体哪一种度量更适合一些,则需要通过实验来进行评测。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 182 除了采用词语来建立词汇链以外,我们也可以引入7.4 节中介绍的名实体识 别等自然语言处理技术,并用术语来替代单个词语构造词汇链,从而获得更好 的文摘性能。 7.5.2 基于话语树的文摘方法基于话语树的文摘方法基于话语树的文摘方法基于话语树的文摘方法 上一节介绍了如何利用统计方法来获取文章的衔接结构,并在此基础上生 成文摘。本节将介绍如何通过话语树分析器来描述文档的连贯性,以及怎样通 过话语结构分析来建立文摘。 话语结构通常是采用话语树的形式来描述的。话语树中各个节点之间可以 由两种关系来表示:对称的关系(Symmetric Relation )与非对称关系(Asymmetric Relation )。对称关系涉及到两个或多个节点,这些节点被称为核子节点 (Nucleus ),通常认为在对称关系中的所有节点对于作者希望表达的信息具有 同等重要程度;一个非对称关系只涉及到两个节点,一个核子节点、一个辅助 节点(Satellite ),通常认为对于传递作者的意图而言,核子节点起着比辅助节 点更为重要的作用。在非对称关系中,辅助节点依赖于核子节点,并且在不同 的依赖关系中以不同的方式来改变核子节点所表述的内容。 由于每个辅助节点又可能是另一个关系中的核子节点(但不可能是另一个 关系中的辅助节点),反之,每个核节点也可能是另一个关系中的辅助节点, 因而整个话语结构是一种层次结构。 1.节点关系分类 话语结构分析的目的是确定各个文本单元所对应的节点之间的相互关系, 我们可以把节点间的关系分成以下11 种类型,即解释、并列、递进、对立、选 择、充分、必要、让步、无条件、因果、转折等。其中每种关系是属于对称关 系还是非对称关系则需要根据语言学知识来判断,比如在一个复句中,我们可 以将并列、选择、充分、必要等关系作为对称关系,而将其它几种关系作为非 对称关系来对待。当然,简单的将这些关系分为对称还是非对称对于自动文摘 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 183 系统而言是不够的,我们还需要知道在每个关系中两个节点之间的关联程度, 为了便于以可计算的方式来处理,这种关联度通常需要用一个数值来定量表示, 我们把这些数值称为依赖关系的权值。依赖关系的权值可以根据经验来指定, 也可以通过机器学习的方法来确定。 2. 话语结构分析 在话语结构分析方面,Marcu 给出了一个比较完整的分析方法[15],这一方法 主要借助于关联词的匹配规则来完成的。研究表明,大约50% 以上的分句中存 在关联词,借助这些关联词可以帮助我们较为准确而快速地进行规则匹配并建 立起相应的话语树。但是这里存在两个问题,第一,如何分析那些不含关联词 的分句,第二,由于关联词本身是具有歧义的,比如有的副词可以作为关联词 使用,从而需要进行词语的兼类分析来判别该词语是作为关联词还是副词。 对于第一个问题,我们可以借助一些启发式规则来部分解决[16],而词语兼 类现象则可以由词性标注算法来进行判别。 下面给出一个话语结构树的例子: [1.1]{ 社会科学尽管因为作为其研究对象的社会现象、社会事实总是与个人 的主观意志有着一定的关联,} [1.2]{ 因而有着主观性的外观,} [1.3]{ 有着历史 的殊异性,} [1.4]{ 但社会科学本质上是整体的,是客观的。} [2.1]{ 不过,我们 在强调社会科学的独立性和客观性的同时,} [2.2]{ 还应该看到社会科学作为一 门学科的相对性,} [2.3]{ 看到社会科学与其他科学,} [2.4]{ 尤其是人文科学的 联系。} 图7-3给出了上述文本片断所对应的话语树,这里采用带箭头的弧线来表示 非对称关系,其中箭头所指为在这一关系中的核节点,而对称关系则用两条折 线来表示,由于每个节点只能有一个父节点,所以如果在非对称关系中的箭头 指向了多个核节点,则认为该非对称关系中的核节点为箭头所指节点中的第一 个节点。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 184 图7-3 话语结构树 3.基于话语结构树的文摘方法 话语结构树在给出了各个文本单元之间的修辞关系的同时也提供了建立文 摘的重要信息,如上所述,非对称关系中的辅助节点往往对于传递作者的信息 起辅助作用,从而不宜出现在文摘中,但是我们并不能简单的通过抽取核节点 来构成文摘,事实上有的辅助节点对于保证文摘的连贯性或者准确表达作者所 希望传达的信息具有重要的作用,我们可以借助于每种修辞关系的权值来表达 这一信息。 在借助于图7-3所示的话语结构树生成文摘时,可以根据每个节点在第一次 作为核节点时在树中所处的层次来建立一个偏序关系,并据此抽取文摘语句。 这里定义根节点为第0层节点,其直接子节点为第1层节点,依此类推。通过遍 历结构树,我们可以得到所有节点重要程度的偏序关系2.2, 2.4>1.4, 2.1, 2.3>1.2, 1.3>1.1 。这里最重要的文本单元为2.2 和2.4 ,从而最短的文摘是由这两个单元组 成的,即所生成的摘要应该为:“我们应该看到社会科学作为一门学科的相对性,看 到社会科学与人文科学的联系。” 上述方法实际上是假设所有非对称关系的权值都是1,在很多情况下这一假 设显然是不合理的,比如解说关系与因果关系同样为非对称关系,但是在解说 关系中辅助节点与核节点之间的关系显然不如在因果关系中这两个节点之间的 关系密切,采用不同的权值来表示这一差别能够更好的改善文摘系统的性能。 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 185 当然,确定每种关系的权值需要额外的学习算法或者语言学知识。 7.6 文摘系统评测方法文摘系统评测方法文摘系统评测方法文摘系统评测方法 文摘系统的评测一直是较难解决的问题,当前最可靠的方法仍然是依靠专 家来人工评测。缺乏对文摘质量的客观评测对于文摘系统的开发、尤其是系统 优化无疑是很大的阻碍,因而这方面的研究对于自动文摘系统也具有非常重要 的意义。本节将主要介绍现有的文摘系统评测方法,包括人工评测以及自动评 测。 人工评测可以通过语言学家阅读系统生成的一定数量的摘要并根据摘要的 连贯性、流畅性、概括性等性能给每一篇摘要给出一个主观的评价,比如采用 打分的方法,给出优、良、中、差等,然后再根据所有文摘的平均性能来评价 文摘系统的整体性能。由于不同人对同一篇文本所作的摘要差异非常大,即不 同人对于到底什么样的语句更能反映原文的中心内容会有不同的看法,这种评 测很难准确反映系统的性能。 另外一种人工评测方法是采用对比的方法。首先由多个语言学家对一定数 量的文本人工撰写摘要(抽取式文摘),然后再由系统对相同的语料自动生成文 摘。在进行对比评测时,将系统文摘与语言学家的文摘混合到一起给第三方评 测人员(即除了参与撰写摘要的人员以外的评测人员)对每篇文本的所有文摘 根据文摘质量进行对比排序,然后统计系统生成的文摘在所有文摘中的排序结 果,并根据这一结果来判断系统性能。由于有了比较标准,因而对文摘质量的 评价会比第一种方法客观。但是,这两种评测方法都需要人工完成,不可避免 还是会受到人们的主观因素的影响,更主要的是评测的工作量大,很难将评测 结果用于系统优化。 为了克服人工评测的缺点,我们需要建立一套完整的自动评测体系。然而, 由于文摘本身的特点使得建立一套可靠的评测体系面临着很大的困难。当前的 自动评测方法主要是针对抽取式文摘,通过将系统生成的文摘与已有的人工摘 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 186 要集进行字符串比较来完成的。为了具有可比性,由语言学家所建立的人工摘 要集也必须是采用抽取的方式来建立的,即我们首先确定系统生成摘要时的基 本单元,然后在人工建立摘要时也只能采用原文中对应的基本单元而不能将小 于基本单元的语言元素单独抽取出来重新组织或者重新撰写原文所没有的语 句。当然,如果我们能够引入语义相似度等度量来比较两个文本实体之间的语 义相似性而不是简单的进行字符串匹配,上述限制也可以适当的放宽,比如在 建立摘要时可以撰写与原有语句意义相近的语句等。 在自动评测时常用到的系统性能指标通常为召回率(Recall )和准确率 (Precision ),在采用简单的字符串匹配的情况下系统对每篇文章的所生成的摘 要的召回率与准确率定义如下: R AR r ∩=ε (7-3) A AP p ∩=ε (7-4) 这里 A 为系统生成的文摘所包含的基本文摘单元的集合, R 和 P 分别对应 于人工建立的召回率基准评测集以及准确率基准评测集,这两个集合可能是相 同的,即直接将人工建立的摘要同时作为评测召回率与准确率的基准测试集, 尤其是在每篇文章都只对应一篇人工摘要时常采用这一方法。而在一篇文章对 应多篇人工摘要的情况下,这两个基准测试集有可能是不相同的,比如如果我 们假设每篇人工摘要都应该具有 100% 的召回率和准确率,因为人工摘要通常是 由专家建立的,而在现有技术下我们所建立的系统只要能达到任何一个专家建 立文摘的水平就可以了,在这种情况下这一假设显然是合理的。为了满足这一 条件,我们可以采用所有人工摘要的并集作为召回率的基准测试集,而将所有 人工摘要的交集作为准确率的基准测试集,显然这两个集合是不一样的。 对于更为复杂的评测方式,如采用语义相似度来进行文摘质量评测,其召 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 187 回率与准确率的计算比上述两式要复杂一些,读者可根据不同的应用系统来对 上述两是进行调整以获得相应的召回率与准确率计算方法。 虽然召回率与准确率能够反映系统不同方面的性能,但在很多情况下我们 需要一个唯一的度量来评测文摘系统的性能,比如在进行系统参数的自动优化 时,这时候可以用 F 量度将这两个量统一起来[17]: )(2 prprF εεεε += (7-5) 自动评测的主要优点在于评测结果比较客观,不会受到主观因素的影响, 同时评测效率远高于人工评测。其主要缺点在于只能评测抽取式文摘,无法判 断文摘的连贯性、流畅性等无法量化的指标。尽管如此,上述自动评测方法对 于文摘系统的参数优化以及特征选择仍然具有重要的作用。 当然,要推动文摘系统的发展,进一步完善文摘系统的定量自动评测体系 将是一个非常重要的课题。 7.7 本章小结本章小结本章小结本章小结 本章介绍了当前自动文摘技术中三种主要的分析方法,浅层分析、实体分 析以及话语结构分析,并简要介绍了自动文摘系统的评测方法。事实上,除了 上述三种主要的文摘方法以外,还有一种基于特定的框架或者模板的文摘技术, 与前三种方法不同的是,通过引入领域相关的模板,这一方法将研究的重点转 移到了摘要的生成上。由于在现有技术条件下,这一方法往往只能限于特定领 域的摘要生成,所以本章没有进行介绍,但随着自然语言处理技术、特别是超 大规模语言学知识库的发展,这一方法仍然具有很好的前景。此外,文摘系统 的评测仍然是今后的自动文摘研究领域需要进一步完善的重要课题。另外,多 文档自动文摘、基于内容的多媒体信息摘要生成等文摘相关领域的也越来越引 起了广大研究者的兴趣,成为了未来自动文摘研究的重要课题。 参考文献 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 188 [1] 刘挺,王开铸. 基于篇章多级依存结构的自动文摘研究. 计算机研究与发展. Vol.32(4), 1999: 479-488 [2] 沈洲,王永成,许一震,吴芳芳. 一种面向新闻文献的自动摘要系统的研究与实践. 计 算机工程. Vol.26(9) ,2000 :70-72 [3] Simone Teufel, Marc Moens. Sentence Extraction and Rhetorical Classification for Flexible Abstracts. Intelligent Text Summarization- Papers for AAAI Symposium, AAAI Press, Menlo Park, California, USA, 1998: 16-25 [4] Inderject Mani, Mark T.Maybury (eds). Advances in Automatic Text Summarization. MIT Press. London, England. 1999. [ 5 ] M. A. Hearst. TextTiling: segmenting text into multi-paragraph subtopic passages. Computational Linguistics, vol.23, pp.33-64, 1997 [6] J. C. Reynar. An automatic method of finding topic boundaries. Proceedings of the 32 nd Annual meeting of the Association for Computational Linguistics, Las Cruces, New Mexico, pp.331-333, 1994 [7] S. Chan, B. K. T’sou. Segmentation of Chinese discourse in content-based information retrieval. [8] Beeferman D., Berger A., Lafferty J. Statistical models for text segmentation. RIAO’2000 Proceedings, Paris, 2000 [9] C. Anone, M.E. Okurowski, J.Gorlinsky, B.Larsen. A Trainable Summarizer with Knowledge Acquired from Robust NLP Techniques. [10] 史玉柱,语法论稿,北京语言学院出版社,1995 :24-32 [11] M. Halliday, R. Hasan. Cohesion in Text. Longmans. London. 1996 [12]王寅,简明语义学词典,山东人民出版社,1993 [ 13]刘 郁 青 . 新 闻 写 作 连 贯 性 之 研 究 . 硕 士 论 文 .国立政治大学新闻研究所 . 2001. [14] Regina Barzilay, Michael Elhadad. Unsing Lexical Chains for Text Summarization. Proceedings of the ACL'97/EACL'97 Workshop on Intelligent Scalable Text Summarization. Madrid, Spain, 1997: 10-17 [15] D. Marcu. The Rhetorical Parsing of Natural Language Texts. Proceedings of the 35 th Annual Meeting of the Association for Computational Linguistics. 1997: 96-103 [16] Simon H.Corston-Oliver. Beyond String Matching and Cue Phrases: Improving Efficiency and Coverage in Discourse Analysis. AAAI Symposium. Stanford. California. USA, 1998: 9-15 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 189 [17] Van Rijsbergen, C.J. Information retrieval (second edition), Butterworths, London ,1979 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 190 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 本章介绍信息检索技术信息检索技术信息检索技术信息检索技术(information retrieval )的基本原理和方法。所谓信 息检索,是指将信息按一定的方式组织和储存起来,并根据用户的查询字串, 从表示信息非结构化数据,特别是非结构化的文本数据中找到与查询字串相关 信息的过程。信息检索这一称谓,最早是1952 年由Calvin N. Mooers 提出的,其 原意包括海量信息的存储和查找两方面内容。现在这个概念通常更加侧重于信 息的查找方面,信息检索按照信息源的不同可以分为光盘数据库检索、网络数 据库检索和互联网信息检索等三个部分。由于计算机信息检索具有速度快、效 率高,数据内容新、信息容量大等特点,已成为人们在日常工作和生活中获取 信息的主要手段之一。特别是近年来,随着国际互联网技术的普及和发展,信 息检索技术与网络通讯技术和语言处理技术彼此融合,互相借鉴,共同发展, 成为当前空前活跃的研究热点之一。 8.1 信息检索综述信息检索综述信息检索综述信息检索综述 本小节介绍信息检索的基本概念和术语,信息检索系统的基本构成及评价, 以及信息检索技术的发展史。 8.1.1 信息检索的定义与术语信息检索的定义与术语信息检索的定义与术语信息检索的定义与术语 信息检索信息检索信息检索信息检索是指从非结构化的数据记录,特别是包含自由格式的自然语言文 本的数据记录中获取与用户的信息需求相关的数据记录的系统、方法与过程。 其他类型的数据,如图像、音频和视频数据等等也是非结构化的,但是,在当 前信息检索的研究中,非结构化的数据记录通常特指自然语言文本数据记录, 又称文档文档文档文档(document )。将大量非结构化的数据记录,按照一定的方式组织和 存储起来而构成的数据记录的集合称为信息检索中的数据全集数据全集数据全集数据全集(collection )。 在此强调“非结构化”,是为了将信息检索与数据库数据检索加以区分,前者 是从非结构化的数据记录中获取用户信息需求,后者是从结构化的数据记录中 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 191 获取用户的信息需求。由于自然语言的丰富性和二义性,使得信息检索在精确 性和召回率等方面都较数据库数据检索为低,其难度也更大。当然,信息检索 系统的实现通常要借助于数据库管理系统。 给定一个数据全集,信息检索过程可以描述为根据用户特定的信息需求信息需求信息需求信息需求 (information need ),在数据全集中获取所有和仅有的与用户信息需求相关的 文档,并将这些文档按照相关性相关性相关性相关性(relevance )的大小由大到小地排列排列排列排列(rank )。 用户特定的信息需求由查询查询查询查询(query )来表达,换句话说,查询是反映用户信息 需求的字符串,这个字符串可以是关键字序列,也可以是一个布尔表达式,或 者直接用自然语言表达的问句。相关性是信息检索中的一个重要的概念,是指 信息检索结果符合用户信息需求的程度。显然,这是一个带有主观色彩的量度, 它不仅与查询和数据全集有关,而且与信息检索结果的正确性、现实性和权威 性有关,甚至与用户个人的主观判断有关。 8.1.2 信息检索系统信息检索系统信息检索系统信息检索系统 一个信息检索系统信息检索系统信息检索系统信息检索系统(information retrieval system )是一个能够对数据全集中 的数据记录进行存储、组织与维护并根据用户查询获取相关信息的系统。一个 典型的信息检索系统如图8-1所示: 在图8-1中,矩形文本框表示信息处理模块,椭圆形文本框表示中间数据或 者输入输出信息,圆柱形文本框表示系统资源。一个信息检索系统由八个基本 处理模块和两大系统资源组成,基本处理模块分别是:用户接口模块,用户查 询文本操作,文档文本操作,用户查询处理模块,索引构建模块,数据库管理 模块,搜索模块,相关度排序模块。两大系统资源包括整个系统公用的语义词语义词语义词语义词 典典典典(thesaurus )和以数据库形式存放的数据全集。语义词典的内容为系统词汇 及其语法语义信息,还包括停用词表停用词表停用词表停用词表(stoplist )和词形转换表等系统资源。 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 192 图8-1 信息检索系统的系统结构 用户接口模块的作用是与信息检索系统的用户交互信息。主要包括接受用 户的查询,根据用户对信息检索结果的反馈调整信息检索系统的有关参数,显 示用户查询的结果等等。 用户查询文本操作模块对用户的查询字串进行过滤停用词停用词停用词停用词(stop word )、 词干抽取词干抽取词干抽取词干抽取(stemming )等处理,并转换为机器内部的用户查询表示格式。停用 词是指因不具有确切语义而未列入索引词表的高频词。由于它们不具有实际意 义,因此对信息检索结果的没有影响,又因为它们大量地出现的文档中,如果 不“停用”,而对其建立索引,则需消耗大量的时间与空间资源,因此信息检 索系统都要收集停用词建立一个停用词表,对在停用词表中列出的停用词,直 接进行过滤处理。例如,英语中“of,the,to ”,汉语中“的,在,啊” ,等等 都是停用词。考察一个词是否为停用词,除了看它的频度是否相对较高外,关 键在于看它是否具有确切的语义。停用词通常包括连词、介词、代词等等虚词, 甚至包括象“干,做”等一些一词多义(语义不确切)的动词。所谓词干抽取, 文档数据库 相关度排序 后的文档 用户接口 文档 查询 倒排文件 用户反 馈 用户需 求 用户查询处理 搜索 相关度排序 索引构建 索引 检索到 的文档 用户查询文本 操作 文档文本操作 数据库管理 语义词 典 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 193 是指将一个词的各种不同的词形变化替换为称为该词的词干词干词干词干(Stem )的统一形 式的过程。例如:将“engineering, engineered, engineer ”全部替换为“engineer ”。 显然,这一过程仅对英语等具有同一词形多种变化的特征的语言是必要的,对 汉语这样的没有词形变化的语言则不需要。由于在相关度排序模块需对用户查 询和索引文档进行逐词匹配,因此必须在匹配之前统一词形。 文档文本操作对文档数据库中的文档进行过滤停用词、词干抽取等处理, 并转换为机器内部的文档表示格式供索引构建模块处理。 用户查询处理模块的作用是将用户查询进行同义词扩充或者根据用户对信 息检索的倾向性对查询进行转换处理。由于语言中大量存在着同一语义多种表 达的现象,用户查询中的词汇,也有多种不同的表达方法,如“电脑”的同义 词有“电子计算机”、“计算机”等等,通过对用户查询的词汇进行同义词扩 充,使用其他词汇表达的与用户查询相关的文档才得以被索引和抽取出来,并 返回给用户,从而使系统具备了处理同一语义多种表达的能力。 建立索引模块的作用是建立从词汇到该词汇出现的文档(编号)的倒排索倒排索倒排索倒排索 引表引表引表引表(inverted index ),从而对用户查询中的词汇进行快速定位。 数据库管理模块的作用是将文档以数据库的格式存储、管理、编辑和访问, 通常采用基于SQL 的开放式大型关系数据库管理系统,如Oracle, Sybase 。 搜索模块的作用是根据用户查询,借助于倒排索引表和数据库管理模块从 数据库中抽取出包含用户查询中关键字的文档。 相关度排序模块逐一计算用户查询与搜索模块返回文档的相关度,最后将 这些文档按照相关度由大到小的顺序排序。 整个信息检索系统可以分为检索子系统和信息存储管理子系统两大部分, 如图8-1中虚线框所示,左方的虚线框是检索子系统,它接受用户查询,对用户 查询进行过滤停用词和词干抽取等处理后,进行同义词扩充等转换处理,转换 为用户查询的机器内部格式(通常是经过同义词扩充的关键词序列)。通过由 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 194 信息存储管理子系统预先建立的倒排索引表,找到包含这些关键字的所有文档 作为候选文档,然后逐一计算用户查询与候选文档相关度,将候选文档按照相 关度由大到小的顺序排序并返回给用户。信息存储管理子系统将数据全集文档 存储于数据库中,并提供对这些文档的编辑、增删等操作;对文档进行过滤停 用词、词干抽取等处理后生成的副本也存储于数据库中,对文档的副本建立倒 排文件供检索使用。 信息检索系统的终极目标是使满足系统用户的信息需求的开销开销开销开销(overhead ) 达到最小。所谓开销,是指从用户向系统输入了一个查询开始,到他读到了包 含他的信息需求的文档为止的全部时间。开销这一指标,由于其包含了过多的 主观或不可控因素,而难于成为衡量一个信息检索系统的定量指标。人们通常 采用其他的量度来评价一个信息检索系统的优劣。 8.1.3 信息检索系统的评价信息检索系统的评价信息检索系统的评价信息检索系统的评价 一个系统在实际应用中的时间和空间消耗是衡量一个系统优劣的重要指 标。对于一个信息检索系统来说,对用户查询的响应时间,建立倒排索引所耗 费的系统空间等都是评价该信息检索系统的定量标准。然而,这些标准都没有 考虑到评价信息检索系统的一个核心性因素,即“相关性”。一个信息检索系 统,无论其耗费多少时间和空间资源,归根结底是要满足用户信息需求,因此, “相关性”是评价一个信息检索系统的核心所在。 两个最常用的基于相关性的系统评价指标分别是精确度精确度精确度精确度(precision )和召回召回召回召回 率率率率(recall )。精确度是检索获取的相关数据记录个数与检索获得的所有数据记 录个数的比值;或者给定一个检索获取的数据记录,它与用户查询相关的概率。 召回率是检索获取的与用户查询相关的数据记录的个数与数据全集中所有与用 户查询相关的数据记录的个数的比值;或者一个相关数据记录能被检索系统获 取的概率。二者间的关系如图8-2所示。对于任意给定的用户查询 q ,令 A 为信 息检索系统获取的数据记录的集合,令 R 为数据全集中所有与用户查询相关的 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 195 数据记录的集合,于是有: A RAprecision ∩= (8-1) R RArecall ∩= (8-2) A R A∩∩∩∩R 数据全集 图8-2 精确度和召回率示意图 精确度反映了系统能够返回与用户查询相关的数据记录的能力,召回率反 映了系统能够找到全部相关数据记录的能力。信息检索系统的精确度较召回率 更易于估计,只需由专家向检索系统输入查询,统计系统返回的数据记录的个 数和其中与查询相关的数据记录即可得出。对召回率的估计,只有小规模的数 据全集是可以由专家统计的方法计算,对于大规模的数据全集,例如搜索引擎 所对应的海量网络信息,只能通过与其他信息检索系统相比较的方法来估算。 人们经常使用精确度精确度精确度精确度-召回率曲线召回率曲线召回率曲线召回率曲线(precision-recall curve )来定量分析一个 信息检索系统的改进情况或者比较几个信息检索系统的优劣。在这种曲线的坐 标系中,横轴表示召回率的取值范围(从0%~100% ),纵轴表示精确度的取值 范围(从0%~100% ),曲线上的任意一点 ),( rp 表示系统在精确度为 p 时具有召 回率 r ,如图8-3所示: 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 196 0 0.2 0.4 0.6 0.8 1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Recall Precision A 系统系统系统系统 B系统系统系统系统 图8-3 精确度-召回率曲线 例如:设有一特定查询 q ,在数据全集中所有与该查询相关的文档为 },,,,,,,,,{ 123897156443925953 ddddddddddR = ,信息检索结果按相关度由大到小是 (□标志与 q 相关的文档): 1、 123d □ 6、 38d □ 11 、 9d 2、 84d 7、 48d 12 、 511d 3、 56d □ 8、 250d 13 、 129d 4、 6d 9、 133d 14 、 187d 5、 8d 10 、 3d □ 15 、 25d □ 可见,当召回率为10% 时,精确度为100% ;当召回率为20% 时,精确度为 67% (2/3 );当召回率为30% 时,精确度为50% 。 如果使用 n 个查询测试系统,我们可以统计得到平均精确度-召回率曲线, 系统对 n 个查询的平均精确度由下式计算:对每个召回率 r : ∑= = n i i rPnrP 1 )(1)( 。 在精确度-召回率曲线的坐标系区域中,曲线越接近于左上方,说明系统检 索到高相关性文档的能力越强,同时较多地遗漏了一些相关的文档;曲线越接 近于右上方,说明系统的精确度和召回率越高,系统在相关性方面的整体性能 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 197 更佳;曲线越接近于右下方,说明系统检索到全部相关性文档的能力越强,但 是同时也检索到较多无关的文档。例如,在图8-3中,B系统较A系统在相关性方 面的整体性能更佳。我们在改进一个信息检索系统时,如果改进后的曲线较改 进前的曲线更趋向于右上方,则可以保留这样的改进。 许多用户对信息检索系统精确度要求较高,他们希望尽快查到相关的文档, 而不把时间浪费在无关的文档上。另外一些用户则认为召回率更加重要,他们 认为相关文档占检索返回的文档比例越高,系统效果则越好。Van Rijsbergen 于 1979 年提出了E(effectiveness )量度将精确度和召回率结合起来[4] ,并赋以不同 的权重,成为一个统一的系统有效性的量度: RP E 1)1()1( 11 αα −+ −≈ (8-3) 在公式8-3中,P 为系统精确度,R 为系统召回率,α 取值在0~1 之间,α 取 值为0,表示不考虑精确度,仅考虑召回率;α 取值为0.5 表示精确度与召回率重 要性相同;α 取值为1表示仅考虑精确度。对于数据全集规模较大,特别是搜索 引擎一类基于国际互联网的信息检索系统来说,精确度往往是较召回率更加重 要的系统评价量度。 8.1.4 信息检索简史信息检索简史信息检索简史信息检索简史 信息检索技术起源于人们为方便查询和访问文献资料而将它们重新整理与 分类的手工劳动。现代信息检索技术则是在计算机技术和通信技术发展的基础 上建立起来的。它产生于20 世纪50 年代,经过长期缓慢的发展阶段,从20 世纪 90 年代开始至今,随着国际互联网技术的诞生和发展而进入了一个兴盛的时期。 1950 年,美国学者Calvin N. Mooers 首创了“信息检索”这一术语,1958 年, 美国学者Luhn 提出了统计信息检索的基本理论和方法。1960 年,Marson 和Kuhns 提出了信息检索的概率模型。1965 年,美国康奈尔大学的Gerard Salton 教授及 其学生,创立了信息检索向量空间模型,他们也因此成为信息检索领域的世界 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 198 顶尖学者。向量空间模型至今仍然是信息检索领域最为有效和广为应用的理论 模型,Salton 教授及其学生开发的基于向量空间模型的SMART 信息检索系统也 沿用至今,成为信息检索系统的样板甚至一些信息检索商业或实验系统的重要 组成部分。1966 年,在Cranfield 项目中,信息检索系统的评价方法被首次提出。 1968 年,Rocchio 和Salton 共同提出了查询扩展的方法。1972 年,Lockheed 公司 推出了DIALOG 系统,成为世界首例商用在线信息查询服务系统。在这一阶段, 学者们的卓越工作为信息检索技术奠定了坚实的理论基础。进入80 年代以后, 信息检索技术的发展进入了一个相对沉寂的时期。这一时期的一些典型的理论 成果包括模糊集、模糊推理、线性回归技术、通用向量空间模型等等。 从上个世纪90 年代开始,随着各种廉价的数据存储设备陆续研发成功,带 来了信息存储技术的革命性进展。特别是90 年代初期国际互联网技术的诞生和 随之而来的网络信息的爆炸式增长,更使信息检索技术进入了一个崭新的发展 时期。在这一时期,具有代表性的理论成果包括潜在语义索引技术,贝叶斯网 络和神经网技术等等。基于国际互联网的大型搜索引擎在这一时期大量涌现出 来,如Google ,infoseek ,Lycos 等等。 当前,计算机技术的不断进步和网络信息量爆炸性增长,对信息检索技术 提出了越来越高的要求。信息检索技术正在深度和广度上迅猛发展:在深度上, 进一步提高信息自动管理和自动加工的能力,如探索自动抽词、自动索引、自 动检索、自动文摘、自动分类、自动翻译等等;在广度方面,信息检索正由文 本信息检索向全文文本、多媒体、跨语言等新型信息检索发展。另外,信息存 储技术正在向着信息资源的网络化和分布化方向发展。在信息检索技术研究领 域中,基于概念、超文本信息和多媒体信息检索技术的研究最为活跃,并已取 得了突破性发展。国际互联网技术的发展给信息检索技术提供了空前广阔的舞 台,而信息检索技术的发展为人们利用信息提供了更加方便快捷的手段。 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 199 8.2 信息检索的统计模型信息检索的统计模型信息检索的统计模型信息检索的统计模型 本小节将介绍现有的主要信息检索技术与相关研究成果。这些应用于信息 检索领域的技术与方法可以粗略地划分为两大类:基于统计的方法和基于语义 的方法。基于统计的方法主要根据用户查询与数据全集中的数据的统计量度计 算相关性。基于语义的方法则对用户查询和数据全集中的数据进行一定程度的 语法语义分析,换句话说,这类方法是在对用户查询和数据全集内容理解的基 础上进行两者的相关性计算。从信息检索技术的发展来看,基于统计的方法长 期占据着主流的地位,因而也是本节介绍的重点。针对基于统计的方法的不足 之处,人们将语言处理技术(如对文档和用户查询进行浅层次的语法语义分析) 引入到信息检索领域而作为基于统计的方法的补充,以进一步提高信息检索系 统的表现。 信息检索模型是对实际信息检索过程加以抽象而构造的信息检索的数学模 型,是关于信息检索的各个主要处理阶段的形式化框架,其主要内容包括应用 数学工具表示数据全集中的文档、用户信息需求以及用户需求与文档的匹配和 检索结果文档的相关性计算等等。信息检索模型适用的数学工具包括集合、布 尔代数、线性代数、概率、模糊集理论、神经网络、贝叶斯网络等等。从信息 检索模型推知的结论依赖于该模型对实际检索过程模拟的近似的程度,一个信 息检索模型与其具体实现有所不同。 一个信息检索模型 IRM 是一个三元组 ),,( RQDIRM = ,其中 D 是文档的集 合;Q 是用户需求的集合; →×QDR : R,是集合 D 与Q 的笛卡尔乘积到实数 集R的一个映射,对每个用户查询 Qq ∈ ,每个文档 Dd ∈ ,映射 R 将 ),( qd 映射 为一个实数,称为用户查询 q 与文档 d 的相关度。因此,一个信息检索模型必须 确定文档的表示,用户查询的表示以及用户查询与文档之间相关度计算的方法。 8.2.1 基于统计的信息检索模型基于统计的信息检索模型基于统计的信息检索模型基于统计的信息检索模型 基于统计的信息检索模型包括布尔模型、扩展布尔模型、向量空间模型、 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 200 概率模型等等。在这类模型中,文档被表示为关关关关键词键词键词键词(keyword )的集合。这一 表示方式又称为文档的平面结构平面结构平面结构平面结构(flat structure ),关键词又称为索引词索引词索引词索引词(index term ),是指除停用词之外的代表文档内容的词,大多数是名词。例如,如果 停用词中包括{all, and, could, had, he, of, on, than, that, the, to, with, their} ,文档 被表示为: 当然,不同的词在表示文档内容时起到的作用不同。一个词在表示文档内 容时所起到的作用的大小,用该词的重要性来表示,称为一个词的权重权重权重权重(weight )。 令 N 表示整个信息检索系统中关键词的总数,令 ik 表示一个关键词;令 jd 表示 一个文档;对每个 ),( ji dk ,令 0, ≥jiw 表示关键词 ik 在表示文档 jd 时的权重, 若 0, =jiw ,表示关键词 ik 不在文档 jd 中出现,则文档 jd 可以由一个 N 维向量 表示为 ),...,,( ,,2,1 jNjjj wwwd = 。 统计信息检索模型通常假设出现在文档中的词汇彼此独立。另外,它还假 设词汇在文档中的出现没有二义性,即一个词的词义由其词形唯一地确定。这 些假设当然是不正确的,但它们大大简化了处理,提高了信息检索系统的实时 性而对系统的精度影响不大。 西文的信息检索系统都包含一个词干抽取的模块以对词形进行归一化处 理,由于中文没有词形变化,中文的信息检索系统没有这一模块。但是对于中 文信息检索系统来说,由于中文的词与词之间没有空格,而任何系统词表只能 Rumsfeld,better,capitalize,commanders,deployment,intelligence,military's,ordered, plans,precision,regional,rewrite,said,speedier,their,today,war,weapons Rumsfeld said today that he had ordered the military's regional commanders to rewrite all of their war plans to capitalize on precision weapons, better intelligence and speedier deployment 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 201 包括有限的词,因此经常会由于分词的错误而导致文档表示的内容不准确,从 而使信息检索的结果也不精确。 8.2.2 布尔模型布尔模型布尔模型布尔模型 在布尔模型中,文档中索引词的权重只有0和1两种取值,分别表示文档中 包含该索引词和不包含该索引词。用户查询是由标准逻辑操作符AND,OR, NOT 将索引词连接起来构成布尔表达式。 用户查询与文档的相关度计算的方法是:对用户查询中的每个索引词 ik , 构造一个文档集合 iDk ,使得该集合内的每一 个文档都包含索引词 ik : }1|{ , == jiji wdDk ,将用户查询中布尔表达式中的操作符AND,OR,NOT 替 换为集合运算符 ∩ 、∪ 、¬ ,于是用户查询中的布尔表达式转换为集合之间的 操作。信息检索的返回结果是一个集合,在集合中的文档是相关文档,否则是 无关文档。 例如:设关键词为 821 ,...,, kkk ,数据全集中的文档为 621 ,...,, DDD ,其中: },,,,{ 543211 kkkkkD = ; },,,{ 43212 kkkkD = ; },,,{ 86423 kkkkD = ; },,,{ 75314 kkkkD = ; },,,,{ 876545 kkkkkD = ; },,,{ 43216 kkkkD = 。用户查询为 1k AND( 2k OR NOT( 3k ))。 那么,查询结果为 }),{},,,({},,,{ 5363216421 DDDDDDDDDD ∪∩ },,{ 621 DDD= 。 布尔模型的最大优点是机制简单,检索效率很高,因此在早期的商用信息 检索系统中得到了普遍的应用。但是由于它的分类能力有限,仅能够将文档划 分为相关和不相关两大类,而不能给出相关性大小的数值,因此经常会出现高 度相关的文档排序靠后的现象。 8.2.3 向量空间模型向量空间模型向量空间模型向量空间模型 在向量空间模型中,令 N 表示整个信息检索系统中的关键词的总数,文档 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 202 被表示为由索引词的权重构成的 N 维向量: ),...,,( ,,2,1 jNjjj wwwd = , jiw , 为索 引词i 在文档 jd 中的权重,如果为0,表示该词在 jd 中不出现。用户查询也表示 为由用户查询中的索引词的权重构成的 N 维向量: ),...,,( ,,2,1 qNqq wwwq = , qiw , 为 用户给定的索引词i 的权重。 用户查询与文档的相关度计算的方法是:对于用户查询 q 和数据全集中的 每个 文 档 jd , 计 算 用 户查 询向量 与 文 档向量的 相似度 ),( jdqSimilarity , Similarity 值越高,表示用户查询与文档的相关度越大。选择相似度大于某特定 阈值的所有文档或者具有较高相似度的前 n 个文档作为检索结果输出。 因此,向量空间模型的两个关键问题是索引词权重的计算以及用户查询与 文档的相似度计算。 8.2.3.1 权重的确定权重的确定权重的确定权重的确定 在索引词权重的计算中最为成功的和广为应用的方法称为“词频与倒文档词频与倒文档词频与倒文档词频与倒文档 频度频度频度频度”(term frequency* inverse document frequency ,简写为tf*idf )方法。该方 法将一个索引词在单个文档中的重要性和在整个数据全集中的重要性结合起来 成为一个统一的量度。 一个词在文档中出现的频度是该词重要性的标志之一。如果一个文档中索 引词 A 出现的频度大于索引词 B 的频度,那么索引词 A 对于表达该文档的内容 的重要性应该比 B 大。因此,一个简单的确定一个词的权重的方法是用该词在 文档中的频度来标志其权重,令 jifreq , 表示索引词 ik 在文档 jd 中的频度, jijiji freqtfw ,,, == ,显然,这一量度反映了一个词在特定文档中的局部统计特 征。 然而,这一量度仍然不够完善,主要表现在词汇在某文档中的频度不能够 完整地表征该词的重要性。从整个数据全集的角度来看,一个词如果出现的频 度很高,那么它对于表示某特定文档的内容从而针对用户查询区分相关文档和 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 203 不相关文档的重要性就不会很大,例如,在关于计算机的数据全集中,“计算 机”一词的频度很高,但它对表达文档的内容的重要性应该比“硬盘”、“显 示器”等等词汇要小;反之,如果一个词在整个数据全集中出现频度很低,它 应该是反映包含该词的文档内容的重要词汇。因此,一个索引词的权重还应与 该词所在的文档的总数成反比或者近似反比的关系,这一分量反映了包含该索 引词的文档区别于其它文档的程度,是一个索引词在整个数据全局中的重要性 的全局性统计特征,称为倒文档频度倒文档频度倒文档频度倒文档频度(inverse document frequency ),通常由下 式计算: )log( i i n nidf = (8-4) 其中,n 为数据全集中文档的总数, in 为包含索引词i 的文档的总数。函数 log 的底可以取10 ,自然对数的底e 或者2。 综合前面的讨论,一个索引词 ik 在文档 jd 中的权重 jiw , 由下式计算: ijiji idftfw ⋅= ,, (8-5) 由公式8-5计算得出的词汇的权重的值即为该词的 idftf * 值,它来源于一个 在单个文档中频度很高而在整个数据全集中频度很低的词是更加重要的词这一 思想。 例如:一个数据全集共有文档10000 个,某索引词 A 在某一个文档中出现了 20 次,在数据全集中, A 总共出现了2000 次,那么索引词 A 的 idftf . 值为 98.132000 10000log*20 10 = 。 但这一量度仍有不足之处,主要表现在它没有考虑文档中索引词的总数, 例如,一个在100 个词构成的文档中出现10 次的词应该较1000 个词构成的文档中 出现20 次的词更加“重要”。为反映文档中索引词的总数对权重的影响,以 idftf * 量度为基础,许多学者对这一量度提出了“正规化正规化正规化正规化”(normalization )[5] 的改进 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 204 方法。 针对tf 的改进主要是将词频进行了正规化处理,将它映射为一个在区间[0,1] 中的量。改进之一是将词频除以某个与包含该词的文档的索引词总数相关的因 子,如文档中词的总数,或者文档中具有最大频度的词的频度等等,即: }{max , , , jkk ji ji freq freqtf = (8-6) 这类改进称为“最大正规化最大正规化最大正规化最大正规化”(maximum normalization )法。 公式(8-6)的一个变体如公式(8-7)所示,该公式将tf 映射为一个在区间 [0.5,1] 上的值。 )}{max*5.05.0( , , , jkk ji ji freq freqtf += (8-7) 公式(8-7)称为增量正规化词频增量正规化词频增量正规化词频增量正规化词频(augmented normalized term frequency )。 使用文档中的最大词频作为分母的正规化方法有时效果并不理想,特别是 当文档中的某词的词频很大而其它词词频相对较小的时候,使用前述的方法会 出现多数词汇tf 值较小并且彼此差别不大的结果。 另外一个经常使用的 tf 正规化方法称为“对数词频对数词频对数词频对数词频”(logarithmic term frequency )法,该方法使用如下公式计算tf 的值: 1)log( ,, += jiji freqtf (8-8) 对数词频法不使用文本长度或者最大词频这些正规化因子,而是通过对数 函数降低了词频对tf 取值的影响,从而减少了文档中少数的高频词对权重计算 的影响,降低了低频词权重的取值,而且减轻了文档长度的变化对这一取值的 变化影响。 另一类正规化方法通过整个文档向量的长度来实现。当一个文档向量构造 完成后,该向量的每一维都设定了对应索引词的 idftf * 值,将这个向量的所有 维上的这些值都除以该文档向量的欧氏长度,即得到经过正规化的文档向量。 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 205 一个向量的欧氏长度是该向量上的所有分量的平方和的平方根。由于经过正规 化后的向量具有单位长度,而且在每一维上的值恰好是该向量与这一向量在这 一维对应的坐标轴上的投影的夹角的余弦值,因此,这种正规化方法又称为余余余余 弦正规化弦正规化弦正规化弦正规化法法法法(cosine normalization )。余弦正规化法解决了文档中少数高频词对 其他词的权值的扰动过大这一问题。 8.2.3.2 相似度计算相似度计算相似度计算相似度计算 当用户查询和数据全集中的文档按照前面讨论过的方法向量化之后,下一 个步骤就是计算它们的相似度相似度相似度相似度(similarity )。相似度是用户查询与文档的相关 性的量度,令 d 表示文档向量, q 表示用户查询向量, ),( qdsimilarity 取值通常 需满足如下条件: 非负性: 0),( ≥qdsimilarity ; 对称性: ),(),( dqsimilarityqdsimilarity ≡ ; 若 0),( =qdsimilarity ,则表示文档 d 与用户查询 q 完全不相关; ),( qdsimilarity 值越大,表示文档 d 与用户查询 q 相关性越大; ),( qdsimilarity 的取值范围通常经正规化处理为区间 ]1,0[ 上的一个值; 1),( =qdsimilarity ,当且仅当文档 d 与用户查询 q 完全相同。 给定一个用户查询 N 维向量 ),...,,( ,,2,1 qNqq wwwq = ,其每一维上的权值为 )1(, Niw qi ≤≤ ; 文 档 N 维 向 量 ),...,,( ,,2,1 jNjjj wwwd = 每 一 维 上 的 权 值 为 )1(, Niw ji ≤≤ ,一个简单的相似度计算方法是计算这两个 N 维向量的内积,即 ∑= ⋅= N i jiqi wwdqsimilarity 1 ,,),( (8-9) 特别是当这两个 N 维向量都经过了余弦正规化法处理以后,它们的内积恰 好是两个向量的夹角的余弦,因此这时的相似度量度称作余弦相似度余弦相似度余弦相似度余弦相似度(cosine similarity ),如公式(8-10 )所示。 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 206 ∑∑ ∑ == = ⋅ ⋅ = N i qi N i ji N i qiji j ww ww qdsimilarity 1 2 , 1 2 , 1 ,, )()( ),( (8-10 ) 根据余弦函数的性质,余弦相似度的取值范围恰好在[0,1] 区间,且满足相 似度函数取值需满足的条件,因此,公式(8-10 )成为向量空间模型最为常用 的相似度计算方法。余弦相似度的主要缺点在于:对于一个用户查询,包含索 引词个数较多的长文档往往计算结果偏低。 在计算用户查询向量和文档向量的相似度时采用的计算方法,除了内积及 其正规化形式——余弦相似度之外,还包括其他的一些距离函数,例如,一组 基于距离的量度如公式(8-11 )所示: pp i iip ddDDL /1 2121 ][),( ∑ −= (8-11 ) 式中 1D 和 2D 是向量, id1 和 id 2 分别是 1D 和 2D 第i 维的取值,参数 p 是正整 常数,当 1=p ,这一量度称为街街街街区距离区距离区距离区距离(city block distance );当 2=p ,这一 量度称为欧氏距离欧氏距离欧氏距离欧氏距离(Euclidean distance );当 ∞=p ,这一量度称为最大方向距最大方向距最大方向距最大方向距 离离离离(maximal direction distance )等等。 另外,还有一些量度完全不考虑向量及其各维的取值情况,例如掷骰子系掷骰子系掷骰子系掷骰子系 数数数数(Dice’s coefficient ),Jaccard 系数系数系数系数(Jaccard’s coefficient )等等。 与布尔模型相比较,向量空间模型在实际系统中的表现更优,而且计算效 率较高。因此,向量空间模型在信息检索系统中获得了广泛的应用。 8.2.4 概率模型概率模型概率模型概率模型 在概率模型中,文档和用户查询也被表示为索引词集合的形式,与前面讨 论过的信息检索模型不同的是,概率模型通常采用索引词在文档中的统计分布 等参量计算任意文档 d 与给定用户查询 q 相关的概率 )|( dqP 。 本小节重点介绍一类典型的信息检索概率模型:贝叶斯推理网络模型,该 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 207 推理网络模型提供了将不同来源的证据结合起来以确定给定文档满足用户查询 或者信息需求的概率的一种自然的方法。 贝叶斯网络是一个描述随机变量之间因果关系的有向无环图。在一个贝叶 斯网络中,节点表示随机变量,一条从父节点Y 到子节点 X 的边表示两个随机 变量的依赖关系,在贝叶斯网络中的任一节点 X 都附加了一系列条件概率 ),...,|( 1 nYYXP 表示该节点与其父节点 nYY ,...,1 的依赖关系的强度,在贝叶斯网络 中,一个节点仅条件依赖于它的父节点。 在应用于信息检索的贝叶斯网络中,节点是每个索引词 ik ,数据全集中的 文档 jd 和用户查询 q 。边有两种类型,一类是由文档 jd 指向索引词 ik ,表示索 引词 ik 出现在文档 jd 中;另一类是从索引词 ik 指向用户查询 q ,表示索引词 ik 出 现在用户查询 q 中,整个贝叶斯网络也由此划分为三个基本层次,即文档层, 索引词层和用户查询层,于是,计算用户查询与文档的相关度这一问题转化为 由贝叶斯网络计算用户查询与文档的联合概率的问题,如图8-4所示。 图8-4 信息检索中的贝叶斯网络模型 可见: jd … 1k 2k Nk q 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 208 ∑∑ =⋅= NN kk Nj kk NNjj kkdqPkkPkkdqPdqP ... 1 ... 11 11 ),...,,,(),...,(),...|),((),( ∑ ⋅= Nkk NjNj kkdPkkdqP ... 11 1 ),...,,()),...,(|( ∑ ⋅⋅= Nkk jjNN dPdkkPkkqP ... 11 1 )()|,...,(),...,|( 又由索引词的独立假设: ∏∏ == −⋅= 0|1| 1 ))|(1()|()|,...,( ii ki ji ki jijN dkPdkPdkkP 于是: ∑ ∏∏ == −⋅⋅⋅= N iikk ki ji ki jiNj j dkPdkPkkqPdP dqP ... 0|1| 1 1 ))|(1()|(),...,|()( ),( (8-12 ) 因此,为计算 ),( jdqP ,必须已知先验概率 )( jdP ,条件概率 )|( ji dkP 和后 验概率 ),...,|( 1 NkkqP 。其中,先验概率 )( jdP 为文档的概率, )|( ji dkP 是索引 词 ik 与文档 jd 相关的概率, ),...,|( 1 NkkqP 是索引词 Nkk ,...1 与用户查询相关的概 率。 剩下的问题是如何计算这些概率。对于 )( jdP ,可有如下一些计算方法: 1、均匀分布法 ndP j 1)( = (8-13 ) 其中, n 为数据全集中文档的总数。 2、正规化法 j j d dP 1)( = (8-14 ) 其中, jd 为文档向量 jd 的长度。 等等。 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 209 对于 )|( ji dkP ,有如下一些计算方法: 1、二值法   = 0 1)|( ji dkP (8-15 ) 2、权重法 }{max)|( , , jkk ji ji freq freqdkP = (8-16 ) 等等。 对于 ),...,|( 1 NkkqP ,有如下一些计算方法: 1、二值法   = 0 1),...,|( 1 NkkqP (8-17 ) 2、权重法   = 0),...,|( 1 的函数某个基于idfkkqP N (8-18 ) 8.3 信息检索中的自然语言处理方法信息检索中的自然语言处理方法信息检索中的自然语言处理方法信息检索中的自然语言处理方法 所谓信息检索中的自然语言处理方法,是指通过对文档中的自然语言文本 进行语法语义分析,以提高信息检索的精确度或者召回率的方法的统称。与基 于统计的信息检索方法相比较而言,这类方法以对文档文本的语言结构分析和 语义分析为特色,将信息处理的层次深入到了文档中文本的内容,而非仅仅依 据文本中索引词的统计信息。由于信息检索对实时性有较高的要求,不可能对 网络文档进行全面完备的语法语义分析,因此这些自然语言处理方法通常只能 停留在“浅层浅层浅层浅层”(shallow )处理的层次上,例如,对文档中的名词短语进行自 如果索引词 ik 在文档 jd 中出现 否则 如果索引词 Nkk ,...,1 在且仅在查询 q 中出现 否 则 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 210 动识别和分类等等。另外,由于自然语言处理方法中也大量运用了统计分析技 术,因此在信息检索中应用的自然语言处理方法与统计方法并没有明显的界限, 可以将自然语言处理方法视为前面讨论过的基于统计的信息检索技术的有益补 充。 自然语言处理技术按照语言处理对象的语言单位不同可以划分为音韵音韵音韵音韵 (phonological )、词形词形词形词形(morphological )、词法词法词法词法(lexical )、语法语法语法语法(syntactic )、 语义语义语义语义(semantic ),语篇语篇语篇语篇(discourse ),语用语用语用语用(pragmatic )等不同的技术层次。 许多传统的信息检索技术都采用了自然语言处理技术中的词形分析和词法分析 方法,词形分析是指对西文中给定词汇的不同形式进行分析并确定不同的词素 成分,即前缀,词根和后缀。在信息检索系统的词干抽取模块采用词形分析技 术将用户查询和文档中的词汇还原成统一的形式。词法分析方法是指在词汇这 一语言单位上的结构与词义分析方法,在传统的信息检索中应用也很普遍,例 如,停用词表中词汇的选择等,都需要采用词法分析方法。近年来,信息检索 技术则越来越多地采用更高级别的语言处理技术来进一步提高信息检索系统的 表现,如专有名词的自动识别与分类,文档文本的自动词性标注等等。 人们利用信息检索系统查询信息时存在着这样的现象:同一语义可以有多 种不同的表达方式,而不同用户使用相同的词汇进行查询的可能性又微乎其微, 为解决这一实际问题,信息检索的研究者们引入了“语义相关”的概念,计算 词汇间的语义相似度语义相似度语义相似度语义相似度(semantic similarity ),并据此对用户的查询词汇进行语义 相似词汇的扩展或者改进用户查询与文档相似度的计算方法,本小节重点介绍 在这一研究方向上的最新进展。 在语言处理技术中,语义分析占有非常重要的地位。传统的语法分析技术 仅仅着眼于语言的结构分析,而理解语言关键在于理解语言表达的意义。对于 汉语这种缺乏语法形态的语言来说,语义知识就更加重要了。确定汉语词汇的 语义,不仅仅在于标明一个词的语义属性,更为重要的是,需要确定该词汇与 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 211 其他词汇的关系,正如董振东先生所言:“关系是词汇语义的灵魂”。在知网[1] 中,董先生将词汇之间的关系归纳为上下位关系、部分-整体关系、同义关系、 反义关系、对义关系等十余种,词汇之间构成如图一所示的概念(词汇)语义 网络: 图8-5 概念语义网络 语义相似度则是将词汇间的种种不同的直接或间接语义关系映射为一个表 示词汇间语义相关的紧密程度的数值。 词汇间语义相关度的计算方法大体上可以分成两类:一类是基于按照概念 间结构层次关系组织的语义辞典的方法,这种方法建立在两个词汇具有一定的 语义相关性当且仅当它们在概念间的结构层次网络图中存在一条通路(主要是 上下位关系)这一假设的基础上。主要是根据在这类语言学资源中概念之间的 上下位关系和同义关系来计算,如Rada 等人[2] 和Lee 等人[3]通过计算在Wordnet [4] 中词节点之间上下位关系构成的最短路径来计算词之间的语义相关度。 Resnik [5]根据在Wordnet 中上下位关系网络中两个词的公共祖先节点的最大 信息量来衡量两个词的语义相关度。在Wordnet 中,一个概念c 是一个由同义词 构成的集合,概念c 的概率由公式(8-19 )给出: p p p N cfreqcp )()( = (8-19 ) 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 212 在公式(8-19 )中, pN 是在该语料库中具有词性 p 的词汇的总数, )( pcfreq 是具有词性 p 的概念 c 在大规模语料库中出现的个数,它的计算方法如公式 (8-20 )所示: ∑∈ = )( )()( pcwordsn p ncountcfreq (8-20 ) 在公式(8-20 )中, )( pcword 是在Wordnet 中所有具有词性 p 的概念c 包含 的词汇,包括概念c 本身以及概念c 的通过上下位关系相连接的所有后代概念节 点。于是,任意两个词汇间的语义相似度由公式(8-21 )给出: )]([max),( )},(),(|{21 21 pwxsubsumewxsubsumexcpp cpwwsimilarity ppp −= ∧∈ (8-21 ) 在公式(8-21 )中, ),( wxsubsume 词汇 w 的所有通过上下位关系相连结的 祖先概念节点。 另一类方法是基于统计的方法,将词汇的上下文信息的概率分布作为词汇 间语义相关度计算的参照,这类方法建立在两个词汇具有某种程度的语义相关 当且仅当它们出现在相同的上下文中这一假设的基础上。如Brown [6]的基于平均 互信息的方法, Lillian Lee [7]的基于相关熵的方法等等。 基于语义辞典的方法通常依赖于比较完备的按照概念间结构层次关系组织 的大型语义词典,如WordNet 等等。80 年代以来,我国也开展了汉语语义词典的 研究与开发。如:董振东、董强等开发的《关系语义知识库(KBRS)》,清华大 学黄昌宁等1988 年进行的语义词典研究、“905 ”项目《信息处理用汉语语义词 典》等等。由于构造汉语语义词典是一件规模浩大的系统工程,目前国际上还 没有象WordNet 那样严格按照概念结构层次关系组织的比较完备的汉语语义词 典。另一方面,国内外对汉语语义分类体系的研究已有了一些成果,如:梅家 驹《同义词词林》[8]、林杏光《简明汉语义类词典》、陈群秀、张普《信息处 理用现代汉语语义分类体系》等。但这些分类体系都是采用将词汇纳入逐步细 化的语义类中的方法组织的,必须引入基于统计的定量分析方法才能够对词汇 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 213 间的语义相关性进行比较精确的度量。哈尔滨工业大学的关毅以中文语义词典 Hownet 为基础采用基于向量的方法计算了汉语词汇间的语义相似度,并应用于 具有自然语言接口的问一问搜索引擎中,大大提高了信息检索系统的精确度。 8.4 文本自动分类技术文本自动分类技术文本自动分类技术文本自动分类技术 文本自文本自文本自文本自动分类技术动分类技术动分类技术动分类技术(text automatic classification )基本任务就是对一篇文档, 根据其内容,从预先定义好的标记集中找出一个或者多个最适合于该文档的标 记。文本自动分类技术从开始出现到现在,经历了从基于规则到基于统计分类, 再到规则和统计相结合的一个过程。在本节中,通过对文本分类问题的提出、 解决问题的主要步骤、主要方法、结果评测方法、文本分类的应用等内容的介 绍,让读者对文本自动分类技术有一个总体的认识。最后还给出了在没有预先 定义类别集合的情况下,对文本进行分类的自动聚类技术自动聚类技术自动聚类技术自动聚类技术(automatic clustering ) 的简要介绍。 8.4.1 问题的提出问题的提出问题的提出问题的提出 文本分类的问题可以这样描述:给一个决策矩阵中的每个元素赋值,并且在 }1,0{ 的实数范围内取值,如下表所示: 表8-1 文本分类决策矩阵 d1 … … dj … … dn c1 a11 … … a1j … … a1n … … … … … … … ci ai1 … … aij … … ain … … … … … … … … cm am1 … … am1 … … am1 其中, },,{ 1 mccC L= 是预先定义好的类别集合或者标记集合, },,{ 1 nddD L= 是 待分类文档集合, jia , 是一个文档和类别标记的隶属度, ]1,0[, ∈jia 。注意以下 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 214 几点: 类别标记是一组符号。例如,大多数搜索引擎使用的类别体系,包括科学 技术、社会文化、政治军事、医疗健康、体育健身等; 文档对类别的隶属度应该是基于文档的内容,而不是基于描述文档的元数 据(metadata )(例如文档出版日期、文档类型等); jia , 为一条件概率 )|(, jiji dcpa = ,如果 1, =jia ,表示第j个文档完全属于第 i个类别(或者说完全相关); 0, =jia ,表示文档j和类别i完全无关。 8.4.2 分类预处理分类预处理分类预处理分类预处理 文本自动分类由以下几个主要步骤完成[9],如图8-6所示。下面对这些步骤 分别加以具体的阐述: 1. 文本的预处理:这一过程视具体的文档来源不同而有所不同,而且中文和英 文的处理方法也有所不同。对中文文本而言,最常用的文本源就是 Internet 上的 HTML 页面。通常的预处理方法包括:  去除 HTML 的标记以及乱码;  汉语分词;  过滤文本中的停止词; 对英文文本而言,预处理过程不包括分词技术,但是要进行英文单词的词根 化处理。 2. 建立文本索引:现在的文本自动分类技术都是基于向量空间模型的,即把. 一篇文档表示为由词串组成的向量[10]。对于文档集合,可以表示为坐标词和文 档组成的矩阵A。(注意:在具体的实现中,可以对不同的类别,采用不同的坐 标词。))( , jiwA = ,其中 jiw , 表示词i在文档j中的权重。通常矩阵A是一个稀疏 矩阵(如果用系统词典的全部词作为横坐标,稀疏的问题会更为严重)。后面 的部分我们会讨论如何解决稀疏问题。确定 jiw , 的大小请参见前面8.2 节的讨论 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 215 文档预处理训练文档 系统词库 stopwords 文档索引 特征选择 分类模型 原始文档 分类算法 输入 中间处理 分类 输出 结果 训练过程 分类过程 图8-6 文本分类系统 8.4.3 向量空间简化方法向量空间简化方法向量空间简化方法向量空间简化方法 在向量空间模型中,如果使用所有的在训练文档集合中出现的词语作为二 维空间的横坐标,那么表示一个文档的向量的维数可能会很大(有可能有几千 个)。通常的分类方法不能处理这种特征集,计算量太大,程序运行时间太长; 而且没有规模足够大的训练集,用以保证分类结果的有效性。因此,通常都要 采用一些方法,对向量空间进行约简。下面详细介绍这几种方法。  基于文档频率特征选择:这是一种最简单的特征选择方法,即以在所有 训练文档集合中出现的词作为候选特征,从中去除那些包含特征词的文档数小 于某个既定阈值的特征。这种方法是建立在稀有特征对分类决策的信息贡献很 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 216 小的假设之上。  基于信息增益度(information gain )的特征选择:设 kcc ,,1 L 为预定义的 类别集合,一个词语(特征)的信息增益度定义如下: ∑ ∑∑ = == ++−= k j k j jjjj k j jj wcPwcPwPwcPwcPwPcPcPwIG 1 11 )|(log)|()()|(log)|()()(log)()( (8-22 ) 其中,)( jcP 为第j类别出现的概率; )|( wcP j 为包含特征词w、并且属于第j 类文档的概率; )|( wcP j 为不包含特征词w、并且属于第j类文档的概率。在得 到特征词w的信息增益度后,和一个阈值进行比较,如果小于这个阈值,就从特 征集中删除。  基于 2χ 分布的特征选择: 2χ 量度定义了特征词和类别之间的相关性, 如下公式: ()( ) ()()()()DCBADBCA CBADNcw i +×+×+×+ −×= 2 2 ,χ (8-23 ) 这里 N 代表全体文档;A 代表属于类别 ic ,并且包含特征词 w 的文档;B 代 表包含特征词 w ,但不属于类别 ic 的文档;C 代表属于类别 ic ,但不包含特征 词 w 的文档; D 代表既不属于类别 ic ,又不包含特征词 w 的文档。对一个特征 词,它的 2χ 度量值定义如下: ∑= = K i ii cwcPw 1 22 ),()()( χχ (8-24 )  基于矩阵分解的特征选择:一篇文档中词语的使用模式有一个潜在结构, 通过使用矩阵运算的方法可以估计这种潜在的结构。LSI(latent semantic indexing )技术,即潜在语义索引技术利用了矩阵的奇异值分解,得到一个低维 的特征向量[11]。下面对这种方法给出详细的介绍: 假定一个由词语和文档组成的 M×N 维的矩阵 A,其中 M 为特征词的数目, 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 217 N 为文档的数目,则 A 的奇异值分解被定义如下 VUSA ′= 其中U是M×R维的矩阵,V是R×N维的矩阵,S是一个奇异值组成的R×R 维的对角方阵,R<min(M,N) 是矩阵A的秩。把S矩阵对角线上的值按由大到小 的顺序排序,保留前k个最大的元素,剩下的R-k个元素置为零。把调整后的特 征-文档矩阵记为Ak,定义如下: kkkk VSUA ′= (8-25 ) 其中Sk(k ×k) 是去掉了∑中所有为零的行和列后得到对角阵,Uk、Vk是矩阵 U、V去掉了和S中零元素对应的行和列后得到的矩阵。Ak在一定程度上反映了 A的潜在结构。k越大失真越小, 但开销越大. k 的选择是按实际问题的要求进行 平衡的结果。利用矩阵Uk、Sk、Vk我们可以解决以下问题:  特征i和j有多相似: 使用“正向”乘法,即 kkk UAA ′′=′∗ kkkkk SVVSU , 其中 IVV kk =∗′ ,结果矩阵中的元素 jia , 表示特征i和特征j的相似度。  文档i和j有多相似: 使用“逆向”乘法, kkkkk VSUSV ′′=∗′ kkk UAA ,其 中 IUU kk =∗′ ,结果矩阵中的元素 jia , 表示文档i和文档j的相似度。  特征i和文档j有多相关:Ak中的元素正好表示了特征i和文档j的相关度。 8.4.4 分类方法分类方法分类方法分类方法 现在文本自动分类技术中采用的主要分类算法大都是基于统计和机器学习 技术的,因此,在这一节中我们将介绍目前主要的一些统计分类方法。文本分 类是一个典型的有指导学习的过程。根据决策结果类别的数目,可以把分类方 法分为两类问题和多类问题。两类分类问题分类问题分类问题分类问题(binary classification )是指待分类 对象的目标类别只有两类,即“是”和“不是”;多类问题多类问题多类问题多类问题(multi-classification ), 即类别主题多于2的分类问题,也是实践中使用较多的分类,它的结果往往是一 个按相关度大小排序的类别集合。两类问题和多类问题可以相互转化。下面介 绍的这些方法大多适用于多分类问题,而且是过去被广泛使用和验证过的。介 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 218 绍之前,我们先定义几个变量: 分类测试集 },,{ 1 Mdd L ,所有可能的类别集合 },,{ 1 Kcc L ; 分类训练集 },,{ 1 Ndd L ,已经被确定的类别集合 },,{ 1 Nyy L ; Nj是训练集中属于类别Cj的文档数目。 Rocchio算法 这是文档分类的经典方法。其基本思想是为每一个类别ci建立原型向量,然 后根据文档向量和类别原型向量的距离,确定文档的类别[12]。类别i的原型向量 是通过计算属于该类别的所有文档向量的平均值而得到的。这种方法的特点是 速度快,但是精度较低。 Naïve Bayes 算法 Naïve Bayes 算法是一种概率方法[13],通过对训练数据的学习,得到在一个 文档出现的条件下类别i出现的条件概率,我们用Bayes 方法来估计这一概率: )( )|()()|( dp cdPcPdcP ii i = (8-26 ) 上式中的分母对所有的类别都是相同的,因此可以把上式简化为: )|()()|( iii cdPcPdcP = (8-27 ) )(ˆ icP 为 )( icP 的估计,可以用下面的方法得到: N NcP i i =)(ˆ Naïve Bayes 方法最根本的特点是:假设文档中词语的出现是相互独立的, 因此我们可以得到下式: ∏ = = M j ijii cdPcPcdP 1 )|()()|( (8-28 ) )|(ˆ ij cdP 为 )|( ij cdP 的估计,通过下面的公式得到: 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 219 ∑ = + += M k kj ji ij NM NcdP 1 , ,1)|(ˆ (8-29 ) 其中, ijN , 是训练集中词语(特征)j在类别 ic 中出现的次数。 这种方法其实是一种基于最小错误率的贝叶斯决策理论的分类方法,其他 的贝叶斯决策方法,例如基于最小风险的决策方法,可详细参见参考资料[14] 决策树算法 决策树是一个树型的结构,在内部节点上选用一个属性进行分割,每个分 叉都是分割的一个部分,叶节点表示一个分布。这种算法的基本思想是用文档 向量去匹配一个建立在训练集上的决策树,以决定和类别主题相关还是不相关。 其关键就是如何建立决策树。建立决策树包括决策树生成和决策树剪枝两个过 程,即开始时,数据都在根结点,然后递归地进行数据分片,生成一个大树, 如图 8-7 所示;接下来进行修剪,以去掉噪音或者异常的数据,防止过适应过适应过适应过适应 (overfitting )的发生。下面我们分别讨论这两个过程。 在生成一棵树的过程中,需要注意的重点是切分点的选择准则和递归循环 的停止准则。建立在信息增益度信息增益度信息增益度信息增益度(information gain )之上的 ID3 算法是现在经 常使用的一种建树方法,算法描述如下[15]: Procedure BuildTree(S) 用数据集 S 初始化根节点 R 用根结点 R 初始化队列 Q While Q is not Empty do { 取出队列 Q 中的第一个节点 N if N 不纯 (Pure) { for 每一个属性 A 估计该节点在 A 上的信息增益 选出最佳的属性,将 N 分裂为 N1 、N2 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 220 } } 其中信息增益度的定义如下: )(),,()( 1 AEssIAGain k −= L (8-30 ) 式中:A 为文档向量中的某个属性,可能有 V 个取值, is 为某个节点上属 于第 i 类的文档数目。 ∑= = K j jjk tcPtcPssI 1 1 )|(log)|(),,( L (8-31 ) 其中, )|( tcP j 是节点t上的训练样本属于第j类的条件概率,用下式估算得 到: )( )()|( tN tNtcP j j = , )(tN j 为t节点上属于第j类文档的数目, )(tN 为t节点上文 档的数目。 ]),,(/)[()( ,,1,,1∑ ∗++= jkjjkj ssISssAE LL (8-32 ) Node 1: 7681 篇文档 P(C|n 1)=0.300 Split:cts value:2 Node 2: 5977 篇文档 P(C|n 2)=0.116 Split:net value:1 Node 5: 1704 篇文档 P(C|n 5)=0.943 Split:VS value:2 cts<2 cts ≥2 Node 3: 5436 篇文档 P(C|n 3)=0.050 Node 4: 541 篇文档 P(C|n 4)=0.649 Node 6: 301 篇文档 P(C|n 2)=0.694 Node 7: 1403 篇文档 P(C|n 5)=0.996 Net<1 Net ≥1 VS<2 VS ≥2 图 8-7:文本分类的决策树表 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 221 利用上述公式,对图8-7中的部分节点(1,2,5)计算其信息增益度的结 果如下: 节点1的熵: 300.0)|( =nCP 0.611 节点2的熵: 116.0)|( =nCP 0.359 节点5的熵: 943.0)|( =nCP 0.219 节点2和节点5的加权和: 328.0219.07681 1704359.07681 5977 =×+× 元素cts 的信息增益度:0.611-0.328=0.283 停止分割的条件:当一个节点上的数据都是属于同一个类别,或者没有属性可 以再用于对数据进行分割。至此,我们就建立了一棵决策树。评价决策树的标 准通常有以下几种: 1 有效性 最为直接的评价决策树在测试集上的性能的方法是,将它在测试集上进行 实际测试,从而可以选择在测试集中表现最好的一棵决策树。但是这种方法等 价在测试集上重新建立决策树,这在大多数情况下是不现实的。一般采用训练 集本身来估计训练算法的有效性。最简单的方法是用训练集的一部分(2/3 )来 训练决策树,而用剩余的部分(1/3 )检验其有效性。这种方法的缺点是:减小 训练集的空间,增大过适应的可能性。 2 交叉有效性 把训练集 T 分为互不相交且大小相等的 k 个子集。对于任意子集 Ti,用 T-Ti 训练决策树,之后用 Ti 进行测试,得到错误率 ei,然后估计整个算法的错误率: ∑= = k i ieke 1 1 (8-33 ) 3 余一有效性 这种方法与交叉有效性相似,只是将每个 Ti 的大小设定为 1。假设训练集 的规模为 n,则把(8-33) 式改为: 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 222 ∑= = n i iene 1 1 (8-34 ) 4 复杂程度 显然,决策树构造的过于复杂,对用户来说将会是难以理解的,在很大程 度上使得分类树的构造没有意义,所以应该在保证正确率的前提下尽量构造简 单的决策树。 接下来我们看看如何对其进行修剪,通常有两种剪枝标准:  最小描述长度原则(MDL) 思想:最简单的解释最期望的; 方法:对 Decision-Tree 进行二进位编码,编码所需二进位最少的树即为“最 佳剪枝树”。  期望错误率最小原则 思想:选择期望错误率最小的子树进行剪枝; 方法:对树中的内部节点计算其剪枝/不剪枝可能出现的期望错误率,比较 后加以取舍。 最常用的简化决策树方法有以下几种: 预先剪枝 在上述的建树算法中,要求以每个叶节点中的训练实例都属于同一个类作 为算法终止条件。在这种情况下,决策树的错误率为0。然而在预先剪枝算法中, 并不使用这个标准,而是在这个标准得到满足之前就停止继续扩展决策树。一 种最为简单的方法就是在决策树达到一定高度的情况下就停止树的扩展,这在 某些情况下能得到比较好的效果。另一种更为通用的方法是计算每次扩展对整 个系统性能的增益,如果这个增益值小于某个阈值就不再扩展,即使有些叶结 点的实例不属于同一类,算法也要终止。 后剪枝 在这个算法中,一个未经剪枝的决策树T作为输入,然后输出一个被剪枝了 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 223 的决策树T’。剪枝的过程是将一些子树删除而用叶结点来代替,这个叶结点所 属于的类别用其所对应的子树中大多数训练实例所属的类代替,并且在相应叶 结点上标出所属这个类的训练实例所占的比例。显然,经过剪枝的决策树T’ 对 于训练集的错误率已经不再是0,但是由于在这种剪枝算法当中位于底层的子树 将被优先剪枝,而这些节点都只包含了很少的训练实例,所以这种方法可以减 少噪声对决策树构造的影响;此外,它能够产生一组而不是一棵决策树,为最 终的结果提供了更多的选择。 增量树学习 在一般情况下,为了解决内存空间的问题利用增量树学习增量树学习增量树学习增量树学习(incremental tree sizing )的方法,通过逐步增加训练实例增量式地构造、剪枝决策树。 k近邻方法 k近邻方法的基本原理很简单,即通过找出训练集中与待分类文档最相似的 k篇文档,然后根据这k个文档的类别确定该文档的类别。常用的相似度度量标 准是欧氏距离和余弦夹角。该方法不同于前面几种方法之处在于,它是一种基 于实例的“惰性”学习算法,就是说不需要一个独立的模型训练过程[16]。下面 给出两类问题的算法描述 两类问题的两类问题的两类问题的两类问题的K-NN 算法算法算法算法 1. 输入待分类文档y和训练集X; 2. 计算y和X中所有文档的相似度; 3. 找出X中和y最相似的K篇文档; 4. 设n1、n2分别是K篇文档中属于C1和C2类的文档数目,计算以下两个条 件概率: 21 2 2 21 1 1 )|()|( nn nycPnn nycP +=+= (8-35 ) 5. 如果 )|()|( 21 ycPycP > ,则y属于C1类,否则属于C2类。 最大熵分类 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 224 最大熵模型是一种可以集成不同种类信息的分类模型,把在训练集中的、 与分类有关的数据描述为一系列的特征。这些特征在大多数情况下是一些信号 函数,例如在文档自动分类中,我们所使用的特征函数的形式如下:    => = otherwise candsif cxf ji ji 0 101 ),( ,r (8-36 ) 其中 jis , 是词i在文档j中的权重。然后使用最大熵模型的变换形式—对数线性模 型来整合这些特征。 ∏ = = K i cxf i i ZcxP 1 ),(1),( rr α (8-37 ) 式中,K是模型中特征的规模,Z是归一化用参数。为便于计算,对上式两边取 对数,得到式(18 ): ∑= +−= K i ii cxfZcxP 1 log),(log),(log αrr (8-38 ) 为求得式(17 )中的一个最大熵分布 *P ,而且使得该分布满足下面的约束 条件: iPiP fEfE ~* = (8-39 ) 求解的过程是一个迭代循环的过程,通常采用GIS(generalized iterative scaling )算法(见4.5.1 节)。 在近来的基于最大熵方法的文档分类系统中,采用了实值形式的特征,而 且提出了改进的GIS 算法,参见参考资料[17]。 以上介绍了常用的文本自动分类系统的主要步骤和方法,不同的方法有不 同的优缺点,在实际的系统实现中,根据系统对精度、算法复杂度、算法实现 的难易程度的不同要求,选择不同的算法。另外,和自动分类技术相近的技术 --- 自动聚类技术,也可以用于文本分类。它适用于当系统没有预先定义的类别 集,训练数据也没有标注类别信息的情况下,直接由训练数据之间的相似性进 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 225 行分组,是一种典型的无教师的机器学习问题,目前的文本聚类方法大致可以 分为层次聚类法和平面聚类法。由于实际应用较多的是有导师学习的自动分类 技术,因此,在此对自动聚类技术不再详述。对此感兴趣的读者可参见参考资 料[18]。 8.5 本章小结本章小结本章小结本章小结 信息检索综合应用了自然语言处理与数据库等领域的知识,它在社会生产 的很多领域已经被广泛采用,例如知识管理系统、图书档案管理系统等,这些 应用大都是基于关系数据库的,其相关技术已经比较成熟。近来随着互联网的 迅速发展,对信息检索提出了更高的要求。现有的Internet 搜索引擎都是基于关 键字,然后通过关键字之间的逻辑运算,来完成一些高级检索。而对更高级的 检索系统而言,像自然语言问答系统,其目标不仅仅是返回给用户所要查找信 息所在的文本,而且要提取其中和用户的查询相关的答案,以减少用户在文本 中的查找时间,即要做到对网页信息内容的检索,这就需要自然语言处理的一 些基本技术的支持,例如词性标注、句法分析、名实体识别、语义分析等等, 而这些技术相对来说大都不是非常成熟。其次,信息检索就本质而言就是一个 分类过程,尽管现有的分类算法大都能保证分类的精度和召回率,但是当把其 应用到海量数据集时,一些高精度的分类算法,由于其时间复杂性太高,而导 致检索系统的整体性能下降。因此,要做到一个高性能的信息检索系统,还需 要在自然语言处理、文本分类、信息抽取等相关领域,做大量的研究工作。 参考文献 [1] 董振东,董强,知网,http://www.how-net.com [2] Rada R., Hafedh M., Bicknell E. and Blettner M. (1989) Development and application of a metric on semantic nets. IEEE Transactions on System, Man, and Cybernetics, 19(1):17-30. [3] Lee J.H., Kim M.H., Lee Y.J. (1993). Information Retrieval based on conceptual distance in IS-A hierarchies, Journal of Documentation, 49(2), June 1993, pp. 188-207. 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 226 [4] Miller, G., Beckwith, R., Fellbaum, C., Gross, D. and Miller., K. 1990. Introduction to WordNet: An Online Lexical Database. International Journal of Lexicography 3(4): 235-244. [5] Resnik, P. (1995). Using information content to evaluate semantic similarity in a taxonomy. In Proceedings of IJCAI. [6] P. Brown, S. Della Pietra, V. Della Pietra, and R. Mercer. (1991) Word sense disambiguation using statistical methods. In Proceedings of the 29th Meeting of the Association for Computational Linguistics (ACL-91), pages 264-270, Berkley, C.A., 1991. [7] Lillian Lee. Similarity-Based Approaches to Natural Language Processing. Ph.D. thesis. Harvard University Technical Report TR-11-97. [8] 梅家驹 等 (1983 ) 《同义词词林》,上海辞书出版社. [9] Kjersti Aas, Line Eikvil. Text Categorization :A Survey. Technical Report. Norwegian Computing Center.1999. [10] G. Salton , M. J. McGill. An Introduction to Modern Information Retrieval. McGraw-Hill, 1993. [11] M.W.Berry, S.T.Dumais and G.W.O’Brien. Using Linear Algebra for Intelligent Information Retrieval. SIAM Review, Vol.37, pp.573-595.1995 [12] T. Joachims. A probabilistic Analysis of the Rocchio algorithm with TFIDF for Text Categorization. In Proc. of the Fourteenth International Conference on Machine Learning, 1997. [13] Mitchell T. Machine Learning. McGraw Hill. 1996. [14] 边肇祺 等. 模式识别. 清华大学出版社. 1998. [15] Quinlan J.R. Introduction of Decision Tree. Machine Learning.1986. [16] S. Cost and S. Salzberg. A Weighted Nearest Neighbor Algorithm for Learning with Symbolic Features. Machine Learning,10(1):57–78, 1993. [17] Kamal Nigam, John Lafferty, et al. Using maximum entropy for text classification. In proceedings of the IJCAI-99 workshop on information filtering, Stockholm, SE, 1999. [18] Michael Steinbach, George Karypis. A Comparison of Document Clustering Techniques. Department of Computer Science and Engineering, University of Minnesota. Technical Report.1998. [19]Ricardo Baeza-Yates & Berthier Ribeiro-Neto. Modern Information Retrieval. Addison-Wesley, New-York, 1999. [20] Frakes, W.B. and Baeza-Yates, R. 1992. Information Retrieval: Data Structures & Algorithms. Prentice Hall 第第第第8章章章章 信息检索技术信息检索技术信息检索技术信息检索技术 227 [21] Greengrass, E. 2000. Information Retrieval: A Survey. UMBC CADIP. [22] van Rijsbergen, C.J. Information Retrieval (2nd ed.), Butterworths, London, 1979. [23] Lee, J.H. Combining multiple evidence from different properties of weighting schemes, Proceedings of the 18th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 180-188, 1995. [24] G. Salton , M. J. McGill. An Introduction to Modern Information Retrieval. McGraw-Hill, 1993 第第第第7章章章章 自动文摘技术自动文摘技术自动文摘技术自动文摘技术 228 第第第第9章章章章 文字识别技术文字识别技术文字识别技术文字识别技术 本章将首先介绍联机手写体文字识别技术的国内外概况、联机手写体文字 识别基本的识别方法和典型的系统。然后,探讨利用统计语言模型进行联机手 写体文字识别后处理的方法,及其在手写体汉字识别中的重要性,进而将描述 手写体汉字识别后处理的数学模型、基于词网格的手写体汉字识别的语言学解 码方法和最优语句候选的搜索算法,最后将描述联机手写体汉字识别后处理系 统的构成。 9.1 引言引言引言引言 电子计算机的出现和发展,使人类社会的经济、科学、技术发生了日新月 异的变革。电子计算机信息量大,速度快,越来越广泛地被应用于信息处理。 以电子计算机为基础手段的现代信息处理技术已成为信息社会的重要标志。 信息处理技术包括信息的输入、信息的处理和信息的输出三个方面。信息 处理的一个重要内容就是文字信息处理。汉字是我国文化的宝贵遗产,是汉语 的书写符号,是人们学习、工作和交流的主要手段和工具之一,汉字对中华民 族的政治、经济和文化的发展有着不可磨灭的功绩,全世界使用汉字的人数之 多是任何其它文字所不能及。因此,汉字信息处理技术不仅在我国,而且在全 世界都有着极为重要的实用价值和现实意义[1,2,3,4,5,6]。 在汉字信息处理技术中,汉字输入一直是人们重视并有待于妥善解决的问 题。因为汉字的结构决定了汉字不能象英文那样简单地通过键盘上二十多个字 母键送入计算机。如何把汉字信息高速准确地输入到计算机中,成了汉字信息 处理中最为关键的问题之一。 目前汉字的输入方式大致有两种方法:一种是非智能的输入方式,如各种 编码输入法,整字大键盘输入法;另一种是智能拼音输入法,如汉字识别和语 音输入。由于汉字字数多,字形复杂,非智能输入方式要求记忆复杂的编码, 只有专业操作人员才能熟练掌握使用,非专业操作员使用起来很不方便,效率 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 229 很难提高,因此必须使用智能化输入方式。 汉字识别是指计算机自动辨识印刷或手写体汉字的技术,依据识别对象及 输入设备不同,汉字识别可以分为印刷体汉字识别、脱机手写汉字识别和联机 手写体汉字识别。 印刷体汉字识别是由计算机识别通过光电扫描仪输入的印刷体汉字的技 术,脱机手写汉字识别是由计算机识别人写在纸上的手写体汉字的技术,联机 手写体汉字识别则是由使用者在数字化仪上写入汉字,计算机实时接收汉字笔 记,将其识别为标准内码的技术。这三种汉字识别技术依据不同特点,各自有 着不同的应用领域,其中尤其以联机手写体汉字识别更具有实用价值。 随着计算机技术的应用与普及,人们已不满足于在办公室内使用计算机,而希 望随时通过计算机与各地联系,处理信息。这一要求促使计算机向便携和小型 化方向发展,出现了操作简单,易于携带的掌上电脑和个人数据助理(PDA) 产品,尤其是笔操作的PDA 产品,因为取消了键盘,采用了图形用户界面,最 接近人类自然习惯的用户接口,具有极好的市场前景。而目前影响这一产品发 展的关键技术之一就是联机手写体汉字识别技术。 尽管目前联机汉字手写体识别技术已进入实用化阶段,许多科研机构推出了各 自的联机汉字手写体识别系统。但是由于被识别的汉字之间的结构相似性以及 文字图像上的噪音,严重制约着汉字识别的识别率的进一步提高,尤其随着汉 字识别技术正在朝着连笔草书方面的发展,汉字识别面临的技术难度日益增大。 解决方案之一便是利用人类能够自觉地使用词典知识和语言学知识,根据句子 中的上下文信息对带有噪音的文字图像进行理解和识别。根据仿生学、认知科 学原理,将语言学机制引入到汉字识别问题中,采用一个语言解码器语言解码器语言解码器语言解码器(Linguistic Decoder )自动处理句子中上下文信息,从而可以对文字图像进行某种程度的理 解,以便自动修正识别错误,选择最优的候选识别字,从而改善手写汉字识别 的正确率。 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 230 本章在介绍联机手写体的国内外概况、联机手写体基本的识别方法和联机手 写体典型的同时,将介绍手写体汉字识别的后处理系统,同时验证统计语言模 型在提高联机手写体汉字识别系统识别准确率的有效性。 9.2 联机手写体汉字识别的国内外研究概况联机手写体汉字识别的国内外研究概况联机手写体汉字识别的国内外研究概况联机手写体汉字识别的国内外研究概况 9.2.1 国外研究概况国外研究概况国外研究概况国外研究概况 字符识别的发展历史可以追述到上个世纪四十年代,随着电子计算机的发 明出现了现代意义上的光学字符识别系统光学字符识别系统光学字符识别系统光学字符识别系统(OCR)。五十年代末期发明了电子 图形输入板,可以实时地将笔在图形板上的移动笔迹坐标数据输入计算机,因 而可以用笔在电子图形板上写字的方法将汉字实时输入计算机。1966 年美国的 麻省理工学院的J.Lu 发表了题为“Real time Chinese handwriting recognition machine ”的学位论文[7]。其后美国的匹兹堡大学、IBM 公司等均有研究成果发 表,加拿大的大学也有学者从事这方面的研究[8]。 七十年代中期,在政府的支持下,日本开始了面向实用的汉字识别研究,并 于1980 年首先研制出可以识别2000 个汉字,识别速度小于0.4 秒/字的联机汉字识 别系统。随后日本各大公司和学校也相继推出了各自的手写汉字识别系统 [9,10,11]。 目前国际上从事字符识别文档理解方面研究的学术团体的主要代表有: 1、美国Buffalo 大学的CEDAR(Center of Excellence for Document Analysis and Recognition )。该中心成立于1978 年,最初的研究方向是模式识别和人工智 能。已经推出了一些可识别邮件上手写的姓名、地址和邮政编码等方面的产品。 目前主要的研究方向有表格处理表格处理表格处理表格处理(Forms Processing )、手写地址翻译手写地址翻译手写地址翻译手写地址翻译(Handwritten Address Interpretation )、智能字符识别智能字符识别智能字符识别智能字符识别(Intelligent Character Recognition )、日日日日 语文本识别语文本识别语文本识别语文本识别(Japanese Document Recognition )、手写文本识别手写文本识别手写文本识别手写文本识别(Handwritten Text Recognition )以及名片机,姓名地址阅读器等。 2、加拿大Concordia 大学的CENPARMI(Center for Pattern Recognition and 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 231 Machine Intelligence )。该中心成立于1988 年,目前主要的研究方向有手写及签手写及签手写及签手写及签 字识别字识别字识别字识别(Handwriting Recognition and Signature Verification )、图像分析及文本图像分析及文本图像分析及文本图像分析及文本 处理处理处理处理(Image Analysis and Document Processing )、多特征融合及分类技术多特征融合及分类技术多特征融合及分类技术多特征融合及分类技术 (Combination of Different Types of Features and Classification Techniques )、专专专专 家系统及神经元网络家系统及神经元网络家系统及神经元网络家系统及神经元网络(Application of Multiple Expert Systems and Neural Networks )、自然语言处理自然语言处理自然语言处理自然语言处理等(Natural Language Processing )。 3、荷兰的NICI(Nijmegen Institute for Cognition and Information )。该研究 所成立于1990 年,目前主要的研究方向有联机手写字符数据库收集管理联机手写字符数据库收集管理联机手写字符数据库收集管理联机手写字符数据库收集管理(On-line Handwriting Database Collection Project )、语音及联机字符识别语音及联机字符识别语音及联机字符识别语音及联机字符识别(Combining Speech and On-line Handwriting Recognition )以及在脱机字符识别中应用联机知脱机字符识别中应用联机知脱机字符识别中应用联机知脱机字符识别中应用联机知 识识识识(Using Knowledge of On-line Handwriting Production in Off-line Recognition ) 等项目。 另外美国的Berkeley 大学、Maryland 大学、英国的Essex 大学、Nottingham 大 学以及日本、韩国等地也有大量学者从事相关研究工作。 9.2.2 国内研究概况国内研究概况国内研究概况国内研究概况 国内的联机手写体汉字识别研究始于上个世纪七十年代末,一九八三年,武 汉召开的中文信息学会第二届全国学术会议上,哈尔滨工业大学、江西冶金工 程学院、上海仪器仪表研究所等单位提交了有关联机手写体识别的研究论文。 此后,哈尔滨工业大学、总参通讯部、清华大学、西安交大等单位均有研究成 果通过鉴定。 汉字识别技术的发展可以分为三个阶段,从上个世纪七十年代末到八三年, 是联机手写体汉字识别技术的理论探索,方法研究阶段。这一阶段的研究成果 大多以论文的形式出现;八四年到九十年代是联机手写体汉字识别实际系统的 研究阶段。在这个阶段中研制出了几个初步实用的装置,其指标为识别字数 3755~6763 个,识别率在85% 左右,识别速度基本上能跟上人书写的速度,书写 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 232 时要求笔划数和笔划类型基本正确;九十年代之后,联机手写体汉字识别技术 逐步走向实用阶段,在国家的大力支持和市场需求的促进之下,初步可实用的 手写体汉字识别系统陆续出现。目前国内从事字符识别方面研究的学术团体主 要有:清华大学、北京大学、中科院自动化所和哈尔滨工业大学。另外,我国 台湾地区的汉字识别研究也硕果累累,主要研究产品有蒙怡中国笔、新颖中文 手写、孙悟空中文手写等。 9.3 联机手写体汉字识别方法综述联机手写体汉字识别方法综述联机手写体汉字识别方法综述联机手写体汉字识别方法综述 本小节将简单概述常用的联机手写体汉字识别方法。 9.3.1 基于统计的识别方法基于统计的识别方法基于统计的识别方法基于统计的识别方法 手写体汉字识别的系统方法是以统计为特征基础,以汉字的结构信息为辅 助特征的识别方法。不同的方法往往采用不同的特征,但其最后的识别方法则 是一致的,即都采用特征向量与模板匹配的方法,但是这类方法分辨相似字的 能力较弱,因此,在识别字集增大或者畸变幅度增大时,该类方法宜作为组分 类方法实用。在早期的汉字识别研究中,人们往往用整字的统计特征来识别汉 字。下面介绍其中主要的几种。 1、续波形谱分析特征[12] 人 们 书 写 时 笔 尖 的 运 动 轨 迹 可 以 看 作 是 两 个 坐 标 采 样 的 序 列 Nnnynx K,2,1),(),( = ,对此序列做傅立叶变换,把展开式的低阶系数作为汉字 识别的特征。 其展开系数为: ∑= = N n ii NnnxNa 1 )/cos()()/2( (9-1) ∑= = N n ii NnnyNb 1 )/sin()()/2( (9-2) 由于展开式中的低阶系数能够有效地反映曲线的大致变化,并且能够克服 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 233 高频噪声,因此可以用来描述一个汉字: ),,,,,,( 1100 MM bababaL K= (9-3) 其中 M 的大小根据情况而定。 2、字曲线描述特征[13,14] 将输入汉字中的前一笔划的结束点与下一笔划的起始点连接起来,将汉字 看作是一条曲线,然后利用文献[14] 中提供的算法将这条曲线表示为一个具有固 定分段数的Freeman 链码序列,并以次序列来描述一个汉字。匹配时,将链码序 列中的每一个元素与特征模板中的每一个元素比较,产生对应的误差向量,再 将误差向量与一个加权向量相乘,得到匹配误差值,以匹配误差最小的模板作 为识别结果。 此外,在文献[15] 中提出了一种在整字曲线描述基础上的动态规划算法,它 也是将输入汉字前后笔划相连,把汉字看成是一条连续的曲线,然后将这一曲 线按照其运笔方向提取出方向序列及长度序列,将其与字典中的标准序列作动 态规划匹配,得出距离最小者即为识别出的汉字。 以上介绍的基于整字的联机汉字识别特征及其匹配方法的共同特点是允许 输入汉字的笔划之间的连笔,但是要求笔顺正确,另一方面由于忽略了汉字的 结构信息,因此当识别字域增大时,得不到满意的识别效果。 9.3.2 基于结构的识别方法基于结构的识别方法基于结构的识别方法基于结构的识别方法 由于汉字是有结构的线段图形,汉字笔划之间有一定的相关性,无论如何 变化,其相互位置不变,因而可以从结构方面入手进行汉字识别[15,16,17]。 这类方法需要先识别笔划,然后再以这些笔划作为主要特征来识别汉字, 常见的笔划基本类型有横、竖、撇、捺和点,这些基本笔划可以组成复杂笔划。 笔划的识别方法主要有以下几种: 1 、笔划的书写方向及其变化来识别笔划 不同的联机识别系统对笔划有不同的定义,通常可以分为基本笔划和复合 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 234 笔划两类。基本笔划包括横、竖、撇、捺和点;复合笔划指的是由基本笔划组 和构成的笔划。 在 YX − 平面上进行分割,根据人书写横、竖、撇、捺的习惯,确定它们的 基本方向。由于基本笔划都是直线型笔划,输入一笔划的坐标串后,若判定出 不是复合笔划,则根据该笔划起、终端点坐标计算出基本笔划类型。如果基本 笔划包括点,则计算出笔划长度,当长度小于一个阈值时即为点。 根据书写笔划时方向变化,检测出笔划中的折点,根据折点的弯折方向和 个数,就可以进行复合笔划的判断。 2、动态规划识别笔划[18,19] 这种方法是直接根据笔划上线段方向,形成笔划方向码序列,用动态规划 法来识别笔划。 设输入汉字为: nxxxX ,,, 21 K= , 标准模板为: mgggG ,,, 21 K= , 两个笔划方向码符号 ix 与 ig 之间的距离 ),( ii gxd 定义为 ),( jid : { }||8|,|min),( jiji gxgxjid −−−= (9-4) 其中 ix 与 ig 是方向符号,其值为0~7 ,表示 YX − 平面上的8个方向。 则输入汉字与标准模板之间的距离 ),( GXD 可由动态规划法求出: { } ),(),1(),1,(),1,1(min),('''' jidjidjidjidjid +−−−−= (9-5) 其中, ),(' jid 表示前串 ix 与 ig 之间的距离, )1,1()1,1(' dd = 。 最后有: ),(),( mndGXD = (9-6) 以上迭代过程实质上是以伸长或缩短某一方向码的长度来找到两个序列的 最优匹配。这种方法的缺点是迭代速度慢,影响识别速度。 3、模糊属性自动机来识别笔划 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 235 文献[16] 提出了一种识别笔划的模糊属性自动机,它利用笔段的方向和长度 信息,借助模糊信息处理方法,以不变嵌入原理为着眼点,提出了一种模糊属 性文法及其相应的模糊属性自动机。这种方法的文法形式是有限状态文法,但 语义规则中有上下文信息。一个输入笔划的方向码序列和方向码长度序列输入 自动机后,得到的结果不是真假二值,而是这一笔划属于自动机所规定的笔划 类的隶属度值。隶属度最大的一类即为识别出的笔划类型。 经过笔划识别之后,输入文字被描述为一个笔划序列或笔段序列。汉字识 别问题即转化为对输入笔划,笔段序列的识别问题。 由于汉字的组成原则是:笔段—笔划—部件—整字,根据识别出的笔划, 笔段序列首先进行部件识别,进而识别出整个汉字。 9.3.3 基于神经元网络的识别方法基于神经元网络的识别方法基于神经元网络的识别方法基于神经元网络的识别方法 人工神经元网络方法也是研究手写汉字识别的常用工具。国际上比较著名 的Fukushima 模型就是一种专门用于视觉模式识别的模型,其中Neocognition 模 型模仿了人脑视觉系统的细胞感受理论,结构精美复杂。由于这种结构具有对 位置,大小变化的容忍能力,更接近人脑[20,21]。 此外,清华大学的吴佑寿等人提出了一种改进的自组织聚类网络[22],这种 方法可以用于汉字的自组织聚类。中科院的刘迎建等提出了一种组块神经元网 络模型[23],它是由大量基本单元—组块神经元通过一定组织关系构成的复杂系 统。 9.3.4 基于机器学习的识别方法基于机器学习的识别方法基于机器学习的识别方法基于机器学习的识别方法 模式识别是一种智能行为,传统模式识别方法—统计方法和结构方法由于 本身在特征提取,模式描述方面的单调性和识别过程的简单性,造成现有手写 体字符识别系统水平不高,系统对用户限制较多等问题。随着人工智能技术在 模式识别领域的不断渗透,几年前人们提出了基于知识的模式识别思想,并以 此构造了一些实用的专家系统。传统识别与智能识别的差别就在于后者更多地 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 236 利用了领域知识和人工智能技术,智能识别的难点在识别知识的获取。文献[24 ] 提出了一种机器学习字符识别系统MLCRS,该系统结构如图9-1所示。 MLCRS 知识库中的知识采用树形结构,其节点为字符实例的优选属性,识 别规则的形式为: ""21 ii eAAA →∧∧ K 表示如下的推理路线: ""21 ii eAAA →→→ K 最终推出的树叶就是识别结果。该系统采用概念函数来指导优选属性的工 作,不同于ID3 。在各概念节点上结合神经网络的Kohonon 自组织映射网来模仿 人类的“形象思维”构造节点的微神经网络联结结构,形成了系统独特的工作 方式,使机器即具有部分“逻辑思维”,又具有部分“形象思维”的能力,取 得了较好的实验效果。 图9-1 MLCRS 系统结构 9.4 典型联机手写体汉字识别系统典型联机手写体汉字识别系统典型联机手写体汉字识别系统典型联机手写体汉字识别系统 本小节将简要概述中科院自动化所的“汉王中文手写”和哈尔滨工业大学 预处理 自动知识获取 分类 属性学习 知识库 用 户 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 237 的“豪文”中文手写两个典型的中文手写系统。 9.4.1 汉王中文手写体汉字识别系统汉王中文手写体汉字识别系统汉王中文手写体汉字识别系统汉王中文手写体汉字识别系统 汉王中文手写汉字识别系统采用传统的结构模式识别方法,借助模糊信息 处理方法,以不变嵌入原理为着眼点,提出了一种模糊属性文法及模糊属性自 动机,把在线手写汉字分为笔划—笔段—字跟—整字几个层次,最后加以词组 较对。该系统流程图如图9-2。 图9-2 汉王中文手写汉字识别系统流程图 该系统首先采用以模板为核心的模糊属性自动机进行手写汉字的笔划识 手写汉字字符 笔断识别 笔划识别 整字识别 字根识别 词组识别 输出 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 238 别,去掉笔划中的畸变,将汉字笔划拆分为笔段,在笔段一级采用字形结构排 序法对笔段重新排序,从原理上克服了笔顺变化对识别的影响。在字根及整字 一级采用与识别汉字笔划类似的文法进行描述与归纳,在词组阶段采用上下文 相关信息通过粗分类匹配一部分词,达到加快速度的目的。该系统的优点是对 笔划变化的容忍度大,缺点是运算比较复杂,自动机的设计比较困难。 9.4.2 豪文中文手写体汉字识别系统豪文中文手写体汉字识别系统豪文中文手写体汉字识别系统豪文中文手写体汉字识别系统 豪文中文手写体汉字识别系统采用了传统的统计模式识别与结构模式识别 相结合的方法,建立了识别系统的信息传递模型。采用了多分支多级分类技术, 解决了多级分类过程中误差累积的问题,整个识别过程分为笔段识别—字根识 别—整字识别三个层次,其识别流程图如图9-3。 图9-3 豪文中文手写汉字识别系统流程图 该系统在笔段排序和部件分析识别过程中采用的知识是一种专家知识,表 手写字符 笔段识别 字根识别 字根原型知识库 标准词典 输出 整字识别 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 239 现形式为一条条的规则。在整字识别中采用的模板也是基于专家知识确定的, 因而具有知识表达精炼,内存开销小,识别效果好,识别速度快等优点。 该系统的缺点是知识库维护困难,需要专家才能改动知识库中的规则,适 应性差,制作不方便。 9.5 联机手写体汉字识别后处理系统联机手写体汉字识别后处理系统联机手写体汉字识别后处理系统联机手写体汉字识别后处理系统 典型的手写体汉字识别系统一般由两个部件组成:前端单字识别器前端单字识别器前端单字识别器前端单字识别器(Single Character Recognizer ,简称为SCR)和汉字识别后处理器汉字识别后处理器汉字识别后处理器汉字识别后处理器(Post-Processor )[25,26], 而后者有时也被称作语言解码器。由于SCR 一般可以根据输入的汉字图像系列 生成一个由候选汉字组成的矩阵,因此目前绝大多数的汉字识别后处理系统很 自然地采用了基于字的汉语N-gram 模型计算每个候选语句的出现概率,而这种 后处理方法没有充分利用汉语词典中的丰富的构词信息。实际上对于汉字识别 后处理来说,汉语词典应该是一种非常重要的信息源。直观上看,相邻列上的 候选汉字能否组成一个词的信息有助于正确选择最优的语句候选。再者,基于 词的汉语N-gram 模型的信息熵远小于基于字的汉语N-gram 模型的信息熵。因此 本章将介绍基于词的汉语N-gram 模型的汉字识别后处理系统。另外一些研究者 试图通过词法、句法和语义信息的分析来进行后处理,遗憾的是,这些方法需 要耗费大量的系统时间,不适用于联机手写体汉字识别系统的要求。 9.5.1 手写体汉字识别模型手写体汉字识别模型手写体汉字识别模型手写体汉字识别模型 一个典型的手写体汉字识别系统的结构示意图如下面的图9-4所示: 单 字 后 处 理 系 统 nIIII L21= nHHHH L21= nCCCS L21= 图9-4 手写体汉字识别系统结构示意图 在图9-4中,SCR 的输入端接收一个手写体汉字图像序列,该图像序列记作 nIIII L21= ,其中 iI 表示单个手写体汉字图像。对于每个输入的手写体汉字图 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 240 像 iI , SCR 生成一个候选矢量 iH ,             = ),( ),( ),( 22 11 imim ii ii i ii cC cC cC H L ,其中 iH 由一组形如 ),( jiji cC 的二元对组成, jiC 表示第i 个手写体汉字图像 iI 的第 j 个候选汉字, jic 是一个概率值,一般称之为该候选字的可信度可信度可信度可信度(Confidence ),它表示手写 体汉字图像 iI 的第 j 个候选汉字的模式类和 iI 之间的相似度。显然,对于一串输 入的手写体汉字图像 nIIII L21= ,SCR 将生成一个候选矩阵 nHHHH L21= 。 如果每个汉字候选用一个节点表示, 那么 iH 的所有候选汉字将组成一列节点, H 的所有的候选汉字可以用 n 列节点表示。如果将相邻列的节点全部用有向边 连接起来,它们将构成一个有向图。该有向图(如图9-5所示)构成了汉字识别 后处理中语言解码器的状态空间。 汉字图像: 时间: t I1 I2 I3 I4 w11 w12 w14 w13 w15 w21 w24 w25 w31 w32 I5 候选汉字: w22 w23 w33 w34 w35 图9-5 语言解码器的状态空间 该有向图中自左向右的每一条路径看作一个候选语句。显然,一个候选语 句 S 由一个由 H 中的相邻列的候选汉字组成的串组成, njjj n CCCS K21 21 = ,这 里每个 iij HC i ∈ , 并且 ni ≤<0 , iji C 是 iH 中的一个候选汉字。汉字识别后处 理中语言解码器将使用统计语言模型对候选矩阵 nHHHH L21= 进行解码,并 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 241 选择最优的候选语句 S 作为输出。即选择具有最大概率 )/( ISp 的候选语句 ^ S 。 根据贝叶斯公式,可以推导出下面的公式: )()|(maxarg)( )()|(maxarg)|(maxarg ^ SpSIpIp SpSIpISPS SSS === (9-7) 在公式(9-7)中,SCR 提供对 )/( SIp 的估计。而 )(Sp 则由汉字识别后 处理中的汉语统计语言模型计算。 9.5.2 P(I/S) 估计估计估计估计 SCR 一般通过比较单个手写体汉字图像 iI 和它的所有的候选汉字对应的 模式类,而对 iI 进行识别。显然,SCR 没有依赖图像 iI 的上下文信息。因此公式 (9-7)中的概率 )/( SIp 可以由下面的公式计算: ∏ = = n i iji i CIpSIp 1 )/()/( (9-8) 在公式(9-8)中, njjj n CCCS K21 21 = , iji C 是汉字图像 iI 的候选汉字之一。 公式(9-7)可以重写为: )()/(maxarg)()|(maxarg)|(maxarg 1 ^ SpCIpSpSIpISPS n i iji SSS i ⋅=== ∏ = (9-9) 根据Bayes 公式, 可知: )( )()/( )/( ij iiij iji i i i Cp IpICp CIp ⋅ = (9-10 ) 所以公式(9-9)可以重写为: )()( )()/( maxarg)()/(maxarg 11 ^ SpCp IpICp SpCIpS n i ij iiij S n i iji S i i i ⋅ ⋅ =⋅= ∏∏ == (9-11 ) 在公式(9-11 )中, 对于 iH 中所有的候选汉字来说, iI 是相同的,所以 )( iIp 可以被省略。 )( iji Cp 是候选汉字 iji C 对应的模式类的先验概率,并且SCR 一般 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 242 认为 )( iji Cp 是均匀分布的,所以 )( iji Cp 可以被省略。因此公式(9-11 )可以 进一步重写为: )()/(maxarg)|(maxarg 1 ^ SpICpISPS n i iij SS i ⋅== ∏ = (9-12 ) )/( iij ICp i 可以通过候选汉字 iji C 的模式类和 iI 之间的可信度 jic 来替代: jic )/( =iij ICp i (9-13 ) 9.5.3 P(S) 估计估计估计估计 统计语言模型的任务一般用于对句子的出现概率 )(Sp 进行的估计。首先, 根据某种汉语词的切分算法,候选语句 njjj n CCCS K21 21 = 可以被分割成一个词 的序列。 令 m def m wwwwS L211 == ,则 ∏ = −= m i i i wwpwpSp 2 1 11 )|()()( 这样,句子概率的估计 )(Sp 就可以通过词的上下文条件概率 )|( 1 1 −i i wwp 计 算出来。 )|( 1 1 −i i wwp 经常被记作 )/( ii hwp ,这里 1 1 −= i def i wh 称作词 iw 的上下文历 史。前文曾经提到,假设词典V 的规模为 ||V ,那么由 ih 组成的上下文参数空间 为 1|| −iV 。显然, )|( ii hwp 是不可计算的。因为词 iw 的上下文 ih 在训练语料库中 重复出现的次数十分有限,一般难以满足其统计充分性的要求,也就无法得到 其可靠的概率估计。实际上,大多数统计语言模型均通过:对上下文 ih 的空间 进行等价类划分,以压缩其参数空间,来近似估计 )|( ii hwp ,从而提供了词 iw 所 在的句子的出现概率 )(Sp 的计算机制。 根据统计语言模型对词的上下文空间的等价类的划分方法,可以构造不同 结构的基于词的上下文出现概率的统计语言模型。这种统计语言模型主要包括: 基于词的N-gram 模型、基于词类自动划分的Class N-gram 模型、基于词性的 N-POS 模型、HMM 语言模型和基于决策树的统计语言模型等。 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 243 在上述的统计语言模型中,基于词的N-gram 模型在语音识别和文字识别应 用中,占据着绝对主流的地位,其性能优越于其他任何一种统计语言模型。因 此本章将主要介绍基于词的汉语N-gram 模型来计算手写汉字识别后处理中的候 选语句的出现概率。 9.5.4 基于词网格的手写体汉字识别的语言学解码方法基于词网格的手写体汉字识别的语言学解码方法基于词网格的手写体汉字识别的语言学解码方法基于词网格的手写体汉字识别的语言学解码方法 当输入一个汉字图像序列 nIIII L21= 时,对于每个汉字图像 iI , SCR 将 生成一个候选汉字集合,记作一个候选矢量 iH , nIIII L21= 的所有的候选汉字 将构成后处理的状态空间,如图9-5所示。由于图9-5中的每个节点代表一个候选 汉字,所以大多数的汉字识别后处理方法很自然地采用了基于字的汉语N-gram 模型计算一个候选语句 njjj n CCCS K21 21 = 的概率。遗憾的是,这些方法没能使 用汉语词典。而对于汉字识别后处理中的语言解码器来说,汉语词典是一种非 常重要的信息资源。直观上,相邻列的候选汉字能否组成一个词有助于正确选 择一个最优的候选语句。由于图9-5中的状态空间不能直接处理词,因此通过增 加词节点来扩展汉字识别后处理的状态空间。对于所有的相邻的汉字节点,如 果它们可以组成一个词,就把它们捆成一个词节点,并把该词节点挂在该词的 尾字所在的列中。相邻列的所有的字词节点均用有向边连接起来,它们就构成 了一个有向图,称之为词网格(如图9-6所示)。 在词网格中,自左向右且首尾相连的字词节点构成若干条路径,本文把每 条 这 样 的路 径 称作 一 个 候 选 语 句 。 对 于 由 词 序 列 构 成 的每 条 候 选 语 句 mwwwS L21= ,本文定义一个候选语句评价函数 )(Sf ,来判别该候选语句的优 劣,其形式如下: ∏∏∏ == − +− = ⋅⋅=⋅= m i wi m i i Nii m i wi ii IwpwwpwpIwpSpSf 12 1 11 1 )/()/()()/()()( (9-14 ) 在公式(9-14 )中, iwI 表示一个对应词 iw 的手写体汉字图像序列,词 iw 则由一个汉字序列组成,记作 11 11 −++ −++ = ltjtjtji lttt CCCw L , 令 )( iwl 为词 iw 的长 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 244 度,它表示词 iw 包含的汉字个数。 )/( iwi Iwp 可以通过下面的经验公式计算出 来: ∏−+ = ⋅⋅= 1 )/()()/( lt tk kkjiwi ICpwlIwp ki α (9-15 ) 在公式(9-15 )中,α 是词节点的加权系数,可以通过大规模训练确定它 的最优值,词 iw 的词长 )( iwl 与概率 )/( iwi Iwp 成正比。手写体汉字识别后处理 的任务是在发现一个具有最大评价值 )(Sf 的语句候选 S 。 汉字图像: 时间: t I 1 I 2 I 3 I 4 w 11 w 12 w 14 w 13 w 15 w 21 w 24 w 25 w 31 w 32 I 5 单字候选: w 22 w 23 w 33 w 34 w 35 w 42 w 45 w 43 w 55 词组候选: 图9-6 词网格示意图 9.5.5 联机手写体汉字识别后处理系统联机手写体汉字识别后处理系统联机手写体汉字识别后处理系统联机手写体汉字识别后处理系统 联机手写体汉字识别系统具有实时性,因此主要采用基于词的汉语Bigram 模型和简单的Cache 自学习机制作为语言解码器的统计知识库,以保证系统的实 时性要求。 联机手写体汉字识别后处理系统的结构如图9-7所示。该系统的核心算法由 三个步骤组成。第一步:词网格生成模块根据候选汉字矩阵生成词网格,构成 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 245 语言解码器的搜索空间。第二步:语言解码器使用Viterbi 搜索算法在词网格搜 索具有最大路径评价值的候选语句,作为语言解码器的识别结果,再经过用户的 联机校正成为正确的句子,输出到Cache 自学习模块。最后Cache 自学习模块根 据用户校正的句子修改相应的Cache 学习库,调整系统逐渐适应用户的习惯。 词网格生 成 候选汉字矢量流 最优语句候选流 系统 词典 Unigram 模型 Bigram 模型 用户 词典 Viterbi 语言解码 Cache 自学习 用 户 修 正 Unigram Cache Bigram Cache 图9-7 联机手写体汉字识别后处理系统结构示意图 1、词网格生成模块 词网格生成模块根据联机手写体汉字识别的前端识别器生成的候选汉字矢 量序列生成词网格。词网格生成模块由两步组成。首先遍历所有的候选汉字生 成全部的字节点,然后遍历所有的字节点,把相邻列的可组词的字节点全部捆 绑成词节点。所有的节点按其结束时刻进行排序,最后生成的词网格构成了语 言解码器的搜索空间。 2、最优候选语句搜索模块 在联机手写体汉字识别后处理中,为了保证系统的实时性,采用Viterbi 搜 索算法求解词网格中的最优路径代表的候选语句。这一阶段,根据候选汉字的 可信度、汉语基于词的Bigram 模型以及Cache 模型提供的Bigram 、Unigram 概率 计算出每个候选语句的评价函数值,以便选择最优的候选语句。 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 246 假设当前候选字词节点中的词为 jw ,那么该节点对应的路径评价值可以记 作: )( jwf ,其递归计算公式如下: ))/(log)/(log)((max)( j ji wjijiSwj Iwpwwpwfwf ++= ∈ (9-16 ) 其中 jS 为当前候选节点的前1列所有的候选字词节点中的词集, iw 为 jS 中 任意一个词。 )/( jwj Iwp 为词 jw 与其对应的文字图像序列之间的相似度,通过 公式(9-15 )计算出来; )/( ij wwp 为二元转移概率。 3、基于 Cache 的自学习模块 Cache 是一种短期记忆机制。它由一组用于学习目的的统计数据组成,数据 来源于用户联机校正的句子,数据存储格式与相应的Unigram 和Bigram 相同。 语言解码器工作时,Cache 中的概率通过加权可以和系统语言模型的概率结合起 来,Cache 的加权系数同系统的学习率成正比。 9.6 本章小结本章小结本章小结本章小结 本章主要讨论应用汉语统计语言模型进行手写体汉字识别的语言学后处理 的方法。本文首先描述了统计语言模型在手写体汉字识别的重要性,然后构造 了手写体汉字识别后处理的数学模型,提出了基于词网格的手写体汉字识别的 语言学解码方法。描述了统计语言模型和系统词典的资源优化问题。最后分别 描述了联机和脱机两种方式的手写体汉字识别后处理系统及其各自的最优语句 候选的搜索算法。 参考文献: [1] 张炘中,汉字识别技术:清华大学出版社,1992 。 [2] 吴佑寿等,汉字识别原理、方法与实现:高等教育出版社,1992 ,7。 [3] 舒文豪,汉字识别研究的现状与展望,计算机世界,11 (8),1987 。 [4] J.Mantas, An Overview of Character Recognition Methodologies, Pattern Recognition, Vol. 19, No. 6, PP. 425-430, 1986. 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 247 [5] V.K. Govindan, Character Recognition-A Review, Pattern Recognition, Vol. 23, No. 7, PP. 671-683, 1990 [6] Charles. C. Tappent, Ching. Y. Suen and Toro. Wakahara, The State of the Art in On-line Handwriting Recognition, IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol. 12, No. 8, PP. 768-808, 1990. [7] J.Lu. , Real Time Chinese Handwriting Recognition Machine. MIT. Cambridge, E.E Thesis, 1996. [8] E.F. Yhap, An On-line Chinese Recognition System, IBM, Journal of Research and Development, Vol. 25, No. 3, PP. 120-124, 1981. [9] R. Oka, Handwritten Chinese, Japanese Character Recognition by Using Cellular Feature, Proc. 6 th Int. Conf. On Pattern Recognition, PP. 783-785, 1982. [10] H. Arakawa. On-line Recognition of Handwritten Characters, Pattern Recognition, Vol. 16, No. 1, PP. 9-16, 1984. [11] K. Yoshida, On-line Handwritten Character Recognition for a Personal Computer System, IEEE. Trans., Vol. 28, No. 3, PP. 202-208, 1982. [12] William Stallings, Approaches to Chinese Character Recognition, Pattern Recognition, Vol. 8, PP. 87-98, 1976. [13] W.T. Chen and T.R. Chou, A Hierarchical Deformation Model for On-line Cursive Script Recognition, Pattern Recognition, Vol.27, No.10, PP. 1365-1373,1994. [14] C.K. Lin, K. Chin and T.P. Lee, On-line Recognition by Deviation-Expansion Model and Dynamic Programming Matching, Pattern Recognition, Vol. 26, No. 2, PP. 259-268, 1995. [15] 刘迎建,戴汝为,识别联机手写体汉字笔划的模糊属性自动机,自动化学报,Vol. 14, No. 2, PP. 87-104, 1988 。 [16] Xia Ying, Sun Chengjiang, Recognizing Restricted Handwritten Chinese Characters by Structure Similarity Method, Pattern Recognition Letters, Vol. 11, PP. 67-73, 1990. [17] T.Zong, K.C. Fan, Coarse Classification of On-line Chinese Characters via Structure Feature-Based Method , Pattern Recognition, Vol. 27, No. 10, PP. 1365-1373, 1994. [18] 陈辉堂,动态规划在手写在线识别的应用,第四届全国模式识别与机器智能学术会议 论文集,204-209 ,1986 。 [19] 王小滨等,一种基于曲线拟和的联机手写汉字笔划的识别方法,全国多媒体与高速信 息网络会议CMIN95 ,1995 。 [20] K.Fukushima , S. Miyake, Necognition: A New Algorithm for Pattern Recognition Tolerant 第第第第 9 章章章章 文字文字文字文字识别技术识别技术识别技术识别技术 248 of Deformation and Shift in Position, Pattern Recognition, Vol. 15, No. 6, PP. 455-469, 1982. [21] K.Fukushima ,A Neural Network for Visual Pattern Recognition, IEEE Trans. On Computer, March, PP. 65-75, 1988. [22] 吴佑寿,徐宁,丁晓青,一种用于神经网络汉字识别系统的自组织聚类方法,电子学 报, No. 5, PP. 1-8,1994. [23] 刘迎建等,基于认知模型和神经元网络的汉字识别方法, 模式识别与人工智能91 年 学术会议论文集,哈尔滨, PP. 222-233, 1991. [24] 周力嘉等,机器学习字符识别系统MLCRS,模式识别与人工智能,PP. 148-153 ,1992 [25] Xu Zhiming, Wang Xiaolong, A New Linguistic Decoding Algorithm for Handwritten Chinese Character Recognition. Journal of Computer Science and Technology. 15(6): 597-603, 2000. [26] Pak-Kwong Wong and Chorkin Chan. Online Handwritten Chinese Character Recognition as a Compound Bayes Decision Problem. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(9): 1016-1022, 1998.
还剩254页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

ohyah

贡献于2012-03-14

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf