本文的官方版本在 小组的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 ) 和班长。
谢谢大家的参与。期待和你度过富有挑战的四周。
发表回复