日記

検索エンジニアになりたい

言語処理100本ノック 2015 7日目

[言語処理100本ノック](http://www.cl.ecei.tohoku.ac.jp/nlp100/)を見つけたのでやる。環境はPython2.7 + Ubuntu15.10です。
いたらぬ点もありますがよろしくお願いします

もう解けてるやつ 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24
まだ解けてないやつ たくさん


#第3章:正規表現

Wikipediaの記事を以下のフォーマットで書き出したファイルjawiki-country.json.gzがある.

1行に1記事の情報がJSON形式で格納される
各行には記事名が"title"キーに,記事本文が"text"キーの辞書オブジェクトに格納され,そのオブジェクトがJSON形式で書き出される
ファイル全体はgzipで圧縮される
以下の処理を行うプログラムを作成せよ.
※"jawiki-country.json"でエラーをだしすぎたあまりいつのまにかスワップファイルとなってしまっていたので以下では"jawiki-countrys.json"で処理しています。


##25.テンプレートの抽出
記事中に含まれる「基礎情報」テンプレートのフィールド名と値を抽出し,辞書オブジェクトとして格納せよ.

```py:nlp25.py
#coding: UTF-8
import re
from collections import OrderedDict

#dict = {}
dict = OrderedDict()

with open("jawiki-uks.txt","r") as f:
compiletext = re.compile(r"^\|(?P.*) = (?P.*)")
for line in f.readlines():
searchtext = compiletext.search(line)
if searchtext is not None:
dict[searchtext.group(1)] = searchtext.group(2)
print "\n".join("%s:%s" % (i,j) for i,j in dict.items())

```

実行結果
haruka@ubuntu:~/NLP100$ python nlp25.py
略名:イギリス
日本語国名:グレートブリテン及び北アイルランド連合王国
公式国名:{{lang|en|United Kingdom of Great Britain and Northern Ireland}}英語以外での正式国名:

国旗画像:Flag of the United Kingdom.svg
国章画像:ファイル:Royal Coat of Arms of the United Kingdom.svg|85px|イギリスの国章
国章リンク:(イギリスの国章|国章
標語:{{lang|fr|Dieu et mon droit}}
フランス語:神と私の権利)
国歌:女王陛下万歳|神よ女王陛下を守り給え
位置画像:Location_UK_EU_Europe_001.svg
公用語:英語(事実上)
首都:ロンドン
最大都市:ロンドン
元首等肩書:イギリスの君主|女王
元首等氏名:エリザベス2世
首相等肩書:イギリスの首相|首相
首相等氏名:デーヴィッド・キャメロン
面積順位:76
面積大きさ:1 E11
面積値:244,820
水面積率:1.3%
人口統計年:2011
人口順位:22
人口大きさ:1 E7
人口値:63,181,775http://esa.un.org/unpd/wpp/Excel-Data/population.htm United Nations Department of Economic and Social Affairs>Population Division>Data>Population>Total Population
人口密度値:246
GDP統計年元:2012
GDP値元:1兆5478億http://www.imf.org/external/pubs/ft/weo/2012/02/weodata/weorept.aspx?pr.x=70&pr.y=13&sy=2010&ey=2012&scsm=1&ssd=1&sort=country&ds=.&br=1&c=112&s=NGDP%2CNGDPD%2CPPPGDP%2CPPPPC&grp=0&a= IMF>Data and Statistics>World Economic Outlook Databases>By Countrise>United Kingdom
GDP統計年MER:2012
GDP順位MER:5
GDP値MER:2兆4337億
GDP統計年:2012
GDP順位:6
GDP値:2兆3162億
GDP/人:36,727
建国形態:建国
確立形態1:イングランド王国スコットランド王国
(両国とも連合法 (1707年)|1707年連合法まで)
確立年月日1:927年843年
確立形態2:グレートブリテン王国建国
連合法 (1707年)|1707年連合法
確立年月日2:1707年
確立形態3:グレートブリテン及びアイルランド連合王国建国
連合法 (1800年)|1800年連合法
確立年月日3:1801年
確立形態4:現在の国号「'''グレートブリテン及び北アイルランド連合王国'''」に変更
確立年月日4:1927年
通貨:スターリング・ポンド|UKポンド (£)
通貨コード:GBP
時間帯:±0
夏時間:+1
ISO 3166-1:GB / GBR
ccTLD:.uk / .gb使用は.ukに比べ圧倒的少数。
国際電話番号:44
注記:



今日のまとめ
公式国名の処理が上手くいっておらず、どうやったらなおるのか考えているがいまだ良い案が浮かびません
7日目は1問もとけていない がんばるぞー

言語処理100本ノック 2015のリンク
[言語処理100本ノック 2015 1日目](http://qiita.com/818uuu/items/e96d65b81e9824adaef3)
[言語処理100本ノック 2015 2日目](http://qiita.com/818uuu/items/6396c7465a9b7a40fbad)
[言語処理100本ノック 2015 3日目](http://qiita.com/818uuu/items/8452848cbef06e9f086c)
[言語処理100本ノック 2015 4日目](http://qiita.com/818uuu/items/0adb0fba7229a50b23e3)
[言語処理100本ノック 2015 5日目](http://qiita.com/818uuu/items/6fbe4c9de7658ab1ad49)
[言語処理100本ノック 2015 6日目](http://qiita.com/818uuu/items/37ab965f75cf20b5c19a)