(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-21
(45)【発行日】2024-05-29
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06F 16/906 20190101AFI20240522BHJP
【FI】
G06F16/906
(21)【出願番号】P 2021097519
(22)【出願日】2021-06-10
【審査請求日】2022-10-20
【前置審査】
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】吉橋 亮太
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2017-054239(JP,A)
【文献】特開2015-079308(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-958
G06F 40/00-58
(57)【特許請求の範囲】
【請求項1】
第1種別のデータセットを用いた学習処理により、前記第1種別のデータセットに対応する第1のカテゴリ群に含まれる複数の第1のカテゴリの各々の第1のスコアのうち、入力情報に対応する第1のカテゴリの第1のスコアが大きくなるように学習され、前記入力情報に対応する前記複数の第1のカテゴリの各々
に対応する複数の第1のスコア
を第1の分類結果として出力する第1の部分モデル、及び前記第1種別のデータセットとは異なる第2種別のデータセットを用いた学習処理により、前記第2種別のデータセットに対応する第2のカテゴリ群に含まれる複数の第2のカテゴリの各々の第2のスコア
であり、前記第1のスコアと比較可能な値である第2のスコアのうち、入力情報に対応する第2のカテゴリの第2のスコアが大きくなるように学習され、前記入力情報に対応する前記複数の第2のカテゴリの各々
に対応する複数の第2のスコア
を第2の分類結果として出力する第2の部分モデルを含む分類モデルと、分類対象となる分類対象情報とを取得する取得部と、
前記分類対象情報を前記入力情報として前記分類モデルに入力することにより、前記第1の部分モデルが出力した前記第1の分類結果
である前記
複数の第1のスコア
のうち値が最大の前記第1のカテゴリである第1の候補カテゴリと、前記第2の部分モデルが出力した前記第2の分類結果
である前記
複数の第2のスコア
のうち値が最大の前記第2のカテゴリである第2の候補カテゴリ
を用いて、
前記第1の候補カテゴリを、前記第2のカテゴリ群に含まれるカテゴリに変換した変換後第1のカテゴリと、前記第2の候補カテゴリとが一致する場合、前記第2の候補カテゴリを前記分類対象情報が属するカテゴリである対象カテゴリ
に決定する決定部と、
を備え
、
前記決定部は、
前記第1のカテゴリを前記第2のカテゴリに変換するために用いるカテゴリマップを用いて、前記第1の候補カテゴリが変換された前記変換後第1のカテゴリと、前記第2の候補カテゴリとが一致するか否かに基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする情報処理装置。
【請求項2】
前記取得部は、
前記入力情報の入力に応じて、前記入力情報の特徴情報を出力する第3の部分モデル、前記第3の部分モデルの出力を用いて前記第1の分類結果を出力する前記第1の部分モデル、前記第3の部分モデルの出力を用いて前記第2の分類結果を出力する前記第2の部分モデルを含む分類モデルを取得する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定部は、
前記第3の部分モデルが出力した前記分類対象情報の特徴情報を用いて、前記第1の部分モデルが出力した前記第1の分類結果が示す前記第1の候補カテゴリと、前記第2の部分モデルが出力した前記第2の分類結果が示す前記第2の候補カテゴリとに基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記取得部は、
前記分類対象となる画像である前記分類対象情報を取得する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記決定部は、
前記第1の部分モデルに対応する第1のカテゴリ群と、前記第2の部分モデルに対応する第2のカテゴリ群との間の対応関係を示す前記カテゴリマップを用いて、前記第1の候補カテゴリが変換された前記変換後第1のカテゴリと、前記第2の候補カテゴリとが一致するか否かに基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする請求項
1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記決定部は、
前記変換後第1のカテゴリと、前記第2の候補カテゴリとが異なる場合、前記変換後第1のカテゴリに関する情報と前記第2の候補カテゴリに関する情報との比較に基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする請求項
1~
5のいずれか1項に記載の情報処理装置。
【請求項7】
前記決定部は、
前記変換後第1のカテゴリと、前記第2の候補カテゴリとが異なる場合、
前記第1の部分モデルが出力した前記複数の第1のスコアのうち前
記第1の
候補カテゴリ
の前記第1のスコアと、前記第2の候補カテゴリ
の前記第2のスコアとの
大小関係の比較に基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする請求項
6に記載の情報処理装置。
【請求項8】
前記決定部は、
前記第2の候補カテゴリの前記第2のスコアが
前記第1の候補カテゴリの前記第1のスコア以上である場合、前記第2のカテゴリを前記分類対象情報が属する前記対象カテゴリに決定する
ことを特徴とする請求項
7に記載の情報処理装置。
【請求項9】
前記決定部は、
前記第1の候補カテゴリの前記第1のスコアが
前記第2の候補カテゴリの前記第2のスコアよりも大きい場合、前記変換後第1のカテゴリを前記分類対象情報が属する前記対象カテゴリに決定する
ことを特徴とする請求項
7または請求項
8に記載の情報処理装置。
【請求項10】
前記決定部は、
前記変換後第1のカテゴリと、前記第2の候補カテゴリとが異なる場合、前記第2の候補カテゴリを前記分類対象情報が属する前記対象カテゴリに決定する
ことを特徴とする請求項
1~
6のいずれか1項に記載の情報処理装置。
【請求項11】
前記決定部は、
前記変換後第1のカテゴリと、前記第2の候補カテゴリとが異なる場合、前記変換後第1のカテゴリを前記分類対象情報が属する前記対象カテゴリに決定する
ことを特徴とする請求項
1~
6のいずれか1項に記載の情報処理装置。
【請求項12】
前記決定部は、
前記変換後第1のカテゴリと、前記第2の候補カテゴリとが一致する場合、前記第2の候補カテゴリを前記分類対象情報が属する前記対象カテゴリに決定する
ことを特徴とする請求項
1~
6のいずれか1項に記載の情報処理装置。
【請求項13】
前記決定部は、
前記第1の候補カテゴリと、前記第2の候補カテゴリとが一致する場合、前記第2の候補カテゴリを前記分類対象情報が属する前記対象カテゴリに決定する
ことを特徴とする請求項1~
12のいずれか1項に記載の情報処理装置。
【請求項14】
コンピュータが実行する情報処理方法であって、
第1種別のデータセットを用いた学習処理により、前記第1種別のデータセットに対応する第1のカテゴリ群に含まれる複数の第1のカテゴリの各々の第1のスコアのうち、入力情報に対応する第1のカテゴリの第1のスコアが大きくなるように学習され、前記入力情報に対応する前記複数の第1のカテゴリの各々
に対応する複数の第1のスコア
を第1の分類結果として出力する第1の部分モデル、及び前記第1種別のデータセットとは異なる第2種別のデータセットを用いた学習処理により、前記第2種別のデータセットに対応する第2のカテゴリ群に含まれる複数の第2のカテゴリの各々の第2のスコア
であり、前記第1のスコアと比較可能な値である第2のスコアのうち、入力情報に対応する第2のカテゴリの第2のスコアが大きくなるように学習され、前記入力情報に対応する前記複数の第2のカテゴリの各々
に対応する複数の第2のスコア
を第2の分類結果として出力する第2の部分モデルを含む分類モデルと、分類対象となる分類対象情報とを取得する取得工程と、
前記分類対象情報を前記入力情報として前記分類モデルに入力することにより、前記第1の部分モデルが出力した前記第1の分類結果
である前記
複数の第1のスコア
のうち値が最大の前記第1のカテゴリである第1の候補カテゴリと、前記第2の部分モデルが出力した前記第2の分類結果
である前記
複数の第2のスコア
のうち値が最大の前記第2のカテゴリである第2の候補カテゴリ
を用いて、
前記第1の候補カテゴリを、前記第2のカテゴリ群に含まれるカテゴリに変換した変換後第1のカテゴリと、前記第2の候補カテゴリとが一致する場合、前記第2の候補カテゴリを前記分類対象情報が属するカテゴリである対象カテゴリ
に決定する決定工程と、
を含
み、
前記決定工程は、
前記第1のカテゴリを前記第2のカテゴリに変換するために用いるカテゴリマップを用いて、前記第1の候補カテゴリが変換された前記変換後第1のカテゴリと、前記第2の候補カテゴリとが一致するか否かに基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする情報処理方法。
【請求項15】
第1種別のデータセットを用いた学習処理により、前記第1種別のデータセットに対応する第1のカテゴリ群に含まれる複数の第1のカテゴリの各々の第1のスコアのうち、入力情報に対応する第1のカテゴリの第1のスコアが大きくなるように学習され、前記入力情報に対応する前記複数の第1のカテゴリの各々
に対応する複数の第1のスコア
を第1の分類結果として出力する第1の部分モデル、及び前記第1種別のデータセットとは異なる第2種別のデータセットを用いた学習処理により、前記第2種別のデータセットに対応する第2のカテゴリ群に含まれる複数の第2のカテゴリの各々の第2のスコア
であり、前記第1のスコアと比較可能な値である第2のスコアのうち、入力情報に対応する第2のカテゴリの第2のスコアが大きくなるように学習され、前記入力情報に対応する前記複数の第2のカテゴリの各々
に対応する複数の第2のスコア
を第2の分類結果として出力する第2の部分モデルを含む分類モデルと、分類対象となる分類対象情報とを取得する取得手順と、
前記分類対象情報を前記入力情報として前記分類モデルに入力することにより、前記第1の部分モデルが出力した前記第1の分類結果
である前記
複数の第1のスコア
のうち値が最大の前記第1のカテゴリである第1の候補カテゴリと、前記第2の部分モデルが出力した前記第2の分類結果
である前記
複数の第2のスコア
のうち値が最大の前記第2のカテゴリである第2の候補カテゴリ
を用いて、
前記第1の候補カテゴリを、前記第2のカテゴリ群に含まれるカテゴリに変換した変換後第1のカテゴリと、前記第2の候補カテゴリとが一致する場合、前記第2の候補カテゴリを前記分類対象情報が属するカテゴリである対象カテゴリ
に決定する決定手順と、
をコンピュータに実行させ
、
前記決定手順は、
前記第1のカテゴリを前記第2のカテゴリに変換するために用いるカテゴリマップを用いて、前記第1の候補カテゴリが変換された前記変換後第1のカテゴリと、前記第2の候補カテゴリとが一致するか否かに基づいて、前記分類対象情報が属する前記対象カテゴリを決定する
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、様々な情報を分類する技術が提供されている。例えば、商品のカテゴリを表す商品カテゴリ表現と正解ラベルとから学習された分類モデルを用いて、各表現から商品カテゴリ表現を分類する技術が提供されている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、分類対象について適切にカテゴリを決定することが難しい場合がある。例えば、表現中に商品カテゴリ表現が含まれない場合、分類対象となるその商品のカテゴリを決定することが難しいといった課題がある。また、上記の従来技術では、テキストデータ以外の情報に対応することが難しい。そのため、分類対象について適切にカテゴリを決定することが望まれている。
【0005】
本願は、上記に鑑みてなされたものであって、分類対象について適切にカテゴリを決定する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、入力情報に対応する第1のカテゴリを示す第1の分類結果を出力する第1の部分モデル、及び前記入力情報に対応する第2のカテゴリを示す第2の分類結果を出力する第2の部分モデルを含む分類モデルと、分類対象となる分類対象情報とを取得する取得部と、前記分類対象情報を前記入力情報として前記分類モデルに入力することにより、前記第1の部分モデルが出力した前記第1の分類結果が示す第1の候補カテゴリと、前記第2の部分モデルが出力した前記第2の分類結果が示す第2の候補カテゴリとに基づいて、前記分類対象情報が属するカテゴリである対象カテゴリを決定する決定部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、分類対象について適切にカテゴリを決定することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理の一例を示す図である。
【
図2】
図2は、実施形態に係る情報処理の一例を示す図である。
【
図3】
図3は、実施形態に係る情報処理システムの構成例を示す図である。
【
図4】
図4は、実施形態に係る情報処理装置の構成例を示す図である。
【
図5】
図5は、実施形態に係る第1種別情報記憶部の一例を示す図である。
【
図6】
図6は、実施形態に係る第2種別情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態に係るモデル情報記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係る情報処理の一例を示すフローチャートである。
【
図9】
図9は、情報処理システムの適用の一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.情報処理〕
以下では、
図1及び
図2を用いて、実施形態に係る情報処理の一例について説明する。
図1及び
図2は、実施形態に係る情報処理の一例を示す図である。具体的には、
図1は、実施形態に係る情報処理のうち、モデルの学習処理の一例を示す。また、
図2は、実施形態に係る情報処理のうち、モデルを用いたカテゴリの決定処理の一例を示す。
【0011】
以下では、まず、
図1を用いて、カテゴリの決定に用いるモデルである分類モデルM1の構造、及び分類モデルM1の学習処理の一例を説明する。また、
図2を用いて、分類モデルM1を用いたカテゴリの決定処理の一例を説明する。なお、以下ではカテゴリの決定対象となる情報(「分類対象情報」ともいう)が画像である場合を一例として説明するが、分類対象情報は、画像に限らず文字情報や音声等、その情報が属するカテゴリの決定(分類)を行う対象となる情報であれば、どのような種別の情報であってもよい。
【0012】
〔1-1.学習処理例〕
ここから、
図1を用いて分類モデルM1の構造及び学習処理の一例について説明する。分類モデルM1は、第1の部分モデルPM1、第2の部分モデルPM2及び第3の部分モデルPM3等を含む。以下では、分類モデルM1の入力側から説明する。
【0013】
まず、第3の部分モデルPM3について説明する。第3の部分モデルPM3は、分類モデルM1のうち入力された画像等の分類対象情報について、物体検出や特徴抽出を行う部分モデル(特徴抽出モデル)である。例えば、第3の部分モデルPM3は、モデルのバックボーン等として機能し、
図9中のBackboneに対応する。例えば、第3の部分モデルPM3は、画像に関する一般的な特徴を学習しているサブレイヤである。例えば、第3の部分モデルPM3は、入力された入力情報IN1の特徴を抽出し特徴情報として出力する。例えば、第3の部分モデルPM3は、入力された画像から抽出した特徴情報を出力する。
【0014】
第1の部分モデルPM1は、第3の部分モデルPM3の出力が入力され、第1の分類結果OT1を出力する部分モデルである。例えば、第1の部分モデルPM1は、モデルのヘッドとして機能し、
図9中の第1Headに対応する。例えば、第1の部分モデルPM1は、分類(以下「第1の分類」ともいう)を行うというタスクに特化した学習が行われるサブレイヤである。例えば、第1の部分モデルPM1(ヘッド)は、タスクに応じた線形変換を行い、第3の部分モデルPM3(バックボーン)が出力した情報(ベクトル)を変換する。
【0015】
第1の部分モデルPM1は、後述する第1種別のデータセットを用いた学習処理により、第1種別のデータセットに対応するカテゴリ(以下「第1のカテゴリ」ともいう)についての分類結果を出力するよう学習が行われる。すなわち、第1の部分モデルPM1は、第1のカテゴリに対応する第1の分類を行うように学習される。
【0016】
第1の部分モデルPM1は、第3の部分モデルPM3により抽出された画像の特徴情報が入力され、その画像についての第1の分類結果OT1を出力する。例えば、第1の部分モデルPM1は、第1種別のデータセットに対応する第1のカテゴリ群の各カテゴリのスコア(値)を、第1の分類結果OT1として出力する。例えば、第1の部分モデルPM1は、ソフトマックス層を有する。この場合、第1の部分モデルPM1は、ソフトマックスの処理を行い、各カテゴリのスコアの総和が1(100%)になるように各カテゴリのスコアを変換し、各カテゴリのスコアを出力する。
【0017】
第2の部分モデルPM2は、第3の部分モデルPM3の出力が入力され、第2の分類結果OT2を出力する部分モデルである。例えば、第2の部分モデルPM2は、モデルのヘッドとして機能し、
図9中の第2Headに対応する。例えば、第2の部分モデルPM2は、分類(以下「第2の分類」ともいう)を行うというタスクに特化した学習が行われるサブレイヤである。例えば、第2の部分モデルPM2(ヘッド)は、タスクに応じた線形変換を行い、第3の部分モデルPM3(バックボーン)が出力した情報(ベクトル)を変換する。
【0018】
第2の部分モデルPM2は、後述する第2種別のデータセットを用いた学習処理により、第2種別のデータセットに対応するカテゴリ(以下「第2のカテゴリ」ともいう)についての分類結果を出力するよう学習が行われる。すなわち、第2の部分モデルPM2は、第2のカテゴリに対応する第2の分類を行うように学習される。
【0019】
第2の部分モデルPM2は、第3の部分モデルPM3により抽出された画像の特徴情報が入力され、その画像についての第2の分類結果OT2を出力する。例えば、第2の部分モデルPM2は、第2種別のデータセットに対応する第2のカテゴリ群の各カテゴリのスコア(値)を、第2の分類結果OT2として出力する。例えば、第2の部分モデルPM2は、ソフトマックス層を有する。この場合、第2の部分モデルPM2は、ソフトマックスの処理を行い、各カテゴリのスコアの総和が1(100%)になるように各カテゴリのスコアを変換し、各カテゴリのスコアを出力する。
【0020】
なお、上記の構造は一例に過ぎず、分類モデルM1の構造は任意の構造が採用可能である。例えば、分類モデルM1は、第1の部分モデルPM1が入力された情報に対応する第1のカテゴリを示す情報を出力し、第2の部分モデルPM2が入力された情報に対応する第2のカテゴリを示す情報を出力すれば、どのような構造であってもよい。分類モデルM1は、Faster R‐CNN(Region-based Convolutional Neural Network)等の構造を利用して構成されてもよい。例えば、分類モデルM1は、画像を入力とし、その中の物体の座標(x, y, w, h)と物体カテゴリラベルとを出力する関数であってもよい。
【0021】
次に、分類モデルM1の学習について説明する。
図1では、情報処理装置100(
図4参照)が分類モデルM1を学習する場合を一例として説明するが、分類モデルM1の学習は情報処理装置100以外の装置が行ってもよい。
【0022】
情報処理装置100は、複数の種別のデータセットを用いて、分類モデルM1を学習する。情報処理装置100は、第1種別のデータセット及び第2種別のデータセットの2種類のデータセットを用いて、分類モデルM1を学習する。
【0023】
図1の例では、第1種別のデータセットとして、公開データDS1が用いられる場合を示す。公開データについての詳細は後述するが、公開データDS1は、複数の画像と各画像が属する第1のカテゴリとが対応付けられたデータセットである。例えば、公開データDS1は、車、犬等の物体を含む複数の画像の各々と、その各画像に含まれる物体が属するカテゴリ(車種、犬種等)とが対応付けられたデータセットである。また、
図1の例では、第2種別のデータセットとして、内製データDS2が用いられる場合を示す。内製データについての詳細は後述するが、内製データDS2は、複数の画像と各画像が属する第2のカテゴリとが対応付けられたデータセットである。なお、
図1では、第1種別のデータセットが公開データDS1であり、第2種別のデータセットが内製データDS2である場合を一例として示すが、第1種別のデータセット及び第2種別のデータセットには任意のデータセットが用いられてもよい。
【0024】
情報処理装置100は、第1種別のデータセットである公開データDS1を用いて分類モデルM1を学習する。まず、情報処理装置100は、第1種別のデータセットである公開データDS1を用いた学習では、第1の部分モデルPM1及び第3の部分モデルPM3を対象に学習処理(以下「第1学習処理」ともいう)を行う(ステップS1)。
【0025】
例えば、情報処理装置100は、公開データDS1を用いた第1学習処理では、第1の部分モデルPM1から第3の部分モデルPM3への経路を対象にバックプロパゲーションを行うことにより、分類モデルM1を学習する。すなわち、情報処理装置100は、公開データDS1を用いた学習では、第2の部分モデルPM2を学習対象外として、第1の部分モデルPM1及び第3の部分モデルPM3に対応するパラメータ(重み)を更新する。これにより、情報処理装置100は、第1種別のデータセットを用いた学習では、第1種別のデータセットのデータについて第3の部分モデルPM3が特徴を抽出するように学習するとともに、第1の部分モデルPM1が入力されたデータに対応する第1のカテゴリを示す情報を出力するように学習処理を行う。
【0026】
例えば、情報処理装置100は、公開データDS1中の一の画像を分類モデルM1に入力した場合、第1の部分モデルPM1がその一の画像(画像Z)が対応付けられた第1のカテゴリ(カテゴリCZ)を出力するように学習処理が行われる。情報処理装置100は、画像Zを分類モデルM1に入力した場合、第1の部分モデルPM1が出力する各カテゴリのスコアのうち、画像Zが対応付けられたカテゴリCZのスコアが大きくなるように学習処理が行われる。例えば、情報処理装置100は、画像Zを分類モデルM1に入力した場合、第1の部分モデルPM1が出力するカテゴリCZのスコアが1に近づくように学習処理が行われる。
【0027】
情報処理装置100は、第2種別のデータセットである内製データDS2を用いて分類モデルM1を学習する。例えば、内製データDS2は、車、犬等の物体を含む複数の画像の各々と、その各画像に含まれる物体が属するカテゴリ(車が属するカテゴリ、犬が属するカテゴリ等)とが対応付けられたデータセットである。ここで、情報処理装置100は、第2種別のデータセットである内製データDS2を用いた学習では、第2の部分モデルPM2及び第3の部分モデルPM3を対象に学習処理(以下「第2学習処理」ともいう)を行う(ステップS2)。
【0028】
例えば、情報処理装置100は、内製データDS2を用いた第2学習処理では、第2の部分モデルPM2から第3の部分モデルPM3への経路を対象にバックプロパゲーションを行うことにより、分類モデルM1を学習する。すなわち、情報処理装置100は、内製データDS2を用いた学習では、第1の部分モデルPM1を学習対象外として、第2の部分モデルPM2及び第3の部分モデルPM3に対応するパラメータ(重み)を更新する。これにより、情報処理装置100は、第2種別のデータセットを用いた学習では、第2種別のデータセットのデータについて第3の部分モデルPM3が特徴を抽出するように学習するとともに、第2の部分モデルPM2が入力されたデータに対応する第2のカテゴリを示す情報を出力するように学習処理を行う。
【0029】
例えば、情報処理装置100は、内製データDS2中の一の画像を分類モデルM1に入力した場合、第2の部分モデルPM2がその一の画像(画像Y)が対応付けられた第1のカテゴリ(カテゴリCY)を出力するように学習処理が行われる。情報処理装置100は、画像Yを分類モデルM1に入力した場合、第2の部分モデルPM2が出力する各カテゴリのスコアのうち、画像Yが対応付けられたカテゴリCYのスコアが大きくなるように学習処理が行われる。例えば、情報処理装置100は、画像Yを分類モデルM1に入力した場合、第2の部分モデルPM2が出力するカテゴリCYのスコアが1に近づくように学習処理が行われる。例えば、情報処理装置100は、上述した第1学習処理及び第2学習処理の切替えを入力データに応じて行う。例えば、情報処理装置100は、入力データがいずれの種別のデータであるかを示す情報を基に第1学習処理及び第2学習処理の切替えを切り替えてもよい。例えば、第1学習処理及び第2学習処理の切替えは、プログラムのif文等により行われてもよい。
【0030】
上記のように、情報処理装置100は、学習に用いるデータセットの種別に応じて、学習処理の対象を切り替えることにより、各データセットに応じたカテゴリ分類を精度よく行う複数の部分モデルを含むモデルを生成することができる。また、情報処理装置100は、共通して用いられる第3の部分モデルPM3については全データセットを加味した学習を行うことができるため、第3の部分モデルPM3がデータの種別に依らず精度良く特徴を抽出することを可能にする。
【0031】
〔1-2.決定処理例〕
次に、
図2を用いて、分類モデルM1を用いたカテゴリの決定処理の一例を説明する。
図2では、画像Xが分類対象情報TG1であり、情報処理装置100(
図4参照)が分類モデルM1を用いて分類対象情報TG1のカテゴリの決定処理を行う場合を一例として説明する。例えば、情報処理装置100は、記憶部120(
図4参照)から分類モデルM1を取得し、端末装置10(
図3参照)から分類対象情報TG1を取得する。
【0032】
まず、情報処理装置100は、分類対象情報TG1を分類モデルM1に入力する(ステップS11)。分類対象情報TG1が入力された分類モデルM1は、第3の部分モデルPM3により分類対象情報TG1を抽出し、分類対象情報TG1により抽出された特徴情報を第1の部分モデルPM1及び第2の部分モデルPM2に入力する。
【0033】
第3の部分モデルPM3が出力した分類対象情報TG1の特徴情報が入力された第1の部分モデルPM1は、第1のカテゴリ群の各カテゴリのスコアを出力する(ステップS12)。情報処理装置100は、第1の部分モデルPM1の出力を用いて、分類対象情報TG1が属する候補となる第1のカテゴリ(以下「第1の候補カテゴリ」ともいう)を決定する。例えば、情報処理装置100は、第1のカテゴリ群のうち、第1の部分モデルPM1が出力したスコアが最大のカテゴリを第1の候補カテゴリFR1に決定する。
【0034】
また、第3の部分モデルPM3が出力した分類対象情報TG1の特徴情報が入力された第2の部分モデルPM2は、第2のカテゴリ群の各カテゴリのスコアを出力する(ステップS13)。情報処理装置100は、第2の部分モデルPM2の出力を用いて、分類対象情報TG1が属する候補となる第2のカテゴリ(以下「第2の候補カテゴリ」ともいう)を決定する。例えば、情報処理装置100は、第2のカテゴリ群のうち、第2の部分モデルPM2が出力したスコアが最大のカテゴリを第2の候補カテゴリSR1に決定する。
【0035】
ここで、第1のカテゴリ群と第2のカテゴリ群とは、一方には含まれるカテゴリが他方には含まれない場合がある。例えば、第1のカテゴリ群と第2のカテゴリ群とは、互いに重複するカテゴリが含まれる可能性があるが完全には一致せず、カテゴリ(概念)の階層が異なったりする場合がある。例えば第2のカテゴリ群にはカテゴリ「犬」があり、第1のカテゴリ群には犬種ごとのカテゴリがある等、第1のカテゴリ群と第2のカテゴリ群とは、一方が他方の上位概念であったり、下位概念であったりする場合等がある。そこで、情報処理装置100は、第1の候補カテゴリFR1と第2の候補カテゴリSR1との対応するように変換処理を行う(ステップS14)。
図2では、情報処理装置100は、カテゴリマップCM1を用いて、第1の候補カテゴリFR1を、第2のカテゴリに対応する変換後第1のカテゴリTFR1に変換する。
【0036】
例えば、カテゴリマップCM1は、第1のカテゴリ群の各カテゴリ(第1のカテゴリ)に、そのカテゴリに対応する第2のカテゴリが関連付けられた一覧情報である。例えば、カテゴリマップCM1では、第1のカテゴリ群での犬種ごとのカテゴリが第2のカテゴリ群でのカテゴリ「犬」が関連付けられる。情報処理装置100は、カテゴリマップCM1を用いることで、第1の候補カテゴリFR1を、対応する第2のカテゴリにマッピング(写像)することで、変換後第1のカテゴリTFR1を生成する。
【0037】
情報処理装置100は、第2の候補カテゴリSR1と変換後第1のカテゴリTFR1とに基づいて、分類対象情報TG1である画像Xが属するカテゴリ(以下「対象カテゴリ」ともいう)を決定する(ステップS15)。
図2では、第2の候補カテゴリSR1と変換後第1のカテゴリTFR1とが一致するため、情報処理装置100は、第2の候補カテゴリSR1を、画像Xが属する対象カテゴリTC1に決定する。
【0038】
なお、第2の候補カテゴリSR1と変換後第1のカテゴリTFR1とが異なる場合についての詳細は後述する。また、第2の候補カテゴリSR1と第1の候補カテゴリFR1とが一致する場合、情報処理装置100は、ステップS14の変換処理を行うことなく、第2の候補カテゴリSR1を、画像Xが属する対象カテゴリTC1に決定してもよい。
【0039】
〔1-3.効果等〕
上述したように、情報処理装置100は、分類モデルM1が出力した2つの分類結果を加味して分類対象情報が属するカテゴリを決定することにより、分類対象について適切にカテゴリを決定することができる。例えば、情報処理装置100は、分類モデルM1が第1の部分モデルPM1及び第2の部分モデルPM2のように、分類結果を出力する複数の部分モデル(複数のヘッド)を含むことにより、複数のデータセットの併用を可能にすることができる。また、情報処理装置100は、カテゴリマップを用いることにより、複数のデータセットの違いを吸収することができ、複数のヘッドが出力する複数の分類結果を用いてカテゴリを決定することができる。
【0040】
〔1-4.その他(データ等)〕
上記の例での第2種別のデータセットである内製データDS2は、オークションサービスやショッピング等の電子商取引サービスの提供に必要となるデータである。例えば、内製データDS2は、電子商取引サービスの提供に必要となる画像と、その画像が電子商取引サービスでのカテゴリ分類(第2の分類)でどのカテゴリ(第2のカテゴリ)に属するかを示す情報を含む。例えば、内製データDS2は、電子商取引サービスの提供に必要となる画像が収集され、収集した画像についてアノテーション等の学習用の正解データの付与作業が行われるため、内製データDS2の生成は高コストとなる。
【0041】
一方で、上記の例での第1種別のデータセットである公開データDS1は、モデルの学習への利用が許可され、インターネット等で広く公開されているデータ(オープンデータ)である。例えば、公開データDS1は、画像と、その画像がカテゴリ分類(第1の分類)でどのカテゴリ(第1のカテゴリ)に属するかを示す情報を含む。例えば、公開データDS1は、研究用の一般画像データ等であり、Open Images Dataset(https://storage.googleapis.com/openimages/web/index.html)等が用いられる。例えば、公開データDS1は、研究用にSNS(Social Networking Service)のタグ等から収集される。公開データDS1は、内製データDS2に比べて低コストで取得可能である。
【0042】
また、公開データDS1と内製データDS2とは、そのカテゴリ分類の粒度やカバーする範囲に違いがある。情報処理装置100は、内製データDS2と公開データDS1とを併用することにより、内製データDS2で未収集のカテゴリをカバーすることができる。
【0043】
なお、上記の例で示した公開データDS1及び内製データDS2は一例に過ぎず、第1種別のデータセット及び第2種別のデータセットには任意のデータセットが採用可能である。
【0044】
また、
図1及び
図2に示した各処理やモデル等は一例に過ぎず、各処理やモデル等は上記に限られない。例えば、分類モデルM1の構成は、上記に示す構成に限られない。例えば、分類モデルM1における分類を行う部分モデルは、第1の部分モデルPM1及び第2の部分モデルPM2の2つに限らず、3つ以上あってもよい。
【0045】
例えば、データセットが3種類ある場合、分類モデルM1には、第1の部分モデルPM1及び第2の部分モデルPM2に加えて、第4の部分モデルが含まれてもよい。この場合、第4の部分モデルは、新たな3つ目の種類のデータセットに対応する分類結果を出力するように学習される。第1の部分モデルPM1及び第2の部分モデルPM2と同様に、第4の部分モデルには、第3の部分モデルPM3の出力が入力される。これにより、情報処理装置100は、第3の部分モデルPM3を、3種類のデータセットを用いて学習することができる。
【0046】
図2の例では、第2の候補カテゴリSR1と変換後第1のカテゴリTFR1とが一致する場合を説明したが、情報処理装置100は、第2の候補カテゴリSR1と変換後第1のカテゴリTFR1とが異なる場合は、所定の基準を基に画像Xが属する対象カテゴリTC1を決定する。この点について以下例示を記載する。
【0047】
第2の候補カテゴリSR1及び変換後第1のカテゴリTFR1の一方が、カテゴリが決定(特定)でないことを示すカテゴリ(以下「未分類カテゴリ」ともいう)である場合、情報処理装置100は、他方のカテゴリを画像Xが属する対象カテゴリTC1に決定する。例えば、第2の候補カテゴリSR1が未分類カテゴリである場合、情報処理装置100は、変換後第1のカテゴリTFR1を画像Xが属する対象カテゴリTC1に決定する。また、例えば、変換後第1のカテゴリTFR1が未分類カテゴリである場合、情報処理装置100は、第2の候補カテゴリSR1を画像Xが属する対象カテゴリTC1に決定する。
【0048】
また、第2の候補カテゴリSR1及び変換後第1のカテゴリTFR1のいずれも未分類カテゴリではない場合、情報処理装置100は、種々の方法により対象カテゴリTC1を決定する。この場合、例えば、情報処理装置100は、第2の候補カテゴリSR1を画像Xが属する対象カテゴリTC1に決定してもよい。また、例えば、情報処理装置100は、変換後第1のカテゴリTFR1を画像Xが属する対象カテゴリTC1に決定してもよい。
【0049】
また、第2の候補カテゴリSR1と変換後第1のカテゴリTFR1とが異なる場合、情報処理装置100は、第1の部分モデルPM1及び第2の部分モデルPM2の出力を用いて、画像Xが属する対象カテゴリTC1を決定してもよい。例えば、情報処理装置100は、第1の部分モデルPM1が出力したスコアと、第2の部分モデルPM2が出力したスコアとを用いて、画像Xが属する対象カテゴリTC1を決定してもよい。
【0050】
情報処理装置100は、第1の部分モデルPM1が出力したスコアにうち、第1の候補カテゴリFR1(変換後第1のカテゴリTFR1)に対応するスコア(以下「第1のスコア」ともいう)を用いて、画像Xが属する対象カテゴリTC1を決定してもよい。また、情報処理装置100は、第2の部分モデルPM2が出力したスコアのうち、第2の候補カテゴリSR1に対応するスコア(以下「第2のスコア」ともいう)を用いて、画像Xが属する対象カテゴリTC1を決定してもよい。情報処理装置100は、変換後第1のカテゴリTFR1に対応する第1のスコアと第2の候補カテゴリSR1に対応する第2のスコアとの比較に基づいて、画像Xが属する対象カテゴリTC1を決定してもよい。
【0051】
情報処理装置100は、第2の候補カテゴリSR1に対応する第2のスコアが変換後第1のカテゴリTFR1に対応する第1のスコア以上である場合、第2の候補カテゴリSR1を画像Xが属する対象カテゴリTC1に決定する。または、情報処理装置100は、変換後第1のカテゴリTFR1に対応する第1のスコアが、第2の候補カテゴリSR1に対応する第2のスコアよりも大きい場合、変換後第1のカテゴリTFR1を画像Xが属する対象カテゴリTC1に決定する。なお、上記は一例に過ぎず、情報処理装置100は、様々な情報を適宜用いて、画像Xが属する対象カテゴリTC1を決定してもよい。
【0052】
〔2.情報処理システムの構成〕
次に、
図3を用いて情報処理システム1の構成例について説明する。
図3は、実施形態に係る情報処理システムの構成例を示す図である。
図3に示すように、情報処理システム1は、端末装置10と、情報提供装置50と、情報処理装置100とが含まれる。端末装置10と、情報提供装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、
図3に示した情報処理システム1には、複数台の端末装置10や、複数台の情報提供装置50や、複数台の情報処理装置100が含まれてもよい。
【0053】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
【0054】
端末装置10は、ユーザによる操作を受け付ける。また、端末装置10は、ユーザの操作に応じて、情報処理装置100や情報提供装置50に種々の情報を送信する。例えば、端末装置10は、情報処理装置100や情報提供装置50に文字情報等のコンテンツを要求する情報等を送信する。また、端末装置10は、情報処理装置100や情報提供装置50から種々の情報を受信する。例えば、端末装置10は、情報処理装置100から分類結果を受信する。例えば、端末装置10は、情報処理装置100から受信した分類結果を表示する。
【0055】
情報提供装置50は、モデルの学習に利用可能な情報(データ)を情報処理装置100へ提供するサーバ装置である。例えば、情報提供装置50は、モデルの学習への利用が許可されているデータであるオープンデータ(公開データ)を情報処理装置100へ送信する。例えば、情報提供装置50は、インターネット上で公開データを公開し、情報処理装置100等の外部装置からの要求に応じて、要求先の外部装置へ要求された公開データを送信する。例えば、情報提供装置50は、情報処理装置100から公開データを要求する要求情報を受信し、要求情報の受信に応じて、情報処理装置100へ要求情報に対応する公開データを送信する。
【0056】
例えば、情報提供装置50は、画像とその画像が属するカテゴリとを対応付けた情報を公開データとして、情報処理装置100へ送信する。例えば、情報提供装置50が提供する公開データは上述したOpen Images Dataset等であってもよい。なお、上記は一例に過ぎず、情報提供装置50が提供する公開データは情報処理装置100が第1種別のデータセットとして利用可能であり、第1の部分モデルPM1の学習に利用可能なデータであれば、どのようなデータであってもよい。
【0057】
情報処理装置100は、分類対象情報が属するカテゴリを決定するコンピュータである。例えば、情報処理装置100は、画像を分類対象として、その画像が属するカテゴリを、モデルの出力を基に決定する決定装置である。情報処理装置100は、
図2に示すように、分類対象情報をモデルに入力し、モデルが出力した分類結果に基づいて、分類対象情報が属するカテゴリを決定する。
【0058】
例えば、情報処理装置100は、学習処理を行う学習装置である。情報処理装置100は、
図1に示すように、複数の種別のデータセットを用いて、モデルを学習する。
【0059】
情報処理装置100は、決定したカテゴリを示す情報を端末装置10に情報提供してもよい。情報処理装置100は、分類対象となった画像とその画像の分類結果とを含むコンテンツを、端末装置10に配信してもよい。この場合、情報処理装置100は、コンテンツ配信サービスを提供する外部の情報処理装置等から各種情報を取得し、取得した各種情報に基づいて情報処理や外部の情報処理装置への情報提供を行ってもよい。
【0060】
〔3.情報処理装置の構成〕
次に、
図4を用いて、実施形態に係る情報処理装置100の構成について説明する。
図4は、実施形態に係る情報処理装置100の構成例を示す図である。
図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0061】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10や情報提供装置50との間で情報の送受信を行う。
【0062】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、
図4に示すように、第1種別情報記憶部121と、第2種別情報記憶部122と、モデル情報記憶部123と、カテゴリマップ記憶部124とを有する。
【0063】
(第1種別情報記憶部121)
実施形態に係る第1種別情報記憶部121は、第1種別に関する各種情報を記憶する。
図5は、実施形態に係る第1種別情報記憶部の一例を示す図である。例えば、第1種別情報記憶部121は、モデルの生成に用いる第1種別に関する教師データを記憶する。
図5に示す第1種別情報記憶部121には、「データID」、「データ」、「第1のカテゴリ」といった項目が含まれる。
【0064】
「データID」は、各データを識別するための識別情報を示す。また、「データ」は、データIDにより識別されるデータを示す。「データ」は、分類対象となる画像等のデータを示す。
図5では「データ」に「FDT1」といった概念的な情報が格納される例を示したが、実際には、分類対象となる画像等のデータ自体、または、その格納場所を示すファイルパス名などが格納される。
【0065】
「第1のカテゴリ」は、対応するデータ(画像)に対応する正解となる分類結果(第1のカテゴリ)を示す。「第1のカテゴリ」は、対応するデータがモデルに入力された場合に、モデルが出力することが期待される分類結果を示す。具体的には、「第1のカテゴリ」は、対応する画像が分類モデルM1に入力された場合に、分類モデルM1の第1の部分モデルPM1が出力することが期待される分類結果(第1のカテゴリ)を示す。
【0066】
図5の例では、データID「FID1」により識別されるデータFDT1は、第1のカテゴリが「FC1」であることを示す。
図5の例では「FC1」~「FC8」のように抽象的に図示するが、「第1のカテゴリ」には、認識対象に関連する分類結果を示す第1のカテゴリ(値)であるものとする。例えば、「FC1」~「FC8」は、データ(画像)が分類される第1のカテゴリのいずれかとなる。
【0067】
なお、第1種別情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、第1種別情報記憶部121は、画像や音声等の教師データの種別を示す情報を各データに対応付けて記憶する。例えば、第1種別情報記憶部121は、データの種別を示す情報を各データに対応付けて記憶する。
図5の例では、データは、種別が「画像」であることを示す情報を各データに対応付けて記憶する。
【0068】
例えば、第1種別情報記憶部121は、各データが学習データであるか、評価用データであるか等を特定可能に記憶してもよい。例えば、第1種別情報記憶部121は、学習データと評価用データとを区別可能に記憶する。第1種別情報記憶部121は、各データが学習データや評価用データであるかを識別する情報を記憶してもよい。情報処理装置100は、学習データとして用いられる各データと第1のカテゴリ(正解データ)とに基づいて、モデルを学習する。情報処理装置100は、評価用データとして用いられる各データと第1のカテゴリとに基づいて、モデルの精度を測定する。情報処理装置100は、評価用データを入力した場合にモデルが出力する出力結果(分類結果)と、第1のカテゴリとを比較した結果を収集することにより、モデルの精度を測定する。
【0069】
(第2種別情報記憶部122)
実施形態に係る第2種別情報記憶部122は、第2種別に関する各種情報を記憶する。
図6は、実施形態に係る第2種別情報記憶部の一例を示す図である。例えば、第2種別情報記憶部122は、モデルの生成に用いる第2種別に関する教師データを記憶する。
図6に示す第2種別情報記憶部122には、「データID」、「データ」、「第2のカテゴリ」といった項目が含まれる。
【0070】
「データID」は、各データを識別するための識別情報を示す。また、「データ」は、データIDにより識別されるデータを示す。「データ」は、分類対象となる画像等のデータを示す。
図6では「データ」に「SDT1」といった概念的な情報が格納される例を示したが、実際には、分類対象となる画像等のデータ自体、または、その格納場所を示すファイルパス名などが格納される。
【0071】
「第2のカテゴリ」は、対応するデータ(画像)に対応する正解となる分類結果(第2のカテゴリ)を示す。「第2のカテゴリ」は、対応するデータがモデルに入力された場合に、モデルが出力することが期待される分類結果を示す。具体的には、「第2のカテゴリ」は、対応する画像が分類モデルM1に入力された場合に、分類モデルM1の第2の部分モデルPM2が出力することが期待される分類結果(第2のカテゴリ)を示す。
【0072】
図6の例では、データID「SID1」により識別されるデータSDT1は、第2のカテゴリが「SC1」であることを示す。
図6の例では「SC1」~「SC3」のように抽象的に図示するが、「第2のカテゴリ」には、認識対象に関連する分類結果を示す第2のカテゴリ(値)であるものとする。例えば、「SC1」~「SC3」は、データ(画像)が分類される第2のカテゴリのいずれかとなる。
【0073】
なお、第2種別情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、第2種別情報記憶部122は、画像や音声等の教師データの種別を示す情報を各データに対応付けて記憶する。例えば、第2種別情報記憶部122は、データの種別を示す情報を各データに対応付けて記憶する。
図6の例では、データは、種別が「画像」であることを示す情報を各データに対応付けて記憶する。
【0074】
例えば、第2種別情報記憶部122は、各データが学習データであるか、評価用データであるか等を特定可能に記憶してもよい。例えば、第2種別情報記憶部122は、学習データと評価用データとを区別可能に記憶する。第2種別情報記憶部122は、各データが学習データや評価用データであるかを識別する情報を記憶してもよい。情報処理装置100は、学習データとして用いられる各データと第2のカテゴリ(正解データ)とに基づいて、モデルを学習する。情報処理装置100は、評価用データとして用いられる各データと第2のカテゴリとに基づいて、モデルの精度を測定する。情報処理装置100は、評価用データを入力した場合にモデルが出力する出力結果(分類結果)と、第2のカテゴリとを比較した結果を収集することにより、モデルの精度を測定する。
【0075】
(モデル情報記憶部123)
実施形態に係るモデル情報記憶部123は、モデルに関する情報を記憶する。例えば、モデル情報記憶部123は、学習処理により学習(生成)された学習済みモデル(モデル)の情報(モデルデータ)を記憶する。
図7は、実施形態に係るモデル情報記憶部の一例を示す図である。
図7に示した例では、モデル情報記憶部123は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。
【0076】
「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「モデルデータ」は、モデルのデータを示す。
図7等では「モデルデータ」に「MDT1」といった概念的な情報が格納される例を示したが、実際には、モデルの構成(ネットワーク構成)の情報やパラメータに関する情報等、そのモデルを構成する種々の情報が含まれる。例えば、「モデルデータ」には、ネットワークの各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
【0077】
図7に示す例では、モデルID「M1」により識別されるモデル(分類モデルM1)は、用途が「画像分類」であることを示す。すなわち、分類モデルM1は、入力された画像データの分類を示す情報を出力するモデルであることを示す。また、分類モデルM1のモデルデータは、モデルデータMDT1であることを示す。
【0078】
なお、モデル情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、モデル情報記憶部123は、モデル内の構成の詳細を示す情報を記憶してもよい。例えば、モデル情報記憶部123は、分類モデルM1が第1の部分モデルPM1、第2の部分モデルPM2、及び第3の部分モデルPM3を含むことを示す情報や各部分モデルの接続関係を示す情報を記憶してもよい。例えば、モデル情報記憶部123は、分類モデルM1において、第3の部分モデルPM3にデータが入力され、第3の部分モデルPM3の出力が第1の部分モデルPM1及び第2の部分モデルPM2に入力されることを示すネットワーク構成の情報を記憶する。なお、分類モデルM1等のモデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定されるものであってもよい。分類モデルM1等のモデルは、プログラムであってもよい。
【0079】
(カテゴリマップ記憶部124)
実施形態に係るカテゴリマップ記憶部124は、カテゴリマップに関する情報を記憶する。例えば、カテゴリマップ記憶部124は、第1のカテゴリを第2のカテゴリに変換するために用いるカテゴリマップを記憶する。
【0080】
例えば、カテゴリマップ記憶部124は、第1の部分モデルに対応する第1のカテゴリ群と、第2の部分モデルに対応する第2のカテゴリ群との間の対応関係を示すカテゴリマップを記憶する。例えば、カテゴリマップ記憶部124は、第1のカテゴリの一覧と、一覧中の各第1のカテゴリに対応する第2のカテゴリが関連付けられたカテゴリマップを記憶する。
【0081】
なお、カテゴリマップは、第1のカテゴリを第2のカテゴリに変換可能であれば、どのような情報であってもよい。例えば、カテゴリマップは、ルールベースで作成された第1のカテゴリを第2のカテゴリに変換ルール(規則)を示す情報であってもよい。また、カテゴリマップは、第1のカテゴリを入力として、入力された第1のカテゴリに対応する第2のカテゴリを出力する変換モデルであってもよい。
【0082】
情報処理装置100は、カテゴリマップを生成してもよい。例えば、情報処理装置100は、第2のカテゴリ付与された画像に対して第1の部分モデルPM1が出力する第1のカテゴリを用いてカテゴリマップを生成してもよい。例えば、情報処理装置100は、内製データカテゴリ付与された画像(ボックスは未付与)に第1ヘッドを適用してもよい。例えば、情報処理装置100は、第1の部分モデルPM1により決定(予測)された画像の第1のカテゴリと、画像に付与された正解ラベル(第2のカテゴリ)の相関に基づいて、カテゴリマップを生成してもよい。例えば、情報処理装置100は、予測された画像の第1のカテゴリと、画像に付与された第2のカテゴリとの相関を調べ、その相関を基にカテゴリマップを生成してもよい。
【0083】
(制御部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)等の集積回路により実現される。
【0084】
図4に示すように、制御部130は、取得部131と、学習部132と、決定部133と、提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0085】
(取得部131)
取得部131は、各種情報を取得する。取得部131は、端末装置10や情報提供装置50等の外部の情報処理装置から各種情報を取得する。取得部131は、第1種別情報記憶部121や第2種別情報記憶部122やモデル情報記憶部123やカテゴリマップ記憶部124等に示す各種情報を、外部の情報処理装置から受信してもよい。
【0086】
取得部131は、記憶部120から各種情報を取得する。取得部131は、第1種別情報記憶部121や第2種別情報記憶部122やモデル情報記憶部123やカテゴリマップ記憶部124等から各種情報を取得する。
【0087】
取得部131は、第1種別の文字情報である第1文字情報と、第1種別とは異なる第2種別の文字情報である第2文字情報とを取得する。取得部131は、変換モデルが出力する文字情報の種別を選択する選択情報を取得する。取得部131は、変換モデルに入力する学習文字情報に対応する種別である学習種別を選択する選択情報を取得する。
【0088】
取得部131は、入力情報に対応する第1のカテゴリを示す第1の分類結果を出力する第1の部分モデル、及び入力情報に対応する第2のカテゴリを示す第2の分類結果を出力する第2の部分モデルを含む分類モデルを取得する。取得部131は、分類対象となる分類対象情報を取得する。取得部131は、入力情報の入力に応じて、入力情報の特徴情報を出力する第3の部分モデル、第3の部分モデルの出力を用いて第1の分類結果を出力する第1の部分モデル、第3の部分モデルの出力を用いて第2の分類結果を出力する第2の部分モデルを含む分類モデルを取得する。取得部131は、分類対象となる画像である分類対象情報を取得する。
【0089】
(学習部132)
学習部132は、各種情報を学習する。学習部132は、学習処理により各種モデルを生成する。例えば、学習部132は、第1種別情報記憶部121や第2種別情報記憶部122等に記憶された情報に基づいて、学習処理を行う。学習部132は、第1種別情報記憶部121や第2種別情報記憶部122等に記憶された情報に基づいて種々のモデルを生成する。
【0090】
例えば、学習部132は、第1種別情報記憶部121や第2種別情報記憶部122に記憶された学習データを用いて、分類モデルM1を学習する。
【0091】
学習部132は、複数の種別のデータセットを用いて、分類モデルM1を学習する。学習部132は、第1種別のデータセット及び第2種別のデータセットの2種類のデータセットを用いて、分類モデルM1を学習する。
【0092】
学習部132は、第1種別のデータセットである公開データDS1を用いて分類モデルM1を学習する。学習部132は、公開データDS1を用いた学習では、第1の部分モデルPM1から第3の部分モデルPM3への経路を対象にバックプロパゲーションを行うことにより、分類モデルM1を学習する。
【0093】
学習部132は、第2種別のデータセットである内製データDS2を用いて分類モデルM1を学習する。学習部132は、内製データDS2を用いた学習では、第2の部分モデルPM2から第3の部分モデルPM3への経路を対象にバックプロパゲーションを行うことにより、分類モデルM1を学習する。
【0094】
(決定部133)
決定部133は、各種情報を決定する。決定部133は、決定処理により分類対象情報が属するカテゴリを決定する。例えば、決定部133は、モデル情報記憶部123等に記憶された情報に基づいて、決定処理を行う。決定部133は、モデル情報記憶部123に記憶されたモデルを用いて、分類対象情報が属するカテゴリを決定する。分類モデルM1に分類対象情報を入力し、分類モデルM1の出力を用いて、分類対象情報が属するカテゴリを決定する。
【0095】
決定部133は、分類対象情報を入力情報として分類モデルに入力することにより、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリと、第2の部分モデルが出力した第2の分類結果が示す第2の候補カテゴリとに基づいて、分類対象情報が属するカテゴリである対象カテゴリを決定する。決定部133は、第3の部分モデルが出力した分類対象情報の特徴情報を用いて、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリと、第2の部分モデルが出力した第2の分類結果が示す第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。
【0096】
決定部133は、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリを、第2の部分モデルに対応する形式に変換した変換後第1のカテゴリと、第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。決定部133は、第1の部分モデルに対応する第1のカテゴリ群と、第2の部分モデルに対応する第2のカテゴリ群との間の対応関係を示すカテゴリマップを用いて、第1の候補カテゴリが変換された変換後第1のカテゴリと、第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。決定部133は、第1のカテゴリを第2のカテゴリに変換するために用いるカテゴリマップを用いて、第1の候補カテゴリが変換された変換後第1のカテゴリと、第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。
【0097】
決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、所定の基準に基づいて、分類対象情報が属する対象カテゴリを決定する。決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、変換後第1のカテゴリに対応する第1のスコアと、第2の候補カテゴリに対応する第2のスコアとの比較に基づいて、分類対象情報が属する対象カテゴリを決定する。
【0098】
決定部133は、第2のスコアが第1のスコア以上である場合、第2のカテゴリを分類対象情報が属する対象カテゴリに決定する。決定部133は、第1のスコアが第2のスコアよりも大きい場合、変換後第1のカテゴリを分類対象情報が属する対象カテゴリに決定する。
【0099】
決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定する。決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、変換後第1のカテゴリを分類対象情報が属する対象カテゴリに決定する。
【0100】
決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが一致する場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定する。決定部133は、第1の候補カテゴリと、第2の候補カテゴリとが一致する場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定する。
【0101】
(提供部134)
提供部134は、各種情報を提供する。例えば、提供部134は、端末装置10や情報提供装置50に各種情報を提供する。提供部134は、端末装置10や情報提供装置50に各種情報を送信する。提供部134は、取得部131により取得された各種情報に基づいて、種々の情報を提供する。提供部134は、学習部132により学習された各種情報に基づいて、種々の情報を提供する。提供部134は、学習部132により学習されたモデルに基づいて、種々の情報を提供する。提供部134は、決定部133により決定された各種情報に基づいて、種々の情報を提供する。
【0102】
例えば、提供部134は、分類対象情報の提供先に、分類対象情報の分類結果を示す情報を提供する。提供部134は、分類対象情報が端末装置10から提供された場合、分類対象情報の分類結果を示す情報を端末装置10に送信する。
【0103】
〔4.情報処理のフロー〕
次に、
図8を用いて、情報処理装置100による情報処理のフローについて説明する。
図8は、実施形態に係る情報処理の一例を示すフローチャートである。
【0104】
図8に示すように、情報処理装置100は、第1の分類結果を出力する第1の部分モデル、及び第2の分類結果を出力する第2の部分モデルを含む分類モデルを取得する(ステップS101)。例えば、情報処理装置100は、モデル情報記憶部123から分類モデルM1を取得する。
【0105】
情報処理装置100は、分類対象となる分類対象情報を取得する(ステップS102)。例えば、情報処理装置100は、端末装置10から分類対象となる分類対象情報TG1を受信する。
【0106】
そして、情報処理装置100は、分類対象情報を入力情報として分類モデルに入力する(ステップS103)。例えば、情報処理装置100は、分類モデルM1に分類対象情報TG1を入力する。
【0107】
その後、情報処理装置100は、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリと、第2の部分モデルが出力した第2の分類結果が示す第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する(ステップS102)。例えば、情報処理装置100は、やカテゴリマップCM1を用いて第1の候補カテゴリを変換した変換後第1の候補カテゴリと、第2の候補カテゴリとに基づいて、分類対象情報TG1が属する対象カテゴリを決定する。
【0108】
〔5.情報処理システムの適用例〕
ここで、
図9を用いて、上述した情報処理システム1の適用例について説明する。
図9は、情報処理システムの適用の一例を示す図である。以下、
図9の各要素について説明する。
【0109】
図9において「Training(Multi-task learning)」と表記された第1処理群PS11は、学習処理に関連する構成及びデータを示し、OpenImagesデータと内製データを用いて、分類モデルM1が学習されることを示す。
図9において「Detector」と表記された箇所はモデルを示し、第1処理群PS11で学習される分類モデルM1に対応する。
【0110】
図9において「Inference」と表記された第2処理群PS12は、カテゴリの決定処理(推論処理)に関連する構成及びデータを示し、第1処理群PS11で学習された分類モデルM1、カテゴリマップなどを用いて推論処理が行われることを示す。
【0111】
図9中のOpenImagesデータは、第1種別のデータセットとして用いられるデータを示す。
図9中のOpenImagesデータは、
図1中の公開データDS1に対応する。
【0112】
図9中の内製データは、第2種別のデータセットとして用いられるデータを示す。
図9中の内製データは、
図1中の内製データDS2に対応する。
【0113】
図9中の第1Headは、第1の部分モデルPM1に対応する。例えば、
図9中の第1Headは、画像について第1カテゴリの分類(第1の分類)を行うというタスクに特化した学習が行われるサブレイヤである。
図9中の第1Headは、OpenImagesデータで学習される。
【0114】
図9中の第2Headは、第2の部分モデルPM2に対応する。例えば、
図9中の第2Headは、画像について第2カテゴリの分類(第2の分類)を行うというタスクに特化した学習が行われるサブレイヤである。
図9中の第2Headは、内製データで学習される。
【0115】
図9中のBackboneは、第3の部分モデルPM3に対応する。例えば、
図9中のBackboneは、画像に関する一般的な特徴を学習しているサブレイヤである。
図9中のBackboneは、OpenImagesデータと内製データの両方で学習される。
【0116】
図9中のカテゴリマップは、
図2中のカテゴリマップCM1に対応する。例えば、
図9中のカテゴリマップは、第1Headの出力結果を基に決定された第1のカテゴリを第2のカテゴリへマッピングするために用いられる情報である。
【0117】
図9中の対応カテゴリは、
図2中の対象カテゴリTC1に対応する。例えば、
図9中の対応カテゴリは、第1Headの出力結果及び第2Headの出力結果の両方の結果を加味して決定されたカテゴリを示す情報である。
【0118】
〔6.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、決定部133とを有する。取得部131は、入力情報に対応する第1のカテゴリを示す第1の分類結果を出力する第1の部分モデル、及び入力情報に対応する第2のカテゴリを示す第2の分類結果を出力する第2の部分モデルを含む分類モデルと、分類対象となる分類対象情報とを取得する。また、決定部133は、分類対象情報を入力情報として分類モデルに入力することにより、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリと、第2の部分モデルが出力した第2の分類結果が示す第2の候補カテゴリとに基づいて、分類対象情報が属するカテゴリである対象カテゴリを決定する。
【0119】
このように、実施形態に係る情報処理装置100は、第1の分類結果を出力する第1の部分モデル及び第2の分類結果を出力する第2の部分モデルを含む分類モデルを用いて、分類対象情報が属するカテゴリを決定することで、複数の分類結果を基にカテゴリを決定することができるため、分類対象について適切にカテゴリを決定することができる。
【0120】
また、実施形態に係る情報処理装置100において、取得部131は、入力情報の入力に応じて、入力情報の特徴情報を出力する第3の部分モデル、第3の部分モデルの出力を用いて第1の分類結果を出力する第1の部分モデル、第3の部分モデルの出力を用いて第2の分類結果を出力する第2の部分モデルを含む分類モデルを取得する。
【0121】
このように、実施形態に係る情報処理装置100は、入力情報の特徴情報を出力する第3の部分モデルを含む分類モデルを用いることで、適切に抽出された情報を基に分類対象情報が属するカテゴリを決定することができるため、分類対象について適切にカテゴリを決定することができる。
【0122】
また、実施形態に係る情報処理装置100において、決定部133は、第3の部分モデルが出力した分類対象情報の特徴情報を用いて、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリと、第2の部分モデルが出力した第2の分類結果が示す第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。
【0123】
このように、実施形態に係る情報処理装置100は、第3の部分モデルが出力した分類対象情報の特徴情報を第1の部分モデル及び第2の部分モデルの両方が用いることで、特徴情報を共通して用いることができるため、分類対象について適切にカテゴリを決定することができる。
【0124】
また、実施形態に係る情報処理装置100において、取得部131は、分類対象となる画像である分類対象情報を取得する。
【0125】
このように、実施形態に係る情報処理装置100は、画像について適切にカテゴリを決定することができる。
【0126】
また、実施形態に係る情報処理装置100において、決定部133は、第1の部分モデルが出力した第1の分類結果が示す第1の候補カテゴリを、第2の部分モデルに対応する形式に変換した変換後第1のカテゴリと、第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。
【0127】
このように、実施形態に係る情報処理装置100は、第1の分類結果が示す第1の候補カテゴリを、第2の部分モデルに対応する形式に変換した変換後第1のカテゴリを用いることで、共通のカテゴリ分類を基づく分類結果となるため、分類対象について適切にカテゴリを決定することができる。
【0128】
また、実施形態に係る情報処理装置100において、決定部133は、第1の部分モデルに対応する第1のカテゴリ群と、第2の部分モデルに対応する第2のカテゴリ群との間の対応関係を示すカテゴリマップを用いて、第1の候補カテゴリが変換された変換後第1のカテゴリと、第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。
【0129】
このように、実施形態に係る情報処理装置100は、第1のカテゴリ群と第2のカテゴリ群との間の対応関係を示すカテゴリマップを用いることで、第1のカテゴリを第2のカテゴリに適切に写像することができるため、分類対象について適切にカテゴリを決定することができる。
【0130】
また、実施形態に係る情報処理装置100において、決定部133は、第1のカテゴリを第2のカテゴリに変換するために用いるカテゴリマップを用いて、第1の候補カテゴリが変換された変換後第1のカテゴリと、第2の候補カテゴリとに基づいて、分類対象情報が属する対象カテゴリを決定する。
【0131】
このように、実施形態に係る情報処理装置100は、カテゴリマップを用いることで、第1の候補カテゴリを第2のカテゴリに対応する変換後第1のカテゴリに変換することができるため、分類対象について適切にカテゴリを決定することができる。
【0132】
また、実施形態に係る情報処理装置100において、決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、所定の基準に基づいて、分類対象情報が属する対象カテゴリを決定する。
【0133】
このように、実施形態に係る情報処理装置100は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合は、両方を考慮して分類対象情報が属する対象カテゴリを決定することで、分類対象について適切にカテゴリを決定することができる。
【0134】
また、実施形態に係る情報処理装置100において、決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、変換後第1のカテゴリに対応する第1のスコアと、第2の候補カテゴリに対応する第2のスコアとの比較に基づいて、分類対象情報が属する対象カテゴリを決定する。
【0135】
このように、実施形態に係る情報処理装置100は、変換後第1のカテゴリに対応する第1のスコアと、第2の候補カテゴリに対応する第2のスコアとを比較して分類対象情報が属する対象カテゴリを決定することで、各部分モデルの分類結果の確信度を考慮して、分類対象について適切にカテゴリを決定することができる。
【0136】
また、実施形態に係る情報処理装置100において、決定部133は、第2のスコアが第1のスコア以上である場合、第2のカテゴリを分類対象情報が属する対象カテゴリに決定する。
【0137】
このように、実施形態に係る情報処理装置100は、第2のスコアが第1のスコア以上である場合、第2のカテゴリを分類対象情報が属する対象カテゴリに決定することで、各部分モデルの分類結果の確信度を考慮して、分類対象について適切にカテゴリを決定することができる。
【0138】
また、実施形態に係る情報処理装置100において、決定部133は、第1のスコアが第2のスコアよりも大きい場合、変換後第1のカテゴリを分類対象情報が属する対象カテゴリに決定する。
【0139】
このように、実施形態に係る情報処理装置100は、第1のスコアが第2のスコアよりも大きい場合、変換後第1のカテゴリを分類対象情報が属する対象カテゴリに決定することで、各部分モデルの分類結果の確信度を考慮して、分類対象について適切にカテゴリを決定することができる。
【0140】
また、実施形態に係る情報処理装置100において、決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定する。
【0141】
このように、実施形態に係る情報処理装置100は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定することで、カテゴリ変換が必要ない方のカテゴリを重要視し、分類対象について適切にカテゴリを決定することができる。
【0142】
また、実施形態に係る情報処理装置100において、決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、変換後第1のカテゴリを分類対象情報が属する対象カテゴリに決定する。
【0143】
このように、実施形態に係る情報処理装置100は、変換後第1のカテゴリと、第2の候補カテゴリとが異なる場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定することで、多くのデータで学習された部分モデルの出力を重要視し、分類対象について適切にカテゴリを決定することができる。
【0144】
また、実施形態に係る情報処理装置100において、決定部133は、変換後第1のカテゴリと、第2の候補カテゴリとが一致する場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定する。
【0145】
このように、実施形態に係る情報処理装置100は、変換後第1のカテゴリと、第2の候補カテゴリとが一致する場合、一致したカテゴリを分類対象情報が属する対象カテゴリに決定することで、分類対象について適切にカテゴリを決定することができる。
【0146】
また、実施形態に係る情報処理装置100において、決定部133は、第1の候補カテゴリと、第2の候補カテゴリとが一致する場合、第2の候補カテゴリを分類対象情報が属する対象カテゴリに決定する。
【0147】
このように、実施形態に係る情報処理装置100は、第1の候補カテゴリと、第2の候補カテゴリとが一致する場合、一致したカテゴリを分類対象情報が属する対象カテゴリに決定することで、分類対象について適切にカテゴリを決定することができる。
【0148】
〔7.ハードウェア構成〕
また、上述した実施形態に係る情報処理装置100や端末装置10は、例えば
図10に示すような構成のコンピュータ1000によって実現される。以下、情報処理装置100を例に挙げて説明する。
図10は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0149】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0150】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0151】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0152】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0153】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0154】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0155】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0156】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0157】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0158】
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0159】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0160】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0161】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0162】
1 情報処理システム
100 情報処理装置
121 第1種別情報記憶部
122 第2種別情報記憶部
123 モデル情報記憶部
130 制御部
131 取得部
132 学習部
133 決定部
134 提供部
10 端末装置
50 情報提供装置
N ネットワーク