隗より始めよ

今後はいろいろ考え始めます。

プログラミング初心者、言語処理100本ノックを解いてみる!

f:id:mazarimono:20180618100459p:plain

6月15日のはんなりPythonでは、グループに分かれてプロジェクトオイラーの問題を解きました。

Project Euler - PukiWiki

hannari-python.connpass.com

好評だったのかどうかは分かりませんが、私は楽しかったです。というわけで、自分でも一日一問くらい問題を解いてみようかなと思いました。何が良いかなぁと思いましたが、言語処理100本ノックに決めました。ウェブにあるデータなんかを処理できたらカッコええし、役に立ちそうです。

ちなみに7月20日のはんなりPythonは発表会です。発表されたい方はぜひ!


もくじ


問題を選ぶ

今後も偶に、はんなりPythonの会ではコードを書く会もやると思われます。その際にはプロジェクトオイラーの問題をやる可能性もあるので、それは避けておこうかなと思いました。

それと、私の課題としては正規表現を避けて通りまくっているのを何とかしたいというのがあります。正規表現使えたら格好いい。

というわけで、言語処理100本ノックに取り組んでみることにしました。

www.cl.ecei.tohoku.ac.jp

2015ということは2018もあるかもしれませんが、一先ず見つけられた2015を1週間に1問以上解いてみようと思います。

弱気な目標ですが、こういう問題っていきなり難易度が上がります。なので、この目標くらいが良いかなと思います。

これで文字列解析に馴染んで、色々ニュース解析とかやりたいです(もう少し面白そうな課題は最後に書きます)。

windowsUNIXコマンド

さて、問題を見ているとUNIXコマンドで処理する部分があります。マックだったら普通に使えるけど、windowsではどうするかのぉということで、ちょっと色々と調べてみました。

Windowsパワーシェルでもpwdとかcdとかmkdirとか使えますが、そんなにたくさんのコマンドが使えるわけではないようです。

色々調べた結果、git bashを使って行けそうだなと思いました。私はgitをすでにダウンロードしているので、新たに何かをダウンロードする必要もなく、簡単にいろいろできます。

「Gitってなんやねん!」というと、ファイルのバージョン管理をしてくれるソフトです。

これではわかりにくいと思うのでもう少し説明しておくと、例えばエクセルファイルを作っていて、1という状態で保存し、次に何かを入力した2という状態で保存したとします。しかし、1に戻したいなと思った時に、普通なら入力した数値なんかを消去して、1の状態に戻しますが、gitで管理していると1がすぐ開けるという優れものです。

詳しくは下のサルでもわかるgit入門を参照していただければと。

backlog.com

そして、gitを以下のサイトからダウンロードすると、もれなく一緒にgit bashもついてきます。

gitforwindows.org

これを入れていないとgithubにファイルを上げたりできないので(多分)、入れておくと良いと思います。gitの使い方に関してはサルでもわかるgit入門が参考になるかと。またそのうち、このサイトでも最低限のコマンド入門みたいな記事を作るのも良いですね。

gitをダウンロードして、Windowsボタンを押すとgitというフォルダができていて、それをポチっとするとなかに「git bash」が入っています。

それを開くとgit bashが開いて、無事コマンドが使えるようになります。下は左がwindowsパワーシェル、右がgit bashです。パワーシェルはwcってコマンドはないって言っていますねー。

f:id:mazarimono:20180618095034p:plain

まとめ

以上みたようにWindowsでもgit bashUNIXコマンドが使えるようになります。多分色々とやり方はあるんでしょうが、私の場合gitを入れていたので、新たに何もダウンロードせずにできるやり方でまずはやってみました。

今後は頑張って問題を解いていきたいです。そして処理したいのは・・・

Bitfllyerのチャットのデータです!

昨晩、仮想通貨の取引所のAPIを見ていたのですが、BitflyerだけチャットのAPIを公開していることが分かったのです。データは何も指定していないと5日分のようです。 日付を指定したら、その期間を取得できるようなので、面白そうです。これがトレードに使えるかというと、かなり雑談ばっかりなので今のところ微妙ですが。しかし、面白いデータだと思いますので、ちょっと触ってみたいので、この問題を解きながら勉強すると力もつきそうなのでやってみたいと思います。

lightning.bitflyer.jp

というわけでまとめると
· windowsUNIXコマンドを扱うにはGit Bashが良さげ。
· BitflyerがチャットのAPIを公開していて分析してみたい。
· 言語処理100本ノックをこなして、言語処理力をつけたい。

ということでした。おっさんも日々勉強です。

入門 Python 3

入門 Python 3

ちなみに一問目は

word = "stressed"
print(word[::-1])

で「desserts」ということで、ストレスには甘いもので対抗しようということでしょうかw