15

我必须用大量的短手和当地语言来分析非正式的英文文本。因此,我正在考虑为 stanford tagger 创建模型。

我如何创建自己的一组标记语料库供 stanford tagger 进行训练?

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

4

4 回答 4

8

要训​​练 PoS 标记器,请参阅此邮件列表帖子,该帖子也包含在MaxentTagger 类的JavaDocs中。

edu.stanford.nlp.tagger.maxent.Train 类的 javadocs指定了训练格式:

训练文件应采用以下格式:每行一个单词和一个标记,由空格或制表符分隔。每个句子都应该以 EOS 单词标签对结尾。(实际上,我不完全确定情况仍然如此,但它可能不会受到伤害。-wmorgan)

于 2010-07-01T13:20:37.877 回答
7

本质上,您为训练过程格式化的文本应该在每一行有一个标记,后跟一个制表符,然后是一个标识符。标识符可能类似于位置的“LOC”、公司的“COR”或非实体令牌的“0”。例如

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

当我们的团队训练一系列分类器时,我们为每个分类器提供了一个包含大约 180,000 个标记的这样格式的训练文件,我们看到精确度净提高,但召回率净下降。(值得注意的是,精度的提高在统计上并不显着。)如果它可能对其他人有用,我描述了我们用来训练分类器的过程以及训练和默认值的 p、r 和 f1 值分类器在这里

于 2013-10-22T13:16:33.237 回答
1

对于 Stanford Parser,您使用Penn treebank 格式,请参阅Stanford 的 FAQ以了解要使用的确切命令。LexicalizedParser 类的 JavaDocs也提供了适当的命令,特别是:

java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \
   -train trainFilesPath fileRange
   -saveToSerializedFile serializedGrammarFilename
于 2010-07-01T13:14:23.693 回答
0

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

但我有错误:

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

于 2015-11-10T13:13:19.907 回答