如何为stanford tagger创建自己的训练语料库?

时间:2010-07-01 08:49:46

标签: java nlp stanford-nlp

我必须用很多简短的手和当地的术语来分析非正式的英文文本。因此,我正在考虑为stanford标记创建模型。

如何为stanford tagger创建我自己的标记语料库集?

语料库的语法是什么?我的语料库需要多长时间才能达到理想的性能?

4 个答案:

答案 0 :(得分:8)

要训练PoS标记器,请参阅this mailing list post,它也包含在MaxentTagger类的JavaDocs中。

edu.stanford.nlp.tagger.maxent.Train class的javadoc指定了培训格式:

  

培训文件应该在   以下格式:一个单词和一个标签   每行由一个空格或一个空格隔开   标签。每个句子应以一个结尾   EOS字标签对。 (实际上,我不是   完全确定仍然如此,   但它可能不会受到伤害。 -wmorgan)

答案 1 :(得分:7)

基本上,您为训练过程格式化的文本应该在每一行上都有一个标记,后跟一个标签,后跟一个标识符。标识符可以是类似“LOC”的位置,“COR”代表公司,或“0”代表非实体代币。 E.g。

I     0
left     0
my     0
heart     0
in     0
Kansas     LOC
City     LOC
.     0

当我们的团队训练了一系列分类器时,我们为每个训练文件提供了大约180,000个令牌的格式,我们看到了精确度的净改善但是召回的净减少。 (值得注意的是,精度的提高在统计上并不显着。)如果它对其他人有用,我描述了我们用来训练分类器的过程以及训练和默认值的p,r和f1值。分类器here

答案 2 :(得分:1)

对于Stanford Parser,您使用Penn treebank format,并查看Stanford's FAQ有关要使用的确切命令。 LexicalizedParser class的JavaDocs也提供了适当的命令,特别是:

java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \
   -train trainFilesPath fileRange
   -saveToSerializedFile serializedGrammarFilename

答案 3 :(得分:0)

我试过了: java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \    -train trainFilesPath fileRange    -saveToSerializedFile serializedGrammarFilename

但我有错误:

错误:无法找到或加载主类edu.stanford.nlp.parser.lexparser.LexicalizedParser