一种基于AST和规则库、知识库的可视化代码生成方法技术

技术编号:31983465 阅读:19 留言:0更新日期:2022-01-20 02:00
本发明专利技术公开了医疗数据处理技术领域的一种基于AST和规则库、知识库的可视化代码生成方法,包括以下步骤:S1、获取目标代码,并针对目标代码,构建抽象语法树AST;S2、针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;同时,针对抽象语法树AST分别提取每个节点的特征向量;本发明专利技术通过该方法将代码片段得到的AST生成邻接矩阵(A),再通过点乘的方式获得该邻接矩阵的二次幂(A2)和三次幂(A3)形式(即得到三个尺度的邻接矩阵),将这三个矩阵分别输入到两层的图卷积神经网络(GCN)中得到三个特征矩阵,将它们再通过相加的方式进行融合,最终得到AST节点的特征向量,可以更好地提取抽象语法树(AST)中边的特征信息。抽象语法树(AST)中边的特征信息。抽象语法树(AST)中边的特征信息。

【技术实现步骤摘要】
一种基于AST和规则库、知识库的可视化代码生成方法


[0001]本专利技术涉及医疗数据处理
,具体为一种基于AST和规则库、知识库的可视化代码生成方法。

技术介绍

[0002]本部分的陈述仅仅是提到了与本申请相关的
技术介绍
,并不必然构成现有技术;基于医疗指南研发人工智能辅助决策支持系统是医疗人工智能的重要应用场景之一,医疗临床智能决策支持系统作为一种医疗人工智能系统,包括基于医疗指南规则形成的逻辑规则,从而构建本体模型形成的逻辑推理系统,是人工智能领域专家系统的进一步发展。该实现方式是首先理解医疗业务知识,从医疗资料、医疗指南、医疗文献中抽取医疗概念、属性等,并将文本描述的文字语言按照逻辑规则语言(如:SWRL)等形成规则集,最终形成基于医疗指南的知识图谱,构建临床辅助决策支持系统;在构建医疗指南的过程中,需要通过人工或技术手段实现从医疗指南文本资料到满足计算机系统应用需求的指示和规则,医疗指南中的规则描述分为不同的应用场景和情形,因此会形成包括众多规则的规则集。规则集的构建完全是医疗指南文字描述转换成计算机可以理解的逻辑化语言,规则集构建后需要经过医学专家的确认才能保证规则的有效性,然后用于构建辅助决策系统。而规则的描述一般为自然逻辑语言描述,医学人员难以理解,因此,需要将所有规则集转化为可视化决策树,使医学人员可以直观理解,为此,我们提出一种基于AST和规则库、知识库的可视化代码生成方法。

技术实现思路

[0003]本专利技术的目的在于提供一种基于AST和规则库、知识库的可视化代码生成方法,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种基于AST和规则库、知识库的可视化代码生成方法,包括以下步骤:S1、获取目标代码,并针对目标代码,构建抽象语法树AST;S2、针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;同时,针对抽象语法树AST分别提取每个节点的特征向量;S3、将整个抽象语法树AST的节点嵌入向量和每个节点的特征向量,输入到解码器中,输出生成的代码摘要;S4、将医疗指南中的决策知识与输出生成的代码摘要以数据结构化的形式整理为规则集;S5、对规则集进行拆分,在以不补充缺失值状态的情况下,统计决策树的数量为N,N≥1;分别取N棵决策树中所对应的规则集,以规则集为输入,以一棵决策树为输出构建决策树模型,生成每棵决策树的数据结构模型;S6、将构建的每棵决策树的数据结构模型进行可视化处理,生成可视化决策树模
型,并将可视化决策树模型以图像的形式进行保存。
[0005]优选的,所述针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;具体步骤包括:首先,针对抽象语法树AST,提取AST每个节点的词向量;其次,对AST所有节点,进行最大池化操作,得到整个抽象语法树AST的节点嵌入向量。
[0006]优选的,所述针对抽象语法树AST,提取AST每个节点的词向量;具体步骤包括:针对抽象语法树AST,采用word2vec提取AST每个节点的词向量。
[0007]优选的,所述对AST所有节点,进行最大池化操作,得到整个抽象语法树AST的节点嵌入向量;具体是采用最大池化层来实现最大池化操作。
[0008]优选的,所述针对抽象语法树AST分别提取每个节点的特征向量;具体步骤包括:针对抽象语法树AST,生成初始邻接矩阵;对初始邻接矩阵进行尺度点乘处理,得到二次幂邻接矩阵;对初始邻接矩阵进行尺度点乘处理,得到三次幂邻接矩阵;针对抽象语法树AST的每个节点,进行初始化向量表示,得到每个节点的特征矩阵;对初始邻接矩阵和每个节点的特征矩阵,进行特征提取,得到每个节点的初始特征向量矩阵;对二次幂邻接矩阵和每个节点的特征矩阵,进行特征提取,得到每个节点的二次幂特征向量矩阵;对三次幂邻接矩阵和每个节点的特征矩阵,进行特征提取,得到每个节点的三次幂特征向量矩阵;对每个节点的初始特征向量矩阵、二次幂特征向量矩阵和三次幂特征向量矩阵进行特征融合,得到每个节点的特征向量矩阵;对每个节点的特征向量矩阵进行转置,得到每个节点的特征向量。
[0009]优选的,所述将整个抽象语法树AST的节点嵌入向量和每个AST节点的特征向量,输入到解码器中,输出生成的代码摘要;具体步骤包括:采用注意力机制对每个AST节点的特征向量进行分配权重;将整个抽象语法树AST的节点嵌入向量与分配权重后的每个AST节点的特征向量进行融合,得到融合向量;将融合向量输入到训练后的GRU解码器单元中,输出生成的代码摘要。
[0010]优选的,所述本专利技术以一阶逻辑的方式获取医疗指南的决策知识,并采用txt文本格式或excel格式以第一行为属性行、第一行最后一列为决策结果列的数据结构化形式整理成规则集。
[0011]优选的,所述统计决策树数量的具体步骤为:(1)设定规则集的总行数量为R,计算规则集每个属性所在列的非空行项所在行Cn的数量,并根据数量值从高到低排序;(2)若存在某一个属性的Cn的数量值等于R,则选择该属性为树的根节点,并且规则集至少生成一棵决策树;若不存在某一个属性的Cn的数量值等于R,则以当前属性为根节
点,其非空项所在行为内容构成一个树进行存储,规则集中其余规则数据进入步骤(1)迭代;经过步骤(1)和步骤(2),规则集最终形成N棵决策树。
[0012]与现有技术相比,本专利技术的有益效果是:一、本专利技术通过该方法将代码片段得到的AST生成邻接矩阵(A),再通过点乘的方式获得该邻接矩阵的二次幂(A2)和三次幂(A3)形式(即得到三个尺度的邻接矩阵),将这三个矩阵分别输入到两层的图卷积神经网络(GCN)中得到三个特征矩阵,将它们再通过相加的方式进行融合,最终得到AST节点的特征向量,可以更好地提取抽象语法树(AST)中边的特征信息;且将AST节点的特征向量和AST节点嵌入向量进行融合的方法,该方法将AST的节点嵌入向量作为初始背景向量与经过一个注意力机制分配权重(如:对连接较多边的节点分配较大的权重)的AST节点的特征向量一同输入到解码器中进行融合,最终输出目标代码摘要,通过该方法生成的摘要信息更加准确;二、本专利技术在构建可视化决策树模型的过程中,首先判断生成决策树的规则集能够生成一棵树,如果不能,则生成多棵决策树(即决策树集),且规则集是基于医学指南形成的,医疗场景的任何指标限制条件都不能缺失,确保了生成的决策树(集)与原始规则集具有推理等效性,通过本专利技术构建的决策树模型不仅能够生成一棵可视化决策树,还可以生成多棵决策树,即生成可视化决策树集;三、本专利技术生成的决策树图形中在树的枝上进行指标值的描述,节点作为指标描述,可视化效果更好,医学人员更容易理解。
附图说明
[0013]图1为本专利技术整体流程示意图。
具体实施方式
[0014]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于AST和规则库、知识库的可视化代码生成方法,其特征在于,包括以下步骤:S1、获取目标代码,并针对目标代码,构建抽象语法树AST;S2、针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;同时,针对抽象语法树AST分别提取每个节点的特征向量;S3、将整个抽象语法树AST的节点嵌入向量和每个节点的特征向量,输入到解码器中,输出生成的代码摘要;S4、将医疗指南中的决策知识与输出生成的代码摘要以数据结构化的形式整理为规则集;S5、对规则集进行拆分,在以不补充缺失值状态的情况下,统计决策树的数量为N,N≥1;分别取N棵决策树中所对应的规则集,以规则集为输入,以一棵决策树为输出构建决策树模型,生成每棵决策树的数据结构模型;S6、将构建的每棵决策树的数据结构模型进行可视化处理,生成可视化决策树模型,并将可视化决策树模型以图像的形式进行保存。2.根据权利要求1所述的一种基于AST和规则库、知识库的可视化代码生成方法,其特征在于:所述针对抽象语法树AST提取整个抽象语法树AST的节点嵌入向量;具体步骤包括:首先,针对抽象语法树AST,提取AST每个节点的词向量;其次,对AST所有节点,进行最大池化操作,得到整个抽象语法树AST的节点嵌入向量。3.根据权利要求1所述的一种基于AST和规则库、知识库的可视化代码生成方法,其特征在于:所述针对抽象语法树AST,提取AST每个节点的词向量;具体步骤包括:针对抽象语法树AST,采用word2vec提取AST每个节点的词向量。4.根据权利要求1所述的一种基于AST和规则库、知识库的可视化代码生成方法,其特征在于:所述对AST所有节点,进行最大池化操作,得到整个抽象语法树AST的节点嵌入向量;具体是采用最大池化层来实现最大池化操作。5.根据权利要求1所述的一种基于AST和规则库、知识库的可视化代码生成方法,其特征在于:所述针对抽象语法树AST分别提取每个节点的特征向量;具体步骤包括:针对抽象语法树AST,生成初始邻接矩阵;对初始邻接矩阵进行尺度点乘处理,得到二次幂邻接矩阵;对初始邻接矩阵进...

【专利技术属性】
技术研发人员:徐俊宇
申请(专利权)人:浙江海心智惠科技有限公司
类型:发明
国别省市:

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

1