次のテーマは「詩を作るプログラム」
今週のできごと
9月に入ったところで秋雨前線停滞のような空模様となり、急に寒くなりました。
雨が止まったところを見計らってウォーキングに出ると、曇り空の下、蝉が鳴いていました。夏に取り残されたようで可哀想な感じでした。
次のテーマは「詩を作るプログラム」
「相づちくん」に「トレンドに応じてWikipedia記事を紹介」という2種類のTwitter Botを作り、作り方は一応把握したと思います。
週末プロジェクト的には、「元気が出る会話」をする人工無脳を作る、というのが大テーマです。その具体化方針の一つが「とにかく肯定的なあいづちを返す」というもので、その実装例が「相づちくん」となります。「相づちくん」のTwitter Botはレギュレーション的によろしくないようでボツにしました。これをLINE Botあたりに改造したい気もしますが、同じようなプログラムですとつまらないので、新しいタイプのプログラムに挑戦することにしました。
「元気が出る会話」のもう一つの具体化方針は、「何かしら気晴らしを提供する」というものです。これはようするに、何んらかのテキスト・メッセージを生成、それが人間から見て意表を突いたところがあればよいだろう、というようなことを意図しています。
で、意表をつくテキスト・メッセージとして「詩を作る」ということをやってみることにしました。
なぜ「詩」なのかと言えば、表現の自由度が高い詩であれば、多少不自然なものでも、それを読む人間から見て「ちょっと、おもしろい」というものが生成できるののでは?という安直な考えです。
詩を作るプログラムというと、最近の流行りは、機械学習で既存の詩や文章を学習させて「それらしい」文章を生成させる、という手法が思い当たります。まあ、機械学習について勉強するのは先の楽しみとして、当面はローテク(?)なルールベースで、言葉を組み合わせて何か出てこないかやってみようと思います。
とりあえず、今週は、
を行ったところです。
当面は、週末ごとに、この「詩を作るプログラム」について試行錯誤で取り組んで行こうと思います。
週末プロジェクトの記録
人工無脳の設計
- 「元気が出る会話」とは何か決める
- 「元気が出る会話」のパターン(その2) - 週末文書で会話のタイプを分類分けし通り、当面開発の対象とするのは以下2タイプです。
- とにかく肯定的なあいづちを返すタイプ
- 何かしら気晴らしを提供するタイプ
- 人工無脳の実装方式を決める
- 「詩を作るプログラム」として下図のような大雑把な構成を考えています。
人工無脳の開発
- プログラミング環境を整える
- 今週はMeCabをインストールしました。参考にしたのは「MeCabでの形態素解析 on Mac - Qiita」で、この記事通りコマンドを叩いてインストールしました。
- プログラミングを学ぶ
- Pythonプログラミング一般:Python公式HPのPython チュートリアル — Python 3.9.4 ドキュメントを読んでいます。プログラムを書いてみるのが楽しくて、まだ「8. エラーと例外」を読み終わりました。Pythonの例外の仕組み(try-except)はC言語のalarm()のように、ハンドラ関数をいちいち定義しなくてもいいのでお手軽だと思いました。
- 今週はインストールした MeCabになれるため、テキストを分割して辞書的なものを作ったり読み込んだりするサンプルを作って試しました。MeCabの出力をパースする部分の参考にさせてもらったのは「【Python】Mecabで形態素解析をする - Qiitaという記事です。
- プログラムを設計・開発する
- これから「詩を作るプログラム」に取り組んでみます。