2025年3月24日 星期一 甲辰(龙)年 月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 库识别文本中的语种, 语种检测

时间:01-24来源:作者:点击数:24

本文介绍三个本地运行,不需要联网就能识别文本中的语种的python库。

1. Chardet

Chardet 库是 python 中的字符编码自动检测。encode 即编码

安装:pip install chardet

本地字符串语种检测使用:

  • import chardet
  • print(chardet.detect("Я люблю вкусные пампушки".encode('cp1251')))
  • 输出:
  • {'encoding': 'windows-1251', 'confidence': 0.9787849417942193, 'language': 'Russian'}

检测文件xml中的语种:

  • import glob
  • from chardet.universaldetector import UniversalDetector
  • detector = UniversalDetector()
  • for filename in glob.glob('*.xml'):
  • print(filename.ljust(60), end='')
  • detector.reset()
  • for line in open(filename, 'rb'):
  • detector.feed(line)
  • if detector.done: break
  • detector.close()
  • print(detector.result)

2. Langdetect

非常实用的小需求python库。

安装:pip install langdetect

检测:

  • from langdetect import detect, DetectorFactory, detect_langs
  • # DetectorFactory.seed = 0
  • print(detect('今一はお前さん'))
  • 输出:
  • ja

语言检测算法是不确定的,这意味着如果您尝试在太短或太模糊的文本上运行它,则每次运行它时可能会得到不同的结果。如果要强制执行一致的结果,可以在语言检测之前调用DetectorFactory.seed = 0

如果想要输出排名靠前的语言的概率:

  • from langdetect import detect_langs
  • detect_langs ( "Otec matka syn." )
  • 输出:
  • [ sk : 0.572770823327 , pl : 0.292872522702 , cs : 0.134356653968 ]

3. Langid

安装:pip install langid

检测:

  • import langid
  • print(langid.classify("今一はお前さん"))
  • 输出:
  • ('ja', -143.23792815208435)

以上。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门