我需要一个用于以下任务的模型:

一系列单词,及其pos标签。我想判断这一系列单词是否是名词短语。

我能想到的一种模型是嗯。

对于那些是名词短语的序列,我们训练HMM(HMM+)。对于这些不是名词短语,我们尝试hmm(hmm-)。当我们对序列进行预测时,我们可以计算p(序列| hmm+)和p(序列| hmm-)。如果前者更大,我们认为这个短语是一个名词短语,否则不是。

你怎么看呢?您还有其他适合此问题的模型吗?

有帮助吗?

解决方案 3

我的直觉是,HMM不是正确的模型。它可以通过根据先前概率和有条件的概率从一个令牌到下一个的条件概率来得出具有最高概率的标签序列来猜测POS标签。

对于完整的名词短语,我看不到该型号的匹配方式。

任何基于概率的方法都很难训练,因为名词短语可以包含许多令牌。这确实使得很多组合。为了获得有用的培训概率,您需要非常庞大的培训集。

您可以通过按照在

http://en.wikipedia.org/wiki/noun_phrase#components_of_noun_phrases

或其他对名词短语的语言描述。

其他提示

据我了解,您已经有了单词序列的POS标签。一旦有了单词序列的标签,就无需使用HMM来对序列是NP进行分类。您需要做的就是寻找以下形式的模式:

  1. 确定器随后是名词

  2. 形容词后跟名词

  3. 确定器随后是形容词,然后是名词

ETC

正如某人提到的那样,HMM用于获得新单词序列的POS标签。但是为此,您需要一个标记的语料库来训练HMM。 NLTK软件中有一些标签语料库。

如果您的序列已经被标记,则只需使用上一个答案中提到的语法规则即可。

人们确实使用HMM在POS标记的句子中标记名词短语,但是典型的模型设置不能以您描述的方式工作。

相反,设置(请参阅 名词短语(PDF)的块标记统计识别使用基于HMM的块标记器(PDF)命名实体识别 示例)是在三个状态下使用HMM:

  • o(不在NP中),
  • B(NP的开始),
  • 我(在NP中,但不是开始)。

句子中的每个单词将由HMM分配一个状态。例如,句子:

/dt boy/nn击中/dt球/nn,with/pp/pp the/dt red/adj bat/nn ./。

理想地标记如下:

/dt b 男孩/nn 点击/VT o /dt b 球/nn 使用/pp o /dt b 红色/调整 蝙蝠/nn ./. o

这三个HMM状态之间的过渡可以根据对序列的行为方式的先验知识进行限制。特别是,您只能从B过渡到I,但是对于非零概率,其他过渡都是可能的。然后,您可以在未标记的文本语料库上使用Baum-Welch来训练您的HMM(完全识别任何类型的块 - 请参阅 带有级联有限状态模型(PDF)的原始文本的简单无监督的语法诱导(PDF) 例如),或具有标记文本语料库的某种最大可能的方法(如果您专门寻找名词短语)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top