CN107506823A - 一种用于对话生成的混合神经网络模型的构建方法 - Google Patents
一种用于对话生成的混合神经网络模型的构建方法 Download PDFInfo
- Publication number
- CN107506823A CN107506823A CN201710725762.1A CN201710725762A CN107506823A CN 107506823 A CN107506823 A CN 107506823A CN 201710725762 A CN201710725762 A CN 201710725762A CN 107506823 A CN107506823 A CN 107506823A
- Authority
- CN
- China
- Prior art keywords
- vocabulary
- generation
- digital
- sentence
- list
- 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
Links
- 238000010276 construction Methods 0.000 title claims abstract description 17
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 17
- 230000000306 recurrent effect Effects 0.000 claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 claims abstract description 35
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 23
- 238000003780 insertion Methods 0.000 claims abstract description 21
- 230000037431 insertion Effects 0.000 claims abstract description 21
- 230000007935 neutral effect Effects 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 20
- 230000000977 initiatory effect Effects 0.000 claims description 15
- 238000003062 neural network model Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 11
- 239000000203 mixture Substances 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 210000002569 neuron Anatomy 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000001537 neural effect Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 239000012141 concentrate Substances 0.000 claims description 2
- 238000000205 computational method Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 12
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 239000011248 coating agent Substances 0.000 description 3
- 238000000576 coating method Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种用于对话生成的混合神经网络模型的构建方法,包括以下步骤:获取形式为对话语句对的数据集并构建词汇表;生成词嵌入表;初始化特定结构的卷积神经网络,生成对应输入语句的词汇推荐表,判断是否提供了真实输出,若有提供则训练本步中的卷积神经网络的参数;初始化特定结构的循环神经网络,使用上步输出,生成具有语序的词汇标识列表,判断是否提供了真实输出,若有提供则训练本步中的循环神经网络的参数;训练结果满足设定指标后,保存词汇表和词嵌入表,保存卷积神经网络和循环神经网络的参数,即为构建整个模型完毕。本发明解决现有的神经网络对话模型因词汇表长度过大导致的训练速度慢、准确率低、生成语句一般化等问题。
Description
技术领域
本发明涉及人工智能、神经网络与自然语言处理领域,具体是一种用于对话生成的混合神经网络模型的构建方法。
背景技术
在自然语言处理领域,对话生成一直是广受关注同时又颇具难度的课题。在人工智能领域,机器能否像人一样使用自然语言进行对话是判定人工智能是否强大的重要标准之一。在神经网络广泛应用之前,对话生成任务的主要方法依赖于统计方法和检索方法,不仅受限于特定领域,而且在大部分任务中需要人为设置规则进行导向。在神经网络出现后,尤其是卷积神经网络在图像处理领域广泛应用和循环神经网络在文本处理领域取得优秀成果之后,将神经网络用于对话生成也成为了热点研究项目。相对于传统的统计方法、检索方法和制定规则方法,利用神经网络进行对话生成所受的限制更低,可以在任意数据集上进行学习,并且可以取得充分拟合后的优良效果。即使使用特定领域数据集,或者数据集包含大量噪声,神经网络模型依然能够从数据集中抽取知识。并且随着多种深度学习框架的开发和开源,如TensorFlow和PyTorch等,编写神经网络模型也变得更为简易,从而进一步推动了将神经网络模型用于对话生成的热潮。
但是目前实现的多种用于对话生成的神经网络模型,并不能有效地解决对话生成任务中的诸多问题。使用神经网络模型进行对话生成,难以避免生成的语句过于一般化的问题。因为常用语句的出现概率极高,在神经网络进行较好拟合后,使用常用语句进行回答,会使得得分较高,或造成的误差较低,故而神经网络模型用于对话生成极易陷入总是生成一句常用语句的困境。同时,在自然语言处理中,词汇作为基本组成单元,数量庞大。不同于常规处理任务中的少量类别,使用神经网络对词汇进行概率计算和选取时,一个词汇即为一个类别。在对话任务中,神经网络模型需要面临庞大的分类数量,并且类别分布不均,同时伴有罕见分类却极具价值的现象,神经网络模型难以预测此类词汇。目前的神经网络模型并没有解决上述问题,尽管已有相关模型通过随机采样的方法降低了训练时的分类数量,但是这一方法导致预测效果不理想,同时预测效果依赖于采样分布的选取。此外,现有的神经网络模型难以分割成模块,需要作为一个整体进行训练和使用,如果需要更改其中某一部分以达到一些特殊目的,改动麻烦且需要重新训练,造成已有结果的浪费。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是使用一种更为有效的采样方法,从而提升最终生成的对话的质量以及减少训练时长,同时做到分模块训练模型的不同部分,使得在满足规范的前提下,改动模块更为简易。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种用于对话生成的混合神经网络模型的构建方法,包括以下步骤:
(1)根据语句对组成的数据集,拆分语句对生成发起语句集和应答语句集,通过分词获得发起语句集以及应答语句集中每条语句的词汇,统计词汇频度,根据词汇频度构建词汇表;
(2)根据步骤(1)中构建的词汇表,将数据集、发起语句集和应答语句集使用词汇的数字标识表示;
(3)根据步骤(2)中数据集的数字标识表示,经Skip-Gram模型计算得到每个数字标识的词嵌入表示,并分别对应数字标识表示的词汇,生成词嵌入表;
(4)根据特定的卷积神经网络模型参数,初始化构建一个卷积神经网络判别器,用于判别给定语句的词汇数字标识列表作为输入后词汇表中的词汇是否出现;
(5)使用步骤(1)中的发起语句集、应答语句集和词汇表以及步骤(3)中的词嵌入表,生成以词嵌入表示的发起语句集以及对应应答语句集的词汇数字标识列表,作为步骤(4)中构建的卷积神经网络判别器的输入,训练步骤(4)中的卷积神经网络的网络参数,直到误差小于设定的阈值或训练次数多于设定的阈值;
(6)使用经过步骤(5)训练后的卷积神经网络判别器,输入步骤(1)中的发起语句集中的每条语句,生成对应的推荐词汇数字标识列表;
(7)根据特定的循环神经网络模型参数,初始化构建一个循环神经网络生成器,用于给定语句的词汇数字标识列表和对应的推荐词汇数字标识列表作为输入后,循环地生成推荐词汇数字标识列表中的词汇数字标识,并按输出次序形成词汇数字标识序列作为输出;
(8)使用步骤(1)中的发起语句集和词汇表以及步骤(6)生成的推荐数字标识列表,生成步骤(7)中的循环神经网络的输入,根据步骤(1)中的应答语句集和词汇表生成步骤(7)中的循环神经网络的目标输出,根据输入和目标输出训练步骤(7)中的循环神经网络的网络参数,直到误差小于设定的阈值或训练次数多于设定的阈值;
(9)使用步骤(1)中的词汇表、步骤(3)中的词嵌入表、步骤(4)中的卷积神经网络和步骤(7)中的循环神经网络,对输入语句进行计算,生成具有顺序的词汇的数字标识序列,并根据步骤(1)中的词汇表,将词汇的数字标识序列翻译成对应的词汇序列并输出最终结果;
(10)步骤(9)中的结果满足设定的指标后,保存整个模型的所有参数。
进一步地,所述步骤(1)中,数据集应为语句对<发起语句,应答语句>组成的集合,将数据集拆分为发起语句集<编号,发起语句>和应答语句集<编号,应答语句>,其中,原属于同一语句对的发起语句和应答语句具有相同编号。使用分词工具将原数据集拆成词汇序列<词汇1,词汇2,词汇3…词汇Nc>,Nc为一个句子的词汇数量。统计词汇的出现频度<词汇i:次数>…<词汇j:次数>,按出现频度从大到小排列,生成词汇表:<编号1,词汇x>…<编号M,词汇y>,其中M为词汇的数量,或为设置的参数值。此编号与语句编号相互独立。
进一步地,所述步骤(2)中,将数据集、发起语句集和应答语句集使用与步骤(1)中相同的分词工具,得到每句的词汇列表<词汇1,词汇2,词汇3…词汇Nc>,Nc为此句的词汇数量。查询词汇表<编号1,词汇x>…<编号M,词汇y>,将每句以词汇的数字标识即词汇编号表示:<编号i,…,编号j>。
进一步地,所述步骤(3)中,将数据集中的相邻词汇以二元组<编号i,编号j>进行表示。设置每个词汇的词嵌入长度为embedding-size,即以embedding-size维浮点数向量表示一个词汇。使用二元组作为输入,Skip-Gram模型进行计算,得到每个词汇的词嵌入表示,并存储为词嵌入表。
进一步地,所述步骤(4)中,设置模型中的卷积神经网络模型为B个子网络块和一层全连接层组成,每个子网络块中包含一层卷积层、一层激活层、一层池化层,每层卷积层具有权重Wi和偏置Bi两个可训练网络参数,其他固定参数包括卷积核大小wci*dci、卷积步长sci、池化核大小wpi*dpi、池化步长spi、随机丢弃率Pd、激活函数relu、输出通道数量Ci、固定句长Slen。全连接层包括权重Wf和偏置Bf两个可训练网络参数。不同的参数将影响训练时长和最终模型的效果。
进一步地,所述步骤(5)中,卷积神经网络输入为词嵌入表示的语句<词嵌入i,…,词嵌入j>,正确输出为0、1组成的长度为词汇表大小的向量,其中出现在应答语句中的词汇的编号的相应位置,向量取值为1,其他位置取值为0。
进一步地,所述步骤(6)中,对步骤(1)中的发起语句集中的每条语句进行预测,生成长度为词汇表大小的向量,此向量的每个位置的取值空间为(0,1),表示词汇作为应答的概率,获得概率前Nt的词汇组成推荐词汇数字标识列表并存储,Nt为设置的参数。
进一步地,所述步骤(7)中,此循环神经网络由两个具有不同网络参数的子循环神经网络组成,其中每个子循环神经网络具有Ln层神经元层,每层神经元层具有Nn个神经元,Ln和Nn为设置的参数。其中一个子循环神经网络作为编码器,将输入编码成状态state,另一个子循环神经网络以state和已输出词汇作为输入。
进一步地,所述步骤(8)中,循环神经网络生成长度为词汇表大小的向量,向量每个位置上的取值区间为(0,1),表示对应编号的词汇作为应答的概率,根据提供的正确应答组成的同大小的向量,计算输出误差,训练循环神经网络。
进一步地,所述步骤(9)的具体步骤如下:
1)初始化Ns个已输出序列为空序列;
2)使用步骤(4)中的卷积神经网络生成输入语句的推荐词汇数字标识列表;
3)计算推荐词汇数字标识列表中每个词汇的频度Fi,Fi等于Fn除以Fa,其中Fn是该词汇在给定前一个词汇的情况下的出现次数,Fa则是给定前一个词汇的情况下所有词汇的出现次数;
4)计算推荐词汇数字标识列表中每个词汇的特殊程度Si,Si等于ln(D/Ai),其中D是数据集中语句对的数量,Ai是该词汇在数据集中出现的次数;
5)对Ns个已输出序列中的每个序列Nsi,作为步骤(7)中的循环神经网络的输入,计算推荐词汇数字标识列表中每个词汇的出现概率Pa;对每个推荐词汇数字标识列表中的词汇,计算出现概率Pa乘以频度Fi乘以特殊程度Si作为此词汇的推荐程度;选择推荐程度最高的Nm个词汇,添加词汇的数字标识至序列Nsi末尾,生成Nm个新的序列;
6)在步骤5)生成的Ns*Nm个序列中,选取Ns个序列替换原Ns个已输出序列;
7)重复步骤3)到步骤6),直到每个已输出序列的长度大于或等于固定句长Slen;
8)从Ns个已输出序列中选取一个序列作为生成结果,即具有顺序的词汇的数字标识序列;
9)使用步骤(1)中的词汇表,将生成的具有顺序的词汇的数字标识序列中的数字标识翻译成对应词汇,输出对应词汇序列作为最终结果。
有益效果:本发明能够构建一个用于对话***的混合神经网络模型:第一,本发明使用经过卷积神经网络计算得到的词汇推荐列表代替部分随机采样获得的词汇,使得在训练循环神经网络时,训练复杂度降低,并且有效训练相关的词汇,比起完全随机采样,训练效果要好,表现为收敛更快,达到相应指标耗时更少;第二,使用卷积神经网络预先选取推荐词汇列表,提高了最终输出的准确率,使得对话效果上升;第三,输出时考虑了词汇的特殊程度和词汇的出现频度,使得输出不再局限于某一经常出现的应答语句,呈现多样化;第四,模块化的设计思想,使得更换其中任一模块更为容易,只需要使用相同词汇表、相同词嵌入表,即可使用其他模块替换卷积神经网络进行词汇推荐或替换循环神经网络进行输出,具有更广泛的适用性。
附图说明
图1为本发明的方法总体流程示意图;
图2为生成词汇表模块的示意图;
图3为生成词嵌入表模块的示意图;
图4为构建卷积神经网络模块的示意图;
图5为构建循环神经网络模块的示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提出了一种混合使用多种神经网络进行对话任务的模型的构建方法,通过运用卷积神经网络计算推荐词汇列表的方法,避免了其他方法中使用随机采样的弊端,加快了循环神经网络模块的训练,并提高了最终的对话生成效果。本模型采用模块化设计,使得修改模型的任一部分更为方便,通过调整参数修改网络的细微结构从而适应不同具体任务成为可能。本模型在输出时,考虑了相邻词汇的频度和每个词汇的特殊程度,使得生成的语句避免了一般性。
如图1所示,本发明的主要模块包括生成词汇表模块、生成词嵌入表模块、构建卷积神经网络模块和构建循环神经网络模块4个模块。具体的实施方式分别说明如下:
生成词汇表模块对应技术方案步骤(1)(2)。具体实施方式为:输入数据集的格式应为语句对<发起语句,应答语句>组成的列表。通过将语句对拆分的方法,将数据集分为<发起语句>集和<应答语句>集。如图2所示,使用分词工具,将每个语句拆分为词汇组成的列表;统计词汇在数据集中的出现次数,并按出现次数从大到小排列;词汇的排名作为词汇的数字标识,也称之为词汇的编号。如图2所示,<数字标识,词汇>的列表组成整个词汇表。词汇表构建完毕后,将数据集、发起语句集和应答语句集中的词汇列表使用词汇的数字标识列表代替,完成步骤(1)(2)。
生成词嵌入表模块对应技术方案步骤(3)。具体实施方式为:采用Skip-Gram模型计算每个词汇的词嵌入表示。第一步,确定词汇表长度v和词嵌入长度e,初始化一个词嵌入表矩阵,大小为v*e,矩阵的元素为浮点数。第二步,对数据集中每条语句,获得词汇数字标识列表,根据窗口大小win和选取数量sl选取句中每个词汇的前后的相邻词汇。窗口大小win表示选取此词汇前后的词汇数量,比如设置为1时,即为前后各一个;选取数量sl表示从所定窗口中随机挑选sl个邻接词汇,sl的值需要小于等于2*win。若假设win=1,sl=2,即为图3中所示选取方式。根据选定的词汇前后邻接词汇,生成图3中所示的二元组。第三步:此模型的核心思想为,根据特定词汇的词嵌入向量Ei,Ei为词嵌入表矩阵的一行,长度为e,使用权重参数We和偏重参数Be,计算得(Ei*We+Be)向量,此向量长度应等同于词汇表长度,表示特定词汇与其他词汇的邻接关系,即同时出现于一个二元组的概率。根据第二步获得的真实邻接关系,获取邻接关系中的词汇的词嵌入,再随机采样Nag个不邻接的词汇作为负样本,然后最大化存在邻接关系的两个词汇同时出现时,向量对应位置取值为1的概率,同时最大化不存在邻接关系的负样本与词汇同时出现时,向量对应位置取值为0的概率。第四步,经过训练过后的词嵌入表矩阵即为所需词嵌入表,每行数据表示一个词汇的词嵌入,通过词汇的数字标识进行获取即可使用。
构建卷积神经网络模块对应技术方案步骤(4)(5)(6)。具体实施方式为:第一步,根据设定参数初始化卷积神经网络。如图4所示,假设子网络块数B即子层数取值为3,每个子层包含以下层:卷积层,池化层和激活层。输入应为语句对<发起语句,应答语句>,使用前述步骤中的词汇表和词嵌入表,将发起语句使用浮点数矩阵表示,矩阵大小为固定句长Slen*词嵌入长度e,固定句长Slen表示一个句子最多包含的词汇数量,也称为句子的最大词汇数量。句子包含词汇数量不足的,使用特殊词汇PAD补足至最大词汇数量,句子包含词汇数量超出最大词汇数量的,对句子的词汇列表进行截取。通过卷积层1,结果矩阵大小为Slen*1024,其中1024为模型中卷积层1的输出通道数。然后进行最大池池化层1,采用步长为2,结果矩阵大小变为(Slen/2)*1024。激活层使用Relu函数作为激活参数,生成的结果矩阵大小不变。类似地,经过三块图4所示的卷积神经网络计算后,最终的结果输出应为(Slen/4)*256大小的矩阵。假设最大词汇数量Slen为32,则结果为8*256的矩阵。将此矩阵在一维上展开,获得长度为2048的向量r。添加全连接层以输出长度为词汇表长度的向量,此向量的每位取值区间为[0,1],用以表示对应位置的数字标识表示的词汇的选取概率。全连接层包括一个权重矩阵Wf,本例中其大小为2048*词汇表长度,同时包括一个偏置向量Bf,其大小为词汇表长度。计算方式为r*Wf+Bf,获得长度等同于词汇表长度的输出向量。第二步,获取网络的误差值,并根据误差值进行网络参数的计算。根据输入的另一部分,应答语句的词汇列表,获得真实输出向量,向量长度等同于词汇表长度,每个位置取值为0或1,分别表示对应数字标识的词汇是否出现于真实输出列表。然后计算真实向量和网络输出向量间的交叉熵,即为整个网络的误差值,用此误差值反向传播训练整个卷积神经网络。在误差小于一定值或训练步数超过设定的阈值后,即可使用此模块输出推荐词汇列表,选取方式为获得输出向量中取值前Nt大的位置的数字标识对应的词汇。第三步,对发起语句集中的每条语句进行词汇列表推荐,生成中间结果并存储。完成步骤(4)(5)(6)。
构建循环神经网络模块对应技术方案步骤(7)(8)。具体实施方式为:第一步,根据设定参数设定循环神经网络。本例中此模块的循环神经网络由两个子循环神经网络组成,称其中之一为编码器,称另外一个为解码器。编码器和解码器不共享网络参数,都使用自己的网络块表示所有参数。图5中将编码和解码过程展开进行展示,其中的网络块在各自子模块中是共享的。此案例中,每个网络块由3层、每层512个神经元构成,神经元类型设定为GRU,以更好地支持长时信息的保留。第二步,根据输入,逐词的进行输出。如图5所示,假设输入语句对为<词汇1,词汇2,…,词汇n|词汇a,词汇b,…,词汇z>,为方便实现,固定词汇列表长度,原列表长度不足的使用PAD特殊词汇进行补充,超出的进行截取。编码器对发起语句的词汇列表进行编码,每步编码一个词汇,最终生成一个中间状态state。解码器的初始状态设置为中间状态,同样每步处理一个词汇,第一个输入词汇为GO特殊字符,以启动解码器。训练时,根据每步的目标输出的词汇和上一步状态作为输入,输出推荐词汇列表中每个词汇的概率。网络输出值经过softmax函数处理后,与实际值进行交叉熵计算,得到误差。使用反传算法对整个网络进行参数更新。
技术方案步骤(9)为使用时输出词汇序列。具体实施方式为:卷积神经网络模块对输入语句生成推荐词汇数字标识列表。初始化Ns个已输出序列为空。然后逐词地进行下述步骤:
1)循环神经网络模块生成推荐词汇数字标识列表中每个词汇在此步的输出概率Pa;
2)为了保证连续性以及避免一般性,根据上一个选定词汇,确定推荐词汇数字标识列表中每个词汇的频度Fi;
3)计算推荐词汇数字标识列表中每个词汇的特殊度Si,特殊度Si的计算公式为ln(总句数D/词汇出现总次数Ai);
4)以Si*Fi*Pa作为此步中词汇的推荐程度,也为词汇的得分,获得得分最大的Nm个词汇添加至Ns个已输出序列
5)使用Beam Search方法,在生成的Ns*Nm个候选输出序列中,选取前Ns个得分最高的序列替换原Ns个已输出序列进入下一步计算,序列得分为序列中每个词汇的得分之和。
最终在Ns个已输出序列中,按模式参数选取一个输出序列作为具有顺序的词汇的数字标识序列,然后使用步骤(1)中的词汇表,将此具有顺序的词汇的数字标识序列中的词汇的数字标识翻译成对应的词汇,输出词汇序列。
技术方案步骤(10)为对整个模型的参数进行保存,即为模型构建完毕。具体实施方式为:将各子模块中的训练过的参数按独有名称保存至文档中,以便于恢复模型。
至此,便完成了本发明的整个用于对话的混合神经网络模型的构建。通过对一个日常对话数据集的测试,本方法构建的神经网络模型将困惑度降低到固定值的耗时更短,并最终可以获得困惑度小于使用其他方法的模型。经过对话测试,可以发现本方法构建的模型可以用来进行对话生成任务,并避免了使用同一常用语句进行回答的情况。表1展示了本方法实现的模型和一个通用的Sequence to Sequence模型的效果对比,均使用同一个数据集进行训练和测试,表中数据可以验证本模型的有益效果。
表1本发明构建的模型与通用Seq2Seq模型对比
Claims (10)
1.一种用于对话生成的混合神经网络模型的构建方法,包括以下步骤:
(1)根据语句对组成的数据集,拆分语句对生成发起语句集和应答语句集,通过分词获得发起语句集以及应答语句集中每条语句的词汇,统计词汇频度,根据词汇频度构建词汇表;
(2)根据步骤(1)中构建的词汇表,将数据集、发起语句集和应答语句集使用词汇的数字标识表示;
(3)根据步骤(2)中数据集的数字标识表示,经Skip-Gram模型计算得到每个数字标识的词嵌入表示,并分别对应数字标识表示的词汇,生成词嵌入表;
(4)根据特定的卷积神经网络模型参数,初始化构建一个卷积神经网络判别器,用于判别给定语句的词汇数字标识列表作为输入后词汇表中的词汇是否出现;
(5)使用步骤(1)中的发起语句集、应答语句集和词汇表以及步骤(3)中的词嵌入表,生成以词嵌入表示的发起语句集以及对应应答语句集的词汇数字标识列表,作为步骤(4)中构建的卷积神经网络判别器的输入,训练步骤(4)中的卷积神经网络的网络参数,直到误差小于设定的阈值或训练次数多于设定的阈值;
(6)使用经过步骤(5)训练后的卷积神经网络判别器,输入步骤(1)中的发起语句集中的每条语句,生成对应的推荐词汇数字标识列表;
(7)根据特定的循环神经网络模型参数,初始化构建一个循环神经网络生成器,用于给定语句的词汇数字标识列表和对应的推荐词汇数字标识列表作为输入后,循环地生成推荐词汇数字标识列表中的词汇数字标识,并按输出次序形成词汇数字标识序列作为输出;
(8)使用步骤(1)中的发起语句集和词汇表以及步骤(6)生成的推荐数字标识列表,生成步骤(7)中的循环神经网络的输入,根据步骤(1)中的应答语句集和词汇表生成步骤(7)中的循环神经网络的目标输出,根据输入和目标输出训练步骤(7)中的循环神经网络的网络参数,直到误差小于设定的阈值或训练次数多于设定的阈值;
(9)使用步骤(1)中的词汇表、步骤(3)中的词嵌入表、步骤(4)中的卷积神经网络和步骤(7)中的循环神经网络,对输入语句进行计算,生成具有顺序的词汇的数字标识序列,并根据步骤(1)中的词汇表,将词汇的数字标识序列翻译成对应的词汇序列并输出最终结果;
(10)步骤(9)中的结果满足设定的指标后,保存整个模型的所有参数。
2.根据权利要求1所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤(1)中,统计所有出现在语句对中的词汇数量,并且生成的词汇表是整个模型中所有子模块通用的。
3.根据权利要求1所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤(3)中,生成的词嵌入表是整个模型中所有子模块通用的,步骤(4)中的卷积神经网络和步骤(7)中的循环神经网络使用相同的词嵌入表对语句的词汇数字标识列表进行处理。
4.根据权利要求1所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤(4)中,特定的卷积神经网络模型参数包括:子网络块的块数B;每个子网络块含有卷积、池化、激活三个层,每个卷积层含有权重Wi和偏置Bi两个参数;每个卷积层的卷积核大小wci*dci和步长sci;每个池化层的池化核大小wpi*dpi和步长spi;激活层函数选用relu函数;每个子网络块的输出通道数量Ci;数据随机丢弃率Pd;一个全连接层,全连接层含有权重Wf和偏置Bf两个参数;固定句长Slen。
5.根据权利要求1所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:在所述步骤(4)中的卷积神经网络给出第一次输出后,所述步骤(5)和所述步骤(8)并行化同时训练。
6.根据权利要求1所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤(7)中,特定的循环神经网络参数包括:最大循环步长Steps;固定句长Slen;每层神经元数量Nn;神经元层数Ln;所述循环神经网络包括两个子循环神经网络,每个子循环神经网络具有相同的神经元数量Nn和神经元层数Ln;误差计算方法为特定的采样误差方法。
7.根据权利要求6所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:特定的采样误差方法是指:在从词汇表随机抽取若干词汇作为采样以外,将步骤(6)中生成的推荐词汇数字标识列表添加至采样,减少随机采样数量,对已采样的词汇进行正确值和预测值的误差计算,计算方法为对预测值进行softmax函数计算后,与正确值进行交叉熵计算得到所有采样词汇的取值的误差。
8.根据权利要求1所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤(9)中,对输入语句进行计算,生成具有顺序的词汇的数字标识序列包括以下步骤:
1)初始化Ns个已输出序列;
2)使用步骤(4)中的卷积神经网络生成输入语句的推荐词汇数字标识列表;
3)计算推荐词汇数字标识列表中每个词汇的频度Fi;
4)计算推荐词汇数字标识列表中每个词汇的特殊程度Si;
5)对Ns个已输出序列中的每个序列Nsi,使用步骤(7)中的循环神经网络计算推荐词汇数字标识列表中词汇的出现概率Pa;对每个推荐词汇数字标识列表中的词汇,计算出现概率Pa乘以频度Fi乘以特殊程度Si作为推荐程度;选择推荐程度最高的Nm个词汇,添加词汇的数字标识至序列Nsi末尾,生成Nm个序列;
6)在步骤5)生成的Ns*Nm个序列中,选取Ns个序列替换原Ns个已输出序列;
7)重复步骤3)到步骤6),直到每个已输出序列的长度大于或等于固定句长Slen;
8)从Ns个已输出序列中选取一个序列作为生成结果。
9.根据权利要求8所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤3)中计算推荐词汇数字标识列表中每个词汇的频度Fi是指:在给定前一个词的情况下,计算给定词后继出现的所有词汇的总出现次数Fa,计算给定词后继出现的所有词汇中每个词汇的出现次数Fn,Fi等于Fn除以Fa。
10.根据权利要求8所述一种用于对话生成的混合神经网络模型的构建方法,其特征在于:所述步骤4)中计算推荐词汇数字标识列表中每个词汇的特殊程度Si是指:计算数据集的总语句数量D,计算推荐词汇数字标识列表中每个词汇在数据集中的出现次数Ai,特殊程度Si等于D除以Ai后取自然对数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710725762.1A CN107506823B (zh) | 2017-08-22 | 2017-08-22 | 一种用于对话生成的混合神经网络模型的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710725762.1A CN107506823B (zh) | 2017-08-22 | 2017-08-22 | 一种用于对话生成的混合神经网络模型的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107506823A true CN107506823A (zh) | 2017-12-22 |
CN107506823B CN107506823B (zh) | 2020-11-13 |
Family
ID=60691497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710725762.1A Active CN107506823B (zh) | 2017-08-22 | 2017-08-22 | 一种用于对话生成的混合神经网络模型的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506823B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280455A (zh) * | 2018-01-19 | 2018-07-13 | 北京市商汤科技开发有限公司 | 人体关键点检测方法和装置、电子设备、程序和介质 |
CN108732550A (zh) * | 2018-08-01 | 2018-11-02 | 北京百度网讯科技有限公司 | 用于预测雷达回波的方法和装置 |
CN108846124A (zh) * | 2018-06-29 | 2018-11-20 | 北京百度网讯科技有限公司 | 训练方法、装置、计算机设备和可读存储介质 |
CN108897894A (zh) * | 2018-07-12 | 2018-11-27 | 电子科技大学 | 一种问题生成方法 |
CN109190578A (zh) * | 2018-09-13 | 2019-01-11 | 合肥工业大学 | 基于时域卷积网络与循环神经网络融合的手语视频翻译方法 |
CN109241268A (zh) * | 2018-07-05 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种相似信息推荐方法、装置、设备及存储介质 |
CN109255020A (zh) * | 2018-09-11 | 2019-01-22 | 浙江大学 | 一种利用卷积对话生成模型解决对话生成任务的方法 |
CN110096588A (zh) * | 2018-01-30 | 2019-08-06 | 埃森哲环球解决方案有限公司 | 跨语言文本分类 |
CN110297895A (zh) * | 2019-05-24 | 2019-10-01 | 山东大学 | 一种基于自由文本知识的对话方法及*** |
CN110379225A (zh) * | 2018-04-12 | 2019-10-25 | 百度(美国)有限责任公司 | 互动式语言习得的***和方法 |
CN110610190A (zh) * | 2019-07-31 | 2019-12-24 | 浙江大学 | 一种针对雨天图片的卷积神经网络降雨强度分类方法 |
CN111090723A (zh) * | 2019-11-18 | 2020-05-01 | 清远电力规划设计院有限公司 | 一种基于知识图谱的电网安全生产内容推荐方法 |
CN112199485A (zh) * | 2020-10-14 | 2021-01-08 | 哈尔滨工程大学 | 一种基于个性化开放领域的对话生成方法 |
CN112417118A (zh) * | 2020-11-19 | 2021-02-26 | 上海交通大学 | 一种基于标记文本和神经网络的对话生成方法 |
CN113762477A (zh) * | 2021-09-08 | 2021-12-07 | 中山大学 | 一种构建序列推荐模型的方法和序列推荐方法 |
CN116127051A (zh) * | 2023-04-20 | 2023-05-16 | 中国科学技术大学 | 基于深度学习的对话生成方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951468A (zh) * | 2017-03-02 | 2017-07-14 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置 |
-
2017
- 2017-08-22 CN CN201710725762.1A patent/CN107506823B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951468A (zh) * | 2017-03-02 | 2017-07-14 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置 |
Non-Patent Citations (2)
Title |
---|
TSUNG-HSIEN WEN等: ":A Network-based End-to-End Trainable Task-oriented Dialogue System", 《HTTPS://ARXIV.ORG/ABS/1604.04562V3》 * |
TSUNG-HSIEN WEN等: "Stochastic Language Generation in Dialogue using Recurrent Neural Networks with Convolutional Sentence Reranking", 《HTTPS://ARXIV.XILESOU.TOP/ABS/1508.01755》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280455A (zh) * | 2018-01-19 | 2018-07-13 | 北京市商汤科技开发有限公司 | 人体关键点检测方法和装置、电子设备、程序和介质 |
CN110096588A (zh) * | 2018-01-30 | 2019-08-06 | 埃森哲环球解决方案有限公司 | 跨语言文本分类 |
CN110379225B (zh) * | 2018-04-12 | 2021-08-31 | 百度(美国)有限责任公司 | 互动式语言习得的***和方法 |
US11074829B2 (en) | 2018-04-12 | 2021-07-27 | Baidu Usa Llc | Systems and methods for interactive language acquisition with one-shot visual concept learning through a conversational game |
CN110379225A (zh) * | 2018-04-12 | 2019-10-25 | 百度(美国)有限责任公司 | 互动式语言习得的***和方法 |
CN108846124B (zh) * | 2018-06-29 | 2022-05-17 | 北京百度网讯科技有限公司 | 训练方法、装置、计算机设备和可读存储介质 |
CN108846124A (zh) * | 2018-06-29 | 2018-11-20 | 北京百度网讯科技有限公司 | 训练方法、装置、计算机设备和可读存储介质 |
CN109241268B (zh) * | 2018-07-05 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 一种相似信息推荐方法、装置、设备及存储介质 |
CN109241268A (zh) * | 2018-07-05 | 2019-01-18 | 腾讯科技(深圳)有限公司 | 一种相似信息推荐方法、装置、设备及存储介质 |
CN108897894A (zh) * | 2018-07-12 | 2018-11-27 | 电子科技大学 | 一种问题生成方法 |
CN108732550A (zh) * | 2018-08-01 | 2018-11-02 | 北京百度网讯科技有限公司 | 用于预测雷达回波的方法和装置 |
CN109255020B (zh) * | 2018-09-11 | 2022-04-01 | 浙江大学 | 一种利用卷积对话生成模型解决对话生成任务的方法 |
CN109255020A (zh) * | 2018-09-11 | 2019-01-22 | 浙江大学 | 一种利用卷积对话生成模型解决对话生成任务的方法 |
CN109190578A (zh) * | 2018-09-13 | 2019-01-11 | 合肥工业大学 | 基于时域卷积网络与循环神经网络融合的手语视频翻译方法 |
CN109190578B (zh) * | 2018-09-13 | 2019-10-18 | 合肥工业大学 | 基于时域卷积网络与循环神经网络融合的手语视频翻译方法 |
CN110297895A (zh) * | 2019-05-24 | 2019-10-01 | 山东大学 | 一种基于自由文本知识的对话方法及*** |
CN110297895B (zh) * | 2019-05-24 | 2021-09-17 | 山东大学 | 一种基于自由文本知识的对话方法及*** |
CN110610190A (zh) * | 2019-07-31 | 2019-12-24 | 浙江大学 | 一种针对雨天图片的卷积神经网络降雨强度分类方法 |
CN111090723A (zh) * | 2019-11-18 | 2020-05-01 | 清远电力规划设计院有限公司 | 一种基于知识图谱的电网安全生产内容推荐方法 |
CN111090723B (zh) * | 2019-11-18 | 2023-05-05 | 清远电力规划设计院有限公司 | 一种基于知识图谱的电网安全生产内容推荐方法 |
CN112199485B (zh) * | 2020-10-14 | 2022-10-14 | 哈尔滨工程大学 | 一种基于个性化开放领域的对话生成方法 |
CN112199485A (zh) * | 2020-10-14 | 2021-01-08 | 哈尔滨工程大学 | 一种基于个性化开放领域的对话生成方法 |
CN112417118B (zh) * | 2020-11-19 | 2023-04-07 | 上海交通大学 | 一种基于标记文本和神经网络的对话生成方法 |
CN112417118A (zh) * | 2020-11-19 | 2021-02-26 | 上海交通大学 | 一种基于标记文本和神经网络的对话生成方法 |
CN113762477A (zh) * | 2021-09-08 | 2021-12-07 | 中山大学 | 一种构建序列推荐模型的方法和序列推荐方法 |
CN113762477B (zh) * | 2021-09-08 | 2023-06-30 | 中山大学 | 一种构建序列推荐模型的方法和序列推荐方法 |
CN116127051A (zh) * | 2023-04-20 | 2023-05-16 | 中国科学技术大学 | 基于深度学习的对话生成方法、电子设备及存储介质 |
CN116127051B (zh) * | 2023-04-20 | 2023-07-11 | 中国科学技术大学 | 基于深度学习的对话生成方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107506823B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506823A (zh) | 一种用于对话生成的混合神经网络模型的构建方法 | |
Plummer et al. | Conditional image-text embedding networks | |
CN106919897B (zh) | 一种基于三级残差网络的人脸图像年龄估计方法 | |
CN109948029A (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN109241255A (zh) | 一种基于深度学习的意图识别方法 | |
CN112199535B (zh) | 一种基于集成知识蒸馏的图像分类方法 | |
CN106022392B (zh) | 一种深度神经网络样本自动取舍的训练方法 | |
Tsoumakas et al. | Effective voting of heterogeneous classifiers | |
CN107229904A (zh) | 一种基于深度学习的目标检测与识别方法 | |
CN107038159A (zh) | 一种基于无监督领域自适应的神经网络机器翻译方法 | |
CN106203363A (zh) | 人体骨架运动序列行为识别方法 | |
CN109829049A (zh) | 利用知识库渐进时空注意力网络解决视频问答任务的方法 | |
CN109003625A (zh) | 基于三元损失的语音情感识别方法及*** | |
Wang et al. | Learning multimodal word representation via dynamic fusion methods | |
Ling et al. | Large scale learning of agent rationality in two-player zero-sum games | |
CN110110663A (zh) | 一种基于人脸属性的年龄识别方法及*** | |
CN110175248A (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN104463221A (zh) | 适用于支持向量机训练的不平衡样本加权方法 | |
CN113239211A (zh) | 一种基于课程学习的强化学习知识图谱推理方法 | |
CN108388944A (zh) | Lstm神经网络芯片及其使用方法 | |
Samragh et al. | Weight subcloning: direct initialization of transformers using larger pretrained ones | |
CN109948589A (zh) | 基于量子深度信念网络的人脸表情识别方法 | |
Jiang et al. | Class-aware pruning for efficient neural networks | |
Hulburd | Exploring bert parameter efficiency on the stanford question answering dataset v2. 0 | |
CN111782857B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 210093 Nanjing, Gulou District, Jiangsu, No. 22 Hankou Road Applicant after: NANJING University Address before: 210093 No. 22, Hankou Road, Suzhou, Jiangsu Applicant before: NANJING University |
|
GR01 | Patent grant | ||
GR01 | Patent grant |