获取特定输入世界的区域

问题描述 投票:0回答:1

我正在寻找一种使用python通过Wikipedia API或任何其他模块来获取输入世界范围的方法。

例如:

  • Python->编程语言
  • 自行车->车辆
  • 纽约->城市
python wikipedia-api
1个回答
0
投票

[这个问题是askedanswered,并且尽管在将近十年前就结束了,但范围仍然太广。我相信答案的重点仍然存在,但是:

分类始终是高度主观的

由于已经很长时间了,所以我在线上尝试了各种API产品,似乎它们都有长处和短处。

Wikipedia API对我来说并没有产生很好的结果,甚至搜索/抓取页面也很困难,因为-例如,搜索“ bike”会将您直接带到自行车页面。但是,搜索“纽约”会将您带到歧义页面。我认为您不能指望总是将“最可取的”选择放在列表顶部。例如,搜索python将返回一个歧义页面,其中所需的编程语言类别在列表中排在第9位。此外,当您获得JSON结果时,它们不会被细分,因此您可以轻松地选择“是”或“指代”,除非您在一些摘要中搜索(例如)一些关键短语。

我测试过的几个词分类API中,WordsAPI看起来很有希望。通过使用您提供的示例查看响应的Is an Instance OfIs a Type Of部分,可以得到不错的结果。但是,它仅以英语提供(不确定是否有问题)。

Wikidata.org也产生了一些不错的结果,并允许您按“相关性”排序,这有助于将最可能的答案保持在顶部。 Here's a search代表python,实际上会产生一个列表,其中编程语言位于顶部。

如果这是我的项目,我可能会从Wikidata和带有要测试类别的大单词列表开始。然后使用解析逻辑来捕获尽可能多的变体,最终您可能最终将依赖自然语言。

为了记录,没有我在Wikipedia / Wikidata外部测试过的API之一,返回了与Python有关的任何计算机相关信息。

© www.soinside.com 2019 - 2024. All rights reserved.