【发布时间】:2021-12-21 18:04:35
【问题描述】:
我正在提取一个单词列表并从中制作一个数据框。原始数据如下:
original = 'The man who flies the airplane dies in an air crash. His wife died a couple of weeks ago.'
df = pd.DataFrame({'text':[original]})
我用于词形还原和词干提取的函数是:
# lemmatize & stemmed.
def lemmatize_stemming(text):
return stemmer.stem(WordNetLemmatizer().lemmatize(text, pos='v'))
def preprocess(text):
result = []
for token in gensim.utils.simple_preprocess(text):
if token not in gensim.parsing.preprocessing.STOPWORDS:
result.append(lemmatize_stemming(token))
return result
输出将来自运行 df['text'].map(preprocess)[0] 我得到的结果:
['man',
'fli',
'airplan',
'die',
'air',
'crash',
'wife',
'die',
'coupl',
'week',
'ago']
我想知道如何将输出返回到原始令牌?例如,我有 die,它来自 dead and dies。
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/questions/9481081/… 不同的语言,但想法是一样的。词干是不可逆的,除非您想在每次词干之前和之后进行跟踪。
标签: python nlp nltk gensim stemming