与调整相关的ConceptNet

时间:2019-03-08 14:02:31

标签: conceptnet

我正在使用ConceptNet http://conceptnet.io尝试使用它们的relatedto和edge / query端点获取相关的关键字。数据很棒,但是我遇到了一些我不知道的行为。

如果您在主站点上查询关键字“ person”(最多20个),则查询“ relatedto”,您将得到:

http://conceptnet.io/c/en/person?rel=/r/RelatedTo&limit=20

或者这个单词列表:

doll
character
statue
person
servant
body
farmer
child
man
baby
guard
name
doctor
captain
people
neighbour
boy

太棒了吧?那是非常有用的话题。

另一方面,如果您使用与API格式相同的查询来查询API:

http://api.conceptnet.io/related/c/en/person?filter=/c/en&limit=20

为清楚起见,已缩短(完整链接请参见上面的链接):

{
  "@id": "/c/en/person",
  "related": [
    {
      "@id": "/c/en/person",
      "weight": 1.0
    },
    {
      "@id": "/c/en/sean_connery",
      "weight": 0.963
    },
    {
      "@id": "/c/en/steve_ballmer",
      "weight": 0.962
    },
    {
      "@id": "/c/en/norman_jewison",
      "weight": 0.962
    },
    {
      "@id": "/c/en/aretha_franklin",
      "weight": 0.962
    }
  ]
}

嗯。那里发生什么了?没那么有用了。我们只是名字而不是非常相关的术语。

所以我的问题是:如何获得类似的列表?

他们是否使用一些复杂的边缘分析(使用标准的,与查询无关的)来在网站上获取相关术语?

OR

我错过了我找不到的东西吗?

非常感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

要查询包含节点/r/RelatedTo的标记有/c/en/person的现有边,应查询:http://api.conceptnet.io/query?node=/c/en/person&rel=/r/RelatedTo

该查询的结果与网站匹配。

/related端点是不同的,并且仅存在于API中。它运用一些机器学习来预测相关的节点,无论连接它们的边缘是否已经存在于ConceptNet中。对于更具体的概念,比“人员”更好。尝试使用“老师”,例如:http://api.conceptnet.io/related/c/en/teacher?filter=/c/en&limit=20