(57)【要約】【課題】様々なバリエーションの発話文を充分に収集できる発話文収集装置を提供する。【解決手段】一実施形態に係る発話文収集装置は、入力部、抽出部、管理部、偏り判定部、及び要求出力部を備える。入力部は、ユーザからの発話文の入力を受け付ける。抽出部は、前記発話文から意図及びスロットの少なくとも一方を抽出する。管理部は、前記意図及びスロットの少なくとも一方に関するデータを蓄積する。偏り判定部は、前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い意図及びスロットの少なくとも一方を取得する。要求出力部は、前記偏り判定部によって取得された前記意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する。【選択図】図１
2015148910.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの発話文の入力を受け付ける入力部と、
前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出する抽出部と、
前記意図及びスロットの少なくとも一方に関するデータを蓄積する管理部と、
前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い意図及びスロットの少なくとも一方を取得する偏り判定部と、
前記偏り判定部によって取得された前記意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する要求出力部と、
を具備する発話文収集装置。
【請求項２】
前記偏り判定部は、前記データに含まれる意図の総頻度が一定数以上に達しているときに相対頻度が第１閾値より小さい意図が存在する場合と、前記データに含まれるスロットの総頻度が一定数以上に達しているときに相対頻度が第２閾値より小さいスロットが存在する場合と、の少なくとも一方の場合に、前記偏りがあると判定する、請求項１に記載の発話文収集装置。
【請求項３】
前記偏り判定部は、頻度が最も高い意図と頻度が最も低い意図との間の頻度差が第１閾値以上である場合と、頻度が最も高いスロットと頻度が最も低いスロットとの間の頻度差が第２閾値以上である場合と、の少なくとも一方の場合に、前記偏りがあると判定する、請求項１に記載の発話文収集装置。
【請求項４】
対話システムが出力する応答文を提示する応答出力部をさらに具備する請求項１乃至３のいずれか１項に記載の発話文収集装置。
【請求項５】
前記応答出力部は、前記ユーザが前記発話文を入力する前に前記応答文を前記ユーザに提示する、請求項４に記載の発話文収集装置。
【請求項６】
前記応答出力部は、前記応答文が出現するまでの対話の内容をさらに提示する、請求項４又は５に記載の発話文収集装置。
【請求項７】
前記抽出部によって抽出された前記意図及びスロットの少なくとも一方に基づいて対話処理を行う対話制御部と、
前記対話処理に応じた応答文を提示する応答出力部と、をさらに具備し、
前記管理部は、前記抽出部によって抽出された前記意図及びスロットの少なくとも一方を、前記対話文の入力時における前記対話制御部の対話状態と関連付けて記憶し、
前記偏り判定部は、対話状態ごとに前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記偏りがある対話状態に到達するルートが存在するか否かを判定し、前記ルートが存在すると判定した場合に、前記偏りがある前記対話状態に対応付けたれた頻度の低い意図及びスロットの少なくとも一方を取得し、
前記要求出力部は、前記偏りがある前記対話状態が、前記対話制御部が前記対話処理を行った後の対話状態と一致する場合に、前記偏り判定部によって取得された前記意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する要求文を提示し、前記偏りがある前記対話状態が、前記対話制御部が前記対話処理を行った後の対話状態と一致しない場合に、前記偏りがある前記対話状態に到達するための意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する、請求項１乃至３のいずれか１項に記載の発話文収集装置。
【請求項８】
前記要求出力部は、前記偏りがある前記対話状態に到達するための前記意図及びスロットの少なくとも一方に関する候補が複数ある場合、前記候補から最も低い意図及びスロットの少なくとも一方を選択し、前記選択した意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する、請求項７に記載の発話文収集装置。
【請求項９】
前記偏り判定部は、同じ対話状態での複数の発話文の入力が必要か否かを判定し、
前記要求出力部は、前記偏り判定部によって必要と判定された場合、前記偏り判定部によって取得された前記意図及びスロットの少なくとも一方に関連する発話文を再度入力するように要求する、請求項７又は８に記載の発話文収集装置。
【請求項１０】
前記意図は前記発話文が大まかに伝えようとする内容を示す情報である、請求項１乃至９のいずれか１項に記載の発話文収集装置。
【請求項１１】
ユーザからの発話文の入力を受け付けることと、
前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出することと、
前記意図及びスロットの少なくとも一方に関するデータを蓄積することと、
前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い意図及びスロットの少なくとも一方を取得することと、
前記取得された前記意図及びスロットの少なくとも一方に関連する発話文を入力するように要求することと、
を具備する発話文収集方法。
【請求項１２】
コンピュータを、
ユーザからの発話文の入力を受け付ける入力手段と、
前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出する抽出手段と、
前記意図及びスロットの少なくとも一方に関するデータを蓄積する管理手段と、
前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い意図及びスロットの少なくとも一方を取得する偏り判定手段と、
前記偏り判定手段によって取得された前記意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する要求出力手段として機能させるための発話文収集プログラム。
【請求項１３】
ユーザからの発話文の入力を受け付ける入力部と、
前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出する抽出部と、
前記意図及びスロットの少なくとも一方に基づいて対話処理を行う対話制御部と、
前記対話処理に応じた応答文を提示する応答出力部と、
前記対話制御部の対話状態に関するデータを蓄積する管理部と、
前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い対話状態を取得する判定部と、
前記頻度の低い対話状態に到達するための意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する要求出力部と、
を具備する発話文収集装置。
【請求項１４】
前記管理部は、前記対話処理によって生じる対話状態間の遷移に関するデータを蓄積し、前記偏り判定部は前記遷移に関して前記偏りがあるか否かを判定する、請求項１３に記載の発話文収集装置。
【請求項１５】
ユーザからの発話文の入力を受け付けることと、
前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出することと、
前記意図及びスロットの少なくとも一方に基づいて対話処理を行うことと、
前記対話処理に応じた応答文を提示することと、
前記対話制御部の対話状態に関するデータを記憶することと、
前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い対話状態を取得することと、
前記頻度の低い対話状態に到達するための意図及びスロットの少なくとも一方に関連する発話文を入力するように要求することと、
を具備する発話文収集方法。
【請求項１６】
コンピュータを、
ユーザからの発話文の入力を受け付ける入力手段と、
前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出する抽出手段と、
前記意図及びスロットの少なくとも一方に基づいて対話処理を行う対話制御手段と、
前記対話処理に応じた応答文を提示する応答出力手段と、
前記対話制御部の対話状態に関するデータを記憶する管理手段と、
前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い対話状態を取得する判定手段と、
前記頻度の低い対話状態に到達するための意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する要求出力手段として機能させるための発話文収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、発話文収集装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、対話システム（例えば音声自動応答装置）において利用される意図理解方法は、ルールベースの手法から統計的手法に変化しつつある。統計的手法を導入するには、統計モデルを作成するための学習データが必要である。学習データには、構築する対話システムに入力される可能性がある様々なバリエーションの発話文が充分な量含まれていることが求められる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３３９３１４号公報（８頁、図４）
【特許文献２】特開２００８−２９９７５４号公報（２３頁、図３）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、様々なバリエーションの発話文を充分に収集することができる発話文収集装置、方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
一実施形態に係る発話文収集装置は、入力部、抽出部、管理部、偏り判定部、及び要求出力部を備える。入力部は、ユーザからの発話文の入力を受け付ける。抽出部は、前記発話文から、当該発話文の意図及び当該意図を補足する情報であるスロットの少なくとも一方を抽出する。管理部は、前記意図及びスロットの少なくとも一方に関するデータを蓄積する。偏り判定部は、前記データに偏りがあるか否かを判定し、前記偏りがあると判定した場合に、前記データから頻度の低い意図及びスロットの少なくとも一方を取得する。要求出力部は、前記偏り判定部によって取得された前記意図及びスロットの少なくとも一方に関連する発話文を入力するように要求する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る発話文収集装置を概略的に示すブロック図。
【図２】図１に示した発話文収集装置の発話文収集処理の一例を概略的に示すフローチャート。
【図３】図１に示した要求出力部が要求文を生成する方法例を示す図。
【図４】意図及びスロットに関するデータに偏りがない場合における図１に示した発話文収集装置の動作例を示す図。
【図５】意図に関するデータに偏りがある場合における図１に示した発話文収集装置の動作例を示す図。
【図６】スロットに関するデータに偏りがある場合における図１に示した発話文収集装置の動作例を示す図。
【図７】第２の実施形態に係る発話文収集装置を概略的に示すブロック図。
【図８】図７に示した発話文収集装置の発話文収集処理の一例を概略的に示すフローチャート。
【図９】第３の実施形態に係る対話の流れの一部を示す図。
【図１０】第３の実施形態に係る発話文収集装置を概略的に示すブロック図。
【図１１】図１０に示した発話文収集装置の発話文収集処理の一例を概略的に示すフローチャート。
【図１２】図１０に示した発話文収集装置の発話文収集処理の他の例を概略的に示すフローチャート。
【図１３】第４の実施形態に係る対話の流れの一部を示す図。
【図１４】第４の実施形態に係る発話文収集装置を概略的に示すブロック図。
【図１５】図１４に示した発話文収集装置の発話文収集処理の一例を概略的に示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら実施形態を説明する。実施形態は、対話システムを構築するために必要となる様々なバリエーションの対話文を収集するための発話文収集装置、方法、及びプログラムに関連する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態に係る発話文収集装置１００を概略的に示している。発話文収集装置１００は、図１に示されるように、発話文入力部１０１、意図・スロット抽出部１０２、意図・スロット管理部１０３、意図・スロット偏り判定部１０４、及び要求出力部１０５を備えている。
【０００９】
発話文入力部１０１は、ユーザからの発話文の入力を受け付ける。発話文の入力方法は、キーボードなどを用いたテキスト入力であってもよく、音声入力であってもよい。音声入力の場合、発話文入力部１０１は、例えばマイクロフォンを通じて、ユーザが発した音声を受け取る。続いて、発話文入力部１０１は、受け取った音声に対して音声認識を行い、音声認識結果である自然言語テキストを発話文として得る。発話文入力部１０１は、収集のために発話文を図示しない記憶装置に保存（蓄積）するとともに、発話文を意図・スロット抽出部１０２に送る。
【００１０】
意図・スロット抽出部１０２は、発話文入力部１０１から受け取った発話文から、意図及びスロットの少なくとも一方を抽出し、抽出した意図及びスロットの少なくとも一方を意図・スロット管理部１０３に送る。実施形態では、意図・スロット抽出部１０２が意図及びスロットの両方を抽出するものとして説明する。なお、意図・スロット抽出部１０２は、スロットを抽出することなしに意図を抽出してもよく、意図を抽出することなしにスロットを抽出してもよい。
【００１１】
意図とは、発話文が大まかに伝えようとする内容を示す情報である。意図はタグ形式で表現することができる。例えば、「明日の天気を教えて」や「渋谷の天気を見せて」という発話文からは「天気検索＋要求」というタグが抽出され、「近くのコンビニの場所が見たい」という発話文からは「地図検索＋願望」というタグが抽出される。なお、対話システムの機能仕様によっては、要求や願望などのタグは不要になることもある。意図の抽出方法としては、抽出する際に有用なキーワードを人手で予め決め、それらのキーワードを意図タグに対応付けて格納するデータベースを用いることで抽出を行うルールベースの方法、意図タグを対応付けた発話文のデータをもとに学習モデルを作成し、サポートベクターマシン（ＳＶＭ；support vector machine）や最大エントロピーモデルなどを用いて抽出を行う統計的方法などを用いることができる。
【００１２】
スロットとは、発話文から抽出された意図を補足する情報である。意図とスロットの組みによって発話文が伝えたかったことを正確に捉えることが可能になる。スロットは発話文に含まれる単語とその単語の属性の組みで成り立つ。例えば「明日の天気を教えて」という発話文からは「属性：日付、値：明日」というスロットが抽出され、「渋谷の地図を見せてほしい」という発話文からは「属性：場所、値：渋谷」というスロットが抽出される。なお、発話文によっては、スロットは抽出されないこともあり、複数のスロットが抽出されることもある。スロットの抽出方法としては、意図抽出方法と同様に、スロットとして抽出する対象となるキーワードを意図タグに対応付けて保持するデータベースを用いて抽出を行うルールベースの方法、ＣＲＦ（Conditional Random Fields）などを用いて抽出を行う統計的方法などを用いることができる。
【００１３】
意図・スロット管理部１０３は、意図・スロット抽出部１０２によって抽出された意図及びスロットに関するデータを蓄積する。意図及びスロットに関するデータは、ユーザごとに又は１回の作業ごとに分離して蓄積されていてもよい。或いは、それまでの全ての作業及び全てのユーザに関して取得された意図に関するデータ及びスロットに関するデータがまとめて蓄積されていてもよい。後者の方法の方がより多くの意図及びスロットがまとめて蓄積されるため望ましい。
【００１４】
意図・スロット管理部１０３は、いかなる形式で意図・スロット抽出部１０２によって抽出された意図及びスロットに関するデータを蓄積してもよい。一例では、意図・スロット管理部１０３は、データベースを保持し、意図・スロット抽出部１０２によって抽出された意図及びスロットをデータベースに追加する。例えば、「天気検索＋要求」の意図タグ及び「属性：日付、値：明日」のスロットが抽出された場合、データベース中の意図フィールドに「天気検索＋要求」の意図タグを格納し、データベース中のスロットフィールドに「属性：日付、値：明日」のスロットを格納する。データベースには、発話文を入力したユーザを識別するためのユーザ情報（例えばユーザＩＤ）を格納するためのユーザＩＤフィールドなどを含むことができる。本実施形態では、意図・スロット管理部１０３は、この方法に従って意図及びスロットに関するデータを管理するものとする。
【００１５】
他の例では、意図・スロット管理部１０３は、複数種類の意図ごとに頻度（度数とも称する。）を記録した意図集計データ及び複数種類のスロットごとに頻度を記録したスロット集計データを保持する。例えば、「天気検索＋要求」の意図タグが抽出された場合、意図・スロット管理部１０３は、意図集計データにおいて「天気検索＋要求」の意図タグに対応する意図種類の頻度を１だけ増加させる。この方法では、後述する意図・スロット偏り判定部１０４の集計処理を省略することができる。頻度は、情報（例えば意図）が抽出された回数、すなわち、その情報に関連する発話文が入力された回数を表す。
【００１６】
意図・スロット偏り判定部１０４は、意図・スロット管理部１０３に蓄積されている意図及びスロットに関するデータに偏りがあるか否かを判定する。具体的には、意図・スロット偏り判定部１０４は、意図・スロット管理部１０３に蓄積されているデータを意図及びスロットの各レイヤで集計し、後述する判定処理によって偏りがあるか否かを判定する。意図・スロット偏り判定部１０４は、偏りがあると判定した場合、意図・スロット管理部１０３に蓄積されているデータから頻度の低い意図及びスロットの少なくとも一方を抽出して要求出力部１０５に送る。
【００１７】
要求出力部１０５は、意図・スロット偏り判定部１０４によって偏りがあると判定された場合、意図・スロット偏り判定部１０４によって抽出された意図及びスロットの少なくとも一方に関連する発話文を入力するようにユーザに要求する要求文を作成してユーザに提示する。要求文の作成方法については後述する。意図・スロット偏り判定部１０４によって偏りがないと判定された場合は、要求出力部１０５は、特にはユーザに要求を行わない。或いは、要求出力部１０５は、自由に入力するようにユーザに要求する要求文を作成してユーザに提示してもよい。提示方法としては、ユーザが見ている画面上にテキストで表示する方法、音声合成技術又は録音音声を用いて音声で伝える方法などを用いることができる。
【００１８】
次に、図１及び図２を参照して発話文収集装置１００の動作について説明する。  
図２は、発話文収集装置１００が対話文を収集する処理に係る手順を概略的に示している。図２のステップＳ２０１では、意図・スロット偏り判定部１０４は、意図・スロット管理部１０３に蓄積されているデータ（意図に関するデータ及びスロットに関するデータの少なくとも一方）に偏りがあるか否かを判定する。偏りがあると判定された場合、ステップＳ２０２に進む。
【００１９】
ステップＳ２０２では、意図・スロット偏り判定部１０４は、頻度の低い意図及びスロットの少なくとも一方を抽出する。ステップＳ２０３では、要求出力部１０５は、意図・スロット偏り判定部１０４によって抽出された意図及びスロットの少なくとも一方に関連する発話文を入力するよう要求する要求文を作成してユーザに提示する。このようにして、頻度の低い意図及びスロットの少なくとも一方に関連する発話文を入力するようにユーザに要求することにより、偏りなく様々なバリエーションの対話文を充分に収集することができる。
【００２０】
一方、ステップＳ２０１で偏りがないと判定された場合、ステップＳ２０４に進む。ステップＳ２０４では、要求出力部１０５は、入力する発話文の内容に制限をかけず、自由に発話文を入力するよう要求する要求文を作成してユーザに提示する。なお、要求出力部１０５は、ユーザに要求文を提示しなくてもよい。
【００２１】
ユーザが提示された要求文（ステップＳ２０３又はステップＳ２０４で作成された要求文）に応じて発話文を入力し、発話文入力部１０１がその発話文を取得する。取得された発話文は図示しない記憶部に蓄積される。ステップＳ２０５では、意図・スロット抽出部１０２は、発話文から意図及びスロットを抽出する。ステップＳ２０６では、抽出された意図及びスロットが意図・スロット管理部１０３に蓄積される。この蓄積は次の発話文入力の際の要求文の内容に影響を与えることとなる。
【００２２】
偏りの有無を判定する方法について説明する。判定処理は、意図及びスロットそれぞれに関して行われる。ここでは、意図に関して偏りがあるか否かを判定する方法を主に説明する。スロットに関しても次に説明するものと同様の判定処理を行うことができる。
【００２３】
一例では、意図・スロット偏り判定部１０４は、意図・スロット管理部１０３に蓄積されている意図の総頻度が一定数に達したときに、相対頻度が閾値以下である意図が存在する場合に、偏りがあると判定する。相対頻度（相対度数）は、意図・スロット管理部１０３に蓄積されている意図の総頻度（総度数）に占めるある意図の割合（％）を示す。上記一定数及び閾値は、人手で予め決められてもよい。閾値は蓄積された意図の総頻度に応じて変化させてもよい。例えば、蓄積された意図の総頻度が大きくなるほど、閾値を小さくする。これは、総頻度が大きくなれば相対頻度が小さくても学習データとして充分な量が収集されている可能性が高くなるためである。意図及びスロットの両方が意図・スロット管理部１０３に蓄積されている実施形態では、意図・スロット偏り判定部１０４は、意図・スロット管理部１０３に蓄積されている意図の総頻度が一定数に達したときに、相対頻度が第１閾値以下である意図が存在する場合と、意図・スロット管理部１０３に蓄積されているスロットの総頻度が一定数に達したときに、相対頻度が第２閾値以下であるスロットが存在する場合と、の少なくとも一方の場合に、偏りがあると判定することができる。第１閾値及び第２閾値は、同じ値であってもよく、異なる値であってもよい。第１閾値及び第２閾値は人手で予め決めることができる。また、第１閾値は蓄積された意図の総頻度に応じて変化させてもよく、第２閾値は蓄積されたスロットの総頻度に応じて変化させてもよい。
【００２４】
他の例では、意図・スロット偏り判定部１０４は、頻度が最も高い意図と頻度が最も低い意図との間の頻度差が閾値に達した場合に、偏りがあると判定する。この閾値は人手で予め決めることができる。意図及びスロットの両方が意図・スロット管理部１０３に蓄積されている実施形態では、意図・スロット偏り判定部１０４は、頻度が最も高い意図と頻度が最も低い意図との間の頻度差が第１閾値以下である場合と、頻度が最も高いスロットと頻度が最も低いスロットとの間の頻度差が第２閾値以下である場合と、の少なくとも一方の場合に、偏りがあると判定することができる。第１閾値及び第２閾値は、同じ値であってもよく、異なる値であってもよい。
【００２５】
さらに他の例では、意図・スロット偏り判定部１０４は、蓄積された意図の総頻度に占める、頻度が最も高い意図と頻度が最も低い意図との間の頻度差の割合が第１閾値以上である場合と、蓄積されたスロットの総頻度に占める、頻度が最も高いスロットと頻度が最も低いスロットとの間の頻度差の割合が第２閾値以上である場合とに、偏りがあると判定することができる。これら第１閾値及び第２閾値もまた人手で予め決めることができる。また、第１閾値は蓄積された意図の総頻度に応じて変化させてもよく、第２閾値は蓄積されたスロットの総頻度に応じて変化させてもよい。
【００２６】
意図・スロット偏り判定部１０４は、偏りがあると判定した場合、頻度の低い意図を抽出する。頻度の低い意図が複数ある場合は、意図・スロット偏り判定部１０４は、それらの意図のいずれを抽出してもよい。抽出方法としては、頻度の最も低い意図を抽出する方法、ユーザが入力したことのない意図を抽出する方法を用いることができる。後者の場合は、意図・スロット管理部１０３がユーザを識別するためのユーザＩＤなどの情報（ユーザ情報）を意図と合わせて管理し、意図・スロット偏り判定部１０４がユーザ情報を参照して意図を抽出する必要がある。ユーザ情報の取得方法は、発話文収集装置１００の起動時にユーザから受け取って起動中は発話文収集装置内１００内で保持しておく方法、発話文を入力する度に同時に発話文入力部１０１がユーザ情報も受け取る方法などを用いることができる。
【００２７】
なお、頻度の低い意図が複数ある場合には、意図・スロット偏り判定部１０４に代えて、要求出力部１０５が要求を出力する際にどの意図を採用するかを決定してもよい。この場合、意図・スロット偏り判定部１０４が頻度の低い複数の意図を示す情報を要求出力部１０５に送る。要求出力部１０５は、上述した意図・スロット偏り判定部１０４の決定方法と同様の方法に従って採用する意図を決定することができる。なお、要求出力部１０５は、頻度の低い複数の意図の全てを含む要求文を作成し、このうちのいずれかの意図に関連する発話文を入力するようにユーザに要求するようにしてもよい。
【００２８】
要求出力部１０５が要求文を作成する方法としては、ルールベースの方法、統計的な方法などを利用することができる。統計的な方法としては、例えば、要求する内容ごとに文章を大量に準備しておき、そのデータから学習したモデルを用いて要求文を生成する方法がある。ルールベースの方法としては、意図やスロットごとに要求文を予め用意しておき、抽出した意図やスロットに応じて要求文を選択する方法、意図ごとに一部文章を追加できるようになっている要求文を予め用意しておき、抽出した意図に応じて要求文を選択した後に、抽出したスロットの属性を表す文を要求文に追加して一つの要求文とする方法などがある。後者の方法を図３に示す。図３の例では、要求出力部１０５は、抽出した意図「天気検索」に対応付けられている「○○の天気を検索するよう入力してください」という要求文を選択し、その後に、抽出したスロットの属性である場所を用いて「ある場所の天気を検索するよう入力してください」という要求文を作成する。スロットの属性から要求文の一部の文章に変換する際は、属性の表記そのものを用いてもよいが、図３のようにスロットの属性ごとに文章を予め用意してもよい。なお要求文は１つの意図やスロットに対して複数の候補を作成しておき、それらの候補の中からランダムに又はユーザの趣向などに応じて１つを選択するようにして様々な要求文を出力することで、要求文の文面に影響される可能性のある発話文の表現のバリエーションを増やせるようにしておいてもよい。上記の方法はルールベースで要求文を作成する際の方法である。要求出力部１０５は、統計的手法を採用する場合は、得られたＮ−ｂｅｓｔの候補の中から確率的に要求文を選択する。
【００２９】
なお、これまで意図とスロットを共に用いて偏りを判定したり要求文を作成したりしていたが、意図のみ又はスロットのみについて偏りを判定したり要求文を作成したりしてもよい。
【００３０】
次に、図４から図６を参照して発話文収集装置１００の動作例を説明し、発話文収集装置１００が対話システムに実際に入力され得る様々なバリエーションの発話文を充分に収集できることを示す。ここで説明する例では、ユーザの前に発話文収集装置１００を搭載した端末があり、ユーザがこの端末に対しテキスト形式で発話文を入力する。ユーザへの要求は端末の画面上に表示される。実際に構築したい対話システムは「天気検索」と「地図検索」の意図を受理し、「天気検索」の際は「属性：日付」と「属性：場所」のスロット、「地図検索」の際は「属性：場所」のスロットを受理する。
【００３１】
図４は、蓄積されている意図及びスロットに偏りがない場合における発話文収集装置１００の動作例を示している。図４の例では、端末は自由に入力するようユーザに要求する。具体的には、端末は「自由に入力してください」という要求文を画面に表示する。その要求に対してユーザは「明日の天気予報が知りたい」という発話文を入力する。端末はこの発話文から意図及びスロットを抽出し、それにより「天気検索」という意図及び「属性：日付、値：明日」というスロットが蓄積されることとなる。
【００３２】
図５は、意図に偏りがある場合における発話文収集装置１００の動作例を示している。図５の例では、意図及びスロットの蓄積が進んだ結果、「天気検索」という意図の頻度が「地図検索」という意図の頻度よりも非常に高くなっている。この状態において、発話文収集装置１００は、蓄積されている意図に偏りがあると判定する。この場合、発話文収集装置１００は、頻度の低い意図である「地図検索」を抽出し、抽出した意図に基づいて「地図を検索するよう入力してください」という要求文を作成してユーザに提示する。この要求文に対して、ユーザは、「地図検索」を意図として含む発話文「東京の地図を見せて」を入力する。このようにして、頻度の低い意図に対応する発話文が入力されて蓄積される。
【００３３】
図６は、スロットに偏りがある場合における発話文収集装置１００の動作例を示している。図６の例では、意図及びスロットの蓄積が進んだ結果、「天気検索」という意図に関連して蓄積されたスロットにおいて、「属性：日付」というスロットの頻度が他の３種類のスロットの頻度よりも非常に高くなっている。３種類のスロットは、スロットなし、「属性：場所」のスロット、「属性：日付」のスロットと「属性：場所」のスロットの組みである。この状態において、発話文収集装置１００は、蓄積されているスロットに偏りがあると判定する。この場合、発話文収集装置１００は、頻度の低い３種類のスロットの中から「属性：場所」のスロットを選択し、選択したスロットに基づいて「ある場所の天気を検索するよう入力してください」という要求文を作成してユーザに提示する。この要求文に対して、ユーザは、「天気検索」の意図を含む且つ「属性：場所」のスロットを持つ発話文「東京の天気を教えて」を入力する。このようにして、頻度の低いスロットに対応する発話文が入力されて蓄積される。
【００３４】
なお、図６の例では、発話文収集装置１００は、「天気検索」の意図に関連して蓄積されたスロットを対象として偏りの有無を判定しているが、蓄積されている全てのスロットを対象として偏りの有無を判定してもよい。
【００３５】
以上のように、第１の実施形態に係る発話文収集装置では、頻度の低い意図又はスロットに関連する発話文を入力するようにユーザに要求することにより、対話システムに入力され得る様々なバリエーションの発話文を充分に収集することが可能になる。
【００３６】
（第２の実施形態）
第１の実施形態では、ユーザは要求出力部が提示した要求文に応じて発話文を入力する。この場合、対話システムとの対話を実際に行っているわけではないため、収集できる発話文は、例えば対話システムとの対話を開始する初期状態のような、ユーザが自由に発話文を入力できる対話状態において入力される発話文に限定されてしまう可能性がある。第２の実施形態では、要求文とともに対話システムが実際に出力する応答文をユーザに提示することで、対話システム利用時の様々な対話状態における発話文を収集することができる。
【００３７】
図７は、第２の実施形態に係る発話文収集装置７００を概略的に示している。発話文収集装置７００は、図７に示されるように、発話文入力部１０１、意図・スロット抽出部１０２、意図・スロット管理部７０３、意図・スロット偏り判定部７０４、要求出力部１０５、及び応答出力部７０６を備える。図７において、図１に示した参照番号を同一の要素に付して、重複する説明を省略する。また、図７に示した意図・スロット管理部７０３及び意図・スロット偏り判定部７０４は、基本的には図１に示した意図・スロット管理部１０３及び意図・スロット偏り判定部１０４と同様の動作を行うので、意図・スロット管理部７０３及び意図・スロット偏り判定部７０４に関しては、意図・スロット管理部１０３及び意図・スロット偏り判定部１０４と異なる動作について説明する。
【００３８】
応答出力部７０６は、実際の対話システムで出力される応答文をユーザに提示する。このとき、応答出力部７０６は、応答文の内容を表す応答ＩＤを意図・スロット管理部７０３及び意図・スロット偏り判定部７０４に送る。意図・スロット管理部７０３は、意図・スロット抽出部１０２によって抽出された意図及びスロットを応答出力部７０６から受け取った応答ＩＤと対応付けて記憶する。
【００３９】
意図・スロット偏り判定部７０４は、意図・スロット管理部７０３に蓄積されている、応答ＩＤが応答出力部７０６から受け取った応答ＩＤに一致するデータに、偏りがあるか否かを判定する。意図・スロット偏り判定部７０４は、偏りがあると判定した場合、その応答ＩＤに対応付けられたデータから頻度の低い意図又はスロットを抽出し、要求出力部１０５に送る。
【００４０】
次に、図７及び図８を参照して、発話文収集装置７００の動作について説明する。  
図８は、発話文収集装置７００が発話文を収集する処理に係る手順を概略的に示している。図７に示したステップＳ８０４、Ｓ８０５、及びＳ８０６の処理はそれぞれ図１に示したステップＳ２０３、Ｓ２０４、及びＳ２０５の処理と同様であるので、ステップＳ８０４、Ｓ８０５、及びＳ８０６の処理についての詳細な説明は省略する。
【００４１】
図８に示したステップＳ８０１では、応答出力部７０６は、応答文をユーザに提示し、その応答文の内容を表す応答ＩＤを決定する。応答文の提示は、応答ＩＤの決定の前に実行されてもよく、応答ＩＤの決定の後に実行されてもよく、応答ＩＤの決定と同時に実行されてもよい。応答出力部７０６は、対話システムが実際にいずれかの対話状態で出力する応答文だけを提示してもよく、提示すべき応答文とともに、その応答文が出現するまでの対話のやり取りの全てを擬似的に作成した対話を提示してもよい。応答文及び応答ＩＤを選択する方法は、例えば、応答文及び応答ＩＤが保存されているデータベースから取得する方法とすることができる。データベース内のどの応答文及び応答ＩＤを選択するかは、ランダムに選択する方法、初期状態に近い対話状態の応答文から選択する方法、蓄積された意図やスロットに偏りがある応答ＩＤを選択する方法などに従うことができる。これらのいずれかの場合には、応答出力部７０６が意図・スロット管理部７０３を参照するように構成され、或いは、意図・スロット偏り判定部７０４が、応答ＩＤごとに偏りの有無を判定し、偏りのある応答ＩＤを応答出力部７０６に通知するように構成される。
【００４２】
ステップＳ８０２では、意図・スロット偏り判定部７０４は、意図・スロット管理部７０３に蓄積されているデータから、応答ＩＤがステップＳ８０１で決定された応答ＩＤと一致するデータを抽出し、抽出したデータ（意図データ及びスロットデータの少なくとも一方）に偏りがあるか否かを判定する。偏りがあると判定された場合、ステップＳ８０３に進む。
【００４３】
ステップＳ８０３では、意図・スロット偏り判定部７０４は、応答ＩＤがステップＳ８０１で決定された応答ＩＤと一致するデータから頻度の低い意図及びスロットの少なくとも一方を抽出する。ステップＳ８０４では、要求出力部１０５は、意図・スロット偏り判定部７０４によって抽出された意図及びスロットの少なくとも一方に関連する発話文を入力するよう要求する要求文を作成してユーザに提示する。
【００４４】
偏りがないと判定された場合、ステップＳ８０５に進む。ステップＳ８０５では、要求出力部１０５は、自由に発話文を入力するよう要求する要求文を作成してユーザに提示する。
【００４５】
ステップＳ８０４又はステップＳ８０５の処理の後には、応答文及び要求文の両方がユーザに提示された状態になる。この状態でユーザから発話文が入力される。入力された発話文は、図示しない記憶部に蓄積されるとともに、意図・スロット抽出部７０２に送られる。ステップＳ８０６では、意図・スロット抽出部７０２は、ユーザが入力した発話文から意図及びスロットを抽出する。ステップＳ８０７では、意図・スロット管理部７０３は、ステップＳ８０６で抽出された意図及びスロットを、ステップＳ８０１で決定された応答ＩＤと対応付けて記憶する。
【００４６】
本実施形態では応答文の内容を表す情報として応答ＩＤを用いている。なお、応答文の内容を表す情報としては、応答文そのものや実際の対話システムにおける対話状態など、どの応答文が出力されたかを特定することができる情報であればいかなる情報を用いてもよい。
【００４７】
以上のように、第２の実施形態に係る発話文収集装置では、対話システムが実際に出力する応答文と、頻度の低い意図又はスロットに関連する発話文の入力を要求する要求文と、をユーザに提示することにより、対話システム利用時の様々な対話状態における発話文を充分に収集することが可能になる。
【００４８】
（第３の実施形態）
第２の実施形態では、対話システムで出力する応答文をユーザに提示している。第３の実施形態では、実際の対話システムを動作させて発話文を収集する。これにより、ユーザは対話の流れに沿って発話文を入力することになり、その結果、対話の流れを加味した実際に対話システムを運用している際に入力される可能性の高い発話文を収集することができる。
【００４９】
図９は、レストランを検索する対話システムに関して設計された対話の流れの一部を示している。ノードごとに応答文が設定されている。各ノードで応答文が出力され、それに対してユーザが入力した発話文の内容によって次にどのノードに遷移するかが変化する。本実施形態では、ノードを対話状態と称し、ノードの遷移のことを対話遷移と称する。
【００５０】
例えば、対話状態９０１において応答文「どのようなレストランに行きたいですか？」が出力される。これに対して、ユーザが「和食のレストランがいい」という発話文を入力すると、対話状態９０２への対話遷移が生じる。具体的には、対話システムは、発話文「和食のレストランがいい」から意図及びスロットを抽出し、対話システムの状態は抽出された意図及びスロットに基づいて対話状態９０２に遷移する。また、対話状態９０１においてユーザが「安いところ」という発話文を入力すると、対話状態９０３への対話遷移が生じる。図９では、対話状態９０１からの状態遷移先が２つ示されているが、実際にはより多数の状態遷移先が設定され得る。
【００５１】
ここで問題となるのは、初期状態（対話状態９０１）ではない対話状態（例えば対話状態９０２）において入力された発話文から抽出された意図やスロットに偏りが生じ、その対話状態における発話文を収集する必要がある場合である。例えば、対話状態９０４において対話システムから出力される応答文「○件見つかりました。どれにしましょうか？」に対して、「お酒が飲めるところに絞って」という発話文に含まれる意図やスロットが他の意図やスロットよりも少ないために偏りが生じている場合である。第３の実施形態では、偏りがある対話状態に辿り着くような発話文を入力するように、初期状態の時点からユーザに要求を出すことによって、意図やスロットに偏りが生じている対話状態の発話文を収集することを可能にする。例えば「一人で行きやすいところがよいでしょうか」と対話システムが応答する対話状態９０３において「そうです」のような意図を含んだ発話文を入力するようにユーザに要求する。それにより、意図やスロットに偏りが生じている対話状態９０４に辿り着くことができる。
【００５２】
図１０は、第３の実施形態に係る発話文収集装置１０００を概略的に示している。発話文収集装置１０００は、発話文入力部１０１、意図・スロット抽出部１０２、意図・スロット管理部１００３、意図・スロット偏り判定部１００４、要求出力部１００５、応答出力部１００６、及び対話制御部１００７を備えている。図１０において、図１に示した参照番号を同一の要素に付して、重複する説明を省略する。また、図１０に示した意図・スロット管理部１００３、意図・スロット偏り判定部１００４、及び要求出力部１００５は、基本的には図１に示した意図・スロット管理部１０３、意図・スロット偏り判定部１０４、要求出力部１０５と同様の動作を行う。意図・スロット管理部１００３、意図・スロット偏り判定部１００４、及び要求出力部１００５に関しては、意図・スロット管理部１０３及び意図・スロット偏り判定部１０４と異なる動作について説明する。
【００５３】
対話制御部１００７は、対話システムの機能を備え、意図・スロット抽出部１０２によって抽出された意図及びスロットを利用して対話処理を行う。対話処理には、受け取ったスロットを用いた検索、応答として出力する内容を表す応答ＩＤの決定、対話状態の遷移などが含まれる。決定した応答ＩＤ及び検索結果は応答出力部１００６に送られる。さらに、遷移を行う前の対話状態（すなわち、発話文の入力時の対話状態）は遷移前の対話状態として意図・スロット管理部１００３に送られ、遷移を行った後の対話状態は遷移後の対話状態として意図・スロット偏り判定部１００４に送られる。なお、実装によっては遷移後の対話状態は要求出力部１００５に送られる。なお、応答として出力する内容を表す情報は、応答ＩＤに限らず、応答文そのものや遷移後の対話状態などの応答文を一意に決定できる情報であればいかなるものであってもよい。
【００５４】
応答出力部１００６は、対話制御部１００７から受け取った応答ＩＤ及び検索結果に応じて応答文を生成し、ユーザに提示する。応答文の作成方法としては、要求出力部１０５（図１）による要求文の作成方法と同様にして、ルールベースで作成する方法、検索結果を文章の一部に埋め込んで応答文を作成する方法、統計的に生成する方法などの既存の方法を用いることができる。
【００５５】
意図・スロット管理部１００３は、意図・スロット抽出部１０２によって抽出された意図及びスロットを、対話制御部１００７から受け取った遷移前の対話状態と対応付けて記憶する。意図・スロット抽出部１０２は、抽出した意図及びスロットを意図・スロット管理部１００３に直接送ってもよく、対話制御部１００７を経由して意図・スロット管理部１００３に送ってもよい。
【００５６】
意図・スロット偏り判定部１００４は、意図・スロット管理部１００３に蓄積されている意図及びスロットの少なくとも一方に偏りがある対話状態に到達するルートが存在するか否かを判定する。すなわち、意図・スロット偏り判定部１００４は、意図・スロット管理部１００３に蓄積されている意図及びスロットの少なくとも一方に偏りがある対話状態が対話制御部１００７から受け取った遷移後の対話状態から対話を進めていった先に存在するか否かを判定する。偏りがある対話状態が遷移後の対話状態に一致する場合にも、意図・スロット偏り判定部１００４はルートが存在すると判定する。意図・スロット偏り判定部１００４は、ルートが存在すると判定した場合、頻度の低い意図やスロットとその対話状態を抽出し、要求出力部１００５に送る。また、対話制御部１００７で対話処理を行った後の対話状態を同時に要求出力部１００５に送ってもよい。
【００５７】
要求出力部１００５は、対話制御部１００７から受け取った遷移後の対話状態を偏りがある対話状態と照らし合わせる。それらが同じ対話状態であった場合は、要求出力部１００５は、偏りがある対話状態に対応付けられた頻度の低い意図やスロットに関連する発話文を入力するようにユーザに要求する要求文を作成してユーザに提示する。それらが異なる対話状態であった場合は、要求出力部１００５は、遷移後の対話状態から偏りがある対話状態に遷移するための意図やスロットを抽出し、その意図やスロットに関連する発話文を入力するようにユーザに要求する要求文を作成してユーザに提示する。
【００５８】
次に、図１０及び図１１を参照して発話文収集装置１０００の動作について説明する。  
図１１は、発話文収集装置１０００が発話文を収集する処理に係る手順を概略的に示している。図１１に示したステップＳ１１０５、Ｓ１１０７、Ｓ１１０８の処理は、図２に示したステップＳ２０３、Ｓ２０４、Ｓ２０５の処理と同様であるので、ステップＳ１１０５、１１０７、及び１１０８の処理についての詳細な説明は省略する。
【００５９】
発話文収集装置１０００が起動されると対話制御部１００７の対話状態は初期状態からスタートする。図１１のステップＳ１１０１では、応答出力部１００６は、初期状態における応答ＩＤを受け取り、応答ＩＤに応じた応答文を出力する。
【００６０】
ステップＳ１１０２では、意図・スロット偏り判定部１００４は、意図・スロット管理部１００３に蓄積されている意図及びスロットの少なくとも一方に偏りがある対話状態が存在し、且つ、現在の対話状態からその対話状態に到達するルートが存在するかを判定する。現在の対話状態が偏りのある対話状態である場合もルートが存在すると判定される。ルートが存在しないと判定された場合は、ステップＳ１１０７に進む。ステップＳ１１０７では、要求出力部１０５は、自由に発話文を入力するよう要求する要求文を作成してユーザに提示する。
【００６１】
一方、ステップＳ１１０２でルートが存在すると判定された場合は、ステップＳ１１０３に進む。ステップＳ１１０３では、意図・スロット偏り判定部１００４は、頻度の低い意図及びスロットの少なくとも一方をその対話状態とともに抽出する。ステップＳ１１０４では、要求出力部１００５は、意図・スロット偏り判定部１００４が抽出した対話状態が対話制御部１００７の現在の対話状態と一致するか否かを判定する。一致する場合は、ステップＳ１１０５に進む。ステップＳ１１０５では、要求出力部１００５は、偏りがある対話状態において頻度の低い意図やスロットに関連する発話文を入力するようにユーザに要求する要求文を作成してユーザに提示する。
【００６２】
ステップＳ１１０４において一致しないと判定された場合はステップＳ１１０６に進む。ステップＳ１１０６では、対話制御部１００７の対話状態から偏りがある対話状態に遷移するための意図やスロットを抽出し、その意図やスロットに関連する発話文を入力するようユーザに要求する要求文を作成してユーザに提示する。
【００６３】
ステップＳ１１０５又はステップＳ１１０６又はステップＳ１１０７の処理の後には、応答文及び要求文の両方がユーザに提示された状態になる。この状態でユーザから発話文が入力される。入力された発話文は、図示しない記憶部に蓄積されるとともに、意図・スロット抽出部１０２に送られる。ステップＳ１１０８では、意図・スロット抽出部１０２は、ユーザが入力した発話文から意図及びスロットを抽出する。ステップＳ１１０９では、意図・スロット管理部１００３は、ステップＳ１１０８で抽出された意図及びスロットを現在の対話状態と対応付けて蓄積する。
【００６４】
ステップＳ１１１０では、対話制御部１００７は、意図・スロット抽出部１０２によって抽出された意図及びスロットを利用して対話処理を行う。ステップＳ１１１１では、応答出力部１００６は、対話処理によって得られた応答ＩＤに応じた応答文を出力する。ステップＳ１１１２では、対話制御部１００７は、対話が完了したか否かを判定する。完了した場合は処理が終了となり、完了していない場合はステップＳ１１０２に戻る。
【００６５】
意図・スロット管理部１００３で蓄積している意図やスロットに偏りがある否かを判定する際や頻度の低い意図やスロットを抽出する際は、意図・スロット偏り判定部１００４は、対話状態それぞれで偏りを判定して抽出してもよく、全ての状態の全ての意図やスロット内で偏りを判定して抽出してもよい。
【００６６】
遷移後の対話状態から対話を進めることで意図やスロットに偏りのある対話状態に到達するか否かの判定を行うには、意図・スロット偏り判定部１００４は対話状態の遷移ルールを参照する。また、偏りがある対話状態に遷移するための意図やスロットの抽出を行うには、要求出力部１００５は対話状態の遷移ルールを参照する。対話状態の遷移ルールは、ある対話状態においてある意図やスロットが抽出された場合にどの対話状態に遷移するかなどの情報が記述されているものである。一般的には、対話制御部１００７が対話状態の遷移ルールを保持し、意図・スロット偏り判定部１００４及び要求出力部１００５が必要に応じてその対話状態の遷移ルールを参照する。対話状態の遷移ルールは、意図・スロット偏り判定部１００４及び要求出力部１００５それぞれに独自に用意されもよい。意図・スロット偏り判定部１００４の処理は、遷移後の対話状態から遷移可能な対話状態を辿り目的の対話状態に辿り着けるまでルートを探索することで実現することができる。要求出力部１００５の処理は、意図・スロット偏り判定部１００４の処理で得られた対話遷移のルートの最初の遷移を実現する意図やスロットを抽出することで実現することができる。対話状態の遷移ルールは人手で作成されていることもあるが、学習データから統計的に作成されていることもある。統計的に作成された遷移ルールでは、原則全ての対話状態から全ての対話状態に遷移可能であることもある。その場合、遷移確率値に閾値を設け、閾値以上の対話遷移の情報のみを対話状態を辿るときに利用することで、全ての対話状態に遷移可能となってしまうことを避けることができる。この閾値は固定でもよいし、対話状態によって変動させてもよい。
【００６７】
図９の例のように、意図やスロットに偏りがある対話状態までのルートが複数存在する場合もある。その場合、ルートの選択方法としては、ルートをランダムに選択する方法、到達までの手順が少ないルートを選択する方法、意図やスロットの入力された頻度が低いルートを選択する方法などが考えられる。意図やスロットの入力された頻度は、遷移後の対話状態から目的の対話状態まで辿り着くまでの意図やスロットの頻度の累計でもよいし、遷移後の対話状態から１つ遷移するための意図やスロットの頻度でもよい。
【００６８】
また、発話文収集装置１０００では、どのような対話でも到達する対話状態（例えば初期状態）での発話文が集まりやすい。このため、全体としてみると意図やスロットに偏りが生じる可能性が高い。そこで、意図やスロットに偏りがある対話状態に到達した際に、その状態での発話文の入力を複数回連続してユーザに要求することで、到達する頻度の低い対話状態における意図やスロットに対応する発話文を効率よく収集することができる。
【００６９】
図１２は、意図やスロットに偏りがある対話状態でユーザに発話文を複数回入力するように設計された発話文収集装置１０００の動作手順を示している。図１２に示したステップＳ１２０１からＳ１２０９及びＳ１２１２からＳ１２１４の処理は、図１１に示したステップＳ１１０１からＳ１１１２の処理と同一であるので、ステップＳ１２０１からＳ１２０９及びＳ１２１２からＳ１２１４の処理についての説明を省略する。
【００７０】
ユーザから発話文が入力されると、入力された発話文は、図示しない記憶部に蓄積されるとともに、意図・スロット抽出部１０２に送られる。ステップＳ１２０８では、意図・スロット抽出部１０２は、ユーザが入力した発話文から意図及びスロットを抽出する。ステップＳ１２０９では、意図・スロット管理部１００３は、ステップＳ１１０８で抽出された意図及びスロットを現在の対話状態と対応付けて蓄積する。
【００７１】
ステップＳ１２１０では、意図・スロット偏り判定部１００４は同じ内容の発話文の再入力が必要であるか否かを判定する。この判定方法は、同じ対話状態での発話文を収集する回数を予め決めておく方法であってもよく、他の対話状態で収集されている意図やスロットの総頻度と比較してある割合程度収集できるまでとする方法であってもよく、意図・スロット管理部１００３に蓄積されている意図やスロットの偏りがある程度解消するまでとする方法であってもよい。再入力する必要があると判定された場合はステップＳ１２１１に進む。ステップＳ１２１１では、要求出力部１００５は、同じ意図やスロットを含む発話文を再度入力するようユーザに要求する。その後、発話文入力部１０１がユーザからの発話文の入力を待ち受ける。再入力する必要がないと判定された場合は、対話制御部１００７が対話処理を行うステップＳ１２１２に進む。
【００７２】
実際に図１２に示した方法を実施する場合、入力された複数の発話文が異なる表現になっているか検証することが望ましい。表現が異なっているかどうかの判定は、全く同じ発話文になっていないかを検証する方法などであり得る。
【００７３】
以上のように、第３の実施形態に係る発話文収集装置１０００では、実際の対話システムを動作させて発話文を収集することにより、対話の流れを加味した実際に対話システムを運用している際に収集される可能性の高い発話文を収集することが可能となる。
【００７４】
（第４の実施形態）
第３の実施形態では、頻度の低い意図やスロットを抽出して到達すべき対話状態を制御している。様々な対話遷移を含む対話データを収集するためであれば対話状態の到達頻度自体を蓄積して、対話状態の到達頻度の偏りによってユーザに発話文に対する要求を与えてもよいと考えられる。このような対話データを収集することで統計的な対話制御モデルを作成することが可能となる。
【００７５】
例えば図１３に示す対話の流れでは、「和食でも何が好みですか？」とシステムが応答する対話状態９０２に比べて、「一人で行きやすいところがよいでしょうか？」とシステムが応答する対話状態９０３への到達頻度がとても低い。この場合、第３の実施形態では、「どのようなレストランに行きたいですか？」という対話状態９０１において「安いところ」という意図やスロットを含んだ発話文を入力するように要求する。
【００７６】
図１４は、第４の実施形態に係る発話文収集装置１４００を概略的に示している。発話文収集装置１４００は、図１４に示されるように、発話文入力部１０１、意図・スロット抽出部１０２、要求出力部１４０５、応答出力部１００６、対話制御部１４０７、対話状態管理部１４０８、及び対話状態偏り判定部１４０９を備えている。図１４において、図１及び図１０に示した参照番号を同一の要素に付して、重複する説明を省略する。また、図１４に示した対話制御部１４０７は図１０に示した対話制御部１００７と基本的には同様の動作を行う。対話制御部１４０７は、対話処理によって対話遷移を行う前の対話状態を遷移前の対話状態として対話状態管理部１４０８に送り、対話遷移を行った後の対話状態を遷移後の対話状態として対話状態偏り判定部１４０９に送る点が対話制御部１００７と異なる。実装によっては、対話制御部１４０７は遷移後の対話状態を要求出力部１４０５に送ることがある。
【００７７】
対話状態管理部１４０８は、対話制御部１４０７から受け取った遷移前の対話状態に関するデータを蓄積する。対話状態偏り判定部１４０９は、対話状態管理部１４０８に蓄積されているデータに偏りがあるか否かを判定する。対話状態偏り判定部１４０９は、偏りがあると判定した場合、現在の対話状態から到達頻度の低い対話状態に到達するルートがあるか否かを判定する。すなわち、対話状態偏り判定部１４０９は、到達頻度の低い対話状態が現在の対話状態から対話を進めていった先に存在するか否かを判定する。偏りがある対話状態が現在の対話状態に一致する場合は、第３の実施形態と異なり、対話状態偏り判定部１４０９はルートが存在しないと判定する。対話状態偏り判定部１４０９は、ルートがあると判定した場合、対話状態管理部１４０８から到達頻度の低い対話状態を抽出し、要求出力部１４０５に送る。対話状態偏り判定部１４０９は、対話制御部１４０７が対話制御を行った後の対話状態を要求出力部１４０５に同時に送ってもよい。
【００７８】
要求出力部１４０５は、対話制御部１４０７から受け取った遷移後の対話状態と到達頻度の低い対話状態を利用して、到達頻度の低い対話状態に遷移するための意図及びスロットの少なくとも一方を抽出し、その意図及びスロットの少なくとも一方に関連する発話文を入力するようユーザに要求する要求文を作成してユーザに提示する。
【００７９】
次に、図１４及び図１５を参照して発話文収集装置１４００の動作について説明する。  
図１５は、発話文収集装置１４００が発話文を収集する処理に係る手順例を示している。図１５に示したステップＳ１５０５及びＳ１５０６の処理は図２に示したステップＳ２０４及びＳ２０５の処理と同様であり、図１５に示したステップＳ１５０１、Ｓ１５０４、Ｓ１５０８からＳ１５１０の処理は図１１に示したステップＳ１１０１、Ｓ１１０６、Ｓ１１１０からＳ１１１２の処理と同様であるので、ステップＳ１５０１、Ｓ１５０４、ステップＳ１５０５、Ｓ１５０６、Ｓ１５０８からＳ１５１０の処理についての詳細な説明は省略する。
【００８０】
図１５のステップＳ１５０１では、応答出力部１００６が応答文をユーザに提示する。ステップＳ１５０２では、対話状態偏り判定部１４０９は、対話状態管理部１４０８に蓄積されている対話状態のうちの到達頻度の低い対話状態が、現在の対話状態より先に存在するか否かを判定する。このとき、現在の対話状態が到達頻度の低い対話状態である場合には、対話状態偏り判定部１４０９は、存在しないと判定する。存在すると判定された場合にはステップＳ１５０３に進み、そうでなければ要求出力部１４０５が自由に発話文を入力するよう要求する要求文をユーザに提示するステップＳ１５０５に進む。
【００８１】
ステップＳ１５０３では、対話状態偏り判定部１４０９は、到達頻度の低い対話状態を対話状態管理部１４０８から抽出する。ステップＳ１５０４では、要求出力部１４０５は、到達頻度の低い対話状態に到達するための要求文をユーザに提示する。到達頻度の低い対話状態を判定する方法としては、第３の実施形態までにおける意図・スロット管理部が頻度の低い意図やスロットを抽出する方法と同様の方法を利用することができる。
【００８２】
ステップＳ１５０４又はステップＳ１５０５の処理の後には、応答文及び要求文の両方がユーザに提示された状態になる。この状態でユーザから発話文が入力される。入力された発話文は、図示しない記憶部に蓄積されるとともに、意図・スロット抽出部１０２に送られる。ステップＳ１５０６では、意図・スロット抽出部１０２は、ユーザが入力した発話文から意図及びスロットを抽出する。
【００８３】
ステップＳ１５０７では、対話状態管理部１４０８は、対話制御部１４０７が保持している遷移前の対話状態に関するデータを蓄積する。蓄積する対話状態は入力された発話文から抽出された意図やスロットによって対話遷移が行われる前の対話状態である。
【００８４】
ステップＳ１５０８では、対話制御部１４０７は、意図・スロット抽出部１０２によって抽出された意図及びスロットを利用して対話処理を行う。ステップＳ１５０９では、応答出力部１００６は、対話処理によって得られた応答ＩＤに応じた応答文を出力する。ステップＳ１５１０では、対話制御部１４０７は、対話が完了したか否かを判定する。完了した場合は処理が終了となり、完了していない場合はステップＳ１５０２に戻る。
【００８５】
上述した例では、対話状態管理部１４０８は対話状態を蓄積している。なお、対話状態管理部１４０８は対話状態間の遷移の情報を蓄積するようにしてもよい。対話遷移を蓄積する方が、よりユーザと対話システム間の対話の遷移の仕方を把握することができ、辿ることの少ないルートを的確に捉えることができる。この場合、対話制御部１４０７が、入力された発話文から抽出された意図及びスロットによって対話処理を行った際の対話遷移を対話状態管理部１４０８に保存し、要求文を出力する際は対話状態偏り判定部１４０９が遷移後の対話状態から辿りつける中で利用された頻度の低い対話遷移を抽出する。続いて、要求出力部１４０５が、遷移後の対話状態からその対話遷移が行われるように対話を進めるための意図やスロットを抽出し、その意図やスロットが含まれる発話文を入力するようユーザに要求する。
【００８６】
また、対話状態管理部１４０８は、対話遷移を行う前の対話状態ではなく、対話遷移を行った後の対話状態を蓄積してもよい。これは、図１５のステップＳ１５０８とステップＳ１５０９を入れ替えることによって実現することができる。
【００８７】
以上のように、第４の実施形態に係る発話文収集装置では、対話状態に関するデータに偏りがある場合に、到達頻度の低い対話状態に到達するための発話文にユーザに要求することにより、様々な対話状態遷移をする対話データを収集することが可能となる。
【００８８】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の発話文収集装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の発話文収集装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
【００８９】
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００９０】
なお、本実施形態におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００９１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９２】
１００…発話文収集装置、１０１…発話文入力部、１０２…意図・スロット抽出部、１０３…意図・スロット管理部、１０４…意図・スロット偏り判定部、１０５…要求出力部、７００…発話文収集装置、７０２…意図・スロット抽出部、７０３…意図・スロット管理部、７０４…意図・スロット偏り判定部、７０６…応答出力部、１０００…発話文収集装置、１００３…意図・スロット管理部、１００４…意図・スロット偏り判定部、１００５…要求出力部、１００６…応答出力部、１００７…対話制御部、１４００…発話文収集装置、１４０５…要求出力部、１４０７…対話制御部、１４０８…対話状態管理部、１４０９…対話状態偏り判定部。
【図１】
2015148910.tif 000003
【図２】
2015148910.tif 000004
【図３】
2015148910.tif 000005
【図４】
2015148910.tif 000006
【図５】
2015148910.tif 000007
【図６】
2015148910.tif 000008
【図７】
2015148910.tif 000009
【図８】
2015148910.tif 000010
【図９】
2015148910.tif 000011
【図１０】
2015148910.tif 000012
【図１１】
2015148910.tif 000013
【図１２】
2015148910.tif 000014
【図１３】
2015148910.tif 000015
【図１４】
2015148910.tif 000016
【図１５】
2015148910.tif 000017