如何做才可以让思源具有语义功能?这是有了大量笔记后再利用的关键。(内含建议思路)

请教大佬们:如何做才可以用语义搜索思源的笔记呀?

需求理由:

我虽然是一个外行,但我是一个几十年一直使用各种笔记学习的人,我相信我的需要也是那些真正学习者的需求。

这觉得笔记基本功能稳定后,这是最重要的了。否则积累了大量笔记后无法找到自己想到找到的资料,因为我们不可能总是准确地记住那些关键字,比如找“快乐”就可能找不到“高兴、愉快“等的资料,但其实我是想把这类资料都找到,我也不可能每次搜索时都穷尽近义词,这是我一直头痛的问题。

他人之石:

现在有专门搭设具有 RAG 功能的 AI 大模型的方法。但我不具备这种条件。

即便能搭设,思源笔记的专用格式也不一定能适用。

能实现的理由及思路:

思路一:因为思源笔记的结构有一套固定的标准,且很大程度上非常接近文本文件格式,应该容易处理成可以用来语义搜索的资料。

思路二:不依赖任何其他软件,不用增加复杂的功能,只有改变一下搜索策略就可以拥有一个由使用者自己维护的类似语义搜索功能。具体思路如下:

1.首先增加一个语义搜索库,里面可以增加任意语义定义。如,可以增加一行:”快乐 高兴 愉快......“等。

可由使用者来增加。

2.搜索时可提供两种方式,一种是现在用的搜索方式,称为精确搜索;另一种为自定义的近义搜索。

当使用自定义的近义搜索时,用户只需要提供一个关键字,如”快乐“,搜索引擎自动会在语义搜索库里找到这个关键字”快乐“所在的这一组,然后把这一组中的各个字词以”或“的关系组成正式的搜索关键字,如”快乐 or 高兴 or 愉快 or ......",这样就可以达到一种近似语义搜索的功能,虽然可能本质上不同,但却可以实实在在地解决我的难题。

而且这样做的好处是可以做到现在语义搜索所达不到的功能,就是用户自己认为的哪些不同的词可以算是同一语义范围,其实这个也很有用,有时软件强制的语义不一定完全包括用户的认知。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22351 引用 • 89433 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • sxdtzjs

    谢谢!细心而真诚 ❤️

  • 其他回帖
  • @leolee 好像在干这个


    另外,回复在这里:

    image.png

    1 回复
  • sxdtzjs 3

    关于主打语义搜索功能的 AI 智能笔记软件 Reor 的首次测试。

    最新发现:

    昨天下午发现了一个叫 reor 的笔记软件,这是一个开源项目,是可实现离线或在线的 AI 笔记应用。其主打的功能正是我几十年来一直想要的。

    这个开源项目的链接是:GitHub - reorproject/reor: Private & local AI personal knowledge management app.

    我测试的就是目前最新的版本:0.2.10

    以下引用了一个网站上的简介:

    它能自动链接相关笔记、回答笔记中的问题并提供语义搜索。所有内容都存储在本地,支持 WindowsLinuxMacOSReor 站在 OllamaTransformers.jsLanceDB 等巨头的肩膀上,使 LLM 和嵌入模型都能在本地运行。此外,还支持连接 OpenAI 或与 OpenAI 兼容的 API(如 Oobabooga)。

    以下是我在 windows10 里安装软件和本地 AI 模型后的设置和测试(只测试了语义搜索功能):

    关于 AI 模型的首次设置如下:

    LLM 用的是 mistral:latest
    Embedding Model 用的是 Xenova/bge-base-en-v1.5

    在此设置下的测试:

    1. 首先我分别写了名为“test1" "test2" "第一个双链” “第二个双链” 和“第一个链接”的 5 篇笔记,里面的测试内容如下:
    • test1 里面有“关键字:高兴"
    • test2 里有”关键字:快乐“
    • 第一个双链里有”关键字:我遣除了痛苦。“
    • 第二个双链里有”关键字:我现在的心情非常好“
    • 第一个链接里有”关键字:愉快“
    1. 在软件的互动对话框里输入我的搜索要求,结果如下 :jg1.jpg
      从结果来看:1.回答的结果与提问的技巧有关;2.这个模型的功能不是太稳定;3.并没有列出全部的相关语句,虽然我已经尽力用了近义词。
      不过让我很满意的地方是:1.它列出了那个含有”遣除痛苦“的笔记,显示出了它一定的语义理解能力;2.可以连续对话,后面的对话可以利用前面的结果,所以后面的对话输出非常流畅(第一次会慢,我的台式机是 10 年前的配置,cpu:Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz 3.00 GHz 内存:16.0 GB)。

    然后我改了嵌入模型的设置,看上面没有全部列出是否与此模型有关。

    把 Embedding Model 换成 Xenova/UAE-Large-V1

    然后进行与上面过程一致的测试,结果如下:

    jg3.jpg

    测试体会

    • 这个软件的主打功能正是我想的,而且看它的介绍,它的有些功能还超出我的预期
    • 它的语义搜索功能目前还是不太完善,这大模型的本身有关,我相信以后随着 AI 模型的不断迭代肯定表现会越来越好。关键是它抓住了所谓”第二大脑“的真正痛点,真正体现出了”脑“的特点。
    • 它的笔记格式是 markdown,非常友好。
    • 目前看,它现在的核心功能已经能使用了,在我这么旧的电脑上都可以正常运行,说明一些轻量型的 LLM 在本地运行完全没有问题,这点超出了我原来的猜想。

    最后,我还是提出我发这个主题的目的:让思源笔记拥有语义搜索功能。

    1. 我是思源笔记的重度用户,几乎每天都会利用思源笔记学习数个小时,所以在思源笔记上已经累积了大量的学习笔记,不想再换笔记软件了。
    2. 思源笔记是可以拥有这个功能的,我的理由还是我在第一个帖子里说的,思源笔记的格式是有固定结构的,非常适合变成 AI 模型所要求的格式。
    3. 如果思源不做这个功能,而最终其他笔记软件做出来,肯定会导致一些有这方面需求用户的流失。而且关键是真的有这方面的需求,如果没有任何软件有此功能还能显示出思源的强大,如果以后 reor 这类软件真正成熟了,思源没有此功能话就成了缺陷。
  • sxdtzjs

    谢谢回复!说说我的理解,不一定对,仅讨论。以我几十年的学习实践认为:搜索是学习中用得最多的过程,除非你学的东西非常少,或只在熟悉的领域学习或你有不忘陀罗尼。理由如下:

    1. 学习的第一次过程是输入(搜集资料)--> 整理加工--> 输出。在这个过程中就会提高自己的理解能力并形成自己的记忆,但这种记忆如果以后不进行复习应用的话就会渐渐遗忘,特别是对那些不会专门记忆只作为备忘待查用的资料,比如某月某日进行了洗衣机筒自洁、洗衣机说明书放在了哪里、某人的生日等等。
    2. 再次学习过程:当进行考试、应用或阅读等活动时,需要从自己的记忆中提取,这时我们可能会有完全的记忆,也可能有一部分记忆,也可能只有印象,甚至连印象都没有。
      所以这个学习过程就非常需要一个功能强大的查询功能,因为往往你只能试着输入关键字,如果没有语义搜索功能加持,那么你输入的这个关键字的命中率有多高就很难说了。
      所以搜索是很重要的,因为学习就是为了用,而用在你没有形成永久记忆之前搜索就是你最好的(往往是唯一的)途径,而且有许多东西是完全没有必要必须形成记忆的,这也是 GTD 的原理之一,更是思源笔记“提及”及反链等功能的必要,在我学习大量陌生知识,特别是含有大量陌生概念的知识时,思源的”提及“功能给我的帮助非常大,极大极高了我的学习效率。
  • 查看全部回帖