【问题标题】:how to train the stanford LexicalizedParser to recognize new words as nouns?如何训练 stanford LexicalizedParser 将新词识别为名词?
【发布时间】:2013-01-23 05:24:26
【问题描述】:

我正在尝试弄清楚如何训练 stanford LexicalizedParser
( edu.stanford.nlp.parser.lexparser.LexicalizedParser ) 将新名词合并到其词典中。

起初我的目标是采用现有模型并稍微调整它,而不是创建一个全新的模型 来自大量的训练示例。

这个问题的答案表明这是不可能的> How can I add more tagged words to the Stanford POS-Tagger's trained models?

希望有人可以让我走上正确的轨道,了解如何做到这一点。

作为我想做的一个具体例子,假设我有“researchgate”这个词,我想在解析时将其视为名词 句子。目前,“researchgate”被视为不同的词性,具体取决于其 位置..但我希望将其标识为“NN”(名词)。

例子……

而不是这个:

      (NP
        (NP (JJ recent) (NN activity))
        (PP (IN in)
          (NP (PRP$ your) (JJ researchgate) (NNS topics)))))

我想要这个:

      (NP
        (NP (JJ recent) (NN activity))
        (PP (IN in)
          (NP (PRP$ your) (NN researchgate) (NNS topics)))))

而不是这个:

    (ROOT
      (FRAG
        (NP (NN subscription))
        (S
          (VP (TO to)
            (VP (VB researchgate))))))

我想要这个:

    (ROOT
      (NP
        (NP (NN subscription))
        (PP (TO to)
          (NP (NN researchgate)))))

我目前正在使用这个模型:models/edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz

我试过这样做>

    java -cp  stanford-parser.jar        
            edu.stanford.nlp.parser.lexparser.LexicalizedParser   -train  /tmp/train.txt

/tmp/train.txt的内容如下>

              (NP
                (NP (JJ recent) (NN activity))
                (PP (IN in)
                  (NP (PRP$ your) (JJ researchgate) (NNS topics)))))

我得到了一堆有希望的输出,但后来得到了这个错误>

    Error. Can't parse test sentence: [This, is, just, a, test, .]

很明显,我需要提供更多示例,而不仅仅是 /tmp/train.txt 中的示例。

查看文档似乎有一种很有前途的方法 我正在考虑尝试的 LexicalizedParser... >

    public static LexicalizedParser getParserFromTreebank(Treebank trainTreebank,
                                                          Treebank secondaryTrainTreebank,
                                                          double weight,
                                                          GrammarCompactor compactor,
                                                          Options op,
                                                          Treebank tuneTreebank,
                                                          List<List<TaggedWord>> extraTaggedWords)

我犹豫要不要尝试这个,因为要正确选择选项似乎很棘手。 医生说:
解析器的选项在训练和测试(解析)时必须相同 为了让解析器正常工作

所以我可能需要有关如何提取用于 edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz 也许是

        edu.stanford.nlp.parser.lexparser.EnglishTreebankParserParams  ?

另外,也许我想将 researchgate 添加为我的 extraTaggedWords 之一?

我觉得我在正确的轨道上,但希望在下降之前得到一些建议 进老鼠洞。

提前致谢!

chris

【问题讨论】:

    标签: parsing nlp stanford-nlp


    【解决方案1】:

    我发布到 stanford parser 邮件列表,我收到了 John Bauer 的答复(谢谢,John!)

    约翰·鲍尔 下午 2:09(39 分钟前) 对我来说,解析器用户 不幸的是,您需要从头开始训练。 无法扩展当前的解析器模型。 该功能在“列表”中,但它在后面的某个地方,所以不要屏住呼吸...... 约翰

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      相关资源
      最近更新 更多