以下、本発明の実施形態を図面に基づいて説明する。
<1.第1実施形態>
<1−1.システム概要>
図1は、検索システム1の概略構成を示す図である。
図1に示すように、検索システム1は、MFP10と、サーバコンピュータ(以下、単にサーバとも称する)70と、印刷出力用のクライアントコンピュータ(以下、単にクライアントとも称する)30と、文書検索用のクライアント50とを備える。なお、クライアント30は印刷指示装置とも称され、サーバ70は検索装置とも称され、クライアント50は検索指示装置とも称される。
各要素10,30,50,70は、ネットワーク108を介して互いに接続されており、ネットワーク通信を実行することが可能である。なお、ネットワーク108は、LAN(ローカルエリアネットワーク)107およびインターネットなどによって構成される。ネットワーク108への接続形態は、有線接続であってもよく或いは無線接続であってもよい。
この検索システム1においては、クライアント30(印刷指示装置)は、印刷実行ユーザ(U1等)による印刷出力指示操作に応じて、印刷対象文書の印刷用データ(PDLデータ(ページ記述言語(Page Description Language)で記述されたデータ))を生成する(図6のステップS1も参照)。そして、クライアント30は、当該印刷用データをMFP10に送信する(ステップS2)とともに、当該印刷用データをサーバ70にも送信する(ステップS3)。MFP10は、当該印刷用データを受信すると、当該印刷用データに基づいて印刷出力を実行する(ステップS4)。また、サーバ70は、当該印刷用データをその内部に格納する(ステップS5)。当該印刷用データは、テキストオブジェクトを含むデータであり、電子文書とも称される。
クライアント50(検索指示装置)は、検索ユーザ(U2等)による検索操作(図7のステップS21も参照)に応じてキーワード検索指示(キーワード検索を行うべき旨の指示)を検索ユーザから受け付けると、当該キーワード検索指示をサーバ70に転送する(ステップS22)。サーバ70は、当該キーワード検索指示に応じて、サーバ70に格納される電子文書を検索対象として、ユーザによって指定されたキーワードに係るテキストオブジェクトを検索する(ステップS23)。サーバ70は、その検索処理の結果(検索結果)をクライアント50(文書検索用コンピュータ)に送信し(ステップS24)、クライアント50は、受信した検索結果を表示する(ステップS25)。これによって、検索ユーザは、検索結果を視認することができる。
<1−2.MFP10>
次に、MFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))10について説明する。
図2は、MFPの構成を示す概略図である。MFPは、スキャナ機能、プリンタ機能、コピー機能およびデータ通信機能などを備える装置(複合機とも称する)である。
MFPは、印刷出力処理(プリント処理)および画像読取処理(スキャン処理)等を行うことが可能な画像形成装置である。
図2に示すように、MFPは、画像読取部2、印刷出力部3、通信部4、格納部5、入出力部6およびコントローラ9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
画像読取部2は、MFPの所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ(原稿画像とも称する)を生成する処理部である。
印刷出力部3は、対象画像に関する画像データに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、ネットワーク108を介したネットワーク通信が可能である。このネットワーク通信では、TCP(Transmission Control Protocol)、IP(Internet Protocol)およびFTP(File Transfer Protocol)等の各種の通信プロトコルが利用され、当該ネットワーク通信を利用することによって、MFPは、所望の相手先(クライアント30等)との間で各種のデータを授受することが可能である。
格納部5は、ハードディスクドライブ(HDD)および不揮発性メモリ等の格納装置で構成される。
入出力部6は、MFPに対する入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。なお、入出力部6は、操作部とも称される。
コントローラ9は、MFPを統括的に制御する制御部であり、CPUと、各種の半導体メモリ(RAMおよびROM等)とを備えて構成される。
コントローラ9は、CPUにおいて、ROM(例えば、EEPROM(登録商標)等)内に格納されている所定のソフトウエアプログラム(単にプログラムとも称する)を実行することによって、各種の処理部を実現する。当該各種の処理部は、通信制御部11、入力制御部12、表示制御部13、および各種ジョブを実行するジョブ実行部14等を含む。なお、当該プログラムは、たとえば各種の可搬性の記録媒体(USBメモリ等)に記録され、当該記録媒体を介してMFPにインストールされればよい。あるいは当該プログラムは、ネットワーク等を介してダウンロードされてMFPにインストールされるようにしてもよい。
<1−3.クライアント(印刷指示装置))30>
図3は、クライアント30の概略構成を示す図である。クライアント30は、パーソナルコンピュータ等を用いて構築される。
クライアント30は、通信部34、格納部35、操作部36およびコントローラ(CPU)39等を備えて構成される。
通信部34は、ネットワーク108を介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、クライアント30は、所望の相手先(MFP10およびサーバ70等)との間で各種のデータを授受することが可能である。通信部34は、各種データを送信する送信部34aと各種データを受信する受信部34bとを有する。たとえば、送信部34aは、印刷用データをMFP10およびサーバ70に送信する。
格納部35は、不揮発性の半導体メモリ等の記憶装置で構成される。
操作部36は、クライアント30に対する入力を受け付ける操作入力部36aと、各種情報の表示出力を行う表示部36bとを備えている。
また、クライアント30は、そのCPU(コントローラ)39において、格納部35内に格納されている所定のプログラムを実行することによって、各種の処理部を実現する。なお、当該プログラムは、たとえば各種の可搬性の記録媒体(USBメモリ等)に記録され、当該記録媒体を介してクライアント30にインストールされればよい。あるいは当該プログラムは、ネットワーク等を介してダウンロードされてクライアント30にインストールされるようにしてもよい。
具体的には、クライアント30のCPU39は、プログラム(たとえば、プリンタドライバ)の実行によって、データ生成部41等を含む各種の処理部を実現する。データ生成部41は、たとえば印刷出力用データ(PDLデータ)等を生成する。なお、後述するように、クライアント30にて生成されサーバ70に蓄積された印刷出力用データは、検索対象の電子文書として扱われる。クライアント30は、印刷指示に応じて電子文書(PDLデータ)を生成することから、電子文書生成装置であるとも表現される。
<1−4.クライアント(検索指示装置)50>
図4は、クライアント50の概略構成を示す図である。クライアント50も、パーソナルコンピュータ等を用いて構築される。
クライアント50は、通信部54、格納部55、操作部56およびコントローラ(CPU)59等を備えて構成される。
通信部54は、ネットワーク108を介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、クライアント50は、所望の相手先(サーバ70等)との間で各種のデータを授受することが可能である。通信部54は、各種データを送信する送信部54aと各種データを受信する受信部54bとを有する。たとえば、送信部54aは、ユーザによっって指定された検索キーワード等の情報をサーバ70に送信する。また、受信部54bは、キーワード検索の検索結果をサーバ70から受信する。
格納部55は、不揮発性の半導体メモリ等の記憶装置で構成される。
操作部56は、クライアント50に対する入力を受け付ける操作入力部56aと、各種情報の表示出力を行う表示部56bとを備えている。
また、クライアント50は、そのCPU(コントローラ)59において、格納部55内に格納されている所定のプログラムを実行することによって、各種の処理部を実現する。なお、当該プログラムは、たとえば各種の可搬性の記録媒体(USBメモリ等)に記録され、当該記録媒体を介してクライアント50にインストールされればよい。あるいは当該プログラムは、ネットワーク等を介してダウンロードされてクライアント50にインストールされるようにしてもよい。
具体的には、クライアント50のCPU59は、プログラム(たとえば、ウエブブラウザ)の実行によって、ウエブアクセス処理部61等を含む各種の処理部を実現する。ウエブアクセス処理部61は、たとえばサーバ70(ウエブサーバ)にアクセスし、検索画面に関する情報を取得してクライアント50に表示させる動作を制御する。また、ウエブアクセス処理部61は、当該ウエブブラウザに表示された入力画面(検索用画面)に対するユーザ指示(キーワード指定入力等)を受け付けるとともに、当該ユーザ指示をサーバ70に送信する。
<1−5.サーバ70(検索装置)>
図5は、サーバ70の概略構成を示す図である。サーバ70は、サーバ用コンピュータあるいはパーソナルコンピュータ等を用いて構築される。
サーバ70は、通信部74、格納部75およびコントローラ(CPU)79等を備えて構成される。
通信部74は、ネットワーク108を介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、サーバ70は、所望の相手先(クライアント30,50等)との間で各種のデータを授受することが可能である。通信部74は、各種データを送信する送信部74aと各種データを受信する受信部74bとを有する。たとえば、受信部74bは、検索対象のキーワードに関する指定入力をクライアント50から受け付ける。また、送信部74aは、キーワード検索の検索結果をクライアント50に送信する。
格納部75は、不揮発性の半導体メモリ等の記憶装置で構成される。格納部75には、たとえば、クライアント30から送信されてきた電子文書(PDLデータ等)が格納される。
また、サーバ70は、そのCPU(コントローラ)79において、格納部75内に格納されている所定のプログラムを実行することによって、各種の処理部を実現する。なお、当該プログラムは、たとえば各種の可搬性の記録媒体(USBメモリ等)に記録され、当該記録媒体を介してサーバ70にインストールされればよい。あるいは当該プログラムは、ネットワーク等を介してダウンロードされてサーバ70にインストールされるようにしてもよい。
具体的には、サーバ70のCPU79は、プログラム(検索アプリケーション等)の実行によって、検索部81と取得部(指標値算出部)82と決定部83とリスト生成部84と画像生成部85とを含む各種の処理部を実現する。
検索部81は、ユーザの指定入力に基づくキーワード検索(検索処理)を実行する処理部である。
取得部82は、テキストオブジェクトの属性の希少性を示す指標値(後述)を取得(詳細には算出)する処理部である。
決定部83は、当該指標値に基づいて各テキストオブジェクトの重要度を決定する処理部である。
リスト生成部84は、後述する検索結果リストを生成する処理部である。たとえば、リスト生成部84は、キーワード検索にて1又は複数の電子文書の中から検索された少なくとも1つのテキストオブジェクトを含む各ページを当該各ページの重要度に応じて整列させたリストを生成する。
画像生成部85は、検索されたキーワードを含むページ画像等を生成する処理部である。画像生成部85は、たとえば、当該リストを参照したユーザから特定ページの表示指示が付与されると、当該表示指示に応答して特定ページを含むサムネイル画像を生成する。
<1−6.動作概要>
図6および図7は、検索システム1における動作の概要を示す図である。
上述のように、検索システム1においては、印刷実行ユーザU1による印刷出力操作に応じて、クライアント30(印刷指示装置)からサーバ70へとPDLデータ(電子文書)が送信され、当該サーバ70にて当該PDLデータ(電子文書)が格納されている(図6のステップS1,S3,S5参照)。
その後、サーバ70は、クライアント50(検索指示装置)からのキーワード検索指示(キーワード検索を行うべき旨の指示)に応じて、ユーザU1によって指定されたキーワードに係るテキストオブジェクトを検索する(図7のステップS21〜S23)。そして、その検索結果が、クライアント50に送信され(ステップS24)当該クライアント50にて表示される(ステップS25)。
以下では、サーバ70での検索処理を中心に更に詳細に説明する。
<1−7.詳細動作1(文書生成〜文書格納)>
まず、前半の処理、具体的には、サーバ70への電子文書(電子データ)格納処理等(ステップS1〜S5(図6))について説明する。
図6のステップS1において、クライアント30(印刷指示装置)は、印刷実行ユーザU1による印刷出力指示操作に応じて、印刷対象文書の印刷用データ(PDLデータ)を生成する。より詳細には、印刷実行ユーザU1が、或るアプリケーションにて印刷操作を実行すると、当該アプリケーションからプリンタドライバが呼び出される。当該プリンタドライバは、印刷対象文書の印刷用データ(PDLデータ)を生成する。印刷用データ(PDLデータ)の形式としては、PCL(Printer Command Language)、XPS(XML Paper Specification)、ポストスクリプト(PostScript)などの各種の形式が例示される。
当該印刷用データは、MFP10に送信される(ステップS2)。MFP10は、受信した印刷用データに基づいて印刷出力を実行する。
当該印刷用データは、サーバ70にも送信される(ステップS3)。クライアント30は、サーバ70に対して、印刷対象文書の印刷用データ(PDLデータ)とともに当該印刷対象文書の文書名情報をも送信する。
サーバ70は、印刷用データ(PDLデータ)および文書名情報を受信すると、当該印刷用データを文書名情報に関連づけて格納部75に格納する(ステップS5)。
このようにして、印刷用データがサーバ70に格納される。
なお、このような格納処理が繰り返されることによって、サーバ70には、印刷された複数の文書に関する印刷用データ(複数の電子文書データ)が蓄積される。また、サーバ70は、文書蓄積装置であるとも表現される。
<属性情報(文字色/フォント種類)>
この第1実施形態においては、PDL(ページ記述言語)で記述された印刷用データが検索対象の文書である場合が例示される。
この印刷用データ(PDLデータ)においては、複数のテキストオブジェクト(文字)が含まれている。また、印刷用データにおいては、当該複数のテキストオブジェクトのそれぞれについてその属性が規定されている。ここでは、各テキストオブジェクトの属性として、各テキストオブジェクトの「色属性」と各テキストオブジェクトの「フォント属性」とが規定されているものとする。なお、これに限定されず、各テキストオブジェクトの属性としては、「色属性」と「フォント属性」との一方のみが規定されていてもよい。あるいは、他の属性が規定されていてもよい。
「色属性」は、各文字の「色」に関する属性情報である。たとえば、各文字の色(「黒色」および「灰色」(淡色)など)の情報が色属性情報として規定されている。
また、「フォント属性」は、各文字の「フォント」に関する属性情報である。たとえば、各文字のフォントの種類(「ゴシック体」および「明朝体」等)の情報および/またはフォントのスタイル(「太字体」および「斜体」等)の情報等がフォント属性として規定されている。なお、フォント属性としては、フォント種類とフォントスタイルとが組み合わせられて1つの属性として取り扱われてもよく、あるいは、フォント種類とフォントスタイルとがそれぞれ別個の属性として取り扱われてもよい。換言すれば、フォント属性は、フォント種類とフォントスタイルとのうちの少なくとも1つで表現される属性である。
<1−8.詳細動作2(検索開始〜検索結果表示)>
つぎに、後半の処理、具体的には、サーバ(検索装置)70における検索処理等(ステップS21〜S25(図7))について図7および図8を参照しつつ説明する。なお、図8は、サーバ70の動作を示すフローチャートである。
<検索指示等>
まず、ステップS21(図7参照)において、クライアント50(検索指示装置)は、キーワード検索指示(キーワード検索を行うべき旨の指示)を検索ユーザU2から受け付ける。
詳細には、クライアント50は、ウエブブラウザを用いて、サーバ70の検索サービス提供用のウエブページにアクセスし、サーバ70から返信されてくる検索用のホームページ画面を表示する。検索ユーザU2は、当該ホームページ画面から「検索コマンド」を選択する。クライアント50のウエブブラウザは、当該検索コマンドが選択された旨をサーバ70に送信し、サーバ70から検索画面の表示用データを受信する。そして、当該表示用データに基づいて、検索画面410(図9)がクライアント50に表示部に表示される。
図9に示されるように、検索画面410は、検索キーワードの入力欄411と、検索条件に関する閾値指定欄412,413とを有している。また、検索画面410は、検索実行ボタン415をも有している。
検索キーワードの入力欄411は、検索対象のキーワードを指定するための入力欄である。また、閾値指定欄412は、明度差の最低値(閾値)TH1を指定するための入力欄であり、閾値指定欄413は、フォントサイズの最低値(閾値)TH2を指定するための入力欄である。なお、閾値指定欄412,413にはデフォルト値(「125」、「10」)がそれぞれ予め入力されて表示されている。
検索ユーザU2は、入力欄411に所望のキーワード(たとえば、「TOKYO」)を入力するとともに、閾値の変更を希望する場合には閾値指定欄412,413の値を変更する。そして、検索ユーザU2は、検索実行ボタン415を押下する。
検索実行ボタン415が検索ユーザU2によって押下されると、クライアント50(詳細にはウエブブラウザ)は、キーワード検索指示および指定キーワード(検索ユーザU2によって指定入力されたキーワード)をサーバ70に転送する(ステップS22)。また、閾値TH1,TH2に関する情報も併せて、クライアント50からサーバ70へと送信される。
ステップS23において、サーバ70は、当該キーワード検索指示に応答して、サーバ70に格納される複数の電子文書を検索対象として、当該指定キーワードに係るテキストオブジェクトを検索する。以下、図8のフローチャートを参照しながら、サーバ70の動作(ステップS23)について更に詳細に説明する。
<検索開始>
ステップS31において、サーバ70は、クライアント50からの情報(キーワード検索指示、指定キーワード(「TOKYO」等)および閾値TH1,TH2等)を受信すると、ステップS32において、サーバ70は、当該指定キーワードに関する検索処理を開始する。具体的には、まず、サーバ70は、検索対象の1又は複数の電子文書(PDLデータ)の複数のテキストオブジェクトの中から、指定キーワード(検索キーワードとも称する)を含むテキストオブジェクトを抽出する。すなわち、キーワード抽出処理が実行される。
図10および図11は、検索キーワードを含むテキストオブジェクトが抽出された2つの文書を示す図である。図10は、検索キーワードが抽出された第1の文書D1を示す図であり、図11は、検索キーワードが抽出された第2の文書D2を示す図である。たとえば、図10および図11に示されるように、複数の電子文書(PDLデータ)の中から、7つのテキストオブジェクト「TOKYO」が、キーワード検索の検索結果(暫定結果)として抽出される。
詳細には、図10に示されるように、文書名「TOKYO.prn」を有し且つ2つのページで構成される第1の電子文書(PDLデータ)D1において、3つのテキストオブジェクト「TOKYO」が抽出される。より詳細には、第1頁第1行の「TOKYO」と、第1頁第4行の「TOKYO」と、第2頁第1行の「TOKYO」とが抽出される。
また、図11に示されるように、文書名「OLYMPICS.prn」を有し且つ3つのページで構成される第2の電子文書(PDLデータ)D2において、4つのテキストオブジェクト「TOKYO」が抽出される。より詳細には、第1頁第2行の「TOKYO」と、第1頁第4行の「TOKYO」と、、第1頁第7行の「TOKYO」と、第2頁第3行の「TOKYO」とが抽出される。
<絞込処理>
つぎに、ステッS33において、サーバ70は、複数のテキストオブジェクトの中から、その重要度が所定程度以下であると判定されるテキストオブジェクトを検索結果から除外する。端的に言えば、除外条件に該当するテキストオブジェクトが検索結果から除外され、検索結果が絞り込まれる。
具体的には、当該複数のテキストオブジェクトのうち、そのフォントサイズが閾値(フォントサイズの最低値)TH2よりも小さなテキストオブジェクト(端的に言えば、目立たないテキストオブジェクト)は、検索結果から除外される。所定程度よりも小さな文字で書かれた文字列で表現される情報の重要度は、それほど高くないことが多いからである。
また、その文字列の明度と当該文字列の背景の明度との差(明度差とも称する)が所定の閾値TH1よりも小さなテキストオブジェクトも、検索結果から除外される。端的に言えば、閾値TH1よりも小さな明度差を有するテキストオブジェクト(目立たないテキストオブジェクト)も、検索結果から除外される。背景との明度差が小さな文字で書かれた文字列(たとえば、白色の背景に薄い黄色(あるいは淡い灰色)で記載された文字列等)で表現される情報の重要度は、それほど高くないことが多いからである。
当該明度差は、評価対象のテキストオブジェクトの文字列の明度Cbと当該文字列の背景の明度Cbとの差(詳細にはその絶対値)である。それぞれの明度Cbとしては、たとえば、W3C(WORLD WIDE WEB CONSORTIUM )が提唱する次式(1)の値("Color brightness")(Cbとも表記する)が用いられればよい。
なお、値Rは、8ビットで表現されるR(赤色)成分値(0〜255の値)である。同様に、値Gは、8ビットで表現されるG(緑色)成分値(0〜255の値)であり、値Bは、8ビットで表現されるB(青色)成分値(0〜255の値)である。
このように、2つの除外条件(フォントサイズに関する条件、および明度差に関する条件)のいずれかに該当するテキストオブジェクトは、検索結果から除外される。
なお、図10および図11の例では、抽出された7つのテキストオブジェクト「TOKYO」は、当該2つの除外条件のいずれにも該当せず、いずれのテキストオブジェクトもも検索結果から除外されない。
<各テキストオブジェクトの重要度評価>
次に、サーバ70は、検索結果として抽出されたテキストオブジェクト(詳細には、上述の絞込処理後のテキストオブジェクト)のそれぞれに対して、指標値V(次述)を算出する(ステップS34,S35)。
指標値Vは、評価対象のテキストオブジェクトの属性の希少性(単位領域内における希少性)を示す指標値である。
この実施形態では、指標値Vは、次式(2)〜(4)に基づいて算出される。指標値Vは、値N1,N2,Zに基づく評価値である。
ここで、値N1は、評価対象のテキストオブジェクトの色属性と同じ色属性を有するテキストオブジェクトの単位領域内における文字数である。値N2は、評価対象のテキストオブジェクトのフォント属性と同じフォント属性を有するテキストオブジェクトの単位領域内における文字数である。また、値Zは、評価対象のテキストオブジェクトが含まれる単位領域内の全文字数である。この実施形態では、単位領域として、(各電子文書の)「ページ」を採用する。
ここにおいて、値V1は、単位領域内において或る色属性(たとえば、「灰色」あるいは「黒色」)を有する文字列の文字数N1の全文字列数Zに対する割合(N1/Z)、の逆数である。単位領域内において当該色属性を有する文字列の文字数N1が少なくなるにつれて、当該値V1は大きな値になる。したがって、値V1は、単位領域内における当該色属性の文字列の希少性を示している値である、とも言える。詳細には、当該値V1が大きくなるほど、希少性が高くなると判断される。
同様に、値V2は、単位領域内において或るフォント属性(たとえば、「ゴシック体且つ斜体」、「ゴシック体且つ通常体」、あるいは「明朝体且つ太字体」等)を有する文字列の文字数N2の全文字列数Zに対する割合(N2/Z)、の逆数である。単位領域内において当該フォント属性を有する文字列の文字数N2が少なくなるにつれて、当該値V2は大きな値になる。したがって、値V2は、単位領域内における当該フォント属性の文字列の希少性を示している値である、とも言える。詳細には、当該値V2が大きくなるほど、希少性が高くなると判断される。
また、指標値Vは、値V1と値V2との積である。したがって、単位領域内において或るテキストオブジェクトの属性と同じ属性を有する文字列の数が少なくなるにつれて、指標値Vは大きな値になる。したがって、指標値Vは、単位領域内における当該属性(評価対象のテキストオブジェクトの属性と同じ属性)の文字列の希少性を示している値である、とも言える。詳細には、当該値Vが大きくなるほど、希少性が高くなると判断される。
なお、ここでは、値V1は値(N1/Z)の逆数として定義されているが、これに限定されず、値V1は値(N1/Z)自体であってもよい。同様に、値V2は値(N2/Z)自体であってもよい。その場合には、当該値V1,V2(ひいては値V)が小さくなるほど、希少性が高くなると判断されればよい。
また、この実施形態においては、「ページ」を単位領域として指標値Vが算出されている。したがって、評価対象のテキストオブジェクトの重要度を、「ページ」単位での局所的な基準で判定することが可能である。特に、評価対象のテキストオブジェクトが含まれているページ以外のページに関する情報(文字数等)を考慮することを要しないので、比較的高速に指標値Vを算出することが可能である。
さて、指標値Vの算出に際して、サーバ70は、まずステップS34において、評価対象のテキストオブジェクト(ここでは7つのテキストオブジェクトの各文字列211〜217)が含まれる各ページのデータ(PDLデータ)を解析して、次のような準備情報を取得する。具体的には、準備情報として、各テキストオブジェクトに関して、上述の値Z,N1,N2を取得する。
サーバ70は、評価対象のテキストオブジェクトを含む各ページの全文字数Zをそれぞれ計数して取得する。なお、ここでは、評価対象の7つのテキストオブジェクトは、4つのページ(電子文書D1の第1頁および第2頁、ならびに電子文書D2の第1頁および第2頁)に含まれる。図12、図15、図17および図21には、7つのテキストオブジェクト(文字列211〜217)が示されている。なお、図12は、文書D1の第1ページを示す図であり、図15は、文書D1の第2ページを示す図である。また、図17は、文書D2の第1ページを示す図であり、図21は、文書D2の第2ページを示す図である。
たとえば、文字列211(図12)は電子文書D1の第1頁に含まれるので、文字列211を含むテキストオブジェクトに関しては、電子文書D1の第1頁の全文字数(「55文字」)が値Zとして取得される(図13参照)。文字列212に関しても、電子文書D1の第1頁の全文字数(「55文字」)が値Zとして取得される(図14参照)。
同様にして、文字列213(図15)に関しては、電子文書D1の第2頁の全文字数(「77文字」)が値Zとして取得される(図16参照)。また、文字列214〜216(図17)に関しては、それぞれ、電子文書D2の第1頁の全文字数(「117文字」)が値Zとして取得される(図18〜図20参照)。さらに、文字列217(図21)に関しては、電子文書D2の第2頁の全文字数(「73文字」)が値Zとして取得される(図22参照)。
また、サーバ70は、評価対象のテキストオブジェクトの属性と同じ属性を有するテキストオブジェクトの同一ページ内における文字数を計数して取得する。より詳細には、各テキストオブジェクトについて、上述の値N1,N2を求める。値N1は、評価対象のテキストオブジェクトの色属性と同じ色属性を有するテキストオブジェクトの単位領域内における文字数である。また、値N2は、評価対象のテキストオブジェクトのフォント属性と同じフォント属性を有するテキストオブジェクトの単位領域内における文字数である。
たとえば、文字列211(図12参照)を含むテキストオブジェクトに関しては、当該テキストオブジェクトの色属性(「黒色」)と同じ色属性を有するテキストオブジェクトの単位領域内における文字数(「55文字」)が、値N1として取得される(図13参照)。また、評価対象のテキストオブジェクトのフォント属性(「ゴシック体且つ通常体」)と同じフォント属性を有するテキストオブジェクトの単位領域内における文字数(「55文字」)が、値N2として取得される。
また、文字列214(図17参照)を含むテキストオブジェクトに関しては、当該テキストオブジェクトの色属性(「黒色」)と同じ色属性を有するテキストオブジェクトの単位領域内における文字数(「23文字」)が、値N1として取得される(図18参照)。また、評価対象のテキストオブジェクトのフォント属性(「ゴシック体且つ斜体」)と同じフォント属性を有するテキストオブジェクトの単位領域内における文字数(「7文字」)が、値N2として取得される。
また、文字列215(図17参照)を含むテキストオブジェクトに関しては、当該テキストオブジェクトの色属性(「灰色」)と同じ色属性を有するテキストオブジェクトの単位領域内における文字数(「94文字」)が、値N1として取得される(図19参照)。また、評価対象のテキストオブジェクトのフォント属性(「ゴシック体且つ通常体」)と同じフォント属性を有するテキストオブジェクトの単位領域内における文字数(「110文字」)が、値N2として取得される。
他のテキストオブジェクト(他の文字列212,213,226,227)についても、同様にして、各値N1,N2が求められる。
そして、ステップS35において、上述の式(2)〜(4)に基づいて、各テキストオブジェクトに関する指標値Vがそれぞれ算出される。
たとえば、文字列211(図12参照)を含むテキストオブジェクトに関しては、図13に示すように指標値V(「1.0」)が算出される。詳細には、Z=55,N1=55,N2=55、であることに基づいて、値V1は、「55/55」であり、値V2は、「55/55」である。したがって、「1.0」(=(55/55)*(55/55))が指標値Vとして算出される。
文字列212(図12参照)を含むテキストオブジェクトに関しても、同様に、値Vは、「1.0」(=(55/55)*(55/55))として算出される(図14参照)。
また、文字列213(図15参照)を含むテキストオブジェクトに関しては、図16に示すように指標値V(「15.4」)が算出される。詳細には、Z=77,N1=5,N2=77、であることに基づいて、値V1は、「77/5」であり、値V2は、「77/77」である。したがって、「15.4」(=(77/5)*(77/77))が指標値Vとして算出される。
また、文字列214(図17参照)を含むテキストオブジェクトに関しては、図18に示すように指標値V(「85.0」)が算出される。詳細には、Z=117,N1=23,N2=7、であることに基づいて、値V1は、「117/23」であり、値V2は、「117/7」である。したがって、「85.0」(=(117/23)*(117/7))が指標値Vとして算出される。
同様に、文字列215(図17参照)を含むテキストオブジェクトに関しては、図19に示すように指標値V(「1.3」)が算出される。詳細には、Z=117,N1=94,N2=110、であることに基づいて、値V1は、「117/94」であり、値V2は、「117/110」である。したがって、「1.3」(=(117/94)*(117/110))が指標値Vとして算出される。
同様に、文字列216(図17参照)を含むテキストオブジェクトに関しては、図20に示すように指標値V(「5.4)が算出される。詳細には、Z=117,N1=23,N2=110、であることに基づいて、値V1は、「117/23」であり、値V2は、「117/110」である。したがって、「5.4」(=(117/23)*(117/110))が指標値Vとして算出される。
さらに、文字列217(図21参照)を含むテキストオブジェクトに関しては、図22に示すように指標値V(「1.8)が算出される。詳細には、Z=73,N1=73,N2=41、であることに基づいて、値V1は、「73/73」であり、値V2は、「73/41」である。したがって、「1.8」(=(73/73)*(73/41))が指標値Vとして算出される。
なお、図23は、各テキストオブジェクト(各文字列211〜217)の指標値Vをリスト形式で示す図である。
以上のようにして、評価対象の各テキストオブジェクトの属性の希少性を示す指標値Vが算出(取得)される。
また、各テキストオブジェクトの各指標値Vに基づいて、各テキストオブジェクトの重要度がそれぞれ決定される。ここでは、各指標値V自体が、各テキストオブジェクトの重要度として決定される。各テキストオブジェクトの重要度は、各テキストオブジェクトの属性の希少性(単位領域における希少性)を示す指標値Vに基づいて決定される。より詳細には、比較的高い希少性を有するテキストオブジェクトが比較的高い重要度を有する旨が判定される。換言すれば、単位領域内で希少な属性を有するテキストオブジェクト(他とは異なる外観を有するテキストオブジェクト(端的に言えば、目立つオブジェクト))が高い重要度を有する旨、が判定される。
<ページの重要度評価>
次に、ステップS36において、サーバ70は、評価対象の各テキストオブジェクトが所属する各ページの重要度を決定する。
基本的には、評価対象の各テキストオブジェクトが所属するページの重要度は、当該テキストオブジェクトの指標値V(重要度)と同じ値に決定される。ただし、同一ページ内に複数のテキストオブジェクトが存在する場合には、当該複数のテキストオブジェクトに関する複数の指標値Vのうち最も高い値が、当該ページの重要度として決定される。
このように、或る単位領域(ここでは或る「ページ」)内で最も高い重要度を有するテキストオブジェクト(文字列)の重要度が、当該単位領域の重要度として決定される。
図24は、各ページの重要度の算出結果を示す図である。図23と比較すると判るように、文書D1の第1頁の重要度としては、2つの文字列211,212に関する2つの指標値Vのうち比較的高い方の指標値(ここでは同一の値)「1.0」が決定される。また、文書D1の第2頁の重要度としては、文字列213に関する指標値V「15.4」が決定される。また、文書D2の第1頁の重要度としては、3つの文字列214,215,216に関する3つの指標値Vのうち最も高い指標値V「85.0」が決定される。さらに、文書D2の第2頁の重要度としては、文字列217に関する指標値V「1.8」が決定される。
<リスト生成>
次に、サーバ70は、ステップS37において、検索結果リスト610を生成する。検索結果リスト610は、ステップS32のキーワード抽出処理(キーワード検索処理)にて検索された少なくとも1つのテキストオブジェクトを含む各ページを当該各ページの重要度に応じて整列させたリストである(図25参照)。
また、サーバ70は、当該検索結果リスト610の画像データ(表示用データ)を(ソフトウエアRIP等によって)生成する。
次のステップS38において、サーバ70は、当該画像データ等を含むウエブページデータ(検索結果リスト610の表示用データ)を、検索結果としてクライアント50に送信する。
<検索結果表示>
再び図7を参照する。
クライアント50は、サーバ70から検索結果(画像データ等を含むウエブページデータ)を受信する(ステップS24)と、受信した検索結果を表示する(ステップS25)。具体的には、当該ウエブページデータに基づく検索結果リスト610(図5)が表示部56に表示される(ステップS25)。
図25の検索結果リスト610においては、7つのテキストオブジェクトが所属する4つのページが、その重要度の降順に、最上行(No.1)から最下行(No.4)へ向けて配列されている。また、検索結果リスト610の各行(各段)においては、文書名、ページ番号、重要度(指標値V)、画像表示指示ボタン620が表示されている。
具体的には、最も高い重要度「85.0」を有するページ(文書D2の第1頁)が最上段(最上行)に表示されている。また、次順位の重要度「15.4」を有するページ(文書D1の第2頁)が上から2段目に表示されている。さらに、その次の順位の重要度「1.8」を有するページ(文書D2の第2頁)が上から3段目に表示されている。そして、最も低い重要度「1.0」を有するページ(文書D1の第1頁)が最下段に表示されている。
検索結果リスト610において、各行に対応する画像表示指示ボタン620(621〜624)の中から所望のボタン(たとえば、ボタン621)が検索ユーザU2によって押下されると、クライアント50は、押下されたボタン620に対応するページ画像の送信指示をサーバ70に対して送信する。
サーバ70は、当該送信指示に応答して、対応ページの画像(ページ画像)の画像データを生成するとともに、当該画像データを含むウエブページデータをクライアント50に送信する。クライアント50は、当該ウエブページデータを受信すると、当該ウエブページデータに基づいて、対応ページ画像の表示画面710(図26参照)を表示する。
図26においては、ボタン621の押下に応じて、文書D2の第1頁(最も高い重要度を有するページ)が表示された様子が示されている。
なお、当該ページ内での検索キーワードは、強調表示(たとえば、特定色でマーキングされて表示(黄色マーキング表示等))されるようにしてもよい。
このようにして、検索ユーザU2は、検索結果を視認することができる。特に、重要度順に配列された検索結果リストを利用することによれば、検索ユーザU2は、複数の検索結果の中から、比較的高い重要度を有するページを比較的容易に閲覧することが可能である。
<1−9.実施形態の効果等>
ここにおいて、比較例に係る技術として、或る文字列の属性(色属性あるいはフォント属性)が特定の属性であるか否かのみに応じて、その文字列が重要であるか否かを判定する技術を想定する。
一般に、或る文書においては、通常の情報が或るフォント属性(たとえば明朝体)の文字で表示されており、比較的重要な情報が別のフォント属性(たとえば、ゴシック体)の文字で表示されていることがある。しかしながら、一方、別の文書においては、通常の情報が当該別のフォント属性(たとえばゴシック体)の文字で表示されており、比較的重要な情報が当該別のフォント属性とは異なるフォント属性(たとえば、明朝体あるいは更に別のフォント)の文字等で表示されていることもある。
したがって、或る文字列が特定のフォント属性(たとえば「ゴシック体」)を有しているか否かのみに応じて、その文字列が重要であるか否かを判定することは困難である。
同様に、或る文書においては、通常の情報が黒色文字で表示されており、重要な情報が別の色(たとえば赤色)の文字で表示されていることがある。しかしながら、一方、別の文書においては、通常の情報がグレー(灰色)で表示されており、重要な情報が別の色(たとえば黒色)の文字で表示されていることもある。
したがって、或る文字列が特定の色属性(たとえば赤色)を有しているか否かのみに応じて、その文字列が重要であるか否かを判定することは困難である。
このように、検出されたテキストオブジェクト(文字列)の属性(色属性および/またはフォント属性)が特定の属性であるか否かのみに応じて、当該テキストオブジェクトの重要性を判定することは困難である。換言すれば、電子文書から抽出された各テキストオブジェクトの重要度を適切に判定することは必ずしも容易ではない。
一方、上記実施形態によれば、ステップS35(図8)において、1又は複数の電子文書に関するキーワード検索にて検索された一のテキストオブジェクトの属性の希少性を示す指標値Vが取得され、当該指標値Vに基づいて当該一のテキストオブジェクトの重要度が決定される。指標値Vは、当該一のテキストオブジェクトが含まれる単位領域内の全文字数と、当該一のテキストオブジェクトの属性と同じ属性を有するテキストオブジェクトの単位領域内における文字数との対比に基づく指標値である。したがって、キーワード検索された文字列の重要度を適切に判定することが可能である。
特に、希少性を有する属性をユーザ等が予め指定しなくても、希少な属性が自動的に決定され、当該希少な属性に対応するテキストオブジェクトが比較的高い重要度を有するものとして検索される。したがって、ユーザは、高い重要度を有する情報に比較的容易にアクセスすることが可能である。また、様々な電子文書のそれぞれに対してユーザが個別に特定の属性を指定することを要しない。したがって、ユーザは、様々な電子文書に関して、重要な情報に比較的容易にアクセスすることが可能である。
また、上記実施形態における検索対象文書は、特異な形式(文書の章構造を規定した形式等)を有することを要さず、各文字の属性(色属性および/またはフォント属性等)を規定した一般的な形式を有するものであればよい。したがって、当該実施形態に係る検索技術は、比較的多様な形式の電子文書に適用され得る。
また、指標値Vは、キーワード検索された文字列の属性と同じ属性の文字列が単位領域に占める割合(詳細には、その逆数)に基づく比較的単純な計算式で算出されるので、各文字列の重要度を比較的容易に判定することが可能である。
また、指標値Vは、値V1と値V2とに基づく値である。値V1は、1又は複数の電子文書に関するキーワード検索にて検索された一のテキストオブジェクトの色属性と同じ色属性を有するテキストオブジェクトの単位領域内における文字数N1と、当該一のテキストオブジェクトが含まれる単位領域内の全文字数Zとの対比に基づく値である。また、値V2は、当該一のテキストオブジェクトのフォント属性と同じフォント属性を有するテキストオブジェクトの単位領域内における文字数N2と、当該単位領域内の全文字数Zとの対比に基づく値である。2種類の属性(色属性およびフォント属性)を用いることによれば、各テキストオブジェクト(文字列)の重要度をより適切に判定することが可能である。
さらに、上記実施形態においては、各テキストオブジェクトの重要度に基づいて各ページの重要度が決定される(ステップS36)。そして、検索結果リスト610においては、検索キーワードを含む複数のページがその重要度順にページ単位でリストアップされる(ステップS25)。したがって、検索ユーザU2は、重要な情報を含むページに対して比較的容易にアクセスすることが可能である。特に、検索ユーザが用語(キーワード)を調べる場合には、キーワードを含む文章をページ単位で閲覧することが便利であり、検索結果リスト610は、そのようなページ単位での閲覧に非常に好都合である。
また、目立たない文字列(フォントサイズが閾値TH2よりも小さな文字列、および/または背景との明度差が閾値TH1よりも小さな文字列)は、キーワード検索の検索結果から除外される。したがって、比較的重要性が低いと考えられる情報が検索結果から除外され、絞り込まれた比較的少数の検索結果(高品質の検索結果)がユーザに提供され得る。
また、各閾値TH1,TH2は、ユーザによって変更可能であるので、ユーザは、必要に応じて絞り込みの程度を適宜に調整することが可能である。
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下、第1実施形態との相違点を中心に説明する。
上記第1実施形態においては、検索結果がページ単位で表示されている(図25)が、これに限定されず、検索結果が文書単位で表示されてもよい。この第2実施形態では、このような態様について説明する。
この第2実施形態では、ページ単位の検索結果リスト610(図25参照)に代えて電子文書単位の検索結果リスト650(図27参照)が生成され(ステップS37)、クライアント50にて当該検索結果リスト650が表示される(ステップS25)。検索結果リスト650においては、キーワード検索にて複数の電子文書の中から検索された少なくとも1つのテキストオブジェクトを含む各電子文書が、当該各電子文書の重要度に応じて整列される。
具体的には、図8のステップS36において、各ページの重要度決定処理に加えて、各電子文書の重要度決定処理がさらに実行される。
ステップS36においては、まず第1実施形態と同様にして各ページの重要度決定処理が行われ、各ページの重要度の算出結果が得られる(図24参照)。この第2実施形態においては、ステップS36にて更に、抽出された各ページを含む複数の電子文書の重要度が算出される。詳細には、或る電子文書内で最も高い重要度を有するページの重要度が当該電子文書の重要度として決定される。
たとえば、図24に示すように、文書D1においては、2つのページに検索キーワードが含まれている。各ページの重要度は第1実施形態と同様にして決定される。具体的には、文書D1の第1頁の重要度は「1.0」であり、文書D1の第2頁の重要度は「15.4」である。そして、これらの情報に基づいて、文書D1の重要度は、これらのうち最も高い値である「15.4」に決定される。
同様に、文書D2においては、2つのページに検索キーワードが含まれている。各ページの重要度は第1実施形態と同様にして決定される。具体的には、文書D2の第1頁の重要度は「85.0」であり、文書D2の第2頁の重要度は「1.8」である。そして、これらの情報に基づいて、文書D1の重要度は、これらのうち最も高い値である「85.0」に決定される。
その後のステップS37において、サーバ70は、このような決定内容に基づいて、検索結果リスト650(図27)を生成する。なお、図27は、検索結果リスト650を示す図である。
また、ステップS38において、サーバ70は、検索結果リスト650の表示用データを、検索結果としてクライアント50に送信する。
そして、クライアント50は、検索結果リスト650の表示用データをサーバ70から受信する(ステップS24)と、受信した表示用データに基づいて検索結果リスト650を表示する(ステップS25)。
図27の検索結果リスト650においては、7つのテキストオブジェクトの所属先の2つの文書が、その重要度の降順に、上から下へ向けて配列されている。また、検索結果リスト650の各行(各段)においては、文書名、重要度(指標値V)、画像表示指示ボタン660が表示されている。
検索結果リスト650において、各行に対応する画像表示指示ボタン660(661、662)の中から所望のボタン(たとえば、ボタン661)が検索ユーザU2によって押下されると、クライアント50は、押下されたボタン(661)に対応する文書(D2)のページ画像の送信指示をサーバ70に対して送信する。
サーバ70は、当該送信指示に応答して、対応文書(たとえばD2)のページ画像の画像データを生成する。たとえば、当該文書D2内のページのうち最も高い重要度を有するページ(第1頁)が、最初の表示対象ページとして選択され、当該最初の表示対象ページのページ画像が生成される。そして、当該画像データを含むウエブページデータが、サーバ70からクライアント50に送信される。
クライアント50は、当該ウエブページデータを受信すると、当該ウエブページデータに基づいて、対応ページの画面710(図26参照)を表示する。換言すれば、ボタン621の押下に応じて、文書D2の第1頁(最も高い重要度を有するページ)のページ画像が最初の表示対象ページとして表示される。
このようにして、検索ユーザU2は、検索結果を視認することができる。特に、検索結果リスト650においては、検索キーワードを含む2以上(ここでは2つ)の電子文書が重要度順に整列されている。したがって、当該検索結果リスト650を利用することによれば、検索ユーザU2は、複数の検索結果の中から、比較的高い重要度を有する電子文書に対して比較的容易にアクセスすることが可能である。
なお、図26の画面710においては、ページ変更ボタン(「前ページ表示ボタン」および「次ページ表示ボタン」等)(不図示)が更に設けられてもよい。そして、ページ変更ボタンの押下に応じて、表示対象ページが(直前のページあるいは直後のページ等へと)更新されるようにしてもよい。また、検索キーワードを含む他のページへジャンプするためのページ変更ボタン(「次順位ページ表示ボタン」等)が更に設けられてもよい。当該次順位ページ表示ボタンの押下に応じて、表示対象ページが次順位ページ(その指標値Vが表示中ページの次に高いページ)に変更されるようにしてもよい。また、逆向きのページ変更を行うための「前順位ページ表示ボタン」等が設けられてもよい。
<3.第3実施形態>
第3実施形態は、第1実施形態等の変形例である。以下、第1実施形態との相違点を中心に説明する。
上記各実施形態においては、印刷出力用データ(PDLデータ)等が検索対象の電子文書として用いられているが、これに限定されない。他の形式のデータが検索対象の電子文書として用いられてもよい。
当該他の形式のデータとしては、各種の文書作成アプリケーションソフトウエアプログラム(以下、アプリケーションとも称する)によって生成されたものが例示される。より詳細には、ワードプロセッサアプリケーションで生成された文書データ、表計算アプリケーションで生成された文書データ、および/または、PDFデータ生成アプリケーションで生成されたPDFデータ(文書データ)などの各種のデータが例示される。また、当該他の形式のデータは、HTML文書作成アプリケーションによって生成されたHTML(HyperText Markup Language)形式のデータであってもよい。
図28は、第3実施形態の動作を示す図である。第3実施形態においては、図6の動作に代えて図28の動作が実行される。
具体的には、ステップS11において、クライアント30のデータ生成部31は、各種のアプリケーション向けの文書データを生成する。より詳細には、文書作成ユーザU3が各種の文書作成アプリケーション(ワードプロセッサアプリケーション等)を利用して、各種の形式の文書データを生成する。
そして、ステップS13において、クライアント30は、当該文書データをサーバ70に送信する。
さらに、ステップS15において、サーバ70は、クライアント30から受信した文書データを、その格納部75に格納する。
その後、各アプリケーションによって生成された文書データ(電子文書)を検索対象として、上記と同様の検索処理がサーバ70にて実行される。
ここにおいて、クライアント30によって生成される文書データは、たとえば、テキストオブジェクトとページ区切り情報と各テキストオブジェクトの色属性およびフォント属性とを有するデータであればよい。
<4.第4実施形態>
第4実施形態は、第1実施形態等の変形例である。以下、第1実施形態との相違点を中心に説明する。
上記各実施形態では、サーバ70がクライアント50から検索指示を受け付けた後に、上述のステップS34,S35(図8)を含む処理が実行されているが、これに限定されない。たとえば、ステップS34,S35を実行するための準備処理のうちの一部の処理(文字数計数処理)は、クライアント50からの検索指示がサーバ70によって受け付けられる前に予め行われていてもよい。第4実施形態では、このような態様について説明する。なお、当該一部の処理は、サーバ70で予め行われてもよいが、ここではクライアント30側で予め行われる場合について説明する。
図29は、第4実施形態の動作を示す図である。第4実施形態においては、図6の動作に代えて図29の動作が実行される。
具体的には、ステップS51,S52,S53は、図6のステップS1,S2,S4とそれぞれ同様である。
第3実施形態においては、ステップS51で生成されたPDLデータ(電子文書)に対する解析処理(文書解析処理)が、(検索処理の前に)クライアント30により予め実行される(ステップS54)。なお、当該文書解析処理(ステップS54)は、ステップS52,S53の後(直後等)に行われてもよいが、ステップS52,S53と並列的に実行されてもよい。
ステップS54においては、クライアント30(たとえばプリンタドライバ)は、ステップS51で生成された電子文書(PDLデータ)を解析することによって、当該電子文書に関する属性情報(属性データ)810を生成する。当該属性情報810は、当該電子文書に関して、その各単位領域(ここでは「ページ」)内の全文字数と、当該各単位領域内の色属性ごとの文字数と、当該各単位領域内のフォント属性ごとの文字数とを規定した情報である。当該属性情報は、各電子文書についてそれぞれ取得される。
たとえば、文書D2が作成される際には、文書D2の3つのページに関する属性情報810が取得される。
図30は、このような属性情報810を示す図である。
具体的には、文書D2に関して、第1頁の全文字数(「117」文字)と、第1頁内の色属性ごとの文字数(「黒色=23文字」、「灰色=94文字」)と、第1頁内のフォント属性ごとの文字数(「ゴシック体且つ通常体=110文字」、「ゴシック体且つ斜体=7文字」)とが取得され、属性情報810に規定される。なお、2つの色属性(「黒色」、「灰色」)と2つのフォント属性((「ゴシック体且つ通常体」、「ゴシック体且つ斜体」))とが第1頁に含まれる旨も、属性情報810に規定される。
また、文書D2に関して、第2頁の全文字数「73文字」と、第2頁内の色属性ごとの文字数(「黒色=73文字」)と、第2頁内のフォント属性ごとの文字数(「ゴシック体且つ通常体=32文字」、「ゴシック体且つ斜体=41文字」)とが取得され、属性情報810に規定される。なお、1つの色属性(「黒色」)と2つのフォント属性((「ゴシック体且つ通常体」、「ゴシック体且つ斜体」))とが第2頁に含まれる旨も、属性情報810に規定される。
さらに、文書D2に関して、第3頁の全文字数(「83文字」)と、第3頁内の色属性ごとの文字数(「黒色=83文字」)と、第3頁内のフォント属性ごとの文字数(「ゴシック体且つ通常体=83文字」)とが取得され、属性情報810に規定される。なお、1つの色属性(「黒色」)と1つのフォント属性((「ゴシック体且つ通常体」))とが第3頁に含まれる旨も、属性情報810に規定される。
そして、ステップS55において、クライアント30(たとえばプリンタドライバ)は、当該属性情報810とPDLデータとの双方を含む情報をサーバ70に送信する。なお、ここでは、クライアント30は、属性情報810の作成完了後に当該属性情報810とともにPDLデータを送信しているが、これに限定されず、属性情報810の作成完了前にPDLデータを先に送信しておいてもよい。
サーバ70は、これらの情報(PDLデータおよび属性情報810等)を受信すると、これらの情報を互いに関連付けてその格納部75に格納する(ステップS56)。換言すれば、格納部75には、電子文書(PDLデータ)のみならず、クライアント30(各電子文書の生成装置)で生成され当該クライアント30から予め受信された属性情報810(図30)もが格納される。
その後、検索処理が行われる際に、属性情報810が利用される。
第4実施形態においても、第1実施形態等と同様に、図7および図8の動作が行われる。ただし、図8のステップS34においては、第1実施形態とは異なる動作が行われ、非常に高速に各値Z,N1,N2が取得される。
具体的には、各テキストオブジェクト(各文字列221〜227)の指標値Vは、図30の属性情報810を利用して生成される。
ここで、属性情報810には、(クライアント30によって取得された)値Zが既に含まれているので、サーバ70は、値Zを計数することを要しない。
また、サーバ70は、属性情報810を利用することによって、改めて計数することなく値N1,N2をも取得することができる。
具体的には、サーバ70は、まず、評価対象の一のテキストオブジェクトの色属性と同じ色属性である一の色属性を特定する。そして、サーバ70は、属性情報810に基づいて、当該一の色属性を有するテキストオブジェクトの単位領域内における文字数N1を取得する。
また、サーバ70は、当該一のテキストオブジェクトのフォント属性と同じフォント属性である一のフォント属性を特定する。そして、サーバ70は、属性情報810に基づいて、当該一のフォント属性を有するテキストオブジェクトの単位領域内における文字数N2を取得する。
ここにおいて、属性情報810には、全ての色属性のテキストオブジェクトの文字数が単位領域ごとに(既に)規定されている。したがって、各文字列に対応する色属性が特定されると、当該特定された色属性に対応する文字数N1が、属性情報810に基づいて瞬時に取得される。
同様に、属性情報810には、全てのフォント属性のテキストオブジェクトの文字数が単位領域ごとに(既に)規定されている。したがって、各文字列に対応するフォント属性が特定されると、当該特定されたフォント属性に対応する文字数N2が、属性情報810に基づいて瞬時に取得される。
その後、第1実施形態と同様にして、図8のステップS35において、各テキストオブジェクトに対して、各値Z、N1,N2に基づき指標値Vが算出される。
また、ステップS36以降の処理も、第1実施形態と同様にして行われる。
以上のように、第4実施形態によれば、属性情報810に基づいて、各テキストオブジェクトの属性と同じ属性を有するテキストオブジェクトの単位領域内における文字数が瞬時に取得されるので、当該各テキストオブジェクトに関する指標値Vを比較的短時間で算出することが可能である。ひいては、検索時間を短縮することが可能である。このように、サーバ70に予め格納された属性情報810を利用することによって、サーバ70による検索時間を短縮することが可能である。
なお、ここでは、属性情報810は、色情報とフォント情報との双方を有しているが、これに限定されない。たとえば、属性情報810は、色情報とフォント情報との一方のみを有していてもよい。また、当該一方のみの情報に基づいて指標値Vが算出されてもよい。
<5.第5実施形態>
上記第4実施形態においては、クライアント30のプリンタドライバによって属性情報810が生成されているが、これに限定されない。たとえば、クライアント30にインストールされた他のプログラム(たとえば、文書送信アプリケーション)によって属性情報810が生成されてもよい。
第5実施形態では、このような態様を例示する。第5実施形態は、第3実施形態および第4実施形態の変形例であり、以下では、これらの実施形態との相違点を中心に説明する。
図31は、第5実施形態の動作を示す図である。第5実施形態においては、図28の動作に代えて図31の動作が実行される。
図28の動作(ステップS11,S13,S15)に加えて、文書解析動作(ステップS12)が、(検索処理の前に)クライアント30により予め実行される。ステップS12の動作は、第4実施形態の文書解析動作(図29のステップS54)と同様である。ただし、この第5実施形態においては、プリンタドライバではなく、文書送信アプリケーションによって、当該文書解析動作(ステップS54)が行われる。
ステップS12においては、クライアント30(文書送信アプリケーション)は、ステップS11で生成された電子文書を解析することによって、当該電子文書に関する属性情報(属性データ)810(図30)を生成する。
また、第5実施形態のステップS13においては、クライアント30は、当該属性情報810とPDLデータとの双方を含む情報をサーバ70に送信する。そして、サーバ70は、これらの情報(文書データおよび属性情報810等)を受信すると、これらの情報を互いに関連付けてその格納部75に格納する(ステップS15)。
その後、第4実施形態と同様の検索動作(図7および図8参照)が行われる。検索処理が行われる際には、属性情報810が利用される。
以上のような動作によれば、文書データ(ここでは、PDLデータ以外のデータ)に関する文書解析動作がクライアント30によって予め実行され、文書解析動作の解析結果に係る属性情報が生成される。そして、当該属性情報810がサーバ(検索装置)70によって利用されて、検索処理が行われる。したがって、第4実施形態と同様に、指標値Vを比較的短時間で算出することが可能である。ひいては、検索時間を短縮することが可能である。
なお、第5実施形態では、属性情報810がサーバ70に送信されているが、これに限定されず、属性情報810はサーバ70の管理下の装置(ファイルサーバ等)に送信されるようにしてもよい。第4実施形態に関しても同様である。
<6.第6実施形態>
上記各実施形態においては、ステップS25(図7)にて、キーワード検索結果を含む電子文書が1ページ単位で表示されている(図26参照)が、これに限定されない。
たとえば、キーワード検索結果を含む或る電子文書の複数のページ(特に全ページ)がサムネイル表示(図32参照)されるようにしてもよい。
より詳細には、上記第1実施形態のように特定ページの表示指示(ページ単位の表示指示)がサーバ70によって受信される場合であっても、特定ページの表示指示に応答して、当該特定ページ(一のページ)のみならず、他のページをも含む全てのページがサムネイル表示されてもよい。
あるいは、上記第2実施形態のように特定文書の表示指示(文書単位の表示指示)がサーバ70によって受信される場合に、特定文書の表示指示に応答して、当該特定文書内の一のページ(最高指標値Vを有するページ)のみならず、他のページをも含む全てのページがサムネイル表示されてもよい。
これによれば、検索対象のキーワードを含む電子文書において、当該キーワードに関連する記述箇所が複数のページに跨がっている場合等において、ページめくりしなくても当該記述箇所を閲覧することが可能である。
ただし、当該電子文書が多数のページを有する場合等においては、当該多数のページをサムネイル表示すると、各ページのサムネイル画像が小さくなり過ぎるなどのため、却って見難くなることもある。
そこで、この第6実施形態では、所定条件C1の成否に応じて、電子文書の全ページのサムネイル表示と電子文書の一のページの画像表示とを(自動的に)切り替える技術について説明する。
ここでは、次の条件C11,C12,C13の全てが成立する旨の条件を、条件C1として例示する。条件C11,C12,C13は次の通りである。
・条件C11:当該文書の全ページ数が所定値TH61(たとえば、「6」)以下であること、
・条件C12:当該文書の全ページについて、ページあたりの文字数が所定値TH62(たとえば、「1000」文字/ページ)以下であること、
・条件C13:当該文書内において、検索キーワードに該当する全テキストオブジェクトのフォントサイズが所定値TH63(たとえば、「10.5」ポイント)以上であること。
サーバ70は、ステップS37(図8)において、条件C1の成否を判定する。条件C1が成立しない場合には、サーバ70は、電子文書の特定の一のページのみのサムネイル画像を表示するための画像データを生成する。一方、条件C1が成立する場合には、サーバ70は、電子文書の全ページのサムネイル画像を表示するための画像データを生成する。なお、全ページのサムネイル表示においては、最高指標値Vを有するページ(たとえば、第1ページ(V=85.0))が強調表示(太線で囲まれる等)されるようにしてもよい。
そして、サーバ70は、生成した画像データ等をクライアント50に送信し(ステップS38)、クライアント50は、受信した画像データ等に基つき、検索結果リストをその表示部56に表示する(ステップS24,S25)。
条件C1が成立する場合には、クライアント50においては、電子文書の全ページのサムネイル画像が表示される。たとえば、図32に示すように、電子文書「OLYMPICS.prn」の全ページ(ここでは3ページ)のサムネイル画像(3枚のサムネイル画像)が表示される。
これによれば、検索キーワードに関連する記述箇所(特に、検索された4つのキーワードに関連する記述箇所)が電子文書の複数のページ(3ページ)に跨がっている場合において、ページめくり操作(表示対象ページの変更操作)を行わなくても当該記述箇所を閲覧することが可能である。
ここにおいて、上記第1実施形態のように特定ページの表示指示(ページ単位の表示指示)がサーバ70によって受信される場合には、特定ページ(一のページ)の表示指示に応答して、上述のような画像生成動作が行われればよい。
また、上記第2実施形態のように特定文書の表示指示(文書単位の表示指示)がサーバ70によって受信される場合にも、同様の改変を行うことが可能である。
たとえば、まず、サーバ70は、特定文書の表示指示に応答して、特定文書内の最高指標値Vを有する一のページをさらに特定する。そして、サーバ70は、当該一のページのサムネイル画像のみを表示するか、当該一のページを含む全ページの全サムネイル画像を表示するかを、所定の条件C1の成否に基づいて変更するようにしてもよい。
なお、上記実施形態においては、条件C11,C12,C13の全てが成立する旨の条件が条件C1として例示されているが、これに限定されない。たとえば、条件C13を考慮せず、2つの条件C11,C12の全てが成立する旨が条件C1として採用されてもよい。
<7.第7実施形態>
第7実施形態は、第1実施形態等の変形例である。以下、第1実施形態との相違点を中心に説明する。
上記各実施形態等においては、或るテキストオブジェクトに関する明度差が閾値TH1(TH11とも称する)よりも小さい場合に、当該テキストオブジェクトがキーワード検索の検索結果から除外されているが、これに限定されない。
この第7実施形態では、明度差に代えて、色差が用いられる。具体的には、或るテキストオブジェクトに関する色差が閾値TH12よりも小さい場合に、当該テキストオブジェクトがキーワード検索の検索結果から除外される。
ここで、色差は、評価対象のテキストオブジェクトの文字列の色(R1,G1,B1)と当該文字列の背景の色(R2,G2,B2)との差異を示す指標値である。当該色差としては、たとえば、W3C(WORLD WIDE WEB CONSORTIUM )が提唱する次式(5)の値("color difference")Cdが用いられればよい。当該値Cdは、両色のR,G,Bの各成分ごとの差分絶対値の和である。
なお、ここでは、明度差に代えて色差が用いているが、これに限定されず、コントラスト比が用いられてもよい。
具体的には、或るテキストオブジェクトに関するコントラスト比が閾値TH13よりも小さい場合に、当該テキストオブジェクトがキーワード検索の検索結果から除外されてもよい。
コントラスト比は、評価対象のテキストオブジェクトの文字列の相対輝度Lと当該文字列の背景の相対輝度Lとに関する比を示す指標値である。当該コントラスト比としては、たとえば、W3C(WORLD WIDE WEB CONSORTIUM )が提唱する次式(6)の値("contrast ratio")Crが用いられればよい。
ただし、相対輝度L1は、2つの相対輝度(評価対象のテキストオブジェクトの文字列の相対輝度L、および当該文字列の背景の相対輝度L)のうち明るい方の相対輝度Lであり、他方の相対輝度(暗い方の相対輝度)Lが相対輝度L2である。また、相対輝度は、次の式(7)で算出される値である。
また、各値R0,G0,B0は、次の式(8)〜(10)で算出される値である。
このように、色差あるいはコントラスト比等が考慮されて、検索結果の絞り込みが行われてもよい。
なお、明度差に関する閾値等がユーザによって変更可能である(図9参照)のと同様に、他の各閾値(色差に関する閾値、およびコントラスト比に関する閾値等)も、ユーザによって変更可能であることが好ましい。
また、当該絞り込みにあたっては、明度差、色差、コントラスト比のうちの1つの条件のみが考慮されてもよいが、これに限定されず、明度差、色差、コントラスト比のうちの2つ以上の条件(2つの条件あるいは3つ全ての条件)が考慮されてもよい。換言すれば、明度差、色差、コントラスト比のうちの少なくとも1つの条件が考慮されるようにしてもよい。
<8.第8実施形態>
上記各実施形態においては、単位領域が「ページ」である場合が例示されているが、これに限定されず、たとえば、単位領域は「文書」(全体)であってもよい。具体的には、「文書」を単位領域として、指標値Vが算出されてもよい。詳細には、単位領域として「文書(全体)」が採用されて、式(2)〜(4)における値Z,N1,N2が算出されればよい。より具体的には、評価対象のテキストオブジェクトの色属性と同じ色属性を有するテキストオブジェクトの「文書」内における文字数が、値N1として求められればよい。また、評価対象のテキストオブジェクトのフォント属性と同じフォント属性を有するテキストオブジェクトの「文書」内における文字数が、値N2として求められればよい。また、評価対象のテキストオブジェクトが含まれる「文書」内の全文字数が、値Zとして求められればよい。以下では、このような態様について説明する。
この第8実施形態は、第1実施形態等の変形例である。以下、第1実施形態との相違点を中心に説明する。
図33は、単位領域=「文書(全体)」の場合における、文字列211の指標値V等を示す図である。図33には、文書D1の全文字数Zは「132」文字であることが示されている。また、文書D1内において文字列211の色属性と同じ色属性(「黒色」)を有する文字数N1が「60文字」であること、および文書D1内において文字列211のフォント属性と同じフォント属性(「ゴシック体且つ通常体」)を有する文字数N2が「132文字」であることも示されている。そして、指標値Vが、「2.2」(=(132/60)*(132/132))であることも示されている。
同様に、文字列212,213の各指標値Vも、それぞれ「2.2」である。
図34は、単位領域=「文書(全体)」の場合における、文字列214の指標値V等を示す図である。図34には、文書D1の全文字数Zは「273」文字であることが示されている。また、文書D1内において文字列214の色属性と同じ色属性(「黒色」)を有する文字数N1が「179文字」であること、および文書D1内において文字列214のフォント属性と同じフォント属性(「ゴシック体且つ斜体」)を有する文字数N2が「48文字」であることも示されている。そして、指標値Vが、「8.7」(=(273/179)*(273/48))であることも示されている。
図35は、単位領域=「文書(全体)」の場合における、文字列215の指標値V等を示す図である。図35には、指標値Vが、「3.5」(=(273/94)*(273/225))であること等が示されている。
図36は、単位領域=「文書(全体)」の場合における、文字列216の指標値V等を示す図である。図36には、指標値Vが、「1.2」(=(273/179)*(273/225))であること等が示されている。
図37は、単位領域=「文書(全体)」の場合における、文字列217の指標値V等を示す図である。図37には、指標値Vが、「8.7」(=(273/179)*(273/48))であること等が示されている。
図38は、これらの情報を纏めて示す図である。このような指標値Vに基づいて各テキストオブジェクトの重要度を算出することによれば、評価対象のテキストオブジェクトの重要度を、文書全体を通じた基準で判定することが可能である。
その後、このようにして求められた各テキストオブジェクトの指標値Vに基づいて、第1実施形態と同様に、各ページの重要度が算出されればよい。そして、ページの重要度順に、各ページが配列された検索結果が示される等の動作が行われればよい。
また、第2実施形態と同様にして、各文書の重要度がさらに算出されるようにしてもよい。そして、文書の重要度順に、各文書が配列された検索結果が示される等の動作が行われるようにしてもよい。
<9.第9実施形態>
第9実施形態は、第1実施形態等の変形例である。以下、第1実施形態との相違点を中心に説明する。
上記各実施形態においては、「文字数」に基づいて指標値Vが算出されているが、これに限定されず、文字数に代えて「単語数(ワード数)」に基づいて指標値Vが算出されてもよい。具体的には、指標値Vの算出(式(2)〜(4)における値Z,N1,N2の算出)に際して、「文字数」が「単語数(ワード数)」に読み替えられればよい。
より詳細には、評価対象のテキストオブジェクトの色属性と同じ色属性を有するテキストオブジェクトの単位領域内における「単語数」が、値N1として求められればよい。また、評価対象のテキストオブジェクトのフォント属性と同じフォント属性を有するテキストオブジェクトの単位領域内における「単語数」が、値N2として求められればよい。また、評価対象のテキストオブジェクトが含まれる単位領域内の「全単語数」が、値Zとして求められればよい。端的に言えば、「単語数基準」で各値N1,N2,Zが求められればよい。
図39は、検索された7つのテキストオブジェクト(文字列211〜217)に関する各値Z,N1,N2,Vを纏めて示す図である。図39においては、「単位領域」として「ページ」が採用される場合の(単語数基準による)各値Z,N1,N2,Vが示されている。
たとえば、図39の上から4番目の行においては、文字列214に関する情報が記載されている。具体的には、文字列214が属するページ(電子文書D2の第1頁(図17))の全ワード(単語)数(「24ワード」)が値Zとして取得される。また、文字列214の色属性(「黒色」)と同じ色属性を有するテキストオブジェクトの単位領域(「ページ」)内における文字数(「5ワード」)が、値N1として取得される。また、評価対象のテキストオブジェクトのフォント属性(「ゴシック体且つ斜体」)と同じフォント属性を有するテキストオブジェクトの単位領域内(「ページ」)における文字数(「2ワード」)が、値N2として取得される。
このように、図39においては、文字列214に関して、値Zが「24」、値N1が「5」、値N2が「2」であることが示されている。
また、これらの値Z,N1,N2に基づく指標値Vが、「57.6」(=(24/5)*(24/2))であることも示されている。
その他の文字列211〜213,215〜217に関しても、それぞれの指標値V等が示されている。
その後、このようにして求められた各テキストオブジェクトの指標値Vに基づいて、第1実施形態と同様に、各ページの重要度が算出されればよい。そして、ページの重要度順に、各ページが配列された検索結果が示される等の動作が行われればよい(第1実施形態参照)。
また、第2実施形態と同様にして、各文書の重要度がさらに算出されるようにしてもよい。そして、文書の重要度順に、各文書が配列された検索結果が示される等の動作が行われるようにしてもよい。
なお、ここでは、「単位領域」として「ページ」が採用されて指標値Vが算出されているが、これに限定されない。たとえば、文字数に代えて「単語数(ワード数)」に基づいて指標値Vが算出される際においても、「単位領域」として「文書(全体)」が採用されて各値Z,N1,N2,Vが算出されるようにしてもよい。
<10.その他>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
たとえば、上記各実施形態等においては、或るクライアント30からサーバ70へと送信された複数の電子文書を検索対象としてキーワード検索等が行われているが、これに限定されず、複数のクライアント30等からサーバ70へと送信された複数の電子文書を検索対象としてキーワード検索等が行われてもよい。
また、上記各実施形態等においては、複数の電子文書を検索対象としてキーワード検索等が行われているが、これに限定されず、単一の電子文書のみを検索対象としてキーワード検索等が行われてもよい。
また、上記各実施形態においては、サーバ70内に電子文書が蓄積される態様が例示されているが、これに限定されない。サーバ70とは異なる装置(別のサーバ等)に電子文書が蓄積されてもよい。より詳細には、サーバ70(社内サーバ)が社内に配置されるとともに、電子文書がクラウドサーバに格納(蓄積)され、当該社内サーバ70がクラウドサーバ内の複数の電子文書を対象にして上述のような検索処理が実行されるようにしてもよい。
また、上記各実施形態等においては、所定の条件(フォントサイズおよび明度差等に関する条件)を充足するテキストオブジェクトは、絞り込み処理によって検索結果から除外されているが、これに限定されない。たとえば、所定の条件(フォントサイズおよび明度差等に関する条件)を充足するテキストオブジェクトは、絞り込み処理(ステップS33)によって検索結果から除外されずに、当該テキストオブジェクトの重要度が低減されてもよい。
詳細には、一のテキストオブジェクトのフォントサイズが閾値よりも小さい場合には、当該フォントサイズが閾値よりも大きい場合に比べて、当該一のテキストオブジェクトの重要度がβ倍(β<1)(たとえば、β=1/2=0.5)に低減されるようにしてもよい(ステップS35)。換言すれば、当該指標値Vに値βを乗じた値(指標値Vを低減した値)が当該一のテキストオブジェクトの重要度として決定されるようにしてもよい。
同様に、一のテキストオブジェクトとその背景との差異(たとえば、明度差、色差、およびコントラスト比のうちの少なくとも1つ)が所定程度よりも小さい旨の条件が成立する場合には、当該条件が成立しない場合に比べて、当該一のテキストオブジェクトの重要度が低減されるようにしてもよい(ステップS35)。より詳細には、当該差異が、対応する閾値(TH11,TH12,TH13)よりも小さい場合には、当該一のテキストオブジェクトの重要度がβ倍(β<1)(たとえば、β=1/2)に低減されるようにしてもよい。
なお、一のテキストオブジェクトのフォントサイズが閾値よりも小さく且つ当該一のテキストオブジェクトとその背景との差異(明度差等)が所定程度よりも小さい場合には、当該一のテキストオブジェクトの重要度がさらに小さな値(たとえば、(β×β)倍(たとえば、1/4)に低減されるようにしてもよい。
また、上記各実施形態等においては、各電子文書には「ページ区切り情報」も含まれているが、これに限定されない。たとえば、単位領域が「文書」であるとき等においては、ページ区切り情報は含まれていなくてもよい。