CN111581354A - 一种faq问句相似度计算方法及其系统 - Google Patents
一种faq问句相似度计算方法及其系统 Download PDFInfo
- Publication number
- CN111581354A CN111581354A CN202010398632.3A CN202010398632A CN111581354A CN 111581354 A CN111581354 A CN 111581354A CN 202010398632 A CN202010398632 A CN 202010398632A CN 111581354 A CN111581354 A CN 111581354A
- Authority
- CN
- China
- Prior art keywords
- question
- faq
- similarity
- semantic
- candidate
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 76
- 239000013598 vector Substances 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012549 training Methods 0.000 claims description 89
- 238000004422 calculation algorithm Methods 0.000 claims description 51
- 230000011218 segmentation Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000002372 labelling Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 231100000176 abortion Toxicity 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开一种FAQ问句相似度计算方法及其系统,用于提高检索式问答系统的检索结果的准确性。包括:使用文本相似度算法对被检索的问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句;将该问题句输入深度语义匹配模型,得到该问题句的语义向量,再与该FAQ问句的语义向量一起输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;将上述k+L个候选FAQ问句进行并集操作,并与问题句两两配对后再次输入深度语义匹配模型,计算输出问题句与候选FAQ问句的相似度以及相似度的标签类别;将所有候选FAQ问句按相似的标签类别且相似度从高到低排列,输出相似度最大且超过预设阈值的FAQ问句。
Description
技术领域
本申请实施例涉及自然语言处理技术领域,特别涉及一种FAQ问句相似度计算方法及其系统。
背景技术
常用问答对(frequently asked questions,FAQ),即常见的问题与该问题预设答案组成的一对组合,FAQ通常用于检索式问答系统的自动问答业务,检索式问答系统利用预设的标准问答库中存储的一系列常见的问题与该问题预设答案,对用户检索的问题进行解答。标准问答库是一个封闭的集合,在标准问答库中的每一个问题都是具有固定的答案和标题,同时也会对应多种拓展问法和关键词。
用户在使用检索式问答系统进行问题检索时,系统会使用文本相似度算法对被检索的问题与标准问答库中的FAQ问句进行相似度匹配计算,从而找到标准问答库里找到相似度高的展现给用户。然而,随着人文社会的发展,用户使用检索式问答系统检索问题越来越复杂,标准问答库中的FAQ数量也越发庞大,导致检索式问答系统展现的检索结果往往不能令人满意。
现有技术中,为提高检索式问答系统的检索结果准确性,提出了语义相似度计算方法,其思想是在输入层分别对用户的检索问题和标准问答库中的FAQ问句向量化,在表示层使用卷积神经网络(convolutional neural network,CNN)或循环神经网络(recurrentneural network,RNN)等模型表达为低维语义向量,并在匹配层通过距离函数(如cosine距离等)来计算两个语义向量的距离,若距离越小,则说明两个语义向量之间的相似度越大,反之越小。这种语义的相似度计算的模型需要依赖大规模的有监督语料,即需要大规模的人工标注语料。因此,仅基于语义匹配的相似度计算方法或仅文本相似度算法的检索时问答系统存在过度依赖人工标注语料、耗费时间人工成本,或检索结构准确性不高等问题。
发明内容
本申请实施例提供了一种FAQ问句相似度计算方法及其系统,可以提高检索式问答系统的检索结果的准确性。
本申请实施例第一方面提供一种FAQ问句相似度计算方法,包括:
接收被检索的问题句;
使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数;
将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,用于计算出所述问句的语义向量、计算由所述问题句与所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度;
将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;
将所述文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到所述问题句最相似的n个候选FAQ问句,所述n为小于或等于k+L的正整数;
将所述问题句与n个所述候选FAQ问句分别两两配对,得到n个候选问句对,将所述n个候选问句对再次输入所述深度语义匹配模型,分别输出所述问题句与n个所述候选FAQ问句是否为相似的标签类别,及对应的相似度;
将与所述问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
可选地,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成包括:
使用所述标准问答库的FAQ问句对构建训练样本集,所述训练样本集的每一个FAQ问句仅对应一个预设答案;
将所述训练样本集中的表达语义相同的FAQ问句两两配对并设置表示相似的标签类别,即正样本;
将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置表示不相似的标签类别,即负样本;
以所述训练样本集的正样本与负样本作为具体下游任务进行对所述现有的预训练模型进行微调训练,构建深度语义匹配模型,所述深度语义匹配模型用于计算出所述问题句的语义向量、以及计算由所述问题句与候选所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度。
可选地,将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置不相似的标签类别,即负样本包括:
使用文本相似度算法给所述正样本的FAQ问句和所述标准问答库中的非正样本FAQ问句进行相似度匹配计算,得出m个候选负样本FAQ问句;
将所述m个候选负样本FAQ问句与所述正样本的FAQ问句两两配对并设置表示不相似的标签类别,即负样本。
可选地,所述训练样本集的正样本与负样本比例为1:m,所述m大于或等于5。
可选地,在所述接收被检索的问题句之前,所述方法还包括:
对所述标准问答库中的FAQ问句建立索引,所述索引包括词汇倒排索引和语义索引模型。
可选地,所述语义索引模型为通过超平面多维近似向量查找工具Annoy对所述标准问答库中的FAQ问句的语义向量创建二叉树集合索引所构建,包括:
使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息;
执行x次使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息的步骤,得到x棵二叉树结构,x大于或等于L;
将所述x棵二叉树结构组成二叉树集合索引,形成语义索引模型。
可选地,所述将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句包括:
将所述问题语义向量作为查询节点,分别对所述语义索引模型的L棵二叉树从所述二叉树结构的根节点向下朝着所述问题语义向量最接近查询节点的路径遍历,得到L个与所述查询节点最近邻的原始数据节点集合;
将所述L个最近邻的原始数据节点集合进行合并、去重,得到y个最近邻的原始数据节点;
使用距离算法计算所述查询节点与每一个所述最近邻的原始数据节点的距离,得到每一个所述最近邻的原始数据节点到所述查询节点的距离值;
根据所述距离值从近到远排列输出L个所述最近邻的原始数据节点;
将L个所述最近邻的原始数据节点对应转化为L个所述候选FAQ问句。
可选地,所述文本相似度算法为BM25算法或TFIDF算法。
本申请实施例第二方面提供一种FAQ问句相似度计算系统,包括:
接收单元,用于接收被检索的问题句;
文本相似度计算单元,用于使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数;
语义向量转化单元,用于将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,同于计算出问句的语义向量;
语义索引单元,用于将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;
并集单元,用于将所述文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到所述问题句最相似的n个候选FAQ问句,所述n为小于或等于k+L的正整数;
标签类别识别单元,用于将所述问题句与n个所述候选FAQ问句分别两两配对,得到n个候选问句对,将所述n个候选问句对再次输入所述深度语义匹配模型,分别输出所述问题句与n个所述候选FAQ问句是否为相似的标签类别,及对应的相似度,所述深度语义匹配模型还用于计算由所述问题句与所述FAQ问句构成的问句对之间是否相似的标签类别,及对应的相似度;
排列输出单元,用于将与所述问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
可选地,所述系统还包括:
训练样本构建单元,用于使用所述标准问答库的FAQ问句对构建训练样本集,所述训练样本集的每一个FAQ问句仅对应一个预设答案;
正样本标注单元,用于将所述训练样本集中的表达语义相同的FAQ问句两两配对并设置表示相似的标签类别,即正样本;
负样本标注单元,用于将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置表示不相似的标签类别,即负样本;
模型微调训练单元,用于以所述训练样本集的正样本与负样本作为具体下游任务进行对所述现有的预训练模型进行微调训练,构建深度语义匹配模型,所述深度语义匹配模型用于计算出所述问题句的语义向量、以及计算由所述问题句与候选所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度。
可选地,所述负样本标注单元将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置不相似的标签类别,即负样本时,具体用于:
使用文本相似度算法给所述正样本的FAQ问句和所述标准问答库中的非正样本FAQ问句进行相似度匹配计算,得出m个候选负样本FAQ问句;
将所述m个候选负样本FAQ问句与所述正样本的FAQ问句两两配对并设置表示不相似的标签类别,即负样本。
可选地,所述训练样本集的正样本与负样本比例为1:m,所述m大于或等于5。
可选地,所述系统还包括:
索引建立单元,用于对所述标准问答库中的FAQ问句建立索引,所述索引包括词汇倒排索引和语义索引模型。
可选地,所述索引建立单元在通过超平面多维近似向量查找工具Annoy对所述标准问答库中的FAQ问句的语义向量创建二叉树集合索引所构建时,具体用于:
同于使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息;
执行x次使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息的步骤,得到x棵二叉树结构,x大于或等于L;
将所述x棵二叉树结构组成二叉树集合索引,形成语义索引模型。
可选地,语义索引单元在将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句时,具体用于:
将所述问题语义向量作为查询节点,分别对所述语义索引模型的L棵二叉树从所述二叉树结构的根节点向下朝着所述问题语义向量最接近查询节点的路径遍历,得到L个与所述查询节点最近邻的原始数据节点集合;
将所述L个最近邻的原始数据节点集合进行合并、去重,得到y个最近邻的原始数据节点;
使用距离算法计算所述查询节点与每一个所述最近邻的原始数据节点的距离,得到每一个所述最近邻的原始数据节点到所述查询节点的距离值;
根据所述距离值从近到远排列输出L个所述最近邻的原始数据节点;
将L个所述最近邻的原始数据节点对应转化为L个所述候选FAQ问句。
可选地,所述文本相似度算法为BM25算法或TFIDF算法。
本申请实施例第三方面提供一种计算机设备,包括:
处理器、存储器;
所述处理器与所述存储器相连;
所述处理器执行所述存储器内存储的如前述第一方面中任一项所述的方法。
本申请实施例第四方面提供一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如前述第一方面中任一项所述的方法。
本申请实施例第五方面提供一种计算机程序产品,所述计算机程序产品在计算机上执行时,使得所述计算机执行如前述第一方面中任一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中通过使用文本相似度算法、深度语义匹配模型以及语义索引模型对被检索的问题句进行检索分析,分别从标准问答库中筛选出的一定数量的候选FAQ问句,再对中筛选出的候选FAQ问句进行并集去重,再将该候选FAQ问句与问题句两两配对再次输入深度语义匹配模型进行相似度与是否相似的标签类别计算,得到问题句与并集去重之后的候选FAQ问句两两之间的语义相似度和是否相似的标签类别,然后再进行对候选FAQ问句按标签类别为相似且语义相似度从高到低排列,输出对应标签类别为相似且语义相似度最大且相似度超过预设阈值的FAQ问句,再根据该FAQ问句对应标准问答库中的答案进行对检索问题句的回复。本申请的技术方案实现了融合传统文本相似度和语义相似度算法,具体来说是结合了文本词汇层面的文本相似度算法和基于预训练模型的深度语义匹配模型的语义相似度算法,不仅可以提高检索式问答系统的检索结果准确性;而且不需要如现有的语义相似度计算方法采用大规模人工标注语料,有效降低对人工标注语料的依赖,起到节约时间与人力的优点。
附图说明
图1为本申请实施例FAQ问句相似度计算方法的一个流程示意图;
图2为本申请实施例FAQ问句相似度计算方法的深度语义匹配模型训练的一个流程示意图;
图3为本申请实施例FAQ问句相似度计算方法的语义索引模型构建的一个流程示意图;
图4为本申请实施例FAQ问句相似度计算系统的一个结构示意图;
图5为本申请实施例FAQ问句相似度计算系统的另一个结构示意图;
图6为本申请实施例计算机设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种FAQ问句相似度计算方法及其系统,用于提高检索式问答系统的检索结果准确性。
请参阅图1,本申请FAQ问句相似度计算方法的一个实施例,包括:
101、接收被检索的问题句。
首先,要对标准问答库内的FAQ问句进行相似度计算,需要接收一个被检索用来对比计算的问题句,该问题句一般为短文本。
102、使用文本相似度算法对问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得到文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数。
可以理解的是,每个行业,每个应用场景都可以有自己独特的FAQ问答对知识,本申请实施例中需要预设有标准问答库,标准问答库的建立过程简单来说为:选定某一个应用领域场景(如智能客服、政策咨询等),然后聘请行业专家设计相关领域的FAQ问答对,即设置该领域内常见的问题以及该问题的答案,将这些FAQ问答对整理收集形成该应用领域场景下的一个标准问答库,需要说明的是,标准问答库是一个封闭的集合,标准问答库内每个FAQ问句都有固定的答案和标题,同时对应有多个拓展的问法和关键词。在步骤101接收到需要被检索的问题句之后,可以使用文本相似度算法对问题句和标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,此处的k大于或等于1个。文本相似度算法可以为BM25算法、TFIDF算法等。
更进一步的,请结合图3实施例,在建立了词汇倒排索引之后,在接收到需要被检索的问题句之后,可以利用倒排索引快速实现对标准问答库中相关FAQ问句的锁定,再执行文本相似度算法对问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,从而提高检索效率。
103、将问题句输入深度语义匹配模型,得到问题句的语义向量,深度语义匹配模型基于预训练模型在预设标准问答库中FAQ问句进行微调训练而成,用于计算出问句的语义向量、计算由问题句与FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度。
可以理解的是,预训练模型可以是单向特征表示的自回归预训练语言模型,比如GPT模型;双向特征表示的自编码预训练语言模型,比如BERT、ERNIE、RoBERTa、AlBERT;双向特征表示的自回归预训练语言模型,如XLNet。在步骤101接收到需要被检索的问题句之后,可以将问题句输入深度语义匹配模型,得到问题句的语义向量。深度语义匹配模型基于预训练模型在预设标准问答库中FAQ问句进行微调训练而成,本发明实施例采用BERT、ALBERT等进行预训练所得的预训练语言模型,具体见下面图2实施例,在此不做过多介绍。
104、将问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句。
在步骤103中得到问题句的语义向量之后,可以将问题句的语义向量输入语义索引模型,从而通过语义索引模型输出与该问题句的语义相似度最高的L个候选FAQ问句,需要说明的是,语义索引模型需要预先设置。在一个实施例中,通过超平面多维近似向量查找工具Annoy对标准问答库中的FAQ问句的语义向量创建二叉树集合索引所构建。语义索引模型的建立过程请参考图3实施例,在此不做过多介绍,使用语义索引模型对标准问答库内的FAQ问句进行检索,可以提高检索速度。
更进一步的,请结合图3的实施例,在建立语义索引之后,在接收到需要被检索的问题句之后将其经过深度语义匹配模型变成问题句的语义向量,即问题句语义向量,可以在二叉树集合索引上的每一棵二叉树上进行遍历,实现快速对标准问答库中相关FAQ问句的锁定。本实施例中的深度语义匹配模型由于上述的训练样本集中存在正负样本的类别区别,还可以实现对正负样本的识别,即可以对问题句与FAQ问句是否为相似的标签类别进行识别,通过深度语义匹配模型实现计算出问题句与标准问答库内的FAQ问句是否相似的标签类别以及相似度,所谓相似度是指两个问句之间的相似概率。
105、将文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到问题句最相似的n个候选问句,n小于或等于k+L的正整数。
在步骤102中得到文本相似度最高的k个候选FAQ问句,在步骤104中得到语义相似度最高的L个候选FAQ问句之后,由于这两种过程得出的k个和L个候选FAQ问句可能存在不同的候选FAQ问句,也有相同的候选FAQ问句,需要对其进行相同的候选FAQ问句去重,不同的候选FAQ问句进行合并,从而形成一个候选FAQ问句集合。可以理解的是,这个候选FAQ问句集合包含与问题句最相似的n个候选问句,n小于或等于k+L,且n大于或等于k或L;当步骤102计算得出的k个候选FAQ问句和步骤103计算得出的L个候选问句都是一样的,那么此时n等于k或L;当步骤102计算得出的k个候选FAQ问句和步骤103计算得出的L个候选问句都不是一样的,那么此时n等于k+L;当步骤102计算得出的k个候选FAQ问句和步骤103计算得出的L个候选问句不都是一样的,那么此时n小于k+L,且n大于k或L。
106、将问题句与n个候选FAQ问句分别两两配对,得到n个候选问句对,将n个候选问句对再次输入深度语义匹配模型,分别输出问题句与n个候选FAQ问句是否为相似的标签类别,及对应的相似度。
在步骤105中形成n个候选FAQ问句的集合之后,这个集合中可能存在有一些在文本相似度算法上与问题句相似度很高,但语义相似度却很低的候选FAQ问句,通过本步骤可以发现这些候选FAQ问句。此时统一将步骤105中并集之后得到的将n个候选FAQ问句输入深度语义匹配模型,从而可以计算输出问题句与n个候选FAQ问句两两之间的相似度以及对应的标签类别。结合文本相似度算法和深度语义匹配模型可以使得二者优势互补,对于单独使用文本相似度算法来说可以提高准确率,深度语义匹配模型比预训练模型具有直接输出问句相似度和是否相似的标签类别的功能,可以提高了语义匹配效率和准确性。
107、将与问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
在步骤106中得到问题句与n个候选FAQ问句两两之间的相似度之后,可以仅将p个标签类别为相似的候选FAQ问句按且相似度从高到低排列,从而输出对应相似度最大且相似度超过预设阈值的FAQ问句,本步骤可以仅排列标签类别为相似的候选FAQ问句,以减少对候选FAQ问句的排列数量,提高排列效率。又由于n个候选FAQ问句可能全部为相似的标签类别,也有可能存在不相似的标签类别,所以p个与问题句相似的候选FAQ问句中,p为小于或等于n的正整数。可以理解的是,为了用户体验感更佳,对输出的FAQ问句还设置有预设阈值的限制和相似度类别限制,也就是说,尽管某一个FAQ问句也许相似度是相似度最大,但是其若与问题句的相似度没有超过预设阈值的话,也不能输出;值得注意的是,需要输出的是标签类别为相似的且对应相似度最大且相似度超过预设阈值的FAQ问句,可以保证输出的FAQ问句的准确性较高且必然与被检索的问题句是语义相同或相似的,该的FAQ问句的答案是用户检索的问题句的答案的几率更高,这样可以一定程度上保证输出的准确性。
本申请中通过使用文本相似度算法、深度语义匹配模型以及语义索引模型对被检索的问题句进行检索分析,分别从标准问答库中筛选出的一定数量的候选FAQ问句,再对中筛选出的候选FAQ问句进行并集去重,再将该候选FAQ问句与问题句两两配对再次输入深度语义匹配模型进行相似度与是否相似的标签类别计算,得到问题句与并集去重之后的候选FAQ问句两两之间的语义相似度和是否相似的标签类别,然后再进行对候选FAQ问句按标签类别为相似且语义相似度从高到低排列,输出对应标签类别为相似且语义相似度最大且相似度超过预设阈值的FAQ问句,再根据该FAQ问句对应标准问答库中的答案进行对检索问题句的回复。本申请的技术方案实现了融合传统文本相似度和语义相似度算法,具体来说是结合了文本词汇层面的文本相似度算法和基于预训练模型的深度语义匹配模型的语义相似度算法,不仅可以提高检索式问答系统的检索结果准确性;而且不需要如现有的语义相似度计算方法采用大规模人工标注语料,有效降低对人工标注语料的依赖,起到节约时间与人力的优点。
请参阅图2,本申请FAQ问句相似度计算方法的深度语义匹配模型训练的一个实施例,可以理解的是,本实施例的深度语义匹配模型应在上述图1实施例的步骤103之前建立,具体包括:
201、使用标准问答库的FAQ问句对构建训练样本集,训练样本集的每一个FAQ问句仅对应一个预设答案。
本步骤用于构建深度语义匹配模型做准备,深度语义匹配模型的优劣直接影响到FAQ问句匹配效果,使用标准问答库的FAQ问句对构建训练样本集,由于标准问答库内的每一个问题对应一个答案,问题与答案的关系是唯一对应的,所以训练样本集的每一个FAQ问题也仅对应一个预设答案。
202、将训练样本集中的表达语义相同的FAQ问句两两配对并设置表示相似的标签类别,即正样本。
将步骤101中的训练样本集中表达语义相同的FAQ问句两两配对并设置相似的标签类别,形成正样本,比如正样本的标签类别为1。正样本的标签类别1用于给预训练模型进行微调训练并另其能识别出这一类问题是具有相关性的,并使得形成的深度语义匹配模型能形成对问题句和候选FAQ问句组成的问句对样本的分类功能。比如:“怎么把他的流程转移到另外一个人”与“如何将其流程转移给其他人”之间标注的标签类别为1,即表明这两句话的语义是一样的。
203、使用文本相似度算法给正样本的FAQ问句和标准问答库中的非正样本FAQ问句进行相似度匹配计算,得出m个候选负样本FAQ问句。
将步骤202中的到正样本之后,可以得知对于正样本的FAQ问句来说,其他在标准问答库内的非正样本都是其的负样本,一般情况下,可以将全部的负样本都与所有的正样本两两配对并设置不相似的标签类别。但此时可以不用将每一个的正样本和所有的负样本都两两配对并进行标签类别标注为0,简单来说只需要对可能存在混淆的进行标注即可,以便减少负样本的标注数量。即使用文本相似度算法给正样本的每一个FAQ问句和预设的标准问答库中的非正样本的每一个FAQ问句两两之间进行相似度匹配计算,得出m个候选负样本FAQ问句,此处的m为大于或等于5的正整数。只需要将超过预设相似度阈值的m个候选负样本FAQ问句与正样本FAQ问句两两配对标注即可,这里设置预设相似度阈值的目的在于可以忽略一下相似度过低的候选负样本FAQ问句,减少个候选负样本FAQ问句与正样本FAQ问句两两配对标注的数量。进一步的,为减少出现误标注情况,本步骤还可以结合人工校验,最终负样本的确定可以通过人工校验,以获得更加精确的m个候选负样本FAQ问句。
204、将m个候选负样本FAQ问句与正样本的FAQ问句两两配对并设置表示不相似的标签类别,即负样本。
在步骤203中选择出容易与正样本发生混淆的m个候选负样本FAQ问句,将所述m个候选负样本FAQ问句与正样本两两配对并设置不相似的标签类别,比如不相似的标签类别为0,即负样本。负样本的标注0的标签类别用于给预训练模型训练并能识别出这一类问题与正样本之间是不具有相关性的,并使得形成的深度语义匹配模型能形成对问题句和候选FAQ问句组成的问句对样本的分类功能。训练样本集的正样本与负样本比例为1:m,一般m大于或等于5,负样本比正样本多,利于调整模型识别负样本的能力。比如:“怎么把他的流程转移到另外一个人”与“流产了怎么休假”之间标注为0,即表明这两句话的语义是不一样的。
205、以训练样本集的正样本与负样本作为具体下游任务进行对现有的预训练模型进行微调训练,构建深度语义匹配模型,深度语义匹配模型用于计算出问题句的语义向量、以及计算由问题句与候选所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度。
在步骤202中得到标准问答库的正样本,步骤204中得到标准问答库的负样本之后,可以将训练样本集的正样本与负样本作为具体下游任务进行对已有的语义匹配模型进行微调训练,即可构建深度语义匹配模型,深度语义匹配模型用于计算出问题句的语义向量、以及计算由问题句与候选所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度,比如,相似的标签类别为1、以及不相似的标签类别为0。
请参阅图3,本申请FAQ问句相似度计算方法的语义索引模型的一个实施例,可以理解的是,本实施例的深度语义匹配模型应在上述图1实施例的步骤104之前建立,具体包括:
301、对标准问答库中的FAQ问句建立索引,索引包括词汇倒排索引和语义索引模型。
为提高对标准问答库内的FAQ问句的检索速度,本申请实施例中还提供了对标准问答库的FAQ问句建立索引的方法,这个方法包括对词汇倒排索引和语义索引模型。可以理解的是,标准问答库的FAQ问句数量是非常庞大的,以及深度语义匹配模型的计算量也是非常庞大的,为提高对问题句的检索效率,可以对标准问答库中的FAQ问句建立索引,该索引包括词汇层面的倒排索引和语义层面的语义索引。
词汇倒排索引:使用分词工具(比如Jieba、LTP、HanLP、stanford、pkuseg等)对标准问答库的FAQ问句进行分词,并去停用词处理,在建立倒排索引,所谓倒排索引是指可以根据词找到对应的FAQ问句编号。具体过程如下:
首先,对FAQ问答对知识库问句集合利用分词工具(如Jieba、LTP、HanLP、stanford、pkuseg等)进行分词,并去停用词处理,先构建正向索引,即文档编号对应词列表。例如:
0:怎么把他的流程转移到另外一个人
1:如何将其流程转移给其他人
2:流产了怎么休假
如上的三个FAQ问句可以视为三个文档,三个文档的编号分别是0、1、2,通过文档的编号可以找到文档中包含的词语,即为正向索引。所谓并去停用词处理是指将一些修饰性的助词或语气词等,比如文档0中的“的流程”中“的”,文档2中的“了”;并去停用词处理可以减少建立索引的词的数量,提高建立索引的效率。
然后,根据正向索引构建倒排索引,即词语对应文档编号。比如:怎么:[0,2];转移:[0,1]等,也就是说“怎么”这个词语出现在上述文档编号为0和文档编号为2的FAQ问句中,同理,也就是说“转移”这个词语出现在上述文档编号为0和文档编号为1的FAQ问句中。
语义索引:将标准问答库中的FAQ问句分别输入上述中构建的深度语义匹配模型,可以得到每一个FAQ问句的语义向量,并将每一个FAQ问句的语义向量保存至超平面多维近似向量查找工具Annoy,利用Annoy工具创建二叉树结构,多棵的二叉树结构组成二叉树集合索引。具体见下述步骤302至步骤304。
302、使用Annoy工具将所有FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,二叉树结构底层为叶子节点,叶子节点记录所述原始数据节点,二叉树的中间节点记录Annoy工具分割超平面的信息。
303、执行x次使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,二叉树结构底层为叶子节点,叶子节点记录原始数据节点,二叉树的中间节点记录所述Annoy工具分割超平面的信息的步骤,得x棵二叉树结构,x大于或等于L。
304、将x棵二叉树结构组成二叉树集合索引,形成语义索引模型。
在基于上述的语义索引模型,图1实施例中步骤104将问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句的具体过程如下:
将被检索的问题句的语义向量视为查询节点,分别在语义索引的二叉树集合中的L棵二叉树进行遍历,具体来说是,分别对L棵二叉树从每一棵二叉树结构的根节点向下朝着问题语义向量最接近查询节点的路径遍历,每一棵二叉树都可以得到一个与查新节点最近邻的原始数据节点集合索引,这L个原始数据节点集合就是与被检索问题句的语义向量最接近的FAQ问句语义向量集合索引。在L棵的二叉树进行遍历可以得到L个与查询节点最近邻的原始数据节点。由于每一棵二叉树的结构都是使用Annoy工具得到,其根节点是随机生成的,导致每一棵二叉树的结构不尽相同,但其在二叉树集合索引上得到的L个最近邻的原始数据节点集合会存在相同的FAQ问句,此时需要对重复的FAQ问句进行合并,去重处理,减少对重复数据的存储以及计算,得到y个最近邻的原始数据节点,y远大于L。对每一个最近邻的原始数据节点计算到问题语义向量的距离值,具体来说是使用距离算法进行计算,比如:欧氏距离算法、曼哈顿距离算法、angular距离算法(归一化余弦相似度算法)等。从y个最近邻的原始数据节点到问题语义向量的距离值中选择从近到远输出L个最近邻的原始数据节点。选择出的L个最近邻的原始数据节点对应转化为L个候选FAQ问句。
可见,本实施例对标准问答库内的FAQ问句建立索引之后,包括词汇层面的倒排索引和语义层面的语义索引,可以实现根据问题句快速锁定标准问答库内的FAQ问句,从而可以提高检索的效率。
上面对本申请的FAQ问句相似度计算方法进行了描述,以下对本申请的FAQ相似度计算系统进行描述,请参阅图4,包括:
接收单元401,用于接收被检索的问题句;
文本相似度计算单元402,用于使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数;
语义向量转化单元403,用于将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,同于计算出问句的语义向量;
语义索引单元404,用于将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;
并集单元405,用于将所述文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到所述问题句最相似的n个候选FAQ问句,所述n为小于或等于k+L的正整数;
标签类别识别单元406,用于将所述问题句与n个所述候选FAQ问句分别两两配对,得到n个候选问句对,将所述n个候选问句对再次输入所述深度语义匹配模型,分别输出所述问题句与n个所述候选FAQ问句是否为相似的标签类别,及对应的相似度,所述深度语义匹配模型还用于计算由所述问题句与所述FAQ问句构成的问句对之间是否相似的标签类别,及对应的相似度;
排列输出单元407,用于将与所述问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
本申请实施例中,FAQ问句相似度计算系统所执行的操作与前述图1中执行的操作类似,在此不再进行赘述。
本申请中通过使用文本相似度算法、深度语义匹配模型以及语义索引模型对被检索的问题句进行检索分析,分别从标准问答库中筛选出的一定数量的候选FAQ问句,再对中筛选出的候选FAQ问句进行并集去重,再将该候选FAQ问句与问题句两两配对再次输入深度语义匹配模型进行相似度与是否相似的标签类别计算,得到问题句与并集去重之后的候选FAQ问句两两之间的语义相似度和是否相似的标签类别,然后再进行对候选FAQ问句按标签类别为相似且语义相似度从高到低排列,输出对应标签类别为相似且语义相似度最大且相似度超过预设阈值的FAQ问句,再根据该FAQ问句对应标准问答库中的答案进行对检索问题句的回复,本申请的技术方案实现了融合传统文本相似度和语义相似度算法,具体来说是结合了文本词汇层面的文本相似度算法和基于预训练模型的深度语义匹配模型的语义相似度算法,从而可以提高检索式问答系统的检索结果准确性;以及通过对标准问答库中的FAQ问句对建立索引,可以提高检索效率;通过使用预设的算法得到候选负样本FAQ问句,进而不需要大规模人工标注语料,有效降低对标注语料的依赖,起到节约时间与人力的优点。
请参阅图5,本申请的FAQ问句相似度计算系统另一个实施例,包括;
接收单元501,用于接收被检索的问题句;
文本相似度计算单元502,用于使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数;
语义向量转化单元503,用于将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,同于计算出问句的语义向量;
语义索引单元504,用于将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;
并集单元505,用于将所述文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到所述问题句最相似的n个候选FAQ问句,所述n小于或等于k+L的正整数;
标签类别识别单元506,用于将所述问题句与n个所述候选FAQ问句分别两两配对,得到n个候选问句对,将所述n个候选问句对再次输入所述深度语义匹配模型,分别输出所述问题句与n个所述候选FAQ问句是否为相似的标签类别,及对应的相似度,所述深度语义匹配模型还用于计算由所述问题句与所述FAQ问句构成的问句对之间是否相似的标签类别,及对应的相似度;
排列输出单元507,用于将与所述问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
可选地,所述系统还包括:
训练样本构建单元508,用于使用所述标准问答库的FAQ问句对构建训练样本集,所述训练样本集的每一个FAQ问句仅对应一个预设答案;
正样本标注单元509,用于将所述训练样本集中的表达语义相同的FAQ问句两两配对并设置相似的标签类别,即正样本;
负样本标注单元510,用于将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置不相似的标签类别,即负样本;
模型微调训练单元511,用于以所述训练样本集的正样本与负样本作为具体下游任务进行对所述现有的预训练模型进行微调训练,构建深度语义匹配模型,所述深度语义匹配模型用于计算出所述问题句的语义向量、以及计算由所述问题句与候选所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度。
可选地,所述负样本标注单元510将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置不相似的标签类别,即负样本时,具体用于:
使用文本相似度算法给所述正样本的FAQ问句和所述标准问答库中的非正样本FAQ问句进行相似度匹配计算,得出m个候选负样本FAQ问句;
将所述m个候选负样本FAQ问句与所述正样本两两配对并设置不相似的标签类别,即负样本。
可选地,所述训练样本集的正样本与负样本比例为1:m,所述m大于或等于5。
可选地,所述系统还包括:
索引建立单元512,用于对所述标准问答库中的FAQ问句建立索引,所述索引包括词汇倒排索引和语义索引模型。
可选地,所述索引建立单元512在通过超平面多维近似向量查找工具Annoy对所述标准问答库中的FAQ问句的语义向量创建二叉树集合索引所构建时,具体用于:
同于使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息;
执行x次使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息的步骤,得到x棵二叉树结构,x大于或等于L;
将所述x棵二叉树结构组成二叉树集合索引,形成语义索引模型。
可选地,语义索引单元504在将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句时,具体用于:
将所述问题语义向量作为查询节点,分别对所述语义索引模型的L棵二叉树从所述二叉树结构的根节点向下朝着所述问题语义向量最接近查询节点的路径遍历,得到L个与所述查询节点最近邻的原始数据节点集合;
将所述L个最近邻的原始数据节点集合进行合并、去重,得到y个最近邻的原始数据节点;
使用距离算法计算所述查询节点与每一个所述最近邻的原始数据节点的距离,得到每一个所述最近邻的原始数据节点到所述查询节点的距离值;
根据所述距离值从近到远排列输出L个所述最近邻的原始数据节点;
将L个所述最近邻的原始数据节点对应转化为L个所述候选FAQ问句。
可选地,所述文本相似度算法为BM25算法或TFIDF算法。
本申请实施例中,FAQ问句相似度计算系统所执行的操作与前述图1、图2、以及图3中执行的操作类似,在此不再进行赘述。
本申请中通过使用文本相似度算法、深度语义匹配模型以及语义索引模型对被检索的问题句进行检索分析,分别从标准问答库中筛选出的一定数量的候选FAQ问句,再对中筛选出的候选FAQ问句进行并集去重,再将该候选FAQ问句与问题句两两配对再次输入深度语义匹配模型进行相似度与是否相似的标签类别计算,得到问题句与并集去重之后的候选FAQ问句两两之间的语义相似度和是否相似的标签类别,然后再进行对候选FAQ问句按标签类别为相似且语义相似度从高到低排列,输出对应标签类别为相似且语义相似度最大且相似度超过预设阈值的FAQ问句,再根据该FAQ问句对应标准问答库中的答案进行对检索问题句的回复,本申请的技术方案实现了融合传统文本相似度和语义相似度算法,具体来说是结合了文本词汇层面的文本相似度算法和基于预训练模型的深度语义匹配模型的语义相似度算法,从而可以提高检索式问答系统的检索结果准确性;以及通过对标准问答库中的FAQ问句对建立索引,可以提高检索效率;而且不需要大规模人工标注语料,有效降低对标注语料的依赖,起到节约时间与人力的优点。
下面对一种计算机设备的一个实施例进行描述,请参阅图6,包括:
该计算机设备600可以包括一个或一个以上中央处理器(central processingunits,CPU)601和存储器602,该存储器602中存储有一个或一个以上的应用程序或数据。其中,存储器602可以是易失性存储或持久存储。存储在存储器602的程序可以包括一个或一个以上模块,每个模块可以包括对计算机设备的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器602通信,在计算机设备上执行存储器602中的一系列指令操作。计算机设备600还可以包括一个或一个以上操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。该中央处理器601可以执行前述图1、图2和/或图3所示实施例中的操作,具体此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种FAQ问句相似度计算方法,其特征在于,包括:
接收被检索的问题句;
使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数;
将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,用于计算出所述问句的语义向量、计算由所述问题句与所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度;
将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;
将所述文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到所述问题句最相似的n个候选FAQ问句,所述n为小于或等于k+L的正整数;
将所述问题句与n个所述候选FAQ问句分别两两配对,得到n个候选问句对,将所述n个候选问句对再次输入所述深度语义匹配模型,分别输出所述问题句与n个所述候选FAQ问句是否为相似的标签类别,及对应的相似度;
将与所述问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
2.根据权利要求1所述的FAQ问句相似度计算方法,其特征在于,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成包括:
使用所述标准问答库的FAQ问句对构建训练样本集,所述训练样本集的每一个FAQ问句仅对应一个预设答案;
将所述训练样本集中的表达语义相同的FAQ问句两两配对并设置表示相似的标签类别,即正样本;
将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置表示不相似的标签类别,即负样本;
以所述训练样本集的正样本与负样本作为具体下游任务进行对所述现有的预训练模型进行微调训练,构建深度语义匹配模型,所述深度语义匹配模型用于计算出所述问题句的语义向量、以及计算由所述问题句与候选所述FAQ问句构成的问句对之间是否为相似的标签类别,及对应的相似度。
3.根据权利要求2所述的FAQ问句相似度计算方法,其特征在于,将所述训练样本集中的表达语义不相同的FAQ问句两两配对并设置不相似的标签类别,即负样本包括:
使用文本相似度算法给所述正样本的FAQ问句和所述标准问答库中的非正样本FAQ问句进行相似度匹配计算,得出m个候选负样本FAQ问句;
将所述m个候选负样本FAQ问句与所述正样本的FAQ问句两两配对并设置表示不相似的标签类别,即负样本。
4.根据权利要求3所述的FAQ问句相似度计算方法,其特征在于,所述训练样本集的正样本与负样本比例为1:m,所述m大于或等于5。
5.根据权利要求1所述的FAQ问句相似度计算方法,其特征在于,在所述接收被检索的问题句之前,所述方法还包括:
对所述标准问答库中的FAQ问句建立索引,所述索引包括词汇倒排索引和语义索引模型。
6.根据权利要求5所述的FAQ问句相似度计算方法,其特征在于,所述语义索引模型为通过超平面多维近似向量查找工具Annoy对所述标准问答库中的FAQ问句的语义向量创建二叉树集合索引所构建,包括:
使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息;
执行x次使用Annoy工具将所有所述FAQ问句的语义向量作为原始数据节点,执行聚类数为2的k-means算法进行迭代分割,得到一棵所有原始数据节点组成的二叉树结构,所述二叉树结构底层为叶子节点,所述叶子节点记录所述原始数据节点,所述二叉树的中间节点记录所述Annoy工具分割超平面的信息的步骤,得到x棵二叉树结构,x大于或等于L;
将所述x棵二叉树结构组成二叉树集合索引,形成语义索引模型。
7.根据权利要求6所述的FAQ问句相似度计算方法,其特征在于,所述将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句包括:
将所述问题语义向量作为查询节点,分别对所述语义索引模型的L棵二叉树从所述二叉树结构的根节点向下朝着所述问题语义向量最接近查询节点的路径遍历,得到L个与所述查询节点最近邻的原始数据节点集合;
将所述L个最近邻的原始数据节点集合进行合并、去重,得到y个最近邻的原始数据节点;
使用距离算法计算所述查询节点与每一个所述最近邻的原始数据节点的距离,得到每一个所述最近邻的原始数据节点到所述查询节点的距离值;
根据所述距离值从近到远排列输出L个所述最近邻的原始数据节点;
将L个所述最近邻的原始数据节点对应转化为L个所述候选FAQ问句。
8.根据权利要求1所述的FAQ问句相似度计算方法,其特征在于,所述文本相似度算法为BM25算法或TFIDF算法。
9.一种FAQ问句相似度计算系统,其特征在于,包括:
接收单元,用于接收被检索的问题句;
文本相似度计算单元,用于使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数;
语义向量转化单元,用于将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,同于计算出问句的语义向量;
语义索引单元,用于将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ问句;
并集单元,用于将所述文本相似度最高的k个候选FAQ问句和语义相似度最高的L个候选FAQ问句进行并集操作,得到所述问题句最相似的n个候选FAQ问句,所述n为小于或等于k+L的正整数;
标签类别识别单元,用于将所述问题句与n个所述候选FAQ问句分别两两配对,得到n个候选问句对,将所述n个候选问句对再次输入所述深度语义匹配模型,分别输出所述问题句与n个所述候选FAQ问句是否为相似的标签类别,及对应的相似度,所述深度语义匹配模型还用于计算由所述问题句与所述FAQ问句构成的问句对之间是否相似的标签类别,及对应的相似度;
排列输出单元,用于将与所述问题句的标签类别为相似的p个所述候选FAQ问句,按相似度从高到低排列,输出对应相似度最大且相似度超过预设阈值的候选FAQ问句,所述p为小于或等于n的正整数。
10.一种计算机设备,其特征在于,包括:
处理器、存储器;
所述处理器与所述存储器相连;
所述处理器执行所述存储器内存储的如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010398632.3A CN111581354A (zh) | 2020-05-12 | 2020-05-12 | 一种faq问句相似度计算方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010398632.3A CN111581354A (zh) | 2020-05-12 | 2020-05-12 | 一种faq问句相似度计算方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111581354A true CN111581354A (zh) | 2020-08-25 |
Family
ID=72112216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010398632.3A Pending CN111581354A (zh) | 2020-05-12 | 2020-05-12 | 一种faq问句相似度计算方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581354A (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930920A (zh) * | 2020-09-30 | 2020-11-13 | 恒生电子股份有限公司 | 基于知识增强处理的faq相似度计算方法、装置及电子设备 |
CN112084791A (zh) * | 2020-08-31 | 2020-12-15 | 北京洛必德科技有限公司 | 一种对话过程意图提取及说法提示方法、系统及其电子设备 |
CN112100382A (zh) * | 2020-09-30 | 2020-12-18 | 珠海碳云智能科技有限公司 | 聚类方法及装置、计算机可读存储介质、处理器 |
CN112182180A (zh) * | 2020-09-27 | 2021-01-05 | 京东方科技集团股份有限公司 | 问答处理的方法、电子设备、计算机可读介质 |
CN112231448A (zh) * | 2020-12-09 | 2021-01-15 | 南京云问网络技术有限公司 | 一种文档智能问答方法和装置 |
CN112506963A (zh) * | 2020-11-23 | 2021-03-16 | 上海方立数码科技有限公司 | 一种面向多业务场景的服务机器人问题匹配方法 |
CN112562644A (zh) * | 2020-12-03 | 2021-03-26 | 云知声智能科技股份有限公司 | 基于人声分离的客服服务质检方法、系统、设备及介质 |
CN112667904A (zh) * | 2020-12-31 | 2021-04-16 | 深圳追一科技有限公司 | 文本处理方法、装置、计算机设备及存储介质 |
CN112699226A (zh) * | 2020-12-29 | 2021-04-23 | 江苏苏宁云计算有限公司 | 用于语义混淆检测的方法及系统 |
CN112699663A (zh) * | 2021-01-07 | 2021-04-23 | 中通天鸿(北京)通信科技股份有限公司 | 一种基于多种算法结合的语义理解系统 |
CN112749268A (zh) * | 2021-01-30 | 2021-05-04 | 云知声智能科技股份有限公司 | 基于混合策略的faq系统排序方法、装置及系统 |
CN112948553A (zh) * | 2021-02-26 | 2021-06-11 | 平安国际智慧城市科技股份有限公司 | 法律智能问答方法、装置、电子设备及存储介质 |
CN113220864A (zh) * | 2021-07-08 | 2021-08-06 | 中航信移动科技有限公司 | 智能问答数据处理系统 |
CN113254609A (zh) * | 2021-05-12 | 2021-08-13 | 同济大学 | 一种基于负样本多样性的问答模型集成方法 |
CN113342958A (zh) * | 2021-07-02 | 2021-09-03 | 马上消费金融股份有限公司 | 问答匹配方法、文本匹配模型的训练方法和相关设备 |
CN113434649A (zh) * | 2021-06-25 | 2021-09-24 | 平安国际智慧城市科技股份有限公司 | 基于政策faq数据库的问题匹配方法、装置、设备及介质 |
CN113705469A (zh) * | 2021-08-30 | 2021-11-26 | 平安科技(深圳)有限公司 | 人脸识别方法、装置、电子设备及计算机可读存储介质 |
CN113722452A (zh) * | 2021-07-16 | 2021-11-30 | 上海通办信息服务有限公司 | 一种问答系统中基于语义的快速知识命中方法及装置 |
CN113742471A (zh) * | 2021-09-15 | 2021-12-03 | 重庆大学 | 一种普法问答系统的向量检索式对话方法 |
CN114090747A (zh) * | 2021-10-14 | 2022-02-25 | 特斯联科技集团有限公司 | 基于多重语义匹配的自动问答方法、装置、设备及介质 |
CN114416927A (zh) * | 2022-01-24 | 2022-04-29 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
WO2022105115A1 (zh) * | 2020-11-17 | 2022-05-27 | 平安科技(深圳)有限公司 | 问答对匹配方法、装置、电子设备及存储介质 |
CN114579729A (zh) * | 2022-05-09 | 2022-06-03 | 南京云问网络技术有限公司 | 一种融合多算法模型的faq问答匹配方法和系统 |
CN114580426A (zh) * | 2020-12-01 | 2022-06-03 | 阿里巴巴集团控股有限公司 | 用户意图识别方法、交互方法、装置、系统、设备和介质 |
CN114579606A (zh) * | 2022-05-05 | 2022-06-03 | 阿里巴巴达摩院(杭州)科技有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN114757208A (zh) * | 2022-06-10 | 2022-07-15 | 荣耀终端有限公司 | 一种问答匹配方法及装置 |
CN116932730A (zh) * | 2023-09-14 | 2023-10-24 | 天津汇智星源信息技术有限公司 | 基于多叉树和大规模语言模型的文档问答方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829045A (zh) * | 2018-12-30 | 2019-05-31 | 贝壳技术有限公司 | 一种问答方法和装置 |
CN110032635A (zh) * | 2019-04-22 | 2019-07-19 | 齐鲁工业大学 | 一种基于深度特征融合神经网络的问题对匹配方法和装置 |
CN110750616A (zh) * | 2019-10-16 | 2020-02-04 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
-
2020
- 2020-05-12 CN CN202010398632.3A patent/CN111581354A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829045A (zh) * | 2018-12-30 | 2019-05-31 | 贝壳技术有限公司 | 一种问答方法和装置 |
CN110032635A (zh) * | 2019-04-22 | 2019-07-19 | 齐鲁工业大学 | 一种基于深度特征融合神经网络的问题对匹配方法和装置 |
CN110750616A (zh) * | 2019-10-16 | 2020-02-04 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
Non-Patent Citations (2)
Title |
---|
韩宇: "检索与生成模型相融合的目标导向型对话系统" * |
韩宇: "检索与生成模型相融合的目标导向型对话系统", 中国优秀硕士学位论文全文数据库 信息科技辑,第2期, no. 2, pages 26 - 27 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084791A (zh) * | 2020-08-31 | 2020-12-15 | 北京洛必德科技有限公司 | 一种对话过程意图提取及说法提示方法、系统及其电子设备 |
CN112182180A (zh) * | 2020-09-27 | 2021-01-05 | 京东方科技集团股份有限公司 | 问答处理的方法、电子设备、计算机可读介质 |
WO2022062707A1 (zh) * | 2020-09-27 | 2022-03-31 | 京东方科技集团股份有限公司 | 问答处理的方法、电子设备、计算机可读介质 |
CN112100382A (zh) * | 2020-09-30 | 2020-12-18 | 珠海碳云智能科技有限公司 | 聚类方法及装置、计算机可读存储介质、处理器 |
CN111930920A (zh) * | 2020-09-30 | 2020-11-13 | 恒生电子股份有限公司 | 基于知识增强处理的faq相似度计算方法、装置及电子设备 |
CN112100382B (zh) * | 2020-09-30 | 2024-05-10 | 珠海碳云智能科技有限公司 | 聚类方法及装置、计算机可读存储介质、处理器 |
WO2022105115A1 (zh) * | 2020-11-17 | 2022-05-27 | 平安科技(深圳)有限公司 | 问答对匹配方法、装置、电子设备及存储介质 |
CN112506963A (zh) * | 2020-11-23 | 2021-03-16 | 上海方立数码科技有限公司 | 一种面向多业务场景的服务机器人问题匹配方法 |
CN112506963B (zh) * | 2020-11-23 | 2022-09-09 | 上海方立数码科技有限公司 | 一种面向多业务场景的服务机器人问题匹配方法 |
CN114580426A (zh) * | 2020-12-01 | 2022-06-03 | 阿里巴巴集团控股有限公司 | 用户意图识别方法、交互方法、装置、系统、设备和介质 |
CN112562644A (zh) * | 2020-12-03 | 2021-03-26 | 云知声智能科技股份有限公司 | 基于人声分离的客服服务质检方法、系统、设备及介质 |
CN112231448A (zh) * | 2020-12-09 | 2021-01-15 | 南京云问网络技术有限公司 | 一种文档智能问答方法和装置 |
CN112699226A (zh) * | 2020-12-29 | 2021-04-23 | 江苏苏宁云计算有限公司 | 用于语义混淆检测的方法及系统 |
CN112667904A (zh) * | 2020-12-31 | 2021-04-16 | 深圳追一科技有限公司 | 文本处理方法、装置、计算机设备及存储介质 |
CN112699663A (zh) * | 2021-01-07 | 2021-04-23 | 中通天鸿(北京)通信科技股份有限公司 | 一种基于多种算法结合的语义理解系统 |
CN112749268A (zh) * | 2021-01-30 | 2021-05-04 | 云知声智能科技股份有限公司 | 基于混合策略的faq系统排序方法、装置及系统 |
CN112948553A (zh) * | 2021-02-26 | 2021-06-11 | 平安国际智慧城市科技股份有限公司 | 法律智能问答方法、装置、电子设备及存储介质 |
CN113254609A (zh) * | 2021-05-12 | 2021-08-13 | 同济大学 | 一种基于负样本多样性的问答模型集成方法 |
CN113434649A (zh) * | 2021-06-25 | 2021-09-24 | 平安国际智慧城市科技股份有限公司 | 基于政策faq数据库的问题匹配方法、装置、设备及介质 |
CN113342958A (zh) * | 2021-07-02 | 2021-09-03 | 马上消费金融股份有限公司 | 问答匹配方法、文本匹配模型的训练方法和相关设备 |
CN113342958B (zh) * | 2021-07-02 | 2023-06-16 | 马上消费金融股份有限公司 | 问答匹配方法、文本匹配模型的训练方法和相关设备 |
CN113220864B (zh) * | 2021-07-08 | 2021-10-01 | 中航信移动科技有限公司 | 智能问答数据处理系统 |
CN113220864A (zh) * | 2021-07-08 | 2021-08-06 | 中航信移动科技有限公司 | 智能问答数据处理系统 |
CN113722452A (zh) * | 2021-07-16 | 2021-11-30 | 上海通办信息服务有限公司 | 一种问答系统中基于语义的快速知识命中方法及装置 |
CN113722452B (zh) * | 2021-07-16 | 2024-01-19 | 上海通办信息服务有限公司 | 一种问答系统中基于语义的快速知识命中方法及装置 |
CN113705469A (zh) * | 2021-08-30 | 2021-11-26 | 平安科技(深圳)有限公司 | 人脸识别方法、装置、电子设备及计算机可读存储介质 |
CN113742471A (zh) * | 2021-09-15 | 2021-12-03 | 重庆大学 | 一种普法问答系统的向量检索式对话方法 |
CN113742471B (zh) * | 2021-09-15 | 2023-09-12 | 重庆大学 | 一种普法问答系统的向量检索式对话方法 |
CN114090747A (zh) * | 2021-10-14 | 2022-02-25 | 特斯联科技集团有限公司 | 基于多重语义匹配的自动问答方法、装置、设备及介质 |
CN114416927A (zh) * | 2022-01-24 | 2022-04-29 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
CN114416927B (zh) * | 2022-01-24 | 2024-04-02 | 招商银行股份有限公司 | 智能问答方法、装置、设备及存储介质 |
CN114579606A (zh) * | 2022-05-05 | 2022-06-03 | 阿里巴巴达摩院(杭州)科技有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN114579606B (zh) * | 2022-05-05 | 2022-07-29 | 阿里巴巴达摩院(杭州)科技有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN114579729A (zh) * | 2022-05-09 | 2022-06-03 | 南京云问网络技术有限公司 | 一种融合多算法模型的faq问答匹配方法和系统 |
CN114757208B (zh) * | 2022-06-10 | 2022-10-21 | 荣耀终端有限公司 | 一种问答匹配方法及装置 |
CN114757208A (zh) * | 2022-06-10 | 2022-07-15 | 荣耀终端有限公司 | 一种问答匹配方法及装置 |
CN116932730B (zh) * | 2023-09-14 | 2023-12-01 | 天津汇智星源信息技术有限公司 | 基于多叉树和大规模语言模型的文档问答方法及相关设备 |
CN116932730A (zh) * | 2023-09-14 | 2023-10-24 | 天津汇智星源信息技术有限公司 | 基于多叉树和大规模语言模型的文档问答方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581354A (zh) | 一种faq问句相似度计算方法及其系统 | |
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
US9176949B2 (en) | Systems and methods for sentence comparison and sentence-based search | |
CN108573045A (zh) | 一种基于多阶指纹的比对矩阵相似度检索方法 | |
Noaman et al. | Naive Bayes classifier based Arabic document categorization | |
Gonçalves et al. | The Impact of Pre-processing on the Classification of MEDLINE Documents | |
CN115270738B (zh) | 一种研报生成方法、系统及计算机存储介质 | |
CN108875065B (zh) | 一种基于内容的印尼新闻网页推荐方法 | |
CN111078837A (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN113254655B (zh) | 文本分类方法、电子设备及计算机存储介质 | |
CN115203421A (zh) | 一种长文本的标签生成方法、装置、设备及存储介质 | |
CN113282729A (zh) | 基于知识图谱的问答方法及装置 | |
CN114398473A (zh) | 企业画像生成方法、装置、服务器及存储介质 | |
Jayady et al. | Theme Identification using Machine Learning Techniques | |
CN112836008B (zh) | 基于去中心化存储数据的索引建立方法 | |
CN114328800A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
CN116049376B (zh) | 一种信创知识检索回复的方法、装置和系统 | |
Tian et al. | Automatic image annotation with real-world community contributed data set | |
CN113761104A (zh) | 知识图谱中实体关系的检测方法、装置和电子设备 | |
Ajitha et al. | EFFECTIVE FEATURE EXTRACTION FOR DOCUMENT CLUSTERING TO ENHANCE SEARCH ENGINE USING XML. | |
CN117725555B (zh) | 多源知识树的关联融合方法、装置、电子设备及存储介质 | |
Singh et al. | A systematic study on textual data processing in text mining | |
CN116414939B (zh) | 基于多维度数据的文章生成方法 | |
CN115618968B (zh) | 新意图发现方法、装置、电子设备及存储介质 | |
Rarasati | Recommendation for Classification of News Categories Using Support Vector Machine Algorithm with SVD |
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 |