根据关键字选择要剪切的文本部分的最佳方法是什么?

时间:2010-02-09 00:03:47

标签: c# .net text-processing

当您在Stackoverflow中搜索某些内容时,它会删除最符合您条件的问题描述部分,之后会标记标准字。

我想知道在C#中手动执行此操作的最佳方式,这意味着没有全文搜索引擎的帮助。

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

到目前为止我所做的是:

  
      
  1. 我获取了文本的空间索引。这让我知道了   单词开始,以便我可以开始我的   来自他们的子串测试。
  2.   
  3. 从每个空间索引中,我提前300个字符并测试如何   很多关键字I出现   找到。
  4.   
  5. 我假设有300个字符长的部分最多   发生是最好的,所以我从原始文本中删除它。
  6.   

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

1 个答案:

答案 0 :(得分:1)

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

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

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