以下に図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、情報処理装置および情報処理システムの実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報処理方法の一実施例を示す説明図である。図1において、情報処理装置101は、上位語と下位語との関連付けを行うコンピュータである。上位語は、上位概念を表す語であり、下位語に比べて、より総称的、より抽象的なものを指す。下位語は、下位概念を表す語であり、上位語に比べて、より特定の、より具体的なものを指す。例えば、単語Aが単語Bの上位語の場合、単語Aの意味に単語Bの意味が含まれる。
ここで、材料や薬品などの化学分野における特許や論文などの文献調査において、文書内の関連する箇所を分かりやすく表示することは、内容の理解を助ける上で有用である。また、ある文書に含まれる化合物同士を関連付けて表示するにあたり、化合物の名称の一致だけでなく、化合物の上位下位関係や類似化合物を考慮して、関連付けを行うことが望ましい。
このため、大量の文献やデータベースから抽出した情報をもとに構築されたナレッジグラフを用いて、文書に含まれる上位語と下位語を抽出して関連付けを行うことが考えられる。ナレッジグラフは、例えば、特許や論文などの文献から固有表現を抽出し、各固有表現の関係を特定してグラフ化することで構築される。上位語は、例えば、化合物の総称名である。下位語は、例えば、化合物の特定化合物名である。特定化合物は、例えば、構造が一意に決まるような具体的な化合物名である。以下の説明では、化合物の総称名の下位語である特定化合物名を単に「化合物名」と表記する場合がある。
例えば、ナレッジグラフを用いて、文書に含まれる上位語「オキシアルキレン重合体」と下位語「ポリエチレングリコールジアクリレート」を抽出して関連付けを行うことで、文書中に総称名と化合物名との関連を表示することができる。例えば、ナレッジグラフを用いて、文書に含まれる上位語「脂肪族アルコール」と下位語「1-プロパノール」を抽出して関連付けを行うことで、文書中に総称名と化合物名との関連を表示することができる。
しかしながら、上位語と下位語との関係のみに着目すると、上位語に対してその性質、属性、物性などが限定されている場合に、不適切な関連付けが行われる場合がある。例えば、上位語である「オキシアルキレン重合体」に対して、『オレフィン基を有する』と性質が限定されているとする。この場合、例えば、ポリエチレングリコールやポリプロピレングリコールなどは、オキシアルキレン重合体の下位語ではあるものの、オレフィン基を含まないため、関連付けとしては不適切なものとなる。
また、上位語である「脂肪族アルコール」に対して、『炭素数3~4』と物性が限定されているとする。この場合、例えば、1-ヘキサノールや2-ヘキサノールなどは、脂肪族アルコールの下位語ではあるものの、炭素数が5のため関連付けとしては不適切なものとなる。
そこで、実施の形態1では、文書において上位語を修飾する文字列を考慮して、上位語に対して適切な下位語を関連付ける情報処理方法について説明する。以下、情報処理装置101の処理例について説明する。
(1)情報処理装置101は、文書dから上位語を含む固有表現を抽出する。ここで、文書dは、解析対象となる文書データであり、例えば、化学分野における特許や論文などの文献を電子化したものである。固有表現は、固有名詞や数値表現などである。上位語は、例えば、化合物の総称名である。
具体的には、例えば、情報処理装置101は、文書dからあらかじめ定義された種類(タイプ)の固有表現を抽出する。固有表現の種類(タイプ)としては、例えば、化合物の総称名(上位語)、化合物名、置換基名、部分構造名、物性名、物性値、用途名などがある。化合物名は、化合物の総称名(上位語)に対する下位語に相当する。
(2)情報処理装置101は、抽出した上位語を修飾する修飾文字列を文書dから特定する。修飾文字列は、例えば、上位語に対する修飾句や連体修飾節である。具体的には、例えば、情報処理装置101は、構文解析や係り受け解析などを行って修飾関係を解析することにより、上位語を修飾する修飾句や連体修飾節などの修飾文字列を文書dから特定する。
(3)情報処理装置101は、特定した修飾文字列に含まれる固有表現の種類と内容とに基づいて、ナレッジグラフKGの探索適用条件を生成する。ここで、ナレッジグラフKGは、知識のつながりをグラフ構造で表した情報であり、例えば、化合物に関する知識をノードとし、ノード間の関係をエッジとして有向グラフ化したものである。
知識は、例えば、化合物の総称名、化合物名、属性(例えば、置換基)、物性(例えば、炭素数)、化学構造(例えば、構造式)などである。ノード間の関係は、意味を含むエッジ(矢印)によって表される。エッジは、例えば、化合物の上位下位関係、特性、属性、物性、部分構造、用途などを表す。
探索適用条件は、ナレッジグラフKGから上位語に対する下位語を探索する際に適用する条件である。具体的には、例えば、情報処理装置101は、記憶部110を参照して、特定した修飾文字列に含まれる固有表現の種類と内容とに基づいて、探索適用条件を生成する。記憶部110は、例えば、化合物の総称名(上位語)を修飾する句または節に含まれる固有表現の種類と内容とに応じて探索対象のノードを特定可能な情報を記憶する。
図1の例では、文書d#から抽出された上位語を、化合物の総称名(general)である「オキシアルキレン重合体」とする。文書d#は、文書dの一例である。また、上位語を修飾する修飾文字列に含まれる固有表現の種類を「置換基(radical)」とし、固有表現の内容を「オレフィン基」とする。
この場合、ナレッジグラフの探索適用条件として、例えば、探索適用条件120が生成される。探索適用条件120は、「オキシアルキレン重合体」の下位語を示すノードのうち、「置換基」を示すエッジによって「オレフィン基」を示すノードと接続されたノードを探索対象とするという条件である。
(4)情報処理装置101は、生成した探索適用条件に従って、抽出した上位語に対する下位語をナレッジグラフKGから探索する。具体的には、例えば、情報処理装置101は、探索適用条件120に該当するノードが示す下位語をナレッジグラフKGから探索する。
(5)情報処理装置101は、抽出した上位語と、探索した下位語との関連付けを行う。具体的には、例えば、情報処理装置101は、探索した下位語を文書d#から検索する。そして、情報処理装置101は、文書d#内の抽出した上位語と、文書d#内の検索した下位語とを関連付けることにしてもよい。
図1の例では、探索適用条件120に該当するノードが示す下位語として、「オキシアルキレン重合体」の下位語であって、置換基としてオレフィン基を有する「ポリエチレングリコールジアクリレート」がナレッジグラフKGから探索された場合を想定する。この場合、上位語「オキシアルキレン重合体」と下位語「ポリエチレングリコールジアクリレート」との関連付けが行われる。
このように、情報処理装置101によれば、化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、総称名(上位語)を修飾する文字列を考慮して、総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
図1の例では、文書d#内の化合物の総称名「オキシアルキレン重合体」に対して、オレフィン基を有する化合物の化合物名「ポリエチレングリコールジアクリレート」を関連付けることができる。また、総称名「オキシアルキレン重合体」の下位語であっても、「ポリエチレングリコール」のようなオレフィン基を含まない化合物の化合物名が関連付けられるのを防ぐことができる。
(情報処理システム200のシステム構成例)
つぎに、実施の形態1にかかる情報処理システム200のシステム構成例について説明する。ここでは、図1に示した情報処理装置101を、情報処理システム200内の文書解析装置201に適用した場合を例に挙げて説明する。情報処理システム200は、例えば、化学分野における文書の読解を支援するコンピュータシステムに適用される。
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、文書解析装置201と、クライアント装置202と、を含む。情報処理システム200において、文書解析装置201およびクライアント装置202は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、文書解析装置201は、ナレッジグラフKGおよび固有表現/ナレッジグラフ対応テーブル220を有し、文書dの読解を支援するコンピュータである。文書解析装置201は、例えば、サーバ、PC(Personal Computer)などである。
ナレッジグラフKGの具体例については、図4を用いて後述する。また、固有表現/ナレッジグラフ対応テーブル220の記憶内容については、図5を用いて後述する。図1に示した記憶部110は、例えば、固有表現/ナレッジグラフ対応テーブル220に対応する。また、文書dの具体例については、図6を用いて後述する。
なお、ナレッジグラフKGおよび固有表現/ナレッジグラフ対応テーブル220は、文書解析装置201がアクセス可能な他のコンピュータが有していてもよい。この場合は、文書解析装置201は、他のコンピュータを介して、ナレッジグラフKGおよび固有表現/ナレッジグラフ対応テーブル220にアクセスする。
クライアント装置202は、ユーザが使用するコンピュータである。ユーザは、例えば、化学分野における特許や論文などの文献調査を行う者である。クライアント装置202は、例えば、PC、タブレットPC、スマートフォンなどである。
なお、ここでは、文書解析装置201とクライアント装置202とが別体に設けられることにしたが、文書解析装置201はクライアント装置202により実現されることにしてもよい。また、情報処理システム200には、例えば、複数の文書解析装置201やクライアント装置202が含まれていてもよい。
(文書解析装置201のハードウェア構成例)
図3は、文書解析装置201のハードウェア構成例を示すブロック図である。図3において、文書解析装置201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、文書解析装置201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示したクライアント装置202)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
なお、文書解析装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有することにしてもよい。また、図2に示したクライアント装置202についても、文書解析装置201と同様のハードウェア構成により実現することができる。ただし、クライアント装置202は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
(ナレッジグラフKGの具体例)
つぎに、図4を用いて、文書解析装置201が有するナレッジグラフKGの具体例について説明する。ナレッジグラフKGは、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
図4は、ナレッジグラフKGの具体例を示す説明図である。図4において、ナレッジグラフKGは、化合物に関する知識をノードとし、ノード間の関係をエッジとして、有向グラフ化した知識ベースである。ナレッジグラフKGは、グラフg1,g2を含む。ただし、図4では、ナレッジグラフKGの一部を抜粋して表示している。
グラフg1は、ノードn1-1~n1-6と、エッジe1-1~e1-6とを含む。エッジe1-1~e1-4は、上位下位関係を示す。エッジe1-1~e1-4の接続元ノードは上位語を示す。エッジe1-1~e1-4の接続先ノードは下位語を示す。例えば、ノードn1-1,n1-2間は、上位下位関係を示すエッジe1-1によって接続されており、上位語「オキシアルキレン重合体」と下位語「ポリエチレングリコールジアクリレート」との関係を示している。
エッジe1-5,e1-6は、置換基(図中にはradicalと表記)を示す。エッジe1-5,e1-6の接続元ノードは化合物を示す。エッジe1-5,e1-6の接続先ノードは、化合物が有する置換基を示す。例えば、ノードn1-2,n1-6間は、置換基を示すエッジe1-5によって接続されており、化合物「ポリエチレングリコールジアクリレート」と置換基「オレフィン基」との関係を示している。
グラフg2は、ノードn2-1~n2-9と、エッジe2-1~e2-8とを含む。エッジe2-1~e2-4は、上位下位関係を示す。例えば、ノードn2-1,n2-2間は、上位下位関係を示すエッジe2-1によって接続されており、上位語「脂肪族アルコール」と下位語「1-プロパノール」との関係を示している。
エッジe2-5~e2-8は、炭素数を示す。エッジe2-5~e2-8の接続元ノードは化合物を示す。エッジe2-5~e2-8の接続先ノードは、化合物が有する炭素数を示す。例えば、ノードn2-2,n2-6間は、炭素数を示すエッジe2-5によって接続されており、化合物「1-プロパノール」と炭素数「3」との関係を示している。
(固有表現/ナレッジグラフ対応テーブル220の記憶内容)
つぎに、図5を用いて、固有表現/ナレッジグラフ対応テーブル220の記憶内容について説明する。固有表現/ナレッジグラフ対応テーブル220は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
図5は、固有表現/ナレッジグラフ対応テーブル220の記憶内容の一例を示す説明図である。図5において、固有表現/ナレッジグラフ対応テーブル220は、固有表現タイプ、エッジ、ノードおよび適用基準のフィールドを有し、各フィールドに情報を設定することで、探索適用条件情報(例えば、探索適用条件情報500-1~500-4)をレコードとして記憶する。
ここで、固有表現タイプは、上位語を修飾する修飾句または連体修飾節に含まれる固有表現の種類(タイプ)である。例えば、radicalは、置換基名を示す。propertyは、物性名を示す。valueは、物性値を示す。substructureは、部分構造名を示す。usageは、用途名を示す。
エッジ、ノードおよび適用基準は、ナレッジグラフKGの探索対象となるノードとエッジを介して接続される他ノードを特定する情報である。
例えば、探索適用条件情報500-1は、固有表現タイプが「radical」の場合の探索適用条件として、「radical」を示すエッジを介して、radicalタグ中の値と完全一致する値を示す他ノードが接続されたノードを探索するという条件を示す。なお、タグ中の値とは、固有表現として抽出された値(内容)を示す。
また、探索適用条件情報500-2は、固有表現タイプが「property」と「value」の場合の探索適用条件として、「propertyタグ中の値」を示すエッジを介して、valueタグ中の値の範囲内となる値を示す他ノードが接続されたノードを探索するという条件を示す。
また、探索適用条件情報500-3は、固有表現タイプが「substructure」の場合の探索適用条件として、「substructure」を示すエッジを介して、substructureタグ中の値と完全一致する値を示す他ノードが接続されたノードを探索するという条件を示す。
また、探索適用条件情報500-4は、固有表現タイプが「usage」の場合の探索適用条件として、「usage」を示すエッジを介して、usageタグ中の値との類似度が0.5以上の単語を示す他ノードが接続されたノードを探索するという条件を示す。なお、文字列同士の類似度算出には、既存の如何なる手法を用いてもよい。
(文書dの具体例)
つぎに、図6を用いて、文書dの具体例について説明する。
図6は、文書dの具体例を示す説明図である。図6において、文書d1は、化学分野における特許や論文などを電子化した文書データの一例である。文書d1には、化合物の総称名(例えば、オキシアルキレン重合体)、化合物名(例えば、ポリエチレングリコールジアクリレート)などが記載されている。ただし、図6では、文書d1の一部を抜粋して表示している。
(文書解析装置201の機能的構成例)
つぎに、図7を用いて、実施の形態1にかかる文書解析装置201の機能的構成例について説明する。
図7は、実施の形態1にかかる文書解析装置201の機能的構成例を示すブロック図である。図7において、文書解析装置201は、受付部701と、抽出部702と、特定部703と、生成部704と、探索部705と、関連付け部706と、出力制御部707と、を含む。受付部701~出力制御部707は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
受付部701は、文書dの入力を受け付ける。文書dは、解析対象となる文書データであり、例えば、図6に示した文書d1である。具体的には、例えば、受付部701は、クライアント装置202(図2参照)から文書d1を受信することにより、文書d1の入力を受け付ける。
また、受付部701は、クライアント装置202から文書d1の指定を受け付けることにより、不図示の文書DB(Database)から、指定された文書d1を取得してもよい。また、受付部701は、不図示の入力装置を用いたユーザの操作入力により、文書d1の入力を受け付けてもよい。
抽出部702は、文書dから上位語を含む固有表現を抽出する。具体的には、例えば、抽出部702は、文書d1からあらかじめ定義された種類(タイプ)の固有表現を抽出する。固有表現の種類としては、例えば、化合物の総称名(上位語)、化合物名(下位語)、置換基名、部分構造名、物性名、物性値、用途名などがある。
特定部703は、抽出された上位語を修飾する修飾文字列を文書dから特定する。修飾文字列は、例えば、上位語に対する修飾句や連体修飾節である。上位語は、例えば、化合物の総称名である。総称名に対する下位語は、例えば、化合物の化合物名である。具体的には、例えば、特定部703は、文書d1に対して構文解析や係り受け解析などを行い、その解析結果をもとに、上位語を修飾する修飾文字列を文書d1から特定する。
なお、文書d1における修飾関係の解析結果については、図8を用いて後述する。
生成部704は、ナレッジグラフKGの探索適用条件を生成する。ここで、探索適用条件は、抽出された上位語に対する下位語をナレッジグラフKGから探索する際に適用する条件である。具体的には、例えば、生成部704は、特定された修飾文字列に含まれる固有表現の種類と内容とに基づいて、探索適用条件を生成する。
より詳細に説明すると、例えば、生成部704は、抽出された上位語を修飾する修飾文字列が特定された場合、特定された修飾文字列に固有表現が含まれるか否かを判断する。ここで、修飾文字列に固有表現が含まれる場合、生成部704は、その固有表現の種類と内容とを特定する。
つぎに、生成部704は、固有表現/ナレッジグラフ対応テーブル220(図5参照)を参照して、特定した固有表現の種類に対応する探索適用条件情報を取得する。そして、生成部704は、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた探索適用条件を生成する。
なお、探索適用条件の生成例については、図9Aおよび図9Bを用いて後述する。
なお、上位語を修飾する修飾文字列が特定されなかった場合、生成部704は、例えば、抽出された上位語に対する下位語を制限なしでナレッジグラフKGから探索する探索適用条件を生成してもよい。また、修飾文字列に固有表現が含まれない場合、生成部704は、抽出された上位語に対する下位語を制限なしでナレッジグラフKGから探索する探索適用条件を生成してもよい。
探索部705は、生成された探索適用条件に従って、抽出された上位語に対する下位語をナレッジグラフKGから探索する。具体的には、例えば、探索部705は、生成された探索適用条件に該当するノードをナレッジグラフKGから探索する。そして、探索部705は、探索したノードが示す下位語を、抽出された上位語(総称名)に対する下位語(化合物名)として取得する。
なお、上位語(総称名)に対する下位語(化合物名)の探索例については、図10Aおよび図10Bを用いて後述する。
関連付け部706は、抽出された上位語と、探索された下位語との関連付けを行う。具体的には、例えば、関連付け部706は、探索された下位語を文書dから検索する。そして、関連付け部706は、文書d内の抽出された上位語と、文書d内の検索した下位語とを関連付けることにしてもよい。
出力制御部707は、文書dを表示する際に、関連付けられた文書d内の上位語と下位語との関連を特定可能に表示する。文書dにおいて、上位語と下位語との関連は、例えば、上位語と下位語とをつなぐ矢印や線分によって表現されてもよく、また、他の文字列と判別可能に、同じ背景色、文字色、フォントなどによって表現されてもよい。
なお、文書d内の上位語と下位語との関連の表示例については、図12を用いて後述する。文書dの表示先は、例えば、クライアント装置202である。
また、出力制御部707は、文書dを表示する際に、文書d内の上位語に対する下位語のうち、当該上位語と関連付けられていない下位語を判別可能に表示してもよい。これにより、文書d内の上位語に対する下位語ではあるものの、探索適用条件を満たさない下位語を判別可能にすることができる。
また、出力制御部707は、文書d内の抽出された上位語と関連付けて、探索された下位語を示す情報を出力することにしてもよい。出力制御部707の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータ(例えば、クライアント装置202)への送信などがある。
これにより、文書d内の上位語に対する下位語を特定可能な情報を出力することができる。例えば、他のコンピュータ(例えば、クライアント装置202)において、文書解析装置201と接続していなくても、関連付けられた文書d内の上位語と下位語との関連を特定可能に表示することが可能となる。
なお、上述した文書解析装置201の機能部は、情報処理システム200内の複数のコンピュータ(例えば、文書解析装置201、クライアント装置202)により実現されることにしてもよい。
(文書dにおける修飾関係の解析結果)
つぎに、図8を用いて、文書dにおける修飾関係の解析結果について説明する。
図8は、文書dの修飾関係解析結果の一例を示す説明図である。図8において、修飾関係が解析された文書d1が示されている。ただし、図8では、文書d1の一部を抜粋して表示している。文書d1において、<…>と</…>に囲まれた部分が、抽出された固有表現を示す。
<…>は、固有表現の種類を示すタグである。例えば、<general>は、上位語となる総称名を示す。<chemname>は、総称名に対して下位語となる化合物名を示す。<radical>は、置換基名を示す。<property>は、物性名を示す。<value>は、物性値を示す。<PERSON>は人名、<DATE>は日付表現、<TIME>は時間表現を示す。
ここでは、上位語801と修飾文字列802との修飾関係が解析されている。上位語801は、化合物の総称名「オキシアルキレン重合体」である。修飾文字列802は、上位語801を修飾する連体修飾節である。修飾文字列802は、種類が「radical」の固有表現を含む。この場合、特定部703は、上位語801を修飾する修飾文字列802を文書d1から特定する。
また、上位語803と修飾文字列804との修飾関係が解析されている。上位語803は、化合物の総称名「脂肪族アルコール」である。修飾文字列804は、上位語803を修飾する修飾句である。修飾文字列804は、種類が「property」の固有表現と種類が「value」の固有表現とを含む。この場合、特定部703は、上位語803を修飾する修飾文字列804を文書d1から特定する。
(探索適用条件の生成例)
つぎに、図9Aおよび図9Bを用いて、ナレッジグラフKGの探索適用条件の生成例について説明する。ここでは、図8に示したように、文書d1内の上位語801と修飾文字列802との修飾関係が解析され、文書d1内の上位語803と修飾文字列804との修飾関係が解析された場合を想定する。
図9Aは、ナレッジグラフKGの探索適用条件の生成例を示す説明図(その1)である。図9Aにおいて、上位語801と、上位語801を修飾する修飾文字列802とが示されている。修飾文字列802には、種類が「radical」の固有表現が含まれる。この場合、生成部704は、修飾文字列802に含まれる固有表現の種類「radical」と内容「オレフィン基」とを特定する。
つぎに、生成部704は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類「radical」に対応する探索適用条件情報500-1を取得する。そして、生成部704は、取得した探索適用条件情報500-1を参照して、特定した固有表現の内容「オレフィン基」に応じた探索適用条件を生成する。
より詳細に説明すると、例えば、生成部704は、「上位・下位」を示すエッジを介して、抽出された上位語「オキシアルキレン重合体」を示す他ノード(接続元ノード)が接続されたノードX(接続先ノード)を探索するという条件901を生成する。また、生成部704は、探索適用条件情報500-1を参照して、「radical」を示すエッジを介して、特定した固有表現の内容「オレフィン基」を示す他ノードが接続されたノードXを探索するという条件902を生成する。固有表現の内容「オレフィン基」は、radicalタグ中の値に相当する。
そして、生成部704は、条件901,902を含む探索適用条件910を生成する。これにより、上位語である総称名「オキシアルキレン重合体」に対する化合物名(下位語)であって、置換基「オレフィン基」を有する化合物の化合物名を探索するという探索適用条件910が生成される。
図9Bは、ナレッジグラフKGの探索適用条件の生成例を示す説明図(その2)である。図9Bにおいて、上位語803と、上位語803を修飾する修飾文字列804とが示されている。修飾文字列804には、種類が「property」の固有表現と、種類が「value」の固有表現とが含まれる。この場合、生成部704は、修飾文字列804に含まれる固有表現の種類「property,value」と内容「炭素数,3~4」とをそれぞれ特定する。
つぎに、生成部704は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類「property,value」に対応する探索適用条件情報500-2を取得する。そして、生成部704は、取得した探索適用条件情報500-2を参照して、特定した固有表現の内容「炭素数,3~4」に応じた探索適用条件を生成する。
より詳細に説明すると、例えば、生成部704は、「上位・下位」を示すエッジを介して、抽出された上位語「脂肪族アルコール」を示す他ノード(接続元ノード)が接続されたノードX(接続先ノード)を探索するという条件903を生成する。また、生成部704は、探索適用条件情報500-2を参照して、「炭素数」を示すエッジを介して、特定した固有表現の内容「3~4」の範囲内となる値を示す他ノードが接続されたノードXを探索するという条件904を生成する。エッジが示す「炭素数」は、propertyタグ中の値に相当する。固有表現の内容「3~4」は、valueタグ中の値に相当する。
そして、生成部704は、条件903,904を含む探索適用条件920を生成する。これにより、上位語である総称名「オキシアルキレン重合体」に対する化合物名(下位語)であって、炭素数が3~4の化合物の化合物名を探索するという探索適用条件920が生成される。
(上位語に対する下位語の探索例)
つぎに、図10Aおよび図10Bを用いて、上位語に対する下位語の探索例について説明する。ここでは、図9Aおよび図9Bに示した探索適用条件910,920を用いて、ナレッジグラフKGから上位語(総称名)に対する下位語(化合物名)を探索する場合を想定する。
図10Aは、上位語に対する下位語の探索例を示す説明図(その1)である。図10Aにおいて、探索部705は、生成された探索適用条件910に該当するノードをナレッジグラフKGから探索する。ここでは、ナレッジグラフKG内のグラフg1からノードn1-2,n1-3が探索される。
ノードn1-2,n1-3は、「上位・下位」を示すエッジe1-1,e1-2を介して、上位語「オキシアルキレン重合体」を示すノードn1-1(接続元ノード)が接続され、「radical」を示すエッジe1-5,e1-6を介して、「オレフィン基」を示すノードn1-6が接続されたノードXである。
そして、探索部705は、探索したノードn1-2,n1-3が示す化合物名「ポリエチレングリコールジアクリレート、ポリプロピレングリコールジメタクリレート」を、総称名「オキシアルキレン重合体」に対する下位語(化合物名)として取得する。
図10Bは、上位語に対する下位語の探索例を示す説明図(その2)である。図10Bにおいて、探索部705は、生成された探索適用条件920に該当するノードをナレッジグラフKGから探索する。ここでは、ナレッジグラフKG内のグラフg2からノードn2-2,n2-3,n2-4が探索される。
ノードn2-2,n2-3,n2-4は、「上位・下位」を示すエッジe2-1,e2-2,e2-3を介して、上位語「脂肪族アルコール」を示すノードn2-1(接続元ノード)が接続され、「炭素数」を示すエッジe2-5,e2-6,e2-7を介して、「3,4」を示すノードn2-6,n2-7,n2-8が接続されたノードXである。
そして、探索部705は、探索したノードn2-2,n2-3,n2-4が示す化合物名「1-プロパノール、2-プロパノール、1-ブタノール」を、総称名「脂肪族アルコール」に対する下位語(化合物名)として取得する。
ここで、図11を用いて、探索結果の具体例について説明する。ここでは、探索適用条件910,920を用いて、ナレッジグラフKGから上位語(総称名)に対する下位語(化合物名)を探索する場合を想定する。
図11は、探索結果の具体例を示す説明図である。図11において、探索結果1100は、文書d1から抽出された上位語(総称名)と関連付けて、ナレッジグラフKGから探索された下位語(化合物名)を示す情報である。
探索結果1100では、総称名「オキシアルキレン重合体」と関連付けて、化合物名「ポリエチレングリコールジアクリレート」および「ポリプロピレングリコールジメタクリレート」が示されている。また、探索結果1100では、総称名「脂肪族アルコール」と関連付けて、化合物名「1-プロパノール」、「2-プロパノール」および「1-ブタノール」が示されている。
(文書d内の上位語と下位語との関連の表示例)
つぎに、図12を用いて、文書d内の上位語と下位語との関連の表示例について説明する。ここでは、図11に示した探索結果1100をもとに、クライアント装置202に表示される上位語と下位語との関連を例に挙げて説明する。
図12は、文書d内の上位語と下位語との関連の表示例を示す説明図である。図12において、読解支援画面1200は、文書d1を表示する操作画面の一例である。読解支援画面1200では、文書d1から抽出された固有表現が、種類(タイプ)ごとに異なる背景色で表示(ハイライト表示)されている。
また、読解支援画面1200では、関連付けられた文書d1内の総称名(上位語)と化合物名(下位語)とが、実線矢印1201~1205によって接続されている。例えば、総称名「オキシアルキレン重合体」と化合物名「ポリエチレングリコールジアクリレート」とが、実線矢印1201によって接続されている。また、総称名「脂肪族アルコール」と化合物名「1-プロパノール」とが、実線矢印1203によって接続されている。
また、読解支援画面1200では、文書d1内の総称名(上位語)に対する下位語のうち、当該総称名と関連付けられていない化合物名(下位語)が、当該総称名と点線矢印1206~1209によって接続されている。ただし、点線矢印1206~1209は表示しなくてもよい。
読解支援画面1200によれば、ユーザは、文書d1を読む際に、背景色の違いにより固有表現の種類の違いを容易に把握することができる。なお、文書解析装置201は、どの背景色が、どの種類の固有表現に対応しているかを特定可能な情報を表示することにしてもよい。
また、読解支援画面1200によれば、ユーザは、実線矢印1201~1205によって、文書d1における総称名(上位語)と化合物名(下位語)との適切な関連を容易に把握することができる。例えば、実線矢印1201によって、ユーザは、文書d1内のオキシアルキレン重合体とポリエチレングリコールジアクリレートとが上位語と下位語との関係にあることがわかる。また、実線矢印1202によって、ユーザは、文書d1内のオキシアルキレン重合体とポリプロピレングリコールジメタクリレートとが上位語と下位語との関係にあることがわかる。
また、実線矢印1203によって、ユーザは、文書d1内の脂肪族アルコールと1-プロパノールとが上位語と下位語との関係にあることがわかる。実線矢印1204によって、ユーザは、文書d1内の脂肪族アルコールと2-プロパノールとが上位語と下位語との関係にあることがわかる。実線矢印1205によって、ユーザは、文書d1内の脂肪族アルコールと1-ブタノールとが上位語と下位語との関係にあることがわかる。
また、読解支援画面1200によれば、ユーザは、点線矢印1206~1209によって、文書d1における修飾語を考慮しない場合は関連がある総称名(上位語)と化合物名(下位語)との関係を容易に把握することができる。例えば、点線矢印1206によって、ユーザは、ポリエチレングリコールについて、オキシアルキレン重合体の下位語ではあるものの、修飾語を考慮すると、不適切な関連であることが分かる。
このように、読解支援画面1200によれば、化合物の上位下位関係や類似化合物を把握しやすくして、文書d1の内容の理解を助けることができる。読解支援画面1200は、例えば、クライアント装置202から文書d1の入力を受け付けた際に表示されてもよく、また、クライアント装置202からの表示要求に応じて表示されてもよい。
なお、文書解析装置201は、例えば、ユーザの操作入力により、文書d1内の総称名(上位語)にマウスカーソルが当てられたときに、実線矢印1201~1205、点線矢印1206~1209を表示することにしてもよい。これにより、上位語と下位語との関係を示す多くの矢印が表示されて、画面が煩雑になるのを防ぐことができる。
また、文書解析装置201は、例えば、図11に示したような探索結果1100を、他のコンピュータ(例えば、クライアント装置202)に送信することにしてもよい。これにより、他のコンピュータにおいて、文書d1を表示する際に、文書解析装置201にアクセスせずに、探索結果1100をもとに、上位語と下位語との適切な関連を表示することができる。
(文書解析装置201の読解支援処理手順)
つぎに、図13を用いて、実施の形態1にかかる文書解析装置201の読解支援処理手順について説明する。
図13は、実施の形態1にかかる文書解析装置201の読解支援処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、文書解析装置201は、文書dの入力を受け付けたか否かを判断する(ステップS1301)。ここで、文書解析装置201は、文書dの入力を受け付けるのを待つ(ステップS1301:No)。
文書解析装置201は、文書dの入力を受け付けた場合(ステップS1301:Yes)、文書dから上位語および下位語を含む固有表現を抽出する(ステップS1302)。つぎに、文書解析装置201は、抽出した固有表現のうち選択されていない未選択の固有表現を選択する(ステップS1303)。
そして、文書解析装置201は、選択した固有表現の種類が化合物の総称名か否かを判断する(ステップS1304)。ここで、総称名ではない場合(ステップS1304:No)、文書解析装置201は、ステップS1309に移行する。一方、総称名の場合(ステップS1304:Yes)、文書解析装置201は、探索適用条件生成処理を実行する(ステップS1305)。
探索適用条件生成処理は、ステップS1303において選択された総称名(固有表現)に対する化合物名(下位語)をナレッジグラフKGから探索する際に適用する探索適用条件を生成する処理である。探索適用条件生成処理の具体的な処理手順については、図14を用いて後述する。
つぎに、文書解析装置201は、生成した探索適用条件の制限下で、選択した総称名(固有表現)に対する化合物名(下位語)をナレッジグラフKGから探索する(ステップS1306)。そして、文書解析装置201は、化合物名が探索されたか否かを判断する(ステップS1307)。
ここで、化合物名が探索されなかった場合(ステップS1307:No)、文書解析装置201は、ステップS1309に移行する。一方、化合物名が探索された場合(ステップS1307:Yes)、文書解析装置201は、関連付け処理を実行する(ステップS1308)。
関連付け処理は、ステップS1303において選択された総称名(上位語)と、探索された化合物名(下位語)との関連付けを行う処理である。関連付け処理の具体的な処理手順については、図15を用いて後述する。
つぎに、文書解析装置201は、抽出した固有表現のうち選択されていない未選択の固有表現があるか否かを判断する(ステップS1309)。ここで、未選択の固有表現がある場合(ステップS1309:Yes)、文書解析装置201は、ステップS1303に戻る。
一方、未選択の固有表現がない場合(ステップS1309:No)、文書解析装置201は、関連付け結果を出力して(ステップS1310)、本フローチャートによる一連の処理を終了する。関連付け結果は、例えば、図11に示したような探索結果1100であってもよく、また、図12に示したような読解支援画面1200であってもよい。
これにより、文書解析装置201は、文書dにおける総称名(上位語)と化合物名(下位語)との適切な関連を示すことができる。
つぎに、図14を用いて、図13に示したステップS1305の探索適用条件生成処理の具体的な処理手順について説明する。
図14は、探索適用条件生成処理の具体的処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、文書解析装置201は、文書dに対する構文解析等の結果から、選択した総称名(固有表現)を修飾する修飾文字列が存在するか否かを判断する(ステップS1401)。修飾文字列は、例えば、修飾句または連体修飾節である。
ここで、修飾文字列が存在しない場合(ステップS1401:No)、文書解析装置201は、ステップS1406に移行する。一方、修飾文字列が存在する場合(ステップS1401:Yes)、文書解析装置201は、修飾文字列に固有表現が存在するか否かを判断する(ステップS1402)。
ここで、固有表現が存在する場合(ステップS1402:Yes)、文書解析装置201は、修飾文字列に含まれる固有表現の種類と内容とを特定する(ステップS1403)。つぎに、文書解析装置201は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類に対応する探索適用条件情報を取得する(ステップS1404)。
そして、文書解析装置201は、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた探索適用条件を生成して(ステップS1405)、探索適用条件生成処理を呼び出したステップに戻る。
また、ステップS1402において、固有表現が存在しない場合(ステップS1402:No)、総称名(上位語)に対する化合物名(下位語)を制限なしでナレッジグラフKGから探索する探索適用条件を生成して(ステップS1406)、探索適用条件生成処理を呼び出したステップに戻る。
これにより、文書解析装置201は、化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、文書dにおいて総称名(上位語)を修飾する文字列を考慮して、総称名(上位語)に対する適切な化合物名(下位語)を探索可能な条件を生成することができる。
つぎに、図15を用いて、図13に示したステップS1308の関連付け処理の具体的な処理手順について説明する。
図15は、関連付け処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、文書解析装置201は、ステップS1306において探索された化合物名(下位語)のうち選択されていない未選択の化合物名を選択する(ステップS1501)。
つぎに、文書解析装置201は、選択した化合物名を文書dから検索する(ステップS1502)。そして、文書解析装置201は、化合物名が検索されたか否かを判断する(ステップS1503)。ここで、化合物名が検索されなかった場合(ステップS1503:No)、文書解析装置201は、ステップS1505に移行する。
一方、化合物名が検索された場合(ステップS1503:Yes)、文書解析装置201は、文書d内の選択した総称名(上位語)と、文書d内の検索した化合物名(下位語)とを関連付ける(ステップS1504)。そして、文書解析装置201は、探索された化合物名(下位語)のうち選択されていない未選択の化合物名があるか否かを判断する(ステップS1505)。
ここで、未選択の化合物名がある場合(ステップS1505:Yes)、文書解析装置201は、ステップS1501に戻る。一方、未選択の化合物名がない場合(ステップS1505:No)、文書解析装置201は、関連付け処理を呼び出したステップに戻る。
これにより、文書解析装置201は、化合物の総称名(上位語)を修飾する文字列を考慮して、文書dにおける総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
以上説明したように、実施の形態1にかかる文書解析装置201によれば、文書dから上位語を含む固有表現を抽出し、抽出した上位語を修飾する修飾文字列を文書dから特定することができる。そして、文書解析装置201によれば、特定した修飾文字列に含まれる固有表現の種類と内容とに基づいて、ナレッジグラフKGの探索適用条件を生成し、生成した探索適用条件に従って、抽出した上位語に対する下位語をナレッジグラフKGから探索し、抽出した上位語と、探索した下位語との関連付けを行うことができる。ナレッジグラフKGは、例えば、化合物に関する知識をノードとし、ノード間の関係をエッジとして有向グラフ化された知識ベースである。
これにより、化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、総称名(上位語)を修飾する文字列を考慮して、総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
また、文書解析装置201によれば、探索した下位語を文書dから検索し、文書d内の上位語と、文書d内の検索した下位語とを関連付けることができる。
これにより、文書dにおいて化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、文書dにおける総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
また、文書解析装置201によれば、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した修飾文字列に含まれる固有表現の種類と内容とに基づいて、探索適用条件を生成することができる。
これにより、化合物の総称名(上位語)に対する修飾句や連体修飾節を考慮して、ナレッジグラフKGから化合物名(下位語)を探索する際に適用する探索適用条件を生成することができる。
また、文書解析装置201によれば、文書dを表示する際に、関連付けた文書d内の上位語と下位語との関連を特定可能に表示することができる。
これにより、ユーザは、文書dにおける総称名(上位語)と化合物名(下位語)との適切な関連を容易に把握することができる。
また、文書解析装置201によれば、文書d内の上位語と関連付けて、探索した下位語を出力することができる。具体的には、例えば、文書解析装置201は、図11に示したような探索結果1100を、他のコンピュータ(例えば、クライアント装置202)に送信する。
これにより、他のコンピュータにおいて、文書dを表示する際に、文書解析装置201にアクセスせずに、上位語と下位語との適切な関連を表示することが可能となる。
これらのことから、実施の形態1にかかる文書解析装置201によれば、化合物の総称名(上位語)の性質、物性などが限定されている場合であっても、総称名(上位語)と化合物名(下位語)との適切な関連付けを行って読解を支援することができ、ユーザの内容の理解を助けることができる。
(実施の形態2)
つぎに、実施の形態2にかかる文書解析装置201について説明する。実施の形態2では、異なる文書d内の上位語と下位語との関連付けを行う場合について説明する。なお、実施の形態1と同様の箇所については、図示および説明を省略する。
(異なる文書dの具体例)
まず、図16を用いて、文書解析装置201に入力される異なる文書dの具体例について説明する。
図16は、異なる文書dの具体例を示す説明図である。図16において、入力文書1600は、文書解析装置201に入力される異なる文書dの一例であり、文書d2と文書d3とを含む。文書d2,d3は、化学分野における特許や論文などを電子化した文書データである。
各文書d2,d3には、化合物の総称名(例えば、オキシアルキレン重合体)、化合物名(例えば、ポリエチレングリコールジアクリレート)などが記載されている。ただし、図16では、文書d2,d3の一部を抜粋して表示している。
(文書解析装置201の機能的構成例)
つぎに、図17を用いて、実施の形態2にかかる文書解析装置201の機能的構成例について説明する。ただし、実施の形態2にかかる文書解析装置201の機能部のうち、実施の形態1にかかる文書解析装置201と同一の機能部については、同一符号を付して詳細な説明を省略する。
図17は、実施の形態2にかかる文書解析装置201の機能的構成例を示すブロック図である。図17において、文書解析装置201は、受付部701と、抽出部702と、特定部703と、探索部705と、出力制御部707と、第2の生成部1701と、第2の関連付け部1702と、を含む。受付部701~特定部703、探索部705、出力制御部707、第2の生成部1701および第2の関連付け部1702は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
受付部701は、異なる文書dの入力を受け付ける。具体的には、例えば、受付部701は、クライアント装置202(図2参照)から、図16に示した入力文書1600を受信することにより、入力文書1600に含まれる文書d2,d3の入力を受け付ける。
抽出部702は、文書dから上位語を含む固有表現を抽出する。具体的には、例えば、抽出部702は、各文書d2,d3からあらかじめ定義された種類(タイプ)の固有表現を抽出する。
特定部703は、抽出された上位語を修飾する修飾文字列を文書dから特定する。具体的には、例えば、特定部703は、各文書d2,d3に対して構文解析や係り受け解析などを行い、その解析結果をもとに、上位語を修飾する修飾文字列を各文書d2,d3から特定する。
なお、各文書d2,d3における修飾関係の解析結果については、図18Aおよび図19Bを用いて後述する。
第2の生成部1701は、ナレッジグラフKGの探索適用条件を生成する。具体的には、例えば、第2の生成部1701は、各文書d2,d3について、特定された修飾文字列に含まれる固有表現の種類と内容とに基づいて、探索適用条件をそれぞれ生成する。
より詳細に説明すると、例えば、第2の生成部1701は、各文書d2,d3について、抽出された総称名(上位語)を修飾する修飾文字列が特定された場合、特定された修飾文字列に固有表現が含まれるか否かを判断する。ここで、修飾文字列に固有表現が含まれる場合、第2の生成部1701は、その固有表現の種類と内容とを特定する。
つぎに、第2の生成部1701は、固有表現/ナレッジグラフ対応テーブル220(図5参照)を参照して、特定した固有表現の種類に対応する探索適用条件情報を取得する。そして、第2の生成部1701は、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた探索適用条件を生成する。
また、第2の生成部1701は、修飾文字列に複数の固有表現が含まれ、複数の固有表現が選択の接続詞を伴う場合、複数の固有表現それぞれについて探索適用条件を生成する。そして、第2の生成部1701は、複数の固有表現それぞれについて生成した探索適用条件にOR条件を設定する。選択の接続詞は、例えば、「もしくは」や「または」などである。OR条件は、複数の探索適用条件のうちの少なくともいずれかを満たす下位語(ノード)を探索するという条件である。
また、第2の生成部1701は、修飾文字列に複数の固有表現が含まれ、複数の固有表現が並列の接続詞を伴う場合、複数の固有表現それぞれについて探索適用条件を生成する。そして、第2の生成部1701は、複数の固有表現それぞれについて生成した探索適用条件にAND条件を設定する。並列の接続詞は、例えば、「かつ」や「および」などである。AND条件とは、複数の探索適用条件のすべてを満たす下位語(ノード)を探索するという条件である。
また、第2の生成部1701は、修飾文字列に否定語を伴う固有表現が含まれる場合、当該固有表現についての探索適用条件にNOT条件を設定する。否定語は、例えば、「ない」である。NOT条件は、探索適用条件を満たす下位語(ノード)を探索対象から除外するという条件である。
なお、修飾文字列に選択の接続詞を伴う複数の固有表現や、否定語を伴う固有表現が含まれる場合の探索適用条件の生成例については、図19Aおよび図19Bを用いて後述する。
探索部705は、生成された探索適用条件に従って、抽出された上位語に対する下位語をナレッジグラフKGから探索する。具体的には、例えば、探索部705は、各文書d2,d3について、生成された探索適用条件に該当するノードをナレッジグラフKGから探索する。そして、探索部705は、各文書d2,d3について、探索したノードが示す下位語を、抽出された上位語(総称名)に対する下位語(化合物名)として取得する。
なお、上位語(総称名)に対する下位語(化合物名)の探索例については、図21A、図21Bおよび図21Cを用いて後述する。
ここで、修飾文字列に含まれる固有表現は、上位語である場合がある。例えば、化合物の総称名を修飾する修飾文字列に含まれる置換基名が抽象名である場合がある。この場合、ナレッジグラフKGにおいて、化合物名(特定化合物名)が、置換基の抽象名ではなく具体名と関係付けられていると、探索適用条件に該当するノードが探索されない。
このため、探索部705は、修飾文字列に含まれる固有表現をナレッジグラフKGから探索することにしてもよい。そして、第2の生成部1701は、ナレッジグラフKGにおいて探索された固有表現の下位語が存在する場合、当該固有表現について生成した探索適用条件を、当該固有表現の下位語に基づき変更することにしてもよい。
具体的には、例えば、第2の生成部1701は、探索適用条件に含まれる固有表現(置換基の抽象名)を、その固有表現の下位語(置換基の具体名)に置換することにより、探索適用条件を変更する。すなわち、修飾表現に含まれる置換基などの固有表現が上位語(抽象名)で記述されている場合、当該上位語を下位語(具体名)に展開してからナレッジグラフKGの探索を行う。
なお、探索適用条件の変更例については、図20を用いて後述する。
第2の関連付け部1702は、抽出された上位語と、探索された下位語との関連付けを行う。具体的には、例えば、第2の関連付け部1702は、文書d2について、探索された下位語(化合物名)を、文書d2とは異なる他の文書d3から検索する。そして、第2の関連付け部1702は、文書d2内の抽出された上位語(総称名)と、他の文書d3内の検索した下位語(化合物名)とを関連付けることにしてもよい。
同様に、第2の関連付け部1702は、文書d3について、探索された下位語(化合物名)を、文書d3とは異なる他の文書d2から検索する。そして、第2の関連付け部1702は、文書d3内の抽出された上位語(総称名)と、他の文書d2内の検索した下位語(化合物名)とを関連付けることにしてもよい。
出力制御部707は、異なる文書dを表示する際に、関連付けられた各文書d内の上位語と下位語との関連を特定可能に表示する。具体的には、例えば、出力制御部707は、文書d2と他の文書d3とを表示する際に、関連付けた文書d2内の上位語(総称名)と他の文書d3内の下位語(化合物名)との関連を特定可能に表示する。
なお、異なる文書d内の上位語と下位語との関連の表示例については、図23を用いて後述する。
(各文書d2,d3における修飾関係の解析結果)
つぎに、図18Aおよび図18Bを用いて、各文書d2,d3における修飾関係の解析結果について説明する。
図18Aは、文書d2の修飾関係解析結果の一例を示す説明図である。図18Aにおいて、修飾関係が解析された文書d2が示されている。ただし、図18Aでは、文書d2の一部を抜粋して表示している。文書d2において、<…>と</…>に囲まれた部分が、抽出された固有表現を示す。
ここでは、上位語1811と修飾文字列1812との修飾関係が解析されている。上位語1811は、化合物の総称名「オキシアルキレン重合体」である。修飾文字列1812は、上位語1811を修飾する連体修飾節である。修飾文字列1812は、種類が「radical」の固有表現を含む。この場合、特定部703は、上位語1811を修飾する修飾文字列1812を文書d2から特定する。
図18Bは、文書d3の修飾関係解析結果の一例を示す説明図である。図18Bにおいて、修飾関係が解析された文書d3が示されている。ただし、図18Bでは、文書d2の一部を抜粋して表示している。文書d3において、<…>と</…>に囲まれた部分が、抽出された固有表現を示す。
ここでは、上位語1821と修飾文字列1822との修飾関係が解析されている。上位語1821は、化合物の総称名「シリコン化合物」である。修飾文字列1822は、上位語1811を修飾する連体修飾節である。修飾文字列1822は、種類が「substructure」の固有表現と種類が「radical」の固有表現とを含む。この場合、特定部703は、上位語1821を修飾する修飾文字列1822を文書d3から特定する。
(探索適用条件の生成例)
つぎに、図19Aおよび図19Bを用いて、ナレッジグラフKGの探索適用条件の生成例について説明する。ここでは、図18Aおよび図18Bに示したように、文書d2内の上位語1811と修飾文字列1812との修飾関係が解析され、文書d3内の上位語1821と修飾文字列1822との修飾関係が解析された場合を想定する。
図19Aは、ナレッジグラフKGの探索適用条件の生成例を示す説明図(その3)である。図19Aにおいて、上位語1811と、上位語1811を修飾する修飾文字列1812とが示されている。修飾文字列1812には、種類が「radical」であって、否定語「ない」を伴う固有表現が含まれる。
この場合、第2の生成部1701は、修飾文字列1812に否定語「ない」を伴う固有表現が含まれると判断する。また、第2の生成部1701は、修飾文字列1812に含まれる固有表現の種類「radical」と内容「オレフィン基」とを特定する。
つぎに、第2の生成部1701は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類「radical」に対応する探索適用条件情報500-1を取得する。そして、第2の生成部1701は、取得した探索適用条件情報500-1を参照して、特定した固有表現の内容「オレフィン基」に応じた探索適用条件を生成する。また、第2の生成部1701は、生成した探索適用条件にNOT条件を設定する。
より詳細に説明すると、例えば、第2の生成部1701は、「上位・下位」を示すエッジを介して、抽出された上位語「オキシアルキレン重合体」を示す他ノード(接続元ノード)が接続されたノードX(接続先ノード)を探索するという条件1911を生成する。また、第2の生成部1701は、探索適用条件情報500-1を参照して、「radical」を示すエッジを介して、特定した固有表現の内容「オレフィン基」を示す他ノードが接続されたノードXを探索するという条件1912を生成する。そして、第2の生成部1701は、生成した条件1912にNOT条件を設定する。
そして、第2の生成部1701は、条件1911,1912を含む探索適用条件1910を生成する。これにより、上位語である総称名「オキシアルキレン重合体」に対する化合物名(下位語)であって、置換基「オレフィン基」を含まない化合物の化合物名を探索するという探索適用条件1910が生成される。なお、探索適用条件1910内の×印は、NOT条件を示す。
図19Bは、ナレッジグラフKGの探索適用条件の生成例を示す説明図(その4)である。図19Bにおいて、上位語1821と、上位語1821を修飾する修飾文字列1822とが示されている。修飾文字列1822には、並列の接続詞を伴って、種類が「substructure」の固有表現と、種類が「radical」の固有表現とが含まれる。
この場合、第2の生成部1701は、固有表現「substructure」および固有表現「radical」それぞれについて探索適用条件を生成する。まず、第2の生成部1701は、修飾文字列1822に含まれる固有表現の種類「substructure」と内容「炭素-炭素2重結合」とを特定する。
つぎに、第2の生成部1701は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類「substructure」に対応する探索適用条件情報500-3を取得する。そして、第2の生成部1701は、取得した探索適用条件情報500-3を参照して、特定した固有表現の内容「炭素-炭素2重結合」に応じた探索適用条件を生成する。
また、第2の生成部1701は、修飾文字列1822に含まれる固有表現の種類「radical」と内容「ケイ素含有基」とを特定する。つぎに、第2の生成部1701は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類「radical」に対応する探索適用条件情報500-1を取得する。そして、第2の生成部1701は、取得した探索適用条件情報500-1を参照して、特定した固有表現の内容「ケイ素含有基」に応じた探索適用条件を生成する。また、第2の生成部1701は、生成した複数の探索適用条件にAND条件を設定する。
より詳細に説明すると、例えば、第2の生成部1701は、「上位・下位」を示すエッジを介して、抽出された上位語「シリコン化合物」を示す他ノード(接続元ノード)が接続されたノードX(接続先ノード)を探索するという条件1921を生成する。また、第2の生成部1701は、探索適用条件情報500-3を参照して、「substructure」を示すエッジを介して、特定した固有表現の内容「炭素-炭素2重結合」を示す他ノードが接続されたノードXを探索するという条件1922を生成する。
また、第2の生成部1701は、探索適用条件情報500-1を参照して、「radical」を示すエッジを介して、特定した固有表現の内容「ケイ素含有基」を示す他ノードが接続されたノードXを探索するという条件1923を生成する。つぎに、第2の生成部1701は、生成した条件1922,1923にAND条件を設定する。
そして、第2の生成部1701は、条件1921と、AND条件が設定された条件1922,1923とを含む探索適用条件1920を生成する。これにより、上位語である総称名「シリコン化合物」に対する化合物名(下位語)であって、部分構造「炭素-炭素2重結合」および置換基「ケイ素含有基」を含む化合物の化合物名を探索するという探索適用条件1920が生成される。
(探索適用条件の変更例)
つぎに、図20を用いて、探索適用条件の変更例について説明する。
図20は、探索適用条件の変更例を示す説明図である。図20において、探索適用条件1920が示されている。探索適用条件1920には、置換基の抽象名である「ケイ素含有基」が含まれる。探索部705は、探索適用条件1920に含まれる固有表現「ケイ素含有基」、すなわち、修飾文字列1822に含まれる固有表現「ケイ素含有基」をナレッジグラフKGから探索する。
そして、第2の生成部1701は、固有表現「ケイ素含有基」が探索された場合、ナレッジグラフKGにおいて探索された固有表現「ケイ素含有基」の下位語が存在するか否かを判断する。ここで、固有表現「ケイ素含有基」の下位語が存在する場合、第2の生成部1701は、探索適用条件1920を、当該固有表現の下位語に基づき変更する。
ここでは、ナレッジグラフKGに固有表現「ケイ素含有基」の下位語として、「トリメトキシシリル基」および「トリエトキシシリル基」が存在するとする。この場合、第2の生成部1701は、探索適用条件1920に含まれる固有表現「ケイ素含有基」を、当該固有表現の下位語「トリメトキシシリル基」に置換することにより、探索適用条件1920を変更する。
これにより、上位語である総称名「シリコン化合物」に対する化合物名(下位語)であって、部分構造「炭素-炭素2重結合」および置換基「トリメトキシシリル基」を含む化合物の化合物名を探索するという探索適用条件1920-1が生成される。
また、第2の生成部1701は、探索適用条件1920に含まれる固有表現「ケイ素含有基」を、当該固有表現の下位語「トリエトキシシリル基」に置換することにより、探索適用条件1920を探索適用条件1920-2に変更する。
これにより、上位語である総称名「シリコン化合物」に対する化合物名(下位語)であって、部分構造「炭素-炭素2重結合」および置換基「トリエトキシシリル基」を含む化合物の化合物名を探索するという探索適用条件1920-2が生成される。
(上位語に対する下位語の探索例)
図21A、図21Bおよび図21Cを用いて、上位語(総称名)に対する下位語(化合物名)の探索例について説明する。ここでは、図19Aおよび図20に示した探索適用条件1910,1920-1,1920-2を用いて、ナレッジグラフKGから上位語に対する下位語を探索する場合を想定する。
図21Aは、上位語に対する下位語の探索例を示す説明図(その3)である。図21Aにおいて、探索部705は、生成された探索適用条件1910に該当するノードをナレッジグラフKGから探索する。ここでは、ナレッジグラフKG内のグラフg1からノードn1-4,n1-5が探索される。
ノードn1-4,n1-5は、「上位・下位」を示すエッジe1-3,e1-4を介して、上位語「オキシアルキレン重合体」を示すノードn1-1(接続元ノード)が接続され、「オレフィン基」を示すノードn1-6が接続されていないノードXである。
そして、探索部705は、探索したノードn1-4,n1-5が示す化合物名「ポリプロピレングリコール、ポリエチレングリコール」を、総称名「オキシアルキレン重合体」に対する下位語(化合物名)として取得する。
図21Bは、上位語に対する下位語の探索例を示す説明図(その4)である。図21Bにおいて、探索部705は、生成された探索適用条件1920-1に該当するノードをナレッジグラフKGから探索する。ここでは、ナレッジグラフKG内のグラフg3からノードn3-6が探索される。グラフg3は、ノードn3-1~n3-7と、エッジe3-1~e3-8とを含む。
ノードn3-6は、「上位・下位」を示すエッジe3-1を介して、上位語「シリコン化合物」を示すノードn3-1(接続元ノード)が接続され、「substructure」を示すエッジe3-5を介して、「炭素-炭素2重結合」を示すノードn3-2が接続され、「radical」を示すエッジe3-6を介して、「トリメトキシシリル基」を示すノードn3-4が接続されたノードXである。
そして、探索部705は、探索したノードn3-4が示す化合物名「ビニルトリメトキシシラン」を、総称名「シリコン化合物」に対する下位語(化合物名)として取得する。
図21Cは、上位語に対する下位語の探索例を示す説明図(その5)である。図21Cにおいて、探索部705は、生成された探索適用条件1920-2に該当するノードをナレッジグラフKGから探索する。ここでは、ナレッジグラフKG内のグラフg3からノードn3-7が探索される。
ノードn3-7は、「上位・下位」を示すエッジe3-2を介して、上位語「シリコン化合物」を示すノードn3-1(接続元ノード)が接続され、「substructure」を示すエッジe3-7を介して、「炭素-炭素2重結合」を示すノードn3-2が接続され、「radical」を示すエッジe3-8を介して、「トリエトキシシリル基」を示すノードn3-5が接続されたノードXである。
そして、探索部705は、探索したノードn3-7が示す化合物名「ビニルトリエトキシシラン」を、総称名「シリコン化合物」に対する下位語(化合物名)として取得する。
ここで、図22を用いて、探索結果の具体例について説明する。ここでは、探索適用条件1910,1920-1,1920-2を用いて、ナレッジグラフKGから上位語に対する下位語を探索する場合を想定する。
図22は、探索結果の具体例を示す説明図である。図22において、探索結果2200は、文書d2,d3から抽出された上位語(総称名)と関連付けて、ナレッジグラフKGから探索された下位語(化合物名)を示す情報である。
探索結果2200では、文書d2から抽出された総称名「オキシアルキレン重合体」と関連付けて、化合物名「ポリプロピレングリコール」および「ポリエチレングリコール」が示されている。また、探索結果2200では、文書d3から抽出された総称名「シリコン化合物」と関連付けて、化合物名「ビニルトリメトキシシラン」および「ビニルトリエトキシシラン」が示されている。
(異なる文書d内の上位語と下位語との関連の表示例)
つぎに、図23を用いて、異なる文書d内の上位語と下位語との関連の表示例について説明する。ここでは、図22に示した探索結果2200をもとに、クライアント装置202に表示される上位語と下位語との関連を例に挙げて説明する。
図23は、異なる文書d内の上位語と下位語との関連の表示例を示す説明図である。図23において、読解支援画面2300は、文書d2と文書d3とを表示する操作画面の一例である。読解支援画面2300では、各文書d2,d3から抽出された固有表現が、種類(タイプ)ごとに異なる背景色で表示(ハイライト表示)されている。
また、読解支援画面2300では、関連付けられた文書d2内の総称名(上位語)と、文書d3内の化合物名(下位語)とが、実線矢印2301,2302によって接続されている。具体的には、総称名「オキシアルキレン重合体」と化合物名「ポリエチレングリコール」とが、実線矢印2301によって接続されている。総称名「オキシアルキレン重合体」と化合物名「ポリプロピレングリコール」とが、実線矢印2302によって接続されている。
また、読解支援画面2300では、関連付けられた文書d3内の総称名(上位語)と、文書d2内の化合物名(下位語)とが、実線矢印2303,2304によって接続されている。具体的には、総称名「シリコン化合物」と化合物名「ビニルトリメトキシシラン」とが、実線矢印2303によって接続されている。総称名「シリコン化合物」と化合物名「ビニルトリエトキシシラン」とが、実線矢印2304によって接続されている。
読解支援画面2300によれば、ユーザは、文書d2,d3を読む際に、背景色の違いにより固有表現の種類の違いを容易に把握することができる。
また、読解支援画面2300によれば、ユーザは、実線矢印2301,2302によって、文書d2内の総称名(上位語)と文書d3内の化合物名(下位語)との適切な関連を容易に把握することができる。例えば、実線矢印2301によって、ユーザは、文書d2内のオキシアルキレン重合体と文書d3内のポリエチレングリコールとが上位語と下位語との関係にあることがわかる。また、実線矢印2303によって、ユーザは、文書d3内のシリコン化合物と文書d2内のビニルトリメトキシシランとが上位語と下位語との関係にあることがわかる。
このように、読解支援画面2300によれば、化合物の上位下位関係や類似化合物を把握しやすくして、例えば、文書d2,d3を比較して文献調査などを行う場合の内容の理解を助けることができる。
なお、文書解析装置201は、例えば、ユーザの操作入力により、文書d2内の総称名(上位語)にマウスカーソルが当てられたときに、実線矢印2301,2302を表示することにしてもよい。また、文書解析装置201は、例えば、文書d3内の総称名(上位語)にマウスカーソルが当てられたときに、実線矢印2303,2304を表示することにしてもよい。これにより、上位語と下位語との関係を示す多くの矢印が表示されて、画面が煩雑になるのを防ぐことができる。
また、文書解析装置201は、例えば、図22に示したような探索結果2200を、他のコンピュータ(例えば、クライアント装置202)に送信することにしてもよい。これにより、他のコンピュータにおいて、異なる文書d2,d3を表示する際に、文書解析装置201にアクセスせずに、探索結果2200をもとに、文書d2,d3内の上位語と下位語との適切な関連を表示することができる。
(文書解析装置201の読解支援処理手順)
つぎに、図24および図25を用いて、実施の形態2にかかる文書解析装置201の読解支援処理手順について説明する。
図24および図25は、実施の形態2にかかる文書解析装置201の読解支援処理手順の一例を示すフローチャートである。図24のフローチャートにおいて、まず、文書解析装置201は、異なる文書dの入力を受け付けたか否かを判断する(ステップS2401)。異なる文書dは、例えば、図16に示した文書d2,d3である。
ここで、文書解析装置201は、異なる文書dの入力を受け付けるのを待つ(ステップS2401:No)。文書解析装置201は、異なる文書dの入力を受け付けた場合(ステップS2401:Yes)、各文書dから上位語および下位語を含む固有表現を抽出する(ステップS2402)。
そして、文書解析装置201は、入力された異なる文書dのうち選択されていない未選択の文書dを選択する(ステップS2403)。つぎに、文書解析装置201は、選択した文書dから抽出した固有表現のうち選択されていない未選択の固有表現を選択する(ステップS2404)。
そして、文書解析装置201は、選択した固有表現の種類が化合物の総称名か否かを判断する(ステップS2405)。ここで、総称名ではない場合(ステップS2405:No)、文書解析装置201は、図25に示すステップS2504に移行する。一方、総称名の場合(ステップS2405:Yes)、文書解析装置201は、第2の探索適用条件生成処理を実行する(ステップS2406)。
第2の探索適用条件生成処理は、ステップS2404において選択された総称名(固有表現)に対する化合物名(下位語)をナレッジグラフKGから探索する際に適用する探索適用条件を生成する処理である。第2の探索適用条件生成処理の具体的な処理手順については、図26および図27を用いて後述する。
つぎに、文書解析装置201は、探索適用条件に含まれる固有表現の下位語がナレッジグラフKG上に存在するか否かを判断する(ステップS2407)。ここで、下位語が存在しない場合(ステップS2407:No)、文書解析装置201は、図25に示すステップS2501に移行する。
一方、下位語が存在する場合(ステップS2407:Yes)、文書解析装置201は、探索適用条件に含まれる固有表現を、当該固有表現の下位語に置き換えて(ステップS2408)、図25に示すステップS2501に移行する。
図25のフローチャートにおいて、まず、文書解析装置201は、生成した探索適用条件の制限下で、選択した総称名(固有表現)に対する化合物名(下位語)をナレッジグラフKGから探索する(ステップS2501)。そして、文書解析装置201は、化合物名が探索されたか否かを判断する(ステップS2502)。
ここで、化合物名が探索されなかった場合(ステップS2502:No)、文書解析装置201は、ステップS2504に移行する。一方、化合物名が探索された場合(ステップS2502:Yes)、文書解析装置201は、第2の関連付け処理を実行する(ステップS2503)。
第2の関連付け処理は、ステップS2404において選択された総称名(上位語)と、探索された化合物名(下位語)との関連付けを行う処理である。第2の関連付け処理の具体的な処理手順については、図28を用いて後述する。
つぎに、文書解析装置201は、選択した文書dから抽出した固有表現のうち選択されていない未選択の固有表現があるか否かを判断する(ステップS2504)。ここで、未選択の固有表現がある場合(ステップS2504:Yes)、文書解析装置201は、図24に示したステップS2404に戻る。
一方、未選択の固有表現がない場合(ステップS2504:No)、文書解析装置201は、異なる文書dのうち選択されていない未選択の文書dがあるか否かを判断する(ステップS2505)。ここで、未選択の文書dがある場合(ステップS2505:Yes)、文書解析装置201は、図24に示したステップS2403に戻る。
一方、未選択の文書dがない場合(ステップS2505:No)、文書解析装置201は、関連付け結果を出力して(ステップS2506)、本フローチャートによる一連の処理を終了する。関連付け結果は、例えば、図22に示したような探索結果2200であってもよく、また、図23に示したような読解支援画面2300であってもよい。
これにより、文書解析装置201は、異なる文書dにおける総称名(上位語)と化合物名(下位語)との適切な関連を示すことができる。
つぎに、図26および図27を用いて、図24に示したステップS2406の第2の探索適用条件生成処理の具体的な処理手順について説明する。
図26および図27は、第2の探索適用条件生成処理の具体的処理手順の一例を示すフローチャートである。図26のフローチャートにおいて、まず、文書解析装置201は、選択した文書dに対する構文解析等の結果から、選択した総称名(固有表現)を修飾する修飾文字列が存在するか否かを判断する(ステップS2601)。
ここで、修飾文字列が存在しない場合(ステップS2601:No)、文書解析装置201は、ステップS2608に移行する。一方、修飾文字列が存在する場合(ステップS2601:Yes)、文書解析装置201は、修飾文字列に固有表現が存在するか否かを判断する(ステップS2602)。
ここで、固有表現が存在する場合(ステップS2602:Yes)、文書解析装置201は、修飾文字列に含まれる固有表現の種類と内容とを特定する(ステップS2603)。そして、文書解析装置201は、固有表現/ナレッジグラフ対応テーブル220を参照して、特定した固有表現の種類に対応する探索適用条件情報を取得する(ステップS2604)。
つぎに、文書解析装置201は、修飾文字列に複数の固有表現が含まれ、かつ、複数の固有表現が「もしくは」、「または」を伴うか否かを判断する(ステップS2605)。ここで、複数の固有表現が「もしくは」、「または」を伴わない場合(ステップS2605:No)、文書解析装置201は、図27に示すステップS2701に移行する。
一方、複数の固有表現が「もしくは」、「または」を伴う場合(ステップS2605:Yes)、文書解析装置201は、複数の固有表現それぞれについて、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた条件を生成する(ステップS2606)。そして、文書解析装置201は、複数の固有表現それぞれについて生成した条件にOR条件を設定して(ステップS2607)、図27に示すステップS2701に移行する。
また、ステップS2602において、固有表現が存在しない場合(ステップS2602:No)、総称名(上位語)に対する化合物名(下位語)を制限なしでナレッジグラフKGから探索する探索適用条件を生成して(ステップS2608)、第2の探索適用条件生成処理を呼び出したステップに戻る。
図27のフローチャートにおいて、文書解析装置201は、修飾文字列に複数の固有表現が含まれ、かつ、複数の固有表現が「かつ」、「および」を伴うか否かを判断する(ステップS2701)。ここで、複数の固有表現が「かつ」、「および」を伴わない場合(ステップS2701:No)、文書解析装置201は、ステップS2704に移行する。
一方、複数の固有表現が「かつ」、「および」を伴う場合(ステップS2701:Yes)、文書解析装置201は、複数の固有表現それぞれについて、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた条件を生成する(ステップS2702)。そして、文書解析装置201は、複数の固有表現それぞれについて生成した条件にAND条件を設定する(ステップS2703)。
つぎに、文書解析装置201は、修飾文字列に否定語を伴う固有表現が含まれるか否かを判断する(ステップS2704)。ここで、否定語を伴う固有表現が含まれない場合(ステップS2704:No)、文書解析装置201は、ステップS2707に移行する。
一方、否定語を伴う固有表現が含まれる場合(ステップS2704:Yes)、文書解析装置201は、当該固有表現について、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた条件を生成する(ステップS2705)。そして、文書解析装置201は、生成した条件にNOT条件を設定する(ステップS2706)。
なお、ステップS2605,S2701,S2704のいずれにも該当しない固有表現が修飾文字列に含まれる場合は、文書解析装置201は、その固有表現についても、当該固有表現の内容に応じた条件を生成する。
つぎに、文書解析装置201は、ステップS2606等において生成された条件およびステップS2607等において設定されたOR条件等に基づいて、総称名(固有表現)に対する化合物名(下位語)をナレッジグラフKGから探索する際に適用する探索適用条件を生成して(ステップS2707)、第2の探索適用条件生成処理を呼び出したステップに戻る。
これにより、文書解析装置201は、化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、文書dにおいて総称名(上位語)を修飾する文字列を考慮して、総称名(上位語)に対する適切な化合物名(下位語)を探索可能な条件を生成することができる。
つぎに、図28を用いて、図25に示したステップS2503の第2の関連付け処理の具体的な処理手順について説明する。
図28は、第2の関連付け処理の具体的処理手順の一例を示すフローチャートである。図28のフローチャートにおいて、まず、文書解析装置201は、ステップS2501において探索された化合物名(下位語)のうち選択されていない未選択の化合物名を選択する(ステップS2801)。
つぎに、文書解析装置201は、選択した化合物名を、選択した文書dとは異なる他の文書dから検索する(ステップS2802)。そして、文書解析装置201は、化合物名が検索されたか否かを判断する(ステップS2803)。ここで、化合物名が検索されなかった場合(ステップS2803:No)、文書解析装置201は、ステップS2805に移行する。
一方、化合物名が検索された場合(ステップS2803:Yes)、文書解析装置201は、選択した文書d内の選択した総称名(上位語)と、他の文書d内の検索した化合物名(下位語)とを関連付ける(ステップS2804)。そして、文書解析装置201は、探索された化合物名(下位語)のうち選択されていない未選択の化合物名があるか否かを判断する(ステップS2805)。
ここで、未選択の化合物名がある場合(ステップS2805:Yes)、文書解析装置201は、ステップS2801に戻る。一方、未選択の化合物名がない場合(ステップS2805:No)、文書解析装置201は、関連付け処理を呼び出したステップに戻る。
以上説明したように、実施の形態2にかかる文書解析装置201によれば、文書dから抽出した上位語に対する下位語をナレッジグラフKGから探索し、探索した下位語を他の文書dから検索し、文書d内の抽出した上位語と、他の文書d内の検索した下位語とを関連付けることができる。
これにより、化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、異なる文書dにおける総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
また、文書解析装置201によれば、修飾文字列に複数の固有表現が含まれ、複数の固有表現が選択の接続詞を伴う場合、複数の固有表現それぞれについて生成した探索適用条件にOR条件を設定することができる。
これにより、総称名(上位語)を修飾する修飾句や連体修飾節に、「もしくは」、「または」などの選択の接続詞を伴う複数の固有表現が含まれる場合、複数の固有表現それぞれについての探索適用条件のうちの少なくともいずれかを満たす化合物名(下位語)を探索するという条件を生成することができる。このため、化合物の総称名(上位語)に対してその性質や物性などが選択的に限定されている場合であっても、総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
また、文書解析装置201によれば、修飾文字列に複数の固有表現が含まれ、複数の固有表現が並列の接続詞を伴う場合、複数の固有表現それぞれについて生成した探索適用条件にAND条件を設定することができる。
これにより、総称名(上位語)を修飾する修飾句や連体修飾節に、「かつ」、「および」などの並列の接続詞を伴う複数の固有表現が含まれる場合、複数の固有表現それぞれについての探索適用条件のすべてを満たす化合物名(下位語)を探索するという条件を生成することができる。このため、化合物の総称名(上位語)に対してその性質や物性などの複数の限定がなされている場合であっても、総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
また、文書解析装置201によれば、修飾文字列に否定語を伴う固有表現が含まれる場合、当該固有表現についての探索適用条件にNOT条件を設定することができる。
これにより、総称名(上位語)を修飾する修飾句や連体修飾節に、「ない」といった否定語を伴う固有表現が含まれる場合、その固有表現についての探索適用条件を満たす化合物名(下位語)を探索対象から除外するという条件を生成することができる。このため、化合物の総称名(上位語)の性質や物性が否定表現によって限定されている場合であっても、総称名(上位語)と化合物名(下位語)とを適切に関連付けることができる。
また、文書解析装置201によれば、修飾文字列に含まれる固有表現をナレッジグラフKGから探索し、ナレッジグラフKGにおいて探索した固有表現の下位語が存在する場合、当該固有表現について生成した探索適用条件を、当該固有表現の下位語に基づき変更することができる。そして、文書解析装置201によれば、変更した探索適用条件に従って、ナレッジグラフKGから上位語に対する下位語を探索することができる。
これにより、修飾文字列に含まれる置換基などの固有表現が上位語(抽象名)で記述されている場合に、当該上位語を下位語(具体名)に展開してからナレッジグラフKGの探索を行うことができる。このため、例えば、ナレッジグラフKGにおいて、化合物名(特定化合物名)が、置換基の抽象名ではなく具体名と関係付けられていても、該当するノードを探索することが可能となる。
また、文書解析装置201によれば、文書dと他の文書dとを表示する際に、関連付けた文書d内の上位語と他の文書d内の下位語との関連を特定可能に表示することができる。
これにより、ユーザは、異なる文書dにおける総称名(上位語)と化合物名(下位語)との適切な関連を容易に把握することができる。
なお、実施の形態1にかかる文書解析装置201は、実施の形態2にかかる文書解析装置201と同一の機能を有することにしてもよい。
(実施の形態3)
つぎに、実施の形態3にかかる文書検索装置2900について説明する。文書検索装置2900は、検索クエリに応じて、文書DB(不図示)から文書を検索するコンピュータ(情報処理装置)である。文書検索装置2900は、例えば、情報処理システム200(図2参照)に含まれる。
文書検索装置2900は、例えば、サーバ、PCなどである。具体的には、例えば、文書検索装置2900は、情報処理システム200内の文書解析装置201やクライアント装置202により実現されてもよく、また、情報処理システム200(図2参照)内の他のコンピュータにより実現されてもよい。
文書DBは、文書を記憶する。検索対象となる文書は、例えば、化学分野における特許や論文などの文献である。文書DBは、文書検索装置2900が有していてもよく、また、文書検索装置2900がアクセス可能な他のコンピュータが有していてもよい。なお、実施の形態1,2と同様の箇所については、図示および説明を省略する。
(文書検索装置2900の機能的構成例)
まず、図29を用いて、実施の形態3にかかる文書検索装置2900の機能的構成例について説明する。
図29は、実施の形態3にかかる文書検索装置2900の機能的構成例を示すブロック図である。図29において、文書検索装置2900は、受付部2901と、抽出部2902と、特定部2903と、生成部2904と、探索部2905と、検索部2906と、出力制御部2907と、を含む。受付部2901~出力制御部2907は制御部となる機能であり、具体的には、例えば、図3に示したようなメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
受付部2901は、検索クエリの入力を受け付ける。検索クエリは、例えば、単語や文章などの文字列であってもよく、また、文書dであってもよい。具体的には、例えば、受付部2901は、クライアント装置202(図2参照)から検索クエリを受信することにより、受信した検索クエリの入力を受け付ける。
抽出部2902は、検索クエリから上位語を含む固有表現を抽出する。具体的には、例えば、抽出部2902は、検索クエリからあらかじめ定義された種類(タイプ)の固有表現を抽出する。
特定部2903は、抽出された上位語を修飾する修飾文字列を検索クエリから特定する。具体的には、例えば、特定部2903は、検索クエリに対して構文解析や係り受け解析などを行い、その解析結果をもとに、上位語を修飾する修飾文字列を検索クエリから特定する。
なお、検索クエリにおける修飾関係の解析結果については、実施の形態1,2と同様のため、図示および説明を省略する。
生成部2904は、ナレッジグラフKGの探索適用条件を生成する。具体的には、例えば、生成部2904は、特定された修飾文字列に含まれる固有表現の種類と内容とに基づいて、探索適用条件を生成する。より詳細に説明すると、例えば、生成部2904は、抽出された上位語を修飾する修飾文字列が特定された場合、特定された修飾文字列に固有表現が含まれるか否かを判断する。
ここで、修飾文字列に固有表現が含まれる場合、生成部2904は、その固有表現の種類と内容とを特定する。つぎに、生成部2904は、固有表現/ナレッジグラフ対応テーブル220(図5参照)を参照して、特定した固有表現の種類に対応する探索適用条件情報を取得する。そして、生成部2904は、取得した探索適用条件情報を参照して、特定した固有表現の内容に応じた探索適用条件を生成する。
なお、探索適用条件の生成例については、実施の形態1,2と同様のため、図示および説明を省略する。
探索部2905は、生成された探索適用条件に従って、抽出された上位語に対する下位語をナレッジグラフKGから探索する。具体的には、例えば、探索部2905は、生成された探索適用条件に該当するノードをナレッジグラフKGから探索する。そして、探索部2905は、探索したノードが示す下位語を、抽出された上位語(総称名)に対する下位語(化合物名)として取得する。
なお、上位語(総称名)に対する下位語(化合物名)の探索例については、実施の形態1,2と同様のため、図示および説明を省略する。また、ナレッジグラフKGは、文書検索装置2900が有していてもよく、また、文書検索装置2900がアクセス可能な他のコンピュータ(例えば、文書解析装置201)が有していてもよい。
検索部2906は、抽出された上位語と、探索された下位語とを、検索クエリに応じて文書を検索する際の検索キーワードに設定する。すなわち、検索部2906は、抽出された上位語(総称名)と、探索された下位語(化合物名)とを関連付けて、検索キーワードに設定する。
また、検索部2906は、抽出された固有表現のうちの上位語以外の固有表現を検索キーワードに設定することにしてもよい。上位語以外の固有表現は、例えば、置換基、部分構造、物性、用途などである。
例えば、検索クエリとして、「オレフィン基を有するオキシアルキレン重合体」が入力されたとする。この場合、図8に示したように修飾関係が解析され、図9Aに示したような探索適用条件910が生成される。そして、図10Aに示したように、探索適用条件910をもとに、総称名「オキシアルキレン重合体」に対する下位語(化合物名)として、ナレッジグラフKGから化合物名「ポリエチレングリコールジアクリレート」、「ポリプロピレングリコールジメタクリレート」が探索される。この場合、検索部2906は、例えば、「オキシアルキレン重合体」と「オレフィン基」と「ポリエチレングリコールジアクリレート」と「ポリプロピレングリコールジメタクリレート」とを検索キーワードに設定する。「オレフィン基」は、上位語以外の固有表現(置換基)である。
検索部2906は、設定した検索キーワードに基づいて、文書を検索する。具体的には、例えば、検索部2906は、検索キーワードに含まれるキーワード(単語)にAND条件を設定して、文書DBから検索キーワードに含まれるすべてのキーワードを含む文書を検索することにしてもよい。また、検索部2906は、検索キーワードに含まれるキーワードにOR条件を設定して、文書DBから検索キーワードに含まれる少なくともいずれかのキーワードを含む文書を検索することにしてもよい。
出力制御部2907は、検索された検索結果を出力する。検索結果の出力先は、例えば、検索クエリの入力元であるクライアント装置202である。具体的には、例えば、出力制御部2907は、検索結果を表示する際に、キーワードを強調表示することにしてもよい。
より詳細に説明すると、例えば、出力制御部2907は、検索された文書のスニペットを検索結果として表示する際に、スニペットに含まれるキーワードを他の文字とは異なる背景色、文字色、フォントなどで表示する。スニペットは、文書の説明であり、例えば、文書のタイトル、概要、リンクなどを含む。
なお、上述した文書検索装置2900の機能部は、情報処理システム200内の複数のコンピュータ(例えば、文書解析装置201、クライアント装置202)により実現されることにしてもよい。
(検索クエリに応じて検索された検索結果の表示例)
ここで、図30を用いて、検索クエリに応じて検索された検索結果の表示例について説明する。
図30は、検索クエリに応じて検索された検索結果の表示例を示す説明図である。図30において、検索結果画面3000は、検索クエリに応じて検索された検索結果3010をスクロール可能に表示する操作画面の一例である。ここでは、検索クエリとして、「オレフィン基を有するオキシアルキレン重合体」が入力された場合を想定する。
検索結果3010は、例えば、スニペット情報3010-1~3010-3を含む。スニペット情報3010-1~3010-3は、検索クエリに応じて検索された文書の文書番号、概要を含む。検索結果画面3000によれば、ユーザは、検索クエリに応じた文書を検索することができる。
また、検索結果画面3000では、スニペット情報3010-1~3010-3に含まれるキーワードがハイライト表示される。ここでは、検索クエリに合致する「ポリエチレングリコールジアクリレート」や「ポリプロピレングリコールジメタクリレート」がハイライト表示されている。このため、ユーザは、所望の文書を見つけやすくなる。
なお、検索結果画面3000において、ユーザの操作入力により、各本文ボタンb1~b3を選択すると、各文書の本文が表示される。また、検索結果画面3000において、検索クエリとして文書を指定することにしてもよい。
(文書検索装置2900の文書検索処理手順)
つぎに、図31を用いて、実施の形態3にかかる文書検索装置2900の文書検索処理手順について説明する。
図31は、実施の形態3にかかる文書検索装置2900の文書検索処理手順の一例を示すフローチャートである。図31のフローチャートにおいて、まず、文書検索装置2900は、検索クエリの入力を受け付けたか否かを判断する(ステップS3101)。ここで、文書検索装置2900は、検索クエリの入力を受け付けるのを待つ(ステップS3101:No)。
文書検索装置2900は、検索クエリの入力を受け付けた場合(ステップS3101:Yes)、検索クエリから上位語および下位語を含む固有表現を抽出する(ステップS3102)。そして、文書検索装置2900は、抽出した固有表現を検索キーワードに設定する(ステップS3103)。
つぎに、文書検索装置2900は、抽出した固有表現のうち選択されていない未選択の固有表現を選択する(ステップS3104)。そして、文書検索装置2900は、選択した固有表現の種類が化合物の総称名か否かを判断する(ステップS3105)。
ここで、総称名ではない場合(ステップS3105:No)、文書検索装置2900は、ステップS3110に移行する。一方、総称名の場合(ステップS3105:Yes)、文書検索装置2900は、探索適用条件生成処理を実行する(ステップS3106)。
なお、探索適用条件生成処理の具体的な処理手順については、図14に示した探索適用条件生成処理、または、図26および図27に示した第2の探索適用条件生成処理の処理手順と同様のため、図示および説明を省略する。
つぎに、文書検索装置2900は、生成した探索適用条件の制限下で、選択した総称名(固有表現)に対する化合物名(下位語)をナレッジグラフKGから探索する(ステップS3107)。そして、文書検索装置2900は、化合物名が探索されたか否かを判断する(ステップS3108)。
ここで、化合物名が探索されなかった場合(ステップS3108:No)、文書検索装置2900は、ステップS3110に移行する。一方、化合物名が探索された場合(ステップS3108:Yes)、文書検索装置2900は、探索された化合物名を検索キーワードに追加する(ステップS3109)。
つぎに、文書検索装置2900は、抽出した固有表現のうち選択されていない未選択の固有表現があるか否かを判断する(ステップS3110)。ここで、未選択の固有表現がある場合(ステップS3110:Yes)、文書検索装置2900は、ステップS3104に戻る。
一方、未選択の固有表現がない場合(ステップS3110:No)、文書検索装置2900は、検索キーワードを用いて、文書DBから文書を検索する(ステップS3111)。そして、文書検索装置2900は、検索結果を出力して(ステップS3112)、本フローチャートによる一連の処理を終了する。
これにより、文書検索装置2900は、検索クエリにおいて総称名(上位語)を修飾する文字列を考慮して、総称名(上位語)と化合物名(下位語)との適切な関連を導出して、文書の検索を行うことができる。
以上説明したように、実施の形態3にかかる文書検索装置2900によれば、検索クエリから上位語を含む固有表現を抽出し、抽出した上位語を修飾する修飾文字列を検索クエリから特定することができる。そして、文書検索装置2900によれば、特定した修飾文字列に含まれる固有表現の種類と内容とに基づいて、ナレッジグラフKGの探索適用条件を生成し、生成した探索適用条件に従って、ナレッジグラフKGから下位語を探索し、抽出した上位語と、探索した下位語とを、検索クエリに応じて文書を検索する際の検索キーワードに設定することができる。
これにより、化合物の総称名(上位語)に対してその性質、物性などが限定されている場合であっても、検索クエリにおいて総称名(上位語)を修飾する文字列を考慮して、総称名(上位語)と化合物名(下位語)との適切な関連を導出して、検索クエリを拡張することができる。このため、検索クエリでユーザが意図した文書を検索しやすくなり、文献調査などにかかるユーザの作業負荷や作業時間を軽減することができる。
なお、実施の形態1,2にかかる文書解析装置201は、実施の形態3にかかる文書検索装置2900と同一の機能を有することにしてもよい。
本実施の形態で説明した情報処理方法(文書解析方法、文書検索方法)は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラム(文書解析プログラム、文書検索プログラム)は、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した情報処理装置101(文書解析装置201、文書検索装置2900)は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)文書から上位語を含む固有表現を抽出し、
抽出した前記上位語を修飾する修飾文字列を前記文書から特定し、
特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出した前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成し、
生成した前記条件に従って、前記ナレッジグラフから前記下位語を探索し、
抽出した前記上位語と、探索した前記下位語との関連付けを行う、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記2)前記関連付けを行う処理は、
探索した前記下位語を前記文書から検索し、
前記文書内の前記上位語と、前記文書内の検索した前記下位語とを関連付ける、
ことを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記関連付けを行う処理は、
探索した前記下位語を前記文書とは異なる他の文書から検索し、
前記文書内の前記上位語と、前記他の文書内の検索した前記下位語とを関連付ける、
ことを特徴とする付記1に記載の情報処理プログラム。
(付記4)前記ナレッジグラフは、化合物に関する知識をノードとし、ノード間の関係をエッジとして有向グラフ化された情報であり、
前記生成する処理は、
化合物の総称名を修飾する句または節に含まれる固有表現の種類と内容とに応じて探索対象のノードを特定可能な情報を記憶する記憶部を参照して、特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、前記条件を生成する、
ことを特徴とする付記1に記載の情報処理プログラム。
(付記5)前記生成する処理は、
前記修飾文字列に複数の固有表現が含まれ、前記複数の固有表現が選択の接続詞を伴う場合、前記複数の固有表現それぞれについて生成した前記条件にOR条件を設定する、ことを特徴とする付記1に記載の情報処理プログラム。
(付記6)前記生成する処理は、
前記修飾文字列に複数の固有表現が含まれ、前記複数の固有表現が並列の接続詞を伴う場合、前記複数の固有表現それぞれについて生成した前記条件にAND条件を設定する、ことを特徴とする付記1に記載の情報処理プログラム。
(付記7)前記生成する処理は、
前記修飾文字列に否定語を伴う固有表現が含まれる場合、前記固有表現についての前記条件にNOT条件を設定する、ことを特徴とする付記1に記載の情報処理プログラム。
(付記8)前記修飾文字列に含まれる固有表現を前記ナレッジグラフから探索し、
前記ナレッジグラフにおいて探索した前記固有表現の下位語が存在する場合、前記固有表現について生成した前記条件を、前記固有表現の下位語に基づき変更する、
処理を前記コンピュータに実行させ、
前記探索する処理は、
変更した前記条件に従って、前記ナレッジグラフから前記上位語に対する下位語を探索する、ことを特徴とする付記1に記載の情報処理プログラム。
(付記9)前記文書を表示する際に、関連付けた前記文書内の前記上位語と前記下位語との関連を特定可能に表示する、処理を前記コンピュータに実行させることを特徴とする付記2に記載の情報処理プログラム。
(付記10)前記文書と前記他の文書とを表示する際に、関連付けた前記文書内の前記上位語と前記他の文書内の前記下位語との関連を特定可能に表示する、処理を前記コンピュータに実行させることを特徴とする付記3に記載の情報処理プログラム。
(付記11)前記関連付けを行う処理は、
前記文書内の前記上位語と関連付けて、探索した前記下位語を出力する、
ことを特徴とする付記2または3に記載の情報処理プログラム。
(付記12)検索クエリから上位語を含む固有表現を抽出し、
抽出した前記上位語を修飾する修飾文字列を前記検索クエリから特定し、
特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出した前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成し、
生成した前記条件に従って、前記ナレッジグラフから前記下位語を探索し、
抽出した前記上位語と、探索した前記下位語とを、前記検索クエリに応じて文書を検索する際の検索キーワードに設定する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記13)文書から上位語を含む固有表現を抽出し、
抽出した前記上位語を修飾する修飾文字列を前記文書から特定し、
特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出した前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成し、
生成した前記条件に従って、前記ナレッジグラフから前記下位語を探索し、
抽出した前記上位語と、探索した前記下位語との関連付けを行う、
処理をコンピュータが実行することを特徴とする情報処理方法。
(付記14)検索クエリから上位語を含む固有表現を抽出し、
抽出した前記上位語を修飾する修飾文字列を前記検索クエリから特定し、
特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出した前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成し、
生成した前記条件に従って、前記ナレッジグラフから前記下位語を探索し、
抽出した前記上位語と、探索した前記下位語とを、前記検索クエリに応じて文書を検索する際の検索キーワードに設定する、
処理をコンピュータが実行することを特徴とする情報処理方法。
(付記15)文書から上位語を含む固有表現を抽出し、
抽出した前記上位語を修飾する修飾文字列を前記文書から特定し、
特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出した前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成し、
生成した前記条件に従って、前記ナレッジグラフから前記下位語を探索し、
抽出した前記上位語と、探索した前記下位語との関連付けを行う、
制御部を有することを特徴とする情報処理装置。
(付記16)検索クエリから上位語を含む固有表現を抽出し、
抽出した前記上位語を修飾する修飾文字列を前記検索クエリから特定し、
特定した前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出した前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成し、
生成した前記条件に従って、前記ナレッジグラフから前記下位語を探索し、
抽出した前記上位語と、探索した前記下位語とを、前記検索クエリに応じて文書を検索する際の検索キーワードに設定する、
制御部を有することを特徴とする情報処理装置。
(付記17)文書から上位語を含む固有表現を抽出する抽出部と、
抽出された前記上位語を修飾する修飾文字列を前記文書から特定する特定部と、
特定された前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出された前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成する生成部と、
生成された前記条件に従って、前記ナレッジグラフから前記下位語を探索する探索部と、
抽出された前記上位語と、探索された前記下位語との関連付けを行う関連付け部と、
を含むことを特徴とする情報処理システム。
(付記18)検索クエリから上位語を含む固有表現を抽出する抽出部と、
抽出された前記上位語を修飾する修飾文字列を前記検索クエリから特定する特定部と、
特定された前記修飾文字列に含まれる固有表現の種類と内容とに基づいて、抽出された前記上位語に対する下位語をナレッジグラフから探索する際に適用する条件を生成する生成部と、
生成された前記条件に従って、前記ナレッジグラフから前記下位語を探索する探索部と、
抽出された前記上位語と、探索された前記下位語とを、前記検索クエリに応じて文書を検索する際の検索キーワードに設定する検索部と、
を含むことを特徴とする情報処理システム。