(57)【要約】【課題】  本発明は，情報検索システムを提供することを目的とする。【解決手段】  キーワードの入力を受け付けるキーワード受付処理部と，キーワードを用いて検索装置に検索処理を実行させる検索処理部と，検索処理による検索結果を受け付ける検索結果受付処理部と，検索結果に基づいて関連語を特定する関連語特定処理部と，を有しており，検索処理部は，特定した関連語を用いて再度の検索処理を実行させる，情報検索システムである。【選択図】  図１
2019211884.tif 000002
【特許請求の範囲】
【請求項１】
情報を検索する情報検索システムであって，
前記情報検索システムは，
キーワードの入力を受け付けるキーワード受付処理部と，
前記キーワードを用いて検索装置に検索処理を実行させる検索処理部と，
前記検索処理による検索結果を受け付ける検索結果受付処理部と，
前記検索結果に基づいて関連語を特定する関連語特定処理部と，を有しており，
前記検索処理部は，
前記特定した関連語を用いて再度の検索処理を実行させる，
ことを特徴とする情報検索システム。
【請求項２】
前記検索処理部は，
前記特定した関連語と前記キーワードとを用いて前記検索装置に再度の検索処理を実行させる，
ことを特徴とする請求項１に記載の情報検索システム。
【請求項３】
前記検索処理部は，
前記特定した関連語を用いて前記検索結果を検索することで，再度の検索処理を実行する，
ことを特徴とする請求項１に記載の情報検索システム。
【請求項４】
前記関連語特定処理部は，
前記検索結果に基づいて取得したテキスト情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部と，
前記文ベクトルを用いてクラスタリングをするクラスタリング処理部と，
各クラスタについて，前記文ベクトルの平均と，類似度が所定範囲にある単語ベクトルを有する単語をクラスタの項目名として特定をし，特定した項目名をソートして所定範囲にある項目名を，関連語として特定をする項目名特定処理部と，
を有することを特徴とする請求項１から請求項３のいずれかに記載の情報検索システム。
【請求項５】
前記関連語特定処理部は，
前記検索結果に基づいて取得したテキスト情報の一部または全部の文における文節について文節ベクトルを算出する文節ベクトル算出処理部と，
前記文節ベクトルを用いてクラスタリングをするクラスタリング処理部と，
各クラスタについて，前記文節ベクトルの平均と，類似度が所定範囲にある単語ベクトルを有する単語をクラスタの項目名として特定をし，特定した項目名をソートして所定範囲にある項目名を，関連語として特定をする項目名特定処理部と，
を有することを特徴とする請求項１から請求項３のいずれかに記載の情報検索システム。
【請求項６】
前記情報検索システムは，さらに，
前記クラスタリング処理の結果，一部または全部のクラスタを表形式で出力する表形式処理部，
を有することを特徴とする請求項４または請求項５に記載の情報検索システム。
【請求項７】
前記情報検索システムは，さらに，
前記クラスタの重要度または出現位置に基づいて，前記クラスタをソートするクラスタソート処理部，を有しており，
前記表形式処理部は，
前記クラスタをソートした結果，上位所定数のクラスタを表形式で出力をする，
ことを特徴とする請求項４から請求項６のいずれかに記載の情報検索システム。
【請求項８】
前記情報検索システムは，さらに，
前記クラスタの文の密集度を算出する密集度算出処理部，を有しており，
前記クラスタソート処理部は，
前記算出した密集度を用いて前記重要度を算出し，前記算出した重要度に基づいて，前記クラスタをソートする，
ことを特徴とする請求項７に記載の情報検索システム。
【請求項９】
前記情報検索システムは，さらに，
前記クラスタに対して網羅度を算出する網羅度算出処理部，を有しており，
前記クラスタソート処理部は，
前記算出した網羅度を用いて前記重要度を算出し，前記算出した重要度に基づいて，前記クラスタをソートする，
ことを特徴とする請求項７または請求項８に記載の情報検索システム。
【請求項１０】
前記クラスタソート処理部は，
正規化した前記文の密集度および／または正規化した前記網羅度とを用いて前記重要度を算出する，
ことを特徴とする請求項８または請求項９に記載の情報検索システム。
【請求項１１】
前記項目名特定処理部は，さらに，
各クラスタについて，そのクラスタに含まれる単語のうち，網羅度が最大のものをクラスタの項目名として特定する，
ことを特徴とする請求項９または請求項１０に記載の情報検索システム。
【請求項１２】
前記表形式処理部は，さらに，
表の空欄がある処理単位において，その処理単位における文ベクトルまたは文節ベクトルの平均を算出し，
前記文ベクトルまたは文節ベクトルの平均と，前記空欄に対応するテキスト情報における文の文ベクトルまたは文節の文節ベクトルとの類似度を比較し，
所定条件を充足する類似度が対応する文または文節を，前記空欄に埋め込む，
ことを特徴とする請求項６から請求項１１のいずれかに記載の情報検索システム。
【請求項１３】
コンピュータを，
キーワードの入力を受け付けるキーワード受付処理部，
前記キーワードを用いて検索装置に検索処理を実行させる検索処理部，
前記検索処理による検索結果を受け付ける検索結果受付処理部，
前記検索結果に基づいて関連語を特定する関連語特定処理部，として機能させる情報検索プログラムであって，
前記検索処理部は，
前記特定した関連語を用いて再度の検索処理を実行させる，
ことを特徴とする情報検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，情報検索システムに関する。
【背景技術】
【０００２】
コンピュータ技術の発展に伴い，さまざまな情報が蓄積されるようになっている。たとえばウェブページの情報や，各種の文書情報などがそれぞれ電子化されて情報として蓄積されている。そして，蓄積された情報から所望の情報を取得するためには，たとえば所定のキーワードに基づいて情報を検索する方法などが知られている。
【０００３】
たとえばインターネットのウェブページの情報を検索するためのツールとして検索エンジンが広く利用されており，それに関する発明が，たとえば特許文献１乃至特許文献８にに開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１６７８１５号公報
【特許文献２】特表２０１３−５１９１５０号公報
【特許文献３】特開２０１１−１７５６７０号公報
【特許文献４】特表２００８−５２９１３８号公報
【特許文献５】特開２００６−０４８６８５号公報
【特許文献６】特開２００６−０４８６８４号公報
【特許文献７】特開２００６−０４８６８３号公報
【特許文献８】特表２００７−５００９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１乃至特許文献８などに代表される，従来の検索エンジンなどでは，キーワードを適切に設定しなければ所望の情報を取得することはできない。そのためキーワードの設定が重要となる。しかし，検索しようとする分野に詳しくなければ，どのようなキーワードを設定すればよいか分からず，結局，汎用的なキーワードを用い，検索結果の中から，所望の情報があるウェブページを探さなければいけない。
【０００６】
またサジェスト機能とよばれる機能を備えた検索エンジンもあるが，これは，他人が入力したキーワードなどに基づいて検索エンジン側が提供をするものにすぎない。
【課題を解決するための手段】
【０００７】
本発明者は上記課題に鑑み，検索者が，情報を絞り込むために用いるキーワードを詳細に知らない場合であっても，複数のページに共通して含まれている情報を重要な情報として判定し，その情報に基づいて関連語を自動的に特定をすることで，絞り込んだ情報を検索結果として得られる情報検索システムを発明した。
【０００８】
第１の発明は，情報を検索する情報検索システムであって，前記情報検索システムは，キーワードの入力を受け付けるキーワード受付処理部と，前記キーワードを用いて検索装置に検索処理を実行させる検索処理部と，前記検索処理による検索結果を受け付ける検索結果受付処理部と，前記検索結果に基づいて関連語を特定する関連語特定処理部と，を有しており，前記検索処理部は，前記特定した関連語を用いて再度の検索処理を実行させる，情報検索システムである。
【０００９】
本発明のように構成することで，検索者が，情報を絞り込むために用いるキーワードを詳細に知らない場合であっても，複数のページに共通して含まれている情報を重要な情報として判定し，その情報に基づいて関連語を自動的に特定をすることができるので，絞り込んだ情報を検索結果として得ることができる。
【００１０】
上述の発明において，前記検索処理部は，前記特定した関連語と前記キーワードとを用いて前記検索装置に再度の検索処理を実行させる，情報検索システムのように構成することができる。
【００１１】
上述の発明において，前記検索処理部は，前記特定した関連語を用いて前記検索結果を検索することで，再度の検索処理を実行する，情報検索システムのように構成することができる。
【００１２】
再検索の際には，キーワードと関連語とを用いて，再度，検索装置に検索処理を実行させてもよいし，キーワードによる検索結果を，関連語で検索することで検索処理を実行してもよい。
【００１３】
上述の発明において，前記関連語特定処理部は，前記検索結果に基づいて取得したテキスト情報の一部または全部の文について文ベクトルを算出する文ベクトル算出処理部と，前記文ベクトルを用いてクラスタリングをするクラスタリング処理部と，各クラスタについて，前記文ベクトルの平均と，類似度が所定範囲にある単語ベクトルを有する単語をクラスタの項目名として特定をし，特定した項目名をソートして所定範囲にある項目名を，関連語として特定をする項目名特定処理部と，を有する情報検索システムのように構成することができる。
【００１４】
上述の発明において，前記関連語特定処理部は，前記検索結果に基づいて取得したテキスト情報の一部または全部の文における文節について文節ベクトルを算出する文節ベクトル算出処理部と，前記文節ベクトルを用いてクラスタリングをするクラスタリング処理部と，各クラスタについて，前記文節ベクトルの平均と，類似度が所定範囲にある単語ベクトルを有する単語をクラスタの項目名として特定をし，特定した項目名をソートして所定範囲にある項目名を，関連語として特定をする項目名特定処理部と，を有する情報検索システムのように構成することができる。
【００１５】
これらの各発明のように構成することで，キーワードを用いた検索結果から重要情報を特定し，それに基づいて関連語を特定することができる。
【００１６】
上述の発明において，前記情報検索システムは，さらに，前記クラスタリング処理の結果，一部または全部のクラスタを表形式で出力する表形式処理部，を有する情報検索システムのように構成することができる。
【００１７】
検索結果は，従来の検索結果と同様に表示をしてもよいが，本発明のように，表形式で表示を出力をすると，検索者の視認性を高めることができる。また単に，単語レベルで整理されるのではなく，文レベルで表形式で整理されるので，検索者は，検索結果を視認するだけで重要情報の内容を理解することも容易となる。
【００１８】
上述の発明において，前記情報検索システムは，さらに，前記クラスタの重要度または出現位置に基づいて，前記クラスタをソートするクラスタソート処理部，を有しており，前記表形式処理部は，前記クラスタをソートした結果，上位所定数のクラスタを表形式で出力をする，情報検索システムのように構成することができる。
【００１９】
本発明のように構成することで，クラスタを重要度や出現位置に基づいてソートできる。これによって，上位所定数のクラスタを表形式で出力をすることができるので，重要情報のうち，特にその度合いが高いものを表形式として整理することができる。
【００２０】
上述の発明において，前記情報検索システムは，さらに，前記クラスタの文の密集度を算出する密集度算出処理部，を有しており，前記クラスタソート処理部は，前記算出した密集度を用いて前記重要度を算出し，前記算出した重要度に基づいて，前記クラスタをソートする，情報検索システムのように構成することができる。
【００２１】
クラスタリングの結果としては，関連する文だけで構成される文の密集度の高いクラスタもあれば，関連性のない文が混入した密集度の低いクラスタもあると考えられる。そこで密集度を加味して重要度を算出することが好ましい。
【００２２】
上述の発明において，前記情報検索システムは，さらに，前記クラスタに対して網羅度を算出する網羅度算出処理部，を有しており，前記クラスタソート処理部は，前記算出した網羅度を用いて前記重要度を算出し，前記算出した重要度に基づいて，前記クラスタをソートする，情報検索システムのように構成することができる。
【００２３】
網羅度は対象の単語が，文書等情報におけるページなどで出現する度合いを示しているので，網羅度が高ければそれだけ重要性が高いと考えられる。そこで，本発明のように，網羅度を加味して重要度を算出することもよい。
【００２４】
上述の発明において，前記クラスタソート処理部は，正規化した前記文の密集度および／または正規化した前記網羅度とを用いて前記重要度を算出する，情報検索システムのように構成することができる。
【００２５】
重要度を算出するには，正規化した文の密集度および／または正規化した網羅度を用いることが好ましい。
【００２６】
上述の発明において，前記項目名特定処理部は，さらに，各クラスタについて，そのクラスタに含まれる単語のうち，網羅度が最大のものをクラスタの項目名として特定する，情報検索システムのように構成することができる。
【００２７】
クラスタの項目名は，本発明のように網羅度を用いて特定することで，より適切にクラスタの項目名を特定することができる。
【００２８】
上述の発明において，前記表形式処理部は，さらに，表の空欄がある処理単位において，その処理単位における文ベクトルまたは文節ベクトルの平均を算出し，前記文ベクトルまたは文節ベクトルの平均と，前記空欄に対応するテキスト情報における文の文ベクトルまたは文節の文節ベクトルとの類似度を比較し，所定条件を充足する類似度が対応する文または文節を，前記空欄に埋め込む，情報検索システムのように構成することができる。
【００２９】
上述の各処理で生成した表には，空欄が生じる場合もある。そこで，本発明の処理を実行することで，表の空欄について対応する文や文節を埋め込むことができ，表の空欄を減らすことができる。
【００３０】
第１の発明は，本発明のプログラムをコンピュータに読み込ませて実行することで実現できる。すなわち，コンピュータを，キーワードの入力を受け付けるキーワード受付処理部，前記キーワードを用いて検索装置に検索処理を実行させる検索処理部，前記検索処理による検索結果を受け付ける検索結果受付処理部，前記検索結果に基づいて関連語を特定する関連語特定処理部，として機能させる情報検索プログラムであって，前記検索処理部は，前記特定した関連語を用いて再度の検索処理を実行させる，情報検索プログラムできる。
【発明の効果】
【００３１】
本発明の情報検索システムによって，検索者が，情報を絞り込むために用いるキーワードを詳細に知らない場合であっても，複数のページに共通して含まれている情報を重要な情報として判定し，その情報に基づいて関連語を自動的に特定をすることで，絞り込んだ情報を検索結果として得ることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の情報検索システムの全体の構成の一例を模式的に示す図である。
【図２】本発明の情報検索システムにおける関連語特定処理部の構成の一例を模式的に示す図である。
【図３】本発明の情報検索システムで用いるコンピュータのハードウェア構成の一例を模式的に示す図である。
【図４】本発明の情報検索システムの全体の処理プロセスの一例を示すフローチャートの一例を示す図である。
【図５】本発明の情報検索システムにおける関連語特定処理の処理プロセスの一例を示すフローチャートの一例を示す図である。
【図６】文ベクトルの算出処理の一例を模式的に示す図である。
【図７】文の密集度が高いクラスタと，文の密集度が低いクラスタの各一例を示す図である。
【図８】キーワードによる検索結果の一例を示す図である。
【図９】キーワードと関連語とによる検索結果の一例を示す図である。
【図１０】表形式化した出力結果の一例を示す図である。
【図１１】表形式化した出力結果の一例を示す図である。
【図１２】関連語の特定処理を２回行った場合の，キーワードと関連語とによる検索結果の一例を示す図である。
【図１３】実施例２において，表形式で空欄が生じることを示す一例を模式的に示す図である。
【図１４】実施例２における処理を模式的に示す図である。
【図１５】実施例２の処理により，表の空欄に文を埋め込んだ状態の表の一例を示す図である。
【図１６】実施例３における情報検索システムの構成の一例を模式的に示す図である。
【図１７】実施例４における情報検索システムの構成の一例を模式的に示す図である。
【発明を実施するための形態】
【００３３】
本発明の情報検索システム１の全体の構成の一例を図１に，関連語特定処理部２４の構成の一例を図２に，情報検索システム１で用いるコンピュータのハードウェア構成の一例を図３に示す。
【００３４】
情報検索システム１は，管理端末２と検索装置３と検索者端末４とを用いる。管理端末２は，情報検索システム１における機能を実現するためのコンピュータである。検索者端末４は，情報を検索することを所望する検索者が利用するためのコンピュータである。検索装置３は，たとえば情報を検索するためのコンピュータであって，インターネット情報の情報を検索するための検索エンジンを備えた検索サーバ，データベースの情報を検索するためのデータベースサーバなど各種の検索機能を備えたコンピュータが該当する。検索装置３は，管理端末２と一体であってもよいし，分離をしていてもよい。
【００３５】
情報検索システム１におけるコンピュータは，プログラムの演算処理を実行するＣＰＵなどの演算装置７０と，情報を記憶するＲＡＭやハードディスクなどの記憶装置７１と，ディスプレイなどの表示装置７２と，情報の入力を行う入力装置７３と，演算装置７０の処理結果や記憶装置７１に記憶する情報を通信する通信装置７４とを有している。なお，コンピュータがタッチパネルディスプレイを備えている場合には表示装置７２と入力装置７３とが一体的に構成されていてもよい。タッチパネルディスプレイは，たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが，それに限定するものではない。
【００３６】
タッチパネルディスプレイは，そのディスプレイ上で，直接，所定の入力デバイス（タッチパネル用のペンなど）や指などによって入力を行える点で，表示装置７２と入力装置７３の機能が一体化した装置である。
【００３７】
情報検索システム１は一台のコンピュータによって実現されていてもよいが，その一部または全部の機能が複数のコンピュータによって実現されていてもよい。この場合のコンピュータとして，たとえばクラウドサーバであってもよい。また，情報検索システム１におけるコンピュータが，携帯電話，スマートフォン，タブレット型コンピュータなどの可搬型通信端末であってもよい。
【００３８】
本発明の情報検索システム１における各手段は，その機能が論理的に区別されているのみであって，物理上あるいは事実上は同一の領域を為していても良い。
【００３９】
情報検索システム１は，事前処理部２０とキーワード受付処理部２１と検索処理部２２と検索結果受付処理部２３と関連語特定処理部２４と表形式処理部２５と検索結果出力処理部２６とを有する。なお，本明細書では，処理対象とする言語について日本語の場合を例として示すが，日本語以外でも英語，フランス語，ドイツ語，中国語など任意の言語に適用することができる。
【００４０】
事前処理部２０は，後述する関連語特定処理部２４における関連語を特定するための処理を実行するにあたっての事前処理を実行する。事前処理としては，基準とする学習用のテキスト情報を読み込ませ，そこに記述される単語を所定次元，たとえば３００次元でベクトル化する処理を実行する。テキスト情報としては，ウェブページや，電子化された文書などの文章が記述された情報などが含まれる。学習用のテキスト情報としては，たとえばＷｉｋｉｐｅｄｉａの日本語の全ウェブページが一例としてあげられるが，それに限定されるものではなく，たとえば電子化された辞書情報のウェブページなどであってもよいし，所定のドキュメントサーバ（文書サーバ）に保存された各種のテキスト情報であってもよい。また，単語をベクトル化するには，たとえばfasttextと呼ばれるアプリケーションソフトウェアを用いることができるが，それに限定するものではなく，ほかのアプリケーションソフトウェアを用いることもできる。fasttextを用いる場合，fasttextにテキスト情報を入力させることで，単語をベクトル化することができる。
【００４１】
キーワード受付処理部２１は，検索者端末４から，検索装置３で情報検索をするためのキーワードの入力を受け付ける。
【００４２】
検索処理部２２は，キーワード受付処理部２１で受け付けたキーワード，または，キーワードとそのキーワードに基づいて後述する関連語特定処理部２４で特定した関連語とを検索装置３に送り，検索処理を実行させる。なお，キーワードと関連語に基づく検索の場合には，検索装置３で再度の検索処理を実行するほか，検索結果受付処理部２３で受け付けた検索結果を，関連語を用いて検索処理を実行してもよい。
【００４３】
検索結果受付処理部２３は，検索処理部２２が送ったキーワード，またはキーワードと関連語とに基づく検索結果を検索装置３から受け付ける。
【００４４】
関連語特定処理部２４は，検索結果受付処理部２３で受け付けた検索結果に基づいて，その検索結果におけるテキスト情報を取得し，取得したテキスト情報により，関連語を特定する。
【００４５】
関連語特定処理部２４は，文ベクトル算出処理部２４０とクラスタリング処理部２４１と密集度算出処理部２４２と網羅度算出処理部２４３とクラスタソート処理部２４４と項目名特定処理部２４５とを有する。
【００４６】
文ベクトル算出処理部２４０は，検索結果受付処理部２３で検索装置３から受け付けた検索結果に基づいてテキスト情報を取得する。テキスト情報を取得するためには，検索結果として各ウェブページのＵＲＬ情報を受け付けた場合には，そのＵＲＬ情報に基づいてアクセスし，該当するウェブページのＵＲＬ情報を取得する。この場合，検索結果における所定数，たとえば上位１０件，２０件，１００件のようにあらかじめ指定された範囲でテキスト情報を取得すればよい。
【００４７】
そして文ベクトル算出処理部２４０は，取得したテキスト情報における一部または全部の文について，文ごとに分割をし，分割をした各文について文ベクトルを算出する。テキスト情報において文を分割するためには，テキスト情報における句点を区切りとして各文を分割する方法が一例としてある。また，分割した各文について文ベクトルを算出するには，まず，各文において形態素解析を行い，文に出現する単語を品詞ごとに分解する。そして，分解した単語のうち，品詞が名詞（ただし数，接尾，非自立は除く。また，固有名詞は除いてもよいし，除かなくてもよい）である単語を特定し，特定した単語の単語ベクトルの平均を算出することで文ベクトルを算出する。なお単語ベクトルを算出するために特定する単語としては，品詞が名詞である単語に限られるものではなく，あらかじめ一または複数の品詞を設定し，その品詞の単語を特定すればよい。たとえば品詞として名詞のほか，動詞や形容詞などを設定することもできる。なお，以下の説明では，特段の断りがない限り，品詞が名詞である単語を特定する場合を示す。
【００４８】
形態素解析には公知のアプリケーションソフトウェアを用いることができ，たとえば茶筌（ChaSen）があるが，それに限定されず，MeCabなどのアプリケーションソフトウェアを用いてもよいし，ほかのアプリケーションソフトウェアを用いてもよい。
【００４９】
たとえばテキスト情報において「鳥取県の県庁所在地は鳥取市」との文があった場合，たとえば茶筅（ChaSen）のようなアプリケーションソフトウェアを用いて，その文に対して形態素解析を行い，「鳥取」，「県」，「の」，「県庁」，「所在地」，「は」，「鳥取」，「市」のように分解をし，それぞれの単語の品詞を特定する。そして，たとえばfasttextのようなアプリケーションソフトウェアに処理対象となるテキスト情報の一部または全部を入力することで，品詞が名詞の単語についての所定次元の単語ベクトルを生成する。ここでは，「鳥取」，「県」，「県庁」，「所在地」，「鳥取」，「市」についてそれぞれ単語ベクトルを生成する。そして，各単語ベクトルの平均を文ベクトルとして算出する。この処理を模式的に示すのが図６である。平均としては単純平均が望ましいが，それに限定するものではない。また，文における単語ベクトルに対して平均以外の演算をしてもよいし，上述のように，名詞以外の品詞も単語ベクトルの生成対象としてもよい。すなわち，文ベクトル算出処理部２４０は，文を構成する一部または全部の単語の単語ベクトルに対して所定の演算を行うことで文ベクトルを算出すればよい。
【００５０】
文ベクトルの算出に用いる演算としては，上述のように文における各単語ベクトルの平均のほか，文における単語ベクトルの総和，文における各単語ベクトルについて，tf-idf法で重み付けをした平均，Bi-gramモデルなどを用いることができ，またほかの演算を用いることもできる。
【００５１】
クラスタリング処理部２４１は，文ベクトル算出処理部２４０で算出した各文ベクトルを所定のクラスタリング手法でクラスタリング処理をする。クラスタリング処理としては，たとえばx-means法，k-means法，階層クラスタリングなどさまざまな処理方法があり，どのような処理方法を用いてもよい。なおx-means法とは，k-means法においてクラスタ数を自動推定するように拡張したクラスタリング手法である。
【００５２】
密集度算出処理部２４２は，クラスタリング処理部２４１でクラスタリング処理をした各クラスタの文の密集度ｄｋを算出する。クラスタリング処理部２４１でクラスタリング処理をした結果においては，たとえば図７（ａ）に示すように，関連する文だけで構成される密集度の高いクラスタもあれば，図７（ｂ）に示すように，関連性のない文が混入した密集度の低いクラスタもある。そこで，ｋ番目のクラスタの文の密集度ｄｋを数１で定める。ここでＮｋはｋ番目のクラスタに含まれる文の総数であり，Ｓｋ，ｌはｋ番目のクラスタに含まれるｌ番目の文ベクトルであり，Ｓｋ，ｍｅａｎはｋ番目のクラスタに含まれる文のベクトルの平均である。数１では，クラスタに含まれる各文の文ベクトルの平均を算出し，この平均文ベクトルと，各文の文ベクトルとのコサイン類似度の平均を算出する。
（数１）
2019211884.tif 000003
【００５３】
また，密集度算出処理部２４２は，数１により算出した各クラスタの文の密集度ｄｋを，最小値が０，最大値が１になるように，数２を用いて正規化する。ここでｎｄｋはｋ番目のクラスタの正規化された文の密集度であり，Ｋはクラスタの総数である。
（数２）
2019211884.tif 000004
【００５４】
網羅度算出処理部２４３は，クラスタリング処理部２４１でクラスタリング処理をした各クラスタに対して，網羅度ｃｋを算出する。網羅度ｃｋは，対象の単語がテキスト情報におけるページなどで出現する度合いを示している。たとえば，処理対象となるテキスト情報のうちクラスタにおいて文を抽出できたテキスト情報の数を，処理対象となるテキスト情報の総数で除算して得た値として，数３により算出する。ここでｐｋはｋ番目のクラスタにおいて文を抽出できた所定単位の数（たとえばページの数）であり，Ｐは所定単位の総数（たとえばページの総数）である。たとえば，あるクラスタにおける「山脈」という単語が，テキスト情報の全４７ページのうち４ページに含まれている場合，「山脈」という単語のページ網羅度は，４／４７で示される。
（数３）
2019211884.tif 000005
【００５５】
また，網羅度算出処理部２４３は，数３により算出した各クラスタの所定単位（たとえばページ）ごとの網羅度ｃｋを，最小値が０，最大値が１になるように，数４を用いて正規化する。ここでｎｃｋは，ｋ番目のクラスタの正規化された所定単位における網羅度である。
（数４）
2019211884.tif 000006
【００５６】
クラスタソート処理部２４４は，各クラスタを所定の基準にしたがってソートをする。たとえば重要度ｉｋを数５に定めるように算出し，重要度ｉｋの大きい順にソートをする。
（数５）
2019211884.tif 000007
【００５７】
なお，数５では正規化した密集度ｎｄｋと，正規化した網羅度ｎｃｋとを用いて重要度ｉｋを算出しているが，密集度ｄｋと網羅度ｃｋとを用いて重要度ｉｋを算出すれば，ほかの算出方法であってもよい。
【００５８】
クラスタソート処理部２４４は，重要度ｉｋにしたがってソートをするほか，数６により算出される出現位置でソートをしてもよい。この場合，各クラスタに含まれる文の各テキスト情報での出現位置の平均値が小さい順にソートをする。なお，出現位置を用いる場合，文ベクトルの算出処理を行うために用いる単語ベクトルの所定次元数にさらに出現位置を付加してもよい。たとえば単語ベクトルが３００次元であると，そこに出現位置の情報を１次元付加し，３０１次元として取り扱うこともできる。
（数６）
2019211884.tif 000008
【００５９】
項目名特定処理部２４５は，クラスタの項目名を特定する。クラスタの項目名の特定は，たとえば数７の演算をすることで特定できる。ここでＷｗｏｒｄは単語ｗｏｒｄのベクトルであり，各クラスタについて，含まれる文の平均文ベクトルを算出し，この平均文ベクトルとのコサイン類似度がもっとも大きくなる単語ベクトルを有する単語を，クラスタの項目名として特定する。
（数７）
2019211884.tif 000009
【００６０】
項目名特定処理部２４５における項目名の特定処理として，以下のような処理を実行してもよい。すなわち，クラスタリング処理部２４１におけるクラスタリング処理の結果，クラスタに属する一部（一以上であり複数を含む）またはすべての行において，出現頻度が高い表現をそのクラスタの項目名として特定をしてもよい。単語ベクトルの算出処理と同様に，特定する表現における単語の品詞は，名詞や動詞，形容詞など一または複数の品詞を設定でき，用言であってもよい。用言で特定する場合には，文節を単位として特定することが好ましい。なお，クラスタの項目名を出現頻度が高い表現で特定する場合，クラスタソート処理部２４４を設けても設けなくてもよい。出現頻度を用いる場合，出現頻度が高い上位ｎ個の単語を特定する，あるいは所定の閾値（スコア）以上の単語を特定することでよい。
【００６１】
クラスタに属する一部またはすべての行において出現頻度が高い表現をそのクラスタの項目名として特定することで，その表現が項目名となり，利用者は，そのクラスタにおける重要情報の内容を想像することが可能な場合もある。そのため，出現頻度による項目名の特定も効果的である。
【００６２】
項目名特定処理部２４５が特定した項目名は，情報検索システム１の検索処理部２２における再検索の際の関連語として用いられる。項目名特定処理部２４５が特定した項目名が，複数存在する場合がある。その場合は，ソートをして，上位から所定範囲，たとえば最上位のみ，あるいは上位から３件目までを関連語とする。なお，最上位のみを関連語とする場合，最上位に複数の項目名が特定されている場合には，その複数の項目名を関連語としてもよいし，そのうちの一つを関連語としてもよい。
【００６３】
表形式処理部２５は，関連語特定処理部２４で取得したテキスト情報について，クラスタリングした情報を表形式として生成をする。たとえば表の行方向に，検索結果受付処理部２３で受け付けた各ウェブページなどのテキスト情報を，表の列方向にクラスタを配置することで，クラスタリングした項目ごとの情報を表形式を生成する。そして表の行に対する項目名として，たとえばウェブページの名称や所定のタイトルなどを，表の列に対する項目名として，項目名特定処理部２４５で特定した項目名を付する。
【００６４】
表形式処理部２５は，クラスタリングした情報を表形式として表示する際に，クラスタソート処理部２４４でソートをしたクラスタに基づいて表示をするとよい。一般的に，クラスタの数は多い。すべてのクラスタを表示させてもよいが，その場合には，情報量が過多となり，かえって利用者の理解度を下げることにもつながる。そのため，クラスタソート処理部２４４でソートしたクラスタのうち，所定の閾値以上（上位所定数）のクラスタを表示することが好ましい。これによって，クラスタリングした項目ごとの情報をソートして表示することができる。
【００６５】
検索結果出力処理部２６は，検索結果受付処理部２３で受け付けた検索結果，または受け付けた検索結果に基づいて表形式処理部２５で生成した表を，検索者端末４に出力をする。
【実施例１】
【００６６】
つぎに本発明の情報検索システム１１の処理の一例を図４および図５のフローチャートを用いて説明する。なお以下の説明においては，ウェブページの検索を行う場合で説明をするが，それに限定するものではなく，たとえば各種の電子化した文書情報の検索であってもよい。
【００６７】
まず利用者は，基準とする学習用のテキスト情報としたＷｉｋｉｐｅｄｉａの日本語の全ページを読み込ませる事前処理を実行する。すなわち，事前処理部２０は，Ｗｉｋｉｐｅｄｉａの日本語の全ページを読み込み，そこに記述される単語を，たとえば３００次元でベクトル化する処理を実行する。
【００６８】
以上の事前処理による自然言語解析に基づく学習が行われた後，検索者は，情報検索システム１を利用した検索を行う。
【００６９】
すなわち，利用者は，検索装置３で情報の検索を行うためのキーワード，たとえば「カーボンナノチューブ」を検索者端末４に入力をする。そして，キーワード受付処理部２１は，検索者端末４から，キーワード，たとえば「カーボンナノチューブ」を受け付ける（Ｓ１００）。
【００７０】
そして検索処理部２２は，キーワード受付処理部２１で受け付けたキーワード，たとえば「カーボンナノチューブ」を検索装置３に送り，検索処理を実行させる（Ｓ１１０）。そして，検索結果受付処理部２３が，Ｓ１１０で送ったキーワード，たとえば「カーボンナノチューブ」に対する検索結果を，検索装置３から受け付ける（Ｓ１２０）。この検索結果の一例を図８に示す。なお，図８は，検索装置３として「Ｇｏｏｇｌｅ」（http://www.google.com/）を用い，キーワードを「カーボンナノチューブ」とした場合である。
【００７１】
以上のように，検索者端末４からのキーワードに基づく検索装置３での検索の結果を受け付けると，関連語特定処理部２４が，検索結果に基づく関連語の特定処理を実行する（Ｓ１３０）。
【００７２】
すなわち，関連語特定処理部２４における文ベクトル算出処理部２４０は，検索結果受付処理部２３で検索装置３から受け付けた検索結果のＵＲＬに基づいて，各ウェブページにアクセスをし，各ウェブページのテキスト情報を取得する（Ｓ２００）。ここで，ＨＴＭＬタグなど，テキスト情報に不要な情報は自動的に削除をしてもよい。
【００７３】
そして，文ベクトル算出処理部２４０は，取得したテキスト情報の各ページにおいて，句点を区切りとして文に分割をする。文ベクトル算出処理部２４０は，分割した各文において形態素解析を行い，文に出現する単語を品詞ごとに分解し，各単語のうち，品詞が名詞である単語の単語ベクトルを算出する。そして文ごとに，その文における各単語の単語ベクトルの平均を算出することで，文ベクトルを算出する（Ｓ２１０）。
【００７４】
クラスタリング処理部２４１は，文ベクトル算出処理部２４０で算出した各文ベクトルについて，たとえばx-means法などにより，クラスタリングをする（Ｓ２２０）。そして，クラスタリング処理部２４１でクラスタリング処理をした各クラスタの密集度を，密集度算出処理部２４２が数１により算出し（Ｓ２３０），また，網羅度算出処理部２４３が，クラスタリング処理部２４１でクラスタリング処理をした各クラスタに対して，ページの網羅度を数３により算出する（Ｓ２４０）。
【００７５】
さらに密集度算出処理部２４２はＳ２３０で算出した密集度について数２により正規化をし（Ｓ２５０），網羅度算出処理部２４３はＳ２４０で算出した網羅度について数４により正規化をする（Ｓ２６０）。
【００７６】
クラスタソート処理部２４４は，以上のようにして算出した正規化した密集度，正規化した網羅度を用いて，各クラスタの重要度を数５により算出し，各クラスタを重要度の大きい順にソートをする（Ｓ２７０）。
【００７７】
また，項目名特定処理部２４５は，各クラスタの項目名を，数７により特定をする（Ｓ２８０）。そして項目名特定処理部２４５は，特定した項目名をソートし，上位から所定範囲，たとえば最上位のみ，最上位から３番目などの項目名を特定する。そして，特定した上位から所定範囲の項目名を，関連語とする。
【００７８】
上述のような処理を，たとえばキーワード「カーボンナノチューブ」による検索結果（図８）に基づいて特定した関連語が「可能」，「材料」であったとする。なお，最上位の項目名として「可能」，「材料」のように，複数の単語が特定できる場合もあり，その場合には，いずれも関連語としてもよいし，いずれか一方のみを関連語としてもよい。
【００７９】
以上のようにして関連語特定処理部２４で特定した関連語「可能」，「材料」と，Ｓ１００で受け付けたキーワード「カーボンナノチューブ」とを用いて，検索処理部２２は，これらを再度，検索装置３に送り，検索を行わせる（Ｓ１４０）。すなわち，「カーボンナノチューブ」，「可能」，「材料」に基づいて，検索装置３で検索を行う。そして，この検索結果を，検索結果受付処理部２３で受け付ける。図９が「カーボンナノチューブ」，「可能」，「材料」に基づく検索結果である。
【００８０】
再検索の処理を１回としている場合には，Ｓ１４０で検索装置３から得た検索結果に基づいて，クラスタソート処理部２４４で各項目名をソートをした結果，上位所定数のクラスタについて，順に表形式で生成をする（Ｓ１５０）。たとえば，行方向に各検索結果のウェブページを，列方向に各クラスタを配置し，クラスタリングした項目ごとの情報を対応する箇所に配置する。そして，生成した表形式を検索結果出力処理部２６が検索者端末４に表示させる。図１０および図１１に，図９の検索結果に基づいて表形式処理部２５での表形式化の処理を実行した場合の一例を示す。図１０が検索順位１位から１０位，図１１が検索順位１１位から２１位までの検索結果に基づく表である。
【００８１】
そして検索結果出力処理部２６が検索者端末４に，表形式処理部２５が生成した表（図１０，図１１）を出力する（Ｓ１６０）。これによって，検索者は，検索をしたい情報について知見を有しなくても，重要な情報を得ることができやすくなる。たとえば，図８では，汎用的な情報としてＷｉｋｉｐｅｄｉａのカーボンナノチューブのウェブページが最上位に表示をされていたが，図９乃至図１１では，カーボンナノチューブを用いた材質に関するウェブページが最上位の検索結果として取得でき，より詳細に技術に関する情報を得ることができる。また，検索結果において，自動的に重要情報が抽出されて表形式で出力されるので，検索者は重要な情報を，容易に理解することができる。
【００８２】
Ｓ１３０およびＳ１４０の再検索の処理は，任意の回数を実行することができ，たとえば再検索として２回以上行ってもよい。たとえば図９の検索結果に基づいて，さらに，関連語特定処理部２４で関連語を特定し，その関連語を付加して再検索を行ってもよい。
【００８３】
この場合，関連語特定処理部２４は，関連語として「技術」を特定するので，検索処理部２２は，キーワード「カーボンナノチューブ」と，関連語「可能」，「材料」，「技術」とを検索装置３に送り，検索を行わせる。そして，検索結果受付処理部２３が，この検索結果を検索装置３から受け付ける。図１２が，「カーボンナノチューブ」，「可能」，「材料」，「技術」に基づく検索結果である。図１２では，カーボンナノチューブの製造技術に関するウェブページが最上位の検索結果として取得でき，より詳細に技術に関する情報を得ることができる。
【００８４】
再検索の処理を何回実行するかは，任意に設定することができ，検索者からキーワードの入力を受け付ける際に，その回数の指定を受け付けてもよい。さらに，関連語特定処理部２４が特定した関連語について，その関連語を検索処理部２２から検索装置３に送るか否かの選択を行わせてもよい。すなわち，関連語特定処理部２４が特定した関連語を検索者端末４に表示させ，検索者が不要と考えた関連語を，検索には用いないことを示す入力を受け付けてもよい。たとえば関連語特定処理部２４が，キーワード「カーボンナノチューブ」に対する関連語として「可能」，「材料」を特定した場合，関連語「可能」，「材料」を検索者端末４に表示させる。そして，検索者が関連語「可能」は不要と判断した場合，その削除操作を行うと，それを検索者端末４から受け付けた検索処理部２２は，キーワード「カーボンナノチューブ」と関連語「材料」とを検索装置３に送り，検索を行わせるように構成することができる。
【００８５】
検索結果出力処理部２６は，検索結果を表形式処理部２５が生成した表形式で出力をするのではなく，検索結果受付処理部２３で受け付けた再検索の結果をそのまま出力するようにしてもよい。この場合，たとえば，図９，図１２の検索結果が表示される。
【実施例２】
【００８６】
実施例１のように情報検索システム１が表形式処理部２５を備えた場合，表の空欄が発生することもある。たとえば同じ内容のテキスト情報であっても，書きぶりが異なる場合には空欄が生じることがある。これを模式的に示すのが図１３である。
【００８７】
そこで表形式処理部２５は，空欄箇所に対して，以下のような処理を実行することで，類似する文を埋め込む処理を実行する。この処理を模式的に示すのが図１４である。
【００８８】
まず，表のうち，空欄のある列（表の行と列が反対の場合には行となる。行または列の処理単位ごとに定めればよい）を一列ずつ特定をし，列ごとに以下の処理を実行する。（図１４（ａ））。
【００８９】
空欄のある列に含まれる文のベクトルの平均（これを「列ベクトル」という）を算出する（図１４（ｂ））。図１４では，「価格は１４００円。」，「価格は１５０００円だ。」，「価格は２０００円の予定。」の各文の文ベクトルを算出し，それを文の数で除することによって平均（列ベクトル）を算出する。なお，文ベクトルの算出処理は，上述と同様の処理でよい。
【００９０】
そして列の空欄に対応するテキスト情報に含まれるすべての文について，各文の文ベクトルと，列ベクトルとのコサイン類似度を算出する（図１４（ｃ））。たとえばテキスト情報３では，「市場販売価格は４０００円。」，「重さ約５００ｇ程度。」，「１２月に発売予定」の３つの文があるので，それぞれの文ベクトルを算出し，上述で算出した列ベクトルとのコサイン類似度を算出する。
【００９１】
そして算出したコサイン類似度のうち，もっとも大きいコサイン類似度を特定し，そのコサイン類似度が所定の閾値以上であれば，そのコサイン類似度の算出に用いた文を，当該空欄に埋め込む（図１４（ｄ））。たとえば，図１４（ｃ）ではもっとも大きいコサイン類似度が０．８７であり，閾値が「０．８」であったとすると，最大のコサイン類似度≧閾値であるので，対応する文「市場販売価格は４０００円。」を当該空欄に埋め込む。文を表に埋め込んだ状態を示すのが図１５である。ここでは，コサイン類似度の最大値が所定の閾値以上の場合に，対応する文を当該空欄に埋め込む場合を示したが，文を空欄に埋め込むための所定条件は，任意に定めることができる。たとえば，所定の閾値以上のコサイン類似度に対応する文（一または複数）を当該空欄に埋め込むようにしてもよい。
【００９２】
以上のようにして表形式処理部２５が生成した表を，検索結果出力処理部２６が検索者端末４に表示させる。本実施例の処理を用いることで，空欄がより少なくなる表を，検索者端末４に表示させることができる。
【実施例３】
【００９３】
つぎに実施例１および実施例２の情報検索システム１の異なる実施態様として，項目名特定処理部２４５におけるクラスタの項目名の特定処理を，網羅度ｃｋにより行う場合を説明する。
【００９４】
実施例１および実施例２の項目名特定処理部２４５においては，クラスタの項目名としてふさわしくないと解する余地があるものが含まれる可能性がある。そこで，本実施例における項目名特定処理部２４５は，各クラスタに含まれる品詞があらかじめ設定された単語のうち，テキスト情報における所定単位（たとえばページ）の網羅度ｃｋが最大のものを，そのクラスタの項目名として特定をする。項目名の特定処理において，あらかじめ設定した品詞としては，名詞（ただし数，接尾，非自立は除く。また，固有名詞を除いてもよいし，除かなくてもよい）のほか，動詞，形容詞など一または複数の品詞を設定することができる。また，単語のみならず，用言（動詞，形容詞などによる文節）であってもよい。
【００９５】
このように項目名特定処理部２４５においてクラスタの項目名を特定することで，より適切に改善することができる。
【００９６】
さらに，実施例３において，同じ項目名のクラスタが複数に分散されている場合がある。そこで，実施例３において，実施例１および実施例２の情報検索システム１に，さらに，クラスタを統合するクラスタ統合処理部２４６を備えていてもよい。この場合の情報検索システム１の全体の構成の一例を図１６に示す。
【００９７】
クラスタ統合処理部２４６は，あるクラスタとほかのクラスタとを比較し，所定条件を充足した場合には，それらのクラスタを一つに統合する。たとえば，あるクラスタと，そのクラスタ以外のすべてのクラスタについて，それぞれ統合した場合の文の密集度を算出する。そして，統合した場合の文の密集度が最大となるクラスタの対を特定し，それらを一つのクラスタとして統合する。この処理を，統合後の文の密集度が所定の閾値，たとえば０．９以上のクラスタの対がある限り，実行する。これを全てのクラスタに実行することで，クラスタ統合処理部２４６は，クラスタの統合処理を実行できる。
【実施例４】
【００９８】
上述の各実施態様では，文が一文である場合を示したが，たとえば文節レベルで文ベクトルを算出し，以降の処理を実行しても良い。この処理は文ベクトル算出処理部２４０の代わりに文節ベクトル算出処理部２４７で実行する。この場合の関連語特定処理部２４の構成の一例を図１７に示す。文節ベクトル算出処理部２４７は，句点で文を区切るのではなく，テキスト情報における各文をさらに文節で区切り，文節単位での文節ベクトルを算出する。この場合の文節ベクトルは，区切られた文節において品詞が名詞（ただし数，接尾，非自立は除く。また，固有名詞を除いてもよいし，除かなくてもよい）の単語の単語ベクトルを算出し，その文節における各単語ベクトルの平均などを算出することで文節ベクトルを算出する。また，以後の処理においても，文レベルでの処理を文節レベルでの処理で読み替えて実行すれば良い。なお，文節レベルのほか，少なくとも二以上の単語を含むように構成された所定単位レベルでのベクトルを算出してもよい。この場合も，以後の処理において，文レベルでの処理を所定単位レベルでの処理に読み替えて実行すればよい。
【産業上の利用可能性】
【００９９】
本発明の情報検索システム１によって，検索者が，情報を絞り込むために用いるキーワードを詳細に知らない場合であっても，複数のページに共通して含まれている情報を重要な情報として判定し，その情報に基づいて関連語を自動的に特定をすることで，絞り込んだ情報を検索結果として得ることができる。
【符号の説明】
【０１００】
１：情報検索システム
２：管理端末
３：検索装置
４：検索者端末
２０：事前処理部
２１：キーワード受付処理部
２２：検索処理部
２３：検索結果受付処理部
２４：関連語特定処理部
２５：表形式処理部
２６：検索結果出力処理部
２４０：文ベクトル算出処理部
２４１：クラスタリング処理部
２４２：密集度算出処理部
２４３：網羅度算出処理部
２４４：クラスタソート処理部
２４５：項目名特定処理部
２４６：クラスタ統合処理部
２４７：文節ベクトル算出処理部
７０：演算装置
７１：記憶装置
７２：表示装置
７３：入力装置
７４：通信装置
【図１】
2019211884.tif 000010
【図２】
2019211884.tif 000011
【図３】
2019211884.tif 000012
【図４】
2019211884.tif 000013
【図５】
2019211884.tif 000014
【図６】
2019211884.tif 000015
【図７】
2019211884.tif 000016
【図８】
2019211884.tif 000017
【図９】
2019211884.tif 000018
【図１０】
2019211884.tif 000019
【図１１】
2019211884.tif 000020
【図１２】
2019211884.tif 000021
【図１３】
2019211884.tif 000022
【図１４】
2019211884.tif 000023
【図１５】
2019211884.tif 000024
【図１６】
2019211884.tif 000025
【図１７】
2019211884.tif 000026