Обнаружение, если текст не является английским

Какой самый точный метод для определения, если текст (в частности, комментарии в Instagram) не на английском языке? Я счастлив использовать любой язык высокого уровня, такой как Python, PHP и т. Д.

$ sudo pip2 install guess_language
>>> from guess_language import guessLanguage
>>> guessLanguage('la vita e bella')
'UNKNOWN'
>>> guessLanguage('today is a good day')
'UNKNOWN'
>>> guessLanguage('ボウリング・フォー・コロンバイン(字幕版)')
'ja'

и с

$ sudo apt-get install php5.6-mbstring

if(strlen($comment->text) == mb_strlen($comment->text, 'utf-8')) {
echo '- '.$comment->text."\n";
}

Я получаю много вещей с английским характером, которые не являются английскими:
Примеры:

- Khoda be khanevadehashon sabr bede tahamol konan
- Akhey...
- Eshghi
- K
- :-)
- Ey khodaa
- ...
- @samaneaghazamani1990 vaaaaay khoda chejoori payam dadan?
- :(
- Elahiiiii
- May Allah please with them and grant higher rank of jannah salutes to the  bravehearts @taraneh_alidoosti @fanpagemostafazamani
- Elaaaahiii
- Roohetoon shad.
- :'(
- Roheshon shad!! Yadeshon gerami!!
- .:'(
- :-(
- Oooo
- Awli

Я не хочу использовать что-то вроде Google Translate, так как имею дело с большим количеством данных.

Обновить:

$ sudo pip2 install langdetect
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
'en'
>>> 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'

«Так» относится к неизвестному? Я ожидал, что today is a good day считаться en!

-6

Решение

Ты можешь использовать ployglot функция определения языка пакета.

>>> from polyglot.detect import Detector
>>> print(Detector('today is a good day.').language)
name: English     code: en       confidence:  95.0 read bytes:  1792
5

Другие решения

Я предлагаю вам использовать проверку орфографии. Это вернет орфографическое неверное слово, если слово не принадлежит языку. Используйте это, чтобы определить, является ли слово английским или нет.
Вот проверка орфографии с открытым исходным кодом: http://aspell.net/

Каждая ОС имеет встроенную проверку орфографии. Вы также можете использовать их.

-4

По вопросам рекламы [email protected]