当前位置 > CPDA数据分析师 > “数”业专攻 > 大数据分析之文本分析

大数据分析之文本分析

来源:数据分析师 CPDA | 时间:2019-06-17 | 作者:admin

目录

1.文本数据概述

2.文本大数据分析

  2.1交互式文本大数据分析系统:实事探针

  2.2自然语言处理与文本挖掘基础算法

3.文本搜索、文本分析系统构建

 

1.文本数据概述

事实上,我们都对文本非常熟悉,因为我们每天都读到和写到。文本是信息表达的主要方式之一,在互联网上,我们工作和生活中都存在着大量的文本数据比如:

网页

新闻

论坛

社交媒体(微博、微信)

评论(新闻评论、购物评论等)

 

这些都是典型的文本数据,在海量的文本数据中蕴含着丰富的价值,对文本大数据的分析和挖掘具有重要意义,而它的典型应用又有舆情监控、商业智能、趋势预测、精准营销等等。

 

那么文本数据的特点呢就是信息蕴含在自由文本中、没有结构化字段可供查询以及无法直接进行统计分析。要想对这些文本进行分析,就要对它进行预处理,将非结构化的文本数据转成结构化的信息以供分析。

 

文本大数据分析 - 大数据分析之文本分析

这里面所用的方法就是自然语言处理和文本挖掘技术,在结构化信息挖掘出后,例如从左边的新闻中提取出人名、地名、机构名、关键词、主题等等,就可以其进行分析挖掘。

 

2.文本大数据分析

2.1交互式文本大数据分析系统:实事探针

众所周知,互联网是人们发布和获取信息的重要来源,截止2015年,互联网上已经存在了近9亿个网站,要想从如此庞大的数据中获取自己想要的信息,无异于从宇宙中找到一颗小星星一样,这个问题我们可以称之为信息过载。

 

文本大数据分析1 - 大数据分析之文本分析

 

为了解决信息过载的问题,搜索引擎应运而生。从1998年,Google公司发布了搜索引擎google的第一个版本,搜索引擎的通用模式是给定一个查询词,它将返回一个结果列表,用户自己去浏览结果列表中的每一个网页来满足自己的信息需求。从1998年的搜索引擎模式截至现在仍然没有太大的改变,那么这种基本的搜索模式够用了吗?搜索引擎是否真的已经满足了我们绝大多数生活中的需求了?答案是否定的。

 

如果要写一篇关于“雾霾”的报告,你会怎么做呢?上网页搜索雾霾的相关信息,网页将会返回大量关于雾霾的结果列表,往往不止一页,一条条的去浏览收集信息,进行甄别,显然是不现实的。即现有的”搜索引擎”已经不能满足用户对大规模文本数据的深层次聚合分析的需求。

 

比利-博思沃思(DataStax,CEO)曾说过一句话:“从现在开始的10年内。当我们回顾大数据时代如何发展时,我们会震惊于在以往做出决策时信息的匮乏”。大数据的发展是非常迅猛的,尤其是在互联网环境下,我们能使用的仅仅是搜索引擎而已,然而搜索引擎却不能满足用户高阶的深层次需求。

 

为了解决这个问题,提出了互联网文本分析引擎[1]的概念:在搜索的基础上,提供文本的深度分析,帮助用户从文本中获取高阶知识

 

文本分析引擎就像一个‘超人’,帮助用户完成对大规模文本的阅读和理解,并对其中包含的关键信息与知识进行抽取、挖掘汇总,并最终通过交互式的分析过程让用户对挖掘到的高阶知识进行浏览和分析,进而为用户决策提供支持。

 

目前现有的文本大数据分析引擎:实事探针,该系统已经被300余家政府和企业使用,可以像传统搜索引擎那样,对输入框输入信息,而返回结果将不以列表显示,而是关于信息的高阶知识。如下所示:

 

文本大数据分析2 - 大数据分析之文本分析

 

对子话题,机构以及正负面统计显示等:

 

文本大数据分析3 - 大数据分析之文本分析

文本大数据分析3 - 大数据分析之文本分析

 

文本大数据分析引擎核心特点:

从传统的互联网搜索过渡到了文本分析,就行数据库领域,从传统的OLTP联机事务处理过渡到了OLAP联机分析处理。

从返回的简单结果列表过渡到了返回高阶知识的统计结果。

交互式:在文本数据上进行类似于切片的切块的交互功能。

 

文本大数据分析4 - 大数据分析之文本分析

 

上图呈现的是文本大数据分析引擎的简单系统架构,从互联网爬取到数据之后,首先通过文档处理模块。将其处理成结构化或半结构化数据后,再通过索引系统提供搜索功能,在搜索的基础上,在进一步提供文本交互式功能。

 

2.2自然语言处理与文本挖掘基础算法

a.文本处理-正文抽取

给定一个HTML网页,目标是抽取该网页的标题、正文、图片、来源、时间等信息。

 

可采用方法:

(1)基于监督学习的方法:先人工挑选一些网页,标记出它的标题、正文、图片等信息,采用CRF模型对其训练,再用未知网页进行抽取。

(2)基于规则的方法:一个网页一定遵循它自己的主体特点,可通过识别字体大小、位置、布局、CSS等抽取信息。

 

b.文本处理-中文分词

从原始的网页中抽取纯文本后,仍然不是结构化,第一步就要进行中文分词,目标是将中文子串切分成有意义的单词。如下图所示:

 

文本大数据分析5 - 大数据分析之文本分析

 

常用方法:

(1)基于匹配的方法:正向最大匹配法、逆向最大匹配法。

(2)基于统计和机器学习的方法:HMM,CRF等。

 

c.文本处理-命名实体抽取

主要目标是识别文本中有意义的命名实体,如人名、地名等。

可采用方法:

(1)CRF

(2)深度学习:BI-LSTM+CRF.

 

d.文本处理-关键词抽取

目标是识别文本中最重要的一些词。给定一段文本,从文本中抽取出最能体现文本内容的前n个关键词。

 

文本大数据分析6 - 大数据分析之文本分析

 

常用方法比较固定:

(1)TF-IDF算法

(2)TextRank算法

在整个文本处理中还有很多其他的方法,如词性识别、句法分析、语法分析、观点抽取、文本分类.........

 

3.文本搜索、文本分析系统构建

问题:给定一个文本集合,如何像“实事探针”那样,能对文本内容进行实时全文检索和分析(对重要维度包含的内容进行统计排序)?

 

分析:检索是在非结构化的文本数据上进行,统计分析是在结构化字段上进行,通过前面我们已经从每个文档中抽取了结构化的信息,接下来该如何基于这些结构化数据,并结合非结构化的文本数据,完成上述目标。

 

方案:基于关系型数据库,基于分布式大数据系统,基于全文搜索系统。

(1)基于关系型数据库

 

先建立数据库表,通过join和group by等实现实体等信息汇总。

 

文本大数据分析7 - 大数据分析之文本分析

 

优点:使用SQL进行操作,可快速上手。

缺点:当数据规模大时,数据库性能明显下降。全文索引功能有限,不支持复杂字段类型、复杂查询语法和复杂排序算法。

 

(2)基于分布式大数据系统

使用NOSQL数据库进行数据处理和计算,通过NOSQL数据库对应的方法进行聚合运算。

典型方案:HDFS+HIVE+Kylin+Mondrian+(Saiku)

优点:分布式扩展比较容易,成熟的社区支持。文本格式灵活,经常有嵌套格式的对象数据。

缺点:不支持全文索引或全文索引能力差,查询能力受限。

 

(3)基于全文搜索系统

 

文本大数据分析8 - 大数据分析之文本分析

 

目前已经不仅仅是一个全文搜索系统,除文本外,还支持各种数据类型,支持自定义复杂数据类型,以及自定义的存储、排序和分析函数。用于强大的统计计算功能,支持数据库上的join和Group.

 

窦志成,文继荣   leo的成长屋