首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >斯坦福大学pos-tagger增量训练

斯坦福大学pos-tagger增量训练
EN

Stack Overflow用户
提问于 2019-08-05 16:24:04
回答 1查看 212关注 0票数 0

我们使用斯坦福CoreNLP已经有一段时间了,大多数时候它都能提供正确的结果。

但是对于某些句子,依存分析的结果会变得混乱。正如我们所观察到的,其中一些错误是由词性标签问题引起的,例如I really like this restaurant.中的单词likeVery affordable and excellent ambient!中的单词ambient

是的,我们正在处理用户评论,这些评论的措辞可能与斯坦福CoreNLP中的训练语料库略有不同,因此我们正在考虑自己注释一些文本,并与现有模型混合。对于NER,我们已经有了自己的用于特殊no的模型,但对于POS标记和依赖关系解析,我们没有线索。

有没有人能提供一些建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-10 10:48:09

最好的方法是使用CoNLL-U数据。

这里有英文树库:https://universaldependencies.org/

这里有我们在这里训练过的各种词性模型的属性文件示例(也在模型jars中):

https://github.com/stanfordnlp/CoreNLP/tree/master/scripts/pos-tagger

以下是词性训练命令的示例:

代码语言:javascript
运行
复制
java -Xmx10g edu.stanford.nlp.tagger.maxent.MaxentTagger -props custom.props

请注意,您希望使用此格式指定用于对CoNLL-U文件进行训练和评估的文件:

代码语言:javascript
运行
复制
trainFile = format=TSV,wordColumn=1,tagColumn=3,/path/to/train.conllu

在这里,您指定使用制表符分隔的文件(每行有一个标记,空行用于断句),并说明哪些列分别表示单词和标记。

以下是训练依赖项解析器的示例命令:

代码语言:javascript
运行
复制
java edu.stanford.nlp.parser.nndep.DependencyParser -Xmx10g -trainFile <trainPath> -devFile <devPath> -embedFile <wordEmbeddingFile> -embeddingSize <wordEmbeddingDimensionality> -model nndep.model.txt.gz

需要注意的一件事是UPOS标记和XPOS标记的概念。UPOS标签应该在第3列,而XPOS在第4列。UPOS对所有语言都是通用的,XPOS是细粒度的和特定于语言的。

-cPOS标志将告诉训练过程使用列索引3中的UPOS标记。如果您不添加此标志,它将默认使用列索引4,如示例命令中所示。

如果您使用来自GitHub的斯坦福CoreNLP的最新代码,此命令应该可以使用CoNLL-U数据正确地训练模型。如果您使用的是3.9.2中的代码,则需要确保将数据从CoNLL-U转换为CoNLL-X。CoNLL-X是一种较旧的样式,它不包含有关多单词标记的信息。

此外,为了使模型具有最佳性能,您需要确保在整个应用程序中使用与训练数据一致的标记化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57354728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档