(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022160133
(43)【公開日】2022-10-19
(54)【発明の名称】文書検索システム、文書検索方法および文書検索プログラム
(51)【国際特許分類】
G06F 16/31 20190101AFI20221012BHJP
G06F 16/383 20190101ALI20221012BHJP
【FI】
G06F16/31
G06F16/383
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2021064691
(22)【出願日】2021-04-06
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】石黒 和宏
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA09
5B175DA01
5B175JC06
5B175KA06
(57)【要約】
【課題】ファイルサーバー上の電子文書が更新された場合に当該電子文書の特徴量に変化がないときでも、ユーザーが当該電子文書の更新を把握するための技術を提供する。
【解決手段】文書検索システム10は、文書の特徴量を含むインデックス150を記憶する記憶部と、文書を検索する制御部とを備える。制御部は、端末から文書に対する更新要求を受け付け、文書が更新された場合に文書の更新の前後で文書の特徴量に変化がないとき、記憶部を参照してインデックス150に文書の更新履歴を追加する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
文書の特徴量を含むインデックスを記憶する記憶部と、
前記文書を検索する制御部とを備え、
前記制御部は、
端末から前記文書に対する更新要求を受け付け、
前記文書が更新された場合に前記文書の更新の前後で前記文書の特徴量に変化がないとき、前記記憶部を参照して前記インデックスに前記文書の更新履歴を追加する、文書検索システム。
【請求項2】
前記制御部は、前記インデックスに前記更新履歴が追加されていることに基づいて、前記文書の更新通知を含む画面を前記端末に送信する、請求項1に記載の文書検索システム。
【請求項3】
前記制御部は、前記文書の検索要求を受け付けたことに基づいて、前記更新履歴を含む検索結果を前記端末に送信する、請求項1または2に記載の文書検索システム。
【請求項4】
前記検索結果は、前記文書の更新箇所のマーキングまたは強調表示を含む、請求項3に記載の文書検索システム。
【請求項5】
前記更新履歴は、前記文書の更新日、前記文書を更新したユーザー名、前記文書の更新されたページ番号、および、前記文書のテキストに関する情報の少なくとも一部を含む、請求項1~4のいずれかに記載の文書検索システム。
【請求項6】
前記制御部は、前記文書を前回更新したユーザーと、前記文書を今回更新したユーザーとが異なることに基づいて、前記インデックスに今回の更新履歴を追加する、請求項1~5のいずれかに記載の文書検索システム。
【請求項7】
前記記憶部は、前記インデックスに関連付けられた前記文書のサムネイル画像をさらに格納する、請求項1~6のいずれかに記載の文書検索システム。
【請求項8】
前記制御部は、前記文書の更新の前後で前記文書の特徴量に変化があることに基づいて、更新された特徴量と前記更新履歴とを前記インデックスに追加する、請求項1~7のいずれかに記載の文書検索システム。
【請求項9】
前記制御部は、前記文書がプリントされた後に前記文書が更新されたことに基づいて、前記インデックスを更新する、請求項1~8のいずれかに記載の文書検索システム。
【請求項10】
前記制御部は、前記文書が編集不可能なファイル形式にエクスポートされた後に前記文書が更新されたことに基づいて、前記インデックスを更新する、請求項1~9のいずれかに記載の文書検索システム。
【請求項11】
コンピューターによる文書検索方法であって、
端末から文書に対する更新要求を受け付けるステップと、
前記文書が更新された場合に前記文書の更新の前後で前記文書の特徴量に変化がないとき、文書の特徴量を含むインデックスに前記文書の更新履歴を追加するステップとを含む、文書検索方法。
【請求項12】
前記インデックスに前記更新履歴が追加されていることに基づいて、前記文書の更新通知を含む画面を前記端末に送信するステップをさらに含む、請求項11に記載の文書検索方法。
【請求項13】
前記文書の検索要求を受け付けたことに基づいて、前記更新履歴を含む検索結果を前記端末に送信するステップをさらに含む、請求項11または12に記載の文書検索方法。
【請求項14】
検索結果は、前記文書の更新箇所のマーキングまたは強調表示を含む、請求項13に記載の文書検索方法。
【請求項15】
前記更新履歴は、前記文書の更新日、前記文書を更新したユーザー名、前記文書の更新されたページ番号、および、前記文書のテキストに関する情報の少なくとも一部を含む、請求項11~14のいずれかに記載の文書検索方法。
【請求項16】
前記文書を前回更新したユーザーと、前記文書を今回更新したユーザーとが異なることに基づいて、前記インデックスに今回の更新履歴を追加するステップをさらに含む、請求項11~15のいずれかに記載の文書検索方法。
【請求項17】
前記インデックスに関連付けられた前記文書のサムネイル画像を生成するステップをさらに含む、請求項11~16のいずれかに記載の文書検索方法。
【請求項18】
前記文書の更新の前後で前記文書の特徴量に変化があることに基づいて、更新された特徴量と前記更新履歴とを前記インデックスに追加するステップをさらに含む、請求項11~17のいずれかに記載の文書検索方法。
【請求項19】
前記文書がプリントされた後に前記文書が更新されたことに基づいて、前記インデックスを更新するステップをさらに含む、請求項11~18のいずれかに記載の文書検索方法。
【請求項20】
請求項11~19のいずれかに記載の文書検索方法をコンピューターに実行させるための文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、文書検索システムに関し、より特定的には、文書の特徴量を用いる文書検索システムに関する。
【背景技術】
【0002】
電子文書の特徴量に基づいてファイルサーバー等の記憶部に格納された電子文書の中から任意の電子文書を検索する検索システムが知られている。電子文書の特徴量は、例えば、グラフおよびテーブル等の大きさ、色、形等を含む。さらに、このような検索システムと複合機(MFP:Multifunction Peripheral)とを組み合わせた技術も開発されている。
【0003】
文書の検索に関し、例えば、特開平9-237282号公報(特許文献1)は、「希望する文書の体裁に関しユーザーの持っている知識を利用して、文書画像データベースより希望の文書画像を検索する」方法を開示しており、当該方法は、「初めに簡単なカテゴリ選択などによって、目的の文書と大まかな体裁が類似した模範文書画像を生成し、その画像特徴情報を取得する。この画像特徴情報を利用してデータベースを検索し、検索結果を表示する。その検索結果の中から、目的の文書に体裁が近いものを次の検索のためのキーに選び、そのキーで検索を実行する。この繰り返しにより最終的に目的の文書を見つける」というものである([要約]参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示された技術によると、ファイルサーバー上の電子文書が更新された場合に当該電子文書の特徴量に変化がないとき、ユーザーは当該電子文書の更新を把握できない可能性がある。したがって、ファイルサーバー上の電子文書が更新された場合に当該電子文書の特徴量に変化がないときでも、ユーザーが当該電子文書の更新を把握するための技術が必要とされている。
【0006】
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ファイルサーバー上の電子文書が更新された場合に当該電子文書の特徴量に変化がないときでも、ユーザーが当該電子文書の更新を把握するための技術を提供することにある。
【課題を解決するための手段】
【0007】
ある実施の形態に従うと、文書検索システムが提供される。文書検索システムは、文書の特徴量を含むインデックスを記憶する記憶部と、文書を検索する制御部とを備える。制御部は、端末から文書に対する更新要求を受け付け、文書が更新された場合に文書の更新の前後で文書の特徴量に変化がないとき、記憶部を参照してインデックスに文書の更新履歴を追加する。
【0008】
ある局面において、制御部は、インデックスに更新履歴が追加されていることに基づいて、文書の更新通知を含む画面を端末に送信する。
【0009】
ある局面において、制御部は、文書の検索要求を受け付けたことに基づいて、更新履歴を含む検索結果を端末に送信する。
【0010】
ある局面に従う文書検索システムにおいて、検索結果は、文書の更新箇所のマーキングまたは強調表示を含む。
【0011】
ある局面に従う文書検索システムにおいて、更新履歴は、文書の更新日、文書を更新したユーザー名、文書の更新されたページ番号、および、文書のテキストに関する情報の少なくとも一部を含む。
【0012】
ある局面において、制御部は、文書を前回更新したユーザーと、文書を今回更新したユーザーとが異なることに基づいて、インデックスに今回の更新履歴を追加する。
【0013】
ある局面において、記憶部は、インデックスに関連付けられた文書のサムネイル画像をさらに格納する。
【0014】
ある局面において、制御部は、文書の更新の前後で文書の特徴量に変化があることに基づいて、更新された特徴量と更新履歴とをインデックスに追加する。
【0015】
ある局面において、制御部は、文書がプリントされた後に文書が更新されたことに基づいて、インデックスを更新する。
【0016】
ある局面において、制御部は、文書が編集不可能なファイル形式にエクスポートされた後に文書が更新されたことに基づいて、インデックスを更新する。
【0017】
他の実施の形態に従うとコンピューターによる文書検索方法が提供される。文書検索方法は、端末から文書に対する更新要求を受け付けるステップと、文書が更新された場合に文書の更新の前後で文書の特徴量に変化がないとき、文書の特徴量を含むインデックスに文書の更新履歴を追加するステップとを含む。
【0018】
ある局面において、文書検索方法は、インデックスに更新履歴が追加されていることに基づいて、文書の更新通知を含む画面を端末に送信するステップをさらに含む。
【0019】
ある局面において、文書検索方法は、文書の検索要求を受け付けたことに基づいて、更新履歴を含む検索結果を端末に送信するステップをさらに含む。
【0020】
ある局面に従う文書検索方法において、検索結果は、文書の更新箇所のマーキングまたは強調表示を含む。
【0021】
ある局面に従う文書検索方法において、更新履歴は、文書の更新日、文書を更新したユーザー名、文書の更新されたページ番号、および、文書のテキストに関する情報の少なくとも一部を含む。
【0022】
ある局面において、文書検索方法は、文書を前回更新したユーザーと、文書を今回更新したユーザーとが異なることに基づいて、インデックスに今回の更新履歴を追加するステップをさらに含む。
【0023】
ある局面において、文書検索方法は、インデックスに関連付けられた文書のサムネイル画像を生成するステップをさらに含む。
【0024】
ある局面において、文書検索方法は、文書の更新の前後で文書の特徴量に変化があることに基づいて、更新された特徴量と更新履歴とをインデックスに追加するステップをさらに含む。
【0025】
ある局面において、文書検索方法は、文書がプリントされた後に文書が更新されたことに基づいて、インデックスを更新するステップをさらに含む。
【0026】
他の実施の形態に従うと、上記の文書検索方法をコンピューターに実行させるための文書検索プログラムが提供される。
【発明の効果】
【0027】
ある実施の形態に従うと、ファイルサーバー上の電子文書が更新された場合に当該電子文書の特徴量に変化がないときでも、ユーザーは当該電子文書の更新を把握することが可能である。
【0028】
この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0029】
【
図1】ある実施の形態に従う文書検索システム10の一例を示す図である。
【
図2】ある実施の形態に従うインデックス150の一例を示す図である。
【
図3】ある実施の形態に従う文書検索システム10の各構成の関係の一例を示す図である。
【
図4】ある実施の形態に従う検索サーバー100の機能の一例を示す図である。
【
図5】ある実施の形態に従う検索サーバー100のハードウェア構成の一例を示す図である。
【
図6】文書検索システム10の第1の動作例を示す図である。
【
図7】文書検索システム10の第2の動作例を示す図である。
【
図8】文書検索システム10の第2の動作例の続きを示す図である。
【
図9】文書検索システム10の検索結果の表示の第1の例を示す図である。
【
図10】文書検索システム10の検索結果の表示の第2の例を示す図である。
【
図11】文書検索システム10の検索結果の表示の第3の例を示す図である。
【
図12】検索サーバー100の検索処理のフローチャートの一例を示す図である。
【
図13】検索サーバー100のインデックス150の更新処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【0030】
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0031】
<A.適用例>
図1は、本実施の形態に従う文書検索システム10の一例を示す図である。
図1を参照して、本実施の形態に従う文書検索システム10および本開示の技術の概要について説明する。なお、これ以降、電子文書を単に文書と表す。文書は、テキスト、グラフ、表、図、絵およびその他の任意のマルティメディア情報等を含み得る。
【0032】
(a.文書検索システム10の構成)
文書検索システム10は、端末110と、検索サーバー100と、ファイルサーバー120と、複合機170とを含み得る。ある局面において、文書検索システム10は、検索サーバー100と、ファイルサーバー120とのみを含んでいてもよい。この場合、端末110と、複合機170とは、文書検索システム10と連係する外部機器になる。他の局面において、文書検索システム10は、検索サーバー100のみを含んでいてもよい。この場合、端末110と、ファイルサーバー120と、複合機170とは、文書検索システム10と連係する外部機器になる。
【0033】
端末110は、ユーザーが使用する端末である。ユーザーは、端末110を用いて、ファイルサーバー120に文書160を追加し、ファイルサーバー120上の文書160を検索して取得し、または、ファイルサーバー120上の文書160を更新し得る。
【0034】
ユーザーは、例えば、端末110のブラウザ機能を用いて、検索サーバー100から端末110に配信された画面を用いて、文書160の保存、検索および更新等の操作を行い得る。この場合、検索サーバー100から端末110に配信される画面は、HTML(HyperText Markup Language)等により記述された画面になる。ある局面において、端末110は、パーソナルコンピューター、スマートフォンまたはタブレット等の任意の情報処理装置であってもよい。
【0035】
検索サーバー100は、端末110に対して、ファイルサーバー120への操作機能(文書160の保存、検索および更新等)を提供する。ある局面において、検索サーバー100は、Webアプリケーションとしてこれらの機能を端末110に提供してもよい。他の局面において、端末110は、専用のクライアントアプリケーションを介して、検索サーバー100の機能を利用してもよい。
【0036】
検索サーバー100は、ファイルサーバー120に格納された文書160を検索するために使用するインデックス150を格納したインデックスデータベース155を備える。インデックス150は、文書160ごとに生成され、各文書160の特徴量を含む。文書160の特徴量は、例えば、文書160に含まれる図形、グラフおよび表等の大きさ、形、位置、色等の情報、およびテキストのフォントおよび装飾等の情報を含み得る。ある局面において、検索サーバー100は、ファイルサーバー120に新しい文書160が追加されるか、ファイルサーバー120上の文書160が更新されたことに基づいて、インデックス150を生成または更新してもよい。
【0037】
例えば、ユーザーは、端末110に配信された検索画面で、文書160のレイアウト等を設定したとする。この場合、端末110は、検索要求(検索クエリ)に検索条件として文書160のレイアウト等を含めて、当該検索要求を検索サーバー100に送信する。検索サーバー100は、受信した検索条件に含まれるレイアウト等から特徴量を抽出する。次に、検索サーバー100は、インデックス150を検索し、受信した検索条件から抽出した特徴量に近い特徴量を有する文書160を発見する。検索サーバー100は、検索結果を端末110に返信する。なお、検索結果は1または複数の文書160、または1または複数の文書160のサムネイル画像を含んでいてもよい。
【0038】
ユーザーが端末110で検索結果に含まれる文書160を取得する操作を行ったことに基づいて、端末110は、文書160の取得要求を検索サーバー100に送信する。検索サーバー100は、ファイルサーバー120から取得要求に対応する文書160を取得して、当該文書160を端末110に送信する。
【0039】
ファイルサーバー120は、文書160を格納する。ファイルサーバー120に格納される文書160は、端末110だけでなく複合機170からも保存、削除、検索および更新され得る。ファイルサーバー120に格納される文書160は、複合機170により参照されてプリントされてもよい。
【0040】
複合機170は、文書160のスキャン機能およびプリント機能を備える。複合機170は、スキャンした文書160をファイルサーバー120に保存してもよいし、ファイルサーバー120から読み出した文書160をプリントしてもよい。
【0041】
(b.文書検索システム10の動作の概要)
次に、本実施の形態に従う文書検索システム10の典型的な動作について説明する。インデックス150は、文書160の特徴量を含んでいるため、ユーザーは文書160の検索画面で文書160のレイアウト等を指定することにより文書160を検索することができる。しかしながら、仮に、ユーザーが文書160のテキストのみを書き換えてグラフ等を変更しなかった場合、更新の前後で文書160の特徴量は変化しない。すなわち、文書160のインデックス150は更新されない。
【0042】
例えば、ユーザーAが、ある文書160Xをファイルサーバー120に保存したとする。次に、ユーザーBが、特徴量が変化しないように文書160Xを編集して更新したとする(文書検索システム10またはファイルサーバー120は文書160Xの更新要求を受け付ける)。この後に、ユーザーAが更新前の文書160Xの特徴量を検索条件に含めて検索処理を実行しても、更新の前後で文書160Xの特徴量に変化がないため、検索サーバー100は検索結果として更新後の文書160XをユーザーAの端末110に返信する。
【0043】
上記の例の場合、文書160Xの特徴量に変化がないため(レイアウトまたは図表等の変更がないため)、ユーザーは文書160Xが更新されていることに気づかずに、文書160Xを使用する可能性がある。例えば、文書160Xが見積書の場合、表の形式に変更はなくても、金額のみがユーザーBによって書き換えられている可能性がある。そのため、仮に文書160の更新前後で特徴量に変化がない場合でも、ユーザーに文書160の更新の有無を把握させるための仕組みがあることが望ましい。
【0044】
そこで、本実施の形態に従う文書検索システム10は、ファイルサーバー120上の文書160が更新された場合、更新履歴をインデックス150に追加する。そして、文書検索システム10は、更新された文書160が検索された場合(検索された文書160のインデックス150に更新履歴が含まれている場合)、検索結果に更新履歴も含めて端末110に検索結果を通知する。当該更新履歴は、例えば、文書160の更新日(更新日時であってもよい)、文書160を更新したユーザー名、文書160の更新されたページ番号、および、文書160のテキストに関する情報(フォント、文字の装飾、罫線の設定および色等)の少なくとも一部を含む。また、インデックス150は、過去の複数回の更新履歴を含んでいてもよい。
【0045】
ユーザーは、端末110に表示される検索結果画面に含まれる更新履歴を参照することにより、常に文書160が更新されたか否かを確認し得る。ある局面において、端末110に表示される更新履歴は、検索結果の文書160のサムネイルの変更箇所がマーキングまたは強調表示されていてもよいし、更新履歴のメタデータ(文書160を更新したユーザー名、文書160の更新されたページ番号、および、文書160のテキストに関する情報等)が検索結果と共に画面に表示されていてもよい。また、他の局面において、文書160が複数回更新されていた場合、端末110に表示される更新履歴は、複数回分の更新履歴を含んでいてもよい。さらに、他の局面において、文書160が更新されたことにより文書160の特徴量が変化したとき、文書検索システム10は、更新後の文書160の特徴量と、更新履歴とをインデックス150に追加してもよい。
【0046】
図2は、本実施の形態に従うインデックス150の一例を示す図である。検索サーバー100は、新しい文書160または更新された文書160を端末110から受信したことに基づいて、インデックス150を生成または更新する。インデックス150は、一例として、ファイル名と、ページサイズと、グラフの位置・サイズ・色の情報と、表の位置・サイズ・色の情報とを含んでいてもよいし、さらに、その他の任意の情報を含んでいてもよい。検索サーバー100は、文書160ごとにインデックス150を生成して、当該インデックス150をインデックスデータベース155に格納する。
【0047】
検索サーバー100は、端末110から文書160の検索条件(グラフ等の配置を定義した情報)を受信した場合、当該検索条件から特徴量を抽出する。次に、検索サーバー100は、抽出した特徴量と、各インデックス150に含まれる特徴量とを比較することにより、抽出した特徴量に近い特徴量を有する文書160を検索する。
【0048】
さらに、検索サーバー100は、特徴量に加えて、文書160が更新された場合、更新履歴をインデックス150に追加する。更新履歴は、文書160を更新したユーザー名、文書160の更新されたページ番号、および、文書160のテキストに関する情報等を含む。文書160が複数回更新された場合、更新履歴は全ての更新についての履歴を含んでいてもよいし、最新の履歴のみを含んでいてもよいし、直近の数回分の履歴を含んでいてもよい。当該更新履歴は、ユーザーに文書160の有無を通知するために使用され得る。
【0049】
<B.システムの構成>
次に、
図3~
図5を参照して本実施の形態に従う文書検索システム10の機能構成およびハードウェア構成について説明する。
【0050】
図3は、本実施の形態に従う文書検索システム10の各構成の関係の一例を示す図である。
図3に示す例は、
図1に示す文書検索システム10をより概念的に示したものである。
【0051】
ファイルサーバー120は、基本的に、他の全ての機器からアクセスされてもよい。ファイルサーバー120にアクセスする機器は、一例として、スキャナー300と、端末110と、複合機170とを含む。スキャナー300は、主にスキャンした文書160をファイルサーバー120に保存し得る。複合機170は、主に、ファイルサーバー120に保存された文書160を読み出してプリントし得る。なお、複合機170は、スキャナー300の機能も備え得る。端末110は、ファイルサーバー120に直接アクセスし、文書160の保存、更新または削除等を行い得る。
【0052】
ユーザーは、文書160の特徴量を用いてファイルサーバー120を検索したい場合、端末110を検索サーバー100に接続し、当該検索サーバー100を介してファイルサーバー120を検索する。その際、検索サーバー100は、検索用の画面(WebアプリケーションのUI(User Interface))または専用のクライアントアプリケーションを端末110に提供し得る。ある局面において、複合機170も、検索サーバー100と通信することで文書160の特徴量を用いてファイルサーバー120を検索する機能を備えていてもよい。
【0053】
図4は、本実施の形態に従う検索サーバー100の機能の一例を示す図である。ある局面において、
図4に示す検索サーバー100の各機能はプログラムとして実現されてもよい。この場合、検索サーバー100の各機能は
図5に示すハードウェア上で実行され得る。
【0054】
検索サーバー100は、主な機能として、検索部410と、特徴量抽出部420と、更新履歴生成部430と、サムネイル画像生成部440と、検索条件入力部450と、検索結果送信部460と、ファイルサーバー通信部470とを備える。
【0055】
検索部410は、文書160の特徴量を用いた検索処理の全体の流れを管理する。例えば、検索部410は、他の機能部に指示を出力することで、検索条件の取得、特徴量の抽出、ファイルサーバー120内の文書160の参照および検索結果の出力等の処理を実行し得る。
【0056】
特徴量抽出部420は、文書160の特徴量を抽出して、インデックス150を生成または更新する。ある局面において、特徴量抽出部420は、定期的にファイルサーバー120に追加された文書160またはファイルサーバー120上で更新された文書160を読み出して、これらの文書160の特徴量を含むインデックス150を生成してもよい。また、他の局面において、特徴量抽出部420は、検索サーバー100が端末110から文書160の更新要求を受け付けたことに基づいて、更新された文書160のインデックス150を更新してもよい。
【0057】
更新履歴生成部430は、更新された文書160の更新履歴をインデックス150に追加する。ある局面において、更新履歴生成部430は、更新の前後で文書160の特徴量に変化がある場合にのみ更新履歴をインデックス150に追加してもよい。他の局面において、更新履歴生成部430は、更新の前後での文書160の特徴量に変化の有無に関係なく、更新履歴をインデックス150に追加してもよい。また、他の局面において、更新履歴生成部430は、文書160を前回更新したユーザーと、文書160を今回更新したユーザーとが異なるユーザーであることに基づいて、インデックス150に今回の更新履歴を追加してもよい。
【0058】
例えば、ユーザーAが2回以上連続して文書160を編集した場合、2回目以降の編集についての更新履歴(例えば、文言の追加あるいは削除の履歴)は残らなくてもよい。ユーザーAは自分が文書160を2回編集したことを把握しており、また、他のユーザーはAにより文書160が編集されたことさえ把握できればよいため、更新履歴生成部430は、ユーザーAによる2回目以降の編集についての更新履歴を残さなくてもよい。ある局面において、更新履歴生成部430は、文書160を前回更新したユーザーと、文書160を今回更新したユーザーとが異なるユーザーであることに基づいて、前回の更新履歴を今回の更新履歴で上書きしてもよいし、前回の更新履歴および今回の更新履歴をまとめて1つの更新履歴にしてもよい。
【0059】
サムネイル画像生成部440は、ファイルサーバー120から取得した文書160のサムネイル画像を生成する。サムネイル画像は、例えば、端末110に送信される検索結果に含まれてもよい。この場合、ユーザーは、端末110のディスプレイに表示されたサムネイル画像のリストを見ることで、目的の文書160を容易に発見できる。
【0060】
ある局面において、サムネイル画像生成部440は、検索要求を受け付ける前に、ファイルサーバー120に格納される各文書160のサムネイル画像を予め生成しておいてもよい。他の局面において、サムネイル画像生成部440は、検索サーバー100が端末110から検索要求を受信したことに基づいて、検索結果に含まれる文書160のサムネイル画像を生成してもよい。
【0061】
検索条件入力部450は、端末110から検索条件を取得する。検索条件は、文書160の特徴量または特徴量を抽出するための情報(文書160に含まれる図形、グラフおよび表等の大きさ、形、位置、色等の情報、およびテキストのフォントおよび装飾等の情報)を含む。
【0062】
ある局面において、検索条件入力部450は、ユーザーが検索条件を入力するための画面(UI)を端末110に送信してもよい。この場合、検索条件を入力するための画面は、ユーザーが検索したい文書160の特徴量を定義するUIを含む。検索条件入力部450は、当該検索条件を入力するための画面を介して、端末110から検索条件を受信する。他の局面において、検索条件入力部450は、専用のクライアントアプリケーションを介して、端末110から検索条件を取得してもよい。
【0063】
検索結果送信部460は、検索結果を端末110に送信する。ある局面において、検索結果は、検索条件に該当する1または複数の文書160の情報を含む。検索結果は、少なくとも、各文書160の更新履歴を含む。ある局面において、検索結果は、検索条件に該当する1または複数の文書160のサムネイル画像を含んでいてもよい。また、他の局面において、検索結果は、サムネイル画像等を含まずに各文書160の更新履歴のみを含んでいてもよい。
【0064】
また、他の局面において、検索結果は、文書160のサムネイルの変更箇所がマーキングまたは強調表示されていてもよいし、更新履歴のメタデータ(文書160を更新したユーザー名、文書160の更新されたページ番号、および、文書160のテキストに関する情報等)が検索結果と共に画面に表示されていてもよい。また、他の局面において、文書160が複数回更新されていた場合、端末110に表示される更新履歴は、複数回分の更新履歴を含んでいてもよい。
【0065】
ファイルサーバー通信部470は、ファイルサーバー120と通信する。ファイルサーバー通信部470は、検索サーバー100が端末110から検索要求を受信したことに基づいて、ファイルサーバー120にアクセスする。ある局面において、ファイルサーバー通信部470は、インデックス150を更新するために、定期的にファイルサーバー120と通信して、新しく追加された文書160または更新された文書160を取得してもよい。
【0066】
図5は、本実施の形態に従う検索サーバー100のハードウェア構成の一例を示す図である。ある局面において、端末110およびファイルサーバー120も
図5に示すハードウェア構成を備えていてもよい。検索サーバー100は、CPU(Central Processing Unit)1と、1次記憶装置2と、2次記憶装置3と、外部機器インターフェイス4と、入力インターフェイス5と、出力インターフェイス6と、通信インターフェイス7とを含む。
【0067】
CPU1は、検索サーバー100の各種機能を実現するためのプログラムを実行し得る。CPU1は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等によって構成されてもよい。
【0068】
1次記憶装置2は、CPU1によって実行されるプログラムと、CPU1によって参照されるデータとを格納する。ある局面において、1次記憶装置2は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。
【0069】
2次記憶装置3は、不揮発性メモリーであり、CPU1によって実行されるプログラムおよびCPU1によって参照されるデータを格納してもよい。その場合、CPU1は、2次記憶装置3から1次記憶装置2に読み出されたプログラムを実行し、2次記憶装置3から1次記憶装置2に読み出されたデータを参照する。ある局面において、2次記憶装置3は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリー等によって実現されてもよい。
【0070】
外部機器インターフェイス4は、プリンタ、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス4は、USB(Universal Serial Bus)端子等によって実現されてもよい。
【0071】
入力インターフェイス5は、キーボード510、マウス520、タッチパネル530またはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力インターフェイス5は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。
【0072】
出力インターフェイス6は、ディスプレイ540(ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等)の任意の出力装置に接続され得る。ある局面において、出力インターフェイス6は、USB端子、D-sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。
【0073】
通信インターフェイス7は、有線または無線のネットワーク機器と接続される。ある局面において、通信インターフェイス7は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現されてもよい。他の局面において、通信インターフェイス7は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)等の通信プロトコルを用いてデータを送受信してもよい。
【0074】
<C.文書検索システム10の動作例>
次に、
図6~
図11を参照して本実施の形態に従う文書検索システム10の動作例および検索結果の表示の例について説明する。
【0075】
図6は、文書検索システム10の第1の動作例を示す図である。
図6に示す例では、ユーザーは、端末110を介してファイルサーバー120内の文書160のレイアウトを変更している。ファイルサーバー120内の文書160のレイアウトが変更された場合、検索サーバー100は、更新された文書160(レイアウトを変更された文書160)のインデックス150を更新する(インデックス150に含まれる文書160の特徴量を更新する)。また、検索サーバー100は、インデックス150を更新したことに基づいて、文書160のサムネイルを生成してもよい。
【0076】
ある局面において、ファイルサーバー120は、文書160の更新通知を検索サーバー100に送信してもよい。他の局面において、検索サーバー100は、定期的に、ファイルサーバー120にアクセスして各文書160のタイムスタンプ等を確認することで、文書160の更新を確認してもよい。
【0077】
なお、検索サーバー100は、更新前の文書160のインデックス150およびサムネイル画像も残しておく。これにより、例えば、ユーザーAがある文書160Xを保存した後に、ユーザーBが文書160Xのレイアウトを更新したとする。この場合、ユーザーAは、更新前のレイアウト(特徴量)に基づいて、更新された後の文書160Xを検索し得る。
【0078】
図7は、文書検索システム10の第2の動作例を示す図である。
図7に示す例では、ユーザーは、端末110を介してファイルサーバー120内の文書160をレイアウトに影響しないように更新している。更新の前後でファイルサーバー120内の文書160の特徴量は変わらないため、検索サーバー100は、更新された文書160のインデックス150を更新しない。
【0079】
例えば、ユーザーAが文書160Xを保存した後に、ユーザーBが文書160Xをレイアウトに影響しないように更新したとする。この場合、ユーザーAは、更新前のレイアウト(特徴量)に基づいて、更新された後の文書160Xを検索できるが、ユーザーAは文書160Xが更新されていることに気づかない可能性がある。そこで、文書検索システム10は、
図8に示すように更新履歴を利用することで、特徴量に変化がない場合でも文書160に更新があったことをユーザーに通知する仕組みを提供する。
【0080】
図8は、文書検索システム10の第2の動作例の続きを示す図である。検索サーバー100は、
図7を参照して説明した動作に加えて、更新された文書160の更新履歴をインデックス150に追加する。
【0081】
ある局面において、ファイルサーバー120は、文書160の更新通知を検索サーバー100に送信してもよい。他の局面において、検索サーバー100は、定期的に、ファイルサーバー120にアクセスして各文書160のタイムスタンプ等を確認することで、文書160の更新を確認してもよい。
【0082】
ファイルサーバー120は、更新前後における文書160の特徴量の変化がない場合に、文書160の更新履歴をインデックス150に追加する。ある局面において、ファイルサーバー120は、更新前後における文書160の特徴量の変化の有無に関係なく、文書160の更新履歴をインデックス150に追加してもよい。
【0083】
また、ファイルサーバー120は、当該更新履歴を含む検索結果を端末110に送信する。これにより、ユーザーは、検索結果画面に表示される更新履歴を参照することで、例えレイアウトに変化がない場合でも、文書160が更新されていることを把握し得る。
【0084】
図9は、文書検索システム10の検索結果の表示の第1の例を示す図である。検索結果の表示910および表示920は、端末110のディスプレイに表示される。表示910は、更新履歴の一部として、検索結果に含まれる文書160が更新されたことを示す更新通知930を含む。
【0085】
表示920は、更新履歴の一部として、更新通知930と、更新の詳細情報940とを含む。詳細情報940は、文書160の更新日(更新日時であってもよい)、文書160を更新したユーザー、文書160の更新内容(変更したテキスト等)、および文書160のフォーマット等の任意の情報を含み得る。
【0086】
図10は、文書検索システム10の検索結果の表示の第2の例を示す図である。検索結果の表示1010および表示1020は、端末110のディスプレイに表示される。検索結果の表示1010は、各文書160の特徴量を含む。表示1020は、各文書の更新履歴を含む。
【0087】
ある局面において、検索サーバー100は、端末110から検索要求を受信したことに基づいて、文書160のサムネイルを検索結果に含めずに、表示1010(文書160の特徴量)、表示1020(更新履歴)の片方または両方を検索結果に含めて、当該検索結果を端末110に送信してもよい。また、他の局面において、検索サーバー100は、表示1010(文書160の特徴量)、表示1020(更新履歴)の片方または両方と共に、文書160のサムネイルを検索結果に含めて、当該検索結果を端末110に送信してもよい。
【0088】
図11は、文書検索システム10の検索結果の表示の第3の例を示す図である。検索結果の表示1110および表示1120は、端末110のディスプレイに表示される。
【0089】
表示1110は、更新履歴の一部として、検索結果に含まれる文書160が更新されたことを示す更新通知1111と、マーキングされた更新前の変更箇所1112と、マーキングされた更新後の変更箇所1113とを含む。
【0090】
表示1120は、更新履歴の一部として、検索結果に含まれる文書160が更新されたことを示す更新通知1121と、強調表示された更新前の変更箇所1122と、強調表示された更新後の変更箇所1123とを含む。なお、更新通知1111,1121は、ユーザーが注目すべき箇所(マーキング箇所、強調表示箇所)等を示すメッセージと、具体的な変更内容等を含み得る。
【0091】
ある局面において、
図9~
図11に示す表示例および各表示に含まれる項目は適宜組み合わせて使用されてもよい。ユーザーは、これらの更新履歴に関する情報を参照することで、更新前後における文書160の特徴量の変化の有無に関係なく、文書160が更新されたか否か、および具体的な変更内容を確認し得る。
【0092】
<D.フローチャート>
次に、
図12および
図13を参照して、検索サーバー100の内部処理の流れについて説明する。ある局面において、CPU1は、
図12および
図13の処理を行うためのプログラムを2次記憶装置3から1次記憶装置2に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
【0093】
図12は、検索サーバー100の検索処理のフローチャートの一例を示す図である。ステップS1210において、CPU1は、検索条件の指定を受け付ける。ある局面において、CPU1は、端末110から、WebアプリケーションのUI等を介して検索条件を受け付けてもよい。検索条件は、検索対象の文書160の特徴量に関する任意の情報(レイアウト情報等)、および検索結果の表示数等の任意の条件を含み得る。
【0094】
ステップS1220において、CPU1は、取得した検索条件を検索部410に出力する。ステップS1230において、CPU1は、各文書160のインデックス150を読み込む。ある局面において、CPU1は、2次記憶装置3から各文書160のインデックス150を読み込んでもよい。他の局面において、CPU1は、ファイルサーバー120から各文書160のインデックス150を読み込んでもよい。
【0095】
ステップS1240において、CPU1は、各インデックス150および検索条件を比較する。より具体的には、CPU1は、各インデックス150が含む特徴量と、検索条件が含む特徴量とを比較する。
【0096】
ステップS1250において、CPU1は、一致率の高い文書160のインデックス150を抽出する。より具体的には、CPU1は、検索条件が含む特徴量との一致率が高い特徴量を含むインデックス150を抽出する。CPU1は、1または複数のインデックス150を抽出してもよい。
【0097】
ステップS1260において、CPU1は、抽出したインデックス150内の更新履歴を確認する。ステップS1270において、CPU1は、抽出したインデックス150内の更新履歴を含む検索結果を端末110に出力する。検索結果は、更新履歴の一部または全てを含み得る。ある局面において、端末110は、インデックス150に含まれる更新履歴をそのまま表示する必要は無く、フォーマットを適宜変更してもよいし、更新履歴に応じて表示結果のレイアウト(マーキング、強調表示等)を変更してもよい。
【0098】
図13は、検索サーバー100のインデックス150の更新処理のフローチャートの一例を示す図である。ステップS1305において、CPU1は、文書160の更新を確認する。ある局面において、ファイルサーバー120は、文書160の更新を検索サーバー100に通知してもよい。他の局面において、検索サーバー100は、定期的にファイルサーバー120に文書160の更新を問い合わせてもよい。
【0099】
ステップS1310において、CPU1は、文書160に更新があるか否かを判定する。CPU1は、文書160に更新があると判定した場合(ステップS1310にてYES)、制御をステップS1315に移す。そうでない場合(ステップS1310にてNO)、CPU1は、制御をステップS1305に移す。
【0100】
ステップS1315において、CPU1は、更新された文書160から特徴量を抽出する。一例として、CPU1は、文書160に含まれる任意のオブジェクト(テキスト、グラフ、表および絵等)のフォント、色、大きさ、形およびサイズ等の任意の項目から特徴量を抽出し得る。
【0101】
ステップS1320において、CPU1は、今回の文書160の更新に関する更新履歴を取得する。更新履歴は、例えば、文書160の更新日(更新日時であってもよい)、文書160を更新したユーザー名、文書160の更新されたページ番号、および、文書160のテキストに関する情報(フォント、文字の装飾、罫線の設定および色等)の少なくとも一部を含む。
【0102】
ステップS1325において、CPU1は、文書160を前回更新したユーザーと、文書160を今回更新したユーザーとが同一であるか否かを判定する。CPU1は、文書160を前回更新したユーザーと、文書160を今回更新したユーザーとが同一であると判定した場合(ステップS1325にてYES)、制御をステップS1330に移す。そうでない場合(ステップS1325にてNO)、CPU1は、制御をステップS1345に移す。
【0103】
ステップS1330において、CPU1は、インデックス150内の最新の特徴量を更新する。より具体的には、CPU1は、前回の文書160の更新後の特徴量を今回の文書160の更新後の特徴量で上書きする。
【0104】
通常、インデックス150は、文書160のバージョン毎の特徴量を含み得る。これにより、複数のユーザーが文書160を修正した場合でも、各ユーザーは自分の知るバージョンの文書160の特徴量を指定することで文書160を検索し得る。
【0105】
しかしながら、例えばユーザーAが文書160を2回連続して更新した場合、ユーザーAは自分が文書160を連続して更新したことを知っている。そのため、ユーザーAが文書160を検索する場合は、最新の文書160の特徴量(2回目の更新の後の文書160の特徴量)を検索条件に含めるはずである。そのため、CPU1は、文書160を前回更新したユーザーと、文書160を今回更新したユーザーとが同一である場合、前回の文書160の更新後の特徴量を今回の文書160の更新後の特徴量で上書きする。
【0106】
ステップS1335において、CPU1は、インデックス150内の最新の更新履歴を更新する。より具体的には、CPU1は、前回の文書160の更新後の更新履歴を今回の文書160の更新後の更新履歴で上書きする。ある局面において、CPU1は、前回の文書160の更新後の更新履歴と、今回の文書160の更新後の更新履歴とを1つの更新履歴として纏めてもよい。
【0107】
通常、インデックス150は、文書160のバージョン毎の更新履歴を含み得る。これにより、複数のユーザーが文書160を修正した場合でも、各ユーザーは文書160のバージョン毎の更新履歴を参照することで文書160がどのように編集されたかを把握することができる。
【0108】
しかしながら、例えばユーザーAが文書160を2回連続して更新した場合、この2回の更新はユーザーAによる一連の更新であるとも言える。そのため、CPU1は、文書160を前回更新したユーザーと文書160を今回更新したユーザーとが同一である場合、前回の文書160の更新後の更新履歴を今回の文書160の更新後の更新履歴で上書きする。または、CPU1は、上書き処理に代えて、前回の文書160の更新後の更新履歴と、今回の文書160の更新後の更新履歴とを1つの更新履歴として纏めてもよい。
【0109】
ステップS1340において、CPU1は、更新された文書160のサムネイル画像を生成する。ある局面において、文書160のバージョン毎のサムネイル画像を生成し、各サムネイル画像を文書160のバージョン毎の特徴量に関連付けてもよい。
【0110】
ステップS1345において、CPU1は、更新された文書160の特徴量に変化があるか否かを判定する。CPU1は、更新された文書160の特徴量に変化があると判定した場合(ステップS1345にてYES)、制御をステップS1350に移す。そうでない場合(ステップS1345にてNO)、CPU1は、制御をステップS1360に移す。
【0111】
ステップS1350において、CPU1は、インデックス150に、更新後の文書160の特徴量を追加する。CPU1は、インデックス150に含まれている特徴量の上書きまたは削除を実行しなくてもよい。
【0112】
ステップS1355において、CPU1は、インデックス150に、更新後の文書160の更新履歴を追加する。CPU1は、インデックス150に含まれている更新履歴の上書きまたは削除を実行しなくてもよい。
【0113】
ステップS1360において、CPU1は、インデックス150に、更新後の文書160の更新履歴を追加する。CPU1は、インデックス150に含まれている更新履歴の上書きまたは削除を実行しなくてもよい。なお、CPU1は、さまざまなタイミングでインデックス150を更新し得る。ある局面において、CPU1は、文書160がプリントされた後に文書が更新されたことに基づいて、インデックス150を更新してもよい。他の局面において、CPU1は、文書160が編集不可能なファイル形式にエクスポートされた後に文書が更新されたことに基づいて、インデックス150を更新してもよい。
【0114】
以上説明した通り、本実施の形態に従う文書検索システム10は、文書160が更新されたことに基づいて、更新履歴を生成する。また、文書検索システム10は、当該更新履歴をユーザーの端末110に通知する。これにより、ユーザーは、文書160の特徴量に変化がない場合でも文書160が編集されたことに容易に気づくことができる。その結果、ユーザーは、例えば意図しない文書160(数字を書き換えられた文書等)をプリントして使用する等の業務事故を防止し得る。
【0115】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【0116】
1 CPU、2 1次記憶装置、3 2次記憶装置、4 外部機器インターフェイス、5 入力インターフェイス、6 出力インターフェイス、7 通信インターフェイス、10 文書検索システム、100 検索サーバー、110 端末、120 ファイルサーバー、150 インデックス、155 インデックスデータベース、160 文書、170 複合機、300 スキャナー、410 検索部、420 特徴量抽出部、430 更新履歴生成部、440 サムネイル画像生成部、450 検索条件入力部、460 検索結果送信部、470 ファイルサーバー通信部、510 キーボード、520 マウス、530 タッチパネル、540 ディスプレイ、910,920,1010,1020,1110,1120 表示、930,1111,1121 更新通知、940 詳細情報、1112,1113,1122,1123 変更箇所。