(57)【要約】  ユーザの意に沿った応答文を生成する。応答装置（１）は、入力文に未知語が含まれている場合に、共用語が未知語と共通する既知語である関連語を検出する関連語検索部（１３）と、関連語検索部（１３）が検出した関連語に関連した内容の応答文を生成する応答文生成部（１６）と、を備えている。
2018123139.tif 000002
【特許請求の範囲】
【請求項１】
入力文に対する応答文を生成する応答装置であって、
当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出部と、
上記検出部が検出した関連語に関連した内容の応答文を生成する応答文生成部と、を備えていることを特徴とする応答装置。
【請求項２】
上記検出部は、複数の文における語と語の組み合わせを記憶したデータベースから、上記未知語と組み合わされている上記共用語を検出すると共に、上記データベースから、上記共用語と組み合わされている既知語を上記関連語として検出することを特徴とする請求項１に記載の応答装置。
【請求項３】
上記検出部は、複数の上記共用語を検出すると共に、複数の当該共用語のうち少なくとも２つと組み合わされている既知語を上記関連語として検出することを特徴とする請求項２に記載の応答装置。
【請求項４】
上記検出部が上記関連語を検出できなかった場合に、上記入力文における上記未知語の上記共用語のカテゴリを、当該未知語のカテゴリであると判定するカテゴリ推測部をさらに備え、
上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成することを特徴とする請求項１から３の何れか１項に記載の応答装置。
【請求項５】
上記検出部が上記関連語を検出できなかった場合に、上記入力文が入力される直前に上記応答装置が出力した出力文のカテゴリから、当該未知語のカテゴリを判定するカテゴリ推測部をさらに備え、
上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成することを特徴とする請求項１から３の何れか１項に記載の応答装置。
【請求項６】
入力文に対する応答文を生成する応答装置であって、
上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出部と、
上記検出部が検出した関連呼称に関連した内容の応答文を生成する応答文生成部と、を備えていることを特徴とする応答装置。
【請求項７】
上記検出部は、複数の文における語と語の組み合わせと、当該文が発された場所および時間帯の少なくとも何れかと、を記憶したデータベースから、発された場所および時間帯の少なくとも何れかが上記入力文と共通する上記関連呼称を検出することを特徴とする請求項６に記載の応答装置。
【請求項８】
入力文に対する応答文を生成する応答装置の制御方法であって、
当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出ステップと、
上記検出ステップで検出した関連語に関連した内容の応答文を生成する応答文生成ステップと、を含むことを特徴とする応答装置の制御方法。
【請求項９】
入力文に対する応答文を生成する応答装置の制御方法であって、
上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出ステップと、
上記検出ステップで検出した関連呼称に関連した内容の応答文を生成する応答文生成ステップと、を含むことを特徴とする応答装置の制御方法。
【請求項１０】
請求項１または６に記載の応答装置としてコンピュータを機能させるための制御プログラムであって、上記検出部および上記応答文生成部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの入力文に対する応答文を生成する応答装置等に関する。
【背景技術】
【０００２】
従来から、ユーザから入力文の入力文を受け付けて、これに対する応答文を生成する装置やシステムの研究開発が進められている。例えば、下記の特許文献１には、ユーザ発言から検出した呼び名と不揮発性メモリに記憶された各人物の呼び名との類似性から、当該呼び名の指し示す人物を判定して、その人物に関する発言をユーザに対する返事として返す技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】日本国公開特許公報「特開２００４−３３４５９１号公報（２００４年１１月２５日公開）」
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、ユーザの意に沿った応答文を生成することができない場合がある。例えば、ユーザ発言に語義等が不明な未知語が含まれていた場合に、上記従来技術ではその未知語の内容に即した返事を返すことができない。また、一般的に、同じ人物について類似しない複数の呼び方がされる場合があるが、上記従来技術では、このような場合に適切な返事を返すことができない。【０００５】
本発明の一態様は、ユーザの意に沿った応答文を生成することができる応答装置等を実現することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の一態様に係る応答装置は、入力文に対する応答文を生成する応答装置であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出部と、上記検出部が検出した関連語に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。【０００７】
上記の課題を解決するために、本発明の一態様に係る他の応答装置は、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出部と、上記検出部が検出した関連呼称に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。【０００８】
上記の課題を解決するために、本発明の一態様に係る応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出ステップと、上記検出ステップで検出した関連語に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。【０００９】
上記の課題を解決するために、本発明の一態様に係る他の応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出ステップと、上記検出ステップで検出した関連呼称に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。
【発明の効果】
【００１０】
本発明の一態様によれば、ユーザの意に沿った応答文を生成することが可能になるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係る応答装置の要部構成の一例を示すブロック図である。
【図２】対話履歴ＤＢの一例を示す図である。
【図３】関連語の検索方法を説明する図である。
【図４】関連名の検索方法を説明する図である。
【図５】「お母さん」と「小百合」が同一人物を示すとの推測に基づいて図４における各単語間の関連付けを再構築した図である。
【図６】音声入力受付から応答音声出力までに上記応答装置が実行する処理の一例を示すフローチャートである。
【図７】未知語のカテゴリを推測した上でシナリオを検索する場合に上記応答装置が実行する処理の一例を示すフローチャートである。
【図８】関連名を検索した上でシナリオを検索する場合に上記応答装置が実行する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
〔実施形態１〕
〔応答装置の構成〕
本実施形態に係る応答装置について図１に基づいて説明する。図１は、応答装置１の要部構成の一例を示すブロック図である。応答装置１は、ユーザの入力文に対する応答文を生成する装置である。本実施形態では、応答装置１が、ユーザが音声で発したメッセージを入力文として、この入力文に対する応答文を音声で出力する例を説明する。以下、入力文と応答文とを総称して「入出力文」と記載する場合がある。「入出力文」と記載した場合、それは入力文および出力文の何れかまたは両方を指す。なお、入力文と応答文の少なくとも何れかがテキストメッセージであってもよい。応答文がテキストメッセージである場合、応答文の出力は表示または印字で行えばよい。
【００１３】
応答装置１は、応答装置１の各部を統括して制御する制御部１０、応答装置１が使用する各種データを記憶する記憶部２０、音声入力を受け付ける音声入力部３０、および音声を出力する音声出力部４０を備えている。また、制御部１０には、音声認識部１１、形態素解析部１２、関連語検索部（検出部）１３、カテゴリ推測部１４、シナリオ検索部１５、応答文生成部１６、および音声合成部１７が含まれている。そして、記憶部２０には、辞書２１、対話履歴ＤＢ（データベース）２２、およびシナリオＤＢ２３が格納されている。
【００１４】
音声認識部１１は、音声入力部３０に入力された音声を音声認識し、この音声認識の結果としてテキストデータを生成する。つまり、音声認識部１１は、入力文のテキストデータを生成する。
【００１５】
形態素解析部１２は、音声認識結果である入力文のテキストデータを形態素解析する。形態素解析では、入力文のテキストデータは形態素に分けられ、各形態素について辞書２１に基づいて品詞や品詞の意味、カテゴリ等の情報が付与される。同じカテゴリの語は、そのカテゴリに対応する共通の属性を有している。また、同じカテゴリの文は、そのカテゴリに対応する共通の属性を有している。どのような単語をどのようなカテゴリに分類し、どのような文をどのようなカテゴリに分類するか、および各カテゴリをどのように規定するかは予め定められている。形態素解析結果は、入力文のテキストデータと共に対話履歴ＤＢ２２等に格納され、関連語検索部１３等の各部で利用される。
【００１６】
関連語検索部１３は、入力文に未知語が含まれている場合に、文中での用いられ方が該未知語と共通する既知語である関連語を検索する。より詳細には、関連語検索部１３は、対話履歴ＤＢ２２等のデータベースから未知語と組み合わせて用いられている語である共用語を検出すると共に、それらデータベースから当該共用語と組み合わせて用いられている既知語を関連語として検出する。言い換えれば、関連語検索部１３は、共用語が未知語と共通する関連語を検出する。なお、未知語とは、応答装置１が応答文の生成に用いる所定の情報が対応付けられていない語である。上記所定の情報としては、例えば語義およびその語が属するカテゴリが挙げられる。本実施形態では、辞書２１に見出し語として登録されていない語を未知語として扱う。辞書２１に見出し語として登録されていない、新語、造語、略語等も未知語の範疇に含まれる。一方、既知語は、上記所定の情報が対応付けられている語である。本実施形態では、辞書２１に見出し語として登録されている語には、語義やカテゴリも辞書２１に登録されているとする。つまり、本実施形態では、辞書２１に見出し語として登録されている語を既知語として扱う。
【００１７】
また、関連語検索部１３は、入力文に他の呼称を有する単語が含まれている場合に、文中での用いられ方が上記単語と共通する呼称である関連呼称を検出する。言い換えれば、関連語検索部１３は、他の呼称を有する単語と共用語が共通する関連呼称を検出する。以下では、他の呼称を有する単語が人を表す普通名詞である例を説明する。このような普通名詞には、少なくともその人を表す固有名詞という他の呼称が存在する。また、上記単語が人を表す普通名詞であるから、以下の説明では、上記関連呼称を関連名と呼ぶ。なお、他の呼称を有する単語は、他の呼称を有していればよく、この例に限られない。また、関連呼称を検出する上記の処理は、関連語検索部１３とは別の処理ブロックを設けて、その処理ブロックが実行するようにしてもよい。
【００１８】
カテゴリ推測部１４は、未知語のカテゴリを入力文の文脈から推測する。より詳細には、カテゴリ推測部１４は、入力文における未知語の共用語のカテゴリを、未知語のカテゴリであると判定する。さらに詳細には、カテゴリ推測部１４は、未知語が入力文の主語であり、共用語がその述語である場合に、当該述語が主語の状態または性質を示す語であれば、未知語のカテゴリを当該共用語と同じカテゴリであると判定する。つまり、カテゴリ推測部１４は、入力文が「＜未知語＞は＜Ａ＞です／だ」のような文章構造を有している場合、未知語のカテゴリは「Ａ」のカテゴリと同じであると判定する。例えば、「紅玉」が未知語である場合に、入力文が「紅玉はリンゴだよ」であれば、カテゴリ推測部１４は、「紅玉」のカテゴリを「リンゴ」と同じカテゴリ（例えば、果物）であると判定する。これにより、新しいリンゴの品種が会話に登場したときにもリンゴに関連した会話を継続することができる。
【００１９】
同様に、カテゴリ推測部１４は、入力文が「＜Ｂ＞は＜未知語＞です／だ」のような文章構造を有している場合、未知語のカテゴリは「Ｂ」のカテゴリと同じであると判定してもよい。例えば、入力文が「製菓に向くリンゴは紅玉です」である場合にもカテゴリ推測部１４は、「紅玉」のカテゴリを「リンゴ」と同じカテゴリ（例えば、果物）であると判定してもよい。
【００２０】
また、カテゴリ推測部１４は、入力文が入力される直前の出力文のカテゴリから、未知語のカテゴリを判定する。より詳細には、カテゴリ推測部１４は、あいさつのように１文節から構成されるような入力文が未知語を含む場合、その未知語のカテゴリを、直前の出力文と同じカテゴリであると判定する。例えば、応答装置１が「おはよう（カテゴリ：あいさつ）」と音声出力した後の入力文が「ちーす（未知語）」であった場合、カテゴリ推測部１４は、「ちーす」のカテゴリをあいさつであると判定する。これにより、「ちーす」のような未知語に対しても、例えば「今日もいい天気だね」等の適切な応答文を返すことができる。
【００２１】
シナリオ検索部１５は、応答文の生成に用いるシナリオをシナリオＤＢ２３から検索する。なお、本実施形態における「シナリオ」は、応答文の内容の大枠を定めたものであり、応答文を生成するためのテンプレートを含む。シナリオの検索方法については、シナリオＤＢ２３の詳細と共に後述する。
【００２２】
応答文生成部１６は、応答文を生成する。応答文の生成方法については後述するが、関連語検索部１３が関連語を検出した場合には、応答文生成部１６は、その関連語に関連した内容の応答文を生成する。また、関連語検索部１３が関連名を検出した場合には、応答文生成部１６は、その関連名に関連した内容の応答文を生成する。
【００２３】
音声合成部１７は、応答文生成部１６が生成した応答文を音声データに合成する。合成した音声データは音声出力部４０から音声出力される。
【００２４】
辞書２１は、形態素解析を行うためのものである。辞書２１は、例えば、見出し語に対してその品詞、語義等が対応付けられたデータ構造を有していてもよい。入力文の形態素解析が可能な情報を含む任意の辞書を辞書２１として適用することができる。形態素解析部１２は、辞書２１に見出し語として含まれていない語を未知語と判定する。形態素解析部１２が未知語であると判定しなかった語は既知語である。
【００２５】
対話履歴ＤＢ２２は、応答装置１に対する入力文および応答装置１の出力文を記憶したデータベースである。対話履歴ＤＢ２２は、例えば図２のようなデータ構造を有していてもよい。図２は、対話履歴ＤＢ２２の一例を示す図である。なお、同図の（ａ）のテーブルが対話履歴ＤＢ２２であり、同図の（ｂ）は対話履歴ＤＢ２２に付随するノードＤＢ（データベース）、同図の（ｃ）はノードデータベースに付随するノードリンクＤＢ（データベース）である。
【００２６】
図２の（ａ）に示す対話履歴ＤＢ２２は、入出力文、ユーザ、システム、日時、位置情報、カテゴリ、親カテゴリ、意図、およびノードリンク、のレコードが対応付けられたテーブルである。「入出力文」は入力文または出力文のテキストデータである。また、「ユーザ」のレコードはユーザからの発話であるか否かを示し、「システム」のレコードはシステムすなわち応答装置１からの発話であるか否かを示す。図示の例では「１」が肯定、「０」が否定を示している。つまり、「リンゴは赤い」はユーザによる発話すなわち入力文であり、「大阪のお土産はたこ焼きだね」は応答装置１による発話すなわち出力文である。「日時」は「入出力文」が発された日時および時刻を示し、「位置情報」は「入出力文」が発された場所を示している。「カテゴリ」は「入出力文」の内容のカテゴリ、「親カテゴリ」は上記「カテゴリ」の親（上位の）カテゴリである。「意図」は、「入出力文」の内容の行動解析結果であり、例えば「肯定」、「提案」の他、「疑問」、「願望」等も「意図」である。「ノードリンク」は、入出力文に含まれるノードのノードＤＢにおけるエントリを示している。
【００２７】
図２の（ｂ）に示すノードＤＢは、ノード番号、ノード、ヨミ、カテゴリ、親カテゴリ、品詞、および付属情報のレコードが対応付けられたテーブルである。「ノード番号」は、ノードのエントリ番号である。「ノード」は、入出力文に含まれる単語であり、「ヨミ」はこの単語の読みを示す。「カテゴリ」は単語のカテゴリ、「親カテゴリ」は上記「カテゴリ」の親（上位の）カテゴリ、「品詞」は単語の品詞を示している。「付属情報」は、入出力文における単語の使われ方を示しており、何（what）、いつ（when）、どこ（where）、誰（who）、どのようだ（どのように）（how）、およびする（do）の何れかである。
【００２８】
図２の（ｃ）に示すノードリンクＤＢは、助詞、ノード１、およびノード２が対応付けられたテーブルである。「ノード１」と「ノード２」は、「助詞」で接続されている単語を、ノードＤＢのエントリ番号で示したものである。例えば、図２の（ｃ）１行目のレコードでは、「ノード１」が「１」、「ノード２」が「２」、「助詞」が「は」となっている。これは、同図の（ｂ）の「リンゴ」（ノード番号１）と、「赤い」（ノード番号２）が、「助詞」である「は」でリンクされていることを表している。
【００２９】
形態素解析部１２が辞書２１を用いて入出力文を形態素解析することにより、上述した各データベースにおける各レコードの値が特定される。つまり、カテゴリ（入出力文全体）、親カテゴリ（入出力文全体）、意図、ノードリンク、ノード、ヨミ、カテゴリ（ノード単体）、親カテゴリ（ノード単体）、品詞、付属情報、および助詞、の値が特定される。
【００３０】
このように、ノードＤＢおよびノードリンクＤＢは、複数の入出力文における語と語の組み合わせを記憶したデータベースである。詳細は後述するが、関連語検索部１３は、これらのデータベースから、未知語（または他の呼称を有する単語）と組み合わされている共用語を検出する。また、関連語検索部１３は、これらのデータベースから、上記検出した共用語と組み合わされている既知語（呼称）を関連語（関連呼称）として検出する。
【００３１】
シナリオＤＢ２３は、応答文の生成に用いるシナリオを記憶したデータベースである。シナリオＤＢ２３は、様々な適用条件に応じたシナリオを検索できるデータ構造となっている。例えば、シナリオＤＢ２３は、各シナリオについて、そのシナリオの適用条件と、応答文のテンプレートとを対応付けたデータ構造であってもよい。上記適用条件は、入力文のカテゴリ、入力文に含まれる単語、および入力文に含まれる単語と関連した単語等に関する条件であってもよい。
【００３２】
また、シナリオの適用条件には、入力文に基づく条件（以下、入力文条件）と、過去の入出力文の記憶内容に基づく条件（以下、記憶条件）とが含まれていてもよい。この場合、シナリオ検索部１５は、入力文条件を充足するか否かを、入力文の音声認識結果および形態素解析結果を参照して判定する。入力文条件は、例えば入力文全体のカテゴリが所定のカテゴリであり、かつ入力文に所定の単語が含まれているという条件であってもよい。なお、入力文が入力された日時、場所、および単語のカテゴリ等の少なくとも何れかが入力文条件に含まれていてもよい。また、この場合、シナリオ検索部１５は、記憶条件を充足するか否かを、対話履歴ＤＢ２２、ノードＤＢ、およびノードリンクＤＢを参照して判定する。記憶条件は、所定のカテゴリの単語と、所定の単語とがリンクされているという条件であってもよい。この他、所定の単語と所定の単語がリンクされている、所定のカテゴリの単語と所定のカテゴリ（先の「所定のカテゴリ」と同じであってもよいし異なっていてもよい）の単語とがリンクされている等であってもよい。また、日時や場所等を記憶条件に含めてもよい。
【００３３】
例えば、下記のようなシナリオがシナリオＤＢ２３に含まれていたとする。
入力文条件：入力文のカテゴリが「果物・果物加工品」、かつ「赤い」との単語を含む。記憶条件：「果物・果物加工品」のカテゴリの単語が「赤い」との単語とリンク。
テンプレート：「＜ｍＮｏｄｅ１＞も赤いね」
この場合、シナリオ検索部１５は、入力文の音声認識結果および形態素解析結果から入力文が上記入力文条件を充足すると判定し、かつ対話履歴ＤＢ２２、ノードＤＢ、およびノードリンクＤＢから上記記憶条件も充足すると判定すればこのシナリオを検出する。例えば、ユーザが「リンゴは赤いね」と発話した場合、音声認識結果および形態素解析結果から、この発話に係る入力文は、カテゴリが「果物・果物加工品」であり、「赤い」を含むと判定される。つまり、シナリオ検索部１５は、この入力文は上記シナリオの入力文条件を充足すると判定する。また、この場合に、対話履歴ＤＢ２２に「イチゴは赤い」との文が記憶されていれば、ノードＤＢとノードリンクＤＢから、カテゴリが「果物・果物加工品」である単語と、「赤い」がリンクされていると判定される。つまり、シナリオ検索部１５は、上記シナリオの記憶条件も充足されていると判定する。よって、シナリオ検索部１５は、シナリオＤＢ２３からこのシナリオを検出する。そして、応答文生成部１６は、このシナリオのテンプレートにおける＜ｍＮｏｄｅ１＞の部分に、記憶条件の判定時に検出した単語（果物・果物加工品のカテゴリに属し、ノードリンクＤＢにおいて「赤い」とリンクされている単語）である「イチゴ」を挿入する。これにより、「イチゴも赤いね」との応答文が生成される。なお、対話履歴ＤＢ２２に「さくらんぼが赤い」との文がさらに記憶されていた場合、「さくらんぼも赤いね」との応答文を生成することもできる。＜ｍＮｏｄｅ１＞の部分に挿入可能な単語が複数検出された場合に、挿入する単語を決定する方法は予め定めておけばよい。
【００３４】
〔関連語の検索〕
共通の言葉とつながっている（組み合わせて用いられている）語はカテゴリも同一である可能性が高いと考えられるため、関連語検索部１３は、未知語とつながっている語に基づいて、未知語とカテゴリが同一である可能性が高い関連語を検索する。これについて、図３に基づいて説明する。図３は、関連語の検索方法を説明する図である。
【００３５】
同図において楕円内には対話履歴ＤＢ２２に記憶されている単語（形態素）とその形態素解析結果を記載している。また、楕円と楕円とを結ぶ線分は、該線分で結ばれた楕円内の単語が組み合わせて用いられたことを示し、この線分上の円内にはこれら単語を結ぶ助詞を記載している。この例では、「紅玉」のみが未知語であり、他の語は何れも既知語である。
【００３６】
図示の例において、「紅玉」は未知語である。また、「紅玉」は、「買う」、「赤い」、「甘い」と結ばれており、これらの単語と組み合わせて用いられている。よって、関連語検索部１３は、まず、「紅玉」と組み合わせて用いられている語である共用語を、「買う」、「赤い」、「甘い」の３つであると特定する。
【００３７】
次に、関連語検索部１３は、上記特定した共用語を有する他の語を検索する。関連語検索部１３は、この検索により、「赤い」を共用語とする「リンゴ」、「イチゴ」、「飴」を検出すると共に、「甘い」を共用語とする「リンゴ」、「飴」を検出する。このうち、「イチゴ」は「紅玉」との共用語が「赤い」の１つのみであるから関連語とはしない。また、「飴」も共用語が１つのみであるから関連語とはしない。一方、「リンゴ」は、「紅玉」との共用語が複数（「赤い」と「甘い」）あるから関連語とする。言い換えれば、「リンゴ」は、「紅玉」と「赤い」および「甘い」という２つの性質を共有しているので、「紅玉」の関連語であるとされる。さらに言い換えれば、関連語検索部１３は、未知語について複数種類の共用語を検出すると共に、当該複数種類の共用語のうち少なくとも２種類と組み合わせて用いられている既知語を関連語として検出する。
【００３８】
これにより、関連語検索部１３は、「紅玉」の関連語として「リンゴ」を検出することができる。また、「リンゴ」は既知語であるから、「リンゴ」のカテゴリは特定することができる。そして、「リンゴ」と「紅玉」は共通の性質を有しているため、カテゴリも共通であると推測することができる。例えば、「リンゴ」のカテゴリが果物であった場合、「紅玉」のカテゴリも果物とみなすことができる。
【００３９】
なお、図２に示す各ＤＢを用いて関連語を検出する方法を説明すれば以下の通りである。まず、関連語検索部１３は、ノードＤＢ（図２の（ｂ））から「ノード」が「紅玉」となっているレコードを検出し、そのレコードから「紅玉」のノード番号を特定する。次に、関連語検索部１３は、ノードリンクＤＢ（図２の（ｃ））から、上記特定したノード番号と対応付けられているノード番号を複数検出する。関連語検索部１３は、これらのノード番号の語を共用語と特定する。
【００４０】
次に、関連語検索部１３は、上記検出した複数のノード番号（共用語のノード番号）のそれぞれについて、ノードリンクＤＢにおいて、当該ノード番号と対応付けられているノード番号（関連語の候補となる語のノード番号）を検出する。そして、検出したノード番号のうち、共用語の複数のノード番号のうち少なくとも２つと組み合わされているノード番号を抽出する。なお、共用語のノード番号の１つと組み合わされているノード番号についても抽出の対象に加えてもよい。最後に、関連語検索部１３は、上記抽出したノード番号のノードをノードＤＢから特定し、このノードの語を関連語として検出する。
【００４１】
よって、関連語検索部１３を備える応答装置１は、未知語である「紅玉」について、果物のシナリオから応答文を生成することができ、ユーザとの自然な会話が実現される。例えば、「［果物］は冷やすとおいしいよね」というシナリオがあった場合、応答装置１は、ユーザの「紅玉」に関する入力文に対し、「紅玉は冷やすとおいしいよね」との応答文を返すことができる。
【００４２】
なお、図３の例において、「イチゴ」の共用語に「甘い」が含まれていた場合には、「イチゴ」と「紅玉」も２つの共用語を共有することになるから、「イチゴ」も関連語として検出される。また、図示していないが、「さくらんぼ」という名詞の共用語に「甘い」、「赤い」が含まれていた場合には、「さくらんぼ」も関連語として検出される。このように、複数の関連語を検出した場合であっても、各関連語のカテゴリが同じ（本実施形態では何れも「果物」）であれば、そのカテゴリをそのまま未知語のカテゴリとみなせばよい。
【００４３】
一方、図示の「飴」の共用語に「赤い」が含まれていた場合、「飴」も関連語として検出され得る。「飴」はカテゴリが「菓子」であり、「リンゴ」のカテゴリである「果物」とは相違する。このような場合、関連語検索部１３は、「果物」のカテゴリの名詞と、「菓子」のカテゴリの名詞の中で、他に「紅玉」と共通の共有語を有するものを検索し、検出した名詞のカテゴリを適用すればよい。例えば、図示の例では、「果物」のカテゴリである「イチゴ」は、「紅玉」との共有語である「赤い」を有している。一方、「菓子」のカテゴリの単語は「飴」以外にない。よって、関連語検索部１３は、「紅玉」のカテゴリとして「果物」を適用すればよい。なお、関連語のカテゴリを決定する処理は、シナリオ検索部１５側で行うようにしてもよい。
【００４４】
このように、応答装置１は、自然会話の中によく出てくる、略語や新語等のような、カテゴリが特定できない未知語についても、カテゴリを推測して割り当てる。よって、適切なシナリオから応答文を生成することが可能になる。
【００４５】
〔関連名の検索〕
関連名の検索について、図４に基づいて説明する。図４は、関連名の検索方法を説明する図である。関連名の検索は、関連語の検索と概ね同様であるが、入出力文が発された時間帯および場所を考慮した検索を行う点で関連語の検索と相違している。
【００４６】
同図において楕円内には対話履歴ＤＢ２２に記憶されている単語（形態素）とその形態素解析結果を記載している。また、楕円と楕円とを結ぶ線分は、該線分で結ばれた楕円内の単語が組み合わせて用いられたことを示し、この線分上の円内にはこれら単語を結ぶ助詞を記載している。さらに、楕円内の単語を含む入力文が応答装置１に入力された（出力文を応答装置１が出力した）時刻および場所を矩形内に記載している。
【００４７】
図示の例において、「お母さん」は人を表す普通名詞である。まず、関連語検索部１３は、「お母さん」の共用語を、「イチゴ」、「選択する」、「料理する」の３つであると特定する。
【００４８】
次に、関連語検索部１３は、上記特定した共用語を有し、発された場所および時間帯が「お母さん」を含む入力文と共通しており、人名を示す他の語を検索する。共用語が共通している呼称は、同一人物の呼称であると推察できる。さらに、その呼称を含む入出力文が発された場所および時間帯が、入力文が発された場所および時間帯と共通する場合には、それらの文が発されたシチュエーションも共通しているので、それらの文に含まれる呼称は、同一人物の呼称である可能性が高い。よって、上記の検索によれば、「お母さん」と同一人物の呼称を関連名として検出することができる。なお、関連名の検索条件として、場所および時間帯の何れか一方を用いてもよい。また、上記「人名を示す他の語」は、人名を示す固有名詞であってもよいし、人名を示す他の普通名詞であってもよい。さらに、人名を示すか否か、普通名詞であるか、固有名詞であるか等を検索条件に含めずに、広く名詞全般を関連名の検索対象としてもよい。
【００４９】
例えば、図示の例では、関連語検索部１３は、「イチゴ」を共用語とする、人名を示す固有名詞「小百合」を検出する。また、図示の例では、「お母さん」が「洗濯する」との入力文が発された時刻が８：００、場所が自宅であり、「小百合」が「洗濯する」との入力文が発された時刻が８：３０、場所が自宅である。よって、関連語検索部１３は、これらの入力文が発された場所および時間帯が共通していると判定し、「洗濯する」も「小百合」と「お母さん」との共用語であると判定する。
【００５０】
なお、時間帯の区分は予め定めておけばよい。例えば、５：００〜１０：００の時間帯を規定しておけば、８：００と８：３０は何れもこの時間帯に含まれるので、時間帯が共通していると判定することができる。また、場所についても例えば緯度・経度の範囲により区分しておけばよい。例えば、「自宅」の緯度・経度の範囲を予め応答装置１に登録しておけば、入力文が入力されたときの応答装置１の位置を示す緯度・経度情報をＧＰＳ（Global Positioning System）等で取得することにより、当該入力が自宅で行われたか、他の場所で行われたかを判定することができる。無論、場所および時間帯が共通しているか否かを判定する方法は、これらの方法に限られず、例えば、時刻の差が所定時間以内であれば時間帯（時刻）が共通していると判定してもよい。同様に、緯度・経度の差が所定値以内であれば場所が共通していると判定してもよい。
【００５１】
さらに、関連語検索部１３は、「料理する」も「洗濯する」と同様にして「小百合」と「お母さん」との共用語であると判定する。以上の処理により、関連語検索部１３は、「お母さん」と共通の共用語を複数有する関連名として「小百合」を検出する。
【００５２】
なお、図２に示す各ＤＢを用いて関連語を検出する方法を説明すれば以下の通りである。まず、関連語検索部１３は、ノードＤＢ（図２の（ｂ））から「ノード」が「お母さん」となっているレコードを検出し、そのレコードから「お母さん」のノード番号を特定する。次に、関連語検索部１３は、ノードリンクＤＢ（図２の（ｃ））から、上記特定したノード番号と対応付けられているノード番号を複数検出する。関連語検索部１３は、これらのノード番号の語を共用語と特定する。また、関連語検索部１３は、対話履歴ＤＢ２２（図２（ａ））から、これらノード番号の語を含む入出力文が発された時間帯および場所を特定する。
【００５３】
次に、関連語検索部１３は、上記検出した複数のノード番号（共用語のノード番号）のそれぞれについて、ノードリンクＤＢにおいて、当該ノード番号と対応付けられているノード番号（関連名の候補となる語のノード番号）を検出する。なお、検出対象は、上記特定した時間帯および場所で発された入出力文に含まれるノードのノード番号である。そして、検出したノード番号のうち、共用語の複数のノード番号のうち少なくとも２つと組み合わされているノード番号を抽出する。最後に、関連語検索部１３は、上記抽出したノード番号のノードをノードＤＢから特定し、このノードの語を関連名として検出する。
【００５４】
〔関連名を特定することの意義〕
関連名を特定することにより、対話履歴ＤＢ２２に記憶されている、その関連名を含む各入出力文に関連した応答文を生成することが可能になる。これについて、図５に基づいて説明する。図５は、「お母さん」と「小百合」が同一人物を示すとの推測に基づいて図４における各単語間の関連付けを再構築した図である。
【００５５】
「お母さん」と「小百合」が同一人物を示すとみなした場合、「お母さん」を含む入出力文は「小百合」についての入出力文でもあるとみなすことができ、同様に「小百合」を含む入出力文は「お母さん」についての入出力文でもあるとみなすことができる。例えば、図４に示したように、「小百合」は「温泉」が「好き」との入力文に基づいて、「お母さん」は「温泉」が「好き」であるとみなすことができる。これにより、入力文に「お母さん」が含まれる場合に、温泉が好きであることに関連した応答文を生成することが可能になる。例えば、「お母さんは、明日、お休みだよ」との入力文に対して、「お母さんの好きな温泉に行こう」との応答文を生成することも可能になる。よって、ユーザは、同一人物に対して固定の称呼を用いる必要がない。つまり、入力文の言葉を選ぶ際のユーザの負担を軽減することができる。
【００５６】
また、関連語検索部１３は、人を表す普通名詞について関連名を検出した場合、当該普通名詞と関連名の対応付けを記憶しておくことが望ましい。これにより、同じ人物について同様の応答文を生成してユーザに冗長であると感じさせることを避けることができる。例えば、「お母さん」と「小百合」が同一人物である場合に、「お母さん、お誕生日おめでとう」との応答文を生成して出力した後で、「小百合さん、お誕生日おめでとう」との応答文をさらに生成して出力することを避けることができる。
【００５７】
〔処理の流れ（音声入力受付〜応答音声出力）〕
図６に基づいて応答装置１が実行する処理の流れ（応答装置の制御方法）を説明する。図６は、音声入力受付から応答音声出力までに応答装置１が実行する処理の一例を示すフローチャートである。
【００５８】
Ｓ１では、音声入力部３０がユーザの発する音声、すなわちユーザが発話したメッセージの音声入力を受け付ける。この音声を音声認識部１１が音声認識してテキストデータを生成する。そして、このテキストデータを形態素解析部１２が形態素解析する。その結果は、上述のように対話履歴ＤＢ２２等に記録される。また、音声入力を受け付けた時刻および場所についても併せて記録する。なお、場所は、例えばＧＰＳを利用する等により特定することができる。
【００５９】
Ｓ２では、関連語検索部１３は、上記形態素解析結果に未知語が含まれているか否かを判定する。ここで未知語が含まれていると判定した場合（Ｓ２でＹＥＳ）、Ｓ３の処理に進み、未知語が含まれていないと判定した場合（Ｓ２でＮＯ）、Ｓ１１の処理に進む。
【００６０】
Ｓ３（検出ステップ）では、関連語検索部１３は、Ｓ２で含まれていると判定した未知語の関連語を検索する。続くＳ４では、関連語検索部１３は、上記検索によって関連語を検出したか否かを判定する。ここで検出したと判定した場合（Ｓ４でＹＥＳ）、Ｓ５の処理に進み、検出していないと判定した場合（Ｓ４でＮＯ）、Ｓ６の処理に進む。
【００６１】
Ｓ５では、シナリオ検索部１５は、関連語検索部１３が検出した関連語のカテゴリに属するシナリオを検索し、この後処理はＳ７に進む。また、詳細は図７に基づいて後述するが、Ｓ６では、カテゴリを推測した上でシナリオの検索が行われ、その後処理はＳ７に進む。
【００６２】
Ｓ７では、シナリオ検索部１５は、シナリオを検出したか否かを判定する。ここでシナリオを検出したと判定した場合（Ｓ７でＹＥＳ）、Ｓ８の処理に進み、検出しなかったと判定した場合（Ｓ７でＮＯ）、Ｓ９の処理に進む。
【００６３】
Ｓ８（応答文生成ステップ）では、応答文生成部１６は、シナリオ検索部１５が検出したシナリオを用いて応答文を生成し、この後処理はＳ１０に進む。Ｓ３の検索により関連語が検出されていれば、Ｓ８で生成する応答文の内容は、関連語に関連したものとなる。また、Ｓ１２の処理において関連名が検出されていれば、Ｓ８で生成する応答文の内容は、関連名に関連したものとなる。
【００６４】
Ｓ９では、応答文生成部１６は、シナリオが検出されなかった場合用に予め用意された応答文を生成し、この後処理はＳ１０に進む。このような応答文は、例えばシナリオＤＢ２３等に予め登録しておけばよい。
【００６５】
Ｓ１０では、音声合成部１７は、応答文生成部１６がＳ８またはＳ９で生成した応答文から音声データを合成し、合成した音声データを音声出力部４０に出力させる。これにより、図示の処理は終了する。
【００６６】
Ｓ１１では、関連語検索部１３は、形態素解析結果に人を表す普通名詞が含まれているか否かを判定する。ここで人を表す普通名詞が含まれていると判定した場合（Ｓ１１でＹＥＳ）、Ｓ１２の処理に進み、人を表す普通名詞が含まれていないと判定した場合（Ｓ１１でＮＯ）、Ｓ１３の処理に進む。
【００６７】
詳細は図８に基づいて後述するが、Ｓ１２では、上記普通名詞の関連名を検索した上でシナリオの検索が行われ、その後処理はＳ７に進む。一方、Ｓ１３では、シナリオ検索部１５は、形態素解析結果と、それに関連する入出力文（対話履歴ＤＢ２２等に記憶）に基づいてシナリオを検索し、その後処理はＳ７に進む。Ｓ７以降の処理は上述した通りである。
【００６８】
〔処理の流れ（カテゴリ推測〜シナリオ検索）〕
図７に基づいて図６のＳ６の処理の詳細を説明する。図７は、未知語のカテゴリを推測した上でシナリオを検索する場合に応答装置１が実行する処理の一例を示すフローチャートである。
【００６９】
Ｓ２１では、カテゴリ推測部１４は、入力文における未知語の前後の文脈、または入力文が入力される直前に応答装置１が出力した出力文と当該入力文との文脈から未知語のカテゴリを推測（判定）する。具体的な判定方法は上述した通りである。続くＳ２２では、カテゴリ推測部１４は、カテゴリが推測（判定）できたか否かを判定し、推測（判定）できていれば（Ｓ２２でＹＥＳ）Ｓ２３の処理に進み、推測（判定）できていなければ（Ｓ２２でＮＯ）Ｓ２４の処理に進む。
【００７０】
Ｓ２３では、シナリオ検索部１５は、カテゴリ推測部１４が推測したカテゴリでシナリオを検索し、この後処理は図６のＳ７に進む。一方、Ｓ２４では、シナリオ検索部１５は、入力文における未知語は未知語のままとしてシナリオを検索し、この後処理は図６のＳ７に進む。例えば、Ｓ２４では、入力文全体のカテゴリや、入力文における未知語以外の語のカテゴリ等に関連したシナリオを検索してもよい。
【００７１】
〔処理の流れ（関連名検索〜シナリオ検索）〕
図８に基づいて図６のＳ１２の処理の詳細を説明する。図８は、関連名を検索した上でシナリオを検索する場合に応答装置１が実行する処理の一例を示すフローチャートである。
【００７２】
Ｓ３１（検出ステップ）では、関連語検索部１３は、Ｓ１１で含まれていると判定した普通名詞と使用時間および使用場所が共通する関連名を検索する。続くＳ３２では、関連語検索部１３は、上記検索によって関連名を検出したか否かを判定する。ここで検出したと判定した場合（Ｓ３２でＹＥＳ）、Ｓ３３の処理に進み、検出していないと判定した場合（Ｓ３２でＮＯ）、Ｓ３４の処理に進む。
【００７３】
Ｓ３３では、シナリオ検索部１５は、検出した関連名に関連するシナリオを検索し、この後処理は図６のＳ７に進む。例えば、Ｓ３３では、シナリオ検索部１５は、形態素解析結果、入力文の形態素を含む入出力文（対話履歴ＤＢ２２等に格納）、関連名、および関連名を含む入出力文（対話履歴ＤＢ２２等に格納）の少なくとも何れかに応じたシナリオを検索してもよい。例えば、入力文に人を表す名詞と「休み」との単語が含まれており、関連名を含む入出力文に「＜関連名＞は＜Ｃ＞が好き」（Ｃのカテゴリは地域）というものがある、という条件が対応付けられたシナリオがシナリオＤＢ２３に格納されていたとする。また、このシナリオのテンプレートが「＜Ｄ＞が好きな＜Ｃ＞へ行こう」であったとする（Ｄは入力文における人を表す名詞）。この場合、「お母さんは、明日、お休みだよ」との入力文が入力されると、シナリオ検索部１５は上記のシナリオを検出し、これにより応答文生成部１６が「お母さんが好きな＜Ｃ＞へ行こう」との応答文を生成することになる。
【００７４】
一方、Ｓ３４では、シナリオ検索部１５は、関連名を考慮することなくシナリオを検索し、この後処理は図６のＳ７に進む。例えば、Ｓ３４では、形態素解析結果とそれに関連する過去の入出力文に応じたシナリオを検索してもよい。
【００７５】
〔実施形態２〕
上記実施形態では、応答文の内容を関連語に関連した内容とする例として、関連語のカテゴリで検出したシナリオを用いて応答文を生成する例を説明した。しかしながら、関連語を検出した場合に生成する応答文は、関連語に関連した内容の文であればよく、上述の例に限られない。例えば、「紅玉（未知語）が売っていたよ」との入力文に対し、「紅玉はリンゴ（関連語）の仲間ですか？」との応答文を生成する等のように、関連語を応答文に含めてもよい。また、上記の入力文に対して、「ボク、リンゴ（関連語）大好き」のように、未知語を関連語に置き換えた応答文を生成してもよい。
【００７６】
同様に、上記実施形態では、応答文の内容を関連名に関連した内容とする例として、関連名を主語として含む入出力文において、「好き」と助詞「が」でリンクされている単語を含む応答文を生成する例を説明した。しかしながら、関連名を検出した場合に生成する応答文は、関連名に関連した内容の文であればよく、上述の例に限られない。例えば、「お母さんと会ったよ」との入力文に対し、「お母さんとは小百合さんのことですか？」との応答文を生成する等のように、関連名を応答文に含めてもよい。
【００７７】
また、上記実施形態では、入力文に他の呼称を有する単語（具体例として人を表す普通名詞を例示）が含まれている場合に、関連名を検索する例を説明したが、入力文が上記単語を含まない場合であっても、当該単語に関連した文であれば関連名を検索してもよい。例えば、下記のシナリオがシナリオＤＢ２３に含まれていたとする。
入力文条件：入力文に「時間（タイミング）を示す語」と「休み」との単語を含む。
記憶条件：「家族を示す語」と、＜ｍＮｏｄｅ１＞と、「好き」の単語とがリンク。
テンプレート：「家族を示す語」が好きな「＜ｍＮｏｄｅ１＞に行こう」
そして、対話履歴ＤＢ２２には「小百合」と「温泉」と「好き」のリンクが記憶されていて、「明日はお休みだよ」との入力文が入力されたとする。この入力文には人を表す普通名詞は含まれていない。
【００７８】
上記の例において、「小百合」が「家族を示す語」であるか否かは不明であるが、「家族を示す語」である「お母さん」の関連名を検索することによって、「小百合」との関連名が検出されれば、「小百合」が「家族を示す語」であるとみなすことができる。よって、上記の入力文に対して、「お母さんの好きな温泉に行こう」との応答文を生成することができる。
【００７９】
〔実施形態３〕
応答装置１は、ユーザと音声で対話する機能以外の機能についても備えていてもよい。例えば、応答装置１は、自立歩行機能等を備えた人型のロボットであってもよい。また、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ、家電機器（例えばテレビ、冷蔵庫、空気調和機、掃除機等）、カーナビゲーション装置等に上述の応答装置１の機能を持たせた機器も、本開示における「応答装置」の範疇に含まれる。本開示における「応答装置」は、家族など特定の人物が利用する装置であることが好ましい。
【００８０】
〔実施形態４〕
上記各実施形態の応答装置１の機能は、複数の装置を通信ネットワークで通信可能に接続してなる応答システムによって実現することもできる。この応答システムは、例えば、形態素解析部１２、関連語検索部１３、カテゴリ推測部１４、シナリオ検索部１５、応答文生成部１６、および音声合成部１７に相当する機能を備えたサーバ（応答装置）と、音声入力部３０および音声出力部４０を備えた音声入出力装置とを含む構成であってもよい。この場合、音声入出力装置がユーザの入力文の入力を受け付け、その入力文をサーバに送信する。そして、サーバがこの入力文に対する応答文を生成し、音声入出力装置に送信することにより、当該応答文が音声入出力装置から出力される。この応答システムでは、音声認識部１１、形態素解析部１２、および音声合成部１７等を音声入出力装置側に持たせてもよい。また、複数のサーバを設けて、上記の各機能ブロックをそれらのサーバに分散して配置してもよい。
【００８１】
〔変形例〕
上記実施形態では、入力文に人を表す普通名詞が含まれている場合に、その関連名を検索する例を示したが、上記「人を表す普通名詞」は、任意の「他の呼称を有する単語」に置換できる。例えば、入力文に人を表す固有名詞が含まれている場合に、その関連名を検索してもよい。人を表す固有名詞にも、他の呼称があることが多いためである。また、例えば、人の名前以外にも物の名前やペットの名前にも応用できる。例えば、ある会話に含まれる固有名詞（名前）が動物と推論できたときに、その会話が発生した場所が自宅付近であればその固有名詞がペットの名前を示すとみなしてもよい。この場合、ペットというカテゴリのシナリオを用いた応答文や、ペットに関する対話履歴を用いた応答文を生成することも可能である。一方、その会話が発生した場所が自宅から離れているもしくは動物園であれば、その固有名詞を単に動物の名前とみなしてもよい。
【００８２】
対話履歴ＤＢ２２は、応答装置１に対する入力文および応答装置１の出力文以外にも、様々な文を記憶していてもよい。例えば、書籍から取り込んだ文を記憶していてもよいし、インターネット上の様々な情報ソース（例えばニュースサイト等）から取り込んだ文を記憶していてもよい。ただし、応答内容が汎用化してしまわないようにするため、ニュースサイトや書籍から取り込む文は、「ＡはＢだ」のような客観的な事実を示す文のみに留めることが好ましい。
【００８３】
〔ソフトウェアによる実現例〕
応答装置１の制御ブロック（特に関連語検索部１３、カテゴリ推測部１４、シナリオ検索部１５、および応答文生成部１６）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００８４】
後者の場合、応答装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８５】
〔まとめ〕
本発明の態様１に係る応答装置は、入力文に対する応答文を生成する応答装置であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出部と、上記検出部が検出した関連語に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。
【００８６】
上記の構成によれば、入力文に未知語が含まれている場合に、関連語を検出して、該関連語に関連した内容の応答文を生成する。ここで、関連語は、共用語が未知語と共通であるから、未知語と語義やカテゴリ等が同一であるかまたは類似している可能性がある。そして、関連語は既知語であるから応答文の生成に用いる所定の情報（例えば語義やカテゴリ等）も既知である。よって、入力文に含まれる未知語の語義やカテゴリ等を加味してユーザの意に沿った応答文を生成することが可能になるという効果を奏する。
【００８７】
本発明の態様２に係る応答装置は、上記態様１において、上記検出部は、複数の文における語と語の組み合わせを記憶したデータベースから、上記未知語と組み合わされている上記共用語を検出すると共に、上記データベースから、上記共用語と組み合わされている既知語を上記関連語として検出する構成としてもよい。
【００８８】
同じ共用語と組み合わせて用いられている語は、語義やカテゴリ等が類似している可能性があるから、上記の構成によれば、入力文に含まれる未知語の語義やカテゴリ等に関連した応答文を生成することが可能になる。なお、上記データベースが、どのような文における語と語の組み合わせを記憶しているかは特に限定されないが、例えば過去に（上記入力文より前に）応答装置に入力された文、および過去に応答装置が出力した文における語と語の組み合わせを記憶したものであってもよい。また、上記データベースには、上記入力文における語と語の組み合わせも記憶されていてもよい。
【００８９】
本発明の態様３に係る応答装置は、上記態様２において、上記検出部は、複数の上記共用語を検出すると共に、複数の当該共用語のうち少なくとも２つと組み合わされている既知語を上記関連語として検出する構成としてもよい。
【００９０】
未知語と既知語とで共通する共用語の種類が多いほど、それらの語は語義やカテゴリ等が類似している可能性が高くなるので、上記の構成によれば、入力文に含まれる未知語の語義やカテゴリ等に関連した応答文を生成することができる確度を高めることができる。
【００９１】
本発明の態様４に係る応答装置は、上記態様１から３の何れか１態様において、上記検出部が上記関連語を検出できなかった場合に、上記入力文における上記未知語の上記共用語のカテゴリを、当該未知語のカテゴリであると判定するカテゴリ推測部をさらに備え、上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成する構成としてもよい。
【００９２】
未知語の共用語は、未知語とカテゴリが同じである可能性がある。よって、上記の構成によれば、未知語のカテゴリを正しく判定して、適切な内容の応答文を生成することが可能になる。
【００９３】
本発明の態様５に係る応答装置は、上記態様１から３の何れか１態様において、上記検出部が上記関連語を検出できなかった場合に、上記入力文が入力される直前に上記応答装置が出力した出力文のカテゴリから、当該未知語のカテゴリを判定するカテゴリ推測部をさらに備え、上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成する構成としてもよい。
【００９４】
出力文とその直後の入力文の内容には通常、関連性があり、このため、直前の出力文のカテゴリから、それに続く入力文のカテゴリを特定することが可能である。また、入力文のカテゴリが特定できれば、その入力文に含まれる未知語のカテゴリも特定できる場合がある。よって、上記の構成によれば、未知語のカテゴリを正しく判定して、適切な内容の応答文を生成することが可能になる。
【００９５】
本発明の態様６に係る応答装置は、ユーザの入力文に対する応答文を生成する応答装置であって、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出部と、上記検出部が検出した関連呼称に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。
【００９６】
上記の構成によれば、入力文に他の呼称を有する単語が含まれている場合に、共用語が共通する呼称である関連呼称を検出して、該関連呼称に関連した内容の応答文を生成する。ここで、関連呼称は、共用語が上記単語と共通する呼称であるから、該単語の他の呼称である可能性がある。よって、入力文に含まれる単語の他の呼称を加味して、ユーザの意に沿った応答文を生成することが可能になるという効果を奏する。
【００９７】
本発明の態様７に係る応答装置は、上記態様６において、上記検出部は、複数の文における語と語の組み合わせと、当該文が発された場所および時間帯の少なくとも何れかと、を記憶したデータベースから、発された場所および時間帯の少なくとも何れかが上記入力文と共通する上記関連呼称を検出する構成としてもよい。
【００９８】
発された場所および時間帯の少なくとも何れかが入力文と共通する文で用いられている関連称呼は、入力文に含まれる単語の他の呼称である可能性が高いので、上記の構成によれば、より確度の高い関連呼称を検出することができる。そして、これにより、ユーザの意に沿った応答文を生成することができる確度を高めることができる。
【００９９】
本発明の態様８に係る応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出ステップと、上記検出ステップで検出した関連語に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。該方法によれば上記態様１と同様の効果を奏する。
【０１００】
本発明の態様９に係る応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出ステップと、上記検出ステップで検出した関連呼称に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。該方法によれば上記態様５と同様の効果を奏する。
【０１０１】
本発明の各態様に係る応答装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記応答装置が備える各部（ソフトウェア要素）として動作させることにより上記応答装置をコンピュータにて実現させる応答装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１０２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【０１０３】
１  応答装置
１３  関連語検索部（検出部）
１４  カテゴリ推測部
１６  応答文生成部
２２  対話履歴ＤＢ（データベース）
【図１】
2018123139.tif 000003
【図２】
2018123139.tif 000004
【図３】
2018123139.tif 000005
【図４】
2018123139.tif 000006
【図５】
2018123139.tif 000007
【図６】
2018123139.tif 000008
【図７】
2018123139.tif 000009
【図８】
2018123139.tif 000010
【国際調査報告】
2018123139.tif 000011
2018123139.tif 000012
2018123139.tif 000013
2018123139.tif 000014