【发布时间】:2021-02-23 12:06:14
【问题描述】:
我正在尝试创建一个由词形化名词和名词块组成的文档语料库。我正在使用此代码:
import spacy
nlp = spacy.load('en_core_web_sm')
def lemmatizer(doc, allowed_postags=['NOUN']):
doc = [token.lemma_ for token in doc if token.pos_ in allowed_postags]
doc = u' '.join(doc)
return nlp.make_doc(doc)
nlp.add_pipe(nlp.create_pipe('merge_noun_chunks'), after='ner')
nlp.add_pipe(lemmatizer, name='lemm', after='merge_noun_chunks')
doc_list = []
for doc in data:
pr = nlp(doc)
doc_list.append(pr)
在识别名词块['the euro area', 'advanced', 'long', 'way', 'a monetary union'] 和词形还原之后的句子'the euro area has advanced a long way as a monetary union' 是:['euro', 'area', 'way', 'monetary', 'union']。
有没有办法将已识别的名词块的单词组合起来得到这样的输出:['the euro area','way', 'a monetary union'] 或 ['the_euro_area','way', 'a_monetary_union']?
感谢您的帮助!
【问题讨论】:
标签: nlp spacy lemmatization