CN116258137A - 文本纠错方法、装置、设备和存储介质 - Google Patents
文本纠错方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116258137A CN116258137A CN202310256414.XA CN202310256414A CN116258137A CN 116258137 A CN116258137 A CN 116258137A CN 202310256414 A CN202310256414 A CN 202310256414A CN 116258137 A CN116258137 A CN 116258137A
- Authority
- CN
- China
- Prior art keywords
- text
- word
- character
- words
- error correction
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供文本纠错方法、装置、设备和存储介质,涉及人工智能技术领域。该方法包括:对获取的待纠错文本进行分词,得到多个文本词和文本词的文本候选集,基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量,再基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵,接着将嵌入向量和汉字结构权重矩阵输入文本纠错模型输出文本候选集中每个候选词的字符概率,进而得到文本词的预测词,从而对待纠错文本进行纠错。在进行文本纠错时,利用文本词的字音字形信息生成的嵌入向量以及根据字符结构生成的汉字结构权重矩阵共同作为文本纠错模型的输入,能够学习更多的语义和汉字结构信息,提高纠错结果的准确率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及文本纠错方法、装置、设备和存储介质。
背景技术
中文写作过程中难以避免出现拼写错误,通过检测和纠正文本中的拼写错误是自然语言处理中的重要领域,在信息检索、智能写作、OCR识别等诸多领域都有应用。
相关技术中,多采用基于深度学习的文本纠错模型进行中文的拼写纠错,但是这种文本纠错模型在训练时并非专门为文字纠错任务而设计,在进行纠错时往往只向模型输入字符和位置向量,而不考虑字符的字音、笔顺、结构和句子整体表述的信息,因此纠错准确率不理想。
发明内容
本申请实施例的主要目的在于提出文本纠错方法、装置、设备和存储介质,提高文本纠错的准确率。
为实现上述目的,本申请实施例的第一方面提出了一种文本纠错方法,包括:
获取待纠错文本,并对所述待纠错文本进行分词,得到多个文本词和所述文本词的文本候选集,所述文本候选集包括多个候选词;
基于所述待纠错文本和所述文本词的字音字形信息计算所述文本词的嵌入向量;
基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵;
将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出所述文本候选集中每个所述候选词的字符概率;
将所述文本候选集中所述字符概率最大的所述候选词作为所述文本词的预测词;
基于每个所述文本词的所述预测词得到所述待纠错文本的输出文本。
在一些实施例,所述基于所述待纠错文本和所述文本词的字音字形计算所述文本词的嵌入向量,包括:
基于预设字符嵌入向量表获取所述文本词的字符嵌入向量;
根据所述文本词在所述待纠错文本中的位置信息得到位置嵌入向量;
将所述文本词的发音信息输入第一长短时记忆网络模型进行向量生成,得到字音嵌入向量;
获取所述文本词的笔画结构,并基于笔顺信息将所述笔画结构依次输入第二长短时记忆网络模型进行向量生成,生成字形嵌入向量;
拼接所述字符嵌入向量、所述位置嵌入向量、所述字音嵌入向量和所述字形嵌入向量得到所述嵌入向量。
在一些实施例,所述基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵之前,所述方法还包括:
构建所述字符结构映射表,构建过程包括:
获取预设字符数据库,所述预设字符数据库中包含多个预设字符;
生成每个所述预设字符的映射字符串;
计算每个所述映射字符串与其他所述映射字符串的相似度距离;
对所述相似度距离进行量化,得到每个所述预设字符与其他所述预设字符之间的相似权重值;
基于所述相似权重值构建所述字符结构映射表。
在一些实施例,所述生成每个所述预设字符的映射字符串,包括:
基于所述预设字符的预设笔顺信息对所述预设字符进行拆解,得到每个所述预设字符的预设笔画;
查询预设笔画映射表得到每个所述预设笔画的映射值,所述预设笔画映射表用于存储预设笔画的映射值;
根据所述预设笔顺信息和所述映射值得到每个所述预设字符的映射字符串。
在一些实施例,所述基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵,包括:
在所述字符结构映射表中查询所述文本词和所述文本候选集中所述候选词的相似权重值;
根据每个所述相似权重值构建所述文本词的所述汉字结构权重矩阵。
在一些实施例,基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵之前,所述方法还包括:
基于所述文本词对所述待纠错文本进行命名实体识别,得到所述文本词的命名实体相似词;
基于所述命名实体相似词更新所述文本词的所述文本候选集;
和/或,
基于所述文本词对所述待纠错文本进行语义成分识别,得到所述文本词的语义成分相似词;
基于所述语义成分相似词更新所述文本词的所述文本候选集。
在一些实施例,所述文本纠错模型包括:向量输出模块和概率输出模块;所述将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出所述文本候选集中每个所述候选词的字符概率,包括:
将所述嵌入向量输入所述向量输出模块进行向量生成,得到输出向量;
将所述输出向量和所述汉字结构权重矩阵输入所述概率输出模块计算所述文本词的每个所述候选词的候选词概率;
根据所述候选词概率得到所述字符概率。
在一些实施例,所述将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错之前,所述方法还包括:
预训练并微调初始纠错模型得到所述文本纠错模型;
预训练并微调的过程包括:
获取训练样本集,所述训练样本集包括:训练语料样本和字符标签;所述训练语料样本中包括掩码词,所述字符标签为所述掩码词的真实字符,所述掩码词对应预测候选集,所述预测候选集中包括多个预测候选词;
将所述训练语料样本输入所述初始纠错模型,得到每个所述预测候选词是所述掩码词的预测概率;
根据所述预测概率对应地所述预测候选词和所述字符标签计算损失函数的损失值;
根据所述损失值调整所述初始纠错模型的模型参数得到预训练纠错模型;
对所述预训练纠错模型进行微调得到所述文本纠错模型。
在一些实施例,所述训练语料样本中所述掩码词根据以下步骤生成:
基于预设选择策略在所述训练语料样本中选择所述掩码词的掩码位置;
基于掩码遮掩策略和混淆集对所述掩码位置的信息进行遮掩得到所述掩码词。
在一些实施例,所述损失函数表示为:
其中,L表示所述损失函数的损失值,yi表示所述测试候选集中第i个所述测试候选词,m表示所述混淆集中字符的数量,n表示所述测试候选集中所述测试候选词的数量,P(yi=li|X′)表示所述测试候选集中第i个所述测试候选词的预测概率,X′表示所述训练语料样本,li表示所述训练语料样本中第i个位置的真实字符,λ表示调节系数,yj表示所述混淆集中第j个字符,P(yj=li|X)表示所述混淆集中第j个字符的预测概率。
为实现上述目的,本申请实施例的第二方面提出了一种文本纠错装置,包括:
获取文本模块,用于获取待纠错文本,并对所述待纠错文本进行分词,得到多个文本词和所述文本词的文本候选集,所述文本候选集包括多个候选词;
嵌入向量计算模块,用于基于所述待纠错文本和所述文本词的字音字形信息计算所述文本词的嵌入向量;
汉字结构权重矩阵计算模块,用于基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵;
字符概率预测模块,用于将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出所述文本候选集中每个所述候选词的字符概率;
预测词选取模块,用于将所述文本候选集中所述字符概率最大的所述候选词作为所述文本词的预测词;
纠错输出模块,用于基于每个所述文本词的所述预测词得到所述待纠错文本的输出文本。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请实施例提出的文本纠错方法、装置、设备和存储介质,通过对获取的待纠错文本进行分词,得到多个文本词和文本词的文本候选集,基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量,再基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵,接着将嵌入向量和汉字结构权重矩阵输入文本纠错模型输出文本候选集中每个候选词的字符概率,进而得到文本词的预测词,从而对待纠错文本进行纠错。本申请实施例在进行文本纠错时,利用文本词的字音字形信息生成的嵌入向量以及根据字符结构生成的汉字结构权重矩阵共同作为文本纠错模型的输入,能够学习更多的语义和汉字结构信息,提高纠错结果的准确率。
附图说明
图1是本发明实施例提供的文本纠错方法的流程图。
图2是图1中的步骤S120的流程图。
图3是本发明又一实施例提供的文本纠错方法的构建字符结构映射表流程图。
图4是图3中的步骤S320的流程图。
图5是本发明又一实施例提供的文本纠错方法的预设字符和预设笔画示意图。
图6是本发明又一实施例提供的文本纠错方法的预设笔画映射表的示意图。
图7是图5中预设字符的映射字符串的示意图。
图8是本发明又一实施例提供的文本纠错方法的汉字字符的字形结构示意图。
图9是本发明又一实施例提供的文本纠错方法的汉字字符结构相似示意图。
图10是图1中的步骤S130的流程图。
图11是图1中的步骤S140的流程图。
图12是本发明又一实施例提供的文本纠错方法的缩减文本候选集示意图。
图13是本发明又一实施例提供的文本纠错方法的缩减文本候选集示意图。
图14是本发明又一实施例提供的文本纠错方法的预训练并微调的过程示意图。
图15是本发明又一实施例提供的文本纠错装置结构框图。
图16是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家***等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
深度学习:是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助,最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
自然语言处理(Natural Language Processing,NLP):自然语言处理,简单来说即是计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果。
中文写作过程中难以避免出现拼写错误,一般是由于拼音相同、字形相近带来的错误。拼写纠错则是检测和纠正文本中的拼写错误,是自然语言处理中的重要领域,在信息检索、智能写作、OCR识别等诸多领域都有应用。近年来,基于深度学习的纠错方法得到了广泛应用。例如采用预训练语言模型进行文本纠错,但由于预训练语言模型这种文本纠错模型在训练时并非专门为文字纠错任务而设计,在进行纠错时往往只向模型输入字符和位置向量,而不考虑字符的字音、笔顺、结构和句子整体表述的信息,因此纠错准确率不理想,现有拼写纠错技术仍有较大提升空间。
基于此,本发明实施例提供一种文本纠错方法、装置、设备和存储介质,在进行文本纠错时,利用文本词的字音字形信息生成的嵌入向量以及根据字符结构生成的汉字结构权重矩阵共同作为文本纠错模型的输入,能够学习更多的语义和汉字结构信息,提高纠错结果的准确率。
本发明实施例提供文本纠错方法、装置、设备和存储介质,具体通过如下实施例进行说明,首先描述本发明实施例中的文本纠错方法。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明实施例提供的文本纠错方法,涉及人工智能技术领域,尤其涉及数据挖掘技术领域。本发明实施例提供的文本纠错方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的计算机程序。举例来说,计算机程序可以是操作***中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作***中安装才能运行的程序,如支持文本纠错的客户端,也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。其中,终端通过网络与服务器进行通信。该文本纠错方法可以由终端或服务器执行,或由终端和服务器协同执行。
在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等。此外,终端还可以是智能车载设备。该智能车载设备应用本实施例的文本纠错方法提供相关的服务,提升驾驶体验。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器;也可以是区块链***中的服务节点,该区块链***中的各服务节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。服务器上可以安装文本纠错***的服务端,通过该服务端可以与终端进行交互,例如服务端上安装对应的软件,软件可以是实现文本纠错方法的应用等,但并不局限于以上形式。终端与服务器之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本实施例在此不做限制。
本发明可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
下面描述本发明实施例中的文本纠错方法。
图1是本发明实施例提供的文本纠错方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S110至步骤S160。同时可以理解的是,本实施例对图1中步骤S110至步骤S160的顺序不做具体限定,可以根据实际需求调整步骤顺序或者减少、增加某些步骤。
步骤S110:获取待纠错文本,并对待纠错文本进行分词,得到多个文本词和文本词的文本候选集。
在一实施例中,待纠错文本可以是一句话、一段话、一篇文章等,还可以是对话过程中的语句。获取待纠错文本的方式可以是用户输入文本,可以是通过计算机自动抓取符合预设条件的文本,还可以是实时对话中经过语音识别后生成的对话文本。本实施例对待纠错文本的获取方式不做限定。在一实施例中,对于获取的待纠错文本,如果是一段话或者一篇文章,则将其裁剪为句子,针对每个句子分别进行纠错。
在一实施例中,需要对待纠错文本进行分词,得到多个文本词,针对每个文本词判断其是否正确,是否需要进行纠正。该实施例中,分词的方法可以采用基于词典的分词方法对待纠错文本进行分词,得到多个文本词构成的分词序列,该方法按照预设策略将待纠错文本中待匹配的字符串与预先建立的词典中的词进行匹配。其中,预设策略包括:正向最大匹配法、逆向最大匹配法和双向匹配分词法等。本实施例也可以采用基于统计的机器学习算法对待纠错文本进行分词,得到文本词,该方法利用深度学习相关算法对待纠错文本中不同词语进行标注训练,不仅考虑词语出现的频率,还考虑上下文信息,具有良好的效果。或者将机器学习和词典结合对待纠错文本进行分词,得到文本词,这样能够提高分词准确率。另外,在分词操作过程中还包括去除停用词的过程,去除停用词能够降低后续模型的处理数据量,提升模型的处理效率。本实施例不对分词方法做具体限定。
可以理解的是,上述实施例进行分词得到的文本词可以是单个的汉字,也可以是多个汉字构成的词组,如果是词组的话,后续处理可以将其作为汉字序列,依次进行处理。
在一实施例中,每个文本词对应一个文本候选集,文本候选集中包括大量的候选词,这些候选词可以是汉字字符或者多个汉字字符构成的字符序列。通过对大量文档分析后发现:汉语拼写错误主要是由发音或视觉上相似的字符误用造成的。第一种情况是误用同音字;第二种情况是误用形近字,即字符之间形状非常相似。因此文本候选集中这些字符中包含同音字、形近字和无关字,其中同音字指该字符的发音和文本词的发音相似,例如“亲(qin,一声)”和“清(qing,一声)”属于发音相似的同音字。可以理解的是,同音字包括发音完全相同的字和发音相似的字。形近字指该字符的笔画结构和文本词的笔画结构相似,例如“厉”和“历”属于形近字。无关字指两者的读音和字形都不相似。该实施例中,进行分词得到多个文本词,每一个文本词都有其文本候选集。
步骤S120:基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量。
在一实施例中,字音字形信息包括:发音信息和字形信息。参照图2,是一实施例示出的步骤S120的一种具体实现流程图,在本实施例中基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量的步骤包括:
步骤S121:基于预设字符嵌入向量表获取文本词的字符嵌入向量。
在一实施例中,文本词以字符形式表示,嵌入是自然语言处理中的一个过程,用于将原始文本转换为数学矢量。这是因为机器学习模型将无法直接处理文本格式,并将其用于各种内部计算过程。字符嵌入向量是将文本词的汉字字符表示为数学向量。
由于汉字数量有限,因此本申请实施例预先将所有可能的汉字构成字符数据库,字符数据库可以根据实际需要进行更新。并且预先对字符数据库中的元素进行嵌入操作得到每个字符对应的字符嵌入向量,将每个字符的字符嵌入向量存入字符数据库中,在需要计算某个字符的字符嵌入向量时,只需要查询字符数据库即可得到该字符的字符嵌入向量。
可以理解的是,如果文本词中包含多个汉字字符,则依次得到每个汉字字符的向量表示,利用向量相加的方式得到该文本词的字符嵌入向量。
步骤S122:根据文本词在待纠错文本中的位置信息得到位置嵌入向量。
在一实施例中,将文本词的字符输入Transformer模型,利用sine和cosine函数的线性变换来将该字符在待纠错文本中的位置关系提供给Transformer模型,这里的位置关系是该字符是待纠错文本的第几个字符。
在一实施例中,位置嵌入向量表示为:
其中,pk,2i和pk,2i+1分别是待纠错文本中第k个字符的位置嵌入向量的第2i和2i+1个向量分量,d是位置嵌入向量的向量维度。
可以理解的是,这里的位置嵌入向量是针对单个字符计算的,如果文本词中包含多个字符,则分别计算每个字符的向量表示,利用向量相加的方式得到该文本词的位置嵌入向量。
步骤S123:将文本词的发音信息输入第一长短时记忆网络模型进行向量生成,得到字音嵌入向量。
在一实施例中,字符的发音是一个小写字母序列,利用字母序列代表这个字符的发音信息,因此该实施例中首先获取文本词中字符的发音信息,如果该文本词中包含多个字符,则将多个字符的发音信息进行拼接得到该文本词的发音信息。
在一实施例中,在发音信息中增加声调信息,利用数字1-4表示发音的声调,即数字“1”表示“一声”,数字“2”表示“二声”,数字“3”表示“三声”,数字“4”表示“四声”。例如“元”字的发音信息表示成“yuan2”,“元素”的发音信息表示成“yuan2su4”。
在一实施例中,可以使用统汉字数据库统汉字数据库来直接获得字符和发音之间的映射关系,通过匹配数据库,得到字符的发音信息。
在一实施例中,将上述得到的文本词的发音信息输入第一长短时记忆网络模型中,第一长短时记忆网络模型为LSTM网络,能够根据输入序列生成输出的向量。例如要得到“元”的字音嵌入向量,则将发音信息“yuan2”转化成字符串序列:“y”、“u”、“a”、“n”和“2”输入第一长短时记忆网络模型,得到“元”的字音嵌入向量。
可以理解的是,如果两个汉字字符是同音字,则两者的字音嵌入向量的相似度较高,即上述“元”的字音嵌入向量和其同音字“员”的字音嵌入向量较为相似。
步骤S124:获取文本词的笔画结构,并基于笔顺信息将笔画结构依次输入第二长短时记忆网络模型进行向量生成,生成字形嵌入向量。
在一实施例中,汉字字符的笔画结构包含较多的信息量,笔画结构是构成汉字的基础,汉字由多个笔画结构按照预定的笔顺信息构成。例如汉字“汉”按照笔顺信息,其笔画结构为:点->点->提->横撇->捺。每个汉字都有其对应的笔顺信息和笔画结构。在一实施例中,利用Chaizi数据库获取字符的笔顺信息和笔画结构。
在一实施例中,由于笔画结构的数量是有限的,因此预先将每个笔画结构与字母进行对应形成预设笔画映射表。例如,参照图6,“点”对应“o”,“提”对应“t”,“横撇”对应“h”,“捺”对应“n”,则如上述发音信息相似,基于笔顺信息的笔画结构也能表示成字符串序列,表示为“o”、“o”、“t”、“h”和“n”。
在一实施例中,第二长短时记忆网络模型也是LSTM网络,能够根据输入序列生成输出的向量。为了建模字符之间的视觉关系,将笔画结构的字符串序列“a”、“a”、“b”、“c”和“d”输入第二长短时记忆网络模型,得到包含笔顺信息的“汉”的字形嵌入向量。
可以理解的是,如果两个汉字字符是形近字,则两者的字形嵌入向量的相似度较高,即上述“汉”的字形嵌入向量和其形近字“汶”的字形嵌入向量较为相似。
在一实施例中,如果文本词中包含多个字符,则将多个字符的笔画结构按照顺序进行拼接得到该文本词的笔画结构相关信息。
步骤S125:拼接字符嵌入向量、位置嵌入向量、字音嵌入向量和字形嵌入向量得到嵌入向量。
在一实施例中,针对同一个文本词结合其字音字形信息得到字符嵌入向量、位置嵌入向量、字音嵌入向量和字形嵌入向量,将这四种向量进行拼接即可得到嵌入向量。这里嵌入向量的维度根据文本纠错模型中输入向量的维度进行设定。
步骤S130:基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵。
在一实施例中,为了进一步获取汉字字符的结构信息,生成文本词的汉字结构权重矩阵,用来衡量文本词与文本候选集中候选词之间的结构相似性。
在一实施例中,由于不同汉字字符的字形结构与两者的字形是否相似有一定的关联性,因此预先构建字符结构映射表,用来表示不同汉字字符结构之间的相似性。
在一实施例中,参照图3,构建字符结构映射表的步骤包括:
步骤S310:获取预设字符数据库。
在一实施例中,预设字符数据库中包含多个预设字符,可以理解的是,预设字符数据库中预设字符的数量大于或等于文本候选集中候选词的数量,即文本候选集中候选词均包含在预设字符数据库中。可以理解的是,为了扩展应用范围,可以利用现有的汉字数据库构建预设字符数据库,使之包含大部分有可能用到的汉字。
步骤S320:生成每个预设字符的映射字符串。
在一实施例中,为了计算每个预设字符的与其他预设字符的相似性,首先将预设字符表示成映射字符串的形式,便于分析。参照图4,是一实施例示出的步骤S320的一种具体实现流程图,在本实施例中生成每个预设字符的映射字符串的步骤包括:
步骤S321:基于预设字符的预设笔顺信息对预设字符进行拆解,得到每个预设字符的预设笔画。
在一实施例中,针对每个预设字符,首先基于预设笔顺信息对该字符进行拆解,得到该预设字符的预设笔画。例如参照图5,预设字符分别是:“今”、“天”、“要”、“去”、“吃”、“午”和“饭”,对应的预设笔画分别是:
“今”:撇->捺->点->横撇
“天”:横->横->撇->捺
“要”:横->竖->横折->竖->竖->横->撇->点->撇->横
“去”:横->竖->横->撇折->点
“吃”:竖->横折->横->撇->横->横折弯钩
“午”:撇->横->横->竖
“饭”:撇->横撇->竖提->撇->撇->横撇->捺
步骤S322:查询预设笔画映射表得到每个预设笔画的映射值。
步骤S323:根据预设笔顺信息和映射值得到每个预设字符的映射字符串。在一实施例中,预先构建预设笔画映射表,预设笔画映射表用于存储预设笔画的映射值。例如映射值为字母,则是将笔画结构与字母进行对应,用不同的英文字母代表不同的笔画结构。将每个笔画结构的英语字母组合在一起即可得到映射字符串。
参照图6,为预设笔画映射表的一种示意图,参照图6,可见“横”对应字母“e”、“点”对应字母“o”、“提”对应字母“t”、“横撇”对应字母“h”、“捺”对应字母“n”、“弯钩”对应字母“u”…等,预设笔画映射表可以包含常用的所有笔画结构,因此通过查询预设笔画映射表就能得到每个预设笔画的映射值。可以理解的是,该实施例中预设笔画映射表仅作示意,预设笔画映射表可以根据实际情况进行设定,也可以通过数字表示映射值,本实施例对此不做具体限定。
参照图7,图5中预设字符的映射字符串分别是:“今”:tnoh;“天”:eetn;“要”:eaiaaetote;“去”:eaelo;“吃”:aietey;“午”:teea;“饭”:thmtthn。
步骤S330:计算每个映射字符串与其他映射字符串的相似度距离。
在一实施例中,通过上述过程得到预设字符数据库中每个预设字符的映射字符串,因此可以计算两个不同映射字符串之间的编辑距离得到两个预设字符之间的相似度距离,其中,编辑距离越小,则说明两者越相似。
步骤S340:对相似度距离进行量化,得到每个预设字符与其他预设字符之间的相似权重值。
在一实施例中,对所有的预设字符之间两两计算相似度距离,如果是同一个预设字符,理论上的相似度距离应该是1,因此将所有的相似度距离量化成0-1之间的数值,这个量化后的数值表示不同预设字符之间的相似权重值。例如字符F1和字符F2之间相似权重值为0.81,字符F1和字符F3之间相似权重值为0.32,则说明字符F1和字符F2之间更相似,因此其相似权重值也越高。
步骤S350:基于相似权重值构建字符结构映射表。
在一实施例中,假设预设字符数据库中有r个预设字符,则构建r*r的字符结构映射表,字符结构映射表的行列为预设字符,行列值为对应行和对应列预设字符的相似权重值,例如行列值rij表示第i行的预设字符和第j列的预设字符的相似权重值。
由上述可知,构建字符结构映射表之后,可以在其中查询任一个预设字符与其他预设字符之间的相似权重值,相似权重值越大,其被作为修正后的字的概率也越大。
在一实施例中,参照图8,将汉字字符的字形结构分为:独体字结构、左右结构、上下结构、左中右结构、上中下结构、半包围结构、全包围结构、对称结构和品字形结构。例如:大、一、已属于独体字结构,其不能再进行结构划分;伸、张、肌等属于左右结构;曼、笑、贯等属于上下结构;树、倒、搬等属于左中右结构;翼、寄、冀等属于上中下结构;林、非、赫等属于对称结构;品、森、晶等属于品字形结构。包、区、闪等属于半包围结构;田、因、国等属于全包围结构。可以理解的是,前述仅对字形结构进行示意,本实施例中字形结构可以根据现有的字形结构数据库进行设定,也可以将常用汉字的字形结构进行预先设定。
在一实施例中,基于SIGHAN2013等混淆集,根据对汉字字形结构和相似性的分析可知,预设字符数据库中40.9%左右的预设字符之间的相似权重值小于等于5,可见接近一般的预设字符之间并不相似。对相似权重值大于5的预设字符进行分析得知:具有相同结构的汉字在字形上更为相似,也就更容易出现误用现象,这种称为字体相似;结构简单的汉字更容易更为复杂结构汉字的误用字,这种成为异体相似。具有相同结构“自体相似”的出现频率要比“易体相似”的频率高出约34.1%。
在一实施例中,参照图9,为汉字字符结构相似示意图。其中,弧形箭头表示“自体相似”,直线箭头表示“易体相似”。可见每种结构都会构成自体相似,而对于“易体相似”现象,独体字最容易成为其他结构的误用字(除对称结构),例如“叼”误写为“刁”;上下结构容易成为上中下结构的误用字,例如“草”误写为“早”;左右结构容易成为左中右结构的误用字,例如“锄”误写为“助”。
在一实施例中,字符结构映射表为字典结构,源字符作为键,与其字形相似的字的列表作为值。对于每个键,计算其与值中所有字符的相似权重值,若相似权重值≤5,则视为“近相似”,将这一字符对加入近相似的统计列表中。例如一实施例中可以利用近相似的统计列表生成候选词,从而降低干扰提升模型的运算效率。
可以理解的是,本申请实施例利用汉字字符的结构信息得到汉字结构权重矩阵,为了提高计算效率,字符结构映射表的计算独立于模型之外,可以预先构建完成。模型需要生成字符权重结构矩阵时,直接根据字符结构映射表进行映射,省去了模型实时计算开销。其中,权重具体的数值需要根据应用场景和语料性质进行修改,或直接将其作为神经网络的参数与模型共同训练。
由上述可知,利用汉字字符的结构信息能够进一步提升纠错的准确率。参照图10,是一实施例示出的步骤S130的一种具体实现流程图,在本实施例中基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵的步骤包括:
步骤S131:在字符结构映射表中查询文本词和文本候选集中候选词的相似权重值。
步骤S132:根据每个相似权重值构建文本词的汉字结构权重矩阵。
在一实施例中,对于文本词和其对应的文本候选集,假设文本候选集有n个汉字,因此构建n×n的对角矩阵作为汉字结构权重矩阵C,在字符结构映射表中查询文本词和文本候选集中每个汉字的相似权重值,Cii表示文本词与文本候选集中第i个候选词之间的相似权重值。例如待修改的字为“刁”,文本候选集中有“习”、“叼”等候选词,在字符结构映射表中查找“刁”与候选词之间的相似权重值构成汉字结构权重矩阵。
步骤S140:将嵌入向量和汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出文本候选集中每个候选词的字符概率。
在一实施例中,文本纠错模型包括两部分,分别是向量输出模块和概率输出模块,参照图11,是一实施例示出的步骤S140的一种具体实现流程图,在本实施例中将嵌入向量和汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出文本候选集中每个候选词的字符概率的步骤包括:
步骤S141:将嵌入向量输入向量输出模块进行向量生成,得到输出向量。
步骤S142:将输出向量和汉字结构权重矩阵输入概率输出模块计算文本词的每个候选词的候选词概率。
步骤S143:根据候选词概率得到字符概率。
在一实施例中,向量输出模块可以是Bert、AlBert等预训练语言模型,将上述步骤得到的嵌入向量输入向量输出模块得到对应的输出向量,概率输出模块为softmax函数,softmax函数接收输出向量和汉字结构权重矩阵在文本候选集中对文本词进行预测,输出不同候选词能够替换文本词的候选词概率,然后选取概率最大的候选词概率作为字符概率。可以理解的是,文本候选集中包含文本词,如果该文本词不需要纠错,则字符概率为该文本词的候选词概率,理论上概率值是文本候选集中的最大值。
在一实施例中,上述候选词概率表示为:
P(yi=j|X)=softmax(WChi+b)[j]
其中,i表示文本词位于待纠错文本的第i个位置,P(yi=j|X)表示文本词被预测为文本候选集中第j个候选词yi的候选词概率,候选词概率是一种条件概率,X表示给定的待纠错文本,hi表示向量输出模块的输出向量,W表示文本纠错模型的训练参数,b表示偏置量,C表示汉字结构权重矩阵。
可见,上述实施例中计算字符概率的过程中应用到了汉字结构权重矩阵,能够进一步提升文本纠错模型的计算精度。
步骤S150:将文本候选集中字符概率最大的候选词作为文本词的预测词。
步骤S160:基于每个文本词的预测词得到待纠错文本的输出文本。
在一实施例中,得到字符概率最大的候选词之后将其作为文本词的预测词,然后利用预测词替换文本词对待纠错文本进行纠错,得到待纠错文本的输出文本。
在一实施例中,由于文本候选集一般包含数万个字符,导致计算资源的耗费较多,因此为了进一步降低文本纠错模型的运算开销,提升运算效率,对文本候选集进行缩减。参照图12,是一实施例示出的缩减文本候选集的具体实现流程图,包括:
步骤S1210:基于文本词对待纠错文本进行命名实体识别,得到文本词的命名实体相似词。
步骤S1220:基于命名实体相似词更新文本词的文本候选集。
在一实施例中,命名实体识别(Named Entity Recognition,NER)是一种自然语言处理的任务,命名实体一般指的是文本中具有特定意义或者指代性强的实体,例如:人名、地名、机构名、日期时间、专有名词等。命名实体识别的过程包括两部分:实体的边界识别和确定实体的类型。NER***就是从非结构化的待纠错文本中抽取出上述实体,并且按照业务需求识别出更多类别的实体,比如产品名称、型号、价格等。可以理解的是,实体这个概念很广,只要是业务需要的特殊文本片段都可以将其作为实体进行识别。
例如,待纠错文本为:“学校将在丸月开学”,需要将其纠正为“学校将在九月开学”,基于文本词“丸”对待纠错文本进行命名实体识别,可以识别出“[MASK]月”为时间,文本词的命名实体相似词应该是“一、二、…、十、十一月、十二月”,因此在文本词为“丸”时,其文本候选集中可以仅包括“一、二、…、十、十一月、十二月”。
同理,如果待纠错文本为:“季某的家乡是某地区”,需要将其纠正为“李某的家乡是某地区”,基于文本词“季”对待纠错文本进行命名实体识别,可以识别出“[MASK]某”为人名,同时根据姓在前,名在后的姓氏命名原则,文本词的命名实体相似词应该是所有姓组成的字集合,因此在文本词为“季”时,其文本候选集中可以仅包括关于姓氏的字。
经过上述基于命名实体相似词更新文本词的文本候选集的过程,实现了对原文本候选集大小的缩减,后续文本纠错模型只需在此文本候选集中计算缩减后的每个候选词的候选词概率,进而提升运算效率。
在一实施例中,参照图13,是又一实施例示出的缩减文本候选集的具体实现流程图,包括:
步骤S1230:基于文本词对待纠错文本进行语义成分识别,得到文本词的语义成分相似词。
步骤S1240:基于语义成分相似词更新文本词的文本候选集。
在一实施例中,语义成分识别是指在句子结构中分析实词和实词之间的语义关系,这种关系是一种事实上或逻辑上的关系,且只有当词语进入到句子时才会存在。通过对待纠错文本进行语义分析,从而将某些语义成分对应的字的文本候选集范围缩小。例如主语、宾语必须是名词,谓语必须是动词,在语义识别后,再对语义角色进行词性分析,缩小文本候选集。
例如,待纠错文本为:“比京是一座城市”,需要将其纠正为“北京是一座城市”,基于文本词“比”对待纠错文本进行语义成分识别,可以识别出“[MASK]京”为主语成分,而且是名词、地名,则可以在所有由n-gram组合中,查找包含有“京”且为名词成分的短语作为语义成分相似词,作为该位置真实词的文本候选集。文本候选集中可以仅包括包含有“京”且为名词成分的短语。
经过上述基于语义成分相似词更新文本词的文本候选集的过程,实现了对原文本候选集大小的缩减,后续文本纠错模型只需在此文本候选集中计算缩减后的每个候选词的候选词概率,进而提升运算效率。
在一实施例中,将文本纠错方法封装成文本纠错模型,利用大量的样本对该文本纠错模型进行训练,得到适应场景的较优模型权重参数,将其设计成程序,移植在相关设备上进行文本纠错。在实际使用时,仅需输入待纠错文本,即可利用该训练好的文本纠错模型进行文本纠错。
因此,本申请实施例还包括:预训练并微调初始纠错模型得到文本纠错模型,可以理解的是,经过预训练并微调之后初始纠错模型就变成了上述实施例的文本纠错模型。
参照图14,预训练并微调的过程包括:
步骤S1410:获取训练样本集。
在一实施例中,训练样本集包括:训练语料样本和字符标签,其中训练语料样本中包括掩码词,该训练语料样本中需要生成掩码词位置的预测词,字符标签为掩码词的真实字符,掩码词对应预测候选集,预测候选集中包括多个预测候选词。
在一实施例中,训练语料样本可以是从互联网上收集新闻文章,并对每篇文章进行剪裁得到多个长度符合预训练语言模型输入长度的文本片段,将其作为训练预料样本,然后对训练语料样本中一定比字词进行遮掩得到掩码词,目的是对掩码词进行预测。该实施例中掩码词的选取过程描述为:
基于预设选择策略在训练语料样本中选择掩码词的掩码位置,再基于掩码遮掩策略和混淆集对掩码位置的信息进行遮掩得到掩码词。
上述实施例中,预设选择策略包括:第一种是取随机数λ1个字符进行遮掩,其中λ1∈[1,len(X′)],len(X′)表示文本句子的字符数,X′表示训练语料样本。第二种是连续遮掩,先对训练语料样本进行分词,后选取随机数λ2个词语片段作为选中对象,其中λ2∈[1,len(Xv)],len(Xv)表示分词后训练语料样本具有的词数。
在日常生活中进行拼写时有可能将一个词语拼写成另一错误词语,第二种选择策略正是对应了这种情况,本实施例通过两种预设选择策略生成的训练语料样本会更好地适应实际情况。
上述实施例中,掩码遮掩策略包括4种遮掩类型,分别是:1)随机选择a1%比例的字符替换为随机发音相似字符;2)选择a2%比例的字符替换为随机视觉相似的字符;3)选择a3%比例的字符保留该文字不做替换,替换其他的字符;4)选择a4%比例的字符从词汇表中随机选择汉字进行替换,这里的词汇表包含数万个常见的汉字或非汉字的文字字符。
在一实施例中,构建相似词的混淆集,利用混淆集的字符对训练语料样本中遮掩位置的字符进行替换操作,得到掩码词。可以理解的是,混淆集可以通过查询字符结构映射表,选择与掩码位置字符相似度较高的字符构建对应字符的混淆集,这里的混淆集中字符可以在测试候选集中得到。
步骤S1420:将训练语料样本输入初始纠错模型,得到每个预测候选词是掩码词的预测概率。
步骤S1430:根据预测概率对应地预测候选词和字符标签计算损失函数的损失值。
相关技术中损失函数并未考虑到相似字符的混淆集本身蕴含的信息,因此在一实施例中,本申请的损失函数中优化损失函数,以使得模型在训练时能够更好地利用混淆集的字符相关信息,损失函数表示为:
其中,L表示损失函数的损失值,yi表示测试候选集中第i个测试候选词,m表示混淆集中字符的数量,n表示测试候选集中测试候选词的数量,P(yi=li|X′)表示测试候选集中第i个测试候选词的预测概率,X′表示训练语料样本,li表示训练语料样本中第i个位置的真实字符,λ表示调节系数,yj表示混淆集中第j个字符,P(yj=li|X)表示混淆集中第j个字符的预测概率。其中,调节系数λ用于平衡两项损失的系数。
步骤S1440:根据损失值调整初始纠错模型的模型参数得到预训练纠错模型。
步骤S1450:对预训练纠错模型进行微调得到文本纠错模型。
本申请实施例用于中文文本纠错,其目的是实现一种输入一串文本(可能包含错误字符),输出一串经过纠正的文本的算法。在一实施例中,利用训练语料样本训练得到预训练纠错模型,通过预训练使得预训练纠错模型尽可能捕捉到正确汉字出现的规律,从而在特定位置将错别字恢复为正确的汉字,预训练纠错模型在训练集上表现较好能够捕捉到的是中文文本的高层面信息,对于实践中的下游任务而言还需要对预训练纠错模型进行微调才能避免过拟合,提高纠错模型的泛化能力。
上述实施例中,在预训练的过程中为了加强初始纠错模型的学习效果,对训练语料样本采用了遮掩操作,但实际中的预测词并不会出现被[MASK]的字符,因此通过步骤S1450对预训练纠错模型进行微调使其更加适应文本纠错的问题。其中,微调训练的过程与上述预训练的过程基本一致,但是取消了对训练语料样本进行遮掩的操作,让预训练纠错模型对每个字符都进行预测,从而得到文本纠错模型。
通过上述过程描述,本发明实施例提供的技术方案,通过对获取的待纠错文本进行分词,得到多个文本词和文本词的文本候选集,基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量,再基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵,接着将嵌入向量和汉字结构权重矩阵输入文本纠错模型输出文本候选集中每个候选词的字符概率,进而得到文本词的预测词,从而对待纠错文本进行纠错。本申请实施例在进行文本纠错时,利用文本词的字音字形信息生成的嵌入向量以及根据字符结构生成的汉字结构权重矩阵共同作为文本纠错模型的输入,能够学习更多的语义和汉字结构信息,提高纠错结果的准确率。
本发明实施例还提供一种文本纠错装置,可以实现上述文本纠错方法,参照图15,该装置包括:
获取文本模块1510,用于获取待纠错文本,并对待纠错文本进行分词,得到多个文本词和文本词的文本候选集,文本候选集包括多个候选词。
嵌入向量计算模块1520,用于基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量。
汉字结构权重矩阵计算模块1530,用于基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵。
字符概率预测模块1540,用于将嵌入向量和汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出文本候选集中每个候选词的字符概率。
预测词选取模块1550,用于将文本候选集中字符概率最大的候选词作为文本词的预测词。
纠错输出模块1560,用于基于每个文本词的预测词得到待纠错文本的输出文本。
本实施例的文本纠错装置的具体实施方式与上述文本纠错方法的具体实施方式基本一致,在此不再赘述。
本发明实施例还提供了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本发明实施上述的文本纠错方法。该电子设备可以为包括手机、平板电脑、个人数字助理(PersonalDigital Assistant,简称PDA)、车载电脑等任意智能终端。
请参阅图16,图16示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1601,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
存储器1602,可以采用ROM(ReadOnlyMemory,只读存储器)、静态存储设备、动态存储设备或者RAM(RandomAccessMemory,随机存取存储器)等形式实现。存储器1602可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1602中,并由处理器1601来调用执行本发明实施例的文本纠错方法;
输入/输出接口1603,用于实现信息输入及输出;
通信接口1604,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线1605,在设备的各个组件(例如处理器1601、存储器1602、输入/输出接口1603和通信接口1604)之间传输信息;
其中处理器1601、存储器1602、输入/输出接口1603和通信接口1604通过总线1605实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述文本纠错方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例提出的文本纠错方法、文本纠错装置、电子设备、存储介质,通过对获取的待纠错文本进行分词,得到多个文本词和文本词的文本候选集,基于待纠错文本和文本词的字音字形信息计算文本词的嵌入向量,再基于字符结构映射表和文本候选集获取文本词的汉字结构权重矩阵,接着将嵌入向量和汉字结构权重矩阵输入文本纠错模型输出文本候选集中每个候选词的字符概率,进而得到文本词的预测词,从而对待纠错文本进行纠错。本申请实施例在进行文本纠错时,利用文本词的字音字形信息生成的嵌入向量以及根据字符结构生成的汉字结构权重矩阵共同作为文本纠错模型的输入,能够学习更多的语义和汉字结构信息,提高纠错结果的准确率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (13)
1.一种文本纠错方法,其特征在于,包括:
获取待纠错文本,并对所述待纠错文本进行分词,得到多个文本词和所述文本词的文本候选集,所述文本候选集包括多个候选词;
基于所述待纠错文本和所述文本词的字音字形信息计算所述文本词的嵌入向量;
基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵;
将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出所述文本候选集中每个所述候选词的字符概率;
将所述文本候选集中所述字符概率最大的所述候选词作为所述文本词的预测词;
基于每个所述文本词的所述预测词得到所述待纠错文本的输出文本。
2.根据权利要求1所述的文本纠错方法,其特征在于,所述基于所述待纠错文本和所述文本词的字音字形计算所述文本词的嵌入向量,包括:
基于预设字符嵌入向量表获取所述文本词的字符嵌入向量;
根据所述文本词在所述待纠错文本中的位置信息得到位置嵌入向量;
将所述文本词的发音信息输入第一长短时记忆网络模型进行向量生成,得到字音嵌入向量;
获取所述文本词的笔画结构,并基于笔顺信息将所述笔画结构依次输入第二长短时记忆网络模型进行向量生成,生成字形嵌入向量;
拼接所述字符嵌入向量、所述位置嵌入向量、所述字音嵌入向量和所述字形嵌入向量得到所述嵌入向量。
3.根据权利要求1所述的文本纠错方法,其特征在于,所述基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵之前,所述方法还包括:
构建所述字符结构映射表,构建过程包括:
获取预设字符数据库,所述预设字符数据库中包含多个预设字符;
生成每个所述预设字符的映射字符串;
计算每个所述映射字符串与其他所述映射字符串的相似度距离;
对所述相似度距离进行量化,得到每个所述预设字符与其他所述预设字符之间的相似权重值;
基于所述相似权重值构建所述字符结构映射表。
4.根据权利要求3所述的文本纠错方法,其特征在于,所述生成每个所述预设字符的映射字符串,包括:
基于所述预设字符的预设笔顺信息对所述预设字符进行拆解,得到每个所述预设字符的预设笔画;
查询预设笔画映射表得到每个所述预设笔画的映射值,所述预设笔画映射表用于存储预设笔画的映射值;
根据所述预设笔顺信息和所述映射值得到每个所述预设字符的映射字符串。
5.根据权利要求3所述的文本纠错方法,其特征在于,所述基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵,包括:
在所述字符结构映射表中查询所述文本词和所述文本候选集中所述候选词的相似权重值;
根据每个所述相似权重值构建所述文本词的所述汉字结构权重矩阵。
6.根据权利要求1所述的文本纠错方法,其特征在于,基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵之前,所述方法还包括:
基于所述文本词对所述待纠错文本进行命名实体识别,得到所述文本词的命名实体相似词;
基于所述命名实体相似词更新所述文本词的所述文本候选集;
和/或,
基于所述文本词对所述待纠错文本进行语义成分识别,得到所述文本词的语义成分相似词;
基于所述语义成分相似词更新所述文本词的所述文本候选集。
7.根据权利要求1至6任一项所述的文本纠错方法,其特征在于,所述文本纠错模型包括:向量输出模块和概率输出模块;所述将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出所述文本候选集中每个所述候选词的字符概率,包括:
将所述嵌入向量输入所述向量输出模块进行向量生成,得到输出向量;
将所述输出向量和所述汉字结构权重矩阵输入所述概率输出模块计算所述文本词的每个所述候选词的候选词概率;
根据所述候选词概率得到所述字符概率。
8.根据权利要求7所述的文本纠错方法,其特征在于,所述将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错之前,所述方法还包括:
预训练并微调初始纠错模型得到所述文本纠错模型;
预训练并微调的过程包括:
获取训练样本集,所述训练样本集包括:训练语料样本和字符标签;所述训练语料样本中包括掩码词,所述字符标签为所述掩码词的真实字符,所述掩码词对应预测候选集,所述预测候选集中包括多个预测候选词;
将所述训练语料样本输入所述初始纠错模型,得到每个所述预测候选词是所述掩码词的预测概率;
根据所述预测概率对应地所述预测候选词和所述字符标签计算损失函数的损失值;
根据所述损失值调整所述初始纠错模型的模型参数得到预训练纠错模型;
对所述预训练纠错模型进行微调得到所述文本纠错模型。
9.根据权利要求8所述的文本纠错方法,其特征在于,所述训练语料样本中所述掩码词根据以下步骤生成:
基于预设选择策略在所述训练语料样本中选择所述掩码词的掩码位置;
基于掩码遮掩策略和混淆集对所述掩码位置的信息进行遮掩得到所述掩码词。
11.一种文本纠错装置,其特征在于,包括:
获取文本模块,用于获取待纠错文本,并对所述待纠错文本进行分词,得到多个文本词和所述文本词的文本候选集,所述文本候选集包括多个候选词;
嵌入向量计算模块,用于基于所述待纠错文本和所述文本词的字音字形信息计算所述文本词的嵌入向量;
汉字结构权重矩阵计算模块,用于基于字符结构映射表和所述文本候选集获取所述文本词的汉字结构权重矩阵;
字符概率预测模块,用于将所述嵌入向量和所述汉字结构权重矩阵输入文本纠错模型进行文本纠错,输出所述文本候选集中每个所述候选词的字符概率;
预测词选取模块,用于将所述文本候选集中所述字符概率最大的所述候选词作为所述文本词的预测词;
纠错输出模块,用于基于每个所述文本词的所述预测词得到所述待纠错文本的输出文本。
12.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至10任一项所述的文本纠错方法。
13.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的文本纠错方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310256414.XA CN116258137A (zh) | 2023-03-03 | 2023-03-03 | 文本纠错方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310256414.XA CN116258137A (zh) | 2023-03-03 | 2023-03-03 | 文本纠错方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116258137A true CN116258137A (zh) | 2023-06-13 |
Family
ID=86680792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310256414.XA Pending CN116258137A (zh) | 2023-03-03 | 2023-03-03 | 文本纠错方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258137A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522905A (zh) * | 2023-07-03 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 文本纠错方法、装置、设备、可读存储介质及程序产品 |
CN116932922A (zh) * | 2023-09-19 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
CN117010368A (zh) * | 2023-10-07 | 2023-11-07 | 山东齐鲁壹点传媒有限公司 | 一种基于字形相似的中文纠错数据增强方法 |
CN117332038A (zh) * | 2023-09-19 | 2024-01-02 | 鹏城实验室 | 文本信息检测方法、装置、设备和存储介质 |
-
2023
- 2023-03-03 CN CN202310256414.XA patent/CN116258137A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522905A (zh) * | 2023-07-03 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 文本纠错方法、装置、设备、可读存储介质及程序产品 |
CN116522905B (zh) * | 2023-07-03 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 文本纠错方法、装置、设备、可读存储介质及程序产品 |
CN116932922A (zh) * | 2023-09-19 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
CN117332038A (zh) * | 2023-09-19 | 2024-01-02 | 鹏城实验室 | 文本信息检测方法、装置、设备和存储介质 |
CN116932922B (zh) * | 2023-09-19 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
CN117010368A (zh) * | 2023-10-07 | 2023-11-07 | 山东齐鲁壹点传媒有限公司 | 一种基于字形相似的中文纠错数据增强方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11501182B2 (en) | Method and apparatus for generating model | |
CN113792818B (zh) | 意图分类方法、装置、电子设备及计算机可读存储介质 | |
US20220050967A1 (en) | Extracting definitions from documents utilizing definition-labeling-dependent machine learning background | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111291195B (zh) | 一种数据处理方法、装置、终端及可读存储介质 | |
CN110851596A (zh) | 文本分类方法、装置及计算机可读存储介质 | |
CN113127624B (zh) | 问答模型的训练方法及装置 | |
CN113392209B (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN116258137A (zh) | 文本纠错方法、装置、设备和存储介质 | |
CN112100332A (zh) | 词嵌入表示学习方法及装置、文本召回方法及装置 | |
CN113705313A (zh) | 文本识别方法、装置、设备及介质 | |
CN110489765B (zh) | 机器翻译方法、装置及计算机可读存储介质 | |
WO2023159767A1 (zh) | 目标词语的检测方法、装置、电子设备及存储介质 | |
CN114358201A (zh) | 基于文本的情感分类方法和装置、计算机设备、存储介质 | |
CN111858933A (zh) | 基于字符的层次化文本情感分析方法及*** | |
CN116578688A (zh) | 基于多轮问答的文本处理方法、装置、设备及存储介质 | |
CN111597807B (zh) | 分词数据集生成方法、装置、设备及其存储介质 | |
CN114564563A (zh) | 一种基于关系分解的端到端实体关系联合抽取方法及*** | |
CN113221553A (zh) | 一种文本处理方法、装置、设备以及可读存储介质 | |
CN114398903B (zh) | 意图识别方法、装置、电子设备及存储介质 | |
CN116595023A (zh) | 地址信息的更新方法和装置、电子设备及存储介质 | |
CN114492437B (zh) | 关键词识别方法、装置、电子设备及存储介质 | |
CN114911940A (zh) | 文本情感识别方法及装置、电子设备、存储介质 | |
CN114090778A (zh) | 基于知识锚点的检索方法、装置、电子设备及存储介质 | |
CN114936274A (zh) | 模型训练方法、对话生成方法和装置、设备及存储介质 |
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 |