NLP基础之分词、向量化、词性标注
基于HMM(隐马尔可夫模型)的分词方法
基本部分
状态值序列
B:Begin;
M:Middle;
E:End;
S:Single;
观察值序列
待切分的词;
初始化概率
BMES这四种状态在第一个字的概率分布情况;
状态转移矩阵
HMM中,假设当前状态只与上一状态相关,则此关系可用转移矩阵表示;
条件概率矩阵
HMM中,观察值只取决与当前状态值(假设条件),条件概率矩阵主要建模在BMES下各个词的不同概率,和初始化概率、状态转移矩阵一样,需要在语料中计算得到对应的数据;
概率分词模型:CRF(条件随机场)
HMM描述的是已知量和未知量的一个联合概率分布,属于generative model,而CRF则是建模条件概率,属于discriminative model;且CRF特征更加丰富,可通过自定义特征函数来增加特征信息,CRF能建模的信息应该包括HMM的状态转移、数据初始化的特征;主要包括两部分特征:
简单特征
只涉及当前状态特征;
转移特征
涉及两种状态间的特征;、
基于深度学习的分词
基本步骤:
首先,训练字向量,使用word2vec对语料的字训练50维的向量;
然后,接入一个bi-LSTM,用于建模整个句子本身的语义信息;
最后,接入一个CFR完成序列标注;
词向量
one-hot编码
每个词只在对应的index置1,其他位置均为0,难点在于做相似度计算;
LSA(矩阵分解方法)
LSA使用词-文档矩阵,矩阵常为系数矩阵,行代表词语,列代表文档;词-文档矩阵表示中的值表示词在文章中出现的次数;难点在于当语料库过大时,计算很耗费资源,且对未登录词或新文档不友好;
Word2Vec
结构
包括CBOW和Skip-gram模型;CBOW的输入为上下文的表示,然后对目标词进行预测;Skip-gram每次从目标词w的上下文c中选择一个词,将其词向量作为模型输入;
Skip-gram主要结构:
输入one-hot编码;
隐藏层大小为次维度大小;
对常见词或词组,常将其作为当个word处理;
对高频词进行抽样减少训练样本数目;
对优化目标采用negative sampling,每个样本训练时只更新部分网络权重;
词性标注
基于最大熵的词性标注;
基于统计最大概率输出词性;
基于HMM词性标注;
基于CRF的词性标注;
---------------------
作者:村雨1943
原文:https://blog.csdn.net/github_39655029/article/details/84869448