“电子表格提取”-扩展发布
作者:Edwin Yaqub,博士
在本文中,将向您介绍“电子表格提取”-由RapidMiner Research开发的新扩展。本文还提供了如何将此扩展应用到您的分析过程链的演练。
动机:
许多组织都将数据存储在谷歌电子表格中,因为它比离线电子表格解决方案有几个优点。举几个例子:数据的高可用性和基于共享权限的协作便捷性。它与谷歌Drive和谷歌Docs的集成允许从这些来源获取电子表格(也有不同的格式)。
扩展提供了一个“读取谷歌电子表格”操作符,它从谷歌电子表格文档中提取数据,并将其转换为RapidMiner示例集。因此,它将数据挖掘过程的范围扩展到生活文档,可能会定期更新,例如,如果你从多个客户或利益相关者那里收集反馈、销售或任何其他数据。因此,该操作符使您能够随时了解最新数据,不断评估分析模型,并在必要时调整业务决策。
让我们通过一个示例将这些概念引入一个统一的场景,通过该场景,您可以了解RapidMiner的丰富和集成功能。这不仅包括数据,还包括第三方服务。
先决条件:
请通过RapidMiner市场安装以下扩展,以确保您可以复制下面的步骤:
- Web挖掘扩展
- 文本处理扩展
- 电子表格提取扩展
文本分析的统一示例场景(提取、充实、处理、解释):
我们考虑一本书(或另一种产品)的简单案例,仅用于演示目的。一本书的初次亮相可能会因为最初的宣传而引起大量购买,但对于书店、出版商或经销商来说,用户反馈是决定消费者/市场情绪的关键。基于情绪分析的见解可以导致例如,更好的库存管理或创建更好的销售主张。
精华:
我们从亚马逊网站上的顾客对《火星救援》(the Martian)的评论中抽取一部分。在清理数据后,审查文本(不包括排名信息)作为[1]的谷歌电子表格提供。“Read谷歌Spreadsheet”操作符在RapidMiner中读取此表,如下所示
如图1所示。只需为其提供url的电子表格,表名和客户机密文件。
获取客户端机密文件:
由于谷歌电子表格由谷歌API服务器管理,您需要为您的谷歌帐户打开谷歌Sheets API,并获得一个客户端机密(JSON)文件,其中包含您的身份验证凭据。您可以通过以下步骤获取:
- 访问谷歌开发人员控制台:'https://console.developers.google.com/flows/enableapi?apiid=sheets.googleapis.com”。
- 从列表框中创建或选择项目。这也为项目启用了API。
- 转到“凭证”。现在您进入了“向项目添加凭据”页面。单击取消。
- 现在选择“OAuth同意屏幕”选项卡。提供电子邮件和产品名称并单击保存。
- 现在你在“凭证”标签。单击“创建凭据”列表框按钮,并选择“OAuth客户端ID”。
- 从选项列表中,选择“其他”,提供名称并单击创建。
- 现在您可以在凭证选项卡下看到您的“OAuth 2.0客户端ID”。点击“下载JSON”链接。这将为您提供客户机密文件。
丰富:
我们已经从谷歌电子表格中提取了数据。现在让我们设定两个分析文本数据的目标:
- 通过第三方服务了解用户对这本书的情感两极,从而进一步丰富数据。
- 识别影响极性类的更频繁使用的单词。
为了分析情绪,一种方法是使用字典,如RapidMiner Wordnet字典[3]。我们将使用的另一种方法是使用第三方服务,它已经为整个句子提供了这样的分类。在本例中,我们将使用IBM Watson的自然语言理解(NLU) API——自然语言处理(NLP)技术的最新技术,将数据集中的示例分类为积极的、消极的或中性的。图2显示了实现这一目标的RapidMiner流程。
图2 RapidMiner读取谷歌电子表格的过程,通过Webservice调用进行一些过滤和充实
可以看到,我们过滤示例时,审查文本的长度限制在1000个字符。这样我们就有了600个例子。然后我们将这个文本(在属性名' review '下找到)填充到webservice请求的有效载荷中,该请求将使用' Enrich Data by webservice '操作符(来自Web Mining扩展)调用。操作符对提供给它的exampleeset的每个示例进行API调用。要通过API进行身份验证,只需在[4]上创建一个免费用户帐户,就会收到登录凭据。第一次调用时,操作员提示输入用户名和密码,如图3所示。
' Enrich Data by Webservice '操作符的主要参数配置为满足API要求[5],如下所示:
- 请求方法=,请求属性= Content-Type: application/json
- 查询类型=正则表达式
- 属性类型=名义
- 点的url来[6]
- 4表示for的值身体参数(作为请求发送的JSON)和正则表达式查询从响应JSON中提取结果。
如图4所示,我们向Watson询问了几个特征:
- 从文档中评估的情绪(极性和分数),即文本块(我们的' review '属性的值)。想想我们人类是如何分享经验的某物在美国,我们经常根据印象谈论一个物体、一个地方或一个人。这些信息可以帮助我们了解客户评论的背景。像其他一些系统[8,9]一样,沃森也可以从文本中提取实体,如人、数量、组织、电影、地点、公司、广播公司、职位等。
- 此外,我们还可以评估与实体相关的情绪(分数在[0,1]之间),如厌恶、喜悦、悲伤、恐惧或愤怒。
通过这种方式,我们使用外部系统丰富了我们的数据集。这说明了基于API的系统可以非常方便地利用,并与我们的RapidMiner进程挂钩,以开发良好的集成准服务驱动的数据挖掘工作流-所有在RapidMiner工作室!
其他高级功能也可以从Watson查询,但我们的免费帐户在每天API调用、有效载荷大小(这就是为什么我们之前使用了有限长度的评论)和要求的功能数量方面是有限的——所有收费项目都需要仔细考虑。
过程:
到目前为止,我们已经通过第三方情感分类服务丰富了数据。该数据集可在[2]上获得,供您参考。尚待确定的是对这些类别标签影响最大的单词。我们将使用特征权重来确定这一点,但在此之前,我们准备了一个无偏倚的数据集,其中包括等量的积极和消极评论。这给了我们一个精简的304个例子的数据集,其中152个是积极的和消极的,而忽略了中性的,因为它们不那么有区别,因此不那么有趣。
接下来,我们使用Text Processing扩展在' Process Documents from Data '操作符中构建一个标准操作符链,如图5所示。使用TF-IDF进行词向量创建和修剪方法,以查看对属性(标记)数量的影响。您将注意到范围[3.0,30.0]中的百分比修剪已经将属性从10633减少到223,对结果没有负面影响,但由于处理复杂性,进程的执行速度有显著差异。子进程执行标记化,过滤出小于或大于特定长度的标记以及停止词,因为这些没有带来任何值,更改情况,应用词干,因此相似的起源词被认为是相关的,最后我们将n-Grams应用为2-Grams。后者有助于分析使用形容词偏斜的写作风格,如brilliant plot, excellent book等。这种复杂的处理在RapidMiner中相对简单。
完整的过程需要几个步骤,并附在本文中供您参考。
根据文本的不同,标记化可以产生许多属性(尽管进行了修剪)。问题是这些特征中哪一个更重要?重量来拯救!属性的权重给出了它相对于目标属性的重要性标签.有了权重之后,就可以将首选项与属性关联起来。
RapidMiner提供了十几个可以用权重来描述属性的操作符。我们将标签的角色分配给极性属性,并将数据分为两组(一组包含正面示例,另一组包含负面示例)。然后,我们简单地在每个集合上应用“Weight by Value Average”操作符,针对它们的类对属性进行加权。接下来,“按权重选择”操作符可以过滤出权重高于所需阈值(比如0.6)的属性。这为我们提供了最具影响力的属性(就TF-IDF出现频率而言)。在[7]上的一篇社区文章中解释了特性权衡,该文章还涉及了RapidMiner中的特性选择。
解释:
现在我们可以解释文本分析过程的结果了。发现了三个主要的见解。
- 总体极性得分:这表明平均正值高于平均负值(+0.5 vs -0.34)。这对作者、出版商和经销商来说都是好事。
- 以下是只出现在正面评论中的有影响力的词汇:
伟大的,享受的,爱的,推荐的,制作的,小说的,生存的,read_book, book_read,标记,科幻的 |
请注意像read_book和science_fiction这样的组合,由2-Gram - n-Gram捕获。同样,只与负面评论相关的有影响力的词汇有:
火星,灾难,细节,技术,页面,小说,情节,知道,发现,完成,工作,写作,电影,堰 |
有点棘手的是重叠的词,即那些同时出现在正面和负面评论中的词。这些是:“好,时间,作者,兴趣”。分析这些的一种方法是观察它们的TF-IDF值在数据中的分布,如图6中的单词“时间”和“作者”所示。
- 基于平均值的实体分析显示,在223条评论(相当小的数据集)中,168条评论谈论了一些实体,并将某种情感与它们联系起来,如下表所示:
除了Quantity实体,Watson似乎对它检测到的实体相当有信心(相关性> 0.8)。实体Person排名第一,与之相关的最强情绪是悲伤(值> 0.3)。实体名称的连接(如最后一列所示)提供了该方向的线索。
结论:
在本文中,您了解了在RapidMiner中将谷歌电子表格读取为示例集的新扩展。以此为出发点,提出了一个更全面的方案。我们通过第三方API逐渐从数据提取转向数据丰富。然后,我们使用RapidMiner的开箱即用功能进行文本分析。最后,我们看到了亚马逊网站的用户是如何评价《火星救援》这本书的。我们有限的数据集是作为一种教育练习,当然不是为了以任何方式影响图书销售或市场观点。
应答:
电子表格提取扩展是作为“数据挖掘(DS4DM)的数据搜索”项目的一部分开发的(网站:http://ds4dm.com),由德国教育与研究部(BMBF)赞助。
引用:
[1]一个样本谷歌电子表格,表名“火星人”,网址:https://docs.google.com/spreadsheets/d/1vRJi3Ur3w6-9WhOa0G-vJ6GR4-RWGiBCwrQok5ILsow/edit#gid=1779829764
[2]一个样本谷歌电子表格,表名“情绪”,网址:https://docs.google.com/spreadsheets/d/1vRJi3Ur3w6-9WhOa0G-vJ6GR4-RWGiBCwrQok5ILsow/edit#gid=1445561426
[3] RapidMiner社区文章,情感分析用Wordnet词典,网址:http://community.www.turtlecreekpls.com/t5/Text-Analytics-in-RapidMiner/Sentiment-Analysis-using-Wordnet-Dictionary/ta-p/31664
[4] IBM API帐户,weblink:https://myibm.ibm.com/dashboard/
[5] IBM NLU API参考,网址:https://www.ibm.com/watson/developercloud/natural-language-understanding/api/v1/#sentiment
[6] IBM NLU API端点参考,web blink:https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2017-02-27
[7] RapidMiner社区文章,特征加权教程,网址:http://community.www.turtlecreekpls.com/t5/RapidMiner-Studio-Knowledge-Base/Feature-Weighting-Tutorial/ta-p/35281
[8]玫瑰扩展的RapidMiner, weblink:https://marketplace.www.turtlecreekpls.com/UpdateServer/faces/download.xhtml?productId=rmx_rosette_text_toolkit&platform=ANY&version=1.3.1
[9] Aylien扩展RapidMiner, weblink:https://marketplace.www.turtlecreekpls.com/UpdateServer/faces/download.xhtml?productId=rmx_com.aylien.textapi.rapidminer&platform=ANY&version=0.2.0
评论