我在使用spaCy来对大量推文进行词形还原。然而,当我对像“我”这样的词进行词形还原时,会生成标记-PRON-。我如何避免这种情况?
回答:
-PRON-
是spaCy中代词的默认词形(参见文档):
关于spaCy的自定义代词词形
与动词和普通名词不同,代词没有明确的基础形式。“我”的词形应该为“我”,还是我们也应该标准化人称,给出“它”——或者可能是“他”?spaCy的解决方案是引入一个新符号-PRON-,作为所有人称代词的词形使用。
如果你不希望这样,你可以简单地用其他东西替换它,例如相关标记的词形(见下面的代码片段)。但请注意,这可能会对后续处理产生意想不到的后果。spaCy使用字符串和整数两种表示形式来表示标记属性,因此你可能需要更改这两者(如果可能的话),或者为了可追溯性保留原始的整数值。
if token.lemma_ == '-PRON-': token.lemma_ = token.orth_ # 更改字符串表示 token.lemma = token.orth # 更改整数表示(我没有测试这部分)