【问题标题】:Closest wikipedia Page for a given text给定文本的最近维基百科页面
【发布时间】:2012-08-21 02:08:38
【问题描述】:

例如,一个人写了一个查询 - “d dark knight rses”。我想找到最近的维基百科页面 - http://en.wikipedia.org/wiki/The_Dark_Knight_Rises

有什么方法可以做到这一点?

我能想到的一种简单方法是在 google 上搜索给定的查询,并附加术语 wikipedia。然后在结果中查找第一个维基百科页面。如果前 5 个页面中也没有维基百科页面,请返回“抱歉”。

但是有没有其他方便的方法或 API 调用可以避免使用 Google。

编辑:最近 - 例如“d dark night”可能会导致“The Dark Night”或“The Dark Knight”。这两个都是有效的答案。尽管前者更接近查询,但我想后者是一个更好的答案,因为这可能是用户查询的结果。

【问题讨论】:

  • 您需要更具体,希望用户在您的搜索框中输入查询 > 搜索 Wikipedia 或 Google 以获得前 5 个匹配项 > 如果匹配则返回结果。 ?
  • 您好,关于 google 搜索,您可以通过编写 site:wikipedia.org 和您要搜索的字符串“强制”google 仅在 wikipedia 中搜索,但这样您可能会得到一些误报。
  • 您可以随时使用 Bing Developer 或 Yahoo Boss API
  • 使用 Bing 开发者 API 很好。我听说他们正在转向天蓝色。让我检查一下。
  • @w2lame: 根据什么距离最近?

标签: machine-learning wikipedia information-retrieval closest web-search


【解决方案1】:

也许你可以使用官方的Wikipedia API,这里是opensearch调用dark night查询的例子:

$ curl "https://en.wikipedia.org/w/api.php?action=opensearch&search=dark%20night"

这会返回:

[
    "dark night", 
    [
        "Dark Night", 
        "Dark Night of the Soul", 
        "Dark Night of the Soul (album)", 
        "Dark Night of the Scarecrow", 
        "Dark Night (song)", 
        "Dark Night (film)", 
        "Dark night rises", 
        "Dark night (roller coaster)", 
        "Dark night sky paradox"
    ]
]

更新:另一种方法是下载Wikipedia data dump 并在本地进行一些搜索。

【讨论】:

  • 即使这个例子也没有返回黑暗骑士。
  • @w2lame:它确实返回"Dark night rises" - 但同意,API 不是很灵活。顺便说一句,看看我的更新。
猜你喜欢
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 2016-03-27
  • 2016-10-11
  • 1970-01-01
相关资源
最近更新 更多