我们知道强大的深度模型需要很多计算力,那你知道创建一个知识图谱的成本到底是多少吗?德国 Mannheim 大学的研究者最近仔细估算了各种知识图谱每创建一条记录所需要的成本,他们表示对于大型知识图谱,手动创建一个三元组(即一条记录)的成本在 2 到 6 美元之间,总成本在数百万到数十亿美元之间。
知识图谱 广泛用于各种领域,它的统计信息也常被分析。但有一个问题一直缺乏研究:产出价格是多少?在此论文中,研究者提出了一种方法预估知识图谱的成本。他们表示手动创建一个三元组(triple)的成本大约在 2 到 6 美元左右,而自动创建知识图谱的成本要降低 15 到 250 倍(即一个三元组 1 美分到 15 美分)。
注意其中 15 美分每条的「自动化」知识图谱还是需要大量人力进行数据的验证。此外,作者表示成本也应该作为知识图谱的评价标准,例如可以使用每个三元组的成本或其他更优的度量方法。
论文:How much is a Triple? Estimating the Cost of Knowledge Graph Creation
论文地址:http://ceur-ws.org/Vol-2180/ISWC_2018_Outrageous_Ideas_paper_10.pdf
估计知识图谱的成本
随着知识图谱的广泛应用,我们越来越关注大型知识图谱,例如 DBpedia、YAGO 等。我们已经有很多方法从各种角度检查这些大型知识图谱,例如大小、覆盖度和质量等。然而这些分析不足的地方在于成本,即创建知识图谱的价格。
人工创建:Cyc 和 Freebase
对于人工创建的知识图谱,我们必须评估提供这些陈述语句(statement)的工作量,从而估计平均成本。
Cyc 是最早的通用知识图谱之一,同时它的开发成本也能公开获得。在 2017 年的一项会议中,Cyc 的创建者 Douglas Lenat 表示:构建 Cyc 的成本为 1.2 亿美元。在同一个 PPT 中,Lenat 表示 Cyc 一共有 21M 断言(assertion),因此每条陈述语句或断言需要 5.71 美元。若 1000 人有一年的时间完成,则每人每 9.5 分钟需要完成一条断言。
Freebase 是由志愿者共同完成的,因此其工作量更难判断。截止至 2011 年 4 月份,创建英文维基百科的估计时长为 41M 工时。同时维基百科包含 3.6M 的页面,平均每一个页面 36.4 个句子,因此换算下来每一条语句需要 18.7 分钟。由于大多数维基百科条目都是由美国构建的,我们可以使用每小时 7.25 美元的美国联邦最低工资作为人工成本估算,因此每一句的成本可以换算为 2.25 美元。借鉴这个成本,我们可以假设 Freebase 每一条陈述语句的成本也是 2.25 美元。
这比 Cyc 的平均成本低了一半,这种低成本也是合理的,因为 Cyc 是由人类专家构建的,而 Freebase 由非专业人员创建。总的而言,对于包含 30 亿事实(fact)的最新版 Freebase,它的总成本约为 67.5 亿美元($6.75B)。
自动创建: DBpedia、YAGO 和 NELL
评估自动创建知识图谱所花费成本不同于人工创建知识图谱。我们参考了用于创建知识图谱的软件,基于代码行数(LOC)来估计开发知识图谱的成本。我们遵循 [2] 中的分析,即一个软件生成项目平均每小时生产 37 行代码(LOC)。
DBpedia 主要是基于 DBpedia 提取框架从维基百科 Dump 得到的,它通过映射中心实体而创建知识图谱。DBpedia 两部分需要 4.9M 和 2.2M LOC,它需要的总开发成本为 510 万美元。鉴于英语 DBpedia[11] 共有 400M 陈述语句,每一条成本约为 1.85 美分。相比于人工搭建的知识图谱(每一条 2.25 美元),自动搭建的要节省百倍的成本。
YAGO 也是一种知识图谱,它将维基百科提取的知识与 WordNet[7] 相结合。为了公平比较,它的成本应该包含 WordNet 的搭建费用。YAGO 代码库有 1.6M LOC(包括将信息框映射到本体的规则),因此它的总体成本为 160 万美元。此外,WordNet 本身还包含了 117k 个同义词集,每一个包含一条注释。我们估计定义一个同义词集的成本与构建一个维基百科页面的成本相近,即最高 1000 万美元。若 YAGO 有 14 亿条陈述语句 [11],那么每一条的成本为 0.83 美分。相比人工搭建,它的成本要节省 250 倍。
NELL 是一个学习关系抽取 [8] 模式的系统,其核心技术包含 103k 的 LOC,预估开发成本为 10.9 万美元。此外,该数据集每月还需要人工校验 1467 条陈述语句。假设人工校验一条陈述语句的成本和创建成本一样,那么总的校验成本为 37.6 万美元,即通成本为 48.5 美元。因此换算下来,NELL 每条陈述语句的成本为 14.25 美分,即比手动搭建便宜 16 倍。
新的评估标准
把成本作为创建知识图谱的一种测量方法也能为其他评估方法铺平道路。例如,可以通过成本查验为知识图谱补充缺失信息提供新方法 [9]:一个人一年半开发知识图谱应该可以添加 2800 条陈述语句,这应该是人力手动产出的三元组数量。
另一个有趣的思路是开发成本与数据质量之间的关系。在图 1 中,我们图像描述了该论文讨论的知识图谱中每个三元组成本与错误率之间的关系。我们可以看到,高成本创建的三元组准确率也会更高,NELL 是个例外,准确率与成本之间关系极差。
每个三元组成本与错误率之间的关系展示图。
总结
在这篇论文中,我们大体估计了创建一个流行的知识图谱所花费的成本,这也是当前研究忽视的一个方面。我们量化了自动创建知识图谱相比于手动方法的收益,并提出使用成本定义新型的评价标准,例如权衡成本与准确率。
有研究者反馈,我们也意识到有很多假设或估计在计算中都存在着问题(例如,我们没有考虑第三方库或基础设施的成本)。其次,知识图谱的来源或数据成本当前也没有考虑在内。然而,我们相信:知识图谱自身带来的价值将远超过各种构建成本的总和。
————
作者:Baptiste Rocca
参与:思源、李亚洲
更多精彩:
算法数学之美微信公众号欢迎赐稿
稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。
投稿邮箱:math_alg@163.com