【问题标题】:Term Document Frequencies in Java with Lucene/Lingpipe in a large corpus大型语料库中使用 Lucene/Lingpipe 的 Java 术语文档频率
【发布时间】:2012-04-27 10:07:49
【问题描述】:

我正在尝试分析大量文档,这些文档位于一个巨大的文件(3.5GB,300K 行,300K 文档)中,每行一个文档。在这个过程中,我使用 Lucene 进行索引,使用 Lingpipe 进行预处理。

问题是我想去掉文档中非常罕见的单词。例如,如果一个词在语料库(大文件)中出现的次数少于 MinDF 次,我想删除它。

我可以尝试使用 Lucene:计算所有不同术语的文档频率,按升序对它们进行排序,获取 DF 低于 MinDF 的术语,再次检查大文件,然后删除这些术语每行线。

这个过程会非常缓慢。有谁知道使用 Java 更快的方法吗?

问候

【问题讨论】:

    标签: java lucene text-analysis


    【解决方案1】:

    首先创建一个临时索引,然后使用其中的信息生成最终索引。使用IndexReader.terms(),对其进行迭代,每个术语都有TermEnum.docFreq。累积所有低频项,然后在创建最终索引时将该信息输入到扩展 StopWordAnalyzerBase 的分析器中。

    【讨论】:

    • 非常感谢!很有帮助的答案,我会回来报告的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2011-05-21
    • 2018-04-29
    • 2018-12-27
    • 1970-01-01
    • 2021-07-27
    相关资源
    最近更新 更多