簡體   English   中英

從數據集中刪除最常用的單詞

[英]Drop most frequent words from dataset

我正在嘗試處理文本,其中重復很多。 我之前在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()

我想您會找到所需的一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM