(57)【要約】【課題】検索キーとして指定した文字列を含む文の検索において、検索された文の出力順を調整することにより、使用者の利便性を向上させる。【解決手段】検索キーを取得する受け付け部１１０と、検索対象の文書に含まれる各文の重要度を算出する重要度計算部１３０と、受け付け部１１０により取得された検索キーに基づき、検索対象の文書から検索キーを含む文を抽出し、抽出された文の文書における位置の情報を取得する文書処理部１２０と、この文書処理部１２０により抽出された各文に関して、文書処理部１２０により得られた検索対象の文書中における文の位置に基づき、重要度計算部１３０により算出された文の重要度の値を修正して修正重要度を算出する検索結果処理部１４０と、この修正重要度に基づく順番にしたがって、文書処理部１２０により抽出された文を出力する表示制御部１５０と、を備える。【選択図】図１
2014241034.tif 000002
【特許請求の範囲】
【請求項１】
文書中に含まれる特定の文を検索して出力する装置であって、
検索対象の文書の検索に用いられる検索キーを取得する検索キー取得部と、
検索対象の文書に含まれる各文の重要度を算出する重要度計算部と、
前記検索キー取得部により取得された検索キーを用いて検索対象の文書に対して検索を行い、検索対象の当該文書から当該検索キーを含む文を抽出し、抽出された当該文の当該文書における位置の情報を取得する抽出部と、
前記抽出部により抽出された各文に関して、当該抽出部により得られた検索対象の前記文書中における当該文の位置に基づき、前記重要度計算部により算出された当該文の重要度の値を修正して修正重要度を算出する重要度修正部と、
前記重要度修正部により算出された修正重要度に基づく順番にしたがって、前記抽出部により抽出された文を出力する検索結果出力部と、
を備える、装置。
【請求項２】
前記重要度計算部は、検索対象の前記文書に含まれる各文に対して、当該文に含まれる単語の当該文書全体における出現数に基づき、重要度を算出する、請求項１に記載の装置。
【請求項３】
前記重要度修正部は、前記重要度計算部により算出された各文の重要度に対して、検索対象の前記文書中における当該文の位置が前方であるほど大きい重み付けを行って修正する、請求項１または請求項２に記載の装置。
【請求項４】
前記検索キー取得部は、検索対象の前記文書に含まれる一の文の一部または全部を指定することによって特定された部分を検索キーとして取得し、
前記重要度修正部は、前記重要度計算部により算出された各文の重要度に対して、検索対象の前記文書中における当該文の位置が前記検索キーとして特定された部分を有する文に近いほど大きい重み付けを行って修正する、請求項１または請求項２に記載の装置。
【請求項５】
前記重要度計算部は、検索対象の前記文書に含まれる単語に関するtf-idf（term frequency-inverse document frequency）に基づいて、当該文書に含まれる各文の重要度を算出する、請求項１に記載の装置。
【請求項６】
文書中に含まれる特定の文を検索して出力する装置であって、
文書を表示する表示部と、
前記表示部に表示された文書における特定の部分の指定を受け付ける受け付け部と、
前記受け付け部により受け付けた前記文書における前記特定の部分を検索キーとして、当該文書に対して検索を行い、検索対象の当該文書から当該検索キーを含む文を抽出し、抽出された当該文の当該文書における位置の情報を取得する抽出部と、
前記表示部に表示された前記文書に含まれる各文に関して、当該文に含まれる単語の当該文書全体における出現数に基づいて求められた重要度と、前記抽出部により抽出された文に関する前記位置の情報とに基づいて、当該抽出部により抽出された文の表示順を決定する検索結果処理部と、
前記検索結果処理部により決定された表示順にしたがって、前記抽出部により抽出された文を前記表示部に表示させる表示制御部と、
を備える、装置。
【請求項７】
前記検索結果処理部は、前記抽出部により抽出された各文の重要度に対して、前記位置の情報に基づき、前記文書中における当該文の位置が前方であるほど大きい重み付けを行って得られた値に基づき、当該抽出部により抽出された文の表示順を決定する、請求項６に記載の装置。
【請求項８】
前記検索結果処理部は、前記抽出部により抽出された各文の重要度に対して、前記位置の情報に基づき、前記文書中における当該文の位置が前記検索キーを指定された文に近いほど大きい重み付けを行って得られた値に基づき、当該抽出部により抽出された文の表示順を決定する、請求項６に記載の装置。
【請求項９】
文書を表示する表示部を備えたコンピュータにおける、当該文書中から特定の文を検索して当該表示部に表示させる方法であって、
検索キーの入力を受け付けるステップと、
受け付けた前記検索キーに基づいて、前記文書に対して検索を行い、検索対象の当該文書から当該検索キーを含む文を抽出し、抽出された当該文の当該文書における位置の情報を取得するステップと、
前記表示部に表示された前記文書に含まれる各文に関して、当該文に含まれる単語の当該文書全体における出現数に基づいて求められた重要度と、前記検索キーに基づいて抽出された文に関する前記位置の情報とに基づいて、当該検索キーに基づいて抽出された文の表示順を決定するステップと、
決定された表示順にしたがって、前記検索キーに基づいて抽出された文を前記表示部に表示させるステップと、
を含む、方法。
【請求項１０】
コンピュータを、
検索対象の文書の検索に用いられる検索キーとして取得する検索キー取得手段と、
検索対象の文書に含まれる各文の重要度を算出する重要度計算手段と、
前記検索キー取得手段により取得された検索キーを用いて検索対象の文書に対して検索を行い、検索対象の当該文書から当該検索キーを含む文を抽出し、抽出された当該文の当該文書における位置の情報を取得する抽出手段と、
前記抽出手段により抽出された各文に関して、当該抽出手段により得られた検索対象の前記文書中における当該文の位置に基づき、前記重要度計算手段により算出された当該文の重要度の値を修正して修正重要度を算出する重要度修正手段と、
前記重要度修正手段により算出された修正重要度に基づく順番にしたがって、前記抽出手段により抽出された文を出力する検索結果出力手段として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書に対して検索キーによる検索を行い、その検索キーを含む文を出力する装置、方法およびプログラムに関する。
【背景技術】
【０００２】
電子化された文書（電子文書）の処理システムでは、様々な検索が行われる。例えば、特許文献１に開示される従来技術は、検索キーとしてキーワードを入力し、そのキーワードの表すトピックに適合する文書を文書集合から検索するものである。また、特許文献２に開示される従来技術は、文書を検索キーにしてその文書と類似した文書を複数の検索対象文書から抽出するものである。
【０００３】
また、キーワードに基づいて、文書中の特定の文を抽出することも行われる。例えば、特許文献３に開示される従来技術は、設定したキーワードに基づいて、検索対象の文書の中から、そのキーワードを含む文字列を検索するものである。また、特許文献４に開示される従来技術は、文中の単語の単語重要度に基づいて文重要度を計算し、重要度の高い文を選択し、選択した文を元文書内での出現順に並べ要約文書を作成するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１１８６５７号公報
【特許文献２】特開２００４−６２８０６号公報
【特許文献３】特開２００２−１０８８８７号公報
【特許文献４】特開平１１−１８４８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
文書を読む際に、特定の語句についての文書内における他の記述を参照したい場合がある。例えば、小説を読んでいるときに登場人物について紹介した文を読み返したり、論文等において特定の用語の定義的な記載を参酌したりする場合等である。このような場合、電子文書の閲覧装置においては、データ検索（文字列検索）の機能を用いて、文書中における所望の文字列の検索を行うことができる。さらに、文書に含まれる全ての文の中から所望の文字列を含む文を検索することも可能である。
【０００６】
しかし、文書中に検索した文字列（キーワード）が大量に存在すると、検索結果として得られる文字列や文の数が膨大となる。そのため、結局は目的の文を見つけることが困難となる。
【０００７】
本発明は、このような課題に鑑み、検索キーとして指定した文字列を含む文の検索において、検索された文の出力順を調整することにより、使用者の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明は、次のような装置として実現される。この装置は、文書中に含まれる特定の文を検索して出力する装置であって、検索対象の文書の検索に用いられる検索キーを取得する検索キー取得部と、検索対象の文書に含まれる各文の重要度を算出する重要度計算部と、検索キー取得部により取得された検索キーを用いて検索対象の文書に対して検索を行い、検索対象の文書から検索キーを含む文を抽出し、抽出された文の文書における位置の情報を取得する抽出部と、この抽出部により抽出された各文に関して、抽出部により得られた検索対象の文書中における文の位置に基づき、重要度計算部により算出された文の重要度の値を修正して修正重要度を算出する重要度修正部と、この重要度修正部により算出された修正重要度に基づく順番にしたがって、抽出部により抽出された文を出力する検索結果出力部と、を備える。
【０００９】
より詳細には、重要度計算部は、検索対象の文書に含まれる各文に対して、文に含まれる単語の文書全体における出現数に基づき、重要度を算出する。さらに詳細には、重要度計算部は、検索対象の文書に含まれる単語に関するtf-idf（term frequency-inverse document frequency）に基づいて、当該文書に含まれる各文の重要度を算出する。
【００１０】
また、より詳細には、重要度修正部は、重要度計算部により算出された各文の重要度に対して、検索対象の文書中における文の位置が前方であるほど大きい重み付けを行って修正する。または、検索キー取得部は、検索対象の文書に含まれる一の文の一部または全部を指定することによって特定された部分を検索キーとして取得し、重要度修正部は、重要度計算部により算出された各文の重要度に対して、検索対象の文書中における文の位置が検索キーとして特定された部分を有する文に近いほど大きい重み付けを行って修正する。
【００１１】
また、上記の目的を達成する他の発明は、次のような装置として実現される。この装置は、文書中に含まれる特定の文を検索して出力する装置であって、文書を表示する表示部と、この表示部に表示された文書における特定の部分の指定を受け付ける受け付け部と、この受け付け部により受け付けた文書における特定の部分を検索キーとして、文書に対して検索を行い、検索対象の文書から検索キーを含む文を抽出し、抽出された文の文書における位置の情報を取得する抽出部と、表示部に表示された文書に含まれる各文に関して、文に含まれる単語の文書全体における出現数に基づいて求められた重要度と、抽出部により抽出された文に関する位置の情報とに基づいて、抽出部により抽出された文の表示順を決定する検索結果処理部と、この検索結果処理部により決定された表示順にしたがって、抽出部により抽出された文を表示部に表示させる表示制御部と、を備える。
【００１２】
さらにまた、上記の目的を達成する他の発明は、次のような方法としても実現される。この方法は、文書を表示する表示部を備えたコンピュータにおける、文書中から特定の文を検索して表示部に表示させる方法であって、検索キーの入力を受け付けるステップと、受け付けた検索キーに基づいて、文書に対して検索を行い、検索対象の文書から検索キーを含む文を抽出し、抽出された文の文書における位置の情報を取得するステップと、表示部に表示された文書に含まれる各文に関して、文に含まれる単語の文書全体における出現数に基づいて求められた重要度と、検索キーに基づいて抽出された文に関する位置の情報とに基づいて、検索キーに基づいて抽出された文の表示順を決定するステップと、決定された表示順にしたがって、検索キーに基づいて抽出された文を表示部に表示させるステップと、を含む。
【００１３】
さらにまた、本発明は、コンピュータを制御して上述した装置の各機能を実現するプログラム、あるいは、コンピュータに上記の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【発明の効果】
【００１４】
本発明によれば、検索キーとして指定した文字列を含む文の検索において、検索された文の出力順を調整することにより、使用者の利便性を向上させることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態が適用される情報処理装置の機能構成の一例を示す図である。
【図２】本実施形態における文の関連度を説明する図である。
【図３】図２に示したグラフに基づく隣接行列を示す図である。
【図４】本実施形態による文の抽出を説明する図である。
【図５】検索結果処理部による修正前の各文の重要度の例を示す図である。
【図６】文の重要度の修正における重み付けの例を示す図である。
【図７】文の重要度の修正における重み付けの他の例を示す図である。
【図８】表示制御部により制御された表示部の表示画面の例を示す図であり、検索処理の実行中の表示例を示す図である。
【図９】表示制御部により制御された表示部の表示画面の例を示す図であり、検索処理の実行後の表示例を示す図である。
【図１０】本実施形態の処理部の動作を説明するフローチャートである。
【図１１】本実施形態の情報処理装置を構成するのに好適なハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
【００１７】
＜装置構成＞
図１は、本実施形態が適用される情報処理装置の機能構成の一例を示す図である。本実施形態が適用される情報処理装置は、電子文書を閲覧するための装置であり、パーソナルコンピュータや、タブレット型情報端末装置、いわゆるスマートフォン等の携帯型情報端末装置等を用いることができる。図１に示す情報処理装置は、処理部１００と、記憶部２００と、表示部３００と、入力操作部４００とを備える。処理部１００は、処理対象である電子文書に対する処理を行う。本実施形態における処理部１００の具体的な機能については後述する。記憶部２００は、処理部１００による処理の対象である電子文書を記憶する。また、処理部１００の処理により得られたデータを記憶する。
【００１８】
表示部３００は、液晶ディスプレイ等の表示装置で実現され、処理部１００の制御により、処理対象である電子文書を表示する。また、表示部３００は、処理部１００により行われた処理の結果を表示する。
【００１９】
入力操作部４００は、使用者が入力操作を行うための操作デバイスである。具体的には、入力操作部４００としては、マウス等のポインティング・デバイスやキーボード等が用いられる。また、表示部３００の表示画面に重ねて設けられたタッチ・パネルを入力操作部４００として用いることもできる。
【００２０】
図１に示すように、処理部１００は、使用者による入力操作を受け付けるための受け付け部１１０と、処理手段としての文書処理部１２０、重要度計算部１３０および検索結果処理部１４０と、表示部３００の表示を制御する表示制御部１５０とを備える。
【００２１】
受け付け部１１０は、入力操作部４００を用いて行われた入力を受け付ける。本実施形態では、例えば、電子文書を指定して表示部３００に表示させる指示、検索キーによる検索やその他の各種の処理の実行指示等が入力され、受け付け部１１０により受け付けられる。また、受け付け部１１０は、入力操作部４００を用いて行われた検索キー（キーワード）の入力も受け付ける。すなわち、受け付け部１１０は、検索キーを取得する検索キー取得部としても機能する。検索キーの入力は、例えば、キーボードを打鍵する操作や、表示部３００に表示された電子文書中の適当な範囲（文字列）をポインティング・デバイスにより指定する操作により行われる。
【００２２】
文書処理部１２０は、受け付け部１１０により受け付けた指示やデータに基づいて、各種の処理を実行する。例えば、文書処理部１２０は、指定された電子文書を記憶部２００から読み出し、表示部３００に表示させる。また、文書処理部１２０は、重要度計算部１３０に、記憶部２００から読み出した電子文書に含まれる各文の重要度を計算させる。また、文書処理部１２０は、入力された検索キー（文字列）に基づいて、記憶部２００から読み出した電子文書に含まれる文のうち、検索キーを含む文を抽出する抽出部としても機能する。このとき、文書処理部１２０は、抽出した文の相対的な位置の情報（検索キーを含む文のうちで何番目の文かを示す情報、以下、位置情報）も取得する。また、文書処理部１２０は、抽出した文を検索結果処理部１４０に送り、処理を実行させる。
【００２３】
重要度計算部１３０は、処理対象の電子文書に含まれる各文に関して、各々の文に含まれる単語の出現数に基づき、その電子文書における各文の重要度を計算する。算出される文の重要度は、記憶部２００に格納され保持される。そして、検索キーに基づく文の検索が行われた場合に、検索結果を出力する処理において用いられる。この文の重要度の計算は、計算量が多く、計算を行う際の負荷が大きい。そこで、検索の実行指示を受け付けてから行うのではなく、文書処理部１２０により電子文書が読み出された際、検索の実行指示を待たずにバックグラウンドで計算を行っても良い。また、本実施形態の情報処理装置がインターネット等のネットワークに接続可能である場合は、ネットワーク上のサーバに計算を依頼し、計算結果を取得するようにしても良い。重要度計算部１３０による文の重要度の計算方法の詳細については後述する。
【００２４】
検索結果処理部１４０は、文書処理部１２０により検索キーに基づいて抽出された文に関する、重要度計算部１３０により計算された重要度を修正する重要度修正部として機能する。本実施形態では、検索結果処理部１４０は、文書処理部１２０が文を抽出した際に取得した文の位置情報に基づいて、その文の重要度の値を変更する。検索結果処理部１４０による処理の詳細については後述する。
【００２５】
表示制御部１５０は、表示部３００の表示を制御する。具体的には、例えば、表示制御部１５０は、文書処理部１２０から取得した表示対象の電子文書を表示部３００に表示させる。また、表示制御部１５０は、電子文書を表示部３００に表示させた状態で受け付け部１１０が受け付けた指示に基づき、表示内容のページ送りやスクロール等の表示制御を行う。また、表示制御部１５０は、検索結果処理部１４０による処理の結果に基づいて、文書処理部１２０により抽出された文を、検索結果として表示部３００に表示させる検索結果出力部としても機能する。表示制御部１５０による検索結果の表示制御の詳細については後述する。
【００２６】
＜文の重要度の計算＞
次に、重要度計算部１３０による文の重要度の計算について詳細に説明する。上述したように本実施形態では、単語の出現数に基づいて、電子文書における各文の重要度が計算される。具体的には、重要度計算部１３０は、まず、ｔｆ−ｉｄｆと呼ばれる既存のアルゴリズムを用いて電子文書に存在する各単語の重みを求める。ｔｆ−ｉｄｆは、ｔｆ（term frequency）という指標と、ｉｄｆ（inverse document frequency）という指標の２つの指標を用いて求められる。ここで、ｔｆとは、電子文書中における各単語の出現頻度を示す指標である。これは、電子文書中に高い頻度で出現する単語は重要な単語であるという考えに基づいている。また、ｉｄｆとは、電子文書中において、ある単語が含まれる文の数を示す指標である。これは、多くの文で使用されている単語よりも、少ない文で使用されている単語の方が、その文の特徴をよく表すという考えに基づいている。
【００２７】
本実施形態において、重要度計算部１３０は、電子文書に存在する各単語について順次着目する。そして、着目した単語に関して、上記のｔｆ−ｉｄｆに基づく値（以下、ｔｆ−ｉｄｆ値）を求める。これにより、電子文中に存在する単語ごとのｔｆ−ｉｄｆ値が求まる。
【００２８】
次に、重要度計算部１３０は、上記のように求めた電子文書中の各単語の重要度（ｔｆ−ｉｄｆ値）に基づいて、電子文書中の各文の関連性を特定する。具体的には、電子文書を、その電子文書に含まれる各文をノードとするグラフで表現する。そして、グラフにおける各ノード間のエッジに、そのエッジの属性として、そのエッジの両端のノードに対応する二つの文の間の関連性を表す値（以下、関連度）を付与する。具体例を挙げて、さらに説明する。
【００２９】
ここでは、ｓ１：「A cat is sitting on a mat.」、ｓ２：「A dog is sitting on a mat.」、ｓ３：「A cat and a dog are sitting on a mat.」という三つの文（ｓ１〜ｓ３）からなる文書を例として、各文の関連度の求め方について説明する。まず、これらの文に含まれる単語の集合（ワード空間）を求める。なお、上記の文における「Ａ（ａ）」、「ｉｓ」、「ｏｎ」「ａｒｅ」等の単語は、いわゆるストップ・ワードとして、ワード空間から除外する。ストップ・ワードとされる単語は、本実施形態が適用されるシステムの仕様等に応じて適宜設定される。
【００３０】
図２は、上記のｓ１〜ｓ３の文における関連度を説明する図である。図２に示すように、ｓ１〜ｓ３から得られるワード空間には、［ｃａｔ，ｓｉｔｔｉｎｇ，ｍａｔ，ｄｏｇ］の四つの単語が含まれる。そして、各文（ｓ１〜ｓ３）を構成する単語のうち、ワード空間に含まれる各単語にポイントを付与し、各文（ｓ１〜ｓ３）のスコアを求める。このとき、実際には、各単語に対してその単語のｔｆ−ｉｄｆ値がポイントとして与えられるが、ここでは簡単のため、一つの単語ごとに１ポイントを付与することにする。例えば、ｓ１では、ワード空間に含まれる単語のうち「ｃａｔ」が一つ、「ｓｉｔｔｉｎｇ」が一つ、「ｍａｔ」が一つ存在し、各々の単語に１ポイントずつが付与されるので、ｓ１のスコアｖ１は、図２に示すように、ｖ１：（ｃａｔ：１，ｓｉｔｔｉｎｇ：１，ｍａｔ：１，ｄｏｇ：０）となる。同様に、ｓ２のスコアｖ２は、ｖ２：（ｃａｔ：０，ｓｉｔｔｉｎｇ：１，ｍａｔ：１，ｄｏｇ：１）となり、ｓ３のスコアｖ３は、ｖ３：（ｃａｔ：１，ｓｉｔｔｉｎｇ：１，ｍａｔ：１，ｄｏｇ：１）となる。
【００３１】
次に、上記のスコア（ｖ１〜ｖ３）に基づき、各文の関連度を求める。上記の例では三つの文（ｓ１〜ｓ３）が存在するので、ｓ１とｓ２との間の関連度、ｓ１とｓ３との間の関連度、ｓ２とｓ３との間の関連度が、それぞれ求まる。ｓ１とｓ２との間の関連度について、具体的に考える。ｓ１には、三つの単語（「ｃａｔ」、「ｓｉｔｔｉｎｇ」、「ｍａｔ」）が存在し、このうち二つの単語（「ｓｉｔｔｉｎｇ」、「ｍａｔ」）がｓ２と共通している。一方、ｓ２には、三つの単語（「ｓｉｔｔｉｎｇ」、「ｍａｔ」、「ｄｏｇ」）が存在し、このうち二つの単語（「ｓｉｔｔｉｎｇ」、「ｍａｔ」）がｓ１と共通している。そこで、ｓ１とｓ２との間の関連度（ｖ１：ｖ２）を、二つの文（ｓ１、ｓ２）における単語の総数に対する、共通する単語の数の割合で表し、（２＋２）／（３＋３）≒０．６６とする。
【００３２】
また、ｓ１とｓ３との間の関連度（ｖ１：ｖ３）について考えると、ｓ１には、三つの単語（「ｃａｔ」、「ｓｉｔｔｉｎｇ」、「ｍａｔ」）が存在し、その全てがｓ３と共通している。一方、ｓ３には、四つの単語（「ｃａｔ」、「ｓｉｔｔｉｎｇ」、「ｍａｔ」、「ｄｏｇ」）が存在し、このうち三つの単語（「ｃａｔ」、「ｓｉｔｔｉｎｇ」、「ｍａｔ」）がｓ１と共通している。したがって、ｓ１とｓ３との間の関連度（ｖ１：ｖ３）は、（３＋３）／（３＋４）≒０．８６となる。同様に、ｓ２とｓ３との間の関連度（ｖ２：ｖ３）は、（３＋３）／（３＋４）≒０．８６となる。
【００３３】
電子文書を表すグラフにおいて、各文（ｓ１〜ｓ３）に対応するノードｓ１〜ノードｓ３の間にそれぞれ張られたエッジには、上記のようにして算出された各文の間の関連度が属性として付与される。図２を参照すると、ノードｓ１とノードｓ２との間のエッジには、値「０．６６」が付与されており、ノードｓ１とノードｓ３との間のエッジには、値「０．８６」が付与されており、ノードｓ２とノードｓ３との間のエッジには、値「０．８６」が付与されている。なお、上述したように、上記の例では、各文におけるワード空間に含まれる単語ごとに１ポイントを与えて各文のスコアおよび関連度を計算したが、実際には、各単語に対してｔｆ−ｉｄｆ値がポイントとして付与される。したがって、各文のスコアおよび関連度についても、実際には、各単語のｔｆ−ｉｄｆ値を用いて計算が行われる。
【００３４】
次に、重要度計算部１３０は、上記のようにして求めた各文の間の関連度に基づき、各文に対して固有ベクトル中心性（Eigenvector centrality）に基づいて各文の重要度を計算する。重要度計算部１３０は、まず、上記のようにして各文の間の関連度を付与された電子文書を表すグラフに基づき、隣接行列を作成する。
【００３５】
図３は、図２に示したグラフに基づく隣接行列を示す図である。図３において、行列Ａの各要素のうち、図２に示したグラフの各エッジに対応する要素には、各々のエッジに付与された関連度の値が記載されている。重要度計算部１３０は、このような行列Ａに関して、最大固有値に対応する固有ベクトルを計算し、算出された固有ベクトルの要素（値）を各文の重要度の値とする。また、重要度計算部１３０は、この固有ベクトルの要素（値）の大きさの順に各文の重要度に基づく順位付け（ranking）を行う。行列Ａのような電子文書を表すグラフに基づく隣接行列の最大固有値および固有ベクトルを計算する手法としては、既存の手法を用いることができる。
【００３６】
以上のように、本実施形態における文の重要度の計算は、処理対象である電子文書に含まれる情報のみに基づいて（すなわち閉じた環境において）行われる処理である。算出された電子文書における各文の重要度は、記憶部２００に格納される。
【００３７】
＜文の検索処理＞
次に、文書処理部１２０による文の検索処理について説明する。本実施形態において、文書処理部１２０は、受け付け部１１０により受け付けた検索キー（キーワード）に基づき、その検索キーを含む文を処理対象の電子文書中から抽出する。また、文書処理部１２０は、抽出した文の位置情報を取得する。
【００３８】
図４は、本実施形態による文の抽出を説明する図である。図４に示す電子文書Ｄは、最初の文である「文１」から最後の文である「文Ｎ」まで、Ｎ個の文で構成される。また、文ｎは、電子文書Ｄにおいて、検索キーを含む文のうちで最初に出現する文である。すなわち、文ｎよりも前にある文には検索キーは含まれておらず、抽出対象外となる。また、文ｎ＋ａは、検索キーを含み、文ｎよりも後方に位置する文である。文ｎ＋ｋは、検索キーを含む最後の文である。図４においては、文ｎ＋ｋよりも後の文が示されていないが、検索キーを含まない文が後続する場合もある。
【００３９】
次に、文書処理部１２０は、検索キーに基づいて抽出した文ｎから文ｎ＋ｋまでの各文の位置情報［ｎ，ｎ＋ｋ］を正規化する。すなわち、［ｎ，ｎ＋ｋ］の値が［０，１］となるように位置情報を変換する。これにより、具体的な文ｎ＋ａの位置ｘ（ｎ＋ａ）は、ｘ（ｎ＋ａ）＝ａ×（１／ｋ）で表されることになる。
【００４０】
＜文の位置情報に基づく重要度の修正＞
次に、検索結果処理部１４０による文の重要度の修正について説明する。本実施形態において、検索結果処理部１４０は、文書処理部１２０により抽出された文の重要度を記憶部２００から読み出す。そして、検索結果処理部１４０は、文書処理部１２０により取得された検索キーを含む各文の位置情報に基づいて、該当する各文の重要度を修正する。
【００４１】
図５は、検索結果処理部１４０による修正前の各文の重要度の例を示す図である。図５において、横軸は、文書処理部１２０により抽出された各文の位置情報を示す。すなわち、値「０」の地点（グラフの左端）が、検索キーを含む最初の文であり、値「１」の地点（グラフの右端）が、検索キーを含む最後の文である。また、縦軸は、［０，１］における各文の重要度を示す。
【００４２】
本実施形態では、文の重要度の修正処理として、（１）前方にある文ほど大きい重みを付与する処理、または（２）検索キーの特定に用いられた文に近い位置にある文ほど大きい重みを付与する処理を行う。前者は、「前方にある文ほど重要度が高い」という仮定（仮定１）に基づいている。また、後者は、「検索キーの特定に用いられた文に近い位置にある文ほど重要度が高い」という仮定（仮定２）に基づいている。
【００４３】
仮定１について説明する。電子文書中の特定の語句（登場人物や場所等）についての情報を得たい場合を考える。電子文書の内容が小説等の物語である場合、物語の鍵となるような語句については、最初にその語句が登場した文等、前方に位置する文で紹介的な説明がなされる場合が多い。また、電子文書の内容が論文である場合、論旨の鍵となる語句については、最初にその語句が登場した文において定義的な記載がなされる場合が多い。そのため、特定の語句を含む文のうち、前方にある文ほど、その語句についての説明や定義が記載された重要度の高い文である可能性が大きいという仮定が成り立つ。そこで、文の重要度に対する修正処理として、仮定１に基づく重み付けを行う。
【００４４】
図６は、仮定１に基づく重み付けの例を示す図である。図６において、横軸は、図５に示したグラフと同様に、文書処理部１２０により抽出された各文の位置情報を示す。また、縦軸は、各文に付与される重み値を示す。図６に示す例では、左方の文（電子文書において前方に出現する文）ほど、重み値が大きくなっている。また、図示の例において、重み値の最大値は「１」である。なお、仮定１に基づく重み付けは、前方の文ほど付与される重み値が大きくなっていれば良く、具体的な文ごとの重みの値は、電子文書の種類等に応じて適宜設定される。すなわち、図６に示すグラフの曲線自体は例示に過ぎない。
【００４５】
検索結果処理部１４０は、文書処理部１２０により抽出された各文について、記憶部２００から読み出した重要度の値と、図６に示す例のように定義された重み値とに基づいて、検索結果の出力に反映させる最終的な重要度の値を計算する。具体的には、例えば文ｎ＋ａについて、記憶部２００から読み出した重要度の値をｓ（ｎ＋ａ）とし、図６のように定義される重み値をｂ（ｎ＋ａ）とすると、最終的な重要度の値Ｗ（ｎ＋ａ）は、次式Ｗ（ｎ＋ａ）＝ｓ（ｎ＋ａ）＋ｓ（ｎ＋ａ）×ｂ（ｎ＋ａ）により求める。なお、この重み付けの計算式は例示に過ぎず、この計算式に限定するものではない。実際には、電子文書の内容等に応じて適宜に計算式を設定することができる。
【００４６】
次に、仮定２について説明する。電子文書の閲覧者が電子文書中のある文を読んだときに、その文中の語句について、その文の近辺においてどのような記載があるかを参照したい場合がある。例えば、ある語句について少し前にどのような記載があったかを確認したい場合や、ある語句が現在読んでいる文を含む特定の範囲（章や節など）でどのように説明されているかを知りたい場合等である。そのため、上記の仮定１とは別に、特定の語句を含む文のうち、特定の文に近い位置にある文ほど、閲覧者が読みたいと欲する重要度の高い文である可能性が大きいという仮定が成り立つ。そこで、文の重要度に対する修正処理として、仮定２に基づく重み付けを行う。
【００４７】
図７は、仮定２に基づく重み付けの例を示す図である。図７において、横軸は、図５に示したグラフと同様に、文書処理部１２０により抽出された各文の位置情報を示す。また、縦軸は、各文に付与される重み値を示す。図７に示す例では、特定された文（文ｎ＋ａ）に近い位置の文ほど、重み値が大きくなっている。また、図示の例において、重み値の最大値は「１」である。なお、仮定２に基づく重み付けは、特定された文に近い位置の文ほど付与される重み値が大きくなっていれば良く、具体的な文ごとの重みの値は、電子文書の種類等に応じて適宜設定される。すなわち、図７に示すグラフの曲線自体は例示に過ぎない。
【００４８】
検索結果処理部１４０は、文書処理部１２０により抽出された各文について、記憶部２００から読み出した重要度の値と、図７に示す例のように定義された重み値とに基づいて、検索結果の出力に反映させる最終的な重要度の値を計算する。具体的な計算方法は、図６を参照して説明した仮定１の場合と同様である。
【００４９】
上記のように、仮定１と仮定２とは、各文の重要度に付与される重みの根拠が異なっている。そのため、仮定１に基づく重要度の修正と、仮定２に基づく重要度の修正は、通常は別個に用いられる。実際の運用においては、例えば、受け付け部１１０が検索の実行指示を受け付ける際に、どちらの修正を行うかについての選択指示を受け付け、この選択指示に応じて修正方法を切り替えるようにすれば良い。また、原則的に仮定１に基づく修正を行い、特に指示を受け付けた場合にのみ仮定２に基づく修正を行うようにしても良い。
【００５０】
ところで、仮定２に基づく重み付けは、上記のように、最初に特定された文の位置に基づいて決定される。言い換えれば、最初に特定された文が異なると、図７に示したグラフの形状が変わる。したがって、仮定２に基づく重要度の修正を行う場合、まず一つの文を特定する必要がある。具体的には、受け付け部１１０が検索キーの指定を受け付ける際に、特定の文に含まれる語句を検索キーとして受け付けるようにする。例えば、処理対象の電子文書が表示部３００に表示された状態で、表示されている文の特定の範囲（文の一部または全部）の指定を受け付け、指定された範囲の文字列を検索キーとして受け付けると共に、指定された文字列を含む文を特定するようなインターフェイスを考えることができる。
【００５１】
一方、仮定１に基づく重み付けは、検索キーを含む各文の位置にのみ基づいており、図６に示したグラフは変動することがない。すなわち、指定された検索キーがいずれの文に含まれる語句であるかは問わない。そこで、例えば、キーボード等のデバイスを用いて、電子文書中の文とは関係なく入力された文字列を、検索キーとして受け付けても良い。
【００５２】
以上のようにして、文書処理部１２０により抽出された各文の位置情報に基づいて、各文の重要度が修正された。ここで、検索結果処理部１４０により重要度が修正されることにより、重要度計算部１３０により付与された各文の重要度に基づく順位も変更される場合がある。変更後の順位は、検索キーを含む各文の位置を反映させたものとなっている。
【００５３】
＜検索結果の出力＞
表示制御部１５０は、検索結果処理部１４０により修正された重要度（修正重要度）に基づく順位にしたがって、文書処理部１２０により抽出された文（検索キーを含む文）を表示部３００に表示させる。具体的には、例えば、表示部３００の表示画面に検索結果を表示するための領域を形成し、この領域に、修正後の順位の上位から順に、文を表示させる。
【００５４】
図８および図９は、表示制御部１５０により制御された表示部３００の表示画面の例を示す図である。図８を参照すると、表示部３００の表示画面３１０には、処理対象の電子文書が表示されている。これは、受け付け部１１０により受け付けた表示指示に従って、文書処理部１２０が記憶部２００から読み出した電子文書を表示したものである。表示画面３１０には、指定された検索キーを表示するための検索キー表示領域３１１が形成されている。図８に示す検索キー表示領域３１１には、検索処理の実行中であることを示す「Ｓｅａｒｃｈ」の文字と検索キー「Ｗａｔｓｏｎ」が表示されている。また、図８に示す例において、検索キー「Ｗａｔｓｏｎ」は、表示画面３１０に表示されている電子文書のうち、本文（タイトルの「THE ADVENTURES OF SHERLOK HOLMES」を除いた部分）の１０行目にある文字列「Ｗａｔｓｏｎ」を指定して入力されたものである。図８に示す表示例において、指定された文字列「Ｗａｔｓｏｎ」は、反転表示されており、指定された箇所が視覚的に識別できるように表示制御されている。
【００５５】
文書処理部１２０による検索が完了し、抽出された検索キー「Ｗａｔｓｏｎ」を含む各文に関して、検索結果処理部１４０において修正重要度に基づく順位が決定されると、決定された順位にしたがって検索結果が表示される。図９を参照すると、表示部３００の表示画面３１０に、新たに検索結果表示領域３１２が形成されている。そして、この検索結果表示領域３１２に、修正後の重要度に基づく順位が上位の文が表示されている。図９に示す検索結果表示領域３１２には、二つの文が表示されているが、表示される文の数は図示の例に限られず、検索結果表示領域３１２のサイズと表示される文の長さに応じて定まる。また、検索結果表示領域３１２の表示内容をスクロールしたり更新したりすることにより、修正後の重要度に基づく順位が下位の文を表示可能とすることができる。なお、図９に示す例では、検索キー「Ｗａｔｓｏｎ」を含む文の検索が完了しているので、検索キー表示領域３１１には、「Ｓｅａｒｃｈ」の文字に代わり、検索処理が済んだことを示す「Ｆｉｎｄ  ａｂｏｕｔ」の文字が表示されている。
【００５６】
上記の例では、表示部３００の表示画面３１０に表示された電子文書中の文字列を指定して検索キーを指定することとしたが、キーボード等を用いて検索キーとなる文字列を直接入力しても良い。ただし、この場合は、特定の文に含まれる文字列を検索キーとして指定するのではないため、「前方にある文ほど重要度が高い」という仮定（仮定１）に基づく重要度の修正のみが適用可能となる。
【００５７】
＜処理部の動作＞
図１０は、上記のように構成された情報処理装置により検索キーに基づく文の検索を行う際の処理部１００の動作を説明するフローチャートである。ここでは、検索処理の実行指示が行われる前に、バックグラウンド等にて、重要度計算部１３０による電子文書の各文の重要度の計算が完了しているものとする。検索処理が行われる場合、まず、受け付け部１１０が、検索キーの入力を受け付ける（ステップ１００１）。次に、受け付けた検索キーに基づいて、文書処理部１２０が、この検索キーを含む文を処理対象の電子文書から抽出する。また、文書処理部１２０は、抽出した文の位置情報を取得する（ステップ１００２）。
【００５８】
次に、検索結果処理部１４０が、文書処理部１２０により取得された位置情報に基づいて、文書処理部１２０により抽出された文の重要度を修正する（ステップ１００３）。そして、修正した重要度に基づき、文書処理部１２０により抽出された各文の順位付けを行う（ステップ１００４）。この後、表示制御部１５０が、ステップ１００４で決定された順位（表示順）にしたがって、各文を表示部３００に表示させる（ステップ１００５）。
【００５９】
＜ハードウェア構成例＞
図１１は、本実施形態の情報処理装置を構成するのに好適なハードウェア構成例を示す図である。ここでは、コンピュータに適用する場合について説明する。図１１に示すコンピュータは、演算手段であるＣＰＵ（Central Processing Unit）１０ａと、主記憶手段であるメモリ１０ｃを備える。また、外部デバイスとして、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）１０ｇ、ネットワーク・インターフェイス１０ｆ、ディスプレイ装置を含む表示機構１０ｄ、音声機構１０ｈ、キーボードやマウス等の入力デバイス１０ｉ等を備える。
【００６０】
図１１に示す構成例では、メモリ１０ｃおよび表示機構１０ｄは、システム・コントローラ１０ｂを介してＣＰＵ１０ａに接続されている。また、ネットワーク・インターフェイス１０ｆ、磁気ディスク装置１０ｇ、音声機構１０ｈおよび入力デバイス１０ｉは、Ｉ／Ｏコントローラ１０ｅを介してシステム・コントローラ１０ｂと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
【００６１】
なお、図１１は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施形態は、電子文書を表示して閲覧可能とし、検索キーに基づく文の検索を行うことが可能な情報処理装置に広く適用できるものであり、図示の構成においてのみ本実施例が実現されるのではない。
【００６２】
図１１において、磁気ディスク装置１０ｇにはＯＳのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ１０ｃに読み込まれてＣＰＵ１０ａに実行されることにより、本実施形態における処理部１００の各機能が実現される。また、記憶部２００は、メモリ１０ｃや磁気ディスク装置１０ｇ等の記憶手段により実現される。また、表示部３００は、表示機構１０ｄにより構成される。また、入力操作部４００は、入力デバイス１０ｉに相当する。
【００６３】
なお、上記の構成例では、処理対象である電子文書を予め装置内の記憶部２００に格納しておき、文書処理部１２０が読み出すこととしたが、外部記憶装置に保持されている電子文書を取得し、処理対象としても良い。この場合、例えば図１１に示すネットワーク・インターフェイス１０ｆを介して、ネットワーク上に設けられた外部記憶装置から閲覧しようとする電子文書を取得することができる。その他、上記の実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれる。
【符号の説明】
【００６４】
１００…処理部、１１０…受け付け部、１２０…文書処理部、１３０…重要度計算部、１４０…検索結果処理部、１５０…表示制御部、２００…記憶部、３００…表示部、４００…入力操作部
【図１】
2014241034.tif 000003
【図２】
2014241034.tif 000004
【図３】
2014241034.tif 000005
【図４】
2014241034.tif 000006
【図５】
2014241034.tif 000007
【図６】
2014241034.tif 000008
【図７】
2014241034.tif 000009
【図８】
2014241034.tif 000010
【図９】
2014241034.tif 000011
【図１０】
2014241034.tif 000012
【図１１】
2014241034.tif 000013