(57)【要約】  情報処理装置１０は、クエリ式及び正答データを受け付ける形式言語クエリ受付部１２と、テキストノードを有する半構造化データを受け付ける半構造化データ受付部１４と、テキストノードから自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部１６と、ノードテキストを変換器１００に入力してノードテキスト式を得るノードテキスト式生成部１８と、ノードテキスト式を用いてクエリ式に対する回答を計算する回答計算部２０と、回答計算部２０が計算した回答が正答データと一致する場合に対応するノードテキスト式が変換器１００において出力されやすくなるように変換器１００のパラメータを更新する更新部２２とを備えている。
2018180106.tif 000002
【特許請求の範囲】
【請求項１】
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
請求項１に記載の情報処理装置。
【請求項３】
前記ノードテキスト式を補正する補正部を更に備え、
前記テキストノードにラベルが関連付けられており、
前記補正部は、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記回答計算部は、前記補正部によって補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
請求項１又は２に記載の情報処理装置。
【請求項４】
自然言語で記述されたクエリ、及び、前記クエリに対する適切な回答を表す前記正答データを受け付ける自然言語クエリ受付部と、
前記自然言語クエリ受付部が受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得るクエリ式生成部と、を更に備え、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記クエリ式生成部が得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
請求項４に記載の情報処理装置。
【請求項６】
前記第１変換器と前記第２変換器とがパラメータを共有している、
請求項５に記載の情報処理装置。
【請求項７】
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
請求項５に記載の情報処理装置。
【請求項８】
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
前記更新部によって更新された前記変換器の前記パラメータを出力する出力部を更に備えた、
請求項１〜８のいずれかに記載の情報処理装置。
【請求項１０】
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｃ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする情報処理方法。
【請求項１１】
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
請求項１０に記載の情報処理方法。
【請求項１２】
（ｇ）前記ノードテキスト式を補正する、ステップを更に備え、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
請求項１０又は１１に記載の情報処理方法。
【請求項１３】
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を更に備え、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
請求項１０〜１２のいずれかに記載の情報処理方法。
【請求項１４】
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
請求項１３に記載の情報処理方法。
【請求項１５】
前記第１変換器と前記第２変換器とがパラメータを共有している、
請求項１４に記載の情報処理方法。
【請求項１６】
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
請求項１４に記載の情報処理方法。
【請求項１７】
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
請求項１０〜１６のいずれかに記載の情報処理方法。
【請求項１８】
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を更に備える、
請求項１０〜１７のいずれかに記載の情報処理方法。
【請求項１９】
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｃ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２１】
前記プログラムが、前記コンピュータに、
（ｇ）前記ノードテキスト式を補正するステップ、を実行させる命令を更に含み、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
請求項１９又は２０に記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記プログラムが、前記コンピュータに、
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を実行させる命令を更に含み、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
請求項１９〜２１のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
請求項２２に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記第１変換器と前記第２変換器とがパラメータを共有している、
請求項２３に記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
請求項２３に記載のコンピュータ読み取り可能な記録媒体。
【請求項２６】
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
請求項１９〜２５のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【請求項２７】
前記プログラムが、前記コンピュータに、
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を実行させる命令を更に含む、
請求項１９〜２６のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語を形式言語に変換する際に利用される変換器を機械学習する、情報処理装置、情報処理方法、及びこれらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、インターネットを通じて大規模な知識ベースが取得できるようになり、知識ベースを用いて質問応答を行うシステムの研究が進められている。このようなシステムにおいて用いられる知識ベースは、一般に、形式言語で記述されたクエリに対応する知識を抽出できるように構造化されている。形式言語としては、例えば、Ｐｒｏｌｏｇ及びＲｅｓｏｕｒｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ（ＲＤＦ）等が用いられる。【０００３】
上記のような形式言語で問い合わせ可能な知識ベースを用いた質問応答システムを利用する場合でも、ユーザの質問は、一般に自然言語で表現される。このため、ユーザの質問に対応する知識を知識ベースから抽出するためには、自然言語で表現されたユーザの質問を形式言語の式に変換する必要がある。【０００４】
そこで、従来、自然言語を形式言語に変換するために、意味解析器（ｓｅｍａｎｔｉｃ  ｐａｒｓｅｒ）が用いられている。一般に、知識ベースを用いた質問応答システムは、自然言語で表現されたユーザの質問を、意味解析器を用いて形式言語の式に変換し、変換された式に対応する回答を知識ベースから抽出してユーザに提示する。【０００５】
例えば、Ｐｒｏｌｏｇによって問い合わせ可能な知識ベースを利用した質問応答システムに、ユーザが「Ｗｈｏ  ｉｓ  Ａｌｉｃｅ‘ｓ  ｆａｔｈｅｒ？」という自然言語の質問を入力したとする。この場合、質問応答システムは、まず、上記の自然言語の質問を、意味解析器によって「ｆａｔｈｅｒ（Ｘ，ａｌｉｃｅ）」というＰｒｏｌｏｇのクエリ式に変換する。その後、質問応答システムは、上記のクエリ式に対応する知識を知識ベースから抽出し、質問への回答としてユーザに提示する。【０００６】
ところで、ユーザの質問に対して適切な回答を知識ベースから抽出するためには、ユーザの質問の意味構造を適切に把握して、自然言語の質問を知識ベースに適した形式言語の式に変換する必要がある。しかし、自然言語の表現は多様であるため、ユーザの自然言語の質問を形式言語の式に適切に変換するためのルールを人手で構築することは困難である。【０００７】
そこで、任意の知識ベースに適した意味解析器を、機械学習を用いて自動構築する技術が提案されている（例えば、非特許文献１参照）。【０００８】
非特許文献１に記載された技術では、自然言語の質問及びその質問に対する正しい回答が予め用意され、用意された自然言語の質問が意味解析器によって複数の形式言語の式に変換される。具体的には、意味解析器は、予め設定されたパラメータに基づいて、自然言語から形式言語への変換を行なう。また、非特許文献１に記載された技術では、意味解析器によって生成された複数の形式言語の式それぞれに対応する回答が知識ベースから抽出され、抽出された複数の回答と、予め用意された上記の正しい回答とが比較される。そして、抽出された複数の回答と予め用意された正しい回答との比較結果に基づいて、ユーザの質問に対して正しい回答が得られるように、上述のパラメータが更新される。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Percy Liang, Michael Jordan, and Dan Klein. 2011. Learning dependency-based compositional semantics. In Proceedings of the Human Language Technology Conference of the Association for Computational Linguistics, pages 590-599, Portland, Oregon.
【非特許文献２】Panupong Pasupat and Percy Liang. 2015. Compositional semantic parsing on semi-structured tables. In Proceedings of the Annual Meeting of the Association for Computational Linguistics.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、非特許文献１の技術では、知識ベースが半構造化データを含む場合、パラメータを適切に更新できない場合がある。半構造化データとは、ＨＴＭＬのテーブルのような、ある程度構造化されているものの、構造化されていない自然言語のテキストを含むデータのことをいう。例えば、ＨＴＭＬのテーブルのセルが自然言語のテキストを含む場合、非特許文献１の技術では、セルに含まれるテキストを知識として利用することができない。【００１１】
テーブルのセルに格納された情報を利用する技術としては、例えば、非特許文献２に記載された技術を挙げることができる。非特許文献２に記載の技術では、テーブルのセル（ノード）に含まれるテキストが複数の値に解釈できる場合は、各値に対応するノードを作成して、テーブルのデータが構造化される。例えば、テーブルのセルが「１９００」というテキストを含む場合は、このテキストが、「１９００．０」という数値、及び「１９００−ＸＸ−ＸＸ」という日付に解釈され、それぞれの解釈に応じて構造化したデータが作成される。したがって、非特許文献２の技術を用いることによって、テーブルのセルに含まれるテキストを知識として利用することができると考えられる。【００１２】
しかしながら、セルがテキストを含む場合に、非特許文献２の技術によって構造化したデータでは、セルに含まれるテキストが、単に原子式（Atomic formula）で表されるだけである。このため、例えば、セルに格納されたテキストが意味構造を有している場合（セルに格納されたテキストの意味が、複数の部分式によって表される場合）には、非特許文献２の技術を利用しても、セルに格納されたテキストを知識として適切に利用することができない。【００１３】
本発明の目的の一例は、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる、情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明の一側面における情報処理装置は、
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
を備えることを特徴とする。【００１５】
また、上記目的を達成するため、本発明の一側面における情報処理方法は、
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｃ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする。【００１６】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｃ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させる、命令を含むプログラムを記録していることを特徴とする。
【発明の効果】
【００１７】
以上のように本発明によれば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本実施の形態における情報処理装置を示すブロック図である。
【図２】図２は、本実施の形態における情報処理装置の具体的構成を示すブロック図である。
【図３】図３は、半構造化データの一例（テキストが格納されたテーブル）を示す図である。
【図４】図４は、半構造化データをグラフ構造で示した図である。
【図５】図５は、表層語及び深層語の一例を示す図である。
【図６】図６は、第１変換器における変換動作を説明するための図である。
【図７】図７は、第１パラメータ保持部に格納された素性と重み（パラメータ）との関係の一例を示す図である。
【図８】図８は、ノードテキスト式及び確率の一例を示す図である。
【図９】図９は、補正されたノードテキスト式の一例を示す図である。
【図１０】図１０は、第２変換器によって生成されるクエリ式の一例を示す図である。
【図１１】図１１は、クエリ式とノードテキスト式との組み合わせの一例を示す図である。
【図１２】図１２は、本発明の実施の形態における情報処理装置の動作を示すフロー図である。
【図１３】図１３は、本発明の実施の形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１９】
（実施の形態）
以下、本発明の実施の形態における、情報処理装置、情報処理方法及びプログラムについて、図１〜１３を参照しながら説明する。
【００２０】
［装置構成］
図１は、本実施の形態における情報処理装置１０を示すブロック図である。図１に示すように、本実施の形態における情報処理装置１０は、変換器１００の機械学習を行うための装置である。変換器１００は、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する。本実施形態では、変換器１００は、例えば、対数線形モデルを利用して、自然言語のテキストを形式言語の式に変換する。変換器１００は、例えば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される。なお、変換器１００には、例えば、非特許文献１に開示された技術を利用することができる。
【００２１】
情報処理装置１０は、形式言語クエリ受付部１２と、半構造化データ受付部１４と、ノードテキスト抽出部１６と、ノードテキスト式生成部１８と、回答計算部２０と、更新部２２とを備えている。
【００２２】
形式言語クエリ受付部１２には、形式言語で記述されたクエリ式、およびそのクエリ式に対する適切な回答を表す正答データが入力される。半構造化データ受付部１４には、意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データが入力される。
【００２３】
ノードテキスト抽出部１６は、半構造化データ受付部１４が受け付けた半構造化データのテキストノードから、自然言語のテキストをノードテキストとして抽出する。ノードテキスト式生成部１８は、ノードテキスト抽出部１６が抽出したノードテキストを、変換器１００に入力して、形式言語の式であるノードテキスト式を変換器１００から得る。
【００２４】
回答計算部２０は、ノードテキスト式生成部１８が変換器１００から得たノードテキスト式を用いて、形式言語クエリ受付部１２が受け付けた上記クエリ式に対する回答を計算する。更新部２２は、回答計算部２０が計算した回答が、形式言語クエリ受付部１２が受け付けた正答データと一致する場合に、ノードテキスト式生成部１８が得たノードテキスト式が変換器１００において出力されやすくなるように、変換器１００のパラメータを更新する。
【００２５】
以上のように本実施形態によれば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器１００の機械学習を行なうことができる。
【００２６】
続いて、図２を用いて、本発明の実施の形態における情報処理装置の構成について更に具体的に説明する。図２には、本発明の実施の形態における情報処理装置の具体的構成を示すブロック図が示されている。なお、以下においては、自然言語のテキストをＰｒｏｌｏｇの形式言語に変換する場合について説明するが、他の形式言語を利用してもよい。
【００２７】
図２を参照して、本実施形態に係る情報処理装置１０は、上述の形式言語クエリ受付部１２、半構造化データ受付部１４、ノードテキスト抽出部１６、ノードテキスト式生成部１８、回答計算部２０、及び更新部２２に加えて更に、補正部２４、自然言語クエリ受付部２６、クエリ式生成部２８、及び出力部３０を備えている。
【００２８】
また、本実施形態では、情報処理装置１０は、第１変換器１０２ａ、第１パラメータ保持部１０２ｂ、第２変換器１０４ａ、及び第２パラメータ保持部１０４ｂに接続されている。第１変換器１０２ａは、自然言語のテキストが入力されると、第１パラメータ保持部１０２ｂに保持された第１パラメータに基づいて形式言語の式を出力する。第２変換器１０４ａは、自然言語のテキストが入力されると、第２パラメータ保持部１０４ｂに保持された第２パラメータに基づいて形式言語の式を出力する。本実施形態では、情報処理装置１０は、第１パラメータ保持部１０２ｂに保持された第１パラメータ及び第２パラメータ保持部１０４ｂに保持された第２パラメータを更新することによって、第１変換器１０２ａ及び第２変換器１０４ａの機械学習を行うことができる。
【００２９】
上述したように、半構造化データ受付部１４には、意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データが入力される。
【００３０】
本実施形態では、半構造化データ受付部１４に入力される半構造化データは、複数のノードが相互に関連付けられたグラフ構造で表すことができる。例えば、図３に示すような、各セルにテキストが格納されたテーブルが、半構造化データとして半構造化データ受付部１４に入力された場合、当該半構造化データは、図４に示すようなグラフ構造で表される。具体的には、本実施形態では、図３のテーブルの各行を１エントリとして行ごとにノード（図４においては、ノードｅ１,ｅ２。以下、エントリノードという。）が作成されるとともに、各行の複数のセルに格納されたテキストがそれぞれテキストノードとして規定される。さらに、各列名をラベル（エッジ）として、各テキストノードとエントリノードとが接続される。これにより、図４（ａ），（ｂ）に示すように、半構造化データ受付部１４に入力されたテーブルの各行の複数のテキストデータを、グラフ構造で表すことができる。すなわち、本実施形態では、各テキストノードにはそれぞれ、ラベルが関連付けられている。
【００３１】
なお、図３及び図４の例では、「Appetite stimulation」、「loss of emotion」、「Overdose causes dizziness」、「prevention of coughs」、及び「decreased appetite」が意味構造を有する自然言語のテキストに相当する。これらの各テキストの意味（例えば、「副作用」が「感情の減退」であるという意味）は、非構造化データを知識として利用する場合に、複数の部分式によって表す必要がある。
【００３２】
以下においては、図３に示すテーブルが半構造化データとして半構造化データ受付部１４に入力された場合について説明するが、半構造化データ受付部１４に入力されるデータは、グラフ構造として表すことができればよく、上記のようなテーブルに限定されない。また、半構造化データ受付部１４には、ＸＭＬ、ＨＴＭＬ及びＲＤＦ等の種々の形式のデータを入力することができる。
【００３３】
図２を参照して、上述したように、ノードテキスト抽出部１６は、半構造化データ受付部１４が受け付けた半構造化データのテキストノードから、自然言語のテキストをノードテキストとして抽出する。図３及び図４に示した例では、上述の意味構造を有するテキストがそれぞれノードテキストとして抽出されるとともに、「Medicine-A」、「Powder」、「Medicine-B」、及び「Pill」がノードテキストとして抽出される。すなわち、本実施形態では、テキストノード自体が、半構造化データからノードテキストとして抽出される。
【００３４】
図２を参照して、ノードテキスト式生成部１８は、ノードテキスト抽出部１６が抽出したノードテキストを、第１変換器１０２ａへ出力する。第１変換器１０２ａは、ノードテキスト式生成部１８から入力されたノードテキストを、形式言語の式であるノードテキスト式に変換して、ノードテキスト式生成部１８へ出力する。なお、第１変換器１０２ａとしては、公知の変換器を用いることができるので、以下においては、第１変換器１０２ａについて簡単に説明する。第２変換器１０４ａについても同様である。
【００３５】
本実施形態では、第１変換器１０２ａは、例えば、入力されるテキストと出力する形式言語の式とのペアを特徴付ける予め設定された複数の素性（特徴）に基づいて、対数線形モデルを利用して、ノードテキストをノードテキスト式に変換する。なお、第１変換器１０２ａ及び第２変換器１０４ａには、例えば、非特許文献１に開示された技術を利用することができる。
【００３６】
本実施形態では、例えば、図５に示すような表層語と深層語との全ての組み合わせがそれぞれ素性として予め設定される。なお、本実施形態において表層語とは、ノードテキスト及び後述する自然言語で記述されたクエリ（訓練用テキスト）に含まれる語を意味する。また、深層語とは、表層語およびラベルに対応する述語である。本実施形態では、例えば、各表層語に対して、引数が０〜２の述語が設定される。なお、図５に示した表層語及び深層語は単なる一例であり、表層語及び深層語の数は図５に示した例に限定されない。本実施形態では、上記素性は、例えば、第１パラメータ保持部１０２ｂに記憶されている。
【００３７】
本実施形態では、第１変換器１０２ａは、入力されたノードテキストの表層語を深層語に変換することによって、ノードテキスト式を生成する。１つの表層語に対して、複数の深層語が設定されている場合には、第１変換器１０２ａは、複数のノードテキスト式を生成することができる。以下、簡単に説明する。
【００３８】
図６は、第１変換器１０２ａにおける変換動作を説明するための図である。なお、図６では、ノードテキストとして、「loss of emotion」が第１変換器１０２ａに入力された場合について説明する。
【００３９】
図６（ａ）を参照して、「loss of emotion」が入力されると、第１変換器１０２ａは、予め設定された素性に基づいて、例えば、表層語「loss」を深層語「loss/1」に変換し、表層語「emotion」を深層語「emotion」に変換する。そして、深層語「loss/1」の引数に、アトム（引数を有さない述語）である「emotion」を代入することによって、形式言語のノードテキスト式「loss(emotion)」を生成する。また、図６（ｂ）を参照して、第１変換器１０２ａは、例えば、表層語「loss」を深層語「decrease/2」に変換し、表層語「emotion」を深層語「emotion」に変換する。そして、深層語「decrease/2」の引数にアトムを代入し、さらに空白の引数にエントリ（本実施形態では、テーブルの行を示すエントリ）を表すｅ１を代入することによって、形式言語のノードテキスト式「decrease(e1,emotion)」を生成する。なお、図６に示した形式言語は一例であり、第１変換器１０２ａは、予め設定された素性に基づいて複数の形式言語を生成する。なお、図６に示すように、本実施形態では、機能語「ｏｆ」の変換は省略することができる。
【００４０】
また、本実施形態では、第１パラメータ保持部１０２ｂに、複数の素性と、素性ごとに付された重みとの関係が格納されている。本実施形態では、複数の素性に付された重みが、第１変換器１０２ａの第１パラメータに対応する。
【００４１】
図７は、第１パラメータ保持部１０２ｂに格納された複数の素性と、複数の素性の重み（パラメータ）との関係の一例を示す図である。図７に示すように、本実施形態で、初期設定の状態では、例えば、互いに表記が一致する表層語と深層語との組み合わせ（素性）の重みが重くなるように、各素性の重みが設定されている。
【００４２】
本実施形態では、図８に示すように、第１変換器１０２ａは、上記のように設定された各素性の重みに基づいて、出力されるノードテキスト式ごとに、そのノードテキスト式が得られる確率を計算する。なお、図８（ａ）は、ノードテキストとして、「Medicine-A」が第１変換器１０２ａに入力された場合に生成されるノードテキスト式及び確率の一例であり、図８（ｂ）は、ノードテキストとして、「loss of emotion」が第１変換器１０２ａに入力された場合に生成されるノードテキスト式及び確率の一例である。第１変換器１０２ａは、計算して得られたノードテキスト式ごとの確率を、ノードテキスト式とともにノードテキスト式生成部１８へ出力する。
【００４３】
なお、詳細な説明は省略するが、第１変換器１０２ａは、全てのテキストノードについてノードテキスト式を生成してもよく、後述するクエリ（訓練用テキスト）又はクエリ式（訓練用テキスト式）に関連するテキストノードを選択してノードテキスト式を生成してもよい。例えば、第１変換器１０２ａは、クエリに含まれる表層語と表記が一致するラベルが関連付けられたテキストノードを選択して、ノートテキスト式を生成してもよい。
【００４４】
また、第１変換器１０２ａは、例えば、表層語を深層語に変換する際に、所定の閾値以上の重みを有する素性を選択して、表層語を深層語に変換してもよい。また、第１変換器１０２ａは、例えば、確率が高い順に選択された所定数のノードテキスト式のみを、ノードテキスト式生成部１８へ出力してもよい。また、第１変換器１０２ａは、例えば、生成した複数のノードテキスト式の中からランダムに選択した所定数のノードテキスト式をノードテキスト式生成部１８へ出力してもよい。
【００４５】
図２を参照して、補正部２４は、ノードテキスト式生成部１８が得たノードテキスト式を、そのノードテキスト式が抽出されたテキストノードに関連付けられたラベル（図４参照）に基づいて補正する。本実施形態では、上述したように、テーブル（図３）の各列名がラベルに対応する。本実施形態では、第１変換器１０２ａは、第１パラメータ保持部１０２ｂに記憶されたラベル（表層語）と深層語との関係（図５参照）に基づいて、ノードテキスト式とラベルに対応する深層語（述語）とを組み合せることによって、ノードテキスト式を補正する。具体的には、補正部２４は、例えば、図８に示したノードテキスト式を、図９に示すように補正する。図９（ａ）に示した例では、補正部２４は、ラベルに対応する深層語（述語）の第１引数にエントリを表すｅ１を代入し、第２引数にノードテキスト式を代入することによって、ノードテキスト式を補正している。本実施形態では、補正部２４は、補正したノードテキスト式を、確率とともに回答計算部２０へ出力する。
【００４６】
また、本実施形態に係る情報処理装置１０では、自然言語で記述されたクエリ（訓練用テキスト）、及びそのクエリに対する適切な回答を表す正答データが自然言語クエリ受付部２６に入力される。クエリ式生成部２８は、自然言語クエリ受付部２６が受け付けたクエリを、第２変換器１０４ａに入力する。なお、以下においては、“What is diminished by the side effects of Medicine-A”というクエリと、そのクエリに対する適切な回答を表す正答データとして、「E=e1, X=emotion」を入力する場合について説明する。
【００４７】
第２変換器１０４ａは、クエリ式生成部２８から入力されたクエリ（訓練用テキスト）を、形式言語で記述されたクエリ式（訓練用テキスト式）に変換して、クエリ式生成部２８に出力する。なお、詳細な説明は省略するが、第２変換器１０４ａは、第１変換器１０２ａと同様に、入力されるテキストと出力する形式言語の式とのペアを特徴付ける予め設定された複数の素性（特徴）に基づいて、対数線形モデルを利用して、自然言語で記述されたクエリ（訓練用テキスト）を形式言語のクエリ式（訓練用テキスト式）に変換する。
【００４８】
また、詳細な説明は省略するが、本実施形態では、第２パラメータ保持部１０４ｂには、第１パラメータ保持部１０２ｂと同様に、複数の素性と複数の素性の重み（第２パラメータ）とが記憶されている。第２変換器１０４ａは、第１変換器１０２ａと同様に、第２パラメータ保持部１０４ｂに記憶された素性及び重みに基づいて、１または複数のクエリ式を生成するとともに、クエリ式ごとに、そのクエリ式が得られる確率を計算する。
【００４９】
本実施形態では、“What is diminished by the side effects of Medicine-A”というクエリが入力されることにより、第２変換器１０４ａは、例えば、図１０に示すように、２つのクエリ式を生成する。なお、図１０に示した例では、第２変換器１０４ａは、クエリ（訓練用テキスト）に含まれる表層語「diminish」を深層語「diminish/2」に変換して得られるクエリ式と、表層語「diminish」を深層語「decrease/2」に変換して得られるクエリ式を、確率とともにクエリ式生成部２８へ出力する。
【００５０】
図２を参照して、クエリ式生成部２８は、第２変換器１０４ａから入力されたクエリ式を、自然言語クエリ受付部２６が受け付けた正答データ（クエリ式に対応する正答データ）と共に形式言語クエリ受付部１２へ出力する。形式言語クエリ受付部１２は、クエリ式生成部２８から入力されたクエリ式及び正答データのペアを、回答計算部２０へ出力する。
【００５１】
回答計算部２０は、補正部２４から入力された補正後のノードテキスト式（図９参照）を用いて、クエリ式（図１０参照）に対する回答を計算する。すなわち、回答計算部２０は、補正部２４から入力された補正後のノードテキスト式を知識ベースとして、形式言語クエリ受付部１２から入力されたクエリ式に基づいて問い合わせを実行する。
【００５２】
例えば、図９に示したノードテキスト式及び図１０に示したクエリ式が回答計算部２０に入力される場合、図１１に示すように、クエリ式とノードテキスト式との組み合わせとして、４通りの組み合わせが考えられる。この４通りの組み合せの中から、回答計算部２０は、「E=e1, X=emotion」を回答として得ることができる。なお、図１１の例では、「E=e1, X=emotion」を回答として得ることができる確率は、クエリ式及び２つのノードテキスト式の確率を乗算（０．３×１．０×０．２）することによって得られ、０．０６である。回答計算部２０は、得られた回答と、その回答が得られる確率とを、更新部２２へ出力する。
【００５３】
更新部２２は、回答計算部２０が計算した回答が、形式言語クエリ受付部１２が受け付けた正答データと一致する場合に、正答が得られたクエリ式とノードテキスト式との組み合わせが得られる確率が増加するように、第１パラメータ保持部１０２ｂに格納された第１パラメータ及び第２パラメータ保持部１０４ｂに格納された第２パラメータを更新する。上述したように、本実施形態では、正答データとして「E=e1, X=emotion」が入力されているので、回答計算部２０が計算した回答「E=e1, X=emotion」と、形式言語クエリ受付部１２が受け付けた正答データ「E=e1, X=emotion」とが一致している。したがって、回答計算部２０は、「E=e1, X=emotion」を得ることができたクエリ式とノードテキスト式との組み合わせが得られる確率（図１１の例では０．０６）が高くなるように、第１パラメータ及び第２パラメータを更新する。
【００５４】
本実施形態では、更新部２２は、ノードテキスト式生成部１８が得たノードテキスト式（正答が得られたノードテキスト式）が第１変換器１０２ａにおいて出力されやすくなるように、第１パラメータ保持部１０２ｂに格納された第１パラメータを更新する。具体的には、本実施形態では、回答計算部２０は、ノードテキスト及び正答が得られたノードテキスト式のペアが有する素性（特徴）に関連付けられた重みが増加するように、第１パラメータを更新する。例えば、図６（ｂ）のノードテキスト式が正答に対応していた場合、回答計算部２０は、ノードテキスト「loss of emotion」及びノードテキスト式「decrease(e1, emotion)」のペアが保有する２つの素性（表層語「loss」と深層語「decrease/2」との組み合せ及び表層語「emotion」と深層語「emotion」との組み合せ）に付された重みが増加するように、第１パラメータを更新する。
【００５５】
また、更新部２２は、回答計算部２０が計算した回答が正答データと一致する場合に、クエリ式生成部２８が得たクエリ式（正答が得られたクエリ式）が第２変換器１０４ａにおいて出力されやすくなるように、第２パラメータ保持部１０４ｂに格納された第２パラメータを更新する。なお、詳細な説明は省略するが、本実施形態では、更新部２２は、ノードテキスト及びノードテキスト式のペアの場合と同様に、例えば、クエリ及び正答が得られたクエリ式のペアが保有する素性に関連付けられた重みが増加するように、第２パラメータを更新する。
【００５６】
なお、更新部２２による第１パラメータ及び第２パラメータの更新には、例えば、非特許文献１に記載されたアルゴリズムを利用することができる。
【００５７】
出力部３０は、更新部２２によって更新された第１パラメータ及び第２パラメータを出力する。これにより、他の変換器においても、更新後の第１パラメータ及び第２パラメータを利用することができる。本実施形態では、出力部３０は、更新部２２による更新回数が予め指定された指定回数に達した場合に、第１パラメータ及び第２パラメータを出力する。
【００５８】
以上のように、本実施形態においては、変換器によって、クエリ（訓練用テキスト）からクエリ式（訓練用テキスト式）が生成され、半構造化データのノードテキストからノードテキスト式が生成される。ノードテキスト式は、ラベルに対応する述語によって補正される。そして、補正されたノードテキスト式を知識ベースとして用いて、クエリ式に対する回答が計算される。得られた回答が、予め入力された正答と一致する場合には、その回答を導くことができたクエリ式及びノードテキスト式が得られる確率が高くなるように、変換器のパラメータが更新される。
【００５９】
このように、本実施形態では、半構造化データのノードに含まれるテキストに変換器（意味解析器）を適用することにより、テキストの持つ意味構造を扱うことができる。本実施形態では、上記のようにして更新されたパラメータを用いることにより、グラフ構造に対して入れ子になったテキストが意味構造を有している場合でも、そのテキストを変換器によって適切な形式言語の式に変換することが可能となる。これにより、質問応答システムにおいて、知識ベースとして与えられた半構造化データのノードに含まれるテキストが、複数の部分式から構成される構造を持つ式に対応する場合にも、その構造を考慮して、質問に対して適切に応答することが可能となる。
【００６０】
また、本実施形態では、クエリ（訓練用テキスト）の形式言語への変換及び半構造化データの形式言語への変換を同時に学習することができる。これにより、訓練用テキストの自然言語の表現と、訓練用テキストへの回答に必要な半構造化データの自然言語の表現とが、共通の述語を用いた形式言語の式に変換される。その結果、質問応答システムにおいて、質問応答をより適切に行うことができる。
【００６１】
なお、半構造化データを用いずに事前に学習された変換器を用いた場合は、訓練用テキストの自然言語の表現と、訓練用テキストへの回答に必要な半構造化データの自然言語の表現とが、共通の述語を用いた形式言語の式に変換されるとは限らない。このため、質問応答システムにおいて、質問応答を適切に行うことができない場合がある。
【００６２】
［装置動作］
次に、本発明の実施の形態における情報処理装置の動作について図１２を用いて説明する。図１２は、本発明の実施の形態における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜図１〜図１１を参酌する。また、本実施の形態では、情報処理装置１０を動作させることによって、情報処理方法が実施される。よって、本実施の形態における情報処理方法の説明は、以下の情報処理装置１０の動作説明に代える。
【００６３】
図１２を参照して、情報処理装置１０においては、まず、自然言語クエリ受付部２６が、自然言語で記述されたクエリ、及びそのクエリに対する適切な回答を表す正答データを受け付ける（ステップＳ１）。また、半構造化データ受付部１４が、意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データを受け付ける（ステップＳ２）。
【００６４】
次に、クエリ式生成部２８が、第２変換器１０４ａからクエリ式を得る（ステップＳ３）。本実施形態では、上述したように、クエリ式生成部２８は、自然言語クエリ受付部２６が受け付けた自然言語で記述されたクエリを第２変換器１０４ａに入力し、形式言語で記述されたクエリ式を第２変換器１０４ａから得る。
【００６５】
次に、ノードテキスト抽出部１６が、半構造化データ受付部１４が受け付けた半構造化データのテキストノードから、自然言語のテキストをノードテキストとして抽出する（ステップＳ４）。
【００６６】
次に、ノードテキスト式生成部１８が、第１変換器１０２ａからノードテキスト式を得る（ステップＳ５）。本実施形態では、上述したように、ノードテキスト式生成部１８は、ノードテキスト抽出部１６が抽出した自然言語で記述されたノードテキストを第１変換器１０２ａに入力し、形式言語で記述されたノードテキスト式を第１変換器１０２ａから得る。
【００６７】
次に、補正部２４が、ノードテキスト式生成部１８が得たノードテキスト式を補正する（ステップＳ６）。本実施形態では、補正部２４は、上述したように、対応するテキストノードに関連付けられたラベルに基づいて、ノードテキスト式を補正する。
【００６８】
次に、回答計算部２０が、補正部２４によって補正されたノードテキスト式を用いて、クエリ式生成部２８が第２変換器１０４ａから得たクエリ式に対する回答を計算する（ステップＳ７）。本実施形態では、回答計算部２０は、上述したように、補正後の複数のノードテキスト式を知識ベースとして、形式言語クエリ受付部１２から入力された複数のクエリ式に基づいて問い合わせを実行することによって、回答を計算する。
【００６９】
次に、更新部２２が、回答計算部２０が計算した回答が、形式言語クエリ受付部１２が受け付けた正答データと一致するか否かを判定する（ステップＳ８）。回答と正答データとが一致する場合、更新部２２は、上述したように、第１パラメータ保持部１０２ｂに格納された第１パラメータ及び第２パラメータ保持部１０４ｂに格納された第２パラメータを更新する（ステップＳ９）。一方、ステップＳ８において回答と正答データとが一致していない場合、更新部２２は、パラメータの更新を中止する。そして、クエリ式生成部２８によるステップＳ３の処理が再開される。
【００７０】
ステップＳ９においてパラメータが更新された後、出力部３０が、更新部２２による更新回数が予め設定された指定回数に到達したか否かを判定する（ステップＳ１０）。更新回数が指定回数に到達している場合、出力部３０は、パラメータを出力する（ステップＳ１１）。更新回数が指定回数に到達していない場合、出力部３０は、パラメータの出力を中止する。そして、クエリ式生成部２８によるステップＳ３の処理が再開される。
【００７１】
なお、本実施形態では、例えば、入力するクエリ（訓練用テキスト）及び正答データを変更しながら、更新部２２によるパラメータの更新（ステップＳ３〜１０の処理）を繰り返し実行することができる。すなわち、入力するクエリごとに、予め設定された指定回数のパラメータ更新を行い、全てのクエリに対してのパラメータ更新が終了した後に、出力部３０がパラメータを出力してもよい。なお、この場合、２つ目以降のクエリを入力する際には、ステップＳ２の処理は省略することができる。
【００７２】
（変形例）
なお、図２に示した例では、第１変換器１０２ａと第２変換器１０４ａとが、異なる素性及びパラメータを利用する場合について説明したが、第１変換器１０２ａと第２変換器１０４ａとが共通の素性及びパラメータを用いてもよい。すなわち、第１変換器１０２ａと第２変換器１０４ａとが、共通のパラメータ保持部に格納された素性及びパラメータを用いてもよい。この場合、更新部２２は、その共通のパラメータ保持部に格納されたパラメータを更新すればよい。
【００７３】
また、図２に示した例では、異なる２つの変換器（第１変換器１０２ａ、第２変換器１０４ａ）によってノードテキスト式及びクエリ式が生成される場合について説明したが、共通の変換器によってノードテキスト式及びクエリ式を生成してもよい。この場合、その共通の変換器は、ノードテキスト式及びクエリ式に共通する素性及びパラメータを用いてもよく、ノードテキスト式及びクエリ式に応じて異なる素性及びパラメータを用いてもよい。
【００７４】
また、図２に示した例では、第１パラメータ保持部１０２ｂ及び第２パラメータ保持部１０４ｂが情報処理装置１０の外部に設けられる場合について説明したが、情報処理装置１０がパラメータ保持部を備えていてもよい。
【００７５】
［プログラム］
本発明の実施の形態におけるプログラムは、コンピュータに、図１２に示すステップＳ１〜Ｓ１１を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における情報処理装置と情報処理方法とを実現することができる。この場合、情報処理装置となるコンピュータのプロセッサは、形式言語クエリ受付部１２、半構造化データ受付部１４、ノードテキスト抽出部１６、ノードテキスト式生成部１８、回答計算部２０、更新部２２、補正部２４、自然言語クエリ受付部２６、クエリ式生成部２８及び出力部３０として機能し、処理を行なう。
【００７６】
また、本実施の形態では、第１パラメータ保持部１０２ｂ及び第２パラメータ保持部１０４ｂは、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現されている。
【００７７】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、形式言語クエリ受付部１２、半構造化データ受付部１４、ノードテキスト抽出部１６、ノードテキスト式生成部１８、回答計算部２０、更新部２２、補正部２４、自然言語クエリ受付部２６、クエリ式生成部２８及び出力部３０のいずれかとして機能してもよい。
【００７８】
［物理構成］
ここで、本実施の形態におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて図を用いて説明する。図１３は、本発明の実施の形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。
【００７９】
図１３に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていてもよい。
【００８０】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであってもよい。
【００８１】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボードおよびマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８２】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、およびコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８３】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））およびＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【００８４】
なお、本実施の形態における情報処理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、情報処理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００８５】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記２７）によって表現することができるが、以下の記載に限定されるものではない。
【００８６】
（付記１）
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
を備えることを特徴とする情報処理装置。
【００８７】
（付記２）
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記１に記載の情報処理装置。
【００８８】
（付記３）
前記ノードテキスト式を補正する補正部を更に備え、
前記テキストノードにラベルが関連付けられており、
前記補正部は、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記回答計算部は、前記補正部によって補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記１又は２に記載の情報処理装置。
【００８９】
（付記４）
自然言語で記述されたクエリ、及び、前記クエリに対する適切な回答を表す前記正答データを受け付ける自然言語クエリ受付部と、
前記自然言語クエリ受付部が受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得るクエリ式生成部と、を更に備え、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記クエリ式生成部が得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記１〜３のいずれかに記載の情報処理装置。
【００９０】
（付記５）
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
付記４に記載の情報処理装置。
【００９１】
（付記６）
前記第１変換器と前記第２変換器とがパラメータを共有している、
付記５に記載の情報処理装置。
【００９２】
（付記７）
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
付記５に記載の情報処理装置。
【００９３】
（付記８）
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記１〜７のいずれかに記載の情報処理装置。
【００９４】
（付記９）
前記更新部によって更新された前記変換器の前記パラメータを出力する出力部を更に備えた、
付記１〜８のいずれかに記載の情報処理装置。
【００９５】
（付記１０）
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｃ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする情報処理方法。
【００９６】
（付記１１）
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記１０に記載の情報処理方法。
【００９７】
（付記１２）
（ｇ）前記ノードテキスト式を補正する、ステップを更に備え、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記１０又は１１に記載の情報処理方法。
【００９８】
（付記１３）
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を更に備え、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記１０〜１２のいずれかに記載の情報処理方法。
【００９９】
（付記１４）
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
付記１３に記載の情報処理方法。
【０１００】
（付記１５）
前記第１変換器と前記第２変換器とがパラメータを共有している、
付記１４に記載の情報処理方法。
【０１０１】
（付記１６）
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
付記１４に記載の情報処理方法。
【０１０２】
（付記１７）
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記１０〜１６のいずれかに記載の情報処理方法。
【０１０３】
（付記１８）
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を更に備える、
付記１０〜１７のいずれかに記載の情報処理方法。
【０１０４】
（付記１９）
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｃ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【０１０５】
（付記２０）
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記１９に記載のコンピュータ読み取り可能な記録媒体。
【０１０６】
（付記２１）
前記プログラムが、前記コンピュータに、
（ｇ）前記ノードテキスト式を補正するステップ、を実行させる命令を更に含み、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記１９又は２０に記載のコンピュータ読み取り可能な記録媒体。
【０１０７】
（付記２２）
前記プログラムが、前記コンピュータに、
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を実行させる命令を更に含み、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記１９〜２１のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【０１０８】
（付記２３）
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
付記２２に記載のコンピュータ読み取り可能な記録媒体。
【０１０９】
（付記２４）
前記第１変換器と前記第２変換器とがパラメータを共有している、
付記２３に記載のコンピュータ読み取り可能な記録媒体。
【０１１０】
（付記２５）
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
付記２３に記載のコンピュータ読み取り可能な記録媒体。
【０１１１】
（付記２６）
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記１９〜２５のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【０１１２】
（付記２７）
前記プログラムが、前記コンピュータに、
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を実行させる命令を更に含む、
付記１９〜２６のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【０１１３】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１４】
この出願は、２０１７年３月３０日に出願された日本出願特願２０１７−０６８４５３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１１５】
以上のように、本発明によれば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる。
【符号の説明】
【０１１６】
１０  情報処理装置
１２  形式言語クエリ受付部
１４  半構造化データ受付部
１６  ノードテキスト抽出部
１８  ノードテキスト式生成部
２０  回答計算部
２２  更新部
２４  補正部
２６  自然言語クエリ受付部
２８  クエリ式生成部
３０  出力部
１００  変換器
１０２ａ  第１変換器
１０２ｂ  第１パラメータ保持部
１０４ａ  第２変換器
１０４ｂ  第２パラメータ保持部
【図１】
2018180106.tif 000003
【図２】
2018180106.tif 000004
【図３】
2018180106.tif 000005
【図４】
2018180106.tif 000006
【図５】
2018180106.tif 000007
【図６】
2018180106.tif 000008
【図７】
2018180106.tif 000009
【図８】
2018180106.tif 000010
【図９】
2018180106.tif 000011
【図１０】
2018180106.tif 000012
【図１１】
2018180106.tif 000013
【図１２】
2018180106.tif 000014
【図１３】
2018180106.tif 000015
【手続補正書】
【提出日】令和1年9月26日(2019.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
請求項１に記載の情報処理装置。
【請求項３】
前記ノードテキスト式を補正する補正部を更に備え、
前記テキストノードにラベルが関連付けられており、
前記補正部は、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記回答計算部は、前記補正部によって補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
請求項１又は２に記載の情報処理装置。
【請求項４】
自然言語で記述されたクエリ、及び、前記クエリに対する適切な回答を表す前記正答データを受け付ける自然言語クエリ受付部と、
前記自然言語クエリ受付部が受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得るクエリ式生成部と、を更に備え、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記クエリ式生成部が得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
請求項４に記載の情報処理装置。
【請求項６】
前記第１変換器と前記第２変換器とがパラメータを共有している、
請求項５に記載の情報処理装置。
【請求項７】
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
請求項５に記載の情報処理装置。
【請求項８】
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
前記更新部によって更新された前記変換器の前記パラメータを出力する出力部を更に備えた、
請求項１〜８のいずれかに記載の情報処理装置。
【請求項１０】
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｄ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする情報処理方法。
【請求項１１】
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
請求項１０に記載の情報処理方法。
【請求項１２】
（ｇ）前記ノードテキスト式を補正する、ステップを更に備え、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
請求項１０又は１１に記載の情報処理方法。
【請求項１３】
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を更に備え、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
請求項１０〜１２のいずれかに記載の情報処理方法。
【請求項１４】
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
請求項１３に記載の情報処理方法。
【請求項１５】
前記第１変換器と前記第２変換器とがパラメータを共有している、
請求項１４に記載の情報処理方法。
【請求項１６】
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
請求項１４に記載の情報処理方法。
【請求項１７】
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
請求項１０〜１６のいずれかに記載の情報処理方法。
【請求項１８】
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を更に備える、
請求項１０〜１７のいずれかに記載の情報処理方法。
【請求項１９】
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムであって、
前記コンピュータに、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｄ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させる命令を含む、プログラム。
【請求項２０】
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
請求項１９に記載のプログラム。
【請求項２１】
前記コンピュータに、
（ｇ）前記ノードテキスト式を補正するステップ、を実行させる命令を更に含み、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
請求項１９又は２０に記載のプログラム。
【請求項２２】
前記コンピュータに、
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を実行させる命令を更に含み、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
請求項１９〜２１のいずれかに記載のプログラム。
【請求項２３】
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
請求項２２に記載のプログラム。
【請求項２４】
前記第１変換器と前記第２変換器とがパラメータを共有している、
請求項２３に記載のプログラム。
【請求項２５】
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
請求項２３に記載のプログラム。
【請求項２６】
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
請求項１９〜２５のいずれかに記載のプログラム。
【請求項２７】
前記コンピュータに、
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を実行させる命令を更に含む、
請求項１９〜２６のいずれかに記載のプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、自然言語を形式言語に変換する際に利用される変換器を機械学習する、情報処理装置、情報処理方法、及びこれらを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明の目的の一例は、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる、情報処理装置、情報処理方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、上記目的を達成するため、本発明の一側面における情報処理方法は、
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｄ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムであって、
前記コンピュータに、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｄ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させることを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
（付記１０）
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｄ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする情報処理方法。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
（付記１９）
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムであって、
前記コンピュータに、
（ａ）形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
（ｂ）意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
（ｃ）前記（ｂ）のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
（ｄ）前記（ｃ）のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
（ｅ）前記（ｄ）のステップで得た前記ノードテキスト式を用いて、前記（ａ）のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
（ｆ）前記（ｅ）のステップで計算した回答が、前記（ａ）のステップで受け付けた前記正答データと一致する場合に、前記（ｄ）のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させるプログラム。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
（付記２０）
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記１９に記載のプログラム。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
（付記２１）
前記コンピュータに、
（ｇ）前記ノードテキスト式を補正するステップ、を実行させる命令を更に含み、
前記テキストノードにラベルが関連付けられており、
前記（ｇ）のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記（ｅ）のステップでは、前記（ｇ）のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記１９又は２０に記載のプログラム。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
（付記２２）
前記コンピュータに、
（ｈ）自然言語で記述されたクエリを受け付ける、ステップと、
（ｉ）前記（ｈ）のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を実行させる命令を更に含み、
前記（ａ）のステップでは、前記（ｉ）のステップで前記変換器から得た前記クエリ式を受け付け、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記（ｉ）のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記１９〜２１のいずれかに記載のプログラム。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
（付記２３）
前記変換器は、前記ノードテキスト式を出力する第１変換器と、前記クエリ式を出力する第２変換器とを含む、
付記２２に記載のプログラム。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
（付記２４）
前記第１変換器と前記第２変換器とがパラメータを共有している、
付記２３に記載のプログラム。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
（付記２５）
前記パラメータは、前記第１変換器の第１パラメータと、前記第２変換器の第２パラメータとを含む、
付記２３に記載のプログラム。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１１１
【補正方法】変更
【補正の内容】
【０１１１】
（付記２６）
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記（ｆ）のステップでは、前記（ｅ）のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記１９〜２５のいずれかに記載のプログラム。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
（付記２７）
前記プログラムが、前記コンピュータに、
（ｊ）前記（ｆ）のステップで更新された前記変換器の前記パラメータを出力するステップ、を実行させる命令を更に含む、
付記１９〜２６のいずれかに記載のプログラム。
【国際調査報告】
2018180106.tif 000016
2018180106.tif 000017