(57)【要約】【課題】要約の指定箇所に対応する本文の関連箇所を検索する精度を向上させること。【解決手段】文献表示装置１０は、検索対象となる文書内の単語を指定する処理と、指定された単語が属する文を特定する処理と、指定された単語と、文の形態素解析の結果に含まれる単語との組合せを抽出する処理と、単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する処理と、単語の組合せごとに各単語の指標の統計値を算出する処理と、単語の組合せのうち統計値が最大である単語の組合せを選択する処理とを実行する。【選択図】図１
2017068757.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
検索対象となる文書内の単語を指定する処理と、
指定された単語が属する文を特定する処理と、
指定された単語と、前記文の形態素解析の結果に含まれる単語との組合せを抽出する処理と、
単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する処理と、
単語の組合せごとに各単語の指標の統計値を算出する処理と、
前記単語の組合せのうち前記統計値が最大である単語の組合せを選択する処理と
を実行することを特徴とする文献表示方法。
【請求項２】
前記抽出する処理は、前記文に含まれる単語のうち前記指定された単語との位置が近い単語から順に、当該単語を前記指定された単語へ追加することにより、前記単語の組合せを抽出することを特徴とする請求項１に記載の文献表示方法。
【請求項３】
前記抽出する処理は、前記文に含まれる単語のうち前記指定された単語に先行する単語または前記指定された単語に後続する単語を前記指定された単語との位置が近い単語から順に、当該単語を前記指定された単語へ追加する処理を繰り返すことにより、複数の単語の組合せを抽出することを特徴とする請求項２に記載の文献表示方法。
【請求項４】
前記コンピュータが、
前記統計値が最大である単語の組合せの先頭または末尾を前記指定された単語よりも前方または後方へ伸張することにより、伸張後の単語を先頭または末尾とする単語の組合せをさらに生成する処理をさらに実行することを特徴とする請求項１、２または３に記載の文献表示方法。
【請求項５】
前記コンピュータが、
前記統計値が最大である単語の組合せの先頭または末尾を前記指定された単語よりも後方または前方へ収縮することにより、収縮後の単語を先頭または末尾とする単語の組合せをさらに生成する処理をさらに実行することを特徴とする請求項１、２または３に記載の文献表示方法。
【請求項６】
検索対象となる文書内の単語を指定する指定部と、
指定された単語が属する文を特定する文特定部と、
指定された単語と、前記文の形態素解析の結果に含まれる単語との組合せを抽出する抽出部と、
単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する第１算出部と、
単語の組合せごとに各単語の指標の統計値を算出する第２算出部と、
前記単語の組合せのうち前記統計値が最大である単語の組合せを選択する選択部と
を有することを特徴とする文献表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文献表示方法及び文献表示装置に関する。
【背景技術】
【０００２】
論文、白書や特許出願で提出される明細書などの各種の文献が公開されている。この文献には、当該文献の本文に対し、その要約が作成される場合がある。かかる要約は、一側面として、閲覧者が文献の概略を理解する上で役立てられる。
【０００３】
このような文献の存在とは別に、電子文書を検索する技術の一例として、文書情報管理システムが提案されている。この文書情報管理システムでは、単語のクリック操作でリンクの張られていない単語をキーワードとして検索を実行し、ハイパーテキストのボタンと同様のクリックされた単語から検索対象のページへ飛ぶことができるようにされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−７９３６６号公報
【特許文献２】特開２００２−１９７１０４号公報
【特許文献３】特開２０１２−３３８１号公報
【特許文献４】国際公開第２００６／１１２５０７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記の文献は、一例として、その内容が難解であったり、その文字や文章の量が膨大であったりする側面がある。このような側面から、要約で指定された箇所に対応する本文の関連箇所を検索する機能が有用であると考えられる。
【０００６】
しかしながら、上記の技術を援用したとしても、要約の指定箇所に対応する本文の関連箇所を検索する精度に限界がある。
【０００７】
すなわち、上記の文献情報管理システムでは、クリック操作がなされた単語がキーワードに用いられるので、１つのキーワードが出現する箇所を検索するのが限界である。このように上記の文献情報管理システムで得られる検索結果は、あくまで１つのキーワードが出現する箇所であって必ずしもクリック操作がなされた単語に関する話題が記述された関連箇所であるとは限らない。したがって、上記の文献情報管理システムでは、要約の指定箇所に対応する本文の関連箇所を検索する精度に自ずから限界がある。
【０００８】
１つの側面では、本発明は、要約の指定箇所に対応する本文の関連箇所を検索する精度を向上させることができる文献表示方法及び文献表示装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一態様では、コンピュータが、検索対象となる文書内の単語を指定する処理と、指定された単語が属する文を特定する処理と、指定された単語と、前記文の形態素解析の結果に含まれる単語との組合せを抽出する処理と、単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する処理と、単語の組合せごとに各単語の指標の統計値を算出する処理と、前記単語の組合せのうち前記統計値が最大である単語の組合せを選択する処理とを実行する。
【発明の効果】
【００１０】
要約の指定箇所に対応する本文の関連箇所を検索する精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る文献表示装置の機能的構成を示すブロック図である。
【図２】図２は、要約の一例を示す図である。
【図３】図３は、本文の一例を示す図である。
【図４】図４は、クエリ候補の検索精度の一例を示す図である。
【図５】図５は、クエリ候補の検索精度の一例を示す図である。
【図６】図６は、実施例１に係る文献表示処理の手順を示すフローチャートである。
【図７】図７は、実施例１に係る検索精度算出処理の手順を示すフローチャートである。
【図８】図８は、実施例１に係るクエリ伸縮処理の手順を示すフローチャートである。
【図９】図９は、応用例を示す図である。
【図１０】図１０は、応用例を示す図である。
【図１１】図１１は、実施例１及び実施例２に係る文献表示プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して本願に係る文献表示方法及び文献表示装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
［文献表示装置１０の構成］
図１は、実施例１に係る文献表示装置の機能的構成を示すブロック図である。図１に示す文献表示装置１０は、論文、白書や特許出願で提出される明細書などの各種の文献を表示する文献表示処理を実行するものである。かかる文献表示処理の一環として、文献表示装置１０は、文献の要約で指定された箇所に対応する本文の関連箇所を検索する本文検索処理を実現することにより、文献の読解を支援する。
【００１４】
一実施形態として、文献表示装置１０は、上記の文献表示処理がパッケージソフトウェアやオンラインソフトウェアとして提供される文献表示プログラムを所望のコンピュータにインストールさせることによって実装できる。かかる文献表示プログラムは、一例として、文献閲覧の専用ソフトとして実装されることとしてもよいし、検索エンジン、ブラウザやワープロソフトなどのアプリケーションプログラムにアドオンされるプログラムとして実装されることとしてもかまわない。例えば、パーソナルコンピュータを始めとする据置き型の端末装置を始め、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末のみならず、タブレット端末やスレート端末を含む携帯端末装置全般に上記の脈波検出プログラムをインストールさせる。これによって、据置き型の端末装置や携帯端末装置などの情報処理装置を文献表示装置１０として機能させることができる。なお、ここでは、あくまで一例として、上記の文献表示処理がスタンドアローンで実行される場合を例示するが、後述するように、上記の文献表示処理はクライアントサーバシステムで実行されることとしてもかまわない。
【００１５】
図１に示すように、文献表示装置１０は、入力部１０ａと、表示部１０ｂと、文献記憶部１１と、表示制御部１２と、指定部１３と、文特定部１４と、形態素解析部１５とを有する。さらに、文献表示装置１０は、候補抽出部１６と、第１算出部１７ａと、第２算出部１７ｂと、クエリ選択部１８ａと、クエリ伸縮部１８ｂと、検索部１９とを有する。なお、文献表示装置１０は、図１に示した機能部以外にも既知の情報処理装置が有する各種の機能部、例えば音声出力デバイスや撮像デバイスなどの機能部を有することとしてもかまわない。
【００１６】
入力部１０ａは、各種の情報に対する指示入力、例えば表示部１０ｂのスクリーン上における位置の指定などを受け付ける入力デバイスである。
【００１７】
一実施形態として、文献表示装置１０が据置き型の端末装置として実装される場合、入力部１０ａには、キーボードやマウスなどを採用できる。かかるマウスは、後述の表示部１０ｂと協働することによってポインティングデバイスとして機能する。ここでは、一例として、マウスによってポインティングデバイス機能が実現される場合を例示したが、タッチパッドなどの他の入力デバイスによりポインティングデバイス機能が実現されることとしてもかまわない。他の実施形態として、文献表示装置１０が携帯端末装置として実装される場合、入力部１０ａを表示部１０ｂと一体化することによりタッチパネルとして実装することもできる。
【００１８】
表示部１０ｂは、各種の情報、例えば文献の要約や本文などを表示する表示デバイスである。
【００１９】
一実施形態として、表示部１０ｂには、発光により表示を実現する液晶ディスプレイや有機ＥＬ（electroluminescence）ディスプレイなどを採用することもできる。また、表示部１０ｂにも、投影により表示を実現するプロジェクタを採用することもできる。
【００２０】
文献記憶部１１は、文献に関するデータを記憶する記憶部である。ここで言う「文献」とは、論文、白書や特許出願で提出される明細書などの文書を指し、例えば、文献に関する詳細な内容が記述された「本文」および本文の概略が記述された「要約」が含まれる。
【００２１】
一実施形態として、文献記憶部１１には、本文および要約を含む文献に関する文書ファイルが記憶される。これら本文および要約は、１つの文書ファイルであってもよいし、各々が個別の文書ファイルであってもかまわない。このうち、本文は、本文が所定の単位、例えば行、段落や章で分割されることにより複数の領域へ区切られる。以下では、一例として、本文が段落単位に分割される場合を想定して説明を行う。このように本文が区切られた各段落には、一例として、コンピュータが変数ｊで識別するインデックスが段落の並び順に付与される。これによって、上記の本文検索処理の実行結果として本文の関連箇所を出力する文章の粒度を段落単位に調節できる。なお、上記の文書ファイルは、任意の形式であってよく、特定の形式に限定されない。例えば、文書ファイルは、テキストファイルを始め、リッチテキストファイル、ワープロソフトにより作成されたファイル、ＸＭＬ（eXtensible  Markup  Language）やＨＴＭＬ（Hyper  Text  Markup  Language）などのマークアップ言語で記述されたファイル、ＰＤＦ（Portable  Document  Format）ファイルなどの任意のファイルであってよい。
【００２２】
なお、図１には、文献表示装置１０が文献記憶部１１を有する機能的構成を例示したが、これは上記の文書ファイルが文献表示装置１０上でスタティックに記憶されるという限定を意味する訳ではない。すなわち、文献表示装置１０は、必ずしも上記の文書ファイルをスタティックに記憶せずともかまわない。例えば、ネットワーク上の文書ファイル、あるいはリムーバブルメディア等に保存された文書ファイルが閲覧される場合には、文書ファイルを一時的に記憶することとすればよい。
【００２３】
表示制御部１２は、表示部１０ｂに対する表示制御を行う処理部である。
【００２４】
一実施形態として、表示制御部１２は、表示部１０ｂに文献のタイトル等が一覧表示されたメニュー画面等が表示された状態で文献の指定が行われた場合、文献記憶部１１に記憶された文献のうち当該指定が行われた文献の要約またはその一部を含む文献の要約画面を表示部１０ｂに表示させる。また、表示制御部１２は、文献の要約画面上で指定された箇所に対応する本文の関連箇所が上記の本文検索処理により検索された場合、当該本文の関連箇所の検索結果を含む検索結果画面を表示部１０ｂに表示させる。
【００２５】
指定部１３は、文献の要約画面上で位置の指定を受け付ける処理部である。
【００２６】
一実施形態として、指定部１３は、表示部１０ｂに表示された文献の要約画面上で入力部１０ａを介して所定の操作、例えば左クリックやダブルクリックを受け付けた場合、当該操作を受け付けた時点で上記の要約画面上にマウスポインタが存在する位置を取得する。ここでは、一例として、マウスにより位置の指定が行われる場合を例示するが、タッチパネル等の表示入力部として実装される場合、タップやダブルタップ等の操作が受け付けられた位置を取得することにより、位置を指定させることができる。なお、ここでは、１点で位置を指定させる例を説明したが、位置の指定方法はこれに限定されない。例えば、入力部１０ａを介してドラッグ＆ドロップなどを受け付けることにより、ドラッグ操作が行われた位置及びドロップ操作が行われた位置により定まる範囲を指定させることもできる。
【００２７】
文特定部１４は、要約のうち指定位置に対応する文を特定する処理部である。
【００２８】
一実施形態として、文特定部１４は、指定部１３により位置の指定が受け付けられた場合、表示部１０ｂに表示された要約画面に含まれる要約の文字列のうち当該指定が受け付けられた位置に対応する文字を判別する。例えば、文特定部１４は、指定位置が要約の文字列のうちいずれかの文字の表示位置と重なる場合、当該文字を指定位置に対応付ける。また、指定位置が要約の文字列のうちいずれかの文字の表示位置と重ならない場合、要約の文字列のうち指定位置から距離が最短である文字を指定位置に対応付ける。その後、文特定部１４は、当該指定位置に対応付けられた文字が属する一文を特定する。例えば、文特定部１４は、当該文字を起点に要約の文字列を前方へ走査しながら区切り文字、例えば句点、行頭文字または改行などを探索することにより、文頭の文字位置を抽出する。これと共に、文特定部１４は、当該指定位置に対応付けられた文字を起点に要約の文字列を後方へ走査しながら区切り文字を探索することにより、文末の文字位置を抽出する。これら文頭及び文末の文字位置が抽出されることにより、指定位置に対応する文が特定されることになる。
【００２９】
形態素解析部１５は、形態素解析を実行する処理部である。
【００３０】
一実施形態として、形態素解析部１５は、文特定部１４により特定された文に形態素解析を実行する。これによって、ユーザの指定位置に対応する文が自立語または付属語の形態素列に分割される。なお、ここでは、文特定部１４により１文が特定される度に、形態素解析が実行される場合を例示したが、文献記憶部１１に記憶された各文献の本文に形態素解析を予め実行しておき、その結果が記憶された記憶部を参照させることとしてもかまわない。
【００３１】
候補抽出部１６は、検索エンジンに出力するクエリの候補を抽出する処理部である。以下では、検索エンジンに出力するクエリの候補ことを「クエリ候補」と記載する場合がある。
【００３２】
一実施形態として、候補抽出部１６は、指定部１３により位置の指定が受け付けられた文字を含む単語と、形態素解析部１５により解析された文が含む形態素のうち自立語とを組み合わせることにより、クエリ候補を抽出する。以下では、指定部１３により位置の指定が受け付けられた文字を含む単語のことを「指定単語」と記載する場合がある。例えば、候補抽出部１６は、指定単語の後方を探索しながら、指定単語に後続する自立語をそれまでに探索された自立語の組合せへ順次追加する。このとき、指定単語および指定単語に後続する各自立語には、一例として、コンピュータが変数ｉで識別するインデックスが自立語の並び順に付与される。なお、自立語に活用がある場合には、語幹にインデックスが付与される。このように、自立語が新たに追加される度に、候補抽出部１６は、新たに追加された自立語と、それまでに探索された自立語との組合せをクエリ候補として抽出する。その後、候補抽出部１６は、各クエリ候補にコンピュータが変数Ｋで識別するインデックスをクエリ候補の抽出順に付与する。このように指定単語の後方が探索される場合、「指定単語」、「指定単語＋１つ後の自立語」、「指定単語＋１つ後の自立語＋２つ後の自立語」、・・・、「指定単語＋１つ後の自立語＋２つ後の自立語＋・・・＋ｎ個後の自立語」といった要領でクエリ候補が抽出される。なお、ここでは、一例として、指定単語の後方が探索される場合を例示したが、指定単語の前方を探索することとしてもよく、指定単語の前方及び後方の両方を探索することとしてもかまわない。
【００３３】
第１算出部１７ａは、自立語のｔｆ−ｉｄｆを算出する処理部である。ここで言う「ｔｆ−ｉｄｆ」のうちｔｆは、「Term  Frequency」の略称であり、いわゆる単語の出現頻度を指す一方で、ｉｄｆは、「Inverse  Document  Frequency」の略称であり、いわゆる逆文書頻度を指す。
【００３４】
一実施形態として、第１算出部１７ａは、文特定部１４により特定された文に含まれる自立語のうち、候補抽出部１６によりクエリ候補として抽出された自立語ごとに当該自立語のｔｆ−ｉｄｆを算出する。具体的には、第１算出部１７ａは、ｉ番目の自立語のｊ番目の段落における出現回数を、ｊ番目の段落における全ての自立語の出現回数の和で除算する計算を行うことにより、ｉ番目の自立語のｊ番目の段落における出現頻度を算出する。これと共に、第１算出部１７ａは、本文内の段落の総数がｉ番目の自立語を含む段落の数で除算された除算値の対数を取る計算を行うことにより、ｉ番目の自立語の逆文書頻度を算出する。そして、第１算出部１７ａは、ｉ番目の自立語のｊ番目の段落における出現頻度とｉ番目の自立語の逆文書頻度とを乗算することにより、ｉ番目の自立語のｊ番目の本文におけるｔｆ−ｉｄｆを算出する。以下では、ｉ番目の自立語のｊ番目の本文におけるｔｆ−ｉｄｆのことを「ＴＦＩＤＦ（ｉ，ｊ）」と記載する場合がある。さらに、第１算出部１７ａは、全ての段落にわたって自立語ｉに関するｔｆ−ｉｄｆの計算を繰り返し実行する。これによって、１つの自立語ｉにつき本文内の段落の総数に対応する個数のｔｆ−ｉｄｆが算出される。その後、第１算出部１７ａは、全ての自立語にわたって当該自立語の各段落におけるｔｆ−ｉｄｆを算出する。
【００３５】
第２算出部１７ｂは、クエリ候補ごとに当該クエリ候補の検索精度の評価値を算出する処理部である。
【００３６】
一実施形態として、第２算出部１７ｂは、下記の式（１）に示すクエリ精度関数にしたがってクエリ候補の検索精度の評価値を算出する。ここで、クエリ精度関数は、クエリ候補の検索精度を評価する関数である。このように、クエリ候補に含まれる自立語のｔｆ−ｉｄｆの平均値がクエリ精度関数で用いられるのは、単純にｔｆ−ｉｄｆの和をとるだけでは、クエリ候補に含まれる自立語の数が多くなるほど関数の値が単調増加する結果、各クエリ候補の間で比較が困難になるからである。このことから、クエリ候補に含まれる自立語のｔｆ−ｉｄｆの和をクエリ候補に含まれる自立語の個数Ｎで割って平均を求める。かかるクエリ精度関数によれば、クエリ候補に含まれる自立語の数が増加したとしても関数の値が必ずしも増加するとは限らず、１つの段落に頻出する自立語が追加された場合には関数の値が高くなるが、その段落での頻度が低い自立語が追加されると関数の値が低下する。それ故、検索精度が低下する原因となる自立語がクエリ候補に追加された時点で関数の値が減少するようにクエリ精度関数を構築できる。したがって、関数の値が最高であるクエリ候補と、検索精度が最も高いクエリ候補とが一致する可能性を高めることができる。
【００３７】
【数１】
2017068757.tif 000003
【００３８】
クエリ選択部１８ａは、クエリ候補の中から検索精度の評価値が最高であるクエリ候補を選択する処理部である。
【００３９】
一実施形態として、クエリ選択部１８ａは、候補抽出部１６により抽出されたクエリ候補のうち第２算出部１７ｂにより算出された検索精度の評価値が最高であるクエリ候補を選択する。以下では、クエリ精度関数にしたがって求められた検索精度の評価値が最高であるクエリのことを「最高クエリ」と記載する場合がある。かかる最高クエリを検索エンジンに出力する場合、クエリ選択部１８ａは、一例として、最高クエリに含まれる自立語の組合せを検索エンジンに出力することができる。この他、クエリ選択部１８ａは、最高クエリに含まれる自立語と共に各自立語の間に存在する付属語も含む形態素列を検索エンジンへ出力することもできる。このように付属語を含めるのは、自立語に隣接する助詞や助動詞によってキーワードとする自立語の機能や役割を限定し、もって形態素列における自立語の用法と類似する用法で自立語が用いられる段落を検索させるためである。
【００４０】
ここで、検索エンジンには、クエリ選択部１８ａにより選択された最高クエリだけを出力することもできるが、ユーザに複数の選択肢を提示する観点から、後述のクエリ伸縮部１８ｂにより最高クエリが伸縮されたクエリを新たに加えて検索エンジンへ出力する場合を想定して以下の説明を行う。
【００４１】
クエリ伸縮部１８ｂは、クエリの長さを伸縮する処理部である。
【００４２】
一側面として、クエリ伸縮部１８ｂは、最高クエリに含まれる自立語のうち先頭の自立語ｓまたは末尾の自立語ｅの少なくともいずれか一方よりも前方または後方に存在する自立語を所定数Ｎにわたって追加することにより、最高クエリの始端または終端を伸張する。
【００４３】
例えば、最高クエリの始端を前方へ伸張する場合、クエリ伸縮部１８ｂは、クエリ選択部１８ａにより選択された最高クエリに含まれる先頭の自立語ｓの前方を探索しながら、先頭の自立語ｓに先行する自立語を順次追加する。このとき、クエリ伸縮部１８ｂは、自立語が新たに追加される度に、新たに追加される自立語により前方へ伸張された前方伸張クエリを、検索エンジンに出力するクエリとして抽出する。このように先頭の自立語ｓの前方が探索される場合、所定数Ｎの自立語が追加されるまで、「先頭の１つ前の自立語＋先頭の自立語ｓ・・・＋末尾の自立語ｅ」、「先頭の２つ前の自立語＋先頭の１つ前の自立語＋先頭の自立語ｓ・・・＋末尾の自立語ｅ」、・・・、「先頭のＮ個前の自立語・・・＋先頭の２つ前の自立語＋先頭の１つ前の自立語＋先頭の自立語ｓ・・・＋末尾の自立語ｅ」といった要領で最高クエリの始端が前方へ伸張される。このように最高クエリの始端が前方へ伸張された前方伸張クエリが最高クエリと共に検索エンジンへ出力される。
【００４４】
また、最高クエリの終端を後方へ伸張する場合、クエリ伸縮部１８ｂは、最高クエリに含まれる末尾の自立語ｅの後方を探索しながら、末尾の自立語ｅに後続する自立語を順次追加する。このとき、クエリ伸縮部１８ｂは、自立語が新たに追加される度に、新たに追加される自立語により後方へ伸張された後方伸張クエリを、検索エンジンに出力するクエリとして抽出する。このように末尾の自立語ｅの後方が探索される場合、所定数Ｎの自立語が追加されるまで、「先頭の自立語ｓ・・・＋末尾の自立語ｅ＋末尾の１つ後の自立語」、「先頭の自立語ｓ・・・＋末尾の自立語ｅ＋末尾の１つ後の自立語＋末尾の２つ後の自立語」、・・・、「先頭の自立語ｓ・・・＋末尾の自立語ｅ＋末尾の１つ後の自立語＋末尾の２つ後の自立語・・・＋末尾のＮ個後の自立語」といった要領で最高クエリの終端が後方へ伸張される。このように最高クエリの終端が後方へ伸張された後方伸張クエリが最高クエリと共に検索エンジンへ出力される。
【００４５】
他の側面として、クエリ伸縮部１８ｂは、最高クエリに含まれる先頭の自立語ｓまたは末尾の自立語ｅの少なくともいずれか一方から後方または前方に向けて自立語を所定数Ｎにわたって削減することにより、最高クエリの始端または終端を収縮させる。
【００４６】
例えば、最高クエリの先頭の自立語ｓから後方へ向けて最高クエリを収縮させる場合、クエリ伸縮部１８ｂは、最高クエリに含まれる先頭の自立語ｓからその後方を探索しながら、先頭の自立語ｓ、さらには、先頭の自立語ｓに後続する自立語を順次削除する。このとき、クエリ伸縮部１８ｂは、自立語が削除される度に、新たに削除される自立語により後方へ収縮された後方収縮クエリを、検索エンジンに出力するクエリとして抽出する。このように最高クエリの先頭の自立語ｓから順に自立語が末尾の自立語ｅへ向けて削除される場合、所定数Ｎの自立語が削除されるまで、「先頭の１つ後の自立語・・・＋末尾の自立語ｅ」、「先頭の２つ後の自立語・・・＋末尾の自立語ｅ」、・・・、「先頭のＮ−１個後の自立語・・・＋末尾の自立語ｅ」といった要領で最高クエリが後方へ収縮される。このように最高クエリが後方へ収縮された後方収縮クエリが最高クエリと共に検索エンジンへ出力される。
【００４７】
また、最高クエリの末尾の自立語ｅから前方へ向けて最高クエリを収縮させる場合、クエリ伸縮部１８ｂは、最高クエリに含まれる末尾の自立語ｅからその前方を探索しながら、末尾の自立語ｅ、さらには、末尾の自立語ｅに後続する自立語を順次削除する。このとき、クエリ伸縮部１８ｂは、自立語が削除される度に、新たに削除される自立語により後方へ収縮された後方収縮クエリを、検索エンジンに出力するクエリとして抽出する。このように最高クエリの末尾の自立語ｅから順に自立語が先頭の自立語ｓへ向けて削除される場合、所定数Ｎの自立語が削除されるまで、「先頭の自立語ｓ・・・＋末尾の１つ前の自立語」、「先頭の自立語ｓ・・・＋末尾の２つ前の自立語」、・・・、「先頭の自立語ｓ・・・＋末尾のＮ−１個前の自立語」といった要領で最高クエリが後方へ収縮される。このように最高クエリが前方へ収縮された前方収縮クエリが最高クエリと共に検索エンジンへ出力される。
【００４８】
このようにして得られた伸張クエリ及び収縮クエリは、最高クエリと共に表示部１０ｂへ表示される。その後、最高クエリ、伸張クエリ及び収縮クエリのうち入力部１０ａを介して選択されたクエリが検索エンジンへ出力される。
【００４９】
検索部１９は、検索エンジンに出力されるクエリにしたがって本文の関連箇所を検索する処理部である。
【００５０】
一実施形態として、検索部１９は、検索エンジンを実行することにより実装される。かかる検索エンジンは、ロボット型、ディレクトリ型あるいはメタ検索エンジンなどの如何なるタイプのものであってもかまわない。例えば、検索部１９は、指定部１３により位置の指定が受け付けられた要約に対応する本文の段落のうち、入力部１０ａを介して選択された最高クエリ、伸張クエリまたは収縮クエリに対応する段落を検索する。このとき、検索部１９は、最高クエリ、伸張クエリまたは収縮クエリを用いて、本文に含まれる文字列の全文検索を行うこととしてもよいし、本文から生成された転置インデックス等を検索することもできる。その後、検索部１９により検索された段落もしくは当該段落と共にその周辺の段落を含む本文画面が表示制御部１２により表示部１０ｂへ表示される。
【００５１】
なお、上記の表示制御部１２、指定部１３、文特定部１４、形態素解析部１５、候補抽出部１６、第１算出部１７ａ、第２算出部１７ｂ、クエリ選択部１８ａ、クエリ伸縮部１８ｂ及び検索部１９などの処理部は、次のようにして実装できる。例えば、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）などに、上記の各処理部と同様の機能を発揮するプロセスをメモリ上に展開して実行させることにより実現できる。これらの機能部は、必ずしも中央処理装置で実行されずともよく、ＭＰＵ（Micro  Processing  Unit）に実行させることとしてもよい。また、上記の各機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００５２】
また、文献記憶部１１や上記の各処理部がワークエリアとして参照する主記憶装置には、一例として、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。また、上記の各処理部が参照する記憶装置は、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。
【００５３】
［具体例］
図２〜図５を用いて、上記の本文検索処理の具体例について説明する。図２は、要約の一例を示す図である。図２の上段には、「音声合成」に関する論文の要約の一部が抜粋して示されており、図２の中段には、指定部１３により指定が受け付けられた位置が星印で示されている。さらに、図２の下段には、文特定部１４により特定された文が下線で示されると共に、説明の便宜上、指定単語が強調斜体で示されている。
【００５４】
図２の上段で示される通り、要約には、「・・・音声合成には韻律という概念が重要な役割を果たす。本論文では、韻律の生成にコーパスベース方式を採用しているが、波形の処理には・・・」といった文章が含まれる。
【００５５】
このような要約の表示の下、閲覧者が要約に記載されているコーパスベースに対応する本文の関連箇所を検索する意図で、図２の中段に星印で示す位置を指定する状況を仮定する。この場合、図２の下段に下線で示す通り、当該星印が重なる文字「律」を含む１文が文特定部１４により特定される。このとき、指定単語「韻律」には、ｉ＝１がインデックスとして付与され、以降、生成にはｉ＝２、コーパスベースにはｉ＝３、方式にはｉ＝４、採用にはｉ＝５、波形にはｉ＝６がインデックスとして付与される。その後、指定単語「韻律」の後方を探索しながら、指定単語「韻律」に後続する自立語がそれまでに探索された自立語の組合せへ順次追加される。この例で言えば、「韻律」、「韻律＋生成」、「韻律＋生成＋コーパスベース」、「韻律＋生成＋コーパスベース＋方式」、「韻律＋生成＋コーパスベース＋方式＋採用」、「韻律＋生成＋コーパスベース＋方式＋採用＋波形」、・・・となどといったクエリ候補が抽出される。
【００５６】
図３は、本文の一例を示す図である。図３には、「音声合成」に関する論文の本文に含まれる段落のうち３つの段落が抜粋して示されている。図３に示す３つの段落には、いずれも指定単語「韻律」が含まれるが、上から１番目に示す段落には、韻律に関する話題が記述されており、上から３番目に示す段落には、波形処理に関する話題が記述されている。これら上から１番目の段落及び上から３番目の段落が検索される場合、コーパスベースに対応する本文の関連箇所を閲覧したいという閲覧者の意図とは異なる段落が検索される事態に陥る。
【００５７】
例えば、上記の背景技術で説明した文献情報管理システムを用いる場合、指定単語「韻律」を用いて、本文の関連箇所が検索される。このように１つの形態素だけをキーワードに用いる場合、図３に示す本文の中から、指定単語「韻律」の出現回数が最も多い段落、本例では図３の上から１番目の段落が検索されることになる。
【００５８】
そうであるからと言って、指定単語「韻律」を含む１文をクエリとすればよい訳でもない。すなわち、指定単語「韻律」を含む１文をクエリとする場合、図２の下段に下線で示す通り、「本論文では、韻律の生成にコーパスベース方式を採用しているが、波形の処理には・・・」といった１文がクエリとされる。この１文は、句点「。」により区切られた文であり、実質的には、読点「、」の前後にコーパスベースの話題と波形処理の話題との２つの話題が含まれている。この場合、韻律、コーパスベース、波形や処理などの全ての単語が含まれる段落、本例では図３の上から３番目の段落が検索されることになる。
【００５９】
このように、指定単語「韻律」だけをクエリとする場合、並びに、指定単語「韻律」を含む１文をクエリとする場合のいずれも、コーパスベースに関する話題が記述された段落、本例では図３の上から２番目の段落を検索することはできない。
【００６０】
これらのことから、本実施例では、指定単語「韻律」の後方を探索しながら、指定単語「韻律」に後続する自立語をそれまでに探索された自立語の組合せへ順次追加することにより、複数のクエリ候補を生成する。言い換えれば、必ずしもクエリを指定単語「韻律」単独で固定したり、クエリを指定単語「韻律」を含む１文で固定したりといったクエリの生成は行わない。
【００６１】
本例の場合、「韻律」、「韻律＋生成」、「韻律＋生成＋コーパスベース」、「韻律＋生成＋コーパスベース＋方式」、「韻律＋生成＋コーパスベース＋方式＋採用」、「韻律＋生成＋コーパスベース＋方式＋採用＋波形」、・・・となどといったクエリ候補が抽出される。
【００６２】
そして、本実施例では、各クエリ候補の生成に用いられた自立語ごとにｔｆ−ｉｄｆを算出した上でクエリ候補ごとに当該クエリ候補に含まれる自立語のｔｆ−ｉｄｆの平均値を算出することにより、各クエリ候補の検索精度を評価する。
【００６３】
つまり、「韻律」の各段落におけるｔｆ−ｉｄｆ、「生成」の各段落におけるｔｆ−ｉｄｆ、「コーパスベース」の各段落におけるｔｆ−ｉｄｆ、「方式」の各段落におけるｔｆ−ｉｄｆ、「採用」の各段落におけるｔｆ−ｉｄｆ、「波形」の各段落におけるｔｆ−ｉｄｆ、といった要領で、各自立語のｔｆ−ｉｄｆが算出される。その上で、各クエリ候補「韻律」、「韻律＋生成」、「韻律＋生成＋コーパスベース」、「韻律＋生成＋コーパスベース＋方式」、「韻律＋生成＋コーパスベース＋方式＋採用」、「韻律＋生成＋コーパスベース＋方式＋採用＋波形」、・・・となどといったクエリ候補ごとに、上記の式（１）に示すクエリ精度関数にしたがって検索精度が算出される。
【００６４】
図４は、クエリ候補の検索精度の一例を示す図である。図４に示すグラフの縦軸は、クエリ精度関数にしたがって算出された検索精度を指し、グラフの横軸は、クエリ候補が含む自立語の個数を指す。図４に示すように、クエリ候補に含まれる自立語の数が増加するほどクエリ精度関数により求まる精度関数の評価値は増加するが、自立語の数が５つでピークを取り、その後、自立語の数が増加しても検索精度の評価値は減少している。このことから、検索精度の評価値が最高となるクエリ候補、すなわち「韻律＋生成＋コーパスベース＋方式＋採用」の５つの自立語を含むクエリ候補が上記の最高クエリとして選択される。
【００６５】
このような最高クエリによれば、自立語の組合せ「韻律＋生成＋コーパスベース＋方式＋採用」もしくは形態素列「韻律の生成にコーパスベース方式を採用」をクエリとし、文献の本文に含まれる段落を検索できる。このため、検索に用いられるクエリが指定単語「韻律」の単独と決定されることにより、指定単語「韻律」の出現回数が最多である段落、すなわち図３に示す上から１番目の段落が検索されることを抑制できる。また、検索に用いられるクエリが指定単語「韻律」を含む１文の全文と決定されることにより、読点「、」で区切られた後に出現する単語、すなわち実質的に異なる文章中の単語「波形」がクエリに含まれることを抑制できる結果、図３に示す上から３番目の段落が検索されることも抑制できる。この結果、閲覧者の意図通り、図３に示す上から２番目の段落を検索できるクエリを検索エンジンへ出力できる。
【００６６】
さらに、上記の最高クエリの導出により次のような効果を得ることもできる。すなわち、本例では、閲覧者が要約に記載されているコーパスベースに対応する本文の関連箇所を検索する意図であるにもかかわらず、意図通りの操作、すなわち「コーパスベース」を指定単語とする操作ができていない。このように必ずしも意図通りの単語を照準にして操作が行われていない場合でも、意図通りの検索結果を得ることができる。
【００６７】
また、ここでは、最高クエリだけを検索エンジンに出力する例を説明したが、図５に示す通り、閲覧者に複数の選択肢を提示することもできる。図５は、クエリ候補の検索精度の一例を示す図である。図５に示すグラフの縦軸は、クエリ精度関数にしたがって算出された検索精度を指し、グラフの横軸は、クエリ候補が含む自立語の個数を指す。図５に示すように、最高クエリから前後の所定数の自立語を増減させた自立語または自立語の組合せを最高クエリと共に表示部１０ｂに表示させる。
【００６８】
例えば、上記の最高クエリと共に、伸張クエリ及び収縮クエリを提示することもできる。本例で言えば、一例として、伸張及び収縮を行う単語の数Ｎを１としたとき、前方伸張クエリとして「論文＋韻律＋生成＋コーパスベース＋方式＋採用」を出力すると共に後方伸張クエリとして「韻律＋生成＋コーパスベース＋方式＋採用＋波形」を出力し、後方収縮クエリとして「生成＋コーパスベース＋方式＋採用」を出力すると共に前方収縮クエリとして「韻律＋生成＋コーパスベース＋方式」を出力することもできる。これら前方伸張クエリ、後方伸張クエリ、後方収縮クエリ及び前方収縮クエリは、４種類の全てを出力することとしてもよいし、少なくともいずれか１つを出力することができる。なお、ここでは、表示部１０ｂに最高クエリ、伸張クエリ及び収縮クエリを表示させた上で３種類のクエリの中から検索に用いるクエリを選択させる場合を例示したが、最高クエリ、伸張クエリ及び収縮クエリの３種類のクエリごとに本文の関連箇所を検索し、その検索結果の一覧を表示部１０ｂに表示させることとしてもよい。
【００６９】
［処理の流れ］
次に、本実施例に係る文献表示装置１０の処理の流れについて説明する。ここでは、文献表示装置１０が実行する（１）全体処理を説明した後に、そのサブフローである（２）検索精度算出処理、（３）クエリ伸縮処理を説明することとする。
【００７０】
（１）全体処理
図６は、実施例１に係る文献表示処理の手順を示すフローチャートである。この処理は、あくまで一例として、表示部１０ｂに文献のタイトル等が一覧表示されたメニュー画面が表示された状態で文献の指定が行われることにより、当該指定が行われた文献の要約またはその一部を含む文献の要約画面が表示部１０ｂに呼び出された場合に起動する。
【００７１】
図６に示すように、文献の要約画面が表示部１０ｂに表示されると（ステップＳ１０１）、指定部１３は、表示部１０ｂに表示された文献の要約画面上で入力部１０ａを介して位置の指定を受け付ける（ステップＳ１０２）。
【００７２】
続いて、文特定部１４は、表示部１０ｂに表示された要約画面に含まれる要約の文字列のうちステップＳ１０２で指定が受け付けられた位置に存在する文字が属する一文を特定する（ステップＳ１０３）。そして、形態素解析部１５は、ステップＳ１０３で特定された文に形態素解析を実行する（ステップＳ１０４）。
【００７３】
その後、候補抽出部１６は、ステップＳ１０２で位置の指定が受け付けられた文字を含む単語と、ステップＳ１０４で解析された文が含む形態素のうち自立語とを組み合わせることにより、クエリ候補を抽出する（ステップＳ１０５）。
【００７４】
そして、第１算出部１７ａは、ステップＳ１０３で特定された文に含まれる自立語のうちステップＳ１０５で抽出されたクエリ候補に含まれる自立語ごとに当該自立語の各段落におけるｔｆ−ｉｄｆを算出する（ステップＳ１０６）。
【００７５】
その上で、第２算出部１７ｂは、ステップＳ１０６で算出された各自立語のｔｆ−ｉｄｆの算出結果を上記の式（１）に示すクエリ精度関数へクエリ候補ごとに代入することにより、クエリ候補ごとに当該クエリ候補の検索精度を算出する（ステップＳ１０７）。
【００７６】
続いて、クエリ選択部１８ａは、ステップＳ１０５で抽出されたクエリ候補のうちステップＳ１０７で算出された検索精度が最高であるクエリ候補を最高クエリとして選択する（ステップＳ１０８）。
【００７７】
そして、クエリ伸縮部１８ｂは、ステップＳ１０８で選択された最高クエリの始端または終端を伸縮することにより、伸張クエリ及び収縮クエリを生成する（ステップＳ１０９）。
【００７８】
その後、表示制御部１２は、ステップＳ１０８でクエリ候補の中から選択された最高クエリと共に、ステップＳ１０９のクエリ伸縮処理で得られた伸張クエリ及び収縮クエリを表示部１０ｂに表示させた上で、３種類のクエリの中から検索に用いるクエリの選択を受け付ける（ステップＳ１１０）。
【００７９】
そして、検索部１９は、ステップＳ１０２で位置の指定が受け付けられた要約に対応する本文の段落のうち、ステップＳ１１０で選択された最高クエリ、伸張クエリまたは収縮クエリに対応する段落を検索する（ステップＳ１１１）。
【００８０】
その後、表示制御部１２は、ステップＳ１１１で検索された本文の関連箇所の検索結果を含む検索結果画面を表示部１０ｂに表示させ（ステップＳ１１２）、処理を終了する。
【００８１】
（２）検索精度算出処理
図７は、実施例１に係る検索精度算出処理の手順を示すフローチャートである。この処理は、図６に示すステップＳ１０７に示す処理に対応し、ステップＳ１０６で各自立語のｔｆ−ｉｄｆが算出された場合に起動する。なお、このフローチャートでは、１つのクエリ候補Ｋに関する検索精度算出処理が抜粋して示されているが、全てのクエリ候補の検索精度の評価値が算出されるまで図７に示す検索精度算出処理が繰り返し実行される。
【００８２】
図７に示すように、第２算出部１７ｂは、上記の式（１）に示すクエリ精度関数により算出されるクエリ候補Ｋの検索精度の評価値が格納されるレジスタＱの値を「０」に初期化する（ステップＳ２０１）。
【００８３】
その後、第２算出部１７ｂは、本文に含まれる段落のループ変数ｊのカウンタの値を「１」に初期化し、ループ変数ｊのカウンタの値で識別される段落に対し、下記のステップＳ２０２〜下記のステップＳ２０６までの処理を実行する。
【００８４】
すなわち、第２算出部１７ｂは、クエリ候補Ｋの自立語ｉのｔｆ−ｉｄｆの和が格納されるレジスタＳＵＭの値を「０」に初期化すると共に、ｔｆ−ｉｄｆの和が算出される自立語の個数がカウントされるカウンタＮの値を「０」に初期化する（ステップＳ２０２）。
【００８５】
その後、第２算出部１７ｂは、クエリ候補Ｋに含まれる自立語のループ変数ｉのカウンタの値を「１」に初期化し、ループ変数ｉのカウンタの値で識別される自立語に対し、下記のステップＳ２０３の処理を実行する。
【００８６】
ステップＳ２０３において、第２算出部１７ｂは、レジスタＳＵＭに保持される値に、ｉ番目の自立語のｊ番目の本文におけるｔｆ−ｉｄｆ、すなわち「ＴＦＩＤＦ（ｉ，ｊ）」の値を加算する。これと共に、第２算出部１７ｂは、ｔｆ−ｉｄｆの和が算出される自立語の個数のカウンタＮの値を１つインクリメントする。
【００８７】
その後、第２算出部１７ｂは、下記のステップＳ２０３の処理が実行された場合にループ変数ｉのカウンタの値を１つインクリメントし、ループ変数ｉのカウンタの値がクエリ候補Ｋに含まれる自立語の総数ｎと同数になるまで、上記のステップＳ２０３の処理を繰り返し実行する。
【００８８】
そして、ループ変数ｉのカウンタの値がクエリ候補Ｋに含まれる自立語の総数ｎと同数である場合、第２算出部１７ｂは、ステップＳ２０４の処理を実行する。すなわち、第２算出部１７ｂは、クエリ候補Ｋに含まれる全ての自立語ｉの段落ｊのｔｆ−ｉｄｆの和が保持されたレジスタＳＵＭの値を、クエリ候補Ｋに含まれる自立語の総数が保持されたカウンタＮの値で除算する。これによって、レジスタＳＵＭには、クエリ候補Ｋの段落ｊに関する検索精度の評価値が保持されることになる。
【００８９】
その上で、第２算出部１７ｂは、ステップＳ２０４の除算、すなわちｔｆ−ｉｄｆの平均化が実行されたレジスタＳＵＭの値が、レジスタＱに保持された値よりも大きいか否かを判定する（ステップＳ２０５）。
【００９０】
ここで、レジスタＳＵＭの値がレジスタＱに保持された値よりも大きい場合（ステップＳ２０５Ｙｅｓ）、ループ変数ｊで識別される段落の方がループ変数ｊよりも小さいループ変数で識別される段落に比べて、ステップＳ２０４で算出される検索精度の評価値が大きいことが判明する。この場合、第２算出部１７ｂは、上記の式（１）のクエリ精度関数における「ｍａｘ（）」の規定にしたがってレジスタＱの値をレジスタＳＵＭの値へ更新する（ステップＳ２０６）。
【００９１】
一方、レジスタＳＵＭの値がレジスタＱに保持された値以下である場合（ステップＳ２０５Ｎｏ）、ループ変数ｊで識別される段落の方がループ変数ｊよりも小さいループ変数で識別される段落に比べて、ステップＳ２０４で算出される検索精度の評価値が同じまたは小さいことが判明する。この場合、ステップＳ２０６の処理は実行されず、レジスタＱの値は更新されない。
【００９２】
その後、第２算出部１７ｂは、上記のステップＳ２０６の処理が実行された場合、あるいは上記のステップＳ２０５の処理の分岐でＮｏへ進む場合にループ変数ｊのカウンタの値を１つインクリメントし、ループ変数ｊのカウンタの値が本文内の段落の総数Ｍと同数になるまで、上記のステップＳ２０２〜上記のステップＳ２０６までの処理を繰り返し実行する。
【００９３】
これによって、レジスタＱには、クエリ候補Ｋに含まれる各自立語のｔｆ−ｉｄｆの和の平均値が段落ごとに算出された上で、各段落のうち最大値を持つ段落に関する各自立語のｔｆ−ｉｄｆの和の平均値が保持されることになる。
【００９４】
そして、ループ変数ｊのカウンタの値が本文内の段落の総数Ｍと同数である場合、第２算出部１７ｂは、レジスタＱに保持された値をクエリ候補Ｋの検索精度の評価値としてクエリ選択部１８ａへ出力し（ステップＳ２０７）、処理を終了する。
【００９５】
以上のステップＳ２０１〜ステップＳ２０７の処理が全てのクエリ候補の検索精度の評価値が算出されるまで繰り返し実行されることにより、各クエリ候補の検索精度の評価値が得られる。
【００９６】
（３）クエリ伸縮処理
図８は、実施例１に係るクエリ伸縮処理の手順を示すフローチャートである。この処理は、図６に示したステップＳ１０９に対応する処理であり、ステップＳ１０８で最高クエリが選択された場合に起動される。このフローチャートでは、最高クエリの始端を前方へ拡張する前方拡張処理を実行することにより前方拡張クエリを生成する場合を例示したが、後方拡張クエリ、前方収縮クエリまたは後方収縮クエリを生成する場合も同様の処理で実現できる。
【００９７】
図８に示すように、クエリ伸縮部１８ｂは、最高クエリの始端を前方へ拡張する自立語の個数を格納するレジスタＮに所定値、例えば０以上の任意の整数を設定し、クエリの始端となる自立語のポインタを格納するレジスタｓに最高クエリの先頭の自立語を設定すると共に、クエリの終端となる自立語のポインタを格納するレジスタｅに最高クエリの末尾の自立語を設定する（ステップＳ３０１）。
【００９８】
その後、クエリ伸縮部１８ｂは、クエリ選択部１８ａ及びクエリ伸縮部１８ｂによりこれまでに生成されたクエリ数をカウントするカウンタＩに最高クエリの分を含む初期値「１」を設定する（ステップＳ３０２）。
【００９９】
続いて、クエリ伸縮部１８ｂは、レジスタｓに保持されたポインタに対応する自立語が文特定部１４により特定された１文の最初の自立語であるか否かを判定する（ステップＳ３０３）。このとき、レジスタｓに保持されたポインタに対応する自立語が文特定部１４により特定された１文の最初の自立語である場合（ステップＳ３０３Ｙｅｓ）、クエリの始端を前方へ拡張する余地がないことが判明する。この場合、クエリ伸縮部１８ｂは、処理を終了する。
【０１００】
一方、レジスタｓに保持されたポインタに対応する自立語が文特定部１４により特定された１文の最初の自立語でない場合（ステップＳ３０３Ｎｏ）、クエリの始端を前方へ拡張する余地があることが判明する。この場合、クエリ伸縮部１８ｂは、レジスタｓに保持されたポインタを当該ポインタが示す自立語の１つ前の自立語へ更新すると共に、更新後のレジスタｓ及びレジスタｅの各ポインタにより定まる自立語の組合せまたは各自立語の間に付属語をさらに含む形態素列を前方拡張クエリＪとして追加する（ステップＳ３０４）。
【０１０１】
そして、クエリ伸縮部１８ｂは、ステップＳ３０４で追加された前方拡張クエリＪを上記の出力クエリに追加すると共に、カウンタＩの値を１つインクリメントする（ステップＳ３０５）。
【０１０２】
その後、クエリ伸縮部１８ｂは、カウンタＩの値がレジスタＮの値以下であるか否かを判定する（ステップＳ３０６）。このとき、カウンタＩの値がレジスタＮの値以下である場合（ステップＳ３０６Ｙｅｓ）、最高クエリの始端がカウンタＮに設定された個数にわたって前方へ拡張されていないことが判明する。この場合、クエリ伸縮部１８ｂは、上記のステップＳ３０３の処理へ戻り、ステップＳ３０３の分岐でＮｏに進むことを条件にステップＳ３０４及びステップＳ３０５の処理を繰り返し実行する。
【０１０３】
また、カウンタＩの値がレジスタＮの値を超える場合（ステップＳ３０６Ｎｏ）、最高クエリの始端がカウンタＮに設定された個数にわたって前方へ拡張されたことが判明する。この場合、クエリ伸縮部１８ｂは、このまま処理を終了する。
【０１０４】
［効果の一側面］
上述してきたように、本実施例に係る文献表示装置１０は、要約で指定された単語が属する文に含まれる単語の組合せごとに各単語のｔｆ−ｉｄｆの統計値を算出し、これがピークをとる単語の組合せを本文の関連箇所の検索に用いる。したがって、本実施例によれば、要約の指定箇所に対応する本文の関連箇所を検索する精度を向上させることができる。
【実施例２】
【０１０５】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１０６】
［クエリ候補］
上記の実施例１では、指定単語に後続する自立語または指定単語に先行する自立語を順次追加することによりクエリ候補を抽出する場合を例示したが、抽出方法はこれに限定されない。すなわち、文特定部１４により特定された文に含まれる自立語もしくは自立語の組合せであれば、自立語の個数は不問であり、かつクエリ候補に如何なる自立語を含めることとしてもかまわない。例えば、指定単語と組み合わせる単語は指定単語と位置が近い単語の順でなくもともよく、また、クエリ候補には必ずしも指定単語が含まれておらずともよく、また、指定単語及びその２つ後の自立語の組合せといったように、指定単語の１つ後の自立語を飛ばしてクエリ候補を抽出することもできる。
【０１０７】
［クエリ精度関数］
上記の実施例１では、クエリ候補ごとに各自立語のｔｆ−ｉｄｆの平均値を算出する場合を例示したが、必ずしも平均値に限定さない。例えば、平均値以外の統計値、例えば最頻値や中央値などを用いることとしてもかまわない。
【０１０８】
［応用例１］
上記の実施例１では、クエリ候補のうち最高クエリが選択される場合を例示したが、最高クエリ以外にも所定の条件を満たすクエリ候補を抽出することもできる。例えば、文献表示装置１０は、候補抽出部１６により上記の実施例１に示す例に限定されずに抽出されたクエリ候補を第２算出部１７ｂにより算出された検索精度の評価値が高い順にソートする。その上で、クエリ選択部１８ａは、検索精度の評価値が高い順にソートされたクエリ候補のうち上位の所定数に含まれるクエリ候補も選択することができる。
【０１０９】
図９は、応用例を示す図である。図９に示すグラフの縦軸は、クエリ精度関数にしたがって算出される検索精度の評価値を指し、グラフの横軸は、クエリ候補が含む自立語の個数を指す。図９に示すように、クエリ選択部１８ａは、一例として、検索精度の評価値が１位である最高クエリ以外にも、検索精度の評価値が上位３つに含まれるクエリ候補も選択することができる。このように複数のクエリ候補を検索に用いるクエリとして選択することにより、表示部１０ｂや検索エンジンへ出力されるクエリの選択肢を増やすことができる結果、閲覧者が意図するクエリが含まれる可能性を高めることができる。
【０１１０】
［応用例２］
上記の応用例１では、検索精度の評価値が上位の所定数に含まれるクエリ候補が選択される場合を例示したが、これ以外の方法でも複数のクエリ候補を選択することもできる。例えば、文献表示装置１０は、候補抽出部１６により上記の実施例１に示す例に限定されずに抽出されたクエリ候補のうち第２算出部１７ｂにより算出された検索精度の評価値が所定の閾値以上であるクエリ候補を選択することもできる。
【０１１１】
図１０は、応用例を示す図である。図１０に示すグラフの縦軸は、クエリ精度関数にしたがって算出される検索精度の評価値を指し、グラフの横軸は、クエリ候補が含む自立語の個数を指す。図１０に示すように、クエリ選択部１８ａは、検索精度の評価値が閾値以上であるクエリ候補、図示の例では４つのクエリ候補を選択することができる。このように複数のクエリ候補を検索に用いるクエリとして選択することにより、表示部１０ｂや検索エンジンへ出力されるクエリの選択肢を増やすことができる結果、閲覧者が意図するクエリが含まれる可能性を高めることができる。
【０１１２】
かかる閾値は、固定値とすることもできるが、最高クエリに基づいて設定することもできる。例えば、最高クエリが持つ検索精度の評価値に所定の係数α（０＜α＜１）、例えば０．７や０．８などを乗算することにより、上記の閾値を動的に設定することもできる。
【０１１３】
［適用場面］
上記の実施例１では、要約の指定箇所から本文の関連箇所が検索される場合を例示したが、適用場面は必ずしも論文、白書や特許出願で提出される明細書などの各種の文献に限定されない。例えば、上記の文献以外であっても、各種の文書ファイルに含まれる箇所から同一または異なる文書ファイル内の関連箇所を検索する場合に、上記の文献表示装置１０を適用できる。
【０１１４】
［他の実装例］
例えば、文献表示装置１０が上記の文献表示プログラムを外部のリソースに依存せずに単独で実行するスタンドアローンで実装される場合を例示したが、他の実装形態を採用することもできる。例えば、要約、本文またはこれらの両方の表示を行うクライアント端末に対し、上記の文献表示処理に対応する文献表示サービスを提供するサーバ装置を設けることによってクライアントサーバシステムとして構築することもできる。例えば、サーバ装置は、上記の文献表示サービスを提供するＷｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の文献表示サービスを提供するクラウドとして実装することとしてもかまわない。
【０１１５】
この場合、一例として、図１に示した処理部のうち、一部の処理部をクライアント端末に実装し、残りの処理部をサーバへ実装させることができる。例えば、計算量が他の処理部に比べて大きくなる第１算出部１７ａ及び第２算出部１７ｂなどの処理部をサーバ装置に実装すると共に、残りの処理部をクライアント端末に実装することにより、計算量の低減を図ることもできる。また、クライアント端末により表示される文献に関する文書ファイルは、必ずしもクライアント端末上でスタティックに記憶されるものとは限らず、サーバ装置により提供される場合もある。この場合、クライアント端末には、必ずしも文献記憶部１１は備えられずともかまわない。さらに、サーバ装置により文献に関する文書ファイルが記憶される場合、第１算出部１７ａ及び第２算出部１７ｂに加え、検索部１９をさらにサーバ装置に備えさせることとしてもかまわない。
【０１１６】
また、一例として、クライアント端末を入力部１０ａ、表示部１０ｂ及び入出力に準じる機能部だけを有するシンクライアント端末とし、シンクライアントシステムとして構築することもできる。この場合には、各種のリソース、例えば文献の文書ファイルもサーバにより保持されると共に、その表示用ソフトもサーバ装置で仮想マシンとして実装されることになる。この場合、図１に示した処理部のうち指定部１３以外の処理部はサーバ装置に実装することとすればよい。
【０１１７】
［文献表示プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、上記の実施例と同様の機能を有する文献表示プログラムを実行するコンピュータの一例について説明する。
【０１１８】
図１１は、実施例１及び実施例２に係る文献表示プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１１に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１１９】
ＨＤＤ１７０には、図１１に示すように、上記の実施例１で示した各処理部と同様の機能を発揮する文献表示プログラム１７０ａが記憶される。この文献表示プログラム１７０ａは、図１に示した処理部の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【０１２０】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から文献表示プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、文献表示プログラム１７０ａは、図１１に示すように、文献表示プロセス１８０ａとして機能する。この文献表示プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち文献表示プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、文献表示プロセス１８０ａが実行する処理の一例として、図６〜図８に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１２１】
なお、上記の文献表示プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に文献表示プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から文献表示プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに文献表示プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【０１２２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２３】
（付記１）コンピュータが、
検索対象となる文書内の単語を指定する処理と、
指定された単語が属する文を特定する処理と、
指定された単語と、前記文の形態素解析の結果に含まれる単語との組合せを抽出する処理と、
単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する処理と、
単語の組合せごとに各単語の指標の統計値を算出する処理と、
前記単語の組合せのうち前記統計値が最大である単語の組合せを選択する処理と
を実行することを特徴とする文献表示方法。
【０１２４】
（付記２）前記抽出する処理は、前記文に含まれる単語のうち前記指定された単語との位置が近い単語から順に、当該単語を前記指定された単語へ追加することにより、前記単語の組合せを抽出することを特徴とする付記１に記載の文献表示方法。
【０１２５】
（付記３）前記抽出する処理は、前記文に含まれる単語のうち前記指定された単語に先行する単語または前記指定された単語に後続する単語を前記指定された単語との位置が近い単語から順に、当該単語を前記指定された単語へ追加する処理を繰り返すことにより、複数の単語の組合せを抽出することを特徴とする付記２に記載の文献表示方法。
【０１２６】
（付記４）前記コンピュータが、
前記統計値が最大である単語の組合せの先頭または末尾を前記指定された単語よりも前方または後方へ伸張することにより、伸張後の単語を先頭または末尾とする単語の組合せをさらに生成する処理をさらに実行することを特徴とする付記１、２または３に記載の文献表示方法。
【０１２７】
（付記５）前記コンピュータが、
前記統計値が最大である単語の組合せの先頭または末尾を前記指定された単語よりも後方または前方へ収縮することにより、収縮後の単語を先頭または末尾とする単語の組合せをさらに生成する処理をさらに実行することを特徴とする付記１、２または３に記載の文献表示方法。
【０１２８】
（付記６）前記選択する処理は、前記単語の組合せのうち前記統計値が上位の所定数に含まれる単語の組合せを選択することを特徴とする付記１〜５のいずれか１つに記載の文献表示方法。
【０１２９】
（付記７）前記選択する処理は、前記単語の組合せのうち前記統計値が所定の閾値以上である単語の組合せを選択することを特徴とする付記１〜５のいずれか１つに記載の文献表示方法。
【０１３０】
（付記８）前記指標は、ｔｆ−ｉｄｆであることを特徴とする付記１〜７のいずれか１つに記載の文献表示方法。
【０１３１】
（付記９）コンピュータに、
検索対象となる文書内の単語を指定する処理と、
指定された単語が属する文を特定する処理と、
指定された単語と、前記文の形態素解析の結果に含まれる単語との組合せを抽出する処理と、
単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する処理と、
単語の組合せごとに各単語の指標の統計値を算出する処理と、
前記単語の組合せのうち前記統計値が最大である単語の組合せを選択する処理と
をコンピュータに実行させる文献表示プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１３２】
（付記１０）検索対象となる文書内の単語を指定する指定部と、
指定された単語が属する文を特定する文特定部と、
指定された単語と、前記文の形態素解析の結果に含まれる単語との組合せを抽出する抽出部と、
単語ごとに出現頻度及び逆文書頻度から定まる指標を算出する第１算出部と、
単語の組合せごとに各単語の指標の統計値を算出する第２算出部と、
前記単語の組合せのうち前記統計値が最大である単語の組合せを選択する選択部と
を有することを特徴とする文献表示装置。
【符号の説明】
【０１３３】
１０    文献表示装置
１０ａ  入力部
１０ｂ  表示部
１１    文献記憶部
１２    表示制御部
１３    指定部
１４    文特定部
１５    形態素解析部
１６    候補抽出部
１７ａ  第１算出部
１７ｂ  第２算出部
１８ａ  クエリ選択部
１８ｂ  クエリ伸縮部
１９    検索部
【図１】
2017068757.tif 000004
【図２】
2017068757.tif 000005
【図３】
2017068757.tif 000006
【図４】
2017068757.tif 000007
【図５】
2017068757.tif 000008
【図６】
2017068757.tif 000009
【図７】
2017068757.tif 000010
【図８】
2017068757.tif 000011
【図９】
2017068757.tif 000012
【図１０】
2017068757.tif 000013
【図１１】
2017068757.tif 000014