(57)【特許請求の範囲】
【請求項１】
入力情報を解析してパラメタ及びコマンドを抽出する解析手段と、
前記パラメタと利用可能な複数のコンピュータの各々の特徴量との類似度を計算する類似度計算手段と、
前記複数のコンピュータの各々の言語を判別する判別手段と、
前記コマンドを前記各々の言語で実行したときのコストを特定するコスト特定手段と、
前記複数のコンピュータの各々につき、前記コマンドをそのコンピュータの言語で実行したときのコストに基づいて前記類似度を修正する修正手段と、
該修正手段により修正された類似度に基づいて、前記入力情報を処理するために適当なコンピュータを、前記複数のコンピュータより選択する選択手段と、
該選択手段により選択されたコンピュータに前記入力情報の処理を実行させる制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記選択手段が、前記修正された類似度の高い順にコンピュータを選択し、前記制御手段が、前記選択されたコンピュータによる実行結果が有効であるかを判定して、有効でない場合に、次のコンピュータを選択するように前記選択手段を制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記類似度計算手段は、前記パラメタと前記コンピュータの各々の特徴量との意味的な類似度を計算することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
解析手段と、類似度計算手段と、判別手段と、コスト特定手段と、修正手段と、選択手段と、制御手段とを備えた情報処理装置における情報処理方法であって、
前記解析手段が、入力情報を解析して第１及び第２の情報を抽出する解析工程と、
前記類似度計算手段が、前記第１の情報と利用可能な複数のコンピュータの各々の特徴量との類似度を計算する類似度計算工程と、
前記判別手段が、前記複数のコンピュータの各々の言語を判別する判別工程と、
前記コスト特定手段が、前記コマンドを前記各々の言語で実行したときのコストを特定するコスト特定工程と、
前記修正手段が、前記複数のコンピュータの各々につき、前記コマンドをそのコンピュータの言語で実行したときのコストに基づいて前記類似度を修正する修正工程と、
前記選択手段が、該修正工程において修正された類似度に基づいて、前記入力情報を処理するために適当なコンピュータを、前記複数のコンピュータより選択する選択工程と、
前記制御手段が、該選択工程により選択されたコンピュータに前記入力情報の処理を実行させる制御工程とを有することを特徴とする情報処理方法。
【請求項５】
前記選択工程では、前記選択手段が、前記修正された類似度の高い順にコンピュータを選択し、前記制御工程では、前記制御手段が、前記選択されたコンピュータによる実行結果が有効であるかを判定して、有効でない場合に、次のコンピュータを選択するように前記選択工程を制御することを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記類似度計算工程では、前記類似度計算手段が、前記パラメタと前記コンピュータの各々の特徴量との意味的な類似度を計算することを特徴とする請求項４に記載の情報処理方法。
【請求項７】
コンピュータに、
入力情報を解析して第１及び第２の情報を抽出する解析工程と、
前記第１の情報と利用可能な複数のコンピュータの各々の特徴量との類似度を計算する類似度計算工程と、
前記複数のコンピュータの各々の言語を判別する判別工程と、
前記コマンドを前記各々の言語で実行したときのコストを特定するコスト特定工程と、
前記複数のコンピュータの各々につき、前記コマンドをそのコンピュータの言語で実行したときのコストに基づいて前記類似度を修正する修正工程と、
該修正工程において修正された類似度に基づいて、前記入力情報を処理するために適当なコンピュータを、前記複数のコンピュータより選択する選択工程と、
該選択工程により選択されたコンピュータに前記入力情報の処理を実行させる制御工程とを実行させることを特徴とする情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及びその方法に関し、特にマルチデータベースシステム(以下MDB)、或いはDBシステムと検索者とのインターフェース及びその検索方法に関するものである。
【０００２】
【従来の技術】
コンピュータネットワークが普及することによって、個人の端末から種々のデータベースにアクセスすることが可能になってきた。ネットワークからアクセスできるDBは様々な言語で記述された管理システムで管理されている。様々なDBからデータを検索するためには、ユーザーはそれら全ての管理システムの問い合わせ書式を知る必要があり、DBに不慣れなユーザーには大きな負荷であった。このような負荷を軽減するために、異種DBの統合技術がいくつか提案されている。これらの技術の目的は、異なる言語で記述され、或いは異なる属性名で同じデータが格納されている複数のDBから、これら様々な差異をユーザーに意識させずに、必要なデータを検索することにある。目的を達成するために必要な技術は以下のように大別できる：
(1) DB言語間の変換
(2) テーブル名、属性名等の間の関連付け
【０００３】
DB言語変換によるMDBシステムは、例えば、特開平7−65032号公報記載の技術では、以下のように実現されている。ただし、以下では、ユーザー端末で使用できる問い合わせ言語を標準言語と呼び、そこでのデータ表現形式を標準形式と呼ぶ。マルチデータベースシステム（以後MDBシステムと略記する）は、以下のライブラリ及びテーブルを予め持っている。
(1) ユーザー端末で使っている標準言語と、検索対象DBで使われているDB言語との言語変換用ライブラリ
(2) 標準形式で表現されたデータを、それぞれのDB固有の表現形式に変換する、あるいは逆の変換を行うデータ変換用ライブラリ
(3) DB名と、対応する言語変換用ライブラリ、データ変換用ライブラリとを対応付ける管理テーブル
【０００４】
上記技術では、ユーザーは、検索対象DB名と問い合わせを標準言語で記述する。すると、システムは、対象DB名から管理テーブルを用いて、対象DBに対応する言語変換ライブラリとデータ変換ライブラリの番号を取得する。そして、ユーザーが標準言語で記述した問い合わせを、言語変換ライブラリを用いて対象DBで用いられている言語に変換して、対象DBへ送信する。この問い合わせに対する結果が対象DBから送信されると、システムは、データ変換ライブラリを用いて標準形式に変換し、ユーザーに送信する。
【０００５】
また別の実現方法として、特開平5−342123号公報記載の技術では、ネットワークシステムのコマンド転送方式を実現している。ここで実現しているシステムでは、ユーザーが入力したコマンド列を解析し、要求された処理を実行するためのコンピュータネットワーク上のシステムを決定し、そのシステムでサポートされているコマンドにユーザー指定のコマンドを変換することができる。このようなシステムは、コマンドを問い合わせ文、対象とするシステムをDB管理システムと考えれば、MDBシステムに応用できる。
【０００６】
【発明が解決しようとしている課題】
しかしながら、上記従来方式には以下のような課題がある。まず、特開平7−65032号のシステムでは、検索対象とするデータベース名を指定しなければならない。また特開平5−342123号の方式では、ユーザーが設定したパラメタをもとに処理を行うシステムを決定するために、パラメタとしてのファイル名、テーブル名、属性名等を正確に指定しなければならなかった。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、情報処理装置に、入力情報を解析してパラメタ及びコマンドを抽出する解析手段と、前記パラメタと利用可能な複数のコンピュータの各々の特徴量との類似度を計算する類似度計算手段と、前記複数のコンピュータの各々の言語を判別する判別手段と、前記コマンドを前記各々の言語で実行したときのコストを特定するコスト特定手段と、前記複数のコンピュータの各々につき、前記コマンドをそのコンピュータの言語で実行したときのコストに基づいて前記類似度を修正する修正手段と、該修正手段により修正された類似度に基づいて、前記入力情報を処理するために適当なコンピュータを、前記複数のコンピュータより選択する選択手段と、該選択手段により選択されたコンピュータに前記入力情報の処理を実行させる制御手段とを備える。
【０００８】
また、本発明の他の態様によれば、解析手段と、類似度計算手段と、判別手段と、コスト特定手段と、修正手段と、選択手段と、制御手段とを備えた情報処理装置における情報処理方法に、前記解析手段が、入力情報を解析して第１及び第２の情報を抽出する解析工程と、前記類似度計算手段が、前記第１の情報と利用可能な複数のコンピュータの各々の特徴量との類似度を計算する類似度計算工程と、前記判別手段が、前記複数のコンピュータの各々の言語を判別する判別工程と、前記コスト特定手段が、前記コマンドを前記各々の言語で実行したときのコストを特定するコスト特定工程と、前記修正手段が、前記複数のコンピュータの各々につき、前記コマンドをそのコンピュータの言語で実行したときのコストに基づいて前記類似度を修正する修正工程と、前記選択手段が、該修正工程において修正された類似度に基づいて、前記入力情報を処理するために適当なコンピュータを、前記複数のコンピュータより選択する選択工程と、前記制御手段が、該選択工程により選択されたコンピュータに前記入力情報の処理を実行させる制御工程とを備える。
【０００９】
また、本発明の他の態様によれば、コンピュータ読み取り可能な記憶媒体に、コンピュータに、入力情報を解析して第１及び第２の情報を抽出する解析工程と、前記第１の情報と利用可能な複数のコンピュータの各々の特徴量との類似度を計算する類似度計算工程と、前記複数のコンピュータの各々の言語を判別する判別工程と、前記コマンドを前記各々の言語で実行したときのコストを特定するコスト特定工程と、前記複数のコンピュータの各々につき、前記コマンドをそのコンピュータの言語で実行したときのコストに基づいて前記類似度を修正する修正工程と、該修正工程において修正された類似度に基づいて、前記入力情報を処理するために適当なコンピュータを、前記複数のコンピュータより選択する選択工程と、該選択工程により選択されたコンピュータに前記入力情報の処理を実行させる制御工程とを実行させることを特徴とする情報処理プログラムを記憶している。
【００１０】
【発明の実施の形態】
（実施形態1）
図1は、本発明の1実施形態である情報処理装置の機能構成を表す図である。装置の各部は、以下に説明する機能を実現するものであれば、それぞれが専用のプログラムメモリやプロセッサを含む機器であってもよいし、複数の機能部を、同一のＣＰＵがＲＯＭやディスクメモリ等に記憶された各機能プログラムを実行することにより、あるいは各機能に対応する特定のハードウェアを制御する制御プログラムを実行することにより実現してもよい。
【００１１】
図15は、異種DB統合システム101のハードウェア構成を示すブロック図である。
【００１２】
同図において、1501は、バスを介してシステム各部を制御し、各種プログラムを実行するＣＰＵである。1502は、Ｉ／Ｏであり、ユーザからの検索クエリーを受け取ったり、データベースに問い合わせを出し、その結果を受信する。1503は、ＲＯＭであり、固定データや固定プログラムを記憶する。1504は、ＲＡＭであり、ユーザからの入力データや内部変数、検索結果など、処理に必要なデータを一時記憶するためのデータエリアを有し、補助記憶装置1505からロードされる各種プログラムを記憶するためのプログラムエリアを有する。1505は、補助記憶装置であり、フロッピーディスクやハードディスクなどの記憶媒体を用いて、各種プログラムやテーブルなどを記憶する。
【００１３】
図2は、情報処理装置118の処理手順を示すフローチャートである。
【００１４】
まず、ステップステップS201で、システム管理者によって、基本辞書112、コンピュータシステム（ＣＳ）101、102、103に含まれるリソースのメタデータ、ＣＳと言語の対応表113、言語別にコマンドとそれを実行するコストとを対応させたコスト表114、言語変換ライブラリ115、116、117が与えられる。
【００１５】
ステップS202で、図6につき後述する手順により、変換行列生成装置110が、LUT、第1の変換行列(Ａとする)、第2の変換行列(Ｒとする)を生成する。
【００１６】
ステップS203で、ユーザー端末から、コマンドとパラメタより構成される文字列が入力される。
【００１７】
ステップS204で、入力解析装置106が、入力文字列をコマンドとパラメタに分解して、第1の類似度計算装置108にパラメタを送信し、第2の類似度計算装置109にコマンドを送信する。
【００１８】
ステップS205で、図4につき後述する手順により、第1の類似度計算装置108が、パラメタと各ＣＳのメタデータとの第1の類似度を計算し、第1の類似度とそれに基づくＣＳ候補リストとを第2の類似度計算装置に送信する。
【００１９】
ステップS206で、図5につき後述する手順により、第2の類似度計算装置109が、コマンドを各ＣＳで実行した場合のコストに基づいて、第1の類似度を第2の類似度に修正し、第2の類似度に基づいてＣＳ候補リストを更新し、コマンド実行装置107に送信する。
【００２０】
ステップS207で、図3につき後述する手順により、コマンド実行装置107が、ＣＳ候補リストを参照してＣＳを選択し、選択したＣＳにコマンドとパラメタを送信し、受信した処理結果をユーザ端末に送信する。
【００２１】
＜入力解析装置106＞
入力解析装置106は、コンピュータネットワークを介して受信した信号を取得し、コマンド実行装置107が入力待ち状態かどうかを検査し、入力待ちであれば受信信号はコマンドの処理結果であるので、そのままコマンド実行装置107へ送信し、入力待ちでなければ、ユーザーからの入力であるので、受信信号をコマンドとパラメタに分割し、コマンドを第2の類似度計算装置108に、パラメタを第1の類似度計算装置109に送信する。
【００２２】
＜コマンド実行装置107＞
コマンド実行装置107は、入力解析装置106からコマンドおよびパラメタ、第2の類似度計算装置109からＣＳの候補リストを受信し、この候補リストを参照して適当なＣＳにコマンドを送信し、そのＣＳからの実行結果を受信する。得られた結果の書式を変換してユーザーに送信する。
【００２３】
以下、コマンド実行装置の処理手順を図3を用いて説明する。
【００２４】
コマンド実行装置107が実行されるまでに、コマンドを実行するためのＣＳの候補の集合が、優先順位付きで与えられているとする。
【００２５】
ステップS301で、J＝1に設定する。ステップS302で、候補リストの順位がJ番目のコンピュータシステムCS(J)を選択する。ステップS303で、コマンドおよびパラメタを、言語変換ライブラリを用いて、CS(J)の言語に変換する。
【００２６】
ステップS304で、CS(J)に、変換したコマンドを送信する。ステップS305で、CS(J)からの入力待ち状態に入る。ステップS306で、CS(J)から結果を受信する。ステップS307で、受信した結果が有効かどうかを判断し、無効ならステップS308へ、有効ならステップS309へ進む。ここで結果の有効性の判断は、例えばエラーメッセージが返されたとか、検索処理の場合なら、処理結果が0件であった等によって行われる。
【００２７】
ステップS308で、JをJ＋1に更新してステップS302へ進み、ステップS302からステップS308までの処理を繰り返す。
【００２８】
ステップS309で、実行結果を、ユーザーのシステムで採用されている書式に変換する。ステップS310で、変換した結果をユーザーに送信する。
【００２９】
＜第1の類似度計算装置108＞
第1の類似度計算装置は、入力解析装置106で抽出されたパラメタを用いて、コンピュータネットワークからアクセス可能なコンピュータシステムを順序付けする。図4は、第1の類似度計算装置の処理のフローチャートである。以下、図4を用いて順序付けの処理を説明する。
【００３０】
ステップS401で、変換行列生成装置110により図６につき後述する手順で計算された第1の変換行列A及び第2の変換行列Ｒを取得する。
【００３１】
ステップS402で、N個のパラメタを取得する。ステップS403で、J＝1に設定し、コンピュータシステムのリストを初期化する。ステップS404で、J番目のパラメタを取得する。
【００３２】
ステップS405で、LUTを用いてパラメタをインデクスベクトル XjI に変換し、更に XjI  を次式によりMベクトル XjM  に変換する。
【００３３】
XjM = (AR)T XjI                       (1)
ステップS406で、Mベクトルを文脈語に設定する。ステップS407で、計量テンソル計算装置111によって、図11につき後述する手順により、計量テンソルGを計算する。
【００３４】
ステップS408で、各コンピュータシステムに含まれるリソースのメタデータのFベクトルを比較対象データに設定する。ここで、リソースのメタデータとは、リソースを適当な特徴量或いは単語等の線形結合で表現したものである。なお、メタデータとそれを含むコンピュータシステムの番号が、対応表として予め与えられているとする。
【００３５】
ステップS409で、各比較対象データ毎にノルムを次式によって計算する：
ρ ＝〈 (XF)T | G | XF 〉              (2)
ただし、XTはベクトルＸの転置を表す。
【００３６】
パラメタを文脈としたときのノルムの大きさによって、比較対象データ、即ちリソースとパラメタとの相関関係が計算される。
【００３７】
ステップS410で、ノルムが予め設定した値を超える比較対象データが存在するかどうかを判定し、なければステップS414に、あればステップS411に進む。つまり、ここで、ユーザが指定したパラメタと意味的に近いリソースが選択される。
【００３８】
ステップS411でコンピュータシステムの候補のリストを更新する。具体的には、S410で得られたリソースの集合から、（リソース／ＣＳ番号）対応表を用いてコンピュータシステムの候補のリストを更新する。ここで、候補のリストは類似度が高い順に逐次並べ替えられる。候補とは、（コンピュータシステムID，リソースID）である。類似度は、例えば、J番目までのパラメタに対するノルムの総和あるいは積のように、各パラメタに付きノルムが大きいほど大きくなる値とする。
【００３９】
ステップS412で、JをJ＋1に更新する。ステップS413でJがNを超えたかどうか判定し、超えていれば処理を終了、超えてなければステップS405からステップS413までの処理を繰り返す。
【００４０】
ステップS414では、該当するコンピュータシステムが存在していない場合のエラー処理を行い、処理を終了する。
【００４１】
＜第2の類似度計算装置109＞
第2の類似度計算装置109は、入力解析装置106で抽出されたコマンドを用いて、コンピュータネットワークからアクセス可能なコンピュータシステムを順序付けする。以下、図5を用いて第2の類似度計算装置109の処理を説明する。
【００４２】
ステップS501で、ユーザーが指定した標準コマンド名を取得する。ステップS502で、J＝1に設定する。ステップS503で、コンピュータシステムCS(J)で使用されている言語の情報が格納されている記憶領域のアドレスを、対応表を用いて特定する。この対応表とは、例えば図12に示すような形式であり、後述する。
【００４３】
ステップS504で、前記コマンドに対するCS(J)でのコストを、言語別コマンド対コスト表を用いて特定する。この表のアドレスは上記記憶領域に格納されている言語情報の1つであり、その形式は例えば図13に示すものあり、後述する。
【００４４】
ステップS505で、コンピュータシステムの候補のリストを更新する。並べ換えの基準としては、例えば、前記第1の類似度計算装置で計算された類似度をコストで除した値の大きい順とすることができる。
【００４５】
ステップS506で、JをJ＋1に更新する。ステップS507で、Jが候補のリスト数を超えてないかどうか判定し、超えていれば処理を終了、超えてなければステップS503からステップS507までの処理を繰り返す。
【００４６】
＜変換行列生成装置110＞
変換行列生成装置110は基本辞書112を用いて第1および第2の変換行列を生成するものであり、処理の流れを図6を用いて以下で説明する。
【００４７】
ステップS601で、基本辞書112を取得する。ステップS602では、図7で算出方法について詳述するLUTと第1の変換行列を算出する。
【００４８】
以下LUTについて説明する。K個の単語の集合として入力される単語群のそれぞれの単語wjを、計算機上での処理に適した形式に変換する。これを以後I-ベクトルと呼び、wjIと書く。I-ベクトルwjIは、例えば以下のように実現する。例えばwj="aback"という文字列が英英辞典の見出し語として8番目に出てくるとすると、8番目の要素だけが1でその他が0であるようなK次元ベクトルをI-ベクトルwjIと定義する：
wjI = (  0 0 0 0 0 0 0 1 0 ... 0 )T        (3)
文字列としての単語とI-ベクトルの対応表をLUTと称し、記憶装置に記憶する。
【００４９】
ステップS510では第1の変換行列Aを算出して記憶する。第1の変換行列Aは以下の(4)式或いは(5)式を用いて、wjI とwjF の外積として算出する：
【００５０】
【外１】
0003907294.tif 000002
或いはwjIのｎ番目の要素をwj,nIと書けば、
【００５１】
【外２】
0003907294.tif 000003
ここで(・)T は行列の転置を表す。またwjF は単語wjのF-ベクトルであり、図8につき後述する処理によって生成されるベクトルである。第1の変換行列Aの作成手順は図7につき後述する。第1の変換行列Aは、行ベクトルに関する2ノルムで正規化する。
【００５２】
ステップS603では、第1の変換行列の相関行列を生成し、この固有値及び固有ベクトルを、例えば特異値分解によって算出する：
ATA = Q diag(λ) QT                    (6)
ここで、diag(x)はベクトルxを対角要素として持つ対角行列、またはλ及びQは、固有値λ1、λ2、...、λNと、対応する固有ベクトルq1、q2、...、qNを用いて次式で与えられる：
λ = (λ1 λ2 ... λN)T                (7)
Q = (q1 q2 ... qN)                     (8)
相関行列は対称行列であるから、その固有値λ1、λ2、...、λNは全て実数であり、零でない固有値（ｎ個あるとする）に対応する固有ベクトルq1、q2、...、qn
は互いに直交する。ステップS604で、図9につき後述する、添え字集合Λを算出する処理を実行する。添え字集合Λは、ある条件を満足する固有ベクトルの番号の集合であり、その要素数を(n-Ｌ)個とする。ステップS605では、この添え字集合に含まれない添え字を持つＬ個の固有ベクトルを用いて、第2の変換行列Rを構成する：
R = (q1 q2 ... qL)                      (9)
ただし、(9)式の添え字は、(8)式に現れる添え字とは異なり、添え字集合Λに属する添え字に関して番号付けし直したものである。
【００５３】
ステップS602でのLUT及び第1の変換行列Aの作成手順を図7に沿って説明する。ステップS701で、基本辞書を取得する(見出し語の個数をK個とする)。ステップS702で、ＬＵＴ、及び第1の変換行列を初期化する。ステップS703でJを1に設定する。ステップS704で、J番目の見出し語とそのI-ベクトルとの対応をLUTに追加する。ステップS705で、図8で後述する、F-ベクトルの生成処理を実行する。ステップS706で、第1の変換行列Aの更新を行う。ここで行う更新処理は、(4)式或いは(5)式での和算処理である。ステップS707でJをJ＋1に更新する。ステップS708で、JがKを超えたかどうかを検査し、そうであれば処理を終了し、そうでなければステップS704からステップS708までの処理を繰り返す。
【００５４】
図8は、単語wjのF-ベクトルwjFを生成する処理のフローチャートであり、ステップ705で実行される処理である。F-ベクトルとは基本語を基底とする表現空間でのベクトルであり、基本語とは、例えば
Longman Dictionary of Contemporary English (以下LDCEと略記する)
The General Basic English Dictionary (以下GBEDと略記する）
等で見出し語を説明するために使われている約2000語（LDCE）或いは約870語(GBED)を指している。上記LDCE、GBEDが基本辞書114の例である。
【００５５】
例えば単語“industry”に対するF-ベクトルは以下のように生成する。ステップS801で、英英辞典から見出し語と本文を辞書から抽出する。図中、見出し語が“industry”で本文が“n.Quality of being hardworking”である。ステップS802で、不要な記号を削除する。図中、“,”、“n”、“.”が該当する記号である。ステップS803で、大文字を修正する。図中、“Q”が“q”に修正された。ステップS804で、複合単語を分解する。図中“hardworking”が“hard”と“working”に分解された。ステップS805で、不要な単語を削除する。図中、“of”と“being”が削除された。ステップS806では、活用を主制する。図中、“working”が“work”に修正された。ステップS807で、対応する特徴に値をつけることによって係数ベクトルが生成される。ステップS808で、係数ベクトルを2ノルム正規化を行ってＦベクトルを得る。
【００５６】
図9を用いて添え字集合Λの生成方法を説明する。ステップS901で、第1の変換行列Aと第2の変換行列Rを取得する。ステップS902では、(10)式により、全ての空間生成語(K個)のI-ベクトルXjIをM-ベクトルXjMに変換する。
【００５７】
XjM = (AR)TXjI                              (10)
【００５８】
ステップS903で、全ての空間生成語のM-ベクトルXjIの和を計算する。
【００５９】
【外３】
0003907294.tif 000004
【００６０】
ステップS904で、添え字集合Λを空集合に初期化する。ステップS905でtを1に設定する。ステップS906で、次式によりｍを決定する。
【００６１】
ｍ = AMAX(XM, t)                            (12)
ここでAMAX(Y,t)は、図10で後述する関数である。ステップS907では同様にnを決定する。
【００６２】
n = AMAX(XM, t+1)                         (13)
【００６３】
ステップS908では、XmとXnを用いて算出される以下の値
log(|Xn|/|Xm|)                            (14)
が予め設定された正の実数値ε2より小さいかどうかを判定し、小さければ処理を終了し、そうでなければステップS909を実行する。ステップS909では、添え字集合Λに添え字ｎを加える。ステップS910ではtをt+1に設定する。ν次元ベクトルの全ての要素について処理を実行したかどうか、即ちtがνを超えたかどうかを判定し、超えたら処理を終了し、超えなかったらステップS906からの処理を繰り返す。
【００６４】
図10により、AMAX(Y,t)の処理を説明する。ステップS1001で引数としてのベクトルYと正整数tを受け取る。ステップS1002でベクトルYの要素のうち絶対値がt番目に大きい要素を決定する。ステップS1003で、上記要素の番号（何番めの要素か）を出力する。
【００６５】
＜計量テンソル計算装置111＞
計量テンソル計算装置111は、第1の変換行列Aおよび第2の変換行列Rを用いて計量テンソルを計算する。図11を用いて計量テンソル計算装置111の処理手順を説明する。
【００６６】
ステップS1101で、文脈MベクトルXと第2の変換行列Rを取得する。ステップS1102で、文脈Ｍベクトルを∞ノルムで正規化する。ステップS1103で、第2の変換行列Rを第3の変換行列Pにコピーする。
【００６７】
ステップS1104で、S＝1に設定する。ステップS1105で、PからS行目の横ベクトルP(S,:)=(P(S,1), P(S,2), ... ,P(S,L))Tを抽出する。
【００６８】
ステップS1106で、t＝1に設定する。ステップS1107で、P(S，t)と、X(ｔ)とを比較し、符号が異なっていれば、P(Ｓ，t)を0、そうでなければ、P(S，t) = sign(P(S，t)) |P(S，t) ・ Ｘ(t)| と更新する。ただしsign(x)はxが負のときに−1、非負のときに＋1を取る関数、また｜ｘ｜はｘの絶対値を表す。
【００６９】
ｔがPの列の数Lを超えるまで、ステップS1107からステップS1109までを繰り返す。SがPの行の数Nを超えるまで、ステップS1105からステップS1111までを繰り返す。ステップS1112で、計量テンソルGを次式で計算する：
G = PT P                                  (15)
【００７０】
＜コンピュータシステムと言語対応表113＞
コンピュータネットワークからアクセス可能なコンピュータシステムと、そこで使用できるコマンド言語の情報との対応表である。例えば図12にようにコンピュータシステム名と言語情報が格納されている記憶領域のアドレスが、一般に多対1に対応している。図13に言語情報の一例を示す。
【００７１】
＜コマンドのコスト表114＞
コマンドのコスト表114のアドレスは、コンピュータシステムと言語対応表113に格納されている言語情報の1つとして与えられる。図14にその一例を示す。ユーザーが指定した標準言語の任意のコマンドを各言語のコマンド体系で実行するとき、各言語のコマンドを数回組み合わせて実行しなければならない場合も有り得る。このような場合、例えば組み合わせるコマンドのそれぞれのコストの総和をコストと定義しコストの小さい順に順序付けすることができる。コストは時間的なもの、金銭的なもの等による定義が可能である。
【００７２】
＜言語Ｊへの変換ライブラリ115、116、117＞
標準言語から言語Ｊへの変換ライブラリであり、ライブラリのアドレスは言語情報の1つとして、コンピュータシステムと言語対応表113に格納されている。この変換ライブラリは、標準言語のコマンド及びパラメタを引数とする関数であり、コマンド及びパラメタの言語Ｊにおける記述を文字列として出力する。
【００７３】
尚、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、装置あるいはシステムに供給し、装置あるいはシステム内のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することによって達成してもよい。
【００７４】
更に、装置あるいはシステム内のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することによって、上述した実施形態の機能を直接実現するばかりでなく、そのプログラムコードの指示に基づいて、コンピュータ上で稼動しているＯＳなどの処理により、上述の機能を実現される場合も含まれる。
【００７５】
これらの場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７６】
【発明の効果】
以上説明したように、本発明によれば、リソースが存在するコンピュータをユーザーが正確に指定しなくても、所望のリソースを利用することができるという効果がある。
【００７７】
また、ユーザーの入力内容と完全に一致するリソースが存在しない場合でも、それに近いリソースが存在するコンピュータを選択し、利用することができる。
【００７８】
また、リソースが存在するコンピュータの候補が複数存在する場合、コマンドを実行するコストの小さい候補を優先して利用することによって、効率的処理が実現できる。
【図面の簡単な説明】
【図１】実施形態の情報処理装置の機能構成図である。
【図２】情報処理装置の処理手順を示すフローチャートである。
【図３】コマンド実行装置の処理手順を示すフローチャートである。
【図４】第1の類似度計算装置の処理手順を示すフローチャートである。
【図５】第2の類似度計算装置の処理手順を示すフローチャートである。
【図６】変換行列生成装置の処理手順を示すフローチャートである。
【図７】  LUTと第1の変換行列を算出する処理のフローチャートである。
【図８】単語のF-ベクトルを生成する処理のフローチャートである。
【図９】添え字集合を生成する処理のフローチャートである。
【図１０】関数AMAXの処理のフローチャートである。
【図１１】計量テンソル計算処理のフローチャートである。
【図１２】コンピュータシステムと言語情報アドレスの対応表の一例を示す図である。
【図１３】言語情報の一例を示す図である。
【図１４】コマンドとコストの対応表の一例を示す図である。
【図１５】情報処理装置のハードウェア構成を示すブロック図である。
【図１】
0003907294.tif 000005
【図２】
0003907294.tif 000006
【図３】
0003907294.tif 000007
【図４】
0003907294.tif 000008
【図５】
0003907294.tif 000009
【図６】
0003907294.tif 000010
【図７】
0003907294.tif 000011
【図８】
0003907294.tif 000012
【図９】
0003907294.tif 000013
【図１０】
0003907294.tif 000014
【図１１】
0003907294.tif 000015
【図１２】
0003907294.tif 000016
【図１３】
0003907294.tif 000017
【図１４】
0003907294.tif 000018
【図１５】
0003907294.tif 000019