Nlp 如何使用DBpedia属性构建主题层次结构?

Nlp 如何使用DBpedia属性构建主题层次结构?,nlp,semantic-web,dbpedia,topic-modeling,spotlight-dbpedia,Nlp,Semantic Web,Dbpedia,Topic Modeling,Spotlight Dbpedia,我试图通过遵循下面提到的两个DBpedia属性来构建主题层次结构 skos:更广泛的财产 dcterms:标的财产 我的意图是给这个词确定它的主题。例如,给定单词;'支持向量机,我想从中识别主题,如分类算法、机器学习等 然而,有时我对如何构建主题层次结构有点困惑,因为我得到的主题URI超过5个,而更广泛的属性有很多URI。有没有一种方法可以测量强度或其他东西,减少我从DBpedia获得的额外URI,并且只分配最高可能的URI 这里似乎有两个问题 如何限制DBpedia聚光灯结果的数量。 如何限制

我试图通过遵循下面提到的两个DBpedia属性来构建主题层次结构

skos:更广泛的财产 dcterms:标的财产 我的意图是给这个词确定它的主题。例如,给定单词;'支持向量机,我想从中识别主题,如分类算法、机器学习等

然而,有时我对如何构建主题层次结构有点困惑,因为我得到的主题URI超过5个,而更广泛的属性有很多URI。有没有一种方法可以测量强度或其他东西,减少我从DBpedia获得的额外URI,并且只分配最高可能的URI

这里似乎有两个问题

如何限制DBpedia聚光灯结果的数量。 如何限制特定结果的主题和类别数量。 我目前的代码如下

从SPARQLWrapper导入SPARQLWrapper,JSON 导入请求 导入urllib.parse 初始常数 基本URL=http://api.dbpedia-spotlight.org/en/annotate?text={text}&confidence={confidence}&support={support}' TEXT='最早记录于13世纪,柏林是普鲁士王国1701-1918年、德意志帝国1871-1918年、魏玛共和国1919-33年和第三帝国1933-45年的首都。20世纪20年代的柏林是世界第三大城市。第二次世界大战后,这座城市被分为东柏林(东德首都)和西柏林(1961-89年间被柏林墙包围的西德城市)。1990年德国统一后,这座城市恢复了德国首都的地位,接待了147个外国大使馆。” 置信度='0.5' 支持='120' REQUEST=BASE\u URL.format text=urllib.parse.quote_plusTEXT, 信心, 支持 HEADERS={'Accept':'application/json'} sparql=SPARQLWrapperhttp://dbpedia.org/sparql 所有URL=[] r=请求。geturl=请求,headers=头 response=r.json 资源=响应['resources'] 资源中的资源: 所有URL.appendres['@URI'] 对于所有url中的url: sparql.setQuery 选择*WHERE{skos:brothered | dct:subject?资源 } sparql.setReturnFormatJSON 结果=sparql.query.convert 对于结果中的结果[结果][绑定]: 打印'resource-',结果['resource']['value']
如果需要,我很乐意提供更多的例子

似乎您正在尝试检索与给定段落相关的维基百科类别

小建议

首先,我建议您执行一个请求,将DBpedia Spotlight结果收集到以下位置,例如:


values=.format'>非常感谢您的精彩回答。我将在我当前的数据集上尝试这一点:再次感谢您的精彩回答。我仍然不清楚dct:subject/skos:broader属性路径会发生什么。是否从主题和更广泛的属性(即包括第一跳和第二跳的结果)开始进行2跳?如果我错了,请纠正我好吗?@JCena,不,只有第二跳。如果您同时需要第一跳和第二跳,请使用dct:subject/skos:brother?非常感谢您提供的详细信息:正如您所提到的,DBpedia类别似乎是非常随机的。如果有其他好的资源可以替代DBpedia categories,请您推荐我好吗?@JCena,我们已经在opendata.SE上提出了这个问题。与Wikidata等相比,DBpedia可能是最佳选择。当然,类似于ACM本体的东西对于CS相关主题会更好,但在这种情况下,没有类似于DBpedia Spotlight的工具。根据演示,dbpediaspotlight还可以与Freebase和Schema.org一起使用。
dbc:Member_states_of_the_United_Nations
dbc:Country_subdivisions_of_Europe
dbc:Republics
dbc:Demography
dbc:Population
dbc:Countries_in_Europe
dbc:Third-level_administrative_country_subdivisions
dbc:International_law
dbc:Former_countries_in_Europe
dbc:History_of_the_Soviet_Union_and_Soviet_Russia
dbc:Wars_by_country
dbc:Wars_involving_the_states_and_peoples_of_Europe
dbc:Wars_involving_the_states_and_peoples_of_Asia
dbc:Wars_involving_the_states_and_peoples_of_North_America
dbc:20th_century_in_Germany
dbc:Modern_history_of_Germany
dbc:Wars_involving_the_Balkans
dbc:Decades_in_Germany
dbc:Modern_Europe
dbc:Wars_involving_the_states_and_peoples_of_South_America
dbc:Former_polities_of_the_Cold_War
dbc:Former_republics
dbc:States_and_territories_established_in_1949
dbc:20th_century_in_Germany_by_period
dbc:1930s_in_Germany
dbc:Modern_history_of_Germany
dbc:1990_disestablishments_in_West_Germany
dbc:1933_disestablishments_in_Germany
dbc:1949_establishments_in_West_Germany
dbc:1949_establishments_in_Germany