2017-03-07 93 views
-6

檢測文本(特別是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

+0

卦通常就夠了,即使是相當短的文本。 – pvg

+2

請參閱:https://pypi.python.org/pypi/langdetect/1.0.1 –

+0

@JuanT請參閱更新! –

回答

-4

我建議你使用拼寫檢查器。如果單詞不屬於某種語言,它將返回拼寫錯誤。用它來確定一個單詞是否是英語。 這是一個開源拼寫檢查器:http://aspell.net/

每個操作系統都內置了拼寫檢查。您也可以使用這些拼寫檢查器。

+1

單詞的拼寫(例如,像紀念品這樣的英文單詞)並不一定與它屬於哪種語言有關。(紀念品也是法語動詞,本身不能完全「拼寫檢查」。) – Jerrybibo

+2

有也是英語和其他語言之間通用的詞,因此您不能在此處使用拼寫檢查器來檢查屬於英語的單詞的有效性。例如,* rendezvous *在[English](https://www.merriam-webster.com/dictionary/rendezvous)和[French](http://dictionary.reverso.net/french-english/rendez儘管這是一個法語單詞,但它確實是一個法語單詞。 – rayryeng

5

您可以使用ployglot軟件包的語言檢測功能。

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

*謝謝,我們如何判斷langid是否更好或者polyglot.detect一般? –

+3

我不認爲他們中的任何人都能完美地檢測語言。要決定哪一個更好,需要對兩者進行一些測試。 Polyglot有一些額外的功能,如通過混合文本等進行檢測。我不確定它可以通過langid來完成。 – Rohanil