关于标签自动化建议问题

标签功能重新阐述

通过标签扩展与标签过滤,快速为知识点生成相关标签,并可以通过多个标签(多维度)组合过滤的方式,快速定位到相关知识点

概念简析

标签组是指将用户在同一 block 中输入的多个标签视为一个标签组,标签组 ID 可为 blockID

标签扩展是指在用户输入标签后,自动根据已有的一个或多个标签给出相应标签建议,用户通过点选方式快速打标签

标签过滤是指用户在搜索框进行标签组合搜索时,自动在数据库中根据已输入的标签组进行过滤,快速定位相关内容

标签扩展与标签过滤最根本的区别是标签扩展是生成式的,为相关知识点尽可能添加更多维度,而标签过滤则是限定性的,只会根据已有的标签组给出建议

标签扩展

用户在输入一个或多个标签后,筛选出同时包含已输入标签的标签组,将符合条件的标签组中未包含的其它标签生成一个建议列表,并根据出现频率倒序排列

sql 语句如下

SELECT
count(1),tag as count
from Record
where note_id in
(
SELECT
note_id
from Record
where
tag in (query)
)
and tag not in (query)
group BY tag
order BY count(1) desc,tag asc

image.png

另外,用户在输入标签过程中,后台自动查询所有单个标签,进行模糊匹配,快速输入

image

当初始没有输入标签时,自动列举近期输入的标签组

PS

也可以根据标题层级,自动完成标签,如在 H2 标题下设置的标签组,在 H3 标题下再次输入标签时,默认将 H2 下的标签组作为父级标签插入,以此类推

标签过滤

通过多个标签的组合过滤,(即查找同时包含搜索的多个标签的 block)可以在庞大的知识库中快速定位相关内容,这个效率指数级的,

sql 语句如下

select distinct tag from record 
where note_id in (
select note_id from (
select note_id,count(note_id) as count 
from record 
where tag in (query) 
group BY note_id 
) 
where count >={search_num}
)
and tag not in (query)

image

思源笔记支持 sql 语句这一特性可以非常好的完成以上功能,而市面上其它笔记均无法做到这一点,我使用其它软件完成了以上功能设想,但是当笔记库规模膨胀到几万条,几十万条时,其它笔记软件运行卡顿,甚至崩溃,无法完成这个任务

我尝试为思源笔记编写相关插件,但没有找到相关函数,受限于自己的编码能力,将自己的想法分享出来,希望标签扩展能成为官方内置特性,类似于双链对于现有笔记管理的冲击一样,成为一种全新的组织个人知识库的形式

不再使用传统的树形目录对知识库进行分类,而是类似于 DailyNote 进行流式记录,例如,当搜索 #vim 标签时,出现的都是与 vim 相关的内容,而组合搜索 #vim #snippet 时,则可以对结果进一步筛选

对于剪藏的文章或者一整本书而言,也可以在阅读过程中快速打标签,从而快速查找,引用相关内容

再次重申一下我的观点,当知识库累积到一定规模时,如果无法顺利找到相关内容,那么这条内容相当于是不存在的

  • 思源笔记

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

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

    23014 引用 • 92568 回帖

相关帖子

欢迎来到这里!

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

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