以下、図面を用いて本発明の実施形態を説明する。図1に、本発明に関する全体構成の一例を概念的に示す。図1(ア)に示すように、本発明は基本的に、コンピュータ端末A(以下、「端末A」という)のみのスタンドアローン型で実施される。また、図1(イ)に示すように、端末Aとスキャナなどの情報読取機器(以下、「読取機器B」という)とを、通信ネットワークN(以下、「ネットワークN」という)を介して接続するという形態で実施してもよい。
次に、端末Aについて説明する。図2に、端末Aのハードウェア構成の一例を概念的に示す。端末Aの内部には、少なくとも、処理装置1、記憶装置2、入力装置3、表示装置4、および通信装置5が必要である。さらに、処理装置1の内部には、演算装置6と制御装置7とが必要である。
処理装置1とは、プログラムの演算処理を実行し、その結果に応じて各装置に制御指示を出力するCPUなどのことをいう。記憶装置2とは、情報を記憶するRAMやハードディスクなどのことをいう。入力装置3とは、情報を入力するキーボード、マウス、またはテンキーなどのことをいう。表示装置4とは、情報を表示するディスプレイ(画面)などのことをいう。通信装置5とは、情報を送受信するネットワークインタフェースなどのことをいう。また、端末Aが実行する各機能(各手段)は、その処理を実行するプログラムが処理装置1に読み込まれることで実現される。
次に、読取機器Bについて説明する。読取機器Bとは、原稿から読み取った情報をデータ化して端末Aに転送する機器のことをいう。具体的には、文字や図形を光学的に読み取り、画像データとして転送できるスキャナなどが一例として考えられる。
基本的に、読取機器Bは、端末Aに直接接続されて入力装置3の一部として用いられる。また、読取装置Bは、図1(イ)に示すように、ネットワークNを介して端末Aの通信装置5と接続されるという形式で用いられることもある。
次に、ネットワークNについて説明する。ネットワークNとは、企業や学校などの限られた施設内において情報を物理的に送信するケーブルと、LANスイッチやハブなどからなる中継機器とを備えた、CSMA/CD(Carrier Sense Multiple Access With Collision Detection)方式のLANとして構成されるもののことをいう。これに限らず、インターネットの技術を用いたイントラネットで構成されるものや、WAN(Wide Area Network)の技術によって構成されるものでもよい。
〔実施例1−構成〕
以下、図面を用いて本発明の第一実施例を説明する。本実施例では、スタンドアローン型の実施形態を採用した場合を例に説明する。
図3に、端末Aの機能的特徴をブロック化した機能ブロック図を示す。図3では、論理的な観点から、本発明の各機能を構成部として区別して表現している。したがって、ここでは別の構成部として表現していても、物理上では同一の領域で構成されることがある。なお、図3は、本実施例における必要最小限度の機器や構成部のみを記載しており、その他の構成要素は省略している。
以下、図3示す各構成要素について説明する。
端末Aは、制御装置1と他の装置(入力装置3・表示装置4・通信装置5)との間で情報を送受信するための制御インタフェース10を有する。
端末Aの処理装置1は、入力装置3から制御インタフェース10を介して取得した情報に基づいて表形式データを取得する表形式データ取得部11、取得した表形式データから数値を含む区画を検出する数値区画検出部12、検出した数値区画で関連するものを関連領域として特定する関連領域特定部13、特定した関連領域が日付領域かを判定する日付領域判定部14、表形式データから判定した日付領域を取得する日付領域取得部15、取得した日付領域に基づいて予定内容領域を判定する予定内容領域判定部16、日付領域と予定内容領域とに基づいて表形式データから予定情報を抽出する予定情報抽出部17、抽出した予定情報に応じて端末Aの各装置を制御する制御部18を備えている。
端末Aの記憶装置2は、取得した表形式データを記憶する表形式データ記憶部20、特定した関連領域を記憶する関連領域記憶部21、判定した日付領域を記憶する日付領域記憶部22、判定した予定内容領域を記憶する予定内容領域記憶部23、表形式データから抽出した予定情報を記憶する予定情報記憶部24を備えている。
次に、端末Aの構成要素をさらに細分化した機能ブロック図を、図4(1)・図4(2)に示す。図4(1)・図4(2)では、本実施例において実現可能な追加的機能に関する構成要素もあわせて記載している。
以下、図4(1)・図4(2)に示す各構成要素について説明する。なお、図3と同一の構成要素についてはその説明を省略する。
端末Aは、制御装置1、記憶装置2、入力装置3、表示装置4、および通信装置5を有する。さらに、制御装置1と他の装置(入力装置3・表示装置4・通信装置5)との間で情報を送受信するための制御インタフェース10を有する。そして、端末Aの処理装置1は、表形式データ取得部11、数値区画検出部12、関連領域特定部13、日付領域判定部14、日付領域取得部15、予定内容領域判定部16、予定情報抽出部17、および制御部18を備えている。
処理装置1の関連領域特定部13は、数値区画内の数値が列方向に昇順になっているかを照査する配列照査手段13a、数値区画内の数値が所定範囲内の数値であるかを照査する範囲照査手段13b、配列照査と範囲照査の結果から関連領域を特定する関連領域特定手段13cを有している。
制御装置1の日付領域判定部14は、所定条件に該当する関連領域のうちの一つを基準領域とする基準領域決定手段14a、基準領域に隣接する区画で月情報を含むものを検索する追加区画検索手段14b、基準領域と追加区画から判定条件を生成する判定条件生成手段14c、判定条件に基づいて日付領域を判定する日付領域判定手段14dを有している。
処理装置1の予定内容領域判定部16は、日付領域を予定内容領域の左端とする左端設定手段16a、予定内容領域に二つ以上の日付領域を含まないように右端を設定する右端設定手段16bを有する。
処理装置1の予定情報抽出部17は、表形式データから日付情報と予定内容とを抽出する予定情報抽出手段17a、抽出した予定内容に期間情報が含まれているかを検索する期間情報検索手段17b、予定内容から期間情報を分離させた形式で予定情報を生成する期間情報分離手段17cを有する。
端末Aの処理装置1はさらに、判定した日付領域の数を計数する日付領域計数部30、表形式データから曜日が記載されている領域を判定する曜日領域判定部31、曜日領域を日付領域に置き換える形で、日付領域記憶部22に記憶されている情報に対して変換処理を実行する情報変換部32を有する。
〔実施例1−動作(1)〕
以下、図4(1)・図4(2)の機能ブロック図を用いて、構成要素ごとにその動作について説明する。はじめに、入力装置3および表示装置4の動作について説明する。
入力装置3は、まず、表形式データの記憶場所情報を指定する。そして、指定した記憶場所情報を制御インタフェース10に対して送信する。この記憶場所情報とは、表形式データが記憶されている場所を指し示す情報のことをいう。具体的には、端末Aのハードディスク内における記憶場所を指し示すアドレス情報などがある。
なお、記憶場所情報を指定する方法の一例として、表示装置4を利用する方法が考えられる。具体的には、表示装置4に表示した表形式データを示す表示物(アイコンなど)を、入力装置3で指定する。すると、その指定した表示物が指し示す記憶場所情報が制御インタフェース10に送信されるという方法である。
ちなみに、入力装置3として、端末Aに直接接続された読取機器Bを使用する場合もある。この場合、読取機器Bは、原稿から読み取った表形式データを記憶している機器内部の記憶場所情報を、制御インタフェース10に送信するという処理を実行する。また、入力装置3として、表形式データを記憶した外部記憶媒体(USBメモリなど)を使用する場合も考えられる。この場合、外部記憶媒体は、表形式データを記憶している記憶場所情報を、制御インタフェース10に送信するという処理を実行する。
〔実施例1−動作(2)〕
続いて、端末Aの処理装置1について、その内部に属する構成要素の動作について説明する。
表形式データ取得部11は、まず、制御インタフェース10から表形式データが記憶されている記憶場所情報を取得する。次に、取得した記憶場所情報から特定される表形式データを取得する。そして、取得した表形式データを、記憶装置2内の表形式データ記憶部20に送信する。
数値区画検出部12は、まず、表形式データ記憶部20から表形式データを取得する。次に、表形式データの中で数値を含む区画を検出し、その区画を示す区画情報を生成する。
上記の区画情報とは、区画の位置を示す情報のことをいう。具体的には、表形式データが表計算ソフトで作成されたデータの場合、その区画の位置を示すアドレス情報のことである。たとえば、区画の位置について、列番号をアルファベットで示し、行番号を数字で示す表計算ソフトで作成された表形式データの場合、「左から3列目・上から3行目」の区画を示すアドレス情報は、「C3」と示される。具体的に、表計算ソフトで生成される表形式データの一例を図5に示して説明する。図5において黒い太枠で強調されている区画を示すアドレス情報が、「C3」と示される。
関連領域特定部13の配列照査手段13aは、まず、列方向に隣接する数値区画の区画情報を、数値区画検出部12から取得する。同時に、表形式データ記憶部20から表形式データも取得する。次に、取得した区画情報と表形式データとを用いて、列方向に隣接する数値区画の数値を取得する。さらに、抽出した数値が列方向に昇順となっているかを照査する。そして、数値が昇順となっている数値区画の領域を示す領域情報を生成し、範囲照査手段13bに送信する。
上記の領域情報とは、領域の位置を示す情報のことをいう。具体的には、表形式データが表計算ソフトで作成されたデータの場合、その領域の位置を示すアドレス情報のことである。たとえば、領域の位置について、列番号をアルファベットで示し、行番号を数字で示す表計算ソフトで作成された表形式データの場合、「左から3列目・上から3行目」の区画から、「左から3列目・上から15行目」の区画までの領域を示すアドレス情報は、「C3:C15」と示される。具体的に、表計算ソフトで生成される表形式データの一例を図6に示して説明する。図6において黒い太枠で強調されている区画を示すアドレス情報が、「C3:C15」と示される。
関連領域特定部13の範囲照査手段13bは、まず、配列照査手段13aから領域情報を取得する。同時に、表形式データ記憶部20から表形式データも取得する。次に、取得した領域情報と表形式データとを用いて、領域情報が示す領域を構成する数値区画の数値を抽出する。さらに、抽出した数値が所定範囲内であるかを照査する。そして、数値が所定範囲内となっている数値区画領域を示す領域情報を、関連領域特定手段13cに送信する。
上記の所定範囲とは、数値の下限と上限が定められた範囲を示す情報のことをいう。具体的には、日付として判定可能な数値の範囲を示したものである。たとえば、1ヶ月の日数は最大31日なので、所定範囲は「1〜31」と設定される。
関連領域特定部13の関連領域特定手段13cは、まず、範囲条件照査手段13bから領域情報を取得する。そして、取得した領域情報を関連領域情報として特定し、関連領域情報記憶部21に送信する。
日付領域判定部14の基準領域決定手段14aは、まず、関連領域記憶部21から関連領域情報を取得する。次に、取得した関連領域の中から、あらかじめ定められた所定条件に一致する関連領域を、基準領域として決定する。そして、決定した基準領域情報を追加区画検索手段14bに送信する。
上記の所定条件とは、基準領域を決定するための条件として、事前に基準領域決定手段14a内に記憶されている条件のことをいう。具体的には、「関連領域のうち、表形式データの一番左に位置するもの」や、「関連領域のうち、列方向に数値区画が31区画連なっているもの」というような、関連領域間の位置関係や区画構成に関する条件などが考えられる。いずれにしても、基準領域を一つに決定することができる条件であれば、いかなるものでも構わない。なお、ここでいう関連領域間の位置関係や区画構成とは、年間スケジュール表上における関連領域の相対的な位置(範囲)、および関連領域内における区画の構成を示すもののことをいう。
日付領域判定部14の追加区画検索手段14bは、まず、基準領域決定手段14aから基準領域情報を取得する。次に、基準領域に隣接する区画で月情報を有する区画を検索し、特定する。そして、基準領域と月情報区画を組み合わせた領域情報を、判定条件生成手段14cに送信する。
上記の基準領域に隣接する区画とは、具体的には、基準領域の上端から右上方向に3区画四方の領域のことをいう。この条件は、年間スケジュール表における月情報は、日付領域からある程度の近さをもった区画内にあるのが一般的であろう、という予測に基づいている。そのため、ここで記載している「3区画四方」という条件は一例であって、日付領域にある程度近いと合理的に判断できる領域であれば、どのような条件を設定しても構わない。
上記の月情報区画とは、月日に含まれる月情報を有する区画のことをいう。なお、その月情報区画の検出方法は、あらかじめ設定した指定文字を含む区画を検出するという方法を用いるとよい。具体的には、月情報によく使用される文字を指定文字として設定しておくとよい。これには、所定の数字(「1」から「12」など)、所定の漢数字(「一」から「十二」、「月」など)、英単語で月情報を示すもの(「January」など)、といったものが考えられる。
日付領域判定部14の判定条件生成手段14cは、まず、追加区画情報検索手段14bから領域情報を取得する。次に、取得した領域情報から、日付領域を判定する判定条件を生成する。そして、生成した判定条件を日付領域判定手段14dに送信する。
上記の判定条件とは、日付に月情報を加えた最終的な日付領域を判定するための条件のことをいう。この判定条件は、基準領域に基づいて生成されるため、表形式データごとに独自の条件が生成されることになる。例えば、「関連領域間の位置関係や構成」、「関連領域間の位置関係と月情報を含む区画との相対位置関係」、または「関連領域内の区画構成とその区画に含まれる内容」などが判定条件として考えられる。
さらに、上記の判定条件について詳細に説明する。具体的には、日付を有する数値区画と月情報を有する数値区画との相対的な位置、および日付を有する数値区画の構成を示す判定条件が生成される。例えば、「関連領域内で列方向に連なる数値区画が、28区画から31区画であること」、「関連領域内の数値が列方向に28以上連続して続いていること」、「関連領域内の数値が1から31の範囲内で、列方向に昇順で並んでいること」や、「関連領域の上端区画の左に隣接する区画は、月情報区画であること」や、「日付領域に含まれる各区画の内容に月および日の情報を含む」などといった内容を示す判定条件が生成される。
日付領域判定部14の日付領域判定手段14dは、まず、判定条件生成手段14cから判定条件を取得する。同時に、関連領域記憶部21から関連領域情報も取得する。加えて、表形式データ記憶部20から表形式データも取得する。次に、取得した関連領域情報と表形式データから特定される関連領域のそれぞれに対して、判定条件を用いて日付領域に該当するかを判定する。そして、判定した日付領域を示す領域情報を、日付領域情報として日付領域記憶部22に送信する。また、同様の日付領域情報を、日付領域計数部30にも送信する。
上記の日付領域情報とは、各月における日付領域の位置を示す情報のことをいう。具体的には、年間スケジュール表における各月を一義的に識別する月情報と、日付領域の範囲を指し示す情報とを有するアドレス情報のことをいう。
日付領域計数部30は、まず、日付領域判定手段14dから日付領域情報を取得する。次に、日付領域情報の数を計数し、あらかじめ定めておいた基準値と比較する。そして、比較の結果、基準値に満たない場合、曜日領域判定部30に処理開始指示を送信する。
曜日領域判定部31は、まず、日付領域数計数部30から処理開始指示を取得する。同時に、表形式データ記憶部20から表形式データも取得する。次に、表形式データから曜日情報が記載されている曜日領域を検出する。そして、検出した曜日領域に関する曜日領域情報判定する。
情報変換部32は、まず、曜日領域判定部31から曜日領域情報を取得する。次に、その曜日領域の領域情報を、日付領域情報として変換する。そして、変換した日付領域情報を、日付領域記憶部22に送信する。
上記の日付領域計数部30、曜日領域判定部31、および情報変換部32を備えることで、本発明で対応できる表形式の幅が広がるという効果が得られる。たとえば、年間スケジュール表において、日付が記載されている領域は一箇所のみで、各月の分割は曜日領域のみでなされる、という表形式にも対応することができる。
日付領域取得部15は、まず、日付領域記憶部22から、日付領域情報を取得する。そして、取得した日付領域情報を予定内容領域判定部16に送信する。
予定内容領域判定部16の左端設定手段16aは、まず、各月の予定内容領域を判定するために、仮領域情報を生成する。次に、日付領域取得部15から各月の日付領域情報を取得する。さらに、取得した日付領域情報を、該当する各月の仮領域情報の左端に設定し、仮領域情報(左端設定済み)を生成する。そして、生成した仮領域情報(左端設定済み)を、右端設定手段16bに送信する。
上記の予定内容領域とは、予定の内容や詳細情報が入力されている区画が集合した領域のことをいう。具体的には、年間スケジュール表において、記載されている日付対して、行うべき内容(行事予定)が行方向に連続して入力されている領域などが考えられる。
また、上記の仮領域情報とは、各月の予定内容領域の領域情報を判定するために生成される雛形情報(領域情報のフォーマット)のことをいう。この雛形の中には、月情報を入力する箇所(スペース)と、予定内容領域の左端と右端を入力する箇所とが存在する。ちなみに、新規に生成される仮領域情報における月情報は、取得した日付領域情報に基づいて自動的に入力されることとする。
予定内容領域判定部16の右端設定手段16bは、まず、左端設定手段16aから仮領域情報(左端設定済み)を取得する。次に、仮領域情報の右端を行方向に1行ずつ広げていき、他の日付領域と重ならない最大範囲を右端と決定する。さらに、その右端の区画を示すアドレス情報を仮領域情報(左端設定済み)に追加する形で設定し、予定内容領域情報を生成する。このとき、仮領域内に二つ以上の日付領域が含まれないような形で右端が設定されることとする。そして、生成した予定内容領域情報を、予定内容領域記憶部23に送信する。
上記の予定内容領域情報とは、各月における予定内容領域の位置を示す情報のことをいう。具体的には、年間スケジュール表における各月を一義的に識別する月情報と、領域の左端・右端の区画を示すアドレス情報とを含む、予定内容領域の範囲を指し示す情報のことをいう。
予定情報抽出部17の予定情報抽出手段17aは、まず、日付領域記憶部22から日付領域情報を取得する。さらに、予定内容領域記憶部23から、予定内容領域情報を取得する。加えて、表形式データ記憶部20から、表形式データを取得する。次に、取得した日付領域情報と予定内容領域情報とから特定可能な日付と予定内容とを、予定情報として表形式データから抽出する。そして、抽出した予定情報を、期間情報検索手段17bに送信する。
上記の予定情報とは、表形式データから抽出した、日付と予定内容とを関連付けた情報のことをいう。具体的には、特定の日付と、その日付に対応する予定内容とを関連付けた情報のことである。
予定情報抽出部17の期間情報検索手段17bは、まず、予定情報抽出手段17aから予定情報を取得する。次に、予定情報における予定内容の中に、日付または時刻を示す期間情報が含まれていないかを検索する。さらに、期間情報を含む予定内容を有する予定情報と、それ以外の予定情報とに仕分ける。そして、期間情報を含む予定情報を期間情報分離手段17cに送信し、それ以外の予定情報を予定情報記憶部24に送信する。
上記の期間情報とは、予定内容に含まれる、その予定内容の開始・終了時刻や、実行する期間などを示す情報のことをいう。具体的は、予定内容領域に、予定内容とともに「10:00開始」や「15日から18日まで」といった形式で記載されている情報のことをいう。なお、その期間情報の検出方法は、あらかじめ設定した指定表記を検出するという方法を用いるとよい。具体的には、時刻情報を示す数字と記号が一体となった表記(「10:00」など)、日付を示す数字と漢字が一体となった表記(「15日」など)、をあらかじめ定めておき、それを検出するという方法が考えられる。
予定情報抽出部17の期間情報分離手段17cは、まず、期間情報検索手段17bから期間情報を含む予定情報を取得する。次に、予定情報における予定内容の中から、期間情報を分離する。さらに、日付、予定内容、および期間情報を関連付けて予定情報を生成し、予定情報記憶部24に送信する。
制御部18は、まず、入力装置3や通信装置5からの各種制御指示情報を、制御インタフェース10を介して取得する。さらに、取得した制御指示情報の内容にしたがって、予定情報記憶部24から予定情報を取得する。次に、取得した予定情報を用いて端末Aの各装置からの制御指示情報に対応する応答制御情報を生成する。そして、生成した応答制御情報を制御インタフェース10に送信する。端末Aの各装置は、制御インタフェース10を介して取得した応答制御情報にしたがった処理を実行する。具体的には、入力装置3からの指示にしたがって、表示装置4に表示させる内容を応答制御情報として送信する場合や、通信装置5からの指示にしたがって、ネットワークNを介して別端末に送信させる内容を応答制御情報として送信する場合などが、一例として考えられる。
なお、制御部18は、入力装置3または通信装置5からの指示がない場合であっても、表形式データを読み取って生成した予定情報に基づいて制御情報を生成し、その情報を、制御インタフェース10を介して端末Aの各装置に対して送信するとしてもよい。具体的には、端末Aのユーザに対して、予定情報記憶部24に記憶している予定情報に基づいて今週一週間のユーザの行動予定を表示装置4で表示させたり、予定情報の開始時刻になったことをユーザに知らせるために通知情報を生成して表示装置4に表示させたり、現在日時から開始時間が一番近い直近の予定情報をユーザに知らせるために通知情報を生成した表示装4に表示させたりするといった場合が考えられる。
〔実施例1−動作(3)〕
端末Aの記憶装置2について、その内部に属する構成要素の動作について説明する。
表形式データ記憶部20は、形式データ取得部11から取得した表形式データを記憶する。この表形式データ記憶部20とは、処理実行のために記憶装置2に特別に生成される記憶領域のことをいう。データを一時的に記憶する記憶領域(例えばクリップボード)なども含まれる。
関連領域記憶部21は、関連領域特定手段13cから取得した関連領域情報を記憶する。個々の関連領域情報は、それぞれが区別可能な形で記憶される。
日付領域記憶部22は、日付領域判定手段14dから取得した日付領域情報を記憶する。さらに、情報変換部31から取得した変換後の日付領域情報も、すでに記憶している日付領域情報に追加する形で記憶する。なお、日付領域情報は、それぞれがどの月の日付領域情報か、識別可能な状態で記憶される。
予定内容領域記憶部23は、右端設定手段16bから取得した予定内容領域情報を記憶する。なお、予定内容領域情報は、それぞれがどの月の予定内容領域情報か、識別可能な状態で記憶される。
予定情報記憶部24は、期間情報検索手段17bおよび期間情報分離手段17cから取得した予定情報を記憶する。なお、予定情報は、月・日付・予定内容・期間情報が少なくとも一以上が関連付けられた状態で記憶される。さらに、それぞれの予定情報は識別可能な状態で記憶される。
上述の構成とすることにより、様式が多岐にわたる年間スケジュール表であっても、その情報を、コンピュータ端末を用いて読み取ることが可能となる。また、読み取ったデータが記憶される予定情報記憶部24は、予定情報データベースとして活用することができる。
〔実施例1−処理プロセス(1)〕
次に、本発明の情報漏洩防止システムにおける処理プロセスの一例を、図4(1)・図4(2)の機能ブロック図および図7のフローチャートなどを用いて説明する。はじめに、表形式データの取得から関連情報を記憶するまでの処理プロセスについて、以下に説明する。
入力装置3は、年間スケジュール表が記載された表形式データを指定する(S101)。本処理プロセスでは、表示装置4に表示された表形式データの表示物を操作することで、指定を行う場合を例に説明する。具体的には、マウスカーソルで、アイコンを所定のウィンドウ内にドラッグ・アンド・ドロップすることにより、表形式データの指定を行うという形式が考えられる。この処理の一例を、図8に示す。この処理により、表形式データのアドレス情報が、制御インタフェース10を介して表形式データ取得部11に送信される。
表形式データ取得部11は、取得したアドレス情報から、対象となる表形式データを取得する。そして、取得した表形式データを表形式データ記憶部20に記憶する(S102)。表形式データ記憶部20に記憶される表形式データの一例を、図9に示す。
数値区画検出部12は、表形式データの中から数値を含む区画を検索し、その区画情報を生成する。そして、自身の内部にある記憶領域に区画情報を記憶する(S103)。表形式データが図9の場合において、生成される区画情報の一例を、図10に示す。
関連領域特定部13の情報取得手段は、数値区画検出部12の記憶領域から、列方向に隣接する区画情報の集合を検出し、1集合ごとに抽出する(S104)。区画情報が図10のように記憶されている場合、抽出対象となる集合(以下、対象集合という)は、「A5〜A34」、「C10・C11」、「C16・C17」、「D30・D31」、「E5〜E35」、「H28・H29」、「I5〜I34」、「K19〜K22」、「L32・L33」、「M5〜M35」、「O9〜O12」、「O24〜O27」、「P26・P27」、および「Q5〜Q35」となる。
関連領域特定部13の情報取得手段は、対象集合を1集合ずつ抽出して配列照査手段13aに渡す。1集合に対する配列照査手段13a以降の処理が終了次第、次の1集合を抽出して渡すという処理を繰り返し実行する。この繰り返し処理は、数値区画検出部12の記憶領域内中から、対象集合がなくなるまで実行される(S105)。
配列照査手段13aは、取得した数値区画情報が示す区画の数値を抽出し、列方向に昇順となっているかを照査する(S106)。はじめに、対象集合「A5〜A34」を取得した場合について説明する。まず、各数値区画情報が示す区画の数値「1、2、3、・・・、30」を抽出する。ここで、抽出した数値は昇順となっているので、照査結果は問題なしとなる。そして、対象集合「A5〜A34」を一つの領域にまとめた領域情報「A5:A34」を生成し、範囲照査手段13bに渡す。なお、同一値が続く場合は昇順とみなすようにしても良い。
次に、対象集合「C10・C11」を取得した場合について説明する。まず、各数値区画情報が示す区画の数値「10:00、9:00」を抽出する。ここで、抽出した数値は昇順となっていないので、「C10」と「C11」は関連していないと判断し、対象集合から「C11」を削除する。このとき、対象集合内に残存している区画情報の数(残存区画情報数)が1となるので、この対象集合に対する処理はこの時点で終了となる(S107)。そして、次の対象集合の抽出(S104)へと処理が移る。
範囲照査手段13bは、取得した領域情報内の数値を抽出し、その数値が所定範囲内であるを照査する(S108)。ここでいう所定範囲とは、日付をあらわす数の範囲のことで、具体的には「1以上、31以下」をさす。はじめに、領域情報「A5:A34」を取得した場合について説明する。まず、領域情報内の数値「1、2、3、・・・、30」を抽出する。ここで、抽出した数値は「1以上、31以下」の所定範囲内となっているので、照査結果は問題なしとして、領域情報「A5:A34」をそのまま関連領域特定手段13cに渡す。
次に、領域情報「D16:D17」を取得した場合について説明する。まず、領域情報内の数値「2、45」を抽出する。ここで、抽出した数値「45」が所定範囲外となっているので、条件に該当しない数値を有する「D17」を、領域情報から削除する。このとき、領域情報内に残存している区画情報の数(残存区画情報数)が1となるので、この領域情報に対する処理はこの時点で終了となる(S109)。そして、次の対象集合の抽出(S104)へと処理が移る。
関連領域特定手段13cは、範囲照査手段13cから取得した領域情報を関連領域情報として特定し、関連領域記憶部21に記憶する(S108)。区画情報が図10のように記憶されている場合、上記の(S104)から(S108)の処理を繰り返すことによって関連領域記憶部21に記憶される関連領域情報の一例を、図11に示す。
〔実施例1−処理プロセス(2)〕
続いて、日付領域情報を記憶するまでの処理プロセスの一例を、図4(1)・図4(2)の機能ブロック図および図12のフローチャートなどを用いて説明する。
基準領域決定手段14aは、関連領域記憶部21に記憶されている関連領域情報の中から、一つの領域情報を基準領域情報として決定する(S201)。基準領域情報の決定は、あらかじめ定めておいた所定条件に基づいて行う。本処理プロセスにおける所定条件は、「関連領域のうち、列方向に数値区画が28区画以上連なっているもの」かつ「識別番号が一番すくないもの」とする。本処理プロセスにおける識別番号とは、関連領域記憶部21に記憶される関連領域情報を一義的に識別することができる番号のことをいい、関連領域記憶部21に記憶された順に連番で付与される番号のことをいう。関連領域情報が図11のように記憶されている場合、基準領域情報は「A5:A34」に決定される。そして、決定した基準領域情報「A5:A34」を追加区画検索手段14bに渡す。
追加区画検索手段14bは、取得した基準領域情報から、月情報を有する所定範囲の区画を検索し、基準領域に対する追加区画として特定する(S202)。月情報区画の検索は、基準領域の上端から3区画四方の領域に対して、あらかじめ設定した指定文字を含む区画を検索するという方法を用いる。本処理プロセスにおける指定文字は、数字(「1」〜「12」)および「月」とする。表形式データ取得部20から取得した表形式データが図9に示すものであった場合、追加区画は「A3」と特定される。そして、基準領域情報「A5:A34」と追加区画情報「A3」とを、判定条件生成手段14cに渡す。また、別の特定方法として、最初に指定文字「月」のみを検索し、その指定文字を含む区画を追加区画情報として特定しておく。そして、その指定文字「月」の左右に含まれる数値を月データとして別途取得するという方法も考えられる。
基準領域と追加区画を特定する方法として、以下のような別実施形態も考えられる。まず、基準領域決定手段14aは、関連領域記憶部21に記憶されている関連領域情報と、表形式データ記憶部20から表形式データを取得する。次に、取得した関連領域に近接する区画で「4月」というデータを有する区画を特定する。そして、特定した区画に近接する関連領域を基準領域として決定し、同時に「4月」というデータを有する区画を追加区画として特定するという方法である。
また、基準領域を決定する手段として、以下のような別実施形態も考えられる。まず、基準領域決定手段14aは、関連領域記憶部21に記憶されている関連領域情報と、表形式データ記憶部20から表形式データを取得する。次に、取得した関連領域に近接する区画で「入学式」や「始業式」といった、学校において4月に必ず行われる行事に関するデータを有する区画を特定する。そして、特定した区画に近接する関連領域を基準領域として決定するという方法である。
判定条件生成手段14cは、取得した基準領域情報と追加区画情報とに基づいて、関連領域記憶部に記憶されている関連領域から日付領域を判定するための判定条件を生成する(S203)。この判定条件とは、日付を有する数値区画と月情報を有する数値区画との相対的な位置、および日付を有する数値区画の構成を示すものである。ここで、取得した情報が、基準領域情報「A5:A34」・追加区画情報「A3」の場合、生成される判定条件の一例を、図13に示す。そして、生成した判定条件を日付領域判定手段14dに渡す。
日付領域判定手段14dは、まず、関連領域記憶部21から、関連領域情報を一つずつ抽出する(S204)。日付領域判定手段14dは、一つの関連領域情報に対する日付領域の判定処理が終了次第、次の関連領域情報を抽出するという処理を繰り返し実行する。この繰り返し処理は、関連領域記憶部12に記憶されている関連領域情報がなくなるまで実行される(S205)。
日付領域判定手段14dは、取得した関連領域情報と生成した判定条件1とを比較し、条件に適合しているかを判定する(S206)。はじめに、関連領域情報「K19:K22」を取得した場合について説明する。まず、図13に示す条件番号1の条件に適合しているかどうかを判定する。この場合、関連領域情報「K19:K22」は条件に適合しないと判定される。この時点で、関連領域情報「K19:K22」に対する処理は終了となる(S207)。そして、次の関連領域情報の抽出(S204)へと処理が移る。
次に、関連領域情報「M5:M35」を取得した場合について説明する。まず、図13に示す条件番号1の条件に適合しているかどうかを判定する。この場合、関連領域情報「E5:E35」は条件に適合していると判断され、続けて判定条件2の実行へと移る。
日付領域判定手段14dは、判定条件1を通過した関連領域情報に対し、判定条件2を実施する(S208)。具体的に、関連領域情報「M5:M35」の場合について説明する。まず、図13に示す条件番号2の条件に従い、月情報区画「M3」を判定する。さらに、表形式データ記憶部20から取得した表形式データに基づき、月情報区画「M3」の月情報「7」を取得する。
続いて、日付領域判定手段14dは、取得した関連領域情報と月情報とから、各月の日付領域情報を生成し、日付領域情報記憶部22に記憶する(S209)。ここで記憶される日付領域情報の形式は、「(月情報)/(関連領域情報)」という形で生成されることとする。例えば、関連領域情報「M5:M35」と月情報「7」とを取得した場合であれば、「7/M5:M35」という日付領域情報が生成されることになる。関連領域情報が図11のように記憶されている場合、上記の(S204)から(S209)の処理を繰り返すことによって日付領域記憶部22に記憶される日付領域情報の一例を、図14に示す。
本処理プロセスにおいて、月情報が1件も取得できなかった場合は、月情報取得に関する判定条件2を解除して判定条件2の再生成を実行するか、現在設定されている基準領域を解除して判定条件1の再生成を実行するか、どちらかが実行される。
〔実施例1−処理プロセス(3)〕
続いて、日付領域情報を追加記憶するまでの処理プロセスの一例を、図4(1)・図4(2)の機能ブロック図および図15のフローチャートなどを用いて説明する。
日付領域計数部30は、日付領域判定手段14dから日付領域情報を取得し、その情報数を計数する(S301)。次に、計数した結果と基準値とを比較し、基準値を超えていた場合は、以降に続く日付領域情報の追加記憶処理(曜日領域判定部30、および情報変換部31で実行される処理)を実施しない(S302)。基準値以下の場合は、日付領域情報の追加記憶処理実行の開始通知を、曜日領域判定部31に送信する。
上記の基準値とは、日付領域判定部によって判定される日付領域情報数の予測値のことをいう。年間スケジュール表の場合、12ヶ月分の予定が記載されることから、判定される日付領域情報数も12であろうと予測される。そのため、この基準値は「11」と設定されるのが一般的である。ただし、図16に示す表形式データのように、左端のみに日付領域が存在し、月と月の区切りは曜日領域でこれを行うという表形式のものも存在する。本処理プロセスでは、図16に示す表形式データを取り扱う場合の処理について説明することとする。
曜日領域判定部31は、表形式データ記憶部20から取得した表形式データから曜日情報が記憶されている曜日領域を検出する。このときに、曜日情報を示す所定の漢字(「月」、「火」など)を有する区画が、列方向に28区画以上隣接する領域を検出するという条件にすると好適である。本処理プロセスにおいて、取得する表形式データが図16の通りであった場合、判定される曜日領域情報は、「B5:B34」、「E5:E35」、「H5:H34」、「K5:K35」、「N5:N35」となる。そして、判定した曜日領域情報を、自身内部の記憶領域に記憶する(S303)。
情報変換部32は、まず、曜日領域判定部31の記憶領域から、曜日領域情報を一つずつ抽出する(S304)。情報変換部32は、一つ曜日領域情報に対する情報変換処理および日付領域情報への追加記憶処理が終了次第、次の曜日領域情報を抽出するという処理を繰り返し実行する。この繰り返し処理は、曜日領域判定部31の記憶領域に記憶されている曜日領域情報がなくなるまで実行される(S305)。
情報変換部32は、取得した曜日領域情報を日付領域情報に変換する。曜日領域情報「B5:B34」を取得した場合を例に説明すると、まず、曜日領域情報「B5:B34」を、日付領域情報「B5:B34」と書き換える。さらに、本システムにおいて表形式データから日付を読み取る処理を実行するために、曜日を日付に書き換えるための付加情報を追加する(S306)。
そして、情報変換部32は、変換した日付領域情報と付加情報とを、日付情報記憶部22に追加して記憶する(S307)。上記の(S304)から(S307)の処理を繰り返すことによって日付領域記憶部22に記憶される日付領域情報の一例を、図17に示す。
〔実施例1−処理プロセス(4)〕
続いて、予定内容領域情報を記憶するまでの処理プロセスの一例を、図4(1)・図4(2)の機能ブロック図および図18のフローチャートなどを用いて説明する。
日付領域取得部15は、日付領域記憶部22から、日付領域情報(1ヶ月分の領域)を一つずつ取得する(S401)。日付領域取得部15は、一つの日付領域情報に対する予定内容情報の判定処理が終了次第、次の日付領域情報を取得するという処理を繰り返し実行する。この繰り返し処理は、日付領域記憶部22に記憶されている記憶領域情報のなかで、未処理の情報がなくなるまで実行される(S402)。
左端設定手段16aは、まず、取得した日付領域情報に含まれる月情報を用いて仮領域情報を生成する(S403)。以下、日付領域記憶部22に記憶されている日付領域情報が、図14に示すとおりであった場合について説明する。この場合において、日付領域取得部15が、日付領域情報「4/A5:A34」を取得した際に生成される仮領域情報の一例を、図19(ア)に示す。
次に、左端設定手段16aは、取得した日付領域情報に含まれる領域情報を用いて、仮領域情報の左端を設定する(S404)。本処理プロセスにおける仮領域情報は、「(月情報)/(左端)/(右端)」の形で生成される矩形形式とする。日付領域情報「4月/A5:A34」を取得した際に生成される仮領域情報(左端設定済み)の一例を、図19(イ)に示す。そして、生成した仮領域情報(左端設定済み)を右端設定手段16bに渡す。なお、矩形形式を示す情報は、「(月情報)/(左上端)/(右下端)」といった、矩形形式を確定させる形であればいかなる情報を用いても構わない。
右端設定手段16bは、取得した仮領域情報(左端設定済み)に対し、領域内に二つ以上の日付領域を含まないように右端を設定する(S405)。以下、表形式データ記憶部20から取得した表形式データが、図9に示すとおりであった場合を例に説明する。
右端設定手段16bは、仮領域情報「4/A5:A34/−」の右端を行方向に1列ずつ広げていく。このとき、他の日付領域と重ならない最大範囲(領域内に二つ以上の日付領域が含まれない範囲)まで広げ、その領域情報を仮領域情報の右端に設定する。この右端設定処理のイメージ図を、図20に示す。
上記以外の右端の設定方法として、以下の方法を採用してもよい。具体的に説明すると、まず、右端設定手段16bは、仮領域情報「4/A5:A34/−」の右端を行方向に1列ずつ広げていく。このとき、他の日付領域と重なる範囲(領域内に二つ以上の日付領域が含まれる範囲)まで広げ、重なった日付領域における左端の手前で隣接する領域情報を、仮領域情報の右端に設定するという方法である。
そして、右端設定手段16bは、生成した仮領域情報「4/A5:A34/D5:D34」を予定内容情報として判定し、予定内容領域記憶部23に記憶する(S406)。また、本処理プロセスの予定内容領域判定処理を行うことによって、図21に示すような表形式データの予定内容領域も判定可能である。
上記の(S401)から(S406)の処理を繰り返すことによって予定内容領域記憶部23に記憶される予定内容領域情報の一例を、図22に示す。
〔実施例1−処理プロセス(5)〕
続いて、予定情報の抽出から記憶までの処理プロセスの一例を、図4(1)・図4(2)の機能ブロック図および図23のフローチャートなどを用いて説明する。
予定情報抽出部17の情報取得手段は、日付領域記憶部22と予定内容領域記憶部23とから、日付領域情報と予定内容領域情報と一ヶ月ずつ取得し、自身の記憶領域内に記憶する(S501)。取得した一ヶ月分に対する予定情報抽出手段17a以降の処理が終了次第、次の一か月分の情報を抽出して記憶するという処理を繰り返し実行する。この繰り返し処理は、日付領域記憶部22および予定内容領域記憶部23内から、未処理の情報がなくなるまで実行される(S502)。
以下、日付領域記憶部21に記憶されている情報が図14に示すとおりであり、予定内容領域記憶部に記憶されている情報が図22に示すとおりであり、さらに、表形式データ記憶部20から取得する表形式データが図9に示すとおりである場合について説明する。また、この時点において、予定情報抽出部17の記憶領域内には、4月の日付領域情報と予定内容領域情報とが記憶されていることとする。
予定情報抽出手段17aは、まず、表形式データから日付領域情報に基づいて一つの日付を抽出する(S503)。抽出した一つの日付に対する予定情報の抽出および登録処理が終了次第、次の日付を抽出するという処理を繰り返し実行する。この繰り返し処理は、日付領域情報が示す領域内において、未抽出の日付がなくなるまで実行される(S504)。
予定情報抽出手段17aは、まず、表形式データから日付領域情報に基づいて一つの日付を抽出する(S503)。抽出した一つの日付に対する予定情報の抽出および登録処理が終了次第、次の日付を抽出するという処理を繰り返し実行する。この繰り返し処理は、日付領域情報が示す領域内において、未抽出の日付がなくなるまで実行される(S504)。
具体的に説明すると、予定情報抽出手段17aは、まず、日付領域情報「4/A5:A34」が指定する領域における最初の日付「1」を抽出し、以降の予定情報抽出・登録処理を実行する。日付「1」の処理が終了すると、次に、日付「2」を抽出して同様の処理を実行する。これを繰り返し、日付「30」の処理が終了すると、未抽出日付がなくなるので、次の月情報「5」における日付領域情報および予定内容領域情報の抽出処理へと移る。
次に、予定情報抽出手段17aは、予定内容領域情報に基づいて、抽出した日付に対応する予定内容を表形式データから抽出する(S505)。たとえば、日付「1」を抽出した場合、予定内容領域情報「4/A5:A34/D5:D34」に従って、対応する領域情報「B5:D5」から予定内容を抽出する。このとき、曜日情報を示す情報は抽出対象から除外するという設定をしておくとよい。この抽出処理の結果、予定内容「一斉赴任日」が取得される。そして、取得した日付および予定内容を関連付けて予定情報とし、期間情報検索手段17bに渡す。ここで生成される予定情報は、「(日付)/(予定内容)」の形式とする。上記の処理を行った場合、予定情報「1/一斉赴任日」が生成されることとなる。
期間情報検索手段17bは、取得した予定情報の中に期間情報が含まれていないかを検索する(S506)。検索した結果、期間情報が含まれていない場合、期間情報がない旨を追記した予定情報を生成し、予定情報記憶部26に記憶する(S507、S509)。ここで生成される予定情報は、「(日付)/(予定内容)/(期間情報)」の形式とする。たとえば、予定情報「1/一斉赴任日」を取得した場合、期間情報検索手段17bは、まず、期間情報の検索を行い、予定内容「一斉赴任日」に期間情報は含まれないことを確認する。そして、予定情報「1/一斉赴任日/−」を生成し、予定情報記憶部24に記憶する。
一方、期間情報検索手段17bは、検索の結果、取得した予定情報の中に期間情報が含まれていた場合、期間情報分離手段17cに予定情報を渡す(S507)。たとえば、予定情報「6/始業式10:00〜」を取得した場合、期間情報検索手段17bは、検索の結果、期間情報「10:00〜」が含まれていることを検出する。そして、取得した予定情報「6/始業式10:00〜」を、期間情報分離手段17cに渡す。
期間情報分離手段17cは、取得した予定情報における予定内容の中から、期間情報を分離した形の予定情報を生成する(S508)。そして、新たに生成した予定情報を予定情報記憶部24に記憶する(S509)。たとえば、予定情報「6/始業式10:00〜」を取得した場合、まず、予定内容「始業式10:00〜」から期間情報「10:00〜」を分離する。次に、期間情報を分離した予定情報「6/始業式/10:00〜」を生成する。そして生成した予定情報「6/始業式/10:00〜」を予定情報記憶部24に記憶するという流れで処理が行われる。
なお、一つの日付に予定内容が二つ以上存在する場合、予定情報は「(月情報)/(日付)/(予定内容1)/(予定内容2)」という形式で生成されることとする。また、予定内容に期間情報が含まれる場合は、予定情報「(月情報)/(日付)/(予定内容1)/(予定内容2)/(期間情報1)/(期間情報2)」という形式となることとする。さらに、予定情報は上述の形式だけでなく、予定情報を示す形式であればいかなる方法を用いても構わない。
上記の(S501)から(S509)の処理を繰り返すことによって予定情報記憶部24に記憶される予定情報の一例を、図24に示す。
〔実施例1−処理プロセス(6)〕
最後に、制御部18における処理の一例を、図4(1)・図4(2)の機能ブロック図などを用いて説明する。
制御部18は、入力装置3からの指示を、制御インタフェース10を介して取得し、その取得した情報に基づいて制御情報を生成する。たとえば、端末Aのユーザからの入力指示に従って、端末Aのディスプレイに表示させる情報を生成する場合などがこれにあたる。
制御部18は、予定情報記憶部24に記憶されている情報を用いて、表示装置4に表示させるための情報を生成し、制御インタフェース10を介して表示装置4に送信する。表示装置4(端末Aのディスプレイ)に表示される情報の一例を、図25に示す。