如何在Stanford Pos tagger中创建自己的模型?

时间:2014-11-23 06:29:13

标签: nlp stanford-nlp pos-tagger

我想添加新标记的单词(在我们的区域中使用的本地单词)并创建一个新模型。我从命令行创建了一个.prop文件但是如何创建.tagger文件呢?

当我尝试创建斯坦福网站上提到的此类文件时,它会显示错误,如

  

“未指定型号”

什么是-model参数,是语料库吗?如何将新标记的单词添加到其中?

我如何训练一个标记器呢?

Stanford site说:

  

您需要从包含选项的.props文件开始   要使用的标记器。我们用于创建示例标记的.props文件   包含在models目录中;你可以从任何一个开始   似乎最接近您要标记的语言。

     

例如,要训练新的英语标记,请从left3words开始   标记器道具文件。训练除了西方语言的标记器   英文,您可以考虑德语或法语的道具文件   标记,包含在完整的发行版中。对于语言   使用不同的字符集,你可以从中文或   阿拉伯道具档案。或者您可以使用-genprops选项   MaxentTagger,它将编写一个示例属性文件   文档,供您修改。它将它写入stdout,所以你会   想通过重定向输出(通常使用>)将其保存到某个文件。   该行开头的#会使评论成为一个评论,所以你需要   删除您希望指定的#之前的属性。

2 个答案:

答案 0 :(得分:4)

以下是两个可以帮助您的链接,描述了如何创建(训练)标记器的分步说明:

  1. https://medium.com/@klintcho/training-a-swedish-pos-tagger-for-stanford-corenlp-546e954a8ee7
  2. http://www.florianboudin.org/wiki/doku.php?id=nlp_tools_related&DokuWiki=9d6b70b2ee818e600edc0359e3d7d1e8
  3. 请注意,在.conf文件中,您应该指向您的树库(即,使用POS标记和依赖关系以依赖关系树格式解析的真实世界句子)。在同一行中,您应指定格式:

    1. TEXT //表示按文字分隔的标记化文件
    2. TSV //表示tsv文件,例如conll文件
    3. TREES //表示PTB格式的文件
    4. 就我而言,我使用了 CoNLL文件,这是一种TAB-SEPARATED-VALUES格式(TSV)。我必须承认,找不到清晰的文档,不得不诉诸源代码。

      我的配置:

      model = portuguese.tagger
      arch = left3words,naacl2003unknowns,allwordshapes(-1,1)
      trainFile = format=TSV,wordColumn=1,tagColumn=4,C:\\path\\universal-dev.conll
      closedClassTagThreshold = 40
      curWordMinFeatureThresh = 2
      tagSeparator = _
      encoding = utf-8   # that's because I based my config on spanish!
      iterations = 100
      lang = spanish
      learnClosedClassTags = false
      minFeatureThresh = 2
      openClassTags = 
      rareWordMinFeatureThresh = 10
      rareWordThresh = 5
      search = qn
      sgml = false
      sigmaSquared = 0.0
      regL1 = 0.75
      tokenize = true
      tokenizerOptions = asciiQuotes
      verbose = false
      verboseResults = false
      veryCommonWordThresh = 250
      xmlInput = null
      outputFormat = slashTags
      nthreads = 16
      

答案 1 :(得分:1)

model属性指定要保存构建模型的文件。您可以提供任何有效路径,例如mymodel.tagger

您可以在测试时使用此相同的属性文件,然后MaxentTagger将从指定的模型文件加载而不是保存到它。

要明确:您的训练语料库应该提供属性trainFile。有关示例,请参阅Stanford Tagger附带的tagger属性文件。