Spacy中代词词形还原输出异常:结果为-PRON-是否为Bug?
这不是Bug,是spaCy的刻意设计哦!
你遇到的代词词形还原结果为-PRON-的情况完全是预期行为,不是bug~
spaCy 之所以这么设计,是因为英语里的代词体系比较特殊:像I/me/my/mine、you/your/yours这类代词,它们的词形变化没有一个公认的、统一的"词根"或者标准 lemma 形式。为了保持处理的一致性,spaCy 就用-PRON-作为所有代词的统一 lemma 标识,不管是主格、宾格还是所有格,都会被归到这个统一标识下。
举个实际例子,如果你运行这段代码:
import spacy nlp = spacy.load("en_core_web_sm") doc = nlp("I gave you my book and you lent me yours") print([token.lemma_ for token in doc])
输出里所有代词对应的 lemma 都会是-PRON-,这完全符合 spaCy 的设计逻辑。
如果你需要获取代词的具体形式,可以直接用token.text或者token.lower_;要是非得给代词指定更具象的 lemma,你可以自己做一个映射表,比如把me映射到I,yours映射到you,然后在处理时替换掉-PRON-就行。
内容的提问来源于stack exchange,提问作者Prashant Sinha
相关产品推荐
相关产品推荐

