在 Python 中对整个数据集使用 Simplemma

Use Simplemma on whole dataset in Python

我想在我的数据集上使用 simplemma。我知道脚本如何处理单独的单词:

from simplemma import text_lemmatizer
langdata=simplemma.load_data('nl')
text_lemmatizer('word1 word2 word3', langdata)

但是我该如何更改此脚本才能使其适用于我的数据集 df 中的完整列 ['Text']?该列中的每一行都包含多个单词。

我制作了以下脚本:

from simplemma import text_lemmatizer
langdata=simplemma.load_data('nl')
text_lemmatizer(df['Tekst'], langdata)

但是当我 运行 脚本时出现这个错误:

类型错误:应为字符串或类似字节的对象。

我的脚本有什么问题,我该如何让它工作?谢谢!

将 .apply() 函数与 word_tokenize() 一起使用,以便对数据框列进行词形还原,例如:

from nltk import word_tokenize
from simplemma import text_lemmatizer
langdata = simplemma.load_data('nl')   # dutch

dataframe_name['column_name'].apply(lambda x: ' '.join([simplemma.lemmatize(str(word), langdata) for word in word_tokenize(str(x))]))

此外,通过进一步的参数进行标记化:

word_tokenize(re.sub(r'([^\s\w]|_)+', ' ', str(x)))

最后,删除任何不需要的停用词:

from nltk.corpus import stopwords
.... str(x))) if word.lower() not in stopwords])