简明俄语 / Понятный (простой) русский язык.
为什么需要这个
评估文本的可读性对于自动确定俄语文本的复杂度是必要的。
已完成的工作
有5种美国文本可读性评估算法,它们是:
- Flesch-Kinkaid - http://en.wikipedia.org/wiki/Flesch%E2%80%93Kincaid_readability_tests
- Dale-Chale可读性公式 - http://en.wikipedia.org/wiki/Dale%E2%80%93Chall_readability_formula
- Coleman-Liau指数 - http://en.wikipedia.org/wiki/Coleman%E2%80%93Liau_index
- SMOG - http://en.wikipedia.org/wiki/SMOG
- 自动可读性指数 - http://en.wikipedia.org/wiki/Automated_Readability_Index
收集了带有阅读水平标记的俄语文本,包括:
- 课外阅读文本;
- 专家标记的成人文本;
- 特别复杂的法律文本;
- 等等。
所有算法都经过了针对俄语的训练 - 每个公式都根据训练样本进行了特别调整。 对所有公式应用了允许它们适用于俄语文本的系数。
基于这些公式,开发了一个特殊的网络服务,允许传入文本或链接并评估其复杂度。
API如何工作
API可通过http://api.plainrussian.ru/api/1.0/ru/measure/访问, 需要传递url参数(用于链接)或text参数(作为文本)。
url参数通过GET请求传递,示例如下:
简单文本示例:
或者:
结果如下所示:
{
metrics:
{
wsyllabes:
{
1: 94,
2: 116,
3: 140,
4: 87,
5: 139,
6: 45,
7: 18,
8: 4,
15: 1
},
c_share: 32.142857142857146,
chars: 6000,
avg_slen: 46,
spaces: 510,
n_syllabes: 2232,
n_words: 644,
letters: 5170,
n_sentences: 14,
n_complex_words: 207,
n_simple_words: 437,
avg_syl: 3.4658385093167703
},
status: 0,
indexes:
{
grade_SMOG: "研究生、第二学位、博士",
grade_ari: "研究生、第二学位、博士",
index_fk: 33.342906832298134,
grade_cl: "研究生、第二学位、博士",
grade_fk: "研究生、第二学位、博士",
index_cl: 23.062857142857148,
grade_dc: "研究生、第二学位、博士",
index_dc: 30.300857142857147,
index_ari: 32.11796894409938,
index_SMOG: 34.046178356649776
}
}
此外,可以使用text参数代替url参数,以便在请求中传递文本而不是文本的超链接。建议使用POST请求而不是GET请求,以避免URI大小限制。 以下是使用Python的requests库的示例:
import requests
text = "这里可以是您的文本"
response = requests.post("http://api.plainrussian.ru/api/1.0/ru/measure/", data={"text":text})
response.json()
参数含义:
indexes - 文本可读性指标集:
- grade_SMOG - 根据SMOG公式理解文本所需的教育水平,用人类语言表述
- grade_ari - 根据自动可读性指数公式理解文本所需的教育水平,用人类语言表述
- grade_cl - 根据Coleman-Liau公式理解文本所需的教育水平,用人类语言表述
- grade_fk - 根据Flesch-Kinkaid公式理解文本所需的教育水平,用人类语言表述
- grade_dc - 根据Dale-Chale公式理解文本所需的教育水平,用人类语言表述
- index_SMOG - 根据SMOG公式理解文本所需的教育水平,以1到无穷大的学习年数表示
- index_ari - 根据自动可读性指数公式理解文本所需的教育水平,以1到无穷大的学习年数表示
- index_cl - 根据Coleman-Liau公式理解文本所需的教育水平,以1到无穷大的学习年数表示
- index_fk - 根据Flesch-Kinkaid公式理解文本所需的教育水平,以1到无穷大的学习年数表示
- index_dc - 根据Dale-Chale公式理解文本所需的教育水平,以1到无穷大的学习年数表示
指标 - 从文本中计算得出的一组指标
- chars - 文本中的总字符数
- spaces - 文本中的空格数
- letters - 文本中的字母数
- n_words - 单词数
- n_sentences - 句子数
- n_complex_words - 超过4个音节的单词数
- n_simple_words - 4个音节及以下的单词数
- avg_slen - 每句话的平均单词数
- avg_syl - 每个单词的平均音节数
- c_share - 复杂单词占总单词数的百分比
- w_syllabes - 一个字典,包含音节数和具有该音节数的单词数量
如果传入参数debug=1,还会返回传入的文本值。
以下是一些用于训练的文本示例。
- 比安基《森林之家》,一年级 - http://api.plainrussian.ru/api/1.0/ru/measure/?url=http://plainrussian.ru/textsbygrade/1/bianki_lesdom.txt
- 阿斯塔菲耶夫《士兵》,九年级 - http://api.plainrussian.ru/api/1.0/ru/measure/?url=http://plainrussian.ru/textsbygrade/9/astafiev_soldier.txt 等许多文档。
- textmetric - 用于测量俄语简易程度的代码库
textmetric中的文本文件是经过特别挑选的,带有预先的年龄标记。这使得可以基于这些指标开发自己的可读性、简易性和可理解性分析算法。
textmetric/metrics.csv - 指标列表
- filename - textsbygrade文件夹中的文件名
- name - 文本标题
- grade - 理解文本所需的学习年限,专家评估
- index_fk_rus - 使用Flesch-Kinkaid公式测量的文本复杂度(以学习年限计)
- fk_grade_diff - Flesch-Kinkaid公式测量的复杂度与预设专家评估的差异
- index_cl_rus - 使用Coleman-Liau公式测量的文本复杂度(以学习年限计)
- cl_grade_diff - Coleman-Liau公式测量的复杂度与预设专家评估的差异
- index_dc_rus - 使用Dale-Chale公式测量的文本复杂度(以学习年限计)
- dc_grade_diff - Dale-Chale公式测量的复杂度与预设专家评估的差异
- index_SMOG_rus - 使用SMOG公式测量的文本复杂度(以学习年限计)
- SMOG_grade_diff - SMOG公式测量的复杂度与预设专家评估的差异
- index_ari_rus - 使用Automatic Readability Index公式测量的文本复杂度(以学习年限计)
- ari_grade_diff - Automatic Readability Index公式测量的复杂度与预设专家评估的差异
- chars - 文本中的字符数
- spaces - 空格数
- letters - 字母数
- n_syllabes - 总音节数
- n_words - 总单词数
- n_complex_words - 复杂单词数
- n_simple_words - 简单单词数
- n_sentences - 句子数
- c_share - 复杂单词占比(百分比)
- avg_syl - 每个单词的平均音节数
- avg_slen - 每个句子的平均单词数
- wsyllabes - 按音节数统计的单词频率字典,格式为{"音节数":"单词数"}