人工知能を使って小説を書く方法(テキストマイニングからbot生成まで)
はじめに
今回、人工知能(ここでは、人工知能=機械学習手法と捉えてください)を活用して、以下の小説を書きました。
このnoteでは、その具体的な手法、プログラムのソースを余すことなく公開いたします。有料のライブラリやサービスは用いてないので、基本的には無料でシステムを実現することができます。このnoteを読めば、人工知能を使って小説を書くヒントが得られるかもしれません。
ただ、小説自体はあくまでも1部に人工知能で生成された部分があるだけで(小説の10%程度です)、全自動で小説全てが作れるわけではないので、ご承知おき下さい。上記小説を読むとどのようなものかは大体想像がつくかとは思います。
変更履歴
2018/05/05:読者からのフィードバック反映し、スクレイピングの項目とTwitter botの説明補足
2018/04/29:Google Colaboratoryの使い方の説明追記、全体の微修正
2018/04/24:間違いやすい点・FAQ追加
2018/04/22:『Botの自動化』コンテンツ追加、読者からのフィードバック反映、全体的に微修正
2018/04/21:『ディープラーニングを活用した「なろう小説」の文章生成』のコンテンツ追加。プログラムがうまく動かない方へのアドバイス追加。オススメの参考書籍・参考サイト追加
2018/04/19:『自分のTwitterの過去の発言を学習して自動ツイートしてくれるbot生成』のコンテンツ追加
2018/04/18:『マルコフ連鎖を活用した「なろう小説」の文章生成』が「Google Colaboratory」に対応しました
2018/04/16:『マルコフ連鎖を活用した「なろう小説」の文章生成』のコンテンツ追加しました
2018/04/13:『回帰分析による「なろう小説」アクセス推移予測』のコンテンツを追加しました。
2018/04/12 :『WordCloud/word2vecを用いた「なろう小説」人気作品のテキストマイニング」』のコンテンツを追加しました。微修正の追記行いました。
このnoteを購入するとできるようになること
小説を読む時間のない人に、簡単に例を紹介します小説の文章を生成する以外にテキストマイニングによって、文章の分析をすることができます。
以下はWordCloudというライブラリを使って人気小説をテキストマイニングして可視化した例です。このような分析を行うには、スクレイピング・前処理・ライブラリの使い方など覚えることが沢山あるのですが、その全てをチュートリアル形式で解説しています。
実際このnoteを購入した読者のふぃろさんは、その日のうちに、上記の例を応用して、以下のようにご自身のnoteをテキストマイニングで可視化しています。
この手法は、noteの他にもブログやTwitter等で応用することができます。
また、文章生成に関しては、過去のTwitterの全発言を利用することで、自分のbotを作ることも可能です。例えば、以下は実は私ではなく、人工知能が生成した発言となります
アンケートの結果、約半数の方が気づかなかったという実績も誇っております。
詳細は以下記事参照下さい。
このようなbotをつくる方法に関しても解説しております。
想定している読者
また想定している対象としては、Mac OSである程度ターミナルの操作に慣れた方向け(ls とか cd とか cpの意味くらいは分かる方)となりますが、Windowsを使用している方や、環境構築の自信がない方に向けて、ブラウザベースで人工知能のプログラミングが実行できる「Google Colaboratory」を使用した例も紹介しています(極一部、Google Colaboratoryでは実行できない箇所あります。ご了承ください)。
本記事では、プログラミング言語としてPythonを用いますが、Pythonの基礎に関しての説明はないことご了承下さい。初心者向けの情報へのリンクのみとなります。
ご興味ある方はご購入下さい。内容としては以下となります。
目次
- 機械学習の環境に関して
- Python環境の構築(Macの場合)
- Python環境の構築(Mac以外の場合)
- スクレイピングによる「なろう小説」のデータセット収集
- WordCloud/word2vecを用いた「なろう小説」人気作品のテキストマイニング
- 回帰分析による「なろう小説」アクセス推移予測
- マルコフ連鎖を活用した「なろう小説」の文章生成
- 自分のTwitterの過去の発言を学習して自動ツイートしてくれるbot生成
- ディープラーニングを活用した「なろう小説」の文章生成
- プログラムがうまく動かない方へ
- 間違いやすい点・FAQ
- オススメの参考書籍・参考サイトの紹介
- さいごに
注記:
本内容は、筆者の環境で動作確認はしていますが、必ずしも読者全ての環境で動くことを保証するものではないこと、本内容がソフトウェアのバージョン変更や、開発中止により再現できなくなる可能性があり、永続的サポートできないことご了承下さい
もちろん、フィードバックは歓迎しますし、動かないケースがある場合は、最大限誠心誠意をもって修正対応させていただきます
また、本noteで用いている「Google Colaboratory」などの1部のWebサービスは、サービス提供社の都合で中止になる可能性あり、その際の保証はできないことご了承下さい。
本noteで紹介しているプログラムは、読者の皆様が自由に使用・改変が可能です。是非色々応用して下さい。応用例は、このnoteでも積極的にご紹介したいと思いますので、もしよろしければコメントやtwitter等で教えて下さい。
この記事が気に入ったらチップで応援してみませんか?