信息检索论文

2020-03-02 15:11:59 来源:范文大全收藏下载本文

论搜索引擎中文自动分词技术

【摘要】

搜索引擎是应用在web上的软件系统,它以一定的策略搜集和发现信息,再对信息进行处理和组织后为用户提供web信息查询服务。搜索引擎分三个大模块:网页搜集,预处理和查询服务。其中对搜索信息的预处理阶段的关键技术是中文分词和建立倒排文件,本文主要论述搜索引擎工作过程中的中文自动分词技术。

【关键字】:搜索引擎, 中文分词, 分词方法 ,分词难题 【正文】

信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度等大型搜索引擎一直是人们讨论的话题。目前在中文搜索引擎领域,国内的搜索引擎已经和国外的搜索引擎效果上相差不远。之所以能形成这样的局面,有一个重要的原因就在于中文和英文两种语言自身的书写方式不同,这其中对于计算机涉及的技术就是中文分词。

一、为什么要进行分词?

汉语是世界上最古老和最丰富的语言之一,但是汉语语法才有将近一百年的历史,而且现代汉语白话文的形成历史也比较短,加上汉语自身的特点,因此它的形式化研究更加困难。对英文而言,是以词为单位,词与词之间有空格隔开,而中文是以字为单位,多个字连在一起才能构成一个表达具体含义的词,词与词之间没有分割,因此,对于支持自然语言检索的工具,从语句中划分出具有独立意义的词的过程即进行中文分词必不可少。

二、什么是中文分词?

中文分词技术就是搜索引擎针对用户提交查询的关键串进行的查询处理后,根据用户的关键词串用各种匹配方法进行的一种技术。中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。我是一个学生,分词的结果是:我 是 一个 学生。

三、中文分词与搜索引擎

分词技术使用在搜索引擎网页预处理阶段。搜索引擎网页预处理第一步是为原始网页建立索引,形成索引网页库;第二步是对网页进行切分,也就是分词,将每一篇网页转化为一组次的集合;最后将网页索引词的映射转化为索引词到网页的映射,形成倒排文件。

中文分词到底对搜索引擎有多大影响?对于搜索引擎来说,最重要的并不是找到所有结果,因为在上百亿的网页中找到所有结果没有太多的意义,没有人能看得完,最重要的是把最相关的结果排在最前面,这也称为相关度排序。中文分词的准确与否,常常直接影响到对搜索结果的相关度排序。而且中文分词的准确度,对搜索引擎结果相关性和准确性有相当大的关系。

四、中文分词技术的分类

我们讨论的分词算法可分为三大类:基于字典、词库匹配的分词方法;基于词频度统计的分词方法和基于知识理解的分词方法。 (一) 基于字典、词库匹配的分词方法

这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。

常用的几种机械分词方法如下:

(1)最大正向匹配法 (MaximumMatching Method)通常简称为MM法

其基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理…… 如此进行下去,直到匹配成功,即切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字字串进行匹配处理,直到文档被扫描完为止。

(2)逆向最大匹配法 (Recerse MaximumMatching Method))通常简称为RMM法

RMM法的基本原理与MM法相同 ,不同的是分词切分的方向与MM法相反,而且使用的分词辞典也不同。逆向最大匹配法从被处理文档的末端开始匹配扫描,每次取最末端的2i个字符(i字字串)作为匹配字段,若匹配失败,则去掉匹配字段最前面的一个字,继续匹配。相应地,它使用的分词词典是逆序词典,其中的每个词条都将按逆序方式存放。在实际处理时,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆序文档用正向最大匹配法处理即可。

由于汉语中偏正结构较多,若从后向前匹配,可以适当提高精确度。所以,逆向最大匹配法比正向最大匹配法的误差要小。统计结果表明 ,单纯使用正向最大匹配的错误率为 1/16 9,单纯使用逆向最大匹配的错误率为 1/245。例如切分字段“硕士研究生产”,正向最大匹配法的结果会是“硕士研究生 / 产”,而逆向最大匹配法利用逆向扫描,可得到正确的分词结果“硕士 / 研究 / 生产”。

(3)最少切分法:使每一句中切出的词数最小。 还可以将上述各种方法相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。但这种精度还远远不能满足实际的需要。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。

一种方法是改进扫描方式,称为特征扫描或标志切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率。

(二) 全切分和基于词的频度统计的分词方法

基于词的频度统计的分词方法是一种全切分方法。在讨论这个方法之前我们先要明白有关全切分的相关内容。 (1)全切分

全切分要求获得输入序列的所有可接受的切分形式,而部分切分只取得一种或几种可接受的切分形式,由于部分切分忽略了可能的其他切分形式,所以建立在部分切分基础上的分词方法不管采取何种歧义纠正策略,都可能会遗漏正确的切分,造成分词错误或失败。而建立在全切分基础上的分词方法,由于全切分取得了所有可能的切分形式,因而从根本上避免了可能切分形式的遗漏,克服了部分切分方法的缺陷。

全切分算法能取得所有可能的切分形式,它的句子覆盖率和分词覆盖率均为100%,但全切分分词并没有在文本处理中广泛地采用。 (2)基于词的频度统计的分词方法:

这是一种全切分方法。它不依靠词典,而是将文章中任意两个字同时出现的频率进行统计,次数越高的就可能是一个词。它首先切分出与词表匹配的所有可能的词,运用统计语言模型和决策算法决定最优的切分结果。它的优点在于可以发现所有的切分歧义并且容易将新词提取出来。

(三)基于知识理解的分词方法

该方法主要基于句法、语法分析,并结合语义分析,通过对上下文内容所提供信息的分析对词进行定界,它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断。这类方法试图让机器具有人类的理解能力,需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式。因此目前基于知识的分词系统还处在试验阶段。

(四)一种新的分词方法

并行分词方法:这种分词方法借助于一个含有分词词库的管道进行 ,比较匹配过程是分步进行的 ,每一步可以对进入管道中的词同时与词库中相应的词进行比较 ,由于同时有多个词进行比较匹配 ,因而分词速度可以大幅度提高。这种方法涉及到多级内码理论和管道的词典数据结构。

到底哪种分词算法的准确度更高,目前并无定论。对于任何一个成熟的分词系统来说,不可能单独依靠某一种算法来实现,都需要综合不同的算法。笔者了解,海量科技的分词算法就采用“复方分词法”,所谓复方,相当于用中药中的复方概念,即用不同的药才综合起来去医治疾病,同样,对于中文词的识别,需要多种算法来处理不同的问题。

五、分词中的难题

有了成熟的分词算法,是否就能容易的解决中文分词的问题呢?事实远非如此。中文是一种十分复杂的语言,让计算机理解中文语言更是困难。在中文分词过程中,有两大难题一直没有完全突破。

(一)切分歧义

就人对汉语的理解而言,汉语的分词是一个理解的过程,这个过程综合了词法、语法、语义等各种信息。因此,一个理想的分词系统也应综合运用这些信息,而在计算机处理中这些信息的提取又是以分词为前提的。所以,分词与这些信息的运用是既相联系又相制约的一种相辅相成的关系,而纯粹的机械切分必然会带来切分歧义。

歧义是指同样的一句话,可能有两种或者更多的切分方法。例如:学历史知识,因为“学历”和“历史”都是词,那么这个短语就可以分成“学历”和“历史”。这种称为交叉歧义。像这种交叉歧义十分常见由于没有人的知识去理解,计算机很难知道到底哪个方案正确。

交叉歧义相对组合歧义来说是还算比较容易处理,组合歧义就必需根据整个句子来判断了。例如,在句子“这个门把手坏了”中,“把手”是个词,但在句子“请把手拿开”中,“把手”就不是一个词;在句子“将军任命了一名中将”中,“中将”是个词,但在句子“产量三年中将增长两倍”中,“中将”就不再是词。这些词计算机又如何去识别? 如果交叉歧义和组合歧义计算机都能解决的话,在歧义中还有一个难题,是真歧义。真歧义意思是给出一句话,由人去判断也不知道哪个应该是词,哪个应该不是词。例如:“乒乓球拍卖完了”,可以切分成“乒乓 球拍 卖 完 了”、也可切分成“乒乓球 拍卖 完 了”,如果没有上下文其他的句子,恐怕谁也不知道“拍卖”在这里算不算一个词。

(二)新词

专业术语称为未登录词。也就是那些在字典中都没有收录过,但又确实能称为词的那些词。最典型的是人名,人可以很容易理解句子“张三虎是山东人”中,“张三虎”是个词,因为是一个人的名字,但要是让计算机去识别就困难了。如果把“张三虎”做为一个词收录到字典中去,全世界有那么多名字,而且每时每刻都有新增的人名,收录这些人名本身就是一项巨大的工程。即使这项工作可以完成,还是会存在问题,例如:在句子“张三虎头虎脑的”中,“张三虎”还能不能算词?

新词中除了人名以外,还有机构名、地名、产品名、商标名、简称、省略语等,还有目前网络流行语词,如“有没有”、“伤不起”“神马浮云”、“童鞋们”、“萝莉”等等都是很难处理的问题,而且这些又正好是人们经常使用的词,因此对于搜索引擎来说,分词系统中的新词识别十分重要。目前新词识别准确率已经成为评价一个分词系统好坏的重要标志之一。

判断一个系统的中文分词功能好坏,主要在于消歧功能和对未登录词识别功能。并且优秀的分词策略应该是尽量不拆分,需要拆分时,先把长的拆成中的,如果结果还是少,再把中的拆成短的。

【参考文献】

【1】 吴胜远;并行分词方法的研究--《计算机研究与发展》1997年07期

【2】 张旭;一个基于词典与统计的中文分词算法[D];电子科技大学;2007年

【3】 梁斌; 走进搜索引擎 电子工业出版社 2007年1月

【4】 (美)克罗夫特; 搜索引擎:信息检索实践 机械工业出版社

2010年

信息检索论文

信息检索论文

信息检索论文

信息检索论文

信息检索论文

信息检索论文

信息检索论文

信息检索论文

信息检索论文

信息检索论文

《信息检索论文.doc》
信息检索论文
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文