Parsing 如何训练斯坦福词汇化解析器将新词识别为名词?

Parsing 如何训练斯坦福词汇化解析器将新词识别为名词?,parsing,nlp,stanford-nlp,Parsing,Nlp,Stanford Nlp,我正试图找出如何训练斯坦福词典化解析器 (edu.stanford.nlp.parser.lexparser.LexicalizedParser)将新名词合并到其词典中 起初,我的目标是采用现有的模型并对其进行轻微调整,而不是创建一个全新的模型 来自大量的培训示例 这个问题的答案表明这是不可能的> 希望有人能把我带到正确的轨道上,如何做到这一点 作为我想做的一个具体例子,假设我有一个单词“researchgate”,我想在解析时把它当作一个名词 句子。目前,“researchgate”被视为不

我正试图找出如何训练斯坦福词典化解析器
(edu.stanford.nlp.parser.lexparser.LexicalizedParser)将新名词合并到其词典中

起初,我的目标是采用现有的模型并对其进行轻微调整,而不是创建一个全新的模型 来自大量的培训示例

这个问题的答案表明这是不可能的>

希望有人能把我带到正确的轨道上,如何做到这一点

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

例子

与此相反:

      (NP
        (NP (JJ recent) (NN activity))
        (PP (IN in)
          (NP (PRP$ your) (JJ researchgate) (NNS topics)))))
    (ROOT
      (FRAG
        (NP (NN subscription))
        (S
          (VP (TO to)
            (VP (VB researchgate))))))
我想要这个:

      (NP
        (NP (JJ recent) (NN activity))
        (PP (IN in)
          (NP (PRP$ your) (NN researchgate) (NNS topics)))))
    (ROOT
      (NP
        (NP (NN subscription))
        (PP (TO to)
          (NP (NN researchgate)))))
而不是这个:

      (NP
        (NP (JJ recent) (NN activity))
        (PP (IN in)
          (NP (PRP$ your) (JJ researchgate) (NNS topics)))))
    (ROOT
      (FRAG
        (NP (NN subscription))
        (S
          (VP (TO to)
            (VP (VB researchgate))))))
我想要这个:

      (NP
        (NP (JJ recent) (NN activity))
        (PP (IN in)
          (NP (PRP$ your) (NN researchgate) (NNS topics)))))
    (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)
另外,也许我想把researchgate作为我的附加词汇之一添加进去

我觉得我走的是对的,但我希望在下山之前能得到一些建议 掉进老鼠洞里

提前谢谢

chris

我发到了斯坦福解析器邮件列表,收到了约翰·鲍尔的回复(谢谢,约翰!)

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

我发布到斯坦福解析器邮件列表,收到了约翰·鲍尔的回复(谢谢,约翰!)

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