如何在特定知识图中为TransE算法构建自己的数据集

时间:2019-07-10 03:42:36

标签: dataset embedding knowledge-graph

现在我正在建立中国股票的知识图,并希望建立新闻推荐系统。我想将TransE算法用于实体嵌入和关系嵌入。 ``但是我没有数据集,也不知道如何使用我自己的知识图构建数据集?

1 个答案:

答案 0 :(得分:0)

一个开始就是使用Wikidata中的数据。它包含有关中国公司的一些信息(我想您是指在中国证券交易所上市的公司)。例如,https://www.wikidata.org/wiki/Q831445显示有关中国石化的信息。

可以从API,https://dumps.wikimedia.org/wikidatawiki/的大型转储文件或https://query.wikidata.org/的SPARQL端点下载Wikidata中的数据。

您可以使用SPARQL查询获取在深圳证券交易所上市的公司的列表:

SELECT 
  ?company ?companyLabel
  ?industry ?industryLabel
{
  ?company wdt:P414 wd:Q517750 .
  OPTIONAL { ?company wdt:P452 ?industry }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,zh". }
}

(也)在https://w.wiki/9DM上提供了结果。可以通过修改查询来扩展此结果,并且可以以各种格式下载该结果。使用DESCRIBE SPARQL关键字,您可以获取可能对TransE算法有用的三元格式,例如DESCRIBE wd:Q831445,结果为https://w.wiki/9DN

可以处理大型转储文件并使用Gensim的Word2Vec嵌入知识图,请参见https://arxiv.org/abs/1710.04099上的“ Wembedder:Wikidata实体嵌入Web服务”。您可以使用Wembedder网络应用程序探索这种方法的一个结果,例如https://tools.wmflabs.org/wembedder/most-similar/Q51747在嵌入国航的知识图中显示“最相似”查询的结果