基于语义相似度叠加模型的问题匹配方法组成比例

技术编号:38619276 阅读:12 留言:0更新日期:2023-08-31 18:24
为了解决现有技术中文本或语义匹配效率低或准确性差的问题,提供一种基于语义相似度叠加模型的问题匹配方法,包括以下步骤:首先将数据库的所有标准问题分别输入SIF词袋模型和预训练好的Bert模型中;接受用户输入的问题,将其分词后输入进SIF词袋模型中,得到用户输入问题的句向量;将用户输入问题的句向量同数据库问题的句向量作相似度计算,得到相似度计算结果;判断相似度计算结果的最高相似度是否高于预设的阈值,如高于此阈值则直接返回相似度最大的问题ID,设定好的对应标准问题的标准答案。本发明专利技术创造性的采用了SIF词袋模型和Bert预训练模型叠加,加快预测速度,使得模型在平均匹配所需时间大幅下降。在平均匹配所需时间大幅下降。在平均匹配所需时间大幅下降。

【技术实现步骤摘要】
基于语义相似度叠加模型的问题匹配方法


[0001]本专利技术属于自然语言处理
,尤其是在家政维修服务中所涉及的一种基于语义相似度叠加模型的问题匹配方法。

技术介绍

[0002]文本匹配是指利用某个文本的信息内容去匹配与它相似的其他文本作为返回结果,是自然语言处理领域的一个方向。本专利技术所应用场景在与家政维修服务中智能机器人客服,尤其是涉及到中文的智能问答领域,在这一领域中其涉及到中国千家万户可能产生的问答,因此信息处理量大。
[0003]现有技术中常借用Bert预训练模型进行处理,借用Bert模型中的Transformer结构,可以更好地捕捉句子和文本之间的上下关系。参考附图1中罗列的现有技术语义匹配示意图,其首先将数据库的所有标准问题都输入预训练好的Bert模型中,得到数据库问题的句向量矩阵;然后接收用户输入的问题,同样将其输入进预训练好的Bert模型中,得到用户输入问题的句向量,得到句向量的方法有很多种,最常用的做法是取CLS当作句向量;其次将用户输入问题的句向量同数据库问题的句向量矩阵作相似度计算,主要算法有余弦相似度和欧式距离等,得到其相似度计算结果;最后返回相似度最大的问题ID,后端作逻辑判断返回设定好的对应标准问题的标准答案。
[0004]这种匹配方式虽然能够智能化运行,但却存在以下问题:
[0005]第一,采用这种模式,用户输入问题要进入叠加的所有模型中计算句向量,再要用户输入问题要和数据库中所有的问题做相似度计算,如此导致时间消耗大,且时间复杂度的瓶颈往往取决于时间消耗最大的模型。
[0006]第二,其采用的Bert模型属于重量级模型,参数量巨大,导致的后果就是编码用户输入生句向量的时间开销很大,在所有用户输入的问题都经过Bert模型的情况下,在普通运算性能的设备上难以做到高并发。
[0007]第三,由于仅仅使用词向量模型,导致匹配精度相对较差。

技术实现思路

[0008]本专利技术旨在解决现有技术中存在的技术问题,提供一种基于语义相似度叠加模型的问题匹配方法,以此提高匹配速度。
[0009]为了实现本专利技术的上述目的,本专利技术提供一种基于语义相似度叠加模型的问题匹配方法,包括以下步骤:
[0010]步骤S100:首先将数据库的所有标准问题分别输入SIF词袋模型和预训练好的Bert模型中,分别得到数据库问题的句向量矩阵1和句向量矩阵2;
[0011]步骤S200:接受用户输入的问题,将其分词后输入进SIF词袋模型中,得到用户输入问题的句向量1;
[0012]步骤S300:将用户输入问题的句向量1同数据库问题的句向量1作相似度计算,得
到相似度计算结果1;
[0013]步骤S400:判断相似度计算结果1的最高相似度是否高于预设的阈值,如高于此阈值则直接返回相似度最大的问题ID,设定好的对应标准问题的标准答案;
[0014]步骤S500:如最高相似度小于预设阈值,则再将用户输入问题输入进Bert模型中,得到用户问题句向量2;
[0015]步骤S600:在句向量矩阵2中,取相似度计算结果1中相似度最高的256个问题,其它问题不作匹配;
[0016]步骤S700:将用户输入问题的句向量2同数据库问题的句向量2作相似度计算,得到相似度计算结果2;
[0017]步骤S800:返回相似度最大的问题ID,后端作逻辑判断返回设定好的对应标准问题的标准答案。
[0018]进一步地,所述SIF词袋模型计算步骤如下:
[0019]步骤S210:得到用户输入的原始问题后,将其通过Jieba分词工具精确分词成一个个的词语列表。
[0020]步骤S220:用fasttext词向量模型得到每个词语的词向量矩阵,再将其全部相加,最后除于词语的个数,得到初始句向量。
[0021]步骤S230:最后通过PCA算法得到句向量矩阵1的公共部分的投影向量,再将上一步得到的初始向量减去这个投影向量便得到句向量1。
[0022]进一步,所述相似度预设的阈值大小为0.95。
[0023]进一步地,所述Bert模型计算步骤如下:
[0024]步骤S510:得到用户原始输入后,直接输入进预训练好的Bert模型中。
[0025]步骤S520:将Bert模型输出中的CLS向量当作这一用户问题的句向量,直接输出得到句向量2。
[0026]本专利技术创造性的采用了SIF词袋模型和Bert预训练模型叠加,将简单容易判别为相似的语句交由词袋模型处理,加快预测速度,使得模型在平均匹配所需时间大幅下降,比单Bert模型平均匹配所需时间下降500%,从而在同设备上能做到更高的并发性能。就准确度而言,采用了叠加模型的方法,在大幅提升平均匹配速度的同时,在阈值设定比较好的情况下,准确度能做到和单Bert模型相同甚至更高的效果。
附图说明
[0027]图1是现有技术流程图;
[0028]图2是本专利技术基于语义相似度叠加模型的问题匹配方法流程图;
[0029]图3是本专利技术SIF词袋模型计算流程图;
[0030]图4是本专利技术Bert模型计算流程图;
具体实施方式
[0031]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0032]在本专利技术的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0033]在本专利技术的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0034]参考附图2所示,本专利技术提供了一种基于语义相似度叠加模型的问题匹配方法,包括以下步骤:
[0035]步骤S100:首先将数据库的所有标准问题分别输入SIF词袋模型和预训练好的Bert模型中,分别得到数据库问题的句向量矩阵1和句向量矩阵2。
[0036]本专利技术中利用SIF词袋模型中“平滑逆频率”(SIF)的技术来降低高频词对向量表示的影响,从而提高了文本向量化的准确性,降低了噪声的影响;同时借用SIF词袋模型可扩展性,以进一步提高智能机器人客服的准确性和效率。
[0037]步骤S200:接受用户输入的问题,将其分词后输入进SIF词袋模型中,得到用户输入问题的句向量1;
[0038]在本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于语义相似度叠加模型的问题匹配方法,其特征在于:包括以下步骤:步骤S100:首先将数据库的所有标准问题分别输入SIF词袋模型和预训练好的Bert模型中,分别得到数据库问题的句向量矩阵1和句向量矩阵2;步骤S200:接受用户输入的问题,将其分词后输入进SIF词袋模型中,得到用户输入问题的句向量1;步骤S300:将用户输入问题的句向量1同数据库问题的句向量1作相似度计算,得到相似度计算结果1;步骤S400:判断相似度计算结果1的最高相似度是否高于预设的阈值,如高于此阈值则直接返回相似度最大的问题ID,设定好的对应标准问题的标准答案;步骤S500:如最高相似度小于预设阈值,则再将用户输入问题输入进Bert模型中,得到用户问题句向量2;步骤S600:在句向量矩阵2中,取相似度计算结果1中相似度最高的256个问题,其它问题不作匹配;步骤S700:将用户输入问题的句向量2同数据库问题的句向量2作相似度计算,得到相似度计算结果2;步骤S800:返回相似度最大的问题ID,后端作...

【专利技术属性】
技术研发人员:王国伟朱红坤贺光华李奇隆
申请(专利权)人:重庆川南环保科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1