APP下载

短中文分词算法优化研究

2017-05-31童小光郭超康洪晶

软件导刊 2017年5期

童小光 郭超 康洪晶

摘要摘要:对中文分词进行研究是自然语言处理的重要步骤,结合字典对短中文进行正逆向分词,在此基础上得到多组分词结果,利用基于统计的方法和基于规则的方法进一步优化算法,根据用户使用频度和网络搜索热度以及词语间的固定搭配规则对多组分词进行排序,并通过实例验证发现该方法具有较好分词效果。

关键词关键词:中文分词;分词算法;使用频度;搜索热度

DOIDOI:10.11907/rjdk.171062

中图分类号:TP312

文献标识码:A文章编号文章编号:16727800(2017)005004202

0引言

自然语言处理中,词是最小的能独立活动的有意义的语言成分。汉语不同于英语,英语有天然的分割符,而汉语需要采用一定的技术或方法将汉语短语、句子分割成最为基本的词。对于搜索引擎、微博情感分析等具体应用,绝大多数的用户输入的中文语句长度短且无自然分割符(标点符号)。本文重点研究短中文分词算法及其优化方法,提出了结合基于词典的分词方法,并利用基于统计的方法和基于规则的方法进一步优化算法,并通过实例验证发现该方法对短中文具有较好的分词效果。

1分詞算法优化思路

短中文具有字数少、无自然分割的特点[1]。针对短中文可以根据一定的分词方法(例如逆向或者正向的分词方法)将短中文分成几组词,即要有不同的分词词组,并在此分词算法基础上,根据用户的搜索习惯和网络上词的热度,结合固定搭配和语法匹配规则,给出一定概率指标的排名。利用排名来确定分词的词组,从而实现分词的优化,使得分词结果更加接近用户需求[2-4]。

该优化方法有3个主要步骤,分别是基于字典的分词方法、基于频度的概率指标计算方法和基于规则的概率指标计算方法。

当用户输入关键词字符串时,会根据分词方法将字符串分成几个组词,这几个组词每一组都有一个分词概率指标P,代表该组分词的匹配概率,也就是该组分词是正确分词的概率。而这个指标P由以下4个因素决定。

首先,对于一个用户而言,其具有固定的搜索习惯,分析其搜索习惯的信息有助于分析该用户的习惯,从而在用户给定的搜索关键词中找到用户所需要信息。将这一因素对P的比重记为P1。

其次,一个词在互联网的热度也表明这个词在大众生活中的一种倾向性。例如,某部电影近期很受关注,那么可以预见在近一段时间内针对它的搜索量会增多。对于单个用户而言,它是大众中的一部分,如果在分词分组中出现一个热度很高的词,那么这个分组很有可能就是需要的。因此,将这个因素对P的比重为P2。

除了频度因素对P的影响外,词的搭配也会对词组产出影响。词与词之间的搭配是固定的,如果分词词组存在这样的搭配,也会增加是该组分词的概率,可以把该因素记为O。词与词之间除了固定搭配,还有语法规则上的搭配,每个词都具有词性如名词、动词、形容词等,这些词与词的组合也会对分词产生影响,该因素记为指标附加值Va。

综上所述,对于某一搜索词的分词概率指标P可以表示为:

P=αP1+βP2+χO+C+Va(1)

其中,C为其它因素,α,β,χ为公式中的系数因子。对于不同组的分词来说,C值是相同的。

2基于短中文特点的分词方法

在本步骤中,需要多种分组方法,所以使用逆向与正向相结合的方式[5]。假设字典已经被建立,要从字符串中取出词,首先采用正向方法,设该字符串有L个字符,第一次,取全部的L个字符,然后在字典中查找匹配,如果存在,则该分组为一个有效的分组。如果不存在,那么去掉最后一个字符,即取前1个到第L-1个字符,然后在字典中继续匹配,如果存在,该词即为所需,并将剩下的一个字作为另一个词。同样,如果不匹配,为了加快匹配的进度,去掉上一步最后的两个字符,即取第1到第(L-1)-2个字符,如果匹配,则该词是需要的,并将剩下的词按此方法继续匹配,如果仍然不匹配,就按((L-1)-2)-3这样来继续减少字符串长度来进行字典匹配,直到把该字符串的第一个词从左到右取出来。至此,取到了从左到右的第一个词。需要再从右向左取第一个词,按照同样的方法,只不过这次是从右到左,找到第一个从右到左的词。结合这两个词,如果这两个词的长度加起来等于字符串长度,那么就是一个分组,如果加起来长度小于字符串长度,那么将这两个词之间的字符串取出来,按上述步骤,再次进行分词,直到将词取出完。

按照正逆序结合分词算法能够得到多个不同的分词组合,优化算法主要通过基于频度和基于规则对分词组合结果进行排序。

3基于频度的分词结果排序算法

频度排序算法有两种:用户使用频度算法和网络热词频度算法。

3.1使用频度

一个用户有着自己固定的习惯、爱好和知识面,所以当一个用户使用搜索功能时,其搜索的内容是有规律的。例如,一个计算机专业的人员,其搜索的内容很大概率与计算机有关;一个注重自己样貌的女孩会十分关心化妆品;一名动漫爱好者会搜索与动漫相关的东西。基于此,可以搜集用户的一些搜索信息,判断该用户有哪些习惯,从而提升用户的搜索体验。

前面提到过,在第一步分词后,会得到几种不同的分词组,如果分词组与用户搜索信息具有很强的相关性,那么可以认为该分组是需要的。

用户搜索信息就是用户在搜索时输入关键词,可以在用户输入完毕时,将关键词存入数据库,数据库中还会存有该用户搜索该关键词的频度。如果不是第一次输入该关键词,就更新其频度项。

(1)公式引出。如果一个用户的某一个搜索关键词频度越高,而同时在分词的某一词组中也同样存在该词,那么就表示该词组可能是用户需要的。

采用与频度有关的函数来表示这个可能性概率[6]。首先,用户关键词频度的绝对值越高,那么其越有可能代表用户的某一搜索习惯,所以该分组的可能性越高。其次,当用户的搜索次数比较多时,不能单纯使用关键词的绝对值作为标准,用户关键词频度的相对值(该关键词的频度除以总频度)也会影响用户频度概率指标。

将用户频度概率指标定义为P1;

用户关键词频度绝对值定义为N;用户关键词总频度定义为S;

用户关键词绝对频度的影响因子定义为a;

用户关键词相对频度的影响因子定义为b;

其它因素定义为C1。

故用户频度概率指标P1可以表示为:

P1=a*N+b*NS+C1(2)

(2)参数确定方法。在该公式中,N,S可以从数据库中查询,a、b、C为未知量,所以需要用数据来训练这个公式,得出a、b、C。该数据训练的核心就是采用十分具有代表性的数据代入公式中,然后依据这些已知数据推导出需要的参数。

3.2搜索热度

对一个词,如果互联网上其搜索的次数很高,那么它是一个热门词。热门词代表着大众的搜索习惯,而其搜索的频度越高,说明其在人群中的认同度和倾向性越高。同样,用户属于大众的一员,其搜索的内容会有一定概率包含搜索关键词。所以,可以利用此来提高分词的准确性。这种概率可以称为网络热词频度概率指标,该指标计算需要由网络热词字典和指标匹配标准这两部分支持。

(1)网络热词字典建立。网络热词字典,是一个包含词的网络使用频度的字典,其中包含大量的词。该字典,可以看作是在大数据条件下的信息检索。国内的大数据发展迅速,“百度”在其“百度风云榜”、“百度指数”等服务上提供了网络关键词大数据分析,十分便利,利用这些服务,可以将网络热词字典建立起来。

(2)匹配标准。热词网络搜索频度越高,该词所在的分词词组匹配概率越大,定义网络热词频度指标为P2 ,热词的频度为T,热词频度的因子为x,其它因素影响为C2,则网络热词频度指标为P2,可用下式表示:

P2=x*T+C2(3)

4基于规则的分词结果排序算法

经过上述频度概率指标算法,得到分词词组的概率排序名次。但是,在利用其概率指标函数计算出来的结果相差不大的情况下,仍不能准确判断出采取哪种方案[7]。为了加强其准确度,还应在规则层面再次进行检验。

4.1固定匹配

固定搭配是具有固定结构的词组。比如“发扬——精神”、“养成——习惯”等等。这些搭配出现在分词词组中,具有该固定搭配的分组的概率指标也会增大,而且,该固定搭配受其热度影响。对于一个固定搭配而言,其热度(网络使用的频度)越高,那么它被大众认同的程度越高,这也就表明该固定搭配的成熟度越高。所以,固定搭配与其热度(即大众使用频度有关)。

定义固定搭配概率指标为O,其使用频度(热度)为Q,该使用频度的因子为y,其它因素为C3 。则固定搭配概率指标为O可以表示為:

O=y*Q+C3(4)

4.2语法匹配

词与词之间是有规则的,动词与形容词在一起构成的短语语法规则弱,与形容词和名词构成的词组相比,后者明显在语法规则上比前者好。语法规则在一定条件下,对于分辨出分词词组很有帮助。

在这里,可以为每种词与词之间的搭配依据其规则匹配度赋予一定的值,规则匹配度越高,其语法规则越强,形成的分组可能性越高[8]。在这里,以附加值的形式来描述语法规则对P的影响。

定义语法匹配附加值为Va。Va的值是由词与词之间的规则匹配度决定的,而词与词之间规则匹配度可以根据汉语语法和汉语使用习惯决定。

5结语

针对网络短中文提出了分词的优化算法,该方法有3个步骤:字符串分词、频度概率指标计算和规则匹配指标计算。其中,分词概率指标贯穿整个研究的全部。利用数据进行拟合,定量提出了分词概率指标的计算公式及求解方法。最后,利用数据集来对该算法公式进行检测,发现该算法的正确率在80%以上,达到了实用的目的,但是由于语法匹配附加值取值不当,导致分组仍有提升空间。

参考文献参考文献:

[1]王连喜.微博短文本预处理及学习研究综述[J].图书情报工作,2013,57(11):125131.

[2]蒋红.中文文本分类中文本表示及分类算法研究[D].金华:浙江师范大学,2007.

[3]朱世猛.中文分词算法的研巧与实现[D].成都:电子科技大学,2011.

[4]宗成庆.统计自然语言处理[M].北京:清华大学出版社,2008.

[5]周程远,朱敏,杨云,基于词典的中文分词算法研究[J].计算机与数字工程,2009(3):6871,87

[6]叶继平,张桂珠,中文分词词典结构的研究与改进[J].计算机工程与应用,2012(23):139142.

[7]李家福,张亚非,一种基于概率模型的分词系统[J].系统仿真学报,2002,14(5):544550.

[8]莫建文,郑阳,首照宇,等,改进的基于词典的中文分词方法[J].计算机工程与设计,2013,34(5):18021807

责任编辑(责任编辑:陈福时)