缘起
项目需要,找一个可以识别语种的方法。 目前Api的方式有华为自然语言处理平台or其他的把,但是大多都需要收费,偶然间发现有一个python的项目 saffsd/langid.py: Stand-alone language identification system (github.com) 但是项目上一次更新在6 years ago,因此又发现了langdetect (55 种语言)库以及fastlid (176 种语言) ,使用过后,在此介绍一下fastlid 库。
fastlid 开源链接:
ffreemt/fast-langid: Detect language of a given text, fast (github.com)
pip 安装
这个地方要注意点点,fastlid需要先安装fasttext 库。
fasettext 安装
fasttext 依赖C++库文件,因此需要在Python Extension Packages for Windows - Christoph Gohlke (uci.edu)下载对应版本的whl包,通过pip安装即可。
安装命令:
pip install fasttext*.whl
当然,如果你有c++库这些,直接也可
pip install fasttext
fastlid
接下来就直接pip 安装即可
pip install fastlid
代码示例
from fastlid import fastlid, supported_langs
print(supported_langs, len(supported_langs))
fastlid("test this")
fastlid("test this 测试一下", k=2)
fastlid.set_languages = ['fr', 'zh']
fastlid("test this 测试吧")
fastlid.set_languages = None
fastlid("test this 测试吧")
('en', 0.686)
fastlid.set_languages = ['fr', 'zh', 'en']
fastlid("test this 测试吧", k=3)
(['en', 'zh', 'fr'], [0.686, 0.01, 0.006])
繁体识别
参见tsroten/hanzidentifier: Python module that identifies Chinese text as being Simplified or Traditional (github.com)
|