自然语言处理--实战分词NLP

本文详细介绍了自然语言处理中的分词方法,包括规则分词的正向最大匹配、逆向最大匹配、双向最大匹配,以及统计分词的HMM模型思路。同时探讨了混合分词策略,结合规则与统计优势。
摘要由CSDN通过智能技术生成

课程网址:课程链接

一、分词方法

分词的难点:对歧义词的识别

1.1 规则分词

基于词库里的一个个词进行切词,缺点是不能处理新词
经典算法:正向最大匹配,逆向最大匹配,双向最大匹配

1.1.1 正向最大匹配

1.统计词典内最长的词有多少字?记为最长词长m
2.对一个句子从左往右数,正向地先切前五个字出来,来跟字典进行比对,看这五个字是否出现在字典里
比如说对“南京市长江大桥”进行正向匹配,m=5,先切出‘南京市长江’这五个字出来,发现这五个字并没有出现在字典中
3.如果没有,减少1个字,正向地切4个字出来,跟字典进行比对。‘南京市长’
4.以此类推,逐渐缩小切词地字数,例如,切到‘南京市’时,跟字典比对成功,‘南京市’就确定切词出来。

1.1.2 逆向最大匹配

逆向最大匹配就是从右往左数,步骤跟正向类似。
‘南京市长江大桥’ → ‘市长江大桥’ → ‘长江大桥’
具体程序参考,网易云课堂:课程链接

1.1.3 双向最大匹配

结合正向和逆向,如果正逆向分词结果不同,选取次数切分最少的作为结果
如果分词结果词数相同:

  • 分词结果相同,返回任意一个
  • 分词结果不同,返回单字较少的那个

1.1.4 错误率比较

正向最大匹配错误率大约在1/169
逆向最大匹配错误率大约在1/245
双向最大匹配错误率大约在1/100
实际生产应用过程中要通过对测试集的实验,才能下结论,也许双向的可能结果最好。

1.2 统计分词

优点是能够发现新的词,缺点是依赖语料库的质量

1.2.1 主要思路

词是由每个字组合而成的,字是词的最小单位,把每个词看作是由词的最小单位的各个字组成,如果相连的字,比如说“南”和“京”组成“南京”这个组合在不同的文本中(也就是语料库中)出现的次数越多,就证明这相连的字很可能是一个词。因此我们就可以利用字与字相邻出现的频率反映成词的可靠度,使用大规模语料库,建立统计语言模型。统计预料中相邻共现的各个“字的组合”的频率,当组合频率高于某个阈值时,就认为该组合是一个词。
对句子进行单词划分,然后对划分结果进行概率计算,获得概率最大的分词方式。(HMM隐马尔科夫,CRF条件随机场)
举例:
“南京/市长/江/大桥”,“南京市长/江/大桥”,“南京市/长江/大桥”,有这几种分词方式,就要计算,哪种概率最大就取哪种。

1.2.2 语言模型

在这里插入图片描述

P(w1)是南字出现的概率,P(w2|w1)是南京这两个字合在一起的概率,P(w3|w2,w1)是南京市这三个字在一起出现的概率

缺点:
数据过于稀疏,参数过多,计算量大

因此N-gram模型出现,计算量减少,并且保留一定的上下文信息。

在这里插入图片描述

1.2.3 隐马尔可夫HMM模型思路

在这里插入图片描述

1.3 混合分词(规则+统计)

两者结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值