내 목표는 감정적 인 콘텐츠를위한 일부 코퍼스 (지금은 트위터)를 분석하는 것입니다. 오늘 나는 감정적 인 단어 줄기의 철저한 목록을 갖는 것과는 대조적으로 단어 줄기를 검색하는 것이 약간의 의미가 있다는 것을 깨달았다. 그래서 저는 네 가지 형태의 줄기가 있다는 것을 깨닫기 위해서만 nltk.stem을 탐구했습니다. 나는 LancasterStemmer, PorterStemmer, RegexpStemmer, RSLPStemmer, 또는 WordNetStemmer가 어떤 정당화가 가장 좋은지 여부를 stackoverflow 언어 학자들에게 물어보고 싶다.nltk에서 어떤 단어 스 트리머를 사용해야합니까?
9
A
답변
7
RSLP는 portugese 용입니다. 나는 네가 영어를 원한다고 생각하고있다. 정규 표현식을 사용하면 자신의 형태소 분석 표현을 개발해야하므로 무시할 수 있다고 생각합니다. WordnetStemmer는 단어의 품사를 알아야하므로 pos 태그를 먼저 사용해야합니다. 나는 포터 형태의 알고리즘을 사용하고 꽤 좋았지 만, 랭커스터 알고리즘은 더 새롭다. 그래서 더 좋을지도 모른다. 각 줄기에서 가장 짧은 줄기를 선택하는 줄기 조합을 사용해보십시오. 어쨌든, 결론은 PorterStemmer가 좋은 기본 선택이라는 것입니다.
9
당신이 묻는 것과 약간 다를 수 있지만 Nodebox Lingustics 라이브러리는 특정 감정적 인 단어의 재귀 적 hyponyms인지 확인하기 위해 단어를 검사하는 것으로 보이는 is_emotive() 기능을 포함합니다. commonsense.py에서
ekman = ["anger", "disgust", "fear", "joy", "sadness", "surprise"]
other = ["emotion", "feeling", "expression"]
흥미 진진한 방법은 아니지만 체크 아웃하는 방법입니다.