CN109408813A - 一种文本纠正方法及装置 - Google Patents

一种文本纠正方法及装置 Download PDF

Info

Publication number
CN109408813A
CN109408813A CN201811158046.0A CN201811158046A CN109408813A CN 109408813 A CN109408813 A CN 109408813A CN 201811158046 A CN201811158046 A CN 201811158046A CN 109408813 A CN109408813 A CN 109408813A
Authority
CN
China
Prior art keywords
text
syndrome
weight
sub
semantic vector
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
CN201811158046.0A
Other languages
English (en)
Other versions
CN109408813B (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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201811158046.0A priority Critical patent/CN109408813B/zh
Publication of CN109408813A publication Critical patent/CN109408813A/zh
Application granted granted Critical
Publication of CN109408813B publication Critical patent/CN109408813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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 Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

本申请实施例提供了一种文本纠正方法及装置。所述方法包括:获取输入的待纠正的当前文本;将当前文本输入神经网络,神经网络的编码层根据预先训练好的第一网络参数确定当前文本的语义向量和权重,并将语义向量和权重输入解码层;其中,权重用于表示当前文本中各个子文本存在错误的可能性;神经网络的解码层,根据预先训练好的第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本;获取解码层确定的当前文本对应的纠正后文本。应用本申请实施例提供的方案,能够提高文本纠正时的处理效率。

Description

一种文本纠正方法及装置
技术领域
本申请涉及文本处理技术领域,特别是涉及一种文本纠正方法及装置。
背景技术
为了提升用户使用输入法时的便捷性,在输入法客户端中常常设置有对用户已经输入的文本进行纠正的功能。即基于用户输入的当前文本,检测当前文本中的错误,并输出针对错误纠正后的文本。
相关技术中,针对输入文本进行纠错的技术主要是基于预设规则。该预设规则可以是句子中主谓宾的搭配规则。例如,在英语语言中,可以对输入文本中的单词做词性标注,依据预设规则和标注的单词的词性,判断输入文本中存在的语法错误,进而对输入文本做语法纠正。
上述文本纠正方法能够针对部分语法错误的类型进行纠正。但是实际中用户输入时的错误类型非常多,除了语法错误,还存在拼写错误、时态错误等。在这种情况下,可以针对每种错误类型预先建立对应的预设规则。在纠错时,需要将输入文本分别与每种预设规则一一进行匹配,确定输入文本中存在的错误。当预设规则很多时,这种文本纠正方法的处理效率就很低。
发明内容
本申请实施例的目的在于提供了一种文本纠正方法及装置,以提高文本纠正时的处理效率。具体的技术方案如下。
第一方面,本申请实施例提供了一种文本纠正方法,该方法包括:
获取输入的待纠正的当前文本;
将所述当前文本输入神经网络;其中所述神经网络包括编码层和解码层;
所述编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;
所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
获取解码层确定的所述当前文本对应的纠正后文本。
可选的,所述语义向量包括所述当前文本的各个子文本的子语义向量,所述权重包括所述当前文本的各个子文本的子权重;所述根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本的步骤,包括:
采用以下方式确定当前文本对应的纠正后文本的第N个纠正子文本:
获取第N-1个纠正子文本;其中,所述N为正整数,当所述N大于1时,所述第N-1个纠正子文本为:根据第N-1个子语义向量和第N-1个子权重以及获取的第N-2个纠正子文本从预设的文本对象库中确定;所述文本对象库包括各个文本对象;
根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本。
可选的,当所述N为1时,所述获取第N-1个纠正子文本的步骤,包括:
将预设文本作为第N-1个纠正子文本,或者将从预设文本库中选择的文本作为第N-1个纠正子文本。
可选的,所述根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本的步骤,包括:
根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,确定所述文本对象库中各个文本对象的评分;
根据各个评分,从所述文本对象库的各个文本对象中确定第N个纠正子文本。
可选的,采用以下训练方式得到所述神经网络:
获取平行语料;其中,所述平行语料包括样本文本和对应的标准纠正后文本;
将所述样本文本输入所述神经网络的编码层;
所述编码层,根据第一网络参数确定样本文本的样本语义向量和样本权重,并将所述样本语义向量和样本权重输入解码层;其中,所述样本权重用于表示所述样本文本中各个样本子文本存在错误的可能性;
所述解码层,根据第二网络参数以及所述样本语义向量和样本权重,确定样本文本对应的样本纠正后文本;
比较所述样本纠正后文本与所述标准纠正后文本之间的差异;
当所述差异大于预设阈值时,根据所述差异修改所述第一网络参数和所述第二网络参数,返回执行所述将所述样本文本输入所述神经网络的编码层的步骤;
当所述差异小于预设阈值时,确定所述神经网络训练完成。
可选的,所述编码层采用双向金字塔形式的循环神经网络,和/或,所述解码层采用双向循环神经网络。
第二方面,本申请实施例提供了一种文本纠正装置,所述装置包括:
第一获取模块,用于获取输入的待纠正的当前文本;
第一输入模块,用于将所述当前文本输入神经网络;其中所述神经网络包括编码层和解码层;所述编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
第二获取模块,用于获取解码层确定的所述当前文本对应的纠正后文本。
可选的,所述语义向量包括所述当前文本的各个子文本的子语义向量,所述权重包括所述当前文本的各个子文本的子权重;所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本时,包括:
采用以下方式确定所述当前文本对应的纠正后文本的第N个纠正子文本:
获取第N-1个纠正子文本;其中,所述N为正整数,当所述N大于1时,所述第N-1个纠正子文本为:根据第N-1个子语义向量和第N-1个子权重以及获取的第N-2个纠正子文本从预设的文本对象库中确定;所述文本对象库包括各个文本对象;
根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本。
可选的,所述解码层,获取第N-1个纠正子文本时,包括:
当所述N为1时,将预设文本作为第N-1个纠正子文本,或者将从预设文本库中选择的文本作为第N-1个纠正子文本。
可选的,所述解码层,根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本时,包括:
根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,确定所述文本对象库中各个文本对象的评分;
根据各个评分,从所述文本对象库的各个文本对象中确定第N个纠正子文本。
可选的,所述装置还包括:训练模块,用于采用以下训练操作得到所述神经网络:
获取平行语料;其中,所述平行语料包括样本文本和对应的标准纠正后文本;
将所述样本文本输入所述神经网络的编码层;
所述编码层,根据第一网络参数确定样本文本的样本语义向量和样本权重,并将所述样本语义向量和样本权重输入解码层;其中,所述样本权重用于表示所述样本文本中各个样本子文本存在错误的可能性;
所述解码层,根据第二网络参数以及所述样本语义向量和样本权重,确定样本文本对应的样本纠正后文本;
比较所述样本纠正后文本与所述标准纠正后文本之间的差异;
当所述差异大于预设阈值时,根据所述差异修改所述第一网络参数和所述第二网络参数,返回执行所述将所述样本文本输入所述神经网络的编码层的步骤;
当所述差异小于预设阈值时,确定所述神经网络训练完成。
可选的,所述编码层采用双向金字塔形式的循环神经网络,和/或,所述解码层采用双向循环神经网络。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面提供的文本纠正方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的文本纠正方法。
本申请实施例提供的文本纠正方法及装置,可以将待纠正的当前文本输入神经网络,由编码层根据第一网络参数确定当前文本的语义向量和权重,由解码层根据第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本。由于第一网络参数和第二网络参数为根据大量样本预先训练好的,采用该神经网络能够确定当前文本对应的纠正后文本,当大量样本包含多种错误类型的文本时,该神经网络即能够对多种错误类型的文本进行纠正,无需一一匹配多种预设规则,因此能够提高文本纠正时的处理效率。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的文本纠正方法的一种流程示意图;
图2A为本申请实施例提供的神经网络纠正文本时的一种示意图;
图2B为本申请实施例提供的一种神经网络的结构示意图;
图3为本申请实施例提供的文本纠正装置的一种结构示意图;
图4为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高文本纠正时的处理效率,本申请实施例提供了一种文本纠正方法及装置。下面通过具体实施例,对本申请进行详细说明。
图1为本申请实施例提供的文本纠正方法的一种流程示意图。该方法应用于电子设备。该电子设备可以为普通计算机、服务器、平板电脑、智能手机等。具体的,该方法可以应用于电子设备中的客户端。客户端可以是安装在电子设备中的输入法应用程序。该方法包括如下步骤:
步骤S101:获取输入的待纠正的当前文本。
其中,上述当前文本可以是用户输入的文本。当客户端接收到用户输入的当前文本时,为了方便用户的使用,可以对用户输入的当前文本进行错误纠正,提高用户的使用体验。
在获取当前文本时,客户端可以在纠正条件满足时获取到当前文本,即触发文本纠正。纠正条件可以包括:检测到用户输入当前文本之后的停顿时长大于预设时长阈值时;或者,在用户输入当前文本之后,纠正按钮被触发时;或者,当检测到预设输入内容时,例如预设输入内容可以为空格等。
在不同的语言类型中,当前文本可以包括不同情况。举例来说,在英语语言中,当前文本可以为一个单词或一个句子,或者句子的一部分,例如可以为injury或者I hopethat等。在汉语语言中,当前文本可以为一个字,也可以为短语或者完整句子。
步骤S102:将当前文本输入神经网络。
其中,神经网络包括编码层和解码层。编码层,根据预先训练好的第一网络参数确定当前文本的语义向量和权重,并将语义向量和权重输入解码层。权重用于表示当前文本中各个子文本存在错误的可能性。语义向量和权重可以为采用矩阵表示的量。
解码层,根据预先训练好的第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本。
在将当前文本输入神经网络时,直接将当前文本输入神经网络的编码层。编码层在确定当前文本的语义向量和权重时,将语义向量和权重输入解码层。解码层接收编码层输入的语义向量和权重,并根据第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本。
第一网络参数和第二网络参数为预先根据样本文本和对应的标准纠正后文本训练得到的。
神经网络可以位于电子设备中,也可以位于除电子设备之外的其他设备中。
步骤S103:获取解码层确定的当前文本对应的纠正后文本。
解码层的输出结果可以为当前文本对应的纠正后文本。本实施例可以直接获取解码层的输出结果。
例如,当前文本可以为:i dont even know to say what;对应的纠正后文本为:Idon’t even know what to say。当前文本可以为:I hope that no people are injured,no building are destructed;对应的纠正后文本为:I hope that no people areinjured,no buildings are destroyed。当前文本为:she are an goad girl;对应的纠正后文本为:She is a good girl。
采用本实施例的方法能够纠正句子中的各种错误,包括拼写错误、语法错误、用词错误、标点错误等。
由上述内容可知,本实施例可以将待纠正的当前文本输入神经网络,由编码层根据第一网络参数确定当前文本的语义向量和权重,由解码层根据第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本。由于第一网络参数和第二网络参数为根据大量样本预先训练好的,采用该神经网络能够确定当前文本对应的纠正后文本,当大量样本包含多种错误类型的文本时,该神经网络即能够对多种错误类型的文本进行纠正,无需一一匹配多种预设规则,因此能够提高文本纠正时的处理效率。
在本申请的另一实施例中,基于图1所示实施例,语义向量包括当前文本的各个子文本的子语义向量,权重包括当前文本的各个子文本的子权重。语义向量和权重可以采用矩阵表示。语义向量的矩阵中的每一行或每一列表示当前文本的每个子文本的子语义向量。权重的矩阵中的每一行或每一列表示当前文本的每个子文本的子权重。
步骤S102中,根据预先训练好的第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本的步骤,包括:
采用以下步骤1a和步骤2a确定当前文本对应的纠正后文本的第N个纠正子文本:
步骤1a:获取第N-1个纠正子文本。
其中,N为正整数,可以为1、2、3、4等整数。当N大于1时,第N-1个纠正子文本为:根据第N-1个子语义向量和第N-1个子权重以及获取的第N-2个纠正子文本从预设的文本对象库中确定。
当N为1时,可以采用以下方式获取第N-1个纠正子文本:将预设文本作为第N-1个纠正子文本,或者将从预设文本库中选择的文本作为第N-1个纠正子文本。在从预设文本库中选择文本时,可以随机选择。
当前文本中包括M个子文本,其中M为大于等于N的正整数。第N个子文本对应第N个纠正子文本。当前文本中各个子文本的顺序分别与语义向量中各个子语义向量的顺序、权重中各个子权重的顺序对应。
预设的文本对象库中包括各个文本对象,文本对象可以包括词汇、标点符号等。在一个词存在不同变化形式的语言类型中,例如英语语言类型中,词汇可以包含每个词汇的各种不同变化形式。例如,tall,taller,drink,drank,drunk,apple,apples等;标点符号包括逗号、句点、冒号、破折号等。
步骤2a:根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,从文本对象库中确定第N个纠正子文本。
其中,第N个纠正子文本可以为词汇,也可以为标点符号等。文本对象库中包括标点符号,能够实现对当前文本中标点符号的纠正。
综上,本实施例可以根据前一个纠正子文本以及当前子文本对应的子语义向量和权重,从文本对象库中确定当前子文本对应的纠正后文本,能够提高确定的纠正子文本的准确性。
在本申请的另一实施例中,基于图1所示实施例,步骤2a,即根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,从文本对象库中确定第N个纠正子文本的步骤,包括步骤2a-1和步骤2a-2。
步骤2a-1:根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,确定文本对象库中各个文本对象的评分。
步骤2a-2:根据各个评分,从文本对象库的各个文本对象中确定第N个纠正子文本。
本步骤中,具体可以将文本对象库中评分最高的一个文本对象确定为第N个纠正子文本。这样得到的当前文本的每个子文本的纠正子文本均是评分最高的文本对象。也可以是,将文本对象库中评分最高的k个文本对象确定为第N个纠正子文本。这样,在确定第N+1个纠正子文本时,根据第N个纠正子文本的k个文本对象中的第i(i为小于等于k的正整数)个纠正子文本以及第N+1个子语义向量和第N+1个子权重确定第N+1个纠正子文本。
本实施例中,解码层可以采用循环神经网络(Recurrent Neural Network,RNN)。本实施例在确定纠正子文本时根据了文本对象库中各个文本对象的评分,这样能够更准确地从文本对象库众多的文本对象中确定纠正子文本。
在本申请的另一实施例中,基于图1所示实施例,采用以下步骤1b-5b所示的训练方式得到上述神经网络:
步骤1b:获取平行语料。其中,平行语料包括样本文本和对应的标准纠正后文本。例如,一个样本文本为she are an goad girl,对应的标准纠正后文本为:She is a goodgirl。
步骤2b:将样本文本输入神经网络的编码层。
编码层,根据第一网络参数确定样本文本的样本语义向量和样本权重,并将样本语义向量和样本权重输入解码层。其中,样本权重用于表示样本文本中各个样本子文本存在错误的可能性。
上述神经网络的解码层,根据第二网络参数以及样本语义向量和样本权重,确定样本文本对应的样本纠正后文本。
其中,上述第一网络参数和第二网络参数的初始值可以为预设值。
步骤3b:比较样本纠正后文本与标准纠正后文本之间的差异。
上述差异可以包括未纠正的错误文本以及将正确的文本纠正成的错误文本。该差异可以采用参数化的数据表示。
步骤4b:当上述差异大于预设阈值时,根据该差异修改第一网络参数和第二网络参数,返回执行将样本文本输入所述神经网络的编码层的步骤,即执行步骤2b。
预设阈值可以为根据经验预先设置的参数值。当差异大于预设阈值时,认为从解码层得到的样本纠正后文本与标准纠正后文本之间差距较大,无法达到纠正的精度要求,需要继续调整网络参数。
在修改第一网络参数和第二网络参数时,可以根据该差异,将第一网络参数和第二网络参数向减小该差异的方向进行修改。
上述平行语料中可以包括大量样本文本和对应的标准纠正后文本。平行语料中的样本文本中可以包含各种各样的错误,例如拼写错误、用词错误、时态错误等。
在修改第一网络参数和第二网络参数之后,可以选择将下一个样本文本输入神经网络。
步骤5b:当上述差异小于预设阈值时,确定神经网络训练完成。
当上述差异小于预设阈值时,认为从解码层得到的样本纠正后文本与标准纠正后文本之间差距较小,能达到纠正的精度要求,网络参数已经训练好。
当上述差异等于预设阈值时,可以根据该差异修改第一网络参数和第二网络参数,返回执行步骤2b,也可以确定神经网络训练完成。
本实施例中,采用平行语料对神经网络的解码层和编码层进行训练,不断调整网络参数,直至神经网络的网络参数调整得达到纠正精度要求,确定神经网络训练完成。
在本申请的另一实施例中,基于图1所示实施例,上述编码层采用双向金字塔形式的循环神经网络,和/或,解码层采用双向循环神经网络。
本实施例中,编码层采用双向金字塔形式的网络结构设计,能够大大减少模型的参数,降低神经网络的推理时间。解码层采用循环神经网络,能够提高纠正时的准确性,进而提高神经网络的准确性。
下面结合具体实例对本申请再做详细说明。
图2A为本申请实施例提供的神经网络纠正文本时的一种示意图。其中,左侧方框为编码层(encoder),右侧为解码层(decoder)。当输入编码层的当前文本为she are angoad girl时,编码层中可以确定该当前文本的语义向量以及权重(attention),并将语义向量和权重输入解码层(采用两虚线箭头表示)。解码层根据输入的语义向量和权重,针对每个子文本进行预测,确定每个子文本的纠正后文本。解码层,基于前一纠正后文本,以及语义向量中当前的子语义向量、权重中当前的子权重,确定当前纠正后文本。这样可以确定每个纠正后文本,并将其组合成最终的输出结果,即She is a good girl。<S>为句首标识符,位于当前文本的句首。当解码层检测到句首标识符时,可以将预设文本作为前一纠正后文本。当当前文本中子文本存在错误的可能性较大时,对应在解码层中对该子文本进行纠正的可能性也更大。
图2B为本申请实施例提供的一种神经网络的结构示意图。该神经网络为基于编码层-解码层架构的带注意力机制的序列到序列(seq2seq)模型。其中,编码层采用了双向金字塔形式的循环神经网络解码层采用双向循环神经网络。编码层可以包括多个子层,例如,j=0子层和j=1子层等。编码层指向解码层的两虚线箭头表示编码层输入解码层的语义向量和权重。
在编码层中,每个方框代表一个网络单元(Gated Recurrent Unit,GRU)。GRU也称为门。处在一横行中的各个GRU组成编码层的一个子层。在每个GRU之间,存在以下前向输出和后向输出:
前向:
后向:
隐藏层的激活函数为:
其中,
为预设参数矩阵。xt为t时刻的输入编码层的当前文本,j为编码层中的子层编号,j=0,1,2,3……。为第j子层中第t个GRU网络单元的前向输出,为第j子层中第t个GRU网络单元的后向输出。T为向量的转置符号。
编码层的注意力机制中,权重at为at=∑jαtjcj,其中
其中,k为j中的取值。Φ(X)为对X进行线性变换的函数,例如Φ(X)=wX+z。w和z为预设参数。
编码层的第j子层的输出为编码层将最后一子层的输出作为语义向量,输入解码层。
解码层在接收到编码层输入的语义向量和权重at时,可以将语义向量和权重at经过线性整流函数(Rectified Linear Unit,ReLU)变换,得到文本对象库中各个文本对象的评分向量,将该评分向量输入解码层中的softmax,softmax对评分向量中的评分进行归一化,得到各个文本对象的评分。解码层根据评分从文本对象库中将评分最高的文本对象确定为纠正后文本。
图3为本申请实施例提供的文本纠正装置的一种结构示意图。该装置与图1所示方法实施例相对应,该装置应用于电子设备。该电子设备可以为普通计算机、服务器、平板电脑、智能手机等。具体的,该装置可以应用于电子设备中的客户端。该装置包括:
第一获取模块301,用于获取输入的待纠正的当前文本;
第一输入模块302,用于将所述当前文本输入神经网络;其中所述神经网络包括编码层和解码层;所述编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
第二获取模块303,用于获取解码层确定的所述当前文本对应的纠正后文本。
在本申请的另一实施例中,基于图3所示实施例,上述语义向量包括当前文本的各个子文本的子语义向量,上述权重包括当前文本的各个子文本的子权重;解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本时,包括:
采用以下方式确定所述当前文本对应的纠正后文本的第N个纠正子文本:
获取第N-1个纠正子文本;其中,所述N为正整数,当所述N大于1时,所述第N-1个纠正子文本为:根据第N-1个子语义向量和第N-1个子权重以及获取的第N-2个纠正子文本从预设的文本对象库中确定;所述文本对象库包括各个文本对象;
根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本。
在本申请的另一实施例中,基于图3所示实施例,解码层获取第N-1个纠正子文本时,包括:
当所述N为1时,将预设文本作为第N-1个纠正子文本,或者将从预设文本库中选择的文本作为第N-1个纠正子文本。
在本申请的另一实施例中,基于图3所示实施例,解码层根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,从文本对象库中确定第N个纠正子文本时,包括:
根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,确定所述文本对象库中各个文本对象的评分;
根据各个评分,从所述文本对象库的各个文本对象中确定第N个纠正子文本。
在本申请的另一实施例中,基于图3所示实施例,该装置还包括:训练模块(图中未示出),用于采用以下训练操作得到上述神经网络:
获取平行语料;其中,所述平行语料包括样本文本和对应的标准纠正后文本;
将所述样本文本输入所述神经网络的编码层;
所述编码层,根据第一网络参数确定样本文本的样本语义向量和样本权重,并将所述样本语义向量和样本权重输入解码层;其中,所述样本权重用于表示所述样本文本中各个样本子文本存在错误的可能性;
所述解码层,根据第二网络参数以及所述样本语义向量和样本权重,确定样本文本对应的样本纠正后文本;
比较所述样本纠正后文本与所述标准纠正后文本之间的差异;
当所述差异大于预设阈值时,根据所述差异修改所述第一网络参数和所述第二网络参数,返回执行所述将所述样本文本输入所述神经网络的编码层的步骤;
当所述差异小于预设阈值时,确定所述神经网络训练完成。
在本申请的另一实施例中,基于图3所示实施例,编码层可以采用双向金字塔形式的循环神经网络,和/或,解码层可以采用双向循环神经网络。
由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
图4为本申请实施例提供的电子设备的一种结构示意图。该电子设备包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信;
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现本申请实施例提供的文本纠正方法。该方法包括:
获取输入的待纠正的当前文本;
将当前文本输入神经网络;其中神经网络包括编码层和解码层;
编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;
解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
获取解码层确定的当前文本对应的纠正后文本。
上述电子设备提到的通信总线404可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口402用于上述电子设备与其他设备之间的通信。
存储器403可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器403还可以是至少一个位于远离前述处理器的存储装置。
上述处理器401可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上,本实施例可以将待纠正的当前文本输入神经网络,由编码层根据第一网络参数确定当前文本的语义向量和权重,由解码层根据第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本。由于第一网络参数和第二网络参数为根据大量样本预先训练好的,采用该神经网络能够确定当前文本对应的纠正后文本,当大量样本包含多种错误类型的文本时,该神经网络即能够对多种错误类型的文本进行纠正,无需一一匹配多种预设规则,因此能够提高文本纠正时的处理效率。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的文本纠正方法。该方法包括:
获取输入的待纠正的当前文本;
将当前文本输入神经网络;其中神经网络包括编码层和解码层;
编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;
解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
获取解码层确定的当前文本对应的纠正后文本。
综上,本实施例可以将待纠正的当前文本输入神经网络,由编码层根据第一网络参数确定当前文本的语义向量和权重,由解码层根据第二网络参数以及语义向量和权重,确定当前文本对应的纠正后文本。由于第一网络参数和第二网络参数为根据大量样本预先训练好的,采用该神经网络能够确定当前文本对应的纠正后文本,当大量样本包含多种错误类型的文本时,该神经网络即能够对多种错误类型的文本进行纠正,无需一一匹配多种预设规则,因此能够提高文本纠正时的处理效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (10)

1.一种文本纠正方法,其特征在于,所述方法包括:
获取输入的待纠正的当前文本;
将所述当前文本输入神经网络;其中所述神经网络包括编码层和解码层;
所述编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;
所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
获取解码层确定的所述当前文本对应的纠正后文本。
2.根据权利要求1所述的方法,其特征在于,所述语义向量包括所述当前文本的各个子文本的子语义向量,所述权重包括所述当前文本的各个子文本的子权重;所述根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本的步骤,包括:
采用以下方式确定当前文本对应的纠正后文本的第N个纠正子文本:
获取第N-1个纠正子文本;其中,所述N为正整数,当所述N大于1时,所述第N-1个纠正子文本为:根据第N-1个子语义向量和第N-1个子权重以及获取的第N-2个纠正子文本从预设的文本对象库中确定;所述文本对象库包括各个文本对象;
根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本。
3.根据权利要求2所述的方法,其特征在于,当所述N为1时,所述获取第N-1个纠正子文本的步骤,包括:
将预设文本作为第N-1个纠正子文本,或者将从预设文本库中选择的文本作为第N-1个纠正子文本。
4.根据权利要求2所述的方法,其特征在于,所述根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本的步骤,包括:
根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,确定所述文本对象库中各个文本对象的评分;
根据各个评分,从所述文本对象库的各个文本对象中确定第N个纠正子文本。
5.根据权利要求1所述的方法,其特征在于,采用以下训练方式得到所述神经网络:
获取平行语料;其中,所述平行语料包括样本文本和对应的标准纠正后文本;
将所述样本文本输入所述神经网络的编码层;
所述编码层,根据第一网络参数确定样本文本的样本语义向量和样本权重,并将所述样本语义向量和样本权重输入解码层;其中,所述样本权重用于表示所述样本文本中各个样本子文本存在错误的可能性;
所述解码层,根据第二网络参数以及所述样本语义向量和样本权重,确定样本文本对应的样本纠正后文本;
比较所述样本纠正后文本与所述标准纠正后文本之间的差异;
当所述差异大于预设阈值时,根据所述差异修改所述第一网络参数和所述第二网络参数,返回执行所述将所述样本文本输入所述神经网络的编码层的步骤;
当所述差异小于预设阈值时,确定所述神经网络训练完成。
6.根据权利要求1所述的方法,其特征在于,所述编码层采用双向金字塔形式的循环神经网络,和/或,所述解码层采用双向循环神经网络。
7.一种文本纠正装置,其特征在于,所述装置包括:
第一获取模块,用于获取输入的待纠正的当前文本;
第一输入模块,用于将所述当前文本输入神经网络;其中所述神经网络包括编码层和解码层;所述编码层,根据预先训练好的第一网络参数确定所述当前文本的语义向量和权重,并将所述语义向量和权重输入所述解码层;其中,所述权重用于表示所述当前文本中各个子文本存在错误的可能性;所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本;
第二获取模块,用于获取解码层确定的所述当前文本对应的纠正后文本。
8.根据权利要求7所述的装置,其特征在于,所述语义向量包括所述当前文本的各个子文本的子语义向量,所述权重包括所述当前文本的各个子文本的子权重;所述解码层,根据预先训练好的第二网络参数以及所述语义向量和权重,确定所述当前文本对应的纠正后文本时,包括:
采用以下方式确定所述当前文本对应的纠正后文本的第N个纠正子文本:
获取第N-1个纠正子文本;其中,所述N为正整数,当所述N大于1时,所述第N-1个纠正子文本为:根据第N-1个子语义向量和第N-1个子权重以及获取的第N-2个纠正子文本从预设的文本对象库中确定;所述文本对象库包括各个文本对象;
根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本。
9.根据权利要求8所述的装置,其特征在于,所述解码层,获取第N-1个纠正子文本时,包括:
当所述N为1时,将预设文本作为第N-1个纠正子文本,或者将从预设文本库中选择的文本作为第N-1个纠正子文本。
10.根据权利要求8所述的装置,其特征在于,所述解码层,根据第N个子语义向量和第N个子权重以及所述第N-1个纠正子文本,从所述文本对象库中确定第N个纠正子文本时,包括:
根据第N个子语义向量和第N个子权重以及第N-1个纠正子文本,确定所述文本对象库中各个文本对象的评分;
根据各个评分,从所述文本对象库的各个文本对象中确定第N个纠正子文本。
CN201811158046.0A 2018-09-30 2018-09-30 一种文本纠正方法及装置 Active CN109408813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811158046.0A CN109408813B (zh) 2018-09-30 2018-09-30 一种文本纠正方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811158046.0A CN109408813B (zh) 2018-09-30 2018-09-30 一种文本纠正方法及装置

Publications (2)

Publication Number Publication Date
CN109408813A true CN109408813A (zh) 2019-03-01
CN109408813B CN109408813B (zh) 2023-07-21

Family

ID=65466681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811158046.0A Active CN109408813B (zh) 2018-09-30 2018-09-30 一种文本纠正方法及装置

Country Status (1)

Country Link
CN (1) CN109408813B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922371A (zh) * 2019-03-11 2019-06-21 青岛海信电器股份有限公司 自然语言处理方法、设备及存储介质
CN110232191A (zh) * 2019-06-17 2019-09-13 ***科技(杭州)有限公司 自动文本查错方法
CN110232129A (zh) * 2019-06-11 2019-09-13 北京百度网讯科技有限公司 场景纠错方法、装置、设备和存储介质
CN110276069A (zh) * 2019-05-17 2019-09-24 中国科学院计算技术研究所 一种中国盲文错误自动检测方法、***及存储介质
CN111274785A (zh) * 2020-01-21 2020-06-12 北京字节跳动网络技术有限公司 一种文本纠错方法、装置、设备及介质
CN111310447A (zh) * 2020-03-18 2020-06-19 科大讯飞股份有限公司 语法纠错方法、装置、电子设备和存储介质
CN111859919A (zh) * 2019-12-02 2020-10-30 北京嘀嘀无限科技发展有限公司 文本纠错模型训练方法、装置、电子设备及存储介质
CN112417848A (zh) * 2019-08-19 2021-02-26 阿里巴巴集团控股有限公司 语料生成方法、装置及计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488488A (zh) * 2013-09-26 2014-01-01 贝壳网际(北京)安全技术有限公司 文本输入检查方法、装置及移动终端
US20150261743A1 (en) * 2014-03-17 2015-09-17 Accenture Global Services Limited Generating a semantic network based on semantic connections between subject-verb-object units
US20170235721A1 (en) * 2016-02-17 2017-08-17 The King Abdulaziz City For Science And Technology Method and system for detecting semantic errors in a text using artificial neural networks
CN107085471A (zh) * 2017-04-25 2017-08-22 北京百度网讯科技有限公司 一种基于用户输入速度的输入法纠错方法和装置
CN107357775A (zh) * 2017-06-05 2017-11-17 百度在线网络技术(北京)有限公司 基于人工智能的循环神经网络的文本纠错方法及装置
CN107451106A (zh) * 2017-07-26 2017-12-08 阿里巴巴集团控股有限公司 文本纠正方法及装置、电子设备
CN108563634A (zh) * 2018-03-29 2018-09-21 广州视源电子科技股份有限公司 文字拼写错误的识别方法、***、计算机设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488488A (zh) * 2013-09-26 2014-01-01 贝壳网际(北京)安全技术有限公司 文本输入检查方法、装置及移动终端
US20150261743A1 (en) * 2014-03-17 2015-09-17 Accenture Global Services Limited Generating a semantic network based on semantic connections between subject-verb-object units
US20170235721A1 (en) * 2016-02-17 2017-08-17 The King Abdulaziz City For Science And Technology Method and system for detecting semantic errors in a text using artificial neural networks
CN107085471A (zh) * 2017-04-25 2017-08-22 北京百度网讯科技有限公司 一种基于用户输入速度的输入法纠错方法和装置
CN107357775A (zh) * 2017-06-05 2017-11-17 百度在线网络技术(北京)有限公司 基于人工智能的循环神经网络的文本纠错方法及装置
CN107451106A (zh) * 2017-07-26 2017-12-08 阿里巴巴集团控股有限公司 文本纠正方法及装置、电子设备
CN108563634A (zh) * 2018-03-29 2018-09-21 广州视源电子科技股份有限公司 文字拼写错误的识别方法、***、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄浩等: "汉语语音识别声调模型集成中基于决策树的上下文相关权重参数聚类方法", 《新疆大学学报(自然科学版)》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922371A (zh) * 2019-03-11 2019-06-21 青岛海信电器股份有限公司 自然语言处理方法、设备及存储介质
CN109922371B (zh) * 2019-03-11 2021-07-09 海信视像科技股份有限公司 自然语言处理方法、设备及存储介质
CN110276069B (zh) * 2019-05-17 2021-04-02 中国科学院计算技术研究所 一种中国盲文错误自动检测方法、***及存储介质
CN110276069A (zh) * 2019-05-17 2019-09-24 中国科学院计算技术研究所 一种中国盲文错误自动检测方法、***及存储介质
CN110232129B (zh) * 2019-06-11 2020-09-29 北京百度网讯科技有限公司 场景纠错方法、装置、设备和存储介质
CN110232129A (zh) * 2019-06-11 2019-09-13 北京百度网讯科技有限公司 场景纠错方法、装置、设备和存储介质
CN110232191A (zh) * 2019-06-17 2019-09-13 ***科技(杭州)有限公司 自动文本查错方法
CN112417848A (zh) * 2019-08-19 2021-02-26 阿里巴巴集团控股有限公司 语料生成方法、装置及计算机设备
CN111859919A (zh) * 2019-12-02 2020-10-30 北京嘀嘀无限科技发展有限公司 文本纠错模型训练方法、装置、电子设备及存储介质
CN111274785A (zh) * 2020-01-21 2020-06-12 北京字节跳动网络技术有限公司 一种文本纠错方法、装置、设备及介质
CN111274785B (zh) * 2020-01-21 2023-06-20 北京字节跳动网络技术有限公司 一种文本纠错方法、装置、设备及介质
CN111310447A (zh) * 2020-03-18 2020-06-19 科大讯飞股份有限公司 语法纠错方法、装置、电子设备和存储介质
CN111310447B (zh) * 2020-03-18 2024-02-02 河北省讯飞人工智能研究院 语法纠错方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN109408813B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
CN109408813A (zh) 一种文本纠正方法及装置
US11373090B2 (en) Techniques for correcting linguistic training bias in training data
US11640515B2 (en) Method and neural network system for human-computer interaction, and user equipment
US10354015B2 (en) Processing text sequences using neural networks
CN109033068B (zh) 基于注意力机制的用于阅读理解的方法、装置和电子设备
CN108959246B (zh) 基于改进的注意力机制的答案选择方法、装置和电子设备
CN110347799B (zh) 语言模型训练方法、装置和计算机设备
US11681872B2 (en) Language sequence labeling method and apparatus, storage medium, and computing device
CN111310440B (zh) 文本的纠错方法、装置和***
WO2022121178A1 (zh) 文本纠错模型训练方法、识别方法、装置及计算机设备
WO2018060450A1 (en) Question generation
CN110232923B (zh) 一种语音控制指令生成方法、装置及电子设备
CN111931517A (zh) 文本翻译方法、装置、电子设备以及存储介质
CN112528637A (zh) 文本处理模型训练方法、装置、计算机设备和存储介质
CN109002186A (zh) 一种输入预测方法及装置
CN110909144A (zh) 问答对话方法、装置、电子设备及计算机可读存储介质
CN114490953B (zh) 训练事件抽取模型的方法、事件抽取的方法、装置及介质
US20230205994A1 (en) Performing machine learning tasks using instruction-tuned neural networks
CN113672731B (zh) 基于领域信息的情感分析方法、装置、设备及存储介质
CN114818729A (zh) 一种训练语义识别模型、查找语句的方法、装置及介质
CN111339775A (zh) 命名实体识别方法、装置、终端设备及存储介质
CN113806645A (zh) 标签分类***及标签分类模型的训练***
CN112183513B (zh) 一种图像中文字的识别方法、装置、电子设备及存储介质
WO2021082570A1 (zh) 基于人工智能的语义识别方法、装置和语义识别设备
CN112016281B (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
GR01 Patent grant
GR01 Patent grant