StoneAgeDict
——Online, Real-time Dictionary Service
一期工程概述
从2月1日至今, StongeAgeDict项目经历了三次迭代,顺利完成了一期工程。
1. 明确了需求
- 用户无需注册便可以查询、提交词汇定义或解释、例句等
- 词汇审核人员可以审核用户提交的词汇更新
2. 确定了架构、技术
3. 实现了查询、审核词汇
- 查询词库:用户进行词汇查询的共同、通用词库
- 待审核词库:用户提交的词汇更新词库
4. 查询词库数据导入
详细一点的设计可以参考
StoneAgeDict现阶段设计小结。
二期工程展望
二期工程主要分为两大
研究与
实现方向:
1. 词汇查询性能调优
2. 降低词汇审核人员工作量,提高审核工作质量
这个是二期工程的研究重点和难点,可以从以下两方面入手:
- 自动过滤用户提交的无用词汇更新(类似垃圾邮件过滤,可以采用贝叶斯分类模型)
- 自动过滤用户提交的重复词汇定义(过滤与已有词库定义重复的词库更新部分)
以上提到的两个方面属于自然语言处理、数据挖掘范畴,可以作为
研究课题开展。
3. 丰富查询库
4. 用户自己的词库
在某些场景下,用户的确需要自己的词库。例如:X教授拥有自己的整理的词库,对他的学生讲学的时候就很方便。要满足类似的用户需求,只需要在查询时根据用户名在
查询词库中抽取出对于用户更新的部分即可。也就是说,用户可以定制自己的
过滤器以抽取出不同的词汇定义,即可
满足用户词库共享。
一些认识
- 有时,诱导用户去简化他的需求可以让用户、开发团队受益良多,win-win才是我们所期待的
- 复杂的应用总是构建在简单的应用上的,这样才能保证系统整体的稳定和开发过程的敏捷
- 无论是基本的Water-full、Prototype、Iteration过程还是RUP、Agile等实际使用的过程模型、方法论,项目管理一定要做好,不能没有,也不能过度。只从过度这一点来看,与软件设计的过度设计有很多想通之处。软件工程问题上升到哲学范畴看的话,核心问题就是权衡、矛盾处理