(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008244
(43)【公開日】2024-01-19
(54)【発明の名称】抽出プログラム、抽出方法および情報処理装置
(51)【国際特許分類】
G06F 40/295 20200101AFI20240112BHJP
G06F 40/216 20200101ALI20240112BHJP
【FI】
G06F40/295
G06F40/216
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022109952
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 一成
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CA01
5B091CC01
5B091CC05
5B091EA01
(57)【要約】
【課題】適切にエンティティを抽出すること。
【解決手段】情報処理装置は、テキストに含まれる複数の物質名をそれぞれ検出する。情報処理装置は、複数の物質名それぞれについて、物質名に対応する物質の複数の機能を推定し、推定した複数の機能を物質名に関連付ける。情報処理装置は、複数の物質名に関連付けた複数の機能の組み合わせ情報を作成する。情報処理装置は、組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、複数の物質名が1つのエンティティであるか否かを判定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
テキストに含まれる複数の物質名をそれぞれ検出し、
前記複数の物質名それぞれについて、前記物質名に対応する物質の複数の機能を推定し、推定した前記複数の機能を前記物質名に関連付け、
前記複数の物質名に関連付けた複数の機能の組み合わせ情報を作成し、
前記組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、前記複数の物質名が1つのエンティティであるか否かを判定する
処理をコンピュータに実行させることを特徴とする抽出プログラム。
【請求項2】
前記複数の物質名には、第1の物質名と、第2の物質名とが含まれ、前記組み合わせ情報を作成する処理は、前記第1の物質名に関連付けられた複数の機能と、前記第2の物質名に関連付けられた複数の機能との組み合わせ情報を生成し、前記判定する処理は、いずれかの機能の組の共起確率が閾値以上となる場合に、前記第1の物質名と、前記第2の物質名とが1つのエンティティであると判定することを特徴とする請求項1に記載の抽出プログラム。
【請求項3】
複数の機能の共起確率を設定した共起確率情報を基にして、前記共起確率と比較する前記閾値を算出する処理を更にコンピュータに実行させることを特徴とする請求項2に記載の抽出プログラム。
【請求項4】
前記判定する処理によって判定されたエンティティの情報を表示部に表示させる処理を更にコンピュータに実行させることを特徴とする請求項1に記載の抽出プログラム。
【請求項5】
テキストに含まれる複数の物質名をそれぞれ検出し、
前記複数の物質名それぞれについて、前記物質名に対応する物質の複数の機能を推定し、推定した前記複数の機能を前記物質名に関連付け、
前記複数の物質名に関連付けた複数の機能の組み合わせ情報を作成し、
前記組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、前記複数の物質名が1つのエンティティであるか否かを判定する
処理をコンピュータが実行することを特徴とする抽出方法。
【請求項6】
テキストに含まれる複数の物質名をそれぞれ検出し、
前記複数の物質名それぞれについて、前記物質名に対応する物質の複数の機能を推定し、推定した前記複数の機能を前記物質名に関連付け、
前記複数の物質名に関連付けた複数の機能の組み合わせ情報を作成し、
前記組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、前記複数の物質名が1つのエンティティであるか否かを判定する
処理を実行する制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、抽出プログラム等に関する。
【背景技術】
【0002】
マテリアルインフォマティクスでは、材料の特性を計算するためのベースとなる学習データを大量に利用するため、如何にして、学習データを収集するのかが重要となる。たとえば、材料の実験を行って、学習データを作成するには多大なコストがかかるため、実験によって、大量の学習データを入手することは難しい。
【0003】
一方、特許文献や論文等に記載された物性データを形式化して収集することで、実験を行う場合と比較して、低コストで、大量に学習データを収集することが期待できる。
【0004】
ここで、特許文献や論文等に記載された物性データを形式化するためには、テキストデータの中でどこからどこまでが対象物を表していて、どの部分がその対象物に対応する物性値であるかを抽出することが求められる。以下の説明では、対象物を「エンティティ」と表記する。物性値を「バリュー」と表記する。
【0005】
図17は、エンティティの一例を示す図である。
図17に示すテキストデータ10において、エンティティは、「PAA」、「PAP」である。エンティティに対応する物性名は「glass transition temperatures」である。エンティティに対応するバリューは「373K」である。テキストデータ10では、2つのエンティティについて、物性情報(物性名、バリュー)が記載されているといえる。特に、複数のエンティティが並列に記載されている場合には、複数のエンティティが別々のエンティティなのか、複数のエンティティを1つの混合物として扱うのかを正しく解釈することが求められる。
【0006】
たとえば、テキストデータからエンティティを抽出する場合には、固有表現抽出技術と、並列表現の解析技術とが用いられる。固有表現抽出技術は、テキストデータから、エンティティとなりうる化合物名を抽出する。並列表現の解析技術は、テキストデータに対して品詞解析を実行し、解説結果として得られた単語や句の記述パターンや、単語や句が同列かどうかを判定するなどして、並列表現か否かを判定する。
【0007】
図18は、並列表現の解析技術を説明するための図である。
図18に示す例では、テキストデータ11から、エンティティ11a,11bが抽出されている。たとえば、並列表現の解析技術では、エンティティ11a,11bの記述のパターンが同じで、ともに具体的な物質名である場合には、エンティティ11a,11bを並列表現であると判定する。すなわち、エンティティ11a,11bは、1つの混合物ではなく、別々のエンティティであると判定される。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
文法的な並列表現と、エンティティが並列に書かれているかどうかには乖離があり、上述した固有表現抽出技術、並列表現の解析技術では、適切にエンティティを抽出することができない場合がある。
【0010】
図19は、従来技術の問題点を説明するための図である。
図19に示すテキストデータ12には、2つの化学物12a,12bが類似のパターンで並列に記載されているため、上記の並列表現の解析技術では、化学物12a,12bを別々のエンティティとして判定してしまう。しかし、実際には、物性情報との関係から、化学物12a,12bは、1つの混合物として抽出すべきエンティティである。
【0011】
化合物名が単体でエンティティになる場合もあれば、複数の化合物名の組み合わせで1つのエンティティとなる場合もあり、単純に固有表現をエンティティとして抽出しても、適切なエンティティとはならない。
【0012】
1つの側面では、本発明は、適切にエンティティを抽出することができる抽出プログラム、抽出方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、テキストに含まれる複数の物質名をそれぞれ検出する。コンピュータは、複数の物質名それぞれについて、物質名に対応する物質の複数の機能を推定し、推定した複数の機能を物質名に関連付ける。コンピュータは、複数の物質名に関連付けた複数の機能の組み合わせ情報を作成する。コンピュータは、組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、複数の物質名が1つのエンティティであるか否かを判定する。
【発明の効果】
【0014】
適切にエンティティを抽出することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、本実施例に係る情報処理装置の処理の一例を説明するための図(1)である。
【
図2】
図2は、本実施例に係る情報処理装置の処理の一例を説明するための図(2)である。
【
図3】
図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図4】
図4は、機能特定辞書データのデータ構造の一例を示す図である。
【
図5】
図5は、共起確率辞書データのデータ構造の一例を示す図である。
【
図6】
図6は、機能特定辞書データを生成する処理を説明するための図である。
【
図7】
図7は、共起確率辞書データを生成する処理を説明するための図である。
【
図8】
図8は、エンティティ候補推定部の処理を説明するための図である。
【
図9】
図9は、生成部の処理を説明するための図である。
【
図11】
図11は、表示制御部が表示する画面情報の一例を示す図である。
【
図12】
図12は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【
図13】
図13は、辞書作成処理の処理手順を示すフローチャートである。
【
図14】
図14は、組み合わせデータ生成処理の処理手順を示すフローチャートである。
【
図15】
図15は、エンティティ確定処理の処理手順を示すフローチャートである。
【
図16】
図16は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図18】
図18は、並列表現の解析技術を説明するための図である。
【
図19】
図19は、従来技術の問題点を説明するための図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する抽出プログラム、抽出方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0017】
本実施例に係る情報処理装置の処理の一例について説明する。
図1および
図2は、本実施例に係る情報処理装置の処理を説明するための図である。まず、
図1について説明する。情報処理装置は、テキストデータ13を解析して、テキストデータ13に含まれる物質名「elemental titanium」をエンティティ候補13aとして特定し、物質名「the bisphenol」をエンティティ候補13bとして特定する。
【0018】
情報処理装置は、エンティティ候補13aに対応する物質の機能(役割)と、エンティティ候補13bに対応する物質の機能とを基にして、混合物としての妥当性を評価する。たとえば、物質「elemental titanium(チタン)」の機能は「金属材料」である。物質「the bisphenol(ビスフェノール硬化剤)」の機能は「有機添加剤」である。
【0019】
情報処理装置は、機能「金属材料」と、機能「有機添加物」とが同一のテキストで共起する共起確率が、混合物として妥当である場合には、「elemental titanium and the bisphenol」をエンティティとして抽出する。一方、情報処理装置は、機能「金属材料」と、機能「有機添加物」との共起確率が、混合物として妥当でない場合には、「elemental titanium」と「the bisphenol」とを別々のエンティティとして抽出する。たとえば、情報処理装置は、機能の共起確率をコーパス等から抽出しておく。
【0020】
ここで、1つのエンティティ候補に対応する物質には複数の機能があり、機能にも抽象度があるため、単純な共起確率によって、混合物としての妥当性を判定することは難しい。たとえば、物質「elemental titanium(チタン)」の機能には、
図1で示した「金属材料」の他に、「充填剤」、「無機充填剤」、「導電性材料」、「触媒」等がある。物質「the bisphenol(ビスフェノール硬化剤)」の機能には、
図1で示した「有機添加剤」の他に、「潜在型硬化剤」「酸化防止剤」等がある。
【0021】
「無機充填剤」および「硬化剤」の共起確率と、「金属材料」および「酸化防止剤」との共起確率とはそれぞれ異なる共起確率となり、どちらの共起確率を用いるかによって、混合物として妥当であるか否かの判定が揺らいでしまう。また、「充填剤」と「無機充填剤」のように、抽象度が異なる機能名がある場合には、どちらの機能を使うかによって、共起確率が異なり、判定結果も異なる。
【0022】
このため、本実施例に係る情報処理装置は、各エンティティ候補の複数の機能の組み合わせ情報を生成し、組み合わせ情報に含まれる各機能の組の共起確率に基づいて、各エンティティ候補を1つのエンティティとして抽出するか否かを判定する。
【0023】
図2の説明に移行する。
図2に示す例では、テキストデータ14に、「A and B and C」というエンティティ候補が含まるものとする。エンティティ候補「A」の機能をa(1)、a(2)、a(3)とする。エンティティ候補「B」の機能をb(1)、b(2)、b(3)とする。エンティティ候補「C」の機能をc(1)、c(2)、c(3)とする。なお、機能Xと、機能Yの共起確率を、「X:Yの共起確率」と表記する。
【0024】
情報処理装置は、機能a(1)、b(1)、c(1)の組について、次のように共起確率の和を算出する。下記の例では、共起確率の和を「0.5」とする。
a(1):b(1)の共起確率+b(1):c(1)の共起確率+c(1):a(1)の共起確率→0.5
【0025】
情報処理装置は、機能a(1)、b(1)、c(2)の組について、次のように共起確率の和を算出する。下記の例では、共起確率の和を「0.2」とする。
a(1):b(1)の共起確率+b(1):c(2)の共起確率+c(2):a(1)の共起確率→0.2
【0026】
情報処理装置は、機能a(1)、b(1)、c(3)の組について、次のように共起確率の和を算出する。下記の例では、共起確率の和を「0.1」とする。
a(1):b(1)の共起確率+b(1):c(3)の共起確率+c(3):a(1)の共起確率→0.1
【0027】
情報処理装置は、機能a(1)、b(2)、c(1)の組について、次のように共起確率の和を算出する。下記の例では、共起確率の和を「0.4」とする。
a(1):b(2)の共起確率+b(2):c(1)の共起確率+c(1):a(1)の共起確率→0.4
【0028】
図2では、図示を省略するが、情報処理装置は、その他の機能の組についても、上記計算を行うことで、その他の機能の組に関する共起確率の和を算出する。エンティティ候補が3種類で、各エンティティ候補について、3種類の機能が存在する場合には、27種類の共起確率の和が算出される。情報処理装置は、各機能の組からそれぞれ算出した共起確率の和のうち、最大の共起確率の和を特定する。情報処理装置は、最大の共起確率の和が閾値以上である場合に、エンティティ候補A、B、Cを、1つのエンティティとして抽出する。
【0029】
たとえば、情報処理装置は、複数の機能の組のうち、機能a(1)、b(1)、c(1)の組の共起確率の和「0.5」が最大の共起確率の和であり、かつ、共起確率の和が閾値以上である場合には、エンティティ候補A、B、Cを、1つのエンティティとして抽出する。
【0030】
ここで、複数の機能の組のうち、共起確率の和が最大となる機能の組は、より一般的に共起する機能の組であるといえる。また、機能によって混合される分量が異なる場合でも、共起確率の和を用いることで、分量に合った機能の組を選択することができる。たとえば、充填剤か触媒かによって、使われる分量は異なるが、分量の情報を利用しなくても、共起確率の和から、ある程度妥当な機能の組を選択することができる。すなわち、各機能の組からそれぞれ算出した共起確率の和のうち、最大の共起確率の和を利用することで、エンティティを適切に抽出することができる。
【0031】
次に、
図1、
図2で説明した処理を実行する情報処理装置の構成例について説明する。
図3は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図3に示すように、情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
【0032】
通信部110は、ネットワークを介して、外部装置等との間でデータ通信を実行する。後述する制御部150は、通信部110を介して、外部装置との間でデータをやり取りする。
【0033】
入力部120は、情報処理装置100の制御部150に各種の情報を入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。
【0034】
表示部130は、制御部150から出力される情報を表示する表示装置である。
【0035】
記憶部140は、機能特定辞書データ141、共起確率辞書データ142、抽出モデル143、訓練データテーブル144を有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0036】
機能特定辞書データ141は、物質の機能を定義する。
図4は、機能特定辞書データのデータ構造の一例を示す図である。
図4に示すように、この機能特定辞書データ141は、物質名(物質)と、機能とを対応付ける。たとえば、チタン(elemental titanium)の機能は、金属材料、充填剤、触媒等である。ビスフェノール(the bisphenol)の機能は、硬化剤、酸化防止剤等である。
【0037】
共起確率辞書データ142は、機能の共起確率を定義する。
図5は、共起確率辞書データのデータ構造の一例を示す図である。
図5に示すように、この共起確率辞書データ142は、機能の組に対する共起確率を示す。たとえば、機能「金属材料」と、機能「硬化剤」との共起確率が「0.1」であることが示される。これは、コーパスに含まれる全件のうち、1文中で、機能「金属材料」と、機能「硬化剤」とが共起する確率が「0.1(%)」であることを意味する。
【0038】
抽出モデル143は、テキストデータを入力とし、テキストデータに含まれるエンティティ候補及びバリュー候補を出力する訓練済みの機械学習モデルである。抽出モデル143は、NN(Neural Network)等である。
【0039】
訓練データテーブル144は、テキストデータと、後述する制御部150の処理によって特定されるエンティティ、バリューとの関係を保持するテーブルである。
【0040】
制御部150は、前処理部151、エンティティ候補推定部152、機能推定部153、生成部154、判定部155、表示制御部156、学習部157を有する。制御部150は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジック等によって実現される。
【0041】
前処理部151は、外部装置等からコーパスのデータを取得し、コーパスを基にして、機能特定辞書データ141、共起確率辞書データ142を生成する。コーパスには、特許文献のテキストデータや、論文のテキストデータ等が含まれる。
【0042】
前処理部151が、機能特定辞書データ141を生成する処理の一例について説明する。
図6は、機能特定辞書データを生成する処理を説明するための図である。前処理部151は、テキストデータを分析して、予め定義された手がかり語が含まれるか否かを判定する。前処理部151は、所定の手がかり語が含まれる場合、テキストデータに対して、固有表現抽出処理を実行し、手がかり語の前後の固有表現を、物質名と機能との関係として抽出し、機能特定辞書データ141に登録する。
【0043】
図6に示す例では、前処理部151は、テキストデータ15を分析すると、手がかり語15a「としては」が含まれるため、テキストデータ15に対して、固有表現抽出処理を実行する。たとえば、前処理部151は、手がかり語15aの前後の固有表現15b「ビスフェノール」と、固有表現15c「硬化剤」を抽出する。前処理部151は、物質名「ビスフェノール」と、機能「硬化剤」との関係を、機能特定辞書データ141に登録する。
【0044】
続いて、前処理部151が、共起確率辞書データ142を生成する処理の一例について説明する。
図7は、共起確率辞書データを生成する処理を説明するための図である。前処理部151は、共起確率の算出対象となる機能の組を特定し、コーパスに含まれる全てのテキストデータについて、特定した機能の組が含まれるか否かを判定する。前処理部151は、全てのテキストデータのうち、特定した機能の組が含まれるテキストデータの割合を、共起確率として算出する。たとえば、前処理部151は、機能特定辞書データ141に含まれる複数の機能の組み合わせから、共起確率の算出対象となる機能の組を特定してもよいし、ユーザが入力部120を操作して、対象となる機能の組を指定してもよい。
【0045】
図7に示す例では、テキストデータ16に、機能「硬化剤」と、機能「無機質充填剤」とが共起している例を示す。
【0046】
上記の例では、前処理部151が、コーパスを基にして、機能特定辞書データ141、共起確率辞書データ142を生成する場合について説明したが、これに限定されない。たとえば、前処理部151が、外部装置から、機能特定辞書データ141、共起確率辞書データ142を取得して、記憶部140に登録してもよい。
【0047】
エンティティ候補推定部152は、エンティティ候補を抽出する対象となるテキストデータを取得する。エンティティ候補推定部152は、取得したテキストデータを、抽出モデル143に入力することで、テキストデータに含まれるエンティティ候補、バリュー候補を抽出する。エンティティ候補推定部152は、エンティティ候補を抽出する対象となるテキストデータを、入力部120から取得してもよいし、外部装置等から取得してもよい。
【0048】
図8は、エンティティ候補推定部の処理を説明するための図である。エンティティ候補推定部152は、エンティティ候補を抽出する対象となるテキストデータ17を、抽出モデル143に入力することで、エンティティ候補17a,17bと、バリュー候補17cとを抽出する。エンティティ候補17aは、「elemental titanium(チタン)」である。エンティティ候補17bは、「the bisphenol(ビスフェノール硬化剤)」である。バリュー候補17cは、「high network density」である。
【0049】
エンティティ候補推定部152は、テキストデータ17から抽出したエンティティ候補17a,17bを、機能推定部153に出力する。また、エンティティ候補推定部152は、テキストデータ17と、エンティティ候補17a,17bと、バリュー候補17cとのデータを、判定部155に出力する。
【0050】
機能推定部153は、機能特定辞書データ141を基にして、エンティティ候補に対応する機能を推定する。機能推定部153は、エンティティ候補(物質名)と、機能特定辞書データ141とを比較することで、エンティティ候補に対応する機能を推定する。
【0051】
たとえば、機能推定部153は、エンティティ候補17a(elemental titanium(チタン))と、
図4に示す機能特定辞書データ141との比較により、エンティティ候補17aに対応する機能として、金属材料、充填剤、触媒を推定する。機能推定部153は、エンティティ候補17b(the bisphenol(ビスフェノール硬化剤))と、機能特定辞書データ141との比較により、エンティティ候補17bに対応する機能として、硬化剤、酸化防止剤を推定する。
【0052】
機能推定部153は、エンティティ候補と、機能とを対応付けたデータを、生成部154に出力する。
【0053】
生成部154は、複数のエンティティ候補に対応する複数の機能の組み合わせデータを作成する。
図9は、生成部の処理を説明するための図である。
図9に示す例では、エンティティ候補を「elemental titanium(チタン)」と、「the bisphenol(ビスフェノール硬化剤)」とする。エンティティ候補「elemental titanium(チタン)」に対応する機能を「金属材料」、「充填剤」、「触媒」とする。エンティティ候補「the bisphenol(ビスフェノール硬化剤)」に対応する機能を「硬化剤」、「酸化防止剤」とする。
【0054】
生成部154は、機能「金属材料」、「充填剤」、「触媒」と、機能「硬化剤」、「酸化防止剤」との組み合わせデータ50を生成する。組み合わせデータ50には、6通りの機能の組が含まれる。具体的に、機能の組には「金属材料:硬化剤」、「金属材料:酸化防止剤」、「充填剤:硬化剤」、「充填剤:酸化防止剤」、「触媒:硬化剤」、「触媒:酸化防止剤」が含まれる。
【0055】
生成部154は、組み合わせデータ50に含まれる各機能の組の共起確率を、共起確率辞書データ142を基にして特定する。生成部154は、組み合わせデータ50の各機能の組に、特定した共起確率を設定する。
【0056】
図5に示した共起確率辞書データ142に基づくと、「金属材料:硬化剤」の共起確率は「0.1」となる。「金属材料:酸化防止剤」の共起確率は「0.05」となる。「充填剤:硬化剤」の共起確率は「0.3」となる。「充填剤:酸化防止剤」の共起確率は「0.2」となる。「触媒:硬化剤」の共起確率は「0.1」となる。「触媒:酸化防止剤」の共起確率は「0.15」となる。
【0057】
生成部154は、機能の組と、共起確率とを対応付けた組み合わせデータ50を基にして、共起確率が最大となる機能の組と、その共起確率とを特定する。
図9に示す例では、共起確率が最大となる機能の組は、「充填剤:硬化剤」であり、その共起確率は「0.3」となる。生成部154は、特定した機能の組と、共起確率とを判定部155に出力する。
【0058】
ところで、
図9で説明した例では、説明の便宜上、2つのエンティティ候補を用いて説明したが、エンティティ候補が3つ以上となる場合もある。生成部154は、エンティティ候補が3つ以上の場合には、
図2で説明したように、各機能の組の共起確率を合計し、共起確率の合計が最大となる各機能の組と、その共起確率を特定する。たとえば、共起確率の和の最大値を「0.5」とすると、生成部154は、機能a(1)、b(1)、c(1)の組と、共起確率の和「0.5」を特定する。
【0059】
判定部155は、生成部154によって特定された機能の組に対応する共起確率と比較する閾値Thを算出する。便宜的に、特定された機能の組を、第1の機能と、第2の機能とする。たとえば、判定部155は、式(1)を基にして、閾値Thを算出する。第1の機能の最大共起確率は、共起確率辞書データ142に設定された第1の機能に対応する行(あるいは列)の各共起確率のうち、最大の共起確率となる。第2の機能の最大共起確率は、共起確率辞書データ142に設定された第2の機能に対応する行(あるいは列)の各共起確率のうち、最大の共起確率となる。αは、予め設定される係数である。
【0060】
閾値Th=α×(第1の機能の最大共起確率+第2の機能の最大共起確率)・・・(1)
【0061】
たとえば、特定された機能の組が「充填剤:硬化剤」であり、充填剤の最大共起確率を「0.4」、硬化剤の最大共起確率を「0.8」、係数を「0.2」とすると、閾値Thは、次のように計算され、閾値Th=0.24となる。
閾値Th=0.2×(0.4+0.8)=0.24
【0062】
判定部155は、生成部154によって特定された機能の組の共起確率が、閾値Th以上である場合に、機能の組に対応する複数のエンティティ候補が1つのエンティティであると判定する。一方、判定部155は、生成部154によって特定された機能の組の共起確率が、閾値Th未満である場合に、機能の組に対応する複数のエンティティ候補が別々のエンティティであると判定する。
【0063】
たとえば、上記のように、特定された機能の組「充填剤:硬化剤」の共起確率が「0.3」であり、閾値Thを「0.24」とすると、共起確率が閾値Th以上となる。このため、判定部155は、機能「充填剤」に対応するエンティティ候補「elemental titanium(チタン)」と、機能「硬化剤」に対応するエンティティ候補「the bisphenol(ビスフェノール硬化剤)」とが1つのエンティティであると判定する。
【0064】
ところで、判定部155は、生成部154によって特定された機能の組が、
図9で説明したように、第1の機能と、第2の機能、第3の機能の組である場合には、第1~3の機能の最大共起確率の合計値に、係数を乗算することで、閾値Thを算出する。また、判定部155は、各共起確率の和が、閾値Th以上である場合に、機能の組に対応する複数のエンティティ候補が1つのエンティティであると判定する。一方、判定部155は、生成部154によって特定された機能の組の共起確率の和が、閾値Th未満である場合に、機能の組に対応する複数のエンティティ候補が別々のエンティティであると判定する。
【0065】
判定部155は、判定結果を基にして、エンティティを確定する。たとえば、判定部155は、判定結果を基にして、エンティティ候補推定部152の推定結果を修正する。
図10は、判定部の処理を説明するための図である。
図10において、エンティティ候補推定部152の推定結果では、テキストデータ17から、エンティティ候補17a,17bが推定されている。判定部155は、上記の処理によって、エンティティ候補17a,17bが1つのエンティティであると判定した場合には、エンティティ候補17aの先頭から、エンティティ候補17bの最後までを含む文字列となるエンティティ17dを設定する。
図10に示す例では、エンティティ17dは「elemental titanium and the bisphenol」となる。判定部155は、テキストデータ17のエンティティの位置を示すタグを再付与することで、エンティティ17dの位置を再設定してもよい。
【0066】
判定部155は、テキストデータに含まれるエンティティと、バリューのデータを、表示制御部156に出力する。かかるバリューは、エンティティ候補推定部152から取得するバリュー候補である。
【0067】
表示制御部156は、判定部155から取得したテキストデータに含まれるエンティティと、バリューとを表示部130に出力して表示させる。表示制御部156は、テキストデータに含まれるエンティティと、バリューとを表示部130に出力して表示させ、入力部120から、登録要求等を受け付けた場合に、入力データ「テキストデータ」、正解ラベル「エンティティ、バリュー」の関係を、訓練データテーブル144に登録する。
【0068】
なお、表示制御部156は、修正前のエンティティと、修正後のエンティティとを表示する画面情報を表示し、適切なエンティティをユーザに選択させてもよい。
図11は、表示制御部が表示する画面情報の一例を示す図である。
図11に示すように、表示画面60には、対象となるテキストデータ30aと、テーブル30bとが含まれる。
【0069】
テーブル30bでは、候補と、スコアと、エンティティと、バリューとが対応付けられる。候補は、エンティティとバリューとの候補を区別する情報である。候補1に対応するエンティティは、1つのエンティティ「elemental titanium and the bisphenol」でる。候補1に対応するバリューは「high network density」である。候補2に対応するエンティティは、二つのエンティティ「elemental titanium」、「bisphenol」である。候補2に対応するバリューは、「high network density」である。
【0070】
候補1のエンティティは、判定部155の判定結果に基づくエンティティである。候補2のエンティティは、抽出モデル143を用いた推定結果に基づくエンティティである。
【0071】
スコアは、エンティティの評価値であり、値が大きいほど、より適切なエンティティであると情報処理装置100が判定していることを示す。
図11では、表示制御部156は、候補1のスコアを「10」を設定し、候補2のスコアを「7」に設定した例を示す。
【0072】
表示制御部156は、入力部120を操作するユーザによって、候補1が選択された場合には、テキストデータ30aと、エンティティ「elemental titanium and the bisphenol」、バリュー「high network density」との組を、訓練データテーブル144に登録する。一方、表示制御部156は、入力部120を操作するユーザによって、候補2が選択された場合には、テキストデータ30aと、エンティティ「elemental titanium」、「bisphenol」、バリュー「high network density」との組を、訓練データテーブル144に登録する。
【0073】
学習部157は、訓練データテーブル144に登録されたテキストデータ(入力データ)と、エンティティおよびバリュー(正解ラベル)とのを基にして、対象となる機械学習モデルを訓練する。学習部157は、テキストデータを入力し、機械学習モデルから出力されるエンティティおよびバリューが正解ラベルに近づくように、機械学習モデルのパラメータを調整する。なお、学習部157は、訓練データテーブル144を基にして、抽出モデル143の再訓練を行ってもよい。
【0074】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。
図12は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
図12に示すように、情報処理装置100の前処理部151は、辞書作成処理を実行する(ステップS101)。
【0075】
情報処理装置100のエンティティ候補推定部152は、テキストデータを取得する(ステップS102)。エンティティ候補推定部152は、抽出モデル143にテキストデータを入力することで、エンティティ候補を推定する(ステップS103)。
【0076】
情報処理装置100の機能推定部153は、エンティティ候補と、機能特定辞書データ141とを基にして、エンティティ候補の機能を推定する(ステップS104)。
【0077】
情報処理装置100の生成部154は、組み合わせデータ生成処理を実行する(ステップS105)。情報処理装置100の判定部155は、閾値を算出する(ステップS106)。
【0078】
判定部155は、組み合わせデータの共起確率(共起確率の和)の最大値と、閾値とを基にして、複数のエンティティ候補が、1つのエンティティであるか否かを判定する(ステップS107)。判定部155は、エンティティ確定処理を実行する(ステップS108)。情報処理装置100の表示制御部156は、確定したエンティティを表示部130に表示させる(ステップS109)。
【0079】
次に、
図12のステップS101で説明した辞書作成処理の処理手順の一例について説明する。
図13は、辞書作成処理の処理手順を示すフローチャートである。
図13に示すように、情報処理装置100の前処理部151は、コーパスを取得する(ステップS201)。前処理部151は、コーパスに含まれる1つのテキストデータを取得する(ステップS202)。
【0080】
前処理部151は、テキストデータに手がかり語が含まれるか否かを判定する(ステップS203)。前処理部151は、テキストデータに手がかり語が含まれない場合には(ステップS203,No)、ステップS206に移行する。
【0081】
一方、前処理部151は、テキストデータに手がかり語が含まれる場合には(ステップS203,Yes)、固有表現抽出処理を行い、テキストデータから固有表現を抽出する(ステップS204)。
【0082】
前処理部151は、手がかり語の前後の固有表現を対応付けて、機能特定辞書データ141に登録する(ステップS205)。
【0083】
前処理部151は、コーパスから全てのテキストデータを取得していない場合には(ステップS206,No)、ステップS202に移行する。前処理部151は、コーパスから全てのテキストデータを取得した場合には(ステップS206,Yes)、辞書作成処理を終了する。
【0084】
次に、
図12のステップS105で説明した組み合わせデータ生成処理の処理手順の一例について説明する。
図14は、組み合わせデータ生成処理の処理手順を示すフローチャートである。
図14に示すように、情報処理装置100の生成部154は、複数のエンティティ候補を取得する(ステップS301)。生成部154は、各エンティティ候補の機能を取得する(ステップS302)。
【0085】
生成部154は、2つのエンティティ候補を選択する(ステップS303)。生成部154は、選択した各エンティティ候補から、1つずつ機能を選択する(ステップS304)。生成部154は、共起確率辞書データ142を基にして、選択した機能の組の共起確率を取得する(ステップS305)。
【0086】
生成部154は、全ての機能を処理していない場合には(ステップS306,No)、ステップS304に移行する。一方、生成部154は、全ての機能を処理した場合には(ステップS306,Yes)、ステップS307に移行する。
【0087】
生成部154は、全てのエンティティ候補の組み合わせを処理していない場合には(ステップS307,No)、ステップS303に移行する。一方、生成部154は、全てのエンティティ候補の組み合わせを処理した場合には(ステップS307,Yes)、各エンティティ候補の各機能の組み合わせについて、共起確率の和を算出する(ステップS308)。生成部154は、共起確率の和の最大値を選択する(ステップS309)。
【0088】
次に、
図12のステップS108で説明したエンティティ確定処理の処理手順の一例について説明する。
図15は、エンティティ確定処理の処理手順を示すフローチャートである。
図15に示すように、情報処理装置100の判定部155は、複数のエンティティ候補を1つのエンティティと判定していない場合には(ステップS401,No)、そのまま処理を終了する。
【0089】
一方、判定部155は、複数のエンティティ候補を1つのエンティティと判定した場合には(ステップS401,Yes)、テキストデータの複数のエンティティ候補を特定する(ステップS402)。
【0090】
判定部155は、特定した複数のエンティティ候補それぞれのタグを削除し、複数のエンティティ候補に対し、まとめて1つのタグを再付与する(ステップS403)。
【0091】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、テキストデータに含まれる複数のエンティティ候補とエンティティ候補の複数の機能を推定し、複数の機能の組み合わせデータを生成する。情報処理装置100は、組み合わせ情報に含まれる機能の組の共起確率(機能が3つ以上の場合には、共起確率の和)を基にして、複数のエンティティ候補が1つのエンティティであるか否かを判定する。これによって、テキストに含まれるエンティティを適切に抽出することができる。
【0092】
たとえば、複数の機能の組のうち、共起確率の和が最大となる機能の組は、より一般的に共起する機能の組であるといえる。また、機能によって混合される分量が異なる場合でも、共起確率の和を用いることで、分量に合った機能の組を選択することができる。たとえば、充填剤か触媒かによって、使われる分量は異なるが、分量の情報を利用しなくても、共起確率の和から、ある程度妥当な機能の組を選択することができる。すなわち、各機能の組からそれぞれ算出した共起確率の和のうち、最大の共起確率の和を利用することで、エンティティを適切に抽出することができる。
【0093】
情報処理装置100は、複数の機能の共起確率を設定した共起確率辞書データ142を基にして、共起確率と比較する閾値を算出する。たとえば、情報処理装置100は、式(1)を基にして、閾値Thを算出する。たとえば、溶媒のような機能は、様々な機能の物質と混ざることが多く、混合物でありながら、共起確率の和が低くなる場合がある。そのような場合に、固定の閾値を用いると、複数のエンティティ候補が、混合物であるにも関わらず、複数のエンティティ候補を1つのエンティティと誤判定する場合がある。これに対して、上記のように、対象となる機能の共起確率の傾向から、閾値Thを算出することで、複数のエンティティ候補が1つのエンティティであるか否かを判定することができる。
【0094】
情報処理装置100は、判定されたエンティティの情報を表示部に表示させる。これによって、エンティティの判定結果をユーザに確認させることができる。
【0095】
次に、上述した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図16は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0096】
図16に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0097】
ハードディスク装置207は、前処理プログラム207a、エンティティ候補推定プログラム207b、機能推定プログラム207c、生成プログラム207d、判定プログラム207e、表示制御プログラム207f、学習プログラム207gを有する。また、CPU201は、各プログラム207a~207gを読み出してRAM206に展開する。
【0098】
前処理プログラム207aは、前処理プロセス206aとして機能する。エンティティ候補推定プログラム207bは、エンティティ候補推定プロセス206bとして機能する。機能推定プログラム207cは、機能推定プロセス206cとして機能する。生成プログラム207dは、生成プロセス206dとして機能する。特定プログラム207eは、特定プロセス206eとして機能する。表示制御プログラム207fは、表示制御プロセス206fとして機能する。学習プログラム207gは、学習プロセス206gとして機能する。
【0099】
前処理プロセス206aの処理は、前処理部151の処理に対応する。エンティティ候補推定プロセス206bの処理は、エンティティ候補推定部152の処理に対応する。機能推定プロセス206cの処理は、機能推定部153の処理に対応する。生成プロセス206dの処理は、生成部154の処理に対応する。判定プロセス206eの処理は、判定部155の処理に対応する。表示制御プロセス206fの処理は、表示制御部156の処理に対応する。学習プロセス206gの処理は、学習部157の処理に対応する。
【0100】
なお、各プログラム207a~207gについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207gを読み出して実行するようにしてもよい。
【0101】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0102】
(付記1)テキストに含まれる複数の物質名をそれぞれ検出し、
前記複数の物質名それぞれについて、前記物質名に対応する物質の複数の機能を推定し、推定した前記複数の機能を前記物質名に関連付け、
前記複数の物質名に関連付けた複数の機能の組み合わせ情報を作成し、
前記組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、前記複数の物質名が1つのエンティティであるか否かを判定する
処理をコンピュータに実行させることを特徴とする抽出プログラム。
【0103】
(付記2)前記複数の物質名には、第1の物質名と、第2の物質名とが含まれ、前記組み合わせ情報を作成する処理は、前記第1の物質名に関連付けられた複数の機能と、前記第2の物質名に関連付けられた複数の機能との組み合わせ情報を生成し、前記判定する処理は、いずれかの機能の組の共起確率が閾値以上となる場合に、前記第1の物質名と、前記第2の物質名とが1つのエンティティであると判定することを特徴とする付記1に記載の抽出プログラム。
【0104】
(付記3)複数の機能の共起確率を設定した共起確率情報を基にして、前記共起確率と比較する前記閾値を算出する処理を更にコンピュータに実行させることを特徴とする付記2に記載の抽出プログラム。
【0105】
(付記4)前記判定する処理によって判定されたエンティティの情報を表示部に表示させる処理を更にコンピュータに実行させることを特徴とする付記1に記載の抽出プログラム。
【0106】
(付記5)テキストに含まれる複数の物質名をそれぞれ検出し、
前記複数の物質名それぞれについて、前記物質名に対応する物質の複数の機能を推定し、推定した前記複数の機能を前記物質名に関連付け、
前記複数の物質名に関連付けた複数の機能の組み合わせ情報を作成し、
前記組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、前記複数の物質名が1つのエンティティであるか否かを判定する
処理をコンピュータが実行することを特徴とする抽出方法。
【0107】
(付記6)前記複数の物質名には、第1の物質名と、第2の物質名とが含まれ、前記組み合わせ情報を作成する処理は、前記第1の物質名に関連付けられた複数の機能と、前記第2の物質名に関連付けられた複数の機能との組み合わせ情報を生成し、前記判定する処理は、いずれかの機能の組の共起確率が閾値以上となる場合に、前記第1の物質名と、前記第2の物質名とが1つのエンティティであると判定することを特徴とする付記5に記載の抽出方法。
【0108】
(付記7)複数の機能の共起確率を設定した共起確率情報を基にして、前記共起確率と比較する前記閾値を算出する処理を更にコンピュータが実行することを特徴とする付記6に記載の抽出方法。
【0109】
(付記8)前記判定する処理によって判定されたエンティティの情報を表示部に表示させる処理を更にコンピュータが実行することを特徴とする付記5に記載の抽出方法。
【0110】
(付記9)テキストに含まれる複数の物質名をそれぞれ検出し、
前記複数の物質名それぞれについて、前記物質名に対応する物質の複数の機能を推定し、推定した前記複数の機能を前記物質名に関連付け、
前記複数の物質名に関連付けた複数の機能の組み合わせ情報を作成し、
前記組み合わせ情報に含まれる複数の物質名の機能の組が同一のテキストで共起する共起確率を基にして、前記複数の物質名が1つのエンティティであるか否かを判定する
処理を実行する制御部を有する情報処理装置。
【0111】
(付記10)前記複数の物質名には、第1の物質名と、第2の物質名とが含まれ、前記組み合わせ情報を作成する処理は、前記第1の物質名に関連付けられた複数の機能と、前記第2の物質名に関連付けられた複数の機能との組み合わせ情報を生成し、前記判定する処理は、いずれかの機能の組の共起確率が閾値以上となる場合に、前記第1の物質名と、前記第2の物質名とが1つのエンティティであると判定することを特徴とする付記9に記載の情報処理装置。
【0112】
(付記11)前記制御部は、複数の機能の共起確率を設定した共起確率情報を基にして、前記共起確率と比較する前記閾値を算出する処理を更に実行することを特徴とする付記10に記載の情報処理装置。
【0113】
(付記12)前記制御部は、前記判定する処理によって判定したエンティティの情報を表示部に表示させる処理を更に実行することを特徴とする付記9に記載の情報処理装置。