hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
08/14/2008 むう
08/14/2009 ふむ
■ [日記] 人工無脳
ここ 2, 3 日ほど人工無脳をでっちあげて遊んでみた結果. とはいえ実際手を動かしてたのは数時間程度だが.
モノは MeCab とマルコフ連鎖というオーソドックスなもの. 何も工夫しないと文章と呼ぶに値しない荒唐無稽なものしか出てこない.
そこでまず品詞を理解させる. 理解と言ってもその実ただの分岐で,命令は「一般名詞もしくは固有名詞で始まり終助詞もしくは句点で終われ」「ただし読みのない名詞は始まりとして認めない」のみ *1. 2 つめのルールは,うちの MeCab が "ー" 等を名詞と出力することがあるから (ipadic).
IRC での発言は口語でかつ発言の終了位置が分かりづらいことから学習に向かず,やはりおかしな文章を吐くことが多い. そこで,学習に際して,各発言の終了位置をおぼしき場所に句点を付加. 「句点で終われ」ルールにうまく引っかかって文章生成が格段にそれっぽくなった.
アルゴリズム (と呼べるような代物でもないが) 的な部分はこんだけ. 後はチューニングの領域. 議題 (?) の移り変わりが激しい IRC では,学習数が少ないうちはマルコフ連鎖の階数を少なくしておかないと,ただの山彦に成り下がる.2 で充分. また,短すぎる文章 (「名詞。」等) や,あまりに長い文章では面白さがない (鋭さがなくなる) ので,ループ数を調節できるようにした方が良い. ただし前述の「終助詞か句点で終われ」ルールと「学習文章の終わりに必ず句点付加」によって終了はたやすく出現するので,「n回以上」で充分. これは 5 くらいが丁度良いみたい.
とりあえずこのルールでランダムな文章生成はそれっぽくなった (とはいえ変なことを口走ることはあるのでまだまだではある). 「直前数回の発言内容からそれっぽい "返答" を生成」をやろうかなとか思ったあたりで飽きて考えるのをやめた.
賢くするためには定期的な学習データのメンテナンスが必要だろうなと思いつつ,めんどくさいから絶対やらないだろうな.
*1 ただしこれは不完全で,終了には一部の記号類も含めるべきだと思っている
08/14/2011 うむ
■ [日記] 野菜炒めの極意
野菜炒めはシャキシャキがうまいとか言う人が多いようだけど,俺は充分に火が通っていた方が好きなので,充分に火が通っててうまい野菜炒めの極意をここに記そう.
- 豚細切れ - 適量
- キャベツ - 適量
- もやし - 適量
- ニラ - 適量 (オプション)
- チンゲンサイ - 適量 (オプション)
- ピーマン - 適量 (オプション)
- きくらげ または しめじ - 適量 (オプション)
- 甜麺醤 - 適量
- 醤油 - 適量
- 料理酒 - 適量
- オイスターソース - 適量
- 鶏ガラスープの素 - 適量
- 片栗粉 - 適量
- 胡椒 - 適量
- ラー油 - 適量
- ごま油 - 適量
- 肉を甜麺醤で炒める.適当に火が通ったら次へ.少々生でも問題ない
- 野菜類を投入して混ぜる.適当に火が通ったら次へ.しなる程度でいい
- 醤油,料理酒,ガラスープ素,オイスターソースを投入して混ぜ,充分に火を通す
- この辺で水浸し状態になってるはずなので片栗粉でとろみを付けて混ぜる
- ラー油,胡椒,ごま油を投入して味と香りを整えて混ぜる
出来上がりはとろみのせいで「俺の知ってる野菜炒めと違う」となること請け合いだがそんな小さなことを気にしていては大きくなれないぜ?
適量とか分かるか! という細かいキミは自分に合った量を見つけるといいと思うよ. 調味料類はキャベツ半玉の場合大体小さじ 2 - 4 杯 (甜麺醤は肉 300g でも小さじ 1 杯) 程度でいいんじゃないかな.きっと比例はしないと思うけど.