Python初心者に送る「人工知能の作り方」 Part5
前回は形態素解析による学習と、名詞に関連した文章を返すPatternResponder
を追加しました。キーワードで連想的に応答を生成させることで、そこそこ文脈を保った会話が実現した気がします。とはいえ一文をまるごと保存しているため、オウム返しされている感は否めません。
そこで今回は本格的に「文章を生成させる」ことに焦点を当ててみます。ゼロから生成させるのは手がかりがないので、形態素解析を応用してユーザーの発言を分解してテンプレートとして学習し、そこから文章を作り出してみます。今回のソースコードはこちら
続きを読むPython初心者に送る「人工知能の作り方」 Part3
Python初心者に送る「人工知能の作り方」 Part2
前回はAIを作るにあたって、全体の骨組みとインターフェイスを作ってみました。結果として「○○ってなに?」としか発言しない、とてもAIとは呼べないものになっていますが、今回はもう少し反応を改善してみます。
前回のおさらい:
Responder
クラス- 入力にもとづいて応答を返す思考エンジン。
Unmo
クラス- 人工無脳コア。
- 思考エンジン
Responder
を持ち、ユーザーと思考エンジンを接続する。
- フロントエンド
- とりあえずコンソールアプリケーション。
- ユーザーからの入力を受け取り、
Unmo
オブジェクトへ渡し、応答結果を表示する。
しかし改善するといっても、どうやって行えばいいのでしょうか。また、Responder
, Unmo
, インターフェイスがひとつのmain.py
に記述されているのもいただけません。ひとつひとつ見ていきましょう。
今回のソースはsandmark/unmoに置いてあります。
続きを読むPython初心者に送る「人工知能の作り方」
昨今、機械学習やディープラーニングといったキーワードで注目を集めているPython。簡潔な文法から初心者向けの学習目的にも採用されています。
とはいえ、入門書を読んだだけではよくわからないという人も多いはず。「何をどうやって作ればいいの?」「文法はわかったけど書き方がわからない」という疑問は初心者にありがちで、「英語の文法はわかっても読めない・書けない」のと似ています。解決方法はズバリ、人と会話したり、手を動かしてみることです。
この記事ではPython初心者、ひいてはプログラミング初心者に「チャットbotを作る」という目標を設定してもらって、具体的な作り方や設計方法を見てもらいます。Microsoftのりんなほど高度なものではありませんが、プログラムとチャットする楽しさを感じながら、プログラミングテクニックを身に着けてもらえればと思います(今回扱うAIは機械学習とは無関係です)。
初めて'Hello, World!'
を出力させたときの感動をもう一度味わってください。
今回の目標は「とりあえずプログラムと会話する」です。最初はバカバカしいくらい退屈ですが、徐々に成長させていくのでゆっくりやっていきましょう。
続きを読むdjango-rest-frameworkのチュートリアルを超意訳してみた。第07回「スキーマとクライアントライブラリ」
このあいだ自分がプライベートで運営している動画サイトにAPIが欲しかったので、django-rest-frameworkを使ってみました。日本語の資料が少なかったので、布教目的でここに置いておきます。
欲しかった機能はこんな感じ。
可能なのかどうか半信半疑で使ってみましたが、チュートリアルに全部書いてあったので参考になれば。
今回はTutorial 7: Schemas & client libraries(version 3系)の超意訳です。
- 第01回「シリアライズ」
- 第02回「リクエストとレスポンス」
- 第03回「クラスベースのビュー」
- 第04回「認証と許可」
- 第05回「リレーションシップとハイパーリンクAPI」
- 第06回「ViewSetとRouter」
- 第07回「スキーマとクライアントライブラリ」(今ココ)
django-rest-frameworkのチュートリアルを超意訳してみた。第06回「ViewSetとRouter」
このあいだ自分がプライベートで運営している動画サイトにAPIが欲しかったので、django-rest-frameworkを使ってみました。日本語の資料が少なかったので、布教目的でここに置いておきます。
欲しかった機能はこんな感じ。
可能なのかどうか半信半疑で使ってみましたが、チュートリアルに全部書いてあったので参考になれば。
今回はTutorial 6: ViewSets & Routers(version 3系)の超意訳です。
- 第01回「シリアライズ」
- 第02回「リクエストとレスポンス」
- 第03回「クラスベースのビュー」
- 第04回「認証と許可」
- 第05回「リレーションシップとハイパーリンクAPI」
- 第06回「ViewSetとRouter」(今ココ)
- 第07回「スキーマとクライアントライブラリ」