(58)【調査した分野】(Int.Cl.,DB名)
前記挿入制御部は、前記台詞の履歴に含まれる単語に対応付けて定められた所定の特徴ベクトルを用いて、前記台詞の文章に関連する感情の種別を分析し、当該感情の種別に予め対応付けられて前記記憶装置に記憶されている前記フィラー又は感謝の気持ちを表す言葉を挿入する
請求項1に記載の情報提供装置。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明を実施するための形態について説明する。
【0015】
<システム構成>
図1は、実施形態に係るシステム全体の一例を示す図である。本システムは、コンピュータによって発言が出力され、ユーザと会話を行う仮想的な人格であるソフトウェアエージェントを提供する。また、会話の内容は予め作成されたシナリオを表す情報に基づいて進行する。
【0016】
本システムは、ユーザ装置1と、対話型情報提供装置2とを含み、これらがネットワーク3を解して接続されている。ネットワーク3は、インターネット等の通信網であり、ネ
ットワーク3に接続されたコンピュータは様々なプロトコルに基づいて相互に通信できるものとする。ユーザ装置1は、スマートフォンやタブレット、PC(Personal Computer
)等のコンピュータであり、本実施形態に係るプログラム(ソフトウェア、又はアプリケーションとも呼ぶ)を実行することにより、本実施形態に係る会話提供システムのユーザインターフェースとして機能する。なお、ユーザ装置1は、ネットワーク3に複数接続されていてもよい。対話型情報提供装置2は、一般的なコンピュータであり、本実施形態に係るプログラムを実行することにより、仮想的な人格の発言をユーザ装置1へネットワーク3を介して出力すると共に、ユーザ装置1からユーザの応答を取得する処理を繰り返す。なお、ユーザの発言は、対話型情報提供装置2が出力する選択肢の中からユーザが選択することにより、ユーザ装置1に入力され、ネットワーク3を介して対話型情報提供装置2へ送信される。
【0017】
<装置構成>
図2は、ユーザ装置1及び対話型情報提供装置2の構成の一例を示すブロック図である。
【0018】
ユーザ装置1は、スマートフォンやタブレット等の一般的なコンピュータであり、入出力インターフェース(I/F)11と、記憶装置12と、通信インターフェース(I/F)13と、プロセッサ14と、バス15とを備えている。入出力I/F11は、例えばタッチパネル等のユーザインターフェースである。入出力I/F11は、ユーザに対し仮想的人格の発言を表示したり、ユーザの応答の選択肢を表示させたりすると共に、ユーザの操作に基づいてユーザの応答の選択を受け付ける。記憶装置12は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムや受信する台詞のデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムを記憶したりする。通信I/F13は、例えば携帯電話の基地局や無線LAN(Local Area Network)のアクセスポイントと通信を行うネットワークモジュールであり、所定のプロトコルに基づき通信を行う。プロセッサ14は、CPU(Central Processing Unit)等の演算処理装置であり、プログラムを実行することにより本
実施の形態に係る各処理を行う。
図2の例では、プロセッサ14内に機能ブロックを示している。具体的には、プロセッサ14は、入出力制御部141として機能する。入出力制御部141は、仮想的な人格の発言を入出力I/F11に表示させると共に、入出力I/F11を介してユーザの応答の入力を受け付ける。以上のような構成要素が、バス15を介して接続されている。
【0019】
また、対話型情報提供装置2は、サーバ等の一般的なコンピュータであり、入出力I/F21と、記憶装置22と、通信I/F23と、プロセッサ24と、バス25とを備えている。入出力I/F21は、例えばキーボードやマウス、ディスプレイ等のユーザインターフェースである。記憶装置22は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムや補助記憶装置に格納されているシナリオのデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムを記憶したりする。通信I/F23は、例えば有線のネットワークカード等であり、所定のプロトコルに基づき通信を行う。プロセッサ24は、CPU等の演算処理装置であり、プログラムを実行することにより本実施の形態に係る各処理を行う。
図2に示すように、プロセッサ24は、会話制御部241、挿入制御部242、学習処理部243として機能する。会話制御部241は、予め用意されたシナリオを用いてユーザに対する仮想的な人格の発言と、発言に対するユーザの応答の選択肢とを出力する。挿入制御部242は、所定の規則に従い、フィラーや感謝の気持ちを表す言葉を挿入するか判断する。学習処理部
は、統計処理に基づいて、フィラーや感謝の気持ちを表す言葉を挿入することで、ユーザとの対話数が伸びたか判断し、挿入制御部242がフィラーや感謝の気持ちを表す言葉を挿入する確率を調整する。以上のような構成要素が、バス15を介して接続されている。
【0020】
<ユーザインターフェース>
図3は、ユーザ装置1の入出力I/F11に表示される画像の一例を示す図である。
図3の例では、タッチパネルである入出力I/F11に、エージェントを表す画像111と、ユーザを表す画像112と、エージェントの発言を表す吹出し113と、ユーザの応答の選択肢114とが表示されている。ユーザは、例えばこのような選択肢の中から自身の発言をタップして選択することにより、エージェントとの対話を行うことができる。なお、選択肢の数は1以上であり、4つには限られない。
【0021】
<シナリオ>
図4は、対話型情報提供装置2の記憶装置22に予め記憶されているシナリオの一例を視覚的に表した図である。本実施形態では、長方形で表されるエージェントのせりふ又は電話の発呼のようなソフトウェアによる処理と、角丸長方形で表されるユーザのせりふの選択肢とが矢印により順序付けされて配置されている。エージェントのせりふは、基本的に直列に接続されており、矢印で接続された順に、
図3に示した吹出し113に出力される。ユーザのせりふの選択肢は、
図3に示した選択肢114に表示される。このとき、並列に配置された選択肢は並行して出力され、ユーザが選択したせりふに応じてシナリオが分岐し、後続のせりふが表示されるようになる。その他、ユーザ装置が備える機能を利用して、
図4に示した電話の発呼処理や、ウェブサイトの表示(図示せず)等が行えるようにしてもよい。
【0022】
<フィラー及び感謝の言葉の挿入>
図5は、シナリオのせりふ間にフィラーを挿入した場合の出力の一例を示す図である。本実施形態に係る対話型情報提供装置2の挿入制御部242は、予め用意されたシナリオの中に、「えー」、「えーと」、「うんうん」、「ほうほう」、「なるほど」等の会話の間を埋める言葉であるフィラーや、「ありがとう」等の感謝の気持ちを表す言葉を挿入する。具体的には、エージェントは相手のせりふの後に、所定の確率に基づいてこれらの言葉を挿入するようにしてもよい。
【0023】
また、挿入される言葉は、喜怒哀楽といった感情の種別と予め対応付けて記憶させておくようにしてもよい。そして、相手のせりふに含まれる単語について、感情の種別を要素とする特徴ベクトルを用いて対話の流れにおける感情を分析し、感情の種別に応じて挿入すべき言葉が選択される。また、上述の確率は、前回フィラー等を挿入してからの対話数(ユーザおよびエージェントが発言したせりふの数)が増加するほど上昇するようにしてもよい。
【0024】
図4に示したシナリオによれば、ユーザのせりふの選択肢「何ができるの?」の後に、エージェントのせりふ「ご注文の商品を・・・」が接続されているが、
図5の画面においては上述した条件に基づいてフィラー「えーと・・・」が挿入されている。
【0025】
また、対話型情報提供装置2の会話制御部241は、ユーザとエージェントとの対話のログを記憶装置22に蓄積し、学習処理部243は、フィラーや感謝の言葉を挿入することで対話数が伸びたか否かを機械学習する。そして、学習処理部243は、挿入することで対話数が伸びたと判断された言葉や、挿入することで対話数が伸びたと判断されたタイミング(あるシナリオにおけるせりふの間)において、これらの言葉が挿入される確率が上昇するようにフィードバックする。なお、対話数が伸びたか否かは、挿入されたせりふの数以上に、予め用意されたシナリオをユーザがより先まで進行させたか否かに基づいて
判断する。
【0026】
<会話提供処理>
図6は、本システムにおいて実行される会話提供処理の一例を示す処理フロー図である。まず、対話型情報提供装置2の会話制御部241は、
図4に示したようなシナリオを読み出す(
図6:S1)。本ステップでは、シナリオに定義された順序に基づいて、エージェントのせりふ若しくはユーザのせりふの選択肢、又はその他の処理を行う指示が読み出される。
図4の例では、「スタート」から矢印で接続されたエージェントのせりふ「お買い物ですか?」が読み出される。
【0027】
そして、会話制御部241は、読み出したせりふ等がエージェントのせりふであるか判断する(
図6:S2)。エージェントのせりふである場合(S2:YES)、会話制御部241は、読み出したエージェントのせりふを、入出力I/F11を介して出力する(
図6:S3)。例えば、
図3に示すように、エージェントのせりふ「お買い物ですか?」が出力される。そして、接続子「A」を介して
図7の処理へ遷移する。
【0028】
一方、読み出したせりふ等がエージェントのせりふでない場合(S2:NO)、会話制御部241は、読み出したせりふ等がユーザのせりふの選択肢であるか判断する(
図6:S4)。ユーザのせりふの選択肢でない場合(S4:NO)、会話制御部241は、シナリオに沿った処理を行う(
図6:S5)。本ステップでは、例えば所定の電話番号への発呼や、所定のURI(Uniform Resource Identifier)のウェブサイトの表示等の処理が
実行される。そして、接続子「A」を介して
図7の処理へ遷移する。
【0029】
一方、読み出したせりふ等がユーザのせりふの選択肢である場合(S2:YES)、会話制御部241は、ユーザのせりふの選択肢を表示する(
図6:S6)。例えば
図4に示したシナリオの場合、エージェントのせりふ「お買い物ですか?」の次の段階においては、ユーザのせりふの選択肢「商品を見たい」、「何ができるの?」、「お店に電話したい」等が読み出され、本ステップにおいて
図3の選択肢118のように出力される。
【0030】
その後、会話制御部241は、入出力I/F21を介してユーザの選択を受け付ける(
図6:S7)。本ステップでは、例えばユーザがタッチパネルをタップした位置に応じて、せりふの選択肢のいずれかが選択される。そして、接続子「B」を介して
図7の処理に遷移する。
【0031】
図7は、本システムにおいて実行される会話提供処理の一例を示す処理フロー図である。S7の後、対話型情報提供装置2の挿入制御部242は、フィラー又は感謝の言葉を挿入するか判断する(
図7:S8)。本ステップでは、所定の確率に基づいてフィラー又は感謝の言葉を挿入すると判断する。シナリオに従って発言したエージェント又はユーザの台詞の履歴を記憶装置22に記憶させておき、確率は、前回の挿入から対話数が増加するに従い上昇するようにしてもよい。
【0032】
また、履歴に基づいて挿入する言葉を選択するようにしてもよい。例えば形態素解析により、発言した文に含まれる単語に分解し、感情の種別を要素とする特徴ベクトルを用いて分析する。挿入制御部242は、例えばWord2VecやDoc2Vec等を利用し、エージェント又はユーザの台詞の履歴に含まれる単語に基づいて感情分析を行うようにしてもよい。そして、感情の種別である「喜」、「怒」、「哀」、「楽」の占める割合を求める。また、感情の各種別の占める割合に基づいて、挿入する言葉の各々が選択される確率をさらに調整する。
【0033】
図8は、記憶装置22に記憶されるフィラー又は感謝の言葉の一例を示す図である。例
えば、感情の種別に予め対応付けられて記憶装置22に記憶されている言葉を挿入する。
図8のテーブルは、感情の種別、およびフィラー又は感謝の言葉の属性を有する。感情の種別のフィールドには、「喜」、「怒」、「哀」、「楽」が登録されている。また、フィラー又は感謝の言葉のフィールドには、「えーと」、「うんうん」、「ほうほう」、「ありがとう」等の言葉が登録されている。そして、上述した感情分析の結果、会話の履歴に応じた感情に対応するフィラー又は感謝の言葉が選択される確率を上昇させる。なお、
図8のようなテーブルは、エージェントの性格に応じて複数用意しておくようにしてもよい。
【0034】
また、学習処理部243は、エージェント又はユーザの台詞の履歴に基づいて、挿入することで対話数が伸びたと判断された言葉や、挿入することで対話数が伸びたと判断されたタイミングにおいて、フィラー又は感謝の言葉が挿入される確率を上昇させるようにさらに調整するようにしてもよい。学習処理は、例えば履歴から求められる、ある言葉を挿入した場合とそうでない場合とにおける条件付き確率に基づき、期待される対話数の差が大きいほど、その言葉が選択される確率を上昇させるようにしてもよい。また、あるタイミングでフィラー又は感謝の言葉を挿入した場合とそうでない場合とにおける条件付き確率に基づき、期待される対話数の差が大きいほど、そのタイミングで言葉が挿入される確率を上昇させるようにしてもよい。また、言葉の選択とタイミングの選択との組み合わせについて、履歴から期待される対話数が伸びるほど当該組合せが選択される確率を上昇させるようにしてもよい。
【0035】
また、フィラー又は感謝の言葉を挿入すると判断された場合(S8:YES)、挿入制御部242は、選択されたせりふを出力する(
図7:S9)。本ステップでは、例えば
図5に示したように、シナリオにはなかったフィラー又は感謝の言葉が出力される。
【0036】
一方、フィラー又は感謝の言葉を挿入しないと判断された場合(S8:NO)、又は
図6のS3の後、会話制御部241は、S1で読み出したシナリオが終了したか判断する(
図7:S10)。本ステップでは、例えば
図5に示したようなシナリオにおいて、矢印で接続されたせりふ等の終端に到達した場合に、シナリオが終了したと判断する。
【0037】
シナリオが終了した場合(S10:YES)、会話制御部241は会話提供処理を終了する。一方、シナリオが終了していない場合(S10:NO)、又はS9の後、接続子「C」を介して
図6のS1に戻る。
【0038】
<効果>
特にチャット形式のソフトウェアエージェントにおいては、フィラーは冗長で無駄なものと考えられがちである。しかしながら、発明者らは、チャット形式のエージェントに関する実証実験を経て、フィラー又は感謝の気持ちを表す言葉を挿入することで、同一のシナリオでもユーザとの対話数が増加することを見出した。対話数が増加するということは、本ソフトウェアの利用時間(アクティブ率)が増大するということであり、ユーザの満足度、ひいては幸福感が高まるものと考えられる。
【0039】
上述した実施形態によれば、フィラーや感謝の言葉を予め定められたシナリオにおいて好ましい位置に挿入することができ、対話の継続性を向上させることができる。また、フィラーや感謝の言葉の挿入を確率的に決定することで、同一のシナリオに変化を与えることができる。また、会話の履歴に対して学習処理を行い、対話数が増加するような言葉やタイミングを選択させることで、より違和感が少ない言葉の挿入を実現できると共に、対話数をさらに伸ばすことができる。
【0040】
<変形例>
エージェントの数が複数の場合も、同様にフィラー又は感謝の気持ちを表す言葉を挿入することができる。本変形例では、シナリオに従ったせりふを発言するエージェントと、フィラー又は感謝の言葉を発言するエージェントとに役割を分けて説明する。
【0041】
図9は、変形例に係る会話提供処理の一例を示す処理フロー図である。本変形例は、基本的に
図6の処理と同様であり、対応するステップには同一の符号を付している。以下、
図6との相違点を中心に説明する。
【0042】
図9の変形例においては、S2において一方のエージェント(エージェント1)のせりふであるか判断し、S3においてエージェント1のせりふを出力する。
【0043】
図10は、変形例において表示される画像の一例を示す図である。
図10の画像には、
図3にも示した第1のエージェント111(エージェント1)に加え、第2のエージェント115(エージェント2)が表示されている。
【0044】
また、S3の後は、接続子「B」を介して
図11のS8に遷移する。
図11は、変形例に係る会話提供処理の一例を示す処理フロー図である。すなわち、S8においては、ユーザの発言の後だけでなく、エージェント1の発言の後にも、他方のエージェント(エージェント2)が、フィラー又は感謝の言葉を発言するか判断する。そして、フィラー又は感謝の言葉を挿入すると判断された場合(S8:YES)、S9においては、エージェント2が選択されたせりふを出力する。
【0045】
図12は、変形例において表示される画像の一例を示す図である。
図12の例では、エージェント2の発言を表す吹出し116が表示されている。また、
図12においては、エージェント1の発言の後に、エージェント2のせりふ「ほうほう」が挿入されている。このように、エージェント2は、エージェント1のせりふの後、又はユーザのせりふの後に、フィラー又は感謝の言葉を発言する。なお、言葉を挿入する確率は、上述の実施形態と同様に決定することができる。
【0046】
このようにすれば、三者の会話においてもユーザとの対話数を伸ばすことができる。
【0047】
また、上述の変形例では、シナリオに従ったせりふを発言するエージェントと、フィラー又は感謝の言葉を発言するエージェントとに役割を分けたが、このような例には限定されない。予め2人のエージェントにせりふが割り当てられたシナリオを用いるようにしてもよい。この場合は、例えば、一方のエージェントは、他方のエージェント及びユーザに対しフィラー又は感謝の言葉を発する。また、他方のエージェントは、一方のエージェント及びユーザに対してフィラー又は感謝の言葉を発する。このとき、言葉を挿入する確率は、上述の実施形態と同様に決定することができる。
【0048】
<その他>
上述した実施形態の構成は例示であり、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせたり、変更することができる。
【0049】
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
【0050】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読
み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。
【解決手段】情報提供装置は、ユーザに自身の台詞を選択させることにより、仮想的な人格とユーザとの会話形式で情報を提供する。情報提供装置は、仮想的な人格の台詞及びユーザの台詞を含む会話形式のシナリオを記憶する記憶装置からシナリオを読み出し、仮想的な人格の台詞及びユーザの台詞の選択肢を出力すると共に、ユーザから台詞の選択を受け付ける会話制御部と、シナリオに従って発言した仮想的な人格及びユーザの台詞の履歴に基づいて、選択されたユーザの台詞と、仮想的な人格の台詞との間に、発言の間を埋める言葉であるフィラー又は感謝の気持ちを表す言葉を挿入する挿入制御部とを備え、挿入制御部は、フィラー又は感謝の気持ちを表す言葉を挿入する確率が、フィラー又は感謝の気持ちを表す言葉を以前に挿入したときからの発言数が増加するほど上昇するように調整する。