0
NLTK Collocations를 사용하여 Trigram을 찾고 'training_set'은 많은 텍스트 줄이있는 문자열입니다.NLTK Colligations에서 Trigrams를 찾는 동안 인식 할 수없는 단어 얻기
finder = TrigramCollocationFinder.from_words(str(training_set))
print finder.nbest(trigram_measures.pmi, 5)
하지만
[('\xe5', '\x8d', '\xb8'), ('\xe5', '\x85', '\x8d'), ('\xe2', '\x80', '\x9c'), ('\xe2', '\x80', '\x9d'), ('\xe2', '\x80', '\xa6')]
로 출력을 얻고이 어떤 인코딩 문제인가? 어떻게하면 정상적인 영어 단어를 얻을 수 있습니까?
디코딩 및 인코딩 스크립트를 실행하면 빈 문자열이 표시됩니다. – Shivendra
외국 문자이기 때문에 영어 단어가 아닐 것입니다. 실제 문자를 얻으려면 인코딩 부분을 생략하면됩니다. >>> print '\ xe5 '.decode ('windows-1252 ') å. 그것은 또한 당신이 가지고있는 것이 단어의 삼중주가 아니라 개별 편지의 것 인 것처럼 보입니다. TrigramCollocationFinder로 보내기 전에 텍스트를 토큰 화해야 할 가능성이 큽니다. – leavesof3
finder = TrigramCollocationFinder.from_words (nltk.word_tokenize (str (training_set))) – leavesof3