个人知识助手:从 WKK 到 Patriots
本页目录
本文记录 2016—2017 年的 W.I.S.E. / Patriots 项目设想。下文的开发与内测安排均是当时计划,不表示当前可用状态。
W.I.S.E. 的全称是 Wdxtub's InSight Engine,目的是打造一个人工智能管家,是一个我做了快五年的梦,现在,我终于准备好了。
W.I.S.E. 是一个引擎,通过收集互联网中的相关信息和我个人的各种行为,帮助我高效完成『信息筛选 -> 知识提取 -> 洞悉洞察』这一整套流程,辅助我把自己的思维强度和学习能力提高到更高层次。
正如名字所暗示的那样,这是一个非常个性化的应用,对使用者有比较高的要求。在基本的功能完成之后,我会邀请一些小伙伴参与内测,看看这套流程是否真正有效。具体的开发过程我也会以系列文章的形式分享给大家,可以从中学习以下知识:
- 极简主义的思想及行为指南
- Linux / Unix 的基本概念和常用命令
- 自然语言处理、推荐系统、爬虫、知识图谱、数据可视化
- Web 服务、关系型与非关系型数据库、缓存、安全、网络模型
- 接口设计、客户端开发、SDK 接入、界面与交互设计
让我们先跑一下题,看看为什么我会想要做 W.I.S.E. 这个项目
W.I.S.E. 前世
无论是本科还是研究生,一到要决定毕业设计的时候,我那颗不务正业的心就开始沸腾。虽然一直以来都在做图形图像相关的研究,但说来奇怪,学生生涯中唯二的毕业论文都跟图形图像没有半点关系。本科的时候做的是自动问答引擎,比方说我输入『中国的首都是哪里』,那么引擎给出的答案应该是『北京』。研究生的时候做的是一个叫 WKK 的东西,全称是 Wdx's Knowledge Kit,当时我沉醉于构建自己的知识图谱,满脑子想着是如何形成『信息/知识闭环』。
当然,这两次尝试都不能算成功,堪堪做到可 demo 的程度,便被毕业的假期勾走了魂儿。现在想想,如果说本科的尝试带我走入了知识表示的大门,那么研究生的尝试则是一次结合极简主义的化学反应。
WKK 是一个很有野心的项目,试图通过一系列智能化处理把一整套极简主义的行为方式融入到日常的生活学习中,尤其是希望在我很在意的几个方面(笔记、写作、读书)上形成『闭环』。因为毕业设计的时间比原先计划的少了半年,很多工作仅仅做到了『能用』,离『好用』还有一大段距离。本想着找时间完善,无奈直到今天都没有鼓起勇气重新开始。
WKK 留给我的『遗产』很多,主要有三部分:
第一是 JARVIS 这个组件(就是钢铁侠里的智能助理的名字),包括中英文的自然语言处理、笔记和书籍的推荐以及互联网信息抓取三大功能。自己做过一次,现在对于自然语言处理、推荐系统和爬虫都有了一定认识。
第二是笔记系统,也就是结合文件/文件夹,基于 Markdown 和 GTD 的一套体系。虽然这个系统随着时间的推移基本上已经完全变了模样,但是一切的开始还是要源于 WKK 这个项目。Github 中从 WDXPeak 到 Note 1.0/2.0/3.0,都可以看做是这套系统的延伸。
第三是各种功能模块,比方说 Kindle/Evernote/Web 相关的各种脚本以及基本的推送服务。尤其是 Kindle 相关脚本,我现在依然在使用。
虽然 WKK 早已停止开发,但是对于更高效的信息处理、知识获取和能力转化的追求从未停止。最近一直在做数据平台相关的工作,今天上班路上思考《数据科学工程师指南》一文中提到的『自我数据管理平台』的时候忽然想起 WKK。
于是,W.I.S.E. 这个新项目就此诞生。
W.I.S.E. 今生
起名字是软件工程中最难的问题,推敲许久,终于确定了使用 W.I.S.E. 作为项目的名称,一来是自带『聪明』的意思,二来其全称 Wdxtub's InSight Engine 恰好特别符合项目的主题。InSight 可以看作是 Knowledge 的下一形态,意味着是 WKK 的继承者和超越者,Engine 则说明这是一个引擎(对,又回到了本科毕业设计的思路),给各种应用提供强劲动力。
预计的技术栈为:
- Go, Beego
- Elasticsearch, MySQL, Redis
- Nginx
- Web/Mac/iOS/Android/Windows
- 预计很长一段时间都只会有 Web 版本,后面的平台看心情
核心功能有:
- 信息聚合:博客、微博、豆瓣、知乎、Kindle
- 内容分析:笔记、日志、书籍
- 推荐系统:音乐、电影、书籍
- 生活相关:饮食、习惯、运动、重要事件/节点追踪
看起来内容很多,其实这都是『闭环』中的一部分,现在没有了时间限制,就一点一点慢慢做吧。更多详情会同步更新到博客和 Github 中,今天就算是正式启动了!
当时的功能规划
为了配合 2017 年度计划,我不得不在手机上安装了一系列应用来应对各种简单却繁琐的需求,各类数据被一个个应用沙盒关闭在了孤岛中。于是我在想,有没有办法首先让所有的数据『流动』起来,然后随着时间的积累,从中挖掘出更多的有价值的东西呢?
- 总览会自动选择最近的重要事项进行展示
- 模块化展示,做成可配置的即可
- Wise 机器人:类似 Siri,可以用自然语言进行简单的交互
- 相关技术:自然语言处理、知识图谱、自动问答
- 信息流:推送精选信息(豆瓣、微博、知乎、及其他博客网站),结合机器学习进行信息筛选
- 相关技术:爬虫、关键词抽取,知识图谱、推荐系统、搜索引擎
- 笔记本:基于 Markdown 的笔记本
- WKK 中已有功能,需要集成到 W.I.S.E 中
- 剪报本:自动导入 Kindle 等设备的书摘数据,方便整理到笔记本中
- WKK 中已有功能,需要集成到 W.I.S.E 中
- 待办事项:GTD 风格任务管理(项目管理,可以链接到任意笔记)
- 首发功能,后续 W.I.S.E. 项目就会以此为项目管理工具
- 年度计划:年度计划的进度追踪与管理,还有重大日期记录(倒数日)
- 优先开发功能,会以更加自动和智能的方式来进行年度计划跟踪管理
- 数据统计:个人相关数据统计及可视化展示
- 博客爬虫及页面访问分析
- 分析报告:自动周报、月报、年报,结合年度计划给出分析与建议
这份规划的价值在于把信息流、笔记、书摘和任务放到同一套流程中思考。功能清单保留的是设计意图,不能据此推断这些功能已经实现。
相关文章
- Spotagram 设计开发手记2015-12-09
- 一个时间管理应用的设计思路2013-04-05
- 让笔记进入工作:从信息收集到写作输出2026-11-06
- 【简约至上】留白2025-09-09