工程实践申请成功啦,开熏

申请成功的感想

今天和两个组员一起去见了孟老师,老师人很nice , 对我们几个基本没啥经验的同学没有过多的质疑。不过老师考虑到了我们目前的编程能力去做这个一个大型的知识图谱自动化项目还是有点难度,最终的项目内容可能有点区别。

如果你想做自己喜欢的东西,就要主动做出选择;如果你对这个选择没有足够的信心,就要做好充分的准备。大不了失败了再尝试一次。

同时还是要感谢老爹的鼓励,前几天跟他视频时讲到这个问题,我还怕我把课题讲出来他不太懂,果然还是低估了老爹的理解能力。他强调一定要做一份类似可能性计划书的重要性,好吧,我信了。(其实,我就是把看资料的笔记重新改了改,论记笔记的重要性…) 他还说,不要太担心,这种实践性的项目就是让人练手的,基本都会通过的,好吧…

不管怎样,还是拿到了自己喜欢的课题,很开心。


以下是之前准备的一些内容

准备方向

关于项目

  1. 目前国内知识图谱的应用现状是怎样的
  2. 相关理论在这个项目中的具体体现,还有哪些同层次的实现方法
  3. 项目从数据获取到最终应用的运行流程
  4. 技术选型(细节这块不是很懂)
  5. 目前项目的要求有什么缺陷和问题

关于自己

  1. 为什么对这个方向感兴趣
  2. 是否有相关经验,可结合个人经历说些开发经验,毕竟我觉得这是一个偏工程多点的项目
  3. 如无,今后的发展方向是什么,将在小组内担任何种角色

课题理解

目前知识图谱普遍采用了语义网框架中RDF(Resource Description Framework,资源模式框架)模型来表示数据。语义网是万维网之父蒂姆·伯纳斯-李(Tim Berners-Lee)在1998年提出的概念,其核心是构建以数据为中心的网络,即Web of Data;这是相对于我们目前的万维网是Web of Pages而提出的。

爬虫抓取原始数据

  • 从半结构化网页中诱导通用模板
  • 待爬队列,已爬队列
  • DPS OR BPS
  • 采用Scrapy引擎(或其他)处理后获得预处理数据,存储在Mysql数据库(或其他)中
  • 后续更新:新的网站URL加入待爬队列——可能涉及到跟已有数据的一致性验证问题

预处理后的数据转成三元组

  • 指代消解:最大熵模型、SVM模型
  • 识别命名实体及关系抽取:
    • CRF-SVM联合分类器(或其他)——适合半结构化数据
      • 条件随机场:识别属性和尾实体
      • 支持向量机:判断三元组的语义关系
  • 抽取后的数据存在图数据库Neo4j(或其他三元组数据库)——该数据库提供可视化接口
  • 如果是多数据源,还涉及到知识融合问题
    • 实体名称匹配,可采用相似度匹配
      • 余弦相似
      • 欧氏距离
      • 编辑距离
    • 属性融合——消除歧义
      • 属性相似度

自动生成问题和答案——知识推理

  • 整理该应用领域常见的问题
  • 将问题转为图数据库查询语句SPARQL(或其他)
  • 在图数据库中搜索答案
  • 基于 Elasticsearch(或其他)搭建一个简易实体语义搜索引擎

平台化

  • 用户登录验证
  • 数据导入
  • 默认自动生成的问题
  • 自定义查询接口: 构建中英文知识问答模块
  • 对答案进行可视化渲染后呈现
  • 清空数据

现有工具(部分开源,这里仅了解到的一小部分)

  • 本体知识建模(schema): Protégé
  • 三元组数据库:Apache Jena、RDF4J 、gStore 、AllegroGraph 、GraphDB
  • 三元组抽取: DeepDive 、Reverb 、OLLIE 、Wandora
  • 知识融合:LIMES 、Dedupe 、SILK 、RIMOM 、Falcon-AO 、 Lily
  • 知识图谱推理:Jena 、Drools
  • 语义搜索: Elasticsearch
  • 知识问答系统: gAnswer