当前位置:   article > 正文

python自然语言处理实战-第三章中文分词技术_任务一:采用正向、逆向最大匹配算法,实现中文分词任务。 如“南京市长江大桥”。

任务一:采用正向、逆向最大匹配算法,实现中文分词任务。 如“南京市长江大桥”。

中文分词技术主要有以下三类:

  1. 规则分词 新词难处理

  2. 统计分词 太依赖语料质量

  3. 混合分词(规则+统计)

一、规则分词

基于规则分词是一种机械的分词方法,需要维护词典,将词语中每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。

主要有三种方式进行匹配切分

  • 正向最大匹配法                                                                                                                                                                  南京市长/江/大桥 (词典中存在南京市长和长江大桥,由于是正向匹配所以先匹配到南京市长,然后再匹配到江和大桥)
  • 逆向最大匹配法                                                                                                                                                                  实际处理中将文档进行倒排处理,然后与逆序词典进行匹配。由于汉语中偏正结构较多,若从后向匹配,可以适当的提高精确度。南京市/长江大桥
  • 双向最大匹配                                                                                                                                                                      是将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较,然后按照最大匹配原则,选取数切分最少的作为结果

二、统计分词

  1. 建立统计语言模型 
  2. 对句子进行单词划分,然后对划分结果进行概率计算,获得概率最大的分词方式。如 HMM, CRF(条件随机场)

N-gram model

P(w_1,w_2,w_3,...,w_m) = P(w_1)P(w_2|w_1)P(w_3|w_1,w_2)\cdot \cdot \cdot \cdot \cdot \cdot P(w_m|w_1,w_2,...,w_m_-_1)

N元模型就是在估算条件概率时,忽略距离大于等于n的上文词的影响,因此化简为

 P(w_i|w_1,w_2,...,w_i_-_1)\approx P(w_i|w_i_(_n_-_1_),\cdot \cdot \cdot ,w_i_-_1)

HMM模型

是将分词作为字在字串中的序列标注的任务来实现的,基本思路是:每个字在构造一个特定的词语时都占据这一个确定的构词位置(词位):B(begin),M(middle),E(end),S(single word) 

λ=λ1λ2λ3λn 代表输入的句子,n为句子长度,λi表示字,o=o1o2on代表输出的标签(B/M/E/S)。

理想的输出为maxP(o1o2on|λ1λ2λn) 关于2n个变量的条件概率,引入独立观测假设确实可以解决计算问题,(假设每个字的输出仅仅与当前字有关),但是B/M/E/S的标记实际上字与字之间是有关联性的,因此引入HMM算法来解决关联以及计算问题。

p(o|λ)p(λ|o)p(o) 

 p(λ|o)=p(λ1|o1)p(λ2|o)p(λn|on)

p(o)=p(o1)p(o2|o1)p(o3|o1,o2)p(on|o1,o2,,on)

\rightarrow p(o) = p(o_1)p(o_2|o_1)p(o_3|o_2)\cdot \cdot \cdot p(o_n|o_n_-_1) 齐次马尔科夫假设 

p(λk|ok) 发射概率,p(o_k|o_k_-_1)转移概率

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/379625
推荐阅读
相关标签
  

闽ICP备14008679号