カテゴリ

カテゴリ:イベント

カテゴリ:
この記事は、大都会岡山 Advent Calendar 2017 19日目のエントリーです。

さあ、みなさんは岡山に似ている都道府県はどこだとおもっていますか?
広島、香川、静岡、、 など、十人十色な答えが出てくると思います。

今回はそのまた1つ違う答えとして、
岡山に似ている都道府県をWikipedia的に解析していきたいと思います。

つかうもの

Wikipediaの記事
MeCabという形態素解析機
Word2Vecというニューラルネットワーク
コサイン類似度

この4つです。 
これらがどういうものなのかについては全く説明しませんので調べてください。

やりたいこと

Wikipediaの記事をMeCabで分かち書きにします。
そして、そこに出現する単語をWord2Vecで学習させて、 ベクトル化します。
最後に、岡山県と各都道府県の名前の単語のベクトルをコサイン類似度を用いて比較していきます。

解析環境

MacBookPro13インチ(2016)
Ubuntu 16.04 in VirtualBox on macOS
Python3系

データセットの用意

今回はWikipediaのデータを利用するのでそれをダウンロードしてきます。
https://dumps.wikimedia.org/jawiki/
2017年12月1日のデータを利用します。
$ wget https://dumps.wikimedia.org/jawiki/20171201/jawiki-20171201-pages-articles.xml.bz2

wikipediaのデータをXML→TXTに変換

Rubyで書かれたwp2txtと言うものをインストールして使います。
gemでインストールできます。
$ sudo gem install wp2txt
(ruby-dev, ruby-buildがなかったらインストールしてください。)

$ wp2txt --input-file jawiki-20171201-pages-articles.xml.bz2 --no-list --no-heading --no-marker -f 99
しばらく時間がかかります。

終わると幾つかのファイルに分割されているので、くっつけます。
$ cat jawiki-20171201-pages-articles.xml-* > jawiki-20171201.txt
3GBになりましたー!ぱちぱちぱち。

MeCabインストール

MeCab
$ sudo apt install mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8

neologd辞書
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd
$ sudo ./bin/install-mecab-ipadic-neologd
(curlがなかったらaptでインストール)

Mecabの辞書パスを変更する
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
$ sudo vim /etc/mecabrc
dicdirを上で確認したパスに変更

実行確認
$ mecab
で実行させて適当に日本語を入力したら形態素解析されることを確認できればOKです。

データセットの前処理

日本語の文は英語のように単語が区切られていないため、区切る必要があります。
それをMeCabが行ってくれます。

さっき出力したデータセットをMeCabに食べさせてあげれば勝手にやってくれます。
$ mecab -b 100000 -Owakati jawiki-20171201.txt -o jawiki-20171201-wakati.txt
これもしばらく時間がかかります。
3.6GBになりましたー!ぱちぱちぱち。

Word2Vecで学習

今回は、PythonのgensimライブラリにあるWord2Vecで学習していきます。
Pythonコード(train.py)はGithubにあげておきます。

$ python3 train.py jawiki-20171201-wakati.txt jawiki-20171201.model

しばらく時間がかかります。完了したらモデルが保存されます。
注、メモリは10GBぐらいないとモデルを保存する時にメモリエラーになります。


学習モデルから岡山県と各都道府県のコサイン類似度を計算

今回は、PythonのgensimライブラリにあるWord2Vecで学習していきます。
Pythonコード(calc.py)はGithubにあげておきます。

$ python3 calc.py jawiki-20171201.model 岡山県

メモリむっちゃ食います

結果


岡山県 1.0
山口県 0.927375485189
香川県 0.919382596218
広島県 0.917198679497
愛媛県 0.882751265092
佐賀県 0.880626212672
大分県 0.877781324933
福岡県 0.876426394088
兵庫県 0.872788433289
鳥取県 0.869529966787
島根県 0.86566874622
高知県 0.86045742375
京都府 0.847743270475
宮崎県 0.844942012071
徳島県 0.836974578018
和歌山県 0.835330778448
大阪府 0.832141094886
滋賀県 0.826369845773
福井県 0.824681809215
長崎県 0.817901845731
三重県 0.81155340475
石川県 0.808844019565
熊本県 0.797191584469
鹿児島県 0.786278074853
奈良県 0.780323281132
静岡県 0.778174483198
茨城県 0.771013043307
愛知県 0.764744811027
埼玉県 0.741934399635
富山県 0.740654065454
栃木県 0.739955051206
千葉県 0.735857965406
沖縄県 0.73160945034
秋田県 0.724718072244
神奈川県 0.719473647281
宮城県 0.710110328223
山梨県 0.709235108508
長野県 0.707129592618
岐阜県 0.704504163026
青森県 0.703485561749
山形県 0.691812031829
群馬県 0.69116102088
福島県 0.673939010919
岩手県 0.654629672884
北海道 0.653791214075
新潟県 0.645771529958
東京都 0.6208546649

まとめと今後

岡山は東京とは程遠いことがわかった

今回は単語に対するベクトルのコサイン類似度で岡山県ににている都道府県ランキングをおこないました。なぜこのような結果になるのかイマイチわかりませんが、これがWikipedia先生による答えです。笑
今後、単語ではなくWikipediaの都道府県ページのページに対する文書ベクトルをLSTMなどを用いて作った場合、ランキングがどうなるのか、変わるのかなどをやれればと思います。
プログラムに関しては、ランキングを計算するcalc.pyがいちいちモデルを読み込んで類似度を計算しなおして、、っていう流れになってますが、一旦都道府県の単語ベクトルを保存しておいて、その単語ベクトルから別のプログラムで類似度計算してランキングを出す方が賢い気がしました。気が向いたら直します。(すぐ治りますけどね。笑)
以上です。 

今回書いたコードはGithubに上げてます。
https://github.com/keisuke-oni/pref-similarity_based-word 

頑張る学生へのクリスマスプレゼントお待ちしております。
http://amzn.asia/azMxKyU

参考文献
word2vecを使って、日本語wikipediaのデータを学習する - Qiita
https://qiita.com/tsuruchan/items/7d3af5c5e9182230db4e 

Ubuntu 14.04 に Mecab と mecab-python3 をインストール - Qiita
https://qiita.com/elm200/items/2c2aa2093e670036bb30

自然言語処理をなにも知らない私がword2vecを走らせるまで: 最尤日記
http://saiyu.cocolog-nifty.com/zug/2014/02/word2vec-1867.html 

wikipedia全文データからWord2Vecで類義語を抽出してみる - Ai coordinator
https://ai-coordinator.jp/wikipedia-word2vec

Python で「老人と海」を word2vec する - m0t0k1ch1st0ry
https://m0t0k1ch1st0ry.com/blog/2016/08/28/word2vec/


高低差の激しい(岡)山の上の学校「岡山理科大学」の紹介でもしとく

カテゴリ:
Okayama_University_of_Science


さて、今日は12月10日ですね。
この記事は、大都会岡山 Advent Calendar 2015 の12月10日に向けて書いたものです。
今回は、僕がほぼ毎日通っている岡山理科大学についてちょっと語ろうと思う!

公式サイトURL:岡山理科大学 - http://www.ous.ac.jp/

1.岡山理科大学のあるところ



岡山理科大学は岡山大学 津島キャンパスの北のすぐ裏の半田山という”山の上”にあります。理大の裏は自衛隊の駐屯地になっています。地図でみるとこんな感じ。



2. 東京理科大学との関係


全く関係ない。
県外から来た人は、東京理科大学の関連校だと勘違いされる方が少なからずいます、しかし全く関係ありません。東京理科大学は学校法人東京理科大学が設置しており、岡山理科大学は学校法加計学園が設置しています。略称としては、県内のひとは「理大(りだい)」、県外の人は「岡理(おかり)」と読んでいます。東京理科大学は「理科大(りかだい)」って呼ばれてるらしいのでそこが違いのポイントです!
 

3.山の上産のマグロ


よくメディアで取り上げられてるのは「好適環境水」という魔法の水。淡水魚と海水魚の両方を同じ水槽で共存できるらしい。これを使ってマグロの養殖などを秘密裏に行っているみたい!w 
一部の悪い教授たちからは「金魚金魚!」って馬鹿にされているw

SCIENCE DREAM GURDEN | フィッシュプラント - http://www.ous.ac.jp/ScienceDreamGarden/fish_plant/ 

岡山駅に設置されている水槽で使われている水もこの好適環境水です。
「好適環境水」水槽 JR岡山駅に設置 - http://kakenet.net/spec/spec7.html 

作り方も公開されているらしい。 http://parasiteeve2.blog65.fc2.com/blog-entry-847.html 

近大マグロに勝てるかな?笑

4.2016年度から理系私立大学初(?)の「文系」教育学部がスタート! 新校舎の建設


題の通り2016年度から理系大学の文系「教育学部」というなんとも矛盾してる学部がスタートします。教育学部については、公式サイト(http://www.ous.ac.jp/education/index.html)を見てもらうとしましょう。
また、この学部のスタートに先駆けて、また旧校舎の取り壊し準備をするため、新校舎の建設工事が急ピッチで進められています。
完成図は↓こんな感じで、83億円を突っ込んだらしい。
15
詳しいことはココで→http://www.ous.ac.jp/anniv50/jigyou/


5.なぜか岡山の奇跡さくらいひなこちゃんが理大のCMにでてる


岡山の奇跡、岡山の奇跡と世間の悪い大人たちにはやし立てられて一躍ときの人になっている彼女ですが、実は一宮高校の女子高生らしいです。しかし、理大のCMに出てるんです!べつにおかしいことではないのかもしれないけど。





こんなの。
そういえばこないだ、理大の文化祭にも来てたみたいだね。

ちょっと、余談の話をするといまの理大の唯一の文系「社会情報学科」が総合情報学部から切り離されて経営(経済?)学部になるとかなんとか・・・・・。ま、噂ですけどね。

学部の幅をひろげていく理大。これからの理大がきになります。海外の大学では一般的になってきているリベラルアーツを取り込んだらもっと良くなるんじゃないかな?(笑)

6.心臓破りの坂と自称日本で一番高低差のある大学


最初にも書いたように大学は山の上にあります。
Okayama_University_of_Science_schoolhouse_county

見ての通り山。登校する人は毎日登山しています。
大学に登る3つの坂にはそれぞれ名前があり、ぐねぐねしたメインの坂はマムシ坂。
墓場の横で傾斜がきついのが地獄坂。
坂、平地、坂の3部構成の坂は留年坂。(引用 http://ameblo.jp/blogurara/entry-10601468861.html

夏の登山はそれはそれは地獄で朝からシャツが汗でびしょ濡れいなって投稿してくる人もいます。

とある先生曰く、「理大の坂は健康のバロメータ」って行ってました。えw。

ここまでで、ああ高い所にあるんだね。って感じだと思いますが甘い。
学内での高低差も日本一(たぶん)なのだ!
ここの大学の学生なのでいろいろ学内を歩く(登山する)ことは多いので面白いデータが取れました。
IMG_3412
注目すべきは上った階数のところです!右上を見てもらえればわかると思いますが、30階分ぐらい登ってます。1階はおよそ3m換算なので実質、90m上ったことになります。つまり学内での高低差はすくなくとも90〜100mもあることになるのです。
崖のようなところに校舎を立てるので、他の建物の5階が違い建物のB1階だったり、入り口が4階や7階にあったり、エレベータがついてなくて足で7〜8階分ぐらい登らないといけないところがあったり講義室についたら息切れしてます。(苦笑)

ダイエットしたい方ぜひ来てください。

まとめ


登山・登頂・下山

どうでしたか?みなさん。この大学に来たいと思いましたか?
答えはあなたの心の中にしまっておいてください。

P.S.今度、ゲーム開発勉強会をするらしいので良かったら理大まで遊びに来てください。 
僕はおそらく参加しないですが。。。

第3回 岡山ゲーム開発勉強会 IN 岡山理科大学
2016-01-09(土)13:00 - 18:00

https://okayamagamecreators.doorkeeper.jp/events/35153
 
理大でも勉強会やりたいなぁ。
OSOとか合同勉強会とか県大じゃなくて理大でやってほしい(ボソ) 

このページのトップヘ

見出し画像
×