“电子表格提取”-扩展发布

Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,会员职位:1761年独角兽
2018年11月编辑 知识库

作者:Edwin Yaqub,博士

在本文中,将向您介绍“电子表格提取”-由RapidMiner Research开发的新扩展。本文还提供了如何将此扩展应用到您的分析过程链的演练。

动机:

许多组织都将数据存储在谷歌电子表格中,因为它比离线电子表格解决方案有几个优点。举几个例子:数据的高可用性和基于共享权限的协作便捷性。它与谷歌Drive和谷歌Docs的集成允许从这些来源获取电子表格(也有不同的格式)。

扩展提供了一个“读取谷歌电子表格”操作符,它从谷歌电子表格文档中提取数据,并将其转换为RapidMiner示例集。因此,它将数据挖掘过程的范围扩展到生活文档,可能会定期更新,例如,如果你从多个客户或利益相关者那里收集反馈、销售或任何其他数据。因此,该操作符使您能够随时了解最新数据,不断评估分析模型,并在必要时调整业务决策。

让我们通过一个示例将这些概念引入一个统一的场景,通过该场景,您可以了解RapidMiner的丰富和集成功能。这不仅包括数据,还包括第三方服务。

先决条件:

请通过RapidMiner市场安装以下扩展,以确保您可以复制下面的步骤:

  • Web挖掘扩展
  • 文本处理扩展
  • 电子表格提取扩展

文本分析的统一示例场景(提取、充实、处理、解释):

我们考虑一本书(或另一种产品)的简单案例,仅用于演示目的。一本书的初次亮相可能会因为最初的宣传而引起大量购买,但对于书店、出版商或经销商来说,用户反馈是决定消费者/市场情绪的关键。基于情绪分析的见解可以导致例如,更好的库存管理或创建更好的销售主张。

精华:

我们从亚马逊网站上的顾客对《火星救援》(the Martian)的评论中抽取一部分。在清理数据后,审查文本(不包括排名信息)作为[1]的谷歌电子表格提供。“Read谷歌Spreadsheet”操作符在RapidMiner中读取此表,如下所示
如图1所示。只需为其提供url的电子表格,表名和客户机密文件。

Image1.png

获取客户端机密文件:

由于谷歌电子表格由谷歌API服务器管理,您需要为您的谷歌帐户打开谷歌Sheets API,并获得一个客户端机密(JSON)文件,其中包含您的身份验证凭据。您可以通过以下步骤获取:

  1. 访问谷歌开发人员控制台:'https://console.developers.google.com/flows/enableapi?apiid=sheets.googleapis.com”。
  2. 从列表框中创建或选择项目。这也为项目启用了API。
  3. 转到“凭证”。现在您进入了“向项目添加凭据”页面。单击取消。
  4. 现在选择“OAuth同意屏幕”选项卡。提供电子邮件和产品名称并单击保存。
  5. 现在你在“凭证”标签。单击“创建凭据”列表框按钮,并选择“OAuth客户端ID”。
  6. 从选项列表中,选择“其他”,提供名称并单击创建。
  7. 现在您可以在凭证选项卡下看到您的“OAuth 2.0客户端ID”。点击“下载JSON”链接。这将为您提供客户机密文件。

丰富:

我们已经从谷歌电子表格中提取了数据。现在让我们设定两个分析文本数据的目标:

  • 通过第三方服务了解用户对这本书的情感两极,从而进一步丰富数据。
  • 识别影响极性类的更频繁使用的单词。


为了分析情绪,一种方法是使用字典,如RapidMiner Wordnet字典[3]。我们将使用的另一种方法是使用第三方服务,它已经为整个句子提供了这样的分类。在本例中,我们将使用IBM Watson的自然语言理解(NLU) API——自然语言处理(NLP)技术的最新技术,将数据集中的示例分类为积极的、消极的或中性的。图2显示了实现这一目标的RapidMiner流程。

Image2.png图2 RapidMiner读取谷歌电子表格的过程,通过Webservice调用进行一些过滤和充实
可以看到,我们过滤示例时,审查文本的长度限制在1000个字符。这样我们就有了600个例子。然后我们将这个文本(在属性名' review '下找到)填充到webservice请求的有效载荷中,该请求将使用' Enrich Data by webservice '操作符(来自Web Mining扩展)调用。操作符对提供给它的exampleeset的每个示例进行API调用。要通过API进行身份验证,只需在[4]上创建一个免费用户帐户,就会收到登录凭据。第一次调用时,操作员提示输入用户名和密码,如图3所示。

Image3.png

' Enrich Data by Webservice '操作符的主要参数配置为满足API要求[5],如下所示:

  • 请求方法=,请求属性= Content-Type: application/json
  • 查询类型=正则表达式
  • 属性类型=名义
  • 点的url来[6]
  • 4表示for的值身体参数(作为请求发送的JSON)和正则表达式查询从响应JSON中提取结果。

Image4.png

如图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中相对简单。

Image5.png

完整的过程需要几个步骤,并附在本文中供您参考。

根据文本的不同,标记化可以产生许多属性(尽管进行了修剪)。问题是这些特征中哪一个更重要?重量来拯救!属性的权重给出了它相对于目标属性的重要性标签.有了权重之后,就可以将首选项与属性关联起来。

RapidMiner提供了十几个可以用权重来描述属性的操作符。我们将标签的角色分配给极性属性,并将数据分为两组(一组包含正面示例,另一组包含负面示例)。然后,我们简单地在每个集合上应用“Weight by Value Average”操作符,针对它们的类对属性进行加权。接下来,“按权重选择”操作符可以过滤出权重高于所需阈值(比如0.6)的属性。这为我们提供了最具影响力的属性(就TF-IDF出现频率而言)。在[7]上的一篇社区文章中解释了特性权衡,该文章还涉及了RapidMiner中的特性选择。

解释:

现在我们可以解释文本分析过程的结果了。发现了三个主要的见解。

  1. 总体极性得分:这表明平均正值高于平均负值(+0.5 vs -0.34)。这对作者、出版商和经销商来说都是好事。
  2. 以下是只出现在正面评论中的有影响力的词汇:

伟大的,享受的,爱的,推荐的,制作的,小说的,生存的,read_book, book_read,标记,科幻的

请注意像read_book和science_fiction这样的组合,由2-Gram - n-Gram捕获。同样,只与负面评论相关的有影响力的词汇有:

火星,灾难,细节,技术,页面,小说,情节,知道,发现,完成,工作,写作,电影,堰

有点棘手的是重叠的词,即那些同时出现在正面和负面评论中的词。这些是:“好,时间,作者,兴趣”。分析这些的一种方法是观察它们的TF-IDF值在数据中的分布,如图6中的单词“时间”和“作者”所示。

Image6.png

  1. 基于平均值的实体分析显示,在223条评论(相当小的数据集)中,168条评论谈论了一些实体,并将某种情感与它们联系起来,如下表所示:

Image7.png

除了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

标记:
Telcontar120 pschlunder daniel_acosta

评论

  • StupidForumName_12StupidForumName_12 成员职位:1新手
    如果能有更多的线索,那就太好了,因为它不会连接-“检索表失败”并不能提供最多的线索。
    也许更多的信息如何获得url,如何获得json凭据(谷歌是相当复杂的这一点),也许有一些代码在表名(也许一个选项列出表名将有助于),
    谁知道我为什么看不懂我的?(平均来说,它是许可的——在云计算中,90%的时间都是许可的……,但适当的信息会有所帮助)
登录注册置评。