2017-10-25 11 views
1

Wikipediaは、検索機能を使用しているときに記事の要約を提供します(下記のスクリーンショットを参照)。私は様々な記事を見て、元の記事のテキストを見つけることができませんでした。レンダリングされたページや編集セクション内のメタデータには表示されません。ウィキペディアの記事の要約

  1. どのようにウィキペディアはこれらの要約処理を示してい:

    今、私は2つの質問がありますか?これらの事前に準備されたテキストは、コミュニティによって入力されているのか、記事を要約する根本的なMLアルゴリズムがありますか?前者の場合は、これらのデータが提供されている場所を指摘できますか?後者の場合、アルゴリズムはオープンソース化されていますか?

  2. Wikipedia APIは、特定の記事のこれらの要約の取得をサポートしていますか? Wikipediaのエントリのほとんどのために

enter image description here

答えて

0

私の質問に対する答えが見つかりました。これらの要約はWikipediaの姉妹プロジェクトであるWikidataに由来しています。 Wikidata's Wikipedia page

ウィキメディアは、ウィキメディア財団が運営する共同編集された知識ベースです。 WikipediaなどのWikimediaプロジェクトで使用できる共通のデータソースを提供することを目的としています。

たとえば、ピザのWikidataページはhttps://www.wikidata.org/wiki/Q177です。 https://www.wikidata.org/w/api.phpに記載されている独自のAPIを持っています。

+0

要約は、英語のWikipedia API、wbgetentities APIモジュール(他の場所でも使用可能)で利用できます。 – Tgr

0

、1は一般DBpediaの上で、関連ページにアクセスすることができます。この例では、ピザを使用します。http://dbpedia.org/page/Pizza

また、プログラムでアクセスできるという利点もあります。それらのほとんどに要約があります。

+0

DBpediaのは、ウィキペディアのオフデータを掻き取ると、上に示している要約を提供していません。ウィキペディア検索ではかなり短い要約が表示されます。 – Javad

0

あなたが見ている短い説明はWikidataの説明です。また、レスポンスにはdescriptionというプロパティがあり、より冗長なextract、ページのイメージ、そこにある情報が表示されます。

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. 
関連する問題