(57)【特許請求の範囲】
【請求項１】
検索語と、各文脈語が第１の演算子として否定演算子を含むことが可能な文脈語群とを入力するための第１の入力手段と、
該第１の入力手段より入力された検索語を、所定の特徴語群に対応する要素を有し、当該検索語の意味を表す、検索語ベクトルに変換する第１の変換手段と、
前記第１の入力手段より入力された文脈語群の各単語を、所定の特徴語群に対応する要素を有し、当該単語の意味を表すベクトルに変換するとともに、該単語が前記否定演算子を含む場合は当該単語の意味を表すベクトルと直交するベクトルに変換することにより、前記文脈語群を文脈語ベクトル群に変換する第２の変換手段と、
所定の空間生成語群の各空間生成語を、前記所定の特徴語群に対応する要素を有し、当該空間生成後の意味を表す空間生成ベクトルに変換することにより、前記空間生成語群を空間生成ベクトル群に変換し、該空間生成ベクトル群に基づいて意味空間を生成する意味空間生成手段と、
前記意味空間における前記空間生成ベクトル群の平均ベクトルを求め、該平均ベクトルの各要素の絶対値の大きい方から順にある順位までの要素に対応する軸を、当該意味空間の主軸として決定する主軸決定手段と、
前記文脈語ベクトル群の意味重心を計算し、前記意味空間において、当該意味重心の各要素のうち絶対値が所定値より大きい要素に対応する軸であって、前記主軸に含まれない軸で張られる部分空間ヘの射影子を生成する射影子生成手段と、
比較対象語群を入力する第２の入力手段と、
該第２の入力手段より入力された比較対象語群の各単語を、前記所定の特徴語群に対応する要素を有し、当該単語の意味を表すベクトルに変換することにより、前記比較対象語群を比較対象ベクトル群に変換する第３の変換手段と、
前記検索語ベクトルと前記比較対象ベクトル群とを、前記射影子生成手段により生成された射影子により前記部分空間に射影する射影手段と、
該射影手段により射影された前記比較対象ベクトル群の各ベクトルと前記検索語ベクトルとの相関量を計算する計算手段と、
該計算手段により計算された相関量に基づいて、前記比較対象語群より少なくとも１つの単語を選出する選出手段とを有することを特徴とする意味情報処理装置。
【請求項２】
前記選出手段は、前記比較対象語群中の単語を、各単語に関わる前記相関量の順に並べ替えて出力することを特徴とする請求項１に記載の意味情報処理装置。
【請求項３】
前記相関量は距離であり、前記選出手段は、前記比較対象語群より、各単語に関わる前記距離が最小となる単語を選出することを特徴とする請求項１に記載の意味情報処理装置。
【請求項４】
前記第１、第２及び第３の変換手段が、前記所定の特徴語群を用いて単語の意味を記述した辞書を参照して、各単語を、当該単語の意味を記述するために使用される単語の組み合わせに対応するベクトルに変換することを特徴とする請求項１に記載の意味情報処理装置。
【請求項５】
前記意味空間生成手段が、前記所定の特徴語群を用いて単語の意味を記述した辞書を参照して、各単語を、当該単語の意味を記述するために使用される単語の組み合わせに対応するベクトルに変換することを特徴とする請求項１に記載の意味情報処理装置。
【請求項６】
前記意味空間生成手段が、前記空間生成ベクトル群から相関行列を生成し、該相関行列を特異値分解して意味空間変換行列を作成し、
前記第１乃至第３の変換手段が、前記意味空間変換行列を利用して前記意味空間上のベクトルへ変換することを特徴とする請求項５に記載の意味情報処理装置。
【請求項７】
前記射影子生成手段が、前記文脈語ベクトル群の合成ベクトルを計算する合成ベクトル計算手段を有し、該合成ベクトルに基づいて前記意味重心を計算することを特徴とする請求項１に記載の意味情報処理装置。
【請求項８】
前記合成ベクトル計算手段は、前記合成ベクトルとして、前記文脈語ベクトル群の正規化された平均ベクトルを計算することを特徴とする請求項７に記載の意味情報処理装置。
【請求項９】
前記文脈語群が、文脈語の対に作用する第２の演算子を伴い、前記第２の演算子が前記合成ベクトル計算手段による合成ベクトルの計算時に作用することを特徴とする請求項７に記載の意味情報処理装置。
【請求項１０】
前記比較対象語群をキーワードとして利用可能なデータベースと、
前記選出手段により選出された比較対象語をキーワードとして前記データベースを検索する検索手段とを更に有することを特徴とする請求項１に記載の意味情報処理装置。
【請求項１１】
前記データベースが、画像を該画像の内容あるいは印象を表す１つ以上のキーワードと対応付けて記憶していることを特徴とする請求項１０に記載の意味情報処理装置。
【請求項１２】
前記第１の入力手段を介し、ユーザが所望の画像に対応して入力した検索語群を、ユーザに応じて修正する修正手段を更に有することを特徴とする請求項１１に記載の意味情報処理装置。
【請求項１３】
前記データベースより与えられた画像と、該画像に対してユーザの選んだ検索語群とに基づいて、前記修正手段の修正量を算出する修正量算出手段を更に有することを特徴とする請求項１２に記載の意味情報処理装置。
【請求項１４】
検索語と、各文脈語が第１の演算子として否定演算子を含むことが可能な文脈語群とを入力するための第１の入力手段と、比較対象語群を入力するための第２の入力手段と、プログラムに基づいて各種処理を実行する処理手段とを備えた情報処理装置において、入力された検索語及び文脈語群に相関する少なくとも１つの比較対象語を選出する意味情報処理方法であって、
前記処理手段が、前記第１の入力手段を介して検索語検索語と、各文脈語が否定演算子を伴うことが可能な文脈語群との入力を受け付ける第１の入力工程と、
前記処理手段が、該第１の入力工程において受け付けた検索語を、所定の特徴語群に対応する要素を有し、当該検索語の意味を表す検索語ベクトルに変換する第１の変換工程と、
前記処理手段が、前記第１の入力工程において受け付けた文脈語群の各単語を、所定の特徴語群に対応する要素を有し、当該単語の意味を表すベクトルに変換するとともに、該単語が前記否定演算子を含む場合は当該単語の意味を表すベクトルと直交するベクトルに変換することにより、前記文脈語群を文脈語ベクトル群に変換する第２の変換工程と、
前記処理手段が、予め準備された空間生成語群の各空間生成語を、前記所定の特徴語群に対応する要素を有し、当該空間生成後の意味を表す空間生成ベクトルに変換することにより、前記空間生成語群を空間生成ベクトル群に変換し、該空間生成ベクトル群に基づいて意味空間を生成する意味空間生成工程と、
前記処理手段が、前記意味空間における前記空間生成ベクトル群の平均ベクトルを求め、該平均ベクトルの各要素の絶対値の大きい方から順にある順位までの要素に対応する軸を、当該意味空間の主軸として決定する主軸決定工程と、
前記処理手段が、前記文脈語ベクトル群の意味重心を計算し、前記意味空間において、当該意味重心の各要素のうち絶対値が所定値より大きい要素に対応する軸であって、前記主軸に含まれない軸で張られる部分空間ヘの射影子を生成する射影子生成工程と、
前記処理手段が、前記第２の入力手段を介して比較対象語群の入力を受け付ける第２の入力工程と、
前記処理手段が、該第２の入力工程において受け付けた比較対象語群の各比較対象語を、前記所定の特徴語群に対応する要素を有し、当該比較対象後の意味を表す比較対象ベクトルに変換することにより、前記比較対象語群を比較対象ベクトル群に変換する第３の変換工程と、
前記処理手段が、前記検索語ベクトルと前記比較対象ベクトル群とを、前記射影子生成工程により生成された射影子により前記部分空間に射影する射影工程と、
前記処理手段が、該射影工程により射影された比較対象ベクトル群の各ベクトルと、前記検索語ベクトルとの相関量を計算する計算工程と、
前記処理手段が、該計算工程により計算された相関量に基づいて、前記比較対象語群より少なくとも１つの単語を選出する選出工程とを有することを特徴とする意味情報処理方法。
【請求項１５】
前記選出工程では、前記比較対象語群中の単語を、各単語に関わる前記相関量の順に並べ換えて出力することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項１６】
前記相関量は距離であり、前記選出工程では、前記比較対象語群より、各単語に関わる前記距離が最小となる単語を選出することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項１７】
前記第１及び第２の変換工程では、前記所定の特徴語群を用いて単語の意味を記述した辞書を参照して、各単語を、当該単語の意味を記述するために使用される単語の組み合わせに対応するベクトルに変換することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項１８】
前記意味空間生成工程では、前記所定の特徴語群を用いて単語の意味を記述した辞書を参照して、各単語を、当該単語の意味を記述するために使用される単語の組み合わせに対応するベクトルに変換することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項１９】
前記意味空間生成工程では、前記空間生成ベクトル群から相関行列を生成し、該相関行列を特異値分解して意味空間変換行列を作成し、
前記第１乃至第３の変換工程において、前記意味空間変換行列を利用して前記意味空間上のベクトルへ変換することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項２０】
前記射影子生成工程が、前記文脈語ベクトル群の合成ベクトルを計算する合成ベクトル計算工程を含み、該合成ベクトルに基づいて前記意味重心を計算することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項２１】
前記合成ベクトル計算工程では、前記合成ベクトルとして、前記文脈語ベクトル群の正規化された平均ベクトルを計算することを特徴とする請求項２０に記載の意味情報処理方法。
【請求項２２】
前記文脈語群が、文脈語の対に作用する第２の演算子を伴い、前記第２の演算子が前記合成ベクトル計算工程による合成ベクトルの計算時に作用することを特徴とする請求項２０記載の意味情報処理方法。
【請求項２３】
前記第２の入力工程において、前記比較対象語群として所定のデータベースで利用可能なキーワードを受け付け、
前記処理手段が、前記選出工程により選出された比較対象語をキーワードとして前記所定のデータベースを検索する検索工程を更に有することを特徴とする請求項１４に記載の意味情報処理方法。
【請求項２４】
前記所定のデータベースが、画像を該画像の内容あるいは印象を表す１つ以上のキーワードと対応付けて記憶しているデータベースであることを特徴とする請求項２３に記載の意味情報処理方法。
【請求項２５】
前記処理手段が、前記第１の入力工程でユーザから所望の画像に対応して受け付けた検索語群を、ユーザに応じて修正する修正工程を更に有することを特徴とする請求項２４に記載の意味情報処理方法。
【請求項２６】
前記処理手段が、前記データベースより与えられた画像と、該画像に対してユーザの選んだ検索語群とに基づいて、前記修正工程の修正量を算出する修正量算出工程を更に有することを特徴とする請求項２５に記載の意味情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、意味情報処理方法及びその装置に関し、特にデータベースシステム、あるいはデータベースシステムと検索者とのインターフェースシステム及びその検索方法に関するものである。
【０００２】
【従来の技術】
データベース・システムにおける情報検索のための主要な基本操作は連想検索である。一般的なデータベース・システムにおける連想検索は、パターン・マッチングによる検索である。
また、データ間の意味的な関係の扱いについては、データ間の関係を静的かつ明示的に記述し、同一性、相異性を判定する方法が広く用いられてきた。
【０００３】
【発明が解決しようとする課題】
しかしながら、パターン・マッチングによる検索では、異なる表現形態であるが同一の意味を持つデータや近い意味をもつデータの検索を行うことができない。更に、同一のデータが持つ多義性を取り扱うことはできない。
また、静的に与えられた関係を用いて、同一性、相異性を判定する方法では、その判定は、曖昧性を含んで行われる。例えば、シソーラスを用いて同義語を照会する方法があるが、その同義語は、シソーラスの設計時に静的に決定され、また、同義であることの定義には曖昧性を含んでいる。
【０００４】
ところが、データ間の意味的な同一性、相異性は、文脈や状況に応じて動的に変化すると考えられる。そのため、上述した静的に与えられた関係のみを用いた同一性、相異性の判定では、曖昧性を排除することができなかった。
【０００５】
【課題を解決するための手段】
本発明によれば、意味情報処理装置は、検索語と、各文脈語が第１の演算子として否定演算子を含むことが可能な文脈語群とを入力するための第１の入力手段と、該第１の入力手段より入力された検索語を、所定の特徴語群に対応する要素を有し、当該検索語の意味を表す、検索語ベクトルに変換する第１の変換手段と、前記第１の入力手段より入力された文脈語群の各単語を、所定の特徴語群に対応する要素を有し、当該単語の意味を表すベクトルに変換するとともに、該単語が前記否定演算子を含む場合は当該単語の意味を表すベクトルと直交するベクトルに変換することにより、前記文脈語群を文脈語ベクトル群に変換する第２の変換手段と、所定の空間生成語群の各空間生成語を、前記所定の特徴語群に対応する要素を有し、当該空間生成後の意味を表す空間生成ベクトルに変換することにより、前記空間生成語群を空間生成ベクトル群に変換し、該空間生成ベクトル群に基づいて意味空間を生成する意味空間生成手段と、前記意味空間における前記空間生成ベクトル群の平均ベクトルを求め、該平均ベクトルの各要素の絶対値の大きい方から順にある順位までの要素に対応する軸を、当該意味空間の主軸として決定する主軸決定手段と、前記文脈語ベクトル群の意味重心を計算し、前記意味空間において、当該意味重心の各要素のうち絶対値が所定値より大きい要素に対応する軸であって、前記主軸に含まれない軸で張られる部分空間ヘの射影子を生成する射影子生成手段と、比較対象語群を入力する第２の入力手段と、該第２の入力手段より入力された比較対象語群の各単語を、前記所定の特徴語群に対応する要素を有し、当該単語の意味を表すベクトルに変換することにより、前記比較対象語群を比較対象ベクトル群に変換する第３の変換手段と、前記検索語ベクトルと前記比較対象ベクトル群とを、前記射影子生成手段により生成された射影子により前記部分空間に射影する射影手段と、該射影手段により射影された前記比較対象ベクトル群の各ベクトルと前記検索語ベクトルとの相関量を計算する計算手段と、該計算手段により計算された相関量に基づいて、前記比較対象語群より少なくとも１つの単語を選出する選出手段とを有する。
【０００６】
又、本発明によれば、意味情報処理方法は、検索語と、各文脈語が第１の演算子として否定演算子を含むことが可能な文脈語群とを入力するための第１の入力手段と、比較対象語群を入力するための第２の入力手段と、プログラムに基づいて各種処理を実行する処理手段とを備えた情報処理装置において、入力された検索語及び文脈語群に相関する少なくとも１つの比較対象語を選出する意味情報処理方法であって、前記処理手段が、前記第１の入力手段を介して検索語検索語と、各文脈語が否定演算子を伴うことが可能な文脈語群との入力を受け付ける第１の入力工程と、前記処理手段が、該第１の入力工程において受け付けた検索語を、所定の特徴語群に対応する要素を有し、当該検索語の意味を表す検索語ベクトルに変換する第１の変換工程と、前記処理手段が、前記第１の入力工程において受け付けた文脈語群の各単語を、所定の特徴語群に対応する要素を有し、当該単語の意味を表すベクトルに変換するとともに、該単語が前記否定演算子を含む場合は当該単語の意味を表すベクトルと直交するベクトルに変換することにより、前記文脈語群を文脈語ベクトル群に変換する第２の変換工程と、前記処理手段が、予め準備された空間生成語群の各空間生成語を、前記所定の特徴語群に対応する要素を有し、当該空間生成後の意味を表す空間生成ベクトルに変換することにより、前記空間生成語群を空間生成ベクトル群に変換し、該空間生成ベクトル群に基づいて意味空間を生成する意味空間生成工程と、前記処理手段が、前記意味空間における前記空間生成ベクトル群の平均ベクトルを求め、該平均ベクトルの各要素の絶対値の大きい方から順にある順位までの要素に対応する軸を、当該意味空間の主軸として決定する主軸決定工程と、前記処理手段が、前記文脈語ベクトル群の意味重心を計算し、前記意味空間において、当該意味重心の各要素のうち絶対値が所定値より大きい要素に対応する軸であって、前記主軸に含まれない軸で張られる部分空間ヘの射影子を生成する射影子生成工程と、前記処理手段が、前記第２の入力手段を介して比較対象語群の入力を受け付ける第２の入力工程と、前記処理手段が、該第２の入力工程において受け付けた比較対象語群の各比較対象語を、前記所定の特徴語群に対応する要素を有し、当該比較対象後の意味を表す比較対象ベクトルに変換することにより、前記比較対象語群を比較対象ベクトル群に変換する第３の変換工程と、前記処理手段が、前記検索語ベクトルと前記比較対象ベクトル群とを、前記射影子生成工程により生成された射影子により前記部分空間に射影する射影工程と、前記処理手段が、該射影工程により射影された比較対象ベクトル群の各ベクトルと、前記検索語ベクトルとの相関量を計算する計算工程と、前記処理手段が、該計算工程により計算された相関量に基づいて、前記比較対象語群より少なくとも１つの単語を選出する選出工程とを有する。
【０００７】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明に係る好適な実施形態を詳細に説明する。
［実施形態１］
図１は、本発明の実施形態１である情報処理装置の機能構成を表す図である。装置の各部は、以下に説明する機能を実現するものであれば、それぞれが専用のプログラムメモリやプロセッサを含む機器であってもよいし、複数の機能部を、同一のＣＰＵがＲＯＭやディスクメモリ等に記憶された各機能プログラムを実行することにより、あるいは各機能に対応する特定のハードウェアを制御する制御プログラムを実行することにより実行してもよい。
【０００８】
＜通信装置１０１＞
図１において、通信装置１０１は、通信回線を介して情報処理装置と外部装置とを接続し、両者の間でのデータの入出力を制御する装置である。例えば、通信回線を介してユーザ側装置から送信された文脈語群を射影変換生成部１０４へ、検索語群を基本処理部１０３へ振り分ける。また、基本処理部１０３から出力された検索候補語群を通信回線を介してユーザ側装置あるいはデータベースへ出力する。
【０００９】
図２は、本実施形態のシステムの処理手順を示すフローチャートである。
まず、入出力装置１０２から入力があると、ステップＳ２０１からステップＳ２０２に進み、入力データが空間生成語群であれば、図４につき後述する意味空間生成部１０６の処理を実行する（ステップＳ２０２〜２０３）。また、入力データが比較対象語群であれば、図１６につき後述する比較対象語群写像部１０７の処理を実行する（ステップＳ２０４〜２０５）。それ以外の入力データの場合は、エラーコードを１にセットし、図１９につき後述するエラー処理を実行する（ステップＳ２０６〜２０７）。
【００１０】
一方、通信装置１０１から入力があると、ステップＳ２０９で、新規ユーザからのアクセスかどうかを判断する。ここで新規ユーザとは、現在検索処理を行っているユーザ以外のユーザを指す。新規ユーザであれば、ステップＳ２１０で、記憶装置１０５に当該ユーザ用のデータ領域を確保して、ステップＳ２０１に戻る。
【００１１】
ステップＳ２０９で、新規ユーザでなければ、ステップＳ２１１で、アクセスを切断するためのコマンドかどうかを判断し、そうであれば、ステップＳ２１２で、該当ユーザ用のデータ領域を開放し、ステップＳ２０１に戻る。また、既存ユーザからアクセス切断以外のコマンドが送信された場合は、ステップＳ２１３で、当該ユーザのデータ領域にデータポインタを設定する。
【００１２】
そして、入力データが文脈語群であれば、図４につき後述する射影変換生成部１０４の処理を実行する（ステップＳ２１４〜２１５）。また、入力データが検索語群であれば、図１８につき後述する基本処理部１０３の処理を実行する（ステップＳ２１６〜２１７）。それ以外の入力データの場合は、エラーコードを２にセットし、図１９につき後述するエラー処理を実行する（ステップＳ２１８、Ｓ２０７）。
【００１３】
以下に、本実施形態のシステムの各部の構成と処理手順を順に説明する。
＜入出力装置１０２＞
入出力装置１０２は、情報処理装置への直接の入出力を実行するための装置である。例えば、空間生成語群を意味空間生成部１０６へ、比較対象語群を比較対象写像部１０７へ入力したり、命令の実行を指示するためのキーボードやマウス、あるいは、各構成部からのエラーメッセージ等を表示するディスプレイを含む。
【００１４】
＜記憶装置１０５＞
記憶装置１０５は、各種処理の過程で生成されるデータや、補助記憶媒体から読み出されたプログラムやデータを一時記憶するためのＲＡＭ、固定的な制御プログラムやデータを記憶するＲＯＭ、及び補助記憶媒体としてＨＤやＦＤなどを用いてプログラムやデータを不揮発に記憶する補助記憶装置などを含み、フローチャートにつき後述する各種処理手順に対応するプログラムも、この記憶装置１０５に記憶されている。
【００１５】
＜意味空間生成部１０６＞
図３に、意味空間生成部１０６の構成を示す。意味空間生成部１０６は、入出力装置１０２から入力された空間生成語群の集合から、英英辞典１０８を用いて、空間生成語変換部３１１及びデータ行列生成部３１２が、それぞれ後述の文字列−ベクトル対応表及びデータ行列を算出し、記憶装置１０５に格納する。更に、意味空間変換行列生成部３１３が、そのデータ行列に、正規化、特異値分解等の手続きを用いて意味空間変換行列を算出し、記憶装置１０５に格納する。
【００１６】
以下、文字列−ベクトル対応表、データ行列、意味空間変換行列の算出方式を図４のフローチャートを参照して詳述する。
ステップＳ４０１で、入出力装置１０２より空間生成語群を入力する。Ｍ個の文字列として入力される空間生成語群は、設計対象とするデータベースで使用することが予想される単語の集合である。空間生成語ｗは、計算機での処理に適した形式（以下、生成語指示ベクトルと称する）に変換される。
【００１７】
空間生成語ｗから生成語指示ベクトルｗ’ヘの変換は、例えば、以下のように実現する。仮にｗ＝“aback ”という文字列が、英英辞典の見出し語として、Ｍ個の空間生成語群中で８番目に出てくるとすると、８番目の要素だけが１でその他が０であるようなＭ次元ベクトル(000000010…0)T を生成語指示ベクトルｗ’とする。空間生成語を表す文字列を生成語指示ベクトルとの対応表（以下、ＬＵＴと略す）を作成し、記憶装置１０５に格納する。
【００１８】
ステップＳ４０２で、英英辞典１０８からデータ行列を作成する（図７参照）。ここでいうデータ行列とは、Ｍ個の生成語指示ベクトルｗ'j（Ｍ次元ベクトル）と、それに対応する基本特徴表現ｗ"j（Ｎ次元ベクトル）との外積を用いて、次式のＡ（Ｍ行Ｎ列の行列）で定義される：
【００１９】
【数１】
0003916007.tif 000002
あるいは
ｗ'j＝（ｗ'j,1 ｗ'j,2 … ｗ'j,M)T
ｗ"j＝（ｗ'j,1 ｗ"j,2 … ｗ"j,N)Tとすると、
【００２０】
【数２】
0003916007.tif 000003
(2) 式の計算は、図７に示すように、外積ｗ'1ｗ"1T ，ｗ'2ｗ"2T ，…，
ｗ'j-1ｗ"j-1T の和をＡとし、新たに求めた外積ｗ'jｗ"jT をＡに加えることでＡを更新する処理をj=M まで繰り返せばよい。
図５を参照して、データ行列の作成手順を説明する。
【００２１】
まず、ステップＳ５０１で、空間生成語の数を数え、その個数をＭ個とする。ステップＳ５０２で、記憶装置１０５にＬＵＴの格納場所を確保する。ステップＳ５０３で、記憶装置１０５にデータ行列の格納場所を確保する。ステップＳ５０４で、確保した格納場所におけるデータ行列の全ての要素の値を０に初期化する。ステップＳ５０５で、ｊ←１に設定する。ステップＳ５０６で、ｊ番目の空間生成語と生成語指示ベクトルとの対応をＬＵＴに追加する。ステップＳ５０７で、ｊ番目の空間生成語の基本特徴表現を図６につき後述する手順で生成する。ステップＳ５０８で、現在のデータ行列（ｊ−１行Ｎ列の行列）のｊ行目としてｊ番目の基本特徴表現を追加し、新しいデータ行列（ｊ行Ｎ列の行列）を得る。ステップＳ５０９で、ｊ←ｊ＋１に設定する。ステップＳ５１０で、ｊ＞Ｍであるかを判定し、そうであれば終了し、そうでなければステップＳ５０６に戻る。
【００２２】
ここで、空間生成語を見出し語として含み、比較的小数の単語の集合でそれら全ての見出し語が説明されている辞書、例えば、Longman Dictionary of Contem-porary English （以下、ＬＤＣＥと略す）、The General Basic English Dict-ionary （以下、ＧＢＥＤと略す）等で基本語として採用されている約２０００語（ＬＤＣＥの場合）あるいは約８５０語（ＧＢＥＤの場合）が基本特徴群であり、生成語指示ベクトルの基本特徴群による表現を基本特徴表現（空間生成ベクトル）と定義する。基本特徴群の選択はキーワードの表現能力とシステムの規模とのトレードオフで決定される。すなわち、基本特徴群の語数が大きければ表現できる意味の種類を多くなるが、反面、システムが要求するメモリ容量が大きくなり、更に計算時間も多く費やされる。
【００２３】
生成語指示ベクトルｗ'jに対する基本特徴表現ｗ"jは、例えば、図６のフローチャートに示す手順により作成する：
まず、ステップＳ６０１で、生成語指示ベクトルｗ'jに対応する見出し語と本文を辞書から抜き出す。ステップＳ６０２では、ステップＳ６０１で抜き出した文字列から、不要な記号、たとえば品詞を表すn、vi等、区切りを表すカンマ、セミコロン等を削除する。ステップＳ６０３で、大文字を小文字に修正する。ステップＳ６０４で、合成語を分解する。例えば"hardworking" を"hard"と"working" に分解する。ステップＳ６０５で、不要な単語を削除する。図６では "of"である。ステップＳ６０６で、活用を原形に修正する。図６では、"working" を"work ”に修正する。
【００２４】
以上のようにして、見出し語、すなわち生成語指示ベクトルｗ'jが、基本特徴語の組み合わせとして記述できた。ステップＳ６０７で、この記述に基づいて、ｎ番目の基本語が見出し語ｗ'jに対応する基本特徴語の組み合わせの本文に含まれているとき、基本特徴表現ｗ"jのｎ番目の要素ｗ"j,nを１にする。以後、上記手順を、データ行列作成手順と称する。更に正確なデータ行列を作成するための処理例を図８〜９に示す。
【００２５】
ステップＳ８０１で、空間生成語の数を数え、その個数をＭ個とする。ステップＳ８０２で、記憶装置１０５に空間生成語群を格納する。空間生成語の順番をそのままインデクスとして用いれば、記憶装置１０５に格納したデータは、ＬＵＴと見なすことができる。ステップＳ８０３で、記憶装置１０５にデータ行列の格納場所を確保する。ステップＳ８０４で、ｊ←１に設定する。ステップＳ８０５で、ｊ番目の空間生成語の基本特徴表現を図６の手順で生成する。ステップＳ８０６で、現在のデータ行列（ｊ−１行Ｎ列の行列）のｊ行目としてｊ番目の基本特徴表現を追加し、新しいデータ行列（ｊ行Ｎ列の行列）を得る。ステップＳ８０７で、ｊ←ｊ＋１に設定する。ｊ＞Ｍならば終了し、そうでなければステップＳ８０５に戻る。
【００２６】
以上のようにして、ステップＳ４０２のデータ行列の生成が終了すると、ステップＳ４０３で、データ行列Ａを、基本特徴の自己相関が最大値を取るように、行に関する２ノルムで正規化する：
【００２７】
【数３】
0003916007.tif 000004
ここでａm.n はデータ行列Ａのｍ行ｎ列要素である。データ行列は記憶装置１０５に格納される。
ステップＳ４０４では、まず、データ行列Ａから相関行列ＡT Ａを作る。そして、相関行列ＡT Ａを固有値分解する。例えば、ＡT Ａを特異値分解することによって、ＡT Ａの固有値と固有ベクトルを得ることができる：
ＡT Ａ＝Ｑdiag（λ）ＱT                      (4)
ここでdiag（ｘ）はベクトルｘを対角要素として持つ対角行列、またベクトルλおよび行列Ｑは、固有値λ1,λ2,…, λN と、対応する固有ベクトルｑ1,ｑ2,…, ｑN とを用いて次式で与えられる：
λ＝（λ1 λ2 … λN ）T                     (5)
Ｑ＝（ｑ1,ｑ2,…, ｑN ）                     (6)
相関行列は対称行列であるから、その固有値λ1,λ2,…, λN は全て実数であり、対応する固有ベクトルｑ1,ｑ2,…, ｑN は互いに直交する。
【００２８】
ステップＳ４０５で、零でない固有値（ｖ（≦Ｎ）個あるとする）に対応する各固有ベクトルが張る線型空間を意味空間とし、行列Ｑから、固有値０に対応する固有ベクトルを削除して、それを新たにＱとし、これを意味空間変換行列と呼ぶ：
Ｑ＝（ｑ1,ｑ2,…, ｑV ）                     (7)
意味空間変換行列を記憶装置１０５に格納する。ちなみに、基本特徴群を構成するｊ番目の基本特徴の意味空間での表現<f>jは、ｊ番目の要素だけが１で他の要素が全て０であるようなベクトルＦ(j) を用いて、次式で与えられる：
＜ｆ＞j ＝ ＱT Ｆ (j)                      (8)
ステップＳ４０６で、全ての基本特徴の意味空間での表現<f>j (j=1,2,…,N) を、記憶装置１０５に格納する。以上のように作成される意味空間は１つのアプリケーションに１つ用意されていればよいので、上記処理はオフラインで行ってよい。あるいは、他の装置において、このようにして決定されるデータを、通信回線や記憶媒体を介して受け取って記憶するようにしてもよい。
【００２９】
ステップＳ４０７で、意味空間生成部１０６では、図１０のフローチャートにつき以下に説明する処理を行うことによって、主軸インデクス集合を算出し、記憶装置１０５に格納する。
ステップＳ１００１で、記憶装置１０５からデータ行列Ａと意味空間変換行列Ｑを読み出す。ステップＳ１００２で、生成語指示ベクトルｗ'jを意味空間での記述 <ｗ>jに変換する:
＜ｗ＞j ＝（ＡＱ）T ｗ'j                     (9)
ステップＳ１００３で、空間生成語の意味空間での表現 <ｗ>j (j=1,2,…,M) の和
【００３０】
【数４】
0003916007.tif 000005
を計算する。
ここで、ベクトル <Ｗ> の要素のうち、ｔ番目に絶対値の大きな要素の添え字を求める関数をＡＭＡＸ(<Ｗ> , t)とする。
図１１に関数ＡＭＡＸの処理手順を示す。ステップＳ１１０１で、引数としてベクトルＷと性整数ｔを受け取り、ステップＳ１１０２で、ベクトルＷの要素のうち、絶対値がｔ番目に大きい要素を決定し、ステップＳ１１０３で、決定された要素の番号（何番目の要素か）を出力する。
【００３１】
このとき、あらかじめ設定した整数e2に対する添え字集合Λ(e2)を次のように求める。
ステップＳ１００４で、添え字集合Λ(e2)を空集合に初期化する。ステップＳ１００５で、ｔ←１に設定する。ステップＳ１００６〜７で、添え字変数ｋの値をＡＭＡＸ（ <Ｗ> , ｔ）とし、添え字変数ｈの値をＡＭＡＸ（ <Ｗ> , ｔ＋１）とする。ステップＳ１００８で、ｌｏｇ(|＜Ｗ＞k|／| ＜Ｗ＞h| )＜e2ならば終了。ステップＳ１００９で、添え字集合Λ(e2)に添え字変数ｋの値を加える。ステップＳ１０１０で、ｔ←ｔ＋１に設定する。ステップＳ１０１１で、ｔ≦ｖならステップＳ１００６へ戻り、そうでなければ終了する。
【００３２】
以上で得られた添え字集合Λ(e2)を主軸インデクス集合と定義し、記憶装置１０５に格納する。
＜射影変換生成部１０４＞
図１２は、射影変換生成部１０４の処理を説明する図である。射影変換生成部１０４は、通信装置１０１から入力された文脈語群を、文脈語群写像部１２０１により意味空間へ写像し、意味重心算出部１２０２により意味重心を算出し、射影作用素選択部１２０３によって意味識別射影作用素を選択して、記憶装置１０５に格納する。
【００３３】
以下、図１３のフローチャートを参照しながら、この意味識別射影作用素の作成手順を説明する。
まず、ステップＳ１３０１で、入出力装置１０２に文脈語群Ｓk ＝（ξ1,ｕ1,ξ2,ｕ2,…, ξk,ｕk ）が入力される。ここで、ｕj は文脈語であり、論理演算子としての否定を含んでもよい。ξj はｕj に対する論理演算子（例えば、論理積、論理和）である。ステップＳ１３０２では、文脈語ｕk (k=1,2, …, K)をＬＵＴで文脈ベクトルｕ’k (k=1,2,…, K)に変換する。
【００３４】
ステップＳ１３０３で、文脈語に否定演算子が作用しているかを判定し、文脈語ｕj が否定を含んでいる場合、すなわち、ｕj が文脈語ｖj の否定と指定されている時には、ステップＳ１３０４で、否定の処理を施す。例えば、図１４に示すように、ステップＳ１４０２で、ｕj をｖj に直交するように変換し、ステップＳ１４０３で、変換されたベクトルをノルムが１となるように正規化する。
【００３５】
図１３に戻り、ステップＳ１３０５で、文脈ベクトル群ｓ'k＝（ｕ'1, ｕ'2, …, ｕ'k）は、データ行列Ａと意味空間変換行列Ｑで意味空間での記述＜Ｓ＞k ＝（＜ｕ＞1,＜ｕ＞2,…, ＜ｕ＞k ）に変換される：
ｕ"j＝（ＡＱ）T Ｕ'j                      (10)
ステップＳ１３０６で、文脈ベクトル群の意味重心Ｇ（Ｓ"k）を次式で算出する：
【００３６】
【数５】
0003916007.tif 000006
は無限大ノルムを表す。また、ηj() はξj に対応する処理を表し、例えばηj() が論理積ならば、（＜ｕ＞1 ）η2 （＜ｕ＞2 ）…ηj-1 （＜ｕ＞j-1 ）の結果得られたベクトルと、＜ｕ＞j との要素毎の乗算を行ない、ηj() が論理和ならば、（＜ｕ＞1 ）η2 （＜ｕ＞2 ）…ηj-1 （＜ｕ＞j-1 ）の結果得られたベクトルと、＜ｕ＞j との要素毎の加算を行なう。
【００３７】
以上のようにして算出された意味重心Ｇ(<ｓ>k) のｊ番目の要素の値をｇj と書く。ステップＳ１３０６に戻り、意味重心Ｇ(<ｓ>k) を記憶装置１０５に格納する。ステップＳ１３０７では、全意味空間を意味空間のｊ番目の軸（固有ベクトルｑj ）に射影する作用素をＰj と書く。
あらかじめ設定しておいた整数e1と、意味重心Ｇ(<ｓ>k) の各要素（Ｇ(<ｓ>k) j , ｊ＝１，２，…，ｖとを比較し、
｜( Ｇ(<ｓ>k)j｜＞ｅ1                      (12)
なるｊの集合をΛ(e1)とする。ただし｜・｜は絶対値を表す。
【００３８】
意味射影作用素Ｐｅ1 (<ｓ>k) を次式で定義する：
【００３９】
【数６】
0003916007.tif 000007
ステップＳ１３０８で、意味識別射影作用素Ｄｅ2 (<ｓ>k) を、記憶装置１０５に格納されている主軸インデクス集合Λ(e2)を用いて、次式で算出して、記憶装置１０５に格納する：
【００４０】
【数７】
0003916007.tif 000008
ただし、Λ( ｅ1)＼Λ( ｅ2)は、集合Λ( ｅ1)の要素のうち、Λ( ｅ2)に含まれないものの全体を表している。 意味識別射影作用素Ｄｅ2 (<ｓ>k) による作用の実現方法を以下に示す。
１）ベクトルを射影すべき部分空間を構成する軸に対応する要素が１、それ以外の要素が０となるベクトルをｄとすれば、ｄを対角成分とする行列として与えられる。例えば、ｖ次元意味空間に対して、部分空間が意味空間の１番目と３番目の軸で張られるとすれば、ベクトルｄは
ｄ＝（１０１…０）                       (15)
であり、意味識別射影作用素は、それを対角成分とする行列であるから、
【００４１】
【数８】
0003916007.tif 000009
となる。従ってベクトルｗヘの意味識別射影作用素の作用は、行列演算で達成される。
２）上述のベクトルｄを直接利用することもできる。即ち、射影されるべきベクトルｗとベクトルｄとの要素毎の乗算を行えばよい。
３）意味識別射影作用素を、部分空間を構成する軸の番号として表現する。例えば、意味空間の１番目と３番目の軸によって部分空間が構成されるなら、１と３を意味識別射影作用素として記憶しておく。ベクトルを射影する時には、対象となるベクトルと、部分空間を構成する軸の番号を入力すれば、ベクトルの要素のうち、指定された番号の軸以外の要素を零とするような関数を容易しておけばよい。
【００４２】
意味射影変換生成部１０４への入力となる文脈語群は、通信装置１０１から逐次与えられるものであり、従って、上述の意味射影作用素Ｐｅ1 (<ｓ>k) 、更に意味識別射影作用素Ｄｅ2 (<ｓ>k) は逐次計算される。
＜比較対象語群写像部１０７＞
図１５は、比較対象語群写像部１０７の構成を示している。入出力装置１０２から比較対象語群（Ｌ個の比較対象語の組）が入力されると、それを比較対象群写像部１５０１により比較対象ベクトル群に変換し、記憶装置１０５に格納する。以下、図１６のフローチャートを参照して、その処理を説明する。
【００４３】
まず、ステップＳ１６０１で、比較対象語ｃj を、ＬＵＴを用いて比較対象ベクトルｃ'jに変換する。ステップＳ１６０２で、比較対象ベクトルに、データ行列Ａと意味空間変換行列Ｑを作用させることにより、比較対象ベクトルの意味空間での記述＜Ｃ＞j を得る。：
＜Ｃ＞j ＝（ＡＱ）T Ｃ'j                    (17)
ステップＳ１６０３で、＜Ｃ＞j を、記憶装置１０５に格納されている意味識別射影作用素Ｄｅ2(ｓ
K）で部分空間へ射影する：
［ｃ］j ＝Ｄe2（ｓ
K) ＜Ｃ＞j                 (18)
比較対象ベクトルの部分空間での記述 [ｃ]jを記憶像値１０５に格納する。上記処理をＬ個の比較対象語全てについて行う。
【００４４】
＜基本処理部１０３＞
図１７は、基本処理部１０３の構成例を示している。意味重心から決まる動的な計量（距離、ノルム等）を用いて、基本特徴群修正部１７０１により検索語の基本特徴群を修正し、検索語と比較対象語群とを、それぞれ検索語射影部１７０２、比較対象群射影部１７０４によって意味識別射影作用素を用いて部分空間へ射影して、検索語と比較対象語群との関係を、距離計算部１７０３により部分空間上で計算する。以下、図１８のフローチャートを参照して、計量の計算方法の例を説明する。
【００４５】
ステップＳ１８０１で、通信装置１０１に送信されてきた検索語ｒが、基本処理部１０３に入力される。
ステップＳ１８０２で、検索語ｒを、ＬＵＴ、データ行列Ａを用いて検索語ｒの基本特徴表現ｒ”＝ (ｒ1 ｒ2 …ｒN)T を算出する：
ｒ”＝ ＡT ｒ’                        (19)
ステップＳ１８０３で、ｊ番目の基本特徴の意味空間での記述<f>j, ｊ＝１，２，…，Ｎのｋ番目の要素<f>j,kと意味重心Ｇのｋ番目の要素gkとが異符号のときは、例えば以下のように処理する。異符号すなわち両者の積が負のときには、<f>j,kを０に設定し直す。このようにして修正された基本特徴と意味空間での記述<fm>j を用いて次の変換行列を構成する：
Ｒ＝ (<fm>1 <fm>2 … <fm>N )                  (20)
ステップＳ１８０４で、検索ベクトルｒ’をデータ行列Ａと上記Ｒを用いて変換する：
［ｒm ］＝（ＡＲ）T ｒ’                    (21)
上記 [ｒm]を検索語の修正意味空間表現と呼ぶ。
【００４６】
ステップＳ１８０５で、 [ｒm]と、記憶装置１０５に格納されている比較対象ベクトル群（[c]1,[c]2,…，[c]L）との距離を次式で計算する：
【００４７】
【数９】
0003916007.tif 000010
以上のようにして計算された距離をもとにして、検索語ベクトル群を距離の小さい順（比較対象ベクトルに近い順）に並び替えて記憶装置１０５に格納する。ステップＳ１８０６で、ユーザに指定された出力形式に従って、検索語ベクトルを出力する。このとき、検索語ベクトルを、意味空間変換行列やデータ行列、およびＬＵＴを利用して文字列に逆変換することもできる。
【００４８】
次に、図１９のフローチャートにつき、図２のステップＳ２０７のエラー処理の詳細について説明する。
ステップＳ１９０１〜２で、エラーコードが１であるか２であるかを判定する。エラーコードが１の時は、ステップＳ１９０４で、エラーメッセージを出力すべき出力装置として入出力装置１０２を指定する。一方、エラーコードが２の時は、ステップＳ１９０３で、エラーメッセージを出力すべき出力装置として通信装置１０１を指定する。ステップＳ１９０５で、指定された出力装置に対して、エラーメッセージを出力する。
【００４９】
［実施形態２］
図２０に本発明の実施形態２の構成図を示す。
実施形態２は、実施形態１を従来のパターンマッチング型データベースと組み合わせたシステムであり、ユーザ端末２０１、通信回線２０２、意味検索エンジン２０３、パターンマッチングエンジン２０４、全文データベース２０５より構成される。本実施形態では、文脈語群や検索語群は、ユーザ端末２０１から通信回線２０２を介して意味検索エンジン２０３（詳細は後述する）に送信される。
【００５０】
意味検索エンジン２０３によって得られた最適検索語をパターンマッチングエンジン２０４に送信し、パターンマッチングエンジン２０４では、処理の結果得られたデータ（検索結果）を全文データベース２０５から読み出して意味検索エンジン２０３に返送する。意味検索エンジン２０３は検索結果を通信回線２０２を介してユーザ端末２０１に返送する。
【００５１】
図２１は実施形態２のシステムの処理のフローチャートを示している。
まず、ステップＳ２１０１で、システムの更新か否かを判定し、更新の場合、ステップＳ２１０２で、図２２のフローチャートに示す意味検索エンジン２０３の初期化を実行する：
ステップＳ２２０１で、実施形態１の図４に示した意味空間生成処理を行う。ステップＳ２２０２〜３で、全文データベース２０５で使用されている単語（キーワード）を全て集めて、比較対象語とする。ステップＳ２２０４で、実施形態１の図１６に示した比較対象語写像処理を行う。
【００５２】
システムの更新以外のときには、システムは通常処理を行う：
ステップＳ２１０３で、通信回線２０２を介しての入力を待つ。入力があった時、ステップＳ２１０４で、新規ユーザからのアクセスかどうかを判断する。ここで新規ユーザとは、現在検索処理を行っているユーザ以外のユーザを指す。新規ユーザであれば、ステップＳ２１０５で、意味検索エンジン内の記憶装置に該ユーザ用のデータ領域を確保して、ステップＳ２１０１に戻る。
【００５３】
ステップＳ２１０４で、新規ユーザでなければ、ステップＳ２１０６で、アクセスを切断するためのコマンドかどうかを判断し、そうであれば、ステップＳ２１０７で、該当ユーザ用のデータ領域を開放し、ステップＳ２１０１に戻る。
また、既存ユーザからアクセス切断以外のコマンドが送信された場合は、ステップＳ２１０８で、該ユーザのデータ領域にデータポインタを設定し、ステップＳ２１０９で、図２３につき後述する意味検索エンジンの処理、パターンマッチングエンジンの処理を行い、検索結果を出力し、ステップＳ２１０１に戻る。
【００５４】
図２３は、意味検索エンジンの処理手順を示すフローチャートである。
まず、ステップＳ２３０１で、入力データが文脈語群かどうかを判定し、そうであれば、ステップＳ２３０２で、実施形態１の図１４に示した射影変換生成部１０４の処理を行い終了する。そうでなければ次に進む。ステップＳ２３０３で、入力データがパラメタ設定コマンドかどうかを判定し、そうであれば、ステップＳ２３０４で、指定されたパラメタをデータ領域に記憶して出力書式を変更し、終了する。そうでなければ次に進む。ステップＳ２３０５で、入力データが検索結果出力コマンドかどうかを判定し、そうであれば、ステップＳ２３０６で、検索結果を出力書式に従って出力し終了する。そうでなければ次に進む。
【００５５】
ステップＳ２３０７で、入力データが検索語かどうかを判定し、そうでなければエラー処理を実行して終了する。検索語であれば次に進む。ステップＳ２３０９で、実施形態１の図１８で説明した基本処理部の処理を実行し、ユーザが入力した検索語に最も近い比較対象語（最適検索語）を得る。ステップＳ２３１０で、上記キーワードをパターンマッチングエンジンに送信し、後述するパターンマッチングエンジンの処理を実行する。ステップＳ２３１１で、パターンマッチングエンジン２０４から送信されたデータ集合を記憶装置１０５に記憶して終了する。
【００５６】
図２４を参照して、パターンマッチングエンジン２０４の処理を説明する。
ステップＳ２４０１で、意味検索エンジン２０３から、最適検索語と検索記号によって記述された検索式を入力する。ステップＳ２４０２で、検索結果としてのデータ集合を空集合に初期化し、ステップＳ２４０３で、検索式のポインタを１に初期化する。ステップＳ２４０４で、現在のポインタの位置から検索記号及び検索語、あるいは検索語のみを読み込み、ポインタを、読み込んだ検索記号及び検索語の次の位置に設定する。ステップＳ２４０５で、読み込んだ検索記号及び検索語に基づいたパターンマッチングによる検索操作により、データ集合を更新する。
【００５７】
ステップＳ２４０６で、検索式のポインタが検索式の最後を指しているかを判定し、そうであれば、ステップＳ２４０７で、データ集合を意味検索エンジンに返送して終了し、そうでなければステップＳ２４０４に戻る。
なお、ここでいうデータ集合とは、たとえば、全文データベース２０５に格納されたデータにつけられた連番を要素としてもいいし、データそのものを要素としてもよい。
【００５８】
［実施形態３］
図２５に実施形態３のシステム構成図を、図２６に処理のフローチャートを示す。実施形態３は、実施形態１の画像データベース検索システムへの応用例である。
実施形態３のシステムは、図２５に示すように、ユーザ端末３０１、通信回線３０２、意味検索エンジン３０３、パターンマッチングエンジン３０４、画像データベース３０５から構成される。
【００５９】
図２６を参照して、本システムの処理を説明する。
まず、ステップＳ２６０１で、システムの更新であるかを判断し、システム更新の場合のみ、ステップＳ２６０２で、意味検索エンジン３０３の初期化を行う。
この意味検索エンジン３０３の初期化の手順を、図２７を参照して説明する。
【００６０】
まず、ステップＳ２７０１で、実施形態１で図４につき説明した意味空間生成部１０６の処理を行い、ＬＵＴ、データ行列、意味空間変換行列、主軸インデクス集合を算出し、記憶装置１０５に記憶する。ステップＳ２７０２で、ｊ←１に初期化し、ステップＳ２７０３で、画像データベース３０５のｊ番目に格納されている画像データを説明する単語群（Ｋ個あるとする）｛ｗjk｝を読み出す。ステップＳ２７０４で、ＬＵＴとデータ行列によって、｛ｗjk｝を基本特徴表現｛ｗ"jk ｝に変換する。ただし、ｗ"jk ＝（ｗ"jk,1  ｗ"jk,2 … ｗ"jk,N ）T である。
【００６１】
ステップＳ２７０５で、｛ｗ"JK ｝を次式で合成する：
ｗ"J＝（ｗ"JABMAX(1),1 ｗ"JABMAX(2),2… ｗ"JABMAX(N),N）T   (23)
ただし、ＡＢＭＡＸ（１）は、ｗ"jk,1 （ｋ＝1,…,K）のうち、絶対値が最大となるｋを表す。ｗ"jを、ｊ番目の画像データのベクトル表現と呼ぶ。
ステップＳ２７０６で、画像データのベクトル表現を比較対象ベクトルとして記憶する。ステップＳ２７０７で、ｊ←ｊ＋１に設定する。ステップＳ２７０８で、ｊ＞Ｋなら終了、そうでなければステップＳ２７０２に戻る。
【００６２】
図２６に戻って、システム更新時以外は、以下の処理を実行する（図２８参照）：
ステップＳ２６０３で、通信回線３０２を介しての入力を待つ。ステップＳ２６０４で、新規ユーザからのアクセスかどうかを判断する。ここで新規ユーザとは、現在検索処理を行っているユーザ以外のユーザを指す。新規ユーザであれば、意味検索エンジン内の記憶装置に該ユーザ用のデータ領域を確保して、ステップＳ２６０１に戻る。ステップＳ２６０３で、新規ユーザでなければ、アクセスを切断するためのコマンドかどうかを判断し、そうであればステップＳ２６０７で、該ユーザ用のデータ領域を開放し、ステップＳ２６０１に戻る。
【００６３】
既存ユーザからアクセス切断以外のコマンドが送信された場合は、ステップＳ２６０８で、該当ユーザのデータ領域にデータポインタを設定し、意味検索エンジンの処理、パターンマッチングエンジンの処理を行い、検索結果を出力し、ステップＳ２６０１に戻る。意味検索エンジン３０３は、以下の処理を行う。
図２８にフローチャートを示す。
【００６４】
ステップＳ２８０１で、入力データが文脈語ベクトル群かどうかを判定し、そうであれば、ステップＳ２８０２で、図２９に示す射影変換生成部１０４の処理を行い終了する。そうでなければ次に進む。ここで、文脈語ベクトルとは、いくつかの属性に関する文脈語の組であり、文脈語ベクトル群とは文脈語ベクトルの集合である。文脈語の属性は、データベースに依存するが、画像データに対する説明キーワードの属性としては、例えば画像に含まれる物体の名前、画像に含まれる物体の動作、画像の印象等が考えられる。
【００６５】
ステップＳ２８０３で、入力データがパラメタ設定コマンドかどうかを判定し、そうであれば、ステップＳ２８０４で、指定されたパラメタをデータ領域に記憶して終了する。そうでなければ次に進む。ステップＳ２８０５で、入力データが検索結果出力コマンドかどうかを判定し、そうであれば、ステップＳ２８０６で、検索結果を出力書式に従って出力し終了する。そうでなければ次に進む。ステップＳ２８０７で、入力データが検索語ベクトルかどうかを判定し、そうでなければステップＳ２８０８で、エラー処理を実行して終了する。検索語ベクトルであれば、次に進む。ここで言う検索語ベクトルは上記文脈ベクトルと同様のものである。ステップＳ２８０９で、図３０につき後述する基本処理部の処理を実行し、ユーザが入力した検索語に最も近い検索語ベクトルを得る。
【００６６】
ステップＳ２８１０で、上記検索語をパターンマッチングエンジン３０４に送信し、パターンマッチングエンジン３０４の処理を実行する。ステップＳ２８１１で、パターンマッチングエンジン３０４から送信されたデータ集合を記憶装置に記憶して終了する。基本処理部の処理で出力された最適検索語ベクトル群は、パターンマッチングエンジン３０４に送信される。
【００６７】
射影変換生成部の処理は以下の通りである（図２９）：
まず、ステップＳ２９０１で、文脈語ベクトル群をそれぞれの属性毎の文脈語群に分解する。そして、ステップＳ２９０２で、それぞれの文脈語群に対して、実施形態１で図１４につき説明した射影変換生成部の処理を実行する。
また、基本処理部の処理は以下の通りである（図３０参照）：
まず、ステップＳ３００１で、検索語ベクトルをそれぞれの属性毎に分解する。そして、ステップＳ３００２で、それぞれの検索語に対して、実施形態１で図１８につき説明した基本処理部１０３の処理を実行し、それぞれの属性に関する最適検索語を得る。
【００６８】
パターンマッチングエンジン３０４は以下の処理を行う（図３１参照）：
ステップＳ３１０１で、最適検索語ベクトル群と検索記号より構成される検索式を入力する。ステップＳ３１０２で、与えられた検索式を、それぞれの属性毎に分解する。ステップＳ３１０３では、データ集合を抽出するために、以下の１から５までの処理は、各属性（物体、動作、印象、…）毎に独立に行う。
【００６９】
なお、ここでいうデータ集合とは、例えば、データベースに格納された画像データにつけられた連番（インデクス）を要素とする。
１．検索結果としてのデータ集合を空集合に初期化する。
２．検索式のポインタを１に初期化する。
３．検索記号及び検索語を読み込み、ポインタを読み込んだ検索記号及び検索語の次の位置に設定する。
４．読み込んだ検索記号及び検索語に基づいたパターンマッチングによる検索操作により、データ集合を更新する。
５．検索式のポインタが検索式の最後を指しているかを判定し、そうであればステップＳ３１０４へ進む。そうでなければ３に戻る。
【００７０】
ステップＳ３１０４では、それぞれの属性に関するデータ集合の集合積を実行し、ステップＳ３１０５で、結果として得られた集合、あるいは集合に属する画像データの集合を意味検索エンジン３０３に返送する。
ところで、異なる検索者間では、文脈による画像の内容や印象の表現においては、同じ表現であっても、抽出が期待される画像が異なることがある。また、同じイメージを表現する場合に、検索者毎に異なる表現を行う場合がある。そのため、個々の検索者について、正しい検索を行うことができるように、個人差を扱う機構が必要となる。本実施形態では、このための学習機能を提供する。
【００７１】
これらの個人差は、画像から受ける印象が検索者毎に異なるため、あるいは、画像の内容や印象を表現するときに用いる検索語についての認識が検索者毎に異なるために生じることに起因すると考えられる。本実施形態においては、前者は画像ベクトルに、後者は検索語ベクトルに個人差があることに対応する。以下で説明する学習機構では、画像のメタデータは、複数の検索者が利用する正しく定義された共有資源であると考え、検索者の印象や画像の内容を表す文脈を構成する際に検索者が利用する検索語群に対応する検索語ベクトルを、検索者毎に修正する。
【００７２】
以上の学習機構を、意味重心の移動、および、その移動量の検索語への反映の２段階の処理によって実現する。
検索者の印象や画像の内容を示す文脈を表す検索語列ｓL とその文脈と最も相関が強くなるべき画像Ｐt に対応する画像ベクトルｐが与えられたとき、検索語列ｓL の表す文脈と画像Ｐt の相関が最も強くなるように意味重心Ｇの移動を行う。図３２〜３３のフローチャートを参照して説明する。
【００７３】
まず、ステップＳ３２０１で、データベースから画像データを説明するためのキーワード群を読み出し、δを適当な正数に設定する。
ステップＳ３２０２で、検索語列ｓL に対する意味重心Ｇ（ｓL ）を計算する。ステップＳ３２０３で、読み出されたキーワード群を意味空間に写像する。ステップＳ３２０４で、２つの変数ベクトルｓ、ｔを、ｓ←ｐ、ｔ←Ｇ（ＳL)に初期化する。ステップＳ３２０５で、ｓとｔのなす角θが設定したδより小さければ終了する。ここでθは次式で計算する：
θ＝ｃｏｓ-1(<ｓ>T<t>)                     (24)
ただし、＜ｓ＞はベクトルｓを正規化したベクトルを表す。
【００７４】
角θが設定したδより小さくなければ、ステップＳ３２０６で、新しい意味重心の候補Ｇ（ｓL)NEW を次式で計算する：
【００７５】
【数１０】
0003916007.tif 000011
ここで‖・‖はノルムであり、意味重心を求めるときに用いたノルムと同じ種類のノルム（無限大ノルム）を用いる。ステップＳ３２０７で、新しい意味重心候補Ｇ（ＳL)NEW をもとに、意味識別射影作用素Ｄを選択する。
ステップＳ３２０８で、比較対象となる全ての画像ベクトル＜ｃ＞j （目的とする画像ベクトルを含む）を意味識別射影作用素Ｄで射影する：
［ｃ]j＝Ｄ＜ｃ＞j ， (j=1,2, …,L)               (26)
ステップＳ３２０９で、目的とする画像ベクトルｐのＤによる射影 [ｐ] を計算する。ステップＳ３２１０で、 [ｐ] ≧ [ｃ]j，∀ｊであるかを判定し、そうならば、ステップＳ３２１１に進み、ｓ←Ｇ（ｓL)NEW とし、そうでなければ、ステップＳ３２１２に進み、ｔ←Ｇ（ｓL)NEW とし、ステップＳ３２０５に戻る。
【００７６】
次に、Ｌ個の検索語より構成される検索語列ｓL により定まる意味重心が、新しい意味重心Ｇ（ｓL)NEW になるように、検索語列ｓL を構成している検索ベクトルを修正する方法を図３４のフローチャートを参照して説明する。
まず、ステップＳ３４０１で、検索語列ｓL により求められた元の意味重心Ｇ（ｓL)＝ (ｇ1 ｇ2 …ｇp ）から、前述の方法で計算した新しい意味重心Ｇ（ｓL)NEW ＝ (ｇn1 ｇn2…ｇnp）への移動ベクトルΔＧを計算する：
ΔＧ（ｓL)＝Ｇ（ｓL)NEW −Ｇ（ｓL)               (27)
そして、ステップＳ３４０２で、検索語ベクトルｒj の移動量Δｒj を次式で計算する：
【００７７】
【数１１】
0003916007.tif 000012
ここで‖・‖は無限大ノルムである。以下の方法も有効である。
検索語ベクトルの各成分の大きさに応じて、移動量を配分する。すなわち、
Δｒj,k ＝ηj,k ‖Ｇ（ｓL)‖（ΔＧ（ｓL ))k           (29)
ただし、
【００７８】
【数１２】
0003916007.tif 000013
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用されても、一つの機器からなる装置に適用されてもよい。
また、本発明の目的は、実施の形態の最初でも述べた如く、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【００８２】
【発明の効果】
以上説明したように、本発明によれば、文脈や状況に応じて動的に変化すると考えられるデータ間の意味的な同一性、相違性の判定が容易にできる。
また、データベースで使用されている検索語の集合をユーザが知らなくても、ユーザが任意の検索語を指定でき、データベースで使用されている検索語の集合の中で、ユーザが指定した検索語に意味的に最も近い検索語が選択され、それをもとにデータベースの検索を行うことができる。
【００８３】
また、ユーザの指定した検索語に近い検索語の候補を選択する際に、意味空間の部分空間に射影して探索することによって、処理対象となる検索語の候補を劇的に減少させることができ、その結果、処理速度を飛躍的に向上させることができる。
加えて、各文脈語が否定演算子を含むことが可能であり、文脈語が否定子を含む場合は当該文脈語の意味を表すベクトルと直交するベクトルに変換するため、検索語に対して文脈における関連の強い単語をより正確に選出できる。
【図面の簡単な説明】
【図１】実施形態１の構成図である。
【図２】実施形態１の処理のフローチャートである。
【図３】意味空間生成部の構成図である。
【図４】意味空間生成部の処理のフローチャートである。
【図５】データ行列生成処理のフローチャートである。
【図６】基本特徴表現の生成手順の例を説明する図である。
【図７】データ行列の更新処理の例を説明する図である。
【図８】データ行列生成処理のフローチャートである。
【図９】データ行列の更新処理の例を説明する図である。
【図１０】主軸インデクス集合の生成処理のフローチャートである。
【図１１】関数ＡＭＡＸ処理のフローチャートである。
【図１２】射影処理のフローチャートである。
【図１３】射影変換生成部の処理のフローチャートである。
【図１４】文脈ベクトルの否定処理のフローチャートである。
【図１５】比較対象語群写像部の構成図である。
【図１６】比較対象語群者図部の処理のフローチャートである。
【図１７】基本処理部の構成図である。
【図１８】基本処理部の処理フローチャートである。
【図１９】エラー処理のフローチャートである。
【図２０】実施形態２の構成図である。
【図２１】実施形態２の処理のフローチャートである。
【図２２】意味検索エンジンの初期化処理のフローチャートである。
【図２３】意味検索エンジンの処理のフローチャートである。
【図２４】パターンマッチングエンジンの処理のフローチャートである。
【図２５】実施形態３の構成図である。
【図２６】実施形態３の処理のフローチャートである。
【図２７】意味検索エンジンの初期化処理のフローチャートである。
【図２８】意味検索エンジンの処理のフローチャートである。
【図２９】射影変換生成部の処理のフローチャートである。
【図３０】基本処理部の処理のフローチャートである。
【図３１】パターンマッチングエンジンの処理のフローチャートである。
【図３２】学習機構の意味重心の移動量算出処理のフローチャートである。
【図３３】学習機構の意味重心の移動量算出処理のフローチャートである。
【図３４】学習機構の検索ベクトル修正処理のフローチャートである。
【符号の説明】
１０１ 通信装置
１０２ 入出力装置
１０３ 基本処理部
１０４ 射影変換生成部
１０５ 記憶装置
１０６ 意味空間生成部
１０７ 比較対象語群写像部
１０８ 英英辞典
２０１，３０１ ユーザ端末
２０２，３０２ 通信回線
２０３，３０３ 意味検索エンジン
２０４，３０４ パターンマッチングエンジン
２０５ 全文データベース
３０５ 画像データベース
３１１ 空間生成語変換部
３１２ データ行列生成部
３１３ 意味空間変換行列生成部
１２０１ 文脈語群写像部
１２０２ 意味重心算出部
１２０３ 射影作用素選択部
１５０１ 比較対象群写像部
１７０１ 基本特徴群修正部
１７０２ 検索語射影部
１７０３ 距離計算部
１７０４ 比較対象群射影部
【図１】
0003916007.tif 000014
【図２】
0003916007.tif 000015
【図３】
0003916007.tif 000016
【図４】
0003916007.tif 000017
【図５】
0003916007.tif 000018
【図６】
0003916007.tif 000019
【図７】
0003916007.tif 000020
【図８】
0003916007.tif 000021
【図９】
0003916007.tif 000022
【図１０】
0003916007.tif 000023
【図１１】
0003916007.tif 000024
【図１２】
0003916007.tif 000025
【図１３】
0003916007.tif 000026
【図１４】
0003916007.tif 000027
【図１５】
0003916007.tif 000028
【図１６】
0003916007.tif 000029
【図１７】
0003916007.tif 000030
【図１８】
0003916007.tif 000031
【図１９】
0003916007.tif 000032
【図２０】
0003916007.tif 000033
【図２１】
0003916007.tif 000034
【図２２】
0003916007.tif 000035
【図２３】
0003916007.tif 000036
【図２４】
0003916007.tif 000037
【図２５】
0003916007.tif 000038
【図２６】
0003916007.tif 000039
【図２７】
0003916007.tif 000040
【図２８】
0003916007.tif 000041
【図２９】
0003916007.tif 000042
【図３０】
0003916007.tif 000043
【図３１】
0003916007.tif 000044
【図３２】
0003916007.tif 000045
【図３３】
0003916007.tif 000046
【図３４】
0003916007.tif 000047