如何更改以列表理解形式呈现的词形还原词的输出?

问题描述

我正在努力使用我的词形还原方法,因为输出提供了以下内容

词形还原
1 [i,b,e,o,k,a,y,...

虽然我希望输出如下所示,以便我可以提取到 CSV 文件中并进行进一步分析:

词形化
1 我没事

我正在使用 CSV 文件进行分析并应用以下方法

  1. 应用词性标签
  2. 使用 NLTK 的词词形还原器将词性标签转换为 wordnet 格式
  3. 在列表理解中应用 NLTK 的词形还原法。

我的代码如下:

import pandas as pd
import nltk
from nltk.stem import WordNetLemmatizer

df = pd.read_csv(r"C:xxxxx")
rws=df.loc[:,['MESSAGE']]
rws['pos_tags'] = rws['MESSAGE'].apply(nltk.tag.pos_tag)
def get_wordnet_pos(tag):
    if tag.startswith('J'):
        return wordnet.ADJ
    elif tag.startswith('V'):
        return wordnet.VERB
    elif tag.startswith('N'):
        return wordnet.NOUN
    elif tag.startswith('R'):
        return wordnet.ADV
    else:
        return wordnet.NOUN
rws['wordnet_pos'] = rws['pos_tags'].apply(lambda x: [(word,get_wordnet_pos(pos_tag)) for (word,pos_tag) in x])
wnl = WordNetLemmatizer()
rws['lemmatized'] = rws['wordnet_pos'].apply(lambda x: [wnl.lemmatize(word,tag) for word,tag in x])

任何人都可以指导我做错什么吗?提前致谢。

解决方法

明白了,伙计们,这很简单(难堪)。我很抱歉措辞不正确。我想把每一行放回字符串中。因此,我使用的代码是:

rws["final"]= rws["lemmatized"].str.join(" ")