JP7060010B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP7060010B2
JP7060010B2 JP2019509011A JP2019509011A JP7060010B2 JP 7060010 B2 JP7060010 B2 JP 7060010B2 JP 2019509011 A JP2019509011 A JP 2019509011A JP 2019509011 A JP2019509011 A JP 2019509011A JP 7060010 B2 JP7060010 B2 JP 7060010B2
Authority
JP
Japan
Prior art keywords
text
converter
expression
node
query
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
JP2019509011A
Other languages
English (en)
Other versions
JPWO2018180106A1 (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 JPWO2018180106A1 publication Critical patent/JPWO2018180106A1/ja
Application granted granted Critical
Publication of JP7060010B2 publication Critical patent/JP7060010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Description

本発明は、自然言語を形式言語に変換する際に利用される変換器を機械学習する、情報処理装置、情報処理方法、及びこれらを実現するためのプログラムに関する。
近年、インターネットを通じて大規模な知識ベースが取得できるようになり、知識ベースを用いて質問応答を行うシステムの研究が進められている。このようなシステムにおいて用いられる知識ベースは、一般に、形式言語で記述されたクエリに対応する知識を抽出できるように構造化されている。形式言語としては、例えば、Prolog及びResource Description Framework(RDF)等が用いられる。
上記のような形式言語で問い合わせ可能な知識ベースを用いた質問応答システムを利用する場合でも、ユーザの質問は、一般に自然言語で表現される。このため、ユーザの質問に対応する知識を知識ベースから抽出するためには、自然言語で表現されたユーザの質問を形式言語の式に変換する必要がある。
そこで、従来、自然言語を形式言語に変換するために、意味解析器(semantic parser)が用いられている。一般に、知識ベースを用いた質問応答システムは、自然言語で表現されたユーザの質問を、意味解析器を用いて形式言語の式に変換し、変換された式に対応する回答を知識ベースから抽出してユーザに提示する。
例えば、Prologによって問い合わせ可能な知識ベースを利用した質問応答システムに、ユーザが「Who is Alice‘s father?」という自然言語の質問を入力したとする。この場合、質問応答システムは、まず、上記の自然言語の質問を、意味解析器によって「father(X,alice)」というPrologのクエリ式に変換する。その後、質問応答システムは、上記のクエリ式に対応する知識を知識ベースから抽出し、質問への回答としてユーザに提示する。
ところで、ユーザの質問に対して適切な回答を知識ベースから抽出するためには、ユーザの質問の意味構造を適切に把握して、自然言語の質問を知識ベースに適した形式言語の式に変換する必要がある。しかし、自然言語の表現は多様であるため、ユーザの自然言語の質問を形式言語の式に適切に変換するためのルールを人手で構築することは困難である。
そこで、任意の知識ベースに適した意味解析器を、機械学習を用いて自動構築する技術が提案されている(例えば、非特許文献1参照)。
非特許文献1に記載された技術では、自然言語の質問及びその質問に対する正しい回答が予め用意され、用意された自然言語の質問が意味解析器によって複数の形式言語の式に変換される。具体的には、意味解析器は、予め設定されたパラメータに基づいて、自然言語から形式言語への変換を行なう。また、非特許文献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 and Percy Liang. 2015. Compositional semantic parsing on semi-structured tables. In Proceedings of the Annual Meeting of the Association for Computational Linguistics.
ところで、非特許文献1の技術では、知識ベースが半構造化データを含む場合、パラメータを適切に更新できない場合がある。半構造化データとは、HTMLのテーブルのような、ある程度構造化されているものの、構造化されていない自然言語のテキストを含むデータのことをいう。例えば、HTMLのテーブルのセルが自然言語のテキストを含む場合、非特許文献1の技術では、セルに含まれるテキストを知識として利用することができない。
テーブルのセルに格納された情報を利用する技術としては、例えば、非特許文献2に記載された技術を挙げることができる。非特許文献2に記載の技術では、テーブルのセル(ノード)に含まれるテキストが複数の値に解釈できる場合は、各値に対応するノードを作成して、テーブルのデータが構造化される。例えば、テーブルのセルが「1900」というテキストを含む場合は、このテキストが、「1900.0」という数値、及び「1900-XX-XX」という日付に解釈され、それぞれの解釈に応じて構造化したデータが作成される。したがって、非特許文献2の技術を用いることによって、テーブルのセルに含まれるテキストを知識として利用することができると考えられる。
しかしながら、セルがテキストを含む場合に、非特許文献2の技術によって構造化したデータでは、セルに含まれるテキストが、単に原子式(Atomic formula)で表されるだけである。このため、例えば、セルに格納されたテキストが意味構造を有している場合(セルに格納されたテキストの意味が、複数の部分式によって表される場合)には、非特許文献2の技術を利用しても、セルに格納されたテキストを知識として適切に利用することができない。
本発明の目的の一例は、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる、情報処理装置、情報処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面における情報処理装置は、
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
を備えることを特徴とする。
また、上記目的を達成するため、本発明の一側面における情報処理方法は、
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
(a)形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
(b)意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
(c)前記(b)のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
(d)前記(c)のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
(e)前記(d)のステップで得た前記ノードテキスト式を用いて、前記(a)のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
(f)前記(e)のステップで計算した回答が、前記(a)のステップで受け付けた前記正答データと一致する場合に、前記()のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムであって、
前記コンピュータに、
(a)形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
(b)意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
(c)前記(b)のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
(d)前記(c)のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
(e)前記(d)のステップで得た前記ノードテキスト式を用いて、前記(a)のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
(f)前記(e)のステップで計算した回答が、前記(a)のステップで受け付けた前記正答データと一致する場合に、前記()のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる。
図1は、本実施の形態における情報処理装置を示すブロック図である。 図2は、本実施の形態における情報処理装置の具体的構成を示すブロック図である。 図3は、半構造化データの一例(テキストが格納されたテーブル)を示す図である。 図4は、半構造化データをグラフ構造で示した図である。 図5は、表層語及び深層語の一例を示す図である。 図6は、第1変換器における変換動作を説明するための図である。 図7は、第1パラメータ保持部に格納された素性と重み(パラメータ)との関係の一例を示す図である。 図8は、ノードテキスト式及び確率の一例を示す図である。 図9は、補正されたノードテキスト式の一例を示す図である。 図10は、第2変換器によって生成されるクエリ式の一例を示す図である。 図11は、クエリ式とノードテキスト式との組み合わせの一例を示す図である。 図12は、本発明の実施の形態における情報処理装置の動作を示すフロー図である。 図13は、本発明の実施の形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
以下、本発明の実施の形態における、情報処理装置、情報処理方法及びプログラムについて、図1~13を参照しながら説明する。
[装置構成]
図1は、本実施の形態における情報処理装置10を示すブロック図である。図1に示すように、本実施の形態における情報処理装置10は、変換器100の機械学習を行うための装置である。変換器100は、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する。本実施形態では、変換器100は、例えば、対数線形モデルを利用して、自然言語のテキストを形式言語の式に変換する。変換器100は、例えば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される。なお、変換器100には、例えば、非特許文献1に開示された技術を利用することができる。
情報処理装置10は、形式言語クエリ受付部12と、半構造化データ受付部14と、ノードテキスト抽出部16と、ノードテキスト式生成部18と、回答計算部20と、更新部22とを備えている。
形式言語クエリ受付部12には、形式言語で記述されたクエリ式、およびそのクエリ式に対する適切な回答を表す正答データが入力される。半構造化データ受付部14には、意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データが入力される。
ノードテキスト抽出部16は、半構造化データ受付部14が受け付けた半構造化データのテキストノードから、自然言語のテキストをノードテキストとして抽出する。ノードテキスト式生成部18は、ノードテキスト抽出部16が抽出したノードテキストを、変換器100に入力して、形式言語の式であるノードテキスト式を変換器100から得る。
回答計算部20は、ノードテキスト式生成部18が変換器100から得たノードテキスト式を用いて、形式言語クエリ受付部12が受け付けた上記クエリ式に対する回答を計算する。更新部22は、回答計算部20が計算した回答が、形式言語クエリ受付部12が受け付けた正答データと一致する場合に、ノードテキスト式生成部18が得たノードテキスト式が変換器100において出力されやすくなるように、変換器100のパラメータを更新する。
以上のように本実施形態によれば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器100の機械学習を行なうことができる。
続いて、図2を用いて、本発明の実施の形態における情報処理装置の構成について更に具体的に説明する。図2には、本発明の実施の形態における情報処理装置の具体的構成を示すブロック図が示されている。なお、以下においては、自然言語のテキストをPrologの形式言語に変換する場合について説明するが、他の形式言語を利用してもよい。
図2を参照して、本実施形態に係る情報処理装置10は、上述の形式言語クエリ受付部12、半構造化データ受付部14、ノードテキスト抽出部16、ノードテキスト式生成部18、回答計算部20、及び更新部22に加えて更に、補正部24、自然言語クエリ受付部26、クエリ式生成部28、及び出力部30を備えている。
また、本実施形態では、情報処理装置10は、第1変換器102a、第1パラメータ保持部102b、第2変換器104a、及び第2パラメータ保持部104bに接続されている。第1変換器102aは、自然言語のテキストが入力されると、第1パラメータ保持部102bに保持された第1パラメータに基づいて形式言語の式を出力する。第2変換器104aは、自然言語のテキストが入力されると、第2パラメータ保持部104bに保持された第2パラメータに基づいて形式言語の式を出力する。本実施形態では、情報処理装置10は、第1パラメータ保持部102bに保持された第1パラメータ及び第2パラメータ保持部104bに保持された第2パラメータを更新することによって、第1変換器102a及び第2変換器104aの機械学習を行うことができる。
上述したように、半構造化データ受付部14には、意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データが入力される。
本実施形態では、半構造化データ受付部14に入力される半構造化データは、複数のノードが相互に関連付けられたグラフ構造で表すことができる。例えば、図3に示すような、各セルにテキストが格納されたテーブルが、半構造化データとして半構造化データ受付部14に入力された場合、当該半構造化データは、図4に示すようなグラフ構造で表される。具体的には、本実施形態では、図3のテーブルの各行を1エントリとして行ごとにノード(図4においては、ノードe1,e2。以下、エントリノードという。)が作成されるとともに、各行の複数のセルに格納されたテキストがそれぞれテキストノードとして規定される。さらに、各列名をラベル(エッジ)として、各テキストノードとエントリノードとが接続される。これにより、図4(a),(b)に示すように、半構造化データ受付部14に入力されたテーブルの各行の複数のテキストデータを、グラフ構造で表すことができる。すなわち、本実施形態では、各テキストノードにはそれぞれ、ラベルが関連付けられている。
なお、図3及び図4の例では、「Appetite stimulation」、「loss of emotion」、「Overdose causes dizziness」、「prevention of coughs」、及び「decreased appetite」が意味構造を有する自然言語のテキストに相当する。これらの各テキストの意味(例えば、「副作用」が「感情の減退」であるという意味)は、非構造化データを知識として利用する場合に、複数の部分式によって表す必要がある。
以下においては、図3に示すテーブルが半構造化データとして半構造化データ受付部14に入力された場合について説明するが、半構造化データ受付部14に入力されるデータは、グラフ構造として表すことができればよく、上記のようなテーブルに限定されない。また、半構造化データ受付部14には、XML、HTML及びRDF等の種々の形式のデータを入力することができる。
図2を参照して、上述したように、ノードテキスト抽出部16は、半構造化データ受付部14が受け付けた半構造化データのテキストノードから、自然言語のテキストをノードテキストとして抽出する。図3及び図4に示した例では、上述の意味構造を有するテキストがそれぞれノードテキストとして抽出されるとともに、「Medicine-A」、「Powder」、「Medicine-B」、及び「Pill」がノードテキストとして抽出される。すなわち、本実施形態では、テキストノード自体が、半構造化データからノードテキストとして抽出される。
図2を参照して、ノードテキスト式生成部18は、ノードテキスト抽出部16が抽出したノードテキストを、第1変換器102aへ出力する。第1変換器102aは、ノードテキスト式生成部18から入力されたノードテキストを、形式言語の式であるノードテキスト式に変換して、ノードテキスト式生成部18へ出力する。なお、第1変換器102aとしては、公知の変換器を用いることができるので、以下においては、第1変換器102aについて簡単に説明する。第2変換器104aについても同様である。
本実施形態では、第1変換器102aは、例えば、入力されるテキストと出力する形式言語の式とのペアを特徴付ける予め設定された複数の素性(特徴)に基づいて、対数線形モデルを利用して、ノードテキストをノードテキスト式に変換する。なお、第1変換器102a及び第2変換器104aには、例えば、非特許文献1に開示された技術を利用することができる。
本実施形態では、例えば、図5に示すような表層語と深層語との全ての組み合わせがそれぞれ素性として予め設定される。なお、本実施形態において表層語とは、ノードテキスト及び後述する自然言語で記述されたクエリ(訓練用テキスト)に含まれる語を意味する。また、深層語とは、表層語およびラベルに対応する述語である。本実施形態では、例えば、各表層語に対して、引数が0~2の述語が設定される。なお、図5に示した表層語及び深層語は単なる一例であり、表層語及び深層語の数は図5に示した例に限定されない。本実施形態では、上記素性は、例えば、第1パラメータ保持部102bに記憶されている。
本実施形態では、第1変換器102aは、入力されたノードテキストの表層語を深層語に変換することによって、ノードテキスト式を生成する。1つの表層語に対して、複数の深層語が設定されている場合には、第1変換器102aは、複数のノードテキスト式を生成することができる。以下、簡単に説明する。
図6は、第1変換器102aにおける変換動作を説明するための図である。なお、図6では、ノードテキストとして、「loss of emotion」が第1変換器102aに入力された場合について説明する。
図6(a)を参照して、「loss of emotion」が入力されると、第1変換器102aは、予め設定された素性に基づいて、例えば、表層語「loss」を深層語「loss/1」に変換し、表層語「emotion」を深層語「emotion」に変換する。そして、深層語「loss/1」の引数に、アトム(引数を有さない述語)である「emotion」を代入することによって、形式言語のノードテキスト式「loss(emotion)」を生成する。また、図6(b)を参照して、第1変換器102aは、例えば、表層語「loss」を深層語「decrease/2」に変換し、表層語「emotion」を深層語「emotion」に変換する。そして、深層語「decrease/2」の引数にアトムを代入し、さらに空白の引数にエントリ(本実施形態では、テーブルの行を示すエントリ)を表すe1を代入することによって、形式言語のノードテキスト式「decrease(e1,emotion)」を生成する。なお、図6に示した形式言語は一例であり、第1変換器102aは、予め設定された素性に基づいて複数の形式言語を生成する。なお、図6に示すように、本実施形態では、機能語「of」の変換は省略することができる。
また、本実施形態では、第1パラメータ保持部102bに、複数の素性と、素性ごとに付された重みとの関係が格納されている。本実施形態では、複数の素性に付された重みが、第1変換器102aの第1パラメータに対応する。
図7は、第1パラメータ保持部102bに格納された複数の素性と、複数の素性の重み(パラメータ)との関係の一例を示す図である。図7に示すように、本実施形態で、初期設定の状態では、例えば、互いに表記が一致する表層語と深層語との組み合わせ(素性)の重みが重くなるように、各素性の重みが設定されている。
本実施形態では、図8に示すように、第1変換器102aは、上記のように設定された各素性の重みに基づいて、出力されるノードテキスト式ごとに、そのノードテキスト式が得られる確率を計算する。なお、図8(a)は、ノードテキストとして、「Medicine-A」が第1変換器102aに入力された場合に生成されるノードテキスト式及び確率の一例であり、図8(b)は、ノードテキストとして、「loss of emotion」が第1変換器102aに入力された場合に生成されるノードテキスト式及び確率の一例である。第1変換器102aは、計算して得られたノードテキスト式ごとの確率を、ノードテキスト式とともにノードテキスト式生成部18へ出力する。
なお、詳細な説明は省略するが、第1変換器102aは、全てのテキストノードについてノードテキスト式を生成してもよく、後述するクエリ(訓練用テキスト)又はクエリ式(訓練用テキスト式)に関連するテキストノードを選択してノードテキスト式を生成してもよい。例えば、第1変換器102aは、クエリに含まれる表層語と表記が一致するラベルが関連付けられたテキストノードを選択して、ノートテキスト式を生成してもよい。
また、第1変換器102aは、例えば、表層語を深層語に変換する際に、所定の閾値以上の重みを有する素性を選択して、表層語を深層語に変換してもよい。また、第1変換器102aは、例えば、確率が高い順に選択された所定数のノードテキスト式のみを、ノードテキスト式生成部18へ出力してもよい。また、第1変換器102aは、例えば、生成した複数のノードテキスト式の中からランダムに選択した所定数のノードテキスト式をノードテキスト式生成部18へ出力してもよい。
図2を参照して、補正部24は、ノードテキスト式生成部18が得たノードテキスト式を、そのノードテキスト式が抽出されたテキストノードに関連付けられたラベル(図4参照)に基づいて補正する。本実施形態では、上述したように、テーブル(図3)の各列名がラベルに対応する。本実施形態では、第1変換器102aは、第1パラメータ保持部102bに記憶されたラベル(表層語)と深層語との関係(図5参照)に基づいて、ノードテキスト式とラベルに対応する深層語(述語)とを組み合せることによって、ノードテキスト式を補正する。具体的には、補正部24は、例えば、図8に示したノードテキスト式を、図9に示すように補正する。図9(a)に示した例では、補正部24は、ラベルに対応する深層語(述語)の第1引数にエントリを表すe1を代入し、第2引数にノードテキスト式を代入することによって、ノードテキスト式を補正している。本実施形態では、補正部24は、補正したノードテキスト式を、確率とともに回答計算部20へ出力する。
また、本実施形態に係る情報処理装置10では、自然言語で記述されたクエリ(訓練用テキスト)、及びそのクエリに対する適切な回答を表す正答データが自然言語クエリ受付部26に入力される。クエリ式生成部28は、自然言語クエリ受付部26が受け付けたクエリを、第2変換器104aに入力する。なお、以下においては、“What is diminished by the side effects of Medicine-A”というクエリと、そのクエリに対する適切な回答を表す正答データとして、「E=e1, X=emotion」を入力する場合について説明する。
第2変換器104aは、クエリ式生成部28から入力されたクエリ(訓練用テキスト)を、形式言語で記述されたクエリ式(訓練用テキスト式)に変換して、クエリ式生成部28に出力する。なお、詳細な説明は省略するが、第2変換器104aは、第1変換器102aと同様に、入力されるテキストと出力する形式言語の式とのペアを特徴付ける予め設定された複数の素性(特徴)に基づいて、対数線形モデルを利用して、自然言語で記述されたクエリ(訓練用テキスト)を形式言語のクエリ式(訓練用テキスト式)に変換する。
また、詳細な説明は省略するが、本実施形態では、第2パラメータ保持部104bには、第1パラメータ保持部102bと同様に、複数の素性と複数の素性の重み(第2パラメータ)とが記憶されている。第2変換器104aは、第1変換器102aと同様に、第2パラメータ保持部104bに記憶された素性及び重みに基づいて、1または複数のクエリ式を生成するとともに、クエリ式ごとに、そのクエリ式が得られる確率を計算する。
本実施形態では、“What is diminished by the side effects of Medicine-A”というクエリが入力されることにより、第2変換器104aは、例えば、図10に示すように、2つのクエリ式を生成する。なお、図10に示した例では、第2変換器104aは、クエリ(訓練用テキスト)に含まれる表層語「diminish」を深層語「diminish/2」に変換して得られるクエリ式と、表層語「diminish」を深層語「decrease/2」に変換して得られるクエリ式を、確率とともにクエリ式生成部28へ出力する。
図2を参照して、クエリ式生成部28は、第2変換器104aから入力されたクエリ式を、自然言語クエリ受付部26が受け付けた正答データ(クエリ式に対応する正答データ)と共に形式言語クエリ受付部12へ出力する。形式言語クエリ受付部12は、クエリ式生成部28から入力されたクエリ式及び正答データのペアを、回答計算部20へ出力する。
回答計算部20は、補正部24から入力された補正後のノードテキスト式(図9参照)を用いて、クエリ式(図10参照)に対する回答を計算する。すなわち、回答計算部20は、補正部24から入力された補正後のノードテキスト式を知識ベースとして、形式言語クエリ受付部12から入力されたクエリ式に基づいて問い合わせを実行する。
例えば、図9に示したノードテキスト式及び図10に示したクエリ式が回答計算部20に入力される場合、図11に示すように、クエリ式とノードテキスト式との組み合わせとして、4通りの組み合わせが考えられる。この4通りの組み合せの中から、回答計算部20は、「E=e1, X=emotion」を回答として得ることができる。なお、図11の例では、「E=e1, X=emotion」を回答として得ることができる確率は、クエリ式及び2つのノードテキスト式の確率を乗算(0.3×1.0×0.2)することによって得られ、0.06である。回答計算部20は、得られた回答と、その回答が得られる確率とを、更新部22へ出力する。
更新部22は、回答計算部20が計算した回答が、形式言語クエリ受付部12が受け付けた正答データと一致する場合に、正答が得られたクエリ式とノードテキスト式との組み合わせが得られる確率が増加するように、第1パラメータ保持部102bに格納された第1パラメータ及び第2パラメータ保持部104bに格納された第2パラメータを更新する。上述したように、本実施形態では、正答データとして「E=e1, X=emotion」が入力されているので、回答計算部20が計算した回答「E=e1, X=emotion」と、形式言語クエリ受付部12が受け付けた正答データ「E=e1, X=emotion」とが一致している。したがって、回答計算部20は、「E=e1, X=emotion」を得ることができたクエリ式とノードテキスト式との組み合わせが得られる確率(図11の例では0.06)が高くなるように、第1パラメータ及び第2パラメータを更新する。
本実施形態では、更新部22は、ノードテキスト式生成部18が得たノードテキスト式(正答が得られたノードテキスト式)が第1変換器102aにおいて出力されやすくなるように、第1パラメータ保持部102bに格納された第1パラメータを更新する。具体的には、本実施形態では、回答計算部20は、ノードテキスト及び正答が得られたノードテキスト式のペアが有する素性(特徴)に関連付けられた重みが増加するように、第1パラメータを更新する。例えば、図6(b)のノードテキスト式が正答に対応していた場合、回答計算部20は、ノードテキスト「loss of emotion」及びノードテキスト式「decrease(e1, emotion)」のペアが保有する2つの素性(表層語「loss」と深層語「decrease/2」との組み合せ及び表層語「emotion」と深層語「emotion」との組み合せ)に付された重みが増加するように、第1パラメータを更新する。
また、更新部22は、回答計算部20が計算した回答が正答データと一致する場合に、クエリ式生成部28が得たクエリ式(正答が得られたクエリ式)が第2変換器104aにおいて出力されやすくなるように、第2パラメータ保持部104bに格納された第2パラメータを更新する。なお、詳細な説明は省略するが、本実施形態では、更新部22は、ノードテキスト及びノードテキスト式のペアの場合と同様に、例えば、クエリ及び正答が得られたクエリ式のペアが保有する素性に関連付けられた重みが増加するように、第2パラメータを更新する。
なお、更新部22による第1パラメータ及び第2パラメータの更新には、例えば、非特許文献1に記載されたアルゴリズムを利用することができる。
出力部30は、更新部22によって更新された第1パラメータ及び第2パラメータを出力する。これにより、他の変換器においても、更新後の第1パラメータ及び第2パラメータを利用することができる。本実施形態では、出力部30は、更新部22による更新回数が予め指定された指定回数に達した場合に、第1パラメータ及び第2パラメータを出力する。
以上のように、本実施形態においては、変換器によって、クエリ(訓練用テキスト)からクエリ式(訓練用テキスト式)が生成され、半構造化データのノードテキストからノードテキスト式が生成される。ノードテキスト式は、ラベルに対応する述語によって補正される。そして、補正されたノードテキスト式を知識ベースとして用いて、クエリ式に対する回答が計算される。得られた回答が、予め入力された正答と一致する場合には、その回答を導くことができたクエリ式及びノードテキスト式が得られる確率が高くなるように、変換器のパラメータが更新される。
このように、本実施形態では、半構造化データのノードに含まれるテキストに変換器(意味解析器)を適用することにより、テキストの持つ意味構造を扱うことができる。本実施形態では、上記のようにして更新されたパラメータを用いることにより、グラフ構造に対して入れ子になったテキストが意味構造を有している場合でも、そのテキストを変換器によって適切な形式言語の式に変換することが可能となる。これにより、質問応答システムにおいて、知識ベースとして与えられた半構造化データのノードに含まれるテキストが、複数の部分式から構成される構造を持つ式に対応する場合にも、その構造を考慮して、質問に対して適切に応答することが可能となる。
また、本実施形態では、クエリ(訓練用テキスト)の形式言語への変換及び半構造化データの形式言語への変換を同時に学習することができる。これにより、訓練用テキストの自然言語の表現と、訓練用テキストへの回答に必要な半構造化データの自然言語の表現とが、共通の述語を用いた形式言語の式に変換される。その結果、質問応答システムにおいて、質問応答をより適切に行うことができる。
なお、半構造化データを用いずに事前に学習された変換器を用いた場合は、訓練用テキストの自然言語の表現と、訓練用テキストへの回答に必要な半構造化データの自然言語の表現とが、共通の述語を用いた形式言語の式に変換されるとは限らない。このため、質問応答システムにおいて、質問応答を適切に行うことができない場合がある。
[装置動作]
次に、本発明の実施の形態における情報処理装置の動作について図12を用いて説明する。図12は、本発明の実施の形態における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜図1~図11を参酌する。また、本実施の形態では、情報処理装置10を動作させることによって、情報処理方法が実施される。よって、本実施の形態における情報処理方法の説明は、以下の情報処理装置10の動作説明に代える。
図12を参照して、情報処理装置10においては、まず、自然言語クエリ受付部26が、自然言語で記述されたクエリ、及びそのクエリに対する適切な回答を表す正答データを受け付ける(ステップS1)。また、半構造化データ受付部14が、意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データを受け付ける(ステップS2)。
次に、クエリ式生成部28が、第2変換器104aからクエリ式を得る(ステップS3)。本実施形態では、上述したように、クエリ式生成部28は、自然言語クエリ受付部26が受け付けた自然言語で記述されたクエリを第2変換器104aに入力し、形式言語で記述されたクエリ式を第2変換器104aから得る。
次に、ノードテキスト抽出部16が、半構造化データ受付部14が受け付けた半構造化データのテキストノードから、自然言語のテキストをノードテキストとして抽出する(ステップS4)。
次に、ノードテキスト式生成部18が、第1変換器102aからノードテキスト式を得る(ステップS5)。本実施形態では、上述したように、ノードテキスト式生成部18は、ノードテキスト抽出部16が抽出した自然言語で記述されたノードテキストを第1変換器102aに入力し、形式言語で記述されたノードテキスト式を第1変換器102aから得る。
次に、補正部24が、ノードテキスト式生成部18が得たノードテキスト式を補正する(ステップS6)。本実施形態では、補正部24は、上述したように、対応するテキストノードに関連付けられたラベルに基づいて、ノードテキスト式を補正する。
次に、回答計算部20が、補正部24によって補正されたノードテキスト式を用いて、クエリ式生成部28が第2変換器104aから得たクエリ式に対する回答を計算する(ステップS7)。本実施形態では、回答計算部20は、上述したように、補正後の複数のノードテキスト式を知識ベースとして、形式言語クエリ受付部12から入力された複数のクエリ式に基づいて問い合わせを実行することによって、回答を計算する。
次に、更新部22が、回答計算部20が計算した回答が、形式言語クエリ受付部12が受け付けた正答データと一致するか否かを判定する(ステップS8)。回答と正答データとが一致する場合、更新部22は、上述したように、第1パラメータ保持部102bに格納された第1パラメータ及び第2パラメータ保持部104bに格納された第2パラメータを更新する(ステップS9)。一方、ステップS8において回答と正答データとが一致していない場合、更新部22は、パラメータの更新を中止する。そして、クエリ式生成部28によるステップS3の処理が再開される。
ステップS9においてパラメータが更新された後、出力部30が、更新部22による更新回数が予め設定された指定回数に到達したか否かを判定する(ステップS10)。更新回数が指定回数に到達している場合、出力部30は、パラメータを出力する(ステップS11)。更新回数が指定回数に到達していない場合、出力部30は、パラメータの出力を中止する。そして、クエリ式生成部28によるステップS3の処理が再開される。
なお、本実施形態では、例えば、入力するクエリ(訓練用テキスト)及び正答データを変更しながら、更新部22によるパラメータの更新(ステップS3~10の処理)を繰り返し実行することができる。すなわち、入力するクエリごとに、予め設定された指定回数のパラメータ更新を行い、全てのクエリに対してのパラメータ更新が終了した後に、出力部30がパラメータを出力してもよい。なお、この場合、2つ目以降のクエリを入力する際には、ステップS2の処理は省略することができる。
(変形例)
なお、図2に示した例では、第1変換器102aと第2変換器104aとが、異なる素性及びパラメータを利用する場合について説明したが、第1変換器102aと第2変換器104aとが共通の素性及びパラメータを用いてもよい。すなわち、第1変換器102aと第2変換器104aとが、共通のパラメータ保持部に格納された素性及びパラメータを用いてもよい。この場合、更新部22は、その共通のパラメータ保持部に格納されたパラメータを更新すればよい。
また、図2に示した例では、異なる2つの変換器(第1変換器102a、第2変換器104a)によってノードテキスト式及びクエリ式が生成される場合について説明したが、共通の変換器によってノードテキスト式及びクエリ式を生成してもよい。この場合、その共通の変換器は、ノードテキスト式及びクエリ式に共通する素性及びパラメータを用いてもよく、ノードテキスト式及びクエリ式に応じて異なる素性及びパラメータを用いてもよい。
また、図2に示した例では、第1パラメータ保持部102b及び第2パラメータ保持部104bが情報処理装置10の外部に設けられる場合について説明したが、情報処理装置10がパラメータ保持部を備えていてもよい。
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図12に示すステップS1~S11を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における情報処理装置と情報処理方法とを実現することができる。この場合、情報処理装置となるコンピュータのプロセッサは、形式言語クエリ受付部12、半構造化データ受付部14、ノードテキスト抽出部16、ノードテキスト式生成部18、回答計算部20、更新部22、補正部24、自然言語クエリ受付部26、クエリ式生成部28及び出力部30として機能し、処理を行なう。
また、本実施の形態では、第1パラメータ保持部102b及び第2パラメータ保持部104bは、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現されている。
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、形式言語クエリ受付部12、半構造化データ受付部14、ノードテキスト抽出部16、ノードテキスト式生成部18、回答計算部20、更新部22、補正部24、自然言語クエリ受付部26、クエリ式生成部28及び出力部30のいずれかとして機能してもよい。
[物理構成]
ここで、本実施の形態におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて図を用いて説明する。図13は、本発明の実施の形態における情報処理装置を実現するコンピュータの一例を示すブロック図である。
図13に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボードおよびマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、およびコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))およびSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、またはCD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
なお、本実施の形態における情報処理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、情報処理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記27)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
を備えることを特徴とする情報処理装置。
(付記2)
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記1に記載の情報処理装置。
(付記3)
前記ノードテキスト式を補正する補正部を更に備え、
前記テキストノードにラベルが関連付けられており、
前記補正部は、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記回答計算部は、前記補正部によって補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記1又は2に記載の情報処理装置。
(付記4)
自然言語で記述されたクエリ、及び、前記クエリに対する適切な回答を表す前記正答データを受け付ける自然言語クエリ受付部と、
前記自然言語クエリ受付部が受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得るクエリ式生成部と、を更に備え、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記クエリ式生成部が得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記1~3のいずれかに記載の情報処理装置。
(付記5)
前記変換器は、前記ノードテキスト式を出力する第1変換器と、前記クエリ式を出力する第2変換器とを含む、
付記4に記載の情報処理装置。
(付記6)
前記第1変換器と前記第2変換器とがパラメータを共有している、
付記5に記載の情報処理装置。
(付記7)
前記パラメータは、前記第1変換器の第1パラメータと、前記第2変換器の第2パラメータとを含む、
付記5に記載の情報処理装置。
(付記8)
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記1~7のいずれかに記載の情報処理装置。
(付記9)
前記更新部によって更新された前記変換器の前記パラメータを出力する出力部を更に備えた、
付記1~8のいずれかに記載の情報処理装置。
(付記10)
自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
(a)形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
(b)意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
(c)前記(b)のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
(d)前記(c)のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
(e)前記(d)のステップで得た前記ノードテキスト式を用いて、前記(a)のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
(f)前記(e)のステップで計算した回答が、前記(a)のステップで受け付けた前記正答データと一致する場合に、前記()のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を備えることを特徴とする情報処理方法。
(付記11)
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記10に記載の情報処理方法。
(付記12)
(g)前記ノードテキスト式を補正する、ステップを更に備え、
前記テキストノードにラベルが関連付けられており、
前記(g)のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記(e)のステップでは、前記(g)のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記10又は11に記載の情報処理方法。
(付記13)
(h)自然言語で記述されたクエリを受け付ける、ステップと、
(i)前記(h)のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を更に備え、
前記(a)のステップでは、前記(i)のステップで前記変換器から得た前記クエリ式を受け付け、
前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記(i)のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記10~12のいずれかに記載の情報処理方法。
(付記14)
前記変換器は、前記ノードテキスト式を出力する第1変換器と、前記クエリ式を出力する第2変換器とを含む、
付記13に記載の情報処理方法。
(付記15)
前記第1変換器と前記第2変換器とがパラメータを共有している、
付記14に記載の情報処理方法。
(付記16)
前記パラメータは、前記第1変換器の第1パラメータと、前記第2変換器の第2パラメータとを含む、
付記14に記載の情報処理方法。
(付記17)
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記10~16のいずれかに記載の情報処理方法。
(付記18)
(j)前記(f)のステップで更新された前記変換器の前記パラメータを出力するステップ、を更に備える、
付記10~17のいずれかに記載の情報処理方法。
(付記19)
コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムであって、
前記コンピュータに、
(a)形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
(b)意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
(c)前記(b)のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
(d)前記(c)のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
(e)前記(d)のステップで得た前記ノードテキスト式を用いて、前記(a)のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
(f)前記(e)のステップで計算した回答が、前記(a)のステップで受け付けた前記正答データと一致する場合に、前記()のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
を実行させプログラム。
(付記20)
前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
付記19に記載のプログラム
(付記21)
記コンピュータに、
(g)前記ノードテキスト式を補正するステップ、を実行させる命令を更に含み、
前記テキストノードにラベルが関連付けられており、
前記(g)のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
前記(e)のステップでは、前記(g)のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
付記19又は20に記載のプログラム
(付記22)
記コンピュータに、
(h)自然言語で記述されたクエリを受け付ける、ステップと、
(i)前記(h)のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
を実行させる命令を更に含み、
前記(a)のステップでは、前記(i)のステップで前記変換器から得た前記クエリ式を受け付け、
前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記(i)のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
付記19~21のいずれかに記載のプログラム
(付記23)
前記変換器は、前記ノードテキスト式を出力する第1変換器と、前記クエリ式を出力する第2変換器とを含む、
付記22に記載のプログラム
(付記24)
前記第1変換器と前記第2変換器とがパラメータを共有している、
付記23に記載のプログラム
(付記25)
前記パラメータは、前記第1変換器の第1パラメータと、前記第2変換器の第2パラメータとを含む、
付記23に記載のプログラム
(付記26)
前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
付記19~25のいずれかに記載のプログラム
(付記27)
前記プログラムが、前記コンピュータに、
(j)前記(f)のステップで更新された前記変換器の前記パラメータを出力するステップ、を実行させる命令を更に含む、
付記19~26のいずれかに記載のプログラム
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年3月30日に出願された日本出願特願2017-068453を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように、本発明によれば、半構造化データを利用する質問応答システムにおいて自然言語を形式言語に変換する際に利用される変換器の機械学習を行うことができる。
10 情報処理装置
12 形式言語クエリ受付部
14 半構造化データ受付部
16 ノードテキスト抽出部
18 ノードテキスト式生成部
20 回答計算部
22 更新部
24 補正部
26 自然言語クエリ受付部
28 クエリ式生成部
30 出力部
100 変換器
102a 第1変換器
102b 第1パラメータ保持部
104a 第2変換器
104b 第2パラメータ保持部

Claims (27)

  1. 自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理装置であって、
    形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける形式言語クエリ受付部と、
    意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける半構造化データ受付部と、
    前記半構造化データ受付部が受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出するノードテキスト抽出部と、
    前記ノードテキスト抽出部が抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得るノードテキスト式生成部と、
    前記ノードテキスト式生成部が得た前記ノードテキスト式を用いて、前記形式言語クエリ受付部が受け付けた前記クエリ式に対する回答を計算する回答計算部と、
    前記回答計算部が計算した回答が、前記形式言語クエリ受付部が受け付けた前記正答データと一致する場合に、前記ノードテキスト式生成部が得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する更新部と、
    を備えることを特徴とする情報処理装置。
  2. 前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
    請求項1に記載の情報処理装置。
  3. 前記ノードテキスト式を補正する補正部を更に備え、
    前記テキストノードにラベルが関連付けられており、
    前記補正部は、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
    前記回答計算部は、前記補正部によって補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
    請求項1又は2に記載の情報処理装置。
  4. 自然言語で記述されたクエリ、及び、前記クエリに対する適切な回答を表す前記正答データを受け付ける自然言語クエリ受付部と、
    前記自然言語クエリ受付部が受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得るクエリ式生成部と、を更に備え、
    前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記クエリ式生成部が得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
    請求項1~3のいずれかに記載の情報処理装置。
  5. 前記変換器は、前記ノードテキスト式を出力する第1変換器と、前記クエリ式を出力する第2変換器とを含む、
    請求項4に記載の情報処理装置。
  6. 前記第1変換器と前記第2変換器とがパラメータを共有している、
    請求項5に記載の情報処理装置。
  7. 前記パラメータは、前記第1変換器の第1パラメータと、前記第2変換器の第2パラメータとを含む、
    請求項5に記載の情報処理装置。
  8. 前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
    前記更新部は、前記回答計算部が計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
    請求項1~7のいずれかに記載の情報処理装置。
  9. 前記更新部によって更新された前記変換器の前記パラメータを出力する出力部を更に備えた、
    請求項1~8のいずれかに記載の情報処理装置。
  10. 自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習する情報処理方法であって、
    (a)形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
    (b)意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
    (c)前記(b)のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
    (d)前記(c)のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
    (e)前記(d)のステップで得た前記ノードテキスト式を用いて、前記(a)のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
    (f)前記(e)のステップで計算した回答が、前記(a)のステップで受け付けた前記正答データと一致する場合に、前記()のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
    を備えることを特徴とする情報処理方法。
  11. 前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
    請求項10に記載の情報処理方法。
  12. (g)前記ノードテキスト式を補正する、ステップを更に備え、
    前記テキストノードにラベルが関連付けられており、
    前記(g)のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
    前記(e)のステップでは、前記(g)のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
    請求項10又は11に記載の情報処理方法。
  13. (h)自然言語で記述されたクエリを受け付ける、ステップと、
    (i)前記(h)のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
    を更に備え、
    前記(a)のステップでは、前記(i)のステップで前記変換器から得た前記クエリ式を受け付け、
    前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記(i)のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
    請求項10~12のいずれかに記載の情報処理方法。
  14. 前記変換器は、前記ノードテキスト式を出力する第1変換器と、前記クエリ式を出力する第2変換器とを含む、
    請求項13に記載の情報処理方法。
  15. 前記第1変換器と前記第2変換器とがパラメータを共有している、
    請求項14に記載の情報処理方法。
  16. 前記パラメータは、前記第1変換器の第1パラメータと、前記第2変換器の第2パラメータとを含む、
    請求項14に記載の情報処理方法。
  17. 前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
    前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
    請求項10~16のいずれかに記載の情報処理方法。
  18. (j)前記(f)のステップで更新された前記変換器の前記パラメータを出力するステップ、を更に備える、
    請求項10~17のいずれかに記載の情報処理方法。
  19. コンピュータに、自然言語のテキストが入力されるとパラメータに基づいて形式言語の式を出力する変換器を機械学習させるプログラムであって、
    前記コンピュータに、
    (a)形式言語で記述されたクエリ式、及び、前記クエリ式に対する適切な回答を表す正答データを受け付ける、ステップと、
    (b)意味構造を有する自然言語のテキストを含むテキストノードを有する半構造化データの入力を受け付ける、ステップと、
    (c)前記(b)のステップで受け付けた前記半構造化データの前記テキストノードから前記自然言語のテキストをノードテキストとして抽出する、ステップと、
    (d)前記(c)のステップで抽出した前記ノードテキストを前記変換器に入力して、形式言語の式であるノードテキスト式を前記変換器から得る、ステップと、
    (e)前記(d)のステップで得た前記ノードテキスト式を用いて、前記(a)のステップで受け付けた前記クエリ式に対する回答を計算する、ステップと、
    (f)前記(e)のステップで計算した回答が、前記(a)のステップで受け付けた前記正答データと一致する場合に、前記()のステップで得た前記ノードテキスト式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、ステップと、
    を実行させる命令を含む、プログラム。
  20. 前記半構造化データは、前記テキストノードを含む複数のノードが相互に関連付けられたグラフ構造で表すことができる、
    請求項19に記載のプログラム
  21. 記コンピュータに、
    (g)前記ノードテキスト式を補正するステップ、を実行させる命令を更に含み、
    前記テキストノードにラベルが関連付けられており、
    前記(g)のステップでは、前記ノードテキスト式を、対応する前記テキストノードに関連付けられたラベルに対応する述語に組み合せることによって補正し、
    前記(e)のステップでは、前記(g)のステップで補正された前記ノードテキスト式を用いてクエリ式に対する回答を計算する、
    請求項19又は20に記載のプログラム
  22. 記コンピュータに、
    (h)自然言語で記述されたクエリを受け付ける、ステップと、
    (i)前記(h)のステップで受け付けた前記クエリを前記変換器に入力して、形式言語で記述されたクエリ式を前記変換器から得る、ステップと、
    を実行させる命令を更に含み、
    前記(a)のステップでは、前記(i)のステップで前記変換器から得た前記クエリ式を受け付け、
    前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記(i)のステップで得た前記クエリ式が前記変換器において出力されやすくなるように前記変換器の前記パラメータを更新する、
    請求項19~21のいずれかに記載のプログラム
  23. 前記変換器は、前記ノードテキスト式を出力する第1変換器と、前記クエリ式を出力する第2変換器とを含む、
    請求項22に記載のプログラム
  24. 前記第1変換器と前記第2変換器とがパラメータを共有している、
    請求項23に記載のプログラム
  25. 前記パラメータは、前記第1変換器の第1パラメータと、前記第2変換器の第2パラメータとを含む、
    請求項23に記載のプログラム
  26. 前記変換器のパラメータが、前記変換器に入力される自然言語のテキスト、及び、前記変換器が出力する形式言語の式のペアが保有する特徴に関連付けられた重みであり、
    前記(f)のステップでは、前記(e)のステップで計算した回答が前記正答データと一致する場合に、前記ノードテキスト及び前記ノードテキスト式のペアが保有する特徴に関連付けられた重みが増加するように、前記パラメータを更新する、
    請求項19~25のいずれかに記載のプログラム
  27. 記コンピュータに、
    (j)前記(f)のステップで更新された前記変換器の前記パラメータを出力するステップ、を実行させる命令を更に含む、
    請求項19~26のいずれかに記載のプログラム
JP2019509011A 2017-03-30 2018-02-26 情報処理装置、情報処理方法及びプログラム Active JP7060010B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017068453 2017-03-30
JP2017068453 2017-03-30
PCT/JP2018/007040 WO2018180106A1 (ja) 2017-03-30 2018-02-26 情報処理装置、情報処理方法及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2018180106A1 JPWO2018180106A1 (ja) 2020-02-13
JP7060010B2 true JP7060010B2 (ja) 2022-04-26

Family

ID=63675300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019509011A Active JP7060010B2 (ja) 2017-03-30 2018-02-26 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US11669691B2 (ja)
JP (1) JP7060010B2 (ja)
WO (1) WO2018180106A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7149560B2 (ja) * 2018-04-13 2022-10-07 国立研究開発法人情報通信研究機構 リクエスト言換システム、リクエスト言換モデル及びリクエスト判定モデルの訓練方法、及び対話システム
CN112559552B (zh) * 2020-12-03 2023-07-25 北京百度网讯科技有限公司 数据对生成方法、装置、电子设备及存储介质
US20220318283A1 (en) * 2021-03-31 2022-10-06 Rovi Guides, Inc. Query correction based on reattempts learning
US11481985B1 (en) * 2021-04-23 2022-10-25 International Business Machines Corporation Augmented reality enabled appetite enhancement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014158182A2 (en) 2013-03-29 2014-10-02 Ajit Bhave Organizing and fast searching of data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546370A (ja) 1991-08-16 1993-02-26 Toshiba Corp プログラム生成装置
CN105528349B (zh) * 2014-09-29 2019-02-01 华为技术有限公司 知识库中问句解析的方法及设备
JP2016095698A (ja) 2014-11-14 2016-05-26 日本電信電話株式会社 翻訳学習装置、翻訳装置、方法、及びプログラム
CN106844368B (zh) * 2015-12-03 2020-06-16 华为技术有限公司 用于人机对话的方法、神经网络系统和用户设备
US10528328B2 (en) * 2015-12-08 2020-01-07 Microsoft Technology Licensing, Llc Learning from input patterns in Programing-By-Example
US10769209B1 (en) * 2017-01-13 2020-09-08 Marklogic Corporation Apparatus and method for template driven data extraction in a semi-structured document database
US20190266286A1 (en) * 2018-02-28 2019-08-29 Jordi Torras Method and system for a semantic search engine using an underlying knowledge base

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014158182A2 (en) 2013-03-29 2014-10-02 Ajit Bhave Organizing and fast searching of data

Also Published As

Publication number Publication date
US11669691B2 (en) 2023-06-06
US20210191986A1 (en) 2021-06-24
WO2018180106A1 (ja) 2018-10-04
JPWO2018180106A1 (ja) 2020-02-13

Similar Documents

Publication Publication Date Title
JP7060010B2 (ja) 情報処理装置、情報処理方法及びプログラム
US11947917B2 (en) Natural language processing with an n-gram machine
US10210245B2 (en) Natural language question answering method and apparatus
US9147007B2 (en) Query expression conversion apparatus, query expression conversion method, and computer program product
US8788266B2 (en) Language model creation device, language model creation method, and computer-readable storage medium
MXPA04010820A (es) Sistema para identificar parafrasis utilizando tecnicas de traduccion de maquina.
JP6733809B2 (ja) 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
US20220245353A1 (en) System and method for entity labeling in a natural language understanding (nlu) framework
KR101409413B1 (ko) 단일화 문법을 이용한 자연어 처리 방법
WO2019150583A1 (ja) 質問群抽出方法、質問群抽出装置および記録媒体
US20140172757A1 (en) System and Method For Learning Answers To Frequently Asked Questions From a Semi-Structured Data Source
US20220222442A1 (en) Parameter learning apparatus, parameter learning method, and computer readable recording medium
JPWO2021112141A5 (ja)
JP2015153261A (ja) 対話文生成装置、対話文生成方法およびプログラム
JP6973515B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20220229998A1 (en) Lookup source framework for a natural language understanding (nlu) framework
Hwang et al. End-to-end dialogue system with multi languages for hospital receptionist robot
Anil Kumar et al. Providing Natural Language Interface To Database Using Artificial Intelligence
KR102324196B1 (ko) 지식 베이스 보강을 위한 시스템 및 방법
JP6662000B2 (ja) テーブル語義化装置及び方法
CN112417851A (zh) 文本纠错分词方法、系统及电子设备
WO2023026444A1 (ja) 要約学習支援装置、要約学習支援方法及びプログラム
US20220245352A1 (en) Ensemble scoring system for a natural language understanding (nlu) framework
JP5856905B2 (ja) 主題抽出装置およびそのプログラム
US20220245350A1 (en) Framework and interface for machines

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190926

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210106

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: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R151 Written notification of patent or utility model registration

Ref document number: 7060010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151