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

本贴最后更新于 187 天前,其中的信息可能已经水流花落

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

需求理由:

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

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

他人之石:

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

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

能实现的理由及思路:

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

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

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

可由使用者来增加。

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

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

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

  • 思源笔记

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

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

    23020 引用 • 92597 回帖

相关帖子

欢迎来到这里!

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

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

    有可能这样查询出来的内容非常多,我觉得换一个思路,不是查找的思路,而是自动给笔记打 tag,类似谷歌相册可以对每个照片打各种各样的标签,然后通过标签的重组对笔记自动分类。当然这种情况下也可以查询标签,但核心是让大模型给笔记打 tag,智能 tag 分类

    1 回复
  • sxdtzjs

    谢谢 @JeffreyChen 的回复,“SQL 查表就行了”,是这样,简单掌握一下 SQL 查询语法的都可以做到,这种做法特别适用于那种不用标签不甘心,用标签用着用着就乱套的不归路的情况。

    如果思源笔记内置了这个功能就可以让所有用户直接使用,对那些一点也不想学代码的用户就特别友好了,也会成为思源的一个特色吧。

    或者说这只是一个小插件就能解决的问题。我没编写过思源插件,有兴趣的可以写一个,以利益有需要的人们。

    1 回复
  • @leolee 好像在干这个


    另外,回复在这里:

    image.png

    1 回复
  • 查看全部回帖