CN107704563B - 一种问句推荐方法及系统 - Google Patents
一种问句推荐方法及系统 Download PDFInfo
- Publication number
- CN107704563B CN107704563B CN201710908123.9A CN201710908123A CN107704563B CN 107704563 B CN107704563 B CN 107704563B CN 201710908123 A CN201710908123 A CN 201710908123A CN 107704563 B CN107704563 B CN 107704563B
- Authority
- CN
- China
- Prior art keywords
- question
- sentence
- pair
- vector
- pairs
- 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.)
- Active
Links
Images
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/3331—Query processing
-
- 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/3322—Query formulation using system suggestions
-
- 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/3325—Reformulation based on results of preceding query
-
- 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/3349—Reuse of stored results of previous queries
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种问句推荐方法,包括以下步骤:S1:接收语料数据,所述语料数据为多回合的问答数据;S2:将语料数据转化生成正例对,通过随机采样与所述语料数据结合生成反例对;S3:通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵;S4:将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵;S5:将句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量;S6:对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型。本发明还提供了一种用于实现上述方法的问句推荐系统。
Description
技术领域
本发明涉及人工智能领域,特别是一种问句推荐方法及系统。
背景技术
在现有的问答系统中,通常先由用户提出一个问题,然后再由系统将给出一个答案。这种方式,系统经常是被动的根据用户的问题,寻找答案的。请参阅图1,其为现有的问句匹配方法的流程图。现有通常采用基于关键字的问句匹配方法进行问句匹配,具体步骤流程如下:
1)对玩家提交的问句进行分词以及词性标注
2)使用停用词表过滤掉问句中的停用词
3)对玩家提交的问句进行分类,确定问题类型
4)依据问句类型,对关键词进行适当的扩展
5)把关键词分为一般性关键词和“必须含有”的关键词,并对关键词附加不同的权重依据关键词到预先构建好的问答库中去匹配相似问句。
然而,对于现有的问句匹配方法来说,仍然存在以下缺陷:
1、难以正确选择好关键词。
2、难以确定关键词的权重
3、扩展关键词虽然提高了系统的召回率,但如果扩展不适当会极大地降低了检索的正确率。
4、关键词存在一词多义时,问句匹配准确率不高。
5、对于较复杂的问句,系统依靠关键词难以判断用户的真正意图。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供了一种问句推荐方法和系统。
本发明通过以下的方案实现:一种问句推荐方法,包括以下步骤:
S1:接收语料数据,所述语料数据为多回合的问答数据;
S2:将语料数据转化生成正例对,所述正例对为正确的“问题-答案”组成的问答对,或由正确顺序的“问题-下一个问题”组成的问题对;
通过随机采样与所述语料数据结合生成反例对,所述反例对为错误的“问题-答案”组成的问答对,或由错误顺序的“问题-下一个问题”组成的问题对;
或者,所述正例对为:由语料问题与问答库中的相似的问题组成的“问题-问题”问题对;所述反例对为:由语料问题与问答库中不相同的问题组成的“问题-问题”问题对;
S3:通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵;
S4:将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵;
S5:将句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量;
S6:对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型;所述预测模型,用于根据接收的用户问句,获取问句答案或下一个问题。
作为本发明的进一步改进,所述步骤S3中,具体为:将句子进行分词,然后对每个词进行向量化处理,最后再合并成句子向量矩阵。
作为本发明的进一步改进,所述步骤S3中,具体为:对句子中的每个字进行向量化处理,然后再合并成句子向量矩阵。
作为本发明的进一步改进,所述步骤S5具体包括:
S51:通过在卷积神经网络中设置多个过滤器,每个过滤器的输出结果为一个列向量;
S52:将每个列向量输入到池化层中,输出每个列向量中的最大元素;
S53:将池化层中输出的元素合并成一个向量,即该句子的语义向量。
作为本发明的进一步改进,所述步骤S6中具体包括步骤:
S61:通过设置相似度阈值方式判断正例对的余弦相似度和反例对的余弦相似度的差值是否满足要求;具体的模型损失函数为:L=max{0,m-cos(QV1,QV2)+cos(QV1,QV2-)};其中,所述QV1和QV2为正例对的语义向量;所述QV1和QV2-为反例对的语义向量;所述m为设定的相似度阈值;
S62:通过训练优化损失函数,使得该损失函数L数值最小,最后获取预测模型。
本发明还提供了一种问句推荐系统,其包括
语料接收模块,用于接收语料数据,所述语料数据为多回合的问答数据;
正例对生成模块,用于将语料数据转化生成正例对,所述正例对为正确的“问题-答案”组成的问答对,或由正确顺序的“问题-下一个问题”组成的问题对;或者,所述正例对为:由语料问题与问答库中的相似的问题组成的“问题-问题”问题对;
反例对生成模块,用于通过随机采样与所述语料数据结合生成反例对,所述反例对为错误的“问题-答案”组成的问答对,或由错误顺序的“问题-下一个问题”组成的问题对;或者,所述反例对为:由语料问题与问答库中不相同的问题组成的“问题-问题”问题对;
句子向量矩阵获取模块,用于通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵;
点积计算模块,用于将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵;
句子语义向量获取模块,用于将新的句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量;
预测模型获取模块,用于对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型;所述预测模型,用于根据接收的用户问句,获取问句答案或下一个问题。
作为本发明的进一步改进,所述句子向量矩阵获取模块,将句子进行分词,然后对每个词进行向量化处理,最后再合并成句子向量矩阵。
作为本发明的进一步改进,所述句子向量矩阵获取模块,对句子中的每个字进行向量化处理,然后再合并成句子向量矩阵。
作为本发明的进一步改进,所述句子语义向量获取模块,具体包括:
列向量获取模块,用于通过在卷积神经网络中设置多个过滤器,每个过滤器的输出结果为一个列向量;
最大元素获取模块,用于将每个列向量输入到池化层中,输出每个列向量中的最大元素;
语义获取模块,用于将池化层中输出的元素合并成一个向量,即该句子的语义向量。
作为本发明的进一步改进,所述预测模型获取模块,包括
阈值设置模块,用于通过设置相似度阈值方式判断正例对的余弦相似度和反例对的余弦相似度的差值是否满足要求;具体的模型损失函数为:L=max{0,m-cos(QV1,QV2)+cos(QV1,QV2-)};其中,所述QV1和QV2为正例对的语义向量;所述QV1和QV2-为反例对的语义向量;所述m为设定的相似度阈值;
模型获取模块,用于通过训练优化损失函数,使得该损失函数L数值最小,最后获取预测模型。
相比于现有技术,本发明的方法和系统能够根据以前用户的行为和提问规律,预测出用户接下去可能提出什么问题,则可以更好的对答案进行组织。一方面,可以提高答案精准度。当系统无法获得用户接下去来提的问题时,还可以设计话题管理,将用户未提的问题,引到另外的话题上,化解聊天的不足。另一方面,如果能提前知道用户的话题分别,还可以对答案的搜索空间进行缩小,在用户没有提问前,就可以对数据进行搜索,以应对几亿级别的知识库搜索效率问题。
进一步,由于同一个问题可以有很多种表达方式,通常难以把同一问题的所有表达方式都考虑到并放到问句库中。当用户提交了一个不存在于问句库中的问句时,通过本发明还可以很好地从问句库中推荐出一个跟玩家提交的问题相似的问句,并且预测接下去可能提问的问题。从而提高系统问答系统的问答准确率,提升了用户体验。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是现有的问句匹配方法的流程图。
图2是本发明的问句推荐方法的步骤流程图。
图3是正例对和反例对的向量化模型示意图。
图4是本发明的问句推荐系统的模块连接框图。
具体实施方式
以下结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明为了解决现有技术中的技术缺陷,提供了一种问句推荐方法和系统,具体通过以下实施例进行介绍。
实施例1
以下结合一个例子,对本发明的问句推荐方法的步骤流程进行介绍,具体如下:
请同时参阅图2,其为本发明的问句推荐方法的步骤流程图。本发明提供了一种问句推荐方法,包括以下步骤:
S1:接收语料数据,所述语料数据为多回合的问答数据。所述语料在不同用户的聊天日志,抽取问答中用户的每一个提问。
S2:将语料数据转化生成正例对,所述正例对为正确的“问题-答案”组成的问答对,或由正确顺序的“问题-下一个问题”组成的问题对。
通过随机采样与所述语料数据结合生成反例对,所述反例对为错误的“问题-答案”组成的问答对,或由错误顺序的“问题-下一个问题”组成的问题对。
在本步骤中,例如用户有四个提问问句。Q1,Q2,Q3,Q4,首先对它们进行问句对的处理。问句对分为正例对与反例对,例如正例对可以处理为(Q1,Q2),(Q2,Q3),(Q3,Q4),(Q4,Q5)...而,反例对,就是把问句对打乱,例如变成(Q1,Q4),(Q2,Q1),(Q3,Q2),(Q4,Q3)。反例对的合成,是对每一个问句,都随机抽取语料中的另一个问句跟他合成为一对。即合成为错误的前后关系对,让系统学习到怎样是错误的问句顺序。系统的最终目标是通过机器学习的方法,当用户提出问题时,系统能够预测出下一个问题。例如,用户提问的句子是Q3,系统能够预测出接下去,用户可能接下去提出的问题是Q4。
或者,所述正例对为:由语料问题与问答库中的相似的问题组成的“问题-问题”问题对;所述反例对为:由语料问题与问答库中不相同的问题组成的“问题-问题”问题对。
接下来需要对正例对和反例对进行向量化处理,同时参阅图3,其为正例对和反例对的向量化模型示意图。
S3:通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵。
在步骤S3中,可以通过两种方式进行向量化处理,分别如下:
第一种,可以将句子进行分词,然后对每个词进行向量化处理,最后再合并成句子向量矩阵。
第二种,对句子中的每个字进行向量化处理,然后再合并成句子向量矩阵。
具体在应用过程中,可以采用word2vec工具,获得类似[0.792,-0.188,-0.235,0.104,-0.343,...]这样的一个几十到几百维的向量。因为一个句子中,每一个词的维度都是一样的。所以,所有向量上下并接可以形成一个矩阵。假设句子对的向量表示为(QV1,QV2)。而为了防止由于句子长度不一,可以定一个最大的句子长度,不够长的用指定的字符进行填充。
在本实施例中,所述Q2其实包括了正例(Q2+)和反例(Q2-),因此模型的输入是(Q1,Q2+)和(Q1,Q2-)。它们是共用同一个模型的,即模型参数共用。
另外,在本实施例中,若为了对用户的问句进行匹配训练,Q2为问答题库中问句,Q2+表示与Q1相同或相近的问句,Q2-表示与Q1不同的问句。
若为了训练问题和答案的匹配,所述Q2+为语料中的正确答案,Q2-为随机抽取的错误答案;
若为了训练问题和下一个问题的匹配,所述Q2+为正确顺序的问题,Q2-为随机抽取的错误顺序的问题。
S4:将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵。
具体的,在本步骤中,所述隐含层(HL)执行的是一个W*X的变换,W*X是点积运算的操作,其中X表示句子向量矩阵,W表示权重矩阵,通过训练得到。点积指的是矩阵的乘法运算,可以把使得输入CNN的句子向量矩阵变小,加快运算。
S5:将句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量。
进一步,所述步骤S5具体包括:
S51:通过在卷积神经网络(CNN)中设置多个过滤器,每个过滤器的输出结果为一个列向量;
S52:将每个列向量输入到池化层中,输出每个列向量中的最大元素;
S53:将池化层中输出的元素合并成一个向量,即该句子的语义向量。
S6:对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型;所述预测模型,用于根据接收的用户问句,获取问句答案或下一个问题。
具体的,所述步骤S6中具体包括步骤:
S61:通过设置相似度阈值方式判断正例对的余弦相似度和反例对的余弦相似度的差值是否满足要求;具体的模型损失函数为:L=max{0,m-cos(QV1,QV2)+cos(QV1,QV2-)};其中,所述QV1和QV2为正例对的语义向量;所述QV1和QV2-为反例对的语义向量;所述m为设定的相似度阈值;
S62:通过训练优化该损失函数,使得该损失函数L数值最小,最后获取预测模型。
在本步骤中,这里的m代表相似度距离阈值,即原句子和正例的相似度与原句子与反例的相似度差值要大于m。通过不断训练优化损失函数,不断调模型参数,使得损失函数值变小。
以下通过一个例子,介绍本发明的问句推荐方法的应用流程:
步骤1、接收语料数据。所接收的语料数据例子如下:
A-1.你好!
B-1.很好,非常好,你真棒!
A-2.今晚吃什么好呢?
B-2.吃豆腐吧。
A-3.好啊,去哪里吃啊?
B-3.(此处是一个阴笑表情)
步骤2、把多回合问答转化为问题-答案的问答对或者问题-下一问题的问题对,这些问答对或问题对都是正例。
问答对如:(A-1,B-1+),(A-2,B-2+),(A-3,B-3+);问题对如:(A-1,A-2+),(A-2,A-3+),(B-1,B-2+),(B-2,B-3+)。
反例问答对或问题对的生成方法是随机采样,这样就不需要涉及任何人工标注工作了,可以很方便的应用到大数据集上。
例如:B-1-为:他去开会了
步骤3:利用大语料训练word2vec词向量或字向量模型,再加入问答对或问题对语料做增量训练,得到问答对或问题对里面全部词语或字的向量,且向量中包含了一定的语义信息。
例如:“你”字的向量为:[0.2,-0.9,1.6]
步骤4:对问答对或问题对的句子,取对应词或字的向量拼成向量矩阵,得到句子向量矩阵。
例如:“你好”的向量矩阵为(在例子中最长句子的字数为8):[[0.2,-0.9,1.6],[-0.6,-0.1,1.1],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]
步骤5:把句子向量矩阵输入到HL层,句子向量矩阵和权重矩阵进行点积运算,得到新的向量矩阵。
例如:假如训练得到的W是:[[1.2,-0.5,-2.3,1.5,0.6,1.8,2.2,-1.2],[-1.2,-1.5,1.3,1.6,-1.6,1.8,2.5,1.2]],“你好”的向量矩阵用X表示,则:W*X=[[0.54,-1.03,1.37],[0.66,1.23,-3.57]],得到新的向量矩阵只有2行3列。
步骤6:把新获得的句子向量矩阵输入到CNN神经网络中,进行卷积和池化采样操作,得到句子的语义向量。
例如:“你好”的语义向量为(设4个卷积核):[0.4,0.9,0.6,1.2]
步骤7:对句子的语义向量进行非线性变换,优化损失函数,使得损失函数变小,得到预测模型。
例如:设m为0.8,使得损失函数值最小,最好接近0值。例如可以训练到cos(A-1,B-1+)=0.9(正例相似度要大),
cos(A-1,B-1+)=0.05(反例相似度要小),此时L=max{0,0.8-0.9+0.05}=max{0,-0.05}=0(损失函数值最小化)
步骤8:对用户提的问题,利用预测模型预测答案或问题可能提的下一个问题。
例如:用户提问“你好啊”,模型可以预测答案“很好,非常好,你真棒!”,或者预测下一个问题“今晚吃什么好呢?”。
实施例2
为了实现实施例1的问句推荐方法,本实施例2提供了一种问句推荐系统。具体如下:
请参阅图4,其为本发明的问句推荐系统的模块连接框图。本发明还提供了一种问句推荐系统,其包括语料接收模块1、正例对生成模块2、反例对生成模块3、句子向量矩阵获取模块4、点积计算模块5、句子语义向量获取模块6和预测模型获取模块7。
所述语料接收模块1,用于接收语料数据,所述语料数据为多回合的问答数据;
所述正例对生成模块2,用于将语料数据转化生成正例对,所述正例对为正确的“问题-答案”组成的问答对,或由正确顺序的“问题-下一个问题”组成的问题对;或者,所述正例对为:由语料问题与问答库中的相似的问题组成的“问题-问题”问题对;
所述反例对生成模块3,用于通过随机采样与所述语料数据结合生成反例对,所述反例对为错误的“问题-答案”组成的问答对,或由错误顺序的“问题-下一个问题”组成的问题对;或者,所述反例对为:由语料问题与问答库中不相同的问题组成的“问题-问题”问题对;
所述句子向量矩阵获取模块4,用于通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵;
所述点积计算模块5,用于将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵;
所述句子语义向量获取模块6,用于将句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量;
所述预测模型获取模块7,用于对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型;所述预测模型,用于根据接收的用户问句,获取问句答案或下一个问题。
具体的,所述句子向量矩阵获取模块4,将句子进行分词,然后对每个词进行向量化处理,最后再合并成句子向量矩阵。
或者,所述句子向量矩阵获取模块4,也可以对句子中的每个字进行向量化处理,然后再合并成句子向量矩阵。
进一步,所述句子语义向量获取模块6,具体包括:列向量获取模块61、最大元素获取模块62和语义获取模块63。
所述列向量获取模块61,用于通过在卷积神经网络中设置多个过滤器,每个过滤器的输出结果为一个列向量;
所述最大元素获取模块62,用于将每个列向量输入到池化层中,输出每个列向量中的最大元素;
所述语义获取模块63,用于将池化层中输出的元素合并成一个向量,即该句子的语义向量。
进一步,所述预测模型获取模块7,包括阈值设置模块71和模型获取模块72。
所述阈值设置模块71,用于通过设置相似度阈值方式判断正例对的余弦相似度和反例对的余弦相似度的差值是否满足要求;具体的模型损失函数为:L=max{0,m-cos(QV1,QV2)+cos(QV1,QV2-)};其中,所述QV1和QV2为正例对的语义向量;所述QV1和QV2-为反例对的语义向量;所述m为设定的相似度阈值;
所述模型获取模块72,用于通过训练使得该损失函数L数值最小,最后获取预测模型。
本实施例2与实施例1的原理相同,故不赘述。
综上,相比于现有技术,本发明的方法和系统能够根据以前用户的行为和提问规律,预测出用户接下去可能提出什么问题,则可以更好的对答案进行组织。一方面,可以提高答案精准度。当系统无法获得用户接下去来提的问题时,还可以设计话题管理,将用户未提的问题,引到另外的话题上,化解聊天的不足。另一方面,如果能提前知道用户的话题分别,还可以对答案的搜索空间进行缩小,在用户没有提问前,就可以对数据进行搜索,以应对几亿级别的知识库搜索效率问题。
进一步,由于同一个问题可以有很多种表达方式,通常难以把同一问题的所有表达方式都考虑到并放到问句库中。当用户提交了一个不存在于问句库中的问句时,通过本发明还可以很好地从问句库中推荐出一个跟玩家提交的问题相似的问句,并且预测接下去可能提问的问题。从而提高系统问答系统的问答准确率,提升了用户体验。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种问句推荐方法,其特征在于:包括以下步骤:
S1:接收语料数据,所述语料数据为多回合的问答数据;
S2:将语料数据转化生成正例对,所述正例对为正确的“问题-答案”组成的问答对,或由正确顺序的“问题-下一个问题”组成的问题对;
通过随机采样与所述语料数据结合生成反例对,所述反例对为错误的“问题-答案”组成的问答对,或由错误顺序的“问题-下一个问题”组成的问题对;
或者,所述正例对为:由语料问题与问答库中的相似的问题组成的“问题-问题”问题对;所述反例对为:由语料问题与问答库中不相同的问题组成的“问题-问题”问题对;
S3:通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵;
S4:将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵;
S5:将新的句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量;
S6:对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型;所述预测模型,用于根据接收的用户问句,获取问句答案或下一个问题;对用户提的问题,利用所述预测模型预测答案或问题可能提的下一个问题。
2.根据权利要求1所述问句推荐方法,其特征在于:所述步骤S3中,具体为:将句子进行分词,然后对每个词进行向量化处理,最后再合并成句子向量矩阵。
3.根据权利要求1所述问句推荐方法,其特征在于:所述步骤S3中,具体为:对句子中的每个字进行向量化处理,然后再合并成句子向量矩阵。
4.根据权利要求1所述问句推荐方法,其特征在于:所述步骤S5具体包括:
S51:通过在卷积神经网络中设置多个过滤器,每个过滤器的输出结果为一个列向量;
S52:将每个列向量输入到池化层中,输出每个列向量中的最大元素;
S53:将池化层中输出的元素合并成一个向量,即该句子的语义向量。
5.根据权利要求1所述问句推荐方法,其特征在于:所述步骤S6中具体包括步骤:
S61:通过设置相似度阈值方式判断正例对的余弦相似度和反例对的余弦相似度的差值是否满足要求;具体的模型损失函数为:L=max{0,m-cos(QV1,QV2)+cos(QV1,QV2-)};其中,所述QV1和QV2的组合为正例对的语义向量组;所述QV1和QV2-的组合为反例对的语义向量组,所述QV1和所述QV2为句子对的向量表示;所述m为设定的相似度阈值;
S62:通过训练优化该损失函数,使得该损失函数L数值最小,最后获取预测模型。
6.一种问句推荐系统,其特征在于:包括
语料接收模块,用于接收语料数据,所述语料数据为多回合的问答数据;
正例对生成模块,用于将语料数据转化生成正例对,所述正例对为正确的“问题-答案”组成的问答对,或由正确顺序的“问题-下一个问题”组成的问题对;或者,所述正例对为:由语料问题与问答库中的相似的问题组成的“问题-问题”问题对;
反例对生成模块,用于通过随机采样与所述语料数据结合生成反例对,所述反例对为错误的“问题-答案”组成的问答对,或由错误顺序的“问题-下一个问题”组成的问题对;或者,所述反例对为:由语料问题与问答库中不相同的问题组成的“问题-问题”问题对;
句子向量矩阵获取模块,用于通过word2vec模型对正例对和反例对进行词向量化,分别获取句子向量矩阵;
点积计算模块,用于将句子向量矩阵输入到隐含层,句子向量矩阵和权重矩阵进行点积运算,得到新的句子向量矩阵;
句子语义向量获取模块,用于将新的句子向量矩阵输入至卷积神经网络中,进行卷积和池化采样操作,得到句子的语义向量;
预测模型获取模块,用于对句子的语义向量进行非线性变换,求取正例化句子对的语义向量的余弦相似度和反例化句子对的余弦相似度,最后获取预测模型;所述预测模型,用于根据接收的用户问句,获取问句答案或下一个问题;对用户提的问题,利用所述预测模型预测答案或问题可能提的下一个问题。
7.根据权利要求6所述问句推荐系统,其特征在于:所述句子向量矩阵获取模块,将句子进行分词,然后对每个词进行向量化处理,最后再合并成句子向量矩阵。
8.根据权利要求6所述问句推荐系统,其特征在于:所述句子向量矩阵获取模块,对句子中的每个字进行向量化处理,然后再合并成句子向量矩阵。
9.根据权利要求6所述问句推荐系统,其特征在于:所述句子语义向量获取模块,具体包括:
列向量获取模块,用于通过在卷积神经网络中设置多个过滤器,每个过滤器的输出结果为一个列向量;
最大元素获取模块,用于将每个列向量输入到池化层中,输出每个列向量中的最大元素;
语义获取模块,用于将池化层中输出的元素合并成一个向量,即该句子的语义向量。
10.根据权利要求6所述问句推荐系统,其特征在于:所述预测模型获取模块,包括
阈值设置模块,用于通过设置相似度阈值方式判断正例对的余弦相似度和反例对的余弦相似度的差值是否满足要求;具体的模型损失函数为:L=max{0,m-cos(QV1,QV2)+cos(QV1,QV2-)};其中,所述QV1和QV2的组合为正例对的语义向量组;所述QV1和QV2-的组合为反例对的语义向量组,所述QV1和所述QV2为句子对的向量表示;所述m为设定的相似度阈值;
模型获取模块,用于通过训练优化该损失函数,使得该损失函数L数值最小,最后获取预测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710908123.9A CN107704563B (zh) | 2017-09-29 | 2017-09-29 | 一种问句推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710908123.9A CN107704563B (zh) | 2017-09-29 | 2017-09-29 | 一种问句推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704563A CN107704563A (zh) | 2018-02-16 |
CN107704563B true CN107704563B (zh) | 2021-05-18 |
Family
ID=61175615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710908123.9A Active CN107704563B (zh) | 2017-09-29 | 2017-09-29 | 一种问句推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704563B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491515B (zh) * | 2018-03-26 | 2021-10-01 | 中国科学技术大学 | 一种用于校园心理咨询的句对匹配度预测方法 |
CN109902283B (zh) * | 2018-05-03 | 2023-06-06 | 华为技术有限公司 | 一种信息输出方法及装置 |
CN108959404A (zh) * | 2018-06-06 | 2018-12-07 | 北京春雨天下软件有限公司 | 智能追问方法及装置 |
CN108959467B (zh) * | 2018-06-20 | 2021-10-15 | 华东师范大学 | 一种基于强化学习的问句和答案句相关度的计算方法 |
CN108920603B (zh) * | 2018-06-28 | 2021-12-21 | 厦门快商通信息技术有限公司 | 一种基于客服机器模型的客服引导方法 |
CN109063000B (zh) * | 2018-07-06 | 2022-02-01 | 深圳前海微众银行股份有限公司 | 问句推荐方法、客服系统以及计算机可读存储介质 |
CN110852110B (zh) * | 2018-07-25 | 2023-08-04 | 富士通株式会社 | 目标语句提取方法、问题生成方法以及信息处理设备 |
CN109344395B (zh) * | 2018-08-30 | 2022-05-20 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN109582950A (zh) * | 2018-09-25 | 2019-04-05 | 南京大学 | 一种裁判文书说理评估方法 |
CN109508367A (zh) * | 2018-09-30 | 2019-03-22 | 厦门快商通信息技术有限公司 | 自动提取问答语料的方法、在线智能客服系统及电子设备 |
CN109359182B (zh) * | 2018-10-08 | 2020-11-27 | 网宿科技股份有限公司 | 一种应答方法及装置 |
CN109543179A (zh) * | 2018-11-05 | 2019-03-29 | 北京康夫子科技有限公司 | 口语化症状归一化的方法及系统 |
CN109462778B (zh) * | 2018-11-15 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | 一种直播标识的推荐方法以及相关设备 |
CN110162609B (zh) * | 2019-04-11 | 2023-04-07 | 创新先进技术有限公司 | 用于向用户推荐咨询问题的方法及装置 |
CN110083834B (zh) * | 2019-04-24 | 2023-05-09 | 北京百度网讯科技有限公司 | 语义匹配模型训练方法、装置、电子设备及存储介质 |
CN110750987B (zh) * | 2019-10-28 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置及存储介质 |
CN111159340B (zh) * | 2019-12-24 | 2023-11-03 | 重庆兆光科技股份有限公司 | 基于随机优化预测的机器阅读理解的答案匹配方法及系统 |
CN113051375B (zh) * | 2019-12-27 | 2024-06-14 | 阿里巴巴集团控股有限公司 | 基于问答设备的问答数据的处理方法和装置 |
CN112131469A (zh) * | 2020-09-22 | 2020-12-25 | 安徽农业大学 | 一种基于评论文本的深度学习推荐方法 |
CN112256864B (zh) * | 2020-09-23 | 2024-05-14 | 北京捷通华声科技股份有限公司 | 多意图识别的方法、装置、电子设备及可读存储介质 |
CN112257409B (zh) * | 2020-09-30 | 2024-08-30 | 华泰证券股份有限公司 | 一种相似句子对判断方法、系统及存储介质 |
CN112597208A (zh) * | 2020-12-29 | 2021-04-02 | 深圳价值在线信息科技股份有限公司 | 企业名称检索方法、企业名称检索装置及终端设备 |
CN114297354B (zh) * | 2021-12-02 | 2023-12-12 | 南京硅基智能科技有限公司 | 一种弹幕生成方法及装置、存储介质、电子装置 |
CN114781596A (zh) * | 2022-03-28 | 2022-07-22 | 上海易康源医疗健康科技有限公司 | 神经网络训练方法、文本相似度检测方法及对话系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915448A (zh) * | 2015-06-30 | 2015-09-16 | 中国科学院自动化研究所 | 一种基于层次卷积网络的实体与段落链接方法 |
CN105608218A (zh) * | 2015-12-31 | 2016-05-25 | 上海智臻智能网络科技股份有限公司 | 智能问答知识库的建立方法、建立装置及建立系统 |
CN105955965A (zh) * | 2016-06-21 | 2016-09-21 | 上海智臻智能网络科技股份有限公司 | 问句信息处理方法及装置 |
CN106227718A (zh) * | 2016-07-18 | 2016-12-14 | 中国民航大学 | 基于cnn的陆空通话语义一致性校验方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016167424A1 (ko) * | 2015-04-16 | 2016-10-20 | 주식회사 플런티코리아 | 답변 추천 장치, 자동 문장 완성 시스템 및 방법 |
-
2017
- 2017-09-29 CN CN201710908123.9A patent/CN107704563B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915448A (zh) * | 2015-06-30 | 2015-09-16 | 中国科学院自动化研究所 | 一种基于层次卷积网络的实体与段落链接方法 |
CN105608218A (zh) * | 2015-12-31 | 2016-05-25 | 上海智臻智能网络科技股份有限公司 | 智能问答知识库的建立方法、建立装置及建立系统 |
CN105955965A (zh) * | 2016-06-21 | 2016-09-21 | 上海智臻智能网络科技股份有限公司 | 问句信息处理方法及装置 |
CN106227718A (zh) * | 2016-07-18 | 2016-12-14 | 中国民航大学 | 基于cnn的陆空通话语义一致性校验方法 |
Non-Patent Citations (2)
Title |
---|
"基于用户兴趣和需求的问句推荐新方法";许笛 等;《计算机应用与软件》;20160815;第50-52+104页 * |
深度文本匹配综述;庞亮 等;《计算机学报》;20160920;第985-1003页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107704563A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704563B (zh) | 一种问句推荐方法及系统 | |
CN107562792B (zh) | 一种基于深度学习的问答匹配方法 | |
CN108959396B (zh) | 机器阅读模型训练方法及装置、问答方法及装置 | |
CN111538908A (zh) | 搜索排序方法、装置、计算机设备和存储介质 | |
CN109863487A (zh) | 非事实型问答系统和方法及用于其的计算机程序 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN107832326B (zh) | 一种基于深层卷积神经网络的自然语言问答方法 | |
CN110825850B (zh) | 一种自然语言主题分类方法及装置 | |
CN109145083B (zh) | 一种基于深度学习的候选答案选取方法 | |
Liu et al. | Large-scale simple question generation by template-based seq2seq learning | |
JP6973255B2 (ja) | 単語ベクトル変更装置、方法、及びプログラム | |
CN112434134A (zh) | 搜索模型训练方法、装置、终端设备及存储介质 | |
CN114492451B (zh) | 文本匹配方法、装置、电子设备及计算机可读存储介质 | |
CN116775846A (zh) | 领域知识问答方法、系统、设备及介质 | |
WO2018066489A1 (ja) | ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム | |
CN114638236A (zh) | 一种智能问答方法、装置、设备及计算机可读存储介质 | |
CN114239730A (zh) | 一种基于近邻排序关系的跨模态检索方法 | |
CN110633363B (zh) | 一种基于nlp和模糊多准则决策的文本实体推荐方法 | |
CN109977194B (zh) | 基于无监督学习的文本相似度计算方法、系统、设备及介质 | |
CN109740163A (zh) | 应用于深度学习模型的语义表示资源生成方法及装置 | |
CN113780832B (zh) | 舆情文本评分方法、装置、计算机设备和存储介质 | |
Solomonott | Inductive Inference Theory-A Unified Approach to Problems in Pattern Recognition and Artificial Intelligence. | |
CN114020931A (zh) | 知识图谱问答问句实体链接方法及装置 | |
Kumar et al. | Building conversational Question Answer Machine and comparison of BERT and its different variants | |
Yang et al. | Authoritative prediction of website based on deep learning |
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 |