先给一些例子,可以直观看出要做什么事,
Input text: "ру́сский язы́к"
Output text: "Russian"
Input text: "中文"
Output text: "Chinese"
Input text: "にほんご"
Output text: "Japanese"
Input text: "العَرَبِيَّة"
Output text: "Arabic"
有比较多的 Python 库可以做这件事情,这个贴子列了七八个,当前还比较流行的,是langdetect
。不过它识别率和性能都比较差,而基于神经网络模型的fasttext
的效果和性能都更好。但langdetect
有很容易理解的编程接口,所以有人基于fasttext
做了fasttext-langdetect
,易于编程,性能和准确性都很好。
from ftlangdetect import detect
result = detect(text="Bugün hava çok güzel", low_memory=