一种问题生成方法与流程

文档序号:16088190发布日期:2018-11-27 22:41阅读:1495来源:国知局

本发明属于人工智能领域,特别涉及一种问题生成方法。



背景技术:

自从二十世纪八十年代以来,人工智能领域的研究开始成为热点,主要体现在机器人、语言识别、图像识别、自然语言处理等研究领域。其中,自然语言处理研究的内容也逐渐丰富,机器翻译、自动文摘的准确度已经达到相当高的水平。目前,信息检索中的高级检索,即问题生成,还有很大的研究空间。人工智能中主要用到一些人工神经网络,其优势在于不需要事先确定输入输出之间的映射关系,仅仅通过训练,让其学习特征,在学习后,给定某一输入值后能够得到最接近期望输出值的结果。神经网络作为一种智能的处理各种信息的系统,算法是其实现功能的核心。误差逆向传播(back propagation,BP)神经网络是一种逆向传播训练的前溃网络,这个算法的基本思想是利用梯度下降法,以实现网络的实际输出值和期望输出值的误差均方差最小。

另外,基于神经网络的问题生成技术具有重要研究意义。首先,基于网络的问题生成,能够对文本进行识别,识别后生成各种问题,可以将此方法运用到阅读理解中的相关问题的设定的情景下,也可以将此技术应用于各种场景,如可以用在财务部门的相关系统中,可以应用在网上客服系统中,以及其他业务中,以期达到满足对不同行业需求的、实时的服务。其次,由于目前已经成为大数据时代,每天的数据量远远不是人工能处理的,如果采用传统的方式,即问题生成的方式是人工的,或者是通过写好的数据库进行匹配的,比较消耗人力,会带来极大的人力物力资源的开销,由于大部分问题生成都是通过匹配以及基于问题模板生成即一定的规则得到的,所以得到的问题结果在时间上也会相应滞后。而采用基于神经网络的问题生成比较节省人力,并且生成问题所需要的时间比较短,提高效率。

现有的问题生成技术,只能通过特定任务的问题序列,此序列是一个个问题描述,将问题发送给用户。然而这些问题不是自动生成的问题,相当于已经存在的现有的知识库组成的。因此,在复杂的环境中,基于这种特征的生成方法是不具有灵活性的,而且前期知识库的收集也比较费时费力,在技术的适用性上有限。



技术实现要素:

为了解决现有技术中,生成的问题呆滞不灵活的问题,本发明提出了一种问题生成方法,通过误差逆向传播算法,即在进行训练学习的过程中,由信号正方向的传播和逆向的误差传播两部分组成,一直重复此过程直到BP网络输出的误差在可以接受的范围,保证了问题生活的质量。

一种问题生成方法,包括以下步骤:

步骤1,对文本文档进行分词;

步骤2,将分词后的文本文档转换为向量;

步骤3,构建BP神经网络,输入向量,基于误差逆向传播算法对所述BP神经网络进行训练;

步骤4,当所述BP神经网络的误差小于预设误差阈值时,所述BP神经网络训练完成,得到问题生成网络模型。

进一步地,所述步骤1中,应用jieba分词算法对文本文档进行分词。

进一步地,所述步骤2中,应用word2vec模型将分词后的文本文档转换为向量。

进一步地,所述步骤2中,应用skip-gram模型将分词后的文本文档转换为向量。

进一步地,所述步骤4包括以下流程:

步骤41,判断所述BP神经网络的误差是否小于预设误差阈值;

步骤42,当所述BP神经网络的误差不小于预设误差阈值时,更新所述BP神经网络中的权值,对所述BP神经网络训练进行训练;

步骤43,当所述BP神经网络的误差小于预设误差阈值时,保存所述BP神经网络中的参数,得到问题生成网络模型。

本发明的有益效果:本发明提供了一种问题生成方法,在将文本文档进行分词后,将其转换为终端能够处理的向量的形式,把向量输入至逆向传播神经网络中对网络进行训练,直到BP网络输出的误差在阈值以内才完成训练,保证了问题生成的质量;且将逆向传播神经网络应用于问题生成中,实现了自动非数据库匹配的问题生成,使问题生成更加灵活,适用性更广。

附图说明

图1为本发明实施例的流程图。

图2为本发明的BP神经网络的结构示意图。

图3为本发明实施例的另一流程图。

具体实施方式

下面结合附图对本发明的实施例做进一步的说明。

请参阅图1,本发明提供的一种问题生成方法,具体如下:

步骤1,对文本文档进行分词。

本实施例中,将文本文档中的句子、文字段中的词语分开,遇到回车以及制表符号变为空格。

本实施例的优选实施例中,利用jieba分词技术进行分词,优选的,选用jieba库中的cut方法。

步骤2,将分词后的文本文档转换为向量。

本实施例中,将分词后的文本文档转换为计算机等终端能识别处理的多维向量空间中的向量的形式,其向量的相似程度就可以近似表示为文档中的语句的语义相似性。

本实施例的优选实施例中,选用gensiom库进行向量处理。由于gensiom是一个可以用来从文档中自动提取句子的语义主题的库,致力于使最初的、无结构的文本文档进行转换,所以使用此库进行向量的操作,此库中有word2vec方法,先利用此方法加载预料,然后训练skip-gram模型,初始化向量维度的大小,调用转换成向量的方法,输出模型就得到相应的向量。而使用word2vec的优点是该方法高效精确。

步骤3,构建BP神经网络,输入向量,基于误差逆向传播算法对所述BP神经网络进行训练。

请参阅图2,BP神经网络如图所示。

本实施例中,构建BP神经网络后,输入步骤2中得到的向量,对网络进行训练。

本实施例中,i1和i2表示接收输入的神经元,h1和h2表示隐含层的神经元,o1和o2表示输出层的神经元,从i1到h1、h2的权值分别为w1、w3,从i2到h1、h2的权值分别为w2、w4,从h1到o1、o2的权值分别为w5、w7,从h2到o1、o2的权值分别为w6、w8,b1和b2为偏差项,先计算前向传播过程,输入层到隐含层的加权和,表示为

Sh1=i1*w1+i2*w2+b1

同理可得

Sh2=i1*w3+i2*w4+b1

在该层通过sigmoid函数进行处理,如下:

同理,可求出神经元h2的输出Oh2

计算隐含层到输出层的加权和,即输出层神经元的加权和:

同理,可求出

同理,在该层需要通过sigmoid函数进行处理,求得输出层的输出,如下:

o1的误差为

其中,为标准误差,乘是因为后续要对其进行求导,为了消去求导后的系数2。同理,求得神经元o2的误差

总误差为

在前向传播过程中,输入的各个样本经过输入层传入,再经过各个隐含层逐一处理,传到输出层。因此,先计算第一个神经元的输入的加权和再加上偏置项,其中各层的权重值是随机初始化的,同理依次对输入层的所有的节点进行计算,由于细胞有两种状态:激活和抑制,如果使用函数值为0和1的阶梯函数,这种操作显得比较粗暴,因为这样的函数不连续,而且不可导,一般细胞在激活和抑制的时候是有个取值范围的,所以选用非线性的连续的sigmoid函数对权值和进行非线性的运算,并且将其运算的结果作为第一个神经元的输出,同理计算此列的所有神经元的输出;接下来计算输出层神经元的各个输出,方法是用上一层的输出权值和,再加上相应的偏置即可,最后再对权值和通过sigmoid函数计算即得到输出一的值,同理可以计算该层余下所有节点的输出,得到输出后可计算出总体误差。

步骤4,当所述BP神经网络的误差小于预设误差阈值时,所述BP神经网络训练完成,得到问题生成网络模型。

请参阅图3,步骤4通过以下流程实现:

步骤41,判断所述BP神经网络的误差是否小于预设误差阈值。

本实施例中,预设误差阈值设置为0.01,也可以为其他值。

步骤42,当所述BP神经网络的误差不小于预设误差阈值时,更新所述BP神经网络中的权值,对所述BP神经网络训练进行训练。

本实施例中,当误差超过预设误差阈值时,基于误差逆向传播算法更新网络中的权值,重新训练网络。

计算每个权值对总误差的影响程度,以w5为例,用总误差对前一层到该层的权值进行求偏导数,得到

由于Et是的函数,是的函数,是w5的函数,故采用链式求导法进行求导,有

更新后的w5为w5*

其中,η为学习率,同理,可求得隐含层和输出层间权值w6、w7、w8的更新的值。

计算总误差对输入层和隐含层之间权值的偏导,与隐含层与输出层之间权值更新过程相比,隐含层的输出的误差来源于两个输出,故在求导过程中需分别求出和相加后再利用链式法则求导。更新w1、w2、w3、w4的值后,网络再进行前向传输计算,将误差与预设误差阈值进行比较。

误差逆向的过程中,首先计算第一轮输出结果的误差,计算的方式采用残差平方和,为了求导后能消去系数方便计算,所以在计算误差的时候乘二分之一。按照同样的方法分别计算输出层其它节点的误差,总的误差为各个节点的误差之和,再通过总误差,计算对前面一层的影响大小,即需要求总误差对前一层的权值的偏导数,由于权值不是误差的直接变量,所以要根据数学中的链式求导法则逐一进行求导,在这个计算的过程中便能体现向后传播的实质思想,此误差很重要,是后面更新权值的依据;计算出整体误差对前一层的权值的误差后,更新此节点的权值,用当前的权值减去学习率(一般取在0到1之间)与偏导的乘积,其偏导可能为负值,同理更新该输出层剩余节点的权值,同时也要注意求偏导的时候,中间层的误差可能是来自于后面一层很多节点,所以要分别计算误差再进行求和;然后以类似的方法计算出隐含层的各个节点权值的更新,这就是误差的逆向传播的整个过程。

步骤43,当所述BP神经网络的误差小于预设误差阈值时,保存所述BP神经网络中的参数,得到问题生成网络模型。

本实施例中,当网络中误差小于预设误差阈值时,表明该网络的输出已达到预设要求,保存网络中的参数,即权值的取值,得到生成问题的网络模型。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

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