[1.推定システムの全体構成]
以下、本開示に係る学習装置と推定装置を含む推定システムの実施形態の例を説明する。図1は、推定システムの全体構成を示す図である。図1に示すように、推定システムSは、学習装置10、推定装置20、及び評価者装置30を含み、これらは、インターネット又はLANなどのネットワークNに接続される。なお、図1では、学習装置10、推定装置20、及び評価者装置30を1台ずつ示しているが、これらは複数台あってもよい。
学習装置10は、ユーザが操作するコンピュータである。例えば、学習装置10は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等である。例えば、学習装置10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。
制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。
通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。操作部14は、操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。表示部15は、例えば、液晶表示部又は有機EL表示部等である。表示部15は、制御部11の指示に従って画像を表示する。
推定装置20は、ユーザが操作するコンピュータである。学習装置10のユーザと推定装置20のユーザは、同じであってもよいし異なっていてもよい。例えば、推定装置20は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等である。
例えば、推定装置20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、通信部23、操作部24、及び表示部25の各々の物理的構成は、それぞれ制御部11、記憶部12、通信部13、操作部14、及び表示部15と同様であってよい。
評価者装置30は、評価者が操作するコンピュータである。評価者は、後述するコンテンツを評価する人間である。評価者は、コンテンツにアノテーションを付けるため、アノテータということもできる。例えば、評価者装置30は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等である。
例えば、評価者装置30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、通信部33、操作部34、及び表示部35の各々の物理的構成は、それぞれ制御部11、記憶部12、通信部13、操作部14、及び表示部15と同様であってよい。
なお、記憶部12,22,32に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、学習装置10、推定装置20、及び評価者装置30の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
[2.推定システムの概要]
推定システムSでは、学習装置10により推定モデルの学習が行われ、推定装置20により学習済みの推定モデルが利用される。推定モデルは、機械学習を利用したモデルである。機械学習自体は、種々の手法を利用可能であり、例えば、畳み込みニューラルネットワークであってもよいし、再帰型ニューラルネットワークであってもよい。本実施形態で推定モデルと記載した箇所は、機械学習のコンセプトを意味するのではなく、そのコンセプトにより生み出された電子的なデータを意味する。即ち、推定モデルは、プログラムとパラメータを含む。なお、推定モデルは、プログラム又はパラメータの何れかだけを意味してもよい。
推定モデルに含まれるプログラムには、コンピュータが実行すべき処理内容(命令又は計算式)が定義されており、例えば、畳み込みやプーリングなどの処理を行うためのコードを含む。パラメータは、学習によって調整される数値を含み、例えば、重み付け係数やバイアスなどの数値を含む。学習前の推定モデルであれば、初期値のパラメータを含み、学習済みの推定モデルであれば、学習によって調整されたパラメータを含む。
推定モデルは、入力データの推定を行う。推定とは、入力データに対して何らかの推定を行うことである。ここでの推定は、入力データの認識、分析、解析、理解、分類、又は識別を含む意味である。入力データは、推定モデルに入力されるデータである。別の言い方をすれば、入力データは、推定の対象になるデータである。推定モデルに入力される個々の入力データは、互いに同じ形式である。推定モデルから出力される個々の推定結果も、互いに同じ形式である。
推定モデルは、任意の目的で利用可能であり、例えば、コンテンツに対する印象、人間の行動パターン、又は自然界の現象の推定を行うことができる。コンテンツは、人間に提供されるデータであり、例えば、画像、動画、音声、楽曲、ウェブサイト、広告、クーポン、又はアプリケーションである。推定モデルは、入力データの分類で用いられる場合、分類学習器と呼ばれることもある。入力データは、推定モデルの目的に応じた形式であればよく、例えば、コンテンツ、人間の行動履歴を示すデータ、又は自然界で検出された物理量を示すデータである。
本実施形態では、推定モデルがコンテンツに対する印象を推定する場合を例に挙げる。印象の推定は、印象評価又は印象理解と呼ばれることもある。推定モデルには、評価者による、コンテンツに対する印象の評価結果が学習されている。例えば、推定システムSは、不特定多数の評価者に対し、少なくとも1つのコンテンツを提示する。評価者は、コンテンツに対して抱いた印象を評価し、その評価結果を入力する。推定モデルには、評価者により入力された評価結果が学習される。
図2は、評価者により評価結果が入力される様子を示す図である。図2に示すように、評価者装置30の表示部35には、コンテンツに対する印象の評価結果を入力するための評価画面Gが表示される。評価者は、複数の評価項目の各々について印象の評価結果を指定する。図2の例では、評価対象のコンテンツが車の画像であり、車の印象を示す「かっこいい」、「都会的」、「伝統的」、「高級」、「かわいい」、「上品」などの評価項目(印象語句)が用意されている。図2の例では、23個の評価項目のうちの6個目の評価項目である「上品」の評価結果が入力される場合を示している。
なお、本実施形態では、「YES」と「NO」の2択で評価結果が入力される場合を例に挙げるが、評価結果は、2択ではなく、3択以上で入力されてもよい。即ち、評価結果は、2値で表現されるのではなく、中間値が存在して3段階以上で表現されてもよい。例えば、「かっこいい」の評価項目に関し、「強くそう思う」、「そう思う」、「どちらでもない」、「あまり思わない」、「強く思わない」といった5択で評価結果が入力されてもよい。
また、全ての評価項目の選択肢の数が同じでなくてもよく、評価項目に応じた数の選択肢が存在してもよい。例えば、「かっこいい」の評価項目は5択で選択させ、「都会的」の評価項目は2択で選択させてもよい。また例えば、評価結果は、選択肢ではなく、数値又は文字で入力されてもよい。例えば、「かっこいい」の評価項目に対し、かっこいい度合いを示す数値又は文字を評価者に入力させてもよい。
評価者は、評価画面Gに表示されたコンテンツと評価項目を見て、ボタンB1又はB2の何れかを選択する。図2の例であれば、評価者は、コンテンツである車の画像を上品だと思えばボタンB2を選択し、そう思わなければボタンB1を選択する。評価者がボタンB3を選択すると、次の評価項目の評価が行われる。評価者が最後の評価項目(図2の例では、23個目の評価項目)まで評価を行うと、評価者が入力した評価結果が、学習装置10又は他のコンピュータに送信される。
学習装置10は、不特定多数の評価者による評価結果を収集し、推定モデルの訓練データを生成する。訓練データの詳細は後述するが、本実施形態では、評価者の年齢や性別などの属性に関する属性データも訓練データに含まれおり、コンテンツを提示する予定の人間の属性に応じた推定結果を得られるようになっている。学習装置10は、訓練データに基づいて、推定モデルの学習を行う。
学習後の推定モデルは、コンテンツと属性データを入力すると、そのコンテンツに対し、その属性データが示す属性の人間が抱く印象の推定結果を出力する。本実施形態では、推定結果は、23個の評価項目の各々について「YES」を示す「1」又は「NO」を示す「0」の数値を含む23次元のベクトルで表現される場合を例に挙げる。
上記のような評価項目には、共起性が存在することがある。共起性は、評価結果の一致のしやすさ又は類似のしやすさである。ここでの一致とは、評価結果の数値が同じになることである。例えば、「かっこいい」という評価項目の数値と、「都会的」という評価項目の数値と、が同じことは、これらの評価項目の評価結果が一致することを意味する。また、ここでの類似とは、評価結果の数値の差が閾値未満になることである。例えば、評価項目の数値が0~1の数値で示される場合に、「かっこいい」という評価項目の数値と、「都会的」という評価項目の数値と、の差が閾値(例えば、0.3)未満であることは、これらの評価項目の評価結果が類似することを意味する。共起性は、評価項目の関連性又は類似性ということもできる。共起性は、強さで示されてもよいし、ある/なしの2値で示されてもよい。
なお、共起性は、自然言語処理分野において、ある文字列と他の文字列とが任意の文書内に同時に出現するといった意味で用いられることがある。本実施形態では、推定モデルを自然言語処理で用いるのではなく、コンテンツの印象推定で用いるので、自然言語処理分野の共起性の定義における文書と文字列は、それぞれ評価者が抱いた印象全体と各評価項目が示す印象語句に相当する。このため、本実施形態の共起性は、コンテンツを見た人間(例えば、評価者)がそのコンテンツに抱いた印象全体の中に、ある評価項目の印象と、他の評価項目の印象と、が同時に出現することを意味する。
例えば、一の評価項目の評価結果と、他の評価項目の評価結果と、が同じ又は類似するコンテンツ又は評価者の数が閾値(例えば、7割又は70%)以上の場合には、これらの評価項目には、共起性が存在する。この数が閾値未満の場合には、これらの評価項目には共起性が存在しない。別の言い方をすれば、この数が大きいほど、これらの評価項目の共起性が強くなり、この数の数値が小さいほど、これらの評価項目の共起性が弱くなる。なお、ここでは、コンテンツ又は評価者の数を例に挙げたが、上記説明における数は、割合又は確率と読み替えてもよい。
図2の例であれば、評価者が車のコンテンツを見たときに、「かっこいい」と「都会的」の2つの印象を抱きやすいのであれば、「かっこいい」と「都会的」の2つの評価項目は、共起性が強い。一方、評価者が車のコンテンツを見たときに、「都会的」と「伝統的」の2つの印象を抱きにくいのであれば、「都会的」と「伝統的」の2つの評価項目は、共起性が弱い。
例えば、推定モデルの出力が、訓練データに含まれる正解データと違っていたとしても、共起性が強い「かっこいい」又は「都会的」の何れかの数値だけが正解データと異なるのであれば、互いに似た評価項目のうちの片方は適切に評価できているので、推定モデルの精度は、さほど低くない可能性がある。一方、共起性が弱い「都会的」と「伝統的」の数値が同じであれば、同じにならないはずの評価項目が同じ数値になっているので、推定モデルの精度が低い可能性がある。
以上のように、推定モデルの出力が正解データと違っていたとしても、その評価項目間の共起性によっては、その違いが大きいこともあれば小さいこともある。この点、機械学習では、損失を計算することで推定モデルの精度が評価される。機械学習では、損失が小さくなるように推定モデルを学習(パラメータを調整)することで、推定モデルの精度を向上させる。このため、共起性を考慮して損失を計算することで、推定モデルの精度をより適切に評価可能である。その結果として、学習済みの推定モデルの精度をより高めることができる。
例えば、推定モデルの出力が正解データと違う評価項目の個数だけを考慮して損失を計算しても、推定モデルの精度を適切に評価できない可能性がある。そこで、本実施形態の推定システムSは、評価項目間の共起性を考慮して推定データの学習を行うことによって、推定システムSの精度を適切に評価し、推定データの精度を向上させるようにしている。
図3は、推定システムSにおいて実行される処理の概要を示す図である。ここでは各処理の概要のみを説明し、個々の処理の詳細は後述する。また、図3の長方形は処理を示し、平行四辺形はデータを示す。図3に示すように、学習装置10は、入力データD1に含まれるコンテンツCと属性データAを推定モデルMに入力する。入力データD1に対応する正解データD2は、推定モデルMの出力である推定データD3を比較される。
推定モデルMは、コンテンツCと属性データAの特徴量を計算し、特徴量に応じた推定結果を示す推定データD3を出力する。先述したように、本実施形態では、推定データD3は、23個の評価項目の各々の推定結果を示す「1」又は「0」の数値からなる23次元のベクトルとなる。学習装置10は、推定データD3と、訓練データに含まれる正解データD2と、に基づいて、これらの違いの大きさを示す予測損失E1を計算する。
学習装置10は、推定データD3に示された評価項目間の共起性を示す推定共起性データD4と、正解データD2に示された評価項目間の共起性を示す正解共起性データD5と、を取得する。学習装置10は、推定共起性データD4と、正解共起性データD5と、に基づいて、これらの違いの大きさを示す共起損失E2を計算する。
学習装置10は、予測損失E1と共起損失E2を合計して合計損失E3を計算する。なお、予測損失E1、共起損失E2、及び合計損失E3は、コンテンツCと属性データAのペアである入力データD1が入力されて推定データD3が出力されるたびに計算されてもよいし、ある程度の数のペアに対応する推定データD3が蓄積されてから計算されてもよい。学習装置10は、合計損失E3が小さくなるように、推定モデルMの学習を行う。なお、予測損失E1、共起損失E2、及び合計損失E3は、訓練データの処理単位であるバッチ(所定数の訓練データの集まり)ごとに計算されてもよい。
以上のように、本実施形態の推定システムSは、推定データD3と正解データD2の違いを示す予測損失E1だけでなく、推定共起性データD4と正解共起性データD5の違いを示す共起損失E2も考慮する。これにより、推定システムSは、学習途中の推定モデルMの精度を適切に評価し、学習の結果得られる推定モデルMの精度が向上する。以降、推定システムSの詳細について説明する。
[3.推定システムで実現される機能]
図4は、推定システムSで実現される機能の一例を示す機能ブロック図である。ここでは、学習装置10で実現される機能と、推定装置20で実現される機能と、について説明する。
[3-1.学習装置で実現される機能]
学習装置10では、データ記憶部100、生成部101、訓練データ取得部102、共起性データ取得部103、及び学習部104が実現される。データ記憶部100は、記憶部12を主として実現され、生成部101、訓練データ取得部102、共起性データ取得部103、及び学習部104の各々は、制御部11を主として実現される。
[データ記憶部]
データ記憶部100は、推定モデルMの学習に必要なデータを記憶する。本実施形態では、このデータの一例として、訓練データセットDSを説明する。訓練データセットDSは、複数の訓練データの集まりである。訓練データセットDSは、複数の訓練データを格納したデータベースということもできる。例えば、訓練データセットDSは、学習装置10のユーザによって用意される。
訓練データは、推定モデルMに学習させる個々のデータ単位である。訓練データは、教師データ又は学習データと呼ばれることもある。例えば、訓練データには、入力データD1と正解データD2とが対応付けられている。即ち、訓練データは、入力データD1と正解データD2のペアである。1つ1つのペアが訓練データであり、その集まりが訓練データセットDSである。訓練データに含まれる入力データD1は、学習済みの推定モデルMに入力される入力データD1と同じ形式(本実施形態では、コンテンツCと属性データAのペア)である。
正解データD2は、正解となる出力を示すデータである。正解となる出力とは、入力データD1が入力された場合に推定モデルMが出力すべき内容(推定モデルMに出力してほしい内容)である。例えば、正解データD2は、真値又は真値ベクトルを示すデータということもできる。正解データD2は、正解情報と呼ばれることもある。本実施形態では、訓練データに含まれる正解データD2は、学習済みの推定モデルMから出力される推定結果と同じ形式(本実施形態では、23次元のベクトル)であるが、その一部だけが正解データD2に示されていてもよい。
正解データD2は、複数の項目を含む。項目は、推定結果に関する項目である。正解データD2は、複数の項目の各々の推定結果を含む。本実施形態では、個々の推定結果が「1」又は「0」の2値で表現される場合を説明するが、個々の推定結果は、3段階以上の数値で表現されてもよい。個々の推定結果は、文字などの数値以外の情報で表現されてもよい。本実施形態では、正解データD2がベクトル形式で表現される場合を説明するが、正解データD2は、任意の形式で表現可能である。例えば、正解データD2は、配列形式又は単一の数値で表現されてもよい。
本実施形態では、入力データD1は、評価者により印象が評価されるコンテンツCを含むので、複数の項目の各々は、印象の評価項目である。このため、本実施形態で評価項目と記載した箇所は、単に項目と読み替えることができる。正解データD2に含まれる項目は、評価項目に限られず、推定モデルMの目的に応じた項目であればよい。例えば、推定モデルMが入力データD1の分類で利用される場合には、個々の分類を示すラベルが項目に相当してもよい。本実施形態のようにコンテンツCの印象を推定する場合には、コンテンツCが各評価項目の印象に属するか否かが推定結果として出力されるので、評価項目もラベルの一種ということもできる。
図5は、訓練データセットDSのデータ格納例を示す図である。図5に示すように、訓練データセットDSには、訓練データが多数格納されている。本実施形態では、推定モデルMにコンテンツCと属性データAが入力されるので、入力データD1は、コンテンツCと属性データAのペアを含む。なお、推定モデルMは、属性に応じた推定をしなくてもよく、この場合には、属性データAは省略してもよい。
入力データD1に含まれるコンテンツCは、評価者による評価済みのコンテンツCである。コンテンツCは、評価対象データの一例である。このため、本実施形態でコンテンツCと記載した箇所は、評価対象データと読み替えることができる。入力データD1に含まれる属性データAは、ペアとなるコンテンツCを評価した評価者の属性である。属性は、人間の性質、特徴、分類、又はカテゴリということもできる。属性は、任意の内容を示してよく、例えば、年齢、性別、誕生日、居住地、家族構成、趣味、居住地、国籍、学歴、収入、又は職種である。
正解データD2は、評価者により入力された、複数の評価項目の各々の評価結果を示す。本実施形態では、23個の評価項目が用意されているので、正解データD2には、23個の評価項目の各々の評価結果が示されている。本実施形態では、「YES」と「NO」の2択で評価結果が入力されるので、「YES」を示す数値の一例である「1」、又は、「NO」を示す数値である「0」の何れかの数値で評価結果が示される。評価結果が3択以上で入力される場合には、評価結果は、「1」と「0」の2値ではなく、中間値も取りうる。なお、評価結果は、文字のように、数値以外の情報で示されてもよい。
図5では、図面上の見やすさのためにテーブル形式で示しているが、正解データD2は、推定モデルMの出力と同様の形式で表現されるので、実際には、ベクトル形式で表現される。正解データD2は、評価項目の数に応じた次元数であればよく、本実施形態では23個の評価項目が存在するので、正解データD2が23次元のベクトルで表現される。なお、正解データD2は、任意の形式で表現可能であり、ベクトル形式に限られない。例えば、正解データD2は、配列形式で表現されてもよいし、単一の数値で表現されてもよい。
また例えば、データ記憶部100は、学習前の推定モデルMを記憶する。本実施形態では、学習済みの推定モデルMは、推定装置20のデータ記憶部200に記憶される場合を説明するが、学習装置10のデータ記憶部100は、学習済みの推定モデルMを記憶してもよい。他にも例えば、データ記憶部100は、学習の処理に必要なプログラムや後述する数式を記憶してもよい。この数式は、プログラムの一部として記述されていてもよい。
[生成部]
生成部101は、複数の訓練データを生成し、訓練データセットDSをデータ記憶部100に記録する。例えば、訓練データに含まれる入力データD1と正解データD2のペアは、評価者の操作に基づいて生成される。生成部101は、評価者に提示されたコンテンツC及び評価者の属性データAと、評価者により入力された評価結果を示す正解データD2と、のペアを、訓練データとして生成する。生成部101は、不特定多数の評価者に対応する複数の訓練データを取得し、訓練データセットDSとして生成する。
なお、評価者の評価対象となるコンテンツCは、データ記憶部100に予め記憶されていてもよいし、学習装置10以外の他のコンピュータ又は情報記憶媒体に記憶されていてもよい。また、属性データAは、コンテンツCの評価時に評価者に入力させてもよいし、属性データAが格納されたデータベースから取得されてもよい。このデータベースは、評価者の氏名などの基本情報が登録されたデータベースである。このデータベースは、データ記憶部100に記憶されていてもよいし、学習装置10以外の他のコンピュータ又は情報記憶媒体に記憶されていてもよい。
また、全ての入力データD1に対応する正解データD2が評価者によって手動で入力されてもよいが、一部の入力データD1に対応する正解データD2だけが評価者によって入力されてもよい。この場合、生成部101は、複数の入力データD1の各々の特徴量をもとにクラスタリングを行い、評価者が正解データD2を入力した入力データD1と同じクラスタに属する他の入力データD1については、この正解データD2を付与してもよい。このように、評価者に一部の正解データD2だけを入力させ、生成部101は、半自動的に複数の訓練データを生成してもよい。
また、ユーザに正解データD2を手動で入力させずに、生成部101は、予め定められた付与方法に基づいて、各入力データD1に対して正解データD2を付与してもよい。この場合、付与方法には、入力データD1の特徴量と、対応する正解データD2と、の関係が定義されているものとする。生成部101は、所定の計算式に基づいて入力データD1の特徴量を計算し、対応する正解データD2を付与することによって、訓練データを生成する。このように、評価者に正解データD2を入力させることなく、生成部101は、全自動的に複数の訓練データを生成してもよい。
[訓練データ取得部]
訓練データ取得部102は、入力データD1と、複数の評価項目を含む正解データD2と、が対応付けられた訓練データを取得する。本実施形態では、複数の訓練データを含む訓練データセットDSがデータ記憶部100に記憶されているので、訓練データ取得部102は、データ記憶部100から訓練データセットDSを取得する。訓練データ取得部102は、複数の訓練データを同時に取得する必要はなく、これらを別々に取得してもよい。なお、訓練データセットDSは、学習装置10以外の他のコンピュータ又は外部の情報記憶媒体に記憶されており、訓練データ取得部102は、他のコンピュータ又は外部の情報記憶媒体から訓練データセットDSを取得してもよい。また、訓練データ取得部102は、訓練データを1つだけ取得してもよい。
[共起性データ取得部]
共起性データ取得部103は、評価項目間の共起性に関する共起性データを取得する。評価項目間の共起性とは、複数の評価項目の各々の共起性である。本実施形態では、2つの評価項目のペアごとに共起性が示される場合を説明するが、3つ以上の評価項目の共起性ごとに共起性が示されてもよい。即ち、本実施形態のように2つの評価項目に対して1つの共起性が示されるのではなく、3つ以上の評価項目の集まりに対して1つの共起性が示されてもよい。
共起性データは、評価項目間の共起性の強さを示す情報を含む。本実施形態では、この情報が数値で表現される場合を説明するが、文字などの他の情報で表現されてもよい。なお、共起性の強さでなく、共起性のある/なしが2値で表現されてもよい。共起性データは、共起損失E2を取得するために利用される。
図6は、共起性データと共起損失E2の取得方法の具体例を示す図である。本実施形態では、共起性データが、正解データD2における評価項目間の出現確率を示す場合を例に挙げて説明する。図6に示すp(x,y)は、推定データD3から計算される確率分布であり、q(x,y)は、正解データD2から計算される確率分布である。別の言い方をすれば、p(x,y)は、学習時に算出される確率分布(現状の推定モデルMの出力から算出される確率分布)であり、q(x,y)は、事前に分かっている確率分布(正解となる確率分布)である。
xは、一の評価項目であり、yは、他の評価項目である。図6の例では、xが「かっこいい」であり、yが「都会的」であるものとするが、他の任意の評価項目であってよい。共起性データ取得部103は、複数の入力データD1にそれぞれ対応する複数の推定データD3に基づいて、確率分布p(x,y)の投票を行う。この投票は、複数の推定データD3の各々の「かっこいい」の数値と「都会的」の数値とに基づいて行われる。本実施形態では、評価項目xと評価項目yの各々が「1」又は「0」の2値で示されるので、p(1,1)、p(1,0)、p(0,1)、p(0、0)の各々に対する投票が行われる。
例えば、共起性データ取得部103は、ある推定データD3の「かっこいい」が「1」であり、かつ、「都会的」が「1」だった場合には、p(1,1)に1票投票する。また例えば、共起性データ取得部103は、ある推定データD3の「かっこいい」が「1」であり、かつ、「都会的」が「0」だった場合には、p(1,0)に1票投票する。また例えば、共起性データ取得部103は、ある推定データD3の「かっこいい」が「0」であり、かつ、「都会的」が「1」だった場合には、p(0,1)に1票投票する。また例えば、共起性データ取得部103は、ある推定データD3の「かっこいい」が「0」であり、かつ、「都会的」が「0」だった場合には、p(0,0)に1票投票する。
共起性データ取得部103は、23個の評価項目の全ての組み合わせに対し、「かっこいい」と「都会的」と同様の投票を行う。即ち、評価項目をn個(nは自然数であり、本実施形態では23)とすると、共起性データ取得部103は、nC2個の組み合わせについて、推定データD3に基づく投票を行う。評価項目x,yの組み合わせのp(0,0)とp(1,1)の投票数が多いことは、評価項目x,yの共起性が強いことを意味する。評価項目x,yの組み合わせのp(1,0)とp(0,1)の投票数が多いことは、評価項目x,yの共起性が弱いことを意味する。なお、共起性データ取得部103は、「かっこいい」の数値と「都会的」の数値が一致又は類似していた場合にのみ、確率分布p(x,y)に投票してもよい。
共起性データ取得部103は、確率分布p(x,y)と同様にして、正解データD2に基づいて、確率分布q(x,y)の投票を行う。確率分布p(x,y),q(x,y)は、共起損失E2の計算で用いられる。共起損失E2の計算方法は、学習部104の処理で説明する。
上記のように、共起性データ取得部103は、入力データD1に対応する推定モデルMの出力に基づく評価項目間の共起性に関する推定共起性データD4と、正解データD2に基づく評価項目間の共起性に関する正解共起性データD5と、を取得する。推定共起性データD4は、現状の推定モデルMに対応する共起性を示し、正解共起性データD5は、正解データD2に対応する共起性を示す。本実施形態では、nC2個のp(x,y)は、推定共起性データD4の一例であり、nC2個のq(x,y)は、正解共起性データD5の一例である。
なお、推定共起性データD4と正解共起性データD5は、確率分布に限られず、任意の形式で表現可能である。例えば、推定共起性データD4と正解共起性データD5は、nC2次元のベクトル形式で表現されてもよい。この場合、推定共起性データD4と正解共起性データD5は、1個目の要素が「かっこいい」と「都会的」の共起性を示す数値(例えば、p(1,1)の投票数)になり、2個目の要素が「かっこいい」と「伝統的」の共起性を示す数値になるといったように、nC2個の組み合わせの共起性を各要素で表現すればよい。他にも例えば、推定共起性データD4と正解共起性データD5は、配列形式又は単一の数値といった他の形式で表現されてもよい。
本実施形態では、共起性データは、評価項目の組み合わせごとの共起性を示す。即ち、共起性データは、複数の組み合わせの各々の共起性を示す。本実施形態では、nC2個の全ての組み合わせについて共起性が計算されるので、共起性データは、これら全ての組み合わせの共起性を示す。
また、本実施形態では、共起性データ取得部103は、正解データD2に基づいて、正解共起性データD5を取得する。例えば、共起性データ取得部103は、複数の正解データD2の各々に示された評価項目の数値を集計し、正解共起性データD5を取得する。共起性データ取得部103は、学習で用いられる全ての正解データD2に基づいて正解共起性データD5を取得してもよいし、その一部だけに基づいて正解共起性データD5を取得してもよい。
なお、正解共起性データD5は、正解となる共起性を示せばよく、訓練データに含まれる正解データD2から取得されなくてもよい。例えば、学習装置10のユーザが共起性を入力し、共起性データ取得部103は、その入力結果に基づいて、正解共起性データD5を取得してもよい。この場合、ユーザが手動で正解共起性データD5を作成することになる。他にも例えば、正解共起性データD5は、訓練データとは異なるデータに含まれる評価項目の数値が集計されることによって取得されてもよい。また、共起性データ取得部103は、訓練データの処理単位であるバッチ(所定数の訓練データの集まり)ごとに、推定共起性データD4と、正解共起性データD5と、を取得してもよいし、複数のバッチの結果から推定共起性データD4と、正解共起性データD5と、を取得してもよい。
[学習部]
学習部104は、訓練データと、共起性データと、に基づいて、推定モデルMの学習を行う。学習部104は、訓練データに含まれる入力データD1を推定モデルMに入力した場合に、訓練データに含まれる正解データD2又はそれに近い数値が推定モデルMの出力として得られ、かつ、共起性データが示す共起性又はそれに近い共起性が推定モデルMの出力から示されるように、推定モデルMの学習を行う。
本実施形態では、推定共起性データD4と正解共起性データD5の2つの共起性データが取得されるので、学習部104は、訓練データ、推定共起性データD4、及び正解共起性データD5に基づいて、推定モデルMの学習を行う。学習部104は、訓練データに含まれる入力データD1を推定モデルMに入力した場合に、訓練データに含まれる正解データD2又はそれに近い数値が推定モデルMの出力として得られ、かつ、正解共起性データD5が示す共起性又はそれに近い共起性を推定共起性データD4が示すように、推定モデルMの学習を行う。
例えば、学習部104は、入力データD1に対応する推定モデルMの出力と、正解データD2と、に基づいて、予測損失E1を計算する。予測損失E1は、第1の損失の一例であり、他の名称で呼ばれてもよい。損失は、損失の数値を計算する関数それ自体を指して損失関数と呼ばれることもある。損失の計算方法自体は、損失の計算方法自体は、2乗和誤差又はクロスエントロピーといった公知の計算方法を利用可能である。これらの点は、予測損失E1以外の損失(例えば、共起損失E2と合計損失E3)についても同様である。ただし、損失の計算に共起性が考慮されるという点は、公知の技術とは大きく異なる点である。
予測損失E1は、推定モデルMの出力である推定データD3と、正解データD2と、の違い(差異)を示す数値である。例えば、推定データD3と正解データD2の違いが大きいほど予測損失E1が大きくなり、これらの違いが小さいほど予測損失E1は小さくなる。予測損失E1は、所定の計算式で計算されるようにすればよく、例えば、学習部104は、推定データD3が示す23次元のベクトルと、正解データD2が示す23次元のベクトルと、の距離を予測損失E1として計算してもよいし、評価項目ごとに重み付け係数を設けておき、重み付け係数を考慮して予測損失E1を計算してもよい。
学習部104は、推定共起性データD4と、正解共起性データD5と、に基づいて、共起損失E2を計算する。共起損失E2は、第2の損失の一例であり、他の名称で呼ばれてもよい。共起損失E2は、推定データD3から得られる推定共起性データD4と、その正解となりうる正解共起性データD5と、の違い(差異)を示す数値である。例えば、推定共起性データD4と正解共起性データD5の違いが大きいほど共起損失E2が大きくなり、これらの違いが小さいほど共起損失E2は小さくなる。共起損失E2は、所定の計算式で計算されるようにすればよく、例えば、学習部104は、推定共起性データD4が示すnC2個の確率分布と、正解共起性データD5が示すnC2個の確率分布と、を所定の計算式に代入し、共起損失E2を計算する。
本実施形態では、学習部104は、図6に示す計算式から得られる数値KL(p||q)を、n個全ての評価項目の組み合わせであるnC2個の組み合わせで計算する。数値KLは、2つの確率分布がどの程度似ているかを示す指標であり、KLダイバージェンスと呼ばれる。なお、クロスエントロピーなどを利用して他の指標が計算されてもよい。学習部104は、その平均値を共起損失E2として計算する。例えば、学習部104は、評価項目の組み合わせごとに重み付け係数を設けておき、重み付け係数を考慮して共起損失E2を計算してもよい。共起損失E2は、確率分布の平均値ではなく、任意の形式であってよい。学習部104は、数値KL(p||q)の平均値ではなく、nC2個の確率分布そのものを共起損失E2として取得してもよい。
学習部104は、予測損失E1と、共起損失E2と、に基づいて、推定モデルMの学習を行う。学習部104は、予測損失E1と共起損失E2の各々が小さくなるように、推定モデルMの学習を行う。例えば、学習部104は、予測損失E1と、共起損失E2と、に基づいて、合計損失E3を計算する。合計損失E3は、予測損失E1と共起損失E2の単純な合計値であってもよいし、所定の重み付け係数が考慮されて計算されてもよい。学習部104は、合計損失E3に基づいて、推定モデルMの学習を行う。学習部104は、合計損失E3が小さくなるように、推定モデルMの学習を行う。
学習部104は、合計損失E3が十分小さくなるまで(例えば、合計損失E3が閾値未満になる)まで、推定モデルMの学習を繰り返す。学習部104は、合計損失E3が十分小さくなるまで同じ訓練データセットDSで学習を繰り返してもよいし、新たな訓練データセットDSを取得して学習をしてもよい。学習途中で合計損失E3が十分小さくなった場合には、その時点で学習が終了してもよい。学習部104は、合計損失E3が十分小さくならなくても、所定回数の学習を繰り返した場合には学習が終了してもよい。なお、学習方法(パラメータの調整方法)自体は、公知の手法を利用可能であり、例えば、Adam又はRMSPropと呼ばれる手法などが利用されてもよい。
[3-2.推定装置で実現される機能]
推定装置20では、データ記憶部200、入力部201、取得部202、及び処理実行部203が実現される。データ記憶部200は、記憶部22を主として実現され、入力部201、取得部202、及び処理実行部203の各々は、制御部21を主として実現される。
[データ記憶部]
データ記憶部200は、入力データD1と複数の評価項目を含む正解データD2とが対応付けられた訓練データと、評価項目間の共起性に関する共起性データと、に基づく学習が行われた学習済みの推定モデルMを記憶する。学習済みの推定モデルMは、入力データD1と複数の評価項目を含む正解データD2とが対応付けられた訓練データと、評価項目間の共起性に関する共起性データと、に基づく学習が行われた学習済みのパラメータに基づいて、推定対象の入力データD1に対応する推定結果を出力する。
本実施形態では、正解データD2は、入力データD1を評価する評価者の評価結果を示し、入力データD1は、推定モデルMの推定対象となるコンテンツCと、評価者の属性に関する属性データAと、を含むので、学習済みの推定モデルMには、コンテンツCと属性データAが入力され、属性データAに応じた推定結果が推定モデルMから出力される。推定装置20は、学習装置10から学習済みの推定モデルMを取得し、データ記憶部200に記録する。例えば、データ記憶部200は、学習済みの推定モデルMによる推定対象になる入力データD1を記憶する。
[入力部]
入力部201は、推定モデルMに、推定対象の入力データD1を入力する。この入力データD1は、推定モデルMの学習で利用される入力データD1ではなく、学習済みの推定モデルMの推定対象となるデータである。推定対象となる入力データD1は、訓練データに含まれる入力データD1と同じ形式である。本実施形態では、コンテンツCと属性データAのペアが入力データD1に含まれているので、入力部201は、推定対象のコンテンツCと、そのコンテンツCを評価すると仮定した評価者の属性に関する属性データAと、を入力データD1として取得する。
本実施形態では、入力データD1がデータ記憶部200に記憶されている場合を説明するが、入力データD1は、操作部24から入力されてもよいし、推定装置20以外の他のコンピュータ又は外部の情報記憶媒体から取得されてもよい。例えば、コンテンツCはデータ記憶部200に記憶されたものが取得され、属性データAは操作部24からの入力によって取得されてもよい。この場合、推定装置20のユーザは、表示部25にコンテンツCを表示させ、推定モデルMに入力する属性データAの属性(コンテンツを提供する予定の属性)を操作部24から指定する。入力部201は、表示されたコンテンツCと、指定された属性データAと、のペアを入力データD1として取得すればよい。
[取得部]
取得部202は、推定対象の入力データD1に対応する推定モデルMの出力を取得する。推定モデルMは、入力データD1の特徴量を計算し、当該特徴量に応じた推定結果を出力する。これらの計算は、学習済みのパラメータが用いられる。即ち、入力データD1の特徴量から推定結果を導き出す計算には、学習済みのパラメータが用いられる。特徴量は、任意の次元数で表現される。推定モデルMによる特徴量の計算方法自体は、公知の方法を利用可能であり、例えば、重み付け係数が設定されたフィルタによる畳み込みやプーリングなどが行われる。
[処理実行部]
処理実行部203は、取得部202により取得された推定モデルMの出力に基づいて、所定の処理を実行する。所定の処理は、推定モデルMの目的に応じた処理であればよく、本実施形態では、推定モデルMがマーケティングで利用される場合を例に挙げているので、マーケティング業務を支援する処理が所定の処理に相当する。
例えば、処理実行部203は、推定モデルMに入力されたコンテンツCに対し、推定モデルMに入力された属性データAが示す属性の人間が抱く印象の推定結果を表示部25に表示させる。推定装置20のユーザは、表示部25に表示された印象の推定結果を見て、コンテンツCを編集したり、他のコンテンツCの利用を検討したりする。他にも例えば、処理実行部203は、印象的な評価項目を表示部25に表示させたり、印象的な評価項目のランキングを表示部25に表示させたりしてもよい。推定モデルMが他の目的で利用される場合には、処理実行部203は、その目的に応じた処理を実行すればよい。
[4.システムで実行される処理]
本実施形態では、推定システムSで実行される処理として、学習装置10が実行する処理と、推定装置20が実行する処理と、について説明する。
[4-1.学習装置が実行する処理]
図7は、学習装置10が実行する処理の一例を示すフロー図である。図7に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図4に示す機能ブロックにより実行される処理の一例である。なお、訓練データセットDSと学習前の推定モデルMは、予め記憶部12に記憶されているものとする。
図7に示すように、学習装置10は、訓練データセットDSに格納された複数の訓練データの各々を取得する(S100)。学習装置10は、S100で取得した複数の訓練データの各々に含まれる入力データD1(コンテンツCと属性データAのペア)を推定モデルMに入力し、各入力データD1に対応する推定モデルMの出力である推定データD3を取得する(S101)。S101においては、学習装置10は、推定モデルMに入力した入力データD1ごとに、推定モデルMにより出力された推定データD3を取得する。
学習装置10は、複数の入力データD1の各々に対応する推定モデルMの出力と、S100で取得した複数の訓練データの各々に対応する正解データD2と、に基づいて、予測損失E1を計算する(S102)。S102においては、学習装置10は、訓練データごとに、当該訓練データに含まれる入力データD1に対応する推定モデルMの出力と、当該訓練データに含まれる正解データD2と、を所定の計算式に代入し、予測損失E1を計算する。
学習装置10は、複数の入力データD1の各々に対応する推定モデルMの出力に基づいて、推定共起性データD4を取得する(S103)。S103においては、学習装置10は、評価項目のペアごとに、推定モデルMの出力に含まれる当該ペアの数値に基づく投票を行って予測確率分布を作成する。学習装置10は、複数のペアの各々の予測確率分布を含む推定共起性データD4を取得する。
学習装置10は、複数の正解データD2の各々に基づいて、正解共起性データD5を取得する(S104)。S104においては、学習装置10は、評価項目のペアごとに、正解データD2に含まれる当該ペアの数値に基づく投票を行って予測確率分布を作成する。学習装置10は、複数のペアの各々の予測確率分布を含む正解共起性データD5を取得する。
学習装置10は、推定共起性データD4と、正解共起性データD5と、に基づいて、共起損失E2を計算する(S105)。S105においては、学習装置10は、推定共起性データD4に含まれる各ペアの予測確率分布と、正解共起性データD5に含まれる各ペアの予測確率分布と、を所定の計算式に代入し、共起損失E2を計算する。
学習装置10は、S102で計算した予測損失E1と、S105で計算した共起損失E2と、に基づいて、合計損失E3を計算する(S106)。S106においては、学習装置10は、予測損失E1と共起損失E2を所定の計算式に代入し、合計損失E3を計算する。学習装置10は、合計損失E3に基づいて、推定モデルMの学習を行う(S107)。S107においては、学習装置10は、合計損失E3が小さくなるように、推定モデルMのパラメータを調整する。
学習装置10は、推定モデルMの学習を終了するか否かを判定する(S108)。推定モデルMの学習は、任意のタイミングで終了可能であり、先述したように、合計損失E3が十分に小さくなった場合に終了してもよいし、他のタイミングで終了してもよい。学習を終了すると判定されない場合(S108;N)、S100の処理に戻る。この場合、推定モデルMの学習が継続される。なお、同じ訓練データを使って学習を繰り返す場合には、正解共起性データD5の内容は変わらないので、S104の処理は省略可能である。
S108において、学習を終了すると判定された場合(S108;Y)、学習装置10は、推定装置20に対し、学習済みの推定モデルMを送信し(S109)、本処理は終了する。S109で送信された学習済みの推定モデルMは、推定装置20に記録される。
[4-2.推定装置が実行する処理]
図8は、推定装置20が実行する処理の一例を示すフロー図である。図8に示す処理は、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図4に示す機能ブロックにより実行される処理の一例である。学習済みの推定モデルMは、記憶部22に記憶されているものとする。
図8に示すように、推定装置20は、推定対象のコンテンツCを取得する(S200)。推定対象のコンテンツCは、記憶部22に記憶されているものとするが、他のコンピュータ又は外部の情報記憶媒体に記憶されていてもよい。推定装置20は、コンテンツCが提示される予定者の属性データAを取得する(S201)。評価者の属性データAは、操作部24から入力されるものとするが、記憶部22、他のコンピュータ、又は外部の情報記憶媒体に記憶されていてもよい。
推定装置20は、S200で取得したコンテンツCとS201で取得した属性データAを含む入力データD1を推定モデルMに入力し、推定モデルMの出力を取得する(S202)。S202においては、推定モデルMは、入力データD1の特徴量を計算し、特徴量に応じた推定結果を出力する。推定装置20は、推定対象のコンテンツCと、S202で取得された推定モデルMの出力と、を表示部25に表示させ(S203)、本処理は終了する。
本実施形態の推定システムSによれば、訓練データの内容だけでなく、評価項目間の共起性を考慮して推定モデルMの学習を行うことによって、学習途中の推定モデルMの精度を適切に評価し、学習結果として得られる推定モデルMの精度を向上させることができる。評価項目間の共起性を考慮して得られた推定モデルMは、共起性が弱い評価項目については、同じ又は類似する評価結果を出力しないようになるので、推定モデルMから出力される評価結果の共起性は、評価者による評価結果の共起性に近づき、より自然な出力を得ることができる。また、推定モデルMの精度を適切に評価することにより、推定モデルMの学習を繰り返す回数を低減させ、学習済みの推定モデルMを得る処理を高速化できる。不要な学習を繰り返す必要がなくなるので、学習装置10の処理負荷を軽減することもできる。また、少ない訓練データであっても高精度の推定モデルMを得ることができ、学習装置10のメモリ消費量を低減し、訓練データを準備するコストを低減することもできる。
また、推定システムSは、入力データD1に対応する推定モデルMの出力に基づく評価項目間の共起性に関する推定共起性データD4と、正解データD2に基づく評価項目間の共起性に関する正解共起性データD5と、に基づいて、推定モデルMの学習を行うことによって、推定モデルMの出力に対応する共起性が正解となる共起性に近づくようになり、推定モデルMの精度をより高めることができる。
また、推定システムSは、入力データD1に対応する推定モデルMの出力と正解データD2とに基づく予測損失E1と、推定共起性データD4と正解共起性データD5とに基づく共起損失E2と、に基づいて、推定モデルMの学習を行うことによって、予測損失E1とは別の評価軸である共起損失を考慮して学習を行い、より正確な共起性が推定モデルMの出力から得られるようになり、推定モデルMの精度をより高めることができる。
また、推定システムSは、予測損失E1と共起損失E2とに基づいて、合計損失E3を計算することによって、合計損失E3といった1つの指標に基づいて推定モデルMの学習を行うことができ、学習時の処理を簡易化できる。その結果、学習済みの推定モデルMを得る処理を高速化し、学習装置10の処理負荷を軽減することもできる。
また、推定システムSは、正解データD2における評価項目間の出現確率を示す共起性データを取得することで、評価項目間の共起性を適切に考慮して、推定モデルMの精度をより高めることができる。
また、推定システムSは、評価項目の組み合わせごとに、当該組み合わせの共起性に関する値を示す共起性データを取得することで、種々の評価項目の共起性を考慮して、推定モデルMの精度をより高めることができる。
また、推定システムSは、正解データD2に基づいて、共起性データを取得することによって、正解データD2に含まれる各評価項目の数値を集計し、より正確な共起性を考慮することができるので、推定モデルMの精度をより高めることができる。
また、推定システムSは、コンテンツCと属性データAが入力される推定モデルMとすることによって、属性に応じた評価結果を得ることができ、推定モデルMの精度をより高めることができる。また、属性ごとに別々の推定モデルMを用意することもできるが、その場合には、属性の数だけ推定モデルMが必要になる。本実施形態の推定モデルMは1つあれば複数の属性に対応可能になるので、属性ごとに別々の推定モデルMを用意する場合に比べて、訓練データを用意するコストや推定モデルMを評価するコストを低減できる。その結果、学習装置10の処理負荷やメモリ消費量を低減することもできる。
また、推定システムSは、コンテンツCの印象を評価する推定モデルMの学習を行うことにより、例えば、マーケティング業務の支援等を行う推定モデルMを作成できる。推定モデルMがコンテンツCの印象を推定することにより、商品デザインや広告画像のプランニングを効果的に支援できる。
[5.変形例]
なお、本開示は、以上に説明した実施の形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、評価者の属性又は属性に応じた区分によって、共起しやすい印象が異なることがあるので、共起性データ取得部103は、属性又は属性に応じた区分ごとに、共起性データを取得してもよい。区分とは、属性の上位概念であり、属性データAが示す属性よりも広い属性ということもできる。1つの区分には、少なくとも1つの属性値が含まれる。属性値がそのまま区分として用いられてもよいし、属性値を閾値で大まかに区切った単位が区分として用いられてもよい。
例えば、「年齢」の属性として、20代、30代、40代、50代、及び60代といった5つの属性値が存在した場合に、「20代以下」、「30代」、及び「40代以上」といった3区分が存在してもよい。また例えば、「住所」の属性として、日本全国の都道府県を示す47個の属性値が存在したとすると、「東北地方」や「関東地方」といった区分が存在してもよい。他の属性についても同様であり、属性よりも大まかな単位を示すものが区分であればよい。
k個(kは自然数)の属性又は区分が存在したとすると、共起性データ取得部103は、k個の共起性データを取得する。個々の共起性データの取得方法は、実施形態で説明した通りである。本変形例でも共起性データとして、推定共起性データD4と正解共起性データD5が取得される場合を説明する。
例えば、共起性データ取得部103は、ある属性又はある区分に属する入力データD1に対応する推定データD3に基づいて、その属性又はその区分の推定共起性データD4を取得する。その属性又はその区分の推定共起性データD4の内容は、他の属性又は他の区分に属する入力データD1に対応する推定データD3に依存しない。また例えば、共起性データ取得部103は、ある属性又はある区分に属する入力データD1に対応する正解データD2に基づいて、その属性又はその区分の正解共起性データD5を取得する。その属性又はその区分の正解共起性データD5の内容は、他の属性又は他の区分に対応する正解データD2に依存しない。
学習部104は、属性又は区分ごとに取得された共起性データに基づいて、推定モデルMの学習を行う。例えば、学習部104は、推定共起性データD4と正解共起性データD5のペアごとに、これらを所定の計算式に代入して共起損失E2を計算する。k個のペアが存在したとすると、k個の共起損失E2が計算される。本変形例では、この計算式が図3と同様である場合を説明するが、図3とは異なる計算式であってもよい。例えば、学習部104は、予測損失E1と、k個の共起損失E2と、に基づいて、合計損失E3を計算する。合計損失E3は、これらの単純な平均であってもよいし、属性又は区分に応じた重み付け係数が考慮されてもよい。合計損失E3に応じて学習を行う方法自体は、実施形態で説明した通りである。
変形例(1)によれば、属性又は属性に応じた区分ごとに共起性データを取得することにより、評価項目間の共起性を適切に考慮して、推定モデルMの精度をより高めることができる。例えば、「20代以下」、「30代」、及び「40代以上」の各々で共起性が異なったとしても、これらの年齢層ごとに共起性データを取得することで、年齢層に応じた共起性の違いを吸収した推定モデルMとすることができる。
(2)また例えば、変形例(1)では、属性又は区分ごとに共起性データが取得される場合を説明したが、共起性データ取得部103は、属性又は区分の組み合わせごとに、共起性データを取得してもよい。この組み合わせは、複数の属性又は複数の区分のセットである。組み合わせは、2つに限られず、3つ以上であってもよい。例えば、性別(男性と女性)という区分と、年齢層(20代以下、30代、40代以上)という区分と、を組み合わせて2×3の6区分が存在してもよい。なお、これらを組み合わせずに、属性の種別ごとに区分されて別々に扱われてもよい。この場合、2+3で5区分となる。
組み合わせがm個(mは自然数)であったとすると、学習部104は、m個の共起性データを取得する。個々の共起性データの取得方法は、実施形態又は変形例(1)で説明した通りである。例えば、共起性データ取得部103は、ある属性又はある区分の組み合わせに属する入力データD1に対応する推定データD3に基づいて、その組み合わせの推定共起性データD4を取得する。その属性又はその区分の推定共起性データD4の内容は、他の属性又は他の区分に属する入力データD1に対応する推定データD3に依存しない。また例えば、共起性データ取得部103は、ある属性又はある区分の組み合わせに属する入力データD1に対応する正解データD2に基づいて、その組み合わせの正解共起性データD5を取得する。その属性又はその区分の正解共起性データD5の内容は、他の属性又は他の区分に対応する正解データD2に依存しない。
学習部104は、属性又は区分の組み合わせごとに取得された共起性データに基づいて、推定モデルMの学習を行う。例えば、学習部104は、推定共起性データD4と正解共起性データD5のペアごとに、これらを所定の計算式に代入して共起損失E2を計算する。m個のペアが存在したとすると、m個の共起損失E2が計算される。本変形例では、この計算式が図3と同様である場合を説明するが、図3とは異なる計算式であってもよい。例えば、学習部104は、予測損失E1と、m個の共起損失E2と、に基づいて、合計損失E3を計算する。合計損失E3は、これらの単純な平均であってもよいし、属性又は区分に応じた重み付け係数が考慮されてもよい。合計損失E3に応じて学習を行う方法自体は、実施形態で説明した通りである。
変形例(2)によれば、属性又は区分の組み合わせごとに共起性データを取得することにより、評価項目間の共起性を適切に考慮して、推定モデルMの精度をより高めることができる。例えば、「男性」と「女性」の性別と、「20代以下」、「30代」、及び「40代以上」といった年齢層と、の組み合わせによって共起性が異なったとしても、性別と年齢層の組み合わせごとに共起性データを取得することで、性別と年齢層の組み合わせに応じた共起性の違いを吸収した推定モデルMとすることができる。
(3)また例えば、上記変形例(1)-(2)を組み合わせてもよい。
また例えば、実施形態及び変形例(1)-(2)では、訓練データと共起性データとに基づく学習方法の一例として、予測損失E1と共起損失E2に基づく合計損失E3を利用する処理を説明したが、学習方法は、実施形態及び変形例(1)-(2)で説明した例に限られない。
例えば、学習部104は、共起損失E2を計算せず、正解共起性データD5に基づいて、予測損失E1に基づく学習のさせ方を変えてもよい。この場合、学習部104は、正解共起性データD5が示す共起性が強い評価項目間の数値が同じ正解データD2は信頼性が高いので、学習係数を大きくして予測損失E1に基づく学習を強く行うようにしてもよい。学習部104は、正解共起性データD5が示す共起性が弱い評価項目間の数値が同じ正解データD2は信頼性が低いので、学習係数を小さくして予測損失E1に基づく学習を弱く行うようにしてもよい。一部の評価者については、正しく評価を行わずに適当に評価をする可能性があるので、上記のように、学習部104は、評価項目間の共起性に基づいて正解データD2の信頼性を推定し、学習に強弱をつけてもよい。
また例えば、学習部104は、正解データD2の信頼性に応じて学習に強弱をつけるのではなく、その正解データD2をそもそも学習させるか否かを決定してもよい。この場合、学習部104は、正解共起性データD5が示す共起性が強い評価項目間の数値が同じ正解データD2は信頼性が高いので、予測損失E1を計算して推定モデルMに学習させる。学習部104は、正解共起性データD5が示す共起性が弱い評価項目間の数値が同じ正解データD2は信頼性が低いので、予測損失E1を計算せずに推定モデルMに学習させないようにしてもよい。
また例えば、学習部104は、共起損失E2を計算せず、正解共起性データD5に基づいて、予測損失E1の計算式の重み付け係数を決定してもよい。この場合、学習部104は、共起性が弱い評価項目間の数値が同じ又は類似していた場合に、予測損失E1が大きくなるように、重み付け係数を決定してもよい。また例えば、学習部104は、正解共起性データD5に基づいて、共起性が強い複数の評価項目を1つの評価項目に統合し、統合された評価項目に基づいて推定モデルMを学習させてもよい。
また例えば、推定モデルMの目的としてマーケティング業務の支援を説明したが、推定モデルMは、任意の目的で利用可能である。例えば、推定モデルMは、画像であるコンテンツC内の物体を認識してもよい。認識対象の物体は、任意の物体であってよく、例えば、カメラで撮影された撮影画像内の被写体であってもよいし、CGに描かれたオブジェクトであってもよい。他にも例えば、推定モデルMは、生体認証で利用されてもよい。この場合、推定モデルMは、人の顔、指紋パターン、静脈パターン、筆跡パターン、又はまばたきパターンなどの生体情報の正当性を推定する。これらの生体情報は、画像を利用して取得されるようにすればよい。
また例えば、推定モデルMは、画像認識以外の認識を行ってもよい。例えば、推定モデルMが音声認識を行う場合には、入力データD1は音声データになり、正解データD2は音声に対応する認識結果となる。推定結果は、音声を示すテキストであってもよいし、音声の発話者を識別する情報であってもよい。画像認識及び音声認識以外にも、推定モデルMは、任意の推定を行うことができ、例えば、自然言語処理、行動パターンの推定、又は自然界の現象の推定にも利用可能である。入力データD1は、それに応じたデータであればよい。推定モデルMの評価対象データは、コンテンツCに限られず、他のデータであってもよい。
また例えば、推定システムSは、共起性データに基づかずに、推定モデルMの学習を行ってもよい。即ち、評価項目間の共起性は、推定モデルMの学習で考慮されなくてもよい。この場合、推定モデルMには、コンテンツCと属性データAを含む入力データが入力され、その出力である推定データD3と、正解データD2と、に基づいて推定モデルMの学習が行われる。学習では、予測損失E1が計算され、共起損失E2は計算されない。このようにすることで、属性ごとに別々の推定モデルMを用意する場合に比べて、1つの推定モデルMを用意すれば済み、訓練データを準備するコストや推定モデルMを評価するコストを低減できる。更に、1つの推定モデルMにより評価者の属性を考慮した推定結果を出力できるので、学習装置10及び推定装置20の処理負荷及びメモリ消費量を低減できる。
また例えば、推定システムSに学習装置10と推定装置20が含まれる場合を説明したが、学習装置10と推定装置20は、別々のシステムに存在してもよい。また例えば、データ記憶部100,200に記憶されるものとして説明したデータは、学習装置10又は推定装置20とは異なる他のコンピュータ又は情報記憶媒体に記憶されていてもよい。