IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特許7520783識別装置、方法、プログラムおよび学習装置
<>
  • 特許-識別装置、方法、プログラムおよび学習装置 図1
  • 特許-識別装置、方法、プログラムおよび学習装置 図2
  • 特許-識別装置、方法、プログラムおよび学習装置 図3
  • 特許-識別装置、方法、プログラムおよび学習装置 図4
  • 特許-識別装置、方法、プログラムおよび学習装置 図5
  • 特許-識別装置、方法、プログラムおよび学習装置 図6
  • 特許-識別装置、方法、プログラムおよび学習装置 図7
  • 特許-識別装置、方法、プログラムおよび学習装置 図8
  • 特許-識別装置、方法、プログラムおよび学習装置 図9
  • 特許-識別装置、方法、プログラムおよび学習装置 図10
  • 特許-識別装置、方法、プログラムおよび学習装置 図11
  • 特許-識別装置、方法、プログラムおよび学習装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-12
(45)【発行日】2024-07-23
(54)【発明の名称】識別装置、方法、プログラムおよび学習装置
(51)【国際特許分類】
   G06F 16/30 20190101AFI20240716BHJP
   G06F 40/279 20200101ALI20240716BHJP
   G06F 16/90 20190101ALI20240716BHJP
【FI】
G06F16/30
G06F40/279
G06F16/90 100
【請求項の数】 9
(21)【出願番号】P 2021133394
(22)【出願日】2021-08-18
(65)【公開番号】P2023027985
(43)【公開日】2023-03-03
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】高 鵬挙
(72)【発明者】
【氏名】山崎 智弘
(72)【発明者】
【氏名】武山 泰豊
【審査官】早川 学
(56)【参考文献】
【文献】特開2019-020893(JP,A)
【文献】特開2018-124914(JP,A)
【文献】特開2002-132811(JP,A)
【文献】特開2021-018588(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
処理対象となる事例を表す文字列であるイベントと、複数のセンテンスを含む文書とを取得する取得部と、
前記複数のセンテンスから一部をランダムに複数回選択してグループ化したサブセットを複数生成する生成部と、
前記サブセットごとに、前記サブセットに含まれるセンテンスと前記イベントとの間の因果関係を識別する識別部と、
を具備する識別装置。
【請求項2】
前記生成部は、前記イベントと前記文書に含まれる各センテンスとの間の関連性が閾値以上となるセンテンスを前記複数のセンテンスとして抽出した後、前記サブセットを生成する、請求項1に記載の識別装置。
【請求項3】
前記複数のサブセットそれぞれにおいて、対象となるセンテンスであるターゲットを選択する選択部をさらに具備し、
前記識別部は、前記イベントと前記ターゲットとの間の因果関係を識別する、請求項1または請求項に記載の識別装置。
【請求項4】
前記サブセットごとに識別された因果関係に基づき、前記イベントと前記文書全体との因果関係を決定する決定部をさらに具備する、請求項1から請求項のいずれか1項に記載の識別装置。
【請求項5】
前記決定部は、前記サブセットごとに識別された因果関係の確信度を算出し、前記確信度に基づいて前記イベントと前記文書全体との因果関係を決定する、請求項に記載の識別装置。
【請求項6】
前記決定部は、前記サブセットごとに因果関係について複数の識別手段により複数の値を算出し、前記複数の値に関する投票により、前記イベントと前記文書全体との因果関係を決定する、請求項または請求項に記載の識別装置。
【請求項7】
取得手段が、処理対象となる事例を表す文字列であるイベントと、複数のセンテンスを含む文書とを取得し、
生成手段が、前記複数のセンテンスから一部をランダムに複数回選択してグループ化したサブセットを複数生成し、
識別手段が、前記サブセットごとに、前記サブセットに含まれるセンテンスと前記イベントとの間の因果関係を識別する、識別方法。
【請求項8】
コンピュータを、
処理対象となる事例を表す文字列であるイベントと、複数のセンテンスを含む文書とを取得する取得手段と、
前記複数のセンテンスから一部をランダムに複数回選択してグループ化したサブセットを複数生成する生成手段と、
前記サブセットごとに、前記サブセットに含まれるセンテンスと前記イベントとの間の因果関係を識別する識別手段として機能させるための識別プログラム。
【請求項9】
処理対象となる事例を表す文字列であるイベントと、複数のセンテンスを含む文書であって、前記イベントと因果関係のあるセンテンスに関するラベルを含むラベル付き文書とを取得する取得部と、
前記ラベル付き文書に含まれる複数のセンテンスから一部をランダムに複数回選択してグループ化したサブセットを、複数生成する生成部と、
ネットワークモデルを用いて、前記サブセットごとに、前記サブセットに含まれるセンテンスと前記イベントとの間の因果関係の識別した値を出力する識別部と、
前記値と前記ラベルとの差分に関する誤差関数を最小化するように前記ネットワークモデルを学習し、学習済みモデルを生成する学習部と、
を具備する学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、識別装置、方法、プログラムおよび学習装置に関する。
【背景技術】
【0002】
自然言語処理における文書解析において、事例と文書中のセンテンスとの因果関係が識別できれば、より効率的な情報収集が実現できる。しかし、一般的には、1つの文脈に対して1つの因果関係しか抽出できず、複数の因果関係の識別が難しい。また、対象とする文書の長さにも制限があるため、文書中の離れたセンテンスとの類似度などの特徴量を抽出できず、文書中で離れたセンテンス間では文脈を把握することが難しいという問題がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】Wei Yang, et al., “End-to-End Open-Domain Question Answering with BERTserini”, Proceeding of NAACL-HLT 2019: Demonstrations, Minneapolis, Minnesota, June 2 - June 7, 2019, pages 72-77.
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、上述の課題を解決するためになされたものであり、高精度な識別を実現する識別装置、方法、プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本実施形態に係る識別装置は、取得部と、生成部と、識別部とを含む。取得部は、処理対象となる事例を示すイベントと、複数のセンテンスを含む文書とを取得する。生成部は、前記複数のセンテンスの一部をグループ化したサブセットを複数生成する。識別部は、前記サブセットごとに、前記サブセットに含まれるセンテンスと前記イベントとの間の因果関係を識別する。
【図面の簡単な説明】
【0006】
図1】第1の実施形態に係る識別装置を示すブロック図。
図2】第1の実施形態に係る識別装置の動作を示すフローチャート。
図3】サブセット生成部のサブセット生成処理の一例を示す図。
図4】因果関係識別部の識別結果の一例を示す図。
図5】因果関係の決定例を示す図。
図6】確信度が低い値を除外した場合の因果関係の決定例を示す図。
図7】統計処理の結果を組み合わせた一例を示す図。
図8】第2の実施形態に係る学習装置を示すブロック図。
図9】第2の実施形態に係る学習データの生成例を示す図。
図10】第2の実施形態に係る因果関係識別部のモデル構成の一例を示す図。
図11】第2の実施形態に係る学習装置の動作を示すフローチャート。
図12】本実施形態に係る識別装置および学習装置のハードウェア構成を示す図。
【発明を実施するための形態】
【0007】
以下、図面を参照しながら本実施形態に係る識別装置、方法、プログラムおよび学習装置について詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
【0008】
(第1の実施形態)
第1の実施形態に係る識別装置について図1のブロック図を参照して説明する。
第1の実施形態に係る識別装置10は、取得部101と、サブセット生成部102と、選択部103と、因果関係識別部104と、決定部105とを含む。
【0009】
取得部101は、処理対象となる事例を示すイベントと、複数のセンテンスを含む文書とを取得する。本実施形態に係るイベントは、例えば、原因または結果を示す文字列であり、文書からセンテンスを因果関係があるセンテンスとして抽出するために利用される。例えば、イベントが「水が漏れた」といった結果を表す文字列であれば、文書から「配管にクラックがあったため、」といった原因となる文字列が抽出される。反対に、イベントが「配管にクラックがあったため」といった原因を表す文字列でもよく、この場合は、文書から「水が漏れた」といった結果を表す文字列が抽出されることを目的とする。
【0010】
またイベントは、質問または回答を表す文字列でもよい。例えばイベントが「駅はどこですか?」といった質問を表す文字列である場合、文書から「右に約200mです」といった回答を表す文字列が抽出されることを目的とする。反対にイベントが「右に約200mです」と回答を表す文字列の場合、文書から「駅はどこですか?」といった質問を表す文字列が抽出されることを目的とする。このように、イベントは、因果関係に関する文字列に限らず、質問および回答といったペアとなる関係の一方を表す文字列であればよい。
【0011】
サブセット生成部102は、複数のセンテンスの一部をグループ化したサブセットを複数生成する。
選択部103は、複数のサブセットそれぞれにおいて、因果関係の識別対象となるセンテンスであるターゲットを選択する。
【0012】
因果関係識別部104は、サブセットごとに、サブセットに含まれるセンテンスとイベントとの間の因果関係を識別する。
決定部105は、サブセットごとに識別された因果関係に基づき、イベントと文書全体との因果関係を決定する。
【0013】
次に、第1の実施形態に係る識別装置10の動作について図2のフローチャートを参照して説明する。
ステップS201では、取得部101が、外部から文書およびイベントを取得する。
ステップS202では、サブセット生成部102が、取得した文書に含まれる複数のセンテンスを用いて、複数のセンテンスのうちの一部のセンテンスをグループ化し、複数のサブセットを生成する。サブセットの生成において、例えば、取得したイベントと関連性の低いセンテンスは除外し、入力されたイベントとの関連性が閾値以上であるセンテンスを文書から選択してグループ化する。関連性は、例えばイベントと各センテンスとの情報の類似度を分析すればよい。また、類似度は、イベントとセンテンスとが類似する度合いを示し、イベントの内容とセンテンスの内容とが近いほど、類似度が高い。よって、類似度が閾値以上であるセンテンスを関連性が閾値以上のセンテンスであると決定する。また、関連性として、イベントの文字列と、各センテンスの内容から分析される情報量を用いてもよい。例えば、センテンスを構成する単語群の意味または出現頻度から、各文の情報量を分析する。情報量が高い文ほど、他の文と比較してユニークな情報が含まれる。
【0014】
ステップS203では、選択部103が、複数のサブセットの中から、処理対象のサブセットを選択する。
ステップS204では、選択部103が、処理対象のサブセットに含まれる複数のセンテンスのうち、イベントとの比較対象であるターゲットを選択する。
【0015】
ステップS205では、因果関係識別部104が、例えば学習済みモデルを用いて、イベントとターゲットとの間に因果関係があるか否かを識別する。学習済みモデルは、例えばイベントとターゲットとを入力し、因果関係の識別結果の値を出力するモデルであり、例えば第2の実施形態で後述する機械学習の学習済みモデルを想定する。なお、学習済みモデルに限らず、イベントとターゲットとの間の因果関係を抽出できる手法であれば、どのような手法を用いてもよい。
【0016】
ステップS206では、因果関係識別部104が、処理対象のサブセットに含まれる全てのセンテンスについて、因果関係を識別したか否かを判定する。全てのセンテンスについて因果関係を識別した場合、ステップS207に進み、未処理のセンテンスが存在する場合、ステップS204に戻り、未処理のセンテンスに対して上述した処理を繰り返す。
【0017】
ステップS207では、因果関係識別部104が、ステップS202で生成した全てのサブセットについて因果関係を識別したかを判定する。全てのサブセットについて因果関係を識別した場合、ステップS208に進み、未処理のサブセットが存在する場合、ステップS203に戻り、未処理のサブセットについて上述した処理を繰り返す。
【0018】
ステップS208では、決定部105が、サブセットごとの識別結果から、イベントと文書全体との因果関係を決定する。イベントと文書全体との因果関係は、決定部105が、例えばターゲットごとの因果関係の識別結果に応じた確信度を算出し、確信度が最も高いターゲットを、イベントと文書全体との因果関係として決定してもよい。また、複数種類の識別結果に応じた値について、投票を実施することにより、因果関係があると判定された数が多いターゲットを、イベントと文書全体との因果関係として決定してもよい。
【0019】
以上で識別装置10の識別処理を終了する。なお、ステップS203からステップS207までの説明では、1つのサブセットずつ因果関係を識別する例を示した。これに限らず、複数のサブセットについて、並行してイベントとターゲットとの因果関係を識別してもよい。すなわち、選択部103が、複数のサブセットについてそれぞれターゲットを選択し、因果関係識別部104が、それぞれのサブセットで選択されたターゲットについて順に因果関係を判定してもよい。
【0020】
次に、第1の実施形態に係るサブセット生成部のサブセット生成処理について図3を参照して説明する。
図3は、文書30と、当該文書30から生成された複数のサブセット32との一例を示す。
【0021】
文書30には、ここでは、文書30中の出現順に7つのセンテンス(センテンス1~センテンス7)が含まれる場合を想定する。サブセットとして選択されるセンテンスの長さ(例えば文字数)は、ほぼ同じ長さであることを想定するが、センテンスごとに異なってもよい。また、1つのサブセットに含まれるセンテンスの数は、各サブセットで同一であることを想定するが、異なってもよい。
図3の例では、関連性が閾値以上となるセンテンス1からセンテンス5まで、およびセンテンス7の6つが抽出され、センテンスが関連性が閾値未満であるノイズとなり得るセンテンスであるとして、除外されるとする。
【0022】
サブセット生成部102は、センテンス1からセンテンス5まで、およびセンテンス7の6つのセンテンスから、4つのセンテンスをランダムに複数回選択してグループ化し、複数のサブセット32を生成する。具体的には、例えば、1つ目のサブセット32として「センテンス1,センテンス2,センテンス3、センテンス5」が選択され、2つ目のサブセット32として「センテンス1,センテンス3,センテンス4、センテンス7」が選択される。また、サブセット生成部102は、文書中の少なくとも1つのセンテンスが複数のサブセットに重複して含まれるようにサブセットを生成する。つまり、図3の例では、「センテンス1,センテンス3」が2つのサブセット32の両方に含まれる。
このようにサブセット32は、文書に含まれるセンテンスの数をN(Nは3以上の自然数)、サブセットに含まれるセンテンスの数をM(Mは2以上N未満の自然数)とすると、の組み合わせ数まで生成することができる。すなわち、図3の例では、=15通りのサブセット32を生成することができる。各サブセット32は関係性を有するセンテンスがグループ化されているため、複数パターンの文脈を生成できる。
【0023】
なお、文書30に含まれるセンテンスの長さにばらつきがある場合、サブセット32の生成処理において、各センテンスの長さを揃えるように処理されてもよい。例えば、センテンス1が60文字、センテンス2が120文字である場合、センテンスの文字列が閾値以上(ここでは60文字とする)であれば、閾値である60文字とほぼ同じ長さになる読点の位置でセンテンスを分割し、分割されたセンテンスを用いてもよい。例えばセンテンス2において、55文字目に読点があれば、当該読点の位置でセンテンス2を分割し、センテンス2-1(55文字)、センテンス2-2(65文字)を生成し、サブセット32の生成に用いてもよい。
【0024】
また、あるセンテンスを基準とした場合、文書中のセンテンスの出現位置が近いセンテンスと遠いセンテンスとのバランスを考慮してサブセットが生成されてもよい。具体的には、あるサブセット32の生成においてセンテンス1を基準とし、センテンス2が選択された場合、センテンス3ではなくセンテンス7を選択する。選択の基準としては、例えばサブセット32に含まれる複数のセンテンスにおける、センテンス1からの距離の総和が閾値以上となるように選択されればよい。
【0025】
次に、因果関係識別部104の識別結果の一例を図4に示す。
図4は、サブセットAからサブセットEまでの5つのサブセットにそれぞれ含まれる、4つのセンテンスの因果関係の識別結果を示すテーブルである。4つのセンテンスは、6つセンテンス(センテンス1~センテンス5,センテンス7)のうちの4つの組み合わせである。識別結果として、ここでは0(ゼロ)から1まで間の数値が割り当てられる例を示す。0に近いほど、イベントとセンテンスとの間で因果関係がないことを示し、1に近いほど、イベントとセンテンスとの間に因果関係があることを示す。なお、サブセットに含まれないセンテンスの欄には、該当なしであることを示す「-」の記号が入力される。
【0026】
例えば、サブセットAでは、センテンス2の値が「0.9」であり、センテンス5が「0.5」である。このように、因果関係識別部104によって、各サブセットに含まれるすべてのセンテンスについて、因果関係が識別される。
【0027】
次に、決定部105における因果関係の決定例について図5に示す。
図5は、図4に示すテーブルに、平均値を示す項目と、因果関係のありなしを示す項目と、イベントと文書全体との因果関係を示す最終結果の項目とを追加したテーブルである。
図5では、決定部105は、複数のサブセットに含まれるセンテンスの識別結果を示す値の平均値を算出する。決定部105は、当該平均値と閾値とを比較する。ここでは、識別結果の平均値に対する閾値として「0.7」を設定する。決定部105は、平均値が閾値以上であれば、「因果関係あり」と決定し、平均値が閾値未満であれば、「因果関係なし」と決定する。また、決定部105は、因果関係ありと判定されたセンテンスの中で、平均値が最大のセンテンスを、イベントに対する文書全体の因果関係の最終結果として出力してもよい。
【0028】
図5の例では、「センテンス2,センテンス4」が「因果関係あり」と決定され、「センテンス1,センテンス3,センテンス5,センテンス」が「因果関係なし」と決定される。また、平均値が1番高い「センテンス2」がイベントに対する文書の因果関係の最終結果として決定される。なお、平均値に限らず、中央値、最大値、最大値、最頻値、偏差値などの他の統計処理による統計値でもよい。
【0029】
また、「0.3」以下は因果関係なし、「0.7」以上は因果関係ありとカウントする投票により、因果関係の有無を決定してもよい。例えば、センテンス5では、「0.6,0.7,0.9,0.7,0.2」の識別結果であるため。因果関係なしが1つ(0.2)、因果関係ありが3つ(0.7,0.9,0.7)であるため、投票によれば因果関係ありと決定できる。
【0030】
また、第1の実施形態では因果関係識別部104からの出力が学習済みモデルからの出力を想定し、「0~1」の間で表現されるため、0または1に近いほど、因果関係の確信度は高いが、例えば「0.4~0.6」など中間値の場合は、因果関係の有無を識別しがたく、確信度が低いといえる。よって、確信度が低い値を除外した値を用いて文書全体の因果関係を決定してもよい。
【0031】
確信度が低い値を除外した場合の因果関係の決定例について図6に示す。
決定部105は、識別結果の値から「0.4~0.6」の値を除き、「0.0~0.3」および「0.7~1.0」までの値のみを用いて、例えば投票により識別結果の有無の多数決をとればよい。図6では、図5のテーブルに対し、「0.4~0.6」の値については、斜線を記入して計算から除外することを表現する。
上述した図5では、「センテンス5」の平均値が閾値未満であるため、因果関係なしと決定されたが、図6の例では、「センテンス5」の平均値が「0.7」となり、平均値が閾値以上となるため、因果関係ありと決定される。
このように、確信度が高い値に基づいて因果関係の最終結果を決定することにより、因果関係識別部のモデルによるあいまいな識別結果を除外しつつ、確信度の高い値を用いることで、より因果関係抽出の精度を高めることができる。
【0032】
さらに、決定部105は、複数の統計処理の結果を組み合わせて、イベントと文書全体との因果関係を決定してもよい。統計処理の結果を組み合わせた一例について図7に示す。
図7は、センテンス1~センテンス5およびセンテンス7のセンテンスごとに、複数の統計処理の結果である統計値が入力されたテーブルである。
【0033】
図7に示すテーブルは、平均値、最大値、最小値、投票数の各項目を示す。例えば、各項目で最大となった回数が最も多いセンテンスを因果関係の最終結果として採用してもよい。例えば、「センテンス4」は、平均値(0.82)、最大値(0.9)および投票数(3)が各項目で1位となり、最大となった回数は3回である。一方、「センテンス2」は、最大値(0.9)が1位となり、最大となった数が1回である。よって、決定部105は、最終結果として、イベントと文書全体との因果関係のセンテンスは、「センテンス4」と決定できる。
【0034】
以上に示した第1の実施形態によれば、1つの文書に含まれる複数のセンテンスの一部を組み合わせ、複数のセンテンスをそれぞれ含む、複数のサブセットを生成する。複数のサブセットを用いてターゲットとイベントとの因果関係を識別する。これにより、実質的にイベントとの比較対象となるデータの長さに制限がなくなり、文書中で離れているセンテンスとの関係についても識別できる。また、複数のサブセットに含まれる複数のセンテンスについて因果関係を識別できるため、1つのイベントに対し因果関係があるセンテンスを複数抽出できる。
さらに、複数のサブセットにそれぞれ含まれる複数のセンテンスは、関係性を有しているため、複数パターンの文脈を生成できる。よって、学習済みモデルにおいて複数パターンの文脈を考慮した因果関係の識別結果が得られるため、確信度の高い因果関係の抽出結果を得ることができる。すなわち、高精度な識別を実現することができる。
【0035】
(第2の実施形態)
第1の実施形態では、学習済みモデルを用いて複数のサブセットから因果関係を抽出する例を示すが、生成部により生成された複数のサブセットにより因果関係部のモデルを学習することもできる。
【0036】
第2の実施形態に係る学習装置について図8のブロック図を参照して説明する。
第2の実施形態に係る学習装置80は、取得部801と、サブセット生成部802と、選択部803と、因果関係識別部804と、学習部805と、モデル格納部806とを含む。
【0037】
取得部801は、複数のセンテンスを含む文書と、イベントと、当該イベントと因果関係のあるセンテンスに付与されるラベルとを含む。すなわち、因果関係のある文書中のセンテンスには正解となるラベルが付与されている。以下、ラベルが付与されたセンテンスを含む文書をラベル付き文書とも呼ぶ。
サブセット生成部802は、第1の実施形態と同様に、文書から複数のサブセットを生成する。
選択部803は、複数のサブセットのそれぞれから、イベントに対するターゲットを選択する。
【0038】
因果関係識別部804は、学習対象のネットワークモデルであり、サブセットおよびイベントを学習対象のネットワークモデルに入力し、因果関係の識別結果を出力する。
学習部805は、ネットワークモデルの出力と正解となるラベルとの学習誤差を算出する。学習部805は、学習誤差が最小となるように、ネットワークモデルのパラメータを更新する。学習部805による学習が完了すると、学習済みモデルが生成される。
モデル格納部806は、学習前のネットワークモデルおよび学習後の学習済みモデルを格納する。また、必要に応じて、学習データを生成するための文書などを格納してもよい。
【0039】
次に、第2の実施形態に係る学習データの生成例について図9を参照して説明する。
図9は、ラベル付き文書の例である。センテンス1からセンテンス10までの10個のセンテンスを含む1つの文書90のうち、「センテンス2」がイベントと因果関係があることを示すラベルが付与される。また、サブセット生成部802により、文書90から4個のセンテンスを含むサブセットが複数生成されることを想定する。
【0040】
サブセットごとに、サブセットにおけるターゲットのインデックスと、ターゲットがイベントと因果関係があるか否かのラベルとを学習データとする。ターゲットには、文書中の文番号が割り当てられる。すなわち、文書90の「センテンス1」から「センテンス10」までの文番号が、ターゲットとなるセンテンスのインデックスとして割り当てられる。ラベルとしては、因果関係がある場合、すなわち正例の場合、(1,0)のラベルが付与され、因果関係がない場合、すなわち負例の場合、(0,1)のラベルが付与される。もちろん、1ビットで表されるラベルでもよく、正例の場合は「1」、負例の場合は「0」と表現されてもよい。文書90は、センテンス2は正例であるため(1,0)のラベルが付与され、センテンス2以外のセンテンスは負例であるため(0,1)のラベルが付与される。
【0041】
具体的に、図9に示したサブセット92は、文書90から「センテンス1,センテンス2,センテンス4,センテンス5」が選択される。例えば、センテンス1は、文番号を示すインデックス「1」と負例を示すラベルとを結合し、(1,0,1)と一意に表現できる。また、センテンス2は、文番号を示すインデックス「2」と正例を示すラベルとを結合し、(2,1,0)と一意に表現できる。生成される複数のサブセットそれぞれに含まれるセンテンスについて、同様に処理すればよい。
このように、複数のサブセットごとに、センテンスがターゲットとして選択される際に、正例および負例のラベルが付与された学習データを用意することができるため、1つの文書90をまとめて学習データとする場合よりも、学習データ数の増強(データオーギュメンテーション)を実現できる。
【0042】
なお、生成された学習データの数が多い場合は、正例のデータ数および負例のデータ数の偏りはそれほど問題にならないが、学習データの数が少ない場合には、正例と負例との比率が均等でない場合、どちらかに偏った過学習が行われる場合もありうる。そのような場合は、正例および負例のラベルの数を制御してもよい。例えば、イベントに対し、正例のセンテンスを含むサブセットの数が、サブセット全体の50パーセントの比率とし、負例のセンテンスしか含まないサブセットの数が、サブセット全体の25パーセントの比率とし、ランダムにセンテンスを選択したサブセットの数が、サブセット全体の25パーセントの比率になるようにサブセットを生成すればよい。
【0043】
次に、第2の実施形態に係る因果関係識別部804のモデル構成の一例について図10を参照して説明する。
図10は、因果関係識別部804を実現する、学習対象となるネットワークモデルを示す。ネットワークモデルは、第1特徴量抽出層1001と、重み付き平均層1002と、結合(Concatenate)層1003と、第2特徴量抽出層1004と、因果関係識別層1005と、出力層1006とを含む。
【0044】
第1特徴量抽出層1001は、例えばBERT(Bidirectional Encoder Representations from Transformer)といった学習済みの言語モデルである。第1特徴量抽出層1001には、学習データとなるイベント、サブセットとが入力される。イベントからイベント特徴量を、サブセットからサブセット特徴量をそれぞれ抽出する。なお、BERTのような学習済みモデルに限らず、イベントおよびサブセットから特徴量を抽出できる処理であれば、どのような処理を適用してもよい。
【0045】
重み付き平均層1002は、第1特徴量抽出層1001からイベント特徴量およびサブセット特徴量を受け取り、タスクによって設定されうる調整可能なパラメータに基づき、加重平均処理が実行される。重み付き平均層1002からの出力は、入力に対して1つ次元数を減らす処理を想定するが、これに限らず、さらに次元数を削減してもよいし、次元数を減らさなくともよい。
【0046】
結合層1003は、重み付き平均層1002から重み付き平均処理されたイベント特徴量およびサブセット特徴量をそれぞれ受け取り、イベント特徴量およびサブセット特徴量を結合する。
【0047】
第2特徴量抽出層1004は、例えば、Dense層、Multi_Head_Self_Attention層、Global_Max_Pooling層を含む。第2特徴量抽出層1004は、結合層1003からの出力を受け取り、サブセットのセンテンス内の単語ごとの特徴量、単語間の関連を分析し、センテンス単位の特徴量であるセンテンス特徴量に変換する。第2特徴量抽出層1004でも、結合層からの出力に対して、次元数を削減することを想定する。
【0048】
因果関係識別層1005は、例えば、Position Encoding層、Transformer層、Multiply層を含む。因果関係識別層1005は、学習データに含まれるターゲットのインデックスと、第2特徴量抽出層1004からの出力とをそれぞれ受け取り、ターゲット周辺のセンテンスを参照しながら、イベントとターゲットセンテンスとの間の因果関係の識別結果を出力する。
【0049】
出力層1006は、因果関係識別層1005からの出力を受け取り、例えばソフトマックス関数を利用し、識別結果として「0~1」の数値を出力する。つまり、出力値が0に近いほど因果関係がない確信度が高く、出力値が1に近いほど因果関係がある確信度が高い。
【0050】
次に、第2の実施形態に係る学習装置80の学習処理について図11のフローチャートを参照して説明する。
ステップS1101では、取得部801が、イベントと、ラベル付き文書とを取得する。
ステップS1102では、サブセット生成部802が、ラベル付き文書に含まれる複数のセンテンスに基づいて、複数のサブセットを生成することで、学習データを生成する。サブセットの生成処理については、第1の実施形態と同様の処理を行えばよいため、説明を省略する。
【0051】
ステップS1103では、選択部803が、複数のサブセットの中から処理対象のサブセットを選択する。
ステップS1104では、選択部803が、処理対象のサブセットに含まれる複数のセンテンスからターゲットを選択する。
【0052】
ステップS1105では、因果関係識別部804が、図10に示すようなネットワークモデルに対して、イベントと処理対象のサブセットとを入力する。ネットワークモデルは、ステップS1104で選択されたターゲットとイベントとの因果関係の有無を表現した値(ここでは、0~1の範囲の値)を出力する。
【0053】
ステップS1106では、学習部805が、ターゲットのラベルを正解データとし、ネットワークモデルから出力された値と正解データとの差分である学習誤差を算出する。
【0054】
ステップS1107では、学習部805が、処理対象のサブセットの含まれるセンテンス全てについて、学習誤差を算出したか否かを判定する。すべてのセンテンスについて学習誤差を算出した場合は、ステップS1108に進み、未処理のセンテンスが存在する場合は、ステップS1104に戻り、未処理のセンテンスに対して同様に処理を繰り返す。
【0055】
ステップS1108では、学習部805が、ステップS1102で生成した全てのサブセットについて学習誤差を算出したか否かを判定する。全てのサブセットについて学習誤差を算出した場合、ステップS1109に進み、全てのサブセットについて学習誤差を算出していない場合、ステップS1103に戻り、未処理のサブセットについて同様に処理を繰り返す。
【0056】
ステップS1109では、学習部805が、算出された複数のターゲットに関する複数の学習誤差の平均などの統計処理により得られた、学習誤差をまとめた誤差関数が最小となるように、ネットワークモデルのパラメータを更新する。例えば、誤差逆伝播法と確率的勾配降下法などを用いてネットワークモデルに関する重み係数、バイアスなどのパラメータを更新すればよい。
【0057】
ステップS1110では、学習部805が、学習が完了したか否かを判定する。例えば、誤差関数の出力値または減少値といった判定指標が閾値以下となった場合に学習が完了したと判定してもよいし、学習の回数、例えばパラメータの更新回数が所定回数に達した場合に、学習を完了したと判定してもよい。学習が完了した場合は、学習処理を終了し、結果として第1の実施形態に係る因果関係識別部104の因果関係識別処理で利用した、学習済みモデルが生成される。
【0058】
一方、学習が完了していない場合、ステップ1101に戻り、同様の処理を繰り返す。なお、ステップS1106からステップS1110までに示す学習部805の学習方法は、これに限らず、一般的な学習手法を用いてもよい。
【0059】
以上に示した第2実施形態によれば、イベントと因果関係のあるセンテンスに正解ラベルを付与した1つのラベル付き文書から複数のサブセットを生成することで、複数のサブセットそれぞれをラベル付き文書として学習データに用いることができ、学習データのデータ増強(データオーギュメンテーション)を実現できる。
また、データ増強された学習データを用いてネットワークモデルを学習することで、より高精度な因果関係抽出を実行できる学習済みモデルを生成できる。
【0060】
ここで、上述の実施形態に係る識別装置10および学習装置80のハードウェア構成の一例を図12のブロック図に示す。
識別装置10および学習装置80は、CPU(Central Processing Unit)1201と、RAM(Random Access Memory)1202と、ROM(Read Only Memory)1203と、ストレージ1204と、表示装置1205と、入力装置1206と、通信装置1207とを含み、それぞれバスにより接続される。
【0061】
CPU1201は、プログラムに従って演算処理および制御処理などを実行するプロセッサである。CPU1201は、RAM1202の所定領域を作業領域として、ROM1203およびストレージ1204などに記憶されたプログラムとの協働により、上述した識別装置10および学習装置80の各部の処理を実行する。
【0062】
RAM1202は、SDRAM(Synchronous Dynamic Random Access Memory)などのメモリである。RAM1202は、CPU1201の作業領域として機能する。ROM1203は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
【0063】
ストレージ1204は、HDD(Hard Disc Drive)等の磁気記録媒体、フラッシュメモリなどの半導体による記憶媒体、または、HDDなどの磁気的に記録可能な記憶媒体、光学的に記録可能な記憶媒体などにデータを書き込みおよび読み出しをする装置である。ストレージ1204は、CPU1201からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。
【0064】
表示装置1205は、LCD(Liquid Crystal Display)などの表示デバイスである。表示装置1205は、CPU1201からの表示信号に基づいて、各種情報を表示する。
【0065】
入力装置1206は、マウスおよびキーボード等の入力デバイスである。入力装置1206は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU1201に出力する。
通信装置1207は、CPU1201からの制御に応じて外部機器とネットワークを介して通信する。
【0066】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した識別装置および学習装置の制御動作による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の識別装置および学習装置の制御と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0067】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0068】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0069】
10…識別装置、30…文書、32,92…サブセット、80…学習装置、90…ラベル付き文書、101,801…取得部、102,802…サブセット生成部、103,803…選択部、104,804…因果関係識別部、105…決定部、805…学習部、806…モデル格納部、1001…特徴量抽出層、1002…重み付き平均層、1003…結合層、1004…特徴量抽出層、1005…因果関係識別層、1006…出力層、1201…CPU、1202…RAM、1203…ROM、1204…ストレージ、1205…表示装置、1206…入力装置、1207…通信装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12