2017-04-09 1 views
0
"단일 용량"와 같은 텍스트를 갖는

내 파이썬 프로그램은nltk의 톤 (감정) 분석에서 저울에 약하거나 강한 감정의 지표를 어떻게 표시합니까? 당신이 보는대로

그러나 (NaiveBayes 분류 및 교육 데이터 세트를 사용하여)

{'joy': 0.18, 'shame': 0.03, 'sadness': 0.53, 'guilt': 0.01, 'disgust': 0.14, 'anger': 0.08, 'fear': 0.007} 

같은 다양한 감정의 확률의 사전을 반환 이 본문에는 그것에 강한 감정이 없습니다. 따라서 나는 각 감정이 얼마나 강한지를 나타내는 또 다른 사전을 가지고 있어야합니다.

고객 리뷰의 또 다른 예로서 "meh"에 대한 약한 감정 표시기와 반대로 "Fuck this"에 대한 강한 감정 표시기를 반환하고 싶습니다. 하지만 사실적인 문장에 태그를 지정하고 싶지 않은 경우 "토요일에 이것을 구입했습니다"와 같이

나는 그 어떤 단서도 찾지 못했기 때문에 나는 아무 것도 시도하지 않았습니다. 내가 희망하는 유일한 것, 나는 위의 사전을 약점/힘의 척도가있는 다른 사전으로 직접 변환하고이 목적을위한 별도의 훈련 및 분류 과정을 피하는 것입니다.

또 다른 점은 사전에 확률의 합이 위의 1하지만 내 원하는 출력에, 그것은 반드시 1이 (즉. 정규화)

이 어떤 생각이 감사 할 필요가 없다는 것입니다.

+0

정확하게 이해하면 다른 결과 (강한 긍정적/약한 긍정적/약한 부정/강한 부정)가 필요합니다. 귀하의 모델이 귀하의 작업을 위해 설계되지 않은 것 같습니다. 다른 것을 찾을 수 있는지 보거나, 직접 훈련하십시오. – HowYaDoing

답변

0

당신은 NLTK 나이브 베이 즈 분류기의 코드를 확인하는 경우 :

http://www.nltk.org/_modules/nltk/classify/naivebayes.html

당신은 점수가이 호출이 정상화되는 것을 볼 수 있습니다 : 당신이 그 라인을 변경하는 경우

return DictionaryProbDist(logprob, normalize=True, log=True) 

normalize = False이면 원시 확률을 얻습니다.