首页> 中国专利> 相似问题匹配方法和户相似问题匹配系统

相似问题匹配方法和户相似问题匹配系统

摘要

本发明涉及一种用户相似问题匹配方法及其系统。该方法包括:对于待匹配问题与目标问题的主要子句的不同类型的问句分别进行关键词的提取,以获得待匹配问题的关键词以及目标问题的关键词;对于目标问题,基于所述目标问题的关键词构建文本语义网络,计算所述关键词的词向量以及在所述文本语义网络中的所述关键词的权重,根据所述关键词的权重和所述关键词的词向量生成目标问题的句向量;以及基于所述待匹配问题的关键词的词向量与所述目标问题的句向量计算得到待匹配问题和目标问题的相似度并基于所述相似度判断待匹配问题与目标问题是否相似。根据本发明,能够提供一种精准度高且灵活度好的相似问题匹配方法。

著录项

  • 公开/公告号CN114936277A

    专利类型发明专利

  • 公开/公告日2022-08-23

    原文格式PDF

  • 申请/专利权人 中国银联股份有限公司;

    申请/专利号CN202210109967.8

  • 申请日2022-01-28

  • 分类号G06F16/335(2019.01);G06F16/35(2019.01);G06F40/211(2020.01);G06F40/216(2020.01);G06F40/30(2020.01);G06K9/62(2022.01);

  • 代理机构中国专利代理(香港)有限公司 72001;中国专利代理(香港)有限公司 72001;

  • 代理人臧霁晨;李啸

  • 地址 200135 上海市浦东新区含笑路36号银联大厦

  • 入库时间 2023-06-19 16:26:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-09

    实质审查的生效 IPC(主分类):G06F16/335 专利申请号:2022101099678 申请日:20220128

    实质审查的生效

说明书

技术领域

本发明涉及计算机技术,具体地涉及一种相似问题匹配方法和相似问题匹配系统。

背景技术

目前用户相似问题的匹配主要有两类方法:一类是基于规则模板的匹配方法,另一种通过训练端到端的分类模型进行相似问题的匹配。

基于规则模板的方法,主要由业务专家根据用户问题的语言的字面表达形式,抽取出代表一类问题的规则模板,有点类似正则表达式,然后结合词典,实现同一类用户问题的匹配。当用户问题比较繁杂,尤其是用户的语言习惯比较复杂的情形,规则模板梳理的工作量会很大,而且容易引起规则之间的冲突,维护工作量非常大,灵活性差。

基于模型的方法主要基于有监督的分类算法进行训练。该方法首先需要人工对用户历史问题进行归类,然后对不同类型问题进行标注形成训练数据,然后基于分类算法训练用户问题的匹配模型。该种方法问题匹配的准确率受到训练数据的影响比较大,对于新增的用户问题就会失效,需要重新标注新的用户问题,重新训练模型。

发明内容

鉴于上述问题,本发明旨在提供一种精准性高且灵活性大的相似问题匹配方法和相似问题匹配系统。

本发明一方面的相似问题匹配方法,其特征在于,该方法用于将待匹配问题与目标问题进行匹配,该方法包括:

对于待匹配问题与目标问题,分别进行问题分解以将待匹配问题与目标问题分解成主要子句和次要子句;

对于待匹配问题与目标问题,分别对于主要子句进行分类以识别待匹配问题与目标问题的主要子句的问句类型;

对于待匹配问题与目标问题的主要子句的不同类型的问句分别进行关键词的提取,以获得待匹配问题的关键词以及目标问题的关键词;

对于目标问题,基于所述目标问题的关键词构建文本语义网络,计算所述关键词的词向量以及在所述文本语义网络中的所述关键词的权重,根据所述关键词的权重和所述关键词的词向量生成目标问题的句向量;以及

基于所述待匹配问题的关键词的词向量与所述目标问题的句向量计算得到待匹配问题和目标问题的相似度并基于所述相似度判断待匹配问题与目标问题是否相似。

可选地,所述对于待匹配问题与目标问题分别进行问题分解以将待匹配问题与目标问题分解成主要子句和次要子句包括:采用二分类的分类器来识别主要子句和次要子句。

可选地,作为所述二分类的分类器采用SVM或者XGBoost。

可选地,对于所述二分类的分类器,在分类器的训练过程中,基于FastText分类模型进行训练,将输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,隐藏层通过求解最大似然函数,根据每个类别的权重和模型参数构建Huffman树并将Huffman树作为输出,而且利用哈夫曼编码对标签进行编码。

可选地,所述对于待匹配问题与目标问题分别对于所述主要子句进行分类以识别待匹配问题与目标问题的主要子句的问句类型包括:采用以下任意一种算法来实现对所述主要子句的分类:逻辑回归、朴素贝叶斯、支持向量机以及XGBoost。

可选地,所述对于待匹配问题与目标问题分别对于主要子句进行分类以识别待匹配问题与目标问题的主要子句的问句类型词:采用基于FastText分类模型训练成的四分类模型将所述主要子句分类成是非句、特指问句、正反问句以及选择问句。

可选地,所述对于待匹配问题与目标问题的主要子句的不同类型的问句分别进行关键词的提取词包括:利用TF-IDF、TextRank以及主题模型三种不同的关键词提取算法分别提取关键词并将分别提取的关键词通过求合集进行合并。

可选地,所述生成目标问题的句向量包括以下子步骤:

将所述目标问题的关键词作为文本语义网络的节点来构造文本语义网络;

计算所述文本语义网络的节点的权重作为关键词的权重;以及

计算所述关键词的词向量并根据所述关键词的词向量以及所述关键词的权重得到目标问题的句向量。

可选地,所述将目标问题的关键词作为文本语义网络的节点来构造文本语义网络包括:

将所述目标问题的关键词作为文本语义网络的节点来构造文本语义网络,其中,相同词语或短语在同一个句子中共同出现,则节点间产生连边;

基于采集跨度为1或2的方式完成节点间的连边的确立;

将各个句子所组成的网络连接,计算各节点的语义相似度并进行合并,构建成文本语义网络。

可选地,所述计算各节点的语义相似度并进行合并包括:

计算各节点间语义相似度,合并相同的节点和连边,同时,合并相似度高于预先设定的阈值的节点和连边且在边合并时两个边的权值相加。

可选地,所述计算所述文本语义网络的节点的权重作为关键词的权重包括:

计算所述节点的点度中心度;

计算所述节点的节点介数;以及

基于所述节点的点度中心度和所述节点的节点介数获得关键词的权重。

可选地,所述计算所述关键词的词向量并根据所述关键词的词向量以及所述关键词的权重得到目标问题的句向量包括:

获得每个关键词的向量表示,得到关键词的词向量;以及

根据所述关键词的词向量以及所述关键词的权重计算得到目标问题的句向量。

可选地,所述基于待匹配问题的关键词与目标问题的句向量计算得到待匹配问题和目标问题的相似度并基于所述相似度判断待匹配问题与目标问题是否相似包括:

计算待匹配问题的关键词与目标问题的句向量的余弦相似度;

基于所述余弦相似度和待匹配问题的关键词的权重计算所述待匹配问题和所述目标问题的相似度;以及

基于所述相似度判断所述待匹配问题与所述目标问题是否相似。

本方面一方面的相似问题匹配系统,其特征在于,该系统用于将待匹配问题与目标问题进行匹配,包括:

问题分解模块,对于待匹配问题与目标问题,分别进行问题分解以将待匹配问题与目标问题分解成主要子句和次要子句;

句子文类模块,对于待匹配问题与目标问题,分别对于所述主要子句进行分类以识别待匹配问题与目标问题的主要子句的问句类型;

关键词提取模块,对于待匹配问题与目标问题的主要子句的不同类型的问句分别进行关键词的提取,以获得待匹配问题的关键词以及目标问题的关键词;

句向量生成模块,对于目标问题,基于所述目标问题的关键词构建文本语义网络,计算所述关键词的词向量以及在所述文本语义网络中的所述关键词的权重,根据所述关键词的权重和所述关键词的词向量生成目标问题的句向量;以及

问题匹配模块,基于所述待匹配问题的关键词的词向量与所述目标问题的句向量计算得到待匹配问题和目标问题的相似度并基于所述相似度判断待匹配问题与目标问题是否相似。

可选地,在所述问题分解模块中,采用二分类的分类器来识别主要子句和次要子句。

可选地,在所述问题分解模块中,作为所述二分类的分类器采用SVM或者XGBoost。

可选地,对于所述二分类的分类器,在分类器的训练过程中,基于FastText分类模型进行训练,将输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,隐藏层通过求解最大似然函数,根据每个类别的权重和模型参数构建Huffman树并将Huffman树作为输出,而且利用哈夫曼编码对标签进行编码。

可选地,在所述句子分类模块中,采用以下任意一种算法来实现对所述主要子句的分类:逻辑回归、朴素贝叶斯、支持向量机以及XGBoost。

可选地,在所述句子分类模块中,采用基于FastText分类模型训练成的四分类模型将用户问题分类成是非句、特指问句、正反问句以及选择问句。

可选地,在所述关键词提取模块中,利用TF-IDF、TextRank以及主题模型三种不同的关键词提取算法分别提取关键词并将分别提取的关键词通过求合集进行合并。

可选地,所述句向量生成模块包括以下子模块:

文本语义网络构建子模块,用于将所述关键词提取模块得到的目标问题的关键词作为文本语义网络的节点来构造文本语义网络;

关键词权重计算子模块,用于计算所述文本语义网络的节点的权重作为关键词的权重;以及

句向量构造子模块,用于获得所述关键词的词向量,根据所述关键词的词向量以及所述关键词的权重得到主要子句的句向量。

可选地,所述关键词文本语义网络的构建子模块执行以下动作:

将所述关键词提取模块得到的目标问题的关键词作为文本语义网络的节点来构造文本语义网络,其中,相同词语或短语在同一个句子中共同出现,则节点间产生连边;

基于采集跨度为1或2的方式完成节点间的连边的确立;

将各个句子所组成的网络连接,计算各节点的语义相似度并进行合并,构建成文本语义网络。

可选地,所述计算各节点的语义相似度并进行合并包括:

计算各节点间语义相似度,合并相同的节点和连边,同时,合并相似度高于预先设定的阈值的节点和连边且在边合并时两个边的权值相加。

可选地,所述关键词权重计算子模块执行以下动作:

计算所述节点的点度中心度;

计算所述节点的节点介数;以及

基于所述节点的点度中心度和所述节点的节点介数获得关键词的权重。

可选地,所述句向量构造子模块执行以下动作:

获得每个关键词的向量表示,得到关键词的词向量;以及

根据所述关键词的词向量以及所述关键词的权重计算得到主要子句的句向量。

可选地,所述问题匹配模块执行以下动作:

计算待匹配问题的关键词与目标问题的句向量的余弦相似度;

基于所述余弦相似度和待匹配问题的关键词的权重计算所述待匹配问题和所述目标问题的相似度;以及

基于所述相似度判断所述待匹配问题与所述目标问题是否相似。

本发明一方面的计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现所述的相似问题匹配方法。

本发明一方面的计算机设备,包括存储模块、处理器以及存储在存储模块上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的相似问题匹配方法。

附图说明

图1是表示本发明的相似问题匹配方法的流程示意图。

图2是表示将用户问题分类成主要子句和次要子句的一个示例。

图3表示文本语义网络的一个示例。

图4是表示以“云闪付”为关键词的词向量表示(200维)的示意图。

图5是表示计算问句的句向量的示意图。

图6是本发明的相似问题匹配系统的结构框图。

具体实施方式

下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。

出于简洁和说明性目的,本文主要参考其示范实施例来描述本发明的原理。但是,本领域技术人员将容易地认识到,相同的原理可等效地应用于所有类型的相似问题匹配方法和相似问题匹配系统并且可以在其中实施这些相同的原理,以及任何此类变化不背离本专利申请的真实精神和范围。

而且,在下文描述中,参考了附图,这些附图图示特定的示范实施例。在不背离本发明的精神和范围的前提下可以对这些实施例进行电、机械、逻辑和结构上的更改。此外,虽然本发明的特征是结合若干实施/实施例的仅其中之一来公开的,但是如针对任何给定或可识别的功能可能是期望和/或有利的,可以将此特征与其他实施/实施例的一个或多个其他特征进行组合。因此,下文描述不应视为在限制意义上的,并且本发明的范围由所附权利要求及其等效物来定义。

诸如“具备”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元(模块)和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元(模块)和步骤的情形。

图1是表示本发明的相似问题匹配方法的流程示意图。

如图1所示,本发明的相似问题匹配方法包括:

问题分解步骤S100:对于待匹配问题和目标问题,分解用户问题,识别问题主要子句和次要子句;

句子分类步骤S200:对于待匹配问题和目标问题,对于用户问题的主要子句进行分类,以识别不同问句类型;

关键词提取步骤S300:对于待匹配问题和目标问题,利用TF-IDF、TextRank以及主题模型三种不同的关键词提取算法,对句子分类步骤S200获得相同问句类型的问句进行关键词提取;以及

句向量生成步骤S400:对于目标问题,根据关键词提取步骤S300获得的关键词,构建图网络,计算不同关键词的权值,生成句向量;以及

问题匹配步骤S500:基于待匹配问题的关键词与目标问题的句向量计算得到所述待匹配问题和所述目标问题的相似度,基于所述相似度判断所述待匹配问题与所述目标问题是否相似。

这里,对于待匹配问题和目标问题都会执行问题分解步骤S100到关键词提取步骤S300,而句向量生成步骤S400只对目标问题执行。

以下,对于这些步骤的具体内容进行详细说明。

首先,说明问题分解步骤S100。

用户一个完整的问题通常由多个句子组成,有些子句信息量大,是问题的主要成分,有些子句则属于冗余无效成分,对判断用户问题类型帮助很小,可以舍弃。譬如“请问一下,我用云闪付还信用卡怎么只能还5000呢?”,前半部分“请问一下”属于次要部分,后半部分“我用云闪付还信用卡怎么只能还5000呢”才是问句的主要部分。首先需要从语义层面识别问句的不同部分。

在问题分解步骤S100中为了识别用户问题的主要子句和次要子句,采用二分类的分类器来实现,例如,譬如SVM分类器和XGBoost算法等。

SVM(Support Vector Machine)分类器是一种在机器学习领域广泛采用的分类模型,在充分训练的情况下的分类准确率可以达到90%以上)。

XGBOOST(极端梯度提升)算法是一种优化的分布式梯度增强函数,具体来说,是在GBDT(Gradient BoostingDecision Tree,梯度提升决策树)的基础上对boosting(提升树)算法进行的改进,其核心为损失函数和求解算法的优化,XGBOOST损失函数建模方式是基于极大似然估计,具体到每个样本上,实际上就是典型的二项分布概率建模式。

接着,对于句子分类步骤S200进行说明。

在句子分类步骤S200中,对于问题分解步骤S100中分类得到的用户问题的主要子句进一步进行分类,以识别不同问句类型。

中文疑问句类型一般分为五种:是非问、特指问句、选择问句、正反问句和反问句。由于反问句一般用户不会用来提问真正的有业务问题,因此,在本发明中不考虑反问句,只考虑前四种问句类型:

(1)是非问句:该种问句的特点是去掉表示疑问的“吗”,前面的句子也是一句完整、正确的话。譬如“云闪付有转账功能吗?”。

(2)特指问句:该种问句包含明显的疑问词,主要包含“5W1H”的疑问词。譬如“请问,怎么在云闪付里面邀请新人?”。这里的5W1H”是指的是原因(何因Why)、对象(何事What)、地点(何地Where)、时间(何时When)、人员(何人Who)、方法(何法How)。

(3)正反问句:这类疑问句的特点是重复动词或形容词,并且句末不使用“吗”,可以使用其他语气助词,比如“呢”或者“啊”等。譬如“请问一分钱坐车的活动还有没有了啊?”。

(4)选择问句:该种问句特点是句子中有“还是”这个连词,句末不用“吗”,同样可以用“呢”、“啊”等语气助词。譬如“明天我去参加家乐福的优惠活动,是要用云闪付还是必须刷卡?”。

本发明的发明人发现,不同类型的问句对问题匹配影响很大,通常情况下,语义相近或语义相匹配的问题,他们的问句类型都是一致,因此,需要对原始问题的主要子句进行分类。

疑问句类型的分类是一个四分类的问题,可以采用逻辑回归、朴素贝叶斯、支持向量机或XGBoost等分类算法实现。

logistic回归是一种广义线性回归(generalized linear model)分析模型,。

贝叶斯方法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的。贝叶斯方法的特点是结合先验概率和后验概率,即避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。贝叶斯分类算法在数据集较大的情况下表现出较高的准确率,同时算法本身也比较简单。

支持向量机(Support Vector Machine,SVM)是一类按监督学习方式对数据进行二元分类的广义线性分类器(generalized linear classifier)。

接着,对于关键词提取步骤S300进行说明。

在关键词提取步骤S300中,利用TF-IDF、TextRank以及主题模型三种不同的关键词提取算法,对句子分类步骤S200获得的相同疑问句类型的问句分别进行关键词提取。

(1)利用TF-IDF算法提取问句关键词

TF-IDF(term frequency–inverse document frequency,词频-逆文档频率)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

TF-IDF优势是简单高效,但是仅仅以词频统计作为衡量一个词是否重要的标准,不够全面,缺少很多重要的语义信息,譬如词性等。

TF-IDF算法有两部分组成,其计算公式如下:

其中,t(i,j)表示特征词i在问题j中的词频-逆文档频率。

(2)利用Text-Rank算法提取问句关键词

TextRank算法是一种应用于文本的关键词提取算法,它基于图的用于关键词抽取和文档摘要的排序算法,由谷歌的网页重要性排序算法PageRank算法改进而来,它利用一篇文档内部的词语间的共现信息(语义)便可以抽取关键词,它能够从一个给定的文本中抽取出该文本的关键词、关键词组,并使用抽取式的自动文摘方法抽取出该文本的关键句,TextRank算法的基本思想是将文档看作一个词的网络,该网络中的链接表示词与词之间的语义关系。

TextRank算法充分利用了文本所包含的信息,但是TextRank算法只依赖文本自身,无法与其他语料建立联系,而且该算法在开始阶段认为每个词的重要程度是一样的,假设与实际情况不符。

其中,In(v

(3)利用主题模型提取问句关键词

主题模型(topic model)是以非监督学习的方式对文集的隐含语义结构进行聚类的统计模型。主题模型主要被用于自然语言处理中的语义分析和文本挖掘问题,例如按主题对文本进行收集、分类和降维;也被用于生物信息学研究。

主题模型不仅考虑了文本的统计信息,还考虑了文本的语义信息,对文本的深层信息进行挖掘,提取文档的核心信息作为文档的关键词。

其中,p(w

在本发明中,考虑到了以上三种关键词抽取算法各有的优缺点,对三种关键词提取算法进行融合,例如采用取它们的合集等的融合方式,由此,能够保证不会漏掉问题中包含重要语义信息的关键词。

接着,说明句向量生成步骤S400中。

在向量生成步骤S400中,对于目标问题,根据关键词提取步骤S300获得的关键词,构建图网络,计算不同关键词的权值,生成句向量。

具体地,句向量生成步骤S400可以分为三个步骤:(1)关键词文本语义网络的构建;(2)关键词权重的计算;以及(3)句向量的构造。

(1)关键词文本语义网络的构建包括:

(a)将关键词提取步骤S300得到的对于所有用户问题抽取的关键词作为文本语义网络的节点来构造网络,词语或短语在同一个句子中共同出现,则它们之间产生连边,共现次数的倒数作为边的权值。

(b)基于采集跨度为1或2的原则,完成连边的确立。若采集的距离过短,如只连接紧邻词语或短语,则可能导致长程关系的缺失,同时却提高了某些无用词汇在网络中的重要度边的建立,若只采集两个紧邻的单词或短语之间的联系,则可能会丢失一些长程的关联,很多重要关系无法记录;若采集距离过长,可能会产生比较多的冗余信息,使某些无用单词在网络中的重要性得到提高。

(c)将各个句子所组成的网络连接,计算各关键词节点间语义相似度,合并相同的节点和连边,同时合并相似度高于阈值的节点和连边,边合并时,两个边的权值相加,就形成一个文本语义网络。

(2)关键词权重的计算

文本语义网络有两个重要统计特性,分别是点度中心度和节点介数,节点的加权点度中心度反映节点在局部范围的聚集性,也就是节点在区域的重要程度。关键词的权重的计算包括:

(a)计算节点的点度中心度,点度中心度是指网络中与该点相连的点的数量,实际上就是该点的度,对于点度数越大,该节点越重要,该节点处于中心地位,其同其他点有较多的关联性,具有较强的局部关键性。文本语义网络中任意一节点v

其中,节点v

(b)计算节点介数,节点介数是指网络中所有最短路径经过该节点的数量比例,反映节点在整个复杂网络中的影响力和对整个网路信息流动的影响。

其中,p(v)表示节点v的节点介数,θ

(c)计算关键词的权重,针对两个文本语义网络信息流动的作用,能够体现节点对整个网络的影响,即考虑节点在局部网络中的重要程度,同时关注节点对网络整体信息流动的影响。如下式计算关键词的权重:

w

其中,α是可调节参数,其取值范围为0≤α≤1。

(3)句向量的构造

首先,基于客服对话语料库和维基百科中文语料进行训练,获得每个词的词向量表示。关键词的词向量集合为:

K={k

其中,j是关键词的个数。

然后,通过如下公式计算用户问题主要子句的句向量:

其中,q

接着,说明问题匹配步骤S500。

在问题匹配步骤S500中基于关键词提取步骤S300获得的待匹配问题的关键词与向量生成步骤S400中获得的目标问题的句向量进行问题匹配,具体包括:

在计算目标问题中的词语与被匹配的问句中间的相似度过程中,除了使用问句的统计信息外,即词的权重,引入包含语义信息的词向量,通过余弦相似度来进行计算,具体的计算公式如下:

其中,S

根据相似度的计算结果进行,对于相似度大于阈值的问题,都可以划分为一类,以实现用户热点问题的归类。

如上所述,本发明的相似问题匹配方法区别于传统的基于规则的用户问题匹配或端到端的模型训练的做法,采取了一种新的相似问题匹配思路。首先针对用户原始问题,训练主次子句识别模型,实现用户问题主要子句和次要词句的分解,逼近用户问题的核心部分,然后训练疑问句分类模型实现不同疑问句类型的识别,缩小相似问句的匹配范围,最后通过构建语义网络,实现关键词权重的精准计算,保证相似问句的精准匹配。

在本发明的问题匹配方法中,通过用户问题步骤S100识别问题主要子句和次要子句,尤其在用户的口语化比较严重,冗余信息比较多的场景,可以有效的规避冗余信息对相似问题匹配带来的影响,真正作为核心语义信息的精准匹配,克服端到端模型方法的缺点。

本发明的问题匹配方法提出的是一种无监督的方法,因此在方法实现过程中,不需要进行用户问题训练数据的标注,不仅节约了大量人员成本,同时提升了用户匹配问题的灵活性,可以方便地实现新用户问题的精准匹配和归集。

在关键词提取步骤S300中,不仅考虑了TF-IDF在文本词形统计方面的特征,还结合TextRank充分利用文本元素直接的关系提取关键词的特征,同时结合了基于主题模型提取问句中隐含关键词提取的优势,大大减少关键词遗漏的可能性。

在句向量生成步骤S400中,构造了关键词的加权语义网络,结合关键词节点的点度中心度和节点的介数,比较准确的计算关键词的权重,从而保障问句的句向量和问句匹配度计算的准确性。

以上对于本发明的本发明的相似问题匹配方法进行了说明,本发明的用户相似问题匹配方法能够应用于各种应用场景,例如搜索领域、人机对话、语义分析等等。

这里,列举本发明的相似问题匹配方法的一个具体实施方式。在该实施方式中将本发明的相似问题匹配方法应用于对于用户热点问题进行匹配归集。

以下是用户问题的具体样例:

“我今天中午12点在屈臣氏刷银联为啥没打62折?我应该给你们提供二维码付款单号吗?在吗?”(“目标问题”)。

“你好我在重庆屈臣氏用银联二维码支付没有62折支付?昨天中午在麦当劳是有优惠的,人呢?还在吗?”(“待匹配问题”)。

本实施方式的相似问题匹配方法的实施过程包括步骤1~步骤5,具体如下:

1.步骤1:问题分解步骤

在问题分解步骤中,分解用户问题,识别用户问题,将用户问题(包括目标问题和待匹配问题)分类成主要子句和次要子句。

要识别一个问题的主要子句和次要子句,只需要训练一个二分类的分类器。为了提升分类器训练的效率,在具体训练过程中,采用基于FastText分类模型(FastText是facebook开源的一个词向量与文本分类工具)进行训练,将输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,隐藏层通过求解最大似然函数,然后根据每个类别的权重和模型参数构建Huffman树,将Huffman树作为输出。利用哈夫曼编码,对标签进行编码,能够极大缩小模型预测目标的数量,能大幅度提升模型训练和预测的效率。

针对上述样例数据,利用训练好的分类模型进行标记,对问句进行分解,得到如图2所示的结果样例。图2是表示将用户问题分类成主要子句和次要子句的一个示例。

最后,可以将所有的主要子句形成一个问句集合S

S

2.步骤2:句子分类步骤

在句子分类步骤中,对于所述用户问题(包括目标问题和待匹配问题)的主要子句进行分类,对于用户问题的主要子句进行分类,识别不同问句类型。

针对问题分解步骤生成的问句集合S

针对不同的问句集合分别执行步骤3至步骤5。

以下是以特指问句集合为例进行说明。

3.步骤3:关键词提取步骤

在关键词提取步骤中,提取用户问题(包括目标问题和待匹配问题)的所有关键词,利用TF-IDF、TextRank以及主题模型三种不同的关键词提取算法用户问题的关键词,然后进行关键词合并,最终获取的关键词集合如下所示:

4.步骤4:句向量生成步骤(仅对于目标问题生成句向量)这里,对于待匹配问题和目标问题都会执行步骤1到步骤3,步骤4只有针对目标问题,即只有目标问题才执行句向量生成步骤。

在句向量生成步骤中,针对步骤3得到的目标问题的关键词构建图网络,计算不同关键词的权值,生成句向量。具体包括:

4.1关键词文本语义网络的构建

(1)基于步骤三所有用户问题抽取的关键词将作为文本语义网络的节点来构造网络,词语或短语在同一个句子中共同出现,则它们之间产生连边,共现次数的倒数作为边的权值;

(2)基于采集跨度为1或2的原则,完成连边的确立;

(3)将各个句子所组成的网络连接,计算各关键词节点间语义相似度,合并相同的节点和连边,同时合并相似度高于阈值的节点和连边,边合并时,两个边的权值相加,就形成一个文本语义网络。图3表示文本语义网络的一个示例。

4.2关键词权重的计算

依据4.1构造的关键词文本语义网络,计算不同关键词的权重。

首先,计算每一个节点的点度中心度,然后计算节点介数,最后计算节点关键词的权重。以关键词“云闪付”为例:

w

其中,v

4.3句向量的构造

基于客服对话语料库和维基百科中文语料进行训练,获得每个词的句向量表示。

本实施方式中选取词向量的维度为200维度。图4是表示以“云闪付”为关键词的词向量表示(200维)的示意图。

接着,通过如下公式计算用户问题主要子句的句向量:

其中,q

以“我今天中午12点在屈臣氏刷银联为啥没打62折?”为例,计算问句的句向量如图5所示。图5是表示计算问句的句向量的示意图。

5.步骤5:问题匹配步骤

在问题匹配步骤中,基于待匹配问题的关键词与目标问题的句向量进行问题匹配。

这里,以待匹配问题问题“你好我在重庆屈臣氏用银联二维码支付没有62折支付?”为例,该问句包含6个关键词:{重庆、屈臣氏、银联、二维码、支付、62折},分别计算这6个关键词与步骤4的目标问题的句向量之间的相似,加权求和,具体计算公式如下:

其中,S

根据实施结果,作为一个示例,匹配度阈值优选地设置为0.75,对相似度效果最好。这里,经过计算得到相似度的值为0.952678,大于阈值0.75,因此,待匹配问题“你好我在重庆屈臣氏用银联二维码支付没有62折支付?”和目标问题“我今天中午12点在屈臣氏刷银联为啥没打62折?”是比较匹配的。

接着,对于本发明的相似问题匹配系统进行说明。

图6是本发明的相似问题匹配系统的结构框图。

如图6所示,本发明的相似问题匹配系统,其特征在于,包括:

问题分解模块100,对于待匹配问题与目标问题,分别进行问题分解以将待匹配问题与目标问题分解成主要子句和次要子句;

句子文类模块200,对于待匹配问题与目标问题,分别对于所述主要子句进行分类以识别待匹配问题与目标问题的主要子句的问句类型;

关键词提取模块300,对于待匹配问题与目标问题的主要子句的不同类型的问句分别进行关键词的提取词;

句向量生成模块400,对于目标问题,基于所述提取的关键词构建文本语义网络,计算所述关键词的词向量以及在所述文本语义网络中的所述关键词的权重,根据所述关键词的权重和所述关键词的词向量生成目标问题的句向量;以及

问题匹配模块500,基于待匹配问题的关键词与目标问题的句向量计算得到待匹配问题和目标问题的相似度并基于所述相似度判断待匹配问题与目标问题是否相似。

其中,在所述问题分解模块100中,采用二分类的分类器来识别主要子句和次要子句。

其中,在所述问题分解模块100中,作为所述二分类的分类器采用SVM或者XGBoost。

其中,对于所述二分类的分类器,在分类器的训练过程中,基于FastText分类模型进行训练,将输入层中的词和词组构成特征向量,再将特征向量通过线性变换映射到隐藏层,隐藏层通过求解最大似然函数,根据每个类别的权重和模型参数构建Huffman树并将Huffman树作为输出,而且利用哈夫曼编码对标签进行编码。

其中,在所述句子分类模块200中,采用以下任意一种算法来实现对所述主要子句的分类:逻辑回归、朴素贝叶斯、支持向量机以及XGBoost。

其中,在所述句子分类模块200中,采用基于FastText分类模型训练成的四分类模型将用户问题分类成是非句、特指问句、正反问句以及选择问句。

在所述关键词提取模块300中,利用TF-IDF、TextRank以及主题模型三种不同的关键词提取算法分别提取关键词并将分别提取的关键词通过求合集进行合并。

其中,所述句向量生成模块400包括以下子模块(未图示):

文本语义网络构建子模块,用于将所述关键词提取模块得到的关键词作为文本语义网络的节点来构造文本语义网络;

关键词权重计算子模块,用于计算所述文本语义网络的节点的权重作为关键词的权重;以及

句向量构造子模块,用于基于语料训练获得所述关键词的词向量,根据所述关键词的词向量以及所述关键词的权重得到主要子句的句向量。

其中,所述关键词文本语义网络的构建子模块执行以下动作:

将所述关键词提取模块得到的所述关键词作为文本语义网络的节点来构造文本语义网络,其中,相同词语或短语在同一个句子中共同出现,则节点间产生连边;基于采集跨度为1或2的方式完成节点间的连边的确立;将各个句子所组成的网络连接,计算各节点的语义相似度并进行合并,构建成文本语义网络。

其中,所述计算各节点的语义相似度并进行合并包括:计算各节点间语义相似度,合并相同的节点和连边,同时,合并相似度高于预先设定的阈值的节点和连边且在边合并时两个边的权值相加。

其中,所述关键词权重计算子模块执行以下动作:计算所述节点的点度中心度;计算所述节点的节点介数;以及基于所述节点的点度中心度和所述节点的节点介数获得关键词的权重。

其中,所述句向量构造子模块执行以下动作:基于语料训练获得每个关键词的向量表示,得到关键词的词向量;以及根据所述关键词的词向量以及所述关键词的权重计算得到主要子句的句向量。

其中,问题匹配模块500执行以下动作:计算待匹配问题的关键词与目标问题的句向量的余弦相似度;基于所述余弦相似度和待匹配问题的关键词的权重计算所述待匹配问题和所述目标问题的相似度;以及基于所述相似度判断所述待匹配问题与所述目标问题是否相似。

本发明还提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的相似问题匹配方法。

本发明还提供一种计算机设备,包括存储模块、处理器以及存储在存储模块上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的相似问题匹配方法。

以上例子主要说明了本发明的相似问题匹配方法和相似问题匹配系统。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号