5

我不完全理解如何在隐马尔可夫模型中使用开始和结束状态。为了设计和实施过渡和排放矩阵,这些是否必要?

4

2 回答 2

10

开始/结束状态对于建模标签是否可能出现在句子的开头或结尾是必要的。

例如,如果您有一个五个单词的句子并且您正在考虑两个标记

  1. Det Noun 动词 Det 名词
  2. Det 名词 动词 Det Adj

这两个在转换方面看起来都不错,因为 Det->Noun 和 Det->Adj 都非常有可能。但是,以 Adj 结尾的句子比以名词结尾的句子要少得多,这是没有结束标签的情况。所以你真正想要比较的是

  1. START Det Noun 动词 Det 名词 END
  2. 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 回答