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

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

▶ 独立行政法人情報通信研究機構の特許一覧

特許7550432モデル訓練装置、モデル訓練方法、及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-05
(45)【発行日】2024-09-13
(54)【発明の名称】モデル訓練装置、モデル訓練方法、及びコンピュータプログラム
(51)【国際特許分類】
   G06F 40/279 20200101AFI20240906BHJP
   G06F 40/216 20200101ALI20240906BHJP
   G06N 20/20 20190101ALI20240906BHJP
   G06N 3/08 20230101ALI20240906BHJP
   G06N 20/00 20190101ALI20240906BHJP
【FI】
G06F40/279
G06F40/216
G06N20/20
G06N3/08
G06N20/00
【請求項の数】 5
(21)【出願番号】P 2020058332
(22)【出願日】2020-03-27
(65)【公開番号】P2021157602
(43)【公開日】2021-10-07
【審査請求日】2023-03-14
(73)【特許権者】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100099933
【弁理士】
【氏名又は名称】清水 敏
(72)【発明者】
【氏名】クロエツェー ジュリアン
(72)【発明者】
【氏名】呉 鍾勲
(72)【発明者】
【氏名】飯田 龍
(72)【発明者】
【氏名】鳥澤 健太郎
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2018-060364(JP,A)
【文献】特開2015-121897(JP,A)
【文献】Kazuma Kadowaki 外4名,Event Causality Recognition Exploiting Multiple Annotators’ Judgments and Background Knowledge,roceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing,2019年11月03日,pp.5816-5822,URL:https://aclanthology.org/D19-1590/
【文献】矢野 憲、奥村 学 ,BERTによる英語テキストからの因果関係抽出,言語処理学会第26回年次大会 発表論文集 [online],日本,言語処理学会,2020年03月09日,pp.421-424
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06F 16/00-958
G06N 3/00-99/00,180
(57)【特許請求の範囲】
【請求項1】
機械学習モデルの訓練を行うためのモデル訓練装置であって、
前記機械学習モデルは複数のニューラル・ネットワークと、当該複数のニューラル・ネットワークの出力に基づき分類結果を出力する分類層とを含み、
前記モデル訓練装置は、
因果関係に関する複数のバイナリパターンからなるバイナリパターン辞書を記憶するバイナリパターン辞書記憶手段を含み、バイナリパターンとは、テキストの依存構造上において、ある因果関係の原因名詞と結果名詞とを接続する最短のパスであって、前記原因名詞と前記結果名詞とを変数により置き換えたものであり、
さらに、複数の因果関係候補の各々について当該因果関係候補に関する複数種類の背景知識を、因果関係データベース及び文書アーカイブから抽出する背景知識抽出手段を含み、前記複数種類の背景知識は、種類ごとにそれぞれ前記複数のニューラル・ネットワークの異なる一つに対応付けられ、
前記複数の因果関係候補の各々は、原因部と結果部とを含み、前記原因部は、原因名詞と前記原因部の述語とを含み、前記結果部は、結果名詞と前記結果部の述語とを含み、
さらに、前記複数の因果関係候補の各々に対し、当該因果関係候補に基づいて前記因果関係データベース及び前記文書アーカイブから抽出された前記複数種類の背景知識を用いて、前記機械学習モデルの訓練データを生成する訓練データ生成手段を含み、
前記訓練データ生成手段は、前記複数種類の背景知識の各種類について、処理対象の因果関係候補と、当該因果関係候補に基づいて抽出された当該種類の前記背景知識の一つとを組み合わせることにより、入力データを生成し、前記各種類について生成された前記入力データと、前記因果関係候補に対する評価ラベルとを組み合わせることにより前記訓練データを生成し、
さらに、当該因果関係候補から前記複数種類の背景知識について得られた前記訓練データを、前記複数のニューラル・ネットワークに入力したときの前記分類層の出力と、当該訓練データの前記評価ラベルとを用いて前記機械学習モデルの訓練を行う訓練手段を含み、
前記背景知識抽出手段は、
前記複数の因果関係候補の各々について、当該因果関係候補の原因名詞及び結果名詞をそれぞれ原因名詞及び結果名詞として含むバイナリパターンを前記文書アーカイブから抽出することにより、第1背景知識を生成する第1背景知識生成手段と、
前記複数の因果関係候補の各々について、当該因果関係候補の原因名詞の類義語である類義原因名詞と、当該因果関係候補の結果名詞の類義語である類義結果名詞とを取得する類義語取得手段と、
前記複数の因果関係候補の各々について、前記類義語取得手段により取得された前記類義原因名詞のいずれかと、前記類義結果名詞の類義語のいずれかとを、それぞれ原因名詞及び結果名詞として含むバイナリパターンを前記文書アーカイブから抽出することにより、第2背景知識を生成する第2背景知識生成手段と、
前記複数の因果関係候補の各々について、前記類義原因名詞の一つと、前記類義結果名詞の一つとをそれぞれ原因名詞及び結果名詞として持つ因果関係を前記因果関係データベースから抽出することにより、第3背景知識を生成する第3背景知識生成手段と、
前記複数の因果関係候補の各々について、当該因果関係候補の前記結果部からなぜ型質問を生成し、当該なぜ型質問に対するなぜ型質問回答システムによる回答のうち、所定の条件を充足する回答から抽出された、因果関係に関連するバイナリパターンを第4背景知識として抽出する第4背景知識抽出手段とを含み、
前記複数種類の背景知識は、前記第1背景知識、前記第2背景知識、前記第3背景知識、及び前記第4背景知識を含む、モデル訓練装置。
【請求項2】
前記複数のニューラル・ネットワークは、互いに同じ構成の複数のBERTを含む、請求項1に記載のモデル訓練装置。
【請求項3】
前記モデル訓練装置は、
複数の評価者による個別評価結果を記憶する評価結果記憶手段と、
前記個別評価結果の多数決による多数決評価結果を記憶する多数決結果記憶手段とをさらに含み、
前記訓練データ生成手段は、
前記複数の因果関係候補の各々に対し、
当該因果関係候補に対する前記個別評価結果の各々について、
当該因果関係候補から抽出された前記複数種類の背景知識の各々について、当該因果関係候補と、当該背景知識と、前記評価者を示す識別子と、当該因果関係候補に関する前記識別子により表される評価者別の前記個別評価結果とを組み合わせた訓練データ及び当該因果関係候補から抽出された前記複数種類の背景知識の各々について、当該因果関係候補と、当該背景知識と、当該因果関係候補に関する前記多数決評価結果を示す識別子と、当該因果関係候補に関する前記多数決評価結果とを組み合わせた訓練データを生成する評価者別訓練データ生成手段とを含む、請求項1又は請求項に記載のモデル訓練装置。
【請求項4】
機械学習モデルの訓練を行うためのモデル訓練方法であって、
前記機械学習モデルは、複数のニューラル・ネットワークと、当該複数のニューラル・ネットワークの出力に基づき分類結果を出力する分類層とを含み、
前記モデル訓練方法は、
因果関係に関する複数のバイナリパターンからなるバイナリパターン辞書をバイナリパターン辞書記憶手段に記憶させるステップを含み、バイナリパターンとは、テキストの依存構造上において、ある因果関係の原因名詞と結果名詞とを接続する最短のパスであって、前記原因名詞と前記結果名詞とを変数により置き換えたものであり、
さらに、複数の因果関係候補の各々について、当該因果関係候補に関する複数種類の背景知識を、因果関係データベース及び文書アーカイブから抽出する背景知識抽出ステップを含み、前記複数種類の背景知識は、種類ごとにそれぞれ前記複数のニューラル・ネットワークの異なる一つに対応付けられ、
前記複数の因果関係候補の各々は、原因部と結果部とを含み、前記原因部は、前記原因名詞と前記原因部の述語とを含み、前記結果部は、前記結果名詞と前記結果部の述語とを含み、
さらに、前記複数の因果関係候補の各々に対し、当該因果関係候補に基づいて前記因果関係データベース及び前記文書アーカイブから抽出された前記複数種類の背景知識を用いて、前記機械学習モデルの訓練データを生成する訓練データ生成ステップを含み、
前記訓練データ生成ステップは、前記複数種類の背景知識の各種類について、処理対象の因果関係候補と、当該因果関係に基づいて抽出された背景知識の一つとを組み合わせることにより、入力データを生成するステップと、
前記各種類について生成された前記入力データと、前記因果関係候補に対する評価ラベルとを組み合わせることにより前記訓練データを生成するステップとを含み、
前記モデル訓練方法はさらに、前記訓練データの各々について、当該訓練データに含まれる前記入力データを、前記複数のニューラル・ネットワークのうち、当該入力データの種類に対応するニューラル・ネットワークに入力したときの前記分類層の出力と、当該訓練データの前記評価ラベルとを用いて前記機械学習モデルの訓練を行う訓練ステップを含み、
前記背景知識抽出ステップは、
前記複数の因果関係候補の各々について、
当該因果関係候補の原因名詞及び結果名詞をそれぞれ原因名詞及び結果名詞として含むバイナリパターンを前記文書アーカイブから抽出することにより、第1背景知識を生成する第1背景知識生成ステップと、
当該因果関係候補の原因名詞の類義語である類義原因名詞と、当該因果関係候補の結果名詞の類義語である類義結果名詞とを取得する類義語取得ステップと、
前記類義語取得ステップにおいて取得された前記類義原因名詞のいずれかと、前記類義結果名詞の類義語のいずれかとを、それぞれ原因名詞及び結果名詞として含むバイナリパターンを前記文書アーカイブから抽出することにより、第2背景知識を生成する第2背景知識生成ステップと、
前記類義原因名詞の一つと、前記類義結果名詞の一つとをそれぞれ原因名詞及び結果名詞として持つ因果関係を前記因果関係データベースから抽出することにより、第3背景知識を生成する第3背景知識生成ステップと、
当該因果関係候補の前記結果部からなぜ型質問を生成し、当該なぜ型質問に対するなぜ型質問回答システムによる回答のうち、所定の条件を充足する回答から抽出された、因果関係に関連するバイナリパターンを第4背景知識として抽出する第4背景知識抽出ステップとを含み、
前記複数種類の背景知識は、前記第1背景知識、前記第2背景知識、前記第3背景知識、及び前記第4背景知識を含む、モデル訓練方法。
【請求項5】
コンピュータを、請求項1から請求項のいずれか1項に記載のモデル訓練装置として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は機械学習モデルの訓練装置に関し、特に、因果関係候補が因果関係として相当か否かを判定する機械学習モデルと、当該機械学習モデルを訓練する装置とに関する。
【背景技術】
【0002】
「タバコを吸う→肺がんで死亡する」のような事象の因果関係(以下、単に「因果関係」という。)は、言語理解のための基本的知識であると考えられてきた。そのため、因果関係に関しては多くの研究がなされてきており、様々な自然言語のアプリケーションに適用されてきた。したがって因果関係を高い精度で判定することは、自然言語処理について必須の技術である。
【0003】
また、一部の研究者は、「地球温暖化が進む→海洋温度が上昇する」と「海洋温度が上昇する→腸炎ビブリオによる汚染が発生する」という2つの因果関係を連鎖させることにより、「地球温暖化が進む→海洋温度が上昇する→腸炎ビブリオによる汚染が発生する」のような新たな因果関係(ここでは「シナリオ」と呼ぶ。)を得る試みを行っている。人間の行為に起因する気候変動とビブリオによる汚染との関連については、バルト海で発生したことが2013年に初めて報告されたが、2007年にウェブから収集したテキスト(上記関連についての記載はない。)から上記方法で生成したシナリオには、上記関連に関する記載が既に含まれていた。この例からも、因果関係からシナリオを生成する技術は有用であることが分かる。
【0004】
すなわち、既知の因果関係を連鎖させることで、新たな因果関係を見出すことができるということである。これは、何らかの決定を行う際には非常に有効な情報として利用できる。
【0005】
しかし、シナリオを生成する上では文脈のミスマッチを避ける必要があり、これが最も大きな課題となっている。例えば「太陽光パネルで受光する→エネルギを消費する」と「エネルギを消費する→人体の細胞を復元する」という因果関係を連鎖させるとおかしなシナリオが得られてしまう。これはこれら因果関係の周辺の文脈が互いに一致していないために生じる問題である。
【0006】
後掲の非特許文献1は、こうした問題を解決するための提案を行っている。非特許文献1に開示された因果関係の認識方法は、BERT(Bidirectional Encoder Representations from Transformers)モデル(以下、単に「BERT」という。)を用いる。BERTは、内部に複数のトランスフォーマモデルを含んだモデルであり、大量のテキストから教師なしで事前学習を行うことができる。さらに特定のタスクに関するファインチューニングと呼ばれる訓練を行うことで、そのタスクに対する比較的少ない教師データでも高い精度が得られるとされている。
【0007】
非特許文献1では、因果関係を大量に含むテキストでBERTの事前学習を行った上で、3種類のファインチューニング方法を提案している。そのうちの一つの方法では、BERTのファインチューニング用の入力データとして、因果関係候補と、その因果関係候補が因果関係として相当か否かを示す評価者によるラベルと、背景知識を示す情報とを与える。評価者は3人とし、各評価者について別々のソフトマックス層を同一のBERTの出力を受けるように設けてBERT及び各ソフトマックス層の学習を行う。このとき、各評価者によるラベルを教師データとし、各評価者について別々のソフトマックス層を用いて学習する。こうしてBERT及び3個のソフトマックス層の学習が終了した後、入力に応じてBERT及び3つのソフトマックス層の各々との組合せの出力を算出し、それらの平均を最終結果とする。背景知識としては、非特許文献2に記載のものを用いる。この背景知識は、バイナリパターン、なぜ型質問応答システムから得た回答、及び手がかり語を含む文を含む。
【0008】
バイナリパターンとは、ウェブから収集したテキストの依存構造上で、ある因果関係の原因部の名詞句(以下、「原因名詞」という。)と結果部の名詞句(以下、「結果名詞」という。)とを接続する最短のパスをいう。例えば「AがBを引き起こす」という因果関係の場合、Aが原因名詞、Bが結果名詞である。このようなバイナリパターンとともに生じる原因名詞及び結果名詞の組み合わせ(例えば「たばこ」と「肺がん」)は、因果関係の存在を強く示唆する。なおバイナリパターンでは、原因名詞はそれを表す何らかの変数(例えば「A」)に、結果名詞は同様にそれを表す何らかの変数(例えば「B」)に、それぞれ置き換えられている。
【0009】
なぜ型質問応答システムから得た回答とは、因果関係の結果部から自動生成された質問、例えば「なぜ人は肺がんで死亡するのですか?」という質問に対して、既存のなぜ型質問応答システムから得られた回答、例えば「タバコを吸うからです。」というような回答のことをいう。
【0010】
なお、因果関係の原因部は一般的に「原因名詞+原因部の述語」という形式であり、結果部は一般的に「結果名詞+結果部の述語」という形式である。
【0011】
手がかり語を含む文とは、因果関係を表すとされる接続詞である「ため」「から」等の手がかり語により原因名詞と結果名詞とが連結されているような文のことをいう。
【0012】
非特許文献1によれば、このような情報を用いて訓練したBERTを用いた実験では、従来の技術によるものと比較してFメジャーの値も平均適合率も高くなり、特にFメジャーの値は従来の技術と比較して有意に高かったとされている。Fメジャーと平均適合率とは、ここでは、得られた因果関係の表現が、因果関係としてふさわしいかについての指標であり、値が高いほど、精度がよいことを示すものである。
【先行技術文献】
【非特許文献】
【0013】
【文献】Kazuma Kadowaki, Ryu Iida, Kentaro Torisawa, Jong-Hoon Oh, and Julien Kloetzer. 2019. Event causality recognition exploiting multiple annotators’ judgments and background knowledge. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 5816-5822, Hong Kong, China. Association for Computational Linguistics.
【文献】Canasai Kruengkrai, Kentaro Torisawa, Chikara Hashimoto, Julien Kloetzer, Jong-Hoon Oh, and Masahiro Tanaka. 2017. Improving event causality recognition with multiple background knowledge sources using multi-column convolutional neural networks. In Proceedings of the 31st AAAI Conference on Artificial Intelligence, pages 3466-3473.
【文献】Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin (2017). Attention is All You Need. In Proceedings of the 31st Neural Information Processing Systems Conference (NIPS), pp. 5998-6008.
【文献】Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pages 4171-4186. Association for Computational Linguistics.
【文献】Chikara Hashimoto, Kentaro Torisawa, Julien Kloetzer, Motoki Sano, Istvan Varga, Jong-Hoon Oh, and Yutaka Kidawara. 2014. Toward future scenario generation: Extracting event causality exploiting semantic relation, context, and association features. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, pages 987-997.
【発明の概要】
【発明が解決しようとする課題】
【0014】
非特許文献1に記載された技術は、従来の技術と比べてより高いFメジャー及び適合率を示すという優れた効果が得られる。しかし、前述したようにこの分野では、より高い性能を示すような因果関係の判定のためのモデルが常に求められている。そのためには、判定に使用する機械学習モデルとしてさらに望ましいものを探索し、あわせてその機械学習モデルを適切に訓練する必要がある。
【0015】
したがってこの発明は、因果関係の判定が従来よりも高い精度で行えるように機械学習モデルを訓練できるモデル訓練装置及びその機械学習モデルを提供することを目的とする。
【課題を解決するための手段】
【0016】
この発明の第1の局面に係るモデル訓練装置は、機械学習モデルの訓練を行うためのモデル訓練装置であって、機械学習モデルは複数のニューラル・ネットワークと、当該複数のニューラル・ネットワークの出力に基づき分類結果を出力する分類層とを含み、モデル訓練装置は、複数の因果関係候補の各々から、因果関係に関する複数種類の背景知識を抽出する背景知識抽出手段を含み、複数種類の背景知識はそれぞれ複数のニューラル・ネットワークの異なる一つに対応付けられ、複数の因果関係候補の各々に対し、当該因果関係候補から抽出された複数種類の背景知識の各々について、当該因果関係と、当該背景知識と、当該因果関係候補に関する評価結果とを組み合わせた訓練データを生成する訓練データ生成手段と、当該因果関係候補から複数種類の背景知識について得られた訓練データを、複数のニューラル・ネットワークに入力したときの分類層の出力と、当該訓練データの評価結果とを用いて機械学習モデルの訓練を行う訓練手段とを含む。
【0017】
好ましくは、複数のニューラル・ネットワークは、互いに同じ構成の複数のBERTを含む。
【0018】
より好ましくは、背景知識抽出手段は、複数の因果関係候補の各々から、原因名詞と結果名詞とを抽出し、原因名詞と結果名詞との各々について、類義語を取得する類義語取得手段と、類義語取得手段により取得された原因名詞の類義語と、結果名詞の類義語との任意の組み合わせを結ぶバイナリパターンを文書アーカイブから抽出する類義バイナリパターン抽出手段と、因果関係を記憶する因果関係記憶手段と、類義語取得手段により取得された原因名詞の類義語の一つと、結果名詞の類義語の一つとを持つ因果関係を因果関係記憶手段から抽出する類義因果関係抽出手段とを含む。
【0019】
さらに好ましくは、モデル訓練装置は、複数の評価者による評価結果を記憶する評価結果記憶手段と、複数の評価者による評価結果の多数決による評価結果を記憶する多数決結果記憶手段とをさらに含み、訓練データ生成手段は、複数の因果関係候補の各々に対し、当該因果関係候補に対する複数の評価者による評価結果の各々について、当該因果関係候補から抽出された複数種類の背景知識の各々について、当該因果関係候補と、当該背景知識と、評価者を示す識別子と、当該因果関係候補に関する識別子により表される評価者別の評価結果とを組み合わせた訓練データ及び当該因果関係候補から抽出された複数種類の背景知識の各々について、当該因果関係候補と、当該背景知識と、当該因果関係候補に関する多数決による評価結果を示す識別子と、当該因果関係候補に関する多数決による評価結果とを組み合わせた訓練データを生成する評価者別訓練データ生成手段とを含む。
【0020】
この発明の第2の局面に係る機械学習モデルは、上記したいずれかのモデル訓練装置により訓練された機械学習モデルである。
【0021】
この発明の第3の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの装置の各手段として機能させる。
【0022】
この発明の上記及び他の目的、特徴、局面及び利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0023】
図1図1は、因果関係からシナリオを生成する過程を模式的に示す図である。
図2図2は、非特許文献1で使用されている背景知識の構成を模式的に示す図である。
図3図3は、非特許文献1で使用されているBERTによる機械学習モデルの構成を模式的に示す図である。
図4図4は、この発明の第1の実施の形態で使用する背景知識の構成を模式的に示す図である。
図5図5は、第1の実施の形態で使用するマルチBERTによる機械学習モデルの構成を模式的に示す図である。
図6図6は、第1の実施の形態に係る機械学習モデル訓練装置の構成を示すブロック図である。
図7図7は、図6に示す背景知識抽出部242の構成を示すブロック図である。
図8図8は、第1の実施の形態に係る機械学習モデル訓練装置により訓練したマルチBERTを用いた因果関係判定装置の構成を示すブロック図である。
図9図9は、第1の実施の形態に係る機械学習モデル訓練装置により訓練した因果関係判定装置の性能を、従来技術による性能と比較して表形式で示す図である。
図10図10は、先行技術に係る機械学習モデル訓練装置の構成を示すブロック図である。
図11図11は、図10に示すシナリオ判定部の構成を模式的に示す図である。
図12図12は、この発明の第2の実施の形態に係る機械学習モデル訓練装置の構成を示すブロック図である。
図13図13は、図12に示すシナリオ判定部の構成を模式的に示す図である。
図14図14は、この発明の第2の実施の形態に係る機械学習モデル訓練装置により訓練したマルチBERTの性能を従来技術と比較して表形式で示す図である。
図15図15は、シナリオのスコア算出方法の従来技術を模式的に示す図である。
図16図16は、この発明の第3の実施の形態に係るシナリオの算出方法を模式的に示す図である。
図17図17は、この発明の第4の実施の形態に係るシナリオの算出方法を模式的に示す図である。
図18図18は、この発明の第3の実施の形態に係るシナリオスコア算出方法を実現するプログラムの制御構造を示すフローチャートである。
図19図19は、この発明の第4の実施の形態に係るシナリオスコア算出方法を実現するプログラムの制御構造を示すフローチャートである。
図20図20は、この発明の第4の実施の形態に係るシナリオスコア算出方法を実現する他のプログラムの制御構造を示すフローチャートである。
図21図21は、この発明の第3の実施の形態及び第4の実施の形態に係るシナリオ算出方法によるシナリオ算出の精度を表形式で示す図である。
図22図22は、この発明の各実施の形態に係る装置及び方法を実現するコンピュータシステムの外観図である。
図23図23は、図22に示すコンピュータのハードウェアブロック図である。
【発明を実施するための形態】
【0024】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰り返さない。
【0025】
第1 先行技術
1. シナリオ生成
図1に、シナリオ生成の一般的な流れを示す。図1を参照して、シナリオ生成システム50は、ウェブ60から因果関係を収集する因果関係取得部62と、因果関係取得部62により収集された因果関係から因果シナリオ66を生成するシナリオ生成部64とを含む。シナリオ生成部64は、複数のシナリオ候補を取得(生成)するシナリオ候補の取得処理部70と、シナリオ候補の取得処理部70により取得された複数のシナリオ候補をそれらのスコアに基づいてランキングし、最もスコアの高いいくつかのシナリオ候補を因果シナリオ66として出力するシナリオランキング部72とを含む。
【0026】
因果関係の収集は何らかの手段で自動的に行ってもよいし、人手で行ってもよい。
【0027】
2. 背景知識
非特文献1に記載の因果関係の判定では、図2に示すような背景知識を用いている。
【0028】
事象の因果関係90として、「原因名詞+原因の述語」→「結果名詞+結果の述語」というものを考える。例えば原因名詞として「薬」、結果名詞として「副作用」という組み合わせが考えられる。このとき、原因名詞(薬)と結果名詞(副作用)とを結ぶバイナリパターンを一般的な文から抽出する。これらをバイナリパターン(BP)背景知識92と呼ぶ。また、結果名詞と結果の述語との組み合わせから自動的に質問を生成し、なぜ型質問応答システムに入力して得られた回答から、原因名詞と結果名詞とを結んだバイナリパターンを抽出する。これらをWHY背景知識94と呼ぶ。最後に、手がかり語を持つパッセージから抽出した原因名詞と結果名詞を結ぶバイナリパターンを抽出する。これらをCLUE背景知識96と呼ぶ。
【0029】
これら背景知識は、基本的にはウェブ98から抽出される。非特許文献1ではこれらを背景知識として因果関係の判定に用いている。
【0030】
3. 機械学習モデル
図3に、非特許文献1が使用している機械学習モデルの構成を模式的に示す。図3を参照して、この機械学習モデル110は、ベクトルからなる入力120を受けて入力120により表される入力文xが因果関係として適切か否かを示す判定結果を出力するよう訓練されたBERT122と、BERT122の出力を受け、入力文xが因果関係として適切か否かに関する、3人の判定者の判定結果をそれぞれ表す3つの確率分布にしたがう値を出力するよう訓練済の分類層124とを含む。なお、BERT122は予め大量の一般文書を用いて事前学習したものである。BERTが事前学習済であることは、以下に説明する各実施の形態でも同様である。
【0031】
入力120は、判定対象となる因果関係候補である入力文xと、BP背景知識92と、WHY背景知識94と、CLUE背景知識96とを区切り文字を挟んで連結したベクトルである。BERTへの入力では、入力される各文字列の間に分離のための区切り文字を挿入することになっている。以下の説明でBERTへの入力を連結する、というときには、それらの間に区切り文字を挟むことが前提となっている。これら入力を構成する各文字はそれぞれいわゆるワンホットベクトルでもよいし、埋め込みベクトルでもよい。
【0032】
BERT122は、入力120を受けてエンコードされた入力(h)を出力する入力層130と、入力層130の出力を受ける第1トランスフォーマ層132と、第1トランスフォーマ層132の出力を受ける第2トランスフォーマ層134と、以下複数のトランスフォーマ層(図示せず)と、最終のトランスフォーマ層の出力する最終の隠れベクトル(h)を分類層124に出力する最終層136とを含む。
【0033】
第1トランスフォーマ層132、第2トランスフォーマ層134等のトランスフォーマと呼ばれるニューラル・ネットワークについては最近になって非特許文献3により提案されたモデルである。BERTはさらに最近になって非特許文献4において提案されたモデルであり、このトランスフォーマを複数個含む。BERTは、その性能の高さと事前学習のしやすさ及び特定のタスクへの転移学習の容易さとにより、自然言語処理においては事実上の標準モデルとなっている。
【0034】
なお、この先行技術では、入力文xが因果関係として適当なものか否かを3人の判定者がそれぞれ判定している。分類層124はこれら3人の判定者にそれぞれ応じた3つの線形和及びソフトマックス層を含む。機械学習モデル110の訓練は、分類層124については各判定者による判定結果を教師ラベルとして行われる。
【0035】
第2 第1の実施の形態
1. 構成
(1) 新しい背景知識
図4に、この発明の第1の実施の形態で使用する背景知識を模式的に示す。図4を参照して、先行技術の事象の因果関係90と同様の因果関係を例に説明する。この実施の形態では、図2に示すBP背景知識92及びWHY背景知識94を先行技術として使用する。しかしこの実施の形態では、図2のCLUE背景知識96に代えて、原因名詞と結果名詞との双方についての類義語を用いた背景知識150を新たに用いる。
【0036】
具体的には、事象の因果関係90の原因名詞と結果名詞との双方から原因名詞の類義語(以下これを「類義原因名詞」という。)と、結果名詞の類義語(以下これを「類義結果名詞」という。)とからなる類義名詞160を生成する。次に、ウェブ98から抽出した因果関係についての文から、類義原因名詞と類義結果名詞とを連結するバイナリパターンからなるSIM-BP背景知識162と、類義原因名詞と類義結果名詞とを連結する因果関係からなるSIM-EC背景知識164を生成し、これらを因果関係判定のための背景知識として用いる。ここで、SIM-EC背景知識は、従来技術を用いて構築した因果関係のデータベースを利用して、類義原因名詞と類義結果名詞を用いて、因果関係を抽出して生成する。例えば、因果関係のデータベースに「シガレットを吸って、肺の病気になった。」という因果関係が含まれていたと仮定し、原因名詞が「タバコ」、結果名詞が「肺がん」であった場合、類義原因名詞として「シガレット」、類義結果名詞として「肺の病気」を利用することで、先の因果関係を生成できる。実施例の構成では、背景知識として、因果関係のデータベースから抽出した因果関係(先の例では「シガレットを吸って、肺の病気になった。」の基になった文章(センテンス又はセンテンスの集まり)を、原因名詞及び結果名詞と結合させて、訓練データとして利用している。類義原因名詞として「シガレット」ではなくタバコの特定の銘柄の名称が得られた場合等も同様である。
【0037】
(2) 機械学習モデル
図5は、この実施の形態の機械学習モデル180の概略構成を示す。機械学習モデル180は、いずれもベクトルからなる入力190、194、198及び202を受け、推論結果のベクトルを出力するBERT192、196、200及び204と、BERT192、196、200、及び204の出力を受けるように接続され、3人の判定者の判定結果に応じた確率分布にしたがって判定対象の因果関係候補が適切か否かに関する分類結果を出力する分類層206とを含む。
【0038】
BERT192、196、200及び204の構成は図3に示すものと同様である。このように複数のBERTを組み合わせたモデルを、この明細書では「マルチBERT」という。
【0039】
BERT192への入力190であるxは、対象となる因果関係候補の文と、この文に基づいて得られたBP背景知識とを連結したベクトルである。BERT196への入力194であるxは、対象となる文と、この文に基づいて得られた質問に対し、なぜ型質問応答システムから得られた回答であるWHY背景知識とを連結したベクトルである。BERT200への入力198であるxは、対象となる文と、この文の原因名詞及び結果名詞から得られたSIM-BP背景知識とを連結したベクトルである。BERT204への入力202であるxは、対象となる文と、この文の原因名詞及び結果名詞から得られたSIM-EC背景知識とを連結したベクトルである。
【0040】
この実施の形態でも、分類層206は3人の判定者にそれぞれ応じた3つの線形和及びソフトマックス層を含む。これらはいずれもBERT192、196、200及び204の出力を受けるように接続されている。
【0041】
(3) 訓練装置
図6は、図5に示す機械学習モデル180を訓練するための訓練装置のブロック図である。図6を参照して、この訓練装置220は、訓練に使用される多数の因果関係候補を記憶するための因果関係候補記憶部230と、類義語辞書を記憶する類義語辞書記憶部232と、因果関係に関する多数のバイナリパターンからなるバイナリパターン辞書を記憶するバイナリパターン辞書記憶部234と、先行技術を利用して構築した因果関係を記録した因果関係データベース235と、ウェブから抽出した多数の文書を含むウェブアーカイブを記憶するウェブアーカイブ記憶部236とを含む。
【0042】
訓練装置220はさらに、因果関係候補記憶部230から因果関係候補を読み出し、3人の評価者にその評価(その因果関係候補が因果関係として適切か否か)を行わせる因果関係評価部238と、因果関係評価部238による評価結果を因果関係候補と評価者との組み合わせごとに記憶する評価結果記憶部240と、因果関係候補記憶部230、類義語辞書記憶部232及びバイナリパターン辞書記憶部234を参照して、ウェブアーカイブ記憶部236から因果関係候補に関する上述した背景知識を抽出する背景知識抽出部242と、背景知識抽出部242により抽出された背景知識を因果関係候補ごとに記憶する背景知識記憶部244とを含む。
【0043】
訓練装置220はさらに、因果関係候補ごとに、背景知識記憶部244に記憶された背景知識と、評価結果記憶部240に記憶された評価者ごとの評価結果とに基づいて、図5に示す入力190、194、198及び202を教師ラベルと組み合わせた訓練データを作成するための訓練データ作成部246と、訓練データ作成部246が作成した訓練データを記憶するための訓練データ記憶部248と、訓練データ記憶部248に記憶された訓練データを用いて機械学習モデル180の訓練(ファインチューニング)を行うためのBERT訓練部250とを含む。
【0044】
図7は、図6に示す背景知識抽出部242のより詳細なブロック図である。図7を参照して、背景知識抽出部242は、因果関係候補記憶部230から因果関係候補を読み出し、その因果関係候補の原因名詞と結果名詞とを抽出する原因単語・結果単語抽出部270と、原因単語・結果単語抽出部270により抽出された原因名詞及び結果名詞の各々についての類義語(類義原因名詞及び類義結果名詞)を類義語辞書記憶部232において検索し取り出すための類義語検索部272とを含む。
【0045】
背景知識抽出部242はさらに、原因単語・結果単語抽出部270により抽出された原因名詞及び結果名詞、類義語検索部272により出力された類義原因名詞及び類義結果名詞、バイナリパターン辞書記憶部234に記憶されたバイナリパターン辞書、因果関係データベース235に記憶された因果関係、並びにウェブアーカイブ記憶部236に記憶された多数の文書を参照して、BP背景知識、SIM-BP背景知識、及びSIM-EC背景知識を生成し出力するための背景知識生成部274を含む。
【0046】
背景知識抽出部242はさらに、因果関係候補記憶部230から因果関係候補を読み出し、その結果部から従来と同様にして質問文を自動的に生成する質問生成部278と、質問生成部278が生成した質問文を外部のなぜ型質問応答システム280に与え、その回答をそのスコアとともに受信するための回答収集部282と、回答収集部282が収集した回答の中でスコアが高いものから所定個数を選択するための回答選択部284と、バイナリパターン辞書記憶部234を参照して、回答選択部284により選択された回答からバイナリパターン辞書記憶部234に記憶されたいずれかのバイナリパターンと合致するものを抽出しWHY背景知識として出力するバイナリパターン抽出部286とを含む。
【0047】
背景知識抽出部242はさらに、背景知識生成部274及びバイナリパターン抽出部286が出力した背景知識を記憶するための背景知識記憶部244を含む。背景知識記憶部244は、BP背景知識を記憶するためのBP記憶部300と、SIM-BP背景知識を記憶するためのSIM-BP記憶部302と、SIM-EC背景知識を記憶するためのSIM-EC記憶部304と、バイナリパターン抽出部286が出力するWHY背景知識を記憶するためのWHY記憶部306とを含む。
【0048】
(4) 因果関係の判定
図8に、以上に説明した訓練データにより訓練した機械学習モデル180を用い、入力される因果関係候補が因果関係として適切か否かを判定する装置の構成について説明する。図8にそうした装置の例である因果関係判定装置330の構成を示す。図8を参照して、因果関係判定装置330は、類義語辞書記憶部232、バイナリパターン辞書記憶部234、因果関係データベース235、及びウェブアーカイブ記憶部236と、因果関係候補350を受け付け、ベクトル化して出力する因果関係候補受付部352とを含む。
【0049】
因果関係判定装置330はさらに、因果関係候補受付部352が受け付けた因果関係候補350から原因名詞と結果名詞とを抽出する、図7の原因単語・結果単語抽出部270と同様の機能を持つ原因単語・結果単語抽出部354と、原因単語・結果単語抽出部354により抽出された原因名詞と結果名詞の各々について類義語辞書記憶部232を検索し、類義語を出力する、図7に示す類義語検索部272と同様の機能を持つ類義語検索部356と、原因単語・結果単語抽出部354が抽出した原因名詞と、類義語検索部356が出力した類義語とを用い、バイナリパターン辞書記憶部234に記憶されたバイナリパターンを参照してBP360、SIM-BP362、及びSIM-EC364を生成する背景知識生成部358とを含む。
【0050】
因果関係判定装置330はさらに、因果関係候補の結果部から自動的に質問文を生成する質問生成部368と、質問生成部368が生成した質問文を外部のなぜ型質問応答システム370に与え、その回答を収集する回答収集部372と、回答収集部372が収集した回答の中でスコアが最も高いものを選択する回答選択部374と、バイナリパターン辞書記憶部234に記憶されたバイナリパターン辞書を参照し、回答選択部374により選択された回答からバイナリパターンを抽出してWHY背景知識378として出力するためのバイナリパターン抽出部376とを含む。
【0051】
因果関係判定装置330はさらに、背景知識生成部358が出力するBP360及び因果関係候補受付部352の出力を用いて図5の入力190の構成を持つ入力を生成し、BERT192に入力するための第1入力生成部380と、バイナリパターン抽出部376が出力するWHY背景知識378と因果関係候補受付部352の出力を用いて図5の入力194の構成を持つ入力を生成し、BERT196に与えるための第2入力生成部384と、背景知識生成部358が出力するSIM-BP362と因果関係候補受付部352の出力とを用いて図5の入力198の構成を持つ入力を生成し、BERT200に与えるための第3入力生成部388と、背景知識生成部358の出力するSIM-EC364と因果関係候補受付部352の出力とを用いて、図5の入力202の構成を持つ入力を生成し、BERT204に与えるための第4入力生成部392とを含む。
【0052】
BERT192、196、200及び204の出力はいずれも分類層206の3つの線形和及びソフトマックス層の入力に接続されている。これら3つの線形和及びソフトマックス層の各々は、3人の評価者のうちの一人に対応する判定結果を示す出力を持つ。
【0053】
以上に構成を説明した訓練装置220及び因果関係判定装置330は以下のように動作する。
【0054】
2.動作
(1)事前学習
事前学習では、事前にウェブから収集した多数の文を用いてBERT192、196、200及び204の学習を行う。BERTの事前学習の仕方についてはよく知られているのでここではその詳細は繰り返さない。
【0055】
(2)訓練データの準備
機械学習モデル180を訓練(ファインチューニング)するための訓練データは以下のようにして準備される。図6を参照して、ウェブ等から多数の因果関係候補を因果関係候補記憶部230に保存しておく。類義語辞書記憶部232、バイナリパターン辞書記憶部234、及びウェブアーカイブ記憶部236についても必要なデータを保存しておく。
【0056】
因果関係評価部238は、因果関係候補記憶部230から因果関係候補の各々を読み出し因果関係評価部238に与える。因果関係評価部238は、3人の評価者に因果関係候補が因果関係として適切か否かに関する判定を行わせ、その結果を評価結果記憶部240に記憶させる。
【0057】
一方、背景知識抽出部242は以下のように動作する。図7を参照して、原因単語・結果単語抽出部270は、因果関係候補記憶部230から因果関係候補を読み出し、その因果関係候補の原因名詞と結果名詞とを抽出する。類義語検索部272は、原因単語・結果単語抽出部270により抽出された原因名詞及び結果名詞の各々についての類義語(類義原因名詞及び類義結果名詞)を類義語辞書記憶部232において検索し取り出す。
【0058】
背景知識生成部274は、原因単語・結果単語抽出部270により抽出された原因名詞及び結果名詞、類義語検索部272により出力された類義原因名詞及び類義結果名詞、因果関係データベース235に記憶された因果関係、並びにバイナリパターン辞書記憶部234に記憶されたバイナリパターン辞書を参照して、BP背景知識、SIM-BP背景知識、及びSIM-EC背景知識を生成し出力する。
【0059】
質問生成部278は、因果関係候補記憶部230から因果関係候補を読み出し、その結果部から従来と同様にして質問文を自動的に生成する。回答収集部282は、質問生成部278が生成した質問文を外部のなぜ型質問応答システム280に与え、その回答をそのスコアとともに受信する。回答選択部284は、回答収集部282が収集した回答の中でスコアが最も高い所定個数を選択する。バイナリパターン抽出部286は、バイナリパターン辞書記憶部234を参照して、回答選択部284により選択された回答からバイナリパターン辞書記憶部234に記憶されたいずれかのバイナリパターンと合致するものを抽出しWHY背景知識として出力する。
【0060】
背景知識記憶部244のBP記憶部300は、BP背景知識を記憶する。SIM-BP記憶部302は、SIM-BP背景知識を記憶する。SIM-EC記憶部304は、SIM-EC背景知識を記憶する。WHY記憶部306は、バイナリパターン抽出部286が出力するWHY背景知識を記憶する。
【0061】
図6に戻り、訓練データ作成部246は、因果関係候補記憶部230から読み出された因果関係候補と、その因果関係候補に関して背景知識記憶部244に記憶された背景知識と、同じくその因果関係候補に対して評価結果記憶部240に記憶されていた3人の評価者の評価結果の各々とを組み合わせて訓練データを作成し、訓練データ記憶部248に格納する。
【0062】
(3)ファインチューニング
訓練データ記憶部248はこの訓練データから、図5に示すような入力190、194、198及び202のような形式の入力ベクトルを生成し、それらに対する評価結果を教師ラベルとして機械学習モデル180の訓練(ファインチューニング)を行う。ファインチューニングは通常の誤差逆伝播法で行われる。
【0063】
(4)因果関係の判定処理
図8を参照して、因果関係判定装置330は以下のように動作する。因果関係判定装置330の因果関係候補受付部352は、因果関係候補350を受け付け、ベクトル化して出力する。
【0064】
原因単語・結果単語抽出部354は、図7の原因単語・結果単語抽出部270と同様、因果関係候補受付部352が受け付けた因果関係候補350から原因名詞と結果名詞とを抽出する。類義語検索部356は、図7に示す類義語検索部272と同様、原因単語・結果単語抽出部354により抽出された原因名詞と結果名詞の各々について類義語辞書記憶部232を検索し、類義語を出力する。背景知識生成部358は、原因単語・結果単語抽出部354が抽出した原因名詞と、類義語検索部356が出力した類義語とを用い、バイナリパターン辞書記憶部234に記憶されたバイナリパターン、因果関係データベース235に記憶された因果関係、及びウェブアーカイブ記憶部236に記憶された多数の文書内の文を参照してBP360、SIM-BP362、及びSIM-EC364を生成する。
【0065】
因果関係判定装置330の質問生成部368は、因果関係候補受付部352の結果部から自動的に質問文を生成する。回答収集部372は、質問生成部368が生成した質問文を外部のなぜ型質問応答システム370に与え、その回答を収集する。回答選択部374は、回答収集部372が収集した回答の中でスコアが最も高いものを選択する。バイナリパターン抽出部376は、バイナリパターン辞書記憶部234に記憶されたバイナリパターン辞書を参照し、回答選択部374により選択された回答からバイナリパターンを抽出してWHY背景知識378として出力する。
【0066】
因果関係判定装置330の第1入力生成部380は、背景知識生成部358が出力するBP360及び因果関係候補受付部352の出力を用いて図5の入力190の構成を持つ入力を生成し、BERT192に入力する。第2入力生成部384は、バイナリパターン抽出部376が出力するWHY背景知識378と因果関係候補受付部352の出力を用いて図5の入力194の構成を持つ入力を生成し、BERT196に与える。第3入力生成部388は、背景知識生成部358が出力するSIM-BP362と因果関係候補受付部352の出力とを用いて図5の入力198の構成を持つ入力を生成し、BERT200に与える。第4入力生成部392は、背景知識生成部358の出力するSIM-EC364と因果関係候補受付部352の出力とを用いて、図5の入力202の構成を持つ入力を生成し、BERT204に与える。
【0067】
BERT192、196、200及び204の出力はいずれも分類層206の3つの線形和及びソフトマックス層の入力に与えられる。これら3つの線形和及びソフトマックス層の各々は、3人の評価者のうちの一人に対応する判定結果を示す値を出力する。例えば、これら3つの値(確率値)の平均を計算して、判定結果として用いることで、因果関係候補350が因果関係として適切か否かを判定できる。
【0068】
3. 実験と効果
図9に、上記第1の実施の形態の効果を確認するための実験結果を示す。実験では、非特許文献3で使用したものと同じ因果関係候補を使用した。これらは6億のウェブページから抽出したものである。各因果関係候補は、原因部、結果部、及びそれらが抽出された元の文を含んでいた。3人の評価者が各因果関係候補について因果関係か非因果関係かを判定しラベルを付した。
【0069】
BERTを用いた全ての方法には、非特許文献4に記載の、ウェブから抽出した4×10文を用いて事前学習した基本モデル(BERTBASE)を用いた。評価には、各BERTを開発セットで最適化した後にテストセットに適用した結果から得られたFメジャー(F1)と平均適合率とを用いた。結果の信頼性を確保するため、いずれも5つのモデルに対するモデル平均手法(Model Averaging)を用いた。
【0070】
図9に結果を表形式で示す。図9は、上から単純BERTで非特許文献2に記載の背景知識を用いたもの、単純BERTに上記実施の形態で説明した新たな背景知識を用いたもの、非特許文献1に記載の方式に上記した新たな背景知識を用いたもの、上記実施の形態で説明したマルチBERTに新たな背景知識を用いたもの、及び非特許文献1による最高結果とを示す。
【0071】
1行目と2行目とを比較することにより、新たな背景知識を用いることで、非特許文献2に記載のものよりも平均適合率が3.0高くなったことが分かる。また3行目と4行目とを比較することにより、非特許文献1の方式と比較して、上記実施の形態のマルチBERTを用いると平均適合率が1.1高くなった事がわかる。さらに5行目と4行目とを比較すると、非特許文献1の方式よりも上記実施の形態によるモデルがFメジャーで0.9、平均適合率で2.2上回っている。したがって、本願実施の形態によるマルチBERTの性能の高さ、及び新たな背景知識が有効であることが確認できた。
【0072】
4. 変形例
上記実施の形態では、評価者に関する情報は、ファインチューニングの際の教師ラベルに関するのみである。しかしこの発明はそのよう実施の形態には限定されない。図5に示す入力190、194、198及び202の任意の位置(例えば先頭)に、評価者の識別子をプレフィックスとして付すようにしてもよい。また、後に実施の形態で説明する多数決による評価結果を示す識別子「MAJ」をプレフィックスとして付して、ファインチューニングを行うようにしてもよい。この変形例の場合は、線形和及びソフトマックス層は、一つだけ用意することになり、因果関係として適切かどうかを示す確率値を出力する。
【0073】
なお、ここには記載していないが、マルチBERTを用いて、上記した新たな背景知識のいずれかを取り除いてテストセットによりその性能を測る実験も行った。実験結果によれば、いずれの背景知識を取り除いた場合にも、図9に示す結果を下回った。その結果、上記した新たな背景知識の各々がいずれも重要な意味を持つことが分かる。
【0074】
第3 第2の実施の形態
1. 構成
(1) 先行技術
第2の実施の形態は、因果関係を連鎖させてシナリオを生成する装置に関する。図10に、非特許文献1に記載の技術をシナリオ生成に適用して得られるシナリオ生成装置の構成を示す。
【0075】
図10を参照して、先行技術に係るシナリオ生成装置410は、多数の因果関係を記憶する因果関係記憶部420と、因果関係記憶部420に記憶された因果関係のうち、一方の結果部と他方の原因部とが一致するような因果関係を抽出し連鎖させることにより、多数のシナリオ候補を生成するシナリオ候補生成部422と、シナリオ候補生成部422が生成したシナリオ候補を記憶するシナリオ候補記憶部424と、シナリオ候補記憶部424に記憶されたシナリオ候補の各々について、所定の数(例えば3人)の評価者にそれぞれ評価させ、評価結果を得るシナリオ候補評価部426と、各シナリオ候補についてシナリオ候補評価部426により得られた3つの評価結果に対して多数決によりそのシナリオ候補の評価を決定するための多数決部428と、多数決部428による評価結果を記憶するための多数決結果記憶部430とを含む。
【0076】
シナリオ生成装置410はさらに、シナリオ候補記憶部424に記憶された各シナリオ候補と、多数決結果記憶部430に記憶されたそのシナリオ候補に対する多数決の評価結果とから訓練データを作成する訓練データ作成部432と、訓練データ作成部432が作成した訓練データを記憶するための訓練データ記憶部434と、訓練データ記憶部434を用いて、シナリオ候補が因果関係シナリオとして適切か否かを判定する、BERTを含むシナリオ判定部438を訓練するためのBERT訓練部436とを含む。
【0077】
(2) 先行技術の機械学習モデル
図11に、図10のシナリオ判定部438の構成を模式的に示す。図11を参照して、シナリオ判定部438は、入力450をその入力として受けるBERT452を含む。入力450は、因果関係シナリオ候補を形成する第1文と第2文とを連結したベクトルxであり、教師ラベルは多数決結果(y)である。
【0078】
BERT452は、第1の実施の形態と同様、入力をエンコードする入力層と、出力である隠れベクトルを出力する出力層と、入力層及び出力層の間に直列に置かれた複数のトランスフォーマ層とを含む。
【0079】
シナリオ判定部438はさらに、BERT452の出力する隠れベクトルを受け、このベクトルの各要素の重み付き線形和とソフトマックス関数とにより、入力450に対する分類結果(シナリオとして適切か否か)を示す値を出力する分類層454とを含む。
【0080】
(3) 実施の形態の訓練装置
図12に第2の実施の形態に係るシナリオ生成装置470の概略ブロック図を示す。図12を参照して、シナリオ生成装置470は、図10に示すシナリオ生成装置410とほぼ同じ構成を持つ。シナリオ生成装置470がシナリオ生成装置410と異なるのは、シナリオ候補評価部426の出力する、各シナリオ候補に関する3人の評価者の評価を記憶する評価結果記憶部480を含むこと、並びに、図10の訓練データ作成部432、訓練データ記憶部434、BERT訓練部436、及びシナリオ判定部438に代えて、訓練データ作成部482、訓練データ記憶部484、BERT訓練部486、及びシナリオ判定部488を含むことである。
【0081】
訓練データ作成部482は、図10の訓練データ作成部432と異なり、各シナリオ候補に対して、評価者の数+1だけの数の訓練データを作成する。訓練データの構成も図10に示すものと異なる。
【0082】
より具体的には、図13を参照して、3人の評価者がいる場合、訓練データ作成部482は多数決入力500、第1評価者入力502、第2評価者入力504及び第3評価者入力506の4つの訓練データを作成する。
【0083】
訓練データ記憶部484及びBERT訓練部486は扱う対象の訓練データが異なるだけで、図10の訓練データ記憶部434及びBERT訓練部436と機能的には同じである。
【0084】
(4) 実施の形態の機械学習モデルと訓練データ
図13を参照して、訓練データのうち、多数決入力500は、入力xと出力yとを含む。yは多数決の結果である。入力xは出力yが多数決の結果であることを示す識別子「MAJ」と、シナリオ候補の第1文と、第2文とを連結したものである。
【0085】
第1評価者入力502は、入力xと出力yとを含む。yは第1の評価者によるこのシナリオ候補の評価結果である。入力xは出力yが第1の評価者による評価であることを示す識別子「ANN1」と、シナリオ候補の第1文と、第2文とを連結したものである。第2評価者入力及び第3評価者入力も同様に、それぞれ第2の評価者及び第3の評価者に対する訓練データである。
【0086】
シナリオ判定部488の基本的構成も図11に示すシナリオ判定部438と同様であり、BERT508と、BERT508の出力を受け、シナリオとしての適切さを表す確率値を出力する分類層510とを含む。ただし、前述したように入力の構成がシナリオ判定部438の場合とは異なるため、少なくとも例えばBERT508の入力層のノード数等の点でシナリオ判定部488はシナリオ判定部438と異なっている。
【0087】
2. 動作
図12及び図13を参照して、シナリオ生成装置470は以下のように動作する。シナリオ生成装置470の因果関係記憶部420には、多数の因果関係が記憶されている。シナリオ候補生成部422は、因果関係記憶部420から、一方の結果部が他方の原因部と合致する2つの因果関係を抽出し、シナリオ候補としてシナリオ候補記憶部424に格納する。シナリオ候補記憶部424には、因果関係記憶部420から抽出されたシナリオ候補が多数記憶される。
【0088】
シナリオ候補評価部426は、シナリオ候補記憶部424に格納されたシナリオ候補の各々について、そのシナリオ候補が因果関係シナリオとして適切か否かの評価を3人の評価者に評価させ、その結果を評価者の区別とともに評価結果記憶部480に格納する。多数決部428は、シナリオ候補の各々について、そのシナリオ候補に関する各評価者による評価を評価結果記憶部480から読み出し、多数決により評価を決定する。この評価結果はシナリオ候補ごとに多数決結果記憶部430に記憶される。
【0089】
訓練データ作成部482は、各シナリオ候補に対して、評価者の数+1だけの数の訓練データを作成する。より具体的には、図13を参照して、3人の評価者がいる場合、訓練データ作成部482は多数決入力500、第1評価者入力502、第2評価者入力504及び第3評価者入力506の4つの訓練データを作成する。すなわち、訓練データ作成部482は、シナリオ候補記憶部424に記憶されたシナリオ候補の各々について、多数決結果記憶部430から多数決結果を読み出し、多数決結果を示す識別子「MAJ」並びにシナリオ候補の第1文及び第2文を連結した入力xと、多数決結果yとを組み合わせて多数決入力500を作成し訓練データ記憶部484に格納する。訓練データ作成部482は同様に、シナリオ候補の各々について、評価結果記憶部480から第1の評価者による評価結果yを読み出し、第1の評価者を示す識別子「ANN1」並びにシナリオ候補の第1文及び第2文を連結した入力xと、多数決結果yとを組み合わせて多数決入力500を作成し訓練データ記憶部484に格納する。訓練データ作成部482はさらに、入力xと出力yとを組み合わせて第2評価者入力を生成し、訓練データ記憶部484に格納する。yは第2の評価者によるこのシナリオ候補の評価結果である。訓練データ作成部482は最後に、入力xと出力yとを組み合わせて第3評価者入力を生成し、訓練データ記憶部484に格納する。yは第3評価者によるこのシナリオ候補の評価結果である。
【0090】
図12に示すBERT訓練部486は、このようにして作成され訓練データ記憶部484に格納された訓練データを用いてシナリオ判定部488のBERT508をファインチューニングする。このファインチューニングは、通常の訓練と同様、誤差逆伝播法による。
【0091】
3. シナリオ判定装置
この第2の実施の形態に係るシナリオ生成装置470により訓練したシナリオ判定装置の構成及び動作の概略は、図12と類似しているため詳細な説明はここでは繰り返さない。変わる点としては、シナリオ候補生成部422に判定対象のシナリオ候補が入力されるということ、訓練データ作成部482により作成される訓練データの入力xと同様の構成の入力を作成してシナリオ判定部488のBERT508に与えるということ、及びシナリオ判定部488の出力に基づいて、入力されたシナリオ候補が因果関係候補として適切か否かが判定される、ということである。つまり、評価時の入力としては、シナリオとして適切かどうかの判定の対象となる、シナリオを構成する候補の第1文と第2文に加えて、識別子「MAJ」が必ず入力される。
【0092】
4. 実験と効果
図14に、この第2の実施の形態に係るシナリオ生成装置470により訓練したBERTの性能を評価するための実験結果を、他の例による結果と比較して示す。図14の1行目は、単純なBERTを使用した例である。2行目は、上記実施の形態に係るBERTを用いた例である。3行目は、2行目に加えて実施の形態1でも用いた因果関係の判定のための訓練データを用いたものである。この例では、入力には、評価者の識別子に加え、シナリオ判定の訓練データか、因果関係の判定データかを示す識別子を付加した。因果関係の判定時には、因果関係に関する評価者による評価を教師データとする訓練を行った。4行目は、非特許文献1の方式による結果である。
【0093】
1行目と2行目とを比較することにより、評価者の識別子を訓練データに加えてBERTを訓練することにより、因果関係シナリオの判定に関するFメジャーと平均適合率の双方が向上したことが分かる。
【0094】
さらに、2行目と3行目とを比較すると、シナリオ判定とは異なる因果関係判定という他のタスクの訓練データを加え、タスクの識別子を加えて訓練をすることにより、さらに精度が向上する事がわかった。したがって、上記第2の実施の形態のように評価者の識別子、及びタスクの識別子のような何らかのプレフィックスを訓練データに加えることで、モデルの精度が向上することが期待できる。
【0095】
4行目と2行目及び3行目とを比較すると、この実施の形態により訓練したBERTにより、非特許文献1の方式により訓練したBERTよりも精度が向上したことが分かる。すなわちこの第2の実施の形態によれば、2つの因果関係を連鎖させてシナリオが因果関係として適切なものか否かに関する判定が、従来のものよりも正確に行える。
【0096】
第4 第3の実施の形態
1. 構成
(1) 先行技術
この第3の実施の形態及び後述の第4の実施の形態は、3つ以上の因果関係を連鎖させてシナリオを生成する技術に関する。このような場合、従来技術では、個々の因果関係の、因果関係としての適切さを表すスコアを用いていた(非特許文献5)。
【0097】
すわなち、図15を参照して、因果関係1のスコアをE(EC)、因果関係2のスコアをE(EC)、…、因果関係NのスコアをE(EC)とする。すると、これら因果関係1から因果関係Nを連鎖させてできるシナリオのスコアは以下で計算されていた。
【0098】
スコア=E(EC1)×E(EC2)×…×E(ECN)
このスコアは、因果関係として確実なものを連鎖させたシナリオがよいシナリオであるという考え方に基づくものであり、合理的である。
【0099】
(2) 実施の形態のスコア算出方法
しかし、既に説明した第2の実施の形態では、2つの因果関係からなるシナリオのスコア(これを「2ステップスコア」という。)を高い精度で算出できる。こうした技術があれば、この第3の実施の形態のように3個以上の因果関係からなるシナリオについても先行技術とは違う考え方でより高い精度でその妥当性を判定するスコアを算出できる可能性がある。そうした考え方を図16に示す。
【0100】
図16を参照して、因果関係1、2、3、…、因果関係Nを連鎖させたシナリオのスコア(マルチステップスコア)を以下のようにして算出する。
【0101】
スコア=
S(EC1,EC2)
×S([EC1,EC2],EC3)
×S([EC1,EC2,EC3],EC4)
×…
×S([EC1,EC2,…,ECN-1],ECN)
ここで、S(ECM,ECM+1)は因果関係Mと因果関係M+1との間の2ステップスコアを示し、[ECM,ECM+1,…,ECM+K]は因果関係M、因果関係M+1、…、因果関係M+KのK+1個の因果関係を連鎖させたシナリオを示す。このスコアは、因果関係と因果関係とを連鎖させるときの妥当性をシナリオの全体にわたり乗算したときの妥当性を示すものと考えられる。したがって、3個以上の因果関係を連鎖させて得られるシナリオの妥当性を判定するための指標としてこのスコアを利用できると考えられる。
【0102】
(3) スコア算出プログラム
図18は、図16に示すような考え方でシナリオのスコアを算出する方法をコンピュータにより実現するためのプログラムの制御構造を示すフローチャートである。
【0103】
図18を参照して、このプログラムは、最初に初期設定を行うステップ560を含む。なお、ここでは因果関係1から因果関係NのN個の因果関係を連鎖させたシナリオの妥当性を判定するものとする。ステップ560では、スコアを表す変数scoreに1が代入され、各ステップで連鎖される先行する因果関係を示す変数ECに判定対象のシナリオの先頭の因果関係ECが代入される。
【0104】
このプログラムはさらに、ステップ560に続き、変数jの値を2からNまで1ずつ増分させながら処理564を繰り返すことで上記したシナリオのscoreを算出するステップ562と、ステップ562で算出されたscoreを出力して処理を終了するステップ566とを含む。
【0105】
処理564は、以下の式にしたがってscoreの値を更新するステップ570と、変数ECを[EC,EC]で置き換えるステップ572とを含む。
【0106】
score=score×S[ECx,ECj]
2. 動作
図18において、scoreはステップ560で1に初期化される。その後、最初に処理564が実行されると、j=2であるからscoreの値はS[EC,EC]で更新される。変数ECはステップ572で[EC,EC]に更新される。
【0107】
次に処理564が実行されるとき(j=3)には、scoreの値はS([EC,EC],EC)に更新される。以下同様にj=4,…,Nまで処理564が繰り返され、その結果、scoreは以下の式により表される値となり、ステップ566で出力される。
【0108】
Score
=S(EC1,EC2)
×S([EC1,EC2],EC3)
×S([EC1,EC2,EC3],EC4)
×…
×S([EC1,EC2,…,ECN-1],ECN)
【0109】
第5 第4の実施の形態
1. 構成
(1) 実施の形態のスコア算出方法
この第4の実施の形態は、第3の実施の形態と同様、先行技術と異なる算出方法でシナリオのスコアを算出する。図17を参照して、その式は第3の実施の形態とは異なり、以下のようなものである。
【0110】
【数1】
すなわち、対象となる因果関係EC,EC,…,ECから2個ずつを取り出す全ての組み合わせにわたり、それらの2ステップスコアを算出し、それらをかけ合わせてスコアを算出する。こうすることで、1つのシナリオを構成する全ての因果関係の2個ずつの組み合わせについて、その2ステップスコアが計算される。仮にある因果関係と別の因果関係との間の関連がほとんどない場合には、両者について算出した2ステップスコアは小さくなり、したがってシナリオ全体のスコアも小さくなる。シナリオを構成する全ての因果関係の間の2ステップスコアが高い場合には、全体のスコアも大きくなる。この場合、シナリオを構成する全ての因果関係がある共通の文脈にあると考えられる。したがってこの方式にしたがってシナリオの妥当性を判定することで、判定精度が高くなることが期待できる。
【0111】
(2) スコア算出プログラム
図19に、この第4の実施の形態に係るスコア算出方法を実行するようコンピュータを機能させるプログラムの制御構造を示す。
【0112】
図19を参照して、このプログラムは初期設定を行うステップ580を含む。初期設定では、スコアを表す変数scoreに1を代入する。
【0113】
このプログラムはさらに、変数iの値を1からN―1まで1ずつ増分させながら処理584を繰り返し実行することでシナリオ全体のスコアであるscoreを算出するステップ582と、ステップ582で算出されたscoreを出力しプログラムの実行を終了するステップ586とを含む。
【0114】
処理584は、変数jの値をi+1からNまで1ずつ増分させながらステップ592を繰り返し実行するステップ590を含む。ステップ592では、scoreを以下の式により更新する。
【0115】
Score=score×S(EC,EC
2. 動作
図19を参照して、ステップ580で変数scoreに1が代入される。
【0116】
ステップ582で変数iに1が代入される。処理584を最初に実行するとき、ステップ590で最初に変数jにi+1=2が代入される。ステップ592ではscore=1×S[EC,EC]でscoreが更新される。ステップ592の2回目の実行では、変数jにi+2=3が代入される。ステップ592では、score=S[EC,EC]×S[EC,EC]でscoreが更新される。
【0117】
これをj=Nまで繰り返すことで、scoreの値は以下により計算される。
【0118】
【数2】
【0119】
同様にして、i=2,…,N-1まで変化させながらscoreを更新することで、scoreは以下のように計算される。
【0120】
【数3】
【0121】
同様の計算は、図20に制御構造を示すプログラムでも実現できる。図20を参照して、このプログラムは、変数scoreに1を代入するという初期設定を実行するステップ620と、変数jを2からNまで1ずつ増分させながら処理624を繰り返し実行することによりscoreを算出するステップ622と、ステップ622により算出されたscoreを出力してこのプログラムの実行を終了するステップ626とを含む。
【0122】
処理624は、変数iの値を1からj―1まで1ずつ増分させながらステップ642を繰り返し実行するステップ640とを含む。
【0123】
このプログラムを実行することにより、図19に示すプログラムと同様の結果を得ることができる。
【0124】
3. 第3及び4の実施の形態の効果
図21に、この発明の第3及び4の実施の形態の効果を、先行技術等と比較して表形式で示す。図21を参照して、1列目はランキングに用いたスコアリング手法を示し、2列目は3ステップで作成したシナリオに対して1列目のスコアリング手法を適用したときの平均適合率を示し、3列目は4ステップで作成したシナリオに対して1列目のスコアリング手法を適用したときの平均適合率を示す。
【0125】
1行目はランキング手法として非特許文献1に記載したモデルによるものを示す。2行目はシナリオの先頭と最後のみに対して2ステップスコアを算出した結果を用いたものを示す。3行目は、連続する2つの因果関係のペアについて2ステップスコアを算出し、それらを乗算したものを示す。4行目は第3の実施の形態によるものであり、5行目は第4の実施の形態によるものを示す。
【0126】
3行目から5行目は、第2の実施の形態に示す2ステップスコアを用いたものと考えられるが、これらはいずれも1行目及び2行目の双方に対して、かつ3ステップシナリオと4ステップシナリオの双方に対しより高い平均適合率を示した。特に4ステップでの平均適合率は、これら3行の値を1行目及び2行目の値を比較すると非常に大きな相違があることが分かる。したがって、シナリオを生成するときに連鎖させる因果関係の数が多くなるほど、上記この発明の第2の実施の形態に係る2ステップスコアを組み合わせて算出したスコアを用いた場合の精度と従来の手法を用いた場合の手法との精度の差が大きくなると考えられる。
【0127】
第6 コンピュータによる実現
図22は、上記各実施の形態を実現するコンピュータシステムの外観図である。図23は、図22に示すコンピュータシステムのハードウェアブロック図である。
【0128】
図22を参照して、このコンピュータシステム950は、DVD(Digital Versatile Disc)ドライブ1002を有するコンピュータ970と、いずれもコンピュータ970に接続された、ユーザと対話するためのキーボード974、マウス976、及びモニタ972とを含む。もちろんこれはユーザ対話のための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)であればどのようなものも利用できる。
【0129】
図23を参照して、コンピュータ970は、DVDドライブ1002に加えて、CPU990と、GPU(Graphics Processing Unit)992と、CPU990、GPU992、DVDドライブ1002に接続されたバス1010と、バス1010に接続され、コンピュータ970のブートアッププログラム等を記憶するROM996と、バス1010に接続され、プログラムを構成する命令、システムプログラム、及び作業データ等を記憶するRAM998と、バス1010に接続された不揮発性メモリであるハードディスクドライブ(HDD)1000とを含む。ハードディスク1000は、CPU990及びGPU992が実行するプログラム、CPU990及びGPU992が実行するプログラムが使用するデータ等を記憶するためのものである。コンピュータ970はさらに、他端末との通信を可能とするネットワーク986への接続を提供するネットワークI/F1008と、USBメモリ984が着脱可能で、USBメモリ984とコンピュータ970内の各部との通信を提供するUSBポート1006とを含む。
【0130】
上記実施の形態では、図6から図8図10及び図12等のデータ及びパラメータ等は、いずれも例えば図23に示すHDD1000、RAM998、DVD978、又はUSBメモリ984、若しくはネットワークI/F1008及びネットワーク986を介して接続された図示しない外部装置の記憶媒体等に格納される。典型的には、これらのデータ及びパラメータ等は、例えば外部からHDD1000に書込まれコンピュータ970の実行時にはRAM998にロードされる。
【0131】
このコンピュータシステムを図6に示す訓練装置220、図8に示す因果関係判定装置330、図12に示すシナリオ生成装置470及びそれらの各構成要素の機能を実現するよう動作させるためのコンピュータプログラム、及び図18から図20に制御構造を示すプログラム等は、DVDドライブ1002に装着されるDVD978に記憶され、DVDドライブ1002からHDD1000に転送される。又は、このプログラムはUSBメモリ984に記憶され、USBメモリ984をUSBポート1006に装着し、プログラムをハードディスク1000に転送する。又は、このプログラムはネットワーク986を通じてコンピュータ970に送信されHDD1000に記憶されてもよい。プログラムは実行のときにRAM998にロードされる。もちろん、キーボード974、モニタ972及びマウス976を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをHDD1000に格納してもよい。スクリプト言語の場合には、キーボード974等を用いて入力したスクリプトをHDD1000に格納してもよい。仮想マシン上で動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ970にインストールしておく必要がある。
【0132】
CPU990は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスにしたがってRAM998からプログラムを読み出して命令を解釈し、命令の実行に必要なデータを命令及びデータにより指定されるアドレスにしたがってRAM998、ハードディスク1000又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU990は、実行結果のデータを、RAM998、ハードディスク1000、CPU990内のレジスタ等、プログラム及びデータにより指定されるアドレスに格納する。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD978から、USBメモリ984から、又はネットワークを介して、RAM998に直接にロードしてもよい。なお、CPU990が実行するプログラムの中で、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU990による命令実行時の解析結果にしたがって、GPU992にディスパッチされる。
【0133】
コンピュータ970により上記した各実施の形態に係る各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ970を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ970上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又はコンピュータ970にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」の機能を呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ970の動作方法は周知であるので、ここでは繰り返さない。なお、GPU992は並列処理を行うことが可能であり、機械学習及び推論実行に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中で発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU990からGPU992にディスパッチされ、実行され、その結果が直接に、又はRAM998の所定アドレスを介してCPU990に返され、プログラム中の所定の変数に代入される。
【0134】
第7 変形例
上記した実施の形態では、評価者は3人としたが、3人には限定されず、任意の人数を採用できる。また図4に示す背景知識150以外の背景知識を用いてもよいことは言うまでもない。その場合、マルチBERTの個数もそれに応じて増加させる必要がある。
【0135】
今回開示された実施の形態は単に例示であって、この発明が上記した実施の形態のみに制限されるわけではない。この発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【0136】
50 シナリオ生成システム
60、98 ウェブ
62 因果関係取得部
64 シナリオ生成部
66 因果シナリオ
70 シナリオ候補の取得処理部
72 シナリオランキング部
90 事象の因果関係
94、378 WHY背景知識
96 CLUE背景知識
110、180 機械学習モデル
120、190、194、198、202、450 入力
124、206、454、510 分類層
130 入力層
132 第1トランスフォーマ層
134 第2トランスフォーマ層
136 最終層
150 背景知識
160 類義名詞
220 訓練装置
230 因果関係候補記憶部
232 類義語辞書記憶部
234 バイナリパターン辞書記憶部
236 ウェブアーカイブ記憶部
238 因果関係評価部
240、480 評価結果記憶部
242 背景知識抽出部
244 背景知識記憶部
246、432、482 訓練データ作成部
248、434、484 訓練データ記憶部
250、436、486 BERT訓練部
270、354 原因単語・結果単語抽出部
272、356 類義語検索部
274、358 背景知識生成部
278、368 質問生成部
280、370 なぜ型質問応答システム
282、372 回答収集部
284、374 回答選択部
286、376 バイナリパターン抽出部
300 BP記憶部
302 SIM-BP記憶部
304 SIM-EC記憶部
306 WHY記憶部
330 因果関係判定装置
350 因果関係候補
352 因果関係候補受付部
360 BP
362 SIM-BP
364 SIM-EC
380 第1入力生成部
384 第2入力生成部
388 第3入力生成部
392 第4入力生成部
410、470 シナリオ生成装置
420 因果関係記憶部
422 シナリオ候補生成部
424 シナリオ候補記憶部
426 シナリオ候補評価部
428 多数決部
430 多数決結果記憶部
438、488 シナリオ判定部
500 多数決入力
502 第1評価者入力
504 第2評価者入力
506 第3評価者入力
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23