---実施例1---
実施例1においては、Materials Informaticsに用いる記述子のユーザ選択がなされる際、分析に有用となる属性情報を属性抽出装置がユーザに提示する状況を想定する。なお、上述の記述子は、例えば化学系論文から抽出された属性情報中より選択されるものである。こうした状況に対応する属性抽出装置を含む全体構成について以下に示す。
<属性抽出装置を含む全体構成の概要>
図1は、実施例1の計算機システムの構成の一例を示す図である。計算機システムは、データ管理サーバ10、複数のクライント30、40、50、およびそれらを通信されるためのネットワーク60から構成される。なお、本発明における属性抽出装置には、主としてデータ管理サーバ10が該当するが、適宜にクライアント30~50と協働する構成も想定可能であり、データ管理サーバおよびクライアント30~50のいずれもが、またはそれらの組み合わせが属性抽出装置であるといえる(以下同様)。
本実施例におけるデータ管理サーバ10は、主記憶装置11、記憶装置12、CPU13、ネットワークI/F(Interface)14、制御プログラム群110、および管理デー
タ群111を含む。なお、管理データ群111は、制御プログラム群110によって利用されるデータである。
このうち主記憶装置11は、揮発性メモリで構成されたRAMを想定する。また、記憶装置12は、不揮発性メモリで構成されたSSD(Solid State Drive)やHDD(Hard Disk Drive)を想定する。
また、CPU13は、主記憶装置11で保持する制御プログラム群110を実行し、必要な機能を実装する演算装置である。すなわち、制御プログラム群110、および管理データ群111が主記憶装置11に展開され、CPU13によって制御プログラム群110が実行される。
また、ネットワークI/F14は、ネットワーク60にアクセスし、クライアント30~50とのデータ通信を可能とする通信装置に該当する。
また、制御プログラム群110は、クライント30、40、50からの情報抽出リクエストに応じて、上述した例えば化学系論文等の文書から属性情報を抽出し、当該属性情報に関して適宜な処理(属性抽出方法)を行った結果をクライント30、40、50へ返答する機能を有する。
一方、クライアント30は、主記憶装置31、CPU33、ネットワークI/F34、文書データ登録プログラム310、および関連属性情報抽出プログラム311を含む。
このうち主記憶装置31は、揮発性メモリで構成されたRAMを想定する。また、CPU13は、主記憶装置31で保持する文書データ登録プログラム310、関連属性情報抽出プログラム311を実行し、必要な機能を実装する演算装置である。すなわち、文書データ登録プログラム310および関連属性情報抽出プログラム311が主記憶装置31に展開され、CPU33によってが実行される。
また、ネットワークI/F34は、ネットワーク60にアクセスし、データ管理サーバ10とのデータ通信を可能とする通信装置に該当する。
上述の文書データ登録プログラム310は、属性情報の抽出対象となる文書をユーザに登録させるためのプログラムである。
また、関連属性情報抽出プログラム311は、上述の文書データ登録プログラム310によって登録された文書に含まれる属性情報を、網羅的に出力し、さらにはユーザから属性情報を指定させるためのプログラムである。
なお、文書データ登録プログラム310および関連属性情報抽出プログラム311の機能を一つに纏めた構成としてもよい。また、データ管理サーバ10が文書データ登録プログラム310および関連属性情報抽出プログラム311の機能を有してもよい。
また、クライアント40、および50は、クライアント30と同様の構成であるため、説明を省略する。
なお、データ管理サーバ10と複数のクライアント30、40、50とは、それぞれが有するネットワークI/F(例えばネットワークI/F14、24、34)が接続されいるネットワーク60を利用し、必要に応じてデータ通信を行う。
ネットワーク60の種類としては、LAN(Local Area Network)、WAN(Wide Area Network)、もしくはその他のいかなるネットワークを介して接続されていてもよい。
<データ例>
図2は、データ管理サーバ10の主記憶装置11が有する制御プログラム群110および管理データ群120の詳細を示した図である。
このうち制御プログラム群110は、属性情報抽出処理部133、属性情報間関連度算出処理部114、およびユーザ指定属性情報抽出処理部115を含む。
また管理データ群120は、文書情報テーブル121、文書構造関連度算出テーブル群122、属性情報間関連度テーブル123、抽出属性情報リストテーブル124、テーブル間関連度算出テーブル群125、および関連属性情報表示テーブル群126を含む。
また、文書構造関連度算出テーブル群122は、属性名文書内関連度テーブル1221、属性値文書内関連度テーブル1222、および、文書構造間関連度テーブル1223を含む。
またテーブル間関連度算出テーブル群125は、属性名候補毎属性情報間関連度テーブル1251、属性間統計テーブル1252を含む。
また関連属性情報表示テーブル群126は、ユーザ指定属性情報テーブル1261、および関連属性情報テーブル1262を含む。
図3は、実施例1における文書情報テーブル121の一例を示す図である。文書情報テーブル121は、ユーザが登録した文書の情報を管理するためのテーブルである。
また、この文書情報テーブル121における各レコードは、文書ID1211、文書名1212、および文書データ1213を含むものとなる。
このうち文書ID1211は、文書を一意に特定する識別子である。また、文書名1212は、当該文書の名前である。また、文書データ1213は、当該文書の中身である、テキストデータである。つまり、この文書情報テーブル121には、化学系論文等のそれぞれが格納されている。
また図4は、実施例1における抽出属性情報リストテーブル124の一例を示す図である。この抽出属性情報リストテーブル124は、上述の文書情報テーブル121にある文書から抽出した属性情報をストアするテーブルである。
この抽出属性情報リストテーブル124における各レコードは、属性情報ID1241、属性名1242、属性値1243、文書ID1244、セクション名1245、抽出場所ラベル1246、および属性情報重要度1247を含む。
このうち属性情報ID1241は、抽出した属性を一意に特定するための識別子である。また属性名1242は、抽出した属性の名称であり、例えば「属性名:Material」、「属性名:Chemical amount」、「属性名:Melting point」などの値がストアされる。
また、属性値1243は、抽出した属性名に対する属性値であり、「属性名:Material」に対して「属性値:Mate-A」、「属性名:Chemical amount」に対して「属性値:10mol」、「属性名:Melting point」に対して「属性値:100K」などの値がストアされる。
また、文書ID1244は、属性情報を抽出した文書の識別子であり、文書ID1211の列に記録された値のうち該当する一つを有する。
また、抽出場所ラベル1246は、属性情報を抽出した文書中の場所を特定するためのラベルである。この抽出場所ラベル1246の値としては、例えば該当文書における文頭から数えた該当の属性名までの単語数(や行数、列数)などを用いてもよい。
また、属性情報重要度1247は、属性情報ID1241に対応する属性情報の重要度を属性抽出方法により数値化したものとなる。
図5は、実施例1における属性名文書内関連度テーブル1221の一例を示す図である。属性名文書内関連度テーブル1221は、抽出属性情報リストテーブル124に記録された属性情報における属性名と他の属性情報における属性名との文書内における関連度を記すためのテーブルである。
この属性名文書内関連度テーブル1221における各レコードは、属性情報ID12211、属性名12212、属性情報候補ID12213、属性名候補12214、および属性名文書内関連度12215を含む。
図5では属性名「Material」と、属性名「Material」、「Chemical amoiunt」、「Melting point」、「Pressure」との各関連度、および「Melting point」と、属性名「Material」、「Chemical amoiunt」、「Melting point」、「Pressure」との各関連度を示している。
このうち属性情報ID12211および属性名12212は、関連する属性情報を探索する際の関連元属性情報の識別子および属性名であり、抽出属性情報リストテーブル12
4中のレコードにおける属性情報ID1241と属性名1242の値のペアに対応する。
また、属性情報候補ID12213は、属性情報ID12211と属性名12212の値の組によって特定される属性情報に関連する属性名の候補が存在するとき、関連する属性名候補を特定するための識別子であり、関連する属性名候補と対応する抽出属性情報リストテーブル124中の属性情報ID1241の値を登録する。
また、属性名候補12214は、関連する属性情報が有する属性名である。また、属性名文書内関連度12215は、属性名12212と属性名候補12214との属性名の関連度である。
また、図6は実施例1における属性値文書内関連度テーブル1222の一例を示す図である。属性値文書内関連度テーブル1222は、ある属性情報における属性値と他の属性情報における属性値との文書内における関連度を記すテーブルである。
この属性値文書内関連度テーブル1222における各レコードは、属性情報ID12221、属性値12222、属性情報候補ID12223、属性値候補12224、および属性値文書内関連度12225を含む。
図6に示す例では、属性値「Mate-A」と属性値「Mate-A」、「10Mol」、「500K」、「1000hPa」との関連度および属性値「500K」と属性値「Mate-A」、「10Mol」、「500K」、「1000hPa」との関連度を示している。
また、属性情報ID12221および属性値12222は、それぞれ関連する属性情報を探索する際の関連元属性情報の識別子および属性値であり、抽出属性情報リストテーブル124中のレコードにおける属性情報ID1241と属性値1243の値のペアに相当する。
また、属性情報候補ID12223は、属性情報ID12221と属性値12222の値の組によって特定される属性情報に関連する属性名の候補が存在するとき、関連する属性値候補を特定するための識別子であり、関連する属性値候補と対応する抽出属性情報リストテーブル124中の属性情報ID1241の値を登録する。また、属性値候補12224は、関連する属性値候補である。属性名文書内関連度12225は属性値12222と属性値候補12224との属性値の関連度である。
図7は実施例1における文書構造間関連度テーブル1223の一例を示す図である。文書構造間関連度テーブル1223は、ある属性情報と他の属性情報との関連度を記すためのテーブルである。
この文書構造間関連度テーブル1223における各レコードは、属性情報ID12231、属性名12232、属性値12233、属性情報候補ID12234、属性名候補12235、属性値候補12236、文書内関連度12237、および属性情報間関連度12238を含む。
図7の例では、属性情報「属性名:Material、属性値:Mate-A」と、属性情報「属性名:Material、属性値:Mate-A」、属性情報「属性名:Material、属性値:Mate-A」と属性情報「属性名:Chemical amoiunt、属性値:10Mol」、属性情報「属性名:Material、属性値:Mate-A」と属性情報「属性名:Melting point、属性値:500K」、属
性情報「属性名:Material、属性値:Mate-A」と属性情報「属性名:Pressure、属性値:1000hPa」などとの関連度を示している。
こうした文書構造間関連度テーブル1223のレコードにおける、属性情報ID12231、属性名12232、および属性値12233は、関連する属性情報を探索する際の関連元属性情報の識別子、属性名、および属性値であり、それぞれが抽出属性情報リストテーブル124中のレコードにおける属性情報ID1241、属性名1242、属性値1243に対応する。
また、属性情報候補ID12234は、属性情報ID12231と属性名12232と属性値12233の値の組によって特定される属性情報に関連する、属性名と属性値の組の候補が存在するとき、関連する属性名と属性値の組の候補を特定するための識別子であり、関連する属性名と属性値の組の候補と対応する抽出属性情報リストテーブル124中の属性情報ID1241の値を登録する。
また、属性名候補12235および属性値候補12236は、それぞれ関連する属性情報の属性名および属性値である。また、文書内関連度12237は、各レコードにおける属性名12232、属性値12233、属性名候補12235、および属性値候補12236に対する文書内の関連度である。
また、属性情報間関連度12238は、属性情報ID12231を持つ属性情報と、属候情報候補ID12234を持つ属性情報との属性情報の関連度である。
また、図8は実施例1における属性名候補毎属性情報間関連度テーブル1251の一例を示す図である。
属性名候補毎属性情報間関連度テーブル1251における各レコードは、属性情報を一意に特定する属性情報ID12551をキーとして、属性名12512、属性値12513、属性情報候補ID12514、属性名候補12515、属性値候補12516、文書内関連度12517といった値を含む。
また、属性名候補毎属性情報間関連度テーブル1251は、関連する属性情報を探索する際の関連元属性情報に対し、関連する属性名毎に区別するためのテーブルであり、それぞれの関連属性名候補ごとにテーブルを作成する。
図中のテーブル(A)、(B)、(C)、(D)は、関連属性名候補ごとに作成されたテーブルである。このうち図8では、関連元属性情報の属性名として「Melting point」、関連する属性名として、テーブル(A)に「Material」、テーブル(B)に「Chemical amount」、テーブル(C)に「Pressure」、テーブル(D)に「Boiling point」の場合を示している。
こうした属性名候補毎属性情報間関連度テーブル1251における属性情報ID12551は、ある属性情報に関連する属性情報を検知する際において、関連する属性情報を見つけたい側の属性情報のIDである。
また、属性名12512、属性値12513、属性情報候補ID12514、属性名候補12515、属性値候補12516、および文書内関連度12517は、文書構造間関連度テーブル1223中のそれぞれ属性情報ID12231、属性名12232、属性値12233、属性情報候補ID12234、属性名候補12235、属性値候補12236、および文書内関連度12237に対応する。
なお、属性名候補毎属性情報間関連度テーブル1251では、文書構造間関連度テーブル1223中に存在しない関連元属性情報と関連属性情報候補の組のレコードを含むため、その場合にはレコード中で表現できない箇所に対して無値を示すシンボルが登録される。無値を示すシンボルとしては、”=”や”NULL”などテーブル内に存在する他の有効値と区別がつくシンボルであれば何でもよい。
また図9は、実施例1における属性間統計テーブル1252の一例を示す図である。属性間統計テーブル1252は、文書構造間関連度テーブル1223に記録されたレコードを基に、属性名と属性名候補との各種統計値を有するテーブルである。
こうした属性間統計テーブル1252における各レコードは、属性名12521、属性名候補12522、属性値数指標12523、分散指標12524、平均単語間関連度指標12525、および総合統計指標12526を含む。
このうち属性名12521および属性名候補12522は、文書構造間関連度テーブル1223に記録されたレコード中の属性名12232および属性名候補12235の組に対応する。
また、属性値数指標12523は、文書構造間関連度テーブル1223に記録されたレコード中において属性名12232および属性名候補12235の組のレコード値が同一であるレコード数を基に指標とするものである。
また、分散指標12524は、文書構造間関連度テーブル1223に記録されたレコード中において属性名12232および属性名候補12235の組のレコード値が同一である複数のレコードを対象とし、属性値候補12236のレコード値の分散を指標とするものである。
また、平均単語間関連度指標12525は、文書構造間関連度テーブル1223に記録されたレコード中において属性名12232および属性名候補12235の組のレコード値が同一である複数のレコードを対象とし、文書内関連度12237のレコード値の平均を指標とするものである。
また、総合統計指標12526は、各レコードにおいて属性値数指標12523、分散指標12524、平均単語間関連度指標12525を基に算出した、当該レコードの総合的な統計指標である。
<フロー例>
次に、実施例1における属性抽出方法のフロー例について説明する。図10は、実施例1における関連属性情報抽出フローの一例を示した図である。具体的には、関連する属性情報を抽出する処理の流れを示すフローである。
なお、文書データ登録プログラム310は、属性情報抽出対象文書選択画面400(図18参照)で示されるユーザインターフェースを有し、関連属性情報抽出プログラム311は属性情報表示画面500(図25参照)で示されるユーザインターフェースを有するものとする。
ここでは、関連する属性情報を抽出する大まかな流れについて説明する。まず、ステップS10の属性情報抽出処理において、属性情報抽出処理部113は、クライアント30、40、50からネットワーク60を介してデータ管理サーバ10に送信された文書デー
タから属性情報の抽出を行う。
次にステップS20の属性情報間関連度算出処理において、属性情報抽出処理部113は、上述のステップS10において抽出された属性情報を用いて、属性情報間の関連度を算出する。それぞれの処理の詳細については、これ以降で説明する。
図11は、実施例1における属性情報抽出処理(S10)の詳細例を示したフロー図である。この場合、まず属性情報抽出処理部113は、ステップS11において、ユーザの指令によりクライアント30からネットワーク60を介して情報抽出対象となる1つ以上の文書を受領する。
次に、ステップS12における属性情報抽出処理部113は、上述のステップS11で受領した文書から文書名、文書データを抽出し、これらに、ユニークな識別子を文書IDとして付与した上で、文書情報テーブル1221に登録する。
次に、ステップS13における属性情報抽出処理部113は、上述のステップS12で抽出した文書データから属性情報を抽出するための所定の前処理を行う。
この前処理の内容としては、例えば、指示語や代名詞の特定や複合語の特定、形態解析等の自然言語を扱うための処理を想定し、必要に応じて適宜に採用・実行するものとする。この前処理自体は、従来技術を採用すればよい。
次に、ステップS14における属性情報抽出処理部113は、上述のステップS13で前処理を行った文書データから属性情報を抽出し、これを属性情報リストテーブル124に登録していく。
このステップS14における属性情報抽出処理部113は、自然言語処理等による属性情報抽出を実施することで、属性名1242および属性値1243を抽出する。こうした抽出方法としては、ルールベースでの抽出手法や、属性名や属性値の文書構造上の特徴量を機械的に抽出し、その特徴量を用いて属性情報を抽出する手法など、適宜に採用すればよい。
また、属性情報抽出処理部113は、文書情報テーブル121を参照して、上述のように属性情報を抽出した文書のIDを、文書ID1244として登録する。また同様に、セクション名1245には、属性情報を抽出したセクションの名前を登録する。
また、抽出場所ラベル1246には、抽出された属性情報の場所を登録する。これは、文書からそれぞれの属性情報を抽出した場所を特定するためのラベルで、例えば文頭から数えた該当の属性名までの単語数などを用いてもよい。
また、属性情報重要度1247には、抽出された属性情報の文書中における重要度を数値化したものを登録する。これは、文書中で重要なポイントとして述べられている文書から抽出した属性情報を、優先的にユーザに提示するための措置に対応している。属性情報重要度の算出方法の例として、特定のセクションから抽出された属性情報を高くする(セクションによる指標)といったものがあげられる。
例えば、化学系論文からの情報抽出の場合、重要な情報は「Abstract」や「Conclusion」などのセクションに記載されている傾向がある。そのため、「Abstract」や「Conclusion」のセクションから抽出された属性情報の属性情報重要度を高くすることとなる。
また、特定の単語(例:important,extremely、など)が属性情報の前後一定ホップ数内に存在した場合、その属性情報の属性情報重要度を高くする、としてもよい(単語による指標)。
さらに、同じ文書中で同じ属性名と属性値を持つ属性情報が多数抽出された場合、その属性情報の重要度を高くするとしてもよい(属性情報抽出回数による指標)。
上述のような前提における具体例として、ある属性情報の属性情報重要度を、属性情報重要度=S+W+N、と計算する。
ここで、Sはセクションによる指標であり、特定のセクションから該当の属性情報間関連度が抽出された場合に「1」、それ以外を「0」とする。また、Wは単語による指標であり、特定の単語が属性情報の前後にあった場合に「1」、それ以外を「0」とする。また、Nは属性情報抽出回数による指標であり、Nはある文書中で該当の属性情報が抽出された回数でもよいし、値が「0」から「1」に収まるように、ある文書における単語の出現回数で規格化してもよい。こうした規格化の概念は以下に説明する種々の値に関して適宜に適用できるものとする。
より具体的には、ある属性情報が、該当文書中の特定セクションのうち1箇所から抽出されており、S=1、該当文書中にて直前に特定単語が1回出現しており、W=1、該当文書中での出現回数が3回であり、N=3、であったとする。この場合、その属性情報の属性情報重要度は、1+1+3=5、と算定出来る。ただし、全属性情報の間で、最大の属性情報重要度の値が、例えば「10」であったとすれば、上述の重要度「5」を、この最大値「10」で除算し、「0.5」と規格化してもよい。
ここで図11のフローの説明に戻る。続いて、ステップS15における属性情報抽出処理部113は、属性のフィルタリングを行う。
例えば、化学系論文からの情報抽出を例にすると、1つの論文中にて、ある特定の物質の名前(仮に「Mate-A」とする)が複数回登場する場合がある。その場合、属性情報として1つの論文から「属性名:Material、属性値:Mate-A」が多数抽出され、それぞれが抽出属性情報リストテーブル124のレコードとして登録される。
このように1つの論文から同じ属性情報が多数抽出された場合に、それら属性情報それぞれの間で情報に差異はないことを踏まえ、冗長となるレコードを抽出属性情報リストテーブル124から削除すると好適である。
例えば、化学系論文からの情報抽出の場合、論文の「Abstract」や「Conclusion」等の重要セクションで記載されている内容は、本文にも記載されている可能性が高い。そのため、「Abstract」や「Conclusion」等から抽出された属性情報と同じ属性情報が本文中からも抽出されることとなる。そうした場合、全く同一の属性情報、すなわち冗長なレコードを、抽出属性情報リストテーブル124中から削除しても問題無く、データの管理や処理の効率かれすれば好適である。
最後に、ステップS15における属性情報抽出処理部113は、冗長なレコードが削除された抽出属性情報リストテーブル124に対して、各レコードを一意に特定するための識別子である属性情報IDを生成・登録し、処理を終了する。
次に、属性情報間関連度算出処理(S20)についてより具体的に説明する。図12は
、実施例1における属性情報間関連度算出処理(S20)の一例を示したフロー図である。
この場合、まず、属性情報間関連度算出処理部114は、ステップS21の文書構造指標算出処理において、該当文書の文書構造から関連する属性情報を特定する指標(文書構造指標)を算出する。文書構造指標とは、文書構造に基づいて算出した、属性情報間の関連度や属性情報の重要度などである。この処理の詳細については後述する。
次に、属性情報間関連度算出処理部114は、ステップS22の統計指標算出処理において、上述の文書構造指標算出処理(S21)で得た指標に基づくテーブル構造から、関連する属性情報を特定する指標(統計指標)を算出する。
統計指標とは、属性値の分散や相関などから算出した属性情報間の関連度である。この処理の詳細については後述する。
次に、属性情報間関連度算出処理部114は、ステップS21において算出した文書構造指標とステップS22において算出した統計指標とを用いて、属性情報間関連度を算出する。
属性情報間関連度は、例えば、文書構造間関連度テーブル1223における文書内関連度12237の値と、属性間統計テーブル1252における総合統計指標の値との和または積を想定できる。この場合、文書構造間関連度テーブル1223に含まれる或るレコードの文書内関連度12237の値と、当該レコードの属性名および属性名候補の値の組を持つ属性間統計テーブル1252内のレコードにおける総合統計指標の値とを対象とする。
この場合の属性情報間関連度算出処理部114は、本ステップでは算出した属性情報間関連度を、着目した文書構造間関連度テーブル1223に含まれるレコードの属性情報間関連度12238の値として登録する。また、同様にして文書構造間関連度テーブル1223に含まれるすべてのレコードの属性情報間関連度12238の値を登録する処理を実施する。
続いて、上述の文書構造指標算出処理(S21)について説明する。図13は、実施例1における文書構造指標算出処理(S21)の一例を示したフロー図である。
この場合、まず、属性情報間関連度算出処理部114は、ステップS211において、上述の属性情報抽出処理(S20)において抽出した属性名同士の関連度、すなわち属性名文書内関連度を算出し、属性名文書内関連度テーブル1221を作成する。
属性名候補の選択方法については、抽出属性情報リストテーブル124に記載された属性名を(例えば、未選択のものでテーブル先頭に近いものから。以下同様)一つ選択してその属性名が現れる文書IDと同じ文書IDを持つその他の属性名を全て属性名候補として網羅的に属性名候補とする方法を想定できる。または、抽出属性情報リストテーブル124に記載された属性値を一つ選択してその属性値が現れる文書IDと同じ文書IDを持ち、なおかつ同じセクション名を持つその他の属性値を全て属性名候補として網羅的に属性値候補とする方法、などを想定できる。
また、属性名同士の関連度の算出は、例えば属性名同士の共起確率等を用いて算出するとしてもよい。これは、関連性の高い属性名同士は、文書中でよく近くに出現する可能性が高いためである。
例えば、或る化学系論文において「Melting point」という単語と、「Pressure」という単語の関連性が高い場合、図14に示すように、「Melting point」と「Pressure」が該当論文中の近い位置によく出現する傾向がある。このように、ある単語同士が共起して出現する確率を、当該属性名の関連度の算出に使用しても良い。
次に、属性情報間関連度算出処理部114は、ステップS212において、上述の属性情報抽出処理(S10)において抽出した属性情報間の属性値の関連度すなわち属性値文書内関連度を算出し、属性値文書内関連度テーブル1222を作成する。
属性値候補の選択方法については、抽出属性情報リストテーブル124に記載された属性値を一つ選択し、その属性値が現れる文書IDと同じ文書IDを持つその他の属性値を全て属性名候補として網羅的に属性値候補とする方法を想定できる。または、抽出属性情報リストテーブル124に記載された属性値を一つ選択し、その属性値が現れる文書IDと同じ文書IDを持ち、なおかつ同じセクション名を持つその他の属性値を全て属性名候補として網羅的に属性値候補とする方法も想定できる。
また、属性値間の関連度の算出方法として、例えば属性値間の文書中での近さを用いた手法を採用できる。
例えば、図14に示すような文書から、「属性名:Melting point、属性値500K」、「属性名:Melting point、属性値:600K」,「属性名:Pressure、属性値:1000hPa」、「属性名:Pressure、属性値:1500hPa」という4つの属性情報が抽出されたとする。
その場合、関連のある属性情報は文書中の近くに記載されている可能性が高いことを踏まえ、「属性名:Melting point、属性値:500K」と「属性名:Pressure、属性値:1000hPa」、および、「属性名:Melting point、属性値:600K」と「属性名:Pressure、属性値:1500hPa」のペアがより関連すると考えられる。
また、属性値文書内関連度の算出方法として、文書の係り受けやルールベースの手法を用いてもよい。
次に、ステップS213における属性情報間関連度算出処理部114は、上述のステップS211にて作成された属性名文書内関連度テーブル1221、および上述のステップS212にて作成された属性値文書内関連度テーブル1222を用いて、文書内関連度を算出し、これを文書構造間関連度テーブル1223に登録する。
具体的に、属性情報間関連度算出処理部114は、同じ属性情報IDと属性情報候補IDを持つレコードを属性名文書内関連度テーブル1221および属性値文書内関連度テーブル1222のそれぞれから抽出する。また、属性情報間関連度算出処理部114は、抽出した2レコードに含まれる属性情報ID、属性名、属性値、属性情報候補ID、属性名候補、および属性値候補を、それぞれ属性情報ID12231、属性名12232、属性値12233、属性情報候補ID12234、属性名候補12235、および属性値候補12236に登録する。
また、属性情報間関連度算出処理部114は、抽出した2レコードに含まれる、属性名文書内関連度および属性値文書内関連度の値を元に、文書内関連度を算出し、文書構造間
関連度テーブル1223における文書内関連度12237に登録する。文書内関連度の算出方法として、抽出された2レコードに含まれる、例えば属性名文書内関連度と属性値文書内関連度に重みをつけた和でもいいし、積をとってもよい。
また、ステップS214における属性情報間関連度算出処理部114は、抽出属性情報リストテーブル124における属性情報重要度1247に関する説明で既に述べたように、抽出属性情報リストテーブル124中の各レコード、すなわち属性名1242およびその属性値1243の組に関して、属性情報重要度=S+W+N(S:セクションによる指標、W:単語による指標、N:属性情報抽出回数による指標)などとその重要度を算定し、これを属性情報重要度1247として登録する。
なお、文書構造間関連度テーブル1223の属性情報間関連度12238については、すべてのレコードにおいて本フロー完了時点では空欄でよい。また、本フローの完了後、属性情報間関連度算出処理部114は、抽出属性情報リストテーブル124の全レコードを関連属性情報抽出プログラム311に送信する。
続いて、統計指標算出処理(S22)の詳細について説明する。図15は、実施例1における統計指標算出処理の一例を示したフロー図である。
この場合、まず、属性情報間関連度算出処理部114は、ステップS221にて、関連する属性情報を見つけたい属性情報に対し、上述のステップS213(図13のフロー)で算出した文書内関連度が高い属性情報を、属性名ごとに収集し、属性名候補毎属性情報間関連度テーブル1251を生成する。
例えば、図8で例示する属性名候補毎属性情報間関連度テーブル1251のように、関連する属性情報を見つけたい属性名として「Melting point」、これに関連する属性名として、「Material」、「Chemical amount」、「Pressure」、「Boiling point」が収集され、それぞれのテーブルが生成される。
こうした属性名候補毎属性情報間関連度テーブル1251の作成方法としては、下記のような方法が考えられる。属性情報間関連度算出処理部114は、最初に、ユーザから指定を受けた属性情報(例:図24のフローにおけるステップS312)から属性名を抽出し、文書構造間関連度テーブル1223において、抽出された属性名を含むレコードの中からすべての属性名候補を属性名候補群として抽出する。
また、属性情報間関連度算出処理部114は、属性名候補毎属性情報間関連度テーブル1251と同じスキーマ(列定義)を持つ空のテーブルを、上述の属性名候補群に所属する属性名の数だけ作成する。
次に、属性情報間関連度算出処理部114は、抽出属性情報リストテーブル124において、抽出された属性名を含むレコードを全て抽出して得られる属性情報ID、属性名、および属性値の列を、すべての空テーブルの属性情報ID12511、属性名12512、属性値12513としてそれぞれ登録する。
なお、各テーブルに登録されたすべてのレコードは属性名候補12515が空値である。そのため属性情報間関連度算出処理部114は、当該テーブルに対応する属性名候補の値を属性名候補12515として登録する。
そして、属性情報間関連度算出処理部114は、各テーブルのすべてのレコードにおい
て、当該レコードの属性情報ID12511、属性名12512、属性値12513、および属性名候補12515の値の組を含むレコード(候補レコード)を文書構造間関連度テーブル1223中で探索し、見つかれば候補レコードに含まれる属性情報候補ID、属性値候補、および文書内関連度の値を、それぞれ当該レコードの属性情報候補ID12514、属性値候補12516、および文書内関連度12517の値として登録する。
一方、候補レコードが見つからない場合、属性情報間関連度算出処理部114は、当該レコードの属性情報候補ID12514、属性値候補12516、および文書内関連度12517の値に空値を示すシンボル(前述の通り”=”や”NULL”などでよい)を登録する。
なお、上記のテーブル作成例は一例であり、同様の属性名候補毎属性情報間関連度テーブル1251を作成できる他の方法を用いても構わない。
ここで図15のフローの説明に戻る。続いて、属性情報間関連度算出処理部114は、ステップS222において、テーブル間関連度を示すための統計指標を、上述のステップS221にて作成したテーブルから算出し、属性間統計テーブル1252を作成する。
本ステップにおけるテーブル間関連度指標とは、属性名候補毎属性情報間関連度テーブル1251のテーブル構造から統計的に得られる指標である。この場合の属性情報間関連度算出処理部114は、例えば、下記の方法を用いて属性間統計テーブル1252を作成する。
まず、属性情報間関連度算出処理部114は、上述のステップS221にて作成した複数の属性名候補毎属性情報間関連度テーブル1251において、各テーブルの属性名および属性名候補の値を抽出し、それぞれを属性間統計テーブル1252の属性名12512および属性名候補12522の値として登録する。
また、属性情報間関連度算出処理部114は、属性間統計テーブル1252内の各レコードにおいて、属性値数指標12523、分散指標12524、平均単語間関連度指標12525、および総合統計指標12526の値を算出して登録する。
上述の属性値数指標とは、関連する属性情報の属性値が抽出された数を用いた指標である。関連する属性情報を見つけたい属性情報に対して、関連属性候補として多く属性値が抽出された属性名は、関連する属性情報を見つけたい属性情報に対して多くの付加情報を与えると考えられることから、属性値が抽出された数を指標とする。
例えば、図8における属性名候補毎属性情報間関連度テーブル1251の例において、「属性名:Melting point」に対する関連属性候補の属性数が、例えば、「属性名:Material」の属性数「5」、「属性名:Chemical amount」の属性数「4」、「属性名:Pressure」の属性数「5」、「属性名:Boiling point」の属性数「3」であったとする。その場合、属性情報間関連度算出処理部114は、属整数「5」の「属性名:Material」、「属性名:Pressure」の属性値数指標を高く、属性数「3」の「属性名:Boiling point」の属性値数指標を低くする。
こうした属性値数指標算出の例として、ある属性名iの属性値数指標N(i)は、N(i)=R、で算出出来る。ここで、Rは属性値数である。
また、分散指標とは、関連する属性情報の属性値の分散を用いた指標である。関連する
属性情報を見つけたい属性情報に対して、関連属性情報候補として抽出された属性値の分散が大きいほど、関連する属性情報を見つけたい属性情報に多くの付加情報を与えると考えられることから、属性値の分散を指標とする。
例えば、図8における属性名候補毎属性情報間関連度テーブル1251の例では、「属性名:Melting point」に対する関連属性情報候補の属性値が、例えば、「属性名:Material」では全てばらばらであるため、分散指標が高い。また、「属性名:Chemical amount」、「属性名:Pressure」、「属性名:Boiling point」の中では、属性値の分散の大きい「属性名:Boiling point」の分散指標が高く、属性値の分散の小さい「属性名:Chemical
amount」の分散指標が小さい。
こうした分散指標算出の例として、数値に対して、ある属性名iの分散指標D(i)は、 D(i)=d(i)、で算出できる。
また、平均単語間関連度指標とは、上述のステップS213で算出した文書内関連度の平均値を用いた指標である。関連する属性情報を見つけたい属性情報と、関連する属性情報候補の文書内関連度が平均的に高い属性情報は、より関連度が高いと考えられるため、平均的な文書内関連度を指標とする。
例えば、図8における属性名候補毎属性情報間関連度テーブル1251の例では、「属性名:Melting point」に対する属性情報候補の文書内関連度が、平均的に高い「属性名:Material」の平均単語間関連度指標を高く、「属性名:Melting point」に対する関連属性候補の文書内関連度が平均的に低い「Chemical amount」の平均単語間関連度指標を低くする。
平均単語間関連度指標算出の例として、ある属性名iの平均単語間関連度ATR(i)は、
として求めることができる。ここで、Rは属性値数でありart(r)は個々の属性情報の文書内関連度である。
この他の属性情報重要度指標として、上述のステップS124で算出した属性情報重要度の平均的な重要度を属性間統計テーブル1252の新たな指標として各レコードに加えても良い。
同様に、関連する属性情報を見つけたい属性情報の属性値と、関連する属性情報候補の属性値との相関の度合いを指標として加えても良い。
最後に、属性情報間関連度算出処理部114は、属性間統計テーブル1252内の各レコードにおいて、算出された複数の指標値を基に総合値を算出し、当該レコードの総合統計指標12526の値として登録する。
ここで属性名iにおける総合統計指標T(i)の算出の例として、
T(i)=w1・N(i)+w2・D(i)+w3・ATR(i)
と計算できる。ここで、w1,w2,w3はそれぞれの統計指標の重みである。また、総合値は、本ステップで算出したそれぞれのテーブル間関連度指標の積でもよい。
また図16は、実施例1におけるユーザ指定属性情報抽出処理のフロー例を示した図である。このフローにおける処理は、属性名候補毎属性情報間関連度テーブル1251を関連属性情報抽出プログラム311へ送信するための処理が含まれている。なお、属性情報抽出対象文書選択画面400(図18)を介して、クライアント30、40、もしくは50から、ユーザ指定の文書データがデータ管理サーバ10に送信され、ステップS10およびS20が実行された状況にて、本フローが実施されることを想定する。
また、実施例1における文書データ登録プログラム310は、属性情報抽出対象文書選択画面400(図18参照)で示されるユーザインターフェースを有し、また、関連属性情報抽出プログラム311は、属性情報検索画面600(図19参照)で示されるユーザインターフェースを有するものとする。
この場合のクライアント30(クライアントを代表させ説明する)の関連属性情報抽出プログラム311は、ステップS321において、データ管理サーバ10上でのステップS20の実施後に受信した抽出属性情報リストテーブル124の全レコードを基に、各レコードにおける属性名および属性値の値の組を抽出し、抽出された属性名毎に対応する属性値を網羅的に、属性情報検索画面600における抽出属性一覧表示部601へ表示させる。
また、関連属性情報抽出プログラム311は、ステップS322において、属性情報検索画面600に含まれる検索ボタン606の押下を受け、ユーザ選択属性名入力部602およびユーザ指定関連属性情報検索属性名入力部603に入力された各値(送信属性名群)を、データ管理サーバ10のユーザ指定属性情報抽出処理部115に送信する。
一方、データ管理サーバ10のユーザ指定属性情報抽出処理部115は、ステップS323において、クライアント30から送信されてきたユーザ送信属性名群から、ユーザ選択属性名入力部602に入力された属性名(ユーザ選択属性名)をすべて取得し、すべてのユーザ選択属性名に対応する属性値を取得する。
例えば、ユーザ選択属性名としてユーザが入力した「属性名:Material」、および、「属性名:Melting point」を取得し、ユーザ指定属性情報抽出処理部115は「属性名:Material」、および、「属性名:Melting point」に対応する属性値として、「属性値:Mate-A」、「属性値:Mate-B」や「属性値:500K」、「属性値:600K」を取得する。
次に、ステップS323において複数のユーザ選択属性名が送信されてきた場合(ステップS324:YES)、ユーザ指定属性情報抽出処理部115は、ステップS325において、上述のステップS213で算出した文書構造関連度テーブル1223における文書内関連度12237を参照し、ステップS323で送信されてきた複数の属性名のそれぞれの属性値の間で関係する属性値同士を見つける。
例えば、属性名Aと属性名Bの2種のユーザ選択属性名が送信されてきた場合、ユーザ指定属性情報抽出処理部115は、文書構造関連度テーブル1223の属性名12232、属性名候補12235、文書内関連度12237を参照し、属性名が属性名Aと一致、属性名候補が属性名Bと一致、かつ文書内関連度が閾値以上のレコードを取得し、取得したレコードの属性値と属性値候補を、クライアント30における属性情報検索画面600の属性情報表示部605の同一レコードに表示する。
例えば、ステップS323においてユーザが「属性名:Material」、および、
「属性名:Melting point」を入力し、「属性値:Mate-A」、「属性値:Mate-B」や「属性値:500K」、「属性値:600K」を取得した場合、ユーザ指定属性情報抽出処理部115は、文書内関連度12237を参照し、属性情報「属性名:Material、属性値:Mate-A」と「属性名:Melting point、属性値:500K」間や、「属性名:Material、属性値:Mate-A」と「属性名:Melting point、属性値:600K」間などの文書内関連度が閾値より大きな属性情報間を見つけ、それらの情報を属性情報表示部605の同一レコードに表示させる。
一方、ユーザがユーザ選択属性名ユーザ選択属性名を一つのみ入力した場合には(ステップS324:NO)、次に述べるステップS326に移る。
次に、クライアント30の関連属性情報抽出プログラム311は、ステップS326において、ユーザがユーザ指定関連属性情報検索属性名入力部603にユーザ指定関連属性情報検索属性名を入力したことを受けて、ユーザ指定関連属性情報検索属性名入力部603に入力した値を、データ管理サーバ10のユーザ指定属性情報抽出処理部115に送信する。ここで、ユーザ指定関連属性情報検索属性名に入力される属性名は、ユーザ選択属性名の中から指定される。
一方、データ管理サーバ10のユーザ指定属性情報抽出処理部115は、ステップS327において、クライアント30から送信されてきたユーザ指定関連属性情報検索属性名から、ユーザ指定関連属性情報検索属性名入力部603に入力されたユーザ指定関連属性情報検索属性名を取得する。
また、クライアント30の関連属性情報抽出プログラム311は、ステップS328において、ユーザがユーザ指定テーブル指標入力部604おいてユーザ指定テーブル指標を選択したことを受けて、その選択結果をデータ管理サーバ10のユーザ指定属性情報抽出処理部115に送信する。
ここで、ユーザ指定テーブル指標とは、ユーザが関連する属性情報を検索する指標であり、上述のステップS222において提示したようなテーブル指標(ユーザ指定テーブル指標とする)として、「属性値数指標」、「分散指標」、「平均単語間関連度指標」などがある。このステップにてユーザが関連する属性情報を検索する指標を選択することにより、データ管理サーバ10としては、当該ユーザが求める関連属性情報により近い属性情報をクライアント30にて表示させることが出来る。
一方、データ管理サーバ10のユーザ指定属性情報抽出処理部115は、ステップS329において、クライアント30から送信されてきたユーザ指定テーブル指標、例えば、「平均関連度」を取得する。
また、クライアント30の関連属性情報抽出プログラム311は、ユーザが検索ボタン607を押下したことを受けて、当該ボタンが押された旨をデータ管理サーバ10のユーザ指定属性情報抽出処理部115に送信し、ステップS3210において、上述のステップS327で取得したユーザ指定関連属性情報検索属性名、およびステップS329で得たユーザ指定テーブル指標を用い、高関連度属性情報算出処理を行って、ユーザ指定関連属性情報検索属性名と関連する属性情報を算出する。この処理の詳細については後述する。
上述のステップS3211において、ステップS3210にて算出したユーザ指定関連属性情報検索属性名と関連する属性情報を関連属性情報表示部607に関連度が高い順に
表示する。
例えば、ステップS3210における高関連度属性算出処理にて、「属性名:Melting point」に関連する属性名として、「属性名:Pressure」、「属性名:Electric current」、「属性名:Magnetic field」、「属性名:Chemical amount」などが決定された場合に、これらの属性名、および、属性値を属性群の関連度が高い順に表示する。
関連属性情報抽出プログラム311は、ステップS3212において、ユーザが関連属性情報を選択すると(ステップS3212:YES)、その選択結果をデータ管理サーバ10のユーザ指定属性情報抽出処理部115に送信する。この場合のユーザ指定属性情報抽出処理部115は、ステップS3213において選択結果を受信する。
さらにユーザ指定属性情報抽出処理部115は、ユーザ選択属性名入力部602に、上述のようにユーザに選択された関連属性情報の列を追加する。
一方、ユーザが属性情報を選択しなかった場合(ステップS3212:NO)、後に述べるステップS3214に進む。
また、ユーザ指定属性情報抽出処理部115は、ステップS3214において、ユーザが選択した属性情報を元に、高関連度な属性情報の算出方法を変更する。
例えば、高関連度な属性情報の算出方法の変更の仕方として、属性情報間関連度の算出の際に、総合統計指標算出時の各統計指標の重みを変えてもよいし、文書構造指標や統計指標のうち、ユーザが選択した属性情報に特徴的な指標の重みを上げてもよい。
次に、ユーザがユーザ指定関連属性情報検索属性名に関連する属性の選択継続を希望し(ステップS3213)、さらにユーザが他のユーザ指定属性情報の選択を希望する場合(ステップS3214)、ユーザ指定属性情報抽出処理部115は、ステップS326に処理を戻す。
次に、ユーザがユーザ指定関連属性情報検索属性名に関連する属性の選択継続を希望し(ステップS3215:YES)、さらにユーザが他のユーザ指定属性情報の選択を希望する場合(ステップS3216:YES)、ユーザ指定属性情報抽出処理部115は、ステップS326に処理を戻す。
一方、ユーザがユーザ指定関連属性情報検索属性名に関連する属性の選択継続を希望し(ステップS3215:YES)、さらにユーザが他のユーザ指定属性情報の選択を希望しない場合(ステップS3216:NO)、ユーザ指定属性情報抽出処理部115は、ステップS329に処理を戻す。
また、ユーザがユーザ指定関連属性情報検索属性名に関連する属性の選択継続を希望しない場合(ステップS3215:NO)、ユーザ指定属性情報抽出処理部115は、処理を終了する。
図17は、実施例1における高関連度属性情報算出処理(S3210)のフロー例を示した図である。本フローは、ステップS327にて取得したユーザ指定関連属性情報検索属性名、およびステップS329で得たユーザ指定テーブル指標を用いて、ユーザに提示するユーザ指定関連属性情報検索属性名に関連する属性情報を決定するフローである。
まず、ユーザ指定属性情報抽出処理部115は、ステップS3281において、統計指標を算出する属性情報を抽出する。
この処理の目的は、統計指標の算出対象とする属性情報を、ある条件のもとで絞ることで、ユーザ指定関連属性情報検索属性名に対してより付加情報を与える属性情報を推薦できるようにすることである。
統計指標を算出する属性情報を絞る例として、上述のステップS213にて算出した文書内関連度12237が所定の閾値以上の属性情報を選択する手法を想定できる。
例えば、一般的には属性情報間で関連性が少ないため、抽出されたほとんどの属性情報では文書内関連度が小さいが、ある特定の場合には属性情報間に高い関連性があり、そのため文書内関連度が高くなるといった場合に、すべての属性情報候補に対してテーブル関連度指標を算出し属性間関連度を評価すると、特定の場合に属性情報間関連度が高い属性情報があったとしても、最終的にユーザに関連する属性情報を提示するのに使用する属性間関連度は低くなってしまう。
しかし、文書内関連度が高い属性情報のみ取り扱うことで、ある特定の場合に属性情報間に高い関連性を持つ属性情報同士の属性情報間関連度を上げることができる。
上記の理由から文書内関連度12237が閾値以上の属性情報のみを用いて統計指標を算出する。処理の流れとして、ユーザ指定属性情報抽出処理部115は、文書内関連度テーブル1223の文書内関連度12237を参照し、ステップS327において取得したユーザ指定関連属性情報検索属性名と一致する属性名12232を持つ属性情報と同一レコードの文書内関連度が所定の閾値以上の属性情報の属性情報候補ID、属性名候補12235、属性値候補12236、および文書内関連度12237を保持する。
別のテーブル関連度指標を算出する属性情報を絞る例として、例えば、ステップS214にて算出した属性情報重要度が高い属性情報にのみテーブル間関連度を算出してもよい。
例えば、文書内関連度はそれほど大きくないが、文書中で重要視されている属性情報は、既存の属性情報に大きな付加情報を与える可能性がある。そのため、属性情報重要度が高い属性情報に絞ってテーブル間関連指標を算出することで、ユーザ指定属性情報により付加情報を与える属性情報をユーザに提示することができる。
処理の流れとして、ユーザ指定属性情報抽出処理部115は、属性情報リストテーブル1241の属性情報重要度1247を参照し、属性情報重要度が閾値以上の属性情報IDを保持する。
さらに、文書内関連度テーブル1223の属性名12232を参照し、ユーザ指定関連属性情報検索属性名と一致する属性名12232を持ち、かつ同一レコードの属性情報候補IDが前記属性情報重要度が閾値以上だった属性情報の属性情報IDと一致する場合に、該当のレコードの属性情報候補ID、属性名候補12235、属性値候補12236、および文書内関連度12237を保持する。
また、別の例として1つの文書中から同じ属性名であるが、異なる属性値をもつ属性情報が複数抽出され、それと関連する属性情報として、同じ属性名であるが異なる属性値を持つ属性情報が複数抽出された属性情報にのみテーブル関連度指標を算出する。
例えば、属性情報「属性名:Melting point、属性値:500K」と、それに関連する属性情報「属性名:Pressure、属性名:1000hPa」、および、「属性名:Melting point、属性値:600K」と、それに関連する属性情報「属性名:Pressure、属性名:1500hPa」が1つの論文から抽出されたとする。
その場合、同じ属性名であるが異なる属性値を持つ属性情報である「属性名:Melting point、属性値:500K」と「属性名:Melting point、属性値:600K」を区別する属性情報として、別の、同じ属性名であるが異なる属性値を持つ属性情報「属性名:Pressure、属性名:1000hPa」、と「属性名:Pressure、属性名:1000hPa」が意味を持つと考えられる。
このため、異なる属性値を持つ属性情報が複数抽出され、それと関連する同じ属性名であるが異なる属性値を持つ属性情報が複数抽出された属性情報にのみテーブル間関連度を算出してもよい。
また、統計指標を算出する属性情報の例として、上記の組み合わせでもよいし、全ての属性情報候補に対して、統計指標を算出してもよい。またユーザがどのような条件に対して統計指標を算出するかを決めるステップがあってもよい。
また、ユーザ指定属性情報抽出処理部115は、ステップS3282において、ステップS3281において保持した属性情報候補ID12234、属性名候補12235、属性値候補12236、および文書内関連度12237を用いて統計指標を算出し、これをもって属性名候補毎属性情報間関連度テーブル1251、および属性間統計テーブル1252を作成する。これらテーブルの作成の仕方は実施例1のステップS22における統計指標算出処理と同等である。
さらに、ユーザ指定属性情報抽出処理部115は、ステップS3283において、ステップS3282にて作成した属性間統計テーブル1252の総合統計指標12521を参照し、総合統計指標を昇順に並べ替える。
以上の処理により、ユーザ指定関連属性情報検索属性名に付加情報を与える属性情報を優先的に並べ替え、ユーザのクライアント30に表示させることで、ユーザの属性情報選択時間を短縮することができる。
ここで、属性情報抽出対象文書選択画面400の具体的な構成について説明する。図18は、実施例1における属性情報抽出対象文書選択画面400の一例を示した図である。
属性情報抽出対象文書選択画面400は、クライアント30を操作するユーザが、属性情報抽出を行う文書を選択する画面である。
この属性情報抽出対象文書選択画面400は、クライアント30が保持する関連属性情報抽出プログラム311の一部であり、文書名表示部401、文書選択部402、文書選択終了ボタン403を含む。
このうち文書名表示部401は、情報抽出対象となる文書一覧を表示する欄である。また、文書選択部402は、属性情報抽出を行う文書をユーザが選択する欄である。また、文書選択終了ボタン403は、ユーザが文書選択を終了する際に押下する欄である。
この場合のユーザは、文書名表示部401に表示されている文書のうち、属性情報抽出
を行う文書を文書選択部402にて選択する。ユーザは、情報抽出を行う文書を全て選択し終わると、文書選択終了ボタン403を押下する。
本ボタンが押下されることにより、選択された1つまたは複数の文書データの情報は、ネットワーク60を介してデータ管理サーバ11に送信される。これにより、図10のフローにおけるステップS10およびS20が実施される。このステップS20の実施後、抽出属性情報リストテーブル124の全レコードは、データ管理サーバ10からクライアント30の関連属性情報抽出プログラム311に送信される。
また属性情報検索画面600の具体的な構成について説明する。図19は、実施例1における属性情報検索画面600の一例を示した図である。
属性情報検索画面600は、ユーザが指定した属性名と、それに関連する属性名候補を表示する画面である。
この属性情報検索画面600は、抽出属性一覧表示部601、ユーザ選択属性名入力部602、ユーザ指定関連属性名入力部603、ユーザ指定テーブル指標入力部604、選択属性情報表示部605、検索ボタン606、および関連属性情報表示部607を含む。
このうち抽出属性情報表示部601は、入力された文書から抽出された属性情報の一覧を表示する欄である。また、ユーザ選択属性名入力部602は、入力された文書から抽出された属性情報のうち、ユーザが表示させたい属性情報の属性名を入力する欄である。
また、ユーザ指定関連属性名入力部603は、ユーザが入力した表示属性名のうち、関連する属性情報を検索したい属性名を入力する欄である。また、ユーザ指定テーブル指標入力部604は、指定属性名に関連する属性情報を検索する際に使用するテーブル指標を入力する欄である。
また、表示属性情報表示部605は、ユーザが入力した表示属性名と、表示属性名に対応する属性値を表示する欄である。また、検索ボタン606は、ユーザが関連属性情報を検索する際に押下するボタンである。
また、関連属性情報表示部607は、ユーザが入力した指定属性名と関連する属性情報を表示する欄である。ユーザが入力したテーブル指標を用いたテーブル間関連度が高い順に表示される。
例えば、データ管理サーバ10は、ステップS323にてクライアント30のユーザ選択属性名入力部602にユーザが入力したユーザ選択属性名を取得し、その情報を表示属性情報表示部605に表示させる。
また、ユーザがユーザ指定関連属性検索属性名入力部603にユーザ指定関連属性情報検索属性名を入力し、ユーザ指定テーブル指標入力部604にてユーザ指定テーブル指標選択し、さらに検索ボタン606を押すと、クライアント30およびデータ管理サーバ10は協働し、ステップS326からステップS328にて属性情報間関連度を算出し、高関連度な属性情報を関連度順に関連属性情報表示部607に表示する。
---実施例2---
実施例2では、属性情報検索画面600におけるユーザ指定関連属性名入力部603に、複数のユーザ指定関連属性名が入力された場合、ユーザに優先的に表示する関連属性情報を決定する処理について説明する。本実施例では、実施例1における処理のうち高関連
度属性情報算出処理が変更される。
図20は実施例2における、高関連度属性情報算出処理のフロー例を示した図である。この場合、まず、データ管理サーバ10のユーザ指定属性情報抽出処理部115は、ユーザがクライアント30で入力した複数のユーザ指定関連属性名のうち、あるひとつのユーザ指定関連属性名に関して、高関連度な属性をステップS3281M、ステップS3282、および、ステップS3283Mにおいて算出する。
こうしたステップS3281M、ステップS3282M、および、ステップS3283Mの処理内容は、実施例1におけるステップS3281、ステップS3282、および、ステップS3283と同等であるため、説明を割愛する。
ステップS3283Mの後、全てのユーザ指定関連属性名について高関連度な属性を算出していない場合(ステップS3284M:NO)、データ管理サーバ10は、ステップS3281Mに処理を戻す。
一方、全てのユーザ指定関連属性名について高関連度な属性を算出した場合(ステップS3284M:YES)、データ管理サーバ10は、ステップS3285Mに処理を移す。
ステップS3285Mにおけるデータ管理サーバ10は、ステップS3284Mまでで算出したそれぞれユーザ指定関連属性名に対する高関連度な属性名から、ユーザに優先的に提示する属性情報を決定する。
例えば、図21に示すようにユーザが2つのユーザ指定関連属性名として、ユーザ指定関連属性名1、および、ユーザ指定関連属性名2を入力し、これに関連する3つの関連属性として、関連属性1、関連属性2、および、関連属性3があり、それぞれのユーザ指定関連属性名と関連属性名間の属性情報間関連度が図示する通りだった場合に、ユーザに提示する属性情報の順番を決定する。
ユーザ指定属性情報抽出処理部115は、ユーザに提示する属性情報の順番として、例えば属性情報間関連度の和(平均値)が最も大きい順を想定する。例えば、図21の場合、関連属性名1の属性情報間関連度の和(平均値)は1.0(0.5)、関連属性名2の属性情報間関連度の和(平均値)は1.2(0.6)、関連属性名3の属性情報間関連度の和(平均値)は0.9(0.45)となるため、ユーザに提示する属性情報の順番を関連属性名2、関連属性名1、関連属性名3とする。
また、別の例として、属性情報間関連度の最大値の順でもよい。例えば、図21の場合、関連属性名1の属性情報間関連度の最大値は0.9、関連属性名2の属性情報間関連度の和は0.6、関連属性名3の属性情報間関連度の和は0.8となるため、ユーザに提示する属性情報の順番を関連属性名1、関連属性名3、関連属性名2とする。さらに別の例として、属性情報間関連度の平均値の順でもよい。
また、ユーザに提示する属性情報の順番を決める指標が複数ある場合に、どの指標を用いて属性情報の順番を決めるかを決定するステップを有してもよい。
---実施例3---
実施例3では、化学系論文から特徴的な属性情報を抽出し、抽出された個々の属性情報間の関連度を算出することで、ユーザが指定したあるひとつの属性情報と関係する他の属性情報を提示する処理について述べる。この実施例3では、実施例1における処理のうち
ユーザ指定属性情報抽出処理が変更されるものとする。
図22は、実施例3におけるユーザ指定属性情報テーブル1261の一例を示す図である。このユーザ指定属性情報テーブル1261は、ユーザが指定した属性情報に関わるデータを表示する際に使用するテーブルである。
このユーザ指定属性情報テーブル1261における各レコードは、属性情報ID12611、属性名12612、属性値12613、文書ID12614、抽出場所ラベル12616、文書データ12617を含む。
このうち属性情報ID12611は、ユーザが入力した属性情報と一致した属性情報のIDである。また、属性名12612は、ユーザが入力した属性情報と一致した属性情報の属性名である。
また、属性値12613は、ユーザが入力した属性情報と一致した属性情報の属性値である。また、文書ID12614は、属性情報DI12611を持つ属性が抽出された文書のIDである。
また、文書名12615は、属性情報ID12611を持つ属性が抽出された文書の文書名である。また、抽出場所ラベル12616は、属性情報ID12611を持つ属性情報が抽出された場所のラベルである。
また、文書データ12617は、属性情報ID12617を持つ属性情報を抽出した周辺の文書である。
また図23は、実施例3における関連属性情報テーブル1262の一例を示す図である。この関連属性情報テーブル1262は、ユーザが指定した属性情報に関連する属性情報を推薦する際に使用するテーブルである。
この関連属性情報テーブル1262における各レコードは、属性情報ID12621、属性名12622、属性値12623、属性情報候補ID12624、属性名候補12625、属性値候補12626、属性情報間関連度12627、文書ID12628、文書名12629、抽出場所ラベル126210、および文書データ126211を含む。
このうち属性情報ID12621は、関連する属性情報を探索する際の関連元属性情報のIDである。また、属性名12622は、関連する属性情報を探索する際の関連元属性情報における属性名である。
また、属性値12623は、関連する属性情報を探索する際の関連元属性情報における属性値である。また、属性情報候補ID12624は、関連する属性情報を探索する際の関連元属性情報に関連する属性情報候補のIDである。
また、属性名候補12625は、関連する属性情報を探索する際の関連元属性情報に関連する属性情報候補の属性名である。また、属性値候補12626は、関連する属性情報を探索する際の関連元属性情報に関連する属性情報候補の属性値である。
また、属性情報間関連度12627は、属性情報ID12621と、属性情報候補I
D12624を持つ属性情報との間の関連度である。また、文書ID12628は、属性情報候補ID12624を持つ属性情報を抽出した文書のIDである。
また、文書名12629は、属性情報候補ID12624を持つ属性情報を抽出した文書の文書名である。また、抽出場所ラベル126210は、属性情報候補ID12624を持つ属性情報を抽出した場所のラベルである。
また、文書データ126211は、属性情報候補ID12624を持つ属性情報を抽出した周辺の文書である。
図24は、実施例3におけるユーザ指定属性情報抽出処理のフロー例を示した図である。本フローは、ステップS20において算出した属性情報間の関連度を用いて、ユーザが選択した属性情報に関連する属性情報を抽出するフローである。具体的には、データ管理サーバ10が、ユーザ指定属性情報テーブル1261および関連属性情報テーブル1262を、クライアント30の関連属性情報抽出プログラム311へ送信するための処理である。
クライアント30の 関連属性情報抽出プログラム311は、ステップS310におい
て、データ管理サーバ10上でのステップS20の実施後に受信した、抽出属性情報リストテーブル124の全レコードを基に、各レコードにおける属性名および属性値の値の組を抽出し、抽出された属性名毎に対応する属性値を網羅的に、属性情報表示画面500の抽出属性一覧表示部501(図25参照)へ表示する。
続いて関連属性情報抽出プログラム311は、ステップS311において、ユーザが属性情報表示画面500に含まれる検索ボタン503を押下したことを受け、ユーザ指定属性情報入力部502に入力された属性名および属性値を、データ管理サーバ10のユーザ指定属性情報抽出処理部115に送信する。
一方、データ管理サーバ10のユーザ指定属性情報抽出処理部115は、ステップS312において、クライアント30から受信した属性名および属性値を取得する。
また、ユーザ指定属性情報抽出処理部115は、ステップS313において、クライアント30から送信されてきたユーザ指定属性情報に一致する属性情報を、抽出属性情報リストテーブル124内で検索する。
ユーザ指定属性情報と一致する属性情報がある場合(ステップS314:YES)、ユーザ指定属性情報抽出処理部115は、ステップS315において、文書情報テーブル121および抽出属性情報リストテーブル124を参照し、クライアント30から送信されてきたユーザ指定属性情報に一致する属性情報の属性情報ID、属性名、属性値、文書ID、文書名、抽出場所ラベル、文書データからなるレコードを取得し、ユーザ指定属性情報テーブル1261に追加する。
一方、ステップS313の結果、ユーザ指定属性情報と一致する属性情報が無かった場合(ステップS314:NO)、ユーザ指定属性情報抽出処理部115は、ステップS316において、ユーザ指定属性情報に一致する属性情報がない旨をクライアント30の属性情報表示画面500に表示させ、処理を終了する。
また、ユーザ指定属性情報抽出処理部115は、ステップS315にてユーザ指定属性情報と一致する属性情報を取得した後、ステップS317において、ステップS315にて作成した、ユーザ指定属性情報テーブル1261内の各レコード対して、当該レコードの属性名12612および属性値12613の値の組を含むすべてのレコードを、文書構造間関連度テーブル1223から抽出する。また、ユーザ指定属性情報抽出処理部115は、ここで抽出したレコードの中で、属性情報間関連度が所定の閾値以上のレコードだけ
取得し、ここで取得したレコードにおける属性情報候補IDの値に対応するレコードを属性情報リストテーブル124から取得して関連属性情報テーブル1262に追加する。
例えば、ユーザがユーザ指定属性情報として「属性名:Material、属性値:Mate-A」を入力した結果、「属性名:Material、属性値:Mate-A」に対する属性間関連度が高い属性情報、「属性名:Melting point、属性値:500K」や「属性名:density、属性値:19g/cm3」などを取得する。
次に、ユーザ指定属性情報抽出処理部115は、ステップS318において、ステップS317において選出された全ての属性情報に対して、属性間関連度が所定の閾値以上の属性情報を検索する。
例えば、上述の例のように、ユーザがユーザ指定属性情報として「属性名:Material、属性値:Mate-A」を入力した結果、「属性名:Material、属性値:Mate-A」に対する属性間関連度が高い属性情報、「属性名:Melting point、属性値:500K」や「属性名:density、属性値:19g/cm3」などを取得した場合において、「属性名:Melting point、属性値:500K」や「属性名:density、属性値:19g/cm3」に対して属性間関連度が高い属性情報を検索、取得した結果を、関連属性情報テーブル1262に追加する。
続いて、ユーザ指定属性情報抽出処理部115は、ステップS318において、上述のステップS317にて新たに取得した関連属性情報テーブル1262内のすべてのレコード属性名候補および属性値候補の値の組を、ステップS317でのユーザ指定属性情報と見立てて、ステップS317と同様に属性間関連度が高い属性情報を再度検索し、これで取得した結果を関連属性情報テーブル1262に追加する。
ステップS318にて関連属性情報テーブル1262にデータが追加されている場合(ステップS319:NO)、ステップS318に戻る。一方、そうでない場合(ステップS319:YES)、ユーザ指定属性情報抽出処理部115は、ステップS3110において、ユーザ指定属性情報テーブル1261および関連属性情報テーブル1262の全レコードを、クライアント30の関連属性情報抽出プログラム311へ送信する。
一方、クライアント30の関連属性情報抽出プログラム311は、ステップS3111において、データ管理サーバ10から送信されてきたユーザ指定属性情報テーブル1261のレコード内容を基に、ユーザ指定属性情報に関して所定の強調表示(例:文字の色、サイズ、下線、網掛け、など)を施した文書データを、属性情報表示画面500のユーザ指定属性情報表示部504に表示させる。
ユーザがユーザ指定属性情報表示部504にて、表示したい属性情報を選択した場合、関連属性情報抽出プログラム311は、ユーザが選択した属性情報に対する関連属性情報を、データ管理サーバ10から送信されてきた関連属性情報テーブル1262より取得し、関連属性情報表示部505にグラフ表示する。
この他に、グラフ上に属性情報間の関連度を表示してもよい。またユーザが関連する属性情報の追加や削除を行う機能を有してもよい。また、ユーザが指定した属性情報と一致する属性情報が複数見つかった場合に、複数の結果をマージして表示する処理を有してもよい。
同様に、関連属性情報抽出プログラム311は、データ管理サーバ10から送信されてきた関連属性情報テーブル1262より取得するレコードを加工し、属性情報間の関連度
が高い属性情報および関連属性情報表示部506に表示された属性情報周辺の文書と文書名を、それぞれ関連属性情報一覧表示部506および関連属性情報抽出情報表示部507にて表示する。
図25は、実施例3における属性情報表示画面500の一例を示した図である。属性情報表示画面500は、ユーザが指定した属性情報と関連する属性情報を表示する画面である。
この属性情報検索画面500は、抽出属性一覧表示部501、ユーザ指定属性情報入力部502、検索ボタン503、ユーザ指定属性情報表示部504、関連属性情報表示部505、関連属性情報一覧表示部506、関連属性情報抽出情報表示部507を含む。
このうち抽出属性一覧表示部501は、属性情報リストテーブル124の各レコードにおける属性名および属性値の値の組を関連属性情報抽出プログラム311が抽出し、その属性名毎に対応する属性値を網羅的に表示するインターフェイスである。
また、ユーザ指定属性情報入力部502は、ユーザが検索したい属性情報(ユーザ指定属性情報)を入力する欄であり、属性名と属性値を入力できる。
また、検索ボタン503は、ユーザが入力した属性情報に一致する属性情報およびユーザが入力した属性情報に関連する属性情報の検索を開始するボタンである。
また、ユーザ指定属性情報表示部504は、ユーザ指定属性情報テーブル1261を用いてユーザ指定属性情報入力部502にユーザが入力した属性情報を検索した結果を表示する欄である。
図25の属性情報表示画面500では、ユーザが入力した属性情報と一致する属性情報が抽出された周辺の文書や、文書名を表示している。また、ユーザが指定した属性情報と一致する属性情報が複数見つかった際、表示する属性情報を選択する欄を有する。
関連属性情報表示部505は、関連属性情報テーブル1261を用いてユーザが指定した属性情報に関連する属性情報を表示する欄である。ユーザがユーザ指定属性情報表示部504で選択した属性情報について、属性情報間関連度が高い属性情報を結びつけてグラフ表示する。
関連属性情報一覧表示部506は、ユーザが指定した属性情報に関連する属性情報の一覧を表示する欄である。ユーザがユーザ指定属し情報表示部504で選択した属性情報について、属性情報間関連度が高い属性情報の一覧を表示する。
関連属性情報抽出情報表示部507は、関連属性情報表示部506に表示された属性情報について、その属性情報が抽出された周辺の文書や文書名を表示する。
なお、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記録媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発
明を構成することになる。
このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM,ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードをネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。すべての構成が相互に接続されていてもよい。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報を効率良く発見することに貢献しうる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の属性抽出装置において、前記演算部は、前記指標を算出するに際し、前記文書構造の特徴に基づき、前記各属性情報の間の関連度と前記各属性情報の重要度と、を算出するものである、としてもよい。
これによれば、 ひいては、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、さらに精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報をさらに効率良く発見することに貢献しうる。
また、本実施形態の属性抽出装置において、前記演算部は、前記各属性情報の間における共起性および出現距離に基づいて前記関連度を算出するものである、としてもよい。
これによれば、属性情報間の関連度を効率的かつ精度良く特定可能となる。ひいては、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、さらに精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報をさらに効率良く発見することに貢献しうる。
また、本実施形態の属性抽出装置において、前記演算部は、前記文書における前記各属性情報の出現位置、出現頻度、および、予め定めた特定単語との位置関係、の少なくとも
いずれかに基づいて前記重要度を算出するものである、としてもよい。
これによれば、属性情報の重要度を効率的かつ精度良く特定可能となる。ひいては、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、さらに精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報をさらに効率良く発見することに貢献しうる。
また、本実施形態の属性抽出装置において、前記演算部は、前記指標に基づいて、前記重要度の算出対象とする属性情報の絞込を行うものである、としてもよい。
これによれば、重要度として適宜な算出対象を効率的に絞り込み、ひいては、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、さらに精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報をさらに効率良く発見することに貢献しうる。
また、本実施形態の属性抽出装置において、前記演算部は、ユーザによる指定属性情報を前記所定属性情報とし、当該指定属性情報以外の他属性情報各々との間に関し、前記重要度の算出を行うものである、としてもよい。
これによれば、ユーザが気になっている属性情報に関して重要度の算出を行うことが可能となる。ひいては、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、さらに精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報をさらに効率良く発見することに貢献しうる。
また、本実施形態の属性抽出装置において、前記演算部は、前記文書において所定数以上の同一属性情報が存在する場合、前記指標の算出対象として当該属性情報の重複を排除するものである、としてもよい。
これによれば、上述の指標の算出を効率化し、ひいては、文書が含む属性情報のうち、ユーザ指定の属性情報と当該属性情報に付加価値を与えうる他の属性情報とを、さらに精度良く効率的に提示可能となる。このことは、当該ユーザが、膨大な属性情報の中から分析に使用する属性情報をさらに効率良く発見することに貢献しうる。