2016-05-15 14 views
4

私はlangdetectを使用して、私が知っている文字列のセットを英語かフランス語かを決定しています。Python langdetect:1つの言語か他の言語かを選択する

時々、langdetectは、私が知っている文字列のルーマニア語がフランス語であると教えてくれます。

どのようにすればlangdetectを英語またはフランス語のみで選択できますか?それ以外の言語はどれですか?

ありがとうございます!

答えて

3

私はこれを行うだろう方法は、オプションのいずれかが英語やフランス語、またはNoneこの場合であれば言語を返し、確率とLanguageオブジェクトのリストを返すdetect_langsを使用して、このリストを反復することですそうではありません。この機能はこの目的のためにうまくいきます:

from langdetect import detect_langs 

def englishOrFrench(string): 
    res = detect_langs(string) 
    for item in res: 
     if item.lang == "fr" or item.lang == "en": 
      return item.lang 
    return None 

print(englishOrFrench("Bonjour"))    # fr 
print(englishOrFrench("The quick brown fox")) # en 
print(englishOrFrench("Hallo, mein Freund")) # None 
+1

lang detect kinda .. sucks。 "38 Hewcnon、!私はあなたが完璧なツールからどんな出力を期待していますか?langdetectはすべての文字列をある言語に適合させようとしていますので、 – thang

+1

@thangとして検出されます(MOTpeHHbIX AorOBOpOM)。意味のない文字列を検出するためにそれを使用すると、もちろん破損します。 – Jeyekomon

+0

私はそれがロシアのpdf docからコピーされたと思います。 – thang

関連する問題