| 摘要 | 第3-4页 |
| ABSTRACT | 第4-5页 |
| 1 绪论 | 第8-12页 |
| 1.1 研究背景及意义 | 第8-9页 |
| 1.2 研究现状 | 第9-11页 |
| 1.2.1 数学表达式搜素引擎 | 第9-10页 |
| 1.2.2 数学表达式描述语言 | 第10-11页 |
| 1.3 本文的主要工作及组织结构 | 第11-12页 |
| 1.3.1 本文的主要工作 | 第11页 |
| 1.3.2 组织结构 | 第11-12页 |
| 2 数学表达式检索相关理论和技术 | 第12-22页 |
| 2.1 数学表达式的描述语言 | 第12-15页 |
| 2.1.1 基于 XML 的数学标记方法概述 | 第12页 |
| 2.1.2 MathML 标记语言 | 第12-14页 |
| 2.1.3 OpenMath 标记语言 | 第14-15页 |
| 2.2 数学表达式检索 | 第15-20页 |
| 2.2.1 数学表达式检索的概念与构成 | 第16-17页 |
| 2.2.2 典型的数学表达式检索系统 | 第17-19页 |
| 2.3.3 现有搜索引擎对比 | 第19-20页 |
| 2.3 全文检索引擎框架 Lucene | 第20-21页 |
| 2.4 本章小结 | 第21-22页 |
| 3 FormulaSearch 系统设计 | 第22-42页 |
| 3.1 设计需求 | 第22页 |
| 3.2 FormulaSearch 的系统设计 | 第22-23页 |
| 3.3 数据库的设计 | 第23-25页 |
| 3.3.1 XML 文档数据库 | 第24-25页 |
| 3.3.2 数学表达式数据库 | 第25页 |
| 3.4 输入模块 | 第25-30页 |
| 3.4.1 数学表达式的编辑 | 第26-29页 |
| 3.4.2 将数学表达式存储为 MathML 代码 | 第29-30页 |
| 3.5 预处理模块 | 第30-37页 |
| 3.5.1 提取子模块 | 第32页 |
| 3.5.2 分词子模块 | 第32-37页 |
| 3.6 索引模块 | 第37-39页 |
| 3.6.1 Lucene 索引过程分析 | 第37-38页 |
| 3.6.2 FormulaSearch 索引模块的设计 | 第38-39页 |
| 3.7 检索模块 | 第39-41页 |
| 3.7.1 Lucene 检索过程分析 | 第39-40页 |
| 3.7.2 FormulaSearch 检索模块的设计 | 第40-41页 |
| 3.8 本章小结 | 第41-42页 |
| 4 FormulaSearch 系统实现 | 第42-52页 |
| 4.1 开发环境 | 第42页 |
| 4.1.1 硬件环境 | 第42页 |
| 4.1.2 软件环境 | 第42页 |
| 4.2 输入模块的实现 | 第42-43页 |
| 4.3 预处理模块的实现 | 第43-46页 |
| 4.3.1 提取子模块的实现 | 第43-44页 |
| 4.3.2 分词子模块的实现 | 第44-46页 |
| 4.4 索引模块的实现 | 第46-48页 |
| 4.5 检索模块的实现 | 第48-51页 |
| 4.5.1 数学表达式检索的实现 | 第48-49页 |
| 4.5.2 检索结果高亮的实现 | 第49-51页 |
| 4.6 本章小结 | 第51-52页 |
| 5 实验结果及分析 | 第52-56页 |
| 5.1 实验结果 | 第52-54页 |
| 5.1.1 数学表达式的输入和呈现 | 第52页 |
| 5.1.2 数学表达式的分词 | 第52-54页 |
| 5.1.3 数学表达式的检索 | 第54页 |
| 5.2 FormulaSearch 实验结果分析 | 第54-56页 |
| 6 总结与展望 | 第56-58页 |
| 6.1 总结 | 第56页 |
| 6.2 后续工作展望 | 第56-58页 |
| 致谢 | 第58-59页 |
| 参考文献 | 第59-61页 |