/JuHeRenDa

聚合人大:基于知识图谱的高校信息集成与推荐平台开发与应用。2020年**大学生创新实验计划国家级立项且获得优秀结项。

Primary LanguagePython

聚合人大:基于知识图谱的高校信息集成与推荐平台开发与应用

摘要

高校信息平台建设是高效信息化的关键一环, 也是信息化2.0时代的必然诉求。当前高校信息平台主要存在2个问题,一是各部门学院之间信息自建自用,信息壁垒高,导致了信息冗余、信息孤岛现象严重;二是信息平台设计仅考虑到了数据管理功能,忽视了对师生的教学生活的服务功能。基于这样的背景,本项目旨在建立一个具有先进的设计理念、由良好的底层结构和顶层设计支撑支撑、能够全面地集成高校内各来源的咨讯和信息并根据个性化诉求呈现给用户、对用户友好的高校信息平台——聚合人大因此诞生。

项目的实现过程大致分为了四个阶段,分别是制定开发计划、数据爬取与算法实现、微信小程序搭建以及测试与改进。本项目组利用制定甘特图等方式科学管理项目各部分的进程,利用Git来对项目各项功能进行代码的版本管理。所有的任务由组长统筹安排并分配到个人,与此同时项目小组会定期开会分享工作进程,解决当前问题。这样的安排使得项目能够高效推进。

经过整个团队的不懈努力, 我们实现了以下成果。第一,项目小组爬取了**人民大学17个学院官网、公众号和学校教务处的公开新闻,为后续的新闻推荐提供了实时的、完备的信息资源;第二,实现了综合了基于tf-idf和基于FM的两种推荐系统,让用户能够以极小代价迅速了解自己感兴趣的内容,同时拓展兴趣领域;第三,抽取了上述学院的教师和新闻中的实体信息作为节点构建了人大知识图谱,提供了更加丰富的推荐结果。第四,实现了基于微信小程序的用户交互界面,并选取Django作为后端开发的框架,将推荐系统和知识图谱挂载在后端运行,并传回前端显示给用户。项目的第二、第三项成果都具备极高的科研价值, 我们也基于人大的数据做了一系列关于新闻推荐和命名实体识别的科研实践。

在使用时,用户可以通过微信平台登陆“聚合人大”小程序,在主页浏览系统推荐新闻;用户也可以进行下拉更新,主页会根据用户的历史点击情况对用户进行个性化的新闻推荐。知识图谱的应用也会丰富用户的浏览体验,对于新闻列表中的实体(例如人名),系统会自动将其进行高亮处理,借助知识图谱将存在联系的信息链接起来,用户点击该实体会出现对于实体的相关介绍。

关键词: 新闻推荐,高效信息平台,知识图谱

demo演示

2FYYY8.png

成果介绍

  1. 集成数据
  • 我们利用爬虫集成了学校17个学院的官网、公众号, 以及学校教务处近2年发布的所有新闻, 以作为应用的新闻池;
  • 我们利用爬虫下载了上述17个学院的所有教师信息, 作为构建知识图谱的最重要实体节点;
  1. 人大知识图谱构建
  • 我们从新闻池中选样出2000条富含实体的新闻, 人工标注了其中包含的【姓名】,【职称】,【活动】,【会议】,【专业】,【部门】,【地点】实体, 之后使用深度学习的NER技术学习其标注规则, 完成了一项命名实体识别的科研实践;
  • 根据这些实体, 我们选择性地挑出其中标注准确的部分, 然后以【就职于】、【专业是】、【参加了】作为关系连接这些实体, 形成了基础的知识图谱, 并在neo4j中存储和可视化;
  1. 推荐系统设计实现
  • 我们充分阅读了新闻推荐领域的文献, 并设计了两种推荐模型: 基于tf-idf推荐和基于FM的推荐;前者使用用户点击的新闻包含的词的tf-idf特征作为用户画像, 之后去新闻空间搜索相似新闻;后者使用Factorization Machine建模新闻各项特征(发布时间, 发布者等)之间的复杂交互;
  1. Demo设计和开发
  • 整体来讲, 我们采用了Mysql+Neo4j-Django-微信小程序的工作流, 即使用Mysql和Neo4j分别作为新闻和知识图谱的数据库, Django作为后端, 微信小程序作为前端, 最终呈现给用户;
  • 我们学习使用了Django的各种使用方法, 并成功使用其作为核心串连整个工作流;
  • 我们学习应用了微信小程序的各个接口, 开发规范, 成功开发了属于聚合人大的前端界面;
  • 用户在使用本小程序时, 只需登陆一次, 之后浏览的新闻都会被记录, 然后每次下拉列表即可得到推荐; 同时新闻标题中的实体会被高亮显示, 用户点击则会有相应的实体弹窗, 获得相应的信息。

从宏观来说, 本项目是一次高校信息化进程中的重要尝试, 能够极大地减轻校内信息冗余, 信息孤岛等现象, 实现了信息结构化;并且其中多项技术颇具难度, 因此兼具实践和科研的意义, 我们在Github上公开了项目的源代码https://github.com/Ethan00Si/DaChuang, 同时我们进行了对新闻推荐领域的科研学习, 包括文献综述和sota模型代码复现, 同样开源在https://github.com/namespace-Pt/News-Recommendation, 以及对命名实体识别领域的科研学习, 也开源在https://github.com/namespace-Pt/NER。 最后, 科研论文Selective Fine-grained Interaction for Neural News Recommendation将投CIKM2021。