附录C:数据集资源

知识图谱与AI融合应用的开发和研究需要大量高质量的数据。本附录将介绍公开的知识图谱数据集、评估基准与竞赛,以及数据采集与处理工具,帮助读者获取和处理知识图谱数据。

C.1 公开知识图谱数据集

C.1.1 通用知识图谱

通用知识图谱涵盖多个领域的知识,适用于通用型应用场景。

C.1.1.1 Freebase

  • 描述:Freebase是一个由Meta(原Facebook)开发的大型协作式知识库,包含超过30亿条三元组。
  • 特点
    • 结构化表示现实世界中的实体和关系
    • 涵盖人物、地点、组织、事件等多个领域
    • 支持SPARQL查询
  • 应用场景:通用搜索、问答系统、知识增强的AI模型
  • 获取方式:已关闭,数据已迁移到Wikidata,可通过Google Knowledge Graph API访问部分数据

C.1.1.2 Wikidata

  • 描述:Wikidata是一个免费的协作式知识库,由维基媒体基金会维护,是Wikipedia的结构化数据版本。
  • 特点
    • 包含超过1亿个实体和15亿条声明
    • 支持多种语言
    • 允许任何人编辑和贡献
    • 提供SPARQL端点和API访问
  • 应用场景:通用知识应用、跨语言知识图谱、维基数据增强
  • 获取方式

C.1.1.3 DBpedia

  • 描述:DBpedia是从Wikipedia中提取的结构化知识库,包含超过460万个实体和6.7亿条三元组。
  • 特点
    • 自动从Wikipedia中提取结构化数据
    • 支持多种语言版本
    • 提供标准化的实体描述和分类
    • 支持SPARQL查询
  • 应用场景:语义搜索、链接开放数据、知识增强
  • 获取方式

C.1.1.4 YAGO

  • 描述:YAGO(Yet Another Great Ontology)是一个精确的知识图谱,结合了Wikipedia、WordNet和GeoNames的数据。
  • 特点
    • 包含超过1000万个实体和1.2亿条三元组
    • 提供时间和空间信息
    • 高准确性和一致性
    • 支持SPARQL查询
  • 应用场景:时间感知的知识应用、地理信息系统、精确知识推理
  • 获取方式

C.1.1.5 ConceptNet

  • 描述:ConceptNet是一个多语言的常识知识图谱,包含超过3000万个节点和3.4亿条关系。
  • 特点
    • 专注于常识知识,如概念之间的关系
    • 支持多种语言
    • 采用简单的边类型,如"isA"、"hasPart"、"usedFor"等
    • 适合自然语言理解和生成任务
  • 应用场景:常识推理、自然语言理解、对话系统
  • 获取方式

C.1.2 领域知识图谱

领域知识图谱专注于特定领域的知识,适用于垂直领域的应用场景。

C.1.2.1 医疗健康领域

C.1.2.1.1 UMLS(Unified Medical Language System)
  • 描述:UMLS是一个集成的医学术语知识库,包含超过300万个概念和1.3亿条关系。
  • 特点
    • 整合了100多个医学术语表
    • 涵盖疾病、症状、药物、基因等多个医学概念
    • 提供概念之间的映射关系
  • 应用场景:医疗信息系统、临床决策支持、药物发现
  • 获取方式
C.1.2.1.2 SNOMED CT(Systematized Nomenclature of Medicine -- Clinical Terms)
  • 描述:SNOMED CT是一个国际标准的医学术语集,包含超过35万个概念和140万条关系。
  • 特点
    • 涵盖临床护理、疾病诊断、药物治疗等领域
    • 支持多语言
    • 定期更新
  • 应用场景:电子病历、临床决策支持、医疗数据分析
  • 获取方式

C.1.2.2 金融领域

C.1.2.2.1 FinCEN(Financial Crimes Enforcement Network)
  • 描述:FinCEN提供金融犯罪相关的数据,包括可疑活动报告(SARs)和货币交易报告(CTRs)。
  • 特点
    • 包含金融机构提交的可疑交易数据
    • 用于反洗钱(AML)和打击恐怖融资(CFT)
    • 支持金融网络分析
  • 应用场景:金融风控、反洗钱、欺诈检测
  • 获取方式
C.1.2.2.2 OpenFIGI(Open Financial Instrument Global Identifier)
  • 描述:OpenFIGI是一个免费的金融工具标识符数据库,包含超过1.8亿个金融工具的信息。
  • 特点
    • 提供金融工具的唯一标识符
    • 包含股票、债券、衍生品等多种金融工具
    • 支持API访问
  • 应用场景:金融数据分析、投资组合管理、风险管理
  • 获取方式

C.1.2.3 地理领域

C.1.2.3.1 GeoNames
  • 描述:GeoNames是一个地理数据库,包含超过1100万个地理名称和特征。
  • 特点
    • 涵盖城市、河流、山脉、湖泊等地理实体
    • 包含经纬度、人口、海拔等属性
    • 支持多种语言
  • 应用场景:地理信息系统、导航服务、位置基于服务
  • 获取方式
C.1.2.3.2 OpenStreetMap(OSM)

C.1.2.4 学术领域

C.1.2.4.1 DBLP
  • 描述:DBLP是一个计算机科学领域的数字图书馆,包含超过500万篇论文和150万位作者的信息。
  • 特点
    • 涵盖计算机科学的各个子领域
    • 包含论文、作者、会议、期刊等实体
    • 提供论文之间的引用关系
  • 应用场景:学术搜索、作者网络分析、研究趋势分析
  • 获取方式
C.1.2.4.2 CiteSeer
  • 描述:CiteSeer是一个学术文献搜索引擎和数字图书馆,专注于计算机科学领域。
  • 特点
    • 包含超过300万篇论文
    • 提供论文的引用关系网络
    • 支持全文搜索
  • 应用场景:学术搜索、文献计量学分析、引用网络分析
  • 获取方式

C.2 评估基准与竞赛

评估基准和竞赛是推动知识图谱与AI融合技术发展的重要动力。本部分将介绍常用的评估基准数据集和竞赛平台。

C.2.1 知识图谱补全

知识图谱补全(KGC)是指根据已有知识预测缺失的三元组,常用的评估基准包括:

C.2.1.1 FB15k / FB15k-237

  • 描述:FB15k是从Freebase中提取的知识图谱补全数据集,包含14951个实体和1345个关系。FB15k-237是FB15k的改进版本,移除了可逆关系,更具挑战性。
  • 特点
    • FB15k:14951个实体,1345个关系,592213个三元组
    • FB15k-237:14541个实体,237个关系,310116个三元组
  • 评估指标:Mean Reciprocal Rank (MRR)、Hits@1、Hits@3、Hits@10
  • 获取方式

C.2.1.2 WN18 / WN18RR

  • 描述:WN18是从WordNet中提取的知识图谱补全数据集,包含40943个实体和18个关系。WN18RR是WN18的改进版本,移除了可逆关系。
  • 特点
    • WN18:40943个实体,18个关系,151442个三元组
    • WN18RR:40943个实体,11个关系,93003个三元组
  • 评估指标:MRR、Hits@1、Hits@3、Hits@10
  • 获取方式

C.2.1.3 NELL-995

  • 描述:NELL-995是从Never-Ending Language Learning(NELL)系统中提取的数据集,包含18244个实体和200个关系。
  • 特点
    • 包含从网络自动提取的知识
    • 实体和关系类型丰富
  • 评估指标:MRR、Hits@1、Hits@10
  • 获取方式

C.2.2 实体识别与关系抽取

实体识别(NER)和关系抽取(RE)是知识图谱构建的核心技术,常用的评估基准包括:

C.2.2.1 CoNLL-2003

  • 描述:CoNLL-2003是实体识别的经典数据集,包含英语和德语的新闻文本。
  • 特点
    • 包含4种实体类型:Person(PER)、Organization(ORG)、Location(LOC)、Miscellaneous(MISC)
    • 英语训练集:14041个句子,203621个词
  • 评估指标:Precision、Recall、F1-score
  • 获取方式

C.2.2.2 ACE(Automatic Content Extraction)

  • 描述:ACE是一个多语言的实体识别和关系抽取数据集,包含新闻、博客、论坛等多种文本类型。
  • 特点
    • 支持多种语言:英语、阿拉伯语、汉语
    • 包含实体识别、关系抽取、事件抽取等任务
  • 评估指标:Precision、Recall、F1-score
  • 获取方式

C.2.2.3 TACRED(TAC Relation Extraction Dataset)

  • 描述:TACRED是一个大规模的关系抽取数据集,包含超过100k个标注的关系实例。
  • 特点
    • 包含42种关系类型,其中包含一种"no_relation"类型
    • 数据来自新闻和网页文本
    • 实体对之间的关系标注详细
  • 评估指标:Precision、Recall、F1-score
  • 获取方式

C.2.3 竞赛平台

C.2.3.1 SemEval(International Workshop on Semantic Evaluation)

  • 描述:SemEval是一个年度语义评估竞赛,涵盖多个自然语言处理任务,包括知识图谱相关任务。
  • 相关任务
    • 语义关系提取
    • 实体链接
    • 常识推理
  • 获取方式

C.2.3.2 KBP(Knowledge Base Population)

  • 描述:KBP是由NIST组织的知识图谱构建竞赛,旨在评估从文本中提取知识并填充知识库的能力。
  • 相关任务
    • 实体链接
    • 关系抽取
    • 事件抽取
  • 获取方式

C.2.3.3 GraphChallenge

  • 描述:GraphChallenge是一个图算法和系统的竞赛平台,涵盖知识图谱相关的图计算任务。
  • 相关任务
    • 图神经网络性能评估
    • 大规模图处理
    • 知识图谱推理
  • 获取方式

C.2.3.4 Kaggle

  • 描述:Kaggle是一个数据科学竞赛平台,包含多个知识图谱相关的竞赛。
  • 相关竞赛
    • 知识图谱补全
    • 实体识别与关系抽取
    • 图神经网络应用
  • 获取方式

C.3 数据采集与处理工具

数据采集与处理是知识图谱构建的重要环节。本部分将介绍常用的数据采集与处理工具。

C.3.1 数据采集工具

C.3.1.1 Scrapy

  • 描述:Scrapy是一个强大的Python网络爬虫框架,用于从网站提取结构化数据。
  • 特点
    • 高性能的异步爬虫
    • 支持分布式爬取
    • 可扩展的插件系统
    • 内置数据提取和处理功能
  • 应用场景:大规模数据采集、网站内容提取、API数据采集
  • 获取方式

C.3.1.2 BeautifulSoup

  • 描述:BeautifulSoup是一个Python库,用于解析HTML和XML文档,提取结构化数据。
  • 特点
    • 简单易用的API
    • 支持多种解析器
    • 强大的HTML树遍历和搜索功能
  • 应用场景:网页数据提取、小型爬虫、数据清洗
  • 获取方式

C.3.1.3 Selenium

  • 描述:Selenium是一个自动化测试工具,可用于模拟浏览器行为,采集动态生成的网页内容。
  • 特点
    • 支持多种浏览器
    • 可以模拟用户交互
    • 支持JavaScript渲染的页面
  • 应用场景:动态网页采集、需要登录的网站、复杂交互的数据采集
  • 获取方式

C.3.2 数据清洗工具

C.3.2.1 OpenRefine

  • 描述:OpenRefine(原Google Refine)是一个强大的数据清洗和转换工具,适用于处理杂乱的数据。
  • 特点
    • 可视化的数据清洗界面
    • 支持多种数据格式
    • 强大的聚类功能,用于识别重复记录
    • 支持扩展插件
  • 应用场景:数据去重、格式转换、缺失值处理、数据标准化
  • 获取方式

C.3.2.2 Pandas

  • 描述:Pandas是一个Python数据分析库,提供强大的数据清洗和转换功能。
  • 特点
    • 支持多种数据格式
    • 强大的数据过滤、排序、分组功能
    • 灵活的数据转换操作
    • 与其他Python库良好集成
  • 应用场景:大规模数据清洗、数据转换、特征工程
  • 获取方式

C.3.3 知识抽取工具

C.3.3.1 Stanford CoreNLP

  • 描述:Stanford CoreNLP是一个Java实现的自然语言处理工具包,提供多种NLP功能。
  • 特点
    • 支持实体识别、关系抽取、情感分析等多种功能
    • 支持多种语言
    • 提供REST API和多种编程语言接口
  • 应用场景:知识抽取、文本分析、自然语言理解
  • 获取方式

C.3.3.2 spaCy

  • 描述:spaCy是一个Python实现的工业级自然语言处理库,提供高效的NLP功能。
  • 特点
    • 高性能,适合生产环境
    • 支持多种语言模型
    • 提供实体识别、关系抽取、依存句法分析等功能
    • 丰富的生态系统
  • 应用场景:知识抽取、文本分类、信息提取
  • 获取方式
    • 官方网站:https://spacy.io/
    • 安装:pip install spacy
    • 模型下载:python -m spacy download en_core_web_sm

C.3.3.3 OpenIE(Open Information Extraction)

  • 描述:OpenIE是一个开源的信息抽取系统,用于从文本中提取三元组形式的事实。
  • 特点
    • 不需要预定义的关系类型
    • 支持多种语言
    • 提供命令行工具和API
  • 应用场景:开放信息抽取、大规模知识获取、文本摘要
  • 获取方式

C.3.4 数据格式转换工具

C.3.4.1 Apache Jena

  • 描述:Apache Jena是一个Java框架,用于构建语义Web和链接数据应用,支持多种RDF数据格式转换。
  • 特点
    • 支持RDF、Turtle、N-Triples、JSON-LD等多种格式
    • 提供命令行工具和Java API
    • 支持SPARQL查询
  • 应用场景:RDF数据转换、知识图谱构建、语义Web应用
  • 获取方式

C.3.4.2 RMLMapper

  • 描述:RMLMapper是一个数据映射工具,用于将结构化数据转换为RDF格式。
  • 特点
    • 支持多种数据源:CSV、JSON、XML、关系数据库
    • 使用RML(RDF Mapping Language)定义映射规则
    • 支持大规模数据转换
  • 应用场景:结构化数据转换为RDF、知识图谱构建、数据集成
  • 获取方式

C.4 本章小结

本附录介绍了知识图谱与AI融合应用开发和研究所需的数据集资源,包括:

  1. 公开知识图谱数据集

    • 通用知识图谱:Freebase、Wikidata、DBpedia、YAGO、ConceptNet
    • 领域知识图谱:医疗健康(UMLS、SNOMED CT)、金融(FinCEN、OpenFIGI)、地理(GeoNames、OpenStreetMap)、学术(DBLP、CiteSeer)
  2. 评估基准与竞赛

    • 知识图谱补全:FB15k / FB15k-237、WN18 / WN18RR、NELL-995
    • 实体识别与关系抽取:CoNLL-2003、ACE、TACRED
    • 竞赛平台:SemEval、KBP、GraphChallenge、Kaggle
  3. 数据采集与处理工具

    • 数据采集:Scrapy、BeautifulSoup、Selenium
    • 数据清洗:OpenRefine、Pandas
    • 知识抽取:Stanford CoreNLP、spaCy、OpenIE
    • 数据格式转换:Apache Jena、RMLMapper

这些资源为知识图谱与AI融合应用的开发和研究提供了重要支持,读者可以根据自己的需求选择合适的数据集和工具,加速研究和开发进程。

« 上一篇 附录B:编程实践指南 下一篇 » 附录D:部署与运维