## 步骤
### 构建graph数据库
将数据 https://www.openacademic.ai/oag/ 加入到Neo4j graph数据库中
1. nodes are: papers
2. relationships: Paper A reference Paper B. From fields `references`, we can add these relationships
3. Properties: Felds except `references` can all be taken as properties (name and value pairs)
4. We can use Neo4j Python Driver (https://neo4j.com/developer/python/) to builld the graph from data
Subtasks:
– Familiar with Neo4j API 20%
– Data processing and implementation 80%
### 计算论文权重值
每个论文用1个单一数值表示它的重要程度。
可以通过对我们构建的citation graph分析计算论文的重要程度。一种思路就是利用pagerank算法。pagerank最初是利用网页之间的链接关系来计算网页的重要度,而论文是利用论文引用关系来计算论文重要度。两者之间非常相似, 所以可以利用pagerank算法来做。
subtasks:
– Studying the algorithms 30%
– Implementing the importance metric computation 50%
– Correctness verifying and testing 20%
### 论文主题分类
我们可以用 Latent Dirichlet allocation`LDA`来做论文主题分类。
1. 我们可以用论文的全文或者只用它的摘要。一般摘要是一个论文的概括,可能只用摘要会更好些。
2. 常见的文本预处理 比如tokenize
3. 模型参数计算
subtasks:
– Study LDA algorithm 30%
– Implementing the LDA algorithm for this project 40%
– Test the impementation 30%
### 论文推荐
用户输入一篇论文, 我们给他推荐同一主题的重要度比较高的若干篇论文给他。通过LDA模型得到输入论文的主题,从论文数据库中得到同一主题且重要度排名较高的论文,比如前10个论文输出。
subtasks:
– Implementation and system integration 70%
– System test 30%
“`
https://scholar.google.com/scholar?hl=zh-CN&as_sdt=0%2C5&q=CITATION+NETWORK&btnG=\
https://scholar.google.com/scholar?hl=zh-CN&as_sdt=0%2C5&q=document+topic&btnG=
“`