CN109189833B - 一种知识库的挖掘方法及装置 - Google Patents
一种知识库的挖掘方法及装置 Download PDFInfo
- Publication number
- CN109189833B CN109189833B CN201810989083.XA CN201810989083A CN109189833B CN 109189833 B CN109189833 B CN 109189833B CN 201810989083 A CN201810989083 A CN 201810989083A CN 109189833 B CN109189833 B CN 109189833B
- Authority
- CN
- China
- Prior art keywords
- function
- node
- service flow
- nodes
- flow
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及数据处理技术领域,尤其涉及一种知识库的挖掘方法及装置,用以降低超时交易的处理延时。本发明实施例包括:获取系统中的源代码;采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种知识库的挖掘方法及装置。
背景技术
目前现有的智能支持应用通过采集知识库的形式收集客户问题,支持人员通过关键词等语料信息在知识库中查找问题,获取问题的答案。
现有技术中构建知识库的方法包括:计算机设备中的基础数据处理层获得网页中的句子;计算机设备中的挖掘层对句子进行分词;挖掘层将知识库中第一类别对应的预设的标志词与分词后得到的词进行匹配;挖掘层在至少有一个分词后得到的词匹配成功的情况下,将句子中与匹配成功的词相邻的未知字符串作为第一条目添加到第一类别中;当句子中的词与知识库中第二类别下的第二条目匹配时,挖掘层判断第一类别与第二类别之间是否已建立关系,在建立有关系的情况下,为第一条目与第二条目建立关系。这种通过语料采集的形式构建知识库的方法适用于非固定业务需求且对精准度要求不高的情况。
上述知识库的支持方式要求知识库具备海量的问题和答案的储备,当应用遇到没有收录的问题时,无法直接提供支持服务。因此,现有技术中系统升级时,知识库的更新或扩充会带来繁重的工作量。
发明内容
本申请提供一种知识库的挖掘方法及装置,用以降低知识库更新或扩充的工作量。
本发明实施例提供的一种知识库的挖掘方法,包括:
获取系统中的源代码;
采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;
根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;
针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;
将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
可选的,所述根据所述函数节点之间的调用关系,建立业务流,包括:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
可选的,所述根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构,包括:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
可选的,所述对所述拓扑结构进行遍历,建立业务流之后,确定所述业务流的关键词之前,还包括:
将所述业务流中的非公开函数节点删除。
可选的,所述根据所述业务流中函数节点的关键词,确定所述业务流的关键词,包括:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
可选的,根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
本发明实施例还提供一种知识库的挖掘装置,包括:
获取单元,用于获取系统中的源代码;
采集单元,用于采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;
创建单元,用于根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;
计算单元,用于针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;
存储单元,用于将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
可选的,所述创建单元,具体用于:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
可选的,所述创建单元,还用于:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
可选的,所述创建单元,还用于:
将所述业务流中的非公开函数节点删除。
可选的,所述计算单元,具体用于:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
可选的,所述计算单元具体用于,根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
本发明实施例还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。
本发明实施例中,利用系统中的源代码构建并扩充系统的知识库。具体来说,获取系统中的源代码,采集源代码中各函数节点的属性信息,属性信息至少包括函数节点的关键词以及函数节点之间的调用关系。根据函数节点之间的调用关系,建立业务流,该业务流为包含一个或多个函数节点的完整路径。针对一个业务流,根据该业务流中函数节点的关键词,确定业务流的关键词。最后,将业务流转换为知识条目,将知识条目以及对应的业务流的关键词录入系统的知识库中。本发明实施例中,直接提取系统源代码生成知识条目,可以适应系统功能变更,降低了知识库更新或扩充的工作量,且对于新建系统以及现有系统均可以很快的生成配套知识库。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所适用的一种可能的系统构架的示意图;
图2为本发明实施例提供的系统构架中处理装置的示意图;
图3本发明实施例提供的一种知识库的挖掘方法的流程示意图;
图4为本发明实施例提供的具体的知识库的挖掘方法的流程示意图;
图5为本发明实施例提供的一种知识库的挖掘装置的结构示意图;
图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例所适用的一种可能的系统构架,如图1所示,包括业务系统101、应用日志102、处理装置103、知识库104,以及支持脚本105。其中,处理装置103通过采集业务系统101及应用日志102中的信息,生成知识库104,并通过运行支持脚本105,更新知识库104的索引。此外,用户通过向处理装置103提出问题,通过处理装置103进行处理得到问题反馈。
处理装置103如图2所示,包括受理解析模块201、智能处理模块202、功能预检模块203、知识库生成模块204、支持疏导模块205、终端展示模块206。
其中,受理解析模块201,具有分词、检索功能,可接收用户提出的问题,并对用户提出的问题进行分词检索,并交给下一级智能处理模块进行处理。
智能处理模块202,对用户问题进行分级处理,即知识库、日志两级处理。对于能在现有知识库中检索到的问题,直接进行反馈;如果没有检索到,则对日志信息进行分析并得出问题反馈。对分词与知识库内容匹配度进行打分,并根据分数得出问题的解答结果。
支持疏导模块205,检索工作流,逐步指引操作人员分析问题。
终端展示模块206,将问题的解答向用户展示,支持在线web(World WideWeb,全球广域网)、手机WAP(Wireless Application Protocol,无线应用通讯协议)、手机app(Application,应用程序)等多种展示方式。
此外,功能预检模块203和知识库生成模块204为独立实时运转,可自动生成知识库。具体来说,功能预检模块203扫描各模块代码,对代码的注释、日志等信息进行检测。知识库生成模块204,通过获取代码拓扑结构方式生成业务系统功能适应的知识库。对于存量业务系统,可以直接生成配套的知识库;新增业务功能可以自动追补对应的知识库。
知识库生成模块204是本发明实施例的核心模块,下面详细阐述知识库生成模块的运行原理。
本发明实施例提供了一种知识库的挖掘方法。如图3所示,本发明实施例提供的交易超时监控方法,包括以下步骤:
步骤301、获取系统中的源代码。
步骤302、采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系。
步骤303、根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径。
步骤304、针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词。
步骤305、将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
本发明实施例中,利用系统中的源代码构建并扩充系统的知识库。具体来说,获取系统中的源代码,采集源代码中各函数节点的属性信息,属性信息至少包括函数节点的关键词以及函数节点之间的调用关系。根据函数节点之间的调用关系,建立业务流,该业务流为包含一个或多个函数节点的完整路径。针对一个业务流,根据该业务流中函数节点的关键词,确定业务流的关键词。最后,将业务流转换为知识条目,将知识条目以及对应的业务流的关键词录入系统的知识库中。本发明实施例中,直接提取系统源代码生成知识条目,可以适应系统功能变更,降低了知识库更新或扩充的工作量,且对于新建系统以及现有系统均可以很快的生成配套知识库。
上述步骤302中,采集源代码中函数节点的属性信息,指的是将应用源代码的特征信息与装置需要的要素进行绑定,获取源代码中函数节点的属性信息。其中,属性信息包括函数节点的基本属性以及流程属性,基本属性包括函数节点的方法名称、方法功能、方法隔离级别,可以根据函数节点的方法功能确定函数节点的关键词,方法隔离级别包括公开和私有。流程属性包括调用方法集合,可以通过调用方法集合确定函数节点之间的调用关系。
较佳地,上述步骤303中,根据所述函数节点之间的调用关系,建立业务流,包括:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
本发明实施例中,将每一个方法定义为一个节点。根节点是指程序的入口,比如java(计算机编程语言)程序的servlet,c程序的main函数等。叶子节点是指应用实现的没有调用其他函数的最终方法。一个节点是否为根节点,或者是否为叶子节点,可以通过调用方法集合进行判断,未出现在任何调用方法集合中的节点为根节点,没有调用方法集合的节点为叶子节点。本发明实施例中,从根节点到叶子节点的每一条完整路径都对应一条业务流。具体的业务流建立方法采用图的深度优先搜索算法对源代码的拓扑结构进行遍历,每一条完整的路径都构成一条原始知识条目。其中,图的深度优先搜索算法为本领域技术人员都知道的公知常识,本发明实施例不展开描述。
对业务流途经的节点进行记录,记录业务流的相关信息,包括流程序号、流程长度、流程步骤号、流程引用次数等。
本发明实施例还根据上述业务流的相关信息,对业务流进行优化合并。
所述根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构,包括:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
如果业务流中存在循环流程,本发明实施例中只循环一次,这样可以避免业务流出现死循环。举例来说,若业务流从节点1流向节点2,从节点2流向节点3,之后从节点3流向节点1,这样,节点1到节点2到节点3再到节点1形成循环。本发明实施例只保留一次循环,即从节点1到节点2到节点3。
此外,所述对所述拓扑结构进行遍历,建立业务流之后,确定所述业务流的关键词之前,还包括:
将所述业务流中的非公开函数节点删除。
本发明实施例中从原始的业务流中剔除非公开函数节点,剔除了非公开函数节点后的业务流作为最终的业务流。
为了得出业务流的关键词,本发明实施例按照核心度算式对业务流中各个函数节点进行核心度打分,分数较高的函数节点的关键词作为该业务流的关键词。上述步骤304、所述根据所述业务流中函数节点的关键词,确定所述业务流的关键词,包括:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
本发明实施例中,根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1…………公式1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
上述公式1即为核心度算式。根据核心度算式进行计算后,每个函数节点在当前业务流中可以得到唯一的核心度分数。对于函数节点个数为M的业务流,根据核心度分数将各个函数节点从高到底排序后,选取前0.392M(4舍5入)个函数节点,将选取的函数节点的关键词作为业务流的关键词。当业务流中函数节点的个数小于或等于两个时,选取2个关键词作为该业务流的关键词。
为了更清楚地理解本发明,下面以具体的实施例对上述流程进行详细描述。本发明具体的实施例中,具体代码段如下所示。
其中,Class B、Class C、Class D定义为普通java类,示例程序中省略。
本发明具体的实施例中知识库的挖掘方法包括以下步骤:
步骤401、获取源代码。
步骤402、采集源代码中函数节点的属性信息。针对上述程序,扫描代码后得到6个函数节点,所有函数节点的属性信息如表1所示。
表1
序号 | 节点名称 | 关键词 | 隔离级别 | 调用方法集合 |
1 | ClassA.funa | 函数a功能 | 公开 | ClassA.funx |
2 | ClassA.funx | 函数x功能 | 私有 | ClassB.funb、ClassC.func |
3 | ClassB.funb | 函数b功能 | 公开 | ClassC.func |
4 | ClassC.func | 函数c功能 | 公开 | ClassD.fund |
5 | ClassD.fund | 函数d功能 | 公开 | |
6 | ClassE.fune | 函数e功能 | 公开 |
步骤403、根所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构。与上述示例程序对应的拓扑结构如图4所示。根据调用方法集合可以确定,上述6个函数节点中,函数节点ClassA.funa为根节点,函数节点ClassD.fund、ClassE.fune为叶子节点。
步骤404、对拓扑结构进行遍历,从根节点开始,到叶子节点结束,建立业务流。根据图4所示的拓扑结构可以得出如下三条原始业务流:
a)ClassA.funa->ClassA.funx->ClassE.fune
b)ClassA.funa->ClassA.funx->ClassB.funb->ClassC.func->ClassD.fund
c)ClassA.funa->ClassA.funx->ClassB.funb->ClassC.func->ClassB.funb->ClassC.func->ClassD.fund
步骤405、对原始业务流进行优化。包括,删除业务流中的非公开函数节点,以及以一次循环代替整个循环流程。对于上述a、b、c三条业务流,ClassA.funx为私有函数节点,从三条业务流中删除。业务流c中,ClassB.funb->ClassC.func为循环流程,只保留一次循环,即业务流c变为ClassA.funa->ClassA.funx->ClassB.funb->ClassC.func->ClassD.fund。由于优化后业务流c与业务流b相同,因此,将业务流c与业务流b合并,最终得到两条业务流,如下所示:
a)ClassA.funa->ClassE.fune
b)ClassA.funa->ClassB.funb->ClassC.func->ClassD.fund
步骤406、计算业务流中各函数节点的核心度分数。
首先对于业务流a,根据公式1分别计算函数节点ClassA.funa和ClassE.fune的核心度分数如下:
core_score(ClassA.funa)=1*0.3+2*0.5+0*0.2+(2-1)*0.1=1.4
core_score(ClassE.fune)=0*0.3+1*0.5+1*0.2+(2-2)*0.1=0.6
其次对于业务流b,根据公式1分别计算函数节点ClassA.funa、ClassB.funb、ClassC.func,以及ClassD.fund的核心度分数如下:
core_score(ClassA.funa)=1*0.3+2*0.5+0*0.2+(4-1)*0.1=1.4
core_score(ClassB.funb)=0*0.3+1*0.5+0*0.2+(4-2)*0.1=0.7
core_score(ClassC.func)=0*0.3+1*0.5+0*0.2+(4-3)*0.1=0.6
core_score(ClassD.fund)=0*0.3+1*0.5+0*0.2+(4-4)*0.1=0.5
步骤407、根据各函数节点的核心度分数排序,选取前0.392M(4舍5入)个函数节点,确定业务流的关键词。
具体来说,对于业务流a,该业务流由2个函数节点构成,2*0.392=0.784,4舍5入后取1,由于少于2,故选取ClassA.funa、ClassE.fune的关键词作为业务流a的关键词。
对于业务流b,该业务流由4个函数节点构成,4*0.392=1.568,4舍5入后取2,故选取前两个函数节点,即ClassA.funa、ClassB.funb的关键词作为业务流b关键词。
步骤408、将业务流a和业务流b转换为知识条目,将知识条目以及对应的业务流的关键词录入系统的知识库中。
本发明实施例还提供了一种知识库的挖掘装置,如图5所示,包括:
获取单元501,用于获取系统中的源代码;
采集单元502,用于采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;
创建单元503,用于根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;
计算单元504,用于针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;
存储单元505,用于将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
进一步地,所述创建单元503,具体用于:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
进一步地,所述创建单元503,还用于:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
进一步地,所述创建单元503,还用于:
将所述业务流中的非公开函数节点删除。
进一步地,所述计算单元504,具体用于:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
进一步地,所述计算单元504具体用于,根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
基于相同的原理,本发明还提供一种电子设备,如图6所示,包括:
包括处理器601、存储器602、收发机603、总线接口604,其中处理器601、存储器602与收发机603之间通过总线接口604连接;
所述处理器601,用于读取所述存储器602中的程序,执行下列方法:
获取系统中的源代码;
采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;
根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;
针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;
将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
进一步地,所述处理器601具体用于:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
进一步地,所述处理器601具体用于:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
进一步地,所述处理器601具体用于:
将所述业务流中的非公开函数节点删除。
进一步地,所述处理器601具体用于:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
进一步地,所述处理器601具体用于:
根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (14)
1.一种知识库的挖掘方法,其特征在于,包括:
获取系统中的源代码;
采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;
根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;
针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;
将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
2.如权利要求1所述的方法,其特征在于,所述根据所述函数节点之间的调用关系,建立业务流,包括:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
3.如权利要求2所述的方法,其特征在于,所述根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构,包括:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
4.如权利要求2所述的方法,其特征在于,所述对所述拓扑结构进行遍历,建立业务流之后,确定所述业务流的关键词之前,还包括:
将所述业务流中的非公开函数节点删除。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述业务流中函数节点的关键词,确定所述业务流的关键词,包括:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
6.如权利要求5所述的方法,其特征在于,根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
7.一种知识库的挖掘装置,其特征在于,包括:
获取单元,用于获取系统中的源代码;
采集单元,用于采集所述源代码中各函数节点的属性信息,所述属性信息至少包括所述函数节点的关键词以及函数节点之间的调用关系;
创建单元,用于根据所述函数节点之间的调用关系,建立业务流,所述业务流为包含一个或多个函数节点的完整路径;
计算单元,用于针对一个业务流,根据所述业务流中函数节点的关键词,确定所述业务流的关键词;
存储单元,用于将所述业务流转换为知识条目,将所述知识条目以及对应的业务流的关键词录入所述系统的知识库中。
8.如权利要求7所述的装置,其特征在于,所述创建单元,具体用于:
根据所述函数节点之间的调用关系,以各函数节点为节点构建拓扑结构;
对所述拓扑结构进行遍历,建立业务流,其中,一条业务流从所述拓扑结构的根节点开始,到所述拓扑结构的一个叶子节点结束。
9.如权利要求8所述的装置,其特征在于,所述创建单元,还用于:
若所述调用关系为循环流程,则以一次循环流程进行所述拓扑结构的构建。
10.如权利要求8所述的装置,其特征在于,所述创建单元,还用于:
将所述业务流中的非公开函数节点删除。
11.如权利要求7至10任一项所述的装置,其特征在于,所述计算单元,具体用于:
计算所述业务流中各函数节点的核心度分数;
根据核心度分数将各函数节点排序;
将核心度排序前N个函数节点的关键词作为所述函数节点的关键词。
12.如权利要求11所述的装置,其特征在于,所述计算单元具体用于,根据以下公式计算所述业务流中各函数节点的核心度分数:
S=x·0.3+y·0.5+z·0.2+(l-p)·0.1
其中,S为函数节点的核心度分数;根据所述函数节点是否为根节点确定x的取值,若为根节点则x取值1,不是根节点则x取值0;y为所述函数节点在所有业务流中出现的次数;根据所述函数节点是否为叶子节点确定z的取值,若为叶子节点则z取值1,不是叶子节点则z取值0;l表示所述业务流的总长度,p表示所述函数节点在所述业务流中的位置。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6任一所述的方法。
14.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1~6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810989083.XA CN109189833B (zh) | 2018-08-28 | 2018-08-28 | 一种知识库的挖掘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810989083.XA CN109189833B (zh) | 2018-08-28 | 2018-08-28 | 一种知识库的挖掘方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189833A CN109189833A (zh) | 2019-01-11 |
CN109189833B true CN109189833B (zh) | 2021-10-01 |
Family
ID=64916423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810989083.XA Active CN109189833B (zh) | 2018-08-28 | 2018-08-28 | 一种知识库的挖掘方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189833B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417574B (zh) * | 2019-05-21 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 一种拓扑分析方法、装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493820A (zh) * | 2008-01-25 | 2009-07-29 | 北京华深慧正系统工程技术有限公司 | 一种药监行业知识库的平台及其构建方法 |
CN103365960A (zh) * | 2013-06-18 | 2013-10-23 | 国家电网公司 | 电力多级调度管理结构化数据的离线搜索方法 |
CN107463786A (zh) * | 2017-08-17 | 2017-12-12 | 王卫鹏 | 基于结构化报告模板的医学影像知识库建立方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150310073A1 (en) * | 2014-04-29 | 2015-10-29 | Microsoft Corporation | Finding patterns in a knowledge base to compose table answers |
-
2018
- 2018-08-28 CN CN201810989083.XA patent/CN109189833B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493820A (zh) * | 2008-01-25 | 2009-07-29 | 北京华深慧正系统工程技术有限公司 | 一种药监行业知识库的平台及其构建方法 |
CN103365960A (zh) * | 2013-06-18 | 2013-10-23 | 国家电网公司 | 电力多级调度管理结构化数据的离线搜索方法 |
CN107463786A (zh) * | 2017-08-17 | 2017-12-12 | 王卫鹏 | 基于结构化报告模板的医学影像知识库建立方法 |
Non-Patent Citations (1)
Title |
---|
基于数据挖掘的CRM系统及其在律师行业中应用;段宗元;《万方数据库学位论文》;20160901;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109189833A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837550B (zh) | 基于知识图谱的问答方法、装置、电子设备及存储介质 | |
CN1924858B (zh) | 一种获取新词的方法、装置以及一种输入法系统 | |
CN101872349B (zh) | 处理自然语言问题的方法和装置 | |
CN108764480A (zh) | 一种信息处理的系统 | |
CN109947952B (zh) | 基于英语知识图谱的检索方法、装置、设备及存储介质 | |
CN108664599B (zh) | 智能问答方法、装置、智能问答服务器及存储介质 | |
CN111814455B (zh) | 搜索词纠错对构建方法、终端及存储介质 | |
CN111506504A (zh) | 基于软件开发过程度量的软件安全性缺陷预测方法及装置 | |
CN111369294B (zh) | 软件造价估算方法及装置 | |
CN107291775A (zh) | 错误样本的修复语料生成方法和装置 | |
CN116467171A (zh) | 自动化测试用例构建装置、方法、电子设备及存储介质 | |
CN109189833B (zh) | 一种知识库的挖掘方法及装置 | |
CN116881430B (zh) | 一种产业链识别方法、装置、电子设备及可读存储介质 | |
CN117093556A (zh) | 日志分类方法、装置、计算机设备及计算机可读存储介质 | |
CN116049376B (zh) | 一种信创知识检索回复的方法、装置和系统 | |
CN113806647A (zh) | 识别开发框架的方法及相关设备 | |
CN110209804B (zh) | 目标语料的确定方法和装置、存储介质及电子装置 | |
CN114490673B (zh) | 数据信息处理方法、装置、电子设备及存储介质 | |
CN115757720A (zh) | 基于知识图谱的项目信息搜索方法、装置、设备和介质 | |
CN114417010A (zh) | 面向实时工作流的知识图谱构建方法、装置和存储介质 | |
CN113704422A (zh) | 一种文本推荐方法、装置、计算机设备和存储介质 | |
CN113836377A (zh) | 信息关联方法、装置、电子设备及存储介质 | |
CN112328812A (zh) | 基于自调参数的领域知识抽取方法与系统、电子设备 | |
CN113722421A (zh) | 一种合同审计方法和系统,及计算机可读存储介质 | |
CN111460206A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |