计算大型文档的多个可读性度量。

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java既然Lucene 4.1中不存在TermEnum,如何从IndexReader中获取字段?   java在LinkedHashSet上的迭代比在ArrayList上的迭代要快   java无法在Android Studio中获得所有@override函数,如onStart、onResume   java的DateTimeFormatter比SimpleDateFormat更严格吗?以毫秒为单位分析日期   JavaSpring*servlet。Websphere服务器启动时未加载xml   java Fancytree selenium单击事件   java日期格式不一样   java无法在Android Studio上运行我的MQTT应用程序   c#计算两个集合的F检验   java JDialog不会显示在“设计”选项卡中   java如何在每个服务生页面上重新加载页面   java如何初始化包含一些对象的数组?   使用Datanucleus的java Amazon S3数据存储   Python的map函数是否有Java等价物?