【问题标题】:How to obtain enhanced dependency parsing from Stanford NLP tools?如何从斯坦福 NLP 工具中获得增强的依赖解析?
【发布时间】:2019-03-17 15:29:31
【问题描述】:

我正在做一个关于波兰语依赖解析的项目。我们正在尝试用波兰语数据训练斯坦福神经网络依赖解析器(使用 .conllu 格式的通用依赖树库)。数据已经被标记和注释,所以我们既没有训练标记器,也没有训练 CORE NLP 提供的解析器。到目前为止,通过从命令行运行解析器,我们已经能够在标准依赖项中使用 pl_lfg-ud Treebank 取得一些成功。但我们也想训练解析器重现增强的通用依赖,它们也在树库中表示。到目前为止,我还没有找到一种方法来做到这一点 文档,以及 NNDEP 和 CORE NLP 的常见问题解答,尽管据我了解,斯坦福 NLP 解析器是可能的。增强的依赖项解析是否仅适用于英语(或其他官方支持的语言),还是我只是做错了什么?

如果有任何线索,我将不胜感激!

【问题讨论】:

    标签: nlp stanford-nlp dependency-parsing


    【解决方案1】:

    这里有关于如何训练模型的信息:

    https://stanfordnlp.github.io/CoreNLP/depparse.html

    示例命令:

    java -Xmx12g edu.stanford.nlp.parser.nndep.DependencyParser -trainFile fr-ud-train.conllu -devFile fr-ud-dev.conllu -model new-french-UD-model.txt.gz -embedFile wiki.fr.vec -embeddingSize 300 -tlp edu.stanford.nlp.trees.international.french.FrenchTreebankLanguagePack -cPOS
    

    您还需要训练一个词性模型:

    https://nlp.stanford.edu/software/pos-tagger-faq.html

    https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/tagger/maxent/MaxentTagger.html

    示例命令:

    java -mx1g edu.stanford.nlp.tagger.maxent.MaxentTagger -props myPropertiesFile.props 
    

    您可以在文档中找到合适的训练文件样式。

    示例文件:

    
    ## tagger training invoked at Sun Sep 23 19:24:37 PST 2018 with arguments:
                       model = english-left3words-distsim.tagger
                        arch = left3words,naacl2003unknowns,wordshapes(-1,1),distsim(/u/nlp/data/pos_tags_are_useless/egw4-reut.512.clusters,-1,1),distsimconjunction(/u/nlp/data/pos_tags_are_useless/egw4-reut.512.clusters,-1,1)
                wordFunction = edu.stanford.nlp.process.AmericanizeFunction
                   trainFile = /path/to/training-data
             closedClassTags = 
     closedClassTagThreshold = 40
     curWordMinFeatureThresh = 2
                       debug = false
                 debugPrefix = 
                tagSeparator = _
                    encoding = UTF-8
                  iterations = 100
                        lang = english
        learnClosedClassTags = false
            minFeatureThresh = 2
               openClassTags = 
    rareWordMinFeatureThresh = 10
              rareWordThresh = 5
                      search = owlqn
                        sgml = false
                sigmaSquared = 0.0
                       regL1 = 0.75
                   tagInside = 
                    tokenize = true
            tokenizerFactory = 
            tokenizerOptions = 
                     verbose = false
              verboseResults = true
        veryCommonWordThresh = 250
                    xmlInput = 
                  outputFile = 
                outputFormat = slashTags
         outputFormatOptions = 
                    nthreads = 1
    

    这里有一个详尽的示例训练属性文件列表:

    https://github.com/stanfordnlp/CoreNLP/tree/master/scripts/pos-tagger

    如果您使用 Java 管道,则需要编写分词器或提供预分词的文本。

    您可能对我们的 Python 项目感兴趣,该项目具有用于标记化、句子分割、词形还原和依赖解析的波兰模型。您也可以训练自己的模型:

    https://github.com/stanfordnlp/stanfordnlp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 2015-08-10
      相关资源
      最近更新 更多