维基百科类别/页面之间是否有[方向?]概念/实现距离?
例如考虑:A)"圣路易斯大学" B)"大学"
显然" A"是一种" B"。你如何从Wiki中提取这个? 如果您提取所有类别连接到A,您会看到它提供
Category:1818 establishments in Missouri Territory
Category:Articles containing Latin-language text
Category:Association of Catholic Colleges and Universities
Category:Commons category with local link same as on Wikidata
Category:Coordinates on Wikidata
Category:Educational institutions established in 1818
Category:Instances of Infobox university using image size
Category:Jesuit universities and colleges in the United States
Category:Roman Catholic Archdiocese of St. Louis
Category:Roman Catholic universities and colleges in Missouri
并且它不包含任何直接连接到B(https://en.wikipedia.org/wiki/University)的内容。但基本上如果你进一步观察,你应该能够找到A和B之间的多跳路径,可能是多跳。有哪些流行的方法来实现这一目标?
答案 0 :(得分:1)
如果您拥有整个维基百科类别分类,那么您可以计算两个类别之间的距离(最短路径长度)。如果一个类别是其他类别的祖先,则它是直截了当的。
否则,您可以找到最不常见的用户,其定义如下。
两个概念A和B的最不常见的辅助因素是最具体的 概念是A和B的祖先。
然后通过LCS计算它们之间的距离。
我鼓励您浏览similarity measures,在那里您会找到最先进的技术来计算单词之间的语义相似性。
资源:关于提取维基百科类别/概念的project可能会对您有所帮助。
一个非常好的相关例子
使用WordNet计算单词之间的语义相似度。 WordNet以分层方式组织英语单词。见wordnet similarity for java demo。它使用八种不同的技术状态来计算单词之间的语义相似性。
答案 1 :(得分:1)
我收集了一些想法/资源。如果我找到更多,将更新此。
- 使用DBPedia:基于Wiki策划的知识库。他们提供SparQL end-point来查询此KB。但是必须通过他们的SparQL接口模拟所需的相似性/距离行为。有些想法是here和here,但它们似乎已经过时了。
- 使用UMBEL:http://umbel.org/这是一个概念知识图。我认为这个知识图的大小相对较小。但我怀疑它的精确度可能很高。话虽如此,我不确定这与维基百科有什么关系。他们有this api来计算任何一对概念之间的距离度量(在写这篇文章时,他们的相似性API已经失效。所以目前还不是一个可行的解决方案)。
- 使用http://degreesofwikipedia.com/我不知道他们的算法的细节以及它们是如何做的,但它们提供了Wiki概念之间的距离。这也是方向性的。例如this和this。
答案 2 :(得分:1)