以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態における文書管理システムの一例を示す図である。図1を参照して、文書管理システム1は、文書検索装置として機能するMFP(Multi Function Peripheral)100と、パーソナルコンピュータ(以下「PC」という)5とを含む。PC5は、一般的なコンピューターである。そのハードウェア構成および機能は周知なのでここでは説明を繰り返さない。
MFP100とPC5とは、ネットワーク3で接続されており、互いに通信可能である。ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。また、ネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、インターネット等であってもよい。
図2は、本実施の形態におけるMFPの外観を示す斜視図である。図3は、MFPのハードウェア構成の概要を示すブロック図である。図2および図3を参照して、MFP(Multi Function Peripheral)100は、メイン回路110と、原稿を読み取る原稿読取部130と、原稿を原稿読取部130に搬送する自動原稿搬送装置120と、画像データに基づいて用紙に画像を形成する画像形成部140と、画像形成部140に用紙を供給する給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
自動原稿搬送装置120は、原稿トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイ上に排出する。
画像形成部140は、給紙部150により搬送される用紙に、周知の電子写真方式により画像を形成する。本実施の形態では、画像形成部140は、画像データと、用紙の媒体種別に対応する画像形成条件で、給紙部150により搬送される用紙に画像を形成する。画像が形成された用紙は排紙トレイに排出される。
メイン回路110は、MFP100の全体を制御するCPU(中央演算処理装置)111と、通信インターフェース(I/F)部112と、ROM(Read OnlY MemorY)113と、RAM(Random Access MemorY)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置118と、を含む。CPU111は、プログラムを実行するコンピューターの一例である。CPU111は、プログラムを実行することにより、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる画像データを一時的に記憶する。
操作パネル160は、MFP100の上部に設けられる。操作パネル160は、表示部161と操作部163とを含む。表示部161は、例えば、液晶表示装置(LCD)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、LCDに代えて、画像を表示する装置であれば、例えば、有機EL(electroluminescence)ディスプレイを用いることができる。
操作部163は、タッチパネル165と、ハードキー部167とを含む。タッチパネル165は、静電容量方式である。なお、タッチパネル165は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。ハードキー部167は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。
通信I/F部112は、ネットワーク3にMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワーク3に接続されたPC5または他のコンピューターと通信する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するとともに、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置118は、CPU111により制御され、CD−ROM(Compact Disk Read OnlY MemorY)118A、または半導体メモリが装着される。本実施の形態においては、CPU111は、ROM113に記憶されたプログラムを実行する例を説明するが、CPU111は、外部記憶装置118を制御して、CD−ROM118AからCPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM114に記憶し、実行するようにしてもよい。
CPU111は、画像形成部140を制御し、用紙などの記録媒体に画像データの画像を形成させる。CPU111が画像形成部140に出力する画像データは、原稿読取部130から入力される画像データの他、外部から受信されるプリントデータ等の画像データを含む。
なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、CD−ROM118Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)などの半導体メモリ等の媒体でもよい。さらに、CPU111がネットワークに接続されたコンピューターからプログラムをダウンロードしてHDD115に記憶する、または、ネットワークに接続されたコンピューターがプログラムをHDD115に書込みするようにして、HDD115に記憶されたプログラムをRAM114にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、MFPが備えるCPUが有する機能の一例を示すブロック図である。図4に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶された文書検索プログラムを実行することにより、CPU111により実現される。
図4を参照して、CPU111は、操作ユーザー特定部51と、文書管理部53と、メタデータ管理部55と、アクセス履歴記憶部57と、判断部59と、解析部61と、検索部63と、検索結果通知部65と、を含む。
操作ユーザー特定部51は、MFP100を操作するユーザーを特定する。ユーザーが操作パネル160を用いてMFP100を操作する場合、操作ユーザー特定部51は、操作パネル160を操作するユーザーを特定する。例えば、表示部161に認証画面を表示し、ユーザーが認証画面に従って操作部163に入力する認証情報を取得し、認証情報で識別されるユーザーを特定する。認証情報は、例えば、ユーザーを識別するためのIDを含む。また、MFP100が赤外線通信機能または電波を用いた近距離通信機能を有する場合には、ユーザーが携帯する携帯情報装置またはICカードなどからユーザーを識別するための情報を受信してもよい。
また、MFP100は、外部のコンピューターにより遠隔操作される場合がある。例えば、PC5を操作するユーザーがMFP100を遠隔操作する場合がある。操作ユーザー特定部51は、通信I/F部112を介してPC5と通信し、PC5に認証画面を送信する。PC5は、認証画面を表示するので、ユーザーが認証画面に従えってPC5に認証情報を入力すれば、PC5は受け付けた認証情報をMFP100に送信する。操作ユーザー特定部51は、通信I/F部112がPC5から受信する認証情報で識別されるユーザーを特定する。
以下、操作部163を操作するユーザー、およびPC5を操作してMFP100を遠隔操作するユーザーを、総称して操作ユーザーという。また、操作部163を操作するユーザーが操作部163に入力する操作、または、PC5を操作してMFP100を遠隔操作するユーザーがPC5に入力する遠隔操作を、総称してユーザー操作という。操作ユーザー特定部51は、操作ユーザーを特定することに応じて、その操作ユーザーを識別するためのユーザーID(identification)を文書管理部53および検索部63に出力する。
文書管理部53は、HDD115に記憶される文書データを管理する。文書データは、文書が表されたデータであり、文字情報をコード化したデータの他に、文字が画像で表された画像データ、図形または写真が画像で表されたデータを含む。HDD115に記憶される文書データは、原稿読取部130が原稿を読み取って出力する画像データ、通信I/F部112によりネットワーク3に接続されたコンピューター、たとえばPC5から受信されたプリントデータ、ファクシミリ部116により受信されるファクシミリデータ、外部記憶装置118により、それに装着されたCD−ROM118Aまたは半導体メモリから読み出されたデータを含む。また、文書管理部53が管理対象とする文書データは、PC5を操作するユーザーがMFP100を遠隔操作してHDD115に格納するデータを含んでもよい。文書管理部53は、文書アクセス部71と、文書バージョン管理部73と、文書消去部75と、を含む。
文書アクセス部71は、操作ユーザーによるユーザー操作に従って文書データにアクセスする処理を実行する。文書アクセス部71が文書データにアクセスする処理は、文書アクセス部71がデータを表示する表示処理、文書アクセス部71が文書データを変更する変更処理を含む。文書アクセス部71により実行される変更処理は、文書アクセス部71が新たなデータをHDD115に記憶する格納処理および文書アクセス部71がHDD115に記憶された既存のデータを変更する更新処理を含む。文書アクセス部71は、HDD115に文書データを記憶する際に、文書データにその文書データを特定するための識別情報を付与する。識別情報は、ファイル名と、バージョンとを含む。文書アクセス部71は、格納処理を実行する場合に初版であることを示すバージョンを文書データに付与し、更新処理を実行する場合に更新前の文書データに付されたバージョンをカウントアップしたバージョンを更新後の文書データに付与する。更新前の文書データと更新後の文書データとは識別情報が異なるため別のデータとして扱われる。具体的には、文書アクセス部71は、更新処理を実行し、更新後の文書データをHDD115に記憶する際に、更新前の文書データに上書きするのではなく、別の文書データとしてHDD115に記憶する。文書アクセス部71は、新たなバージョンの識別情報を文書データに付与する場合に新たなバージョンの識別情報を文書バージョン管理部73に出力する。
文書アクセス部71は、文書データにアクセスする処理を実行すると、アクセス後の文書データと操作ユーザーとをアクセス履歴記憶部57および判断部59に通知する。ここでは、文書アクセス部71は、文書データを識別するための識別情報と、操作ユーザーのユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力する。具体的には、文書アクセス部71は、表示処理を実行する場合、表示された文書データの識別情報と操作ユーザーとの組をアクセス履歴記憶部57および判断部59に出力し、変更処理を実行する場合、変更された後の文書データの識別情報と操作ユーザーとの組をアクセス履歴記憶部57および判断部59に出力する。
文書アクセス部71が実行する格納処理の具体例を説明する。文書アクセス部71は、操作ユーザーが操作パネル160を操作して、原稿読取部130に原稿を読み取らせる場合、原稿読取部130が原稿を読み取って出力する画像データを文書データとして、文書データに識別情報を付与してHDD115に記憶する。識別情報に含まれるバージョンは初版であることが示される。また文書アクセス部71は、文書データの識別情報と、操作ユーザーのユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力するとともに、文書データの識別情報を文書バージョン管理部73に出力する。
また、文書アクセス部71は、通信I/F部112によりPC5からプリントデータが受信される場合、プリントデータを文書データとして、文書データに識別情報を付与してHDD115に記憶する。識別情報に含まれるバージョンは初版であることが示される。また文書アクセス部71は、文書データの識別情報と、プリントデータとともに通信I/F部112で受信されるユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力するとともに、文書データの識別情報を文書バージョン管理部73に出力する。
また、文書アクセス部71は、ファクシミリ部116によりファクシミリデータが受信される場合、ファクシミリデータを文書データとして、文書データに識別情報を付与してHDD115に記憶する。識別情報に含まれるバージョンは初版であることが示される。また文書アクセス部71は、文書データの識別情報と、ファクシミリデータの送信元のユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力するとともに、文書データの識別情報を文書バージョン管理部73に出力する。ファクシミリデータの送信元のファクシミリ番号をユーザーIDと関連付けたユーザーテーブルを予め準備しておき、ファクシミリデータの送信元のファクシミリ番号からユーザーIDが特定される。
また、文書アクセス部71は、外部記憶装置118により半導体メモリからデータが読み出される場合、半導体メモリから読み出されたデータを文書データとして、文書データに識別情報を付与してHDD115に記憶する。識別情報に含まれるバージョンは初版であることが示される。また文書アクセス部71は、文書データの識別情報と、読み出しを指示する操作を操作部163に入力した操作ユーザーのユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力するとともに、文書データの識別情報を文書バージョン管理部73に出力する。
文書アクセス部71が実行する更新処理の具体例を説明する。文書アクセス部71は、操作パネル160を操作するユーザーが、HDD115に記憶された文書データを編集し、文書データを変更する場合、変更後の文書データに識別情報を付与してHDD115に記憶する。文書データは変更されると、変更後の文書データは、変更前の文書データから変更される。したがって、変更前の文書データと変更後の文書データとは異なる。変更後の文書データに付与される識別情報は、変更前の文書データに付与される識別情報のファイル名と同じファイル名と、バージョンがカウントアップされたバージョンとを含む。また文書アクセス部71は、変更後の文書データの識別情報と、操作ユーザーのユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力するとともに、変更後の文書データの識別情報を文書バージョン管理部73に出力する。
文書アクセス部71が実行する表示処理の具体例を説明する。文書アクセス部71は、操作パネル160を操作するユーザーが、HDD115に記憶された文書データの識別情報を指定する場合、その識別情報で識別される文書データを表示部161に表示する。表示部161に表示される前後で文書データは変更されない。この場合、文書アクセス部71は、表示後の文書データをHDD115に記憶しない。また文書アクセス部71は、文書データの識別情報と、操作ユーザーのユーザーIDとの組をアクセス履歴記憶部57および判断部59に出力する。
アクセス履歴記憶部57は、文書アクセス部71から識別情報とユーザーIDとの組が入力されることに応じて、アクセス履歴情報を記憶する。アクセス履歴情報は、識別情報と、ユーザーIDと、それらが文書アクセス部71から入力される日時とを含む。具体的には、アクセス履歴記憶部57は、識別情報とユーザーIDと日時とを含むアクセスレコードを生成し、そのアクセスレコードをHDD115に記憶されたアクセス履歴テーブルに追加する。
文書バージョン管理部73は、文書データのバージョンを管理する。具体的には、文書バージョン管理部73は、文書アクセス部71から識別情報が入力されることに応じて、その識別情報にその識別情報が入力される日時を関連付けて記憶する。より具体的には、文書バージョン管理部73は、識別情報と日時とを含むバージョンレコードを生成し、そのバージョンレコードをHDD115に記憶されたバージョン管理テーブルに追加する。文書アクセス部71から識別情報が入力される場合は、文書アクセス部71により変更処理が実行される場合であり、換言すれば、初版の文書データがHDD115に記憶される場合、または、HDD115に記憶された文書データが更新される場合である。
判断部59は、文書アクセス部71から識別情報とユーザーIDとの組が入力されることに応じて、その識別情報で特定される文書データと同一バージョンの文書データが、文書アクセス部71によりアクセスされる前にHDD115に記憶されていたか否かを判断する。具体的には、判断部59は、バージョン管理テーブルを参照して、文書アクセス部71から入力される識別情報を含むバージョンレコードを抽出し、抽出されたバージョンレコードに含まれる日時が文書アクセス部71から識別情報とユーザーIDとの組が入力される時点の日時より前か否かを判断する。
判断部59は、文書アクセス部71から入力される識別情報を含むバージョンレコードに含まれる日時が文書アクセス部71から識別情報とユーザーIDとの組が入力される時点の日時と同じならば、解析部61に解析の開始を指示する解析指示を出力するとともに、メタデータ管理部55に関連付指示を出力する。解析指示は文書アクセス部71から入力される識別情報を含む。関連付指示は、文書アクセス部71から入力される識別情報とユーザーIDとの組を含む。
判断部59は、文書アクセス部71から入力される識別情報を含むバージョンレコードに含まれる日時が文書アクセス部71から識別情報とユーザーIDとの組が入力される時点の日時より前ならば、解析部61に解析指示を出力することなく、メタデータ管理部55に関連付指示を出力する。
解析部61は、判断部59から解析指示が入力されることに応じて、解析指示に含まれる識別情報で特定される文書データの構造を解析し、文書データに含まれる構成要素の特徴を示すメタデータを生成する。解析部61は、文書データの解析に深層学習を用いる。例えば、解析部61は、文書データを画像処理して構成要素を抽出し、構成要素ごとの特徴を決定する。構成要素は、例えば、文字が表された文字領域と、図形が表された図形領域と、写真が表された写真領域と、することができる。構成要素の特徴は、その構成要素に表された画像種別と、構成要素の文書データ中の位置と、構成要素の色と、構成要素の形と、を用いることができる。画像種別は、文字領域の構成要素については文字で構成されることを示す文字種別、図形領域の構成要素については図形で構成されることを示す図形種別、写真領域の構成要素については写真で構成されることを示す写真種別とすることができる。この場合、メタデータは、構成要素ごとの画像種類と文書データ中の位置を示す位置情報とを含む。なお、解析部61による文書データの解析は、これに限定されるものではない。
なお、解析部61が文書データを解析するタイミングは、解析指示が入力される場合に限らず、文書データがアクセスされるごとに解析してもよい。文書データがアクセスされたが解析指示が入力されない場合は、メタデータ識別情報が変更されることなく、解析結果であるメタデータで解析前のメタデータが更新される。
解析部61は、メタデータを生成する場合、生成されたメタデータを文書データと関連付けてHDD115に記憶する。具体的には、解析部61は、メタデータに、メタデータを識別するためのメタデータ識別情報をファイル名として付してHDD115に記憶する。メタデータ識別情報は、文書データの識別情報を含む。メタデータは、それが生成される元になった文書データに対応する。このため、文書データが特定されると、その文書データに対応する1つのメタデータが特定される。また、解析部61は、メタデータを生成する場合、メタデータ識別情報をメタデータ管理部55に出力する。
メタデータ管理部55は、関連付部81と、解消部83と、メタデータ更新部85と、を含む。関連付部81は、操作ユーザーと、その操作ユーザーにより入力される操作に従って実行される処理の対象となった文書データに対応するメタデータとを関連付ける。関連付部81は、判断部59から関連付指示が入力される。関連付部81は、解析部61からメタデータ識別情報が入力される場合、判断部59から関連付指示が入力されることに応じて、操作ユーザーが処理の対象とした文書データから生成されたメタデータと操作ユーザーとを関連付ける。具体的には、関連付部81は、関連付指示に含まれる識別情報を含むメタデータ識別情報と、関連付指示に含まれるユーザーIDとを含む関連付レコードを生成し、生成された関連付レコードをHDD115に記憶されている関連付テーブルに追加して記憶する。
関連付部81に解析部61からメタデータ識別情報が入力されない場合、操作ユーザーが処理の対象とした文書データが変更されていない。このため、操作ユーザーが処理の対象とした文書データからメタデータが過去に生成されている。関連付部81は、操作ユーザーが処理の対象とした文書データから過去に生成されたメタデータと操作ユーザーとを関連付ける。具体的には、関連付部81は、判断部59から関連付指示が入力されることに応じて、関連付指示に含まれる識別情報と同じ識別情報を含む関連付レコードを関連付テーブルから抽出し、抽出された関連付レコードに含まれるメタデータ識別情報と、関連付指示に含まれるユーザーIDとを含む関連付レコードを生成し、生成された関連付レコードをHDD115に記憶されている関連付テーブルに追加して記憶する。
解消部83は、操作ユーザーによる文書データへのアクセスにより文書データが変更される場合、変更される前の文書データに対応するメタデータと操作ユーザーとの関連付を解消する。具体的には、解消部83は、関連付部81により新たな関連付レコードが関連付テーブルに追加されることに応じて、追加された新たな関連付レコードに含まれるユーザーIDと同じユーザーIDを含み、かつ、追加された新たな関連付レコードに含まれる識別情報のファイル名と同じファイル名の識別情報を含む関連付レコードを関連付テーブルから消去する。抽出される関連付レコードは、追加された新たな関連付レコードと識別情報のバージョンのみが異なり、操作ユーザーによる文書データへのアクセスにより文書データが変更される前の文書データに対応するメタデータと操作ユーザーとを関連付ける。
解消部83は、関連付レコードを消去する場合、消去される関連付レコードに含まれる識別情報と同じ識別情報を含む別の関連付レコードが関連付テーブルに存在しない場合、消去指示を文書消去部75に出力する。消去指示は、消去される関連付レコードに含まれる識別情報を含む。
文書消去部75は、解消部83から消去指示が入力されることに応じて、消去指示に含まれる識別情報で特定される文書データをHDD115から消去する。これにより、いずれのユーザーとも関連付けられていないメタデータに対応する文書データがHDD115に記憶されないので、HDD115の記憶領域を有効に利用することができる。文書消去部75は、文書データを削除することに応じて、削除結果を文書バージョン管理部73に出力する。削除結果は、削除された文書データの識別情報を含む。
文書バージョン管理部73は、文書消去部75から削除結果が入力されることに応じて、バージョン管理テーブルを参照して、削除結果に含まれる識別情報を含むバージョンレコードをバージョン管理テーブルから削除する。これにより、使用される予定のないバージョンレコードが消去されるので、バージョン管理テーブルからバージョンレコードを抽出する処理の負荷を低減することができるとともに、HDD115の記憶領域を有効に利用することができる。
メタデータ更新部85は、メタデータを更新する。解析部61は、文書データの解析に深層学習を用いる。このため、同一の文書データであっても解析部61による学習の程度の違いにより、メタデータが異なる場合がある。このため、メタデータ更新部85は、所定のタイミングで、解析部61を制御して、HDD115に記憶された文書データを解析させ、メタデータを生成させる。メタデータ更新部85は、解析部61に文書データを解析させる場合、文書データに対応してHDD115に記憶されたメタデータを、解析部61が解析して新たに生成するメタデータで更新する。このため、解析部61が、所定のタイミングでメタデータを更新するので、学習度合いに応じたメタデータを生成することができる。
検索部63は、指示ユーザーにより入力される検索条件に従って、HDD115に記憶されている文書データを検索する。指示ユーザーは、MFP100を操作する操作ユーザーのうち文書データの検索を指示する操作ユーザーである。検索条件は、文書データに含まれる構成要素の種類、位置、色、形の少なくとも1つを含む。位置は文書データ中の位置を示し、色は構成要素の画像の色を示し、種類は画像種別を示し、形は構成要素の形状を示す。
検索部63は、指示ユーザーによる指示に従って、HDD115に記憶されているメタデータのうちで、その指示ユーザーに関連付けられたメタデータを用いて文書データを検索する。具体的には、検索部63は、関連付テーブルから指示ユーザーのユーザーIDを含む関連付レコードを抽出し、抽出された関連付レコードに含まれるメタデータ識別情報で特定されるメタデータを検索の対象とする。指示ユーザーにより入力される指示は、構成要素の種類、位置、色、形の少なくとも1つの指定を含む。例えば、構成要素の種類が文字種別に指定され、位置が右上に指定された指示が与えられる場合を例に説明する。検索部63は、HDD115に記憶されている関連付テーブルを参照して、指示ユーザーのユーザーIDを含む関連付レコードをすべて抽出する。そして、検索部63は、抽出された関連付レコードに含まれるメタデータ識別情報で特定されるメタデータを検索対象に設定する。そして、検索部63は、抽出されたメタデータのうちから種類が文字種別で、位置が右上に設定された構成要素を含むメタデータを抽出する。検索部63は、指示ユーザーのユーザーIDと抽出されたメタデータのメタデータ識別情報とを検索結果通知部65に出力する。
検索結果通知部65は、検索部63による検索結果を指示ユーザーに通知する。検索結果通知部65は、検索部63から入力されるメタデータ識別情報で特定されるメタデータに対応する文書データを表示部161に表示する。
検索結果通知部65は、変更検出部91と、変更通知部93と、を含む。変更検出部91は、検索部63による検索により抽出された文書データが指示ユーザーにより最後にアクセスされた時点から変更されていることを検出する。具体的には、変更検出部91は、検索部63から入力されるメタデータ識別情報が入力されることに応じて、メタデータに対応する文書データの識別情報を決定する。ここで決定される識別情報で特定される文書データは、操作ユーザーが最後にアクセスした文書データである。変更検出部91は、操作ユーザーが最後にアクセスした文書データのファイル名が同じバージョンレコードをバージョン管理テーブルから抽出し、操作ユーザーが最後にアクセスした文書データのバージョンよりも新しいバージョンのバージョンレコードが存在するか否かを判断する。変更検出部91は、操作ユーザーが最後にアクセスした文書データのバージョンよりも新しいバージョンの文書データが存在すると判断する場合、最新のバージョンの文書データを特定し、最新のバージョンの文書データの識別情報を変更通知部93に出力する。
変更通知部93は、変更検出部91から最新のバージョンの文書データの識別情報が入力される場合、操作ユーザーが最後にアクセスした文書データと、最新のバージョンの文書データとの差分を検出し、検出された差分を表示部161に表示する。具体的には、変更通知部93は、最新のバージョンの文書データを操作ユーザーが最後にアクセスした文書データに並べて表示する。変更通知部93は、構成要素の対応関係を表示する。例えば、変更通知部93は、操作ユーザーが最後にアクセスした文書データに含まれる複数の構成要素それぞれを、最新のバージョンの文書データに含まれる複数の構成要素のうち対応する構成要素の対応付けを表示する。例えば、変更通知部93は、対応する2つの構成要素を同一の表示態様かつ、他の構成要素と異なる表示態様で表示する。表示態様は、例えば、明度、色を含む。また、変更通知部93は、対応する2つの構成要素を結ぶ図形の画像を表示する。
図5は、第1文書データの一例を示す図である。図5を参照して、第1文書データ200は、構成要素211,212,213を含む。構成要素211は、第1文書データ200中で左上に配置され、モノクロの文字が表された四角形の文字種別である。構成要素212は、第1文書データ200中で右上に配置され、カラーの写真が表された四角形の写真種別である。構成要素213は、文書データ中で下に配置され、カラーのグラフが表された四角形の図形種別である。
図6は、第1メタデータを説明するための図である。図6を参照して、第1文書データ200に含まれる構成要素211に対応する要素メタデータ221と、構成要素212に対応する要素メタデータ222と、構成要素213に対応する要素メタデータ223とが示される。要素メタデータは、構成要素ごとに、その構成要素の特徴として、位置、色、種類、形を含む。位置は文書データ中の位置を示し、色は構成要素の画像の色を示し、種類は画像種別を示し、形は構成要素の形状を示す。構成要素211に対応する要素メタデータ221は、位置に左上、色にモノクロ、種類に文字種別を示す文字、形に四角がそれぞれ定められる。また、構成要素212に対応する要素メタデータ222は、位置に右上、色にカラー、種類に写真種別を示す写真、形に四角がそれぞれ定められる。構成要素213に対応する要素メタデータ223は、位置に下、色にカラー、種類に図形種別を示す図形、形に四角がそれぞれ定められる。
図7は、メタデータの一例を示す図である。図7においては、第1文書データ200に対応する第1メタデータ210を示している。第1メタデータ210は、構成要素とその構成要素に対応する要素メタデータとを関連付ける。第1メタデータ210は、複数のメタデータレコードを含む。メタデータレコードは、タグIDの項目と、構成要素IDの項目とを含む。タグIDの項目は、構成要素を識別するためのタグIDが設定され、構成要素IDの項目は、構成要素を識別するための構成要素IDが設定される。具体的には、第1メタデータ210は、構成要素211のタグID211Aと要素メタデータ221の構成要素ID221Aとを含むメタデータレコードと、構成要素212のタグID212Aと要素メタデータ222の構成要素ID222Aとを含むメタデータレコードと、構成要素213のタグID213Aと要素メタデータ223の構成要素ID223Aとを含むメタデータレコードと、を含む。
図8は、第2文書データの一例を示す図である。図8を参照して、第2文書データ200Aは、第1文書データ200が変更されたものである。具体的には、構成要素211が拡大されてサイズが大きくなり第2文書データ200A中の上の位置に変更され、構成要素212が縮小されてサイズが小さくなり第2文書データ200A中の左下の位置に変更され、構成要素213が縮小されてサイズが小さくなり第2文書データ200A中の右下の位置に変更される。
図9は、第2メタデータを説明するための図である。図9を参照して、第2文書データ200Aに含まれる構成要素211に対応する要素メタデータ231と、構成要素212に対応する要素メタデータ232と、構成要素213に対応する要素メタデータ233とが示される。構成要素211に対応する要素メタデータ231は、位置に上、色にモノクロ、種類に文字、形に四角がそれぞれ定められる。また、構成要素212に対応する要素メタデータ232は、位置に左下、色にカラー、種類に写真、形に四角がそれぞれ定められる。構成要素213に対応する要素メタデータ233は、位置に右下、色にカラー、種類に図形、形に四角がそれぞれ定められる。
図10は、第3文書データの一例を示す図である。図10を参照して、第3文書データ200Bは、第2文書データ200Aが変更されたものである。具体的には、構成要素211が第2文書データ200A中の下の位置に変更され、構成要素212が第2文書データ200A中の左上の位置に変更され、構成要素213が第2文書データ200A中の右上の位置に変更される。
図11は、第3メタデータを説明するための図である。図11を参照して、第3文書データ200Bに含まれる構成要素211に対応する要素メタデータ241と、構成要素212に対応する要素メタデータ242と、構成要素213に対応する要素メタデータ243とが示される。構成要素211に対応する要素メタデータ241は、位置に下、色にモノクロ、種類に文字、形に四角がそれぞれ定められる。また、構成要素212に対応する要素メタデータ242は、位置に左上、色にカラー、種類に写真、形に四角がそれぞれ定められる。構成要素213に対応する要素メタデータ243は、位置に右上、色にカラー、種類に図形、形に四角がそれぞれ定められる。
図12は、アクセス履歴テーブルの一例を示す図である。図12を参照して、アクセス履歴テーブルは、4つのアクセス履歴レコードを含む。アクセス履歴レコードは、No.の項目と、識別情報の項目と、ユーザーの項目と、日時の項目と、アクセス内容の項目と、を含む。No.の項目は、アクセス履歴レコードを識別するための番号が設定される。番号は、任意の番号が設定される。ここでは、No.の項目にアクセス履歴レコードがアクセス履歴テーブルに追加される順に連番で付される番号が設定される。識別情報の項目は、アクセスの対象となる文書データの識別情報が設定される。識別情報の項目は、ファイル名の項目と、バージョンの項目とを含む。ファイル名の項目には文書データに付されるファイル名が設定され、バージョンの項目には文書データに付されるバージョンが設定される。ユーザーの項目には文書データにアクセスした操作ユーザーを識別するためのユーザー識別情報が設定される。日時の項目には、文書データが操作ユーザーによりアクセスされた時点の日時が設定される。アクセス内容の項目には、文書データが操作ユーザーによりアクセスされて実行された処理を識別するための処理識別情報が設定される。処理識別情報は、格納処理を識別するための処理識別情報としての格納と、更新処理を識別するための処理識別情報としての更新と、表示処理を識別するための表示と、を含む。
No.1のアクセス履歴レコードは、2020/01/01 12:00にユーザーAにより第1文書データ200がHDD115に格納されたことを示す。ここでは、第1文書データ200の識別情報として、ファイル名にD1、バージョンに第1バージョンが付される場合を例に示している。
No.2のアクセス履歴レコードは、2020/01/02 12:00にユーザーBによりHDD115に記憶されている第1文書データ200が表示されたことを示す。
No.3のアクセス履歴レコードは、2020/01/03 12:00にユーザーAによりHDD115に記憶されている第1文書データ200が第2文書データ200Aに変更されたことを示す。ここでは、第2文書データ200Aの識別情報として、ファイル名にD1、バージョンに第2バージョンが付される場合を例に示している。
No.4のアクセス履歴レコードは、2020/01/04 12:00にユーザーBによりHDD115に記憶されている第2文書データ200Aが第3文書データ200Bに変更されたことを示す。ここでは、第3文書データ200Bの識別情報として、ファイル名にD1、バージョンに第3バージョンが付される場合を例に示している。
図13は、関連付テーブルの一例を示す第1の図である。図13に示す関連付テーブルは、2020/01/02 12:00の時点における関連付テーブルを示す。図13を参照して、関連付テーブルは、2つの関連付レコードを含む。関連付レコードは、No.の項目と、識別情報の項目と、メタデータの項目と、ユーザーの項目と、を含む。No.の項目は、関連付レコードを識別するための番号が設定される。番号は、任意の番号が設定される。ここでは、No.の項目に関連付レコードが関連付テーブルに追加される順に連番で付される番号が設定される。識別情報の項目は、アクセスの対象となる文書データの識別情報が設定される。識別情報の項目は、ファイル名の項目と、バージョンの項目とを含む。ファイル名の項目には文書データに付されるファイル名が設定され、バージョンの項目には文書データに付されるバージョンが設定される。メタデータの項目には識別情報で特定される文書データに対応するメタデータのメタデータ識別情報が設定される。ユーザーの項目には文書データにアクセスした操作ユーザーを識別するためのユーザー識別情報が設定される。
2020/01/01 12:00の段階で、ユーザーAにより第1文書データ200がHDD115に格納されるので、番号がNo.1の関連付レコードが関連付テーブルに追加される。番号がNo.1の関連付レコードは、ファイル名がD1でバージョンが第1バージョンの第1文書データ200に対応する第1メタデータをユーザーAと関連付ける。この段階において、第1文書データ200が解析されて、第1メタデータが生成される。
その後、2020/01/02 12:00の段階で、ユーザーBによりHDD115に記憶されている第1文書データ200が表示されるので、番号がNo.2の関連付レコードが関連付テーブルに追加される。番号がNo.2の関連付レコードは、ファイル名がD1でバージョンが第1バージョンの第1文書データに対応する第1メタデータをユーザーBと関連付ける。番号がNo.2の関連付レコードが関連付テーブルに追加される段階で、第1メタデータが生成されているので、第1文書データは解析されない。
図14は、関連付テーブルの一例を示す第2の図である。図14に示す関連付テーブルは、2020/01/03 12:00の時点における関連付テーブルを示す。図14を参照して、2020/01/03 12:00の段階で、ユーザーAによりHDD115に記憶されている第1文書データ200が第2文書データ200Aに変更されるので、番号がNo.3の関連付レコードが関連付テーブルに追加される。番号がNo.3の関連付レコードは、ファイル名がD1でバージョンが第2バージョンの第2文書データ200Aに対応する第2メタデータをユーザーAと関連付ける。
この段階において、第2文書データ200Aが解析されて、第2メタデータが生成される。また、ユーザーAによる第1文書データ200へのアクセスにより第1文書データ200が第2文書データ200Aに変更されるので、変更される前の第1文書データ200に対応する第1メタデータとユーザーAとを関連付けた番号がNo.1の関連付レコードが関連付テーブルから削除される。
図15は、関連付テーブルの一例を示す第3の図である。図15に示す関連付テーブルは、2020/01/04 12:00の時点における関連付テーブルを示す。図15を参照して、2020/01/04 12:00の段階で、ユーザーBによりHDD115に記憶されている第2文書データ200Aが第3文書データ200Bに変更されるので、番号がNo.4の関連付レコードが関連付テーブルに追加される。番号がNo.4の関連付レコードは、ファイル名がD1でバージョンが第3バージョンの第3文書データ200Bに対応する第3メタデータをユーザーBと関連付ける。
この段階において、第3文書データ200Bが解析されて、第3メタデータが生成される。また、ユーザーBにより第3文書データ200Bにアクセスされるので、第3文書データ200Bに変更される前のバージョンの第1文書データ200に対応する第1メタデータとユーザーBとを関連付けた番号がNo.2の関連付レコードが関連付テーブルから削除される。さらに、この段階で、第1バージョンの第1文書データ200に対応する第1メタデータは、ユーザーAとユーザーBとのいずれとも関連付けられていないので、第1メタデータおよび第1文書データ200がHDD115から消去される。
図16は、アクセス制御処理の流れの一例を示すフローチャートである。アクセス制御処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶された文書検索プログラムを実行することにより、CPU111により実行される処理である。
図16を参照して、CPU111は、操作対象データを特定し(ステップS01)、処理をステップS02に進める。具体的には、CPU111は、MFP100を操作するユーザーにより指示されたデータを操作対象データとして特定する。CPU111は、HDD115に記憶される文書データのうちMFP100を操作する操作ユーザーにより指示される文書データを操作対象データに特定する。例えば、CPU111は、操作ユーザーが原稿読取部130に原稿を読み取らせる場合は原稿読取部130が出力する画像データを操作対象データに特定する。また、CPU111は、PC5を操作する操作ユーザーがMFP100を遠隔操作して、PC5からMFP100にプリントデータ等のデータの送信を指示する場合、PC5から受信されるデータを操作対象データに特定する。また、CPU111は、ファクシミリ部116が外部のファクシミリ装置からファクシミリデータを受信する場合、受信されたファクシミリデータを操作対象データに特定する。さらに、CPU111は、操作ユーザーが外部記憶装置118に装着された半導体メモリからデータの読み出しを指示する場合、読み出されたデータを操作対象データに特定する。また、CPU111は、操作ユーザーがHDD115に記憶された文書データのいずれかを指示する場合、指示された文書データを操作対象データに特定する。
ステップS02においては、操作ユーザーが特定される。ユーザーが操作パネル160を用いてMFP100を操作する場合、操作パネル160を操作するユーザーが特定される。また、MFP100がPC5等の外部のコンピューターにより遠隔操作される場合、PC5を操作するユーザーが操作ユーザーに特定される。さらに、ファクシミリデータが受信される場合、ファクシミリデータの送信元のファクシミリ装置に割り当てられた番号に対応付けられたユーザーが操作ユーザーに特定される。
ステップS03においては、操作ユーザーによる操作が終了したか否かが判断される。例えば、操作ユーザーが操作を終了する指示を入力した時点、操作ユーザーによる操作を受け付けることなく所定期間が経過した時点、ファクシミリデータの受信が完了した時点に、操作ユーザーによる操作が終了したと判断する。操作ユーザーによる操作が終了したならば処理はステップS04に進むが、そうでなければ処理はステップS01に戻る。
ステップS04においては、操作対象データとファイル名が同一の文書データがHDD115に記憶されているか否かが判断される。操作対象データとファイル名が同一の文書データがHDD115に記憶されているならば処理はステップS05に進むが、そうでなければ処理はステップS06に進む。ステップS06においては、HDD115に操作対象データが初版のバージョンの文書データとして記憶され、処理はステップS08に進む。
ステップS05においては、操作対象データとファイル名が同一の最新バージョンの文書データと操作対象データとが同一か否かが判断される。操作対象データと文書データとが同一ならば処理はステップS10に進むが、そうでなければ処理はステップS07に進む。操作対象データとファイル名が同一の最新バージョンの文書データと操作対象データとが同一の場合は、操作ユーザーの操作に従って操作対象データを対象として実行された処理が表示処理の場合である。操作対象データとファイル名が同一の最新バージョンの文書データと操作対象データとが同一でない場合は、操作ユーザーの操作に従って操作対象データを対象として実行された処理が変更処理の場合である。
ステップS07においては、文書データのバージョンとして、操作対象データとファイル名が同一の文書データのうちバージョンが最も後のバージョンをカウントアップしたバージョンが決定され、HDD115に操作対象データがカウントアップされたバージョンの文書データとして記憶され、処理はステップS08に進む。
ステップS08においては、HDD115にアクセス履歴情報が記憶され、処理はステップS09に進む。ステップS06またはステップS07においてHDD115に記憶された文書データの識別情報と、操作ユーザーのユーザーIDと、その時点の日時とを含むアクセス履歴レコードが生成され、HDD115に記憶されているアクセス履歴テーブルに追加される。ステップS09においては、文書データが解析され、処理はステップS13に進む。文書データが解析されることによりメタデータが生成される。
ステップS10においては、HDD115にアクセス履歴情報が記憶され、処理はステップS11に進む。操作対象データと同一の文書データの識別情報と、操作ユーザーのユーザーIDと、その時点の日時とを含むアクセス履歴レコードが生成され、HDD115に記憶されているアクセス履歴テーブルに追加される。ステップS11においては、メタデータが特定され、処理はステップS12に進む。操作対象データと同一の文書データに対応するメタデータが特定される。具体的には、HDD115に記憶されている関連付テーブルから操作対象データと同一の文書データの識別情報を含む関連付レコードが抽出され、その関連付レコードに設定されているメタデータ識別情報が決定される。
ステップS12においては、特定されたメタデータと操作ユーザーとが関連付け済か否かが判断される。特定されたメタデータのメタデータ識別情報と、操作ユーザーのユーザーIDとを含む関連付レコードが関連付テーブルに存在すれば、関連付け済と判断するが、そのような関連付レコードが存在しなければ関連付けられていないと判断する。メタデータと操作ユーザーとが関連付け済ならば処理はステップS01に戻るが、そうでなければ処理はステップS13に進む。ステップS13においては、関連付け制御処理が実行され、処理はステップS01に戻る。
図17は、関連付制御処理の流れの一例を示すフローチャートである。関連付制御処理はアクセス制御処理のステップS13において実行される処理である。関連付制御処理が実行される前の段階で、操作ユーザーと、処理対象となるメタデータとが特定されている。図17を参照して、CPU111は、処理対象なるメタデータと操作ユーザーとを関連付け、処理をステップS22に進める(ステップS21)。メタデータに対応する文書データの識別情報とメタデータを識別するためのメタデータ識別情報と、操作ユーザーのユーザーIDとを含む関連付レコードが生成される。
ステップS22においては、関連付レコードが関連付テーブルに追加され、処理はステップS23に進む。ステップS23においては、操作ユーザーが旧バージョンのメタデータと関連付けられているか否かが判断される。操作ユーザーのユーザーIDを、処理対象のメタデータよりもバージョンが古いメタデータと関連付ける関連付レコードが存在すれば、操作ユーザーが旧バージョンのメタデータと関連付けられていると判断する。具体的には、関連付テーブルから操作ユーザーのユーザーIDを含み、処理対象のメタデータに対応する文書データのファイル名が同じ関連付レコードを抽出する。そして、抽出された関連付レコードのうちに、処理対象のメタデータに対応する文書データのバージョンより古いバージョンの文書データの識別情報を含む関連付レコードが存在すれば、操作ユーザーが旧バージョンのメタデータと関連付けられていると判断する。操作ユーザーが旧バージョンのメタデータと関連付けられているならば処理はステップS24に進むが、そうでなければ処理はアクセス制御処理に戻る。
ステップS24においては、操作ユーザーが関連付けられている旧バージョンのメタデータとの関連付けが解消され、処理はステップS25に進む。具体的には、関連付テーブルから処理対象のメタデータに対応する文書データのバージョンより古いバージョンの文書データの識別情報を含む関連付レコードが削除される。
ステップS25においては、旧バージョンのメタデータに関連付けられたユーザーが存在するか否かが判断される。旧バージョンのメタデータを識別するためのメタデータ識別情報を含む関連付レコードが関連付テーブルに存在する場合に、旧バージョンのメタデータに関連付けられたユーザーが存在すると判断され、そのような関連付レコードが関連付テーブルに存在しない場合に、旧バージョンのメタデータに関連付けられたユーザーが存在しないと判断される。旧バージョンのメタデータに関連付けられたユーザーが存在しないならば処理はステップS26に進むが、旧バージョンのメタデータに関連付けられたユーザーが存在するならば処理はアクセス制御処理に戻る。
ステップS26においては、旧バージョンのメタデータに対応する文書データが消去され、処理はアクセス制御処理に戻る。
図18は、検索処理の流れの一例を示すフローチャートである。検索処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118Aに記憶された文書検索プログラムを実行することにより、CPU111により実行される処理である。図18を参照して、CPU111は、指示ユーザーを特定し、処理をステップS32に進める(ステップS31)。ユーザーが操作パネル160を用いてMFP100を操作する場合、操作パネル160を操作するユーザーが指示ユーザーとして特定される。また、MFP100がPC5等の外部のコンピューターにより遠隔操作される場合、PC5を操作するユーザーが指示ユーザーに特定される。
ステップS32においては、検索条件が受け付けられ、処理はステップS33に進む。検索条件は、検索条件は、文書データに含まれる構成要素の位置、色、種類、形の少なくとも1つを含む。位置は文書データ中の位置を示し、色は構成要素の画像の色を示し、種類は画像種別を示し、形は構成要素の形状を示す。
ステップS33においては、ステップS32において受け付けられた検索条件に従って、指示ユーザーに関連付けられたメタデータを検索する。指示ユーザーに関連付けられたメタデータのうちから検索条件に適合するメタデータが抽出される。関連付テーブルのうちから指示ユーザーのユーザーIDを含む関連付レコードが抽出され、抽出された関連付レコードに含まれるメタデータ識別情報で特定されるメタデータが、指示ユーザーに関連付けられたメタデータに特定される。指示ユーザーに関連付けられたメタデータが検索の対象となるので、指示ユーザーが過去に閲覧した記憶から文書データを検索することができる。特に、指示ユーザーが過去に閲覧した後に他人により文書データが変更される場合であっても、指示ユーザーが過去に閲覧した記憶から文書データを検索することができる。
ステップS34においては、検索条件に適合する文書データが特定され、処理はステップS35に進む。ステップS33において検索により抽出されたメタデータに対応する文書データが特定される。ステップS35においては、ステップS34において特定された文書データが表示され、処理はステップS36に進む。指示ユーザーが操作パネル160を操作する場合は表示部161に文書データが表示され、指示ユーザーがPC5でMFP100を遠隔操作する場合は、PC5に文書データを表示させる。
ステップS36においては、ステップS34において特定された文書データよりもバージョンが新しい文書データが存在するか否かが判断される。ステップS34において特定された文書データよりもバージョンが新しい文書データが存在するならば処理はステップS37に進むが、そうでなければ処理は終了する。
ステップS37においては、ステップS34において特定された文書データからの変更箇所が特定され、処理はステップS38に進む。ステップS34において特定された文書データと、新バージョンの文書データとの差分が抽出され、差分が変更箇所として特定される。
ステップS38においては、変更箇所が表示される。例えば、ステップS34において特定された文書データと、新バージョンの文書データとが並べて表示され、変更箇所が他の部分と異なる表示態様で表示される。表示態様は、明度、色彩、色相を含む。また、変更箇所を指し示す矢印を表示してもよい。これにより、指示ユーザーに、表示された文書データが他人より変更された事実および変更の内容を通知できる。
なお、本実施の形態においては、文書検索装置の一例として画像処理装置として機能するMFP100を例に説明したが、文書検索装置をPC5で実現してもよい。文書検索装置は、中央演算装置と、データを記憶する記憶装置と、ユーザーが操作可能な操作部を備えた装置であればよい。
以上説明したように本実施の形態におけるMFP100は、文書検索装置として機能し、CPU111が、文書データの構造を解析し、文書データに含まれる構成要素の特徴を示すメタデータを生成し、文書データがユーザーによりアクセスされることに応じて、アクセスが終了した時点における文書データに対して生成されたメタデータを文書データにアクセスするユーザーと関連付け、複数のユーザーにそれぞれ関連付けられた複数のメタデータのうち検索を指示した指示ユーザーに関連付けられたメタデータを用いて検索する。このため、ユーザーが過去に閲覧した文書データが別のユーザーにより変更される場合であっても、閲覧したユーザーの記憶に基づいて、文書データを特定することができる。したがって、複数人によりアクセスされる文書データを複数人のユーザーそれぞれが検索することができる。
また、CPU111は、文書データが変更されることに応じて、変更後のバージョンに対するメタデータを生成する。このため、変更された後の文書データに対応するメタデータで検索するので、ユーザーが最後に閲覧した記憶に基づいて文書データを検索することができる。
また、CPU111は、文書データへのアクセスにより文書データを表示する表示処理または文書データを変更する変更処理を実行する。このため、CPU111は、文書データにアクセスする処理として、文書データを変更する処理または文書データを変更しない処理を実行することができる。
また、CPU111は、文書データが文書データにアクセスするユーザーにより変更された履歴を示すバージョン管理テーブルを検索することにより、検索により抽出された文書データが指示ユーザーにより最後にアクセスされた時点から変更されていることを検出し、文書データが変更されていることが検出される場合、変更された部分に関する変更情報をユーザーに通知する。このため、検索により抽出された文書データが最新のバージョンでないこと、および変更された部分をユーザーに通知することができる。
また、CPU111は、表示処理を実行する場合、文書データが表示されている間に文書データを変更しない。このため、文書データにアクセスするが文書データが変更されないようにできる。
また、CPU111は、文書データにアクセスするユーザーによる文書データへのアクセスが終了した時点における文書データと同一のバージョンに対するメタデータが存在する場合には、文書データを解析することなく、文書データと同一のバージョンに対するメタデータを指示ユーザーと関連付ける。このため、ユーザーがアクセスした文書データと同一のバージョンの文書データが存在する場合には、メタデータが生成されない。例えば、表示処理が実行される場合には、表示された文書データに対して過去に生成されたメタデータがユーザーと関連付けられる。このため、メタデータを生成する処理を実行する必要がないので、負荷を低減することができる。
また、CPU111は、文書データにアクセスするユーザーによる文書データへのアクセスにより文書データが変更される場合、変更される前の文書データに対して過去に生成されたメタデータと文書データにアクセスするユーザーとの関連付を解消する。このため、ユーザーが最後にアクセスした文書データに対応するメタデータとユーザーとを関連付けることができる。
また、CPU111は、文書データが変更される場合、変更前後のバージョンそれぞれの文書データを記憶し、ユーザーとの関連付けが解消されたメタデータが他のユーザーのいずれとも関連付けられていない場合、そのメタデータに対応するバージョンの文書データを消去する。このため、HDD115の記憶領域を有効に利用することができる。
また、CPU111は、文書データの変更に関わらず、所定のタイミングで文書データに対するメタデータを更新する。所定のタイミングは、予め定められていればよい。このため、文書データの変更に関わらず、所定のタイミングでメタデータが更新されるので、構成要素の特徴を最新の状態にすることができる。深層学習を用いた解析をする場合に、学習度合い応じたメタデータを生成することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。