(57)【特許請求の範囲】
【請求項１】
発話を取得する取得部と、
複数の発話と前記複数の発話それぞれに対応する複数の意図とを格納する発話データベースと、
前記発話データベースから、意図を推定するためのモデルを作成するモデル作成部と、
前記モデルを参照して前記発話の意図を推定することによって、複数の第１意図と、当該複数の第１意図それぞれの複数の第１確信度と、を含む第１の意図推定結果を生成する意図推定部と、
助動詞又は助動詞に相当する機能表現に関する同義表現の組を用いた言い換えルールと、名詞、動詞、形容詞、形容動詞に関する同義語の組を用いた言い換えルールと、動詞、形容詞、形容動詞に関する反意語の組を用いた言い換えルールと、授受又は自他が交替する動詞の組を用いた言い換えルールと、の少なくとも１つの言い換えルールを参照して前記発話の一部を別の表現に置き換えることによって、前記発話の意味を保持したまま前記発話の言い換え文を生成する言い換え生成部と、
前記発話の正しい意図を確認するために問い合わせを行う意図確認部であって、前記第１の意図推定結果に応じて前記言い換え文を用いて前記問い合わせを行い、１番目に高い第１確信度から２番目に高い第１確信度を引いた値が第１の閾値より小さい場合に、前記１番目に高い第１確信度を有する第１意図と前記２番目に高い第１確信度を有する第１意図とのいずれが正しい意図であるかを確認するために前記問い合わせを行う意図確認部と、
前記問い合わせに対する返答に基づいて前記発話の意図を決定し、前記発話を前記決定された意図と対応付けて前記発話データベースに登録する発話登録部であって、前記問い合わせに対する返答により指定される、前記１番目に高い第１確信度を有する意図と前記２番目に高い第１確信度を有する第１意図との一方を、前記発話の意図に決定する発話登録部と、
を具備する対話装置。
【請求項２】
前記意図確認部は、前記１番目に高い第１確信度が第２の閾値より小さい場合に、前記言い換え文を用いて前記問い合わせを行い、
前記発話登録部は、前記言い換え文を用いた前記問い合わせに対する返答が肯定的である場合に、前記１番目に高い第１確信度を有する第１意図を前記発話の意図に決定する、請求項１に記載の対話装置。
【請求項３】
発話を取得する取得部と、
複数の発話と前記複数の発話それぞれに対応する複数の意図とを格納する発話データベースと、
前記発話データベースから、意図を推定するためのモデルを作成するモデル作成部と、
前記モデルを参照して前記発話の意図を推定することによって、第１の意図推定結果を生成する意図推定部と、
助動詞又は助動詞に相当する機能表現に関する同義表現の組を用いた言い換えルールと、名詞、動詞、形容詞、形容動詞に関する同義語の組を用いた言い換えルールと、動詞、形容詞、形容動詞に関する反意語の組を用いた言い換えルールと、授受又は自他が交替する動詞の組を用いた言い換えルールと、の少なくとも１つの言い換えルールを参照して前記発話の一部を別の表現に置き換えることによって、前記発話の意味を保持したまま前記発話の言い換え文を生成する言い換え生成部と、
前記発話の正しい意図を確認するために問い合わせを行う意図確認部であって、前記第１の意図推定結果に応じて前記言い換え文を用いて前記問い合わせを行う意図確認部と、
前記問い合わせに対する返答に基づいて前記発話の意図を決定し、前記発話を前記決定された意図と対応付けて前記発話データベースに登録する発話登録部と、
を具備し、
前記第１の意図推定結果は、複数の第１意図と、当該複数の第１意図それぞれの複数の第１確信度と、を含み、
前記意図推定部は、前記モデルを参照して前記言い換え文の意図を推定することによって、複数の第２意図と、当該複数の第２意図それぞれの複数の第２確信度と、を含む第２の意図推定結果を生成し、
前記意図確認部は、１番目に高い第２確信度から２番目に高い第２確信度を引いた値が閾値以上である場合に、前記言い換え文を用いて前記問い合わせを行い、
前記発話登録部は、前記言い換え文を用いた前記問い合わせに対する返答が肯定的である場合に、１番目に高い第１確信度を有する第１意図を前記発話の意図に決定する、対話装置。
【請求項４】
発話を取得することと、
複数の発話と前記複数の発話それぞれに対応する複数の意図とを格納する発話データベースから、意図を推定するためのモデルを作成することと、
前記モデルを参照して前記発話の意図を推定することによって、複数の第１意図と、当該複数の第１意図それぞれの複数の第１確信度と、を含む第１の意図推定結果を生成することと、
助動詞又は助動詞に相当する機能表現に関する同義表現の組を用いた言い換えルールと、名詞、動詞、形容詞、形容動詞に関する同義語の組を用いた言い換えルールと、動詞、形容詞、形容動詞に関する反意語の組を用いた言い換えルールと、授受又は自他が交替する動詞の組を用いた言い換えルールと、の少なくとも１つの言い換えルールを参照して前記発話の一部を別の表現に置き換えることによって、前記発話の意味を保持したまま前記発話の言い換え文を生成することと、
前記発話の正しい意図を確認するために問い合わせを行うことであって、前記第１の意図推定結果に応じて前記言い換え文を用いて前記問い合わせを行い、１番目に高い第１確信度から２番目に高い第１確信度を引いた値が閾値より小さい場合に、前記１番目に高い第１確信度を有する第１意図と前記２番目に高い第１確信度を有する第１意図とのいずれが正しい意図であるかを確認するために前記問い合わせを行うことと、
前記問い合わせに対する返答に基づいて前記発話の意図を決定し、前記発話を前記決定された意図と対応付けて前記発話データベースに登録することであって、前記問い合わせに対する返答により指定される、前記１番目に高い第１確信度を有する意図と前記２番目に高い第１確信度を有する第１意図との一方を、前記発話の意図に決定することと、
を具備する対話方法。
【請求項５】
コンピュータを、
発話を取得する手段と、
複数の発話と前記複数の発話それぞれに対応する複数の意図とを格納する発話データベースから、意図を推定するためのモデルを作成する手段と、
前記モデルを参照して前記発話の意図を推定することによって、複数の第１意図と、当該複数の第１意図それぞれの複数の第１確信度と、を含む第１の意図推定結果を生成する手段と、
助動詞又は助動詞に相当する機能表現に関する同義表現の組を用いた言い換えルールと、名詞、動詞、形容詞、形容動詞に関する同義語の組を用いた言い換えルールと、動詞、形容詞、形容動詞に関する反意語の組を用いた言い換えルールと、授受又は自他が交替する動詞の組を用いた言い換えルールと、の少なくとも１つの言い換えルールを参照して前記発話の一部を別の表現に置き換えることによって、前記発話の意味を保持したまま前記発話の言い換え文を生成する手段と、
前記発話の正しい意図を確認するために問い合わせを行う手段であって、前記第１の意図推定結果に応じて前記言い換え文を用いて前記問い合わせを行い、１番目に高い第１確信度から２番目に高い第１確信度を引いた値が閾値より小さい場合に、前記１番目に高い第１確信度を有する第１意図と前記２番目に高い第１確信度を有する第１意図とのいずれが正しい意図であるかを確認するために前記問い合わせを行う手段と、
前記問い合わせに対する返答に基づいて前記発話の意図を決定し、前記発話を前記決定された意図と対応付けて前記発話データベースに登録する手段であって、前記問い合わせに対する返答により指定される、前記１番目に高い第１確信度を有する意図と前記２番目に高い第１確信度を有する第１意図との一方を、前記発話の意図に決定する手段として機能させるための対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、対話装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来のコマンド型対話システムは、予め決められたコマンドしか受け付けることができない。それに対して、パーソナルアシスタントと呼ばれるスマートフォン向けの音声対話アプリケーションでは、自由な発話を受け付けることができる。例えば、ユーザが音楽を聴いているときに「音が大きすぎる」と言うと、音量を下げるなど、ユーザの要望に応えてくれる。【０００３】
このような自由な発話を受け付ける対話システムは、受理可能な意図を予め用意した上で、各意図に対応する発話のバリエーションを収集し、意図を推定するためのモデルを作成することで実現できる。しかしながら、意図に対応する様々な発話のバリエーションを充分に収集するにはコストがかかる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６３９０９４号
【特許文献２】特開平４−１１０８３６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、意図を推定するためのモデルを作成するコストを低減することができる対話装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
一実施形態に係る対話装置は、取得部、発話データベース、モデル作成部、意図推定部、意図確認部、及び発話登録部を備える。取得部は、発話を取得する。発話データベースは、複数の発話と前記複数の発話それぞれに対応する複数の意図とを格納する。モデル作成部は、前記発話データベースから、意図を推定するためのモデルを作成する。意図推定部は、前記モデルを参照して前記発話の意図を推定することによって第１の意図推定結果を生成する。意図確認部は、前記第１の意図推定結果に応じて、前記発話の正しい意図を確認するために問い合わせを行う。発話登録部は、前記問い合わせに対する返答に基づいて前記発話の意図を決定し、前記発話を前記決定された意図と対応付けて前記発話データベースに登録する。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る対話システムを概略的に示すブロック図。
【図２】図１に示した意図確認部の動作例を示すフローチャート。
【図３】図１に示した言い換え生成部の動作例を示すフローチャート。
【図４Ａ】図１に示した言い換えルールに含まれる置き換えルールの例を示す図。
【図４Ｂ】図１に示した言い換えルールに含まれる授受交替動詞テーブルの例を示す図。
【図４Ｃ】図１に示した言い換えルールに含まれる自他交替動詞テーブルの例を示す図。
【図４Ｄ】図１に示した言い換えルールに含まれる反意動詞テーブルの例を示す図。
【図４Ｅ】図１に示した言い換えルールに含まれる反意形容詞テーブルの例を示す図。
【図４Ｆ】図１に示した言い換えルールに含まれる類語テーブルの例を示す図。
【図５】図１に示した発話登録部の動作例を示すフローチャート。
【図６】図１に示した発話登録部が保持する代表発話テーブルの例を示す図。
【図７】図１に示した発話データベースの例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態を説明する。
【０００９】
図１は、実施形態に係る対話システムを概略的に示している。図１に示される対話システムは、ユーザが操作する端末装置１０１と、音声認識を行う音声認識サーバ１０３と、音声合成を行う音声合成サーバ１０４と、対話制御を行う対話サーバ（対話装置ともいう）１０５と、を含む。端末装置１０１、音声認識サーバ１０３、音声合成サーバ１０４、及び対話サーバ１０５は、インターネット網や携帯電話網などのネットワーク１０２に接続され、互いに通信することができる。
【００１０】
端末装置１０１は、例えば、パーソナルコンピュータやスマートフォンなどである。端末装置１０１は、ユーザの発話（ユーザが発した音声）を、ネットワーク１０２を経由して音声認識サーバ１０３に送る。音声認識サーバ１０３は、端末装置１０１から受け取った発話をテキストに変換し、ネットワーク１０２を経由して対話サーバ１０５に送る。対話サーバ１０５は、音声認識サーバ１０３から受け取った発話を処理し、発話に応じた応答をテキストで出力し、ネットワーク１０２を経由して音声合成サーバ１０４に送る。音声合成サーバ１０４は、対話サーバ１０５から受け取った応答を音声に変換し、ネットワーク１０２を経由して端末装置１０１に送る。端末装置１０１は、音声合成サーバ１０４から受け取った音声を出力する。このようにして、ユーザは、端末装置１０１を通じて対話サーバ１０５と音声で対話することができる。
【００１１】
対話サーバ１０５は、意図推定モデル１０６、取得部１０７、意図推定部１０８、応答部１０９、言い換え生成部１１０、意図確認部１１１、言い換えルール１１２、発話登録部１１３、発話データベース１１４、及びモデル作成部１１５を備えている。
【００１２】
取得部１０７は、ユーザの発話を取得する。具体的には、取得部１０７は、ユーザが端末装置１０１に入力し音声認識サーバ１０３によってテキストに変換された発話を受け取る。  
意図推定部１０８は、意図を推定するモデルである意図推定モデル１０６を参照して、取得部１０７により取得された発話の意図を推定する。例えば、意図推定部１０８は、意図とその確信度との組を複数含む意図推定結果を出力する。意図推定結果に含まれる意図は、発話の意図の候補である。モデルを用いた推定処理は広く公知であるので、説明を省略する。
【００１３】
言い換え生成部１１０は、言い換えルール１１２を参照して発話を別の表現で言い換えて言い換え文を生成する。例えば、言い換え生成部１１０は、発話の意味を保持したまま、その発話を別の表現で言い換える。言い換え生成部１１０は、意図推定部１０８を使用して、言い換え発話の意図を正しく推定できるかどうかを確認する。言い換え生成部１１０の処理については、後に詳しく説明する。
【００１４】
意図確認部１１１は、意図推定部１０８から出力される意図推定結果に応じて、ユーザの発話の正しい意図を確認するために問い合わせを行う。例えば、意図確認部１１１は、必要に応じて言い換え生成部１１０を起動して言い換え文を取得し、取得した言い換え文を使用して問い合わせを行う。意図確認部１１１の処理については、後に詳しく説明する。
【００１５】
応答部１０９は、ユーザの発話に対する応答を出力する。例えば、応答部１０９は、意図確認部１１１からの指示に従って問い合わせ文を生成し、ネットワーク１０２を経由して音声合成サーバ１０４に送る。
【００１６】
発話登録部１１３は、ユーザの発話の意図を決定し、発話を決定した意図と対応付けて発話データベース１１４に登録する。例えば、発話登録部１１３は、問い合わせに対するユーザの返答に基づいて発話の意図を決定することができる。発話登録部１１３の処理については、後に詳しく説明する。
【００１７】
発話データベース１１４は、複数の発話と複数の発話それぞれに対応する複数の意図とを格納する。モデル作成部１１５は、発話データベース１１４から、意図を推定するためのモデル（例えば統計モデル）を作成する。機械学習を用いたモデルの作成処理は広く公知であるので、説明を省略する。モデル作成部１１５は、任意のタイミングでモデルを作成することができる。例えば、モデル作成は、発話データベース１１４に発話が登録されるたびに実行されてもよく、周期的に実行されてもよく、オペレータの操作に基づいて実行されてもよい。モデル作成部１１５は、作成したモデルを用いて意図推定モデル１０６を更新し、すなわち、作成したモデルを新たな意図推定モデル１０６に設定する。
【００１８】
次に、対話サーバ１０５の動作について説明する。  
図２は、意図確認部１１１の動作例を示している。まず、取得部１０７がユーザの発話を取得し、意図推定部１０８がこの発話の意図を推定する。ここでは、この発話を入力発話と称する。
【００１９】
図２のステップＳ２０１では、意図確認部１１１は、意図推定部１０８から、入力発話及びその意図推定結果を受け取る。意図推定結果は、例えば、下記のように、意図を表すタグと確信度との組を複数含む。確信度は、０から１までの間の数値で表される。  
tag01：0.890
tag02：0.769
tag03：0.022
この例では、コロンの前側にあるtag01、tag02、tag03がタグであり、コロンの後側にある０．８９０、０．７６９、０．０２２が確信度である。
【００２０】
ステップＳ２０２では、意図確認部１１１は、１番目に高い確信度の値を変数prob1に、２番目に高い確信度の値を変数prob2にセットし、１番目に高い確信度を有する意図を変数tag1に、２番目に高い確信度を有する意図を変数tag2にセットする。
【００２１】
ステップＳ２０３では、意図確認部１１１は、prob1を所定の閾値αと比較する。prob1が閾値αより小さい場合はステップＳ２０５に進み、そうでない場合はステップＳ２０４に進む。
【００２２】
ステップＳ２０４では、意図確認部１１１は、prob1からprob2を引いた差を所定の閾値βと比較する。差が閾値βより小さい場合はステップＳ２０６に進み、そうでない場合はステップＳ２０７に進む。
【００２３】
ステップＳ２０５に進んだ場合、ステップＳ２０５では、意図確認部１１１は、言い換え生成部１１０を起動して、入力発話を別の表現で言い換えた言い換え文を取得し、言い換え文を用いて入力発話の意図を確認する問い合わせを行うよう応答部１０９に指示する。
【００２４】
ステップＳ２０６に進んだ場合、ステップＳ２０６では、意図確認部１１１は、tag1とtag2のどちらが入力発話の意図であるかを確認する問い合わせを行うよう応答部１０９に指示する。
【００２５】
ステップＳ２０８では、意図確認部１１１は、ステップＳ２０５又はステップＳ２０６の問い合わせに対するユーザの返答を、意図推定部１０８を通じて受け取り、ここでの処理を終了する。
【００２６】
ステップＳ２０７に進んだ場合、ステップＳ２０７では、意図確認部１１１は、tag1を応答部１０９に渡し、ここでの処理を終了する。  
以上で意図確認部１１１の処理を終了する。
【００２７】
図３は、言い換え生成部１１０の動作例を示し、図４Ａから図４Ｆは、言い換えルール１１２の例を示している。言い換えルール１１２は、図４Ａに示される置き換えルール１１２ａと、図４Ｂに示される授受交替動詞テーブル１１２ｂと、図４Ｃに示される自他交替動詞テーブル１１２ｃと、図４Ｄに示される反意動詞テーブル１１２ｄと、図４Ｅに示される反意形容詞テーブル１１２ｅと、図４Ｆに示される類語テーブル１１２ｆと、を含む。各ルール及びテーブルは、ＩＤ、表現１、表現２のフィールドを含む。
【００２８】
置き換えルール１１２ａは、対象が表現１又は表現２に一致（マッチ）したら表現２又は表現１に置き換えるという意味のルールである。ＩＤがｒ０００１であるルールは、表現１が「動詞連用形＋づらい」、表現２が「動詞連用形＋にくい」となっている。例えば、「パンは食べづらい」という発話を考える。「食べづらい」は表現１に一致するので、言い換え生成部１１０は「食べづらい」を「食べにくい」に置き換える。それにより「パンは食べにくい」という言い換え文が得られる。
【００２９】
ＩＤがｒ０００４であるルールは、表現１が「＜授受交替動詞テーブルの表現１＞連用形＋てほしい」、表現２が「＜授受交替動詞テーブルの表現２＞連用形＋たい」となっている。例えば、「お金を貸してほしい」という発話を考える。「貸してほしい」という表現中の「貸す」は授受交替動詞テーブル１１２ｂにおけるＩＤがｖｊ０００１の表現１に一致するので、言い換え生成部１１０は、「貸す」を「借りる」に置き換え、さらに「てほしい」は「たい」に置き換える。それにより、「貸してほしい」は「借りたい」に置き換えられ、最終的に「お金を借りたい」という言い換え文が得られる。
【００３０】
図３のステップＳ３０１では、言い換え生成部１１０は、意図確認部１１１から入力発話を受け取る。ステップＳ３０２では、言い換え生成部１１０は、変数Ｎに言い換えルール１１２に格納されているルール数をセットし、変数ｉに初期値１をセットする。
【００３１】
ステップＳ３０３では、言い換え生成部１１０は、ｉがＮ以下であるかどうかを判定する。ｉがＮ以下である場合はステップＳ３０４に進み、そうでない場合はステップＳ３０６に進む。ステップＳ３０４では、入力発話がｉ番目の言い換えルールの表現１又は表現２に一致するかどうかを判定する。一致する場合はステップＳ３０７に進み、そうでない場合はステップＳ３０５に進む。ステップＳ３０５では、言い換え生成部１１０はｉに１を加算し、ステップＳ３０３に戻る。
【００３２】
ステップＳ３０６に進んだ場合、ステップＳ３０６では、言い換え生成部１１０は、言い換え文を生成できないことを応答部１０９に伝え、ここでの処理を終了する。
【００３３】
ステップＳ３０７に進んだ場合、ステップＳ３０７では、言い換え生成部１１０は、入力発話と一致した表現１又は表現２を、対応する表現２又は表現１に置き換えて、言い換え文を生成する。ステップＳ３０８では、言い換え生成部１１０は、言い換え文を意図推定部１０８に送り、意図推定部１０８から言い換え文の意図推定結果を受け取る。意図推定結果は、意図を表すタグと確信度との組を複数含む。
【００３４】
ステップＳ３０９では、言い換え生成部１１０は、１番目に高い確信度の値を変数prob1に、２番目に高い確信度の値を変数prob2にセットする。ステップＳ３１０では、言い換え生成部１１０は、prob1と所定の閾値αを比較する。prob1が閾値α以上である場合はステップＳ３１１に進み、そうでない場合はステップＳ３０５に戻る。ステップＳ３１１では、prob1からprob2を引いた差と所定の閾値βとを比較する。差が閾値β以上である場合はステップＳ３１２に進み、そうでない場合はステップＳ３０５に戻る。言い換え生成部１１０の閾値α、βは、意図確認部１１１の閾値α、βと同じ値であってもよく、異なる値であってもよい。
【００３５】
ステップＳ３１２に進んだ場合、ステップＳ３１２では、言い換え生成部１１０は、言い換え文を応答部１０９に渡す。ステップＳ３１３では、言い換え生成部１１０は、言い換え文の意図推定結果を発話登録部１１３に渡し、ここでの処理を終了する。  
以上で言い換え生成部１１０の処理を終了する。
【００３６】
図５は、発話登録部１１３の動作例を示している。図５のステップＳ５０１では、発話登録部１１３は、意図確認部１１１を通じて、問い合わせ（図２のステップＳ２０５又はＳ２０６に示される問い合わせ）に対するユーザの返答を受け取る。
【００３７】
ステップＳ５０２では、発話登録部１１３は、受け取った返答がＹＥＳ又はＮＯを意味する発話であるかどうかを判定する。例えば、「はい」、「そうです」はＹＥＳを意味する発話であり、「いいえ」、「いや、違うよ」はＮＯを意味する発話である。ＹＥＳ又はＮＯを意味する発話である場合はステップＳ５０３に進み、そうでない場合はステップＳ５０７に進む。
【００３８】
ステップＳ５０３では、発話登録部１１３は、受け取った返答がＹＥＳを意味する発話（すなわち肯定的な発話）であるかどうかを判定する。返答がＹＥＳを意味する発話である場合はステップＳ５０４に進み、返答がＮＯを意味する発話（すなわち否定的な発話）である場合はここでの処理を終了する。
【００３９】
ステップＳ５０４に進んだ場合、ステップＳ５０４では、発話登録部１１３は、言い換え生成部１１０から、入力発話（すなわち言い換え前の発話）と言い換え文の意図推定結果とを受け取る。ステップＳ５０５では、発話登録部１１３は、言い換え文の意図推定結果に含まれる１番目に高い確信度を持つ意図を変数tag0にセットする。ステップＳ５０６では、発話登録部１１３は、入力発話をtag0と対応付けて発話データベース１１４に登録し、ここでの処理を終了する。
【００４０】
ステップＳ５０７では、発話登録部１１３は、意図推定部１０８から、入力発話とその意図推定結果とを受け取る。ステップＳ５０８では、発話登録部１１３は、この意図推定結果に含まれる１番目に高い確信度を持つ意図を変数tag1に、２番目に高い確信度を持つ意図を変数tag2にセットする。
【００４１】
ステップＳ５０９では、発話登録部１１３は、tag1を代表する発話とユーザの返答との類似度を変数sim1に、tag2を代表する発話とユーザの返答との類似度を変数sim2にセットする。例えば、発話登録部１１３は、図６に示すような、意図を表すタグを代表発話と対応付けた代表発話テーブルを保持し、代表発話テーブルからtag1及びtag2に対応する代表発話を取得する。文と文の類似度は、例えば、文に含まれる単語を要素とする単語ベクトル同士のコサイン類似度を計算することで得ることができる。
【００４２】
ステップＳ５１０では、発話登録部１１３は、sim1とsim2との最大値を所定の閾値γと比較する。sim1とsim2との最大値が閾値γより小さい場合はここでの処理を終了し、そうでない場合はステップＳ５１１に進む。
【００４３】
ステップＳ５１１では、発話登録部１１３は、sim1とsim2を比較する。sim1がsim2より大きい場合はステップＳ５１２に進み、そうでない場合はステップＳ５１３に進む。
【００４４】
ステップＳ５１２に進んだ場合ステップＳ５１２では、発話登録部１１３は、入力発話をtag1の意図と対応付けて発話データベース１１４に登録し、ここでの処理を終了する。
【００４５】
ステップＳ５１３では、発話登録部１１３は、入力発話をtag2の意図と対応付けて発話データベース１１４に登録し、ここでの処理を終了する。
【００４６】
以上で発話登録部１１３の処理を終了する。  
以上に説明した処理によって、ユーザが入力した発話が意図と対応付けて発話データベース１１４に登録される。図７は、発話データベース１１４の例を示している。発話データベース１１４は、ＩＤ、意図を表すタグ、発話のフィールドを含む。例えば、ＩＤがｓ０００１である発話データは、タグがrequest (object=loan, act=get)で、発話が「お金を借りたい」である。
【００４７】
このように、対話サーバ１０５は、ユーザが入力した発話の意図を正しく推定できなかった場合に、ユーザに意図を確認する問い合わせを行い、問い合わせに対するユーザの返答に基づいて意図を決定する。それにより、発話を適切な意図と対応付けて収集することが可能となる。その結果、意図に対応する発話を収集するコストが低減され、意図を推定するためのモデルを作成するコストが低減される。
【００４８】
次に、本実施形態に係る対話システムの動作について、具体例を用いて説明する。  
ユーザが「お金を貸してほしいのですが」と発話したとする。この発話から次のような意図推定結果が得られる。
request (object=loan, act=get)：0.020
request (object=account, act=open)：0.015
request (object=foreign_money, act=buy)：0.011
【００４９】
ここで閾値α＝0.030、閾値β＝0.020とする。１番目に高い確信度0.020は閾値αより小さいので、言い換え生成部１１０が起動される（図２のステップＳ２０５）。「お金を貸してほしいのですが」の「貸す」は、図４Ｂに示される授受交替動詞テーブル１１２ｂにおけるＩＤがｖｊ０００１の表現１に一致するので、言い換え生成部１１０は「借りる」を得る。「貸してほしい」は、図４Ａに示される置き換えルール１１２ａにおけるＩＤがｒ０００４であるルールの表現１に一致するので、言い換え生成部１１０は「借りたい」を得る。言い換え生成部１１０は、最終的に「お金を借りたいのですが」という言い換え文を得る（図３のステップＳ３０７）。意図推定部１０８は、言い換え文「お金を借りたいのですが」から、次のような意図推定結果を得る（図３のステップＳ３０８）。
request (object=loan, act=get)：0.850
request (object=account, act=open)：0.015
request (object=foreign_money, act=buy)：0.011
【００５０】
１番目に高い確信度0.850は閾値αよりも大きく、１番目に高い確信度0.850から２番目に高い確信度0.015を引いた差は閾値βよりも大きいので、言い換え文は応答部１０９に渡される（図３のステップＳ３１２）。応答部１０９は、この言い換え文を用いて、「申し訳ありませんが、発言を理解できませんでした。お金を借りたいのですが、という意味でしょうか？」のような問い合わせをする。ユーザがこれに対して「はい」と返答すると、最初に入力された発話である「お金を貸してほしいのですが」を、「お金を借りたいのですが」の意図であるrequest (object=loan, act=get)と対応づけて発話データベース１１４に登録する。
【００５１】
別の例を説明する。ユーザが「音を大きくしてほしい」と発話したとする。この発話から次のような意図推定結果が得られる。
request (object=volume, act=up)：0.795
request (object=volume, act=down)：0.790
request (object=power, act=on)：0.011
【００５２】
前述の例と同様、閾値α＝0.030、閾値β＝0.020とする。１番目に高い確信度0.795は閾値αより大きく、１番目に高い確信度0.795から２番目に高い確信度0.790を引いた差0.005は閾値βより小さい。この場合、意図確認部１１１は、request (object=volume, act=up)とrequest (object=volume, act=down)のどちらがユーザの意図なのかを確認する問い合わせを行うよう応答部１０９に指示する（図２のステップＳ２０６）。応答部１０９は、request (object=volume, act=up)とrequest (object=volume, act=down)の代表発話を用いて、「申し訳ありませんが、発言を正しく理解できなかったかもしれません。音量を上げたいのでしょうか、音量を下げたいのでしょうか？」のような問い合わせをする。ユーザがこれに対して「上げたいのよ」と返答すると、「上げたいのよ」が「音量を上げたい」及び「音量を下げたい」のどちらと類似度が高いかを計算する（図５のステップＳ５１０及びＳ５１１）。この場合、「音量を上げたい」の類似度が「音量を下げたい」の類似度より高い。このため、発話登録部１１３は、「音量を上げたい」の意図であるrequest (object=volume, act=up)を、最初に入力された発話である「音を大きくしてほしい」と対応付けて、発話データベース１１４に登録する。
【００５３】
また、別の例を説明する。ユーザが「ＦＸをやりたくない」あるいは「ＦＸを中止したい」と発話したとする。発話データベース１１４にどちらの発話も登録されていない場合、これらの発話に対する意図推定結果の確信度は閾値未満になる可能性が高く、発話の意図推定に失敗する。図４Ｄの反意動詞テーブル１１２ｄによると、「やる」は「やめる」の反意動詞であることが分かり、類語テーブル１１２ｆによると、「中止する」は「やめる」の類語であることが分かる。置き換えルール１１２ａにおけるｒ００１０又はｒ００１２のルールを適用することにより、どちらの発話に対しても「ＦＸをやめたい」という言い換え文が得られる。この言い換え文と同じ発話が発話データベース１１４に登録されている場合、言い換え文に対する意図推定結果の確信度は閾値以上になる可能性が高い。確信度が閾値以上である場合、応答部１０９はこの言い換え文を用いて、「申し訳ありませんが、発言を理解できませんでした。ＦＸをやめたいという意味でしょうか？」のような問い合わせを行う。ユーザがこれに対して肯定の返答をすれば、最初に入力された発話である「ＦＸをやりたくない」あるいは「ＦＸを中止したい」に対する意図は正しく推定されることになる。さらに、これらの発話が正しい意図と対応付けられて発話データベース１１４に登録され、意図推定モデル１０６が更新される。このため、以降は、「ＦＸをやりたくない」或いは「ＦＸを中止したい」という発話は、一度目に意図推定が行われた時点で、正しく意図推定されるようになる。
【００５４】
さらに別の例を説明する。ユーザが「ローンの負担を軽減したい」あるいは「ローンの負担を増やしたくない」と発話したとする。発話データベース１１４にどちらの発話も登録されていない場合でも、「ローンの負担を減らしたい」という発話が登録されていれば、言い換えルール１１２を適用することにより、入力発話に対する意図が正しく推定されることになる。さらに、これらの発話が正しい意図と対応付けられて発話データベース１１４に登録され、意図推定モデル１０６が更新される。このため、以降は、「ローンの負担を軽減したい」或いは「ローンの負担を増やしたくない」という発話は、一度目に意図推定が行われた時点で、正しく意図推定されるようになる。
【００５５】
なお、本実施形態では、（１）助動詞又は助動詞に相当する機能表現に関する同義表現の組を用いた言い換えルール、（２）名詞、動詞、形容詞、形容動詞に関する同義語の組を用いた言い換えルール、（３）動詞、形容詞、形容動詞に関する反意語の組を用いた言い換えルール、（４）授受又は自他が交替する動詞の組を用いた言い換えルール、のいずれかを１回適用して、元の文（入力発話）から言い換え文を生成する例を示したが、１つの文に対して（１）〜（４）の異なる種類のルールを複数組み合わせて適用しても構わないし、同じ種類のルールを複数組み合わせて適用しても構わない。
【００５６】
また、本実施形態では、ネットワーク１０２を通じて、端末装置１０１、音声認識サーバ１０３、音声合成サーバ１０４、対話サーバ１０５を利用する実施形態を説明したが、対話システムは、音声認識サーバ１０３又は音声合成サーバ１０４を利用せずに、テキストによる入力又はテキストによる出力を行う対話システムとして実現しても構わない。また、音声認識サーバ１０３、音声合成サーバ１０４、対話サーバ１０５のすべて又はいずれかを端末装置１０１上で動作するように構成しても構わない。
【００５７】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の対話サーバによる効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式はいずれの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の対話サーバと同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成はいずれの構成であってもよい。
【００５８】
なお、本実施形態におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等のいずれの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００５９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
0006448765.tif 000002
【図２】
0006448765.tif 000003
【図３】
0006448765.tif 000004
【図４Ａ】
0006448765.tif 000005
【図４Ｂ】
0006448765.tif 000006
【図４Ｃ】
0006448765.tif 000007
【図４Ｄ】
0006448765.tif 000008
【図４Ｅ】
0006448765.tif 000009
【図４Ｆ】
0006448765.tif 000010
【図５】
0006448765.tif 000011
【図６】
0006448765.tif 000012
【図７】
0006448765.tif 000013