python实现双向最大匹配法

CSDN小马哥

于 2019-01-08 21:01:29 发布

2776
 收藏 3
文章标签: python 中文分词技术 双向最大匹配法 自然语言处理
版权

-- coding: utf-8 --
“”"
Created on Sat Jan 5 15:53:18 2019

@author: 86199
“”"

class MM():
def init(self):
self.window_size = 3
def cut(self,text):
result = []
index = 0
text_length = len(text)
dic = [‘研究’,‘研究生’,‘生命’,‘命’,‘的’,‘起源’]
while text_length > index:
for size in range(self.window_size+index,index,-1):
piece = text[index:size]
if piece in dic:
index = size - 1
break
index = index + 1
result.append(piece+’----’)
return(result)
class RMM():
def init(self):
self.window_size = 3
def cut(self,text):
result = []
index = 0
index = len(text)
dic = [‘研究’,‘研究生’,‘生命’,‘命’,‘的’,‘起源’]
while index > 0:
for size in range(index - self.window_size,index,):
piece = text[size:index]
if piece in dic:
index = size + 1
break
index = index - 1
result.append(piece+’----’)
result.reverse()
return(result)
if name == ‘main’:
text = ‘研究生命的起源’

count1 = 0
count2 = 0
First = MM()
Second = RMM()
a = First.cut(text)
b = Second.cut(text)
if a == b:
    print(a)
lena = len(a)
lenb = len(b)
if lena == lenb:
    for DY1 in a:
        if len(DY1) == 5:
            count1 = count1 + 1
    for DY2 in b:
        if len(DY2) == 5:
            count2 = count2 + 1
    if count1 > count2:
        print(b)
    else:
        print(a)
if lena > lenb:
    print(b)
if lena < lenb: 
    print(a) 
————————————————
版权声明:本文为CSDN博主「CSDN小马哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43256799/article/details/86098695

python实现双向最大匹配法相关推荐

  1. python:正向最大匹配法分词(以藏文为例)

    ​ 前段时间研究了如何用分词工具进行分词,但是分词中涉及的一些算法,不太了解,所以,准备这段时间专攻分词算法原理,大家有补充,或者建议,欢迎留言. 1. 最大匹配法(Maximum Matching) ...

  2. 中文分词算法之--最大匹配法

    中文分词算法之–最大匹配法 ​ 前段时间研究了如何用分词工具进行分词,但是分词中涉及的一些算法,不太了解,所以,准备这段时间专攻分词算法原理,大家有补充,或者建议,欢迎留言. 1. 最大匹配法(Max ...

  3. NLP-基础任务-中文分词算法(1)-基于词典: 机械分词(词典字符串匹配):前向最大匹配、后向最大匹配、双向最大匹配【OOV:基于现有词典,不能进行新词发现处理】

    分词与NLP关系:分词是中文自然语言处理的基础,没有中文分词,我们对语言很难量化,进而很能运用数学的知识去解决问题.对于拉丁语系是不需要分词的. 拉丁语系与亚系语言区别 拉丁语言系不需要分词,因为他们 ...

  4. 【深度学习】最大熵马尔科夫、CRF、条件随机场、最大匹配法

    文章目录 一 最大熵马尔科夫和CRF 二 条件随机场 三 最大匹配法 1 来源 2 正向最大匹配法 逆向最大匹配法 双向最大匹配法 一 最大熵马尔科夫和CRF 最大熵模型(MaxEnt):指的是多元逻 ...

  5. 词法分析-中文分词技术-正向最大匹配法与逆向最大匹配法

    词法分析-中文分词技术-正向最大匹配法与逆向最大匹配法 Type真是太帅了 于 2018-12-31 13:20:07 发布 1930  收藏 1 分类专栏: 编程 版权 编程 专栏收录该内容 15 ...

  6. 正向/逆向最大匹配法分词实现

    最大匹配法:最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量的扫描串,在词典中进行扫描(为提升扫描效率,还可以跟据字数多少设计多个字典,然后根据字数分别从不同字典中进行扫描).例如:词典中 ...

  7. linux用冒泡排序程序,利用双向走动法改进冒泡排序算法C语言源代码[黑盟核心成员]...

    传统的冒泡排序法是这样操作:从前往后,依次比较两个相邻的元素,如果逆序则交换这两个元素值,然后继续往后操作:到了数据尾部时,就找出了一个最大值(或最小值).然后重复上面的操作n-1次(n为元素个数). ...

  8. 4001.基于双向链表的双向冒泡排序法

    基于双向链表的双向冒泡排序法 发布时间: 2018年11月26日 10:09   时间限制: 1000ms   内存限制: 128M 习题集源码中出现了 temp->next->prior ...

  9. 4023-基于双向链表的双向冒泡排序法

    描述 有n个记录存储在带头结点的双向链表中,利用双向冒泡排序法对其按上升序进行排序,请写出这种排序的算法.(注:双向冒泡排序即相邻两趟排序向相反方向冒泡). 输入 多组数据,每组数据两行.第一行为序列 ...

最新文章

  1. 我成功攻击了Tomcat服务器,大佬们的反应亮了
  2. windows7+Apache2.2+PHP5.4.29 环境搭建
  3. 跨链Cosmos(5)ABCI 接口
  4. 在什么时候需要使用“常引用”?
  5. “约见”面试官系列之常见面试题之第八十三篇之node.js理解(建议收藏)
  6. android 释放bitmap fragment,,为什么重复Replace Fragment会内存泄漏
  7. html纵向固定导航菜单代码,jQuery和css3响应式垂直固定导航菜单插件
  8. 空间装扮代码_你多久没进过QQ空间了
  9. java 调用python脚本的方法
  10. 从小米人事变动谈引入人才与自主培养人才哪个更重要
  11. 什么是电动汽车充电桩功能介绍
  12. 小米真无线降噪耳机3和小米真无线降噪耳机3 Pro的区别
  13. Mac键盘修改F1-F12为功能键,神器karabiner-elements
  14. Spring Cloud踩坑指南
  15. 致远SPM解决方案之库存管理
  16. 手把手带你搞定OPENSTACK
  17. 什么是大数据?什么是物联网?
  18. latex \nomenclature表达set的时候会有不希望出现的缩进,原因是没有打%符号,问题比较冷门,自己一个个试出来的
  19. 通达OA任意用户登录复现(最新)
  20. linux 视频剪辑 剪辑人声,我这边有一个4分钟的剪辑视频,想把里边的人声给清除,背景音乐给留住...

热门文章

  1. 使用docker搭建gitlab服务器
  2. 一周一论文(翻译)——[SIGMOD 2015] TIMELY RTT-based Congestion Control for the Datacenter
  3. 怎么用Android做登录界面,利用Android怎么制作一个APP登录界面
  4. CentOS SVN安装与配置 (RHEL5.4平台测试通过)
  5. JavaScript基础(一)基本认识
  6. Kotlin 在kotlin内使用Java的一些注意(长篇)
  7. tensorflow 之 tf.reshape 之 -1
  8. 函数指针,指针函数,数组指针,指针数组 区分
  9. int.TryParse的使用
  10. daily scrum 12.9