以下、本発明の具体的な実施の形態について図面を参照しつつ詳細に説明する。なお、本発明の技術的範囲は以下に記述する実施の形態に限定されるものではなく、発明の構成要件やその組み合わせによって得られる特定の効果を導き出せる範囲において、種々の変更や改良を加えた形態も含む。
図1は本発明の実施の形態に係る文書処理システムの構成を示す図である。図1においては、複数(図例では三つ)の文書生成装置1,2,3と、文書共有サーバー4と、利用者端末5とが、ネットワーク6を介して相互に接続されている。ネットワーク6は、例えばLAN(Local Area Network)などを用いて構成されるものである。各々の文書生成装置1,2,3は、本発明に係る文書処理装置が取り扱う電子文書を生成するものである。
文書生成装置1は、各種のデータを記憶して蓄積するハードディスク装置(HDD)11と、このハードディスク装置11に蓄積された専用のシステムデータSD1を取り扱う専用のシステムアプリケーション(システムAP)12と、このシステムアプリケーション12から印刷指示を受けたシステムデータSD1を所定のフォーマット形式の電子文書D1に変換する仮想プリンタドライバ13とを備えている。システムアプリケーション12は、ソフトウェアの形態で文書生成装置1に組み込まれているが、当該ソフトウェアを組み込んだホストコンピュータ装置として存在してもよい。また、システムアプリケーション12は、仮想プリンタドライバ13に対してシステムデータSD1の印刷を指示するだけの機能を有するものであってもよい。仮想プリンタドライバ13で生成された電子文書D1は、ハードディスク装置11に蓄積される構成となっている。
文書生成装置2及び文書生成装置3は、それぞれ上記文書生成装置1と同様の構成を備えている。すなわち、文書生成装置2は、各種のデータを記憶して蓄積するハードディスク装置21と、このハードディスク装置21に蓄積された専用のシステムデータSD2を取り扱う専用のシステムアプリケーション22と、このシステムアプリケーション22から印刷指示を受けたシステムデータSD2を所定のフォーマット形式の電子文書D2に変換する仮想プリンタドライバ23とを備えている。システムアプリケーション22は、ソフトウェアの形態で文書生成装置2に組み込まれているが、当該ソフトウェアを組み込んだホストコンピュータ装置として存在してもよい。また、システムアプリケーション22は、仮想プリンタドライバ23に対してシステムデータSD2の印刷を指示するだけの機能を有するものであってもよい。仮想プリンタドライバ23で生成された電子文書D2は、ハードディスク装置21に蓄積される構成となっている。
また、文書生成装置3は、各種のデータを記憶して蓄積するハードディスク装置31と、このハードディスク装置31に蓄積された専用のシステムデータSD3を取り扱う専用のシステムアプリケーション32と、このシステムアプリケーション32から印刷指示を受けたシステムデータSD3を所定のフォーマット形式の電子文書D3に変換する仮想プリンタドライバ33とを備えている。システムアプリケーション32は、ソフトウェアの形態で文書生成装置3に組み込まれているが、当該ソフトウェアを組み込んだホストコンピュータ装置として存在してもよい。また、システムアプリケーション32は、仮想プリンタドライバ33に対してシステムデータSD3の印刷を指示するだけの機能を有するものであってもよい。仮想プリンタドライバ33で生成された電子文書D3は、ハードディスク装置31に蓄積される構成となっている。
上記構成からなる文書生成装置1,2,3において、文書生成装置1の仮想プリンタドライバ13で生成される電子文書D1のフォーマット方式と、文書生成装置2の仮想プリンタドライバ23で生成される電子文書D2のフォーマット方式と、文書生成装置3の仮想プリンタドライバ33で生成される電子文書D3のフォーマット方式は、すべて同一(共通)の方式となっている。本明細書においては、各々の文書生成装置1,2,3によって生成される電子文書D1,D2,D3の集合を、所定のフォーマット形式の電子文書群とする。ここでは、一例として、各々の電子文書D1,D2,D3がいずれもPDF(Portable Document Format)方式の電子文書を生成するものとする。
ただし、文書生成装置1のシステムアプリケーション12が取り扱うシステムデータSD1と、文書生成装置2のシステムアプリケーション22が取り扱うシステムデータSD2と、文書生成装置3のシステムアプリケーション32が取り扱うシステムデータSD3との間に、互換性はない。具体的には、文書生成装置1のシステムアプリケーション12が取り扱うシステムデータSD1は、文書生成装置2のシステムアプリケーション22や文書生成装置3のシステムアプリケーション32で取り扱うことができず、文書生成装置2のシステムアプリケーション22が取り扱うシステムデータSD2は、文書生成装置1のシステムアプリケーション12や文書生成装置3のシステムアプリケーション32で取り扱うことができず、文書生成装置3のシステムアプリケーション32が取り扱うシステムデータSD3は、文書生成装置1のシステムアプリケーション12や文書生成装置2のシステムアプリケーション22で取り扱うことができない仕組みになっている。
具体的な事例として、病院などの医療機関で複数の部門(例えば、検査部門、診察部門、会計部門など)ごとに運用される、それぞれの部門に特化した複数のシステムのうち、患者の検査データを管理するシステム(以下、「検査データ管理システム」)に組み込まれるコンピュータ装置が文書生成装置1に該当し、患者のカルテを管理するシステム(以下、「カルテ管理システム」)に組み込まれるコンピュータ装置が文書生成装置2に該当し、会計を管理するシステム(以下、「会計管理システム」)に組み込まれるコンピュータ装置が文書生成装置3に該当するものと仮定する。ここでは一つの文書生成装置で一種類の電子文書を生成するものとするが、一つの文書生成装置で複数種の電子文書を生成するものであってもよい。また、仮想プリンタドライバは、文書共有サーバー4又は利用者端末5が備えるものとし、当該仮想プリンタドライバに対して、各々の文書生成装置1,2,3のシステムアプリケーション12,22,32が印刷指示を与えることにより、電子文書D1,D2,D3を生成するシステム構成としてもよい。
文書生成装置1が生成する電子文書D1は、患者の「血液検査結果シート」を示す文書であり、文書生成装置2が生成する電子文書D2は、患者の「カルテ」を示す文書であり、文書生成装置3が生成する電子文書D3は、患者の「会計指示書」を示す文書であるものと仮定する。そして、各々の電子文書D1,D2,D3の元になるシステムデータSD1,SD2,SD3のうち、「カルテ」を示すシステムデータSD2は、患者単位(患者と1:1の関係)で生成され、「血液検査結果シート」と「会計指示書」を示すシステムデータSD1,SD3は、それぞれ患者単位で年月日ごとに生成されるものとする。このため、文書生成装置1が生成する電子文書D1は、血液検査を行なった患者の人数や検査日に応じて複数(多数)存在することになり、文書生成装置2が生成する電子文書D2は、受診した患者の人数に応じて複数(多数)存在することになり、文書生成装置3が生成する電子文書3は、受診した患者の人数や受診日に応じて複数(多数)存在することになる。
また、各々の文書生成装置1,2,3では、例えば新患や再診の患者や病院等の受け付け窓口で診察の受け付け手続きを行なうたび、新たな電子文書D1,D2,D3(ただし、電子文書D1については受診で血液検査が必要なときだけ)が生成され、当該電子文書D1,D2,D3がネットワーク6を通して文書共有サーバー4に転送される仕組みになっているものとする。このため、文書共有サーバー4が備えるハードディスク装置41には、常に最新の電子文書(電子文書群)D1,D2,D3が蓄積された状態となる。また、文書共有サーバー4には、受診した患者の人数分に相当する多数の電子文書D1,D2,D3が混在して蓄積された状態となる。文書操作の対象として文書共有サーバー4に蓄積される電子文書D1,D2,D3は、過去(システムの運用開始)から現在に至るまでに生成されたすべての電子文書を含むものとする。ただし、これ以外にも、例えば、ある特定の期間(例えば、現在から24時間以内の期間、1週間以内の期間など)に生成された電子文書だけを文書共有サーバー4に蓄積するものとしてもよい。なお、各々の文書生成装置1,2,3が生成した電子文書D1,D2,D3については、文書共有サーバー4を経由することなく、直接、利用者端末5のハードディスク装置51に取り込むようにしてもよい。
利用者端末5は、本発明に係る文書処理装置に相当するもので、ハードディスク装置51と、文書操作制御部52と、文書処理部53と、入出力部54とを備えた構成となっている。ハードディスク装置51は、文書共有サーバー4から読み出した電子文書D1,D2,D3のデータを含めて、各種のデータを記憶して蓄積するものである。文書操作制御部52は、入出力部53を介して入力される文書操作者(端末の利用者)7の操作を受け付けて、ハーディスク装置51内に蓄積された電子文書D1,D2,D3を検索したり、当該受け付けた操作の内容(種類)を示すデータ(操作データ)や当該操作内容に基づく文書処理命令を文書処理部53に通知したりするものである。
文書処理部53は、文書操作制御部52から通知される文書処理命令にしたがって、ハードディスク装置51から処理の対象となる電子文書を読み出し、所定の処理を行なうものである。入出力部53は、文書処理部53の処理機能を利用して、利用者端末5を利用する文書操作者7が電子文書の操作(例えば、閲覧のための操作、更新のための操作など)を行なう場合に、文書操作者7が各種の情報を入力したり、文書操作者7に対して各種の情報を表示したりするためのインターフェースとなるものである。入出力部53は、例えば、キーボード、マウス等の入力デバイスと、ディスプレイ等の表示デバイスを用いて構成されるものである。
図2は文書処理部53の機能的な構成を示すブロック図である。図示のように、文書処理部53は、文書分類手段501と、抽出条件決定手段502と、情報抽出手段503と、操作履歴記録手段504と、連続操作抽出手段505と、操作支援手段506とを備えた構成となっている。これらの機能部は、コンピュータ装置のハードウェア資源であるCPU、ROM、ハードディスク装置、RAMなどを用いて、例えば、CPUがROM、ハードディスク装置等に格納された文書処理プログラムをRAMに読み出して実行することにより、コンピュータ上で実現されるものである。そのため文書処理プログラムは、予め利用者端末5を構成するコンピュータ装置にインストールされていてもよいし、光ディスク(CD−ROM、DVDを含む)、磁気ディスク(FDを含む)、光磁気ディスク(MDを含む)、半導体メモリ等のコンピュータで読み取り可能な記録媒体に格納して提供されてもよいし、有線あるいは無線などの通信網を介して提供されてもよい。
文書分類手段501は、文書共有サーバー4のハードディスク装置41に蓄積された電子文書D1,D2,D3を例えば一文書ずつ順に読み出して、文書単位で複数の文書種別に分類するものである。文書分類手段501で分類された電子文書は、自装置(利用者端末5)のハードディスク装置51に蓄積される。ここで記述する文書種別は、例えば、フォーマット形式が共通する各々の電子文書D1,D2,D3を閲覧したと仮定したときに視認される文字列等の情報の中身や記載様式、レイアウトなどによって区分されるものである。本実施の形態においては、複数の文書種別として三つの文書種別(以下、「文書クラス1」、「文書クラス2」、「文書クラス3」とも記す)を設定し、文書単位で電子文書(電子文書群)D1,D2,D3の分類を行なうものとする。
抽出条件決定手段502は、複数の文書種別に分類された各々の電子文書に含まれる情報の中から、一つの文書種別に属する複数の電子文書間で異なりかつ各文書種別に属する電子文書間で共通する情報を所定の情報(以下、「キー情報」と記す)として抽出するための抽出条件を決定するものである。情報抽出手段503は、抽出条件決定手段502によって決定された抽出条件にしたがって電子文書からキー情報を抽出するものである。
操作履歴記録手段504は、文書操作者7による電子文書の操作手順と操作対象の電子文書が属する文書種別とを対応付けた操作履歴を時系列に記録するものである。操作履歴の記録は、例えば利用者端末5を構成するコンピュータ装置が備えるメモリ機能(例えば、不揮発性のメモリなど)を用いて行なう。
連続操作抽出手段505は、操作履歴記録手段504によって記録された操作履歴の中から、操作した時期が異なりかつ操作手順と文書種別の対応関係が共通する一連の操作履歴を連続操作情報として抽出するものである。
操作支援手段506は、文書操作者7による電子文書の操作中に、文書操作者7の操作手順を監視し、予め連続操作抽出手段505によって抽出された一つ又は複数の連続操作情報の中に、1番目からn番目(nは2以上の自然数)までの操作手順と文書種別の対応関係が共通する連続操作情報が存在する場合は、この記連続操作情報の操作履歴に登録されている(n+1)番目の操作に対応付けられている文書種別に属し、かつ、文書操作者7がn番目に操作中の電子文書に含まれるキー情報に合致する情報を含む電子文書を特定し、文書操作者7による(n+1)番目の操作を支援する処理を行なうものである。
図3は本発明の実施の形態に係る第1の文書処理の手順を示すフローチャートである。まず、文書分類手段501は、前述したように文書共有サーバー4のハードディスク装置41に蓄積されている複数(多数)の電子文書D1,D2,D3を対象に、所定のクラスタリング処理を行なうことにより、「血液検査結果シート」を示す電子文書D1を文書クラス1に、「カルテ」を示す電子文書D2を文書クラス2に、「会計指示書」を示す電子文書D3を文書クラス3に、それぞれ分類する(ステップS1)。文書分類手段501で分類された電子文書D1,D2,D3は、文書種別(文書クラス)ごとに分けてハードディスク装置51に保存される。これにより、文書クラス1には、患者名や検査日の異なる複数(多数)の電子文書D1が属することになる。また、文書クラス2には、患者名が異なる複数(多数)の電子文書D2が属し、文書クラス3には、患者名と会計日の異なる複数(多数)の電子文書D3が属することになる。
文書分類手段50で適用される文書分類方法としては、既存のクラスタリング手法などを用いることができる。また、電子文書をいずれの文書種別に分類するかを判定するための参照情報としては、例えば、各々の文書生成装置1,2,3で印刷を指示したアプリケーションの種別、印刷を指示した際の印刷ジョブの名称、印刷を指示した日時、印刷指示操作を行なったユーザー名、印刷指示で指定されたページ数や部数、印刷指示で指定されたページサイズ、印刷用の描画データに含まれるテキストデータ、印刷用の描画データに含まれる図形データのうち、少なくとも一つ以上の論理的組み合わせを用いることができる。
アプリケーションの種別に関しては、例えば、分類の対象となる電子文書の印刷を指示したアプリケーションの種別がシステムアプリケーション12であった場合は、当該印刷指示によって生成された電子文書D1を文書クラス1に分類する、といった具合にクラスタリング処理すればよい。また、印刷ジョブの名称に関しては、例えば、各々のシステムアプリケーション12,22,32がそれぞれ固有の印刷ジョブ名をもって印刷指示を行ない、当該印刷ジョブ名を電子文書のファイル名に含ませる場合に、電子文書のファイル名に含まれる印刷ジョブの名称に基づいて電子文書を分類する、といった具合にクラスタリング処理すればよい。印刷を指示した日時に関しては、例えば、特定の文書種別の電子文書の印刷を特定の日時(曜日、月末など)に行なうことがルール化されていて、印刷を指示した日時を電子文書のファイル名に含ませる場合に、電子文書のファイル名に含まれる印刷指示日時に基づいて電子文書を分類する、といった具合にクラスタリング処理すればよい。
印刷指示操作を行なったユーザー名に関しては、例えば、印刷指示操作を行なったユーザー名をユーザーのログイン情報などから取り出し、そのユーザー名を電子文書のファイル名に含ませる場合に、電子文書のファイル名に含まれるユーザー名に基づいて電子文書を分類する、といった具合にクラスタリング処理すればよい。印刷指示で指定されたページ数や部数、ページサイズに関しては、電子文書が属する可能性のある文書種別を絞り込むための情報としてクラスタリング処理に利用すればよい。同様に、印刷用の描画データに含まれるテキストデータや図形データに関しても、電子文書が属する可能性のある文書種別を絞り込むための情報としてクラスタリング処理に利用すればよい。
図4は血液検査結果シートを示す電子文書D1の例を示している。この電子文書D1には、血液検査結果を示す検査項目や検査値などの情報と併せて、検査日や患者名などの情報が含まれている。図5はカルテを示す電子文書D2の例を示している。この電子文書D2には、診察の所見や経過などの情報と併せて、患者名や診察日、担当医の名前などの情報が含まれている。図6は会計指示書を示す電子文書D3の例を示している。この電子文書D3には、会計の請求金額などの情報と併せて、患者名や会計日などの情報が含まれている。
各々の電子文書D1,D2,D3は、それぞれ文書の記載様式が決まっている。例えば、電子文書D1に関しては、一番上の欄に検査日と患者名が左右に分けて記載(レイアウト)され、その下に枠付きで血液検査の結果が記載される様式になっている。また、電子文書D2に関しては、一番上の欄に患者名が記載され、その下に診察日ごとに分けて担当医の名前と診察の所見などが記載される様式になっている。また、電子文書D3に関しては、一番上の欄に患者名と会計日が左右に分けて記載され、その下に枠付きで会計情報が記載される様式になっている。電子文書D1,D3のページ数(印刷枚数)は、それぞれ1ページ(1枚)となっている。これに対して、電子文書D2のページ数は、診察回数等により、1ページの場合もあるし、図示のように複数ページの場合もある。
次に、抽出条件決定手段502は、各々の文書種別ごとにキー情報候補を抽出する(ステップS2)。キー情報候補は、キー情報の候補となる情報であって、一つの文書種別に属する複数の電子文書の間で内容(情報の値)の異なる情報である。複数の文書種別に分類された電子文書の記載様式として、共通(一つ)の文書種別に属する電子文書であれば、定型的に記載される共通の情報と、それ以外の個別の情報とを含むものとなる。キー情報候補は、「個別の情報」に該当する。複数の電子文書間で、異なる情報であるか、共通する情報であるかの判断は、文字列単位で行なうものとする。これにより、例えば、上記図4に例示する血液検査結果シートの場合でいうと、「検査日」、「患者名」、「成分A」、「総合判定」などの文字列の情報は、同じ文書クラス1に属する他の電子文書でも同じ情報となる。これに対して、検査日を示す「XX年YY月ZZ日」、患者名を示す「○山△男」、成分ごとの検査値、総合判定結果を示す「B」などの文字列の情報は、同じ文書クラス1に属する他の電子文書とは異なる情報となる。
したがって、上記ステップS1で文書クラス1に分類された電子文書D1から抽出されるキー情報候補は図7のようになる。また、文書クラス2に分類された電子文書D2から抽出されるキー情報候補は図8のようになり、文書クラス3に分類された電子文書D3から抽出されるキー情報候補は図9のようになる。いずれの文書クラス1,2,3に分類された電子文書でも、各々の電子文書から抽出されるキー情報候補は、電子文書に含まれる文字列と当該文字列の記載位置を示す情報(文字列の記載ページ、記載ページ内での文字列の位置、文字列のフォント)とを対応付けたものとなる。文字列の記載ページは、対応する文字列が電子文書の何ページに記載されているかを示す情報となる。記載ページ内での文字列の位置は、電子文書のページに仮想的に設定したxy座標系を用いて、ページ内で文字列が記載されている領域を、x座標値、y座標値、記載幅値w及び記載高さ値hによって示す情報となる。
次に、抽出条件決定手段502は、各々の文書種別(文書クラス1,2,3)ごとに、上記図7、図8、図9のように抽出したキー情報候補を用いて、文書種別間のキー情報候補の文字列を比較することにより、各文書種別に属する電子文書間で内容が共通する情報をキー情報として特定する(ステップS3)。内容の共通性は、上記ステップS2でキー情報候補として抽出した文字列(例えば、テキストコード等)の情報が一致するかどうかで判断すればよい。これにより、上記図7、図8、図9に示すキー情報候補を比較した場合は、各々の文書クラス1,2,3に共通して現れるキー情報候補として、「○山△男」、「▽川○子」、「XX年YY月ZZ日」という文字列の情報が、それぞれキー情報として特定される。ただし、「○山△男」、「▽川○子」の各文字列の情報に関しては、共通する文書種別に属する電子文書であれば、文書上のほぼ同じ位置に存在することから、それらの情報は文書上の同じフィールドに存在するキー情報として特定される。
次に、抽出条件決定手段502は、上記ステップS3で特定したキー情報を用いて、キー情報を抽出するための抽出条件を決定する(ステップS4)。具体的には、キー情報として特定した文字列に対応付けられた、文字列の記載位置を示す情報(文字列の記載ページ、記載ページ内での文字列の位置、文字列のフォント)に基づいてキー情報の抽出条件を決定する。ここで決定したキー情報の抽出条件は、自装置内のメモリ等に登録・保持される。そして、ある文書クラスに属する電子文書から情報抽出手段503がキー情報を抽出する際に、予めメモリ等に登録してある抽出条件が参照され、当該抽出条件にしたがってキー情報が抽出される。
図10は抽出条件決定手段502によって決定されたキー情報の抽出条件の一例を示す図である。図10において、キー情報1は、前述した「○山△男」や「▽川○子」という文字列の情報に対応するもので、文書クラス1,2,3ごとに、キー情報1を取り出すための条件(文字列の記載ページ、記載ページ内での文字列の位置、文字列のフォント)が登録されている。キー情報2は、前述した「XX年YY月ZZ日」という文字列の情報に対応するもので、文書クラス1,2,3ごとに、キー情報2を取り出すための条件(文字列の記載ページ、記載ページ内での文字列の位置、文字列のフォント)が登録されている。
キー情報の抽出条件を決定するにあたっては、各文書クラスからキー情報を取り出す条件に、許容度をもって合致する文字列を再度抽出し、それらの文字列がキー情報として取り出されるように、取り出す条件の許容度を決めてもよい。例えば、文書クラス1からキー情報1を取り出す場合、「○山△男」という文字列の位置は、「x=243 y=24 w=56 h=9」として指定されるが、例えばx座標値、y座標値には±5の許容度、(x+w)、(y+h)にも±5の許容度をもって文書クラス1内の文字列を再度抽出すると、「▽川○子」という文字列やその他の文字列も抽出される。そこで、これらの文字列が抽出されるような位置の条件として、例えば「x=243 y=24 44≦w≦68 h=9」といった具合に、wの値に許容幅をもたせた抽出条件を自動的に決めてもよい。この抽出条件は、患者の氏名の文字列長による幅の変動を吸収するような条件となっている。なお、キー情報2を文書クラス2の電子文書から抽出するための抽出条件の中に記述された「y=ANY」は、「y座標値は規定せず」という意味をもつ。
その後、操作履歴記録手段504は、文書操作者7による電子文書の操作手順と操作対象の電子文書が属する文書種別とを対応付けた操作履歴を時系列に記録する(ステップS5)。具体的には、文書操作者7が入出力部53を用いて行なった電子文書の操作の種類を、一操作ごとに順に収集することにより、文書操作者7が行なった文書操作の種類(例えば、「開く」、「閉じる」など)を一操作ごとに並べたかたちの操作手順と、文書操作者7が一種類の操作を行なうたびに、そのときに操作対象とした電子文書が属する文書クラスとを対応付けた操作履歴を時系列で記録する。この操作履歴では、操作手順として記録される一操作ごとの操作の種類と一操作ごとの文書クラスとが「1:1の関係」で対応付けられる。
図11は操作履歴記録手段504で記録される操作履歴の一例を示す図である。図示した操作履歴においては、操作手順と文書クラスに加えて、キー情報(キー情報1,キー情報2)が対応付けられている。また、図示した操作履歴は、実際に文書操作者7が操作した順番にしたがって上段から下段に一操作ずつ時系列に記録されている。操作履歴で対応付けられているキー情報は、上記図10に示す抽出条件にしたがって各文書クラスの電子文書から情報抽出手段503によって抽出された情報である。
次に、連続操作抽出手段505は、操作履歴記録手段504によって記録された操作履歴の中から、操作した時期が異なりかつ操作手順と文書種別の対応関係が共通する一連の操作履歴を連続操作情報として抽出する(ステップS6)。
一例として、上記図11に示す操作履歴をみてみると、操作手順が「開く」→「開く」→「テキスト追加」→「閉じる」→「開く」→「テキスト追加」→「保存して閉じる」→「保存して閉じる」→「システムAへ登録」という一連の9つの操作の後に、これと同様の手順で9つの操作が履歴として記録されている。そして、前段の9つの操作手順に対応付けられた文書クラスの登録順(出現順)と、後段の9つの操作手順に対応付けられた文書クラスの登録順は、互いに共通している。
また、前段の9つの操作手順に対応付けられたキー情報1は「○山△男」という文字列になっており、後段の9つの操作手順に対応付けられたキー情報1は「▽川○子」という文字列になっている。さらに、前段の9つの操作手順に対応付けられたキー情報2は、文書クラス1及び文書クラス3に関しては、いずれも「XX年YY月ZZ日」という文字列になっており、文書クラス2に関しては、「XX年YY月SS日」及び「XX年YY月ZZ日」という2つの文字列になっている。一方、後段の9つの操作手順に対応付けられたキー情報2は、文書クラス1及び文書クラス3に関しては、いずれも「XX年YY月ZZ日」という文字列になっており、文書クラス2に関しては、「XX年YY月WW日」及び「XX年YY月ZZ日」という2つの文字列になっている。
そうした場合、連続操作抽出手段505は、前段の9つの操作と、後段の9つの操作に関して、両者の操作時期が互いに異なっていることや、操作手順と文書種別の対応関係が両者とも共通していることから、それら9つの操作の操作履歴で対応付けられている操作手順と文書クラスの情報を「連続操作情報」として抽出する。連続操作抽出手段505によって抽出された連続操作情報は、自装置のメモリ等に保持される。連続操作抽出手段505によって抽出される連続操作情報は、その抽出条件を満たす一連の操作手順の組(集合)が、時系列の操作履歴の中に一つしか存在しない場合は、それに応じて一つだけ抽出され、複数存在する場合は、それに応じて複数抽出される。なお、図11に示す操作履歴においては、前段の9つの操作に続いて後段の9つの操作が行なわれているが、前段の9つの操作と後段の9つの操作との間に別の操作が行われていても、それらの操作履歴から抽出される連続操作情報は同様のものとなる。
図12は連続操作抽出手段505によって抽出された連続操作情報の一例を示す図である。図示した連続操作情報においては、前述した「開く」→「開く」→「テキスト追加」→「閉じる」→「開く」→「テキスト追加」→「保存して閉じる」→「保存して閉じる」→「システムAへ登録」という一連の操作の手順と、それぞれの操作で操作対象となった電子文書が属する文書クラスとが対応付けられている。さらに、操作手順に含まれる各々の操作(一操作)ごとに、キー情報の合致条件が対応付けられている。すなわち、キー情報1に関しては、連続操作情報に含まれる各々の操作で操作対象とするすべての電子文書が共通するキー情報を含むことを条件としている。また、キー情報2に関しては、連続操作情報に含まれる各々の操作で操作対象とするすべての電子文書が少なくとも一つの共通するキー情報を含むことを条件としている。こうしたキー情報の合致条件は、連続操作抽出手段505で抽出された連続操作情報に含まれるキー情報の値に基づいて設定される。
なお、連続操作抽出手段505が連続操作情報を抽出する場合の付加的な条件として、例えば、連続操作情報として抽出する一連の操作手順に含まれる操作回数の最小値/最大値を規定してもよい。その場合、操作回数の最小値で規定すれば、規定回数以上の操作を含む操作手順だけを連続操作情報として抽出することになり、操作回数を最大値で規定すれば、規定回数以内の操作を含む操作手順だけを連続操作情報として抽出することになる。また、操作回数の最小値及び最大値の両方で規定すれば、規定回数範囲内の操作を含む操作手順だけを連続操作情報として抽出することになる。
上記以外の付加的な条件として、例えば、一連の操作手順で操作対象とした電子文書数の最小値/最大値を規定してもよい。その場合、電子文書数の最小値で規定すれば、規定数以上の電子文書を操作対象とした操作手順だけを連続操作情報として抽出することになり、電子文書数の最大値で規定すれば、規定数以内の電子文書を操作対象とした操作手順だけを連続操作情報として抽出することになる。また、電子文書数の最小値及び最大値の両方で規定すれば、規定数の範囲内の電子文書を操作対象とした操作手順を連続操作情報として抽出することになる。その他にも、例えば、操作対象となる文書クラス数の最小値/最大値で規定してもよい。
図13は本発明の実施の形態に係る第2の文書処理の手順を示すフローチャートである。まず、操作支援手段506は、文書操作者7による電子文書の操作が行われたかどうかを繰り返し確認し(ステップS11)、文書操作が行われたと判断すると、その都度、実際に文書操作者7によって行なわれた操作の種類と、文書操作者7が操作対象として選択した電子文書が属する文書種別と、当該電子文書から上記抽出条件にしたがって情報抽出手段503が抽出したキー情報とを、実行中操作リストに対応付けて登録(すでに登録済みの操作情報がある場合は、それに追加して登録)する(ステップS12)。実行中操作リストは、自装置内のメモリ等に保持されるものである。
次に、操作支援手段506は、実行中の操作リストに登録されている1番目からn番目(nは2以上の自然数)までの操作手順と文書種別の対応関係を基準にして、これと共通(合致)する対応関係で操作手順と文書種別が登録されている連続操作情報が、予め連続操作抽出手段505によって抽出された連続操作情報の中に存在するかどうかを確認する(ステップS13)。具体的には、文書操作者7が1番目から2番目までの操作を行なった段階では、当該1番目から2番目までの操作手順と文書種別の対応関係が共通している連続操作情報が存在するかどうかを確認し、文書操作者7が1番目から3番目までの操作を行なった段階では、当該1番目から3番目までの操作手順と文書種別の対応関係が共通している連続操作情報が存在するかどうかを確認する。同様に、文書操作者7が1番目から4番目までの操作を行なった段階では、当該1番目から4番目までの操作手順と文書種別の対応関係が共通している連続操作情報が存在するかどうかを確認し、文書操作者7が1番目から5番目までの操作を行なった段階では、当該1番目から5番目までの操作手順と文書種別の対応関係が共通している連続操作情報が存在するかどうかを確認する。この点は6番目以降の操作についても同様である。
図14は操作支援手段506によって実行中操作リストに登録された操作情報の一例を示す図である。図示した操作情報においては、1番目の操作の種類は「開く」、1番目に操作対象とした電子文書が属する文書種別は「文書クラス1」、1番目に操作対象とした電子文書から抽出したキー情報1は「☆山◎太」、1番目に操作対象とした電子文書から抽出したキー情報2は「XX年FF月GG日」になっている。また、2番目の操作の種類は「開く」、2番目に操作対象とした電子文書が属する文書種別は「文書クラス2」、2番目に操作対象とした電子文書から抽出したキー情報1は「☆山◎太」、2番目に操作対象とした電子文書から抽出したキー情報2は「XX年YY月SS日」と「XX年FF月GG日」になっている。また、3番目の操作の種類は「テキスト追加」、3番目に操作対象とした電子文書が属する文書種別は「文書クラス2」、3番目に操作対象とした電子文書から抽出したキー情報1は「☆山◎太」、3番目に操作対象とした電子文書から抽出したキー情報2は「XX年YY月SS日」と「XX年FF月GG日」になっている。また、4番目の操作の種類は「閉じる」、4番目に操作対象とした電子文書が属する文書種別は「文書クラス1」、4番目に操作対象とした電子文書から抽出したキー情報1は「☆山◎太」、4番目に操作対象とした電子文書から抽出したキー情報2は「XX年FF月GG日」になっている。
上記図14に示すように、実行中操作リストに4回分(1番目から4番目まで)の操作情報が登録された段階では、1番目から4番目までの操作手順と文書種別の対応関係が共通する連続操作情報の有無を確認する。上記図12に例示した連続操作情報の操作履歴に登録されている1番目から4番目までの操作手順と文書種別の対応関係は、上記図14に示す実行中操作リストに登録されている4回分の操作情報と共通している。この場合、操作支援手段50は、上記ステップS13でYesと判定し、以下の処理を行なう。ちなみに、上記ステップS13でNoと判定した場合は、上記ステップS11に戻る。
まず、操作支援手段506は、文書操作者7が実行中の文書操作で1番目からn番目までの操作手順と文書種別の対応関係が共通すると判定された連続操作情報に登録されている情報の中で、(n+1)番目の操作手順に対応付けられている文書種別を、次の操作で文書操作者7が操作対象にすると予想される文書種別に特定する(ステップS14)。例えば、上記図14に示す実行中操作リストの1番目から4番目までの操作手順と文書種別の対応関係が共通する連続操作情報として、上記図12に示す連続操作情報が操作支援手段506によって検出された場合は、その連続操作情報の5番目の操作(「開く」)に対応付けられている文書種別(「文書クラス3」)を、次の操作となる(n+1)番目の操作で文書操作者7が操作すると予想される文書種別として特定する。
次に、操作支援手段506は、現在実行中の操作で文書操作者7が1番目からn番目までの操作でそれぞれ操作対象とした電子文書から情報抽出手段503が抽出したキー情報と合致する情報(キー情報)を含む電子文書が、上記ステップS14で特定した文書種別に属する複数の電子文書の中に存在するかどうかを確認する(ステップS15)。例えば、上記図14に示す実行中操作リストでは、1番目から4番目までの操作で文書操作者7が操作対象とした電子文書から情報抽出手段503が抽出したキー情報が、キー情報1として「☆山◎太」を含み、かつキー情報2として「XX年FF月GG日」を含むものとなっているため、当該キー情報と合致(キー情報の値が一致)するキー情報を含む電子文書が、「文書クラス3」に属する電子文書の中に存在するかどうかを確認(検索)する。このステップS15で存在が確認された電子文書は、連続操作情報の操作履歴に登録されている(n+1)番目の操作に対応付けられている文書種別に属し、かつ、文書操作者がn番目に操作中の電子文書に含まれるキー情報に合致する情報を含む電子文書として特定される。
次に、操作支援手段506は、上記ステップS15で確認した結果、該当する電子文書が存在しない場合は、上記ステップS11に戻り、該当する電子文書が存在する場合は、該当する電子文書が2つ以上存在(複数存在)するかどうかを判断する(ステップS16)。なお、該当する文書が存在しない場合は、条件を緩和すべく、例えば「文書クラス3」に属する電子文書の中で、キー情報の合致条件として、キー情報2として「XX年FF月GG日」を含むという条件をはずし、キー情報1として「☆山◎太」を含むという条件だけで検索してもよい。また、例えば5つの操作からなる連続操作と、記録されたある連続操作のある期間を比較した場合に、5つの操作全部が合致していなくても、4つ以上の操作が合致していれば、それを操作支援対象の連続操作情報と認定してもよい。
次に、操作支援手段506は、該当する電子文書が1つ存在する場合と2つ以上存在する場合で、その後に行なう支援処理の内容を変える。すなわち、該当する電子文書が1つ存在する場合は、当該電子文書に関して、文書操作者7が(n+1)番目の操作を行なう前に、連続操作情報の操作履歴にしたがって(n+1)番目の操作を自動的に実行する(ステップS17)。例えば、上記図12に示す連続操作情報の操作履歴では、操作支援の対象となる5番目の操作が「開く」になっている。この場合は、上記ステップS15で存在を確認した電子文書を「開く」操作を自動的に実行する。電子文書の操作を自動的に実行するタイミングは、文書操作者7のn番目の操作を検出した直後であってもよいし、当該n番目の操作を検出してから文書操作者7の次の操作がないまま所定時間(例えば、数秒ほど)が経過した時点であってもよい。
一方、該当する電子文書が2つ以上存在する場合は、文書操作者7が(n+1)番目の操作を行なう前に、当該2つ以上の電子文書の一覧を、次の操作の対象候補として文書操作者7に提示する処理を行なう(ステップS18)。この提示処理は、例えば、入力操作部54の表示デバイスの表示画面に、該当する電子文書の一覧を表示したり、そうした電子文書が存在することをメッセージ等で表示したりすることで行なう。この場合、操作支援手段506は、文書操作者7に提示した電子文書の一覧の中から、文書操作者7がいずれか一つの電子文書を選択すると、当該選択した電子文書に関して、連続操作情報の操作履歴に登録されている(n+1)番目の操作を自動的に実行することになる。
以上述べた第2の文書処理は、上記図3に示す第1の文書処理中に抽出条件決定手段502が決定したキー情報の抽出条件や連続操作抽出手段505が抽出した連続操作情報などを用いて、操作支援手段506と情報抽出手段503が行なうものであるため、第2の文書処理を行なう前に、第1の文書処理を行なう必要がある。ただし、第1の文書処理は、少なくとも第2の文書処理の前に1回実行した以降は、継続的に実行してもよい。具体的には、例えば、所定の時間間隔で第1の文書処理を実行したり、各々の文書生成装置1,2,3で新たに生成された電子文書が文書共有サーバー4に転送されるたびに第1の文書処理を実行したりしてもよい。その場合、操作支援手段506と情報抽出手段503は、直近に実行された第1の文書処理で抽出条件決定手段502が決定したキー情報の抽出条件や連続操作抽出手段505が抽出した連続操作情報などを用いて、第2の文書処理を実行することになる。このため、同じ文書操作者7でも経時的に電子文書の操作手順が変化したり、新しい文書操作者7が加わったりした場合などでも、適応的に操作の支援が行われるようになる。
上記実施の形態においては、本発明に係る文書処理装置で処理の対象とする電子文書のフォーマット形式として、現状で標準的な電子文書のフォーマット方式であるPDF形式を例に挙げたが、本発明はこれに限らず、PDF方式以外のフォーマット形式の電子文書を処理するものであってもよい。
1,2,3…文書生成装置、4…文書共有サーバー、5…利用者端末(文書処理装置)、53…文書処理部、501…文書分類手段、502…抽出条件決定手段、503…情報抽出手段、504…操作履歴記録手段、505…連続操作抽出手段、506…操作支援手段