Stanford nlp 关于如何在新语料库上训练nn依赖性解析器,有什么提示吗?

Stanford nlp 关于如何在新语料库上训练nn依赖性解析器,有什么提示吗?,stanford-nlp,Stanford Nlp,我们想在一个俄语语料库上训练斯坦福NN依赖解析器,有没有关于如何做的提示?超参数在本文中进行了描述,但是了解如何准备训练数据(注释,特别是如何创建word2vec注释)会很好。非常感谢您对某些文档的任何帮助或参考 谢谢 以下是一些答案: 如果要为俄语构建向量表示,请访问word2vec的网站: 依赖项需要采用CoNLL-X格式: 单词嵌入应采用此格式(每行中的每个单词向量): 单词\tn0 n1 n2 n3 n4 例如: 苹果.45242.392323.111423.999334 将您的嵌

我们想在一个俄语语料库上训练斯坦福NN依赖解析器,有没有关于如何做的提示?超参数在本文中进行了描述,但是了解如何准备训练数据(注释,特别是如何创建word2vec注释)会很好。非常感谢您对某些文档的任何帮助或参考

谢谢

以下是一些答案:

  • 如果要为俄语构建向量表示,请访问word2vec的网站:

  • 依赖项需要采用CoNLL-X格式:

    单词嵌入应采用此格式(每行中的每个单词向量):

    单词\tn0 n1 n2 n3 n4

    例如:

    苹果.45242.392323.111423.999334

    将您的嵌入放在名为俄语_embeddings.txt的文件中

  • “训练”命令(假设单词向量的维数为50)

  • 一个大的复杂问题是,到目前为止,edu.stanford.nlp.trees.international.RussianTreebankLanguagePack不存在,因此您必须创建这个类,并按照其他语言的treebanklanguagepack对其建模;如果您查看包edu.stanford.nlp.trees.international,您可以看到这些TreebankLanguagePack文件对于其他语言是什么样子的(注意:法语文件只有143行长,因此为俄语创建类似的类根本不可能);我将与其他小组成员协商,看看我是否能弄清楚完成这项任务需要做些什么

  • 构建这个俄罗斯NN依赖解析模型有很多挑战。如果你想得到更多的帮助,请告诉我。我将与NN解析器的开发人员交谈,看看是否可以给您提供更多建议,这些答案只是一个起点


谢谢!我们已经开始了这项挑战,您的评论非常有帮助!如果我们陷入困境,或者我们成功了,我们一定会让你知道!你好我们已经在俄罗斯银行语言包的建设上下了工夫。所有语言包都使用许多依赖项,如HeadFinder、Lexer等。所以,看起来树状语言包的构建是一项非常棘手的任务。我想知道树丛语言包的用途是什么?为任何语言构建NN依赖解析器模型真的需要它吗?在这篇文章中,作者使用神经网络训练了一个快速准确的依赖性解析器,该解析器不需要任何特殊的英汉语法规则。我们找出了什么是非投射依赖性,并与语料库作者进行了交谈。他们的示例中似乎有10%是非投影的,这是他们的一个特性,而不是一个bug。他们声称将这些树转换成非投影依赖是一个非常糟糕的想法。我想知道您是否遇到过类似的问题,以及您是如何解决的?我会得到一些更具体的答案,但我知道依赖项解析器不太使用TreebankLanguagePack(或者根本不使用)。我将与一些小组成员进行磋商,但我相信我们能够提出一个小的实施方案,让您能够继续。这个答案可能会有所帮助:
java edu.stanford.nlp.parser.nndep.DependencyParser -tlp edu.stanford.nlp.trees.international.RussianTreebankLanguagePack -trainFile russian/train.conll -devFile russian/dev.conll -embedFile russian_embeddings.txt -embeddingSize 50 -model nndep.russian.model.txt.gz