IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ソリューションズ・クリエイトの特許一覧

<>
  • 特許-アノテーション装置および方法 図1
  • 特許-アノテーション装置および方法 図2
  • 特許-アノテーション装置および方法 図3
  • 特許-アノテーション装置および方法 図4
  • 特許-アノテーション装置および方法 図5
  • 特許-アノテーション装置および方法 図6
  • 特許-アノテーション装置および方法 図7
  • 特許-アノテーション装置および方法 図8
  • 特許-アノテーション装置および方法 図9
  • 特許-アノテーション装置および方法 図10
  • 特許-アノテーション装置および方法 図11
  • 特許-アノテーション装置および方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-22
(45)【発行日】2023-10-02
(54)【発明の名称】アノテーション装置および方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230925BHJP
   G06T 7/00 20170101ALI20230925BHJP
【FI】
G06N20/00 130
G06T7/00 350C
【請求項の数】 12
(21)【出願番号】P 2019218292
(22)【出願日】2019-12-02
(65)【公開番号】P2021089491
(43)【公開日】2021-06-10
【審査請求日】2022-07-05
(73)【特許権者】
【識別番号】597132849
【氏名又は名称】株式会社日立ソリューションズ・クリエイト
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】若林 洋輔
(72)【発明者】
【氏名】田中 亜友子
(72)【発明者】
【氏名】中村 将大
(72)【発明者】
【氏名】米野 恭章
(72)【発明者】
【氏名】畠山 侑也
【審査官】武田 広太郎
(56)【参考文献】
【文献】米国特許出願公開第2019/0156202(US,A1)
【文献】米国特許出願公開第2011/0314367(US,A1)
【文献】特開2018-163590(JP,A)
【文献】特開2008-092471(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成する学習部と、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測する予測部と、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録するラベル処理部と、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記学習部、前記予測部、および前記ラベル処理部に処理を繰り返させる学習管理部と、
を有し、
前記ラベル処理部は、
前記候補データに対して予測された予測事項に基づき、前記候補データに対する疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、
前記候補データと、前記学習データのうち正解ラベルが前記疑似ラベルと同一であるデータとの遠さの度合いに関する指標値を算出し、
前記入力と前記指標値とに基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定する、
アノテーション装置。
【請求項2】
前記予測モデルがニューラルネットワークであり、
前記ラベル処理部は、前記候補データに対する疑似ラベルが妥当か否かを、前記入力と、前記候補データおよび前記疑似ラベルと前記学習データに登録されているデータとの前記ニューラルネットワークの中間層の出力同士のユークリッド距離と、に基づいて決定する、
請求項に記載のアノテーション装置。
【請求項3】
前記ラベル処理部は、疑似ラベルが正解ラベルとして妥当と入力された候補データおよび前記疑似ラベルについて、前記学習データに登録されているデータのそれぞれについて前記ユークリッド距離を算出し、前記ユークリッド距離の平均値が所定の閾値以下であれば、前記候補データに正解ラベルとして前記疑似ラベルを付与して、前記学習データに登録する、
請求項に記載のアノテーション装置。
【請求項4】
前記ラベル処理部は、前記疑似ラベルが前記候補データの正解ラベルとして妥当であるという入力を受け付けたら、前記指標値を算出し、前記指標値が所定の閾値以下であれば、前記疑似ラベルが前記候補データの正解ラベルとして妥当であると決定する、
請求項に記載のアノテーション装置。
【請求項5】
前記ラベル処理部は、前記指標値が所定の閾値以下であれば前記疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、妥当であることが入力されたら、前記疑似ラベルが前記候補データの正解ラベルとして妥当であると決定する、
請求項に記載のアノテーション装置。
【請求項6】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成する学習部と、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測する予測部と、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録するラベル処理部と、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記学習部、前記予測部、および前記ラベル処理部に処理を繰り返させる学習管理部と、
を有し、
前記予測部は、前記予測事項を予測するとき、予測が正しいであろう度合いを示す確信度を算出し、
前記ラベル処理部は、前記確信度が第1閾値以上であれば、前記候補データに対して予測された予測事項に基づき、前記候補データに対する疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、前記確信度が前記第1閾値よりも小さい第2閾値以下であれば、前記候補データに対する正解ラベルの入力を受け付ける
ノテーション装置。
【請求項7】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成する学習部と、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測する予測部と、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録するラベル処理部と、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記学習部、前記予測部、および前記ラベル処理部に処理を繰り返させる学習管理部と、
を有し、
前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力は、前記疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかの入力である
ノテーション装置。
【請求項8】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成する学習部と、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測する予測部と、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録するラベル処理部と、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記学習部、前記予測部、および前記ラベル処理部に処理を繰り返させる学習管理部と、
を有し、
前記学習管理部は、前記予測モデルによる前記予測事項の予測の精度、与えられた候補データにおける前記学習データに登録されていない候補データの割合、前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力における妥当という入力と妥当でないという入力との数の相対関係との少なくとも1つに基づき、前記予測モデルが成熟したか否か判定し、前記予測モデルが成熟していなければ、前記学習部に、新たに登録したものを含む学習データを用いた機械学習を再度行わせ、前記予測モデルを生成させ、前記予測モデルが成熟していれば機械学習を繰り返す処理を終了し、
前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力は、前記疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかの入力である
ノテーション装置。
【請求項9】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成し、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測し、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録し、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記予測モデルの生成と前記予測事項の予測と前記学習データの登録を繰り返す、
ことをコンピュータが実行する、
アノテーション方法であって、
前記コンピュータは、
前記候補データに対して予測された予測事項に基づき、前記候補データに対する疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、
前記候補データと、前記学習データのうち正解ラベルが前記疑似ラベルと同一であるデータとの遠さの度合いに関する指標値を算出し、
前記入力と前記指標値とに基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定する、
アノテーション方法。
【請求項10】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成し、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測し、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録し、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記予測モデルの生成と前記予測事項の予測と前記学習データの登録を繰り返す、
ことをコンピュータが実行する、
アノテーション方法であって、
前記コンピュータは、
前記予測事項を予測するとき、予測が正しいであろう度合いを示す確信度を算出し、
前記確信度が第1閾値以上であれば、前記候補データに対して予測された予測事項に基づき、前記候補データに対する疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、前記確信度が前記第1閾値よりも小さい第2閾値以下であれば、前記候補データに対する正解ラベルの入力を受け付ける、
アノテーション方法。
【請求項11】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成し、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測し、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録し、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記予測モデルの生成と前記予測事項の予測と前記学習データの登録を繰り返す、
ことをコンピュータが実行する、
アノテーション方法であって、
前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力は、前記疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかの入力である、
アノテーション方法。
【請求項12】
所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成し、
前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測し、
前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録し、
前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記予測モデルの生成と前記予測事項の予測と前記学習データの登録を繰り返す、
ことをコンピュータが実行する、
アノテーション方法であって、
前記コンピュータは、前記予測モデルによる前記予測事項の予測の精度、与えられた候補データにおける前記学習データに登録されていない候補データの割合、前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力における妥当という入力と妥当でないという入力との数の相対関係との少なくとも1つに基づき、前記予測モデルが成熟したか否か判定し、前記予測モデルが成熟していなければ、新たに登録したものを含む学習データを用いた機械学習を再度行い、前記予測モデルを生成し、前記予測モデルが成熟していれば機械学習を繰り返す処理を終了し、
前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力は、前記疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかの入力である、
アノテーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習に用いるデータに対するアノテーションを行う技術に関する。
【背景技術】
【0002】
機械学習には学習データが必要である。例えば、画像認識を行うための人工知能(AI)モデルを生成するために、認識処理の対象となる画像の学習データを用いて機械学習が行われる。例えば、教師あり学習では、学習データとして、画像データと、その画像に対応する正解ラベルとがセットで用いられる。
【0003】
通常、画像データに正解ラベルが予め付いていることはない。そのため、画像データに正解ラベルを付与することが必要となる。正解ラベルを付与する作業はアノテーションと呼ばれる。
【0004】
AIで画像を扱う処理の例として、画像に何が映っているかをAIにより認識する画像分類処理や、画像内の物体を検出する物体検出処理がある。画像に何が映っているかを認識するための機械学習に用いる画像データに対するアノテーションでは、その画像に何が写っているかを示す情報を正解ラベルとして付与する。画像内の物体を検出するための機械学習に用いる画像データに対するアノテーションでは、画像のどの部分にどんな物体が写っているのかを示す情報を正解ラベルとして付与する。
【0005】
このようなアノテーション作業は、自動化することが困難であり、一般に人によって行われる。精度の高いAIモデルを生成するには大量の学習データが必要である。そのため、人による膨大な作業工数が必要とされるという問題がある。
【0006】
これに対して、特許文献1には、アノテーションを支援する技術が開示されている。特許文献1の段落0083には以下の技術が開示されている。機械学習制御部は、訓練データまたはテストデータとして選択された画像のうち、アノテーションが未実施の画像を、任意の順序でいずれか一枚ずつ表示装置に表示させる。次に、機械学習制御部は、ユーザが入力装置を介して入力した上記画像を説明するテキストデータまたは数値データを受け取り、このデータを上記画像の教師データフィールドに記録する。ここで、属性特徴量が同一の画像については、機械学習制御部が同一の画像の教師データフィールドに同一のデータを記録する。これにより、ユーザによるアノテーション回数を低減することができる。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2017-224184号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1に開示された技術によれば、特徴量が同一である画像の教師データフィールドに同一のデータを記録することにより、アノテーションの回数を削減することができる。しかしながら、ユーザは正解ラベルのテキストデータ等をタイプ入力するという煩雑な作業が必要である。
【0009】
本開示のひとつの目的は、人によるアノテーションの作業を軽減する技術を提供することである。
【課題を解決するための手段】
【0010】
本発明のひとつの実施態様に従うアノテーション装置は、所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成する学習部と、前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測する予測部と、前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録するラベル処理部と、前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記学習部、前記予測部、および前記ラベル処理部に処理を繰り返させる学習管理部と、を有している。
【発明の効果】
【0011】
本開示のひとつの態様によれば、疑似ラベルが正解ラベルとして妥当か否かの二者択一の判定によりアノテーションを進めるので、人による作業を軽減できる。
【図面の簡単な説明】
【0012】
図1】アノテーション支援サーバのハードウェア構成を示すブロック図である。
図2】アノテーション支援サーバの機能構成を示すブロック図である。
図3】実施例1によるアノテーション支援サーバを用いたアノテーションにおけるデータの流れを示す図である。
図4】実施例1におけるアノテーションの全体処理のフローチャートである。
図5】予測処理のフローチャートである。
図6】疑似ラベル付き候補データの一例を示す図である。
図7】疑似ラベル付き候補データの他の例を示す図である。
図8】目視判定支援処理のフローチャートである。
図9図9は、ソート済データの一例を示す図である。
図10】距離判定処理のフローチャートである。
図11】実施例2におけるアノテーションの全体処理のフローチャートである。
図12】実施例3におけるアノテーションの全体処理のフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面を参照して説明する。
【実施例1】
【0014】
図1は、アノテーション支援サーバのハードウェア構成を示すブロック図である。
【0015】
図1を参照すると、アノテーション支援サーバ10は、ハードウェアとして、CPU11、GPU12、メモリ13、および記憶装置14を有している。
【0016】
記憶装置14は、書込みおよび読み出しが可能にデータを記憶する装置である。記憶装置14には、ソフトウェアプログラムおよびデータが記録される。具体的には、アノテーションプログラム15、予測プログラム16、学習プログラム17、予測モデル21、取得データ22、および学習データ23がある。これらのプログラムおよびデータについては後述する。
【0017】
CPU(Centoral Processing Unit)11は、記憶装置14に記憶されたソフトウェアプログラムおよびデータをメモリ13に読み出し、メモリ13を利用してソフトウェアプログラムの処理を実行するプロセッサである。
【0018】
GPU(Graphics Processing Unit)12は、CPU11と同様に処理を実行するプロセッサである。本実施例のアノテーション支援サーバ10は、画像分類処理や物体検出処理といった画像認識処理のためのアノテーションを支援するものであり、機械学習による予測モデルの生成と、その予測モデルを用いた画像認識の処理を行う。GPU12は主にその機械学習および画像認識の処理に利用される。
【0019】
図2は、アノテーション支援サーバの機能構成を示すブロック図である。図2を参照すると、アノテーション支援サーバ10は、学習部31、予測部32、ラベル処理部33、および学習管理部34を有している。
【0020】
学習部31は、学習データ23を用いて機械学習を行い、予測モデル21を生成する。一例として、機械学習はディープラーニングであり、予測モデル21はニューラルネットワークである。予測モデル21は、画像に何が映っているかを認識する画像分類、あるいは画像内の物体を検出する物体検出を、予測する事項とした予測モデルである。学習データ23は正解ラベル付きの画像データである。上述したように、本アノテーション支援サーバ10は、機械学習と画像認識の予測処理とを繰り返すが、その途中の段階で生成される予測モデル21は未成熟な状態である。学習部31は、図1に示した学習プログラム17をGPU12が実行することにより、実現される。
【0021】
予測部32は、予測モデル21を用いて、取得データ22の中から抽出され、与えられた候補データに対して画像分類あるいは物体検出の予測処理を実行する。取得データ22からどれだけの候補データを抽出するか、どのように抽出するかは特に限定されない。例えば、予め決められた個数の候補データをランダムに抽出してもよい。候補データは、学習データとなる候補の画像データであり、予測部32に入力される段階では、正解ラベルが付与されていない。予測部32は、候補データの正解ラベルとなる事項を予測するが、上述のように繰り返しの途中段階では予測モデル21が未成熟であるため、予測の精度は十分でないかも知れない。予測された正解ラベルは、この段階では、それが妥当であるかどうかが未だ定まっていない疑似ラベル(正解ラベルの候補)である。予測部32の予測結果である疑似ラベルと共に、予測モデル21の所定の中間層の出力も記録される。予測部32は、図1に示した予測プログラム16をGPU12が実行することにより、実現される。
【0022】
ラベル処理部33は、取得データ22の中から抽出したものを候補データとして、予測部32にその候補データに対する予測処理を実行させて疑似ラベルを生成させ、生成された疑似ラベルを候補データに付与し、更に、その疑似ラベルが、候補データに対する正解ラベルとして妥当か否かを決定する。更に、ラベル処理部33は、ラベル処理部33にて疑似ラベルが正解ラベルとして妥当であると判定された候補データにその疑似ラベルを正解ラベルとして付与し、学習データ23に登録する。本実施例では、疑似ラベルが、候補データに対する正解ラベルとして妥当か否かの判定は、人の目視による判定と、演算による自動的な判定とを組み合わせて行われる。上述した予測モデル21の中間層の出力は、その演算による判定に利用される。人の目視による判定と、演算による判定とを組み合わせた判定の詳細は後述する。
【0023】
学習管理部34は、予測モデル21が所定の成熟条件を満たしているか否か判定し、成熟条件が満たされていなければ、学習部31に、新たに登録したものを含む学習データ23を用いた機械学習を再度行わせ、予測モデル21を生成させる。成熟条件とは、予測モデル21が所望の精度の画像認識処理が可能な程度まで成熟したことを測る条件である。
【0024】
成熟条件は、例えば、予測モデル21を用いて候補データについて予測した疑似ラベルが正解ラベルとなり、候補データが学習データ23に追加される割合が所定値以上となったということを成熟条件としてもよい。あるいは、取得データ22のうち学習データ23となっていないデータの割合が所定値以下となったということを成熟条件としてもよい。あるいは、OKデータ46の個数がNGデータ44の個数よりも少ないということを成熟条件としてもよい。
【0025】
予測モデル21が成熟条件を満たしたということは、その予測モデル21を用いて取得データ22に対するアノテーションが良好に行える状態に達したということでもある。学習管理部34は、成熟条件が満たされていれば、成熟した予測モデル21を出力する。
【0026】
ラベル処理部33および学習管理部34は、図1に示したアノテーションプログラム15をCPU11が実行することにより、実現される。
【0027】
上述したような、学習データ23を用いて予測モデル21を生成し、予測モデル21を用いて候補データの疑似ラベルを生成し、疑似ラベルが正解ラベルとして妥当か否か判定し、妥当な正解ラベルを付与した候補データを学習データ23に追加するというサイクルを繰り返すことにより、取得データに対するアノテーションと、予測モデル21の成熟とを並行して行うことができる。その際に、疑似ラベルが正解ラベルとして妥当か否かの二者択一の判定によりアノテーションを進めるので、人による作業を軽減できるとともに、人為的なミスの低減が期待できる。
【0028】
図3は、実施例1によるアノテーション支援サーバを用いたアノテーションにおけるデータの流れを示す図である。
【0029】
学習データ23の無い初期段階では、まずは人が不図示のアノテーションツールを用いて目視により一部の取得データ22に対してアノテーションを行い、正解ラベルを付与することにより、一定数の学習データ23を用意する。次に、学習部31が学習データ23を機械学習し、予測モデル21を生成する。この段階では、予測モデル21は十分な精度を出せる程度まで成熟していなくてよい。
【0030】
次に、予測部32が、取得データ22から抽出された一部の画像データを候補データ41とし、予測モデル21を用いてラベルを予測する。この予測で得られるラベルはこの段階では疑似ラベルである。
【0031】
次に、ラベル処理部33は、疑似ラベル付き候補データ42について、候補データ42の疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかを人に目視で判定させる。目視で妥当でないと判定された候補データ42は、疑似ラベルが破棄され、NGデータ44として取得データ22に戻される。目視で妥当か否か判定ができない候補データ42は、判別不能データ45として記録される。目視で妥当であると判定された候補データ42は、暫定OKデータ43とされ、次段の判定に回される。なお、ここでは、候補データ42の疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかという三者択一を人に目視で判定させる例を示したが、これに限定されることはない。候補データ42の疑似ラベルが正解ラベルとして妥当か否かという二者択一を人に目視で判定させるものであってもよい。
【0032】
次段の判定では、ラベル処理部33は、暫定OKデータ43となった疑似ラベル付き候補データ42と、その候補データ42と同じ正解ラベルを有する各学習データとの遠さの度合いを示す所定の指標値を算出する。指標値の例については後述する。そして、ラベル処理部33は、指標値が所定の閾値以下であれば、その疑似ラベル付きの候補データ42を、正解ラベル付きの学習データとして、学習データ23に追加する。指標値が閾値を超えていたら、その候補データ42は、疑似ラベルが破棄され、NGデータ44として取得データ22に戻される。
【0033】
なお、本実施例では、図1に示したように、アノテーションを支援するシステムが1つの装置(アノテーション支援サーバ10)で実現される例が示されているが、実施の態様がこれに限定されることはない。他の例として、複数の装置によりシステムを構築してもよい。例えば、ラベル処理部33が、疑似ラベルが正解ラベルとして妥当か否かを人に入力させるユーザインタフェースをアノテーションツールとして、不図示のクライアントPC(Personal Computer)に配置し、クライアントPCとアノテーション支援サーバ10と通信回線経由で連係動作させることにしてもよい。また、取得データ22を格納する記憶装置を不図示のデータサーバに配置し、データサーバとアノテーション支援サーバを通信回線経由で連係動作させることにしてもよい。
【0034】
図4は、実施例1におけるアノテーションの全体処理のフローチャートである。
【0035】
ステップS101にて、まず、人が不図示のアノテーションツールを用いて目視により一部の取得データ22に対してアノテーションを行い、正解ラベルを付与することにより、一定数の学習データ23を用意する。その際、ラベル処理部33は、取得データ22の一部を入力とし、各取得データ22の画像を画面に表示し、それに対する正解ラベルの入力を人に促す。そして、ラベル処理部33は、入力された正解ラベルを取得データ22に付与し、正解ラベル付きの学習データ23として登録する。当該処理は、取得データ22の一部を入力とし、正解ラベル付きの学習データ23を出力とする。
【0036】
次に、ステップS102にて、学習部31が学習データ23を機械学習し、予測モデル21を生成する。当該処理は、正解ラベル付きの学習データ23を入力とし、予測モデル21を出力とする。
【0037】
続いて、ステップS103にて、予測部32が予測処理を実行する。予測処理は、取得データ22から抽出された一部の画像データを候補データ41とし、予測モデル21を用いてラベルを予測する処理である。ここで得られるラベルは疑似ラベルである。当該予測処理は、予測モデル21と候補データ41を入力とし、疑似ラベル付き候補データ42を出力とする。予測処理の詳細は後述する。
【0038】
次に、ステップS104にて、ラベル処理部33は、目視判定支援処理を実行する。目視判定支援処理は、疑似ラベル付き候補データ42について、疑似ラベルが正解ラベルとして妥当か否かを人に目視で判定させる処理である。当該目視判定支援処理は、疑似ラベル付き候補データ42を入力とし、暫定OKかNGか判別不能かという判定結果を出力とする。目視判定支援処理の詳細は後述する。
【0039】
次に、ステップS105にて、ラベル処理部33は、距離判定処理を実行する。距離判定処理は、暫定OKデータ43となった疑似ラベル付き候補データ42と、その候補データ42と同じ正解ラベルを有する各学習データとの遠さの度合いを示す所定の指標値を算出し、指標値に基づいて、暫定OKデータ43をOKデータ46かNGデータ44に振り分ける処理である。当該距離判定処理は、暫定OKデータ43を入力とし、OKかNGかの判定結果を出力とする。距離判定処理の詳細は後述する。
【0040】
次に、ステップS106にて、学習管理部34は、OKデータ46を学習データ23に追加し、NGデータ44を取得データ22に戻す。当該処理は、OKデータ46とNGデータ44を入力とし、学習データ23と、戻された取得データ22とを出力とする。なお、このとき、学習管理部34は、NGデータ44とされることが所定回数繰り返された候補データを判別不能データ45とすることにしてもよい。
【0041】
次に、ステップS107にて、学習管理部34は、予測モデル21が成熟条件を満たしているか否か判定する。そして、学習管理部34は、成熟条件が満たされていなければ、ステップS102に戻し、成熟条件が満たされていれば、成熟した予測モデル21を出力する。
【0042】
予測モデル21が成熟条件を満たしたということは、その予測モデル21を用いて取得データ22に対するアノテーションが良好に行える状態に達したということでもあるので、その後は図4に示したステップS103からステップS106の処理のみを行い、取得データ22に対して順次アノテーションを行うことにしてもよい。
【0043】
図5は、予測処理のフローチャートである。
【0044】
まず、予測部32は、ステップS201にて、候補データをひとつ選択し、予測モデル21を用いて、その候補データの正解ラベルを予測し、予測された正解ラベルをその候補データの疑似ラベルとする。次に、ステップS202にて、予測部32は、全ての候補データについて疑似ラベルを生成したか否か判定する。疑似ラベルが生成されていない候補データがあれば、予測部32はステップS201に戻って処理を繰り返す。全ての候補データについて疑似ラベルを生成していれば、予測部32は、それら疑似ラベル付き候補データ42を出力して一連の処理を終了する。
【0045】
図6は、疑似ラベル付き候補データの一例を示す図である。図7は、疑似ラベル付き候補データの他の例を示す図である。
【0046】
本実施例のアノテーション支援サーバ10は、一例として、画像分類のためのアノテーションと、物体検出のためのアノテーションとを行うことができる。
【0047】
図6には、画像分類の場合の疑似ラベル付き候補データ42aが示されている。図6に示すように、候補データの画像ファイル名と、その候補データに付与された疑似ラベルとが対応付けて記録されている。例えば、候補データ#1の場合、画像ファイル名が2001.jpgであり、疑似ラベルがdogである。これは、2001.jpgの画像は、dogが写っていると予測されたことを意味している。
【0048】
図7には、物体検出の場合の疑似ラベル付き候補データ42bが示されている。図7に示すように、候補データの画像ファイル名と、その候補データに付与された疑似ラベルとが対応付けて記録されている。物体検出の疑似ラベルには、検出位置と、検出物体とが含まれている。検出位置は、物体が検出された位置および範囲を示している。xおよびyは物体が検出された範囲の始点の位置をx座標およびy座標で示している。wは物体が検出された範囲のx軸方向の幅を示している。hは物体が検出された範囲のy軸方向の高さを示している。例えば、候補データ#1の場合、画像ファイル名が2001.jpgである。疑似ラベルは、(x、y、w、h)で示される位置に、dogが検出されたことを意味している。
【0049】
図8は、目視判定支援処理のフローチャートである。
【0050】
まず、ステップS301にて、ラベル処理部33は、予測処理の種類を判定する。予測処理の種類とは、予測モデル21を用いて予測する事項で分類される。本実施例では、予測処理の種類として画像分類と物体検出とがある。
【0051】
予測処理の種類が画像分類の場合、ステップS302にて、ラベル処理部33は、疑似ラベル付き候補データ42を、その疑似ラベルの物体毎にソートする。例えば、dogという疑似ラベルが付与された候補データを纏め、次にcatという疑似ラベルが付与された候補データを纏めるというように、疑似ラベル付き候補データ42を並べる。
【0052】
図9は、ソート済データの一例を示す図である。図9には、画像分類の場合のソート済データの一例が示されている。dogという疑似ラベルが付与された候補データが先頭から並んでおり、その後ろに、catという疑似ラベルが付与された候補データの並んでいる。
【0053】
図8に戻り、ステップS303にて、ラベル処理部33は、疑似ラベル付き候補データ42のうち1つを選択し、その画像と疑似ラベルとを画面に表示し、疑似ラベルがその画像の正解ラベルとして妥当か否かという目視による二者択一の判定を人に促す。
【0054】
目視で疑似ラベルが正解ラベルとして妥当(つまり正しい)と判定された場合、その疑似ラベル付き候補データ42は、暫定OKデータ43となる。目視で疑似ラベルが正解ラベルとして妥当でない(つまり誤り)と判定された場合、その疑似ラベル付き候補データ42は、NGデータ44となる。目視で妥当か否かの判定ができない場合、その疑似ラベル付き候補データ42は判別不能データ45となる。
【0055】
次に、ステップS304にて、ラベル処理部33は、全ての疑似ラベル付き候補データ42について目視による判定を行ったか否か判定する。目視による判定を行っていない疑似ラベル付き候補データ42が残っていれば、ステップS303に戻って目視による判定を繰り返す。一方、全ての疑似ラベル付き候補データ42について目視による判定が行われていれば、ラベル処理部33は、暫定OKデータ43、NGデータ44、および判別不能データ45を出力して一連の処理を終了する。
なお、ここでは、疑似ラベル付き候補データ42のうち1つを選択して表示し、目視判定を促すということを、疑似ラベル付き候補データ42の個数だけ繰り返す例を示したが、これに限定されることはない。他の例として、複数個(例えば10個)の疑似ラベルの画像を一度に表示し、目視判定を促すことにしてもよい。
【0056】
図10は、距離判定処理のフローチャートである。
【0057】
まず、ステップS401にて、ラベル処理部33は、学習データ23のひとつを選択し、その学習データ23について、予測モデル21により正解ラベルを予測する処理を実行したときのニューラルネットワークの出力層の前段の中間層の出力を表すベクトル(以下「中間層ベクトル」という)を取得する。次に、ステップS402にて、ラベル処理部33は、全ての学習データ23のベクトルを取得したか否か判定する。ベクトルを取得していない学習データ23が残っていれば、ラベル処理部33は、ステップS401に戻って処理を繰り返す。
【0058】
全ての学習データ23のベクトルを取得していれば、次に、ステップS403にて、ラベル処理部33は、ひとつの暫定OKデータ43を選択し、その暫定OKデータ43について中間層ベクトルを取得する。続いて、ステップS404にて、ラベル処理部33は、暫定OKデータ43の疑似ラベルと同じ正解ラベルが付与されている学習データ23をひとつ選択し、暫定OKデータ43の中間層ベクトルと学習データ23の中間層ベクトルとのユークリッド距離を算出する。ユークリッド距離は、ベクトルの要素の差の二乗の総和の平方根である。次に、ステップS405にて、ラベル処理部33は、暫定OKデータ43の疑似ラベルと同じ正解ラベルを有する全ての学習データ23について中間層ベクトルのユークリッド距離を算出したか否か判定する。中間層ベクトルのユークリッド距離を算出していない、暫定OKデータ43の疑似ラベルと同じ正解ラベルを有する学習データ23が残っていれば、ラベル処理部33は、ステップS404に戻って処理を繰り返す。
【0059】
暫定OKデータ43の疑似ラベルと同じ正解ラベルを有する全ての学習データ23について中間層ベクトルのユークリッド距離を算出していれば、次に、ステップS406にて、ラベル処理部33は、算出した全ての中間層ベクトルのユークリッド距離の平均値を算出する。続いて、ステップS407にて、ラベル処理部33は、中間層ベクトルのユークリッド距離の平均値が所定の閾値t以下であるか否かにより、暫定OKデータ43をOKデータ46かNGデータ44のいずれかに振り分ける。ユークリッド距離の平均値が閾値t以下であれば、暫定OKデータ43をOKデータ46とする。ユークリッド距離の平均値が閾値tより大きければ、暫定OKデータ43をNGデータ44とする。なお、閾値tの値は任意に定めることができる。ここでは一例として、目視判定における人為的なミスを除去することを目的とし、目視判定にて明らかに誤った判定がされている暫定OKデータ43をNGデータ44とできる程度の値に設定することにする。
【0060】
次に、ステップS408にて、ラベル処理部33は、全ての暫定OKデータ43についてOKデータ46かNGデータ44かの振り分けを行ったか否か判定する。OKデータ46かNGデータ44かの振り分けを行っていない暫定OKデータ43が残っていれば、ラベル処理部33は、ステップS403に戻って処理を繰り返す。全ての暫定OKデータ43についてOKデータ46かNGデータ44かの振り分けを行っていれば、ラベル処理部33は、OKデータ46とNGデータ44を出力して一連の処理を終了する。
【0061】
なお、ここでは中間層ベクトルとして、予測モデル21により正解ラベルを予測する処理を実行したときのニューラルネットワークの出力層の前段の中間層の出力を表すベクトルを用いたが、これに限定されることはなく、他の中間層の出力を用いてもよい。
【0062】
また、本実施例では、疑似ラベルが正解ラベルとして妥当か否か判定するときに、人の目視による判定と演算による判定とを組み合わせて用いる例を示したが、実施の態様がこれに限定されることはない。他の例として、人の目視による判定のみで、疑似ラベルが正解ラベルとして妥当か否かを判定することにしてもよい。その場合でも二者択一の判定を用いることにより、十分な精度でアノテーションができるとともに、人の作業を低減することが可能となる。また、演算による判定はユークリッド距離による判定に限らない。他の例として、ステップS103で得られる確信度で判定する方法を用いてもよい。あるいは、ユークリッド距離による判定と、確信度による判定とを組み合わせることにしてもよい。その場合、ユークリッド距離による判定と、確信度による判定のどちらを先に行うことにしてもよい。なお、確信度は、予測が正しいであろう度合いを示す指標値である。予測された疑似ラベルの確信度が所定の閾値を超えていれば、疑似ラベルが正解ラベルとして妥当であると判定することができる。本手法を適用する用途等に応じて閾値を適切に調整すれば、正解ラベルとして妥当な疑似ラベルを十分な精度で選別することが可能となる。
【実施例2】
【0063】
実施例1では、疑似ラベルが正解ラベルとして妥当なものであるか否かを判定するときに、まず人の目視による判定を行い、その後で演算による判定を行う例を示した。しかし、実施の態様がそれに限定されることはない。実施例2では、まず演算による判定を行い、その後で人の目視による判定を行う例を示す。
【0064】
本実施例におけるアノテーション支援サーバのハードウェア構成および機能構成は図1および図2に示した実施例1のものと同様である。
【0065】
図11は、実施例2におけるアノテーションの全体処理のフローチャートである。
【0066】
ステップS101からステップS103までは、図4に示した実施例1のものと同様である。
【0067】
本実施例では、ステップS103の次に、ステップS501にて、ラベル処理部33は、まず距離判定処理を実行する。ここで行う距離判定処理は、基本的には、図10に示した実施例1のものと同様であるが、本実施例では、暫定OKデータ43ではなく、全ての疑似ラベル付き候補データ42を対象として距離判定処理を行う。全ての疑似ラベル付き候補データ42について、全ての学習データとの中間層ベクトルのユークリッド距離の平均値を算出する。中間層ベクトルのユークリッド距離の平均値が所定の閾値t以下であれば、この段階では暫定OKとし、閾値tより大きければNGとする。暫定OKとされた疑似ラベル付き候補データ42が次段の人の目視による判定の対象となる。
【0068】
次に、ステップS502にて、ラベル処理部33は、目視判定支援処理を実行する。ここで行う目視判定支援処理は、基本的には、図8に示した実施例1のものと同様であるが、本実施例では、全ての疑似ラベル付き候補データ42ではなく、ステップS501で暫定OKとされた疑似ラベル付き候補データ42だけを対象として目視判定支援処理を行う。また、目視で正しいと判定された場合には、暫定OKではなく、OKとする。
【0069】
ステップS502の後は、図4に示した実施例1と同様に、ステップS106からステップS107の処理を行う。
【0070】
実施例1では、目視判定における人為的なミスを低減するために、目視判定の後に演算による判定を行ったが、本実施例2では、目視判定の前に演算による判定を行うことで、目視判定の対象とする候補データを削減し、人による作業を軽減することが可能となる。
【0071】
なお、本実施例では、疑似ラベルが正解ラベルとして妥当か否か判定するときに、演算による判定と人の目視による判定とを組み合わせて用いる例を示したが、実施の態様がこれに限定されることはない。他の例として、演算による判定のみで、疑似ラベルが正解ラベルとして妥当か否かを判定することにしてもよい。その場合でも演算による判定に疑似ラベルが正解ラベルとして妥当か否かを含む判定を用いることにより、十分な精度でアノテーションができるとともに、人の作業を低減することが可能となる。また、演算による判定はユークリッド距離による判定に限らない。他の例として、ステップS103で得られる確信度で判定する方法を用いてもよい。あるいは、ユークリッド距離による判定と、確信度による判定とを組み合わせることにしてもよい。その場合、ユークリッド距離による判定と、確信度による判定のどちらを先に行うことにしてもよい。なお、確信度は、予測が正しいであろう度合いを示す指標値である。予測された疑似ラベルの確信度が所定の閾値を超えていれば、疑似ラベルが正解ラベルとして妥当であると判定することができる。本手法を適用する用途等に応じて閾値を適切に調整すれば、正解ラベルとして妥当な疑似ラベルを十分な精度で選別することが可能となる。
【実施例3】
【0072】
実施例1および実施例2では、人の目視による正誤判定に加え、演算による正誤判定を用いる例を示したが、実施の態様がこれらに限定されることはない。他の例として、実施例3では、人の目視による正誤判定に加え、人の目視によるアノテーションを用いる例を示す。
【0073】
本実施例におけるアノテーション支援サーバのハードウェア構成および機能構成は図1および図2に示した実施例1のものと同様である。
【0074】
図12は、実施例3におけるアノテーションの全体処理のフローチャートである。
【0075】
ステップS101からステップS103までは、図4に示した実施例1のものと同様である。
【0076】
本実施例では、ステップS103の次に、ステップS601にて、ラベル処理部33は、まず目視判定支援処理を実行する。ここで行う目視判定支援処理は、基本的には、図8に示した実施例1のものと同様であるが、本実施例では、全ての疑似ラベル付き候補データ42ではなく、ステップS103で得られる確信度が所定の閾値t1以上の疑似ラベル付き候補データ42だけを対象として目視判定支援処理を行う。また、目視で正しいと判定された場合には、暫定OKではなく、OKデータ46とする。
【0077】
確信度は、予測モデル21を用いて予測した疑似ラベルが正解ラベルでありうる度合いを示す指標である。本実施例では、予測部32が、ステップS103の予測処理で疑似ラベルを生成するときに確信度を算出する。確信度に対する閾値t1は任意に設定することができる。確信度がある程度高い疑似ラベルを、その疑似ラベルが正解ラベルとして妥当か否かの二者択一の判定の対象とすることで、アノテーションにおける人の作業を低減することができる。
【0078】
次に、ステップS602にて、ラベル処理部33は、確信度が所定の閾値t2以下の疑似ラベル付き候補データ42を対象として人に目視でアノテーションを行わせる。閾値t2は閾値t1よりも小さい値に設定される。そのとき、ラベル処理部33は、疑似ラベル付き候補データ42の疑似ラベルを破棄し、その画像を画面に表示し、正解ラベルの入力を人に促す。そして、ラベル処理部33は、入力された正解ラベルを候補データ42に付与する。
【0079】
次に、ステップS603にて、学習管理部34は、ステップS601で得られたOKデータ46とステップS602で得られた正解ラベル付き候補データとを学習データ23として登録する。また、学習管理部34は、ステップS601で得られたNGデータ44の疑似ラベルを破棄し、取得データ22に戻す。
【0080】
次に、ステップS604にて、学習管理部34は、取得データ22のうち正解ラベルが付与され学習データ23とされていないデータの個数が所定の閾値t3を下回っているか否か判定する。学習データ23とされていない取得データ22の個数が閾値t3を下回っていなければ、学習管理部34はステップS102に戻って処理を繰り返す。
【0081】
学習データ23とされていない取得データ22の個数が閾値t3を下回っていれば、ラベル処理部33は、次に、ステップS605にて、残りの取得データ22について人に目視でアノテーションを行わせる。そのとき、ラベル処理部33は、取得データ22の画像を画面に表示し、正解ラベルの入力を人に促す。そして、ラベル処理部33は、入力された正解ラベルを取得データ22に付与し、学習データ23に登録する。
【0082】
最後に、ステップS606にて、学習部31は、学習データ23を機械学習して予測モデル21を生成し、一連の処理を終了する。
【0083】
本実施例によれば、確信度がある程度高い場合には疑似ラベルが妥当か否かを人に判断させ、確信度がある程度低い場合には疑似ラベルを用いず正解ラベルを人に入力させる。これにより、疑似ラベルが妥当か否かを容易に判断できるであろう候補データについては人が妥当か否か判定し、それが容易に判断できないであろう候補データについては正解ラベルを人に入力させることで、アノテーションの効率化を図り、人の作業を低減することができる。
【0084】
なお、ここではステップS601の目視判定支援処理では、目視で正しいと判定された場合には、その疑似ラベル付き候補データ42はOKデータとして学習データ23に追加することとしたが、更に実施例1のステップS105に示した距離判定を行うことにしてもよい。
【0085】
以上説明した各実施例には以下に示す各事項が含まれている。ただし、各実施例に含まれる事項が以下に示すものに限定されることはない。
【0086】
(事項1)
アノテーション装置は、所定の予測事項を予測するための予測モデルを、正解ラベルが付与された学習データを用いた機械学習により生成する学習部と、前記予測モデルを用いて、与えられた候補データにおける前記予測事項を予測する予測部と、前記候補データに対して予測された予測事項に基づき、前記候補データに付与する正解ラベルの候補である疑似ラベルを前記候補データに付与し、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、疑似ラベルが正解ラベルとして妥当と決定された候補データとその疑似ラベルとを、前記学習データに登録するラベル処理部と、前記予測モデルを用いて前記予測事項を予測した結果が所定の条件を満たすまで、前記学習部、前記予測部、および前記ラベル処理部に処理を繰り返させる学習管理部と、を有する。これにより、疑似ラベルが正解ラベルとして妥当か否かの二者択一の判定によりアノテーションを進めるので、人による作業を軽減できるとともに、人為的なミスの低減が期待できる。
【0087】
(事項2)
事項1において、前記ラベル処理部は、前記候補データに対して予測された予測事項に基づき、前記候補データに対する疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定する。これにより、人は二者択一を目視で判定すればよいので、人による作業を軽減できるとともに、人為的なミスの低減が期待できる。
【0088】
(事項3)
事項2において、前記ラベル処理部は、複数の候補データを、該候補データに対する疑似ラベルに基づいてソートして表示し、前記複数の候補データに対する、疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力を受け付ける。これにより、複数の候補データに対するアノテーションにおいて、疑似ラベルに基づいてソートされた順序で候補データが表示されるので、ユーザは疑似ラベルが同じような候補データを連続して判定でき、判定入力の作業が容易となる。
【0089】
(事項4)
事項2において、前記ラベル処理部は、前記候補データと、前記学習データのうち正解ラベルが前記疑似ラベルと同一であるデータとの遠さの度合いに関する指標値を算出し、前記候補データに対する疑似ラベルが妥当か否かを、前記入力と前記指標値とに基づいて決定する。これにより、人による判定と、データから算出した類似度による判定とを組み合わせるので、人為的ミスの低減が期待できる。
【0090】
(事項5)
事項4において、前記予測モデルがニューラルネットワークであり、前記ラベル処理部は、前記候補データに対する疑似ラベルが妥当か否かを、前記入力と、前記候補データおよび前記疑似ラベルと前記学習データに登録されているデータとの前記ニューラルネットワークの中間層の出力同士のユークリッド距離と、に基づいて決定する。これにより、人による判定と中間層出力のユークリッド距離による判定とを組み合わせるので、人為的ミスの低減が期待できる。
【0091】
(事項6)
事項5において、前記ラベル処理部は、疑似ラベルが正解ラベルとして妥当と入力された候補データおよび前記疑似ラベルについて、前記学習データに登録されているデータのそれぞれについて前記ユークリッド距離を算出し、前記ユークリッド距離の平均値が所定の閾値以下であれば、前記候補データに正解ラベルとして前記疑似ラベルを付与して、前記学習データに登録する。これにより、閾値による容易な判定により明らかな人為的なミスの低減が期待できる。
【0092】
(事項7)
事項4において、前記ラベル処理部は、前記疑似ラベルが前記候補データの正解ラベルとして妥当であるという入力を受け付けたら、前記指標値を算出し、前記指標値が所定の閾値以下であれば、前記疑似ラベルが前記候補データの正解ラベルとして妥当であると決定する。これにより、目視により妥当と判定されたものについて更に指標値で判定するので、目視による判定における人為的ミスで不備の学習データが登録される可能性を低減することができる。
【0093】
(事項8)
事項4において、前記ラベル処理部は、前記指標値が所定の閾値以下であれば前記疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの判定を含む入力を受け付け、妥当であることが入力されたら、前記疑似ラベルが前記候補データの正解ラベルとして妥当であると決定する。これにより、指標値により妥当と判定されたものについて人の目視で判定するので、目視による判定の回数を低減することができる。
【0094】
(事項9)
事項2において、前記予測部は、前記予測事項を予測するとき、予測が正しいであろう度合いを示す確信度を算出し、前記ラベル処理部は、前記確信度が第1閾値以上であれば、前記候補データに対して予測された予測事項に基づき、前記候補データに対する疑似ラベルを表示し、前記疑似ラベルが前記候補データの正解ラベルとして妥当か否かの入力を受け付け、前記入力に基づいて、前記候補データに対する正解ラベルとして前記疑似ラベルが妥当か否か決定し、前記確信度が前記第1閾値よりも小さい第2閾値以下であれば、前記候補データに対する正解ラベルの入力を受け付ける。これにより、疑似ラベルが妥当か否かを容易に判断できるであろう候補データについては人が妥当か否か判定し、それが容易に判断できないであろう候補データについては正解ラベルを人に入力させることで、アノテーションの効率化を図り、人の作業を低減することができる。
【0095】
(事項10)
事項1において、前記学習管理部は、前記予測モデルによる前記予測事項の予測の精度、与えられた候補データにおける前記学習データに登録されていない候補データの割合、前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力における妥当という入力と妥当でないという入力との数の相対関係との少なくとも1つに基づき、前記予測モデルが成熟したか否か判定し、前記予測モデルが成熟していなければ、前記学習部に、新たに登録したものを含む学習データを用いた機械学習を再度行わせ、前記予測モデルを生成させ、前記予測モデルが成熟していれば機械学習を繰り返す処理を終了する。これにより、アノテーションと機械学習とにより予測モデルが十分に利用できるものとなっているか否かを判定することができる。
【0096】
(事項11)
事項2または10において、前記疑似ラベルが正解ラベルとして妥当か否かの判定を含む入力は、前記疑似ラベルが正解ラベルとして妥当であるか、妥当でないか、あるいは妥当か否か判別できないかの入力である。
【0097】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【0098】
10…アノテーション支援サーバ、11…CPU、12…GPU、13…メモリ、14…記憶装置、15…アノテーションプログラム、16…予測プログラム、17…学習プログラム、21…予測モデル、22…取得データ、23…学習データ、31…学習部、32…予測部、33…ラベル処理部、34…学習管理部、41…候補データ、42a…候補データ、42b…候補データ、42…候補データ、43…暫定OKデータ、44…NGデータ、45…判定不能データ、46…OKデータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12