APP下载

基于自然语言处理的纠错系统架构设计

2022-10-14

关键词:同音词知识库架构

周 原

(闽江师范高等专科学校 数字信息工程学院,福建 福州 350018)

0 引言

近年来,互联网与计算机技术的应用使人们快速进入了信息时代,人们的日常生产生活大多依赖于网络通信,在该背景下,自然语言处理技术应运而生并不断在诸多领域普及[1].作为一种新兴学科,自然语言处理对智能化的发展具有重要意义,自然语言处理为文本纠错提供了新的技术支撑,使文本纠错的质量和效率有了明显的提高.随着新闻媒体、期刊杂志等文字工作领域的不断发展,文字纠错的工作量也越来越大,但由于传统的人工纠错难以保证纠错的质量,且纠错速度较慢,已不能满足目前出版等行业领域的工作效率要求,因此文本自动纠错在诸多行业广泛应用,通过文本纠错系统规范文本内容,可以提升整体的文本质量,实现智能纠错,在减少大量人为工作量的同时,能够使纠错的准确率大幅提高[2].纠错系统能够基于规则,语言学等方法的结合,实现对字词、语法、语义的纠错,对文本内容进行分词和标注,通过上下文语境输出错误结果,根据知识库智能化比对文本内容,实现文本错误的识别和纠错.本文基于自然语言处理设计纠错系统架构,通过建立语言知识库,描述自然语言的上下位关系、同义反义关系等;制定语句合成规则等步骤实现文本的纠错,以期为提高纠错系统的文本处理功能,提升文本纠错的准确率和工作效率提供重要的参考依据.

1 基于自然语言处理的纠错系统架构设计

1.1 建立语言知识库

本文纠错系统的功能实现需要依赖于知识库和数据的支持,因此在本文纠错系统架构设计中,首先需要建立语言知识库.语言知识库和语料库是实现自然语言处理的基础,语料库用于存放语言材料,基于大量的语言材料进行语言规律的探索,并用计算机语言量化出来实现对语言的处理和纠错[3].本文纠错系统架构主要涉及的语种为汉语和英语,在双语语种的基础上,经过对文字语言的加工处理,标注特定信息,形成标注语料库.语言知识库将语言知识存于语料库中,对各语言单元的用法和范畴等进行明确的定义,对文字序列通过对文本的标注,显示文字内在的语义,便于机器学习.本文语言知识库涵盖了丰富的语言单位和语言层面,包括词组、句子、语法、句法以及语义等.基于汉语文本从通用领域向专业领域发散,提取有用信息并结合语言规则,实现对自然语言的处理.本文建立的语言知识库充分体现知识网理论,描述自然语言的上下位关系、同义反义关系等,其库中包括中英文知识词典、中文繁体知识词典、词类表、标志符号与说明等数据文件和程序,语言知识库以词语概念和语义为基础,从而为后文的语义语句判定提供数据来源,满足自然语言处理的需求.

1.2 制定语句合成规则

在本文纠错系统架构设计中,需要构建语句规则,实现对语句的分析和错误检测.首先构建二元句法合成规则,利用上文构建的语言知识库,对文本中各词性类别进行分类和标注,根据字符串序列,得到词元串,具体表示为:

Q′=s1|e1,s2|e2,s3|e3,…si-1|ei,si+1|ei+1,…,sn|en

(1)

式中,si为词性,“|”前的si为分词后的最小单元词元,“|”后的ei为当前最适宜的词性.由于汉语的自然属性与英语等其他语种不同,汉语的分词不存在分隔符,在句式结构上属于分析化和结构化语言,因此本文通过汉语词语搭配原则对句法形式和组织信息进行语法句法的解读,将上文中的词性标记集和语言规则结构,构成二元句法合成规则集.在中文句式结构搭配中,除了常见的二元句法,还存在三元句法,因此还需要进行三元句法合成规则的制定,构建三元句法合成规则文本库[4],该库的实现与二元句法合成规则集相似,但由于三元句法的解析过程为三元词之间的组合,在一般情况下,中文句式中的词性搭配遵循左右词性相同的原则,并以连词为连接纽带,并充分考虑中文句式间的修饰关系,中文句子成分的扫描按照从后向前的匹配规则进行,经过扫描选出词性后与最新词性进行匹配,在语言规则和词性标记集的结合下完成对三元词汇规则构建.

1.3 语言分析及文字错误识别功能设计

本文基于上文的规则角度,对自然语言进行句法的分析和文字错误识别功能的设计,并通过语法和统计得出句式分解规则,二元词汇间的修饰与三元词汇间的修饰相比,其修饰关系更加复杂,因此在进行语言材料文本的遍历时,优先遍历二元规则集,从而得到语句的解析.XML格式数据能够实现多种格式数据的转换,因此将语言分析结果转为XML格式,将语句解析过程转化为能够识别的结构格式,进行可视化展示,进行文字错误的识别[5].在文字错误的识别中,对错别字的成因类型进行分析与划分,主要包括音近且形近,音近但不形近以及不音近但形近三种类型,文字错误的识别是为后续自然语言处理和纠错提供支撑,直接影响着后文的纠错准确性.对文字错误的识别首先需要检测出疑似存在错别字的字串,由于中文的错别字识别需要充分考虑汉字的上下文关系以及表达意图,词作为最小的独立运行的语言单位没有词边界的标识,因此通过当前文字与上下文连接紧密程度判断句子中的用词规范性,在给定一个完成自动分词的句子,并利用上下文特征,通过散串方法抽取低频散串元组,排查句子中可能存在错误的汉字串,利用互信息抽取句子中关联度较低的句子,其关联程度的计算公式为:

(2)

式中,I(pi,pi+1)为句子中用词的互信息,表示两个相邻词的关联程度,pi和pi+1为相邻的两个词,提取错误的上下文关系,得到疑似存在错别字的串,将汉字串转化为拼音串,生成相似的拼音候选,从而对拼音串进行再次解码,得到新的汉字串,输出错别字的识别结果.

1.4 基于自然语言处理构建纠错模型

最后基于自然语言处理构建纠错模型,实现纠错系统的文字纠正功能.与英文文本相比,由于中文文本的录入是通过编码实现的,因此其非规范表述的形式较为复杂,为纠错系统带来了较大的工作难度,为解决这一问题,在中文文本的纠错中,需要先将汉字转化成五笔编码,进行编码输入再解码成汉字,结合上下文语境以及二元模型进行纠错[6].在进行文本错误识别后,利用本文的语言知识库,对文本中的词语搭配关系进行深层次的分析,并以此为基础,获取词语的搭配,根据词语搭配进行同音词的纠错.在汉字串转换为拼音串后,对拼音流进行自动分词,实现对拼音串解码的预处理,在候选拼音串的解码过程中,根据给定的观察序列进行解码,而后通过与训练语言材料的匹配,具体解码后得到的最佳匹配串表达式为:

w′=argmaxs(w|k,λ)[

(3)

式中,w′为选出的最佳匹配串,k为经过加工的拼音串序列,w为当下拼音串下某个可能的汉字串,考虑上下文语境关系以及训练语言材料中的频率分布.在模型训练阶段,由于训练语言材料的覆盖范围存在着一定的局限性[7],因此不能将全部的语言现象进行完整地描述,从而出现数据稀疏情况,利用平滑方法将所有出现的字符串分配一个非零的概率值,计算候选串概率,具体公式为:

(4)

式中,ti为时间,根据该概率模型的应用,将生成的概率最大的候选串与原文相结合,得出正确的句子,完成纠错.

2 实验分析

2.1 纠错系统架构与系统流程描述

为验证本文设计的纠错系统架构能否较为完整地实现对文本错误的识别和纠错,并具有较高的召回率和准确率,在对文本错误类型进行划分和研究后,确定了占文本错误类型的85%的本文错误作为系统纠错的研究对象,具体的纠错系统架构设计如图1所示.

图1 纠错系统架构

由图1可知本文具体的纠错系统架构设计,在进行纠错前,首先对模型、上下文语境、汉语搭配等预备资源进行训练,将本文构建的二元规则集,三元规则集,文本知识库以及纠错模型等数据存入系统的本地文件,输入文本后进行数据预处理,实现自动分词和词性标注,判断字字接续,词性接续,再通过同音词以及上下文语境进行局部的同音词纠错,并利用汉语搭配发现远距离错误,达到字词级纠错目的.各模块工作顺序如图2所示.

图2 各模块工作流程图

由图2可知,在一个句子分析完成后,可继续向下查看选中的输入文本是否顺利处理,给出文本错误出处与结果,提出纠错建议,基于错误集进行长词纠错,经过模型处理后形成纠错后的语料文本,最后输出纠错结果.

2.2 文本错误识别结果与分析

在此基础上,对应用本文架构的纠错系统性能进行验证,首先对该系统对字词、语法和语义的错误识别功能进行测试.本文的实验测试集选择了18 000个真实的句子文本,其中包含了11 354个错误,以召回率r、误包率e和正确率p为文本错误识别实验评价的指标,具体计算公式为:

(5)

(6)

(7)

式中,C为文本数据中实际的错误总数,B为本文识别正确的文本错误总数,J为误报错误总数.实验中将文本错误的识别过程进行输出显示,并对中间结果进行分析,利用二元模型与上下文语境特征的结合,将文本以文件格式输入到本文设计的模型中,具体测试结果如表1 所示.

表1 文本错误识别

由表1 可知,应用本文架构的纠错系统在自然语言处理的错误识别测试中,其召回率和正确率均在95.00%以上,在本文系统试验中,文本错误的识别是基于自动分词和词性标注的基础上实现的,对诞规律的分析由本文建立的语言知识库中实现,证明本文语言知识库中内容对本文错误的识别具有积极显著的效果,其中,对字词错误的识别效果最佳,其识别正确率达到了98.45%,对正确句子识别的误报率较高,推测这是由于正确句子数量比例较高,对句子成分识别的扩展不充分导致的,对语法级错误和语义级错误的正确率较为接近,且误报率较低,证明本文方法在语法错误和语义错误的识别中表现较为稳定,总体来看,本文方法能够识别大部分的字词、语法和语义错误,能够为纠错功能的实现提供有效的数据.

2.3 文本纠错结果与分析

在文本纠错阶段,由于实验训练集中句子的字词级错误较多,因此文中主要对错别字纠错结果进行展示与分析,主要包括对同音词和长词错误的纠错,对纠错结果的分析指标在上文的基础上增加了纠正率和F值,具体计算公式为:

(8)

(9)

式中,V为本文完成正确纠正的错误,对于同音词的纠正过程中,分析中间结果存在部分错误,考虑这是由于数据稀疏未能找回和纠正所导致的,一些句子中由于纠错词的距离太远,上下文窗口不足,因此基于汉语搭配进行远距离的纠错.实验训练集中共包括4 589个句子文本,其中包括2 107个同音词远距离错误,对该测试集进行测试得到具体各项实验结果如表2 所示.

由表2可知,在实验训练集的4 589个文本中共有实际同音词错误2 806个,本文完成了正确纠错2 687个,其同音词纠错的纠正率为95.76%,满足纠错系统的设计需要,证明本文方法对同音词的纠错效果较为理想.非词纠错建立在错词集的基础上,在长词纠错的测试中,共抽取了600个四字词,200个五字词和150个六字词,错词集用的是约180 M的系统日志语言材料,最后统计出对文本中的长词纠错结果,具体如表3所示.

表2 同音词纠错实验结果

表3 长词纠错结果

由表3可知,长词纠错的召回率和纠正率低于同音词的纠错结果,这是由于长词纠错的实验所使用的错词集覆盖范围较小,语言材料有限,因此对长词的纠错效果产生了一定的影响,但总体而言,长词纠错性能较好.

再对比应用本文架构的纠错系统和传统架构的纠错系统(文献[3]系统)的纠错结果,对比实验中所使用的训练集中包括894个句子文本,其中错误文本641个,包含了548个同音词错误,93个长词错误,首先对不同架构系统的纠错准确率结果进行对比,具体结果如图3所示.

图3 不同架构系统的纠错准确率对比

由表4可知,应用本文架构的纠错系统在3次实验中进行字词纠错的准确率均在95%以上,而传统架构系统在3次实验中的纠错准确率均低于90%,准确率波动较大.其次对不同架构系统的纠错召回率进行对比,具体如图4所示.

图4 不同架构系统的纠错召回率对比

由图4可知,在不同的实验条件下,本文系统的平均召回率为90.02%,传统架构系统的纠错召回率为62.35%,本文架构系统纠错的召回率远高于传统架构系统纠错的召回率.最后验证不同架构系统的F值,结果如图5所示.

图5 不同架构系统纠错的F值对比

由图5可知,本文架构系统的F值更高,传统架构系统的F值较低,证明本文架构系统的纠错功能更佳,具有较强的可行性.

3 结束语

本文通过建立语言知识库,制定语句合成规则,语言分析及文字错误识别功能设计,基于自然语言处理构建纠错模型,完成了本文的纠错系统架构设计研究,取得了一定的研究成果.同时,由于时间和条件的限制,本文研究还存在诸多不足,需要在未来进一步探索和讨论,从而不断完善本文的架构设计,如未涉及对文字中标点符号纠错的内容,未设置对标点位置预测以及标注所需要的特征模板,因此在今后的研究中,还应针对本文研究存在的问题不断改进和完善,加强对中间处理过程中的噪声,从而提高纠错系统的错误识别准确率和纠正率.

猜你喜欢

同音词知识库架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
妙笔小画家
LSN DCI EVPN VxLAN组网架构研究及实现
关于同形同音词的研究综述
浅析维汉同音词的对比
高速公路信息系统维护知识库的建立和应用
基于Drupal发布学者知识库关联数据的研究
一种基于FPGA+ARM架构的μPMU实现