CN109299478A - 基于双向长短期记忆神经网络的智能自动问答方法及系统 - Google Patents
基于双向长短期记忆神经网络的智能自动问答方法及系统 Download PDFInfo
- Publication number
- CN109299478A CN109299478A CN201811478881.2A CN201811478881A CN109299478A CN 109299478 A CN109299478 A CN 109299478A CN 201811478881 A CN201811478881 A CN 201811478881A CN 109299478 A CN109299478 A CN 109299478A
- Authority
- CN
- China
- Prior art keywords
- vector
- text
- question
- word
- long term
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 65
- 230000007787 long-term memory Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000013598 vector Substances 0.000 claims abstract description 148
- 239000011159 matrix material Substances 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000005520 cutting process Methods 0.000 claims abstract description 21
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 14
- 230000007774 longterm Effects 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 claims description 4
- 238000005498 polishing Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 210000004218 nerve net Anatomy 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于双向长短期记忆神经网络的智能自动问答方法及系统。该方法包括首先构建双向长短期记忆神经网络模型和智能自动问答数据库;其次将用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵,并从智能自动问答数据库中提取与特征词相匹配的问题列表,将用户问题矩阵输入到双向长短期记忆神经网络模型得到用户目标向量;最后计算用户目标向量与问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。本发明通过核心特征词匹配以及双向长短期记忆神经网络模型对问题语义的匹配,满足了人们对快速、准确地获取信息的需求。
Description
技术领域
本发明涉及问答系统技术领域,特别是涉及一种基于双向长短期记忆神经网络的智能自动问答方法及系统。
背景技术
问答系统(Question Answering System,QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是目前人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。
智能问答系统以一问一答形式,精确的定位网站用户所需要的提问知识,通过与网站用户进行交互,为网站用户提供个性化的信息服务。将积累的无序语料信息,进行有序和科学的整理,并建立基于知识的分类模型;这些分类模型可以指导新增加的语料咨询和服务信息,节约人力资源,提高信息处理的自动性,降低网站运行成本。基于对网站多年积累的关于政府和企业的基本情况常见问题及其解答,整理为规范的问答库形式,以支撑各种形式问题的智能问答,方便了用户,提高了办事效率,提升了企业形象。
由于信息是现实世界的反映。客观事物均能够通过不同的形式来体现,比如身份证登记和人事档案即从不同的侧面来反映一个人存在的信息,这些信息包括姓名、性别、民族、籍贯、社会关系、政治面貌等,从各个方面来描述这个人,可以说,客观事物的存在与动态演变情况都是由信息反映的。这一概念引入到问答系统中,表现出同一个问题可以有多种说法,如:新来的同学是男孩还是女孩,新来的同学性别是什么。
基于信息检索是传统问答系统的经典方法。其传统问答系统按照以下的流程工作:
1.问题解析(解析问句、理解语义):
处理问题:处理用户输入的自然语言问题,传统问答系统对于问题进行处理和分析,并对问题进行分类,确定问题类型。
生成搜索关键词:问题中的一些词不适合作为搜索关键词,另一些词的搜索权重则较高。传统问答系统需要对于用户的问题进行分析,来获得不同关键词的权重。
2.信息检索(获取可能包含的网页或答案):
传统问答系统使用从用户的问题中得到的关键词,对于数据库中的文档与关键词的计算匹配程度,从而获取若干个可能包含答案的候选文章,并且根据它们的相似度进行排序。
3.答案抽取(从结果中判断并找到结论返回给用户):
段落提取:段落(paragraph)是包含答案的一个小节。问答系统与搜索引擎的区别在于用户期望其返回精确的答案,而不是一个文章或段落。为此首先要从文章中提取出可能包含答案的段落。
答案提取:在答案可能出现的段落被提取到以后,问答系统需要精确抽取段落中所包含的答案。这一步会用到问题分类。同时根据问题的关键词,对于段落中的词进行语义分析,最终找到最有可能是答案的字段。
在传统的问答系统中,主要是针对问题数据的特征词匹配来进行答案匹配,对问题解析层面的处理相对粗糙,此现象在问题数据上的表现更为不好,通过生成搜索关键词的方式无法完全囊括问题的实际语义,忽略了上下文语义,并无法避免关键词进行相似替换后的答案无法查询的问题。因此,在问题中的实际应用中对问题文本数据进行上下文分析及语义理解是十分必要的。
发明内容
本发明的目的是提供一种基于双向长短期记忆神经网络的智能自动问答方法及系统,能够结合问题语义提供问题答案,满足人们对快速、准确地获取信息的需求。
为实现上述目的,本发明提供了如下方案:
一种基于双向长短期记忆神经网络的智能自动问答方法,所述智能自动问答方法包括:
对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵;
构建双向长短期记忆神经网络模型;
将所述问题矩阵依次输入到所述双向长短期记忆神经网络模型中,所述双向长短期记忆神经网络模型依次输出所述问题矩阵对应的目标向量,并将所有所述目标向量存储到智能自动问答数据库中;所述智能自动问答数据库包括问题文本、问题文本对应的目标向量以及问题文本对应的问题答案;
获取用户输入问题文本;
对所述用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵;
从所述智能自动问答数据库中提取与所述特征词相匹配的问题列表;
将所述用户问题矩阵输入到所述双向长短期记忆神经网络模型,得到用户目标向量;
计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
可选的,所述对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵,具体包括:
构建词向量模型库;
将所有自动问答数据中的每个问题文本进行切词处理,得到多个词;
将每个所述问题文本中的每个词与所述词向量模型库中的词进行匹配,若所述问题文本中的词与所述词向量模型库中的词匹配成功,则保留与所述词向量模型库中的词匹配成功的词,若所述问题文本中的词与所述词向量模型库中的词匹配不成功,则将与所述词向量模型库中的词匹配不成功的词替换为0;
将每个问题文本中存在的每个0和保留下的每个词均转化为一个长度为300的向量;
将所有所述向量组合,得到每个问题文本对应的问题矩阵;所述问题矩阵为n*300;n表示所有所述问题文本中字数最长的字数。
可选的,所述将每个问题文本中存在的每个0和保留下的每个词均转化为一个长度为300的向量,具体包括:
采用开源词向量模型"chinese-word-vectors",将每个问题文本中存在的每个0和保留下的每个词均转化为一个长度为300的向量。
可选的,在将每个所述问题文本中的每个词与所述词向量模型库中的词进行匹配之前,还包括:
将所有所述问题文本中字数最长的字数n设置为问题文本统一处理长度;
提取问题文本字数低于n的问题文本,并将字数低于字数n的问题文本用0补齐,使每个问题文本的字数均为n。
可选的,所述构建双向长短期记忆神经网络模型,具体包括:
采用TensorFlow第三方库进行双向长短期记忆神经网络搭建;
确定模型参数和调用函数;
根据所述模型参数、所述调用函数、所述双向长短期记忆神经网络,构建双向长短期记忆神经网络模型;所述双向长短期记忆神经网络模型的输入为n*300的矩阵;所述双向长短期记忆神经网络模型的输出为一个17维的向量。
可选的,所述计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案,具体包括:
采用余弦相似函数,计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
可选的,所述余弦相似函数为其中,S(s1,s2)表示相似度得分,s1表示所述用户目标向量,s2表示所述问题列表中的目标向量,T表示转置。
一种基于双向长短期记忆神经网络的智能自动问答系统,所述智能自动问答系统包括:
问题矩阵得到模块,用于对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵;
双向长短期记忆神经网络模型构建模块,用于构建双向长短期记忆神经网络模型;
目标向量存储模块,用于将所述问题矩阵依次输入到所述双向长短期记忆神经网络模型中,所述双向长短期记忆神经网络模型依次输出所述问题矩阵对应的目标向量,并将所有所述目标向量存储到智能自动问答数据库中;所述智能自动问答数据库包括问题文本、问题文本对应的目标向量以及问题文本对应的问题答案;
用户输入问题文本获取模块,用于获取用户输入问题文本;
特征词和用户问题矩阵得到模块,用于对所述用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵;
问题列表提取模块,用于从所述智能自动问答数据库中提取与所述特征词相匹配的问题列表;
用户目标向量得到模块,用于将所述用户问题矩阵输入到所述双向长短期记忆神经网络模型,得到用户目标向量;
用户所需答案确定模块,用于计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种基于双向长短期记忆神经网络的智能自动问答方法及系统,通过核心特征词匹配以及双向长短期记忆神经网络模型对问题语义的匹配,解决了通过生成搜索关键词的方式无法完全囊括问题的实际语义,忽略了上下文语义,无法避免关键词进行相似替换后的答案无法查询的问题,满足人们对快速、准确地获取信息的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于双向长短期记忆神经网络的智能自动问答方法的流程示意图;
图2为本发明实施例切词代码图;
图3为本发明实施例匹配代码图;
图4为本发明实施例词转化向量代码图;
图5为本发明实施例词向量补0后的示意图;
图6为本发明实施例双向长短期记忆神经网络模型构建代码图;
图7为本发明实施例双向长短期记忆神经网络模型的结构代码图;
图8为本发明实施例基于双向长短期记忆神经网络的智能自动问答系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于双向长短期记忆神经网络的智能自动问答方法及系统,能够结合问题语义提供问题答案,满足人们对快速、准确地获取信息的需求。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
基于上述背景技术可得出结论,如何实现问答系统在问题解析方面能力提升,使得问答系统能够“真正”理解问题并获得正确结论返还给用户,具有市场需求和应用前景。本发明的提出可以使应用领域中的问答系统节省大量人为工作量,避免关键词输入需求过强,贴合当前数据量高速增长、信息量迅速增大的现实情况,各领域问答系统更加智能化检索信息,准确率更高,具有实际意义。
图1为本发明实施例基于双向长短期记忆神经网络的智能自动问答方法的流程示意图,如图1所示,本发明实施例提供的基于双向长短期记忆神经网络的智能自动问答方法包括以下几个步骤:
步骤101:对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵。
步骤102:构建双向长短期记忆神经网络模型。
步骤103:将所述问题矩阵依次输入到所述双向长短期记忆神经网络模型中,所述双向长短期记忆神经网络模型依次输出所述问题矩阵对应的目标向量,并将所有所述目标向量存储到智能自动问答数据库中;所述智能自动问答数据库包括问题文本、问题文本对应的目标向量以及问题文本对应的问题答案。
步骤104:获取用户输入问题文本。
步骤105:对所述用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵。
步骤106:从所述智能自动问答数据库中提取与所述特征词相匹配的问题列表。
步骤107:将所述用户问题矩阵输入到所述双向长短期记忆神经网络模型,得到用户目标向量。
步骤108:计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
步骤101具体包括:
根据实际需求,构建相应领域的词向量模型库。
将所有自动问答数据中的问题文本进行切词处理,切词例子见图2,In输入;Out输出。
将每个所述问题文本中的每个词与所述词向量模型库中的词进行匹配,若所述问题文本中的词与所述词向量模型库中的词匹配成功,则保留与所述词向量模型库中的词匹配成功的词,若所述问题文本中的词与所述词向量模型库中的词匹配不成功,则将与所述词向量模型库中的词匹配不成功的词替换为0,具体代码如图3所示。
采用北京师范大学中文信息处理研究所与中国人民大学DBIIR实验室的研究者开源的开源词向量模型"chinese-word-vectors",将保留下的每个词均转化为一个长度为300的向量,具体代码见图4,此操作可以将问题文本转化为数字矩阵,每个词都可以转化为一个长度为300的向量。下面数据表示其中一个词的向量形式。
array([-2.603470e-01,3.677500e-01,-2.379650e-01,5.301700e-02,-3.628220e-01,-3.212010e-01,-1.903330e-01,1.587220e-01,-7.156200e-02,-4.625400e-02,-1.137860e-01,3.515600e-01,-6.408200e-02,-2.184840e-01,3.286950e-01,-7.110330e-01,1.620320e-01,1.627490e-01,5.528180e-01,1.016860e-01,1.060080e-01,7.820700e-01,-7.537310e-01,-2.108400e-02,-4.758250e-01,-1.130420e-01,-2.053000e-01,6.624390e-01,2.435850e-01,9.171890e-01,-2.090610e-01,-5.290000e-02,-7.969340e-01,2.394940e-01,-9.028100e-02,1.537360e-01,-4.003980e-01,-2.456100e-02,-1.717860e-01,2.037790e-01,-4.344710e-01,-3.850430e-01,-9.366000e-02,3.775310e-01,2.659690e-01,8.879800e-02,2.493440e-01,4.914900e-02,5.996000e-03,3.586430e-01,-1.044960e-01,-5.838460e-01,3.093280e-01,-2.828090e-01,-8.563400e-02,-5.745400e-02,-2.075230e-01,2.845980e-01,1.414760e-01,1.678570e-01,1.957560e-01,7.782140e-01,-2.359000e-01,-6.833100e-02,2.560170e-01,-6.906900e-02,-1.219620e-01,2.683020e-01,1.678810e-01,2.068910e-01,1.987520e-01,6.720900e-02,-3.975290e-01,-7.123140e-01,5.613200e-02,2.586000e-03,5.616910e-01,1.157000e-03,-4.341190e-01,1.977480e-01,2.519540e-01,8.835000e-03,-3.554600e-01,-1.573500e-02,-2.526010e-01,9.355900e-02,-3.962500e-02,-1.628350e-01,2.980950e-01,1.647900e-01,-5.454270e-01,3.888790e-01,1.446840e-01,-7.239600e-02,-7.597800e-02,-7.803000e-03,2.020520e-01,-4.424750e-01,3.911580e-01,2.115100e-01,6.516760e-01,5.668030e-01,5.065500e-02,-1.259650e-01,-3.720640e-01,2.330470e-01,6.659900e-02,8.300600e-02,2.540460e-01,-5.279760e-01,-3.843280e-01,3.366460e-01,2.336500e-01,3.564750e-01,-4.884160e-01,-1.183910e-01,1.365910e-01,2.293420e-01,-6.151930e-01,5.212050e-01,3.412000e-01,5.757940e-01,2.354480e-01,-3.641530e-01,7.373400e-02,1.007380e-01,-3.211410e-01,-3.040480e-01,-3.738440e-01,-2.515150e-01,2.633890e-01,3.995490e-01,4.461880e-01,1.641110e-01,1.449590e-01,-4.191540e-01,2.297840e-01,6.710600e-02,3.316430e-01,-6.026500e-02,-5.130610e-01,1.472570e-01,2.414060e-01,2.011000e-03,-3.823410e-01,-1.356010e-01,3.112300e-01,9.177830e-01,-4.511630e-01,1.272190e-01,-9.431600e-02,-8.216000e-03,-3.835440e-01,2.589400e-02,6.374980e-01,4.931630e-01,-1.865070e-01,4.076900e-01,-1.841000e-03,2.213160e-01,2.253950e-01,-2.159220e-01,-7.611480e-01,-2.305920e-01,1.296890e-01,-1.304100e-01,-4.742270e-01,2.275500e-02,4.255050e-01,1.570280e-01,2.975300e-02,1.931830e-01,1.304340e-01,-3.179800e-02,1.516650e-01,-2.154310e-01,-4.681410e-01,1.007326e+00,-6.698940e-01,-1.555240e-01,1.797170e-01,2.848660e-01,6.216130e-01,1.549510e-01,6.225000e-02,-2.227800e-02,2.561270e-01,-1.006380e-01,2.807900e-02,4.597710e-01,-4.077750e-01,-1.777390e-01,1.920500e-02,-4.829300e-02,4.714700e-02,-3.715200e-01,-2.995930e-01,-3.719710e-01,4.622800e-02,-1.436460e-01,2.532540e-01,-9.334000e-02,-4.957400e-02,-3.803850e-01,5.970110e-01,3.578450e-01,-6.826000e-02,4.735200e-02,-3.707590e-01,-8.621300e-02,-2.556480e-01,-5.950440e-01,-4.757790e-01,1.079320e-01,9.858300e-02,8.540300e-01,3.518370e-01,-1.306360e-01,-1.541590e-01,1.166775e+00,2.048860e-01,5.952340e-01,1.158830e-01,6.774400e-02,6.793920e-01,-3.610700e-01,1.697870e-01,4.118530e-01,4.731000e-03,-7.516530e-01,-9.833700e-02,-2.312220e-01,-7.043300e-02,1.576110e-01,-4.780500e-02,-7.344390e-01,-2.834330e-01,4.582690e-01,3.957010e-01,-8.484300e-02,-3.472550e-01,1.291660e-01,3.838960e-01,-3.287600e-02,-2.802220e-01,5.257030e-01,-3.609300e-02,-4.842220e-01,3.690700e-02,3.429560e-01,2.902490e-01,-1.624650e-01,-7.513700e-02,2.669300e-01,5.778230e-01,-3.074020e-01,-2.183790e-01,-2.834050e-01,1.350870e-01,1.490070e-01,1.438400e-02,-2.509040e-01,-3.376100e-01,1.291880e-01,-3.808700e-01,-4.420520e-01,-2.512300e-01,-1.328990e-01,-1.211970e-01,2.532660e-01,2.757050e-01,-3.382040e-01,1.178070e-01,3.860190e-01,5.277960e-01,4.581920e-01,1.502310e-01,1.226320e-01,2.768540e-01,-4.502080e-01,-1.992670e-01,1.689100e-02,1.188860e-01,3.502440e-01,-4.064770e-01,2.610280e-01,-1.934990e-01,-1.625660e-01,2.498400e-02,-1.867150e-01,-1.954400e-02,-2.281900e-01,-3.417670e-01,-5.222770e-01,-9.543200e-02,-3.500350e-01,2.154600e-02,2.318040e-01,5.395310e-01,-4.223720e-01],dtype=float32)
另外,在将每个所述问题文本中的每个词与所述词向量模型库中的词进行匹配之前,还需要获取所有问题文本中字数最长的字数n设置为问题文本统一处理长度,将每个问题文本转化为向量的同时根据字数n的上限进行补齐。即将问题文本字数向量低于字数n的问题文本用0来进行补齐,使得每个问题文本变成了一个n*300的问题矩阵,如图5所示。
步骤102具体包括:
本发明基于BLSTM神经网络来学习用户输入问题的文本特征。
LSTM网络(LongShort-TermMemory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件,广泛应用在自然语言处理领域。BLSTM神经网络(BidirectionalLong Short-TermMemory)为双向长短期记忆神经网络,BLSTM是LSTM的延伸,BLSTM是将LSTM的计算方式由单向改为双向,在文本处理方面除了理解前面的文本语义同时可以理解后面的文本语义,能够更好的学到上下文的文本语义。
接下来通过对问题矩阵处理输出一个目标向量。计算方法采用BLSTM神经网络来进行目标向量的获取。
使用blstm进行建模,具体采用TensorFlow第三方库进行BLSTM神经网络搭建。TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。TensorFlow可被用于语音识别或图像识别等多项机器学习和深度学习领域。
通过Tensorflow搭建BLSTM神经网络后,只需要设好相应参数并建立正确BLSTM神经网络模型,调用其函数即可。此BLSTM神经网络模型的目标是经过学习获得一个进行文本相似性的目标向量即可。
嵌入层embedding在这里做的就是把句子用向量来表达,向量中的元素代表每个词的索引。每个索引背后都是这个单词的300维词向量。如图6所示,第二层为一个双向网络用于进行上下文语义分析,搭配一个LSTM网络进行语义学习,并返回语义分析的最终结果。最后添加一个输出层,用sigmoid激活函数输出结果,将语义分析层返回的最终结果转化为低维的向量,避免后面进行相似度计算时计算量过大。其中,num_word表示所有问题文本数据中包含的单词数量;embedding_dim为词向量的维度,此处使用的chinese-word-vector维度为300;weights为num_word*300的矩阵表示输入全部词汇的向量库;input_length为文本最大字数n,此处选用的问题文本数据最长为236;trainable为是否自动学习。
神经网络的学习率决定了参数移动到最优值的速度快慢,如果学习率过大,很可能会越过最优值导致函数无法收敛,甚至发散;反之,如果学习率过小,优化的效率可能过低,算法长时间无法收敛,也易使算法陷入局部最优(非凸函数不能保证达到全局最优)。合适的学习率应该是在保证收敛的前提下,能尽快收敛。设置较好的learningrate,需要不断尝试。在一开始的时候,将其设大一点,这样可以使weights快一点发生改变,在迭代一定的epochs之后人工减小学习率。
经过神经网络的计算后,如图7所示,嵌入层训练的参数(param)有15000000个,经过多层神经网络的计算最终输出的参数为17个,可以表示为这个文本输出为一个17维的目标向量,通过这个步骤将每个问题文本都转为一个17维的目标向量。
将每个问答数据中的问题文本数据、答案文本数据、切分好的特征词数据、问题文本经过本发明构建的BLSTM神经网络后,输出向量数据并进行存储,从而构建一个智能自动问答数据库。
步骤104-108具体包括:
将用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵,此处理过程与步骤101处理过程相同。
然后根据特征词,从智能自动问答数据库匹配出中包含特征词的问题文本,并提取出包含特征词的问题列表,缩小搜索范围。
最后将通过相似性判断计算操作再一次缩小范围,具体为将所述用户问题矩阵输入到所述双向长短期记忆神经网络得到用户目标向量,此处理过程与步骤103处理过程相同。然后计算所述用户目标向量与所述问题列表中每个目标向量的相似度,通过相似度的降序排列,将相似度最高的目标向量对应的问题答案确定为用户所需答案。
本发明中采用余弦相似函数来计算计算所述用户目标向量与所述问题列表中每个目标向量的相似度。余弦相似函数如公式(1)所示,给定两个向量s1和s2作为输入,其中,向量s1表示所述用户目标向量,向量s2表示所述问题列表中的目标向量,S(s1,s2)表示相似度得分。
T表示转置。
S(s1,s2)结果为一个[0,1]的数字,S(s1,s2)越接近1说明问题相似度的越高,答案也就越接近。
本发明通过答案检索方法来搭建智能自动问答系统,对输入用户提出的问题返回一个匹配度由低到高的问题列表,缩小搜索范围,然后将使用户可以获得正确答案与结论。(通过返回答案列表,此列表为系统判断相关性最大的降序列表,通过列表可以获得相对应答案)
图8为本发明实施例基于双向长短期记忆神经网络的智能自动问答系统的结构示意图,如图8所示,本发明实施例提供的一种基于双向长短期记忆神经网络的智能自动问答系统包括:
问题矩阵得到模块100,用于对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵。
双向长短期记忆神经网络模型构建模块200,用于构建双向长短期记忆神经网络模型。
目标向量存储模块300,用于将所述问题矩阵依次输入到所述双向长短期记忆神经网络模型中,所述双向长短期记忆神经网络模型依次输出所述问题矩阵对应的目标向量,并将所有所述目标向量存储到智能自动问答数据库中;所述智能自动问答数据库包括问题文本、问题文本对应的目标向量以及问题文本对应的问题答案。
用户输入问题文本获取模块400,用于获取用户输入问题文本。
特征词和用户问题矩阵得到模块500,用于对所述用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵。
问题列表提取模块600,用于从所述智能自动问答数据库中提取与所述特征词相匹配的问题列表。
用户目标向量得到模块700,用于将所述用户问题矩阵输入到所述双向长短期记忆神经网络模型,得到用户目标向量。
用户所需答案确定模块800,用于计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
应用本发明提供的一种基于双向长短期记忆神经网络的智能自动问答方法及系统,不仅通过核心特征词匹配缩小搜索范围,减少计算量,还能够根据双向长短期记忆神经网络模型对缩小搜索范围后的问题语义的匹配,解决了通过生成搜索关键词的方式无法完全囊括问题的实际语义,忽略了上下文语义,无法避免关键词进行相似替换后的答案无法查询的问题,满足了人们对快速、准确地获取信息的需求。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于双向长短期记忆神经网络的智能自动问答方法,其特征在于,所述智能自动问答方法包括:
对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵;
构建双向长短期记忆神经网络模型;
将所述问题矩阵依次输入到所述双向长短期记忆神经网络模型中,所述双向长短期记忆神经网络模型依次输出所述问题矩阵对应的目标向量,并将所有所述目标向量存储到智能自动问答数据库中;所述智能自动问答数据库包括问题文本、问题文本对应的目标向量以及问题文本对应的问题答案;
获取用户输入问题文本;
对所述用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵;
从所述智能自动问答数据库中提取与所述特征词相匹配的问题列表;
将所述用户问题矩阵输入到所述双向长短期记忆神经网络模型,得到用户目标向量;
计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
2.根据权利要求1所述的智能自动问答方法,其特征在于,所述对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵,具体包括:
构建词向量模型库;
将所有自动问答数据中的每个问题文本进行切词处理,得到多个词;
将每个所述问题文本中的每个词与所述词向量模型库中的词进行匹配,若所述问题文本中的词与所述词向量模型库中的词匹配成功,则保留与所述词向量模型库中的词匹配成功的词,若所述问题文本中的词与所述词向量模型库中的词匹配不成功,则将与所述词向量模型库中的词匹配不成功的词替换为0;
将每个问题文本中存在的每个0和保留下的每个词均转化为一个长度为300的向量;
将所有所述向量组合,得到每个问题文本对应的问题矩阵;所述问题矩阵为n*300;n表示所有所述问题文本中字数最长的字数。
3.根据权利要求2所述的智能自动问答方法,其特征在于,所述将每个问题文本中存在的每个0和保留下的每个词均转化为一个长度为300的向量,具体包括:
采用开源词向量模型"chinese-word-vectors",将每个问题文本中存在的每个0和保留下的每个词均转化为一个长度为300的向量。
4.根据权利要求2所述的智能自动问答方法,其特征在于,在将每个所述问题文本中的每个词与所述词向量模型库中的词进行匹配之前,还包括:
将所有所述问题文本中字数最长的字数n设置为问题文本统一处理长度;
提取问题文本字数低于n的问题文本,并将字数低于字数n的问题文本用0补齐,使每个问题文本的字数均为n。
5.根据权利要求2所述的智能自动问答方法,其特征在于,所述构建双向长短期记忆神经网络模型,具体包括:
采用TensorFlow第三方库进行双向长短期记忆神经网络搭建;
确定模型参数和调用函数;
根据所述模型参数、所述调用函数、所述双向长短期记忆神经网络,构建双向长短期记忆神经网络模型;所述双向长短期记忆神经网络模型的输入为n*300的矩阵;所述双向长短期记忆神经网络模型的输出为一个17维的向量。
6.根据权利要求1所述的智能自动问答方法,其特征在于,所述计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案,具体包括:
采用余弦相似函数,计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
7.根据权利要求6所述的智能自动问答方法,其特征在于,所述余弦相似函数为其中,S(s1,s2)表示相似度得分,s1表示所述用户目标向量,s2表示所述问题列表中的目标向量,T表示转置。
8.一种基于双向长短期记忆神经网络的智能自动问答系统,其特征在于,所述智能自动问答系统包括:
问题矩阵得到模块,用于对所有自动问答数据中的问题文本进行切词与向量转化处理,使每一个所述问题文本均转化成一个问题矩阵;
双向长短期记忆神经网络模型构建模块,用于构建双向长短期记忆神经网络模型;
目标向量存储模块,用于将所述问题矩阵依次输入到所述双向长短期记忆神经网络模型中,所述双向长短期记忆神经网络模型依次输出所述问题矩阵对应的目标向量,并将所有所述目标向量存储到智能自动问答数据库中;所述智能自动问答数据库包括问题文本、问题文本对应的目标向量以及问题文本对应的问题答案;
用户输入问题文本获取模块,用于获取用户输入问题文本;
特征词和用户问题矩阵得到模块,用于对所述用户输入问题文本进行切词与向量转化处理,得到特征词和用户问题矩阵;
问题列表提取模块,用于从所述智能自动问答数据库中提取与所述特征词相匹配的问题列表;
用户目标向量得到模块,用于将所述用户问题矩阵输入到所述双向长短期记忆神经网络模型,得到用户目标向量;
用户所需答案确定模块,用于计算所述用户目标向量与所述问题列表中每个目标向量的相似度,并将相似度最高的目标向量对应的问题答案确定为用户所需答案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811478881.2A CN109299478A (zh) | 2018-12-05 | 2018-12-05 | 基于双向长短期记忆神经网络的智能自动问答方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811478881.2A CN109299478A (zh) | 2018-12-05 | 2018-12-05 | 基于双向长短期记忆神经网络的智能自动问答方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109299478A true CN109299478A (zh) | 2019-02-01 |
Family
ID=65142619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811478881.2A Pending CN109299478A (zh) | 2018-12-05 | 2018-12-05 | 基于双向长短期记忆神经网络的智能自动问答方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299478A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033022A (zh) * | 2019-03-08 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 文本的处理方法、装置和存储介质 |
CN111159366A (zh) * | 2019-12-05 | 2020-05-15 | 重庆兆光科技股份有限公司 | 一种基于正交主题表示的问答优化方法 |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
CN111831800A (zh) * | 2019-08-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 问答交互方法、装置、设备及存储介质 |
CN112487211A (zh) * | 2020-12-15 | 2021-03-12 | 交控科技股份有限公司 | 一种轨道交通知识库构建方法及系统 |
WO2021151271A1 (zh) * | 2020-05-20 | 2021-08-05 | 平安科技(深圳)有限公司 | 基于命名实体的文本问答的方法、装置、设备及存储介质 |
CN114386426A (zh) * | 2021-11-25 | 2022-04-22 | 北京容联易通信息技术有限公司 | 一种基于多元语义融合的金牌话术推荐方法及装置 |
WO2022095357A1 (zh) * | 2020-11-03 | 2022-05-12 | 平安科技(深圳)有限公司 | 基于人工智能的智能关联答复方法、装置、计算机设备 |
CN116610776A (zh) * | 2022-12-30 | 2023-08-18 | 摩斯智联科技有限公司 | 车联网智能问答系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425635A (zh) * | 2012-05-15 | 2013-12-04 | 北京百度网讯科技有限公司 | 一种答案推荐方法和装置 |
CN106709018A (zh) * | 2016-12-27 | 2017-05-24 | 羽意互动咨询(北京)有限公司 | 命中预设问题的方法及装置 |
CN107562792A (zh) * | 2017-07-31 | 2018-01-09 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答系统 |
CN108932342A (zh) * | 2018-07-18 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种语义匹配的方法、模型的学习方法及服务器 |
-
2018
- 2018-12-05 CN CN201811478881.2A patent/CN109299478A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425635A (zh) * | 2012-05-15 | 2013-12-04 | 北京百度网讯科技有限公司 | 一种答案推荐方法和装置 |
CN106709018A (zh) * | 2016-12-27 | 2017-05-24 | 羽意互动咨询(北京)有限公司 | 命中预设问题的方法及装置 |
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答系统 |
CN107562792A (zh) * | 2017-07-31 | 2018-01-09 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN108932342A (zh) * | 2018-07-18 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种语义匹配的方法、模型的学习方法及服务器 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033022A (zh) * | 2019-03-08 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 文本的处理方法、装置和存储介质 |
CN111831800A (zh) * | 2019-08-13 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 问答交互方法、装置、设备及存储介质 |
CN111159366A (zh) * | 2019-12-05 | 2020-05-15 | 重庆兆光科技股份有限公司 | 一种基于正交主题表示的问答优化方法 |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
CN111611361B (zh) * | 2020-04-01 | 2022-06-14 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
WO2021151271A1 (zh) * | 2020-05-20 | 2021-08-05 | 平安科技(深圳)有限公司 | 基于命名实体的文本问答的方法、装置、设备及存储介质 |
WO2022095357A1 (zh) * | 2020-11-03 | 2022-05-12 | 平安科技(深圳)有限公司 | 基于人工智能的智能关联答复方法、装置、计算机设备 |
CN112487211A (zh) * | 2020-12-15 | 2021-03-12 | 交控科技股份有限公司 | 一种轨道交通知识库构建方法及系统 |
CN112487211B (zh) * | 2020-12-15 | 2024-04-26 | 交控科技股份有限公司 | 一种轨道交通知识库构建方法及系统 |
CN114386426A (zh) * | 2021-11-25 | 2022-04-22 | 北京容联易通信息技术有限公司 | 一种基于多元语义融合的金牌话术推荐方法及装置 |
CN116610776A (zh) * | 2022-12-30 | 2023-08-18 | 摩斯智联科技有限公司 | 车联网智能问答系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299478A (zh) | 基于双向长短期记忆神经网络的智能自动问答方法及系统 | |
CN107562792B (zh) | 一种基于深度学习的问答匹配方法 | |
CN106295796B (zh) | 基于深度学习的实体链接方法 | |
CN106815252B (zh) | 一种搜索方法和设备 | |
CN110083682A (zh) | 一种基于多轮注意力机制的机器阅读理解答案获取方法 | |
CN104598611B (zh) | 对搜索条目进行排序的方法及系统 | |
CN106156003A (zh) | 一种问答系统中的问句理解方法 | |
CN113127624B (zh) | 问答模型的训练方法及装置 | |
CN108170736A (zh) | 一种基于循环注意力机制的文档快速扫描定性方法 | |
CN110348535A (zh) | 一种视觉问答模型训练方法及装置 | |
CN110232122A (zh) | 一种基于文本纠错与神经网络的中文问句分类方法 | |
CN113705218B (zh) | 基于字符嵌入的事件元素网格化抽取方法、存储介质及电子装置 | |
CN111078847A (zh) | 电力用户意图识别方法、装置、计算机设备和存储介质 | |
CN110895559A (zh) | 模型训练、文本处理方法、装置以及设备 | |
CN113569001A (zh) | 文本处理方法、装置、计算机设备及计算机可读存储介质 | |
JP2018022496A (ja) | 自然言語処理装置に用いられるトレーニングデータを作成する方法と機器 | |
CN111581364B (zh) | 一种面向医疗领域的中文智能问答短文本相似度计算方法 | |
CN112925904A (zh) | 一种基于Tucker分解的轻量级文本分类方法 | |
Yang et al. | Bidirectional LSTM-CRF for biomedical named entity recognition | |
CN110516240B (zh) | 一种基于Transformer的语义相似度计算模型DSSM技术 | |
Zhen et al. | The research of convolutional neural network based on integrated classification in question classification | |
CN110222737A (zh) | 一种基于长短时记忆网络的搜索引擎用户满意度评估方法 | |
Khan et al. | Towards achieving machine comprehension using deep learning on non-GPU machines | |
Xiao et al. | Research and implementation of hybrid recommendation algorithm based on collaborative filtering and word2vec | |
CN116561314B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190201 |
|
RJ01 | Rejection of invention patent application after publication |