【问题标题】:What is the best way to select a text portion to cut based on keywords?根据关键字选择要剪切的文本部分的最佳方法是什么?
【发布时间】:2010-02-09 08:29:52
【问题描述】:

当您在 Stackoverflow 中搜索某些内容时,它会剪切最符合您条件的问题描述部分,然后标记条件词。

我想知道在 C# 中手动执行此操作的最佳方法,即无需全文搜索引擎的帮助。

主要问题是如何快速选择最佳文本部分?

到目前为止我所做的是:

  1. 我获得了文本的空间索引。这让我知道 话开始了,这样我就可以开始我的 来自它们的子字符串测试。
  2. 从每个空间索引中,我提前 300 个字符并测试如何 多次出现的关键字 I 找到。
  3. 我假设 300 个字符长的部分具有最多 出现次数是最好的,所以我把它从原文中删掉了。

这是一个好方法吗?有更快的方法吗?计算出现次数是找到最相关部分的最佳方法吗?

【问题讨论】:

    标签: c# .net text-processing


    【解决方案1】:

    使用这种方法,您通常会在匹配的开头或结尾附近找到与关键字的最佳匹配,这意味着您不会为这些关键字提供太多上下文。我会添加一个额外的条件,即在匹配开始和结束附近的关键字两侧必须有 n 个单词。

    您可以考虑在更方便的地方中断匹配,例如标点或连词而不是空格。

    您可能还想查看 term frequency - inverse document frequency 为关键字赋予不同的权重,而不仅仅是计算它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多