我们在使用谷歌翻译的时候,它有一个语言检测功能,如下:
其实在Python中也有这样一个语言检测模块,langdetect,可以判断字符串的语言,支持Python2.6, 2.7, 3.x。
af,ar,bg,bn,ca,cs,cy,da,de,el,en,es,et,fa,fi,fr,gu,he,hi,hr,hu,id,it,ja,kn, ko,lv,mk,ml,mr,ne,nl,no,pa,pl,pt,ro,ru,sk,sl,so,sq,sv,sw,ta,te,th,tl,tr, uk,ur,vi,zh-cn,zh-tw
小贴士:ISO 639是用于对语言进行分类的标准化命名法。每种语言都分配了两个字母(639-1)和三个字母(639-2和639-3),在术语的后续版本中进行了修订。该系统对语言学家和民族志研究人员非常有用,可以区分地区基础上使用的语言,并计算词汇统计学领域的分析。具体的分类有兴趣的大家可以点击上面的链接看一下。
安装方法如下:
pip install langdetect
使用后大致可以完成如下的功能:
采用命令行方式使用的话如下:
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
>>> 'en'
>>> detect("Ein, zwei, drei, vier")
>>> 'de'
要找出可能语言的概率:
>>> from langdetect import detect_langs
>>> detect_langs("Otec matka syn.")
>>>[sk:0.572770823327, pl:0.292872522702, cs:0.134356653968]
语言检测算法是非确定性的,这意味着如果您尝试在文本太短或太模糊的情况下运行它,则每次运行时都可能得到不同的结果。
为了执行一致的结果,请在第一次语言检测之前调用以下代码:
>>> from langdetect import DetectorFactory
>>> DetectorFactory.seed = 0
切记:文本不要太短,否则结果很奇葩!如下图:
实操有疑问?来讨论吧!学点编程吧-百度贴吧--计算机程序学习的园地!--学点编程吧,让我们的生活更简单,更高效!能用计算机解决的事情,尽量不要让人解决。如果你在学习当中有任何疑问、学习心得、职业发展等内容欢迎在贴吧中分享,让我tieba.baidu.com