使用流行的度量标准(如flesch kincaid、gunning fog、ari、dale chall、smog等)为文本“可读性”评分

py-readability-metrics的Python项目详细描述


py可读性指标

Travis BuildPythonDocumentation StatuswheelMIT license

使用流行的可读性度量为文本的readability评分,这些度量包括:Flesch Kincaid Grade LevelFlesch Reading EaseGunning Fog IndexDale Chall ReadabilityAutomated Readability Index (ARI)Coleman Liau IndexLinsear WriteSMOG

安装

pip install py-readability-metrics
python -m nltk.downloader punkt

用法

fromreadabilityimportReadabilityr=Readability(text)r.flesch_kincaid()r.flesch()r.gunning_fog()r.coleman_liau()r.dale_chall()r.ari()r.linsear_write()r.smog()

*注意:text必须包含>;=100个单词*

支持的指标

可读性度量详细信息和属性

所有度量都提供一个score属性。独立度量为提高可解释性提供了额外的属性。请参阅下面的详细信息以捕获每个度量的详细信息。

注意:在下面的所有示例中r是:

r=Readability(text)

Flesch Kincaid等级

美国陆军使用Flesch Kincaid等级来评估技术手册的难度。宾夕法尼亚州联邦使用弗莱施-金凯等级对汽车保险单进行评分,以确保其文本不高于九级阅读难度。许多其他的美国州也使用flesch-kincaid等级来评分其他法律文件,如商业政策和财务表格。

调用:

r.flesch_kincaid()

示例:

fk=r.flesch_kincaid()print(fk.score)print(fk.grade_level)

弗莱希阅读便利

美国国防部使用阅读简易性测试作为其文件和表格可读性的标准测试。弗罗里达州要求人寿保险单的Flesch Reading Ease评分为45或更高。

调用:

r.flesch()

示例:

f=r.flesch()print(f.score)print(f.ease)print(f.grade_levels)

戴尔·查尔可读性

dale-chall公式是一个精确的可读性公式,原因很简单,它是基于使用熟悉的单词,而不是音节或字母计数。阅读测试表明,如果读者发现文章中的单词很熟悉,他们通常会发现阅读、处理和回忆起来更容易。

调用:

r.dale_chall()

示例:

dc=dale_chall()print(dc.score)print(dc.grade_levels)

自动可读性索引(ARI)

与其他索引不同,ari和coleman liau依赖于每个单词的字符数,而不是通常的每个单词的音节数。ari广泛应用于各种文本。

调用:

r.ari()

示例:

ari=r.ari()print(ari.score)print(ari.grade_levels)print(ari.ages)

coleman liau指数

coleman-liau公式在应用于技术文档时,通常给出的等级值低于任何kincaid、ari和flesch值。

调用:

r.coleman_liau()

示例:

cl=r.coleman_liau()print(cl.score)print(cl.grade_level)

喷枪雾

《炮雾索引》衡量英语写作的可读性。该指数估计了一读课文所需的正规教育年限。雾指数为12需要美国高中生(18岁左右)的阅读水平。

调用:

r.gunning_fog()

示例:

gf=r.gunning_fog()print(gf.score)print(gf.grade_level)

烟雾

烟雾可读性公式(gobbledygook的简单度量)是一种常用的健康素养材料的方法。

调用:

r.smog()

示例:

s=r.smog()print(s.score)print(s.grade_level)

Linsear写入

linsear write是英文文本的可读性度量,据称是为美国空军开发的,用于帮助他们计算技术手册的可读性。

调用:

r.linsear_write()

示例:

lw=r.linsear_write()print(lw.score)print(lw.grade_level)

Contributing

欢迎投稿!

参考文献


热门话题
java这两个例子是等价的(volatile+synchronized increment还是synchronized fetch+increment)?   java Spring Boot+LocalDate:“没有主构造函数或默认构造函数”   java代码,用于在jasper报告中以指定格式显示浮点值   java@AllArgsConstructor不使用Springbean   在同一行上声明多个Java数组?   java在JSP中使用JSon   从Java运行PowerShell加载第三方模块ResourceUnavailable:FileNotFoundException   java Do SWIG在carrays中的数组类。我可以释放它们包装的调用数组吗?   java无法在linux中加载库MediaInfo   文件的java大小在写入一些文本时会变成GB   java将Arraylist转换为要通过Whatsapp共享的项目列表   java Android保存网络请求状态   java标签一个泛型类型参数,以超级   java向二进制文件添加自定义元数据   java在使用JScrollPane滚动文本时偶尔会出现扭曲显示   java log4j2仅记录到控制台   java不一致的Apache Solr查询结果   如何在web项目的前端使用php,后端使用java   java如何使spring批处理步骤执行与可配置线程数并行?   java无法为ArrayList<thread>中的可运行文件调用getter?