我必须用大量的短手和当地语言来分析非正式的英文文本。因此,我正在考虑为 stanford tagger 创建模型。
我如何创建自己的一组标记语料库供 stanford tagger 进行训练?
语料库的语法是什么,我的语料库应该多长时间才能达到理想的性能?
我必须用大量的短手和当地语言来分析非正式的英文文本。因此,我正在考虑为 stanford tagger 创建模型。
我如何创建自己的一组标记语料库供 stanford tagger 进行训练?
语料库的语法是什么,我的语料库应该多长时间才能达到理想的性能?
要训练 PoS 标记器,请参阅此邮件列表帖子,该帖子也包含在MaxentTagger 类的JavaDocs中。
edu.stanford.nlp.tagger.maxent.Train 类的 javadocs指定了训练格式:
训练文件应采用以下格式:每行一个单词和一个标记,由空格或制表符分隔。每个句子都应该以 EOS 单词标签对结尾。(实际上,我不完全确定情况仍然如此,但它可能不会受到伤害。-wmorgan)
本质上,您为训练过程格式化的文本应该在每一行有一个标记,后跟一个制表符,然后是一个标识符。标识符可能类似于位置的“LOC”、公司的“COR”或非实体令牌的“0”。例如
I 0
left 0
my 0
heart 0
in 0
Kansas LOC
City LOC
. 0
当我们的团队训练一系列分类器时,我们为每个分类器提供了一个包含大约 180,000 个标记的这样格式的训练文件,我们看到精确度净提高,但召回率净下降。(值得注意的是,精度的提高在统计上并不显着。)如果它可能对其他人有用,我描述了我们用来训练分类器的过程以及训练和默认值的 p、r 和 f1 值分类器在这里。
对于 Stanford Parser,您使用Penn treebank 格式,请参阅Stanford 的 FAQ以了解要使用的确切命令。LexicalizedParser 类的 JavaDocs也提供了适当的命令,特别是:
java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \
-train trainFilesPath fileRange
-saveToSerializedFile serializedGrammarFilename
我试过: java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \ -train trainFilesPath fileRange -saveToSerializedFile serializedGrammarFilename
但我有错误:
错误:无法找到或加载主类 edu.stanford.nlp.parser.lexparser.LexicalizedParser