2021年第十届数学建模国际赛小美赛C题读这篇文章有多难解题全过程文档及程序

news2025/1/16 9:11:48

2021年第十届数学建模国际赛小美赛

C题 读这篇文章有多难

原题再现:

  有些英语文本更容易阅读,比如低年级英语考试中出现的阅读材料。然而,有些文本很难阅读,需要读者接受一定程度的教育才能理解。让我们研究一下如何衡量英语文本的阅读难度。
  在Microsoft Word中,您可以选择显示有关文档阅读水平的信息,包括根据Flesch reading Ease测试得出的可读性分数。此测试以100分为标准对文本进行评分。分数越高,就越容易理解文档。对于大多数标准文件,您希望分数在60到70之间。

  Flesch Reading Ease分数的公式为:206.835 − (1.015 × ASL) − (84.6 × ASW)
其中:

  ASL=平均句子长度(单词数除以句子数);
  ASW=每个单词的平均音节数(音节数除以单词数)。

  这个模型很粗略,有很多不合理的地方。例如,一个长单词也可能是常用的,不会使文本变得更难,而某些术语可能很短,但是很多人都不认识的过时单词,这会使阅读变得更困难。文本的复杂逻辑结构也会使阅读变得更加困难。
  我们需要构建一个模型来评估我们在常见情况下可能看到的英语文本的阅读难度,以便将文本作为适当难度水平的语言测试的阅读材料。请详细解释模型的构造细节,包括每个参数是如何选择的。并研究如何将相应的模型推广到其他语言(如汉语,与英语非常不同)。

整体求解过程概述(摘要)

  英语文本的可读性是当今社会亟待解决的一个重大问题。现有的文章可读性索引模型,如𝐹𝑙𝑒𝑠𝑐ℎ𝑅𝑒𝑎𝑑𝑖𝑛𝑔𝐸𝑎𝑠𝑒该算法提取文本特征较为粗糙,无法获得更准确、更权威的评价标准。在此基础上,本文建立了一个模型,并计算了文章的可读性指数。
  在此基础上,本文给出了𝐹𝑙𝑒𝑠𝑐ℎ𝑅𝑒𝑎𝑑𝑖𝑛𝑔𝐸𝑎𝑠𝑒同期算法的算法,如算法、算法和算法。本文通过随机选择物理学、人文科学和计算机科学领域的文章,比较了这些算法的优缺点,并提出了一些可以在原有基础上改进的部分。
  我们发现,当一组读者对社会、文化、历史、当地条件、语言习得经验和词汇有相似的知识时,他们对某一英语文本的易读性和难度的判断也相似,并且他们的判断分布正常。因此,在此基础上,以词汇特征和句子特征为随机变量,以数学期望为可读性指标,采用离散随机变量计算数学期望的方法,通过类比建立了ERDA文章可读性指标模型。ERDA模型的可比性远高于原始线性模型。
  由于传统公式的局限性,机器学习和计算语言学的进步,以及训练数据的可用性越来越高,ai深度学习模型变得越来越准确。在此基础上,本文建立了卷积神经网络并𝐵𝑖𝐿𝑆𝑇 𝑀模型求解和计算文本的可读性指标,并分析了该算法的误差,指出了其与其他算法相比的优势。

模型假设:

  •模型输入文本中没有拼写错误的单词。

  •忽略了除中文和英文以外的其他语言的影响,阿拉伯数字和其他语言被认为对文章的可读性没有影响。

  •忽略读者自身原因造成的影响(如读者自身对专业内容的无知)

问题分析:

  针对原始模型在提取文本特征时相对粗糙的现象,我们可以首先比较不同算法对原始文本可读性指数的结果,并提出现有算法的优缺点。对于现有的文章,可以尝试人工智能深度学习方法。基于校正集,可以对从训练集获得的模型进行多次修改。最后,将所获得的模型用于计算和误差分析。此外,向量空间模型(SVM)可以用于计算,将文本简化为以项目权重为分量的矢量表示,并将分类过程简化为空间矢量运算,可以大大降低解决文章可读性索引问题的复杂性。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

import re
import pronouncing
import textstat
def word_list(filename):
’’’Return word list’’’
try:
with open(filename, ’r’, encoding=’UTF-8) as f:
content = f.read()
fog = textstat.textstat.gunning_fog(content)
smog_index = textstat.textstat.smog_index(content)
readability_index = textstat.textstat.automated_readability_index(content)
print("fog",fog)
print("smog_index",smog_index)
print("readability_index",readability_index)
except FileNotFoundError:
errmsg = filename + ’File does not exist’
print(errmsg)
else:
word_re = re.compile(r’[A-Za-z‘\’]+)
words = word_re.split(content.lower())
return words
def sentence_count(filename):
’’’Calculate sentence length’’’
try:
with open(filename, ’r’, encoding=’UTF-8) as f:
content = f.read()
except FileNotFoundError:
errmsg = filename + ’File does not exist’
print(errmsg)
else:
point_re = re.compile(r’\.)
point = point_re.split(content)
print(’sentence length:+ str(point))
return (len(point)-1)
def get_pronouncing_num(word):
’’’Count the syllables of words’’’
try:
pronunciation_list = pronouncing.phones_for_word(word)
num = pronouncing.syllable_count(pronunciation_list[0])
except Exception as e:
print(’Count syllables abnormal: Abnormal words:"’ + word + ’")
return 1
else:
return num
def get_pronouncing_nums(words):
’’’Count the total number of syllables in the text’’’
counts = 0
for word in words:
if word!="":
counts += get_pronouncing_num(word)
return counts
if __name__ == ’__main__’:
filename = ’text/.txt’
word_num = len(word_list(filename))
sentence_num = sentence_count(filename)
print("Number of words" + str(word_num) + ‘\n Number of sentences‘ +
str(sentence_num))
ASL = word_num / sentence_num
words = word_list(filename)
pronouncing_nums = get_pronouncing_nums(words)
ASW = pronouncing_nums / word_num
RE = 206.835 - (1.015 * ASL) - (84.6 * ASW)
print(’ASW:+ str(ASW))
print(’ASL:+ str(ASL))
print(’RE:+ str(RE))
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1294172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

香港高防服务器的选择及几个常见疑问解答

​  互联网的迅猛发展,不仅带来的是机遇,同样也有挑战,比如恶意攻击的频发泛滥,让一些正规企业网站、游戏网站、购物网站等成为了 DDoS 攻击的目标点,所以我们在使用香港服务器时,也不得不为它加一层“护…

【keil备忘录】2. stm32 keil仿真时的时间测量功能

配置仿真器Trace内核时钟为单片机实际的内核时钟,需要勾选Enable设置,设置完成后Enable取消勾选也可以,经测试时钟频率配置仍然生效,此处设置为48MHZ: 时间测量时必须打开register窗口,否则可能不会计数 右下角有计…

智能优化算法应用:基于鹈鹕算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于鹈鹕算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于鹈鹕算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鹈鹕算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Java 使用oshi获取当前服务器状态cpu、内存、存储等核心信息

文章目录 简介相关资料maven依赖oshi-官方示例获取CUP信息代码获取内存信息获取磁盘信息 简介 OSHI 是基于 JNA 的(本地)操作系统和硬件信息库。它不需要安装任何其他额外的本地库,旨在提供一种跨平台的实现来检索系统信息,例如操…

Clean 架构下的现代 Android 架构指南

Clean 架构下的现代 Android 架构指南 Clean 架构是 Uncle Bob 提出的一种软件架构,Bob 大叔同时也是 SOLID 原则的命名者。 Clean 架构图如下: 这张图描述的是整个软件系统的架构,而不是单体软件,其中至少包括服务端以及客户端…

探秘 JAVA 诞生之路,引领编程人生的宏伟著作

目录 一. 前言 二. Java 发展史 2.1. 1990年年末 2.2. 1991年 2.3. 1992年夏天 2.4. 1994年 2.5. 1995年 2.6. 1996年(JDK1.0) 2.7. 1997年(JDK1.1) 2.8. 1998年(JDK1.2) 2.9. 1999年&#xff0…

第十四章 : Spring Boot 整合spring-session,使用redis共享

第十四章 : Spring Boot 整合spring-session,使用redis共享 前沿 本文重点讲述:spring boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署、分布式系统的session共享。 基于SPringBoot 2.3.2…

hive数据库查看参数/hive查看当前环境配置

文章目录 一、hive查看当前环境配置命令 在一次hive数据库执行命令 set ngmr.exec.modecluster时,想看一下 ngmr.exec.mode参数原先的值是什么,所以写一下本篇博文,讲一下怎么查看hive中的参数。 一、hive查看当前环境配置命令 set &#…

hadoop安装与配置-shell脚本一键安装配置(集群版)

文章目录 前言一、安装准备1. 搭建集群 二、使用shell脚本一键安装1. 复制脚本2. 增加执行权限3. 分发脚本4. 执行脚本5. 加载用户环境变量 三、启动与停止1. 启动/停止hadoop集群(1) 复制hadoop集群启动脚本(2) 增加执行权限(3) 启动hadoop集群(4) 停止hadoop集群(5) 重启hado…

算法:合并两个有序数组(双指针)

/*** param {number[]} nums1* param {number} m* param {number[]} nums2* param {number} n* return {void} Do not return anything, modify nums1 in-place instead.*/ var merge function(nums1,m,nums2,n) {let p1 m-1 let p2 n-1let p mn-1// 逆遍历while(p1 > 0…

前端开发常用的Vscode插件整理(持续更新)

本文记录用vscode进行前端开发时,常用到的有用的vscode插件,将不定时更新~ 1、Chinese (Simplified) 将编辑器变成简体中文 2、vscode-icon 让 vscode 资源树目录加上图标,官方出品的图标库 3、Import Cost 引入包大小计算,对于…

深度学习——第3章 Python程序设计语言(3.3 Python数据类型)

3.3 Python数据类型 目录 1. Python数值数据类型 2. Python库的导入和使用 3. Python序列数据类型 4. Python组合数据类型 计算机能处理各种类型的数据,包括数值、文本等,不同的数据属于不同的数据类型,有不同的存储方式,支持…

使用Tomcat部署静态项目并处理BUG

--听讲的习惯 Tomcat介绍 tomcat what_Arenaschi的博客-CSDN博客 Tomcat安装及配置教程(超详细) 那些年我们用过的tomcat_Arenaschi的博客-CSDN博客 简单使用tomcat查看版本信息等_windows查看tomcat版本命令-CSDN博客 Tomcat部署html静态网站的五种方…

Android hook式插件化详解

引言 Android插件化是一种将应用程序的功能模块化为独立的插件,并动态加载到主应用程序中的技术。通过插件化,开发者可以将应用程序的功能分解成独立的模块,每个模块可以作为一个插件单独开发、测试和维护,然后通过动态加载的方式集成到主应用程序中,实现功能的动态扩展和…

骨传导耳机是怎么传声的?骨传导和入耳式哪个危害大一点?

先说结论,骨传导耳机通过人体骨骼来传递声音,骨传导和入耳式耳机,入耳式耳机的危害要大一些! 一、骨传导耳机传声原理 骨传导耳机利用骨传导技术,通过将声音转化为机械振动信号,然后通过头骨、颌骨等头骨…

第二十一章——网络通信总结

网络程序设计基础 局域网与互联网 为了实现两台计算机的通信,必须用一个网络线路连接两台计算机。如下图所示 网络协议 1.IP协议 IP是Internet Protocol的简称,是一种网络协议。Internet 网络采用的协议是TCP/IP协议,其全称是Transmission…

基于Java SSM框架实现二手车交易网站系统项目【项目源码+论文说明】

基于java的SSM框架实现二手车交易网站系统演示 摘要 二手车交易网站采用B/S模式,促进了二手车交易网站的安全、质量、快捷的发展。传统的管理模式还处于手工处理阶段,管理效率极低,随着用户的不断增多,传统基于手工管理模式已经无…

ECharts的颜色渐变

目录 一、直接配置参数实现颜色渐变 二、使用ECharts自带的方法实现颜色渐变 一、两种渐变的实现方法 1、直接配置参数实现颜色渐变 横向的渐变: //主要代码 option {xAxis: {type: category,boundaryGap: false,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yA…

国产化软件突围!怿星科技eStation产品荣获2023铃轩奖“前瞻优秀奖”

11月11日,2023中国汽车供应链峰会暨第八届铃轩奖颁奖典礼在江苏省昆山市举行。怿星科技凭借eStation产品,荣获2023铃轩奖“前瞻智能座舱类优秀奖”,怿星CEO潘凯受邀出席铃轩奖晚会并代表领奖。 2023铃轩奖“前瞻智能座舱类优秀奖” 铃轩奖&a…

倚天屠龙:Github Copilot vs Cursor

武林至尊,宝刀屠龙。号令天下,莫敢不从。倚天不出,谁与争锋! 作为开发人员吃饭的家伙,一款好的开发工具对开发人员的帮助是无法估量的。还记得在学校读书的时候,当时流行CS架构的RAD,Delphi和V…