[英]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.