文本分词方法

废话不多说,我就直接上干货吧,从过去到现在所知道的分词方法有以下几种:
1、mmseg4j

2、词频分组(有序文本足够)

3、jieba分词

下面细说一下几种分词方法,
第一种,mmseg4j,我使用这种方法是以R来分词的,所以就用R来说这个包,R中这个包的名字叫“rmmseg4j”,详情见该帖:[程序分享]R与中文分词,R中的mmseg包,使用方法如下R code,这种方法还有一个java版本的分词,大家有兴趣的可以试试。

     install.packages("rmmseg4j")
     library(rmmseg4j)#加载安装包
     #然后就是直接的分词了
     word = "我爱小猫小狗,你呢?"
     mmseg4j(word)


第二种,词频分组,该方法就讲讲逻辑,不具体贴出code了。这种方法是限制较大,它必须根据词频、字频得来的,所以原始数据必须是文章或者是一堆有关联的关键词,且必须有一定量级才可以使用;
首先,拆分词句成单字,取一批高频单字,找出高频单字所组成的词,从中选出频数最高的词,该词就是分出的高频词根,然后再将该高频词根从原文或者词中去掉,继续递归,最终无法得出词根为止,这批结果就是高频词根了。
该方法限制较多,且可能由于文章或者词库的变动较大,对于拆出的词根会有很大的影响。

第三种,jieba是“结巴”中文分词(Python)的版本,支持最大概率法(Maximum Probability),隐式马尔科夫模型(Hidden Markov Model),索引模型(QuerySegment),混合模型(MixSegment)共四种分词模式。接触它的时候是使用的R版本,后面才开始使用python版本这里我就不想详细具体说怎么使用的问题,我直接贴上地址,大家可以学习,
1、【结巴R分词的Blog】,这个blog是作者写的,所以很详细,里面也有jiebaR的使用方法。
2、【python版本的结巴分词技术详解】,【python结巴分词使用方法】
关于结巴分词,网上有很多相关资料,大家可以自己搜搜。这里只是起个引线作用。

这三种方式,使用后,觉得准确率和效率最好的方法应该是第三种,所以推荐大家使用第三种方式,大家如果有更好的方法也请推荐给我,谢谢。

你可能感兴趣的:(其它技术文章)