首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CoreNLP神经网络依赖分析器-训练与测试评价之间的差异

CoreNLP神经网络依赖分析器-训练与测试评价之间的差异
EN

Stack Overflow用户
提问于 2016-03-21 09:30:28
回答 2查看 464关注 0票数 0

我正在尝试用斯坦福CoreNLP实现Chen和Manning (2014)的神经网络解析器来训练一个新的模型。在培训期间,我使用-devFile选项对开发集每100次进行一次UAS评估。经过几千次迭代,我得到了相当好的UAS (大约86 %)。然而,在培训完成后,我尝试在相同的开发集上测试它,我得到了大约15 %的UAS。我使用的是英语通用依赖树库。

用于培训的命令行选项:

代码语言:javascript
复制
java edu.stanford.nlp.parser.nndep.DependencyParser -trainFile ~/Datasets/universal-dependencies-1.2/UD_English/en-ud-train.conllu -devFile ~/Datasets/universal-dependencies-1.2/UD_English/en-ud-dev.conllu -embedFile path/to/wordvecs -embeddingSize 100 -model nndep.model.txt.gz  -trainingThreads 2

用于测试的命令行选项:

代码语言:javascript
复制
java edu.stanford.nlp.parser.nndep.DependencyParser -model nndep.model.txt.gz -testFile ~/Datasets/universal-dependencies-1.2/UD_English/en-ud-dev.conllu

当我使用为英语提供的UD模型时,一切都很好,在开发集上我得到了大约80 %的UAS。这使我相信,我受过训练的模型是不合格的,我可能错过了一些必要的步骤或选择。但是由于训练过程中的评价效果很好,我有点困惑。根据我的理解,这两种评价之间不应该有那么大的差别。

那么,训练期间的评估和测试时的评估之间的巨大差异可能是什么原因呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-22 10:03:39

回答我自己的问题。我在another thread中找到了这个问题的答案,尽管他们的问题有点不同。

当使用与默认值50不同的嵌入大小时,解析时也需要传递-embeddingSize标志。正如在上面的链接线程中所指出的,这也适用于隐藏的大小参数。

这样做解决了问题,我得到了一个相当于训练期间的无人机。

因此,如果使用与默认值不同的单词嵌入或隐藏层大小,则在使用模型进行解析时需要传递这些参数。

票数 0
EN

Stack Overflow用户

发布于 2016-05-02 07:22:25

我想你有一个错误,我不知道是不是复制粘贴,但在:

用于测试的命令行选项:

代码语言:javascript
复制
java edu.stanford.nlp.parser.nndep.DependencyParser -model nndep.model.txt.gz -testFile ~/Datasets/universal-dependencies-1.2/UD_English/en-ud-**dev**.conllu

我认为应该是:

代码语言:javascript
复制
java edu.stanford.nlp.parser.nndep.DependencyParser -model nndep.model.txt.gz -testFile ~/Datasets/universal-dependencies-1.2/UD_English/en-ud-**test**.conllu
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36127253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档