AI搜索 查找非精确匹配

我们使用我们的网站作为大学系的知识库和讨论论坛。例如,我可以想象人们会想问这样的问题:

  • 什么时候可以获得理学硕士成绩?
  • 心理学硕士学生的及格分数是多少?
  • 一次可以预订多少周的假期?
  • 如果我的受指导学生未能通过一级模块会怎样?
  • 如果我的受指导学生自残,大学要求我怎么做?
  • 我们向研究参与者支付多少费用?
  • 如何获得晋升?
  • 有哪些博士资金来源?或者学校博士奖学金何时发布?
  • 在课程的哪个部分,学生可以学到重复测量方差分析?

在每种情况下,我们都有相当不错的信息,但传统的搜索找不到可以总结的正确结果。有时它找不到任何东西,但有时它会找到旧的讨论,这些讨论不是“正确”的答案。

5 个赞

感谢您的反馈,Ben。

请查看 @falco 正在处理的基于 Hyde 的语义搜索的 PR 队列,准备好后我将尝试为其添加一个命令。

2 个赞

供参考

我知道这里很多人不是程序员,所以关键词搜索和语义搜索之间的区别可能看起来令人困惑,或者他们可能想更深入地了解它是如何工作的。虽然以下内容是为程序员准备的,但它足够基础,即使您不是程序员,也可以从中了解这两种搜索方法之间差异的一些关键概念。

DeepLearning.AI 最近(2023 年 8 月 14 日)添加了这个关于 大型语言模型与语义搜索免费 入门课程(参考),您可以在短期课程页面上找到它。


对于那些关注人工智能领域知名人士的人来说,他们应该会认出一些讲师。

1 个赞

对于像我一样喜欢研究论文但又不知道 HyDE 的人来说,这是论文。

“Precise Zero-Shot Dense Retrieval without Relevance Labels”,作者 Luyu Gao、Xueguang Ma、Jimmy Lin 和 Jamie Callan(pdf

1 个赞

可以提供链接吗?(下面有答案

抱歉打扰,我就是找不到。不过我确实了解了机器人命令。(参考

@EricGT 感谢提供的链接。对于那些对机器学习不太了解的人来说,这篇论文相当晦涩难懂。

我认为要点是,在此应用中,HyDE 将首先使用 LLM(大型语言模型)根据问题创建一个“虚构”答案。这个答案将具有真实论坛帖子的_形式_(例如),但可能包含幻觉并且事实错误,因为内容来自 LLM 而不是规范文档集。这个文档永远不会展示给用户,但巧妙之处在于,这个文档将与您网站上的真实文档/主题在语义上相似。搜索返回与“虚构”文档最相似的真实文档,经验表明,这似乎比仅将原始搜索词与嵌入数据库中的语义相似文档进行匹配效果更好。

@sam Hyde 基于搜索听起来很棒,我很期待尝试。您是否设想为这些人工智能功能提供可调整的参数?例如,我可以想象能够编辑用于生成假设文档和控制摘要/答案的提示会很有用。例如,当前的聊天机器人找到答案时相当冗长。如果能够像我自己在与 ChatGPT 对话时经常做的那样,在提示前加上“简洁地”或“简短地”会很好。

4 个赞
4 个赞

好评!


我知道很多人不会注意到这个说法,但如果你要花真金白银来运行提示,那么这是你需要理解的最有价值的说法之一。

请看:

提示

40-90%:通过在提示中添加“简洁”来节省的金额

记住,你的响应是按 token 收费的。这意味着要求 LLM 简洁可以为你节省大量资金 [1]。这可以不仅仅局限于在提示中添加“简洁”:如果你正在使用 GPT-4 来生成 10 个替代方案,也许可以要求它生成 5 个,然后保留另一半的资金。

1 个赞

我们已经准备好了后端,但要将其正确集成到 Discourse 的搜索结果页面还需要一些时间,因为用户界面有点棘手。

今天我们不提供对提示的控制,但我们将在未来提供可定制的功能,在我们让该功能运行良好之后。

3 个赞

你可以在 Meta 上尝试一下,只需前往 搜索页面 并尝试几个问题。 告诉我你的体验如何。

2 个赞

太棒了!尤其是在我输入一个搜索词,但精确匹配搜索却返回“未找到结果”的时候。

我为已关闭的 Marketplace 主题获得了许多语义上正确匹配的结果。也许返回这些结果是有用的,但也许它们应该出现在列表的底部附近。

也许可以缩小某些搜索范围到特定的类别或标签。例如:

  • 搜索“当用户从 WordPress 登录时,如何防止发送激活电子邮件?”时,最佳结果将在 DocumentationSupport > WordPress 中找到。

  • 搜索“如何编写一个返回最受欢迎主题的数据探索器查询?”时,最佳结果将在 Data & reportingDocumentation 类别中找到。

如果可能的话,初始搜索可以返回最可能类别中的结果,并建议尝试扩展搜索到其他类别。

考虑到将语义搜索作为使用 Discourse 作为客户支持论坛的第一站,能够优先处理特定类别或标签将非常有用。例如,在 Meta 上,初始搜索可以优先搜索 Documentation 类别。

4 个赞

这正是我希望通过这个新功能解决的问题之一。语义搜索总能找到一些东西

目前,语义搜索非常基础。它只包含后端几行代码,并返回语义上最接近的结果。它缺少我们在过去十年中为标准搜索添加的任何搜索功能,例如 2.3 版本中的搜索改进 和许多其他功能。因此,它目前被提供为一组补充结果。

如果该功能受到好评,并且我们可以在产品中完善用户界面,那么我们将尝试将 Discourse 特定的部分整合到语义搜索结果中。

5 个赞

是的,这对于复杂的查询来说确实非常棒。

即使它没有找到此查询的帖子,它也能够找到足够的帖子来指向正确的位置!

5 个赞