현재 NLTK의 Naive Bayes 분류자를 사용하여 짹짹을 분류하려고합니다. 저는 '$'접두어 (예 : $ AAPL)를 사용하여 특정 주식 기호와 관련된 트윗을 분류합니다. 나는이 블로그 포스트에서 나의 파이썬 스크립트를 기초로 삼았다 : Twitter Sentiment Analysis using Python and NLTK. 지금까지 합리적으로 좋은 결과를 얻었습니다. 그러나 개선의 여지는 많이 있습니다.분류 자 기능 선택 NLTK
내 단어 기능 선택 방법에서 가장 유익한 단어를 선택하기 위해 tf-idf 알고리즘을 구현하기로 결정했습니다. 그러나 이것을 한 후에 나는 결과가 그렇게 인상적이지 않다고 느꼈다.
그런 다음이 블로그에서 기술을 구현했습니다 : Text Classification Sentiment Analysis Eliminate Low Information Features. 결과는 tf-idf 알고리즘으로 얻은 결과와 매우 유사하여 분류기의 '가장 유용한 정보'목록을 더 철저하게 검사 할 수있었습니다. 그때 나는 더 큰 문제가 있음을 깨달았습니다.
짹짹과 실제 언어는 같은 문법과 문구를 사용하지 않습니다. 일반 텍스트에서 tf-idf 또는 불용어를 사용하여 많은 기사와 동사를 선택할 수 있습니다. 그러나 트위터 코퍼스에서는 'the', 'and', 'is'등과 같이 매우 유익하지 않은 단어가 텍스트를 올바르게 분류하는 데 중요한 단어만큼이나 많이 발생합니다. 나는 3 문자 미만의 모든 단어를 제거 할 수는 없습니다. 왜냐하면 어떤 정보가없는 특징은 그보다 크고 유익한 특징은 더 작기 때문입니다.
내가 할 수 있으면 목록을 자주 업데이트해야하므로 불용어를 사용하지 않아도됩니다. 그러나 그것이 나의 유일한 선택이라면, 나는 그것과 함께 가야만 할 것 같아요.
내 질문을 요약하면, 누구든지 하는 방법을 알고 있습니까 트위터 특정 소스에서 가장 유익한 단어를 얻을?
편집 : 나는 세 그룹으로 분류하려고합니다 : 긍정적, 부정적, 중립. 또한, TF-IDF의 경우, 저 스코어 또는 높은 점수의 단어 만 잘라야합니까? 각각의 경우 텍스트 내용의 어휘 중 몇 퍼센트를 기능 선택 프로세스에서 제외시킬 것입니까?
트윗의 코퍼스는 얼마나 큽니까? 어떤 종류의 점수를 받고 있습니까? 또한 Naive Bayes와 다른 분류자를 사용하거나 단어 (예 : 작성자) 이외의 다른 기능을 사용하는 것을 고려 했습니까? –
다른 기능의 사용을 고려하지 않았습니다. 작성자가 너무 다양합니다. 내 코퍼스는 당분간 수 백개의 트윗 일뿐입니다. 점수는 내 테스트 코퍼스의 크기에 따라 (항상 커짐) 0에서 0.3까지 다양합니다. – elliottbolzan
점수에 의해, 나는 당신이 측정하고있는 정확도/F1/의미를 의미했습니다. 더 큰 코퍼스가있는 경우 더 나은 결과를 얻을 수 있습니다. idf가 훨씬 정확해질 수 있습니다. –