logo资料库

论文研究-基于依存句法分析的中文文本相似度计算研究 .pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
5 10 15 20 25 30 35 中国科技论文在线 http://www.paper.edu.cn 基于依存句法分析的中文文本相似度计算 研究 赵白玉,彭黎* (湖南大学信息科学与工程学院,长沙 410082) 摘要:中文文本相似度的计算在中文信息处理中起着极为重要的作用,在很多领域都有着广 泛的应用前景。本文在改进了基于语义依存的汉语句子相似度计算方法的基础上,将相似度 计算从句子级扩展到文本范围,提出了一种新的文本相似度的计算方法。初步实验表明,该 方法有一定的可操作性和实用性。 关键词:中文信息处理;文本相似度;句子相似度;依存句法分析 中图分类号:TP311.5 Chinese Text Similarity Algorithm Research Based on Dependency Parsing ZHAO Baiyu, PENG Li (College of Information Science and Engineering, Hunan University, Hunan Changsha 410082) Abstract: Chinese text similarity computation plays an extremely important role in the Chinese information processing. And it also has a broad application prospects in many fields. Aiming at the Chinese sentence similarity computing algorithm based on semantic dependency parsing, an improved algorithm is put forward. We expand the scope of the research from the sentence-level to the text-level, and finally propose a new text similarity computing algorithm. Preliminary experiments have shown a certain degree of operability and usefulness of this algorithm. Key words: Chinese information processing; text similarity; sentence similarity; dependency parsing 0 引言 文本是一个很宽泛的概念,它可能只是一个单句,例如谚语、格言、招牌等,但更为常 见的是由一系列句子组成的一个段落、一篇文章甚至是多个文本的集合。为了更为方便的进 行文本相似度计算的研究,本文中的文本特指一个句子或几个句子组成的一个不长的段落。 文本相似度计算是中文信息处理领域的关键问题之一,在信息检索、机器翻译、自动问 答系统、文本挖掘中有着广泛的应用。目前国内外的很多学者都在进行文本相似度的计算研 究。概括地说,文本相似度的计算方法主要分为两类,分别是基于统计学的相似度计算方法 和基于语义理解的相似度计算方法。基于统计学的相似度计算方法中,被提出且得到广泛应 用的文档相似度模型主要有向量空间模型[1][2]、隐性语义索引模型[3],陆续提出的方法还有 基于属性论的方法[4]、基于汉明距离的计算方法[5]等,但总的来说,基于统计学的相似度计 算方法都是在对语料库统计的基础上结合其他知识方法建立而成,它们需要大规模语料库的 支持以及长时间的训练过程,因而具有一定的局限性。 基于语义理解的相似度计算方法克服了统计学方法的缺点,还试图模仿人类理解文本的 作者简介:赵白玉(1987-),男,硕士,主要研究方向为软件工程 通信联系人:彭黎(1963-),女,博士研究生,湖南大学信息科学与工程学院副教授,主要研究方向为软件工 程,数据挖掘。E-mail: Rj_lpeng@hnu.cn - 1 -
中国科技论文在线 http://www.paper.edu.cn 40 45 模式而能更准确地刻画出文本间的相似属性。根据处理单元的不同,基于语义理解的文本相 似度计算方法可以分为词语级和句子级两种。词语级的研究都是以语义词典作为语义支持, 这些词典包括《知网》、《现代汉语词典》、《同义词林》等,通常都是通过计算语义距离 求解相似度[6];句子级的研究则是结合语法结构分析,即句子的依存句法分析来获得两个对 象间的相似情况,其中以哈工大社会计算与信息检索研究中心的研究最为突出,他们提出了 基于语义依存的汉语句子相似度计算方法[7]。尽管这种计算方法正确率高,但计算过程较为 复杂,实用性不强。本文的相似度计算,是在对句子进行依存句法分析提取句子主干的基础 上进行的。 1 基于依存句法分析的文本相似度计算 1.1 改进的基于依存句法分析的句子相似度计算方法 1.1.1 语句的依存句法分析 50 句子依存句法分析[8]的目标是将句子由一个词组成的线性序列转化为一棵结构化的依 存分析树,这棵树的基本组成单位是二元依存关系,这种关系是在两个词之间形成的,组成 二元依存关系的两个词中有一个为支配词,通过依存弧来决定这种有向性。这种分析方法的 优势在于有效地识别出了句子的语法结构,对语言的处理不再局限于表层的匹配,而是深入 55 语言的内部结构。在此,我们采用哈工大社会计算与信息检索研究中心提供的依存句法分析 器对语句进行依存分析,该分析器的准确率目前能达到 86%以上。如“传统的课堂教学模式 有其明显的优势。”一句的依存句法分析结果如图所示: 60 65 图一 依存关系 其中,语句上方带有箭头的线条即为决定二元依存关系有向性的依存弧,语句下方显示的即 词的词性标注信息。我们将分析结果转化为更为直观可视的依存树结构,如下图所示: 图二 依存树结构 在建立类似的依存树结构后,就可以有效利用这些信息来计算句子间的相似度了。 - 2 -
中国科技论文在线 1.1.2 语句相似度计算 70 考虑以下两个句子之间的比较: 句子 1:事发后,伤员被及时送往就近医院救治。 句子 2:晚上 7 时左右,所有伤员被送到了医院。 http://www.paper.edu.cn 75 80 85 图三 句子 1 的依存句法分析结果 图四 句子 2 的依存句法分析结果 依据相关文献[9]中关于依存关系标记集(The tagset dependency relations)的说明,24 个语 法标记的含义如下表所示: 表一 依存关系标记集 关系 定中关系 数量关系 并列关系 同位关系 前附加关系 后附加关系 比拟关系 语态结构 独立结构 动补结构 介补关系 核心 符号 ATT QUN COO APP LAD RAD SIM MT IS CMP POB HED 关系 “的”字结构 “地”字结构 “得”字结构 “把”字结构 “被”字结构 状中结构 动宾关系 主谓关系 连动结构 关联结构 独立分句 依存分句 符号 DE DI DEI BA BEI ADV VOB SBV VV CNJ IC DC 结合汉语句子的表达特点:一个句子中,有些词属于主要的词,对句子意思的表达起主 要作用,在句子中不可或缺;有些词属于次要的词,在句子中起修饰作用,去掉也不影响语 义的表达。因此,我们只要抽取句子中这些起主要作用的词,整理成句子的主干,即代表了 句子的核心意思。可以看出,句子 1 中“伤员”、“送往”、“医院”、“救治”代表了该句的核心 含义,且“送往”一词在该句中起支配作用,为中心词;句子 2 中“伤员”、“送到”、“医院”为 该句要表达的中心意思,且“送到”一词为中心词。这些关键性的词语构成了整个句子的主干, 代表了整句的核心含义。引入相似度的计算公式如下: Sen Sen ,1 veWord Sen ( ,1 SimSentenc e SameWord MaxEffecti )2 Sen )2 ( Sen ,1 Sen )2 = ( 函数 SameWord()的功能是统计两个句子中相同词语的数量,MaxEffectiveWord()则计算两个 - 3 -
中国科技论文在线 http://www.paper.edu.cn 90 句子中最大有效词语数。由公式计算句子 1 和句子 2 的相似度 SimSentence(Sen1,Sen2) = 2 4 = 0.5。 依据前文的说明,本文中的文本特指一个句子或几个句子组成的一个不长的段落。文本 是由句子构成的,则文本相似度的计算即可以通过计算句子的相似度来得到。 1.2 文本相似度计算 95 设存在这样的两个文本 Ta、Tb,要计算它们的相似度 SimText(Ta, Tb),根据本文关于 文本规格的定义,文本 Ta 和 Tb 都有可能是由一条或多条语句组成的段落。基于这种思想, 我们将文本 Ta 和 Tb 相似度的计算分成了如下的三类情况: (1)、文本 Ta、Tb 都仅包含一条语句。 针对此种情况,文本 Ta、Tb 的相似度等同于两个句子相似度计算的值,即有公式 100 SimText(Ta, Tb) = SimSentenc e ( Sen ,1 Sen )2 = SameWord ( Sen Sen ,1 veWord Sen ,1 ( )2 Sen )2 成立。 MaxEffecti (2)、文本 Ta、Tb 中仅 Ta 或 Tb 包含一条语句。 为了便于理解,不妨假设文本 Ta 仅含有一条语句,而文本 Tb 是由句子集合 Tb = {Sb1, Sb2,…,Sbn}共 n 条语句组成。此时,文本 Ta、Tb 的相似度计算等同于文本 Tb 中与文本 Ta 仅有的那条语句最为相似的语句相似度的值。文本相似度计算公式如下: SimText(Ta, Tb) = Max(SimSentence(Sa, Sbi)) i∈[1, n] (3)、文本 Ta、Tb 都含有多条语句。 要计算此种情况下的文本 Ta 和 Tb 的相似度,我们首先将文本 Ta、Tb 分别表示成句子 的集合 Ta = {Sa1, Sa2, …, Sam},Tb = {Sb1, Sb2, …, Sbn},其中文本 Ta 包含 m 条语句,文本 Tb 包含 n 条语句。为了计算文本 Ta 和 Tb 的相似度,我们需要对组成 Ta、Tb 两个文本的所有 句子进行两两比较,为此组建如下的相似度矩阵 Mm n× 用于计算文本相似度: SSe ( , bn a 1 S Se , ( 2 SSe ) ( , b a 1 1 S Se , ( ) b 1 2 SSe ( , b a 1 S Se ( , 2 ) ) bn a 2 ) ) 2 a b a SimSentenc SimSentenc ... SimSentenc SimSentenc SimSentenc ... SimSentenc ... ... ... ... SimSentenc SimSentenc ... SimSentenc , S bn ) am Se ( 105 110 115 Se ( , S ) b 1 am Se ( , S b 2 ) am 此种情况下的文本相似度计算可以遵从如下的顺序:首先系统读入文本 Ta 的第一条语 句,使之与文本 Tb 的每一条语句都进行相似度计算,结果取此轮相似度计算中最大的相似 度值;然后读入文本 Ta 的第二条语句与文本 Tb 的每一条语句进行相似度计算,采用第一 轮的步骤类推下去,最终得到一个每轮最大相似度值的一个均值,这个值即为文本相似度的 最终取值。以公式的形式表示即: SimText Ta ( , Tb ) Max ( m ∑ i == 1 SimSentenc SSe , ( bj ai m )) j∈[1,n] 120 这样的计算一方面保证了相似度的值符合处在区间[0,1]之间的约定,另一方面也保证了 组成这两个文本的所有句子都参与到了运算当中,因此有理由相信这样的计算是非常合理的 运算。 - 4 -
中国科技论文在线 2 实现及结果分析 2.1 程序流程说明 系统实现的主要流程如图五所示。 http://www.paper.edu.cn 开始 输入待比较的文本Ta、Tb 句法分析器 生成中间的XML文件 计算文本两两句子相似度 是 存在未参与相似度运算的句子? 否 输出相似度结果 125 130 结束 图五 系统总的流程图 2.2 系统开发环境说明 Windows XP 系统下,开发语言采用 C++,开发工具是 Microsoft Visual Studio 2008。 2.3 实例测试 存在两个文本 Ta“计算机硬件是构成机器的电子、光电、电磁、机械等物理设备。软件 是计算机中使用的各种各样的程序及其说明文档。”、Tb“计算机硬件就是计算机的物理设备。 计算机软件就是程序和文档。”为了计算这两个文本的相似度,系统经句法分析后生成的 XML 文件内容如下: - 5 -
中国科技论文在线 http://www.paper.edu.cn 135 140 145 150 155 160 165 170 175 - 6 -
中国科技论文在线 http://www.paper.edu.cn 通过分析此 XML 文件可以清晰地看出了这两个文本的组成结构,且“relate”一项说明了 所在行的词在句子中所充当的成分,依据本文第 2 节所提出的文本相似度算法,从文本 Ta 中提取出的句子主干有:“硬件 是 设备。软件 是 程序 及其 说明文档。”,文本 Tb 的主 干“硬件 是 设备。软件 是 程序 和 文档。”由本文第二节介绍的文本相似度计算公式 180 185 190 195 200 SimText(Ta, Tb) = 31+ 5 2 = 0.8,这样的结果与人工评测的结果较为相近。 类似的测试证明了本文所提出的文本相似度算法是较为实用的。 3 结束语 205 本文确定了参与文本相似度计算的文本规格,创新之处在于改进了应用中较为复杂的基 于依存句法分析的中文句子相似度计算方法——通过提取句子的主干来计算得到句子相似 度,并在此基础上提出了一种新的文本相似度计算方法,从实验结果来看,具有一定的可操 作性和实用价值。 本算法存在的一些问题:(1)、计算效率不高。(2)、应用范围有限。中文语言表达复杂 多变,同一个意思可以有多种表达方法,如语句“西红柿味道不错。”“番茄很好吃。”如应用 本文介绍的相似度计算方法,相似度的计算结果为 0,但实际上,这两句话的含义基本类似。 这些问题都是需要做进一步研究的。 210 - 7 -
中国科技论文在线 http://www.paper.edu.cn 215 [参考文献] (References) 220 225 [1] Gerard Salton and MJ McGill. Introduction to Modern Information Retrieval[M]. New York: McGraw-Hill, 1983. [2] Gerard Salton and Christopher Buckley. Term-Weighting Approaches in Automatic Text Retrieval[J]. Information Processing & Management,1988,24(5): 513-523. [3] Chris Ding, Chris H.Q.Ding, Xiaofeng He, Hongyuan Zha, Ming Gu, Horst Simon. A Min-max Cut Algorithm for Graph partitioning and Data Clustering[R]. IEEE, 2001. [4] 潘谦红,王炬,史忠植. 基于属性论的文本相似度计算[J]. 计算机学报, 1999, 22(6): 651-655. [5] 张焕炯,王国胜,钟义信. 基于汉明距离的文本相似度计算[J].计算机工程与应用, 2001,37(19): 21-22. [6] 金博,史彦军,滕弘飞. 基于语义理解的文本相似度算法[J]. 大连理工大学学报, 2005,45(2): 291-297. [7] 李彬,刘挺,秦兵,李生. 基于语义依存的汉语句子相似度计算[J]. 计算机应用研究, 2003,(12):15-17. [8] 刘海涛. 依存语法和机器翻译[J]. 语言文字应用, 1997,3:89-93. [9] 马金山. 基于统计方法的汉语依存句法分析研究[D]. 哈尔滨:哈尔滨工业大学,2007:2-30. - 8 -
分享到:
收藏