4
我使用langdetect
来确定一组字符串的语言,我知道这些字符串可以是英文或法文。Python langdetect:只在一种语言或其他语言之间进行选择
有时,langdetect
告诉我语言是罗马尼亚语,因为我知道这是一个法语字符串。
我该如何让langdetect
只用英文或法文进行选择,而不是所有其他语言?
谢谢!
我使用langdetect
来确定一组字符串的语言,我知道这些字符串可以是英文或法文。Python langdetect:只在一种语言或其他语言之间进行选择
有时,langdetect
告诉我语言是罗马尼亚语,因为我知道这是一个法语字符串。
我该如何让langdetect
只用英文或法文进行选择,而不是所有其他语言?
谢谢!
我会做到这一点的方法是使用detect_langs
,它返回Language
对象与概率的列表,然后通过这个列表循环,返回语言,如果其中一个选项是英语或法语,或None
如果这情况并非如此。此功能适用于此目的:
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
lang detect kinda .. sucks。 “38 HewcnonHe,!Me PlrIM HellaA.ne * aulee kicnon} le,wle npeAy(MOTpeHHbix AorOBOpOM”被检测为en – thang
@thang您期望从完美工具中得到什么样的输出?langdetect会尝试将每个字符串适合某种语言如果你用它来检测无意义的字符串,当然会中断。 – Jeyekomon
我认为这是从俄罗斯的pdf文档复制的。 – thang