我们想在俄语语料库上训练斯坦福NN依赖解析器,有没有关于如何做的提示?本文描述了超参数,但是理解如何准备训练数据(注释,特别是如何创建word2vec注释)会很好。非常感谢任何帮助或对某些文档的引用!
谢谢!
答案 0 :(得分:4)
以下是一些答案:
如果你想为俄语构建矢量表示,那么word2vec的网站:
依赖项必须采用CoNLL-X格式:
http://ilk.uvt.nl/conll/#dataformat
嵌入一词应该采用这种格式(每个单词矢量在它自己的行上):
WORD \ tn0 n1 n2 n3 n4 ...
例如:
apple .45242 .392323 .111423 .999334
将您的嵌入文件放入名为russian_embeddings.txt
训练命令(假设您的单词向量具有维度= 50)
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
一个很大的复杂因素是,截至目前,edu.stanford.nlp.trees.international.RussianTreebankLanguagePack不存在,因此您必须创建此类并在TreebankLanguagePacks之后为其他语言建模;如果你在edu.stanford.nlp.trees.international软件包中查看,你可以看到这些TreebankLanguagePack文件对于其他语言看起来是什么样的(注意:法语只有143行,所以为俄语制作类似的类不是根本不可能);我将咨询其他小组成员,看看我是否可以清楚地了解完成这项任务所需要做的事情
构建这个俄罗斯NN依赖解析模型存在很多挑战。如果您需要更多帮助,请告诉我。我将与NN解析器的开发人员交谈,看看我是否可以给你更多的建议,这些答案是作为一个起点!