6 个版本

0.2.3 2023年6月24日
0.2.2 2023年6月24日
0.1.1 2023年6月5日

#1422 in 文本处理

MIT/Apache

390KB
14K SLoC

wordfreq-model

此软件包提供了预编译的 wordfreq 模型加载器,允许您轻松地为各种语言创建 wordfreq 实例。

文档

https://docs.rs/wordfreq-model/

许可

源代码根据以下任一许可证发布:

任选其一。

模型文件与致谢信息一起在此处分发:此处


lib.rs:

wordfreq-model

此软件包提供了预编译 wordfreq 模型的加载器,允许您轻松地为各种语言创建 WordFreq 实例。

说明

提供的模型与在 原始 Python 包 中分发的模型相同。有关支持的语言及其来源,请参阅原始文档

您需要使用 features 指定要使用的模型。功能名称的格式为 large-xxsmall-xx,其中 xx 是语言代码。例如,如果您想使用大型的英语模型和小型的日语模型,请指定 large-ensmall-ja,如下所示

# Cargo.toml

[dependencies.wordfreq-model]
version = "0.2"
features = ["large-en", "small-ja"]

没有默认功能。请确保指定您要使用的功能。

示例

load_wordfreq 可以从 WordFreq 枚举值创建一个 ModelKind 实例。 ModelKind 将包含指定的以驼峰命名(CamelCase)的功能名称,例如 LargeEnSmallJa

默认情况下,只有 ModelKind::ExampleEn 出现在测试中。

use approx::assert_relative_eq;
use wordfreq_model::load_wordfreq;
use wordfreq_model::ModelKind;

let wf = load_wordfreq(ModelKind::ExampleEn).unwrap();
assert_relative_eq!(wf.word_frequency("las"), 0.25);
assert_relative_eq!(wf.word_frequency("vegas"), 0.75);
assert_relative_eq!(wf.word_frequency("Las"), 0.25); // Standardized

标准化

如上述示例所示,模型在查找之前自动标准化单词(即,将 Las 处理为 las)。这是通过在 WordFreq 实例中设置的 Standardizer 实例来完成的。 load_wordfreq 会自动为每种语言设置一个适当的 Standardizer 实例。

注意

此软件包将下载指定的模型文件并将模型直接嵌入到源代码中。 指定您需要的所有模型 以避免额外的下载并使生成的二进制文件膨胀。

要使用的实际模型文件以及相应的信誉信息放置在 这里。如果您不希望自动下载模型和二进制嵌入,可以直接从这些文件创建实例。请参阅 [wordfreq] 中的说明。

依赖关系

~5–9MB
~179K SLoC