【问题标题】:How to find relevant area in text?如何在文本中找到相关区域?
【发布时间】:2014-12-04 08:18:21
【问题描述】:

我正在寻找在某些文本区域中确定和选择的算法,这将与某些用户查询相关。也许选择 sn-p,与文本中的用户查询相关。

谁能推荐任何适合这项任务的算法?

附:我看到了这个问题:Is there an algorithm for determining the relevance of a text to a theme? 但这不是我的问题的解决方案,因为我需要在文本中选择相关区域,并且使用机器学习算法不适合此任务。

【问题讨论】:

    标签: algorithm information-retrieval text-mining


    【解决方案1】:

    您可以为此使用Lucene Highlighter。 Lucene 的 highlight 包包含提供“上下文中的关键字”功能的类,这些功能通常用于突出显示结果页面文本中的搜索词。

    Highlighter 类是中心组件,可用于提取一段文本中最有趣的部分并在 Fragmenter、Fragment Scorer 和 Formatter 类的帮助下突出显示它们。 Highlighter 类的 getBestTextFragments 方法从文档中选择最可能相关的文本。

    一个示例 sn-p:

     Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query));
     for (int i = 0; i < 10; i++) {
        int id = hits.scoreDocs[i].doc;
        Document doc = searcher.doc(id);
        TokenStream tokenStream = TokenSources.getAnyTokenStream(searcher.getIndexReader(), id, "body", analyzer);
        TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, text, false, 10);
        ...
        ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      相关资源
      最近更新 更多