CN110135551A - 一种基于词向量和循环神经网络的机器人聊天方法 - Google Patents
一种基于词向量和循环神经网络的机器人聊天方法 Download PDFInfo
- Publication number
- CN110135551A CN110135551A CN201910402506.8A CN201910402506A CN110135551A CN 110135551 A CN110135551 A CN 110135551A CN 201910402506 A CN201910402506 A CN 201910402506A CN 110135551 A CN110135551 A CN 110135551A
- Authority
- CN
- China
- Prior art keywords
- sentence
- file
- word
- term vector
- question
- 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
- 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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于词向量和循环神经网络的机器人聊天方法,本发明采用连续词袋模型CBOW训练自主词向量文件,根据词向量计算出句子相似度,并检索出与测试问句相似度最高的问句,并与预设的句子相似度阈值进行比较,低于阈值就利用多层双向网络模型LSTM以及注意力机制attention迭代训练的模型进行生成式回复,高于阈值,就输出最大相似度问句对应的答句进行回复。本发明解决了传统的生成式聊天机器人回复准确度不高的问题。本发明可以显著提高聊天机器人回复的准确性,降低生成式聊天机器人回复的语法语义错误率,相比于单一的生成式聊天机器人具有更高的可解释性,对闲聊领域问答系统的研究具有重要的意义。
Description
技术领域
本发明属于机器人聊天技术领域,尤其一种基于词向量和循环神经网络的机器人聊天方法。
背景技术
随着人工智能技术的迅猛发展,智能聊天机器人技术的研究引起了广泛关注。目前主要应用的技术分为检索式和生成式两种,检索式聊天机器人是通过句子的语法语义进行分析,去数据库里查询最合适输出的答句,因此检索式更适合运用于一些服务行业(如:医学、工业、银行),显然,检索式的重点放在了语料库的质量上,而语料库的质量也成了限制它性能的一大因素;生成式聊天机器人是利用深度学习技术对语料库进行训练,目前最火的模型是seq2seq模型,只要语料库涉及的知识领域够广,理论上可以回答任何领域的问题,因此生成式更适合应用于闲聊领域,只要输入一个问句,模型都会输出概率最大的一句答句,这里的答句是一个个词语组成的,所以生成式聊天机器人很可能出现语义错误问题。
现代社会快速发展的同时,人们面对的压力也日益提升,在闲暇之时有一个聊天机器人解闷成了人们向往的事情,不但可以缓解压力,还可以预防心里疾病,因此生成式聊天机器人的研究成了近年来的重点研究方向。一个完美的聊天机器人不但可以做到有问必答,还应该回答准确,但是利用单一的seq2seq模型训练的机器人往往会产生错误回复,当然在NLP领域,深度学习技术还不够成熟,有一定的错误率是完全可以接受的,但对于一些日常聊天用语,如果回复有语法错误的话,会使该聊天机器人的性能大打折扣,因此如何避免这样的错误,提高机器人的回复准确性和可靠性显得尤为重要
近年来,在NLP领域,对词的表示方法有了新的发展,传统的one-hot方法太过单一,容易产生维度爆炸,且词与词之间没有任何关联性,因此产生了一种词向量的表示方法。Word2vec是一种既能表示词本身又可以考虑语义距离的词向量表示方法,通过训练将每个词映射成K维实数向量,通过词之间的距离来判断它们之间的语义相似度,然后通过词向量可以计算两个句子的相似度,利用句子相似度可以对一些日常用语进行精确的答句输出,将基于词向量句子相似度技术和基于seq2seq模型的深度学习技术相结合,可以显著提高传统的生成式聊天机器人的回复准确度。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于词向量和循环神经网络的机器人聊天方法解决了传统的生成式聊天机器人回复准确度不高的问题。
为了达到以上目的,本发明采用的技术方案为:
本方案提供一种基于词向量和循环神经网络的机器人聊天方法,包括如下步骤:
S1、将原始语料库中问句Q以及答句A文件进行分离处理,得到问答句QA、问句Q以及答句A文件;
S2、加载所述问答句QA文件,利用连续词袋模型CBOW对所述问答句QA文件进行词向量训练,得到词向量文件QA.conv;
S3、加载所述词向量文件QA.conv,利用句子相似度算法计算测试问句与问句Q文件中所有问句之间的相似度,得到句子的最大相似度值most_value;
S4、将所述问句Q以及答句A文件分别进行分词、编码以及句子填补处理,并根据处理结果加载所述词向量文件QA.conv,将问句Q以及答句A文件转换成词向量矩阵embedding;
S5、根据所述词向量矩阵embedding利用循环神经网络LSTM以及注意力机制attention进行迭代训练,得到生成式回复模型;
S6、判断所述最大相似度值most_value是否大于预设的句子相似度阈值base_value,若是,则输出问句Q中最大相似度问句对应的答句进行回复,反之,则加载所述生成式回复模型进行生成式回复,从而完成与机器人的聊天。
进一步地,所述步骤S1中原始语料库为单轮对话语料库。
再进一步地,所述步骤S2包括如下步骤:
S201、将所述问答句QA文件利用结巴工具进行分词处理,得到分词后的QA_cut文本;
S202、统计所述分词后的QA_cut文本中每个词的词频,过滤低频词汇,并将过滤后的QA_cut文本进行编码处理,生成问答句词语字典;
S203、根据所述问答句词语字典利用连续词袋模型CBOW进行词向量训练,得到词向量文件QA.conv。
再进一步地,所述步骤S203包括如下步骤:
S2031、根据所述词语字典随机生成词向量矩阵embedding,并初始化所述词向量矩阵[-1,1],所述词向量矩阵embedding的大小为(vocabulary_size,embedding_size),其中,vocabulary_size表示词语字典大小,embedding_size表示词向量维度;
S2032、根据所述词向量矩阵embedding提取某一中心词的周边单词的词向量,并求解所述周边单词词向量的均值向量;
S2033、将所述均值向量利用逻辑回归进行训练,并将训练得到的概率向量与所述中心词的编码向量相匹配,从而得到词向量文件QA.conv。
再进一步地,所述步骤S2032中周边单词词向量的均值向量avr的表达式如下:
其中,n表示某一中心词的单边词语数量,Vi表示该中心词左侧的i个词语对应的词向量,Wi表示该中心词右侧的i个词语对应的词向量,且i=1,2,3,...n。
再进一步地,所述步骤S3包括如下步骤:
S301、加载所述词向量文件QA.conv,将测试问句与问句Q文件分别进行分词处理,并分别遍历所述词向量文件QA.conv,得到句子中每个词对应的词向量;
S302、将所述每个词对应的词向量在每个维度上进行相加求和,并求解每个维度的平均值,得到每个句子对应的平均词向量;
S303、根据所述每个句子对应的平均词向量利用余弦相似度计算测试问句与问句Q文件中所有问句之间的相似度;
S304、将所述计算结果按降序排列,得到测试问句与问句Q文件中所有问句之间的最大相似度值most_value。
再进一步地,所述步骤S303中利用余弦相似度计算测试问句与问句Q文件中所有问句之间的相似度的表达式如下:
其中,k表示词向量的维度,Aj表示测试问句的平均词向量,Bj表示问句Q文件中任一问句的平均词向量,θ表示向量的夹角。
再进一步地,所述步骤S4包括如下步骤:
S401、将所述问句Q以及答句A文件分别进行分词、编码处理,得到处理后的问句Q以及答句A文件;
S402、将所述处理后的问句Q以及答句A文件分别进行分批次处理,并根据分批处理后的问句Q以及答句A文件计算每批次中最大句子的长度most_lenght;
S403、判断每批次中问句Q以及答句A文件的句子长度是否小于所述最大句子的长度most_lenght,若是,则对所述处理后的问句Q以及答句A文件的句子长度进行补0处理,并进入步骤S404,反之,则不进行补0处理,结束当前问句Q以及答句A的填补处理;
S404、加载所述词向量文件QA.conv,并根据所述词向量文件QA.conv查询每批次的问句Q以及答句A文件中每个词对应的词向量,从而将问句Q以及答句A文件转换成词向量矩阵embedding。
再进一步地,在所述步骤S401中的对答句A文件和问句Q文件的编码处理的方法具体为:在答句A文件中的所有答句的前方加一开始标识符1,在所有答句的后方加一结束标识符2,以及在问句Q文件中的所有问句的后方加一结束标识符2。
再进一步地,所述步骤S6中预设的句子相似度阈值base_value为0.75。
本发明的有益效果:
本发明基于循环神经网络LSTM、词向量、句子相似度技术,通过对测试问句和数据库问句中所有问句进行分词并遍历词向量表,然后通过词向量计算测试问句和语料库问句中所有问句之间的相似度,如果计算得到的最大相似度很高,就直接输出最大相似度问句对应答句进行回复,如果最大相似度较低就利用深度学习网络模型进行生成式回复。该新型聊天机器人方法可以显著提高传统的生成式聊天机器人回复的准确度,尤其是对一些日常聊天用语的回复,通过该方法可以进行精确回复,从而大大提高聊天机器人的性能。在闲聊领域的聊天机器人上,可以提高当前市场上各类型闲聊机器人的回复准确度,让用户有更好的聊天体验。当然,除了在生成式和闲聊型聊天机器人领域的应用,将该方法中的句子相似度部分与目前任意技术的聊天机器人模型相结合,都可以提高机器人的回复准确度,因此,本发明运用于聊天机器人,会促进聊天机器人领域的发展。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
本发明提供了一种基于词向量和循环神经网络的机器人聊天方法解决了传统的生成式聊天机器人回复准确度不高的问题,通过对测试问句和数据库问句中所有问句进行分词并遍历词向量表,然后通过词向量计算测试问句和语料库问句中所有问句之间的相似度,如果计算得到的最大相似度很高,就直接输出最大相似度问句对应答句进行回复,如果最大相似度较低就利用深度学习网络模型进行生成式回复。本发明的聊天机器人实现方法可以显著提高传统的生成式聊天机器人回复的准确度,尤其是对一些日常聊天用语的回复,通过该方法可以进行精确回复,从而大大提高聊天机器人的性能。在闲聊领域的聊天机器人上,可以提高当前市场上各类型闲聊机器人的回复准确度,让用户有更好的聊天体验。当然,除了在生成式和闲聊型聊天机器人领域的应用,将该方法中的句子相似度部分与目前任意技术的聊天机器人模型相结合,可以提高机器人的回复准确度,因此将该新型方法运用于聊天机器人,促进了聊天机器人领域的发展。
如图1所示,本发明公开了一种基于词向量和循环神经网络的机器人聊天方法,其实现方法如下:
S1、将原始语料库中问句Q以及答句A文件进行分离处理,得到问答句QA、问句Q以及答句A文件,在具体实施例中,所述原始语料库为单轮对话语料库,首先将问句和答句进行分离,分别保存问句Q、答句A和问答句QA文件,问句Q、答句A文件用于后续模型的输入,问答句QA文件文用于词向量的训练;
S2、加载所述问答句QA文件,利用连续词袋模型CBOW对所述问答句QA文件进行词向量训练,得到词向量文件QA.conv,其具体为:
S201、将所述问答句QA文件利用结巴工具进行分词处理,得到分词后的QA_cut文本;
S202、统计所述分词后的QA_cut文本中每个词的词频,过滤低频词汇,并将过滤后的QA_cut文本进行编码处理,生成问答句词语字典;
S203、根据所述问答句词语字典利用连续词袋模型CBOW进行词向量训练,得到词向量文件QA.conv,其实施方法如下:
S2031、根据所述词语字典随机生成词向量矩阵embedding,并初始化所述词向量矩阵[-1,1],所述词向量矩阵embedding的大小为(vocabulary_size,embedding_size),其中,vocabulary_size表示词语字典大小,embedding_size表示词向量维度;
S2032、根据所述词向量矩阵embedding提取某一中心词的周边单词的词向量,并求解所述周边单词词向量的均值向量,所述周边单词词向量的均值向量avr的表达式如下:
其中,n表示某一中心词的单边词语数量,Vi表示该中心词左侧的i个词语对应的词向量,Wi表示该中心词右侧的i个词语对应的词向量,且i=1,2,3,...n;
S2033、将所述均值向量利用逻辑回归进行训练,并将训练得到的概率向量与所述中心词的编码向量相匹配,从而得到词向量文件QA.conv,在具体实施例中,将所述均值向量利用逻辑回归进行训练,并将训练得到的概率向量与所述中心词的编码向量相匹配,不断调整权重值和偏差,使训练得到的概率向量去逼近中心词的编码向量,直至损失值降到最低,最终得到的就是训练好的词向量文件QA.conv;
S3、加载所述词向量文件QA.conv,利用句子相似度算法计算测试问句与问句Q文件中所有问句之间的相似度,得到句子的最大相似度值most_value,具体实施例中,有了训练好的词向量文件,接下来利用句子相似度算法计算测试问句和问句Q文件中所有问句之间的相似度,对计算得到的相似度进行降序排列,返回列表的第一个相似度值,即为最大相似度值most_value,其中,
所述利用句子相似度算法计算测试问句与问句Q文件中所有问句之间的相似度,其包括如下步骤:
S301、加载所述词向量文件QA.conv,将测试问句与问句Q文件分别进行分词处理,并分别遍历所述词向量文件QA.conv,得到句子中每个词对应的词向量;
S302、将所述每个词对应的词向量在每个维度上进行相加求和,并求解每个维度的平均值,得到每个句子对应的平均词向量;
S303、根据所述每个句子对应的平均词向量利用余弦相似度计算测试问句与问句Q文件中所有问句之间的相似度,所述利用余弦相似度测试问句与问句Q文件中所有问句之间的相似度的表达式如下:
其中,k表示词向量的维度,Aj表示测试问句的平均词向量,Bj表示问句Q文件中任一问句的平均词向量,θ表示向量的夹角;
S304、将所述计算结果按降序排列,得到测试问句与问句Q文件中所有问句之间的最大相似度值most_value;
S4、将所述问句Q以及答句A文件分别进行分词、编码以及句子填补处理,并根据处理结果加载所述词向量文件QA.conv,将问句Q以及答句A文件转换成词向量矩阵embedding,在具体实施例中,在搭建序列到序列的sequence-to-sequence模型之前,需要对问句Q以及答句A进行预处理,与上述词向量训练类似,首先分别对问句Q以及答句A进行分词、编码处理,接下来是对句子进行填补处理,因为神经网络的输入序列在每个批处理batch中必须是等长的,所以还需要对编码发后的语句进行填补处理,在每个批处理batch中,先求取最大句子的长度most_lenght,小于该长度的句子进行补0处理,答句A的不同之处在于要在答句A的前后加上开始(go)标识符1和结束符(EOS)标识符2,这样才对问句Q以及答句A进行了编码,然后加载词向量文件QA.conv,在词向量文件QA.conv中查询每个词对应的向量,这样将编码以后的句子转换成词向量矩阵embedding,以此来完成神经网络输入序列的组建,其实现方法如下:
S401、将所述问句Q以及答句A文件分别进行分词、编码处理,得到处理后的问句Q以及答句A文件,其中对答句A文件和问句Q文件的编码处理的具体方法为:在答句A文件中的所有答句的前方加一开始标识符1,在所有答句的后方加一结束标识符2,以及在问句Q文件中的所有问句的后方加一结束标识符2;
S402、将所述处理后的问句Q以及答句A文件分别进行分批次处理,并根据分批处理后的问句Q以及答句A文件计算每批次中最大句子的长度most_lenght,在具体实施例中,对处理后的问句Q以及答句A文件分别进行分批次处理,每个批次有批大小batch_size,在每个批次中,根据处理后的问句Q以及答句A文件计算该批次中最大句子的长度most_lenght;
S403、判断每批次中问句Q以及答句A文件的句子长度是否小于所述最大句子的长度most_lenght,若是,则对所述处理后的问句Q以及答句A文件的句子长度进行补0处理,并进入步骤S404,反之,则不进行补0处理,结束当前问句Q以及答句A的填补处理;
S404、加载所述词向量文件QA.conv,并根据所述词向量文件QA.conv查询每批次的问句Q以及答句A文件中每个词对应的词向量,从而将问句Q以及答句A文件转换成词向量矩阵embedding;
S5、根据所述词向量矩阵embedding利用循环神经网络LSTM以及注意力机制attention进行迭代训练,得到生成式回复模型,在具体实施例中,生成式回复模型的搭建主要在这一步,序列到序列模型sequence-to-sequence是由模型编码器和解码器组成,而编码器和解码器可看为两个单独的循环神经网络LSTM,在训练阶段编码器的输入是问句序列,解码器的输入是答句序列,编码器将问句序列编码为一个语义向量C输入给解码器进行关联,深度学习框架tensorflow提供了序列到序列模型sequence-to-sequence的接口可直接调用编码器端的循环神经网络LSTM,循环神经网络LSTM选择了双层双向LSTM网络,双层用于提高网络的复杂度,双向用于利用上下文本进行当前词的预测,比单向有更好的效果,解码器端加入了注意力机制attention,注意力机制attention是对单一的序列到序列模型sequence-to-sequence模型进行了优化,单一的序列到序列模型sequence-to-sequence模型的编码器将问句编码为一个语义向量C输出给解码器,显然问句越长,语义向量C表示的语义越差,而加入了注意力机制attention以后,在解码器阶段预测每一个词语时都会根据上下文选择最合适的语义向量C,这样可以解决长序列问题,达到优化模型的目的,其中,
所述生成式回复模型的参数设置如下:
所述生成式回复模型的批处理句子数量batch_size=50;
所述生成式回复模型的词向量维度embedding_size=300;
所述生成式回复模型的网络隐藏层神经元个数lstm_dims=128
所述生成式回复模型的学习率采用多项式衰减学习率,其中,初始学习率为0.1,最小学习率为0.01,衰减频数为50;
S6、判断所述最大相似度值most_value是否大于预设的句子相似度阈值base_value,若是,则输出问句Q中最大相似度问句对应的答句进行回复,反之,则加载所述生成式回复模型进行生成式回复,从而完成与机器人的聊天,所述预设的句子相似度阈值base_value为0.75,在具体实施例中,如果最大相似度值很大,就说明语料库中有与输入问句很相似的句子,此时如果利用生成式模型进行回复,可能会出现语义错误,导致聊天机器人的回复质量大大降低,有了这一步优化,对于一些常用的对话,可以进行完美回答,显著提升了聊天机器人的回复效果,如果相似度较低,就进行生成式回复,生成式的优点是非常灵活,利用序列到序列模型sequence-to-sequence训练的机器人虽然不能百分之百的准确回复,但回复的语句一般都是最切合于答案的一句话,而且不会出现不能回答的情况,也不会那么死板,往往会出现一些有趣的答复,这正是为什么在闲聊领域生成式聊天机器人这么热门的原因。
本发明通过以上设计解决了传统的生成式聊天机器人回复准确度不高的问题,可以显著提高聊天机器人回复的准确性,降低生成式聊天机器人回复的语法语义错误率,相比于单一的生成式聊天机器人具有更高的可解释性,对闲聊领域问答系统的研究具有重要的意义,并且对闲聊领域问答系统的发展打下基础。
Claims (10)
1.一种基于词向量和循环神经网络的机器人聊天方法,其特征在于,包括如下步骤:
S1、将原始语料库中问句Q以及答句A文件进行分离处理,得到问答句QA、问句Q以及答句A文件;
S2、加载所述问答句QA文件,利用连续词袋模型CBOW对所述问答句QA文件进行词向量训练,得到词向量文件QA.conv;
S3、加载所述词向量文件QA.conv,利用句子相似度算法计算测试问句与问句Q文件中所有问句之间的相似度,得到句子的最大相似度值most_value;
S4、将所述问句Q以及答句A文件分别进行分词、编码以及句子填补处理,并根据处理结果加载所述词向量文件QA.conv,将问句Q以及答句A文件转换成词向量矩阵embedding;
S5、根据所述词向量矩阵embedding利用循环神经网络LSTM以及注意力机制attention进行迭代训练,得到生成式回复模型;
S6、判断所述最大相似度值most_value是否大于预设的句子相似度阈值base_value,若是,则输出问句Q中最大相似度问句对应的答句进行回复,反之,则加载所述生成式回复模型进行生成式回复,从而完成与机器人的聊天。
2.根据权利要求1所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S1中原始语料库为单轮对话语料库。
3.根据权利要求1所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S2包括如下步骤:
S201、将所述问答句QA文件利用结巴工具进行分词处理,得到分词后的QA_cut 文本;
S202、统计所述分词后的QA_cut文本中每个词的词频,过滤低频词汇,并将过滤后的QA_cut文本进行编码处理,生成问答句词语字典;
S203、根据所述问答句词语字典利用连续词袋模型CBOW进行词向量训练,得到词向量文件QA.conv。
4.根据权利要求3所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S203包括如下步骤:
S2031、根据所述词语字典随机生成词向量矩阵embedding,并初始化所述词向量矩阵[-1,1],所述词向量矩阵embedding的大小为(vocabulary_size,embedding_size),其中,vocabulary_size表示词语字典大小,embedding_size表示词向量维度;
S2032、根据所述词向量矩阵embedding提取某一中心词的周边单词的词向量,并求解所述周边单词词向量的均值向量;
S2033、将所述均值向量利用逻辑回归进行训练,并将训练得到的概率向量与所述中心词的编码向量相匹配,从而得到词向量文件QA.conv。
5.根据权利要求4所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S2032中周边单词词向量的均值向量avr的表达式如下:
其中,n表示某一中心词的单边词语数量,Vi表示该中心词左侧的i个词语对应的词向量,Wi表示该中心词右侧的i个词语对应的词向量,且i=1,2,3,...n。
6.根据权利要求1所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S3包括如下步骤:
S301、加载所述词向量文件QA.conv,将测试问句与问句Q文件分别进行分词处理,并分别遍历所述词向量文件QA.conv,得到句子中每个词对应的词向量;
S302、将所述每个词对应的词向量在每个维度上进行相加求和,并求解每个维度的平均值,得到每个句子对应的平均词向量;
S303、根据所述每个句子对应的平均词向量利用余弦相似度计算测试问句与问句Q文件中所有问句之间的相似度;
S304、将所述计算结果按降序排列,得到测试问句与问句Q文件中所有问句之间的最大相似度值most_value。
7.根据权利要求6所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S303中利用余弦相似度计算测试问句与问句Q文件中所有问句之间的相似度的表达式如下:
其中,k表示词向量的维度,Aj表示测试问句的平均词向量,Bj表示问句Q文件中任一问句的平均词向量,θ表示向量的夹角。
8.根据权利要求1所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S4包括如下步骤:
S401、将所述问句Q以及答句A文件分别进行分词、编码处理,得到处理后的问句Q以及答句A文件;
S402、将所述处理后的问句Q以及答句A文件分别进行分批次处理,并根据分批处理后的问句Q以及答句A文件计算每批次中最大句子的长度most_lenght;
S403、判断每批次中问句Q以及答句A文件的句子长度是否小于所述最大句子的长度most_lenght,若是,则对所述处理后的问句Q以及答句A文件的句子长度进行补0处理,并进入步骤S404,反之,则不进行补0处理,结束当前问句Q以及答句A的填补处理;
S404、加载所述词向量文件QA.conv,并根据所述词向量文件QA.conv查询每批次的问句Q以及答句A文件中每个词对应的词向量,从而将问句Q以及答句A文件转换成词向量矩阵embedding。
9.根据权利要求8所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,在所述步骤S401中的对答句A文件和问句Q文件的编码处理的方法具体为:在答句A文件中的所有答句的前方加一开始标识符1,在所有答句的后方加一结束标识符2,以及在问句Q文件中的所有问句的后方加一结束标识符2。
10.根据权利要求1所述的基于词向量和循环神经网络的机器人聊天方法,其特征在于,所述步骤S6中预设的句子相似度阈值base_value为0.75。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910402506.8A CN110135551B (zh) | 2019-05-15 | 2019-05-15 | 一种基于词向量和循环神经网络的机器人聊天方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910402506.8A CN110135551B (zh) | 2019-05-15 | 2019-05-15 | 一种基于词向量和循环神经网络的机器人聊天方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110135551A true CN110135551A (zh) | 2019-08-16 |
CN110135551B CN110135551B (zh) | 2020-07-21 |
Family
ID=67574134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910402506.8A Active CN110135551B (zh) | 2019-05-15 | 2019-05-15 | 一种基于词向量和循环神经网络的机器人聊天方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110135551B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825855A (zh) * | 2019-09-18 | 2020-02-21 | 平安科技(深圳)有限公司 | 基于人工智能的应答方法、装置、计算机设备及存储介质 |
CN110941720A (zh) * | 2019-09-12 | 2020-03-31 | 贵州耕云科技有限公司 | 一种基于知识库的特定人员信息纠错方法 |
CN110956962A (zh) * | 2019-10-17 | 2020-04-03 | 中国第一汽车股份有限公司 | 车载机器人的答复信息确定方法、装置及设备 |
CN112395390A (zh) * | 2020-11-17 | 2021-02-23 | 平安科技(深圳)有限公司 | 意图识别模型的训练语料生成方法及其相关设备 |
CN112699244A (zh) * | 2021-03-16 | 2021-04-23 | 成都信息工程大学 | 基于深度学习的输变电设备缺陷文本分类方法及系统 |
CN112732877A (zh) * | 2019-10-14 | 2021-04-30 | 阿里巴巴集团控股有限公司 | 数据处理的方法、装置和系统 |
CN112784028A (zh) * | 2021-01-25 | 2021-05-11 | 浪潮云信息技术股份公司 | 基于深度学习模型构建智能聊天平台的方法及系统 |
CN112882481A (zh) * | 2021-04-28 | 2021-06-01 | 北京邮电大学 | 一种基于slam的移动式多模态交互导览机器人系统 |
CN114579710A (zh) * | 2022-03-15 | 2022-06-03 | 西南交通大学 | 一种高速列车问题查询模板生成方法 |
CN115905187A (zh) * | 2023-02-16 | 2023-04-04 | 江苏一道云科技发展有限公司 | 一种面向云计算工程技术人员认证的智能化命题系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170024645A1 (en) * | 2015-06-01 | 2017-01-26 | Salesforce.Com, Inc. | Dynamic Memory Network |
CN106484664A (zh) * | 2016-10-21 | 2017-03-08 | 竹间智能科技(上海)有限公司 | 一种短文本间相似度计算方法 |
CN107562792A (zh) * | 2017-07-31 | 2018-01-09 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN107562863A (zh) * | 2017-08-30 | 2018-01-09 | 深圳狗尾草智能科技有限公司 | 聊天机器人回复自动生成方法及系统 |
CN108170853A (zh) * | 2018-01-19 | 2018-06-15 | 广东惠禾科技发展有限公司 | 一种聊天语料自清洗方法、装置和用户终端 |
CN108304437A (zh) * | 2017-09-25 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种自动问答方法、装置及存储介质 |
CN109063174A (zh) * | 2018-08-21 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 查询答案的生成方法及装置、计算机存储介质、电子设备 |
CN109241377A (zh) * | 2018-08-30 | 2019-01-18 | 山西大学 | 一种基于深度学习话题信息增强的文本文档表示方法和装置 |
-
2019
- 2019-05-15 CN CN201910402506.8A patent/CN110135551B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170024645A1 (en) * | 2015-06-01 | 2017-01-26 | Salesforce.Com, Inc. | Dynamic Memory Network |
CN106484664A (zh) * | 2016-10-21 | 2017-03-08 | 竹间智能科技(上海)有限公司 | 一种短文本间相似度计算方法 |
CN107562792A (zh) * | 2017-07-31 | 2018-01-09 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN107562863A (zh) * | 2017-08-30 | 2018-01-09 | 深圳狗尾草智能科技有限公司 | 聊天机器人回复自动生成方法及系统 |
CN108304437A (zh) * | 2017-09-25 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种自动问答方法、装置及存储介质 |
CN108170853A (zh) * | 2018-01-19 | 2018-06-15 | 广东惠禾科技发展有限公司 | 一种聊天语料自清洗方法、装置和用户终端 |
CN109063174A (zh) * | 2018-08-21 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 查询答案的生成方法及装置、计算机存储介质、电子设备 |
CN109241377A (zh) * | 2018-08-30 | 2019-01-18 | 山西大学 | 一种基于深度学习话题信息增强的文本文档表示方法和装置 |
Non-Patent Citations (1)
Title |
---|
安俊颖: ""深度学习方法训练词向量"", 《中国新通信》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941720B (zh) * | 2019-09-12 | 2023-06-09 | 贵州耕云科技有限公司 | 一种基于知识库的特定人员信息纠错方法 |
CN110941720A (zh) * | 2019-09-12 | 2020-03-31 | 贵州耕云科技有限公司 | 一种基于知识库的特定人员信息纠错方法 |
CN110825855A (zh) * | 2019-09-18 | 2020-02-21 | 平安科技(深圳)有限公司 | 基于人工智能的应答方法、装置、计算机设备及存储介质 |
WO2021051615A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于人工智能的应答方法、装置、计算机设备及存储介质 |
CN112732877B (zh) * | 2019-10-14 | 2024-05-17 | 阿里巴巴集团控股有限公司 | 数据处理的方法、装置和系统 |
CN112732877A (zh) * | 2019-10-14 | 2021-04-30 | 阿里巴巴集团控股有限公司 | 数据处理的方法、装置和系统 |
CN110956962A (zh) * | 2019-10-17 | 2020-04-03 | 中国第一汽车股份有限公司 | 车载机器人的答复信息确定方法、装置及设备 |
CN112395390A (zh) * | 2020-11-17 | 2021-02-23 | 平安科技(深圳)有限公司 | 意图识别模型的训练语料生成方法及其相关设备 |
CN112395390B (zh) * | 2020-11-17 | 2023-07-25 | 平安科技(深圳)有限公司 | 意图识别模型的训练语料生成方法及其相关设备 |
CN112784028A (zh) * | 2021-01-25 | 2021-05-11 | 浪潮云信息技术股份公司 | 基于深度学习模型构建智能聊天平台的方法及系统 |
CN112699244A (zh) * | 2021-03-16 | 2021-04-23 | 成都信息工程大学 | 基于深度学习的输变电设备缺陷文本分类方法及系统 |
CN112882481A (zh) * | 2021-04-28 | 2021-06-01 | 北京邮电大学 | 一种基于slam的移动式多模态交互导览机器人系统 |
CN114579710A (zh) * | 2022-03-15 | 2022-06-03 | 西南交通大学 | 一种高速列车问题查询模板生成方法 |
CN114579710B (zh) * | 2022-03-15 | 2023-04-25 | 西南交通大学 | 一种高速列车问题查询模板生成方法 |
CN115905187A (zh) * | 2023-02-16 | 2023-04-04 | 江苏一道云科技发展有限公司 | 一种面向云计算工程技术人员认证的智能化命题系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110135551B (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135551A (zh) | 一种基于词向量和循环神经网络的机器人聊天方法 | |
CN110427490B (zh) | 一种基于自注意力机制的情感对话生成方法与装置 | |
CN108509408B (zh) | 一种句子相似度判断方法 | |
CN110046240B (zh) | 结合关键词检索与孪生神经网络的目标领域问答推送方法 | |
JP7313455B2 (ja) | 発話エージェント | |
CN110162611A (zh) | 一种智能客服应答方法及系统 | |
CN110675859B (zh) | 结合语音与文本的多情感识别方法、系统、介质及设备 | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及系统 | |
CN108536681A (zh) | 基于情感分析的智能问答方法、装置、设备及存储介质 | |
CN109446534A (zh) | 机器翻译方法及装置 | |
CN104598611B (zh) | 对搜索条目进行排序的方法及系统 | |
CN107704482A (zh) | 方法、装置以及程序 | |
CN107704456B (zh) | 识别控制方法以及识别控制装置 | |
CN106897268A (zh) | 文本语义理解方法、装置和系统 | |
CN107705806A (zh) | 一种使用谱图和深卷积神经网络进行语音情感识别的方法 | |
CN110309287A (zh) | 建模对话轮次信息的检索式闲聊对话打分方法 | |
CN106598948A (zh) | 基于长短期记忆神经网络结合自动编码器的情绪识别方法 | |
CN109597876A (zh) | 一种基于强化学习的多轮对话答复选择模型及其方法 | |
CN108763535A (zh) | 信息获取方法及装置 | |
CN108959388A (zh) | 信息生成方法及装置 | |
CN109902164B (zh) | 利用卷积双向自注意网络解决开放长格式视频问答的方法 | |
CN111046155A (zh) | 一种基于fsm多轮问答的语义相似度计算方法 | |
CN111831801B (zh) | 一种人机对话方法及系统 | |
CN114398976A (zh) | 基于bert与门控类注意力增强网络的机器阅读理解方法 | |
CN110222155A (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 |