借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘
本挖掘典型地运用了机器学习技术,例如聚类,分类,关联规则,和预测建模。这些技术揭示潜在内容中的意义和关系。文本发掘应用于诸如竞争情报,生命科学,客户呼声,媒体和出版,法律和税收,法律实施,情感分析和趋势识别。
在本篇博客帖中,你将会学习到如何将机器学习技术应用到文本挖掘中。我将会向你展示如何使用RapidMiner(一款流行的预测分析开源工具)和亚马逊S3业务来创建一个文件挖掘应用。亚马逊S3业务是一项易用的存储服务,可使组织在网页上的任何地方存储和检索任意数量的数据。
掘模型产生的结果可以得到持续的推导并应用于解决特定问题
为什么使用文本挖掘技术?
文本挖掘技术帮助你在大量的肉眼不可见的文本内容中隐藏的文本模式和关系,带来了新的商机和进程的改进。使用文本挖掘技术可以节省你的时间和资源,因为文本挖掘进程可以实现自动化,文本挖掘模型产生的结果可以得到持续的推导并应用于解决特定问题。
这些技术可以帮助你:
从大量的文本内容中提取关键概念,文本模式和关系。
以主题(例如旅行和娱乐)为依据,在文本内容中识别各种趋势,以便理解用户情感。
从文档中概括内容,从语义上理解潜在内容。
索引和搜索文本以便在预测分析中使用。
正如你所看到的,除了事务性内容外,如果你不分析文本内容,你可能错失重大的机遇.
以前文本挖掘所面临的障碍
在过去,从大量的文本中提取有价值的透彻分析通常很难。提取有价值的透彻分析需要技艺精湛的IT人才来执行复杂的编程和建模任务。另外,在维持性能和创新周期所要求的速度和灵敏度的条件下,所具有的基础设施简直无法满足处理大量非结构化文本的要求。工具与潜在基础设施的集成则是面临的另一个挑战。这通常导致数据和工具从一个环境迁移到另一个环境。此外,商业用户发现很难解读这些结果。易于挖掘和分析的结构化数据变成大多数数据分析任务的主要数据源。结果是大量的文本内容实际上未被使用。
文本分析的新近发展
数据和云基础设施已经取得了巨大的进步。这包括机器学习和文本挖掘领域可用的各种工具和技术。伴随着这些发展,速度,创新和可扩展性现在变成了可能。在组织使用分析学方面也已经出现了根本性的转变:不是应对过去的趋势,组织通过根据当前事件预测未来趋势而变得主动。多亏了AWS提供的各种云基础设施服务和诸如RapidMiner,组织不再需要先进的编程技术就可以在可扩展和持久的环境中快速地分析文本内容了。RapidMiner工具综合了机器学习,文本挖掘和可视化能力。
文本挖掘流程
大多数文本挖掘遵循以下的典型流程:
1.识别和提取待分析的文档。应用结构化的,统计的和语言技术(通常是共同应用)来识别,标识和提取各种成分,例如实体,概念和关系。
2.应用统计学的模式匹配和相似性技术来将文档分类并根据特定的分组或分类组织提取出的特征。潜在的非结构化数据转化为易于分析的结构化数据。分类过程帮助识别含义和各种关系。
3.评估模型的性能。
4.向最终用户呈现分析结果。
下面的流程图说明了这一流程。
典型的文本挖掘流程图
第一行:识别/提取待分析的文本/文档 应用统计的/语言的/结构化技术来分析 推断含义/识别内容/应用词类分析法
第二行:提取概念和模式 应用统计的/机器学习/模式匹配技术 将文档分类,根据分类学组织文档
第三行:识别文本含义和大量文本中各种关系 评估模型性能,检查查准率/查全率/准确性/相关性
向最终用户呈现分析结果
机器学习在文本挖掘中的作用
典型地,文本挖掘技术根据因子(例如术语频率和分布)的统计分析建立一组重要的单词和句子。根据重要性,得分最高的单词和句子典型地表明潜在的观点,感情或一般主题。
作为过程的一部分,现代工具典型地构建一个文档术语矩阵(DTM),使用加权方法,如词频-逆文档频率法(TF-IDF)。这些工具提取并将潜在信息,如标准特征,关键词频率,文档和文本列表特征,以表格的形式存储在数据库中。可以查询这些表格进行系数分析和处理。这些步骤是将机器学习技术应用到文本内容的前导。
文本分析学典型地运用机器学习技术,如聚类,分类,关联规则和预测建模来识别潜在内容中的含义和各种关系。然后使用各种方法处理非机构化数据源中包含的潜在文本。非结构化数据源包括自然语言处理(NLP),语法分析,标记化(明显成分的识别,如单词和N个字尾),词干提取(将单词变体缩减为词干),术语归约(使用同义词和相似度量的小组类术语)和词类标记。这些数据源帮助识别事实和关系。
文本分析另一个关键的方面涉及组织和构建潜在的文本内容。典型的技术包括聚类,编目,分类和归类。很多工具使用的典型的分类方法包括朴素贝叶斯,支持向量机和K最近邻分类算法。
下面的表格包含了常用的文本挖掘技术,包括机器学习和每一种技术的考虑因素。
文本挖掘技术
关键的考虑因素
一旦使用以上的技术对文本进行了处理,分组和分析,评价结果就变得很重要。评估的目的是确定你是否已经找到了最相关的材料或是否你丢失了一些重要术语。你将会使用查准率和查全率和评估结果。
使用AWS服务和RapidMiner进行情感分析
现在让我们看一下你如何使用AWS服务和RapidMiner进行情感分析,这是文本挖掘一个很普遍的应用案例。在情感分析中,你识别积极和消极的观点,情绪和评价,经常使用机器学习技术分析文本内容。使用AWS和RapidMiner,你不用将非结构化数据迁移到另一个环境中就可以使用情感分析这样的技术对存储在S3中的数据直接进行分析。
如下所示,你可以使用RapidMiner创建文本挖掘流程与S3进行集成。S3上的一个对象可能是任何一种文件,也可能是任何一种格式,如文本文件,招聘,或视频。这使得S3在存储文本挖掘和先进的分析学所需的非结构化数据方面变得非常有用。
亚马逊S3服务与其他的亚马逊大数据服务,如Amazon Redshift,Amazon RDS,AmazonDynamoDB, Amazon Kinesis和Amazon EMR,是集成的。这就产生了在AWS中使用RapidMiner开发文本挖掘模型的有趣场景。例如,你可以使用S3服务来存储从这些亚马逊业务中提取的数据,然后使用RapidMiner对这些数据快速构建一个文本挖掘模型。你可以将模型输出的结果存储到你选择的S3桶和区域中并将这些结果和更广泛的最终用户社区分享。
下面的举例使用加利福尼亚大学尔湾分校主办的SMS Spam collection(垃圾短信收集)数据组。SMS Spam collection是由一组为手机垃圾的研究而收集的标签消息组成的。这个数据组综合了垃圾和非垃圾短信(标记为ham)。这一数据组每行一条短信,使用UTF-8编码,以制表符为分隔,构成一个文本文件。
视频演示
下面的视频样本将会向你展示如何使用RapidMiner和S3进行文本挖掘。注意:视频样本没有声音。
开始前,请:
1.下载并安装RapidMiner软件和可从RapidMiner Marketplace获取的RapidMiner Text Processing Extension。你可以将RapidMiner安装在你的本地电脑上。如果你当前的电脑配置不能提供足够的容量,也可以将RapidMiner安装在亚马逊EC2实例上。
2.使用你的AWS证书在RapidMiner配置S3连接信息。要使用S3服务,你需要有一个AWS账户。
3.将文本挖掘案例研究所需输入数据组上传到S3桶中。
从S3中导入和读取数据到RapidMiner
下面的视频将会向你展示如何使用你上传到S3桶中的数据,S3服务和RapidMiner创建一个文本挖掘应用。记住:你必须导入使用UTF-8编码的文件,确定制表符为分隔符以便以正确的格式来处理文件。
视频:从S3中导入和读取数据到RapidMiner
https://s3.amazonaws.com/awsbigdatablog/1-AmazonS3-RapidMiner-Text-Mining-Video.mp4
使用RapidMiner’s Validation运算符
当对不可见的数据运行模型时,你看到的准确性可能低于预期。这是可能的,因为我们使用的方法可能已经学习了它所看到的数据,但是从未针对不可见的数据对该方法进行测试。为了解决这一问题,你可以使用下面的视频中所示的RapidMiner Validation运算符。
视频:使用RapidMiner’s Validation运算符
http://s3.amazonaws.com/awsbigdatablog/2-AmazonS3-RapidMiner-Text-Mining-Video.mp4
在RapidMiner中应用Store运算符
为了将已经学习到的模型应用到新数据,你必须将模型和单词表存储到RapidMiner仓库。你必须存储单词表是因为当你预测一个新消息是垃圾短信还是非垃圾短信的概率时,你不得不使用原来的过程中使用的相同的属性或单词。因此,你需要相同的单词表和模型,需要以你处理正在学习的数据时使用的方式来处理新数据。下面的视频展示了这是如何做到的。
视频:在RapidMiner中应用Store运算符
https://s3.amazonaws.com/awsbigdatablog/3-AmazonS3-RapidMiner-Text-Mining-Video.mp4
将不可见的数据应用到RapidMiner模型
下面的视频展示了如何应用你使用Retrieve运算符为新的不可见数据构建的模型来预测新消息是非垃圾短信还是垃圾短信。
视频:将不可见的数据应用到RapidMiner模型
https://s3.amazonaws.com/awsbigdatablog/4-AmazonS3-RapidMiner-Text-Mining-Video.mp4
使用Write S3运算符存储结果
下面的视频展示了如何在RapidMiner中使用Write S3运算符将输出结果存储到S3桶中,该桶已经在前面的概述中被设置为RapidMiner的一个连接。你可以从特定的S3桶中将输出结果下载到本地,使用文本编辑器查看这些结果。
视频:使用Write S3运算符存储结果
https://s3.amazonaws.com/awsbigdatablog/5-AmazonS3-RapidMiner-Text-Mining-Video.mp4
借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘的更多相关文章
- 亚马逊S3下载上传文件
引用网址: http://www.jxtobo.com/27697.html 下载 CloudBerry Explorer http://www.cloudberrylab.com/download- ...
- 亚马逊s3存储: aws cli上传工具速度和各文件大小关系探究
1,背景介绍 公司最近最近统一了存储环境,由ftp文件存储全量转换为ceph存储.有业务组表示以前往ftp文件批量上传30万个文件1.3GB只需要16分钟左右.切换为ceph存储需要1个多小时,也就是 ...
- 国外物联网平台(1):亚马逊AWS IoT
国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并 ...
- 亚马逊AWS业务副总裁:如何在基础设施上降成本
腾讯科技 林靖东 11月17日编译 亚马逊Amazon Web Services业务的副总裁.著名工程师詹姆斯汉密尔顿(James Hamilton)在AWS re:Invent大会上解释了公司是如何 ...
- Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊
http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...
- 国外物联网平台初探(一) ——亚马逊AWS IoT
平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AW ...
- 亚马逊云科技现身世界人工智能大会,揭示AI最新技术趋势
2022世界人工智能大会(WAIC)于日前落幕.经过过去四届的发展与沉淀,今天的世界人工智能大会已成为人工智能领域最有影响力的国际盛会之一,今年大咖云集.国际大厂扎堆,充分彰显了大会的国际影响力和磁力 ...
- Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传
背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...
- 亚马逊云储存器S3 BCUKET安全性学习笔记
亚马逊云储存器S3 BCUKET安全性学习笔记 Bugs_Bunny CTF – Walk walk CTF 昨天玩了会这个比赛,碰到这题是知识盲点,来记录一下. 先从题目看起吧. http://ww ...
随机推荐
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- .NET Core的日志[1]:采用统一的模式记录日志
记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断框架(相关A ...
- jQuery之Deferred源码剖析
一.前言 大约在夏季,我们谈过ES6的Promise(详见here),其实在ES6前jQuery早就有了Promise,也就是我们所知道的Deferred对象,宗旨当然也和ES6的Promise一样, ...
- Go web开发初探
2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...
- Node.js入门(一)
一.Node.js本质上是js的运行环境. 二.可以解析js代码(没有浏览器安全级的限制): 提供系统级的API:1.文件的读写 2.进程的管理 3.网络通信 三.可以关注的四个网站: 1.https ...
- VS2015墙内创建ionic2
开始学习ionic2,试验各种方法,感觉以下是紧跟rc版本的最佳方案 STEP1 设置cnpm npm install -g cnpm --registry=https://registry.npm. ...
- Struts2框架基础
Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...
- [转载]MVVM模式原理分析及实践
没有找到很好的MVVM模式介绍文章,简单找了一篇,分享一下.MVVM实现了UI\UE设计师(Expression Blend 4设计界面)和软件工程师的合理分工,在SilverLight.WPF.Wi ...