620 likes | 785 Views
基于 KDD 的知识自动获取及其应用. 答 辩 人:黄 瑞 指导教师:赵远东 副教授 史忠植 研究员. 主要内容. 一、研究背景及意义 二、基于 KDD 的知识自动获取模型概述 三、基于知识库的 KDD 四、自动演化知识库 五、模型在自动化测井数据分析中的应用 六、总结与展望. 研究背景及意义. 知识获取研究概述 知识获取的基本过程 知识获取研究的主要内容 知识自动获取研究发展 KDD ( Knowledge Discovery in Databases ) 研究概述 KDD 的基本过程 KDD 的主要任务 数据挖掘的常用方法
E N D
基于KDD的知识自动获取及其应用 答 辩 人:黄 瑞 指导教师:赵远东 副教授 史忠植 研究员
主要内容 一、研究背景及意义 二、基于KDD的知识自动获取模型概述 三、基于知识库的KDD 四、自动演化知识库 五、模型在自动化测井数据分析中的应用 六、总结与展望
研究背景及意义 • 知识获取研究概述 • 知识获取的基本过程 • 知识获取研究的主要内容 • 知识自动获取研究发展 • KDD (Knowledge Discovery in Databases)研究概述 • KDD的基本过程 • KDD的主要任务 • 数据挖掘的常用方法 • KDD的应用 • 本文的研究目的
知识获取的基本过程 • 人类学习知识的基本过程 循环 基础知识学习 (固化记忆) 生产实践 (总结经验) 知识的发展与完善 (新、旧知识融合)
知识获取的基本过程 • 知识获取的基本过程 • 人类学习知识的基本过程 循环 知识工程师从知识源抽取知识存入知识库 通过机器学习或数据挖掘工具从实践数据中获得新知识 由知识工程师和领域专家配合更新知识库
知识获取的基本过程 • 人类学习知识的基本过程 • 知识获取的基本过程
知识获取研究的主要内容 • 知识抽取 • 知识建模 • 知识转换 • 知识检测 • 知识的组织与管理
知识自动获取研究发展 • 非自动的知识获取 • 自动知识获取
知识自动获取研究发展 • 运用机器学习方法构建知识库 • Okamura 等人的钢铁工艺生产专家系统 • Yamamoto 等人的高炉配料操作自动知识获取系统 • 中科院合肥智能所的农业病虫害专家系统 • 拥有自学习能力的知识编辑器 • Wheeler 和Schneider 的知识自动获取工具AUTOKNAQ • 运用机器学习方法增强知识库的自适应能力 • 吴荣根教授的基于模型的数字电路设计系统 • Elliott.和Schneider 的故障分离专家系统
知识自动获取研究发展 • 利用KDD技术从数据中自动发现新知识 • Mitchell 等人的燃气涡轮机故障检测TIGON系统 • Takano 等人的可自动生成操作序列的范例学习工具 • 扩大到了知识管理、Web知识获取等领域,引入了本体学习、语义Web等概念与技术 • KAON工具套件中的TEXT-TO-ONTO工具 • Henk-Jan Lebbink等人的基于本体的知识系统 • Joerg-Uwe Kietz等人的自动本体获取 • Paulo Gottgtroy等人研究了动态领域中的知识发现问题 • 清华大学的基于语义Web的本体数据挖掘平台 • 中科院计算所的综合知识管理平台CKMP
知识自动获取研究发展 • 存在的问题 ? 环境/背景知识 不断变化 自动进行 循 环
KDD的基本过程 • KDD • 从大量数据中提取出可信的、新颖的、有用的且可以被人理解的模式的高级处理过程 • 五个步骤为:数据选择、数据预处理、数据转换、数据挖掘、模式解释/评价
KDD的主要任务 • 关联分析 • 分类 • 聚类 • 预测 • 时序模式 • 偏差检测 • 空间数据挖掘 • Web数据挖掘
数据挖掘的常用方法 • 关联规则挖掘 • 决策树方法 • 统计方法 • 粗糙集方法 • 人工神经网络 • 遗传算法
KDD的应用 • 数据挖掘和知识发现系统 • IBM Almaden研究中心的Quest • 加拿大Simon Fraser大学的DBMiner • AT&T实验室的IMACS和Spotlight • 中科院计算所的MSMiner • 作为知识获取工具 • Bohanec等人的决策支持工具DEX • IBM Watson研究中心开发的SEAS专家系统明确提出了“基于知识的数据挖掘”这一概念
知识工程师&领域专家 KDD工具 先验知识 KDD的应用 • 存在的问题 融合 发现 知识库 ? ?
本文的研究目标 • 背景:中澳科技合作特别资金项目“数据挖掘技术在石油天然气勘探开发工程中的应用” • 问题:动态环境下基于KDD的知识自动获取 • 方法:从研究基于知识库的KDD出发,将知识库中的知识作为先验知识引入KDD过程;进而研究知识库的自动演化机制,将KDD过程发现的新模式与知识库中的原有知识进行自动的知识检测与融合 • 目标:自动进行基于KDD的知识获取循环
主要子系统 • 约束生成 • 从知识库自动产生对KDD过程的约束 • 输入:知识库和KDD模块的参数 • 输出:对KDD过程的约束 • 基于约束的KDD • 数据选择:依据相应的约束选出相关数据 • 数据预处理:筛选掉非法的记录并补齐缺失值 • 数据挖掘:基于约束的规则挖掘 • 解释/评价:根据规则的支持度、置信度、并结合其满足约束的程度对目标规则集进行处理
主要子系统 • 知识库管理 • 对所发现的新知识与知识库中的原有知识进行一致性检测和完整性检测,并对不一致和不完整的情况自动进行处理 • 知识应用 • 将知识库中的知识应用于实际的运行过程,并从外界获得反馈,与运行结果进行比较,计算误差,激发下一轮基于KDD的知识获取过程 • 两个误差阈值:平均误差阈值和严重错误阈值 • 在KDD等过程中,知识库不变且保持可用,知识库更新后也可以立即应用
相关工作比较 • 利用KDD过程辅助知识自动获取的方法 • 运用KDD过程从实际案例中发现知识建立知识库或验证知识库中的现有知识 • 将KDD过程发现的知识自动融入知识库 • 存在的问题 • 需要进行繁琐的手工操作 • KDD独立于现有知识 • 本文模型的优点 • 利用KDD过程的发现结果建立和完善知识库 • 利用知识库中的现有知识指导KDD过程进行
基于知识库的KDD • 基本思想 • 根据一定的约束生成机制自动从知识库中生成约束,这些约束在一定程度上反映了知识库中的现有知识 • 利用这些约束指导KDD过程的进行,实现基于约束的数据挖掘,即相当于利用知识库中的现有知识指导了KDD过程的进行 • 整个约束生成和基于约束的KDD过程都可以自动化地进行,减少了手工操作的任务量,极大地提高了模型的工作效率及其实时性。
模型知识库中的知识表示方法 • 采用面向对象的概念和技术,吸收了框架理论和语义网络的一些特点,并融合了产生式规则表示方法
关联规则挖掘 • 设I={i1, i2,…, im}是事务项的集合。设任务相关的数据D是数据库事务的集合,D中的每个事务T是一个事务项集且满足 。每一个事务有一个标识TID。设X是一个事务项集,事务T包含X当且仅当 。 • 关联规则是形如 的蕴涵式,其中 且 • 规则的支持度: • 规则的置信度:
基于约束的关联规则挖掘 • 约束:包括数据约束、挖掘的维和层次约束、规则约束等 • 规则模板:用来表示用户希望探察或希望证实的、并且感兴趣的规则模式 • 例: • 数据约束“X属性值必为负”: • 规则约束“挖掘包含原子表达式(X < 0)且不包含原子表达式(Y > ?)的规则,Z为目标属性”:
基于知识库的约束自动生成 • 例 • 规则行: if ((DEN <= 2.111) && (CNL <= 28.866)) then FORMATION = “gas” • 约束:
模式评价策略 • 结合支持度、置信度以及规则约束计算评价系数 • 满足约束的程度: • 规则的评价系数:
相关工作比较 • 结合领域先验知识进行KDD的方法 • 由知识工程师从领域专家那里直接获得,并直接硬编码到应用系统之中 • 由用户对KDD过程指定约束,从而间接将领域知识和应用需求结合到KDD过程中去 • 存在的问题 • 繁琐的手工操作 • 本文方法的优点 • 提高第二类方法的自动化程度 • 通过知识库自动生成约束指导KDD过程的进行
自动演化知识库 • 目标:自动实现知识检测与知识融合,实现知识库的自动演化 • 知识检测需要检测知识库中的不一致和不完整等情况 • 知识融合将不同来源的多个知识集合合并为一个知识集合,本文模型中指将KDD过程发现的新知识与模型知识库中的原有知识合并为新的知识库 • “演化”一词表示随着反复、自动进行的知识获取过程,知识库中的知识也不断更新和完善,知识库也因而不断发展
原子表达式之间的关系 • 定义1: 原子表达式相等:两个原子表达式运算数相同,且运算数的取值区间也相同,则称原子表达式A与B相等,记做A=B。 • 定义2:原子表达式覆盖:两个原子表达式A、B的运算数相同,若A中运算数的取值区间包括了B中运算数的取值区间,则称原子表达式A覆盖原子表达式B,记做 ,或者称原子表达式B被原子表达式A覆盖,记做 。当A、B不相等时,该关系变成 ,即 。 • 定义3: 原子表达式交叉:两个原子表达式A、B的运算数相同,若A、B中运算数的取值区间既有相同的部分,也都有不同的部分,则称原子表达式A与B交叉,记做A&B。
原子表达式之间的关系 • 定义4:原子表达式相异:两个原子表达式A、B的运算数相同,但A、B中运算数的取值区间没有相同的部分,则称原子表达式A与B相异,记做A∥B。 • 定义5: 原子表达式互补:两个原子表达式A、B的运算数相同,且A、B中运算数的取值区间互为补集,则称原子表达式A与B互补,记做A= ,或 B= 。
原子表达式之间的关系 • 运算符相同但值不同的原子表达式之间关系
原子表达式之间的关系 • 运算符不同的原子表达式之间关系
表达式之间的关系 • 定义6: 表达式包括:两个表达式R、S,若R中任意一个原子表达式均与S中的某一个原子表达式相等,则称表达式S包括表达式R,记做 ,或者称表达式R被表达式S包括,记做 。 • 定义7: 表达式相等:两个表达式R、S,若S包括R(即 ),且R也包括S(即 ),则称表达式R与S相等,记做R=S。 • 定义8: 表达式覆盖:两个表达式R、S,若R中任意一个原子表达式均被S中的某一个原子表达式覆盖,则称表达式S覆盖R,记做 ,或者称表达式R被S覆盖,记做 。当R与S不相等时,该关系变成 ,即 。
表达式之间的关系 • 定义9: 表达式交叉:两个表达式R、S,对R中的任意一个原子表达式,当S中存在与它运算数相同的原子表达式时,若它与S中这些与它运算数相同的原子表达式之间,存在交叉关系,且不存在相异关系,则称表达式R与S交叉,记做R&S。 • 定义10: 表达式相异:两个表达式R、S,对R中的任意一个原子表达式,当S中存在与它运算数相同的原子表达式时,若它与S中这些与它运算数相同的原子表达式之间存在相异关系,则称表达式R与S相异,记做R∥S。
知识自动检测 • 知识检测处理 • 冗余 • 矛盾 • 从属 • 环路 • 不完整
基于规则Rule的知识自动检测 • 冗余检测与处理 • 知识冗余:知识库中存在多余的知识或多余的条件 • 三种情况:等价规则、冗余规则链、冗余条件 • 检测与处理: 等价规则:两条规则在相同的条件下有相同的结论;可以直接删除一条; 冗余规则链:两条规则链中第一条规则的条件相同,最后一条规则的结论也等价;删除唯一出现的条件,并按需要补充规则; 冗余条件:两条规则有相同的结论,但一条规则前件中的某些条件与另一条规则前件中的条件互补,而其它条件保持一致;删除这些互补的多余条件。
基于规则Rule的知识自动检测 • 从属检测与处理 • 知识从属:若规则r1比r2要求更苛刻的条件,或得到更苛刻的结论,则r1是r2的从属规则 • 设两条规则r1: ,r2: ,其中P、Q、R、S为表达式,若 或 ,且 或 ,则规则r1是r2的从属规则。 • 规则从属通常需要领域专家进行处理,知识检测过程仅对其进行初步处理,即将其进行标记,然后由知识融合进行进一步处理。
基于规则Rule的知识自动检测 • 矛盾检测与处理 • 知识矛盾:知识库中存在矛盾的知识或矛盾的结论 • 两种情况:矛盾规则、矛盾规则链 • 检测与处理: 矛盾规则:若两条规则中某些相同的条件下有不同的结论,即两条规则的条件部分冗余或者从属,结论部分却存在不同(交叉或相异),则称为矛盾规则;对其进行初步处理; 矛盾规则链:若两条规则链中,第一条规则的条件部分冗余或者从属,最后一条规则的结论部分却存在不同(交叉或相异),则称两条规则链矛盾;仿照矛盾规则和冗余规则链的处理方法进行初步处理。
基于规则Rule的知识自动检测 • 环路检测与处理 • 当一组规则形成一条循环链时,称它们构成了一个环路 • 如规则r1: 、r2: 、r3: 、r4: ,对这四条规则无论先执行哪一条,最终都会回到出发点,因此它们之间出现了环路 • 检测与处理: 从任何一条未经过的规则出发,沿着规则链表进行查找,若找到一条规则的结论与前面某条规则的条件等价,则找到了环路; 当知识库中出现环路时,一般需要领域专家进行处理,知识检测仅对其进行标记,然后由知识融合进行进一步处理。
基于规则Rule的知识自动检测 • 不完整与知识精化 • 知识不完整可能导致错判和漏判两种错误 错判:对给定的不一定产生某一结论的条件,经系统运行却得出了这一结论 漏判:在给定条件下本来应该推出的结论没有推出来 • 知识精化的一般方法:用一批已知结论的实例考核知识库,看有多少实例被错判及漏判,然后对知识进行修正 • 本文模型中的方法:通过知识应用对知识库进行考核,一方面降低知识库中导致错判和漏判的规则的置信度,另一方面通过约束指导KDD过程发现更多有利于知识精化的新模式
相关工作比较 • 传统的知识检测方法 • 仅在规则条件这一层次上进行检测,即对于两条规则,仅仅检查他们的原子表达式是否相等或互补 • 本文提出的方法 • 除检查原子表达式是否相等或互补外,还检查原子表达式以及表达式之间的覆盖、冲突等关系,即对原子表达式中属性项的取值范围进行检测
相关工作比较 • 两种方法对比 • 例如条件x<0 • 传统的知识检测方法:条件x<0与它相等、条件x>=0与它互补 • 本文的知识检测方法:条件x<1覆盖它、条件x>-1与它交叉等 • 结论:本文的知识检测方法在一个更细的粒度上进行,因此更为精确,通过检测的知识库一致性更好
模型在自动化测井数据分析中的应用 • 测井数据分析简介 • 应用数据与应用需求 • 基于知识库的KDD • MSMiner(Multi-Strategies Miner)简介 • 基于知识库的KDD • 自动演化知识库 • OKPS(Object-oriented Knowledge Processing System)简介 • 自动演化知识库
测井数据分析简介 • 石油天然气勘探开采工程的重要环节 • 测井:从地表到井底测量钻井的各个地层的各种性质(包括电、声、放射性等物理性质) • 测井数据:测井中测得的各种性质的数据值 • 测井数据分析:综合研究和分析测井数据,并结合领域相关知识预测特定钻井甚至整个勘探区域和含烃构造带的油气层情况和油气藏类别 • 需要进行定性分析和定量计算 • 不同测井的地层情况不同 • 需要反复进行
应用数据与应用需求 • 数据来源:新疆境内的油田 • 测井数据表:每一条记录包含钻井中一个特定深度地层的各属性的实测值,共有十维属性:“DEPTH”、“CALI”、“CNL”、“DEN”、“GR”、“RI”、“RT”、“RXO”、“SP”和“AC” • 区块含油数据表:每一条记录包含钻井中一个特定的、已探明油气层的各属性的实测值,系统中用到的有:“thickness”、“starting depth”、“ending depth”和 “Result” • 应用需求 • 不断从测井数据和已知油气层数据中学习,从而可以从测井数据中预测可能包含的油气层