【文献】
RIESER, Verena and LEMON, Oliver,"Reinforcement Learning for Adaptive Dialogue Systems: A Data-driven Methodology for Dialogue Management and Natural Language Generation",Springer,2011年,pp.53-70,<DOI: 10.1007/978-3-642-24942-6>, <ISBN: 978-3-642-24941-9>
(58)【調査した分野】(Int.Cl.,DB名)
前記対話状態として、前記対話システムの状態を記憶するシステム状態記憶部を備え、 前記対話停止部は、前記システム状態記憶部に記憶されている前記対話システムの状態に基づいて前記対話実行部による対話を停止するための制御を行う、請求項1〜5のいずれか一項に記載の対話システム。
【発明を実施するための形態】
【0010】
添付図面を参照しながら本開示の一実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0011】
図1は、本開示の一実施形態の対話システムであるサーバ100の機能構成を示す図である。
図1に示される通り、サーバ100は入力取得部101(対話実行部)、停止判断実行部102(対話停止部、状態判断部)、回答生成部103(対話実行部、応答内容抽出部、応答内容提供部)、出力部104(応答内容提供部)、対話状態データベース105(対話状態記憶部)、履歴データベース106(対話履歴記憶部)、FAQデータベース107(応答内容記憶部)、システム管理部108およびシステム状態データベース109(システム状態記憶部)を含んで構成されている。
【0012】
このサーバ100は、いわゆるFAQ(Frequently Asked Questions)システムであって、ユーザによって入力された入力キーに基づいて、対応する回答を提示する対話システムである。通常1回の入力キーのみでは回答を絞り込むことができないため、サーバ100は、聞き返しキーを使って、逆質問をすることにより、ユーザに聞き返しキーを用いた検索を行うか否かの意図を問い合わせ、回答を絞り込んでいく。なお、本実施形態において、回答は、ユーザが質問をしたい内容を示す質問文およびその回答とするが、質問文のみとしてもよい。この対話システムは、ユーザから入力された質問の意図を簡単に確認し、また絞り込むための装置である。なお、本実施形態におけるキーとは、特に断りがない限り、キーワード(単語)を示す。
【0013】
通信端末200は、ユーザが操作する端末である。通信端末200はユーザから入力キーの入力を受け付け、それをサーバ100に送信する。また、通信端末200は、サーバ100から聞き返しキーを受信すると、それをユーザに対して提示して、当該聞き返しキーを検索に利用するか否かの意図を問い合わせる。通信端末200は、ユーザから聞き返しキーに対する肯定・否定の意図を受け付け、それをサーバ100に送信する。サーバ100は、その聞き返しキーを検索に利用するか否かを、肯定・否定の意図に基づいて判断する。すなわち、聞き返しキーがYESキーまたはNOキーのいずれかを判断する。
【0014】
また、意図には、肯定・否定のいずれでもない、スキップを含んでもよい。このスキップは、聞き返しキーとして利用されないことを示したものであるが、積極的に否定したことを示すものではない。なお、NOの聞き返しキー(NOキー)については、そのキーを含んだ質問文(および回答)は、以降の検索対象から除外されるが、スキップされた聞き返しキーについては、単に他の聞き返しキーが選択され、そのキーを含んだ質問文は除外されない点で相違する。
【0015】
上記動作を行うサーバ100は、さらに、ユーザの対話が過度に多くなり、検索の途中で離脱することを防止するために、所定の停止条件に従って、対話を停止させ、その時点での質問文及びその回答を通信端末200(ユーザ)に提示する動作を行う。以下、その動作を行うためのサーバ100の各構成について
図1を用いて説明する。
【0016】
入力取得部101は、通信端末200から送信された入力キー、聞き返しキーに対する肯定・否定の意図を示す意図情報を取得する部分である。入力取得部101は、通信端末200から取得した入力キーおよび聞き返しキーの意図情報を対話状態データベース105に記憶する。
【0017】
入力取得部101は、直前の聞き返しキーの送信から所定時間経過しても通信端末200から入力キーまたは意図情報を受信しない場合には、ユーザは対話から離脱したと判断する。入力取得部101は、ユーザが対話から離脱したと判断すると、対話状態データベース105に記憶されている対話状態に記述される入力キーおよびYES/NOキーとともに、離脱した旨(対話の中断)を履歴データベース106に記憶する。なお、対話の中断(または離脱)と、対話の停止とは、区別して記憶することが好ましい。対話を中断した場合は、質問文候補等の応答内容候補の提示は行われないが、対話を停止した場合は、その時点での質問文等の応答内容の提示が行われる。
【0018】
なお、入力取得部101は、テキストベースの情報を取得すること以外に、音声情報を取得し、認識する処理をしてもよい。
【0019】
停止判断実行部102は、対話状態データベース105および履歴データベース106に記憶されている情報が停止条件を満たしている否かにに基づいて、FAQの対話を停止するか否かを判断する部分である。停止判断実行部102は、対話を停止すると判断すると、対話停止のための制御を行う。対話停止のための制御とは、回答生成部103に対して、対話停止時において抽出された質問文のうち、所定の条件に基づいて一または複数の質問文およびその回答を決定し、当該質問文及びその回答をユーザに提示させることを示す。そのほかに、停止のための制御には、通常時より少ない対話で質問文の提示を行うように各種の閾値を調整する処理を含む。“通常時”とは、所定条件下における対話停止時以外の状態である。対話停止の詳細については、後述する。
【0020】
回答生成部103は、入力取得部101により入力された入力キーおよび聞き返しキーの意図情報に基づいて、FAQデータベース107を検索して、質問文およびその回答を抽出する部分である。そして、回答生成部103は、検索した質問文およびその回答の件数が所定値以下となる場合には、ユーザによる検索が完了したとして、その旨を履歴データベース106に、入力キー,YES/NOキーとともに記憶する。
【0021】
また、回答生成部103は、停止判断実行部102により対話停止の判断が行われると、その時点での質問文およびその回答を抽出するとともに、対話停止をした停止条件に応じて、ユーザに対して提示対象となる質問文およびその回答を選択する。
【0022】
また、回答生成部103は、質問文およびその回答が所定条件(ここでは閾値以下)に従って絞り込まれないと判断する場合には、聞き返しキーをFAQデータベース107から取得する。そして、回答生成部103は、出力部104を介して通信端末200に送信することで、対話を継続する。聞き返しキーの取得基準は種々あるが、ここでは、FAQデータベース107において割当てられている質問文数が多い検索キーを聞き返しキーとする。
【0023】
出力部104は、通信端末200に、聞き返しキー、または質問文およびその回答を送信する部分である。
【0024】
対話状態データベース105は、現に対話をしているユーザの対話状態を、ユーザごとに記憶する記憶部である。対話状態とは、入力取得部101において取得された入力キー(直前の入力内容を含む)、聞き返しキーの意図情報(直前の出力種別を含む)である。また、対話状態は、回答生成部103により生成された回答に基づいたNext質問種別、Nextキー(またはNextFAQ)、残キー数、残質問文件数、残回答件数を含む。この対話状態は、世代ごとに生成されており、すなわち入力処理(入力キーの受付など)がなされるごとに生成され、記憶されているものである。
【0025】
図2は、対話状態データベース105の具体例を示す図である。
図2に示されるとおり、入力キーリスト、YESキーリスト、NOキーリスト、SKIPキーリスト、Next質問種別、Nextキー、NextFAQ、残キー数、残質問文件数、残回答件数、直前の入力内容、直前の出力種別を記憶している。入力キーリストは、入力キーとして入力されたキーであり、自由記述文がリスト形式で記憶されている。なお、自由記述文から取り出された単語単位のキーワードとしてもよい。YESキーリストは、聞き返しキーに対してYESの意図を示したキーであり、リスト形式で記憶されている。NOキーリストは、聞き返しキーに対してNOの意図を示したキーであり、リスト形式で記憶されている。SKIPキーリストは、聞き返しキーに対してスキップの意図を示したキーであり、リスト形式で記憶されている。
【0026】
Next質問種別は、NextキーまたはNextFAQのいずれかの種別を示す。Nextキーとは、一の聞き返しキーのつぎに聞き返しキーとして設定されているキーであり、NextFAQとは、一の聞き返しキーのつぎに聞き返しキーとして質問文(FAQ)が設定されている項目ある。このNext質問種別は、サーバ100の運営者によって設定されている。なお、キーの取得具合によって、Next質問種別が決められる場合がある。例えば、質問文候補がある程度絞り込まれた場合には、Next質問種別は、NextFAQが設定されるなどである。
【0027】
残キー数は、検索に使用可能なキーの数である。FAQデータベース107には、質問文と、検索キーと、回答とが対応付けて記憶されている。入力キーおよび聞き返しキーを用いて質問文が検索されるが、残キー数は、FAQデータベース107における、その検索に際して検索に利用されなかったキーの数を示す。
【0028】
残質問文件数とは、入力キーと聞き返しキーとに基づいて絞り込まれた質問文の件数を示す。残回答件数は、質問文に対応した回答の件数を示す。FAQデータベース107においては、質問文にその回答が対応付けられているが、同じ回答に異なる質問文が対応付けられている場合があり、残回答件数は、必ずしも残質問文件数と同じにはならない。
【0029】
直前の入力内容は、ユーザにより直前に入力された情報であり、入力キー、または聞き返しキーに対する意図情報(YES/NO)である。直前の出力種別は、聞き返しキー、聞き返しFAQまたは不明入力に対する聞き返しのいずれであるかを示す。
【0030】
履歴データベース106は、ユーザおよび他のユーザの過去の対話状態を記憶する部分であって、より具体的には、ユーザ(他のユーザを含む)により入力された入力キー、および意図情報に応じたキーを、ユーザごとに記憶する部分である。
図3は、履歴データベース106の具体例を示す図である。
図3に示されるとおり、履歴データベース106は、ユーザごとに、入力キー、YESキー、NOキーおよびステータスを対応付けて記憶している。YESキーは、聞き返しキーで肯定を意図したキーであり、NOキーは、聞き返しキーで否定を意図したキーである。ステータスは、これら入力キー、YESキー、NOキーに基づいて、質問文の絞込が最後まで行われたか、途中で離脱したかを示す。
図3において、検索ID:1001の検索は、入力キーAから始まり、YESキーB、C、D・・・の順に対話がなされたことを示している。
【0031】
FAQデータベース107は、FAQ検索を行うためのデータベースであり、検索キー、質問文、およびその回答を対応付けたデータベースである。なお、検索キーは、質問文を形態素解析などを行うことにより自動的に抜き出されたキーキーワード(単語)であるが、FAQデータベースの設計者が入力してもよい。
【0032】
システム管理部108は、サーバ100のシステム管理を行う部分である。具体的には、システム管理部108は、通信端末200の同時接続数または音声認識連携数などの情報を取得し、管理する。すなわち、システム管理部108は、入力取得部101における動作に基づいて同時接続数または音声認識処理を把握することができる。そのほか、システム管理部108は、ユーザの対話状態に基づいたシステムへの状態(ファイル書き出し、データベース更新など)を管理する。
【0033】
システム状態データベース109は、サーバ100の負荷状態を示す情報を記憶するデータベースである。例えば、システム状態データベース109は、システム管理部108の管理の下、通信端末200の同時接続数または音声認識連携数などの情報を記述している。通信端末200との同時接続数が多くなれば、サーバ100の負荷が多くなる。また、音声認識連携処理は、音声認識処理を行うことからサーバ100の負荷が多くなる。これら情報は通信端末200との間の対話状態に基づいて定められる情報であり、一種の対話状態である。
【0034】
そのほか、システム管理部108は、同一対話システムに対する同時接続数を管理しておき、システム状態データベース109は、同一対話システムに対する同時接続数を記述してもよい。通常、一のサーバ内には、複数の対話のための対話システム(プログラム:チャットボットと称する場合がある)を有している。また、音声認識処理を他のシステムに行わせ、当該システムとの連携状態を記述してもよい。
【0035】
つぎに、本開示の一実施形態のサーバ100の動作について説明する。
図4は、サーバ100の動作を示すフローチャートである。入力取得部101は、通信端末200から送信された入力内容を認識する(S101)。具体的には、入力取得部101は、入力キーを受け取ったか、聞き返しキーに対する意図情報を受け取ったかを認識する。入力取得部101は、受け取った情報(入力キーまたは意図情報)を対話状態データベース105に記憶する(S102)。
【0036】
停止判断実行部102は、対話状態データベース105の対話状態および履歴データベース106の履歴情報に基づいて、対話を停止するか否かを判断する(S103)。ここで停止判断実行部102が、対話を停止すると判断すると、対話を停止するための処理を行う(S104)。対話を停止するための処理とは、現状の対話状態で得られた質問文を、FAQデータベース107から抽出し、その全部の質問文または所定の条件に基づいてさらに絞り込んだ一部の質問文を抽出して、質問文候補およびその回答として提示する処理である。なお、即座に停止処理をすることのみならず、対話回数の上限を決めるなど、対話を早期に終了させるための制御をしてもよい。
【0037】
停止判断実行部102は、対話を停止しないと判断すると、回答生成部103は、対話状態データベース105の対話状態を用いてFAQデータベース107を参照して、質問文を抽出する(S105)。回答生成部103は、抽出した質問文に基づいた情報を対話状態データベース105に記憶する(S106)。ここでは、Nextキー、NextFAQ、残キー数、残質問文件数、および残回答件数が記憶される。回答生成部103は、FAQデータベース107から質問文を抽出することにより、聞き返しキーとするNextキーまたはNextFAQがわかり、また、残キー数等の情報も取得することができる。
【0038】
つぎに、停止判断実行部102は、S106において記憶された対話状態に基づいて、停止するか否かを判断する(S107)。すなわち、停止判断実行部102は、残キー数、残質問文件数、または残回答件数の少なくとも一つに基づいて、対話を停止するか否かを判断する。例えば、残質問文件数または残回答件数が多い場合(所定値以上の場合)には、質問文件数等を絞り込むには、まだ対話をする多くの回数が必要であり、途中でユーザが離脱する可能性が高い。その場合には対話を停止すると判断してもよい。また、直前の残質問文件数または残回答件数から減少割合または減少数が少ない場合も、同様に継続する意味がないと判断でき、そのような場合には停止と判断してもよい。
【0039】
停止判断実行部102は、対話を停止すると判断すると、停止処理を行う(S108)。停止処理は、上記と同様であり、停止のための制御全般を含んだものである。
【0040】
停止判断実行部102は、対話を停止しないと判断すると、回答生成部103は、S105で抽出した質問文を提示可能か否かを判断する(S109)。すなわち、回答生成部103は、抽出した質問文の候補数が所定数以下など、所定の条件を満たしている場合には、提示可能と判断する。
【0041】
ここで提示可能であると判断されると、回答生成部103は、出力部104を介して通信端末200に質問文およびその回答を質問文候補として出力し、通信端末200において質問文およびその回答を提示する(S110)。なお、便宜上、図では、S110の後は、処理終了となっているが、これに限るものではない。例えば、質問文を提示した後、「この回答でよろしいですか?」との確認メーセージを出力部104は、通信端末200に送信してもよい。ここで、通信端末200のユーザが否定の意図を示した場合には、S111に進むようにしてもよい。そして、S110において提示された質問文が複数回または連続して否定された場合には、対話停止としてもよい。 また、回答生成部103は、質問文が複数否定された場合に停止するとともに、その際、複数質問文をいっぺんに返したり、または複数の質問文をまとめた回答ページを生成して、送信してもよい。
【0042】
提示不可であると判断されると、回答生成部103は、FAQデータベース107(または対話状態データベース105)を参照して、つぎの聞く検索キーを抽出し、聞き返しキーとして出力部104を介して通信端末200に送信する(S111)。
【0043】
入力取得部101は、聞き返しキーに対する応答待ちとなり(S112)、所定時間内に応答を受信しない場合には、中断処理を行う(S113)。
【0044】
入力取得部101は、聞き返しキーに対する応答を受信すると、S101に戻り、その入力内容の認識処理を行い、上記S101〜S112の処理が繰り返される。
【0045】
このように、サーバ100は、対話状態データベース105の対話状態に基づいて対話の停止を判断することができる。
【0046】
つぎに、対話状態データベース105および履歴データベース106の履歴情報など、ユーザまたは他のユーザの対話状態に基づいた停止判断(S103およびS107)の詳細処理について説明する。
【0047】
(S103の判断)
停止判断実行部102は、対話状態データベース105に記憶されている対話状態に基づいて対話の停止の要否を判断する。具体的には、対話状態におけるNOキーリストに記述されるキーが基準値(連続基準)以上連続した場合には、対話を停止すると判断する。聞き返しキーに対して否定の意図が連続した場合、ユーザは途中で対話から離脱する傾向にあるためである。
【0048】
なお、YESキーリストに記述されるキーが、基準値以上連続した場合には、対話を早期に停止しないように基準値を調整してもよい。ここでの基準値は、NOキーに対する基準とは別に定められた値である。
【0049】
また、停止判断実行部102は、対話状態データベース105に記憶されているYES/NOキーから、YES率/NO率を算出して、それぞれの率に基づいて対話を停止するための制御をしてもよい。
【0050】
また、停止判断実行部102は、履歴データベース106に基づいて停止を判断してもよい。
図5に、対話履歴の模式図を示す。この模式図は、聞き返しキーA〜Dに対してYES/NOの全てのパターンを示している。なお、SKIPについては、説明の便宜上省略している。
【0051】
図5に示されるとおり、開始から始まり、S1において、聞き返しキーA:YESが入力される。その後、S2において、聞き返しキーB:YESが入力される。一方、S3においては、聞き返しキーC:NOが入力される。同様の処理がS4〜S15まで行われ、S8〜S15においては、聞き返しキーA、B、C、Dに対するYES/NOの組合せが示される。
【0052】
ここで、仮にS1−S2−S5−S11の検索経路は、多くの履歴においてユーザが結果的に最後まで検索をすることなく、離脱したという統計情報が得ていたとする。例えば、100人中50人が離脱したなどの統計情報とする。
【0053】
ユーザの入力内容が、このような経路を通った場合には、聞き返しキーDの後にさらに聞き返しキーを送信することなく、この時点で、対話を停止することが好ましい場合が多い。
【0054】
一方、S1−S2−S4−S8の経路において、多くの履歴においてユーザは結果的に最後まで検索することができたとする。例えば、100人中10人が離脱したなどの統計情報とする。このような経路を通った場合には、聞き返しキーDの後に、さらに聞き返しキーを送信する必要があるなら、その処理を継続し、対話を停止させない。
【0055】
このように履歴データに基づいて、検索のための対話を途中で離脱する傾向にある検索経路を通る場合には、途中で対話を停止することで、ユーザに過度の負担をかけず、検索を最後まで行わせることが可能になる。離脱する傾向か否かは、基準値(離脱基準率)を設定しておき、それに基づいて判断する。離脱基準率を50%に設定していた場合には、50%のユーザが離脱した検索経路は、途中で対話を停止させる。この離脱基準率は、後述する通り、ユーザの入力状態に応じて可変としてもよい。
【0056】
なお、最初の検索経路は違っていたとしても、途中から同じ経路となった場合も、対話の停止をさせてもよい。最初の検索経路は違っていたとしても、途中から同じ経路となった場合における離脱数または離脱率を算出しておき、これに基づいて対話の停止を判断してもよい。
【0057】
具体的な処理は、以下の通りとなる。停止判断実行部102は、履歴データベース106を参照する。
図3に示されるように、履歴データベース106には、YESと応答された聞き返しキー、NOと応答された聞き返しキー、および入力キーが対応付けて記述されており、さらにその検索ごとにステータスとして検索が完了したか離脱したかを記述している。
【0058】
停止判断実行部102は、事前に履歴データベース106を参照して、どのような経路を通った検索の対話が離脱をする傾向にあるかを、その統計情報を算出することにより、決定している。上記したとおり、離脱基準率以上の検索経路については、離脱する傾向にあるする。
【0059】
そして、停止判断実行部102は、対話状態データベース105を参照して、そこに記述されているYESキーリスト、NOキーリストで示される検索経路が、事前に算出した離脱傾向にある検索経路と同じである場合には、その検索のための対話を停止すると判断する。
【0060】
このようにして、履歴データに基づいた対話停止の判断を行うことができる。
【0061】
(S107の判断)
停止判断実行部102は、対話状態における残キー数、残質問文件数、および残回答件数が、基準値(残件数基準値)以上となる場合には、対話を停止すると判断する。残キー数等が多い場合には、質問文の絞り込みに要する対話が多く必要であると判断できる。よって、このような場合には、対話を停止することで、対話数を少なくするとともに、ユーザの離脱を防ぐことができる。
【0062】
また、残キー数、残質問文件数、および残回答件数が所定値以上となる場合のほか、直近の残キー数、残質問文件数、および残回答件数と比較して、その減少割合または減少数が所定値以下となる場合には、やはり対話を停止すると判断してもよい。これも効率的に質問文の絞り込みができる余地が少なくなったと判断することができるためである。
【0063】
なお、残質問文件数および残回答件数のいずれかを優先した判断を行ってもよい。例えば、残質問文件数の減少数または減少割合は所定値以上であるとしても、残回答件数の減少数または減少割合が所定値未満であり、変動がない場合には、絞り込みができていないと判断してもよい。この場合、対話を停止することが好ましい。
【0064】
(停止基準の変更)
上述の通り、対話の停止条件を満たすと、即座に対話を停止してもよいが、これに限らず、対話を早期に終了させるために、対話の停止条件を緩やかにする処理(例えば停止条件の基準値を調整するなど)を行ってもよい。以下、その具体例について説明する。
【0065】
停止判断実行部102は、入力取得部101に入力された入力内容の粒度または頻度に基づいて、停止の判断のための基準を変えるようにしてもよい。検索を始める際、ユーザは入力キーとして検索文章を入力するが、その検索文章の粒度に応じて、対話を停止するための基準値を調整してもよい。例えば、NOキーの連続数に応じて対話の停止を行う場合があるが、その連続数の基準値を、通常時より高く設定しておいてもよい。これにより、NOキーが通常時より多い場合でも、対話が停止しづらくなる。
【0066】
検索文章の粒度とは、入力キーとして入力されたキーの入力文字数、または入力されたキーのうちFAQデータベース107に登録されているキー(いわゆる重要語句)の文字数、または検索文章(入力キー)中に対するFAQデータベース107に登録されているキーの文字数の比率である。検索文章が長文(所定文字数以上)または所定文字数の重要語句が含まれている場合には、検索を途中でやめる可能性は低いと考えられる。よって、その場合には、対話を停止するための基準値を高め(通常時より高い基準値)に設定する。
【0067】
なお、FAQデータベース107において、キーに応じて重要語句か否かの設定がなされており、停止判断実行部102は、その重要語句に設定されているキーの文字数または全体に対する重要語句のキーの比率に基づいて、停止判断のための基準を変える。
【0068】
また、サーバ100は、ユーザごとに検索頻度を記憶しておき、その頻度に応じて早期に対話が終了しないように、対話を停止するための基準値を、通常より高く設定しておく。何度も検索を行うユーザは、途中で対話から離脱する可能性が低いためである。この場合、履歴データベース106は、ユーザIDを合わせて記憶しておくことが必要である。
【0069】
また、残キー数、残質問文件数、および残回答件数が基準値以上となる場合には、対話を停止すると判断するが、その対話を停止するための処理として、早期に対話を終了させるために絞り込みをするための基準値を通常時より小さくするようにしてもよい。これにより、早期に対話を終了させることができる。
【0070】
(システム状態による停止制御)
停止判断実行部102は、システム状態データベース109を参照して、対話の停止を判断し、または対話停止のための基準値を調整してもよい。例えば、停止判断実行部102は、システム状態データベース109において記憶されている、通信端末200との同時接続数または音声認識連携数に基づいて、対話を早めに停止させるための処理を行う。例えば、停止判断実行部102は、対話を即座に停止させるほか、対話の上限回数を決める、対話を早めに終了させるために停止条件となる基準値を調整する、などの処理を行う。
【0071】
また、停止判断実行部102は、他のシステムとの連携状態に基づいて、停止条件となる基準値を調整してもよい。また、同時接続状態、音声認識処理、また他のシステムとの連携のいずれかの状態であるときに、システム全体の処理時間を計算し、その処理時間に応じて対話の停止のための制御をしてもよい。例えば、検索をしている全ユーザにおける、入力キーを受信してから、聞き返しキーを送信するまでの総時間が所定時間以上となる場合には、対話の停止のための制御をしてもよい。これはシステムに負荷がかかっており、処理に時間がかかっているためである。
【0072】
(その他の停止条件)
対話を停止するための条件としては、さらに以下の条件も考えられる。すなわち、停止判断実行部102は、対話回数の上限を決めておき、その上限に達したら対話を停止してもよい。また、ユーザの入力率、YESまたはNOのいずれかの選択率に基づいて、対話を停止してもよい。なお、ユーザの入力率とは、聞き返しキーに対して、YES/NOで答えるのではなく、別途検索のための文章を入力した率を示す。いわゆる自由入力による入力である。入力率ではなく、入力回数としてもよい。なお、上記では入力キーは検索の初めにのみ入力されていた例を示したが、聞き返しキーの応答として入力キーが入力されてもよい。
【0073】
また、停止判断実行部102は、入力キーの入力からの時間経過や、直近応答からの経過時間に基づいて対話を停止してもよい。
【0074】
また、停止判断実行部102は、マジックワードなど予め定めた文字がユーザにより入力されたら対話を停止してもよい。
【0075】
また、停止判断実行部102は、時間帯に応じて対話を停止するための基準値を調整してもよい。例えば、検索のためのピークの時間帯では、システム負荷を考慮して、早めに対話が終了するように、その基準値を調整してもよい。一方で、ピーク外の時間帯では、対話を早期に終了しないようにその基準値を調整してもよい。
【0076】
また、停止判断実行部102は、類似キー存在により対話を停止してもよい。例えば、「送信しない」と「送信不可」とは、意味的には同じであるが、文字としては一致しない。停止判断実行部102は、「送信しない」を入力キーとした場合に、一致するものはFAQデータベース107には存在しないが、意味が類似の「送信不可」がある場合には、対話を停止してもよい。なお、FAQデータベース107には、類似キーの関連付けがなされている。
【0077】
同様に、停止判断実行部102は、認識を間違えやすいキーが存在する場合も、対話を停止してもよい。
【0078】
つぎに、質問文およびその回答の提示方法の変更について説明する。対話を停止した状態に応じて、回答の提示方法を変更することが考えられる。例えば、回答生成部103は、残回答件数または残質問文件数が基準値以上であることから対話を停止した場合には、その時点において抽出した質問文または回答を質問文候補として全件提示する。
【0079】
これ以外に、回答生成部103は、ランダムに選択した質問文及びその回答を選択してもよいし、聞き返しキーに対する肯定の意図が示されたキー(YESキー)をより多く含んだ質問文を選択してもよい。
【0080】
また、FAQデータベース107は、質問文と検索キーとの尤度(類似度)を保持しておき、回答生成部103は、その尤度に基づいて質問文を選択してもよい。すなわち、サーバ100は、複数の質問と、各質問に対する検索キーの尤度とを対応付けて記述する管理テーブルを備え、回答生成部103は、入力キーおよび聞き返しキー(YESキー)にマッチする検索キーの尤度の合計値に基づいて質問文を選択してもよい。検索キーの尤度は、質問ごとに異なる値に設定されおり、尤度が大きいほど、その質問が、ユーザが意図する内容の質問である可能性が高くなるように設定されている。
【0081】
また、質問文または回答として選択された利用頻度を基準に、上位にある質問文または回答を選択してもよい。
【0082】
また、回答生成部103は、特定の検索経路、例えば離脱する傾向の高い検索経路を通ったことにより、対話を停止させる場合には、予め定めた指定の抽象的な回答を抽出して、提示してもよい。例えば、回答生成部103が、「送信」「エラー」のようなキーに基づくFAQを検索中に、停止判断実行部102が、離脱傾向の高い検索経路を通ったことにより対話の停止を行った場合は、「送信時のエラーに関するものを集めた回答ページ」など、特定の回答ページ(質問文候補およびその回答の集合)を生成する。すなわち、回答生成部103は、入力キーまたは聞き返しキーの中に特定のキーがあった場合に、対話停止を行った場合には、当該特定のキーに基づく回答ページを生成する。
【0083】
また、FAQデータベース107において、キーに重要度(カテゴリ情報など)が設定されており、回答生成部103は、入力キーまたは聞き返しキーのうち、重要度の高いキーに基づく回答を生成してもよい。例えば、回答生成部103は、請求書のxx(xx:発行手順、発行場所、発行可能時間、記載項目説明など)で停止した場合、請求書にかかわる回答群をまとめた回答ページを生成する。なお、回答生成部103は、回答ページを生成してもよいし、事前に用意された回答ページに、URLなどのアクセス先を記述して、ユーザを誘導してもよい。
【0084】
また、類似キーの存在により停止した場合には、類似キーが存在することにより対話を停止した旨を提示するとともに、類似キーで得られる質問文を選択し、それをユーザに提示してもよい。また、認識を間違えやすいキーの存在により停止した場合には、その旨を提示するとともに、その間違えやすいキーで得られる質問文を選択し、それをユーザに提示してもよい。
【0085】
つぎに、本開示の一実施形態のサーバ100の作用効果について説明する。このサーバ100は、ユーザによる入力に対してユーザの追加入力を促す応答を行い、これに対応する応答内容を提供することで対話を行う対話システムである。入力取得部101および回答生成部103は、応答内容に至る前に抽出される応答内容候補である質問文候補およびそれに対する回答が所定条件を満たすまで対話を繰り返し行う対話実行部を構成している。そして、停止判断実行部102は、ユーザまたは他のユーザによる対話状態に基づいて、入力取得部101および回答生成部103による対話を停止するための制御を行う。出力部104は、対話の停止がなされると、停止時における質問文およびその回答を通信端末200に提供する。
【0086】
これにより、ユーザまたは他のユーザによる対話状態に基づいて対話を停止して、停止時における回答をユーザに提示することができる。したがって、ユーザが対話の途中で離脱する可能性を低減することができる。本実施形態においては、質問文および回答を応答内容として説明しているが、いずれか一方のみを応答内容としてもよい。また、サーバ100の処理効率を向上させることができる、という効果を奏する。すなわち、不必要に対話を継続することがなくなるため、サーバ100の処理負荷を低減し、よって、その対話のための処理効率を向上させることができる。
【0087】
本実施形態において、対話状態とは、現に一のユーザが対話をしている状態のほか、他のユーザが対話をしている状態を含む。また、対話状態には、システム状態または過去履歴における検索経路の情報を含む。システム状態は、他のユーザの対話状態に基づいて設定されている。また、過去履歴は、一のユーザまたは他のユーザの過去の対話状態に基づいて設定されている。
【0088】
サーバ100は、対話状態データベース105を備える。この対話状態データベース105は、ユーザにより現に実行されている対話状態を記憶する。停止判断実行部102は、対話状態データベース105に記憶されている対話状態に基づいて、対話を停止する。
【0089】
これにより、ユーザが現に実行している対話状態に基づいて対話を停止することができる。
【0090】
また、サーバ100において、停止判断実行部102は、対話状態において否定的な対話がなされていると判断する場合には、回答生成部103は聞き返しキーを抽出することなく、対話を停止する。
【0091】
聞き返しキーに対して否定の意図(スキップの意図を含んでもよい)が所定回数連続する場合には、ユーザは検索のための対話を途中で離脱する可能性が高い。よって、その場合には、対話を途中で停止することが好ましい。
【0092】
また、サーバ100は、履歴データベース106を備える。この履歴データベース106は、ユーザまたは他のユーザが対話を中断した対話履歴を、対話状態として記憶する。そして、停止判断実行部102は、対話状態データベース105に記憶されているユーザの対話状態が、履歴データベース106に記憶されている対話履歴と少なくとも一部が一致する場合、対話実行部による対話を停止する。
【0093】
対話の途中で離脱する検索経路と同じ検索経路を通る場合には、ユーザの対話の離脱率が高いと考えられる。よって、その場合には、対話を停止させることで、ユーザの対話からの離脱を低減させる。
【0094】
また、サーバ100は、質問文およびその回答を記憶するFAQデータベース107を備え、回答生成部103は、対話を行うごとに一または複数の質問文を、FAQデータベース107から抽出する。停止判断実行部102は、抽出した質問文の残質問文件数(応答内容の残件数)に基づいて対話を停止する。
【0095】
これにより、残質問文件数が減らないなど、質問文を絞り込めない場合には、ユーザの対話を停止させることで、ユーザを対話の途中で離脱する可能性を低減することができる。
【0096】
また、サーバ100において、停止判断実行部102は、抽出した質問文の残質問文件数が、直近の残質問文件数と比較して、減少割合または減少数が閾値以下である場合には、対話を停止する。
【0097】
対話を経ても残質問文件数の減少割合が少ない場合などは、ユーザが途中で対話を離脱する場合が多い。よって、その場合には、対話を停止することで、対話の途中での離脱の可能性を低減することができる。なお、残質問文件数に代えて残回答件数としてもよい。また、両方を用いてもよい。
【0098】
また、サーバ100において、停止判断実行部102は、停止条件を満たした場合においても、ユーザによる入力の粒度または頻度に基づいて対話を停止しないための制御を行う。例えば、入力の粒度とは、入力キーが長文であるか否かを示し、ユーザの対話利用頻度とは、ユーザの検索頻度を示す。このような場合には、ユーザは途中で対話を離脱する可能性が低く、対話継続の意思が高いと考えられる。この場合、通常時における停止判断基準を調整することにより、対話を早期に停止しないように制御する。
【0099】
入力の粒度に関して、より具体的には、入力の粒度は、ユーザによる入力された文字数で示される。そして、停止判断実行部102は、停止条件を満たした場合において、所定の閾値よりも多くの文字数がユーザにより入力されて対話が行われた場合には、対話の停止をしない、または対話を早期に停止しないように通常時における停止条件の基準値を調整する。
【0100】
また、入力の粒度は、ユーザにより入力されたキーの文字数のうち、事前に定められた重要語句またはFAQデータベース107に登録されているキー(重要語句に相当)の文字数の割合としてもよい。また、文字数に代えて、単語数としてもよい。すなわち、入力された単語数に対する登録されている単語数の割合を入力の粒度の判断基準としてもよい。
【0101】
さらに、入力の粒度は、事前登録されているか否かに関わらず、ユーザ入力内容のうち名詞や動詞の割合で判断してもよい。例えば、ユーザ入力された単語のうち、名詞、または動詞(またはその両方)の割合を粒度としてもよい。ユーザ入力内容を形態素解析することで、単語(名詞、動詞、形容詞等)を区別して抽出することが可能である。これにより、FAQデータベース107等に登録されていない有意な語句が入力された場合(例: WiFiが登録されているが、ユーザは無線LANと入力)に粒度が下がらないように制御することが可能である。また、「えーっと」等の間投詞や「さようなら」等の有意でない語句との割合で粒度を判定できる。
【0102】
また、サーバ100において、停止判断実行部102は、対話システムの状態を判断する。停止判断実行部102は、この判断結果に基づいて対話を停止するための制御を行う。対話システムの状態とは、例えば、同時接続数、音声認識連携処理などを示し、システムの負荷を示す情報である。
【0103】
サーバ100において、停止判断実行部102は、対話を停止するための制御として、通常時より対話回数を少なくして対話を停止させるための制御を含み、通常時における停止条件を示す基準値を調整する処理を含む。
【0104】
また、サーバ100において、回答生成部103は、停止判断実行部102により停止されたときにおける対話状態に応じて回答提示方法を変えて当該回答を提示する。
【0105】
上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に (例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
【0106】
例えば、本開示の一実施の形態におけるサーバ100および通信端末200などは、本実施形態のサーバ100および通信端末200の処理を行うコンピュータとして機能してもよい。
図6は、本実施形態に係るサーバ100および通信端末200のハードウェア構成の一例を示す図である。上述のサーバ100および通信端末200は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0107】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み
替えることができる。サーバ100および通信端末200のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0108】
サーバ100および通信端末200における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
【0109】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、停止判断実行部102、回答生成部103などは、プロセッサ1001で実現されてもよい。
【0110】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、停止判断実行部102、回答生成部103は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0111】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0112】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
【0113】
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述の入力取得部101、出力部104などは、通信装置1004で実現されてもよい。
【0114】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0115】
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【0116】
また、サーバ100および通信端末200は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
【0117】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【0118】
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【0119】
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0120】
情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
【0121】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0122】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0123】
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0124】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0125】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
【0126】
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0127】
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0128】
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【0129】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
【0130】
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素(例えば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
【0131】
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【0132】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
【0133】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0134】
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
【0135】
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
【0136】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。