如何在 python 中对数据框的标记化列进行词形还原?

How can I lemmatize a tokenized column of a dataframe in python?

我尝试对数据框中的“标记化”列进行词形还原。 “标记化”列的一个单元格如下所示 " 是的,简单的苏黎世通用服务认为媒体平淡准备咖喱种类支付得好喜欢用过的半熟油性地方精心制作的不雅致的住宿机构素食印度无能为力的人服务支持蔬菜长得像普通的强者值得侮辱不是米饭厨房知道不会食物美食梦幻般的粉丝时间长期赞助人“。

当我 运行 我的代码时 returns 是这样的:“,e,n,d,e,d,p,a,y, i" 这不是我想要的。我怎样才能对完整的单词进行词形还原?

这是我的代码:

reviews_english['tokenized_lem'] = reviews_english['tokenized'].apply(
                    lambda lst:[lmtzr.lemmatize(word) for word in lst])
reviews_english

问题是您的“标记化”列看起来还没有准备好应用词形还原步骤,因为它包含一个字符串,而不是标记列表。换句话说,而不是

" yeah simply zurich generic serving ..."

你应该在你的数据框 tokenized 单元格中有一个标记列表(从你的初始句子中使用标记生成器生成),如

["yeah", "simply", "zurich", "generic", "serving", ...]

如果您的数据框单元格中没有正确的标记列表,python 将逐个字符地迭代您的 apply/lambda 列表理解,这显然不是你想要的。