2010-07-05 5 views
23

NLTK를 사용하여 텍스트가 작성된 언어를 어떻게 검색합니까?NLTK 및 언어 감지

내가 사용한 예제는 nltk.detect이지만 Mac에 설치하면이 패키지를 찾을 수 없습니다.

답변

26

다음 코드 조각을 보았습니까? http://groups.google.com/group/nltk-users/browse_thread/thread/a5f52af2cbc4cfeb?pli=1&safe=active

또는 다음 데모 파일에서

english_vocab = set(w.lower() for w in nltk.corpus.words.words()) 
text_vocab = set(w.lower() for w in text if w.lower().isalpha()) 
unusual = text_vocab.difference(english_vocab) 

?

https://github.com/saffsd/langid.py

이 가져 매우 간단하고 많은 수의 포함이이 NLTK에 아니지만

https://web.archive.org/web/20120202055535/http://code.google.com/p/nltk/source/browse/trunk/nltk_contrib/nltk_contrib/misc/langid.py

+0

PS는 여전히하지만, nltk.detect에 의존했다. Mac에 설치하는 방법에 대한 아이디어가 있습니까? – niklassaers

+0

나는 detect가 nltk의 기본 모듈이라고 믿지 않습니다. 다음 코드는 다음과 같습니다. http://docs.huihoo.com/nltk/0.9.5/api/nltk.detect-pysrc.html 아마도 다운로드하여 파이썬 라이브러리에 넣을 수 있습니다. : /Library/Python/2.x/site-packages/nltk ... –

+0

이것을 확인하십시오. http://blog.alejandronolla.com/2013/05/15/detecting-text-language-with-python -and-nltk/ –

15

, 나는 또 다른 파이썬 기반 라이브러리 좋은 결과를 있었다 그 모델의 언어.

18

이 라이브러리는 NLTK이 아니지만 분명 도움이됩니다.

$ sudo를가 langdetect 설치 PIP

지원 파이썬 버전 2.6, 2.7, 3.x를

>>> from langdetect import detect 

>>> detect("War doesn't show who's right, just who's left.") 
'en' 
>>> detect("Ein, zwei, drei, vier") 
'de' 

https://pypi.python.org/pypi/langdetect?

P.S이 올바르게 항상 일을 기대하지 마십시오 .: :

>>> detect("today is a good day") 
'so' 
>>> detect("today is a good day.") 
'so' 
>>> detect("la vita e bella!") 
'it' 
>>> detect("khoobi? khoshi?") 
'so' 
>>> detect("wow") 
'pl' 
>>> detect("what a day") 
'en' 
>>> detect("yay!") 
'so' 
+1

항상 작동하지 않는다는 것을 지적 해 주셔서 감사합니다. '감지 ("너 집으로 만들었 어!")''나에게 "fr"을주고있다. 나는 더 좋은 것이 있는지 궁금합니다. –

+1

다른 재미있는 관찰이 있습니다. 매번 같은 대답을주는 것 같지 않습니다. '>>> detect_langs ("안녕하세요, 전 기독교인입니다.") [it : 0.8571401485770536, ko : 0.14285811674731527] >>> detect_langs ("안녕하세요, 저는 기독교인입니다.") [it : 0.8571403121803622, fr : 0.14285888197332486] >>> detect_langs ("안녕하세요, 전 기독교인입니다.") [it : 0.999995562246093]' –