logo好方法网

一种FAQ问句相似度计算方法及其系统


技术摘要:
本申请实施例公开一种FAQ问句相似度计算方法及其系统,用于提高检索式问答系统的检索结果的准确性。包括:使用文本相似度算法对被检索的问题句和预设的标准问答库中的FAQ问句进行相似度匹配计算,得出文本相似度最高的k个候选FAQ问句;将该问题句输入深度语义匹配模型  全部
背景技术:
常用问答对(frequently  asked  questions,FAQ) ,即常见的问题与该问题预设答 案组成的一对组合,FAQ通常用于检索式问答系统的自动问答业务,检索式问答系统利用预 设的标准问答库中存储的一系列常见的问题与该问题预设答案,对用户检索的问题进行解 答。标准问答库是一个封闭的集合,在标准问答库中的每一个问题都是具有固定的答案和 标题,同时也会对应多种拓展问法和关键词。 用户在使用检索式问答系统进行问题检索时,系统会使用文本相似度算法对被检 索的问题与标准问答库中的FAQ问句进行相似度匹配计算,从而找到标准问答库里找到相 似度高的展现给用户。然而,随着人文社会的发展,用户使用检索式问答系统检索问题越来 越复杂,标准问答库中的FAQ数量也越发庞大,导致检索式问答系统展现的检索结果往往不 能令人满意。 现有技术中,为提高检索式问答系统的检索结果准确性,提出了语义相似度计算 方法,其思想是在输入层分别对用户的检索问题和标准问答库中的FAQ问句向量化,在表示 层使用卷积神经网络(convolutional  neural  network,CNN)或循环神经网络(recurrent  neural  network,RNN)等模型表达为低维语义向量,并在匹配层通过距离函数(如cosine距 离等)来计算两个语义向量的距离,若距离越小,则说明两个语义向量之间的相似度越大, 反之越小。这种语义的相似度计算的模型需要依赖大规模的有监督语料,即需要大规模的 人工标注语料。因此,仅基于语义匹配的相似度计算方法或仅文本相似度算法的检索时问 答系统存在过度依赖人工标注语料、耗费时间人工成本,或检索结构准确性不高等问题。
技术实现要素:
本申请实施例提供了一种FAQ问句相似度计算方法及其系统,可以提高检索式问 答系统的检索结果的准确性。 本申请实施例第一方面提供一种FAQ问句相似度计算方法,包括: 接收被检索的问题句; 使用文本相似度算法对所述问题句和预设的标准问答库中的FAQ问句进行相似度 匹配计算,得出文本相似度最高的k个候选FAQ问句,所述k为大于0的正整数; 将所述问题句输入深度语义匹配模型,得到所述问题句的语义向量,所述深度语 义匹配模型基于预训练模型在所述预设标准问答库中FAQ问句进行微调训练而成,用于计 算出所述问句的语义向量、计算由所述问题句与所述FAQ问句构成的问句对之间是否为相 似的标签类别,及对应的相似度; 将所述问题句的语义向量输入语义索引模型,得到语义相似度最高的L个候选FAQ 5 CN 111581354 A 说 明 书 2/14 页 问句; 将所述文本相似度最高的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问句的语义向量作为原始数据节点,执行 6 CN 111581354 A 说 明 书 3/14 页 聚类数为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问句对构建训练样本集,所述 7 CN 111581354 A 说 明 书 4/14 页 训练样本集的每一个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个最近邻的原始数 据节点; 使用距离算法计算所述查询节点与每一个所述最近邻的原始数据节点的距离,得 到每一个所述最近邻的原始数据节点到所述查询节点的距离值; 8 CN 111581354 A 说 明 书 5/14 页 根据所述距离值从近到远排列输出L个所述最近邻的原始数据节点; 将L个所述最近邻的原始数据节点对应转化为L个所述候选FAQ问句。 可选地,所述文本相似度算法为BM25算法或TFIDF算法。 本申请实施例第三方面提供一种计算机设备,包括: 处理器、存储器; 所述处理器与所述存储器相连; 所述处理器执行所述存储器内存储的如前述第一方面中任一项所述的方法。 本申请实施例第四方面提供一种计算机存储介质,所述计算机存储介质中存储有 指令,所述指令在计算机上执行时,使得所述计算机执行如前述第一方面中任一项所述的 方法。 本申请实施例第五方面提供一种计算机程序产品,所述计算机程序产品在计算机 上执行时,使得所述计算机执行如前述第一方面中任一项所述的方法。 从以上技术方案可以看出,本申请实施例具有以下优点: 本申请中通过使用文本相似度算法、深度语义匹配模型以及语义索引模型对被检 索的问题句进行检索分析,分别从标准问答库中筛选出的一定数量的候选FAQ问句,再对中 筛选出的候选FAQ问句进行并集去重,再将该候选FAQ问句与问题句两两配对再次输入深度 语义匹配模型进行相似度与是否相似的标签类别计算,得到问题句与并集去重之后的候选 FAQ问句两两之间的语义相似度和是否相似的标签类别,然后再进行对候选FAQ问句按标签 类别为相似且语义相似度从高到低排列,输出对应标签类别为相似且语义相似度最大且相 似度超过预设阈值的FAQ问句,再根据该FAQ问句对应标准问答库中的答案进行对检索问题 句的回复。本申请的技术方案实现了融合传统文本相似度和语义相似度算法,具体来说是 结合了文本词汇层面的文本相似度算法和基于预训练模型的深度语义匹配模型的语义相 似度算法,不仅可以提高检索式问答系统的检索结果准确性;而且不需要如现有的语义相 似度计算方法采用大规模人工标注语料,有效降低对人工标注语料的依赖,起到节约时间 与人力的优点。 附图说明 图1为本申请实施例FAQ问句相似度计算方法的一个流程示意图; 图2为本申请实施例FAQ问句相似度计算方法的深度语义匹配模型训练的一个流 程示意图; 图3为本申请实施例FAQ问句相似度计算方法的语义索引模型构建的一个流程示 意图; 图4为本申请实施例FAQ问句相似度计算系统的一个结构示意图; 图5为本申请实施例FAQ问句相似度计算系统的另一个结构示意图; 图6为本申请实施例计算机设备的一个结构示意图。
下载此资料需消耗2积分,
分享到:
收藏