基于NLP的智能阅卷方法、装置、设备及存储介质与流程

文档序号:18942525发布日期:2019-10-23 01:16阅读:258来源:国知局
本发明涉及自然语言处理领域,尤其涉及一种基于nlp的智能阅卷方法、装置、设备及存储介质。
背景技术
::随着经济的蓬勃发展和科技的飞速进步,人们的生活条件越来越好,但随之而来的竞争压力也日益增大,为了帮助员工快速提高技能,从众多的竞争者中脱颖而出,越来越多的公司或者机构,开始进行定期学习培训,并在培训后进行考试,以便检测学习培训的效果,因而,考试这个主题,成为人们生活中的一个常见主题。在考试之后,需要对试卷进行阅卷,得到一个考试的评分,作为学习效果的考核指标,在审阅主观题时,由于每个考试者的回答文字表现形式不一致,需要根据回答内容和标准答案的语义接近程度来进行评分,因而,使用机器进行主观题的审核成了一个难题,在当前,主要通过人工的方式进行阅卷,在需要审阅的试题较多时,需要花费较多时间,导致效率低和人力成本高的问题。技术实现要素:本发明实施例提供一种基于nlp的智能阅卷方法、装置、计算机设备和存储介质,以解决人工方式进行阅卷导致的阅卷效率低和人工成本高的问题。一种基于nlp的智能阅卷方法,包括:获取待评分的试题图像;采用光学字符识别的方式,对所述试题图像进行图像识别,得到识别内容;按照预设的语句划分方式,对所述识别内容进行语句切分,得到所述识别内容中包含的每个基础语句;获取根据所述试题图像对应的领域的语料库训练的n-gram模型,并通过所述n-gram模型,对每个所述基础语句进行内容纠正,得到每个所述基础语句对应的目标文本;采用自然语言语义识别的方式,对每个所述目标文本进行语义识别,得到每个所述目标文本的目标语义,并根据所述目标语义确定所述试题图像对应的综合评分。一种基于nlp的智能阅卷装置,包括:图像获取模块,用于获取待评分的试题图像;图像识别模块,用于采用光学字符识别的方式,对所述试题图像进行图像识别,得到识别内容;内容切分模块,用于按照预设的语句划分方式,对所述识别内容进行语句切分,得到所述识别内容中包含的每个基础语句;文本纠错模块,用于获取根据所述试题图像对应的领域的语料库训练的n-gram模型,并通过所述n-gram模型,对每个所述基础语句进行内容纠正,得到每个所述基础语句对应的目标文本;语义评分模块,用于采用自然语言语义识别的方式,对每个所述目标文本进行语义识别,得到每个所述目标文本的目标语义,并根据所述目标语义确定所述试题图像对应的综合评分。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于nlp的智能阅卷方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于nlp的智能阅卷方法的步骤。本发明实施例提供的基于nlp的智能阅卷方法、装置、计算机设备及存储介质,通过获取待评分的试题图像,并采用光学字符识别的方式,对该试题图像进行识别,得到识别内容,进而按照预设的语句划分方式,对识别内容进行语句切分,得到识别内容中包含的每个基础语句,获取根据试题图像对应的领域的语料库训练的n-gram模型,并通过该n-gram模型,对每个基础语句进行内容纠正,得到每个基础语句对应的目标文本,最后,采用自然语言语义识别的方式,对每个目标文本进行语义识别,得到每个目标文本的目标语义,并根据目标语义确定试题图像对应的综合评分,实现通过试题图像进行文字识别,并对识别到的文字采用自然语言识别的方式,进行试题审阅,提高了阅卷的效率,节省了人力成本。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的基于nlp的智能阅卷方法的应用环境示意图;图2是本发明实施例提供的基于nlp的智能阅卷方法的实现流程图;图3是本发明实施例提供的基于nlp的智能阅卷方法中步骤s20的实现流程图;图4是本发明实施例提供的基于nlp的智能阅卷方法中步骤s40的实现流程图;图5是本发明实施例提供的基于nlp的智能阅卷方法中步骤s50的实现流程图;图6是本发明实施例提供的基于nlp的智能阅卷方法中步骤s42的实现流程图;图7是本发明实施例提供的基于nlp的智能阅卷方法中评分表生成与保存的实现流程图;图8是本发明实施例提供的基于nlp的智能阅卷装置的示意图;图9是本发明实施例提供的计算机设备的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图1,图1示出本发明实施例提供的基于nlp的智能阅卷方法的应用环境。该基于nlp的智能阅卷方法应用在考试后对试题图像进行智能阅卷场景中。该智能阅卷场景包括服务端和管理端,其中,服务端和管理端之间通过网络进行连接,服务端获取到试题图像后,通过对试题图像进行识别,得到试题图像中包含的内容,进而通过nlp对内容进行语义解析并评分,实现对试题图像进行智能评分,管理端具体可以但不限于是手机、平板电脑、个人计算机(personalcomputer,pc)等智能终端设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。请参阅图2,图2示出本发明实施例提供的一种基于nlp的智能阅卷方法,以该方法应用在图1中的服务端为例进行说明,详述如下:s10:获取待评分的试题图像。具体地,获取需要进行评分的试题图像。需要说明的是,试卷具有固定的分布样式,也即,每个试题处于一个固定区域,在进行评分之前,按照试卷的分布样式,自动从需要进行评分的试题对应的固定区域中,获取该试题的图像,并生成试题图像对应的试题标识,试题标识用于标识试题图像。s20:采用光学字符识别的方式,对试题图像进行图像识别,得到识别内容。具体地,通过光学字符识别(opticalcharacterrecognition,ocr)的方式,对获取到的试题图像进行文字识别,得到该试题图像中包含的文字内容。其中,光学字符识别是指通过光学字符识别工具检查图片上的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对图片上的字符,采用光学的方式将图片中的文字转换成为黑白点阵的图片文件,并通过识别软件或工具将图片中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。s30:按照预设的语句划分方式,对识别内容进行语句切分,得到识别内容中包含的每个基础语句。具体地,在得到识别后,按照预设的语句划分方式,对识别内容进行解析,得到识别内容中包含的每个基础语句。其中,预设的语句划分方式可以是通过对预设的分隔符号进行正则匹配,进而以匹配到存在预设的分隔符号的位置为分隔点,对待发布内容进行切分,得到待发布内容中包含的每个基础语句。其中,预设的分隔符号包括但不限于:分段符、换行符、标点符号等,具体可根据实际需求进行设置,此处不做限定。值得说明的是,在本实施例中,接收到的识别内容为多个段落的,不同段落中间包含有段落标识符,根据段落标识符进行段落分割,得到每个段落,并对每个段落,按照预设的标点进行分句,得到每个基础语句。s40:获取根据试题图像对应的领域的语料库训练的n-gram模型,并通过该n-gram模型,对每个基础语句进行内容纠正,得到每个基础语句对应的目标文本。具体地,试题图像的审核,是指对参与考试的考生在试卷上答题内容的审核,由于考生笔迹和识别的问题,可能存在一些识别偏差,在本实施例中,先从试题图像对应的领域选取语料库,进而对该语料库进行训练得到n-gram模型,再通过该n-gram模型,对是否存在偏差进行检测,并对可能存在偏差的内容进行纠正,得到每个基础语句对应的目标文本。其中,语料库(corpus)是指经科学取样和加工的大规模电子文本库。语料库是语言学研究的基础资源,也是经验主义语言研究方法的主要资源,应用于词典编纂,语言教学,传统语言研究,自然语言处理中基于统计或实例的研究等方面,语料,即语言材料,语料是语言学研究的内容,也是构成语料库的基本单元。在本实施例中,从试题图像对应的领域选取语料库具体可以通过网络爬虫的方式进行爬取,也可以是使用第三方语料库,例如中国传媒大学提供的媒体语言语料库,该语料库包括2008至2013六年的34039个广播、电视节目的转写文本,总字符数为241316530个,总汉字数为200071896字次。所有文本都进行了分词和词性标注,共计135767884词次。试题图像对应的领域选取语料库可采用上述两种方式中的任何一种,此处不作具体限制。其中,对该语料库进行训练得到n-gram模型的具体实现方式,是通过对语料库中的文本进行分词,得到文本对应的不同词序列,进而大量分词数据计算每个词序列出现的概率,确定最优分词方式,并计算每个每次的词序列频度。其中,其中,词序列是指由至少两个分词按照一定顺序组合而成的序列,词序列频度是指该词序列出现的次数占整个语料库中分词(wordsegmentation)出现次数的比例,这里的分词指的是将连续的字序列按照预设的组合方式进行组合得到的词序列。例如,某个词序列“爱吃西红柿”在整个语料库中出现的次数为100次,整个语料库所有分词出现的次数之和为100000次,则词序列“爱吃西红柿”的词序列频度为0.0001。可选地,本实施例使用n-gram模型对基础语句是否存在偏差进行检测,具体流程为:通过n-gram模型确定基础语句的目标分词序列,进而对目标分词序列中的每个分词的出现概率进行计算,在存在分词出现概率小于预设阈值时,即确认该分词为错误分词,进而进行纠正,具体过程可参考步骤s41至步骤s47,为避免重复,此处不再赘述。s50:采用自然语言语义识别的方式,对每个目标文本进行语义识别,得到每个目标文本的目标语义,并根据目标语义确定试题图像对应的综合评分。具体地,通过自然语言语义识别的方式,对每个目标文本进行语义识别,并将得到的目标文本的语义与预设标准答案的语义进行比较,进而确定试题图像对应的综合评分。其中,自然语言语义识别(naturallanguageprocessing,nlp)是人工智能(ai)的一个子领域,通过机器学习的方式,对自然语言进行理解解析,从而解决自然语言领域的一些问题,nlp主要应用范围包括但不限于:文本朗读(texttospeech)/语音合成(speechsynthesis)、语音识别(speechrecognition)、中文自动分词(chinesewordsegmentation)、词性标注(part-of-speechtagging)、句法分析(parsing)、文本分类(textcategorization)、信息检索(informationretrieval)、自动摘要(automaticsummarization)和文字校对(text-proofing)等。在本实施例中,通过获取待评分的试题图像,并采用光学字符识别的方式,对该试题图像进行识别,得到识别内容,进而按照预设的语句划分方式,对识别内容进行语句切分,得到识别内容中包含的每个基础语句,并通过n-gram模型,对每个基础语句进行内容纠正,得到每个基础语句对应的目标文本,最后,采用自然语言语义识别的方式,对每个目标文本进行语义识别,得到每个目标文本的目标语义,并根据目标语义确定试题图像对应的综合评分,实现通过试题图像进行文字识别,并对识别到的文字采用自然语言识别的方式,进行试题审阅,提高了阅卷的效率,节省了人力成本。在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s20中所提及的采用光学字符识别的方式,对试题图像进行图像识别,得到识别内容的具体实现方法进行详细说明。请参阅图3,图3示出了本发明实施例提供的步骤s20的具体实现流程,详述如下:s21:对试题图像进行图像预处理,得到标准图像。具体地,由于扫描或者拍摄角度不同,不同试题图像中颜色或者倾斜程度可能不同,为避免干扰,因此需要对试题图像进行预处理,以减少图像的复杂度和信息处理量。其中,图像预处理包括但不限于锐化处理、灰度化处理、透视变换处理和二值化处理等。其中,灰度化处理是指将彩色图片转化成为灰度图片的过程,目的是为了改善画质,使图片的显示效果更加清晰。灰度化处理包括但不限于:分量法、最大值法、平均值法和加权平均法等。其中,锐化处理是指是补偿图片的轮廓,增强图片的边缘及灰度跳变的部分,使图片变得清晰,分为空域处理和频域处理两类,锐化处理是为了突出图片上地物的边缘、轮廓,或某些线性目标要素的特征。其中,二值化处理就是将图片上的像素点的灰度值设置为0或255,也就是将整个图片呈现出明显的黑白效果的过程,图片的二值化使图片中数据量大为减少,从而能凸显出目标的轮廓。由于试题图像可能会存在不同程度的倾斜,影响识别结果,因此,需对试题图像进行透视变换(矫正)即将试题图像投影到一个新的视平面的过程,获取矫正后的图像。本实施例中,透视变换的的处理方法包括但不限于采用opencv中的perspectivetransform()函数进行透视变换处理。opencv是一个包含大量开源接口的跨平台计算机视觉库,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。为了使图像的边缘、轮廓线以及图像的细节变得清晰,需先对透视后的图像进行锐化处理,获取锐化图像,以去除背景纹路,提高识别准确率。其中,锐化处理的方法包括但不限于采用目前现有技术中常用的拉普拉斯算子、加权平均差分(sobel)算子和平均差分(prewitt)算子中的任意一种。为了进一步去除图像背景的干扰,需对锐化图像进行二值化处理,获取二值化图像。服务端获取锐化图像后,基于锐化图像的采样像素值和预先选取的阈值进行比较,将采样像素值大于或等于阈值的像素值设置为1,小于阈值的像素值设置为0。采样像素值是锐化图像中每一像素点对应的像素值,阈值的设置可依实际情况进行确定,此处不作具体限制。值得说明的是,本实施例中还可以根据实际需要,使用拉东变换(radontransform)对试题图像进行倾斜校正。s22:采用场景文本检测算法对标准图像进行文字定位,确定标准图像中的手写文字范围,作为目标文字区域。具体地,由于标准图像中的文字位置并不固定,即不同的标准图像,其文字位置不尽相同,在试题图像中,包含试题内容和回答内容,回答内容为参与考试的考生通过手写得到,因而在试题图像进行图像预处理,得到标准图像之后,需要确定标准图像中的手写文字区域,以便进行文字识别。其中,文字区域的确定方法包括但不限于:霍夫投票(houghtransform)算法、基于隐马尔可夫模型(hiddenmarkovmodel,hmm)的字符识别算法、区域特征提取(maximallystableextremalregions,mser)算法和场景文本检测(connectionisttextproposalnetwork)算法。优选地,本发明实施例采用场景文本检测算法来确定标准图像中的文字区域,其实现方式为:通过使用卷积神经网络(convolutionalneuralnetworks,cnn)模型对标准图像进行训练,得到图片的深度特征;进而根据深度特征与文本线构造算法(siderefinement)来预测字符边缘,并按照预设大小的矩形框,将字符边缘处于同一行的字符放入同一个矩形框;将矩形框串成序列,并输入到循环神经网络(recurrentneuralnetworks,rnn)模型中进行训练,最后将训练结果使用全连接层来回归,得到正确的字符边缘,并将正确的字符边缘连接成线,从而得到标准图像中的文字区域。可理解地,场景文本检测算法进行文字定位时是基于行级别进行定位,即会返回每一行对应的的矩形框的位置信息。s23:采用预先训练好的长短时记忆神经网络模型,对目标文字区域进行文字识别,得到目标文字区域中包含的文本信息,将目标文字区域中包含的文本信息作为识别内容。具体地,采用预先训练好的长短时记忆神经网络模型对得到的目标文字区域的图像进行文字识别,得到目标文字区域的图像中包含的文本信息,并将该文本信息作为试题图像的识别内容。其中,长短时记忆神经(long-shorttermmemory,简称lstm)网络是一种时间递归神经网络,适合于处理和预测具有时间序列,且时间序列间隔和延迟相对较长的重要事件,长短时记忆神经网络具有输入层、隐藏层和输出层这三层网络结构。其中,输入层是长短时记忆神经网络的第一层,用于接收外界信号,即负责接收试题图像。输出层是长短时记忆神经网络的最后一层,用于向外界输出信号,即负责输出长短时记忆神经网络的计算结果。隐藏层是长短时记忆神经网络中除输入层和输出层之外的各层,用于对提取的试题图像特征进行处理,获取长短时记忆神经网络的计算结果。值得说明的是,试题图像中考生回答的文字内容是手写体文字,在文字内容为手写体文字时,本实施例提供的长短时记忆神经网络模型具有较高的识别准确率。在本实施例中,对试题图像进行图像预处理,得到标准图像,进而采用场景文本检测算法对标准图像进行文字定位,确定标准图像中的文字范围,作为目标文字区域,使得识别区域变小,避免过多的干扰造成的识别时间过多和识别准确率下降,提高了试题图像的内容文本识别效率,同时,采用预先训练好的长短时记忆神经网络模型,对目标文字区域进行识别,得到目标文字区域对应的文本信息,并将文本信息作为识别文本,这种通过神经网络模型进行文字识别的方式,提高了识别效率和识别准确率。在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s40中所提及的通过n-gram模型,对每个基础语句进行内容纠正,得到每个基础语句对应的目标文本的具体实现方法进行详细说明。请参阅图4,图4示出了本发明实施例提供的步骤s40的具体实现流程,详述如下:s41:对基础语句进行分词解析,得到m个分词序列。具体地,每个基础语句,断句方式不一样,理解出的语句可能存在差别,为保证语句理解的正确性,服务端在获取到基础语句后,获取该基础语句的m个分词序列的组成,m为所有可能出现的分词序列的总数。其中,每个分词序列均是将一个基础语句进行划分得到的一种结果,得到的包含至少两个分词的文字序列。例如,在一具体实施方式中,一基础语句为“今天真热”,对该基础语句进行解析,得到分词序列a为:“今天”、“真”、“热”,得到分词序列b为:“今”、“天真”、“热”等。s42:针对每个分词序列,根据分词序列中的分词在n-gram模型中的词序列频度,计算每个分词序列的发生概率,得到m个分词序列的发生概率,其中,词序列频度为分词序列中的分词在该n-gram模型中出现的次数与该n-gram模型中所有分词出现次数的比值。具体地,使用n-gram模型中的词序列频度,对每个分词序列进行发生概率计算,得到m个分词序列的发生概率。其中,n-gram模型是大词汇连续文字语义识别中常用的一种语言模型,利用上下文中相邻词间的搭配信息,在需要把连续无空格的文字转换成汉字串(即句子)时,可以计算出具有最大概率的句子,从而实现到汉字的自动转换,无需用户手动选择,提高了词序列确定的准确性。其中,词序列是指由至少两个语料按照一定顺序组合而成的序列,词序列频度是指该词序列出现的次数占整个语料库中分词(wordsegmentation)出现次数的比例,这里的分词指的是将连续的字序列按照预设的组合方式进行组合得到的词序列。例如,某个词序列“爱吃西红柿”在整个语料库中出现的次数为100次,整个语料库所有分词出现的次数之和为100000次,则词序列“爱吃西红柿”的词序列频度为0.0001。通过将试题图像对应的领域的语料库放入到n-gram模型中,通过n-gram模型对该语料库中每个语料进行统计分析,得出该语料库中一个语料h出现在另一个语料i之后的次数,进而得到“语料i+语料h”组成的词序列出现的词序列频度。其中,语料库(corpus)是指经科学取样和加工的大规模电子文本库。语料库是语言学研究的基础资源,也是经验主义语言研究方法的主要资源,应用于词典编纂,语言教学,传统语言研究,自然语言处理中基于统计或实例的研究等方面,语料,即语言材料,语料是语言学研究的内容,也是构成语料库的基本单元。例如,在一具体实施方式中,预设的训练语料库为通过对热门网络话题和时事新闻通过网络爬虫的方式进行爬取,得到“时事”领域的语料库。对分词序列计算发生概率具体可使用马尔科夫假设理论:第y个词的出现只与前面y-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计y个词同时出现的次数得到。即:p(t)=p(w1w2...wy)=p(w1)p(w2|w1)...p(wy|w1w2...wy-1)公式(1)其中,p(t)为整句出现的概率,p(wy|w1w2...wy-1)为第y个分词出现在y-1个分词组成的词序列之后的概率。例如:在“中华民族是一个有着悠久文明历史的民族”这句话进行语音识别后,划分的一种分词序列为:“中华民族”、“是”、“一个”、“有着”、“悠久”、“文明”、“历史”、“的”、“民族”,一共出现了9个分词,当n=9的时候,即计算“民族”这个分词在出现在“中华民族是一个有着悠久文明历史的”这个词序列之后的概率。s43:从m个分词序列的发生概率中,选取最大发生概率对应的分词序列,作为目标分词序列。具体地,通过比较的方式,从m个分词序列的发生概率中,获取最大发生概率,并将最大发生概率对应的分词序列,作为目标分词序列。s44:获取目标分词序列中每个分词的出现概率。具体地,在获取到目标分词序列后,分别获取目标分词序列中每个分词的出现概率。其中,出现概率是指该分词出现在前面的预设个数分词之后的概率,该概率可以从n-gram模型中获取,预设个数与n-gram模型中的“n”相同。n的值可根据实际需要进行选取,作为一种优选方式,本实施例中n的取值为2,也即,采用2-gram模型。例如,在一具体实施方式中,通过光学字符的方式识别到的基础语句“我爱圪西红柿”,该基础语句通过步骤s41至步骤s44进行分词处理,得到的目标分词序列为“我”、“爱”、“圪”、“西红柿”,其中,“我”的出现概率为1,“爱”的出现概率为0.83,“圪”的出现概率为0.06,“西红柿”的出现概率为0.33。s45:若存在出现概率小于预设阈值的分词,则将出现概率小于预设阈值的分词作为错误分词。具体地,在存在出现概率小于预设阈值的分词时,将出现概率小于预设阈值的分词作为错误分词。其中,预设阈值可根据实际需求进行设置,其取值范围为0至1。优选地,本实施例中预设阈值为0.2。值得说明的是,若在一个目标分词序列中,存在超过两个或两个以上分词的出现概率小于预设阈值,则将词序最靠前的现概率小于预设阈值的分词作为错误分词,并在分词纠正且对目标分词序列进行更新后,重新判断是否存在错误分词。s46:通过n-gram模型,计算目标分词序列中错误分词所在的词序中概率最大的分词,作为纠正分词。具体地,通过n-gram模型,获取目标分词序列中,该错误分词所在的词序位置出现概率最大的分词,并将该分词作为纠正分词。s47:使用纠正分词更新目标分词序列,并将更新后的目标分词序列作为基础语句对应的目标文本。具体地,使用纠正分词替换目标分词序列中的错误分词,得到更新后的目标分词序列,并将更新后的目标分词序列作为基础语句对应的目标文本,实现对基础语句中存在识别错误的文字进行智能纠错,有利于增强试题内容识别的准确率。在本实施例中,通过对基础语句进行分词解析,得到m个分词序列,进而针对每个分词序列,根据所述分词序列中的分词在该n-gram模型中的词序列频度,计算每个分词序列的发生概率,得到m个分词序列的发生概率,再从m个分词序列的发生概率中,选取最大发生概率对应的分词序列,作为目标分词序列,获取目标分词序列中每个分词的出现概率,在存在出现概率小于预设阈值的分词时,将出现概率小于预设阈值的分词作为错误分词,并通过n-gram模型,计算目标分词序列中错误分词所在的词序中概率最大的分词,作为纠正分词,进而使用纠正分词更新目标分词序列,并将更新后的目标分词序列作为基础语句对应的目标文本,实现对基础语句进行分词,在根据分词出现概率判断识别的错误分词,并对错误分词进行纠正,提高了分词的准确率,同时,增强了试题内容识别的正确率。在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s50中所提及的采用自然语言语义识别的方式,对每个目标文本进行语义识别,得到每个目标文本的目标语义,并根据目标语义确定试题图像对应的综合评分的具体实现方法进行详细说明。请参阅图5,图5示出了本发明实施例提供的步骤s50的具体实现流程,详述如下:s51:通过预设的分词方式,对目标文本进行分词处理,得到目标文本中包含的基础分词。具体地,通过预设的分词方式,对步骤s40中得到的每个目标文本均进行分词处理,得到每个目标文本中包含的基础分词。其中,预设的分词方式包括但不限于:通过第三方分词工具或者分词算法等。其中,常见的第三方分词工具包括但不限于:stanfordnlp分词器、ictclas分词系统、ansj分词工具和hanlp中文分词工具等。其中,分词算法包括但不限于:最大正向匹配(maximummatching,mm)算法、逆向最大匹配(reversedirectionmaximummatchingmethod,rmm)算法、双向最大匹配(bi-directctionmatchingmethod,bm)算法、隐马尔科夫模型(hiddenmarkovmodel,hmm)和n-gram模型等。容易理解地,通过分词的方式提取基础分词,一方面,可以过滤掉有效目标文本中一些无意义的词汇,另一方面,也有利于后续使用这些目标文本生成词向量。s52:将基础分词转换为词向量,并通过聚类算法,对词向量进行聚类,得到目标文本对应的聚类中心。在人工智能中,语言表示主要指语言的形式化或数学的描述,以便在计算机中表示语言,并能让计算机程序自动处理。本发明实施例中所指的词向量就是用向量的形式来表示一个基础分词。具体地,先通过词向量的方式,对每个基础分词进行转化,得到每个基础分词对应的词向量,进而通过预设的聚类算法,对词向量进行聚类,得到每个基础分词对应的词向量的聚类中心,进而将同一个目标文本中的基础分词对应的聚类中心进行继续聚类,得到目标文本对应的聚类中心。其中,聚类(cluster)算法又称群分析,它是样品或指标分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法,聚类算法包括但不限于:k均值(k-means)聚类算法、均值漂移聚类算法、基于密度的聚类(density-basedspatialclusteringofapplicationswithnoise,dbscan)方法、基于高斯混合模型的最大期望聚类、凝聚层次聚类和图团体检测(graphcommunitydetection)算法等。优选地,在本实施例中,采用k均值(k-means)聚类算法,通过对各个基础分词对应的词向量进行聚类,确定每个基础分词对应的分类,进而对目标文本进行聚类,得到目标文本对应的聚类中心。s53:针对n个预设词义向量,分别计算预设词义向量与目标文本对应的聚类中心之间的欧式距离,并将最小欧式距离作为预设词义向量的目标距离,得到n个目标距离,其中,n个预设词义向量为预设标准答案经过分词后转化的词向量,n为正整数。具体地,在本实施例中,预先将标准答案中每个得分点对应分词转换为预设词义向量并存储在服务端,针对n个预设词义向量,分别计算预设词义向量与目标文本对应的聚类中心之间的欧式距离,并将最小欧式距离作为预设词义向量的目标距离,得到n个目标距离。s54:获取预设的k个距离阈值范围和每个阈值范围对应的基础评分,其中,k为正整数。具体地,从服务端获取预设的k个距离阈值范围和每个阈值范围对应的基础评分。其中,距离阈值范围的个数和具体范围可以根据实际需要进行设置。s55:针对n个目标距离,判断每个目标距离所属的距离阈值范围,并根据k个阈值范围对应的基础评分,确定每个目标距离对应的基础评分。具体地,服务端预设有k个阈值范围,每个阈值范围对应一基础评分,针对n个目标距离,分别判断每个目标距离所属的距离阈值范围,并根据k个阈值范围对应的基础评分,确定每个目标距离对应的基础评分。其中,判断每个目标距离所属的距离阈值范围,具体可以是采用冒泡法(bubblesort)、顺序查找(sequentialsearch)和二分查找(binarysearch)等方式。例如,在一具体实施方式中,预设有4个阈值范围,分别为:第一阈值范围[0,3.5),第二阈值范围[3.5,8),第三阈值范围[8,15),第四阈值范围[15,+∞),第一阈值范围对应的基础评分为100,第二阈值范围对应的基础评分为80,第三阈值范围对应的基础评分为60,第四阈值范围对应的基础评分为30,获取到的目标距离为6,经过将目标距离阈值与每个阈值范围的边界点进行比较,确定该目标距离属于第二阈值范围,因而,得到该目标距离对应的基础评分为80,并在步骤s56中对该基础评分进行加权来计算综合评分。需要说明的是,一般情况下,二分查找比顺序查找在时间上要快很多,但是在需要修改的表中采用二分查找,其效率是非常低下的,因为顺序表的修改操作效率低下,而二分查找的高效就是利用顺序表的索引来取值进行比较的,为了支持频繁的修改,我们需要采用链表这种数据结构,但单链表的查找效率非常低,因而,作为一个优选方式,本实施例通过构建二叉查找树的方式进行快速判断每个目标距离所属的距离阈值范围,将k个阈值范围对应的k+1个端值作为二叉查找树的子节点进行二叉查找树的构建,进而将目标距离从二叉查找树的根节点输入,进行快速确定对应的两个子节点,得到两个子节点区间阈值范围作为该目标距离所属的距离与之范围。其中,二叉查找树(binarysearchtree)是一种动态树表树,其时间复杂度为[o(logn),o(n)],相对于顺序查找的时间复杂度o(n),查询效率较顺序查找有显著提升,同时,二叉查找树投影到平面实际为有顺序的线性表,插入和查找速度均较快,相对于单链表结构的二分查找方式来说,查询效率也更高。s56:对n个目标距离对应的基础评分进行加权计算,得到试题图像对应的综合评分。具体地,通过预设的计算公式,对n个目标距离对应的基础评分进行加权计算,得到每个目标距离对应的加权评分,并将每个目标距离对应的加权评分进行汇总,得到试题图像对应的综合评分。例如,在一具体实施方式中,通过如下公式对目标距离对应的基础评分进行加权:其中,为目标距离对应的加权评分,s为目标距离对应的基础评分,d为目标距离,k为加权系数,k的值可根据具体情况进行设置。在本实施例中,通过预设的分词方式,对目标文本进行分词处理,得到目标文本中包含的基础分词,进而将基础分词转换为词向量,并通过预设的聚类算法,对词向量进行聚类,得到每个目标文本对应的聚类中心,针对n个预设词义向量,分别计算预设词义向量与目标文本对应的聚类中心之间的欧式距离,并将最小欧式距离作为预设词义向量的目标距离,得到n个目标距离,再获取预设的k个距离阈值范围和每个阈值范围对应的基础评分,针对n个目标距离,判断每个目标距离所属的距离阈值范围,并根据k个阈值范围对应的基础评分,确定每个目标距离对应的基础评分,最后对n个目标距离对应的基础评分进行加权计算,得到试题图像对应的综合评分,实现通过每个目标文本进行语义识别,得到试题图像中的目标文本对应的综合评分,提高了试卷审核的效率,降低了人力成本。在图4对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s42中所提及的将基础分词转换为词向量,并通过聚类算法,对词向量进行聚类,得到目标文本对应的聚类中心的具体实现方法进行详细说明。请参阅图6,图6示出了本发明实施例提供的步骤s42的具体实现流程,详述如下:s421:针对每个所述分词序列,获取所述分词序列内的所有分词a1,a2,...,an-1,an,其中,n为大于1的正整数。需要说明的是,获取该分词序列内的分词是分别按照词序从前到后的顺序依次获取,具体可以是对每个分词进行标号,按从前到后的顺序将第1个分词记为a1,第2个分词记为a2,以此类推,第n个分词标记为an,例如,针对一分词序列“我爱中国”,按照词序从前到后的顺序依次进行分词提取,得到第1个分词“我”,第2个分词“爱”,第3个分词“中国”。s422:根据所述分词序列中的分词在所述n-gram模型中的词序列频度,使用如下公式计算n个分词中第n个分词an出现在词序列(a1a2...an-1)之后的概率,将所述概率作为所述分词序列的发生概率:其中,p(an|a1a2...an-1)为n个分词中第n个分词an出现在词序列(a1a2...an-1)之后的概率,c(a1a2...an-1an)为词序列(a1a2...an-1an)的词序列频度,c(a1a2...an-1)为词序列(a1a2...an-1)的词序列频度。具体地,由步骤s42可知,每个词序列的词序列频度均通过n-gram模型对语料库的分析得出,此处仅需按照公式(1)进行计算即可。值得说明的是,由于n-gram模型使用的训练语料库较为庞大,而且数据稀疏严重,时间复杂度高,对于分词序列计算出的发生概率数值偏小,所以也可以使用二元模型来计算发生概率。其中,二元模型是通过使用公式(1)来分别计算分词a2出现在分词a1之后的概率a1,分词a3出现在分词a2之后的概率a2,...,分词an出现在分词an-1之后的概率an-1,进而使用公式(2)计算整个词序列(a1a2...an-1an)的发生概率:p(t')=a1a2...an-1(2)在本实施例中,针对每个分词序列,获取该分词序列内的所有分词,并计算最后一个分词出现在前面所有分词组合而成的词序列之后的概率来得到整个分词序列出现的概率,进而评估该分词序列是否合理,从而识别出自然语言的语音信息包含的语义,得到相关要获取的基础语句等信息,有效提高了后续语义识别的准确率。在一实施例中,如图7所示,在步骤50之后,该基于nlp的智能阅卷方法还包括:s60:针对每个试题图像,建立试题图像、试题图像对应的综合评分与试题图像对应的试题标识之间的映射关系,并将映射关系存储到评分表中。具体地,针对每个试题图像,建立试题图像、试题图像对应的综合评分与试题图像对应的试题标识之间的映射关系,并将映射关系存储到评分表中。s70:将评分表发送给管理端。具体地,将评分表通过网络传输协议发送给管理端,管理端的管理人员可以根据需要对该评分表进行统计,并在需要复检时,依据该评分表进行人工复检,确保阅卷评分结果的准确性。在本实施例中,在得到每个试题图像的综合评分之后,建立试题图像、试题图像对应的综合评分与试题图像对应的试题标识之间的映射关系保存到评分表,并将评分表发送给管理端,以供管理端对该阅卷结果进行保存查证等,提高了智能阅卷的容错性。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。图8示出与上述实施例基于nlp的智能阅卷方法一一对应的基于nlp的智能阅卷装置的原理框图。如图8所示,该基于nlp的智能阅卷装置包括图像获取模块10、图像识别模块20、内容切分模块30、文本纠错模块40和语义评分模块50。各功能模块详细说明如下:图像获取模块10,用于获取待评分的试题图像;图像识别模块20,用于采用光学字符识别的方式,对试题图像进行图像识别,得到识别内容;内容切分模块30,用于按照预设的语句划分方式,对识别内容进行语句切分,得到识别内容中包含的每个基础语句;文本纠错模块40,用于获取根据试题图像对应的领域的语料库训练的n-gram模型,并通过该n-gram模型,对每个基础语句进行内容纠正,得到每个基础语句对应的目标文本;语义评分模块50,用于采用自然语言语义识别的方式,对每个目标文本进行语义识别,得到每个目标文本的目标语义,并根据目标语义确定试题图像对应的综合评分。进一步地,图像识别模块20包括:预处理单元21,用于对试题图像进行图像预处理,得到标准图像;区域确定单元22,用于采用场景文本检测算法对标准图像进行文字定位,确定标准图像中的手写文字范围,作为目标文字区域;内容识别单元23,用于采用预先训练好的长短时记忆神经网络模型,对目标文字区域进行文字识别,得到目标文字区域中包含的文本信息,将目标文字区域中包含的文本信息作为识别内容。进一步地,文本纠错模块40包括:基础语句解析单元41,用于对基础语句进行分词解析,得到m个分词序列;发生概率计算单元42,用于针对每个分词序列,根据所述分词序列中的分词在n-gram模型中的词序列频度,计算每个分词序列的发生概率,得到m个分词序列的发生概率,其中,词序列频度为分词序列中的分词在该n-gram模型中出现的次数与该n-gram模型中所有分词出现次数的比值;目标序列确定单元43,用于从m个分词序列的发生概率中,选取最大发生概率对应的分词序列,作为目标分词序列;出现概率获取单元44,用于获取目标分词序列中每个分词的出现概率;错误分词确定单元45,用于若存在出现概率小于预设阈值的分词,则将出现概率小于预设阈值的分词作为错误分词;纠正分词确定单元46,用于通过n-gram模型,计算目标分词序列中错误分词所在的词序中概率最大的分词,作为纠正分词;目标序列更新单元47,用于使用纠正分词更新目标分词序列,并将更新后的目标分词序列作为基础语句对应的目标文本。进一步地,语义评分模块50包括:文本分词单元51,用于通过预设的分词方式,对目标文本进行分词处理,得到目标文本中包含的基础分词;分词聚类单元52,用于将基础分词转换为词向量,并通过聚类算法,对词向量进行聚类,得到目标文本对应的聚类中心;距离计算单元53,用于针对n个预设词义向量,分别计算预设词义向量与目标文本对应的聚类中心之间的欧式距离,并将最小欧式距离作为预设词义向量的目标距离,得到n个目标距离,其中,n个预设词义向量为预设标准答案经过分词后转化的词向量,n为正整数;数据获取单元54,用于获取预设的k个距离阈值范围和每个阈值范围对应的基础评分,其中,k为正整数;基础评分确定单元55,用于针对n个目标距离,判断每个目标距离所属的距离阈值范围,并根据k个阈值范围对应的基础评分,确定每个目标距离对应的基础评分;综合评分确定单元56,用于对n个目标距离对应的基础评分进行加权计算,得到试题图像对应的综合评分。进一步地,发生概率计算单元42包括:分词获取子单元421,用于针对每个所述分词序列,获取所述分词序列内的所有分词a1,a2,...,an-1,an,其中,n为大于1的正整数;概率计算子单元422,用于根据所述分词序列中的分词在所述n-gram模型中的词序列频度,使用如下公式计算n个分词中第n个分词an出现在词序列(a1a2...an-1)之后的概率,将所述概率作为所述分词序列的发生概率:其中,p(an|a1a2...an-1)为n个分词中第n个分词an出现在词序列(a1a2...an-1)之后的概率,c(a1a2...an-1an)为词序列(a1a2...an-1an)的词序列频度,c(a1a2...an-1)为词序列(a1a2...an-1)的词序列频度。进一步地,该基于nlp的智能阅卷装置还包括:映射模块60,用于针对每个试题图像,建立试题图像、试题图像对应的综合评分与试题图像对应的试题标识之间的映射关系,并将映射关系存储到评分表中;发送模块70,用于将评分表发送给管理端。关于基于nlp的智能阅卷装置的具体限定可以参见上文中对于基于nlp的智能阅卷方法的限定,在此不再赘述。上述基于nlp的智能阅卷装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。图9是本发明一实施例提供的计算机设备的示意图。该计算机设备可以是服务端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设词义向量、预设的距离阈值范围和n-gram模型。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于nlp的智能阅卷方法。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例基于nlp的智能阅卷方法的步骤,例如图2所示的步骤s10至步骤s50。或者,处理器执行计算机程序时实现上述实施例基于nlp的智能阅卷装置的各模块/单元的功能,例如图8所示的模块10至模块50的功能。为避免重复,这里不再赘述。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例基于nlp的智能阅卷方法的步骤,或者,该计算机程序被处理器执行时实现上述实施例基于nlp的智能阅卷装置中各模块/单元的功能。为避免重复,这里不再赘述。可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号和电信信号等。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1