(58)【調査した分野】(Int.Cl.,DB名)
前記特定部は、前記第1コンテンツからのリンクが設定された他のコンテンツが説明する対象であって、前記第1対象と因果関係を有する対象を前記第2対象として特定する
ことを特徴とする請求項1〜3のうちいずれか1つに記載の取得装置。
前記取得部は、前記第1コンテンツおよび前記第2コンテンツに含まれる文字列のうち、因果関係の原因となる対象を示す文字列を原因を示す所定の第1シンボルに変換し、因果関係の結果となる対象を示す文字列を結果を示す所定の第2シンボルに変換した情報を前記学習データとして取得する。
ことを特徴とする請求項6または7に記載の取得装置。
前記特定部は、対象を説明するコンテンツの量が所定の条件を満たす言語で前記第1対象を説明する複数の第1コンテンツから、前記第1対象と因果関係を有する第2対象を特定し、
前記取得部は、前記言語ごとに、前記第1コンテンツに基づく情報と、当該第1コンテンツと同一言語で前記第2対象を説明する第2コンテンツに基づく情報との組を前記学習データとして取得する
ことを特徴とする請求項9に記載の取得装置。
前記特定部は、対象をそれぞれ異なる言語で説明する複数のコンテンツが登録された第1データベースにおいて同一の対象を説明するコンテンツを示す第2データベースを用いて、前記第1対象を説明する複数の第1コンテンツを特定するとともに、特定した複数の第1コンテンツから前記第2対象を特定する
ことを特徴とする請求項9または10に記載の取得装置。
前記取得部は、前記第1コンテンツに基づく情報と、前記第2コンテンツに基づく情報との組を正例として取得するとともに、第3対象を説明する第3コンテンツに基づく情報と、当該第3対象と因果関係を有しない第4対象を説明する第4コンテンツに基づく情報との組を負例として取得し、
前記学習部は、前記正例と前記負例とを用いて、前記モデルの学習を行う
ことを特徴とする請求項12に記載の取得装置。
【発明を実施するための形態】
【0010】
以下に、本願に係る取得装置、取得方法、および取得プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る取得装置、取得方法、および取得プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.情報提供装置について〕
まず、
図1を用いて、決定装置の一例である情報提供装置10が実行する処理の一例について説明する。
図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。
図1では、情報提供装置10が実行する処理として、指定されたコンテンツ同士が因果関係を有する対象を示すコンテンツであるか否かの分類を行うモデルを学習するための学習データを取得する取得処理、取得処理によって取得された学習データを用いてモデルの学習を行う学習処理、および、学習処理によって学習が行われたモデルを用いて指定されたコンテンツが因果関係を有する対象を示すコンテンツであるか否かの分類を行う分類処理の一例について説明する。
【0012】
〔1−1.情報提供装置の概要〕
情報提供装置10は、インターネット等の所定のネットワークN(例えば、
図2を参照。)を介して、データサーバ100および端末装置200と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数のデータサーバ100や端末装置200と通信可能であってよい。
【0013】
データサーバ100は、各種の情報を管理する情報処理装置であり、例えば、サーバ装置やクラウドシステムにより実現される。例えば、データサーバ100には、各種のコンテンツが登録されており、利用者からの要求に応じて、コンテンツの配信を行うサービスを提供する。
【0014】
端末装置200は、利用者が利用する端末装置であり、例えば、PC(Personal Computer)やサーバ装置、各種のスマートデバイス等により実現される。例えば、端末装置200は、利用者から各種の情報の入力を受付けると、情報提供装置10と通信を行い、通信結果となる情報を出力する機能を有する。
【0015】
〔1−2.データサーバ100が配信するコンテンツについて〕
ここで、データサーバ100が配信するコンテンツについて説明する。例えば、データサーバ100は、各種の名詞で示される物体・物質・人物・場所などといった具体的な対象や、病名、イベント、歴史上の出来事等といった事象を説明するコンテンツが登録されており、このようなコンテンツの配信を行うサーバ装置である。なお、以下の説明では、コンテンツが説明する具体的な対象や事象等を「対象」と総称する。
【0016】
また、データサーバ100は、それぞれ異なる言語で同一の対象を説明する複数のコンテンツが登録されている。例えば、データサーバ100は、日本語、英語、ドイツ語、フランス語、スペイン語、チェコ語等、各種の言語で同一の対象を説明する複数のコンテンツが登録されている。なお、データサーバ100は、ある対象について、データサーバ100が対応する全ての言語で説明するコンテンツが登録されている必要はなく、一部の言語によるコンテンツのみが登録されていてもよい。例えば、データサーバ100には、肺がんについて日本語と英語とドイツ語とのコンテンツがそれぞれ登録されており、煙草については、英語とフランス語とのコンテンツがそれぞれ登録されていてもよい。
【0017】
ここで、データサーバ100に登録されたコンテンツは、複数の編集者により独自の編集が行われるコンテンツであってもよい。例えば、データサーバ100は、あるコンテンツをいずれかの編集者が登録若しくは編集した場合、他の編集者による承認が行われたことを契機として、登録若しくは編集を反映させてもよい。
【0018】
また、データサーバ100に登録されたコンテンツには、他のコンテンツに対するリンクが設定されていてもよい。例えば、データサーバ100に登録されたコンテンツのうち、「林檎」についての説明を行うコンテンツには、「フルーツ」や「バラ科」等といった対象を説明するコンテンツへのリンクが設定されていてもよい。より具体的な例を挙げると、データサーバ100には、対象の説明中に現れる他の対象を示す文字列や画像に対し、他の対象を説明するコンテンツへのリンクが設定されていてもよい。
【0019】
また、データサーバ100には、ある対象についてどのようなコンテンツが登録されているかを示すデータベースが登録されていてもよい。例えば、データサーバ100においては、各種の対象に対して一意な識別子(ID:Identifier)が付与されており、この識別子に対し、対応する対象を説明する各言語のコンテンツを紐付けたデータベースが登録されていてもよい。なお、以下の説明では、このような対象の識別子と、対象を説明するコンテンツの識別子とを対応付けたデータベースを「対象データベース」と総称する場合がある。
【0020】
データサーバ100は、上述した各種のコンテンツやデータベースに登録された情報を提供することで、利用者に対し、各対象の説明を提供するサービスを実現する。なお、具体的なサービス名を上げると、データサーバ100は、例えば、ウィキペディアやウィキデータといったサービスに該当する。
【0021】
〔1−3.因果関係の利用について〕
ここで、2つの対象が有する因果関係の利用について説明する。例えば、ある第1対象が第2対象の原因であり、第2対象が第1対象による結果である場合、第1対象と第2対象とは、因果関係を有すると言える。例えば、煙草を第1対象とし、肺がんを第2対象とした場合、煙草は肺がんの原因である蓋然性が高く、肺がんは煙草の結果である蓋然性が高いため、因果関係を有する(因果関係を有する可能性が高い)と言える。また、保護主義と貿易戦争との組、山火事と空気汚染との組、ヴェルサイユ条約と第2次世界大戦との組等は、一定の因果関係を有すると言える。
【0022】
このような対象間の因果関係は、様々なサービスに利用することができる。例えば、対象をエンティティとし、エンティティ間の因果関係を示すナレッジデータベース(CKB: Causality Knowledge Base)は、例えば、質問に対して回答を出力するQA(Question Answering)サービス、読解、事象予測等に利用することができる。
【0023】
〔1−4.取得処理の概要について〕
ここで、ある対象に関する情報と、他の対象に関する情報とを入力した際に、入力された2つの対象が因果関係を有するか否かを分類するモデル(以下、「分類モデル」と記載する場合がある。)を作成した場合、データサーバ100が配信するコンテンツを用いて、各対象が因果関係を有するか否かを自動的に推定することができると考えられる。しかしながら、従来技術では、ある文章内に現れる単語が示す対象が因果関係を有するか否かを判定しているに過ぎず、分類モデルの学習に有用な情報を得る手法については、提案されていなかった。
【0024】
そこで、情報提供装置10は、以下の取得処理を実行することで、分類モデルの学習に有用な情報を取得する。まず、情報提供装置10は、第1対象を説明する第1コンテンツから、第1対象と因果関係を有する第2対象を特定する。そして、情報提供装置10は、第1コンテンツに基づく情報と、第2対象を説明する第2コンテンツに基づく情報との組を、因果関係の有無を分類する分類モデルの学習データとして取得する。
【0025】
例えば、情報提供装置10は、データサーバ100が提供するコンテンツから、所謂因果関係を有する対象のコンテンツを学習データとして取得する。より具体的には、情報提供装置10は、ある第1対象を原因とした場合の結果となる第2対象、若しくは、ある第1対象を結果とした場合の原因となる第2対象を特定し、第1対象を説明するコンテンツと、そのコンテンツと同一言語で第2対象を説明するコンテンツとの組から学習データを取得する。
【0026】
例えば、ある第1対象が第2対象の原因となる場合、第1対象を説明する第1コンテンツには、第2対象が第1対象の結果である旨を示唆する情報が含まれると考えられ、第2対象を説明する第2コンテンツには、第1対象が第2対象の原因である旨を示唆する情報が含まれると考えられる。このため、第1コンテンツに基づく情報と第2コンテンツに基づく情報との組は、入力された2つの情報と対応する2つの対象が因果関係を有するか否かを分類する分類モデルの学習に有用な情報であると考えられる。
【0027】
そこで、情報提供装置10は、第1対象を説明する第1コンテンツに基づく情報と、第1対象と因果関係を有する第2対象を説明する第2コンテンツに基づく情報との組を学習データとして取得する。この結果、情報提供装置10は、分類モデルの学習に有用な情報を取得することができる。
【0028】
〔1−5.学習処理および分類処理の概要について〕
また、情報提供装置10は、上述した取得処理により取得した学習データが有する特徴をモデルに学習させる。例えば、情報提供装置10は、第1対象を説明する第1コンテンツに基づく情報と、第1対象と因果関係を有する第2対象を説明する第2コンテンツに基づく情報との組を入力した場合に、第1対象と第2対象とが因果関係を有する旨を出力するようにモデルの学習を行う。
【0029】
より具体的には、情報提供装置10は、取得処理により取得された情報の組を正例とするとともに、因果関係を有しない2つの対象について、各対象を説明するコンテンツに基づいた情報の組を負例とする。そして、情報提供装置10は、正例を入力した際に、因果関係を有する旨を出力し、負例を入力した際に、因果関係を有しない旨を出力するように、モデルの学習を行う。
【0030】
このような学習が行われた分類モデルは、ある情報の組を入力した際に、その組と対応する対象の組が因果関係を有するか否かを分類することができる。このため、例えば、情報提供装置10は、データサーバ100が配信するコンテンツの組を生成し、生成したコンテンツの組を分類モデルに入力することで、各コンテンツと対応する対象の組が因果関係を有するか否かを自動的に判定することができる。
【0031】
また、情報提供装置10は、利用者から2つの対象が指定された場合に、指定された2つの対象と対応するコンテンツの組を分類モデルに入力し、分類モデルによる分類結果に応じて、指定された2つの対象が因果関係を有するか否かを分類する分類処理を行ってもよい。このような分類処理の結果、情報提供装置10は、指定された2つの対象が因果関係を有するか否かを精度良く推定することができる。
【0032】
なお、上述した分類モデルは、任意の種別のモデルが採用可能である。例えば、情報提供装置10は、SVM(Support Vector Machine)やDNN(Deep Neural Network)を分類モデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNN(Recurrent Neural Network)であってもよい。また、RNNは、LSTM(Long short-term memory)等であってもよい。すなわち、分類モデルは、任意の形式のモデルが採用可能である。また、分類モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。
【0033】
〔1−6.情報提供装置が実行する処理の一例について〕
次に、
図1を用いて、情報提供装置10が実行する処理の流れの一例について説明する。なお、
図1に示す処理の流れは、あくまで一例であり、情報提供装置10は、
図1に示す各種の処理を
図1に示す順番で実行する必要はない。
【0034】
まず、情報提供装置10は、データサーバ100から各種のコンテンツを収集する(ステップS1)。例えば、情報提供装置10は、ウィキペディア等、対象をそれぞれ異なる言語で説明する複数のコンテンツが登録されたデータサーバ100から、各対象を説明するコンテンツをそれぞれ個別に収集する。また、情報提供装置10は、データサーバ100から、同一の対象を説明する複数のコンテンツであって、それぞれ異なる言語で対象を説明するコンテンツを示す情報を収集する。例えば、情報提供装置10は、対象データベースに登録されている各種の情報を収集する。
【0035】
続いて、情報提供装置10は、言語ごとに、因果関係を示すキーワードを用いて、コンテンツが相互の因果関係を示す対象のペアをシード因果関係として特定する(ステップS2)。例えば、情報提供装置10は、対象データベースを参照し、いずれかの対象を第1対象として1つ選択する。続いて、情報提供装置10は、選択した第1対象の識別子と紐付られた各言語のコンテンツ、すなわち、第1コンテンツを特定する。
【0036】
そして、情報提供装置10は、特定した第1コンテンツから、予め設定された因果関係を示すキーワードを用いて、第1対象と因果関係を有する第2対象を特定する。例えば、第1対象と第2対象とが因果関係を有している場合、第1コンテンツには、第1対象と第2対象とが因果関係を有する旨の文章が含まれると考えられる。このような文章は、例えば、第1対象を示すテキストと、第2対象を示すテキストと、第1対象と第2対象との間の因果関係を示すテキスト(すなわち、因果関係を有するキーワード)とを含むと考えられ、このような文章においては、第2対象のテキストは、因果関係を示すテキストの目的語として含まれている可能性が高い。そこで、情報提供装置10は、第1コンテンツに含まれるテキストから予め設定されたキーワードを検索し、キーワードが検出された場合は、形態素解析等の技術を用いて、キーワードの目的語を特定する。そして、情報提供装置10は、特定した目的語が示す対象を、第1対象と因果関係を有する第2対象として特定する。
【0037】
例えば、情報提供装置10は、特定した第1コンテンツから、日本語のキーワード「原因」や英語のキーワード「Cause」を検索し、キーワードを検出した場合は、キーワードの目的語を、第1対象の原因を示す第2対象のテキストとして特定してもよい。また、情報提供装置10は、特定した第1コンテンツから、日本語のキーワード「効果」や英語のキーワード「Effect」を検索し、キーワードを検出した場合は、キーワードの目的語を、第1対象の効果を示す第2対象のテキストとして特定してもよい。また、情報提供装置10は、各言語のコンテンツについても同様の処理を行う。
【0038】
なお、後述する説明で明らかとなるように、情報提供装置10が実行する処理において、人手が介在する処理は、このようなキーワードの設定のみとなる。このため、情報提供装置10は、人手による影響を最小限に抑えた取得処理や学習処理を実現することができる。
【0039】
ここで、ウィキペディア等のコンテンツには、「効果」や「原因」を示すセクションが設けられ、かかるセクションに「効果」や「原因」となる対象が列挙される場合がある。このようなセクションに列挙される対象は、コンテンツと対応する対象と因果関係を有する確度が高いと考えられる。そこで、情報提供装置10は、第1コンテンツから、第1対象と因果関係を有する他の対象を示す領域を特定し、特定した領域に示される他の対象を第2対象として特定してもよい。
【0040】
例えば、情報提供装置10は、第1コンテンツがHTML(Hyper Text Markup Language)等のマークアップ言語で記載されている場合、第1コンテンツのタグを解析することにより、第1コンテンツに含まれる各セクションを特定し、特定したセクションのうち、セクションのタイトルに「効果」や「原因」といったキーワードを含むセクションを特定する。そして、情報提供装置10は、特定したセクションにおいて列挙されている単語や、特定したセクションに含まれる説明等から、第1対象と因果関係を有する対象として説明されている第2対象を特定する。
【0041】
以下、具体的な例を挙げて、情報提供装置10がシード因果関係を特定する処理の一例について説明する。例えば、情報提供装置10は、第1対象として「煙草」を選択した場合、「煙草」を説明するコンテンツの中から、因果関係を示すキーワードや、キーワードをタイトルに含むセクションを検索する。例えば、
図1に示す例では、情報提供装置10は、「煙草」を説明するコンテンツの中から、キーワード「効果」を含むセクション(すなわち、第1対象と因果関係を有する他の対象を示す可能性が高いセクション)を検出する。
【0042】
そして、情報提供装置10は、検出したセクションに含まれるテキストから、「煙草」と因果関係を有する可能性が高い他の対象を特定する。例えば、
図1に示す例では、「煙草」を説明するコンテンツに「煙草は肺がんの原因となりえる。」といった文章が含まれている。ここで、この文章における主語は「煙草」であり、目的語は、「肺がん」となり、さらに、この文章は、「煙草」による「効果」を説明するセクションに含まれている。このため、情報提供装置10は、「煙草」のコンテンツが「肺がん」が「煙草」の「効果」である旨を示す情報を保持する。また、情報提供装置10は、対象「煙草」を説明する多言語のコンテンツについても同様の処理を行うことで、「煙草」と因果関係を有する他の対象を特定する。
【0043】
また、情報提供装置10は、第1対象として「肺がん」を選択した場合、「肺がん」を説明するコンテンツの中から、因果関係を示すキーワードや、キーワードをタイトルに含むセクションを検索する。例えば、
図1に示す例では、情報提供装置10は、「肺がん」を説明するコンテンツの中から、キーワード「原因」を含むセクションを検出する。
【0044】
そして、情報提供装置10は、検出したセクションに含まれるテキストから、「肺がん」と因果関係を有する可能性が高い他の対象を特定する。例えば、
図1に示す例では、「肺がん」を説明するコンテンツに「煙草による影響がある。」といった文章が含まれている。ここで、この文章における目的語は、「煙草」となり、さらに、この文章は、「肺がん」の「原因」を説明するセクションに含まれている。このため、情報提供装置10は、「肺がん」のコンテンツが「煙草」が「肺がん」の「原因」である旨を示す情報を保持する。また、情報提供装置10は、対象「肺がん」を説明する多言語のコンテンツについても同様の処理を行うことで、「肺がん」と因果関係を有する他の対象を特定する。
【0045】
その後、情報提供装置10は、同一言語のコンテンツが示す因果関係の突合せを行うことで、シード因果関係を特定する。例えば、情報提供装置10は、第1対象を説明する日本語のコンテンツにおいて第2対象が第1対象の結果である旨を示し、かつ、第2対象を説明する日本語のコンテンツにおいて第1対象が第2対象の原因である旨を示す場合は、第1対象と第2対象との組をシード因果関係として特定する。このような場合、情報提供装置10は、第1対象が第2対象の原因であり、第2対象が第1対象の結果である旨を示す情報(例えば、「第1対象、第2対象」や「第1対象→第2対象」といった情報)を、シード因果関係を示す情報として保持する。より具体的には、情報提供装置10は、「煙草→肺がん」といった情報をシード因果関係を示す情報として保持する。
【0046】
なお、情報提供装置10は、第1対象を説明する日本語のコンテンツにおいて第2対象が第1対象の原因である旨を示し、かつ、第2対象を説明する日本語のコンテンツにおいて第1対象が第2対象の結果である旨を示す場合も、第1対象と第2対象との組をシード因果関係として特定する。このような場合、情報提供装置10は、第1対象が第2対象の結果であり、第2対象が第1対象の原因である旨を示す情報を、シード因果関係を示す情報として保持する。例えば、情報提供装置10は、第1対象が「第2次世界大戦」であり、第2対象が「ヴェルサイユ条約」であり、「ヴェルサイユ条約」が「第2次世界大戦」の原因である旨のキーワードが含まれる場合、「ヴェルサイユ条約→第2次世界大戦」といった情報をシード因果関係を示す情報として保持すればよい。
【0047】
なお、情報提供装置10は、シード因果関係を特定する際に、各コンテンツのリンク関係を考慮してもよい。例えば、情報提供装置10は、第1コンテンツからのリンクが設定された他のコンテンツが説明する対象であって、第1対象と因果関係を有する対象を第2対象として特定してもよい。より具体的な例を挙げると、情報提供装置10は、第1コンテンツにおいて第2対象が第1対象の結果である旨を示し、第2コンテンツにおいて第1対象が第2対象の原因である旨を示すとともに、第1コンテンツにおいて第2コンテンツへのリンクが設定されており、かつ、第2コンテンツにおいて第1コンテンツへのリンクが設定されている場合に、第1対象と第2対象との組をシード因果関係としてもよい。ここで、リンクは、例えば、第1コンテンツに含まれるテキストのうち第2対象を示す文字列に設定されたものであってもよく、関連項目の説明に設定されたものであってもよい。
【0048】
また、情報提供装置10は、各言語について上述した処理を実行する。この結果、情報提供装置10は、日本語のみならず、英語、フランス語、ドイツ語等、複数言語のそれぞれについて、同一の対象間(すなわち、エンティティ間)の因果関係を示すシード因果関係を特定することとなる。
【0049】
続いて、情報提供装置10は、原因となる対象の記事から抽出された結果を示すコンテキストと、結果となる対象の記事から抽出された原因を示すコンテキストとのペアを正例として言語ごとに抽出する(ステップS3)。例えば、情報提供装置10は、第1コンテンツから第2対象を示すコンテキストを抽出し、第2コンテンツから第1対象を示すコンテキストを抽出する。そして、情報提供装置10は、抽出されたコンテキストの組を正例として取得する。
【0050】
例えば、情報提供装置10は、第1コンテンツにおいて、第1対象の原因として説明されている対象を第2対象として特定した場合、第1コンテンツにおいて第2対象を示すテキストを、因果関係の原因を示すコンテキストとして抽出し、第2コンテンツにおいて第1対象を示すテキストを、因果関係の結果を示すコンテキストとして抽出する。また、情報提供装置10は、第1コンテンツにおいて、第1対象の結果として説明されている対象を第2対象として特定した場合、第1コンテンツにおいて第2対象を示すテキストを、因果関係の結果を示すコンテキストとして抽出し、第2コンテンツにおいて第1対象を示すテキストを、因果関係の原因を示すコンテキストとして抽出する。
【0051】
より具体的な例を挙げると、情報提供装置10は、シード因果関係が「煙草→肺がん」である場合、対象「煙草」を説明するコンテンツから、テキスト「肺がん」を特定する。そして、情報提供装置10は、特定したテキスト「肺がん」を含む文章や、テキスト「肺がん」から所定の範囲内にある文章を、結果を示すコンテキストとして抽出する。また、情報提供装置10は、対象「肺がん」を説明するコンテンツから、テキスト「煙草」を特定する。そして、情報提供装置10は、特定したテキスト「煙草」を含む文章や、テキスト「煙草」から所定の範囲内にある文章を、原因を示すコンテキストとして抽出する。
【0052】
なお、情報提供装置10は、日本語のみならず、英語やドイツ語等、特定した各シード因果関係について同様の処理を実行することで、各言語のシード因果関係ごとに、学習データを生成する。すなわち、情報提供装置10は、それぞれ異なる言語で第1対象を説明する複数の第1コンテンツから、第1対象と因果関係を有する第2対象を特定し、言語ごとに、第1コンテンツに基づく情報と、第1コンテンツと同一言語で第2対象を説明する第2コンテンツに基づく情報との組を学習データとして取得することとなる。
【0053】
なお、第1コンテンツや第2コンテンツがマークアップ言語で記載されている場合、このようなマークアップそのものも因果関係を示す指標になりえると考えられる。例えば、「煙草」のコンテンツにおいては、「煙草」を原因とした場合に効果となる「肺がん」のテキストにリンクが設定されていたり、「肺がん」のテキストを強調表示するためのマークアップが設定されている場合がある。そこで、情報提供装置10は、第1コンテンツや第2コンテンツがマークアップ言語で記載されている場合、テキストのみならず、テキストに付加されている各種のマークアップもコンテキストとして抽出する。
【0054】
ここで、学習データにより学習が行われた分類モデルは、入力された2つのコンテンツが示す2つの対象情報が因果関係を有するか否かの分類を行うこととなる。より具体的には、分類モデルは、入力された2つのコンテンツに含まれるテキストの表現やマークアップの特徴等に基づいて、入力された2つのコンテンツと対応する2つの対象が因果関係を有するか否かの分類を行うものと考えられる。このため、学習データから因果関係を有する対象そのものを示すテキストを除いた場合、分類モデルは、因果関係を示す表現やマークアップの特徴をより正確に学習できるとも考えられる。
【0055】
そこで、情報提供装置10は、学習データに含まれるテキストのうち、対象そのものを示すテキストを所定のシンボルに変換する。例えば、情報提供装置10は、シード因果関係が「煙草→肺がん」である場合、「煙草」のコンテンツや「肺がん」のコンテンツから抽出したコンテキストのうち、テキスト「煙草」を「“原因”」といったシンボルに変換し、テキスト「肺がん」を「“効果”」といったシンボルに変換する。すなわち、情報提供装置10は、各コンテンツに含まれる文字列のうち原因を示す文字列を、原因を示す所定の第1シンボルに変換し、結果を示す文字列を所定の第2シンボルに変換した情報を学習データとする。なお、このような第1シンボルおよび第2シンボルは、コンテンツの言語によらず、任意のシンボルが採用可能である。
【0056】
続いて、情報提供装置10は、負例として、因果関係を有しない対象の記事から抽出されたコンテキストのペアを、正例と同数生成する(ステップS4)。例えば、情報提供装置10は、第3対象を説明する第3コンテンツに基づく情報と、第3対象と因果関係を有しない第4対象を説明する第4コンテンツに基づく情報との組を負例として取得し、正例と負例とを用いて、モデルの学習を行う。
【0057】
例えば、情報提供装置10は、任意の第3対象を示す第3コンテンツを選択し、選択した第3コンテンツに含まれる文字列が示す他の対象であって、因果関係を示すキーワードの目的語となっていない対象を第4対象として特定する。また、情報提供装置10は、特定した第4対象を説明する第4コンテンツに含まれる文字列に、第3対象を示す文字列が含まれ、かつ、第3対象を示す文字列が因果関係を示すキーワードの目的語となっていない場合は、第3対象と第4対象との組を非シード因果関係として特定する。
【0058】
そして、情報提供装置10は、非シード因果関係として特定した第3対象を説明する第3コンテンツから第4対象を示す文字列を含むコンテキストを抽出し、第4対象を説明する第4コンテンツから第3対象を示す文字列を含むコンテキストを抽出する。そして、情報提供装置10は、抽出したコンテキストの組を負例とする。
【0059】
例えば、情報提供装置10は、「癌性疼痛」を説明するコンテンツに、「癌性疼痛」と因果関係を示すキーワードの目的語以外の文字列として文字列「モルヒネ」が含まれ、「モルヒネ」が含まれ、「モルヒネ」を説明するコンテンツに、「モルヒネ」と因果関係を示すキーワードの目的語以外の文字列として文字列「癌性疼痛」が含まれる場合は、「癌性疼痛」と「モルヒネ」との組を非シード因果関係とする。そして、情報提供装置10は、「癌性疼痛」を説明するコンテンツから「モルヒネ」を含むコンテキストを抽出し、「モルヒネ」を説明するコンテンツから「癌性疼痛」を含むコンテキストを抽出する。そして、情報提供装置10は、抽出したコンテキストの組を負例とする。
【0060】
なお、情報提供装置10は、各コンテンツに相互リンクが設定されていることを条件として、各対象を非シード因果関係としてもよい。また、どのような関係性を有する対象を非シード因果関係とするかについては、分類モデルにどのような分類を行わせるかに応じて、任意の条件が採用可能である。例えば、情報提供装置10は、因果関係以外の所定の関係性を示すキーワードを用いて、シード因果関係を特定する際の同様の処理により、被シード因果関係の特定を行ってもよい。
【0061】
そして、情報提供装置10は、正例を入力した際に因果関係を有する旨を出力し、負例を入力した際に因果関係を有しない旨を出力するように、モデルの学習を行う(ステップS5)。例えば、情報提供装置10は、バックプロパゲーション等、任意の学習手法を用いて、モデルの学習を行う。なお、情報提供装置10は、fastText等といった単語の活用形を考慮してテキストの学習を行う技術を用いて、モデルの学習を行ってもよい。また、情報提供装置10は、モデルのプレトレーニングを行わずともよいが、所定のプレトレーニング用データを用いて、モデルのプレトレーニングを行ってもよい。このような処理の結果、情報提供装置10は、2つのコンテキストの組が入力された場合に、各コンテキストが示す対象間に因果関係が存在するか否かの分類を行う分類モデルを生成することができる。
【0062】
例えば、情報提供装置10は、利用者が利用する端末装置200から判定対象となるコンテンツのペアの指定を受付ける(ステップS6)。このような場合、情報提供装置10は、コンテンツのペアを分類モデルに入力し、因果関係を有するか否かの分類を行う(ステップS7)。
【0063】
例えば、情報提供装置10は、第1対象を示す文字列と第2対象を示す文字列とを受付ける。このような場合、情報提供装置10は、データサーバ100から、第1対象を説明するコンテンツ#1と、第2対象を説明するコンテンツ#2とを取得する。そして、情報提供装置10は、コンテンツ#1とコンテンツ#2とを分類モデルに入力し、分類モデルによる分類結果を得る。そして、情報提供装置10は、分類結果を示す情報を端末装置200に提供する(ステップS8)。
【0064】
このように、情報提供装置10は、種々の対象を説明するコンテンツの中から、因果関係を示すキーワードと、各コンテンツにおける説明の相互性とに基づいて、因果関係を有する2つの対象をシード因果関係として特定する。そして、情報提供装置10は、シード因果関係を有する2つの対象の各コンテンツに基づく情報を、分類モデルの学習データとして取得する。このような処理の結果、情報提供装置10は、有用な学習データを自動的に取得することができる。
【0065】
例えば、因果関係を有するか否かの分類を行う分類モデルの学習を行うため、因果関係を示す既存のデータベースを利用するといった手法が考えられる。しかしながら、このように因果関係を示すラベルが付与されているような公知のデータベースは、あまり数がなく、最新の情報が反映されるまでには、時間がかかる。しかしながら、情報提供装置10は、ウィキペディア等といった一般的に配信されるコンテンツから学習データを自動で取得することができるので、より有用な学習データを取得することができる。また、複数の編集者によって作成若しくは更新が行われるコンテンツにおいては、因果関係が様々な表現で示されることとなるので、情報提供装置10は、学習データのバリエーションを増大させ、分類モデルの精度を向上させることができる。
【0066】
また、情報提供装置10は、第1コンテンツに第2対象が原因若しくは結果として説明され、第2コンテンツに第1対象が結果若しくは原因として説明され、かつ、第1コンテンツと第2コンテンツとに相互リンクが設定されている場合に、第1対象と第2対象とをシード因果関係とする。このような処理の結果、情報提供装置10は、少数ではあるものの、より因果関係を有する可能性が高い2つの対象をシード因果関係として特定することができるので、より因果関係が有する可能性が高い対象のコンテンツに基づいた学習データを取得することができる。この結果、情報提供装置10は、分類モデルの学習精度を向上させることができる。
【0067】
また、情報提供装置10は、ある対象に対して複数の言語で説明が行われたコンテンツを用いて、学習データの生成を行う。このような処理の結果、情報提供装置10は、例えば、冗長な表現を避けるようなコンテンツを用いる場合であっても、各言語ごとに、シード因果関係を特定し、特定したシード因果関係ごとに学習データを生成するので、多言語において共通して現れる因果関係を重要視することができる。換言すると、情報提供装置10は、多言語において共通して現れる因果関係については、単一言語において現れる因果関係よりも多くの学習データを生成するので、多言語性に基づく信頼性に応じたスコアを、各因果関係に対して付与した場合と同様の学習処理を実現することができる。さらに、情報提供装置10は、学習データの数を増やすことができるので、カバレッジを向上させることができる。
【0068】
〔1−7.学習処理のバリエーションについて〕
上述した例では、情報提供装置10は、シード因果関係とした対象のコンテンツから抽出したコンテキストの特徴をモデルに学習させていた。しかしながら、実施形態は、これに限定されるものではない。
【0069】
例えば、ウィキペディア等においては、ある対象の原因を列挙したセクションが含まれる場合がある。例えば、対象「肺がん」のコンテンツには、原因として「煙草」、「ラドンガス」、「アスベスト」、「副流煙」等が列挙されている場合がある。このような場合、情報提供装置10は、コンテンツが説明する対象と、このように原因を列挙したセクションに示される各対象との組をシード因果関係として抽出してもよい。例えば、情報提供装置10は、「煙草→肺がん」、「ラドンガス→肺がん」、「アスベスト→肺がん」、「副流煙→肺がん」といった、原因として列挙された対象ごとに、シード因果関係を特定してもよい。
【0070】
ここで、ある対象を説明するコンテンツにおいて原因となる対象が列挙される場合、原因となる確度がより高い対象程、先に記載される可能性が高いと考えられる。そこで、情報提供装置10は、各対象が出現する順序に応じた優先度で、学習を行ってもよい。例えば、情報提供装置10は、第1コンテンツにおいて、第1対象の原因として説明されている複数の対象のうち、第2対象が出現する順序を特定し、第1コンテンツに基づく情報と、第2コンテンツに基づく情報との組が有する特徴を、第1コンテンツにおいて第2対象が出現する順序に応じた優先度で学習してもよい。
【0071】
例えば、対象「肺がん」のコンテンツのうち、原因を示すセクションにおいて、「煙草」、「ラドンガス」、「アスベスト」、「副流煙」が順に記載されているものとする。このような場合、情報提供装置10は、シード因果関係「煙草→肺がん」、「ラドンガス→肺がん」、「アスベスト→肺がん」、「副流煙→肺がん」をそれぞれ特定する。また、情報提供装置10は、各シード因果関係における原因となる対象を示すテキストが、シード因果関係における効果となる対象を説明するコンテンツにおいて出現する順序を特定し、特定した順序をシード因果関係に紐付ける。例えば、情報提供装置10は、シード因果関係「煙草→肺がん」に対して順序「1」を紐付け、「ラドンガス→肺がん」に対して順序「2」を紐付け、「アスベスト→肺がん」に対して順序「3」を紐付け、「副流煙→肺がん」に対して順序「4」を紐付ける。
【0072】
そして、情報提供装置10は、各シード因果関係に基づいた学習データの特徴を、各シード因果関係と紐付けた順序に応じた優先度で、モデルに学習させる。例えば、情報提供装置10は、シード因果関係「煙草→肺がん」から生成した学習データを最も重要な学習データとしてモデルに学習させ、「ラドンガス→肺がん」から生成した学習データを2番目に重要な学習データとしてモデルに学習させる。また、情報提供装置10は、「アスベスト→肺がん」から生成した学習データを3番目に重要な学習データとしてモデルに学習させ、「副流煙→肺がん」から生成した学習データを4番目に重要な学習データとしてモデルに学習させる。なお、このような優先度を考慮した学習については、重みづけを考慮した各種任意の学習手法が採用可能である。
【0073】
なお、上述した処理と同様に、情報提供装置10は、第1コンテンツにおいて、第1対象の効果として説明されている複数の対象のうち、第2対象が出現する順序を特定し、第1コンテンツに基づく情報と、第2コンテンツに基づく情報との組が有する特徴を、第1コンテンツにおいて第2対象が出現する順序に応じた優先度で学習してもよい。例えば、情報提供装置10は、ある第1対象のコンテンツにおいて、効果を列挙したセクションを特定し、特定したセクションにおいて各第2対象が記載された順番に応じた優先度で、第1対象と第2対象との組から生成した学習データを、第2対象が記載された順番に応じた優先度で、モデルに学習させてもよい。
【0074】
〔1−8.コンテンツの収集について〕
上述した例では、情報提供装置10は、ウィキペディア等、ある対象について、それぞれ異なる言語で対象を説明する複数のコンテンツが存在するサービスから、各コンテンツを収集した。ここで、情報提供装置10は、ワードネット等、他のサービスにおいて配信されたコンテンツを用いて、上述した各処理を実行してもよい。例えば、情報提供装置10は、所定のニュースサイトであって、同一の内容をそれぞれ異なる言語で説明するコンテンツを配信するニュースサイト等から、コンテンツを収集してもよい。すなわち、情報提供装置10は、信頼性が高い収集元からコンテンツの収集を行い、上述した処理を実行するのであれば、任意の収集元からコンテンツを収集してよい。
【0075】
〔1−9.採用する言語について〕
ここで、情報提供装置10は、各言語ごとにシード因果関係を特定し、特定したシード因果関係に基づいた学習データを生成した。ここで、情報提供装置10は、全ての言語についてシード因果関係を特定する必要はない。例えば、情報提供装置10は、日本語のコンテンツ間に因果関係を有するか否かを分類する分類モデルを学習する場合、日本語のみについてシード因果関係を特定してもよい。
【0076】
また、情報提供装置10は、カバレッジが高い言語についてのみ、上述した取得処理や学習処理を実行してもよい。例えば、情報提供装置10は、対象を説明するコンテンツの量が所定の条件を満たす言語で第1対象を説明する複数の第1コンテンツから、第1対象と因果関係を有する第2対象を特定し、言語ごとに、第1コンテンツに基づく情報と、第1コンテンツと同一言語で第2対象を説明する第2コンテンツに基づく情報との組を学習データとして取得してもよい。より具体的な例を挙げると、情報提供装置10は、英語、ドイツ語、フランス語、スペイン語、イタリア語、ポルトガル語、スエーデン後、デンマーク語、およびポーランド語等、カバレッジが広い言語を取得処理や学習処理の対象としてもよい。また、情報提供装置10は、例えば、単語がスペースで区切られている言語等、言語解析の容易性に基づいて、処理対象となる言語を決定してもよい。
【0077】
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。
図2は、実施形態に係る情報提供装置の構成例を示す図である。
図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
【0078】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、データサーバ100や端末装置200との間で情報の送受信を行う。
【0079】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、コンテンツデータベース31、対象データベース32、学習データデータベース33、および因果関係表現テーブル34を記憶する。
【0080】
以下、
図3〜6を用いて、記憶部30に登録される情報の一例を説明する。コンテンツデータベース31には、データサーバ100から収集したコンテンツが登録される。例えば、
図3は、実施形態に係るコンテンツデータベースに登録される情報の一例を示す図である。
図3に示すように、コンテンツデータベース31には、「コンテンツID」、「対象ID」、「コンテンツデータ」および「言語」といった項目を有する情報が登録される。
【0081】
ここで、「コンテンツID」とは、コンテンツを識別するための識別子である。また、「対象ID」とは、対応付けられた「コンテンツID」が示すコンテンツが説明する対象を識別する識別子である。また、「コンテンツデータ」とは、コンテンツとして配信されるデータであり、例えば、HTML形式で記載されたウェブコンテンツや画像データ等である。また、「言語」とは、対応付けられられた「コンテンツID」が示すコンテンツがどの言語のコンテンツであるかを示す情報である。
【0082】
例えば、
図3に示す例では、コンテンツデータベース31には、コンテンツID「コンテンツID#1」、対象ID「対象#1」、コンテンツデータ「コンテンツ#1」および言語「日本語」といった情報が対応付けて登録されている。このような情報は、コンテンツID「コンテンツID#1」が示すコンテンツが、対象ID「対象#1」が示す対象を説明するコンテンツであって、「日本語」により作成されたコンテンツであり、そのデータがコンテンツデータ「コンテンツ#1」である旨を示す。
【0083】
なお、
図3に示すように、コンテンツデータベース31には、同一の対象IDと紐付られたコンテンツであって、それぞれ異なる言語により作成された複数のコンテンツがそれぞれ個別に登録されることとなる。また、
図3に示す例では、「コンテンツID#1」、「対象#1」、「コンテンツ#1」といった概念的な値を記載したが、実際には、コンテンツや対象を識別するための数値や文字列、コンテンツを構成する各種のデータ等が登録されることとなる。また、
図3に示す情報以外にも、コンテンツデータベース31には、各コンテンツに関連する各種の情報が登録されていてよい。
【0084】
対象データベース32には、対象に関する情報が登録される。例えば、
図4は、実施形態に係る対象データベースに登録される情報の一例を示す図である。
図4に示すように、対象データベース32には、「対象ID」、「対象」、および「コンテンツID」といった項目を有する情報が登録される。
【0085】
ここで「対象」とは、対象の名称等を示す文字列である。例えば、
図4に示す例では、対象データベース32には、対象ID「対象#1」、対象「肺がん」、コンテンツID「コンテンツID#1」、「コンテンツID#2」、といった情報が対応付けて登録されている。このような情報は、対象ID「対象#1」が示す対象が「肺がん」であり、このような対象「肺がん」を説明するコンテンツとして、コンテンツID「コンテンツID#1」が示すコンテンツと、コンテンツID「コンテンツID#2」が示すコンテンツとが登録されている旨を示す。
【0086】
なお、
図4に示す例では、「対象ID#1」といった概念的な値を記載したが、実際には、対象を識別するための数値や文字列が登録されることとなる。また、
図4に示す情報以外にも、対象データベース32には、各対象に関連する各種の情報が登録されていてよい。
【0087】
学習データデータベース33には、取得処理により取得された学習データが登録される。例えば、
図5は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
図5に示すように、学習データデータベース33には、「学習データID」、「種別」、「第1コンテキスト」、および「第2コンテキスト」といった項目を有する情報が登録される。
【0088】
ここで「学習データID」とは、学習データを識別するための識別子である。また、「種別」とは、対応付けられた「学習データID」が示す学習データが「正例」であるか「負例」であるかを示す情報である。また、「第1コンテキスト」および「第2コンテキスト」とは、学習データとして取得されたコンテキストである。より具体的には、「第1コンテキスト」および「第2コンテキスト」とは、シード因果関係として特定された各対象を説明するコンテンツから抽出されたコンテキストである。
【0089】
例えば、
図5に示す例では、学習データデータベース33には、学習データID「学習データ#1」、種別「正例」、第1コンテキスト「第1コンテキスト#1」、および第2コンテキスト「第2コンテキスト#2」といった情報が対応付けて登録されている。このような情報は、学習データID「学習データ#1」が示す学習データが、「正例」となる学習データであり、「第1コンテキスト#1」と「第2コンテキスト#2」との組からなる学習データである旨を示す。
【0090】
なお、
図5に示す例では、「学習データID#1」や「第1コンテキスト#1」といった概念的な値を記載したが、実際には、学習データを識別するための数値や文字列、コンテンツからコンテキストとして抽出されたテキストやマークアップ等が登録されることとなる。また、
図5に示す情報以外にも、学習データデータベース33には、学習データに関連する各種の情報が登録されていてよい。
【0091】
因果関係表現テーブル34には、因果関係を示すキーワードとして予め設定されたキーワードが登録されている。例えば、
図6は、実施形態に係る因果関係表現テーブルに登録される情報の一例を示す図である。
図6に示すように、因果関係表現テーブル34には、「検出用語」、「種別」、および「言語」といった情報が対応付けて登録されている。
【0092】
ここで、「検出用語」とは、因果関係を示すキーワードとしてコンテンツから検出を行うキーワードである。また、「種別」とは、対応付けられた検出用語の目的語が原因となるか、結果となるかを示す情報である。また、「言語」とは、対応付けられた検出用語の検出対象となるコンテンツの言語を示す情報である。
【0093】
例えば、
図6に示す例では、検出用語「原因」、種別「原因」、言語「日本語」といった情報が対応付けて登録されている。このような情報は、「日本語」のコンテンツから検出されるキーワードとして、検出用語「原因」が登録されており、この「原因」の目的語となる対象が、コンテンツにより説明される対象の「原因」となる対象である旨を示す。なお、
図6に示す情報以外にも、因果関係表現テーブル34には、任意の情報が登録されていてよい。
【0094】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0095】
図2に示すように、制御部40は、収集部41、特定部42、抽出部43、取得部44、学習部45、および提供部46を有する。収集部41は、各種コンテンツを収集する。例えば、収集部41は、ウィキペディア等、それぞれ異なる言語で同一の対象を説明する複数のコンテンツを収集し、収集したコンテンツをコンテンツデータベース31に登録する。また、収集部41は、ある対象を識別する識別子と、この対象を説明するコンテンツとを紐付けた情報を収集し、対象データベース32に登録する。
【0096】
特定部42は、第1対象を説明する第1コンテンツから、第1対象と因果関係を有する第2対象を特定する。例えば、特定部42は、対象データベース32を参照し、処理対象となる対象を第1対象として1つ選択する。そして、特定部42は、選択した第1対象を説明するコンテンツを対象データベース32から特定し、特定したコンテンツをコンテンツデータベース31から取得する。すなわち、特定部42は、第1対象をそれぞれ異なる言語で説明する複数のコンテンツを取得する。そして、特定部42は、各コンテンツから第1対象と因果関係を有する第2対象を特定する。すなわち、特定部42は、コンテンツデータベース31において同一の対象を説明するコンテンツを示す対象データベース32を用いて、第1対象を説明する複数の第1コンテンツを特定するとともに、特定した複数の第1コンテンツから第2対象を特定する。
【0097】
例えば、特定部42は、因果関係表現テーブル34に登録されたキーワード、すなわち、予め設定された因果関係を示すキーワードを用いて、各第1コンテンツから、第1対象と因果関係を有する第2対象を特定する。例えば、特定部42は、形態素解析等の技術を用いて、キーワードの目的語を特定し、特定した目的語が示す対象を第2対象とする。ここで、特定部42は、第1対象と因果関係を有する他の対象を示す領域を特定し、特定した領域に示される他の対象を第2対象として特定してもよい。例えば、特定部42は、第1対象の原因を示すセクションや、第1対象の結果を示すセクションを特定し、特定したセクションにおいて説明されている対象をそれぞれ第2対象として特定してもよい。すなわち、特定部42は、第1コンテンツにおいて、第1対象の原因として説明されている対象を第2対象として特定してもよく、第1コンテンツにおいて、第1対象の結果として説明されている対象を第2対象として特定してもよい。
【0098】
続いて、特定部42は、第2対象を説明する第2コンテンツをコンテンツデータベース31から取得し、第2コンテンツにおいて第2対象と因果関係を有する対象として第1対象が説明されているか否かを判定する。例えば、特定部42は、第1コンテンツにおいて第2対象が第1対象の原因とされている場合、第2コンテンツにおいて第1対象が第2対象の結果とされているか否かを判定する。より具体的には、特定部42は、第2コンテンツにおいて第1対象を示す文字列が、結果を示すキーワードの目的語となってるかを判定する。また、例えば、特定部42は、第1コンテンツにおいて第2対象が第1対象の結果とされている場合、第2コンテンツにおいて第1対象が第2対象の原因とされているか否かを判定する。より具体的には、特定部42は、第2コンテンツにおいて第1対象を示す文字列が、原因を示すキーワードの目的語となってるかを判定する。すなわち、特定部42は、第1コンテンツおよび第2コンテンツにおいて、第1対象と第2対象とが因果関係を有する旨が説明されているか否かを判定する。
【0099】
そして、特定部42は、第1コンテンツおよび第2コンテンツにおいて、第1対象と第2対象とが因果関係を有する旨が説明されている場合は、第1対象と第2対象とをシード因果関係とする。例えば、特定部42は、第1対象が第2対象の原因である場合は、「第1対象→第2対象」といったシード因果関係を特定する。なお、特定部42は、各言語ごとに、シード因果関係の特定を行う。また、特定部42は、共通する第1対象と、複数の第2対象との間の因果関係を示す複数のシード因果関係の特定を行ってもよい。
【0100】
また、特定部42は、第1コンテンツからのリンクが設定された他のコンテンツが説明する対象であって、第1対象と因果関係を有する対象を第2対象として特定してもよい。例えば、特定部42は、第1コンテンツおよび第2コンテンツが相互にリンクされている場合に、第1対象と第2対象との組をシード因果関係としてもよい。また、特定部42は、対象を説明するコンテンツの量が所定の条件を満たす言語、すなわち、カバレッジを確保できる言語を用いて、第1対象を説明する複数の第1コンテンツから、第1対象と因果関係を有する第2対象を特定してもよい。
【0101】
抽出部43は、第1コンテンツから第2対象を示すコンテキストを抽出し、第2コンテンツから第1対象を示すコンテキストを抽出する。例えば、抽出部43は、シード因果関係となる第1対象を説明する第1コンテンツから、第2対象を示す文字列を含む所定の範囲のテキストやマークアップ等を、第2対象を示すコンテキストとして抽出する。また、抽出部43は、シード因果関係となる第2対象を説明する第2コンテンツから、第1対象を示す文字列を含む所定の範囲のテキストやマークアップ等を、第1対象を示すコンテキストとして抽出する。そして、抽出部43は、抽出した各コンテキストを学習データデータベース33に正例として登録する。なお、抽出部43は、第1コンテンツから第2対象のみを示すコンテキストを抽出し、第2コンテンツから第1対象のみを示すコンテキストを抽出してもよい。
【0102】
なお、特定部42および抽出部43は、負例となる学習データの生成を行う。例えば、特定部42は、任意の第3対象および第4対象の組であって、第3対象と因果関係を有する対象以外の対象として第4対象の説明が第3コンテンツに含まれており、第4対象と因果関係を有する対象以外の対象として第3対象の説明が第4コンテンツに含まれている第3対象および第4対象の組を非シード因果関係として特定する。なお、特定部42は、第3コンテンツと第4コンテンツとに相互リンクが設定されている場合に、第3対象および第4対象の組を非シード因果関係として特定してもよい。
【0103】
このような場合、抽出部43は、非シード因果関係となる第3対象を説明する第3コンテンツから、第4対象を示す文字列を含む所定の範囲のテキストやマークアップ等を、第4対象を示すコンテキストとして抽出する。また、抽出部43は、非シード因果関係となる第4対象を説明する第4コンテンツから、第3対象を示す文字列を含む所定の範囲のテキストやマークアップ等を、第3対象を示すコンテキストとして抽出する。そして、抽出部43は、抽出したコンテキストの組を負例として学習データデータベース33に登録する。
【0104】
取得部44は、第1コンテンツに基づく情報と、第2対象を説明する第2コンテンツに基づく情報との組を、因果関係の有無を分類する分類モデルの学習データとして取得する。例えば、取得部44は、学習データデータベース33に登録されたコンテキストの組を学習データとして取得する。
【0105】
例えば、取得部44は、第1対象が第2対象の原因となる場合、第2コンテンツを因果関係の結果を説明するコンテンツとし、第1コンテンツを因果関係の原因を説明するコンテンツとした学習データを学習データとして取得する。また、取得部44は、第1対象が第2対象の結果となる場合、第2コンテンツを因果関係の原因を説明するコンテンツとし、第1コンテンツを因果関係の結果を説明するコンテンツとした学習データを取得する。
【0106】
ここで、取得部44は、第1コンテンツおよび第2コンテンツに含まれる文字列のうち、因果関係の原因となる対象を示す文字列を原因を示す所定の第1シンボルに変換し、因果関係の結果となる対象を示す文字列を結果を示す所定の第2シンボルに変換した情報を学習データとして取得する。例えば、取得部44は、第1対象が原因であり、第2対象が結果である場合、第2コンテンツから抽出されたコンテキストに含まれる文字列のうち、第1対象を示す文字列を「“原因”」といった原因を示すシンボルに変換し、第1コンテンツから抽出されたコンテキストに含まれる文字列のうち、第2対象を示す文字列を「“結果”」といった原因を示すシンボルに変換してもよい。また、取得部44は、第1対象が結果であり、第2対象が原因である場合、第2コンテンツから抽出されたコンテキストに含まれる文字列のうち、第1対象を示す文字列を「“結果”」といった結果を示すシンボルに変換し、第1コンテンツから抽出されたコンテキストに含まれる文字列のうち、第2対象を示す文字列を「“原因”」といった原因を示すシンボルに変換してもよい。
【0107】
なお、上述した処理の結果、取得部44は、同一言語のコンテンツから抽出されたコンテキストを学習データとすることとなる。すなわち、取得部44は、言語ごとに、第1コンテンツに基づく情報と、第1コンテンツと同一言語で第2対象を説明する第2コンテンツに基づく情報との組を学習データとして取得することとなる。
【0108】
なお、取得部44は、シード因果関係に基づく学習データを正例として取得するとともに、第3対象を説明する第3コンテンツに基づく情報と、第3対象と因果関係を有しない第4対象を説明する第4コンテンツに基づく情報との組を負例として取得する。例えば、取得部44は、正例と同数の負例を学習データデータベース33から取得する。
【0109】
学習部45は、取得した学習データが有する特徴をモデルに学習させる。例えば、学習部45は、正例を入力した際に、各対象が因果関係を有する旨の分類結果を出力し、負例を入力した際に、各対象が因果関係を有しない旨の分類結果を出力するように、モデルの学習を行う。
【0110】
なお、学習部45は、各学習データが有する特徴を、学習データの元となるシード因果関係に含まれる対象がコンテンツにおいて出現する順序に応じた優先度で学習してもよい。例えば、特定部42は、第1コンテンツにおいて、第1対象の原因として説明されている複数の対象のうち、第2対象が出現する順序を特定する。そして、学習部45は、第1コンテンツに基づく情報と、第2コンテンツに基づく情報との組が有する特徴を、第1コンテンツにおいて第2対象が出現する順序に応じた優先度で学習してもよい。
【0111】
提供部46は、分類結果等の各種情報を提供する。例えば、提供部46は、因果関係を有するか否かの分類対象となる対象の組を端末装置200から受付ける。このような場合、提供部46は、各対象を説明するコンテンツをコンテンツデータベース31から取得し、取得したコンテンツに含まれる各種のコンテキストを学習済の分類モデルに入力する。そして、提供部46は、分類モデルの出力、すなわち、対象が因果関係を有するか否かの分類結果を、端末装置200へと提供する。
【0112】
なお、提供部46は、例えば、各種ナレッジデータベースの作成を行う外部サーバや、モデルの学習を行う学習サーバ等に対し、学習データデータベース33に登録された情報、すなわち、学習データを出力してもよい。
【0113】
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、
図7を用いて、情報提供装置10が実行する処理の流れについて説明する。
図7は、実施形態に係る情報提供装置が実行する処理の流れの一例を示すフローチャートである。
【0114】
まず、情報提供装置10は、コンテンツ等の各種記事から原因または結果を示すキーワードを検出する(ステップS101)。このような場合、情報提供装置10は、第1対象の記事において結果とされる第2対象を特定し、第2対象の記事において第1対象が原因とされている場合は、第1対象と第2対象とをシード因果関係とする(ステップS102)。そして、情報提供装置10は、シード因果関係の第1対象の記事から第2対象のコンテキストを抽出し、第2対象の記事から第1対象のコンテキストを抽出する(ステップS103)。
【0115】
そして、情報提供装置10は、抽出したコンテキストの組を正例の学習データとする(ステップS104)。また、情報提供装置10は、正例の学習データと同数の不例の学習データを生成する(ステップS105)。そして、情報提供装置10は、生成した学習データを用いて、入力された記事のペアが、因果関係を有する対象の記事のペアであるか否かを分類するモデルを学習し(ステップS106)、処理を終了する。
【0116】
〔5.実験結果について〕
続いて、上述した取得処理および学習処理の効果の一例として、実施に取得処理および学習処理を行った際における分類モデルの精度の一例について説明する。
【0117】
実験においては、ウィキペディアの記事をコンテンツとし、コンテンツから因果関係を示すセクションを特定し、特定したセクションから因果関係を有する対象を特定し、特定した対象とコンテンツが説明する対象のシード因果関係から生成した1524個の学習データを正例とした。また、非シード因果関係から生成した1524個の学習データを負例とした。そして、取得した3048個の学習データを用いて、分類モデルの学習を行った。以下の説明では、このような学習が行われた分類モデルによる分類結果をPROPと記載する。
【0118】
また、実験においては、PROPとの比較対象として、SECTION、INFOBOS、RELATED、およびORACLE REといった手法を準備し、各手法におけるアキュラシー(Acc:正確性)、プレシジョン(Prec:適合率)、リコール(Rec:再現率)、および適合率と再現率との調和平均であるF1値を算出した。
【0119】
ここで、SECTIONでは、上述した処理により抽出されたシード因果関係を抽出した。そして、抽出したシード因果関係に含まれる各対象が因果関係を有するか否かの正確性、適合率、再現率およびF1値をSECTIONの各値とした。
【0120】
また、INFOBOXでは、ウィキペディアの記事に含まれるインフォボックスから、記事が説明する対象と因果関係を有する他の対象を特定した。そして、記事が説明する対象と特定した対象とが因果関係を有するか否かの正確性、適合率、再現率およびF1値をINFOBOXの各値とした。
【0121】
また、RELATEDでは、1から以下の式(1)で示されるスコアsr(a,b)減算した値を距離計量として算出し、算出した距離計量が所定の条件を満たす2つの対象を因果関係を有する対象とした。そして、対象が因果関係を有するか否かの正確性、適合率、再現率およびF1値をRELATEDの各値とした。ここで、式(1)におけるaおよびbは、処理対象となる記事を示す。また、Aは、記事aとリンクが設定された全ての記事の集合であり、Bは、記事bとリンクが設定された全ての記事の集合を示す。また、Wは、ウィキペディアに存在する全ての記事を示す。
【0123】
また、ORACLE REでは、1つのセンテンス内で因果関係を有すると示された2つの対象を因果関係を有する対象とし、対象が因果関係を有するか否かの正確性、適合率、再現率およびF1値をORACLE REの各値とした。
【0124】
図8は、実施形態に係る取得処理および学習処理の実験結果の一例を示す第1の図である。
図8に示すように、SECTIONの適合率は、100パーセントとなっており、上述したシード因果関係を特定する処理を行うことで、適切な因果関係を自動的に抽出できることが示された。また、
図8に示すように、PROPにおいては、最も良いF1値を得ることができた。
【0125】
続いて、多言語性によるカバレッジおよび正確性の変化を比較するため、上述した取得処理および学習処理の対象として、英語、ドイツ語、フランス語、スペイン語の各組み合わせについて実行した。例えば、英語、ドイツ語、フランス語、およびスペイン語の全てを対象としたPROP
en,de,fr,es、スペイン語を除いたPROP
en,de,fr、フランス語を除いたPROP
en,de,es、ドイツ語を除いたPROP
en,fr,es、英語とドイツ語のみを対象としたPROP
en,de、英語とフランス語のみを対象としたPROP
en,fr、英語とスペイン語のみを対象としたPROP
en,es、および英語のみを対象としたPROP
enのそれぞれについて、正確性、適合率、再現率、およびF1値を算出した。
【0126】
図9は、実施形態に係る取得処理および学習処理の実験結果の一例を示す第2の図である。なお、
図9に示す例では、各手法のF1値に、PROP
en,de,fr,es、およびPROP
enと統計的に有意な差がある結果にひし形若しくはアスタリスクのマークを付与した。
図9に示すように、対象とする言語を変化させた場合、処理対象となる記事の数(換言すると、カバレッジ)が向上するにつれて、分類結果のF1値が向上することが分かった。
【0127】
また、PROPにより分類された分類結果から100個のサンプルを抽出し、検証を行った所、多数のサンプルについては、英語等の検証が容易な記事であった。すなわち、上述したPROPによる分類結果は、対応するコンテンツの文章等を参照することで、正しい分類結果であるかを容易に識別することができる。このため、情報提供装置10は、学習データや学習結果となる分類モデルの検証可能性を確保することができる。
【0128】
また、PROPにより因果関係を有すると判定された対象のペアは、多くの場合に、1つ以上の言語で記事がウィキペデイア上に作成されていた。このため、情報提供装置10は、分類結果の翻訳可能性を向上させることができる。
【0129】
また、ウィキペディア等、ネットワーク上に存在する各種のコンテンツは、Freebase、BabelNet、ISBN−13、MeSH、DOI、FishBase等、各種のナレッジデータベースと紐付けられている場合がある。PROPにより因果関係を有すると判定された対象のペアの記事のうち、過半数は、何かしら外部のナレッジデータと紐付られていた。このため、情報提供装置10は、学習データや分類モデルと各種ナレッジデータベースの接続性を向上させることができる。
【0130】
〔6.変形例〕
上記では、情報提供装置10による処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
【0131】
〔6−1.装置構成〕
情報提供装置10は、自装置で各種情報を管理せずともよい。例えば、記憶部30に登録された各データベース31〜33や因果関係表現テーブル34は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10は、
図2に示す特定部42、抽出部43、および取得部44を有する取得サーバと、学習部45および提供部46を有する学習サーバとにより実現されてもよい。
【0132】
〔6−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0133】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0134】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0135】
〔6−3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば
図10に示すような構成のコンピュータ1000によって実現される。
図10は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0136】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0137】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0138】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0139】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0140】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0141】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0142】
〔5.効果〕
上述したように、情報提供装置10は、第1対象を説明する第1コンテンツから、第1対象と因果関係を有する第2対象を特定し、第1コンテンツに基づく情報と、第2対象を説明する第2コンテンツに基づく情報との組を、因果関係の有無を分類する分類モデルの学習データとして取得する。このため、情報提供装置10は、因果関係の有無を分類する分類モデルの学習に有用な情報を自動的に取得することができる。
【0143】
また、情報提供装置10は、予め設定された因果関係を示すキーワードを用いて、第1コンテンツから、第1対象と因果関係を有する第2対象を特定する。また、情報提供装置10は、第1コンテンツから、第1対象と因果関係を有する他の対象を示す領域を特定し、特定した領域に示される他の対象を第2対象として特定する。例えば、情報提供装置10は、第1コンテンツのうち原因や結果を示すセクションから、第1対象と因果関係を有する可能性が高い対象を第2対象とする。また、情報提供装置10は、第1コンテンツからのリンクが設定された他のコンテンツが説明する対象であって、第1対象と因果関係を有する対象を第2対象として特定する。
【0144】
上述した各処理の結果、情報提供装置10は、因果関係を有する可能性が高い対象のペアを学習データの元となるペアとして特定することができる。
【0145】
また、情報提供装置10は、第1コンテンツから第2対象を示すコンテキストを抽出し、第2コンテンツから第1対象を示すコンテキストを抽出する。そして、情報提供装置10は、抽出されたコンテキストの組を学習データとして取得する。このため、情報提供装置10は、対象を説明するコンテンツから、対象のペアが因果関係を有するか否かを精度良く分類可能な分類モデルの学習を実現できる。
【0146】
また、情報提供装置10は、第1コンテンツにおいて、第1対象の原因として説明されている対象を第2対象として特定し、第2コンテンツを因果関係の原因を説明するコンテンツとし、第1コンテンツを因果関係の結果を説明するコンテンツとした組を学習データとして取得する。また、情報提供装置10は、第1コンテンツにおいて、第1対象の結果として説明されている対象を第2対象として特定し、第2コンテンツを因果関係の結果を説明するコンテンツとし、第1コンテンツを因果関係の原因を説明するコンテンツとした組を学習データとして取得する。このため、情報提供装置10は、対象のペアが因果関係を有するか否かを精度良く分類可能な分類モデルの学習を実現できる。
【0147】
また、情報提供装置10は、第1コンテンツおよび第2コンテンツに含まれる文字列のうち、因果関係の原因となる対象を示す文字列を原因を示す所定の第1シンボルに変換し、因果関係の結果となる対象を示す文字列を結果を示す所定の第2シンボルに変換した情報を学習データとして取得する。この結果、情報提供装置10は、各対象が因果関係を有するか否かを、各対象を説明するコンテキストの表現の特徴に基づいて分類する分類モデルの学習を実現できる。
【0148】
また、情報提供装置10は、それぞれ異なる言語で第1対象を説明する複数の第1コンテンツから、第1対象と因果関係を有する第2対象を特定し、言語ごとに、第1コンテンツに基づく情報と、第1コンテンツと同一言語で第2対象を説明する第2コンテンツに基づく情報との組を学習データとして取得する。また、情報提供装置10は、対象を説明するコンテンツの量が所定の条件を満たす言語で第1対象を説明する複数の第1コンテンツから、第1対象と因果関係を有する第2対象を特定し、言語ごとに、第1コンテンツに基づく情報と、第1コンテンツと同一言語で第2対象を説明する第2コンテンツに基づく情報との組を学習データとして取得する。また、情報提供装置10は、対象をそれぞれ異なる言語で説明する複数のコンテンツが登録された第1データベースにおいて同一の対象を説明するコンテンツを示す第2データベースを用いて、第1対象を説明する複数の第1コンテンツを特定するとともに、特定した複数の第1コンテンツから第2対象を特定する。
【0149】
上述した各種の処理により、情報提供装置10は、学習データのカバレッジを改善することができるので、学習データを用いた学習が行われる分類モデルの精度を向上させることができる。
【0150】
また、情報提供装置10は、学習データが有する特徴をモデルに学習させる。例えば、情報提供装置10は、第1コンテンツに基づく情報と、第2コンテンツに基づく情報との組を正例として取得するとともに、第3対象を説明する第3コンテンツに基づく情報と、第3対象と因果関係を有しない第4対象を説明する第4コンテンツに基づく情報との組を負例として取得し、正例と負例とを用いて、モデルの学習を行う。このため、情報提供装置10は、精度良く対象が因果関係を有するか否かを分類可能な分類モデルの学習を実現できる。
【0151】
また、情報提供装置10は、第1コンテンツにおいて、第1対象の原因として説明されている複数の対象のうち、第2対象が出現する順序を特定し、第1コンテンツに基づく情報と、第2コンテンツに基づく情報との組が有する特徴を、第1コンテンツにおいて第2対象が出現する順序に応じた優先度で学習する。このため、情報提供装置10は、分類モデルの分類精度を向上させることができる。
【0152】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0153】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、付与部は、特定手段や特定回路に読み替えることができる。