以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態における情報処理装置のブロック図である。
情報処理装置1は、配置情報格納部101、データ格納部102、属性指定情報格納部103、グループ化部104、出力部105、データ属性分類部106、順序受付部107、順序決定部108、および領域区切画像格納部109を具備する。
配置情報格納部101には、複数のデータをそれぞれ配置するための複数の配置領域を設定する情報である配置情報が格納され得る。配置領域とは、データを配置する領域である。配置領域は、データをレイアウト、即ち割付して配置するために予め指定された領域や、データをレイアウトして配置する際に構成される領域である。配置領域は、例えば、枠、フレーム、フレーム枠、ボックス等と呼ばれる領域である。配置領域には、領域の枠線を表示しても良い。また、配置領域は、単にデータが配置される領域と考えても良い。配置情報は、具体的には、配置領域のサイズや位置等を指定するための情報である。データは配置領域内に配置されることから、本実施の形態においては、データの配置を示す情報として、当該データが配置される配置領域の配置情報を適宜用いる。配置領域に配置され得るデータについては後述する。また、ここで述べるデータを配置する、とは、データを配置領域が示す位置に直接配置することであっても良いし、配置領域が示す位置にデータを参照するためのデータを指定するための情報、例えばリンク情報等を配置することであっても良い。この場合、このリンク先のデータが、配置領域に配置されたデータとなる。配置領域は、例えばレイアウト先となるページや紙面等に設定される。ここで述べるページや紙面は、仮想のものと考えて良い。配置情報は、例えば、配置領域の幅や高さの情報と、配置領域内の一点、例えば左上隅の位置情報とにより構成される。ここで述べる位置情報とは、位置を示す情報であり、例えば、座標情報である。また、配置領域は、配置領域の位置を示す情報として、配置領域の中心や重心の位置を示す情報を有していてもよい。なお、これらの中心や重心の位置を示す情報は、配置領域の幅や高さの情報と配置領域内の一点の位置情報から適宜算出されても良い。また、配置情報は、配置領域の出力されるページ等を指定する情報を有していても良い。また、配置情報は、例えば、配置領域の形状が矩形であれば、左上隅と、右下隅の座標情報との組み合わせ等であっても良い。配置領域の位置を指定するための情報は、ページ等の配置領域を配置可能な領域に対する座標等の、絶対的な位置を示す情報であっても良いし、配置領域を配置可能な領域の辺や、他の配置領域に対する相対的な位置を示す情報であっても良い。配置情報と、配置情報により設定される配置領域に配置されるデータとの対応関係はどのように管理されていてもよい。例えば、配置情報とデータとを対にもつレコードを有するテーブル等を用いて管理されてもよい。各配置領域と、各配置領域に配置される各データとは通常一対一で対応しているが1対多で対応していても、多対1で対応していても良い。配置領域、あるいは配置情報には、配置領域を識別するためのID等の識別情報や、配置領域の属性を示す情報である属性情報が対応付けられていても良い。例えば、配置情報に、属性情報が含まれていても良い。属性情報は、例えば、配置領域に配置されるデータの内容や属性等を示すための文字列の情報であり、例えば、配置領域にタイトルや連絡先の文字列が配置されることが予め決められている場合、この配置領域には、「タイトル」や「連絡先」等の文字列が対応付けられても良い。このような属性情報をここでは配置領域のラベルと呼ぶ。このラベルは、例えばユーザ等が任意に指定可能である。また、同じ内容や属性を有するデータを配置するための複数の配置領域については、同じラベルを対応付けることが好ましい。配置情報格納部101は、不揮発性の記録媒体や、揮発性の記録媒体で実現可能である。
データ格納部102には、複数の配置領域に配置された複数のデータが格納され得る。配置領域に配置されるデータとは、文字列のデータや、静止画や動画の画像データである。データの形式等は問わない。文字列のデータは、フォントやサイズや右寄せや左寄せ等の配列や下線等の装飾や文字色等の書式のデータ等を有していても良い。また、画像データは、解像度やサイズの情報等を有していていてもよい。ここで述べる配置とは、上述したように、配置領域内に、実際のデータが配置されることであっても良いし、配置領域に配置されるデータを参照するための情報、例えばリンク情報が配置領域に対応付けられることであっても良い。データ格納部102は、不揮発性の記録媒体でも、揮発性の記録媒体でも良い。
属性指定情報格納部103は、一のグループに分類される複数のデータについての属性を指定する情報である属性指定情報が格納され得る。データの属性とは、本実施の形態においては、適宜データの属性の値、即ち属性値のことを意味すると考える。データの属性とは、データ自身の属性である。また、本実施の形態においては、データが配置される配置領域の属性もデータの属性と考える。データの属性は、各データに対応付けて管理されていてもよいし、各データが配置される配置領域に対応付けて管理されていても良い。データ自身の属性は、例えば、文字列のデータの書式についての情報である。データの書式とは、フォントや、フォントのファミリーや、セリフ等のフォントの特徴や、フォントサイズや、フォント色や、太字や下線等のフォントの装飾や、行間や、行揃えや、これらの組み合わせ等である。これらの組み合わせをスタイルと呼んでも良い。また、データ自身の属性は、画像データのデータサイズ(例えば画素数)やファイル形式(例えばEPSやTIFF等)やファイル名等についての情報である。例えば、ファイル名に含まれる画像のサイズを示す文字列の情報、例えば「SMALL」や「LARGE」等の文字列や、拡張子の前の「S」や「L」等の文字を、画像データについてのデータの属性として扱っても良い。また、データ自身の属性は、データの内容、例えば、どのようなワードが含まれるか、どのような内容の画像か、等を示す情報であっても良い。データが配置される配置領域の属性とは、配置領域のサイズや、形、背景色、枠色、配置領域に付与されたラベルや識別情報等である。また、データの属性は、一の配置領域に配置されるデータの文字数や、行数や、列数の情報であっても良い。ここで述べる属性指定情報が指定するデータの属性とは、上記で説明した属性のうちの二以上の組み合わせであっても良い。属性指定情報は、一のグループに分類される一以上のデータのそれぞれについての属性を指定する情報である。また、属性指定情報は、さらに、一のグループを構成する複数のデータの属性の順序を示す順序情報を含むことが好ましい。即ち、一のグループに分類されるデータの属性には、順序が指定されていることが好ましい。順序情報は、順序を数値や記号等で指定する情報であってもよいし、データの属性が配列されている順番自身を配列情報としても良い。なお、属性指定情報や、順序情報は、どのように蓄積されても良く、例えば、ユーザが手入力等により指定しても良いし、デフォルトで格納されていても良い。ここでは、一例として、後述するデータ属性分類部106や、順序受付部107や、順序決定部108等が取得した属性指定情報や順序情報が蓄積される場合を例に挙げて説明する。属性指定情報格納部103は、不揮発性の記録媒体や、揮発性の記録媒体で実現可能である。
グループ化部104は、複数の配置領域に配置された複数のデータを、当該複数のデータの配置情報を用いて、属性指定情報が指定する属性を有するデータ毎に、グループ分けする。複数のデータの配置情報とは、ここでは、複数のデータがそれぞれ配置されている配置領域の配置情報である。グループ化部104は、複数のデータの配置情報を用いて、複数のデータ間の距離を算出し、当該距離を用いて、属性指定情報が指定する属性を有するデータ毎に、グループ分けする。ここで述べるグループ分けとは、結果的にデータがグループに分けられていればよく、例えば、グループ分けしたデータを構成したり、取得したりすることであっても良いし、各データにそれぞれが属するグループの識別情報等を付与すること等であっても良い。グループ化部104は、例えば、各データが属するグループが識別できるような形式の情報、例えば、グループ別にデータが階層化されたXML情報や、タブ区切りテキスト等の項目別にデータベースに登録可能な形式の情報や、各グループのデータを1レコードに配列した情報等を構成しても良い。また、グループ別に用意されたバッファにグループ分けしたデータを、それぞれグループ毎に蓄積しても良い。
グループ化部104は、属性指定情報が順序情報を有する場合、複数の配置領域に配置された複数のデータのうちの、属性指定情報により指定された属性を有するデータであって、順序情報が示す順序に従って順次隣接して配置されるデータを取得して、グループ分けを行う。ここで述べる隣接とは、データ同士が直接となり合わせに存在している状態のみに限るものでなく、データ間に順序情報が示す順序ではない一以上の他のデータ等を介在させている状態等も含む概念である。具体例として、二以上のデータのうちの、データ間の距離が最も近いものを隣接したデータと考える。グループ化部104は、具体的には、まず、順序情報が示す順序が1番である属性指定情報を属性指定情報格納部103から読み出す。そして、この1番の属性指定情報が指定する属性に合致するデータを検出する。具体的には、配置領域に配置されたデータに対して順番に、順序が1番の属性指定情報が指定する属性に合致するか否かの判断を行う。この検出は、データ格納部102に格納されているデータに対して行われてもよいし、レイアウトを行う際等において、配置領域に配置された状態のデータに対して行われても良い。この検出は、各データが配置される配置領域が配列されている順番に行われてもよいし、データが格納されている順番で行われても良い。また、ユーザにより、予め指定されたデータや配置領域を始点として、検出を行うようにしても良い。そして、順序が1番である属性指定情報が指定する属性に一致するデータを検出した場合、このデータを、一のグループの1番目のデータとする。このデータの配置領域を起点として、順序情報が示す順番が2番である属性指定情報が指定する属性を有するデータが配置されている配置領域であって、起点となる配置領域に隣接する配置領域を検出する。そして、この配置領域に配置されたデータを、1番目のデータと同じグループの2番目のデータとする。ここで述べる隣接する配置領域とは、具体的には、配置領域間の距離が最も近い配置領域である。配置領域間、あるいはデータ間の距離は、配置領域、あるいはデータのどの部分同士の距離としてもよい。例えば、配置領域間の距離を、配置領域の重心間の距離としても良い。あるいは、配置領域間の距離を、配置領域間の最も距離が短くなる部分の距離としても良い。グループ化部104は、具体的には、配置情報を用いて配置領域間の距離を算出し、距離が最も短い配置領域に配置されているデータを、隣接して配置されるデータであると判断する。つぎに、2番目のデータの配置領域を起点として、順序情報が示す順番が3番である属性指定情報が指定する属性を有するデータが配置されている配置領域であって、2番目のデータの配置領域に隣接する配置領域を検出する。そして、この配置領域に配置されたデータを、1番目のデータと同じグループの3番目のデータとする。このようにして、新たに検出されたデータを起点として、次の順序の属性指定情報が指定する属性を有するデータであって、起点となるデータに隣接するデータを順次、グループに加えていく。そして、一のグループについての全ての属性指定情報について、上記のようにグループに加える処理が終了した時点で、一のグループに属するデータを選択する処理を終了する。そして、残りのデータについても、上記のようなグループ分けの処理を繰り返す。このような処理により、グループ化部104は、配置領域に配置されたデータを、属性指定情報を満たす一以上のデータにより構成されるグループに分ける。グループ化部104は、通常、MPUやメモリ等から実現され得る。グループ化部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、グループ化部104は、後述する領域区切画像格納部109に格納されている領域区切画像情報が示す領域区切画像で区切られた領域に配置される複数のデータを、優先的に、属性指定情報が指定する属性を有するデータ毎に、グループ分けするようにしてもよい。具体的には、グループ化部104は、領域区切画像情報で区切られた同じ領域に配置される複数のデータを、属性指定情報が指定する属性を有するデータ毎に、優先的に同じグループにグループ分けするようにしてもよい。また、グループ化部104は、領域区切画像情報が現れるまでの範囲内の領域に配置される複数のデータ内でのみ、属性指定情報が指定する属性を有するデータを検出するようにしても良い。あるいは、直前にグループに加えられたデータに対して、同じ距離に次の属性指定情報が指定する属性を有する複数のデータが配置されている場合、領域区切画像によって直前にグループに加えられたデータと同じ領域に区切られているデータを、優先的に同じグループのデータとして選択してグループに加えても良い。なお、本実施の形態における同じ距離とは、同じとみなすことのできる距離も含む概念であり、例えば、完全に一致する距離に対して、予め指定した値や割合の幅を持たせた距離を同じ距離としてもよい。領域区切画像とは、データ、もしくは配置領域が配置される領域を区切るために配置される画像である。領域区切画像は、具体的には、罫線や枠線、区切り線等の画像である。領域区切画像情報とは、領域区切画像の画像情報である。なお、領域区切画像情報は、領域区切画像が配置される位置の情報と対応付けられていてもよい。例えば、領域区切画像情報が領域区切画像が配置される位置の情報を有していても良い。このように、グループ化部104は、領域区切画像情報が示す領域区切画像との位置関係を用いて、データをグループに加えるか否かを判断してもよい。
また、グループ化部104は、直前にグループに加えられたデータに対して、同じ距離に次の属性指定情報が指定する属性を有する複数のデータが配置されている場合、これらの複数のデータを、全て同じグループに加えるようにしても良い。
また、グループ化部104は、直前にグループに加えられたデータに対して、同じ距離に次の属性指定情報が指定する属性を有する複数のデータが配置されている場合、これらの複数のデータと、既に同じグループにグループ分けされているデータのうちの、直前の順序のデータ以外の一のデータ、例えば順序が1番のデータとの距離を算出し、この距離が最も短い方のデータを、同じグループに加えるようにしても良い。
また、グループ化部104は、複数の配置領域に配置された複数のデータ内に、順序情報が示す順序に対応したデータが欠落していた場合、次の順序のデータを取得するようにしてもよい。なお、複数の配置領域に配置された複数のデータ内の予め指定された範囲内に、順序情報が示す順序に対応したデータが存在しない場合を、データが欠落していると判断するようにしても良い。この場合の予め指定された範囲は、例えば同じページ内や、直前の順序のデータからの距離が、予め指定した所定の距離未満の距離である。なお、予め指定された範囲を定義する情報、例えば直前の順序のデータからの距離の情報等は、例えば、図示しない記憶媒体等に予め格納されているようにすればよい。
また、グループ化部104は、順序情報が示す所定の順序に対応する属性を有する複数のデータが、直前の順序のデータに対して同じ距離に存在していた場合に、当該複数のデータのうちの、直前の順序のデータに対して予め指定された所定の方向に位置するデータを、優先的に、直前の順序のデータと同じグループにグループ分けしてもよい。ここで述べる所定の方向とは、上下左右、斜め上、斜め下等であってもよいし、基準とする方向に対する角度で指定される方向であっても良い。例えば、配置領域の下方向を基準とした場合、2つの配置領域間、例えば配置領域の重心や、角部同士を結ぶ直線がこの基準となるし多方向に対してなす角度が最も小さくなる配置領域に配置されるデータを、同じグループに配置されるデータとして選択しても良い。なお、所定の方向を指定する情報は、例えば、図示しない記憶媒体等に予め格納されているようにすればよい。
また、グループ化部104は、いずれのグループにもグループ分けされずに残ったデータを、距離が最も近いグループに付加するようにしてもよい。例えば、グループ化部104は、予め指定された範囲、例えば一のページ、に配置されているデータを、上述したようにグループ分けした結果、いずれのグループにもグループ分けされずに残ったデータが存在した場合、このデータを、距離が最も近いグループに加える。ここでの距離とは、各グループにおける直前の順序のデータを除いたいずれか一つのデータ、例えば、順序が一番である属性指定情報に対応したデータが配置された配置領域との距離であっても良いし、各グループを構成するデータが配置された配置領域の重心との距離であっても良い。なお、本実施の形態において、データをグループに加えるあるいは付加するとは、例えば、データを、既にグループ分けされているデータ群に加えたり、既にグループ分けされているデータ群とともに取得したりすることであっても良いし、データに、それぞれが属する既存のグループの識別情報等を付与すること等である。
さらに、グループ化部104は、データが画像データである場合に、当該画像データと同じグループに含まれるデータとの距離を配置情報を用いて算出し、当該画像データを、距離が最も近いデータと対応付けてグループ化してもよい。通常画像データには、当該画像データが示す画像を説明する文章の文字列データ等が、画像データに近接して配置されるため、このような文字列のデータを画像データと対応付けることで、どのデータが、画像データの画像を説明する文章等のデータであるかを判断することが可能となる。この対応付けは、例えば、対応関係を管理するための管理表を用いて管理される。
また、グループ化部104は、グループ化の対象となる一のデータ内に、当該データに関連している他のデータの位置を示すための情報である関連指定情報が含まれている場合、この関連指定情報が示す位置に配置されているデータを、グループ化の対象となる一のデータと同じグループに、当該一のデータと対応付けてグループ分けするようにしても良い。具体的には、グループ化部104は、一のデータを、属性指定情報を用いて一のグループにグループ分けすべきデータであると判断した場合に、当該データ内において関連指定情報を検索し、関連指定情報が検出された場合に、当該関連指定情報が示す位置に配置されているデータを、上述したグループ分けすべき一のデータと対応付けて、当該データと同じ一のグループにグループ分けする。具体的には、関連するデータの位置を指定するための情報が、一以上の関連指定情報と対応付けて図示しない記憶媒体等に予め格納されており、グループ化部104は、グループ化の対象となる一のデータから一の関連指定情報を検出した場合、検出された一の関連指定情報に対応付けられた、関連するデータの位置を指定する情報を読み出し、当該位置を指定する情報が示す位置に配置されているデータを、グループ化の対象となる一のデータと対応付けてグループ化する。関連するデータの位置を指定する情報は、例えば、関連指定情報が含まれるデータに対する相対的な位置の情報であっても、絶対的な位置の情報であっても良い。関連指定情報は、テキストであっても良いし、画像であっても良い。具体的には、関連指定情報は、矢印や、方向を表す三角形、人差し指のマーク等の、方向を指し示すデータであることが好ましい。関連指定情報が方向を指し示すデータである場合、上述した関連指定情報に対応付けられた、関連するデータの位置を指定する情報は、この方向を指し示すデータが指し示す方向の位置を指定する情報である。また、関連指定情報は必ずしも隣接して配置されているデータの位置を指定する情報でなくてもよく、他のデータを介して配置されているデータ等を指定する情報であっても良い。データにおける関連指定情報の検出は、関連指定情報が、例えば、テキストであれば、通常の文字の検索により行うことが可能である。また関連指定情報が画像データであれば、画像データのファイル名等で検索したり、データ内に配置されている画像と、関連指定情報として定義されている一以上の画像とのパターンマッチングや、相関を求めることで、検出が可能である。なお、関連指定情報を用いたデータ間の関連付けを、グループ化の前に行うようにし、関連づけられた一方のデータがグループ化の対象となった場合に、当該データに対応付けられた他方のデータも同じグループにグループ分けするようにしてもよい。
グループ化部104による関連指定情報を用いる処理の具体例を以下に説明する。画像データAの下方に、当該画像データAのキャプションであるテキストデータBが配置されており、テキストデータBの先頭に、上方を指す一つの矢印の文字が配置されていたとする。この矢印の文字が、関連指定情報の一つであったとする。そして、グループ化部104によるグループ化の処理中に、例えば、テキストデータBが、一のグループのK番目の属性指定情報の指定するデータであると判断された場合、グループ化部104が、テキストデータB内において、関連指定情報の検索を行う。ここでは、上方を示す矢印である関連指定情報が検索されるため、グループ化部104は、テキストデータBの上方を走査して、直上に位置する配置領域に配置されているデータである画像データAを検出し、この画像データAとテキストデータBとを対応付けて、一のグループのデータとしてグループ分けする。ここで、例えば、テキストデータBの先頭に上方を示す二つの矢印を含む文字が配置されていたとすると、グループ化部104は、テキストデータBの配置されている配置領域から、二つ上の配置領域に配置されているデータを、テキストデータBと対応付けてグループ化する。なお、関連指定情報により示される関連とは、この具体例のように、一のデータと、そのデータを説明する他のデータとの関連等、どのような関連であっても良い。
出力部105は、グループ化部104がグループ分けしたデータを出力する。具体的には、出力部105は、グループ化部104がグループ分けしたデータを、グループが識別できる態様で出力する。出力部105は、例えば、各グループに属するデータを識別可能な情報、例えば、グループ別にデータが階層化されたXML情報や、タブ区切りテキスト等のデータベースに登録可能な形式の情報や、各グループのデータを一の行や列に配列したテーブルやスプレッドシートの情報として出力する。このような情報は、グループ化部104が構成しても良いし、グループ化部104がグループ分けした情報に応じて出力部105が構成しても良い。また、出力部105は、各グループのデータをデータベースの1レコードとしてデータベースに蓄積してもよい。このとき、各グループを構成するデータは、それぞれの属性に対応した項目と結びつけてデータベースに登録される。また、出力部105は、グループ別に用意されたバッファ等にデータをグループ別に蓄積してもよい。出力部105は、各データとそれぞれが属するグループの識別情報とを対応付けた情報を出力しても良い。ここで述べる出力とは、ディスプレイへの表示、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。この実施の形態においては、特に、出力は、グループ化したデータを、各グループを一つのレコードとしてデータベースに登録することであってもよい。出力部105は、通信デバイスやデータの入出力インターフェース等の出力デバイスを含むと考えても含まないと考えても良い。出力部105は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
データ属性分類部106は、配置領域に配置されたデータの属性を取得し、当該データの属性を分類する。具体的には、データ属性分類部106は、各配置領域に配置されたデータの属性(タイプ)を順次検出し、その検出した属性を分類する。ここで述べる属性は、上述した属性指定情報により指定され得る属性と同様であり、データ自身の属性であっても良いし、データが配置されている配置領域の属性であってもよい。例えば、検出する属性は、データのフォントやフォントサイズであっても良い。また、データが配置されている配置領域の書体指定や、フレームサイズ等であってもよい。なお、一つのデータに複数の書体が含まれている場合、最も文字数の多い書体を、当該配置領域の書体の属性として検出しても良い。データ属性分類部106は、通常は、ユーザ等により予め指定された属性について検出を行う。データ属性分類部106は、検出対象となる属性を指定する情報は、例えば、図示しない記憶媒体等に格納される。例えば、予めフォントサイズの属性を取得することが指定されていた場合、配置されている一以上のデータに含まれている文字列のフォントサイズのデータであるかを順次取得していく。この検出の結果、配置されている複数のデータから、14ポイント、12ポイント、10.5ポイントのフォントサイズの情報が取得されたとする。この場合、データ属性分類部106は、配置されているデータの属性を、配置されたデータに出現するフォントサイズのパターンである14ポイント、12ポイント、10.5ポイントという三つの属性に分類する。あるいは、フォントサイズに加えて、書体の情報も属性として順次取得するようにし、各データから取得した書体の情報とフォントサイズの情報との組み合わせのパターンを、データの属性に分類してもよい。例えば、ゴシック体14ポイント、明朝体12ポイント、ゴシック体10.5ポイントという3パターンの属性に分類してもよい。また、例えば、予めデータが配置される配置領域の属性であるラベル名を取得することが指定されていた場合、一以上のデータが配置されているラベルのラベル名を順次取得していく。この検出の結果、データが配置されている複数の配置領域から、「タイトル」、「本文」、「画像」、「連絡先」というラベル名が取得されたとする。この場合、データ属性分類部106は、配置されているデータの属性を、「タイトル」、「本文」、「画像」、「連絡先」という4つの属性に分類する。なお、上記のようなデータ自身の属性と、データが配置されている配置領域の属性との組み合わせを検出して、これらを組み合わせたパターンで、属性を分類しても良い。データ属性分類部106は、通常、MPUやメモリ等から実現され得る。データ属性分類部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
順序受付部107は、データ属性分類部106が分類したデータの属性に対する順序の指定を受け付け、当該受け付けた順序を示す情報である順序情報と、データの属性とを有する属性指定情報を、属性指定情報格納部103に蓄積する。例えば、上述した出力部105等が、モニタ等の表示デバイス等に、データ属性分類部106が分類したデータの属性に対して順序の指定を受け付けるための入力画面等を表示する。そして、この入力画面を介してユーザが入力した、各データの属性の順序を指定する情報を受け付ける。そして、受け付けた順序を示す順序情報と、データ属性分類部106が分類したデータの属性を示す情報とを対応付けた属性指定情報を構成し、順序受付部107が上述した属性指定情報格納部103に蓄積する。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。順序を指定するための入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。順序受付部107は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。なお、後述する順序決定部108を設ける場合、この順序受付部107は省略してもよい。あるいは、順序受付部107または後述する順序決定部108のいずれか一方のみをユーザが選択的に利用できるようにしても良い。また、順序受付部107は、属性指定情報を構成するための構成として、MPUやメモリ等を備えていても良い。なお、順序受付部107が属性情報を構成する代わりに、属性指定情報を構成するための構成部を設けるようにしても良い。
順序決定部108は、データ属性分類部106が分類したデータの属性のうちの、文字のサイズに応じて、データの属性に対する順序を決定し、当該決定した順序を示す情報である順序情報と、データの属性とを有する属性指定情報を、順序受付部107属性指定情報格納部103に蓄積する。例えば、データ属性分類部106が分類したデータの属性のうちの、文字のサイズの昇順、または降順に従って、分類したデータの属性に対する順序を、降順、または昇順に決定する。そして、決定した順序情報と、データ属性分類部106が分類したデータの属性を示す情報とを対応付けた属性指定情報を、順序決定部108が上述した属性指定情報格納部103に蓄積する。なお、この順序決定部108は、文字サイズ、言い換えればフォントサイズの大きさの変換に応じて属性指定情報の順序を決定するため、配置される複数のデータが、画像データを含む場合や、フォントサイズの変化が少ない場合等には、適切ではない場合がある。従って、このような場合においては、上述した順序受付部107を用いて、順序情報を構成することが好ましい。なお、順序決定部108は、文字のサイズ以外の属性、例えばフォントや文字色等に応じて、データの属性に対する順序を決定しても良い。例えば、フォントのウェイト順、即ち太さ順に、データの属性に対する順序を決定するようにしてもよい。なお、どのような属性について、どのような優先順位で順位を決定するかについての情報は、例えば、予め図示しない記憶媒体等に格納しておく。順序決定部108は、通常、MPUやメモリ等から実現され得る。順序決定部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
領域区切画像格納部109は、データが配置される領域を区切るための画像情報である領域区切画像情報が格納され得る。領域区切画像情報については、上述しているため、ここでは説明を省略する。領域区切画像格納部109は、不揮発性の記録媒体でも、揮発性の記録媒体でも実現可能である。
次に、情報処理装置の動作の一例について図2のフローチャートを用いて説明する。
(ステップS201)データ属性分類部106は、グループ化の対象となる領域内、例えば一以上のページに配置されているデータについて、予め指定されている属性の値を順次取得する。予め指定されている属性の値は一の属性の値であっても、二以上の属性の値であっても良い。二以上の属性の値を取得した場合、二以上の属性の値の群が取得される。ここでは、全てのデータの属性の値を取得するようにしてもよいが、グループ化の対象としないデータ等については、予め、当該データの属性を取得しないようにデータを指定しておいても良い。取得した属性の値は、記憶媒体等に一時記憶する。
(ステップS202)データ属性分類部106は、ステップS201において取得した属性の値のうちの一致するものを削除する。例えば、ステップS201において属性の値の群を取得した場合、一致する属性の値の群を削除する。これにより、グループ化の対象となる領域に配置されているデータの属性の分類を取得することができる。
(ステップS203)出力部105は、ステップS202において取得したデータの属性の分類を、図示しないモニタ等に出力する。また、このとき、出力したデータの属性に対して、順序の指定を要求する出力を行うことが好ましい。
(ステップS204)順序受付部107は、データの属性の分類に対して、順序の指定を受け付けたか否かを判断する。受け付けた場合、ステップS205に進み、受け付けていない場合、ステップS204に戻る。
(ステップS205)順序受付部107は、ステップS204において受け付けた順序を指定する順序情報と、データの属性の分類を示す情報とを対応付けて属性指定情報を構成し、属性指定情報格納部103に蓄積する。
(ステップS206)グループ化部104は、属性指定情報格納部103に蓄積された属性指定情報を読み出す。
(ステップS207)グループ化部104は、カウンターKに1を代入する。
(ステップS208)グループ化部104は、K番目、ここでは一番目の順序の属性指定情報が示す属性を有するデータを検索する。例えば、データが複数のページ等に渡って配置されている場合、各ページを順番に検索していく。この検索は、一番目の順序の属性を有するデータが検出された時点で終了する。
(ステップS209)グループ化部104は、K番目、ここでは一番目の順序の属性指定情報が示す属性を有するデータが存在しているか否か、即ち検出されたか否かを判断する。存在していた場合、ステップS210に進み、存在していない場合、ステップS221に進む。
(ステップS210)グループ化部104は、ステップS208において検出したデータを、新規のグループに加える。
(ステップS211)グループ化部104は、カウンターKを1インクリメントする。
(ステップS212)グループ化部104は、ステップS206において読み出した属性指定情報に、K番目の順序の属性指定情報があるか否かを判断する。ある場合、ステップS213に進み、ない場合、ステップS207に戻る。
(ステップS213)グループ化部104は、K番目の順序の属性指定情報が示す属性を有するデータを検索する。なお、ここでの検索は、グループ分けの対象となる全ての配置されているデータについて、検索を行っても良いが、通常は、一群のデータは、一つのページ内に収まっていることが多いことから、データが複数ページに渡って配置されている場合、一番目のデータが検出されたページ内においてのみ、検索を行うようにすることが処理を速くするうえで好ましい。なお、ここでの検索は、属性が一致する全てのデータの検索であるとする。また、既に、グループ分けされているデータについては、グループ分け済みであることを示すフラグ等の管理情報を付与することで、再度検索が行われないようにすることが好ましい。
(ステップS214)グループ化部104は、ステップS213の検索においてデータが検索されたか否かを判断する。検索された場合、ステップS215に進み、検索されなかった場合、ステップS211に戻る。なお、戻る際に、出力部105等が、データに欠けがあることを示す情報を出力するようにしても良い。
(ステップS215)グループ化部104は、ステップS213で検出した全てのデータと、(N−1)番目の順序でグループ化されたデータとのそれぞれの距離、例えば、それぞれの重心間の距離を算出する。
(ステップS216)グループ化部104は、ステップS215で算出した距離が最も短いデータを決定する。ただし、距離の差が所定の範囲内のものが複数ある場合、全てを最も距離の短いデータに決定してもよい。
(ステップS217)グループ化部104は、ステップS216で決定したデータが複数か否かを判断する。複数である場合、ステップS218に進み、複数でない場合、ステップS220に進む。
(ステップS218)グループ化部104は、ステップS217で決定した各データの位置と、(N−1)番目の順序でグループ化されたデータの位置との方向を検出する。例えば、(N−1)番目の順序でグループ化されたデータに対して予め指定した方向である下向きの方向を0度として、ステップS217で決定した各データが配置される方向の角度を検出する。
(ステップS219)グループ化部104は、ステップS216で決定したデータのうちの、ステップS218で検出した方向が、より優先度の高い方向にある一のデータをグループに加える。具体的には、ステップS218で算出した角度が小さいデータを、ステップS210において新規に用意したグループに加える。そして、ステップS211に戻る。
(ステップS220)グループ化部104は、ステップS216で決定したデータを、ステップS210において新規に用意したグループに加える。
(ステップS221)グループ化部104は、グループ化されていないデータを検索して、グループ化されていないデータがあるか否かを判断する。ある場合、ステップS222に進み、ない場合、ステップS223に進む。
(ステップS222)グループ化されていないデータを最も近いグループに加える。例えば、グループ化されていないデータが配置されているページ内のデータが含まれる全てのグループの、グループに登録された順序が一番目のデータと、グループ化されていないデータとの距離を算出し、距離が最も短い一番目のデータを含むグループに、グループ化されていないデータを加える。そして、ステップS223に進む。
(ステップS223)出力部105は、グループ化されたデータを出力する。
なお、図2のフローチャートのステップS213の検索処理においては、順序が一番目であるデータが配置されている位置から、一以上の領域区切情報が検出されるまでの範囲でのみ検索を行うようにしても良い。即ち領域区切情報で区切られた範囲でのみ検索を行うようにしても良い。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。ここでは、例として、配置されているデータのうちの、文字列のデータだけをグループ化する場合を例に挙げて説明する。
図3は、グループ化の対象となるデータが配置される配置領域が指定されたページを示す図である。図3において、矩形で示した領域が配置領域である。また、各配置領域の右上に記載されている番号は、配置領域のIDである。なお、IDは、説明のための便宜上の表示であり、実際には表示する必要はない。このような配置領域の指定は、例えばユーザにより行われても良いし、予めデフォルトで指定されていても良い。
また、図4は、図3に示したページの配置領域に、グループ化の対象となるデータを配置して構成したページを示す図である。これらのデータの配置は、ユーザにより行われても良いし、自動化されて行われたものであっても良い。なお、図3や図4は、説明のための便宜上の図であり、必ずしも寸法や縦横比等は正確ではない。
図5は、図3に示したページにレイアウトされた配置領域を示す配置情報を管理するための配置情報管理表である。配置情報管理表は、「配置領域ID」、「中心座標x」、「中心座標y」、「幅」、「高さ」、「データ種類」、「ラベル」等の項目を有している。「配置領域ID」は、各配置情報に対応する配置領域を管理するための識別情報、「中心座標x」は、配置領域の中心のx座標、「中心座標y」は、配置領域の中心のy座標、「幅」は、配置領域の幅、「高さ」は配置領域の高さである。なお、座標や幅や高さの単位としては、ここでは一例としてピクセルを用いてる。「データ種類」は配置領域に配置可能な情報の種類を示し、「文字列」は文字列の情報、言い換えればテキスト情報が配置可能な領域であることを示す。また、「画像」は画像情報が配置可能な領域であることを示す。「ラベル」は、配置領域の種類を示すための情報であり、ここでは、配置領域に配置されるデータの内容の種類が同じであれば、同じラベルの値が付与されている。
図6は、図4に示した、配置領域に配置されたデータを管理するための配置データ管理表である。「データID」、「配置先」、「データ」、「フォント」、「フォントサイズ」等の項目を有している。「データID」は、データを管理するための識別情報、「配置先」はデータが配置される配置領域の識別情報で、図5の「配置領域ID」に対応している。「データ」は、配置されたデータ、「フォント」は、配置された文字列のデータのフォント名、「フォントサイズ」は、配置された文字列のデータのフォントサイズである。フォントサイズの単位は、ここでは一例としてポイントであるとする。なお、配置情報管理表と、配置データ管理表との、配置領域IDと配置先とは対応している情報であるため、この2つの管理表を用いる代わりに、これらの配置領域IDと配置先とが一致するレコード同士を結合した一の管理表を用いるようにしてもよい。
まず、ここでは、フォント名とフォントサイズとの組み合わせをグループ分けを行う際のデータ属性として利用するよう、ユーザ等により、あるいはデフォルトにより予め設定されているものとする。情報処理装置1のデータ属性分類部106は、グループ化の対象となる図4に示したようなページに配置されている全ての文字列のデータから、文字列のデータの属性であるフォント名とフォントサイズの情報との組み合わせのパターンを全種類取得する。ここでは、図6に示したデータ管理表により管理されている文字列のデータのうちの、「配置先」が、図5に示した配置情報管理表の「配置領域ID」のいずれかと一致する全てのデータの「フォント」の値と「フォントサイズ」の値との組み合わせを取得する。そして、取得した組み合わせの中から重複した組み合わせを削除することで、グループ化の対象となるデータの属性であるフォント名とフォントサイズの情報の組み合わせのパターンを得る。ここでは、「フォント=太ゴシック,サイズ=24」、「フォント=ゴシック,サイズ=12」、「フォント=ゴシック,サイズ=8」、「フォント=ゴシック,サイズ=10」、「フォント=細ゴシック,サイズ=9」という5組のフォントとフォントサイズとの組み合わせが得られる。ここではこれらの組み合わせに、パターンA〜パターンEという名称を付与する。このパターンA〜パターンEのそれぞれが、ページに配置されているデータの属性である。そして、得られた属性について、属性の名称である「属性名」と、グループ化を行う順序である「順序」を、ユーザに入力させるための入力インターフェース画面を、出力部105に出力させる。
図7は、入力インターフェース画面の一例を示す図である。各パターンに対して「属性名」と「順序」に対応した入力フィールドが設けられている。ここで入力された「属性名」が、グループ化されたデータのそれぞれのデータの項目名やタグ名となる。
ユーザが、ここでは、キーボード等(図示せず)を操作して、パターンA〜パターンEに対して、図7に示すように、「属性名」として、順番に「店名」、「概要」、「写真説明」、「お勧め」、「住所」という文字列を入力し、「順序」として「1」から「5」までを順番に入力したとする。この入力された順番の情報が、順序情報となる。順序受付部107は、入力されたこれらの「属性名」と「順序」とを受け付け、データの属性と対応付けて属性指定情報を構成し、属性指定情報格納部103に蓄積する。
図8は、順序受付部107により蓄積された属性指定情報を示す図である。属性指定情報は、「パターン名」と、「データ属性」と、「属性名」と、「順序」という属性を有している。「パターン名」はデータ属性の管理するための情報であり、ここでは、上述したパターンA〜パターンEを用いている。「データ属性」はデータの属性である。「属性名」と、「順序」とは、図7に示した「属性名」と「順序」にそれぞれ対応している。
次に、グループ化部104は、図8に示した属性指定情報のうちの「順序」が「1」であるレコードの「データ属性」の値、具体的には、パターンAである「フォント=太ゴシック,サイズ=24」というデータ属性を取得する。そして、図4に示すように配置されているデータについて、例えば左上から順番に、「データ属性」の値を満たす属性を有している情報であるか否かを判断する。例えば、グループ化部104は、左上の配置領域の「配置領域ID」が「001」であることを検出し、図6に示した配置データ管理表において、配置領域に配置されているデータのうちの「配置先」の値が「001」であるデータの「フォント」項目の値が「太ゴシック」であり、かつ「フォントサイズ」項目の値が「24」であるか否かを判断する。「配置先」の値が「001」であるデータの「フォント」項目の値が「太ゴシック」でない、もしくは「フォントサイズ」項目の値が「24」でない場合、次以降の配置領域、例えばIDが「002」である配置領域以降の配置領域についても、パターンAの「データ属性」を満たすデータが検出できるまで、上記と同様の処理を行う。ここでは、「配置先」の値が「001」である「データID」が「DA001」のデータの、「フォント」項目の値が「太ゴシック」であり、かつ「フォントサイズ」項目の値が「24」であるため、このデータ、即ち「データID」が「DA001」であるデータを、順序が一番目のデータとして新たなグループに加える。例えば、グループ別に用意されたバッファ等にこの「データID」もしくは「データ」を蓄積する。この「データID」または「データ」に対して、「順序」に対応する「属性名」を対応付けて蓄積しても良い。また、このとき、新たなグループに対して、グループ名やグループID等を受け付けるようにしても良い。
次に、グループ化部104は、図8に示した属性指定情報のうちの「順序」が「2」であるレコードの「データ属性」の値、具体的には、パターンBのデータ属性を取得する。そして、このパターンBが示すデータ属性である「フォント=ゴシック,サイズ=12」を有する全てのデータを、ページに配置されているグループ化の対象となる全ての文字列のデータの中から検索する。ここでは、「データID」が「DA002」,「DA009」,「DA016」,「DA021」であるレコードが検索条件を満たすデータであるとして検出される。そして、これらのデータと、「順序」が「1」の属性指定情報に対応するデータとしてグループ化されたデータである「DA001」との距離を算出する。具体的には、図5に示した配置情報管理表のうちの、「DA001」の「配置先」の値と一致する「配置領域ID」を有するレコードの「中心座標x」と「中心座標y」との値を取得する。また、同様に、「データID」が「DA002」,「DA009」,「DA016」,および「DA021」であるデータが配置されている配置領域の「中心座標x」と「中心座標y」との値をそれぞれ取得する。そして、「DA001」のデータの配置領域の中心座標と、「データID」が「DA002」,「DA009」,「DA016」,および「DA021」である各データの配置領域の中心座標との間の距離を、それぞれ算出する。そして、最も距離が短くなる配置領域に配置されたデータを選択する。ここでは、「データID」が「DA002」,「DA009」,「DA016」,および「DA021」である各データのうちの、「データID」が「DA002」であるデータまでの距離が一番短いため、この「データID」が「DA002」であるデータを、「順序」が「1」である属性指定情報に対応するデータである「DA001」と同じグループに加える。例えば、「DA001」のデータと同じグループのバッファ等に、この「データID」が「DA002」であるデータの「データID」もしくは「データ」を蓄積する。
次に、グループ化部104は、図8に示した属性指定情報のうちの「順序」が「3」であるレコードの「データ属性」の値、具体的には、パターンCのデータ属性を取得する。そして、このパターンCが示すデータ属性を有する全てのデータを、ページに配置されているグループ化の対象となる全ての文字列のデータの中から検索する。ここでは、「データID」が「DA005」,「DA012」であるレコードが検索条件を満たすデータであるとして検出される。そして、これらのデータと、「順序」が「2」の属性指定情報に対応するデータとしてグループ化されたデータである「DA001」との距離を算出する。そして、最も距離が短くなる配置領域に配置されたデータを選択する。ここでは、「データID」が「DA005」であるデータまでの距離が一番短いため、この「データID」が「DA005」であるデータを、「順序」が「2」である属性指定情報に対応するデータである「DA001」と同じグループに加える。
同様に、グループ化部104は、「順序」が「4」である属性指定情報、および「順序」が「5」である属性指定情報についても、上記と同様に、順次、配置されているデータを選択して、グループに加えていく。
「順序」が「5」である属性指定情報についてのグループ分けが終了した時点で、次の属性指定情報が存在しないため、一つのグループ分けを終了する。ここでのグループ分けによって、配置領域「001」、「002」、「005」、「006」、及び「007」に配置されるデータ、即ち、「データID」が「DE001」、「DE002」、「DE005」、「DE006」、及び「DE007」であるデータが一つのグループを構成するデータとしてグループ分けされる。
そして、残りの配置されているデータについても、上記と同様に、「順序」が「1」である属性指定情報が示すデータ属性を満たすデータの検索を行い、検出したデータについて、上記と同様のグループ分けを繰り返す。
ここで、図4に示した「配置領域ID」が「016」である配置領域に配置されたデータを、「順序」が「2」である属性指定情報が示すデータ属性を満たすデータとしてグループ化した場合について考える。この場合において、つぎに、「順序」が「3」である属性指定情報の「データ属性」の値であるパターンCのデータ属性を取得し、このパターンCが示すデータ属性を有する全てのデータを、ページに配置されているグループ化の対象となる全ての文字列のデータの中から検索したとする。このとき、まだグループ化されていないデータの中から、「データID」が「DA023」であるデータが検索条件を満たすデータであるとして検出されたとする。しかしながら、この場合において、このデータと、「順序」が「3」の属性指定情報に対応するデータとしてグループ化されたデータである「DA016」との距離を算出した結果、得られた値が、予め指定した閾値よりも大きい値、例えば、300ピクセル以上であったとする。この場合、この「データID」が「DA023」であるデータは、「配置領域ID」が「016」である配置領域に配置されたデータと同じグループのデータではないと判断される。この結果、「順序」が「3」の属性指定情報に対応するデータが欠けていると判断される。
このように判断された場合、次の順序である「順序」が「4」である属性指定情報の「データ属性」の値を取得して、この「データ属性」の値を用いて、上記と同様に「順序」が「4」である属性指定情報に対応したデータのグループ分けを行う。ただし、ここでは、直前の「順序」が「3」である属性指定情報に対応したデータをグループに追加できていないため、「順序」が「3」の直前の「2」である属性指定情報についてグループに加えたデータが配置された領域と、「順序」が「4」である属性指定情報の「データ属性」を満たす各データが配置された領域との距離を、隣接したデータを選ぶ際の、データ間の距離として利用すればよい。
また、図4に示した「配置領域ID」が「024」である配置領域に配置されたデータを、「順序」が「4」である属性指定情報が示すデータ属性を満たすデータとしてグループ化した場合について考える。この場合において、つぎに、「順序」が「5」である属性指定情報の「データ属性」の値であるパターンDのデータ属性を取得し、このパターンDが示すデータ属性を有する全てのデータを、ページに配置されているグループ化の対象となる全ての文字列のデータの中から検索したとする。このとき、まだグループ化されていないデータの中から、「データID」が「DA023」および「DA025」であるデータが検索条件を満たすデータであるとして検出されたとする。しかしながら、この場合において、「順序」が「4」である属性指定情報が示すデータ属性を満たすデータとしてグループ化されたデータ「DA024」の配置領域と、「データID」が「DA023」および「DA025」であるデータのそれぞれの配置領域との距離が同じであったとする。この場合、「DA024」の配置領域に対する「データID」が「DA023」および「DA025」であるデータが配置される配置領域との方向を検出する。ここでは、「データID」が「DA023」であるデータが上方向に配置され、「データID」が「DA025」であるデータが下方向に配置されていることが検出されたとする。この場合、予め指定されている設定に応じて、下方向のデータである「データID」が「DA025」であるデータを、グループに加える。
上記のようにしてグループ分けする処理を繰り返し行い、「順序」が「1」である属性指定情報が示すデータ属性を満たすデータが検出されなかった時点で、グループ化部104は、グループ分けの処理を終了する。
なお、ここでは、終了前に、グループ分けされていないデータを検索する。ここでは、「データID」が「DA023」であるデータが、グループ分けされていないデータとして検出される。このため、このデータを、最も近くに位置するグループに加えるようにする。ここでは、各グループの一番目に登録されたデータと、「データID」が「DA023」であるデータとの距離を算出して比較し、最も距離が短くなるグループに「データID」が「DA023」を加えるようにする。
図9は、グループ分けされたデータを管理するグループデータ管理表である。「グループID」はグループを識別するための識別情報である。「属性名」は、図7において入力された属性名に対応する情報である。「データ」は、グループ分けされたデータである。
図10は、ページ上において、「順序」に従って行われるグループ分けが進行する順序と、データのグループとを示す図である。図においては、説明のため配置領域だけを示しており、矢印YG01〜YG04は、図9のグループIDであるG01〜G04で表されるグループのそれぞれについて、グループ分けの進行する順序を示している。また、点線RG01〜RG04は、各グループIDに対応するデータが配置されている領域を示す。
次に、出力部105は、図9に示したようにグループ分けしたデータを出力する。具体的には、例えば、図11に示すように、一のグループを構成するデータが、上述した属性名を項目として有するデータベースの一のレコードとなるように、グループ分けしたデータをデータベースに蓄積していっても良い。このデータベースは、情報処理装置1が図示しない記憶媒体等に格納していても良いし、外部の装置等に設けられていても良い。
また、図12に示すように、いわゆるXML形式でグループ分けしたデータを出力しても良い。このとき、「属性名」はタグ名となる。また、グループ別にデータが階層化されているようにする。
なお、上記具体例において、図13に示すように、領域区切画像の一つである罫線13が配置されている場合、グループ化の対象とするデータの検索は、罫線13で区切られた範囲内で行うようにしてもよい。図14は、領域区切画像格納部109に格納されている領域区切画像を管理する領域区切画像管理表である。この管理表においては、領域区切画像である「画像」、ページ上に配置されている領域区切画像の中心のx座標およびy座標である「x座標」および「y座標」、領域区切画像のサイズである「高さ」および「幅」が管理されている。ここでは「画像」には、領域区切画像の形状を表す情報、ここでは直線が格納されており、この形状に応じたベクトル画像が、ページ上に配置されるものとする。なお、領域区切画像は、ラスタ画像であっても良い。グループ化部104は、グループ化の対象となるデータを検索する際に、領域区切画像が配置されている位置を検出するようにして、領域区切画像が配置されている位置を超えた領域に対する検索を行わない。この結果、グループ化の対象とするデータの検索を、領域区切画像で区切られた範囲内で行うことができる。例えば、図13の場合、罫線13よりも上のデータについてのグループ分けは、罫線13よりも上のデータ間でのみ行われる。また、罫線13よりも下のデータについてのグループ分けは、罫線13よりも下のデータ間でのみ行われる。これにより、より精度良く、データのグループ分けが可能となる。
以上、本実施の形態によれば、複数の配置領域に配置された複数のデータを、複数のデータの配置情報を用いて算出した距離を用いて、属性指定情報が指定する属性を有するデータ毎に、グループ分けを行うようにしたことにより、レイアウトされたデータをグループ化して出力ことができる。これにより、例えば、一旦レイアウトして配置したデータを、データベースに蓄積したり、XML形式で出力して、他のメディア等に容易に再利用することが可能となる。
なお、本実施の形態において、グループ化部104は、データに含まれる文字列の配列が、予め指定した配列であるか否かを判断し、予め指定した配列である場合に、当該文字列を、当該文字列が含まれていたデータと同じグループを構成する新たなデータとして取得してもよい。例えば、電話番号やURLや住所等は特徴的な文字の配列を持っている。従って、一のグループを構成するデータに対して、予め指定された上記のような特徴的な文字列を、文字列の検索や文字列の属性の検索やパターンマッチング等を行って検出し、検出された文字列を新たなデータとして、元のデータから取得して、図示しない記憶媒体等に蓄積とともに、この取得したデータを元のデータと同じグループに加えても良い。例えば、電話番号は、複数個の中点またはハイフォンで区切られた10桁の数字という特徴を有している。また、URLは、「HTTP://」という開始の文字列や、「.com」や「.jp」等の特徴的な文字列を有している。また、住所は、一個の中点またはハイフォンで区切られた7桁の数字である郵便番号を含んでいる。従って、このような特徴を持つ文字列を、一のグループにグループ化されたデータのうちの、予め指定された属性のデータのなかで検出し、検出されたデータを新たなデータとして取得して、同じグループに加えるようにしてもよい。
また、グループ化部104は、データに含まれる文字列に、予め指定した文字列が含まれるか否かを判断し、予め指定した文字列が含まれる場合に、当該文字列により区切られる文字列を、当該文字列が含まれていたデータと同じグループを構成するデータとして取得するようにしてもよい。ここで述べる文字列は一文字も含む概念とする。予め指定した文字列とは、例えば、記号を表す文字や、「電話」、「住所」等の特定の文字列や、外字等の、一のデータに含まれる情報の少なくとも一部を定義する文字列であり、このような文字列、もしくは文字列と句読点等で、データが一以上の要素に区切ることが可能であるとみなす。例えば、電話のマークの外字が検出された位置から、次の句読点が出るまでの文字列を、電話番号のデータと判断して取得し、取得元のデータと同じグループに属する新たなデータとして蓄積するようにしてもよい。
また、本実施の形態においては、出力部105は、複数の配置領域に配置された複数のデータ内に、順序情報が示す順序に対応したデータが欠落していた場合、ユーザにデータが欠落していることを示す情報を出力するようにしてもよい。具体的には、グループ化部104が、順序情報が示す順序に対応したデータが欠落していたと判断した場合に、データが欠落していたことを示す情報、あるいは、どのグループの、どの属性のデータが欠落していたかを示す情報を出力してもよい。この欠落していたことを示す情報を出力するタイミングは、グループ化部104がデータの欠落を検出した時点や、全てのデータについてグループ化が終了した時点等、どのようなタイミングであっても良い。そして、例えば、このようなデータが欠落していたことを示す情報の出力に応じて図示しない受付部等が受け付けた、欠落したデータの代わりのデータを指定する指示に応じたデータを、グループ化部104が、直前の順序のデータと同じグループに含めるようにしてもよい。
また、出力部105は、順序情報が示す所定の順序に対応する属性を有する複数のデータが、直前の順序のデータに対して同じ距離に存在していた場合に、グループ分けの候補となるデータが複数存在していることを示す情報を出力するようにしてもよい。このグループ分けの候補となるデータが複数存在していることを示す情報を出力するタイミングは、グループ化部104が複数のデータを検出した時点であることが好ましいが、全てのデータについてグループ化が終了した時点等の他のタイミングであっても良い。そして、例えば、この出力に応じて図示しない受付部が受け付けた、複数存在するデータのいずれかを指定する指示により指定されたデータを、グループ化部104が、直前の順序のデータと同じグループに含めるようにしてもよい。
なお、本実施の形態において、予め、グループ化の対象から除外されることを指定する属性である除外属性を持つデータについては、グループ化の際に、グループ化の対象から除外するようにしても良い。除外属性とは、具体的には、データに付与されるタグ名あるいはタグの属性や、グループ化の対象としないデータが配置されるフレーム名や、グループ化の対象としないデータのファイル名や、グループ化の対象としないデータに含まれる文字列等のデータの属性や、これらの組み合わせ等である。除外属性は、属性指定情報のいずれかと完全に一致しない、あるいは属性指定情報のいずれかに包含されない属性である必要がある。グループ化部104がグループ化を行う際に、各データが上述した除外属性を有するか否かを判断し、除外属性を有するデータであった場合には、そのデータを、グループ化の際に、除外、具体的には無視するようにしてもよい。特に、このような除外属性を有するデータであるか否かの判断を、属性指定情報に合致する属性を有するデータについて行うようにしても良いし、属性指定情報に合致するデータを検出する処理に先立って、全てのデータに対して行い、除外するデータについては、除外することを示すデータ、いわゆるフラグ等を付与しておくようにしても良い。例えば、フレーム名が「コラム」というフレームに配置されるデータの属性が、K番目の属性指定情報に合致したとしても、「コラム」というフレーム名が除外属性として予めユーザ等により指定されていれば、このフレーム内に配置されるデータを、K番目のデータとしてグループ化しないようにする。また、一旦グループ化を行った後に、これらの除外属性を有するデータを、グループ化したデータの中から検索して、除外するようにしても良い。除外属性は、例えば、図示しない記憶媒体等に記憶される。
(実施の形態2)
本実施の形態の情報処理装置は、上記実施の形態において説明した情報処理装置において、配置領域のグループ別や複数の属性指定情報別の、異なる二以上の系統によって、配置領域に配置されているデータをグループ化するようにしたものである。また、各系統でグループ化したデータ間に予め指定された共通するデータが含まれる場合、各系統間にわたって当該データに対応するデータ同士を関連付けるようにしたものである。
図15は、本実施の形態における情報処理装置のブロック図である。
情報処理装置2は、データ格納部102、データ属性分類部106、順序受付部107、順序決定部108、領域区切画像格納部109、配置情報格納部201、属性指定情報格納部202、グループ化部203、関連検出部204、関連検出用情報格納部205、および出力部206を具備する。
データ格納部102、データ属性分類部106、順序受付部107、順序決定部108、および領域区切画像格納部109の構成および動作等については、上記実施の形態1と同様であるので、ここでは説明を省略する。
なお、データ属性分類部106、順序受付部107、および順序決定部108等は、後述するように、配置領域が複数のグループに分けられている場合においては、配置領域の複数のグループ別に、データ属性の分類を行ったり、属性に対する順序の指定を受け付けたり、データの属性に対する順序を決定したりして、配置領域のグループ別に属性指定情報を作成し、属性指定情報格納部202に蓄積するようにしても良い。
また、配置領域が複数のグループに分けられているか否かに関わらず、順序受付部107および順序決定部108は、属性に対する順序の指定を複数受け付けたり、データの属性に対する順序を複数決定したりして、属性指定情報を複数作成し、属性指定情報格納部202に蓄積するようにしても良い。
配置情報格納部201には、複数の配置領域のグループにグループ分けされた配置領域を設定する配置情報が格納されている。配置領域のグループを、以下、配置領域グループと呼ぶ。複数の配置領域グループは、同じ配置領域を重複して含んでいても良い。例えば、配置情報格納部201に格納されている配置情報は、各配置領域が属するグループを指定する情報である領域グループ指定情報と対応付けられて格納されている。例えば「A」という領域グループ指定情報が付与されている配置情報は、グループAに属する配置領域を設定する配置情報であり、「B」という領域グループ指定情報が付与されている配置情報は、グループBに属する配置領域を設定する配置情報であってもよい。領域グループ指定情報は、配置領域の識別情報と対応付けられて配置情報格納部201や図示しない他の格納部等に格納されていても良い。これ以外の構成や実現手段等については、上記実施の形態の配置情報格納部と同様であるので説明は省略する。
属性指定情報格納部202には、異なる複数の属性指定情報が格納され得る。属性指定情報については、上記実施の形態において説明した属性指定情報と同様である。異なる属性指定情報は、例えば少なくとも、指定する属性の一つ以上が異なる属性指定情報であれば良く、同じ属性の指定等が重複していても良い。また、複数の属性指定情報に含まれる上述した順序情報等が異なるものであって良い。これ以外の構成や実現手段等については、上記実施の形態の属性指定情報格納部と同様であるので説明は省略する。
グループ化部203は、複数の配置領域グループのそれぞれを構成する配置領域に配置された複数のデータに対して、配置領域グループ別にそれぞれグループ分けを行う。即ち、一の配置領域グループに対して行うグループ分けを一系統のグループ分けと考えると、グループ化部203は、配置領域グループ別に、異なる系統のグループ分けを行う。例えば、複数の配置領域が、領域グループ指定情報等により、第一の配置領域と、第二の配置領域にそれぞれグループ分けされている場合、第一の配置領域と、第二の配置領域とのそれぞれについて個別に、上記実施の形態1のグループ化部203と同様に、グループ化部203は、グループ分けの処理を行う。配置領域グループ別にグループ分けされたデータは、例えば配置領域グループ別に蓄積されても良い。また、どの配置領域グループに対して行われたグループ分けの処理の結果、グループ分けされたデータであるかを示すフラグ等の情報が、グループ分けされたデータに付与されても良い。
また、グループ化部203は、属性指定情報格納部202に格納されている複数の属性指定情報をそれぞれ用いた場合について、配置領域に配置されたデータに対するグループ分けを行うようにしてもよい。即ち、一の属性指定情報を用いて行うグループ分けを一系統のグループ分けと考えると、グループ化部203は、属性指定情報別に、異なる系統のグループ分けを行うようにしてもよい。例えば、グループ化の対象となっている配置領域に配置されているデータを、複数の属性指定情報を構成する各属性指定情報をそれぞれ個別に用いて、グループ分けしていくようにしてもよい。グループ化の対象となっている配置領域とは、具体的には、一のページや、一のドキュメント上に配置されている配置領域等である。例えば、第一および第二の属性指定情報が属性指定情報格納部202に格納されている場合、一のページについて、第一の属性指定情報を用いてデータのグループ分けを行い、さらに、同一のページについて、第二の属性指定情報を用いてデータのグループ分けを行うようにしても良い。なお、上述した領域グループ指定情報等が指定する複数の配置領域グループのそれぞれを構成する配置領域が、グループ化の対象となっている各配置領域であってもよい。例えば、グループ化部203は、第一および第二の属性指定情報が属性指定情報格納部202に格納されており、配置情報格納部201に第一および第二の配置領域グループにグループ分けされた配置領域を指定する配置情報が格納されている場合、第一の配置領域グループについて、第一の属性指定情報と第二の属性指定情報とを用いたデータのグループ分けを個別に行い、さらに、第二の配置領域グループについても、第一の属性指定情報と第二の属性指定情報とを用いたデータのグループ分けをそれぞれ行うようにしても良い。
また、グループ化部203は、属性指定情報格納部202に複数の属性指定情報が格納されている場合において、複数の配置領域グループにそれぞれ配置された複数のデータに対して、それぞれ異なる属性指定情報を用いてグループ分けを行うようにしてもよい。例えば、第一の配置領域グループについて、第一の属性指定情報を用いたデータのグループ分けを個別に行い、さらに、第二の配置領域グループについては、第二の属性指定情報とを用いたデータのグループ分けを行うようにしても良い。
また、グループ化部203が、複数の配置領域グループ別にデータのグループ化を行う処理や、複数の属性指定情報別にデータのグループ化を行う処理は、並列処理するようにしても良いし、順番に行うようにしても良い。
なお、グループ化部203が行うグループ分け自体の処理やその他の処理等については、上述した実施の形態のグループ化部104の処理と同様である。グループ化部203は、通常、MPUやメモリ等から実現され得る。グループ化部203の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
関連検出部204は、配置領域の複数のグループ別にデータのグループ分けが行われる場合、グループ化部203が複数の配置領域グループ別にそれぞれグループ分けしたデータについて、ユーザ等により予め指定された共通するデータを検出する。共通するデータとは、異なる配置領域グループ間において共通して存在しているデータである。具体的には、関連検出部204は、ユーザ等により予め指定されたデータであって、複数の配置領域グループ毎にグループ分けされたデータに共通して存在しているデータを、各配置領域グループ毎にグループ分けされたデータ内において検出する。検出するデータは、例えば文字列や画像データ等である。画像データは静止画像であっても動画像であっても良い。画像データの検出は、例えば、画像データのファイル名等の識別情報や画像サイズ等の属性値等を用いて行われる。例えば、関連検出部204は、グループ化部203が複数の配置領域グループのそれぞれからグループ分けしたデータについて、予め指定されたデータの検出を行う。そして、一の配置領域グループについてグループ分けされたデータのいずれかに、指定されたデータを検出した場合、他の配置領域グループについても、それぞれ、グループ分けされたデータのいずれかに、検出されたデータと一致する文字列が存在するか否かを判断し、存在する場合、この文字列を共通するデータとして検出する。具体的には、第一の配置領域グループについてグループ分けしたデータと、第二の配置領域グループについてグループ分けしたデータとのそれぞれについて、予め指定した文字列等のデータの検出を行う。そして、例えば第一の配置領域グループについてグループ分けしたデータに、予め指定した文字列等のデータが検出された場合、第二の配置領域グループについてグループ分けしたデータのいずれかに、検出された文字列等のデータに一致する文字列等のデータが検出されるか否かを判断する。一致する場合、この文字列等のデータを共通するデータとして検出する。なお、検出対象となるデータが一つのみである場合には、一致するか否かの判断は省略して良い。
また、関連検出部204は、複数の属性指定情報別にデータのグループ分けが行われる場合、グループ化部203が複数の属性指定情報別にそれぞれグループ分けしたデータについて、予め指定された共通するデータを検出する。共通するデータとは、異なる属性指定情報を用いてグループ分けしたデータ間において共通して存在しているデータである。具体的には、関連検出部204は、ユーザ等により予め指定されたデータであって、複数の属性指定情報毎にグループ分けされたデータに共通して存在しているデータを、各属性指定情報毎にグループ分けされたデータ内において検出する。例えば、関連検出部204は、グループ化部203が複数の属性指定情報をそれぞれ用いてグループ分けしたデータについて、予め指定したデータの検出を行う。そして、予め指定したデータを検出した場合、他の属性指定情報を用いてグループ分けされたデータについてもそれぞれ、グループ分けされたデータのいずれかに、検出したデータと一致するデータが存在する否かを関連検出部204が判断する。そして、存在する場合、関連検出部204は、このデータを共通する文字列として検出する。具体的には、第一の属性指定情報を用いてグループ分けしたデータと、第二の属性指定情報を用いてグループ分けしたデータとのそれぞれについて、関連検出部204は、予め指定した文字列等のデータの検出を行う。そして、例えば第一の属性指定情報を用いてグループ分けしたグループに指定した文字列等のデータが検出された場合、第二の属性指定情報を用いてグループ分けしたグループのいずれかに、検出された文字列等のデータに一致する文字列等のデータが存在するか否かを、関連検出部204が判断する。関連検出部204は、一致する文字列等のデータが検出された場合、この文字列等のデータを共通するデータとして検出する。なお、検出対象となるデータが一つのみである場合には、一致するか否かの判断は省略して良い。
予め指定された文字列や画像等のデータは、例えば、後述する関連検出用情報格納部205に予め蓄積されるデータ指定情報で指定されるデータである。関連検出部204は、このデータ指定情報を、関連検出用情報格納部205から適宜読み出して、文字列等のデータの検出を行うようにすればよい。データ指定情報は、例えば、データが文字列である場合、文字列そのものを指定する情報であっても良いし、文字列の一部を正規化表現とした文字列であってもよい。即ち文字列の一部をいわゆるワイルドカード化した文字列であっても良い。あるいは文字列を指定するためのルール等で文字列を指定する情報であっても良い。例えばデータ指定情報は、「(1)」や「目的」等の文字列であっても良いし、「[a−z]+」(aからzまでの文字列の繰り返し)等の正規化表現を用いて文字列を指定する情報であっても良い。この場合、「(a)」や「(b)」という文字列を、データ指定情報が指定するものとなる。あるいはデータ指定情報は、「数字の前の連続した漢字」を文字列として指定する情報等のような、データを指定するルールを示す情報であっても良い。この場合、関連検出部204は、例えば、形態素解析等により、文字の種類等を検出して、ルールに適合した文字列を検出する。なお、形態素解析等については公知技術であるので説明は省略する。また、検出した文字列同士が一致するか否かは、例えば、パターンマッチング等で行われる。なお、ここで述べる文字列とは一文字であっても良い。また、データが画像である場合、画像データ自身が一致するか否かを判断するようにしても良い。また、配置領域に配置されている画像のファイル名等の識別情報や画像サイズ等の属性値等は、通常、文字列により構成されるため、データが文字列である場合と同様のデータ指定情報を用いることで、データのファイル名等の識別情報の指定が行っても良い。例えば、データが画像データである場合、データ指定情報は、指定する画像データそのものや、指定する画像データのファイル名やその一部であっても良いし、画像データの拡張子であっても良い。また、指定する画像データの識別情報等であっても良いし、指定する画像データのファイルサイズや画像の大きさ等を指定する情報であっても良い。なお、ここでの一致は、通常は完全一致であるが、必要に応じて適宜部分一致を用いるようにしても良い。
関連検出部204が文字列等のデータの検出を行うタイミング等は問わない。関連検出部204は、例えば、一の配置領域に配置されているデータが、いずれかのグループにグループ分けされるかが判断された時点で、予め指定された文字列等のデータの検出を行っても良いし、全てのデータのグループ分けが行われた時点で、予め指定された文字列等のデータの検出を行っても良い。関連検出部204は、通常、MPUやメモリ等から実現され得る。関連検出部204の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
関連検出用情報格納部205には、上述したデータ指定情報が一以上格納され得る。関連検出用情報格納部205に、データ指定情報が蓄積される過程等は問わない。データ指定情報は、例えば、ユーザ等から図示しない入力手段等を介して入力され、図示しない蓄積部等により関連検出用情報格納部205に蓄積される。関連検出用情報格納部205は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
出力部206は、上述した出力部105と同様に、グループ化部203がグループ分けしたデータを出力する。さらに、関連検出部204が検出した予め指定された共通するデータに関連するデータ同士をそれぞれ関連付けて出力する。例えば、出力部206は、関連検出部204が共通する文字列等のデータを検出した場合、この検出したデータに関連するデータ同士を対応付けることが可能なデータの出力を行う。共通するデータに関連するデータは、共通するデータ自身であっても良いし、共通するデータの前後に配置されているデータであっても良いし、共通するデータを含む段落や共通するデータと同じ配置情報内に配置されている全てのデータ等であってもよい。また、共通するデータに関連するデータは、共通するデータを含むグループ分けされたグループのデータであっても良い。検出されたデータと、関連するデータとの関連は、どのような関連であっても良い。データ同士を関連付けて出力するということは、データ同士が直接関連付けて出力されることであっても良いし、間接的に関連付けて出力されることであっても良い。例えば、共通するデータに関連するデータ同士を関連付けて出力することであっても良いし、共通するデータに関連するデータを含むグループ分けされたグループ同士を関連付けて出力することであっても良い。また、共通するデータに関連するデータと同じ配置情報内や同じ段落等に配置されているデータ同士を関連付けて出力することであっても良い。また、出力部206は、データ同士をどのように関連付けて出力しても良い。例えば、出力部206は、関連するデータや、データを含む段落や、データと同じ配置領域に配置されるデータや、データを含むグループに、共通する識別情報や、相互に参照可能な識別情報や、リンク情報等を付与した、例えば埋め込んだグループ分けしたデータを出力しても良い。また、出力部206は、関連するデータや、データを含む段落や、データと同じ配置領域に配置されるデータや、データを含むグループに付与された識別情報等を、対応付けて管理する管理情報等を出力しても良い。なお、これらの構成以外の出力部206の構成や実現手段等については、上述した出力部105と同様であるので、ここでは説明を省略する。
次に,本実施の形態の情報処理装置2の動作について、図16のフローチャートを用いて説明する。ここでは、配置領域が予め複数の配置領域グループに分けられている場合について説明する。また、ここでは例として、データ指定情報が、指定するデータと完全一致するデータである場合について説明する。なお、データが画像である場合は、画像のファイル名等の識別情報が一致するか否かを判断してもよい。
(ステップS1601)データ属性分類部106は、カウンターnに1を代入する。
(ステップS1602)データ属性分類部106は、n番目の配置領域グループを構成する配置領域に配置されているデータについて、予め指定されている属性の値を順次取得する。配置領域がどのグループに属しているかは、例えば配置情報や領域グループ指定情報等から検出する。取得する処理は、上述した図2のステップS201の処理と同様であるので、詳細な説明は省略する。
(ステップS1603)情報処理装置2のデータ属性分類部106や、出力部206や、順序受付部107等は、n番目の配置領域グループについての属性指定情報を取得し、n番目の配置領域グループと対応付けて蓄積する。例えば、配置領域グループを示す識別情報と対応付けて蓄積しても良いし、領域グループ指定情報と対応付けて蓄積しても良い。なお、この処理は、図2のステップS202からステップS205までの処理と同様の処理であるので、詳細な説明は省略する。なお、この処理において、複数の順序の指定を受け付けるようにし、受け付けた順序の指定毎に属性指定情報を取得し、蓄積するようにしても良い。
(ステップS1604)データ属性分類部106は、カウンターnを1インクリメントする。
(ステップS1605)データ属性分類部106は、n番目の配置領域グループが存在するか否かを判断する。存在する場合、ステップS1602に戻り、存在しない場合、ステップS1606に進む。
(ステップS1606)グループ化部203は、カウンターmに1を代入する。
(ステップS1607)グループ化部203は、m番目の配置領域グループに対応した属性指定情報を取得する。
(ステップS1608)情報処理装置2のグループ化部203や出力部206等は、m番目の配置領域グループについて、ステップS1607において取得した属性指定情報を用いて、データをグループ分けする処理を行う。なお、処理対象の配置領域が、m番目の配置領域グループであり、グループ分けに利用する属性指定情報が、ステップS1607で取得した属性指定情報である点を除けば、この処理は、図2のステップS207から、ステップS222までの処理と同様であるので説明は省略する。なお、m番目の配置領域グループに対応する属性指定情報が複数存在する場合、それぞれの属性指定情報を用いた場合についてグループ分けを行うようにしても良い。なお、グループ分けしたデータは、図示しないメモリやハードディスク等の記憶媒体等に一時記憶される。
(ステップS1609)グループ化部203は、カウンターmの値を1インクリメントする。
(ステップS1610)グループ化部203は、m番目の配置領域グループが存在するか否かを判断する。存在しない場合、ステップS1611に進み、存在する場合、ステップS1607に戻る。
(ステップS1611)関連検出部204は、カウンターpに1を代入する。
(ステップS1612)関連検出部204は、関連検出用情報格納部205から、p番目のデータ指定情報を取得する。
(ステップS1613)関連検出部204は、p番目のデータ指定情報を用いて検索等を行い、p番目のデータ指定情報が指定する文字列等のデータが、ステップS1608においてグループ化部203がグループ化したデータのいずれに存在するか否かを判断する。存在する場合、ステップS1614に進み、存在しない場合、ステップS1617に進む。
(ステップS1614)関連検出部204は、ステップS1613において検出された文字列等のデータを含むデータが配置されていた配置領域が属していた配置領域グループとは異なる配置領域グループについてグループ分けされたデータについて、ステップS1613において存在すると判断された文字列等のデータと一致するデータを検索する。なお、ここでは、配置領域グループ別に、属性指定情報が用意されているため、このステップの処理は、ステップS1613において検出されたデータを含むデータのグループをグループ分けした際に用いた属性指定情報とは、異なる属性指定情報を用いてグループ分けされたデータについて、ステップS1613において存在すると判断された文字列等のデータと一致するデータを検索する処理と考えても良い。
(ステップS1615)関連検出部204は、ステップS1614において、異なる配置領域グループについてグループ分けされたデータのいずれかに、ステップS1613において検出された文字列等のデータと一致するデータが検出できたか否かを判断する。検出できた場合、ステップS1616に進み、検出できなかった場合、ステップS1617に進む。
(ステップS1616)出力部206は、グループ分けされたデータのうちの、ステップS1613で検出したデータに対応するデータと、ステップS1614で検索されたデータに対応するデータとを関連付ける。例えば、それぞれの文字列等のデータが属するグループ分けされたグループの識別情報同士を対応付けて管理する管理情報を作成する。これにより、文字列に対応するデータを関連付けたこととなる。
(ステップS1617)関連検出部204は、カウンターpを1インクリメントする。
(ステップS1618)関連検出部204は、p番目のデータ指定情報があるか否かを判断する。ある場合、ステップS1612に戻り、ない場合、ステップS1619に進む。
(ステップS1619)出力部206は、ステップS1608でグループ化したデータを出力する。また、ステップS1614において関連付けたデータを出力する。この関連付けたデータは、関連付けたデータの種類等によっては、ステップS1608でグループ化したデータに埋め込んで出力しても良い。そして、処理を終了する。
なお、複数の属性指定情報を用いてそれぞれデータのグループ分けが行われた場合、ステップS1614においては、ステップS1613において検出された文字列を含むデータのグループをグループ分けした際に用いた属性指定情報とは、異なる属性指定情報を用いてグループ分けされたデータについて、ステップS1613において存在すると判断された文字列と一致する文字列を検索する処理を行うようにしてもよい。
また、正規化表現等を用いたデータ指定情報やデータを指定するルールを示すデータ指定情報のように、一のデータ指定情報で複数のデータが指定可能なデータ指定情報を用いる場合、ステップS1613等で一の予め指定されたデータが検出されたとしても、他の異なるデータが残りのグループ化されたデータ内で、検出される可能性があるため、当該一のデータ指定情報を用いた検出処理を、残りのデータに対しても、繰り返し行うようにして良い。
以下、本実施の形態の情報処理装置2の具体例について説明する。なお、ここでは、配置領域が第一及び第二の2つのグループにグループ分けされており、配置領域の各グループに対応する第一属性指定情報と第二属性指定情報とが既に属性指定情報格納部202に格納されている場合を例に挙げて説明する。なお、配置領域の第一及び第二のグループに対応する属性指定情報を登録する処理の具体例は、上記実施の形態の具体例において示した、配置領域に対して属性指定情報を設定する処理を、第一のグループの配置領域と、第二のグループの配置領域について、順番に実行すればよいため、ここでは説明を省略する。また、ここでは、一例として、データ指定情報は、文字列のデータを指定する情報であって、完全一致する文字列を指定する情報であるとする。
図17は、グループ化の対象となるデータが配置されたページを示す図である。図においては、複数の配置領域にデータが配置されている。配置領域の右上に隣接して表示されている番号は、配置領域のID(識別情報)である。ここでは、配置領域IDは、配置情報のIDと共通であるとする。なお、IDは説明の便宜上表示しているものであり、実際には表示する必要はない。また、配置領域は、図において点線で囲まれているような二つの配置領域グループにグループ分けされている。ここでは、配置領域グループを、第一配置領域グループ1701および第二配置領域グループ1702と呼ぶ。各配置領域を示す配置情報は、ここでは図示しないが、図5に示した配置情報管理表と同様の配置情報管理表により管理されている。
図18は、各配置領域がどの配置領域グループに属するかを指定する領域グループ指定情報を管理する領域グループ指定情報管理表である。領域グループ指定情報管理表は、例えば、配置情報格納部201等に格納されている。領域グループ指定情報管理表は、「配置領域ID」と「グループID」とを有している。「配置領域ID」は配置領域のIDである。「グループID」は、配置領域の属するグループのIDであり、値「1」は第一配置領域グループ1701に属していることを示し、値「2」は第二配置領域グループ1702に属していることを示す。なお、領域グループ指定情報管理表は、図5に示したような、配置領域を管理する配置情報管理表に結合されていても良い。
図19は、配置情報格納部101に格納されているデータであって、図17に示した配置領域に配置されているデータを管理する配置データ管理表である。配置データ管理表は、図6に示した配置データ管理表と同様の管理表である。
上述したように、ここで、属性指定情報格納部202には、第一配置領域グループ1701に対応した属性指定情報である第一属性指定情報と、第二配置領域グループ1702に対応した第二属性指定情報とがそれぞれ格納されているものとするため、グループ化部203は、第一属性指定情報を読み出し、第一配置領域グループ1701を構成する配置領域、即ちグループIDが「1」である配置領域に配置されているデータについて、上述した実施の形態と同様のグループ分けする処理を行う。また、グループ化部203は、第二属性指定情報を読み出し、第一配置領域グループ1701を構成する配置領域、即ちグループIDが「2」である配置領域に配置されているデータについて、上述した実施の形態と同様のグループ分けする処理を行う。この第一配置領域グループ1701についてのグループ分けの処理と、第二配置領域グループ1702についてのグループ分けの処理とは、ここでは例として並列処理で行われるものとする。
このグループ化の処理により、第一配置領域グループ1701を構成する配置領域に配置されたデータについては、「配置領域ID」が「001」および「002」である配置領域に配置されたデータの組、「配置領域ID」が「003」および「004」である配置領域に配置されたデータの組、「配置領域ID」が「005」および「006」である配置領域に配置されたデータの組、「配置領域ID」が「007」および「008」である配置領域に配置されたデータの組が、それぞれ、個別のグループにグループ分けされたとする。
また、第二配置領域グループ1702を構成する配置領域に配置されたデータについては、「配置領域ID」が「009」および「010」である配置領域に配置されたデータの組、「配置領域ID」が「011」および「012」である配置領域に配置されたデータの組、「配置領域ID」が「013」および「014」である配置領域に配置されたデータの組、「配置領域ID」が「015」および「016」である配置領域に配置されたデータの組が、それぞれ、個別のグループにグループ分けされたとする。
これらのグループ分けされたデータの、第一配置領域グループ1701を構成する配置領域に配置されていたデータについては、例えば、第一配置領域グループ1701についてグループ分けされたデータであることを示す情報が付与されて、図20に示すように、図示しないメモリ等の記憶媒体に一時記憶される。また、第二配置領域グループ1702を構成する配置領域に配置されていたデータについては、例えば、第二配置領域グループ1702についてグループ分けされたデータであることを示す情報が付与されて、図21に示すように、図示しないメモリ等の記憶媒体に一時記憶される。図20および図21は、図9に示したグループデータ管理表と同様の、一時記憶されたグループデータの管理表である。グループIDが同じデータは、同じグループに属するデータである。なお、ここでは、第一配置領域グループから構成されたグループには先頭が「A」であるグループIDが付与されており、第二配置領域グループから構成されたグループには先頭が「B」であるグループIDが付与されているものとする。この「A」、「B」が、どのグループについてグループ分けされたかを示す情報である。
次に、関連検出部204は、関連検出用情報格納部205に格納されている一のデータ指定情報を取得し、当該データ指定情報が指定する文字列を、グループ化部203がグループ分けしたデータ内において検出する。
図22は、関連検出用情報格納部205に格納されているデータ指定情報を示す図である。ここでは、データ指定情報は、図22に示すように、「(1)、(2)、(3)、(4)」の文字であるとする。
まず、関連検出部204は、1番目のデータ指定情報である「(1)」の文字を取得し、当該「(1)」と一致する文字をグループ化部203がグループ分けしたデータ内において検索する。
ここで、例えば、図20に示したような第一配置領域グループ1701に対応するグループデータ管理表において、「(1)」の文字列を含む「データ」を検出すると、「A01」という「グループID」と対応付けられた「データ」の中に、「ブランド:エースタイガー(1)」という「(1)」という文字列を含むレコードが検出される。
このため、関連検出部204は、図21に示すような第二配置領域グループ1702に対応するグループデータ管理表において、同様に、「(1)」の文字列を含む「データ」を検出すると、「B01」という「グループID」と対応付けられたデータの中に、「(1)セレクトショップエース」という「(1)」という文字列を含むレコードが検出される。この結果、第一配置領域グループ1701についてグループ分けされたデータと、第二配置領域グループ1702についてグループ分けされたデータとに、予め指定された共通するデータが存在することとなる。
このため、出力部206は、関連検出部204が検出したグループID「A01」と、グループID「B01」とを対応付けたレコードを有する、グループ分けされたデータの関連付けを管理する関連グループ管理表を生成し、図示しない記憶媒体等に蓄積する。
図23は、出力部206が生成した関連グループ管理表を示す図である。関連グループ管理表は、「第一グループID」と「第二グループID」という項目を有している。「第一グループID」は、第一配置領域グループ1701について構成されたデータのグループのグループIDである。また、「第二グループID」は、第二配置領域グループ1702について構成されたデータのグループのグループIDである。
以下、同様に、データ指定情報「(2)」、「(3)」、および「(4)」についても、データ指定情報「(1)」の場合と同様の処理を繰り返して、データ指定情報が指定するデータを共通に含むグループ分けされたデータの関連付けを行う。この結果、図24に示すような関連グループ管理表が得られる。なお、データの関連付けは、必ずしも1対1でなくても良く、1対多であっても、多対1であってもよい。例えば一の第一グループIDが、二つの第二グループIDにそれぞれ関連付けられてもよい。
そして、出力部206は、図示しない記憶媒体等に格納した図20および図21に示すようなグループデータ管理表でそれぞれ管理されている、第一配置領域グループ1701についてグループ化されたデータおよび第二配置領域グループ1702についてグループ化されたデータと、図24に示す関連グループ管理表とを対応付けて出力する。例えば、これらのデータを一つのフォルダにまとめたデータを、図示しない記憶媒体等に蓄積しても良いし、これらのデータを、データベース等に登録しても良い。
以上のように、本実施の形態によれば、複数の配置領域グループに対して個別にデータのグループ分けを行うことができる。このため、例えば一のページやドキュメント等に配置されているグループ分けの対象となるデータに対して、データが配置されている配置領域に応じて異なる系統によるデータのグループ化が可能となり、例えば、一のページやドキュメント等からデータの用途に応じた複数のパターンでグループ分けしたデータを取得することができる。
また、本実施の形態によれば、複数の属性指定情報別にデータのグループ分けを行うことができる。このため、例えば一のページやドキュメント等に配置されているグループ分けの対象となるデータに対して、データの属性に応じて異なる系統によるデータのグループ化が可能となり、例えば、一のページやドキュメント等からデータの用途に応じた複数のパターンでグループ分けしたデータを取得することができる。
また、本実施の形態によれば、複数の配置領域グループ別にグループ化されたデータに、予め指定された共通するデータに関連するデータが、同士をそれぞれ関連付けて出力する
また、本実施の形態によれば、複数の配置領域グループ別や複数の属性指定情報別にそれぞれグループ分けしたデータ間において、予め指定された共通するデータが検出された場合に、当該共通するデータに関連するデータ同士をそれぞれ関連付けて出力するようにしたことにより、例えば、配置領域グループ別にグループ化されたデータや、異なる属性指定情報を用いてそれぞれグループ化されたデータ間の、関連性のあるデータ同士を関連付けることができる。これにより、通常は異なる系統でグループ化されたデータを個別に取り扱うことができるとともに、適宜必要な場合に、この関連付けを利用することで、異なる系統でグループ化されたデータ間から関連のあるデータを適宜抽出して利用することが可能となり、配置されたデータを再利用する場合等において、データの利便性を高めることができる。
なお、本実施の形態においては、配置領域グループが複数存在し、かつ、属性指定情報が複数存在している場合について説明したが、本願は、配置領域グループだけが複数存在している場合、あるいは属性指定情報だけが複数存在している場合においても適用できるものであり、このような場合においても上記実施の形態と同様の効果を奏する。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、データ格納部に格納された複数のデータをそれぞれ配置するための領域である複数の配置領域に配置された複数のデータを、当該複数のデータの配置領域を設定する情報であって、配置情報格納部に格納されている情報である配置情報を用いて、一のグループに分類される複数のデータの属性を指定する情報であって、属性指定情報格納部に格納されている情報である属性指定情報が指定する属性を有するデータ毎に、グループ分けするグループ化部と、前記グループ化部がグループ分けしたデータを、出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図25は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図25において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図26は、コンピュータシステム900の内部構成を示す図である。図26において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。