MindTorch开发规划
在缘起中介绍了智能笔记本初步想法,我的口号是:
用思想照亮自己,发现友人
bigger满足个人期望……本着这一宗旨,项目命名为:MindTorch。 自知整体构想难度很大,因此在5周开发计划中,只做第一阶段,而且可能只满足局部目标。即,只做能输入、保存的笔记本,不考虑网络化。但要有一定的知识整理功能。
项目分析
输入:
- 读文章请求(鼠标)
- 查文章请求(鼠标)
- 写文章请求(鼠标)
- 写文章(键盘+输入法)
- 改文章请求(鼠标)
- 改文章(键盘+输入法)
- 存文章请求(鼠标)
- 查看知识图谱请求(鼠标)
- 由知识图谱节点查文章请求(鼠标)
输出:
- 全部文章列表(按时间索引)
- 符合搜索条件文章列表(按【知识节点】索引)
- 创建新文章窗口
- 编辑旧文章窗口
- 保存文章
- 展示知识网络图谱
- 知识网络节点与文章之间建立链接
处理:
整体功能可以分成三个组块:
- 笔记本功能
难度较大的是文本编辑功能,特别是中文的输入,方案如下。
- 使用现成的python笔记本应用。
- 找到按我的需要进行修改。
- 找不到使用方案2
- 用python调用系统自带的文本编辑功能。
- 操作系统应该都有最基本的文件读写支持,调用。调用不成的话,使用方案3。
- 使用已有的GUI系统做一个文本输入框。
- GUI都有文本输入窗口。
- 如果中文输入不支持……中文输入的问题不大,主要是显示,那就只能研究中文的显示问题了……但是,因为笔记本是极为基本、普遍的功能,考虑到上述方案的可行性已经非常高,从头研究中文显示的风险很小。因此时间上不作此考虑,如果真不得不做,则项目目标将排除知识图谱生成部分,暂时只完成最基本功能。
- GUI都有文本输入窗口。
- 使用现成的python笔记本应用。
文本的知识节点提取与组织
畅想的各种可能性,最基本功能,提取关键字。- 进行自然语言处理,从文字提取出知识。
- 查找python的NPL软件包,查不到也不可能自己做。
- 写作者自己添加【知识标签】,软件对标签进行整理。
- 提取段落中心句,作为知识整理的重点(中心句通常在首句或末句)。
- 统计词频,作为关键词。
- 查找现成库,对虚词、非关键词等进行过滤。
- “我认为”,“我觉得”,“总的来说”……提取这一类关键字后面的内容。
- 如果笔记本支持markdown语法,则提取各级标题及加粗、斜体关键字。
进阶功能,获取知识关系。
- 设计标签规则,允许用户自定义知识点关系,用标签标识。则知识的结构化只需对标签逻辑进行处理,避免了自然语言处理(这才是我寄予希望的方案)。
- 标签规则的设计仍然很困难,预计参考一些知识结构化,知识图谱方面的文献,获取20%常见结构即可(5周规划不考虑这部分)。
- 进行自然语言处理,从文字提取出知识。
- 网络图谱的生成
- 使用已有的知识谱图工具。(已有高人指点,可行:D)
- 用可绘图的python工具自己画。
- 用JavaScript之类的外部工具调用画。
- 什么工具都不会的话,先用最简单的文本方式,线、箭头来画。