(57)【要約】【課題】別の質問を含む質問文に対して回答し得る質問応答装置、及び質問応答方法を提供する。【解決手段】質問応答装置１００においては、質問受付部１０１が質問文を受け付け、部分質問抽出部１０２が質問文の一部である部分質問を抽出し、回答取得部１０４が部分質問の回答を取得し、質問編集部１０５が質問文における部分質問の箇所を、部分質問の回答に置き換えて、回答取得部１０４が、置き換えた質問の回答を取得し、回答出力部１１１が、置き換えた質問の回答を出力する。【選択図】図１
2014229275.tif 000002
【特許請求の範囲】
【請求項１】
質問文を受け付ける質問文受付手段と、
前記質問文の一部である部分質問を抽出する部分質問抽出手段と、
前記部分質問の回答を取得する部分質問回答取得手段と、
前記質問文における前記部分質問の箇所を、前記部分質問回答取得手段が取得した回答に置き換える質問置換手段と、
前記質問置換手段により置き換えられた質問文に対する回答を取得する置換質問回答取得手段と、
前記質問文に対する回答を出力する回答出力手段と、を備える質問応答装置。
【請求項２】
第１のチェックワードリストを有し、
前記部分質問抽出手段は、前記部分質問に前記第１のチェックワードリストのワードが含まれているか否かに基づいて、前記部分質問が適切であるか否かを判断し、
前記部分質問回答取得手段は、前記部分質問が適切である場合に、部分質問の回答を取得する、請求項１に記載の質問応答装置。
【請求項３】
第２のチェックワードリストを有し、
前記部分質問抽出手段は、前記質問文の部分質問を除いた部分に前記第２のチェックワードリストが含まれているか否かに基づいて、前記部分質問が適切であるか否かを判断し、
前記部分質問回答取得手段は、前記部分質問が適切である場合に、部分質問の回答を取得する、請求項１又は２に記載の質問応答装置。
【請求項４】
前記部分質問回答取得手段が、複数の回答を取得した場合、前記置換質問回答取得手段は、前記質問文の部分質問の箇所を前記複数の回答のそれぞれに置き換えた質問文に対する回答を取得し、
前記回答出力手段は、前記置換質問回答取得手段が取得した回答の中から、所定数の回答を出力することを特徴とする、請求項１から３の何れか一項に記載の質問応答装置。
【請求項５】
前記部分質問の回答が得られない場合、前記質問文の回答を取得する全体質問回答取得手段をさらに備え、
前記回答出力手段は、前記全体質問回答取得手段が取得した回答を出力する、請求項１から４の何れか一項に記載の質問応答装置。
【請求項６】
前記部分質問回答取得手段は、付記的部分を有する回答を取得した場合、前記付記的部分を削除した回答を部分質問の回答とする、請求項１から５の何れか一項に記載の質問応答装置。
【請求項７】
質問応答装置で実行する質問応答方法であって、
質問文を受け付ける質問文受付ステップと、
前記質問文の一部である部分質問を抽出する部分質問抽出ステップと、
前記部分質問の回答を取得する部分質問回答取得ステップと、
前記質問文における前記部分質問の箇所を、前記部分質問回答取得ステップで取得した回答に置き換える質問置換ステップと、
前記質問置換ステップにより置き換えられた質問文に対する回答を取得する置換質問回答取得ステップと、
前記質問文に対する回答を出力する回答出力ステップと、を含む質問応答方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質問に応答する質問応答装置、及び質問応答方法に関する。
【背景技術】
【０００２】
ユーザ操作により入力された自然言語の質問文に対し、その質問文に対する回答を提示する質問応答技術が研究されている。たとえば、「富士山の高さは？」という質問に対し、「３７７６ｍ」という回答を出力するものである。このような技術は、質問を音声で受け付けるアプリケーション等に適用される。
【０００３】
上記の質問応答技術では、大きく分けて２つのアプローチがある。１つは通常のウェブ検索エンジンを利用し、ウェブ検索結果に含まれる文章に基づき、回答を推定するものである。たとえば、「富士山の高さは？」という質問に対し、名詞を抽出して「富士山  高さ」という検索語に変換し、検索エンジンに入力する。
【０００４】
そして、検索エンジンが出力する検索結果ページに含まれるタイトルや概要文から、統計処理により「３７７６ｍ」という回答を推定する。非特許文献１において、当該技術とそのバリエーションが開示されている。
【０００５】
もう1つのアプローチは、データベースに知識を予め蓄積しておき、質問文から言語解析によりデータベースに問い合せるクエリに変換し、回答を得るものである。
【０００６】
例えば、「富士山の高さは？」という質問に対し、ｅｎｔｉｔｙ（対象物）=“富士山”、ｐｒｏｐｅｒｔｙ（属性）=“標高”という情報を抽出し、データベース問い合わせ言語であるＳＱＬ等に変換し、回答である「３７７６ｍ」を得るものである。非特許文献２および非特許文献３において当該技術が開示されている。
【０００７】
一般的に前者のアプローチは、回答精度は劣るものの多様な質問に対して回答することができ、後者のアプローチは、質問の対応範囲は狭いものの、正解率の高い回答をすることができる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】磯崎、質問応答システム (自然言語処理シリーズ2)、コロナ社
【非特許文献２】吉村健、「しゃべってコンシェルと言語処理」、情報処理学会音声言語情報処理研究会SLP93-4、2012年10月
【非特許文献３】吉村健、「しゃべってコンシェルのQ&A機能を実現する知識検索エンジン開発」，人工知能学会、第88回人工知能基本問題研究会，2013年1月
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、非特許文献１〜３の方法では、より複雑な質問には、対応できなくなる。例えば、「○△□（作品名）の作者の誕生日は？」という質問のように、一つの質問文にさらに質問文が内在しているような質問には対応できないという問題点がある。仮に、ウェブ検索エンジンを利用したアプローチにおいて、「○△□  作者  誕生日」という検索語を検索エンジンに入力したとしても、正しい回答が検索結果に含まれることはほとんどない。また、データベースを用いたアプローチにおいても、単純にｅｎｔｉｔｙとｐｒｏｐｅｒｔｙに分解できるわけではなく、そのままデータベース問合せ言語に変換することができない。
【００１０】
そこで、本発明においては、上記の課題を解決するために、別の質問を含む質問文に対して回答し得る質問応答装置、及び質問応答方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するために、本発明の質問応答装置は、質問文を受け付ける質問文受付手段と、質問文の一部である部分質問を抽出する部分質問抽出手段と、部分質問の回答を取得する部分質問回答取得手段と、質問文における部分質問の箇所を、部分質問回答取得手段が取得した回答に置き換える質問置換手段と、質問置換手段により置き換えられた質問文に対する回答を取得する置換質問回答取得手段と、質問文に対する回答を出力する回答出力手段と、を備える。
【００１２】
また、本発明の質問応答方法は、質問応答装置で実行する質問応答方法であって、質問文を受け付ける質問文受付ステップと、質問文の一部である部分質問を抽出する部分質問抽出ステップと、部分質問の回答を取得する部分質問回答取得ステップと、質問文における部分質問の箇所を、部分質問回答取得ステップで取得した回答に置き換える質問置換ステップと、質問置換ステップにより置き換えられた質問文に対する回答を取得する置換質問回答取得ステップと、質問文に対する回答を出力する回答出力ステップと、を含む。
【００１３】
この発明によれば、質問文に含まれる部分的な質問を抽出して、部分的な質問箇所を、部分的な質問における回答に置き換えて、置き換えた質問の回答を取得するため、別の質問を含む質問文に対して正確に回答することができる。
【００１４】
また、本発明の質問応答装置において、第１のチェックワードリストを有し、部分質問抽出手段は、部分質問に、第１のチェックワードリストのワードが含まれているか否かに基づいて部分質問が適切であるか否かを判断し、部分質問回答取得手段は、部分質問が適切である場合に、部分質問の回答を取得してもよい。
【００１５】
この場合、質問応答装置は、第１のチェックワードリストを用いて部分質問が適切であるか否かを判断するため、部分質問として適切ではない（部分質問として体を成していない）にも関わらず、部分質問として回答を取得してしまうことを回避することができる。
【００１６】
また、本発明の質問応答装置において、第２のチェックワードリストを有し、部分質問抽出手段は、質問文の部分質問を除いた部分に第２のチェックワードリストが含まれているか否かに基づいて部分質問が適切であるか否かを判断し、部分質問回答取得手段は、部分質問が適切である場合に、部分質問の回答を取得するようにしてもよい。
【００１７】
この場合、質問応答装置は、第２のチェックワードリストを用いて、質問文における部分質問が適切であるか否かを判断（質問文が部分質問を有する形式の質問文であるか否かを判断）するため、部分質問として適切ではないにも関わらず、部分質問として回答を取得してしまうことを回避することができる。
【００１８】
また、本発明の質問応答装置において、部分質問回答取得手段が、複数の回答を取得した場合、置換質問回答取得手段は、質問文の部分質問の箇所を、複数の回答のそれぞれに置き換えた質問文に対する回答を取得し、回答出力手段は、置換質問回答取得手段が取得した回答の中から、所定数の回答を出力してもよい。
【００１９】
この場合、質問応答装置は、部分質問に対する回答が複数ある場合に、代表的な回答を出力することができる。
【００２０】
また、本発明の質問応答装置において、部分質問の回答が得られない場合、質問文の回答を取得する全体質問回答取得手段をさらに備え、回答出力手段は、全体質問回答取得手段が取得した回答を出力してもよい。
【００２１】
この場合、質問応答装置は、部分的に質問が存在しない場合でも、受け付けた質問文全体の回答を出力することができる。
【００２２】
また、本発明の質問応答装置において、部分質問回答取得手段は、付記的部分を有する回答を取得した場合、付記的部分を削除した回答を部分質問の回答としてもよい。この場合、質問応答装置は、付記的な箇所を取り除いて質問文を置き換えるため、より正確に回答を得ることができる。
【発明の効果】
【００２３】
本発明によれば、質問文に含まれる部分的な質問を抽出して、部分的な質問箇所を、部分的な質問の回答に置き換えて、質問の回答を取得するため、別の質問を含む質問文に対して回答することができる。
【図面の簡単な説明】
【００２４】
【図１】質問応答装置１００の機能を示すブロック図である。
【図２】質問応答装置１００のハードウェア構成図である。
【図３】ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ１０８で保持しているデータの一例を示す図である。
【図４】一問一答型回答ＤＢ１１０で保持しているデータの一例を示す図である。
【図５】ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型の質問回答の処理を示すフローチャートである。
【図６】質問文に対する回答処理を示すフローチャートである。
【図７】質問文に対する回答処理を示すフローチャートである。
【発明を実施するための形態】
【００２５】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一部分には同一の符号を付して、重複する説明を省略する。
【００２６】
図１は、本実施形態の質問応答装置の機能を示すブロック図である。質問応答装置は、サーバ装置、端末装置等の種々の情報処理装置である。
【００２７】
本実施形態の質問応答装置１００の機能構成を示すブロック図である。図１に示されるように、質問応答装置１００は、質問受付部１０１（質問文受付手段）、部分質問抽出部１０２（部分質問抽出手段）、チェックワードリスト１０３、回答取得部１０４（部分質問回答取得手段、置換質問回答取得手段、全体質問回答取得手段）、質問編集部１０５（質問置換手段）、回答生成部１０６、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ部１０８、一問一答型質問回答部１０９、一問一答型回答ＤＢ部１１０、及び回答出力部１１１（回答出力手段）を含んで構成されている。
【００２８】
図２は、質問応答装置１００のハードウェア構成図である。図２に示される質問応答装置１００は、物理的には、図２に示すように、１又は複数のＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、入力デバイスであるキーボード及びマウス等の入力装置１４、ディスプレイ等の出力装置１５、ネットワークカード等のデータ送受信デバイスである通信モジュール１６、半導体メモリ等の補助記憶装置１７などを含むコンピュータシステムとして構成されている。図２における各機能は、図３に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで入力装置１４、出力装置１５、通信モジュール１６を動作させるとともに、ＲＡＭ１２や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図１に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００２９】
質問受付部１０１は、テキスト情報（音声入力情報をテキスト変換した情報も含む）からなる質問文を受け付ける。具体的には、質問受付部１０１は、他の装置から通信ネットワークを介して質問文を受け付けたり、入力装置１４により入力された質問文を受け付けたりする。
【００３０】
部分質問抽出部１０２は、形態素に基づいて質問文の一部である部分質問を抽出する。具体的に、部分質問抽出部１０２は、入力された質問文に対して形態素解析を行い、質問文を形態素に分割する。そして、部分質問抽出部１０２は、質問文全体から部分質問を抽出する。部分質問抽出部１０２は、予め部分質問を抽出できるように学習したモデルである学習モデルを定義しておき、当該学習モデルに基づき部分質問を抽出する。ここでいう学習モデルとは、質問文のパターン（質問文に用いられる単語に基づいたパターン）を定義したモデルである。
【００３１】
さらに、部分質問抽出部１０２は、部分質問を抽出すると、当該部分質問を検証し、部分質問として適切であるか否かを判断する。詳細は、後述する。
【００３２】
チェックワードリスト１０３は、部分質問が適切であるか否かを判断するためのワードを保持するリスト（部分質問用のチェックワードリスト）を管理するデータベースである。具体的に、チェックワードリスト１０３は、２つのリストを保持する。具体的には、第１のチェックワードリストであるチェックワードリスト１０３ａは、「標高」「高さ」「大きさ」「作者」「著者」「誕生日」「首相」「大統領」「代表作」「掲載年」「日本で」「世界で」「一番」等の単語や表現を含むリストである。第２のチェックワードリストであるチェックワードリスト１０３ｂは、「標高」「高さ」「大きさ」「作者」「著者」「誕生日」「首相」「大統領」「代表作」「掲載年」等の単語や表現を含むリストである。チェックワードリスト１０３ａ及びチェックワードリスト１０３ｂは、質問形式の文章であるか否かを判断するため単語のリストである。
【００３３】
回答取得部１０４は、全体質問（質問受付部１０１が受け付けた質問全体）、部分質問、及び全体質問の部分質問箇所を、部分質問の回答に置き換えた質問である置換質問の何れかの回答を取得する。具体的には、回答取得部１０４は、全体質問、部分質問、及び置換質問の何れかを回答生成部１０６へ出力し、当該回答生成部１０６から質問の回答を取得する。
【００３４】
回答生成部１０６は、回答取得部１０４から所定の質問文（全体質問、部分質問、及び置換質問の何れか）を取得し、当該質問文の回答を回答取得部１０４へ出力する。回答生成部１０６は、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型ＤＢ１０８、一問一答型質問回答部１０９、及び一問一答型回答ＤＢ１１０を有する。
【００３５】
回答生成部１０６は、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７による回答結果、及び一問一答型質問回答部１０９による回答結果に基づいた、出力用の回答結果を回答取得部１０４へ出力する。具体的には、回答生成部１０６は、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７により回答が得られた場合、当該回答を出力用の回答結果として出力し、一問一答型質問回答部１０９により回答が得られた場合、当該回答を出力用の回答結果として出力し、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７及び一問一答型質問回答部１０９の何れからも回答が得られなかった場合、回答が得られなかった旨（例えば、「回答なし」）を出力用の回答結果として出力する。
【００３６】
ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型の質問を受け付けた場合、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ１０８を参照して回答する。ここで、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問とは、所定の対象物の属性を問い合わせる質問をいう。
【００３７】
ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ１０８は、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型の質問・回答を管理するデータベースである。図３にｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ１１０のデータ例を示す。図３に示すように、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ１１０は、対象物を示す「ｅｎｔｉｔｙ」と、属性を示す「ｐｒｏｐｅｒｔｙ」と、値を示す「ｖａｌｕｅ」とが対応付けられた情報を管理している。
【００３８】
図３の例では、ｅｎｔｉｔｙが「富士山」で、ｐｒｏｐｅｒｔｙが「標高」である場合、ｖａｌｕｅが「３７７６ｍ」であることを示している。すなわち、富士山の標高が３７７６ｍであることを示している。ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７による処理の詳細は、後述する。
【００３９】
一問一答型質問回答部１０９は、一問一答型の質問を受け付けた場合、一問一答型回答ＤＢ１１０を参照して回答する。
【００４０】
一問一答型回答ＤＢ１１０は、一問一答型の質問・回答を管理するデータベースである。図４に一問一答型回答ＤＢ１０８のデータ例を示す。図４に示すように、一問一答型回答ＤＢ１０８は、質問を意味する「ｑｕｅｓｔｉｏｎ」と、当該質問の回答を意味する「ａｎｓｗｅｒ」とを有する。図４に示すデータ例によれば、「世界で一番高い山」という質問に対する答えが「エベレスト」であることを示している。
【００４１】
回答出力部１１１は、回答取得部１０４が取得した、置換質問の回答又は全体質問の回答を出力する。具体的には、回答出力部１１１は、質問文を送信した外部装置に対して回答を送信したり、質問応答装置１００が備える出力装置１５へ回答を出力したりする。
【００４２】
続いて、回答生成部１０６が質問の回答を生成する処理を説明する。最初に、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７によるｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問の回答処理を図５に示すフローチャートを用いて説明する。
【００４３】
ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、最初に質問文を受け付けると（ステップＳ１）、形態素解析を実行する（ステップＳ２）。たとえば「富士山の高さは」という質問に対し、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、“富士山/の/高さ/は”というように形態素単位に分ける。
【００４４】
続いて、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、ｅｎｔｉｔｙの抽出を行う。ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、例えば、条件付確率場（ＣＲＦ）などの機械学習を用いて抽出する。ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、上記形態素の品詞や隣接する形態素の関係に基づいて、ｅｎｔｉｔｙの抽出を行う。
【００４５】
上記の質問例（「富士山の高さは」）の場合、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、「富士山」をｅｎｔｉｔｙとして抽出する（ステップＳ３）。
【００４６】
続いてｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、ｐｒｏｐｅｒｔｙの判定を行う（ステップＳ４）。具体的に、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、例えばマルチクラスＳＶＭのような機械学習によってｐｒｏｐｅｒｔｙを判定する。ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、上記形態素の品詞や隣接する形態素の関係に基づいて、形態素がｐｒｏｐｅｒｔｙであるか否かを判定し、ｐｒｏｐｅｒｔｙを特定する。ｐｒｏｐｅｒｔｙとして予め「標高」、「作者」、「誕生日」等が定義されている場合、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、上述の質問例から「標高」がｐｒｏｐｅｒｔｙであると判定する。
【００４７】
続いてｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、ｐｒｏｐｅｒｔｙの検証を行う（ステップＳ５）。ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、予め定義されている検証ワードリストを参照して、上記判定したｐｒｏｐｅｒｔｙが適切であるか否かを検証する。
【００４８】
例えば、「標高」のｐｒｏｐｅｒｔｙに対応する検証ワードとして、「標高」、「高さ」「大きさ」等のワードが定義されているものとする。上述の質問例では、「高さ」が含まれているため、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、検証結果として問題ないと判断し、ｐｒｏｐｅｒｔｙ判定結果の「標高」を有効とする。
【００４９】
そして、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、抽出されたｅｎｔｉｔｙ「富士山」とｐｒｏｐｅｒｔｙ「標高」とを検索キーとして、ｅｎｔｉｔｙ-ｐｒｏｐｅｒｔｙ型回答ＤＢ１１０を検索し、回答「３７７６ｍ」を得る（ステップＳ６）。ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部１０７は、取得した回答を出力し（ステップＳ７）、処理を終える。
【００５０】
続いて、一問一答型質問回答部１０９が実行する一問一答型の回答処理を説明する。一例として、質問文が入力されると、一問一答型質問回答部１０９は、キーワードと関係しない特定の語尾等（例えば、「は」、「か」、「ですか」）を除去した後、語尾を除去した質問文をクエリとして、一問一答型回答ＤＢ１１０を検索し、回答を得る。たとえば「日本で一番高い山は」という質問が入力されると、一問一答型質問回答部１０９は、語尾の「は」を除去したのち、「日本で一番高い山」というクエリによって一問一答型回答ＤＢ１１０を検索し、「富士山」という回答を得る。ただし、必ずしも回答が得られるとは限らず、回答が得られない場合は、一問一答型質問回答部１０９は、回答結果として「回答なし」と出力する。
【００５１】
回答生成部１０６は、ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型及び一問一答型の質問の回答を生成する場合について述べたが、他の形式の質問を回答するようにしてもよい。具体的に、正規表現型の質問の回答を生成するようにしてもよい。例えば、「１＋１＝」のように、様々な数字が入り得る計算質問の場合、正規表現のパターン（例えば、「数字＋数字」等）と質問とをマッチングし、任意の計算質問を抽出し、数字による足し算計算を実行することができる。
【００５２】
（全体処理の説明）
続いて、質問応答装置１００が実行する全体処理を、図６に示すフローチャートを用いて説明する。ここで全体処理とは、質問文を受け付けて、当該質問文から部分質問を抽出し、当該部分質問の箇所を部分質問の回答に置き換えて、置き換えた質問の回答を出力する処理をいう。
【００５３】
最初に、質問受付部１０１が、質問文を受け付けると（ステップＳ１１）、部分質問抽出部１０２が上記質問文に対して形態素解析を行い、質問文を形態素に分割する（ステップＳ１２）。
【００５４】
例えば、「○△△×の作者の誕生日は」という質問文を受け付けた場合、部分質問抽出部１０２は、「○△△×」「の」「作者」「の」「誕生日」「は」と分割する。
【００５５】
次に、部分質問抽出部１０２は、質問全体から部分質問を抽出する（ステップＳ１３）。部分質問抽出部１０２は、例えば、条件付確率場（ＣＲＦ）などの機械学習を用いて部分質問を抽出する。すなわち、部分質問抽出部１０２は、予め部分質問を抽出できるように学習したモデルである学習モデルを定義しておき、当該学習モデルに基づき部分質問を抽出する。例えば、上述の質問文の場合、部分質問抽出部１０２は、助詞である“の”と、質問文によく使用される名詞である“作者”とに基づいて部分質問があると判断する。そして、部分質問抽出部１０２は、上記の質問例では「○△△×の作者」を部分質問として抽出する。
【００５６】
部分質問抽出部１０２が部分質問を抽出しなかった場合（ステップＳ１４；ＮＯ）、ステップＳ２２へ移動する。
【００５７】
部分質問抽出部１０２が部分質問を抽出した場合（ステップＳ１４；ＹＥＳ）、部分質問抽出部１０２は、当該部分質問を検証する（ステップＳ１５）。具体的に、部分質問抽出部１０２は、部分質問がチェックワードリスト１０３ａに含まれる単語や表現を含んでいるか否かを判断する。上述の例では、「○△△×の作者」が部分質問であるため、「作者」という単語を含んでおり、チェックワードリスト１０３ａの単語を含むことになる。
【００５８】
また、部分質問抽出部１０２は、部分質問以外の質問文においてチェックワードリスト１０３ｂに含まれる単語や表現を含んでいるか否かを判断する。上述の例では、「の誕生日は」が部分質問を除いた部分であり、当該部分においてチェックワードリスト１０３ｂに含まれる単語「誕生日」を含むことになる。なお、チェックワードリスト１０３ａ、１０３ｂの２つのチェックワードリスト１０３ａ、１０３ｂを用いて、部分質問のチェック及び、質問文における部分質問以外のチェックを行う場合について述べたが、１つのチェックワードリストを用いて部分質問のチェック及び、質問文における部分質問以外のチェックを行うようにしてもよい。
【００５９】
上述のように、部分質問抽出部１０２は、上記の２つのチェックを通して部分質問が適切であるか否かを判断（すなわち、部分質問を有する質問形式であるか否かを判断）する。上述の例の場合、部分質問抽出部１０２は、チェックワードリスト１０３ａを用いた適正判断、及びチェックワードリスト１０３ｂを用いた適正判断ともに適切と判断したため、部分質問として適切であると判断し（ステップＳ１６；ＹＥＳ）、ステップＳ１７へ移動する。
【００６０】
なお、部分質問抽出部１０２は、チェックワードリスト１０３ａを用いた適正判断、及びチェックワードリスト１０３ｂを用いた適正判断の少なくともいずれか一方が不適切である場合、部分質問として不適切であると判断し（ステップＳ１６；ＮＯ）、ステップＳ２２へ移動する。
【００６１】
なお、部分質問の検証方法は、上記の例に限られず、例えば、チェックワードリスト１０３ａのみ保持し、部分質問内がチェックワードリスト１０３ａの単語や表現を含む場合に、部分質問抽出部１０２が部分質問として適切であると判断するようにしてもよい。
【００６２】
さらに別の部分質問の検証方法として、チェックワードリスト１０３ｂのみ用意して、質問文における部分質問を除いた箇所がチェックワードリスト１０３ｂの単語や表現を含む場合に、部分質問抽出部１０２が、部分質問として適切であると判断するようにしてもよい。
【００６３】
ステップＳ１７では、回答取得部１０４が、部分質問を回答生成部１０６へ出力すると共に、部分質問の回答要求を行う（ステップＳ１７）。
【００６４】
回答取得部１０４は、部分質問の回答を取得した場合（ステップＳ１８；ＹＥＳ）、例えば、上記の部分質問「○△△×の作者」に対して「山田○○」という回答を取得した場合、上記のステップＳ１９へ移動する。回答取得部１０４は、部分質問の回答を取得しなかった場合（ステップＳ１８；ＮＯ）、ステップＳ２２へ移動する。
【００６５】
ステップＳ１９では、質問編集部１０５は、質問文に対して、部分質問の箇所である「○△△×の作者」を、当該部分質問の回答である「山田○○」に置き換える。
【００６６】
ところで、部分質問の回答として、付記的情報が含まれている場合がある。例えば、「□○国の首長」という質問に対し「[大統領]○△×＜改行コード＞（２０１３年４月時点）」という回答が得られたとする。ここで、＜改行コード＞は改行コードが含まれていることを示している。また、上記回答には、「（２０１３年４月時点）」と記載のように括弧も含まれている。
【００６７】
このような場合に、質問編集部１０５は、改行コード以降の回答部分を削除したり、括弧内の部分を削除したりしたものを部分質問の回答としてもよい。すなわち、質問編集部１０５は、得られた回答の内、付記的部分（改行コード以降の回答部分、括弧内の部分）を除去したものを部分回答とする。これにより、質問編集部１０５は、回答の本質的部分を部分回答とすることができる。
【００６８】
質問編集部１０５が、質問文における部分質問の箇所を部分質問の回答に置き換えた後に、回答取得部１０４は、置き換えた質問を回答生成部１０６へ出力すると共に、回答生成部１０６へ回答要求を行い、質問の回答を取得する（ステップＳ２０）。
【００６９】
回答取得部１０４が回答を取得しなかった場合（ステップＳ２１；ＮＯ）、ステップＳ２２へ移動し、回答取得部１０４が回答を取得した場合（ステップＳ２１；ＹＥＳ）、ステップＳ２４へ移動する。
【００７０】
ステップＳ２２では、部分質問を抽出できなかった場合（ステップＳ１４、Ｓ１６でＮＯのとき）又は、部分質問を抽出できた場合でも当該部分質問に対する回答を得られなかった場合（ステップＳ１８でＮＯのとき）に、回答取得部１０４は、質問受付部１０１が受け付けた質問を回答生成部１０６へ出力すると共に、回答要求を行う（ステップＳ２２）。
【００７１】
ステップＳ２２において、回答取得部１０４が回答を取得した場合（ステップＳ２３；ＹＥＳ）、ステップＳ２４へ移動し、回答取得部１０４が回答を取得しなかった場合（ステップＳ２３；ＮＯ）、処理を終了する。
【００７２】
ステップＳ２３又はステップＳ２１において回答を取得した場合、、回答出力部１１１は、回答取得部１０４が取得した回答を出力して（ステップＳ２４）、処理を終了する。
【００７３】
（変形例）
変形例では、部分質問の回答が複数ある場合の処理について述べる。変形例における、回答取得処理のフローチャートを図７に示す。なお、質問応答装置１００の構成は、図１と同様である。
【００７４】
ステップＳ３１〜ステップＳ３７は、ステップＳ１１〜ステップＳ１８とそれぞれ同様であり、ステップＳ４２及びステップＳ４３は、ステップＳ２２及びステップＳ２３とそれぞれ同様であるため省略する。
【００７５】
部分質問抽出部１０２は、部分質問を抽出する。質問文が「山田○○の代表作の掲載年は」である場合、「山田○○の代表作」という部分質問を抽出し、回答取得部１０４は、当該部分質問に対する回答を取得する（ステップＳ３１―Ｓ３７）。
【００７６】
質問編集部１０５は、回答取得部１０４が回答を取得した場合において（ステップＳ３８；ＹＥＳ）、回答取得部１０４が取得した部分質問の回答が複数（例えばＮ件）ある場合、質問文における、部分質問の箇所を各部分質問の回答に置換する（ステップＳ３９）。即ち、質問編集部１０５は、部分質問の回答数分（即ちＮ件）、置換後の質問文を生成する。
【００７７】
回答取得部１０４は、質問編集部１０５が生成した質問文を回答生成部１０６へ出力すると共に、回答要求を行う（ステップＳ４０）。質問編集部１０５が複数の質問文を生成した場合、回答取得部１０４は、全ての質問文を回答生成部１０６へ出力する。
【００７８】
回答取得部１０４は、１つも回答を取得できなかった場合（ステップＳ４１；ＮＯ）、ステップＳ４２へ移動する。
【００７９】
回答取得部１０４は、１つ以上の回答を取得した場合（ステップＳ４１；ＹＥＳ）、ステップＳ４４へ移動し、取得した回答を出力する。この際に、全ての回答を出力せずに、取得した回答の内、一部の回答を出力するようにしてもよい。
【００８０】
なお、置換質問に対する回答が、さらに複数ある場合もある。その場合においても、置換質問一つあたりＭ件の回答を出力することとする。したがって最大ではＮ×Ｍ個の回答が出力される。
【００８１】
このように、質問応答装置１００では、部分質問の回答が複数あることを許容することにより、ある部分質問の回答に置き換えた質問から回答が得られない場合にも、別の部分質問の回答に置き換えた質問の回答が得られれば、最終的には回答を提示することができるようになる。
【００８２】
次に、本実施形態の質問応答装置１００の作用効果について説明する。質問応答装置１００においては、質問受付部１０１が質問文を受け付け、部分質問抽出部１０２が質問文の一部である部分質問を抽出する。回答取得部１０４が部分質問の回答を取得し、質問編集部１０５が質問文における部分質問の箇所を、部分質問の回答に置き換える。回答取得部１０４が、置き換えた質問の回答を取得し、回答出力部１１１が、置き換えた質問の回答を出力する。
【００８３】
この場合、質問応答装置１００は、質問文に含まれる部分的な質問を抽出して、部分的な質問箇所を、部分的な質問の回答に置き換える。そして、質問応答装置１００は、置き換えた質問における回答を当初の質問の回答として取得するため、別の質問を含む質問文に対して正確に回答することができる。
【００８４】
よって、質問応答装置１００は、質問文中の単語を抽出して、当該単語をキーワードとして回答を得るという手法では回答が得られない複雑な質問であっても、正確に回答を得ることができる。
【００８５】
例えば、ユーザが、ある作者の誕生日を知りたい場合に、その作者の名前を特定できないときでも、当該作者を特定し得る情報（例えば、代表作○○△）を含めた質問（○○△の作者の誕生日）を提示すれば、質問応答装置１００は、回答を出力することができる。すなわち、質問応答装置１００は、複雑な質問（比較的曖昧な質問）でも回答を出力することができる。
【００８６】
また、質問応答装置１００では、チェックワードリスト１０３ａを有し、部分質問抽出部１０２は、部分質問にチェックワードリスト１０３ａのワードが含まれているか否かに基づいて部分質問が適切であるか否かを判断し、回答取得部１０４は、部分質問が適切である場合に、部分質問の回答を取得するようにしてもよい。
【００８７】
この場合、質問応答装置１００は、チェックワードリスト１０３ａを用いて部分質問が適切であるか否かを判断するため、部分質問として適切ではないにも関わらず、部分質問として回答を取得してしまうことを回避することができる。
【００８８】
また、質問応答装置１００では、チェックワードリスト１０３ｂを有し、部分質問抽出部１０２は、質問文の部分質問を除いた部分にチェックワードリスト１０３ｂが含まれているか否かに基づいて部分質問が適切であるか否かを判断し、回答取得部１０４は、部分質問が適切である場合に、部分質問の回答を取得するようにしてもよい。
【００８９】
この場合も、質問応答装置１００は、チェックワードリスト１０３ｂを用いて、質問文における部分質問が適切であるか否かを判断（質問文が部分質問を有する形式の質問文であるか否かを判断）するため、部分質問として適切ではないにも関わらず、部分質問として回答を取得してしまうことを回避することができる。
【００９０】
質問応答装置１００において、回答取得部１０４が、複数の回答を取得した場合、回答取得部１０４は、質問文の部分質問の箇所を、複数の回答のそれぞれに置き換えた質問文に対する回答を取得し、回答出力部１１１は、回答取得部１０４が取得した回答の中から、所定数の回答を出力してもよい。
【００９１】
この場合、質問応答装置１００は、部分質問に対する回答が複数ある場合に、代表的な回答を出力することができる。
【００９２】
質問応答装置１００において、部分質問の回答が得られない場合、回答取得部１０４が質問文の回答を取得し、回答出力部１１１は、上記質問文の回答を出力してもよい。この場合、質問応答装置１００は、部分的に質問が存在しない場合でも、受け付けた質問文全体の回答を出力することができる。
【００９３】
質問応答装置１００において、回答取得部１０４は、部分質問の回答として、括弧書きのような付記的部分を有する回答を取得した場合、付記的部分を削除した回答を部分質問の回答としてもよい。
【００９４】
この場合、質問応答装置１００は、括弧書き部分のような回答として付記的な箇所を取り除いて質問文を置き換えるため、より正確に回答を得ることができる。
【００９５】
質問応答装置１００において、回答取得部１０４は、部分質問の回答として、改行コード以降の文のような付記的部分を有する回答を取得した場合、改行コード以降の回答を削除した回答を部分質問の回答としてもよい。
【００９６】
この場合、質問応答装置１００は、改行コード以降の文のような、回答として付記的な箇所を取り除いて質問文を置き換えるため、より正確に回答を得ることができる。
【００９７】
（他の実施形態）
上述の実施形態では、質問応答装置１００が回答生成部１０６を有する場合について述べたが、他の装置（例えば、サーバ等）が回答生成部を有するようにしてもよい。この場合、質問応答装置１００は、回答生成部を備える装置へ質問文を送信し、当該回答生成部を備える装置から回答を取得する。
【符号の説明】
【００９８】
１００…質問応答装置、１０１…質問受付部、１０２…部分質問抽出部、１０３…チェックワードリスト、１０４…回答取得部、１０５…質問編集部、１０６…回答生成部、１０７…一問一答型質問回答部、１０８…一問一答型回答ＤＢ、１０９…ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型質問回答部、１１０…ｅｎｔｉｔｙ−ｐｒｏｐｅｒｔｙ型回答ＤＢ部、１１１…回答出力部。
【図１】
2014229275.tif 000003
【図２】
2014229275.tif 000004
【図３】
2014229275.tif 000005
【図４】
2014229275.tif 000006
【図５】
2014229275.tif 000007
【図６】
2014229275.tif 000008
【図７】
2014229275.tif 000009