(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023021647
(43)【公開日】2023-02-14
(54)【発明の名称】学習装置および方法、予測装置および方法、プログラム、機械学習モデルの評価方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20230207BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021126642
(22)【出願日】2021-08-02
(71)【出願人】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(72)【発明者】
【氏名】小▲柳▼ 隆人
(72)【発明者】
【氏名】君塚 涼
(57)【要約】
【課題】アノテーション作業の負担を増加させることなく、複数のラベルから一つの正解ラベルを予測する処理と複数のラベルから複数の正解ラベルを予測する処理とを行うこと。
【解決手段】本発明の一態様は、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換する変換部と、前記変換部により変換された前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させる学習部と、を備える、学習装置である。
【選択図】
図2
【特許請求の範囲】
【請求項1】
対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換する変換部と、
前記変換部により変換された前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させる学習部と、
を備える、学習装置。
【請求項2】
対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換するステップと、
前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させるステップと、
を含む、学習方法。
【請求項3】
コンピュータに、
対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換するステップと、
前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させるステップと、
を実行させる、プログラム。
【請求項4】
対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに、対象データを入力し、前記第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得する予測部と、
前記予測部により取得した正解ラベルが前記統合ラベルである場合には前記統合ラベルの元になった複数のラベルのフラグを変換し、前記予測結果から前記統合ラベルを削除する逆変換部と、
を備える、予測装置。
【請求項5】
対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに、対象データを入力するステップと、
前記第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得するステップと、
前記正解ラベルが前記統合ラベルである場合に、前記統合ラベルの元になった複数のラベルのフラグを変換するステップと、
前記予測結果から前記統合ラベルを削除するステップと、
を含む予測方法。
【請求項6】
コンピュータに、
対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに、対象データを入力するステップと、
前記第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得するステップと、
前記正解ラベルが前記統合ラベルである場合に、前記統合ラベルの元になった複数のラベルのフラグを変換するステップと、
前記予測結果から前記統合ラベルを削除するステップと、
を実行させる、プログラム。
【請求項7】
データに複数の正解ラベルが付与された第1の学習データを用いて学習された第1の機械学習モデルに対象データを入力し、前記第1の機械学習モデルの予測結果を取得するステップと、
前記第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに対象データを入力し、前記正解ラベルが前記統合ラベルである場合に前記統合ラベルの元になった複数のラベルのフラグを変換し、前記予測結果から前記統合ラベルを削除して、前記第2の機械学習モデルの予測結果を取得するステップと、
前記第1の機械学習モデルの予測結果と前記第2の機械学習モデルの予測結果とを比較することで、前記第2の機械学習モデルを評価するステップと、
を含む、機械学習モデルの評価方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置および方法、予測装置および方法、プログラム、機械学習モデルの評価方法に関する。
【背景技術】
【0002】
従来より、機械学習モデルにより対象データを分類する技術が知られている。この分類型の機会学習モデルとしては、複数のラベルのうち一つのラベルに対象データを分類するシングルラベルモデルと、対象データを複数のラベルに同時に分類するマルチラベルモデルとがある。
【0003】
シングルラベルモデルおよびマルチラベルモデルに関する技術としては、例えば、特許文献1および2が知られている。特許文献1には、マルチラベルモデルの分類を改善するためにしきい値および/またはスケールファクタを決定することが記載されている。特許文献2には、マルチラベルモデルおよびシングルラベルモデルの教師データを作成するために、入力データに関して、ラベルごとに、入力データの内容がラベルに合致することを示す正評価、入力データの内容がラベルに合致しないことを示す負評価、及び、学習対象ラベルから除外することを示す無視評価の何れか1つを取得して、教師データを作成し、学習装置は、学習用のニューラルネットワークを学習する際に、正評価又は負評価のラベルの認識スコアと正評価又は負評価の正解スコアとが近づくように中間層の重み係数を調整し、かつ、無視評価のラベルの認識スコアが中間層の重み係数の調整に影響を与えないようにする、ことが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2018-528521号公報
【特許文献2】国際公開第2017/073373号
【発明の概要】
【発明が解決しようとする課題】
【0005】
図14および
図15は、シングルラベルモデルについて説明するための図である。シングルラベルモデルは、複数のラベルにおける各ラベルに対して出力の総和が1となるように学習および予測を行う。このため、
図14(A)に示すようにラベル1~4のうち正解ラベルがラベル3である場合には正確に正解ラベルとしてラベル3を出力することができる。
【0006】
しかし、
図14(B)に示すように、シングルラベルモデルは、対象データに対して複数のラベル(例えばラベル2とラベル3)が該当するようなマルチラベリング問題に対して適用することができない。すなわち、シングルラベルモデルは、正解ラベルがラベル2および3であるが、スコアが最も高いラベル3を正解ラベルとして出力してしまう。また、シングルラベルモデルにおいては、各ラベルの総和を1にするため、ラベル2とラベル3のスコアが小さくなる。
【0007】
図15に示すように、シングルラベルモデルにおいては正解ラベルが多くなるほど各正解ラベルのスコアが小さくなってしまう。このため、シングルラベルモデルによって出力された各ラベルのスコアとしきい値とを比較して正解ラベルを抽出することは困難となる。さらに、シングルラベルモデルから出力された正解ラベルのスコアとそれ以外のラベルのスコアとの差に基づいてしきい値を計算する必要があるため、学習させることができないという問題がある。
【0008】
図16は、マルチラベルモデルについて説明するための図である。マルチラベルモデルは、各ラベルに対してスコアが0~1の範囲となるように学習および予測を行う。このため、
図16(A)のように正解ラベルがラベル3の1つである場合や、
図16(B)のように正解ラベルがラベル2,3の2つである場合でも、高いスコアを出力することができる。また、マルチラベルモデルでは、正解ラベルの数を考慮せずに一つのしきい値を設定しても、高い精度で正解ラベルを出力することができる。しかし、例えば文書等の対象データを分類するための予測モデルとして、シングルラベルモデルを用いることが一般的である。しかし、シングルラベルモデルは、複数の正解ラベルを抽出することが困難であるという問題がある。
【0009】
対象データに該当する正解ラベルが一つであるか複数であるのかが不明である場合、シングルラベルモデルの予測結果とマルチラベルモデルの予測結果の両方を検証することが考えられる。しかし、マルチラベルモデルのためのアノテーション作業と、シングルラベルモデルのためのアノテーション作業とを個別に行う必要があるために、作業負担が大きくなるという問題がある。また、マルチラベルモデルのためのラベルとシングルラベルモデルのためのラベルとが別々であるので、マルチラベルモデルの予測精度とシングルラベルモデルの予測精度を比較することができないという問題がある。
【0010】
本発明は、上記の課題に鑑みてなされたものであって、アノテーション作業の負担を増加させることなく、複数のラベルから一つの正解ラベルを予測する処理と複数のラベルから複数の正解ラベルを予測する処理とを行うことができる学習装置および方法、予測装置および方法、プログラム、機械学習モデルの評価方法を提供することを目的としている。
【課題を解決するための手段】
【0011】
(1)本発明の一態様は、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換する変換部と、前記変換部により変換された前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させる学習部と、を備える、学習装置である。
【0012】
(2)本発明の一態様は、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換するステップと、前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させるステップと、を含む、学習方法である。
【0013】
(3)本発明の一態様は、コンピュータに、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換するステップと、前記第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデルを学習させるステップと、を実行させる、プログラムである。
【0014】
(4)本発明の一態様は、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに、対象データを入力し、前記第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得する予測部と、前記予測部により取得した正解ラベルが前記統合ラベルである場合には前記統合ラベルの元になった複数のラベルのフラグを変換し、前記予測結果から前記統合ラベルを削除する逆変換部と、を備える、予測装置である。
【0015】
(5)本発明の一態様は、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに、対象データを入力するステップと、前記第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得するステップと、前記正解ラベルが前記統合ラベルである場合に、前記統合ラベルの元になった複数のラベルのフラグを変換するステップと、前記予測結果から前記統合ラベルを削除するステップと、を含む予測方法である。
【0016】
(6)本発明の一態様は、コンピュータに、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデルを学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに、対象データを入力するステップと、前記第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得するステップと、前記正解ラベルが前記統合ラベルである場合に、前記統合ラベルの元になった複数のラベルのフラグを変換するステップと、前記予測結果から前記統合ラベルを削除するステップと、を実行させる、プログラムである。
【0017】
(7)本発明の一態様は、データに複数の正解ラベルが付与された第1の学習データを用いて学習された第1の機械学習モデルに対象データを入力し、前記第1の機械学習モデルの予測結果を取得するステップと、前記第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデルに対象データを入力し、前記正解ラベルが前記統合ラベルである場合に前記統合ラベルの元になった複数のラベルのフラグを変換し、前記予測結果から前記統合ラベルを削除して、前記第2の機械学習モデルの予測結果を取得するステップと、前記第1の機械学習モデルの予測結果と前記第2の機械学習モデルの予測結果とを比較することで、前記第2の機械学習モデルを評価するステップと、を含む、機械学習モデルの評価方法である。
【発明の効果】
【0018】
本発明の一態様によれば、アノテーション作業の負担を増加させることなく、複数のラベルから一つの正解ラベルを予測する処理と複数のラベルから複数の正解ラベルを予測する処理とを行うことができる。
【図面の簡単な説明】
【0019】
【
図1】実施形態におけるデータ分類システムの構成の一例を示すブロック図である。
【
図2】実施形態における学習装置40の一例を示すブロック図であり、(A)はマルチラベルモデルに関するブロック図であり、(B)はシングルラベルモデルに関するブロック図である。
【
図3】実施形態における予測装置70の一例を示すブロック図であり、(A)はマルチラベルモデルに関するブロック図であり、(B)はシングルラベルモデルに関するブロック図である。
【
図4】実施形態におけるマルチラベルモデルの学習データの一例を示す図である。
【
図5】実施形態における、変換されたシングルラベルモデルの学習データ(第2の学習データ)の一例を示す図である。
【
図6】実施形態の学習処理の一例を示すフローチャートである。
【
図7】実施形態の学習データの変換処理(ステップS108)の一例を示すフローチャートである。
【
図8】実施形態の予測処理の一例を示すフローチャートである。
【
図9】実施形態の予測結果の逆変換処理(ステップS306)の一例を示すフローチャートである。
【
図10】実施形態の変換処理および逆変換処理の一例を説明するための図であり、(A)はマルチラベルモデルの学習データの一例であり、(B)は変換処理がされた学習データの一例であり、(C)は予測結果の一例であり、(D)は逆変換処理がされた予測結果の一例である。
【
図11】実施形態の変換処理および逆変換処理の一例を説明するための図であり、(A)はマルチラベルモデルの学習データの一例であり、(B)は変換処理がされた学習データの一例であり、(C)は予測結果の一例であり、(D)は逆変換処理がされた予測結果の一例である。
【
図12】実施形態のモデル評価処理の一例を示すフローチャートである。
【
図13】マルチラベルモデルの学習データに含まれるラベル数と、シングルラベルモデルにより予測したスコアと、およびマルチラベルモデルにより予測したスコアとの関係を示す図である。
【
図14】シングルラベルモデルについて説明するための図である。
【
図15】シングルラベルモデルについて説明するための図である。
【
図16】マルチラベルモデルについて説明するための図である。
【発明を実施するための形態】
【0020】
以下、本発明を適用した学習装置および方法、予測装置および方法、プログラム、機械学習モデルの評価方法を、図面を参照して説明する。
【0021】
[実施形態の概要]
本発明を適用したデータ分類システム1は、例えば、分類処理の対象となるデータがどのラベルに属するかをシングルラベルモデルに学習させ、学習されたシングルラベルモデルを用いて情報がどのラベルに属するかを分類する。実施形態における分類処理の対象となるデータは、例えば、テキストデータや、文書データ、音声データまたは画像データなどである。以下において分類処理の対象となるデータを、「対象データ」と記載する。実施形態においてラベルとは、対象データに付与される正解を示す情報である。実施形態におけるシングルラベルモデルとは、対象データが入力された場合に、対象データが一つのラベルに分類されることを予測する機械学習モデルである。実施形態におけるマルチラベルモデルとは、対象データが入力された場合に、対象データが複数のラベルに分類されることを予測する機械学習モデルである。
【0022】
特に、実施形態のデータ分類システム1は、マルチラベルモデルの学習のためにアノテーションされたマルチラベルモデルのための学習データにおける複数のラベルを統合した統合ラベルを生成し、一つの正解ラベルとして統合ラベルを含むシングルラベルモデルのための学習データに変換する。このシングルラベルモデルのための学習データは、マルチラベルモデルにおける複数の正解ラベルに代えて疑似的に一つの統合ラベルをラベリングしたデータである。データ分類システム1は、変換したシングルラベルモデルの学習データを用いてシングルラベルモデルを学習させる。データ分類システム1は、学習させたシングルラベルモデルに、対象データを入力し、シングルラベルモデルから出力された正解ラベルが統合ラベルである場合、当該統合ラベルを複数のラベルに変換する。
【0023】
これにより、実施形態のデータ分類システム1は、一度のアノテーション作業でマルチラベルモデルのための学習データを作成すれば、当該学習データを変換することで、シングルラベルモデルの学習を行うことができる。また、データ分類システム1によれば、学習済のシングルラベルモデルから出力された正解ラベルを変換することで、マルチラベルモデルと同等の予測結果を出力することができる。この結果、データ分類システム1は、アノテーション作業の負担を増加させることなく、シングルラベルモデルによる予測処理と、マルチラベルモデルによる予測処理とを行うことができる。以下、実施形態のデータ分類システム1について詳細に説明する。
【0024】
[データ分類システム1の構成]
図1は、実施形態におけるデータ分類システムの構成の一例を示すブロック図である。データ分類システム1は、例えば、要求端末10と、アノテーション端末20と、マルチラベル記憶部30と、学習装置40と、シングルラベル記憶部50と、モデルパラメータ記憶部60と、予測装置70と、予測結果記憶部80と、を備える。要求端末10、アノテーション端末20、マルチラベル記憶部30、学習装置40、シングルラベル記憶部50、モデルパラメータ記憶部60、予測装置70、および予測結果記憶部80は、ネットワークNWに接続される。ネットワークNWに接続される各装置は、NIC(Network Interface Card)や無線通信モジュールなどの通信インターフェースを備えている。ネットワークNWは、例えば、汎用のインターネット、WAN(Wide Area Network)、LAN(Local Area Network)、Wifi(登録商標)、セルラー網などを含む。
【0025】
要求端末10は、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータ等である。要求端末10は、例えばユーザの操作に従って、対象データ、および対象データの正解ラベルを要求する情報を予測装置70に共有する。要求端末10は、予測装置70から要求に応じた予測結果に関する情報を予測装置70から受信し、ユーザに予測結果を提示する。
【0026】
アノテーション端末20は、例えばパーソナルコンピュータ等であり、アノテーション作業を行うための端末である。アノテーション作業は、データに正解ラベルを付与する作業である。アノテーション端末20は、作業者の操作に従って、データと正解ラベルとを対応付けてマルチラベル記憶部30に記憶させる。実施形態におけるアノテーションは、一つのデータに対して複数の正解ラベルの付与を許容するマルチラベリングを実行する。なお、実施形態において、ラベルが付与されるデータは、テキストデータや、文書データや、画像データや、音声データ、これらのデータが複合したデータであってよく、特に限定されない。
【0027】
マルチラベル記憶部30は、HDD等の記憶装置、および制御用ソフトウェア等を含む。マルチラベル記憶部30は、アノテーション端末20からの要求に従って、データの登録、ラベルの登録、およびデータとラベルとの対応関係の登録などの処理を行う。これにより、マルチラベル記憶部30は、一つのデータに対して複数の正解ラベルが付与されたマルチラベルモデルの学習データを記憶する。
【0028】
学習装置40は、例えば、CPU等により学習用プログラムを実行することで学習処理を実行するコンピュータである。学習装置40は、マルチラベルモデルの学習データをシングルラベルモデルの学習データに変換し、変換したシングルラベルモデルの学習データを用いてシングルラベルモデルを学習させる。学習装置40は、変換後のシングルラベルモデルをシングルラベル記憶部50に記憶させる。学習装置40は、マルチラベル記憶部30に記憶されたマルチラベルモデルの学習データを用いてマルチラベルモデルを学習させる。
【0029】
シングルラベル記憶部50は、HDD等の記憶装置、および制御用ソフトウェア等を含む。シングルラベル記憶部50は、学習装置40からの要求に従って、マルチラベル記憶部30に記憶されたマルチラベルモデルの学習データの登録、統合ラベルの登録、マルチラベルモデルにおけるフラグの変更、およびデータと統合ラベルとの対応関係の登録などの処理を行う。これにより、シングルラベル記憶部50は、一つのデータに対して一つの正解ラベルとしての統合が付与されたシングルラベルモデルの学習データを記憶する。
【0030】
モデルパラメータ記憶部60は、HDD等の記憶装置、および制御用ソフトウェア等を含む。モデルパラメータ記憶部60は、学習装置40により学習された結果として、マルチラベルモデルのモデルパラメータおよびシングルラベルモデルのモデルパラメータを記憶する。
【0031】
予測装置70は、例えば、CPU等により予測用プログラムを実行することで予測処理を実行するコンピュータである。予測装置70は、要求端末10から供給された対象データをマルチラベルモデルに入力し、マルチラベルモデルから出力された情報に基づいて予測結果を取得する。マルチラベルモデルの予測結果は、複数の正解ラベルを含んでよい。予測装置70は、要求端末10から供給された対象データをシングルラベルモデルに入力し、シングルラベルモデルから出力された情報に基づいて予測結果を取得する。予測装置70は、シングルラベルモデルに含まれる正解ラベルが統合ラベルである場合、当該統合モデルを複数の正解ラベルに変換し、変換した複数の正解ラベルを含む予測結果を生成する。予測装置70の予測結果は、例えば予測結果記憶部80に記憶される。
【0032】
予測結果記憶部80は、HDD等の記憶装置、および制御用ソフトウェア等を含む。予測結果記憶部80に記憶された予測結果は、例えば、要求端末10に提供される。予測結果記憶部80に記憶された予測結果は、マルチラベルモデルの予測結果とシングルラベルモデルの予測結果との比較に用いられてよい。
【0033】
図2は、実施形態における学習装置40の一例を示すブロック図であり、(A)はマルチラベルモデルに関するブロック図であり、(B)はシングルラベルモデルに関するブロック図である。
図3は、実施形態における予測装置70の一例を示すブロック図であり、(A)はマルチラベルモデルに関するブロック図であり、(B)はシングルラベルモデルに関するブロック図である。
【0034】
学習装置40は、
図2(A)に示すように、例えば、学習処理部42と、マルチラベルモデル44とを備える。マルチラベルモデル44は、機械学習モデルであり、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)である。学習処理部42は、マルチラベル記憶部30からマルチラベルモデルの学習データを取得する。
図4は、実施形態におけるマルチラベルモデルの学習データの一例を示す図である。学習処理部42は、マルチラベルモデルの学習データをマルチラベルモデル44に入力し、マルチラベルモデル44から出力された予測結果を取得する。学習処理部42は、マルチラベルモデル44から出力された正解ラベルが、学習データにおける正解ラベルと一致するようにマルチラベルモデル44のモデルパラメータを再帰的に更新する。すなわち学習処理部42は、モデルパラメータ記憶部60のマルチラベルモデル44に関する処理パラメータを更新し、更新した処理パラメータをマルチラベルモデル44に反映する。処理パラメータは、例えば、畳み込みニューラルネットワークにおける、層数、各層のノード数、各層間のノードの結合方式、活性化関数、誤差関数、及び勾配降下アルゴリズム、プーリングの領域、カーネル、重み係数、および重み行列の少なくとも一つである。これにより、学習処理部42は、処理パラメータを取得するために、例えば、深層学習を行う。深層学習とは、多層構造、特に3層以上のニューラルネットワークを用いた機械学習である。
【0035】
学習装置40は、
図2(B)に示すように、例えば、変換部46と、学習処理部42と、シングルラベルモデル48とを備える。変換部46は、データに複数の正解ラベルが付与されたマルチラベルモデルの学習データ(第1の学習データ)における複数の正解ラベルを統合した一つの統合ラベルを生成し、データに対する一つの正解ラベルとして統合ラベルを付与したシングルラベルモデルの学習データ(第2の学習データ)に変換する。変換部46は、変換したシングルラベルモデルの学習データをシングルラベル記憶部50に記憶する。
【0036】
図5は、実施形態における、変換されたシングルラベルモデルの学習データ(第2の学習データ)の一例を示す図である。例えば、
図4に示すように「もしもし、・・・」という一つのデータに対し、「電話がつながらない」というラベルのフラグと「担当者を出してほしい」というラベルのフラグとが共に「1」であったとする。この場合、変換部46は、
図5に示すように、2つのラベルを統合した「電話がつながらない_担当者を出してほしい」という統合ラベルを生成し、当該統合モデルのフラグを立て、統合ラベルの元となった2つの「電話がつながらない」というラベルと「担当者を出してほしい」というラベルのフラグを「0」に変更する。同様に、変換部46は、「昨日修理して・・・」というデータに対し、「電話がつながらない」というフラグと、「ネットがつながらない」というフラグと、「クレーム」というフラグとが「1」である場合、「電話がつながらない_ネットがつながらない_クレーム」という統合ラベルを生成し、当該統合モデルのフラグを立て、当該統合モデルの元となったラベルのフラグを「0」に変更する。さらに、変換部46は、「録音か、・・・」というデータに対して全てのラベルのフラグが「0」である場合、「NoMatch」という統合ラベルを生成し、当該統合モデルのフラグを立てる。なお、統合ラベルのラベル名は一例であり、統合ラベルの元となった複数のラベルとの対応がとれていれば他のラベル名であってよい。また、「NoMatch」という統合ラベル名は一例であり、データに対して全てのラベルのフラグが「0」であることを統合したラベル名であれば他のラベル名であってよい。
【0037】
学習処理部42は、シングルラベル記憶部50に記憶されたシングルラベルモデルの学習データを取得する。学習処理部42は、シングルラベルモデルの学習データをシングルラベルモデル48に入力し、シングルラベルモデル48から出力された予測結果を取得する。学習処理部42は、シングルラベルモデル48から出力された正解ラベルが、学習データにおける正解ラベルと一致するようにシングルラベルモデル48のモデルパラメータを再帰的に更新する。すなわち学習処理部42は、モデルパラメータ記憶部60のシングルラベルモデル48に関する処理パラメータを更新し、更新した処理パラメータをシングルラベルモデル48に反映する。なお、シングルラベルモデル48の処理パラメータはマルチラベルモデル44と同様であってよい。
【0038】
予測装置70は、
図3(A)に示すように、例えば、予測部72と、予測結果出力部76とを備える。予測部72は、モデルパラメータ記憶部60からマルチラベルモデルのモデルパラメータを取得する。予測部72は、対象データを入力し、対象データについての正解ラベルを予測して予測結果記憶部80に記憶する。予測結果出力部76は、予測結果記憶部80に記憶された対象データについての正解ラベルを予測結果として回答する。
【0039】
予測装置70は、
図3(B)に示すように、例えば、予測部72と、逆変換部74と、予測結果出力部76とを備える。予測部72は、モデルパラメータ記憶部60からシングルラベルモデルのモデルパラメータを取得する。予測部72は、対象データを入力し、対象データについての正解ラベルを予測して逆変換部74に出力する。逆変換部74は、シングルラベル記憶部50を参照し、出力された正解ラベルが統合ラベルである場合、統合ラベルを複数の正解ラベルに変換し、予測結果記憶部80に記憶する。予測結果出力部76は、予測結果記憶部80に記憶された対象データについての正解ラベルを予測結果として回答する。
【0040】
[学習処理]
図6は、実施形態の学習処理の一例を示すフローチャートである。データ分類システム1は、アノテーション作業を行ったことにより(ステップS100)、マルチラベルモデルの学習データを記憶する(ステップS102)。データ分類システム1は、例えば学習処理のタイミングが到来したタイミングで、マルチラベルモデルの学習データを取得し(ステップS104)、学習するモデルのタイプを判定する(ステップS106)。
【0041】
データ分類システム1は、学習するモデルのタイプがシングルラベルモデルである場合、マルチラベルモデルの学習データをシングルラベルモデルの学習データに変換し(ステップS108)、変換したシングルラベルモデルの学習データを用いてシングルラベルモデルの学習処理を行う(ステップS110)。これによりデータ分類システム1は、シングルラベルモデルのモデルパラメータを記憶することができる(ステップS112)。
【0042】
データ分類システム1は、学習するモデルのタイプがマルチラベルモデルである場合、取得したマルチラベルモデルの学習データを用いてマルチラベルモデルの学習処理を行う(ステップS114)。これによりデータ分類システム1は、マルチラベルモデルのモデルパラメータを記憶することができる(ステップS116)。
【0043】
図7は、実施形態の学習データの変換処理(ステップS108)の一例を示すフローチャートである。先ず学習装置40は、マルチラベルモデルの学習データにおける一つの行を選択する(ステップS200)。実施形態におけるマルチラベルモデルの学習データは、
図4に示したように、一つの行に、データとラベルのフラグとが対応付けられているものとする。次に学習装置40は、フラグの立ったラベルが2個以上存在するか否かを判定する(ステップS202)。学習装置40は、フラグの立ったラベルが2個以上存在する場合(ステップS202:YES)、当該2個以上のラベルを統合した統合ラベルを生成する(ステップS204)。次に学習装置40は、生成した統合ラベルを、学習データの列に追加し(ステップS206)、当該統合ラベルのフラグを「1」に設定し、当該統合ラベルの元となった元ラベルのフラグを「0」に設定する(ステップS208)。
【0044】
学習装置40は、フラグの立ったラベルが2個以上存在しない場合(ステップS202:NO)、フラグがすべて「0」であるか否かを判定する(ステップS210)。学習装置40は、フラグが全て「0」ではない場合には(ステップS210:NO)、処理をステップS216に進める。学習装置40は、フラグが全て「0」である場合には(ステップS210:YES)、NoMatchラベルを、学習データの列に追加し(ステップS212)、当該NoMatchラベルのフラグを「1」に設定し、当該NoMatchラベルの他のラベルのフラグを「0」に設定する(ステップS214)。
【0045】
学習装置40は、ステップS214において、マルチラベルモデルの学習データの全ての行について処理を行ったか否かを判定し、全ての行について処理を行っていない場合には(ステップS214:NO)、ステップS200に処理を戻し、全ての行について処理を行った場合には(ステップS214:YES)、本フローチャートの処理を終了する。
【0046】
[予測処理]
図8は、実施形態の予測処理の一例を示すフローチャートである。予測装置70は、要求端末10から対象データを取得し(ステップS300)、予測するモデルのタイプを判定する(ステップS302)。なお、予測するモデルのタイプは、例えばユーザの操作に基づいて予め設定されていてよい。
【0047】
予測装置70は、予測するモデルのタイプがシングルラベルモデルである場合、シングルラベルモデルに対象データを入力し、シングルラベルモデルから出力された予測結果を取得する(ステップS304)。次に予測装置70は、シングルラベルモデルから出力された予測結果を逆変換する(ステップS306)。次に予測装置70は、逆変換された予測結果を予測結果記憶部80に記憶する(ステップS308)。次に予測装置70は、記憶した予測結果を回答する(ステップS314)。
【0048】
予測装置70は、予測するモデルのタイプがマルチラベルモデルである場合、マルチラベルモデルに対象データを入力し、マルチラベルモデルから出力された予測結果を取得する(ステップS310)。次に予測装置70は、マルチラベルモデルから出力された予測結果を予測結果記憶部80に記憶する(ステップS312)。次に予測装置70は、記憶した予測結果を回答する(ステップS314)。
【0049】
図9は、実施形態の予測結果の逆変換処理(ステップS306)の一例を示すフローチャートである。先ず予測装置70は、シングルラベルモデルの予測結果における一つの行を選択する(ステップS400)。例えば、要求に複数の対象データが含まれる場合や、要求に含まれたデータを所定のルールに従って複数の対象データに分割した場合、シングルラベルモデルの予測結果は、各行に、対象データとラベルごとのスコアとが対応付けられたデータとなる。次に予測装置70は、予測結果に含まれるラベルの中でスコアが最も高いラベルを予測結果として取得する(ステップS402)。
【0050】
次に予測装置70は、スコアが最も高いラベルが、NoMatchラベルであるか否かを判定する(ステップS406)。予測装置70は、スコアが最も高いラベルがNoMatchラベルである場合(ステップS406:YES)、予測結果に含まれる全てのラベルのフラグを「0」に設定し(ステップS408)、ステップS416に処理を進める。予測装置70は、スコアが最も高いラベルがNoMatchラベルではない場合(ステップS406:NO)、ステップS410に処理を進める。
【0051】
予測装置70は、ステップS410において、スコアが最も高いラベルが、統合ラベルであるか否かを判定する。予測装置70は、スコアが最も高いラベルが統合ラベルである場合(ステップS410:YES)、統合ラベルの元ラベルのフラグを「1」に設定し、元ラベルの他のラベルのフラグを「0」に設定する(ステップS412)。予測装置70は、スコアが最も高いラベルが統合ラベルではない場合(ステップS410:NO)、スコアが最も高いラベルのフラグを「1」に設定し、当該スコアが最も高いラベルの他のラベルのフラグを「0」に設定する(ステップS414)。
【0052】
予測装置70は、ステップS416において、予測結果の全ての行について処理を行ったか否かを判定し、全ての行について処理を行っていない場合には(ステップS416:NO)、ステップS400に処理を戻し、全ての行について処理を行った場合には(ステップS416:YES)、予測結果に含まれる統合ラベル列を破棄して(ステップS418)、本フローチャートの処理を終了する。
【0053】
図10は、実施形態の変換処理および逆変換処理の一例を説明するための図であり、(A)はマルチラベルモデルの学習データの一例であり、(B)は変換処理がされた学習データの一例であり、(C)は予測結果の一例であり、(D)は逆変換処理がされた予測結果の一例である。
【0054】
アノテーション端末20がアノテーション作業により、
図10(A)に示すようなマルチラベルモデルの学習データを生成したものとする。学習装置40は、シングルラベルモデルを学習させる前に、マルチラベルモデルの学習データのうちフラグが「1」となっている複数のラベル1~3を抽出し、抽出したラベル1~3を統合することで、新たなラベルxを生成する。学習装置40は、マルチラベルモデルの学習データにラベル1~3以外の複数のラベルのフラグが「1」である場合、当該複数のラベルを統合して新たなラベルx+1を生成してよい。学習装置40は、
図10(B)に示すように、統合して生成された新たなラベルxの元になったラベル1~3のフラグを「0」に設定し、ラベルxのフラグを「1」に設定したシングルラベルモデルの学習データを作成する。
【0055】
予測装置70は、シングルラベルモデルを用い、複数のラベルのうち最も確からしい単一のラベルを予測する。予測結果は、
図10(C)に示すように、各ラベルのスコア(確からしさ、確率)の総和が1となるように出力される。予測装置70は、全ラベルのスコアのうちラベルxのスコアが最も高いと判定する。予測装置70は、ラベルxが統合ラベルであるので、
図10(D)に示すように、ラベルxの元となっていたラベル1~3のフラグを「1」に設定した予測結果に変換し、統合ラベルを削除する。
【0056】
図11は、実施形態の変換処理および逆変換処理の一例を説明するための図であり、(A)はマルチラベルモデルの学習データの一例であり、(B)は変換処理がされた学習データの一例であり、(C)は予測結果の一例であり、(D)は逆変換処理がされた予測結果の一例である。
【0057】
アノテーション端末20がアノテーション作業により、
図11(A)に示すようなマルチラベルモデルの学習データを生成したものとする。学習装置40は、シングルラベルモデルを学習させる前に、マルチラベルモデルの学習データのうち全てのフラグが「0」となっているので、全てのラベルを統合することで、新たなNoMatchラベルを生成する。学習装置40は、
図11(B)に示すように、生成されたNoMatchラベルのフラグを「1」に設定したシングルラベルモデルの学習データを作成する。
【0058】
予測装置70は、シングルラベルモデルを用い、複数のラベルのうち最も確からしい単一のラベルを予測する。予測結果は、
図11(C)に示すように、各ラベルのスコア(確からしさ、確率)の総和が1となるように出力される。予測装置70は、全ラベルのスコアのうちNoMatchラベルのスコアが最も高いと判定する。予測装置70は、NoMatchラベルが統合ラベルであるので、
図11(D)に示すように、NoMatchラベルの元となっていたラベルのフラグを「0」に設定した予測結果に変換し、NoMatchラベルを削除する。
【0059】
[モデルの評価処理]
データ分類システム1は、シングルラベルモデルの学習データを用いて学習させたシングルラベルモデルを評価してよい。
図12は、実施形態のモデル評価処理の一例を示すフローチャートである。予測装置70は、評価用データを取得する(ステップS300#)。評価用データは、対象データおよび正解ラベルを含むデータである。次に予測装置70は、モデルのタイプを判定する(ステップS302)。
【0060】
予測装置70は、モデルのタイプがシングルラベルモデルである場合、シングルラベルモデルに評価用データを入力し、シングルラベルモデルから出力された予測結果を取得する(ステップS304)。次に予測装置70は、シングルラベルモデルから出力された予測結果を逆変換する(ステップS306)。次に予測装置70は、逆変換された予測結果を予測結果記憶部80に記憶する(ステップS308)。予測装置70は、モデルのタイプがマルチラベルモデルである場合、マルチラベルモデルに評価用データを入力し、マルチラベルモデルから出力された予測結果を取得する(ステップS310)。次に予測装置70は、マルチラベルモデルから出力された予測結果を予測結果記憶部80に記憶する(ステップS312)。
【0061】
次に予測装置70は、シングルラベルモデルの予測結果と評価用データにおける正解ラベルとを比較し、マルチラベルモデルの予測結果と評価用データにおける正解ラベルとを比較する(ステップS320)。これにより予測装置70は、マルチラベルモデルの予測精度およびシングルラベルモデルの予測精度に基づいてシングルラベルモデルを評価することができる(ステップS322)。例えば、予測装置70は、シングルラベルモデルがマルチラベルモデルに近い予測精度を持っているかを評価することができる。
【0062】
図13は、マルチラベルモデルの学習データに含まれるラベル数と、シングルラベルモデルにより予測したスコアと、およびマルチラベルモデルにより予測したスコアとの関係を示す図である。
図13においては、ラベルに対応したスコアを、折れ線グラフで示している。
図13によれば、マルチラベルモデルおよびシングルラベルモデルの双方に同じ評価データを入力しても、マルチラベルモデルおよびシングルラベルモデルにより予測したスコアに大きな差がないことが分かる。したがって、実施形態のようにマルチラベルモデルの学習データを変換してシングルラベルモデルを学習させても、マルチラベルモデルと同様の精度で予測を行うことができることが分かる。
【0063】
以上のように、実施形態の学習装置40によれば、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデル(マルチラベルモデル)を学習させる第1の学習データを、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データに変換する変換部46と、変換部46により変換された第2の学習データを用いて、対象データを入力した場合に一つの正解ラベルを出力する第2の機械学習モデル(シングルラベルモデル)を学習させる学習部(学習処理部42、モデルパラメータ記憶部60およびシングルラベルモデル48)と、を備える、学習装置を実現させることができる。また、学習装置40によれば、当該学習装置に対応した学習方法および、学習方法に対応した処理を実行するプログラムを実現することができる。実施形態の学習装置40によれば、マルチラベルモデルの学習データを用いてシングルラベルモデルの学習を行うことができる。この結果、実施形態の学習装置40によれば、マルチラベルモデルの学習データのアノテーション作業を行えば、アノテーション作業の負担を増加させることなく、複数のラベルから一つの正解ラベルを予測するシングルラベルモデルの学習処理と複数のラベルから複数の正解ラベルを予測するマルチラベルモデルの学習処理とを行わせることができる。
【0064】
実施形態の予測装置70によれば、対象データを入力した場合に複数の正解ラベルを出力する第1の機械学習モデル(マルチラベルモデル)を学習させる第1の学習データを変換した第2の学習データであって、当該第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデル(シングルラベルモデル)に、対象データを入力し、第2の機械学習モデルから出力された正解ラベルを含む予測結果を取得する予測部72と、予測部72により取得した正解ラベルが統合ラベルである場合には統合ラベルの元になった複数のラベルのフラグを変換し、予測結果から統合ラベルを削除する逆変換部74と、を備える、予測装置を実現することができる。また、予測装置70によれば、当該予測装置に対応した予測方法および、予測方法に対応した処理を実行するプログラムを実現することができる。実施形態の予測装置70によれば、マルチラベルモデルの学習データを変換した学習データを用いてシングルラベルモデルの学習を行い、シングルラベルモデルの予測結果を逆変換してマルチラベルモデルの予測結果を出力することができる。この結果、実施形態の予測装置70によれば、マルチラベルモデルの学習データのアノテーション作業を行えば、アノテーション作業の負担を増加させることなく、複数のラベルから一つの正解ラベルを予測するシングルラベルモデルの予測処理と複数のラベルから複数の正解ラベルを予測するマルチラベルモデルの予測処理とを行うことができる。
【0065】
実施形態のデータ分類システム1によれば、データに複数の正解ラベルが付与された第1の学習データを用いて学習された第1の機械学習モデル(マルチラベルモデル)に対象データを入力し、第1の機械学習モデルの予測結果を取得するステップと、第1の学習データに含まれる複数のラベルを当該複数のラベルのフラグに基づいて統合した統合ラベルを含む第2の学習データを用いて学習された第2の機械学習モデル(シングルラベルモデル)に対象データを入力し、正解ラベルが統合ラベルである場合に統合ラベルの元になった複数のラベルのフラグを変換し、予測結果から統合ラベルを削除して、第2の機械学習モデルの予測結果を取得するステップと、第1の機械学習モデルの予測結果と第2の機械学習モデルの予測結果とを比較することで、第2の機械学習モデルを評価するステップと、を含む、機械学習モデルの評価方法を実現することができる。このデータ分類システム1によれば、一度のアノテーション作業によりマルチラベルモデルの学習データを生成してマルチラベルモデルおよびシングルラベルモデルの学習を行った場合に、シングルラベルモデルの予測結果を評価することができる。
【0066】
なお、各実施形態および変形例について説明したが、一例であってこれらに限られず、例えば、各実施形態や各変形例のうちのいずれかや、各実施形態の一部や各変形例の一部を、他の1または複数の実施形態や他の1または複数の変形例と組み合わせて本発明の一態様を実現させてもよい。
【0067】
なお、本実施形態におけるユーザ端末装置100、検索サーバ装置200、およびバッチサーバ装置300の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、ユーザ端末装置100、検索サーバ装置200、およびバッチサーバ装置300に係る上述した種々の処理を行ってもよい。
【0068】
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリなどの書き込み可能な不揮発性メモリ、CD-ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
【0069】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic
Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
【0070】
ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0071】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【符号の説明】
【0072】
10 要求端末
20 アノテーション端末
30 マルチラベル記憶部
40 学習装置
42 学習処理部
44 マルチラベルモデル
46 変換部
48 シングルラベルモデル
50 シングルラベル記憶部
60 モデルパラメータ記憶部
70 予測装置
72 予測部
74 逆変換部
76 予測結果出力部
80 予測結果記憶部