本技术涉及计算机,尤其涉及一种问题问答方法、装置、设备及介质。
背景技术:
1、大多数软件通常是将各种包含了开源组件的软件工件组合到一起,开源组件的大量使用导致软件供应链越发复杂多样性,但是软件中引用的开源组件很容易存在漏洞,且不易察觉,开发人员越来越难以控制来自第三方组件的安全性,因此供应链安全防护是每个企业和安全团队的重要责任。
技术实现思路
1、本技术实施例提供了一种问题问答方法、装置、设备及介质,实现通过自然语言就可以查询和回答软件供应链相关问题,方便用户了解和掌握软件所用组件信息和漏洞信息,保障软件供应链安全。上述技术方案如下:
2、第一方面,本技术实施例提供了一种问题问答方法,上述方法包括:
3、获取目标问题信息;
4、根据上述目标问题信息确定目标检索信息;
5、根据上述目标检索信息,在目标软件供应链图谱中进行检索,得到目标检索结果;上述目标软件供应链图谱用于表征目标软件供应链中的目标实体以及目标实体关系;上述目标实体包括上述目标软件供应链中的目标组件实体和目标漏洞实体,上述目标实体关系包括上述目标组件实体之间的依赖关系、上述目标组件实体与上述目标漏洞实体之间的命中关系;
6、将上述目标问题信息、上述目标检索结果输入目标大模型,基于上述目标检索结果输出上述目标问题信息对应的目标答案信息。
7、在一种可能的实现方式中,上述目标检索信息包括以下至少一种:目标检索语句、目标检索实体;
8、上述根据上述目标问题信息确定目标检索信息,包括:
9、根据上述目标问题信息生成上述目标检索语句;
10、和/或
11、从上述目标问题信息中提取上述目标检索实体。
12、在一种可能的实现方式中,上述目标检索信息包括以下至少一种:目标检索语句、目标检索实体;
13、上述根据上述目标检索信息,在目标软件供应链图谱中进行检索,得到目标检索结果,包括:
14、根据上述目标检索语句,在目标软件供应链图谱中进行检索,得到目标语句检索结果;上述目标语句检索结果包括从上述目标软件供应链图谱中获取到的上述目标检索语句对应的目标结果信息;
15、和/或
16、根据上述目标检索实体,在上述目标软件供应链图谱中进行检索,得到目标实体检索结果;上述目标实体检索结果包括上述目标软件供应链图谱中与上述目标检索实体相关的信息。
17、在一种可能的实现方式中,上述根据上述目标检索实体,在上述目标软件供应链图谱中进行检索,得到目标实体检索结果,包括:
18、根据上述目标检索实体,在上述目标软件供应链图谱中进行检索,得到上述目标检索实体对应的目标检索子图谱;上述目标检索子图谱用于表征上述目标软件供应链图谱中的目标相关实体以及目标相关实体关系;上述目标相关实体包括上述目标软件供应链图谱中上述目标检索实体对应的指定目标实体,以及与上述指定目标实体之间的关系路径长度位于预设长度范围内的目标实体;
19、根据上述目标检索子图谱确定目标实体检索结果。
20、在一种可能的实现方式中,上述目标实体还包括上述目标软件供应链中的目标许可证实体,上述目标实体关系还包括上述目标组件实体与上述目标许可证实体之间的许可证关系。
21、在一种可能的实现方式中,上述获取目标问题信息,包括:
22、获取用户提问信息;
23、对上述用户提问信息进行预处理,得到目标问题信息;上述预处理包括翻译处理和/或相似拓展处理;上述目标问题信息包括以下至少一种:上述用户提问信息对应的目标问题、译文问题以及至少一个相似问题。
24、在一种可能的实现方式中,上述根据上述目标检索结果生成上述目标问题信息对应的目标答案信息之后,上述方法还包括:
25、根据历史问答信息和上述目标检索结果生成目标问题推荐信息;上述历史问答信息包括上述目标答案信息和/或上述目标问题信息。
26、在一种可能的实现方式中,上述方法还包括:
27、获取目标软件供应链中的目标实体以及目标实体关系;
28、根据上述目标实体和上述目标实体关系构建上述目标软件供应链对应的目标软件供应链图谱。
29、在一种可能的实现方式中,上述获取目标软件供应链中的目标实体以及目标实体关系,包括:
30、对目标软件供应链进行扫描,得到目标扫描结果;上述目标扫描结果包括目标组件扫描结果和目标漏洞扫描结果;
31、从上述组件扫描结果中提取上述目标组件实体,以及从上述漏洞扫描结果中提取上述目标漏洞实体;
32、根据上述组件扫描结果构建上述目标组件实体之间的依赖关系,以及根据上述漏洞扫描结果构建上述目标组件实体与上述目标漏洞实体之间的命中关系。
33、在一种可能的实现方式中,上述目标实体还包括上述目标软件供应链中的目标许可证实体,上述目标实体关系还包括上述目标组件实体与上述目标许可证实体之间的许可证关系;
34、上述对目标软件供应链进行扫描,得到目标扫描结果之后,上述方法还包括:
35、从上述组件扫描结果中提取上述目标许可证实体;
36、根据上述组件扫描结果构建上述目标组件实体与上述目标许可证实体之间的许可证关系。
37、在一种可能的实现方式中,上述获取目标软件供应链中的目标实体以及目标实体关系之后,上述方法还包括:
38、根据上述目标实体和上述目标实体关系生成上述目标软件供应链图谱对应的目标索引信息。
39、第二方面,本技术实施例提供了一种问题问答装置,上述问题问答装置包括:
40、第一获取模块,用于获取目标问题信息;
41、确定模块,用于根据上述目标问题信息确定目标检索信息;
42、检索模块,用于根据上述目标检索信息,在目标软件供应链图谱中进行检索,得到目标检索结果;上述目标软件供应链图谱用于表征目标软件供应链中的目标实体以及目标实体关系;上述目标实体包括上述目标软件供应链中的目标组件实体和目标漏洞实体,上述目标实体关系包括上述目标组件实体之间的依赖关系、上述目标组件实体与上述目标漏洞实体之间的命中关系;
43、答案生成模块,用于将上述目标问题信息、上述目标检索结果输入目标大模型,基于上述目标检索结果输出上述目标问题信息对应的目标答案信息。
44、第三方面,本技术实施例提供了一种电子设备,包括:处理器以及存储器;
45、上述处理器与上述存储器相连;
46、上述存储器,用于存储可执行程序代码;
47、上述处理器通过读取上述存储器中存储的可执行程序代码来运行与上述可执行程序代码对应的程序,以用于执行本说明书实施例第一方面或第一方面的任意一种可能的实现方式提供的方法。
48、第四方面,本说明书实施例提供了一种计算机存储介质,上述计算机存储介质存储有多条指令,上述指令适于由处理器加载并执行本说明书实施例第一方面或第一方面的任意一种可能的实现方式提供的方法。
49、在本技术一个或多个实施例中,根据目标问题信息对应的目标检索信息,通过在目标软件供应链图谱进行检索,以检索到的目标检索结果作为知识支撑来回答目标问题信息,生成对应的目标答案,实现通过自然语言就可以查询和回答软件供应链相关问题,方便用户了解和掌握软件所用组件信息和漏洞信息,保障软件供应链安全。同时,将目标问题信息、目标检索结果输入目标大模型,排除目标软件供应链中其他与目标问题信息无关的信息对目标大模型的干扰,让目标大模型能够以目标问题信息对应的目标检索结果作为知识支撑,更加高效精准地输出目标问题信息对应的目标答案信息,避免目标大模型计算资源的浪费。
50、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种问题问答方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标检索信息包括以下至少一种:目标检索语句、目标检索实体;
3.根据权利要求1所述的方法,其特征在于,所述目标检索信息包括以下至少一种:目标检索语句、目标检索实体;
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标检索实体,在所述目标软件供应链图谱中进行检索,得到目标实体检索结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述获取目标软件供应链中的目标实体以及目标实体关系,包括:
7.根据权利要求6所述的方法,其特征在于,所述目标实体还包括所述目标软件供应链中的目标许可证实体,所述目标实体关系还包括所述目标组件实体与所述目标许可证实体之间的许可证关系;
8.一种问题问答装置,其特征在于,所述问题问答装置包括:
9.一种电子设备,其特征在于,包括:处理器和存储器;其中,
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-7任一项所述的方法步骤。