(57)【特許請求の範囲】
【請求項１】
演算処理装置を有する応答生成装置であって、
前記演算処理装置は、
ユーザが発話した情報である発話情報と、ユーザ端末が保持する情報であって、過去の発話情報に関する履歴情報または過去のサービスの利用履歴に関する情報である利用履歴情報とを、前記ユーザ端末から送信された情報として取得し、
所定の記憶部に登録された辞書情報であって、単語の読みと当該単語が有する意味とを対応付けた第１の辞書情報、および、単語が有する意味と当該単語の読みと位置情報とを対応付けた第２の辞書情報を用いて、前記取得された発話情報から抽出された単語が、異なる複数の意味を有するか否かを判定し、異なる複数の意味を有すると判定された場合には、前記過去の発話情報に関する履歴情報または前記過去のサービスの利用履歴に関する利用履歴情報に含まれる単語の意味に基づいて、前記複数の意味から一つの意味を選択し、
前記発話情報から抽出された単語を、前記選択された意味を有する単語として用いて、前記発話情報からサービスに対する検索条件を生成し、
前記検索条件に基づいて取得したサービス情報を用いて、前記発話情報に対する応答を前記ユーザ端末に出力させるための情報である応答情報を生成する
処理を実行することを特徴とする応答生成装置。   
【請求項２】
前記演算処理装置は、前記複数の意味から一つの意味を選択する処理として、前記記憶部に登録された第１の辞書および第２の辞書を用いて、取得された発話情報から抽出された単語に、同一の読みで異なる意味の単語が複数含まれる場合、同一の文字で異なる意味の単語が複数含まれる場合、または、同一の読みおよび同一の文字で異なる意味の単語が複数含まれる場合には、前記過去の発話情報に関する履歴情報または前記過去のサービスの利用履歴に関する利用履歴情報に含まれる単語の意味に基づいて、前記複数の意味から一つの意味を各単語ごとに選択する
処理を実行することを特徴とする請求項１に記載の応答生成装置。   
【請求項３】
コンピュータで実行される応答生成方法であって、
前記コンピュータが有する演算処理装置が、
ユーザが発話した情報である発話情報と、ユーザ端末が保持する情報であって、過去の発話情報に関する履歴情報または過去のサービスの利用履歴に関する情報である利用履歴情報とを、前記ユーザ端末から送信された情報として取得し、
所定の記憶部に登録された辞書情報であって、単語の読みと当該単語が有する意味とを対応付けた第１の辞書情報、および、単語が有する意味と当該単語の読みと位置情報とを対応付けた第２の辞書情報を用いて、前記取得された発話情報から抽出された単語が、異なる複数の意味を有するか否かを判定し、異なる複数の意味を有すると判定された場合には、前記過去の発話情報に関する履歴情報または前記過去のサービスの利用履歴に関する利用履歴情報に含まれる単語の意味に基づいて、前記複数の意味から一つの意味を選択し、
前記発話情報から抽出された単語を、前記選択された意味を有する単語として用いて、前記発話情報からサービスに対する検索条件を生成し、
前記検索条件に基づいて取得したサービス情報を用いて、前記発話情報に対する応答を前記ユーザ端末に出力させるための情報である応答情報を生成する
処理を実行することを特徴とする応答生成方法。   
【請求項４】
コンピュータが有する演算処理装置に、
ユーザが発話した情報である発話情報と、ユーザ端末が保持する情報であって、過去の発話情報に関する履歴情報または過去のサービスの利用履歴に関する情報である利用履歴情報とを、前記ユーザ端末から送信された情報として取得し、
所定の記憶部に登録された辞書情報であって、単語の読みと当該単語が有する意味とを対応付けた第１の辞書情報、および、単語が有する意味と当該単語の読みと位置情報とを対応付けた第２の辞書情報を用いて、前記取得された発話情報から抽出された単語が、異なる複数の意味を有するか否かを判定し、異なる複数の意味を有すると判定された場合には、前記過去の発話情報に関する履歴情報または前記過去のサービスの利用履歴に関する利用履歴情報に含まれる単語の意味に基づいて、前記複数の意味から一つの意味を選択し、
前記発話情報から抽出された単語を、前記選択された意味を有する単語として用いて、前記発話情報からサービスに対する検索条件を生成し、
前記検索条件に基づいて取得したサービス情報を用いて、前記発話情報に対する応答を前記ユーザ端末に出力させるための情報である応答情報を生成する
処理を実行させるための応答生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答生成装置、応答生成方法および応答生成プログラムに関する。
【背景技術】
【０００２】
従来、ユーザからの発話を受け付けたユーザ端末から音声に関するデータを受信し、音声に関するデータを用いてユーザが要求する情報を特定し、ユーザの発話に対する応答を生成する応答生成サーバが知られている。例えば、応答生成サーバは、ユーザからの質問に係る音声に関するデータをユーザ端末から受け付け、受け付けた音声に関するデータをテキスト化してテキストデータに変換し、テキストデータに基づいて、質問の意味を理解し、質問に対する応答を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−４８４０６号公報
【特許文献２】特開２００７−３１０８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術では、ユーザの発話に含まれる単語のうち、異なる意味の単語の候補が複数ある場合には、ユーザの発話の意図を的確に理解することが出来ず、適切な応答ができない場合がある。例えば、路線検索で用いられる地名等について、異音同字、同音異字、同音同字の地名が複数存在する場合があり、ユーザが発話した地名等がどの表記に対応するものかを判別することができないため、ユーザの質問の意味を的確に理解することができず、適切な応答ができない場合がある。
【０００５】
本願は、上記に鑑みてなされたものであって、ユーザの発話の意図を的確に把握し、適切な応答を行うことを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る応答生成装置は、ユーザが発話した情報である発話情報と、ユーザ端末が保持する情報として、過去の発話情報に関する履歴情報または過去のサービスの利用履歴に関する利用履歴情報を取得する取得手段と、前記取得手段によって取得された発話情報から抽出された単語が、異なる複数の意味を有する場合には、前記過去の発話情報に関する履歴情報または前記過去のサービスの利用履歴に関する利用履歴情報に含まれる単語の意味に基づいて、前記複数の意味から一つの意味を選択する選択手段と、前記発話情報から抽出された単語を、前記選択手段によって選択された意味を有する単語として、サービスに対する要求情報を生成する要求生成手段と、前記検索条件に基づいて取得したサービス情報を用いて、前記発話情報に対する応答情報を生成する応答生成手段と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本願に係る応答生成装置、応答生成方法および応答生成プログラムは、ユーザの発話の意図を的確に把握し、適切な応答を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係るネットワークシステムの構成例を示す図である。
【図２】図２は、第１の実施形態に係る応答生成サーバの構成例を示す図である。
【図３】図３は、第１の実施形態に係る応答生成サーバの記憶部によって記憶されるユーザ辞書の一例を示す図である。
【図４】図４は、第１の実施形態に係る応答生成サーバの記憶部によって記憶されるサーバ辞書の一例を示す図である。
【図５】図５は、第１の実施形態に係るユーザ端末の構成例を示す図である。
【図６】図６は、第１の実施形態に係るネットワークシステムによる処理の手順を示すシーケンス図である。
【図７】図７は、第１の実施形態に係る応答生成サーバによる処理の手順を示すフローチャートである。
【図８】図８は、第１の実施形態に係るユーザ端末の応答画像の一例を説明するための図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る応答生成装置、応答生成方法および応答生成プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る応答生成装置、応答生成方法および応答生成プログラムが限定されるものではない。
【００１０】
（第１の実施形態）
図１〜図８を用いて、本願に係る応答生成装置、応答生成方法および応答生成プログラムの第１の実施形態について説明する。
【００１１】
〔１−１．構成〕
まず、図１を用いて、第１の実施形態に係る応答生成サーバが含まれるネットワークシステムの構成について説明する。図１は、第１の実施形態に係るネットワークシステムの構成例を示す図である。図１に例示するように、第１の実施形態に係るネットワークシステムには、応答生成サーバ１０と、ユーザ端末２０と、音声認識サーバ３０と、路線ＡＰＩ（Application  Program  Interface）サーバ４１、天気ＡＰＩサーバ４２と、Ｗｅｂ検索ＡＰＩサーバ４３と、音声合成サーバ５０とが含まれる。
【００１２】
応答生成サーバ１０と、ユーザ端末２０と、音声認識サーバ３０と、路線ＡＰＩサーバ４１、天気ＡＰＩサーバ４２と、Ｗｅｂ検索ＡＰＩサーバ４３と、音声合成サーバ５０とは、ネットワーク６０を介して、無線通信又は有線通信を行う。なお、以下の説明では、路線ＡＰＩサーバ４１、天気ＡＰＩサーバ４２と、Ｗｅｂ検索ＡＰＩサーバ４３を区別する必要がない場合には、これらを総称して「ＡＰＩサーバ４０」と表記する場合がある。また、路線ＡＰＩサーバ４１、天気ＡＰＩサーバ４２、Ｗｅｂ検索ＡＰＩサーバ４３は、ＡＰＩサーバの一例であり、これらに限定されない。
【００１３】
〔１−１（１）．応答生成サーバ１０の構成〕
次に、図２を用いて、応答生成サーバ１０の構成について説明する。図２は、第１の実施形態に係る応答生成サーバの構成例を示す図である。応答生成サーバ１０は、ユーザ端末２０によって送信される発話のテキストデータと、ユーザ端末２０が保持する情報（例えば、現在位置を示す位置情報など）とに応じて、ユーザの発話に対する応答生成情報をユーザ端末２０に送信するコンピュータである。応答生成サーバ１０は、通信部１１と、制御部１２と、記憶部１３とを有する。なお、以下の説明では、応答生成サーバ１０が、ＡＰＩサーバ４０からＸＭＬ（Extensible  Markup  Language）形式のデータを取得する場合を例にして説明するが、これに限定されるものではなく、例えば、ＪＳＯＮ（Java（登録商標）  Script  Object  Notation）形式のデータやＰＨＰ（Personal  Home  Page）シリアライズ形式のデータをＡＰＩサーバ４０から取得するようにしてもよい。
【００１４】
通信部１１は、ネットワーク６０を介してユーザ端末２０、ＡＰＩサーバ４０および音声合成サーバ５０との間で各種データを送受信する。通信部１１０は、例えば、ＮＩＣ等に該当する。
【００１５】
記憶部１３は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置である。記憶部１３は、図３に例示するユーザ辞書と、図４に例示するサーバ辞書とを記憶する。ここで、ユーザ辞書とは、ユーザごとに登録される辞書であり、サーバ辞書とは、サーバが管理する辞書である。図３は、第１の実施形態に係る応答生成サーバの記憶部によって記憶されるユーザ辞書の一例を示す図である。図４は、第１の実施形態に係る応答生成サーバの記憶部によって記憶されるサーバ辞書の一例を示す図である。
【００１６】
例えば、図３に例示するように、記憶部１３は、ユーザ辞書として、単語の漢字を示す「漢字」と、単語の読みを示す「読み」と、単語に該当する駅名を示す「駅名」とを対応付けて記憶する。例えば、図３の例を挙げて説明すると、ユーザ辞書は、同じ漢字を用いる「日本橋」について、それぞれ読みが「にっぽんばし」、「にほんばし」、「にほんばし」であることを記憶し、駅名がそれぞれ「日本橋（大阪）」、「日本橋（東京都）」、「日本橋（水上）」であることを記憶している。ここで、「日本橋（大阪）」と「日本橋（東京都）」とは、字が同じであるが、読みが異なるため、異音同字である。なお、ユーザ辞書は、異音同字だけでなく、同音異字や同音同字なども記憶しているものとする。例えば、同音異字の例としては、仙台（宮城県：せんだい）と川内（鹿児島県：川内）などの例がある。また、同音同字の例としては、長谷（神奈川県：はせ）と長谷（富山県：はせ）などの例がある。
【００１７】
また、図４に例示するように、記憶部１３は、サーバ辞書として、単語に該当する駅名を示す「駅名」と、単語の読みを示す「読み」と、単語の駅名が位置する「位置情報」とを対応付けて記憶する。例えば、図４の例を挙げて説明すると、ユーザ辞書は、同じ漢字を用いる「日本橋」について、それぞれ読みが「にっぽんばし」、「にほんばし」、「にほんばし」であることを記憶し、位置情報がそれぞれ「緯度Ｘ１  経度Ｙ１」、「緯度Ｘ２  緯度Ｙ２」、「緯度Ｘ３  経度Ｙ３」であることを記憶している。
【００１８】
図２に戻って、制御部１２は、応答生成サーバ１０を対話サーバとして動作させる制御部であり、ユーザ端末２０から受信したユーザが今回発話したテキストデータ及びその他の情報（位置情報、過去の発話情報、利用履歴情報）に応じて、発話のＡＰＩサーバから情報を取得し、応答発話用の中間表記と応答発話用のテキストデータとＨＴＭＬデータをユーザ端末２０に送信する。
【００１９】
具体的には、制御部１２は、ユーザが今回発話したテキストデータと、ユーザ端末２０が保持する情報（位置情報や対話履歴、利用履歴）を用いて、同音異字、異音同字、同音同字の単語の候補からユーザが意図した単語を選択し、選択された単語として発話情報に含まれる単語の意味を特定し、発話情報とユーザ端末２０が保持する情報とを用いて、検索条件を生成して、ユーザの発話に対する応答発話用の中間表記と応答発話用のテキストデータとＨＴＭＬデータとをユーザ端末２０に送信する。制御部１２は、例えば、ＣＰＵやＭＰＵ等により実現され、記憶部１３に予め記憶されているコンピュータプログラムを実行することにより、取得部１２ａ、選択部１２ｂ、要求生成部１２ｃ、変換部１２ｄ、音声合成指示部１２ｅ、応答生成部１２ｆによる処理を実現する。
【００２０】
なお、応答生成サーバ１０が有する各処理部は、以下に説明する情報処理の機能や作用を実現又は実行する。
【００２１】
〔１−１（２）．ユーザ端末２０の構成〕
次に、図５を用いて、ユーザ端末２０の構成について説明する。図５は、第１の実施形態に係るユーザ端末２０の構成例を示す図である。図５に示すように、ユーザ端末２０は、携帯電話機、スマートフォン、ＰＤＡ（Personal  Digital  Assistant）、タブレット型ＰＣ、ノート型ＰＣ、デスクトップ型ＰＣ等の情報処理装置である。ユーザ端末２０は、図５に例示するように、通信部２１と、マイク２２と、スピーカ２３と、表示部２４と、アプリ２５と、メモリ２６とを有する。
【００２２】
通信部２１は、ネットワーク６０を介して応答生成サーバ１０および音声認識サーバ３０との間で各種データを送受信する。通信部２１は、例えば、携帯端末やスマートフォンの場合には、アンテナや通信制御を行う電子回路等である。例えば、ユーザ端末２０がノート型ＰＣやデスクトップ型ＰＣである場合には、ＮＩＣ（Network  Interface  Card）等に該当する。通信部２１は、例えば、ユーザ端末２０がタブレット型ＰＣである場合には、アンテナや通信制御を行う電子回路等である。
【００２３】
マイク２２は、ユーザ端末２０の利用者が発話した音声入力を受け付ける入力デバイスである。スピーカ２３は、ユーザ端末２０の利用者が発話した音声入力に対する応答音声を出力する出力デバイスである。また、表示部２４は、各種情報を表示する表示デバイスであり、例えばタッチパネルや液晶ディスプレイ等である。表示部２４は、例えば、応答発話表示用のテキストデータと発話意図に応じてＨＴＭＬデータとを表示する。
【００２４】
アプリ２５は、利用者が発話した音声入力を受け付けると、音声データを音声認識サーバ３０に送信し、音声認識サーバ３０から発話のテキストデータを受信する。また、アプリ２５は、発話のテキストデータや過去の発話情報を応答生成サーバ１０に送信し、応答生成サーバ１０からＨＴＭＬ（Hyper  Text  Markup  Language）等の言語で記述されたデータ、応答発話用の中間表記および応答発話表示用のテキストデータなどを受信する。また、アプリ２５は、ユーザ端末２０の利用者が発話した音声入力に対する応答音声を出力したり、ＨＴＭＬ等の言語で記述されたデータを表示したりする。アプリ２５は、ＣＰＵやＭＰＵ等により実現され、音声データ送信部２５ａ、テキストデータ受信部２５ｂ、テキストデータ送信部２５ｃ、ＨＴＭＬデータ受信部２５ｄ、表示制御部２５ｅによる処理を実現する。
【００２５】
メモリ２６は、履歴記憶部２６ａおよび位置情報記憶部２６ｂを有する。メモリ２６は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子等の記憶装置である。履歴記憶部２６ａは、発話のテキストデータとともに送信される、過去の発話に関する履歴情報を記憶する。位置情報記憶部２６ｂは、発話のテキストデータとともに送信される、ユーザ端末１０の現在位置を示す位置情報を記憶する。なお、メモリ２６は、履歴情報や位置情報のほかに、データの閲覧や検索の利用履歴に関する利用履歴情報やユーザの自宅の住所などの個人情報を記憶していてもよい。これらの情報は、位置情報と同様に、発話のテキストデータとともに応答生成サーバ１０に送信してもよい。
【００２６】
なお、ユーザ端末２０が有する各処理部は、以下に説明する情報処理の機能や作用を実現又は実行する。
【００２７】
〔１−２（１）．作用（ネットワークシステム）〕
次に、図６を用いて、第１の実施形態に係るネットワークシステムによる全体の処理手順について説明する。図６は、第１の実施形態に係るネットワークシステムによる処理の手順を示すシーケンス図である。図６に例示するように、ユーザ端末２０は、アプリケーションの起動指示を受け付けると、アプリケーションを起動する（ステップＳ１）。そして、ユーザ端末２０の音声データ送信部２５ａは、ユーザの発話を検知すると、発話の音声データをｓｏｃｋｅｔ通信により音声認識サーバ３０へ送信する（ステップＳ２）。例えば、ユーザ端末２０の音声データ送信部２５ａは、発話の音声データとして、異音同字を含む「にっぽんばしからにほんばしまで」を送信する。
【００２８】
そして、音声認識サーバ３０は、発話の音声データを受信すると、音声データをテキストデータに変換する（ステップＳ３）。そして、音声認識サーバ３０のテキストデータ送信部２５ｃは、変換した発話のテキストデータをユーザ端末２０に送信する（ステップＳ４）。例えば、音声認識サーバ３０のテキストデータ送信部２５ｃは、テキストデータとして、異音同字を含む「日本橋から日本橋まで」を送信する。
【００２９】
続いて、ユーザ端末２０のテキストデータ受信部２５ｂが、音声認識サーバ３０から発話のテキストデータを受信すると、テキストデータ送信部２５ｃは、発話のテキストデータや、過去３回分の発話に関する履歴情報や位置情報等のユーザ端末２０が保持する情報を応答生成サーバ１０に送信する（ステップＳ５）。なお、ユーザ端末２０のテキストデータ送信部２５ｃは、発話のテキストデータ、ユーザが発話した過去３回分の発話情報のほかに、ユーザ端末２０の現在位置を示す位置情報、過去にＡＰＩサーバを利用した利用履歴に関する利用履歴などを応答生成サーバ１０に送信する。
【００３０】
続いて、応答生成サーバ１０の取得部１２ａが、発話のテキストデータやユーザ端末２０が保持する情報を受け付けると、選択部１２ｂは、発話情報に含まれる単語のうち、同一の読みで異なる意味の単語の候補が複数ある場合、同一の文字で異なる意味の異なる意味の単語の候補が複数ある場合、または、同一の読みおよび同一の文字で異なる意味の異なる意味の単語の候補が複数ある場合には、発話のテキストデータとユーザ端末２０が記憶する情報とを用いて、複数の単語の候補から一つの単語を選択する。例えば、選択部１２ｂは、発話のテキストデータに日本橋が含まれており、日本橋の候補地が日本橋（大阪）、日本橋（東京都）、日本橋（水上バス）と複数ある場合には、各候補地と現在位置との距離をそれぞれ比較し、最も近い候補地を選択する。
【００３１】
そして、応答生成サーバ１０の要求生成部１２ｃは、応答の生成に必要なデータの検索条件を指定し、ＡＰＩサーバ４０に対してデータの要求を行う（ステップＳ６）。具体的には、応答生成サーバ１０の要求生成部１２ｃは、選択部１２ｂに選択された単語として発話情報に含まれる単語の意味を特定し、発話情報とユーザ端末２０が記憶する情報とを用いて、サービス提供サーバに対して情報を要求する検索条件を生成し、該検索条件をＡＰＩサーバ４０に送信する。例えば、応答生成サーバ１０の要求生成部１２ｃは、検索条件として、「ＦＲＯＭ＝日本橋（大阪）ＴＯ＝日本橋（東京都）」をＡＰＩサーバ４０に送信する。
【００３２】
続いて、応答生成サーバ１０の要求生成部１２ｃは、検索条件をＡＰＩサーバ４０に送信して応答生成に必要なデータを要求する（ステップＳ７）。そして、ＡＰＩサーバ４０は、受信した検索条件に従って、ＸＭＬデータを取得する処理を行う（ステップＳ８）。例えば、応答生成サーバ１０は、出発地「日本橋（大阪）」、目的地「日本橋（東京都）」で経路探索する検索条件を受け付けると、日本橋（大阪）から日本橋（東京都）までの乗り換え情報や、電車賃に関する情報などを取得する処理を行う。そして、ＡＰＩサーバ４０は、取得したＸＭＬデータを応答生成サーバ１０に送信する（ステップＳ９）。
【００３３】
そして、応答生成サーバ１０の変換部１２ｄは、ＡＰＩサーバ４０からＸＭＬデータを受信すると、予め記憶されたフォーマットに従って、ＸＭＬデータからデータを抽出し、ＸＭＬデータをＨＴＭＬデータに変換する（ステップＳ１０）。例えば、応答生成サーバ１０の変換部１２ｄは、路線検索に関するＸＭＬデータを受信すると、乗り換えに関するフォーマットに従って、ＸＭＬデータから駅名や乗車時間の情報を抽出し、ＸＭＬデータをＨＴＭＬデータに変換する。続いて、応答生成サーバ１０の音声合成指示部１２ｅは、応答発話表示用のテキストデータを音声合成サーバ５０に送信する（ステップＳ１１）。そして、音声合成サーバ５０は、応答発話表示用のテキストデータから音声を合成する音声合成処理を行って、応答発話用の中間表記を生成する（ステップＳ１２）。そして、音声合成サーバ５０は、応答発話用の中間表記を応答生成サーバ１０に送信する（ステップＳ１３）。
【００３４】
続いて、応答生成サーバ１０の応答生成部１２ｆは、応答発話用の中間表記と応答発話表示用のテキストデータとＨＴＭＬデータとをユーザ端末２０に送信する（ステップＳ１４）。そして、ユーザ端末２０のＨＴＭＬデータ受信部２５ｄは、受信した応答発話表示用のテキストデータの履歴情報とＨＴＭＬデータの履歴情報とを格納する（ステップＳ１５）。続いて、ユーザ端末２０の表示制御部２５ｅは、応答発話用の中間表記を用いて、応答の音声を出力するとともに、応答発話表示用のテキストデータとＨＴＭＬデータとを用いて、応答内容を表示する（ステップＳ１６）。
【００３５】
〔１−２（２）．作用（応答生成サーバ）〕
次に、図７を用いて、第１の実施形態に係る応答生成サーバ１０による処理手順について説明する。図７は、第１の実施形態に係る応答生成サーバ１０による処理の手順を示すフローチャートである。図７に例示するように、応答生成サーバ１０の取得部１２ａは、ユーザが今回発話したテキストデータ及びユーザが発話した過去の発話の履歴情報等を受信したか否かを判定する（ステップＳ１０１）。なお、取得部１２ａは、今回発話されたテキストデータ、ユーザが発話した過去３回分の発話情報の他にも、ユーザ端末２０の現在位置を示す位置情報、過去にＡＰＩサーバを利用した利用履歴に関する利用履歴などを受信する。
【００３６】
そして、取得部１２ａは、ユーザにより今回発話されたテキストデータ及び履歴情報等を受信したと判定すると（ステップＳ１０１肯定）、取得部１２ａは、受信したテキストデータから発話の意味理解処理を行う（ステップＳ１０２）。例えば、取得部１２ａは、意味理解処理として、ユーザにより今回発話されたテキストデータ「日本橋から日本橋まで」である場合には、出発地パラメータが「日本橋」であり目的地パラメータが「日本橋」である乗り換え情報を検索する発話情報「ＰＲＡＭ＿ＦＲＯＭ：日本橋  ＴＯ＝日本橋」に変換する。
【００３７】
そして、選択部１２ｂは、発話情報に含まれる単語のうち、異なる意味の単語の候補が複数ある場合には、記憶部１３に記憶されたユーザ辞書から読みを取得する（ステップＳ１０３）。上記の例では、「ＰＲＡＭ＿ＦＲＯＭ：日本橋  ＴＯ＝日本橋」に含まれる二つの「日本橋」のそれぞれの読みとして「にっぽんばし」、「にほんばし」を取得し、検索条件「ＰＲＡＭ＿ＦＲＯＭ：日本橋  ＴＯ＝日本橋」を「ＰＲＡＭ＿ＦＲＯＭ：にっぽんばし  ＴＯ＝にほんばし」に変換する。
【００３８】
そして、選択部１２ｂは、サーバ辞書から読みをキーにして候補地を取得する（ステップＳ１０４）。図４の例を用いて説明すると、選択部１２ｂは、読みが「にっぽんばし」の候補地として、「日本橋（大阪）」を取得する。また、選択部１２ｂは、読みが「にほんばし」の候補地として、「日本橋（東京都）」と「日本橋（水上バス）」とを取得する。ここで、選択部１２ｂは、各候補地について、それぞれ位置情報をサーバ辞書から取得する。
【００３９】
そして、選択部１２ｂは、取得した候補地が複数であるか否かを判定する（ステップＳ１０５）。この結果、選択部１２ｂは、取得した候補地が複数である場合には（ステップＳ１０５肯定）、候補地と現在地の距離を取得する（ステップＳ１０６）。例えば、選択部１２ｂは、上述した例では、読みが「にほんばし」の候補地として、二つの候補地（「日本橋（東京都）」と「日本橋（水上バス）」）があるので、候補地が複数あると判定し、現在地と日本橋（東京都）との距離、および、現在地と日本橋（水上バス）との距離をそれぞれ取得する。
【００４０】
そして、選択部１２ｂは、各候補地と現在地との距離を取得し、各距離を比較した結果、現在地との距離が最も短い候補地を選択する（ステップＳ１０７）。上記の例において、例えば、選択部１２ｂは、現在地と日本橋（東京都）との距離と、現在地と日本橋（水上バス）との距離とを比較し、現在地と日本橋（東京都）との距離の方が短かった場合には、ユーザが発話した「にほんばし」については、「日本橋（東京都）」であるものと推定し、「日本橋（東京都）」を選択する。
【００４１】
つまり、ユーザの発話に含まれる地名のうち候補地が複数あるような地名の場合には、現在地とより近い候補地をユーザとより密接に関係する地名であると推定し、現在地との距離が最も短い候補地を選択することで、異音同字、同音異字、同音同字の地名が複数存在する場合であっても、ユーザに発話の意図を明確にすることができる。なお、現在地との距離が最も短い候補地を選択する場合に限定されることはなく、現在地との距離が最も遠い候補地を選択するようにしてもよい。また、現在地について複数の候補がある場合には、現在地との距離が最も遠い候補地を選択し、目的地について複数の候補がある場合には、現在地との距離が最も近い候補地を選択するようにしてもよい。
【００４２】
そして、要求生成部１２ｃは、選択された候補地に基づいて、検索条件を生成し、ＡＰＩサーバ４０に応答に必要なデータの検索を指示する（ステップＳ１０８）。例えば、要求生成部１２ｃは、検索条件として、出発地パラメータ「日本橋（大阪）」から目的地パラメータ「日本橋（東京都）」までの乗り換え情報を要求する検索条件を生成し、路線ＡＰＩサーバ４１に応答に必要なデータの検索を指示する。また、ステップＳ１０５において、選択部１２ｂは、取得した候補地が複数でない場合には（ステップＳ１０５否定）、選択された候補地に基づいて、検索条件を生成し、ＡＰＩサーバ４０に応答に必要なデータの検索を指示する（ステップＳ１０８）。
【００４３】
その後、応答生成サーバ１０は、ＡＰＩサーバ４０からＸＭＬデータを受信してＸＭＬデータをＨＴＭＬデータに変換し、音声合成サーバ５０から応答発話用の中間表記を受信した後に、応答発話用の中間表記と応答発話表示用のテキストデータとＨＴＭＬデータとをユーザ端末２０に送信する（図６のステップＳ１０〜Ｓ１４参照）。
【００４４】
そして、ユーザ端末２０の表示制御部２５ｅは、応答発話用の中間表記と応答発話表示用のテキストデータとＨＴＭＬデータとを受信すると、応答発話用の中間表記を用いて、応答の音声を出力するとともに、応答発話表示用のテキストデータとＨＴＭＬデータとを用いて、応答内容を表示する。ここで、図８の例を用いて、ユーザの発話に対してユーザ端末２０の表示部２４に表示される応答画像の一例を説明する。図８は、第１の実施形態に係るユーザ端末２０の応答画像の一例を説明するための図である。
【００４５】
まず、図８の例を用いて説明すると、応答画像の上部に、発話用のテキストデータ（音声認識サーバ３０から受信したデータ）が表示され、発話用のテキストデータの下部に乗り換え情報に関するＨＴＭＬデータが表示されている。具体的には、図８に例示するように、発話用のテキストデータとして「日本橋から日本橋」が表示されている。また、発話用のテキストデータの下部に、乗り換え情報に関するＨＴＭＬデータとして、出発地「日本橋（大阪）」から目的地「日本橋（東京都）」までの乗り換え情報が表示されている。なお、図８の例では、乗り換え情報の一部のみが表示されているものとし、ユーザの操作により画面をスクロールさせることで、表示されていない乗り換え情報についても閲覧することができる。
【００４６】
ここで、図８の例では、ユーザが「日本橋（にっぽんばし）から日本橋（にほんばし）」と発話し、上述したように、日本橋と同音同字および異音同字の地名が複数あることから、今回の発話だけでは、どの日本橋を意図しているかが分からない。このような場合に、第１の実施の形態に係る応答生成サーバ１０では、例えば、読みから地名の候補を取得するとともに、地名の候補が複数ある場合には、現在地との距離が近い地名の候補を選択することで、出発地のパラメータが「日本橋（大阪）」であり、目的地のパラメータ「日本橋（東京都）」であることを推定し、出発地「日本橋（大阪）」から目的地「日本橋（東京都）」までの乗り換え情報を生成する。このため、ユーザ端末２０が出発地「日本橋（大阪）」とし目的地「日本橋（東京都）」とした乗り換え情報を表示させることができる結果、発話の内容に異音同字、同音異字、同音同字の単語が複数存在する場合であっても、ユーザの発話の意図を的確に把握し、適切な応答を行うことが可能である。
【００４７】
〔１−３．効果〕
上述してきたように、第１の実施形態に係る応答生成サーバ１０は、ユーザが発話した情報である発話情報と、ユーザ端末２０が保持する情報とを取得し、取得された発話情報に含まれる単語のうち、異なる意味の単語の候補が複数ある場合には、発話情報とユーザ端末２０が保持する情報とを用いて、複数の単語の候補から一つの単語を選択する。そして、応答生成サーバ１０は、選択された単語の意味で特定した発話情報を用いて、サービスに対する検索条件を生成し、検索条件に基づいて取得したサービス情報を用いて、発話情報に対する応答情報を生成する。
【００４８】
これにより、第１の実施形態に係る応答生成サーバ１０は、ユーザが発話した内容に含まれる単語のうち、異なる意味の単語の候補が複数ある場合であっても、発話情報とユーザ端末２０が保持する情報（例えば、位置情報等）とを用いて、単語の意味を適切に推定し、ユーザの発話の意図を的確に把握し、適切な応答を行うことを可能にする。
【００４９】
また、第１の実施形態に係る応答生成サーバ１０は、取得された発話情報に含まれる単語のうち、同一の読みで異なる意味の単語の候補が複数ある場合、同一の文字で異なる意味の異なる意味の単語の候補が複数ある場合、または、同一の読みおよび同一の文字で異なる意味の異なる意味の単語の候補が複数ある場合には、発話情報とユーザ端末２０が保持する情報とを用いて、複数の単語の候補から一つの単語を選択する。
【００５０】
これにより、第１の実施形態に係る応答生成サーバ１０は、ユーザが発話した内容に含まれる単語のうち、異音同字、同音異字、同音同字の単語が複数存在する場合であっても、発話情報とユーザ端末２０が保持する情報（例えば、位置情報等）とを用いて、単語の意味を適切に推定し、ユーザの発話の意図を的確に把握し、適切な応答を行うことを可能にする。
【００５１】
また、第１の実施形態に係る応答生成サーバ１０は、ユーザ端末２０が保持する情報として、該ユーザ端末２０の位置情報、過去の発話情報に関する履歴情報、過去のサービスの利用履歴に関する利用履歴情報のいずれか一つまたは複数を取得し、取得された発話情報に含まれる単語のうち、異なる意味の単語の候補が複数ある場合には、取得されたユーザ端末２０の位置情報、過去の発話情報に関する履歴情報、過去のサービスの利用履歴に関する利用履歴情報のいずれか一つまたは複数を用いて、複数の単語の候補から一つの単語を選択する。
【００５２】
これにより、第１の実施形態に係る応答生成サーバ１０は、ユーザ端末２０の位置情報、過去の発話情報に関する履歴情報、過去にＡＰＩサーバ４０を利用した利用履歴に関する利用履歴情報を用いて、単語の意味をより適切に推定することができる結果、ユーザの発話の意図を的確に把握し、適切な応答を行うことを可能にする。
【００５３】
また、第１の実施形態に係る応答生成サーバ１０は、取得された発話情報に含まれる地名のうち、場所の異なる複数の地名の候補がある場合には、取得された位置情報を用いて、該地名の候補のうち、ユーザ端末２０の位置と最も近い地名を選択する。
【００５４】
これにより、第１の実施形態に係る応答生成サーバ１０は、ユーザの発話に含まれる地名のうち候補地が複数あるような地名の場合には、現在地とより近い候補地をユーザとより密接に関係する地名であると推定し、現在地との距離が最も短い候補地を選択することで、異音同字、同音異字、同音同字の地名が複数存在する場合であっても、ユーザに発話の意図を明確にすることを可能にする。
【００５５】
（第２の実施形態）
本願に係る応答生成装置、応答生成方法および応答生成プログラムは、上述した第１の実施形態以外にも種々の異なる形態にて実施されてよい。第２の実施形態では、他の実施形態について説明する。
【００５６】
〔２−１．単語の意味推定〕
上述した第１の実施形態においては、地名について複数の候補地がある場合については、ユーザ端末２０の位置情報を用いて、現在地との距離が最も短い候補地を選択する場合について説明した。しかしながら、実施形態はこれに限定されるものではなく、例えば、発話情報に含まれる単語のうち、異なる意味の単語の候補が複数ある場合には、過去の発話情報に関する履歴情報を用いて、過去の発話に含まれる単語を選択してもよい。つまり、ユーザの発話に含まれる単語のうち候補が複数ある単語について、過去にユーザが発話したことがある場合には、過去にユーザが発話した際の単語の意味と同じであると推定し、過去の発話に含まれる単語を選択する。
【００５７】
また、例えば、発話情報に含まれる単語のうち、異なる意味の単語の候補が複数ある場合には、過去にＡＰＩサーバ４０を利用した利用履歴に関する利用履歴情報を用いて、ＡＰＩサーバ４０から取得した情報に含まれる単語を選択するようにしてもよい。つまり、ユーザの発話に含まれる単語のうち候補が複数ある単語について、過去にユーザが閲覧したり、検索したりした単語の意味と同じであると推定し、ＡＰＩサーバ４０から取得した情報に含まれる単語を選択する。このように、履歴情報や利用履歴情報を用いて、単語の意味をより適切に推定することができる結果、ユーザの発話の意図を的確に把握し、適切な応答を行うことを可能にする。
【００５８】
〔２−２．履歴情報〕
上述した第１の実施形態においては、応答生成サーバ１０が履歴情報をユーザ端末２０から受信する場合を説明した。しかしながら、実施形態はこれに限定されるものではなく、応答生成サーバ１０が履歴情報を管理するようにしてもよい。例えば、応答生成サーバ１０は、ユーザ端末２０を一意に識別する識別情報などを用いて、ユーザ端末２０ごとに履歴情報を管理するようにしてもよい。
【００５９】
〔２−３．その他〕
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００６０】
また、上述した応答生成サーバ１０は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【００６１】
また、特許請求の範囲に記載した「手段」は、「部（section、module、unit）」や「回路」などに読み替えることができる。例えば、応答生成手段は、応答生成部や応答生成回路に読み替えることができる。
【符号の説明】
【００６２】
１０  応答生成サーバ
１１  通信部
１２  制御部
１２ａ  取得部
１２ｂ  選択部
１２ｃ  要求生成部
１２ｄ  変換部
１２ｅ  音声合成指示部
１２ｆ  応答生成部
１３  記憶部
２０  ユーザ端末
２１  マイク
２２  スピーカ
２３  アプリ
２３ａ  音声データ送信部
２３ｂ  テキストデータ受信部
２３ｃ  テキストデータ送信部
２３ｄ  ＨＴＭＬデータ受信部
２３ｅ  表示制御部
２４  メモリ
２４ａ  履歴記憶部
２４ｂ  位置情報記憶部
３０  音声認識サーバ
４１  路線ＡＰＩサーバ
４２  天気ＡＰＩサーバ
４３  Ｗｅｂ検索ＡＰＩサーバ
【図１】
0005965175.tif 000002
【図２】
0005965175.tif 000003
【図３】
0005965175.tif 000004
【図４】
0005965175.tif 000005
【図５】
0005965175.tif 000006
【図６】
0005965175.tif 000007
【図７】
0005965175.tif 000008
【図８】
0005965175.tif 000009