知识图谱学习小组学习大纲

本文的官方版本在 小组的Wiki上 https://github.com/memect/kg-beijing/wiki/知识图谱学习小组学习大纲

2016年6月3日

鲍捷

 

这个学习小组的目的,不是按教科书的定义去学习“知识图谱”,更不是做研究。我们更多是要去解决问题,而不是研究方法。传统的“知识图谱”(Knowledge Graph),“链接数据”(Linked Data),“语义网”(Semantic Web),”知识提取”(Knowledge Extraction),等等技术,到底在实战中要解决的是什么问题?要解决这些问题是不是可以用相对简单的方法?能不能用廉价的方法尽可能快地解决有代表性的问题?这是这个学习小组的目的。

 

知识图谱是一种结构化数据的处理方法,它涉及知识的提取、表示、存储、检索等一系列技术。从渊源上讲,它是知识表示与推理、数据库、信息检索、自然语言处理等多种技术发展的融合。在短短的四周内,显然不可能涉猎所有上述领域。而且作为一个以自学为主的学习小组(而非集中强化的学习班),也不可能学习太深。所以学习小组更多只是提供一种思路,让大家觉得知识图谱并不神秘,不是大公司的专利,自己也可以做一点点小事,不必拘泥于特定的方法。

 

以应用为导向,尽可能降低工程的风险,就决定了我们非常关注成本,尽可能依赖成熟的技术。因此,在内容选择上,有人可能会觉得“这也配叫知识图谱”?但是过去十多年的实践中,我们已经看到太多的工程因为教条而失败。我们不应该盲目追求技术的先进性或者新颖性,而是应以业务为目标,用知识图谱的原则而非具体的教条去解决问题。

 

因此,在这四周里,我们是要通过一些具体的小问题的学习,来体会知识图谱的核心理念。我们会优先使用传统的成熟技术,并把它们和前沿(通常也是高风险、不成熟)技术比较,来比较这些理念不同的实践路径。同一个问题,同一个理念,可以根据实际情况有不同的实现。我们要掌握的,是这些理念,并在今后的实践中发现新的实现方法。

 

这四周的安排,就是依次接触知识图谱四个领域的一些核心理念。每周我们会安排线上的自学和一次线下的聚会。在线下聚会上,我们会解答大家的疑问,并邀请领域专家和大家分享该周话题上的工程实战经验。

 

第一周:知识提取

详细提纲 https://github.com/memect/kg-beijing/wiki/第一期w1:知识提取

知识提取是要解决结构化数据生成的问题。但是广义上讲,知识提取是数据质量提升中的一环,各种提升数据质量的方法,都可以视为某种知识提取。学术上一般是用自然语言处理的方法,但在实践中通常是利用规则。

 

我们要熟悉的概念和工具有

× 正则表达式

× 中文分词和词性标注

× 命名实体识别

作业:综合分词工具和正则表达式提取邮件签名档

 

第二周:知识表示

 

知识表示是如何组织数据的结构,以方便推导出新的结构的方法。传统上属于逻辑的分支,但在实践中我们会用很简单、可读、可维持的数据结构。

× JSON和YAML

× RDF和OWL

× JSON-LD

作业:自己设计电子邮件的结构化表示

 

第三周:知识存储

 

知识存储解决如何管理大量的结构化数据。我们可以用不同的数据库工具。现代的关系数据库可能可以解决大多数需要知识图谱的场合。某些特殊场合,我们需要图数据库。

 

× 知识链接的方式:字符串、外键、URI

× PostgreSQL及其JSON扩展

× 图数据库 Neo4j和OrientDB

× RDF数据库Stardog

作业:选择一种数据库存储自己的电子邮件

 

第四周:知识检索

 

知识检索提供对用户友好的交互。知识检索从简单到复杂可分为六级:关键词、词联想、词本体、短程关系、长程关系、自由问答。我们会实践前两个层次的技术,并了解后面四个层次。

 

× Gensim实现主题模型

× ElasticSearch

× SearchKit构造分面浏览器

× IBM Watson的架构
作业:浏览和检索自己的电子邮件

 

(具体的内容链接和作业内容会在下周细化)

 

 

第一期学习小组的班长是杜会芳(中国农业大学, duhuifang@memect.co )。有问题可以联系我( baojie@memect.co ) 和班长。

 

谢谢大家的参与。期待和你度过富有挑战的四周。

 

 

发表评论