当前位置:   article > 正文

语种检测 python库_python通过语言判断语种

python通过语言判断语种

前言

记录使用过的语种检测python库

语言及其对应英文缩写表参考:
维基百科:List of ISO 639-1 codes
ISO 639-1代码表截图

一、fastText

官网

https://fasttext.cc/

支持的语言

# 可以识别 176 种语言
af als am an ar arz as ast av az azb ba bar bcl be bg bh bn bo bpy br bs bxr ca cbk ce cebckb co cs cv cy da de diq dsb dty dv el eml en eo es et eu fa fi fr frr fy ga gd gl gn gom gu gv he hi hif hr hsb ht hu hy ia id ie ilo io is it ja jbo jv ka kk km kn ko krc ku kv kw ky la lb lez li lmo lo lrc lt lv mai mg mhr min mk ml mn mr mrj ms mt mwl my myv mzn nah nap nds ne new nl nn no oc or os pa pam pfl pl pms pnb ps pt qu rm ro ru rue sa sah sc scn sco sd sh si sk sl so sq sr su sv sw ta te tg th tk tl tr tt tyv ug uk ur uz vec vep vi vls vo wa war wuu xal xmf yi yo yue zh
  • 1
  • 2

安装

pip install fasttext-langdetect
# 网址:https://pypi.org/project/fasttext-langdetect/
  • 1
  • 2

使用

from ftlangdetect import detect

input_text = input('Enter input text\n')
lan = detect(text=input_text, low_memory=False)['lang']
print(f"Detected language: {lan}")
# Enter input text
# I do not speak english
# Detected language: en
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

其他

网页 https://pypi.org/project/fasttext-langdetect/ 中还包括信息:

  1. 在 Wili-2018 数据集上 cld2、langid 和 langDetect 对 fasttext 模型进行基准测试的结果。
  2. cld2、langid、langDetect、fasttext分别在每种语言上的召回率结果。

二、langid

langid.py is a standalone Language Identification (LangID) tool.

支持的语言

# 可以识别 97 种语言
af、am、an、ar、as、az、be、bg、bn、br、bs、ca、cs、cy、da、de、dz、el、en、eo、es、et、eu、fa、fi、 fo、fr、ga、gl、gu、he、hi、hr、ht、hu、hy、idis、it、ja、jv、ka、kk、km、kn、ko、ku、ky、la、lb、 lo、lt、lv、mg、mk、ml、mn、mr、ms、mt、nb、ne、nl、nn、no、oc、或、pa、pl、ps、pt、qu、ro、ru、rw、 se、si、sk、sl、sq、sr、sv、sw、ta、te、th、tl、tr、ug、uk、ur、vi、vo、wa、xh、zh、zu
  • 1
  • 2

安装

pip install langid
# 网址:https://pypi.org/project/py3langid/
  • 1
  • 2

使用

import langid

>>> langid.classify("I do not speak english")
('en', 0.57133487679900674)
  • 1
  • 2
  • 3
  • 4

其他

网页 https://pypi.org/project/py3langid/ 中还包括可选参数等信息。

三、polyglot

官网

https://polyglot.readthedocs.io/en/latest/index.html

支持的语言

# 可以识别 165 种语言
from polyglot.utils import pretty_list
print(pretty_list(Detector.supported_languages()))
  • 1
  • 2
  • 3

安装

pip install polyglot
# 网址:https://polyglot.readthedocs.io/en/latest/Installation.html
  • 1
  • 2

使用

from polyglot.detect import Detector

detector = Detector(arabic_text)
lang = detector.language
print(lang)  # name: Arabic      code: ar       confidence:  99.0 read bytes:   907
language = re.findall("code: ([_a-zA-Z]+) ", lang)[0]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其他

网页 https://polyglot.readthedocs.io/en/latest/Detection.html 中还包括混合语言文本检测等信息。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/571614
推荐阅读
相关标签
  

闽ICP备14008679号