(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-17
(45)【発行日】2023-11-28
(54)【発明の名称】論述構造推定方法、論述構造推定装置、および論述構造推定プログラム
(51)【国際特許分類】
G06F 40/35 20200101AFI20231120BHJP
【FI】
G06F40/35
(21)【出願番号】P 2020063359
(22)【出願日】2020-03-31
【審査請求日】2022-06-29
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】森尾 学
(72)【発明者】
【氏名】尾崎 太亮
(72)【発明者】
【氏名】是枝 祐太
(72)【発明者】
【氏名】森下 皓文
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2019-160259(JP,A)
【文献】栗林 樹生 外6名,複数の言語単位に対するスパン表現を用いた論述構造解析,言語処理学会第25回年次大会 発表論文集 [online],日本,言語処理学会,2019年03月04日,pp.990-993
【文献】伊藤 孝行 外5名,大規模合意形成支援システム -ICTによる議論の規模拡張,システム/制御/情報,日本,一般社団法人システム制御情報学会,2019年10月15日,第63巻 第10号,pp.440-446
【文献】森 幹彦 外2名,リフレクションのための逐語議事録を用いた議論の構造化法,2007年度人工知能学会全国大会(第21回)論文集 [CD-ROM],社団法人人工知能学会,2007年06月22日,pp.1-4
【文献】築山 将央 外3名,Visual Question Answeringのための多種質問回答生成とTransformerを用いたデータ拡張,電子情報通信学会技術研究報告 Vol.118 No.450 [online],日本,一般社団法人電子情報通信学会,2019年02月12日,第118巻 第450号,pp.91-96
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06F 16/00-958
(57)【特許請求の範囲】
【請求項1】
テキストの論述構造を推定する論述構造推定方法であって、
コンピュータが、
前記テキストに含まれる各文について、各文を構成する構成単位の順序を考慮したベクトル列の集約処理を行って、各文に対応する文ベクトル列を取得し、
前記文ベクトル列に対して
、双線形パラメータ
によって中間ニューロン数が定まる多層パーセプトロンを用いて各文ベクトル列のそれぞれを変換したベクトル表現のうちの任意の2つの該ベクトル表現について第1のベクトル表現の転置ベクトルと或るテンソルと第2のベクトル表現との積を算出し、各積から各ワンホットベクトルを生成する双線形注意モデルを用いて
、該各ワンホットベクトルを生成し、該各ワンホットベクトルに応じて各文の間の論述関係を推定し、木構造および非木構造を含む前記テキストの論述構造を推定する
各処理を含んだことを特徴とする論述構造推定方法。
【請求項2】
請求項1に記載の論述構造推定方法であって、
前記コンピュータが、
前記取得した文ベクトル列に対して、論述関係再帰パラメータ
によって中間ニューロン数および再帰深度が定まる再帰的
ニューラルネットワークを用いた更新処理を実行して、前記テキスト内における文脈を考慮した文ベクトル列へと更新し、
前記更新した文ベクトル列に対して
、前記双線形注意モデルを用いて各文の間の論述関係を推定し、木構造および非木構造を含む前記テキストの論述構造を推定する
ことを特徴とする論述構造推定方法。
【請求項3】
請求項2に記載の論述構造推定方法であって、
前記コンピュータが、
前記論述関係の推定に用いる前記構成単位の重要度を、論述関係注意集約パラメータ
によってニューロン数が定まる前記多層パーセプトロンを用いて該構成単位が前記論述構造を推定するために重要であるほど高く設定されるように計算し、該重要度に基づいた前記文ベクトル列を取得する
ことを特徴とする論述構造推定方法。
【請求項4】
請求項1に記載の論述構造推定方法であって、
前記コンピュータが、
前記テキスト内の各文の文種類の推定に用いる前記構成単位の重要度を、文種類注意集約パラメータ
によってニューロン数が定まる前記多層パーセプトロンを用いて該構成単位が前記文種類を推定するために重要であるほど高く設定されるように計算し、該重要度に基づいた、各文に対応する文種類推定用の文ベクトル列を取得し、
前記取得した文種類推定用の文ベクトル列に対して、文種類再帰パラメータ
によって定まる中間ニューロン数および再帰深度が定まる再帰的
ニューラルネットワークを用いた更新処理を実行し、前記テキスト内における文脈を考慮した文種類推定用の文ベクトル列へと更新
し、
前記更新した文種類推定用の文ベクトル列
を、文種類出力層パラメータ
によって中間ニューロン数が定まる前記多層パーセプトロンを用いてベクトル表現へと変換し、
該ベクトル表現からワンホットベクトルを生成し、該ワンホットベクトルに応じて前記テキストに含まれる各文の文種類を推定する
ことを特徴とする論述構造推定方法。
【請求項5】
請求項
4に記載の論述構造推定方法であって、
前記コンピュータが、
論述関係の推定に用いる前記構成単位の重要度を、論述関係注意集約パラメータ
によってニューロン数が定まる前記多層パーセプトロンを用いて該構成単位が前記論述構造を推定するために重要であるほど高く設定されるように計算し、該重要度に基づいて論述関係推定用の文ベクトル列を取得し、
前記取得した論述関係推定用の文ベクトル列に対して、論述関係再帰パラメータ
によって中間ニューロン数および再帰深度が定まる再帰的
ニューラルネットワークを用いた更新処理を実行し、前記テキスト内における文脈を考慮した論述関係推定用の文ベクトル列へと更新する
ことを特徴とする論述構造推定方法。
【請求項6】
請求項
5に記載の論述構造推定方法であって、
前記コンピュータが、
前記文脈を考慮した論述関係推定用の文ベクトル
列に対して、
前記双線形注意モデルを
用いて、前記テキストに含まれる各文の間の論述関係を推定する
ことを特徴とする論述構造推定方法。
【請求項7】
請求項
6に記載の論述構造推定方法であって、
前記コンピュータが、
前記推定した文種類
をノードとし、前記推定した論述関係
で各ノード間を接続するエッジと
して前記テキストの論述構造の推定結果を
表すグラフを構築する
ことを特徴とする論述構造推定方法。
【請求項8】
請求項
7に記載の論述構造推定方法であって、
前記コンピュータが、
前記推定した文種類
に対してより適切な組合せになるように前記推定した論述関係を修正、または、前記推定した論述関係
に対してより適切な組合せになるように前記推定した文種類を修正し、修正した文種類または論述関係に基づいて前記テキストの論述構造の推定結果を
表す前記グラフを構築する
ことを特徴とする論述構造推定方法。
【請求項9】
請求項
7に記載の論述構造推定方法であって、
前記コンピュータが、
前記推定した文種類と前記推定した論述関係とに基づいて構築した前記論述構造の推定結果
を表す前記グラフを、該文種類および該論述関係の何れか一方または両方に基づいて再構築する
ことを特徴とする論述構造推定方法。
【請求項10】
請求項1に記載の論述構造推定方法であって、
前記コンピュータが、
前記推定した論述関係を変換する変換アルゴリズムの指定を受け付け、
受け付けた前記変換アルゴリズムに応じて前記推定した論述関係を変換して前記テキストの論述構造の推定結果を
表すグラフを構築し、出力する
ことを特徴とする論述構造推定方法。
【請求項11】
請求項1に記載の論述構造推定方法であって、
前記コンピュータが、
確率の閾値の指定を受け付け、
前記推定した論述関係のうち、前記閾値以上の生成確率を持つ論述関係を採用して前記テキストの論述構造の推定結果を
表すグラフを構築し、出力する
ことを特徴とする論述構造推定方法。
【請求項12】
請求項
7に記載の論述構造推定方法であって、
前記コンピュータが、
前記推定した文種類に応じて、前記推定した論述関係のうちから採用すべき論述関係の制約の指定を受け付け、
前記制約に応じて前記テキストの論述構造の推定結果を
表すグラフを構築する
ことを特徴とする論述構造推定方法。
【請求項13】
テキストの論述構造を推定する論述構造推定装置であって、
前記論述構造推定装置は、プログラムを実行するプロセッサと前記プロセッサと協働する記憶デバイスとを有し、
前記プロセッサが、
前記テキストに含まれる各文について、各文を構成する構成単位の順序を考慮したベクトル列の集約処理を行って、各文に対応する文ベクトル列を取得し、
前記文ベクトル列に対して
、前記テキストに含まれる文の種類の数の中間ニューロン数を持つ多層パーセプトロンを用いて各文ベクトル列のそれぞれを変換したベクトル表現のうちの任意の2つの該ベクトル表現について第1のベクトル表現の転置ベクトルと或るテンソルと第2のベクトル表現との積を算出し、各積から各ワンホットベクトルを生成する双線形注意モデルを用いて
、該各ワンホットベクトルを生成し、該各ワンホットベクトルに応じて各文の間の論述関係を推定し、木構造および非木構造を含む前記テキストの論述構造を推定する
ことを特徴とする論述構造推定装置。
【請求項14】
テキストの論述構造を推定する論述構造推定装置としてコンピュータを機能させるための論述構造推定プログラムであって、
前記コンピュータに、
前記テキストに含まれる各文について、各文を構成する構成単位の順序を考慮したベクトル列の集約処理を行って、各文に対応する文ベクトル列を取得し、
前記文ベクトル列に対して
、前記テキストに含まれる文の種類の数の中間ニューロン数を持つ多層パーセプトロンを用いて各文ベクトル列のそれぞれを変換したベクトル表現のうちの任意の2つの該ベクトル表現について第1のベクトル表現の転置ベクトルと或るテンソルと第2のベクトル表現との積を算出し、各積から各ワンホットベクトルを生成する双線形注意モデルを用いて
、該各ワンホットベクトルを生成し、該各ワンホットベクトルに応じて各文の間の論述関係を推定し、木構造および非木構造を含む前記テキストの論述構造を推定する
各処理を実行させるための論述構造推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキストの論述構造推定技術に関する。
【背景技術】
【0002】
テキストに含まれる論述を介して相手に議論を試みたりすることがある。例えば、議論を行うためのオンライン掲示板において、オンライン掲示板の利用者が投稿を通して他の利用者に議論を試みる際には、主張やその主張の理由を論述的な文として組み立てる。それらの文には、事実や経験談等といった文の論述的な種類や、他の文に対する根拠づけといった論述構造が含まれている。
【0003】
このようなテキストにおける論述構造を推定することは、論述の執筆支援や自動要約、ソーシャルネットワーキングサービス(Social Networking Service:SNS)の解析といった応用が見込まれる。そこで近年、テキストに含まれる論述構造を推定することを目的とした論述構造推定システムの研究が進んでいる。
【0004】
このような論述構造推定システムには、機械学習手法、特に深層学習による論述構造推定の手法が用いられている。深層学習を用いた論述構造推定システムは、入力されたテキストを解析し、文の論述的役割(文種類)を分類し、文と文の間に存在する論述関係を推定する。深層学習を用いた論述構造推定システムは、また、テキストの各文に対応する文ベクトルを計算によって取得し、取得した文ベクトルを用いて文種類の推定を実施し、文ベクトルと他の文ベクトルとの演算を用いて、支持、攻撃、理由、および根拠といった文間の論述関係の推定を実施する。この時、論述構造推定システムは、文がノード、文の種類がノードのラベル、論述関係がエッジで構成される論述構造を利用者に提示する。
【0005】
非特許文献1の論述構造推定装置は、単語列で構成される文の列を入力とし、各文を文ベクトルに変換する機能と、文ベクトルの並びを考慮する文ベクトル列エンコード機能と、文ベクトル列エンコード機能によって更新された各文ベクトルを用いて文種類(文種類なし、主要主張、主張、および前提、の4種類)を推定し、かつ文と文の論述的な関係(論述関係あり、および論述関係なし、の2種類)を推定する論述構造出力部を持ち、論述構造を貪欲に探索し、推定された論述構造を利用者に提示する。
【先行技術文献】
【非特許文献】
【0006】
【文献】Peter Potash, Alexey Romanov, Anna Rumshisky. ‘Here’s My Point:Joint Pointer Architecture for Argument Mining’, In Proceedingsof the 2017 Conference on Empirical Methods in Natural Language Processing, Sep2017, pages 1364-1373; [online], [2019年12月20日検索], インターネット<URL: https://www.aclweb.org/anthology/D17-1143/>
【文献】Joonsuk Park, Claire Cardie. ‘A Corpus of eRulemaking User Commentsfor Measuring Evaluability of Arguments’, In Proceedings of the EleventhInternational Conference on Language Resources and Evaluation, May 2018, pages1623-1628; [online], [2019年12月20日検索], インターネット<URL:https://www.aclweb.org/anthology/L18-1257/>
【文献】Andrea Galassi, Marco Lippi, Paolo Torroni. ‘Argumentative LinkPrediction using Residual Networks and Multi-Objective Learning’, InProceedings of the 5th Workshop on Argument Mining, Nov 2018, pages 1-10;[online], [2019年12月20日検索], インターネット<URL:https://www.aclweb.org/anthology/W18-5201/>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来の論述構造解析装置が出力する論述構造は、主張の文がルートノード、前提の文がその他のノードで構成される木構造を仮定しているので、論述構造が木構造でない場合に対応できない。一方、実際の論述構造の形は、さまざまである。例えば、新聞記事のように専門家によって記述された論述は、一つの主張とその前提で構成される論述構造を成すことができ、結果として木構造に帰着できる場合もあるが、オンライン掲示板のように必ずしも専門家が記述しない論述においては、論述構造はより複雑かつ恣意的である。より具体的には、1つの文が他の複数の文を支持する論述関係は、木構造を明らかに満たさない。すなわち、あらゆるテキストに木構造を仮定した論述構造が適切とは限らない。
【0008】
実際に、非特許文献2は木構造を満たさない論述構造について言及しており、木構造を満たさない論述構造のデータを示している。したがって、非特許文献1の論述構造解析装置は、解析対象のテキストに含まれる論述が非特許文献2のように木構造を満たさない場合には、論述構造を正しく推定することができない。
【0009】
一方、非特許文献3では、同一の文ベクトル列エンコード機能から得た文ベクトルを用いて、文ベクトルの全てのペアの組合せを比較することで、木構造を満たさない論述構造を解析する機能について言及している。しかしながら、非特許文献3の演算ではテキスト全体の文脈を考慮していないため、高精度な解析は困難である。
【0010】
さらに、木構造を満たす論述構造と異なり、非木構造(多重辺を含まない有向グラフ)は、ノードから派生するエッジが可変個であるから、文種類の出力と論述関係の出力に相関が生まれにくい。非特許文献3では、文種類を出力するための文ベクトル表現と、論述関係を出力するための文ベクトル表現が区別されずに内在することになるから、文種類の推定性能の向上が、論述関係の推定性能の低下を招くというトレードオフの関係となる。そのため、文の種類と論述関係双方の性能を保ったまま論述構造の推定を行うことは困難である。
【0011】
本発明は、上記を考慮してなされたものであって、テキスト内の文の論述構造をより適切に推定することを一つの目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明において、一態様として、テキストの論述構造を推定する論述構造推定方法では、コンピュータが、前記テキストに含まれる各文について、各文を構成する構成単位の順序を考慮したベクトル列の集約処理を行って、各文に対応する文ベクトル列を取得し、前記文ベクトル列に対して双線形注意モデルを用いて各文の間の論述関係を推定し、木構造および非木構造を含む前記テキストの論述構造を推定する各処理を含むようにした。
【発明の効果】
【0013】
本発明によれば、テキスト内の文の論述構造をより適切に推定できる。
【図面の簡単な説明】
【0014】
【
図1】実施例1における論述構造推定装置の機能ブロック図の一例である。
【
図2】論述関係種類テーブルの一例を示す図である。
【
図3】実施例1における論述構造推定装置の処理を示すフローチャートである。
【
図4】入力テキストおよび表の一例を示す図である。
【
図5】実施例1における論述構造出力部の出力を制御する論述構造出力制御画面の一例を示す図である。
【
図6】実施例2における論述構造推定装置の機能ブロック図の一例である。
【
図7】実施例2における論述構造推定装置の処理を示すフローチャートである。
【
図8】実施例3における論述構造推定装置の機能ブロック図の一例である。
【
図10】実施例3における論述構造推定装置の処理を示すフローチャートである。
【
図11】パラメータ入力画面の一例を示す図である。
【
図12】実施例3における論述構造出力部の出力を制御する論述構造出力制御画面の一例を示す図である。
【
図13】実施例3の論述構造出力画面の一例を示す図である。
【
図14】論述構造推定装置を実現するコンピュータのハードウェア構成例である。
【発明を実施するための形態】
【0015】
本発明の実施例を、図面を使って詳細に説明する。以下において、同一または類似の要素および処理に同一の符号を付して差分を説明し、重複説明を省略する。また、後出の実施例では、既出の実施例との差分を説明し、重複説明を省略する。
【0016】
また、以下の説明および各図で示す構成および処理は、本発明の理解および実施に必要な程度で実施形態の概要を例示するものであり、本発明に係る実施の態様を限定することを意図する趣旨ではない。また、各実施例および各変形例は、本発明の趣旨を逸脱せず、整合する範囲内で、一部または全部を組合せることができる。
【0017】
また、以下の説明において、情報をテーブルやリストで説明することがあるが、情報はテーブルやリストに限らず、ドキュメントなどのその他の形式であってもよい。また、各種情報やパラメータは、揮発性または不揮発性の記憶装置に記憶される。
【0018】
以下の説明において、論述構造推定装置は、単語列で構成される文の列から成るテキストを入力として、テキストを解析して、テキストに含まれる論述構造を利用者に提示する。論述構造推定装置は、単語、句、フレーズ、完全文、文章など様々な単位で構成される文の列から成るテキストを解析対象とできる。また、テキストは英語を前提として説明をするが、他の言語であってもよい。この場合、論述構造推定装置は、その言語に応じた形態素解析を実行する。また、論述構造推定装置は、新聞記事、エッセイ、論文、報告書など様々な種別のテキストに適用できる。さらに、テキストの間に図表や写真などが挿入されていてもよい。
【実施例1】
【0019】
<実施例1の論述構造推定装置100の構成>
図1は、実施例1における論述構造推定装置100の機能ブロック図の一例である。本実施例1の論述構造推定装置100は、入力部101、パラメータ入力部102、単語ベクトル抽出部103、文ベクトル更新部104、論述関係双線形注意部105、双線形パラメータ105-1、論述構造出力部106、および論述関係種類テーブル106-1を含む。
【0020】
入力部101は、単語列で構成される文の列から成り立つテキスト、および単語に付属する品詞などの情報を入力として受け付ける。なお、文は、単語に限らず、どのような構成単位の列で構成されていてもよい。その場合、完全文、フレーズ、および語句などで構成される様々な文が考えられる。
【0021】
入力部101は、少なくとも1以上の単語を含む単語列で構成される文の列を入力テキスト501(
図4参照)として受け付け、入力テキスト501から生成した表502(
図4参照)を単語ベクトル抽出部103へ出力する。
【0022】
パラメータ入力部102は、双線形パラメータ105-1を入力として受け付ける。
【0023】
単語ベクトル抽出部103は、入力部101から受け付けた入力情報に基づいて、単語および単語に付属する情報に対する1または複数の特徴量を抽出し、各単語に対して、特徴量を結合して得られる特徴量を割り当てる。
【0024】
なお、本実施例では各単語に割り当てられる特徴量はN次元ベクトルとして説明するが、特徴量はどのような型であってもよい。その場合、特徴量の型は、実数、整数、多次元ユークリッド空間の元、およびテンソルなどといった場合が考えられる。
【0025】
また、1つの単語に対する特徴量が複数存在する場合は、複数の特徴量を1つに結合する方法として、加算、乗算、ベクトル結合、テンソル積などといった演算が考えられる。
【0026】
単語ベクトル抽出部103は、各単語ベクトルがN次元ベクトルで構成される単語ベクトル列を、文ベクトル更新部104へ出力する。
【0027】
文ベクトル更新部104は、単語ベクトル抽出部103から受け付けた単語ベクトル列の集約処理によって、各文に対応する文ベクトルへと変換し、論述の時系列に沿って文脈を考慮した再帰的な処理によって、新たな文ベクトル列を計算する。
【0028】
なお、単語ベクトル列の集約処理は、単語ベクトル列に対する、ベクトルの和、ベクトルの積、およびベクトルの結合などといった演算を用いた、単一の文ベクトルへの変換演算が考えられる。文ベクトル更新部104は、文ベクトル列を、論述関係双線形注意部105へ出力する。
【0029】
論述関係双線形注意部105は、文ベクトル更新部104から受け付けた文ベクトル列および双線形パラメータ105-1に基づいて、双線形演算の適用を実施し、入力テキスト501内の文と文の間の論述関係を推定する。論述関係双線形注意部105は、推定した論述関係を、論述構造出力部106へ出力する。
【0030】
論述構造出力部106は、論述関係双線形注意部105から受け付けた論述関係をもとに、論述構造の構築および論述構造の正しさをチェックし、適切な論述構造を出力する。論述構造出力部106は、適切な論述構造を出力する際、例えば、論述関係双線形注意部105が出力する論述関係の生成確率を用いて、確率が一定の閾値を超える論述関係を採用することが考えられる。
【0031】
また、論述構造出力部106は、論述関係種類テーブル106-1を照会し、当該の文と文の間の論述関係の種類を選択する。
図2に示すように、論述関係種類テーブル106-1には、例えば、「論述関係なし」、「理由」、「支持」、および「攻撃」といった論述関係の種類が一次元リストとして格納されている。
図4を参照して後述する文bと文aの間の論述関係は、例えば、後述の
図13に示すように、支持と分類される。
図2では、論述関係種類は4種類であるが、これに限るものではない。他には、例えば、理由、証拠、論拠、および反駁などの論述関係種類を用いてもよい。また、他には、論述関係あり、および論述関係なしの2種類でもよい。
【0032】
また、論述構造出力部106は、非木構造だけでなく、木構造や無向グラフへ変換した論述構造を出力することも可能である。このとき、例えば、Chu-Liu/Edmondアルゴリズムを用いて、非木構造を木構造へ変換するアルゴリズムを適用することや、有向グラフの向きに関する情報を削除し、無向グラフへ変換することが考えられる。
【0033】
<実施例1の論述構造推定装置100の処理>
図3は、実施例1における論述構造推定装置100の処理を示すフローチャートである。ステップS11では、入力部101が入力テキスト501の入力を受け付け、パラメータ入力部102が双線形パラメータ105-1の入力を受け付ける。そして、入力部101は、
図4に示すように、入力テキスト501から表502を生成する。
図4は、入力テキスト501と、入力テキスト501から生成された単語列で構成される文の列で成り立つ表502を示す。
【0034】
図4に示す例では、入力テキスト501は、3つの文で構成されている。例えば、入力テキスト501の3つの文に対して、出現順にa、b、およびcの文IDを割り振る。文ID:xの文を文xと呼ぶ。表502には、入力テキスト501の各文IDの文が単語に分かち書きされた結果が格納される。なお、分かち書きの方法はどのような手段であっても良い。この場合、例えば、空白による分割や、形態素解析ソフトウェアや、OSS(Open Source Software)を用いた解析や、独自の分かち書き機能など、を用いることができる。また、表502では単語を最小単位として分かち書きを実施しているが、分かち書きの最小単位はどのような文の構成単位であってもよい。例えば、文aの「I」「think」が「I think」のように単語を超える単位で分かち書きされていてもよい。
【0035】
図4に示す入力テキスト501は、図表を含んでもよいし、さらにはテキストに限定されず、例えば音声であってもよい。また、入力テキスト501の形式(フォーマット)は、特に限定されない。表502は、単語ベクトル抽出部103への入力として与えられる。
【0036】
図3に説明を戻す。ステップS11に続きステップS12では、単語ベクトル抽出部103は、入力部101から入力された表502に対して第一の変換および第二の変換を実施し、各単語ベクトルがN次元ベクトルで構成される単語ベクトル列を、文ベクトル更新部104へ出力する。以下、第一の変換および第二の変換の例について説明する。
【0037】
(第一の変換)
下記式(1)は、表502の文aを例として、単語ベクトル抽出部103における第一の変換の例を示す。
【0038】
【0039】
上記式(1)は、文aの各単語から特徴量を抽出し、各単語に対する単語ベクトルを割り当てる例を示している。特徴量がN次元ユークリッド空間の元(N次元ベクトル)で与えられるとすると、wiは単語iに対応する単語ベクトルを表す。この第一の変換では、例えば辞書を用いることにより、単語の種類に対して唯一の単語ベクトルを与える。単語の種類に対して唯一の単語ベクトルを与える場合には、例えば、文aの「has」と文bの「has」は常に同一の単語ベクトルである。
【0040】
一方、単語の種類に対して唯一の単語ベクトルを与えない場合には、文aの「has」と文bの「has」は同じベクトルとは限らない。例えば、文脈によって単語の意味が変化する場合は、同じ単語が同一の意味を持つことは適切でないから、異なる単語ベクトルが与えられる場合もある。
【0041】
この第一の変換で、単語をベクトル化することにより、後述の機械学習を効率的に行うことができる。
【0042】
(第二の変換)
下記式(2)は、表502の文aを例として、単語ベクトル抽出部103における第二の変換の例を示す。
【0043】
【0044】
第二の変換は、第一の変換の出力を入力とする。同一の添え字iの入力の単語ベクトルwiと出力の単語ベクトルhiが対応する。上記式(2)は、再帰的ニューラルネットワーク(Recurrent Neural Network:RNN)を用いた変換を示している。上記式(2)は、再帰的ニューラルネットワークにより、単語列の順序を考慮した単語ベクトル表現を計算することができる。第二の変換への入力は、単語の順序で並べた単語ベクトルwiの列、すなわち単語ベクトル列であり、N次元ユークリッド空間の元、すなわちN次元ベクトルで構成されるベクトル列である。出力は、M次元ユークリッド空間の元、すなわちM次元ベクトルで構成されるベクトル列である。
【0045】
上記式(2)で例示されたRNNは、より具体的には、Long Short-Term Memory(LSTM)やGated Recurrent Unit(GRU)であってもよい。
【0046】
ステップS12に続きステップS13では、文ベクトル更新部104は、ステップS12の出力である単語ベクトル列に対して集約処理を行って各文に対応する文ベクトルへ変換し、さらに文脈を考慮した文ベクトル列を計算する。以下、集約処理および文脈を考慮した文ベクトル列への変換を説明する。
【0047】
(集約処理)
下記式(3)は、文ベクトル更新部104における、単語ベクトル列の文ベクトル列への集約処理の例を示す。
【0048】
【0049】
上記式(3)の集約処理は、単語ベクトル抽出部103における第二の変換の出力を入力とする。上記式(3)は、ベクトルの加算を用いた集約演算によって、単語ベクトル列を文ベクトルへと変換する処理を実施している。出力はM次元ユークリッド空間の元、すなわちM次元ベクトルである。
【0050】
なお、上記式(3)では、ベクトルの加算を例示しているが、これに限定しない。例えば、このとき、先頭のベクトルの選択、末尾のベクトルの選択、ベクトルの平均化、要素積、乗算、最大値プーリング(Max Pooling)、平均値プーリング(Average Pooling)、および減算などの演算を用いることができる。
【0051】
また、文ベクトル更新部104は、後述の実施例2の単語ベクトル注意集約部204-1(
図6参照)のように、いわゆる注意機構を用いて集約処理を行ってもよい。
【0052】
(文脈を考慮した文ベクトル列の計算)
下記式(4)は、文ベクトル更新部104における、集約処理の出力の文ベクトルを入力として、テキストにおける大域的な文の流れ(文脈)を考慮した文ベクトル列を計算する処理を示す。
【0053】
【0054】
上記式(4)は、再帰的ニューラルネットワークを用いた変換を示している。上記式(4)により、再帰的ニューラルネットワークにより、入力テキスト501内における文の順序を考慮した文ベクトル表現を計算することができる。上記式(4)への入力は、文の順序で並べた文ベクトルの列、すなわち文ベクトル列であり、M次元ユークリッド空間の元、すなわちM次元ベクトルである。出力はL次元ユークリッド空間の元、すなわちL次元ベクトルである。上記式(4)で例示されたRNNは、より具体的には、LSTMやGRUであってもよい。
【0055】
なお、第一の変換、第二の変換、集約処理、および注意集約処理は、それぞれ、機械学習モデルによって実行される。さらに、これらの機械学習モデルは、文ベクトルを得るための文に関する特徴抽出器とみなすこともできる。第一の変換、第二の変換、集約処理、および注意集約処理の各処理により異なる特徴量が抽出されるため、各処理に対して、同一構成の異なる初期値の機械学習モデルを用意、または、異なる構成の機械学習モデルを用意し、機械学習を行う。この点については、他の実施例も同様である。
【0056】
ステップS13に続きステップS14では、論述関係双線形注意部105は、文ベクトル更新部104から受け付けた文ベクトル列、および双線形パラメータ105-1に基づいて、双線形演算の適用を実施し、文と文の間の論述関係を推定する。以下、論述関係の推定方法を説明する。
【0057】
(論述関係推定)
下記式(5)は、文aおよび文bを例として、論述関係双線形注意部105における論述関係への変換の例を示す。
【0058】
【0059】
上記式(5)は、論述関係双線形注意部105が、双線形注意(bilinear attention)を用いて、上記式(4)の出力を入力として、文aの文ベクトルと、文bの文ベクトルとの間の最も生成確率が高い論述関係を推定する処理を示す。上記式(5)のUはテンソルのパラメータである。上記式(5)の論述関係(a,b)は、順序性を考慮した入力テキスト501内の文のペアを網羅する。論述関係(a,b)は、論述関係に応じたone-hotベクトルである。
【0060】
上記式(5)において、上記式(4)の出力が、多層パーセプトロンを用いて、新たなベクトル表現へ変換される。one-hotベクトルへの変換は、いわゆるソフトマックス(softmax)関数を用いているが、sigmoidを用いてもよい。また、双線形注意は双アフィン注意であってもよい。
【0061】
これらの双線形注意モデルを用いた計算によって、文と文のペアに対する論述関係を推定することで、木構造を満たさない論述構造を推定することができる。
【0062】
ステップS14に続きステップS15では、論述構造出力部106は、論述関係双線形注意部105から受け付けた論述関係をもとに、論述構造の構築、および論述構造の正しさをチェックし、適切な論述構造を出力する。
【0063】
<実施例1の論述構造出力制御画面106a>
図5は、実施例1における論述構造出力部106の出力を制御する論述構造出力制御画面106aの一例を示す図である。論述構造出力制御画面106aは、利用者の入力操作による、変換アルゴリズムの指定を受け付ける。論述構造出力制御画面106aは、変換アルゴリズムとして、論述構造出力部106が出力する論述関係の種類の指定を受け付ける。
図5の例では、論述関係を、非木構造だけでなく、木構造および無向グラフへ変換した論述構造を出力するように指定できる。
【0064】
また、論述構造出力制御画面106aは、論述関係双線形注意部105から受け付ける論述関係の確率の閾値の指定を受け付ける。例えば論述関係の確率の閾値を0.5にすると、50%以上の生成確率を持つ論述関係を論述構造出力部106が採用する。
【0065】
論述構造出力部106は、論述構造出力制御画面106aを介して受け付けた指定に基づいて、論述関係双線形注意部105の出力結果を、適切な論述構造に変換することができる。
【0066】
<実施例1の効果>
本実施例によれば、単語列で構成される文の列で成り立つテキストを入力として、単語の特徴量を抽出し、単語の特徴量から文ベクトル列を求め、双線形注意計算によって、木構造および非木構造を含む論述構造推定を実現できる。
【実施例2】
【0067】
<実施例2の論述構造推定装置200の構成>
図6は、実施例2における論述構造推定装置200の機能ブロック図の一例である。論述構造推定装置200は、入力部101、パラメータ入力部202、単語ベクトル抽出部103、文ベクトル注意更新部204、論述関係双線形注意部105、双線形パラメータ105-1、論述構造出力部106、および論述関係種類テーブル106-1を含む。
【0068】
また、文ベクトル注意更新部204は、単語ベクトル注意集約部204-1、文ベクトル更新部204-2、論述関係注意集約パラメータ204-3、論述関係再帰パラメータ204-4を含む。
【0069】
パラメータ入力部202は、論述関係注意集約パラメータ204-3、論述関係再帰パラメータ204-4、および双線形パラメータ105-1を入力として受け付ける。
【0070】
文ベクトル注意更新部204は、単語ベクトル抽出部103から受け付けた単語ベクトル列を、単語ベクトル注意集約部204-1によって、各文に対応する文ベクトルへと変換し、文ベクトル更新部204-2によって、新たな文ベクトル列を計算する。
【0071】
論述構造の推定に関して、一般的に、テキストに含まれる論述的な単語の重要度が高くなる。このとき、例えば、「because」、「as」、「therefore」、「agree」、および「think」といった論述構造を推定する上で重要な単語の単語ベクトルに対する重みが高く設定されるべきである。
【0072】
そこで、単語ベクトル注意集約部204-1は、論述関係注意集約パラメータ204-3に応じて各単語ベクトルの重要度を計算し、重要度を考慮して単語ベクトルを単一の文ベクトルへと集約する。論述関係注意集約パラメータ204-3は、重要度の算出に必要なニューロン数を決定するための、機械学習モデルのパラメータである。
【0073】
また、文ベクトル更新部204-2は、論述関係再帰パラメータ204-4に応じた再帰深度で、単語ベクトル注意集約部204-1によって集約された文ベクトルから文脈情報を抽出し、文脈を考慮した文ベクトル列へと更新する。このとき、例えば、文ベクトル更新部204-2は、「because→i→think」といった論述文の流れを考慮した文脈情報を抽出する。文ベクトル注意更新部204は、このようにして得られた文ベクトル列を、論述関係双線形注意部105へ出力する。
【0074】
<実施例2の論述構造推定装置200の処理>
図7は、実施例2における論述構造推定装置200の処理を示すフローチャートである。ステップS21では、入力部101が入力テキスト501の入力を受け付け、パラメータ入力部202が双線形パラメータ105-1、論述関係注意集約パラメータ204-3、および論述関係再帰パラメータ204-4の入力を受け付ける。入力部101は、入力テキスト501から表502を生成する。
【0075】
次のステップS22は、実施例1のステップS12(
図3参照)と同様である。次にステップS23では、単語ベクトル注意集約部204-1は、単語ベクトル抽出部103の出力である単語ベクトル列に対して、注意機構を用いた注意集約処理を実施し、単語の重要度を考慮して文ベクトルへ集約する。
【0076】
下記式(6)は単語ベクトル注意集約部204-1において、注意機構を用いた注意集約処理の例を示す。
【0077】
【0078】
上記式(6)は、単語ベクトル注意集約部204-1における、注意集約処理の例を示す。添え字と出力形式は式(3)と同様である。上記式(6)は多層パーセプトロン(Multi-Layered Perceptron:MLP)を用いた変換を例示しているがこれに限定しない。vは多層パーセプトロンの演算に必要なパラメータである。多層パーセプトロンは、全結合層を含むパーセプトロンである。多層パーセプトロンを注意集約処理に用いる場合は、その活性化関数には、sigmoid、tanh、およびReLuなどを用いることができる。このような注意集約処理を用いることで、論述構造推定に重要な単語ベクトルの重みを算出し、重みを考慮した文ベクトルを計算することができる。
【0079】
次にステップS24では、文ベクトル更新部204-2は、単語ベクトル注意集約部204-1によって注意機構を用いて単語ベクトル列が集約された文ベクトルから、上記式(4)により、論述関係再帰パラメータ204-4に応じた再帰深度で文脈情報を抽出し、文脈を考慮した文ベクトル列へと更新する。
【0080】
次のステップS25およびS26は、実施例1のステップS14およびS15と同様である。
【0081】
<実施例2の効果>
本実施例によれば、単語列で構成される文の列で成り立つテキストを入力として、単語の特徴量を抽出し、各単語ベクトルの論述的な重要度を陽に計算することで、論述の性質に着目した文のベクトル列を求め、双線形注意計算によって、木構造および非木構造を含む論述構造推定を、より精度を向上させて実現できる。また、各単語ベクトルの論述的な重要度に基づく論述の性質に着目した文ベクトル列を計算することによって、論述構造の推定結果の根拠や解釈性を与えることができる。
【実施例3】
【0082】
実施例2で言及した注意集約処理は、出力目的に応じて区別することができる。より具体的には、実施例3では、文種類および論述関係の2つの出力目的を区別することで、文種類推定用の文ベクトル列および論述関係推定用の文ベクトル列を計算することで、出力目的に適した文ベクトル列を計算する。
【0083】
<実施例3の論述構造推定装置300の構成>
本実施例では、実施例1および2における論述関係の推定に加えて、文種類の推定を行い、論述関係および文種類を含んだ論述構造推定を実施する。
図8は、実施例3における論述構造推定装置300の機能ブロック図の一例である。
【0084】
論述構造推定装置300は、入力部101、パラメータ入力部302、単語ベクトル抽出部103、文ベクトル注意更新部304、論述関係双線形注意部305、双線形パラメータ105-1、文種類出力部305a、文種類出力層パラメータ305-1、論述構造出力部306、文種類テーブル306-1、および論述関係種類テーブル106-1を含む。
【0085】
また、文ベクトル注意更新部304は、単語ベクトル注意集約部(文種類)304-1、文ベクトル更新部(文種類)304-2、文種類注意集約パラメータ304-3、文種類再帰パラメータ304-4、単語ベクトル注意集約部(論述関係)304-5、文ベクトル更新部(論述関係)304-6、論述関係注意集約パラメータ204-3、および論述関係再帰パラメータ204-4を含む。
【0086】
パラメータ入力部302は、文種類注意集約パラメータ304-3、文種類再帰パラメータ304-4、論述関係注意集約パラメータ204-3、論述関係再帰パラメータ204-4、双線形パラメータ105-1、および文種類出力層パラメータ305-1を入力として受け付ける。
【0087】
文ベクトル注意更新部304は、文種類の推定と論述関係の推定をそれぞれ実施するために必要な文ベクトル列を計算する。
【0088】
単語ベクトル注意集約部(文種類)304-1は、単語ベクトル抽出部103から受け付けた単語ベクトル列の各単語ベクトルの重要度を、文種類注意集約パラメータ304-3に応じて算出する。そして、単語ベクトル注意集約部(文種類)304-1は、単語ベクトル抽出部103から入力された各文に対応する単語ベクトル列を、各単語ベクトルの重要度を考慮して単一の文ベクトルへと集約する。このとき、例えば、「disagree」および「should」といった単語を含む文は主観的な意見を反映する文種類が割り当てられることが推認されるから、このような単語の単語ベクトルに対する重みを高く設定する。
【0089】
文ベクトル更新部(文種類)304-2は、単語ベクトル注意集約部(文種類)304-1によって集約された文ベクトルから、文種類再帰パラメータ304-4に応じた再帰深度で文脈情報を抽出し、文脈を考慮した文種類推定用の文ベクトル列を計算する。このとき、例えば、文ベクトル更新部(文種類)304-2は「disagree→should」といった文種類の流れを考慮した文脈情報を抽出する。文ベクトル更新部(文種類)304-2は、文種類推定用の文ベクトル列を文種類出力部305aへ出力する。
【0090】
また、単語ベクトル注意集約部(論述関係)304-5は、単語ベクトル抽出部103から受け付けた単語ベクトル列の各単語ベクトルの重要度を、論述関係注意集約パラメータ204-3に応じて算出する。そして、単語ベクトル注意集約部(論述関係)304-5は、単語ベクトル抽出部103から入力された各文に対応する単語ベクトル列を、論述関係の推定に必要な重要度を考慮した文ベクトルへと集約する。このとき、例えば、「because」、および「therefore」といった単語を含む文は理由を反映する論述関係が割り当てられることが推認されるから、このような単語の単語ベクトルに対する重みを高く設定する。
【0091】
文ベクトル更新部(論述関係)304-6は、単語ベクトル注意集約部(論述関係)304-5によって集約された文ベクトルから、論述関係再帰パラメータ204-4に応じた再帰深度で文脈情報を抽出し、文脈を考慮した論述関係推定用の文ベクトル列を計算する。このとき、例えば、文ベクトル更新部(論述関係)304-6は「therefore→however」といった論述関係の流れを考慮した文脈情報を抽出する。文ベクトル更新部(論述関係)304-6は、論述関係推定用の文ベクトル列を論述関係双線形注意部305へ出力する。
【0092】
論述関係双線形注意部305は、文ベクトル更新部(論述関係)304-6から受け付けた論述関係推定用の文ベクトル列、および双線形パラメータ105-1に基づいて、論述関係を推定する。
【0093】
また、文種類出力部305aは、文ベクトル更新部(文種類)304-2から受け付けた文種類推定用の文ベクトル列、および文種類出力層パラメータ305-1に基づいて、文種類を推定する。
【0094】
論述構造出力部306は、論述関係双線形注意部305から受け付けた論述関係、および文種類出力部305aから受け付けた文種類をもとに、論述構造の構築、および論述構造の正しさをチェックし、適切な論述構造を出力する。適切な論述構造として、例えば、論述関係双線形注意部305が出力する論述関係の生成確率を用いて、確率が閾値を超える論述関係を採用することが考えられる。
【0095】
論述構造出力部306は、文種類テーブル306-1を照会し、当該文の文種類を選択する。
図9に示すように、文種類テーブル306-1には、例えば、「文種類なし」、「意見」、「事実」、および「経験談」といった文種類が一次元リストとして格納されている。例えば
図4に示す文aに対する論述種類は、例えば、後述の
図13に示すように、意見と分類される。
図9では、文種類は4種類だが、これに限るものではない。他には、例えば、主張、前提、指示、および参照などの文種類を用いてもよい。また、他には、文種類あり、および文種類なしの2種類でもよい。
【0096】
また、論述構造出力部306は、実施例1および2の論述構造出力部106と同様に、論述関係種類テーブル106-1を照会し、当該の文と文の間の論述関係の種類を選択する。
【0097】
詳細は
図12を参照して後述するが、論述構造出力部306は、非木構造だけでなく、木構造、および無向グラフへ変換した論述構造を出力することも可能である。このとき、例えば、Chu-Liu/Edmondアルゴリズムを用いて、非木構造を木構造へ変換するアルゴリズムを適用することや、有向グラフの向きに関する情報を削除し、無向グラフへ変換することが考えられる。
【0098】
また、論述構造出力部306は、文種類出力部305aから受け付けた文種類を用いて、論述構造に制約をかけることもできる。このとき、例えば、文種類が事実の文から、他の事実への文に論述関係が存在しないと仮定するとすれば、論述関係双線形注意部305が出力する結果に事実と事実の間の論述関係が誤って含まれていたとしても、この誤った論述関係を除外することができる。
【0099】
<実施例3の論述構造推定装置300の処理>
図10は、実施例3における論述構造推定装置300の処理を示すフローチャートである。ステップS31では、入力部101が入力テキスト501の入力を受け付け、パラメータ入力部302が双線形パラメータ105-1、論述関係注意集約パラメータ204-3、論述関係再帰パラメータ204-4、文種類注意集約パラメータ304-3、文種類再帰パラメータ304-4、文種類出力層パラメータ305-1の入力を受け付ける。パラメータ入力部302は、
図11に示すパラメータ入力画面302aを介して、各種パラメータの入力を受け付ける。入力部101は、入力テキスト501から表502を生成する。
【0100】
図11に示すパラメータ入力画面302aにおいて、文種類注意集約パラメータ304-3は、利用者により指定された、後述の式(7)におけるvのニューロン数である。また、文種類再帰パラメータ304-4は、利用者により指定された、後述の式(8)におけるRNNの中間ニューロン数およびRNNの再帰深度(スタック数)である。また、文種類出力層パラメータ305-1は、利用者により指定された、後述の式(9)における多層パーセプトロンの中間ニューロン数である。また、論述関係注意集約パラメータ204-3は、利用者により指定された、後述の式(11)におけるvのニューロン数である。また、論述関係再帰パラメータ204-4は、利用者により指定された、後述の式(12)におけるRNNの中間ニューロン数およびRNNの再帰深度(スタック数)である。また、双線形パラメータ105-1は、利用者により指定された式(5)および後述の式(13)における多層パーセプトロンの中間ニューロン数である。
【0101】
次のステップS32は、実施例1のステップS12(
図3参照)と同様である。次にステップS33aでは、単語ベクトル注意集約部(文種類)304-1は、単語ベクトル抽出部103から受け付けた単語ベクトル列の各単語ベクトルの重要度を、文種類注意集約パラメータ304-3に応じて算出する。そして、単語ベクトル注意集約部(文種類)304-1は、単語ベクトル抽出部103から入力された各文に対応する単語ベクトル列を、各単語ベクトルの重要度を考慮して単一の文ベクトルへと集約する。
【0102】
下記式(7)は、論述構造推定装置300における単語ベクトル注意集約部(文種類)304-1の集約処理の一例を示す。
【0103】
【0104】
上記式(7)は、単語ベクトル注意集約部(文種類)304-1における注意集約処理の例を示す。添え字と、変換処理とは式(6)と同様である。出力はL(文種類)次元ユークリッド空間の元、すなわちL(文種類)次元ベクトルである。
【0105】
このような文種類推定用の注意集約処理を用いることで、文種類の推定に重要な単語ベクトルの重みを算出し、重みを考慮した文種類推定用の文ベクトルを計算することができる。
【0106】
ステップS33aに続くステップS34aでは、文ベクトル更新部(文種類)304-2は、単語ベクトル注意集約部(文種類)304-1によって集約された文ベクトルから、文種類再帰パラメータ304-4に応じた再帰深度で文脈情報を抽出する。そして、文ベクトル更新部(文種類)304-2は、抽出した文脈情報に基づいて文種類推定用の文ベクトル列を計算し、文種類出力部305aへ出力する。
【0107】
文種類推定用の文ベクトル列は、上記式(4)と同様にして、文脈を考慮した文ベクトル列の更新を行うこともできる。下記式(8)は、文ベクトル更新部(文種類)304-2における文ベクトル列の更新の例を示す。
【0108】
【0109】
上記式(8)は、上記式(7)の出力の文ベクトルを入力として、文種類の推定に必要な、大域的な文の流れ(文脈)の情報を考慮した文ベクトルへと変換する処理を示す。出力はL(文種類)次元ユークリッド空間の元、すなわちL(文種類)次元ベクトルである。上記式(8)は、再帰的ニューラルネットワークを用いた変換を示している。上記式(8)で例示されたRNNは、より具体的には、LSTMやGRUであってもよい。
【0110】
次のステップS35aでは、文種類出力部305aは、文ベクトル更新部(文種類)304-2から受け付けた文種類推定用の文ベクトル列および文種類出力層パラメータ305-1に基づいて、文種類を推定する。
【0111】
下記式(10)は、文aを例として、文種類出力部305aにおける文種類への変換の処理の一例を示す。
【0112】
【0113】
上記式(9)は、式(8)の出力を入力として、文ベクトルを文種類に応じたone-hotベクトル、すなわち最も生成確率が高い文種類(a)へ変換する処理を示す。式(8)の出力は、one-hotベクトルへと変換する前に、多層パーセプトロンを用いて、文種類の数のニューロン数を持つベクトル表現へ変換される。one-hotベクトルへの変換は、いわゆるソフトマックス(softmax)関数を用いているが、sigmoidを用いてもよい。
【0114】
なお、下記式(10)は、文aを例として、上記式(4)の出力を入力とした場合に、文ベクトルを文種類に応じたone-hotベクトル、すなわち最も生成確率が高い文種類(a)へ変換する処理の一例を示す。上記式(4)の出力は、one-hotベクトルへと変換する前に、多層パーセプトロンを用いて、文種類の数のニューロン数を持つベクトル表現へ変換される。one-hotベクトルへの変換は、いわゆるソフトマックス(softmax)関数を用いているが、sigmoidを用いてもよい。
【0115】
【0116】
一方、ステップS33bでは、単語ベクトル注意集約部(論述関係)304-5は、単語ベクトル抽出部103から受け付けた単語ベクトル列の各単語ベクトルの重要度を、論述関係注意集約パラメータ204-3に応じて算出する。そして、単語ベクトル注意集約部(論述関係)304-5は、単語ベクトル抽出部103から入力された各文に対応する単語ベクトル列を、論述関係の推定に必要な重要度を考慮して文ベクトルへと集約する。
【0117】
下記式(11)は、論述構造推定装置300における単語ベクトル注意集約部(論述関係)304-5の処理の一例を示す。
【0118】
【0119】
上記式(11)において、上添え字と、変換処理とは、上記式(7)と同様である。出力はL(論述関係)次元ユークリッド空間の元、すなわちL(論述関係)次元ベクトルである。
【0120】
このような論述関係推定用の注意集約処理を用いることで、論述関係の推定に重要な単語ベクトルの重みを算出し、重みを考慮した論述関係推定用の文ベクトルを計算することができる。
【0121】
次にステップS34bでは、文ベクトル更新部(論述関係)304-6は、上記式(4)と同様にして、単語ベクトル注意集約部(論述関係)304-5によって集約された文ベクトルから、文脈を考慮した論述関係推定用の文ベクトル列を計算する。下記式(12)は、文ベクトル更新部(論述関係)304-6における更新の例を示す。
【0122】
【0123】
上記式(12)は、上記式(11)の出力の文ベクトルを入力として、論述関係の推定に必要な、大域的な文の流れ(文脈)の情報を考慮した文ベクトルへと変換する処理を示す。出力はL(論述関係)次元ユークリッド空間の元、すなわちL(論述関係)次元ベクトルである。上記式(12)は、再帰的ニューラルネットワークを用いた変換を示している。上記式(9)で例示されたRNNは、より具体的には、LSTMやGRUであってもよい。
【0124】
次にステップS35bでは、論述関係双線形注意部305は、文ベクトル更新部(論述関係)304-6から受け付けた論述関係推定用の文ベクトル列および双線形パラメータ105-1に基づいて、論述関係を推定する。
【0125】
下記式(13)は、上記式(12)の出力を入力として、文ベクトルを論述関係に応じたone-hotベクトル、すなわち最も生成確率が高い論述関係(a,b)へ変換する処理を示す。
【0126】
【0127】
上記式(12)の出力は、上記式(13)によって、多層パーセプトロンを用いて、新たなベクトル表現へ変換される。one-hotベクトルへの変換は、いわゆるソフトマックス(softmax)関数を用いているが、sigmoidを用いてもよい。また、双線形注意は双アフィン注意(biaffine attention)であってもよい。上記式(13)の論述関係(a,b)は、順序性を考慮した入力テキスト501内の文のペアを網羅する。
【0128】
ステップS35aおよびS35bに続いて、ステップS36では、論述構造出力部306は、文種類出力部305aから受け付けた文種類と、論述関係双線形注意部305から受け付けた論述関係をもとに、入力テキスト501の論述構造の推定結果を構築する。論述構造出力部306は、文種類出力部305aから受け付けた文種類および論述関係双線形注意部305から受け付けた論述関係に基づいて、論述構造の正しさをチェックする。
【0129】
なお、論述構造出力部306は、文種類出力部305aから受け付けた文種類を考慮して、論述関係双線形注意部305から受け付けた論述関係をより適切なものになるように修正してもよい。また、論述構造出力部306は、論述関係双線形注意部305から受け付けた論述関係を考慮して、文種類出力部305aから受け付けた文種類をより適切なものになるように修正してもよい。このように、論述構造出力部306は、文種類と論述関係の不適切な組み合わせを、より適切な組み合わせとなるように、利用者の指定や過去の学習結果などの予め用意された情報に基づいて、文種類または論述関係を修正する。そして、論述構造出力部306は、修正した文種類または論述関係に基づいて、より適切な論述構造の推定結果を出力する。
【0130】
または、論述構造出力部306は、文種類出力部305aから受け付けた文種類と、論述関係双線形注意部305から受け付けた論述関係とに基づいて構築した論述構造の推定結果を、文種類および論述関係の何れか一方または両方に基づいてより適切な論述構造となるように再構築してもよい。
【0131】
なお、文種類への変換および論述関係への変換は、それぞれ、機械学習モデルによって実行される。文種類への変換および論述関係への変換の各処理に対して、同一構成の異なる初期値の機械学習モデルを用意、または、異なる構成の機械学習モデルを用意し、機械学習を行う。この点については、他の実施例も同様である。
【0132】
<論述構造出力制御画面例>
図12は、実施例3における論述構造出力部306の出力を制御する論述構造出力制御画面306aの一例を示す図である。
図12では、論述構造出力制御画面306aは、論述構造出力制御画面106a(
図5参照)と比較して、さらに、文種類の出力結果に応じて採用すべき論述関係の指定を受け付ける点が異なる。
【0133】
図12に示す例では、“文種類に応じた制約”として“事実→意見”、“経験談→意見”、“意見→意見”の3種類の制約を設けている。例えば“事実→意見”は、文種類が“事実”と“意見”の文は、“事実→意見”の論述関係を採用すべきとする制約を表す。“文種類に応じた制約”は、
図12の例示に限らず、利用者の指定がどのような制約であってもよい。また、論述構造出力制御画面306aにおいて、“文種類に応じた制約”では、テキストで制約を指定しているが、表や数式で制約が指定されてもよい。これにより、論述構造の推定精度を高めることができる。
【0134】
<論述構造出力画面例>
図13は、実施例3の論述構造出力画面306bの一例を示す図である。論述構造出力画面306bは、
図4に例示する表502を入力とした場合に構築された論述構造の推定結果の出力の一例である。
図13では、論述構造出力画面306bにおける表示306a-1は、論述構造出力部306によって推定された論述構造を有向グラフの形式で表示する。グラフのノードは文種類、有向エッジには論述関係を表示する。
【0135】
また、論述構造出力画面306bは、表示306a-2のように表の形式で出力されてもよい。このとき、項目名には文ID、文種類、および論述関係を含む。表示306a-2において、文種類の項目は、当該文IDに対して推定された文種類を出力し、表示306a-2において、論述関係の項目は、当該文IDに対して推定された流出エッジの論述関係を出力する。表示306a-2では、論述関係は、例えば、「aを支持」のように自然言語で記述しているが、どのような記述方法であってもよい。また、表示306a-2が、単一の表であっても、複数の表に分割されていてもよい。
【0136】
また、論述構造出力画面306bや、論述構造出力画面306bが分割された複数の表において、他の情報や項目名を含んでもよい。なお、論述構造出力画面306bにおいて、“文種類”を除いたものが、実施例1および2による論述構造の出力となる。
【0137】
<実施例3の効果>
本実施例では、単語列で構成される文の列で成り立つテキストを入力として、単語の特徴量を抽出し、文種類の推定と、論述関係の推定を、それぞれの論述的性質に考慮しながら、文種類推定用の文ベクトル列と、論述関係推定用の文ベクトル列を求める。そして、文種類用の文ベクトル列からは文種類を計算し、論述関係推定用の文ベクトル列からは、双線形注意計算によって、木構造および非木構造を含む論述構造推定を実現できる。
【0138】
このように、本実施例では、文種類および論述関係の2つの出力目的に応じて注意集約処理を区別し、文種類推定用の文ベクトル列、および論述関係推定用の文ベクトル列を計算するように、出力目的に適した文ベクトル列を計算することができる。
【0139】
<論述構造推定装置を実現するコンピュータ400のハードウェア構成例>
図14は、論述構造推定装置100、200、および300を実現するコンピュータ400のハードウェア構成例である。コンピュータ400は、プロセッサ401と、記憶デバイス402と、入力デバイス403と、出力デバイス404と、通信インタフェース(IF)405と、を有する。上記構成要素は、バス406によって互いに接続される。
【0140】
プロセッサ401は、コンピュータ400を制御する。記憶デバイス402は、プロセッサ401の作業領域となる。記憶デバイス402は、プログラム、およびデータを記録する非一時的、または一時的な記憶媒体である。記憶デバイス402は、記憶媒体であればどのような媒体であってもよい。この場合、例えば、記憶デバイス402は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。
【0141】
具体的には、例えば、
図1、
図6、および
図8に示した各処理部は記憶デバイス402に記憶されたプログラムをプロセッサ401が実行することによって実現される。また、
図1、
図6、および
図8に示した各処理部において用いられる、入力テキスト、双線形パラメータ105-1、および論述関係種類テーブル106-1、文種類テーブル306-1などの各データは、例えば、記憶デバイス402に記憶されている。
【0142】
プロセッサ401は、単一または複数の処理ユニットで構成され、単一または複数の演算ユニット、または複数の処理コアを含むことができる。プロセッサ401は、1つ以上の中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、マイクロ計算機、ステートマシン、ロジック回路、グラフィック処理装置、チップオンシステム、および/または制御指示によって信号操作を行う任意の装置として実装される。
【0143】
論述構造推定装置100、200、および300において、例えば、プロセッサ401により実行されるプログラムは、OS(Operating System)の他、入力プログラム、単語ベクトル抽出プログラム、文ベクトル更新プログラム、論述関係双線形注意プログラム、および論述構造出力プログラムなどの各プログラムを含むことができる。例えば、
図1に示した論述構造推定装置100において、プロセッサ401は、これらプログラムに従って動作することで、入力部101、パラメータ入力部102、単語ベクトル抽出部103、文ベクトル更新部104、論述関係双線形注意部105、および論述構造出力部106として機能できる。
【0144】
図4において、OSや各プログラムなどのソフトウェアの各要素は、記憶デバイス402の中のいずれの領域に格納されている。または、各プログラムは、予め可搬型記録媒体に記録され、媒体読み取り装置によって可搬型記録媒体から読み出されてもよいし、または通信媒体(ネットワークまたはネットワークを伝搬する搬送波)を介して取得されてもよい。
【0145】
入力デバイス403は、ユーザが論述構造推定装置100、200、および300に指示やデータを入力する装置である。入力デバイス403としては、例えば、キーボード、マウス、マイク、タッチパネル、スキャナがある。出力デバイス404は、データを出力する。出力デバイス404としては、例えば、ディスプレイ、プリンタがある。出力デバイス404がディスプレイの場合、論述構造出力制御画面106a(
図5参照)、パラメータ入力画面302a(
図11参照)、論述構造出力制御画面306a(
図12参照)、論述構造出力画面306b(
図13参照)を表示する。
【0146】
通信IF405は、ネットワークと接続し、データを送受信する。入力デバイス403および出力デバイス404は省略されてもよく、論述構造推定装置、200、および300はネットワークを介して端末からデータを送受信してもよい。
【0147】
論述構造推定装置100、200、および300の機能は、1以上のプロセッサおよび非一過性の記憶媒体を含む1以上の記憶デバイスを含む1以上の計算機からなる計算機システムに実装することができる。複数の計算機はネットワークを介して通信する。この場合、論述構造推定装置の複数の機能の一部が1つの計算機に実装され、他の一部が他の計算機に実装されてもよい。
【0148】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例を含む。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、矛盾しない限りにおいて、ある実施例の構成の一部を他の実施例の構成で置き換え、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、構成の追加、削除、置換、統合、または分散をすることが可能である。また実施例で示した構成および処理は、処理結果が同一である限り、処理効率または実装効率に基づいて適宜分散、統合、または入れ替えることが可能である。
【符号の説明】
【0149】
100,200,300:論述構造推定装置、101:入力部、102,202,302:パラメータ入力部、103:単語ベクトル抽出部、104:文ベクトル更新部、105,305:論述関係双線形注意部、105-1:双線形パラメータ、106,306:論述構造出力部、106-1:論述関係種類テーブル、204,304:文ベクトル注意更新部、204-1:単語ベクトル注意集約部、204-2:文ベクトル更新部、204-3:論述関係注意集約パラメータ、204-4:論述関係再帰パラメータ、304-1:単語ベクトル注意集約部(文種類)、304-2:文ベクトル更新部(文種類)、304-3:文種類注意集約パラメータ、304-4:文種類再帰パラメータ、304-5:単語ベクトル注意集約部(論述関係)、304-6:文ベクトル更新部(論述関係)、305-1:文種類出力層パラメータ、305a:文種類出力部、306-1:文種類テーブル、400:コンピュータ、401:プロセッサ、402:記憶デバイス