维基百科

时间:2017-10-25 20:43:57

标签: wikipedia wikipedia-api summarization

Wikipedia在使用其搜索功能时提供了大多数文章的文章摘要(请参见下面的屏幕截图)。我查看了各种文章,无法在原文中找到文字;既不在渲染页面也不在编辑部分内的元数据中。

现在,我有两个问题:

  1. 维基百科如何显示这些摘要?这些前置文本是由社区输入还是有任何潜在的ML算法来总结文章?对于前者,您能指出我这些数据来源的位置吗?如果是后者,该算法是开源的吗?

  2. 维基百科API是否支持检索给定文章的这些摘要?

  3. enter image description here

4 个答案:

答案 0 :(得分:0)

对于大多数维基百科条目,人们通常可以访问DBpedia上的相关页面。对于此示例,使用 pizza http://dbpedia.org/page/Pizza

这也具有以编程方式可访问的优点。其中大多数都有摘要。

答案 1 :(得分:0)

我找到了问题的答案。这些摘要来自维基百科,这是维基百科的姊妹项目。根据{{​​3}}:

  

维基数据是由维基媒体基金会运营的合作编辑的知识库。它旨在提供一个公共数据源,可以由维基媒体项目(如维基百科)和其他任何人在公共域名许可下使用。

例如,Pizza的Wikidata页面为Wikidata's Wikipedia page。它有自己的API,在https://www.wikidata.org/wiki/Q177中描述。

答案 2 :(得分:0)

您正在查看的简短描述是维基数据描述。 REST API summary endpoint响应中还提供description属性以及更详细的extract,页面图像和一堆信息。

答案 3 :(得分:0)

要解决此问题,您可以使用Wikipedia-APInltk

import wikipediaapi
wiki = wikipediaapi.Wikipedia('en')
pizza = wiki.page('Pizza')
print(pizza.fullurl)
print("Summary length: %d" % len(pizza.summary))

# You can either pick first N characters or use some tokenizer
from nltk.tokenize import sent_tokenize
sentences = sent_tokenize(pizza.summary)
print("Number of sentences: %d" % len(sentences))
print(sentences[0])

输出:

https://en.wikipedia.org/wiki/Pizza
Summary length: 1690
Number of sentences: 16
Pizza is a traditional Italian dish consisting of a yeasted flatbread typically topped with tomato sauce and cheese and baked in an oven.