PKM-er/Pkmer-Docs

投稿-文献管理

no251-1 opened this issue · 2 comments

引言

作为一个已经毕业十年的老博士,一直以来我都保持着阅读文献和博硕论文的习惯。今天就来跟大家分享一些文献管理工具的心得和体会吧。

文献管理工具-Citavi

在经历过Endnote,Mendeley之后,最终我选定了Citavi作为主力的文献管理工具,因为它几乎满足了我对文献管理的所有需求。

  • Citavi的特点:
    • 项目式管理。你可以以某个主题作为一个项目,也可以以某个研究方向作为一个项目。建立好项目之后,可以在项目中导入文献。
    • 标记分类很清晰。Citavi的标记类型包括黄红两种Highlight,直接引用和间接引用,Summary,Comment(你甚至可以给一个Comment加一个Comment)。有一些标记会显示在PDF的页面中,有一些则会显示在PDF页面的侧边。
    • 知识管理(Knowledge)。每一条标记,包括图片引用(Snapshot),在Citavi中都是一条Knowledge。Knowledge可以单独管理,并且支持搜索,以及跳转到对应的文献位置。
    • 闪念(Thought)。Citavi还有一个独立的Thought按钮,可以快速记录你读文献时一闪而过的想法。Thought也被作为Knowledge管理,独立于文献。
  • Citavi的缺点:
    • 免费版单个项目有100篇文献的限制
    • 网页版没有单机版好用
    • 服务器在国外,导入文献时比较慢
    • 文件在项目中是分开存储的,也就是说,同一篇文献在不同的项目中时,标记不能共享

知识图谱与Obsidian知识管理

Citavi虽好,但是当积攒的文献逐渐多起来之后,会显得比较臃肿,载入速度也会变慢。同时我发现,如果不能通读所有的文献,其实把所有的文献都导入到Citavi中进行管理是非常不划算的管理方式。Citavi更适合学术小白做原始积累。

根据如下图所示的知识图谱的形成过程,我们平时收集的数据或者信息,只有产生联系(双链)才可以形成知识。当我们回忆或者引用这些知识的时候,就形成了insight。当我们发现这些insight本质上的相同点,也就有了智慧。insight,其实有洞悉、顿悟的意思。大的道理往往都是相通的,所谓透过现象看本质。智慧不等于智力。当我们的智慧可以不自知的发挥,也就形成了所谓的“道”。道法自然,如来。

KG_Diagram

而Citavi中的Knowledge并不支持双向链接或者没有办法可视化以及交互操作。虽然标记在Citavi中被命名为“Knowledge”,但其实它们只是上图中的data或Information。只有在Obsidian中将它们Link起来,才能形成真正可用的Knowledge,也就是将大脑中的知识具象化。以搭建知识图谱的思路进行文献管理,Obsidian是非常合适的工具。

如果你想简单尝试一下知识图谱,可以使用微软的开源工具-SmartKG。

以图片为中心

到这里,其实基于Citavi和Obsidian的工作流应该可以满足大部分的学术需求了。而对于非学术用途的、多研究方向的、多文档来源的文献管理,需要一种更高效的管理工具与工作流。我的观点是,图片比文字的信息量更大,且更容易记忆与关联。正所谓一图胜千言。记住一篇文献主旨的最佳方式,就是看懂并记住其中的图。因此,我提出一种以图片为中心的文献管理方式。而基于向量数据库的以图搜图横空出世之后,使得这种以图片为中心的方式变得尤为便捷。

PDF图片提取(Python)

我们可以用PP-Structure将PDF文档中的图片提取出来。PP-Structure是基于计算机视觉(CV)的一种工具,通过对PDF页面转换成的文档图片进行版面分析,识别文档中Figure的位置后进行截图保存。PP-Structure识别率较高,特别是学术文献中常见的以非图片格式嵌入的曲线。而PyMuPDF或PDFBox这类工具虽然提取速度快,但只能提取PDF XML中属性为Image的图片。具体代码可以参考PP-Structure的官方文档或者我再写一个PKMer文档。

图片管理工具-Eagle

我们可以将提取出的所有图片导入图片素材管理工具-Eagle,进行管理。Eagle是专业的图片管理工具,几个G甚至几十个G的图片都可以快速的检索,非常适合管理庞杂的图片数据,特别是超过几万张的时候。建议用文献标题来命名Eagle文件夹。电子书的图片还可以按书里的Section建立子文件夹。Eagle管理图片的方式主要是标签,很灵活。可以用VizioMetrix的方式来定义标签,如Diagram,Photo,Plot,Table,Equation,Composite。也可以根据应用领域自行定义标签,比如我是材料领域,我会将图片分为TEM,SEM,OM,SAT,X-ray,FIB,CT等。

Eagle和Citavi的联用

因为PP-Structure提取出来的图片名称为页码编号,所以根据图片的名称可以相对快速的在Citavi中定位到图片所在的页。当然有交互的方式更好,期待有大神可以实现。

以图搜图

当你拥有某个领域几乎所有的图片之后,你想做的第一件事当然是以图搜图。虽然Eagle支持类似百度的以图搜图,但并不支持基于本地图片数据的以图搜图。本地以图搜图功能可以通过开源工具Milvus和Towhee来实现。基本原理如下图所示。

workflow

Towhee的作用是利用已训练好的模型,比如resnet50,将全部图片转换为向量并保存在Milvus中。Milvus本质上是一个分布式的向量数据库。既支持Standalone的模式(我理解的就是本地),也支持云部署(易于扩展的K8S)。以图搜图的过程,即将待搜索的图片通过Towhee转换为向量,并在Milvus向量数据库中进行向量相似度匹配。最后将匹配度最高的几张图片展示出来。向量化也是以图搜图速度奇快的核心原因,搜索速度甚至可以达到ms级。可以尝试Milvus官网的demo。除了以图搜图,Milvus还支持以文字搜图、以图搜视频、化学结构的搜索等,甚至可以通过LLM和ChatGPT结合使用。

展望

由于使用的工具较多,整个工作流还是比较复杂的,并不适合所有人使用。从文献管理软件Citavi,到知识管理工具Obsidian,再到图片管理工具Eagle,最后到以图搜图工具Milvus,也是笔者从对all-in-one工具的执着,到以需求驱动工具的一种妥协。当然,如果有人可以开发出一款专门用于文献管理的工具,涵盖收集、整理、笔记、图片提取、以图搜图等功能,那自然是好的。因为我始终认为,PDF格式是老旧的,目前所有基于PDF文件的文献管理与阅读工具都是过时的。毕竟PDF格式被设计出来的初衷是排版、打印,而现在谁还会去看打印出来的文献呢?现代化的文献管理和阅读工具应该是基于云的、可以通过机器学习自动建立关联的(比如作者、研究方向等)、可以通过ChatGPT提问的、甚至不用读都可以产生出Knowledge的。

我是一刀,洋洋洒洒写了一大篇,希望对大家阅读文献有所帮助吧。下次再会。

引用链接

  1. PP-Structure
  2. Milvus
  3. Towhee
  4. SmartKG

感谢一刀老师的分享,我们会尽快上传到 pkmer 网站,让更多人学习讨论。

已上线,感谢支持分享
23.8.25 13:00