CN116306600A - 一种基于MacBert的中文文本纠错方法 - Google Patents

一种基于MacBert的中文文本纠错方法 Download PDF

Info

Publication number
CN116306600A
CN116306600A CN202310596361.6A CN202310596361A CN116306600A CN 116306600 A CN116306600 A CN 116306600A CN 202310596361 A CN202310596361 A CN 202310596361A CN 116306600 A CN116306600 A CN 116306600A
Authority
CN
China
Prior art keywords
word
text
macbert
error
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310596361.6A
Other languages
English (en)
Other versions
CN116306600B (zh
Inventor
司君波
魏传强
宋耀
唐猛
陈乔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Qilu Yidian Media Co ltd
Original Assignee
Shandong Qilu Yidian Media Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Qilu Yidian Media Co ltd filed Critical Shandong Qilu Yidian Media Co ltd
Priority to CN202310596361.6A priority Critical patent/CN116306600B/zh
Publication of CN116306600A publication Critical patent/CN116306600A/zh
Application granted granted Critical
Publication of CN116306600B publication Critical patent/CN116306600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本申请属于文本纠错领域,具体涉及一种基于MacBert的中文文本纠错方法,包括以下步骤:S1.数据预处理;S2. 修改MacBert模型;S3.候选词生成;S4.错误类型分类;S5.错误纠正器应用;S6.输出纠错后的结果。本发明较为严谨的建立中文纠错算法,并证明了该纠错算法相较于原始MacBert模型纠错性能的优越性。

Description

一种基于MacBert的中文文本纠错方法
技术领域
本申请属于文本纠错领域,具体涉及一种基于MacBert的中文文本纠错方法。
背景技术
中文文本纠错仍然存在许多挑战。中文语法、词汇的复杂性,多义性和歧义性使得中文文本纠错变得更加困难。此外,中文文本纠错还需要考虑上下文和语境等因素,这也增加了中文文本纠错的复杂性。如现有MacBert模型同样存在种种缺陷。首先,现有MacBert模型存在训练结果不稳定的现象。在参数完全一致的情况下,同一设备下的相同数据进行两次独立训练后获取的模型纠错能力并不一致甚至可能出现较大差异。其次,并非越多的优质数据训练出的MacBert模型效果越好,甚至存在精度持平甚至到精度倒退的问题。最后,MacBert模型存在误纠过多,对于垂直领域的专业术语、人名地名以及新生词汇存在理解不足,学习能力较差的问题。
发明内容
基于上述问题,本申请采用了针对中文文本的特殊优化策略,基于大规模的中文语料数据,对中文词语的分词和构词规则进行建模,因此具有较强的中文表达理解和处理能力。在纠错中,它可以更好地理解中文文本中的语义和语法结构,从而更准确地发现和纠正中文错误。技术方案为:
一种基于MacBert的中文文本纠错方法,包括以下步骤:
S1.数据预处理:对输入的文本数据进行预处理,包括分词、词性标注、构建字典、数据清洗去噪和文本向量化操作,得到词向量U=(u1,u2,…,un), un表示一个单词或者子词;
S2.修改MacBert模型:将预处理后的词向量U作为修改后模型的输入,并计算当前单词在整个文本上下文中的语义信息和位置信息;
S3.错误判断及候选词生成:疑似错误的判断并生成候选词列表;
S4.错误类型分类:根据疑似错误类型对候选词进行分类,得到不同类型的错误纠正器;
S5.错误纠正器应用:根据错误纠正器的预测结果,对候选词列表进行排序,对每个候选词进行评分和排名,并选取最有可能是正确词汇的词进行替换;
S6.输出纠错后的结果:经过纠错结果过滤器筛选后,输出最终纠错后的文本。
优选的,步骤S1的具体过程为:
S11.将文本划分为一个个有意义的词语,以便后续处理;并为每个词语确定其词性;
S12.构建字典是根据分词和词性标注的结果,为每个词语进行编码,将每个词语映射为一个整数值,或者将每个词语映射为一个向量表示;文本向量化则是将分词后的文本数据转换成词向量表示,以便输入到Macbert模型中进行处理;数据清洗去噪通过清洗并去除一些无用的噪声数据。
优选的,步骤S2中,修改MacBert模型包括掩码方式的修改和模型结构的修改,其中,
模型结构的修改是在现有MacBert模型Self-Attention 层中的softmax函数归一化后添加学习器,用于接下来其他每一次的Self-Attention计算,进行前后文本的记忆和学习;在MacBert输出层后添加一个纠错结果过滤器;
掩码方式的修改为基于MLM任务的修改,调整N-gram masking策略中候选token的比例分布方式。
优选的,步骤S2中,通过词嵌入技术将每个单词或子词映射到一个高位空间上,并通过Transformer的多个编码器进行处理,从而产生一个最终的上下文向量V=(V1,V2,…,Vn);这个上下文向量能够反映当前单词或字词在整个文本上下文中的语义信息和位置信息,包括它前面和后面的单词。
优选的,步骤S3的具体过程为:
S31.通过步骤S2输出的语义信息和位置信息,可以得到疑似错误的位置及类型;
S32.根据错误类型进行相应的候选词生成,并生成候选词列表,具体过程如下:对于每个候选词,进行特征提取,计算候选词与原文本中可能出现的正确词之间的相似度,同时,考虑上下文信息、词性标注对于候选词的影响,最终可以生成一个包含多个候选词的列表。
优选的,步骤S4的具体过程为:
将生成的候选词按照疑似错误类型进行分类,根据不同的错误类型,可以构建不同的错误纠正器来进行纠错;具体来说,
对于拼音的音似错误,构建音似错误纠正器,它能够根据候选词与字典中正确词汇的拼音相似度进行音似错误的修正;
对于拼写的形似错误,构建形似错误纠正器,它能够根据候选词与字典中正确词汇的字形相似度进行形似错误的修正;
对于语法错误,则需要构建一个语法错误纠正器,它能够根据上下文语法结构进行语法错误的修正。
优选的,步骤S5的具体过程为:
S51.对于每个疑似错误的词,根据错误纠正器的预测结果对候选词列表进行排序,以便选择最有可能是正确的词汇进行替换;在排序时,可以使用错误纠正器输出的每个候选词的概率或分数进行排序,以确保被替换的词汇是最可能是正确的;
S52.选择分数最高或概率最大的候选词作为纠错后的词汇;如果需要替换多个词汇,可以重复进行排序和替换的过程,直到满足需求;
S53.在替换完成后,将纠错后的文本输出。
优选的,步骤S6的具体过程为:
在完成错误纠正器的应用后,最终得到了一个经过排序和选择的候选词列表,对候选词列表进行一次过滤;纠错结果过滤器通常会检查替换后的文本是否符合语法和语义规则,并根据需要进行进一步的纠错和修正。
与现有技术相比,本申请有益效果如下:
(1)在MLM相似词掩码替换阶段进行优化,解决了现有macbert模型出现大量文本误纠的问题。
(2)在MacBert模型Self-Attention 层中的softmax函数归一化后添加学习器,提升模型联想和记忆学习能力,使得在有限的数据下模型对新生词汇和垂直领域的专业术语有更强的理解能力。在纠错中,它可以更好地理解中文文本中的语义和语法结构,从而更准确地发现和纠正中文错误。
(3)本专利模型使用了更大规模、多样化的全领域中文语料数据集,包括语料库、网络文本、新闻稿件、学术论文等不同类型的文本数据,以提高模型的泛化能力和准确性。
(4)本专利针对中文特点以及中文表达理解能力,对模型结构进行了优化。加入了纠错结果审核机制,进一步有效降低文本误纠,具有较强的中文表达理解和处理能力。
(5)自适应性。该模型可以通过微调的方式自适应于不同的纠错任务,可以针对不同的错误类型进行优化。
(6)鲁棒性强。该模型除了能够处理多种类型的中文错误,例如错别字、病句之外,还具备了标点符号纠错功能,具有很强的鲁棒性。
附图说明
图1为本申请流程图。
具体实施方式
以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。
Mac = MLM as correction,即校正的 mask 策略。MacBERT 是BERT的改进版本,引入了纠错型掩码语言模型(MLM as correction,Mac)预训练任务,缓解了“预训练-下游任务”不一致的问题。
一种基于MacBert的中文文本纠错方法,包括以下步骤:
S1.数据预处理:对输入的文本数据进行预处理,包括分词、词性标注、构建字典、数据清洗去噪和文本向量化操作;具体步骤如下:
在使用模型进行中文文本纠错前,需要先对输入的文本数据进行预处理。这个预处理的过程主要包括分词、词性标注、构建字典、数据清洗去噪和文本向量化等几个步骤。其中,分词是采用常用的分词工具如jieba等,将文本划分为一个个有意义的词语,以便后续处理;词性标注可以使用标注工具如Stanford Part-of-Speech Tagger,为每个词语确定其词性,例如名词、动词、形容词等;构建字典是根据分词和词性标注的结果,为每个词语进行编码,将每个词语映射为一个整数值,或者将每个词语映射为一个向量表示;文本向量化则是使用一些常见的方法,如词袋模型将分词后的文本数据转换成词向量表示,得到词向量U=(u1,u2,…,un), un表示一个单词或者子词,以便输入到修改后的Macbert模型中进行处理;数据清洗去噪通过清洗并去除一些无用的噪声数据,如HTML标签、特殊字符等,以提升数据的质量。以上这些操作将有助于提高MacBert模型的性能和准确率,使得文本纠错结果更加准确和实用。
S2.修改MacBert模型,将预处理后的词向量U作为修改后模型的输入,并计算当前单词在整个文本上下文中的语义信息和位置信息;
对现有MacBert模型修改包括掩码方式的修改和模型结构的修改两部分;其中模型结构的调整是在现有MacBert模型Self-Attention 层中的softmax函数归一化后添加学习器,用于接下来其他每一次的Self-Attention计算,进行前后文本的记忆和学习;在MacBert输出层后添加一个纠错结果过滤器;
学习器的原理如长短期记忆网络(LSTM,Long Short-Term Memory),是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。
掩码方式的调整为基于MLM任务的修改,调整N-gram masking策略中候选token的比例分布方式。
词向量U通过Transformer的多个编码器进行处理,从而产生一个最终的上下文向量V=(V1,V2,…,Vn);这个上下文向量能够反映当前单词或字词在整个文本上下文中的语义信息和位置信息,包括它前面和后面的单词。在这个过程中,修改过的新模型还能够更加全面深入的学习到词汇的上下文关系,从而更好地理解文本语义,帮助进行文本纠错。
Transformer是一种用于自然语言处理的神经网络架构,由Google在2017年提出。它采用了自注意力机制(Self-Attention)来处理输入序列中词语之间的依赖关系,使得模型能够同时考虑到整个输入序列的上下文信息。
N-Gram masking是一种预训练语言模型中的技术,用于增加输入句子的随机性和泛化能力。在N-Gram masking中,不仅会随机遮挡(mask)单个词语,还会遮挡多个连续的词语,以引入更大的上下文信息。
Softmax是一种常用的激活函数,常用于多类别分类任务。Softmax函数接收一组实数作为输入,将其映射为一个概率分布,使得所有类别的概率之和等于1。在NLP中,Softmax函数常用于将模型的输出转化为每个类别的概率分布。
MLM是"Masked Language Model"的缩写,即遮挡语言模型。这是一种预训练任务,其中模型需要预测被遮挡的词语。通过进行遮挡和预测,MLM可以学习词语的上下文相关表示。
在自然语言处理中,Token通常指的是一个词或一个单词的子部分。在文本处理中,将文本分割成Token是一种常见的预处理步骤,以便更好地处理和分析文本数据。
word2vec是一种用于将词语表示为连续向量的技术。它基于分布式假设,认为具有相似上下文的词语在向量空间中也应该相互接近。word2vec通过训练神经网络模型来学习词语的向量表示,这些向量可以用于衡量词语之间的语义相似性和进行词语之间的计算。
在自然语言处理中,Mask(遮挡)通常指的是将某些词语或标记替换为特定的符号,以隐藏或保护敏感信息或进行模型训练。在预训练模型中,Mask也可以指代遮挡语言模型(MLM)中的操作,即将输入文本中的一部分词语遮挡,要求模型预测这些遮挡的词语。
S3.疑似错误的判断并生成候选词列表;
在使用优化后的Macbert模型进行中文文本纠错的过程中,候选词生成是非常关键的一个环节。通过模型输出的错误标注信息,可以得到疑似错误的位置及类型。接着,需要根据错误类型进行相应的候选词生成。通过一些算法和技术生成候选词列表。一般来说,这些算法包括基于N-gram模型、基于编辑距离的纠错算法和基于语义相似度的纠错算法等。对于每个候选词,还需要进行特征提取,这可以通过计算候选词与原文本中可能出现的正确词之间的相似度来实现。同时,还需要考虑诸如上下文信息、词性标注等因素对于候选词的影响。基于这些算法和特征提取技术,可以生成一个包含多个候选词的列表。
上下文信息、词性标注等因素对于候选词的影响如下:
上下文信息:考虑错误候选词在其上下文中的语义和语境。可以利用错误词周围的单词、短语或句子来获取上下文信息。例如,使用窗口上下文模型,将错误词周围的单词作为上下文特征,或者使用循环神经网络(RNN)或Transformer等模型来建模错误词的上下文信息。
词性标注:通过词性标注来识别错误候选词的词性,并考虑词性对错误纠正的影响。不同的词性可能对候选词的选择和排名产生不同的影响。例如,动词和名词可能在纠正过程中具有不同的优先级。
如何通过计算候选词与原文本中可能出现的正确词之间的相似度来实现特征提取,可以采用以下方法:
基于词向量的相似度计算:将候选词和原文本中可能出现的正确词表示为词向量,然后计算它们之间的相似度。常见的词向量模型包括Word2Vec、GloVe和FastText等。可以使用词向量之间的余弦相似度来度量它们之间的相似程度。
基于语义关联度的相似度计算:利用预训练的语义关联度模型来计算候选词与原文本中可能出现的正确词之间的语义关联度。例如,可以使用预训练的BERT模型,通过计算候选词和正确词之间的语义匹配得分来评估它们的相似度。
基于字符串相似度的计算:使用字符串相似度算法(如编辑距离、最长公共子序列等)来比较候选词和正确词之间的字符串相似度。这些算法可以度量两个字符串之间的相似性,从而提供相似度分数作为特征。
基于知识库的相似度计算:利用外部知识库(如WordNet、ConceptNet等)来获取候选词和正确词之间的语义关联度。这些知识库包含词汇间的关系和语义信息,可以通过查询知识库中的词汇关系来计算相似度分数。
这些方法可以作为特征提取的一部分,用于衡量候选词与原文本中可能出现的正确词之间的相似度。需要根据具体任务和数据特点选择合适的方法,并进行实验和调优,以获得最佳的相似度计算效果。
S4.错误类型分类:根据疑似错误类型对候选词进行分类,得到不同类型的错误纠正器;
将生成的候选词按照疑似错误类型进行分类,例如拼写错误。将生成的候选词按照疑似错误类型进行分类,根据不同的错误类型,可以构建不同的错误纠正器来进行纠错;具体来说,对于拼音的音似错误,构建音似错误纠正器,它能够根据候选词与字典中正确词汇的拼音相似度进行音似错误的修正;
对于拼写的形似错误,构建形似错误纠正器,它能够根据候选词与字典中正确词汇的字形相似度进行形似错误的修正;对于语法错误,则需要构建一个语法错误纠正器,它能够根据上下文语法结构进行语法错误的修正。通过这样的错误类型分类,能够更加有效地对文本进行纠错,提高文本纠错的准确性和效率。
音似错误纠正器采用编程实现(处理器可执行的指令),其具有音似计算功能,步骤为:
中文中的音似词计算可以使用拼音相似度来度量不同词之间的音近程度。以下是一种基本的方法:
拼音转换:将中文词语转换成对应的拼音表示。可以使用拼音库或拼音转换工具如pypinyin将中文词语转换为拼音字符串。例如,将"山东"转换为"shan dong"。
相似度计算:对于两个拼音字符串,可以使用相似度计算方法来计算它们之间的相似度。常见的相似度计算方法包括编辑距离、余弦相似度、Jaccard相似度等。这些方法可以用于比较两个拼音字符串之间的差异程度,从而判断它们的音近程度。
阈值设置:根据具体需求,可以设置一个相似度阈值来确定哪些词被认为是音近词。如果两个词的拼音相似度超过阈值,则认为它们是音近词,否则则不是。
需要注意的是,中文的音似词计算可能受到多音字、发音变化和声调等因素的影响。因此,在进行音似词计算时,需要根据实际情况选择合适的拼音转换方法和相似度计算方法,并根据需求进行适当的调整和优化。
形似错误纠正器采用编程实现(处理器可执行的指令),具有形似计算功能,步骤如下:
中文中的形似词计算涉及到比较字形的相似度来判断不同词之间的形近程度。以下是一种基本的方法:
字形表示:将中文词语分解成各个字,并获取每个字的字形信息。可以使用字形数据库或字形描述工具来获取中文字的字形信息。
相似度计算:对于两个词的字形信息,可以使用相似度计算方法来度量它们之间的形近程度。常见的相似度计算方法包括编辑距离、汉字结构相似度、笔画相似度等。这些方法可以用于比较两个字形之间的差异程度,从而判断它们的形近程度。
阈值设置:根据具体需求,可以设置一个相似度阈值来确定哪些词被认为是形近词。如果两个词的字形相似度超过阈值,则认为它们是形近词,否则则不是。
需要注意的是,中文的形似词计算可能受到字形的复杂性和变体的影响。有些字形相似的词可能是因为字形的共通部分,而有些词可能是因为字形的整体形状相似。因此,在进行形似词计算时,需要根据实际情况选择合适的字形表示方法和相似度计算方法,并根据需求进行适当的调整和优化。
此外,还可以结合语义信息来进一步提高形似词计算的准确性。通过考虑字形相似度和语义相似度的综合评估,可以更全面地判断不同词之间的形近程度。
S5.错误纠正器应用:根据错误纠正器的预测结果,对候选词列表进行排序,并选取最有可能是正确词汇的词进行替换;
对于每个疑似错误的词,根据错误纠正器的预测结果对候选词列表进行排序,以便选择最有可能是正确的词汇进行替换。在排序时,可以使用错误纠正器输出的每个候选词的概率或分数进行排序,以确保被替换的词汇是最可能是正确的。一般而言,选择分数最高或概率最大的候选词作为纠错后的词汇。如果需要替换多个词汇,可以重复进行排序和替换的过程,直到满足需求。在替换完成后,将纠错后的文本输出。
S6.输出结果:经过纠错结果过滤器筛选后,输出最终纠错后的文本。
在完成错误纠正器的应用后,最终得到了一个经过排序和选择的候选词列表。为了确保输出结果的准确性和流畅性,需要对候选词列表进行一次过滤。纠错结果过滤器通常会检查替换后的文本是否符合语法和语义规则,并根据需要进行进一步的纠错和修正。例如,如果替换后的文本中出现了重复的单词、不符合语法的句子结构或者明显的语义错误,纠错结果过滤器会将这些问题进行修正。在经过纠错结果过滤器的筛选和修正后,最终输出的文本应该是经过充分纠正的、符合语法和语义规则的文本,能够更加准确地表达原本想要表达的意思。
实施例
针对现有MacBert模型在实践中的种种问题,本专利做出了如下改进。
第一,针对模型结构的调整,在MacBert模型Self-Attention 层中的softmax函数归一化后添加记忆学习器,记忆并提升相似度极高的词语,用于接下来其他每一次的self-attention计算,从而提升模型精度。同时,在MacBert输出层后添加一个纠错结果筛选过滤器,利用NER(命名实体识别)技术,针对纠错结果中出现的人名、地名等误纠进行识别过滤,从而有效降低模型误纠,能够明显改善现有MacBert存在的相关误纠,如人名“成冉冉”误纠为“陈冉冉”,地名“曹州”误纠为“菏州”、“成武县”误纠为“城武县”,化学物质“草酸钙”误纠为“磷酸钙”等。
第二,基于MLM任务的修改,调整N-gram masking策略中候选token的比例分布方式。由原先词级别的1-gram到4-gram Masking的比例为40%,30%,20%,10%调整至1-gram到3-gram Masking的比例为50%,35%,15%。
其次,将MacBert中随机挑选15%分词后的结果进行mask,并将这15%数据中的80%用同义词代替,10%用随机词代替,10%保持不变修改为随机挑选30%分词后的结果进行mask,并将这30%数据中的70%用同义词代替,10%用随机词代替,20%保持不变。
掩码方式修改就是改变了n-gram masking掩码,具体解释:
1、首先MacBert中随机挑选15%分词后的结果。
2、对这15%按照1-gram到3-gram Masking的比例为50%,35%,15%进行masking。
3、Masking后对其中80%的内容进行同义词代替,10%用随机词代替,10%保持不变。
原文:使用语言模型来预测下一个词的概率
N-gram masking:使用[M][M][M][M]来[M][M]下一个词的概率
修改后的macbert-masking:使用语言建模来预见下一个词的概率
语言模型就是2-gram,连续两个词(语言、模型)
预测就是1-gram,一个词(预测)
原始Macbert原理:(这段是原始macbert掩码原理,我们专利使用的也是一样的,但是改变了n-gram masking比例分布,还有同义词替换的比例)
使用中文分词工具LTP来决定词的边界,如分词后变成"使用 语言 模型 来 预测下一个 词 的 概率 。",在【MASK】的时候,是对分词后的结构进行【MASK】的(如不能只【MASK】掉"语"这个token,要不就把“语 言”都【MASK】掉),N-gram Masking的意思是对连续n个词进行【MASK】,如图中把“语 言 模 型”都【MASK】了,就是一个2-gram Masking。虽然【MASK】是对分词后的结果进行,但在输入的时候还是单个的token。
MacBERT采用基于分词的n-gram masking,1-gram~4gram Masking的概率分别是40%、30%、20%、10%。利用近义词来代替被【MASK】掉的词。最终,MacBERT的输入如下,对基于分词后的结果随机挑选15%的词进行【MASK】,其中80%用同义词代替;10%用随即词代替;10%保持不变。
现有Macbert模型基于word2vec的相似词替换作为掩码时,可能会导致模型在训练过程中出现信息泄露的问题。因为部分相似词替换例如“下雨—降雨”、”好的—好吧”可能存在相似词跟原来的词过度相似,其实是提供了近乎一样的文本信息的,使得模型在训练的过程中,已经提前看到了部分的自己,训练可能不够充分。降低同义词替换的比例是为了进一步削弱该项影响。如山东和山西同为省,就文本语义角度而言存在极高相似度,但若把“山东”替换为“山西”,则完全改变句子的主语,导致语言表达发生根本性变化。而去除4-gram Masking是为了缓解对多个连续的词同时进行相似词替换时,文本语义被完全改变的问题,避免如“齐鲁晚报承办了齐鲁车展—山东日报举办了济南航展”等无效替换。此外,加入masking替换审核器,针对占比70%的同义词非随机替换,对高频出现但是不影响语义结构的词不予替换,如的、地、得、那,这等等,从而有效降低对文本语义毫无影响的无意义替换。最后,在寻找相似词替换过程中,MacBert遇到长度不一致的相似词,如"星球大战—星战"时,会把“星球大战”替换为随机token如“星球大战—家有儿女”。
但考虑到随机词的比例可能过大,导致文本语义发生根本性变化,我们放弃了这种处理方式,而是跳转到下一个长度一致的相似词来解决,如"星球大战—银河帝国",以避免引入随机词导致文本语义变化的问题。以下是一个类似的例子:
原始句子: "我喜欢看科幻电影,特别是《星球大战》。"
不一致替换:"我喜欢看科幻电影,特别是《星战》。"
随机替换: "我喜欢看科幻电影,特别是《家有儿女》。"
新句子: "我喜欢看科幻电影,特别是《星河战队》。"
该句文本语义表达为喜欢看科幻电影,若随机替换后句子文本语义变为喜欢看家庭情景剧,导致语义发生根本变化。因此,我们跳转到下一个长度一致的相似词来解决,通过这种方式,我们确保了相似词替换不会引入不合适的随机词,同时保持了句子的语义连贯性。
并且,我们在计算词语相似度时加入自定义语义模板和词库,以实现指定词汇相似度较低的问题。如当“齐鲁壹点”和“齐鲁晚报”使用常规的相似词计算时,虽然有“齐鲁”两个重复字,但“晚报”和“壹点”两词差异较大,相似度依然较低。加入自定义词库后,“齐鲁晚报”和“齐鲁壹点”便可存在极强正相关。
评估新模型的性能和优化效果非常重要。在评估中,我们需要使用一组预定义的测试集来衡量模型的性能。测试集应该包含一系列文本样本,这些文本样本包含已知的错误,并已经被手动标注了正确的修正结果。在评估过程中,我们将输入测试集中的每个文本样本到模型中,并计算模型的预测结果与手动标注结果之间的准确率、召回率、F1值等指标。准确率指模型预测的正确结果占所有预测结果的比例;召回率指模型能够正确识别的错误占所有已知错误的比例;F1值是准确率和召回率的调和平均值。评估结果将帮助我们识别和解决模型中存在的问题,并优化模型的性能,以达到更高的文本纠错精度,如表1所示。
表1
纠错方法 Precision Recall F1
规则 0.6430 0.1329 0.2819
Bert 0.7682 0.3527 0.5158
ConvSeq2Seq 0.2962 0.1341 0.1920
T5 0.5332 0.3853 0.4497
传统的Macbert 0.8168 0.7110 0.7546
本专利优化后的Macbert 0.9686 0.9251 0.9463
F1值是一种用于衡量二分类或多分类任务中模型性能的指标。它综合考虑了精确率(Precision)和召回率(Recall)。F1值是精确率和召回率的调和平均数,可以提供关于模型在预测正确和找出所有相关实例之间的平衡情况的信息。
Bert是一种基于Transformer架构的预训练模型,全称为"BidirectionalEncoder Representations from Transformers"。它在大规模无标签数据上进行预训练,学习了丰富的上下文相关词语表示。Bert在各种NLP任务中表现出色,可以用于文本分类、命名实体识别、问答系统等任务。
ConvSeq2Seq是一种序列到序列模型,利用卷积神经网络(CNN)来进行序列建模。它在机器翻译、文本摘要、对话生成、文本纠错任务中得到广泛应用。ConvSeq2Seq模型使用卷积操作来捕捉输入序列的局部特征,并通过编码器和解码器结构实现输入序列到输出序列的映射。
T5是"Text-To-Text Transfer Transformer"的缩写,是一种基于Transformer架构的预训练模型。T5模型通过在大规模文本数据上进行预训练,学习了将文本转化为文本的通用能力。它可以应用于各种自然语言处理任务,如文本分类、机器翻译、文本纠错。T5的设计框架使得它可以通过微调适应不同的下游任务,并在多个任务上取得出色的性能。
将训练好的模型部署到生产环境中,以实现实时的文本纠错功能。在部署过程中,需要考虑模型的存储、接口的设计和部署、负载均衡、容错和安全等方面。具体来说,可以采用分布式存储方案,将模型分布到多个服务器上,同时采用负载均衡技术将请求分配到不同的服务器上处理,从而提高系统的吞吐量和响应速度。为了保证系统的稳定性和可靠性,在部署过程中还需要考虑容错和安全方面的设计,例如添加监控和报警机制,对异常请求进行处理等。最终,在部署完成后,可以通过提供简单易用的API接口,让用户方便地使用中文文本纠错功能。在实际应用中,随着数据和用户需求的变化,模型的性能和实用性都需要得到保证。因此,需要定期对模型进行更新和维护。更新模型通常包括增加新的数据集以提高模型的准确性、优化模型架构以提高计算效率和精度、调整超参数等。维护包括监控模型性能以确保其稳定性、及时修复潜在的缺陷和错误、优化模型的训练和推理过程等。此外,还需要根据用户反馈和需求,调整模型的优化目标和策略,以更好地满足用户的需求。定期更新和维护模型可以保证模型的持续有效性和适应性,提高模型的实用性和用户体验。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种基于MacBert的中文文本纠错方法,其特征在于,包括以下步骤:
S1.数据预处理:对输入的文本数据进行预处理,包括分词、词性标注、构建字典、数据清洗去噪和文本向量化操作,得到词向量U=(u1,u2,…,un), un表示一个单词或者子词;
S2.修改MacBert模型:将预处理后的词向量U作为修改后模型的输入,并计算当前单词在整个文本上下文中的语义信息和位置信息;
S3.错误判断及候选词生成:疑似错误的判断并生成候选词列表;
S4.错误类型分类:根据疑似错误类型对候选词进行分类,得到不同类型的错误纠正器;
S5.错误纠正器应用:根据错误纠正器的预测结果,对候选词列表进行排序,对每个候选词进行评分和排名,并选取最有可能是正确词汇的词进行替换;
S6.输出纠错后的结果:经过纠错结果过滤器筛选后,输出最终纠错后的文本。
2.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S1的具体过程为:
S11.将文本划分为一个个有意义的词语,以便后续处理;并为每个词语确定其词性;
S12.构建字典是根据分词和词性标注的结果,为每个词语进行编码,将每个词语映射为一个整数值,或者将每个词语映射为一个向量表示;文本向量化则是将分词后的文本数据转换成词向量表示,以便输入到Macbert模型中进行处理;数据清洗去噪通过清洗并去除一些无用的噪声数据。
3.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S2中,修改MacBert模型包括掩码方式的修改和模型结构的修改,其中,
模型结构的修改是在现有MacBert模型Self-Attention 层中的softmax函数归一化后添加学习器,用于接下来其他每一次的Self-Attention计算,进行前后文本的记忆和学习;在MacBert输出层后添加一个纠错结果过滤器;
掩码方式的修改为基于MLM任务的修改,调整N-gram masking策略中候选token的比例分布方式。
4.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S2中,
将词向量U输入Transformer的多个编码器进行处理,从而产生一个最终的上下文向量V=(V1,V2,…,Vn);这个上下文向量能够反映当前单词或字词在整个文本上下文中的语义信息和位置信息,包括它前面和后面的单词。
5.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S3的具体过程为:
S31.通过步骤S2输出的语义信息和位置信息,可以得到疑似错误的位置及类型;
S32.根据错误类型进行相应的候选词生成,并生成候选词列表,具体过程如下:对于每个候选词,进行特征提取,计算候选词与原文本中可能出现的正确词之间的相似度,同时,考虑上下文信息、词性标注对于候选词的影响,最终可以生成一个包含多个候选词的列表。
6.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S4的具体过程为:
将生成的候选词按照疑似错误类型进行分类,根据不同的错误类型,可以构建不同的错误纠正器来进行纠错;具体来说,
对于拼音的音似错误,构建音似错误纠正器,它能够根据候选词与字典中正确词汇的拼音相似度进行音似错误的修正;
对于拼写的形似错误,构建形似错误纠正器,它能够根据候选词与字典中正确词汇的字形相似度进行形似错误的修正。
7.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S5的具体过程为:
S51.对于每个疑似错误的词,根据错误纠正器的预测结果对候选词列表进行排序,以便选择最有可能是正确的词汇进行替换;在排序时,使用错误纠正器输出的每个候选词的概率或分数进行排序,以确保被替换的词汇是最可能是正确的;
S52.选择分数最高或概率最大的候选词作为纠错后的词汇;如果需要替换多个词汇,重复进行排序和替换的过程,直到满足需求;
S53.在替换完成后,将纠错后的文本输出。
8.根据权利要求1所述的一种基于MacBert的中文文本纠错方法,其特征在于,步骤S6的具体过程为:
在完成错误纠正器的应用后,最终得到了一个经过排序和选择的候选词列表,对候选词列表进行一次过滤;纠错结果过滤器通常会检查替换后的文本是否符合语法和语义规则,并根据需要进行进一步的纠错和修正。
CN202310596361.6A 2023-05-25 2023-05-25 一种基于MacBert的中文文本纠错方法 Active CN116306600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310596361.6A CN116306600B (zh) 2023-05-25 2023-05-25 一种基于MacBert的中文文本纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310596361.6A CN116306600B (zh) 2023-05-25 2023-05-25 一种基于MacBert的中文文本纠错方法

Publications (2)

Publication Number Publication Date
CN116306600A true CN116306600A (zh) 2023-06-23
CN116306600B CN116306600B (zh) 2023-08-11

Family

ID=86832713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310596361.6A Active CN116306600B (zh) 2023-05-25 2023-05-25 一种基于MacBert的中文文本纠错方法

Country Status (1)

Country Link
CN (1) CN116306600B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094311A (zh) * 2023-10-19 2023-11-21 山东齐鲁壹点传媒有限公司 一种关于中文语法纠错的误纠过滤器的建立方法
CN117454906A (zh) * 2023-12-22 2024-01-26 创云融达信息技术(天津)股份有限公司 一种基于自然语言处理和机器学习的文字校对方法与系统
CN117454906B (zh) * 2023-12-22 2024-05-24 创云融达信息技术(天津)股份有限公司 一种基于自然语言处理和机器学习的文字校对方法与系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149406A (zh) * 2020-09-25 2020-12-29 中国电子科技集团公司第十五研究所 一种中文文本纠错方法及系统
WO2021189803A1 (zh) * 2020-09-03 2021-09-30 平安科技(深圳)有限公司 文本纠错方法、装置、电子设备及存储介质
CN114528824A (zh) * 2021-12-24 2022-05-24 深圳云天励飞技术股份有限公司 文本纠错方法、装置、电子设备及存储介质
CN114580382A (zh) * 2022-02-11 2022-06-03 阿里巴巴(中国)有限公司 文本纠错方法以及装置
WO2022134356A1 (zh) * 2020-12-25 2022-06-30 平安科技(深圳)有限公司 句子智能纠错方法、装置、计算机设备及存储介质
CN115114396A (zh) * 2022-04-24 2022-09-27 网易(杭州)网络有限公司 一种语言模型的训练方法、样本数据的构建方法及装置
CN115688703A (zh) * 2022-10-31 2023-02-03 国网山东省电力公司烟台供电公司 一种特定领域文本纠错方法、存储介质和装置
US20230083000A1 (en) * 2021-08-27 2023-03-16 Ancestry.Com Operations Inc. Systems and methods for detection and correction of ocr text
CN116090441A (zh) * 2022-12-30 2023-05-09 永中软件股份有限公司 一种融合局部语义特征和全局语义特征的中文拼写纠错方法
CN116127952A (zh) * 2023-01-16 2023-05-16 之江实验室 一种多粒度中文文本纠错方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021189803A1 (zh) * 2020-09-03 2021-09-30 平安科技(深圳)有限公司 文本纠错方法、装置、电子设备及存储介质
CN112149406A (zh) * 2020-09-25 2020-12-29 中国电子科技集团公司第十五研究所 一种中文文本纠错方法及系统
WO2022134356A1 (zh) * 2020-12-25 2022-06-30 平安科技(深圳)有限公司 句子智能纠错方法、装置、计算机设备及存储介质
US20230083000A1 (en) * 2021-08-27 2023-03-16 Ancestry.Com Operations Inc. Systems and methods for detection and correction of ocr text
CN114528824A (zh) * 2021-12-24 2022-05-24 深圳云天励飞技术股份有限公司 文本纠错方法、装置、电子设备及存储介质
CN114580382A (zh) * 2022-02-11 2022-06-03 阿里巴巴(中国)有限公司 文本纠错方法以及装置
CN115114396A (zh) * 2022-04-24 2022-09-27 网易(杭州)网络有限公司 一种语言模型的训练方法、样本数据的构建方法及装置
CN115688703A (zh) * 2022-10-31 2023-02-03 国网山东省电力公司烟台供电公司 一种特定领域文本纠错方法、存储介质和装置
CN116090441A (zh) * 2022-12-30 2023-05-09 永中软件股份有限公司 一种融合局部语义特征和全局语义特征的中文拼写纠错方法
CN116127952A (zh) * 2023-01-16 2023-05-16 之江实验室 一种多粒度中文文本纠错方法和装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JUEYANG WANG, ET AL.: "Fine-Grained Chinese Named Entity Recognition Based on MacBERT-Attn-BiLSTM-CRF Model", 《IEEE》 *
YIMING CUI, ET AL.: "Revisiting Pre-trained Models for Chinese Natural Language Processing", 《ARXIV》 *
林郁鹏: "基于MacBERT_RCNN的反思文本自动化分类系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
焦凯楠 等: "基于MacBERT-BiLSTM-CRF的反恐领域细粒度实体识别", 《科学技术与工程》 *
袁野;朱荣钊;: "基于BERT在税务公文系统中实现纠错功能", 现代信息科技, no. 13 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094311A (zh) * 2023-10-19 2023-11-21 山东齐鲁壹点传媒有限公司 一种关于中文语法纠错的误纠过滤器的建立方法
CN117094311B (zh) * 2023-10-19 2024-01-26 山东齐鲁壹点传媒有限公司 一种关于中文语法纠错的误纠过滤器的建立方法
CN117454906A (zh) * 2023-12-22 2024-01-26 创云融达信息技术(天津)股份有限公司 一种基于自然语言处理和机器学习的文字校对方法与系统
CN117454906B (zh) * 2023-12-22 2024-05-24 创云融达信息技术(天津)股份有限公司 一种基于自然语言处理和机器学习的文字校对方法与系统

Also Published As

Publication number Publication date
CN116306600B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
CN110489555B (zh) 一种结合类词信息的语言模型预训练方法
CN110489760B (zh) 基于深度神经网络文本自动校对方法及装置
JP5809381B1 (ja) 自然言語処理システム、自然言語処理方法、および自然言語処理プログラム
Szarvas et al. A highly accurate Named Entity corpus for Hungarian
Abandah et al. Investigating hybrid approaches for Arabic text diacritization with recurrent neural networks
CN116306600B (zh) 一种基于MacBert的中文文本纠错方法
CN112926345A (zh) 基于数据增强训练的多特征融合神经机器翻译检错方法
Moeng et al. Canonical and surface morphological segmentation for nguni languages
KR20230009564A (ko) 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치
CN114781651A (zh) 基于对比学习的小样本学习鲁棒性提升方法
CN111723583B (zh) 基于意图角色的语句处理方法、装置、设备及存储介质
Göker et al. Neural text normalization for turkish social media
Jayasuriya et al. Learning a stochastic part of speech tagger for sinhala
Balodis et al. Intent detection system based on word embeddings
Fang et al. Non-autoregressive Chinese ASR error correction with phonological training
Alkhatlan et al. Attention-based sequence learning model for Arabic diacritic restoration
CN116029300A (zh) 一种强化中文实体语义特征的语言模型训练方法和系统
CN114896966A (zh) 一种中文文本语法错误定位方法、系统、设备及介质
Xie et al. Automatic chinese spelling checking and correction based on character-based pre-trained contextual representations
CN111428475A (zh) 分词词库的构建方法、分词方法、装置及存储介质
Deka et al. A study of t’nt and crf based approach for pos tagging in assamese language
Yambao et al. Feedforward approach to sequential morphological analysis in the Tagalog language
Sonnadara et al. Sinhala spell correction: A novel benchmark with neural spell correction
CN115659958B (zh) 一种中文拼写错误检查方法
ÖZTÜRK et al. Turkish lexicon expansion by using finite state automata

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant