(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-17
(45)【発行日】2023-08-25
(54)【発明の名称】ラベリングプログラム、ラベリング装置及びラベリング方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20230818BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2019125734
(22)【出願日】2019-07-05
【審査請求日】2022-06-02
(73)【特許権者】
【識別番号】506301140
【氏名又は名称】公立大学法人会津大学
(73)【特許権者】
【識別番号】000101732
【氏名又は名称】アルパイン株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】趙 強福
(72)【発明者】
【氏名】富岡 洋一
(72)【発明者】
【氏名】胡 溢シン
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2019-040335(JP,A)
【文献】国際公開第2005/048184(WO,A1)
【文献】特開2017-224184(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02- 3/10
G06N 20/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1記憶部に記憶した複数の学習データのうち、第1データ数の学習データを取り出して出力し、出力した前記第1データ数の学習データを前記第1記憶部から削除し、
出力した前記第1データ数の学習データのそれぞれに対応するラベルとしてユーザが決定した前記第1データ数のラベルの入力に応じて、前記第1データ数の学習データのそれぞれに前記ラベルを対応付けた前記第1データ数のラベル付き学習データを生成し、
生成した前記第1データ数のラベル付き学習データを第2記憶部に蓄積し、
前記第2記憶部に蓄積した前記第1データ数のラベル付き学習データを学習することによって第1モデルを生成し、
生成した前記第1モデルの認識能力を示す値に基づいて、第2データ数を特定し、
前記第1記憶部に記憶した複数の学習データから、
前記第2データ数の学習データを取り出し、
取り出した前記第2データ数の学習データと、取り出した前記第2データ数の学習データの入力に伴って前記第1モデルから出力される前記第2データ数のラベルとを出力し、
出力した前記第2データ数のラベルに対し、前記第2データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第2データ数のラベルの入力を受け付け、入力を受け付けた前記第2データ数のラベルを前記第2データ数の学習データのそれぞれに対応付けた前記第2データ数のラベル付き学習データを生成し、
生成した前記第2データ数のラベル付き学習データを前記第2記憶部に蓄積する、
処理をコンピュータに実行させることを特徴とするラベリングプログラム。
【請求項2】
請求項
1において、
前記第2データ数を特定する処理では、
前記第1データ数の学習データ
のうち、
前記第1モデル
に対する入力に伴って前記第1モデルから出力され
るラベル
が正解でない学習データの第1割合を、前記第1モデルの認識能力を示す値として特定する、
ことを特徴とするラベリングプログラム。
【請求項3】
請求項
2において、
前記第2データ数を特定する処理では、前記第1データ数を前記第1割合で除算することによって、前記第2データ数を算出する、
ことを特徴とするラベリングプログラム。
【請求項4】
請求項
2において、
前記第2データ数を特定する処理では、
各学習データに対応付けられるラベルが正解のラベルでない場合におけるユーザの第1作業時間と、前記第1割合との積である第1の値を算出し、
各学習データに対応付けられるラベルが正解のラベルである場合におけるユーザの第2作業時間と、前記第1割合を1から減算して算出した値との積である第2の値を算出し、
前記第1の値と前記第2の値との和と、前記第2データ数との積が所定の閾値以下にな
るように、前記第2データ数を算出する、
ことを特徴とするラベリングプログラム。
【請求項5】
請求項
4において、
前記第1作業時間は、各学習データに対応付けられるラベルのそれぞれが正解であるか否かをユーザが判定するために要する時間と、学習データに対応付けられたラベルのそれぞれをユーザが正解のラベルに変更するために要する時間との和であり、
前記第2作業時間は、各学習データに対応付けられるラベルのそれぞれが正解であるか否かをユーザが判定するために要する時間である、
ことを特徴とするラベリングプログラム。
【請求項6】
請求項
5において、さらに、
前記第2記憶部に記憶したラベル付き学習データを学習することによって第2モデルを生成し、
前記第1記憶部に記憶した複数の学習データから、第3データ数の学習データを取り出し、
取り出した前記第3データ数の学習データと、取り出した前記第3データ数の学習データの入力に伴って前記第2モデルから出力される前記第3データ数のラベルとを出力し、
出力した前記第3データ数のラベルに対し、前記第3データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第3データ数のラベルの入力を受け付け、入力を受け付けた前記第3データ数のラベルを前記第3データ数の学習データのそれぞれに対応付けた前記第3データ数のラベル付き学習データを生成し、
生成した前記第3データ数のラベル付き学習データを前記第2記憶部に蓄積する、
処理をコンピュータに実行させることを特徴とするラベリングプログラム。
【請求項7】
請求項
6において、
前記第2モデルを生成する処理と、前記第3データ数の学習データを取り出す処理と、前記第3データ数のラベルを出力する処理と、前記第3データ数のラベル付き学習データを生成する処理と、前記第3データ数のラベル付き学習データを蓄積する処理とを所定回数繰り返す、
ことを特徴とするラベリングプログラム。
【請求項8】
請求項
6において、
前記第1記憶部に記憶した複数の学習データの全てが取り出されるまで、前記第2モデルを生成する処理と、前記第3データ数の学習データを取り出す処理と、前記第3データ数のラベルを出力する処理と、前記第3データ数のラベル付き学習データを生成する処理と、前記第3データ数のラベル付き学習データを蓄積する処理とを繰り返す、
ことを特徴とするラベリングプログラム。
【請求項9】
複数の学習データを記憶する第1記憶部と、
前記複数の学習データのうち、第1データ数の学習データを取り出して出力し、出力した前記第1データ数の学習データを前記第1記憶部から削除する第1出力部と、
出力した前記第1データ数の学習データのそれぞれに対応するラベルとしてユーザが決定した前記第1データ数のラベルの入力に応じて、前記第1データ数の学習データのそれぞれに前記ラベルを対応付けた前記第1データ数のラベル付き学習データを生成する第1
データ生成部と、
生成した前記第1データ数のラベル付き学習データを蓄積する第2記憶部と、
前記第2記憶部に蓄積した前記第1データ数のラベル付き学習データを学習することによって第1モデルを生成するモデル生成部と、
生成した前記第1モデルの認識能力を示す値に基づいて、第2データ数を特定するデータ数特定部と、
前記第1記憶部に記憶した複数の学習データから、
前記第2データ数の学習データを取り出すデータ取出部と、
取り出した前記第2データ数の学習データと、取り出した前記第2データ数の学習データの入力に伴って前記第1モデルから出力される前記第2データ数のラベルとを出力する第2出力部と、
出力した前記第2データ数のラベルに対し、前記第2データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第2データ数のラベルの入力を受け付け、入力を受け付けた前記第2データ数のラベルを前記第2データ数の学習データのそれぞれに対応付けた前記第2データ数のラベル付き学習データを生成する第2データ生成部と、を有し、
前記第2記憶部は、さらに、生成した前記第2データ数のラベル付き学習データを蓄積する、
ことを特徴とするラベリング装置。
【請求項10】
第1記憶部に記憶した複数の学習データのうち、第1データ数の学習データを取り出して出力し、出力した前記第1データ数の学習データを前記第1記憶部から削除し、
出力した前記第1データ数の学習データのそれぞれに対応するラベルとしてユーザが決定した前記第1データ数のラベルの入力に応じて、前記第1データ数の学習データのそれぞれに前記ラベルを対応付けた前記第1データ数のラベル付き学習データを生成し、
生成した前記第1データ数のラベル付き学習データを第2記憶部に蓄積し、
前記第2記憶部に蓄積した前記第1データ数のラベル付き学習データを学習することによって第1モデルを生成し、
生成した前記第1モデルの認識能力を示す値に基づいて、第2データ数を特定し、
前記第1記憶部に記憶した複数の学習データから、
前記第2データ数の学習データを取り出し、
取り出した前記第2データ数の学習データと、取り出した前記第2データ数の学習データの入力に伴って前記第1モデルから出力される前記第2データ数のラベルとを出力し、
出力した前記第2データ数のラベルに対し、前記第2データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第2データ数のラベルの入力を受け付け、入力を受け付けた前記第2データ数のラベルを前記第2データ数の学習データのそれぞれに対応付けた前記第2データ数のラベル付き学習データを生成し、
生成した前記第2データ数のラベル付き学習データを前記第2記憶部に蓄積する、
処理をコンピュータに実行させることを特徴とするラベリング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラベリングプログラム、ラベリング装置及びラベリング方法に関する。
【背景技術】
【0002】
近年、盛んに研究が行われている機械学習は、人工知能(AI:Artificial Intelligence)の有効性を高めるために必要なコアテクノロジーである。そして、このような機械学習の中には、データの正解情報(以下、ラベルとも呼ぶ)が対応付けられた学習データ(以下、ラベル付き学習データとも呼ぶ)を用いる教師あり学習がある。
【0003】
上記のような教師あり学習を行う場合、作業者は、一般的に、多数のラベル付き学習データを予め用意する必要がある。そのため、作業者は、例えば、教師あり学習を行う前に、多数の学習データのそれぞれに対して適切なラベルを対応付ける作業(以下、ラベリングとも呼ぶ)を行い、多数のラベル付き学習データを予め生成する。そして、作業者は、生成したラベル付き学習データを用いることによって教師あり学習を行う(非特許文献1を参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のようなラベリングを作業者が人手によって行う場合、作業者の作業負担が膨大になるだけでなく、ラベル付き学習データの品質保証が困難になる。また、例えば、クラウドソーシング等を利用してラベリングを行う場合、これによるコストが高くなる。
【0006】
そこで、本発明の目的は、ラベリングを効率的に行うことを可能とするラベリングプログラム、ラベリング装置及びラベリング方法を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するための本発明におけるラベリングプログラムは、第1記憶部に記憶した複数の学習データのうち、第1データ数の学習データを取り出して出力し、出力した前記第1データ数の学習データを前記第1記憶部から削除し、出力した前記第1データ数の学習データのそれぞれに対応するラベルとしてユーザが決定した前記第1データ数のラベルの入力に応じて、前記第1データ数の学習データのそれぞれに前記ラベルを対応付けた前記第1データ数のラベル付き学習データを生成し、生成した前記第1データ数のラベル付き学習データを第2記憶部に蓄積し、前記第2記憶部に蓄積した前記第1データ数のラベル付き学習データを学習することによって第1モデルを生成し、前記第1記憶部に記憶した複数の学習データから、第2データ数の学習データを取り出し、取り出した前記第2データ数の学習データと、取り出した前記第2データ数の学習データの入力に伴って前記第1モデルから出力される前記第2データ数のラベルとを出力し、出力した前記第2データ数のラベルに対し、前記第2データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第2データ数のラベルの入力を受け付け、入力を受け付けた前記第2データ数のラベルを前記第2データ数の学習データのそれぞれに対応付けた前記第2データ数のラベル付き学習データを生成し、生成した前記第2データ数のラベル付き学習データを前記第2記憶部に蓄積する、処理をコンピュータに実行させることを特徴とする。
【0008】
上記目的を達成するための本発明におけるラベリングプログラムは、さらに、前記第1モデルの認識能力を示す値に基づいて、前記第2データ数を特定する、ことを特徴とする。
【0009】
上記目的を達成するための本発明におけるラベリングプログラムにおいて、一つの態様では、前記第1データ数の学習データと、前記第1データ数の学習データの入力に伴って前記第1モデルから出力された前記第1データ数のラベルとを出力し、出力した前記第1データ数の学習データのそれぞれについて、前記第1データ数のラベルのうちの各学習データに対応するラベルが正解のラベルであるとユーザによって判断されたか否かを示す正誤情報の入力を受け付け、入力を受け付けた前記正誤情報に基づいて、出力した前記第1データ数のラベルのうち、正解のラベルであるとユーザによって判断されなかったラベルの第1割合を算出し、算出した前記第1割合を前記第1モデルの認識能力を示す値として特定する、ことを特徴とする。
【0010】
上記目的を達成するための本発明におけるラベリングプログラムにおいて、前記第2データ数を特定する処理では、前記第1データ数を前記第1割合で除算することによって、前記第2データ数を算出する、ことを特徴とする。
【0011】
上記目的を達成するための本発明におけるラベリングプログラムにおいて、前記第2データ数を特定する処理では、各学習データに対応付けられるラベルが正解のラベルでない場合におけるユーザの第1作業時間と、前記第1割合との積である第1の値を算出し、各学習データに対応付けられるラベルが正解のラベルである場合におけるユーザの第2作業時間と、前記第1割合を1から減算して算出した値との積である第2の値を算出し、前記第1の値と前記第2の値との和と、前記第2データ数との積が所定の閾値以下になるように、前記第2データ数を算出する、ことを特徴とする。
【0012】
上記目的を達成するための本発明におけるラベリングプログラムにおいて、前記第1作業時間は、各学習データに対応付けられるラベルのそれぞれが正解であるか否かをユーザが判定するために要する時間と、学習データに対応付けられたラベルのそれぞれをユーザが正解のラベルに変更するために要する時間との和であり、前記第2作業時間は、各学習データに対応付けられるラベルのそれぞれが正解であるか否かをユーザが判定するために要する時間である、ことを特徴とする。
【0013】
上記目的を達成するための本発明におけるラベリングプログラムは、さらに、前記第2記憶部に記憶したラベル付き学習データを学習することによって第2モデルを生成し、前記第1記憶部に記憶した複数の学習データから、第3データ数の学習データを取り出し、取り出した前記第3データ数の学習データと、取り出した前記第3データ数の学習データの入力に伴って前記第2モデルから出力される前記第3データ数のラベルとを出力し、出力した前記第3データ数のラベルに対し、前記第3データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第3データ数のラベルの入力を受け付け、入力を受け付けた前記第3データ数のラベルを前記第3データ数の学習データのそれぞれに対応付けた前記第3データ数のラベル付き学習データを生成し、生成した前記第3データ数のラベル付き学習データを前記第2記憶部に蓄積する、処理をコンピュータに実行させることを特徴とする。
【0014】
上記目的を達成するための本発明におけるラベリングプログラムは、さらに、前記第3データ数のラベル付き学習データを前記第2記憶部に蓄積する、処理をコンピュータに実行させることを特徴とする。
【0015】
上記目的を達成するための本発明におけるラベリングプログラムにおいて、前記第2モデルを生成する処理と、前記第3データ数の学習データを取り出す処理と、前記第3データ数のラベルを出力する処理と、前記第3データ数のラベル付き学習データを生成する処理と、前記第3データ数のラベル付き学習データを蓄積する処理とを所定回数繰り返す、ことを特徴とする。
【0016】
上記目的を達成するための本発明におけるラベリングプログラムにおいて、前記第1記憶部に記憶した複数の学習データの全てが取り出されるまで、前記第2モデルを生成する処理と、前記第3データ数の学習データを取り出す処理と、前記第3データ数のラベルを出力する処理と、前記第3データ数のラベル付き学習データを生成する処理と、前記第3データ数のラベル付き学習データを蓄積する処理とを繰り返す、ことを特徴とする。
【0017】
また、上記目的を達成するための本発明におけるラベリング装置は、複数の学習データを記憶する第1記憶部と、前記複数の学習データのうち、第1データ数の学習データを取り出して出力し、出力した前記第1データ数の学習データを前記第1記憶部から削除する第1出力部と、出力した前記第1データ数の学習データのそれぞれに対応するラベルとしてユーザが決定した前記第1データ数のラベルの入力に応じて、前記第1データ数の学習データのそれぞれに前記ラベルを対応付けた前記第1データ数のラベル付き学習データを生成する第1データ生成部と、生成した前記第1データ数のラベル付き学習データを蓄積する第2記憶部と、前記第2記憶部に蓄積した前記第1データ数のラベル付き学習データを学習することによって第1モデルを生成するモデル生成部と、前記第1記憶部に記憶した複数の学習データから、第2データ数の学習データを取り出すデータ取出部と、取り出した前記第2データ数の学習データと、取り出した前記第2データ数の学習データの入力に伴って前記第1モデルから出力される前記第2データ数のラベルとを出力する第2出力部と、出力した前記第2データ数のラベルに対し、前記第2データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第2データ数のラベルの入力を受け付け、入力を受け付けた前記第2データ数のラベルを前記第2データ数の学習データのそれぞれに対応付けた前記第2データ数のラベル付き学習データを生成する第2データ生成部と、を有し、前記第2記憶部は、さらに、生成した前記第2データ数のラベル付き学習データを蓄積する、ことを特徴とする。
【0018】
また、上記目的を達成するための本発明におけるラベリング方法は、第1記憶部に記憶した複数の学習データのうち、第1データ数の学習データを取り出して出力し、出力した前記第1データ数の学習データを前記第1記憶部から削除し、出力した前記第1データ数の学習データのそれぞれに対応するラベルとしてユーザが決定した前記第1データ数のラベルの入力に応じて、前記第1データ数の学習データのそれぞれに前記ラベルを対応付けた前記第1データ数のラベル付き学習データを生成し、生成した前記第1データ数のラベル付き学習データを第2記憶部に蓄積し、前記第2記憶部に蓄積した前記第1データ数のラベル付き学習データを学習することによって第1モデルを生成し、前記第1記憶部に記憶した複数の学習データから、第2データ数の学習データを取り出し、取り出した前記第2データ数の学習データと、取り出した前記第2データ数の学習データの入力に伴って前記第1モデルから出力される前記第2データ数のラベルとを出力し、出力した前記第2データ数のラベルに対し、前記第2データ数の学習データに対応するラベルとして間違っているか否かの判断と、間違っていると判断した場合におけるラベルの変更とがユーザによってそれぞれ行われた前記第2データ数のラベルの入力を受け付け、入力を受け付けた前記第2データ数のラベルを前記第2データ数の学習データのそれぞれに対応付けた前記第2データ数のラベル付き学習データを生成し、生成した前記第2データ数のラベル付き学習データを前記第2記憶部に蓄積する、処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【0019】
本発明におけるラベリングプログラム、ラベリング装置及びラベリング方法によれば、ラベリングに伴う作業者の作業負担を軽減させることが可能になり、ラベリングによって生成されたラベル付き学習データの品質を保証することが可能になる。また、本発明におけるラベリングプログラム、ラベリング装置及びラベリング方法によれば、クラウドソーシング等を用いたラベル付け作業に伴うコストを抑えることが可能になる。
【図面の簡単な説明】
【0020】
【
図1】
図1は、本発明の実施の形態におけるラベリング装置1の構成例を示す図である。
【
図2】
図2は、第1の実施の形態におけるラベリング処理を説明するフローチャート図である。
【
図3】
図3は、第1の実施の形態におけるラベリング処理を説明するフローチャート図である。
【
図4】
図4は、第1の実施の形態におけるラベリング処理を説明する図である。
【
図5】
図5は、第1の実施の形態におけるラベリング処理を説明する図である。
【
図6】
図6は、第1の実施の形態におけるラベリング処理を説明する図である。
【
図7】
図7は、第2の実施の形態におけるラベリング処理を説明するフローチャート図である。
【
図8】
図8は、第2の実施の形態におけるラベリング処理を説明するフローチャート図である。
【
図9】
図9は、第2の実施の形態におけるラベリング処理を説明する図である。
【
図10】
図10は、第2の実施の形態におけるラベリング処理を説明する図である。
【
図11】
図11は、第2の実施の形態におけるラベリング処理を説明する図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【0022】
図1は、本発明の実施の形態におけるラベリング装置1の構成例を示す図である。ラベリング装置1は、コンピュータ装置であって、汎用的なPC(Personal Computer)であってよい。また、ラベリング装置1は、据置型、ノードブック型、タブレット型等の形態を問わない。
【0023】
ラベリング装置1は、汎用的なコンピュータ装置のハードウエア構成を有し、例えば、
図1に示すように、プロセッサであるCPU101と、メモリ102と、ネットワークインタフェース103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0024】
記憶媒体104は、例えば、学習データに対してラベリングを行う処理(以下、ラベリング処理とも呼ぶ)を行うためのプログラム(図示しない)を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、ラベリング処理を行う際に用いられる情報を記憶する第1記憶部及び第2記憶部(以下、これらを総称して記憶領域110とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Sokid State Drive)であってよい。
【0025】
CPU101は、記憶媒体104からメモリ102にロードされたプログラムを実行してラベリング処理を行う。
【0026】
また、ネットワークインタフェース103は、例えば、作業者が操作を行う操作端末5と通信を行う。
【0027】
[第1の実施の形態]
次に、第1の実施の形態について説明する。
図2及び
図3は、第1の実施の形態におけるラベリング処理を説明するフローチャート図である。また、
図4から
図6は、第1の実施の形態におけるラベリング処理を説明する図である。
【0028】
ラベリング装置1は、ラベリング処理の開始タイミングになった場合、
図2に示すように、各記憶領域の初期化処理を行う(S01)。ラベリング処理の開始タイミングは、例えば、作業者が操作端末5を介してラベリング処理を開始する旨の入力を行ったタイミングである。
【0029】
具体的に、ラベリング装置1は、S01の処理において、ラベリングが行われていないオリジナルの学習データが含まれる学習データ群(以下、学習データ群Dとも呼ぶ)を記憶領域110に格納する。また、ラベリング装置1は、記憶領域110において、ラベリングが行われたラベル付き学習データが含まれる学習データ群(以下、学習データ群Tとも呼ぶ)を格納するための記憶領域を予め確保する。さらに、ラベリング装置1は、作業者がラベリングを行う学習データのデータ数nの入力を行ったことに応じて、データ数nを記憶領域110に記憶する。
【0030】
続いて、ラベリング装置1は、学習データ群Dからn個の学習データを取り出して出力する(S02)。具体的に、ラベリング装置1は、例えば、ランダムに取り出したn個のデータを操作端末5の出力装置(図示しない)に出力する。
【0031】
これにより、作業者は、ラベリング装置1が出力したn個のデータに対して人手によるラベリングを行うことが可能になる。
【0032】
次に、ラベリング装置1は、作業者がラベリングを行ったn個のラベル付き学習データの入力を受け付ける(S03)。すなわち、ラベリング装置1は、S02の処理で出力したn個のデータに対して作業者がラベリングを行ったn個のラベル付き学習データの入力を受け付ける。
【0033】
その後、ラベリング装置1は、S03の処理で入力を受け付けたn個のラベル付き学習データを学習データ群Tの少なくとも一部として記憶領域110に記憶する(S04)。
【0034】
そして、ラベリング装置1は、記憶領域110に記憶されたラベル付き学習データ群Tに含まれるラベル付き学習データを入力とすることによってモデルMを生成する(S05)。
【0035】
すなわち、ラベリング装置1は、直前に行われたS04の処理において記憶領域110に記憶したラベル付き学習データ群Tだけでなく、過去に行われたS04の処理において記憶領域110に記憶したラベル付き学習データ群Tについても用いることにより、モデルMの生成の学習を行う。
【0036】
続いて、ラベリング装置1は、学習データ群Dから1個の学習データを取り出してモデルMに入力する(S06)。具体的に、ラベリング装置1は、S02の処理または過去に行われたS06の処理においてまだ取り出されていない学習データの中から、1個の学習データを取り出してモデルMに入力する。
【0037】
そして、ラベリング装置1は、
図3に示すように、モデルMから出力されたラベルと、S06の処理で取り出した学習データとを出力する(S11)。具体的に、ラベリング装置1は、例えば、モデルMから出力されたラベルと、S06の処理で取り出した学習データとを操作端末5の出力装置(図示しない)に出力する。
【0038】
その後、ラベリング装置1は、作業者によって変更が行われたラベルの入力を受け付ける(S12)。
【0039】
すなわち、作業者は、S11の処理において出力されたラベルがS11の処理において出力された学習データに対応する正解のラベルであるか否かを判定する。そして、正解のラベルでないと判断した場合、作業者は、S11の処理で出力したラベルをS11の処理において出力した学習データに対応する正解のラベルに変更(修正)し、変更したラベルをラベリング装置1に入力する。
【0040】
続いて、ラベリング装置1は、モデルMから出力されたラベル(S12の処理においてラベルの変更が行われた場合には変更後のラベル)を、S06の処理において取り出した学習データ(S11の処理において出力した学習データ)と対応付けることによって、ラベル付き学習データを生成する。そして、ラベリング装置1は、生成したラベル付き学習データを学習データ群Tの少なくとも一部として記憶領域110に記憶する(S13)。
【0041】
すなわち、ラベリング装置1は、正解のラベルが対応付けられたラベル付き学習データのみを生成して蓄積する。これにより、ラベリング装置1は、モデルMの生成以外の用途についても用いることが可能なラベル付き学習データの蓄積を行うことが可能になる。
【0042】
その後、ラベリング装置1は、S06以降の処理の実行回数がn回に到達したか否かを判定する(S14)。すなわち、ラベリング装置1は、S05の処理が行われた後、n個のラベル付き学習データの生成が行われたか否かを判定する。なお、ラベリング装置1は、S06以降の処理の実行回数がm回(n回と異なる回数)に到達したか否かについての判定を行うものであってもよい。
【0043】
その結果、S06以降の処理の実行回数がn回に到達したと判定した場合(S14のYES)、ラベリング装置1は、S02及びS06の処理において、学習データ群Dに含まれる全ての学習データを取り出したか否かを判定する(S15)。
【0044】
一方、S06以降の処理の実行回数がn回に到達していないと判定した場合(S14のNO)、ラベリング装置1は、S06以降の処理を再度行う。
【0045】
そして、学習データDに含まれる全ての学習データを取り出したと判定した場合(S15のYES)、ラベリング装置1は、ラベリング処理を終了する。
【0046】
一方、学習データDに含まれる全ての学習データを取り出していないと判定した場合(S15のNO)、ラベリング装置1は、S05以降の処理を再度行う。具体的に、ラベリング装置1は、記憶領域110に記憶された学習データ群Tに含まれる全てのラベル付き学習データを用いることによって新たなモデルMを生成する。そして、ラベリング装置1は、新たに生成したモデルMを用いることによって、さらなるラベル付き学習データの生成を行う。
【0047】
すなわち、
図5に示すように、モデルMの性能を飽和させるために必要なラベル付き学習データTの数(以下、N0個とする)は、学習データ群Dに含まれる学習データの総数(以下、N個とする)よりも小さい場合がある。
【0048】
そのため、作業者は、例えば、N個の学習データのうちのN0個の学習データについてのみラベリングを行い、N0個のラベル付き学習データを生成する。そして、作業者は、生成したN0個のラベル付き学習データを用いることによってモデルM(以下、モデルM0とも呼ぶ)を生成する。その後、作業者は、例えば、生成したモデルM0を用いることによって、残りの学習データ(N-N0個の学習データ)についてのラベリングを自動的に行う。これにより、作業者は、人手によるラベリング回数を抑制することが可能になる。
【0049】
しかしながら、Nの値が非常に大きい場合、これに伴ってN0の値も大きくなるため、多数の学習データについてのラベリングを人手で行う必要性が生じる。また、作業者は、N0の値を容易に特定することができない場合がある。
【0050】
そこで、第1の実施の形態におけるラベリング処理では、人手によるラベリングをN0個よりも小さい数であるN1個の学習データ(
図2等で説明した例ではn個の学習データ)についてのみ行う。そして、生成されたN1個のラベル付き学習データを用いることによって、モデルM(以下、モデルM1とも呼ぶ)を生成する。すなわち、ラベリング装置1は、N1個のラベル付き学習データのみを用いることによって、ある程度の性能を有するモデルM1の生成を行う。
【0051】
その後、ラベリング装置1は、モデルM1を用いることによって新たなラベル付き学習データを生成した後、それまでに生成した全てのラベル付き学習データを用いることにより、新たなモデルM(モデルM1よりも性能が高いモデル)を生成する。そして、ラベリング装置1は、新たなラベル付き学習データの生成と新たなモデルMの生成とを繰り返し行うことにより、性能が飽和するモデルMの生成を行う。
【0052】
これにより、第1の実施の形態におけるラベリング装置1は、N0の値が大きい場合やN0の値の特定が困難である場合であっても、人手でのラベリングによる作業者の作業負担を軽減することが可能になる。そのため、ラベリング装置1は、モデルMを効率的に生成することが可能になる。
【0053】
具体的に、例えば、N1の値が1000であって、1個の学習データに対してラベリングを行う時間が2秒であった場合、作業者は、人手によるラベリングに要する時間を2000秒(約33分)に抑えることが可能になる。なお、N1の値は、例えば、作業者の体力等を考慮した無理のない範囲内において決定されるものであってよい。
【0054】
また、第1の実施の形態におけるラベリング処理では、人手でラベリングを行う学習データの数を抑制することが可能になるため、クラウドソーシング等を利用してラベリングを行う必要がなくなる。したがって、第1の実施の形態におけるラベリング処理では、ラベリングの実施に伴うコストを抑制することが可能になる。
【0055】
なお、第1の実施の形態におけるラベリング処理において、作業者は、S06の処理において取り出した学習データのそれぞれについて、モデルMから出力されたラベルが正解のラベルであるか否かの確認(判定)を人手によって行う必要がある。
【0056】
この点、モデルMは、少なくともn個の学習データを用いることによって生成されるものである。そのため、作業者が実際にラベルの変更を行う必要がある学習データは、S06の処理において取り出した学習データのうちの一部に留まる。また、第1の実施の形態におけるラベリング処理では、n個の学習データからn個のラベル付き学習データを生成する毎に、より性能が高い新たなモデルMが生成される。そのため、作業者がラベルの変更を行う必要がある学習データは、新たなモデルMを生成が行われる毎に少なくなることが期待できる。
【0057】
したがって、モデルMから出力されたラベルの確認に伴う作業負担の増加による影響は、第1の実施の形態におけるラベリング処理を行うことによる作業者の作業負担の減少による効果よりも十分に小さいものと判断できる。
【0058】
なお、S02の処理において、学習データ群Dから取り出す学習データは、各学習データの近隣関係に基づく複数の学習データごとに取り出されるものであってもよい。ここでの近隣関係に基づく複数の学習は、各学習データが時系列データである場合、例えば、同じ時間帯に観察(収録)された学習データであり、各学習データが多次元空間のデータである場合、例えば、超球の中の学習データである。また、S02の処理において、学習データ群Dから取り出すデータの順序は、ランダムに限られず、例えば、各学習データの観察が行われた順番に従うものであってもよい。
【0059】
[第1の実施の形態の具体例]
次に、第1の実施の形態の具体例について説明する。
図6は、第1の実施の形態におけるラベリング処理の具体例を説明する図である。以下、学習データ群Dに含まれる学習データの数が100万個であり、nの値が1000であるものとして説明を行う。
【0060】
ラベリング装置1は、
図6に示すように、初めに、学習データ群Dから1000個の学習データを取り出す(S02)。そして、作業者は、S02の処理で取り出した1000個の学習データのそれぞれについてラベリングを行うことにより、1000個のラベル付き学習データを生成してラベリング装置1に入力する(S03)。
【0061】
続いて、ラベリング装置1は、作業者によって生成された1000個のラベル付き学習データを学習データ群Tに追加する(S04)。そして、ラベリング装置1は、学習データ群Tに格納された1000個のラベル付き学習データを入力としてモデルM1を生成する(S05)。以下、モデルM1のエラー率e(学習データに対応する正解のラベルが出力されない確率)が30%であるものとして説明を行う。なお、エラー率eの算出方法については、第2の実施の形態において説明を行う。
【0062】
その後、ラベリング装置1は、学習データ群Dから取り出した1個の学習データをモデルM1に入力し、これに伴ってモデルM1から出力されたラベルを取り出す。そして、ラベリング装置1は、例えば、学習データ群Dから取り出した学習データと、モデルM1から出力されたラベルとを操作端末5の出力装置に出力する(S11)。
【0063】
続いて、作業者は、例えば、出力装置の画面を閲覧し、モデルM1から出力されたラベルが学習データ群Dから取り出した学習データに対応する正解のラベルであるか否かを判定する。その結果、正解のラベルであると判定した場合、作業者は、モデルM1から出力されたラベルをそのままラベリング装置1に入力する。一方、正解のラベルでないと判定した場合、作業者は、モデルM1から出力されたラベルを正解のラベルに変更してからラベリング装置1に入力する(S12)。
【0064】
そして、ラベリング装置1は、作業者によって入力されたラベルを学習データ群Dから取り出した1個の学習データに対応付けることによって生成したラベル付き学習データを、学習データ群Tの少なくとも一部として記憶領域110に記憶する(S13)。
【0065】
その後、ラベリング装置1は、学習データ群Dから取り出した1000個の学習データに対応するラベルの全てが作業者によって入力されるまでの間、上記の処理(S06からS13の処理)を繰り返す。そして、ラベリング装置1は、作業者によって入力された1000個のラベルから生成した1000個のラベル付き学習データを学習データ群Tに追加する。すなわち、記憶領域110には、この場合、
図6に示すように、2000個の学習データが学習データ群Tに蓄積されている状態になる。
【0066】
なお、モデルM1のエラー率eが30%であるため、作業者は、この場合、
図6に示すように、300個のラベルを正解のラベルに変更する。
【0067】
そして、ラベリング装置1は、学習データ群Tに格納された2000個のラベル付き学習データを入力としてモデルM2を生成する。以下、モデルM2のエラー率eが20%であるものとして説明を行う。
【0068】
次に、ラベリング装置1は、学習データ群Dから取り出した1個の学習データをモデルM2に入力し、これに伴ってモデルM2から出力されたラベルを取り出す(S06)。そして、ラベリング装置1は、例えば、学習データ群Dから取り出した学習データと、モデルM2から出力されたラベルとを操作端末5の出力装置に出力する(S11)。
【0069】
続いて、作業者は、例えば、出力装置の画面を閲覧し、モデルM2から出力されたラベルが学習データ群Dから取り出した学習データに対応する正解のラベルであるか否かを判定する。その結果、正解のラベルであると判定した場合、モデルM2から出力されたラベルをそのままラベリング装置1に入力する。一方、正解のラベルでないと判定した場合、モデルM2から出力されたラベルを正解のラベルに変更してからラベリング装置1に入力する(S12)。
【0070】
そして、ラベリング装置1は、作業者によって入力されたラベルを学習データ群Dから取り出した1個の学習データに対応付けることによって生成したラベル付き学習データを、学習データ群Tの少なくとも一部として記憶領域110に記憶する(S13)。
【0071】
その後、ラベリング装置1は、学習データ群Dから取り出した1000個の学習データに対応するラベルの全てが作業者によって入力されるまでの間、上記の処理(S06からS13の処理)を繰り返す。そして、ラベリング装置1は、作業者によって入力された1000個のラベルから生成した1000個のラベル付き学習データを学習データ群Tに追加する。すなわち、記憶領域110には、この場合、
図6に示すように、3000個の学習データが学習データ群Tに蓄積されている状態になる。
【0072】
なお、モデルM2のエラー率eが20%であるため、作業者は、この場合、
図6に示すように、200個のラベルを正解のラベルに変更する。
【0073】
そして、ラベリング装置1は、学習データ群Tに格納された3000個のラベル付き学習データを入力としてモデルM3を生成する。
【0074】
すなわち、第1の実施の形態におけるラベリング装置1は、作業者が1000個の学習データについてのラベリングと、必要な場合におけるラベルの修正とを行うことにより、多数の学習データを自動的に生成することが可能になる。
【0075】
これにより、ラベリング装置1は、人手でのラベリングによる作業者の作業負担を軽減することが可能になる。また、ラベリング装置1は、モデルMを効率的に生成することが可能になる。
【0076】
なお、ラベリング装置1は、S11の処理において、n個の学習データ及びn個のラベルを同じタイミングで出力するものであってもよい。また、作業者は、これに伴って、n個のラベルの入力を同じタイミングで行うものであってもよい。
【0077】
また、例えば、学習データ群Dに含まれる学習データを動画データ等から生成する場合、作業者は、動画データ等のフレーム毎に学習データの生成を行うものであってよいし、一定時間(例えば、1秒や10秒)に対応する長さの動画データ等から1つの学習データを生成するものであってよい。
【0078】
[第2の実施の形態]
次に、第2の実施の形態について説明する。
図7及び
図8は、第2の実施の形態におけるラベリング処理を説明するフローチャート図である。また、
図9から
図11は、第2の実施の形態におけるラベリング処理を説明する図である。なお、以下、第1の実施の形態と異なる点についてのみ説明を行う。
【0079】
ラベリング装置1は、ラベリング処理の開始タイミングになった場合、
図7に示すように、各記憶領域の初期化処理を行う(S21)。
【0080】
そして、ラベリング装置1は、学習データ群Dからn1個の学習データを取り出して出力する(S22)。
【0081】
次に、ラベリング装置1は、作業者がラベリングを行ったn1個のラベル付き学習データの入力を受け付ける(S23)。
【0082】
その後、ラベリング装置1は、S23の処理で入力を受け付けたn1個のラベル付き学習データを学習データ群Tの少なくとも一部として記憶領域110に記憶する(S24)。
【0083】
そして、ラベリング装置1は、記憶領域110に記憶されたラベル付き学習データ群Tに含まれるラベル付き学習データを入力とすることによってモデルMを生成する(S25)。
【0084】
続いて、ラベリング装置1は、モデルMのエラー率eを算出する(S26)。
【0085】
具体的に、ラベリング装置1は、この場合、例えば、S23の処理で入力を受け付けたn1個のラベル付き学習データを、モデルMを生成するために用いる学習データ(以下、トレーニングデータとも呼ぶ)と、モデルMの性能を検証するために用いる学習データ(以下、バリデーションデータとも呼ぶ)とに分ける。そして、ラベリング装置1は、トレーニングデータによって生成したモデルMに対してバリデーションデータのそれぞれを入力した場合に、モデルMから正解でないラベルが出力される確率(以下、エラー率e0とも呼ぶ)を算出する。その後、ラベリング装置1は、トレーニングデータとバリデーションデータとの分け方を変えながらモデルMを複数回生成し、生成した各モデルMに対応するエラー率e0の平均をエラー率eとして算出する。
【0086】
そして、ラベリング装置1は、エラー率eに基づいて、学習データ群Dから次に取り出す学習データの数Nを算出する(S27)。
【0087】
具体的に、例えば、以下の式(1)に従ってNを算出する。式(1)におけるn2は、作業者が人手によってラベルの変更を行う学習データの数であり、例えば、n1と同じ値であってもよい。
【0088】
N=n2/e ・・・(1)
【0089】
そして、ラベリング装置1は、
図8に示すように、学習データ群DからN個の学習データを取り出してモデルMに入力する(S31)。
【0090】
続いて、ラベリング装置1は、モデルMから出力されたN個のラベルと、S31の処理で取り出したN個の学習データとを出力する(S32)。
【0091】
その後、ラベリング装置1は、作業者によって変更が行われたラベルの入力を受け付ける(S33)。すなわち、ラベリング装置1は、モデルMから出力されたN個のラベルのうち、作業者によって変更が行われたラベルの入力を受け付ける。
【0092】
そして、ラベリング装置1は、S31の処理で取り出した学習データ毎に、モデルMから出力されたラベル(S33の処理において作業者によって変更されたラベルを含む)と、S33の処理で取り出した学習データとをそれぞれ対応付けることによって、N個のラベル付き学習データを生成する。そして、ラベリング装置1は、生成したN個のラベル付き学習データを学習データ群Tの少なくとも一部として記憶領域110に記憶する(S34)。
【0093】
その後、ラベリング装置1は、S22及びS31の処理において、学習データ群Dに含まれる全ての学習データを取り出したか否かを判定する(S35)。
【0094】
その結果、学習データDに含まれる全ての学習データを取り出したと判定した場合(S35のYES)、ラベリング装置1は、ラベリング処理を終了する。
【0095】
一方、学習データDに含まれる全ての学習データを取り出していないと判定した場合(S35のNO)、ラベリング装置1は、S25以降の処理を再度行う。
【0096】
すなわち、S25の処理で生成される各モデルMのエラー率eは、後に生成されたモデルMほど小さくなる傾向がある。そのため、例えば、n2の値を一定とした場合、S31の処理において学習データ群Dから取り出す学習データの数Nは、S25の処理において新たなモデルMが生成されるごとに大きくなる(上記の式(1)参照)。
【0097】
したがって、第2の実施の形態におけるラベリング処理では、第1の実施の形態におけるラベリング処理と異なり、例えば、新たなモデルMの生成に伴う作業者の作業負担(作業者がラベルの変更を行う学習データの数)を作業者が可能な範囲内において一定としつつ、ラベル付き学習データの生成ペースを上げることが可能になる。
【0098】
[第2の実施の形態の具体例]
次に、第2の実施の形態の具体例について説明する。
図10は、第2の実施の形態におけるラベリング処理の具体例を説明する図である。以下、学習データ群Dに含まれる学習データの数が100万個であり、n1の値及びn2の値が1000であるものとして説明を行う。
【0099】
ラベリング装置1は、
図10に示すように、初めに、学習データ群Dから1000個の学習データ(n1の値に対応する数の学習データ)を取り出す(S22)。そして、作業者は、S22の処理で取り出した1000個の学習データのそれぞれについてラベリングを行うことにより、1000個のラベル付き学習データを生成してラベリング装置1に入力する(S23)。
【0100】
続いて、ラベリング装置1は、作業者によって生成された1000個のラベル付き学習データを学習データ群Tに追加する(S24)。そして、ラベリング装置1は、学習データ群Tに格納された1000個のラベル付き学習データを入力としてモデルM1を生成する(S25)。
【0101】
さらに、ラベリング装置1は、例えば、モデルM1のエラー率eとして30%が算出された場合、上記の式(1)に従い、Nの値として3333を算出する(S26、S27)。
【0102】
その後、ラベリング装置1は、学習データ群Dから取り出した3333個の学習データをモデルM1に入力し、これに伴ってモデルM1から出力された3333個のラベルを取り出す(S31)。そして、ラベリング装置1は、例えば、学習データ群Dから取り出した3333個の学習データと、モデルM1から出力された3333個のラベルとを操作端末5の出力装置に出力する(S32)。
【0103】
続いて、作業者は、例えば、出力装置の画面を閲覧し、学習データ群Dから取り出した3333個の学習データ毎に、モデルM1から出力されたラベルのそれぞれが学習データ群Dから取り出した学習データに対応する正解のラベルであるか否かを判定する。そして、作業者は、学習データ群Dから取り出した3333個の学習データのうち、正解のラベルでないと判定した学習データのそれぞれについて、モデルM1から出力されたラベルを正解のラベルに変更する。その後、作業者は、変更したラベルを含む3333個のラベルをラベリング装置1に入力する(S33)。
【0104】
そして、ラベリング装置1は、作業者によって入力されたラベルを学習データ群Dから取り出した3333個の学習データに対応付けることによって生成したラベル付き学習データを、学習データ群Tの少なくとも一部として記憶領域110に記憶する(S34)。すなわち、記憶領域110には、この場合、
図10に示すように、4333個の学習データTが蓄積されている状態になる。
【0105】
なお、モデルM1のエラー率が30%であるため、作業者は、この場合、
図10に示すように、約1000個の学習データ(予め定めたn2の値に近い数の学習データ)に対応するラベルを正解のラベルに変更する。
【0106】
そして、ラベリング装置1は、学習データ群Tに格納された4333個のラベル付き学習データを入力としてモデルM2を生成する。
【0107】
さらに、ラベリング装置1は、例えば、モデルM2のエラー率eとして20%が算出された場合、上記の式(1)に従い、Nの値として5000を算出する(S26、S27)。
【0108】
その後、ラベリング装置1は、学習データ群Dから取り出した5000個の学習データをモデルM2に入力し、これに伴ってモデルM2から出力された5000個のラベルを取り出す(S31)。そして、ラベリング装置1は、例えば、学習データ群Dから取り出した5000個の学習データと、モデルM2から出力された5000個のラベルとを操作端末5の出力装置に出力する(S32)。
【0109】
続いて、作業者は、例えば、出力装置の画面を閲覧し、学習データ群Dから取り出した5000個の学習データ毎に、モデルM2から出力されたラベルのそれぞれが学習データ群Dから取り出した学習データに対応する正解のラベルであるか否かを判定する。そして、作業者は、学習データ群Dから取り出した5000個の学習データのうち、正解のラベルでないと判定した学習データのそれぞれについて、モデルM2から出力されたラベルを正解のラベルに変更する。その後、作業者は、変更したラベルを含む5000個のラベルをラベリング装置1に入力する(S33)。
【0110】
そして、ラベリング装置1は、作業者によって入力されたラベルを学習データ群Dから取り出した5000個の学習データに対応付けることによって生成したラベル付き学習データを、学習データ群Tの少なくとも一部として記憶領域110に記憶する(S34)。すなわち、記憶領域110には、この場合、
図10に示すように、9333個の学習データTが蓄積されている状態になる。
【0111】
なお、モデルM2のエラー率が20%であるため、作業者は、この場合、
図10に示すように、約1000個の学習データ(予め定めたn2の値に近い数の学習データ)に対応するラベルを正解のラベルに変更する。
【0112】
これにより、ラベリング装置1は、新たなモデルMの生成に伴う作業者の作業負担(作業者がラベルの変更を行う学習データの数)を一定としながら、ラベル付き学習データの生成ペースを向上させることが可能になる。
【0113】
[実験結果]
次に、第2の実施の形態におけるラベリング処理による実験結果について説明する。
図11は、第2の実施の形態におけるラベリング処理による実験結果を示す表である。
【0114】
図11に示す表において、「Round」には、各ラウンドの識別情報が記憶され、「Total」には、各ラウンドにおいて学習データ群Tに追加されたラベル付き学習データの数が記憶され、「Number of labelled or revised data」には、各ラウンドにおいて作業者によってラベリングまたは正解のラベルへの変更が行われた学習データの数が記憶され、「Average Accuracy」には、各ラウンドにおいて生成されたモデルMの認識率が記憶されている。なお、
図11に示す例において、ラウンドは、モデルMの生成回数に対応する数である。また、モデルMの認識率は、エラー率eを1から減算することによって算出される確率(モデルMから学習データに対応する正解のラベルが出力される確率)である。
【0115】
具体的に、
図11に示す表において、「Round」が「1」である行には、「Total」として「2000個」が記憶され、「Number of labelled or revised data」として「2000(個)」が記憶され、「Average Accuracy」として「74.833%」が記憶されている。
【0116】
そのため、「Round」が「1」である行は、2000個の学習データに対するラベリングが作業者によって行われ、かつ、2000個のラベル付き学習データが学習データ群Tに追加されたことを示している。また、「Round」が「1」である行は、認識率が「74.833%」であるモデルMが生成されたことを示している。
【0117】
また、
図11に示す表において、「Round」が「2」である行には、「Total」として「3900(個)」が記憶され、「Number of labelled or revised data」として「982(個)」が記憶され、「Average Accuracy」として「83.023%」が記憶されている。
【0118】
そのため、「Round」が「2」である行は、982個の学習データに対応するラベルの変更が作業者によって行われ、かつ、3900個のラベル付き学習データが学習データ群Tに追加されたことを示している。また、「Round」が「2」である行は、認識率が「83.023%」であるモデルMが生成されたことを示している。
【0119】
また、
図11に示す表において、「Round」が「3」である行には、「Total」として「6000(個)」が記憶され、「Number of labelled or revised data」として「1019(個)」が記憶され、「Average Accuracy」として「84.593%」が記憶されている。
【0120】
そのため、「Round」が「3」である行は、1019個の学習データに対応するラベルの変更が作業者によって行われ、かつ、6000個のラベル付き学習データが学習データ群Tに追加されたことを示している。また、「Round」が「3」である行は、認識率が「84.593%」であるモデルMが生成されたことを示している。
図11に含まれる他の情報については説明を省略する。
【0121】
すなわち、
図11に示す表は、各ラウンドにおいて作業者がラベルの変更を行った学習データの数がほぼ1000件であるのに対し、新たなラベル付き学習データが学習データ群Tに追加された数の増加ペースがラウンドの進行に従って上昇していることを示している。
【0122】
[S27の処理における他の実施例]
次に、S27の処理における他の実施例について説明を行う。
【0123】
ラベリング装置1は、例えば、以下の式(2)に従ってNを算出するものであってもよい。以下の式(2)において、T1は、各学習データに対応付けられるラベルが正解のラベルでない場合における作業者の作業時間(以下、第1作業時間)を示し、T2は、各学習データに対応付けられるラベルが正解のラベルである場合における作業者の作業時間(以下、第2作業時間)を示し、Tは、作業者によって予め定められた閾値である。すなわち、第1作業時間は、各学習データに対応付けられるラベルのそれぞれが正解であるか否かを作業者が判定するために要する時間と、学習データに対応付けられたラベルのそれぞれを作業者が正解のラベルに変更するために要する時間との合計である。また、第2作業時間は、各学習データに対応付けられるラベルのそれぞれが正解であるか否かを作業者が判定するために要する時間である。
【0124】
(T1e+T2(1-e))N=T ・・・(2)
【0125】
すなわち、各学習データに対応付けられるラベルが正解のラベルであった場合と、各学習データに対応付けられるラベルが正解のラベルでなかった場合とでは、作業者による作業量が異なる。具体的に、各学習データに対応付けられるラベルが正解のラベルでなかった場合、作業者は、正解のラベルであるか否かの確認作業に加え、ラベルの変更作業を行う必要が生じる。
【0126】
そのため、ラベリング装置1は、上記の式(2)に従うことによって、作業者による作業量を加味した上でNの算出を行う。これにより、ラベリング装置1は、モデルMの生成に伴う作業者の作業負担を平準化させることが可能になる。なお、Nの算出方法は、上記の各方法に限られるものではない。
【符号の説明】
【0127】
1:ラベリング装置
5:操作端末
101:CPU
102:メモリ
103:ネットワークインタフェース
104:記憶媒体
105:バス
110:記憶領域
D:学習データ群
T:学習データ群
M:モデル