扬声器
|
成绩单
|
| 斯科特怀斯 |
调查性文本探索。 我叫 Scott Wise,是 JMP 教育团队的高级经理。 |
| |
今天我有一个非常有趣的演示文稿供我们观看,这个演示文稿的目标是让您更加熟悉 |
| |
借助这些功能以及在 JMP 和 JMP Pro 中进行文本探索是多么容易,以及向您展示看待文本探索的不同方式,例如,我可以像侦探一样进行调查吗? |
| |
好的,所以我们要谈谈我奶奶的辣椒以及它与德克萨斯辣椒烹饪的关系。 在我们开始之前, |
| |
让我们揭穿一些关于文本挖掘的术语,对我来说,真的有五个简单的步骤。 您花时间从字面上总结数据,找出文本中最常出现的单词,甚至最常出现的单词组合。 |
| |
所以 ???将其称为查看非结构化文本,然后再调用它,这可能是任何东西。 这可能是您的客户给您的关于您的产品或服务性能的句子。 它可能是... |
| |
它可能是社交媒体,对,你知道你可以根据评论找出人们喜欢或不喜欢什么, |
| |
关于你的产品或服务的东西,或者可能是这个人,比如食谱。 |
| |
当人们正在研究人们正在申请专利的流行事物以及我们是否应该这样做时,我什至看到它在专利方面进行过。 |
| |
所以真的,总结找出哪些词是最重要的。 现在有一些准备工作即将到来,这只是减少您关心的单词的较小列表。 |
| |
如果我们不对其进行可视化和分析,当然我们也不会成为 JMP,我们也可以对其进行建模。 我们甚至可以做一些高级建模。 所以我将使用 JMP Pro 15.1 版来执行此操作, |
| |
我一定会指出你可以在 JMP 中做什么,以及我实际上在哪里投入了一点 Pro 来帮助进一步回答我的问题。 |
| |
文档、语料库和术语。 文件将是那些... |
| |
你正在分析的那些东西,基本上是单独的文本正文,文本的每一行。 所以这是我的食谱作为我的例子。 |
| |
可能是不同的客户对您的产品或服务发表了评论。 语料库实际上是您要处理的非结构化文本,是您要分析的文本的主体。 |
| |
然后这些术语将是您关心的可以帮助您回答问题的那些单词或单词组合。 那么让我们谈谈这个故事。 你知道,我为什么要研究辣椒食谱? 好吧,这又回到了 |
| |
大约 25 年前,当我第一次搬到德克萨斯州时,我来到一家大公司工作,就像德克萨斯州的大多数大公司一样,他们有一个很大的德克萨斯辣椒厨师。 |
| |
我被邀请参加。 每个人都参加了。 但我也被要求做更多的事情,我被要求成为一名法官。 |
| |
所以我应该拒绝法官。 我认为这对新人来说是一种荣誉,但我认为我是他们唯一可以给予的人,我发现了原因。 |
| |
不过还是先说一下我带来的辣椒的反应吧。 所以我有我家人一直用的辣椒食谱,它来自我的祖母,莉莲奶奶。 |
| |
这不是辣椒。 这不是德克萨斯人认为的辣椒。 |
| |
现在好消息是我必须带回家,因为我喜欢吃。 他们考虑了辣椒以外的其他东西。 他们的辣椒里面没有豆子。 他们的辣椒不是很丰盛。 它很热,很浓。 |
| |
我的有牛肉。 他们的主要是猪肉。 他们全都进去了。 这是让我陷入困境的另一件事。 他们不仅不喜欢我奶奶的辣椒,我差点没能通过评判 |
| |
因为真正的德克萨斯人真正的荣誉徽章是制作最辣的一碗辣椒。 所以你想打败你的邻居。 你想打败你的同事。 所以他们把各种不敬虔的辣椒和香料扔在这里。 |
| |
我只是想,几乎要把我的肚子挖个洞,只是想尝尝它,而你却喝了这么多牛奶,试图把热量散发出去。 所以 |
| |
这是火的洗礼。 所以我的建议是,除非你喜欢热度,否则不要作为评委进入,对吧。 不是一个好主意。 但我想放置;这一直困扰着我。 |
| |
什么,为什么我奶奶的辣椒做得不好? 真的有不同类型的辣椒吗? 他们来自哪里? |
| |
事实证明,辣椒有一段非常酷的历史。 你可以看到一些非常酷的历史博客和论文,它很可能来自 |
| |
中美洲,主要是墨西哥。 还有一些清淡的菜肴,但在圣安东尼奥,第一次观察到在该州出售,我们现在知道它是辣椒, |
| |
在阿拉莫旁边的旧圣安东尼奥广场上。 它被用于养牛场并开始流行起来,然后它在美国中部一直向上延伸到中西部。 |
| |
有人告诉我,你知道,在圣路易斯世界博览会上创造了许多食品创新,你知道,当它们被展示时,它们真的很受欢迎,这就是其中之一。 辣椒进入了 |
| |
圣路易斯世界博览会,它真的很受欢迎。 |
| |
所以有不同的品种。 所以我的想法是如果我……我可以对成分和食谱进行文本探索吗? 把整个食谱倒进去,看看会发生什么。 |
| |
我想将它与什么进行比较? 所以我查了一下传统的地区是什么;我们有几个,从德克萨斯一直到密歇根。 |
| |
所以在德克萨斯,我们有不同的品种。 德州碗红是我品尝的那个。 那是辣椒酱。 一个 |
| |
Frito pie 是您在足球比赛中会得到的东西,但非常受欢迎,路易斯安那州有自己的版本。 新墨西哥州有绿辣椒和鸡肉,有自己的版本。 俄克拉荷马州、堪萨斯城、斯普林菲尔德、 |
| |
伊利诺伊州辛辛那提的天际线辣椒嘿把它放在意大利面上。 密歇根州。 康尼岛,热狗,你知道,他们放在那里的辣椒酱是严重的辣椒。 |
| |
白辣椒,不知从何而来。 素食辣椒。 但是现在有很多款式。 |
| |
所以我说,如果我从每种风格中取三个食谱,然后比较它来控制我奶奶的辣椒,我能找到我想要的吗? |
| |
所以我们要这样做,我要向你展示,当我走过这些步骤时,我会向你展示这些步骤的摘要,然后我会紧随其后,向你展示我是如何做到的在 JMP 中。 |
| |
第一步是汇总数据。 我们想找到我们关心的那些词。 |
| |
现在当你进入时会发生什么 |
| |
任何文本分析,文本数据,比如我的成分,进入文本浏览器,它将通过一个库运行它 |
| |
正则表达式,想想像常规这样的词,只是日常谈话的一部分。 |
| |
他们并没有那么有帮助。 如果我的列表中有“the”和“and”,这将无济于事。 因此,它试图帮助提取您不关心的单词。 是的,它可以定制。 |
| |
它已经内置了一个非常强大的功能,这就是我使用的。 然后是词干。 词干是你去的地方 |
| |
说出你想如何对待单词 - 所以“骰子”是“骰子”,“骰子”,你有复数,不同......不同...... |
| |
不同版本的词根。 你想把它全部计算在词根中还是你想把它分开? 所以这是一个考虑因素。 |
| |
然后在我们总结之后。 让我得到这些话。 你可以看到我这里有一个单词的小列表。 后面的是未编辑的,然后是前面的 |
| |
实际上是我们已经完成并缩小了该单词列表的一个地方。 所以你要做的是,你寻找你不关心的词,你称之为停用词,基本上说,删除这些。 将它们添加回我不关心的事物库中。 |
| |
您还可以引入真正重要的短语。 一旦你有了这些,我们将能够可视化一些。 |
| |
我们将能够看到,就我而言,我对成分非常感兴趣。 因此,我们将能够看到最常出现的成分。 |
| |
而且你经常在这里看到词云,词云,你知道,词越大,频率越高。 |
| |
你可以在云中查看它,就像...只是一个零星的布局,或者你可以查看一个订单,你知道,第一件事就是最大的单词。 这就像 |
| |
幻灯片前面的图表。 在那之后,我们将用它做一些事情。 因此我们可以创建一些基本模型。 |
| |
最简单的方法之一是,一旦我们知道我们关心列表中的哪些词, |
| |
我们可以将其添加回我们的数据表。 这称为保存文档术语矩阵。 在这种情况下,一个简单的方法就是二进制文件。 所以我在这里有一个单独的专栏,你可以在我的右边看到,在哪里 |
| |
“洋葱”有一排,你知道,食谱。 如果不是,则为零,因此您可以在列中获取零和一。 你可以看到什么是最重要的。 |
| |
很多时候你试图为类似的东西建模,如果我被卡住了, |
| |
也许我有这个判断分数,我可以说,嗯,这是一个与每个食谱相关的数字分数。 我想看看是什么成分 |
| |
是常见的,导致高分。 这可能是我正在做的事情,所以试着做一些更具预测性的事情。 |
| |
但在这种情况下,我会考虑分组。 我真的很喜欢分组,有点像食谱在一起,看看我奶奶的辣椒落在哪里。 因此,我将向您展示我们将如何做到这一点。 但是,让我们首先转到 JMP,向您展示我们如何在 JMP 中执行这些步骤。 |
| |
所以这是我的原始数据。 |
| |
在这里的每个文档中,每一行都是......得到我的非结构化文本,在我的情况下,它只是原始成分。 |
| |
如果我单击此处的任何一个单元格,您可以看到它实际上是复制的成分。 所以有一个......来自路易斯安那州的 Cajun 辣椒的第一个。 |
| |
它有我关心的词,比如“番茄”、“辣椒粉”和“蜂蜜”。 它有一些我不关心的词,比如“可以”。 |
| |
这可能是我不太关心的成分度量,比如“一”、“两磅”、“茶匙”。 那么我们将如何处理这个问题呢? 所以我们要做什么 |
| |
是我们要去分析,我们要去文本资源管理器,我们只是要把这些成分放在文本列中。 |
| |
我将询问词干,如何为所有术语进行词干。 我觉得这很有帮助。 然后我将使用内置的正则表达式。 |
| |
我说好的,现在这是我的初始清单。 |
| |
所以我现在能做的就是我可以去选择那些我不关心的东西。 我不在乎数字。 所以也许我可以进入这里并突出显示它们,右键单击并说添加一个停用词,然后它会被添加到我不关心的事物列表中。 |
| |
“辣椒粉”呢? 这听起来像是需要独立存在的东西。 所以我要右键单击该短语。 我要说添加短语,它会将其添加进去。 |
| |
所以你去,你这样做,直到你得到一个精简的缩小列表。 |
| |
我只是要运行我的 |
| |
我的完成清单由它。 这是从正则表达式中找到的所有单词,还有 |
| |
我添加的东西 |
| |
和停用词。 现在,这是我完成的术语和短语列表。 所以我添加了这些短语。 我很在乎。 所以“洋葱”排名最高,然后是“盐”,然后是“孜然”,然后是“辣椒粉”。 |
| |
你可以猜到,这将是非常好的可视化,我们确实有一个词云。 所以这里是这个词中所有东西的词云。 再次在这里我的红色三角形选项下,我可以将其更改为订单,以使其更清晰。 |
| |
如果我保持它居中,那会很有趣。 您知道您可以为数据添加过滤器,您可以做的是,有时您可以直观地找到答案,而无需执行任何其他操作。 所以在那种情况下,我要深入到我的 |
| |
红色三角形。 我将获得一个本地数据过滤器。 我只是看看类型,我会说,好吧,让我们看看 |
| |
莉莲奶奶的辣椒是什么样子的,你知道“西红柿”、“芸豆”和“牛肉”之类的东西。 那与卡津辣椒相比如何? |
| |
好吧,他们分享了辣椒粉和牛肉,但是,你知道,那里可能有一些不同的东西。 你知道,和辣椒相比, |
| |
你知道,这更像是青辣椒,你知道的。 他们那里有生辣椒和墨西哥胡椒,鸡汤,所有那种东西,鸡汤。 |
| |
所以这真的很有趣,但可能不足以让我弄清楚发生了什么。 所以我确实去了 |
| |
(这是另一个……你的红色三角形下面有所有选项)我确实去确保(我可能需要在这里确保)我关闭了本地数据过滤器,确保所有选项都被选中,我正在查看我的所有条款。 |
| |
我这里有299。 我要右键单击并说“保存文档术语矩阵”。 |
| |
当我这样做的时候,它问我想用什么样的方式保存它,with with with with weights,什么样的权重。 它基本上是二进制的,有我可以使用的频率,有多少项,你知道的,实际在数据表中占有一席之地的最小词频。 我已经这样做了。 |
| |
所以如果我滑过去看... |
| |
其实 |
| |
我会继续这样做并向您展示它的外观。 所以我只会说“保存文档术语矩阵”并说“好的”。 |
| |
现在,正如我在幻灯片上向您展示的那样,现在我得到了我关心的所有术语。 第一个是“洋葱”。 这是“辣椒粉”的一个,因为它与它们各自有关 |
| |
食谱,你知道的,行。 |
| |
所以我知道哪里有,我知道这个卡津辣椒有辣椒粉。 |
| |
零的时候, |
| |
这里的这个看起来像俄克拉荷马辣椒与否,对不起,新墨西哥辣椒没有辣椒粉,所以就是这样,这就是它的工作原理。 这可以用于建模。 因此,您可以转到分析 JMP 中的拟合模型并采取...并将其实际应用于某种类型的模型。 |
| |
但我要做的是,因为我并不是真的想预测,你知道,什么成分会给我更高的分数。 我没有任何喜欢,你知道, |
| |
你知道这里的输出数据。 我真的很想将它们组合在一起,我听说在 JMP Pro 中,我实际上可以做到这一点。 所以我要回到这里的幻灯片。 |
| |
我要谈谈分析数据。 所以做进一步的分析 |
| |
在 JMP Pro 中,它使您能够做一些非常好的分组技术,这些是多变量方法,它们专门用于处理文本分析和处理这些文档术语矩阵是关于文本的。 |
| |
它使用了一种叫做潜在类分析的东西。 这是条款之一。 如果您习惯使用该技术,这类似于主要组件。 但基本上它会 |
| |
问我们要查看多少组或数据集群。 它将穿越那个多维空间 |
| |
在这些列中的所有内容与此处模型中重要术语的文档术语矩阵之间,我们得到的重要术语 |
| |
单词表,对吧? 它会将它们分组。 就我而言,我能够将其归结为三组。 |
| |
所以有一个集群,里面似乎有很多辣椒食谱,有碎牛肉、番茄酱、辣椒粉和豆类。 |
| |
有一个集群二,和鸡肉和青辣椒有很大关系,这里的生辣椒。 |
| |
然后是第三组,里面又放了很多辣椒,但它们更多的是红辣椒,而且它们是以猪肉为基础的,这很有意义。 |
| |
好的,所以当我创建这些集群时,我能够逐行使用集群概率,这让我知道这些个体有多强大 |
| |
食谱,我文档中的行,对,这些原始的……我的控制食谱,它们落在哪里以及它们的强度如何。 为什么我将它们分配到任何集群中? 当我这样做时, |
| |
22是我奶奶的集群……是我奶奶的控制。 我发现她和其他一些食谱一起聚集在第一组,包括来自密苏里州堪萨斯城的那些。 |
| |
24 号有一个非常接近。 现在德克萨斯州第三组的食谱,他们有辣椒,香料……里面有很多香料,而且通常是猪肉,没有豆子,对吧? 豆类出现在第一组中,但没有出现在第三组中,然后...... |
| |
集群二 |
| |
更多是为了,你知道,更多是为了青辣椒, |
| |
更多的是你在新墨西哥州看到的那些东西,你知道,鸡肉辣椒,绿辣椒的东西。 |
| |
好吧,所以发生的事情是我能够做到这一点,我找到了一个食谱。 也是密苏里州的三个代表之一 |
| |
那实际上叫做堪萨斯城辣椒,它几乎完全匹配莉莲奶奶的辣椒。 |
| |
所以当我问我妈妈这件事时,我说,“好吧,为什么会发生这种情况。 我不认为它来自密苏里州。” 她说,“这一切都说得通。” 她说:“莉莲奶奶, |
| |
她在密苏里州圣约瑟夫的一个农场长大,她是唯一的女孩,有 11 到 12 个兄弟。 所以她做了很多菜。” |
| |
顺便说一句,她是唯一一个接受过大学教育的人,所以在她生活的那段时间里她是相当进步的,并且是我最喜欢的亲戚之一,但她的食谱很能说明这一点。 因此,让我们向您展示现场直播的样子。 |
| |
所以如果我去... |
| |
在此刻, |
| |
我回到我制作的数据,在那个热点下,我将询问 JMP Pro 可以提供的这些额外模型。 有一个潜在的类分析使用该方法对文档进行聚类, |
| |
基于二进制方式来记录术语矩阵。 所以它确实使用了一个文档......确实使用了那个文档术语矩阵,是的,所以你甚至不必保存它,它会自动生成它。 |
| |
还有一个潜在的语义分析,它确实......它做了更多的数学,更高级的方法,但它们基本上都在做同样的事情,我特别喜欢这种潜在的类分析。 所以这是我选择的。 |
| |
我要了三个集群,你可以用它来看看它是否有所作为。 我确实尝试了更多的集群,我又回到了三个。 |
| |
并且在其范围内 |
| |
选项,您可以按行查看集群概率。 |
| |
在所有输出中,这是最有意义的输出。 所以请记住,回到我的幻灯片,这有助于我查看我奶奶的辣椒掉在哪里, |
| |
那是22岁, |
| |
第 22 行。 然后它还与什么结合得很好。 这就是我能够进行这种分析的方式。 |
| |
就是这么简单。 |
| |
所以, |
| |
这是对在 JMP 中进行 JMP 文本探索的能力以及如何使用 JMP Pro 和 |
| |
找到这些串并放置我奶奶的辣椒并找到匹配的食谱。 所以如果你渴望更多,我有一个博客链接 |
| |
在演示文稿中,您可以...您可以点击或直接进入社区,您只需输入“奶奶的辣椒”,您就可以找到该博客。 我也会给你,我们也会给你 |
| |
食谱。 所以你也可以做莉莲奶奶的辣椒。 |
| |
因此,我们很高兴今天能够向您展示这一点。 |
| |
请务必在我们可以回答的问答中留下任何问题。 试试这个,试试看 |
| |
你在工作中,在家里,在任何有一些非结构化文本数据的地方,在你想探索和提出问题的地方,你会发现这是一种非常棒的方法,非常强大,真的可以帮助你解决这个问题数据的第三维。 |