1、基于词典的方法(字符串匹配,机械分词方法)

定义:按照一定策略将待分析的汉字串与一个“大机器词典”中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。

按照扫描方向的不同:正向匹配和逆向匹配

按照长度的不同:最大匹配和最小匹配

1.1正向最大匹配思想MM

1》从左向右取待切分汉语句的m个字符作为匹配字段,m为大机器词典中最长词条个数。

2》查找大机器词典并进行匹配。若匹配成功,则将这个匹配字段作为一个词切分出来。

若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配,重复以上过程,直到切分出所有词为止。

1.2逆向最大匹配算法RMM

该算法是正向最大匹配的逆向思维,匹配不成功,将匹配字段的最前一个字去掉,实验表明,逆向最大匹配算法要优于正向最大匹配算法。

1.3 双向最大匹配法(Bi-directction Matching method,BM)

双向最大匹配法是将正向最大匹配法得到的分词结果和逆向最大匹配法的到的结果进行比较,从而决定正确的分词方法。据SunM.S. 和 Benjamin K.T.(1995)的研究表明,中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正确,只有大概9.0%的句子两种切分方法得到的结果不一样,但其中必有一个是正确的(歧义检测成功),只有不到1.0%的句子,或者正向最大匹配法和逆向最大匹配法的切分虽重合却是错的,或者正向最大匹配法和逆向最大匹配法切分不同但两个都不对(歧义检测失败)。这正是双向最大匹配法在实用中文信息处理系统中得以广泛使用的原因所在。

1.4设立切分标志法

收集切分标志,在自动分词前处理切分标志,再用MM、RMM进行细加工。

1.5最佳匹配(OM,分正向和逆向)

对分词词典按词频大小顺序排列,并注明长度,降低时间复杂度。

优点:易于实现

缺点:匹配速度慢。对于未登录词的补充较难实现。缺乏自学习。

算法流程图如下:

转自http://www.cnblogs.com/lvpei/archive/2010/08/04/1792409.html

中文分词算法—— 基于词典的方法相关推荐

  1. 中文分词算法——基于统计的分词

    1.基于统计的分词(无字典分词) 主要思想:上下文中,相邻的字同时出现的次数越多,就越可能构成一个词.因此字与字相邻出现的概率或频率能较好的反映词的可信度. 主要统计模型为:N元文法模型(N-gram ...

  2. 基于词典的正向最大匹配中文分词算法,能实现中英文数字混合分词

    基于词典的正向最大匹配中文分词算法,能实现中英文数字混合分词.比如能分出这样的词:bb霜.3室.乐phone.touch4.mp3.T恤 第一次写中文分词程序,欢迎拍砖. publicclass MM ...

  3. 基于词典的逆向最大匹配中文分词算法,更好实现中英文数字混合分词

    基于词典的逆向最大匹配中文分词算法,能实现中英文数字混合分词.比如能分出这样的词:bb霜.3室.乐phone.touch4.mp3.T恤.实际分词效果比正向分词效果好 publicclass RMM ...

  4. 基于字典的中文分词算法RMM

    引言:目前针对中文分词一般有基于字典,基于统计(HMM等),基于规则的分词方法,然而其中基于字典的中文分词是最基础,同时也是最高效的方式,但分词精度取决与字典的规模. 一.基于字典的中文算法简介 1. ...

  5. 基于字典的中文分词算法RMM,MM实现

    引言:目前针对中文分词一般有基于字典,基于统计(HMM等),基于规则的分词方法,然而其中基于字典的中文分词是最基础,同时也是最高效的方式,但分词精度取决与字典的规模. 一.基于字典的中文算法简介 1. ...

  6. 基于词表的中文分词算法

    基于词表的中文分词算法 正向最大匹配法 对于输入的一段文本从左至右,以贪心的方式切分出当前位置上长度最大的词.正向最大匹配法是基于词典的分词方法,其分词原理是:单词的颗粒度越大,所能表示的含义越确切. ...

  7. Python-基于词典-中文分词算法

    文章目录 三种分词算法比较 逆向最大匹配 从后往前扫描 词典匹配 概率分词 原理 DAG 计算大概率路径 封装 图论知识补充 图的表示方法 概率图模型 贝叶斯网络 三种分词算法比较 dt = {'空调 ...

  8. 基于感知器的中文分词算法

    http://heshenghuan.github.io/2015/12/21/%E5%9F%BA%E4%BA%8E%E6%84%9F%E7%9F%A5%E5%99%A8%E7%9A%84%E4%B8 ...

  9. 在Hadoop上运行基于RMM中文分词算法的MapReduce程序

    原文:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/ 在Hadoop上运行基于RMM中文分词 ...

最新文章

  1. 如何打开Tango的ADF文件?
  2. 汇编语言 利用栈 将数据逆序存放
  3. http https http2.0
  4. Readhat中挂载yum源
  5. 图谱实战 | 李翔:美团到店综合知识图谱的构建与应用
  6. Java7并发编程指南——第五章:Fork Join框架
  7. 阿里云短信接口,函数方法
  8. 下面( )对象表示标准输入对象流。_7000字带你死磕Java I/O流知识
  9. java list 之详解_Java高级技术之List详解
  10. 利用javascript动态创建表格
  11. LeetCode 46. Permutations
  12. 【Python实例第20讲】手写数字识别问题的K-Means聚类
  13. java多线程(2)----继承的方式创建多线程
  14. qcustomplot 游标吸附_QCustomplot使用分享(九) 绘制图表-多功能游标
  15. python查看汉字的编码_python汉字编码
  16. 织梦采集插件,无需采集规则,补损值
  17. java寻秦 皇陵的诅咒_掌盟网游有一款游戏叫古墓寻秦,主角是个女的,她父亲是个教授...
  18. ORB-SLAM2安装以及遇到问题
  19. 制作U盘安装XP系统
  20. Netty学习开发之路

热门文章

  1. lintcode 解码方法
  2. 如何用Automator制作工资表
  3. THINKPAD OEM Windows 7 X64 旗舰版 SP1 原版镜像
  4. css修改element组件中el-date-picker中的placeholder样式失效
  5. VnlnHub GeminiInc-Pentest-v2
  6. 苍蓝誓约服务器维护什么时候结束,苍蓝誓约手游2021年7月15日停服维护公告
  7. 常见行内元素、块级元素、行内块元素
  8. strstr()函数的使用说明(C语言)
  9. php的strstr是什么意思,php strstr函数怎么用
  10. python绘制饼图的如何设置高度宽度_Matplotlib添加pictu时调整饼图大小