JP5881048B2 - 情報処理システム、及び、情報処理方法 - Google Patents

情報処理システム、及び、情報処理方法 Download PDF

Info

Publication number
JP5881048B2
JP5881048B2 JP2012204680A JP2012204680A JP5881048B2 JP 5881048 B2 JP5881048 B2 JP 5881048B2 JP 2012204680 A JP2012204680 A JP 2012204680A JP 2012204680 A JP2012204680 A JP 2012204680A JP 5881048 B2 JP5881048 B2 JP 5881048B2
Authority
JP
Japan
Prior art keywords
data
graph
feature
unit
unlabeled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012204680A
Other languages
English (en)
Other versions
JP2014059754A (ja
Inventor
利彦 柳瀬
利彦 柳瀬
修 今一
修 今一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012204680A priority Critical patent/JP5881048B2/ja
Priority to CN201310322481.3A priority patent/CN103678436B/zh
Publication of JP2014059754A publication Critical patent/JP2014059754A/ja
Application granted granted Critical
Publication of JP5881048B2 publication Critical patent/JP5881048B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)

Description

本発明は、情報処理システムに関する。
近年、多くの企業が、ビッグデータと呼ばれる大量の電子データを、利活用するようになった。これは、Apache Hadoopなどのオープンソースソフトウェアの登場により、一般的なPCサーバを用いて分散並列計算をする技術が普及したためである。このような技術の普及により、大量のデータを短時間で処理するために必要な計算機資源などのコストが、大幅に引き下げられた。
ビッグデータに対するデータの処理の内容としては、大量の数値データの集計処理、さらに、ユーザにとって有用なパターンを、計算機が電子文書データから自動的に抽出する処理などがある。このような、そもそも人間によって行われる知的処理を、計算機に実行させる一つの方法として、機械学習が用いられる。機械学習、特に教師有り学習では、人間が作成したデータを教師データとし、計算機が教師データのパターンを学習することで、人間の知的処理を計算機に代替して実行させることができる。
教師データは人間によって作られる必要があるため、計算機が教師有り学習を行う場合、人的なコストが発生する。特に、専門文書からの情報抽出の場合には、その分野の専門家(ドメインエキスパート)によって教師データが作られる必要があるため、人的なコストが特に大きくなる。
例えば、法令文書からの情報抽出という知的処理を行うためには、弁護士、又は司法書士などの法律の専門家が、計算機による機械学習に先立って、抽出されるべき情報の例を作成する必要がある。また、知的財産権に関する文書からの情報抽出という知的処理を行うためには、弁理士、又は企業の知的財産権担当者が、抽出されるべき情報の例を用意する必要がある。
一般に、教師データは、その数が多ければ多いほど、学習の結果を向上させる。しかし、教師データの作成には人的なコストがかかるため、大量の教師データを用意することは難しい。ビッグデータに含まれる多種多様なデータを、大量に扱う今日において、教師データを作成するための人的コストは、教師有り学習を応用する際の問題となっている。
教師データを作成するための人的コストに関する問題の一つの解決策として、教師情報(ラベル)の無いデータ(ラベル無しデータ)を、学習に活用することが試みられている。教師データに加えて、ラベル無しデータを学習に用いる機械学習は、半教師有り学習と呼ばれる(例えば、特許文献1、及び2参照)。
特許文献1、及び2では、文書群から、有害単語を含む文書を抽出するために、半教師有り学習を用いる方法が提案されている。
半教師有り学習の中でも、特に、非特許文献1で述べられるようなグラフベースの半教師有り学習は、計算の効率の点から注目を集めている。グラフベースの半教師有り学習は、例えば、評判分析、語義曖昧性解消、又は、品詞推定などに応用される。
また、ある観点から抽出された少数の単語を元に、同様の観点に基づく別の単語を抽出する方法が提案されている(例えば、特許文献3参照)。
また、検索クエリに対する文書の関連度をラベル付けする問題において、ラベルの付いた文書から、ラベルの付いていない文書へ、関連度を伝播させる方法について提案されている(例えば、特許文献4参照)。
ここで、機械学習におけるグラフとは、一つのデータ(例えば、単語)を一つのノードとし、データ間、すなわち、ノード間の類似度をノード間のエッジの重みとして定量化する数学的なグラフを意味する。このグラフでは、似ているデータは大きな重みのエッジで接続される。このため、エッジの重みを用いてラベル情報を伝播させることによって、ラベル無しデータにラベルを割り当てることができる。
例えば、電子文書からの人名情報を抽出する処理を例に、ラベル情報の伝播を以下に示す。この処理は、文書をチャンカーでトークンに分解し、各トークンが人名か否か判定する、二値の識別問題として処理される。
人名情報を抽出する処理の例において、計算機は、識別の対象であるトークンをノードとし、各トークン間の類似度をエッジの重みとして算出する。また、トークンの類似度は、品詞、又は文字列長などといったトークン自身の情報、及び、隣接するトークンとの共起情報などの情報に基づいて算出される。具体的には、トークンの類似度は、前述のようなトークンの情報が数値ベクトル化され、数値ベクトルを用いて距離が算出されることによって求まる。そして、これによって、各トークンを含むグラフが求められる。
このように求められたグラフを用いてラベルが伝搬された場合、似た文脈で使われる似たトークンは、より大きな重みのエッジで接続されるため、同じラベルが割り当てられやすくなる。
グラフベースの半教師有り学習では、グラフの構築方法が、学習精度に大きな影響を及ぼす。これまでには、グラフを構築する精度の向上、及び、計算の高速化を目的として、エッジの枝刈り(不要なエッジの削除)が行われてきた。
例えば、もともとのグラフをk−近傍グラフ、又は、b−マッチンググラフによって近似する方法が提案されている(例えば、非特許文献2参照)。ここで、k−近傍グラフ、b−マッチンググラフとは、それぞれk−近傍法、又は、b−マッチング法によって生成された類似度の上位k件のみのエッジを含むグラフである。
さらに、エッジの枝刈りをする場合でも、エッジが集中するノードを作らないようなエッジの作成方法が提案されている(例えば、非特許文献3参照)。
これらの文献において、グラフを生成するためには、ノードの情報を数値ベクトル化するための素性(属性)が、あらかじめ定められている必要がある。そして、この素性は、ドメインエキスパートであり、かつ、機械学習の処理についても詳しい者によって定められる必要がある。
また、機械学習の性能を評価する場合、実験結果の再検証を可能にするため、公開されている共通の教師データと、ラベル無しデータとを用いることが多い。しかし、実際にユーザが扱う文書を処理する場合、ラベル無しデータはしばしば膨大な量になることがあり、現実的な時間で学習を行うためには、ラベル無しデータの中から有用なものを選ぶ必要がある。
特開2011−039576号公報 特開2011−039575号公報 特開2010−257406号公報 特表2009−528628号公報
Learning from Labeled and Unlabeled Data with Label Propagation,Technical Report CMU-CALD-02-107,2002年 半教師あり語義曖昧性解消のためのグラフスパース化,情報処理学会研究報告,2010年 ハブを作らないグラフ構築法を用いた半教師あり語義曖昧性解消,情報処理学会研究報告,2010年 Efficient Graph-Based Semi-Supervised Learning of Structured Tagging Models,Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing,pp. 167-176,2010年
グラフベースの半教師有り学習において、最適なグラフ構造を求めるためには、対象領域(処理の対象となる文書の内容が所属する技術分野)と、機械学習との両方の専門知識を持つ者が必要であり、人的コストが大きい。
グラフ構造の最適化、すなわち、素性の最適化を目的に、機械学習処理をした後の最終出力結果を、対象領域の専門知識によって評価する方法が考えられる。しかし、この方法を用いた場合も、ドメインエキスパートによる評価が必要になり、更なる人的コストがかかってしまう。具体的には、機械学習処理をもとにグラフ構造を評価するためには、評価用の教師データを、ドメインエキスパートが手作業で作成する必要があり、人的なコストが大きいためである。
さらに、グラフ構造の最適化には、グラフ構造のパターン数に比例して増加する回数の機械学習処理が実行される必要がある。機械学習を複数回繰り返した場合、大きな計算時間が必要になり、膨大な設備コストが必要である。
このように、人的コストと計算機の設備コストとの増加などの問題が生じる。
本発明は、人的コストと計算機の設備コストを低減しつつ、文書に適切な機械学習を行うシステムの提供を目的とする。
本発明の代表的な一例を示せば以下の通りである。すなわち、複数の文献データについて機械学習を行う情報処理システムであって、前記情報処理システムは、ラベルを付与された複数の文献データである複数の教師データと、前記ラベルを付与されていない文献データであるラベル無しデータと、前記各文献データに関する複数の素性を抽出する方法を示す複数の素性タイプと、を取得する初期化部と、前記取得された素性タイプのうち少なくとも一つの前記素性タイプが入力された場合、前記入力された素性タイプと、前記取得された各教師データとに基づいて、前記各教師データに関する素性を数値ベクトルによって示す、前記各教師データの素性ベクトルを生成する素性ベクトル生成部と、前記素性ベクトル生成部によって生成された各教師データの素性ベクトルに基づいて、前記素性ベクトルが示す複数のノードと前記複数のノード間の距離に従って重みが定められたエッジとからなる前記教師データのグラフを生成するグラフ構築部と、前記グラフ構築部によって生成された教師データのグラフの前記重みに従って、前記教師データのグラフを評価する素性評価部を有し、前記素性評価部による前記グラフの評価結果に従って、前記教師データのラベルを正確に伝搬させる第1のグラフを生成するための素性タイプを、前記初期化部によって取得された素性タイプから選択し、さらに、前記グラフ構築部に生成させた前記第1のグラフを出力する素性選択部と、を有し、前記素性ベクトル生成部は、前記第1のグラフが生成された前記素性タイプと、前記初期化部によって取得された複数のラベル無しデータとに基づいて、前記各ラベル無しデータに関する素性を数値ベクトルによって示す、前記ラベル無しデータの素性ベクトルを生成し、前記情報処理システムは、前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第1のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離を算出し、前記教師データに付与されたラベルが伝搬される前記ラベル無しデータを、前記第1のグラフに含まれる各教師データと各ラベル無しデータとの距離に基づいて選択し、さらに、前記選択されたラベル無しデータを前記第1のグラフに含めることによって、第2のグラフを生成するデータ選択部と、前記第2のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる機械学習部と、を有する。
本発明の一実施形態によると、機械学習における人的コスト及び設備コストを低減できる。
本実施例1の情報抽出システムの物理的な構成を示すブロック図である。 本実施例1の情報抽出システムの論理的な構成を示すブロック図である。 本実施例1の文献データベースを示す説明図である。 本実施例1のラベルデータベースを示す説明図である。 本実施例1の素性タイプデータベースを示す説明図である。 本実施例1の素性タイプの最適化及びラベル無しデータの選択を行わない場合の機械学習を示す機能ブロック図である。 本実施例1の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。 本実施例1の教師データリストLを示す説明図である。 本実施例1のラベル無しデータリストUを示す説明図である。 本実施例1の素性選択部による処理の流れを示すフローチャートである。 本実施例1の教師データの素性ベクトルを示す説明図である。 本実施例1のラベル無しデータの素性ベクトルを示す説明図である。 本実施例1の異ラベル接続スコアのみによって算出されるグラフの評価値を示す説明図である。 本実施例1の同ラベル接続スコア及び異ラベル接続スコアによって算出されるグラフの評価値を示す説明図である。 本実施例1のデータ選択部の処理を示すフローチャートである。 本実施例1のグラフg2とラベル無しデータとを示す説明図である。 本実施例1の距離の最大値のデータを抽出した場合に抽出されるラベル無しデータを示す説明図である。 本実施例1の分散していないラベル無しデータを示す説明図である。 本実施例5の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。 本実施例5の機械学習の評価が低い場合の素性選択部の処理を示すフローチャートである。
以下の実施例において、要素の数等に言及する場合、特に指定された場合及び原理的に明らかに特定される場合を除き、その特定の数に限定されることはなく、特定の数以上でも以下でもよい。
さらに、以下の実施例において、その構成要素は、特に指定された場合及び原理的に明らかに必要とされる場合を除き、必ずしも必須のものではないということは明らかである。また、同様に以下の実施例において、構成要素の形状や位置関係について言及するときは、特に明示する場合や原理的に明らかにそうでないと考えられる場合を除き、実質的にその形状等に近似又は類似するものを含むものとする。このことは上記数値及び範囲に関しても同様である。
図1は、本実施例1の情報抽出システムに備わる計算機100の物理的な構成を示すブロック図である。
本実施例の情報抽出システムに備わる計算機100は、図1に示す汎用計算機である。情報抽出システムに備わる計算機100は、例えば、PCサーバでもよい。
計算機100は、プロセッサ110とメモリ120とローカルファイルシステム130と入力装置140と出力装置150とネットワークデバイス160とバス170とを備える。プロセッサ110とメモリ120とローカルファイルシステム130と入力装置140と出力装置150とネットワークデバイス160とは、バス170によって接続される。
プロセッサ110は、例えば、中央演算装置(Central Processing Unit;CPU)であり、複数のコアプロセッサを備えてもよい。メモリ120は、プログラム及びデータを格納するための記憶装置である。
入力装置140は、キーボード又はマウス等の装置であり、ユーザによって入力されたデータを受け付けるための装置である。出力装置150は、ディスプレイ又はプリンタ等の装置であり、ユーザに情報を出力するための装置である。なお、計算機100がネットワークを介してリモートから操作される場合、計算機100は、入力装置140と出力装置150とを備えなくてもよい。
ローカルファイルシステム130は、計算機100によって書き換え可能な記憶装置である。ローカルファイルシステム130は、計算機100に内蔵される記憶装置でも、計算機100の外部に備えられ、計算機100に接続された記憶装置でもよい。ローカルファイルシステム130は、例えば、ハードディスクドライブ、ソリッドステートドライブ、又は、RAMディスクなどの記憶装置である。
ネットワークデバイス160は、計算機100がネットワークに接続するための装置である。
図2は、本実施例1の情報抽出システムに備わる各計算機の論理的な構成を示すブロック図である。
本実施例の情報抽出システムは、情報抽出用計算機200と、ラベル生成用計算機290とを備える。情報抽出用計算機200及びラベル生成用計算機290は、各々、図1に示す計算機100の物理的な構成を備える。
また、本実施例の情報抽出システムは、文献データベース220と、ラベルデータベース225と、素性タイプデータベース230と、ローカルエリアネットワーク(LAN)210とを備える。各計算機と、各データベースとは、LAN210を通じて接続される。
情報抽出用計算機200は、処理部として、初期化部235と、素性ベクトル生成部237と、素性選択部240と、データ選択部255と、グラフ構築部270と、多目的最適化部275と、機械学習部280とを有する。
初期化部235は、機械学習を行うためのデータに文献等のデータを変換する処理部である。素性ベクトル生成部237は、素性ベクトルを生成する処理部である。
素性選択部240は、素性の最適化を行う処理部である。素性選択部240は、素性評価部245と、素性選択収束判定部250とを有する。
データ選択部255は、教師データからラベルを伝搬させるラベル無しデータを選択する処理部である。データ選択部255は、データ評価部260と、データ選択収束判定部265とを有する。グラフ構築部270は、ノードとエッジとを求めることによってグラフを生成する処理部である。多目的最適化部275は、複数の目的によって評価値を変化する場合に、最適な評価値を得るための解候補を選択する処理部である。機械学習部280は、機械学習を行う処理部である。
情報抽出用計算機200の各処理部は、プログラムによって実装されてもよいし、各機能を実現するための物理的な装置によって実装されてもよい。以下において、情報抽出用計算機200の各処理部は、プログラムによって実装されるものとし、各処理部に相当するプログラムがプロセッサ110によってメモリ120に読み出されることによって、各処理部の機能が実現されるものとする。
また、情報抽出用計算機200の各処理部は、複数の処理部の機能を、一つの処理部によって実装されてもよい。また、図2に示す一つの処理部に含まれる複数の処理が、複数の処理部によって実装されてもよい。
ラベル生成用計算機290は、ラベル生成部295を有する。ラベル生成部295は、ユーザの指示に従い、ラベルデータベース225に格納するデータを生成する。そして、ラベル生成部295は、生成されたデータをラベルデータベース225に格納する。また、ラベル生成部295は、ユーザの指示に従い、ラベルデータベース225からデータを削除する。
このため、予め定められたラベルデータベース225のデータが用いられる場合、ラベル生成用計算機290は、本実施例の情報抽出システムから省略されてもよい。
文献データベース220は、本実施例の機械学習の対象となる文献のデータを格納するためのデータベースである。ラベルデータベース225は、教師データを格納するためのデータベースである。素性タイプデータベース230は、グラフを生成するための素性のタイプを示すデータを格納するためのデータベースである。
なお、情報抽出用計算機200は、文献データベース220、ラベルデータベース225、及び、素性タイプデータベース230の各データベース、並びに、ラベル生成部295を内蔵してもよい。情報抽出用計算機200が全てのデータベースとラベル生成部295とを内蔵する場合、情報抽出システムからLAN210が省略されてもよい。
図2に示す情報抽出システムに備わるデータベースは、任意のデータストア機構を用いて実装されてもよい。また、情報抽出システムに備わるデータベースは、最も単純には、単にテキストファイルの1行を1レコードとして記述されたデータベースとして実装されてもよい。また、情報抽出システムに備わるデータベースは、リレーショナルデータベース、キーバリューストアなどのデータベースマネージメントシステムを用いて実装されてもよい。
さらに、情報抽出用計算機200と、ラベル生成用計算機290と、文献データベース220と、ラベルデータベース225と、素性タイプデータベース230とを接続するネットワーク(図2においてLAN210)は、高速性、及び、短い応答時間を得るため、一つのデータセンタ内に備えられてもよい。
また、情報抽出システムの各計算機、及び、各データベース等の各構成要素は、各々異なるデータセンタに備えられてもよい。
本実施例の情報抽出システムの起動手順について説明する。ユーザは、情報抽出用計算機200の電源を投入し、情報抽出用計算機200が有するOS(オペレーティングシステム)を立ち上げる。さらに、ユーザは、文献データベース220、ラベルデータベース225、素性タイプデータベース230、及び、ラベル生成用計算機290の電源を投入する。さらに、ユーザは、LAN210の電源を投入し、情報抽出用計算機200、文献データベース220、ラベルデータベース225、素性タイプデータベース230、ラベル生成用計算機290、及び、LAN210が相互に通信可能な状態にする。これ以降、情報抽出システムの各計算機及び各データベースは、例えば、IPアドレス及びホスト名に基づいて通信する。
図3Aは、本実施例1の文献データベース220を示す説明図である。
文献データベース220は、本実施例の情報抽出システムが機械学習をする対象となる文献の情報を格納するデータベースである。
文献データベース220は、文献ID2201と本文2202とを保持する。文献ID2201は、文献を一意に示す識別子を含み、各文献を区別する目的で用いられる。本文2202は、文献ID2201が示す文献に含まれる文字列を示す。
図3Bは、本実施例1のラベルデータベース225を示す説明図である。
ラベルデータベース225は、各文献に定められたラベルを示すデータベースである。ラベルデータベース225は、ラベルID2251、文献ID2252、及び、ラベル2253を含む。
ラベルID2251は、ラベルを一意に示す識別子を含む。文献ID2252は、ラベルID2251が示すラベルを付与された文献を示し、文献データベース220の文献ID2201の識別子に相当する。
ラベル2253は、ラベルが付与されたデータが文献のどの位置に出現するかを示す。例えば、レコード2254は、文献ID2252“1”の文献において、“1”というラベルが付与されるノードの開始文字位置が“10”であり、終了文字位置が“14”であることを示す。そして、レコード2254は、この文献ID2252“1”の文献におけるラベル“1”に、ラベルID2251“1”が割り当てられることを示す。
なお、ラベルが付与されるデータが、例えばトークン毎である場合に、ラベルデータベース225は、トークンの数によって開始位置と終了位置とを示すなど、ラベルを付与する目的に従ったデータを保持してよい。
図3Cは、本実施例1の素性タイプデータベース230を示す説明図である。
素性タイプデータベース230は、ノードに対して取得される素性のパターンを示すデータベースである。素性タイプデータベース230は、素性ID2301と、素性名2302とを含む。素性ID2301は、素性のパターンを一意に示す識別子である。
素性名2302は、素性のパターンを示す文字列である。素性名2302は、文献データを素性ベクトルとして数値化するために用いられる方法を示す。
例えば、図3Cに示す素性ID2301“1”の、素性名2302“token_surface_0”は、ノードの文字列自体の文字列を素性として取得することを示す。また、図3Cに示す素性ID2301“2”の、素性名2302“token_surface_1”は、対象の文字列の一つ後の文字列を素性として取得することを示す。
素性タイプデータベース230に格納される素性タイプは、ユーザによってあらかじめ定められた素性タイプである。
図4は、本実施例1の素性タイプの最適化及びラベル無しデータの選択を行わない場合の機械学習を示す機能ブロック図である。
図4は、図2に示す処理部に相当する機能ブロックが、実施例1の処理において入出力するデータの流れを示す。
まず、ラベル生成用計算機290のラベル生成部295は、ユーザによって指定されたラベルを、ラベルデータベース225に格納する。なお、素性タイプデータベース230には、あらかじめユーザによって指定された素性タイプが格納される。
初期化部235は、素性タイプデータベース230から任意の素性タイプfを取得し、ラベルデータベース225と文献データベース220とから、教師データリストを生成する。また、初期化部235は、文献データベース220から、ラベル無しデータリストを生成する。初期化部235は、素性タイプf、教師データリスト及びラベル無しデータリストを含むデータ30をグラフ構築部270に出力する。
グラフ構築部270は、素性タイプf、教師データリスト及びラベル無しデータリストに基づいて、グラフを生成する。なお、グラフを生成する際に、グラフ構築部270は、素性ベクトル生成部237に、教師データリスト及びラベル無しデータリストに基づいて、教師データの素性ベクトルと、ラベル無しデータの素性ベクトルとを生成させる。
なお、素性ベクトルとは、素性タイプfに従って、各データ及び各データの前後のデータに関する情報を数値ベクトルによって表現することによって、各文献に含まれるデータを定量的に示すための数値ベクトルである。
以下に、素性ベクトル生成部237による素性ベクトルの生成処理、及び、グラフ構築部270におけるグラフの生成処理の例を示す。以下の例では、素性ベクトル生成部237は、文献に含まれるデータをチャンカーによってトークンに分割し、各トークンをノードとして素性ベクトルを生成する。
文献に含まれるトークンの情報を数値ベクトル化する具体例として、素性ベクトル生成部237が、情報と数値ベクトルの次元との対応表とを用いる方法がある。例えば、素性ベクトル生成部237は、品詞名と数値ベクトルの次元との対応表として、「名詞:1、動詞:2、助詞:3、…」を、あらかじめ保持し、この対応表によって、トークンの品詞を数値ベクトル化する。
具体的には、前述の例において、素性ベクトル生成部237は、トークンの品詞が名詞である場合、数値ベクトル(1,0,0,…)を生成する。また、素性ベクトル生成部237は、トークンの品詞が助詞である場合、数値ベクトル(0,0,1,…)を生成する。素性ベクトル生成部237は、トークンがマッチした対応表の要素に、“1”を割り当て、トークンがマッチしない要素に“0”を割り当てる。
同様の手順によって、素性ベクトル生成部237は、トークンの表記及び原型、活用形及び活用型、並びに、辞書の項目とのマッチングなどについて数値ベクトルを生成することができる。
さらに、同様の手順によって、素性ベクトル生成部237は、数値ベクトルを生成する対象のトークンと隣接するトークンの情報を用いることができる。具体的には、素性タイプfが、対象のトークンの一つ前のトークンを素性として用いることを示す場合、素性ベクトル生成部237は、対象となるトークンの一つ前のトークンの品詞情報を、数値ベクトル化する。そして、素性ベクトル生成部237は、対象となるトークンの数値ベクトルに、対象となるトークンの一つ前のトークンの数値ベクトルを追加することによって、対象となるトークンの数値ベクトルを生成する。
また、情報と数値ベクトルの次元との対応表にマッチした場合に、数値ベクトルの要素の値を“1”にする方法のほかに、素性ベクトル生成部237は、隣接する二つのトークンの共起情報を表す値として自己相互情報量の値、文書全体で辞書にマッチした回数などを用いてもよい。
素性ベクトルを生成する対象のトークンについて、全ての数値ベクトルが生成された場合、素性ベクトル生成部237は、生成された数値ベクトルをあらかじめ定められた順番で結合し、トークンを表す一つの素性ベクトルを生成する。ここで、数値ベクトルの結合とは、各ベクトルの全要素を自身の要素として持つベクトルを生成することであり、例えば、ベクトルv(v1,v2,v3)とベクトルw(w1,w2)との結合xは、(v1,v2,v3,w1,w2)である。
次に、グラフ構築部270は、例えば、トークンの類似度として、二つのトークンの数値ベクトルの距離を算出する。ここで数値ベクトルの距離には、ユークリッド距離、又は、コサイン距離などがあり、タスク又はデータごとに適した距離は異なる。
グラフ構築部270は、算出された距離に従った重みを、各トークン間のエッジに定める。例えば、グラフ構築部270は、算出された距離が小さいトークン間のエッジに、大きい重みを定めてもよい。グラフ構築部270は、トークン間のエッジの重みを定めることによって、グラフgを生成する。本実施例において、ユーザによって指定された所定の値以上の重みが定められたエッジによって、ノード間が接続される場合、ノード間が接続されると記載する。
グラフ構築部270は、グラフgを含むデータ31を、機械学習部280に入力する。機械学習部280は、グラフgを含むデータ31を入力された場合、グラフgを用いて、教師データのラベルを、エッジで接続されたラベル無しデータへ伝搬させる。そして、機械学習部280は、ラベル伝搬の処理結果を最終出力32として出力する。
ここで、最終出力32の形式は、機械学習部280によるアルゴリズムによって異なる。例えば、公知のアルゴリズムであるCRFの場合、CRFのモデルパラメータである。また、ラベルプロパゲーションアルゴリズムの場合、ラベル無しデータに付けられたラベルが、最終出力32である。
以下簡単に、本実施例の機械学習部280による機械学習アルゴリズムを説明する。
グラフを用いる機械学習の代表例として、非特許文献1において提案されたラベル伝播法が挙げられる。非特許文献1に記載されたラベル伝搬法を用いたアルゴリズムにおいて、機械学習部280は、まず、N個の教師データと、M個のラベル無しデータとを、一次元の配列Dに整列させる。
また、それぞれの教師データ及びラベル無しデータには、K個のラベルのうちのいずれかが対応付けられる。機械学習部280は、教師データ及びラベル無しデータに対応付けられたラベルを、一次元の配列Eに整列させる。
次に、機械学習部280は、確率遷移行列Tを算出する。行列Tの(i,j)要素は、配列Dのi番目のデータと、配列Eのj番目のデータとの類似度である。次に、機械学習部280は、行列Yを算出する。行列Yの(i,j)要素は、配列Dのi番目のデータが配列Eのj番目のラベルをとる確率である。
行列Tと行列Yとを算出した後、機械学習部280は、次のステップA1〜ステップA3の三つのステップを、行列Yが収束するまで繰り返し計算する。
(ステップA1.)行列Tと行列Yとの積を算出し、新たなYと定める
(ステップA2.)新たな行列Yの行を正規化する
(ステップA3.)正規化された行列Yの要素のうち、教師データに対応する要素を、ラベル情報で上書きする
前述のラベル伝搬法のアルゴリズムは、機械学習の結果として、ラベル無しデータに付与されるラベルか、又は、ラベル無しデータに付与される可能性のあるラベルと付与される可能性を示す確率値とを出力する。
ラベル伝播法の手順には、非特許文献1に挙げられた手順以外にも、多くのバリエーションが存在する。
また、ラベル伝搬を行うために、グラフを、教師有り学習の補助的な情報として用いるアルゴリズムがある。例えば、非特許文献4のように、条件付き確率場(Conditional Random Field;CRF)の学習においてラベル無しデータを用いるため、グラフ構造を採用したアルゴリズムの例が挙げられる。
この場合、機械学習部280は、ラベル無しデータに、仮ラベルを付与し、CRFを再学習する。そして、機械学習部280は、直前に学習したCRFのスコアと、グラフ上でラベルを伝播させて決定されるスコアとに従って、仮ラベルを決定する。
このアルゴリズムの場合、機械学習部280は、学習結果として、通常のCRFと同じくCRFのモデルパラメータが得られる。このため、機械学習部280は、以後任意の文書が与えられたときに、通常のCRFと同様にビタビアルゴリズム等で高速に識別することが可能である。このように、非特許文献1のラベル伝播法とは異なった特徴を持つアルゴリズムであるが、仮ラベルの付与の際、ラベル情報を伝播させている点は同じであり、非特許文献1のラベル伝播法と同様に本発明を適用することができる。
なお、以下に示す本実施例における機械学習部280は、グラフgが入力されれば、ラベル伝播法のいずれのバリエーションによってもラベル伝搬をすることができる。
ユーザ(ドメインエキスパート)は、最終出力32を評価し、評価結果が悪い場合、ラベル生成部295を用いてラベルを追加する。また、評価結果が悪い場合、ドメインエキスパートは、素性タイプf’を新たに定め、素性タイプf’を素性タイプfとして、初期化部235に入力する。
ここで、図4に示す処理によれば、最適な素性タイプfを選択するためには、本実施例の情報抽出システムは、機械学習部280に繰り返しラベル伝搬処理をさせる必要がある。
さらに、グラフgには、文献データベース220に含まれるすべてのデータが含まれる。このため、文献データベース220に含まれるデータの量が多い場合、データの相互の距離を算出する処理によって、情報抽出用計算機200のリソースが逼迫するおそれがある。
このため、以下に示す実施例1の処理において、本実施例の情報抽出システムは、素性選択部240による素性タイプの最適化を、機械学習部280による処理の前に実行する。また、本実施例の情報抽出システムは、機械学習部280に入力するグラフに含まれるデータ(ラベル無しデータ)を、データ選択部255によって適切に選択する。
図5は、本実施例1の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。
図5は、図2に示す処理部に相当する機能ブロックが、実施例1の処理において入出力するデータの流れを示す。
まず、ラベル生成用計算機290のラベル生成部295は、図4に示すラベル生成部295と同じく、ユーザによって指定されたラベルをラベルデータベース225に格納する。
次に、情報抽出用計算機200の初期化部235は、文献データベース220、ラベルデータベース225、及び、素性タイプデータベース230に格納されるデータを用いて初期化処理を行う。具体的には、初期化部235は、初期化処理として、文献データベース220、及びラベルデータベース225から、教師データリストL601、及びラベル無しデータリストU602を生成する。また、初期化部235は、初期化処理として、素性タイプデータベース230から、すべての素性タイプを抽出し、抽出された素性タイプを含む素性タイプFを生成する。
なお、素性タイプF、ラベル無しデータリストU602、及び、教師データリストL601は、ユーザによって指定されてもよい。
図6Aは、本実施例1の教師データリストL601を示す説明図である。
教師データリストL601は、教師データを含む文献のリストである。初期化部235は、ラベルデータベース225からラベルID2251及び文献ID2252を抽出し、抽出されたデータを教師データリストL601に含める。
教師データリストL601は、ラベルID6011及び文献ID6012を有する。ラベルID6011は、ラベルID2251に相当し、文献ID6012は、文献ID2252に相当する。
図6Bは、本実施例1のラベル無しデータリストU602を示す説明図である。
ラベル無しデータリストU602は、教師データを含まない文献のリストである。初期化部235は、文献データベース220の文献ID2201の識別子から、ラベルデータベース225の文献ID2252を除いた識別子を抽出する。そして、初期化部235は、抽出された識別子をラベル無しデータリストU602に含める。
ラベル無しデータリストU602は、ID6021及び文献ID6022を含む。ID6021には、ラベル無しデータを含む文献の、ラベル無しデータリストU602における通し番号が格納される。文献ID6022は、ラベル無しデータを含む文献の識別子を含む。
初期化部235は、初期化処理の結果、素性タイプF及び教師データリストL601を、データ300として素性選択部240に入力する。
素性選択部240は、データ300を入力された場合、図4に示す素性選択部240と同じく、素性ベクトル生成部237及びグラフ構築部270を用いて、教師データに関するグラフg1を生成する。ここで、素性選択部240は、グラフg1を生成するために、素性タイプFから最適な素性タイプを選択する。そして、素性選択部240は、選択された素性タイプを、素性タイプf1として出力する。
素性選択部240は、生成されたグラフg1、教師データの素性ベクトル、及び、素性タイプf1を、データ310として、データ選択部255に入力する。また、初期化部235は、ラベル無しデータリストU602を、データ320としてデータ選択部255に入力する。
データ選択部255は、データ310及びデータ320を入力された場合、グラフg1と、教師データの素性ベクトルと、ラベル無しデータの素性ベクトルとに基づいて、ラベルが伝搬されるために適したラベル無しデータを選択する。そして、データ選択部255は、選択されたデータをラベル無しデータu2として出力する。また、データ選択部255は、グラフg1にラベル無しデータu2を加えたグラフg2を生成する。
グラフg2は、ラベル無しデータu2のデータをノードとしてグラフg1に追加したグラフである。グラフg2の初期値は、グラフg1である。
データ選択部255は、グラフg2、教師データの素性ベクトル、及び、ラベル無しデータu2の素性ベクトルを、データ330として、機械学習部280に入力する。
機械学習部280は、データ330を入力された場合、データ330に基づいて機械学習を行い、機械学習の結果である最終出力340を生成する。機械学習部280は、図4に示す機械学習部280と同じ方法によって、グラフg2を機械学習することによって、ラベル伝搬を行う。
図7は、本実施例1の素性選択部240による処理の流れを示すフローチャートである。
図7に示す処理は、図2において初期化部235からデータ300を入力された場合、素性選択部240が実行する処理を示す。
素性選択部240は、素性タイプFから、グラフの構築に用いる素性タイプを、少なくとも一つ選択する(400)。ステップ400において選択された素性タイプを素性タイプf1と記載する。ステップ400において選択される素性タイプの数は、ユーザの任意の値である。
ステップ400の後、素性選択部240は、素性タイプf1と教師データリストL601とを素性ベクトル生成部237に入力する。
素性ベクトル生成部237は、入力された素性タイプf1と教師データリストL601と文献データベース220とラベルデータベース225とに基づいて、素性ベクトル710を生成する(410)。ステップ410において、素性ベクトル生成部237は、図4に示す処理において素性ベクトルを生成した方法と同じ方法によって、素性ベクトルを生成する。
図8Aは、本実施例1の教師データの素性ベクトル710を示す説明図である。
素性ベクトル710は、教師データの素性ベクトルである。素性ベクトル710の各行は、一つの教師データについての素性ベクトルを示す。
素性ベクトル710の各行の先頭に、教師データに付与されたラベルの値が含まれる。各行には、対象のデータに関する各素性を示す要素が含まれ、タブ等の区切り文字で各要素は区切られる。
例えば、“1:0.5”のように表現される要素は、“:”より左の数値が素性の次元“1”を示し、“:”より右が素性の値“0.5”を示す。
素性の次元とは、文献に記載された内容の文法に従って単語に割り当てられた数値であり、例えば、助詞、又は、形容詞等を数値によって表現した値である。素性の値とは、文献における素性自体の値である。例えば、素性の次元が形容詞を示す場合、素性の値は“高速な”等である。
さらに、図8Aにおいて、要素“1:0.5”と要素“2:0.8”と要素“5:−0.1”とを含む行は、(0.5,0.8,0,0,−0.1)という素性ベクトルを示す。
図8Bは、本実施例1のラベル無しデータの素性ベクトル700を示す説明図である。
ラベル無しデータリストU602も、データ選択部255による後述の処理において、素性ベクトル700に変換される。
素性ベクトル700は、ラベル無しデータの素性ベクトルである。素性ベクトル700の各行は、一つのラベル無しデータについての素性ベクトルを示す。
素性ベクトル700は、素性ベクトル710と同じく数値ベクトルを含む。しかし、素性ベクトル700の各行に、ラベルが付与されない点において、素性ベクトル700と素性ベクトル710とは相違する。
ステップ410において、素性ベクトル生成部237は、教師データリストL601の1行が、素性ベクトル710の1行に対応するように、素性の次元及び素性の値の組を、素性ベクトル710に格納する。そして、素性ベクトル生成部237は、教師データリストL601のラベルID6011に対応するラベルID2251を有するラベルデータベース225の行を特定し、特定された行のラベル2253から、ラベルの値を抽出する。そして、素性ベクトル生成部237は、抽出されたラベルの値を、素性ベクトル710の各行の先頭に格納する。
以上によって、素性ベクトル生成部237は、素性タイプf1と教師データリストL601とに基づいて、素性ベクトル710を生成する。
ステップ410の後、グラフ構築部270は、ステップ410において生成された素性ベクトル710を、グラフg1に変換する(420)。具体的には、素性ベクトル710の各行はノードに対応するため、グラフ構築部270は、素性ベクトルを用いて、各行の距離を算出し、算出された距離に従った重みをノード間のエッジに定める。これによって、グラフ構築部270は、教師データの素性ベクトル710を、グラフg1に変換する。
ステップ420の後、素性評価部245は、素性評価関数によってグラフg1の評価値(Scoremerge)を算出する(430)。ここで、素性評価関数は、一つのグラフに対して、二つ以上の評価値を返してもよい。
素性評価部245は、例えば式1を用いて、素性評価関数のうちの一つの評価値であるクロスラベルエラー(Errdiff)を算出する。クロスラベルエラーは、グラフ内に異なるラベルがどの程度含まれるかを示す評価値である。
Figure 0005881048
式1における記号Gは、グラフを示す記号である。記号Eは、グラフに含まれるすべてのエッジを示す。記号Wは、ノード間のエッジに定められる重みである。記号lは、ラベルの値である。ノードi及びjは、ノードを示す。関数1[l(i)≠l(j)]は、ノードiとノードjとのラベルの値が異なる場合、1を返す関数である。このため、式1に示すクロスラベルエラーは、ラベルの値が異なるノード間の重みの総和(分子)を、ノード間の重みの総和(分母)で割った値である。
さらに、素性評価部245は、例えば式2を用いて、異ラベル接続スコア(Scorediff)を算出する。異ラベル接続スコアは、クロスラベルエラーにマイナス1を乗じることによって算出される。
Figure 0005881048
クロスラベルエラーは、非特許文献2においても用いられており、グラフにおいて、異なるラベルを持つノードがエッジで結ばれる割合を評価するための値である。異なるラベルを持つノード同士が、大きい重みのエッジで結ばれるグラフは、正確にラベルを伝播させることができない。このため、クロスラベルエラーを評価の指標として、グラフを評価することによって、素性評価部245は、異なるラベル間をつなぐエッジにペナルティを科すことができる。
さらに、素性評価部245は、例えば式3を用いて、同ラベル接続スコア(Scoresame)を算出する。同ラベル接続スコアは、グラフにおいて同じラベルがどの程度含まれるかを示す評価値である。すなわち、グラフにおいて、同じラベルをもつノード同士が接続される割合を評価するための評価値である。
Figure 0005881048
関数1[l(i)=l(j)]は、ノードiとノードjとのラベルの値が同じ場合、1を返す関数である。このため、式3に示す同ラベル接続スコアは、ラベルの値が同じノード間の重みの総和(分子)を、ノード間の重みの総和(分母)で割った値である。
実施例1の素性評価部245は、同ラベル接続スコア及び異ラベル接続スコアを用いて、グラフg1の評価値を算出する。そして、素性評価部245は、各グラフg1の評価値(異ラベル接続スコア、及び、同ラベル接続スコア)を記憶する。
図9Aは、本実施例1の異ラベル接続スコアのみによって算出されるグラフの評価値を示す説明図である。
図9Aに示すグラフの評価値は、異ラベル接続スコアのみによって算出された評価値である。図9Aに示す黒丸は、グラフの評価値を示す。図9Aは、評価値90及び評価値91を示す。
評価値90は、図9Aに示すグラフ900のようにノードがエッジで接続される場合に、グラフ900に算出される評価値である。また、評価値91は、グラフ910又はグラフ911のようにノードがエッジで接続される場合に、グラフ910又はグラフ911に算出される評価値である。また、図9Aの横軸は異ラベル接続スコアである。図9Aに示す各グラフは、異なる素性タイプf1によって生成されたグラフである。
グラフ900、グラフ910、及び、グラフ911に示す四角形と丸とは、ラベルを付与されたノード、すなわち、教師データを示す。同じ図形で示されたノードは、同じラベルが付与されるノードである。
グラフ900は、異なるラベルを持つノードのみがエッジで接続された場合のグラフである。グラフ910は、同じラベルを持つノードのみがエッジで接続された場合のグラフである。グラフ911は、いずれのノードもエッジで接続されない場合のグラフである。
ここで、グラフ910とグラフ911とは、どちらも異ラベル接続スコアが“0”(異ラベル接続スコアの最大値)であり、同じ異ラベル接続スコアが算出される。しかし、グラフ911は、いずれのノードもエッジで接続されていないため、ラベルを伝搬するのに適切なグラフとは言えない。
具体的には、グラフ911にラベル無しデータを追加した場合、過度に疎なグラフになり、ラベルの伝播が阻害されてしまう可能性が高いため、本実施例の情報抽出システムは、適切にラベル無しデータにラベルを伝搬させることができない可能性があるためである。
このため、異ラベル接続スコアのみによってグラフ911を選択する方法は適切ではなく、また、異ラベル接続スコアのみによってグラフを評価する方法は、適切ではない。
図9Bは、本実施例1の同ラベル接続スコア及び異ラベル接続スコアによって算出されるグラフの評価値を示す説明図である。
図9Bは、同ラベル接続スコア及び異ラベル接続スコアによってグラフの評価値を算出した場合の、グラフの評価値を示す。図9Bの横軸は、異ラベル接続スコアを示し、図9Bの縦軸は、同ラベル接続スコアを示す。図9Bは、評価値92、評価値93、評価値94、及び、評価値95を示す。
評価値92は、グラフ920に算出される評価値であり、評価値93は、グラフ930に算出される評価値であり、評価値94は、グラフ940によって算出される評価値であり、評価値95は、グラフ950によって算出される評価値である。図9Bに示す各グラフは、異なる素性タイプf1によって生成されたグラフである。
図9Bの右側に評価値が示されるほど、異ラベル接続スコアが大きく、図9Bの上に評価値が示されるほど、同ラベル接続スコアが大きい。ある評価値の左下の領域に示される評価値は、異ラベル接続スコア、同ラベル接続スコア、又は、その両方において、右上にある評価値よりも劣っていることを意味する。
例えば、評価値94は、評価値93の左下に示されるため、異ラベル接続スコアも、同ラベル接続スコアも、評価値93より劣る。一方、右上に示されるほど評価値は高く、ラベルを伝搬させるためには有用なグラフであるといえる。
このように、二つ以上の目的(図9Bにおいて、同ラベル接続スコア及び異ラベル接続スコア)がある場合、自らの評価値よりも右上に評価値が示されるグラフが少ない順に、各グラフをランキングすることによって、各グラフを評価することができる。
ステップ430の後、素性選択収束判定部250は、素性評価部245によって算出された評価値と、過去に実行されたステップ430において算出された評価値とを比較することによって、素性評価部245によって算出される評価値が収束したか否かを判定する(440)。
ここで、素性選択収束判定部250は、素性評価部245によって算出された評価値が、過去に算出された評価値よりも低いか、又は、同程度であると判定した場合、評価値が収束したと判定してもよい。また、素性選択収束判定部250は、算出された評価値が、過去に算出された評価値よりも低いか、又は、同程度であると判定した後も、ステップ450、ステップ410、ステップ420、及び、ステップ430が、ユーザによってあらかじめ指定された所定の回数繰り返し行われた結果、算出された評価値が大きく変化しなくなっていると判定した場合、評価値が収束したと判定してもよい。
素性選択収束判定部250が、評価値が収束したと判定した場合、素性選択収束判定部250は、ステップ430において算出された評価値が最も高いグラフg1と、グラフg1を生成するための素性タイプf1と、教師データの素性ベクトル710とを出力する。そして、素性選択部240は、図7に示す処理を終了する。
素性選択収束判定部250によって評価値が収束していないと判定された場合、多目的最適化部275は、ステップ430において算出された評価値と、素性タイプf1とに基づいて、新たな素性タイプf1を選択する(450)。
以下に、多目的最適化部275による、新たな素性タイプf1の選択方法の具体例を示す。
図9Bに示す評価値に従ってグラフをランキングする方法に基づいて、進化論的計算手法を二つ以上の目的(前述の例において、異ラベル接続スコア及び同ラベル接続スコア)の最適化に応用した例として、NSGA−IIなどの進化論的多目的最適化が知られる。ステップ450において、多目的最適化部275は、このような進化論的多目的最適化を用いることができる。
NSGA−IIにおいて、前述したランキング方法を用いて解候補(素性タイプf1によって生成されたグラフ)を整列する方法は、Non−Dominated Sortと呼ばれる。本実施例1の進化論的多目的最適化として、NSGA−IIを以下に説明する。
多目的最適化部275は、ステップ400が実行されてから初めてステップ450が実行される場合、解候補集団P及び子解候補集団Qを初期化する。具体的には、多目的最適化部275は、素性タイプf1によって解候補集団Pを初期化する。さらに、多目的最適化部275は、子解候補集団Qを空のリストで初期化する。
その後、多目的最適化部275は、次のステップB1〜ステップB5を、ステップ450が実行される毎に繰り返すことによって、子解候補集団Q、すなわち、最適な評価値であるグラフと、そのグラフを生成するための素性タイプを求める。なお、求まる解候補の総数をSとする。
(ステップB1.)多目的最適化部275は、解候補集団Pと子解候補集団QとをあわせたリストRを生成し、Non−Dominated SortによりリストRを整列する。そして、多目的最適化部275は、Non−Dominated Sortによるランクごとにグループ化する。なお、Non−Dominated Sortによるランクは、ステップ430において算出された評価値に基づいて定められる。
(ステップB2.)多目的最適化部275は、各グループ内の解候補同士の近さ(Crowding Distance)を算出する。
(ステップB3.)多目的最適化部275は、新たな解候補集団Pを生成し、新たな解候補集団Pを空のリストとして初期化する。そして、多目的最適化部275は、新たな解候補集団Pの要素数がSより小さいうちは、解候補をグループ単位でリストRから新たな解候補集団Pに移動することを繰り返す。
(ステップB4.)多目的最適化部275は、新たな解候補集団Pの要素数がSと等しくなるまで、リストRのランクの高いグループ、かつ、Crowding Distanceの大きいものから順に、新たな解候補集団Pに移動する。
(ステップB5.)多目的最適化部275は、新たな解候補集団Pを元に、選択、交叉、又は、突然変異などの遺伝子操作を行い、子解候補集団Qを生成する。その後、多目的最適化部275は、ステップ1に戻る。
ステップB1〜ステップB5は、終了条件が満たされるまで繰り返される。多目的最適化部275は、ステップB4において生成された解候補集団Pと、ステップB5において生成された子解候補集団Qとを保持し、ステップB1に処理が戻る場合、保持された解候補集団Pと子解候補集団Qとを用いる。
そして、ステップB1〜ステップB5の終了条件が満たされる場合、多目的最適化部275は、ステップB5によって生成された子解候補集団Qを次の素性タイプf1として、素性ベクトル生成部237に入力し、ステップ450を終了する。
ステップ450におけるステップB1〜ステップB5の終了条件とは、ステップ450がユーザによって指定された所定の回数繰り返された場合、又は、解が改善されなくなった場合である。解が改善されない場合には、例えば、Non−Dominated Sortによるランクにおいて最上位のグループに含まれる解候補の数が、ステップ450が繰り返されても変化しなくなった場合がある。
また、解が改善されない場合には、例えば、Non−Dominated Sortによるランクにおいて最上位のグループに含まれる解候補の評価値と、各評価軸(図9Bに示す横軸及び縦軸)を含む面とを含む領域の体積(ハイパーボリューム)が、ステップ450が繰り返されても増加しなくなった場合がある。
ここで、二つ以上の目的がある場合の最適解は、必ずしも一点で求められるわけではなく、ある点の右上に他の点が無い点の集合(パレート最適解)が複数求められてもよい。具体的には、ステップB5において、最適な素性タイプf1が複数求められてもよい。この場合、多目的最適化部275は、ステップ450の結果として、複数の素性タイプf1を出力してもよい。そして、ステップ410における素性ベクトル生成部237は、複数の素性タイプf1によって複数の素性ベクトルを生成してもよい。
パレート最適解の利点は、最適化終了時に、異ラベル接続スコアを重視した場合から、同ラベル接続スコアを重視した場合まで、さまざまな解候補が得られることである。そのため、もし一つの解候補で、機械学習の性能が上がらない場合も、逐次パレート最適解を試すことによって、選りすぐられた学習結果を得ることが可能である。
なお、異ラベル接続スコアと、同ラベル接続スコアとは、裏返しの関係にあるため、どちらかのスコアを、異ラベル接続スコアと同ラベル接続スコアとは別の指標で置き換えても、同様の機能を実現することができる。例えば、同ラベル接続スコアに代わって、総エッジ数をグラフの評価値を算出するためのスコアに用いてもよい。この場合、総エッジ数スコアが、エッジ数を増やす効果があるのに対し、異ラベル接続スコアが、ラベルの異なるエッジにペナルティを加えるため、結果として同一ラベル間のエッジを増やし、ラベルの異なるエッジを抑えるような評価値の算出方法が用いられる。
このように、異ラベル接続スコアと同ラベル接続スコアとの二つの目的を用いる方法は、一例であり、その他の同様の効果を持つ指標を任意の数だけ用いることが可能である。
図7に示す処理によって、素性選択部240は、素性タイプの異なるグラフを複数生成し、生成された各グラフについて評価値を算出することができる。そして、評価値に基づいて、ラベル無しデータにラベルを伝搬させるために最適なグラフを生成するための素性タイプf1と、素性タイプf1によって生成されるグラフg1とを選択することができる。この結果、素性選択部240の処理によって、グラフg1が最適化される。
図10は、本実施例1のデータ選択部255の処理を示すフローチャートである。
データ選択部255に、グラフg1、素性タイプf1、教師データの素性ベクトル710、及び、ラベル無しデータリストU602が入力された場合、データ選択部255は、素性ベクトル生成部237に、ラベル無しデータリストU602と素性タイプf1とを入力する。そして、素性ベクトル生成部237は、ラベル無しデータリストU602を、素性タイプf1によって、図8Bに示すラベル無しデータの素性ベクトル700に変換する(1090)。
ここで、素性ベクトル生成部237は、ラベル無しデータリストU602の文献ID6022が示す文献に含まれるすべてのデータについて、素性タイプf1に従って、素性ベクトル700を生成する。このため、素性ベクトル700の各行は、各文献に含まれるすべてのノードに対応する。
ステップ1090の後、データ評価部260は、ラベル無しデータの素性ベクトル700と、教師データの素性ベクトル710とに基づいて、ラベル無しデータのノードと、グラフg1に含まれるノードとの距離を算出する。そして、各ラベル無しデータのノードとグラフg2に含まれるノードとの距離の最小値をメモリ120に蓄積する(1100)。
具体的には、例えば、ラベル無しデータのノードAと、グラフg1に含まれるノード(ノードB〜ノードD)との距離を算出し、ノードAとノードDとの距離が、ノードAと他のどのノードとの距離よりも短い場合、データ評価部260は、ノードAとグラフg1との距離として、ノードAとノードDとの距離のみをメモリ120に蓄積する。そして、データ評価部260は、この距離の算出処理によって、すべてのラベル無しデータのノードとグラフg1との距離を算出する。
ステップ1100の後、データ評価部260は、蓄積された複数の距離の中から、グラフg1(ステップ1130実行後において、グラフg2)との距離が最も長いデータd’を選択する。そして、データ評価部260は、選択されたデータd’を、ノードとしてグラフg1(ステップ1130実行後において、グラフg2)に追加する。グラフg1にデータd’が追加された後のグラフg1を、グラフg2と記載する。
さらに、データ評価部260は、ラベル無しデータの素性ベクトル700から、データd’に対応する行を削除する。また、データ評価部260は、グラフg2に追加されたデータd’と、データd’の素性ベクトルとを、ラベル無しデータu2に追加する(1110)。
ステップ1110の後、データ選択収束判定部265は、ステップ1110においてグラフg2に追加されたデータd’の数、又は、データd’の距離等に従って、データd’の追加処理が収束したか否かを判定する(1120)。
具体的には、データ選択収束判定部265は、追加されるデータd’の数、又は、追加されるデータd’のグラフg2との距離の最小値をあらかじめユーザによって指定されてもよい。そして、ステップ1120において、データ選択収束判定部265は、指定された数のデータd’がグラフg2に追加された場合、データd’の追加処理が収束したと判定してもよい。また、データ選択収束判定部265は、指定されたデータd’の距離の最小値よりも、ステップ1110において選択されたデータd’の距離が短い場合、データd’の追加処理が収束したと判定してもよい。
データd’の追加処理が収束したと判定された場合、データ選択部255は、図10に示す処理を終了し、グラフg2、教師データの素性ベクトル710、及び、ラベル無しデータu2の素性ベクトル700を出力する。
データd’の追加処理が収束していないと判定された場合、データ評価部260は、ラベル無しデータの素性ベクトル700と、教師データの素性ベクトル710とに基づいて、ラベル無しデータの素性ベクトル700に含まれるラベル無しデータと、ステップ1110においてグラフg2に追加されたデータd’との距離を算出する。そして、データ評価部260は、算出された距離によって、ラベル無しデータとグラフg2とに属するデータとの距離の最小値を更新する(1130)。ステップ1130の後、データ評価部260は、ステップ1110に戻り、データd’を選択する。
前述のステップ1110からステップ1130によって抽出されるデータd’について、以下に説明する。
図11Aは、本実施例1のグラフg2とラベル無しデータとを示す説明図である。
図11Aに示すデータ10〜データ14は、ラベル無しデータを示す。また、データ20〜データ22は、教師データ、及び、グラフg2に追加後のラベル無しデータを示す。
データ10〜データ12は、素性ベクトルにおいて、相互に近い位置に存在し、グラフg2からの距離がほぼ等しい。データ10と、データ13と、データ14とは、素性ベクトルにおいて、相互に離れた位置に存在する。
図11Bは、本実施例1のグラフg2からの距離が最も長いラベル無しデータを選択した場合のグラフを示す説明図である。
ここで、ステップ1120における収束判定に用いられる、追加されるデータd’の数として、データ選択収束判定部265に、“三つ”があらかじめ指定されているものとする。
図10に示す処理が開始された場合、データ評価部260は、ステップ1100において、例えばデータ14とデータ22との距離を、ラベル無しデータであるデータ14とグラフg2との最小値として蓄積する。また、データ評価部260は、例えばデータ11とデータ20との距離を、データ11とグラフg2との最小値として蓄積する。
さらに、ステップ1110において、データ評価部260は、蓄積された複数の距離の中から、グラフg1(グラフg2)との距離が最も長いデータd’を選択する。このため、データ評価部260は、ステップ1110が繰り返し実行されることにより、データ10、データ13、及び、データ14をグラフg2に追加するデータd’として選択する。
ここで、ラベル無しデータにラベルを伝搬させるための新たなグラフを生成するためには、図11Bのように、選択されるラベル無しデータが、素性ベクトルにおいて、分散されていることが望ましい。しかし、単に、距離の最大値に基づいてラベル無しデータを選択した場合、データ評価部260が、密集したラベル無しデータの中からデータd’を選択し、分散されたラベル無しデータからデータd’選択できない場合がある。
図11Cは、本実施例1のグラフ1からの距離が最も長いラベル無しデータを選択した場合のグラフを示す説明図である。
仮に、データ13とグラフg2との距離及びデータ14とグラフg2との距離よりも、データ11とグラフg2との距離及びデータ12とグラフg2との距離が大きく、データ評価部260が、グラフg1からの距離が最も大きいラベル無しデータを選択した場合、ステップ1110において選択されるデータd’は、図11Cの黒三角が示すように、データ10〜データ12である。
しかし、実施例1のデータ評価部260は、ステップ1130において、蓄積された距離を更新する。例えば、ステップ1110においてデータ10が抽出された場合、ステップ1130において、データ11とグラフg2との距離は、データ11とデータ10との距離によって更新される。このため、次のステップ1110において、データ11がデータd’として選択されることはない。
すなわち、実施例1のデータ評価部260は、ステップ1130を行うことによって、次のステップ1110において、分散されたラベル無しデータを選択することができる。そして、本発明のデータ選択部255は、ノードの密度の小さな部分からラベル無しデータを選択することによって、データの偏りが少ないグラフを生成することができる。
そして、図10に示すデータ選択部255の処理によって、最適なラベル無しデータを含むグラフg2を、機械学習部280に入力することができる。
なお、実施例1では、ラベル無しデータを選択する観点としてデータの密度を用いたが、データ選択部255は、この選択方法に新しい指標を加え、素性選択部240における素性選択と同様に、多目的最適化問題としてデータを選択してもよい。
ここで、素性選択部240における処理に必要な時間計算量をデータ数の観点から見積もる。教師データ数をN、ラベル無しデータ数をMとする。1回の異ラベル接続スコアの評価、すなわち、式1及び式2に必要な時間計算量は、O(N*N)である。また、同ラベル接続スコアの評価、すなわち、式3に必要な時間計算量はO(N*N)である。
本実施例1の素性選択部240を用いることなく、機械学習に単純なラベル伝播法を用いた場合、すなわち、図4に示す処理を実行した場合、機械学習部280が、最適な素性を選択するために機械学習を繰り返す時間計算量は、O((N+M)*(N+M)*t)である。tはラベル伝播法の繰り返し回数を示す。
本発明では、教師データが得にくく、ラベル無しデータが豊富にあるという前提が想定されるため、データ数Nはデータ数Mと比較して大幅に小さい。一方、素性選択部240における処理の時間計算量は、前述の時間計算量O(N*N)のように、データ数Mに依存しない時間計算量である。このため、データ数Mに依存する機械学習部280における処理と比較して、本実施例の素性選択部240は、素性を選択するための時間を大幅に短縮できる。
さらに、データ選択部255における処理に必要な時間計算量を見積もる。グラフg2に追加されるラベル無しデータu2の要素の個数(抽出されるデータd’の数)をM_uとする。ステップ1100における距離計算に必要な時間計算量はO(N*M)である。
また、1度目のステップ1130の時間計算量はO(M−1)であり、2度目のステップ1130の時間計算量はO(M−2)である。そして、ステップ1130は、M_u−1回まで繰り返されるため、すべてのステップ1130を実行するための時間計算量は、O((M−1)+(M−2)+…+(M−(M_u−1)))=O(M(M_u−1)−M_u*M_u+M_u)である。
本実施例1のデータ選択部255を用いることなく、機械学習に単純なラベル伝播法を用いた場合、すなわち、図4に示す処理を実行した場合、データ選択を行わないラベル伝播法はO((N+M)*(N+M)*t)である。一方、データ選択部255によるデータ選択とデータ選択後のラベル伝播法との計算時間は合わせてO(M(M_u−1)−M_u*M_u+M_u(N+M_u)*(N+M_u)*t)である。
データ数Mは、データ数N及びデータ数M_uに比べて大きいため、データ数Mに注目すると、データ選択部255によるデータ選択が行われない場合、時間計算量は、O(tM^2+tNM)であり、M^2(Mの2乗)に比例している。一方、本実施例1のデータ選択部255によるデータ選択が行われた場合、時間計算量は、O((M_u−1)M)とMとに比例する時間である。これは、本実施例1のデータ選択部255によって処理を行ったほうが、ラベル無しデータの数Mが多ければ多いほど、計算時間を大きく短縮できることを示す。
実施例1によれば、以下の効果を奏することができる。
一つ目の効果は、実施例1の情報抽出用計算機200が、素性タイプの最適化、及び、ラベル無しデータの最適化を行うことによって、グラフ構造が最適化されるため、ドメインエキスパートによる選択が必要な教師データの数を削減し、人的コストを抑制することができる。
二つ目の効果は、実施例1の素性選択部240が素性タイプの最適化を行うために客観的な素性評価関数を用いるため、グラフの評価にドメインエキスパート、又は機械学習の専門家の評価を必要としない。これによって、人的コストを抑制できる。さらに、機械学習の自動化によって、機械学習の速度を向上させ、設備コストを低減させることができる。
三つ目の効果は、実施例1の素性評価関数は、同じラベルのノードは接続しやすく、異なるラベルのノードは接続しにくい評価関数であるため、学習の精度を向上させることができる。
四つ目の効果は、実施例1の素性評価関数は、機械学習部280における機械学習の実行前に計算されるため、グラフ最適化に機械学習の結果が必要なく、少ない計算時間で、ラベルを伝搬するために適したグラフ構造を得ることができる。
五つ目の効果は、実施例1のデータ選択部255は、大量にあるラベル無しデータのうち、機械学習に良い影響を与えるデータを、機械学習を実行することなく選択するため、機械学習の速度を向上させ、設備コストを低減させることができる。
実施例2における情報抽出システムは、図2に示す実施例1の情報抽出システムと同様な構成である。しかし、実施例2における情報抽出システムは、データ選択部255においてデータ評価部260及びデータ選択収束判定部265を有する必要がない点において、実施例1の情報抽出システムと異なる。
実施例1では、素性の最適化とともに、ラベルを伝搬する対象のラベル無しデータを最適化した。これは、ラベル無しデータが非常に多い場合、必要な計算機の資源、及び、必要な学習時間が増加するため、ラベル無しデータの数を制限する必要があるためである。しかし、仮に、ラベル無しデータ数が少ない場合、又は、計算機の資源が豊富にある場合、全てのラベル無しデータを用いて機械学習を行っても、計算機の資源の逼迫、及び、学習時間の過度な増加等の問題は発生しない。
この場合、実施例2の情報抽出システムは、データ選択部255におけるラベル無しデータの選択処理(図10)を省略する。
例えば、ユーザが、すべてのラベル無しデータに教師データのラベルを伝搬させたい場合、ユーザは、グラフg2がすべてのラベル無しデータを含むように、入力装置140を介して情報抽出用計算機200に指示する。そして、この場合、データ選択部255は、図10に示す処理の代わりに、すべてのラベル無しデータをグラフg1に追加することによって、グラフg2を生成する。
そして、データ選択部255は、生成されたグラフg2、すべてのラベル無しデータの素性ベクトル、及び、教師データの素性ベクトルを、データ330として出力する。これにより、図5におけるデータ選択部255の処理時間が短縮され、図5に示す処理全体が高速化される。
また、例えば、ユーザが、一部のラベル無しデータのみに教師データのラベルを伝搬させたい場合、ユーザは、グラフg2に含まれるべきラベル無しデータを、入力装置140を介して情報抽出用計算機200に指示する。そして、この場合、データ選択部255は、図10に示す処理の代わりに、ユーザに指示されたラベル無しデータのみを、グラフg1に追加することによって、グラフg2を生成する。
実施例3における情報抽出システムは、実施例1の情報抽出システムと同様な構成である。しかし、実施例3における情報抽出システムは、素性評価部245、及び、素性選択収束判定部250を有する必要がない点において、実施例1の情報抽出システムと異なる。
実施例1では、ラベルの伝搬先であるラベル無しデータの最適化とともに、素性(すなわち、素性タイプ)の最適化を行った。これは、いずれの素性をラベル伝搬に用いるべきか選択することは、一般的に困難であり、ドメインエキスパートによる作業が必要であったためである。
しかし、データの種類、及び、学習対象の文献によっては、素性タイプが一意に定まる場合がある。その場合には、素性選択部240による図7に示す処理を省略し、図5に示す処理全体を高速化することができる。
例えば、ユーザが、入力装置140を介して情報抽出用計算機200に、一意に定められた素性タイプを指示する場合、素性選択部240は、図7に示す処理を省略する。
図7に示す処理が省略される場合、素性選択部240は、図7に示す処理の代わりに、素性ベクトル生成部237に、教師データリストL601と一意に定められた素性タイプを入力し、素性ベクトル生成部237に教師データの素性ベクトル710を生成させる。さらに、素性選択部240は、グラフ構築部270に、生成された素性ベクトル710に基づいてグラフg1を生成させる。そして、素性選択部240は、生成されたグラフg1と、一意に定められた素性タイプと、教師データの素性ベクトル710とを、データ310として出力する。
素性タイプが一意に定まる場合には、例えば、電子文書に対する品詞分類に機械学習を適用する場合などが考えられる。この場合、素性の選択範囲は、隣接するトークンの数を変更するなどの自由度しかない。隣接するトークンの数は、計算時間と精度とのトレードオフによって定まるため、用いる計算機の性能と求める精度との外部要因によって、素性は一意に定まる。
品詞分類は、電子文書一般に関するタスクであるため、ラベル無しデータとして用いることができるデータの数は膨大であり、現実的な時間で学習できるよう、データを絞り込むことが必要である。実施例3では、このような場合を想定しており、データを効率的に選択することが可能になる。
実施例4における情報抽出システムの構成は、実施例1の情報抽出システムと同様である。しかし、実施例4における情報抽出システムは、多目的最適化部275が、後述する単一目的最適化部に代わる点について、実施例1の情報抽出システムと異なる。
実施例1では、多目的最適化部275によって素性タイプを選択したが、実施例4における素性選択部240は、単一目的最適化部によって素性タイプを最適化する。素性選択部240における素性評価関数として、式4を用いる。
実施例4の単一目的最適化部は、ステップ450において、式1〜式3を用いて算出された異ラベル接続スコア及び同ラベル接続スコアと、式4とを用いて、グラフの評価値(Scoremerge)を算出する。
Figure 0005881048
式4は、異ラベル接続スコアと同ラベル接続スコアとの線形和である。重みλは、異ラベル接続スコアと同ラベル接続スコアとのそれぞれのスコアの重みを意味し、ユーザによって任意に定められる0から1までの実数である。式4によって算出されるグラフの評価値は、グラフ内にラベルが異なるノードが多くラベルが同じノードが少ない程、低い値になり、グラフ内にラベルが異なるノードが少なくラベルが同じノードが多い程、高い値になる。
実施例4において、実施例1の多目的最適化部275は、単一目的最適化部に置き換えられる。実施例4の単一目的最適化部は、ステップ450において、過去に選択された素性タイプf1と、過去に算出された評価値(Scoremerge)とから、新しい素性タイプf1を生成する。実施例4の単一目的最適化部は、遺伝的アルゴリズム又は焼きなまし法などの公知の方法を用いる。例えば、単一目的最適化部に、単純な遺伝的アルゴリズムを用いた場合、グラフの評価値の高い素性タイプを二つ選び出し、その二つの素性リストの要素を相互に入れ替えることによって、新しい素性タイプf1を選択する。
実施例4における単一目的最適化部は、パレート最適解が一点に定まる場合に適する。さらに、単一目的最適化部は、必ずしも複数の解候補を保持する必要がないため、計算機のメモリ資源を低減することができる。
実施例5における情報抽出システムは、実施例1の情報抽出システムと同様である。
実施例1では、素性評価関数(式1〜式3)は、機械学習の結果を用いることなく定められていた。しかし、データ(文献)の種類によっては、機械学習の結果から求められる評価値と、素性評価関数の乖離が生じる可能性がある。そこで、図12に示すように、実施例5における情報抽出システムは、機械学習の結果をフィードバックし、素性評価関数を改善する。
図12は、本実施例5の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。
図12は、図2に示す処理部に相当する機能ブロックが、実施例5の処理において入出力するデータの流れを示す。
ラベル生成部295における処理、文献データベース220、ラベルデータベース225、及び、素性タイプデータベース230は、実施例1と同じである。
実施例5の初期化部235は、テストデータ1310として、教師データに含まれる任意の一部を分離させる。具体的には、初期化部235は、教師データに含まれる任意の一部をテストデータ1310として複製し、複製されたテストデータ1310と同じデータを教師データから削除する。なお、ユーザは、教師データから分離されるテストデータ1310の数等をあらかじめ指定する。
初期化部235において分離されたテストデータ1310は、グラフ構築、及び、機械学習における教師データとしては使われず、機械学習部280による機械学習の評価のみに用いられる。実施例5の初期化部235は、テストデータ1310を機械学習部280に入力する。
実施例5のデータ選択部255は、機械学習部280に入力するデータ330に、素性タイプf1を追加する。
実施例5の機械学習部280における機械学習について具体的に説明する。
データ330及びテストデータ1310を入力された場合、機械学習部280は、素性ベクトル生成部237にテストデータ1310と素性タイプf1とを入力する。機械学習部280は、入力されたテストデータ1310を素性タイプf1によって、テストデータの素性ベクトルに変換する。テストデータの素性ベクトルは、図8Bに示すラベル無しデータの素性ベクトルと同じく、ラベルが付加されない。
その後、入力されたデータ330に単純なラベル伝播を行う場合、実施例5の機械学習部280は、テストデータの素性ベクトルを、データ330に含まれるラベル無しデータの素性ベクトル700に加える。そして、機械学習部280は、データ330を用いてラベル伝播を実行する。
さらに、実施例5の機械学習部280は、ラベル伝搬によって推定されたテストデータのラベルと、テストデータの真のラベルとを比較することによって、再現率及び適合率などのうち、少なくとも一つの値を評価値として算出する。
一方、初期化部235の処理の後、素性選択部240が最初に実行された際、素性選択部240は、実施例1と同じく、式1〜式3の素性評価関数に基づいて、素性タイプを選択する。その後、データ選択部255の処理後に得られるパレート最適解のグラフと、テストデータとを含むデータ330に、機械学習部280は機械学習を行う。
機械学習部280における機械学習の1度目の評価結果が、ユーザが期待する程度の評価に達せず、機械学習部280に要求される精度を満たさないことを示す場合、素性選択部240は、2度目の素性選択を実行する。
図13は、本実施例5の機械学習の評価が低い場合の素性選択部240の処理を示すフローチャートである。
素性選択部240は、前回までのグラフの素性評価関数の値と、機械学習部280による機械学習の評価値とに基づいて評価関数の近似を行う(1400)。具体的には、素性選択部240は、素性評価関数の値をx1,x2,x3,…とし、対応する機械学習部280による機械学習の評価値をy1,y2,y3,…として回帰分析することによって、素性評価関数の値xを入力すると機械学習部280による機械学習の評価値の推定値yを返す近似関数rを求める。
ここで、回帰分析には、線形回帰のほか、Support Vector Regression(SVR)などを用いることができる。
ステップ1400の後に実行される、ステップ400、ステップ410、及び、ステップ420は、実施例1のステップ400、ステップ410、及び、ステップ420と同じである。
ステップ420の後、素性評価部245は、グラフg1の素性評価関数による評価値を、近似関数rに入力する。そして、素性評価部245は、近似関数rによって算出された結果を評価値に決定する(1410)。ステップ1410の後に実行されるステップ440、及びステップ450は、実施例1のステップ440、及びステップ450と同じである。
こうして新たな素性タイプによって最適化されたグラフを機械学習によって評価し、ユーザが期待する精度を満たすまで、図13に示す素性選択部240における処理と、データ選択部255による処理と、機械学習部280による機械学習の評価とが繰り返される。なお、素性選択部240は、ユーザが設定する精度を示す評価値が得られた場合のほか、素性選択部240、データ選択部255、及び、機械学習部280の処理を繰り返す回数があらかじめ指定された上限値を超えた場合、機械学習の精度の改善の割合が前回の処理実行時よりも低い場合、機械学習の精度が前回の処理実行時よりも悪化した場合、などにおいて、素性選択部240、データ選択部255、及び、機械学習部280の処理を停止してもよい。
実施例5は、実施例1とは異なり、複数回の機械学習を必要とする。しかしながら、機械学習の実行対象を近似関数rの評価が高いもののみに限定することで、計算コストの大きい機械学習の実行回数を抑制することができる。
なお、実施例5において、実施例2の情報抽出システムにおける処理を実行してもよい。すなわち、実施例5におけるデータ選択部255は、データ評価部260及びデータ選択収束判定部265を有さなくてもよい。
また、実施例5において、実施例4の情報抽出システムにおける処理を実行してもよい。すなわち、実施例5における多目的最適化部275は、単一目的最適化部に置き換えられてもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本発明の分散計算システムは、電子文書データからの情報抽出に適用して特に有益な技術であり、これに限らず、グラフベースの機械学習処理を含むデータ処理全般に対して広く適用可能である。
110 プロセッサ
120 メモリ
130 ローカルファイルシステム
140 入力装置
150 出力装置
160 ネットワークデバイス
170 バス
200 情報抽出用計算機
210 ローカルエリアネットワーク(LAN)
220 文献データベース
225 ラベルデータベース
230 素性データベース
290 ラベル生成用計算機

Claims (12)

  1. 複数の文献データについて機械学習を行う情報処理システムであって、
    前記情報処理システムは、
    ラベルを付与された複数の文献データである複数の教師データと、前記ラベルを付与されていない文献データであるラベル無しデータと、前記各文献データに関する複数の素性を抽出する方法を示す複数の素性タイプと、を取得する初期化部と、
    前記取得された素性タイプのうち少なくとも一つの前記素性タイプが入力された場合、前記入力された素性タイプと、前記取得された各教師データとに基づいて、前記各教師データに関する素性を数値ベクトルによって示す、前記各教師データの素性ベクトルを生成する素性ベクトル生成部と、
    前記素性ベクトル生成部によって生成された各教師データの素性ベクトルに基づいて、前記素性ベクトルが示す複数のノードと前記複数のノード間の距離に従って重みが定められたエッジとからなる前記教師データのグラフを生成するグラフ構築部と、
    前記グラフ構築部によって生成された教師データのグラフの前記重みに従って、前記教師データのグラフを評価する素性評価部を有し、前記素性評価部による前記グラフの評価結果に従って、前記教師データのラベルを正確に伝搬させる第1のグラフを生成するための素性タイプを、前記初期化部によって取得された素性タイプから選択し、さらに、前記グラフ構築部に生成させた前記第1のグラフを出力する素性選択部と、を有し、
    前記素性ベクトル生成部は、前記第1のグラフが生成された前記素性タイプと、前記初期化部によって取得された複数のラベル無しデータとに基づいて、前記各ラベル無しデータに関する素性を数値ベクトルによって示す、前記ラベル無しデータの素性ベクトルを生成し、
    前記情報処理システムは、
    前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第1のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離を算出し、前記教師データに付与されたラベルが伝搬される前記ラベル無しデータを、前記第1のグラフに含まれる各教師データと各ラベル無しデータとの距離に基づいて選択し、さらに、前記選択されたラベル無しデータを前記第1のグラフに含めることによって、第2のグラフを生成するデータ選択部と、
    前記第2のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる機械学習部と、を有することを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記グラフ構築部は、
    前記生成された各教師データの素性ベクトルに基づいて前記各教師データ間の距離を算出し、
    前記素性選択部は
    前記素性評価部による前記教師データのグラフの評価結果が第1の所定の条件を満たす場合、前記取得された素性タイプのうちの少なくとも一つである前記素性タイプにおいて、最も高く評価された前記教師データのグラフを、前記第1のグラフとして出力する素性選択収束判定部と、
    前記素性評価部による前記教師データのグラフの評価結果が前記第1の所定の条件を満たさない場合、前記教師データのグラフの評価結果に基づいて、前記取得された素性タイプの中の複数の素性タイプによって生成される複数のグラフから、前記素性評価部によって高く評価された順に所定の数のグラフを選択し、前記選択したグラフに含まれるグラフを生成するための素性タイプを、新たな素性タイプとして前記素性ベクトル生成部に入力する素性最適化部と、を有し、
    前記素性評価部は、異なる前記ラベルが付与された前記教師データ間に定められた重みを用いて算出されたスコアが小さく、かつ、同じ前記ラベルが付与された前記教師データ間に定められた重みを用いて算出されたスコアが大きい程、前記教師データのグラフを高く評価する素性評価関数を用いて、前記教師データのグラフを評価することを特徴とする情報処理システム。
  3. 請求項1又は2に記載の情報処理システムであって、
    前記データ選択部は、前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第1のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離の最小値を、前記第1のグラフと前記各ラベル無しデータとの距離として算出するデータ評価部を有し、
    前記データ評価部は、
    前記算出された第1のグラフと各ラベル無しデータとの距離を保持し、
    前記保持された第1のグラフと各ラベル無しデータとの距離のうち、最も大きい距離の前記ラベル無しデータを選択し、
    前記選択されたラベル無しデータを、前記第1のグラフに含まれる文献データに変更し、
    前記第1のグラフに含まれる各文献データと、前記各ラベル無しデータとの距離の最小値を算出し、
    前記算出された各文献データと各ラベル無しデータとの距離によって、前記保持された第1のグラフと各ラベル無しデータとの距離を更新することを特徴とする情報処理システム。
  4. 請求項2に記載の情報処理システムであって、
    前記初期化部は、前記ラベルを付与された複数の文献データを分割することによって、前記教師データとテストデータとを取得し、
    前記素性評価部は、前記素性評価関数を用いて素性評価値を算出し、
    前記素性ベクトル生成部は、前記第2のグラフが生成された前記素性タイプと、前記取得されたテストデータとに基づいて、前記テストデータに関する素性を数値ベクトルによって示す、前記テストデータの素性ベクトルを生成し、
    前記機械学習部は、
    前記テストデータの素性ベクトルを、前記選択されたラベル無しデータの素性ベクトルに含め、
    前記選択されたラベル無しデータの素性ベクトルと、前記教師データの素性ベクトルとに基づいて、前記第2のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させ、
    前記選択されたラベル無しデータに含まれる前記テストデータに伝搬されたラベルと、前記テストデータに付与されたラベルとを比較することによって、機械学習の評価値を算出し、
    前記素性評価部は、前記機械学習の評価値が第2の所定の条件を満たさない場合、
    前記機械学習の評価値と前記算出された素性評価値とによって、回帰関数を求め、
    前記求められた回帰関数と前記素性評価関数とを用いて、前記教師データのグラフを評価する情報処理システム。
  5. 請求項2に記載の情報処理システムであって、
    前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
    前記データ選択部は、前記ユーザから第1のグラフに含めるラベル無しデータを、前記入力装置を介して指示された場合、前記ユーザによって指示されたラベル無しデータを、前記第1のグラフに追加するべきラベル無しデータとして選択することを特徴とする情報処理システム。
  6. 請求項1に記載の情報処理システムであって、
    前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
    前記素性選択部は、前記ユーザから前記教師データのラベルを伝搬させるために最適なグラフを生成するための素性タイプを、前記入力装置を介して指示された場合、前記ユーザから指示された素性タイプを、前記第1のグラフを生成するための素性タイプとして選択することを特徴とする情報処理システム。
  7. 複数の文献データについて機械学習を行う情報処理システムによる情報処理方法であって、
    前記情報処理システムは、プロセッサ及びメモリを備え、
    前記情報処理方法は、
    前記プロセッサが、ラベルを付与された複数の文献データである複数の教師データと、前記ラベルを付与されていない文献データであるラベル無しデータと、前記各文献データに関する複数の素性を抽出する方法を示す複数の素性タイプと、を取得する初期化手順と、
    前記プロセッサが、前記取得された素性タイプのうち少なくとも一つの前記素性タイプが入力された場合、前記入力された素性タイプと、前記取得された各教師データとに基づいて、前記各教師データに関する素性を数値ベクトルによって示す、前記各教師データの素性ベクトルを生成する素性ベクトル生成手順と、
    前記プロセッサが、前記素性ベクトル生成手順によって生成された各教師データの素性ベクトルに基づいて、前記素性ベクトルが示す複数のノードと前記複数のノード間の距離に従って重みが定められたエッジとからなる前記教師データのグラフを生成するグラフ構築手順と、
    前記プロセッサが、前記グラフ構築手順によって生成された教師データのグラフの前記重みに従って、前記教師データのグラフを評価する素性評価手順を有し、前記素性評価手順による前記グラフの評価結果に従って、前記教師データのラベルを正確に伝搬させる第1のグラフを生成するための素性タイプを、前記初期化手順によって取得された素性タイプから選択し、さらに、前記グラフ構築手順に生成させた前記第1のグラフを出力する素性選択手順と、を含み、
    前記素性ベクトル生成手順は、前記プロセッサが、前記第1のグラフが生成された前記素性タイプと、前記初期化手順によって取得されたラベル無しデータとに基づいて、前記各ラベル無しデータに関する素性を数値ベクトルによって示す、前記ラベル無しデータの素性ベクトルを生成する手順を含み、
    前記情報処理方法は、
    前記プロセッサが、前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第1のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離を算出し、前記教師データに付与されたラベルが伝搬される前記ラベル無しデータを、前記第1のグラフに含まれる各教師データと各ラベル無しデータとの距離に基づいて選択し、さらに、前記選択されたラベル無しデータを前記第1のグラフに含めることによって、第2のグラフを生成するデータ選択手順と、
    前記プロセッサが、前記第2のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる機械学習手順と、を含むことを特徴とする情報処理方法。
  8. 請求項7に記載の情報処理方法であって、
    前記グラフ構築手順は、
    前記プロセッサが、前記生成された各教師データの素性ベクトルに基づいて前記各教師データ間の距離を算出する手順含み、
    前記素性選択手順は、
    前記プロセッサが、前記素性評価手順による前記教師データのグラフの評価結果が第1の所定の条件を満たす場合、前記教師データのグラフを、前記第1のグラフとして出力する素性選択収束判定手順と、
    前記プロセッサが、前記素性評価手順による前記教師データのグラフの評価結果が前記第1の所定の条件を満たさない場合、前記教師データのグラフの評価結果に基づいて、前記取得された素性タイプの中の複数の素性タイプによって生成される複数のグラフから、前記素性評価手順によって高く評価された順に所定の数のグラフを選択し、前記選択したグラフに含まれるグラフを生成するための素性タイプを、新たな素性タイプとして前記素性ベクトル生成手順に入力する素性最適化手順と、を含み、
    前記素性評価手順は、前記プロセッサが、異なる前記ラベルが付与された前記教師データ間に定められた重みを用いて算出されたスコアが小さく、かつ、同じ前記ラベルが付与された前記教師データ間に定められた重みを用いて算出されたスコアが大きい程、前記教師データのグラフを高く評価する素性評価関数を用いて、前記教師データのグラフを評価する手順を含むことを特徴とする情報処理方法。
  9. 請求項7又は8に記載の情報処理方法であって、
    前記データ選択手順は、前記プロセッサが、前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第1のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離の最小値を、前記第1のグラフと前記各ラベル無しデータとの距離として算出するデータ評価手順を有し、
    前記データ評価手順は、
    前記プロセッサが、前記算出された第1のグラフと各ラベル無しデータとの距離を、前記メモリに格納する手順と、
    前記プロセッサが、前記メモリに格納された第1のグラフと各ラベル無しデータとの距離のうち、最も大きい距離の前記ラベル無しデータを選択する手順と、
    前記プロセッサが、前記選択されたラベル無しデータを、前記第1のグラフに含まれる文献データに変更する手順と、
    前記プロセッサが、前記第1のグラフに含まれる各文献データと、前記各ラベル無しデータとの距離の最小値を算出する手順と、
    前記プロセッサが、前記算出された各文献データと各ラベル無しデータとの距離によって、前記メモリに格納された第1のグラフと各ラベル無しデータとの距離を更新する手順と、を含むことを特徴とする情報処理方法。
  10. 請求項8に記載の情報処理方法であって、
    前記初期化手順は、前記プロセッサが、前記ラベルを付与された複数の文献データを分割することによって、前記教師データとテストデータとを取得する手順を含み、
    前記素性評価手順は、前記プロセッサが、前記素性評価関数を用いて素性評価値を算出する手順を含み、
    前記素性ベクトル生成手順は、前記プロセッサが、前記第2のグラフが生成された前記素性タイプと、前記取得されたテストデータとに基づいて、前記テストデータに関する素性を数値ベクトルによって示す、前記テストデータの素性ベクトルを生成する手順を含み、
    前記機械学習手順は、
    前記プロセッサが、前記テストデータの素性ベクトルを、前記選択されたラベル無しデータの素性ベクトルに含める手順と、
    前記プロセッサが、前記選択されたラベル無しデータの素性ベクトルと、前記教師データの素性ベクトルとに基づいて、前記第2のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる手順と、
    前記プロセッサが、前記選択されたラベル無しデータに含まれる前記テストデータに伝搬されたラベルと、前記テストデータに付与されたラベルとを比較することによって、機械学習の評価値を算出する手順と、
    前記素性評価手順は、前記機械学習の評価値が第2の所定の条件を満たさない場合、
    前記プロセッサが、前記機械学習の評価値と前記算出された素性評価値とによって、回帰関数を求める手順と、
    前記プロセッサが、前記求められた回帰関数と前記素性評価関数とを用いて、前記教師データのグラフを評価する手順とを含むことを特徴とする情報処理方法。
  11. 請求項8に記載の情報処理方法であって、
    前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
    前記データ選択手順は、前記プロセッサが、前記ユーザから第1のグラフに含めるラベル無しデータを、前記入力装置を介して指示された場合、前記ユーザによって指示されたラベル無しデータを、前記第1のグラフに追加するべきラベル無しデータとして選択する手順を含むことを特徴とする情報処理方法。
  12. 請求項7に記載の情報処理方法であって、
    前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
    前記素性選択手順は、前記プロセッサが、前記ユーザから前記教師データのラベルを伝搬させるために最適なグラフを生成するための素性タイプを、前記入力装置を介して指示された場合、前記ユーザから指示された素性タイプを、前記第1のグラフを生成するための素性タイプとして選択する手順を含むことを特徴とする情報処理方法。
JP2012204680A 2012-09-18 2012-09-18 情報処理システム、及び、情報処理方法 Expired - Fee Related JP5881048B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012204680A JP5881048B2 (ja) 2012-09-18 2012-09-18 情報処理システム、及び、情報処理方法
CN201310322481.3A CN103678436B (zh) 2012-09-18 2013-07-29 信息处理系统和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012204680A JP5881048B2 (ja) 2012-09-18 2012-09-18 情報処理システム、及び、情報処理方法

Publications (2)

Publication Number Publication Date
JP2014059754A JP2014059754A (ja) 2014-04-03
JP5881048B2 true JP5881048B2 (ja) 2016-03-09

Family

ID=50316016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012204680A Expired - Fee Related JP5881048B2 (ja) 2012-09-18 2012-09-18 情報処理システム、及び、情報処理方法

Country Status (2)

Country Link
JP (1) JP5881048B2 (ja)
CN (1) CN103678436B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3161731A1 (en) * 2014-06-30 2017-05-03 Amazon Technologies, Inc. Feature processing tradeoff management
CN107347050B (zh) * 2016-05-05 2019-12-20 腾讯科技(深圳)有限公司 基于反向钓鱼的恶意识别方法和装置
JP6935059B2 (ja) 2017-03-30 2021-09-15 日油株式会社 カルボキシル基を一つ有するポリエチレングリコールの精製方法
KR101864412B1 (ko) * 2017-12-28 2018-06-04 (주)휴톰 학습용 데이터 관리방법, 장치 및 프로그램
JP7006297B2 (ja) 2018-01-19 2022-01-24 富士通株式会社 学習プログラム、学習方法および学習装置
JP7006296B2 (ja) 2018-01-19 2022-01-24 富士通株式会社 学習プログラム、学習方法および学習装置
KR102543698B1 (ko) * 2018-05-28 2023-06-14 삼성에스디에스 주식회사 컴퓨팅 시스템 및 상기 장치에서 수행되는 데이터 라벨링 방법
CN109522961B (zh) * 2018-11-23 2022-09-13 中山大学 一种基于字典深度学习的半监督图像分类方法
JP2020140452A (ja) 2019-02-28 2020-09-03 富士通株式会社 ノード情報推定方法、ノード情報推定プログラムおよび情報処理装置
JP7399998B2 (ja) 2022-03-29 2023-12-18 本田技研工業株式会社 教師データ収集装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001121B2 (en) * 2006-02-27 2011-08-16 Microsoft Corporation Training a ranking function using propagated document relevance
JP4963245B2 (ja) * 2007-03-16 2012-06-27 日本電信電話株式会社 構文・意味解析結果ランキングモデル作成方法および装置、プログラム並びに記録媒体
JP4433323B2 (ja) * 2007-10-22 2010-03-17 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
EP2245568A4 (en) * 2008-02-20 2012-12-05 Univ Mcmaster EXPERT SYSTEM FOR DETERMINING A PATIENT'S RESPONSE TO A TREATMENT
WO2010075408A1 (en) * 2008-12-22 2010-07-01 The Trustees Of Columbia University In The City Of New York System and method for annotating and searching media
CN101840516A (zh) * 2010-04-27 2010-09-22 上海交通大学 基于稀疏分数的特征选择方法

Also Published As

Publication number Publication date
CN103678436A (zh) 2014-03-26
JP2014059754A (ja) 2014-04-03
CN103678436B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
JP5881048B2 (ja) 情報処理システム、及び、情報処理方法
CN111310438B (zh) 基于多粒度融合模型的中文句子语义智能匹配方法及装置
Miao et al. Towards unified data and lifecycle management for deep learning
Liu et al. Joint binary classifier learning for ECOC-based multi-class classification
JP2021518024A (ja) 機械学習アルゴリズムのためのデータを生成する方法、システム
WO2016062044A1 (zh) 一种模型参数训练方法、装置及系统
Zhang et al. Collective classification via discriminative matrix factorization on sparsely labeled networks
CN111581949A (zh) 学者人名的消歧方法、装置、存储介质及终端
Layton Learning data mining with python
CN112765369A (zh) 知识图谱信息表示学习方法、系统、设备及终端
Motwani et al. A study on initial centroids selection for partitional clustering algorithms
Zhu et al. A classification algorithm of CART decision tree based on MapReduce attribute weights
Wang et al. GP-based approach to comprehensive quality-aware automated semantic web service composition
US10198497B2 (en) Search term clustering
Liu High performance latent dirichlet allocation for text mining
Ahmad 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python
CN110457484B (zh) 一种基于图的逻辑表达方法、系统、介质和设备
KR101467707B1 (ko) 지식 베이스의 개체 매칭 방법 및 이를 위한 장치
Wang et al. Decoupled representation learning for attributed networks
Layton Learning data mining with Python
Revindasari et al. Traceability between business process and software component using Probabilistic Latent Semantic Analysis
Yu et al. Enhancing attributed network embedding via similarity measure
Lu et al. On semi-supervised multiple representation behavior learning
Cai et al. Semantic and correlation disentangled graph convolutions for multilabel image recognition
JP7363929B2 (ja) 学習装置、検索装置、学習方法、検索方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160122

R150 Certificate of patent or registration of utility model

Ref document number: 5881048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees