5

간단한 문제부터 시작하겠습니다. 제가 350 자의 문장을 가지고 문장을 "좋은 기분"양동이 또는 "나쁜 기분"양동이에 넣고 싶다고합시다.기분별로 문장을 버리십시오.

문장을 버킷에 넣을 알고리즘을 설계하는 가장 좋은 방법은 무엇입니까?

답변

5

기분별로 문장을 손으로 분류합니다. 그런 다음 이들을 순진한 Bayes 분류기에 공급합니다. SpamBayes과 같은 것을 시작점으로 사용하십시오.

+0

베이즈가 제대로 작동하지 않으면 http://en.wikipedia.org/wiki/C4.5_algorithm을 시도해 볼 수 있습니다. – ldog

1

간단하고 순진한 제안은 먼저 각 문장을 개별 단어로 분할하거나 정규 표현식을 사용하여 "양성"목록 (예 : "좋아요", "행복함", "수 있습니다" ","할 "등)과"부정적인 "목록 ("싫어하다 ","슬프다 ","할 수 없다 ","하지 않는다 "), 각 문장에서 더 널리 퍼진 운동 .

요구 사항 및 데이터 세트에 따라 적절할 수도 있고 Bayesian filtering과 같은 고급 기술을 조사 할 수도 있습니다.

+1

"문제가 아니었다"고 말하면 문제가있는 것입니다. "나쁜"2 개의 단어가 있지만 그것은 정말로 긍정적 인 문장입니다.또한 "끔찍하게 잘못되었습니다"는 나쁜 문장이므로 짝수 = 양수를 수행 할 수 없습니다. – locoboy

+0

나는 모든 경우를 매우 현명한 방법으로 다루겠다고 결코 말하지 않았다. 그것은 그의 데이터 세트에 달려 있으며, 얼마나 많은 시간을 그가 쓰고 싶어하는지에 달려있다. "완벽한 솔루션"에 시간과 노력을 투자 할 가치가 없을 수도 있습니다. –

+0

단어는 물론 단어 쌍, 단어 조합 등을 고려하여 기본적인 아이디어를 만들 수 있습니다. 모든 n에 대해 모든 n 개의 튜플을 고려함으로써 모든 정보를 고려할 수 있습니다. 엄청난 양의 데이터가 없으면 일반적으로 n의 높은 값 (실제로는 쌍 또는 트리플을 넘어)에 대한 많은 정보를 제공하지 않으므로 낮은 값의 n에서 자릅니다. 그러나 Bayes 분류기에서 수행되는 작업과 정확히 동일하므로 작업을 저장하고 기존 작업을 저장하십시오. –

0

Weka 도구를 사용하면 문제를 해결할 수있는 분류 프로그램을 학습 할 수 있습니다. 난 훈련 의사 결정 나무에 대한 C4.5 알고리즘의 구현이라고 생각하는 J48 알고리즘을 사용하는 것이 좋습니다.

0

여러 문장의 기계 학습을 시도해보십시오. 기분의 지표로 웃음 등 일부 기능을 사용하십시오. 품질을 관찰하고 기능 세트를 추가/수정하십시오.

1

문장의 도메인과 필요한 정확도에 따라 매우 어려운 문제 일 수 있습니다. 정서 분석에 관한 많은 학술 논문이 있습니다. 좋은 시작은 here - 짧고 고전적인 종이 일 수 있습니다.

나는 점차 더 나은 분류로 이어질 것 취할 좋을 것 단계 :

  1. 손이 일부 문서를 분류하고, 준비가 만든 알고리즘을 훈련하는 데 사용할이. SVM (예 : LibSVM in WEKA 또는 SVMLight 사용)을 사용하는 것이 좋겠지 만 위에 제시된 바와 같이 Naive Bayes 또는 의사 결정 트리도 사용할 수 있습니다.

  2. 핸드는 더 많은 문서를 분류하고 unigram 기반 모델에서보다 정교한 모델로 이동합니다. bigram 또는 품사 기반. 이것은 TagHelper tools으로 매우 쉽게 수행 할 수 있습니다. 그러면이 기술을 사용하여 텍스트를 가져와 WEKA 준비 파일로 변환합니다. 이렇게하면 각 용어의 분위기에 일부 상황이 추가됩니다 (예 : "not"및 "bad"대 "bad not").

  3. 마지막으로 사용자 정의 규칙과 사전을 추가하여 도메인 특정 지식을 알고리즘에 추가 할 수 있습니다. 그것들은 동일한 분류 엔진이나 추가적인 분류 단계를위한 추가 기능으로 표현 될 수 있습니다.

1

이것은 Sentiment Analysis이며, 위키 백과 문서에는 사용 가능한 기술에 대한 설명이 잘 나와 있습니다. 한 가지 쉬운 방법은 Google Prediction API을 사용하고 긍정적, 부정적 및 중립적 인 감성 문장 세트로 교육하는 것입니다.

관련 문제