我不完全理解如何在隐马尔可夫模型中使用开始和结束状态。为了设计和实施过渡和排放矩阵,这些是否必要?
问问题
1387 次
2 回答
10
开始/结束状态对于建模标签是否可能出现在句子的开头或结尾是必要的。
例如,如果您有一个五个单词的句子并且您正在考虑两个标记
- Det Noun 动词 Det 名词
- Det 名词 动词 Det Adj
这两个在转换方面看起来都不错,因为 Det->Noun 和 Det->Adj 都非常有可能。但是,以 Adj 结尾的句子比以名词结尾的句子要少得多,这是没有结束标签的情况。所以你真正想要比较的是
- START Det Noun 动词 Det 名词 END
- START Det Noun Verb Det Adj END
然后你将计算 P(END|Noun) 和 P(END|Adj)。
如果您正在进行监督训练,那么使用 START/END 获取概率与其他标签没有什么不同,您只需在计算之前将特殊标签附加到每个句子。因此,如果您的训练语料库具有:
Det Noun Verb
Det Noun Verb Det Noun
然后你会把它修改为
START Det Noun Verb END
START Det Noun Verb Det Noun END
并计算,例如:
- P(Det|开始) = 2/2
- P(END|动词) = 1/2
- P(END|名词) = 1/3
此外,排放量是微不足道的:P(START|START)=1 和 P(END|END)=1
于 2014-02-15T16:57:34.907 回答
1
我认为这个问题真的取决于你的语料库。例如,如果您使用的语料库包含完整的句子(从语义上讲),那么我建议您添加开始和结束状态,以改进语言模型。但是,如果语料库中充满了句子片段,那么我认为开始/结束状态不会有帮助。他们甚至可能适得其反。
基本上,在 pos 标记中,开始状态试图模拟什么样的标记更有可能出现在句子的开头。最终状态也是如此。因此,如果您的语料库中的句子确实是句子,这些开始/结束状态将教您的语言模型如何开始或结束一个句子。
于 2014-02-17T09:18:27.760 回答