我正在写有关如何与斯坦福大学和其他解析器一起解析德语句子的硕士论文。 Stanford Parser是一个很棒的工具,我取得了不错的成绩,所以感谢所有参与的人!但是在阅读论文,常见问题解答,谷歌等之后,我仍然有一些问题没有答案:
1)我正在使用以下命令训练斯坦福解析器:
java -cp "*" -mx1g edu.stanford.nlp.parser.lexparser.LexicalizedParser -PCFG -vMarkov 3 -uwm 0 -headFinder edu.stanford.nlp.trees.LeftHeadFinder -train trainTreebank.txt -saveToSerializedFile output.ser.gz
这可行,但是我想了解更多我实际上在那做的事情。 [https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/parser/lexparser/package-summary.html#package.description]下的edu.stanford.nlp.parser.lexparser的程序包描述描述了3种不同类型的Stanford解析器:“有一个准确的非词汇化概率上下文无关文法(PCFG)解析器,概率词法依存解析器,以及经过分解的,词法化的概率上下文无关文法解析器,可以对前两个解析器的乘积进行联合推断。”
根据我认为的类名,我使用了词法分析器,但是在阅读“ makeSerialized.csh”时,我认为我在上面的命令中使用了非词法分析器,对吗?
2)如果我在(1)中的假设是正确的,我该如何训练和使用(测试)词汇化的解析器?在“ makeSerialized.csh”中,有两个参数“ -goodFactored”和“ -ijcai03”,我认为这将是获得词法分析器的依据,但根据这些论文,我应该使用词法分析器来获得德语的更好结果,但是我的结果与使用“ -PCFG”命令几乎相同。
3)“ -goodFactored”和“ -ijcai03”有什么区别?
4)当您删除“ -PCFG”参数(并且也不要添加“ -goodFactored”或“ -ijcai03”)时,使用哪种解析器/方法?是词汇化还是非词汇化?我尝试过,结果与使用“ -PCFG”参数进行分析相比要差得多。
5)在FAQ和makeSerialized.csh中,通常会找到“ factored” 模型一词。我知道非词法化和词法化的解析器/模型,但是“ factored”
是什么意思?6)该程序包还包含一个RNN,但很难理解哪个类在做什么。在(6)点下的FAQ中,使用“ DVParser”类。那是RNN吗? “ DV”代表什么?另外,该软件包包括类“ nndep”。此类仅用于解析依赖项结构,而DVParser进行选区解析吗?为什么在FAQ中未提及nndep?
7)为了亲自回答其中的一些问题,我也尝试不带任何参数输入java -cp "*" -mx1g edu.stanford.nlp.parser.lexparser.LexicalizedParser
,因为关于FAQ,我应该在那里获得一些帮助,但我只会遇到记录错误:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
(我总是得到这个,所以它可能还不错),但是我什么也没有得到,也没有帮助。有人知道为什么吗?
谢谢大家
乔纳森