(57)【要約】【課題】学習データの作成コストをかけることなく、フレーズ間の関係性を精度良く推定することができる。【解決手段】学習データ生成部６２が、入力テキストに対する係り受け解析結果に基づいて、フレーズ間の関係性を表わす予め定められた接続表現が含まれる文節と係り受け関係にあるフレーズの組み合わせを抽出し、前記抽出されたフレーズの組み合わせと、前記接続表現又は前記接続表現が表す関係性を示す関係ラベルとからなる３つ組を作成する。学習部６３が、前記学習データ生成部によって作成された前記３つ組に基づいて、フレーズ間の関係性を推定するための関係性推定モデルを学習する。【選択図】図４
2019144706.tif 000002
【特許請求の範囲】
【請求項１】
入力テキストに対するテキスト解析結果に基づいて、フレーズ間の関係性を表わす予め定められた接続表現が含まれる文節と所定の関係にあるフレーズの組み合わせを抽出し、前記抽出されたフレーズの組み合わせと、前記接続表現又は前記接続表現が表す関係性を示す関係ラベルの少なくとも一方とからなる３つ組を作成する学習データ生成部と、
前記学習データ生成部によって作成された前記３つ組に基づいて、フレーズ間の関係性を推定するための関係性推定モデルを学習する学習部と、
を含む関係性推定モデル学習装置。
【請求項２】
前記関係性推定モデルは、
フレーズの組み合わせに含まれる各フレーズを表すベクトルと、前記接続表現又は前記関係ラベルを表すベクトルを入力として、関係スコアを出力するニューラルネットワークである請求項１記載の関係性推定モデル学習装置。
【請求項３】
学習データ生成部が、入力テキストに対するテキスト解析結果に基づいて、フレーズ間の関係性を表わす予め定められた接続表現が含まれる文節と所定の関係にあるフレーズの組み合わせを抽出し、前記抽出されたフレーズの組み合わせと、前記接続表現又は前記接続表現が表す関係性を示す関係ラベルの少なくとも一方とからなる３つ組を作成し、
学習部が、前記学習データ生成部によって作成された前記３つ組に基づいて、フレーズ間の関係性を推定するための関係性推定モデルを学習する
関係性推定モデル学習方法。
【請求項４】
コンピュータを、請求項１又は２記載の関係性推定モデル学習装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、関係性推定モデル学習装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
非特許文献１は、コーパスを入力とし、述語項構造の共起情報と節間関係の分布を用いて事態間関係知識を獲得するものである。
【０００３】
非特許文献２は、人手により作成された大量のラベル付きデータを使って、ニューラルネットワークの学習を行い、関係スコアを推定するものである。関係スコアとは、入力として与えた３つ組み｛フレーズ１、フレーズ２、ラベル｝の組み合わせが正しいか否かを数値化したものである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】大友謙一、柴田知秀、黒橋禎夫、「述語項構造の共起情報と節間関係の分布を用いた事態間関係知識の獲得」、言語処理学会 第17 回年次大会 発表論文集 (2011 年3 月)
【非特許文献２】Xiang Li, Aynaz Taheri, Lifu Tu, Kevin Gimpel," Commonsense Knowledge Base Completion ", Proc. of ACL, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記非特許文献１の手法により獲得した３つ組を用いて関係性推定をする際には、入力となるコーパスに出現する３つ組のみしか推定できないという課題がある。
【０００６】
上記非特許文献２の手法によれば任意の３つ組に対して関係スコアを出力できるが、大量のラベル付きデータの作成コストが高い、という課題がある。
【０００７】
本発明は、上記課題を解決するために成されたものであり、学習データの作成コストをかけることなく、フレーズ間の関係性を精度良く推定することができる関係性推定モデルを学習することができる関係性推定モデル学習装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る関係性推定モデル学習装置は、入力テキストに対するテキスト解析結果に基づいて、フレーズ間の関係性を表わす予め定められた接続表現が含まれる文節と所定の関係にあるフレーズの組み合わせを抽出し、前記抽出されたフレーズの組み合わせと、前記接続表現又は前記接続表現が表す関係性を示す関係ラベルの少なくとも一方とからなる３つ組を作成する学習データ生成部と、前記学習データ生成部によって作成された前記３つ組に基づいて、フレーズ間の関係性を推定するための関係性推定モデルを学習する学習部と、を含んで構成されている。
【０００９】
本発明に係る関係性推定モデル学習方法は、学習データ生成部が、入力テキストに対するテキスト解析結果に基づいて、フレーズ間の関係性を表わす予め定められた接続表現が含まれる文節と所定の関係にあるフレーズの組み合わせを抽出し、前記抽出されたフレーズの組み合わせと、前記接続表現又は前記接続表現が表す関係性を示す関係ラベルの少なくとも一方とからなる３つ組を作成し、学習部が、前記学習データ生成部によって作成された前記３つ組に基づいて、フレーズ間の関係性を推定するための関係性推定モデルを学習する。
【００１０】
本発明に係るプログラムは、コンピュータを、上記発明に係る関係性推定モデル学習装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１１】
本発明の関係性推定モデル学習装置、方法、及びプログラムによれば、入力テキストに対するテキスト解析結果に基づいて、フレーズ間の関係性を表わす接続表現が含まれる文節と所定の関係にあるフレーズの組み合わせを抽出し、フレーズの組み合わせと接続表現又は関係ラベルの少なくとも一方とからなる３つ組を作成することにより、学習データの作成コストをかけることなく、フレーズ間の関係性を精度良く推定することができる関係性推定モデルを学習することができる、という効果が得られる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る関係性推定装置の構成を示すブロック図である。
【図２】関係スコアの計算方法を説明するための図である。
【図３】関係スコアの計算方法を説明するための図である。
【図４】本発明の実施の形態に係る関係性推定モデル学習装置の構成を示すブロック図である。
【図５】本発明の実施の形態に係る関係性推定モデル学習装置の学習データ生成部の構成を示すブロック図である。
【図６】入力テキストの一例を示す図である。
【図７】係り受け解析結果の一例を示す図である。
【図８】接続表現データベースの一例を示す図である。
【図９】本発明の実施の形態に係る関係性推定モデル学習装置における関係性推定モデル学習処理ルーチンを示すフローチャートである。
【図１０】本発明の実施の形態に係る関係性推定装置における関係性推定処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１４】
＜本発明の実施の形態の概要＞
関係性推定では、２つのテキストとその間の関係性を表す関係ラベルからなる３つ組｛フレーズ１、フレーズ２、関係ラベル｝が入力として与えられた際に、３つの組み合わせの信頼度スコア（以下関係スコア）を出力する。
【００１５】
例えば、入力となる３つ組が、{テキスト1：雨が降る，テキスト2：地面が濡れる，関係ラベル：結果}であり、出力が関係スコアとなる。
【００１６】
本実施の形態では、２つのテキストの関係として、関係ラベルが正しいか否かを推定する方法について説明する。
【００１７】
また、本発明の実施の形態では接続表現を起点として、係り受け構造を用いてフレーズとその間をつなぐ接続表現の３つ組を抽出する。そして、抽出した３つ組を用いて、関係性を推定するニューラルネットワークモデルである関係性推定モデルを学習する。
【００１８】
＜本発明の実施の形態に係る関係性推定装置の構成＞
次に、本発明の実施の形態に係る関係性推定装置の構成について説明する。図１に示すように、本発明の実施の形態に係る関係性推定装置１００は、ＣＰＵと、ＲＡＭと、後述する関係性推定処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この関係性推定装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部４０とを備えている。
【００１９】
入力部１０は、２つのフレーズ（テキスト）と、その間の関係性を表す接続表現からなる３つ組｛フレーズ１、フレーズ２、接続表現｝を受け付ける。
【００２０】
演算部２０は、推定部２１と、記憶部２２とを備える。
【００２１】
記憶部２２には、後述する関係性推定モデル学習装置１５０により学習された、関係性推定モデルが記憶される。
【００２２】
関係性推定モデルにはニューラルネットワークを用いることとし、学習方法については関係性推定モデル学習装置１５０において説明する。ニューラルネットワークであればどのようなものでもよい。また、別の機械学習でもよいが、ニューラルネットワークの方が効果は高い。
【００２３】
推定部２１は、記憶部２２に記憶されている関係性推定モデルを用いて、入力された３つ組に対する関係スコアを推定し、出力部４０により出力する。
【００２４】
関係スコアとは、入力として与えた３つ組の２つのフレーズ間に接続表現が示す関係性があるか否かを数値化したものである。例えば、０〜１の値を取り、１に近い程、関係があることを示すものとする。
【００２５】
推定部２１の処理について以下に説明する。
【００２６】
まず入力｛フレーズ１、フレーズ２、接続表現｝の３つをそれぞれベクトルに変換する。
【００２７】
変換したフレーズ１のベクトルをh、フレーズ2のベクトルをt、接続表現のベクトルをrとする。変換方法は、フレーズや単語をベクトル化する手法であれば何でもよい。本実施の形態では非特許文献３の手法を利用する。
【００２８】
[非特許文献３]Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013.
【００２９】
関係スコア計算方法には、以下の２つの方法が考えられる。
【００３０】
（スコア計算方法１）
図２に示すように、h、t、rを連結し、多層パーセプトロンなどを用いて、１次元の出力値である関係スコアｓｃｏｒｅ（ｈ，ｔ，ｒ）を出力する。
【００３１】
（スコア計算方法２）
図３に示すように、hとｒを連結し、多層パーセプトロンなどを用いて、ｒ次元のベクトルE_hrを出力し、ｔから、多層パーセプトロンなどを用いて、ｒ次元のベクトルE_tを出力し、E_hrとE_tの近さで関係スコアを計算する。両ベクトルの近さは、例えばコサイン類似度等を用いればよい。
【００３２】
例えば、推定部２１は、３つ組{フレーズ1：雨が降る，フレーズ2：地面が濡れる，接続表現：ので}に対して、関係スコア0.87を出力する。
【００３３】
また、推定部２１は、出力された関係スコアを所定の閾値で判定し、フレーズ１とフレーズ２には「ので」が示す「結果」という関係性があるか否かを推定する。例えば、関係スコアの値が0.6、閾値が0.4 の場合は、0.6>0.4なので関係性がある、と推定する。ただし、閾値判定は知識獲得や0/1にスコアを落とし込む必要がある場合なので、用途によっては閾値判定を行わずに、関係スコアの値をそのまま出力してもよい。
【００３４】
＜本発明の実施の形態に係る関係性推定モデル学習装置の構成＞
次に、本発明の実施の形態に係る関係性推定モデル学習装置の構成について説明する。図４に示すように、本発明の実施の形態に係る関係性推定モデル学習装置１５０は、ＣＰＵと、ＲＡＭと、後述する関係性推定モデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この関係性推定モデル学習装置１５０は、機能的には図４に示すように入力部５０と、演算部６０と、出力部９０とを備えている。
【００３５】
入力部５０は、入力テキストを受け付ける。
【００３６】
演算部６０は、学習データ生成部６２と、学習部６３とを備えている。
【００３７】
学習データ生成部６２は、図５に示すように、基本解析部７１と、フレーズ抽出部７２と、接続表現データベース７３とを備えている。
【００３８】
基本解析部７１は、入力テキストに対して係り受け解析を行う。
【００３９】
図６に、入力テキストの例を示し、図７に、係り受け解析結果の例を示す。係り受け解析は任意のものを用いればよく、例えば、既知の形態素解析器であるCaboChaを利用する。
【００４０】
フレーズ抽出部７２は、係り受け解析結果からフレーズを抽出する。本実施の形態では、フレーズとは、係り受け関係にある主語と述語を最小単位として，その他形容詞節を最大n個（nは任意の自然数）まで考慮するものとする。
【００４１】
上記図７を係り受け解析結果の例とすると、下記のようなフレーズが抽出される。フレーズを抽出する際には、解析結果の原型（ただし、必ずしも原型にしなくてもよい）を利用し、「壊れたので」→「壊れる」、「買い換えました」→「買い換える」のように変換したものを抽出する。
【００４２】
携帯電話が壊れる
買い換える
ｘｘｘ7に買い換える
ｘｘｘ5を換える
【００４３】
なお、フレーズを抽出する際には、基本的に主語＋動詞の組み合わせを基本単位とするが、サ変名詞動詞は単独でもよいものとする。
また、係り受け関係を考慮せずに、接続表現の前後の文字列それぞれを、フレーズとして抽出してもよい。例えば、「ａａａａ［接続表現］ｂｂｂｂ」という文が存在する場合に、「ａａａａ」と「ｂｂｂｂ」とをそれぞれフレーズとして抽出してもよい。この場合、［接続表現］が接続表現を含む文節を表し、「ａａａａ」と「ｂｂｂｂ」が接続表現を含む前記文節を挟んで、前及び後の位置関係にあるフレーズを表している。
【００４４】
そして、フレーズ抽出部７２は、上記フレーズの組み合わせのうち、接続表現が含まれる文節と係り受け関係にあるフレーズを抽出し、｛フレーズ１、フレーズ２、接続表現｝からなる３つ組を作成する。
【００４５】
本実施の形態における接続表現とは、フレーズ間の関係性を表す表現であらかじめ定められたものとする。例えば、「なので」「ので」「ために」「と」「たら」「場合」「とき」「時」「ば」「から」「が」などの接続詞は接続表現として用いることが可能である。本実施の形態では、図８（Ａ）に示すように、接続表現データベース７３に接続表現が予め登録されているものとする。
【００４６】
上記図７の係り受け解析結果の例では、以下の３つ組が作成される。
【００４７】
｛携帯電話が壊れる、買い換える、ので｝
｛携帯電話が壊れる、ｘｘｘ7に買い換える、ので｝
｛携帯電話が壊れる、ｘｘｘ5を買い換える、ので｝
【００４８】
接続表現の種類をＮ通りとすると、最終的な３つ組に含まれるラベルの種類はＮ通りとなる。
【００４９】
また、フレーズ抽出部７２の別の実施例として、上記のように３つ組を抽出してそのまま出力する方法（抽出方法１とする）以外に、抽出後に次の３通りの処理を行う方法がある。
【００５０】
（抽出方法２）
図８（Ｂ）に示すように、接続表現データベース７３に、接続表現と接続表現が表す関係性を示す関係ラベルが予め登録されているものとする。
【００５１】
接続表現データベース７３を用いて、接続表現を関係ラベルに変換して｛フレーズ１、フレーズ２、関係ラベル｝を出力する。
【００５２】
上記図７の係り受け解析結果の例では、以下の３つ組が作成される。
【００５３】
｛携帯電話が壊れる、買い換える、原因｝
｛携帯電話が壊れる、ｘｘｘ7に買い換える、原因｝
｛携帯電話が壊れる、ｘｘｘ5を買い換える、原因｝
【００５４】
関係ラベルの種類をＭ通りとすると、最終的に出力されるラベルの種類はＭ通りとなる。
【００５５】
上記抽出方法２を用いる場合には、関係性推定装置１００の入力となる３つ組は、｛フレーズ１、フレーズ２、関係ラベル｝となる。
【００５６】
（抽出方法３）
人手により、接続表現を関係ラベルに変換したもの｛フレーズ１、フレーズ２、関係ラベル｝、抽出方法２の｛フレーズ１、フレーズ２、関係ラベル｝を合わせて出力する。最終的に出力されるラベルの種類はＭ通りとなる。
【００５７】
上記抽出方法３を用いる場合には、関係性推定装置１００の入力となる３つ組は、｛フレーズ１、フレーズ２、関係ラベル｝となる。
【００５８】
（抽出方法４）
人手により、接続表現を関係ラベルに変換したもの｛フレーズ１、フレーズ２、関係ラベル｝と、抽出方法１の｛フレーズ１、フレーズ２、接続表現｝を合わせて出力する。最終的に出力されるラベルの種類はＮ＋Ｍ通りとなる。
【００５９】
上記抽出方法４を用いる場合には、関係性推定装置１００の入力となる３つ組は、｛フレーズ１、フレーズ２、接続表現｝又は｛フレーズ１、フレーズ２、関係ラベル｝となる。
【００６０】
学習部６３は、学習データ生成部６２で抽出した３つ組｛フレーズ１、フレーズ２、接続表現｝を学習における正解データとして用い、関係性推定モデルの学習を行う。
【００６１】
関係性推定モデルは前述したように、多層パーセプトロン等のニューラルネットワーク（以下ＮＮ）を用い、下記の方法で損失計算を行い、ＮＮのパラメタの更新を行うこととする。
【００６２】
なお、学習に用いるデータは、負例を足して用いる事とし、正例の３つ組の一つの要素をランダムに置き換えたものを負例とする。
【００６３】
（損失計算方法１）
上記の関係スコア計算方法１に対応して、以下の式で損失計算を行う。
【００６４】
【数１】
2019144706.tif 000003
【００６５】
ただし、score(h',t',r')は、負例のスコアを表す。Lossの計算は，hinge loss, sigmoid loss, softmax lossなどが利用可能である。
【００６６】
（損失計算方法２）
上記の関係スコア計算方法２に対応して、以下の式で損失計算を行う。
【００６７】
【数２】
2019144706.tif 000004
【００６８】
ただし、E_h'r'−E_t'は、負例のスコアを表す。Lossの計算は，hinge loss, sigmoid loss, softmax lossなどが利用可能である。
【００６９】
＜本発明の実施の形態に係る関係性推定モデル学習装置の作用＞
次に、本発明の実施の形態に係る関係性推定モデル学習装置１５０の作用について説明する。入力部５０において入力テキストを受け付けると、関係性推定モデル学習装置１５０は、図９に示す関係性推定モデル学習処理ルーチンを実行する。
【００７０】
まず、ステップＳ１００で、入力テキストに対して係り受け解析を行う。
【００７１】
そして、ステップＳ１０２で、入力テキストに対する係り受け解析結果に基づいて、フレーズを抽出する。
【００７２】
ステップＳ１０４では、上記ステップＳ１０２で抽出されたフレーズの組み合わせのうち、接続表現が含まれる文節と係り受け関係にあるフレーズを抽出し、｛フレーズ１、フレーズ２、接続表現｝からなる３つ組を作成する
【００７３】
ステップＳ１０６では、上記ステップＳ１０４で作成された３つ組に含まれるフレーズ１、フレーズ２、及びラベルの各々をベクトルに変換する。
【００７４】
そして、ステップＳ１０８では、３つ組｛フレーズ１、フレーズ２、接続表現｝をベクトルに変換した結果を、学習における正解データとして用い、関係性推定モデルの学習を行い、関係性推定モデル学習処理ルーチンを終了する。
【００７５】
＜本発明の実施の形態に係る関係性推定装置の作用＞
次に、本発明の実施の形態に係る関係性推定装置１００の作用について説明する。関係性推定モデル学習装置１５０によって予め学習された関係性推定モデルが関係性推定装置１００に入力されると、関係性推定装置１００は、関係性推定モデルを記憶部２２へ格納する。そして、入力部１０が、推定対象の３つ組｛フレーズ１、フレーズ２、接続表現｝を受け付けると、関係性推定装置１００は、図１０に示す関係性推定処理ルーチンを実行する。
【００７６】
ステップＳ１２０で、入力部１０により受け付けた３つ組に含まれるフレーズ１、フレーズ２、及びラベルの各々をベクトルに変換する。
【００７７】
ステップＳ１２２では、上記ステップＳ１２０で３つ組｛フレーズ１、フレーズ２、接続表現｝をベクトルに変換した結果と、関係性推定モデルとに基づいて、関係スコアを算出する。
【００７８】
ステップＳ１２４では、上記ステップＳ１２２で算出された関係スコアが所定の閾値以上であるか否かを判定することにより、フレーズ１とフレーズ２にはラベルが示す関係性があるか否かを判定し、判定結果を出力部４０により出力して、関係性推定処理ルーチンを終了する。
【００７９】
以上説明したように、本発明の実施の形態に係る関係性推定モデル学習装置によれば、入力テキストに対する係り受け解析結果に基づいて、フレーズ間の関係性を表わす接続表現が含まれる文節と係り受け関係にあるフレーズの組み合わせを抽出し、フレーズの組み合わせと接続表現又は関係ラベルとからなる３つ組を作成することにより、学習データの作成コストをかけることなく、フレーズ間の関係性を精度良く推定することができる関係性推定モデルを学習することができる。
【００８０】
また、上記抽出方法１または２を用いる場合には、入力テキストから接続表現を用いて抽出した３つ組のデータを学習データとして、フレーズのニューラル関係知識推定モデルを構築することにより、人手データなしに、接続表現に基づくニューラル関係性のモデル化が可能となる。また、人手の正解なしで，あらかじめ定めた関係ラベルと任意のフレーズの３つ組みに対する関係スコアを求めるモデルを構築することができる。
【００８１】
上記抽出方法２を用いる場合には、「ので」のような接続表現そのものではなく、「原因」のように抽象化した関係性の推定ができる。
【００８２】
また、上記抽出方法３を用いる場合には、接続表現と関係ラベルが一対一に対応しない場合（例えば、接続表現「ため」と関係ラベル「原因」「目的」）でも、人手で与えられたデータを元に間違いを訂正して学習できる。
【００８３】
また、上記抽出方法４を用いる場合には、「ので」のような接続表現そのものと、「原因」のように抽象化した関係の両方が推定ができる。また、抽出方法３の効果も得られる。人手対応づけラベルと、接続表現を混ぜるパタンでは、人手変換きる確実なラベルとそうでない場合を同時に考慮するモデルを作ることができる。
【００８４】
また、本発明の実施の形態に係る関係性推定装置によれば、フレーズ間の関係性を精度良く推定することができる。
【００８５】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８６】
例えば、上述した実施の形態では、関係性推定装置１００と関係性推定モデル学習装置１５０とを別々の装置として構成する場合を例に説明したが、関係性推定装置１００と関係性推定モデル学習装置１５０とを１つの装置として構成してもよい。
【００８７】
上述の関係性推定モデル学習装置及び関係性推定装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【符号の説明】
【００８８】
１０   入力部
２０   演算部
２１   推定部
２２   記憶部
４０   出力部
５０   入力部
６０   演算部
６２   学習データ生成部
６３   学習部
７１   基本解析部
７２   フレーズ抽出部
７３   接続表現データベース
９０   出力部
１００ 関係性推定装置
１５０ 関係性推定モデル学習装置
【図１】
2019144706.tif 000005
【図２】
2019144706.tif 000006
【図３】
2019144706.tif 000007
【図４】
2019144706.tif 000008
【図５】
2019144706.tif 000009
【図６】
2019144706.tif 000010
【図７】
2019144706.tif 000011
【図８】
2019144706.tif 000012
【図９】
2019144706.tif 000013
【図１０】
2019144706.tif 000014