当前位置: 首页 > news >正文

云空间免费空间/网站seo方法

云空间免费空间,网站seo方法,瓯海住房与城乡建设局网站,企业网络推广多喜爱最大匹配算法是自然语言处理中的中文匹配算法中最基础的算法,分为正向和逆向,原理都是一样的。 正向最大匹配算法,故名思意,从左向右扫描寻找词的最大匹配。 首先我们可以规定一个词的最大长度,每次扫描的时候寻找当前…

最大匹配算法是自然语言处理中的中文匹配算法中最基础的算法,分为正向和逆向,原理都是一样的。

正向最大匹配算法,故名思意,从左向右扫描寻找词的最大匹配。

首先我们可以规定一个词的最大长度,每次扫描的时候寻找当前开始的这个长度的词来和字典中的词匹配,如果没有找到,就缩短长度继续寻找,直到找到或者成为单字。

实例:

S1="计算语言学课程是三个课时" ,设定最大词长MaxLen = 5 ,S2= " "

字典中含有三个词:[计算语言学]、[课程]、[课时]

(1)S2="";S1不为空,从S1左边取出候选子串W="计算语言学";

(2)查词表,“计算语言学”在词表中,将W加入到S2中,S2=“计算语言学/ ”, 并将W从S1中去掉,此时S1="课程是三个课时";

(3)S1不为空,于是从S1左边取出候选子串W="课程是三个";

(4)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程是三";

(5)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程是";

(6)查词表,W不在词表中,将W最右边一个字去掉,得到W="课程"

(7)查词表,W在词表中,将W加入到S2中,S2=“计算语言学/ 课程/ ”,并 将W从S1中去掉,此时S1="是三个课时";

(8)S1不为空,于是从S1左边取出候选子串W="是三个课时";

(9)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三个课";

(10)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三个";

(11)查词表,W不在词表中,将W最右边一个字去掉,得到W="是三"

(12)查词表,W不在词表中,将W最右边一个字去掉,得到W=“是”,这时 W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ ”,并将 W从S1中去掉,此时S1="三个课时";

(13)S1不为空,从S1左边取出候选子串W="三个课时";

(14)查词表,W不在词表中,将W最右边一个字去掉,得到W="三个课";

(15)查词表,W不在词表中,将W最右边一个字去掉,得到W="三个";

(16)查词表,W不在词表中,将W最右边一个字去掉,得到W=“三”,这时 W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ 三/ ”,并 将W从S1中去掉,此时S1="个课时";

(17)S1不为空,从S1左边取出候选子串W="个课时";

(18)查词表,W不在词表中,将W最右边一个字去掉,得到W="个课";

(19)查词表,W不在词表中,将W最右边一个字去掉,得到W=“个”, 这时W是单字,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ 三/ 个/ ",并将W从S1中去掉,此时S1="课时";

(20)S1不为空,从S1左边取出候选子串W="课时";

(21)查词表,W在词表中,将W加入到S2中,S2=“计算语言学/ 课程/ 是/ 三/ 个/ 课时/ ",并将W从S1中去掉,此时S1=""。

(22)S1为空,输出S2作为分词结果,分词过程结束。

中文分词算法的Python实现:

脚本接受两个参数,一个是输入文件的路径,另一个是词典的路径。

它的运行方法如下:

python max-match.py

#!/usr/bin/env pythonimport cPickle as pickleimport syswindow_size=5def max_match_segment(line, dic): # write your code here chars = line.decode("utf8") words = [] idx = 0 while idx < len(chars): matched = False for i in xrange(window_size, 0, -1): cand=chars[idx:idx+i].encode("utf8") if cand in dic: words.append(cand) matched = True break if not matched: i = 1 words.append(chars[idx].encode("utf8")) idx += i return wordsif __name__=="__main__": try: fpi=open(sys.argv[1], "r") except: print >> sys.stderr, "failed to open file" sys.exit(1) try: dic = pickle.load(open(sys.argv[2], "r")) except: print >> sys.stderr, "failed to load dict %s" % sys.argv[2] sys.exit(1) try: fpo = open("out.txt","w") except: print >> sys.stderr, "failed to load out.txt" sys.exit(1) for line in fpi: fpo.write("\t".join( max_match_segment(line.strip(), dic) ))

当然,这只是最基础的,还可以有很多高级的优化,比如说改成Trie树版本的,控制最大词长度的等等。

本文转载自:CSDN博客

欢迎加入我爱机器学习QQ14群:336582044

getqrcode.jpg

微信扫一扫,关注我爱机器学习公众号

http://www.lbrq.cn/news/1319455.html

相关文章:

  • 做自主外贸网站和后台费用多少/aso优化平台
  • 做网站用php还是java/腾讯营销平台
  • 怎嘛做网站/5188关键词挖掘
  • C#如何做简易网站/怎么样引流顾客到店方法
  • 最新的网站开发框架/抖音引流推广免费软件app
  • 网页设计实训体会/湖南优化电商服务有限公司
  • 仿站软件/百度搜索引擎广告位的投放
  • 电子网站风格设计/日结app推广联盟
  • 电商运营怎么做的/宁波seo排名外包
  • 企业网站建设与运营计划书/seo网站推广招聘
  • 重庆房产网/河北百度seo关键词
  • 怎么提高网站收录/销售平台有哪些
  • 陕西网站建设优化建站/企业文化的重要性
  • ui交互设计是什么意思/宁波seo外包引流推广
  • 网站如何做淘宝支付宝支付/珠海百度搜索排名优化
  • 烟台外贸网站建设公司/网络营销策划书模板
  • 企业网站建设研究目的意义/游戏推广员上班靠谱吗
  • 嘉兴建企业网站/怀化seo推广
  • 医疗网站建设公司/培训机构招生方案范文
  • seo网站权重/幽默软文广告经典案例
  • 东莞做网站要多少钱/国家卫健委最新疫情报告
  • 网站砍价活动怎么做/微信客户管理系统
  • 企业网站排版规则/怎样在平台上发布信息推广
  • 整站wordpress下载/网站运营
  • 做网站的专业叫啥/seo诊断优化专家
  • 做网站培训/站长工具whois查询
  • 做网赌网站需要多少钱/西安百度推广开户运营
  • 洛阳室内设计公司排名/烟台seo关键词排名
  • 三亚房产网站建设/英文seo兼职
  • 济南百度公司做网站吗/站内优化主要从哪些方面进行
  • Agents-SDK智能体开发[4]之集成MCP入门
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例
  • 学习游戏制作记录(各种水晶能力以及多晶体)8.1
  • Node.js的用途和安装方法
  • 基于单片机智能油烟机设计/厨房排烟系统设计
  • LLM 模型部署难题的技术突破:从轻量化到分布式推理的全栈解决方案