2021/04/21
by 吉見 隆洋 / 村田 竜二
「デジタル・ヒューマン」が注目されています(「まるで本物!-『デジタル・ヒューマン』がやってくる」もご参照ください)。無機質なテキストのみのやり取りではなく、「人間臭い」表情や感情の表現を加え、本物の人間と行っているような「会話」ができる技術です。
DXCテクノロジー・ジャパンでは、お客様向けのサービスにこの新しい技術を組み込み、提供しています。
見た目の派手さに目を奪われがちなのですが、その裏側では様々な技術要素をふんだんに取り入れています。一体どのような技術が使われ、どのようなアーキテクチャになっているのでしょう?DXCでのデジタル・ヒューマンの開発の苦労話も交えつつ、ご紹介します。
やりとりが自然で、そして、いつでも話せるデジタル・ヒューマンのための工夫
デジタル・ヒューマンを構成するいくつかのテクノロジーの中で、まず皆さんの目に飛び込んでくるのは、高精細に描かれた人間そっくりのCG(コンピューターグラフィックス)です。こうしたCGを提供するプラットフォームの一つがUneeQ社のデジタル・ヒューマンで、AWS(Amazon Web Service)上で稼働しています。利用者が話しかけた音声を認識する(聞く)、音声に合わせて口を動かす(喋る)、といった機能などを提供します。
会話は言葉のキャッチボールで成り立つものです。一方的に話をするだけでは会話とは言えません。皆さんとデジタル・ヒューマンとの言葉のキャッチボールには自然言語解析エンジンというものが必要になります。Google Cloud Platformの「Dialogflow」は、その一つです。こうしたエンジンがデジタル・ヒューマンの基盤として、CGのプラットフォームと裏で連携しています。
皆さんが画面上のデジタル・ヒューマンに話しかけると、デジタル・ヒューマンの裏側では、
- 話しかけられた音声の内容をテキストに変換(Speech to Text)し、Dialogflowに渡す
- 渡されたテキストの内容をDialogflowが分析、適切な返答を選び、テキストデータとして返す
- 返されたテキストデータを、CGと連携して音声に変換(Text to Speech)して答える
といった一連の処理がされています。スムースなキャッチボールのためには、これらをほぼリアルタイムで行う必要があります。
また、キャッチボールをするためには事前にシナリオを作る必要もあります。シナリオとは、例えばホテルの予約をするためのやりとりといったことです。このシナリオはこんな会話になるだろうと想定して準備しても、実際にはその想定通りに会話が進まない場合が多く、最初に作成したシナリオを用いると、言葉のキャッチボールが成立しない場合が多々あります(涙)。
もう少し正確に言うなら、「決まった順番(シーケンシャル)で会話が進む」ケースは実は少なく、「順不同で寄せられる質問に臨機応変に対応しながら会話を進めていく」ことをできるようにする必要があります。(例えばコールセンターの全自動化がなかなか進まないのもこれが原因です)
試行錯誤を経てシナリオのテストを重ねてわかったのは、フローチャートのようなシーケンシャルなシナリオで考えるのではなく、会話をマインドマップのように網状につなげたシナリオで考える必要があるということです。
皆さんが目にする表舞台のCGからは見えない、こうした「舞台裏」が、自然な会話をするために必要となるのです。
また、デジタル・ヒューマンを利用したサービスが人気を博しアクセスが急増した場合には、それに応じた処理能力が求められます。そのため、リソースをオンデマンドで柔軟に追加することができるサーバーレスのインフラが、デジタル・ヒューマンには適しています。
やり取りが自然で、いつでも話せる(止まらない)デジタル・ヒューマンは、こうしたマルチクラウドをベースとした開発・運用環境で実現することができます。
デジタル・ヒューマンの親近感をさらに上げるには?
デジタル・ヒューマンの親近感をさらに上げるには、細かい表現にもこだわる必要があります。例えば、ずっと正面を向いて口だけを動かし、棒読みの音声にするのではなく、体を多少揺らすことで人間臭さを出したり、声色の抑揚を加えたりと味付けをすることで意外なほどに親近感が上がります。
文化や言葉によって味付けが異なることにも注意が必要です。例えば、日本人向けには何もないときでも少し微笑えむようにしたり、日本語の話し方として自然なイントネーションとなるよう調整することが必要です。この「日本語音声の自然なイントネーション」は曲者で、少しでも違和感があると音声だけでなく、デジタル・ヒューマン全体の印象や親近感を崩しかねません。私たちもデジタル・ヒューマンの開発の中で、音声の味付けにかなり苦労しています。
例えば、日本語のイントネーションやトーンを調整するボイスチューニングです。これには、SSML(Speech Synthesis Markup Language)と呼ばれる音声合成アプリケーション用のXMLベースのマークアップ言語を使います。これにより文章1つひとつに細かな調整をすることができます。
例えば、「へー、そーなんだー」という文章を調整するとしましょう。こちらは何の調整もしない素のままのテキスト読み上げ、
こちらは調整後です。 「へー」の部分のスピードを20%落とす一方、「そーなんだー」の部分は声のトーンを10%上げています。
ボイスチューニングは、読み上げるテキストそのものを調整して改善する場合もあります。例えば以下のサンプルを聞いてみてください。
「声が聞こえづらいです」
「今日も、絶好調です」
「修正が必要な場合は、戻るボタンを押して、修正してください」
調整前:修正が必要な場合は、戻るボタンを押して、修正してください
調整後:修正が必要な場合は、戻るボタンを押して、修正してください
これらは、それぞれ元テキストの「づらい」を「ヅライ」に、「絶好調」を「ゼッコウチョウ」に、「戻るボタンを押して」を「モドルボタンをオシテ」とカタカナに書き換えています。 カタカナへの調整ではない場合もあります。以下の例では元テキストの「ご自由」を同音異義語の「ご事由」に書き換えています。
「ご自由にお使いいただけます」
調整前:ご自由にお使いいただけます
調整後:ご事由にお使いいただけます
細部にこだわった、以下の例もあります。こちらはSSMLで「実は、私」の後に「間」を作っています。
「実は、私、将棋が、大好きなんです」
調整前:実は、私、将棋が、大好きなんです
調整後:実は、私、(間)将棋が、大好きなんです
いずれも、一つひとつはほんのちょっとした工夫です。これらを地道に積み重ねることで、全体の雰囲気をより自然なものにしていきます。
加えて、デジタル・ヒューマンではCGの表情も調整します。皆さんの問いかけに応じた感情表現をデジタル・ヒューマンの表情に持たせることで、同調性や共感性を生み出しながら会話を遷移させていくのです。
UneeQ社のデジタル・ヒューマンは「幸せ」「共感」「興奮」「ユーモア」「同意」「問いかけ」の6種類の振る舞いを設定することができます。例えば「幸せ」を設定することで、ポジティブな表情、振る舞いと共に、デジタル・ヒューマンが会話をしてくれます。これらの表情、振る舞いの細かい設定を加えていくことで、会話に“人間臭さ”が醸し出されてきます。
将来に向けて拡がるデジタル・ヒューマンの夢(とそのための工夫)
デジタル・ヒューマンの音声や表情のチューニングの多くの作業は、人の手に依存しています。まさに、人形に魂を込める作業とも言えます。そして、より人間らしい会話を実現するためには、日々継続的な改善を続けていかなければなりません。
私たちは経験と知見の蓄積で、こうした調整にも工夫を施していきたいと考えています。
例えば、Dialogflowでは、1 回の会話のやりとりにおけるユーザーの意向を「インテント(意図)」という単位で分類しています。シーンに応じて複数のインテントをつなげながら、会話全体の遷移を処理していきます。個々のインテントに対する音声表現・感情表現の標準適用パターンを、機械学習などを使った分析によって見出すことができれば、チューニング作業の多くを省力化し、さらに細部にこだわることができます。
日本語はハイ・コンテクスト(極めて文脈依存)であると言われます。「ヤバい」という言葉がわかりやすい例で、同じ「ヤバい」という単語であってもその時々のコンテキスト(文脈)によって意味が異なってきます。ですので、会話のパターン化や分析を進めても、自動化が難しい場面はまだまだたくさんあります。
こうした文脈依存性を持つ日本語や日本文化ならではの課題に対し、それを「突き詰め」て解決していくことが大きなチャンスを生み出すと私たちは考えています。難題を一つずつ乗り越えれば、日本がデジタル・ヒューマンの運用自動化・自律化に関するテクノロジーで世界をリードできるようになることもきっと夢ではないでしょう。