(57)【要約】【課題】対話システムで用いる発話として、質の高い発話を低コストで選択する。【解決手段】関連語取得部１２が、単語入力部１１から受け渡された抽出単語の関連語を関連語辞書２２から取得する。発話検索部１３が、抽出単語及び関連語による検索クエリを用いて、発話ＤＢ２３を検索して発話集合を取得する。フィルタリング部１４が、取得された発話集合に含まれる各発話から、抽出単語、関連語、及びストップワード以外の単語が含まれる発話を除外する。クラスタリング部１５が、フィルタリング後の発話集合に含まれる各発話を、各発話に含まれる関連語またはストップワードによってクラスタリングする。発話候補選択部１６が、ユーザの直前の発話に含まれる内容語を含む発話を抽出した発話集合、複数の発話を持つクラスタから代表的な発話を抽出した発話集合、または各クラスタから代表的な発話を抽出した発話集合から発話候補集合を選択する。【選択図】図１
2014219872.tif 000002
【特許請求の範囲】
【請求項１】
単語と該単語に関連する関連語とを対応付けた辞書から、ユーザの発話から抽出された少なくとも１つの抽出単語に関連する関連語を取得する関連語取得部と、
複数の発話を含む発話データベースから、前記抽出単語及び前記関連語取得部で取得された前記抽出単語に関連する関連語を含む検索クエリに対応した発話を検索する発話検索部と、
前記発話検索部により検索された発話から、少なくとも１つの発話を選択する発話選択部と、
を含む発話選択装置。
【請求項２】
前記関連語取得部は、前記辞書として、前記関連語に前記単語との関連度が対応付けられた辞書を用いて、前記抽出単語に関連する関連語を取得し、
前記発話検索部は、前記抽出単語に関連する関連語のうち、前記関連度が所定値以上の関連語を前記検索クエリに含める請求項１記載の発話選択装置。
【請求項３】
前記関連度を、前記単語と前記関連語との共起の度合いとした請求項２記載の発話選択装置。
【請求項４】
前記関連度を、前記単語を含む発話に後続する発話に前記関連語が出現する度合いとした請求項２記載の発話選択装置。
【請求項５】
前記発話選択部は、前記発話検索部により検索された発話から、前記抽出単語、前記関連語、及び発話内容に影響を与えない単語として予め定めたストップワード以外の単語を含む発話を除外する請求項１〜請求項４のいずれか１項記載の発話選択装置。
【請求項６】
前記発話選択部は、発話に含まれる前記関連語または前記ストップワードに基づいて、前記発話検索部により検索された発話をクラスタリングして、各クラスタの代表的な発話を選択する請求項５記載の発話選択装置。
【請求項７】
前記発話選択部は、発話に含まれる前記関連語または前記ストップワードに基づいて、前記発話検索部により検索された発話をクラスタリングして、各クラスタに含まれる発話数が所定数以上のクラスタの代表的な発話を選択する請求項５記載の発話選択装置。
【請求項８】
前記発話選択部は、少なくともユーザの直前の発話を取得し、前記発話検索部により検索された発話のうち、前記直前の発話に含まれる単語を含む発話を選択する請求項１〜請求項７のいずれか１項記載の発話選択装置。
【請求項９】
ユーザの発話を受け付ける発話受付部と、
請求項１〜請求項８のいずれか１項記載の発話選択装置により選択された発話のいずれかを出力する発話出力部と、
を含む対話装置。
【請求項１０】
関連語取得部が、単語と該単語に関連する関連語とを対応付けた辞書から、ユーザの発話から抽出された少なくとも１つの抽出単語に関連する関連語を取得するステップと、
発話検索部が、複数の発話を含む発話データベースから、前記抽出単語及び前記関連語取得部で取得された前記抽出単語に関連する関連語を含む検索クエリに対応した発話を検索するステップと、
発話選択部が、前記発話検索部により検索された発話から、少なくとも１つの発話を選択するステップと、
を含む発話選択方法。
【請求項１１】
発話受付部が、ユーザの発話を受け付けるステップと、
発話出力部が、請求項１０記載の発話選択方法により選択された発話のいずれかを出力するステップと、
を含む対話方法。
【請求項１２】
コンピュータを、請求項１〜請求項８のいずれか１項記載の発話選択装置を構成する各部として機能させるための発話選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話選択装置、方法、及びプログラム、対話装置及び方法に係り、特に、対話システムで用いられる発話を選択するための発話選択装置、方法、及びプログラム、並びに選択された発話を用いてユーザとの対話を行うための対話装置及び方法に関する。
【背景技術】
【０００２】
雑多な話題についてユーザと対話を行う雑談対話システムは、現在の対話における話題を把握し、その話題について応答することが重要である。しかし、全ての話題について予めシステムが行うべき発話のリストを準備しておくことはコスト面で難しい。そこで、現在の対話における話題を示すユーザの発話に含まれる単語について、インターネットからウェブ検索エンジンを用いて関連する文を抽出し、抽出した文の中から一つ以上の文を発話として用いて応答を行う対話システムが提案されている（例えば、非特許文献１参照）。
【０００３】
また、一般的なウェブ文書ではなく、マイクロブログサービスであるツイッターのデータを検索対象とし、ユーザの発話から得られた検索キーワードを元に関連するツイートを取得して、システム発話として用いる対話システムも提案されている（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Shibata, M., Nishiguchi, T., and Tomiura, Y. (2009). "Dialog systemfor open-ended conversation using web documents." Infomatica, 33 (3), pp. 277-284.
【非特許文献２】F. Bessho, T. Harada, and Y. Kuniyoshi, "Dialog system using real-time crowdsourcing and Twitter large-scale corpus," in Proc. SIGDIAL, 2012, pp.227-231.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１及び非特許文献２に記載の技術では、話題となる単語について得られた検索結果を発話として利用するが、ウェブページやツイッターから得られた検索結果には様々な話題が含まれており、必ずしも所与の話題について適切な検索結果を取得できるとは限らない。そのため、質の低い発話を行ってしまう可能性がある。
【０００６】
本発明は、対話システムで用いる発話として、質の高い発話を低コストで選択することができる発話選択装置、方法、及びプログラム、並びに選択された発話を用いて、質の高い応答を行うことができる対話装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、第１の発明に係る発話選択装置は、単語と該単語に関連する関連語とを対応付けた辞書から、ユーザの発話から抽出された少なくとも１つの抽出単語に関連する関連語を取得する関連語取得部と、複数の発話を含む発話データベースから、前記抽出単語及び前記関連語取得部で取得された前記抽出単語に関連する関連語を含む検索クエリに対応した発話を検索する発話検索部と、前記発話検索部により検索された発話から、少なくとも１つの発話を選択する発話選択部と、を含んで構成されている。
【０００８】
本発明に係る発話選択装置によれば、関連語取得部が、単語と該単語に関連する関連語とを対応付けた辞書から、ユーザの発話から抽出された少なくとも１つの抽出単語に関連する関連語を取得する。そして、発話検索部が、複数の発話を含む発話データベースから、抽出単語及び関連語取得部で取得された抽出単語に関連する関連語を含む検索クエリに対応した発話を検索する。さらに、発話選択部が、発話検索部により検索された発話から、少なくとも１つの発話を選択する。
【０００９】
このように、抽出単語に関連する関連語を検索クエリに含めて検索された発話から発話を選択するため、対話システムで用いる発話として、質の高い発話を低コストで選択することができる。
【００１０】
また、前記関連語取得部は、前記辞書として、前記関連語に前記単語との関連度が対応付けられた辞書を用いて、前記抽出単語に関連する関連語を取得し、前記発話検索部は、前記抽出単語に関連する関連語のうち、前記関連度が所定値以上の関連語を前記検索クエリに含めることができる。また、前記関連度を、前記単語と前記関連語との共起の度合いとしたり、前記単語を含む発話に後続する発話に前記関連語が出現する度合いとしたりすることができる。これにより、抽出単語が表す話題に、より関連の高い発話を選択することができる。
【００１１】
また、前記発話選択部は、前記発話検索部により検索された発話から、前記抽出単語、前記関連語、及び発話内容に影響を与えない単語として予め定めたストップワード以外の単語を含む発話を除外することができる。これにより、質の高い発話を選択することができる。
【００１２】
また、前記発話選択部は、発話に含まれる前記関連語または前記ストップワードに基づいて、前記発話検索部により検索された発話をクラスタリングして、各クラスタの代表的な発話を選択することができる。これにより、選択する発話に多様性を持たせることができる。
【００１３】
また、前記発話選択部は、発話に含まれる前記関連語または前記ストップワードに基づいて、前記発話検索部により検索された発話をクラスタリングして、各クラスタに含まれる発話数が所定数以上のクラスタの代表的な発話を選択することができる。これにより、抽出単語について話題になり易い発話を選択することができる。
【００１４】
また、前記発話選択部は、少なくともユーザの直前の発話を取得し、前記発話検索部により検索された発話のうち、前記直前の発話に含まれる単語を含む発話を選択することができる。これにより、潤滑な対話を実現するための発話を選択することができる。
【００１５】
第２の発明に係る対話装置は、ユーザの発話を受け付ける発話受付部と、上記の発話選択装置により選択された発話のいずれかを出力する発話出力部と、を含んで構成されている。これにより、質の高い応答を行うことができる。
【００１６】
また、第３の発明に係る発話選択方法は、関連語取得部が、単語と該単語に関連する関連語とを対応付けた辞書から、ユーザの発話から抽出された少なくとも１つの抽出単語に関連する関連語を取得するステップと、発話検索部が、複数の発話を含む発話データベースから、前記抽出単語及び前記関連語取得部で取得された前記抽出単語に関連する関連語を含む検索クエリに対応した発話を検索するステップと、発話選択部が、前記発話検索部により検索された発話から、少なくとも１つの発話を選択するステップとを含む方法である。
【００１７】
また、第４の発明に係る対話方法は、発話受付部が、ユーザの発話を受け付けるステップと、発話出力部が、上記の発話選択方法により選択された発話のいずれかを出力するステップとを含む方法である。
【００１８】
また、第５の発明に係る発話選択プログラムは、コンピュータを、上記の発話選択装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１９】
以上説明したように、本発明の発話選択装置、方法、及びプログラムによれば、抽出単語に関連する関連語を検索クエリに含めて検索された発話から発話を選択するため、対話システムで用いる発話として、質の高い発話を低コストで選択することができる、という効果が得られる。また、本発明の対話装置及び方法によれば、上記のように選択された発話を用いて、質の高い応答を行うことができる、という効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施の形態に係る発話選択装置の機能的な構成例を示すブロック図である。
【図２】関連度を計算するためのテーブルの一例を示す図である。
【図３】「ラーメン」についての関連語の一例を示す図である。
【図４】対話データを用いた関連度を計算するためのテーブルの一例を示す図である。
【図５】関連度を再計算した「ラーメン」についての関連語の一例を示す図である。
【図６】検索クエリの一例を示す図である。
【図７】検索結果の一例を示す図である。
【図８】クラスタリング結果の一例を示す図である。
【図９】第１の実施の形態における発話選択処理を示すフローチャートである。
【図１０】第２の実施の形態に係る対話装置の機能的な構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００２２】
＜第１の実施の形態＞
第１の実施の形態に係る発話選択装置１０は、ＣＰＵと、ＲＡＭと、後述する発話選択処理を実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成される。このコンピュータは、機能的には、図１に示すように、単語入力部１１、関連語取得部１２、発話検索部１３、フィルタリング部１４、クラスタリング部１５、及び発話候補選択部１６を含んだ構成で表すことができる。なお、フィルタリング部１４、クラスタリング部１５、及び発話候補選択部１６は、本発明の発話選択部の一例である。
【００２３】
単語入力部１１は、ユーザの発話から抽出された現在の話題に対応する一つ以上の形態素からなる単語を入力として受け取る。このユーザの発話から抽出された単語を「抽出単語」という。例えば、ユーザの発話に含まれる品詞が名詞の単語を抽出単語として抽出することができる。また、単語入力部１１は、抽出単語に加えて、少なくともユーザの直前の発話を含む対話履歴を受け取る。単語入力部１１は、受け取った抽出単語を関連語取得部１２へ受け渡すと共に、対話履歴を対話履歴記憶部２１に記憶する。
【００２４】
関連語取得部１２は、単語入力部１１から受け渡された抽出単語に関連する関連語を、複数の単語の各々に関連する関連語が収録された関連語辞書２２を参照して取得する。関連語辞書２２には、見出し単語に関連した品詞が名詞、動詞、及び形容詞の各々の単語が見出し単語に関連する関連語として、見出し単語に対応付けられて収録されている。関連語は、例えば、大規模なブログデータから予め定めた言語パターンを用いて収集することができる。より具体的には、名詞は「Ａ（名詞）のＢ（名詞）」というパターンを、動詞は「Ａ（名詞）をＢ（動詞）」というパターンを、形容詞は「Ａ（名詞）はＢ（形容詞）」または「Ａ（名詞）がＢ（形容詞）」というパターンを用いて、形態素解析されたブログデータに正規表現によるパターンマッチを行い、見出し単語Ａについて関連する品詞が名詞、動詞、及び形容詞の単語Ｂを列挙し、関連語として収集することができる。
【００２５】
なお、関連語辞書２２の見出し単語となる単語に対して、特に関連度の高い関連語のみを関連語辞書２２に含めるために、対数尤度比を用いた関連語のフィルタリングを行ってもよい。例えば、ある見出し単語ｗについて関連語ｒがあるとき、この見出し単語ｗに関連語ｒがどの程度関連しているかを示す関連度を、図２に示すテーブルに従って計算する。図２に示すテーブルにおいて、Ｎは見出し単語と関連語とのペアの総数（出現回数の総数）である。ｃ１２は見出し単語がｗで関連語がｒのペアの総数である。ｃ１は見出し単語がｗのペアの数、ｃ２は関連語がｒのペアの数である。ここから、ｃ１２がどれほど偏った値かを対数尤度比を用いて計算する。対数尤度比は、例えば下記（１）式により計算することができる。
【００２６】
【数１】
2014219872.tif 000003
【００２７】
ここで、Ｏｉは図２に示すテーブル中の各セルの値、すなわちｃ１２、ｃ１−ｃ１２、ｃ２−ｃ１２、Ｎ−ｃ２−ｃ１＋ｃ１２の各々である。ＥｉはＯｉの期待値である。例えば、ｃ１２の期待値はｃ１＊（ｃ２／Ｎ）とすることができる。このようにして求めた対数尤度比を関連度として用いる。対数尤度比はカイ二乗分布に従うため、対数尤度比が１０．８３以上であれば、見出し単語と関連語とが、統計的に有意（ｐ＜０．００１）に関連していると考えられる。そこで、各見出し単語について、対数尤度比が１０．８３を超える関連語のみを収録することができる。なお、関連度は、単語と関連語との共起を表す尺度であればよく、対数尤度比以外にも、カイ二乗値、Ｔスコア、相互情報量などを用いてもよい。図３に、見出し単語「ラーメン」についての関連語の一例を示す。図３では、関連度である対数尤度比順で上位２０件を表示している。
【００２８】
また、対話システムに適した関連度として、対話データにおける単語間の共起の度合いを用いてもよい。例えば、ある発話に単語ｗ１が出現し、後続する発話に単語ｗ２が出現し易い傾向にあれば、単語ｗ１と単語ｗ２とは関連が強いと言える。そこで、上記のように、見出し単語及び関連語の出現頻度を用いて計算された対数尤度比を関連度としてフィルタリングされた関連語について、図４に示すテーブルを用いて関連度を再計算する。図４に示すテーブルにおいて、Ｍは対話データにおける発話の隣接ペアの総数である。ｃ１２は単語ｗ１が発話ペアの前発話に現れ、単語ｗ２が発話ペアの後続発話に出現するペアの総数である。ｃ１は単語ｗ２が発話ペアの後続発話に現れるペアの総数、ｃ２は単語ｗ１が発話ペアの前発話に現れるペアの総数である。図４に示すテーブルの各セルの値を用いて、（１）式により計算される対数尤度比を関連度として再計算する。
【００２９】
第１の実施の形態における発話選択装置１０は、対話システムで用いる発話を選択するためのものであるため、上記のように対話データから計算した関連度を用いる場合について説明する。対話データのコーパスとして、マイクロブログサービスであるツイッターのデータを用い、返信関係にあるツイートをペアとして収集してデータベース化し、このデータベースから共起の度合いを示す対数尤度比を関連度として算出することができる。図５に、見出し単語「ラーメン」について、関連度を再計算した関連語の一例を示す。図５では、対話データから算出した関連度である対数尤度比順で上位２０件を表示している。
【００３０】
第１の実施の形態では、ブログデータから抽出した約２００万の単語を見出し単語に持ち、見出し単語についての各関連語に、関連度として対数尤度比が付与された関連語辞書２２を用いる。関連語取得部１２は、関連語辞書２２を参照して取得した抽出単語の関連語を、単語入力部１１から受け渡された抽出単語と共に、発話検索部１３へ受け渡す。
【００３１】
発話検索部１３は、関連語取得部１２から受け渡された抽出単語及び関連語を用いて、発話データベース（ＤＢ）２３を検索する。例えば、抽出単語を必ず含む発話の中で、関連語が含まれている場合には検索結果のスコアにその関連語の対数尤度比の対数を加算したとき、スコアが大きくなるものから順にＬ件の発話を取得する。例えば、Ｌは１００とすることができる。対数尤度比の対数を用いるのは、対数尤度比が非常に大きくなる場合があるための措置である。このように検索することで、関連度の高い関連語をなるべく多く含む発話を発話ＤＢ２３から取得することができる。
【００３２】
発話ＤＢ２３としては、例えば、ツイッターのデータを収集し、収集したデータを句点及び記号によって文に分割した上で、一文を一つの発話を示す一レコードとして登録したものを用いることができる。発話ＤＢ２３は、全文検索が可能なように、転置インデックスを保持することができる。このような発話ＤＢ２３の構築には、一般的な全文検索エンジンのデータベースを構築する手順を用いることができ、例えば、フリーソフトのＬｕｃｅｎｅやＮａｍａｚｕなどを用いて構築することができる。
【００３３】
図６に、抽出単語「ラーメン」及びその関連語を用いた検索クエリの一例を示す。図６の例は、Ｌｕｃｅｎｅによる検索クエリの書式を用いている。空白区切りのそれぞれが検索条件であり、「ｃｏｎｔｅｎｔ：麺＾９．１７０９５９」は発話の内容（ｃｏｎｔｅｎｔ）に「麺」という単語が入っている場合には、９．１７０９５９のスコア（「麺」の対数尤度比の対数）が付与されることを表している。「＋ｃｏｎｔｅｎｔ：“ラーメン”」のようにプラスから始まる検索条件は必須条件を表し、これは「ラーメン」という抽出単語を必ず含むという条件を表す。
【００３４】
図６に示す検索クエリを用いて発話ＤＢ２３を検索した場合の検索結果の上位１０件の一例を図７に示す。抽出単語「ラーメン」と特に関連する発話のみが検索されていることが分かる。図７中の「検索結果のスコア」は、取得した発話に含まれる関連語の対数尤度比の対数の総和である。発話検索部１３は、取得した発話集合をフィルタリング部１４に受け渡す。
【００３５】
フィルタリング部１４は、発話検索部１３から受け渡された発話集合に対してフィルタリングを行う。発話検索部１３によって取得された発話集合に含まれる発話の各々は、抽出単語との関連が比較的高い発話であるが、さらに抽出単語に関連した発話だけを残すための処理である。
【００３６】
具体的には、フィルタリング部１４は、発話集合に含まれる各発話に対して形態素解析を行う。形態素解析には、形態素解析器として、ＮＴＴのＪＴＡＧ、フリーソフトのＣｈａＳｅｎ、Ｍｅｃａｂなどを用いることができる。フィルタリング部１４は、形態素解析結果から、内容語（名詞、動詞、形容詞、及び未知語）を抽出し、抽出した内容語を、抽出単語、関連語、ストップワード、及びそれ以外の単語に分類する。そして、フィルタリング部１４は、それ以外の単語に分類した単語が含まれる発話を発話集合から除外する。
【００３７】
ここでは、ストップワードに対応するものとして、動詞及び形容詞である用言を用いる。用言は体言（名詞）と異なり、発話内容に大きく影響を与えない単語である。なお、用言以外にも、発話内容に影響を与えないような補助名詞（「こと」や「もの」など）などをストップワードに含めてもよい。フィルタリング部１４は、フィルタリングした発話集合をクラスタリング部１５へ受け渡す。
【００３８】
クラスタリング部１５は、フィルタリング部１４から受け渡された発話集合に含まれる各発話を、各発話に含まれる品詞が名詞の関連語、または発話に品詞が名詞の関連語が含まれていない場合はストップワードによってクラスタリングする。図８に、抽出単語「ラーメン」について取得及びフィルタリングされた発話をクラスタリングした結果の一例を示す。なお、図８のクラスタリング結果には、「食べ」が関連語に含まれているが、これは形態素解析誤りによって「食べ」の品詞が「名詞」とされたためである。サ変名詞（動作性名詞）は動詞として扱う。
【００３９】
発話に品詞が名詞の関連語が含まれていない場合は、発話に含まれるストップワードによってクラスタリングを行う。例えば、「ラーメンうまい」、「ラーメン美味しい」といった、抽出単語に対して特に意味内容が変更されないような発話からなるクラスタが得られる。これらはそれぞれ「うまい」及び「美味しい」という用言を持つクラスタに分類される。クラスタリング部１５は、クラスタリング結果を発話候補選択部１６へ受け渡す。
【００４０】
発話候補選択部１６は、クラスタリング部１５から受け渡されたクラスタリング結果に基づいて、３つの発話集合を作成する。一つ目は、関連語が含まれるクラスタにおいて、そのクラスタの代表的な発話が、対話履歴記憶部２１に保存されたユーザの直前の発話に含まれる内容語を含んでいる場合に、その発話を抽出することで得られる発話集合である。この発話集合を以下では「集合１」という。なお、ユーザの直前の発話に含まれる内容語は、対話履歴記憶部２１に保存されたユーザの直前の発話を読み出して、ユーザの直前の発話に対して形態素解析を行い、形態素解析結果から抽出することができる。二つ目は、二発話以上の複数の発話を持つクラスタから代表的な発話を一つずつ抽出することで得られる発話集合である。この発話集合を以下では「集合２」という。三つ目は、全てのクラスタの各々から代表的な発話を一つずつ抽出することで得られる発話集合である。この発話集合を以下では「集合３」という。
【００４１】
各クラスタの代表的な発話の抽出法としてはどのような方法を用いてもよい。例えば、クラスタ内で最も短い発話をそのクラスタの代表的な発話とすることができる。最も短い発話は最も簡潔な文であり、そのクラスタの内容を密に含んでいると考えられるからである。最も短い発話を用いる以外にも、重要文選択で一般的に用いられるＴＦＩＤＦ（ＴＦ：Term Frequency、ＩＤＦ：Inverse Document Frequency）などの基準に基づいて、各クラスタの代表的な発話を抽出してもよい。
【００４２】
発話候補選択部１６は、３つの発話集合を作成した上で、集合１が空集合でない場合は、集合１を発話候補集合として選択する。集合１が空集合の場合は集合２を発話候補集合として選択する。集合１も集合２も空集合の場合は、集合３を発話候補集合として選択する。この順で発話候補集合を選択することにより、直前のユーザ発話に応じた応答を返すことが可能であり、また、集合１が空の場合でも、集合２のように複数の発話が含まれているクラスタからの発話を優先的に選択することによって、話題（抽出単語）についてよく話されている内容の発話を選択することができる。集合１及び集合２が空の場合は、集合３を用いることで、抽出単語に関連した何らかの発話を選択することができる。
【００４３】
発話候補選択部１６は、選択した発話候補集合を出力する。なお、集合１〜３の全てが空集合の場合には、発話候補選択部１６は、選択結果として空集合を出力する。
【００４４】
次に、第１の実施の形態に係る発話選択装置１０の作用について説明する。上述した関連語辞書２２及び発話ＤＢ２３が用意された状態で、発話選択装置１０に抽出単語及び対話履歴が入力されると、発話選択装置１０において、図９に示す発話選択処理が実行される。
【００４５】
発話選択処理のステップ１００で、単語入力部１１が、入力された抽出単語及び対話履歴を受け取り、受け取った抽出単語を関連語取得部１２へ受け渡すと共に、対話履歴を対話履歴記憶部２１に記憶する。
【００４６】
次に、ステップ１０２で、関連語取得部１２が、単語入力部１１から受け渡された抽出単語の関連語を、複数の単語の各々に対する関連語が収録された関連語辞書２２を参照して取得する。関連語取得部１２は、取得した関連語を、単語入力部１１から受け渡された抽出単語と共に、発話検索部１３へ受け渡す。
【００４７】
次に、ステップ１０４で、発話検索部１３が、関連語取得部１２から受け渡された抽出単語及び関連語による検索クエリを用いて、発話ＤＢ２３を検索し、抽出単語を含む発話であって、発話に含まれる関連語の関連度に応じたスコア順にＬ件の発話を取得する。発話検索部１３は、取得した発話集合をフィルタリング部１４に受け渡す。
【００４８】
次に、ステップ１０６で、フィルタリング部１４が、発話検索部１３から受け渡された発話集合に含まれる各発話に対して形態素解析を行い、形態素解析結果から、内容語を抽出し、抽出した内容語を、抽出単語、関連語、ストップワード、及びそれ以外の単語に分類する。そして、フィルタリング部１４は、それ以外の単語に分類した単語が含まれる発話を発話集合から除外する。フィルタリング部１４は、フィルタリングした発話集合をクラスタリング部１５へ受け渡す。
【００４９】
次に、ステップ１０８で、クラスタリング部１５が、フィルタリング部１４から受け渡された発話集合に含まれる各発話を、各発話に含まれる品詞が名詞の関連語、または発話に品詞が名詞の関連語が含まれていない場合はストップワードによってクラスタリングする。クラスタリング部１５は、クラスタリング結果を発話候補選択部１６へ受け渡す。
【００５０】
次に、ステップ１１０で、発話候補選択部１６が、クラスタリング部１５から受け渡されたクラスタリング結果に基づいて、関連語が含まれるクラスタの代表的な発話のうち、対話履歴記憶部２１に保存されたユーザの直前の発話に含まれる内容語を含む発話を抽出した発話集合（集合１）を作成する。また、発話候補選択部１６が、二発話以上の複数の発話を持つクラスタから代表的な発話を一つずつ抽出した発話集合（集合２）を作成する。また、発話候補選択部１６が、全てのクラスタの各々から代表的な発話を一つずつ抽出した発話集合（集合３）を作成する。
【００５１】
次に、ステップ１１２で、発話候補選択部１６が、集合１が空集合か否かを判定する。集合１が空集合でない場合には、ステップ１１４へ移行し、発話候補選択部１６が、集合１を発話候補集合として選択して出力する。集合１が空集合の場合には、ステップ１１６へ移行し、発話候補選択部１６が、集合２が空集合か否かを判定する。集合２が空集合でない場合には、ステップ１１８へ移行して、発話候補選択部１６が、集合２を発話候補として選択して出力する。集合２が空集合の場合には、ステップ１２０へ移行し、発話候補選択部１６が、集合３が空集合か否かを判定する。集合３が空集合でない場合には、ステップ１２２へ移行して、発話候補選択部１６が、集合３を発話候補として選択して出力する。集合３が空集合の場合には、ステップ１２４へ移行し、発話候補選択部１６が、空集合を出力し、発話選択処理を終了する。
【００５２】
以上説明したように、第１の実施の形態に係る発話選択装置によれば、抽出単語と抽出単語の関連語とを検索クエリとして検索された発話集合から発話を選択するため、対話システムで用いる発話として、質の高い発話を低コストで選択することができる。
【００５３】
＜第２の実施の形態＞
次に、第２の実施の形態について説明する。第２の実施の形態に係る対話装置２０は、ＣＰＵと、ＲＡＭと、対話処理を実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成される。このコンピュータは、機能的には、図１０に示すように、発話受付部２５、発話候補集合選択部２６、及び発話出力部２７を含んだ構成で表すことができる。発話候補集合選択部２６には、第１の実施の形態に係る発話選択装置１０を構成する各部が含まれる。すなわち、第２の実施の形態に係る対話装置２０は、第１の実施の形態に係る発話選択装置１０を組み込んだ対話装置である。
【００５４】
発話受付部２５は、ユーザの発話を入力として受け取る。ユーザの発話は音声データとして入力されてもよい。ユーザの発話が音声データとして入力される場合には、発話受付部２５は、受け取った音声データであるユーザの発話を、音声認識によりテキスト化する。発話受付部２５は、ユーザの発話を示すテキストデータに対して形態素解析を行い、発話中に含まれる品詞が名詞の単語を抽出する。品詞が名詞の単語が複数存在する場合には、その中から一つを選択する。一つを選択する方法は、例えば、受け付けたユーザの発話の一番最後に出現する品詞が名詞の単語を選択するなど、予め定めたルールに従って選択することができる。そして、抽出した単語及び直前のユーザの発話を発話候補集合選択部２６へ受け渡す。
【００５５】
発話候補集合選択部２６は、第１の実施の形態に係る発話選択装置１０と同様に、発話候補集合を選択して出力する。
【００５６】
発話出力部２７は、発話候補集合選択部２６から出力された発話候補集合から一つの発話をランダムに選択し、ユーザにシステム発話として出力する。なお、発話候補集合選択部２６から空集合が返された場合には、別途、発話候補が得られない場合の発話のリストを用意しておき、その中から一つ以上の発話を選択して出力する。
【００５７】
例えば、対話装置２０において、以下の様な対話がユーザとシステムとの間で実現できる。最初の「こんにちは」はシステムのプロンプト（初期発話）である。「ラーメン」が抽出単語として発話候補集合選択部２６に入力され、その結果得られる発話候補集合から発話が選択され、雑談が実現されている。「幸楽苑のラーメンは美味しいよ」はユーザの直前発話に「美味しい」があるため、優先的に発話候補とされたものである。
【００５８】
対話システム（ｓｙｓｔｅｍ）とユーザ（ｙｏｕ）の対話例：
［ｓｙｓｔｅｍ］：こんにちは
［ｙｏｕ］：ラーメンが好きなんです。
［ｓｙｓｔｅｍ］：ラーメンは味噌ラーメンですよね
［ｙｏｕ］：そうだね。
［ｓｙｓｔｅｍ］：ラーメン食べたいな
［ｙｏｕ］：美味しいよね
［ｓｙｓｔｅｍ］：幸楽苑のラーメンは美味しいよ
［ｙｏｕ］：本当ですか？
【００５９】
このように、第１の実施の形態に係る発話選択装置を対話装置に組み込むことで、種々の話題について、低コストで質の高い発話を行う雑談対話システムが実現できる。雑談は人間同士では会話の潤滑油として用いられる。質の高い雑談を実現可能にすることによって、人間とシステムとのやりとりがより円滑になり、コンピュータとユーザとの共同作業の効率が高まる。
【００６０】
なお、第２の実施の形態では、対話装置に発話選択装置が組み込まれた構成について説明したが、発話受付部及び発話出力部を含む対話装置と、対話装置の外部装置として構成された発話選択装置との間で通信を行って、ユーザから受け付けた発話に対する応答を出力する対話システムとして構成してもよい。
【００６１】
また、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００６２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００６３】
１０   発話選択装置
１１   単語入力部
１２   関連語取得部
１３   発話検索部
１４   フィルタリング部
１５   クラスタリング部
１６   発話候補選択部
２０   対話装置
２１   対話履歴記憶部
２２   関連語辞書
２３   発話データベース
２５   発話受付部
２６   発話候補集合選択部
２７   発話出力部
【図１】
2014219872.tif 000004
【図２】
2014219872.tif 000005
【図３】
2014219872.tif 000006
【図４】
2014219872.tif 000007
【図５】
2014219872.tif 000008
【図６】
2014219872.tif 000009
【図７】
2014219872.tif 000010
【図８】
2014219872.tif 000011
【図９】
2014219872.tif 000012
【図１０】
2014219872.tif 000013