タイトルと本文は全然関係ありません。ウイウ (@uiureo) | Twitter さん誕生日おめでとうございます。
昨日飲み会の席で「ういうれおさん明日誕生日らしいですよ!」って言われたし、せっかくの愛すべき同期なので祝うことにします。ほんとに今日が誕生日なのかどうかは知りません……。
この記事はKMC Advent Calendar 2015 - Adventar14日目の記事です。KMCID:jf712 です。
普段は部室でぼーっとしながらたまに曲を書いたりプログラムを書いたりしてます。最近は家に籠りがちです。
前回は 友利のな (@nonamea774) | Twitter さんによる
nna774.net
でした。
宣伝
サークル「京大マイコンクラブ」は、コミックマーケット89で「木曜日 東地区 "モ" 42b」に配置されました! コミケWebカタログにてサークル情報公開中です https://t.co/BtKSerlV6R #C89WebCatalog
— 京大マイコンクラブ(KMC) (@KMC_JP) October 30, 2015
京大マイコンクラブはC89に無事当選しました!3日目(12月31日)東地区 モ 42b に配置されています!よろしくお願いします!
当日僕はいませんが、よろしくお願いします!おそらく部員が作ったゲームが入っているCDとか雑多な事が書いてある部誌とかが頒布されていると思います。
本編
さてなにかこ。前日にあたる12月13日は追いコンという名のコンパがあって、来年度から就職したり進学するKMC上回生を追い出す飲み会です。僕はめでたく今年で追い出されることになり、追い出される人はタダなので無限に飲み食いしてました。
で、その追いコンの場でも「明日そういえば僕の番やん、なにかこ……」と困っていて、僕がKMCでやってたことをぼんやり振り返っていたのですが、やっていたことといえば曲を作るか適当に何かしらをマルコフ連鎖に突っ込んで遊ぶくらいしかやってなかったなぁ、ということに気がつきました。
twitter.com
このBOTは15分に1回の頻度でマルコフ連鎖を使って呟いています。
マルコフ連鎖とは
わたしたちが普段口にしたり文字として書いている文は、いくつもの形態素から出来ています。ということは、逆に形態素を組み合わせていけばある程度文のようなものは出来るのではないか、という考え方があります。
かと言って、そこらから集めてきた形態素だけを繋げていっても文になるわけ非ず。そこでマルコフ連鎖という考え方を採用します。
たとえば、「この文章を参考にしました」という文があったとして、まず形態素解析すると
この
文章
を
参考
に
し
まし
た
という感じに切ってくれます。この場合、例えば「この」という形態素の次に来る形態素は「文章」、「文章」という形態素の次に来る形態素は「を」……ということになります。
こういう感じで形態素解析した文の形態素の連鎖をいくつもの文で保存していきます。
そして最初適当に形態素Aを選んで、その次に来そうな形態素Bを適当に選び、また形態素Bの次に来ていたことのある形態素Cを選び……とやっていけば文が出来るような気がしてきませんか?まぁ少しはしますよね。この連鎖を用いる考え方をマルコフ連鎖と呼んでいます(あってるんかな 厳密には違う気がする)。
では
時間がない*1ので、ここは自動で文章を作ることにしましょう。
というわけで、この14日目の記事は他のアドベントカレンダーからマルコフ連鎖で作っていくことにします。基にする文章は
ということにします。選出は僕の趣味です。友利奈緒アドベントカレンダーは非常に興味深い記事がいくつもあって(画像処理系が多いイメージ)オススメです。
友利奈緒編
まぁぶっちゃけやる前から分かってたんですが、ただの怪文書が出来てしまいましたねぇ……。
ブログ記事なので、ある程度
- はじめに
- さわり
- 本題
- 結論
みたいな枠組みがあるとは思うので、その枠毎に文を作るともうちょっとそれっぽくなるのかもしれないなぁと思いつつも、人によってその辺の切れ目も違うよなぁ……とも思う今日この頃です。
マルコフ連鎖には大分飽きてきてるので*2、何かいい感じの文を生成するアルゴリズムをご存知の方がおられれば是非教えてください!
時間があったらボタンをポチっと押すと文をほげほげ~って作るのとかも作って公開したかったなぁとか。
終わり
これで14日目のKMCアドベントカレンダーは終了です。なんとも微妙な記事になってしまいちょっと申し訳ないです。あと @uiureo 誕生日おめでとうございます。
さて明日は masawada さんによる記事が投稿される予定です。コメントには「東 京都の大学に通っています」と書いてあります。意味深ですね。どんな記事が拝見出来るのか楽しみにしつつ、今回の記事を終了させていただこうと思います。
備考
各ブログからの本文の抽出には
github.com
を使わせていただきました。ありがとうございます。