Pythonで作る対話システムの2章までやってみた

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Pythonでつくる対話システム [ 東中 竜一郎 ]
価格:2970円(税込、送料無料) (2021/4/25時点)


背景

  • 言語処理を使ったシステムを何か作ってみたくなったため
  • いきなり自力では作れないので,何か写経してシステム作成イメージが欲しかった

やったこと

  • 2章までの写経
  • プログラム内に利用するには登録が必要なAPIがあったが,個人的に登録が面倒なので登録なしでターミナル上に似たような結果が得られるようにした.

概要

  • 対話とは,情報交換の結果生じる変化の過程を意味する
  • 対話システムの意義
    • 音声入力であれば,声のみで使用可能になり便利になる
    • 直感的に使用可能になり,操作方法の学習が不必要になる
    • コミュニケーションを通して,幸せを提供する
  • 対話システムの課題
  • 言外の意味理解
  • マルチモーダル情報の扱い
    • マルチモーダル情報とは,テキストや身振りなどの複数のモダリティをまとめたもの
    • モダリティとは,テキストのような対話に使用される情報種類の単位
  • シンボルグラウンディング(記号接地)問題
    • シンボルグラウンディングとは,指示語が何を示しているのかを外科医の情報と対応づけること
  • フレーム問題
    • フレームとは,返答を考える際に考慮する範囲のこと
  • 対話システムのタイプ
    • タスク指向型
    • 非タスク指向型
  • タスク指向型対話システムとして,天気応答システムを作成
    • 対話行為タイプをSVMで,コンセプトをCRFで推測
    • 対話行為タイプの推定モデルでは,学習データにTF-IDFを使用
  • 強化学習

変更した内容

  • チャットアプリを使用せず,プログラムを実行したターミナルで対話が行われるようにした
  • 天気情報については,天気予報 API(livedoor 天気互換)を利用させていただきました
  • 詳細な変更箇所はまとめられていない.変更したコードは,Githubにまとめている

感想

  • 対話行為タイプでは,分散表現を使用してみてもよさそう
  • 別のタスクを追加してみて理解を深めたい
  • 強化学習は,別で勉強する

次にやること

  • 非タスク試行型対話システムである3章を進める