JP6733809B2 - 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム - Google Patents

情報処理システム、情報処理装置、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP6733809B2
JP6733809B2 JP2019508124A JP2019508124A JP6733809B2 JP 6733809 B2 JP6733809 B2 JP 6733809B2 JP 2019508124 A JP2019508124 A JP 2019508124A JP 2019508124 A JP2019508124 A JP 2019508124A JP 6733809 B2 JP6733809 B2 JP 6733809B2
Authority
JP
Japan
Prior art keywords
question
answer
query expression
information processing
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019508124A
Other languages
English (en)
Other versions
JPWO2018179355A1 (ja
Inventor
穣 岡嶋
穣 岡嶋
定政 邦彦
邦彦 定政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2018179355A1 publication Critical patent/JPWO2018179355A1/ja
Application granted granted Critical
Publication of JP6733809B2 publication Critical patent/JP6733809B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理システム、情報処理装置、情報処理方法および情報処理プログラムに関する。
近年、インターネットを通じて大規模な知識ベースが取得できるようになり、知識ベースを用いて質問応答を行うシステムの研究が進められている。このようなシステムにおいて用いられる知識ベースは、一般に、形式言語で記述されたクエリに対応する知識を抽出できるように構造化されている。形式言語としては、例えば、PrologおよびRDF(Resource Description Framework)等が用いられる。
上記のような形式言語で問い合わせ可能な知識ベースを用いた質問応答システムを利用する場合でも、ユーザの質問は、一般に自然言語で表現される。このため、ユーザの質問に対応する知識を知識ベースから抽出するためには、自然言語で表現されたユーザの質問を形式言語の式に変換する必要がある。
そこで、従来、自然言語を形式言語に変換するために、セマンティック・パーサ(semantic parser)と呼ばれる変換器が用いられている。一般に、知識ベースを用いた質問応答システムは、自然言語で表現されたユーザの質問を、変換器を用いて形式言語の式に変換し、変換された式に対応する回答を知識ベースから抽出してユーザに提示する。
上記技術分野において、非特許文献1には、形式言語の語彙が膨大だと、出力となりうる形式言語の式の数が多すぎて、全ての式を計算することができない場合に、枝刈りを行って探索範囲を狭める技術が開示されている。一方、非特許文献2では、非特許文献1のように枝刈りをして探索範囲を狭める代わりに、動的計画法を用いて、出力しうる形式言語の式を全列挙する。
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, Percy Liang. Inferring logical forms from denotations. Association for Computational Linguistics (ACL), 2016
しかしながら、上記非特許文献1に記載の技術では、正例が枝刈りされてしまい、パラメータを適切に更新できず正常に学習できない場合がある。また、非特許文献2に記載の技術では、少数の正例を見つけるために大量の負例を計算する必要があり、機械学習を効率的に進めることができない。
本発明の目的は、上述の課題を解決する技術を提供することにある。
上記目的を達成するため、本発明に係る情報処理装置は、
自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理装置であって、
自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付手段と、
前記正答を検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成手段と、
前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成手段と、
前記生成されたクエリ式を用いた前記検索用データベースの検索に基づき、前記質問に対する回答を取得する回答取得手段と、
前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように前記変換器のパラメータを更新するパラメータ更新手段と、
を備える。
上記目的を達成するため、本発明に係る情報処理方法は、
自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理装置における情報処理方法であって、
入力受付手段が、自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付ステップと、
正例条件生成手段が、前記正答を検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成ステップと、
クエリ式生成手段が、前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成ステップと、
回答取得手段が、前記生成されたクエリ式を用いた前記検索用データベースの検索に基づき、前記質問に対する回答を取得する回答取得ステップと、
パラメータ更新手段が、前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように前記変換器のパラメータを更新するパラメータ更新ステップと、
を含む。
上記目的を達成するため、本発明に係る情報処理プログラムは、
自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理プログラムであって、
自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付ステップと、
前記正答を検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成ステップと、
前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成ステップと、
前記生成されたクエリ式を用いた前記検索用データベースの検索に基づき、前記質問に対する回答を取得する回答取得ステップと、
前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように前記変換器のパラメータを更新するパラメータ更新ステップと、
をコンピュータに実行させる情報処理プログラム。
上記目的を達成するため、本発明に係る情報処理システムは、
自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理システムであって、
前記形式言語のクエリ式を用いて、検索用データベースから回答を検索して出力する検索装置と、
前記変換器のパラメータを学習するための情報処理装置と、
前記変換器のパラメータを記憶するパラメータ記憶部と、
を備え、
前記情報処理装置は、
自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付手段と、
前記正答を前記検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成手段と、
前記条件のいずれかを満たすように、前記パラメータ記憶部からの前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成手段と、
前記生成されたクエリ式を用いて前記検索用データベースを検索した前記検索装置から、前記質問に対する回答を取得する回答取得手段と、
前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように、前記パラメータ記憶部に記憶された前記変換器のパラメータを更新するパラメータ更新手段と、
を有する。
本発明によれば、出力しうる形式言語の式の数が多い場合にも、自然言語を形式言語に変換する変換器を効率的に機械学習することができる。
本発明の第1実施形態に係る情報処理装置の機能構成を示すブロック図である。 本発明の第2実施形態に係る情報処理装置を含む情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る検索用データベースの構成を示す図である。 本発明の第2実施形態に係る検索システムに対する質問クエリ式入力および回答出力の例を示す図である。 本発明の第2実施形態に係るパラメータ記憶部のパラメータの例を示す図である。 本発明の第2実施形態に係る情報処理装置の機能構成部による処理手順を示すフローチャートである。 本発明の第2実施形態に係る入力受付部の入力の例を示す図である。 本発明の第2実施形態に係る正例条件生成部が生成する条件の例を示す図である。 本発明の第2実施形態に係るクエリ式生成部の処理手順を示すフローチャートである。 本発明の第2実施形態に係るクエリ式生成部におけるフレーズ分割処理の例を示す図である。 本発明の第2実施形態に係るクエリ式生成部におけるパラメータテーブルの例を示す図である。 本発明の第2実施形態に係るクエリ式生成部における形式言語割当ての例を示す図である。 本発明の第2実施形態に係るクエリ式生成部における生成クエリ式の例を示す図である。 本発明の第2実施形態に係るパラメータ記憶部のパラメータの更新例を示す図である。 本発明の第2実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。 本発明の第2実施形態に係る情報処理装置の処理手順を示すフローチャートである。 本発明の第2実施形態に係るクエリ生成処理の手順を示すフローチャートである。 本発明の第3実施形態に係る情報処理装置の機能構成を示すブロック図である。
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
[第1実施形態]
本発明の第1実施形態としての情報処理装置100について、図1を用いて説明する。情報処理装置100は、自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための装置である。
図1に示すように、情報処理装置100は、入力受付部101と、正例条件生成部102と、クエリ式生成部103と、回答取得部104と、パラメータ更新部105と、を含む。入力受付部101は、自然言語の質問と、質問に対する適切な出力である正答との組の入力を受け付ける。正例条件生成部102は、正答を検索用データベース110から検索する際に入力される形式言語が満たすべき少なくとも1つの条件を、検索用データベース110が格納する形式言語に関連したデータに基づいて生成する。クエリ式生成部103は、条件のいずれかを満たすように、変換器のパラメータ120を用いて質問に対応する形式言語のクエリ式を生成する。回答取得部104は、生成されたクエリ式を用いた検索用データベース110の検索に基づき、質問に対する回答を取得する。パラメータ更新部105は、回答と正答とが一致する場合に、質問から生成されたクエリ式に優先して変換されるように変換器のパラメータ120を更新する。
本実施形態によれば、正答が得られるために形式言語が満たすべき条件を検索用データベースが格納する形式言語に関連したデータに基づいて生成し、この条件のいずれかを満たすようにクエリ式を生成して、変換器のパラメータを更新する。これによれば、出力しうる形式言語の式の数が多い場合にも変換器を効率的に機械学習することができる。
[第2実施形態]
次に、本発明の第2実施形態に係る情報処理装置について説明する。本実施形態に係る情報処理装置は、検索用データベースから質問の回答を検索する検索システムと、変換器のパラメータを記憶するパラメータ記憶部とを用いて、変換器の効率的な機械学習を実現する。
《前提技術の説明》
まず、本実施形態の情報処理装置による変換器の効率的な機械学習を明瞭にするために、本技術分野の前提技術を説明する。
近年、インターネットを通じて大規模な知識ベースが取得できるようになり、知識ベースを用いて質問応答を行うシステムの研究が進められている。このようなシステムにおいて用いられる知識ベースは、一般に、形式言語で記述されたクエリに対応する知識を抽出できるように構造化されている。形式言語としては、例えば、PrologおよびRDF等が用いられる。
上記のような形式言語で問い合わせ可能な知識ベースを用いた質問応答システムを利用する場合でも、ユーザの質問は、一般に自然言語で表現される。このため、ユーザの質問に対応する知識を知識ベースから抽出するためには、自然言語で表現されたユーザの質問を形式言語の式に変換する必要がある。
そこで、従来、自然言語を形式言語に変換するために、セマンティック・パーサと呼ばれる変換器が用いられている。一般に、知識ベースを用いた質問応答システムは、自然言語で表現されたユーザの質問を、変換器を用いて形式言語の式に変換し、変換された式に対応する回答を知識ベースから抽出してユーザに提示する。
例えば、Prologによって問い合わせ可能な知識ベースを利用した質問応答システムに、ユーザが「Who is Alice‘s father?」という自然言語の質問を入力したとする。この場合、質問応答システムは、まず、上記の自然言語の質問を、変換器によって「father(X,alice)」というPrologのクエリ式に変換する。その後、質問応答システムは、上記のクエリ式に対応する知識を知識ベースから抽出し、質問への回答としてユーザに提示する。
ところで、ユーザの質問に対して適切な回答を知識ベースから抽出するためには、ユーザの質問の意味構造を適切に把握して、自然言語の質問を知識ベースに適した形式言語の式に変換する必要がある。しかし、自然言語の表現は多様であるため、ユーザの自然言語の質問を形式言語の式に適切に変換するためのルールを人手で構築することは困難である。
そこで、任意の知識ベースに適した変換器を、機械学習を用いて自動構築する技術が提案されている(例えば、非特許文献1参照)。
非特許文献1に記載された技術では、自然言語の質問およびその質問に対する正しい回答があらかじめ用意され、用意された自然言語の質問が変換器によって複数の形式言語の式に変換される。具体的には、変換器は、あらかじめ設定されたパラメータに基づいて、自然言語から形式言語への変換を行なう。また、非特許文献1に記載された技術では、変換器によって生成された複数の形式言語の式それぞれに対応する回答が知識ベースから抽出され、抽出された複数の回答と、あらかじめ用意された上記の正しい回答とが比較される。そして、抽出された複数の回答とあらかじめ用意された正しい回答との比較結果に基づいて、ユーザの質問に対して正しい回答が得られるように、上述のパラメータが更新される。
このように、非特許文献1に記載された技術では、正例と負例を用いた機械学習を用いてパラメータを更新する。この場合、正例とは、正しい回答が得られる式のことであり、負例とは、正しい回答が得られない式のことである。負例のスコアよりも正例のスコアが高くなるようにパラメータを更新することで、変換器は、正しい回答が得られる式を出力しやすくなるように改良される。
しかし、形式言語の語彙が膨大だと、出力となりうる形式言語の式の数が多すぎて、全ての式を計算することができない場合がある。形式言語が大量の述語や大量の定数を含む場合、候補となる形式言語の式は、それらの述語や定数の組み合わせであるため、組合せ爆発を起こし、膨大な数となる。しかも、これらの形式言語のうち、正例となる式はごく少数であり、残りの式は全て負例である。これらの式を全て計算して正例を発見するのは、計算時間の面で困難である。しかし、機械学習では、正例と負例を比較して学習するため、十分な数の正例が見つかるまで正しく学習することができない。
この問題に対し、非特許文献1に記載された技術では、出力となりうる形式言語の式の数が多い場合には、枝刈りを行って探索範囲を狭める。具体的には、探索アルゴリズムの途中段階で大量の形式言語の式が得られた場合、それぞれの式について尤度を表すスコアを計算し、スコアが上位になる式だけを残して、次の段階に進む。これにより、出力となる式を全て計算せずに、機械学習を進めることができる。
一方、非特許文献2に記載された技術では、枝刈りをして探索範囲を狭める代わりに、動的計画法を用いて、出力しうる形式言語の式を全列挙する。
(前提技術の課題)
しかしながら、非特許文献1の技術では、候補となる形式言語の式の数が非常に多い場合、正例が枝刈りされてしまい、パラメータを適切に更新できない場合がある。特に、学習の初期段階においては、パラメータの学習が進んでおらず、正例に高いスコアを割り当てることができない。そのため、僅かに存在する正例が全て枝刈りで除去されてしまい、大量の負例だけが候補に残ってしまう。正例がないとパラメータを更新できないため、この場合は正常に学習することができない。
一方、非特許文献2の技術では、枝刈りをする代わりに、動的計画法を用いて出力しうる形式言語の式を全列挙する。この技術を用いれば、正例を必ず見つけることができるものの、少数の正例を見つけるために、大量の負例を計算する必要がある。これにより、機械学習を効率的に進めることができない。
《本実施形態の説明》
本実施形態においては、正答が得られるために形式言語が満たすべき少なくとも1つの条件を検索用データベースが格納する形式言語に関連したデータに基づいて生成し、この条件のいずれかを満たすようにクエリ式を生成する。これにより、変換器を出力しうる形式言語の式の数が多い場合にも効率的に機械学習することができる。
本実施形態の条件の生成においては、正答を検索するために必要な形式言語を検索用データベースから取得し、さらに、取得した形式言語を検索するために必要な下層の形式言語を検索用データベースから取得して、条件とする。
また、本実施形態のクエリ式の生成においては、質問を少なくとも2つの単語系列に分割して、各単語系列に対して、条件のいずれかを満たすように、変換器のパラメータを用いて形式言語を割り当てることにより、形式言語のクエリ式を生成する。例えば、条件について正答を出力するための重要度を評価し、重要度が高い条件に含まれる形式言語を、重要度が低い条件に含まれる前記形式言語よりも優先することで、複数の形式言語のクエリ式を生成することで、複数の形式言語のクエリ式を用いて質問に対する複数の回答を取得する。
また、本実施形態のパラメータの更新においては、回答と正答との誤差を計算し、誤差が閾値よりも小さい場合に回答と正答とが一致していると判定して、パラメータを更新する。
そして、本実施形態のパラメータの機械学習では、回答と正答とが一致する確率が閾値を超えるまで、または、回答と正答とが不一致になる確率が閾値を下回るまで、または、更新回数が閾値となるまで、繰り返される。
《情報処理装置を含む情報処理システム》
図2は、本実施形態に係る情報処理装置210を含む情報処理システム200の構成を示すブロック図である。
図2に示す本実施形態における情報処理装置210は、検索用データベース230、検索システム220およびパラメータ記憶部240を処理対象として、パラメータ記憶部240に記憶されたパラメータ250を更新して機械学習するための装置である。
情報処理装置210の構成について説明する前に、情報処理装置210の処理対象である、検索用データベース230、検索システム220およびパラメータ記憶部240について詳しく説明する。
(検索システム)
検索システム220は、形式言語の式であるクエリを入力として受け付け、検索用データベース230に含まれるデータを用いて回答を計算し、得た回答を出力する。検索システム220は、例えば、データベース問い合わせ用の言語であるSQL(Structured Query Language)で記述されたクエリを入力として受け付ける、データベース管理システムでもよい。また、検索システム220は、論理プログラミング言語であるPrologで記述されたクエリを入力として受け付ける、Prologエンジンでもよい。
以下では、検索システム220は、定数と関数とを組み合わせた式を入力として、式の計算結果を返すシステムであるとし、検索用データベース230には各関数の引数と戻り値とが表形式で格納されているとする。また、ここでは、全ての関数について引数の数はひとつであるとするが、限定されるものではない。
(検索用データベース)
図3は、本実施形態に係る検索用データベース230の構成を示す図である。
検索用データベース230に格納された各テーブル231は、同名の形式言語の関数と、その関数における引数と戻り値とを格納している。
例えば、本実施形態の具体例232としては、形式言語の関数highest_mountain()やelevation()などと、その引数と戻り値とが格納されている。
(質問クエリ式および回答)
図4は、本実施形態に係る検索システム220に対する質問クエリ式入力および回答出力の例400を示す図である。
入力は、形式言語で記述された質問クエリ式であり、定数と関数とを組み合わせた式である。図4に示すように、質問クエリ式は、定数を引数とする関数の戻り値はさらに上位関数の引数となる場合もある。そして、出力は、質問クエリ式に対する検索システム220からの質問の回答である。
例えば、本実施形態の具体例401においては、‘USA’が定数であり、elevationとhighest_mountainが関数である。この式は、アメリカ合衆国で一番高い山を求め、さらにその山の標高を求め、結果を回答として出力することを意味している。そして、出力である6,190は、検索システム220が求めた標高である。
検索システム220からの出力は、検索システム220が、検索用データベース230に格納されたデータを参照することで得られる。図3の例では、‘USA’を引数として関数highest_mountainのテーブルを参照し、戻り値である‘Denali’を得て、次に、この戻り値‘Denali’を引数として関数elevationのテーブルを参照し、戻り値である6,190を得ることによって、回答の6,190が出力される。
(パラメータ記憶部)
パラメータ記憶部240は、検索システム220に入力される形式言語の式の評価に用いるモデルのパラメータ250を記憶している。本実施形態においては、このパラメータ250を用いてスコアを計算し、スコアが高くなる式を出力する変換器が機械学習される。なお、パラメータ記憶部240がパラメータ250を記憶するモデルは、入力された自然言語のテキストと、生成されたクエリ式との適合度を評価できるモデルであれば何でもよい。
(パラメータ)
図5は、本実施形態に係るパラメータ記憶部240のパラメータ250の例を示す図である。
本実施の形態では、パラメータ記憶部240がパラメータ250を記憶するモデル551として、自然言語のフレーズと形式言語の語とのペアについて重みを与えるモデルを用いる。その自然言語のフレーズと形式言語の語とのペアが、正しい変換において自然言語の質問とクエリ式とのペアに出現しやすいなら正の重みを、正しい変換において自然言語の質問とクエリ式とのペアに出現しにくいなら負の重みを持つ。この場合、各ペアに与えられた重みが、パラメータである。
このようなモデル551があれば、自然言語の質問について、生成されたクエリ式の適合度を評価することができる。すなわち、自然言語の質問に登場するフレーズと、そのフレーズに対応するクエリ式の語とのペアについて、その重みを計算する。その重みを合計した値をスコアとすることによって、そのスコアが正であれば、正しいクエリ式であり、そのスコアが負であれば、正しくないクエリ式であると評価することができる。
本実施形態の具体例552では、質問から分割された3つの自然言語のフレーズについて、それぞれ、形式言語の語とペアにしたときの重みが記載されている。この例では、初期状態として全ての重みは0.0(ゼロ)に設定されている。これは、どのペアについても、まだ情報が得られていない未学習の状態を表す。
なお、図5では、3つのフレーズの例だけを載せているが、パラメータ記憶部240は、これら以外にも、自然言語の質問に出現しうる様々なフレーズを記憶していてよい。
《情報処理装置の機能構成》
本実施形態の情報処理装置210は、以上に述べた検索用データベース230、検索システム220およびパラメータ記憶部240を処理対象として、動作する。
より具体的には、情報処理装置210は、質問と正答のペアを入力として、質問をクエリ式に変換する。変換する際に、検索用データベース230を参照することで、正例となるクエリ式が満たすべき条件を取得し、この条件を満たすクエリ式が優先されるように変換する。情報処理装置210は、変換で得られたクエリ式を検索システム220に入力し、検索システム220から出力として回答を得る。検索システム220が返す回答が正答と一致する場合に、この回答に高い評価が与えられるように、パラメータ記憶部240が記憶するパラメータ250を更新する。
図2に示すように、情報処理装置210は、入力受付部211と、正例条件生成部212と、クエリ式生成部213と、回答取得部214と、パラメータ更新部215を備える。
入力受付部211は、質問と正答とのペアを外部から入力として受け付け、受け付けた内容を正例条件生成部212に出力する。
正例条件生成部212は、質問および正答を入力として受け取り、検索用データベース230を参照することで、正例となるクエリ式が満たすべき条件を正例条件として取得し、質問、正答および正答条件を、クエリ式生成部213に出力する。正例となるクエリ式とは、検索システム220に入力した場合に、検索システム220が出力する回答が正答と一致するクエリ式のことである。
クエリ式生成部213は、質問および正答および正答条件を入力として受け取る。クエリ式生成部213は、正例条件生成部212が生成した条件を満たすクエリが優先されるように、質問に対応するクエリ式を生成する。具体的には、パラメータ記憶部240に問い合わせることで、パラメータ記憶部240に記憶されているモデルのパラメータ250を取得する。そして、自然言語の質問文に対応する形式言語のクエリ式として考えられるクエリ式の中から、正例条件を満たし、そのパラメータ250で決まるモデルで高いスコアを持つクエリ式を生成する。クエリ式生成部213は、質問、クエリ式および正答を回答取得部214に出力する。
回答取得部214は、クエリ式生成部213から質問、クエリ式および正答を受け取り、受け取ったクエリ式を使って検索システム220に問い合わせ、クエリ式に対する回答を得る。回答取得部214は、質問、クエリ式、正答および回答をパラメータ更新部215に出力する。
パラメータ更新部215は、回答取得部214から、質問、クエリ式、正答および回答を受け付ける。検索システム220による回答が正答と一致する場合に、クエリ式生成部213が生成したクエリ式を正例と見なし、クエリ式が質問から変換された結果として高く評価されるように、パラメータ記憶部240に記憶されたパラメータ250を更新する。
これらの動作について、情報処理装置210の各機能構成部の処理と共に、以下に詳しく説明する。
《情報処理装置の機能構成部による処理手順》
図6は、本実施形態に係る情報処理装置210の機能構成部による処理手順を示すフローチャートである。以下の説明においては、適宜、図2〜図5を参酌する。また、本実施形態では、情報処理装置210を動作させることによって、本実施形態における情報処理方法が実施される。よって、本実施形態における情報処理方法の説明は、以下の情報処理装置210の動作説明に代える。
(入力受付部の処理:S601)
図6に示すように、入力受付部211は、質問と正答とのペアを入力として受付け、受け付けた内容を正例条件生成部212に出力する。
図7は、本実施形態に係る入力受付部211の入力の例700を示す図である。
図7には、本実施形態で説明する具体例が図示されている。質問701は自然言語で記述されている。一方、正答702は、検索システム220の出力と比較可能なものであれば、自然言語で記述されていても、形式言語で記述されていてもよい。
(正例条件生成部の処理:S603)
正例条件生成部212は、検索用データベース230を参照することで、正例となるクエリ式が満たすべき条件を取得する。正例となるクエリ式とは、検索システム220に入力した場合に、検索システム220が出力する回答が正答と一致するクエリ式のことである。
図8は、本実施形態に係る正例条件生成部212が生成する条件の例を示す図である。
正例条件生成部212が生成する条件X810は、検索システム220が、入力受付部211が受け付けた正答を回答するために使用されるクエリ式が含むであろう形式言語を、検索用データベース230における各テーブルの関連を考慮して論理演算子で結び付けた条件である。かかる条件は、定数、もしくは、正答を直接戻り値として出力する形式言語の関数からなる第1層の条件と、第1層の引数が形式言語の関数の戻り値となる場合の引数を含む第2層の条件と、さらに、その引数が形式言語の関数の戻り値となる場合の引数を含む第3層の条件というように、より厳密な条件を順に生成できる。
このように、正例条件生成部212が取得する条件は、単純には、検索用データベース230に格納されるデータを調べ、正答が出現するエントリを特定し、このエントリを返すために必要なクエリ式の条件を計算することによって、自動的に取得できる。さらに、こうして得られた条件は、その条件に出現する値を得る式の条件を調べることによって、さらに詳細化された条件を得ることができる。
本実施形態の具体例820において、条件に現れるqはクエリを表す。“q includes x”は、クエリqが、定数もしくは関数xを含むという条件を表す。
図8に示す具体例820の条件A(第1層)は、以下のようにして得られる。正答が「6,190」である場合、図3に示す検索用データベース230のデータによれば、この正答は、引数‘Denali’を関数elevationに与えることによって戻り値として得られる。これにより、正例となるクエリ式は、関数elevationを含むという条件を取得できる。これが第1層の条件Aである。条件Aを満たすクエリ式としては、例えば、elevation(‘Denali’)などが考えられる。
また、図8に示す具体例820の条件B(第2層)は、条件Aを拡張したものであり、条件Aに出現する値を得る式の条件をさらに調べることで取得される。すなわち、「6,190」は、elevation(‘Denali’)という式の戻り値として得られるが、もしクエリ式がelevationを含むが‘Denali’を含まない場合、クエリ式は‘Denali’を戻り値として持つ条件をさらに含む必要がある。
検索用データベース230によれば、‘Denali’を戻り値として持つのは、highest_mountain(‘USA’)である。よって、クエリ式がelevationを含むとき、クエリ式はさらに‘Denali’を含むか、あるいは、関数highest_mountainを含むと考えられる。これを表しているのが第2階層の条件Bである。
さらに、図8に示す具体例820の条件C(第3層)は、条件Bをさらに拡張したものであり、条件Bに出現する値を得る式の条件をさらに調べることで取得される。すなわち、検索用データベース230によれば、関数highest_mountainの戻り値として‘Denali’を得る場合には、‘USA’を引数としなければならない。よって、クエリ式がelevationを含むとき、クエリ式はさらに‘Denali’を含むか、あるいは、関数highest_mountainおよびその引数‘USA’を含むと考えられる。これを表しているのが第3階層の条件Cである。
このような条件Bや条件Cは、「6,190」を出力するために必要となる値を検索用データベース230に問い合わせて‘Denali’を得て、さらに‘Denali’を出力するために必要となる値を検索用データベース230に問い合わせることで得ることができる。
以上のように、ある値を返すために必要な定数あるいは関数を取得することを繰り返すことで、正例となるクエリの条件を計算できる。この処理は検索用データベース230への問い合わせとして自動的に実行することができる。
本実施形態の具体例では、条件Aおよび条件Bの第2層までをクエリ式生成部213での正例条件として使用する。ここで、条件Aのみでは条件が曖昧となり、条件Cまでを使用すると条件が厳密となる。どの深さの条件までを使用するかにより、機械学習の精度や速度が変わってくる。
なお、正例条件生成部20が生成する条件は、図8に示すような論理演算子を用いた形式で表されていなくてもよい。例えば、正例に含まれるべき語のリストのような単純な形式で表されていてもよい。
(クエリ式生成部の処理:S605)
クエリ式生成部213は、正例条件生成部212がクエリ式生成部213に出力した条件を満たすクエリが優先されるように、質問に対応するクエリを生成する。具体的には、パラメータ記憶部240に問い合わせることで、パラメータ記憶部240に記憶されているモデルのパラメータ250を取得する。そして、自然言語の質問文に対応する形式言語のクエリとして考えられるクエリの中から、正答条件を満たし、そのパラメータで決まるモデルで高く評価されるクエリ式を優先して生成する。
図9は、本実施形態に係るクエリ式生成部の処理手順を示すフローチャートである。
(フレーズ分割処理:S901)
クエリ式生成部213は、自然言語の質問を複数のフレーズに分割する。
図10は、本実施形態に係るクエリ式生成部213におけるフレーズ分割の例1000を示す図である。
図7の“How high is the tallest peak in the U.S.”という質問701は、既知の分割アルゴリズムに従って、種々の分割1001〜1003を行ない、分割されたフレーズごとに変換されるクエリのパラメータが機械学習される。この分割は例えば、自然言語の質問を、複数の語の列と見なし、これらの語のうち一つ以上を乱数で選択し、選ばれた語と次の語とのあいだを分割することで実現できる。また、機械学習を用いて構築された、分割の適切さを評価するモデルを用いて、適切な分割を選択してもよい。例えば、Conditional random fields(CRF)に基づくチャンキングを用いて適切な分割を選択してもよい。
本実施形態の具体例では、図7の“How high is the tallest peak in the U.S.”という質問701が、分割1001のように、3つのフレーズに分割される。
(パラメータ取得処理:S903)
クエリ式生成部213は、パラメータ記憶部240から、フレーズに対応するパラメータ250を読み込む。図10の質問の分割例では、3つに分割されたフレーズのそれぞれについて、図5に示したパラメータの具体例552を取得する。
(優先度割当て処理:S905)
クエリ式生成部213は、正例条件生成部212から得た正例条件に含まれる語が優先されるよう、形式言語の語に優先度を割り当てる。
図11は、本実施形態に係るクエリ式生成部213におけるパラメータテーブル1100の例を示す図である。図11は、クエリ式生成部213が割り当てる優先度および割り当てる確率の一例を示す図である。この例では、パラメータ記憶部240から読み出したパラメータに含まれる各語について、正例条件に含まれる語であれば高い優先度を加えている。図11では、“How high is”という1つのフレーズについて詳細に記載しているが、その他のフレーズについても同様の処理を行う。
正例条件に含まれる語であっても、正例条件における寄与の大きさに応じて、優先度に差をつけてもよい。図8の条件Bにおいては、elevationおよび‘Denali’が含まれている場合か、あるいは、elevationおよびhighest_mountainが含まれている場合に、真となる。この場合、elevationは、両方の場合にも含まれているが、‘Denali’およびhighest_mountainは片方の場合にしか含まれていない。このことから、elevationのほうが、‘Denali’およびhighest_mountainよりも、正例を構成する語としてより重要であり、寄与が大きいと言える。
図11に示す例は、このような正例条件における寄与の大きさに応じて、優先度に差をつけている。elevationの優先度は1.0であり、‘Denali’およびhighest_mountainの優先度は0.5であり、寄与の大きさに応じて優先度を変更している。
(形式言語割当て:S907)
クエリ式生成部213は、優先度に基づき、ステップS901による質問の分割1001の各フレーズに形式言語の語を割り当てる。本実施形態においては、各フレーズについて、重みと優先度に基づいて形式言語の各語が割り当てられる確率を計算し、その確率に基づいてランダムに選ぶ。
先の図11には、クエリ式生成部213が計算する確率の一例が示されている。図11では、特に、“How high is”というフレーズに関して、形式言語の各語が割り当てられる確率が示されている。確率は式1に基づいて計算される。
Figure 0006733809
式1は、あるフレーズについて、各語fiが割り当てられる確率を、重みwiと確率piを元に、exp(wi+pi)を正規化した値で計算することを示す。すなわち、モデルにおける重みが大きいほど、また優先度が大きいほど、高い確率で割り当てられる。
例えば、図11において、関数elevationは、0.181という他よりも高い確率で割り当てられている。
以上のように、クエリ式生成部213は、各フレーズについて、形式言語の語を確率的に割り当てる。
図12は、本実施形態に係るクエリ式生成部213における形式言語割当ての例を示す図である。図12のように、各フレーズに対して確率的に割り当てられた形式言語の語により、複数の組合せが生成される。
(クエリ式生成処理:S909)
クエリ式生成部213は、各フレーズに割り当てられた形式言語の語を組み合わせることで、クエリ式を生成する。
図13は、本実施形態に係るクエリ式生成部213における生成されたクエリ式の例1300を示す図である。
図12の例で各フレーズに確率的に割り当てられた形式言語の語を組み合わせて、クエリ式を生成する。例えば、elevationと、highest_mountainと、‘USA’という順に3つの語が割り当てられた場合は、3つの語を組み合わせて、クエリ式1301が生成されている。
以上のように、クエリ式生成部213は、ステップS605において、ステップS901からS909に示す動作手順によって、クエリ式を生成する。ステップS605では、優先度を元に計算された確率に基づいて形式言語の語を選択することにより、正例条件を満たす式が生成されやすくなっている。すなわち、elevation、‘Denali’およびhighest_mountainという3つの語が、選ばれやすくなっていることにより、図8に示した正例条件を満たす式が生成されやすくなっている。
(回答取得処理:S607)
回答取得部214が、検索システム220に問い合わせることで、クエリ式への回答を取得する。これは、クエリ式生成部213によりステップS605で生成されたクエリ式を入力として検索システム220に与え、検索システム220が出力する回答を受け取ることによって達成される。
例えば、図13に示すクエリ式elevation(elevation(elevation))や‘USA’(‘USA’(‘USA’))などへの回答は、回答なしとなったり、正答ではない回答が取得されたりする。一方、図13のクエリ式1301により検索システム220に問い合わせると、正答である6,190が回答として取得される。
(パラメータ更新処理:S609)
パラメータ更新部215が、クエリ式への回答と正答とが一致する場合に、クエリ式が優先して出力されるように、パラメータ記憶部240に記憶された変換器のパラメータ250を更新する。具体的には、ステップS605において、クエリ式を生成する際に用いられた自然言語のフレーズと形式言語とのペアへの重みを増加させる。
例えば、図13のクエリ式1301への回答は6,190であり、正答と一致する。これは、すなわち、図13のクエリ式1301が正例であることを表す。このとき、ステップ605において、クエリ式を生成する際に用いられた自然言語のフレーズと形式言語とのペアへの重みに1.0を加える。
図14は、本実施形態に係るパラメータ記憶部240のパラメータ250の更新例1400を示す図である。
図5に比べ、(“How high is”,elevation)および(“the tallest peak in”,highest_mountain)および(“the U.S.”,’USA’)という、クエリ式1301を生成する際に用いられた3つのペアの重みが増加している。
このようにパラメータの更新を繰り返すことにより、正例を生成する際に用いられるペアの重みが増加し、より正例が得られやすくなる。
クエリ式への回答と正答が一致する場合とは、必ずしも厳密一致でなくとも、曖昧一致であってもかまわない。例えば、数値の誤差が1%以内であれば一致していると見なしてもよい。また、回答と正答が文字列である場合、文字列同士の編集距離を計算し、編集距離が一定の閾値より低い場合に、一致していると見なしてもよい。
以上で説明したのは、クエリ式への回答と正答が一致する場合、すなわち正例が得られた場合の動作である。一方、クエリ式への回答と正答が一致しない場合、すなわち負例が得られた場合には、重みを増加させるのではなく、重みを減少させる。
以上のように、本実施形態における情報処理装置210は、質問と正答とのペアが与えられるたびに、正例条件とパラメータの重みとを考慮してクエリ式を生成し、検索システム220からの回答に基づき、パラメータ記憶部のパラメータ250を更新する。
(パラメータ更新終了:S611)
情報処理装置210のパラメータ更新による変換器の機械学習は、更新回数が指定回数に達した場合に終了する。あるいは、質問に基づいて生成されたクエリ式による問い合わせの回答が正答と一致する確率(正解率)が閾値を超えた場合に終了してもよい。あるいは、質問に基づいて生成されたクエリ式による問い合わせの回答が正答と不一致となる確率(失敗率)が閾値を下回った場合に終了してもよい。
《情報処理装置のハードウェア構成》
図15は、本実施形態に係る情報処理装置210のハードウェア構成を示すブロック図である。
図15で、CPU1510は演算制御用のプロセッサであり、プログラムを実行することで図3Aの機能構成部を実現する。CPU1510は複数のプロセッサを有し、異なるプログラムやモジュール、タスク、スレッドなどを並行して実行してもよい。ROM1520は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。ネットワークインタフェース1530は、情報処理装置210が、ネットワークを介して、検索システム220や検索用データベース230などとの通信を制御する。
RAM1540は、CPU1510が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM1540には、本実施形態の実現に必要なデータを記憶する領域が確保されている。質問(自然言語)と正答とのペア1541は、情報処理装置210が受け付けた入力データである。正答関連情報と正例条件1542は、検索用データベース230から正答に関連して取得した情報と、その取得情報に基づいて正例条件生成アルゴリズムに従って生成した正例条件とのデータである。質問の分割結果1543は、質問分割アルゴリズム1553に従って質問を複数のフレーズに分割した結果のデータである。分割フレーズのパラメータテーブル1544は、パラメータ記憶部240から分割フレーズに対応して取得した形式言語群のパラメータを処理するためのテーブルである。生成クエリ式1545は、分割フレーズのパラメータテーブル1544を参照して、クエリ式生成アルゴリズム1554に従って生成されたクエリ式のデータである。回答1546は、生成クエリ式1545による検索システム220への問い合わせに対する回答のデータである。回答と正答との比較結果(閾値)1547は、回答1546と、質問(自然言語)と正答とのペア1541の正答との比較結果であり、閾値は回答と正答とが一致すると判定する値である。パラメータ更新データ1548は、回答と正答との比較結果(閾値)1547が一致であることを示す場合に、パラメータ更新アルゴリズム1555に従ってパラメータ記憶部240のパラメータ250を更新するためのデータである。
ストレージ1550は、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。パラメータテーブル1100は、図11に示した、クエリ式を生成する場合に優先度や確率のために使用されるテーブルである。正例条件生成アルゴリズム1552は、入力された正答から正例条件を生成するためのアルゴリズムである。質問分割アルゴリズム1553は、質問を複数のフレーズに分割するためのアルゴリズムである。クエリ式生成アルゴリズム1554は、質問と正答と正例条件とパラメータとから優先度や確率を考慮して、正例を優先したクエリ式を生成するアルゴリズムである。パラメータ更新アルゴリズム1555は、生成されたクエリ式による検索システム220への問い合わせの回答と正答との比較結果により、パラメータ記憶部240のパラメータを更新するためのアルゴリズムである。
ストレージ1550には、以下のプログラムが格納される。情報制御プログラム1556は、情報処理装置210の全体を制御するためのプログラムである。正例条件生成モジュール1557は、正例条件生成アルゴリズム1552に従って、正答から正例条件を生成するモジュールである。クエリ生成モジュール1588は、クエリ式生成アルゴリズム1554に従って、正例を優先したクエリ式を生成するモジュールである。パラメータ更新モジュール1559は、パラメータ更新アルゴリズム1555に従って、パラメータ記憶部240のパラメータを更新するためのアルゴリズムである。
入出力インタフェース1560は、パラメータ記憶部240、表示部1561、操作部1562などが接続されて、そのインタフェースを行なう。
なお、図15のRAM1540やストレージ1550には、情報処理装置210が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
《情報処理装置の処理手順》
図16は、本実施形態に係る情報処理装置210の処理手順を示すフローチャートである。このフローチャートは、図15のCPU1510がRAM1540を使用して実行し、図2の機能構成部を実現する。
情報処理装置210は、ステップS1601において、自然言語で記述された質問と正答とのペアを受け付ける。情報処理装置210は、ステップS1603において、正答に基づいて検索用データベース230を参照することで、正例となるクエリ式が満たすべき条件を生成する。情報処理装置210は、ステップS1605において、生成された条件を満たすクエリ式が優先されるように、質問に対応するクエリ式を生成するクエリ式生成処理を実行する。情報処理装置210は、ステップS1607において、生成されたクエリ式による、検索システム220による検索用データベース230の検索に基づき、クエリ式への回答を取得する。
情報処理装置210は、ステップS1607において、検索システム220から取得した回答と正答とが一致するか否かを判定する。そして、回答と正答とが一致しない場合、情報処理装置210は、ステップS1605に戻って、生成された条件を満たす次のクエリ式を生成する。回答と正答とが一致する場合、情報処理装置210は、ステップS1609において、生成されたクエリ式が優先して出力されるよう、パラメータ記憶部240に記憶された変換器のパラメータ250を更新する。
情報処理装置210は、ステップS1611において、パラメータの更新回数が指定回数に達したか、あるいは、回答と正答とが一致する正解率が閾値を超えたか、あるいは、回答と正答とが不一致となる失敗率が閾値を下回ったか、を判定する。そして、各分岐条件を満たさない場合、情報処理装置210は、ステップS1601に戻って、次の自然言語で記述された質問と正答とのペアを受け付ける。各分岐条件を満たした場合、情報処理装置210は、パラメータ記憶部240のパラメータ250が十分に正例となるクエリ式を生成できるとして、処理を終了する。
(クエリ生成処理)
図17は、本実施形態に係るクエリ生成処理(S1605)の手順を示すフローチャートである。
情報処理装置210は、ステップS1701において、最初のクエリ式生成であるか否かを判定する。最初のクエリ式生成であれば、情報処理装置210は、ステップS1703において、質問分割アルゴリズム1553に従い質問を複数のフレーズに分割する。情報処理装置210は、ステップS1705において、パラメータ記憶部240から、分割された各フレーズに対応するパラメータを読み込む。情報処理装置210は、ステップS1707において、正例条件を満たす語が優先されるよう、形式言語の語に優先度を割り当てる。情報処理装置210は、ステップS1707において、優先度に基づき、各フレーズに形式言語の語を割り当てる。そして、情報処理装置210は、ステップS1709において、各フレーズに割り当てられた形式言語の語を組み合わせることで、クエリ式を生成する。
一方、最初のクエリ式生成でなければ、情報処理装置210は、ステップS1713において、優先度に基づき、各フレーズに異なる形式言語の語を割り当てる。そして、情報処理装置210は、ステップS1711に進み、各フレーズに割り当てられた異なる形式言語の語を組み合わせることで、クエリ式を生成する。
本実施形態によれば、正答が得られるために形式言語が満たすべき条件を検索用データベースが格納する形式言語に関連したデータに基づいて生成し、この条件のいずれかを満たすようにクエリ式を生成して、変換器のパラメータの更新を効率的に繰り返す。これにより、出力しうる形式言語の式の数が多い場合にも変換器を効率的に機械学習することができる。
通常、出力しうる形式言語の式の数が多い場合には、正例を見つけることが困難であるが、本実施形態においては、正例条件を取得して正例条件を満たすクエリ式が優先して生成されるため、通常は見つけづらい正例を容易に発見でき、機械学習を効率的に進めることができる。
本実施形態は、正例条件を用いることで、まだパラメータが十分に更新されていない機械学習の初期段階において、学習を効率的に進める効果がある。様々な質問と正答のペアについて、このパラメータ更新を繰り返すと、やがて、パラメータが十分に更新され、正例条件を手がかりとして用いなくとも、正しいクエリ式が選ばれるようになる。
変換器を実用で用いる際、正答が未知の質問が与えられたときには、正答が分からないため正例条件を求めることはできない。しかし、本実施の形態における情報処理装置210によって、十分に更新されたパラメータを用いれば、正例条件を手がかりとして用いなくとも、変換器は正しいクエリ式を選ぶことができるようになる。
[第3実施形態]
次に、本発明の第3実施形態に係る情報処理装置について説明する。本実施形態に係る情報処理装置は、上記第2実施形態と比べると、図2の情報処理システムを構成する要素が情報処理装置に含まれる点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
《情報処理装置の機能構成》
図18は、本実施形態に係る情報処理装置1810の機能構成を示すブロック図である。なお、図18において、図2と同様の機能構成部には同じ参照番号を付して、重複する説明は省略する。
図18において、検索部1820は、検索システム220を情報処理装置1810に含ませた構成であり、検索システム220と同様である。
[他の実施形態]
なお、本発明は、自然言語を形式言語に変換する変換器を、出力しうる形式言語の式の数が多い場合にも効率的に機械学習することができるので、システムに自然言語で問い合わせを行う必要がある種々の分野においても有用である。
また、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の範疇に含まれる。

Claims (9)

  1. 自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理装置であって、
    自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付手段と、
    前記正答を検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成手段と、
    前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成手段と、
    前記生成されたクエリ式を用いた前記検索用データベースの検索に基づき、前記質問に対する回答を取得する回答取得手段と、
    前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように前記変換器のパラメータを更新するパラメータ更新手段と、
    を備える情報処理装置。
  2. 前記クエリ式生成手段は、前記質問を少なくとも2つの単語系列に分割して、各単語系列に対して、前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記形式言語を割り当てることにより、前記形式言語のクエリ式を生成する請求項1に記載の情報処理装置。
  3. 前記クエリ式生成手段は、前記条件について前記正答を出力するための重要度を評価し、前記重要度が高い条件に含まれる前記形式言語を、前記重要度が低い条件に含まれる前記形式言語よりも優先することで、複数の前記形式言語のクエリ式を生成し、
    前記回答取得手段は、前記複数の前記形式言語のクエリ式を用いて前記質問に対する複数の回答を取得する請求項1または2に記載の情報処理装置。
  4. 前記正例条件生成手段は、前記正答を検索するために必要な第1形式言語を前記検索用データベースから取得し、さらに、該第1形式言語を検索するために必要な第2形式言語を前記検索用データベースから取得し、前記条件は前記第1形式言語および前記第2形式言語の少なくとも1つを含む請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記パラメータ更新手段は、前記回答と前記正答との誤差を計算し、前記誤差が第1閾値よりも小さい場合に前記回答と前記正答とが一致していると判定する請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記回答と前記正答とが一致する確率が第2閾値を超えるまで、または、前記パラメータ更新手段によるパラメータの更新回数が第3閾値となるまで、前記入力受付手段と、前記正例条件生成手段と、前記クエリ式生成手段と、前記回答取得手段と、前記パラメータ更新手段との処理を繰り返す繰り返し手段を、さらに備える請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理装置における情報処理方法であって、
    入力受付手段が、自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付ステップと、
    正例条件生成手段が、前記正答を検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成ステップと、
    クエリ式生成手段が、前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成ステップと、
    回答取得手段が、前記生成されたクエリ式を用いた前記検索用データベースの検索に基づき、前記質問に対する回答を取得する回答取得ステップと、
    パラメータ更新手段が、前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように前記変換器のパラメータを更新するパラメータ更新ステップと、
    を含む情報処理方法。
  8. 自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理プログラムであって、
    自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付ステップと、
    前記正答を検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成ステップと、
    前記条件のいずれかを満たすように、前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成ステップと、
    前記生成されたクエリ式を用いた前記検索用データベースの検索に基づき、前記質問に対する回答を取得する回答取得ステップと、
    前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように前記変換器のパラメータを更新するパラメータ更新ステップと、
    をコンピュータに実行させる情報処理プログラム。
  9. 自然言語の質問を形式言語のクエリ式へ変換する変換器のパラメータを学習するための情報処理システムであって、
    前記形式言語のクエリ式を用いて、検索用データベースから回答を検索して出力する検索装置と、
    前記変換器のパラメータを学習するための情報処理装置と、
    前記変換器のパラメータを記憶するパラメータ記憶部と、
    を備え、
    前記情報処理装置は、
    自然言語の質問と、該質問に対する適切な出力である正答との組の入力を受け付ける入力受付手段と、
    前記正答を前記検索用データベースから検索する際に入力される前記形式言語が満たすべき少なくとも1つの条件を、前記検索用データベースが格納する前記形式言語に関連したデータに基づいて生成する正例条件生成手段と、
    前記条件のいずれかを満たすように、前記パラメータ記憶部からの前記変換器のパラメータを用いて前記質問に対応する前記形式言語のクエリ式を生成するクエリ式生成手段と、
    前記生成されたクエリ式を用いて前記検索用データベースを検索した前記検索装置から、前記質問に対する回答を取得する回答取得手段と、
    前記回答と前記正答とが一致する場合に、前記質問から前記生成されたクエリ式に優先して変換されるように、前記パラメータ記憶部に記憶された前記変換器のパラメータを更新するパラメータ更新手段と、
    を有する情報処理システム。
JP2019508124A 2017-03-31 2017-03-31 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム Active JP6733809B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/013635 WO2018179355A1 (ja) 2017-03-31 2017-03-31 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2018179355A1 JPWO2018179355A1 (ja) 2019-11-07
JP6733809B2 true JP6733809B2 (ja) 2020-08-05

Family

ID=63674543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019508124A Active JP6733809B2 (ja) 2017-03-31 2017-03-31 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム

Country Status (3)

Country Link
US (1) US11341127B2 (ja)
JP (1) JP6733809B2 (ja)
WO (1) WO2018179355A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048702B1 (en) * 2018-02-07 2021-06-29 Amazon Technologies, Inc. Query answering
US20210173837A1 (en) * 2019-12-06 2021-06-10 Nec Laboratories America, Inc. Generating followup questions for interpretable recursive multi-hop question answering
JP7451157B2 (ja) 2019-12-06 2024-03-18 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11238113B2 (en) * 2020-04-01 2022-02-01 Grand Rounds Inc. Systems and methods for machine learning models for search engine performance optimization
US11983205B2 (en) * 2021-02-01 2024-05-14 Adobe Inc. Semantic phrasal similarity
US20220318283A1 (en) * 2021-03-31 2022-10-06 Rovi Guides, Inc. Query correction based on reattempts learning
US20230096564A1 (en) 2021-09-29 2023-03-30 Rakuten Group, Inc. Chunking execution system, chunking execution method, and information storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095698A (ja) * 2014-11-14 2016-05-26 日本電信電話株式会社 翻訳学習装置、翻訳装置、方法、及びプログラム
KR102033395B1 (ko) * 2014-11-20 2019-10-18 한국전자통신연구원 심층 자연어 질문 분석 기반 구조화된 지식베이스 질의응답 시스템 및 그 방법
JP6265923B2 (ja) * 2015-01-16 2018-01-24 日本電信電話株式会社 翻訳学習装置、方法、及びプログラム
JP6649582B2 (ja) * 2016-02-23 2020-02-19 富士通株式会社 検索制御プログラム、検索制御装置及び検索制御方法

Also Published As

Publication number Publication date
US11341127B2 (en) 2022-05-24
JPWO2018179355A1 (ja) 2019-11-07
US20200057762A1 (en) 2020-02-20
WO2018179355A1 (ja) 2018-10-04

Similar Documents

Publication Publication Date Title
JP6733809B2 (ja) 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
US11568855B2 (en) System and method for defining dialog intents and building zero-shot intent recognition models
JP7420842B2 (ja) 自然言語理解(nlu)フレームワークにおける予測的類似性スコアリングサブシステム
US10210245B2 (en) Natural language question answering method and apparatus
CN109933602B (zh) 一种自然语言与结构化查询语言的转换方法及装置
JP2017049681A (ja) 質問応答システムの訓練装置及びそのためのコンピュータプログラム
CN110795913B (zh) 一种文本编码方法、装置、存储介质及终端
CN110275947A (zh) 基于命名实体识别的特定领域知识图谱自然语言查询方法及装置
JP2022191422A (ja) マルチメディア会話からの意図発見のためのシステムおよび方法
JP2020500371A (ja) 意味的検索のための装置および方法
US11687826B2 (en) Artificial intelligence (AI) based innovation data processing system
JP2018088242A (ja) データ処理装置、方法およびプログラム
US11281864B2 (en) Dependency graph based natural language processing
JP2022091986A (ja) インテリジェント対話方法、装置、電子機器及び記憶媒体
CN116719520B (zh) 代码生成方法及装置
WO2016143449A1 (ja) 含意ペア拡張装置、そのためのコンピュータプログラム、及び質問応答システム
Xue et al. Automatic generation and recommendation for API mashups
CN113343692B (zh) 搜索意图的识别方法、模型训练方法、装置、介质及设备
Christophe et al. A methodology supporting syntactic, lexical and semantic clarification of requirements in systems engineering
JP6327799B2 (ja) 自然言語推論システム、自然言語推論方法及びプログラム
US20220083879A1 (en) Inferring a comparative advantage of multi-knowledge representations
KR20200086586A (ko) 온톨로지 기반의 프레임을 이용한 지식 추출 시스템
CN114429140A (zh) 一种基于相关图信息进行因果推断的案由认定方法及系统
CN114238595A (zh) 一种基于知识图谱的冶金知识问答方法及系统
JP6973515B2 (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200622

R150 Certificate of patent or registration of utility model

Ref document number: 6733809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150