【发布时间】:2016-08-25 08:04:15
【问题描述】:
我想计算两个字符串出现在设定距离内的文档,彼此相距不超过 10 个单词。让我们说“德国*”和“战争”。 我不想计算它们总共出现的次数,而只想计算该集合出现的文档数(如果出现一次,则计为一个)。
我知道如何计算包含单词的文档。但是我不确定是否需要提取 10-grams 并查看这两个单词是否出现然后对每个文档进行计数,或者是否有更有效的方法。
【问题讨论】:
-
文档有多大?我的第一个想法是将列表中的每个文档作为一个字符串保存,然后将所有从德语到战争的 grep 作为正则表达式。然后将结果拆分为单词并计数。
-
它们相当大(最大 500MB)。
-
所以我猜每一行文档都用不同的字符串?然后grep你的关键词。那我猜你的数据会小很多。在此之后,如果字符串彼此靠近,您可以加入它们并计算德语和战争之间的单词。
-
@Melvin 你能分享一些你的数据结构中的文本吗?
标签: r text tm collocation