前回はVUIシステムの設計フローのうち、(1)ユーザーストーリーの作成、(2)台本の作成を解説した。貯蓄VUIアプリを題材として、(1)ユーザーストーリーの作成ではデザインシンキングを行い、(2)台本の作成では「書き言葉ではなく話し言葉を使う」「出力は短く、分かりやすくが大原則」といった七つの注意点を考慮しつつAlexa(VUIアプリ)とユーザーの台詞が並ぶ台本を作成した。

 今回は後続工程である(3)対話フローの作成、(4)インテントの関連づけを取り上げる(図1)。(5)入力音声の検討以降は次回に解説にする。

図1 VUI設計の全体像
今回は、対話フローの作成、インテントの関連づけについて解説する
[画像のクリックで拡大表示]

工程(3)対話フローの作成

 工程(3)対話フローの作成では、台本を基に、対話フローを作る。対話フローとは、台本だけでは表現しきれない会話の流れを可視化した図である。

 台本はAlexa(VUIアプリ)とユーザーの対話を具体化した一つのケースである。台本がたくさんあると、同じ意味のことを別の表現にしているのか、それとも意味的に別の対話なのかが見えづらくなる。

 意味的に同一であるにもかかわらず、異なる対話だと捉えてしまうと、システムが煩雑になり開発や保守が困難になる。

 それを防止するためにも、台本を基に対話フローを作成し、対話の流れを可視化することが重要となる。対話フローが完成すれば、システムを開発するための設計のベースラインが出来上がり、VUI設計の後続工程がスムーズになる。

台本から対話フローへ変換

 対話フローは「台本」を「フローチャート」で表現したものである。UMLに詳しい人はアクティビティ図(ビジネス、プロセス、またはユーザーとシステム間のワークフローを示す図)で表現してもいい。本連載では、フローチャートを用いて対話フローを作成する。

 ただ、通常の情報処理試験やシステム設計で見るようなフローチャート、いわゆる「ツリーベースのフローチャート」ではなく「フレームベースのフローチャート」を用いる。

 「フレームベース」という言葉は、システム開発に携わっているエンジニアであっても馴染みがないだろう。実は筆者も、VUI開発に携わるまでは耳にしたことがなかった。

 そこで、それぞれのチャートについて説明する。

通常のフローチャートはVUI設計に向かない

 ツリーベースのフローチャートとは、ツリー状に手順を定義し、順番通りの手順にならなければエラーとなるようなフローチャートである。一般にフローチャートといえば、ツリーベースのフローチャートを指す。ツリーベースのフローチャートの例を前ページの図2に示した。

図2 ツリーベースのフローチャート
[画像のクリックで拡大表示]

 ツリーベースのフローチャートは、各処理が順番に実行される。そのため、実行順が規定されたシステムには向いている。

 しかし、VUIシステムが扱う「会話」は、順番を規定できない。ユーザーは思いついたことをVUIシステムに話しかけるからだ。

 入力が順番通りに来ないということは、処理の実行順が規定されていない、ということである。

 例えば、カフェでの注文を考えてみる。普通に考えると、ユーザーはドリンク名を言って、サイズを言って、ホットまたはアイスかを告げ、そのあとにカスタマイズ内容を伝える流れになると思われる(もちろん、この流れは人によって異なる)。

 ここで、ドリンク名を言ってサイズを言い忘れるケースもあるだろう。ドリンク名と「アイス」とだけ言ったあとに、店員から「サイズが不明です。ドリンク名からもう一度お願いします」と言われたらどう思うだろうか。「サイズだけ言えば注文が完了するようにしてほしい」と思うに違いない。

 つまり、注文する際には「ドリンク名」「サイズ」「温度」「カスタマイズ(オプショナル)」が必要で、これが順序通り、または一括でしか処理できないとすると、不便なVUIシステムになってしまう。

 このように、実行順が規定されていないシステムでは、ツリーベースのフローチャートは不向きといえる。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら