はじめに

Amazon、LINE、Google、Appleなどの対話型スピーカ、ドコモのマイデイズなどのスマートフォンの対話型アプリケーションなどの製品、Microsoft(マイクロソフト)の女子高生AI「りんな」など、機械とおしゃべりして生活を快適にするための製品やサービスが注目を集め、またたくまに普及してきています。本稿では、その仕組みについて解説していきたいと思います。

会話型UIの種類

会話型UIには大きく2種類存在します。

    • タスク指向型対話システム
      タスク指向型対話システムとは、ユーザの要望に対して、回答するシステムです。たとえば、問い合わせ対応のシステム、Watsonのクイズ解答システムなどがそれにあたります。
    • 非タスク指向型対話システム
      対話することと、それを継続することを目的としたシステムです。端的にいえば、雑談をするためのシステムです。

一般的には、前者はユーザの問いが想定しやすく、後者の方はユーザの問いが想定できないため、難易度は後者の方が高くなりがちです。

会話UIの仕組み

会話型UIは処理の流れは、大きく4つに分けられます。

  1. 音声認識
    音声認識では、人間の音声(発言)をテキストに変換します。まず音のデータから人間の声を抽出します。その次に声を解析し、それに当てはまる単語を辞書から検索して適応します。単語の適応では、単語の並びが日本語として適切かを統計的な処理で判定し、テキスト変換の精度を上げています。
  2. 言語理解
    言語理解では、応答を生成するためのキーとなる単語を抽出します。具体的には、1の音声認識で入力されたテキストを形態素解析により単語に分解し、行動を選択するために必要な単語を取得します。
  3. 返答の作成
    2の言語理解で抽出した単語より、返答の行動を選択し、返答を作成します。応答を作成する方法には、シナリオ型と自動生成型の2種類が存在します。

      • シナリオ型
        基本的に、ルールベースで対話を構成する方法で、決まった質問や単語に対してあらかじめ用意しておいた返答を選択します。これには、問いに含まれる単語の条件により行動を選択するパターンと、過去の会話の記録から類似の物を検索して返答する方法があります。ビジネスで利用される会話型UIの大半はシナリオ型です。
        例)問いに食べ物の名前が含まれていたら、近隣のその食べ物を提供する飲食店の検索結果を出す。
        問いに「あそんで!」もしくはそれに類する言葉が含まれる場合、対話アプリのキャラクターが特技を見せる。
      • 自動生成型
        自動生成では、問いに含まれる単語から返答を自動生成します。問いに含まれる名詞とか動詞から、確率的に計算して返答を自動生成します。実際にはおかしな日本語や会話がなりたたないといったことが多いようです。
  4. 対話行為
    上述の3. 返答の作成では、回答はテキストで生成されます。音声で返答する場合は、音声合成技術などで返答を読みあげます。

実用化へのブレイクスルー

ここ2年あまりの間に会話型UIは急激に普及しました。私たちの問いかけに自動で返答する仕組みが出来上がったからなのでしょうか? 実は違うようです。商品化されている対話型AIの仕組みの大半はシナリオ型です。実はこの仕組み、1980年代にブームになったエキスパートシステムと同一の技術とのことです。

では、何がブレイクスルーになったのでしょうか? 個人的な考えですが、音声認識、形態素解析の精度を大幅に向上させる技術革命(※)があったからです。それは深層学習(またはディープラーニング)です。この深層学習の実用化によって、音声認識、形態素解析、画像解析等、さまざまなパターン認識領域での精度が向上しました。たとえば、音声認識の場合、誤認識がそれ以前の13%前後から、今では5%前後まで向上し、ユーザがストレスなく使えるレベルになりました。

もうひとつはマシン性能の向上です。音声認識、形態素解析は計算量が多く、マシン性能が遅いとユーザにとってストレスになってしまいます。現在ではスマフォ等の機器の性能が向上し、ユーザの問いかけから返答までの処理がイライラしないレベルになったということで、実用化したのだと思います。

※東大の牛久先生がその衝撃について語ったお話が、日経新聞で記事になっています。→日本経済新聞 – 画像認識技術で説明文を生成 東大の牛久講師(2018/1/25)

導入の時のポイント

「会話型UI 作り方」で調べると、多くの技術者がGoogleやドコモが提供するAPIを利用して、会話型UIを作っていました。では、実際に業務で利用する会話型UIは簡単に作れるのでしょうか? 個人的な意見をちょっとかいてみたいと思います。

最初のポイントとなるのは、音声認識と形態素解析で利用する辞書です。音声認識や形態素解析では辞書を利用して、音声をテキストに、テキストの文書を単語に分けています。そこで利用する辞書には、業務で利用する専門用語は登録されていないことが大半です。導入に際して専門用語を登録し、音声認識で正しくテキストに変換後、形態素解析で正しく単語を分解し、返答の作成に必要なキーを抽出する必要があります。

次のポイントは、返答の作成です。業務用でパターンは限られるため、シナリオ型の採用することになるでしょう。シナリオのパターンを整理すること、各パターンを適応する場合の条件や検索方法を確立し、正解率の高い返答をできるようにすることです。

最後のポイントは運用です。正答率の向上や、業務パターンの変更による拡張性が求められます。たとえば、返答の正誤を記録できる仕組みがあると正答率向上の助けになります。

今後の展望

今までのUIだと、必要なアプリケーションを起動したり、キーボードで入力したり、場合によっては説明書を探して読んだり、ネットで調べたりと、色々な機器の操作が必要でした。会話型AIはそれを日常会話と同じように話すだけで解決してくれる簡単で便利な仕組みです。これからますます普及していくと思います。

また、スマートファクトリー、スマートホームといったIoTの普及で色々な物がネットワークでつながっていくことでしょう。そうすると、つながった製品を会話型AIで一元操作できるような時代がくると思います。

 

参考:
日経ビジネスONLINE – 機械が人間の音声を理解する仕組みとは?
株式会社富士通マーケティング – 会話型AIは、すでにあなたの生活の身近なところに
シーエイトラボ株式会社 – TensorFlowで会話AIを作ってみた。 (SlideShare)
株式会社SPJ – 対話システムを構成する2つの仕組みと、フレームワークとは?