【问题标题】:Models for classify Noun Phrase?名词短语分类模型?
【发布时间】:2013-11-06 22:30:46
【问题描述】:

我需要一个模型来完成以下任务:

带有词性标签的单词序列。我想判断这一系列的词是不是名词短语。

我能想到的一个模型是 HMM。

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

你怎么看?你还有其他适合这个问题的模型吗?

【问题讨论】:

  • 试试看效果如何。

标签: machine-learning nlp hidden-markov-models


【解决方案1】:

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

  1. 限定词后接名词

  2. 形容词后接名词

  3. 限定词后接形容词,后接名词

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

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

【讨论】:

    【解决方案2】:

    人们确实使用 HMM 来标记带有 POS 标记的句子中的名词短语,但典型的模型设置与您描述的方式并不完全一样。

    相反,设置(参见 Chunk tagger-statistical recognition of noun phrases (PDF)Named entity recognition using an HMM-based chunk tagger (PDF) 示例)是使用具有三种状态的 HMM:

    • O(不在 NP 中),
    • B(NP 开头),
    • I(在 NP 中,但不是开头)。

    句子中的每个单词都会被 HMM 分配一个状态。例如,句子:

    /DT小子/NN打/VT/DT球/NN带/PP/DT红/ADJ球棒/NN./.

    理想情况下可能标记如下:

    The/DT Bboy/NN I hit/VT O the/DT B ball/NN I with/PP O the/DT B red/ADJ I bat/NN I强> ./. O

    这三个 HMM 状态之间的转换可以基于对序列行为方式的先验知识进行限制;特别是,您只能从 B 过渡到 I,但其他过渡都可能以非零概率进行。然后,您可以在未标记文本的语料库上使用 Baum-Welch 来训练您的 HMM(以识别任何类型的块 - 参见Simple Unsupervised Grammar Induction from Raw Text with Cascaded Finite State Models (PDF) 示例),或某种最大似然法与语料库带标签的文本(以防您专门寻找名词短语)。

    【讨论】:

      【解决方案3】:

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

      对于一个完整的名词短语,我看不出这个模型是如何匹配的。

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

      按照中的描述,通过在 POS 标签上制定一组语法规则(例如正则表达式),您可以快速轻松地获得一个足够好的开始

      http://en.wikipedia.org/wiki/Noun_phrase#Components_of_noun_phrases

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

      【讨论】:

      • 谢谢,我决定直接使用 Stanford Parser。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2012-05-05
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 2013-12-08
      相关资源
      最近更新 更多