最早的中文分词办法是由北京航天航空大学的梁南元教授提出的一种基于“查字典”的分词办法。该方法是把整个句子读一遍,然后把字典里有的词都单独标示出来,当遇到复合词的时候(例如北京大学),就找到最长的词匹配。遇到不认识的字符串就分割成单个文字。
例如:“著名导演张艺谋说国庆节晚上将安排十万人到天安门联欢。”
根据该办法,可以切分为:
“著名 | 导演 | 张艺谋 | 说 | 国庆节 | 晚上 | 将 | 安排 | 十万人 | 到 | 天安门 | 联欢”
这样的分词办法虽然说可以应付很多的句子,但是由于细分的太多,在真正搜索引擎使用的过程中,到底哪一个词才是重点就无法表述,从而搜索引擎搜索出的结果也不能达到最大的相关度。
在80年代,哈尔滨工业大学计算机博士生导师王晓龙博士提出了“最少词数”的分词理论,即为,一句话应该是分词最少的字符串,这样会更多的让搜索引擎更明白这句话到底是什么意思。但是它对于例如“二义性”的关键词组,就不能说最长的分割就是最好的结果。
例如:“吉利大学城书店”
这个关键词正确的分词应该是“吉利 | 大学城 | 书店”而不是词典中的“吉利大学 | 城 | 书店 ”
目前,主流的分词办法有两种,一种是基于统计模型的文字处理,另外一种是基于字符串匹配的逆向最大匹配法。
基于统计模型的文字处理
从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。
基于字符串匹配的逆向最大匹配法
一般来说,在SEO中使用最多的分词办法就是基于字符串匹配的逆向最大匹配法。这种方法就是从句子的后面往前(从右向左)进行分词。
在搜索引擎运行的机制中,有很多种中文分词的办法,例如正向最大匹配分词、逆向最大分析、基于统计的分词等。但是在实际的搜索引擎运行过程中,分词的办法却没有这么简单了。因为搜索引擎不仅仅要去考虑到分词结果的正确性,还需要考虑到对于分不出来的词的处理。
首先我们来讨论分词结果的准确度,一般来说,搜索引擎是使用多种分词的方式构成一个混合分词方式来进行分词的,因为这样可以让词汇最大化的、更准确的分开。混合分词的原理是:先使用专业词典进行分词,之后再使用普通词库进行一次分词。
那么对于分不出来的词,搜索引擎又是如何操作的呢?
一般来说,搜索引擎遇到这样的关键词时,会采取一元分词+二元分词+混合分词+不分词的方式来解决这样的问题。
例如:“草泥马是一种食草动物”
一元分词结果:“草/泥/马/是/一种/食草/动物/”或者“草/泥/马/是/一种/食草动物/”或者“草/泥/马/是/一种/食/草/动物/”
二元分词结果:“草泥/泥马/是/一种/食草/动物”。
第三种方式——干脆不分,以保持新词的完整性。
在经过了这一系列的分词程序后,实际分词的结果是:草泥/泥马/草泥马/是/一种/食草/食/草/动物/食草动物
掌握了中文分词技术,就可以为网页构建更多的长尾关键词。