由于要做微博短文本情感分析方向的毕设,而中文分词是NLP方面的基础,也是核心,从一定程度上决定了NLP的水平。现在就近期所学的中文分词做个基本介绍。
当下的中文分词,主要有3种方式,一是基于字符串匹配的机械分词,二是基于句意理解的理解性分词,三是基于统计模型的统计分词。但纵观各分词器的实际做法,是要将其中的两种或三种相结合才能达到相对理想的结果。只运用其中一种的分词的话,所成的分词器是肯定不理想的,但这三者之中第一种机械分词方法,基本上是分词当中都要采用的分词方式,它是传统的也是当下新的分词方法的基础。
下边就近期做的两个基于二分查找和双数组实现的trie树的纯机械分词做简要介绍,如果有同志对这两种机械分词感兴趣的话,可以上我已经开源到github中直接下载并导入myeclipse中自己试着学习和开发,地址为:https://github.com/erliang20088 ,现有2个分词项目,另一个是针对二分分词做的一个标红组件,这三个部分都可以直接使用或是打成jar后当组件使用。
trie,全拼为retrieve,即检索的意思,trie树即retrieve树的意思,它是对检索特别高效的一种树的变形,像哈夫曼树也是树的一种变形应用。它的检索效率高,一般都要结合确定型有限状态自动机(DFA,Determinstic Finite Automatic) ,即随着在树中找到的节点的状态的转移来确定是不是找到了一个词,一般要定义几中状态来标志树中某些关联节点的状态转移,如词前缀、已成词、词的中间状态(即是一个词的结尾,是另外一个词的中间,如中国、中国人,