在采用FMM (正向最大匹配) 进行中文分词的时候, 可能会存在比较多的交集歧义, 这个时候为了解决交集歧义的问题, 可以采用 FM (Forwar Matching, 正向匹配) 进行中文分词, 正向匹配会在最大匹配的路径上查找所有可能成词的term(这里所有可能成词的term的意思是在构建索引的时候所有切分出来的词, 因为不是路径上的所有节点都会是切分成的词)。
http://blo...
分类:
其他好文 时间:
2014-07-12 22:23:26
阅读次数:
383
纯中文和中英文混杂的唯一区别是,分词的时候你如何辨别一个字符是英文字符还是孩子字符,人眼很容易区分,但是对于计算机来说就没那么容易了,只要能辨别出中文字符和英文的字符,分词本身就不是一个难题1:文本的编码问题: utf8:windows下,以utf8格式保存的文本是一个3个字节(以16进制)的BO....
分类:
其他好文 时间:
2014-07-03 23:26:07
阅读次数:
299
运用前面几篇文章中的分词算法,可以把中文中的词语分出来,但是不同算法可能得到的分词结果不一样,到底如何确定那种分词效果最好呢。我们在这篇文章中探讨一种判断分词效果好坏的方法。
在分词的时候,有些单字是不成词的。可以搜索所有分词的可能性,然后对每一种分词结果进行统计,规则如下:每分出一个词就给分词统计结果加一,如果遇到不成词的单字就再给该分词结果加一。得到的结果分别计算出来。选出一个得分最低的就是所要分词的字符串的结果。
下面就用代码实现一下上面的思想。分别用正向最大匹配和逆向...
分类:
其他好文 时间:
2014-05-14 21:04:01
阅读次数:
256
中文分词算法在前两篇文章中介绍了正向最大匹配算法和逆向最大匹配算法
本篇文章主要介绍最少单词数算法。顾名思义,就是最少的单词数。
算法思想是首先查找词典中最长的单词,匹配看是不是所要分词的字符串的子串,如果是则就是分词的词,迭代以上结果,每次都会在字符串中最长的单词分词,就可以得到最少的单词数
不多说了 直接上代码:
package com;
import java.ut...
分类:
其他好文 时间:
2014-05-08 05:05:21
阅读次数:
380
中文分词应用很广泛,网上也有很多开源项目。我在这里主要讲一下中文分词里面算法的简单实现,废话不多说了,现在先上代码
package com;
import java.util.ArrayList;
import java.util.List;
public class Segmentation1 {
private List dictionary = new ArrayList();
...
分类:
其他好文 时间:
2014-05-07 16:30:27
阅读次数:
317
上一篇文章中介绍了正向最大匹配,可以看到有时候效果不是很好,这里在介绍一种逆向最大匹配的算法。词典和匹配的字符串都和上一篇文章相同
只是本算法是从后到前搜索字符串,然后找到最长的匹配结果输出。上代码...
分类:
其他好文 时间:
2014-05-07 15:10:53
阅读次数:
238