【问题标题】:Lucene for finding most frequent words or word groups [duplicate]用于查找最常用词或词组的 Lucene [重复]
【发布时间】:2012-12-21 13:22:53
【问题描述】:

可能重复:
How to get frequently occuring phrases with Lucene

我需要在索引中找到出现次数最多的词或词组,这意味着出现次数最多的文本可能是词本身或词组。非常类似于推特的热门话题(当然没有标签实体)。 Lucene 是否提供了某种方法来做到这一点,或者我如何在海量数据中实现这一点。如果问题不清楚,我可以举出更具体的例子。顺便说一句,我正在使用 java 和 Lucene 3.5。

快速编辑“词组”最多可包含 3 个词。假设在一个大文本中,我有“是”500 次“天气”100 次“好”300 次和“天气很好”这个词组 90 次。我需要确定“天气很好”的出现对我来说是否重要。当然,我需要查看每个索引词...

谢谢。

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    如果你想找到最多出现的最大长度为 3 的连续标记的序列,这个问题可以看作是搜索最频繁的 N-gram,如问题 How to get frequently occurring phrases with Lucene 中所述
    在您的情况下,您可能不需要 Solr,请参阅 this little code,您只需计算每个生成的 N-gram 并保持出现的次数大于所需阈值的次数。 有效计数这些 Ngram 的问题更加困难。如果它们不是很多(例如少于 1~2M),您可以使用 HashMap。
    如果数量更多,您可以尝试使用有趣的最小计数草图算法,有一个 implementation 但我个人没用过,不知道好不好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      相关资源
      最近更新 更多