2011-07-05 6 views
6

텍스트 메시지를 "관계 구축", "조정", "정보 공유", "지식 공유"& "충돌 해결"과 같은 여러 범주로 분류하려고합니다. 이 데이터를 처리하기 위해 NLTK 라이브러리를 사용하고 있습니다. nltk의 어떤 분류 자 ​​(classifier)가이 특정한 다중 - 클래스 분류 문제에 더 잘 맞는지 알고 싶습니다.NLTK에서 선택할 분류기

Naive Bayes Classification을 사용할 계획입니까? 맞습니까?

답변

8

나이브 베이 즈 분류기를 이해하기 간단하고 쉽게 그 이유는 사용하는 것이 좋다. 최상의 분류를 찾기 위해 빔 검색을 사용하는 의사 결정 트리는 이해하기가 훨씬 더 어렵지 않고 일반적으로 약간 더 좋습니다. MaxEnt와 SVM은 더 복잡해지며 SVM은 올바르게 작동하려면 약간의 튜닝이 필요합니다.

가장 중요한 것은 기능의 선택 + 사용자가 제공하는 데이터의 양/품질입니다.

문제가 있으면 우선 데이터를 테스트하고 좋은 기능을 선택하는 데 집중해야합니다. 이 질문을하는 동안 NLP에 대한 기계 학습에 대한 많은 경험이 없었기 때문에 Naive Bayes는 복잡한 기능을 사용하지 않으므로 쉽게 시작할 수 있습니다. 단어 토큰을 토큰 화하고 계산할 수 있습니다.

편집 : 질문 How do you find the subject of a sentence?과 제 대답은 또한 가치가 있습니다.

+1

답장을 보내 주셔서 감사합니다.나는 SMS 문자 메시지를 분류하고있다. 언어의 약 50 %는 비정상적이다 (어휘 밖). 그래서 나는 모세 통계적 기계 번역 도구를 사용하여 약 15-20 %의 OOV를 가진 적절한 영어 텍스트로 SMS를 표준화했다. . 이러한 텍스트 메시지를 정규화하는 다른 방법을 권합니다. – Maggie

+0

불행히도 나는 텍스트 정규화에 대해서는 언급 할 수 없다. 이모티콘 및 약어 사전이있을 수 있습니까? 트위터 + SMS 정말 어렵습니다! – nflacco

2

예, 각 카테고리에 Naive Bayes Classifier를 교육 한 다음 Classifier가 가장 높은 점수를 제공하는 클래스를 기준으로 각 메시지에 레이블을 지정하는 것은 이와 같은 문제에 대한 표준 첫 번째 방법입니다. Support Vector Machine (Weka 플러그인을 통해 NLTK에서 사용할 수 있다고 믿지만 긍정적이지는 않습니다)과 같이 성능이 부적절한 경우 Naive Bayes를 대신 할 수있는보다 정교한 단일 클래스 분류기 알고리즘이 있습니다. Naieve Bayes가 특히 부적절하게 만들 수있는이 문제 영역의 특정 사항을 생각할 수 없다면 많은 프로젝트에서 "처음 시도"를하십시오.

다른 NLTK 분류기는 멀티 클래스 분류를 기본적으로 처리한다고 생각하므로 MaxEnt가 될 것이라고 생각합니다. (비록 다중 바이너리 클래스 화 접근법이 매우 표준적이고 공통적이기는하지만). 어쨌든 가장 중요한 것은 올바르게 태그 된 텍스트 메시지의 매우 큰 코퍼스를 수집하는 것입니다.

"휴대 전화 문자 메시지"를 사용하는 경우 문자 메시지가 매우 짧고 언어가 매우 비공식적이고 다양하기 때문에 분류 기준보다 정확도를 결정하는 데 더 큰 요소가 될 수 있습니다 당신을위한 선택. 예를 들어, 사용되는 일반적인 약어 및 관용구를 이해하는 Stemmer 또는 Lemmatizer를 사용하여 부분 음성 또는 청크에 태그를 지정하고 엔티티 추출을 사용하면 아마도 용어 간의 관계를 추출하는 것이 더 복잡한 분류자를 사용하는 것보다 더 큰 효과를 낼 수 있습니다.

이 기사에서는 같은 문제가있는 정서에 따라 Facebook 상태 메시지를 분류하는 방법에 대해 설명하고 이에 대한 통찰력을 제공합니다. 나는 원래 사이트 승/문제가 발생하기 때문에 링크는 구글의 캐시입니다 :

http://docs.google.com/viewer?a=v&q=cache:_AeBYp6i1ooJ:nlp.stanford.edu/courses/cs224n/2010/reports/ssoriajr-kanej.pdf+maxent+classifier+multiple+classes&hl=en&gl=us&pid=bl&srcid=ADGEESi-eZHTZCQPo7AlcnaFdUws9nSN1P6X0BVmHjtlpKYGQnj7dtyHmXLSONa9Q9ziAQjliJnR8yD1Z-0WIpOjcmYbWO2zcB6z4RzkIhYI_Dfzx2WqU4jy2Le4wrEQv0yZp_QZyHQN&sig=AHIEtbQN4J_XciVhVI60oyrPb4164u681w&pli=1

+0

답변 해 주셔서 감사합니다. 예 나는 SMS와 언어를 매우 비공식적으로 (분명히) 단어의 약 50 %가 (어휘 밖) OOV이므로 Moses statistical Machine Translation 도구를 사용하여 약 15-20 %의 OOV로 해당 SMS를 정규화했습니다. 이러한 텍스트 메시지를 정규화하는 다른 방법을 권합니다. – Maggie

관련 문제