内容


InfoSphere Warehouse 中的文本分析,第 1 部分

体系结构概述和用正则表达式提取信息的示例

从非结构化数据中获取业务信息

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: InfoSphere Warehouse 中的文本分析,第 1 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:InfoSphere Warehouse 中的文本分析,第 1 部分

敬请期待该系列的后续内容。

简介

最近的一次 TDWI 调查向数据管理专业人员询问,“您认为,在以后三年您的数据仓库中哪种数据和源系统会大量增加?” 结果表明,他们预计非结构化数据会大量增加。这种数据包括电子邮件、呼叫中心谈话记录、来自内容管理系统的文档以及来自论坛或博客的公开内容。(见 参考资料 中这次调查的链接)。

本系列讨论文本分析技术如何把非结构化文本数据转换为可以在业务智能化应用程序中使用的有意义的信息。非结构化数据可以改进现有的 BI 分析的质量,在某些情况下还有助于实现新的信息探查类型。

示例业务场景

下面两个业务场景示例说明文本分析技术的价值:

  • 通过尽早发现不满意的客户,减少客户流失:电信行业的公司已经为防止客户流失建立了详细的预测分析模型。但是,这些模型主要使用结构化数据。添加来自非结构化数据的信息可以显著增强这些预测模型。例如,公司可以在服务呼叫记录中发现客户提到了竞争对手,从而发现可能会流失的客户。通过在客户流失模型中包含这种信息,公司可以在出现客户不满的最初迹象时及时采取措施。
  • 改进早期警报系统的质量:内部问题报告、客户电子邮件或呼叫中心谈话记录可以提供关于产品问题的重要信息。目前,许多公司使用问题分类法 中的一组固定的类别捕捉这些信息。这些分类法通常难以发现细粒度的问题。如果分类法只包含高级类别,公司就无法捕捉到问题的实际原因。但是,如果分类法试图捕捉所有可能出现的问题,它们就会太笨拙,不适合呼叫中心职员等一线人员使用。产品缺陷的实际原因往往淹没在技术评论或呼叫中心日志中。例如,公司可能能够发现某一产品有问题,但是发现不了导致此问题的部件。因此,公司失去了采取适当措施的机会,比如招回产品或检查使用问题部件的其他产品。通过使用 InfoSphere Warehouse 中的常见词分析,公司可以从客户对某一产品型号的意见中提取出相关的词,并在报告中列出它们。这有助于直接找到可能有问题的部件。

在这两个场景中,非结构化数据的主要类型是文本。公司还可能需要分析半结构化文本(比如 XML 内容)或其他数据类型(比如音频和视频)。但是,本系列的作者发现,与当今的应用程序相关的主要内容是形式自由的文本,比如技术笔记、通过 CRM 应用程序或电子邮件提交的客户评论或来自新闻服务的文本片段。因此,我们把本系列的重点放在形式自由的文本上。

信息提取任务

文本分析背后的基本任务是信息提取(Information Extraction,IE)。信息提取是自然语言处理的领域之一,它通过检查非结构化文本提取出概念(称为实体)和这些概念之间的关系。

相关的信息提取任务包括:

  • 指定实体识别(Named Entity Recognition,NER):识别和提取指定的实体。例如,人名、地点名、货币表达式和问题标志。
  • 关系检测(Relationship Detection):检测指定实体之间的关系。例如,部件 X 导致问题 Y。
  • 相互引用解析(Coreference resolution):在整个文档中识别出引用相同实体的表达式。例如,以下文本中的饭店名 “Best Hotel”:I liked my stay at the Best Hotel. It has very bright rooms. The hotel also features…

基于列表和基于规则的指定实体识别

指定实体识别的一种方法是基于列表提取 实体。这包括提取职员姓名(例如来自公司的 LDAP 服务器)或产品名及其属性。一些领域已经有正式的领域词汇表。例如,用于医疗保健行业的 Systematized Nomenclature of Medicine-Clinical Terms (SnoMed CT)。

基于列表的提取的优点是,词汇列表常常来自可信的源,这意味着它的创建和维护可以实现一定程度的自动化。例如,每当添加新产品名时,可以让它触发批量更新。另外,提取结果立即提供给最终用户。列表中的词汇常常有各种变体和缩写,必须由领域专家在列表中添加它们。

某些类型的实体无法一一列出,比如电话号码或货币表达式。对于这些实体,基于规则的提取 是更合适的方法。基于规则的提取的优点是一般化 — 一条规则可以覆盖很大范围内的实体。另一个优点是规则可以考虑文档上下文。这对于某些任务很重要,比如在情感检测中一个否定词(比如 “not”)会反转整个句子的意义。

规则的关键难点是复杂性 — 用户需要得到帮助才能创建和维护规则。具有适当领域知识的人常常是非技术人员。因此,配置工具需要对这些用户隐藏语言学和规则语言的复杂性。

本文和本系列概述

本文的其余部分简要介绍 InfoSphere Warehouse 及其文本分析特性的基本体系结构。然后,通过一个简单的示例演示如何在 InfoSphere Warehouse 中使用正则表达式提取概念。

本系列的后续文章将介绍 InfoSphere Warehouse 中的其他文本分析特性,说明如何在 IBM Cognos 8 BI 等报告软件产品中使用这些结果。

IBM InfoSphere Warehouse 体系结构

InfoSphere Warehouse 是 IBM 在 IBM DB2® 上构建的数据存储仓库解决方案。本文主要关注 InfoSphere Warehouse 的文本分析功能,但是这个产品还包含用于仓库管理和分析任务的许多其他工具,比如在线分析处理 (OLAP)、性能管理和工作负载管理。

图 1. InfoSphere Warehouse 体系结构
图中显示 InfoSphere Warehouse 的体系结构,包括设计、部署和管理任务;组件说明如下
图中显示 InfoSphere Warehouse 的体系结构,包括设计、部署和管理任务;组件说明如下

如上面的体系结构图所示,InfoSphere Warehouse 的主要组件包括:

  • DB2 数据库服务器,其中存储结构化和非结构化(常常是文本)仓库数据。
  • Design Studio,这是一个工具平台,业务分析师和仓库管理员使用它为数据挖掘和文本分析设计工作负载规则、数据转换流和分析流。例如,业务分析师可以通过创建一个分析流,从客户电子邮件或呼叫中心报告中提取出结构化信息。然后可以把这些流部署到 InfoSphere Warehouse Administration Console 中。另外,Design Studio 提供的工具有助于更好地了解数据和创建资源,比如分析流中使用的词典或正则表达式规则等等。
  • Administration Console,它用于管理和监视仓库。部署在 Design Studio 中设计的流之后,可以运行、调度和监视它们。例如,可以每周对新的呼叫中心报告进行分析,从而识别可能不满意的客户,或者搜索最近的技术人员记录,寻找潜在的产品问题。

InfoSphere Warehouse 中的非结构化分析

InfoSphere Warehouse 使用 Unstructured Information Management Architecture (UIMA) 分析非结构化数据。UIMA 是一个开放、可伸缩、可扩展的平台,用于创建、集成和部署文本分析解决方案。UIMA 是免费软件,为企业和学术界提供通用的基础。用来提取实体(比如名称、情感或关系)的基于 UIMA 的组件称为 UIMA Annotators 或 Analysis Engines。

InfoSphere Warehouse 为基于词典和基于正则表达式的指定实体识别提供了操作器和工具。对于其他文本分析任务,可以使用一个通用的文本分析操作器,可以使用它在分析流中运行与 Apache UIMA 兼容的注解器:

  • 数据理解对于从文本数据中成功地提取信息非常重要,所以 InfoSphere Warehouse 提供了 Data Exploration 特性,它可以寻找包含相关文本信息的列(Text Statistics 视图)和浏览文本(Sample Contents 视图)。对于更深入的分析,可以使用 Frequent Terms Extraction 特性提取文本列中最常出现的词汇,并结合使用云视图等高级显示功能。Frequent Terms Extraction 是一个重要的特性,有助于高效地创建在基于词典的分析中使用的词典。
  • 基于词典的分析从文本中提取出关键词。可以提取的实体包括姓名、公司和产品等等。还可以提取一个列表中包含的所有实体。InfoSphere Warehouse 通过 Dictionary Lookup 操作器支持对文本列进行基于词典的分析。Dictionary Lookup 操作器基于 IBM LanguageWare 提供的技术。它支持自然语言处理,比如多种语言中的词根缩减和标记化。可以使用 InfoSphere Warehouse 中的 Dictionary Editor 创建和维护词典。InfoSphere Warehouse 还包含一个 Taxonomy Editor,它可以把词典条目分类为分类法树,可以供数据挖掘和 OLAP 使用。本系列中的另一篇文章将详细讨论基于词典的分析。
  • 基于规则的分析通过正则表达式规则从文本中提取出信息。正则表达式很适合提取电话号码、信用卡号码、地址、日期等概念。InfoSphere Warehouse 通过 Regular Expression Lookup 操作器支持基于规则的分析。这个操作器使用包含正则表达式规则的规则文件从文本列中提取出概念。可以用 Regular Expressions 编辑器创建和修改这些规则文件。本文后面会提供一个详细的示例。
  • 除了上面的常用文本分析方法之外,InfoSphere Warehouse 还允许使用与 Apache UIMA 兼容的注解器。可以把这些注解器导入 InfoSphere Warehouse Data Warehousing 项目,在 Text Analyzer 操作器中使用它们。例如,为了提取关系或情感等高级概念,可以使用 IBM 定制解决方案、IBM Research、其他公司和大学提供的 Advanced UIMA 注解器。还可以使用 UIMA SDK 从头创建注解器。(关于 UIMA 的更多信息参见 参考资料 中的链接)。

使用 InfoSphere Warehouse Design Studio 进行文本分析

图 2 给出 InfoSphere Warehouse Design Studio。

图 2. InfoSphere Warehouse Design Studio
InfoSphere Warehouse Design Studio 屏幕图,图中显示名为 Jobs Dictionary Analysis 的挖掘流
InfoSphere Warehouse Design Studio 屏幕图,图中显示名为 Jobs Dictionary Analysis 的挖掘流


Design Studio 是 InfoSphere Warehouse 的综合工具平台。它是基于 Eclipse 技术构建的。Design Studio 允许您把工作保存在项目中。可以在 Design Studio 界面左边显示的 Project Explorer 中看到您的所有项目。所有数据仓库工作的默认项目是 Data Warehousing 项目。这个项目包含一个 Text Analysis 文件夹,其中包含词典、规则文件、分类法等文本分析资源。

信息提取由数据转换流(数据流和挖掘流)中的 Text 操作器执行。通过这些强大的流,可以对表进行取样、联结和修改。然后,Text 操作器可以从文本列中提取结构化信息,把它们作为新列(其中包含找到的姓名、技能、日期等概念)添加到输出中。

在图 3 所示的场景中,先给形式自由的文本中的概念加注解,然后把它们与现有的结构化信息一起写到一个数据库表中。

图 3. 非结构化数据到结构化数据
图的左边包含大量文本,文本中突出显示了产品名和词汇;右边显示集成到数据库表中的词汇
图的左边包含大量文本,文本中突出显示了产品名和词汇;右边显示集成到数据库表中的词汇

使用模式从文本中提取信息:示例

这个示例使用 United States Central Intelligence Agency 提供的 World Factbook 文档集合作为源数据。这些文档包含世界上所有国家的相关信息,包括国土面积(以平方公里为单位)以及地理位置(经度和纬度)。

首先,我们要创建一个从文本文档中提取面积和位置概念的正则表达式规则文件。然后,在一个挖掘流中使用这个规则文件,把概念从文本列中提取到关系数据库表中。

用于模式匹配的正则表达式

正则表达式是描述一组字符串的字符模式。InfoSphere Warehouse 使用 Java™ 的正则表达式语法。正则表达式规则可以由以下内容组成:

  • 字符串字面值,比如 abc 等等。
  • 字符类,比如 [abc](这表示在这个位置上可以是 a、b 或 c)。
  • 预定义的字符类,比如 \d(这等同于 [0-9])。
  • 量词,可以用量词指定子模式出现的次数。例如,a* 表示字母 “a” 出现零次或多次,a+ 表示字母 “a” 出现至少一次,a{3} 表示 “aaa”,a{1,3} 表示字母 “a” 出现至少一次但不多于三次。
  • 组是正则表达式中的子模式,它们包含在圆括号中。例如,正则表达式 A(B(C)) 包含子组 (B(C))(C)

对正则表达式语法的完整描述,请参见 InfoSphere Warehouse 文档或 Java 文档(见 参考资料)。
如果您不熟悉正则表达式,或记不住正则表达式结构,可以通过 InfoSphere Warehouse 中的 RegEx 编辑器使用 Regular Expression Builder。

如果希望创建一个匹配美国国际电话号码(例如 001-555-7323)的正则表达式,那么应该寻找符合以下模式的字符串:以 “001” 开头,然后是一个连字符,接下来是至少一个数字,然后是一个连字符,再然后是至少一个数字。这个正则表达式如下:

(001)-(\d+)-(\d+)

下面的示例演示如何使用正则表达式从文本中提取出坐标和面积等概念。

研究数据库表中的文本

为了对数据库表中的文本进行分析,首先要研究可用的信息,选择要分析的相关文本列。在 InfoSphere Warehouse 的 Data Exploration 视图中,可以浏览数据库表的示例、浏览大型文本列的内容和判断文本字符串的平均长度。

下面解释如何使用 Data Exploration 视图研究 FACTBOOK 表的内容。在 InfoSphere Warehouse 附带的 DWESAMP 示例数据库中可以找到这个表。

  1. 在 InfoSphere Warehouse Data Source Explorer 中,找到数据库 DWESAMP 和模式 CIA 下面的 FACTBOOK 表。右键单击这个表并从上下文菜单中选择 Distribution and Statistics -> Data Exploration

    图 4 中的 Data Exploration 视图随机显示这个表中 275 行中的 50 行。每行包含国家名和名为 TEXT 的列(其中包含这个国家的相关信息)。在表下面,可以选择表中的文本列之一,显示它的完整内容。这样就可以查看列中的大量文本。在下拉列表中,选择 TEXT 列。

    图 4. Data Exploration 视图显示 FACTBOOK 表的内容示例
    Data Exploration 视图显示 FACTBOOK 表的内容示例
    Data Exploration 视图显示 FACTBOOK 表的内容示例
  2. 为了查看某一国家的相关信息,在示例内容表中选择适当的行。
  3. 在对一个国家的文本描述中向下滚动,找到它的地理位置和面积。例如,选择 Germany(见图 4),就会看到以下信息: Geographic coordinates: 51 00 N, 9 00 E Map references: Europe Area: total: 357,021 sq km water: 7,798 sq km land: 349,223 sq km

    查看示例内容表,可以看到国家的地理坐标和面积总是采用相同的格式。可以使用正则表达式规则轻松地提取采用这种格式的概念。

创建规则文件和匹配位置和面积的正则表达式

可以通过规则文件定义电话号码或统一资源定位符等概念。这些概念称为类型。为了在文本中寻找这些概念,可以通过指定规则定义匹配这些概念的模式。

概念类型可以有特性。例如,由于电话号码由国家编码、地区编码和扩展号码组成,可以创建类型 phone number 并指定特性 country codearea codeextension number

在 RegEx 规则编辑器中,定义概念类型及其特性,然后把包含正则表达式模式的规则分配给这些类型。当一个模式与文本的一部分匹配时,为相关类型创建一个注解。通过把正则表达式规则的子模式(匹配组)分配给特性,可以设置注解的特性值。

在挖掘流或数据流中的 Regular Expression Lookup 操作器中使用规则文件时,可以把特性映射到关系表中表示提取的概念的列。

创建 Data Warehouse 项目:

  1. 在 Project Explorer 中右键单击并从上下文菜单中选择 New -> Data Warehouse Project
  2. 在向导中,输入项目名,例如 Text Analytics
  3. 单击 Finish

创建新的规则文件:

  1. 在 Text Analysis 文件夹中,右键单击 Rules 文件夹并从上下文菜单中选择 New -> Rules。这显示 New Rules 对话框。
  2. 选择前面创建的 Data Warehousing 项目。
  3. 指定 Factbook_Concepts 作为规则文件名并单击 Finish。这会显示 RegEx 编辑器。

创建名为 Coordinates 的类型:

  1. 在 Types 部分,最初显示 Factbook_Concepts 类型。删除这个类型并创建一个新类型。把新类型命名为 Coordinates。这会自动地创建一个同名的规则。
  2. 展开 Coordinates 类型。Features 文件夹是空的,Rules 文件夹包含名为 Coordinates 的规则,但是还没有定义正则表达式模式。
  3. 创建的第一个规则应该从 CIA.FACTBOOK 提取概念类型 Coordinates,包括特性 longitude 和 latitude。例如:

    Geographic coordinates: 51 00 N, 9 00 E

    在 RegEx 编辑器中,对于 Coordinates 类型,选择 Features 文件夹并单击 New Feature

  4. 在 New Feature 对话框中,在 entry 框中输入 longitude,接受默认数据类型 String,单击 OK
  5. 重复以上步骤,添加另一个名为 latitude 的特性,数据类型为 String

    如图 5 所示,Types 部分现在显示 Coordinates 类型的定义,这个类型包含名为 longitude 和 latitude 的两个特性。

    图 5. Coordinates 类型以及 longitude 和 latitude 特性
    Types 树层次结构显示 Coordinates 类型及其 longitude 和 latitude 特性
    Types 树层次结构显示 Coordinates 类型及其 longitude 和 latitude 特性
  6. 为这个规则指定正则表达式模式:
    1. 展开树中的 Rules 文件夹并单击选择 Coordinates 规则。
    2. 使用 RegEx 编辑器的 Test Rule 部分(见图 6)在一组示例文本片段上测试规则。在 Input text 框中,输入希望找到的文本示例。Matched 框就会显示规则中与 Input text 框中的文本匹配的部分。

      在 Input text 框中,输入以下文本片段:

      Geographic coordinates: 51 00 N, 9 00 E
      图 6. RegEx 编辑器的 Test Rule 部分
      RegEx 编辑器的 Test Rule 部分的屏幕图,Input text 框中输入了上面的文本,Matched 框显示规则中匹配的部分
      RegEx 编辑器的 Test Rule 部分的屏幕图,Input text 框中输入了上面的文本,Matched 框显示规则中匹配的部分
    3. RegEx 编辑器的 Rule 部分(见图 7)是实际输入正则表达式的地方。

      在 Rule 部分的 input 框中输入以下正则表达式模式:

      Geographic coordinates: ([0-9]{1,2} [0-9]{1,2} [SN]), ([0-9]{1,3} [0-9]{1,2} [EW])
      图 7. RegEx 编辑器的 Rule 部分
      RegEx 编辑器的 Rule 部分的屏幕图,input 框中输入了上面的示例正则表达式
      RegEx 编辑器的 Rule 部分的屏幕图,input 框中输入了上面的示例正则表达式

      上面的规则指定 1-2 个数字,然后是一个空格,然后是 1-2 个数字,然后是 S 或 N(表示南或北),然后是一个逗号,然后是 1-3 个数字,然后是一个空格,然后是 1-2 个数字,然后是 E 或 W(表示东或西)。

      另外,也可以使用 Regular Expression Builder 自己构建正则表达式模式。Regular Expression Builder 为正则表达式提供语法帮助。

    4. 在这一步中,把子模式分配给 longitude 和 latitude 特性,这样就可以分别提取这些概念。

      这个规则包含两个子模式(即匹配组),它们包围在圆括号中。第一个子模式 (Subpattern1) 表示纬度 (51 00 N),第二个子模式 (Subpattern2) 表示经度 (9 00 E)。为了看到所有这些信息,单击 Test Rule 部分的 Matched 面板,使用向下箭头键向下滚动。

      在 Features 部分中,选择 latitude 特性并单击 Add subpattern reference。现在会看到 Add Subpattern Reference 对话框,见图 8。对于这个对话框中列出的每个选择,以粗体显示定义子模式的正则表达式部分。

      图 8. 添加子模式引用的对话框
      Add Subpattern Reference 对话框的屏幕图,其中包含整个正则表达式、Subpattern1 和 Subpattern2 的单选按钮
      Add Subpattern Reference 对话框的屏幕图,其中包含整个正则表达式、Subpattern1 和 Subpattern2 的单选按钮

      选择 Subpattern1

      返回到 features 部分,选择 longitude 特性并单击 Add subpattern reference。在 Add Subpattern Reference 对话框中,选择 Subpattern2

      如图 9 所示,Features 部分现在应该显示分配给每个特性的子模式。

      图 9. RegEx 编辑器的 Features 部分
      RegEx 编辑器的 Features 部分的屏幕图,其中 longitude 特性分配了值 $1,latitude 特性分配了值 $2
      RegEx 编辑器的 Features 部分的屏幕图,其中 longitude 特性分配了值 $1,latitude 特性分配了值 $2

创建名为 Area 的类型:

  1. 创建的第二个规则应该提取概念类型 Area。例如:
    Area: total: 357,021 sq km water: 7,798 sq km land: 349,223 sq km

    首先单击 New Type 并输入 Area 作为类型名。这也会自动地创建一个名为 Area 的规则。

  2. 单击 New Feature 并输入 value 作为特性名。
  3. 把 value 特性的数据类型改为 Integer
  4. 输入下面的正则表达式:
    Area: total: ([0-9]{1,3}(,[0-9]{1,3})*) sq km
  5. 使用下面的文本片段测试规则:
    Area: total: 357,021 sq km water: 7,798 sq km land: 349,223 sq km
  6. 把 Subpattern1 分配给 value 特性。
  7. 单击编辑器区域并按 Ctrl+S,保存规则文件。

用 Regular Expression Lookup 操作器创建流

Regular Expression Lookup 操作器依赖于规则文件。规则文件包含正则表达式模式,可以用它们从数据库表中提取出电话号码或电子邮件地址等概念。通过使用 Regular Expression Lookup 操作器,可以找到与所选规则文件中包含的表达式匹配的文本部分。

创建空的挖掘流:

  1. 右键单击 Data Warehousing 项目中的 Mining Flows 文件夹,从上下文菜单中选择 New -> Mining Flow
  2. 在 New File Data Mining Flow 向导中,输入挖掘流的名称。例如,RegExLookup
  3. 选择对数据库应用挖掘流并单击 Next
  4. 在 Select Connection 页面上,选择 DWESAMP 数据库并单击 Finish

    这会打开 Mining Flow 编辑器。

定义挖掘流:

  1. Mining Flow 编辑器的右边包含一个操作器面板。可以把操作器拖放到编辑器区域,使用它们构建挖掘流。

    找到面板的 Sources and Targets 部分。选择 Table Source 操作器,把它拖到编辑器区域中。

  2. 在 table selection 对话框中,展开 CIA 模式,选择 FACTBOOKS 表,单击 Finish
  3. 在 Text Operators 部分,把 Regular Expression Lookup 操作器拖到编辑器区域中。

    现在,可以在编辑器区域下面看到操作器的 Properties 视图。(但是,如果编辑器区域是最大化的,就无法看到这个视图,必须减小编辑器的大小)。

  4. 在编辑器区域中,通过简单的拖动操作把 Source Table 操作器的输出端口与 Regular Expression Lookup 操作器的输入端口连接起来。
  5. 在 Properties 视图的 Settings 页面上,从输入文本列列表中选择输入文本列 TEXT。
  6. 在 Analysis Result 页面上,使用 Add new Port 图标(见图 10)添加两个新的输出端口。
    图 10. 在 Analysis Result 页面上添加新端口
    Analysis Result 页面的屏幕图,光标指向 Add new Port 图标
    Analysis Result 页面的屏幕图,光标指向 Add new Port 图标

    对于第一个输出端口 (Output):

    1. 选择 Analysis Results 页面上的 Output 选项卡。
    2. 选择 Factbook_Concepts 作为文本分析中使用的规则文件。
    3. 从注解类型下拉列表中选择 Coordinates
    4. 从 Result Columns 表中删除 begin 和 end 列。这些列包含找到的概念在文本中的开始位置和结束位置。这个分析示例不需要这些信息。

    对于第二个输出端口 (Output1):

    1. 选择 Analysis Results 页面上的 Output1 选项卡。
    2. 选择 Factbook_Concepts 作为文本分析中使用的规则文件。
    3. 从注解类型下拉列表中选择 Area
    4. 从 Result Columns 表中删除 begin 和 end 列。

    图 11 显示完成后的 Analysis Results 页面。

    图 11. Analysis Results 页面
    Analysis Results 页面的屏幕图,定义了输出端口 Output 和 Output1
    Analysis Results 页面的屏幕图,定义了输出端口 Output 和 Output1
  7. 在 Properties 视图的 Output columns 页面上,从可用列列表中选择 COUNTRY 列,把它移动到右边的输出列列表中。现在,可以把提取的概念与 COUNTRY 键关联起来,因为操作器输出中也包含这个列。
  8. 创建接收分析结果的表:
    1. 右键单击 Regular Expression Lookup 操作器的第一个输出端口 (Output),从上下文菜单中选择 Create suitable table。输入 COUNTRY_COORDINATES 作为表名,输入 CIA 作为模式,单击 Finish
    2. 右键单击第二个输出端口 (Output1),从上下文菜单中选择 Create suitable table。输入 COUNTRY_AREA 作为表名,输入 CIA 作为模式,单击 Finish
  9. 最后,单击编辑器区域并按 Ctrl+S,保存挖掘流。

图 12 显示完成后的挖掘流。现在可以执行它了。

图 12. 完成后的挖掘流
按以上步骤构建的挖掘流的屏幕图
按以上步骤构建的挖掘流的屏幕图

执行挖掘流:

  1. 执行过程使用规则文件分析 CIA.FACTBOOK 表中的源列,把结果写到刚才创建的 COUNTRY_COORDINATES 和 COUNTRY_AREA 目标表中。

    从菜单中选择 Mining Flow -> Execute,然后在向导中单击 Execute 执行这个挖掘流。

  2. 执行挖掘流之后,可以查看目标表的内容。

    右键单击 COUNTRY_COORDINATES 表,从上下文菜单中选择 Sample contents of database table。这会在 Data Output 视图中显示示例内容,见图 13。

    图 13. COUNTRY_COORDINATES 表的示例内容显示提取的纬度和经度
    Data Output 视图中显示的 COUNTRY_COORDINATES 表内容;表中包含国家、经度、纬度和隐藏的文本
    Data Output 视图中显示的 COUNTRY_COORDINATES 表内容;表中包含国家、经度、纬度和隐藏的文本

结束语

本文讨论了 InfoSphere Warehouse 的基本体系结构和文本分析特性。还讨论了通过文本分析发现新信息的一些可能性。本文通过一个详细的示例演示了如何使用正则表达式构建简单的指定实体提取任务。本系列中的后续文章讲解如何执行其他任务(比如使用词典提取指定的实体),以及如何使用 IBM Cognos 8 BI 同时查看和分析文本分析结果和现有的结构化数据。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=424261
ArticleTitle=InfoSphere Warehouse 中的文本分析,第 1 部分: 体系结构概述和用正则表达式提取信息的示例
publish-date=08312009