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

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

▶ ヤフー株式会社の特許一覧

特許7198900生成装置、生成方法、及び生成プログラム
<>
  • 特許-生成装置、生成方法、及び生成プログラム 図1
  • 特許-生成装置、生成方法、及び生成プログラム 図2
  • 特許-生成装置、生成方法、及び生成プログラム 図3
  • 特許-生成装置、生成方法、及び生成プログラム 図4
  • 特許-生成装置、生成方法、及び生成プログラム 図5
  • 特許-生成装置、生成方法、及び生成プログラム 図6
  • 特許-生成装置、生成方法、及び生成プログラム 図7
  • 特許-生成装置、生成方法、及び生成プログラム 図8
  • 特許-生成装置、生成方法、及び生成プログラム 図9
  • 特許-生成装置、生成方法、及び生成プログラム 図10
  • 特許-生成装置、生成方法、及び生成プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-21
(45)【発行日】2023-01-04
(54)【発明の名称】生成装置、生成方法、及び生成プログラム
(51)【国際特許分類】
   G06F 16/906 20190101AFI20221222BHJP
【FI】
G06F16/906
【請求項の数】 12
(21)【出願番号】P 2021191427
(22)【出願日】2021-11-25
(62)【分割の表示】P 2017156462の分割
【原出願日】2017-08-14
(65)【公開番号】P2022016628
(43)【公開日】2022-01-21
【審査請求日】2021-12-16
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山下 直晃
(72)【発明者】
【氏名】西村 修平
(72)【発明者】
【氏名】田中 智大
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2017-033307(JP,A)
【文献】特開2013-238990(JP,A)
【文献】特開2016-033806(JP,A)
【文献】特開2013-025745(JP,A)
【文献】特開2014-123286(JP,A)
【文献】特開2015-121846(JP,A)
【文献】特開2002-222083(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
分類対象となる対象情報と、複数のユーザの各々により前記対象情報の各クラスに分類された割合を示す割合情報とを取得する取得部と、
前記取得部により取得された前記対象情報と前記割合情報とに基づいて、一の対象情報が入力された場合に、前記一の対象情報が前記各クラスに分類される割合を推定するモデルを生成する生成部と、
を備えることを特徴とする生成装置。
【請求項2】
前記取得部は、
タスクを行う複数のワーカである前記複数のユーザの各々により前記対象情報の各クラスに分類された割合を示す割合情報を取得する、
ことを特徴とする請求項1に記載の生成装置。
【請求項3】
前記取得部は、
前記複数のユーザの数と、前記対象情報の各クラスを選択したユーザの数とに基づく前記割合情報を取得する、
ことを特徴とする請求項1または請求項2に記載の生成装置。
【請求項4】
前記取得部は、
画像情報を含む前記対象情報を取得する
ことを特徴とする請求項1~3のいずれか1項に記載の生成装置。
【請求項5】
前記取得部は、
文字情報を含む前記対象情報を取得する
ことを特徴とする請求項1~4のいずれか1項に記載の生成装置。
【請求項6】
前記生成部は、
前記一の対象情報が入力された場合に、前記一の対象情報が前記各クラスに分類される割合を推定するニューラルネットワークである前記モデルを生成する
ことを特徴とする請求項1~5のいずれか1項に記載の生成装置。
【請求項7】
前記生成部は、
畳み込み処理及びプーリング処理を行う前記ニューラルネットワークである前記モデルを生成する
ことを特徴とする請求項6に記載の生成装置。
【請求項8】
前記モデルを用いて、対象情報に対する前記各クラスに分類される割合を推定する推定部、
をさらに備えることを特徴とする請求項1~7のいずれか1項に記載の生成装置。
【請求項9】
前記取得部は、
新たな対象情報を取得し、
前記推定部は、
前記新たな対象情報を前記モデルに入力することにより、前記新たな対象情報に対する前記各クラスに分類される割合を推定する
ことを特徴とする請求項8に記載の生成装置。
【請求項10】
前記生成部は、
前記割合情報における各クラスに対応する割合間の差が所定の範囲内となる前記対象情報に基づいて、前記モデルを生成する
ことを特徴とする請求項1~9のいずれか1項に記載の生成装置。
【請求項11】
コンピュータが実行する生成方法であって、
分類対象となる対象情報と、複数のユーザの各々により前記対象情報の各クラスに分類された割合を示す割合情報とを取得する取得工程と、
前記取得工程により取得された前記対象情報と前記割合情報とに基づいて、一の対象情報が入力された場合に、前記一の対象情報が前記各クラスに分類される割合を推定するモデルを生成する生成工程と、
を含むことを特徴とする生成方法。
【請求項12】
分類対象となる対象情報と、複数のユーザの各々により前記対象情報の各クラスに分類された割合を示す割合情報とを取得する取得手順と、
前記取得手順により取得された前記対象情報と前記割合情報とに基づいて、一の対象情報が入力された場合に、前記一の対象情報が前記各クラスに分類される割合を推定するモデルを生成する生成手順と、
をコンピュータに実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成装置、生成方法、及び生成プログラムに関する。
【背景技術】
【0002】
近年、インターネットを用いて不特定多数の人(ユーザ)に仕事(タスク)を依頼するクラウドソーシングが知られている。例えば、このようなクラウドソーシングにおいて、受注者の人的資源を効率的に活用する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-153756号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、対象情報の各クラスに分類される割合を適切に推定可能にすることが難しい場合がある。例えば、クラウドソーシングにおいて、単純に画像等の対象情報を所望のクラスに分類するタスクをユーザに依頼するだけでは、新たに分類を必要とする対象情報が生じた場合等に、その対象情報の各クラスに分類される割合を適切に推定可能にすることが難しい。例えば、タスクを依頼したユーザから得られた回答結果のコンセンサス(合意)を推定することとすると、コンセンサスが得られない場合は、データとして使用することもできない。また、例えば、コンセンサスが得られない場合のみの情報を用いる場合、対象情報から回答の傾向のような有用な量を推定することが難しい。
【0005】
本願は、上記に鑑みてなされたものであって、対象情報の各クラスに分類される割合を適切に推定可能にする生成装置、生成方法、及び生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る生成装置は、分類対象となる対象情報と、複数のユーザの各々により前記対象情報の各クラスに分類された割合を示す割合情報とを取得する取得部と、前記取得部により取得された前記対象情報と前記割合情報とに基づいて、一の対象情報が入力された場合に、前記一の対象情報が前記各クラスに分類される割合を推定するモデルを生成する生成部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、対象情報の各クラスに分類される割合を適切に推定可能にすることができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る生成処理の一例を示す図である。
図2図2は、実施形態に係る推定処理の一例を示す図である。
図3図3は、実施形態に係る生成システムの構成例を示す図である。
図4図4は、実施形態に係る生成装置の構成例を示す図である。
図5図5は、実施形態に係る学習データ記憶部の一例を示す図である。
図6図6は、実施形態に係るモデル情報記憶部の一例を示す図である。
図7図7は、実施形態に係るユーザ情報記憶部の一例を示す図である。
図8図8は、実施形態に係る推定情報記憶部の一例を示す図である。
図9図9は、実施形態に係る生成処理の一例を示すフローチャートである。
図10図10は、実施形態に係る推定処理の一例を示すフローチャートである。
図11図11は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る生成装置、生成方法、生成プログラム、学習データ、及びモデルを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、生成プログラム、学習データ、及びモデルが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.生成処理〕
まず、図1を用いて、実施形態に係る生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。図1では、生成装置100が分類対象となる対象情報と、対象情報が各クラスに分類される割合を示す正解情報とに基づいてモデルの生成を行う場合を示す。以下では、正解情報が対応付けられた対象情報を「学習データ」ともいう。図1及び図2の例では、対象情報が画像情報(以下、単に「画像」ともいう)である場合を一例に説明するについては後述する。なお、対象情報は画像に限らず、文字情報や、画像と文字情報を組み合わせた記事コンテンツ等の種々の情報であってもよい。
【0011】
ここで、図1において、生成装置100が生成するモデル(学習器)について簡単に説明する。生成装置100が生成するモデルは、例えば、入力されたデータに対する演算結果を出力する複数のノードを多層に接続したモデルであって、教師あり学習により抽象化された画像の特徴を学習されたモデルである。例えば、モデルは、複数のノードを有する層を多段に接続したニューラルネットワークであり、いわゆるディープラーニングの技術により実現されるDNN(Deep Neural Network)であってもよい。また、画像の特徴とは、画像に含まれる文字の有無、色、構成等、画像内に現れる具体的な特徴のみならず、撮像されている物体が何であるか、画像がどのような利用者に好かれるか、画像の雰囲気等、抽象化(メタ化)された画像の特徴をも含む概念である。
【0012】
例えば、モデルは、ディープラーニングの技術により、以下のような学習手法により生成される。例えば、モデルは、各ノードの間の接続係数が初期化され、様々な特徴を有する画像が入力される。そして、モデルは、モデルにおける出力と、入力した画像との誤差が少なくなるようにパラメータ(接続係数)を補正するバックプロパゲーション(誤差逆伝播法)等の処理により生成される。例えば、モデルは、誤差関数等、所定の損失(ロス)関数を最小化するようにバックプロパゲーション等の処理を行うことにより生成される。上述のような処理を繰り返すことで、モデルは、入力された画像をより良く再現できる出力、すなわち入力された画像の特徴を出力することができる。
【0013】
なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。また、モデルに対する画像の入力方法、モデルが出力するデータの形式、モデルに対して明示的に学習させる特徴の内容等は、任意の手法が適用できる。すなわち、生成装置100は、画像から抽象化された特徴を示す特徴量を算出できるのであれば、任意のモデルを用いることができる。
【0014】
図1では、生成装置100は、入力画像の局所領域の畳み込みとプーリングとを繰り返す、いわゆる畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)によるモデルM1~M3等を生成するものとする。以下では、畳み込みニューラルネットワークをCNNと記載する場合がある。例えば、CNNによるモデルM1~M3等は、画像から特徴を抽出して出力する機能に加え、画像内に含まれる文字や撮像対象等の位置的変異に対し、出力の不変性を有する。このため、モデルM1~M3等は、画像の抽象化された特徴を精度良く算出することができる。なお、上記のように、「モデルM*(*は任意の数値)」と記載した場合、そのモデルはモデルID「M*」により識別されるモデルであることを示す。例えば、「モデルM1」と記載した場合、そのモデルはモデルID「M1」により識別されるモデルである。
【0015】
〔生成システムの構成〕
まず、図1の説明に先立って、図3に示す生成システム1について説明する。図3に示すように、生成システム1は、端末装置10と、生成装置100とが含まれる。端末装置10と、生成装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図3は、実施形態に係る生成システムの構成例を示す図である。なお、図3に示した生成システム1には、複数台の端末装置10や、複数台の生成装置100が含まれてもよい。
【0016】
端末装置10は、ユーザによって利用される情報処理装置である。例えば、ユーザは、クラウドソーシングなどによるタスクを行う複数のワーカである。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1に示す例においては、端末装置10がユーザが利用するスマートフォンである場合を示す。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。具体的には、図1では、端末装置10がユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)が利用するスマートフォンである場合を示す。
【0017】
また、図1に示す例においては、端末装置10を利用するユーザに応じて、端末装置10を端末装置10-1~10-5として説明する。例えば、端末装置10-1は、ユーザU1により使用される端末装置10である。また、例えば、端末装置10-2は、ユーザU2により使用される端末装置10である。また、以下では、端末装置10-1~10-5について、特に区別なく説明する場合には、端末装置10と記載する。なお、上記のように、「ユーザU*(*は任意の数値)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU1」と記載した場合、そのユーザはユーザID「U1」により識別されるユーザである。
【0018】
生成装置100は、分類対象となる対象情報と、複数のユーザの各々により象情報の各クラスに分類された割合を示す割合情報に基づいて、モデルを生成する情報処理装置である。例えば、生成装置100は、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するモデルを生成する。また、生成装置100は、対象情報をモデルに入力することにより、新たな対象情報に対する各クラスに分類される割合を推定する。
【0019】
まず、図1の示す例において、生成装置100は、正解情報を生成するための情報を収集する。具体的には、生成装置100は、画像IM101~IM103等の画像群IML1をクラウドソーシングによりユーザ(ワーカ)に分類させ、その回答を取得する。なお、図1の例では、生成装置100は、画像を犬または猫のいずれかに分類するタスクをユーザに行わせるものとする。
【0020】
例えば、生成装置100は、ワーカであるユーザU1が利用する端末装置10-1に対象情報を提供する(ステップS11-1)。図1の例では、生成装置100は、端末装置10-1に対象情報である画像IM101を提供する。そして、生成装置100は、ユーザU1から画像IM101に対する回答を取得する(ステップS12-1)。図1の例では、生成装置100は、ユーザU1から画像IM101が「猫」であるとの回答を取得する。
【0021】
また、例えば、生成装置100は、ワーカであるユーザU2が利用する端末装置10-2に対象情報を提供する(ステップS11-2)。図1の例では、生成装置100は、端末装置10-2に対象情報である画像IM101を提供する。そして、生成装置100は、ユーザU2から画像IM101に対する回答を取得する(ステップS12-2)。図1の例では、生成装置100は、ユーザU2から画像IM101が「猫」であるとの回答を取得する。
【0022】
また、例えば、生成装置100は、ワーカであるユーザU3が利用する端末装置10-3に対象情報を提供する(ステップS11-3)。図1の例では、生成装置100は、端末装置10-3に対象情報である画像IM101を提供する。そして、生成装置100は、ユーザU3から画像IM101に対する回答を取得する(ステップS12-3)。図1の例では、生成装置100は、ユーザU3から画像IM101が「犬」であるとの回答を取得する。
【0023】
また、例えば、生成装置100は、ワーカであるユーザU4が利用する端末装置10-4に対象情報を提供する(ステップS11-4)。図1の例では、生成装置100は、端末装置10-4に対象情報である画像IM101を提供する。そして、生成装置100は、ユーザU4から画像IM101に対する回答を取得する(ステップS12-4)。図1の例では、生成装置100は、ユーザU4から画像IM101が「犬」であるとの回答を取得する。
【0024】
また、例えば、生成装置100は、ワーカであるユーザU5が利用する端末装置10-5に対象情報を提供する(ステップS11-5)。図1の例では、生成装置100は、端末装置10-5に対象情報である画像IM101を提供する。そして、生成装置100は、ユーザU5から画像IM101に対する回答を取得する(ステップS12-5)。図1の例では、生成装置100は、ユーザU5から画像IM101が「猫」であるとの回答を取得する。
【0025】
以下、ステップS11-1~S11-5を区別せずに説明する場合、ステップS11と総称する。また、ステップS11-1~S11-5に限らず、各ユーザへの対象情報の提供は、画像群IMF1の各画像IM102、103等について複数回行われてもよい。また、以下、ステップS12-1~S12-5を区別せずに説明する場合、ステップS12と総称する。なお、図1では、5人のユーザU1~U5を図示するが、生成装置100は、ユーザU1~U5に限らず、多数のユーザ(例えば、100万ユーザや1000万ユーザ等)による対象情報に対する回答を取得する。例えば、生成装置100は、ステップS11において画像群IMF1を端末装置10に提供し、ステップS12において画像群IMF1に含まれる各画像IM101~IM103等に対するユーザの回答を取得してもよい。
【0026】
そして、生成装置100は、ステップS12で取得した情報に基づいて、対象情報の各クラスに分類された割合を示す割合情報を生成する。また、生成装置100は、対象情報と、割合情報を正解情報として含む集計情報との組み合わせを学習データとして追加する(ステップS13)。具体的には、生成装置100は、対象情報である画像IM101~IM103等の各々に対応するデータDT101~DT103等を学習データ記憶部121に追加する。
【0027】
なお、上記のように、「データDT*(*は任意の数値)」と記載した場合、そのデータはデータID「DT*」により識別されるデータであることを示す。例えば、「データDT1」と記載した場合、そのデータはデータID「DT1」により識別されるデータである。
【0028】
図1中の学習データ記憶部121に示す「データID」は、データを識別するための識別情報を示す。図1中の学習データ記憶部121に示す「対象情報」は、データIDにより識別されるデータに含まれる対象情報を示す。図1中の学習データ記憶部121に示す「集計情報」は、クラウドソーシングによってワーカにより行われたタスクの回答を集計した情報(集計情報)を示す。
【0029】
図1中の学習データ記憶部121に示す「集計情報」中の「正解情報(割合情報)」は、データIDにより識別されるデータに対応する正解情報(割合情報)を示す。例えば、「正解情報(割合情報)」は、ワーカの全回答における各クラスの回答の割合を示す。
【0030】
「集計情報」中の「ユーザ数」は、対応する対象情報について回答を行ったユーザ数を示す。「集計情報」中の「猫(CL1)」は、対応する対象情報について猫と回答を行ったユーザ数を示す。また、図1の例では、「集計情報」中の「猫(CL1)」は、対応する対象情報について猫と回答を行ったユーザを識別する情報も含まれる。また、「集計情報」中の「犬(CL2)」は、対応する対象情報について犬と回答を行ったユーザ数を示す。また、図1の例では、「集計情報」中の「犬(CL2)」は、対応する対象情報について犬と回答を行ったユーザを識別する情報も含まれる。
【0031】
例えば、図1に示す例において、データID「DT101」により識別されるデータ(データDT101)は、分類対象となる対象情報が画像IM101であることを示す。また、データDT101は、正解情報が「猫」と分類された割合が「0.58(58%)」であり、「犬」と分類された割合が「0.42(42%)」であることを示す。また、データDT101は、ユーザ数が1000人であることを示す。また、データDT101は、猫と回答したユーザ数が580人であり、そのユーザにはユーザU1やユーザU2等が含まれることを示す。また、データDT101は、犬と回答したユーザ数が420人であり、そのユーザにはユーザU3やユーザU4等が含まれることを示す。すなわち、データDT101は、画像IM101について、1000人のユーザ(ワーカ)のうち、580人が猫と回答し、420人が犬と回答したことを示す。そのため、データDT101は、正解情報における猫の割合が「580/1000=0.58」となり、正解情報における犬の割合が「420/1000=0.42」となる。
【0032】
また、データID「DT102」により識別されるデータ(データDT102)は、画像IM102について、2000人のユーザ(ワーカ)のうち、1700人が猫と回答し、300人が犬と回答したことを示す。そのため、データDT102は、正解情報における猫の割合が「1700/2000=0.85」となり、正解情報における犬の割合が「300/2000=0.15」となる。
【0033】
また、データID「DT103」により識別されるデータ(データDT103)は、画像IM103について、10000人のユーザ(ワーカ)のうち、5500人が猫と回答し、4500人が犬と回答したことを示す。そのため、データDT103は、正解情報における猫の割合が「5500/10000=0.55」となり、正解情報における犬の割合が「4500/10000=0.45」となる。
【0034】
上記のように、学習データとして用いられる画像群IMF1には、ワーカの分類結果がクラス間で差が小さい画像IM101、IM103等やワーカの分類結果がクラス間で差が大きい画像IM102等が含まれる。例えば、図1中の画像群IMF1には、画像IM101や画像IM103のような各クラスの割合の差が所定の閾値(例えば0.1や0.2等)未満の画像が含まれる。また、例えば、図1中の画像群IMF1には、画像IM102のような、各クラスの割合の差が所定の閾値(例えば0.1や0.2等)以上である画像も含まれる。そこで、生成装置100は、割合情報を正解情報として、モデルを学習(生成)する。この点について、以下詳述する。
【0035】
生成装置100は、上記のような画像IM101~IM103等を含む学習データに基づいてモデルを生成する(ステップS14)。例えば、生成装置100は、学習データ記憶部121中のデータDT101~DT103等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。
【0036】
図1に示す例は、生成装置100は、画像IM101~IM103等と画像IM101~IM103等の各クラスに分類された割合を示す割合情報を用いてモデルの生成を行う。ここでは、生成装置100が画像IM101と画像IM101の各クラスに分類された割合を示す割合情報(以下、「正解情報RDT101」とする)を一例として説明する。
【0037】
まず、モデルM1には、画像IM101が入力される。これにより、モデルM1は、各クラスに対応するスコアを出力する。図1の例では、モデルM1は、猫(クラスCL1)に対応するスコアと犬(クラスCL2)に対応するスコアとを出力する。
【0038】
上述したように、例えば、生成装置100は、ディープラーニングの技術により、モデルM1を学習し、生成する。例えば、生成装置100は、画像IM101と、猫(クラスCL1)の割合「0.58」及び犬(クラスCL2)の割合「0.42」とを含む正解情報との組み合わせを学習データとして用いる。例えば、正解情報RDT101には、猫(クラスCL1)の割合「0.58」を示す情報や犬(クラスCL2)の割合「0.42」を示す情報が含まれる。例えば、生成装置100は、モデルM1における出力(各クラスのスコア)と、学習データに含まれる各クラスの割合(値)との誤差が少なくなるようにパラメータ(接続係数)を補正するバックプロパゲーション(誤差逆伝播法)等の処理を行うことにより、モデルM1を学習する。例えば、生成装置100は、所定の誤差(ロス)関数を最小化するようにバックプロパゲーション等の処理を行うことによりモデルM1を生成する。
【0039】
例えば、生成装置100は、下記の式(1)に示すような、誤差関数Lを用いる。下記の式(1)に示すように、生成装置100は、例えば、N-クラス分類問題の場合、交差エントロピーを誤差関数として用いる。なお、誤差関数Lは、識別結果の確信度を表すものであれば、どのような関数であっても良い。例えば、誤差関数Lは、識別確率から求められるエントロピーであってもよい。また、例えば、誤差関数Lは、モデルM1の認識の精度を示すものであれば、どのような関数であってもよい。
【0040】
【数1】
【0041】
ここで、上記式(1)や下記の式(3)~(6)中の「x」は画像を示す。例えば、図1に示す例において、上記式(1)や下記の式(3)~(6)中の「x」は、画像IMに対応する。また、変数「n」に代入される1~Nは、モデルM1が識別(分類)する各クラスに対応する。例えば、上記式(1)に対応するモデルM1は、N個のクラスを識別することを示す。例えば、各クラスには、「猫(クラスCL1)」や「犬(クラスCL2)」等が各々対応する。
【0042】
また、上記式(1)や下記の式(4)、(5)中の「t(x)」は、画像IM101が分類されるクラスn(1~Nのいずれか)の割合を示す。例えば、上記式(1)中の「t(x)」は、正解情報RDT101中のクラスnに対応する割合を示す。この場合、例えば、クラス1に対応する対象を「猫」とした場合、「t(x)」は、「0.58(58%)」となる。例えば、クラスn(1~Nのいずれか)の割合を示す「t(x)」は、下記の式(2)のような関係である。
【0043】
【数2】
【0044】
ここで、上記式(2)に示すように、画像が分類されるクラスn(1~Nのいずれか)の割合を示す「t(x)」の合計値は「1」となる。例えば、画像IM101が分類される2つクラスの割合を示す「t(x)」、「t(x)」の合計値は「1」となる。例えば、画像IM101において、クラス1に対応する対象を「猫」とした場合の「t(x)」は、「0.58(58%)」となり、クラス2に対応する対象を「犬」とした場合の「t(x)」は、「0.42(42%)」となる。この場合、「t(x)+t(x)」は、「0.58+0.42」、すなわち「1」となる。このように、クラスn(1~Nのいずれか)の割合を示す「t(x)」の各々は、クラス1~N全体の合計が「1」となるような値となる。例えば、各クラスn(1~Nのいずれか)の割合を示す「t(x)」は、合計が「1」となるような値となる。
【0045】
また、上記式(1)や下記の式(3)、(4)中の「p(x)」は、画像IM101におけるクラスn(1~Nのいずれか)について、モデルM1の出力に基づく割合を示す。例えば、上記式(1)中の「p(x)」は、モデルM1が出力するクラスnに対応する割合を示す。例えば、クラス1に対応する対象を「猫」とした場合、「p(x)」は、モデルM1の学習に応じて「0.55(55%)」や「0.57(57%)」等の種々の値に変動する。
【0046】
また、上記式(1)中の「p(x)」は、xに対するクラスnの確率で以下の式(3)に示すようなSoftmax関数で定義される。
【0047】
【数3】
【0048】
上記式(3)の関数「f」は、CNN(モデルM1)が出力するクラスnのスコアである。「θ」は、CNN(モデルM1)のパラメータである。また、関数「exp」は、指数関数(exponential function)である。この場合、上記式(1)に示す誤差関数L(1)の勾配は、下記の式(4)により算出される。
【0049】
【数4】
【0050】
上記式(4)に示すように、1~Nまでの全クラスにおいて、p(x)=t(x)である場合、誤差関数L(x)の勾配は0になり極値になる。例えば、生成装置100は、誤差関数L(x)の勾配が0になるように、フィードバック処理を行う。例えば、生成装置100が上述のような処理を繰り返すことにより、モデルM1は、入力された画像が各クラスに分類される割合を示すスコアを適切に出力することができる。
【0051】
なお、上記の例においては、画像IM101を一例として、上記式(1)を用いて対象情報ごとに処理する場合を示したが、生成装置100は、下記の式(5)に示すような、全画像に対応する誤差関数Lを用いてもよい。
【0052】
【数5】
【0053】
例えば、上記式(5)中の変数「x」に代入される1~Mは、画像群IMF1に含まれる画像IM101~IM103等の複数の画像の各々に対応する。例えば、生成装置100は、上記式(5)の誤差関数Lの勾配が0になるように、フィードバック処理を行うことにより、モデルM1は、入力された画像が各クラスに分類される割合を示すスコアを適切に出力することができる。
【0054】
また、対処情報を2つのクラスに分類する場合、上記式(5)に代えて下記の式(6)を用いてもよい。
【0055】
【数6】
【0056】
例えば、図1の例では、上記式(6)中の「t(x)」は、画像IM101が猫(クラスCL1)に分類される割合を示す。この場合、例えば、正解情報RDT101における猫(クラスCL1)に分類される割合に対応する「t(x)」は、「0.58(58%)」となる。また、例えば、「(1-t(x))」は、「0.42(=1-0.58)(42%)」となり、正解情報RDT101における犬(クラスCL2)に分類される割合に対応する。
【0057】
また、上記式(6)中の「p(x)」は、画像IM101における猫(クラスCL1)について、モデルM1の出力に基づく割合を示す。
【0058】
なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。なお、各モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、RNN(Recurrent Neural Network)やCNN等の種々のディープラーニングの技術を適宜用いて行われてもよい。なお、上記モデルの生成に関する記載は例示であり、モデルの生成は、取得可能な情報等に応じて適宜選択された学習手法により行われてもよい。すなわち、生成装置100は、学習データに含まれる対象情報が入力された場合に、正解情報に対応するスコアを出力するようにモデルM1を学習可能であれば、どのような手法によりモデルM1の生成を行ってもよい。
【0059】
上記のような処理により、図1の例では、生成装置100は、モデル情報記憶部122に示すように、モデルID「M1」により識別されるモデル(モデルM1)を生成する。また、図1中のモデル情報記憶部122に示すように、モデルM1は用途「画像(犬猫分類)」、すなわち画像が犬猫の2つのクラスのいずれかに分類されるかの推定のために用いられるモデルであり、その具体的なモデルデータが「モデルデータMDT1」であることを示す。例えば、生成装置100は、モデルM1に画像情報を入力することにより、入力した画像情報が各クラスに分類される割合を示すスコアを、モデルM1に出力させ、モデルM1が出力するスコアに基づいて画像が各クラスに分類される割合を推定する。
【0060】
上述したように、生成装置100は、画像情報と正解情報とが対応付けられた学習データを用いて学習することにより、対象情報の各クラスに分類される割合を適切に推定可能にするモデルを生成することができる。したがって、生成装置100は、上述のように生成したモデルを用いることにより、例えば、画像(犬猫分類)の各クラスに分類される割合を精度よく推定することを可能にすることができる。
【0061】
例えば、クラウドソーシングにおいて、単純に画像等の対象情報を所望のクラスに分類するタスクをユーザに依頼し、得られた回答結果のコンセンサスを推定することとすると、コンセンサスが得られない場合は、データとして使用することもできない。ここでいうコンセンサスとは、例えば、回答に偏りがあることによる、ユーザの回答の一致(合意)であってもよい。例えば、コンセンサスとは、ある回答を所定の割合以上のユーザが行ったことであってもよい。例えば、コンセンサスとは、ある回答(例えば「猫」)を所定の割合(70%)以上のユーザが行ったことであってもよい。また、例えば、コンセンサスが得られない場合のみの情報を用いる場合、対象情報から回答の傾向のような有用な量を推定することが難しい。
【0062】
例えば、従来の学習においては、図1の例の画像IM101や画像IM103等のようにワーカの分類による各クラスの割合に差がつかなかった画像は、モデルの生成に用いられなかった。例えば、従来の学習においては、画像IM102のような各クラスの割合の差が顕著な画像のみを用いて学習していた。例えば、従来の学習においては、画像IM102について、猫(クラスCL1)のラベルを「1」とし、犬(クラスCL2)のラベルを「0」として学習に用い、画像IM101やIM103が学習に用いられなかった。しかしながら、各クラスの割合に差がつかなかった場合も学習データとしても重要であるが、クラス数が大きくなると、使われないデータも多くなるという問題があった。
【0063】
そこで、生成装置100は、各クラスを選択したワーカの数の割合を学習するターゲット(正解情報)とすることで、従来では用いられていなかったデータを利用可能にし、画像自体が分類することが難しい画像である場合も適切に推定することが可能になる。また、例えば、閾値を使用して通常分類器として使用しても、学習データ数の増加により、学習器の汎化性能を向上させることができる。
【0064】
〔2.推定処理〕
図2を用いて、実施形態に係る推定処理の一例について説明する。図2は、実施形態に係る推定処理の一例を示す図である。図2では、生成装置100は、新たな対象情報を取得した場合に、その対象情報に対する各クラスに分類される割合を推定し、推定に基づく情報を提供する場合を示す。
【0065】
まず、生成装置100は、対象情報となる画像IM10を取得する(ステップS21)。図2の例では、生成装置100は、ユーザU101が利用する端末装置10から分類対象となる画像IM10を取得する。
【0066】
画像IM10を取得した生成装置100は、画像IM10をモデルに入力する。例えば、生成装置100は、画像IM10のデータ(以下、「データIM10」とする)を、モデルM1に入力する。
【0067】
図2の例では、生成装置100は、処理群PS21に示すような処理により、画像IM10が各クラスに分類される割合を示すスコアを算出する。生成装置100は、データIM10をモデルM1に入力する(ステップS22)。データIM10が入力されたモデルM1は、スコアを出力する(ステップS23)。モデルM1は、各クラスに対応するスコアを出力する。図2の例では、データIM10が入力されたモデルM1は、スコアSC11に示すように、猫(クラスCL1)のスコア「0.55」を出力し、犬(クラスCL2)のスコア「0.45」を出力する。これにより、生成装置100は、モデルM1を用いて、画像IM10が猫(クラスCL1)に分類される割合(確率)が55%であり、犬(クラスCL2)に分類される割合(確率)が45%であると推定する。
【0068】
そして、生成装置100は、推定結果を生成する(ステップS24)。図2の例では、生成装置100は、推定対象である画像IM10が猫に分類される割合が55%であり、犬に分類される割合が45%であるとの推定結果情報ER21を生成する。
【0069】
その後、生成装置100は、推定結果に基づいて情報提供を行う(ステップS25)。図2の例では、生成装置100は、生成した推定結果情報ER21を端末装置10へ提供する。
【0070】
上述したように、生成装置100は、モデルを用いることにより対象情報に対する各クラスに分類される割合を推定する。図2の例では、生成装置100は、画像IM10をモデルM1に入力することにより、モデルM1に画像IM10が各クラスに分類される割合を示すスコアを出力させる。そして、生成装置100は、モデルM1が出力するスコアが高いクラス程、その対象情報がそのクラスに分類される可能性が高いと推定する。図2の例では、生成装置100は、モデルM1が出力する猫(クラスCL1)のスコアが高いエリア程、その画像が猫に分類される可能性が高いと推定する。そして、生成装置100は、推定した結果を端末装置10へ提供する。これにより、生成装置100から情報提供を受けたユーザは、その対象情報がどのクラスに分類されるかを把握することができる。また、生成装置100から割合情報の情報提供を受けたユーザは、その対象情報がどの程度分類が難しい対象情報であるかを把握することができる。
【0071】
〔2-1.推定の対象〕
図1及び図2の例では、画像が猫(クラスCL1)と犬(クラスCL2)のいずれに分類されるかを推定するモデルを生成したり、モデルを用いて推定を行う場合を示したが、生成装置100は、どのような分類を行うモデルを生成したりしてもよい。例えば、生成装置100は、各対象情報に種々の正解情報を対応付けることにより、複数のモデルを生成してもよい。例えば、生成装置100は、各対象情報に、種々の正解情報を対応付けることにより、複数のモデルを生成してもよい。
【0072】
また、生成装置100は、画像に限らず、文字情報や、画像と文字情報を組み合わせた記事コンテンツ等の種々の対象情報を対象とするモデルを生成してもよい。
【0073】
〔2-2.回答について〕
図1の例では、説明を簡単にするために、各ユーザ(ワーカ)が犬か猫かのいずれかを選択し、いずれか一方を回答する場合を示したが、生成装置100は、各ユーザから各クラスの割合による回答を取得してもよい。例えば、生成装置100は、ユーザU1から、画像IM101が猫(クラスCL1)であると考える割合「0.6(60%)」と犬(クラスCL2)であると考える割合「0.4(40%)」等の各クラスの割合による回答を取得してもよい。例えば、生成装置100は、ユーザU2から、画像IM101が猫(クラスCL1)であると考える割合「0.7(70%)」と犬(クラスCL2)であると考える割合「0.3(30%)」等の各クラスの割合による回答を取得してもよい。
【0074】
また、生成装置100は、各ユーザから各クラスの割合による回答に基づいて、正解情報を生成してもよい。例えば、生成装置100は、上記ユーザU1とユーザU2の回答に基づいて、正解情報を生成する場合、画像IM101の猫(クラスCL1)の割合を「0.65(=(0.6+0.7)/2)(65%)」してもよい。例えば、生成装置100は、上記ユーザU1とユーザU2の回答に基づいて、正解情報を生成する場合、画像IM101の犬(クラスCL2)の割合を「0.35(=(0.4+0.3)/2)(35%)」してもよい。なお、上記は一例であり、生成装置100は、各ユーザから種々の回答を取得して、正解情報を生成してもよい。
【0075】
〔2-3.回答するユーザ(ワーカ)に応じた重み付け〕
また、生成装置100は、回答したユーザに応じて回答に重み付けを行ってもよい。例えば、生成装置100は、各ユーザのワーカとしての経歴やスキルレベル等のクラウドソーシングにおける各ユーザの評価や信頼性を示す情報に基づいて、各ユーザの回答に重み付けを行ってもよい。
【0076】
例えば、生成装置100は、ワーカとしての経歴が所定の年数以上のユーザの回答については、重みを「1」より大きくしてもよい。例えば、生成装置100は、ワーカとしての経歴が所定の年数以上のユーザの回答については、重みを「2」とすることにより、2人分の回答の価値があるとしてもよい。また、例えば、生成装置100は、ワーカとしてのスキルレベルが所定の閾値以上のユーザの回答については、重みを「1」より大きくしてもよい。例えば、生成装置100は、ワーカとしての経歴が所定の年数以上のユーザの回答については、重みを「1.5」とすることにより、1.5人分の回答の価値があるとしてもよい。なお、上記は一例であり、生成装置100は、種々の情報を用いて各ユーザの回答の重み付けを行ってもよい。
【0077】
〔3.生成装置の構成〕
次に、図4を用いて、実施形態に係る生成装置100の構成について説明する。図4は、実施形態に係る生成装置の構成例を示す図である。図4に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、生成装置100は、生成装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0078】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10との間で情報の送受信を行う。
【0079】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図4に示すように、学習データ記憶部121と、モデル情報記憶部122と、ユーザ情報記憶部123と、推定情報記憶部124とを有する。
【0080】
(学習データ記憶部121)
実施形態に係る学習データ記憶部121は、学習データに関する各種情報を記憶する。図5は、実施形態に係る学習データ記憶部の一例を示す図である。例えば、学習データ記憶部121は、モデルの生成に用いる教師データを記憶する。図5に示す学習データ記憶部121には、「データID」、「対象情報」、「集計情報」といった項目が含まれる。「集計情報」には、「正解情報(割合情報)」、「ユーザ数」、「猫(CL1)」、「犬(CL2)」といった項目が含まれる。
【0081】
「データID」は、データを識別するための識別情報を示す。例えば、データID「DT101」により識別されるデータは、図1の例に示した、データDT101に対応する。「対象情報」は、データIDにより識別されるデータに含まれる対象情報を示す。例えば、「対象情報」は、分類対象となる対象情報を示す。「集計情報」は、クラウドソーシングによってワーカにより行われたタスクの回答を集計した情報を示す。
【0082】
「集計情報」中の「正解情報(割合情報)」は、データIDにより識別されるデータに対応する正解情報(割合情報)を示す。例えば、「正解情報(割合情報)」は、ワーカの全回答における各クラスの回答の割合を示す。
【0083】
「集計情報」中の「ユーザ数」は、対応する対象情報について回答を行ったユーザ数を示す。「集計情報」中の「猫(CL1)」は、対応する対象情報について猫と回答を行ったユーザ数を示す。また、図5の例では、「集計情報」中の「猫(CL1)」は、対応する対象情報について猫と回答を行ったユーザを識別する情報も含まれる。また、「集計情報」中の「犬(CL2)」は、対応する対象情報について犬と回答を行ったユーザ数を示す。また、図5の例では、「集計情報」中の「犬(CL2)」は、対応する対象情報について犬と回答を行ったユーザを識別する情報も含まれる。
【0084】
例えば、図5に示す例において、データID「DT101」により識別されるデータ(データDT101)は、分類対象となる対象情報が画像IM101であることを示す。また、データDT101は、正解情報が「猫」と分類された割合が「0.58(58%)」であり、「犬」と分類された割合が「0.42(42%)」であることを示す。また、データDT101は、ユーザ数が1000人であることを示す。また、データDT101は、猫と回答したユーザ数が580人であり、そのユーザにはユーザU1やユーザU2等が含まれることを示す。また、データDT101は、犬と回答したユーザ数が420人であり、そのユーザにはユーザU3やユーザU4等が含まれることを示す。すなわち、データDT101は、画像IM101について、1000人のユーザ(ワーカ)のうち、580人が猫と回答し、420人が犬と回答したことを示す。そのため、データDT101は、正解情報における猫の割合が「580/1000=0.58」となり、正解情報における犬の割合が「420/1000=0.42」となる。
【0085】
なお、学習データ記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、学習データ記憶部121は、学習データが追加された日時に関する情報を記憶してもよい。また、例えば、学習データ記憶部121は、各学習データがどのような判定処理により追加されたかを示す情報を記憶してもよい。例えば、学習データ記憶部121は、各学習データが管理者の選択により判定されたか等を示す情報を記憶してもよい。
【0086】
(モデル情報記憶部122)
実施形態に係るモデル情報記憶部122は、モデルに関する情報を記憶する。例えば、モデル情報記憶部122は、生成処理により生成されたモデル情報(モデルデータ)を記憶する。図6は、実施形態に係るモデル情報記憶部の一例を示す図である。図6に示すモデル情報記憶部122は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。なお、図6では、モデルM1~M3のみを図示するが、M4、M5等、各用途(推定の対象)に応じて多数のモデル情報が記憶されてもよい。
【0087】
「モデルID」は、モデルを識別するための識別情報を示す。例えば、モデルID「M1」により識別されるモデルは、図1の例に示したモデルM1に対応する。「用途」は、対応するモデルの用途を示す。また、「モデルデータ」は、対応付けられた対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
【0088】
例えば、図6に示す例において、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「画像(犬猫分類)」であり、入力された画像が犬猫の2つのクラスのいずれかに分類されるかの推定に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。
【0089】
例えば、図6に示す例において、モデルID「M3」により識別されるモデル(モデルM3)は、用途が「文字情報(カテゴリ分類)」であり、入力された文字情報が複数のカテゴリ(クラス)のうち、どのクラスに分類されるかの推定に用いられることを示す。例えば、分類するカテゴリ(クラス)は、政治、スポーツ、芸能等の3つ以上のカテゴリが含まれてもよい。また、モデルM3のモデルデータは、モデルデータMDT3であることを示す。
【0090】
例えば、モデルM1(モデルデータMDT1)は、分類対象となる対象情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された対象情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、対象情報の各クラスに分類される割合の推定に用いられるスコアの値を出力層から出力するよう、コンピュータを機能させるためのモデルである。
【0091】
ここで、モデルM1~M3等が「y=a*x+a*x+・・・+a*x」で示す回帰モデルで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
【0092】
また、モデルM1~M3等がDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【0093】
なお、モデル情報記憶部122は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。例えば、モデル情報記憶部122は、画像と文字情報とを組み合わせた記事コンテンツが各クラスに分類される割合の推定に用いられるモデルを記憶してもよい。
【0094】
(ユーザ情報記憶部123)
実施形態に係るユーザ情報記憶部123は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部123は、クラウドソーシングなどによるタスクを行う複数のワーカ(ユーザ)に関する情報を記憶する。図7は、実施形態に係るユーザ情報記憶部の一例を示す図である。図7に示すユーザ情報記憶部123は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目が含まれる。
【0095】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。
【0096】
また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図7に示す例では、「自宅」は、「LC11」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0097】
また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図7に示す例では、「勤務地」は、「LC12」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0098】
また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図7に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。
【0099】
例えば、図7に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC11」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC12」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「スポーツ」に興味があることを示す。
【0100】
なお、ユーザ情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部123は、ユーザのデモグラフィック属性に関する情報やサイコグラフィック属性に関する情報を記憶してもよい。例えば、ユーザ情報記憶部123は、氏名、家族構成、収入、興味、ライフスタイル等の情報を記憶してもよい。また、例えば、ユーザ情報記憶部123は、各ユーザのワーカとしての経歴やスキルレベル等のクラウドソーシングにおける各ユーザの評価や信頼性を示す情報を記憶してもよい。
【0101】
(推定情報記憶部124)
実施形態に係る推定情報記憶部124は、推定対象や推定結果等の推定に関する各種情報を記憶する。図8に、実施形態に係る推定情報記憶部124の一例を示す。図8に示す推定情報記憶部124は、「推定対象」、「クラス」、「スコア」といった項目を有する。図8に示す推定情報記憶部124は、図2において推定した画像IM10のクラス分類(犬猫分類)に関する情報を示す。
【0102】
「推定対象」は、推定する分類対象(対象)を示す。「クラス」は、推定対象を分類するクラスを示す。「スコア」は、対応するクラスの評価値となるスコアを示す。例えば、「スコア」は、対応するクラスに分類されると推定される割合を示す。
【0103】
例えば、図8に示す例において、推定する対象は、画像IM10であることを示す。また、画像IM10が猫(クラスCL1)のスコアが「0.55」であることを示す。例えば、画像IM10が猫(クラスCL1)と分類される割合が55%であることを示す。また、画像IM10が犬(クラスCL2)のスコアが「0.45」であることを示す。例えば、画像IM10が犬(クラスCL2)と分類される割合が45%であることを示す。
【0104】
なお、推定情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0105】
(制御部130)
図4の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。制御部130は、モデル情報記憶部122に記憶されているモデルM1等に従った情報処理により、分類対象となる対象情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された対象情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、対象情報の各クラスに分類される割合の推定に用いられるスコアの値を出力層から出力する。
【0106】
図4に示すように、制御部130は、取得部131と、生成部132と、推定部133と、提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。制御部130は、記憶部120に記憶されているモデルM1(モデルデータMDT1)に従った情報処理により、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された対象情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、対象情報の各クラスに分類される割合の推定に用いられるスコアの値を出力層から出力する。
【0107】
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、学習データ記憶部121と、モデル情報記憶部122と、ユーザ情報記憶部123と、推定情報記憶部124等から各種情報を取得する。また、取得部131は、各種情報を外部の情報処理装置から取得してもよい。また、取得部131は、各種情報を端末装置10等から取得してもよい。例えば、取得部131は、ワーカから対象情報に対する回答を取得する。
【0108】
例えば、取得部131は、分類対象となる対象情報と、複数のユーザの各々により対象情報の各クラスに分類された割合を示す割合情報とを取得する。例えば、取得部131は、分類対象となる対象情報と、複数のユーザの各々により選択された対象情報の各クラスに分類された割合を示す割合情報とを取得する。例えば、取得部131は、クラウドソーシングにおいて複数のユーザの各々により対象情報の各クラスに分類された割合を示す割合情報を取得する。例えば、取得部131は、複数のユーザの数と、対象情報の各クラスを選択したユーザの数とに基づく割合情報を取得する。例えば、取得部131は、画像情報を含む対象情報を取得する。例えば、取得部131は、文字情報を含む対象情報を取得する。
【0109】
図1の例では、取得部131は、正解情報を生成するための情報を収集する。例えば、取得部131は、画像IM101~IM103等の画像群IML1をクラウドソーシングによりユーザ(ワーカ)に分類させ、その回答を取得する。
【0110】
図1の例では、取得部131は、ユーザU1から画像IM101に対する回答を取得する。例えば、取得部131は、ユーザU1から画像IM101が「猫」であるとの回答を取得する。例えば、取得部131は、ユーザU2から画像IM101が「猫」であるとの回答を取得する。例えば、取得部131は、ユーザU3から画像IM101が「犬」であるとの回答を取得する。例えば、取得部131は、ユーザU4から画像IM101が「犬」であるとの回答を取得する。例えば、取得部131は、ユーザU5から画像IM101が「猫」であるとの回答を取得する。
【0111】
例えば、取得部131は、新たな対象情報を取得する。図2の例では、取得部131は、ユーザU101が利用する端末装置10から分類対象となる画像IM10を取得する。
【0112】
(生成部132)
生成部132は、各種情報を生成する。例えば、生成部132は、学習データ記憶部121に記憶された学習データを用いて、モデル情報記憶部122に示すようなモデルを生成する。例えば、生成部132は、取得部131により取得された学習データに基づいて、対象情報の各クラスに分類される割合の推定に用いられるモデルを生成する。例えば、生成部132は、対象情報と、対象情報が各クラスに分類される割合を示す正解情報とを含む学習データに基づいて、対象情報の各クラスに分類される割合の推定に用いられるモデルを生成する。
【0113】
例えば、生成部132は、取得部131により取得された対象情報と割合情報とに基づいて、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するモデルを生成する。例えば、生成部132は、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するニューラルネットワーク(neural network)であるモデルを生成する。例えば、生成部132は、畳み込み処理及びプーリング処理を行うニューラルネットワークであるモデルを生成する。例えば、生成部132は、割合情報における各クラスに対応する割合間の差が所定の範囲内となる対象情報に基づいて、モデルを生成する。
【0114】
例えば、生成部132は、モデルM1~M3等を生成し、生成したモデルM1~M3等をモデル情報記憶部122に格納する。なお、生成部132は、いかなる学習アルゴリズムを用いてモデルM1~M3等を生成してもよい。例えば、生成部132は、ニューラルネットワーク、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルM1~M3等を生成する。一例として、生成部132がニューラルネットワークを用いてモデルM1~M3等を生成する場合、モデルM1~M3等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
【0115】
生成部132は、モデルを生成し、生成したモデルをモデル情報記憶部122に格納する。具体的には、生成部132は、分類対象となる対象情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された対象情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、対象情報の各クラスに分類される割合の推定に用いられるスコアの値を出力層から出力するモデルを生成する。
【0116】
図1の例では、生成部132は、対象情報の各クラスに分類される割合を示す割合情報を生成する。例えば、生成部132は、対象情報と、割合情報を正解情報として含む集計情報との組み合わせを学習データとして追加する。例えば、生成部132は、対象情報である画像IM101~IM103等の各々に対応するデータDT101~DT103等を学習データ記憶部121に追加する。
【0117】
図1の例では、生成部132は、上記のような画像IM101~IM103等を含む学習データに基づいてモデルを生成する。例えば、生成部132は、学習データ記憶部121中のデータDT101~DT103等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。図1に示すような処理により生成部132は、モデル情報記憶部122に示すように、モデルID「M1」により識別されるモデル(モデルM1)を生成する。
【0118】
例えば、生成部132は、推定部133により推定された情報に基づいてユーザに提供する推定結果を生成する。図2の例では、生成部132は、推定対象である画像IM10が猫に分類される割合が55%であり、犬に分類される割合が45%であるとの推定結果情報ER21を生成する。
【0119】
(推定部133)
推定部133は、各種情報を推定する。推定部133は、学習データ記憶部121と、モデル情報記憶部122と、ユーザ情報記憶部123と、推定情報記憶部124等に記憶された情報を用いて種々の情報を推定する。例えば、推定部133は、取得部131により取得された各種情報に基づいて、種々の情報を推定する。
【0120】
例えば、推定部133は、モデルを用いて、対象情報に対する各クラスに分類される割合を推定する。推定部133は、新たな対象情報をモデルに入力することにより、新たな対象情報に対する各クラスに分類される割合を推定する。
【0121】
図2の例では、推定部133は、処理群PS21に示すような処理により、画像IM10が各クラスに分類される割合を示すスコアを算出する。推定部133は、データIM10をモデルM1に入力する。推定部133によりデータIM10が入力されたモデルM1は、スコアを出力する。モデルM1は、各クラスに対応するスコアを出力する。図2の例では、データIM10が入力されたモデルM1は、スコアSC11に示すように、猫(クラスCL1)のスコア「0.55」を出力し、犬(クラスCL2)のスコア「0.45」を出力する。これにより、推定部133は、モデルM1を用いて、画像IM10が猫(クラスCL1)に分類される割合(確率)が55%であり、犬(クラスCL2)に分類される割合(確率)が45%であると推定する。
【0122】
例えば、推定部133は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、スコアの算出を行う。具体的には、モデルM1は、分類対象となる対象情報(すなわち、上述したスコアの算出に用いられる各要素)が入力された場合に、所定の対象の推定を定量化した値(すなわち、一の対象情報が各クラスに分類される割合が発生する可能性が高いかを示唆するスコア)を出力するように係数が設定される。推定部133は、このようなモデルM1を用いて、各出品の対象に関するスコアを算出する。
【0123】
なお、上記例では、モデルM1が、分類対象となる対象情報が入力された場合に、対象情報の各クラスに分類される割合の推定を定量化した値を出力するモデルである例を示した。しかし、実施形態に係るモデル(モデルX)は、モデルM1にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルXは、分類対象となる対象情報を入力とし、モデルM1が出力するスコアを出力とするよう学習されたモデル(モデルY)であってもよい。または、モデルM1は、分類対象となる対象情報を入力とし、モデルYの出力値を出力とするよう学習されたモデルであってもよい。また、推定部133がGAN(Generative Adversarial Networks)を用いた推定処理を行う場合、モデルM1は、GANの一部を構成するモデルであってもよい。
【0124】
(提供部134)
提供部134は、各種情報を提供する。例えば、提供部134は、端末装置10に各種情報を提供する。提供部134は、推定部133により推定された一の対象情報が各クラスに分類される割合に基づくサービスを提供する。例えば、提供部134は、推定部133により推定された一の対象情報が各クラスに分類される割合に基づいて、一の対象情報がいずれのクラスであるかを示す情報を提供する。また、例えば、提供部134は、生成部132により生成されたモデルに関する情報を外部の情報処理装置へ提供してもよい。また、例えば、提供部134は、モデルが出力する情報を外部の情報処理装置へ提供してもよい。
【0125】
図1の例では、提供部134は、ワーカであるユーザU1が利用する端末装置10-1に対象情報を提供する。例えば、提供部134は、端末装置10-1~10-5に対象情報である画像IM101等を提供する。例えば、提供部134は、端末装置10-1~10-5に対象情報である画像群IML1等を提供する。
【0126】
例えば、提供部134は、推定結果に基づいて情報提供を行う。図2の例では、提供部134は、生成部132により生成された推定結果情報ER21を端末装置10へ提供する。
【0127】
〔4.生成処理のフロー〕
次に、図9を用いて、実施形態に係る生成システム1による生成処理の手順について説明する。図9は、実施形態に係る生成処理の一例を示すフローチャートである。
【0128】
図9に示すように、生成装置100は、学習データを取得する(ステップS101)。例えば、生成装置100は、学習データ記憶部121から学習データを取得する。
【0129】
その後、生成装置100は、学習データに基づきモデルを生成する(ステップS102)。図1の例では、生成装置100は、学習データ記憶部121から学習データを用いてモデルM1を生成する。
【0130】
〔5.推定処理のフロー〕
次に、図10を用いて、実施形態に係る生成システム1による推定処理の手順について説明する。図10は、実施形態に係る推定処理の一例を示すフローチャートである。
【0131】
図10に示すように、生成装置100は、対象情報を取得する(ステップS201)。図2の例では、生成装置100は、ユーザU101が利用する端末装置10から対象情報として画像IM10を取得する。
【0132】
また、生成装置100は、対象情報とモデルを用いて対象情報に対する各クラスに分類される割合を推定する(ステップS202)。図2の例では、生成装置100は、モデルM1を用いて、画像IM10が猫(クラスCL1)に分類される割合(確率)が55%であり、犬(クラスCL2)に分類される割合(確率)が45%であると推定する。
【0133】
また、生成装置100は、推定した対象情報に対する各クラスに分類される割合に関する情報を提供する(ステップS203)。図2の例では、生成装置100は、推定対象である画像IM10が猫に分類される割合が55%であり、犬に分類される割合が45%であるとの推定結果情報ER21をユーザU101が利用する端末装置10へ提供する。
【0134】
〔6.効果〕
上述してきたように、実施形態に係る生成装置100は、取得部131と、生成部132とを有する。取得部131は、分類対象となる対象情報と、複数のユーザの各々により対象情報の各クラスに分類された割合を示す割合情報とを取得する。また、生成部132は、取得部131により取得された対象情報と割合情報とに基づいて、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するモデルを生成する。
【0135】
このように、実施形態に係る生成装置100は、対象情報と、複数のユーザの各々により対象情報の各クラスに分類された割合を示す割合情報とに基づいて、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するモデルを生成することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0136】
また、実施形態に係る生成装置100において、取得部131は、クラウドソーシングにおいて複数のユーザの各々により対象情報の各クラスに分類された割合を示す割合情報を取得する。
【0137】
このように、実施形態に係る生成装置100は、クラウドソーシングにおいて複数のユーザの各々により対象情報の各クラスに分類された割合を示す割合情報を取得することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0138】
また、実施形態に係る生成装置100において、取得部131は、複数のユーザの数と、対象情報の各クラスを選択したユーザの数とに基づく割合情報を取得する。
【0139】
このように、実施形態に係る生成装置100は、複数のユーザの数と、対象情報の各クラスを選択したユーザの数とに基づく割合情報を取得することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0140】
また、実施形態に係る生成装置100において、取得部131は、画像情報を含む対象情報を取得する。
【0141】
このように、実施形態に係る生成装置100は、画像情報を含む対象情報を取得することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0142】
また、実施形態に係る生成装置100において、取得部131は、文字情報を含む対象情報を取得する。
【0143】
このように、実施形態に係る生成装置100は、文字情報を含む対象情報を取得することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0144】
また、実施形態に係る生成装置100において、生成部132は、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するニューラルネットワークであるモデルを生成する。
【0145】
このように、実施形態に係る生成装置100は、一の対象情報が入力された場合に、一の対象情報が各クラスに分類される割合を推定するニューラルネットワークであるモデルを生成することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0146】
また、実施形態に係る生成装置100において、生成部132は、畳み込み処理及びプーリング処理を行うニューラルネットワークであるモデルを生成する。
【0147】
このように、実施形態に係る生成装置100は、畳み込み処理及びプーリング処理を行うニューラルネットワークであるモデルを生成することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0148】
また、実施形態に係る生成装置100において、推定部133を有する。推定部133は、モデルを用いて、対象情報に対する各クラスに分類される割合を推定する。
【0149】
このように、実施形態に係る生成装置100は、モデルを用いて、対象情報に対する各クラスに分類される割合を推定することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0150】
また、実施形態に係る生成装置100において、取得部131は、新たな対象情報を取得する。推定部133は、新たな対象情報をモデルに入力することにより、新たな対象情報に対する各クラスに分類される割合を推定する。
【0151】
このように、実施形態に係る生成装置100は、新たな対象情報をモデルに入力することにより、新たな対象情報に対する各クラスに分類される割合を推定することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0152】
また、実施形態に係る生成装置100において、生成部132は、割合情報における各クラスに対応する割合間の差が所定の範囲内となる対象情報に基づいて、モデルを生成する。
【0153】
このように、実施形態に係る生成装置100は、割合情報における各クラスに対応する割合間の差が所定の範囲内となる対象情報に基づいて、モデルを生成することにより、対象情報の各クラスに分類される割合を適切に推定可能にすることができる。
【0154】
〔7.ハードウェア構成〕
上述してきた実施形態に係る生成装置100は、例えば図11に示すような構成のコンピュータ1000によって実現される。図11は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0155】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0156】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0157】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0158】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0159】
例えば、コンピュータ1000が実施形態に係る生成装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0160】
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0161】
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0162】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0163】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0164】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0165】
1 生成システム
100 生成装置
121 学習データ記憶部
122 モデル情報記憶部
123 ユーザ情報記憶部
124 推定情報記憶部
130 制御部
131 取得部
132 生成部
133 推定部
134 提供部
10 端末装置
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11