HYT MachineWorks

やったこととか思いついたことをメモしておくブログです。

自然言語処理100本ノックをWindows/Python3で 第三章を解く

自然言語処理100本ノックとは、

東北大学の乾・岡崎研究室にて公開されている自然言語処理の問題集です。

www.cl.ecei.tohoku.ac.jp

前回に引き続いて第三章をこなしました。

第3章: 正規表現

github.com

コードは、私のGitHubリポジトリにアップロードしています。

三章分は下のリンクから

https://github.com/hytmachineworks/NLP_100/tree/master/codes/chapter_03

引っかかった点

gzipのロード

import gzip
json_file_path = "./jawiki-country.json.gz"
with gzip.open(json_file_path, mode="rt", encoding="utf-8") as js:
all_json_data = js.readlines()

って感じでやる。

 

・問25のテンプレートの抽出

{{と}}が入れ子になっているものを抽出することになるのだけど、以下のサイトを参考にした。

Pythonの正規表現で入れ子括弧内をうまくマッチさせる方法 – NKNK

自分でも理解を確かめるために記事を書いたのでみてください。

hytmachineworks.hatenablog.com

 

正規表現のあれこれ

pythonのドキュメントが分かりやすかったので読みながらやればOKと思います。

正規表現 HOWTO — Python 3.6.1 ドキュメント

 

そんなわけで、第四章に進みたいと思います。2017/10/13 解きました

hytmachineworks.hatenablog.com