掌桥专利:专业的专利平台
掌桥专利
首页

一种基于软件系统描述的科技成果表达方法及系统

文献发布时间:2023-06-19 18:30:43


一种基于软件系统描述的科技成果表达方法及系统

技术领域

本发明涉及知识图谱技术领域,具体涉及一种基于软件系统描述的科技成果表达方法及系统。

背景技术

科技成果的表现载体形式多样,如通过文本化知识产权的形式来表示各种发明、方法等。而在IT领域,很多科技成果可以通过相应的实用软件系统进行展示,如北京市智能政务网上办事平台,即可视为一个智能政务的科技成果对应的软件系统。合理描述该软件系统不仅有助于对系统进行内容分析,也可以实现对应科技成果的刻画。

一般来说,这样的软件系统包含多个界面,每个界面又涵盖多个功能点,系统体系结构复杂。以自然语言描述的方式难以对这些科技成果类软件系统进行描述刻画,如系统描述文档、系统功能书等,只能针对单个系统中的功能点进行描述,对于功能点描述能力有限,也难以准确描述软件系统结构。

科技成果可以通过相应的软件系统进行展示,因此合理描述该软件系统即可实现对应科技成果的刻画。软件系统的描述包括对其结构与功能的描述。由于软件系统的具体功能界面具有复杂的技术关联,关系多样与复杂,可以通过图结构来表达,因此如何将一个或多个科技成果类软件系统的描述用图结构实现,成为一个亟待解决的问题。

发明内容

为了解决上述技术问题,本发明提供一种基于软件系统描述的科技成果表达方法及系统。

本发明技术解决方案为:一种基于软件系统描述的科技成果表达方法,包括:

步骤S1:获取至少一个科技成果类软件系统,从所述软件系统的首页遍历每个界面,提取所述软件系统的层次结构,得到至少一个所述软件系统的层次化体系结构有向无环图;

步骤S2:对所述软件系统中每一个界面在每个维度标注至少一个语义标签,其中,所述语义标签为包含具体语义的规范自然语言文本,分为多个维度;并将所述语义标签作为结点嵌入所述有向无环图,得到软件系统图结构;当有多个所述软件系统图结构时,将多个所述软件系统图结构在高于相似度阈值的标签结点处进行融合,得到科技成果的图结构;

步骤S3:利用检索词,对所述科技成果的图结构中结点进行检索,实现对多个所述软件系统中科技成果检索;

步骤S4:对于给定的相同或不同领域的两个科技成果,可以在所述科技成果的图结构中进行科技成果的对比,并将两个所述科技成果进行成果融合。

本发明与现有技术相比,具有以下优点:

本发明公开了一种基于软件系统描述的科技成果表达方法,由对软件系统的描述映射到对子领域科技成果的描述,进而对科技成果进行组织关联。通过本发明的方法,可以解决领域内科技成果点的检索;并通过对科技成果进行对比,串联科技成果对应的业务功能与技术点,生成解决方案。

附图说明

图1为本发明实施例中一种基于软件系统描述的科技成果表达方法的流程图;

图2为本发明实施例中软件系统图结构的示意图;

图3为本发明实施例中两个科技成果的对比过程示意图;

图4为本发明实施例中两个科技成果的融合过程示意图;

图5为本发明实施例中一种基于软件系统描述的科技成果表达系统的结构框图。

具体实施方式

本发明提供了一种基于软件系统描述的科技成果表达方法,可实现科技成果点的检索和对比,串联科技成果对应的业务功能与技术点,生成解决方案。

为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。

实施例一

如图1所示,本发明实施例提供的一种基于软件系统描述的科技成果表达方法,包括下述步骤:

步骤S1:获取至少一个科技成果类软件系统,从软件系统的首页遍历每个界面,提取软件系统的层次结构,得到至少一个软件系统的层次化体系结构有向无环图;

步骤S2:对软件系统中每一个界面在每个维度标注至少一个语义标签,其中,语义标签为包含具体语义的规范自然语言文本,分为多个维度;并将语义标签作为结点嵌入有向无环图,得到软件系统图结构;当有多个软件系统图结构时,将多个软件系统图结构在高于相似度阈值的标签结点处进行融合,得到科技成果的图结构;

步骤S3:利用检索词,对科技成果的图结构中结点进行检索,实现对多个软件系统中科技成果检索;

步骤S4:对于给定的相同或不同领域的两个科技成果,可以在科技成果的图结构中进行科技成果的对比,并将两个科技成果进行成果融合。

在一个实施例中,上述步骤S1:获取至少一个科技成果类软件系统,从软件系统的首页遍历每个界面,提取软件系统的层次结构,得到至少一个软件系统的层次化体系结构有向无环图,具体包括:

步骤S11:以软件系统的首页或顶层界面作为根节点,以深度优先遍历的方式遍历所有界面;同时,记录从一个界面跳转到另一个界面的链接关系,加入界面链接关系集合;

科技成果类软件系统,通常指的是有应用价值的实用软件系统,如完整的网页系统或应用软件。例如,北京市智能政务网上办事平台就是一个典型的智能政务系统,具有很高的实用价值。这样一个软件系统由多个界面组成,每个界面由多个功能点组成,如显示数据、布局展示、点击交互、操作控制等功能,以供用户操作使用。对于每个软件系统,以界面为基本单位对系统进行系统拆分,得到系统的每个界面,作为界面组织的原子单位。软件系统的界面之间存在各种复杂关系,例如导航栏中的层次关系、界面本身的跳转链接关系等。将一个界面跳转到另一个界面的链接关系,加入界面链接关系集合。

步骤S12:在界面链接关系集合中,根据软件系统的业务属性规约,将由包含多个功能点的界面连接至其中某一具体功能点界面的关联关系定义为向下关联关系;反之定义为向上关联关系;在业务属性上没有直接联系的关联关系定义为其他关联关系;从界面链接关系集合过滤出其中的向下关联关系作为边,以边所连接的界面作为结点,构建有向无环图。

一般而言,上述软件系统的功能界面存在层次结构,如在电子政务网中,由个人服务的导览页,可以进入多个具体的业务办理窗口,因此该导览页可以作为具体业务的上一层界面;而各个业务窗口则处于同一级。为了获取这种层次结构,需要通过软件系统的业务属性对这些关联关系进行规约,将关联关系分为向上关联、向下关联以及其他关联。其中,由包含较多功能点的界面跳转至其中某个具体功能点界面的关系作为向下关联关系。如上例中,由个人服务的导览页可以进入某一具体业务窗口,则导览界面与具体业务窗口存在向下的关联关系;反之作为向上关联关系,如具体业务窗口与导览页存在向上关联关系。在业务属性上没有直接联系的关系作为其他关联,如跳转至友情链接、跳转至下一页等。为了用图结构表示软件系统时能够尽可能简化,去除冗余边,在提取系统层次化结构时,仅保留向下关联关系,而不保留向上关联以及其他关联。

界面间的关联关系可以由遍历软件系统界面的方式来记录。通过人工点击或者机器设计规则模拟的方式遍历系统,当由界面按照业务逻辑进入另一个界面时,记录这两个界面间存在的向下关联。由这些关联关系,将软件系统按照层次化的方式组织起来。获取软件系统层次结构的具体方式为:以应用软件系统的首页或最顶层界面作为根结点,即层次结构中的最上层。对每一个界面,获取其包含向下关联关系的界面,作为由上层界面到下层界面的关系作为层次结构中向下的一条边。通过这种方式获取软件系统中所有连接边,形成软件系统的层次结构;

软件系统层次结构为以软件系统首页为根结点的一棵树或有向无环图,通过一组三元组存储表示,其形式化定义为:

System={P,PR}

其中,P是代表所有界面的集合,定义为:

P={p|p是界面}

PR是代表界面间层次关系的集合,定义为:

PR={(p

其中,'sub'表示从p

层次结构最上层的根结点p

在一个实施例中,上述步骤S2:对软件系统中每一个界面在每个维度标注至少一个语义标签,其中,语义标签为包含具体语义的规范自然语言文本,分为多个维度;并将语义标签作为结点嵌入有向无环图,得到软件系统图结构;当有多个软件系统图结构时,将多个软件系统图结构在高于相似度阈值的标签结点处进行融合,得到科技成果的图结构,具体包括:

步骤S21:通过众标的方式,对软件系统中每一个界面在每个维度标注至少一个语义标签,语义标签用于描述界面的功能语义、应用场景和具体业务;在计算机的技术领域内,“AI”、“物联网”、“云计算”均可以作为语义标签。每个维度的语义标签本身具备层次结构关系,如“深度学习”、“机器学习”均作为“AI”的子标签。标签以及其体系结构的获取可以由专家构造,或由领域权威文献中通过人工的方式或通过机器设定规则算法来提取。

本发明实施例的语义标签也通过一组三元组存储表示,其形式化定义与系统层次结构类似,对于每一个维度的语义标签,通过如下定义表示:

Tag={T,TR}

T={t|t是标签}

TR={(t

标签的类型称为维度。所有维度的集合用Q={q

且任一标签属于且仅属于一个维度:

通过维度的不同可以将标签T分为不同的子集

T

步骤S22:将语义标签作为结点,以及界面和语义标签的对应关系作为边,嵌入到有向无环图中,构建软件系统图结构,此过程称为软件系统的界面描述;

具体来说,即对每一个界面,使用一组符合该界面的标签来描述界面的功能语义、应用场景、具体业务等。界面描述可以通过“众标”的方式完成,对于每一个界面,由多人选择描述该界面合适的标签;也可以由领域专家选择合适的标签进行描述;通过软件系统的界面描述,可以将软件系统映射到图结构中。其中用语义标签来描述界面的信息可以嵌入到图结构中,作为图结构中的边;而标签与系统界面均抽象为图中的结点。通过这样的映射方式,以图的形式组织科技软件系统,就能将系统的界面描述形式化表示为:

Description={P,T,DR}

DR={(p,dim,t)|p∈P,t∈T}

对于不同维度的标签,所使用的dim也不相同;其中dim指的是标签t的维度,该三元组表示:在某个维度dim下,可用标签t描述界面p。

不论是界面q还是标签t,其属性定义为:软件系统界面或标签的性质描述,其取值可以是连续值或离散值,取值范围由不同属性对应的现实含义决定。形式化为如下表示:

其中所有对象所有属性的性质名集合用K表示,n

综上,对于软件系统图结构,可以做出如下形式化定义:

Graph={P,T,PR,TR,DR}

举例来说,在电子政务网中,由个人服务的导览页,进入户籍办理窗口页,可以用三元组(“个人服务”,“sub”,“户籍办理”)来表示这一条边,其中sub表示由“个人服务”界面与向下层界面“户籍办理”的关联关系。

北京市智能政务网,可以用三元组(“北京市智能政务网”,“function”,“一网通办”)来表示政务网与标签“一网通办”的连接关系,用标签“一网通办”来描述北京市智能政务网的功能,其中谓语“function”表示这是一个关于功能的描述。用三元组(“北京市智能政务网”,“application”,“智慧政务”)来表示政务网的应用领域为智慧政务,其中谓语“application”表示这是一个应用领域的描述。

标签之间的层次结构关系由自然语言关系获取,描述的是标签之间的关系,边连接的起始结点与终止结点均为标签结点,谓语是标签之间的向下层级关系。例如,(“人工智能”,“sub”,“机器学习”),这一条边表示机器学习是人工智能的一个子标签,其中谓语同样用“sub”表示层次结构。

如图2所示,左半部分中,以界面1为根节点引出的子图,即为软件系统的层次结构;右半部分为某一维度下标签的层次结构。界面1与标签1、标签2相连接,说明可以用标签1、标签2来描述界面1。图2展示了结合软件系统的层次结构及其标签的软件系统图结构的一部分,完整的图结构中包含多个维度的标签。

步骤S23:当有多个软件系统时,重复步骤S21~S22,得到多个软件系统图结构,将多个软件系统图结构的语义标签进行相似度计算,将大于阈值的语义标签结点进行融合,得到完整的科技成果的图结构;

具体来说,对多个如图2所示的软件系统图结构组织起来,通过语义标签的相似度计算融合语义标签结点,将不同的软件系统组织在一个整体的图结构中,即为完整的科技成果的图结构。

在一个实施例中,上述步骤S3:利用检索词,对科技成果的图结构中结点进行检索,实现对多个软件系统中科技成果检索,具体包括:

步骤S31:根据给定的若干个维度的检索词,在科技成果的图结构中基于结点名称匹配与检索词相同或部分相同的标签结点;

步骤S32:由科技成果的图结构中的结点连接关系,筛选出与所有匹配的标签结点都相连的系统界面结点,作为返回的界面结果集;

步骤S33:对于界面结果集中的每一个界面结点,不断递归向上依次遍历其上级界面,直至根结点,并还原界面结点的组织结构,从而获取检索词所对应的界面节点在软件系统中的层次信息。

在一个实施例中,上述步骤S4:对于给定的相同或不同领域的两个科技成果,可以在科技成果的图结构中进行科技成果的对比,并将两个科技成果进行成果融合,具体包括:

步骤S41:对于给定的两个相同或不同领域的科技成果,依据二者嵌入的语义标签,为科技成果的图结构中的界面构建特征向量,作为具体科技成果点的表示向量;

步骤S42:由科技成果的叶结点开始,根据特征向量进行叶结点的两两配对,得到成果点相似度,从其中过滤掉相似度小于等于超参数ψ的组合;当某一叶结点在其他系统中匹配超过一个叶结点时,使用匈牙利算法,在两者的相似度矩阵中,得到相似度综合的最优匹配,建立两个不同科技成果中叶结点的对应关系;

步骤S43:由匹配到的叶结点,自底向上地计算每层中每个非叶节点的相似度,直至每个科技成果的根节点;若两个非叶结点的相似度值大于某个设定超参数

步骤S44:在相似成果匹配关系中,由叶子结点开始自底向上,删去未匹配的成果点,重构出匹配成果点的公共成果树:对于一对匹配的叶结点,依次递归向上寻找二者祖先结点,直至找到能够匹配上的最近祖先结点,作为这两个匹配叶子结点的父节点,进而形成公共成果树;

步骤S45:从科技成果的图结构中,自顶向下地将非相似成果点添加至公共成果树中,最终将两个科技成果合并为一个新的科技成果树,新的科技成果树融合了两个科技成果中的相似成果点与不同成果点。

如图3展示了两个科技成果的对比过程示意图,对于给定的两个科技成果A和B,从其最底层成果点开始,根据特征向量进行成果点的两两配对,基于名称字符重合程度、词向量余弦值或标签重合程度,得到相似度。从其中过滤掉相似度小于等于超参数ψ的组合,保留相似度大于ψ的配对组合。其中,某一个叶结点可能与多个叶节点建立对应关系,而科技成果间应该只能至多匹配一个成果点。因此通过匈牙利算法,在两者的相似度矩阵中,得到相似度综合的最优匹配。从而建立两个不同科技成果中叶结点的对应关系:(A1211,B211)、(A122,B212)、(A221,B112)和(A21,B12)。

设两个系统A和B共匹配到K个叶结点对,为每个匹配的结点对分配一个K维独热(one-hot)特征向量(结点对所对应的位置置1,其余置0)。对于未匹配的叶结点,其特征向量为K维全0向量。

从叶结点开始,自底向上地通过求和计算每个非叶结点的特征向量F,直至根结点。随后根据各非叶结点的特征向量F,计算其两两余弦相似度。若两个成果点的相似度值大于某个设定超参数ψ,则视为功能上相似的成果点,记录其对应关系。对于非叶结点,同样采用匈牙利算法,得到非叶节点的最优匹配。建立出两个不同科技成果中非叶结点的对应关系:(A21,B12)、(A1,B2)、和(A,B)。通过上述对应关系,能够识别出两个科技成果之间所有的相似成果点与不同成果点,从而实现科技成果的对比。

如图4展示了两个科技成果的融合过程示意图,基于上述例子中科技成果中结点的对应关系,由叶子结点开始自底向上,重构出匹配成果点的公共成果树。其步骤为:将最底层匹配的结点作为公共的叶子结点;对于两个匹配的叶子结点,依次递归向上寻找祖先结点,直至找到能够匹配上的最近祖先结点,作为这两个匹配叶子结点的父节点。

由原始的科技成果A和B中,自顶向下地将无法匹配的非相似成果点添加至公共成果树中,最终将两个科技成果合并为一个新的科技成果,该科技成果涵盖两个科技成果中的相似成果点与不同成果点。

例如,有两个现有的科技成果“城市大脑”和城市云脑”,通过构建包含这两个软件系统的软件系统图结构的一部分,描述出科技成果的软件系统的界面、科技成果点、标签之间的关联关系。图谱非常复杂,在使用图结构时,需要通过标签在图谱中检索符合检索条件的成果点与系统。检索的标签包含多个维度,如业务维度、技术维度、地域维度等,在系统中返回同时满足所有检索条件的成果点,返回对应成果点以及其所处系统,连接标签等多维度信息。

此外,通过图结构还可以实现科技成果的对比功能,进而为领域解决方案的生成提供指导。例如,通过图结构的描述,可以描述“城市大脑”这一科技成果到底涵盖了哪些模块、功能、业务领域。每个模块需要包括哪些功能点,每个功能点需要什么技术才可以完成。而通过对比“城市大脑”、“城市云脑”的科技成果,可以查看其公共部分的功能点以及各自不同的功能点;实现每个功能点各自需要哪些技术。因此,将功能点按需串联起来,可以形成一个新的科技成果解决方案。

本发明公开了一种基于软件系统描述的科技成果表达方法,由对软件系统的描述映射到对子领域科技成果的描述,进而对科技成果进行组织关联。通过本发明的方法,可以解决领域内科技成果点的检索;并通过对科技成果进行对比,串联科技成果对应的业务功能与技术点,生成解决方案。

实施例二

如图5所示,本发明实施例提供了一种基于软件系统描述的科技成果表达系统,包括下述模块:

软件系统有向无环图构建模块51,用于获取至少一个科技成果类软件系统,从软件系统的首页遍历每个界面,提取软件系统的层次结构,得到至少一个软件系统的层次化体系结构有向无环图;

科技成果的图结构构建模块52,用于对软件系统中每一个界面在每个维度标注至少一个语义标签,其中,语义标签为包含具体语义的规范自然语言文本,分为多个维度;并将语义标签作为结点嵌入有向无环图,得到软件系统图结构;当有多个软件系统图结构时,将多个软件系统图结构在高于相似度阈值的标签结点处进行融合,得到科技成果的图结构;

科技成果检索模块53,用于利用检索词,对科技成果的图结构中结点进行检索,实现对多个软件系统中科技成果检索;

科技成果对比与融合模块54,用于对于给定的相同或不同领域的两个科技成果,可以在科技成果的图结构中进行科技成果的对比,并将两个科技成果进行成果融合。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

相关技术
  • 基于动态描述逻辑和案例推理的软件系统故障检测方法
  • 一种软件系统底层数据描述方法
技术分类

06120115594460