whatlang rs
v0.16.2 - 2022-10-23
生锈的自然语言检测,专注于简单性和性能。
尝试在线演示。
例子:
use whatlang :: { detect , Lang , Script } ;
fn main ( ) {
let text = "Ĉu vi ne volas eklerni Esperanton? Bonvolu! Estas unu de la plej bonaj aferoj!" ;
let info = detect ( text ) . unwrap ( ) ;
assert_eq ! ( info.lang ( ) , Lang :: Epo ) ;
assert_eq ! ( info.script ( ) , Script :: Latin ) ;
assert_eq ! ( info.confidence ( ) , 1.0 ) ;
assert ! ( info.is_reliable ( ) ) ;
}有关更多详细信息(例如如何将某些语言录制),请检查文档。
Whatlang在以下大项目中被用作语言识别的直接或间接依赖性。您将使用Whatlang在一家很棒的公司中:
| 特征 | 描述 |
|---|---|
enum-map | Lang和Script实现了枚举图的Enum特质 |
arbitrary | 支持任意 |
serde | 实现Lang和Script Serialize和Deserialize |
dev | 启用whatlang::dev模块,该模块提供了一些内部API。它存在用于分析目的,而普通用户则不愿依靠此API。 |
该算法基于Trigram语言模型,该模型是N-grams的一种特殊情况。要了解这个想法,请检查原始的白皮书Cavnar和Trenkle '94:基于N-Gram的文本分类'。
is_reliable ?它基于以下因素:
rate 。因此,可以将其作为具有阈值函数的2D空间,将其分为“可靠”和“不可靠”区域。该功能是一种双曲线,看起来如下:
有关更多详细信息,请查看博客文章Rust Whatlang库和自然语言标识算法的简介。
make bench - 运行性能基准make doc - 生成并打开文档make test - 运行测试make watch - 观看更改并进行测试| Whatlang | CLD2 | CLD3 | |
|---|---|---|---|
| 实施语言 | 锈 | C ++ | C ++ |
| 语言 | 68 | 83 | 107 |
| 算法 | trigrams | 四边形 | 神经网络 |
| 支持编码 | UTF-8 | UTF-8 | ? |
| HTML支持 | 不 | 是的 | ? |
您可以通过在代币附近捐款来支持该项目。
我们近乎钱包的地址是whatlang.near
Whatlang是Titus Wormer的Franc(MIT JavaScript)的衍生作品。
麻省理工学院©Sergey Potapov