首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RWeka中实现备份令牌交换机?

如何在RWeka中实现备份令牌交换机?
EN

Stack Overflow用户
提问于 2016-06-10 14:37:22
回答 1查看 180关注 0票数 1

我正在使用R Rweka包来做一些文本挖掘。而不是建立一个tf-tdm单词,这是不够的,我的目的,我必须提取纳克。我使用了@Ben函数TrigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 3)) tdm <- TermDocumentMatrix(a, control = list(tokenize = TrigramTokenizer))

提取三角图。输出有一个明显的错误,见下文。它收集了4个、3个和2个单词的短语。理想情况下,它应该只取4字名词短语,并放弃(3-和2-字)rest。如何强制这个解决方案,就像Python有一个备份令牌程序选项一样?

抽象策略->this is incorrect>

抽象策略板->incorrect

抽象策略棋盘游戏-> this should be the correct output

埃森哲高管

埃森哲执行简单

埃森哲高管简单评论

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 15:08:48

我认为你对你所做的尝试非常接近。不过,您必须明白,您告诉Weka要做的是捕获2克和3克的标记;这就是如何指定Weka_control的。

相反,我建议在不同的令牌器中使用不同的令牌大小,并根据您的偏好或决策规则选择或合并结果。

我认为有必要在n克字云上查看这个伟大的教程

用于n克文本挖掘的实心代码片段是:

代码语言:javascript
复制
# QuadgramTokenizer ####
QuadgramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 4, max = 4)

四克,

代码语言:javascript
复制
# TrigramTokenizer ####
TrigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 3, max = 3)

3克,当然还有

代码语言:javascript
复制
# BigramTokenizer ####
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2)

两克。

您可以通过像这样分别运行不同的克大小来避免先前的问题,而不是将Weka_control设置为一个范围。

您可以像这样应用令牌程序:

代码语言:javascript
复制
tdm.ng <- TermDocumentMatrix(ds5.1g, control = list(tokenize = BigramTokenizer))
dtm.ng <- DocumentTermMatrix(ds5.1g, control = list(tokenize = BigramTokenizer))

如果你仍然有问题,请提供一个可复制的例子,我会跟进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37750951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档