重磅干货丨互联网数据挖掘导论新闻中心数据观中国大数据产业观察

熟悉数据挖掘的流程与各个步骤所用的技术

对数据挖掘的应用场景有基本的认识

写在前面

随着互联网的日益蓬勃发展,如何从广袤的信息海洋中提取出有价值的信息、模式和关系,逐渐成为了一门新的领域——数据挖掘。作为一门交叉学科,数据挖掘融合了信息检索、互联网、数据库、机器学习、自然语言处理等不同的学科,用多样技术完成具体的数据挖掘应用。常见的应用有:垂直搜索、推荐系统、智能问答、机器翻译、舆情监测、情报收集等等,可谓是深入到了我们日常生活的方方面面。

▊接下来我们会从基础技术说起,从以下三个方面来了解数据挖掘:

搜索技术

数据挖掘技术

具体应用

搜索

搜索其实是一个很大的主题,但是核心问题其实并不复杂,一是如何去表示文档,二是在这样的基础上如何去检索文档。具体的评价标准是『效果』和『效率』。效果指的是如何准确匹配查询与文档,一般来说会基于检索模型进行。效率值得是如何快速返回检索结果,一般来说是基于索引进行的。

文档表示

▊文档表示一般有两种方法:手动或自动

自动方法,最有代表性的是词袋(BagofWords)技术,即使用文档中出现的词的集合来表示一篇文档。但是这种方法也有很多不足之处,因为是词语的无序集合,句法信息首先已经丢失了,另外针对不同的语言会有不同的难点。

对于中文来说,如何进行分词(即把句子分成词)就是一个很大的难点,尤其是层出不穷的网络热梗,如何保证准确和实时就是非常大的挑战。对于英文来说,虽然没有分词的问题,但是大小写、单复数、时态、词根等等同样让人头疼。这也导致了大部分搜索引擎都不会考虑词根问题,一是因为文档太多,进行二次处理得不偿失,二是因为对于搜索结果来说影响没有那么大,自然就没有太大的动力去做。

文档索引

表示了文档之后,我们需要对其进行索引,不然每次检索如果需要用户等太久,体验就很糟糕了。而具体到用什么进行检索,最终人们选择了用词而不是短语来作为索引,这里一个比较有代表性的工具就是Lucene,现在互联网上广为应用的Elasticsearch和Solr都是基于Lucene的。

Lucene最重要的技术就是倒排索引(invertedindex),可看做链表数组,每个链表的表头包含关键词,其后序单元则包括所有包括这个关键词的文档标号,以及一些其他信息,如该词的频率和位置等。这里关键词查询一般采用B-Tree或哈希表,文档列表组织一般采用二叉搜索树。

文档检索

最初人们常用的是基于布尔代数的匹配,虽然比较简单,但是对查询的要求很高;并且匹配标准过于严格,容易导致过少或过多的检索结果。尽管布尔模型不再用作主流文档检索模型,但其思想常用于实现高级(综合)检索功能。

现在最常用的是向量空间模型(VectorSpaceModel),其思路是文档与查询都是高维空间中的一个向量,用户自由输入文本也是一个向量,利用向量空间的相似性进行查询。具体的相似性同样可以用两种方法来确定:内积或者夹角。因为是空间,所以度量距离的时候会采用不同的描述距离的方式,有Minkowskimetric,Euclidiandistance,Jacquardmeasure和Dice’scoefficient等等。

同一篇文档中不同词语其实也会有不同的权重,这里我们比较常用的是TF-IDF算法,其中TF表示词语出现的频率,而IDF则能区别不同词语的重要性。

文档收集

前面介绍了文档检索的各种概念,但是现在问题来了,文档从哪里来呢?这就要提到我们最常听见的爬虫(WebCrawler)了,它能够快速有效地收集尽可能多的有用Web页面,包括页面之间的链接结构。

▊随着Web2.0的兴起,脚本语言生成的动态内容和各类多媒体内容给爬虫增加了许多难度,但基本的页面爬取策略没有太大的改变,一般以以广度优先为主,深度优先为辅,需要具体的特性主要有:

健壮Robustness,避免进入死循环

友好Politeness,遵守服务器的采集协议

分布式Distributed,多台机器分布式采集

可扩展Scalable,爬虫架构方便扩展

性能与效率,有效利用系统资源

质量Quality,倾向于采集有用的页面

新颖Freshness,获取网页的最新版本

可扩充Extensible,能够处理新数据类型、新的采集协议等

链接分析

这里有一个很有趣的现象叫做排序沉入(RankSink),页面A引用了页面B,页面B也引用了页面A,就形成了一个闭环,不再向外传播分数了。这是我们在实际运用中需要避免的情况。

数据挖掘

数据挖掘根据应用的不同,分为不同的子领域,这些子领域又和机器学习、概率统计、模式识别等有着千丝万缕的关系。接下来先介绍基本概念,然后聊聊一些常见的应用。

主要任务

为了完成上述任务,整个数据挖掘的流程为:获取数据->选择数据->预处理数据->数据规整->数据挖掘->模式识别。不同阶段会使用不同的技术,但一定要把整个流程走通,数据挖掘才有意义。

随着数据量的增大,如何让数据挖掘更加容易拓展效率更高,如何去挖掘有上下文关系的数据,如何从复杂、异构、网络化数据中挖掘复杂知识,如何挖掘低质量数据,如何保证安全性和隐私,都是未来数据挖掘需要努力的方向。

常用工具

▊开源的工具有:

Weka

GATE

Carrot2

NLTK

Orange

RapidMiner

KNIME

▊商用的应用主要有:

IBMInfoSphereWarehouse

MicrosoftAnalysisServices

SASEnterpriseMiner

STATISTICADataMiner

OracleDataMining

自然语言处理

▊推荐教材:

FoundationsofStatisticalNatrualLanguageProcessing

SpeechandLanguageProcessing

统计自然语言处理

▊这里主要以汉语为例子说说分词。一般认为词是最小的、能够独立运用的、有意义的语言单位。但是汉语分词有许多挑战,比如:

词和词组的边界模糊

新词(未登陆词)

切分歧义

汉字串AJB被称作交集型切分歧义,如果满足AJ,JB同时为词,此时汉字串J被称作交集串

汉字串AB被称作组合型切分歧义,如果满足条件A,B,AB同时为词

真歧义:存在两种或两种以上的真实存在的切分形式

简单的模式匹配

正向最大匹配(FMM)、逆向最大匹配(BMM,比正向更有效)、双向匹配(BM,比较两种方法的结果,大颗粒词越多越好,非词典词和单子词越少越好,可以识别出交叉歧义)

基于规则的方法

最少分词算法

基于统计的方法

统计语言模型分词、串频统计和词形匹配相结合的汉语自动分词、无词典分词

第一步是候选网格构造:利用词典匹配,列举输入句子所有可能的切分词语,并以词网格形式保存

最后根据图搜索算法在图中找到一条权值最大的路径,作为最后的分词结果

常见应用

接下来介绍数据挖掘的积累常见应用:

▊智能问答技术

智能问答技术起源于信息检索社区,简单来说就是根据用户的提问给出简短的答案或提供答案的证据。根据不同的划分标准,我们可以总结出如下的几类问题类型:

根据答案类型划分

事实型问题(Factualquestions)

观点型问题(Opinions)

摘要型问题(Summaries)

根据问题言语行为(questionspeechact)划分

是否型问题(Yes/NOquestions)

WH问题(WHquestions)

间接请求(IndirectRequests)

命令(Commands)

复杂/困难问题

为什么/怎么样(Why,Howquestions)

什么(Whatquestions)

遗憾的是,目前大部分理解问题的技术都是基于正则表达式的,毕竟在自然语言理解这块,暂时还没有突破性进展。

▊传统自动问答技术主要是基于语料库的自动问答或基于知识库的自动问答,基本包括三个步骤:

问题分析(分类、模板匹配、语义分析)

段落检测(段落抽取、排序)

答案抽取(实体识别、模板匹配、排序)

社区问答主要是应用与诸如知乎和Quora这类网站,目前主要的方向是问题分类、问题推荐、信誉评估和知识抽取等等。

情感分析与观点挖掘

情感分析与观点挖掘主要应用于产品比较与推荐、个人与机构声誉分析、电视节目满意度分析、互联网舆情分析和反恐与维稳。目前很多互联网平台(如淘宝、大众点评)都已经利用这种技术帮助提取用户评价中的关键词以提供更好的用户体验。

▊基本的框架如下所示:

应用层:情感检索,情感摘要,情感问答

核心层:情感要素抽取,情感倾向性分析,主客观分析/观点文本识别

基础层:NLP基本模块,情感资源收集与标注

▊而具体应用中,会将文本按照所表达的总体情感进行分类,可能的分类主要有如下三种,一般会从词、句子、文档三中粒度来进行分析:

主客观分析/观点文本识别

客观:反映关于世界的事实信息

主观:反映个人情感、信念等

倾向性分析(可看作主客观分析的细粒度处理)

对包含观点的文本进行倾向性判断

一般分为三类:褒义、贬义、中性(在一些问题不考虑中性)

情绪分析

愤怒、高兴、喜好、悲哀、吃惊等等

特征抽取与聚类(aspectextractionandgrouping)

抽取对象的所有特征表达,并将同义特征表达聚类。每个特征类表示了关于该对象的独一无二的某个特征

特征情感分类(aspectsentimentclassification)

确定观点针对每个特征的情感倾向:正面、负面、中性

信息摘要

抽取式:从文档中抽取已有句子形成摘要。这种方法实现简单,能保证句子的可读性

生成式/混合式:生成新的句子,或者对已有句子进行压缩、重构与融合。这种方法难度更大,但更接近摘要的本质

抽取式文档摘要的典型工作流程是:文档集->文档理解->句子重要性计算与排名(利用词语句子的各类特征,基于机器学习)->句子选择->摘要句子排序->摘要

目前摘要总体性能不高,需要方法上的突破。

社交网络分析

社交网络作为Web2.0的典型代表,用户生成的内容相当多,可以看作是某种程度上的群体智慧和在强交互性基础上构造的异构网络。

社交网络分析主要是基于社交关系、结构进行挖掘,比如社区检测、连接预测、影响力分析。而社交内容挖掘则是基于文本等内容数据进行挖掘,比如摘要、关键词、情感分析。因为每个人在社交网络上可以抽象为一个元素,于是他们之间的关系可以用矩阵表示。另一种表示的方式是使用图,其中节点=成员,边=关系。

▊比较常见的任务有:

社交网络抽取(SocialNetworkExtraction):从数据源中抽取、构建社交网络

网络中心性分析(NetworkCentralityAnalysis):识别社交网络上最重要的节点(重要性的定义由目的、环境所定)

输入为一个社交网络,输出为最重要的节点列表,一般方法是为节点计算分数或排序,反映节点的重要性/专业性/影响力

对于点重要性的评估可以采用网络中心性测度(Centralitymeasures)方法,具体中心性的定义可能是度数中心性(朋友最多)、中介中心性(处在信息流动关键节点)或亲近中心性(离所有节点平均距离最短)

用户画像:根据用户特点给用户群体分类

链接预测(LinkPrediction):给定一个社交网络,预测哪些节点相互连接。例如:facebook中的好友推荐

病毒式营销(ViralMarketing):找出若干用户,为其提供优惠或折扣,从而影响网络上的其他用户,使得收益最大化

试一试

尝试在网络寻找应用了数据挖掘的产品,并思考不同公司是如何使用的

对于大数据时代的个人隐私问题,你怎么看?

总结

这一讲,我们简单了解了数据挖掘及应用的方方面面,当然,如果有很多不明白的概念,建议简单看看维基百科了解一下,不过实在不明白也没关系,随着之后的实践,应该会有恍然大悟的一天。

THE END
1.数据挖掘概念(AnalysisServices该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题: 您在查找什么?您要尝试找到什么类型的关系? 您要尝试解决的问题是否反映了业务策略或流程? 您要通过数据挖掘模型进行预测,还是仅仅查找受关注的模式和关联? https://technet.microsoft.com/zh-cn/library/ms174949(en-us,sql.105).aspx
2.数据挖掘类文章属于什么类型mob64ca12e83232的技术博客数据挖掘类文章属于什么类型 数据挖掘是一种从大量数据中提取隐含的、有用信息和知识的过程。它涉及统计学、机器学习、数据库技术等多门学科,因此数据挖掘类文章通常属于数据分析、机器学习和统计学等类别。本文将介绍数据挖掘的基本概念,并结合具体的代码示例,展示如何使用Python进行简单的数据挖掘任务。https://blog.51cto.com/u_16213397/12827058
3.大数据分析与挖掘第2篇洞察研究大数据分析与挖掘-第2篇-洞察研究 下载积分: 1388 内容提示: 大数据分析与挖掘 第一部分 数据预处理:清洗、整合和规约 2 第二部分 数据探索性分析:可视化和统计检验 4 第三部分 关联规则挖掘:频繁项集和关联规则生成 https://www.doc88.com/p-90990192352266.html
4.数据挖掘的主要任务有哪些帆软数字化转型知识库数据挖掘的主要任务包括分类、聚类、关联规则挖掘、回归分析、异常检测、序列模式挖掘、文本挖掘、时间序列分析。数据挖掘是一门从大量数据中提取有价值信息和知识的技术,其中分类是最常见的任务之一。分类的目标是将数据分配到预定义的类别中。例如,在电子邮件分类中,可以将邮件分类为“垃圾邮件”和“非垃圾邮件”。分类https://www.fanruan.com/blog/article/592609/
5.终于有人把数据挖掘讲明白了01 什么是数据挖掘 数据挖掘(Data Mining)应该是一门大家都听说过,但又不太容易说清楚的课程。在数据科学领域,乃至在更大的计算机科学领域,数据挖掘就好比山东蓝翔,大家不一定都知道挖掘机要怎么开,但一定都知道挖掘机技术到底哪家强。不过,知名度高也未必全是好事,尤其是啤酒尿布的故事太经典,反而会让大家http://baijiahao.baidu.com/s?id=1693087942720095003&wfr=spider&for=pc
6.什么是数据挖掘?数据挖掘的目标是什么?数据挖掘的目的数据挖掘要解决的问题是什么? 数据挖掘的任务 预测建模 关联分析 聚类分析 异常检测 什么是数据挖掘 并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索( information retrieval) 领域的任务。虽然这些任务非常重要,可能涉及使用复杂https://blog.csdn.net/Chahot/article/details/123552967
7.什么是数据挖掘1、数据:数据是描述现实世界事物的符号表示,可以是数字、文字、图像等形式。 2、数据集:数据集是由多个数据记录组成的集合,每个记录包含若干个属性。 3、属性:属性是描述数据记录特征的变量,如年龄、性别、收入等。 4、目标变量:目标变量是数据挖掘任务关注的主要变量,通常用于预测或分类。 https://www.kdun.com/ask/445433.html
8.数据挖掘基本任务数据挖掘主要做什么?换而言之,数据挖掘主要解决什么问题呢?这些问题,可以归结为数据挖掘的基本任务。 数据挖掘的基本任务包括分类与预测、聚类分析、关联规则、奇异值检测和智能推荐等。通过完成这些任务,发现数据的价值,指导商业抉择,带来商业新价值。 关于这些基本任务,简单描述如下。实际上对每个基本任务,可以看做是数https://www.cda.cn/view/21150.html
9.商战数据挖掘:你需要了解的数据科学与分析思维基本概念:一系列典型数据挖掘任务;数据挖掘流程;有监督型数据挖掘与无监督型数据挖掘 数据科学的一条重要原则是,数据挖掘的流程可以分解为几个通俗易懂的环节。有些环节涉及信息技术的应用,如数据中模式的自动发现和评估,而有些则主要依赖数据分析师的创意、常识和商业知识。理解数据挖掘的整个过程,有助于组织数据挖掘https://www.ituring.com.cn/book/tupubarticle/28952
10.数据挖掘原理与实践蒋盛益标准答案描述你要选取的结构,该结构的每个成分的作用是什么?答:任务目的是分析课程数据库,那么首先需要有包含信息的关系型数据库系统,以便查找、提取每个属性的值;在取得数据后,需要有特征选择模块,通过特征选择,找出要分析 的属性;接下来需要一个数据挖掘算法,或者数据挖掘软件,它应该包含像分类、聚类、关联分析这样的分析https://www.360docs.net/doc/6917703164.html
11.网格管理相关知识6篇(全文)OGSA-DAI提供了各种类型数据的分发和访问机制,包括数据的预处理,进行数据清理,消除噪音数据;提供显示元数据、数据挖掘模式及扩展模式和数据柱状图等数据浏览器。 2)服务&任务配置: 利用一系列的Web应用程序,可以在准备数据挖掘任务过程中与用户进行交互。可以配置服务(如选择算法),建立输入参数(选择属性等)和为DSCL客户https://www.99xueshu.com/w/fileviwe1quh.html
12.大数据分析师岗位职责(工作内容,是做什么的)1、熟练使用SQL、python,熟悉数据分析过程,能完成数据处理、数据建模、分析报告等任务; 2、具有数据挖掘/机器学习理论和技术基础,了解常用的数据挖掘算法。 【工作经验】 1、熟悉手机分销、零售领域的业务场景,熟悉移动业务市场,具有敏锐的市场洞察力和整体的风险识别能力; https://www.jobui.com/gangwei/dashujufenxishi/
13.数据挖掘的任务之一分类数据挖掘的任务之 一般说来,数据挖掘问题可以分为 以下几类:分类、推估、预测、同质分 组和关联分组。每种问题都有许多具 体的数据挖掘或统计模型来加以解决。 分娄简窃 分类问题是数据挖掘中最重要的 任务之一,很多数据挖掘问题都可以 转化为分类问题。分类的目的在于运 用分类方法构建一个分类函数或分类 模型(https://doc.mbalib.com/m/view/5ba186392a5dec18c81ebaaa8f378b7b.html
14.数据挖掘技术概述根据挖掘任务分,可分为分类或预测模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系或依赖模型发现、异常和趋势发现等等;根据挖掘对象分,有关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及环球网Web;根据挖掘方法分,可粗分为:机器学习方法、https://www.360doc.cn/article/3540_47970.html
15.数据挖掘任务预测建模 分类:离散 回归:连续 关联分析 聚类分析 异常检测仪 练习题: 1.以下是否是数据挖掘任务。 a.根据性别划分公司的顾客。 否。这是一个简单的数据库查询 b.根据https://www.jianshu.com/p/2dde0862a847
16.数据挖掘题目,K—均值算法应用假设数据挖掘的任务是将如下的八个数据挖掘题目,K—均值算法应用假设数据挖掘的任务是将如下的八个点(用(x,y)代表位置)聚类为三个簇.A1(2,10),A2(2,5),A3(8,4),B1(5,8),B2(7,5),B3(6,4),C1(1,2),C2(4,9)距离函数https://www.zybang.com/question/0569512e32f1f4baa8696722287205e4.html
17.数据挖掘的主要任务数据挖掘的主要任务 东奥美国注册管理会计师 2024-12-06 14:51:15 相关剖析 两个或两个以上变量的取值之间存在某种规律性,就称为相关。数据相关是数据库中存在的一类重要的、可被发现的常识。相关分为简略相关、时序相关和因果相关。相关剖析的目的是找出数据库中隐藏的相关网。https://www.dongao.com/cma/zy/202406194446895.html
18.监督学习是常见的数据挖掘方法,下列属于监督学习典型任务的是本题考查数据挖掘方法。监督学习的两大典型任务是分类和回归。 您可能感兴趣的试题 1【多选题】关于数据挖掘的说法,正确的有()。 A 、数据源必须是真实的、大量的、无噪声的 B 、发现的是用户感兴趣的知识 C 、发现的知识是可接受、可理解、可运用的 https://www.bkw.cn/tiku/XYQg6.html
19.数据挖掘工作总结(通用8篇)---数据挖掘人员需具备以下基本条件,才可以完成数据挖掘项目中的相关任务。 一、专业技能 硕士以上学历,数据挖掘、统计学、数据库相关专业,熟练掌握关系数据库技术,具有数据库系统开发经验 熟练掌握常用的数据挖掘算法 具备数理统计理论基础,并熟悉常用的统计工具软件 二、行业知识https://www.360wenmi.com/f/file17l2qeo4.html
20.软件工程数据挖掘进展分析论文①数据预处理,待挖掘的大量数据混杂在了一起,它们的格式和形式是否适合进行数据挖掘,是否符合当前任务的数据特征,这些都是未知的,需要对其进行预处理,预处理就是将大量的数据进行改造,使其都变成适合进行挖掘的形式,并且变成符合任务的数据,整个数据挖掘过程中,预处理是最费时费力的过程,主要的手段是将数据向量化和将https://www.unjs.com/lunwen/f/20190601152421_2086467.html
21.公路工程造价数据挖掘相关技术(每日一练)2、 下列哪些属于数据挖掘的主要任务( ) (ABCD) A,聚类分析 B,预测建模 C,关联分析 D,异常检测 答题结果: 正确答案:ABCD 3、 数据可视化有效性原则包括( ) (ABCDEF) A,可理解性 B,清晰性 C,一致性 D,有效性 E,必要性 F,真实性 答题结果: https://xycost.com/archives/187738
22.1.数据挖掘是指从大量数据中获取潜在有用的并且可以被人们理解的1.数据挖掘是指从大量数据中获取潜在有用的并且可以被人们理解的___的过程,包含___、___、和___等多个步骤。2.数据挖掘按照任务的性质划分,可分为___和___两种,其中描述性挖掘包括___和___等,预测性挖掘包括___、___和___等。3.___的目标是从给定的数据中发现http://www.ppkao.com/wangke/daan/5a40fd43a112473db5a81f3f72a2ab12
23.数据挖掘工程师工作的岗位职责(精选25篇)(3)熟悉数据分析过程,能够完成数据抽取、数据处理、数据建模、数据分析报告等任务; (4)一定的数据挖掘/机器学习理论和技术基础,了解常用的数据挖掘算法如:聚类模型、线性回归、逻辑回归、分类模型、决策树模型等。 数据挖掘工程师工作的岗位职责 篇4 职责: https://www.yjbys.com/hr/gangwei/2731755.html
24.一文解析:生成技术在时空数据挖掘中的应用澎湃号·湃客为了在不同的挖掘任务中应用生成技术,时空数据实例需要转换为特定的数据格式,具体取决于所选择的数据表示方式。这些时空数据实例可以表示为序列数据、矩阵、张量或图。最后,选择合适的生成技术来处理各种时空数据挖掘任务,如预测、分类和表示学习等。这些模型利用生成技术的独特能力,从时空数据中提取有价值的见解,并解决https://www.thepaper.cn/newsDetail_forward_27622047
25.数据挖掘工程师工作的岗位职责11篇(3)熟悉数据分析过程,能够完成数据抽取、数据处理、数据建模、数据分析报告等任务; (4)一定的数据挖掘/机器学习理论和技术基础,了解常用的数据挖掘算法如:聚类模型、线性回归、逻辑回归、分类模型、决策树模型等。 数据挖掘工程师工作的岗位职责7 1、负责公司与阿里巴巴在新行业方向(新金融、新零售、国内外运营商)的https://www.ruiwen.com/gongzuozhize/6918344.html
26.《python数据分析与挖掘实战》笔记第1章腾讯云开发者社区数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。 1.3、数据挖掘的基本任务 数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业https://cloud.tencent.com/developer/article/1796252