【问题标题】:How can I give some POS information before Stanford NLP POS tagger execute?如何在斯坦福 NLP POS 标记器执行之前提供一些 POS 信息?
【发布时间】:2014-03-06 02:05:37
【问题描述】:

如果我已经知道某个单词的词性信息。

例如:我知道 st316(my id) 是专有名词 (NR)。在句子“I am st316”中。 如何让标注器使用st316是NR的信息,然后决定其他词的POS信息(我是)。

就像,

输入:我是 st316/NR。

输出:I/PN am/VC st316/NR ./PU

帮帮我。非常感谢!

【问题讨论】:

    标签: nlp stanford-nlp pos-tagger


    【解决方案1】:

    我能想到 2 个选项:

    1. (简单)让标注器发挥作用,然后覆盖其输出。如果您知道st316 必须标记为 X,而斯坦福未能将其标记为 X,请将st316 的标记更改为 X。这种方法的缺点是标记器无法使用该信息更好地标记句子的其余部分。
    2. (更难)Retrain PoS 标注器,将您拥有的额外信息添加到其训练数据中。这样,它实际上会从您提供的信息中学习并能够利用它。缺点是您需要获取一些训练数据,并且(取决于您获得的数据量)训练新模型可能需要一段时间。

    如果选择选项 2,则需要按如下方式格式化数据:

    An_DT avocet_NN is_VBZ a_DT small_JJ ,_, 可爱_JJ 鸟_NN ._. I_PRP am_VBP st316_NNP ._. I_PRP am_VBP st316_NNP ._. I_PRP am_VBP st316_NNP ._. I_PRP am_VBP st316_NNP ._. I_PRP am_VBP st316_NNP ._.

    第一行来自斯坦福常见问题解答。剩下的就是你的额外知识。请注意,重复了一个额外的句子。这是为了在该观察中添加伪计数。非正式地,如果你只在训练数据中包含一次st316_NNP,那么标注器可能会认为它是噪音/错误并忽略它。重复就像说“是的,我确定,我知道我在做什么,从这些数据中学习”。根据您拥有的数据量,您需要重复 5 到 50 次以确保标注器正确学习。

    【讨论】:

    • 我真正想要的是实现选项2的简单方法。但是搜索和搜索之后,似乎没有办法。我会尝试重新训练标记器。无论如何,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多