2016-12-20 62 views
3

我们正在研究一个用知识库回答问题的研究项目。我们采用了数据集SimpleQuestions(https://research.fb.com/projects/babi/)。 我们将最新的freebase数据转储加载到Virtuoso中,并通过mids(使用关系type.object.name和common.topic.alias)查询实体的名称。但是,无法找到许多实体的名称。在Freebase中找不到实体名称

我们也使用Semper提供的KB(https://github.com/percyliang/sempre),在这里我们可以找到更多的实体名称,但不是全部。 我们猜测这些实体可能会被删除,这是真的吗?如果是这样,我们该如何继续解决这个问题呢?

回答

1

Freebase API已经是depreciated并且不可能获取实体名称。但是,Google为210万个实体提供了Freebase/Wikidata Mappings。这些映射可用于将freebase实体映射到wikidata实体并获取其实体名称和其他信息。

此外,http://sameas.org/为freebase实体提供了一些额外的映射。

编辑: 您还可以阅读Freebase Dump以获取这些映射。我亲自使用以下属性来获得相应的实体名称:

ENTITY_GET_LABEL_ORDER = [ 
    '<http://rdf.freebase.com/ns/type.object.name>', 
    '<http://rdf.freebase.com/ns/common.topic.alias>', 
    '<http://rdf.freebase.com/key/en>', 
    '<http://rdf.freebase.com/key/wikipedia.en>', 
    '<http://rdf.freebase.com/key/wikipedia.en_title>', 
    ] 

而且,即使这样做后,有一个良好的数额(〜1-5k,不记得它到底),我们无法中音映射到名称,并且可以安全地删除这些(仅少数这样的)问题。 Google还提供了一个包含一些删除元组的附加转储。

相关问题