北京SEO来谈分词技术中的算法
阿呆前几天给大家写了一篇关于分词技术的文章(北京SEO谈SEO中的分词技术),这篇文章是阿呆按照自己的理解来谈的,不敢说写的多么多么的好,但是阿呆觉得应该还是对大家有一定帮助的。
这几天阿呆在出差,所以更新的速度有所下降。这次出差中阿呆不敢说有多么大的收获,但还是有一点好东西跟大家分享的,比如今天阿呆要给大家谈的分词技术。不管我们如何去拆分我们的关键字,最主要的目的肯定是为了能够更好的优化我们的关键字,那么当我们去谈分词技术的同时,阿呆觉得有必要给大家说说分词技术的一些算法,下面阿呆所写的内容就算是这次出差的一点小收获吧。
首先阿呆要让大家明确的一点是,我们这里所谈的分词技术肯定是针对于中文而言的,因为很明显英文由于其特殊性,对于分词是肯定没那么多讲究的,毕竟人家天生就比我们中文多出一些空格。(当做笑话吧,呵呵,以下所讨论的分词算法均针对于中文而言。)
就阿呆所了解到的信息,分词算法还是有很多种的,比如:正向最大匹配、逆向最大匹配、双向最大匹配、最佳匹配法、最少分词法、词网格算法、逐词遍历法、设立切分法、有穷多层次列举法、二次扫描法、邻接约束法、邻接知识约束法和专家系统法等。这么多的算法,要说阿呆全部知道肯定是不切实际的,阿呆之所以把它们都列举出来,目的非常简单,那就是为了让大家搜索方便。
算法都列举出来了,想知道的人可以去找找相关资料,下面阿呆就其中的一种算法来具体给大家说说。
正向最大匹配(Forward Maximum Matching method,FMM)
这种方法是先确定一个容器的大小,然后将所要分析的句子,按照该容器的大小从左到右的顺序取出该数量,将取出的部分与词库中的词进行对比,如果不匹配则在容器中按照从右到左的顺序去除一个字符再次比对,如果容器中取出的内容与词库中的词语匹配,则原句中去除该词,继续分析。
可能阿呆叙述的有点绕口,下面阿呆举个例子说明,比如:“阿呆喜欢喝百事可乐”这句话,如用上述方法,应该如何分词?当然前提是我们假设容器大小为4。(以下内容,容器阿呆用Box表示。)
01、Box内容:“阿呆喜欢” 对比结果:无匹配,去除“欢”;
02、Box内容:“阿呆喜” 对比结果:无匹配,去除“喜”;
03、Box内容:“阿呆” 对比结果:有匹配;(就当做阿呆这个名字已经被词典收录了,嘻嘻)
分词结果:阿呆
04、Box内容:“喜欢喝百” 对比结果:无匹配,去除“百”;
05、Box内容:“喜欢喝” 对比结果:无匹配,去除“喝”;
06、Box内容:“喜欢” 对比结果:有匹配;
分词结果:阿呆/喜欢
07、Box内容:“喝百事可” 对比结果:无匹配,去除“可”;
08、Box内容:“喝百事” 对比结果:无匹配,去除“事”;
09、Box内容:“喝百” 对比结果:无匹配,去除“百”;
10、Box内容:“喝” 对比结果:无匹配,单字处理;
分词结果:阿呆/喜欢/喝
11、Box内容:“百事可乐” 对比结果:有匹配;
分词结果:阿呆/喜欢/喝/百事可乐
通过阿呆上面的例子,不知道大家对第一种分词算法是否已经了解?其实阿呆刚刚知道这种算法的时候心中只是兴奋,但是等自己静下心来仔细想想,发现原来很多事情都能够从中间找到原因,至于都是些什么,大家慢慢去体会吧,呵呵!
文章作者:北京SEO— 阿呆
本文地址:http://www.365lab.com.cn/SEO/segmentation_FMM.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

看来分词技术还得好好琢磨琢磨啊,呵呵。想的有点简单了。
写的很好!需要认真学习了1
阿呆 北京的阿呆1
文章写的不错,特来顶一下!!!
[网址被屏蔽]
向博主学习分词了
嗯,GGAD的问题好像解决了。
分词技术还是有难度的