#readability #nlp #text #index #complexity #automated #formulas

rust_readability

一个用于使用多种可读性公式的文本复杂度评估软件包

4 个版本

0.2.0 2024年7月17日
0.1.2 2022年10月3日
0.1.1 2022年9月5日
0.1.0 2022年8月29日

#339文本处理

Download history 10/week @ 2024-07-05 104/week @ 2024-07-12 19/week @ 2024-07-19 26/week @ 2024-07-26 3/week @ 2024-08-02

66 每月下载量

GPL-3.0-or-later

19KB
296

rust_readability

这是一个软件包,使用多种成熟的可读性公式在 Rust 中评估文本的复杂度。该软件包包括 Lix、Rix、Flesch、Flesch-Kincaid、Linsear Write、Coleman-Liau 和自动可读性指数方法的实现。

使用方法

该软件包包括 Lix、Rix、Flesch、Flesch-Kincaid、Linsear Write、Coleman-Liau 和自动可读性指数方法的函数。当提供一个文件或字符串时,每个函数都会打印并返回相应的可读性指数。调用每个函数的方式如下:

use rust_readability::lix;

lix("path/to/file.txt");
// or, for a string: lix_string("your string");

在评估文本的可读性之前移除停用词,可以使用 stopwords_file(从文件中移除停用词)和 stopwords_string(从字符串中移除停用词)函数,如下所示:

use rust_readability::stopwords_string;
stopwords_string("this is an example string", "[your language]");

use rust_readability::stopwords_file;
stopwords_file("path/to/file.txt", "[your language]");

可以使用 NLTK 停用词列表中的所有语言来移除停用词

  1. 阿拉伯语
  2. 阿塞拜疆语
  3. 丹麦语
  4. 荷兰语
  5. 英语
  6. 芬兰语
  7. 法语
  8. 德语
  9. 希腊语
  10. 匈牙利语
  11. 印度尼西亚语
  12. 意大利语
  13. 哈萨克语
  14. 尼泊尔语
  15. 挪威语
  16. 葡萄牙语
  17. 罗马尼亚语
  18. 俄语
  19. 斯洛文尼亚语
  20. 西班牙语
  21. 瑞典语
  22. 塔吉克语
  23. 土耳其语

可读性指标

Lix

Lix 是由 Carl-Hugo Björnsson 首次建立的读数指标。对于文本,Lix 值是通过将平均句子长度和超过六个字母的单词百分比相加得到的。

lix("path/to/file.txt")
lix_string("your string");

Rix

Björnsson 也开发了 Rix 值,它是长单词(>6个字母)数量除以句子数量。

rix("path/to/file.txt")
rix_string("your string");

Flesch

Flesch 读取难度测试评估每个句子中的单词数量和每个单词中的音节数,以提供一个 0-100 分的评分,0 分为最难阅读。

flesch("path/to/file.txt");
flesch("your string");

Flesch-Kincaid

Flesh-Kincaid 将 Flesch 读取难度测试呈现为年级水平。

flesch_kincaid("path/to/file.txt");
flesch_kincaid("your string");

Linsear Write

Linsear write 是专门为技术/科学文本开发的一种阅读度量指标。该分数评估100词样本中的音节数量和句子长度,以呈现一个年级水平的指标。

linsear_write("path/to/file.txt");
linsear_write_string("your string");

科尔曼-利亚乌指数

科尔曼-利亚乌指数 (Coleman-Liau index) 依赖于平均单词长度(以字母为单位)和平均句子长度(以单词为单位)来生成一个年级水平的指标。

coleman_liau("path/to/file.txt");
coleman_liau("your string");

ARI指数

自动可读性指数 (Automated Readability Index,ARI) 同样依赖于字符数和句子长度来生成一个分数,该分数独特地映射到年级水平的表示。

ari("path/to/file.txt");
ari("your string");

安装

在您的系统上安装 rust_readability 有两种方式:通过 cargo 或通过源代码。

Cargo

可以使用 cargo(Rust 的包管理器和 crate 主机)安装 rust_readability。要使用 cargo 安装,请运行以下命令

cargo add rust_readability

源代码

要从源代码安装,您可以克隆仓库

git clone https://github.com/ian-nai/rust_readability.git

依赖关系

~15MB
~149K SLoC