gpt4 book ai didi

c# - 我们如何在搜索结果中显示干净的、谷歌风格的摘录?

转载 作者:行者123 更新时间:2023-11-30 16:20:08 27 4
gpt4 key购买 nike

我们正在使用 dtSearch 为一些外部网页编制索引。它抓取页面的整个 HTML 内容。

当一个页面出现在我们网站的搜索结果列表中时,我们希望显示包含其突出显示/粗体搜索词的内容的摘录作为结果的一部分(换句话说,每个人都习惯在每个谷歌结果下看到同样的东西)。

实现此目标的最佳方法是什么?你必须解析和删除 HTML 标签吗?如果是这样,您如何有效地做到这一点?

我们有一个有效的概念证明,显示了突出显示搜索词的摘录,但我们必须呈现标签,或者尝试将它们删除(正如我们已经尝试过的那样)并最终得到一些垃圾信息,这些信息不是真的很满足。

我认为我们使用 dtSearch 是偶然的。如果替代搜索工具能够代表我们执行此类操作,我们会考虑改用它。

我们基本上是在尝试决定是否需要编写自己的正则表达式来完成此任务,或者这是一个已被某些库或工具解决的众所周知的问题。

我们恰好在使用 .NET/C#。我认为这不是问题的核心,但可能会影响我们可以使用哪些库。

最佳答案

Google 在存在的地方使用 meta 描述标签,并且还将使用 rich snippet information在可用的地方。

除此之外,您可能需要执行自定义解析,但不要使用正则表达式来执行整个任务。相反,使用适当的解析器(例如 HTML Aglity Pack )并找到具有语义意义的标签(可能是标题、段落等)。一旦找到这些元素,您可以使用正则表达式来确定哪些匹配的标签会给出你是最好的片段,在哪里截断它,等等。

一个简单的流程:

  1. 解析文档并定位所有具有大量元素的元素文本内容。
  2. 去除内部标签(例如 p 内的 strong)
  3. 喜欢文档开头附近的元素。
  4. 运行一种算法(可能使用正则表达式,并且可能使用文化感知)来尝试提取句子。
  5. 非常喜欢单词与一个或多个搜索词相匹配的句子(根据您规定的要求)。
  6. 喜欢噪音词少的句子。
  7. (高级)喜欢在文档中经常出现单词的句子。
  8. (高级)将多个可能有用的句子组合成一个描述片段。

这不是一门精确的科学,即使对于 Google 也是如此。

关于c# - 我们如何在搜索结果中显示干净的、谷歌风格的摘录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14652506/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com