我 | 喜 | 欢 | 在 | 黑 | 龙 | 江 |
---|---|---|---|---|---|---|
S | B | E | S | B | M | E |
做简单的描述:
设观察集合为: O = { o 1 , o 2 , o 3 , . . . , o k } O = \left \{ { o_{1}, o_{2},o_{3}, ... ,o_{k} }\right \} O={o1,o2,o3,...,ok}
状态集合为: S = { s 1 , s 2 , s 3 , . . . , s k } S=\left \{ { s_{1}, s_{2},s_{3},..., s_{k} }\right \} S={s1,s2,s3,...,sk}
当输入观察序列为: X = x 1 , x 2 , x 3 , . . . , x n ; x i ∈ O X = { x_{1}, x_{2},x_{3}, ... ,x_{n};x_{i} ∈O } X=x1,x2,x3,...,xn;xi∈O
得到对应的状态序列: Y = y 1 , y 2 , y 3 , . . . , y n ; y i ∈ S Y= { y_{1}, y_{2}, y_{3}, ... ,y_{n};y_{i}∈S } Y=y1,y2,y3,...,yn;yi∈S
基于HMM的分词方法:属于由字构词的分词方法,由字构词的分词方法思想并不复杂,它是将分词问题转化为字的分类问题(序列标注问题)。从某些层面讲,由字构词的方法并不依赖于事先编制好的词表,但仍然需要分好词的训练语料。
词首,常用B表示;
词中,常用M表示;
词尾,常用E表示;
单子词,常用S表示。
备:和HMM做法类似。
比较:
类型 | CRF | vs | 基于词表 |
---|---|---|---|
速度上 | 周期长,计算量大 | 高效 | |
歧义词/未登录词 | 较好。考虑词出现的频率+上下文语境信息 |
类型 | CRF | vs | HMM |
---|---|---|---|
上下文 | 可以 | 其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择 | |
局部的最优值 | 最大熵隐马模型则解决了隐马的无上下文的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,只能找到局部最优解 | 其并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值 |
解释:
输入层为wordembedding,经过 双向LSTM网络编码,输出层是一个CRF层,经过LSTM网络输出的实际上是当前位置对于各词性的得分,CRF是对词性得分加上前一位置的词性概率转移的约束,其好处是引入一些语法规则的先验信息。
数学公式表示为:
S ( X , Y ) = ∑ i = 0 n A y i , y i − 1 + ∑ i − 1 n P i , y i S(X,Y) = \sum_{i=0}^{n}A_{y_{i},y_{i-1}} + \sum_{i-1}^{n}P_{i,y_{i}} S(X,Y)=∑i=0nAyi,yi−1+∑i−1nPi,yi
其中,A是词性的转移矩阵,P是BiLSTM网络的判别得分。
P ( y ∣ X ) = e s ( X , y ) ∑ y ⊂ y x A e s ( X , y ) P(y|X) = \frac{e^{s(X,y)}}{\sum_{y\subset y_{x}}^{A}e^{s(X,y)}} P(y∣X)=∑y⊂yxAes(X,y)es(X,y)