我正在使用SpaCy对文本进行词形还原,但在某些特殊情况下,我需要保留原始文本并仅将复数名词转换为它们的单数形式。是否有一种方式告诉SpaCy只将复数名词转换为单数形式,而不是对整个文本进行词形还原(如去除ed、ing等)?或者,我应该显式地测试每个标记以检查它是否为复数名词,以获取其词形还原形式?
P.S. 输入文本是动态的,因此我事先不知道单词是否是名词。
谢谢
P.S. 输入文本是动态的,因此我事先不知道单词是否是名词。
谢谢
processed_text = nlp(original_text)
lemma_tags = {"NNS", "NNPS"}
for token in processed_text:
lemma = token.text
if token.tag_ in lemma_tags:
lemma = token.lemma_
...
# rest of code
...
...
使用spacy无法将复数名词转换为单数名词。
您可以检查标记是否为复数名词或单数名词。
如果令牌的标记等于“NNS”,请在字典中检查该令牌并获取该令牌的单数形式。
tag_
字段,只有当它是NNS
或NNPS
时才进行词形还原。完整的标记列表可以在这里找到。 - bivouac0Apples were there
=>An apple was there
,是吗? - Wiktor Stribiżew