DB2W-UA 概述
IBM DB2 Warehouse(原 Data Warehouse Edition)集成了商业智能所需的各种工具:数据转换工具 SQW (SQL Warehousing)、数据挖掘工具 Intelligent Miner、联机分析工具 Cubing Services、前端分析工具 Alphablox 等。
新一版的 DB2 Warehouse 9.5(以下简称 DB2W 9.5)中,在改进原有的数据挖掘工具的同时,引入了功能强大的非结构化数据分析工具 Unstructured Analysis(以下简称 DB2W-UA)。这一分析工具主要针对存储在数据库中的文本字段,目标是将非结构信息转化为结构化信息,并结合其他结构化数据使用商业智能工具进行进一步的分析。DB2W-UA 能处理存储在 CHAR、VARCHAR、CLOB 等数据类型中的文本信息。
文本分析简介
目前,企业和政府机构中存在着大量的非结构化信息,例如呼叫中心的记录、问卷调查的结果、问题报告、维修报告、保险索赔记录、病历、客户的邮箱地址、产品反馈等。这些信息存储在文本、音频、视频等不同的介质中。随着非结构化信息的快速增长,如何分析这些信息源并将结果提供给决策者以支持决策成为一个重要的话题。
文本分析的定义
数据库中的文本数据含有很多有价值的信息。然而,文本所代表的信息却是复杂的、晦涩的。如果人工对这些数据进行分析,那将会是一个非常耗时和繁重的工作,或者是只能对一小部分的数据进行分析。
为了减少对文本数据的手工操作,多种文本处理技术逐渐发展起来。总的来说,对文本的处理有 3 种情况:文本检索,文本分类和信息提取。
文本检索是从一大堆的文本当中发现并抽出我们感兴趣的、与某个主题相关想要的信息。但是,为了采用这种技术,我们不得不以某种形式指定我们想要的信息。因此,如何没有一个清晰的目标知道要搜索什么和可以从数据库中搜索到什么,那么这种方式就对我们没有什么帮助。即使我们有了特定的搜索主题并且成功建立了查询,但得到的结果是个文本列表,我们依然需要去阅读并寻找信息。
文本分类技术可以让我们了解文件的归档状况,或者通过将文档分类到预定义的类别中,或者是根据系统定义的相似性将具有相似内容的文档自动分组到一个类中。通过这种技术,我们可以找出文档中包含哪些主题,以及每个主题的大小。然而,为了详细分析,我们依然需要阅读主题或类中的每一个文档。
信息提取的任务是从非结构化数据中提取出结构化信息,其目标是从特定范围的文本中获得分类的、上下文相关的、语义明确的数据。信息提取的一个典型例子是扫描一套由自然语言编写的文档,提取出结构化信息并加载到数据库中。
DB2W 9.5 中的文本分析组件主要是指信息提取。
文本分析的商业价值
文本信息在各个领域中有着广泛的应用。
客户满意度调查。企业在进行客户满意度调查时,通常要求客户填写反馈意见,这些反馈对于企业调整产品和服务质量等是非常有价值的。然而,手工识别和分类这些信息将是个乏味的、耗时的、昂贵的工作,通过文本分析可以简化这个过程。
增强客户保持力。获取 / 赢得一个新的客户的代价是很高的,因此,客户不能被竞争对手吸引而离开。通过文本分析,我们可以抽取呼叫中心记录中提到的最重要的问题,并结合结构化数据,通过预测技术预测客户中止合同的倾向并实行相应措施。
故障原因分析。制造商可能想从维修中心的维修报告中了解引起经常返修的主要原因或者维修的顺序,目的在于提高失效部件的质量以及尽早得到警告信息以避免产品回收造成的损失。
在生物医学上的应用。我们可以从病人的历史病历中分析生活方式及病症可能引发的重大疾病,并进行风险评估。
文本分析与数据挖掘
文本挖掘是一个从非结构化文本信息中获得用户感兴趣或者有用的模式的过程,其主要用途在于从文本中提取未知的知识。文本挖掘是一个多学科混杂的领域,它涵盖了多种技术:信息抽取,信息检索,自然语言处理以及数据挖掘技术等。由于必须处理那些本来就模糊而且非结构化的文本数据,文本挖掘是一项非常困难的工作。
文本挖掘的过程大致分为 3 个阶段:机器学习、自然语言处理;文本信息抽取、文本数据处理;信息访问和知识发现,包括信息过滤检索,数据分析、预测等。
图 1. 文本挖掘过程
文本分析与 OLAP
我们可以将文本分析的结果结合结构化数据建立报表以及 OLAP(online analytical processing) 多维立方体。
例如,在呼叫中心的问题报告中,通过文本分析技术,我们可以获得排前 10 位的客户问题。我们可以将这些问题列为常见问题,并将相关解决办法记录在用户手册中。同时,我们可以通过文本分析,从问题报告中提取用户遇到的问题并作为 OLAP 多维立方体的一个维度,结合结构化数据进行分析。
案例简介
在接下来的章节中,我们将通过一个虚拟的电信公司的例子介绍如何使用 DB2W 9.5 提供的文本分析工具实现文本分析。
某电信公司提供移动电话业务,用户在使用移动电话业务前需要到电信公司办理开户手续。此电信公司希望了解用户的个人兴趣爱好对于离网倾向的影响,以及各类用户的特征。因此,开户时,在记录新用户的个人信息以及将使用的各种业务的同时,电信公司会对新用户进行问卷调查,以了解新用户的兴趣爱好。
用户开通移动电话业务后,电信公司会记录用户的每次通话信息,包括通话类型、通话时长等信息。这些信息将在多维分析中使用。
文本分析与挖掘及 OLAP 应用的结构
在 DB2W 中,文本分析与数据挖掘及 OLAP 分析的关系如下图 2 所示。
图 2. 文本分析与数据挖掘和 OLAP 应用
如何使用 DB2W 构建文本挖掘应用以及结合文本分析构建 OLAP 应用将在本系列文章的第二篇和第三篇中分别介绍。
使用 DB2W 的非结构化分析工具实现文本分析
文本分析理论
信息提取是信息获取的类型之一,其目标是自动提取结构化信息。信息提取的典型任务包括:
命名实体识别,识别实体的名字,如组织、产品名称、地名等;
识别针对同一对象的一连串名字短语;
术语抽取,寻找与某一主题相关的术语;
从文本中找出对一个人、产品或服务的正面或负面的描述。
对于上述的信息提取任务,有多种算法可以实现,每一种算法都适用于不同的商业问题。
基于规则:通过制定模式提取概念,如电话号码、邮件地址等;
基于列表:通过枚举与提取对象相关的词提取概念,如人名、产品名称、地名等;
其他算法:使用自然语言处理,机器学习,统计方式,或者是上述方法的综合提取概念。
DB2W-UA 提供了基于规则和基于列表的信息提取方式。在 DB2W 中,基于规则的信息提取是通过规则文件实现的,我们要在规则文件中为希望从文本中提取的一个或多个概念类型定义查找模式;基于列表的信息提取由字典实现,我们可以在字典中列出与分析主体相关的所有可能情况。
使用 DB2W-UA 实现文本分析
本文采用的数据是基于已装载到数据仓库中的数据。这些数据是通过 ETL 过程每天从操作型环境中加载到数据仓库中的用户信息和通话详单。
为了使用文本分析工具,在安装 DB2W 时,选择非结构化分析组件 (Unstructured TextAnalysis plug-ins 和 Unstructured Analysis Runtime)。请参照
http://www.ibm.com/software/data/db2/dwe/features.html 安装 DB2W 全套产品。
打开运行窗口 (Start -> Run),键入 db2cmd 调用 DB2 命令窗口,切换到附件的保存目录,执行批处理文件 instDB.bat 并指定要生成的数据库名字及存储该数据库的地方,生成本文中所使用的数据库表及数据,如图 3 所示。
图 3. 命令窗口
打开 Design Studio (Start -> All Programs -> IBM DB2 Data Warehouse Edition V9.5 -> DB2COPY1 -> Design Studio),指定一个工作空间,如:C:workspace。Design Studio 打开后,关闭欢迎界面。新建一个数据仓库项目 (File -> New -> Other…-> Data Warehouse Project),输入项目名,如 TELE_DEMO。
数据探查
在进行文本分析前,我们必须对所要分析的文本字段的内容、相关数据分布以及值缺失状况等有所了解,这样将有助于我们选择有效数据作进一步的分析。
在 Design Studio 中,我们可以通过数据探查 (Data Exploration) 获得上述信息。从数据库资源管理器中调用数据探查工具,如图 4。
图 4. 数据探查
数据探查的结果显示了文本字段所在数据库表的样本数据 (Sample Content),文本统计信息 (Text Statistics),以及数据库表中结构化数据的多变量分布状况 (Multivariate Distribution)。
图 5. 样本数据
您可能想查找下面的文章:
- DB2 Warehouse Enterprise Edition V9.5的安装与配置1
- DB2 Warehouse Enterprise Edition V9.5的安装与配置2
- DB2 V9.5的版本选择问题
- DB2 Warehouse Enterprise Edition V9.5 的安装与配置 2
- 在 DB2 V9.5 中使用 Workload Manager 管理和监控数据库
- 使用 DB2 Warehouse V9.5 实现文本分析
- DB2 Warehouse Enterprise Edition V9.5 的安装与配置 1
- DB2 V9.5力助SaaS应用和大规模网站应用
- DB2 V9.5版本中数据库应用程序移植的改进
- 讲解DB2 V9.5工作负载管理之定义服务类