1 min read
Wikipedia(Articles) to SQLite3
jawiki-latest-abstract.xml
にWikipedia記事の要約文が書かれているが、本来の要約文でないものがかなり多い。
前回作った要約XMLからSQLite3にぶち込むスクリプトを回して見てみた例
sqlite> .schema
CREATE TABLE wikipedia(title, url, abstract, link_anchor, link_url);
sqlite> select * from wikipedia where title like 'github';
GitHub|
https://ja.wikipedia.org/wiki/GitHub|
| alexa = 61位|
概要,脚注,参考文献,関連項目,外部リンク|
https://ja.wikipedia.org/wiki/GitHub#.E6.A6.82.E8.A6.81,https://ja.wikipedia.org/wiki/GitHub#.E8.84.9A.E6.B3.A8,https://ja.wikipedia.org/wiki/GitHub#.E5.8F.82.E8.80.83.E6.96.87.E7.8C.AE,https://ja.wikipedia.org/wiki/GitHub#.E9.96.A2.E9.80.A3.E9.A0.85.E7.9B.AE,https://ja.wikipedia.org/wiki/GitHub#.E5.A4.96.E9.83.A8.E3.83.AA.E3.83.B3.E3.82.AF
※見やすいように改行してある
このように、GitHubの要約文がおかしい。
本来であれば、Wikipedia冒頭にある文になっているはず。
ということでWikipedia公式の要約文XMLは使い物にならない。
そこで、Wikipedia記事の全文が記載されているjawiki-latest-pages-articles.xml
を使って冒頭の要約文を抽出してSQLite3にぶち込むスクリプトを書いた。
sugtao4423/WikiArticleXML2SQLite3
sqlite> .schema
CREATE TABLE wikipedia(title, abstract);
sqlite> select * from wikipedia where title like 'github';
GitHub|
GitHub(ギットハブ)はソフトウェア開発プロジェクトのための共有ウェブサービスであり、Gitバージョン管理システムを使用する。
Github|
GitHubへ転送
※見やすいように改行してある
これで正しいのに近い要約文が抽出できる。
ただ、URLの除去は難しかったので諦めた。記法がたくさんあり、正規表現で除去できるレベルではない(と思っている)
あとなぜか抽出できていないページが少しある。100件もないし無視レベルでしょ。と思ってる
URLが含まれている例
sqlite> select * from wikipedia where title like 'nginx';
Nginx|
nginx(「エンジンエックス」のように発音url=http://nginx.org/ja/ |title=nginx |accessdate=2014-09-17)は、フリーかつオープンソースなWebサーバである。処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されており、HTTP, HTTPS, SMTP, POP3, IMAPのリバースプロキシの機能や、ロードバランサ、HTTPキャッシュの機能も持つ。
※見やすいように改行してある