【发布时间】:2013-11-06 11:16:12
【问题描述】:
我正在考虑编写一个程序来为我收集大量文本中最常见的短语。如果将问题简化为仅查找单词,那么就像将每个新单词存储在哈希图中然后增加每次出现的计数一样简单。但是对于短语,将句子的每个排列存储为键似乎是不可行的。
基本上,问题被缩小到弄清楚如何从足够大的文本中提取每个可能的短语。计算短语然后按出现次数排序变得微不足道。
【问题讨论】:
-
也许你可以研究一下类似 trie 的东西?一个节点在哪里也存储它的出现,沿着 trie 的路径形成一个短语?
-
把你的最后一段作为真正的问题,也许你的问题只是定义一个短语是什么。如果这是问题所在,请考虑使用 NLTK 之类的自然语言处理工具。在这种情况下,提取短语的对象称为“chunker”。
-
一个短语有多长?无论您是在做一个单词的短语还是 10 个单词的短语,算法都几乎相同。唯一的区别是您必须处理的数据量。
标签: algorithm data-structures frequency frequency-analysis word-frequency