CN111897535A - 语法纠错方法、装置、计算机系统及可读存储介质 - Google Patents
语法纠错方法、装置、计算机系统及可读存储介质 Download PDFInfo
- Publication number
- CN111897535A CN111897535A CN202010752813.1A CN202010752813A CN111897535A CN 111897535 A CN111897535 A CN 111897535A CN 202010752813 A CN202010752813 A CN 202010752813A CN 111897535 A CN111897535 A CN 111897535A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- error correction
- intelligent
- cursor
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000009471 action Effects 0.000 claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000033001 locomotion Effects 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 21
- 230000002787 reinforcement Effects 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种语法纠错方法、装置、计算机系统及可读存储介质,涉及人工智能中的智能决策领域,包括:获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据;基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本,解决现有技术存在的语法纠错只能基于有限的预定义规则和映射函数,且耗费时间较长,纠错效率较低的问题。
Description
技术领域
本发明涉及人工智能中的智能决策领域,尤其涉及一种语法纠错方法、装置、计算机系统及可读存储介质。
背景技术
程序在运行前,往往会需要采用编译器进行程序编译,若编写的脚本中存在语法错误,则编译器会报错且无法继续运行,现有技术中技术人员大多依赖编译器获得脚本错误信息的反馈,但是该方式获得反馈信息中并不能准确地定位到具体语法错误处,这使得修正语法错误非常耗时的,且对技术人员专业要求较高。
为了提高语法纠错的效率,现有技术中还采用预设规则或映射等方式对一些常见语法错误预先进行检查,并将检查结果映射到正确语法的代码上实现错误语法的纠正,但是上述方法修正语法只能基于有限的预定义规则和映射函数,且耗费时间较长,纠错效率较低。
发明内容
本发明的目的是提供一种语法纠错方法、装置、计算机系统及可读存储介质,用于解决现有技术存在的语法纠错只能基于有限的预定义规则和映射函数,且耗费时间较长,纠错效率较低的问题。
为实现上述目的,本发明提供一种语法纠错方法,包括:
获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;
对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;
根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据;
基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本。
进一步的,所述对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息,包括以下:
对所述初始文本进行序列化,获得第一处理数据;
实时定位所述智能游标,获取所述智能游标的实时位置信息,基于所述位置信息对所述第一处理数据进行标记,获得带有游标实时位置标记的第一处理数据作为实时状态信息。
进一步的,根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据,包括以下:
采用神经网络对所述实时状态信息进行映射处理,获得第一数据;
对所述第一数据进行元素平均处理,获得第二数据;
采用训练好的深度强化学习模型对所述第二数据进行处理,确定所述智能游标动作数据。
进一步的,在根据所述实时状态信息确定所述智能游标的动作数据前,对所述纠错模型进行训练,包括以下:
获取训练样本,采用神经网络对所述训练样本处理,获取样本处理数据;
采用深度强化学习模型中动作网络和状态网络对训练样本处理数据进行处理,获得初始动作策略和值函数;
基于所述初始动作策略和值函数采用损失函数处理获得样本动作数据;
采用编译器对所述样本动作数据进行编译,根据编译结果获得奖惩数据;
基于所述奖惩数据对所述纠错模型中的损失函数和参数进行调整,再次处理,直至完成训练过程,获得训练后的纠错模型。
进一步的,所述根据编译结果获得奖惩数据,包括以下:
从预设数据库中获取历史错误数量,根据编译结果获得编译后的错误数量;
基于所历史错误数量和编译后的错误数量判断错误数量是否增加;
若是,则奖惩数据为负向惩罚;若不是,则奖惩数据为正向惩罚;
在获得惩罚数据后采用所述编译后的错误数量更新所述历史错误数量并存储在所述预设数据库中。
进一步的,所述基于所述动作数据采用所述智能游标对所述初始文本进行处理,包括以下步骤:
基于所述动作数据获取对应的数据类型;
当所述数据类型为编辑数据,根据所述动作数据对所述初始文本进行编辑,并基于所述智能游标的位置信息更新所述实时状态信息;
当所述数据类型为导航数据,根据所述动作数据移动所述智能游标并基于所述智能游标的位置信息更新所述实时状态信息。
进一步的,在对所述初始文本进行处理后,且获得目标文本前,还包括以下步骤:
获取所述智能游标的当前位置信息,基于所述位置信息判断所述智能游标是否处于所述初始文本尾部;
若是,则基于被处理后的初始文本获得目标文本,将所述目标文本上传至区块链;
若否,则根据实时状态信息再次确定智能游标的动作数据。
为实现上述目的,本发明还提供一种语法纠错装置,包括:
预处理模块,用于获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;
状态获取模块,用于对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;
动作确定模块,用于根据所述实时状态信息确定所述智能游标的动作数据;
动作执行模块,用于基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本。
为实现上述目的,本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述语法纠错方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,各存储介质上存储有计算机程序,所述多个存储介质存储的所述计算机程序被处理器执行时共同实现上述语法纠错方法的步骤。
本发明提供的语法纠错方法、装置、计算机系统及可读存储介质,通过在初始文本中插入可执行动作的智能游标,根据初始文本的实时状态信息通过纠错模型确定智能游标的动作数据,而后对所述初始文本执行动作,最终在智能游标完成所有动作后获得目标文本,解决现有技术存在的语法纠错只能基于有限的预定义规则和映射函数,且耗费时间较长,纠错效率较低的问题。
附图说明
图1为本发明所述语法纠错方法实施例一的流程图;
图2为本发明所述语法纠错方法实施例一中带有智能游标的初始文本进行实时状态标记,获得实时状态信息的具体流程图;
图3为本发明所述语法纠错方法实施例一中根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据的具体流程图;
图4为本发明所述语法纠错方法实施例一中在根据所述实时状态信息确定所述智能游标的动作数据前,对所述纠错模型进行训练的具体流程图;
图5为本发明所述语法纠错方法实施例一中所述根据编译结果获得奖惩数据的具体流程图;
图6为本发明所述语法纠错方法实施例一中基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文件的流程图;
图7为本发明所述基于强化的语法纠错方法装置实施例二的程序模块示意图;
图8为本发明计算机系统实施例三中计算机设备的硬件结构示意图。
附图标记:
5、语法纠错装置 51、预处理模块 52、状态获取模块
53、动作确定模块 531、第一处理单元 532、第二处理单元
533、第三处理单元 54、动作执行模块 6、计算机设备
61、存储器 62、处理器 63、网络接口
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的语法纠错方法、装置、计算机系统及可读存储介质,适用于智能决策领域,为提供一种基于预处理模块、状态获取模块、动作确定模块、动作执行模块的语法纠错方法。本发明通过在初始文本中插入可执行动作的智能游标,根据初始文本的实时状态信息通过纠错模型确定智能游标的动作数据,而后对所述初始文本执行动作,最终在智能游标完成所有动作后获得目标文本,用智能游标作为纠错模型的智能载体,定位错误语法并对其智能的进行修改,解决现有技术存在的语法纠错只能基于有限的预定义规则和映射函数,且耗费时间较长,纠错效率较低的问题。
实施例一
请参阅图1,本实施例的一种语法纠错方法,用于服务器端,在程序编码前对语法错误进行自动识别和更正,包括以下步骤:
S100:获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;
在本实施方式中,上述游标是一种从表中检索数据并进行操作的灵活手段,游标主要用在服务器上,处理由客户端发送给服务端的sql语句,或是批处理、存储过程、触发器中的数据处理请求,游标的优点在于它可以定位到结果集中的某一行,并可以对该行数据执行特定操作,具体的,上述预设位置为初始文本的头部位置,以便用于后续采用智能游标由初始文本头部向尾部进行语法纠错。
S200:对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;
具体的,上述对带有智能游标的初始文本进行实时状态标记,获得实时状态信息,参阅图2,包括以下步骤:
S210:对所述初始文本进行序列化,获得第一处理数据;
在上述实施方式中,所述序列化以字为单位,所述字包括程序的预定义函数,自定义变量,运算符等单元,在后续处理过程中,所述智能游标移动长度也以字为单位,与此处序列化过程中一致。
S220:实时定位所述智能游标,获取所述智能游标的实时位置信息,基于所述位置信息对所述第一处理数据进行标记,获得带有游标实时位置标记的第一处理数据作为实时状态信息。
本实施方式中,上述实时状态信息作用在于确定该智能游标在初始文件中的具体位置,以便采用后续步骤S300中采用纠错模型根据智能游标所在位置的文本自动进行判断是否需要纠错,游标会根据所在位置前进方向的文本内容进行动作(移动或编辑),游标位置会不断改变,因此根据游标的实时位置对序列化后的初始文本进行标记即可得到实时状态信息,具体的,采用特殊文本,例如<#cursor#>标记游标所在位置,初始位置为初始文本最前端,也可采用其他特殊标记。
S300:根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据;
需要说明的是,上述动作数据包括两种类型:编辑动作数据和导航动作数据,所述导航动作包括移动初始文本中的智能游标位置,可以向右移动一个字或向下移动到初始文本中下一句代码的起始位置;编辑动作包括插入、删除和替换3类,主要编辑对象定义为一个可变集合,包括但不限于分号、括号、话括号、逗号和点,上述纠错模型为LSTM网络结合A2C模型。
具体的,上述根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据,参阅图3,包括以下步骤:
S310:采用神经网络对所述实时状态信息进行映射处理,获得第一数据;
在本实施方式中,步骤S310中采用LSTM神经网络,将S211中进行序列化后获得的实时状态信息输入长短期序列(LSTM)网络,将实时状态信息每一个字映射获得对应向量,LSTM网络在此处用作编码和解码网络。
S320:对所述第一数据进行元素平均处理,获得第二数据;
在上述实施方式中,使用Mean Pooling层(平均池化层)对输出向量进行元素平均计算得到状态的Embedding向量,即为第二数据,上述步骤S310和步骤S320对实时状态信息处理,转化成对应的向量。
S330:采用深度强化学习模型对所述第二数据进行处理,确定所述智能游标动作数据。
在本实施方式中,所述深度强化学习模型为A2C模型,A2C网络是一种多线程强化学习算法。每一个线程都会包含一个自己的线程网络,分为Actor网络和Critic网络两部分,其中Actor网络用于求解动作策略,Critic网络用于求解值函数,actor网络是输入state(状态),输出动作的概率分布,从中选择动作后作为critic网络的输入;critic网络是输入state和action预估下一个state的q-value,通过上述LSTM模型结合A2C模型进行智能游标动作数据的确定。
在本实施方式中,在根据所述实时状态信息确定所述智能游标的动作数据前,对所述纠错模型进行训练,参阅图4,训练过程包括以下:
S331:获取训练样本,采用神经网络对所述训练样本处理,获取样本处理数据;
具体的,所述训练样本为如初始文本类似的数据即可,如上步骤S310所述,采用LSTM神经网络对训练样本进行处理,获得对应的样本向量。
S332:采用深度强化学习模型中动作网络和状态网络对训练样本处理数据进行处理,获得初始动作策略和值函数;
将第二数据输入A2C模型后,即Embedding向量进入线程后,使用线性层1加上softmax全连接层作为Actor,生成动作策略;使用线性层2作为Critic,生成值函数。
S333:基于所述初始动作策略和值函数采用损失函数处理获得样本动作数据;
在本实施方式中,损失函数会对初始动作策略和值函数进行调整,获得输出的样本动作数据,所述损失函数会在训练过程中进行调整。
S334:采用编译器对所述样本动作数据进行编译,根据编译结果获得奖惩数据;
在训练过程中,用编译器反馈的方式进行纠错模型的训练,相比于业内部分有监督学习训练的产品,不需要同时给出错误代码和正确代码的成对样本,也不需要再从人工修改和标记样本的过程中梳理错误的规律,在样本数据提供和选择上更灵活便捷。
参阅图5,在上述步骤S334中,所述奖惩数据包括正向惩罚和负向惩罚,具体的所述根据编译结果获得奖惩数据,包括以下步骤:
S334-1:从预设数据库中获取历史错误数量,根据编译结果获得编译后的错误数量;
上述实施方式中,提供一预设数据库用于存储每次编译后的错误数量,并根据编译次数更新,获取历史错误数量以及编译后的错误数量主要用于后续判断编译结果错误增加还是减少,以便于确定是正向惩罚还是负向惩罚(即奖励)。S334-2:基于所历史错误数量和编译后的错误数量判断错误数量是否增加;
S334-3:若是,则奖惩数据为负向惩罚;
S334-4:若不是,则奖惩数据为正向惩罚。
作为举例而非限定的,所述基于所述错误数据量变化更新数据库中的奖惩数据,若编译结果中反馈的错误数据量增多,则给予-1负向惩罚;若反馈的错误数据量减少,则给予+1正向奖励;若编译通过,则给予+100正向奖励结束迭代。
S334-4:在获得惩罚数据后采用所述编译后的错误数量更新所述历史错误数量并存储在所述预设数据库中。
具体的,奖惩数据初始值为预设,而后会根据上述步骤S334-4中所述进行更新,即保留最新的奖惩数据对上述初始数据进行调整。
S335:基于所述奖惩数据对所述纠错模型中的损失函数和参数进行调整,再次处理,直至完成训练过程,获得训练后的纠错模型。
根据奖惩数据计算损失函数,并更新纠错模型中的参数,上述S331-S334以及S335调整损失函数和参数前为一个完整的迭代过程,每一次迭代,各个线程会采用同步更新的机制将调整的数据传递给全局网络。
S400:基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本。
具体的,上述基于所述动作数据采用所述智能游标对所述初始文本进行处理,参阅图6,包括以下步骤:
S410:基于所述动作数据获取对应的数据类型;
如上述,所述数据类型包括编辑类型和导航类型,所述编辑类型为需要对所述智能游标所在位置处的文本进行修改,即对错误语法的更正,所述导航类型则对智能游标的导向,即语法正确,不需要更正,使智能游标移动至下一个字的位置。
S420:当所述数据类型为编辑类型,根据所述动作数据对所述初始文本进行编辑,并基于所述智能游标的位置信息更新所述实时状态信息;
S430:当所述数据类型为导航类型,根据所述动作数据移动所述智能游标并基于所述智能游标的位置信息更新所述实时状态信息。
在采用所述智能游标对所述初始文本进行处理后,无论是编辑还是移动,最终都需要根据智能游标的位置对实时状态信息进行更新,以便于再次根据实时状态信息确定智能游标执行动作或停止。
在对所述初始文本进行处理后,获得目标文本,还包括以下步骤:
S440:获取所述智能游标的当前位置信息,基于所述位置信息判断所述智能游标是否处于所述初始文本尾部;
S450:若是,则基于被处理后的初始文本获得目标文本;
S460:若否,则根据实时状态信息再次确定智能游标的动作数据。
在本实施方式中,如上述采用特殊文本<#cursor#>标记游标所在位置,因此根据标记可以判断游标是否处于初始文本尾部,若处于初始文本尾部,则说明游标由初始文本头部移动至尾部,完成整个初始文本的语法纠错,若未处于初始文本尾部,则基于更新后的实时状态信息重复上述S310-S330和S410-S440,再次确定智能游标的执行动作,直至智能游标达到初始文本尾部。
需要说明的是,为进一步保证上述目标文本的私密和安全性,上述目标文本还可以存储于一区块链的节点中,本申请的技术方案还可适用于其他存储于区块链上的文档的分类,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本方案中使用智能游标作为强化学习训练的编程语法纠错智能载体,可以定位错误,智能的进行修改并在训练过程中直接在修改后调动编译器进行判断,无需技术人员再手动的排查错误、修改并编译,解决了现有技术中只能基于有限的预定义规则和映射函数且检查效率较低的问题。
本方案相比于现有技术中基于规则的遍历搜索,智能游标被赋予的一系列动作使得其能够快速到达造成程序语法错误的所在位置,并直接根据当前文本和游标位置信息做出动作策略,效率更高。
实施例二:
请参阅图7,本实施例的一种语法纠错装置5,包括:
预处理模块51,用于获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;
状态获取模块52,用于对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;
动作确定模块53,用于根据所述实时状态信息确定所述智能游标的动作数据;
需要说明的是,上述动作数据包括两种类型:编辑动作数据和导航动作数据,所述导航动作包括移动初始文本中的智能游标位置,可以向右移动一个字或向下移动到初始文本中下一句代码的起始位置;编辑动作包括插入、删除和替换3类,主要编辑对象定义为一个可变集合,包括但不限于分号、括号、话括号、逗号和点。
所述动作确定模块53包括以下:
第一处理单元531,用于采用神经网络对所述实时状态信息进行映射处理,获得第一数据;
所述神经网络为LSTM神经网络。
第二处理单元532,用于对所述第一数据进行元素平均处理,获得第二数据;
具体的,使用Mean Pooling层(平均池化层)对输出向量进行元素平均计算得到状态的Embedding向量。
第三处理单元533,用于采用深度强化学习模型对所述第二数据进行处理,确定所述智能游标动作数据。
所述深度强化学习模型为A2C模型,A2C网络是一种多线程强化学习算法。每一个线程都会包含一个自己的线程网络,分为Actor网络和Critic网络两部分,其中Actor网络用于求解动作策略,Critic网络用于求解值函数,在训练过程中,采用编译器对所述样本动作数据进行编译,根据编译结果获得奖惩数据,基于所述奖惩数据对所述纠错模型中的损失函数和参数进行调整,再次处理,直至完成训练过程,获得纠错模型。
动作执行模块54,用于基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本。
本技术方案基于智能决策的检测模型,通过预处理模块在初始文本中插入可执行动作的智能游标,采用状态获取模块获取初始文本的实时状态信息,而后通过动作确定模块基于获取到的实时状态信息通过纠错模型确定智能游标的动作数据,采用动作执行模块采用智能游标对所述初始文本执行动作,最终在智能游标完成所有动作后获得目标文本,用智能游标作为纠错模型的智能载体,定位错误语法并对其智能的进行修改,解决现有技术存在的语法纠错只能基于有限的预定义规则和映射函数,且耗费时间较长,纠错效率较低的问题。
本技术方案还基于第一处理单元、第二处理单元和第三处理单元实现通过纠错模型确定智能游标的动作数据,所述纠错模型通过LSTM模型结合A2C模型实现,根据动作数据控制智能游标进行编辑实现自动纠错,同时在完成对文本的编辑后还会采用编译器对所述编辑后的文本进行编译,将编译结果反馈至调整纠错模型,实现纠错模型自主学习,提高后续获得用于智能游标的动作数据的准确性,同时该纠错模型不需要同时给出错误代码和正确代码的成对样本,也不需要再从人工修改和标记样本的过程中梳理错误的规律,在训练样本提供和选择上更灵活便捷。
实施例三:
为实现上述目的,本发明还提供本发明还提供一种计算机设备6,该计算机设备包括多个计算机设备,实施例二的语法纠错装置5的组成部分可分散于不同的计算机设备中,计算机设备可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器61、处理器62,如图8所示。需要指出的是,图8仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器61(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例一的语法纠错方法的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行语法纠错装置,以实现实施例一的语法纠错方法。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他计算机设备6之间建立通信连接。例如,所述网络接口63用于通过网络将所述计算机设备6与外部终端相连,在所述计算机设备6与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器61中的所述语法纠错装置5还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器61中,并由一个或多个处理器(本实施例为处理器62)所执行,以完成本发明。
实施例四:
为实现上述目的,本发明还提供一种计算机可读存储系统,其包括多个存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器62执行时实现相应功能。本实施例的计算机可读存储介质用于存储语法纠错装置,被处理器62执行时实现实施例一的语法纠错方法。
在一实施例中,所述计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有计算机程序;其中,所述计算机程序被处理器62执行时实现任一实施例所述的语法纠错方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种语法纠错方法,其特征在于,包括:
获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;
对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;
根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据;
基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本。
2.根据权利要求1所述的语法纠错方法,其特征在于,所述对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息,包括以下:
对所述初始文本进行序列化,获得第一处理数据;
实时定位所述智能游标,获取所述智能游标的实时位置信息,基于所述位置信息对所述第一处理数据进行标记,获得带有游标实时位置标记的第一处理数据作为实时状态信息。
3.根据权利要求1所述的语法纠错方法,其特征在于,在根据所述实时状态信息采用纠错模型确定所述智能游标的动作数据,包括以下:
采用神经网络对所述实时状态信息进行映射处理,获得第一数据;
对所述第一数据进行元素平均处理,获得第二数据;
采用深度强化学习模型对所述第二数据进行处理,确定所述智能游标动作数据。
4.根据权利要求1所述的语法纠错方法,其特征在于,在根据所述实时状态信息确定所述智能游标的动作数据前,对所述纠错模型进行训练,包括以下:
获取训练样本,采用神经网络对所述训练样本处理,获取样本处理数据;
采用深度强化学习模型中动作网络和状态网络对训练样本处理数据进行处理,获得初始动作策略和值函数;
基于所述初始动作策略和值函数采用损失函数处理获得样本动作数据;
采用编译器对所述样本动作数据进行编译,根据编译结果获得奖惩数据;
基于所述奖惩数据对所述纠错模型中的损失函数和参数进行调整,再次处理,直至完成训练过程,获得训练后的纠错模型。
5.根据权利要求4所述的语法纠错方法,其特征在于,所述根据编译结果获得奖惩数据,包括以下:
从预设数据库中获取历史错误数量,根据编译结果获得编译后的错误数量;
基于所述历史错误数量和编译后的错误数量判断错误数量是否增加;
若是,则奖惩数据为负向惩罚;若不是,则奖惩数据为正向惩罚;
在获得惩罚数据后采用所述编译后的错误数量更新所述历史错误数量并存储在所述预设数据库中。
6.根据权利要求1所述的语法纠错方法,其特征在于,所述基于所述动作数据采用所述智能游标对所述初始文本进行处理,包括以下步骤:
基于所述动作数据获取对应的数据类型;
当所述数据类型为编辑数据,根据所述动作数据对所述初始文本进行编辑,并基于所述智能游标的位置信息更新所述实时状态信息;
当所述数据类型为导航数据,根据所述动作数据移动所述智能游标并基于所述智能游标的位置信息更新所述实时状态信息。
7.根据权利要求1所述的语法纠错方法,其特征在于,在对所述初始文本进行处理后,且获得目标文本前,还包括以下步骤:
获取所述智能游标的当前位置信息,基于所述位置信息判断所述智能游标是否处于所述初始文本尾部;
若是,则基于被处理后的初始文本获得目标文本,将所述目标文本上传至区块链;
若否,则根据实时状态信息再次确定智能游标的动作数据。
8.一种语法纠错装置,其特征在于,包括:
预处理模块,用于获取初始文本,在所述初始文本预设位置插入可执行动作的智能游标;
状态获取模块,用于对所述带有智能游标的初始文本进行实时状态标记,获得实时状态信息;
动作确定模块,用于根据所述实时状态信息确定所述智能游标的动作数据;
动作执行模块,用于基于所述动作数据采用所述智能游标对所述初始文本进行处理,获得目标文本。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述语法纠错方法的步骤。
10.一种计算机可读存储介质,其包括多个存储介质,各存储介质上存储有计算机程序,其特征在于,所述多个存储介质存储的所述计算机程序被处理器执行时共同实现权利要求1至7任一项所述语法纠错方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010752813.1A CN111897535A (zh) | 2020-07-30 | 2020-07-30 | 语法纠错方法、装置、计算机系统及可读存储介质 |
PCT/CN2020/118197 WO2021174823A1 (zh) | 2020-07-30 | 2020-09-27 | 语法纠错方法、装置、计算机系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010752813.1A CN111897535A (zh) | 2020-07-30 | 2020-07-30 | 语法纠错方法、装置、计算机系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897535A true CN111897535A (zh) | 2020-11-06 |
Family
ID=73182599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010752813.1A Pending CN111897535A (zh) | 2020-07-30 | 2020-07-30 | 语法纠错方法、装置、计算机系统及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111897535A (zh) |
WO (1) | WO2021174823A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114664121B (zh) * | 2022-03-23 | 2024-01-09 | 合肥置顶信息技术有限公司 | 一种可智能纠错的民航气象观测制作发布系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019085779A1 (zh) * | 2017-11-01 | 2019-05-09 | 阿里巴巴集团控股有限公司 | 机器处理及文本纠错方法和装置、计算设备以及存储介质 |
US20190215545A1 (en) * | 2016-09-30 | 2019-07-11 | Rovi Guides, Inc. | Systems and methods for correcting errors in caption text |
CN110162767A (zh) * | 2018-02-12 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 文本纠错的方法和装置 |
CN110969012A (zh) * | 2019-11-29 | 2020-04-07 | 北京字节跳动网络技术有限公司 | 文本纠错方法、装置、存储介质及电子设备 |
CN111310447A (zh) * | 2020-03-18 | 2020-06-19 | 科大讯飞股份有限公司 | 语法纠错方法、装置、电子设备和存储介质 |
CN111310473A (zh) * | 2020-02-04 | 2020-06-19 | 四川无声信息技术有限公司 | 文本纠错方法及其模型训练的方法、装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199831B (zh) * | 2014-07-31 | 2017-10-24 | 深圳市腾讯计算机系统有限公司 | 信息处理方法及装置 |
CN105550171B (zh) * | 2015-12-31 | 2018-10-16 | 北京奇艺世纪科技有限公司 | 一种垂直搜索引擎的查询信息纠错方法和系统 |
US11061805B2 (en) * | 2018-09-25 | 2021-07-13 | International Business Machines Corporation | Code dependency influenced bug localization |
CN110362310A (zh) * | 2019-03-19 | 2019-10-22 | 南京大学 | 一种基于不完全抽象语法树的代码语法错误修复方法 |
CN110502754B (zh) * | 2019-08-26 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 文本处理方法和装置 |
-
2020
- 2020-07-30 CN CN202010752813.1A patent/CN111897535A/zh active Pending
- 2020-09-27 WO PCT/CN2020/118197 patent/WO2021174823A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190215545A1 (en) * | 2016-09-30 | 2019-07-11 | Rovi Guides, Inc. | Systems and methods for correcting errors in caption text |
WO2019085779A1 (zh) * | 2017-11-01 | 2019-05-09 | 阿里巴巴集团控股有限公司 | 机器处理及文本纠错方法和装置、计算设备以及存储介质 |
CN110162767A (zh) * | 2018-02-12 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 文本纠错的方法和装置 |
CN110969012A (zh) * | 2019-11-29 | 2020-04-07 | 北京字节跳动网络技术有限公司 | 文本纠错方法、装置、存储介质及电子设备 |
CN111310473A (zh) * | 2020-02-04 | 2020-06-19 | 四川无声信息技术有限公司 | 文本纠错方法及其模型训练的方法、装置 |
CN111310447A (zh) * | 2020-03-18 | 2020-06-19 | 科大讯飞股份有限公司 | 语法纠错方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
徐军 等: "文件修正系统的设计与实现", 计算机工程与设计, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021174823A1 (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977014B (zh) | 基于区块链的代码错误识别方法、装置、设备及存储介质 | |
CN113064586B (zh) | 一种基于抽象语法树增广图模型的代码补全方法 | |
CN109740760B (zh) | 文本质检自动化训练方法、电子装置及计算机设备 | |
WO2019075967A1 (zh) | 企业名称识别方法、电子设备及计算机可读存储介质 | |
CN111159982B (zh) | 文档编辑方法、装置、电子设备及计算机可读存储介质 | |
CN112052305A (zh) | 信息提取方法、装置、计算机设备及可读存储介质 | |
Hajipour et al. | Samplefix: Learning to correct programs by sampling diverse fixes | |
CN115981615A (zh) | 融合语言模型与知识图谱的g代码生成方法及相关设备 | |
US20080127130A1 (en) | Compiler Option Consistency Checking During Incremental Hardware Design Language Compilation | |
CN111897535A (zh) | 语法纠错方法、装置、计算机系统及可读存储介质 | |
CN113296755A (zh) | 代码结构树库构建方法和信息推送方法 | |
CN112363465B (zh) | 一种专家规则集训练方法、训练器和工业设备预警系统 | |
CN116798053B (zh) | 图标生成方法及装置 | |
CN111401394B (zh) | 一种图像标注方法及装置、计算机可读存储介质 | |
CN116976640A (zh) | 自动化业务生成方法、装置、计算机设备及存储介质 | |
CN115238653A (zh) | 一种报告生成方法、装置、设备和介质 | |
CN112287005B (zh) | 一种数据处理方法、装置、服务器及介质 | |
CN111930730B (zh) | 基于人工智能和大数据的数据解析方法及区块链服务平台 | |
CN114637268A (zh) | 一种基于人工智能的工业生产控制方法、系统及云平台 | |
CN115905698B (zh) | 基于人工智能的用户画像分析方法及系统 | |
KR102613915B1 (ko) | 함수 및 매개변수의 명칭을 자동으로 변경하는 방법, 장치 및 프로그램 | |
CN117035694B (zh) | Bim的系统管理方法、装置和计算机设备 | |
CN117950909A (zh) | 用于恢复数字孪生数据库的一致性的方法和系统 | |
CN111159013B (zh) | 一种代码质量的评估方法及装置 | |
US20230393817A1 (en) | Machine-Learned Models for Generating Code Snippets with Predicted Placeholders for Optimizing Software Development |
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 |