以下、本発明の実施の形態について添付の図面を参照しつつ説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
(実施の形態)
<データ生成システム1000の構成>
実施の形態に係るデータ生成システム1000の構成を説明する。データ生成システム1000は、画像及び文字列を含むデータから、画像と当該画像に関連する文字列とを組み合わせたデータであるタグ付きデータを生成し、蓄積する。画像に関連する文字列は、当該画像に写し出される対象に関連するいかなる文字列であってもよく、例えば、当該対象の呼称、当該対象を説明する文字列、又は当該対象を連想させる文字列等であってもよい。文字列は、例えば、文字、単語、文節などのフレーズ、マーク又は記号等であってもよい。マーク及び記号は、いかなるマーク及び記号であってもよい。例えば、マーク及び記号は、国旗、国、地方公共団体、法人、団体及びブランド等の模式化した名、記号及びマーク等であってもよく、商標名、特殊な形の文字で表現された商標名、並びに、商標におけるマーク及び記号等であってもよい。例えば、マーク及び記号は、人、動物、植物、機械及び乗り物等の模式化した名、記号及びマーク等であってもよい。
図1は、実施の形態に係るデータ生成システム1000の構成の一例を示す図である。図1に示すように、データ生成システム1000は、端末10と、サーバ装置20と含む。本実施の形態では、データ生成システム1000は、1つの端末10と1つのサーバ装置20とを含むが、2つ以上の端末10を含んでもよく、2つ以上のサーバ装置20を含んでもよい。
端末10とサーバ装置20とは、互いに通信し、情報等を送受信する。例えば、サーバ装置20は、タグ付きデータを生成するための画像及び文字列を含むデータである参照データを、端末10に送信する。端末10は、参照データから生成したタグ付きデータを、サーバ装置20に送信する。なお、端末10は、自身で作成したデータを参照データとして処理してもよく、他の装置又は記憶媒体等の他のデバイスから取得したデータを参照データとして処理してもよい。ここで、端末10はデータ生成装置の一例であり、参照データは第1データの一例である。
端末10とサーバ装置20とは、通信網30を介して間接的に接続されてもよく、有線通信又は無線通信を介して直接的に接続されてもよい。本実施の形態では、端末10とサーバ装置20とは、通信網30を介して接続される。例えば、2つ以上の端末10が設けられる場合、サーバ装置20は、参照データを、2つ以上の端末10に送信することができ、例えば、同時に送信してもよい。サーバ装置20は、2つ以上の端末10からタグ付きデータを取得する。通信網30は、インターネット、有線LAN(Local Area Network)、無線LAN、モバイル通信網、電話回線通信網、又は、その他の有線若しくは無線通信を用いる通信網であってもよい。本実施の形態では、通信網30はインターネットである。
端末10及びサーバ装置20はそれぞれ、1つ以上の装置で構成されてもよい。装置が2つ以上の装置で構成される場合、当該2つ以上の装置は、1つの機器内に配置されてもよく、分離した2つ以上の機器内に分かれて配置されてもよい。本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
端末10は、通信機能を有し且つ画像を表示することができる情報処理装置である。端末10の例は、コンピュータ装置であり、具体的には、ノートPC(Personal Computer)、携帯電話、スマートフォン及びタブレット端末などのスマートデバイス、ウェアラブルPC、及びデスクトップPC等である。本実施の形態では、端末10は、ノートPCであるとして説明するが、これに限定されない。
サーバ装置20は、通信機能を有する情報処理装置である。サーバ装置20は、インターネット上のクラウドサーバを構成してもよい。本実施の形態では、サーバ装置20は、コンピュータ装置であるが、これに限定されない。
<端末10のハードウェア構成>
図2は、実施の形態に係る端末10のハードウェア構成の一例を示すブロック図である。図2に示すように、端末10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、記憶装置14と、表示装置15と、操作装置16と、インタフェース(I/F)装置17と、ドライブ装置18とを構成要素として含む。上記構成要素はそれぞれ、例えばバスを介して互いに接続されているが、有線通信及び無線通信のいずれを介して接続されてもよい。また、上記構成要素の全てが必須ではない。例えば、表示装置15及び操作装置16の少なくとも1つが、端末10と別の装置であり、端末10と有線又は無線接続されてもよい。
CPU11はプロセッサ等で構成され、端末10の各部の動作及び全体動作を制御する。ROM12は不揮発性半導体記憶装置等で構成され、端末10で動作する各種プログラム及び各種パラメータを記憶する。例えば、ROM12は、BIOS(Basic Input/Output System)及びEFI(Extensible Firmware Interface)などのブートプログラム等を格納する記憶デバイスとして機能する。RAM13は、DRAM(Dynamic Random Access Memory)及びSRAM(Static Random Access Memory)等の揮発性半導体記憶装置等で構成される。RAM13は、CPU11のワークエリアとして使用される。RAM13は、各種信号処理及び画像処理を施す際にデータを一時的に保存する記憶領域を提供する。
記憶装置14は、各種プログラムで利用されるデータ、参照データ及びタグ付きデータ等の種々の情報を記憶する。記憶装置14は、揮発性又は不揮発性の半導体メモリ、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置で構成される。なお、記憶装置14が、ROM12及び/又はRAM13を含んでもよい。
プログラムは、ROM12又は記憶装置14等に予め保持されている。プログラムは、CPU11によって、ROM12又は記憶装置14等からRAM13に読み出されて展開される。CPU11は、RAM13に展開されたプログラム中のコード化された各命令を実行する。
なお、プログラムは、ROM12及び記憶装置14に限らず、例えば記録ディスク等の記憶媒体に格納されていてもよい。例えば、配布された記憶媒体41がドライブ装置18にセットされ、当該記憶媒体41に記録された各種プログラムがドライブ装置18により読み出されてもよい。また、プログラムは、有線ネットワーク、無線ネットワーク又は放送等を介して、I/F装置17に伝送され、RAM13等に取り込まれてもよい。
なお、上述したCPU11によって実現される機能は、CPU11等のプログラム実行部によって実現されてもよく、回路によって実現されてもよく、プログラム実行部及び回路の組み合わせによって実現されてもよい。例えば、このような機能は、集積回路であるLSI(大規模集積回路:Large Scale Integration)によって実現されてもよい。このような機能は個別に1チップ化されてもよく、一部又は全てを含むように1チップ化されてもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブル・プロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。
表示装置15は、CPU11の制御に従って種々の画面を表示する。表示装置15は、液晶パネル、有機EL(Electroluminescence)及び無機EL等のディスプレイであってもよい。表示装置15は、音声出力のためのスピーカを含んでもよい。表示装置15は、操作装置16を兼ねたタッチパネルであってもよい。
操作装置16は、ユーザによる操作入力を受け付ける装置である。操作装置16は、ボタン、ダイヤル、キー、マウス、タッチパネル及び音声入力のためのマイク等の入力装置を含んでもよい。
I/F装置17は、通信網30及び他の装置と接続するための接続デバイスである。I/F装置17は、通信網30を介してサーバ装置20、他の端末及び他の装置と接続される。また、I/F装置17は、有線通信又は無線通信を介して、他の装置と接続される。
ドライブ装置18は、記憶媒体41がセットされるデバイスである。記憶媒体41は、CD-ROM(Compact Disc Read only memory)、フレキシブルディスク及び光磁気ディスク等の情報を光学的、電気的又は磁気的に記録する媒体であってもよく、ROM及びフラッシュメモリ等の情報を電気的に記録する半導体メモリ等の媒体であってもよい。
<サーバ装置20のハードウェア構成>
図3は、実施の形態に係るサーバ装置20のハードウェア構成の一例を示すブロック図である。図3に示すように、サーバ装置20は、CPU21と、ROM22と、RAM23と、記憶装置24と、表示装置25と、操作装置26と、I/F装置27と、ドライブ装置28とを構成要素として含む。上記構成要素はそれぞれ、例えばバスを介して互いに接続されているが、有線通信及び無線通信のいずれを介して接続されてもよい。上記構成要素の全てが必須ではなく、表示装置25及び操作装置26の少なくとも1つが、サーバ装置20と有線又は無線接続される別の装置であってもよい。
CPU21、ROM22及びRAM23の構成及び機能はそれぞれ、端末10のCPU11、ROM12及びRAM13と同様である。
記憶装置24は、各種プログラムで利用されるデータ、参照データ及びタグ付きデータ等の種々の情報を記憶する。記憶装置24の構成は、端末10の記憶装置14と同様である。
なお、CPU21によって実現される機能は、CPU21等のプログラム実行部によって実現されてもよく、回路によって実現されてもよく、プログラム実行部及び回路の組み合わせによって実現されてもよい。
表示装置25は、CPU21の制御に従って種々の画面を表示する。表示装置25の構成は、端末10の表示装置15と同様である。
操作装置26は、ユーザによる操作入力を受け付ける装置である。操作装置26の構成は、端末10の操作装置16と同様である。
I/F装置27は、通信網30及び他の装置と接続するための接続デバイスである。I/F装置27は、通信網30を介して端末10及び他の装置と接続される。また、I/F装置27は、有線通信又は無線通信を介して、他の装置と接続される。
ドライブ装置28は、記憶媒体42がセットされるデバイスである。ドライブ装置28の構成は、端末10のドライブ装置18と同様である。
<サーバ装置20の機能的構成>
図4は、実施の形態に係るサーバ装置20の機能的構成の一例を示す図である。図4に示すように、サーバ装置20は、通信部201と、機器制御部202と、参照データ格納部203と、生成データ格納部204とを機能的な構成要素として含む。
通信部201の機能は、I/F装置27及びCPU21等によって実現される。通信部201は、通信網30を介して、他の装置と通信する。例えば、通信部201は、参照データ格納部203に格納される参照データを端末10に送信する。また、通信部201は、端末10からタグ付きデータを受信する。
機器制御部202の機能は、CPU21等によって実現される。機器制御部202は、サーバ装置20の各部の動作及び全体動作を制御する。例えば、機器制御部202は、参照データ格納部203及び生成データ格納部204に対する情報の入出力を制御する。具体的には、機器制御部202は、参照データ格納部203に格納される参照データを、通信部201を介して端末10に送信し、通信部201等を介して他の装置から受信された参照データを、参照データ格納部203に格納する。また、機器制御部202は、通信部201を介して端末10から受信されたタグ付きデータを、生成データ格納部204に格納する。
参照データ格納部203及び生成データ格納部204はいずれも、記憶装置24等によって実現される。参照データ格納部203は、参照データを格納し、格納する参照データの取り出しを可能にする。生成データ格納部204は、タグ付きデータを格納し、格納するタグ付きデータの取り出しを可能にする。生成データ格納部204は、タグ付きデータを蓄積する。
<端末10の機能的構成>
図5は、実施の形態に係る端末10の機能的構成の一例を示す図である。図5に示すように、端末10は、通信部101と、画像文字列認識部102と、画像文字列セット抽出部103と、情報セット格納部104と、タグ情報抽出部105と、データ生成部106と、生成データ格納部107と、参照データ格納部108とを機能的な構成要素として含む。
通信部101の機能は、I/F装置17及びCPU11等によって実現される。通信部101は、通信網30を介して、サーバ装置20から参照データを受信する。通信部101は、受信した参照データを、画像文字列認識部102に出力する、及び/又は、参照データ格納部108に格納する。通信部101は、データ生成部106によって生成されたタグ付きデータを、通信網30を介してサーバ装置20に送信する。
参照データ格納部108の機能は、記憶装置14等によって実現される。参照データ格納部108は、通信部101を介して取得された参照データを格納し、格納する参照データの取り出しを可能にする。
画像文字列認識部102の機能は、CPU11等によって実現される。画像文字列認識部102は、通信部101から取得される又は参照データ格納部108に格納されている、画像及び文字列を含む参照データから、画像と文字列とを抽出する。そして、画像文字列認識部102は、参照データによって示される画像及び文字列を含む領域において、画像の領域と文字列の領域とを決定する。画像及び文字列の抽出方法は、既知のいかなる方法でもよい。例えば、画像文字列認識部102は、画像及び文字列を含むデータがPDF(Portable Document Format)等の電子文書データである場合、当該データに埋め込まれた属性情報を使って、画像領域と文字列領域とを識別してもよい。また、画像文字列認識部102は、画像及び文字列を含むデータに対して、画像認識機能及びエッジ検出機能等を用いて画像の領域を抽出し、OCR(Optical Character Recognition)を用いて文字列の領域を抽出してもよい。ここで、画像文字列認識部102は認識部の一例である。
図6及び図7は、実施の形態に係る参照データが表示された状態の一例を示す図である。図6及び図7に示すように、参照データPa及びPbが示す領域は、記録媒体、画面又は投影面等の表示面に表示されることができる。記録媒体の例は、紙、布、フィルム又は板等のシート材であるが、これに限定されない。例えば、参照データPa及びPbは、記録媒体への印刷のためのデータ、画面又は投影面などへの表示のためのデータ、スキャニングなどにより記録媒体から読み取られたデータ、記録媒体、画面又は投影面などを撮像して取得されたデータ、及び、表示されている画面がコンピュータ装置によりコピー又は保存されることで取得されたデータ等であってもよい。
例えば、図6の参照データPaは、アパレル企業の広告又はカタログを示すデータである。画像Ia1及びIa2等の商品画像に対して、文字列Ta1及びTa2等の商品画像に関する説明が付随されている。例えば、商品名称、ブランドコンセプト、並びに、ターゲット、デザイン及び素材などの特徴等を示す文字列が付随されている。このような商品画像に関する説明は、意味タグとして扱うことができる。
図7の参照データPbは、飲食店等で使用されるメニュー表を示すデータである。画像Ib等の料理画像に対して、文字列Tba及びTbb等の料理画像に関する説明が付随されている。例えば、料理名、価格、調理法及び食材などの料理の説明等を示す文字列が付随されている。このような料理画像に関する説明は、意味タグとして扱うことができる。
タグ付きデータを生成するための参照データとして、「任意の画像」と「当該画像を明示する文字列」とが併記されていることが好ましい。
画像文字列認識部102は、参照データPaにおいて、画像Ia1及びIa2等の複数の画像と、文字列Ta1及びTa2等の複数の文字列とを抽出する。例えば、画像文字列認識部102は、画像Ia1のみを含む領域を1つの画像領域とし、画像Ia2のみを含む領域を1つの画像領域として、抽出する。また、画像文字列認識部102は、文字列Ta1のみを含む領域を1つの文字列領域とし、文字列Ta2のみを含む領域を1つの文字列領域として、抽出する。
また画像文字列認識部102は、参照データPbにおいて、画像Ib等の複数の画像と、文字列Tba及びTbb等の複数の文字列とを抽出する。例えば画像文字列認識部102は、画像Ibのみを含む領域を1つの画像領域として、抽出する。画像文字列認識部102は、文字列Tba及びTbbを含む領域を1つの文字列領域として、抽出する。例えば、画像文字列認識部102は、文字列Tba及びTbb間の距離により、文字列Tba及びTbbを1つの文字列領域に含めるか2つの文字列領域に分けるかを決定してもよい。当該距離は、例えば、文字列の中心間の距離、又は、文字列間の隙間の大きさ等であってもよい。文字列Tba及びTbb間の距離が閾値以下である場合、1つの文字列領域に決定されてもよい。
画像文字列セット抽出部103の機能は、CPU11等によって実現される。画像文字列セット抽出部103は、1つの参照データにおいて画像文字列認識部102によって抽出された複数の画像領域及び複数の文字列領域の中から、互いに関連する画像及び文字列の組である画像文字列セットを抽出する。具体的には、画像文字列セット抽出部103は、画像文字列セットとして、画像及び文字列が互いに関連する画像領域及び文字列領域の組を抽出する。例えば、画像文字列セット抽出部103は、画像領域と文字列領域との距離に基づいて、画像文字列セットを抽出する。画像文字列セットは、1つの画像領域と、少なくとも1つの文字列領域とを含む。つまり、1つの画像領域に対して、2つ以上の文字列領域が組み合わされてもよい。ここで、画像文字列セット抽出部103は第1抽出部の一例である。
なお、1つの参照データが1つの画像領域と1つの文字列領域とのみを含む場合、画像文字列セット抽出部103は、当該画像領域及び当該文字列領域の組を画像文字列セットに決定する。1つの参照データが1つの画像領域と複数の文字列領域とを含む場合、画像文字列セット抽出部103は、当該画像領域からの距離が最も近い文字列領域と当該画像領域との組を画像文字列セットに決定する。1つの参照データが複数の画像領域と1つの文字列領域とを含む場合、画像文字列セット抽出部103は、当該文字列領域からの距離が最も近い画像領域と当該文字列領域との組を画像文字列セットに決定する。なお、画像文字列セット抽出部103は、文字列領域と画像領域との距離が閾値以上である文字列領域と画像領域との組を画像文字列セットから除外してもよい。
例えば、参照データPaにおいて、画像文字列セット抽出部103は、画像Ia1の画像領域と文字列Ta1の文字列領域との画像文字列セットと、画像Ia2の画像領域と文字列Ta2の文字列領域との画像文字列セットとを抽出する。参照データPbにおいて、画像文字列セット抽出部103は、画像Ibの画像領域と文字列Tba及びTbbを含む文字列領域との画像文字列セットを抽出する。
参照データPbのケースについて、画像文字列セット抽出部103の処理の詳細を説明する。図8A及び図8Bは、図7の参照データにおける画像領域及び文字列領域の画像文字列セット候補の組み合わせ例を示す図である。図8A及び図8Bに示すように、画像文字列認識部102は、画像領域を、画像を外側から囲む枠で定義し、文字列領域を、文字列を外側から囲む枠で定義する。画像文字列認識部102は、画像領域及び文字列領域の位置と大きさとをそれぞれ、参照データPbの表示領域内における枠の頂点等の位置と枠の寸法とを用いて示す。これに限定するわけではないが、本実施の形態では、枠の形状は矩形であるため、画像文字列認識部102は、枠の頂点及び2辺の長さを用いて、各領域の位置及び大きさを示す。
画像文字列認識部102は、画像領域のデータを、参照データPbと上記枠の位置及び寸法等の情報との組のデータとして扱ってもよく、参照データPbから切り取られた上記枠の内側の領域の画像データとして扱ってもよい。
画像文字列セット抽出部103は、参照データPbに含まれる複数の画像領域及び複数の文字列領域の中から、1つの画像領域と1つの文字列領域との組である画像文字列セット候補を任意に抽出する。なお、画像領域の数量と文字列領域の数量とが同じである場合、1つの画像領域は、1つの画像文字列セット候補にのみ含まれ、1つの文字列領域は、1つの画像文字列セット候補にのみ含まる。例えば、画像領域の数量が文字列領域の数量よりも多い場合、1つの画像領域が、2つ以上の画像文字列セット候補に重複して含まれる場合があり、1つの文字列領域は、1つの画像文字列セット候補にのみ含まれ得る。文字列領域の数量が画像領域の数量よりも多い場合、1つの画像領域は、1つの画像文字列セット候補のみに含まれ、1つの文字列領域が、2つ以上の画像文字列セット候補に重複して含まれる場合がある。
図8Aの組み合わせでは、画像文字列セット抽出部103は、例えば、画像領域Ib1F及び文字列領域Tb1Fの画像文字列セット候補I1T1を抽出する。画像領域Ib1Fは画像Ib1を含み、文字列領域Tb1Fは文字列Tb1を含む。さらに、画像文字列セット抽出部103は、画像領域Ib2F及び文字列領域Tb2Fの画像文字列セット候補I2T2、画像領域Ib3F及び文字列領域Tb3Fの画像文字列セット候補I3T3、画像領域Ib4F及び文字列領域Tb4Fの画像文字列セット候補I4T4、並びに、画像領域Ib5F及び文字列領域Tb5Fの画像文字列セット候補I5T5等を抽出する。
画像文字列セット抽出部103は、画像領域Ib1Fの中心Ib1Cと文字列領域Tb1Fの中心Tb1Cとの距離L11を、画像文字列セット候補I1T1における2つの領域間の距離として算出する。このとき、参照データPbの表示領域に設定される画素座標系等の2次元座標系が用いられてもよい。同様に、画像文字列セット抽出部103は、画像文字列セット候補I2T2、I3T3、I4T4及びI5T5F等についても、距離L21、L31、L41及びL51等を算出する。
そして、画像文字列セット抽出部103は、全ての画像文字列セット候補における距離の和である距離和ΣLi1(i=1,2,3,・・・・,m)を算出する。mは、自然数であり、画像文字列セット候補の数量に対応する。
また、図8Bの組み合わせにおいて、画像文字列セット抽出部103は、例えば、画像領域Ib1F及び文字列領域Tb2Fの画像文字列セット候補I1T2を抽出する。さらに、画像文字列セット抽出部103は、画像領域Ib2F及び文字列領域Tb3Fの画像文字列セット候補I2T3、画像領域Ib3F及び文字列領域Tb4Fの画像文字列セット候補I3T4、並びに、画像領域Ib4F及び文字列領域Tb5Fの画像文字列セット候補I4T5等を抽出する。
画像文字列セット抽出部103は、画像文字列セット候補I1T2、I2T3、I3T4及びI4T5等における距離L12、L22、L32、L42及びL52等を算出する。そして、画像文字列セット抽出部103は、全ての画像文字列セット候補における距離の和である距離和ΣLi2(i=1,2,3,・・・・,m)を算出する。
画像文字列セット抽出部103は、画像文字列セット候補の全ての組み合わせについて、距離和ΣLi1,ΣLi2,・・・,ΣLik,・・・,ΣLinを算出し、これら距離和のうちで最小の距離和min(ΣLik)を抽出する。nは、自然数であり、画像文字列セット候補の組み合わせの数量に対応する。
そして、画像文字列セット抽出部103は、最小距離和min(ΣLik)を構成する画像文字列セット候補を、画像文字列セットに決定する。最小距離和min(ΣLik)を構成する画像文字列セット候補の画像領域及び文字列領域は、互いに関連していると見なすことができる。このような画像文字列セットの決定手法は、画像を説明する文字列は、一般的に当該画像に最も近接して記載されるという経験則から、本発明者らによって見出された手法である。
図7の参照データPbのケースでは、画像文字列セット抽出部103は、図8Aに示される組み合わせの画像文字列セット候補を、画像文字列セットに決定する。具体的には、画像文字列セット抽出部103は、図9に示すような画像文字列セットを決定する。図9は、実施の形態に係る画像文字列セット抽出部103によって決定される画像文字列セットの一例を示す図である。
画像文字列セットは、画像のデータと文字列のデータとを対応付けて含む。画像文字列セット抽出部103は、図9に示すように、文字列領域に含まれる文字列を複数の文字列に分割してもよく、文字列領域に含まれる文字列の全てを、1つの文字列としてもよい。文字列の分割方法は、文字列領域内の行又は列等の位置に基づく分割方法であってもよく、既存の技術である文章認識技術を用いて文字列のまとまり毎に分割する方法等であってもよい。画像文字列セット抽出部103は、決定された複数の画像文字列セットのそれぞれを、情報セット格納部104に格納する。
情報セット格納部104の機能は、記憶装置14等によって実現される。情報セット格納部104は、画像文字列セット抽出部103によって決定された複数の画像文字列セットを格納し、格納する画像文字列セットの取り出しを可能にする。
タグ情報抽出部105の機能は、CPU11等によって実現される。タグ情報抽出部105は、情報セット格納部104に格納される複数の画像文字列セットを、画像文字列セットに含まれる画像の特徴に関して同類の画像文字列セットのグループである画像文字列セット群に分類する。このとき、タグ情報抽出部105は、1つの参照データから抽出された画像文字列セットに対して、上記分類を行ってもよいが、複数の参照データから抽出された画像文字列セットに対して、上記分類を行ってもよい。また、タグ情報抽出部105は、情報セット格納部104に格納される全ての画像文字列セットに対して、上記分類を行ってもよい。さらに、タグ情報抽出部105は、画像文字列セット群に含まれる文字列から、意味が共通する共通文字列を抽出する。このとき、タグ情報抽出部105は、画像文字列セット群に含まれる全ての文字列の中で共通文字列を抽出してもよく、複数の画像文字列セットの間で共通する共通文字列を抽出してもよい。共通する意味は、同一の意味及び類似する意味を含む。ここで、タグ情報抽出部105は第2抽出部の一例である。
例えば、上述のように抽出された画像文字列セットは、画像の意味タグとするには不要な文字列を含む可能性がある。このため、タグ情報抽出部105は、画像文字列セット群への分類を行い、画像文字列セット群の画像文字列セットに含まれる文字列から共通文字列を抽出し、共通文字列を用いて意味タグに有用なタグ情報を抽出する。
具体的には、タグ情報抽出部105は、情報セット格納部104の複数の画像文字列セットそれぞれに含まれる画像領域の画像のデータから、画像特徴を抽出する。画像特徴の例は、色、パターン及び形状等の高次のパラメータである。さらに、タグ情報抽出部105は、複数の画像文字列セットの間において、画像特徴の類似度が高い画像のデータを抽出し、抽出された画像のデータを含む画像文字列セットを、類似画像のグループである画像文字列セット群として分類する。例えば、画像特徴の類似度が高い類似画像の抽出方法として、教師なし学習であるK-means法、及びDBSCAN(Density-based spatial clustering of applications with noise)などのクラスタリング手法等を用いることができる。類似画像は、被写体及びシーン等の画像の意味が略同等である画像である。タグ情報抽出部105は、各画像特徴について分類を行い、画像特徴毎の画像文字列セット群を生成する。
図10は、実施の形態に係るタグ情報抽出部105によって分類される画像文字列セット群の一例を示す図である。例えば、タグ情報抽出部105は、複数の画像文字列セットの1つの組み合わせから、図10の分類Aで示されるような画像文字列セット群と、分類Bで示されるような画像文字列セット群とを分類し得る。分類Aの画像文字列セット群は、画像特徴の類似度に基づき抽出された、「苺」の画像を含む画像文字列セットで構成され、分類Bの画像文字列セット群は、画像特徴の類似度に基づき抽出された、「ショートケーキ」の画像を含む画像文字列セットで構成される。このように、タグ情報抽出部105は、複数の画像文字列セットの1つの組み合わせから、1つ以上の画像文字列セット群を生成し得る。
さらに、タグ情報抽出部105は、画像文字列セット群に含まれる複数の画像文字列セットの文字列の間において、最も共通して含まれる文字列を抽出する。つまり、タグ情報抽出部105は、最も多く出現する文字列を抽出する。タグ情報抽出部105は、抽出された文字列をタグ情報に決定し、画像文字列セット群に登録する。抽出される文字列の例は、単語、フレーズ、マーク及び記号等である。タグ情報を構成する文字列は、文字列の意味を表すことができる単位の文字列である。このようなタグ情報は、画像に写し出される対象を説明する意味タグである。
例えば、分類Aでは、文字列「苺」の頻出頻度が最も高い。分類Bでは、文字列「ショートケーキ」の頻出頻度が最も高い。よって、タグ情報抽出部105は、分類Aの画像文字列セット群に含まれる各画像に対して、タグ情報として文字列「苺」を決定し、分類Bの画像文字列セット群に含まれる各画像に対して、タグ情報として文字列「ショートケーキ」を決定する。例えば、分類Aの画像IGAと分類Bの画像IGBとは、同じ画像である。この画像のデータには、文字列「苺」であるタグ情報TGAと、文字列「ショートケーキ」であるタグ情報TGBとが決定される。このように、画像文字列セット群によっては、1つの画像に対して複数のタグ情報が決定される場合もある。
なお、1つの画像文字列セット群から抽出されるタグ情報の数量は、1つに限定されず、2つ以上であってもよい。例えば、タグ情報抽出部105は、出現頻度の高い文字列の上位n番目(nは2以上の整数)までを使い、第1タグ情報から第nタグ情報までの複数のタグ情報を登録してもよい。
1つの画像に対するタグ情報の数量の上限値nが予め設定されている場合、タグ情報抽出部105は、画像文字列セット群に対して、第1タグ情報から第nタグ情報を自動的に抽出する。しかしながら、タグ情報抽出部105は、端末10の操作装置16、及び端末10に接続された他のコンピュータ端末50から、タグ情報の変更を受け付ける。例えば、タグ情報抽出部105は、抽出されたタグ情報と、当該タグ情報に対応する画像とを端末10の表示装置15又は他のコンピュータ端末50に出力してもよい。タグ情報を確認したユーザは、操作装置16又は他のコンピュータ端末50を介して、タグ情報を変更する指令をタグ情報抽出部105に出力してもよい。タグ情報抽出部105は、指令に従い、指定されたタグ情報を、指示された文字列に変更し、登録する。
データ生成部106の機能は、CPU11等によって実現される。データ生成部106は、タグ情報抽出部105によって抽出されたタグ情報を、画像文字列セット群に含まれる各画像に付加することで、タグ付きデータを生成する。タグ付きデータは、画像とタグ情報とを含むデータである。例えば、データ生成部106は、分類Aでは、タグ情報TGAが付加された各画像のデータを含む複数のタグ付きデータを生成し、分類Bでは、タグ情報TGBが付加された各画像のデータを含む複数のタグ付きデータを生成する。データ生成部106は、生成されたタグ付きデータを生成データ格納部107に格納する。また、データ生成部106は、タグ付きデータをサーバ装置20に送信してもよい。ここで、データ生成部106は生成部の一例である。
生成データ格納部107は、記憶装置14等によって実現される。生成データ格納部107は、データ生成部106によって生成されたタグ付きデータを格納し、格納するタグ付きデータの取り出しを可能にする。ここで、生成データ格納部107は蓄積部の一例である。
<データ生成システム1000の動作>
データ生成システム1000の動作を説明する。図11は、実施の形態に係るデータ生成システム1000の動作の一例を示すフローチャートである。図11に示すように、ステップS101において、サーバ装置20は、端末10に参照データを送信し、端末10の画像文字列認識部102は、参照データを取得する。
次いで、ステップS102において、画像文字列認識部102は、取得された参照データにおいて、画像領域と文字列領域とを抽出する。
次いで、ステップS103において、画像文字列セット抽出部103は、抽出された画像領域及び文字列領域において、1つの画像領域に対して少なくとも1つ以上の文字列領域が組み合わされた画像文字列セットを抽出する。このとき、画像文字列セット抽出部103は、全ての画像文字列セットにおける画像領域と文字列領域との距離の総和が最小になるように、画像文字列セットを決定する。
次いで、ステップS104において、画像文字列セット抽出部103は、抽出された画像文字列セットを情報セット格納部104に格納する。
次いで、ステップS105において、タグ情報抽出部105は、情報セット格納部104に格納された画像文字列セットを取得し、画像文字列セット群を分類する。このとき、タグ情報抽出部105は、各画像文字列セットに含まれる画像データに対して画像認識及びOCR等を用いて、画像特徴の類似度が高い画像データを抽出し、当該画像データを含む画像文字列セットで構成される画像文字列セット群を生成する。
次いで、ステップS106において、タグ情報抽出部105は、同じ分類とされた画像文字列セット群に含まれる各画像文字列セットの文字列の情報から、画像文字列セット間で共通する文字列をタグ情報として抽出し、画像文字列セット群に登録する。なお、ユーザからタグ情報の変更の指令を受けた場合、タグ情報抽出部105は、該当するタグ情報を編集し、編集後のタグ情報を登録する。
次いで、ステップS107において、データ生成部106は、タグ情報抽出部105によって抽出されたタグ情報を、当該タグ情報が抽出された画像文字列セット群の各画像データに付することで、タグ情報付き画像データをタグ付きデータとして生成する。データ生成部106は、生成されたタグ付きデータを、生成データ格納部107に格納する、及び/又は、サーバ装置20に送信する。端末10は、タグ付きデータを生成データ格納部107に蓄積する。また、サーバ装置20は、受信したタグ付きデータを生成データ格納部204に格納し、タグ付きデータを蓄積する。
<参照データの取得方法>
参照データの取得方法について説明する。以下において、印刷物又は印刷のための印刷データから参照データを取得する方法の一例を説明する。
まず、印刷物及び印刷データの取得方法の一例を説明する。図12は、実施の形態に係る印刷物及び印刷データが扱われる印刷工程の一例を示す図である。図12に示すように、印刷工程は、印刷前の印刷物準備フェーズと、印刷フェーズと、印刷後のユーザ対応フェーズとの3つのフェーズに分けることができる。
印刷物準備フェーズでは、オペレータが端末1002を使い、コンテンツ格納部1001に格納された画像及び文字列情報から印刷データである組版データを作成する。又は、印刷物発注者等のユーザによって作成された印刷データが、PDF等の形式でウェブ等のインターネットを介して入稿され、印刷データ格納部1003に格納される。
印刷フェーズは、デジタル印刷機による「オンデマンド印刷1004」と、使用インク毎の版を必要とする「オフセット印刷1005」と、印刷を行わずにウェブ上の閲覧サイト及びデジタルサイネージ等でデータ表示を行う「印刷レス1006」との3つのパターンを含む。オンデマンド印刷1004では、RIP(ラスタイメージプロセッサ:Raster Image Processer)等のプリンタドライバ1004aでビットマップデータに変換された印刷データが、デジタル印刷装置1004bによって印刷され出力される。その際、検査装置1004cが設けられ、印刷物が印刷データ通りに印刷されているかを検査する場合もある。
オフセット印刷1005では、製版装置1005aで印刷データから使用インク毎の版が作られ、当該版がセットされたオフセット印刷装置1005bが印刷を行う。使用インクの例は、シアン(C)、マゼンタ(M)、イエロー(Y)及びブラック(K)等である。オンデマンド印刷同様、検査装置1005cが設けられ、印刷物が印刷データ通りに印刷されているかを検査する場合もある。
印刷レス1006では、印刷は行われないため、印刷データはそのままスルーされる。ただし、表示デバイスに対して印刷データを最適化させるために、画像編集装置1006aおいて印刷データが加工及び修正される場合がある。
ユーザ対応フェーズでは、印刷物発注者に対し、印刷物1007又は印刷データ1008が提供され、印刷物発注者がこれらを活用する。印刷フェーズで「印刷レス」としてスルー又は画像編集された印刷データは、印刷物発注者の端末又はデジタルサイネージ(不図示)等に表示され利用される。
さらに、印刷後の印刷物1007及び印刷データ1008の処理を説明する。図13は、実施の形態に係る印刷物1007又は印刷データ1008に対する印刷工程後の処理の一例を示す図である。図13に示すように、図12の印刷フェーズ(オンデマンド印刷1004及びオフセット印刷1005)を経て出力された印刷物1007は、部数を増やすために複写装置1009で複写される場合もある。また、最終的に開示される印刷物1007は、撮像工程1010を受けて、印刷物1007の画像データに変換される場合がある。例えば、印刷物1007は、エンドユーザによってカメラ付き端末等の撮像装置を用いて撮像される、又は、監視カメラ等のネットワークカメラによって撮像される場合がある。
図12の印刷フェーズ(印刷レス1006)でスルー又は画像編集された印刷データ1008は、端末又はデジタルサイネージ等で開示された後、配信工程1011を受ける場合がある。例えば、印刷データ1008は、SNS(Social Networking Service)又はEコマースサイト等で配信される場合もある。同様に、撮像工程1010を経て取得された印刷物1007の画像データは、SNS又はEコマースサイト等で開示される場合もある。
ここで、参照データとして用いられ得る印刷物の例を説明する。一般の印刷物の内容を見ると、画像と当該画像を説明する文字列とが併記されていることが多い。例えば、商品広告及びカタログ等には、商品の写真等の画像と、当該画像に隣接するように配置された文字列とが記載され、当該文字列の内容は、当該商品の名称及び当該商品の説明等を示す。
例えば、図6は、アパレル企業の広告及びカタログ等を模した図である。図6に示すように、商品の画像Ia2等と当該商品の名称の文字列Ta2とが併記される場合があり、代表的な商品の画像Ia1に対して、ブランドコンセプト及び特徴(ターゲット、デザイン、素材など)等を示す文字列Ta1とが併記される場合がある。
例えば、図7は、飲食店等で使用されるメニュー表を模した図である。図7に示すように、一般的に、飲食物等の商品の画像Ib等と、当該商品の名称の文字列Tba等と、当該商品に関する説明を示す文字列Tbbとが併記されることが多い。メニューの場合、商品名称に料理名や食材等が含まれていると、当該商品の内容が顧客に伝わりやすいため、当該商品の説明が記載されていなくてもよい。
そして、参照データの条件として、当該データ中に、「任意の画像」と「当該画像を明示する文字列」とが併記されていることが必要である。
例えば、上記条件が揃った印刷物は様々な生活シーンで使われる。図14は、任意の画像と当該画像を明示する文字列とが併記される印刷物の事例を示す図である。
図14に示すように、事例1は、図6と同様に、印刷物は、商品の広告及びカタログ等の事例であり、印刷形態はチラシ、ダイレクトメール、冊子(又はその一部)及びポスター等である。事例1で扱われる画像は、様々な商品を対象とし、例えばファッション関連、インテリア、雑貨、日用品等の商品を対象とする。
事例2は、図7と同様に、飲食店のメニュー及びポスター、料理雑誌並びにレシピ紹介冊子等の事例である。事例2で扱われる画像は、料理、食材、飲料及び菓子等を対象とする。
事例3は、観光向けガイド及び旅行パンフレット等の事例である。事例3で扱われる画像は、旅行先の名所、ランドマーク的な建造物及び宿泊施設等を対象とする。
事例4は、スポーツ向けのガイド及び競技観戦用のパンフレット等の事例である。事例4で扱われる画像は、スポーツ及び競技中の画像、並びに、スポーツ及び競技を行う施設及び道具等を対象とする。
事例5は、地域及び自治体で発行されるような紹介資料等の事例である。事例5で扱われる画像は、地域及び自治体特有の行事、産物及び事業等を対象とする。
事例6は、様々な図鑑等の事例である。事例6で扱われる画像は、動物、植物、昆虫及び乗り物等を対象とする。
次に、参照データの取得方法を説明する。図15は、図12の印刷工程における参照データの取得方法の一例を示す図である。
図15に示すように、取得方法Aは、オペレータが作成した印刷データを、参照データとして端末1002から取得する例を示す。取得方法Bは、印刷物発注者等のユーザが入稿した印刷データを、参照データとして印刷データ格納部1003から取得する例を示す。取得方法C1は、RIP1004a等のプリンタドライバを通された印刷データを、参照データとして取得する例を示す。取得方法C2は、製版装置1005aを通された印刷データを参照データとして取得する例を示す。取得方法D1及びD2は、検査装置1004c及び1005cでの検査のために読み込まれた印刷データを、参照データとして取得する例を示す。当該印刷データは、印刷物をスキャニング又は計測して得られる印刷データを含む。取得方法Eは、画像編集装置1006aを通されて加工及び/又は修正された印刷データを、参照データとして取得する例を示す。上記の各取得方法での印刷データの取得は、装置の操作者又は管理者によって行われてもよく、装置によって自動的に行われてもよい。さらに、上記の各取得方法で取得された印刷データは、各取得箇所の端末又は装置等から通信網1100を介して、サーバ装置20へ送信され、参照データ格納部203に格納される。
図16は、図13の工程における参照データの取得方法の一例を示す図である。図16に示すように、取得方法Fは、複写装置1009で印刷物1007をスキャニングして得られる印刷データを、参照データとして取得する例を示す。取得方法Gは、撮像工程1010において、撮像装置又はネットワークカメラ等で印刷物1007を撮像して得られる印刷データを、参照データとして取得する例を示す。取得方法Hは、配信工程1011において、SNS又はEコマースサイト等で配信された印刷データを、参照データとして取得する例を示す。上記の各取得方法での印刷データの取得は、装置の操作者又は管理者によって行われてもよく、装置によって自動的に行われてもよい。さらに、上記の各取得方法で取得された印刷データは、各取得箇所の端末又は装置等から通信網1100を介して、サーバ装置20へ送信され、参照データ格納部203に格納される。
上述したように、印刷データである参照データは、印刷工程及びその後の処理における様々なタイミングで取得され得る。このように、参照データとして印刷データを用いることによって、様々な参照データの取得が可能であり、さらに参照データの取得が容易である。
<効果等>
上述したように、実施の形態に係るデータ生成装置としての端末10は、画像及び文字列を含む第1データとしての参照データから、画像及び文字列を認識する認識部としての画像文字列認識部102と、認識された画像及び文字列の中から、互いに関連する画像及び文字列の組である画像文字列セットを抽出する第1抽出部としての画像文字列セット抽出部103と、画像文字列セットに含まれる画像の特徴に関して同類の画像文字列セットのグループである画像文字列セット群を分類し、画像文字列セット群に含まれる文字列から、意味が共通する共通文字列を抽出する第2抽出部としてのタグ情報抽出部105と、共通文字列が抽出された画像文字列セット群に含まれる画像に、共通文字列を付したデータであるタグ付きデータを生成する生成部としてのデータ生成部106とを備える。
上記構成によると、画像文字列セットは、互いに関連する画像及び文字列を含む。画像文字列セット群に含まれる画像文字列セットは、画像特徴に関して同類である。タグ付きデータは、このような画像特徴に関して同類の画像文字列セットに含まれる画像に、同類の画像文字列セットの間における共通の共通文字列を付して生成される。よって、タグ付きデータに含まれる画像及び文字列について、当該文字列は、当該画像を適正に説明する意味タグとなり得る。よって、適正な関係の画像と文字列とを含むタグ付きデータを生成することが可能になる。
また、実施の形態に係る端末10において、画像文字列セット抽出部103は、参照データにおいて認識された画像の領域と文字列の領域との距離に基づいて、1つの画像と少なくとも1つの文字列とを含む画像文字列セットを抽出してもよい。上記構成において、参照データにおける適正な関係の画像と文字列とは、近接して位置する傾向にあるため、画像の領域と文字列の領域との距離に基づいて抽出される画像及び文字列は、適正な関係となり得る。
また、実施の形態に係る端末10において、画像文字列セット抽出部103は、参照データにおいて認識された複数の画像及び複数の文字列の中から、画像及び文字列の任意の組である複数の画像文字列セット候補を抽出し、複数の画像文字列セット候補の組み合わせを複数抽出し、複数の組み合わせそれぞれについて、複数の画像文字列セット候補それぞれに含まれる画像の領域と文字列の領域との距離を取得し、複数の画像文字列セット候補の全てにおける距離の和を取得し、複数の組み合わせのうち、距離の和が最小である組み合わせの複数の画像文字列セット候補を、画像文字列セットに決定してもよい。上記構成によると、参照データ全体における画像の領域と文字列の領域との距離が評価される。これにより、より適正な画像の領域と文字列の領域との組み合わせの抽出が可能となる。
また、実施の形態に係る端末10において、参照データは、印刷若しくは表示のための原稿データ、又は、印刷若しくは表示の前段階で前記原稿データから読み取られたデータであってもよい。上記構成によると、様々な参照データを容易に収集することが可能になる。
また、実施の形態に係る端末10において、参照データは、印刷物をスキャニング又は撮像して生成されたデータであってもよい。上記構成によると、様々な参照データを容易に収集することが可能になる。
また、実施の形態に係る端末10において、タグ情報抽出部105は、タグ付きデータのための新規共通文字列を受け取ると、タグ付きデータに付される共通文字列を、新規共通文字列に変更してもよい。上記構成によると、端末10のユーザの意図をタグ付きデータに反映することができる。よって、ユーザにとって適正な関係の画像と文字列とを含むタグ付きデータを生成することが可能になる。
また、実施の形態に係る端末10は、タグ付きデータを蓄積する蓄積部としての生成データ格納部107を備えてもよい。上記構成によると、端末10は、タグ付きデータを蓄積し、機械学習用データを生成することができる。なお、端末10は、タグ付きデータをサーバ装置20に送信してもよい。これにより、サーバ装置20は、複数の端末10から収集されたタグ付きデータを蓄積することができる。よって、サーバ装置20は、より適切な機械学習用データを生成することができる。
<その他の実施形態>
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
また、実施の形態に係る端末10では、参照データから抽出される画像は、特に限定されず、一般的な画像であったが、これに限定されない。例えば、参照データから抽出される画像は、特定の画像であってもよい。例えば、特定の画像は、特定の文字列、マーク又は記号等の特定の要素を含む画像であってもよい。例えば、特定の要素は、特殊な形の文字で表現された文字列及び商標、国旗、国、地方公共団体、法人、団体及びブランド等の名、記号及びマーク、並びに、商標におけるマーク及び記号等であってもよい。
また、実施の形態に係る端末10は、情報セット格納部104、生成データ格納部107及び参照データ格納部108を備えていたが、これに限定されない。情報セット格納部104、生成データ格納部107及び参照データ格納部108の少なくとも1つが、端末10とは別体の外部装置に設けられてもよい。この場合、端末10と外部装置とは、通信網を介して通信してもよく、他の有線通信又は無線通信を介して通信してもよい。
また、実施の形態に係るデータ生成システム1000において、参照データからタグ付きデータを生成する処理の全てが、端末10によって行われていたが、これに限定されない。例えば、端末10の処理の一部が、サーバ装置20によって行われてもよく、端末10の処理の全てが、サーバ装置20によって行われてもよい。
また、本発明は、データ生成方法であってもよい。例えば、本発明の一実施形態に係るデータ生成方法は、画像及び文字列を含む第1データから、前記画像及び前記文字列を認識する認識ステップと、認識された前記画像及び前記文字列の中から、互いに関連する前記画像及び前記文字列の組である画像文字列セットを抽出する第1抽出ステップと、前記画像文字列セットに含まれる前記画像の特徴に関して同類の前記画像文字列セットのグループである画像文字列セット群を分類し、前記画像文字列セット群に含まれる前記文字列から、意味が共通する共通文字列を抽出する第2抽出ステップと、前記共通文字列が抽出された前記画像文字列セット群に含まれる前記画像に、前記共通文字列を付したデータであるタグ付きデータを生成する生成ステップとを含む。このデータ生成方法によれば、上記端末10と同様の効果が得られる。このようなデータ生成方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
また、本発明は、プログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。例えば、本発明の一実施形態に係るプログラムは、コンピュータに実行させるプログラムであって、画像及び文字列を含む第1データから、前記画像及び前記文字列を認識する認識処理と、認識された前記画像及び前記文字列の中から、互いに関連する前記画像及び前記文字列の組である画像文字列セットを抽出する第1抽出処理と、前記画像文字列セットに含まれる前記画像の特徴に関して同類の前記画像文字列セットのグループである画像文字列セット群を分類し、前記画像文字列セット群に含まれる前記文字列から、意味が共通する共通文字列を抽出する第2抽出処理と、前記共通文字列が抽出された前記画像文字列セット群に含まれる前記画像に、前記共通文字列を付したデータであるタグ付きデータを生成する生成処理とを含む。このプログラムによれば、上記端末10と同様の効果が得られる。
また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。