(57)【要約】      （修正有）【課題】コンテキストが入力される毎にマッチング処理を実施する必要がなく、マッチする可能性があるときだけマッチング処理を実施する。【解決手段】マッチング結果記憶手段は、コンテキストとそれにマッチした登録データとの組を記憶する。属性異なり数記憶手段は、登録データ毎に、他の登録データとの間の属性異なり数を記憶する。フィルタ手段は、上記コンテキスト中の何れかの属性が変更された変更コンテキストによる検索要求時、前回マッチした上記登録データ毎に、他の登録データとの間の属性異なり数と更新前後のコンテキスト間の属性異なり数とを比較し、一致しなければ、変更コンテキストにマッチする登録データは存在しないと判断して、登録データ群と変更コンテキストとのマッチング処理を不実施とする。【選択図】図１
2014021580.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが属性名と属性値の組を少なくとも１組有し登録識別子によって一意に識別可能な登録データ群の中から、前記属性名と前記属性値の組を少なくとも１組有しコンテキスト識別子によって一意に識別可能なコンテキストに合致する登録データを検索する情報検索装置であって、
前記登録データ群を記憶する登録データ記憶手段と、
前記登録データ間で属性値の値が相違する属性名の数を属性異なり数と呼ぶとき、前記登録データ毎に、他の前記登録データ間における前記属性異なり数を記憶する属性異なり数記憶手段と、
前記登録データと、前記登録データが有する前記属性名と前記属性値の組に合致する前記属性名と前記属性値の組を有する前記コンテキストとを対応付けて記憶するマッチング結果記憶手段と、
少なくとも１つの前記属性値の値が更新された更新後の前記コンテキストを入力する更新コンテキスト入力手段と、
前記入力された更新後の前記コンテキストと同じコンテキスト識別子を有する前記コンテキストに対応して前記マッチング結果記憶手段に記憶された前記登録データ毎に、当該登録データについて前記属性異なり数記憶手段に記憶された前記属性異なり数と、前記入力された更新後の前記コンテキストと当該登録データに対応して前記マッチング結果記憶手段に記憶された前記コンテキストとの間における前記属性異なり数とを比較して、前記登録データ記憶手段に記憶された何れかの前記登録データと更新後の前記コンテキストとがマッチする可能性が有るか否かを判断するフィルタ手段と、
前記判断でマッチする可能性が有ると判断した場合に、前記登録データ記憶手段に記憶された前記登録データ群と更新後の前記コンテキストとのマッチング処理を行うマッチング手段と
を有する情報検索装置。
【請求項２】
前記マッチング手段は、前記マッチング処理の結果に基づいて前記マッチング結果記憶手段に記憶されている情報を更新する
請求項１に記載の情報検索装置。
【請求項３】
前記マッチング処理の結果を出力するマッチング結果出力手段
を有する請求項１または２に記載の情報検索装置。
【請求項４】
前記マッチング手段は、前記マッチング処理により、前記登録データ群の中から、前記登録データに含まれる全ての属性名の属性値が更新後の前記コンテキスト中の同じ属性名の属性値に一致する前記登録データを抽出する
請求項１乃至３の何れかに記載の情報検索装置。
【請求項５】
前記属性異なり数記憶手段に記憶される前記登録データ毎の前記属性異なり数は、前記登録データと前記他の登録データの少なくとも一方が有していない属性名については、属性値の値が一致するパターンと一致しないパターンの２通りのパターンで計算されている
請求項１乃至４の何れかに記載の情報検索装置。
【請求項６】
前記更新コンテキスト入力手段が入力する更新後の前記コンテキストは、当該コンテキストが有する全ての属性名と属性値の組を有し、
前記フィルタ手段は、更新後の前記コンテキストの属性情報と、前記マッチング結果記憶手段に記憶されている当該コンテキストと同じコンテキスト識別子を有する前記コンテキストの属性情報とを比較して、更新前後における前記属性異なり数を算出する
請求項１乃至５の何れかに記載の情報検索装置。
【請求項７】
前記更新コンテキスト入力手段が入力する更新後の前記コンテキストは、当該コンテキストが有する全ての属性名と属性値の組のうち今回更新された属性名と属性値の組を有し、
前記フィルタ手段は、更新後の前記コンテキストの属性名と属性値の組の数を更新前後における前記属性異なり数として算出する
請求項１乃至５の何れかに記載の情報検索装置。
【請求項８】
前記フィルタ手段は、マッチする可能性が無いと判断したとき、前記入力された更新後の前記コンテキストと同じコンテキスト識別子を有する前記コンテキストに対応して前記マッチング結果記憶手段に記憶された前記登録データを削除する
請求項７に記載の情報検索装置。
【請求項９】
前記更新コンテキスト入力手段が入力する更新後の前記コンテキストは、当該コンテキストが有する全ての属性名と属性値の組のうち今回更新された属性名と属性値の組を有し、
前記マッチング結果記憶手段は、前記コンテキストの前記属性名毎の更新フラグを有し、
前記フィルタ手段は、更新後の前記コンテキストの属性名に対応する前記更新フラグをセットし、前記コンテキスト中のセットされている更新フラグの数を更新前後における前記属性異なり数として算出する
請求項１乃至５の何れかに記載の情報検索装置。
【請求項１０】
前記登録データ記憶手段に新たな登録データが追加される毎に、追加後の前記登録データ毎に、他の前記登録データ間における前記属性異なり数を算出し、前記属性異なり数記憶手段に記憶された情報を更新する手段
を有する請求項１乃至９の何れかに記載の情報検索装置。
【請求項１１】
それぞれが属性名と属性値の組を少なくとも１組有し登録識別子によって一意に識別可能な登録データ群を記憶する登録データ記憶手段と、
前記登録データ間で属性値の値が相違する属性名の数を属性異なり数と呼ぶとき、前記登録データ毎に、他の前記登録データ間における前記属性異なり数を記憶する属性異なり数記憶手段と、
前記登録データと、前記登録データが有する前記属性名と前記属性値の組に合致する前記属性名と前記属性値の組を有する前記コンテキストとを対応付けて記憶するマッチング結果記憶手段と
を有し、
前記登録データ群の中から、前記属性名と前記属性値の組を少なくとも１組有しコンテキスト識別子によって一意に識別可能なコンテキストに合致する登録データを検索する情報検索装置が実行する情報検索方法であって、
少なくとも１つの前記属性値の値が更新された更新後の前記コンテキストを入力し、
前記入力された更新後の前記コンテキストと同じコンテキスト識別子を有する前記コンテキストに対応して前記マッチング結果記憶手段に記憶された前記登録データ毎に、当該登録データについて前記属性異なり数記憶手段に記憶された前記属性異なり数と、前記入力された更新後の前記コンテキストと当該登録データに対応して前記マッチング結果記憶手段に記憶された前記コンテキストとの間における前記属性異なり数とを比較して、前記登録データ記憶手段に記憶された何れかの前記登録データと更新後の前記コンテキストとがマッチする可能性が有るか否かを判断し、
前記判断でマッチする可能性が有ると判断した場合に、前記登録データ記憶手段に記憶された前記登録データ群と更新後の前記コンテキストとのマッチング処理を行う
情報検索方法。
【請求項１２】
さらに、前記マッチング処理の結果に基づいて前記マッチング結果記憶手段に記憶されている情報を更新する
請求項１１に記載の情報検索方法。
【請求項１３】
さらに、前記マッチング処理の結果を出力する
請求項１１または１２に記載の情報検索方法。
【請求項１４】
前記マッチング処理では、前記登録データ群の中から、前記登録データに含まれる全ての属性名の属性値が更新後の前記コンテキスト中の同じ属性名の属性値に一致する前記登録データを抽出する
請求項１１乃至１３の何れかに記載の情報検索方法。
【請求項１５】
前記属性異なり数記憶手段に記憶される前記登録データ毎の前記属性異なり数は、前記登録データと前記他の登録データの少なくとも一方が有していない属性名については、属性値の値が一致するパターンと一致しないパターンの２通りのパターンで計算されている
請求項１１乃至１４の何れかに記載の情報検索方法。
【請求項１６】
前記入力する更新後の前記コンテキストは、当該コンテキストが有する全ての属性名と属性値の組を有し、
前記マッチ可能性の判断では、更新後の前記コンテキストの属性情報と、前記マッチング結果記憶手段に記憶されている当該コンテキストと同じコンテキスト識別子を有する前記コンテキストの属性情報とを比較して、更新前後における前記属性異なり数を算出する
請求項１１乃至１５の何れかに記載の情報検索方法。
【請求項１７】
前記入力する更新後の前記コンテキストは、当該コンテキストが有する全ての属性名と属性値の組のうち今回更新された属性名と属性値の組を有し、
前記マッチ可能性の判断では、更新後の前記コンテキストの属性名と属性値の組の数を更新前後における前記属性異なり数として算出する
請求項１１乃至１５の何れかに記載の情報検索方法。
【請求項１８】
さらに、マッチする可能性が無いと判断したとき、前記入力された更新後の前記コンテキストと同じコンテキスト識別子を有する前記コンテキストに対応して前記マッチング結果記憶手段に記憶された前記登録データを削除する
請求項１７に記載の情報検索方法。
【請求項１９】
前記入力する更新後の前記コンテキストは、当該コンテキストが有する全ての属性名と属性値の組のうち今回更新された属性名と属性値の組を有し、
前記マッチング結果記憶手段は、前記コンテキストの前記属性名毎の更新フラグを有し、
前記マッチ可能性の判断では、更新後の前記コンテキストの属性名に対応する前記更新フラグをセットし、前記コンテキスト中のセットされている更新フラグの数を更新前後における前記属性異なり数として算出する
請求項１１乃至１５の何れかに記載の情報検索方法。
【請求項２０】
さらに、前記登録データ記憶手段に新たな登録データが追加される毎に、追加後の前記登録データ毎に、他の前記登録データ間における前記属性異なり数を算出し、前記属性異なり数記憶手段に記憶された情報を更新する
請求項１１乃至１９の何れかに記載の情報検索方法。
【請求項２１】
それぞれが属性名と属性値の組を少なくとも１組有し登録識別子によって一意に識別可能な登録データ群を記憶する登録データ記憶手段と、
前記登録データ間で属性値の値が相違する属性名の数を属性異なり数と呼ぶとき、前記登録データ毎に、他の前記登録データ間における前記属性異なり数を記憶する属性異なり数記憶手段と、
前記登録データと、前記登録データが有する前記属性名と前記属性値の組に合致する前記属性名と前記属性値の組を有する前記コンテキストとを対応付けて記憶するマッチング結果記憶手段と
を有し、
前記登録データ群の中から、前記属性名と前記属性値の組を少なくとも１組有しコンテキスト識別子によって一意に識別可能なコンテキストに合致する登録データを検索するコンピュータに、
少なくとも１つの前記属性値の値が更新された更新後の前記コンテキストを入力するステップと、
前記入力された更新後の前記コンテキストと同じコンテキスト識別子を有する前記コンテキストに対応して前記マッチング結果記憶手段に記憶された前記登録データ毎に、当該登録データについて前記属性異なり数記憶手段に記憶された前記属性異なり数と、前記入力された更新後の前記コンテキストと当該登録データに対応して前記マッチング結果記憶手段に記憶された前記コンテキストとの間における前記属性異なり数とを比較して、前記登録データ記憶手段に記憶された何れかの前記登録データと更新後の前記コンテキストとがマッチする可能性が有るか否かを判断するステップと、
前記判断でマッチする可能性が有ると判断した場合に、前記登録データ記憶手段に記憶された前記登録データ群と更新後の前記コンテキストとのマッチング処理を行うステップと
を行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、登録されているデータ群の中からコンテキストに合致するデータを検索する情報検索装置、情報検索方法、および情報検索プログラムに関する。
【背景技術】
【０００２】
この種の情報検索装置の一例が特許文献１に記載されている。特許文献１に記載される情報検索装置では、それぞれが属性名と属性値の組を少なくとも１組有する登録データ群の中から、属性名と属性値の組を少なくとも１組有するコンテキストに合致する登録データを検索する。
【０００３】
簡単な例を挙げて説明する。まず、システムで扱う属性名が「性別」、「場所」、「年齢」の３種類とする。また、属性名と属性値の組を属性情報と呼び、属性情報を、（属性名、属性値）と表記する。そして、コンテキストとして、「（性別、男）、（場所、東京）、（年齢、３０）」が入力されたとする。このとき、情報検索装置は、登録データ群とコンテキストとの間でマッチング処理を行う。このマッチング処理により、情報検索装置は、登録データ群の中から、登録データに含まれる全ての属性情報が、コンテキスト中の属性情報に一致する登録データを抽出する。例えば、コンテキストが「（性別、男）、（場所、東京）、（年齢、３０）」であれば、１つの属性情報を有する登録データの場合、その１つの属性情報が（性別、男）、（場所、東京）、（年齢、３０）の何れかであれば、コンテキストに一致すると判断される。また、２つの属性情報を有する登録データの場合、その２つの属性情報が「（性別、男）、（場所、東京）」、「（場所、東京）、（年齢、３０）」、「（性別、男）、（年齢、３０）」の何れかであれば、コンテキストに一致すると判断される。さらに、３つの属性情報を全て有する登録データの場合、その３つの属性情報が「（性別、男）、（場所、東京）、（年齢、３０）」であれば、コンテキストに一致すると判断される。すなわち、登録データとコンテキストとのマッチング処理では、登録データに存在しない属性情報は、コンテキストの属性情報が如何なる属性値を有する場合であってもマッチしたものと見做される。
【０００４】
他方、無駄な検索を防ぐ技術が特許文献２に記載されている。特許文献２に記載の画像処理装置では、ユーザが文書中の単語について、その単語をキーワードとして検索サイトを検索したとき、画像処理装置は、当該キーワードと検索されたウェブページ内の文章とを互いに関連付けて調査履歴として記録する。その後、画像処理装置は、ユーザに対して何らかの文書を表示する際、表示する文書中に調査履歴に記録されたキーワードに一致する単語が含まれている場合、そのキーワードに関連付けて調査履歴に記録されたウェブページ内の文章を上記文書と共に表示する。これにより、過去に検索したことのある単語が文書内にあれば、ユーザはその単語について検索サイトで検索を行わなくてもその意味を知ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２２７６５６号公報
【特許文献２】特開２０１１−８６００号公報
【非特許文献】
【０００６】
【非特許文献１】山崎健太郎ほか、「コンテキストのべき集合を用いた高速な動的グルーピング」、電子情報通信学会２００９年ソサエティ大会講演論文集、Ｂ−７−１５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に登録データ群とコンテキストとのマッチング処理には、それ相当の処理時間を必要とする。特許文献１に記載の情報検索装置では、コンテキストが入力される毎に、そのようなマッチング処理を必ず実施しなければならない。他方、特許文献２に記載の技術は、過去に検索した単語をユーザが再び検索しなくて済むようにする技術であり、検索のためのキーワード（検索条件データ）が入力された際の検索処理を省略する技術ではない。
【０００８】
本発明の目的は、上述したような課題、すなわち、登録データ群の中からコンテキストに合致する登録データを検索する際には、コンテキストが入力される毎にマッチング処理を必ず実施する必要がある、という課題を解決する情報検索装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態にかかる情報検索装置は、
それぞれが属性名と属性値の組を少なくとも１組有し登録識別子によって一意に識別可能な登録データ群の中から、上記属性名と上記属性値の組を少なくとも１組有しコンテキスト識別子によって一意に識別可能なコンテキストに合致する登録データを検索する情報検索装置であって、
上記登録データ群を記憶する登録データ記憶手段と、
上記登録データ間で属性値の値が相違する属性名の数を属性異なり数と呼ぶとき、上記登録データ毎に、他の上記登録データ間における上記属性異なり数を記憶する属性異なり数記憶手段と、
上記登録データと、上記登録データが有する上記属性名と上記属性値の組に合致する上記属性名と上記属性値の組を有する上記コンテキストとを対応付けて記憶するマッチング結果記憶手段と、
少なくとも１つの上記属性値の値が更新された更新後の上記コンテキストを入力する更新コンテキスト入力手段と、
上記入力された更新後の上記コンテキストと同じコンテキスト識別子を有する上記コンテキストに対応して上記マッチング結果記憶手段に記憶された上記登録データ毎に、当該登録データについて上記属性異なり数記憶手段に記憶された上記属性異なり数と、上記入力された更新後の上記コンテキストと当該登録データに対応して上記マッチング結果記憶手段に記憶された上記コンテキストとの間における上記属性異なり数とを比較して、上記登録データ記憶手段に記憶された何れかの上記登録データと更新後の上記コンテキストとがマッチする可能性が有るか否かを判断するフィルタ手段と、
上記判断でマッチする可能性が有ると判断した場合に、上記登録データ記憶手段に記憶された上記登録データ群と更新後の上記コンテキストとのマッチング処理を行うマッチング手段と
を有する。
【００１０】
また本発明の他の形態にかかる情報検索方法は、
それぞれが属性名と属性値の組を少なくとも１組有し登録識別子によって一意に識別可能な登録データ群を記憶する登録データ記憶手段と、
上記登録データ間で属性値の値が相違する属性名の数を属性異なり数と呼ぶとき、上記登録データ毎に、他の上記登録データ間における上記属性異なり数を記憶する属性異なり数記憶手段と、
上記登録データと、上記登録データが有する上記属性名と上記属性値の組に合致する上記属性名と上記属性値の組を有する上記コンテキストとを対応付けて記憶するマッチング結果記憶手段と
を有し、
上記登録データ群の中から、上記属性名と上記属性値の組を少なくとも１組有しコンテキスト識別子によって一意に識別可能なコンテキストに合致する登録データを検索する情報検索装置が実行する情報検索方法であって、
少なくとも１つの上記属性値の値が更新された更新後の上記コンテキストを入力し、
上記入力された更新後の上記コンテキストと同じコンテキスト識別子を有する上記コンテキストに対応して上記マッチング結果記憶手段に記憶された上記登録データ毎に、当該登録データについて上記属性異なり数記憶手段に記憶された上記属性異なり数と、上記入力された更新後の上記コンテキストと当該登録データに対応して上記マッチング結果記憶手段に記憶された上記コンテキストとの間における上記属性異なり数とを比較して、上記登録データ記憶手段に記憶された何れかの上記登録データと更新後の上記コンテキストとがマッチする可能性が有るか否かを判断し、
上記判断でマッチする可能性が有ると判断した場合に、上記登録データ記憶手段に記憶された上記登録データ群と更新後の上記コンテキストとのマッチング処理を行う。
【発明の効果】
【００１１】
本発明は上述したような構成を有するため、コンテキストが入力される毎にマッチング処理を実施する必要がなく、マッチする可能性があるときだけ実施すれば足りる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第１の実施形態における属性異なり数の計算例を示す図である。
【図３】本発明の第１の実施形態の動作例を示すフローチャートである。
【図４】本発明の第１の実施形態における動作の具体例を示す図である。
【図５】本発明の第１の実施形態における動作の別の具体例を示す図である。
【図６】本発明の第１の実施形態における動作の他の具体例を示す図である。
【図７】本発明の第２の実施形態のブロック図である。
【図８】本発明の第２の実施形態におけるクエリのデータ構造例を示す図である。
【図９】本発明の第２の実施形態におけるクエリ間距離情報の一例を示す図である。
【図１０】本発明の第２の実施形態におけるクエリ間距離情報の別の例を示す図である。
【図１１】本発明の第２の実施形態における要マッチング距離のデータ構造例を示す図である。
【図１２】本発明の第２の実施形態における更新コンテキストのデータ構造例を示す図である。
【図１３】本発明の第２の実施形態におけるマッチング結果のデータ構造例を示す図である。
【図１４】本発明の第２の実施形態における登録クエリ記憶手段に記憶されるクエリリストのデータ構造例を示す図である。
【図１５】本発明の第２の実施形態における要マッチング距離記憶手段に記憶される要マッチング距離リストのデータ構造例を示す図である。
【図１６】本発明の第２の実施形態におけるマッチング結果記憶手段に記憶されるマッチング結果リストのデータ構造例を示す図である。
【図１７】本発明の第２の実施形態におけるフロー１の一例を示すフローチャートである。
【図１８】本発明の第２の実施形態におけるフロー２の一例を示すフローチャートである。
【図１９】本発明の第２の実施形態におけるフロー２のステップＳ２２の詳細を示すフローチャートである。
【図２０】本発明の第２の実施形態におけるフィルタ手段の動作の具体例を示す図である。
【図２１】本発明の第２の実施形態におけるフィルタ手段の動作の他の具体例を示す図である。
【図２２】本発明の第３の実施形態のブロック図である。
【発明を実施するための形態】
【００１３】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかる情報検索装置１００は、登録データ群の中から、入力された更新コンテキストに合致する登録データを検索する機能を有する。情報検索装置１００は、登録データ記憶手段１０１と、属性異なり数記憶手段１０２と、マッチング結果記憶手段１０３と、更新コンテキスト入力手段１０４と、フィルタ手段１０５と、マッチング手段１０６と、マッチング結果出力手段１０７とを有する。
【００１４】
登録データ記憶手段１０１は、複数の登録データを記憶する。それぞれの登録データは、登録データを一意に識別するための登録識別子と、１以上の属性情報とを有する。一つの属性情報は、属性名と属性値の組から構成される。属性名は、属性の種類を表す名称や記号などである。属性値は、属性の値を表す文字列や数値などである。情報検索装置１００で扱う属性がＮ種類存在する場合、登録データは、必ずしもＮ種類すべての属性を有する必要はなく、少なくとも一つの属性を有していればよい。
【００１５】
属性異なり数記憶手段１０２は、登録データ記憶手段１０１に記憶された登録データ毎に、他の登録データ間における属性異なり数を記憶する。属性異なり数とは、登録データ間で属性値が相違する属性名の数を意味する。登録データ間で属性値が相違するか否かは、同じ属性名を有する属性情報どうしで比較する。少なくとも一方の登録データが有していない属性名については、属性値の値が一致するパターンと一致しないパターンの２通りのパターンで計算する。
【００１６】
図２は属性異なり数の具体的な計算例を示す。説明の便宜上、システムで扱う属性名は「性別」、「場所」、「年齢」の３種類とする。図２に示す計算例１では、登録データＡ、Ｂは、全ての属性情報を有しており、性別と場所の属性値が両者で相違している。このとき、登録データＡ、Ｂ間の属性異なり数は２である。
【００１７】
図２に示す計算例２では、登録データＡは全ての属性情報を有しているが、登録データＣは２つの属性情報しか有していない。登録データＣが有していない属性情報（年齢）が登録データＡの属性情報（年齢）と一致するパターンで計算すると、登録データＡ、Ｃ間の属性異なり数は２である。他方、登録データＣが有していない属性情報（年齢）が登録データＡの属性情報（年齢）と一致しないパターンで計算すると、登録データＡ、Ｃ間の属性異なり数は３である。従って、登録データＡ、Ｃ間の属性異なり数は２または３である。
【００１８】
図２に示す計算例３では、登録データＡは全ての属性情報を有しているが、登録データＤは１つの属性情報しか有していない。登録データＤが有していない２つの属性情報（場所と年齢）が登録データＡの属性値と一致するパターンで計算すると、登録データＡ、Ｄ間の属性異なり数は１である。また、登録データＤが有していない２つの属性情報（場所と年齢）のうちの何れか一方の属性情報だけが登録データＡの属性値と一致するパターンで計算すると、登録データＡ、Ｄ間の属性異なり数は２である。さらに、登録データＤが有していない２つの属性情報（場所と年齢）のうちの双方の属性情報が登録データＡの属性値と一致しないパターンで計算すると、登録データＡ、Ｄ間の属性異なり数は３である。従って、登録データＡ、Ｄ間の属性異なり数は１、２、または３である。
【００１９】
図２に示す計算例４では、登録データＥは２つの属性情報しか有しておらず、登録データＤは１つの属性情報しか有していない。この場合の登録データＤ、Ｅ間の属性異なり数は、計算例３と同じになる。即ち、登録データＤ、Ｅ間の属性異なり数は１、２、または３である。
【００２０】
マッチング結果記憶手段１０３は、最新のマッチング結果を記憶する。具体的には、登録データ記憶手段１０１に記憶されている登録データ群と更新コンテキストとのマッチング処理によって、当該更新コンテキストにマッチする１以上の登録データが発見された場合、当該更新コンテキストとそれにマッチした全ての登録データとが対応付けてマッチング結果記憶手段１０３に保存される。また、更新コンテキストにマッチする登録データが１つも発見されなかった場合、当該更新コンテキストと同一のコンテキスト識別子を持つ更新コンテキストと登録データとの組がマッチング結果記憶手段１０３に記憶されていれば、それらは削除される。
【００２１】
更新コンテキスト入力手段１０４は、少なくとも１つの属性値の値が更新された更新コンテキストを情報検索装置１００の外部から入力する機能を有する。更新コンテキスト入力手段１０４が入力する更新コンテキストは、本実施形態の場合、更新された属性値と属性名の組だけでなく、更新されていない属性値と属性名の組を有する。更新コンテキスト入力手段１０４は、入力した更新コンテキストをフィルタ手段１０５に伝達する。
【００２２】
フィルタ手段１０５は、更新コンテキスト入力手段１０４から受け取った更新コンテキストにマッチする登録データの可能性の有無を判断する機能を有する。
【００２３】
具体的には、フィルタ手段１０５は、更新コンテキストと同じコンテキスト識別子を有するコンテキストに対応してマッチング結果記憶手段１０３に記憶された登録データ毎に、当該登録データについて属性異なり数記憶手段１０２に記憶された属性異なり数（当該登録データと他の登録データ間における属性異なり数）と、更新コンテキストと当該登録データに対応してマッチング結果記憶手段１０３に記憶されたコンテキストとの間における属性異なり数とを比較する。フィルタ手段１０５は、更新前後のコンテキスト間の属性異なり数は、更新コンテキストの属性情報と、マッチング結果記憶手段１０３に記憶されている、当該更新コンテキストと同じコンテキスト識別子を有するコンテキストの属性情報とを比較して算出する。
【００２４】
フィルタ手段１０５は、或る登録データについて属性異なり数記憶手段１０２に記憶された属性異なり数と、更新前後のコンテキスト間における属性異なり数との一致を検出すると、マッチする登録データの可能性有りと判断する。他方、フィルタ手段１０５は、全ての登録データについて、属性異なり数記憶手段１０２に記憶された属性異なり数と、更新前後のコンテキスト間における属性異なり数との不一致を検出すると、マッチする登録データの可能性無しと判断する。
【００２５】
フィルタ手段１０５は、何れかの登録データと更新コンテキストとがマッチする可能性がある場合、マッチング手段１０６によるマッチング処理を実施するように制御する。他方、何れの登録データともマッチする可能性がない場合、フィルタ手段１０５は、マッチング手段１０６によるマッチング処理を省略するように制御する。
【００２６】
マッチング手段１０６は、更新コンテキストと登録データ記憶手段１０１に記憶された登録データ群とのマッチング処理を行う機能を有する。マッチング手段１０６は、このマッチング処理により、登録データ群の中から、登録データに含まれる全ての属性情報が検索条件データ中の属性情報に一致する登録データを抽出する。
【００２７】
マッチング手段１０６が実施するマッチング処理の方式は任意で良い。例えば、マッチング手段１０６は、登録データ記憶手段１０１に記憶された登録データ毎に、更新コンテキストと登録データとを比較して、当該登録データが更新コンテキストに合致するか否かを判断しても良い。また、マッチング手段１０６は、以下のような高速化手法によるマッチング処理を行ってもよい。まず、登録データをハッシュ化して得られるハッシュ値で登録データのハッシュテーブルを作成し、このハッシュテーブルに登録データを格納しておく。更新コンテキストが入力された検索時には、更新コンテキストからハッシュ値を生成し、この生成したハッシュ値でハッシュテーブルを索引し、同じハッシュ値、すなわち更新コンテキストと一致する登録データを探し出す。このようなハッシュ値による検索手法については、例えば非特許文献１に記載されている。
【００２８】
また、マッチング手段１０６は、マッチング処理の結果に従ってマッチング結果記憶手段１０３を更新する機能を有する。具体的には、マッチング手段１０６は、更新コンテキストにマッチする登録データを抽出すると、この更新コンテキストと登録データとの組をマッチング結果記憶手段１０３に追加し、この更新コンテキストのコンテキスト識別子と同じコンテキストと登録データの組が既に記憶されていればそれらをマッチング結果記憶手段１０３から削除する。また、マッチング処理の結果、マッチする登録データが発見されなかった場合、今回の更新コンテキストのコンテキスト識別子と同じコンテキストと登録データの組が既に記憶されていればそれらをマッチング結果記憶手段１０３から削除する。
【００２９】
さらに、マッチング手段１０６は、マッチング結果をマッチング結果出力手段１０７へ伝達する機能を有する。
【００３０】
マッチング結果出力手段１０７は、マッチング結果を情報検索装置１００の外部へ出力する機能を有する。外部へ出力するマッチング結果には、更新コンテキストとそれに合致した登録データとの組み合わせが含まれる。マッチする登録データが存在しない場合に、その旨を示すマッチング結果を外部に出力するようにしてもよい。
【００３１】
図３は情報検索装置１００の処理の一例を示すフローチャートである。以下、図３を参照して本実施形態にかかる情報検索装置１００の動作を説明する。
【００３２】
まず情報検索装置１００の更新コンテキスト入力手段１０４は、外部から更新コンテキストを入力する（ステップＳ１）。
【００３３】
次に、情報検索装置１００のフィルタ手段１０５は、入力された更新コンテキストとマッチング結果記憶手段１０３および属性異なり数記憶手段１０２の記憶情報とを用いて、更新コンテキストにマッチする登録データの可能性の有無を判断する（ステップＳ２）。具体的には、フィルタ手段１０５は、更新コンテキストと同じコンテキスト識別子を有するコンテキストに対応してマッチング結果記憶手段１０３に記憶された登録データ毎に、当該登録データについて属性異なり数記憶手段１０２に記憶された属性異なり数と、更新コンテキストとマッチング結果記憶手段１０３中の更新前のコンテキストとの間における属性異なり数とを比較することにより、登録データ記憶手段１０１に記憶された何れかの登録データと更新コンテキストとがマッチする可能性が有るか否かを判断する。
【００３４】
何れかの登録データと更新コンテキストとがマッチする可能性がある場合（ステップＳ３でＹＥＳ）、情報検索装置１００のマッチング手段１０６は、登録データ記憶手段１０１に記憶された登録データ群と更新コンテキストとのマッチング処理を行う（ステップＳ４）。そして、マッチング手段１０６は、マッチング結果に基づいてマッチング結果記憶記憶手段１０３を更新する（ステップＳ５）。また、マッチング結果出力手段１０７は、マッチング結果を外部に出力する（ステップＳ６）。
【００３５】
他方、更新コンテキストが何れの登録データともマッチする可能性がないと判断された場合（ステップＳ３でＮＯ）、マッチング手段１０６によるマッチング処理は実施されず、今回入力された更新コンテキストにかかる処理が終了する。
【００３６】
次に簡単な例を用いて本実施形態の動作をより具体的に説明する。
【００３７】
＜具体例１＞
図４に示すように、図２の計算例１で説明した登録データＡ、Ｂの２つのデータだけが登録データ記憶手段１０１に記憶されているとする。このとき、属性異なり数記憶手段１０２には、登録データＡ、Ｂのそれぞれについて、属性異なり数＝２が記憶されている。また、マッチング結果記憶手段１０３には、３つの属性情報「（性別、女）、（場所、大阪）、（年齢、２０）」を有するコンテキストＸに対応して登録データＡが記憶されているとする。すなわち、直前の情報検索において、コンテキストＸに合致する登録データＡがマッチング処理によって発見され、コンテキストＸと登録データＡの組がマッチング結果記憶手段１０３に保存されていたとする。このような状況の下で、以下のような更新コンテキストＸが更新コンテキスト入力手段１０４を通じてフィルタ手段１０５に入力された場合を考える。
（ア）１つの属性値が変更された更新コンテキストＸ
（イ）２つの属性値が変更された更新コンテキストＸ
（ウ）３つの属性値が変更された更新コンテキストＸ
【００３８】
これらの場合、フィルタ手段１０５は、マッチング結果記憶手段１０３からコンテキストＸに対応して記憶された登録データＡを読み出し、この登録データＡに対応して属性異なり数記憶手段１０２に記憶された属性異なり数＝２を読み出す。
【００３９】
次に、上記（ア）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝１を、上記読み出した属性異なり数＝２と比較する。その結果、一致しないので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性無しと判断し、マッチング手段１０６によるマッチング処理は実施しないように制御する。１つの属性値が変更された更新コンテキストＸは、その変更後の属性値が如何なる値であったとしても、変更前にマッチしていた登録データＡとマッチしないし、登録データＡと属性値が２つ相違する登録データＢともマッチし得ないためである。
【００４０】
また、上記（イ）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝２を、上記読み出した属性異なり数＝２と比較する。その結果、一致するので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性有りと判断し、マッチング手段１０６によるマッチング処理を実施するように制御する。マッチング手段１０６は、更新コンテキストと登録データ群とのマッチングを行い、更新コンテキストＸに合致する登録データを抽出する。例えば２つの属性値が変更された更新コンテキストＸが「（性別、男）、（場所、東京）、（年齢、２０）」であれば、登録データＢが抽出される。その結果、マッチング結果記憶手段１０３からコンテキストＸと登録データＡの組が削除され、それに代えて更新コンテキストＸと登録データＢの組が新たに登録される。また、マッチング結果出力手段１０７から、更新コンテキストＸと登録データＢの組がマッチング結果として出力される。
【００４１】
また、上記（ウ）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝３を、上記読み出した属性異なり数＝２と比較する。その結果、一致しないので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性無しと判断し、マッチング手段１０６によるマッチング処理は実施しないように制御する。３つの属性値が変更された更新コンテキストＸは、その変更後の属性値が如何なる値であったとしても、変更前にマッチしていた登録データＡとマッチしないし、登録データＡと属性値が２つ相違する登録データＢともマッチし得ないためである。
【００４２】
＜具体例２＞
図５に示すように、図２の計算例２で説明した登録データＡ、Ｃの２つのデータだけが登録データ記憶手段１０１に記憶されているとする。このとき、属性異なり数記憶手段１０２には、登録データＡ、Ｃのそれぞれについて、属性異なり数＝２、３が記憶されている。また、マッチング結果記憶手段１０３には、３つの属性情報「（性別、女）、（場所、大阪）、（年齢、２０）」を有するコンテキストＸに対応して登録データＡが記憶されているとする。このような状況の下で、以下のような更新コンテキストＸが更新コンテキスト入力手段１０４を通じてフィルタ手段１０５に入力された場合を考える。
（ア）１つの属性値が変更された更新コンテキストＸ
（イ）２つの属性値が変更された更新コンテキストＸ
（ウ）３つの属性値が変更された更新コンテキストＸ
【００４３】
これらの場合、フィルタ手段１０５は、マッチング結果記憶手段１０３からコンテキストＸに対応して記憶された登録データＡを読み出し、この登録データＡに対応して属性異なり数記憶手段１０２に記憶された属性異なり数＝２、３を読み出す。
【００４４】
次に、上記（ア）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝１を、上記読み出した属性異なり数＝２、３と比較する。その結果、一致しないので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性無しと判断し、マッチング手段１０６によるマッチング処理は実施しないように制御する。１つの属性値が変更された更新コンテキストＸは、その変更後の属性値が如何なる値であったとしても、変更前にマッチしていた登録データＡとマッチしないし、登録データＡと属性値が２つまたは３つ相違する登録データＣともマッチし得ないためである。
【００４５】
また、上記（イ）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝２を、上記読み出した属性異なり数＝２、３と比較する。その結果、一致するので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性有りと判断し、マッチング手段１０６によるマッチング処理を実施するように制御する。マッチング手段１０６は、更新コンテキストと登録データ群とのマッチングを行い、更新コンテキストＸに合致する登録データを抽出する。例えば２つの属性値が変更された更新コンテキストＸが「（性別、男）、（場所、東京）、（年齢、２０）」であれば、登録データＣが抽出される。その結果、マッチング結果記憶手段１０３からコンテキストＸと登録データＡの組が削除され、それに代えて更新コンテキストＸと登録データＣの組が新たに登録される。また、マッチング結果出力手段１０７から、更新コンテキストＸと登録データＣの組がマッチング結果として出力される。
【００４６】
また、上記（ウ）の場合、フィルタ手段１０５は、更新前後のコンテキストＸの属性異なり数＝３を、上記読み出した属性異なり数＝２、３と比較する。その結果、一致するので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性有りと判断し、マッチング手段１０６によるマッチング処理を実施するように制御する。マッチング手段１０６は、更新コンテキストと登録データ群とのマッチングを行い、更新コンテキストＸに合致する登録データを抽出する。例えば３つの属性値が変更された更新コンテキストＸが「（性別、男）、（場所、東京）、（年齢、４０）」であれば、登録データＣが抽出される。その結果、マッチング結果記憶手段１０３からコンテキストＸと登録データＡの組が削除され、それに代えて更新コンテキストＸと登録データＣの組が新たに登録される。また、マッチング結果出力手段１０７から、更新コンテキストＸと登録データＣの組がマッチング結果として出力される。
【００４７】
＜具体例３＞
図６に示すように、図２の計算例４で説明した登録データＤ、Ｅの２つのデータだけが登録データ記憶手段１０１に記憶されているとする。このとき、属性異なり数記憶手段１０２には、登録データＤ、Ｅのそれぞれについて、属性異なり数＝１、２、３が記憶されている。また、マッチング結果記憶手段１０３には、３つの属性情報「（性別、女）、（場所、大阪）、（年齢、２０）」を有するコンテキストＸに対応して登録データＥが記憶されているとする。このような状況の下で、以下のような更新コンテキストＸが更新コンテキスト入力手段１０４を通じてフィルタ手段１０５に入力された場合を考える。
（ア）１つの属性値が変更された更新コンテキストＸ
（イ）２つの属性値が変更された更新コンテキストＸ
（ウ）３つの属性値が変更された更新コンテキストＸ
【００４８】
これらの場合、フィルタ手段１０５は、マッチング結果記憶手段１０３からコンテキストＸに対応して記憶された登録データＥを読み出し、この登録データＥに対応して属性異なり数記憶手段１０２に記憶された属性異なり数＝１、２、３を読み出す。
【００４９】
次に、上記（ア）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝１を、上記読み出した属性異なり数＝１、２、３と比較する。その結果、一致するので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性有りと判断し、マッチング手段１０６によるマッチング処理を実施するように制御する。マッチング手段１０６は、更新コンテキストと登録データ群とのマッチングを行い、更新コンテキストＸに合致する登録データを抽出する。例えば１つの属性値が変更された更新コンテキストＸが「（性別、男）、（場所、大阪）、（年齢、２０）」であれば、登録データＤが抽出される。その結果、マッチング結果記憶手段１０３からコンテキストＸと登録データＥの組が削除され、それに代えて更新コンテキストＸと登録データＤの組が新たに登録される。また、マッチング結果出力手段１０７から、更新コンテキストＸと登録データＤの組がマッチング結果として出力される。
【００５０】
また、上記（イ）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝２を、上記読み出した属性異なり数＝１、２、３と比較する。その結果、一致するので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性有りと判断し、マッチング手段１０６によるマッチング処理を実施するように制御する。マッチング手段１０６は、更新コンテキストと登録データ群とのマッチングを行い、更新コンテキストＸに合致する登録データを抽出する。例えば２つの属性値が変更された更新コンテキストＸが「（性別、男）、（場所、東京）、（年齢、２０）」であれば、登録データＤが抽出される。その結果、マッチング結果記憶手段１０３からコンテキストＸと登録データＥの組が削除され、それに代えて更新コンテキストＸと登録データＤの組が新たに登録される。また、マッチング結果出力手段１０７から、更新コンテキストＸと登録データＤの組がマッチング結果として出力される。
【００５１】
また、上記（ウ）の場合、フィルタ手段１０５は、更新前後のコンテキストＸ間の属性異なり数＝３を、上記読み出した属性異なり数＝１、２、３と比較する。その結果、一致するので、フィルタ手段１０５は更新コンテキストＸにマッチする登録データ群が存在する可能性有りと判断し、マッチング手段１０６によるマッチング処理を実施するように制御する。マッチング手段１０６は、更新コンテキストと登録データ群とのマッチングを行い、更新コンテキストＸに合致する登録データを抽出する。例えば３つの属性値が変更された更新コンテキストＸが「（性別、男）、（場所、東京）、（年齢、４０）」であれば、登録データＤが抽出される。その結果、マッチング結果記憶手段１０３からコンテキストＸと登録データＥの組が削除され、それに代えて更新コンテキストＸと登録データＤの組が新たに登録される。また、マッチング結果出力手段１０７から、更新コンテキストＸと登録データＤの組がマッチング結果として出力される。
【００５２】
次に本実施形態の効果を説明する。
【００５３】
本実施形態によれば、それぞれが属性名と属性値の組を少なくとも１組有する登録データ群の中から、属性名と属性値の組を少なくとも１組有する変更コンテキストに合致する登録データを検索する情報検索装置１００において、マッチング手段１０６によるマッチング処理を、マッチする可能性がある場合にだけ実施すれば足りる。
【００５４】
また本実施形態によれば、平均的な検索時間の高速化が可能になる。その理由は以下の通りである。
【００５５】
何れかの登録データが更新コンテキストとマッチする可能性があるか否かを判断するために必要な処理時間をＰ、マッチング処理の処理時間をＱ、マッチする可能性が無いと判断される割合をＲとすると、本実施形態における平均的な検索速度は、Ｐ＋Ｒ・Ｑとなる。一般に、フィルタ手段１０５の処理は幾つかの属性異なり数を比較するだけの単純な処理であるのに対して、マッチング手段１０６の処理は全データ群と更新コンテキストとを比較する複雑な処理であるため、ＰはＱに比べて十分に短い。また、Ｒは１より小さい。このため、Ｐ＋Ｒ・Ｑは、マッチング処理を毎回実施する場合の平均的な検索時間Ｑに比べて短くなる。その効果は、マッチング処理に要する時間ＱがＰに比べてより長くなり、またＲがより小さくなるに従って、より顕著になる。
【００５６】
また本実施形態によれば、登録データ間における属性異なり数を、少なくとも一方の登録データが有していない属性名については、属性値の値が一致するパターンと一致しないパターンの２通りのパターンで計算しているため、登録データに存在しない属性情報はコンテキストの属性情報が如何なる属性値を有する場合であってもマッチしたものと判断するマッチング処理によるマッチ可能性を正しく判断することができる。
【００５７】
上記第１の実施形態では、更新コンテキスト入力手段１０４が入力する更新コンテキストは、更新された属性値と属性名の組だけでなく、更新されていない属性値と属性名の組を有するものとした。しかし、本発明はそれに限定されない。更新コンテキスト入力手段１０４が入力する更新コンテキストは、更新された属性値と属性名の組だけを有していてよい。この場合、フィルタ手段１０５は、更新コンテキストが有する属性情報の数をカウントして、更新前後のコンテキスト間の属性異なり数を算出してよい。また、フィルタ手段１０５は、更新されていない属性名と属性値の組を別途取得して更新コンテキストに組み入れてマッチング手段１０６に引き渡す。或いは、そのような組み入れをマッチング手段１０６で実施する。
【００５８】
ただし、更新コンテキスト入力手段１０４が入力する更新コンテキストが、更新された属性値と属性名の組だけを有する場合、同じコンテキストが複数回更新されて複数回入力されると、マッチ可能性判定で誤動作する可能性がある。そのため、以下のａまたはｂの何れかの構成を採用することが望ましい。
【００５９】
（ａ）フィルタ手段１０５は、マッチする可能性が無いと判断したとき、今回入力された更新コンテキストと同じコンテキスト識別子を有するコンテキストに対応してマッチング結果記憶手段１０３に記憶されている登録データを削除する。
【００６０】
（ｂ）マッチング結果記憶手段１０３に記憶されるマッチング結果中のコンテンツ毎に、そのコンテンツが有する属性情報に１対１に対応する更新フラグを用意する。更新フラグは初期状態では全てリセットされている。そして、フィルタ手段１０５は、更新コンテキストが入力されると、まず、入力された更新コンテキスト中の属性情報に対応する更新フラグをセットする。次に、全ての更新フラグのうちセットされている更新フラグの数をカウントし、そのカウント値を更新前後のコンテキスト間の属性異なり数として算出する。これにより、更新コンテキストが更新された属性値と属性名の組だけを有する場合であっても、マッチング結果記憶手段１０３に記憶されたコンテキストからの属性異なり数の計算、およびマッチ可能性判定を正しく実施することが可能になる。
【００６１】
[第２の実施形態]
本実施形態は、事前に検索したい人や物の条件をクエリとして登録しておき、随時人や物の状態の変化を更新コンテキストとして受け付け、この状態の変化の入力に追随して登録した条件に一致する人や物を検索結果として出力する情報検索装置、情報検索方法および情報検索用プログラムに関する。
【００６２】
人や物のリアルタイムな状況に応じて適当な情報を通知する状況依存サービスと呼ばれるサービスがある。たとえばサービスを受けるユーザの位置情報やプロファイル情報に基づいて、そのサービスユーザに適した推薦情報を通知するコンシェルジュサービスなどが知られている。このようなサービスを提供するシステムは、任意の状況にある人や物を検索するための情報検索装置を備える。この情報検索装置は、人や物に付帯するセンサのセンシング情報やプロファイル情報の組からなるコンテキストと呼ばれる情報を人や物の状況に見立てて、人や物の検索を行う。なお、以降では個々のセンシング情報やプロファイル情報を属性と呼ぶ。また、情報検索装置は、あらかじめ定められた種類の属性のみを取り扱うものとする。
【００６３】
本実施形態の情報検索装置は、概ね以下のように動作し検索を行う。情報検索装置はあらかじめ、検索したい人や物の条件を属性の組で表したクエリと呼ばれる情報を受け付け、記憶する。なお、クエリは必ずしも全ての種類の属性を条件に含まなくてもよい。クエリの記憶を終えると、情報検索装置は、人や物の任意の属性が変化する度に随時入力される、更新コンテキストを受け付ける。更新コンテキストとは、変化した属性の値の組で表される情報である。情報検索装置は、更新コンテキストの受信に追随して、クエリと一致するコンテキストを持つ人や物を検索する。検索とは、コンテキストと検索装置に登録された個々のクエリとの属性を比較し、両者が一致する、すなわち両者の属性の値が全て一致する組を探し出す処理である。なお、クエリに含まれない属性については、コンテキストの属性がいかなる値であっても該属性の値は一致したものとする。
【００６４】
情報検索装置は、状況依存サービスを提供するシステムが人や物のリアルタイムな状況の変化に即座に応じて通知を行えるよう、入力を受け取った後速やかに検索結果求め、かつ検索結果を見落とさないよう動作することが求められる。
【００６５】
図７は本発明の第２の実施形態のブロック図である。図７を参照すると、本発明の第２の実施の形態は、プログラム制御により動作するデータ処理装置によって実現された情報検索装置２００である。情報検索装置２００は、クエリ入力手段２０１、登録クエリ記憶手段２０２、クエリ間距離算出手段２０３、要マッチング距離算出手段２０４、要マッチング距離記憶手段２０５、更新コンテキスト入力手段２０６、フィルタ手段２０７、マッチング手段２０８、マッチング結果記憶手段２０９、およびマッチング結果出力手段２１０を有する。
【００６６】
クエリ入力手段２０１は、クエリを情報検索装置２００の外部から受け付け、該クエリを登録クエリ記憶手段２０２に出力する機能を有する。クエリは、第１の実施形態における登録データに相当する。
【００６７】
登録クエリ記憶手段２０２は、クエリ入力手段２０１の出力を受け付け、最新のクエリを記憶する機能を有する。登録クエリ記憶手段２０２は、第１の実施形態における登録データ記憶手段１０１に相当する。
【００６８】
クエリ間距離算出手段２０３は、登録クエリ記憶手段２０２に記憶された全てのクエリを読み出し、読み出した全てのクエリについて、他の各クエリとの距離を算出して要マッチング距離算出手段２０４に出力する機能を有する。クエリ間の距離は、第１の実施形態における属性異なり数に相当する。
【００６９】
要マッチング距離算出手段２０４は、クエリ間距離算出手段２０３の出力を受け付け、クエリ毎に、距離毎の他クエリの有無を算出して要マッチング距離記憶手段２０５に出力する機能を有する。
【００７０】
要マッチング距離記憶手段２０５は、要マッチング距離算出手段２０４の出力を受け付け、クエリ毎の最新の要マッチング距離を記憶する機能を有する。要マッチング距離記憶手段２０５は、第１の実施形態における属性異なり数記憶手段１０２に相当する。
【００７１】
更新コンテキスト入力手段２０６は、更新された人や物の属性情報を更新コンテキストとして情報検索装置２００の外部から受け付け、該更新コンテキストをフィルタ手段２０７に出力する機能を有する。
【００７２】
フィルタ手段２０７は、更新コンテキスト入力手段２０６の出力を受け取り、マッチング結果記憶手段２０９と要マッチング距離記憶手段２０５とを参照し、更新コンテキスト入力手段２０６の出力のうち、明らかに登録クエリと一致しないものを除き、登録クエリと一致し得る更新コンテキストのみをマッチング手段２０８に出力する機能を有する。
【００７３】
マッチング手段２０８は、フィルタ手段２０７の出力を受け付け、登録クエリ記憶手段２０２に記憶されたクエリを読み出して、一致するクエリおよび人や物の組を出力する機能を有する。
【００７４】
マッチング結果記憶手段２０９は、マッチング手段２０８の出力を受け付け、人や物毎の最新のマッチング結果を記憶する機能を有する。
【００７５】
マッチング結果出力手段２１０は、マッチング手段２０８の出力を受け付け、マッチング結果を情報検索装置２００外部に出力する機能を有する。
【００７６】
次に、図７のブロック図、および図１７と図１８と図１９のフローチャートを参照して本実施形態の動作について詳細に説明する。
【００７７】
本実施形態の動作は、大きくフロー１およびフロー２の２つのフローからなる。フロー１は、クエリを登録して要マッチング距離を生成するフローである。フロー２は、入力を取捨選択し、明らかにクエリと一致しない不要な入力を除き、クエリと一致しうる入力に限り検索を行うフローである。なお、フロー１は任意のタイミングで実行できるが、フロー２はフロー１の動作が少なくとも１度実行されないうちは実行しないものとする。
【００７８】
最初に、フロー１の動作について説明する。図１７はフロー１の動作を示すフローチャートである。
【００７９】
まず、クエリ入力手段２０１は、情報検索装置２００外部よりクエリが供給されると、これを登録クエリ記憶手段２０２に与える（ステップＳ１１）。詳細には、以下のように動作する。クエリ入力手段２０１は、クエリ登録者から供給されるクエリを受け付けると、図８に構造の一例を示すような形式に変換して、該クエリを登録クエリ記憶手段２０２に与える。
【００８０】
図８を参照すると、クエリＴ１００は、クエリ識別子（ＩＤ）Ｃ１０１と、属性情報Ｃ１０２とを有する。クエリ識別子Ｃ１０１は、受け付けたクエリのＩＤを格納する。属性情報Ｃ１０２には、受け付けたクエリの属性情報を格納する。図８のクエリＴ１００には、クエリ識別子の値は００１、一つの属性１の値は３４、他の一つの属性２の値は１２３である（その他の属性は図示を省略している）。
【００８１】
登録クエリ記憶手段２０２は、クエリ入力手段２０１からクエリが供給されると、内部に記憶したクエリリストに、供給されたクエリを追記して最新の状態に更新する(ステップＳ１１)。登録クエリ記憶手段２０２の内部の記憶形式の構造の一例を図１４に示す。
【００８２】
図１４を参照すると、登録クエリ記憶手段２０２は、クエリ識別子（ＩＤ）Ｃ７０１と属性情報Ｃ７０２とを格納するための複数のエントリから構成されるクエリリストＴ７００を有する。クエリリストＴ７００の各エントリのクエリ識別子Ｃ７０１にはクエリＩＤを格納する。また、属性情報Ｃ７０２には、クエリＩＤに対応する属性名と属性値の全ての組を格納する。なお、初期状態のクエリリストＴ７００の各エントリは、クエリ識別子Ｃ７０１および属性情報Ｃ７０２ともＮＵＬＬである。
【００８３】
次に、クエリ間距離算出手段２０３は、登録クエリ記憶手段２０２に記憶されたクエリリストが更新されると、登録クエリ記憶手段２０２に記憶されたクエリリストの全てのクエリについて、他の全てのクエリとの距離をまとめた、クエリ間距離情報と呼ばれる情報を生成して要マッチング距離算出手段２０４に与える（図１７のステップＳ１２）。なお、距離とは２クエリ間の属性の異なり数である。詳細には、以下のように動作する。
【００８４】
まず、クエリ間距離算出手段２０３は、登録クエリ記憶手段２０２に記録されたクエリリストが更新されると、登録クエリ記憶手段２０２からクエリリストを読み出す。次に、クエリ間距離算出手段２０３は、読み出した全てのクエリについて、他の各クエリと属性情報の属性の値が一致するかどうかを全属性について比較する。この際、一致しない属性の数をクエリ間の距離として勘定する。次に、クエリ間距離算出手段２０３は、勘定した距離をもとに図９または図１０に構造の一例を示すようなクエリ間距離情報を生成して、要マッチング距離算出手段２０４に与える。
【００８５】
図９のクエリ間距離情報Ｔ２００は、クエリ数×クエリ数のマトリクステーブルである。クエリ間距離情報Ｔ２００の各行および各列は登録された各クエリに対応し、行と列の交点の各セルに当該行および列の２つのクエリ間の距離を格納する。図９の場合、クエリＩＤが００１と００２の２つのクエリは、システムで定めた全ての属性を有しており、属性１と属性２との２つの属性の値だけが互いに相違している。この結果、クエリ間距離情報Ｔ２００の該当する交点のセルには、距離＝２が記憶されている。
【００８６】
他方、図１０のクエリ間距離情報Ｔ３００は、クエリＩＤ＝００２のクエリが属性２を持たない場合を示している。クエリのいずれかの属性が値を持たない場合は、第１の実施形態で説明した通り、属性の異なり数を一致および不一致の２パターンで勘定する。この結果、図１０のクエリ間距離情報Ｔ３００に示すように、該当するセルには距離１と距離２との複数の距離を格納する。
【００８７】
次に、要マッチング距離算出手段２０４は、クエリ間距離算出手段２０３からクエリ間距離情報が供給されると、それをもとに要マッチング距離と呼ばれる情報を生成して要マッチング距離記憶手段２０５に与える（ステップＳ１３）。ここで、要マッチング距離とは、各クエリについて他クエリが存在する距離をまとめた情報である。詳細には、以下のように動作する。
【００８８】
まず、要マッチング距離算出手段２０４は、クエリ間距離算出手段２０３より供給されるクエリ間距離情報を受け付ける。次に、要マッチング距離算出手段２０４は、受け付けたクエリ間距離情報の行毎、すなわちクエリ毎に列の昇順に全てのセルを確認して、距離ごとにクエリの有無を確認する。次に、要マッチング距離算出手段２０４は、全ての列の確認を終えると、図１１に構造の一例を示すような要マッチング距離Ｔ４００を生成し、要マッチング距離記憶手段２０５に与える。
【００８９】
図１１を参照すると、要マッチング距離Ｔ４００は、クエリ識別子Ｃ４０１と距離Ｃ４０２とを有する。距離Ｃ４０２には、他クエリが存在する距離のすべてが記録される。
【００９０】
次に、要マッチング距離記憶手段２０５は、要マッチング距離算出手段２０４から要マッチング距離が供給されると、記憶した要マッチング距離リストを供給された要マッチン
グ距離で上書きして最新の状態に更新する（ステップＳ１３）。要マッチング距離記憶手段２０５が有する要マッチング距離リストの記憶形式の構造の一例を図１５に示す。
【００９１】
図１５を参照すると、要マッチング距離リストＴ８００は、クエリ識別子Ｃ８０１と距離Ｃ８０２の欄を有する行を複数有する。要マッチング距離リストＴ８００は、各行のクエリ識別子Ｃ８０１の欄にクエリＩＤを格納し、距離Ｃ８０２の欄に、当該クエリＩＤで識別されるクエリの要マッチング距離を格納する。なお、初期値はクエリ識別子Ｃ８０１、距離Ｃ８０２の欄ともＮＵＬＬである。
【００９２】
続いて、フロー２の動作について説明する。図１８はフロー２の動作を示すフローチャートである。
【００９３】
まず、更新コンテキスト入力手段２０６は、情報検索装置２００外部より更新コンテキストが供給されると、これをフィルタ手段２０７に与える（ステップＳ２１）。詳細には、以下のように動作する。
【００９４】
更新コンテキスト入力手段２０６は、情報検索装置２００の外部から供給される更新コンテキストを受け付けると、図１２に構造の一例を示すような形式に変換して、該更新コ
ンテキストをフィルタ手段２０７に与える（ステップＳ２１）。
【００９５】
図１２を参照すると、更新コンテキストＴ５００は、主体識別子Ｃ５０１と属性情報Ｃ５０２とを有する。主体識別子Ｃ５０１には、コンテキストの主体、すなわちコンテキストの発信元である人や物を識別する、主体ＩＤと呼ばれる情報を格納する。属性情報Ｃ５０２には、属性と値の組を格納する。本実施形態では、更新コンテキストは、更新された属性値とその属性名の組だけでなく、更新されていない属性値とその属性名の組を属性情報Ｃ５０２に格納する。
【００９６】
フィルタ手段２０７は、更新コンテキスト入力手段２０６から更新コンテキストが供給されると、該更新コンテキストが明らかにクエリと一致しないものであるか否かを判定する（ステップＳ２２）。そして、フィルタ手段２０７は、更新コンテキストがクエリと一致しないものであれば、以降の検索処理を省略してフロー２の動作を終了する。また、そうでなければ、フィルタ手段２０７は、更新コンテキストをマッチング手段２０８に与え、検索処理を行う。以下、フィルタ手段２０７のステップＳ２２の動作を、図１９を用いて詳細に説明する。
【００９７】
まず、フィルタ手段２０７は、更新コンテキスト手段２０６から供給されたコンテキストの主体が、前回のマッチングで一致したクエリを取得する（ステップＳ３１）。具体的には、まず、フィルタ手段２０７は、更新コンテキスト入力手段２０６より更新コンテキストが供給されると、図１２の更新コンテキストＴ５００の主体識別子Ｃ５０１に格納された主体ＩＤを取得する。次に、フィルタ手段２０７は、マッチング結果記憶手段２０９に記憶された図１６のマッチング結果リストＴ９００の主体識別子Ｃ９０１から、上記取得した主体ＩＤを検索し、そして、検索に成功すれば、クエリＩＤリストＣ９０３から主体ＩＤと対応するクエリＩＤリスト、すなわち前回の検索時に更新コンテキストの主体と全ての属性の値が一致したクエリのＩＤを取得する（ステップＳ３１）。
【００９８】
次に、フィルタ手段２０７は、クエリＩＤリストが取得できたか否かを判定する（ステップＳ３２）。取得できていればステップＳ３３に進む。取得できていなければ更新コンテキストをマッチング手段２０８に与えて検索処理を行うステップＳ２３に進む。
【００９９】
ステップＳ３３では、フィルタ手段２０７は、ステップＳ３１で取得した、更新コンテキストの主体が前回一致したクエリの、距離と他クエリの有無の関係を表す要マッチング距離を取得する。具体的には、フィルタ手段２０７は、要マッチング距離記憶手段２０５に記憶された図１５の要マッチング距離リストＴ８００のクエリ識別子Ｃ８０１の中から、ステップＳ３１で取得したクエリＩＤを検索し、距離Ｃ８０２からクエリＩＤと対応する要マッチング距離、すなわち更新コンテキストの主体が前回一致したクエリの、他クエリが存在する距離のリストを取得する。
【０１００】
次に、フィルタ手段２０７は、要マッチング距離が取得できたか否かを判定する（ステップＳ３４）。取得できていればステップＳ３５に進む。取得できていなければ更新コンテキストをマッチング手段２０８に与え検索処理を行うステップＳ２３に進む。
【０１０１】
ステップＳ３５では、フィルタ手段２０７は、更新コンテキストの主体が前回一致したクエリから移動した距離を算出する（Ｓ３５）。具体的には、フィルタ手段２０７は、更新コンテキスト入力手段２０６より供給された更新コンテキストＴ５００の属性情報Ｃ５０２に格納された属性および値の組と、当該更新コンテキストＴ５００の主体ＩＤと同じ主体ＩＤに対応してマッチング結果記憶手段２０９に記憶されている属性情報Ｃ９０２に格納された属性および値の組とを比較して、両者で属性値が相違する属性の数、すなわち主体が前回の検索で一致したクエリから移動した距離を算出し、これを移動距離とする。
【０１０２】
次に、フィルタ手段２０７は、ステップＳ３５で算出した移動距離と、ステップＳ３３で取得した要マッチング距離とを比較して、前回一致したクエリから主体が今回移動した距離上に、他クエリが存在しないかどうかを判定する（Ｓ３６）。移動距離と一致する値が見つからなければ、すなわち主体が移動した距離上にクエリが存在せず、明らかに他クエリと一致しない場合は、以降の全ての動作を行わずにフロー２の動作を終了する。そうでなければ、更新コンテキストをマッチング手段２０８に与えて検索処理を行うステップＳ２３に進む。
【０１０３】
ここで、具体例を用いてステップＳ３１からステップＳ３６までのフィルタ手段２０７の動作を説明する。フィルタ手段２０７は、図２０に示す更新コンテキストＴ１０００が供給されると、主体ＩＤ「００１」を取得する。次に、フィルタ手段２０７は、図２０に示すマッチング結果リストＴ１１００を格納したマッチング結果記憶手段２０９を参照し、主体ＩＤ「００１」に対応するクエリＩＤ、すなわち前回主体が一致したクエリのクエリＩＤ「００２」を得る（Ｓ３１、Ｓ３２）。
【０１０４】
次に、フィルタ手段２０７は、図２０に示す要マッチング距離リストＴ１２００を格納した要マッチング距離記憶手段２０５を参照し、クエリＩＤ「００２」と対応する要マッチング距離「２、４、…」を取得する（Ｓ３３、Ｓ３４）。
【０１０５】
次に、フィルタ手段２０７は、更新コンテキストの移動距離「１」を算出する（Ｓ３５）。
【０１０６】
次に、フィルタ手段２０７は、取得した要マッチング距離「２、４、…」に距離「１」が存在しない、すなわちクエリ「００２」から移動距離「１」で一致し得るクエリが存在しないことを確認し、フロー２の全ての動作を終了する（Ｓ３６）。
【０１０７】
他方、フィルタ手段２０７は、図２１に示すような、移動距離「２」の更新コンテキストＴ１３００が入力された場合は、同様の手順をたどり、クエリ「００２」から移動距離「２」で一致し得るクエリが存在することを確認し、更新コンテキストをマッチング手段２０８に与えるよう動作する。
【０１０８】
再び図７を参照すると、マッチング手段２０８は、フィルタ手段２０７から更新コンテキストが供給されると、マッチング結果を求め、これをマッチング結果出力手段２１０およびマッチング結果記憶手段２０９に与える（ステップＳ２３）。詳細には、以下のように動作する。
【０１０９】
まず、マッチング手段２０８は、フィルタ手段２０７より供給される更新コンテキストを受け付けると、登録クエリ記憶手段２０２に記憶された全クエリを読み出す。次に、マッチング手段２０８は、読み出したクエリリストのうち、当該更新コンテキストと全ての属性の値が一致するするクエリを検索して、一致するクエリＩＤの組を求める。
【０１１０】
次に、マッチング手段２０８は、マッチング結果をマッチング結果記憶手段２０９ならびにマッチング結果出力手段２１０に与える。具体的には、更新コンテキストの主体ＩＤと属性情報と検索で得たクエリＩＤとの組を図１３に構造の一例を示すようなマッチング結果として生成し、マッチング結果出力手段２１０ならびにマッチング結果記憶手段２０９に与える。
【０１１１】
図１３を参照すると、マッチング結果Ｔ６００は、主体識別子Ｃ６０１と属性情報Ｃ６０２とクエリＩＤリストＣ６０２とを有する。主体識別子Ｃ６０１には、更新コンテキストの主体ＩＤを格納する。属性情報Ｃ６０２には、更新コンテキストの全ての属性情報を格納する。クエリＩＤリストＣ６０２には、検索したクエリＩＤのリストを格納する。
【０１１２】
次に、マッチング結果出力手段２１０は、マッチング手段２０８からマッチング結果が供給されると、該マッチング結果を適当な構造に変換して、変換したマッチング結果を情報検索装置２００外部に出力する（ステップＳ２４）。
【０１１３】
次に、マッチング結果記憶手段２０９は、マッチング手段２０８からマッチング結果が供給されると、記憶したマッチング結果リストの、供給されたマッチング結果に関する情報を上書きして最新の状態に更新する（ステップＳ２５）。
【０１１４】
マッチング結果記憶手段２０９の内部の記憶形式の構造の一例を図１６に示す。図１６のマッチング結果リストＴ９００は、主体識別子Ｃ９０１と属性情報Ｃ９０２とクエリＩＤリストＣ９０３とを有する。主体識別子Ｃ９０１の各行に主体ＩＤを格納する。属性情報Ｃ９０２には、主体ＩＤに対応するコンテキストが有する全ての属性情報を格納する。クエリＩＤリストＣ９０３には、検索されたクエリＩＤのリストを格納する。初期値は、主体識別子Ｃ９０１、属性情報Ｃ９０２、クエリＩＤリストＣ９０３ともに行を持たない。
【０１１５】
次に、本実施の形態の効果について説明する。
【０１１６】
本実施形態によれば、マッチする可能性がある場合にだけマッチング処理を実施すれば済み、情報検索装置の平均的な検索速度を高速化することができる。
【０１１７】
その理由は、情報検索装置に随時入力される更新コンテキストのうち、あらかじめ登録したクエリのいずれにも明らかに一致しない更新コンテキストを判定し、取り除くことで、従来は検索しなければならなかった、明らかに一致しない更新コンテキストの検索処理を省略するためである。
【０１１８】
より具体的には、本実施の形態では、情報検索装置の外部よりクエリが入力されると、各クエリの属性の異なり数と対応する他クエリの存在の有無を分析するよう動作する一方で、検索装置の外部より更新コンテキストが入力されると、該更新コンテキストの主体が前回一致したクエリを特定し、さらに同主体の前回と今回のコンテキストの属性の異なり数を勘定するよう動作する。
【０１１９】
そしてフィルタ手段は、上記の動作で得た情報を組み合せて、主体のコンテキストの今回の更新によって、前回一致したクエリから移動した距離上に、他のクエリが存在するかを判定し、検索処理を行うか否かを判定する。この際、移動した距離上に他のクエリが存在する場合は、今回の更新コンテキストがそれらのクエリに一致する可能性があるため、検索処理を行うよう動作する。また、移動した距離上に他のクエリが存在しない場合は、今回の更新コンテキストはいずれのクエリとも一致する可能性はないため、検索処理をせずに全体の処理を終了するよう動作する。
【０１２０】
これにより、入力の更新コンテキストの移動距離が、前回主体が一致したクエリの要マッチング距離に存在せず、明らかにどのクエリとも一致しない場合に、更新コンテキストの検索処理を省略することにより、平均的な検索速度が向上する。
【０１２１】
また本実施形態によれば、登録クエリ記憶手段２０２に対して新たなクエリが追加される度に、要マッチング距離記憶手段２０５を更新する手段（クエリ間距離算出手段２０３、要マッチング距離算出手段２０４）を有するため、登録クエリが増加した場合でも、検索結果の見落としの無い高速な検索を保証することができる。
【０１２２】
[第３の実施形態]
図２２を参照すると、本発明の第３の実施形態にかかる情報検索装置３００は、主な機能部として、通信Ｉ／Ｆ（インターフェース）部３１０、操作入力部３２０、画面表示部３３０、記憶部３４０、およびプロセッサ３５０を有する。
【０１２３】
通信Ｉ／Ｆ部３１０は、専用のデータ通信回路からなり、通信回線を介して接続された各種装置との間でデータ通信を行う機能を有している。
【０１２４】
操作入力部３２０は、キーボードやマウスなどの操作入力装置からなり、オペレータの操作を検出してプロセッサ３５０に出力する機能を有している。
【０１２５】
画面表示部３３０は、ＬＣＤ（Liquid Crystal Display）やＰＤＰ（Plasma Display
Panel）などの画面表示装置からなり、プロセッサ３５０からの指示に応じて、操作メニューなどの各種情報を画面表示する機能を有している。
【０１２６】
記憶部３４０は、ハードディスクやメモリなどの記憶装置からなり、プロセッサ３５０における各種処理に必要な処理情報やプログラム３４０Ｐを記憶する機能を有している。プログラム３４０Ｐは、プロセッサ３５０に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信Ｉ／Ｆ部３１０などのデータ入出力機能を介して外部装置（図示せず）や記憶媒体（図示せず）から予め読み込まれて記憶部３４０に保存される。記憶部３４０で記憶される主な処理情報として、登録データ３４０Ａ、マッチング結果３４０Ｂ、および属性異なり数３４０Ｃがある。これらは、第１の実施形態における登録データ記憶手段１０１に記憶される登録データ、マッチング結果記憶手段１０３に記憶されるマッチング結果、および属性異なり数記憶手段１０２に記憶される属性異なり数と同一である。
【０１２７】
プロセッサ３５０は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部３４０からプログラム３４０Ｐを読み込んで実行することにより、上記ハードウェアとプログラム３４０Ｐとを協働させて各種処理部を実現する機能を有している。プロセッサ３５０で実現される主な処理部として、更新コンテキスト入力手段３５０Ａ、フィルタ手段３５０Ｂ、マッチング手段３５０Ｃ、およびマッチング結果出力手段３５０Ｄがある。これらは、第１の実施形態における更新コンテキスト入力手段１０４、フィルタ手段１０５、マッチング手段１０６、およびマッチング結果出力手段１０７と同一の機能を有する。
【０１２８】
次に、本実施形態にかかる情報検索装置３００の動作について説明する。
【０１２９】
更新コンテキスト入力手段３５０Ａは、通信Ｉ／Ｆ部３１０または操作入力部３２０を通じて外部から更新コンテキストを入力し、フィルタ手段３５０Ｂに伝達する。
【０１３０】
フィルタ手段３５０Ｂは、入力された更新コンテキストとマッチング結果３４０Ｂと属性異なり数３４０Ｃとを用いて、更新コンテキストにマッチする登録データの可能性の有無を判断する。そして、フィルタ手段３５０Ｂは、何れかの登録データと更新コンテキストとがマッチする可能性がある場合に限り、マッチング手段３５０Ｃに対してマッチング処理の実行を指示する。
【０１３１】
マッチング手段３５０Ｃは、登録データ３４０と更新コンテキストとのマッチング処理を行い、マッチング結果に基づいてマッチング結果３４０Ｂを更新すると共に、マッチング結果をマッチング結果出力手段３５０Ｄに伝達する。マッチング結果出力手段３５０Ｄは、マッチング結果を通信Ｉ／Ｆ部３１０を通じて外部に出力し、または画面表示部３３０に表示する。
【０１３２】
このように本実施形態によれば、第１の実施形態と同様の効果が得られる。なお、第２の実施形態におけるクエリ入力手段２１０、クエリ間距離算出手段２０３、要マッチング距離算出手段２０４に相当する機能をプロセッサ３５０上にさらに実現するようにプログラム３４０Ｐを作成しておくことで、第２の実施形態と同様の動作を行わせることも可能である。
【産業上の利用可能性】
【０１３３】
本発明によれば、更新コンテキストの入力を受けて、データベースから検索したい人や物の条件と一致する人や物を検索する情報検索装置や、情報検索装置をコンピュータに実現するためのプログラムといった用途の高速化に適用できる。また、本発明におけるクエリを要素列形式のメッセージの選択条件としてあらかじめ登録しておき、逐次発信される要素列形式のメッセージから所望のメッセージを選択して取得するような、publish/subscribe型のメッセージのフィルタリングを行うメッセージフィルタリング装置や、メッセージのフィルタリングをコンピュータに実現するためのプログラムといった用途の高速化にも適用可能である。なお、要素列とは、要素と呼ばれる小単位のデータを並べた情報で、要素列の一例としては、文字を要素とした文字列がある。
【符号の説明】
【０１３４】
１００…情報検索装置
１０１…登録データ記憶手段
１０２…属性異なり数記憶手段
１０３…マッチング結果記憶手段
１０４…更新コンテキスト入力手段
１０５…フィルタ手段
１０６…マッチング手段
１０７…マッチング結果出力手段
【図１】
2014021580.tif 000003
【図２】
2014021580.tif 000004
【図３】
2014021580.tif 000005
【図４】
2014021580.tif 000006
【図５】
2014021580.tif 000007
【図６】
2014021580.tif 000008
【図７】
2014021580.tif 000009
【図８】
2014021580.tif 000010
【図９】
2014021580.tif 000011
【図１０】
2014021580.tif 000012
【図１１】
2014021580.tif 000013
【図１２】
2014021580.tif 000014
【図１３】
2014021580.tif 000015
【図１４】
2014021580.tif 000016
【図１５】
2014021580.tif 000017
【図１６】
2014021580.tif 000018
【図１７】
2014021580.tif 000019
【図１８】
2014021580.tif 000020
【図１９】
2014021580.tif 000021
【図２０】
2014021580.tif 000022
【図２１】
2014021580.tif 000023
【図２２】
2014021580.tif 000024