0

我正在尝试从关于上个月举行的会议的免费评论样本中绘制二元组。我正在使用以下方法(来自Rweka包):

BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 3))
dtm <- TermDocumentMatrix(modif.corpus.irri.aff(MyComments), 
                          control = list(tokenize = BigramTokenizer)

我的“To-Corpus-format 函数”在哪里modif.corpus.irri.aff()(顺便使用词干文档)。

要显示条形图,代码的结尾是这样的:

dm <- as.matrix(t(dtm))
v <- apply(dm,2,sum)
v <- sort(v, decreasing = TRUE)
v_top <- sort(v[1:nb.terms])
barplot(v_top, horiz=TRUE, cex.names = 0.5, 
        las = 1, col=grey.colors(10), main="title", 
        names.arg = names(v_top))

这很好用,但我想显示“对出现”而不是“二元出现”,因为我想计算比二元表达更多的想法。

只是一个可以确定的例子:我想将“long meeting_”栏与“meeting_ long”栏合并/连接,因为这是相同的想法:会议太长了。是否有处理这种差异的控制参数NgramTokenizer?或者有什么要补充的?

4

1 回答 1

0

好的,我认为标记器按预期做到了:“long meeting_”、“meeting_long”是不同的标记。因此,为了得到你想要的,你可以对二元组进行后期处理(你也有三元组),这样你就可以合并那些单词相同但顺序不同的单词。

或者您可以编写自己的分词器,这并不难,相当简单,在对三元组的每个二元组进行拆分之后,它会进行相同的检查,如果所有单词都相同,则合并这些情况。不过,这并不难。

于 2015-08-11T17:24:03.623 回答