2017-11-05 7 views
0

나는 많은 반복이있는 텍스트로 작업하려고합니다. 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 

나는 이미 드 대문자와 중지 단어 제거를 완료했습니다

예를 들어

, 나는 같은 dataframe에서하고 싶습니다 , 이제 가장 자주 나오는 단어를 지우고 싶습니다. 또한 새로운 정보가 들어올 때이 정보를 저장하고 싶습니다. 원래 입력란에서 자주 사용되는 것과 동일한 빈번한 단어를 새 입력에서 제거하고 싶습니다.

답변

1

당신은

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() 

로 보면

나는 당신이 당신이 필요로하는 모든 것을 찾을 것이라 생각합니다.