(57)【要約】【課題】置換可能性と結合可能性に基づく文字列間の関係付けの自動処理をする。【解決手段】入力単語１１を含む単語を一次単語１３として検索する。一次単語１３から入力単語１１を除いた結合可能単語１５を用いて二次単語１７を検索する。二次単語１７から結合可能単語１５を除いて置換可能単語１９とする。この置換可能単語１９を入力単語１１の類義語とし、辞書に登録する。【選択図】        図３
2005099884.tif 000002
【特許請求の範囲】
【請求項１】
文字列を登録文字列として登録した辞書から、文字列を検索する検索装置において、
ある文字列を入力文字列として入力する入力部と、
入力部が入力した入力文字列と置換可能な置換可能文字列を辞書から検索して出力する検索部と
を有することを特徴とする検索装置。
【請求項２】
上記検索部は、
入力部が入力した入力文字列を用いて入力文字列が一部分に含まれている登録文字列を一次文字列として辞書から検索する一次検索部と、
一次検索部により検索された一次文字列から入力文字列を除いた残部を結合可能文字列とし、結合可能文字列が一部分に含まれている登録文字列を二次文字列として辞書から検索する二次検索部と、
二次検索部により検索された二次文字列から結合可能文字列を除いた残部を、入力文字列と置換可能な置換可能文字列として出力する出力部と
を備えたことを特徴とする請求項１記載の検索装置。
【請求項３】
上記一次検索部は、
入力文字列と登録文字列の前方とが一致する登録文字列を検索する前方一致検索と、入力文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索と、入力文字列と登録文字列の中間とが一致する登録文字列を検索する中間一致検索との少なくともいずれかの検索により一次文字列を検索し、
上記二次検索部は、
一次検索部が前方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索により二次文字列を検索し、
一次検索部が後方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する前方一致検索により二次文字列を検索し、
一次検索部が中間一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の前方と後方の両方とが一致する登録文字列を検索する両方一致検索により二次文字列を検索することを特徴とする請求項２記載の検索装置。
【請求項４】
上記入力部は、辞書に登録された登録文字列を順に入力文字列として入力し、
上記検索部は、辞書に登録された登録文字列の置換可能文字列を辞書から検索して出力し、
上記検索装置は、さらに、上記検索部が出力した置換可能文字列が登録文字列と置換可能な文字列であることを示す情報を辞書に記憶させる関係付け部を備えたことを特徴とする請求項１記載の検索装置。
【請求項５】
上記検索装置は、さらに、検索部が出力した置換可能文字列を入力部に入力文字列として入力することにより、置換可能文字列に対して、さらに、置換可能文字列を検索させるループ部を備えたことを特徴とする請求項１記載の検索装置。
【請求項６】
上記二次検索部は、同一の二次文字列が出現した場合、同一の二次文字列の出現回数をカウントするカウント部を有し、上記出力部は、置換可能文字列の出現回数の大きい順に置換可能文字列を出力するソート部を有することを特徴とする請求項２記載の検索装置。
【請求項７】
上記検索装置は、インターネットのデータとデータベースのデータとの少なくともいずれかを検索する検索キーワードを入力文字列として入力し、検索キーワードに類義するキーワードを置換可能性文字列として出力することを特徴とする請求項１記載の検索装置。
【請求項８】
入力する文字列の集合を保持する入力文字列集合と、
入力された文字列と置換可能な文字列を検索するためのサンプリング文字列の集合を保持するサンプリング文字列集合と、
入力文字列集合に保持された文字列の集合の各文字列に対して検索され出力された置換可能な文字列のリストの集合を保持する置換可能文字列リスト集合と、ある入力文字列と置換可能な置換可能文字列を上記サンプリング文字列集合に保持されたサンプリング文字列の集合から検索して置換可能文字列リストとして出力する置換可能文字列検索部と、
上記入力文字列集合に保持された文字列の集合から文字列を順に入力し、入力した文字列を入力文字列として上記置換可能文字列検索部に順に与え、上記置換可能文字列検索部から出力された置換可能文字列リストを上記置換可能文字列リスト集合に追加する制御部と
を有することを特徴とする検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば、入力された単語と置換可能な単語を、すなわち、類義語を検索する検索装置に関するものである。
また、その検索した類義語を用いて類義語辞書を生成する検索装置に関するものである。
【０００２】
【従来の技術】
インターネット等のネットワーク上に分散されたデータや、データベースに蓄積されたデータの検索を行う場合には、ユーザは、キーワードを入力して関連するデータを検索する。このキーワードにより、ユーザが望んでいたデータを検索できない場合には、そのキーワードに類義する他のキーワードを用いて検索することがしばしばある。しかし、ユーザが類義する他のキーワードを考えるためには、かなりの時間を費やしたり、あるいは、かなりの発想の転換や、かなりの経験を必要とした。
【０００３】
一方、類義語を自動的に提供するために、類義語辞書が用いられる。この類義語辞書は、あらかじめ、類義する単語を登録しておくものである。この類義語辞書は、類義語辞書の作成者が選択した類義語を登録しているものであるが、十分な類義語が登録されていない場合もある。
また、類義語を登録する場合には、膨大な労力がかかるという問題がある。また、類義語の作成者が全ての分野に通じている訳ではなく、専門分野や、特殊な分野や、私的な分野の類義語が類義語辞書に登録されていない場合がある。
また、電子技術用語や、バイオテクノロジーの用語等の日進月歩の動きの激しい分野において、新たな単語が次々と発生しているため、類義語辞書を最新の状態にしなければならないという問題があった。
また、類義語辞書を登録するにあたり、２つの単語の共起性や出現確率や、２つの単語の受けかかり関係の確率等を用いた確率モデルを用いて類義語辞書を作成することも行われているが、不完全な技術であり、実用レベルには至っていない。
【０００４】
【発明が解決しようとする課題】
以上のように、従来、類義語を検索したり、類義語辞書を構築したりする場合に、簡単、かつ、迅速に行える手法がなかった。
【０００５】
この発明は、例えば、入力された単語（文字列）に類義する単語（文字列）を検索する検索装置を提供することを目的とする。
また、この発明は、例えば、置換可能性と結合可能性に基づく文字列間の関係付けの自動処理をすることを目的とする。
又、この発明は、例えば、その一応用例として、検索した単語を用いて類義語辞書を自動構築する検索装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係る検索装置は、文字列を登録文字列として登録した辞書から、文字列を検索する検索装置において、
ある文字列を入力文字列として入力する入力部と、
入力部が入力した入力文字列と置換可能な置換可能文字列を辞書から検索して出力する検索部と
を有することを特徴とする。
【０００７】
上記検索部は、
入力部が入力した入力文字列を用いて入力文字列が一部分に含まれている登録文字列を一次文字列として辞書から検索する一次検索部と、
一次検索部により検索された一次文字列から入力文字列を除いた残部を結合可能文字列とし、結合可能文字列が一部分に含まれている登録文字列を二次文字列として辞書から検索する二次検索部と、
二次検索部により検索された二次文字列から結合可能文字列を除いた残部を、入力文字列と置換可能な置換可能文字列として出力する出力部と
を備えたことを特徴とする。
【０００８】
上記一次検索部は、
入力文字列と登録文字列の前方とが一致する登録文字列を検索する前方一致検索と、入力文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索と、入力文字列と登録文字列の中間とが一致する登録文字列を検索する中間一致検索との少なくともいずれかの検索により一次文字列を検索し、
上記二次検索部は、
一次検索部が前方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する後方一致検索により二次文字列を検索し、
一次検索部が後方一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の後方とが一致する登録文字列を検索する前方一致検索により二次文字列を検索し、
一次検索部が中間一致検索により一次文字列を検索をした場合は、結合可能文字列と登録文字列の前方と後方の両方とが一致する登録文字列を検索する両方一致検索により二次文字列を検索することを特徴とする。
【０００９】
上記入力部は、辞書に登録された登録文字列を順に入力文字列として入力し、上記検索部は、辞書に登録された登録文字列の置換可能文字列を辞書から検索して出力し、
上記検索装置は、さらに、上記検索部が出力した置換可能文字列が登録文字列と置換可能な文字列であることを示す情報を辞書に記憶させる関係付け部を備えたことを特徴とする。
【００１０】
上記検索装置は、さらに、検索部が出力した置換可能文字列を入力部に入力文字列として入力することにより、置換可能文字列に対して、さらに、置換可能文字列を検索させるループ部を備えたことを特徴とする。
【００１１】
上記二次検索部は、同一の二次文字列が出現した場合、同一の二次文字列の出現回数をカウントするカウント部を有し、上記出力部は、置換可能文字列の出現回数の大きい順に置換可能文字列を出力するソート部を有することを特徴とする。
【００１２】
上記検索装置は、インターネットのデータとデータベースのデータとの少なくともいずれかを検索する検索キーワードを入力文字列として入力し、検索キーワードに類義するキーワードを置換可能性文字列として出力することを特徴とする。
【００１３】
この発明に係る検索装置は、入力する文字列の集合を保持する入力文字列集合と、
入力された文字列と置換可能な文字列を検索するためのサンプリング文字列の集合を保持するサンプリング文字列集合と、
入力文字列集合に保持された文字列の集合の各文字列に対して検索され出力された置換可能な文字列のリストの集合を保持する置換可能文字列リスト集合と、ある入力文字列と置換可能な置換可能文字列を上記サンプリング文字列集合に保持されたサンプリング文字列の集合から検索して置換可能文字列リストとして出力する置換可能文字列検索部と、
上記入力文字列集合に保持された文字列の集合から文字列を順に入力し、入力した文字列を入力文字列として上記置換可能文字列検索部に順に与え、上記置換可能文字列検索部から出力された置換可能文字列リストを上記置換可能文字列リスト集合に追加する制御部と
を有することを特徴とする。
【００１４】
【発明の実施の形態】
実施の形態１．
図１は、この実施の形態の検索装置が実現されるパーソナルコンピュータ５１を示す図である。パーソナルコンピュータ５１は、ＣＰＵ５３とバス５５とメモリ５７と通信ボード５９と磁気ディスク６１とコンパクトディスクドライブ６９とフレキシブルディスクドライブ７１とキーボード７３とマウス７５から構成されている。磁気ディスク６１には、辞書６３と検索プログラム６５とブラウザ６７が記憶されている。辞書６３は、ここでは単に単語を登録している単語辞書である。具体的には、単語を文字列としてテキストファイル形式で記憶している。
【００１５】
以下、大文字のアルファベットを用いて文字を表し、アルファベットを一つ以上組み合わせて文字列（単語）として説明をする。
辞書６３は、例えば、ＡＢ，ＡＣ，ＡＢＣ，…というような単語をテキストファイルとして羅列している辞書である。検索プログラム６５は、以下に述べる検索装置がソフトウェアで実現されたものである。検索プログラム６５は、メモリ５７にロードされ、ＣＰＵ５３により実行され、その結果、以下に述べる検索装置の動作を実行するものである。ブラウザ６７は、インターネットの検索プログラムである。ブラウザ６７もメモリ５７にロードされ、ＣＰＵ５３により実行される。メモリ５７は、ランダムアクセスメモリ等により構成される揮発性メモリである。通信ボード５９は、インターネット７７またはＬＡＮ７９と接続するためのプロトコルを実行するものである。例えば、モデムやイーサネット用ボードやＴＣＰ／ＩＰ用ボードが用いられる。パーソナルコンピュータ５１は、通信ボード５９により、インターネット７７またはＬＡＮ７９に接続され、パーソナルコンピュータ８１あるいはサーバコンピュータ８３と通信することができる。
【００１６】
なお、辞書６３，検索プログラム６５，ブラウザ６７が磁気ディスク６１に記憶されている場合を示したが、コンパクトディスクドライブ６９のＣＤ（コンパクトディスク）またはフレキシブルディスクドライブ７１のＦＤ（フレキシブルディスク）に記憶されていても構わない。また、辞書６３，検索プログラム６５，ブラウザ６７はパーソナルコンピュータ８１やサーバコンピュータ８３に記憶されていてネットワークを介してパーソナルコンピュータ５１に対してロードされたり、あるいは、ネットワークを介してパーソナルコンピュータ５１からアクセスされるようになっていても構わない。
また、検索プログラム６５は、全てソフトウェアで作成することができる。例えば、Ｃ言語やビジュアルベーシック言語を用いて作成することができる。しかし、検索プログラム６５は、図示していないリードオンリーメモリ内にファームウェアとして存在していても構わないし、あるいは、一部分または、全てがハードウェアとして存在していても構わない。ハードウェアとして存在する場合は、ＬＳＩ化されて他の回路と一緒に動作することになる。あるいは、検索プログラム６５は、オペレーティングシステムや、ウィンドウシステムのソフトウェアドライバとして動作するものであっても構わない。その場合には、検索プログラム６５は、オペレーティングシステムやウィンドウシステムからのシステムコールや、割り込み処理により動作する。
【００１７】
図２は、検索プログラム６５の構成及び動作を示す図である。検索プログラム６５は、単語入力部２１と検索部２３と関係付け部３７とループ部３９を備えている。検索部２３は、一次検索部２５と二次検索部２７と出力部３１を備えている。単語入力部２１は、単語を入力単語１１として入力する。この単語とは、例えば、ユーザからブラウザ６７へ入力されたインターネットに対する検索キーワードあるいは、データベースに対するキーワードである。検索部２３は、単語入力部２１が入力した入力単語１１と置換可能な置換可能単語を辞書６３から検索して出力するものである。一次検索部２５は、単語入力部２１が入力した入力単語１１を用いて入力単語１１が一部分に含まれている登録単語を一次単語１３として辞書６３から検索する。二次検索部２７は、一次検索部２５により検索された一次単語１３から入力単語１１を除いた残部を結合可能単語として結合可能単語が一部分に含まれている登録単語を二次単語１７として辞書６３から検索する。出力部３１は、二次検索部２７により検索された二次単語１７から結合可能単語を除いた残部を入力単語１１と置換可能な置換可能単語１９として出力する。
【００１８】
図３は、前述した検索部２３の動作を示す図である。
図４は、さらに動作の具体例を示す図である。
図５は、辞書６３に登録された単語例を示す図である。
【００１９】
ここでは、まず、辞書６３に図５に示すような単語があらかじめ登録されているものとする。図５の実線の矢印と破線の矢印については後に説明する。図３において、入力単語１１としてＡＢが入力されたものとする。
一次検索部２５は、ＡＢを用いてＡＢが含まれる単語を辞書６３から検索する。一次検索部２５はＡＢを用いて前方一致検索及び後方一致検索および中間一致検索を行う。そして、一次単語１３として前方一致単語ＡＢＬＭと後方一致単語ＯＰＡＢと中間一致単語ＣＤＡＢＥＦを検索する。二次検索部２７は、これらの一次単語１３を入力し、各単語からＡＢを除いた残部からなる結合可能単語１５を生成する。この例では、ＡＢＬＭからＡＢが取り除かれ、ＬＭを生成する。また、ＯＰＡＢからＡＢを取り除きＯＰを生成する。また、ＣＤＡＢＥＦからＡＢを取り除きＣＤとＥＦを生成する。二次検索部２７は、これらの結合可能単語１５を用いて再び辞書６３を検索する。二次検索部２７は、一次検索部２５が前方一致単語を検索した場合には、後方一致検索を行う。また、一次検索部２５が後方一致単語を検索した場合には、前方一致検索を行う。また、一次検索部２５が中間一致単語を検索した場合には、前方と後方の両方が一致する両方一致検索を行う。
二次検索部２７は検索を行いながら、一致した単語があれば同一の単語の出現数をカウント部２９によりカウントさせながら二次単語１７を出力する。この例では、二次検索部２７は後方一致単語としてＸＹＺＬＭを１回検出し、ＧＨＬＭを２回検出する。また、前方一致単語としてＯＰＵＶＷを７回、ＯＰＩＪを２回検出する。また、前方と後方の両方一致単語としてＣＤＳＴＥＦを４回検出し、ＣＤＫＬＥＦを２回検出する。
出力部３１は、これらの二次単語１７を入力する。出力部３１のソート部３３はカウント部２９がカウントしたカウントを用いて二次単語１７をソートし、出現回数の多い方を先に出力する。
また、出力部３１の重み下げ部３５は出現回数が多過ぎるものがあれば、ＴＦ−ＩＤＦ手法により、あるいはその他の手法により、出現回数が多い単語の重みを変える。この例では、ＯＰＵＶＷの出現回数が７回あったので最低の出現回数である１に変更した場合を示している。
ここで、ｔｆ・ｉｄｆ法とは、単語の頻度を利用してスコアを求め、検索された単語に優先順位をつける手法をいう。ｔｆ・ｉｄｆ法で求められるスコアは、もっとも典型的な例では、以下の式で決められる。
スコア＝ｔｆ×ｉｄｆ
ただし、
ｔｆ：＝あるキーワードがその対象文書中に含まれる出現回数
ｔｆとは「Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ」の略
ｉｄｆ：＝ｌｏｇ（Ｎ／ｎ）
Ｎは全文書数、ｎがそのキーワードを含むファイル数
ｉｄｆとは「ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ」の略
である。
ｔｆ・ｉｄｆ法の基本的なアイデアは、「ある文書群における高頻度語の重要度を下げ、低頻度語の重要度を上げる」ということである。つまり、文書数Ｎの文書群において、あるキーワードが多くの文書中に現れる普遍的なキーワードだった場合には、ｉｄｆは小さくなり、逆に、特定の文書にしか現れない場合にはｉｄｆは大きくなる。要するに、ｉｄｆはｔｆにかかる「重み付け」に当たる。ｔｆ・ｉｄｆ法には改良版もあるが、これについてもｔｆ・ｉｄｆでの１／ｌｏｇ（ｎ）のかわりに別の指標を用いるだけで、基本的にこのアイデアに基づいている。
出力部３１は入力単語１１であるＡＢを置換する可能性のある置換可能単語１９として図６の（ａ）に示す６つの単語を出力する。これらの単語は、ＡＢと置換可能なものであり、類義語にあたるものである。検索プログラム６５がこの置換可能単語１９を出力するとブラウザ６７は入力単語１１の代わりに置換可能単語１９の中から重み（出現回数）の大きな単語を用いて再度インターネットの検索を行うことができる。
【００２０】
図４は、前述した図３の一具体例を示すものである。ここでは、入力単語１１として「愛知」が入力され、前方一致検索を行い、「愛知」を前方に有する一次単語１３として「愛知県」、「愛知医大」、「愛知みかん」が一次検索部２５により検索された場合を示している。二次検索部２７は、この３つの単語から後方一致検索を行うため、「県」、「医大」、「みかん」という結合可能単語１５を生成し、２次検索を行う。その結果、二次単語１７として「山梨県」、「静岡医大」、「静岡みかん」を検索したことを示している。出力部３１は、二次単語１７を出現回数でソートし、置換可能単語１９として「静岡」、及び、「山梨」を出力する。このようにして、「愛知」という単語に対して「静岡」と「山梨」という２つの単語が置換可能単語である、すなわち、類義語であるという検索を行うことができる。
【００２１】
次に、前述した検索プログラム６５を用いて辞書６３を単なるテキストファイルの辞書から類義語辞書に変更する場合について説明する。
図２に示した関係付け部３７は、出力部３１から出力された置換可能単語１９を入力し、辞書６３に入力単語１１が置換可能単語１９で置換可能であることを記憶させる。例えば、図５に示すように、図６の（ａ）に示したＡＢと置換可能な置換可能単語１９に対してＡＢから実線の矢印が向けられている。この矢印は、関係付け部３７により付加されるものである。具体的には、この矢印は、ＡＢから各単語が記憶されているアドレスへのポインタとして実現できる。あるいは、リレーショナルデータベース形式でリレーションを付けることにより関連を記憶させることができる。もし、置換可能単語１９として出力された単語が辞書６３に存在しない場合には、関係付け部３７はその単語を新たに辞書６３に登録し、入力単語１１の類義語であるという関連付けを記憶させる。このように、入力単語１１が入力され、置換可能単語１９が出力されるたび、関係付け部３７は辞書６３に類義語を登録し続ける。
前述した例は、ブラウザ６７に入力されたキーワードを入力単語１１とする場合を説明したが、辞書６３にある単語を全て順に入力単語１１として入力し、置換可能単語１９を出力させ、関係付け部３７により類義語を記憶させることにより辞書６３は記憶さている全ての登録単語についての類義語を持つことができる。例えば、辞書６３に１万語の単語が登録されている場合には、この１万語の単語を順に検索プログラム６５に入力し、各単語の置換可能単語１９を出力させ、関係付け部３７により類義関係を記憶させることにより辞書６３は単なる単語を登録した単語辞書ではなく、類義語辞書に変化する。この動作を、辞書６３に新たな単語が登録されるたびに行ってもかまわないし、定期的、例えば、１週間に一度、１ヶ月に一度行うようにしても構わない。また、辞書６３への新たな単語の登録は、例えば、インターネットの各ホームページからある指定された技術分野や、ある指定された私的な分野や、あるユーザが特に興味を持つ分野のデータを検索してくるロボットプログラムやエージェントプログラムの実行することにより行うことができる。このようにして、辞書６３は専門的かつ、私的な分野の類義語辞書となる。こうして、ロボットプログラムやエージェントプログラムによる自動単語登録が行われ、かつ、検索プログラム６５による自動類義語登録が行われることにより、辞書６３は自動的に単語を増加させ、かつ、自動的に類義語を登録することになる。
【００２２】
次に、検索プログラム６５のループ部３９の動作について説明する。置換可能単語１９が出力されると、ループ部３９は、置換可能単語１９を入力し、再び入力単語１１として検索プログラム６５に入力させる。すなわち、置換可能単語１９を入力単語１１としてフィードバックするものである。例えば、図３において、ＸＹＺが置換可能単語１９として出力された場合、このＸＹＺを再び入力単語１１として検索プログラム６５に入力するものである。ＸＹＺが入力され、ＸＹＺの置換可能単語１９として図６の（ｂ）に示すようにＧＨ，ＧＨＬＭ，ＯＰＩＪ，ＸＹの４つの単語が出力された場合には、関係付け部３７はこれら４つの単語をＸＹＺの類義語として登録すると同時に、かつ、ＡＢの２次的な類義語として登録することもできる。
図５、図６において、ＸＹＺから４つの単語に向けられた実線の矢印は類義語を示しており、ＡＢから４つの単語に向けられた破線の矢印は２次的な類義語であることを示している。このように、一つの類義語が見つかった場合には、その類義語の更なる類義語を検索することにより、類義語を連鎖的に探すことができる。
【００２３】
前述した検索装置は、人間の認識の本質を原理としている。すなわち、人間が類義語か否かを判断する場合には、置換可能であるかどうかという認識を行い、置換可能である場合には、類義語であると考える。前述した検索装置は、入力単語に対して置換可能な単語を検索プログラム６５により自動的に求めるものである。そのアルゴリズムは、前述したように、前方一致検索や、後方一致検索という非常に簡単なものではあるが、前述した人間の類義語を判断するための置換可能であるかという本質を検索プログラム６５のアルゴリズムとして実現したものであり、このような人間の認識の本質に基づく類義語の検索を行うものは存在しない。
【００２４】
前述した検索装置は、日本語に適応することもできるし、英語、仏語、独語、中国語等の他の言語に適応することも可能である。すなわち、対象とする言語を問わない。また、前述したように、検索装置を自動で起動できるようにしておけば、常に更新作業が可能である。また、前述した置換可能単語１９には単に類義語だけではなく、意義上の上下関係（包含関係）がある単語（例えば、「ゴム」の上意語として「弾性体」）を抽出することも可能である。
【００２５】
また、前述した例においては、単語を例にして説明したが、単語だけではなく、文字、文句、語句、字句、文、文章、書類、レポート、マニュアル、報告書、調査書、雑誌、出版物等の文字列に対しても適用することができる。例えば、文章を入力させた場合には、構文解析等を行い、置換可能な文章を検索し、置換可能文章として出力することが可能である。
また、このように置換可能な文や文章やテキストを検索することにより、入力された文や文章やテキストをカテゴリ別に分類することも可能である。単語を類義語として関係付けたように、文や文章やテキストを類義文章や類義テキストとして関係付けることにより、入力した文や文章やテキストを自動的に分類することができる。
【００２６】
実施の形態２．
図７は、実施の形態２の検索装置を示す図である。
図７に示すコンポーネントにおいて、集合とは、文字，単語，節，句，文等の文字列の集合を言う。そして、これらの集合は、コンピュータの記憶装置に記憶されるデータであり、ファイルとして記憶されていたり、あるいは、メールとして記憶されていたり、あるいは、ウェブページやホームページとして記憶されていたり、データベースとして記憶されていたりするものである。
また、以下に述べる制御部と置換可能文字列検索部は、ソフトウェアで実現されても構わないし、ハードウェアで実現されても構わないし、ソフトウェアとハードウェアの組み合わせで実現されてもよい。
図７の各コンポーネントはそれぞれ下記の条件を満たせばその実装は問わない。
【００２７】
入力文字列集合
・文字列の集合を保持する。
・集合の要素を一つづつ最後まで取り出すことができる。
【００２８】
サンプリング文字列集合
・文字列の集合を保持する。
・ある文字列と前方一致、中間一致、後方一致する文字列を含む部分集合を抽出できる。
【００２９】
制御部
・起動トリガー指示を受け付ける。
・入力文字列集合の各要素について検索を行うループ処理を行う。
・置換可能文字列検索部に対して検索要求を出す。
・検索結果のリストを置換可能文字列リスト集合に追加する。
【００３０】
置換可能文字列検索部
・サンプリング文字列集合に対して一次検索を要求する。
・サンプリング文字列集合に対して二次検索を要求する。
・置換可能文字列リストを作成する（順位付けを含む）。
【００３１】
置換可能文字列リスト集合
・入力文字列集合の要素一つに対する置換可能文字列の検索結果のリストの集合を保持する。
【００３２】
実装の例
・サンプリング文字列集合の実装例としてＲＤＢＭＳ（リレーショナルデータベースマネジメントシステム）がある。
この場合、置換可能文字列リスト集合の実装は関係付けエンティティが効率のよい実装となる。
【００３３】
入力文字列集合とサンプリング文字列集合とが保持する文字列集合の収集方法は下記のような例が考えられるが、それらに限定されない。すなわち、文字列が集合として存在することがシステムの動作条件であるが、その収集方法までは規定しない。
サンプリング文字列集合
・ユーザーからの入力
・受け取ったメール
・ブラウズしたウェブページ
・ロボットが収集したウェブページ
入力文字列集合
・ユーザー入力
・サンプリング文字列集合そのもの
【００３４】
置換可能文字列集合リストの生成動作の開始タイミングには下記のような例が考えられるが、それらに限定はされない。
・ユーザーからの起動指示
・入力文字列集合の状態（集合要素の増減など）の変更通知
・定期的な起動
【００３５】
次に、図７に示した検索装置の協調動作について説明する。
（０）起動指示
制御部に対して起動トリガーが発生する。この起動トリガーは、ユーザーによる場合、あるいは、入力文字列集合からの変更通知による場合、あるいは、サンプリング文字列集合の変更通知による場合、あるいは、定期的な起動による場合が考えられる。
（１）入力文字列の取得
制御部は、起動後、入力文字列集合から入力文字列を取得する。この取得動作は、入力文字列集合にある文字列の数だけ順に行われる。即ち、集合の各要素（文字列）について、ループ処理が行われる。
（２）置換可能な文字列の検索
制御部は、入力文字列集合から取得した文字列を置換可能文字列検索部に与える。置換可能文字列検索部は、以下に述べるような動作により入力文字列と置換可能な文字列リストを検索して制御部に出力する。
（３）一次検索
置換可能文字列検索部は、実施の形態１と同様な検索をサンプリング文字列集合に対して行う。サンプリング文字列集合は、実施の形態１と同じような辞書であっても構わないし、入力した文字列と前方一致、中間一致、後方一致する文字列を含む部分集合を抽出できるデータベースであっても構わない。例えば、サンプリング文字列集合は、ＳＱＬ文を受け付けるデータベース、あるいは、キュアリー（問い合わせ）を受け付けるデータベースであっても構わない。
（４）二次検索
置換可能文字列検索部は、実施の形態１と同様な二次検索をサンプリング文字列集合に対して行い、置換可能文字列を得る。
（５）置換可能文字列リストの作成
置換可能文字列検索部は、二次検索により得た置換可能文字列の出現回数や、出現頻度を用いて優先度付け、あるいは、順位付けを行い、置換可能文字列リストを作成し、制御部に出力する。
図８は、頻度（順位付け）の例を示す図である。
サンプリング文字列集合には、図８（ａ）に示すように５つの単語が保持されているものとする。そして、図８（ｂ）に示すように、「西武」という単語で一次検索を行うと「西武鉄道」と「西武デパート」という２つの単語が検索され、結合可能文字列として「鉄道」と「デパート」の２つの文字列が得られる。この２つの結合可能文字列を用いて二次検索を行った結果、「東武鉄道」と「東武デパート」と「三越デパート」という単語が二次検索の結果得られる。そして、図８（ｃ）に示すように、置換可能文字列として、「東武」と「三越」が得られるが、その頻度（順位付け）は「東武」が２、「三越」が１となる。
（６）置換可能文字列リスト集合への追加
制御部は、置換可能文字列検索部から得た置換可能文字列リストを置換可能文字列リスト集合に追加する。制御部は、入力文字列集合から文字列を順にすべて取りだし、置換可能文字列リストを得て置換可能文字列リスト集合に出力する。
【００３６】
【発明の効果】
以上のように、この発明によれば、類義語を自動的に置換可能性単語として検索してくるので、ユーザが容易に見つけることができない隠れた関係にある類義語を発見することが可能である。すなわち、先入観があると発見できない関係が見出される可能性がある。もし、ユーザが類義語として出力されたものがなぜ類義語になったかを知りたい場合には、図示していない対話形式のインタフェースを準備しておき、ユーザからシステムに対してなぜその類義語が類義語として検索されたかを問い掛けるようにすることができる。その場合、その対話式のインタフェースは、図３に示した一次単語１３と結合可能単語１５と二次単語１７を表示することにより、すなわち、検索の途中経過を表示することにより、その単語が類義語として検索された理由をユーザに教えることができる。
【００３７】
また、この発明によれば、この発明の一応用例として、類義語辞書の構築を自動的に行うことができる。従来は、類義語辞書は、人手で編纂され、膨大な労力が必要とされる。このため、類義語辞書を個人が所有することはできなかった。しかし、この発明の検索装置によれば、個人用の私的な類義語辞書を自動的に作成できる。また、専門分野や特殊分野の類義語辞書を自動的に作成し、かつ、自動的に更新することができる。
【００３８】
また、この発明によれば、データベースの検索やインターネットの検索を行う場合、検索エンジンに与えるキーワードを自動的に増やすことができる。
【００３９】
また、この発明によれば、検索装置を用いて人工知能用基礎データベースを構築することができる。類義語辞書はコンピュータが言葉の意味を知るための手がかりとなるものであり、この類義語辞書を自動的に構築し、この類義語辞書を人工知能用の基礎データベースとすることができる。
【図面の簡単な説明】
【図１】  この発明の実施の形態１の検索装置が動作するパーソナルコンピュータ５１の構成図。
【図２】  この発明の実施の形態１の検索プログラム６５の構成図。
【図３】  この発明の実施の形態１の検索プログラム６５の動作図。
【図４】  この発明の実施の形態１の具体例を示す図。
【図５】  この発明の実施の形態１の辞書６３の登録単語例を示す図。
【図６】  この発明の実施の形態１の類義語の連鎖を示す図。
【図７】  この発明の実施の形態２の協調動作図。
【図８】  この発明の実施の形態２の具体例を示す図。
【符号の説明】
１１  入力単語、１３  一次単語、１５  結合可能単語、１７  二次単語、１９  置換可能単語、２１  単語入力部、２３  検索部、２５  一次検索部、２７二次検索部、２９  カウント部、３１  出力部、３３  ソート部、３５  重み下げ部、３７  関係付け部、３９  ループ部、５１  パーソナルコンピュータ、５３  ＣＰＵ、５７  メモリ、５９  通信ボード、６１  磁気ディスク、６３  辞書、６５  検索プログラム、６７  ブラウザ、６９  コンパクトディスクドライブ、７１  フレキシブルディスクドライブ、７３  キーボード、７５  マウス、７７  インターネット、７９  ＬＡＮ、８１  パーソナルコンピュータ、８３
サーバコンピュータ。
【図１】
2005099884.tif 000003
【図２】
2005099884.tif 000004
【図３】
2005099884.tif 000005
【図４】
2005099884.tif 000006
【図５】
2005099884.tif 000007
【図６】
2005099884.tif 000008
【図７】
2005099884.tif 000009
【図８】
2005099884.tif 000010