机器学习实战知识图谱

NLP(2)——中文分词

2018-07-09  本文已影响11人  飘涯

上一篇文章提到了词向量的相关知识,可如何用计算机对一篇文章或者一些句子进行分词,从而让计算机更好理解句子呢?

分词的概念

简单来说就是把词进行分开,分词的难点:
1.如何避免歧义,如:“白开水不如果汁甜”。如何让机器避免将“如果”分到一起。
2.如何识别未登录词,并判断词性(人物,地点)
解决歧义的方法有很多,使用n_gram模型或者概率统计在解决歧义的作用下很好实现,如下面要介绍的HMM和CRF.

分词方法分类

下面就介绍一下最大随机场和隐马可夫模型在中文分词中的应用

CRF

#encoding=utf-8
import genius
text = u"""昨天,我和施瓦布先生一起与部分企业家进行了交流,大家对中国经济当前、未来发展的态势、走势都十分关心。"""
seg_list = genius.seg_text(
    text,
    use_combine=True,
    use_pinyin_segment=True,
    use_tagging=True,
    use_break=True
)
print('\n'.join(['%s\t%s' % (word.text, word.tagging) for word in seg_list]))
['昨天', ',', '我', '和', '施瓦布', '先生', '一起', '与', '部分', '企业家', '进行', '了', '交流', ',', '大家', '对', '中国', '经济', '当前', '、', '未来', '发展', '的', '态势', '、', '走势', '都', '十分关心']

HMM分词

HMM是关于时序的概率模型,描述一个含有未知参数的马尔可夫链所生成的不 可观测的状态随机序列,再由各个状态生成观测随机序列的过程。HMM是一个 双重随机过程---具有一定状态的隐马尔可夫链和随机的观测序列.
HMM由隐含状态S、可观测状态O、初始状态概率矩阵π、隐含状态转移概率矩 阵A、可观测值转移矩阵B(又称为混淆矩阵,Confusion Matrix);
π和A决定了状态序列,B决定观测序列,因此HMM可以使用三元符号表示,称 为HMM的三元素:


具体的原理部分会专门用一章来介绍。
具体代码可以见:https://github.com/tostq/Easy_HMM
上一篇 下一篇

猜你喜欢

热点阅读