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

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

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

写在前面

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

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

搜索技术

数据挖掘技术

具体应用

搜索

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

文档表示

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

自动方法,最有代表性的是词袋(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.数据挖掘的分析方法可以划分为关联分析序列模式分析分类分析和数据挖掘是从大量数据中提取有用信息的方法,主要分为四种分析方式:关联分析、序列模式分析、分类分析和聚类分析。在本指南中,我们将详细介绍这四种方法的实现过程,并提供相应的代码示例。 数据挖掘流程 首先,我们需要明确数据挖掘的基本流程,如下表所示: 流程图 https://blog.51cto.com/u_16213297/12863680
2.数据挖掘算法(AnalysisServices–数据挖掘)MicrosoftLearn为特定的业务任务选择最佳算法很有挑战性。您可以使用不同的算法来执行同样的业务任务,每个算法会生成不同的结果,而某些算法还会生成多种类型的结果。例如,您不仅可以将 Microsoft 决策数算法用于预测,而且还可以将它用作一种减少数据集的列数的方法,因为决策树能够识别出不影响最终挖掘模型的列。 https://technet.microsoft.com/zh-cn/library/ms175595(v=sql.100).aspx
3.数据挖掘概念流程算法与工具全解析数据挖掘工具简介数据挖掘工具是数据挖掘过程中的重要辅助手段,它们提供了丰富的数据挖掘算法和可视化功能,使得数据挖掘过程更加高效和直观。以下是一些常用的数据挖掘工具: Python:一种流行的编程语言,有丰富的数据挖掘库和工具包,如NumPy、Pandas、Scikit-learn、TensorFlow等,提供了强大的数据处理和分析能力。 https://blog.csdn.net/Echo_3wdiankang/article/details/143492282
4.数据挖掘用哪些工具做帆软数字化转型知识库数据挖掘可以使用R、Python、RapidMiner、KNIME、Weka、SAS、SQL、Hadoop、Tableau、SPSS等工具。其中,Python是最受欢迎的工具之一,因为其强大的库和社区支持使得数据挖掘过程更加高效。Python 拥有丰富的第三方库,如 pandas、NumPy、scikit-learn …https://www.fanruan.com/blog/article/576876/
5.数据挖掘七种常用的方法汇总腾讯云开发者社区聚类分群效果可以用向量数据之间的相似度来衡量,向量数据之间的相似度定义为两个向量之间的距离(实时向量数据与聚类中心向量数据),距离越近则相似度越大,即该实时向量数据归为某个聚类。 数据挖掘方法 利用数据挖掘进行数据分析常用的方法主要有分类、回归分析、聚类、关联规则、特征、变化和偏差分析、Web页挖掘等, 它https://cloud.tencent.com/developer/article/1892597
6.UC伯克利等单位提出基于扩散模型的新数据挖掘工具翻译聚类经过大规模预训练的扩散模型(Diffusion Models)可以在各种专业场景中,根据用户输入的文本提示来生成高质量的图像,这一亮眼表现得益于扩散模型框架准确地学习了训练数据的视觉语言表示。基于这一点,本文作者提出,可以将扩散模型作为全新的视觉数据挖掘工具(Data Mining Tools)。假设一个条件扩散模型可以在某个特定的数据分https://www.163.com/dy/article/JHJ8EH4Q0511CQLG.html
7.大数据金融第二章大数据相关技术指根据业务的需求和目的,运用合适的工具软件和数据挖掘方法对数据仓库中的数据信息进行处理,寻找出特定的数据规律或数据模式,得出有价值的信息和知识。 (二) 对象 数据挖掘的对象:根据信息存储格式,分为关系数据库、面向对象数据库、数据仓库、文本数据源、多媒体数据库、空间数据库、时态数据库、异质数据库以及Internethttps://www.jianshu.com/p/d68251554c66
8.数据挖掘各种工具介绍1科学的定义:一种透过数理模式来分析企业内储存的大量资料,以找出不同的客户或市场划分,分析出消费者喜好和行为的方法。 二、data mining的工具(摘自百度文库,经自己简单整理): 数据挖掘工具的市场一般分为三个组成部分: a、通用型工具;b、综合/DSS/OLAP数据挖掘工具;c、快速发展的面向特定应用的工具。 https://bbs.pinggu.org/jg/shuju_shujuwajue_1281384_1.html
9.作为Java工程师必看的成神之路——2020年最新Java核心书籍推荐什么是多态、方法重写与重载 Java 的继承与实现 构造函数与默认构造函数 类变量、成员变量和局部变量 成员变量和方法作用域 02 Java 基础知识 → 基本数据类型 8 种基本数据类型:整型、浮点型、布尔型、字符型 整型中 byte、short、int、long 的取值范围 https://maimai.cn/article/detail?fid=1656311323&efid=NSfo2ivUYpeeiMthZ6XLoA
10.计算机系专业课程简介本课程讲授面向过程高级语言构造、算法结构及程序设计的基本方法和技巧。课程以尽量淡化具体语言方式要求学生掌握高级语言数据类型、构造、子程序、结构特 点及掌握相应的语法描述工具。并以引导性教学,要求学生快速掌握C语言,进入以编程为目的实践教学阶段,以培养良好的程序设计风格。 http://eng.stu.edu.cn/jxdt/kcjj/jsjxzykcjj.htm
11.数据挖掘知识总结(精选8篇)4、数据库管理系统主要功能:数据定义功能、数据组织存储和管理、数据操纵功能、数据库的事务管理和运行管理、数据库的建立和维护功能、其他。 5、数据库系统:是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 https://www.360wenmi.com/f/filep4ahaz92.html
12.中信所网站(四)数据挖掘的主要方法、工具和实现方式 关联规则挖掘,相似项发现,降维处理,分类与预测,聚类分析,主题建模等。 (五)大数据环境下情报数据分析工具与平台研发 海量数据环境下的资源获取方法,高效的数据建模方法,面向业务的分析模型,可视化应用与服务。 三、培训安排 https://www.istic.ac.cn/html/1/192/215/217/1876511515630297886.html
13.暨第4届华夏循证医学与临床研究论坛第10届中国循证与转化医学设置了系统评价/Meta分析培训班、高阶Meta分析培训班、临床数据挖掘培训班、临床研究方法学进展学习班、循证中医药论坛、医学实践与探索论坛、双心医学论坛、循证预防医学论坛、循证社会科学论坛等,期间还将会召开指南/共识研讨会、专著/教材编写会等。会议旨在为预防、临床、护理、药学、中医、药物经济学、医学情报学https://cebtm.znhospital.com/detail/125
14.常用的数据挖掘工具有哪些?声明: 本网站大部分资源来源于用户创建编辑,上传,机构合作,自有兼职答题团队,如有侵犯了你的权益,请发送邮箱到feedback@deepthink.net.cn 本网站将在三个工作日内移除相关内容,刷刷题对内容所造成的任何后果不承担法律上的任何义务或责任 https://www.shuashuati.com/ti/1338f5f8c54f49119571789f18e5d203.html
15.80本值得一读的最佳数据科学书籍(一),站长资讯平台在许多这些长达一章的讲座中,来自Google,Microsoft和eBay等公司的数据科学家通过展示案例研究和它们使用的代码来共享新的算法,方法和模型。如果您熟悉线性代数,概率和统计,并且具有编程经验,那么这本书是数据科学的理想入门。 数学Math 4.多元微积分Multivariate Calculus https://www.west.cn/cms/news/idcnews/2019-12-23/218777.html
16.小智信用征五个维度信息进行综合评分。利用先进的数据挖掘技术、方法和工具,建立 数学模型,用来预测用户未来一段时间发生违约风险的可能性。评分从0-100, 每个分数代表一个违约概率,分数越高,违约概率越低 ●反欺诈用于辅助金融机构对信息数据的真实性进行鉴定和判别。 http://www.smartdata360.com/xzsj/xzxy.html
17.什么是数据挖掘和KDD·MachineLearningMastery博客文章翻译“ KDD领域关注的是开发用于理解数据的方法和技术。 该过程的核心是应用特定的数据挖掘方法进行模式发现和提取。“ 和 “ KDD是指从数据中发现有用知识的整个过程,而数据挖掘是指此过程中的特定步骤。数据挖掘是特定算法的应用,用于从数据中提取模式。“ 作者在图片https://www.kancloud.cn/apachecn/ml-mastery-zh/1951996
18.数据挖掘:实用机器学习工具与技术(原书第3版)中文/英文pdf完整版[138数据挖掘:实用机器学习工具与技术(原书第3版)是机器学习和数据挖掘领域的经典畅销教材,被众多国外名校选为教材。书中详细介绍用于数据挖掘领域的机器学习技术和工具以及实践方法,并且提供了一个公开的数据挖掘工作平台Weka。本书主要内容包括:数据输入/输出、知识表示、数据挖掘技术(决策树、关联规则、基于实例的学习、线https://www.jb51.net/books/581148.html
19.智能化时代学科评价的工具探索!教育评价资讯频道在智能化时代,利用人工智能、大数据技术对学科数据 进行深度挖掘和科学分析,可以将学科评价从基于小样本或不完整信息的评价转化为基于整体信息的多元化科学化评价。本文通过应用聚类、神经网络分析、关联规则分析等数据挖掘方法对学科数据进行建模分析的思考,对智能化时代高校学科评价进行探索。http://www.fjshxedu.cn/news/show.php?itemid=148
20.12款最好用的数据挖掘工具免费的数据挖掘工具包括从完整的模型开发环境如Knime和Orange,到各种用Java、c++编写的库,最常见的是Python。数据挖掘中通常涉及到四种任务: 分类:将熟悉的结构概括为新数据的任务 聚类:在数据中以某种方式查找组和结构的任务,而不需要在数据中使用已注意的结构。 https://blog.itpub.net/69985379/viewspace-2733867/