·为什么是小司马?
小司马,英文名SmartH,是笔者最近在开发的历史选择题答题系统,名字起源于伟大的史学家——司马迁。我们试图制作一个AI系统,来回答高考题,笔者有幸参与历史单选题回答部分。开发过程也许会漫长而艰辛,鉴于小boss已然准备慷慨赴死,笔者决定记录我等赴死全过程。
当然,以后写到的将只有笔者在负责的这部分,有一些别人的工作笔者不会直接采用,而是替换为自己所做的工作。小司马日记将仅提供笔者的思路和框架。
源代码请见GitHub。
·第一天
今天是小司马诞生的日子,完成的主要工作如下:
1. 起了一个很好的名字,一起为笔者的机智点个赞吧;
2. 完成了部分框架设计——这将在后面的段落里着重讲一讲;
3. 实现了框架的QuestionAcquisition、QuestionAnalyzer、部分Question以及一个简单的Perceptron。
··框架设计
QuestionAcquisition——将文本文件中的问题读入并且切分,最终建立Question类,将题干和选项分别存入到Question对应的数据中去;
Question——存储一切与某一个问题相关的属性和特性,如题干、选项、题型分类等,注意,在Question中会有多个公有的Option;
QuestionAnalyzer——提供一个问题分析器,主要是分析题型归类、题干中的逻辑线索等,输入来自Question类,输出到Question类中;
Option——存储于选项有关的属性和特性,如选项的类型、相关概念集等;
Perceptron——就是简单的感知器算法,在构建时可以指定维度、样本数量、步长,纯手打无污染,后面在根据题干特征值对题型进行分类时会用到。