如何使用Spacy标注德语名词的性别?相关Pipeline组件疑问
用spaCy标注德语名词性别:组件说明与实操
- 核心信息来自Tagger(词性标注器):spaCy的德语预训练模型中,Tagger会输出带性别信息的细粒度词性标签,对应关系如下:
NN= 阳性名词NNE= 阴性名词NNN= 中性名词
- Lemmatizer(词形还原器)不直接存储性别信息,它仅负责生成名词的原型,性别判断仍需依赖Tagger的输出。
- 实操代码示例:
import spacy # 先安装德语模型:pip install spacy && python -m spacy download de_core_news_md nlp = spacy.load("de_core_news_md") doc = nlp("Der Hund bellt laut. Die Katze schläft. Das Kind spielt.") for token in doc: if token.pos_ == "NOUN": gender_map = {"NN": "阳性", "NNE": "阴性", "NNN": "中性"} print(f"{token.text}: {gender_map.get(token.tag_, '未知')} (标签: {token.tag_})")
- 补充提示:也可通过定冠词与名词的依存关系间接判断性别,但无定冠词搭配的名词,只能依靠Tagger的
tag_属性获取准确性别信息。
内容的提问来源于stack exchange,提问作者Julius Hamilton
相关产品推荐
相关产品推荐

