计算大型文档的多个可读性度量。
readability-metrics的Python项目详细描述
可读性指标
这个项目非常依赖于mmautner's package。为了支持对大型文件的分析,进行了修改。
灵感
使用mmautner的包时,需要立即传递整个文档:
large_str="...."rd=Readability(large_str)print('ARI: ',rd.ARI())
然而,当我在分析1956年以来最高法院的记录时,我的个人电脑无法同时加载所需的文件。为了解释这一点,我创建了这个包,它允许传递一些文档。此外,不会存储文本,只存储结果计算最后,每次都计算并返回所有度量,因此不需要执行单独的计算。
安装
可读性度量可以从pypi安装:
$ pip3 install readability-metrics
用法
可读性度量可以如下使用:
importmetrics# import packagerdm=Readability()rdm.analyze_text("This is a sentence.")rdm.analyze_text("This is part of the same document.")rdm.analyze_text("This is also part of the same document.")rdm.get_results()# can further modifyrdm.analyze_text("This is also part of the same document.")rdm.get_results()# can clear and start new analysisrdm.clear()rdm.analyze_text("This is also part of the same document.")rdm.get_results()
您还可以跨多个类别计算可读性度量。例如,如果您有一份成绩单,您可以同时计算所有发言者的指标:
importmetricsfromcollectionsimportdefaultdictlettranscript=[('John George','Words said by John George'),('Apple Dunkin','Words said by Apple Dunkin'),# ...]readability_per_speaker=defaultdict(lambda:Readability())# Calculate readability metricsfordialogueintranscript:readability_per_speaker[dialogue[0]].analyze_text(dialogue[1])# Calculate resultsforspeakerinreadability_per_speaker:dic[key]=dic[key].get_results()# readability_per_speaker now in form:{"SPEAKER NAME":{{'ARI':12.163787878787879,'FleschReadingEase':58.2319,'FleschKincaidGradeLevel':11.2857,'GunningFogIndex':14.5465,'SMOGIndex':12.287087810503355,'ColemanLiauIndex':9.5226,'LIX':46.467171717171716,'RIX':5.375}},# more speakers ...}
贡献
欢迎捐款。请创建一个请求或发送电子邮件到ericwiener3@gmail.com。如果你需要帮助,也可以随意制造问题。
测试
测试可以使用pytest运行。简单导航到目录并运行pytest