pemistahl/lingua-py

The most accurate natural language detection library for Python, suitable for short text and mixed-language text

解决的问题

Lingua 是一个专为准确识别给定文本语言而设计的语言检测库,即使面对极短的文本片段(如单个单词或短语)也能有效工作。它解决了其他库在处理短文本时表现不佳,或随着支持语言数量增加而精度下降的局限性。

工作原理

Lingua 结合了基于规则的引擎和基于统计的朴素贝叶斯模型。规则引擎首先识别文本的字母系统,并搜索独特字符以排除不可能的语言。随后,使用概率 n-gram 模型(支持 n-gram 大小为 1 到 5)来确定最可能的语言。为保持高性能和低内存占用,语言模型以有限状态转换器(FST)形式存储,可在不完全加载到内存的情况下直接在磁盘上搜索。核心实现使用 Rust 编写,并提供 Python 绑定。

适用人群

适用于开发自然语言处理(NLP)应用的开发者,例如文本分类、拼写检查器或自动邮件路由系统,他们需要一个轻量级、离线运行且高精度的语言检测工具,而无需承担大型机器学习框架的开销。

主要亮点

  • 短文本高精度:使用 1-5 大小的 n-gram,有效处理单个单词和短语。
  • 完全离线运行:无需外部 API,完全离线工作。
  • 广泛的语言支持:支持 75 种不同语言。
  • 高效资源使用:利用 Rust 编写的绑定和 FST,实现小内存占用和快速执行。
  • 提供置信度值:为每个候选语言提供概率评分。
  • 线程安全:库设计为线程安全,适用于多线程环境。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch