quickwit-oss/whichlang

A blazingly fast and lightweight language detection library for Rust

解决的问题

Whichlang 为检测给定文本字符串的语言提供了高性能、轻量级的解决方案。它的开发是为了满足日志和追踪数据处理的高吞吐量需求,而标准语言检测库要么太慢,要么精度不足。

工作原理

该库使用多类逻辑回归模型。它通过 2、3 和 4 字符 n-gram 以及码点分析从输入文本中提取特征。这些特征使用哈希技巧投影到 4096 维空间。生成的模型针对速度进行了高度优化,吞吐量超过 100 MB/s。

适用人群

它专为使用 Rust 的开发人员设计,他们需要将快速、可靠的语言识别集成到数据密集型应用中,例如搜索引擎、日志处理器或实时分析管道。

亮点

  • 极快:吞吐量超过 100 MB/s,明显快于现有替代方案。
  • 高精度:在 16 种支持的语言中平均准确率约为 97%。
  • 零依赖:轻量级实现,适用于性能关键环境。
  • 支持 16 种语言,包括阿拉伯语、普通话、英语、法语、德语、印地语、意大利语、日语、韩语、葡萄牙语、俄语、西班牙语、瑞典语、土耳其语和越南语。

相关

  • 项目
  • 项目
  • 项目
  • 项目