文本数据分析的价值
文本数据在我们的生活中无处不在:在微信朋友圈、微博中发表的感想;在论坛上发表的评价商品的帖子;由应用后台自动生成的机器日志等。这类数据本身包含了大量有用的信息,但由于文本表达方式可以很灵活,在不需要严格遵循语法的情况下也能准确表达信息。比如下图中表达人物年龄就有三种不同的说法。
例子中,关于年龄最重要的信息是姓名和岁数,图中右侧的的结构化数据才是表达这些核心信息、应用可以处理的主要形式。怎样把非结构化文本数据转换成可以准确表达信息的结构化数据是文本数据分析的一大难题。
文本数据分析的办法
通常实现文本数据分析主要有两种模式:基于语法分析的模式,和基于语义关联的模式(完全抛开语法,通过文字的上下文关联进行分析)。
基于语法的分析需要根据语言语法,将文本数据拆分成语法要素,如主谓宾等,再根据语法和语义规则生成目标信息,这种方式适用与文字内容比较规范的场景。
基于语义关联的模式,则是大量采用分词、字典等综合技术对文本数据进行标记(打标签),再根据特定规则或组合生成最终信息,其实现方式大致包括如下步骤:
常用的文本分析工具:
目前有很多工具可用于文本数据分析,常见的几种及其特点如下:
Pig: 包含高层语法的数据处理工具,便于编程和扩展,底层利用MapReduce进行数据并行处理。
JAQL:针对JOSN数据的数据处理工具,非常适合于处理JOSN数据。
AQL:一种标记性的文本数据处理工具,语法类似于SQL,容易上手,内置多种数据抽取器。
Python Natural Language Toolkit:Python提供的文本分析工具,可进行词性标注,句法分析,关键词提取,文本分类,情感分析等。
BigInsights中的文本数据分析工具: IBM企业级大数据产品BigInsights中集成了AQL进行文本分析,在此之上开发了图形化文本分析工具Text Analytics,为使用者提供了极大的便利。
AQL介绍:
AQL框架中对文本数据进行处理要经过三个主要步骤:
1. 数据打标签:使用字典、正则表达式等技术,把要分析的文本数据进行标签处理,这一步是通过定义各种数据抽取器来实现的。
2. 按规则生成数据:将打好标签后的数据进行分片、分组、定义关联规则等,并根据这些规则生成候选的数据列表。
3. 数据合并和过滤:将候选数据进行最终的处理,如将重复数据合并、筛选和过滤等,形成最终的结果。
AQL数据处理过程如下图所示:
使用AQL处理数据,需要学习AQL语法、熟悉新的环境,最重要的是还需要通过写代码来完成各种文本分析任务,因此使用AQL处理数据其实并不简单。下图展示了要从文本中提取数字,需要编写的一段AQL代码:
Text Analytics工具介绍:
IBM基于AQL开发了全图形化界面的文本分析工具Text Analytics,让分析人员不需要编写底层代码,而是使用图形化界面工具方便快捷地完成文本数据分析任务,极大的拔高了平台的文本数据分析能力。
Text Analytics工具界面与Eclipse类似,整个工具分为如下几个区域:
1. 项目管理区:可以通过不同项目实现对不同文本分析任务的划分。
2. 文档浏览区:显示正在处理的文本数据文档,处理的结果通过不同背景颜色标记出不同标签的内容。
3. 画布区域:在该区域中通过拖拽、鼠标操作完成文本数据处理规则的创建和修改。
4. 属性区域:显示当前选中对象的属性,可以设置不同的属性值。
5. 结果区域:显示根据当前文本处理规则处理之后的结果。
通过Text Analytics进行文本数据分析,所有的工作都是在该界面完成,用户不需要关心具体的AQL细节和代码,也不用关心后台的处理作业,Text Analytics自动将文本处理规则生成AQL并提交作业到Hadoop集群中完成数据处理。
下面的简单示例,演示了如何从纯文本的财报数据中提取出盈利数字。
三步轻松搞定文本分析
步骤1:导入数据
新建项目后,单击项目区域中的加号按钮,可添加文本数据源。工具支持从本地文件系统或HDFS中添加文件,支持.zip, .tar, .tgz, .gz等多种格式的数据。
步骤2:编辑文本数据规则
根据数据处理的需要,从“Extractor”菜单中拖拉出需要的抽取器至画布区中,并定义属性和抽取器中的规则。
本例中我们仅仅抽取简单的财务数据,因此只需要将字符"$",数字抽取器Number和货币单位Currency三个抽取器拼接即可,如下图所示:
若要抽取包含部门名称的盈利数据,需要定义如下规则:
步骤3:运行和结果导出
点击画布区中的运行按钮,文本分析结果会直接显示在结果列表中,可以将结果导出处理和使用。
另外运行之后,在文档区域还根据不同规则命中的结果,显示为不同背景色的文字,方便检查。
总结:
BigInsights中的Text Analytics工具通过全图形化界面实现零编程的文本分析,并通过与Hadoop的集成扩展了文本处理的应用范围,可以帮助企业客户快速实现多种文本数据分析应用,例如对互联网文本数据分析,机器日志分析等。
Text Analytics的文本分析结果,可以进行深入加工和分析,例如可以在Cognos中通过图表展现,也可以做为SPSS的分析数据源使用。更多细节请参考慧都大数据。
更多大数据与分析相关行业资讯、解决方案、案例、教程等请点击查看>>>
详情请咨询在线客服!
客服热线:023-66090381