gpt4 book ai didi

java - CoreNLP MaxentTagger 数据格式错误

转载 作者:行者123 更新时间:2023-12-01 11:53:27 25 4
gpt4 key购买 nike

我正在使用斯坦福 CoreNLP 进行 NLP 处理,并且正在使用更多领域特定数据来训练 POS 标注器。然而,由于某种原因,当我使用已有的属性文件运行它时,训练器抛出“数据格式错误”。上下文如下:

训练文件

Please#UH let#VBP us#PRP know#VB if#IN you#PRP have#VBP any#DT other#JJ thoughts#NNS that#WDT...

(基本上是一个很长的1行单词+标签集。)

训练属性文件

         model = special_postagger.tagger
arch = words(-1,1),unicodeshapes(-1,1),order(2),suffix(4)
wordFunction =
trainFile = /path/to/POS_trainer1.csv
closedClassTags =
closedClassTagThreshold = 40
curWordMinFeatureThresh = 2
debug = false
debugPrefix =
tagSeparator = #
encoding = UTF-8
iterations = 100
lang =
learnClosedClassTags = false
minFeatureThresh = 5
openClassTags =
rareWordMinFeatureThresh = 10
rareWordThresh = 5
search = qn
sgml = false
sigmaSquared = 0.5
regL1 = 1.0
tagInside =
tokenize = true
tokenizerFactory =
tokenizerOptions =
verbose = false
verboseResults = true
veryCommonWordThresh = 250
xmlInput =
outputFile =
outputFormat = slashTags
outputFormatOptions =
nthreads = 1

命令运行

java edu.stanford.nlp.tagger.maxent.MaxentTagger -prop myProps.props

但由于某种原因,我收到此错误消息:

warning: no language set, no open-class tags specified, and no closed-class tags specified; assuming ALL tags are open class tags
TaggerExperiments: adding word/tags
Exception in thread "main" java.lang.IllegalArgumentException: Data format error: can't find delimiter "#" in word "as" (line 2 of /path/to/POS_Trainer1.csv)
at edu.stanford.nlp.tagger.io.TextTaggedFileReader.primeNext(TextTaggedFileReader.java:74)
at edu.stanford.nlp.tagger.io.TextTaggedFileReader.<init>(TextTaggedFileReader.java:34)
at edu.stanford.nlp.tagger.io.TaggedFileRecord.reader(TaggedFileRecord.java:111)
at edu.stanford.nlp.tagger.maxent.ReadDataTagged.<init>(ReadDataTagged.java:52)
at edu.stanford.nlp.tagger.maxent.TaggerExperiments.<init>(TaggerExperiments.java:86)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.trainAndSaveModel(MaxentTagger.java:1140)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.runTraining(MaxentTagger.java:1207)
at edu.stanford.nlp.tagger.maxent.MaxentTagger.main(MaxentTagger.java:1839)

最佳答案

在这里回答我自己的问题:训练文件必须具有完美的[word][delimiter][tag]格式,否则会抛出致命的运行时错误。您可以使用任何您想要的分隔符,例如井号标签 # 符号,但如果有:

  • 空格
  • 缺少标签

在[word][delimiter][tag]模式之间,它将失败。

关于java - CoreNLP MaxentTagger 数据格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28616317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com