OpenKG地址:http://openkg.cn/dataset/ocean
开放许可协议:CC BY-SA 4.0
贡献者:浙江大学(徐雅静、邓鸿杰、唐坤、郑国轴)
目前,绝大多数海洋鱼类数据库资源集成度不高,造成数据分散,检索效率低下。各种各样的问题将阻碍海洋鱼类的研究。因此,为了促进鱼类在各个学术领域的研究,迫切需要整合现有的研究资料,保护现有的研究成果。基于此,我们的研究团队收集和建立了海洋鱼类数据集,希望为我国鱼类的科普、教育、商业、生产等领域提供帮助。
海洋鱼类百科知识图谱数据包含fish.csv、fishplacerelationship.csv 和 place.csv三个CSV文件。fish.csv 文件中存储的是鱼类基本信息数据集,包含鱼类中英文名称、图片地址、鱼的特性等基本信息,数据量达到 3 万多条,其具体字段信息如表 1 所示。
fishplacerelationship.csv 文件存储的是海洋鱼类栖息地数据集,数据量达到 11 万条,其具体字段信息如表 2 所示。
表 2 鱼类栖息地数据字段解释表
place.csv 文件存储的是地理分布数据集,数据量达到 5300 条,其具体字段信息如表 3 所示。
表 3 地理分布数据字段解释表
3.1 数据来源
数据来自中文海洋鱼类资料库 http://sea.fundiving.com/, 整个网站包括32070 个鱼类物种,每个物种有一个单独的页面介绍,如图 1 所示。
图1.中文海洋鱼类资料库中纺锤骨雀鳝部分数据
介绍页面中包含中英文名字、界门纲目科属种、别名、简介、大小/重量/年龄、生活习性、物种分布、生物学特性等字段。
3.2 数据标准化
每个页面都包含鱼类对应的界门纲目科属种等半结构化数据,利用爬虫技术获取鱼类相关信息,将其保存成Json 格式,如图 2 所示。
图2.鱼类信息Json格式
3.3 关系定义和抽取
知识图谱使用三元组进行表达, 例如:实体-关系-实体, 实体-属性-属性值。鱼类名称、英文名、图片地址、界、门、纲、目、科、属、种,这些属于第二种三元组。使用 Json 格式,即键值对,好处之一就是属性和属性值一一对应。在提取的时候,可以直接进行匹配。
鱼类实体-地理分布-地理实体这是第一种三元组。由于是一段文本,需要从文中提取地理实体,可以使用 NLP 工具进行抽取,比如 Python 第三方开源库NLPIR、PyLTP、DeepKE 等等。
通过传入待处理文本 text,对文本依次进行分词、词性标注、命名实体识别操作。对于有方位的名词,例如西太平洋,需要进行二次处理。抽取效果如图 3所示。
图3.NLP地理实体抽取效果
3.4 知识存储
使用 Neo4J 图数据库进行数据的存储,可以快速获得展示和查询功能。帮助开发人员节省时间在业务思考上。按照 Neo4J 数据库官网所给的格式要求存储CSV 数据。可视化效果如图 4 所示。
图 4.鱼类地理分布情况展示图
本文主要是对 OpenKG 上发布的中文海洋鱼类百科数据集的介绍。文中详细介绍了数据集的来源、对数据集进行处理构建知识图谱的过程。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。