(57)【要約】【課題】文献の機械学習において、人的コスト及び設備コストを低減する。【解決手段】情報処理システムは、素性タイプが入力された場合、入力された素性タイプと、各教師データとに基づいて、各教師データに関する素性を数値ベクトルによって示す、各教師データの素性ベクトルを生成し、各教師データの素性ベクトルに基づいて、教師データのグラフを生成し、教師データのグラフに従って、教師データのラベルを伝搬させるために最適な第１のグラフを生成するための素性タイプを選択し、さらに、第１のグラフを出力し、第１のグラフとラベル無しデータとに基づいて、教師データに付与されたラベルが伝搬されるべきラベル無しデータを選択し、さらに、選択されたラベル無しデータを第１のグラフに含めることによって、第２のグラフを生成し、第２のグラフによって、教師データに付与されたラベルを、選択されたラベル無しデータに伝搬させる。【選択図】図５
2014059754.tif 000002
【特許請求の範囲】
【請求項１】
複数の文献データについて機械学習を行う情報処理システムであって、
前記情報処理システムは、
ラベルを付与された複数の文献データである複数の教師データと、前記ラベルを付与されていない文献データであるラベル無しデータと、前記各文献データに関する素性を抽出する方法を示す複数の素性タイプと、を取得する初期化部と、
前記取得された素性タイプのうち少なくとも一つの前記素性タイプが入力された場合、前記入力された素性タイプと、前記取得された各教師データとに基づいて、前記各教師データに関する素性を数値ベクトルによって示す、前記各教師データの素性ベクトルを生成する素性ベクトル生成部と、
前記素性ベクトル生成部によって生成された各教師データの素性ベクトルに基づいて、前記教師データのグラフを生成するグラフ構築部と、
前記グラフ構築部によって生成された教師データのグラフに従って、前記教師データのラベルを伝搬させるために最適な第１のグラフを生成するための素性タイプを、前記初期化部によって取得された素性タイプから選択し、さらに、前記グラフ構築部に生成させた前記第１のグラフを出力する素性選択部と、
前記第１のグラフと前記ラベル無しデータとに基づいて、前記教師データに付与されたラベルが伝搬されるべき前記ラベル無しデータを選択し、さらに、前記選択されたラベル無しデータを前記第１のグラフに含めることによって、第２のグラフを生成するデータ選択部と、
前記第２のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる機械学習部と、を有することを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記グラフ構築部は、
前記生成された各教師データの素性ベクトルに基づいて前記各教師データ間の距離を算出し、
前記算出された各教師データ間の距離に従った重みを、前記各教師データ間に定めることによって、前記教師データのグラフを生成し、
前記素性選択部は、
前記生成された教師データのグラフを評価する素性評価部と、
前記素性評価部による前記教師データのグラフの評価結果が第１の所定の条件を満たす場合、前記教師データのグラフを、前記第１のグラフとして出力する素性選択収束判定部と、
前記素性評価部による前記教師データのグラフの評価結果が前記第１の所定の条件を満たさない場合、前記教師データのグラフの評価結果に基づいて、前記初期化部によって取得された素性タイプから新たな前記素性タイプを選択し、前記素性ベクトル生成部に前記選択された素性タイプを入力する素性最適化部と、を有し、
前記素性評価部は、異なる前記ラベルが付与された前記教師データ間に定められた重みが小さい程、前記教師データのグラフを高く評価し、かつ、同じ前記ラベルが付与された前記教師データ間に定められた重みが大きい程、前記教師データのグラフを高く評価する素性評価関数を用いて、前記教師データのグラフを評価することを特徴とする情報処理システム。
【請求項３】
請求項１又は２に記載の情報処理システムであって、
前記素性ベクトル生成部は、前記第１のグラフが生成された前記素性タイプと、前記初期化部によって取得された複数のラベル無しデータとに基づいて、前記各ラベル無しデータに関する素性を数値ベクトルによって示す、前記ラベル無しデータの素性ベクトルを生成し、
前記データ選択部は、前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第１のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離の最小値を、前記第１のグラフと前記各ラベル無しデータとの距離として算出するデータ評価部を有し、
前記データ評価部は、
前記算出された第１のグラフと各ラベル無しデータとの距離を保持し、
前記保持された第１のグラフと各ラベル無しデータとの距離のうち、最も大きい距離の前記ラベル無しデータを選択し、
前記選択されたラベル無しデータを、前記第１のグラフに含まれる文献データに変更し、
前記第１のグラフに含まれる各文献データと、前記各ラベル無しデータとの距離の最小値を算出し、
前記算出された各文献データと各ラベル無しデータとの距離によって、前記保持された第１のグラフと各ラベル無しデータとの距離を更新することを特徴とする情報処理システム。
【請求項４】
請求項２に記載の情報処理システムであって、
前記初期化部は、前記ラベルを付与された複数の文献データを分割することによって、前記教師データとテストデータとを取得し、
前記素性評価部は、前記素性評価関数を用いて素性評価値を算出し、
前記素性ベクトル生成部は、前記第２のグラフが生成された前記素性タイプと、前記取得されたテストデータとに基づいて、前記テストデータに関する素性を数値ベクトルによって示す、前記テストデータの素性ベクトルを生成し、
前記機械学習部は、
前記テストデータの素性ベクトルを、前記選択されたラベル無しデータの素性ベクトルに含め、
前記選択されたラベル無しデータの素性ベクトルと、前記教師データの素性ベクトルとに基づいて、前記第２のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させ、
前記選択されたラベル無しデータに含まれる前記テストデータに伝搬されたラベルと、前記テストデータに付与されたラベルとを比較することによって、機械学習の評価値を算出し、
前記素性評価部は、前記機械学習の評価値が第２の所定の条件を満たさない場合、
前記機械学習の評価値と前記算出された素性評価値とによって、回帰関数を求め、
前記求められた回帰関数と前記素性評価関数とを用いて、前記教師データのグラフを評価する情報処理システム。
【請求項５】
請求項２に記載の情報処理システムであって、
前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
前記データ選択部は、前記ユーザから第１のグラフに含めるラベル無しデータを、前記入力装置を介して指示された場合、前記ユーザによって指示されたラベル無しデータを、前記第１のグラフに追加するべきラベル無しデータとして選択することを特徴とする情報処理システム。
【請求項６】
請求項１に記載の情報処理システムであって、
前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
前記素性選択部は、前記ユーザから前記教師データのラベルを伝搬させるために最適なグラフを生成するための素性タイプを、前記入力装置を介して指示された場合、前記ユーザから指示された素性タイプを、前記第１のグラフを生成するための素性タイプとして選択することを特徴とする情報処理システム。
【請求項７】
複数の文献データについて機械学習を行う情報処理システムによる情報処理方法であって、
前記情報処理システムは、プロセッサ及びメモリを備え、
前記方法は、
前記プロセッサが、ラベルを付与された複数の文献データである複数の教師データと、前記ラベルを付与されていない文献データであるラベル無しデータと、前記各文献データに関する素性を抽出する方法を示す複数の素性タイプと、を取得する初期化手順と、
前記プロセッサが、前記取得された素性タイプのうち少なくとも一つの前記素性タイプが入力された場合、前記入力された素性タイプと、前記取得された各教師データとに基づいて、前記各教師データに関する素性を数値ベクトルによって示す、前記各教師データの素性ベクトルを生成する素性ベクトル生成手順と、
前記プロセッサが、前記素性ベクトル生成手順によって生成された各教師データの素性ベクトルに基づいて、前記教師データのグラフを生成するグラフ構築手順と、
前記プロセッサが、前記グラフ構築手順によって生成された教師データのグラフに従って、前記教師データのラベルを伝搬させるために最適な第１のグラフを生成するための素性タイプを、前記初期化手順によって取得された素性タイプから選択し、さらに、前記グラフ構築手順に生成させた前記第１のグラフを出力する素性選択手順と、
前記プロセッサが、前記第１のグラフと前記ラベル無しデータとに基づいて、前記教師データに付与されたラベルが伝搬されるべき前記ラベル無しデータを選択し、さらに、前記選択されたラベル無しデータを前記第１のグラフに含めることによって、第２のグラフを生成するデータ選択手順と、
前記プロセッサが、前記第２のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる機械学習手順と、を含むことを特徴とする情報処理方法。
【請求項８】
請求項７に記載の情報処理方法であって、
前記グラフ構築手順は、
前記プロセッサが、前記生成された各教師データの素性ベクトルに基づいて前記各教師データ間の距離を算出する手順と、
前記プロセッサが、前記算出された各教師データ間の距離に従った重みを、前記各教師データ間に定めることによって、前記教師データのグラフを生成する手順と、を含み、
前記素性選択手順は、
前記プロセッサが、前記生成された教師データのグラフを評価する素性評価手順と、
前記プロセッサが、前記素性評価手順による前記教師データのグラフの評価結果が第１の所定の条件を満たす場合、前記教師データのグラフを、前記第１のグラフとして出力する素性選択収束判定手順と、
前記プロセッサが、前記素性評価手順による前記教師データのグラフの評価結果が前記第１の所定の条件を満たさない場合、前記教師データのグラフの評価結果に基づいて、前記初期化手順によって取得された素性タイプから新たな前記素性タイプを選択し、前記素性ベクトル生成手順に前記選択された素性タイプを入力する素性最適化手順と、を含み、
前記素性評価手順は、前記プロセッサが、異なる前記ラベルが付与された前記教師データ間に定められた重みが小さい程、前記教師データのグラフを高く評価し、かつ、同じ前記ラベルが付与された前記教師データ間に定められた重みが大きい程、前記教師データのグラフを高く評価する素性評価関数を用いて、前記教師データのグラフを評価する手順を含むことを特徴とする情報処理方法。
【請求項９】
請求項７又は８に記載の情報処理方法であって、
前記素性ベクトル生成手順は、前記プロセッサが、前記第１のグラフが生成された前記素性タイプと、前記初期化手順によって取得されたラベル無しデータとに基づいて、前記各ラベル無しデータに関する素性を数値ベクトルによって示す、前記ラベル無しデータの素性ベクトルを生成する手順を含み、
前記データ選択手順は、前記プロセッサが、前記各教師データの素性ベクトルと前記各ラベル無しデータの素性ベクトルとに基づいて、前記第１のグラフに含まれる各教師データと、前記各ラベル無しデータとの距離の最小値を、前記第１のグラフと前記各ラベル無しデータとの距離として算出するデータ評価手順を有し、
前記データ評価手順は、
前記プロセッサが、前記算出された第１のグラフと各ラベル無しデータとの距離を、前記メモリに格納する手順と、
前記プロセッサが、前記メモリに格納された第１のグラフと各ラベル無しデータとの距離のうち、最も大きい距離の前記ラベル無しデータを選択する手順と、
前記プロセッサが、前記選択されたラベル無しデータを、前記第１のグラフに含まれる文献データに変更する手順と、
前記プロセッサが、前記第１のグラフに含まれる各文献データと、前記各ラベル無しデータとの距離の最小値を算出する手順と、
前記プロセッサが、前記算出された各文献データと各ラベル無しデータとの距離によって、前記メモリに格納された第１のグラフと各ラベル無しデータとの距離を更新する手順と、を含むことを特徴とする情報処理方法。
【請求項１０】
請求項８に記載の情報処理方法であって、
前記初期化手順は、前記プロセッサが、前記ラベルを付与された複数の文献データを分割することによって、前記教師データとテストデータとを取得する手順を含み、
前記素性評価手順は、前記プロセッサが、前記素性評価関数を用いて素性評価値を算出する手順を含み、
前記素性ベクトル生成手順は、前記プロセッサが、前記第２のグラフが生成された前記素性タイプと、前記取得されたテストデータとに基づいて、前記テストデータに関する素性を数値ベクトルによって示す、前記テストデータの素性ベクトルを生成する手順を含み、
前記機械学習手順は、
前記プロセッサが、前記テストデータの素性ベクトルを、前記選択されたラベル無しデータの素性ベクトルに含める手順と、
前記プロセッサが、前記選択されたラベル無しデータの素性ベクトルと、前記教師データの素性ベクトルとに基づいて、前記第２のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる手順と、
前記プロセッサが、前記選択されたラベル無しデータに含まれる前記テストデータに伝搬されたラベルと、前記テストデータに付与されたラベルとを比較することによって、機械学習の評価値を算出する手順と、
前記素性評価手順は、前記機械学習の評価値が第２の所定の条件を満たさない場合、
前記プロセッサが、前記機械学習の評価値と前記算出された素性評価値とによって、回帰関数を求める手順と、
前記プロセッサが、前記求められた回帰関数と前記素性評価関数とを用いて、前記教師データのグラフを評価する手順とを含むことを特徴とする情報処理方法。
【請求項１１】
請求項８に記載の情報処理方法であって、
前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
前記データ選択手順は、前記プロセッサが、前記ユーザから第１のグラフに含めるラベル無しデータを、前記入力装置を介して指示された場合、前記ユーザによって指示されたラベル無しデータを、前記第１のグラフに追加するべきラベル無しデータとして選択する手順を含むことを特徴とする情報処理方法。
【請求項１２】
請求項７に記載の情報処理方法であって、
前記情報処理システムは、ユーザから指示を受ける入力装置を、さらに有し、
前記素性選択手順は、前記プロセッサが、前記ユーザから前記教師データのラベルを伝搬させるために最適なグラフを生成するための素性タイプを、前記入力装置を介して指示された場合、前記ユーザから指示された素性タイプを、前記第１のグラフを生成するための素性タイプとして選択する手順を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムに関する。
【背景技術】
【０００２】
近年、多くの企業が、ビッグデータと呼ばれる大量の電子データを、利活用するようになった。これは、Ａｐａｃｈｅ  Ｈａｄｏｏｐなどのオープンソースソフトウェアの登場により、一般的なＰＣサーバを用いて分散並列計算をする技術が普及したためである。このような技術の普及により、大量のデータを短時間で処理するために必要な計算機資源などのコストが、大幅に引き下げられた。
【０００３】
ビッグデータに対するデータの処理の内容としては、大量の数値データの集計処理、さらに、ユーザにとって有用なパターンを、計算機が電子文書データから自動的に抽出する処理などがある。このような、そもそも人間によって行われる知的処理を、計算機に実行させる一つの方法として、機械学習が用いられる。機械学習、特に教師有り学習では、人間が作成したデータを教師データとし、計算機が教師データのパターンを学習することで、人間の知的処理を計算機に代替して実行させることができる。
【０００４】
教師データは人間によって作られる必要があるため、計算機が教師有り学習を行う場合、人的なコストが発生する。特に、専門文書からの情報抽出の場合には、その分野の専門家（ドメインエキスパート）によって教師データが作られる必要があるため、人的なコストが特に大きくなる。
【０００５】
例えば、法令文書からの情報抽出という知的処理を行うためには、弁護士、又は司法書士などの法律の専門家が、計算機による機械学習に先立って、抽出されるべき情報の例を作成する必要がある。また、知的財産権に関する文書からの情報抽出という知的処理を行うためには、弁理士、又は企業の知的財産権担当者が、抽出されるべき情報の例を用意する必要がある。
【０００６】
一般に、教師データは、その数が多ければ多いほど、学習の結果を向上させる。しかし、教師データの作成には人的なコストがかかるため、大量の教師データを用意することは難しい。ビッグデータに含まれる多種多様なデータを、大量に扱う今日において、教師データを作成するための人的コストは、教師有り学習を応用する際の問題となっている。
【０００７】
教師データを作成するための人的コストに関する問題の一つの解決策として、教師情報（ラベル）の無いデータ（ラベル無しデータ）を、学習に活用することが試みられている。教師データに加えて、ラベル無しデータを学習に用いる機械学習は、半教師有り学習と呼ばれる（例えば、特許文献１、及び２参照）。
【０００８】
特許文献１、及び２では、文書群から、有害単語を含む文書を抽出するために、半教師有り学習を用いる方法が提案されている。
【０００９】
半教師有り学習の中でも、特に、非特許文献１で述べられるようなグラフベースの半教師有り学習は、計算の効率の点から注目を集めている。グラフベースの半教師有り学習は、例えば、評判分析、語義曖昧性解消、又は、品詞推定などに応用される。
【００１０】
また、ある観点から抽出された少数の単語を元に、同様の観点に基づく別の単語を抽出する方法が提案されている（例えば、特許文献３参照）。
【００１１】
また、検索クエリに対する文書の関連度をラベル付けする問題において、ラベルの付いた文書から、ラベルの付いていない文書へ、関連度を伝播させる方法について提案されている（例えば、特許文献４参照）。
【００１２】
ここで、機械学習におけるグラフとは、一つのデータ（例えば、単語）を一つのノードとし、データ間、すなわち、ノード間の類似度をノード間のエッジの重みとして定量化する数学的なグラフを意味する。このグラフでは、似ているデータは大きな重みのエッジで接続される。このため、エッジの重みを用いてラベル情報を伝播させることによって、ラベル無しデータにラベルを割り当てることができる。
【００１３】
例えば、電子文書からの人名情報を抽出する処理を例に、ラベル情報の伝播を以下に示す。この処理は、文書をチャンカーでトークンに分解し、各トークンが人名か否か判定する、二値の識別問題として処理される。
【００１４】
人名情報を抽出する処理の例において、計算機は、識別の対象であるトークンをノードとし、各トークン間の類似度をエッジの重みとして算出する。また、トークンの類似度は、品詞、又は文字列長などといったトークン自身の情報、及び、隣接するトークンとの共起情報などの情報に基づいて算出される。具体的には、トークンの類似度は、前述のようなトークンの情報が数値ベクトル化され、数値ベクトルを用いて距離が算出されることによって求まる。そして、これによって、各トークンを含むグラフが求められる。
【００１５】
このように求められたグラフを用いてラベルが伝搬された場合、似た文脈で使われる似たトークンは、より大きな重みのエッジで接続されるため、同じラベルが割り当てられやすくなる。
【００１６】
グラフベースの半教師有り学習では、グラフの構築方法が、学習精度に大きな影響を及ぼす。これまでには、グラフを構築する精度の向上、及び、計算の高速化を目的として、エッジの枝刈り（不要なエッジの削除）が行われてきた。
【００１７】
例えば、もともとのグラフをｋ−近傍グラフ、又は、ｂ−マッチンググラフによって近似する方法が提案されている（例えば、非特許文献２参照）。ここで、ｋ−近傍グラフ、ｂ−マッチンググラフとは、それぞれｋ−近傍法、又は、ｂ−マッチング法によって生成された類似度の上位ｋ件のみのエッジを含むグラフである。
【００１８】
さらに、エッジの枝刈りをする場合でも、エッジが集中するノードを作らないようなエッジの作成方法が提案されている（例えば、非特許文献３参照）。
【００１９】
これらの文献において、グラフを生成するためには、ノードの情報を数値ベクトル化するための素性（属性）が、あらかじめ定められている必要がある。そして、この素性は、ドメインエキスパートであり、かつ、機械学習の処理についても詳しい者によって定められる必要がある。
【００２０】
また、機械学習の性能を評価する場合、実験結果の再検証を可能にするため、公開されている共通の教師データと、ラベル無しデータとを用いることが多い。しかし、実際にユーザが扱う文書を処理する場合、ラベル無しデータはしばしば膨大な量になることがあり、現実的な時間で学習を行うためには、ラベル無しデータの中から有用なものを選ぶ必要がある。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２０１１−０３９５７６号公報
【特許文献２】特開２０１１−０３９５７５号公報
【特許文献３】特開２０１０−２５７４０６号公報
【特許文献４】特表２００９−５２８６２８号公報
【非特許文献】
【００２２】
【非特許文献１】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年
【発明の概要】
【発明が解決しようとする課題】
【００２３】
グラフベースの半教師有り学習において、最適なグラフ構造を求めるためには、対象領域（処理の対象となる文書の内容が所属する技術分野）と、機械学習との両方の専門知識を持つ者が必要であり、人的コストが大きい。
【００２４】
グラフ構造の最適化、すなわち、素性の最適化を目的に、機械学習処理をした後の最終出力結果を、対象領域の専門知識によって評価する方法が考えられる。しかし、この方法を用いた場合も、ドメインエキスパートによる評価が必要になり、更なる人的コストがかかってしまう。具体的には、機械学習処理をもとにグラフ構造を評価するためには、評価用の教師データを、ドメインエキスパートが手作業で作成する必要があり、人的なコストが大きいためである。
【００２５】
さらに、グラフ構造の最適化には、グラフ構造のパターン数に比例して増加する回数の機械学習処理が実行される必要がある。機械学習を複数回繰り返した場合、大きな計算時間が必要になり、膨大な設備コストが必要である。
【００２６】
このように、人的コストと計算機の設備コストとの増加などの問題が生じる。
【００２７】
本発明は、人的コストと計算機の設備コストを低減しつつ、文書に適切な機械学習を行うシステムの提供を目的とする。
【課題を解決するための手段】
【００２８】
本発明の代表的な一例を示せば以下の通りである。すなわち、複数の文献データについて機械学習を行う情報処理システムであって、前記情報処理システムは、ラベルを付与された複数の文献データである複数の教師データと、前記ラベルを付与されていない文献データであるラベル無しデータと、前記各文献データに関する素性を抽出する方法を示す複数の素性タイプと、を取得する初期化部と、前記取得された素性タイプのうち少なくとも一つの前記素性タイプが入力された場合、前記入力された素性タイプと、前記取得された各教師データとに基づいて、前記各教師データに関する素性を数値ベクトルによって示す、前記各教師データの素性ベクトルを生成する素性ベクトル生成部と、前記素性ベクトル生成部によって生成された各教師データの素性ベクトルに基づいて、前記教師データのグラフを生成するグラフ構築部と、前記グラフ構築部によって生成された教師データのグラフに従って、前記教師データのラベルを伝搬させるために最適な第１のグラフを生成するための素性タイプを、前記初期化部によって取得された素性タイプから選択し、さらに、前記グラフ構築部に生成させた前記第１のグラフを出力する素性選択部と、前記第１のグラフと前記ラベル無しデータとに基づいて、前記教師データに付与されたラベルが伝搬されるべき前記ラベル無しデータを選択し、さらに、前記選択されたラベル無しデータを前記第１のグラフに含めることによって、第２のグラフを生成するデータ選択部と、前記第２のグラフによって、前記教師データに付与されたラベルを、前記選択されたラベル無しデータに伝搬させる機械学習部と、を有する。
【発明の効果】
【００２９】
本発明の一実施形態によると、機械学習における人的コスト及び設備コストを低減できる。
【図面の簡単な説明】
【００３０】
【図１】本実施例１の情報抽出システムの物理的な構成を示すブロック図である。
【図２】本実施例１の情報抽出システムの論理的な構成を示すブロック図である。
【図３Ａ】本実施例１の文献データベースを示す説明図である。
【図３Ｂ】本実施例１のラベルデータベースを示す説明図である。
【図３Ｃ】本実施例１の素性タイプデータベースを示す説明図である。
【図４】本実施例１の素性タイプの最適化及びラベル無しデータの選択を行わない場合の機械学習を示す機能ブロック図である。
【図５】本実施例１の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。
【図６Ａ】本実施例１の教師データリストＬを示す説明図である。
【図６Ｂ】本実施例１のラベル無しデータリストＵを示す説明図である。
【図７】本実施例１の素性選択部による処理の流れを示すフローチャートである。
【図８Ａ】本実施例１の教師データの素性ベクトルを示す説明図である。
【図８Ｂ】本実施例１のラベル無しデータの素性ベクトルを示す説明図である。
【図９Ａ】本実施例１の異ラベル接続スコアのみによって算出されるグラフの評価値を示す説明図である。
【図９Ｂ】本実施例１の同ラベル接続スコア及び異ラベル接続スコアによって算出されるグラフの評価値を示す説明図である。
【図１０】本実施例１のデータ選択部の処理を示すフローチャートである。
【図１１Ａ】本実施例１のグラフｇ２とラベル無しデータとを示す説明図である。
【図１１Ｂ】本実施例１の距離の最大値のデータを抽出した場合に抽出されるラベル無しデータを示す説明図である。
【図１１Ｃ】本実施例１の分散していないラベル無しデータを示す説明図である。
【図１２】本実施例５の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。
【図１３】本実施例５の機械学習の評価が低い場合の素性選択部の処理を示すフローチャートである。
【発明を実施するための形態】
【００３１】
以下の実施例において、要素の数等に言及する場合、特に指定された場合及び原理的に明らかに特定される場合を除き、その特定の数に限定されることはなく、特定の数以上でも以下でもよい。
【００３２】
さらに、以下の実施例において、その構成要素は、特に指定された場合及び原理的に明らかに必要とされる場合を除き、必ずしも必須のものではないということは明らかである。また、同様に以下の実施例において、構成要素の形状や位置関係について言及するときは、特に明示する場合や原理的に明らかにそうでないと考えられる場合を除き、実質的にその形状等に近似又は類似するものを含むものとする。このことは上記数値及び範囲に関しても同様である。
【実施例１】
【００３３】
図１は、本実施例１の情報抽出システムに備わる計算機１００の物理的な構成を示すブロック図である。
【００３４】
本実施例の情報抽出システムに備わる計算機１００は、図１に示す汎用計算機である。情報抽出システムに備わる計算機１００は、例えば、ＰＣサーバでもよい。
【００３５】
計算機１００は、プロセッサ１１０とメモリ１２０とローカルファイルシステム１３０と入力装置１４０と出力装置１５０とネットワークデバイス１６０とバス１７０とを備える。プロセッサ１１０とメモリ１２０とローカルファイルシステム１３０と入力装置１４０と出力装置１５０とネットワークデバイス１６０とは、バス１７０によって接続される。
【００３６】
プロセッサ１１０は、例えば、中央演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；ＣＰＵ）であり、複数のコアプロセッサを備えてもよい。メモリ１２０は、プログラム及びデータを格納するための記憶装置である。
【００３７】
入力装置１４０は、キーボード又はマウス等の装置であり、ユーザによって入力されたデータを受け付けるための装置である。出力装置１５０は、ディスプレイ又はプリンタ等の装置であり、ユーザに情報を出力するための装置である。なお、計算機１００がネットワークを介してリモートから操作される場合、計算機１００は、入力装置１４０と出力装置１５０とを備えなくてもよい。
【００３８】
ローカルファイルシステム１３０は、計算機１００によって書き換え可能な記憶装置である。ローカルファイルシステム１３０は、計算機１００に内蔵される記憶装置でも、計算機１００の外部に備えられ、計算機１００に接続された記憶装置でもよい。ローカルファイルシステム１３０は、例えば、ハードディスクドライブ、ソリッドステートドライブ、又は、ＲＡＭディスクなどの記憶装置である。
【００３９】
ネットワークデバイス１６０は、計算機１００がネットワークに接続するための装置である。
【００４０】
図２は、本実施例１の情報抽出システムに備わる各計算機の論理的な構成を示すブロック図である。
【００４１】
本実施例の情報抽出システムは、情報抽出用計算機２００と、ラベル生成用計算機２９０とを備える。情報抽出用計算機２００及びラベル生成用計算機２９０は、各々、図１に示す計算機１００の物理的な構成を備える。
【００４２】
また、本実施例の情報抽出システムは、文献データベース２２０と、ラベルデータベース２２５と、素性タイプデータベース２３０と、ローカルエリアネットワーク（ＬＡＮ）２１０とを備える。各計算機と、各データベースとは、ＬＡＮ２１０を通じて接続される。
【００４３】
情報抽出用計算機２００は、処理部として、初期化部２３５と、素性ベクトル生成部２３７と、素性選択部２４０と、データ選択部２５５と、グラフ構築部２７０と、多目的最適化部２７５と、機械学習部２８０とを有する。
【００４４】
初期化部２３５は、機械学習を行うためのデータに文献等のデータを変換する処理部である。素性ベクトル生成部２３７は、素性ベクトルを生成する処理部である。
【００４５】
素性選択部２４０は、素性の最適化を行う処理部である。素性選択部２４０は、素性評価部２４５と、素性選択収束判定部２５０とを有する。
【００４６】
データ選択部２５５は、教師データからラベルを伝搬させるラベル無しデータを選択する処理部である。データ選択部２５５は、データ評価部２６０と、データ選択収束判定部２６５とを有する。グラフ構築部２７０は、ノードとエッジとを求めることによってグラフを生成する処理部である。多目的最適化部２７５は、複数の目的によって評価値を変化する場合に、最適な評価値を得るための解候補を選択する処理部である。機械学習部２８０は、機械学習を行う処理部である。
【００４７】
情報抽出用計算機２００の各処理部は、プログラムによって実装されてもよいし、各機能を実現するための物理的な装置によって実装されてもよい。以下において、情報抽出用計算機２００の各処理部は、プログラムによって実装されるものとし、各処理部に相当するプログラムがプロセッサ１１０によってメモリ１２０に読み出されることによって、各処理部の機能が実現されるものとする。
【００４８】
また、情報抽出用計算機２００の各処理部は、複数の処理部の機能を、一つの処理部によって実装されてもよい。また、図２に示す一つの処理部に含まれる複数の処理が、複数の処理部によって実装されてもよい。
【００４９】
ラベル生成用計算機２９０は、ラベル生成部２９５を有する。ラベル生成部２９５は、ユーザの指示に従い、ラベルデータベース２２５に格納するデータを生成する。そして、ラベル生成部２９５は、生成されたデータをラベルデータベース２２５に格納する。また、ラベル生成部２９５は、ユーザの指示に従い、ラベルデータベース２２５からデータを削除する。
【００５０】
このため、予め定められたラベルデータベース２２５のデータが用いられる場合、ラベル生成用計算機２９０は、本実施例の情報抽出システムから省略されてもよい。
【００５１】
文献データベース２２０は、本実施例の機械学習の対象となる文献のデータを格納するためのデータベースである。ラベルデータベース２２５は、教師データを格納するためのデータベースである。素性タイプデータベース２３０は、グラフを生成するための素性のタイプを示すデータを格納するためのデータベースである。
【００５２】
なお、情報抽出用計算機２００は、文献データベース２２０、ラベルデータベース２２５、及び、素性タイプデータベース２３０の各データベース、並びに、ラベル生成部２９５を内蔵してもよい。情報抽出用計算機２００が全てのデータベースとラベル生成部２９５とを内蔵する場合、情報抽出システムからＬＡＮ２１０が省略されてもよい。
【００５３】
図２に示す情報抽出システムに備わるデータベースは、任意のデータストア機構を用いて実装されてもよい。また、情報抽出システムに備わるデータベースは、最も単純には、単にテキストファイルの１行を１レコードとして記述されたデータベースとして実装されてもよい。また、情報抽出システムに備わるデータベースは、リレーショナルデータベース、キーバリューストアなどのデータベースマネージメントシステムを用いて実装されてもよい。
【００５４】
さらに、情報抽出用計算機２００と、ラベル生成用計算機２９０と、文献データベース２２０と、ラベルデータベース２２５と、素性タイプデータベース２３０とを接続するネットワーク（図２においてＬＡＮ２１０）は、高速性、及び、短い応答時間を得るため、一つのデータセンタ内に備えられてもよい。
【００５５】
また、情報抽出システムの各計算機、及び、各データベース等の各構成要素は、各々異なるデータセンタに備えられてもよい。
【００５６】
本実施例の情報抽出システムの起動手順について説明する。ユーザは、情報抽出用計算機２００の電源を投入し、情報抽出用計算機２００が有するＯＳ（オペレーティングシステム）を立ち上げる。さらに、ユーザは、文献データベース２２０、ラベルデータベース２２５、素性タイプデータベース２３０、及び、ラベル生成用計算機２９０の電源を投入する。さらに、ユーザは、ＬＡＮ２１０の電源を投入し、情報抽出用計算機２００、文献データベース２２０、ラベルデータベース２２５、素性タイプデータベース２３０、ラベル生成用計算機２９０、及び、ＬＡＮ２１０が相互に通信可能な状態にする。これ以降、情報抽出システムの各計算機及び各データベースは、例えば、ＩＰアドレス及びホスト名に基づいて通信する。
【００５７】
図３Ａは、本実施例１の文献データベース２２０を示す説明図である。
【００５８】
文献データベース２２０は、本実施例の情報抽出システムが機械学習をする対象となる文献の情報を格納するデータベースである。
【００５９】
文献データベース２２０は、文献ＩＤ２２０１と本文２２０２とを保持する。文献ＩＤ２２０１は、文献を一意に示す識別子を含み、各文献を区別する目的で用いられる。本文２２０２は、文献ＩＤ２２０１が示す文献に含まれる文字列を示す。
【００６０】
図３Ｂは、本実施例１のラベルデータベース２２５を示す説明図である。
【００６１】
ラベルデータベース２２５は、各文献に定められたラベルを示すデータベースである。ラベルデータベース２２５は、ラベルＩＤ２２５１、文献ＩＤ２２５２、及び、ラベル２２５３を含む。
【００６２】
ラベルＩＤ２２５１は、ラベルを一意に示す識別子を含む。文献ＩＤ２２５２は、ラベルＩＤ２２５１が示すラベルを付与された文献を示し、文献データベース２２０の文献ＩＤ２２０１の識別子に相当する。
【００６３】
ラベル２２５３は、ラベルが付与されたデータが文献のどの位置に出現するかを示す。例えば、レコード２２５４は、文献ＩＤ２２５２“１”の文献において、“１”というラベルが付与されるノードの開始文字位置が“１０”であり、終了文字位置が“１４”であることを示す。そして、レコード２２５４は、この文献ＩＤ２２５２“１”の文献におけるラベル“１”に、ラベルＩＤ２２５１“１”が割り当てられることを示す。
【００６４】
なお、ラベルが付与されるデータが、例えばトークン毎である場合に、ラベルデータベース２２５は、トークンの数によって開始位置と終了位置とを示すなど、ラベルを付与する目的に従ったデータを保持してよい。
【００６５】
図３Ｃは、本実施例１の素性タイプデータベース２３０を示す説明図である。
【００６６】
素性タイプデータベース２３０は、ノードに対して取得される素性のパターンを示すデータベースである。素性タイプデータベース２３０は、素性ＩＤ２３０１と、素性名２３０２とを含む。素性ＩＤ２３０１は、素性のパターンを一意に示す識別子である。
【００６７】
素性名２３０２は、素性のパターンを示す文字列である。素性名２３０２は、文献データを素性ベクトルとして数値化するために用いられる方法を示す。
【００６８】
例えば、図３Ｃに示す素性ＩＤ２３０１“１”の、素性名２３０２“ｔｏｋｅｎ＿ｓｕｒｆａｃｅ＿０”は、ノードの文字列自体の文字列を素性として取得することを示す。また、図３Ｃに示す素性ＩＤ２３０１“２”の、素性名２３０２“ｔｏｋｅｎ＿ｓｕｒｆａｃｅ＿１”は、対象の文字列の一つ後の文字列を素性として取得することを示す。
【００６９】
素性タイプデータベース２３０に格納される素性タイプは、ユーザによってあらかじめ定められた素性タイプである。
【００７０】
図４は、本実施例１の素性タイプの最適化及びラベル無しデータの選択を行わない場合の機械学習を示す機能ブロック図である。
【００７１】
図４は、図２に示す処理部に相当する機能ブロックが、実施例１の処理において入出力するデータの流れを示す。
【００７２】
まず、ラベル生成用計算機２９０のラベル生成部２９５は、ユーザによって指定されたラベルを、ラベルデータベース２２５に格納する。なお、素性タイプデータベース２３０には、あらかじめユーザによって指定された素性タイプが格納される。
【００７３】
初期化部２３５は、素性タイプデータベース２３０から任意の素性タイプｆを取得し、ラベルデータベース２２５と文献データベース２２０とから、教師データリストを生成する。また、初期化部２３５は、文献データベース２２０から、ラベル無しデータリストを生成する。初期化部２３５は、素性タイプｆ、教師データリスト及びラベル無しデータリストを含むデータ３０をグラフ構築部２７０に出力する。
【００７４】
グラフ構築部２７０は、素性タイプｆ、教師データリスト及びラベル無しデータリストに基づいて、グラフを生成する。なお、グラフを生成する際に、グラフ構築部２７０は、素性ベクトル生成部２３７に、教師データリスト及びラベル無しデータリストに基づいて、教師データの素性ベクトルと、ラベル無しデータの素性ベクトルとを生成させる。
【００７５】
なお、素性ベクトルとは、素性タイプｆに従って、各データ及び各データの前後のデータに関する情報を数値ベクトルによって表現することによって、各文献に含まれるデータを定量的に示すための数値ベクトルである。
【００７６】
以下に、素性ベクトル生成部２３７による素性ベクトルの生成処理、及び、グラフ構築部２７０におけるグラフの生成処理の例を示す。以下の例では、素性ベクトル生成部２３７は、文献に含まれるデータをチャンカーによってトークンに分割し、各トークンをノードとして素性ベクトルを生成する。
【００７７】
文献に含まれるトークンの情報を数値ベクトル化する具体例として、素性ベクトル生成部２３７が、情報と数値ベクトルの次元との対応表とを用いる方法がある。例えば、素性ベクトル生成部２３７は、品詞名と数値ベクトルの次元との対応表として、「名詞：１、動詞：２、助詞：３、…」を、あらかじめ保持し、この対応表によって、トークンの品詞を数値ベクトル化する。
【００７８】
具体的には、前述の例において、素性ベクトル生成部２３７は、トークンの品詞が名詞である場合、数値ベクトル（１，０，０，…）を生成する。また、素性ベクトル生成部２３７は、トークンの品詞が助詞である場合、数値ベクトル（０，０，１，…）を生成する。素性ベクトル生成部２３７は、トークンがマッチした対応表の要素に、“１”を割り当て、トークンがマッチしない要素に“０”を割り当てる。
【００７９】
同様の手順によって、素性ベクトル生成部２３７は、トークンの表記及び原型、活用形及び活用型、並びに、辞書の項目とのマッチングなどについて数値ベクトルを生成することができる。
【００８０】
さらに、同様の手順によって、素性ベクトル生成部２３７は、数値ベクトルを生成する対象のトークンと隣接するトークンの情報を用いることができる。具体的には、素性タイプｆが、対象のトークンの一つ前のトークンを素性として用いることを示す場合、素性ベクトル生成部２３７は、対象となるトークンの一つ前のトークンの品詞情報を、数値ベクトル化する。そして、素性ベクトル生成部２３７は、対象となるトークンの数値ベクトルに、対象となるトークンの一つ前のトークンの数値ベクトルを追加することによって、対象となるトークンの数値ベクトルを生成する。
【００８１】
また、情報と数値ベクトルの次元との対応表にマッチした場合に、数値ベクトルの要素の値を“１”にする方法のほかに、素性ベクトル生成部２３７は、隣接する二つのトークンの共起情報を表す値として自己相互情報量の値、文書全体で辞書にマッチした回数などを用いてもよい。
【００８２】
素性ベクトルを生成する対象のトークンについて、全ての数値ベクトルが生成された場合、素性ベクトル生成部２３７は、生成された数値ベクトルをあらかじめ定められた順番で結合し、トークンを表す一つの素性ベクトルを生成する。ここで、数値ベクトルの結合とは、各ベクトルの全要素を自身の要素として持つベクトルを生成することであり、例えば、ベクトルｖ（ｖ１，ｖ２，ｖ３）とベクトルｗ（ｗ１，ｗ２）との結合ｘは、（ｖ１，ｖ２，ｖ３，ｗ１，ｗ２）である。
【００８３】
次に、グラフ構築部２７０は、例えば、トークンの類似度として、二つのトークンの数値ベクトルの距離を算出する。ここで数値ベクトルの距離には、ユークリッド距離、又は、コサイン距離などがあり、タスク又はデータごとに適した距離は異なる。
【００８４】
グラフ構築部２７０は、算出された距離に従った重みを、各トークン間のエッジに定める。例えば、グラフ構築部２７０は、算出された距離が小さいトークン間のエッジに、小さい重みを定めてもよい。グラフ構築部２７０は、トークン間のエッジの重みを定めることによって、グラフｇを生成する。本実施例において、ユーザによって指定された所定の値以上の重みが定められたエッジによって、ノード間が接続される場合、ノード間が接続されると記載する。
【００８５】
グラフ構築部２７０は、グラフｇを含むデータ３１を、機械学習部２８０に入力する。機械学習部２８０は、グラフｇを含むデータ３１を入力された場合、グラフｇを用いて、教師データのラベルを、エッジで接続されたラベル無しデータへ伝搬させる。そして、機械学習部２８０は、ラベル伝搬の処理結果を最終出力３２として出力する。
【００８６】
ここで、最終出力３２の形式は、機械学習部２８０によるアルゴリズムによって異なる。例えば、公知のアルゴリズムであるＣＲＦの場合、ＣＲＦのモデルパラメータである。また、ラベルプロパゲーションアルゴリズムの場合、ラベル無しデータに付けられたラベルが、最終出力３２である。
【００８７】
以下簡単に、本実施例の機械学習部２８０による機械学習アルゴリズムを説明する。
【００８８】
グラフを用いる機械学習の代表例として、非特許文献１において提案されたラベル伝播法が挙げられる。非特許文献１に記載されたラベル伝搬法を用いたアルゴリズムにおいて、機械学習部２８０は、まず、Ｎ個の教師データと、Ｍ個のラベル無しデータとを、一次元の配列Ｄに整列させる。
【００８９】
また、それぞれの教師データ及びラベル無しデータには、Ｋ個のラベルのうちのいずれかが対応付けられる。機械学習部２８０は、教師データ及びラベル無しデータに対応付けられたラベルを、一次元の配列Ｅに整列させる。
【００９０】
次に、機械学習部２８０は、確率遷移行列Ｔを算出する。行列Ｔの（ｉ，ｊ）要素は、配列Ｄのｉ番目のデータと、配列Ｅのｊ番目のデータとの類似度である。次に、機械学習部２８０は、行列Ｙを算出する。行列Ｙの（ｉ，ｊ）要素は、配列Ｄのｉ番目のデータが配列Ｅのｊ番目のラベルをとる確率である。
【００９１】
行列Ｔと行列Ｙとを算出した後、機械学習部２８０は、次のステップＡ１〜ステップＡ３の三つのステップを、行列Ｙが収束するまで繰り返し計算する。
【００９２】
（ステップＡ１．）行列Ｔと行列Ｙとの積を算出し、新たなＹと定める
（ステップＡ２．）新たな行列Ｙの行を正規化する
（ステップＡ３．）正規化された行列Ｙの要素のうち、教師データに対応する要素を、ラベル情報で上書きする
前述のラベル伝搬法のアルゴリズムは、機械学習の結果として、ラベル無しデータに付与されるラベルか、又は、ラベル無しデータに付与される可能性のあるラベルと付与される可能性を示す確率値とを出力する。
【００９３】
ラベル伝播法の手順には、非特許文献１に挙げられた手順以外にも、多くのバリエーションが存在する。
【００９４】
また、ラベル伝搬を行うために、グラフを、教師有り学習の補助的な情報として用いるアルゴリズムがある。例えば、非特許文献４のように、条件付き確率場（Ｃｏｎｄｉｔｉｏｎａｌ  Ｒａｎｄｏｍ  Ｆｉｅｌｄ；ＣＲＦ）の学習においてラベル無しデータを用いるため、グラフ構造を採用したアルゴリズムの例が挙げられる。
【００９５】
この場合、機械学習部２８０は、ラベル無しデータに、仮ラベルを付与し、ＣＲＦを再学習する。そして、機械学習部２８０は、直前に学習したＣＲＦのスコアと、グラフ上でラベルを伝播させて決定されるスコアとに従って、仮ラベルを決定する。
【００９６】
このアルゴリズムの場合、機械学習部２８０は、学習結果として、通常のＣＲＦと同じくＣＲＦのモデルパラメータが得られる。このため、機械学習部２８０は、以後任意の文書が与えられたときに、通常のＣＲＦと同様にビタビアルゴリズム等で高速に識別することが可能である。このように、非特許文献１のラベル伝播法とは異なった特徴を持つアルゴリズムであるが、仮ラベルの付与の際、ラベル情報を伝播させている点は同じであり、非特許文献１のラベル伝播法と同様に本発明を適用することができる。
【００９７】
なお、以下に示す本実施例における機械学習部２８０は、グラフｇが入力されれば、ラベル伝播法のいずれのバリエーションによってもラベル伝搬をすることができる。
【００９８】
ユーザ（ドメインエキスパート）は、最終出力３２を評価し、評価結果が悪い場合、ラベル生成部２９５を用いてラベルを追加する。また、評価結果が悪い場合、ドメインエキスパートは、素性タイプｆ’を新たに定め、素性タイプｆ’を素性タイプｆとして、初期化部２３５に入力する。
【００９９】
ここで、図４に示す処理によれば、最適な素性タイプｆを選択するためには、本実施例の情報抽出システムは、機械学習部２８０に繰り返しラベル伝搬処理をさせる必要がある。
【０１００】
さらに、グラフｇには、文献データベース２２０に含まれるすべてのデータが含まれる。このため、文献データベース２２０に含まれるデータの量が多い場合、データの相互の距離を算出する処理によって、情報抽出用計算機２００のリソースが逼迫するおそれがある。
【０１０１】
このため、以下に示す実施例１の処理において、本実施例の情報抽出システムは、素性選択部２４０による素性タイプの最適化を、機械学習部２８０による処理の前に実行する。また、本実施例の情報抽出システムは、機械学習部２８０に入力するグラフに含まれるデータ（ラベル無しデータ）を、データ選択部２５５によって適切に選択する。
【０１０２】
図５は、本実施例１の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。
【０１０３】
図５は、図２に示す処理部に相当する機能ブロックが、実施例１の処理において入出力するデータの流れを示す。
【０１０４】
まず、ラベル生成用計算機２９０のラベル生成部２９５は、図４に示すラベル生成部２９５と同じく、ユーザによって指定されたラベルをラベルデータベース２２５に格納する。
【０１０５】
次に、情報抽出用計算機２００の初期化部２３５は、文献データベース２２０、ラベルデータベース２２５、及び、素性タイプデータベース２３０に格納されるデータを用いて初期化処理を行う。具体的には、初期化部２３５は、初期化処理として、文献データベース２２０、及びラベルデータベース２２５から、教師データリストＬ６０１、及びラベル無しデータリストＵ６０２を生成する。また、初期化部２３５は、初期化処理として、素性タイプデータベース２３０から、すべての素性タイプを抽出し、抽出された素性タイプを含む素性タイプＦを生成する。
【０１０６】
なお、素性タイプＦ、ラベル無しデータリストＵ６０２、及び、教師データリストＬ６０１は、ユーザによって指定されてもよい。
【０１０７】
図６Ａは、本実施例１の教師データリストＬ６０１を示す説明図である。
【０１０８】
教師データリストＬ６０１は、教師データを含む文献のリストである。初期化部２３５は、ラベルデータベース２２５からラベルＩＤ２２５１及び文献ＩＤ２２５２を抽出し、抽出されたデータを教師データリストＬ６０１に含める。
【０１０９】
教師データリストＬ６０１は、ラベルＩＤ６０１１及び文献ＩＤ６０１２を有する。ラベルＩＤ６０１１は、ラベルＩＤ２２５１に相当し、文献ＩＤ６０１２は、文献ＩＤ２２５２に相当する。
【０１１０】
図６Ｂは、本実施例１のラベル無しデータリストＵ６０２を示す説明図である。
【０１１１】
ラベル無しデータリストＵ６０２は、教師データを含まない文献のリストである。初期化部２３５は、文献データベース２２０の文献ＩＤ２２０１の識別子から、ラベルデータベース２２５の文献ＩＤ２２５２を除いた識別子を抽出する。そして、初期化部２３５は、抽出された識別子をラベル無しデータリストＵ６０２に含める。
【０１１２】
ラベル無しデータリストＵ６０２は、ＩＤ６０２１及び文献ＩＤ６０２２を含む。ＩＤ６０２１には、ラベル無しデータを含む文献の、ラベル無しデータリストＵ６０２における通し番号が格納される。文献ＩＤ６０２２は、ラベル無しデータを含む文献の識別子を含む。
【０１１３】
初期化部２３５は、初期化処理の結果、素性タイプＦ及び教師データリストＬ６０１を、データ３００として素性選択部２４０に入力する。
【０１１４】
素性選択部２４０は、データ３００を入力された場合、図４に示す素性選択部２４０と同じく、素性ベクトル生成部２３７及びグラフ構築部２７０を用いて、教師データに関するグラフｇ１を生成する。ここで、素性選択部２４０は、グラフｇ１を生成するために、素性タイプＦから最適な素性タイプを選択する。そして、素性選択部２４０は、選択された素性タイプを、素性タイプｆ１として出力する。
【０１１５】
素性選択部２４０は、生成されたグラフｇ１、教師データの素性ベクトル、及び、素性タイプｆ１を、データ３１０として、データ選択部２５５に入力する。また、初期化部２３５は、ラベル無しデータリストＵ６０２を、データ３２０としてデータ選択部２５５に入力する。
【０１１６】
データ選択部２５５は、データ３１０及びデータ３２０を入力された場合、グラフｇ１と、教師データの素性ベクトルと、ラベル無しデータの素性ベクトルとに基づいて、ラベルが伝搬されるために適したラベル無しデータを選択する。そして、データ選択部２５５は、選択されたデータをラベル無しデータｕ２として出力する。また、データ選択部２５５は、グラフｇ１にラベル無しデータｕ２を加えたグラフｇ２を生成する。
【０１１７】
グラフｇ２は、ラベル無しデータｕ２のデータをノードとしてグラフｇ１に追加したグラフである。グラフｇ２の初期値は、グラフｇ１である。
【０１１８】
データ選択部２５５は、グラフｇ２、教師データの素性ベクトル、及び、ラベル無しデータｕ２の素性ベクトルを、データ３３０として、機械学習部２８０に入力する。
【０１１９】
機械学習部２８０は、データ３３０を入力された場合、データ３３０に基づいて機械学習を行い、機械学習の結果である最終出力３４０を生成する。機械学習部２８０は、図４に示す機械学習部２８０と同じ方法によって、グラフｇ２を機械学習することによって、ラベル伝搬を行う。
【０１２０】
図７は、本実施例１の素性選択部２４０による処理の流れを示すフローチャートである。
【０１２１】
図７に示す処理は、図２において初期化部２３５からデータ３００を入力された場合、素性選択部２４０が実行する処理を示す。
【０１２２】
素性選択部２４０は、素性タイプＦから、グラフの構築に用いる素性タイプを、少なくとも一つ選択する（４００）。ステップ４００において選択された素性タイプを素性タイプｆ１と記載する。ステップ４００において選択される素性タイプの数は、ユーザの任意の値である。
【０１２３】
ステップ４００の後、素性選択部２４０は、素性タイプｆ１と教師データリストＬ６０１とを素性ベクトル生成部２３７に入力する。
【０１２４】
素性ベクトル生成部２３７は、入力された素性タイプｆ１と教師データリストＬ６０１と文献データベース２２０とラベルデータベース２２５とに基づいて、素性ベクトル７１０を生成する（４１０）。ステップ４１０において、素性ベクトル生成部２３７は、図４に示す処理において素性ベクトルを生成した方法と同じ方法によって、素性ベクトルを生成する。
【０１２５】
図８Ａは、本実施例１の教師データの素性ベクトル７１０を示す説明図である。
【０１２６】
素性ベクトル７１０は、教師データの素性ベクトルである。素性ベクトル７１０の各行は、一つの教師データについての素性ベクトルを示す。
【０１２７】
素性ベクトル７１０の各行の先頭に、教師データに付与されたラベルの値が含まれる。各行には、対象のデータに関する各素性を示す要素が含まれ、タブ等の区切り文字で各要素は区切られる。
【０１２８】
例えば、“１：０．５”のように表現される要素は、“：”より左の数値が素性の次元“１”を示し、“：”より右が素性の値“０．５”を示す。
【０１２９】
素性の次元とは、文献に記載された内容の文法に従って単語に割り当てられた数値であり、例えば、助詞、又は、形容詞等を数値によって表現した値である。素性の値とは、文献における素性自体の値である。例えば、素性の次元が形容詞を示す場合、素性の値は“高速な”等である。
【０１３０】
さらに、図８Ａにおいて、要素“１：０．５”と要素“２：０．８”と要素“５：−０．１”とを含む行は、（０．５，０．８，０，０，−０．１）という素性ベクトルを示す。
【０１３１】
図８Ｂは、本実施例１のラベル無しデータの素性ベクトル７００を示す説明図である。
【０１３２】
ラベル無しデータリストＵ６０２も、データ選択部２５５による後述の処理において、素性ベクトル７００に変換される。
【０１３３】
素性ベクトル７００は、ラベル無しデータの素性ベクトルである。素性ベクトル７００の各行は、一つのラベル無しデータについての素性ベクトルを示す。
【０１３４】
素性ベクトル７００は、素性ベクトル７１０と同じく数値ベクトルを含む。しかし、素性ベクトル７００の各行に、ラベルが付与されない点において、素性ベクトル７００と素性ベクトル７１０とは相違する。
【０１３５】
ステップ４１０において、素性ベクトル生成部２３７は、教師データリストＬ６０１の１行が、素性ベクトル７１０の１行に対応するように、素性の次元及び素性の値の組を、素性ベクトル７１０に格納する。そして、素性ベクトル生成部２３７は、教師データリストＬ６０１のラベルＩＤ６０１１に対応するラベルＩＤ２２５１を有するラベルデータベース２２５の行を特定し、特定された行のラベル２２５３から、ラベルの値を抽出する。そして、素性ベクトル生成部２３７は、抽出されたラベルの値を、素性ベクトル７１０の各行の先頭に格納する。
【０１３６】
以上によって、素性ベクトル生成部２３７は、素性タイプｆ１と教師データリストＬ６０１とに基づいて、素性ベクトル７１０を生成する。
【０１３７】
ステップ４１０の後、グラフ構築部２７０は、ステップ４１０において生成された素性ベクトル７１０を、グラフｇ１に変換する（４２０）。具体的には、素性ベクトル７１０の各行はノードに対応するため、グラフ構築部２７０は、素性ベクトルを用いて、各行の距離を算出し、算出された距離に従った重みをノード間のエッジに定める。これによって、グラフ構築部２７０は、教師データの素性ベクトル７１０を、グラフｇ１に変換する。
【０１３８】
ステップ４２０の後、素性評価部２４５は、素性評価関数によってグラフｇ１の評価値（Ｓｃｏｒｅmerge）を算出する（４３０）。ここで、素性評価関数は、一つのグラフに対して、二つ以上の評価値を返してもよい。
【０１３９】
素性評価部２４５は、例えば式１を用いて、素性評価関数のうちの一つの評価値であるクロスラベルエラー（Ｅｒｒdiff）を算出する。クロスラベルエラーは、グラフ内に異なるラベルがどの程度含まれるかを示す評価値である。
【０１４０】
【数１】
2014059754.tif 000003
【０１４１】
式１における記号Ｇは、グラフを示す記号である。記号Ｅは、グラフに含まれるすべてのエッジを示す。記号Ｗは、ノード間のエッジに定められる重みである。記号ｌは、ラベルの値である。ノードｉ及びｊは、ノードを示す。関数１［ｌ（ｉ）≠ｌ（ｊ）］は、ノードｉとノードｊとのラベルの値が異なる場合、１を返す関数である。このため、式１に示すクロスラベルエラーは、ラベルの値が異なるノード間の重みの総和（分子）を、ノード間の重みの総和（分母）で割った値である。
【０１４２】
さらに、素性評価部２４５は、例えば式２を用いて、異ラベル接続スコア（Ｓｃｏｒｅdiff）を算出する。異ラベル接続スコアは、クロスラベルエラーにマイナス１を乗じることによって算出される。
【０１４３】
【数２】
2014059754.tif 000004
【０１４４】
クロスラベルエラーは、非特許文献２においても用いられており、グラフにおいて、異なるラベルを持つノードがエッジで結ばれる割合を評価するための値である。異なるラベルを持つノード同士が、大きい重みのエッジで結ばれるグラフは、正確にラベルを伝播させることができない。このため、クロスラベルエラーを評価の指標として、グラフを評価することによって、素性評価部２４５は、異なるラベル間をつなぐエッジにペナルティを科すことができる。
【０１４５】
さらに、素性評価部２４５は、例えば式３を用いて、同ラベル接続スコア（Ｓｃｏｒｅsame）を算出する。同ラベル接続スコアは、グラフにおいて同じラベルがどの程度含まれるかを示す評価値である。すなわち、グラフにおいて、同じラベルをもつノード同士が接続される割合を評価するための評価値である。
【０１４６】
【数３】
2014059754.tif 000005
【０１４７】
関数１［ｌ（ｉ）＝ｌ（ｊ）］は、ノードｉとノードｊとのラベルの値が同じ場合、１を返す関数である。このため、式３に示す同ラベル接続スコアは、ラベルの値が同じノード間の重みの総和（分子）を、ノード間の重みの総和（分母）で割った値である。
【０１４８】
実施例１の素性評価部２４５は、同ラベル接続スコア及び異ラベル接続スコアを用いて、グラフｇ１の評価値を算出する。そして、素性評価部２４５は、各グラフｇ１の評価値（異ラベル接続スコア、及び、同ラベル接続スコア）を記憶する。
【０１４９】
図９Ａは、本実施例１の異ラベル接続スコアのみによって算出されるグラフの評価値を示す説明図である。
【０１５０】
図９Ａに示すグラフの評価値は、異ラベル接続スコアのみによって算出された評価値である。図９Ａに示す黒丸は、グラフの評価値を示す。図９Ａは、評価値９０及び評価値９１を示す。
【０１５１】
評価値９０は、図９Ａに示すグラフ９００のようにノードがエッジで接続される場合に、グラフ９００に算出される評価値である。また、評価値９１は、グラフ９１０又はグラフ９１１のようにノードがエッジで接続される場合に、グラフ９１０又はグラフ９１１に算出される評価値である。また、図９Ａの横軸は異ラベル接続スコアである。図９Ａに示す各グラフは、異なる素性タイプｆ１によって生成されたグラフである。
【０１５２】
グラフ９００、グラフ９１０、及び、グラフ９１１に示す四角形と丸とは、ラベルを付与されたノード、すなわち、教師データを示す。同じ図形で示されたノードは、同じラベルが付与されるノードである。
【０１５３】
グラフ９００は、異なるラベルを持つノードのみがエッジで接続された場合のグラフである。グラフ９１０は、同じラベルを持つノードのみがエッジで接続された場合のグラフである。グラフ９１１は、いずれのノードもエッジで接続されない場合のグラフである。
【０１５４】
ここで、グラフ９１０とグラフ９１１とは、どちらも異ラベル接続スコアが“０”（異ラベル接続スコアの最大値）であり、同じ異ラベル接続スコアが算出される。しかし、グラフ９１１は、いずれのノードもエッジで接続されていないため、ラベルを伝搬するのに適切なグラフとは言えない。
【０１５５】
具体的には、グラフ９１１にラベル無しデータを追加した場合、過度に疎なグラフになり、ラベルの伝播が阻害されてしまう可能性が高いため、本実施例の情報抽出システムは、適切にラベル無しデータにラベルを伝搬させることができない可能性があるためである。
【０１５６】
このため、異ラベル接続スコアのみによってグラフ９１１を選択する方法は適切ではなく、また、異ラベル接続スコアのみによってグラフを評価する方法は、適切ではない。
【０１５７】
図９Ｂは、本実施例１の同ラベル接続スコア及び異ラベル接続スコアによって算出されるグラフの評価値を示す説明図である。
【０１５８】
図９Ｂは、同ラベル接続スコア及び異ラベル接続スコアによってグラフの評価値を算出した場合の、グラフの評価値を示す。図９Ｂの横軸は、異ラベル接続スコアを示し、図９Ｂの縦軸は、同ラベル接続スコアを示す。図９Ｂは、評価値９２、評価値９３、評価値９４、及び、評価値９５を示す。
【０１５９】
評価値９２は、グラフ９２０に算出される評価値であり、評価値９３は、グラフ９３０に算出される評価値であり、評価値９４は、グラフ９４０によって算出される評価値であり、評価値９５は、グラフ９５０によって算出される評価値である。図９Ｂに示す各グラフは、異なる素性タイプｆ１によって生成されたグラフである。
【０１６０】
図９Ｂの右側に評価値が示されるほど、異ラベル接続スコアが大きく、図９Ｂの上に評価値が示されるほど、同ラベル接続スコアが大きい。ある評価値の左下の領域に示される評価値は、異ラベル接続スコア、同ラベル接続スコア、又は、その両方において、右上にある評価値よりも劣っていることを意味する。
【０１６１】
例えば、評価値９４は、評価値９３の左下に示されるため、異ラベル接続スコアも、同ラベル接続スコアも、評価値９３より劣る。一方、右上に示されるほど評価値は高く、ラベルを伝搬させるためには有用なグラフであるといえる。
【０１６２】
このように、二つ以上の目的（図９Ｂにおいて、同ラベル接続スコア及び異ラベル接続スコア）がある場合、自らの評価値よりも右上に評価値が示されるグラフが少ない順に、各グラフをランキングすることによって、各グラフを評価することができる。
【０１６３】
ステップ４３０の後、素性選択収束判定部２５０は、素性評価部２４５によって算出された評価値と、過去に実行されたステップ４３０において算出された評価値とを比較することによって、素性評価部２４５によって算出される評価値が収束したか否かを判定する（４４０）。
【０１６４】
ここで、素性選択収束判定部２５０は、素性評価部２４５によって算出された評価値が、過去に算出された評価値よりも低いか、又は、同程度であると判定した場合、評価値が収束したと判定してもよい。また、素性選択収束判定部２５０は、算出された評価値が、過去に算出された評価値よりも低いか、又は、同程度であると判定した後も、ステップ４５０、ステップ４１０、ステップ４２０、及び、ステップ４３０が、ユーザによってあらかじめ指定された所定の回数繰り返し行われた結果、算出された評価値が大きく変化しなくなっていると判定した場合、評価値が収束したと判定してもよい。
【０１６５】
素性選択収束判定部２５０が、評価値が収束したと判定した場合、素性選択収束判定部２５０は、ステップ４３０において算出された評価値が最も高いグラフｇ１と、グラフｇ１を生成するための素性タイプｆ１と、教師データの素性ベクトル７１０とを出力する。そして、素性選択部２４０は、図７に示す処理を終了する。
【０１６６】
素性選択収束判定部２５０によって評価値が収束していないと判定された場合、多目的最適化部２７５は、ステップ４３０において算出された評価値と、素性タイプｆ１とに基づいて、新たな素性タイプｆ１を選択する（４５０）。
【０１６７】
以下に、多目的最適化部２７５による、新たな素性タイプｆ１の選択方法の具体例を示す。
【０１６８】
図９Ｂに示す評価値に従ってグラフをランキングする方法に基づいて、進化論的計算手法を二つ以上の目的（前述の例において、異ラベル接続スコア及び同ラベル接続スコア）の最適化に応用した例として、ＮＳＧＡ−ＩＩなどの進化論的多目的最適化が知られる。ステップ４５０において、多目的最適化部２７５は、このような進化論的多目的最適化を用いることができる。
【０１６９】
ＮＳＧＡ−ＩＩにおいて、前述したランキング方法を用いて解候補（素性タイプｆ１によって生成されたグラフ）を整列する方法は、Ｎｏｎ−Ｄｏｍｉｎａｔｅｄ  Ｓｏｒｔと呼ばれる。本実施例１の進化論的多目的最適化として、ＮＳＧＡ−ＩＩを以下に説明する。
【０１７０】
多目的最適化部２７５は、ステップ４００が実行されてから初めてステップ４５０が実行される場合、解候補集団Ｐ及び子解候補集団Ｑを初期化する。具体的には、多目的最適化部２７５は、素性タイプｆ１によって解候補集団Ｐを初期化する。さらに、多目的最適化部２７５は、子解候補集団Ｑを空のリストで初期化する。
【０１７１】
その後、多目的最適化部２７５は、次のステップＢ１〜ステップＢ５を、ステップ４５０が実行される毎に繰り返すことによって、子解候補集団Ｑ、すなわち、最適な評価値であるグラフと、そのグラフを生成するための素性タイプを求める。なお、求まる解候補の総数をＳとする。
【０１７２】
（ステップＢ１．）多目的最適化部２７５は、解候補集団Ｐと子解候補集団ＱとをあわせたリストＲを生成し、Ｎｏｎ−Ｄｏｍｉｎａｔｅｄ  ＳｏｒｔによりリストＲを整列する。そして、多目的最適化部２７５は、Ｎｏｎ−Ｄｏｍｉｎａｔｅｄ  Ｓｏｒｔによるランクごとにグループ化する。なお、Ｎｏｎ−Ｄｏｍｉｎａｔｅｄ  Ｓｏｒｔによるランクは、ステップ４３０において算出された評価値に基づいて定められる。
【０１７３】
（ステップＢ２．）多目的最適化部２７５は、各グループ内の解候補同士の近さ（Ｃｒｏｗｄｉｎｇ  Ｄｉｓｔａｎｃｅ）を算出する。
【０１７４】
（ステップＢ３．）多目的最適化部２７５は、新たな解候補集団Ｐを生成し、新たな解候補集団Ｐを空のリストとして初期化する。そして、多目的最適化部２７５は、新たな解候補集団Ｐの要素数がＳより小さいうちは、解候補をグループ単位でリストＲから新たな解候補集団Ｐに移動することを繰り返す。
【０１７５】
（ステップＢ４．）多目的最適化部２７５は、新たな解候補集団Ｐの要素数がＳと等しくなるまで、リストＲのランクの高いグループ、かつ、Ｃｒｏｗｄｉｎｇ  Ｄｉｓｔａｎｃｅの大きいものから順に、新たな解候補集団Ｐに移動する。
【０１７６】
（ステップＢ５．）多目的最適化部２７５は、新たな解候補集団Ｐを元に、選択、交叉、又は、突然変異などの遺伝子操作を行い、子解候補集団Ｑを生成する。その後、多目的最適化部２７５は、ステップ１に戻る。
【０１７７】
ステップＢ１〜ステップＢ５は、終了条件が満たされるまで繰り返される。多目的最適化部２７５は、ステップＢ４において生成された解候補集団Ｐと、ステップＢ５において生成された子解候補集団Ｑとを保持し、ステップＢ１に処理が戻る場合、保持された解候補集団Ｐと子解候補集団Ｑとを用いる。
【０１７８】
そして、ステップＢ１〜ステップＢ５の終了条件が満たされる場合、多目的最適化部２７５は、ステップＢ５によって生成された子解候補集団Ｑを次の素性タイプｆ１として、素性ベクトル生成部２３７に入力し、ステップ４５０を終了する。
【０１７９】
ステップ４５０におけるステップＢ１〜ステップＢ５の終了条件とは、ステップ４５０がユーザによって指定された所定の回数繰り返された場合、又は、解が改善されなくなった場合である。解が改善されない場合には、例えば、Ｎｏｎ−Ｄｏｍｉｎａｔｅｄ  Ｓｏｒｔによるランクにおいて最上位のグループに含まれる解候補の数が、ステップ４５０が繰り返されても変化しなくなった場合がある。
【０１８０】
また、解が改善されない場合には、例えば、Ｎｏｎ−Ｄｏｍｉｎａｔｅｄ  Ｓｏｒｔによるランクにおいて最上位のグループに含まれる解候補の評価値と、各評価軸（図９Ｂに示す横軸及び縦軸）を含む面とを含む領域の体積（ハイパーボリューム）が、ステップ４５０が繰り返されても増加しなくなった場合がある。
【０１８１】
ここで、二つ以上の目的がある場合の最適解は、必ずしも一点で求められるわけではなく、ある点の右上に他の点が無い点の集合（パレート最適解）が複数求められてもよい。具体的には、ステップＢ５において、最適な素性タイプｆ１が複数求められてもよい。この場合、多目的最適化部２７５は、ステップ４５０の結果として、複数の素性タイプｆ１を出力してもよい。そして、ステップ４１０における素性ベクトル生成部２３７は、複数の素性タイプｆ１によって複数の素性ベクトルを生成してもよい。
【０１８２】
パレート最適解の利点は、最適化終了時に、異ラベル接続スコアを重視した場合から、同ラベル接続スコアを重視した場合まで、さまざまな解候補が得られることである。そのため、もし一つの解候補で、機械学習の性能が上がらない場合も、逐次パレート最適解を試すことによって、選りすぐられた学習結果を得ることが可能である。
【０１８３】
なお、異ラベル接続スコアと、同ラベル接続スコアとは、裏返しの関係にあるため、どちらかのスコアを、異ラベル接続スコアと同ラベル接続スコアとは別の指標で置き換えても、同様の機能を実現することができる。例えば、同ラベル接続スコアに代わって、総エッジ数をグラフの評価値を算出するためのスコアに用いてもよい。この場合、総エッジ数スコアが、エッジ数を増やす効果があるのに対し、異ラベル接続スコアが、ラベルの異なるエッジにペナルティを加えるため、結果として同一ラベル間のエッジを増やし、ラベルの異なるエッジを抑えるような評価値の算出方法が用いられる。
【０１８４】
このように、異ラベル接続スコアと同ラベル接続スコアとの二つの目的を用いる方法は、一例であり、その他の同様の効果を持つ指標を任意の数だけ用いることが可能である。
【０１８５】
図７に示す処理によって、素性選択部２４０は、素性タイプの異なるグラフを複数生成し、生成された各グラフについて評価値を算出することができる。そして、評価値に基づいて、ラベル無しデータにラベルを伝搬させるために最適なグラフを生成するための素性タイプｆ１と、素性タイプｆ１によって生成されるグラフｇ１とを選択することができる。この結果、素性選択部２４０の処理によって、グラフｇ１が最適化される。
【０１８６】
図１０は、本実施例１のデータ選択部２５５の処理を示すフローチャートである。
【０１８７】
データ選択部２５５に、グラフｇ１、素性タイプｆ１、教師データの素性ベクトル７１０、及び、ラベル無しデータリストＵ６０２が入力された場合、データ選択部２５５は、素性ベクトル生成部２３７に、ラベル無しデータリストＵ６０２と素性タイプｆ１とを入力する。そして、素性ベクトル生成部２３７は、ラベル無しデータリストＵ６０２を、素性タイプｆ１によって、図８Ｂに示すラベル無しデータの素性ベクトル７００に変換する（１０９０）。
【０１８８】
ここで、素性ベクトル生成部２３７は、ラベル無しデータリストＵ６０２の文献ＩＤ６０２２が示す文献に含まれるすべてのデータについて、素性タイプｆ１に従って、素性ベクトル７００を生成する。このため、素性ベクトル７００の各行は、各文献に含まれるすべてのノードに対応する。
【０１８９】
ステップ１０９０の後、データ評価部２６０は、ラベル無しデータの素性ベクトル７００と、教師データの素性ベクトル７１０とに基づいて、ラベル無しデータのノードと、グラフｇ１に含まれるノードとの距離を算出する。そして、各ラベル無しデータのノードとグラフｇ２に含まれるノードとの距離の最小値をメモリ１２０に蓄積する（１１００）。
【０１９０】
具体的には、例えば、ラベル無しデータのノードＡと、グラフｇ１に含まれるノード（ノードＢ〜ノードＤ）との距離を算出し、ノードＡとノードＤとの距離が、ノードＡと他のどのノードとの距離よりも短い場合、データ評価部２６０は、ノードＡとグラフｇ１との距離として、ノードＡとノードＤとの距離のみをメモリ１２０に蓄積する。そして、データ評価部２６０は、この距離の算出処理によって、すべてのラベル無しデータのノードとグラフｇ１との距離を算出する。
【０１９１】
ステップ１１００の後、データ評価部２６０は、蓄積された複数の距離の中から、グラフｇ１（ステップ１１３０実行後において、グラフｇ２）との距離が最も長いデータｄ’を選択する。そして、データ評価部２６０は、選択されたデータｄ’を、ノードとしてグラフｇ１（ステップ１１３０実行後において、グラフｇ２）に追加する。グラフｇ１にデータｄ’が追加された後のグラフｇ１を、グラフｇ２と記載する。
【０１９２】
さらに、データ評価部２６０は、ラベル無しデータの素性ベクトル７００から、データｄ’に対応する行を削除する。また、データ評価部２６０は、グラフｇ２に追加されたデータｄ’と、データｄ’の素性ベクトルとを、ラベル無しデータｕ２に追加する（１１１０）。
【０１９３】
ステップ１１１０の後、データ選択収束判定部２６５は、ステップ１１１０においてグラフｇ２に追加されたデータｄ’の数、又は、データｄ’の距離等に従って、データｄ’の追加処理が収束したか否かを判定する（１１２０）。
【０１９４】
具体的には、データ選択収束判定部２６５は、追加されるデータｄ’の数、又は、追加されるデータｄ’のグラフｇ２との距離の最小値をあらかじめユーザによって指定されてもよい。そして、ステップ１１２０において、データ選択収束判定部２６５は、指定された数のデータｄ’がグラフｇ２に追加された場合、データｄ’の追加処理が収束したと判定してもよい。また、データ選択収束判定部２６５は、指定されたデータｄ’の距離の最小値よりも、ステップ１１１０において選択されたデータｄ’の距離が短い場合、データｄ’の追加処理が収束したと判定してもよい。
【０１９５】
データｄ’の追加処理が収束したと判定された場合、データ選択部２５５は、図１０に示す処理を終了し、グラフｇ２、教師データの素性ベクトル７１０、及び、ラベル無しデータｕ２の素性ベクトル７００を出力する。
【０１９６】
データｄ’の追加処理が収束していないと判定された場合、データ評価部２６０は、ラベル無しデータの素性ベクトル７００と、教師データの素性ベクトル７１０とに基づいて、ラベル無しデータの素性ベクトル７００に含まれるラベル無しデータと、ステップ１１１０においてグラフｇ２に追加されたデータｄ’との距離を算出する。そして、データ評価部２６０は、算出された距離によって、ラベル無しデータとグラフｇ２とに属するデータとの距離の最小値を更新する（１１３０）。ステップ１１３０の後、データ評価部２６０は、ステップ１１１０に戻り、データｄ’を選択する。
【０１９７】
前述のステップ１１１０からステップ１１３０によって抽出されるデータｄ’について、以下に説明する。
【０１９８】
図１１Ａは、本実施例１のグラフｇ２とラベル無しデータとを示す説明図である。
【０１９９】
図１１Ａに示すデータ１０〜データ１４は、ラベル無しデータを示す。また、データ２０〜データ２２は、教師データ、及び、グラフｇ２に追加後のラベル無しデータを示す。
【０２００】
データ１０〜データ１２は、素性ベクトルにおいて、相互に近い位置に存在し、グラフｇ２からの距離がほぼ等しい。データ１０と、データ１３と、データ１４とは、素性ベクトルにおいて、相互に離れた位置に存在する。
【０２０１】
図１１Ｂは、本実施例１のグラフｇ２からの距離が最も長いラベル無しデータを選択した場合のグラフを示す説明図である。
【０２０２】
ここで、ステップ１１２０における収束判定に用いられる、追加されるデータｄ’の数として、データ選択収束判定部２６５に、“三つ”があらかじめ指定されているものとする。
【０２０３】
図１０に示す処理が開始された場合、データ評価部２６０は、ステップ１１００において、例えばデータ１４とデータ２２との距離を、ラベル無しデータであるデータ１４とグラフｇ２との最小値として蓄積する。また、データ評価部２６０は、例えばデータ１１とデータ２０との距離を、データ１１とグラフｇ２との最小値として蓄積する。
【０２０４】
さらに、ステップ１１１０において、データ評価部２６０は、蓄積された複数の距離の中から、グラフｇ１（グラフｇ２）との距離が最も長いデータｄ’を選択する。このため、データ評価部２６０は、ステップ１１１０が繰り返し実行されることにより、データ１０、データ１３、及び、データ１４をグラフｇ２に追加するデータｄ’として選択する。
【０２０５】
ここで、ラベル無しデータにラベルを伝搬させるための新たなグラフを生成するためには、図１１Ｂのように、選択されるラベル無しデータが、素性ベクトルにおいて、分散されていることが望ましい。しかし、単に、距離の最大値に基づいてラベル無しデータを選択した場合、データ評価部２６０が、密集したラベル無しデータの中からデータｄ’を選択し、分散されたラベル無しデータからデータｄ’選択できない場合がある。
【０２０６】
図１１Ｃは、本実施例１のグラフ１からの距離が最も長いラベル無しデータを選択した場合のグラフを示す説明図である。
【０２０７】
仮に、データ１３とグラフｇ２との距離及びデータ１４とグラフｇ２との距離よりも、データ１１とグラフｇ２との距離及びデータ１２とグラフｇ２との距離が大きく、データ評価部２６０が、グラフｇ１からの距離が最も大きいラベル無しデータを選択した場合、ステップ１１１０において選択されるデータｄ’は、図１１Ｃの黒三角が示すように、データ１０〜データ１２である。
【０２０８】
しかし、実施例１のデータ評価部２６０は、ステップ１１３０において、蓄積された距離を更新する。例えば、ステップ１１１０においてデータ１０が抽出された場合、ステップ１１３０において、データ１１とグラフｇ２との距離は、データ１１とデータ１０との距離によって更新される。このため、次のステップ１１１０において、データ１１がデータｄ’として選択されることはない。
【０２０９】
すなわち、実施例１のデータ評価部２６０は、ステップ１１３０を行うことによって、次のステップ１１１０において、分散されたラベル無しデータを選択することができる。そして、本発明のデータ選択部２５５は、ノードの密度の小さな部分からラベル無しデータを選択することによって、データの偏りが少ないグラフを生成することができる。
【０２１０】
そして、図１０に示すデータ選択部２５５の処理によって、最適なラベル無しデータを含むグラフｇ２を、機械学習部２８０に入力することができる。
【０２１１】
なお、実施例１では、ラベル無しデータを選択する観点としてデータの密度を用いたが、データ選択部２５５は、この選択方法に新しい指標を加え、素性選択部２４０における素性選択と同様に、多目的最適化問題としてデータを選択してもよい。
【０２１２】
ここで、素性選択部２４０における処理に必要な時間計算量をデータ数の観点から見積もる。教師データ数をＮ、ラベル無しデータ数をＭとする。１回の異ラベル接続スコアの評価、すなわち、式１及び式２に必要な時間計算量は、Ｏ（Ｎ＊Ｎ）である。また、同ラベル接続スコアの評価、すなわち、式３に必要な時間計算量はＯ（Ｎ＊Ｎ）である。
【０２１３】
本実施例１の素性選択部２４０を用いることなく、機械学習に単純なラベル伝播法を用いた場合、すなわち、図４に示す処理を実行した場合、機械学習部２８０が、最適な素性を選択するために機械学習を繰り返す時間計算量は、Ｏ（（Ｎ＋Ｍ）＊（Ｎ＋Ｍ）＊ｔ）である。ｔはラベル伝播法の繰り返し回数を示す。
【０２１４】
本発明では、教師データが得にくく、ラベル無しデータが豊富にあるという前提が想定されるため、データ数Ｎはデータ数Ｍと比較して大幅に小さい。一方、素性選択部２４０における処理の時間計算量は、前述の時間計算量Ｏ（Ｎ＊Ｎ）のように、データ数Ｍに依存しない時間計算量である。このため、データ数Ｍに依存する機械学習部２８０における処理と比較して、本実施例の素性選択部２４０は、素性を選択するための時間を大幅に短縮できる。
【０２１５】
さらに、データ選択部２５５における処理に必要な時間計算量を見積もる。グラフｇ２に追加されるラベル無しデータｕ２の要素の個数（抽出されるデータｄ’の数）をＭ＿ｕとする。ステップ１１００における距離計算に必要な時間計算量はＯ（Ｎ＊Ｍ）である。
【０２１６】
また、１度目のステップ１１３０の時間計算量はＯ（Ｍ−１）であり、２度目のステップ１１３０の時間計算量はＯ（Ｍ−２）である。そして、ステップ１１３０は、Ｍ＿ｕ−１回まで繰り返されるため、すべてのステップ１１３０を実行するための時間計算量は、Ｏ（（Ｍ−１）＋（Ｍ−２）＋…＋（Ｍ−（Ｍ＿ｕ−１）））＝Ｏ（Ｍ（Ｍ＿ｕ−１）−Ｍ＿ｕ＊Ｍ＿ｕ＋Ｍ＿ｕ）である。
【０２１７】
本実施例１のデータ選択部２５５を用いることなく、機械学習に単純なラベル伝播法を用いた場合、すなわち、図４に示す処理を実行した場合、データ選択を行わないラベル伝播法はＯ（（Ｎ＋Ｍ）＊（Ｎ＋Ｍ）＊ｔ）である。一方、データ選択部２５５によるデータ選択とデータ選択後のラベル伝播法との計算時間は合わせてＯ（Ｍ（Ｍ＿ｕ−１）−Ｍ＿ｕ＊Ｍ＿ｕ＋Ｍ＿ｕ（Ｎ＋Ｍ＿ｕ）＊（Ｎ＋Ｍ＿ｕ）＊ｔ）である。
【０２１８】
データ数Ｍは、データ数Ｎ及びデータ数Ｍ＿ｕに比べて大きいため、データ数Ｍに注目すると、データ選択部２５５によるデータ選択が行われない場合、時間計算量は、Ｏ（ｔＭ＾２＋ｔＮＭ）であり、Ｍ＾２（Ｍの２乗）に比例している。一方、本実施例１のデータ選択部２５５によるデータ選択が行われた場合、時間計算量は、Ｏ（（Ｍ＿ｕ−１）Ｍ）とＭとに比例する時間である。これは、本実施例１のデータ選択部２５５によって処理を行ったほうが、ラベル無しデータの数Ｍが多ければ多いほど、計算時間を大きく短縮できることを示す。
【０２１９】
実施例１によれば、以下の効果を奏することができる。
【０２２０】
一つ目の効果は、実施例１の情報抽出用計算機２００が、素性タイプの最適化、及び、ラベル無しデータの最適化を行うことによって、グラフ構造が最適化されるため、ドメインエキスパートによる選択が必要な教師データの数を削減し、人的コストを抑制することができる。
【０２２１】
二つ目の効果は、実施例１の素性選択部２４０が素性タイプの最適化を行うために客観的な素性評価関数を用いるため、グラフの評価にドメインエキスパート、又は機械学習の専門家の評価を必要としない。これによって、人的コストを抑制できる。さらに、機械学習の自動化によって、機械学習の速度を向上させ、設備コストを低減させることができる。
【０２２２】
三つ目の効果は、実施例１の素性評価関数は、同じラベルのノードは接続しやすく、異なるラベルのノードは接続しにくい評価関数であるため、学習の精度を向上させることができる。
【０２２３】
四つ目の効果は、実施例１の素性評価関数は、機械学習部２８０における機械学習の実行前に計算されるため、グラフ最適化に機械学習の結果が必要なく、少ない計算時間で、ラベルを伝搬するために適したグラフ構造を得ることができる。
【０２２４】
五つ目の効果は、実施例１のデータ選択部２５５は、大量にあるラベル無しデータのうち、機械学習に良い影響を与えるデータを、機械学習を実行することなく選択するため、機械学習の速度を向上させ、設備コストを低減させることができる。
【実施例２】
【０２２５】
実施例２における情報抽出システムは、図２に示す実施例１の情報抽出システムと同様な構成である。しかし、実施例２における情報抽出システムは、データ選択部２５５においてデータ評価部２６０及びデータ選択収束判定部２６５を有する必要がない点において、実施例１の情報抽出システムと異なる。
【０２２６】
実施例１では、素性の最適化とともに、ラベルを伝搬する対象のラベル無しデータを最適化した。これは、ラベル無しデータが非常に多い場合、必要な計算機の資源、及び、必要な学習時間が増加するため、ラベル無しデータの数を制限する必要があるためである。しかし、仮に、ラベル無しデータ数が少ない場合、又は、計算機の資源が豊富にある場合、全てのラベル無しデータを用いて機械学習を行っても、計算機の資源の逼迫、及び、学習時間の過度な増加等の問題は発生しない。
【０２２７】
この場合、実施例２の情報抽出システムは、データ選択部２５５におけるラベル無しデータの選択処理（図１０）を省略する。
【０２２８】
例えば、ユーザが、すべてのラベル無しデータに教師データのラベルを伝搬させたい場合、ユーザは、グラフｇ２がすべてのラベル無しデータを含むように、入力装置１４０を介して情報抽出用計算機２００に指示する。そして、この場合、データ選択部２５５は、図１０に示す処理の代わりに、すべてのラベル無しデータをグラフｇ１に追加することによって、グラフｇ２を生成する。
【０２２９】
そして、データ選択部２５５は、生成されたグラフｇ２、すべてのラベル無しデータの素性ベクトル、及び、教師データの素性ベクトルを、データ３３０として出力する。これにより、図５におけるデータ選択部２５５の処理時間が短縮され、図５に示す処理全体が高速化される。
【０２３０】
また、例えば、ユーザが、一部のラベル無しデータのみに教師データのラベルを伝搬させたい場合、ユーザは、グラフｇ２に含まれるべきラベル無しデータを、入力装置１４０を介して情報抽出用計算機２００に指示する。そして、この場合、データ選択部２５５は、図１０に示す処理の代わりに、ユーザに指示されたラベル無しデータのみを、グラフｇ１に追加することによって、グラフｇ２を生成する。
【実施例３】
【０２３１】
実施例３における情報抽出システムは、実施例１の情報抽出システムと同様な構成である。しかし、実施例３における情報抽出システムは、素性評価部２４５、及び、素性選択収束判定部２５０を有する必要がない点において、実施例１の情報抽出システムと異なる。
【０２３２】
実施例１では、ラベルの伝搬先であるラベル無しデータの最適化とともに、素性（すなわち、素性タイプ）の最適化を行った。これは、いずれの素性をラベル伝搬に用いるべきか選択することは、一般的に困難であり、ドメインエキスパートによる作業が必要であったためである。
【０２３３】
しかし、データの種類、及び、学習対象の文献によっては、素性タイプが一意に定まる場合がある。その場合には、素性選択部２４０による図７に示す処理を省略し、図５に示す処理全体を高速化することができる。
【０２３４】
例えば、ユーザが、入力装置１４０を介して情報抽出用計算機２００に、一意に定められた素性タイプを指示する場合、素性選択部２４０は、図７に示す処理を省略する。
【０２３５】
図７に示す処理が省略される場合、素性選択部２４０は、図７に示す処理の代わりに、素性ベクトル生成部２３７に、教師データリストＬ６０１と一意に定められた素性タイプを入力し、素性ベクトル生成部２３７に教師データの素性ベクトル７１０を生成させる。さらに、素性選択部２４０は、グラフ構築部２７０に、生成された素性ベクトル７１０に基づいてグラフｇ１を生成させる。そして、素性選択部２４０は、生成されたグラフｇ１と、一意に定められた素性タイプと、教師データの素性ベクトル７１０とを、データ３１０として出力する。
【０２３６】
素性タイプが一意に定まる場合には、例えば、電子文書に対する品詞分類に機械学習を適用する場合などが考えられる。この場合、素性の選択範囲は、隣接するトークンの数を変更するなどの自由度しかない。隣接するトークンの数は、計算時間と精度とのトレードオフによって定まるため、用いる計算機の性能と求める精度との外部要因によって、素性は一意に定まる。
【０２３７】
品詞分類は、電子文書一般に関するタスクであるため、ラベル無しデータとして用いることができるデータの数は膨大であり、現実的な時間で学習できるよう、データを絞り込むことが必要である。実施例３では、このような場合を想定しており、データを効率的に選択することが可能になる。
【実施例４】
【０２３８】
実施例４における情報抽出システムの構成は、実施例１の情報抽出システムと同様である。しかし、実施例４における情報抽出システムは、多目的最適化部２７５が、後述する単一目的最適化部に代わる点について、実施例１の情報抽出システムと異なる。
【０２３９】
実施例１では、多目的最適化部２７５によって素性タイプを選択したが、実施例４における素性選択部２４０は、単一目的最適化部によって素性タイプを最適化する。素性選択部２４０における素性評価関数として、式４を用いる。
【０２４０】
実施例４の単一目的最適化部は、ステップ４５０において、式１〜式３を用いて算出された異ラベル接続スコア及び同ラベル接続スコアと、式４とを用いて、グラフの評価値（Ｓｃｏｒｅmerge）を算出する。
【０２４１】
【数４】
2014059754.tif 000006
【０２４２】
式４は、異ラベル接続スコアと同ラベル接続スコアとの線形和である。重みλは、異ラベル接続スコアと同ラベル接続スコアとのそれぞれのスコアの重みを意味し、ユーザによって任意に定められる０から１までの実数である。式４によって算出されるグラフの評価値は、グラフ内にラベルが異なるノードが多くラベルが同じノードが少ない程、低い値になり、グラフ内にラベルが異なるノードが少なくラベルが同じノードが多い程、高い値になる。
【０２４３】
実施例４において、実施例１の多目的最適化部２７５は、単一目的最適化部に置き換えられる。実施例４の単一目的最適化部は、ステップ４５０において、過去に選択された素性タイプｆ１と、過去に算出された評価値（Ｓｃｏｒｅmerge）とから、新しい素性タイプｆ１を生成する。実施例４の単一目的最適化部は、遺伝的アルゴリズム又は焼きなまし法などの公知の方法を用いる。例えば、単一目的最適化部に、単純な遺伝的アルゴリズムを用いた場合、グラフの評価値の高い素性タイプを二つ選び出し、その二つの素性リストの要素を相互に入れ替えることによって、新しい素性タイプｆ１を選択する。
【０２４４】
実施例４における単一目的最適化部は、パレート最適解が一点に定まる場合に適する。さらに、単一目的最適化部は、必ずしも複数の解候補を保持する必要がないため、計算機のメモリ資源を低減することができる。
【実施例５】
【０２４５】
実施例５における情報抽出システムは、実施例１の情報抽出システムと同様である。
【０２４６】
実施例１では、素性評価関数（式１〜式３）は、機械学習の結果を用いることなく定められていた。しかし、データ（文献）の種類によっては、機械学習の結果から求められる評価値と、素性評価関数の乖離が生じる可能性がある。そこで、図１２に示すように、実施例５における情報抽出システムは、機械学習の結果をフィードバックし、素性評価関数を改善する。
【０２４７】
図１２は、本実施例５の情報抽出システムが文献の機械学習を行うまでのデータの流れの概要を示す機能ブロック図である。
【０２４８】
図１２は、図２に示す処理部に相当する機能ブロックが、実施例５の処理において入出力するデータの流れを示す。
【０２４９】
ラベル生成部２９５における処理、文献データベース２２０、ラベルデータベース２２５、及び、素性タイプデータベース２３０は、実施例１と同じである。
【０２５０】
実施例５の初期化部２３５は、テストデータ１３１０として、教師データに含まれる任意の一部を分離させる。具体的には、初期化部２３５は、教師データに含まれる任意の一部をテストデータ１３１０として複製し、複製されたテストデータ１３１０と同じデータを教師データから削除する。なお、ユーザは、教師データから分離されるテストデータ１３１０の数等をあらかじめ指定する。
【０２５１】
初期化部２３５において分離されたテストデータ１３１０は、グラフ構築、及び、機械学習における教師データとしては使われず、機械学習部２８０による機械学習の評価のみに用いられる。実施例５の初期化部２３５は、テストデータ１３１０を機械学習部２８０に入力する。
【０２５２】
実施例５のデータ選択部２５５は、機械学習部２８０に入力するデータ３３０に、素性タイプｆ１を追加する。
【０２５３】
実施例５の機械学習部２８０における機械学習について具体的に説明する。
【０２５４】
データ３３０及びテストデータ１３１０を入力された場合、機械学習部２８０は、素性ベクトル生成部２３７にテストデータ１３１０と素性タイプｆ１とを入力する。機械学習部２８０は、入力されたテストデータ１３１０を素性タイプｆ１によって、テストデータの素性ベクトルに変換する。テストデータの素性ベクトルは、図８Ｂに示すラベル無しデータの素性ベクトルと同じく、ラベルが付加されない。
【０２５５】
その後、入力されたデータ３３０に単純なラベル伝播を行う場合、実施例５の機械学習部２８０は、テストデータの素性ベクトルを、データ３３０に含まれるラベル無しデータの素性ベクトル７００に加える。そして、機械学習部２８０は、データ３３０を用いてラベル伝播を実行する。
【０２５６】
さらに、実施例５の機械学習部２８０は、ラベル伝搬によって推定されたテストデータのラベルと、テストデータの真のラベルとを比較することによって、再現率及び適合率などのうち、少なくとも一つの値を評価値として算出する。
【０２５７】
一方、初期化部２３５の処理の後、素性選択部２４０が最初に実行された際、素性選択部２４０は、実施例１と同じく、式１〜式３の素性評価関数に基づいて、素性タイプを選択する。その後、データ選択部２５５の処理後に得られるパレート最適解のグラフと、テストデータとを含むデータ３３０に、機械学習部２８０は機械学習を行う。
【０２５８】
機械学習部２８０における機械学習の１度目の評価結果が、ユーザが期待する程度の評価に達せず、機械学習部２８０に要求される精度を満たさないことを示す場合、素性選択部２４０は、２度目の素性選択を実行する。
【０２５９】
図１３は、本実施例５の機械学習の評価が低い場合の素性選択部２４０の処理を示すフローチャートである。
【０２６０】
素性選択部２４０は、前回までのグラフの素性評価関数の値と、機械学習部２８０による機械学習の評価値とに基づいて評価関数の近似を行う（１４００）。具体的には、素性選択部２４０は、素性評価関数の値をｘ１，ｘ２，ｘ３，…とし、対応する機械学習部２８０による機械学習の評価値をｙ１，ｙ２，ｙ３，…として回帰分析することによって、素性評価関数の値ｘを入力すると機械学習部２８０による機械学習の評価値の推定値ｙを返す近似関数ｒを求める。
【０２６１】
ここで、回帰分析には、線形回帰のほか、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ（ＳＶＲ）などを用いることができる。
【０２６２】
ステップ１４００の後に実行される、ステップ４００、ステップ４１０、及び、ステップ４２０は、実施例１のステップ４００、ステップ４１０、及び、ステップ４２０と同じである。
【０２６３】
ステップ４２０の後、素性評価部２４５は、グラフｇ１の素性評価関数による評価値を、近似関数ｒに入力する。そして、素性評価部２４５は、近似関数ｒによって算出された結果を評価値に決定する（１４１０）。ステップ１４１０の後に実行されるステップ４４０、及びステップ４５０は、実施例１のステップ４４０、及びステップ４５０と同じである。
【０２６４】
こうして新たな素性タイプによって最適化されたグラフを機械学習によって評価し、ユーザが期待する精度を満たすまで、図１３に示す素性選択部２４０における処理と、データ選択部２５５による処理と、機械学習部２８０による機械学習の評価とが繰り返される。なお、素性選択部２４０は、ユーザが設定する精度を示す評価値が得られた場合のほか、素性選択部２４０、データ選択部２５５、及び、機械学習部２８０の処理を繰り返す回数があらかじめ指定された上限値を超えた場合、機械学習の精度の改善の割合が前回の処理実行時よりも低い場合、機械学習の精度が前回の処理実行時よりも悪化した場合、などにおいて、素性選択部２４０、データ選択部２５５、及び、機械学習部２８０の処理を停止してもよい。
【０２６５】
実施例５は、実施例１とは異なり、複数回の機械学習を必要とする。しかしながら、機械学習の実行対象を近似関数ｒの評価が高いもののみに限定することで、計算コストの大きい機械学習の実行回数を抑制することができる。
【０２６６】
なお、実施例５において、実施例２の情報抽出システムにおける処理を実行してもよい。すなわち、実施例５におけるデータ選択部２５５は、データ評価部２６０及びデータ選択収束判定部２６５を有さなくてもよい。
【０２６７】
また、実施例５において、実施例４の情報抽出システムにおける処理を実行してもよい。すなわち、実施例５における多目的最適化部２７５は、単一目的最適化部に置き換えられてもよい。
【０２６８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【産業上の利用可能性】
【０２６９】
本発明の分散計算システムは、電子文書データからの情報抽出に適用して特に有益な技術であり、これに限らず、グラフベースの機械学習処理を含むデータ処理全般に対して広く適用可能である。
【符号の説明】
【０２７０】
１１０  プロセッサ
１２０  メモリ
１３０  ローカルファイルシステム
１４０  入力装置
１５０  出力装置
１６０  ネットワークデバイス
１７０  バス
２００  情報抽出用計算機
２１０  ローカルエリアネットワーク（ＬＡＮ）
２２０  文献データベース
２２５  ラベルデータベース
２３０  素性データベース
２９０  ラベル生成用計算機
【図１】
2014059754.tif 000007
【図２】
2014059754.tif 000008
【図３Ａ】
2014059754.tif 000009
【図３Ｂ】
2014059754.tif 000010
【図３Ｃ】
2014059754.tif 000011
【図４】
2014059754.tif 000012
【図５】
2014059754.tif 000013
【図６Ａ】
2014059754.tif 000014
【図６Ｂ】
2014059754.tif 000015
【図７】
2014059754.tif 000016
【図８Ａ】
2014059754.tif 000017
【図８Ｂ】
2014059754.tif 000018
【図９Ａ】
2014059754.tif 000019
【図９Ｂ】
2014059754.tif 000020
【図１０】
2014059754.tif 000021
【図１１Ａ】
2014059754.tif 000022
【図１１Ｂ】
2014059754.tif 000023
【図１１Ｃ】
2014059754.tif 000024
【図１２】
2014059754.tif 000025
【図１３】
2014059754.tif 000026