一种语法错误检测方法、装置、电子设备及存储介质与流程

文档序号:28098678发布日期:2021-12-22 08:42阅读:77来源:国知局
一种语法错误检测方法、装置、电子设备及存储介质与流程

1.本技术涉及文本检测技术领域,特别涉及一种语法错误检测方法、装置、一种电子设备及一种存储介质。


背景技术:

2.由于不同语言的语法不完全相同,因此在用户学习其他语言时,常常出现按照母语的语法习惯来表达其他语言的句子,这将会导致出现语法错误。例如,中国人在学习英语时常常会出现中式英语的表达。目前尚不存在能够检测上述语法错误的技术方案。
3.因此,如何提高语法错误检测的准确度是本领域技术人员目前需要解决的技术问题。


技术实现要素:

4.本技术的目的是提供一种语法错误检测方法、装置、一种电子设备及一种存储介质,能够提高语法错误检测的准确度。
5.为解决上述技术问题,本技术提供一种语法错误检测方法,该语法错误检测方法包括:
6.获取第一语言的原语句文本,并将所述原语句文本翻译为第二语言的译文语句文本;
7.对所述原语句文本和所述译文语句文本执行词对齐操作,并根据对齐结果判断所述原语句文本和所述译文语句文本的语序是否相同;
8.若否,则对所述译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本;
9.将所述回译语句文本和所述回译语句文本对应的原语句文本添加至训练集,并利用所述训练集中的样本对初始模型进行训练得到语法错误检测模型;
10.通过所述语法错误检测模型对待检测语句文本执行语法错误检测操作。
11.可选的,对所述译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本,包括:
12.确定所述译文语句文本中每一单词对应的回译单词,并利用所述回译单词生成语序与所述译文语句文本相同的中间回译语句文本;
13.根据所述对齐结果将目标单词按照预设概率随机添加至所述中间回译语句文本,得到所述回译语句文本;
14.其中,所述目标单词为所述原语句文本中不存在所述第二语言翻译的单词。
15.可选的,对所述译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本,包括:
16.将所述译文语句文本中每一单词翻译为所述第一语言,得到第一备选回译单词;
17.根据所述对齐结果将所述译文语句文本中每一单词在所述原语句文本中对应的单词设置为第二备选回译单词;
18.基于所述第一备选回译单词和所述第二备选回译单词对所述译文语句文本进行逐词翻译操作,得到语序与所述译文语句文本相同的所述回译语句文本;
19.其中,所述回译语句文本中第一备选回译单词与第二备选回译单词的比例在预设区间内。
20.可选的,将所述译文语句文本中每一单词翻译为所述第一语言,得到第一备选回译单词,包括:
21.利用翻译器对所述译文语句文本中每一单词进行翻译,并将翻译结果中语意相似度大于预设值的n个词语作为所述第一备选回译单词。
22.可选的,将所述回译语句文本和所述回译语句文本对应的原语句文本添加至训练集,包括:
23.将所述回译语句文本作为负例样本添加至所述训练集;
24.将所述回译语句文本对应的原语句文本作为正例样本添加至所述训练集。
25.可选的,通过所述语法错误检测模型对待检测语句文本执行语法错误检测操作,包括:
26.将所述待检测语句文本输入至所述语法错误检测模型,得到检测结果;
27.根据所述检测结果对所述待检测语句文本中存在语法错误的文本进行标注。
28.可选的,在根据所述检测结果对所述待检测语句文本中存在语法错误的文本进行标注之后,还包括:
29.根据所述存在语法错误的文本生成所述第一语言的纠正文本。
30.本技术还提供了一种语法错误检测装置,该语法错误检测装置包括:
31.翻译模块,用于获取第一语言的原语句文本,并将所述原语句文本翻译为第二语言的译文语句文本;
32.词对齐模块,用于对所述原语句文本和所述译文语句文本执行词对齐操作,并根据对齐结果判断所述原语句文本和所述译文语句文本的语序是否相同;
33.回译模块,用于若所述原语句文本和所述译文语句文本的语序不相同,对所述译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本;
34.模型训练模块,用于将所述回译语句文本和所述回译语句文本对应的原语句文本添加至训练集,并利用所述训练集中的样本对初始模型进行训练得到语法错误检测模型;
35.错误检测模块,用于通过所述语法错误检测模型对待检测语句文本执行语法错误检测操作。
36.本技术还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述语法错误检测方法执行的步骤。
37.本技术还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述语法错误检测方法执行的步骤。
38.本技术提供了一种语法错误检测方法,包括获取第一语言的原语句文本,并将所述原语句文本翻译为第二语言的译文语句文本;对所述原语句文本和所述译文语句文本执行词对齐操作,并根据对齐结果判断所述原语句文本和所述译文语句文本的语序是否相同;若否,则对所述译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本;将所
述回译语句文本和所述回译语句文本对应的原语句文本添加至训练集,并利用所述训练集中的样本对初始模型进行训练得到语法错误检测模型;通过所述语法错误检测模型对待检测语句文本执行语法错误检测操作。
39.本技术将第一语言的原语句文本翻译为第二语言的译文语句文本,对原语句文本和译文语句文本执行词对齐操作。若原语句文本与译文语句文本的语序相同,那么表达译文语句文本表达意思时第一语言和第二语言的词汇表达顺序一致;若原语句文本与译文语句文本的语序不相同,那么表达译文语句文本表达意思时第一语言和第二语言的词汇表达顺序不一致。因此若原语句文本与译文语句文本的语序不相同,本技术将译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本,并利用回译语句文本和回译语句文本对应的原语句文本训练原始模型得到语法错误检测模型。语法错误检测模型能够检测按照第二语言语法规则表达第一语言文本的语法错误,可见本技术能够提高语法错误检测的准确度。本技术同时还提供了一种语法错误检测装置、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
40.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例所提供的一种语法错误检测方法的流程图;
42.图2为本技术实施例所提供的一种回译语句文本的构建方法的示意图;
43.图3为本技术实施例所提供的一种中式英语表达语法错误的检测方法流程图;
44.图4为本技术实施例所提供的一种训练样本构建示意图;
45.图5为本技术实施例所提供的一种语法错误检测装置的结构示意图。
具体实施方式
46.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
47.下面请参见图1,图1为本技术实施例所提供的一种语法错误检测方法的流程图。
48.具体步骤可以包括:
49.s101:获取第一语言的原语句文本,并将原语句文本翻译为第二语言的译文语句文本;
50.其中,本步骤可以从大量的第一语言语料中选取原语句文本,并将原语句文本翻译为第二语言的译文语句文本,具体的本步骤可以利用翻译器实现第一语言到第二语言的翻译。上述提到的原语句文本可以包括多个句子,可以按照句子为单位将多句原语句文本翻译为多句第二语言的译文语句文本。在执行完本步骤的翻译操作之后,本实施例还可以记录原语句文本与译文语句文本的对应关系。
51.s102:对原语句文本和译文语句文本执行词对齐操作;
52.s103:根据对齐结果判断原语句文本和译文语句文本的语序是否相同;若是,则结束流程;若否,则进入s104;
53.其中,s102和s103建立在已经得到原语句文本和译文语句文本的基础上,可以根据原语句文本与译文语句文本的对应关系对原语句文本和译文语句文本执行词对齐操作。本实施例可以利用fast-align工具包实现词对齐操作,举例说明词对齐操作的过程:
54.利用fast-align对齐原语句文本和译文语句文本,对齐的结果举例如下:
55.原语句文本:mr.smith was too eager to join the game.
56.译文语句文本:史密斯先生极想加入游戏。
57.对齐结果:1-0 0-1 4-2 6-3 9-4。
58.根据对齐结果可以看出,

smith

(1)与史密斯对应,其余词一次类推。在对齐中文词语的编号的顺序是单调递增的,破折号后的数字是单调递增的,但其对应的英文单词的编号却不是对齐的,此时可以判定原语句文本和译文语句文本的语序不相同。
59.在本实施例中可以对每一对原语句文本和译文语句文本执行词对齐操作,若某一对原语句文本和译文语句文本的语序不相同则进入s104的相关操作;若某一对原语句文本和译文语句文本的语序相同则判断下一对原语句文本和译文语句文本的语序是否相同,若所有原语句文本和译文语句文本的语序均相同则结束流程。
60.s104:对译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本;
61.其中,在确定原语句文本和译文语句文本的语序不相同的基础上,本实施例可以将第一语言和第二语言语序不同的译文语句文本执行逐词翻译操作。逐词翻译操作指:以单词为单位按照译文语句文本的词语表达顺序翻译得到第一语言的文本,即得到第一语言的回译语句文本。继续以上文中“史密斯先生极想加入游戏”为例说明逐字翻译的过程:
62.原语句文本:mr.smith was too eager to join the game.
63.译文语句文本:史密斯先生极想加入游戏。
64.回译语句文本:smith mr.eager join game.
65.s105:将回译语句文本和回译语句文本对应的原语句文本添加至训练集,并利用训练集中的样本对初始模型进行训练得到语法错误检测模型;
66.其中,在得到了回译语句文本的基础上,可以确定回译语句文本对应的原语句文本,本实施例中的原语句文本可以为不存在语法错误的第一语言文本。本实施例将回译语句文本和回译语句文本对应的原语句文本添加至训练集,还可以将训练集中的回译语句文本和原语句文本分别添加对应的语句类型标签,具体的,本实施例可以将回译语句文本作为负例样本添加至训练集,还可以将回译语句文本对应的原语句文本作为正例样本添加至训练集,进而利用训练集中的样本对初始模型进行训练得到语法错误检测模型。
67.s106:通过语法错误检测模型对待检测语句文本执行语法错误检测操作。
68.其中,本实施例中训练得到的语法错误检测模型具有检测按照第二语言语法规则表达第一语言文本的语法错误的能力,因此可以将待检测语句文本输入语法错误检测模型,根据模型输出的结果判断是否存在语法错误。
69.作为一种可行的实施方式,通过语法错误检测模型执行语法错误检测操作的过程可以包括:将所述待检测语句文本输入至所述语法错误检测模型,得到检测结果;根据所述检测结果对所述待检测语句文本中存在语法错误的文本进行标注。在根据所述检测结果对
所述待检测语句文本中存在语法错误的文本进行标注之后,还包括:根据所述存在语法错误的文本生成所述第一语言的纠正文本。生成纠正文本的过程可以包括:确定存在语法错误的待检测语句文本,生成待检测语句文本的第二语言翻译文本,将第二语言翻译文本进行回译得到第一语言的纠正文本。
70.本实施例将第一语言的原语句文本翻译为第二语言的译文语句文本,对原语句文本和译文语句文本执行词对齐操作。若原语句文本与译文语句文本的语序相同,那么表达译文语句文本表达意思时第一语言和第二语言的词汇表达顺序一致;若原语句文本与译文语句文本的语序不相同,那么表达译文语句文本表达意思时第一语言和第二语言的词汇表达顺序不一致。因此若原语句文本与译文语句文本的语序不相同,本实施例将译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本,并利用回译语句文本和回译语句文本对应的原语句文本训练原始模型得到语法错误检测模型。语法错误检测模型能够检测按照第二语言语法规则表达第一语言文本的语法错误,可见本实施例能够提高语法错误检测的准确度。
71.作为一种可行的实施方式,s104中得到第一语言的回译语句文本的过程可以包括:确定所述译文语句文本中每一单词对应的回译单词,并利用所述回译单词生成语序与所述译文语句文本相同的中间回译语句文本;根据所述对齐结果将目标单词按照预设概率随机添加至所述中间回译语句文本,得到所述回译语句文本;其中,所述目标单词为所述原语句文本中不存在所述第二语言翻译的单词。
72.由于第一语言和第二语言之间进行翻译的过程中,可能存在第二语言中不存在第一语言中某个词的翻译文本的情况,例如,在中文中不存在“to”、“the”的准确翻译。因此,本实施例先确定译文语句文本中每一单词对应的回译单词利用所述回译单词生成语序与所述译文语句文本相同的中间回译语句文本,然后将原语句文本中不存在所述第二语言翻译的单词随机添加至中间回译语句文本中。举例说明上述过程:
73.原语句文本:mr.smith was too eager to join the game.
74.译文语句文本:史密斯先生极想加入游戏。
75.中间回译语句文本:smith mr.eager join game.
76.回译语句文本:smith mr.was too the eager join to game.
77.通过上述目标单词补回中间回译语句文本的操作,能够使得回译语句文本更加贴近用户出现语法错误时的真实场景,提高了语法错误的检测准确率。
78.请参见图2,图2为本技术实施例所提供的一种回译语句文本的构建方法的示意图,本实施例是对图1对应实施例s104的进一步介绍,可以将本实施例与图1对应的实施例相结合得到进一步的实施方式,本实施例可以包括以下步骤:
79.s201:将所述译文语句文本中每一单词翻译为所述第一语言,得到第一备选回译单词;
80.其中,本步骤可以利用翻译器对所述译文语句文本中每一单词进行翻译,并将翻译结果中语意相似度大于预设值的n个词语作为所述第一备选回译单词。
81.s202:根据所述对齐结果将所述译文语句文本中每一单词在所述原语句文本中对应的单词设置为第二备选回译单词;
82.s203:基于所述第一备选回译单词和所述第二备选回译单词对所述译文语句文本
进行逐词翻译操作,得到语序与所述译文语句文本相同的所述回译语句文本;
83.其中,在上述实施例中,可以利用翻译器将译文语句文本中每一单词翻译为所述第一语言,并将提取排名前5名的翻译结果作为第一备选回译单词。本实施例还将译文语句文本中每一单词在所述原语句文本中对应的单词设置为第二备选回译单词,进而从第一备选回译单词和第二回译备选单词中进行选择来构建回译语句文本。具体的,回译语句文本中第一备选回译单词与第二备选回译单词的比例在预设区间内,作为一种可行的实施方式,本实施例可以将回译语句文本中单词的来源设置为第一备选回译单词和第二备选回译单词,两种来源的比例可以设置为3:7、2:8或8:2。
84.下面通过在实际应用中的实施例说明上述实施例描述的流程。请参见图3和图4,图3为本技术实施例所提供的一种中式英语表达语法错误的检测方法流程图,图4为本技术实施例所提供的一种训练样本构建示意图。
85.中国的英语学习者通常会用中式的思维方式来表达英文,本实施例提供了一种方式鉴别这样的中式表达,具体可以包括以下步骤:
86.步骤1、生成训练样本;
87.其中,本实施例从海量的英文语料中提取英文句子作为训练样本的正例。如图4所示可以利用双语机器翻译语料生成含有中式表达的英文。可以利用对齐工具对齐中英文,如果中文和英文的对齐顺序不一致,那么就说明对于该语句所表达的意思,中文和英文的词汇表达顺序不一致。若中文和英文的词汇表达顺序不一致,英语学习者表述该意思时,容易出现中式表达。所以挑选这个中文句子,对其中的每个词进行逐词翻译或者替换,进行生成的英文认为是存在中式表达的问题的。
88.语料生成步骤如下:
89.(a)利用fast-align对齐中文和英文句子。
90.对齐的结果举例如下:
91.英文句子:mr.smith was too eager to join the game.
92.中文句子:史密斯先生极想加入游戏。
93.对齐结果:1-0 0-1 4-2 6-3 9-4;
94.根据对齐结果可以看出,

smith

(1)与史密斯对应,其余词一次类推。
95.(b)找出满足特定条件的英文中文翻译对。
96.(c)对中文英文翻译对中的中文所有词进行中文翻译,提取排名前5的翻译结果。对中文句子进行逐词英文替换。替换英文的来源是(c)中生成的中文英文对应表和(a)中的原始英文表达。两种来源的比例可以设置为3:7、2:8或8:2。
97.(d)由于(a)中有些英文没有对应的中文与之对应,所以将其随机的补充到(d)中的结果,将这里的随机概率设置为0.5。最终生成的中式表达的句子可以包括:
98.smith mr.eager admission to game.
99.smith.mr.very thoughtful game membership.
100.smith mr.too was eager to join.
101.(e)可以将(d)中生成的中式表达作为分类器的负例,正例可以为正常的英文文本。
102.步骤2、利用训练样本训练神经网络模型得到中式英语判别器(即语法错误检测模
型)。
103.其中,本实施例可以采用基于注意力机制的神经网络模型(transformer)。对于输入的句子,首先将其中的每个单词转化成词向量,然后经过注意力机制(self-attention)、前向神经网络(feed forward)等网络,生成句子的向量表示,依据该向量来多层感知器。
104.语法错误检测模型可以将英文文本数字化向量化,英文文本转化为矩阵x,将提取的句子通过向量进行表示。矩阵x经过多头注意力机制,让每个词语的向量表示都包含与之有关词语的信息。经过前向神经网络,进行非线性变换,一次让神经网络更好的表达和拟合中式表达信息。将上述句子向量送入多层感知器进行训练得到中式英语判别器。训练loss为交叉熵损失函数。
105.步骤3、利用训练好的中式英语判别器来预测学生的英语表达。
106.上述实施例提出了一种含有中式表达英文句子的检测技术,利用了大规模的文本数据,不需要人工标注,即可解决了中式表达的检测问题,
107.请参见图5,图5为本技术实施例所提供的一种语法错误检测装置的结构示意图;
108.该装置可以包括:
109.翻译模块100,用于获取第一语言的原语句文本,并将所述原语句文本翻译为第二语言的译文语句文本;
110.词对齐模块200,用于对所述原语句文本和所述译文语句文本执行词对齐操作,并根据对齐结果判断所述原语句文本和所述译文语句文本的语序是否相同;
111.回译模块300,用于若所述原语句文本和所述译文语句文本的语序不相同,对所述译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本;
112.模型训练模块400,用于将所述回译语句文本和所述回译语句文本对应的原语句文本添加至训练集,并利用所述训练集中的样本对初始模型进行训练得到语法错误检测模型;
113.错误检测模块500,用于通过所述语法错误检测模型对待检测语句文本执行语法错误检测操作。
114.本实施例将第一语言的原语句文本翻译为第二语言的译文语句文本,对原语句文本和译文语句文本执行词对齐操作。若原语句文本与译文语句文本的语序相同,那么表达译文语句文本表达意思时第一语言和第二语言的词汇表达顺序一致;若原语句文本与译文语句文本的语序不相同,那么表达译文语句文本表达意思时第一语言和第二语言的词汇表达顺序不一致。因此若原语句文本与译文语句文本的语序不相同,本实施例将译文语句文本进行逐词翻译操作,得到第一语言的回译语句文本,并利用回译语句文本和回译语句文本对应的原语句文本训练原始模型得到语法错误检测模型。语法错误检测模型能够检测按照第二语言语法规则表达第一语言文本的语法错误,可见本实施例能够提高语法错误检测的准确度。
115.进一步的,回译模块300用于确定所述译文语句文本中每一单词对应的回译单词,并利用所述回译单词生成语序与所述译文语句文本相同的中间回译语句文本;还用于根据所述对齐结果将目标单词按照预设概率随机添加至所述中间回译语句文本,得到所述回译语句文本;其中,所述目标单词为所述原语句文本中不存在所述第二语言翻译的单词。
116.进一步的,回译模块300,包括:
117.第一备选回译单词确定单元,用于将所述译文语句文本中每一单词翻译为所述第一语言,得到第一备选回译单词;
118.第二备选回译单词确定单元,用于根据所述对齐结果将所述译文语句文本中每一单词在所述原语句文本中对应的单词设置为第二备选回译单词;
119.回译语句文本生成单元,用于基于所述第一备选回译单词和所述第二备选回译单词对所述译文语句文本进行逐词翻译操作,得到语序与所述译文语句文本相同的所述回译语句文本;
120.其中,所述回译语句文本中第一备选回译单词与第二备选回译单词的比例在预设区间内。
121.进一步的,第一备选回译单词确定单元,用于利用翻译器对所述译文语句文本中每一单词进行翻译,并将翻译结果中语意相似度大于预设值的n个词语作为所述第一备选回译单词。
122.进一步的,模型训练模块400用于将所述回译语句文本作为负例样本添加至所述训练集;还用于将所述回译语句文本对应的原语句文本作为正例样本添加至所述训练集。
123.进一步的,错误检测模块500用于将所述待检测语句文本输入至所述语法错误检测模型,得到检测结果;还用于根据所述检测结果对所述待检测语句文本中存在语法错误的文本进行标注。
124.进一步的,还包括:
125.纠错模块,用于在根据所述检测结果对所述待检测语句文本中存在语法错误的文本进行标注之后,根据所述存在语法错误的文本生成所述第一语言的纠正文本。
126.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
127.本技术还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
128.本技术还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
129.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
130.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1