以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[実施の形態1]
<文書検索システムの全体構成>
図1は、文書検索システム1の全体構成を示す図である。本実施の形態の文書検索システム1は、複数の文書データを記憶する文書サーバー20と、ユーザーからの検索指示に応じて、検索処理をする検索サーバー10とを備える。
文書データとは、典型的には、WordおよびExcel(登録商標)などのソフトウェアによって作成されたデータである。文書データは、WordおよびExcel以外の他のソフトウェアによって作成された文書データであってもよい。
検索サーバー10は、文書サーバー20が記憶する複数の文書データのうちからユーザーの目的とする文書データを検索するためのサーバーである。文書サーバー20は、複数の文書を、文書データとして記憶するためのサーバーである。文書サーバー20は、文書データのみならず、画像データ等を記憶してもよい。当該画像データは、文書データの作成または編集時にユーザーによって使用されてもよい。
ある局面においては、検索サーバー10および文書サーバー20のそれぞれは、文書データを記憶する機能のみならず他の機能を備える汎用のサーバーであってもよい。また、他の局面においては、検索サーバー10および文書サーバー20のそれぞれは、1つのサーバーではなく、複数のサーバーから構成されてもよい。また、他の局面においては、検索サーバー10および文書サーバー20は、一体の装置、すなわち、一体のサーバーとして構成されていてもよい。
図1に示すように、検索サーバー10と文書サーバー20とは、ネットワークを介して通信可能に構成される。
また、文書サーバー20は、ネットワークを介して、スキャナなどを備える文書読取装置2と接続されてもよい。文書サーバー20は、文書読取装置2が読み取った文書を文書データとして受信し、当該文書データを記憶する。文書サーバー20が記憶する文書データは、文書読取装置2から受信した文書データに限らず、たとえば、図示しない端末から受信した文書データであってもよい。
図1に示すように、検索サーバー10は、ネットワークを介して、ユーザーAが使用する検索端末3と接続される。検索端末3は、ユーザーAに検索結果を表示するためのディスプレイ3dを備える。検索端末3は、汎用のコンピューターであってもよいし、スマートフォンなどの携帯端末であってもよい。
以下では、文書検索システム1の検索処理の流れを説明する。検索端末3は、ユーザーAから検索指示を受け付ける。検索端末3は、ユーザーAから受け付けた検索指示を検索サーバー10へ送信する。
検索サーバー10は、検索指示に応じて検索処理を実行し、検索結果を取得する。検索サーバー10は、取得した検索結果を検索端末3へ送信する。検索端末3は、受信した検索結果をディスプレイ3dに表示する。
図1では、ユーザーAが文書データDを検索する例が示されている。図1では、検索端末3は、ユーザーAから文書データDに関する検索項目を、検索指示として受け付ける。検索項目とは、たとえば、文書データDのファイル名、文書データDが含む一部のテキスト情報などである。
また、検索項目は、たとえば、文書データDが含む画像オブジェクトに関する情報でもよい。
文書データは、テキスト、グラフまたは画像データなどの多様なオブジェクトから形成される。グラフは、表、円グラフ、棒グラフなどを含む。以下では、説明のため、表をグラフと別個として記載する場合があるが、本実施の形態においては、表は、グラフに含まれる。画像オブジェクトとは、文書データに埋め込むことが可能な画像データを意味する。当該画像データは、画像内の各画素について画素値が定義されたデータであり、文字コードを含まないデータである。画像データは、たとえば、JPEG形式、GIF形式,PNG形式、TIFF形式などのデータを含む。
検索項目として受信する画像オブジェクトに関する情報とは、たとえば、画像オブジェクトが表す内容の種類(写真、テキスト、表、グラフ、アート文字等)、文書データ内における画像オブジェクトの位置、または画像オブジェクトの色情報などである。
たとえば、検索端末3は、「文書データの1ページ目の下部にグラフを表す画像オブジェクトがある」という画像オブジェクトに関する情報を、検索項目として受け付ける。検索サーバー10は、当該検索項目と一致する文書データを、文書サーバー20が記憶する文書データのうちから検索する。その結果、ディスプレイ3dは、文書データDのサムネイル画像Tを表示する。
<インデックス情報について>
検索サーバー10は、文書サーバー20が記憶する複数の文書データを検索するためのインデックス情報を記憶する。インデックス情報とは、検索サーバー10の検索処理の効率を向上させるための複数の文書データに関する索引情報である。
検索サーバー10は、インデックス情報の追加処理および更新処理をする。インデックス情報は、文書サーバー20が記憶する複数の文書データごとに、各文書データのファイル名、ディレクトリ、各文書データが含むテキスト情報、各文書データが含む画像オブジェクトに関する情報、または各文書データに関連付けられている文書データに関する情報を含む。
検索サーバー10は、たとえば、文書データが文書サーバー20に新たに記憶されたときに、新たに記憶された文書データのインデックス情報を追加する。以下では、検索サーバー10が新たに記憶された文書データに対するインデックス情報を追加する処理を、単に、「追加処理」と称する場合がある。
また、検索サーバー10は、予め定められた期間(たとえば、30分)が経過する度に、文書サーバー20が記憶する全てまたは一部の文書データに対するインデックス情報を更新する。以下では、検索サーバー10がインデックス情報を更新する処理を、単に、「更新処理」と称する場合がある。
また、以下では、インデックス情報の追加処理または更新処理を、総称して「インデックス処理」と称する場合がある。
検索サーバー10は、検索サーバー10が備えるCPUの負荷が閾値よりも小さいときに、更新処理をするように構成されてもよい。
このように、文書検索システム1では、新たに記憶された文書データに対して、追加処理がされ、定期的に更新処理がされる。これにより、検索サーバー10は、比較的新しいインデックス情報に基づいて、検索処理をすることができる。
<文書データの関連付け>
以下では、文書データを関連付ける処理について説明する。文書検索システム1では、検索サーバー10がインデックス処理の対象となる文書データに対して、関連付けられることができる他の文書データを特定できた場合、関連付け処理をする。
検索サーバー10は、文書データが含む画像オブジェクトが、他の文書データが含むオブジェクトと類似する場合、当該画像オブジェクトと他の文書データとを関連付けられると判断する。
検索サーバー10は、画像オブジェクトと他の文書データとが関連付けられたことをインデックス情報として記憶する。これにより、検索サーバー10は、文書データが含む画像オブジェクトと他の文書データとが関連されているか否かを判断することができる。
図2は、関連付けられる画像オブジェクトと文書データを説明するための図である。図2には、文書データの一例である文書データD1、文書データD2、および文書データD3が示されている。文書データD1~D3は、文書サーバー20に記憶されている。
文書データD1~D3は、文書編集ソフトで編集可能なファイルである。図2にて示されている文書データD1,D2の拡張子は、「.docx」である。文書データD3の拡張子は、「.xlsx」である。
図2に示される文書データD1~D3は、検索端末3が備える文書編集ソフトにより文書データD1~D3が開かれたときの表示画面を表す。たとえば、文書データD1,D2は、文書データD1,D2がそれぞれWordによって開かれたときの表示画面を表す。文書データD3は、文書データD3がExcelによって開かれたときの表示画面を表す。
文書データD1は、アルファベットに関する内容の文書データである。文書データD1は、画像オブジェクトPO1~PO3を含む。画像オブジェクトPO1~PO3は、文書データD1に埋め込まれた画像データである。
画像オブジェクトPO1は、アルファベット文字を表す画像オブジェクトである。画像オブジェクトPO2は“A”の書き方の写真を表す画像オブジェクトである。画像オブジェクトPO3は、統計データなどのグラフを表す画像オブジェクトである。
文書データD1は、画像オブジェクトPO1~PO3に加えて、テキスト情報のオブジェクトを含む。テキスト情報のオブジェクトは、たとえば、題名の「The Alphabet」、および画像オブジェクトPO1~PO3を説明する記載などである。
文書データD2は、テキスト情報のオブジェクトのみで形成される。文書データD3は、グラフのオブジェクトを含む。
画像オブジェクトPO1~PO3は、画像データである。そのため、文書編集ソフトを用いて文書データD1を開いたとしても、ユーザーは、画像オブジェクトPO1~PO3が表す内容を、編集することができない。
すなわち、画像オブジェクトPO1が表すアルファベット文字は、テキスト情報ではなく、画像データとして表示されている。そのため、文書編集ソフトを用いても、アルファベット文字は、編集不可能である。
図2に示すように、画像オブジェクトPO1が表すアルファベット文字は、文書データD2に含まれているテキスト情報であるオブジェクトO1と類似する。オブジェクトO1は、画像オブジェクトではなく、テキスト情報のオブジェクトである。そのため、文書編集ソフトを用いて文書データD2を開いた場合、ユーザーは、オブジェクトO1のアルファベット文字を、編集することができる。
画像オブジェクトPO3は、文書データD3が含むオブジェクトO2が表すグラフの画像と類似する。オブジェクトO1は、画像オブジェクトではなく、グラフのオブジェクトである。そのため、文書編集ソフトを用いて文書データD3を開いた場合、ユーザーは、オブジェクトO2のグラフを、編集することができる。
ようするに、画像オブジェクトPO1は、オブジェクトO1のスクリーンショットなどの画像データが文書データD1に埋め込まれている。同様に、画像オブジェクトPO3は、オブジェクトO2のスクリーンショットなどの画像データが文書データD1に埋め込まれている。
検索サーバー10は、文書データD1に対してインデックス処理をする際に、画像オブジェクトPO1と文書データD2とを関連付けて、インデックス情報に記憶する。同様に、検索サーバー10は、画像オブジェクトPO3と文書データD3とを関連付けて、インデックス情報に記憶する。
すなわち、文書データD1には、文書データD2,D3をスクリーンショットした画像データが埋め込まれている。よって、文書データD1が含む画像オブジェクトには、文書データD2,D3が関連付けられる。
一方で、画像オブジェクトPO2には、文書データが関連付けられない。画像オブジェクトPO2は、写真を表す画像オブジェクトである。すなわち、画像オブジェクトPO2は、カメラ等によって撮影された画像データまたは画像編集ソフトによって作成されたデータである。そのため、画像オブジェクトPO2は、元となる文書データが存在しない。本実施の形態の文書検索システム1では、写真ではないテキストまたはグラフを表す画像オブジェクトと類似するオブジェクトを含む画像データを関連付けることにより、文書データと、その文書データの作成の際に用いられた他の文書データとを関連付ける。これによれば、文書検索システム1は、文書データが含む画像オブジェクトのうち、編集される可能性の高い内容を表す画像オブジェクトに対して、関連するデータを関連付ける。そのため、ユーザーは、画像オブジェクトPO1が表すアルファベット文字を編集したい場合は、文書データD2を参照することができ、画像オブジェクトPO3が表すグラフを編集したい場合は、文書データD3を参照することができる。ようするに、文書検索システム1では、画像オブジェクトを含む文書データを検索する検索システムであり、写真を表す画像オブジェクトPO2と類似するデータが関連付けられず、テキストまたはグラフを表す画像オブジェクトPO1,PO3に類似するデータが関連付けられていることにより、検索後に文書編集作業が行われる場合であっても文書編集作業の効率の低下を防止することができる。
なお、文書データD1は、本開示における「第1データ」に対応する。文書データD2,D3は、本開示における「第2データ」に対応する。画像オブジェクトPO1は、本開示における「テキストを表す画像オブジェクト」に対応する。画像オブジェクトPO3は、本開示における「グラフを表す画像オブジェクト」に対応する。オブジェクトO1,O2は、本開示における「画像オブジェクトと類似するオブジェクト」に対応する。
<文書検索システムの機能ブロック図>
図3は、文書検索システム1が備える機能を示すブロック図である。本実施の形態における文書検索システム1は、少なくとも検索サーバー10と、文書サーバー20とを備える。
検索サーバー10は、インデックス記憶部102を備える。文書サーバー20は、複数の文書データを記憶するための文書記憶部201を備える。文書サーバー20は、たとえば、スキャナなどの文書読取装置2から受信した複数の文書データを記憶する。なお、文書記憶部201は、本開示における「記憶部」に対応する。
文書検索システム1は、さらに、検索端末3を備えてもよい。検索端末3は、ユーザーからの検索指示を受け付け、当該検索指示を検索サーバー10へと送信する。検索サーバー10は、受信した検索指示に応じて、インデックス情報を用いて検索処理を実行し、検索結果を検索端末3へと送信する。図1においてディスプレイ3dである表示部31は、検索サーバー10から受信した検索結果を表示する。表示部31は、ディスプレイ3dではなくセグメントから形成される表示、または、ディスプレイ3dによる表示に加えて音声などによる出力をしてもよい。なお、図1において表示部31は、本開示における「表示部」に対応する。
図3に示される文書検索システム1の構成は、一例であり、たとえば、検索サーバー10と、文書サーバー20と、検索端末3と、文書読取装置2との一部または全部を一体とする構成でもよい。
<検索サーバーの構成>
図4は、検索サーバー10の内部構成を示す図である。検索サーバー10は、制御部100と、検索受信部110と、検索送信部120と、サーバー通信部130と、文書データ受信部140とを備える。
制御部100は、CPU101と、インデックス記憶部102と、検索部103と、抽出部104と、特定部105と、関連付け部106と、生成部107とを備える。
なお、検索部103は、本開示における「検索部」に対応する。抽出部104は、本開示における「抽出部」に対応する。特定部105は、本開示における「特定部」に対応する。関連付け部106は、本開示における「関連付け部」に対応する。生成部107は、本開示における「生成部」に対応する。制御部100は、本開示における「コンピューター」に対応する。
CPU101は、検索サーバー10の各種機能を実現するためのプログラムを実行し得る。CPU101は、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、FPGA、またはこれらの組み合わせなどによって構成される。
CPU101は、プログラムを実行するため、図示しないRAMを参照する。RAMは、たとえば、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などである。
インデックス記憶部102は、たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリーなどの不揮発性メモリーである。
インデックス記憶部102は、文書サーバー20が記憶する複数の文書データの索引に用いるデータを、文書データごとに記憶する。
CPU101は、後述するサーバー通信部130から文書サーバー20が新たに文書データを記憶したという情報を受け付けたことを契機に、当該文書データに対するインデックス情報をインデックス記憶部102に新たに生成する生成処理をする。また、CPU101は、所定の期間が経過する度に、定期的に更新処理をする。
検索部103は、検索受信部110が受信した検索項目に基づいて、文書サーバー20が記憶する複数の文書データを検索対象として、検索処理をする。
抽出部104は、文書サーバー20が記憶する複数の文書データのうちから、インデックス処理の対象となる文書データを抽出する。その後、抽出部104は、当該インデックス処理の対象となる文書データが含む画像オブジェクトを抽出する。特定部105は、文書サーバー20が記憶する文書データのうちから、抽出部104が抽出した画像オブジェクトと類似するオブジェクトを含む文書データを特定する。
特定部105は、画像解析部1051を備える。画像解析部1051は、抽出部104が抽出した画像オブジェクトを画像解析処理する。
画像解析部1051は、画像解析処理により、画像オブジェクトが表す内容の種類を取得する。画像オブジェクトが表す内容の種類は、予め定められ、テキスト、グラフとのうちの少なくとも1つを含む。また、予め定められた画像オブジェクトが表す内容の種類には、さらに、写真、アート文字、または表などを含み得る。
特定部105は、画像解析部1051の画像解析処理に基づいて、類似するオブジェクトを含む文書データを特定する。
関連付け部106は、インデックス処理の対象である文書データと、特定部105が特定した文書データとを関連付けて、インデックス記憶部102に記憶させる。
検索サーバー10がインデックス処理をする例を、図2を用いて、説明する。画像オブジェクトPO1が表す内容の種類は、テキストである。画像オブジェクトPO2が表す内容の種類は、写真である。画像オブジェクトPO3が表す内容の種類は、グラフである。
検索サーバー10が文書データD1に対して、インデックス処理をする場合、抽出部104は画像オブジェクトPO1,PO3を抽出する。抽出部104は、文書編集ソフトによって編集可能である情報を示す画像オブジェクトのみを抽出する。
よって、文書編集ソフトによって編集可能であるテキストとグラフである画像オブジェクトPO1,PO3を抽出する。一方で、画像オブジェクトPO2が示す写真は、文書編集ソフトによって編集可能ではないため、抽出部104は、画像オブジェクトPO2を抽出しない。
特定部105は、抽出部104が抽出した画像オブジェクトPO1,PO3に類似するオブジェクトを含む他の文書データを、文書サーバー20が記憶する文書データのうちから特定する。特定部105は、画像オブジェクトPO1に対して、文書データD2を特定する。特定部105は、画像オブジェクトPO3に対して、文書データD3を特定する。
関連付け部106は、特定部105によって特定された文書データD2と、画像オブジェクトPO1を関連付けて、インデックス記憶部102に記憶させる。
検索サーバー10では、抽出部104、特定部105、関連付け部106により、文書データを関連付けて、インデックス記憶部102に記憶させることができる。
生成部107は、画像オブジェクトが表す内容に対応する新たなデータを生成する。生成部107が生成する新たなデータは、文書編集ソフトで編集可能であるように生成される。生成部107が生成する新たなデータは、本開示における「第3データ」に対応する。
検索受信部110は、検索端末3からユーザーからの検索指示を受け付ける。また、検索受信部110は、検索指示以外にも、検索端末3を介してユーザーからの命令を受信することができる。検索指示は、テキスト、画像オブジェクトの種類、色、または位置などの検索項目を含む。たとえば、検索端末3は、ユーザーから「The Alphabet」のテキスト情報を検索項目として、受け付ける。検索部103は、文書サーバー20が記憶する複数の文書データのうちから「The Alphabet」のテキスト情報を含む文書データを検索する。
あるいは、検索端末3は、ユーザーから、文書データ上にグラフを表す画像オブジェクトを有するという検索項目を受け付ける。検索部103は、文書サーバー20が記憶する複数の文書データのうちから、グラフを表す画像オブジェクトを有する文書データを検索する。
検索送信部120は、検索部103が検索した結果を表示する。すなわち、検索送信部120は、検索結果として、文書データのファイル名、ディレクトリ、サムネイル画像等を検索端末3へ提供する。
サーバー通信部130は、検索対象となる文書データが記憶されている文書サーバー20と通信する。
文書データ受信部140は、検索部103が検索した結果となる文書データのファイル名、ディレクトリ、サムネイル画像等を文書サーバー20から受信する。
<検索端末における処理手順>
図5は、検索端末3における処理手順を示すフローチャートである。検索端末3は、検索項目をユーザーから受け付ける(ステップS100)。検索端末3は、検索項目を検索サーバー10へ送信する(ステップS101)。検索端末3は、検索結果を検索サーバー10から受信する(ステップS102)。検索端末3は、受信した検索結果をディスプレイ3dに表示する(ステップS103)。これにより、文書検索システム1の文書検索機能がユーザーに提供される。
<検索サーバー10の関連付け処理手順>
図6は、検索サーバー10の関連付け処理の手順を示すフローチャートである。検索サーバー10は、上述にて説明したインデックス処理をする際に、文書サーバー20が記憶する文書データごとに当該関連付け処理をする。
検索サーバー10の抽出部104は、インデックス処理の対象となる文書データから画像オブジェクトを抽出する(ステップS201)。検索サーバー10の制御部100は、インデックス処理の対象となる文書データから画像オブジェクトを抽出できたか否かを判断する(ステップS202)。検索サーバー10の制御部100が画像オブジェクトを抽出できなかったと判断した場合(ステップS202においてNO)、検索サーバー10の制御部100は、処理を終了する。
検索サーバー10の制御部100が画像オブジェクトを抽出できたと判断した場合(ステップS202においてYES)、検索サーバー10の画像解析部1051は、抽出部104が抽出した画像オブジェクトに対して、画像解析処理をする(ステップS203)。画像解析処理については、後述で詳細に説明する。
検索サーバー10の制御部100は、抽出部104が抽出した画像オブジェクトが表す内容は、テキストまたはグラフであるか否かを判断する(ステップS204)。ここで、テキストは、アート文字を含むテキストである。また、グラフは、表、円グラフ、棒グラフを含む。画像オブジェクトが表す内容がテキストまたはグラフではない場合(ステップS204でYES)、検索サーバー10の制御部100は、処理を終了する。
画像オブジェクトが表す内容がテキストまたはグラフである場合(ステップS204でNO)、検索サーバー10の特定部105は、当該画像オブジェクトと類似するオブジェクトを含む文書データを、文書サーバー20のうちから特定する(ステップS205)。検索サーバー10の制御部100は、特定部105が文書データを特定できたか否かを判断する(ステップS206)。
特定部105が文書データを特定できなかった場合(ステップS206でNO)、検索サーバー10の制御部100は、処理を終了する。特定部105が文書データを特定できた場合(ステップS206でYES)、検索サーバー10の関連付け部106は、特定部105が特定した文書データと、インデックス処理の対象となる文書データとを関連付け、関連付けたことを意味する情報を、インデックス記憶部102に記憶させ、処理を終了する。
<検索結果の表示例1>
図7は、検索端末3が表示する検索結果の表示例1である。検索結果は、ウィンドウW1上に表示される。検索端末3は、文書データD1を検索結果として表示する。サムネイル画像T1は、文書データD1のサムネイル画像である。
検索サーバー10は、文書データD1に対して、インデックス処理がされる際に関連付け処理をする。すなわち、インデックス記憶部102は、文書データD1の画像オブジェクトPO1に対して、文書データD2が関連付けられていることを記憶する。また、インデックス記憶部102は、画像オブジェクトPO3に対して、文書データD3が関連付けられていることを記憶する。
検索サーバー10は、文書データD1を検索結果として検索端末3に送信するとき、文書データD1が含む画像オブジェクトに関連付けられている文書データがあるか否かを判断する。
文書データD1が含む画像オブジェクトPO1,PO3には、それぞれ文書データD1,D2が関連付けられているため、検索サーバー10は、文書データD1,D2が関連付けられている旨を検索端末3に送信する。
すなわち、検索端末3は、検索結果としてサムネイル画像T1とともに、メッセージM1を表示する。メッセージM1は、文書データD1に関連付けられた文書データがあることをユーザーに表示する。メッセージM1は、図7に示すような態様に限られず、たとえば、サムネイル画像T1中の画像オブジェクトPO1,PO2の色調を変化させてもよい。あるいは、画像オブジェクトPO1,PO2の周囲を赤色の枠で囲って強調して表示してもよい。なお、メッセージM1は、本開示における「1つ以上の第2データが関連付けられている旨を示す情報」に対応する。
これにより、文書検索システム1は、ユーザーに対して、検索結果の文書データD1を編集する際に、編集できない画像オブジェクトと類似するオブジェクトを含む文書データが文書サーバー20に記憶されていることを表示できる。
文書検索システム1では、関連付けられている文書データが画像オブジェクトを作成する際に元となった文書データである場合、画像オブジェクトが表す内容を、関連付けられているデータから編集させることができる。これにより、検索後にユーザーが文書編集作業を行う場合、文書編集作業の利便性を向上させることができる。
また、関連付けられている文書データが画像オブジェクトを作成する際に元となった文書データでない場合であっても、ユーザーは、文書データD1を編集する際に、参考とすることができる文書データが文書サーバー20に記憶されていることを把握することができる。
ようするに、文書検索システム1では、検索結果として表示する画像オブジェクトに関連付けられているデータを表示する。一方で、文書検索システム1では、文書編集作業において、文書編集ソフトで編集不可能である情報を表すデータに関連するデータは表示しない。さらに、文書検索システム1では、文書編集作業において、文書編集ソフトで編集可能である情報を表すデータに関連するデータのみを関連するデータとして表示する。
仮に、文書データD1が画像オブジェクトPO1,PO3を含まず、画像オブジェクトPO2のみを含む場合、メッセージM1は、表示されない。これにより、文書編集ソフトによって編集することができない写真と類似するオブジェクトを含む文書データを表示することで、文書編集作業において、関係のないデータを表示することを防ぎ、文書編集作業の効率の低下を防止することができる。
すなわち、文書検索システム1では、テキストまたはグラフを表す画像オブジェクトと類似するオブジェクトを含む文書データがあることを表示することにより、文書データD1に対する文書編集作業の利便性を向上させつつ、関係のないデータを表示することを防ぎ、文書編集作業の効率の低下を防止することができる。
なお、文書検索システム1において、検索結果と関連付けられたデータは、表示部31によって表示されず、ネットワークを介して接続された複合機などによって、印刷されてもよい。また、検索結果と関連付けられたデータは、検索サーバー10によって、他の端末に送信されてもよい。
<検索結果の表示例2>
図8は、検索端末3が表示する検索結果の表示例2である。図8の表示例において、図7の表示例と重複する構成についての説明は、繰り返さない。
図8では、メッセージM1の近傍にボタンBt1が表示される。検索端末3は、ボタンBt1がユーザーにより選択されたとき、文書データD2および文書データD3の少なくとも一方に関する情報を表示する。たとえば、検索端末3は、文書データD2および文書データD3の少なくとも一方のファイル名、ディレクトリ、またはサムネイル画像等を表示する。
これにより、文書検索システム1は、ユーザーに、文書データD1が含む画像オブジェクトPO1,PO3と関連付けられた文書データD2,D3に関する情報を提供することができる。文書検索システム1は、検索結果の表示後、文書編集作業において、使用される可能性のある文書データD2,D3を表示して、文書編集作業の利便性を向上させることができる。なお、ボタンBt1が選択されることで表示される文書データD2,D3に関する情報は、本開示の「1つ以上の第2データに関する情報」に対応する。
<検索結果の表示例3>
以下では、図9および図10を用いて、検索結果の表示例3を説明する。図9および図10の表示例において、図7の表示例と重複する構成の説明については、繰り返さない。
図9は、検索端末3が表示する検索結果の表示例3-1である。図9では、サムネイル画像T1の近傍にページ表示P1が表示される。
ページ表示P1は、文書データD1の総ページ数と、サムネイル画像T1が文書データD1の含むページのうち、いずれのページを表しているかを表示する。すなわち、ページ表示P1は、文書データD1が4枚のページから構成されることを示し、サムネイル画像T1が1枚目のページを表していることを示す。
サムネイル画像T2は、画像オブジェクトPO1に関連付けられている文書データD2のサムネイル画像である。ボタンBt2がユーザーに押下されることにより、検索端末3は、文書データD2を開く。
サムネイル画像T3は、画像オブジェクトPO3に関連付けられている文書データD3のサムネイル画像である。ボタンBt3がユーザーに押下されることにより、検索端末3は、文書データD3を開く。メッセージM2は、サムネイル画像T2,T3が関連付けられている文書データのサムネイル画像であることを示す。
検索端末3は、ページ表示P1が含むボタンBtPが押下されることにより、図10に示す表示例を表示する。
図10は、検索端末3が表示する検索結果の表示例3-2である。図10では、図9のボタンBtPが押下されたことにより、サムネイル画像として表示する文書データD1のページが送られる。
すなわち、サムネイル画像T12は、文書データD1の2ページ目を表す。文書データD1は、2ページ目に画像オブジェクトPO4を含む。画像オブジェクトPO4は、文書データD4が含むオブジェクトO3と類似する。オブジェクトO3は、文書データD4が含む表を表すオブジェクトである。本実施の形態では、表は、グラフに含まれる。画像オブジェクトPO4は、本開示における「グラフを表す画像オブジェクト」に対応する。
そのため、検索サーバー10は、文書データD1に対するインデックス処理をする際に、画像オブジェクトPO4に文書データD4を関連付ける。したがって、図10に示すように、文書データD4のサムネイル画像T4が表示される。ボタンBt4がユーザーに押下されることにより、検索端末3は、文書データD4を開く。
図9および図10に示すように、文書検索システム1では、検索結果として表示する文書データD1のサムネイル画像T1に加えて、関連付けられている文書データのサムネイル画像を表示する。
これにより、関連付けられている文書データは、ユーザーが文書編集作業を行おうとするデータであるか否かを容易に判断させることができる。なお、サムネイル画像T2,T3,T12は、本開示における「1つ以上の第2データのサムネイル画像」に対応する。
<検索結果の表示例4>
図11は、検索端末3が表示する検索結果の表示例4である。図11の表示例において、図7および図9の表示例と重複する構成に関する説明は、繰り返さない。
図11では、画像オブジェクトPO1に対して、複数のデータが関連付けられている。画像オブジェクトPO1は、文書データD2に加えて、画像データJ1が関連付けられている。画像オブジェクトPO1は、画像データJ1が含むオブジェクトO1Jと類似する。サムネイル画像T2Jは、画像データJ1を表す。ボタンBtJがユーザーに押下されることにより、検索端末3は、画像データJ1を開く。
図11に示すように、サムネイル画像T2は、サムネイル画像T1Jよりもサムネイル画像T1の近傍に表示される。これにより、文書検索システム1は、ウィンドウW1内において、サムネイル画像T2をサムネイル画像T2Jよりも強調して表示する。
サムネイル画像T2が表す文書データD2は、文書編集ソフトで編集可能である。すなわち、ユーザーは、文書データD2を編集することで、画像オブジェクトPO1が表す内容を編集することできる。一方で、画像データJ1は、文書編集ソフトで編集することができない。
したがって、文書検索システム1は、サムネイル画像T2を、サムネイル画像T2Jよりも強調して表示する。文書検索システム1では、サムネイル画像T2を強調する方法として、サムネイル画像T2の周囲を色枠で囲ってもよい。あるいは、文書検索システム1は、サムネイル画像T2をサムネイル画像T2Jよりも大きく表示してもよい。
さらに、文書検索システム1は、画像オブジェクトPO2に複数のデータが関連付けられていても、関連付けられているデータが文書編集ソフトで編集できないデータである場合、当該データを非表示としてもよい。すなわち、検索端末3は、サムネイル画像T2Jを非表示とする。
これにより、文書検索システム1は、検索結果として表示する文書データD1が含む画像オブジェクトPO1~PO3のうち、文書編集ソフトで編集可能なテキストであるアルファベット文字を表す画像オブジェクトPO1と関連付いた文書データD2のサムネイル画像T2を表示することができる。
さらに、文書検索システム1は、文書データD2が含むオブジェクトO1が編集可能か否かを判断してもよい。文書データD2自体が文書編集ソフトによって編集可能であっても、オブジェクトO1が画像データである場合などは、ユーザーは、画像オブジェクトPO1が表すアルファベットを編集することができないためである。
これにより、文書検索システム1は、より確実に文書編集ソフトで編集可能な画像オブジェクトPO2が表す内容を含むデータをユーザーに表示することができる。
<画像解析処理と特定処理について>
以下では、画像解析処理と特定処理について説明する。特定処理とは、画像オブジェクトが表す内容と類似するオブジェクトを含むデータを特定する処理である。検索サーバー10の特定部105の画像解析部1051は、抽出部104が抽出した画像オブジェクトに対して、画像解析処理をする。
本実施の形態においては、当該画像解析処理により、特定部105は、画像オブジェクトが表す内容の種類が、アート文字を含むテキスト、表を含むグラフのいずれであるかを判断する。
さらに、特定部105は、画像オブジェクトが表す内容の種類に基づいて特定処理の種類を変更する。以下では、画像オブジェクトが表す内容の種類ごとに類似するデータを特定するための特定処理について説明する。
[テキストを表す画像オブジェクト]
画像解析部1051は、画像オブジェクトに対してOCR(Optical Character Recognition)処理をする。画像解析部1051は、OCR処理により、画像オブジェクトから文字を認識できたか否かを判断する。画像解析部1051は、文字を認識できた場合に、認識した文字が画像オブジェクトの領域を占有する割合を算出する。
画像解析部1051は、認識した文字が画像オブジェクトの領域を占有する割合が予め定められた割合以上である場合、画像オブジェクトが表す内容の種類は、テキストであると判断する。予め定められた割合は、たとえば、80%以上である。
特定部105は、文書サーバー20に記憶されているデータのうちから、画像オブジェクトと類似するオブジェクトを含むデータを特定する特定処理をする。画像オブジェクトが表す内容の種類がテキストであると画像解析部1051が判断した場合、特定部105は、OCR処理により認識された文字を用いて、特定処理をする。
すなわち、特定部105は、インデックス情報を用いて、複数の文書データのうちから、OCR処理により認識された文字を含む文書データを特定する。これにより、テキストを表す画像オブジェクトと類似するオブジェクトを含む文書データを特定する。以下では、画像オブジェクトが表す内容の種類がテキストである場合に、特定部105がする特定処理を「特定処理1」と称する。「特定処理1」は、画像オブジェクトが表すテキストとデータが含むテキスト情報の一致度に基づいて、類似か否かを判断する処理である。また、画像オブジェクトが表す内容の種類がテキストである場合に、特定部105がする特定処理は、本開示の「テキスト検索処理」と対応する。
[アート文字について]
アート文字は、テキストに含まれる。アート文字とは、装飾が施されたテキストを意味する。したがって、画像解析部1051は、画像オブジェクトに対してOCR処理をしてもアート文字を認識できない場合が考えられる。
画像解析部1051は、画像オブジェクトに対してOCR処理をした後に、文字が認識できない場合、画像オブジェクトの解像度を予め定められた所定の値分、低下させる。低下させた後、画像解析部1051は、画像オブジェクトに対して、再度、OCR処理をする。文字が認識できない場合、画像オブジェクトの解像度を所定の値分、さらに低下させる。
画像解析部1051は、解像度の低下と、OCR処理とを繰り返し、ある時点で文字を認識した場合、画像オブジェクトは、テキストのうちアート文字を表すと判断する。
特定部105は、インデックス情報を用いて、複数の文書データのうちから、OCR処理により認識された文字を含む文書データを特定する。これにより、テキストを表す画像オブジェクトと類似するオブジェクトを含む文書データを特定する。
以下では、画像オブジェクトが表す内容の種類がアート文字である場合に、特定部105がする特定処理を「特定処理4」と称する。
[グラフを表す画像オブジェクト]
画像解析部1051は、画像オブジェクトが含む画素値を解析する。画素値を解析することにより、画像解析部1051は、画像オブジェクトが円グラフ、棒グラフと相似する形状を含むか否かを判断する。
また、画像オブジェクトが円グラフ、棒グラフと類似する形状を含む場合、画像解析部1051は、画像オブジェクトが表す内容は、グラフであると判断する。また、折れ線グラフと形状が類似する直線が含まれると判断した場合、画像解析部1051は、画像オブジェクトが表す内容は、グラフであると判断する。画像解析部1051は、画像オブジェクトが表す内容は、グラフのうち、円グラフ、棒グラフ、または折れ線グラフなどのいずれの種類を表すグラフであるかを判断する。
また、画像解析部1051は、画像オブジェクトに対してOCR処理をすることにより、画像オブジェクトが表すグラフに含まれている文字を認識する。
特定部105は、画像解析部1051が判断したグラフの種類に基づいて、同一のグラフの種類を含む文書データであって、OCR処理によって認識した文字と同一の文字を含む文書データを特定する。
以下では、画像オブジェクトが表す内容の種類がグラフである場合に、特定部105がする特定処理を「特定処理3」と称する。「特定処理3」は、画像解析処理により、画像オブジェクトがグラフを表すか判断する処理である。
[表について]
表は、グラフに含まれる。画像解析部1051は、画像オブジェクトが含む画素値を解析する。画素値を解析することにより、画像解析部1051は、画像オブジェクトに直線が含まれているか否かを判断できる。また、画像解析部1051は、ます目状になった複数の直線が画像オブジェクトに含まれているか否かを判断する。
ます目状になった複数の直線が含まれていると判断した場合、画像解析部1051は、画像オブジェクトに対してOCR処理をする。画像解析部1051は、OCR処理にて認識した文字または単語が、直線に形成された、ます内に配置されているか否かを判断する。ます内に文字または単語が配置されている場合、画像解析部1051は、画像オブジェクトがグラフのうち表を表すと判断する。
画像オブジェクトがグラフのうち表を表すと判断された場合、特定部105は、表のオブジェクトを含む文書データであって、当該表内に入力されている文字が、OCR処理によって認識し文字と一致するかを判断する。
表の構成、文字の一致の割合が予め定められた閾値を超えた場合、特定部105は、グラフのうち表を示す画像オブジェクトと類似するオブジェクトを含むデータであるとして特定する。以下では、画像オブジェクトが表す内容の種類が表である場合に、特定部105がする特定処理を「特定処理2」と称する。「特定処理2」は、画像オブジェクトが表す内容にグラフのうち表が含まれているか否かを画像解析処理により判断する処理である。表は、ます目状の表に限らず、他の形状の表であってもよい。
[写真を表す画像オブジェクト]
画像解析部1051は、画素値の解析の結果、全ての画素に対して、隣接する画素間の画素値が変化しているか否かを判断する。画像解析部1051は、画像オブジェクトの領域に対して画素値が同一の画素が隣接する領域の割合が、予め定められた割合未満である場合、画像オブジェクトが表す内容が写真であると判断する。予め定められた割合とは、たとえば70%である。すなわち、カメラによって撮影された写真は、階調の変化が激しいため、隣接する画素間の画素値が同一である領域は、文書編集ソフトによって作成されたテキストまたはグラフなどを表す画像と比較して小さくなる。
特定部105は、画像オブジェクトが表す内容が写真であると判断した場合、特定処理をしない。
以上のように、特定部105は、画像解析部1051が判断した画像オブジェクトが表す内容の種類に応じて、特定処理をする。画像オブジェクトが表す内容の種類の各々に応じた特定処理をすることにより、特定処理の効率、速度が向上する。
画像解析部1051が画像オブジェクトの表す内容がいずれ種類であるか判断できない場合、画像解析部1051は、画像オブジェクトが含む全ての画素値を解析する。特定部105は、画像解析部1051が解析した画素値と予め定められた割合以上、一致する画像オブジェクトを特定する。画像オブジェクトの全ての画素値を比較する処理は、本開示の「画像検索処理」に対応する。
図12は、特定処理の手順を示すフローチャートである。検索サーバー10の抽出部104は、画像オブジェクトを抽出する(ステップS300)。検索サーバー10は、抽出部104が画像オブジェクトを抽出できたか否かを判断する(ステップS301)。画像オブジェクトが抽出できなかった場合(ステップS301でNO)、検索サーバー10は処理を終了する。
画像オブジェクトが抽出できた場合(ステップS301でYES)、画像解析部1051は、抽出された画像オブジェクトに対して、画像解析処理をする(ステップS302)。
特定部105は、画像オブジェクトが表す内容の種類がテキストであるか否かを判断する(ステップS303)。テキストであると判断した場合(ステップS303でYES)、特定部105は、特定処理1をする(ステップS304)。
テキストではないと判断した場合(ステップS304でNO)、特定部105は、画像オブジェクトが表す内容の種類が表であるか否かを判断する(ステップS305)。表であると判断した場合(ステップS305でYES)、特定部105は、特定処理2をする(ステップS306)。
表ではないと判断した場合(ステップS305でNO)、特定部105は、画像オブジェクトが表す内容の種類がグラフであるか否かを判断する(ステップS307)。グラフであると判断した場合(ステップS307でYES)、特定部105は、特定処理3をする(ステップS308)。
グラフではないと判断した場合(ステップS307でNO)、特定部105は、画像オブジェクトが表す内容の種類がアート文字であるか否かを判断する(ステップS309)。アート文字であると判断した場合(ステップS309でYES)、特定部105は、特定処理4をする(ステップS310)。
アート文字ではないと判断した場合(ステップS309でNO)、特定部105は、画像オブジェクトが表す内容の種類が写真であるとして、特定処理をせずに処理を終了する。
<画像オブジェクトの強調表示>
図13は、画像オブジェクトを強調表示する例を示す図である。検索端末3は、文書データD5を検索結果として表示する。サムネイル画像T5は、文書データD5のサムネイル画像である。
文書データD5は、オブジェクトNPO3が画像オブジェクトではない点において、文書データD1と異なる。すなわち、オブジェクトNPO3は、グラフのオブジェクトであり、文書編集ソフトで文書データD5が開かれることで、編集可能なオブジェクトである。検索端末3は、サムネイル画像T5に加えて、サムネイル画像T52を表示する。サムネイル画像T52は、サムネイル画像T5に対応する画像であり、文書データD5のいずれの領域が画像オブジェクトであるかを示す。
画像オブジェクトPO1,PO2は、サムネイル画像T52にてハッチングがされることにより強調されて表示される。
これにより、検索端末3は、サムネイル画像T5のうち、いずれの領域が文書編集ソフトで編集可能か否かをユーザーに容易に把握させることができる。オブジェクトNPO3と対応する領域は、オブジェクトNPO3が画像オブジェクトではない文書編集ソフトで編集可能なオブジェクトであるため、ハッチングがされない。
これにより、文書検索システム1では、文書データD5が文書編集ソフトで開かれたとき、サムネイル画像T52により、オブジェクトNPO3は編集可能である一方で、画像オブジェクトPO1が表すアルファベット文字は編集することができないことを、ユーザーに把握させることができる。
検索端末3は、ユーザーが画像オブジェクトPO1または画像オブジェクトPO2を選択したことを受け付けることができる。受け付けた後、検索端末3は、いずれの画像オブジェクトが選択されたかを検索サーバー10に送信する。
検索サーバー10は、受信した画像オブジェクトに対して、インデックス情報の更新処理をする。更新処理後、選択された画像オブジェクトと文書データが新たに関連付けられた場合、検索サーバー10は、新たに関連付けられた文書データを検索端末3に表示させる。
これにより、文書検索システム1では、更新処理がされていない画像オブジェクトが検索結果として表示されても、リアルタイムでインデックス処理をすることができ、より正確な情報を表示することができる。
ボタンBtNは、検索サーバー10の生成部107に編集可能なデータを生成させるためのボタンである。
<編集可能なデータの生成>
検索サーバー10の生成部107は、ユーザーからの指示により、画像オブジェクトが表す内容に対応する文書編集ソフトで編集可能なデータを生成する。たとえば、図13において、特定部105が、画像オブジェクトPO1,PO2と関連付けられる文書データを特定することができない場合が考えられる。
画像オブジェクトの関連付けられるデータが特定できなければ、ユーザーは、当該画像オブジェクトが表す内容を文書編集ソフトで編集することができない。
そこで、検索サーバー10は、画像解析処理により、画像オブジェクトを解析し、文書編集ソフトで編集可能なデータを生成する。
図14は、画像オブジェクトの表す内容に対応する編集可能なデータの生成を示す図である。検索サーバー10は、図13のボタンBtNを介してユーザーから編集可能なデータを生成する命令を受け付けたとき、生成部107に文書データが備える画像オブジェクトに対応する編集可能なデータを生成させる。
生成部107は、画像解析部1051と同様に画像解析処理を用いて、画像オブジェクトが含む全ての画素値を取得し、画像オブジェクトが表す内容の種類を取得する。生成部107は、画像解析処理をした結果と、画像オブジェクトが表す内容の種類に応じて、編集可能なデータを生成する。
たとえば、画像オブジェクトPO1は、テキスト情報を表す画像オブジェクトである。生成部107は、画像オブジェクトPO1に対して、OCR処理をする。生成部107は、「Aa~Zz」までのアルファベットを認識する。生成部107は、「Aa~Zz」までの文字コードのテキスト情報のオブジェクトNPO1として生成する。生成部107は、オブジェクトNPO1を含む文書データD6を生成する。
画像オブジェクトPO3は、グラフを表す画像オブジェクトである。生成部107は、画像オブジェクトPO3に対して、画像解析処理をする。生成部107は、画像オブジェクトPO3が表す内容の種類がグラフであることを取得する。生成部107は、画像オブジェクトPO3の画素値から、グラフの形状を取得する。
これにより、生成部107は、文書編集ソフトで編集可能な円グラフおよび棒グラフのオブジェクトNPO3を含む文書データD6を生成することができる。生成されたオブジェクトNPO1,NPO3は、ユーザーが文書編集作業に用いることができるように提供される。生成部107は、画像オブジェクトPO1,PO3の両方に対して、編集可能なデータを生成してもよいし、あるいは、ボタンBtNが押下された後に、ユーザーにいずれの画像オブジェクトに対して生成するかを選択させてもよい。あるいは、ボタンBtNを表示せず、画像オブジェクトPO1,PO2自体が選択されることより、生成部107は、選択された画像オブジェクトの編集可能なデータを生成してもよい。
生成部107が画像解析処理またはOCR処理を用いても、編集可能なデータを生成できなかった場合、検索端末3は、生成できなかったことをユーザーに対して表示する。
図13では、文書検索システム1では、ボタンBtNが押下されることで、生成部107が編集可能なデータを生成する例を示した。
生成部107が画像オブジェクトの編集可能なデータを生成できなかったとき、特定部105に特定処理をさせてもよい。すなわち、特定部105の特定処理よりも生成部107を優先させる。これにより、生成部107が生成するオブジェクトがテキスト情報などの比較的簡易に生成できるオブジェクトである場合、特定部105が複数のデータのうちから、特定する処理を省略することができる。ユーザーは、生成部107が生成したオブジェクトを用いて、画像オブジェクトが表す内容について、文書編集作業をすることが可能となる。
検索サーバー10は、インデックス処理をする際において、特定部105が画像オブジェクトに関連するデータを特定できなかった場合、生成部107に当該画像オブジェクトに対する編集可能なデータを生成させてもよい。これにより、文書検索システム1では、インデックス処理の際に、特定部105がデータを特定できなかった画像オブジェクトに対しても、文書編集可能なデータを生成することができる。ユーザーは、生成部107が生成した文書編集可能なデータを用いて、文書編集作業をすることが可能となる。
<小括>
本実施の形態における文書検索システム1は、複数のデータを記憶する文書サーバー20が含む文書記憶部201と、複数のデータのうちから、画像オブジェクトPO1,PO3を含む文書データD1を抽出するための抽出部104と、画像オブジェクトPO1,PO3は、テキストまたはグラフを表し、複数のデータのうちから、画像オブジェクトPO1,PO3と類似するオブジェクトO1,O2を含む文書データD2,D3を特定するための特定部105と、文書データD1が含む画像オブジェクトPO1,PO3のそれぞれと文書データD2,D3とを関連付けるための関連付け部106とを備える。
これによれば、文書検索システム1において、検索後に文書編集作業が行われる場合であっても文書編集作業の効率の低下を防止することができる。
また、複数のデータのうちから、ユーザーの検索要求に応じてデータを検索するための検索部103と、検索部103によって検索されたデータを検索結果として表示する表示部31とをさらに備える。表示部31は、文書データD1を検索結果として表示する場合に、文書データD1が含む画像オブジェクトPO1,PO3と関連付けられている文書データD2,D3に関する情報をさらに表示する。
これによれば、文書検索システム1では、文書データD1を検索結果として表示する場合に、文書データD1が含む画像オブジェクトが表す内容と関連付けられたデータを表示することができる。
さらに、文書データD2,D3に関する情報は、文書データD1が含む画像オブジェクトPO1,PO3に文書データD2,D3が関連付けられている旨を示す情報を含む。
これによれば、文書検索システム1では、ユーザーに対して、検索結果として表示する文書データD1にデータが関連付けられていることを表示することができる。
また、文書データD2,D3に関する情報は、文書データD2,D3のサムネイル画像を含む。これによれば、文書検索システム1では、関連付けられたデータのサムネイル画像を表示することができる。
さらに、表示部31は、関連付けられている文書データのうちの一の文書データが文書編集ソフトによって編集可能ではない場合、一の文書データに関する情報を非表示にする。これによれば、文書編集ソフトによって編集可能ではない文書データが関連付けられている場合であっても、無用にユーザーに表示することを防止することができる。
また、表示部31は、関連付けられているデータうちの一の文書データが含むオブジェクトが文書編集ソフトによって編集可能ではない場合、一の文書データに関する情報を非表示にする。これによれば、文書編集ソフトによって編集可能ではないオブジェクトを含む文書データが関連付けられている場合であっても、無用にユーザーに表示することを防止することができる。
さらに、表示部31は、文書データD1が含む画像オブジェクトPO1に文書データD2,画像データJ1が関連付けられている場合、文書データD2,画像データJ1のうち、文書データD2に関する情報を、文書データD2と異なる画像データJ1に関する情報よりも強調して表示する。画像データJ1は、文書編集ソフトによって編集可能ではない。文書データD2は、文書編集ソフトによって編集可能である。
これによれば、関連付けられているデータのうち、文書編集ソフトによって編集可能である文書データD2を強調して表示することができる。
また、表示部31は、文書データD1が含む画像オブジェクトPO1に文書データD2,画像データJ1が関連付けられている場合、文書データD2,画像データJ1のうち、文書データD2に関する情報を、文書データD2と異なる画像データJ1に関する情報よりも強調して表示する。
画像データJ1は、文書編集ソフトによって編集可能であるオブジェクトを含まない。文書データD2は、文書編集ソフトによって編集可能であるオブジェクトを含む。これによれば、関連付けられているデータのうち、文書編集ソフトによって編集可能であるオブジェクトを含む文書データD2を強調して表示することができる。
さらに、特定部105は、予め規定されている複数種類の特定処理1~4のいずれかで、文書データD2,D3を特定する特定処理をする。画像オブジェクトPO1,PO3が表す内容の種類に基づいて、特定処理をするための複数種類の特定処理1~4を変更する。これによれば、画像オブジェクトPO1,PO3が表す内容の種類に応じて、適切な特定処理をすることが可能となり、画像オブジェクトが含む全ての画素値を比較する画像解析処理を省くことができる。
また、画像オブジェクトPO1,PO3が表す内容の種類は、テキストと、グラフとのうちの少なくとも1つを含む。
さらに、複数種類の特定処理1~4は、画像検索処理と、テキスト検索処理とのうちの少なくとも1つを含む。
また、表示部31は、検索結果として表示する文書データD1が含む画像オブジェクトPO1を強調して表示する。これによれば、文書検索システム1では、画像オブジェクトと、それ以外のオブジェクトとを区別して表示することができる。
さらに、表示部31が表示する画像オブジェクトPO1,PO3のうち、ユーザーによって選択された画像オブジェクトを受信する検索受信部110をさらに備える。特定部105は、複数のデータのうちから、検索受信部110が受信した画像オブジェクトと類似するオブジェクトを含む文書データを特定する。
また、文書データD1に基づいて、編集可能なデータである文書データD6を生成するための生成部107をさらに備える。文書データD6は、文書データD1が含む画像オブジェクトPO1,PO3と類似するオブジェクトNPO1,NPO3を含む。オブジェクトNPO1,NPO3は、文書編集ソフトで編集可能なデータである。
これによれば、文書検索システム1では、画像オブジェクトが表す内容と類似する文書データで編集可能なオブジェクトを生成することができる。
さらに、生成部107は、特定部105が画像オブジェクトPO1,PO3に類似する文書データD2,D3を特定できなかった場合に文書データD6を生成する。
これによれば、特定部105が特定することができなかった画像オブジェクトに対して、編集可能なオブジェクトを含む文書データを新たに生成することができる。
また、特定部105は、生成部107が画像オブジェクトPO1,PO3に基づいて文書データD6を生成できなかった場合に文書データD2,D3を特定する特定処理をする。
これによれば、文書検索システム1では、生成部107が生成に失敗した場合であっても、特定部105により、画像オブジェクトと類似するオブジェクトを含むデータを特定することができる場合がある。
さらに、本実施の形態における文書検索方法は、複数のデータを記憶する文書検索システムにおける文書検索方法ある。文書検索方法は、複数のデータのうちから、画像オブジェクトPO1,PO3を含む文書データD1を抽出するステップと、画像オブジェクトPO1,PO3は、テキストまたはグラフを表し、複数のデータのうちから、画像オブジェクトPO1,PO3に類似するオブジェクトO1,O2をそれぞれ含む文書データD2,D3を特定するステップと、文書データD1が含む画像オブジェクトPO1,PO3と文書データD2,D3とを関連付けるステップとを含む。
これによれば、文書検索方法において、検索後に文書編集作業が行われる場合であっても文書編集作業の効率の低下を防止することができる。
また、複数のデータを操作可能である制御部100に実行されるプログラムあって、プログラムは、制御部100に複数のデータのうちから、画像オブジェクトPO1,PO3を含む文書データD1を抽出するステップと、画像オブジェクトPO1,PO3は、テキストまたはグラフを表し、複数のデータのうちから、画像オブジェクトPO1,PO3に類似するオブジェクトO1,O3を含む文書データD2,D3を特定するステップと、文書データD1が含む画像オブジェクトPO1,PO3と文書データD2,D3とを関連付けるステップとを実行させる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。