token.tag_
in的官方文档spaCy
如下:
一个细粒度、更详细的标签,表示词类和令牌的一些基本形态信息。这些标签主要被设计为后续模型的良好特性,特别是句法解析器。它们依赖于语言和树库。训练标注器来预测这些细粒度的标签,然后使用映射表将它们减少为粗粒度的 .pos 标签。
但它没有列出完整的可用标签和每个标签的解释。我在哪里可以找到它?
token.tag_
in的官方文档spaCy
如下:
一个细粒度、更详细的标签,表示词类和令牌的一些基本形态信息。这些标签主要被设计为后续模型的良好特性,特别是句法解析器。它们依赖于语言和树库。训练标注器来预测这些细粒度的标签,然后使用映射表将它们减少为粗粒度的 .pos 标签。
但它没有列出完整的可用标签和每个标签的解释。我在哪里可以找到它?
最后我在spaCy
的源代码中找到了它:glossary.py。这个链接解释了不同标签的含义。
以下是标签列表:
TAG_MAP = [
".",
",",
"-LRB-",
"-RRB-",
"``",
"\"\"",
"''",
",",
"$",
"#",
"AFX",
"CC",
"CD",
"DT",
"EX",
"FW",
"HYPH",
"IN",
"JJ",
"JJR",
"JJS",
"LS",
"MD",
"NIL",
"NN",
"NNP",
"NNPS",
"NNS",
"PDT",
"POS",
"PRP",
"PRP$",
"RB",
"RBR",
"RBS",
"RP",
"SP",
"SYM",
"TO",
"UH",
"VB",
"VBD",
"VBG",
"VBN",
"VBP",
"VBZ",
"WDT",
"WP",
"WP$",
"WRB",
"ADD",
"NFP",
"GW",
"XX",
"BES",
"HVS",
"_SP",
]
的可用值token.tag_
是特定于语言的。这里的语言不是英语或葡萄牙语,我的意思是“en_core_web_sm”或“pt_core_news_sm”。换句话说,它们是特定于语言模型的,并且在 TAG_MAP 中定义,这是可定制和可训练的。如果您不自定义它,它将是该语言的默认 TAG_MAP。
在撰写此答案时,spacy.io/models列出了所有预训练模型及其标记方案。
现在,为了解释。如果您使用英语或德语文本,那么您很幸运!您可以使用spacy.explain()或在 github 上访问其词汇表以获取完整列表。如果您正在使用其他语言,token.pos_
则值始终是通用依赖项的值,并且无论如何都可以使用。
最后,如果您正在使用其他语言,要获得标签的完整说明,您将不得不在模型页面中列出的源代码中查找您感兴趣的模型。例如,对于葡萄牙语,我必须跟踪用于训练模型的葡萄牙语 UD Bosque 语料库中标签的解释。