从数据集中删除最常用的单词



我正在尝试处理文本,其中有很多重复。我之前从 SKLearn 使用过 tf-idf 矢量化器,它有一个参数max_df=0.5 .这意味着,如果该单词出现在超过 50% 的输入中,则不会使用它。我想知道在Python中是否有类似的功能,或者Doc2Vec或NLTK:我想删除超过50%的数据集中存在的单词,而不对其进行矢量化处理。

例如,我想从数据帧进行如下:

0 | This is new: A puppy ate cheese! See?
1 | This is new: A cat was found. See?
2 | This is new: Problems arise. See?

像这样的输出:

0 | puppy ate cheese
1 | cat was found
2 | problems arise

我已经完成了去大写和停用词删除,现在我只想删除最常见的单词。我还想存储此信息,因为可能会有新的输入,并且我想从新输入中删除我在原始语料库中发现的相同常用单词。

你可以做

import nltk 
allWords = nltk.tokenize.word_tokenize(text)
allWordDist = nltk.FreqDist(w.lower() for w in allWords) 

其次

mostCommon= allWordDist.most_common(10).keys()

在预处理中?

如果你研究

allWordDist .items()

我想你会找到你需要的一切。

相关内容

  • 没有找到相关文章

最新更新