(57)【要約】【課題】追加学習用のモデルを生成する際に、事前学習の条件の探索のために時間をかけることなく、自動的に事前学習時のクラスを決定して事前学習を行うこと。【解決手段】本発明の画像読取装置は、予め関係性が定義されたクラスの互いの関係性に基づいて、前記クラス間の類似度を算出する、第一類似度算出手段と、前記クラスの特徴量に基づいて、前記クラス間の類似度を算出する、第二類似度算出手段と、前記第一算出手段及び前記第二算出手段の算出結果に基づき、前記クラス間が類似しているか否かを判定する、判定手段と、前記判定手段によって類似していると判定されたクラス同士を、一つのクラスに統合するクラス統合手段と、教師あり機械学習処理を行う機械学習手段と、を具えている。【選択図】図１
2018041300.tif 000002
【特許請求の範囲】
【請求項１】
予め関係性が定義されたクラスの互いの関係性に基づいて、前記クラス間の類似度を算出する、第一類似度算出手段と、
前記クラスの特徴量に基づいて、前記クラス間の類似度を算出する、第二類似度算出手段と、
前記第一算出手段及び前記第二算出手段の算出結果に基づき、前記クラス間が類似しているか否かを判定する、判定手段と、
前記判定手段によって類似していると判定されたクラス同士を、一つのクラスに統合するクラス統合手段と、
教師あり機械学習処理を行う機械学習手段と、
を具えた、機械学習用モデル生成装置。
【請求項２】
前記関係性が階層構造またはグラフ構造である、請求項１記載の機械学習用モデル生成装置。
【請求項３】
前記機械学習手段が、モデルパラメータを推定するモデルパラメータ推定手段と、学習されたモデルパラメータからデータの各クラスにおける事後確率を推定する手段と、を具えている請求項１又は２記載のモデル生成装置。
【請求項４】
予め関係性が定義されたクラスの互いの関係性に基づいて、前記クラス間の類似度を第一類似度として算出するステップと、
前記クラスの特徴量に基づいて、前記クラス間の類似度を第二類似度として算出するステップと、
前記第一類似度及び前記第二類似度に基づき、前記クラス間が類似しているか否かを判定するステップと、
類似していると判定されたクラス同士を、一つのクラスに統合するステップと、
教師あり機械学習処理を行うステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習用モデル生成装置及びプログラムに関する。
【背景技術】
【０００２】
自然言語処理を用いたアプリケーションの要素技術としても用いられる固有表現抽出は、テキストに含まれる固有名詞等の固有表現を抽出する技術であり、Support Vector Machine（ＳＶＭ）や、Conditional Random Fields（ＣＲＦｓ）などの識別問題（分類問題）を扱う機械学習手法を用いたシステムが知られている。
【０００３】
下記特許文献１には、既存のモデルのパラメータへの影響を少なくしたままで、追加データに適応したモデルパラメータを推定することができる、モデルパラメータ推定方法が開示されている。
【０００４】
下記非特許文献１には、ＣＲＦｓに隠れユニット層が追加されたＣＲＦｓの派生の一種であるHidden-Unit CRF（ＨＵＣＲＦ）が開示されている。
【０００５】
下記非特許文献２には、ラベル付けされていないデータ群に対して正準相関分析を利用したクラスタリングによって仮のラベル付けをしたデータをＨＵＣＲＦに学習させ、得られるパラメータを初期値として実際にラベルがつけられているデータで追加学習を行う事前学習の方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−  ３８７０９号公報
【非特許文献】
【０００７】
【非特許文献１】L.maaten, M.welling, L.K.Saul "Hidden-Unit Conditional Random Fields" Int. Conf. on Artificial Intelligence & Statistics pp.479-488, 2011
【非特許文献２】Y.B.Kim, K.Stratos, R.Sarikaya, "Pre-training of Hidden-Unit CRFs" Association for Computational Linguistics, pp.192-198, 2015
【発明の概要】
【発明が解決しようとする課題】
【０００８】
識別問題においては、一般的に、ラベル（「タグ」等ともいわれる）が既に付与されている学習データ（既知データ）を与えて学習させる教師あり学習が行われ、学習の結果得られたモデルパラメータを用いて未知データの識別（いずれかのラベルを付与することによるクラス分類）を行う。このような、機械学習手法を用いて高い精度を達成するためには、一般的に大量の学習データ（コーパスや辞書）が必要となる。
【０００９】
例えば、企業内の文書には機密性の高い情報を含むものや、各企業独自の知識やルールを前提にしないと意味を理解できないものが多いため、企業内文書に対して固有表現抽出を行うためには、学習用コーパスを独自に用意する必要が生じる。このような企業内文書に対して大量のアノテーション（関連する注釈情報）を付与するには極めてコストがかかるため、結果として、企業内文書に対して固有表現抽出を行おうとしても、高精度を達成できるだけの大量の学習データを用意することは現実的ではない。
【００１０】
学習データを大量に用意できないタスクの場合でも、大量の学習データが存在する別のタスクで事前学習させたモデルパラメータ（「モデル」ともいう）の一部を初期条件として、目的のタスクで追加学習することで、学習精度（識別問題であれば、得られたモデルを用いて未知データを識別する場合の精度）を向上させられる場合があるが、精度が高くなるような適切な事前学習の条件が不明であるため、条件の探索に時間がかかる。
【００１１】
本発明は、事前学習の際にクラスの統合を行わない場合と比較して、学習精度が高くなるようなモデルを生成することのできる機械学習用モデル生成装置及びプログラムの提供を目的とする。
【課題を解決するための手段】
【００１２】
［機械学習用モデル生成装置］
請求項１に係る本発明は、予め関係性が定義されたクラスの互いの関係性に基づいて、前記クラス間の類似度を算出する、第一類似度算出手段と、
前記クラスの特徴量に基づいて、前記クラス間の類似度を算出する、第二類似度算出手段と、
前記第一算出手段及び前記第二算出手段の算出結果に基づき、前記クラス間が類似しているか否かを判定する、判定手段と、
前記判定手段によって類似していると判定されたクラス同士を、一つのクラスに統合するクラス統合手段と、
教師あり機械学習処理を行う機械学習手段と、
を具えた、機械学習用モデル生成装置である。
【００１３】
請求項２に係る本発明は、前記関係性が階層構造またはグラフ構造である、請求項１記載の機械学習用モデル生成装置である。
【００１４】
請求項３に係る本発明は、前記機械学習手段が、モデルパラメータを推定するモデルパラメータ推定手段と、学習されたモデルパラメータからデータの各クラスにおける事後確率を推定する手段と、を具えている請求項１又は２記載のモデル生成装置である。
【００１５】
［プログラム］
請求項４に係る本発明は、予め関係性が定義されたクラスの互いの関係性に基づいて、前記クラス間の類似度を第一類似度として算出するステップと、
前記クラスの特徴量に基づいて、前記クラス間の類似度を第二類似度として算出するステップと、
前記第一類似度及び前記第二類似度に基づき、前記クラス間が類似しているか否かを判定するステップと、
類似していると判定されたクラス同士を、一つのクラスに統合するステップと、
教師あり機械学習処理を行うステップと、
をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１６】
請求項１に係る本発明よれば、事前学習の際にクラスの統合を行わない場合と比較して、学習精度が高くなるようなモデルを生成することが可能となる。
【００１７】
請求項２に係る本発明よれば、請求項１の効果に加えて、クラスの関係性が階層構造又はグラフ構造の場合に適用可能となる。
【００１８】
請求項３に係る本発明よれば、請求項１又は２の効果に加えて、事後確率に基づいて算出された第二類似度に基づいてクラス間が類似しているか否かを判定される、機械学習用モデル生成装置が得られる。
【００１９】
請求項４に係る本発明よれば、事前学習の際にクラスの統合を行わない場合と比較して、学習精度が高くなるようなモデルを生成することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るモデル生成装置１０の機能構成を示すブロック図である。
【図２】本発明の実施形態に係るモデル生成装置１０のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係るモデル生成装置１０の動作を説明するためのフローチャートである。
【図４】実施例１に係るクラスの階層構造の例を示す。
【図５】実施例１に係るクラスにおける、各インスタンスの推定確率の例である。
【図６】実施例１に係る学習クラス間の相関係数を示す行列である。
【図７】実施例１に係る学習クラス間の階層構造上の類似度と、クラスの階層構造との関係を示す。
【図８】実施例１において、クラスの統合処理がされた後の階層構造を示す。
【図９】実施例２に係るクラスのグラフ構造の例を示す。
【図１０】実施例２に係るクラスにおける、各インスタンスの推定確率の例である。
【図１１】実施例２に係る学習クラス間の相関係数を示す行列である。
【図１２】実施例２に係る学習クラス間のグラフ構造上の類似度と、クラスのグラフ構造との関係を示す。
【図１３】実施例２において、クラスの統合処理がされた後のグラフ構造を示す。
【発明を実施するための形態】
【００２１】
図１は、本発明の実施形態に係るモデル生成装置１０の機能構成を示すブロック図である。本実施形態のモデル生成装置１０は、機械学習部１１と、第一類似度算出部１２と、第二類似度算出部１３と、判定部１４と、クラス統合部１５と、出力部１６を具えている。
【００２２】
機械学習部１１では、ラベル付き学習データが記録された学習データ１７から機械学習処理が行われ、モデルパラメータの推定、及び、インスタンス（一件ごとの学習データ）がどのクラスに該当するのかというクラス分類に関する事後確率の推定、を行う。
【００２３】
第一類似度算出部１２では、機械学習部１１で推定された各インスタンスの事後確率（以下、「推定確率」ともいう）を基にして生成されるベクトル量を各クラスの特徴量として、当該特徴量に基づいて各クラス間の類似度（「特徴量類似度」）を算出する。
【００２４】
第二類似度算出部１３では、クラスの関係性の情報１８（例えば「クラスの階層」の情報）に基づいて、各クラス間の類似度（「関係性類似度」）を算出する。クラスの関係性の情報の初期値は、学習データ１６のラベルを基に人手で構築する。
【００２５】
判定部１４では、特徴量類似度と関係性類似度のそれぞれにおいて、各所定の閾値を超えている場合、そのクラスペアを「類似している」と判定する。
【００２６】
クラス統合部１５では、判定部１４において「類似している」と判定されたクラスペアを一つのクラスに統合する処理を行い、学習データ１７のラベルとクラスの関係性の情報１８を更新する。
【００２７】
出力部１６では、判定部１４において「類似している」と判定されたクラスペアが存在しない場合、機械学習部１１によって推定されたモデルパラメータを出力する。
【００２８】
図２は、モデル生成装置１０ハードウェア構成を示す図である。モデル生成装置１０は、ＣＰＵ２１、メモリ２２、ハードディスクドライブ（ＨＤＤ）等の記憶装置２３、表示装置２４を有し、これらの構成要素は、制御バス２５を介して互いに接続されている。
【００２９】
ＣＰＵ２１は、メモリ２２または記憶装置２３に格納された（あるいはＣＤ−ＲＯＭ等の記憶媒体（図示しない）から提供される）制御プログラム、に基づいて所定の処理を実行して、モデル生成装置１０の動作を制御する。
【００３０】
なお、本発明の実施に当たっては、モデル生成装置１０が、キーボード、タッチパネルなどの各種入力用インターフェイス装置を更に具えていても良い。
【００３１】
次に、図３のフローチャートを参照しながら、各クラスの特徴量を各インスタンスの推定確率を基に算出する場合を例に、本実施形態に係るモデル生成装置の動作を説明する。以下に示す実施例は、事前に定義されたクラスの関係性が、図４に示す階層構造を有している場合（実施例１）、図９に示すグラフ構造を有している場合（実施例２）である。
【実施例１】
【００３２】
ステップＳ１では、階層構造の最下位のクラス（「法人名」、「政治組織名」、「都道府県名」、「市町村名」、「人名」）で機械学習処理が実行された後、各インスタンスについて推定確率が算出され、ステップＳ２へ進む。以下、各インスタンスの推定確率が、図５に示した値となった場合を例として説明する。（インスタンス１のデータの推定確率は、法人名：０．１、政治組織名：０．１、都道府県名：０．４、市町村名：０．３、人名：０．１となっている。)
【００３３】
各クラスの特徴量は、例えば、各インスタンスの推定確率の値を各次元の値として持つベクトル量として算出することができる。
【００３４】
ステップＳ２では、各インスタンスの推定確率から各学習クラスの特徴量が生成された後、生成された各学習クラスの特徴量に基づいて学習クラス間の相関係数が算出される。図６には、特徴量の相関行列として表現した。
【００３５】
ステップＳ１、Ｓ２と並列で行うことが可能なステップＳ３では、クラスの階層構造に基づいて、各学習クラス間の階層構造上の類似度を算出する。例えば、同一の上位階層（親）の配下に存在するクラス同士（兄弟クラス）を類似度「１」とし、それ以外のクラス間については類似度「０」とすることで、階層構造上の類似度を算出することができる。
【００３６】
図４の階層構造を例にした場合、「法人名」と「政治組織名」、及び、「都道府県名」と「市町村名」の組み合わせは、それぞれ、同一の親（「組織名」、「地名」）を親としているため、階層構造上の類似度は「１」となり、これら以外の組み合わせについては、階層構造上の類似度は「０」となる。図７には、各学習クラス間の類似度を行列として表現した。
【００３７】
ステップＳ２及びＳ３の完了後にステップＳ４へ進み、ステップＳ４では、ステップＳ２で算出された特徴量の相関係数、及び、ステップＳ３で算出された階層構造上の類似度、がそれぞれ所定の閾値以上である学習クラスペアが、類似しているクラスペアとして抽出される。例として、特徴量の相関係数の閾値を０．５、階層構造上の類似度の閾値を０．５とした場合は、「市町村名」と「都道府県名」のペアが類似しているクラスペアとして抽出されることになる。
【００３８】
ステップＳ４に続くステップＳ５では、類似しているクラスペアが存在するかどうかの判定が行われ、類似しているペアが存在する場合は、ステップＳ６へ進み、類似しているクラスペアが存在しない場合は、ステップＳ７へ進む。
【００３９】
ステップＳ６では、ステップＳ４で抽出された類似しているクラスペアを一つのクラスに統合する。具体的には、階層構造として記録されているクラスの関係性の情報（階層構造の情報）と学習データのラベルの更新を行う。「市町村名」と「都道府県名」のペアが類似しているクラスペアであった場合、両者が統合され、統合後のクラス名（ラベル）としては、例えば、階層構造上の上位階層名（例：「地名」）を用いることができる（図８）。クラスの統合処理後、ステップＳ１、Ｓ３へ進む。
【００４０】
再び進んだステップＳ１及びＳ３では、更新された階層構造の情報及び学習データのラベルに基づいて、それぞれ機械学習処理、各学習クラス間の階層構造上の類似度の算出が再度行われる。階層構造の更新により、「地名」が追加され、「市町村名」と「都道府県名」が削除された結果、階層構造の最下位のクラスは、「法人名」、「政治組織名」、「地名」、「人名」となる。
【００４１】
このように、類似しているペアが存在しなくなるまでループが繰り返され、最終的にステップＳ７では、モデルが出力されて終了となる。
【実施例２】
【００４２】
実施例２では、小説のテキストから作者を推定するというタスクを想定したものであり、師弟・友人関係などから定義される作者間の関係性は、図９に示したようなグラフ構造を取る（線で結ばれるクラス（小説家名）間に、師弟関係や友人関係が存在することを示している）。
【００４３】
ステップＳ１では、グラフ構造を構成する全クラスで機械学習処理が実行された後、各インスタンスについて推定確率が算出され、ステップＳ２へ進む。以下、各インスタンスの推定確率が、図５に示した値となった場合を例として説明する。（インスタンス１のデータの推定確率は、小説家Ａ：０．１、小説家Ｂ：０．１、小説家Ｃ：０．４、小説家Ｄ：０．３、小説家Ｅ：０．１となっている。)
【００４４】
各クラスの特徴量は、例えば、各インスタンスの推定確率の値を各次元の値として持つベクトル量として算出することができる。
【００４５】
ステップＳ２では、各インスタンスの推定確率から各学習クラスの特徴量が生成された後、生成された各学習クラスの特徴量に基づいて学習クラス間の相関係数が算出される。図１１には、特徴量の相関行列として表現した。
【００４６】
ステップＳ１、Ｓ２と並列で行うことが可能なステップＳ３では、クラスのグラフ構造に基づいて、各学習クラス間のグラフ構造上の類似度を算出する。例えば、線で直接接続されているクラス同士を類似度「１」とし、それ以外のクラス間については類似度「０」とすることで、グラフ構造上の類似度を算出することができる。
【００４７】
図１２のグラフ構造を例にした場合、例えば「小説家Ａ」は、「小説家Ｂ」、「小説家Ｃ」及び「小説家Ｄ」との組み合わせについて、グラフ構造上の類似度が「１」となり、「小説家Ｅ」との類似度は「０」となる。図１２には、各学習クラス間の類似度を行列として表現した。
【００４８】
ステップＳ２及びＳ３の完了後にステップＳ４へ進み、ステップＳ４では、ステップＳ２で算出された特徴量の相関係数、及び、ステップＳ３で算出されたグラフ構造上の類似度、がそれぞれ所定の閾値以上である学習クラスペアが、類似しているクラスペアとして抽出される。例として、特徴量の相関係数の閾値を０．５、グラフ構造上の類似度の閾値を０．５とした場合は、「小説家Ｃ」と「小説家Ｄ」のペアが類似しているクラスペアとして抽出されることになる。
【００４９】
ステップＳ４に続くステップＳ５では、類似しているクラスペアが存在するかどうかの判定が行われ、類似しているペアが存在する場合は、ステップＳ６へ進み、類似しているクラスペアが存在しない場合は、ステップＳ７へ進む。
【００５０】
ステップＳ６では、ステップＳ４で抽出された類似しているクラスペアを一つのクラスに統合する。具体的には、グラフ構造として記録されているクラスの関係性の情報（グラフ構造の情報）と学習データのラベルの更新を行う。例として、「小説家Ｃ」と「小説家Ｄ」のペアが類似しているクラスペアであった場合の統合処理後のグラフ構造を図１３に示す。統合後のクラス名（ラベル）としては、例えば、統合前の両者の名称を結合した名称を用いることができる。クラスの統合処理後、ステップＳ１、Ｓ３へ進む。
【００５１】
再び進んだステップＳ１及びＳ３では、更新されたグラフ構造の情報及び学習データのラベルに基づいて、それぞれ機械学習処理、各学習クラス間のグラフ構造上の類似度の算出が再度行われる。
【００５２】
このように、類似しているペアが存在しなくなるまでループが繰り返され、最終的にステップＳ７では、モデルが出力されて終了となる。
【産業上の利用可能性】
【００５３】
以上で説明をしたように、本発明は、機械学習用モデル生成装置及びプログラムに適用することができる。
【符号の説明】
【００５４】
１０    モデル生成装置
１１    機械学習部
１２    第一類似度算出部
１３    第二類似度算出部
１４    判定部
１５    クラス統合部
１６    出力部
１７    学習データ
１８    クラスの関係性の情報
２１    ＣＰＵ
２２    メモリ
２３    記憶装置
２４    表示装置
２５    制御バス
【図１】
2018041300.tif 000003
【図２】
2018041300.tif 000004
【図３】
2018041300.tif 000005
【図４】
2018041300.tif 000006
【図５】
2018041300.tif 000007
【図６】
2018041300.tif 000008
【図７】
2018041300.tif 000009
【図８】
2018041300.tif 000010
【図９】
2018041300.tif 000011
【図１０】
2018041300.tif 000012
【図１１】
2018041300.tif 000013
【図１２】
2018041300.tif 000014
【図１３】
2018041300.tif 000015