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

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

需求理由:

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

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

他人之石:

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

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

能实现的理由及思路:

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

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

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

可由使用者来增加。

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

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

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

  • 思源笔记

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

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

    19756 引用 • 75587 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 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 这类软件真正成熟了,思源没有此功能话就成了缺陷。
  • 其他回帖
  • 是的。

    你说的我都认可,AI 只适合一些粗粒度的搜索,比如一些定义明确的定义、定理之类的,

    但是它的复杂推论都是不太可信的。

    至于你想要的,我感觉似乎是在找一种方法用自己的笔记作为语料训练出一个 AI 来,

    貌似这个不太能办得到的,自己的笔记数量比较起来还是很少的。

    1 回复
  • sxdtzjs

    谢谢,logseq 里的别名和您说的这个类似。logseq 里还有一个属性,就是在一个文档的首行可以放置一些词,可以帮助快速搜索,是我以前在重要文档里必做的一个动作。好多年不用了都忘记了。不得不说 logseq 也有些非常出色的功能,如它的待办功能,我到现在还没有发现能出其右者。只可惜 logseq 的更新迭代太慢了,在快速迭代方面,思源是最厉害的。所以后来放弃了 obsidian 和 logseq 转到了思源。

  • sxdtzjs

    谢谢回复。

    我目前就是类似的作法:在每个可能以后还会用到的笔记上加一行名为关键字的行,把自己能想到的相关词都写上,以后遇到当时没有想到的词,再加上。缺点就像您所说的”太麻烦“。

    这种做法与我以前用 logseq 的一个功能,好像是专门有个”别称“的属性,起到的作用类似。就是给一个笔记名称可以起其他不同的叫法,或说是等于打上了一些同义语的标签。用了思源后,没发现这个功能,但以我的理解,思源应该也有这个隐含的功能,不过我没有去研究。

    2 回复
  • 查看全部回帖