-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
23 lines (17 loc) · 1.84 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
代码思路:
1. 将pdf文件解析为json格式,并且从pdf文件中提取表示章节结构的阅读大纲(pdf阅读器打开后位于视图左边的层级标签)
2. 从content页读取章节对应的页码,将页码与上一步中提取的章节匹配起来。
3. 从index页中读取关键词以及对应出现过的页码。
4. 给定一个待查寻单词,判断是否为关键词。若为3中的关键词,则直接使用3中提取的页码来查询该词出现在哪个章节;若不是,则遍历教材json文件,找出该单词出现过的页码,并查询页码对应的章节。
4. 直接遍历教材json文件并超出该单词出现过的页码,并查询页码对应章节。(第4步由函数参数控制)
输入: 教科书pdf。
输出: 若干个概念的信息,包括:概念所属一级章节,概念所属二级章节,概念出现在的页码。以json形式储存。
输出示例:
[{'concept': '2 × 2 table', 'info': {'page': [92, 135, 492, 493, 494, 494, 496, 497, 505, 506, 546, 557, 558, 559, 642, 666, 666, 667, 667, 667, 667], 'chapters': '10 Nonlinear Regression Models', 'subchapters': '10.4 Proportion Data'}},...]
注:
1. 概念所属章节的确定:若一个概念出现在多个页码中,则按章节统计,取出现频次最多的页码作为概念所属章节。
2. 概念出现在的页码的统计规则:既可以输出,按页码对概念去重,得到出现在的页码(示性),或是不去重。如:概念A出现在第1页2次,第3页1次,前者将会输出[1,3],后者将会输出[1,1,3]。具体的由函数参数控制。
对一本新书,要做的工作有:
1.pdf是否有阅读大纲,若没有要手动添加。
2.修改代码部分content、index、正文对应的页码。
3.需按照该书实际的content、index结构来修改正则表达式。