(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022135517
(43)【公開日】2022-09-15
(54)【発明の名称】パラメタ最適化装置、パラメタ最適化方法、及びプログラム
(51)【国際特許分類】
G06F 40/216 20200101AFI20220908BHJP
G06F 40/211 20200101ALI20220908BHJP
G06N 20/00 20190101ALI20220908BHJP
【FI】
G06F40/216
G06F40/211
G06N20/00 130
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021035373
(22)【出願日】2021-03-05
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】平尾 努
(72)【発明者】
【氏名】永田 昌明
(72)【発明者】
【氏名】小林 尚輝
(72)【発明者】
【氏名】上垣外 英剛
(72)【発明者】
【氏名】奥村 学
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091AA15
5B091CA05
5B091EA01
(57)【要約】
【課題】大量の修辞構造アノテーション済みデータを用いることなく、性能の良い修辞構造解析器を実現する。
【解決手段】ラベルなしデータから複数の修辞構造解析器により得られた複数の修辞構造木において共通する部分木を、疑似正解データとして生成する疑似正解データ生成部と、前記疑似正解データ生成部により生成された前記疑似正解データを用いて、ニューラルネットワークを用いた修辞構造解析器のパラメタを最適化する事前学習部と、前記事前学習部により最適化された前記パラメタを、正解データを用いてファインチューニングするファインチューニング部とを備えるパラメタ最適化装置。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ラベルなしデータから複数の修辞構造解析器により得られた複数の修辞構造木において共通する部分木を、疑似正解データとして生成する疑似正解データ生成部と、
前記疑似正解データ生成部により生成された前記疑似正解データを用いて、ニューラルネットワークを用いた修辞構造解析器のパラメタを最適化する事前学習部と、
前記事前学習部により最適化された前記パラメタを、正解データを用いてファインチューニングするファインチューニング部と
を備えるパラメタ最適化装置。
【請求項2】
前記疑似正解データ生成部は、前記複数の修辞構造木において共通に出現するスパンがあるかどうかの判断を再帰的に実行することにより前記疑似正解データを生成する
請求項1に記載のパラメタ最適化装置。
【請求項3】
パラメタ最適化装置が実行するパラメタ最適化方法であって、
ラベルなしデータから複数の修辞構造解析器により得られた複数の修辞構造木において共通する部分木を、疑似正解データとして生成する疑似正解データ生成ステップと、
前記疑似正解データ生成ステップにより生成された前記疑似正解データを用いて、ニューラルネットワークを用いた修辞構造解析器のパラメタを最適化する事前学習ステップと、
前記事前学習ステップにより最適化された前記パラメタを、正解データを用いてファインチューニングするファインチューニングステップと
を備えるパラメタ最適化方法。
【請求項4】
コンピュータを、請求項1又は2に記載のパラメタ最適化装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機を用いて自動的に言語を処理する自然言語処理分野に属し、特に、EDU(Elementary Discourse Units)を葉とした木構造(修辞構造木)として文書を表す修辞構造解析技術に関連するものである。
【背景技術】
【0002】
文書の修辞構造解析を行って、修辞構造木を自動的に構築する様々な修辞構造解析器が提案されている。多くの修辞構造解析器は人間が用意した正解データ、すなわち、修辞構造を表すアノテーションが付与された文書を学習データとしたニューラルネットワークを利用して実現されている。
【0003】
例えば、非特許文献1に開示された技術では、スパンの2分割によって木構造を推定するネットワークのパラメタ、隣接するスパンに対する核性、関係ラベルを付与するネットワークのパラメタを、それぞれ正解データを用いて学習している。なお、核性ラベリングは分割された2つのスパンを「N-S」、「S-N」、「N-N」の3通りのいずれかに分類する問題に帰着し、関係ラベリングは「Elaboration,Background」などの全18種のいずれかのラベルに分類する問題に帰着する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Kobayashi Naoki, Tsutomu Hirao, Hidetaka Kamigaito, Manabu Okumura, Masaaki Nagata: Top-Down RST Parsing Utilizing Granularity Levels in Documents, AAAI-2020, pp. 8099-8106, (2020)
【発明の概要】
【発明が解決しようとする課題】
【0005】
修辞構造のアノテーションには多大なコストがかかるため大量の修辞構造アノテーション済みデータを用意することが困難であり、現状で最大規模のデータでも385文書しかない。よって、多くの修辞構造解析技術はデータスパースネスの問題に直面しており、特に18クラス分類問題を解かねばならない関係ラベリングの性能に問題がある。
【0006】
本発明は上記の点に鑑みてなされたものであり、大量の修辞構造アノテーション済みデータを用いることなく、性能の良い修辞構造解析器を実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術によれば、ラベルなしデータから複数の修辞構造解析器により得られた複数の修辞構造木において共通する部分木を、疑似正解データとして生成する疑似正解データ生成部と、
前記疑似正解データ生成部により生成された前記疑似正解データを用いて、ニューラルネットワークを用いた修辞構造解析器のパラメタを最適化する事前学習部と、
前記事前学習部により最適化された前記パラメタを、正解データを用いてファインチューニングするファインチューニング部と
を備えるパラメタ最適化装置が提供される。
【発明の効果】
【0008】
開示の技術によれば、大量の修辞構造アノテーション済みデータを用いることなく、性能の良い修辞構造解析器を実現するための技術が提供される。
【図面の簡単な説明】
【0009】
【
図3】疑似正解データ生成部を説明するための図である。
【
図5】アルゴリズム1の動作例を説明するための図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0011】
(修辞構造木について)
まず、本実施の形態において対象としている修辞構造木の例を説明する。修辞構造木は、それを構成する最小の談話基本単位であるEDUの系列(以降、スパンと呼ぶ)を修辞関係により結合し、より大きなスパンを構成するという操作を再帰的に繰り返すことによって得られる木である。
【0012】
木の葉はEDU(節に相当)のユニットであり、木のノードにはそれが支配するスパンの核性ラベルが付与される。結合される2つのスパン(兄弟スパン)の一方は重要な情報を持つ核となり、もう一方はそれを補足する衛星となる。例外的に双方が核となる場合もある。木の枝にはスパン間の修辞関係を表す関係ラベルが付与される。
【0013】
図1に修辞構造木の例を示す。図中のe
1~e
7がそれぞれEDUであり、S/Nがスパンの核性ラベル(Nが核でSが衛星)、Condition、Elaborationなどが兄弟スパンの間の関係ラベルである。関係ラベルは兄弟スパンの核性がSとNの組合せの場合、S側のスパンに対して与えられ、NとNとなる場合には双方のスパンに対して与えられる。ConditionやElaborationはSとNの組合せに対して与えられ、List、Same-UnitはNとNの組合せに与えられる。
【0014】
(実施の形態の概要)
本実施の形態では、パラメタ最適化装置100が、まず、既存の複数の修辞構造解析器を用いて大量のラベルなしデータを解析することである程度の頻度を保ったうえで多様なラベルを持つデータセットを構築する。次に、複数の修辞構造解析器から得られた複数の修辞構造木の間で共通する部分木を擬似正解データとして抽出する。そして、擬似正解データを用いてニューラルネットに基づく修辞構造解析器のパラメタを事前学習した後、正解データ(人手によるアノテーション済みデータ)を用いてパラメタをファインチューニングする。
【0015】
上記の処理により得られたパラメタを用いてニューラルネットワークに基づく修辞構造解析器を構成することにより、人手アノテーション済みデータはファインチューニングのみで使用すればよいため、大量の人手アノテーション済みデータを用いることなく、性能の良い修辞構造解析器を実現することができる。
【0016】
(装置構成例、動作概要)
図2に、本実施の形態におけるパラメタ最適化装置100の構成例を示す。
図2に示すようにパラメタ最適化装置100は、疑似正解データ生成部110、事前学習部120、ファインチューニング部130を備える。
【0017】
パラメタ最適化装置100は、1つのコンピュータで実装されてもよいし、複数のコンピュータで実装されてもよい。また、パラメタ最適化装置100のうちの一部又は全部の機能が、クラウド上の仮想マシンで実装されてもよい。疑似正解データ生成部110、事前学習部120、ファインチューニング部130をそれぞれ、疑似正解データ生成装置、事前学習装置、ファインチューニング装置と呼んでもよい。
【0018】
図2には、処理の流れも示されている。
図2に示すように、疑似正解データ生成部110は、ラベルなしデータから疑似正解データを生成し、事前学習部120が疑似正解データを用いてニューラルネットワークに基づく修辞構造解析器のパラメタを学習する。ファインチューニング部130は、事前学習部120により学習されたパラメタを初期値として、正解データ(人手アノテーション済みデータ)を用いてパラメタを再度学習する。
【0019】
以下、各部の処理内容を詳細に説明する。
【0020】
(疑似正解データ生成部110)
疑似正解データ生成部110は、複数の修辞構造解析器を用いてラベルなしデータを解析した結果から共通する部分木を合意木として生成し、それを擬似正解データとして事前学習部120へと渡す。
【0021】
図3を参照して疑似正解データ生成部110について説明する。
図3に示すように、疑似正解データ生成部110は、n個の修辞構造解析器と、合意木抽出部115を備える。
【0022】
n個の修辞構造解析器について、異なるn個の修辞構造解析器を使用してもよいし、同じ修辞構造解析器のハイパーパラメタを変更したものをn個使用してもよい。
【0023】
図3に示すように、n個の修辞構造解析器はそれぞれ、入力されたラベルなしデータを独立に解析し、各文書に対する修辞構造木を生成する。これにより、n個の修辞構造木が生成される。
【0024】
次に、合意木抽出部115がn個の修辞構造木の間で共通する部分木を抽出し、疑似正解データとして事前学習部120へ渡す。
【0025】
<合意木抽出部115の処理>
合意木抽出部115の処理内容を詳細に説明する。n個の修辞構造木の間で共通する部分木を抽出するアルゴリズム1を
図4に示す。アルゴリズム1は、合意木抽出部115が実行するプログラムに相当する。
【0026】
アルゴリズム1を実行する合意木抽出部115は、ある文書に対する異なるn個の修辞構造木を入力(trees)として受け取り、それらに共通する部分木(subtrees)を合意木として出力する。
【0027】
3行目に示される関数AGREEMENTは、ノードspanを頂点とした部分木が合意木であるか否かを判定する関数である。spanが葉の場合、AGREEMENTは真を返す(4行目、5行目)。
【0028】
それ以外の場合、関数AGREEMENTは、ノードspanの頻度がnの場合にScの値を真にし(7行目、8行目)、そうでない場合には偽にする(10行目)。なお、頻度とは、対象としているn個の修辞構造木における該当ノードspanの個数である。
【0029】
そして、ノードspanの左の子ノード、右の子ノードに対するAGREEMENTの値をそれぞれSl、Srに格納する(11行目、12行目)。Sc、Sl、Srの全てが真のとき、AGREEMENTは真を返し、それ以外は偽を返す(13~17行目)。
【0030】
2行目(及び18~33行目)の関数FINDROOTにより、SがTrueであるノード(スパン)を追加していくことで部分木を生成し、出力する。
【0031】
n個の修辞構造木のいずれか一つを対象として関数AGREEMENTをそのルートノードから順に深さ優先探索で適用していくことで合意木を得る。ただし、部分木のサイズを制御するため、葉の数に対して最小値lminと最大値lmaxの制約を導入する(21~26行目)。
【0032】
図5を参照して、n=2の場合における、アルゴリズム1に従って動作する合意木抽出部115の動作例を説明する。まず、
図5の左側に示す2つの木についてラベルも考慮してノードの頻度を数えておく。なお、ノードはスパン、つまりそれが支配するEDUの開始、終了インデックスを表す。
【0033】
図5の左側において、2つの修辞構造木の間で共通するノードは、下線を引いて示したノードである。
図5の左上の修辞構造木を取り出し、アルゴリズム1を適用する。
図5の右側に、左上の修辞構造木を取り出してアルゴリズム1が適用された際の各ノードでのS
c、S
l、S
r、Sが示されている。
【0034】
AGREEMENT(1,10)はスパン(1,10)の頻度が2であることからSc(1,10)をTrueにセットし、左の子供(1,4)と右の子供(5,10)に対してAGREEMENTを適用する。
【0035】
それぞれに対して、AGREEMENTを再帰的に適用し、S
cを決定していくと修辞構造木の葉(開始と終了インデックスが等しいスパン)に行き着くのでSの値はTrueにセットされる。つまり、アルゴリズム1では、複数の修辞構造木において共通に出現するスパンがあるかどうかの判断を再帰的に実行することとしている。そして、すでにセットしたS
cと左右のノードから決定されたS
l、S
rの値に基づき各ノードのSの値が決定される。
図5の右側の修辞構造木における下から上への矢印線は、各ノードのSの値が順次決定される様子を示している。あるノードについて、そのノードのSと、そのノードの下にある全てのノードのSがTrueである部分木が、そのノードを頂点とする合意木になる。
【0036】
図5の右側に示すように、本例ではスパン(1,4)を頂点とする部分木とスパン(5,7)を頂点とする部分木の2つの部分木が合意木として抽出される。例えばスパン(5,10)やスパン(8,10)は、S=Falseなので、それを頂点とする部分木は合意木にならない。ただし、包含関係にある合意木は最大のもののみを抽出する。
【0037】
(事前学習部120について)
次に、事前学習部120の構成例と処理内容を説明する。事前学習部120は、疑似正解データ生成部110から疑似正解データを受け取り、ニューラルネットワークのモデルに基づく修辞構造解析器のパラメタを学習する。本実施の形態では、どのようなニューラル修辞構造解析器を用いてもよいが、非特許文献1に開示されている技術を例として、ニューラルネットワークモデルに基づく修辞構造解析器のパラメタ最適化について説明する。なお、事前学習においてパラメタはランダムに初期化されているものとする。
【0038】
図6に、事前学習部120の構成例を示す。
図6に示すように、事前学習部120は、木構造推定部121、ラベル推定部122、及びパラメタ最適化部123を有する。以下、各部の処理内容について説明する。
【0039】
<木構造推定部121>
木構造推定部121は、スパンの分割点を推定することで木構造を推定する。任意のスパン(i番目のEDUからj番目のEDUからなるEDUの系列)に対し、k番目のEDUでスパンが分割されるスコアssplit(i;j;k)が以下の式で与えられる。
【0040】
【数1】
ここで、W
uは重み行列であり、v
l(添字lはLの小文字)とv
rはそれぞれ分割された左右のスパンに対する重みベクトルである。h
i:kとh
k+1:jは以下で定義される。
【0041】
hi:k=MLPleft(ui:k),hk+1:j=MLPright(uk+1:j)
上記式のMLP*は多層パーセプトロンを表す。スパンのベクトル表現ui:jは単語ベクトルをLSTMに入力することで得る。下記の式(2)に示すように、スパンは、下記の式(1)を最大にするkにて分割される。
【0042】
【数2】
<ラベル推定部122>
ラベル推定部122は、木構造推定部121が決定したスパンの分割点kに対し、分割した2つのスパンに対する核性、修辞関係ラベルを予測する。予測のスコアは以下の式で与えられる。
【0043】
【数3】
W
l(添字lはLの小文字)は重み行列であり、u
1:i;u
j:nはそれぞれi番目のEDUの左側のスパンのベクトル表現、j番目のEDUの右側のスパンのベクトル表現である。最終的に、以下の式(4)で式(3)を最大にするラベルが与えられる。
【0044】
【数4】
Lは、ラベル集合であり核性ラベルを付与する場合には3種のラベルからなる集合{N-S、S-N、N-N}であり、修辞ラベルを付与する場合には18種のラベルからなる集合{Elaboration,Condition,......}である。なお、W
lとMLPは核性ラベルを与える場合と修辞ラベルを与える場合とで独立に最適化される。
【0045】
<パラメタ最適化部123>
パラメタ最適化部123は、学習対象の全てのパラメタ、すなわち、Wu、Wl、vr、vl、LSTM、及びMLPのパラメタを、以下に定義する2つの損失関数の和を最小化することで得る。なお、k*とl*(lはLの小文字)はそれぞれ正解(ここでは疑似正解データ)の分割位置、ラベルである。
【0046】
【数5】
損失関数を最小化する演算については、誤差逆伝搬法等の既存手法を用いて行うことができる。そして、パラメタ最適化部123は、最適化したパラメタをファインチューニング部130へ渡す。
【0047】
<ファインチューニング部130>
ファインチューニング部130は、事前学習部120で最適化されたパラメタを初期値として正解データ(人手で作成したアノテーション済みデータ)を用いてニューラル修辞構造解析器のパラメタを再度最適化する。ファインチューニング部130は最適化されたパラメタを出力する。
【0048】
ファインチューニング部130の構成は
図6に示した事前学習部120の構成と同じである。ただし、ファインチューニング部130では、パラメタの初期値として、事前学習部120で最適化されたパラメタを使用する点と、正解データとして、疑似正解データではなく、人手で作成したアノテーション済みデータを用いる点が、事前学習部120と異なる。
【0049】
(装置のハードウェア構成例)
パラメタ最適化装置100、疑似正解データ生成部110、事前学習部120、ファインチューニング部130(これらを総称して「装置」と呼ぶ)はいずれも、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
【0050】
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0051】
図7は、上記コンピュータのハードウェア構成例を示す図である。
図7のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0052】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0053】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0054】
(実施の形態の効果)
以上説明したとおり、本実施の形態では、ラベルなしデータを複数の修辞構造解析器を用いて解析した結果から共通する部分木を擬似正解データとし、疑似正解データを用いてニューラル修辞構造解析器のパラメタを事前学習により最適化し、そのパラメタを初期値として正解データを用いてファインチューニングすることにより、ニューラル修辞構造解析器のパラメタを最適化することとした。
【0055】
これにより、ランダムな初期値から正解データ(大量に用意できないもの)のみを用いて最適化した場合よりも良いパラメタが得られ、ニューラル修辞構造解析器の性能が向上する。すなわち、大量の修辞構造アノテーション済みの正解データを用いることなく、性能の良い修辞構造解析器を実現することが可能となる。
【0056】
(実施の形態のまとめ)
本明細書には、少なくとも下記各項のパラメタ最適化装置、パラメタ最適化方法、及びプログラムが開示されている。
(第1項)
ラベルなしデータから複数の修辞構造解析器により得られた複数の修辞構造木において共通する部分木を、疑似正解データとして生成する疑似正解データ生成部と、
前記疑似正解データ生成部により生成された前記疑似正解データを用いて、ニューラルネットワークを用いた修辞構造解析器のパラメタを最適化する事前学習部と、
前記事前学習部により最適化された前記パラメタを、正解データを用いてファインチューニングするファインチューニング部と
を備えるパラメタ最適化装置。
(第2項)
前記疑似正解データ生成部は、前記複数の修辞構造木において共通に出現するスパンがあるかどうかの判断を再帰的に実行することにより前記疑似正解データを生成する
第1項に記載のパラメタ最適化装置。
(第3項)
パラメタ最適化装置が実行するパラメタ最適化方法であって、
ラベルなしデータから複数の修辞構造解析器により得られた複数の修辞構造木において共通する部分木を、疑似正解データとして生成する疑似正解データ生成ステップと、
前記疑似正解データ生成ステップにより生成された前記疑似正解データを用いて、ニューラルネットワークを用いた修辞構造解析器のパラメタを最適化する事前学習ステップと、
前記事前学習ステップにより最適化された前記パラメタを、正解データを用いてファインチューニングするファインチューニングステップと
を備えるパラメタ最適化方法。
(第4項)
コンピュータを、第1項又は第2項に記載のパラメタ最適化装置における各部として機能させるためのプログラム。
【0057】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0058】
100 パラメタ最適化装置
110 疑似正解データ生成部
115 合意木抽出部
120 事前学習部
121 木構造推定部
122 ラベル推定部
123 パラメタ最適化部
130 ファインチューニング部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置