(57)【特許請求の範囲】
【請求項１】
コンピュータに、
複数の名詞のそれぞれの知名度を示す知名度情報を参照し、
入力された文字列から抽出した名詞の知名度を前記知名度情報に基づいて取得し、
取得した前記知名度が第１の閾値以下である場合、複数の前記名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、
抽出した前記名詞の上位語を前記上位語情報に基づいて取得し、
前記知名度情報と取得した前記上位語の知名度に基づいて、前記文字列の入力元に返す文字列に含める上位語を決定する、
処理を実行させることを特徴とする上位語選択プログラム。
【請求項２】
前記決定する処理は、
複数の前記名詞のそれぞれが文書に出現した際に前記名詞のそれぞれとは異なる他の名詞が前記文書に出現する度合いを示す共起度情報と前記知名度情報とを参照し、
取得した前記上位語と前記名詞との共起度および前記上位語の知名度に基づいて、前記入力元に返す文字列に含める上位語を決定する、
ことを特徴とする請求項１に記載の上位語選択プログラム。
【請求項３】
前記決定する処理は、
前記共起度情報と前記知名度情報とを参照して、取得した前記上位語と前記名詞との共起度が第２の閾値より大きく、かつ、前記上位語の知名度が前記第１の閾値より大きければ、取得した前記上位語を前記入力元に返す文字列に含める上位語として決定する、
ことを特徴とする請求項２に記載の上位語選択プログラム。
【請求項４】
前記決定する処理は、
取得した前記上位語が複数ある場合、取得した複数の上位語のうち、前記名詞との共起度が前記第２の閾値より大きく、かつ、知名度が前記第１の閾値より大きい上位語がなければ、前記複数の上位語のうちの前記名詞との共起度が前記第２の閾値より大きい上位語の中から、知名度が最も大きい上位語を、前記入力元に返す文字列に含める上位語として決定する、
ことを特徴とする請求項３に記載の上位語選択プログラム。
【請求項５】
前記コンピュータは、
入力された前記文字列より前に入力された前の文字列から抽出した名詞を記憶しており、
前記決定する処理は、
前記共起度情報と前記知名度情報とを参照して、取得した前記上位語と前記名詞との共起度が前記第２の閾値より大きく、かつ、前記上位語の知名度が前記第１の閾値より大きく、かつ、前記上位語と前記前の文字列から抽出した名詞とが一致しなければ、取得した前記上位語を前記入力元に返す文字列に含める上位語として決定する、
ことを特徴とする請求項３または４に記載の上位語選択プログラム。
【請求項６】
前記第２の閾値は、２つの名詞が共起するか否かを判定する値であることを特徴とする請求項３〜５のいずれか一つに記載の上位語選択プログラム。
【請求項７】
前記第１の閾値は、名詞が知名か否かを判定する値であることを特徴とする請求項１〜６のいずれか一つに記載の上位語選択プログラム。
【請求項８】
複数の名詞のそれぞれの知名度を示す知名度情報を参照し、
入力された文字列から抽出した名詞の知名度を前記知名度情報に基づいて取得し、
取得した前記知名度が第１の閾値以下である場合、複数の前記名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、
抽出した前記名詞の上位語を前記上位語情報に基づいて取得し、
前記知名度情報と取得した前記上位語の知名度に基づいて、前記文字列の入力元に返す文字列に含める上位語を決定する、
制御部を有することを特徴とする上位語選択装置。
【請求項９】
コンピュータが、
複数の名詞のそれぞれの知名度を示す知名度情報を参照し、
入力された文字列から抽出した名詞の知名度を前記知名度情報に基づいて取得し、
取得した前記知名度が第１の閾値以下である場合、複数の前記名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、
抽出した前記名詞の上位語を前記上位語情報に基づいて取得し、
前記知名度情報と取得した前記上位語の知名度に基づいて、前記文字列の入力元に返す文字列に含める上位語を決定する、
処理を実行することを特徴とする上位語選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位語選択プログラム、上位語選択装置、および上位語選択方法に関する。
【背景技術】
【０００２】
従来、ユーザの発話に対して問い返す、対話システムがある。ユーザの発話に対して対話システムが適切に問い返すことにより、対話システム側の理解をユーザに伝え、理解の誤りに気付かせるといった、ユーザと対話システムとでの文脈の共有に役立たせることができる。また、文脈の共有の一つの技術として、ユーザの発話に含まれる名詞に対して、その名詞の上位概念の名詞となる上位語を付与して問い返すものがある。
【０００３】
関連する先行技術として、例えば、自然な質問をさせるために、ユーザから入力された文字列中の名詞を、検索エンジンを利用して検索し、ヒットした件数が所定の閾値を超えた場合には、常識的な語として質問しないものがある。また、ユーザから入力された文字列に含まれる名詞に対して複数の上位語があれば、複数の上位語のうちのいずれが正しいのかユーザに選択させるような問い返し文を生成する技術がある。また、入力された発話に含まれる概念を、上位概念と下位概念の対応関係を記憶した概念データベースに記憶された対応関係に基づいて下位概念に置き換えることにより、発話の内容よりも詳細な内容の応答を生成し、生成した応答を出力する技術がある。また、入力した正規地名に基づき知名度を取得し、一意となる上位階層の地名部分を省いた地名の知名度が他地名の知名度の和より大きければ、入力したキーワードを含み、その地名を検索対象として抽出した地名を少なくとも一つ含む文書を検索する技術がある。また、絞り込み質問生成要求を受けて、その時点での確度分布状況を分析し、他の領域と比較して確度が高い領域に注目し、それらの近傍に存在する知名度の高い目標物を地図情報から抽出し、その目標物との位置関係を問う質問内容を生成する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５２６３７号公報
【特許文献２】特開２０１３−８０４０５号公報
【特許文献３】特開平１１−２６５１４１号公報
【非特許文献】
【０００５】
【非特許文献１】鳥澤健太郎  「一般ユーザにインタビューする対話エージェント」社団法人  情報処理学会  研究報告、２００７、ｐｐ２５−３０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術によれば、自然な会話を成立させるために、ユーザから入力された文字列に含まれる名詞に対する複数の上位語のうち、どの上位語を選択すればよいのか決定することが困難である。また、複数の上位語から上位語を選択せずに、どの上位語が正しいのかユーザに選択させるような問い返しを行うと、自然でない会話になる場合がある。
【０００７】
１つの側面では、本発明は、ユーザから入力された文字列に含まれる名詞に対して、適切な上位語を選択することができる上位語選択プログラム、上位語選択装置、および上位語選択方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、複数の名詞のそれぞれの知名度を示す知名度情報を参照し、入力された文字列から抽出した名詞の知名度を知名度情報に基づいて取得し、取得した知名度が第１の閾値以下である場合、複数の名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、抽出した名詞の上位語を上位語情報に基づいて取得し、知名度情報と取得した上位語の知名度に基づいて、文字列の入力元に返す文字列に含める上位語を決定する上位語選択プログラム、上位語選択装置、および上位語選択方法が提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、ユーザから入力された文字列に含まれる名詞に対して、適切な上位語を決定することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施の形態にかかる上位語選択装置１０１の動作例を示す説明図である。
【図２】図２は、上位語選択装置１０１のハードウェア構成例を示す説明図である。
【図３】図３は、上位語選択装置１０１の機能構成例を示す説明図である。
【図４】図４は、知名度辞書３２１の作成例を示す説明図である。
【図５】図５は、共起度辞書３２２の生成例を示す説明図である。
【図６】図６は、実施例１における上位語選択例を示す説明図である。
【図７】図７は、知名度辞書３２１だけでは適切な上位語選択が難しい例を示す説明図である。
【図８】図８は、実施例２における上位語選択例を示す説明図である。
【図９】図９は、共起度辞書３２２だけでは適切な上位語選択が難しい例を示す説明図である。
【図１０】図１０は、実施例３における上位語選択処理手順の一例を示すフローチャート（その１）である。
【図１１】図１１は、実施例３における上位語選択処理手順の一例を示すフローチャート（その２）である。
【図１２】図１２は、実施例３における上位語選択の第１例を示す説明図である。
【図１３】図１３は、実施例３における上位語選択の第２例を示す説明図である。
【図１４】図１４は、実施例３における上位語選択の第３例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、開示の上位語選択プログラム、上位語選択装置、および上位語選択方法の実施の形態を詳細に説明する。
【００１２】
図１は、本実施の形態にかかる上位語選択装置１０１の動作例を示す説明図である。上位語選択装置１０１は、対話システムのサービスを提供するコンピュータである。上位語選択装置１０１は、例えば、パーソナル・コンピュータである。具体的には、上位語選択装置１０１は、ユーザにより入力された発話に含まれる名詞の上位語を選択する。ここで、ユーザにより入力された発話に含まれる名詞は、例えば、場所、人、物である。以下、発話に含まれる名詞を、「エンティティ」と呼称する。そして、上位語選択装置１０１は、選択した上位語を用いてユーザへの問い返す文字列を生成し、生成した文を音声として出力することで、ユーザへ問い返す。ユーザへの問い返す文字列を、「問い返し文」と称する。
【００１３】
ここで、上位語とは、あるエンティティの上位概念のエンティティである。具体的には、エンティティＡとエンティティＢとの間に、「エンティティＡ  ｉｓ−ａ  エンティティＢ」または「エンティティＢ  ｈａｓ−ａ  エンティティＡ」の関係が成り立つとする。この場合、エンティティＢはエンティティＡの上位語となり、エンティティＡはエンティティＢの下位語となる。
【００１４】
例えば、「エンティティＡ  ｉｓ−ａ  エンティティＢ」の例としては、「「柴犬」  ｉｓ−ａ  「犬」」、「「緑茶」  ｉｓ−ａ  「お茶」」、「「ボールペン」  ｉｓ−ａ  「ペン」」である。このように、「エンティティＡ  ｉｓ−ａ  エンティティＢ」では、エンティティＢが、エンティティＡの上位概念となる。また、「エンティティＢ  ｈａｓ−ａ  エンティティＡ」の例としては、「「神奈川県」  ｈａｓ−ａ  「川崎市」」、「「人間」  ｈａｓ−ａ  「足」」である。このように、「エンティティＢ  ｈａｓ−ａ  エンティティＡ」では、エンティティＡが、エンティティＢの一部分となる。
【００１５】
ここで、事実や常識、経験などの知識をコンピュータが解読できる形にしてデータベースにした知識ベースから、エンティティの上位語を取得して、そのまま付与すると、不自然な会話になることがある。例えば、以下のように、対話システムとユーザとが会話したとする。
【００１６】
対話システム：こんにちは、今日はどちらまで？
ユーザ：パリに行きます。
対話システム：フランスのパリですか？
ユーザ：…
【００１７】
この場合、「パリ」が「フランスのパリ」であることは、常識的な内容であるため、聞き返すことは不自然である。また、知識ベースから、エンティティの上位語を取得して、そのまま付与すると、ユーザが既に発言した単語を聞き返してしまう場合もある。
【００１８】
そこで、自然な質問をさせるために、ユーザから入力された文字列中の名詞を、検索エンジンを利用して検索し、ヒットした件数が所定の閾値を超えた場合には、常識的な語として質問しない技術がある。また、この技術では、ユーザから入力された文字列に含まれる名詞に対して複数の上位語があれば、複数の上位語のうちいずれが正しいのかユーザに選択させるような問い返し文を生成する。
【００１９】
しかしながら、自然な会話を成立させるために、ユーザから入力された文字列に含まれる名詞に対する複数の上位語のうち、どの上位語を選択すればよいのか決定することが困難である。上述した技術では、複数の上位語がある場合には、複数の上位語のうちいずれが正しいのかユーザに選択させるような問い返しを行うが、この場合、自然でない会話になる場合がある。例えば、ユーザが「イーチャンに行ってきたよ」と発話した場合、対話システムは、「イーチャン」の上位語となる「湖北省」と「中国」とを検出し、「湖北省のイーチャンですか、それとも中国のイーチャンですか？」という問い返しを行うため、自然でない会話となる。
【００２０】
そこで、本実施の形態では、ユーザの入力文内のエンティティの知名度が低く、そのエンティティの上位語の知名度が高ければ、その上位語をユーザへの問い返し文に含める語に決定することについて説明する。知名度が高い上位語は、ユーザが知っている可能性が高く、文脈の共有に有効な語となる。
【００２１】
図１を用いて、上位語選択装置１０１の動作例について説明する。図１の例では、上位語選択装置１０１は、ユーザｕと対話する。上位語選択装置１０１は、マイク１０２と、スピーカ１０３とを有する。マイク１０２は、音を電気信号に変換する機器である。例えば、ユーザｕがマイク１０２に対して発話することにより、マイク１０２は、ユーザの発話を電気信号に変換する。スピーカ１０３は、電気信号に基づいて音を発生させる機器である。スピーカ１０３が音を発生させることにより、ユーザｕは、上位語選択装置１０１からの発話を聞くことができる。
【００２２】
まず、図１の（１）で示すように、ユーザｕは、マイク１０２に対して「イーチャンに行ってきたよ」と発話する。マイク１０２が発話を検出すると、図１の（２）で示すように、マイク１０２は、ユーザｕの発話を電気信号に変換し、上位語選択装置１０１は、変換した電気信号から、音声認識を行い、「イーチャンに行ってきたよ」という文字列１１０を得る。次に、図１の（３）で示すように、上位語選択装置１０１は、文字列１１０から、エンティティ「イーチャン」を抽出する。
【００２３】
そして、図１の（４）で示すように、上位語選択装置１０１は、知名度情報１１１を参照して、抽出したエンティティ「イーチャン」の知名度を取得する。ここで、知名度情報１１１は、複数の名詞のそれぞれの知名度を示す。複数の名詞のそれぞれは、エンティティに対応する。知名度は、値が大きい程そのエンティティの知名の度合いが高いことを示す値でもよいし、値が小さい程そのエンティティの知名の度合いが高いことを示す値でもよい。以下の例では、知名度は、値が大きい程そのエンティティの知名の度合いが高いことを示す値であるとする。また、上位語選択装置１０１は、予め知名度情報１１１を記憶していてもよいし、エンティティを抽出した際に、検索エンジンを利用してＷｅｂページ等を知名度情報として検索し、知名度として検索して得られたヒット数を取得してもよい。図１に示す知名度情報１１１は、「イーチャン」の知名度が１０９であり、「湖北省」の知名度が２２５０であり、「中国」の知名度が７４０００であることを示す。
【００２４】
図１の例では、上位語選択装置１０１は、抽出した「イーチャン」の知名度として１０９を取得する。
【００２５】
次に、図１の（５）で示すように、上位語選択装置１０１は、「イーチャン」の知名度が第１の閾値以下か否かを判断する。第１の閾値は、エンティティが知名か否かを判定する値である。第１の閾値は、例えば、上位語選択装置１０１の管理者によって設定される。以下、第１の閾値を、「知名度閾値」と称し、値を５０００とする。図１の例では、「イーチャン」の知名度が知名度閾値を超えていないため、続けて、上位語選択装置１０１は、上位語情報１１２を参照して、抽出したエンティティの上位語を取得する。
【００２６】
ここで、上位語情報１１２は、複数のエンティティのそれぞれの上位語を示す。なお、上位語選択装置１０１は、上位語情報１１２の代わりに、複数のエンティティのそれぞれの下位概念となる下位語を記憶していてもよい。図１の例では、上位語情報１１２は、レコード１１２＿１、２を有する。そして、レコード１１２＿２は、「イーチャン」の上位語として「湖北省」を記憶しており、レコード１１２＿１は、「湖北省」の上位語として「中国」を記憶している。
【００２７】
そして、上位語選択装置１０１は、上位語情報１１２を参照して、抽出したエンティティの１つ上の上位語だけを取得してもよいし、抽出したエンティティの全ての上位語を取得してもよい。図１の例では、図１の（６）で示すように、上位語選択装置１０１は、上位語情報１１２を参照して、抽出したエンティティ「イーチャン」の１つ上の上位語「湖北省」を取得する。
【００２８】
次に、上位語選択装置１０１は、知名度情報１１１を参照して、取得した上位語の知名度に基づいて、問い返し文に含める上位語を決定する。例えば、抽出したエンティティの１つ上の上位語だけを取得した場合、上位語選択装置１０１は、取得した上位語の知名度が知名度閾値を超えていれば、取得した上位語を問い返し文に含めると決定し、超えていなければ、更なる上位語を取得する。また、抽出したエンティティの全ての上位語を取得した場合、上位語選択装置１０１は、取得した全ての上位語の知名度のうち、知名度が最も大きい上位語を、問い返し文に含めるとして選択してもよい。図１の例では、前者の方法により問い返し文に含める上位語を決定する例を説明する。
【００２９】
上位語選択装置１０１は、図１の（７）で示すように、「湖北省」の知名度として２２５０を取得する。そして、上位語選択装置１０１は、図１の（８）で示すように、「湖北省」の知名度が知名度閾値以下か否かを判断する。図１の例では、「湖北省」の知名度が知名度閾値を超えていないため、続けて、図１の（９）で示すように、上位語選択装置１０１は、上位語情報１１２を参照して、「湖北省」の上位語「中国」を取得する。
【００３０】
次に、上位語選択装置１０１は、図１の（１０）で示すように、「中国」の知名度として７４０００を取得する。そして、上位語選択装置１０１は、図１の（１１）で示すように、「中国」の知名度が知名度閾値以下か否かを判断する。図１の例では、「中国」の知名度が知名度閾値を超えているため、上位語選択装置１０１は、入力元となるユーザｕに返す文字列に含める上位語として「中国」を決定する。
【００３１】
そして、上位語選択装置１０１は、図１の（１２）で示すように、ユーザｕに返す文字列として問い返し文「中国のイーチャンですか？」を生成し、「中国のイーチャンですか？」を表す音が発するようにスピーカ１０３を制御する。
【００３２】
以上により、上位語選択装置１０１は、知名度が高く、ユーザが知る可能性が高い上位語で問い返すという、自然な会話を行うことができる。
【００３３】
なお、図１の説明では、上位語選択装置１０１は、音声認識を行っていたが、音声認識を行わず、例えば、ユーザがキーボード等から入力された文字列に対して、図１で説明した処理を行ってもよい。また、問い返し文についても、上位語選択装置１０１は、ディスプレイ等に、問い返し文を表示してもよい。次に、上位語選択装置１０１のハードウェア構成について、図２を用いて説明する。
【００３４】
（上位語選択装置１０１のハードウェア構成例）
図２は、上位語選択装置１０１のハードウェア構成例を示す説明図である。上位語選択装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ディスクドライブ２０４と、ディスク２０５と、通信インターフェース２０６とを含む。さらに、上位語選択装置１０１は、ディスプレイ２０７と、キーボード２０８と、マウス２０９と、機器接続インターフェース２１０と、マイク１０２と、スピーカ１０３とを含む。また、ＣＰＵ２０１〜ディスクドライブ２０４と、通信インターフェース２０６〜機器接続インターフェース２１０と、マイク１０２と、スピーカ１０３とは、バス２１３によってそれぞれ接続される。
【００３５】
ＣＰＵ２０１は、上位語選択装置１０１の全体の制御を司る演算処理装置である。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。
【００３６】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ２０４には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４が光ディスクドライブである場合、ディスク２０５には、光ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体ディスクを採用することができる。
【００３７】
通信インターフェース２０６は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース２０６には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００３８】
ディスプレイ２０７は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ２０７には、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３９】
キーボード２０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード２０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２０９は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス２０９は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００４０】
機器接続インターフェース２１０は、上位語選択装置１０１と周辺機器とを接続し、接続した周辺機器を制御する制御装置である。例えば、機器接続インターフェース２１０は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等を採用することができる。そして、機器接続インターフェース２１０には、例えば、機器接続インターフェース２１０がＵＳＢである場合にはＵＳＢフラッシュドライブ２２１や、メモリカードリーダライタ２２２を接続することができる。また、機器接続インターフェース２１０に、マイク１０２やスピーカ１０３が接続されてもよい。
【００４１】
ＵＳＢフラッシュドライブ２２１は、電力を供給しなくてもデータを保持可能な不揮発性の半導体メモリであるフラッシュメモリを内蔵し、フラッシュメモリの制御および機器接続インターフェース２１０との通信を行うドライブ装置を含めた装置である。メモリカードリーダライタ２２２は、メモリカード２２３に対するデータのリードおよびライトを制御する制御装置である。メモリカード２２３は、カード型の記録媒体である。メモリカード２２３には、フラッシュメモリが内蔵される。
【００４２】
（上位語選択装置１０１の機能構成例）
図３は、上位語選択装置１０１の機能構成例を示す説明図である。上位語選択装置１０１は、制御部３００を有する。制御部３００は、音声認識部３０１と、エンティティ抽出部３０２と、上位語選択部３０３と、発話文生成部３０４と、を含む。上位語選択部３０３は、取得部３１１と、決定部３１２とを含む。制御部３００は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、各部の機能を実現する。記憶装置とは、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５、ＵＳＢフラッシュドライブ２２１、メモリカード２２３などである。また、各部の処理結果は、ＲＡＭ２０３や、ＣＰＵ２０１のレジスタ、ＣＰＵ２０１のキャッシュメモリ等に格納される。
【００４３】
また、上位語選択装置１０１は、出現済みエンティティ保存部３２０、知名度辞書３２１、共起度辞書３２２、上位下位辞書３２３にアクセス可能である。出現済みエンティティ保存部３２０〜上位下位辞書３２３は、ＲＡＭ２０３、ディスク２０５といった記憶装置に格納される。出現済みエンティティ保存部３２０は、ユーザ発話から抽出したエンティティを記憶する。知名度辞書３２１は、図１で示した知名度情報１１１を有する。知名度辞書３２１の作成例と記憶内容とについては、図４で示す。
【００４４】
共起度辞書３２２は、複数のエンティティのそれぞれが文書に出現した際に、そのそれぞれのエンティティとは異なる他のエンティティが文書に出現する度合いを示す共起度情報を有する。前述の度合いを、「共起度」と称する。また、文書とは、例えば、Ｗｅｂページである。また、あるエンティティがある文書のある段落に出現した際に、同一の文あるいは同一の段落に含まれるエンティティだけを共起しているとしてもよいし、ある文書全体に含まれるエンティティだけを共起しているとしてもよい。また、共起度辞書３２２は、予め作成されていてもよい。または、上位語選択装置１０１は、エンティティを抽出した際に、Ｗｅｂページから、抽出したエンティティと他のエンティティが文書に出現する回数を計数し、知名度辞書３２１における抽出したエンティティの値で除することにより、知名度を算出してもよい。共起度辞書３２２の作成例と記憶内容については、図５で示す。上位下位辞書３２３は、図１で示した上位語情報１１２を有する。
【００４５】
音声認識部３０１は、マイク１０２から得られた音を変換した電気信号から、文字列を取得する。
【００４６】
エンティティ抽出部３０２は、音声認識部３０１が取得した文字列から、エンティティを抽出する。エンティティ抽出部３０２は、抽出したエンティティを、出現済みエンティティ保存部３２０に格納する。
【００４７】
上位語選択部３０３は、知名度辞書３２１〜上位下位辞書３２３を利用して、問い返し文に含める上位語を選択する。ここで、取得部３１１と、決定部３１２とを用いて、上位語選択部３０３のより詳細な説明を行う。
【００４８】
まず、知名度辞書３２１と上位下位辞書３２３とを用いた方法について説明する。取得部３１１は、知名度辞書３２１を参照して、入力された文字列から抽出したエンティティの知名度を取得する。そして、取得部３１１は、取得した知名度が知名度閾値以下である場合、上位下位辞書３２３を参照して、抽出したエンティティの上位語を取得する。
【００４９】
決定部３１２は、知名度辞書３２１を参照して、取得した上位語の知名度に基づいて、問い返し文に含める上位語を決定する。例えば、決定部３１２は、知名度が最も大きい上位語を、問い返し文に含める上位語として決定する。
【００５０】
次に、知名度辞書３２１〜上位下位辞書３２３を用いた方法について説明する。決定部３１２は、共起度辞書３２２と知名度辞書３２１とを参照して、取得した上位語とエンティティとの共起度および上位語の知名度に基づいて、文に含める上位語を決定する。例えば、決定部３１２は、共起度辞書３２２と知名度辞書３２１とを参照して、取得した上位語とエンティティとの共起度が第２の閾値より大きく、かつ、上位語の知名度が知名度閾値より大きければ、その上位語を問い返し文に含める上位語として決定してもよい。第２の閾値は、２つのエンティティが共起するか否かを判定する値である。第２の閾値は、上位語選択装置１０１の管理者によって設定される。以下、第２の閾値を、「共起度閾値」と称する。そして、共起度閾値は、０．２であるとする。
【００５１】
また、取得した上位語が複数ある場合、取得した複数の上位語のうち、抽出したエンティティとの共起度が共起度閾値より大きく、かつ、知名度が知名度閾値より大きい上位語がないこともあり得る。この場合、決定部３１２は、複数の上位語のうちの、抽出したエンティティとの共起度が共起度閾値より大きい上位語の中から、知名度が最も大きい上位語を、問い返し文に含める上位語として決定してもよい。
【００５２】
次に、出現済みエンティティ保存部３２０を用いた方法について説明する。出現済みエンティティ保存部３２０は、入力された文字列より前に入力された前の文字列から抽出したエンティティを記憶している。そして、決定部３１２は、知名度辞書３２１を参照して、上位語の知名度が知名度閾値より大きく、かつ取得した上位語と前の文字列から抽出したエンティティとが一致しなければ、取得した上位語を問い返し文に含める上位語として決定する。さらに、決定部３１２は、共起度辞書３２２を参照して、取得した上位語と抽出したエンティティとの共起度が共起度閾値より大きい場合に、取得した上位語を問い返し文に含める上位語として決定してもよい。
【００５３】
次に、事前処理として、知名度辞書３２１、共起度辞書３２２の作成例を、図４、図５を用いて説明する。
【００５４】
図４は、知名度辞書３２１の作成例を示す説明図である。上位語選択装置１０１は、Ｗｅｂページや過去の対話内容等から、名詞、名詞句の出現回数を計数することにより、知名度辞書３２１を作成する。図４に示す知名度辞書３２１は、レコード４０１＿１を有する。
【００５５】
図４の例では、Ｗｅｂページｗ１〜ｗ３を表示する。上位語選択装置１０１は、Ｗｅｂページｗ１〜ｗ３内の太字で示した「北京」、「イーチャン」、「中国」、「ハワイ」、「ロンドン」、「カーディフ」、「ウェールズ」の出現回数を計数し、知名度辞書３２１を作成する。
【００５６】
図５は、共起度辞書３２２の生成例を示す説明図である。上位語選択装置１０１は、知名度辞書３２１の作成と同時に、ある単語と共起、すなわち同時に出現している名詞・名詞句を計数し、出現回数で割ることにより、共起度辞書３２２を作成する。図５に示す共起度辞書３２２は、レコード５０１＿１〜３を有する。
【００５７】
図５の例では、上位語選択装置１０１は、Ｗｅｂページｗ１において、「イーチャン」が「北京」、「中国」と共起していると判定し、「北京」の「イーチャン」との共起回数と、「中国」の「イーチャン」との共起回数とをそれぞれ１増やす。同様に、上位語選択装置１０１は、Ｗｅｂページｗ１において、「北京」が、「イーチャン」、「中国」と共起していると判定し、「イーチャン」の「北京」との共起回数と、「中国」の「北京」との共起回数とをそれぞれ１増やす。
【００５８】
また、上位語選択装置１０１は、Ｗｅｂページｗ３において、「カーディフ」が「ロンドン」、「ウェールズ」と共起していると判定し、「ロンドン」の「カーディフ」との共起回数と、「ウェールズ」の「カーディフ」との共起回数とをそれぞれ１増やす。
【００５９】
そして、上位語選択装置１０１は、ある単語の別の単語との共起回数を、知名度辞書３２１で得られた別の単語の出現回数で割ることにより、共起度辞書３２２を得る。なお、図５で示す共起度は、８５／１０９等のように分数で表記されているが、上位語選択装置１０１は、共起度を小数で記憶してもよい。
【００６０】
また、上位下位辞書３２３は、例えば、上位語選択装置１０１の管理者の操作によって作成される。例えば、上位語選択装置１０１の管理者は、作成された共起度辞書３２２を参照して、共起度が一定以上の単語同士が上位語下位後の関係となるかを調べる。そして、上位語選択装置１０１は、上位語選択装置１０１の管理者の入力操作によって、上位下位辞書３２３を作成する。
【００６１】
（実施例１）
実施例１は、知名度を基準に上位語を選択する方法を実施する例である。知名度を基準に上位語を選択することにより、ユーザが知っている可能性が高い単語を上位語として選択することができる。
【００６２】
図６は、実施例１における上位語選択例を示す説明図である。図６では、知名度辞書３２１がレコード６０１＿１を有し、上位下位辞書３２３がレコード６０２＿１、２を有するものとする。また、ユーザ発話６１１が、中国の都市イーチャンに関するものであり、「イーチャンに行ってきたよ」という音声であるとする。
【００６３】
上位語選択装置１０１は、音声認識部３０１によって、ユーザ発話６１１を、文字列に変換する。そして、上位語選択装置１０１は、図６の（１）で示すように、エンティティ抽出部３０２によって、変換した文字列から、エンティティとして「イーチャン」を抽出する。次に、上位語選択装置１０１は、図６の（２）で示すように、上位語選択部３０３によって、知名度辞書３２１から「イーチャン」の知名度として１０９を取得する。そして、上位語選択装置１０１は、図６の（３）で示すように、上位語選択部３０３によって、「イーチャン」の知名度が知名度閾値を超えているか判断する。
【００６４】
図６の例では、「イーチャン」の知名度が知名度閾値を超えていないため、上位語選択装置１０１は、図６の（４）で示すように、上位語選択部３０３によって、レコード６０２＿２が示すように、「イーチャン」の上位語「湖北省」を取得する。次に、上位語選択装置１０１は、図６の（５）で示すように、上位語選択部３０３によって、知名度辞書３２１から「湖北省」の知名度として２２５０を取得する。そして、上位語選択装置１０１は、図６の（６）で示すように、上位語選択部３０３によって、「湖北省」の知名度が知名度閾値を超えているか判断する。
【００６５】
図６の例では、「湖北省」の知名度が知名度閾値を超えていないため、上位語選択装置１０１は、図６の（７）で示すように、レコード６０２＿１が示すように、「湖北省」の上位語「中国」を取得する。次に、上位語選択装置１０１は、図６の（８）で示すように、上位語選択部３０３によって、知名度辞書３２１から「中国」の知名度として７４０００を取得する。そして、上位語選択装置１０１は、図６の（９）で示すように、上位語選択部３０３によって、「中国」の知名度が知名度閾値を超えているか判断する。
【００６６】
図６の例では、「中国」の知名度が知名度閾値を超えているため、上位語選択装置１０１は、図６の（１０）で示すように、「イーチャン」の上位語として「中国」を出力する。
【００６７】
このように、実施例１では、知名度を基準に上位語を選択することにより、ユーザが知っている可能性が高い単語を上位語として選択することができるが、選択した上位語が、必ずしも上位語として適切でない場合がある。具体的には、概念的には上位の単語であったとしても、一緒に使うことは少ない単語を選択してしまう場合がある。このような場合となる例を、図７を用いて説明する。
【００６８】
図７は、知名度辞書３２１だけでは適切な上位語選択が難しい例を示す説明図である。
図７では、知名度辞書３２１がレコード７０１＿１を有し、上位下位辞書３２３がレコード７０２＿１〜３を有するものとする。また、ユーザ発話７１１が、キリバスという国の都市ベシオに関するものであり、具体的には、「ベシオに行ってきたよ」という音声であるとする。
【００６９】
上位語選択装置１０１は、音声認識部３０１によって、ユーザ発話７１１を、文字列に変換する。そして、上位語選択装置１０１は、図７の（１）で示すように、エンティティ抽出部３０２によって、変換した文字列から、エンティティとして「ベシオ」を抽出する。次に、上位語選択装置１０１は、図７の（２）で示すように、上位語選択部３０３によって、知名度辞書３２１から「ベシオ」の知名度として１３０を取得する。そして、上位語選択装置１０１は、図７の（３）で示すように、上位語選択部３０３によって、「ベシオ」の知名度が知名度閾値を超えているか判断する。
【００７０】
図７の例では、「ベシオ」の知名度が知名度閾値を超えていないため、上位語選択装置１０１は、図７の（４）で示すように、上位語選択部３０３によって、レコード７０２＿３が示すように、「ベシオ」の上位語「タラワ」を取得する。次に、上位語選択装置１０１は、図７の（５）で示すように、上位語選択部３０３によって、知名度辞書３２１から「タラワ」の知名度として８１０を取得する。そして、上位語選択装置１０１は、図７の（６）で示すように、上位語選択部３０３によって、「タラワ」の知名度が知名度閾値を超えているか判断する。
【００７１】
図７の例では、「タラワ」の知名度が知名度閾値を超えていないため、上位語選択装置１０１は、図７の（７）で示すように、レコード７０２＿２が示すように、「タラワ」の上位語「キリバス」を取得する。次に、上位語選択装置１０１は、図７の（８）で示すように、上位語選択部３０３によって、知名度辞書３２１から「キリバス」の知名度として１２００を取得する。そして、上位語選択装置１０１は、図７の（９）で示すように、上位語選択部３０３によって、「キリバス」の知名度が知名度閾値を超えているか判断する。
【００７２】
図７の例では、「キリバス」の知名度が知名度閾値を超えていないため、上位語選択装置１０１は、図７の（１０）で示すように、レコード７０２＿１が示すように、「キリバス」の上位語「オセアニア」を取得する。次に、上位語選択装置１０１は、図７の（１１）で示すように、上位語選択部３０３によって、知名度辞書３２１から「オセアニア」の知名度として８５８０を取得する。そして、上位語選択装置１０１は、図７の（１２）で示すように、上位語選択部３０３によって、「オセアニア」の知名度が知名度閾値を超えているか判断する。
【００７３】
図７の例では、「オセアニア」の知名度が知名度閾値を超えているため、上位語選択装置１０１は、図７の（１３）で示すように、「ベシオ」の上位語として「オセアニア」を出力する。このように、都市の上位語としては不適切と考えられるオセアニアが出力されることになる。
【００７４】
（実施例２）
実施例２では、共起度を基準に上位語を選択する方法を実施する例である。共起度を基準に上位語を選択することにより、上位語として自然な単語を選択することができる。
【００７５】
図８は、実施例２における上位語選択例を示す説明図である。図８では、共起度辞書３２２がレコード８０１＿１を有し、上位下位辞書３２３がレコード８０２＿１〜３を有するものとする。また、ユーザ発話８１１が、「ベシオに行ってきたよ」という音声であるとする。
【００７６】
上位語選択装置１０１は、音声認識部３０１によって、ユーザ発話８１１を、文字列に変換する。そして、上位語選択装置１０１は、図８の（１）で示すように、エンティティ抽出部３０２によって、変換した文字列から、エンティティとして「ベシオ」を抽出する。次に、上位語選択装置１０１は、図８の（２）で示すように、上位語選択部３０３によって、上位下位辞書３２３をたどり、上位語候補として、「タラワ」、「キリバス」、「オセアニア」を取得する。そして、上位語選択装置１０１は、図８の（３）で示すように、取得した各上位語候補の「ベシオ」との共起度として、それぞれ、８０／１３０、９１／１３０、８／１３０を取得する。次に、上位語選択装置１０１は、図８の（４）で示すように、取得した各上位語候補の「ベシオ」との共起度が共起度閾値を超えているか判断する。
【００７７】
図８の例では、「タラワ」、「キリバス」それぞれの共起度が共起度閾値を超えているため、図８の（５）で示すように、上位語選択装置１０１は、「タラワ」、「キリバス」のうち、共起度が最も高い「キリバス」を選択する。そして、上位語選択装置１０１は、図８の（６）で示すように、選択した「キリバス」を上位語として出力する。
【００７８】
このように、実施例２では、共起度を基準に上位語を選択することにより、上位語として自然な単語を選択することができるが、知名度が低い、すなわち、ユーザが知っている可能性が低い単語を選択してしまう場合がある。このような場合となる例を、図９を用いて説明する。
【００７９】
図９は、共起度辞書３２２だけでは適切な上位語選択が難しい例を示す説明図である。図９では、共起度辞書３２２がレコード９０１＿１、２を有し、上位下位辞書３２３がレコード９０２＿１、２を有するものとする。また、ユーザ発話９１１が、「イーチャンに行ってきたよ」という音声であるとする。
【００８０】
上位語選択装置１０１は、音声認識部３０１によって、ユーザ発話９１１を、文字列に変換する。そして、上位語選択装置１０１は、図９の（１）で示すように、エンティティ抽出部３０２によって、変換した文字列から、エンティティとして「イーチャン」を抽出する。次に、上位語選択装置１０１は、図９の（２）で示すように、上位語選択部３０３によって、上位下位辞書３２３をたどり、上位語候補として、「湖北省」、「中国」を取得する。そして、上位語選択装置１０１は、図９の（３）で示すように、取得した各上位語候補の「イーチャン」との共起度として、９１／１０９、５０／１０９を取得する。次に、上位語選択装置１０１は、図９の（４）で示すように、取得した各上位語候補の「イーチャン」との共起度が共起度閾値を超えているか否かを判断する。
【００８１】
図９の例では、「湖北省」、「中国」それぞれの共起度が共起度閾値を超えているため、図９の（５）で示すように、上位語選択装置１０１は、「湖北省」、「中国」のうち、共起度が最も高い「湖北省」を選択する。そして、上位語選択装置１０１は、図９の（６）で示すように、選択した「湖北省」を上位語として出力する。このように、知名度の低い「湖北省」よりも「中国」を選択したいが、「湖北省」を選択することになる。
【００８２】
（実施例３）
実施例３は、知名度と共起度とを基準に上位語を選択する方法を実施する例である。知名度と共起度とを基準に上位語を選択することにより、自然な単語であり、かつ、ユーザが知っている可能性が高い単語を、上位語として選択することができる。実施例３について、図１０〜図１４を用いて説明する。まず、実施例３における上位語選択処理のフローチャートを、図１０、図１１を用いて説明する。
【００８３】
図１０は、実施例３における上位語選択処理手順の一例を示すフローチャート（その１）である。図１１は、実施例３における上位語選択処理手順の一例を示すフローチャート（その２）である。上位語選択装置１０１は、ユーザ発話音声を文字列に変換する（ステップＳ１００１）。次に、上位語選択装置１０１は、変換した文字列からエンティティを抽出する（ステップＳ１００２）。そして、上位語選択装置１０１は、抽出したエンティティを出現済みエンティティ保存部３２０に保存する（ステップＳ１００３）。次に、上位語選択装置１０１は、知名度辞書３２１を利用して、抽出したエンティティの知名度を取得する（ステップＳ１００４）。
【００８４】
そして、上位語選択装置１０１は、取得した知名度が知名度閾値を超えているか否かを判断する（ステップＳ１００５）。取得した知名度が知名度閾値を超えている場合（ステップＳ１００５：Ｙｅｓ）、上位語選択装置１０１は、エンティティが一般的な語と判断して、問い返しを行わず（ステップＳ１００６）、上位語選択処理を終了する。
【００８５】
一方、取得した知名度が知名度閾値を超えていない場合（ステップＳ１００５：Ｎｏ）、上位語選択装置１０１は、上位下位辞書３２３からエンティティの上位語を上位語候補として取得する（ステップＳ１００７）。次に、上位語選択装置１０１は、共起度辞書３２２を利用してそれぞれの上位語候補の共起度を取得する（ステップＳ１００８）。そして、上位語選択装置１０１は、取得した上位語候補から、取得した共起度が共起度閾値以下の上位語候補を削除する（ステップＳ１００９）。
【００８６】
次に、図１１に移り、上位語選択装置１０１は、全ての上位語候補について知名度を調べたか否かを判断する（ステップＳ１１０１）。上位語候補についてまだ知名度を調べていないものがある場合（ステップＳ１１０１：Ｎｏ）、上位語選択装置１０１は、まだ知名度を調べていない上位語候補から共起度の最も高い上位語候補を選択する（ステップＳ１１０２）。次に、上位語選択装置１０１は、知名度辞書３２１を利用して、選択した上位語候補の知名度を取得する（ステップＳ１１０３）。
【００８７】
上位語選択装置１０１は、選択した上位語候補の知名度が知名度閾値を超えているか否かを判断する（ステップＳ１１０４）。選択した上位語候補の知名度が閾値を超えていない場合（ステップＳ１１０４：Ｎｏ）、上位語選択装置１０１は、ステップＳ１１０１の処理に移行する。
【００８８】
一方、選択した上位語候補の知名度が知名度閾値を超えている場合（ステップＳ１１０４：Ｙｅｓ）、上位語選択装置１０１は、選択した上位語候補が出現済みエンティティ保存部３２０に保存されているか否かを判断する（ステップＳ１１０５）。選択した上位語候補が出現済みエンティティ保存部３２０に保存されている場合（ステップＳ１１０５：Ｙｅｓ）、上位語選択装置１０１は、上位語候補から、選択した上位語候補を削除し（ステップＳ１１０６）、ステップＳ１１０１の処理に移行する。
【００８９】
一方、選択した上位語候補が出現済みエンティティ保存部３２０に保存されていない場合（ステップＳ１１０５：Ｎｏ）、上位語選択装置１０１は、選択した上位語候補を上位語として出力し、問い返し文を生成する（ステップＳ１１０７）。そして、上位語選択装置１０１は、上位語選択処理を終了する。
【００９０】
また、全ての上位語候補について知名度を調べた場合（ステップＳ１１０１：Ｙｅｓ）、上位語選択装置１０１は、知名度の最も高い上位語候補を上位語として出力し、問い返し文を生成する（ステップＳ１１０８）。そして、上位語選択装置１０１は、上位語選択処理を終了する。なお、ステップＳ１１０８の処理において、ステップＳ１１０６の処理によって、上位語候補が全て削除されていることもあり得る。この場合、上位語選択装置１０１は、問い返しを行わずに、上位語選択処理を終了する。
【００９１】
次に、図１０、図１１で示したフローチャートに従った処理による上位語選択の例を、図１２〜図１４を用いて３つ説明する。
【００９２】
図１２は、実施例３における上位語選択の第１例を示す説明図である。ここで、図１２では、図９で説明した、共起度辞書３２２だけでは適切な上位語選択が難しい例が、実施例３における上位語選択により解決する例を示す。
【００９３】
図１２では、知名度辞書３２１がレコード１２０１＿１を有し、共起度辞書３２２がレコード１２０２＿１、２を有し、上位下位辞書３２３がレコード１２０３＿１、２を有するものとする。また、ユーザ発話１２１１が、「イーチャンに行ってきたよ」という音声であるとする。また、出現済みエンティティ保存部３２０には何も記憶されていないものとする。
【００９４】
上位語選択装置１０１は、ステップＳ１００１の処理により、音声認識部３０１によって、ユーザ発話１２１１を、文字列に変換する。次に、上位語選択装置１０１は、ステップＳ１００２の処理により、図１２の（１）で示すように、エンティティ抽出部３０２によって、変換した文字列から、エンティティとして「イーチャン」を抽出する。
【００９５】
そして、上位語選択装置１０１は、ステップＳ１００３の処理により、抽出したエンティティとなる「イーチャン」を、出現済みエンティティ保存部３２０に保存する。次に、上位語選択装置１０１は、ステップＳ１００４の処理により、図１２の（２）で示すように、知名度辞書３２１を利用して、抽出したエンティティとなる「イーチャン」の知名度を取得する。そして、上位語選択装置１０１は、ステップＳ１００５の処理により、図１２の（３）で示すように、取得した知名度＝１０９が知名度閾値＝５０００を超えているか否かを判断する。
【００９６】
図１２の例では、取得した知名度が知名度閾値を超えていないため、上位語選択装置１０１は、ステップＳ１００７の処理により、図１２の（４）で示すように、上位下位辞書３２３からエンティティ「イーチャン」の上位語を上位語候補として取得する。図１２の例では、上位語選択装置１０１は、上位語候補として、「中国」、「湖北省」を取得する。次に、上位語選択装置１０１は、ステップＳ１００８の処理により、図１２の（５）で示すように、共起度辞書３２２を利用してそれぞれの上位語候補「中国」、「湖北省」の共起度として、５０／１０９、９１／１０９を取得する。
【００９７】
そして、上位語選択装置１０１は、ステップＳ１００９の処理により、図１２の（６）で示すように、取得した共起度が共起度閾値＝０．２以下の上位語候補を削除する。図１２の例では、取得した共起度のうち、共起度閾値以下となる共起度が存在しないため、上位語選択装置１０１は、どの上位候補も削除しない。
【００９８】
次に、上位語選択装置１０１は、ステップＳ１１０１の処理により、全ての上位語候補について知名度を調べたか判断する。この段階では、上位語選択装置１０１は、いずれの上位語候補についても知名度を調べていない。従って、上位語選択装置１０１は、ステップＳ１１０２の処理により、図１２の（７）で示すように、まだ知名度を調べていない上位語候補から共起度の最も高い上位語候補「湖北省」を選択する。次に、上位語選択装置１０１は、ステップＳ１１０３の処理により、図１２の（８）で示すように、知名度辞書３２１を利用して、選択した上位語候補「湖北省」の知名度として、２２５０を取得する。そして、上位語選択装置１０１は、ステップＳ１１０４の処理により、図１２の（９）で示すように、選択した上位語候補「湖北省」の知名度が知名度閾値を超えているか否かを判断する。
【００９９】
図１２の例では、「湖北省」の知名度は知名度閾値を超えていないため、上位語選択装置１０１は、ステップＳ１１０１の処理により、全ての上位語候補について知名度を調べたか判断する。この段階では、上位語選択装置１０１は、上位語候補「中国」について知名度を調べていない。従って、上位語選択装置１０１は、ステップＳ１１０２の処理により、図１２の（１０）で示すように、まだ知名度を調べていない上位語候補から共起度の最も高い上位語候補「中国」を選択する。次に、上位語選択装置１０１は、ステップＳ１１０３の処理により、図１２の（１１）で示すように、知名度辞書３２１を利用して、選択した上位語候補「中国」の知名度として、７４０００を取得する。そして、上位語選択装置１０１は、ステップＳ１１０４の処理により、図１２の（１２）で示すように、選択した上位語候補「中国」の知名度が知名度閾値を超えているか否かを判断する。
【０１００】
図１２の例では、「中国」の知名度は知名度閾値を超えているため、上位語選択装置１０１は、ステップＳ１１０５の処理により、選択した上位語候補「中国」が出現済みエンティティ保存部３２０に保存されているか否かを判断する。図１２の例では、「中国」が出現済みエンティティ保存部３２０に保存されていないため、図１２の（１３）で示すように、ステップＳ１１０７の処理により、選択した上位語候補「中国」を上位語として出力し、問い返し文を生成する。
【０１０１】
このように、実施例３における上位語選択では、上位語選択装置１０１は、「湖北省」よりも知名度の高い「中国」を上位語として選択することができる。
【０１０２】
図１３は、実施例３における上位語選択の第２例を示す説明図である。第２例では、図１で説明した、知識ベースから、エンティティの上位語を取得して、そのまま付与すると、ユーザと同じ単語を聞き返してしまう場合に対処できることを説明する。例えば、以下のような会話を行わないようにする。
【０１０３】
ユーザ：中国に行ってきました。
対話システム：どこの都市に行きましたか？
ユーザ：イーチャンです。
対話システム：中国のイーチャンですか？
【０１０４】
この場合、「中国」と言ってきた人に対し、「中国のイーチャンですか？」と聞き返すのは冗長であり、不自然である。この場合には、「湖北省のイーチャンですか？」というように、既に発言済の上位語より低レベルの上位語を用いる方が自然である。第２例では、既に発言済の上位語より低レベルの上位語を選択する例を示す。図１３では、知名度辞書３２１がレコード１２０１＿１を有し、共起度辞書３２２がレコード１２０２＿１、２を有し、上位下位辞書３２３がレコード１２０３＿１、２を有するものとする。また、ユーザ発話１２１１が、「イーチャンに行ってきたよ」という音声であるとする。さらに、ユーザが中国に行ってきたという過去の発話により、出現済みエンティティ保存部３２０に、出現済みエンティティとして「中国」が記憶されているとする。このように、図１２と図１３との差異は、出現済みエンティティ保存部３２０に「中国」が記憶されているか否かとなる。従って、図１３の（１）〜（１２）は、図１２の（１）〜（１２）と同一となるため、説明を省略する。
【０１０５】
図１２の（１２）の後、上位語選択装置１０１は、ステップＳ１１０５の処理により、選択した上位語候補「中国」が出現済みエンティティ保存部３２０に保存されているか否かを判断する。図１２の例では、「中国」が出現済みエンティティ保存部３２０に保存されていないため、図１２の（１３）で示すように、ステップＳ１１０６の処理により、上位語候補から、選択した上位語候補「中国」を削除する。
【０１０６】
そして、上位語選択装置１０１は、ステップＳ１１０１の処理により、全ての上位語候補について知名度を調べたか判断する。この段階では、上位語選択装置１０１は、全ての上位語候補について知名度を調べている。従って、上位語選択装置１０１は、ステップＳ１１０８の処理により、図１２の（１４）で示すように、知名度の最も高い上位語候補である「湖北省」を上位語として出力し、問い返し文を生成する。
【０１０７】
このように、実施例３における上位語選択では、中国に行ってきたと発話したユーザに対し、「中国のイーチャンですか？」というように聞き返すことをしなくなるので、上位語選択装置１０１は、不自然な会話を避けることができる。
【０１０８】
また、図１３の例では、存在しなかったが、発言済である「中国」の上位語が上位下位辞書３２３に存在することもある。しかしながら、この場合、上位語選択装置１０１は、図１３の（６）により、「中国」の上位語と「イーチャン」との共起度が、共起度閾値を超えないため、「中国」の上位語を削除することになる。従って、上位語選択装置１０１は、既に発言済の上位語より低レベルの上位語を選択することができる。
【０１０９】
図１４は、実施例３における上位語選択の第３例を示す説明図である。ここで、図１４では、図９で説明した、知名度辞書３２１だけでは適切な上位語選択が難しい例が、実施例３における上位語選択により解決する例を示す。
【０１１０】
図１４では、知名度辞書３２１がレコード１４０１＿１を有し、共起度辞書３２２がレコード１４０２＿１を有し、上位下位辞書３２３がレコード１４０３＿１〜３を有するものとする。また、ユーザ発話１４１１が、「ベシオに行ってきたよ」という音声であるとする。また、出現済みエンティティ保存部３２０には何も記憶されていないものとする。
【０１１１】
上位語選択装置１０１は、ステップＳ１００１の処理により、音声認識部３０１によって、ユーザ発話１４１１を、文字列に変換する。次に、上位語選択装置１０１は、ステップＳ１００２の処理により、図１４の（１）で示すように、エンティティ抽出部３０２によって、変換した文字列から、エンティティとして「ベシオ」を抽出する。
【０１１２】
そして、上位語選択装置１０１は、ステップＳ１００３の処理により、抽出したエンティティとなる「ベシオ」を、出現済みエンティティ保存部３２０に保存する。次に、上位語選択装置１０１は、ステップＳ１００４の処理により、図１４の（２）で示すように、知名度辞書３２１を利用して、抽出したエンティティとなる「ベシオ」の知名度を取得する。そして、上位語選択装置１０１は、ステップＳ１００５の処理により、図１４の（３）で示すように、取得した知名度＝１３０が知名度閾値＝５０００を超えているか否かを判断する。
【０１１３】
図１４の例では、取得した知名度が知名度閾値を超えていないため、上位語選択装置１０１は、ステップＳ１００７の処理により、図１４の（４）で示すように、上位下位辞書３２３からエンティティ「ベシオ」の上位語を上位語候補として取得する。図１４の例では、上位語選択装置１０１は、上位語候補として、「タラワ」、「キリバス」、「オセアニア」を取得する。次に、上位語選択装置１０１は、ステップＳ１００８の処理により、図１４の（５）で示すように、共起度辞書３２２を利用して上位語候補「タラワ」、「キリバス」、「オセアニア」のそれぞれの共起度として８０／１３０、９１／１３０、８／１３０を取得する。
【０１１４】
そして、上位語選択装置１０１は、ステップＳ１００９の処理により、図１４の（６）で示すように、取得した共起度が共起度閾値＝０．２以下の上位語候補を削除する。図１４の例では、取得した共起度のうち、「オセアニア」の「ベシオ」との共起度が共起度閾値以下なので、上位語選択装置１０１は、取得した上位語候補から、「オセアニア」を削除する。これにより、残った上位語候補は、「タラワ」と「キリバス」となる。
【０１１５】
次に、上位語選択装置１０１は、ステップＳ１１０１の処理により、全ての上位語候補について知名度を調べたか判断する。この段階では、上位語選択装置１０１は、いずれの上位語候補についても知名度を調べていない。従って、上位語選択装置１０１は、ステップＳ１１０２の処理により、図１４の（７）で示すように、まだ知名度を調べていない上位語候補から共起度の最も高い上位語候補「キリバス」を選択する。次に、上位語選択装置１０１は、ステップＳ１１０３の処理により、図１４の（８）で示すように、知名度辞書３２１を利用して、選択した上位語候補「キリバス」の知名度として、１２００を取得する。そして、上位語選択装置１０１は、ステップＳ１１０４の処理により、図１４の（９）で示すように、選択した上位語候補「キリバス」の知名度が知名度閾値を超えているか否かを判断する。
【０１１６】
図１４の例では、「キリバス」の知名度は知名度閾値を超えていないため、上位語選択装置１０１は、ステップＳ１１０１の処理により、全ての上位語候補について知名度を調べたか判断する。この段階では、上位語選択装置１０１は、上位語候補「タラワ」について知名度を調べていない。従って、上位語選択装置１０１は、ステップＳ１１０２の処理により、図１４の（１０）で示すように、まだ知名度を調べていない上位語候補から共起度の最も高い上位語候補「タラワ」を選択する。次に、上位語選択装置１０１は、ステップＳ１１０３の処理により、図１４の（１１）で示すように、知名度辞書３２１を利用して、選択した上位語候補「タラワ」の知名度として、８１０を取得する。そして、上位語選択装置１０１は、ステップＳ１１０４の処理により、図１４の（１２）で示すように、選択した上位語候補「タラワ」の知名度が知名度閾値を超えているか否かを判断する。
【０１１７】
図１４の例では、「タラワ」の知名度は知名度閾値を超えていないため、上位語選択装置１０１は、ステップＳ１１０１の処理により、全ての上位語候補について知名度を調べたか判断する。この段階では、上位語選択装置１０１は、全ての上位語候補について知名度を調べている。従って、上位語選択装置１０１は、ステップＳ１１０８の処理により、図１４の（１３）で示すように、知名度の最も高い上位語候補である「キリバス」を上位語として出力し、問い返し文を生成する。
【０１１８】
このように、実施例３における上位語選択では、上位語選択装置１０１は、都市の上位語としてふさわしい「キリバス」を上位語として選択することができる。
【０１１９】
以上説明したように、上位語選択装置１０１は、ユーザの入力文が含むエンティティの知名度が低く、そのエンティティの上位語の知名度が高ければ、その上位語をユーザへの問い返し文に含める語に決定する。これにより、上位語選択装置１０１は、知名度が高く、ユーザが知る可能性が高い上位語で問い返すという、自然な会話を行うことができる。また、知名度が高い上位語は、文脈の共有にも有効である。
【０１２０】
また、上位語選択装置１０１は、知名度辞書３２１と共起度辞書３２２とを参照して、取得した上位語と抽出したエンティティとの共起度、および上位語の知名度に基づいて、問い返し文に含める上位語を決定してもよい。これにより、上位語選択装置１０１は、知名度が高く、かつ、抽出したエンティティと一緒に現れやすく、上位語として適切な語を選択することができる。
【０１２１】
また、上位語選択装置１０１は、取得した上位語と抽出したエンティティとの共起度が共起度閾値より大きく、かつ、上位語の知名度が知名度閾値より大きければ、取得した上位語を問い返し文に含める上位語として決定してもよい。これにより、抽出したエンティティと一緒に現れやすく、上位語として適切な語であり、最も知名度の高い上位語を問い返し文に含めることができる。
【０１２２】
また、上位語選択装置１０１は、マイク１０２とスピーカ１０３とを有し、マイクに対して発した音が変換された電気信号に基づいて、ユーザによって入力された文字列を取得し、問い返し文を表す音が発生するように、スピーカ１０３を制御してもよい。これにより、上位語選択装置１０１は、ユーザに対して対話することができる。
【０１２３】
なお、本実施の形態で説明した上位語選択方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本上位語選択プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本上位語選択プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１２４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２５】
（付記１）コンピュータに、
複数の名詞のそれぞれの知名度を示す知名度情報を参照し、
入力された文字列から抽出した名詞の知名度を前記知名度情報に基づいて取得し、
取得した前記知名度が第１の閾値以下である場合、複数の前記名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、
抽出した前記名詞の上位語を前記上位語情報に基づいて取得し、
前記知名度情報と取得した前記上位語の知名度に基づいて、前記文字列の入力元に返す文字列に含める上位語を決定する、
処理を実行させることを特徴とする上位語選択プログラム。
【０１２６】
（付記２）前記決定する処理は、
複数の前記名詞のそれぞれが文書に出現した際に前記名詞のそれぞれとは異なる他の名詞が前記文書に出現する度合いを示す共起度情報と前記知名度情報とを参照し、
取得した前記上位語と前記名詞との共起度および前記上位語の知名度に基づいて、前記入力元に返す文字列に含める上位語を決定する、
ことを特徴とする付記１に記載の上位語選択プログラム。
【０１２７】
（付記３）前記決定する処理は、
前記共起度情報と前記知名度情報とを参照して、取得した前記上位語と前記名詞との共起度が第２の閾値より大きく、かつ、前記上位語の知名度が前記第１の閾値より大きければ、取得した前記上位語を前記入力元に返す文字列に含める上位語として決定する、
ことを特徴とする付記２に記載の上位語選択プログラム。
【０１２８】
（付記４）前記決定する処理は、
取得した前記上位語が複数ある場合、取得した複数の上位語のうち、前記名詞との共起度が前記第２の閾値より大きく、かつ、知名度が前記第１の閾値より大きい上位語がなければ、前記複数の上位語のうちの前記名詞との共起度が前記第２の閾値より大きい上位語の中から、知名度が最も大きい上位語を、前記入力元に返す文字列に含める上位語として決定する、
ことを特徴とする付記３に記載の上位語選択プログラム。
【０１２９】
（付記５）前記コンピュータは、
入力された前記文字列より前に入力された前の文字列から抽出した名詞を記憶しており、
前記決定する処理は、
前記共起度情報と前記知名度情報とを参照して、取得した前記上位語と前記名詞との共起度が前記第２の閾値より大きく、かつ、前記上位語の知名度が前記第１の閾値より大きく、かつ、前記上位語と前記前の文字列から抽出した名詞とが一致しなければ、取得した前記上位語を前記入力元に返す文字列に含める上位語として決定する、
ことを特徴とする付記３または４に記載の上位語選択プログラム。
【０１３０】
（付記６）前記第２の閾値は、２つの名詞が共起するか否かを判定する値であることを特徴とする付記３〜５のいずれか一つに記載の上位語選択プログラム。
【０１３１】
（付記７）前記第１の閾値は、名詞が知名か否かを判定する値であることを特徴とする付記１〜６のいずれか一つに記載の上位語選択プログラム。
【０１３２】
（付記８）前記コンピュータは、音を電気信号に変換するマイクと、電気信号に基づいて音を発生させるスピーカとを有し、
前記コンピュータに、
ユーザが前記マイクに対して発した音が変換された電気信号に基づいて、前記ユーザによって入力された文字列を取得し、
決定した前記上位語を含む前記入力元に返す文字列を生成し、
生成した前記入力元に返す文字列に基づいて、前記文を表す音が発生するように前記スピーカを制御する、
処理を実行させることを特徴とする付記１〜７のいずれか一つの上位語選択プログラム。
【０１３３】
（付記９）複数の名詞のそれぞれの知名度を示す知名度情報を参照し、
入力された文字列から抽出した名詞の知名度を前記知名度情報に基づいて取得し、
取得した前記知名度が第１の閾値以下である場合、複数の前記名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、
抽出した前記名詞の上位語を前記上位語情報に基づいて取得し、
前記知名度情報と取得した前記上位語の知名度に基づいて、前記文字列の入力元に返す文字列に含める上位語を決定する、
制御部を有することを特徴とする上位語選択装置。
【０１３４】
（付記１０）コンピュータが、
複数の名詞のそれぞれの知名度を示す知名度情報を参照し、
入力された文字列から抽出した名詞の知名度を前記知名度情報に基づいて取得し、
取得した前記知名度が第１の閾値以下である場合、複数の前記名詞のそれぞれの上位概念の名詞である上位語を示す上位語情報を参照し、
抽出した前記名詞の上位語を前記上位語情報に基づいて取得し、
前記知名度情報と取得した前記上位語の知名度に基づいて、前記文字列の入力元に返す文字列に含める上位語を決定する、
処理を実行することを特徴とする上位語選択方法。
【符号の説明】
【０１３５】
１０１  上位語選択装置
３０１  音声認識部
３０２  エンティティ抽出部
３０３  上位語選択部
３０４  発話文生成部
３１１  取得部
３１２  決定部
３２０  出現済みエンティティ保存部
３２１  知名度辞書
３２２  共起度辞書
３２３  上位下位辞書
【図１】
0006665677.tif 000002
【図２】
0006665677.tif 000003
【図３】
0006665677.tif 000004
【図４】
0006665677.tif 000005
【図５】
0006665677.tif 000006
【図６】
0006665677.tif 000007
【図７】
0006665677.tif 000008
【図８】
0006665677.tif 000009
【図９】
0006665677.tif 000010
【図１０】
0006665677.tif 000011
【図１１】
0006665677.tif 000012
【図１２】
0006665677.tif 000013
【図１３】
0006665677.tif 000014
【図１４】
0006665677.tif 000015