基于语义相似度叠加模型的问题匹配方法与流程

未命名 08-29 阅读:83 评论:0


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


背景技术:

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


技术实现要素:

8.本发明旨在解决现有技术中存在的技术问题,提供一种基于语义相似度叠加模型的问题匹配方法,以此提高匹配速度。
9.为了实现本发明的上述目的,本发明提供一种基于语义相似度叠加模型的问题匹配方法,包括以下步骤:
10.步骤s100:首先将数据库的所有标准问题分别输入sif词袋模型和预训练好的bert模型中,分别得到数据库问题的句向量矩阵1和句向量矩阵2;
11.步骤s200:接受用户输入的问题,将其分词后输入进sif词袋模型中,得到用户输入问题的句向量1;
12.步骤s300:将用户输入问题的句向量1同数据库问题的句向量1作相似度计算,得
到相似度计算结果1;
13.步骤s400:判断相似度计算结果1的最高相似度是否高于预设的阈值,如高于此阈值则直接返回相似度最大的问题id,设定好的对应标准问题的标准答案;
14.步骤s500:如最高相似度小于预设阈值,则再将用户输入问题输入进bert模型中,得到用户问题句向量2;
15.步骤s600:在句向量矩阵2中,取相似度计算结果1中相似度最高的256个问题,其它问题不作匹配;
16.步骤s700:将用户输入问题的句向量2同数据库问题的句向量2作相似度计算,得到相似度计算结果2;
17.步骤s800:返回相似度最大的问题id,后端作逻辑判断返回设定好的对应标准问题的标准答案。
18.进一步地,所述sif词袋模型计算步骤如下:
19.步骤s210:得到用户输入的原始问题后,将其通过jieba分词工具精确分词成一个个的词语列表。
20.步骤s220:用fasttext词向量模型得到每个词语的词向量矩阵,再将其全部相加,最后除于词语的个数,得到初始句向量。
21.步骤s230:最后通过pca算法得到句向量矩阵1的公共部分的投影向量,再将上一步得到的初始向量减去这个投影向量便得到句向量1。
22.进一步,所述相似度预设的阈值大小为0.95。
23.进一步地,所述bert模型计算步骤如下:
24.步骤s510:得到用户原始输入后,直接输入进预训练好的bert模型中。
25.步骤s520:将bert模型输出中的cls向量当作这一用户问题的句向量,直接输出得到句向量2。
26.本发明创造性的采用了sif词袋模型和bert预训练模型叠加,将简单容易判别为相似的语句交由词袋模型处理,加快预测速度,使得模型在平均匹配所需时间大幅下降,比单bert模型平均匹配所需时间下降500%,从而在同设备上能做到更高的并发性能。就准确度而言,采用了叠加模型的方法,在大幅提升平均匹配速度的同时,在阈值设定比较好的情况下,准确度能做到和单bert模型相同甚至更高的效果。
附图说明
27.图1是现有技术流程图;
28.图2是本发明基于语义相似度叠加模型的问题匹配方法流程图;
29.图3是本发明sif词袋模型计算流程图;
30.图4是本发明bert模型计算流程图;
具体实施方式
31.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
32.在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
33.在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
34.参考附图2所示,本发明提供了一种基于语义相似度叠加模型的问题匹配方法,包括以下步骤:
35.步骤s100:首先将数据库的所有标准问题分别输入sif词袋模型和预训练好的bert模型中,分别得到数据库问题的句向量矩阵1和句向量矩阵2。
36.本发明中利用sif词袋模型中“平滑逆频率”(sif)的技术来降低高频词对向量表示的影响,从而提高了文本向量化的准确性,降低了噪声的影响;同时借用sif词袋模型可扩展性,以进一步提高智能机器人客服的准确性和效率。
37.步骤s200:接受用户输入的问题,将其分词后输入进sif词袋模型中,得到用户输入问题的句向量1;
38.在本发明中sif模型计算句向量1的流程图参考附图3所示,具体计算步骤如下。
39.步骤s210:得到用户输入的原始问题后,将其通过jieba分词工具精确分词成一个个的词语列表。本发明中采用jieba分词工具,更适应于利用中文表达原始问题场景,其具有高效、准确性高等优势。
40.步骤s220:用fasttext词向量模型得到每个词语的词向量矩阵,再将其全部相加,最后除于词语的个数,得到初始句向量。
41.步骤s230:最后通过pca算法得到句向量矩阵1的公共部分的投影向量,再将上一步得到的初始向量减去这个投影向量便得到句向量1。
42.在本发明中,利用fasttext词向量模型,可以为自然语言处理任务提供高质量的词向量表示,帮助提供高文本处理的准确性和效率。在本发明所适用的对中文表达问题分类认为中,利用jieba分词工具对文本进行分词,然后使用fasttext词向量模型将分词结果转化为向量表示,并使用pca算法将向量维度降低到一个合适的范围内,最终可以使用这些向量训练分类模型,从而实际发现更准确的文本分类,并在计算复度上得到优化。通过将这三者组合在一起,可以获得更准确、更有效率的中文表达,提高文本处理的准确性和有效性,并且能够提供高模型的训练效率。
43.步骤s300:将用户输入问题的句向量1同数据库问题的句向量1作相似度计算,本发明所使用的算法为余弦相似度,得到相似度计算结果1。
44.步骤s400:判断相似度计算结果1的最高相似度是否高于预设的阈值,在本发明中,若相似度阈值设定过高,即认为两个文本只有在相似度很高时才匹配成功,可能会导致一些实际匹配的文本被误判为不匹配,导致很多问题无法给出相应答案。相反,如果相似度阈值设定过低,即认为两个文本只要满足一定相似度就认为匹配成功,可能会导致一些不
相关的文本被误判为匹配,从而降低了匹配的准确性和精度,影响用户的体验;通过测试,为了确保用户体验感最优化,在本发明设置的阈值大小为0.95,如高于此阈值则直接返回相似度最大的问题id,设定好的对应标准问题的标准答案。
45.步骤s500:如最高相似度小于预设阈值,则再将用户输入问题输入进bert模型中,得到用户问题句向量2。
46.其中bert模型计算句向量2的流程图参考图4所示,具体步骤如下:
47.步骤s510:得到用户原始输入后,直接输入进预训练好的bert模型中。
48.步骤s520:将bert模型输出中的cls向量当作这一用户问题的句向量,直接输出得到句向量2。
49.步骤s600:在句向量矩阵2中,取相似度计算结果1中相似度最高的256个问题,其它问题不作匹配。
50.步骤s700:将用户输入问题的句向量2同数据库问题的句向量2作相似度计算,本发明所使用的算法同样为余弦相似度,得到相似度计算结果2。
51.步骤s800:返回相似度最大的问题id,后端作逻辑判断返回设定好的对应标准问题的标准答案。
52.与现有技术所使用的相似问题匹配方法比较,本发明创造性的采用了sif词袋模型和bert预训练模型叠加,借用sif词袋模型能够快速将用户所提出的问题转化为向量表示,从而加快处理速度;并且sif词袋模型可以为每个词分配权重,这些权重可以解释每个词在用户问题中的重要性,帮助现有智能机器人客服更好地理解用户问题,提供更准确的回答。此外,当将sif词袋模型和bert预训练模型叠加在一起时,sif词袋模型可以帮助bert模型更好地捕捉抓住文本的语言义信息,并降低高频词的影响;提供高模型在自然语言处理任务中的准确性和效率,从而更好地处理自然语言文字文本数据。
53.经测试,采用本发明sif词袋模型和bert预训练模型叠加,相比现有技术单bert模型平均匹配所需时间下降500%,从而在同设备上能做到更高的并发性能。就准确度而言,采用了叠加模型的方法,在大幅提升平均匹配速度的同时,在阈值设定比较好的情况下,准确度也能做到和单bert模型相同甚至更高的效果。
54.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
55.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

技术特征:
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,后端作逻辑判断返回设定好的对应标准问题的标准答案。2.根据权利要求1所述的基于语义相似度叠加模型的问题匹配方法,其特征在于:所述sif词袋模型计算步骤如下:步骤s210:得到用户输入的原始问题后,将其通过jieba分词工具精确分词成一个个的词语列表。步骤s220:用fasttext词向量模型得到每个词语的词向量矩阵,再将其全部相加,最后除于词语的个数,得到初始句向量。步骤s230:最后通过pca算法得到句向量矩阵1的公共部分的投影向量,再将上一步得到的初始向量减去这个投影向量便得到句向量1。3.根据权利要求1所述的基于语义相似度叠加模型的问题匹配方法,其特征在于:所述相似度预设的阈值大小为0.95。4.根据权利要求1所述的基于语义相似度叠加模型的问题匹配方法,其特征在于:所述bert模型计算步骤如下:步骤s510:得到用户原始输入后,直接输入进预训练好的bert模型中。步骤s520:将bert模型输出中的cls向量当作这一用户问题的句向量,直接输出得到句向量2。

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


技术研发人员:王国伟 朱红坤 贺光华 李奇隆
受保护的技术使用者:重庆川南环保科技有限公司
技术研发日:2023.05.06
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐