2016-12-20 6 views
3

우리는 지식 기반으로 질문에 답변하기위한 연구 프로젝트를 진행하고 있습니다. 우리는 SimpleQuestions (https://research.fb.com/projects/babi/) 데이터 세트를 채택했습니다. 우리는 최신 freebase 데이터 덤프를 Virtuoso에로드하고, 릴레이션 type.object.name 및 common.topic.alias를 사용하여 중간체별로 엔티티 이름을 쿼리합니다. 그러나 많은 엔티티의 이름을 찾을 수 없습니다.무료 데이터베이스 중간에 엔터티 이름을 찾을 수 없습니다.

우리는 또한 Semper (https://github.com/percyliang/sempre)에서 제공 한 KB를 사용합니다.이 KB에는 더 많은 엔티티 이름이 있지만 전부는 아닙니다. 이 엔티티가 삭제 될 수 있다고 추측합니다. 사실입니까? 그렇다면 어떻게이 문제를 계속 해결할 수 있습니까?

답변

1

Freebase API는 depreciated이며 엔티티 이름을 가져올 수 없습니다. 그러나 Google은 2.1M 개체에 Freebase/Wikidata Mappings을 제공했습니다. 이러한 매핑은 Freebase 개체를 위키 데이터 엔터티에 매핑하고 해당 엔터티 이름 및 기타 정보를 얻는 데 사용할 수 있습니다.

또한 http://sameas.org/은 freebase 항목에 대한 몇 가지 추가 매핑을 제공합니다.

편집 : 이 매핑을 얻기 위해 Freebase Dump을 읽을 수도 있습니다. 심지어이 일을 한 후, 좋은 금액이 있었다 우리는 할 수 없습니다 미드 (~ 1-5k는 정확히 기억 나지 않는) 또한

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>', 
    ] 

: 나는 개인적으로 해당 개체 이름을 얻기 위해 다음과 같은 속성을 사용 이름으로 매핑하고, 그 중 일부만 안전하게 제거 할 수 있습니다. Google은 일부 삭제 된 튜플을 포함하는 추가 덤프를 제공합니다.