1

我想计算两个字符串出现在设定距离内的文档,彼此相距不超过 10 个单词。让我们说“德国*”和“战争”。我不想计算它们总共出现的次数,而只想计算该集合出现的文档数(如果出现一次,则计为一个)。

我知道如何计算包含单词的文档。但我不确定是否需要提取 10-grams 并查看这两个单词是否出现然后对每个文档进行计数,或者是否有更有效的方法。

4

1 回答 1

1

此后是一个小函数,用于测试文本中两个单词是否接近 100 个字符。

isclose = function(text){
  test <- FALSE
  limit <- 100 # Interval in char counts
  match1 <- gregexpr('war', text)[[1]]
  match2 <- gregexpr('German', text)[[1]]

  for(i in 1:length(match1)){
    for(j in 1:length(match2)){
      if(abs(match1[i]-match2[j]) < limit) test <- TRUE
    }
  }
  return(test)
}

它工作正常,但应该改进以计算字数而不是字符数。

于 2016-08-25T09:59:32.483 回答