CN109284406A - 基于差异循环神经网络的意图识别方法 - Google Patents
基于差异循环神经网络的意图识别方法 Download PDFInfo
- Publication number
- CN109284406A CN109284406A CN201811020887.5A CN201811020887A CN109284406A CN 109284406 A CN109284406 A CN 109284406A CN 201811020887 A CN201811020887 A CN 201811020887A CN 109284406 A CN109284406 A CN 109284406A
- Authority
- CN
- China
- Prior art keywords
- neural network
- recognition
- recurrent neural
- network model
- hidden layer
- 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
Classifications
-
- 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/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/08—Learning methods
Abstract
本发明涉及意图识别技术领域,针对采用单循环神经网络模型测试时正确率较低的问题,提出一种基于差异循环神经网络的意图识别方法,包括如下步骤:将训练数据集打好标签进行分类生成分类标签文本一;对中文文本进行中文分词得到分词文本,对分词文本进行训练得到词向量并向量化中文文本构成词向量矩阵文本;搭建差异循环神经网络模型,该模型至少包括循环神经网络模型一和循环神经网络模型二,随机初始化循环神经网络模型一和循环神经网络模型二的各层间权重矩阵,将词向量矩阵文本和分类标签文本一作为差异循环神经网络模型的输入进行模型训练得到预测值,最小化损失函数值来优化差异循环神经网络模型得到最优模型,本发明适用于文本意图的识别。
Description
技术领域
本发明涉及意图识别技术领域,特别涉及一种循环神经网络的意图识别方法。
背景技术
自然语言处理(NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言。自然语言处理的目的就是让计算机能“懂得”人类对它‘说’的话,然后去执行一些指定的任务,这些任务包括拼写检查、关键词搜索、意图识别、机器翻译和对话系统等。
意图识别就是让语义云系统能够识别出与用户输入最相关的信息,例如用户输入“来集仙剑奇侠传”时,我们知道“仙剑奇侠传”既有游戏又有电视剧还有新闻和图片等,如果我们通过用户意图识别发现该用户是想看“仙剑奇侠传”电视剧的,那我们直接把电视剧作为结果返回给用户,就会节省用户的输入次数,缩短搜索时间,大大提升用户体验。意图识别,简单说就是一种文本分类,文本分类大致有两种方法:一种是基于训练集的意图识别方法;另一种是基于分类词表的意图识别方法。两种方法出自不同角度的研究者,训练集法更多的来自计算机或者人工智能领域,而分类表法更多的来自突出情报领域。基于训练集的意图识别方法有很多,比如决策树、kNN(k最邻近分类算法)、SVM(支持向量机)和朴素贝叶斯算法等。它们都存在一定的不足之处,对于决策树方法来说,如果我们视频领域数据比较多时,在决策树当中,信息增益的结果会偏向于视频领域;SVM对缺失数据敏感;KNN类别评分不规格化,计算量大;理论上讲,朴素贝叶斯模型相比其他分类算法具有较小的误差率,但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的。基于统计学习分类算法都是基于用一系列特征来描述文本的前提下进行的,但实际上文本是一种信息的载体,不仅仅由部分特征词组合而成,文本还包括了所有构成文本的词的信息,词组合后相互之间的顺序关系和上下文的信息。而所有的统计学习算法都忽视了除部分特征词之外的所有信息。
神经网络算法克服了以上基于统计学习的分类算法的缺点,人工神经网络是模拟人脑神经系统的基本组织特性构成的新型信息处理系统。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为activation function(激励函数)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式、权重值和激励函数的不同而不同。神经网络技术的这些特点可以很好的克服传统文本分类算法的缺点。但是一般的神经网络无法对时间序列上的问题进行建模,然而,样本出现的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。对了适应这种需求,就出现了另一种神经网络结构——RNN(循环神经网络)。
授权公告号CN105868184B公开了一种基于循环神经网络的中文人名识别方法,该识别方法采用循环神经网络模型进行训练,该方法在训练过程中涉及到权重的随机初始化最后使RNN达到最优解,因循环神经网络模型经过训练之后得到的最优解取决于随机初始位置和训练方法,对于同一个RNN而言不同的初始化权重则会达到不同的最优解,也就是说此最优解为局部最优解而非全局最优解,于是同一RNN的不同初始化权重描述同一事物得到的特征存在一定的差异。
发明内容
本发明所要解决的技术问题是:因不同的循环神经网络模型的不同初始化权重,来描述同一事物得到的特征存在一定的差异,致使采用单个循环神经网络模型进行测试时正确率相对较低的问题,提出一种基于差异循环神经网络的意图识别方法。
本发明解决上述技术问题,采用的技术方案是:
基于差异循环神经网络的意图识别方法,包括如下步骤:
S1、将训练数据集打好标签进行分类生成分类标签文本一;
S2、对中文文本进行中文分词处理得到分词文本,对分词文本进行训练得到词向量,由词向量向量化中文文本构成词向量矩阵文本;
S3、搭建差异循环神经网络模型,所述差异循环神经网络模型至少包括循环神经网络模型一和循环神经网络模型二,循环神经网络模型一隐藏层的上一时刻的输出作用于循环神经网络模型一当前时刻隐藏层的输出;循环神经网络模型二隐藏层的上一时刻的输出作用于循环神经网络模型二当前时刻隐藏层的输出;循环神经网络模型一隐藏层当前时刻的输出和循环神经网络模型二隐藏层当前时刻的输出共同作用于整个差异循环神经网络模型当前时刻输出的预测值;随机初始化循环神经网络模型一和循环神经网络模型二的各层间的权重矩阵,将词向量矩阵文本和分类标签文本一作为差异循环神经网络模型的输入进行模型的训练得到预测值;
S4、根据预测值、真实值、循环神经网络模型一隐藏层的输出及循环神经网络模型二隐藏层的输出计算损失函数值,通过最小化损失函数值来优化差异循环神经网络模型得到最优模型;
S5、将测试数据集打好标签进行分类生成分类标签文本二,将词向量矩阵文本和分类标签文本二输入至最优模型得到相应的预测值。
优选的,所述步骤S3包括如下步骤:
S301、对分类标签文本一和词向量矩阵文本进行分块;
S302、对每一块的数据输入循环神经网络模型一进行训练,得到循环神经网络模型一在各时刻的隐藏层的输出,如公式所示:h1(t)=f(x(t)u1+h1(t-1)w1),式中,h1(t)表示t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h1(t-1)表示循环神经网络模型一在t-1时刻即t时刻的上一时刻的隐藏层的输出,w1表示循环神经网络模型一的t-1时刻隐藏层与t时刻隐藏层的权重矩阵,u1表示循环神经网络模型一输入层与t时刻隐藏层的权重矩阵;
同时,对每一块的数据输入循环神经网络模型二进行训练,得到循环神经网络模型二在各时刻的隐藏层的输出,如公式所示:h2(t)=f(x(t)u2+h2(t-1)w2),式中,h2(t)表示t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h2(t-1)表示循环神经网络模型二在t-1时刻即t时刻的上一时刻的隐藏层的输出,w2表示循环神经网络模型二的t-1时刻隐藏层与其t时刻隐藏层的权重矩阵,u2表示循环神经网络模型二的输入层与其当前隐藏层的权重矩阵;
S303、根据h1(t)和h2(t)计算差异循环神经网络模型输出的各时刻的预测值,如公式所示:y(t)=g(((h1(t)+h2(t))/2)*v),式中,y(t)表示t时刻词的预测值,g表示神经元节点隐藏层到输出层的激活函数,v表示循环神经网络模型一和循环神经网络模型二两者的t时刻隐藏层输出的平均值与整个差异循环神经网络模型t时刻输出值的权重矩阵。
优选的,所述步骤S4中损失函数值的计算公式为:其中,L为差异循环神经网络模型的损失函数值,y(t)表示t时刻词输出的预测值、y(t)′表示t时刻的真实值,h1(t)表示循环神经网络模型一第t时刻隐藏层的输出,h1(t)表示循环神经网络模型二第t时刻隐藏层的输出,λ表示惩罚系数,0≤λ≤1;n表示差异循环神经网络模型的时间序列长度。
优选的,所述步骤S4中的优化差异循环神经网络模型为采用BPTT算法更新差异循环神经网络模型的各层间的权重矩阵后进行模型的训练使得损失函数值递减。
优选的,所述各层间的权重矩阵包括:循环神经网络模型一的输入层与隐藏层的权重矩阵;
和/或;循环神经网络模型二的输入层与隐藏层的权重矩阵;
和/或;循环神经网络模型一的当前隐藏层与前一隐藏层的权重矩阵;
和/或;循环神经网络模型二的当前隐藏层与前一隐藏层的权重矩阵;
和/或;循环神经网络模型一和循环神经网络模型二两者的隐藏层的输出值取平均与整个差异循环神经网络模型输出层的输出值的权重矩阵。
优选的,所述中文分词处理为采用jieba分词工具来进行分词处理。
优选的,所述对分词文本进行训练得到词向量是通过工具包Word2Vec()函数来实现。
优选的,所述差异循环神经网络模型采用工具包Tensorflow来搭建。
本发明的有益效果是:
本发明通过构建多个结构相同但不同初始值的权重矩阵的多个循环神经网络模型来构成差异循环神经网络模型,在训练过程中将各循环神经网络模型的隐藏层的输出共同作用于差异循环神经网络模型的输出得到预测值,将多个循环神经网络模型的局部最优解(预测值)的差异体现在损失函数中,得到一个相对单个循环神经网络模型而言更好的最优解,该最优解相对于单个循环神经网络模型来说更能描述输入数据的本质特征,提高了模型在应用测试时的正确率。
附图说明
图1为本发明实施例的模型训练的方法流程图;
图2为本发明实施例的差异循环神经网络模型;
图3为本发明实施例的采用模型进行意图识别的方法流程图;
其中,x(t)为t时刻词的词向量,y(t)为差异循环神经网络模型t时刻词输出的预测值,h1(t)为循环神经网络模型一在t时刻隐藏层的输出,h2(t)为循环神经网络模型二在t时刻隐藏层的输出,w1为循环神经网络模型一的上一时刻隐藏层与当前时刻隐藏层的权重矩阵,w2为循环神经网络模型二的上一时刻隐藏层与当前时刻隐藏层的权重矩阵,u1为循环神经网络模型一的输入层与隐藏层的权重矩阵,u2为循环神经网络模型二的输入层与其当前隐藏层的权重矩阵,v为表示循环神经网络模型一和循环神经网络模型二两者隐藏层输出的平均值与整个差异循环神经网络模型输出值的权重矩阵,RNN1为循环神经网络模型一,RNN2为循环神经网络模型二。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。
本发明旨在克服单个循环神经网络模型的不同初始化权重来描述同一事物得到的特征存在一定的差异致使采用该单个循环神经网络模型进行测试时正确率低的问题,提出了一种基于差异循环神经网络的意图识别方法,包括如下步骤:
S1、将训练数据集打好标签进行分类生成分类标签文本一;其中,训练数据集可采用搜集到的用户真实输入的文本,最好使每个类别下属的文本数量接近相等,可再按一定比例为训练数据集和测试数据集,而上述分类可采用实际需要的意图识别的分类来进行标注。
S2、对中文文本进行中文分词处理得到分词文本,对分词文本进行训练得到词向量,由词向量向量化中文文本构成词向量矩阵文本;
其中,步骤S2为词向量的训练,可采用大规模的中文文例如人民日报进行训练也可采用作为文本数据中的一种的训练数据集进行训练,可根据需要进行选择。词向量矩阵文本的获取也可采用根据分词文本进行去重构建词典后生成one-hot编码然后再进行训练后得到词向量,也可直接采用Word2Vec()函数对分词文本直接进行词向量的构造。
S3、搭建差异循环神经网络模型,所述差异循环神经网络模型至少包括循环神经网络模型一和循环神经网络模型二,循环神经网络模型一隐藏层的上一时刻的输出作用于循环神经网络模型一当前时刻隐藏层的输出;循环神经网络模型二隐藏层的上一时刻的输出作用于循环神经网络模型二当前时刻隐藏层的输出;循环神经网络模型一隐藏层当前时刻的输出和循环神经网络模型二隐藏层当前时刻的输出共同作用于整个差异循环神经网络模型当前时刻输出的预测值;随机初始化循环神经网络模型一和循环神经网络模型二的各层间的权重矩阵,将词向量矩阵文本和分类标签文本一作为差异循环神经网络模型的输入进行模型的训练得到预测值;
S4、根据预测值、真实值、循环神经网络模型一隐藏层的输出及循环神经网络模型二隐藏层的输出计算损失函数值,通过最小化损失函数值来优化差异循环神经网络模型得到最优模型;至此,模型的训练已经完成。
S5、下面开始采用模型进行意图识别也可以说是文本分类,将测试数据集打好标签进行分类生成分类标签文本二,将词向量矩阵文本和分类标签文本二输入至最优模型得到相应的预测值。
为了更清楚的描述差异循环神经网络模型,在差异循环神经网络中仅包括循环神经网络模型一和循环神经网络模型二,所述步骤S3包括如下步骤:
S301、对分类标签文本一和词向量矩阵文本进行分块;
对分类标签文本一进行分块可得到每块的真实值用于后续损失函数值的计算,对词向量矩阵文本进行分块可得到每块的词向量。
S302、对每一块的数据输入循环神经网络模型一进行训练,得到循环神经网络模型一在各时刻的隐藏层的输出,如公式所示:h1(t)=f(x(t)u1+h1(t-1)w1),式中,h1(t)表示t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h1(t-1)表示循环神经网络模型一在t-1时刻即t时刻的上一时刻的隐藏层的输出,w1表示循环神经网络模型一的t-1时刻隐藏层与t时刻隐藏层的权重矩阵,u1表示循环神经网络模型一输入层与t时刻隐藏层的权重矩阵;
同时,对每一块的数据输入循环神经网络模型二进行训练,得到循环神经网络模型二在各时刻的隐藏层的输出,如公式所示:h2(t)=f(x(t)u2+h2(t-1)w2),式中,h2(t)表示t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h2(t-1)表示循环神经网络模型二在t-1时刻即t时刻的上一时刻的隐藏层的输出,w2表示循环神经网络模型二的t-1时刻隐藏层与其t时刻隐藏层的权重矩阵,u2表示循环神经网络模型二的输入层与其当前隐藏层的权重矩阵;
S303、根据h1(t)和h2(t)计算差异循环神经网络模型输出的各时刻的预测值,如公式所示:y(t)=g(((h1(t)+h2(t))/2)*v),式中,y(t)表示t时刻词的预测值,g表示神经元节点隐藏层到输出层的激活函数,v表示循环神经网络模型一和循环神经网络模型二两者的t时刻隐藏层输出的平均值与整个差异循环神经网络模型t时刻输出值的权重矩阵。
为了损失函数值能多角度的捕获模型输入数据的特征,最终使得最优模型的预测值更能描述输入数据的本质,将循环神经网络模型一和循环神经网络模型一的隐藏层的输出值作为惩罚项放入损失函数中,所述步骤S4中损失函数值的计算公式为:其中,y(t)表示t时刻词输出的预测值、y(t)′表示t时刻的真实值,h1(t)表示循环神经网络模型一第t时刻隐藏层的输出,h1(t)表示循环神经网络模型二第t时刻隐藏层的输出,λ表示惩罚系数,0≤λ≤1;n表示差异循环神经网络模型的时间序列长度。
作为优化算法的优选,所述步骤S4中的优化差异循环神经网络模型为采用BPTT算法更新差异循环神经网络模型的各层间的权重矩阵后进行模型的训练使得损失函数值递减。
鉴于权重矩阵初始化的随机性,循环神经网络模型一各层级间的权重矩阵和循环神经网络模型二相应的各层级间的权重矩阵可能全部不相等也可能部分不相等,另鉴于BPTT算法为根据损失函数值进行优化,而每轮的损失函数值不一样,采用BPTT算法更新权重矩阵时,各层间的权重矩阵可能部分更新也可能全部更新,于是,所述各层间的权重矩阵包括:循环神经网络模型一的输入层与隐藏层的权重矩阵;和/或;循环神经网络模型二的输入层与隐藏层的权重矩阵;和/或;循环神经网络模型一的当前隐藏层与前一隐藏层的权重矩阵;和/或;循环神经网络模型二的当前隐藏层与前一隐藏层的权重矩阵;和/或;循环神经网络模型一和循环神经网络模型二两者的隐藏层的输出值取平均与整个差异循环神经网络模型输出层的输出值的权重矩阵。
因为文本的信息是由组成文本的词以及词与词之间的顺序来表达的,其中顺序体现在RNN模型处理的时间序列中,而词的表达可借助jieba分词工具将文本分成一个个词;即所述中文分词处理为采用jieba分词工具来进行分词处理。
所述对分词文本进行训练得到词向量是通过工具包Word2Vec()函数来实现。Word2Vec()函数可将意思相近的词将被映射到向量空间中相近的位置避免了维度灾难。
所述差异循环神经网络模型可采用工具包Tensorflow来搭建,TensorFlow中可对函数自动求导以及分布式计算,可以在训练模型节时省很多时间。
实施例
差异循环神经网络的意图识别方法包括模型训练和模型测试两个步骤,如图1所示为本实施例的相应的模型训练的方法流程图。
S1、搜集用户输入文本数据,将输入文本数据按领域进行分类,本实施例中采用四个分类即:视频、音乐、天气和闲聊,使每个类别下属的输入文本数据数量接近相等,各类别下按7:3将输入本文分给训练数据集和测试数据集。将训练数据集打上标签生成分类标签文本一,采用one-hot编码,例如:
文本 | 视频 | 音乐 | 天气 | 闲聊 |
我想看刘德华的电影 | 1 | 0 | 0 | 0 |
我想看今天的天气 | 0 | 0 | 1 | 0 |
我想听周杰伦的歌 | 0 | 1 | 0 | 0 |
我想看刘德华帅不帅 | 0 | 0 | 0 | 1 |
其中,0代表不属于此类,1代表属于此类。
S2、对中文文本进行中文分词处理得到分词文本,对分词文本进行训练得到词向量,由词向量向量化中文文本构成词向量矩阵文本;
S201、对训练数据集中的文本进行jieba分词处理,四个文本分词后得到的四个列表为:
我想看刘德华的电影:['我','想','看','刘德华','的','电影']
我想看今天的天气:['我','想','看','今天','的','天气']
我想听周杰伦的歌:['我','想','听','周杰伦','的','歌']
我想看刘德华帅不帅:['我','想','看','刘德华','帅不帅']
S202、将分词后得到的四个列表存入同一个列表中,组成二维列表用于构造词向量模型。设置词向量长度为50,即每个词语对应的词向量记为(1,50)。将构建好的二维列表输入Word2vec词向量模型,由此可以得到每个词的词向量,构造完成后要保存模型,便于后期使用。
S203、选取数据集中词语数最多的句子,用它的词语数量*单个词向量长度,设置这个值为每条文本的标准向量化长度。再使用之前构造的词向量模型来向量化每条文本,长度不足的在末尾补0;比如:单个词向量长度为50,以下词语数最多的是文本C,词语个数为2,所以设定每条文本的标准向量化长度为100,不足的补0:
文本A:[“a”]<=>词向量(1,50)+补0(1,50)=(1,100)
文本B:[“b”]<=>词向量(1,50)+补0(1,50)=(1,100)
文本C:[“a”,“b”]<=>词向量(1,100)
文本D:[“b”]<=>词向量(1,50)+补0(1,50)=(1,100)
S3、如图2所示,本实施例采用两个循环神经网络来构成差异循环神经网络,即循环神经网络模型一RNN1和循环神经网络模型二RNN2,其中,循环神经网络模型一RNN1和循环神经网络模型二RNN2的输入一致,循环神经网络模型一RNN1隐藏层的上一时刻的输出作用于循环神经网络模型一RNN1当前时刻隐藏层的输出;循环神经网络模型二RNN2隐藏层的上一时刻的输出作用于循环神经网络模型二RNN2当前时刻隐藏层的输出;循环神经网络模型一隐藏层RNN1当前时刻的输出和循环神经网络模型二RNN2隐藏层当前时刻的输出共同作用于整个差异循环神经网络模型当前时刻输出的预测值。采用工具包Tensorflow来搭建循环神经网络模型一RNN1和循环神经网络模型二RNN2,随机初始化循环神经网络模型一RNN1和循环神经网络模型二RNN2的各层间的权重矩阵,将词向量矩阵文本和分类标签文本一作为差异循环神经网络模型的输入进行模型的训练得到预测值,具体包括如下步骤:
S301、对分类标签文本一和词向量矩阵文本进行分块;
S302、对每一块的数据输入循环神经网络模型一进行训练,得到循环神经网络模型一在各时刻的隐藏层的输出,如公式所示:h1(t)=f(x(t)u1+h1(t-1)w1),式中,h1(t)表示循环神经网络模型一在t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h1(t-1)表示循环神经网络模型一在t-1时刻即t时刻的上一时刻的隐藏层的输出,w1表示循环神经网络模型一的上一时刻隐藏层与当前时刻隐藏层的权重矩阵,u1表示循环神经网络模型一输入层与隐藏层的权重矩阵;
同时,对每一块的数据输入循环神经网络模型二进行训练,得到循环神经网络模型二在各时刻的隐藏层的输出,如公式所示:h2(t)=f(x(t)u2+h2(t-1)w2),式中,h2(t)表示循环神经网络模型二在t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h2(t-1)表示循环神经网络模型二在t-1时刻即t时刻的上一时刻的隐藏层的输出,w2表示循环神经网络模型二的上一时刻隐藏层与当前时刻隐藏层的权重矩阵,u2表示循环神经网络模型二的输入层与隐藏层的权重矩阵;其中,f为tanh函数。
S303、根据h1(t)和h2(t)计算差异循环神经网络模型输出的各时刻的预测值,如公式所示:y(t)=g(((h1(t)+h2(t))/2)*v),式中,y(t)表示t时刻词的预测值,g表示神经元节点隐藏层到输出层的激活函数,v表示循环神经网络模型一和循环神经网络模型二两者隐藏层输出的平均值与整个差异循环神经网络模型输出值的权重矩阵,其中,g为softmax函数
S4、根据预测值、真实值、循环神经网络模型一隐藏层的输出及循环神经网络模型二隐藏层的输出计算损失函数值,计算公式为:其中,L为差异循环神经网络模型的损失函数值,y(t)表示t时刻词输出的预测值、y(t)′表示t时刻的真实值,h1(t)表示循环神经网络模型一第t时刻隐藏层的输出,h1(t)表示循环神经网络模型二第t时刻隐藏层的输出,λ表示惩罚系数,0≤λ≤1;本实施例中,λ的取值为0.3,n表示差异循环神经网络模型的时间序列长度,本实施例中,n的取值为15。
通过最小化损失函数值,采用BPTT算法更新差异循环神经网络模型的各层间的权重矩阵后进行再次进行模型的训练。在训练过程中,差异循环神经网络模型经过每次迭代后进行结果测试,如果在设定的迭代次数内都未获得更好的效果,可以修改学习率,进行下一次迭代操作;直到循环神经网络模型达到收敛状态,即损失函数值递减,预测值与真实值的匹配正确率递增,如此得到最优模型。
将测试数据集打好标签进行分类生成分类标签文本二,将词向量矩阵文本和分类标签文本二输入至最优模型得到相应的预测值,统计预测值与真实值的差异得到正确率,经过测试得知,采用单个的循环神经网络及传统的损失函数即预测值的正确率为87%,采用差异的循环神经网络及传统的损失函数即预测值的正确率88%,采用差异的循环神经网络及新的损失函数预测值的正确率可以达到91.5%。
Claims (8)
1.基于差异循环神经网络的意图识别方法,其特征在于,包括如下步骤:
S1、将训练数据集打好标签进行分类生成分类标签文本一;
S2、对中文文本进行中文分词处理得到分词文本,对分词文本进行训练得到词向量,由词向量向量化中文文本构成词向量矩阵文本;
S3、搭建差异循环神经网络模型,所述差异循环神经网络模型至少包括循环神经网络模型一和循环神经网络模型二,循环神经网络模型一隐藏层的上一时刻的输出作用于循环神经网络模型一当前时刻隐藏层的输出;循环神经网络模型二隐藏层的上一时刻的输出作用于循环神经网络模型二当前时刻隐藏层的输出;循环神经网络模型一隐藏层当前时刻的输出和循环神经网络模型二隐藏层当前时刻的输出共同作用于整个差异循环神经网络模型当前时刻输出的预测值;随机初始化循环神经网络模型一和循环神经网络模型二的各层间的权重矩阵,将词向量矩阵文本和分类标签文本一作为差异循环神经网络模型的输入进行模型的训练得到预测值;
S4、根据预测值、真实值、循环神经网络模型一隐藏层的输出及循环神经网络模型二隐藏层的输出计算损失函数值,通过最小化损失函数值来优化差异循环神经网络模型得到最优模型;
S5、将测试数据集打好标签进行分类生成分类标签文本二,将词向量矩阵文本和分类标签文本二输入至最优模型得到相应的预测值。
2.如权利要求1所述的基于差异循环神经网络的意图识别方法,其特征在于,所述步骤S3包括如下步骤:
S301、对分类标签文本一和词向量矩阵文本进行分块;
S302、对每一块的数据输入循环神经网络模型一进行训练,得到循环神经网络模型一在各时刻的隐藏层的输出,如公式所示:h1(t)=f(x(t)u1+h1(t-1)w1),式中,h1(t)表示循环神经网络模型一在t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h1(t-1)表示循环神经网络模型一在t-1时刻即t时刻的上一时刻的隐藏层的输出,w1表示循环神经网络模型一的上一时刻隐藏层与当前时刻隐藏层的权重矩阵,u1表示循环神经网络模型一输入层与隐藏层的权重矩阵;
同时,对每一块的数据输入循环神经网络模型二进行训练,得到循环神经网络模型二在各时刻的隐藏层的输出,如公式所示:h2(t)=f(x(t)u2+h2(t-1)w2),式中,h2(t)表示循环神经网络模型二在t时刻隐藏层的输出,f表示神经元节点输入层到隐藏层的激活函数,x(t)表示t时刻词的词向量,h2(t-1)表示循环神经网络模型二在t-1时刻即t时刻的上一时刻的隐藏层的输出,w2表示循环神经网络模型二的上一时刻隐藏层与当前时刻隐藏层的权重矩阵,u2表示循环神经网络模型二的输入层与隐藏层的权重矩阵;
S303、根据h1(t)和h2(t)计算差异循环神经网络模型输出的各时刻的预测值,如公式所示:y(t)=g(((h1(t)+h2(t))/2)*v),式中,y(t)表示t时刻词的预测值,g表示神经元节点隐藏层到输出层的激活函数,v表示循环神经网络模型一和循环神经网络模型二两者隐藏层输出的平均值与整个差异循环神经网络模型输出值的权重矩阵。
3.如权利要求1所述的基于差异循环神经网络的意图识别方法,其特征在于,所述步骤S4中损失函数值的计算公式为:其中,L为差异循环神经网络模型的损失函数值,y(t)表示t时刻词输出的预测值、y(t)′表示t时刻的真实值,h1(t)表示循环神经网络模型一第t时刻隐藏层的输出,h1(t)表示循环神经网络模型二第t时刻隐藏层的输出,λ表示惩罚系数,0≤λ≤1;n表示差异循环神经网络模型的时间序列长度。
4.如权利要求1所述的基于差异循环神经网络的意图识别方法,其特征在于,所述步骤S4中的优化差异循环神经网络模型为采用BPTT算法更新差异循环神经网络模型的各层间的权重矩阵后进行模型的训练使得损失函数值递减。
5.如权利要求1或4所述的基于差异循环神经网络的意图识别方法,其特征在于,所述各层间的权重矩阵包括:循环神经网络模型一的输入层与隐藏层的权重矩阵;
和/或;循环神经网络模型二的输入层与隐藏层的权重矩阵;
和/或;循环神经网络模型一的当前隐藏层与前一隐藏层的权重矩阵;
和/或;循环神经网络模型二的当前隐藏层与前一隐藏层的权重矩阵;
和/或;循环神经网络模型一和循环神经网络模型二两者的隐藏层的输出值取平均与整个差异循环神经网络模型输出层的输出值的权重矩阵。
6.如权利要求1所述的基于差异循环神经网络的意图识别方法,其特征在于,所述中文分词处理为采用jieba分词工具来进行分词处理。
7.如权利要求1所述的基于差异循环神经网络的意图识别方法,其特征在于,所述对分词文本进行训练得到词向量是通过工具包Word2Vec()函数来实现。
8.如权利要求1所述的基于差异循环神经网络的意图识别方法,其特征在于,所述差异循环神经网络模型采用工具包Tensorflow来搭建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020887.5A CN109284406B (zh) | 2018-09-03 | 2018-09-03 | 基于差异循环神经网络的意图识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020887.5A CN109284406B (zh) | 2018-09-03 | 2018-09-03 | 基于差异循环神经网络的意图识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284406A true CN109284406A (zh) | 2019-01-29 |
CN109284406B CN109284406B (zh) | 2021-12-03 |
Family
ID=65183814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811020887.5A Active CN109284406B (zh) | 2018-09-03 | 2018-09-03 | 基于差异循环神经网络的意图识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284406B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059220A (zh) * | 2019-04-12 | 2019-07-26 | 北京工业大学 | 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 |
CN110119353A (zh) * | 2019-04-18 | 2019-08-13 | 上海蔚来汽车有限公司 | 测试数据生成方法、装置以及控制器和介质 |
CN110135306A (zh) * | 2019-04-30 | 2019-08-16 | 电子科技大学 | 基于角度损失函数的行为识别方法 |
CN110196979A (zh) * | 2019-06-05 | 2019-09-03 | 深圳市思迪信息技术股份有限公司 | 基于分布式系统的意图识别方法及装置 |
CN110287283A (zh) * | 2019-05-22 | 2019-09-27 | 中国平安财产保险股份有限公司 | 意图模型训练方法、意图识别方法、装置、设备及介质 |
CN110297888A (zh) * | 2019-06-27 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种基于前缀树与循环神经网络的领域分类方法 |
WO2020248366A1 (zh) * | 2019-06-14 | 2020-12-17 | 平安科技(深圳)有限公司 | 文本意图智能分类方法、装置及计算机可读存储介质 |
CN112621760A (zh) * | 2020-12-29 | 2021-04-09 | 中国科学院自动化研究所 | 基于神经元增益基元组合优化的机器人运动控制方法 |
CN112731812A (zh) * | 2020-12-29 | 2021-04-30 | 中国科学院自动化研究所 | 基于神经元增益调制的机器人运动控制方法、系统、装置 |
CN113961698A (zh) * | 2020-07-15 | 2022-01-21 | 上海乐言信息科技有限公司 | 基于神经网络模型的意图分类方法、系统、终端及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156003A (zh) * | 2016-06-30 | 2016-11-23 | 北京大学 | 一种问答系统中的问句理解方法 |
US20170098153A1 (en) * | 2015-10-02 | 2017-04-06 | Baidu Usa Llc | Intelligent image captioning |
CN107291822A (zh) * | 2017-05-24 | 2017-10-24 | 北京邮电大学 | 基于深度学习的问题分类模型训练方法、分类方法及装置 |
CN107330130A (zh) * | 2017-08-29 | 2017-11-07 | 北京易掌云峰科技有限公司 | 一种向人工客服推荐回复内容的对话机器人的实现方法 |
CN107679585A (zh) * | 2017-09-27 | 2018-02-09 | 清华大学 | 基于时间残差长短时记忆网络的阿拉伯文识别方法及系统 |
CN107766894A (zh) * | 2017-11-03 | 2018-03-06 | 吉林大学 | 基于注意力机制和深度学习的遥感图像自然语言生成方法 |
US20180101768A1 (en) * | 2016-10-07 | 2018-04-12 | Nvidia Corporation | Temporal ensembling for semi-supervised learning |
CN107924682A (zh) * | 2015-09-04 | 2018-04-17 | 谷歌有限责任公司 | 用于说话者验证的神经网络 |
CN108090099A (zh) * | 2016-11-22 | 2018-05-29 | 科大讯飞股份有限公司 | 一种文本处理方法及装置 |
CN108197731A (zh) * | 2017-12-26 | 2018-06-22 | 中国科学技术大学 | 一种基于共同训练的机动车尾气遥测与车检结果一致性方法 |
CN108229651A (zh) * | 2017-11-28 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型迁移方法和系统、电子设备、程序和介质 |
CN108256571A (zh) * | 2018-01-16 | 2018-07-06 | 佛山市顺德区中山大学研究院 | 一种基于卷积神经网络的中餐食物识别方法 |
CN108460089A (zh) * | 2018-01-23 | 2018-08-28 | 哈尔滨理工大学 | 基于Attention神经网络的多元特征融合中文文本分类方法 |
-
2018
- 2018-09-03 CN CN201811020887.5A patent/CN109284406B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924682A (zh) * | 2015-09-04 | 2018-04-17 | 谷歌有限责任公司 | 用于说话者验证的神经网络 |
US20170098153A1 (en) * | 2015-10-02 | 2017-04-06 | Baidu Usa Llc | Intelligent image captioning |
CN106156003A (zh) * | 2016-06-30 | 2016-11-23 | 北京大学 | 一种问答系统中的问句理解方法 |
US20180101768A1 (en) * | 2016-10-07 | 2018-04-12 | Nvidia Corporation | Temporal ensembling for semi-supervised learning |
CN108090099A (zh) * | 2016-11-22 | 2018-05-29 | 科大讯飞股份有限公司 | 一种文本处理方法及装置 |
CN107291822A (zh) * | 2017-05-24 | 2017-10-24 | 北京邮电大学 | 基于深度学习的问题分类模型训练方法、分类方法及装置 |
CN107330130A (zh) * | 2017-08-29 | 2017-11-07 | 北京易掌云峰科技有限公司 | 一种向人工客服推荐回复内容的对话机器人的实现方法 |
CN107679585A (zh) * | 2017-09-27 | 2018-02-09 | 清华大学 | 基于时间残差长短时记忆网络的阿拉伯文识别方法及系统 |
CN107766894A (zh) * | 2017-11-03 | 2018-03-06 | 吉林大学 | 基于注意力机制和深度学习的遥感图像自然语言生成方法 |
CN108229651A (zh) * | 2017-11-28 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型迁移方法和系统、电子设备、程序和介质 |
CN108197731A (zh) * | 2017-12-26 | 2018-06-22 | 中国科学技术大学 | 一种基于共同训练的机动车尾气遥测与车检结果一致性方法 |
CN108256571A (zh) * | 2018-01-16 | 2018-07-06 | 佛山市顺德区中山大学研究院 | 一种基于卷积神经网络的中餐食物识别方法 |
CN108460089A (zh) * | 2018-01-23 | 2018-08-28 | 哈尔滨理工大学 | 基于Attention神经网络的多元特征融合中文文本分类方法 |
Non-Patent Citations (2)
Title |
---|
孟奎 等: ""基于字符级循环网络的查询意图识别模型"", 《计算机工程》 * |
李平 等: ""双通道卷积神经网络在文本情感分析中的应用"", 《计算机应用》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059220A (zh) * | 2019-04-12 | 2019-07-26 | 北京工业大学 | 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 |
CN110119353A (zh) * | 2019-04-18 | 2019-08-13 | 上海蔚来汽车有限公司 | 测试数据生成方法、装置以及控制器和介质 |
CN110119353B (zh) * | 2019-04-18 | 2023-10-10 | 上海蔚来汽车有限公司 | 测试数据生成方法、装置以及控制器和介质 |
CN110135306B (zh) * | 2019-04-30 | 2022-07-26 | 电子科技大学 | 基于角度损失函数的行为识别方法 |
CN110135306A (zh) * | 2019-04-30 | 2019-08-16 | 电子科技大学 | 基于角度损失函数的行为识别方法 |
CN110287283A (zh) * | 2019-05-22 | 2019-09-27 | 中国平安财产保险股份有限公司 | 意图模型训练方法、意图识别方法、装置、设备及介质 |
CN110287283B (zh) * | 2019-05-22 | 2023-08-01 | 中国平安财产保险股份有限公司 | 意图模型训练方法、意图识别方法、装置、设备及介质 |
CN110196979A (zh) * | 2019-06-05 | 2019-09-03 | 深圳市思迪信息技术股份有限公司 | 基于分布式系统的意图识别方法及装置 |
CN110196979B (zh) * | 2019-06-05 | 2023-07-25 | 深圳市思迪信息技术股份有限公司 | 基于分布式系统的意图识别方法及装置 |
WO2020248366A1 (zh) * | 2019-06-14 | 2020-12-17 | 平安科技(深圳)有限公司 | 文本意图智能分类方法、装置及计算机可读存储介质 |
CN110297888B (zh) * | 2019-06-27 | 2022-05-03 | 四川长虹电器股份有限公司 | 一种基于前缀树与循环神经网络的领域分类方法 |
CN110297888A (zh) * | 2019-06-27 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种基于前缀树与循环神经网络的领域分类方法 |
CN113961698A (zh) * | 2020-07-15 | 2022-01-21 | 上海乐言信息科技有限公司 | 基于神经网络模型的意图分类方法、系统、终端及介质 |
CN112731812A (zh) * | 2020-12-29 | 2021-04-30 | 中国科学院自动化研究所 | 基于神经元增益调制的机器人运动控制方法、系统、装置 |
CN112621760A (zh) * | 2020-12-29 | 2021-04-09 | 中国科学院自动化研究所 | 基于神经元增益基元组合优化的机器人运动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109284406B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284406A (zh) | 基于差异循环神经网络的意图识别方法 | |
Du et al. | Convolution-based neural attention with applications to sentiment classification | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及系统 | |
CN111125358B (zh) | 一种基于超图的文本分类方法 | |
CN109189925A (zh) | 基于点互信息的词向量模型和基于cnn的文本分类方法 | |
CN109918671A (zh) | 基于卷积循环神经网络的电子病历实体关系抽取方法 | |
CN108363695B (zh) | 一种基于双向依赖语法树表征的用户评论属性抽取方法 | |
CN109492227A (zh) | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 | |
CN111291556B (zh) | 基于实体义项的字和词特征融合的中文实体关系抽取方法 | |
CN110287323B (zh) | 一种面向目标的情感分类方法 | |
CN107608956A (zh) | 一种基于cnn‑grnn的读者情绪分布预测算法 | |
CN107480132A (zh) | 一种基于图像内容的古诗词生成方法 | |
CN110969020A (zh) | 基于cnn和注意力机制的中文命名实体识别方法、系统及介质 | |
CN110297888A (zh) | 一种基于前缀树与循环神经网络的领域分类方法 | |
CN111881677A (zh) | 基于深度学习模型的地址匹配算法 | |
CN106055675A (zh) | 一种基于卷积神经网络和距离监督的关系抽取方法 | |
Shuang et al. | A sentiment information collector–extractor architecture based neural network for sentiment analysis | |
CN104008187B (zh) | 一种基于最小编辑距离的半结构化文本匹配方法 | |
CN110826338A (zh) | 一种单选择门与类间度量的细粒度语义相似识别的方法 | |
CN110263174B (zh) | —基于焦点关注的主题类别分析方法 | |
CN113515632B (zh) | 基于图路径知识萃取的文本分类方法 | |
CN111274790A (zh) | 基于句法依存图的篇章级事件嵌入方法及装置 | |
Luo et al. | English text quality analysis based on recurrent neural network and semantic segmentation | |
Moyano | Learning network representations | |
CN112256904A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |