一种快速的未登陆词识别方法(原理和实现)
一种快速的未登陆词识别方法(原理和实现)
最近网络上关于分词的算法已经很多了,在实际应用中每个人根据对分词的不同理解写了不同的中文分词算法,可谓百花齐放.
但现在似乎还没有针对未登陆词的识别算法,有鉴于此,我特地写了一个,抛砖引玉.
算法的假设:
1. 未登陆词是由单字组成的;
2. 如果一个字同时属于2个未登陆词,那么只选择第一被识别的词;
测试文章:
最近电视剧大长今很火,我就选取了介绍大长今的文章,
地址:http://www.360doc.com/showWeb/0/0/18183.aspx
识别结果如下:
PDH : initialize phrase dictionary
QuerySpliter reInitialize dictionary.
长今,职场,闵政浩,韩剧,郑云白,连生,主簿,冷庙高香,义字,医女,张德,剩者,济州,选拨,文秘
算法原理:
首先找出已经分词后的单字,然后查看单字的下一个是否还是单字,如果是,判断这种情况出现的次数,如果超过预订的阀值,那么就确认这是一个新词.
下面是一个算法的计算过程展示:
PDH : initialize phrase dictionary
QuerySpliter reInitialize dictionary.
>>>8,9;9,10
长今
>>>237,238;238,239
职场
>>>595,596;596,597;597,598
闵政浩
>>>189,190;190,191
韩剧
>>>1111,1112;1112,1113;1113,1114
郑云白
>>>599,600;600,601
连生
>>>610,611;611,612
主簿
>>>975,976;976,977;977,978;978,979
冷庙高香
>>>1233,1234;1234,1235
义字
>>>559,560;560,561
医女
>>>561,562;562,563
张德
>>>3114,3115;3115,3116
剩者
>>>534,535;535,536
济州
>>>580,581;581,582
选拨
>>>2071,2072;2072,2073
文秘
本算法是在:小叮咚分词的基础上进行的.
欢迎大家一起交流,改进这个算法.
相关连接:
基于最长词匹配算法变形的分词系统( 文舫工作室贡献 )
小叮咚中文分词在处理大量数据的时候碰到了内存泄漏的问题
Lucene使用者沙龙