java中文分词的简单实现 |
您所在的位置:网站首页 › 本的最简单组词 › java中文分词的简单实现 |
java中文分词的简单实现
中文分词算法算法思路算法实现代码及注释评价结语
中文分词
通俗来讲,中文分词是指将一句中文句子中的所有中文词汇相互分隔开来。它是文本挖掘的基础,有着十分广阔的应用前景。下面,我们来看一看对于这个技术的简单实现。 算法对于中文分词技术的实现,有许多算法可以完成,目前大致可以把算法分为三大类: 基于字符串匹配的分词方法;基于理解的分词方法;基于统计的分词方法。其中,基于字符串匹配的分词方法是把中文句子按照一定的策略将待分析的汉字串与已知且足够大的中文词典库进行比对,从而达到分词效果。而我们通常使用最多的分词策略,大致有三类,正向最大匹配法,逆向最大匹配法和最少切分法。 基于理解的分词方法是指让计算机模拟人对句子的理解进行分词。基于统计的分词方法是指找出上下文中出现较多的汉字组合,将这些组合视为词汇,代入到原文中进行分词。 在这里,我们就使用字符串匹配的分词方法,利用逆向最大匹配的策略,对中文句子进行简单的分词。 算法思路逆向最大匹配法大致思想为:将整个字符串作为一个“词组”带入到词典中进行比对,若不成功,删除第一个字符,继续进行如此操作,直到成功或者只剩下最后一个字,再把结果放入一个字符串的数组中,最后删除原句中的结果,继续上面的操作。下面我将用一个例子解释这个操作: 原句:今晚月亮真漂亮啊 词典:“今晚”,“月亮”,“漂亮” 第一次代入:今晚月亮真漂亮啊(在词典中没有该词汇,删除首字符继续比对) 删除首字符:晚月亮真漂亮啊(在词典中没有该词汇,删除首字符继续比对) 删除首字符:月亮真漂亮啊(在词典中没有该词汇,删除首字符继续比对) 删除首字符:亮真漂亮啊(在词典中没有该词汇,删除首字符继续比对) … 删除首字符:啊(在词典中没有该词汇,只剩下一个字,放入结果数组,并删除位于句尾的最后这个字,进行第二次代入) 第二次代入:今晚月亮真漂亮(在词典中没有该词汇,删除首字符继续比对) … 删除首字符:漂亮(在词典中找到词汇“漂亮”,放入结果数组,并删除位于句尾的结果“漂亮”,进行第三次代入) … 算法实现下面是实现该算法的流程图(摘自网络,图片地址:https://p2.ssl.qhimgs1.com/bdr/240/t01d394ac7e308b34be.jpg) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |