基于目标驱动与数据挖掘的异常建模行为检测方法

文档序号:33513489发布日期:2023-03-22 05:31阅读:70来源:国知局
基于目标驱动与数据挖掘的异常建模行为检测方法

1.本发明涉及面向目标的需求建模分析和数据挖掘技术,首先是利用面向目标的需求建模分析技术对建模者的正常建模行为进行建模;接着利用数据挖掘技术对真实的建模操作数据进行挖掘与识别,从数据中得到正常建模行为模式,并对上一步模型中定义的正常建模行为进行验证;最后利用筛选后的正常建模行为模式对建模操作数据中的异常建模行为进行检测。


背景技术:

2.在科学、技术、工程、数学等领域,学习模型驱动工程的建模技术是很重要的。因此,提高建模教学者讲授建模技术的质量和效率,对于建模的教育和练习而言是非常重要的。现有的方法关注的方面主要是评估建模的结果而不是挖掘建模过程背后隐藏的知识。因此,对建模过程数据进行探索,挖掘建模行为背后隐藏的建模问题,对于提高建模教学质量是很重要的。
3.在过去的二十年中,面向目标的需求工程受到了广泛关注。在这个领域中,目标被用作一种有用的概念化方式,以引出建模和分析需求、捕获替代方案和冲突。进一步解释,目标是根据某种形式的模型被引出和概念化后得到的。面向目标的需求工程分析下包含两种常用的分析方法。第一种是通过提出“为什么”的问题来引出新目标。相比于较高层次目标的确定,基础目标很容易从最初的材料中确定。而高层次目标是通过对当前目标提出“为什么”的问题并解答来引出的。第二种是通过提出“怎样做”的问题来引出新目标。对于目标模型图而言,需要对众多的目标进行细化,直到可以利用子目标对未来软件和环境中任一情况进行表示。所以,最高层次的目标在上一步中成为需求,而在目标细化的过程成为假设前提。更具体的目标可以通过提出“怎样做”的问题来确定。本专利将利用目标模型并结合领域知识对建模者的建模行为进行建模。
4.数据挖掘技术是从数据库中挖掘信息以做出决策或者探索的任务。数据挖掘任务下的一个最热门的任务是顺序模式挖掘。顺序模式挖掘由在数据库中探索有趣的、未知的、潜在的并且有用的模式为核心任务。序列模式挖掘关注于事件或元素的顺序关系以挖掘有趣的模式。模式的置信度可以有多种指标决定,比如出现频率、长度等。本专利将关注日志信息中的建模行为的出现次数等特征,从真实地建模过程数据中,对正常的建模行为模式进行探索与挖掘。


技术实现要素:

5.本发明提出了一套基于目标驱动与数据挖掘的异常建模行为检测方法,适用于收集到建模者在建模平台的建模过程数据后,对建模者的建模行为进行建模得到正常建模行为目标模型,然后结合真实地建模过程数据抽取正常建模行为模式形成正常建模行为模式集合,最后检测得到异常建模行为的过程。
6.本发明包含以下步骤:
7.步骤1,基于数据流图的领域知识,从自顶向下的角度系统地为建模者构建数据流图的正常建模行为构建目标模型,并设计目标表达式以表示正常建模行为的顺序关系。
8.步骤2,聚焦于日志信息中的真实地建模过程信息,对建模过程信息进行预处理,然后关注其中建模行为内部建模操作连续出现次数、建模行为模式出现次数的特征,利用数据挖掘的方法从真实地建模过程数据中挖掘得到频繁建模行为模式集合,接着从频繁建模行为模式集合中识别得到正常建模行为模式集合,并验证、调整步骤1中的目标模型。
9.步骤3,利用步骤2得到的正常建模行为模式集合,捕获正常建模行为,其中建模过程数据中未被捕获的部分则为异常建模行为。
10.进一步,所述步骤1中基于数据流图的领域知识,为建模者构建数据流图的正常建模行为构建目标模型,并设计目标表达式以表示正常建模行为的顺序关系的过程,具体包括:
11.步骤1.1,设置目标模型的顶层目标。因为研究数据流图的正常建模行为领域,所以顶层目标设置为“建模者构建数据流图的必要建模行为序列”。
12.步骤1.2,确定两种需要被日志记录的建模操作。第一种是直接作用于数据流图元素的操作。第二种是非直接作用于数据流图元素,但对建模过程产生影响的建模操作。
13.步骤1.3,确定被日志记录的建模操作中可加入正常建模行为目标模型的操作。将被记录的建模操作根据与目标模型的顶层目标相关程度分为强相关,相关,弱相关三类。强相关的建模操作是直接作用于数据流图元素,并且根据顶层目标频繁出现在建模过程中的操作。相关的建模操作是从直接作用于数据流图元素的操作中,除去强相关操作后剩余的操作。弱相关操作是非直接作用于数据流图元素的操作。我们将强相关的建模操作加入目标模型。
14.步骤1.4,构建正常建模行为目标模型。将加入目标模型的强相关建模操作,以动作和目标两个角度进行建模。从动作的角度出发,强相关建模操作在目标模型的高层可以被抽象为添加和修改。从目标的角度出发,数据流图中的加工、数据存储、外部实体这三个元素的动作是相同的,所以这三个元素可以被抽象为节点。然后节点与数据流图中的数据流的动作在高层是相似的,所以节点与数据流可以被抽象为元素。
15.步骤1.5,表示目标之间顺序关系的目标表达式。定义目标之间的顺序关系,并利用定义的顺序关系,为目标模型中除去叶子节点(加入目标模型的强相关建模操作)外的目标设置目标表达式。
16.进一步,所述步骤2中对建模过程信息进行预处理,接着利用数据挖掘的方法从真实地建模过程数据中挖掘得到频繁建模行为模式集合,然后从频繁建模行为模式集合中识别得到正常建模行为模式集合并验证、调整步骤1中的目标模型,具体包括:
17.步骤2.1,根据建模者构建模型过程的特征,对真实建模过程数据预处理。设置2个建模操作之间的时间间隔≤300s。如果超过300s,则第二个建模操作作为新建模序列的开始。同时,刷新画布操作由于其意义的特殊性,也同样需要作为一条新建模序列的开始。为了保证建模序列表示的建模行为的完整性,建模序列长度设置为≥10。
18.步骤2.2,从建模过程数据中挖掘频繁的建模行为模式。在步骤2.1处理后得到的建模序列集合中,如果同一建模操作连续出现2次及以上,则将这一操作连续出现的子建模操作串用这一操作和加号表示。
19.步骤2.3,在步骤2.2处理后得到的建模序列集合中,挖掘得到所有长度≥2的子建模操作串,并且记录这些子建模操作串在不同操作序列中出现的频率,将频率≥2的子建模操作串加入集合,构成频繁建模行为模式集合。
20.步骤2.4,在步骤2.3处理后得到的频繁建模行为模式集合中,首先利用半自动的方法识别得到正常建模行为模式。第一,如果频繁建模行为模式在所有建模序列中出现频率超过一半(频率≥建模序列总数/2),将他们筛选出来,利用领域知识进行人工检查,判断他们是否为正常建模行为模式。如果是,则加入正常建模行为模式集合,如果不是,则跳过。第二,找到建模序列总数/2>频率≥建模序列总数/3的频繁建模行为模式,进行人工检查,判断他们是否为正常建模行为模式。第三,找到建模序列总数/3>频率≥建模序列总数/10的频繁建模行为模式,进行人工检查,判断他们是否为正常建模行为模式。根据得到的正常建模行为模式集合,修改步骤1得到的目标模型,并设计为调整后的目标模型设计新的目标表达式。
21.进一步,所述步骤3中利用步骤2得到的正常建模行为模式集合,捕获正常建模行为,其中建模过程数据中未被捕获的部分则为异常建模行为,具体包括:
22.步骤3.1,将步骤2得到的正常建模行为模式集合设计为正则形式。
23.步骤3.2,利用正则形式的正常建模行为模式,从建模过程数据中捕获得到正常建模行为。
24.步骤3.3,建模过程数据中,除去捕获得到的正常建模行为外的部分,即为异常建模行为。
25.本发明的有益效果是:
26.一、本发明中收集建模过程数据的建模平台,已经投入高校的软件工程等课程的使用。
27.二、本发明提出了创新性的方法,从建模者建模过程出发,定义并挖掘建模者正常行为,然后检测得到建模者异常行为。从异常建模行为中,可以得到许多有关建模者建模过程的知识。比如:可以探寻到建模工具可用性的问题,可以得到学生建模知识掌握不足的方面等。而现有方法大多从建模结果(建模作业等)出发,通过评估建模结果(为建模作业打分等)的方式,提高建模教学的有效性。
附图说明
28.图1为本发明的构建数据流图的正常建模行为目标模型图的2个局部图。图a:目标模型局部图-添加加工;图b:目标模型局部图-修改数据流。
29.图2为本发明的合并相同连续操作算法。
30.图3为本发明的挖掘频繁模式算法。
31.图4为本发明的检测异常建模行为算法。
具体实施方式
32.在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,
以此作为稍后论述的更详细描述的前序。
33.步骤1,基于数据流图的领域知识,从自顶向下的角度系统地为建模者构建数据流图的正常建模行为构建目标模型,并设计目标表达式以表示正常建模行为的顺序关系,具体操作如下:
34.本发明以“建模者构建数据流图的必要建模行为序列”为顶层目标构建目标模型。本发明确定了在建模平台中构建模型时需要被记录的27种建模操作,他们都与目标模型的构建有关。操作按照与目标模型的相关程度不同可以分为3类:强相关,相关,弱相关。本发明只将强相关的操作加入目标模型。本发明结合领域知识,进行建模。
35.对于建模操作来说,其由动作+对象构成。其中动作在高层面可以抽象为添加和修改。对象由加工,数据存储,外部实体,数据流构成。前三个对象可以被抽象为节点,节点和数据流可以被抽象为元素。首先,从高层次动作添加开始,进行细化。添加元素可以被细化为添加节点或者添加数据流。然后添加节点可以被细化为添加加工或者添加数据存储或者添加外部实体。接着,从高层次动作修改开始,进行细化。高层目标修改元素可以被细化为修改节点或者修改数据流。因为修改加工,数据存储和外部实体的动作是修改大小,移动,编辑。所以,修改节点可以细化为修改节点大小或者移动节点或者编辑节点。修改节点大小可以细化为修改加工或者数据存储或者外部实体的大小。移动节点或者编辑节点和修改节点大小的细化过程一样。由此上述步骤可构建得到正常建模行为目标模型。目标模型的局部如图1a和1b所示。
36.接着,为了表达目标之间的关系,本发明设计了目标表达式,具体内容如表格1所示。目标模型中添加加工与修改数据流这2个子目标模型图,分别如图1a与图1b所示。利用添加加工(如图1a中的g7)解释其目标表达式的定义。添加加工必须包含添加加工操作或者粘贴加工操作(被标记为q,i),并且可以包含改变加工大小或者移动加工或者编辑加工(被标记为b,e,l)。添加加工的表达如图1中g7所示。他的意思是操作q或者i出现至少一次(被标记为(q|i)+),然后操作b或者e或者l出现零次或者多次(被标记为;(b|e|l)*)。利用修改数据流(如图1b中的g6)解释其目标表达式的定义。修改数据流必须包括编辑数据流或者移动数据流的编辑区域或者移动数据流的头部和尾部围绕连接元素(被标记为d,j,y)。他的目标表达式意思是d或者j或者y至少出现一次(被标记为(d|j|y)+)。
37.表格1目标表达式的语法
[0038][0039]
步骤2,聚焦于日志信息中的真实地建模过程信息,对建模过程信息进行预处理,然后关注其中建模行为内部建模操作连续出现次数、建模行为模式出现次数的特征,利用数据挖掘的方法从真实地建模过程数据中挖掘得到频繁建模行为模式集合,接着从频繁建模行为模式集合中识别得到正常建模行为模式集合,并验证、调整步骤1中的目标模型,具体操作如下:
[0040]
对真实的建模过程数据进行预处理。为了获得操作时间连续的建模操作序列,定义两操作时间间隔需要≤300s。如果超过300s,第二个操作作为新序列的开始。有刷新含义的操作也需要作为新序列的开始。经过上述操作后,为了确保序列是有意义的,定义序列长度≥10。如果小于10,这条序列将被移除。
[0041]
接着,需要从序列中挖掘得到频繁行为模式。本发明设计了2个算法,来实现这个过程。连续相同的建模操作对于抽取建模者操作意图没有影响,所以我们设计了去除连续相同操作的算法,如图2所示。为了得到频繁行为模式,本发明根据行为模式的频繁度≥2,长度≥2的条件设计了频繁模式挖掘算法,如图3所示。
[0042]
然后,需要从频繁建模行为模式集合中识别得到正常建模行为模式集合,并验证、调整步骤1中的目标模型。总的来说,将频繁建模行为模式集合按照模式在建模序列中出现的次数倒序排列后,按照区间进行人工检查。第一,找到频繁建模行为模式在所有建模序列中出现频率超过一半(频率≥建模序列总数/2)的区间,利用领域知识进行人工检查,判断他们是否为正常建模行为模式。如果是,则加入正常建模行为模式集合,如果不是,则跳过。第二,找到建模序列总数/2>频率≥建模序列总数/3的频繁建模行为模式,进行人工检查,判断他们是否为正常建模行为模式。第三,找到建模序列总数/3>频率≥建模序列总数/10的频繁建模行为模式,进行人工检查,判断他们是否为正常建模行为模式。根据以上3步得到的正常建模行为模式集合,修改步骤1得到的目标模型,并设计为调整后的目标模型设计新的目标表达式。
[0043]
步骤3,利用步骤2得到的正常建模行为模式集合,捕获正常建模行为,其中建模过程数据中未被捕获的部分则为异常建模行为,具体操作如下:
[0044]
首先,设计步骤2得到的正常建模行为模式集合的正则形式。
[0045]
接着,在真实地建模过程数据中,利用正则形式的正常建模行为模式,对正常建模行为进行捕获。在建模过程数据中未被捕获的部分,则为检测得到的异常建模行为。检测异常建模行为算法如图4所示。
[0046]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1