使用 spacy 的空白词形还原

Blank lemmatization using spacy

如何在Spacy中使用词形还原?我尝试使用此代码,但输出为空白。我的空间版本。 3.2.0

from spacy.lang.id import Indonesian

nlp = Indonesian()

def tokenizer(text):
    return [token.lemma_.lower() for token in nlp(text) if not token.is_stop and not token.is_punct]


docs = [
    'Saya pikir ayah saya terlihat seperti Matt Damon.',
    'Tapi apakah rezim mempelajari sesuatu?',
    'Lalu dia mulai berjualan mariyuana.',
    'Apakah Anda ingin menjadi penerbit, seseorang yang memberi lisensi teknologi?',
]

for text in docs:
    print(tokenizer(text))

您需要配置lookup lemmatizer。如果你安装 spacy-lookups-data 那么你可以这样做:

nlp = Indonesian()
nlp.add_pipe("lemmatizer", config={"mode": "lookup"})
nlp.initialize()

然后你会得到这个输出:

['pikir', 'ayah', 'matt', 'damon']
['rezim', 'ajar']
['jual', 'mariyuana']
['terbit', 'lisensi', 'teknologi']