基于神经网络解答语法填空题的方法、装置和终端设备与流程

文档序号:16402090发布日期:2018-12-25 20:11阅读:157来源:国知局
基于神经网络解答语法填空题的方法、装置和终端设备与流程

本申请涉及人工智能技术领域,特别涉及基于神经网络解答语法填空题的方法、装置和终端设备。

背景技术

随着科学技术的日益进步,人工智能技术也已经开启新的发展阶段,目前与人工智能相关的技术及产品已经参与到教育、医疗、家庭等方法面面。以教育为例,人工智能在同声传译、语音识别等方面皆取得了令人欣喜的科研成果。

然而,对于文本类的识别及处理,例如利用机器解答现有的文本类题目,目前还没有发现利用人工智能技术实现的相关方法及设备。为了填补现有技术中一直通过使用人脑智力解答文本类的题目的缺陷和空白,避免人脑解题过程中的出现准确率不稳定的技术问题,急需研发出机器答题的方法。



技术实现要素:

有鉴于此,本申请实施例提供基于神经网络解答语法填空题的方法、装置和终端设备,以解决现有技术中存在的技术缺陷。

本申请实施例公开了基于神经网络解答语法填空题的方法,包括:

获取包含语法填空题的英文文本;

根据英文文本,按照预设的语法规则生成候选答案;

根据预先训练得出的神经网络模型,从候选答案中筛选出正确答案。

较佳地,该包含语法填空题的英文文本,包括:

获取带有示词的填空题,和/或

获取不带有提示词的填空题。

基于同一发明构思,本申请实施例还公开了基于神经网络解答语法填空题的装置,包括:

文本获取模块,用于获取包含语法填空题的英文文本;

候选答案生成模块,用于根据英文文本,按照预设的语法规则生成候选答案;

正确答案筛选模块,用于根据预先训练得出的神经网络模型,从候选答案中筛选出正确答案。

基于同一发明构思,本申请实施例还公开了一种终端设备,包括:

存储器;

处理器,与存储器电连接;

至少一个程序,存储于存储器中,被配置为由处理器执行时实现本申请实施例公开的基于神经网络解答语法填空题的方法。

基于同一发明构思,本申请实施例还公开了一种计算机存储介质,该存储介质上存储有与本申请实施例公开的基于神经网络解答语法填空题的方法所对应的计算机程序。

本申请提供基于神经网络解答语法填空题的方法、装置和终端设备,通过根据英文文本,按照预设的语法规则生成候选答案,根据预先训练得出的神经网络模型,从候选答案中筛选出正确答案。本申请实例利用人工智能技术完成原本由人脑智力才能解答的语法填空题目,填补了现有技术中一直通过使用人脑智力解答文本类的题目的缺陷和空白,同时也避免人脑解题过程中的出现准确率不稳定的技术问题。节省人工完成语法填空的解题成本,加快解题速度。

附图说明

图1是本申请实施例的基于神经网络解答语法填空题的方法的主要流程示意图。

图2-1是本申请实施例的一个语法填空题解答前的样例示意图;

图2-2是本申请实施例的一个语法填空题正确解答后的样例示意图;

图3是本申请实施例的神经网络模型的训练方法的一个实例示意图;

图4是本申请实施例的神经网络模型的整体架构示意图;

图5是本申请实施例的神经网络模型中包含k个过滤器的卷积模块的实例图;

图6是本申请实施例的神经网络模型中输出层的网络架构示意图;

图7是本申请实施例的基于神经网络解答语法填空题的装置结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请中,提供了基于神经网络解答语法填空题的方法、装置、终端设备以及可读存储介质,在下面的实施例中逐一进行详细说明。

图1是本申请实施例的基于神经网络解答语法填空题的方法的主要流程示意图。图1示出了本申请实施例基于神经网络解答语法填空题的方法主要包括以下步骤:

s101,获取包含语法填空题的英文文本。

s102,根据英文文本,按照预设的语法规则生成候选答案。

s103,根据预先训练得出的神经网络模型,从候选答案中筛选出正确答案。

其中,步骤s101和步骤s102中涉及到的包含语法填空题的英文文本,包括多种类型:一种是带有提示词的填空题,另一种是不带有提示词的填空题,第三种是既存在带有提示词、也存在不带有提示词的填空题。本申请实施例提供的基于神经网络解答语法填空题的方法,能够解答多种类型的语法填空题,使得该方法所实施的题目对象涵盖了目前大部分英文文本的填空题类型,实现了较大程度地节省人力成本的良好技术效果。

图2-1是本申请实施例的一个语法填空题解答前的样例示意图。

如图2-1所示,文本中有一部分单词缺失,部分缺失单词会给出答案词的变形词,参见图2-1中下划线(也可理解为空格)后面括号里面的内容。文本中另一部分缺失单词则不给提示。在实际测试时,语法填空题在得到正确解答之前,图2-1中的下划线(也可理解为空格)上面的单词是不提供给被测试人员的。可见,图2-1中的样例就属于第三种类型,既存在带有提示词、也存在不带有提示词的填空题。

步骤s102中根据英文文本,按照预设的语法规则生成候选答案,具体包括如下步骤:

首先,判断包含语法填空题的英文文本的解题类型。

然后,若判断出待解答的填空题是带有第一类提示词的填空题,则按照预设的英文单词的词形变化规则,确定与第一类提示词相对应的至少一组候选答案。或者,若判断出待解答的填空题是带有第二类提示词的填空题,则将第二类提示词,与预先获取的辞典中的词表相比对,根据比对结果,确定与第二类提示词相对应的至少一组候选答案。

本申请实施例根据提示词的不同类型,将待解答的填空题划分为第一类提示词和第二类提示词,且分别对应有不同的解题步骤。这种分类处理的设计使得本申请实施例的基于神经网络解答语法填空题的方法能够有针对性、高效地处理填空题目,进一步提高了解题效率和准确率。

需要说明的是,本申请实施例中的第一类提示词是指能够通过使用预设的语法规则,例如英语单词的词形变化规则,生成对应的候选答案的提示词。这些候选答案可以是词汇、短语或者词汇与短语的合集。

例如:对于单词normal,通过使用预设的语法规则,对其应用添加前缀”ab-”(“normal”变成”abnormal”),添加后缀“-ly”(“normal”变成“normally”),添加助动词“is”(“normal”变成“isnormal”)等等。在这一步骤并不约束第一类提示词在这些规则下所生成的单词必须为合法单词,因为后续可以通过预先获得的辞典过滤掉非合法单词。

第二类提示词是指无法通过预设的语法规则直接变形的单词。如:“eat”变成“ate”),此时选择使用预先获得的辞典中的词表来解决。

对于不带提示词的空,我们统计了95个最常见的用来填空的单词,如“a”,“he”,“she”,“what”,“that”,“when”等等。这95个单词来充当候选答案词汇。

若判断出待解答的填空题是不带有提示词的填空题,则将预先统计出的至少一组高频词汇,作为与不带有提示词的填空题相对应的候选答案。

预先统计出高频词汇,有利于基于历史经验,快速准确地获得候选答案,进一步提高了解题效率和准确率。

最后,利用辞典过滤掉非合法单词和低频单词。

图2-2是本申请实施例的一个语法填空题正确解答后的样例示意图。如图2-2所示,正确解答后的语法填空题的下划线(也可理解为空格)所在位置的单词或短语的空缺已经被正确答案填补上,形成语义连贯的文本。

图3是本申请实施例的神经网络模型的训练方法的一个实例示意图。

本申请实施例中涉及的神经网络模型通过如下步骤进行训练:

s301,输入多组英文单词样本、符号样本以及答案样本。

s302,生成表征英文单词样本、符号样本及答案样本的特征向量。

步骤s302中,生成表征英文单词样本、符号样本及答案样本的特征向量,具体包括:

通过查询预先获得的词向量表,建立英文单词样本、答案样本与词向量表之间的映射关系,词向量表是指用于表征英文单词样本、答案样本与实数的向量之间的映射关系的表,这是由于计算机无法直接识别英文单词样本和答案样本,需要将英文单词样本转换为能够令计算机接受的数字,这里称作单词向量。

将英文单词样本和答案样本转化为用实数数字表示的机器语言,能够使得计算机在接收英文文本之后,高效率地处理英文文本。

根据映射关系,确定每个英文单词样本、答案样本的单词向量。

确定出符号样本中可表征空格的空格向量。

s303,输入特征向量,利用预设的算法,计算并输出表征英文单词样本、符号样本之间的对应关系集合。

具体包括:根据单词向量,利用预设的算法,将多个单词向量相融合,获得融合后的可表征填空题的多维特征向量。

建立多维特征向量与空格特征向量之间的对应关系集合。

建立多维特征向量与空格特征向量之间的对应关系集合,有利于从中筛选出符合要求的对应关系,进一步有利于提高解题效率和准确率。

s304,基于答案样本与对应关系集合训练神经网络模型,该神经网络模型输出对应关系集合与答案样本之间的相关度。

预先通过上述步骤训练处神经网络模型,避免了每次实施该方法时都要对相应处理过程建模,一次建模,多次复用的筛选工具,有利于提高解题效率高、提高解题准确率。

至此,本申请实施例中涉及到的神经网络模型已经建立并完成训练任务,接下来即可以利用该神经网络模型的输出结果,从候选答案中筛选出正确答案,具体包括:基于所述神经网络,获得每个候选答案是正确答案的概率,筛选出概率大于预设阈值的候选答案,作为正确答案。

下面结合图4介绍本申请实施例的神经网络模型的整体架构示意图。

图4自下而上依次设置有输入层,处理层和输出层。图4中的神经网络模型可以看做是训练过程中的神经网络模型,也可以看做是训练任务完成后,投入应用的神经网络模型。因此,输入层(图4的最下部)可以理解为输入的是英文单词样本和带有空格的符号样本,也可以理解为输入的是英文单词和空格。

图4中“__”表示的是要填的空。“convblock,128,n”表示的是一个输出128维度的卷积模块,其中每个输出维度对应有相应长度的单词序列,其中n是输入的单词序列的长度,n为正整数。“lm”是“languagemodel”(语言模型)的缩写。

图4中可以采用卷积神经网络,卷积神经网络可以观测一个窗口内的单词,卷积网络越深,可观测的窗口越大,卷积神经网络网络可以借此学习结合上下文的词向量。需要把需要填入空格位置的词向量(图4中lmoutput)与卷积的输出通过“skipconnection”拼在一起传输至输出层,用以明确地使得卷积神经网络感知到需要填的是哪个空格,进而加速网络的收敛。这里的skipconnection代表一种跳跃式传递。skipconnection将从输入层接收来的浅层的、位置信息精细的信息传递到深层的、位置信息粗糙的神经元上,以实现获得准确的语义信息和精细的位置信息。图4示出了在传输过程中,自输入层至输出层方向,逐层降低数据维度。如此设计,是因为考虑到降低了数据维度,能够有效地避免了过拟合现象的发生。

例如:预先准备一下带有答案的语法题空题目,用wi,i∈[1,n]来表示输入的问题文本,用“#__#”来表示需要填的空。开始训练图4中的神经网络。具体训练过程如下,其中

首先,通过查询词向量表,将wi转换为单词的向量表示ei,i∈[1,n]。peoplewereusing__everyday.

w1:people

w2:were

w3:using

w4:__

w5:every

w6:day

w7:.

然后,这些单词向量表示通过一个双向的lstm网络从而得到融合了上下文信息的单词向量表示。融合了上下文的单词向量表示通过一个卷积网络(convolutionalneuralnetworks)得到输入文本的一个向量表示hc。然后再把hc与输入”#__#”对应的单词向量hlm拼起来,得到[hc;hlm]。

需要说明的是,hlm代表要填的空的多维特征向量。为了表示方便,本实例中的hc,hlm是自定义的符号,分别代表着卷积输出和要填的空的特征向量。

例如:hc是”peoplewereusing__everyday.”这句英文句子通过卷积网络后得到的特征向量。

hlm是要填的空“__”的特征向量。

图5介绍了本申请实施例的神经网络模型中包含k个过滤器的卷积神经网络的卷积模块的一个实例。图5中展示的是有k个过滤器(filters)的卷积模块。其中,n是输入的单词序列的长度,n为正整数。“bn”是“batchnormalization”(批量归一化)的缩写。k1,k2表示过滤器filter的个数是两个。图5示出的卷积模块有max-pooling层,该层包括神经元的最大值(max-pooling)。

“residualconnection”含义是指把下层获得的特征向量拼接到上层的输出向量后面。“bn+relu”表示的是本层包涵了bn处理和relu两个操作。

首先,经由第一个过滤器k1、且输入长度为n的英文单词,经由conv()函数计算出英文单词对应的向量的卷积和多项式乘法,并将经由第二个过滤器k2、且输入长度为n的英文单词作为处理结果输出。conv()函数是用于计算向量的卷积和多项式乘法。

在卷积层后面紧接着是一个relu层,relu(rectifiedlinearunits)表示激活函数。多次经relu层处理后,逐层降低数据维度。如此设计,是因为考虑到降低了数据维度,能够有效地避免了过拟合现象的发生。

最后,[hc;hlm]被传输至输出层。图6是本申请实施例的神经网络模型中输出层的网络架构示意图。

输出层的架构如图6所示,图6的输出层包含一个n-waysoftmax层(该层设置有n-路softmax函数)。softmax函数用于将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解。

左侧送入的“amgoing”,“went”,“hasbeengoing”等是系统经根据提示词的不同类型,将待解答的填空题划分为第一类提示词和第二类提示词,且分别对应有不同的解题步骤,处理得到的候选词汇。这些候选词汇所对应的单词向量是通过一个双向的lstm网络,能够表征融合了上下文信息的候选词汇的单词向量,称作双向交互。

这些候选词汇经过lstm编码,与上述图5中展示的含有k个过滤器(filters)的卷积模块处理后的输出结果[hc;hlm]计算相关度,从而得到每个候选词是答案的概率。

基于同一发明构思,本申请实施例还公开了基于神经网络解答语法填空题的装置70,图7是本申请实施例的基于神经网络解答语法填空题的装置结构示意图。如图7所示,该装置70包括:文本获取模块701、候选答案生成模块702和正确答案筛选模块703。其中,

文本获取模块701,用于获取包含语法填空题的英文文本。

候选答案生成模块702,用于根据英文文本,按照预设的语法规则生成候选答案。

正确答案筛选模块703,用于根据预先训练得出的神经网络模型,从候选答案中筛选出正确答案。

较佳地,该文本获取模块701包括:第一获取子模块,用于获取带有提示词的填空题,以及第二获取子模块,用于获取不带有提示词的填空题。

较佳地,候选答案生成模块702包括:解题类型判断模块,用于判断包含语法填空题的英文文本的解题类型,以及候选答案生成模块包括第一生成子模块,用于当解题类型判断模块判断出待解答的填空题是带有第一类提示词时,按照预设的英文单词的词形变化规则,确定与第一类提示词相对应的至少一组候选答案。

候选答案生成模块702还包括第二生成子模块,用于当解题类型判断模块判断出待解答的填空题带有第二类提示词时,将第二类提示词与预先获取的辞典中的词表相比对,根据比对结果,确定与第二类提示词相对应的至少一组候选答案。

基于同一发明构思,本申请实施例还公开了一种终端设备,包括:

存储器;

处理器,与存储器电连接;

至少一个程序,存储于存储器中,被配置为由处理器执行时实现本申请实施例公开的基于神经网络解答语法填空题的方法。

本申请实施例的终端设备所包含的部件包括但不限于存储器和处理器,还可以包括网络接口,网络接口使得终端设备能够经由一个或多个网络通信。这些网络的示例包括局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。网络接口可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。

终端设备可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。终端设备还可以是移动式或静止式的服务器。

基于同一发明构思,本申请实施例还公开了一种计算机存储介质,该存储介质上存储有与本申请实施例公开的基于神经网络解答语法填空题的方法所对应的计算机程序。

所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

本申请提供基于神经网络解答语法填空题的方法、装置和终端设备,通过根据英文文本,按照预设的语法规则生成候选答案,根据预先训练得出的神经网络模型,从候选答案中筛选出正确答案。本申请实例利用人工智能技术完成原本由人脑智力才能解答的语法填空题目,填补了现有技术中一直通过使用人脑智力解答文本类的题目的缺陷和空白,同时也避免人脑解题过程中的出现准确率不稳定的技术问题。节省人工完成语法填空的解题成本,加快解题速度。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1