読者です 読者をやめる 読者になる 読者になる

reizist's blog

ウェブ

小林銅蟲先生のブログでマルコフ連鎖

ruby

こんにちは。

漫画「めしにしましょう」が好きすぎて、

著者である小林銅蟲先生のブログ

negineesan.hatenablog.com

を漁り読む日々を過ごしています。

小林銅蟲先生っぽい」文章が面白くて文体を真似るファンが続出しているのを観測しており、人気の高さが伺えます。 まだ読んでいない人はめちゃくちゃおもしろいので今すぐ読みましょう。

さて、今日は朝7時に目覚めてしまったので、何を思ったかマルコフ連鎖で「小林銅蟲先生っぽい」文章を自動生成してみることにしました。 ※ブログ掲載にあたって小林銅蟲先生に許可を頂きました。

マルコフ連鎖とは

wikipedia を見てもさっぱりでした。

概要だけ把握する場合、

マルコフ連鎖を説明してみる。 | 分析のおはなし。

が参考になりました。 今回は要するに 「既存の文章を適当につぎはぎして自動で文章作る」のが目的です。

余談ですが、しゅうまい君もマルコフ連鎖で作られているようです。

準備

まず手始めにマルコフ連鎖に必要なデータを取得します。 パルスクレイピングして全てのブログ記事をtxtに落とし込みました。 (すべての記事からマルコフ連鎖するとそこそこ実行時間がかかったので最終的には取得記事を絞ってます)

これらの記事を1つのファイルに結合し、これを基データとしました。

また、マルコフ連鎖のために形態素解析を行います。これにはMeCabを使用しました。 rubyから使用する場合、 Nattoが便利です。

(macの場合)

brew install mecab mecab-ipadic
gem install natto
require 'natto'
 
text = '使用後はとても爽やか。'
 
mecab = Natto::MeCab.new('-Owakati')
p mecab.parse(text)
# => "使用 後 は とても 爽やか 。 \n"

以上が実行できれば環境はokです。 あとは以下のアルゴリズムに従って文章を作成します。

  1. 形態素解析を行い基データを単語に分割する
  2. 文章を複数語で構成されるprefix(接頭語句)と1語のsuffix(接尾語)に分割しテーブルを生成
  3. テーブルからprefixを選択し、prefixの後ろにつなげるsuffixをランダムに選択

結果

実行結果を並べてみます。

こんにちは。今回のイブニングのめしは新年一発目なので、なんかテフロン加工鍋的なものを食うことにしています。その他各種臓器も、消化器は開いて汚れを洗ってから茹でて、、冷水でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えていきます。成敗ウーウオーウーオウッオいやーびっくりしすぎて、それどこでアンコウ鍋をやってみたところ、全然うまかった。ていうか生活が苦しい時代よりも明らかに良いものを使うと平和っぽく作ることがわかります。前回あとなんかマツコがマ文脈牡蠣ですはいだるかったのかと勉強になり、これ全体がコラーゲンじゃないのって感じで陳列があり、それは焼いたパンに乗せたらいい感じの肉があり、それについての補足を簡単にしているのか知らんけどいきなり茹でてみたく、さらに漫画も描けるから経費パワーも使えるという、デメリットが一切ない企画です。解体を丁寧にやると木っ端の骨が出てきます実際松茸と霜降り肉は1人200gを超えるとしにます翌日もだるまちゃん先生家では本命のあれを茹でましょうモリモリいきますはいまず肝臓を確保血管を割いて血を抜こうとしてくれろという取引がございます。白子はググったら高級っぽくて、アンコウらしいヒラヒラが映えますすっきりいわゆるちょうちん的な箇所は引っ張れば普通にクリアできるヒレに皮が残りがちだけどヒレから皮取ったら食うとこないだろ説もあるのでよーく茹でてますねおもむろに白子が出ていますエラには酢が到達して煮てもいいんだけど削ることに2500円を出すか?というとこういうことがわかってきます実際松茸と霜降り肉は合うと思う、別にテフロンじゃなくてゼスターグレーターでパルミジャーノを削っている状態でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えていますねおもむろに白子が出ないので丸呑みした胃を裏返してよく洗いますなんだかんだで皮膚が破損する湯通ししたねびっくりしすぎて、こんなふざけたものでは甘すぎるので醤油を足して二番だしをとります。肉ですそれ以外です味変ガンガン混ぜることで大阪のイベントの帰りに高島屋今半で肉をかまぼこにしてからよく噛んで食ってうまいしなんなら吊るし切りもやっています結構でかい切ると中は超魔界村の4面みたいになって1.5kg買ったけど食ったらいけました。食感だけでここまで嗜好性がいまいちよくわからないものを洗い流していて、こんなふざけたものではこのように死ぬ思いをしています。幸いシーズン最後の出荷分をゲットできて、何のために口の中で水分がガンガン出るので水はなるべく少なめにところで肝はうまかった記憶がありとてもおいしい。その他各種臓器も、消化器は開いて汚れを洗っていましたねびっくりした胃を、そろそろ、、とにかくできました。10分だかガッツリ茹でるのでノロウイルスはしにますスーパー計量タイム配合は忘れたので速攻で帰りました。その足でマテガイ採集に向かったということです。文脈ですが、それはそれとして参戦します。エラです。金曜の朝8時に市場へ着くと観光目的の人間はいきなり死ぬ」について主に考えてみたらこれもまた別件で、小骨の激しい部位の肉がありますとれたまだ頬肉がガッツリシカトされたので、合理的なものがどろどろと溶けていきます。のでこれは大洗で揚がってかつ内臓が出ないので丸呑みしたね。
こんにちは。イブニングで2話掲載がよくあり(よくあるのです)、今回もなのかなこれ謎腸に黄色いクリームみたいなのですがショップ情報には酢が到達しています皮湯通し後の世界です身の迫力を楽しみたいのでグッと大ぶりにカット炊いていきますハサミの方が便利だったハローいろんなのがはっきりしました。ていうか生活が苦しい時代も忘れて、しかしアシに入る日がそこから7日くらいあったので、折角だから大洗に行くことになりました。口の中で世界になります。店もここ以外やってみたく、さらに漫画も描けるから経費パワーも使えるという、デメリットが一切ない企画です。一応ニンニクやショウガもおろせるらしい。つうことで煮えました。アンコウはうまいです。ポタージュっぽくもありかなこれ謎腸に黄色いクリームみたいなのがあります。その他各種臓器も、消化器は開いてくるところでウツボは小骨がいろいろ邪悪で、厚削り節と鴨のガラが冷凍庫にあったのでめしです1kg1万円ぐらいで存在しやがって、アンコウの初心者にわりと取り付く島がなくなったのでめしです1kgパワーモリモリ割くはい肉よくわかんないのでここでラクができますが10kg級になるのでフードプロセッサで粉砕します。一体どうすれば、、冷水でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えてみましょうゆでた肝は固まりませんでしたが種類でいろいろあるんでしょう。胆嚢なのがいますはいはい人ん家を色んな角度から撮りますフムッ超時空バトル四の五の言わずぶちこみます以下、意味不明ですたぶん脾臓、味がとにかくきれいでうまいでは肉を外し終わったヒレを取りましょうモリモリいきます。やりました。実用的に硬質チーズや柑橘類を削りたい人間がどれくらいいるか」「人間はいきなり死ぬ」について主に考えています。これは固さとしては片はんぺんくらいで結構柔らかいのだから大洗に行くことに2500円を出すか?そんなことは特に気にして煮ます中華粥のニュアンスにするため、20分だか20分だか20分とかでぼちぼちじゃね?みたいになってほしい。年末最高。そんで年末の話です。よろしくお願いします。詳しくは各自読んでもらうとして、、冷水でも骨は確かにウッてなる。でもうまいのでOK。工夫を考えていき、お前こんなふざけたものが世界に存在しやがって、そういえばクセもなくうまかった記憶があり、これも仕事ですね。
こんにちは。ブログ的に崩壊します。血管ぜんぶ引っこ抜いて細かく切って針ごと収容する)、調理環境に持ち込んだ時点ではまだ生きてたので昆布を足して二番だしをとります。とてもぬめっている酢まんべんなく塗りたくるこの状態のアンコウはうまい。よかったですね。
色々なことをしなければ平気だと思って元気付けのために今日もめしを食ってよいものだろう」との差異はよくあり(一部地域で「人体を食べることにつきましてはこれで14リットルだったので、買う際に「この袋はたべられませんでした。ていうか卵は高いやつだと取り回しが微妙なったのでそれに直交させればよいという知見があり、醤油、オイスターソース、(酢)、片栗粉、で餡をぶっかけました。これは何が起こっている塩とごま油と塩でざっくり洗って濾してニンニンク、ショウガに漬けて放置します。これは急いでた牛です。600gくらいでしたが、昔の偉い人の歴史や思想的なものを選びました。よかったですね。
色々なことが予想された臓器があり、同じ肉ではないでしょう。ジャガイモを茹でます。うま界さてこの当時、ぶっちゃけあんまり変わらなかったことになり、タタキが鬼のようなこと、うまいです。同様にする人はやっていくことで告知が出ますね。
色々なことが出来ず、糊を食ってうまい。よかったですね。

所感

本家の面白さには至らず力不足を感じましたが、とはいえそこそこおもしろい文章が生成できて満足です。

今回は完全ランダムでしたが、マルコフテーブルを作成する際文節の出現頻度のスコアリングするなどすることでもっと「っぽい」文章が作れるかもしれません。

よかったですね。