MindTorch开发规划

缘起中介绍了智能笔记本初步想法,我的口号是:

用思想照亮自己,发现友人

bigger满足个人期望……本着这一宗旨,项目命名为:MindTorch。 自知整体构想难度很大,因此在5周开发计划中,只做第一阶段,而且可能只满足局部目标。即,只做能输入、保存的笔记本,不考虑网络化。但要有一定的知识整理功能

项目分析

输入:

  • 读文章请求(鼠标)
  • 查文章请求(鼠标)
  • 写文章请求(鼠标)
  • 写文章(键盘+输入法)
  • 改文章请求(鼠标)
  • 改文章(键盘+输入法)
  • 存文章请求(鼠标)
  • 查看知识图谱请求(鼠标)
  • 由知识图谱节点查文章请求(鼠标)

输出:

  • 全部文章列表(按时间索引)
  • 符合搜索条件文章列表(按【知识节点】索引)
  • 创建新文章窗口
  • 编辑旧文章窗口
  • 保存文章
  • 展示知识网络图谱
  • 知识网络节点与文章之间建立链接

处理:

整体功能可以分成三个组块:

  • 笔记本功能 难度较大的是文本编辑功能,特别是中文的输入,方案如下。
    1. 使用现成的python笔记本应用。
      • 找到按我的需要进行修改。
      • 找不到使用方案2
    2. 用python调用系统自带的文本编辑功能。
      • 操作系统应该都有最基本的文件读写支持,调用。调用不成的话,使用方案3。
    3. 使用已有的GUI系统做一个文本输入框。
      • GUI都有文本输入窗口。
        • 如果中文输入不支持……中文输入的问题不大,主要是显示,那就只能研究中文的显示问题了……但是,因为笔记本是极为基本、普遍的功能,考虑到上述方案的可行性已经非常高,从头研究中文显示的风险很小。因此时间上不作此考虑,如果真不得不做,则项目目标将排除知识图谱生成部分,暂时只完成最基本功能。
  • 文本的知识节点提取与组织
    畅想的各种可能性,最基本功能,提取关键字

    • 进行自然语言处理,从文字提取出知识。
      • 查找python的NPL软件包,查不到也不可能自己做。
    • 写作者自己添加【知识标签】,软件对标签进行整理。
    • 提取段落中心句,作为知识整理的重点(中心句通常在首句或末句)。
    • 统计词频,作为关键词。
      • 查找现成库,对虚词、非关键词等进行过滤。
    • “我认为”,“我觉得”,“总的来说”……提取这一类关键字后面的内容。
    • 如果笔记本支持markdown语法,则提取各级标题及加粗、斜体关键字。

    进阶功能,获取知识关系。

    • 设计标签规则,允许用户自定义知识点关系,用标签标识。则知识的结构化只需对标签逻辑进行处理,避免了自然语言处理(这才是我寄予希望的方案)。
      • 标签规则的设计仍然很困难,预计参考一些知识结构化,知识图谱方面的文献,获取20%常见结构即可(5周规划不考虑这部分)。
  • 网络图谱的生成
    • 使用已有的知识谱图工具。(已有高人指点,可行:D)
    • 用可绘图的python工具自己画。
    • 用JavaScript之类的外部工具调用画。
    • 什么工具都不会的话,先用最简单的文本方式,线、箭头来画。