python 实现机械分词(1)-正向最大匹配算法

本文介绍了Python中实现正向最大匹配算法进行中文分词的基本思想和步骤,该算法从文本开头开始,尝试匹配词典中最长的词,直至完成分词。在分词过程中排除了停用词的影响。
摘要由CSDN通过智能技术生成

        词语是自然语言处理中重要的知识载体和基本操作单元, 但是中文里词与词之间没有很明显的标记,它们都是连续的字符串,所以文本处理的第一步是怎样进行中文分词。分词是添加合适的显性的词语边界标志使得所形成的词串反映句子的本意的过程。分词主要有基于字符串匹配的方法、基于规则的方法和基于统计的方法,本文主要通过python实现基于字符串匹配的方法也称为机械分词中的两类方法:正向最大匹配算法和逆向最大匹配算法,有实验表明逆向最大匹配算法比正向最大匹配算法更有效。

       基于字符串匹配的分词法是一种的机械分词方法,根据分词词典和一个基本的切分规则,最常用的规则为最长匹配原则。最长匹配方法的思想简单:一个正确的分词结果应该由合法的词组成,而这些词是根据所选词典中的词比较分出。按照所扫描方向的不同,分词的匹配方法分为正向匹配和逆向匹配;按照长度不同优先匹配的情况,分为最长匹配和最短匹配;按照是否与词性标注的过程相结合又可分为分词与标注相结合的一体化和单纯的分词方法。

       1、正向最大匹配算法

      正向最大匹配算法(MM)的思想是假设自动分词中最长词条所含汉字的个数为n, 则截取需要分词文本中当前字符串序列中的前n个字符作为匹配字段,查找分词词典,若词典中有这样一个n字词那么就匹配成功,匹配字段作为一个词被切分出来;若词典中找不到这样的一个n字词那么匹配失败, 匹配字段去掉最后一个汉字, 剩下的字符作为新的匹配字段再进行匹配,如此进行下去,直到匹配成功为止。因为停用词对后续文本处理可能会造成干扰,所以在用正向最大匹配算法分词的过程中直接去除了停用词。具体步骤如下:

      S1、导入分词词典words.txt,存储为字典形式dic、导入停用词词典stoplis.txt ,存储

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值