如何用仅包含所有标记的引理的字符串替换列? [关闭]

Posted

技术标签:

【中文标题】如何用仅包含所有标记的引理的字符串替换列? [关闭]【英文标题】:How to replace a column with string only containing the lemmas of all the tokens? [closed] 【发布时间】:2022-01-06 21:26:13 【问题描述】:

我在数据框中有一个列名“Text_Tweet”,其中每一行都包含一条推文。

如何将每行推文替换为仅包含每个词条的字符串?

【问题讨论】:

这个问题有点笼统,没有提供任何输入或细节...... 【参考方案1】:

nltk 包中有一个内置实用程序,它允许我们以最简单的方式对单词进行词形还原。最后,我们将独自面对这样的事情:

from nltk.stem import WordNetLemmatizer
import pandas as pd 
your_dataframe = pd.DataFrame(
    'Text_Tweet':['rocks corpora', 'corpora rocks']
)
lemmatizer = WordNetLemmatizer()
your_dataframe['Processed_Tweet'] = your_dataframe['Text_Tweet'].apply(lambda item:' '.join([lemmatizer.lemmatize(word) for word in item.split()]))
your_dataframe

输出:

      Text_Tweet Processed_Tweet
0  rocks corpora     rock corpus
1  corpora rocks     corpus rock

【讨论】:

【参考方案2】:

试试这个:

import nltk
w_tokenizer = nltk.tokenize.WhitespaceTokenizer()
lemmatizer = nltk.stem.WordNetLemmatizer()

def lemmatize_text(text):
    return [lemmatizer.lemmatize(w) for w in w_tokenizer.tokenize(text)]

#example of datasets
df = pd.DataFrame(['I am a boy', 
                   'He likes these books', 
                   'There were four columns'], columns=['Text_Tweet'])

df['lemm'] = df.Text_Tweet.apply(lemmatize_text)

【讨论】:

以上是关于如何用仅包含所有标记的引理的字符串替换列? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章