使用Rapidminer计算词频
bhupendra_patil
管理员、员工、会员职位:168RM数据科学家
本文讨论了一个在非结构化文本挖掘中查找词频的示例过程。
构建这样的流程所需的基本操作符是
- 一些数据源(在本例中我们使用Twitter,单击在这里查看如何使用twitter的详细信息)
- 标称文本”。这是为了更改流程文档操作符要处理的数据类型。请注意,文本挖掘扩展只处理“Text”数据类型列。
- “Process Documents…”操作符之一,这取决于您的数据源是什么。
- 标记化(将文档拆分为标记序列)
请参见“基本词频”。Rmp”文件附在本文中,以查看工作示例
您的过程看起来像
在流程内部,来自数据的文档看起来像
它的输出是这样的。(请注意,对于完全相同的过程,您的单词可能会出现不同,因为它实际上是获取twitter数据。词频或WordList输出通过“从数据中处理文档”操作符的“word”端口传递。
总发生次数-告诉你这个词在所有例子中出现了多少次。
文档事件-告诉您该单词在单个文档中出现的次数。
正如您将在输出中注意到的那样,有几个不需要的单词,或者由于大小写不同而将相同的单词处理为两个不同的单词,或者存在您不关心的常见英语单词或您可能不感兴趣的某些特定单词。然后,可以通过丰富“从数据处理文档”中采取的步骤来处理所有这些情况。改进后的“来自数据的过程文件”子过程可能如下所示
下面是使用这些操作符的原因
- 过滤停词(英文):此操作符删除常见的英语单词,如a, and, then..
- 变换情况下:基本上把所有东西都转换成一个大小写,即小写或大写
- 过滤令牌(按长度):删除短于或长于配置字符数的单词
- 过滤停止词(字典):该操作符提供删除某些单词的功能。该列表可以由一个简单的文本文件提供,其中每个单词在新行中被忽略。请参阅附带的示例文件
4
评论
这个方法很有帮助。你能告诉我如何过滤事件的总数吗?
例如:我想删除文档中只出现一次的单词和短语。(或两次,或十次)所以我只在我的列表中得到高频单词。这将极大地有助于拥有一个更易于管理的示例列表。
谢谢!
亲爱的杰森,
这叫做修剪。如果您查看Process Documents操作符的选项,您可以看到一些方法。
最好的
马丁
德国多特蒙德
非常有帮助,解释得很好。
我想知道我是否也可以获得多词出现。也就是说,如果“超级”这个词总是跟在“碗”后面,我也想在我的列表中获得“超级碗”这个词的出现次数。在我的数据中经常重复的其他常见表达也是如此,例如“nice job”或“well done”。
提前感谢。
亲爱的耶稣,
这叫做n-gram。如果你在变换后加上n元运算符你也会得到这些组合。长度为2的组合称为2g,用_分隔。
最好的
马丁
德国多特蒙德
你好,
我目前正在使用Rapidminer Studio的免费版本进行研究项目,并试图复制此过程。我的问题是,当我搜索“从数据处理文档”操作符时,没有结果。我想知道我是否需要更新Rapidminer或购买这个特定的运营商。请尽快让我知道
最好的
贝尔纳多