JP2003157263A - 情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラム - Google Patents
情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラムInfo
- Publication number
- JP2003157263A JP2003157263A JP2001355642A JP2001355642A JP2003157263A JP 2003157263 A JP2003157263 A JP 2003157263A JP 2001355642 A JP2001355642 A JP 2001355642A JP 2001355642 A JP2001355642 A JP 2001355642A JP 2003157263 A JP2003157263 A JP 2003157263A
- Authority
- JP
- Japan
- Prior art keywords
- character
- information
- file
- program
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】様々なファイル形式に対応する情報収集と検索
を行うためには、新たなファイル形式が出現するたび
に、それらに対応する文字列抽出プログラムを追加する
必要が生じる。 【解決手段】あるファイル形式のファイルを作成するア
プリケーションプログラムがファイル内容を画面表示す
る際のAPI呼び出しを検出して、ここから表示文字列
を抽出し、これを蓄積して検索の対象とする。
を行うためには、新たなファイル形式が出現するたび
に、それらに対応する文字列抽出プログラムを追加する
必要が生じる。 【解決手段】あるファイル形式のファイルを作成するア
プリケーションプログラムがファイル内容を画面表示す
る際のAPI呼び出しを検出して、ここから表示文字列
を抽出し、これを蓄積して検索の対象とする。
Description
【0001】
【発明の属する技術分野】本発明は計算機の記憶装置内
に蓄積された情報、および、ネットワーク接続された計
算機から入手可能な情報の中から必要とする情報を検索
する情報検索に関する。
に蓄積された情報、および、ネットワーク接続された計
算機から入手可能な情報の中から必要とする情報を検索
する情報検索に関する。
【0002】
【従来の技術】従来の情報収集検索方式には、記憶装置
に記憶された多数の電子ファイルを検索対象として、検
索対象となる電子ファイル(ワープロ文書、表計算文書
など)がどのようなキーワードを含んでいるかをあらか
じめ分析しておき、検索者が入力したキーワードを含む
電子ファイルの一覧をすばやく表示する方式が知られて
いる。
に記憶された多数の電子ファイルを検索対象として、検
索対象となる電子ファイル(ワープロ文書、表計算文書
など)がどのようなキーワードを含んでいるかをあらか
じめ分析しておき、検索者が入力したキーワードを含む
電子ファイルの一覧をすばやく表示する方式が知られて
いる。
【0003】検索対象となる電子ファイルには様々な形
式があり、そのほとんどには文字列以外の制御コードや
図形情報、内容とは無関係の注釈、属性情報などが混在
している。また、同じキーワードを含んでいる電子ファ
イルでも、ファイル中で利用されるコード体系が異なる
場合、同じキーワードが異なるバイト列として電子ファ
イル中に記憶される。
式があり、そのほとんどには文字列以外の制御コードや
図形情報、内容とは無関係の注釈、属性情報などが混在
している。また、同じキーワードを含んでいる電子ファ
イルでも、ファイル中で利用されるコード体系が異なる
場合、同じキーワードが異なるバイト列として電子ファ
イル中に記憶される。
【0004】これらに対応するために、従来の方法では
電子ファイルから検索対象となる文字列を抽出するフィ
ルタと呼ばれるプログラムが必要であった。フィルタプ
ログラムは絵や図形などを含むファイルから文字情報だ
けを抽出するものである。また、フィルタプログラムは
電子ファイルの種別ごとに作成され、備えられる。
電子ファイルから検索対象となる文字列を抽出するフィ
ルタと呼ばれるプログラムが必要であった。フィルタプ
ログラムは絵や図形などを含むファイルから文字情報だ
けを抽出するものである。また、フィルタプログラムは
電子ファイルの種別ごとに作成され、備えられる。
【0005】すなわち、特定のファイル形式に対応した
フィルタプログラムが、当該ファイル形式の電子ファイ
ルから検索対象となる文字列を抽出し、この抽出結果か
らキーワードや文字の有無を分析した結果を元のファイ
ルの分析結果として記憶しておくのである。
フィルタプログラムが、当該ファイル形式の電子ファイ
ルから検索対象となる文字列を抽出し、この抽出結果か
らキーワードや文字の有無を分析した結果を元のファイ
ルの分析結果として記憶しておくのである。
【0006】
【発明が解決しようとする課題】しかし、上記従来技術
では、新たなファイル形式が出現するたびに、または、
アプリケーションプログラムのバグ修正やバージョンア
ップによって既存のファイル形式が変更されるたびに、
それらに対応するフィルタプログラムを追加、または、
修正する必要が生じるという問題があった。
では、新たなファイル形式が出現するたびに、または、
アプリケーションプログラムのバグ修正やバージョンア
ップによって既存のファイル形式が変更されるたびに、
それらに対応するフィルタプログラムを追加、または、
修正する必要が生じるという問題があった。
【0007】本発明の目的は、新たなファイル形式が出
現したり、既存のファイル形式が変更されたりした場合
でも、機能追加および修正が必要とならない情報収集/
検索を可能とすることにある。
現したり、既存のファイル形式が変更されたりした場合
でも、機能追加および修正が必要とならない情報収集/
検索を可能とすることにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明ではアプリケーションプログラムから文字表
示のためのオペレーティングシステム(以下OS)のア
プリケーションプログラミングインターフェイス(以下
API)へ渡される文字情報を収集し、これをデータベ
ース(以下DB)に蓄積した結果を検索対象とする。
に、本発明ではアプリケーションプログラムから文字表
示のためのオペレーティングシステム(以下OS)のア
プリケーションプログラミングインターフェイス(以下
API)へ渡される文字情報を収集し、これをデータベ
ース(以下DB)に蓄積した結果を検索対象とする。
【0009】
【発明の実施の形態】以下、本発明の第1の実施例を図
を用いて説明する。どこかで見たことがある。しかし、
そのファイル形式やファイル名は記憶していない。この
ような状態で情報を検索したい場合がある。従来はファ
イルの形式毎にフィルタプログラムを用意し、これによ
って、キーワード毎に多数のファイルのそれぞれがその
キーワードを含んでいるかどうかの情報を作成して検索
に供していた。しかしながら、このようなフィルタプロ
グラムを用意することは上述のように大変なことである
ので、本実施例ではフィルタプログラムを使わずに検索
対象となるデータを作成する。
を用いて説明する。どこかで見たことがある。しかし、
そのファイル形式やファイル名は記憶していない。この
ような状態で情報を検索したい場合がある。従来はファ
イルの形式毎にフィルタプログラムを用意し、これによ
って、キーワード毎に多数のファイルのそれぞれがその
キーワードを含んでいるかどうかの情報を作成して検索
に供していた。しかしながら、このようなフィルタプロ
グラムを用意することは上述のように大変なことである
ので、本実施例ではフィルタプログラムを使わずに検索
対象となるデータを作成する。
【0010】本実施例においては単一の計算機(携帯情
報端末を含む)の記憶装置に蓄積された情報から、また
は、図1に示したような複数の計算機101、102、
104がネットワーク103(有線または無線)により
接続され、相互に情報のやり取りを行う環境に分散して
蓄積された情報から、利用者が必要とする情報を検索す
る。
報端末を含む)の記憶装置に蓄積された情報から、また
は、図1に示したような複数の計算機101、102、
104がネットワーク103(有線または無線)により
接続され、相互に情報のやり取りを行う環境に分散して
蓄積された情報から、利用者が必要とする情報を検索す
る。
【0011】ほとんど全ての近代的な計算機は図2のよ
うなソフトウェア構造を持っている。ハードウェア層2
01の上にこれらを直接制御するOS層202があり、
その上にアプリケーションプログラムが共通に利用する
機能を集めたミドルウェア層203とアプリケーション
層204がある。
うなソフトウェア構造を持っている。ハードウェア層2
01の上にこれらを直接制御するOS層202があり、
その上にアプリケーションプログラムが共通に利用する
機能を集めたミドルウェア層203とアプリケーション
層204がある。
【0012】より上の層のソフトウェアは、より下の層
のソフトウェアの機能を利用する。より下の層のソフト
ウェアが、より上の層のソフトウェアのために、自身の
機能の利用方法を規定したのがAPIである。例えば、
表計算アプリケーションはOSが提供するファイルアク
セス機能を利用するためにファイルアクセス用APIを
利用する。
のソフトウェアの機能を利用する。より下の層のソフト
ウェアが、より上の層のソフトウェアのために、自身の
機能の利用方法を規定したのがAPIである。例えば、
表計算アプリケーションはOSが提供するファイルアク
セス機能を利用するためにファイルアクセス用APIを
利用する。
【0013】通常、アプリケーションプログラムはそれ
ぞれ固有のファイル形式でデータを記録する。例えば、
ワープロアプリケーションで作成したファイルと、表計
算アプリケーションで作成したファイルの形式は異な
る。しかし、同じOS上で動作するアプリケーションは
ファイルの内容を画面に表示するために、ファイルの形
式に係わらず共通の文字表示APIを利用する。
ぞれ固有のファイル形式でデータを記録する。例えば、
ワープロアプリケーションで作成したファイルと、表計
算アプリケーションで作成したファイルの形式は異な
る。しかし、同じOS上で動作するアプリケーションは
ファイルの内容を画面に表示するために、ファイルの形
式に係わらず共通の文字表示APIを利用する。
【0014】図3にその様子を示す。計算機の記憶装置
内にはテキストファイル301、HTMLファイル30
2、ワープロ文書ファイル303、PDFファイル30
4など様々な形式のファイルが存在し、それぞれのファ
イル形式毎にその内容を閲覧/編集するためのアプリケ
ーションプログラム(テキストエディタ305、Web
ブラウザ306、ワープロアプリケーション307、P
DFファイルビューワ308など)が存在する。それぞ
れのアプリケーションプログラムはファイルを開いて画
面に表示すべき情報を抽出し、OSの画面描画APIを
利用して画面表示を行う。例えば、表示内容が文字の場
合、文字表示API(310)を利用して画面への表示
を行う。文字表示APIはOSによってひとつから数個
程度存在する。
内にはテキストファイル301、HTMLファイル30
2、ワープロ文書ファイル303、PDFファイル30
4など様々な形式のファイルが存在し、それぞれのファ
イル形式毎にその内容を閲覧/編集するためのアプリケ
ーションプログラム(テキストエディタ305、Web
ブラウザ306、ワープロアプリケーション307、P
DFファイルビューワ308など)が存在する。それぞ
れのアプリケーションプログラムはファイルを開いて画
面に表示すべき情報を抽出し、OSの画面描画APIを
利用して画面表示を行う。例えば、表示内容が文字の場
合、文字表示API(310)を利用して画面への表示
を行う。文字表示APIはOSによってひとつから数個
程度存在する。
【0015】また、近代的なOSは自身が提供するAP
Iの呼び出しがあるたびに、あらかじめ登録された別の
プログラム(フックプログラム)にそのことを知らせる仕
組み(APIフック)を具備しているか、または、機能
拡張により実現可能としている。
Iの呼び出しがあるたびに、あらかじめ登録された別の
プログラム(フックプログラム)にそのことを知らせる仕
組み(APIフック)を具備しているか、または、機能
拡張により実現可能としている。
【0016】本実施例ではこのAPIフックの仕組みを
利用して、画面に表示される文字情報の収集を行い、収
集結果に対して検索を行うことで、新たなファイル形式
が出現したり、既存のファイル形式が変更されたりした
場合でも、機能追加および修正が必要とならない情報収
集と検索を実現する。
利用して、画面に表示される文字情報の収集を行い、収
集結果に対して検索を行うことで、新たなファイル形式
が出現したり、既存のファイル形式が変更されたりした
場合でも、機能追加および修正が必要とならない情報収
集と検索を実現する。
【0017】APIフックの仕組みを利用するために
は、あらかじめOSにフックプログラムを登録しておく
(フックプログラムを記憶装置に格納し、その格納場所
をOSに記憶させておく)必要がある。フックプログラ
ムの登録は、OSの起動処理中、または、利用者のログ
イン処理中、または、利用者の指示があった時などに行
われる。フックプログラムの登録後、解除されるまで、
利用者の操作に応じて画面表示される全ての文字が蓄積
対象となる。
は、あらかじめOSにフックプログラムを登録しておく
(フックプログラムを記憶装置に格納し、その格納場所
をOSに記憶させておく)必要がある。フックプログラ
ムの登録は、OSの起動処理中、または、利用者のログ
イン処理中、または、利用者の指示があった時などに行
われる。フックプログラムの登録後、解除されるまで、
利用者の操作に応じて画面表示される全ての文字が蓄積
対象となる。
【0018】また、本発明では情報収集を行うフックプ
ログラムと、検索を行う検索プログラムはそれぞれ別の
プログラムとして動作することができる。すなわち、情
報収集の方法を変更することなく、検索方法だけをより
効率的なものに変更することができる。本発明の本質は
情報収集方法にあるため、本実施例では検索方法につい
ては既知の単純なものを利用するが、検索対象が含むキ
ーワードや文字をあらかじめ分析してインデックスと呼
ばれる情報を作成し、高速に検索を行う方法など、より
複雑なものを利用することもできる。
ログラムと、検索を行う検索プログラムはそれぞれ別の
プログラムとして動作することができる。すなわち、情
報収集の方法を変更することなく、検索方法だけをより
効率的なものに変更することができる。本発明の本質は
情報収集方法にあるため、本実施例では検索方法につい
ては既知の単純なものを利用するが、検索対象が含むキ
ーワードや文字をあらかじめ分析してインデックスと呼
ばれる情報を作成し、高速に検索を行う方法など、より
複雑なものを利用することもできる。
【0019】以下では、アプリケーションプログラムが
ファイルを開いてその内容を表示するまでの手順(図
4)に従って、APIフックの仕組みを利用した情報収
集方法を説明する。図4の破線は動作するソフトウェア
の区分分けを表しており、左側がアプリケーションプロ
グラムの動作を、中央がOSまたはフック処理プログラ
ム(APIの呼び出しがあったときAPIに対応するフ
ックプログラムが登録されているかを判定し、登録され
ていればフックプログラムに処理を移す機能を持つプロ
グラム)の動作を、右側がフックプログラムの動作を、
それぞれ表す。
ファイルを開いてその内容を表示するまでの手順(図
4)に従って、APIフックの仕組みを利用した情報収
集方法を説明する。図4の破線は動作するソフトウェア
の区分分けを表しており、左側がアプリケーションプロ
グラムの動作を、中央がOSまたはフック処理プログラ
ム(APIの呼び出しがあったときAPIに対応するフ
ックプログラムが登録されているかを判定し、登録され
ていればフックプログラムに処理を移す機能を持つプロ
グラム)の動作を、右側がフックプログラムの動作を、
それぞれ表す。
【0020】はじめに、アプリケーションプログラムは
記憶装置からファイルを読み込み(ステップ401)、
ファイルから文字情報や図形情報など画面への表示内容
を抽出する(ステップ402)。次に、表示内容(画
像、文字、図形など)に適した画面出力APIを呼び出
す(ステップ403)(ここでは文字表示APIを呼び
出した例を記載した)。
記憶装置からファイルを読み込み(ステップ401)、
ファイルから文字情報や図形情報など画面への表示内容
を抽出する(ステップ402)。次に、表示内容(画
像、文字、図形など)に適した画面出力APIを呼び出
す(ステップ403)(ここでは文字表示APIを呼び
出した例を記載した)。
【0021】これにより、制御がOSに移り、OSの当
該APIに対応するフック処理(フックプログラムの格
納場所を見てフックプログラムを起動する)が行われる
(ステップ411)。当該APIに対応するフックプロ
グラムが登録されていると、OSは当該APIの本来の
処理(ステップ412)を行う前に、登録されたフック
プログラムに制御を移す。
該APIに対応するフック処理(フックプログラムの格
納場所を見てフックプログラムを起動する)が行われる
(ステップ411)。当該APIに対応するフックプロ
グラムが登録されていると、OSは当該APIの本来の
処理(ステップ412)を行う前に、登録されたフック
プログラムに制御を移す。
【0022】フックプログラムは文字表示APIに渡さ
れた文字情報を抽出し、文字情報記録用DBに記録する
(ステップ421)。この文字情報はファイル形式には
関係しない共通の形式となっている。具体的にはテキス
ト形式である。また、この文字情報記録用DBはフック
プログラムが動作する計算機内に存在しても、ネットワ
ーク経由でアクセス可能な別の計算機内に存在しても構
わない。これによって、フィルタプログラムの介在なし
にファイルの文字情報だけが抽出され、しかも、それが
元のファイルの形式に関係なく共通の形式で蓄積され
る。このように、フックの仕組みを利用して文字情報を
蓄積して検索に供する。
れた文字情報を抽出し、文字情報記録用DBに記録する
(ステップ421)。この文字情報はファイル形式には
関係しない共通の形式となっている。具体的にはテキス
ト形式である。また、この文字情報記録用DBはフック
プログラムが動作する計算機内に存在しても、ネットワ
ーク経由でアクセス可能な別の計算機内に存在しても構
わない。これによって、フィルタプログラムの介在なし
にファイルの文字情報だけが抽出され、しかも、それが
元のファイルの形式に関係なく共通の形式で蓄積され
る。このように、フックの仕組みを利用して文字情報を
蓄積して検索に供する。
【0023】フックプログラムの処理が終了すると制御
がOSに戻り、OSは本来の処理である文字表示(ステ
ップ412)を行い、API呼び出し元のアプリケーシ
ョンに制御を戻す。アプリケーションプログラムは全て
の画面表示処理が終了したかどうか調べ(ステップ40
4)、未終了ならステップ402へ戻り、終了まで上記
処理を繰り返す。
がOSに戻り、OSは本来の処理である文字表示(ステ
ップ412)を行い、API呼び出し元のアプリケーシ
ョンに制御を戻す。アプリケーションプログラムは全て
の画面表示処理が終了したかどうか調べ(ステップ40
4)、未終了ならステップ402へ戻り、終了まで上記
処理を繰り返す。
【0024】ステップ421で記録される情報の例(D
Bの構造)を図5に示す。情報取得日501、文字表示
APIを呼び出したアプリケーションプログラム名50
2、アプリケーションプログラムが表示していたファイ
ル名503、ファイルの存在する場所504、プロセス
の識別子505、スレッドの識別子506、表示文字列
507などが記録される。OSによっては全ての情報を
取得できない場合がある(例えば、スレッドを持たない
OSの場合や、ファイルではなくDB内のデータを閲覧
している場合など)。したがって、全ての情報が必ずし
も必要というわけではない。なお、ここで図5のデータ
テーブルの各行を一つのレコードという。
Bの構造)を図5に示す。情報取得日501、文字表示
APIを呼び出したアプリケーションプログラム名50
2、アプリケーションプログラムが表示していたファイ
ル名503、ファイルの存在する場所504、プロセス
の識別子505、スレッドの識別子506、表示文字列
507などが記録される。OSによっては全ての情報を
取得できない場合がある(例えば、スレッドを持たない
OSの場合や、ファイルではなくDB内のデータを閲覧
している場合など)。したがって、全ての情報が必ずし
も必要というわけではない。なお、ここで図5のデータ
テーブルの各行を一つのレコードという。
【0025】フックプログラムでの記録処理の詳細を図
6に示す。はじめに、文字表示APIに渡された文字を
抽出し(ステップ601)、文字表示API呼び出し元
アプリケーションに関する情報を取得する(ステップ6
02)。これはアプリケーションプログラム名、プロセ
スID、スレッドIDなど前記DBに記録すべき情報で
ある。
6に示す。はじめに、文字表示APIに渡された文字を
抽出し(ステップ601)、文字表示API呼び出し元
アプリケーションに関する情報を取得する(ステップ6
02)。これはアプリケーションプログラム名、プロセ
スID、スレッドIDなど前記DBに記録すべき情報で
ある。
【0026】次に、既にDBに登録されているレコード
の項目と比較して、文字情報の連続性を判定する(ステ
ップ603)。この処理により、文字表示APIの複数
回に渡る呼び出しで1画面の表示が完結する場合、各A
PI呼び出し間のつながりを認識することができる。
の項目と比較して、文字情報の連続性を判定する(ステ
ップ603)。この処理により、文字表示APIの複数
回に渡る呼び出しで1画面の表示が完結する場合、各A
PI呼び出し間のつながりを認識することができる。
【0027】具体的には、ステップ603で日付(50
1)、アプリケーションプログラム名(502)、ファ
イル名(503)、ファイル場所(504)、プロセス
ID(505)、スレッドID(506)の全てが
(「不明」の場合を含めて)一致する項目が見つかった
場合、当該項目の表示文字列(507)にステップ60
1で抽出した文字を追加する(ステップ604)。見つ
からなかった場合、DBに新規項目を作成して、その表
示文字列欄(507)にステップ601で抽出した文字
を新規登録する(ステップ605)。
1)、アプリケーションプログラム名(502)、ファ
イル名(503)、ファイル場所(504)、プロセス
ID(505)、スレッドID(506)の全てが
(「不明」の場合を含めて)一致する項目が見つかった
場合、当該項目の表示文字列(507)にステップ60
1で抽出した文字を追加する(ステップ604)。見つ
からなかった場合、DBに新規項目を作成して、その表
示文字列欄(507)にステップ601で抽出した文字
を新規登録する(ステップ605)。
【0028】次に、検索プログラムの処理手順を図7に
示す。はじめに、利用者が検索したいキーワードを入力
する(ステップ701)。次に、フックプログラムが生
成したDBの先頭レコードを読み取り(ステップ70
2)、当該レコードの表示文字列欄の文字列情報に対し
て文字列検索を行い(ステップ703)、キーワードの
有無により処理を振り分ける(ステップ704)。当該
レコードにキーワードが含まれない場合、前記DB内の
次のレコードの取得を試みる(ステップ705)。取得
できた場合、ステップ703へ戻る。取得できなかった
場合、処理を終了する。また、当該レコードにキーワー
ドが含まれる場合、当該レコードの内容を表示して(ス
テップ706)、利用者の入力を待つ(ステップ70
7)。利用者が[次を検索]ボタンを押下したかどうか
を判定し(ステップ708)、押下された場合、ステッ
プ705へ戻り、上記の処理を次のレコードに対して行
う。[次を検索]ボタンが押下されなかった場合、検索
処理を終了する。
示す。はじめに、利用者が検索したいキーワードを入力
する(ステップ701)。次に、フックプログラムが生
成したDBの先頭レコードを読み取り(ステップ70
2)、当該レコードの表示文字列欄の文字列情報に対し
て文字列検索を行い(ステップ703)、キーワードの
有無により処理を振り分ける(ステップ704)。当該
レコードにキーワードが含まれない場合、前記DB内の
次のレコードの取得を試みる(ステップ705)。取得
できた場合、ステップ703へ戻る。取得できなかった
場合、処理を終了する。また、当該レコードにキーワー
ドが含まれる場合、当該レコードの内容を表示して(ス
テップ706)、利用者の入力を待つ(ステップ70
7)。利用者が[次を検索]ボタンを押下したかどうか
を判定し(ステップ708)、押下された場合、ステッ
プ705へ戻り、上記の処理を次のレコードに対して行
う。[次を検索]ボタンが押下されなかった場合、検索
処理を終了する。
【0029】検索プログラムの検索結果を表示する画面
例を図8に示す。利用者が入力した検索文字列801、
見つかったレコードの内容805が表示される。レコー
ドは、記録された日付802、当該文字列を表示したア
プリケーション名803、表示文字列804などからな
る。日付802は図5の日付501に、アプリケーショ
ン名803は図5のアプリケーション名502に、表示
文字列805は図5の表示文字列507にそれぞれ対応
する。図5の表示文字列はタブや改行文字も文字の一部
として持っている。従って、表示画面に表示すると、図
8の804のような表示形態となる。(特にレイアウト
機能を持たなくとも良い)前記DB内の他の項目を表示
するようにしても構わない。ボタン821は次のレコー
ドへ検索を進めるため、ボタン822は検索処理を終了
するために、それぞれ用意されている。また、表示文字
列内で発見されたキーワード(811、812)は他の
文字列と区別できるように強調表示される(ここでは下
線付太文字とした)。
例を図8に示す。利用者が入力した検索文字列801、
見つかったレコードの内容805が表示される。レコー
ドは、記録された日付802、当該文字列を表示したア
プリケーション名803、表示文字列804などからな
る。日付802は図5の日付501に、アプリケーショ
ン名803は図5のアプリケーション名502に、表示
文字列805は図5の表示文字列507にそれぞれ対応
する。図5の表示文字列はタブや改行文字も文字の一部
として持っている。従って、表示画面に表示すると、図
8の804のような表示形態となる。(特にレイアウト
機能を持たなくとも良い)前記DB内の他の項目を表示
するようにしても構わない。ボタン821は次のレコー
ドへ検索を進めるため、ボタン822は検索処理を終了
するために、それぞれ用意されている。また、表示文字
列内で発見されたキーワード(811、812)は他の
文字列と区別できるように強調表示される(ここでは下
線付太文字とした)。
【0030】以上のような本発明の第1の実施例によれ
ばフィルタプログラムが不要で、かつファイルの形式の
違いに係わらず共通な形式の検索対象となるデータベー
スを得ることが出来る。
ばフィルタプログラムが不要で、かつファイルの形式の
違いに係わらず共通な形式の検索対象となるデータベー
スを得ることが出来る。
【0031】本発明の第2の実施例は、第1の実施例の
図6のステップ604で、抽出した文字列を既存のDB
レコードの表示文字列欄(507)に追加する際に、追
加先文字列の末尾に単純に連結するのではなく、追加先
文字列の末尾と追加文字列の先頭部分が一致する場合、
追加文字列から一致部分を取り除いた残りだけを追加先
文字列の末尾に連結する。また、追加文字列全体が追加
先文字列に既に含まれている場合、文字列を追加しない
ようにする。図8を利用してこれを具体的に説明する。
図4のステップ402では1画面の表示を想定してい
る。始めに、ある画面に画面の表示スペースの制限か
ら、「打ち合わせメモ」という表題と、日時と、場所
と、参加者と、配布資料とが表示されたとする。次の画
面で、スクロールアップにより、配布資料と、内容とが
表示されたとする。このとき、「配布資料」が両画面表
示で一致している。したがって、次画面での文字情報記
録は「配布資料」を含まないようになされる。
図6のステップ604で、抽出した文字列を既存のDB
レコードの表示文字列欄(507)に追加する際に、追
加先文字列の末尾に単純に連結するのではなく、追加先
文字列の末尾と追加文字列の先頭部分が一致する場合、
追加文字列から一致部分を取り除いた残りだけを追加先
文字列の末尾に連結する。また、追加文字列全体が追加
先文字列に既に含まれている場合、文字列を追加しない
ようにする。図8を利用してこれを具体的に説明する。
図4のステップ402では1画面の表示を想定してい
る。始めに、ある画面に画面の表示スペースの制限か
ら、「打ち合わせメモ」という表題と、日時と、場所
と、参加者と、配布資料とが表示されたとする。次の画
面で、スクロールアップにより、配布資料と、内容とが
表示されたとする。このとき、「配布資料」が両画面表
示で一致している。したがって、次画面での文字情報記
録は「配布資料」を含まないようになされる。
【0032】これにより、文字列情報の連続性を失うこ
となく、検索対象となる文字列内の重複部分を取り除く
ことができる。これは検索対象となるデータ量の削減、
ひいては、検索時間の短縮につながる。
となく、検索対象となる文字列内の重複部分を取り除く
ことができる。これは検索対象となるデータ量の削減、
ひいては、検索時間の短縮につながる。
【0033】本発明の第3の実施例は、第1の実施例ま
たは第2の実施例の情報収集部分を置換する情報収集検
索方法である。第1、第2の実施例では利用者が自発的
に開いたファイルが情報収集の対象となっていたが、第
3の実施例では利用者が実際に見たか見ないかは問わず
利用者があらかじめ指定したファイル集合を情報収集の
対象とする。ファイル集合の指定方法はファイル名を列
挙する方法、または、ひとつ以上のディレクトリを指定
して当該ディレクトリに含まれる全てのファイルを情報
収集対象とする方法、または、前記2つの方法を組み合
わせて指定する方法などが考えられる。自装置またはネ
ットワークを通してアクセス可能なファイルは総て対象
となり得る。
たは第2の実施例の情報収集部分を置換する情報収集検
索方法である。第1、第2の実施例では利用者が自発的
に開いたファイルが情報収集の対象となっていたが、第
3の実施例では利用者が実際に見たか見ないかは問わず
利用者があらかじめ指定したファイル集合を情報収集の
対象とする。ファイル集合の指定方法はファイル名を列
挙する方法、または、ひとつ以上のディレクトリを指定
して当該ディレクトリに含まれる全てのファイルを情報
収集対象とする方法、または、前記2つの方法を組み合
わせて指定する方法などが考えられる。自装置またはネ
ットワークを通してアクセス可能なファイルは総て対象
となり得る。
【0034】以下図9に沿って手順を説明する。はじめ
にフックプログラムを登録する(ステップ901)。複
数の文字表示APIが存在する場合、文字表示APIに
フックプログラムを登録する。登録される文字表示AP
Iは総てであっても良い。これにより以降の文字表示A
PI呼び出しがフックされ、表示文字情報が蓄積され
る。次に、分析対象となるファイル集合の先頭ファイル
を取得し(ステップ902)、図5でその構造を示した
前記DBに当該ファイル用の新規レコードを登録する
(ステップ903)。ここでは、日付(501)、アプ
リケーション名(502)、ファイル名(503)、フ
ァイル場所(504)を確定することができる。
にフックプログラムを登録する(ステップ901)。複
数の文字表示APIが存在する場合、文字表示APIに
フックプログラムを登録する。登録される文字表示AP
Iは総てであっても良い。これにより以降の文字表示A
PI呼び出しがフックされ、表示文字情報が蓄積され
る。次に、分析対象となるファイル集合の先頭ファイル
を取得し(ステップ902)、図5でその構造を示した
前記DBに当該ファイル用の新規レコードを登録する
(ステップ903)。ここでは、日付(501)、アプ
リケーション名(502)、ファイル名(503)、フ
ァイル場所(504)を確定することができる。
【0035】次に、前記ファイル内容を表示できるアプ
リケーションで前記ファイルを開き(ステップ90
4)、このアプリケーションのプロセスIDを取得(ス
テップ905)して、ステップ903で登録したレコー
ドに当該プロセスIDを登録する。ファイルをアプリケ
ーションで開くことで画面表示が行われるのでステップ
901で登録したフックプログラムが実行される。な
お、ファイルを開くということは現実に表示装置に表示
されることを必要とはしないが、文字表示APIが動作
することが必要である。プロセスIDを取得するのは、
プロセスIDが同じなら同じファイルを開いていると考
えて良いので、図6のステップ603と同様に新しいレ
コードを作るか、または同じレコードに文字列を追記す
るかの判定をするためである。
リケーションで前記ファイルを開き(ステップ90
4)、このアプリケーションのプロセスIDを取得(ス
テップ905)して、ステップ903で登録したレコー
ドに当該プロセスIDを登録する。ファイルをアプリケ
ーションで開くことで画面表示が行われるのでステップ
901で登録したフックプログラムが実行される。な
お、ファイルを開くということは現実に表示装置に表示
されることを必要とはしないが、文字表示APIが動作
することが必要である。プロセスIDを取得するのは、
プロセスIDが同じなら同じファイルを開いていると考
えて良いので、図6のステップ603と同様に新しいレ
コードを作るか、または同じレコードに文字列を追記す
るかの判定をするためである。
【0036】第3の実施例ではフックプログラムのステ
ップ603の文字情報の連続性判定方法を「スレッドI
D506を考慮しない」ように変更する。この修正によ
り、ステップ903で登録したレコードの表示文字列欄
507に当該表示文字列が追加される。この場合、スレ
ッドIDは1つしかない場合であって、スレッドIDを
考慮しなくとも同一ファイルか異なるファイルかはプロ
セスIDだけで判る。
ップ603の文字情報の連続性判定方法を「スレッドI
D506を考慮しない」ように変更する。この修正によ
り、ステップ903で登録したレコードの表示文字列欄
507に当該表示文字列が追加される。この場合、スレ
ッドIDは1つしかない場合であって、スレッドIDを
考慮しなくとも同一ファイルか異なるファイルかはプロ
セスIDだけで判る。
【0037】次に、ステップ905で取得したプロセス
IDをもとに、前記アプリケーションに「次画面表示イ
ベント」を送付する(ステップ906)。これは1つの
ファイルが1画面に一度に表示出来ないことを想定して
いるからである。次画面表示イベントはOSにより異な
るが、ページダウンキー押下イベント、下矢印キー押下
イベント、下スクロールイベントなどがこれにあたる。
次画面イベントを送付することはあたかも操作者が画面
を見て、次画面を表示させる操作をしたかのような制御
情報を自動的に作成しアプリケーションプログラムに送
付することを示す。これは1つのファイルの全部を表示
するためである。
IDをもとに、前記アプリケーションに「次画面表示イ
ベント」を送付する(ステップ906)。これは1つの
ファイルが1画面に一度に表示出来ないことを想定して
いるからである。次画面表示イベントはOSにより異な
るが、ページダウンキー押下イベント、下矢印キー押下
イベント、下スクロールイベントなどがこれにあたる。
次画面イベントを送付することはあたかも操作者が画面
を見て、次画面を表示させる操作をしたかのような制御
情報を自動的に作成しアプリケーションプログラムに送
付することを示す。これは1つのファイルの全部を表示
するためである。
【0038】次に、前記ステップ906でファイルの末
尾まで到達したかどうかを判定し(ステップ907)、
未到達の場合はステップ906を繰り返し行う。ファイ
ルの末尾に到達した後に、次画面表示イベントを受け取
っても画面の描画は行われない。すなわちフックプログ
ラムが実行されないことから、「ステップ906でイベ
ントを送付してもフックプログラムの実行が行われなく
なること」でファイルの末尾への到達を認識する(詳細
は図10を使って説明する)。
尾まで到達したかどうかを判定し(ステップ907)、
未到達の場合はステップ906を繰り返し行う。ファイ
ルの末尾に到達した後に、次画面表示イベントを受け取
っても画面の描画は行われない。すなわちフックプログ
ラムが実行されないことから、「ステップ906でイベ
ントを送付してもフックプログラムの実行が行われなく
なること」でファイルの末尾への到達を認識する(詳細
は図10を使って説明する)。
【0039】ファイルの末尾へ到達した場合、前記アプ
リケーションを終了させ(ステップ908)、前記分析
対象ファイル集合の次ファイルの取得を試みる(ステッ
プ909)。次のファイルが存在すれば、ステップ90
3へ戻って、当該ファイルを対象として上記の手順を繰
り返す。存在しなければ処理を終了する。
リケーションを終了させ(ステップ908)、前記分析
対象ファイル集合の次ファイルの取得を試みる(ステッ
プ909)。次のファイルが存在すれば、ステップ90
3へ戻って、当該ファイルを対象として上記の手順を繰
り返す。存在しなければ処理を終了する。
【0040】ステップ907での「ファイルの末尾への
到達判定」の詳細を図10を使って説明する。概略を説
明すると、フックプログラムの実行時刻を記録してお
き、ファイルの末尾に達すると新しい表示がない、つま
りフックプログラムが動作しない。従って、最終実行時
刻は変化しなくなる。これを検出することでファイルの
末尾を判定出来る。
到達判定」の詳細を図10を使って説明する。概略を説
明すると、フックプログラムの実行時刻を記録してお
き、ファイルの末尾に達すると新しい表示がない、つま
りフックプログラムが動作しない。従って、最終実行時
刻は変化しなくなる。これを検出することでファイルの
末尾を判定出来る。
【0041】はじめに、フックプログラムの最終実行時
刻を取得する(ステップ1001)。ステップ1001
を実行可能とするためにフックプログラムはステップ4
21で自身が実行された時に、時刻を記録し、かつ、他
のプログラムからの当該時刻の取得を可能とするものと
する。
刻を取得する(ステップ1001)。ステップ1001
を実行可能とするためにフックプログラムはステップ4
21で自身が実行された時に、時刻を記録し、かつ、他
のプログラムからの当該時刻の取得を可能とするものと
する。
【0042】次に、これをステップ907が設定および
参照可能な変数「前回実行時刻」と比較する(ステップ
1002)。等しい場合、「末尾に到達」と判定する
(ステップ1005)。等しくない場合、前記前回実行
時刻に前記最終実行時刻を代入し(ステップ100
3)、「末尾に未到達」と判定する(ステップ100
4)。
参照可能な変数「前回実行時刻」と比較する(ステップ
1002)。等しい場合、「末尾に到達」と判定する
(ステップ1005)。等しくない場合、前記前回実行
時刻に前記最終実行時刻を代入し(ステップ100
3)、「末尾に未到達」と判定する(ステップ100
4)。
【0043】
【発明の効果】本発明により、新たなファイル形式が出
現したり、既存のファイル形式が変更されたりした場合
でも、機能追加および修正が必要とならない情報収集と
検索を実現できる。
現したり、既存のファイル形式が変更されたりした場合
でも、機能追加および修正が必要とならない情報収集と
検索を実現できる。
【図1】計算機環境を表す図。
【図2】計算機内部のソフトウェアの構造を表す図。
【図3】アプリケーションプログラムがOSのAPIを
呼び出すことを示す図。
呼び出すことを示す図。
【図4】APIをフックして表示文字情報を収集する際
の処理手順図。
の処理手順図。
【図5】フックプログラムが記録する情報の例(DB構
造)を示す図。
造)を示す図。
【図6】文字情報記録処理(ステップ421)の手順
図。
図。
【図7】検索処理手順図。
【図8】検索結果表示画面例。
【図9】利用者が指定したファイル集合を情報収集の対
象とする情報収集方法の手順図。
象とする情報収集方法の手順図。
【図10】ファイルの末尾への到達判定方法(ステップ
907)の手順図。
907)の手順図。
402.ファイルから画面への表示内容を抽出するステ
ップ 403.画面表示APIを呼び出すステップ 411.フック処理を行うステップ 412.画面に文字を表示するステップ 421.画面表示文字をDBに記録するステップ
ップ 403.画面表示APIを呼び出すステップ 411.フック処理を行うステップ 412.画面に文字を表示するステップ 421.画面表示文字をDBに記録するステップ
Claims (6)
- 【請求項1】アプリケーションプログラムからオペレー
ティングシステムの文字表示のためのアプリケーション
プログラミングインターフェイスを呼び出し、前記文字
表示のためのアプリケーションプログラミングインター
フェイスへ前記アプリケーションプログラムが扱う文字
情報を渡し、前記文字表示のためのアプリケーションプ
ログラミングインターフェイスへ渡された前記文字情報
を収集し、これをデータベースに蓄積することを特徴と
する情報収集方法。 - 【請求項2】アプリケーションプログラムからオペレー
ティングシステムの文字表示のためのアプリケーション
プログラミングインターフェイスを呼び出し、前記文字
表示のためのアプリケーションプログラミングインター
フェイスへ前記アプリケーションプログラムが扱う文字
情報を渡し、前記文字表示のためのアプリケーションプ
ログラミングインターフェイスが呼び出されるとフック
プログラムを動作させ、フックプログラムにおいて前記
文字表示のためのアプリケーションプログラミングイン
ターフェイスへ渡された前記文字情報を収集し、これを
データベースに蓄積することを特徴とする情報収集方
法。 - 【請求項3】前記文字表示のためのアプリケーションプ
ログラミングインターフェイスへ渡された前記文字情報
を収集するステップにおいて、既に蓄積された文字列と
の重複部分を除いた文字列を追加して収集することを特
徴とする請求項1または2記載の情報収集方法。 - 【請求項4】前記アプリケーションプログラムは利用者
が指定したファイル集合を対象としてファイルを読み出
し、これを表示することを特徴とする請求項1または2
に記載の情報収集方法。 - 【請求項5】コンピュータを、アプリケーションプログ
ラムによって呼び出されたオペレーティングシステムの
文字表示のためのアプリケーションプログラミングイン
ターフェイスへ前記アプリケーションプログラムから渡
された文字情報を収集する手段と、これをデータベース
に蓄積する手段として機能させるための検索対象文字情
報蓄積プログラム。 - 【請求項6】アプリケーションプログラムからオペレー
ティングシステムの文字表示のためのアプリケーション
プログラミングインターフェイスを呼び出す手段と、前
記文字表示のためのアプリケーションプログラミングイ
ンターフェイスへ前記アプリケーションプログラムが扱
う文字情報を渡す手段と、前記文字表示のためのアプリ
ケーションプログラミングインターフェイスへ渡された
前記文字情報を収集し、これをデータベースに蓄積する
手段とを備えたことを特徴とする情報収集装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001355642A JP2003157263A (ja) | 2001-11-21 | 2001-11-21 | 情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001355642A JP2003157263A (ja) | 2001-11-21 | 2001-11-21 | 情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003157263A true JP2003157263A (ja) | 2003-05-30 |
Family
ID=19167320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001355642A Pending JP2003157263A (ja) | 2001-11-21 | 2001-11-21 | 情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003157263A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005116975A1 (ja) * | 2004-05-31 | 2005-12-08 | Lenovo (Singapore) Pte Ltd. | 表示方式切替装置、表示方式切替方法、表示方式切替プログラム、及びそのプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2007213505A (ja) * | 2006-02-13 | 2007-08-23 | Ricoh Co Ltd | ファームウェアダウンロードドライバシステム、及び外部装置機能拡張アプリケーションシステム |
JP2007249764A (ja) * | 2006-03-17 | 2007-09-27 | Nec Corp | 自動ハンドオーバーシステムおよび方法 |
JP2015069473A (ja) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | 表示制御装置、表示制御方法及びプログラム |
-
2001
- 2001-11-21 JP JP2001355642A patent/JP2003157263A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005116975A1 (ja) * | 2004-05-31 | 2005-12-08 | Lenovo (Singapore) Pte Ltd. | 表示方式切替装置、表示方式切替方法、表示方式切替プログラム、及びそのプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP2005345523A (ja) * | 2004-05-31 | 2005-12-15 | Internatl Business Mach Corp <Ibm> | 表示方式切替装置、表示方式切替方法、表示方式切替プログラム、及びそのプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
GB2438270A (en) * | 2004-05-31 | 2007-11-21 | Lenovo | Display mode switching device, method, switching program,and computer-readable recording medium with display mode switching program stored therein |
GB2438270B (en) * | 2004-05-31 | 2010-05-26 | Lenovo | Display mode switching device |
JP2007213505A (ja) * | 2006-02-13 | 2007-08-23 | Ricoh Co Ltd | ファームウェアダウンロードドライバシステム、及び外部装置機能拡張アプリケーションシステム |
JP2007249764A (ja) * | 2006-03-17 | 2007-09-27 | Nec Corp | 自動ハンドオーバーシステムおよび方法 |
JP2015069473A (ja) * | 2013-09-30 | 2015-04-13 | 日本電気株式会社 | 表示制御装置、表示制御方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020059215A1 (en) | Data search apparatus and method | |
US20040243552A1 (en) | Method, system, and apparatus for viewing data | |
WO2007004412A1 (en) | Electronic apparatus with a web page browsing function | |
JP2000339312A (ja) | 文書編集システム及びタグ情報管理テーブル作成方法 | |
JP4042830B2 (ja) | コンテンツ属性情報正規化方法、情報収集・サービス提供システム、並びにプログラム格納記録媒体 | |
JP2001154893A (ja) | ファイル検索装置とコンピュータ読取可能な記録媒体 | |
JP2003157263A (ja) | 情報収集方法、情報収集装置及び検索対象文字情報蓄積プログラム | |
JP4253315B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP2004145706A (ja) | マルチメディアデータ検索システム | |
US7386794B2 (en) | Apparatus and method for performing the management of operation history | |
WO2021049272A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JPH117452A (ja) | ネットワークを介した情報収集方法および装置と該方法を実施するプログラムを記録した記録媒体 | |
JP3725087B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP4690232B2 (ja) | 情報処理装置、ソフトウェア登録方法およびプログラム | |
JP2002259173A (ja) | ファイル管理プログラム、ファイル管理プログラムを記録したコンピュータ読取可能な記録媒体、ファイル管理装置およびファイル管理方法 | |
JP2002055866A (ja) | 情報管理サーバ、利用者端末及び記録媒体 | |
JP3708893B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JPH10162011A (ja) | 情報検索方法、情報検索システム、情報検索端末装置および情報検索装置 | |
JP3725088B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP3725835B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP3725837B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP3198941B2 (ja) | 情報処理装置及び記録媒体 | |
JP3725836B2 (ja) | 知識情報収集システムおよび知識情報収集方法 | |
JP3193249B2 (ja) | キーワード検索方法 | |
JP2003122608A (ja) | データファイリングシステム及びデータファイリング用コンピュータプログラム |