使用 UIMA 和 DB2 Intelligent Miner 进行文本挖掘.doc

使用 UIMA 和 DB2 Intelligent Miner 进行文本挖掘.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 UIMA 和 DB2 Intelligent Miner 进行文本挖掘

从非结构化信息中获得更多的价值。研究一个简单的文本挖掘应用程序如何使用 UIMA SDK 构建的文本分析引擎在文档中寻找人名。然后,另一个 UIMA 组件将结果写入 DB2? 数据库中的表。然后利用这些数据,使用 DB2 Intelligent Miner 寻找在文档中经常同时提到的人之间的强关联。   简介   人们越来越希望使用信息技术从组织中的非结构化信息中获得更大的价值。IBM 最近引入了新的 Unstructured Information Management Architecture(UIMA)框架(参见 参考资料),这个框架简化了分析非结构化媒体对象(比如文档)的系统的开发和部署,可以用来提供语义搜索和文本挖掘等功能。文本挖掘就是用于从文本中提取信息的数据挖掘技术。接下来,详细描述一个非常简单的文本挖掘应用程序。   概述   本文中描述的文本挖掘应用程序称为 Preston,它对文档进行分析,寻找提到的人名,并使用文本挖掘寻找常常同时提到的人。尽管这种???术只是众多有用的文本挖掘技术之一,但是它演示了这类应用程序的主要特性,并为介绍 UIMA 的使用提供了一个具体示例。它还演示了如何组合结构化数据库和文本挖掘。本文面对的读者是希望了解如何使用新的 UIMA 技术将非结构化和结构化信息联系在一起的人。   图 1 给出了 Preston 的概况。这个程序对存储为 DB2 数据库表中的文本字段的文档进行分析。UIMA 框架中的组件从数据库读取并分析文档,寻找以某种格式提到的名称,然后将结果写到另一个数据库 Extracted Information Database(EIDB) 中。这些组件是使用 UIMA SDK 中的工具开发和部署的,UIMA SDK 可以从 developerWorks 获得(参见 参考资料)。对 EIDB 中的信息要进行分析后处理,以便准备进行文本挖掘,这是使用 DB2 Intelligent Miner 完成的。整个应用程序可以很容易地在笔记本计算机上运行。   图 1. 本文中描述的 Preston 文本挖掘应用程序的概况      在本文中作为示例使用的文档是来自 Internet Movie Database(IMDB)的演员和其他人员的传记信息(参见 参考资料)。为了进行说明,我使用 IMDB 内容的子集构建了一个 DB2 结构化数据库,将这些传记信息作为文本字段保存在数据库中。   用 UIMA 进行文本分析   UIMA 组件从源数据中的非结构化数据字段中提取出结构化的数据。不同的组件从源数据库中读取文档、分析文档来寻找提到的人名以及将结果保存到一个新数据库(Extracted Information Database,EIDB)中。   文档是由 SQLReader 从源数据库中读取的,这个组件实现了 UIMA 的 CollectionReader 接口,是使用 SDK 开发的。当 UIMA 框架调用 SQLReader 的初始化方法时,它使用 JDBC? 连接到数据库并发出一个 SQL SELECT 语句,这个语句在 SQLReader 存储的 ResultSet 对象中返回需要的数据,比如文本字符串。然后,这个框架使用 CollectionReader 接口的迭代器类方法(比如 getNext())实际地获取每个文档的文本和元数据。这些数据在一个 UIMA 定义的数据对象中返回给框架,这个对象称为 Common Analysis Structure(CAS)。实际上,因为正在分析文本文档,所以这个数据对象是文本 CAS(TCAS),但是为了简单,本文忽略这一区别,只讨论 CAS。当框架调用 getNext 时,它提供一个空的 CAS。SQLReader 用来自 ResultSet 中当前行的数据填充 CAS。所需代码的结构见 清单 1。它显示了如何将来自输入表的 TRIVIA 列的文档文本和一些元数据(比如文档的 URI)放进 CAS 中。SQLReader 还必须实现 hasNext() 方法(这里未显示)以便完成迭代器接口。   清单 1. 在 SQLReader 的 getNext 方法中对 CAS 进行初始化。为了简单,省略了错误检查。 双击代码全选1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24Connection conn; ResultSet rs; // Not shown: code to set up the Connection and to // populate the ResultSet from the input database public void

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档