(57)【要約】【課題】ユーザへ適合度が高いＸＭＬ部分データのみを配信することによりユーザビリティの向上をはかる。【解決手段】ＸＰａｔｈ式フィルタ装置１０は、複数のキーワードの照合とそのキーワードの頻度管理を高速に行うことのできるインデックスを用い、適合度演算部１０２が、ＸＭＬデータに対してキーワード一致の述語、ならびにＸＰａｔｈ式あたりの適合度を計算し、ＸＭＬデータ配信部１０３が、適合度で構成される過去のデータから適合度の高いＸＭＬ部分データを優先的にユーザへ配信する。また、プロファイル処理部１０１は、ＸＰａｔｈ式で指定されたキーワードを国語辞書や時事用語辞書をはじめとする辞書群を用いて拡張し、適合度演算部１０２へ供給する。【選択図】図３
2008299615.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信するＸＰａｔｈ式フィルタ装置であって、
前記ＸＰａｔｈ式の追加、もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析した結果、前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストを、前記ＸＭＬデータにおける前記テキストの出現頻度を計測可能なキーワードインデックスに対して追加し、もしくは削除し、前記ＸＰａｔｈ式の構造データと、前記キーワードインデックスとを関連付けてメモリに記憶するプロファイル処理部と、
前記ＸＭＬデータの構造を解析し、前記解析されたＸＭＬデータの構造データと、前記メモリに記憶されたＸＰａｔｈ式の構造データとを照合し、前記キーワードインデックスが一致と判定したキーワードの出現頻度から前記ＸＰａｔｈ式毎の適合度を計算する適合度演算部と、
前記適合度演算部により計算された適合度の高い部分ＸＭＬデータを抽出し、配信するＸＭＬデータ配信部と、
を有することを特徴とするＸＰａｔｈ式フィルタ装置。
【請求項２】
前記適合度演算部は、
前記照合結果を保持する履歴を参照して、前記キーワードの出現頻度と前記キーワードが出現する相対文書頻度の逆数の対数との積を演算して重み付け係数を付与し、
前記ＸＭＬデータ配信部は、
前記重み付け係数が高いＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出して配信することを特徴とする請求項１に記載のＸＰａｔｈ式フィルタ装置。
【請求項３】
前記ＸＭＬデータ配信部は、
前記適合度演算部から取得した適合度を過去の適合度と比較し、前記メモリに記憶されてある所定の基準を満たした場合に前記部分ＸＭＬデータをユーザが希望する配信形態に変換し送信するか、もしくは前記部分ＸＭＬデータに前記適合度演算部により演算された適合度を付して送信することを特徴とする請求項１または２に記載のＸＰａｔｈ式フィルタ装置。
【請求項４】
前記プロファイル処理部は、
前記ＸＰａｔｈ式に前記テキストの部分一致の述語が存在する場合、前記述語を検索キーとして、前記メモリに記憶されてある辞書から類似する少なくとも一つのキーワードを抽出して、前記抽出したキーワードを、前記ＸＰａｔｈ式に関連付けられた前記キーワードインデックスに追加してから、前記ＸＰａｔｈ式の構造を解析することを特徴とする請求項１から請求項３のいずれか１項に記載のＸＰａｔｈ式フィルタ装置。
【請求項５】
前記プロファイル処理部は、
前記テキストの形態素解析を行って前記キーワードインデックスの追加もしくは削除を行い、
前記適合度演算部は、
前記ＸＭＬデータに含まれるテキストの形態素解析を行い、前記形態素解析後の構造データと、前記メモリに記憶される前記ＸＰａｔｈ式の構造データとを照合することを特徴とする請求項１から請求項４のいずれか１項に記載のＸＰａｔｈ式フィルタ装置。
【請求項６】
前記プロファイル処理部は、
前記キーワードインデックスを構築するＸＰａｔｈ式、形態素解析を行ってからキーワードインデックスを構築するＸＰａｔｈ式、あるいは適合度を計算するＸＰａｔｈ式を外部から受信し、もしくは、記憶媒体から前記いずれかのＸＰａｔｈ式を読み込んで記憶するとともに、前記ＸＰａｔｈ式における述語のうち、前記いずれかのＸＰａｔｈ式に対応する前記キーワードインデックスに追加もしくは削除を行い、
前記適合度演算部は、
前記ＸＭＬデータに前記テキストが存在する場合、前記ＸＰａｔｈ式のいずれかを参照してから、前記テキストと前記メモリに記憶された前記ＸＰａｔｈ式の構造データとを照合して前記適合度の計算を行うことを特徴とする請求項１から請求項５のいずれか１項に記載のＸＰａｔｈ式フィルタ装置。
【請求項７】
ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信する、少なくとも入力装置と、記憶装置と、演算処理装置と、通信装置とから構成されたＸＰａｔｈ式フィルタ装置に用いられるＸＰａｔｈ式フィルタ処理方法であって、
前記演算処理装置は、
前記入力装置を介してＸＰａｔｈ式の追加もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析する条件解析ステップと、
前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストから前記テキストの出現頻度を示すキーワードインデックスに対して追加し、もしくは削除するキーワード管理ステップと、
前記ＸＰａｔｈ式の構造データと前記キーワードインデックスとを関連付けて前記記憶装置に記憶するプロファイル管理ステップと、
前記ＸＭＬデータの構造を解析し、テキストを検出し、前記検出したテキストを指定した構造データを取得するＸＭＬデータ解析ステップと、
前記ＸＭＬデータ解析ステップにより取得される構造データと、前記プロファイル管理ステップで記憶した前記ＸＰａｔｈ式の構造データとを照合するデータ照合ステップと、
前記データ照合ステップによる照合の結果から前記ＸＰａｔｈ式毎の適合度を計算し、前記ＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出する適合度計算データ抽出ステップと、
前記適合度計算データ抽出ステップにより抽出された部分ＸＭＬデータを、前記通信装置を介してユーザが希望する配信形態に変換して送信し、あるいは前記適合度計算データ抽出ステップで計算された適合度と共に送信するＸＭＬデータ配信ステップと、
を実行することを特徴とするＸＰａｔｈ式フィルタ処理方法。
【請求項８】
ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信するＸＰａｔｈ式フィルタ装置に用いられるＸＰａｔｈ式処理プログラムであって、
ＸＰａｔｈ式の追加もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析する条件解析処理と、
前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストから前記テキストの出現頻度を示すキーワードインデックスに追加し、もしくは削除するキーワード管理処理と、
前記ＸＰａｔｈ式の構造データと前記キーワードインデックスとを関連付けて記憶するプロファイル管理処理と、
前記ＸＭＬデータの構造を解析して、テキストを検出し、前記検出したテキストを指定した構造データを取得するＸＭＬデータ解析処理と、
前記ＸＭＬデータ解析ステップから取得される構造データと、前記プロファイル管理処理を実行することにより記憶される前記ＸＰａｔｈ式ごとの構造データとを照合するデータ照合処理と、
前記データ照合ステップによる照合の結果、前記キーワードインデックスが一致した述語から前記ＸＰａｔｈ式毎の適合度を計算し、前記ＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出する適合度計算データ抽出処理と、
前記適合度計算データ抽出処理で抽出された部分ＸＭＬデータをユーザが希望する配信形態に変換して送信し、あるいは前記適合度計算データ抽出処理で計算された適合度と共に送信するＸＭＬデータ配信処理と、
をコンピュータに実行させるＸＰａｔｈ式処理プログラム。
【請求項９】
ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信するＸＰａｔｈ式フィルタ装置に用いられるＸＰａｔｈ式処理プログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
ＸＰａｔｈ式の追加もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析する条件解析処理と、
前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストから前記テキストの出現頻度を示すキーワードインデックスに追加し、もしくは削除するキーワードインデックス管理処理と、
前記ＸＰａｔｈ式の構造データと前記キーワードインデックスとを関連付けて記憶するプロファイル管理処理と、
前記ＸＭＬデータの構造を解析して、テキストを検出し、前記検出したテキストを指定した構造データを取得するＸＭＬデータ解析処理と、
前記ＸＭＬデータ解析ステップから取得される構造データと、前記プロファイル管理処理を実行することにより記憶される前記ＸＰａｔｈ式ごとの構造データとを照合するデータ照合処理と、
前記データ照合ステップによる照合の結果、前記キーワードインデックスが一致した述語から前記ＸＰａｔｈ式毎の適合度を計算し、前記ＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出する適合度計算データ抽出処理と、
前記適合度計算データ抽出処理で抽出された部分ＸＭＬデータをユーザが希望する配信形態に変換して送信し、あるいは前記適合度計算データ抽出処理で計算された適合度と共に送信するＸＭＬデータ配信処理と、
をコンピュータに実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ毎にＸＰａｔｈ式を定め、各ユーザの希望に沿った部分ＸＭＬデータを抽出して配信する、ＸＰａｔｈ式フィルタ装置、ＸＰａｔｈ式フィルタ処理方法、ＸＰａｔｈ式処理プログラム、ならびにＸＰａｔｈ式処理プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
ＸＭＬ（eXtensible Markup Language）は、ネットワーク上で交換可能な標準的なデータを記述する言語であり、現在、ｎｅｗｓＭＬ（ニューズエムエル）などをはじめとして広く使われている。ＸＰａｔｈ式（XML path Language）は、ＸＭＬデータの一部を特定するための記述言語であり、ＸＭＬデータに対するクエリーや変換などにおいて重要な役割を果たしている。ＸＭＬデータとその中の部分集合をあらわしているＸＰａｔｈ式を入力したときに、ＸＰａｔｈ式により指定された部分を抽出する技術が注目を集めている。例えば、ｎｅｗｓＭＬは、ニュース記事やそれに関連した画像、動画、音声などをＷｅｂ（World Wide Web）、携帯電話、テレビ（データ放送）等、さまざまな端末に送ることが出来る。この時、ｎｅｗｓＭＬの受信側（利用者）は、ＸＰａｔｈ式をフィルタ（ＸＰａｔｈ式フィルタ装置）に登録しておくことで膨大な情報の中から、必要な情報のみを得ることが出来る。
【０００３】
前記したＸＰａｔｈ式を用いて、入力されたＸＭＬデータ（ストリームデータなど）をフィルタ処理する場合、ＸＰａｔｈ式から導出されたオートマトン（Automaton）を用いることが有効である（例えば、特許文献１、非特許文献１、２参照）。
ちなみに、「オートマトン」とは、コンピュータ等の計算機構を数学的に表すモデルの総称であり、入力、出力、状態を持つ。このうち、ＤＦＡ（決定性オートマトン）は、入力に対する遷移先が１つに決まるオートマトンであり、ＮＦＡ（非決定性オートマトン）は、ある状態において、入力に対する遷移先が複数存在するオートマトンである。図１３に、前記したオートマトンの記憶装置上での管理図（データ構成）が示されている。図１３に示されるように、個々のＸＰａｔｈ毎にＮＦＡが生成され、こうして生成された複数のＮＦＡは、１つのノードによって結合され、そのルートからイプシロンエッジにより個々のＮＦＡに接続される（結合ＮＦＡ）。なお、イプシロンエッジとは、例えば、オートマトンにおいて通常定義される空文字列のことである。ＤＦＡは、結合されたＮＦＡを用い、ＸＭＬデータの入力に応じて必要な状態を順次生成／更新する。
【０００４】
一方、ストリームデータではなく、蓄積データに対する適合度（キーワードの重み）は、例えば、文書中におけるキーワードの出現頻度であるＴＦ（Term Frequency）と、検索語が記載された文書数ＤＦ（Document Frequency）とにより決まる（例えば、非特許文献３参照）。非特許文献３には、ＴＦとＤＦの積をとってキーワードの重み付けを行なう技術が開示されている。
【特許文献１】特開２００３−３２３４２９号公報（段落「０００６」〜段落「０００７」、図２）
【非特許文献１】Ｔ．Ｊ．Ｇｒｅｅｎ，Ｇ．Ｍｉｋｌａｕ，Ｍ．Ｏｎｉｚｕｋａ，Ｄ，Ｓｕｃｉｕ，“Ｐｒｏｃｅｓｓｉｎｇ ＸＭＬ Ｓｔｒｅａｍｓ ｗｉｔｈ Ｄｅｔｅｒｍｉｎｉｓｔｉｃ Ａｕｔｏｍａｔａ，”Ｉｎ Ｐｒｏｃｅｅｄｉｇ ｏｆ ＩＣＤＴ（２００３）
【非特許文献２】Ｙ．Ｄｉａｏ，Ｐ．Ｆｉｓｃｈｒ ａｎｄ Ｍ．Ｆｒａｎｋｉｎ，“Ｙ．ｆｉｌｔｅｒ：Ｅｆｆｉｃｅｎｔ ａｎｄ ｓｃａｌｂｌｅ ｆｉｌｔｅｒｉｎｇ ｏｆ ｘｍｌ ｄｏｃｕｍｅｎｔｓ，”Ｉｎ Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ｔｈｅ ＩＣＤＥ（２００２）
【非特許文献３】Ｇ．Ｓａｌｔｏｎ，Ｅ．Ａ．Ｆｏｘ ａｎｄ Ｈ．Ｗｕ，“Ｅｘｔｅｎｄｅｄ Ｂｏｏｌｅａｎ ｉｎｆｏｒｍａｔｉｏｎ ｒｅｔｒｉｅｖａｌ，”Ｃｏｍｍｕｎｉｃａｔｉｏｎ ｏｆ ｔｈｅ ＡＣＭ，Ｖｏ１．２６，Ｎｏ．１１，ｐｐ．１０２２−１０３６（１９８３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＸＰａｔｈ式フィルタ装置において、例えば、特許文献１、および非特許文献１、２に開示された技術によれば、ＸＰａｔｈ式に対する処理の高速化やメモリ使用量削減などをはかることができる。しかしながら、いずれにおいても述語判定は真偽判定であったため、ユーザの検索希望条件であるキーワードがストリームデータ中に一度だけ一致する場合も、複数回一致する場合も、それらを区別せず抽出し、ユーザへ配信することから、それらの中で適合度の高いデータを選別することが困難な問題があった。また、希望条件の設定内容やストリームデータの内容によっては、それらが一度も該当せず、ユーザへ長期間一度も配信されないことがある。
【０００６】
例えば、エコロジー製品についての口コミをタイムリーにキャッチアップすることを目的に「エコロジー」を検索条件のキーワードとして登録してあったとする。その上で、あるエコロジー製品が報道発表され、その製品に対する世間の影響が大きい場合、その製品に関するニュースやブログの記事が膨大に配信される。このような場合、ユーザへ配信される記事が頻繁になるため、ユーザは、それらの記事から重要な記事（適合度が高い記事）だけを抽出したいという要望がある。
【０００７】
本発明は、前記した課題を解決するためになされたものであり、ユーザへ適合度が高いＸＭＬ部分データのみを配信することによりユーザビリティの向上をはかった、ＸＰａｔｈ式フィルタ装置、ＸＰａｔｈ式フィルタ処理方法、ＸＰａｔｈ式処理プログラム、ならびにＸＰａｔｈ式処理プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するために、本発明のＸＰａｔｈ式フィルタ装置は、ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信するＸＰａｔｈ式フィルタ装置であって、前記ＸＰａｔｈ式の追加、もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析した結果、前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストを、前記ＸＭＬデータにおける前記テキストの出現頻度を計測可能なキーワードインデックスに対して追加し、もしくは削除し、前記ＸＰａｔｈ式の構造データと、前記キーワードインデックスとを関連付けてメモリに記憶するプロファイル処理部と、前記ＸＭＬデータの構造を解析し、前記解析されたＸＭＬデータの構造データと、前記メモリに記憶されたＸＰａｔｈ式の構造データとを照合し、前記キーワードインデックスが一致と判定したキーワードの出現頻度から前記ＸＰａｔｈ式毎の適合度を計算する適合度演算部と、前記適合度演算部により計算された適合度の高い部分ＸＭＬデータを抽出し、配信するＸＭＬデータ配信部と、を有するものである。
【０００９】
前記した構成によれば、プロファイル処理部がユーザにより設定されるキーワードの追加を自動的に行ない、適合度演算部がＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算し、ＸＭＬデータ配信部が前記適合度演算部によって出力される適合度に基づき適合度が高いＸＭＬデータを優先的に配信するため、一文書中に同じキーワードが多く出現すればその部分ＸＭＬデータは配信される可能性が高く、ユーザは、配信された記事から適合度の高い記事を選別することが容易になり、ユーザビリティが向上する。
【００１０】
また、本発明のＸＰａｔｈ式フィルタ装置において、前記適合度演算部は、前記照合結果を保持する履歴を参照して、前記キーワードの出現頻度と前記キーワードが出現する相対文書頻度の逆数の対数との積を演算して重み付け係数を付与し、前記ＸＭＬデータ配信部は、前記重み付け係数が高いＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出して配信するように構成してもよい。用いて適合度を計算し、前記ＸＰａｔｈ式に適合した部分ＸＭＬデータを抽出してもよい。
【００１１】
前記した構成によれば、適合度演算部が、照合結果を保持する履歴を参照して適合度を計算するため、キーワードが出現するＸＭＬデータの出現頻度を用いた適合度を計算でき、単独のＸＭＬデータにおけるキーワード出現頻度のみから計算する適合度よりも高い精度の適合度演算が可能になる。このため、ユーザへ精度の高い適合度を配信でき、ユーザがその適合度にしたがい記事を選別できるようになる。また、重み付け係数が高いＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出して配信するため、一文書中に同じキーワードが多く出現すればその部分ＸＭＬデータは配信される可能性が高く、また、多くの文書にキーワードが出現すれば配信される可能性は低くなるため、適切な部分ＸＭＬデータの選別が可能になる。
【００１２】
また、本発明のＸＰａｔｈ式フィルタ装置において、前記ＸＭＬデータ配信部は、前記適合度演算部から取得した適合度を過去の適合度と比較し、前記メモリに記憶されてある所定の基準を満たした場合に前記部分ＸＭＬデータをユーザが希望する配信形態に変換し送信するか、もしくは前記部分ＸＭＬデータに前記適合度演算部により演算された適合度を付して送信してもよい。
【００１３】
前記した構成によれば、ＸＭＬデータ配信部が、適合度を過去の適合度と比較し、所定の基準を満たした場合に前記部分ＸＭＬデータをユーザが希望する配信形態に変換して送信するか、部分ＸＭＬデータに適合度を付して送信することにより、例えば、基準を「現時点から２４時間以内で最高の適合度である」とすれば、２４時間以内で常に高い適合度のデータがユーザへ配信されるようになり、また、「現時点から２４時間以内で最高の適合度である。但し、次点の適合度が６時間で期限切れになるのであれば、その適合度を最高とする」とすれば、常に高い適合度のデータがユーザへ配信されるだけでなく、最高でないが適合度の高いデータをある程度の遅延（この場合、６時間）を経て送信することが出来る。このように、適合度が高い記事のみをユーザへ配信することが可能になり、ユーザは選別することなく、適合度の高い記事を閲覧できるようになる。
【００１４】
また、本発明のＸＰａｔｈ式フィルタ装置において、前記プロファイル処理部は、前記ＸＰａｔｈ式に前記テキストの部分一致の述語が存在する場合、前記述語を検索キーとして、前記メモリに記憶されてある辞書から類似する少なくとも一つのキーワードを抽出して、前記抽出したキーワードを、前記ＸＰａｔｈ式に関連付けられた前記キーワードインデックスに追加してから、前記ＸＰａｔｈ式の構造を解析するようにしてもよい。
【００１５】
前記した構成によれば、ＸＰａｔｈ式にテキストの部分一致の述語が存在する場合、述語を検索キーに辞書から類似するキーワードを抽出してキーワードインデックスをＸＰａｔｈ式に追加してから構造を解析するようにしたため、指定したキーワードに近い記事も適合対象になり、したがってＸＭＬデータと適合する可能性が高くなり、このため、ユーザに対して長期間未配信になる事態は解消される。
【００１６】
また、本発明のＸＰａｔｈ式フィルタ装置において、前記プロファイル処理部は、前記テキストの形態素解析を行って前記キーワードインデックスの追加もしくは削除を行い、前記適合度演算部は、前記ＸＭＬデータに含まれるテキストの形態素解析を行い、前記形態素解析後の構造データと、前記メモリに記憶される前記ＸＰａｔｈ式の構造データとを照合するように構成してもよい。
【００１７】
前記した構成によれば、プロファイル処理部がテキストの形態素解析を行ってキーワードインデックスの追加もしくは削除を行い、適合度演算部が、ＸＭＬデータに含まれるテキストの形態素解析を行い、当該形態素解析後の構造データとＸＰａｔｈ式の構造データとを照合するため、従来のように、ユーザから指定されるキーワードとＸＭＬデータのテキストとを単純に照合する場合や、キーワードインデックスを用いて照合する場合に比べると、ユーザから指定されるキーワード、およびＸＭＬデータのテキストを形態素として処理できるため、精度の高いＸＭＬデータの抽出が可能である。このため、適合度演算部は、ストリームデータに対してＸＰａｔｈ式あたりの適合度を精度良く計算できることになり、その適合度をユーザへ配信すれば、ユーザがその適合度を元に選別することが可能になる。また、適合度をユーザへ配信せず、前記した基準に基づく配信を行えば、ユーザは選別することもなく、適合度の高い記事を閲覧することができるようになる。
【００１８】
また、本発明のＸＰａｔｈ式フィルタ装置において、前記プロファイル処理部は、前記キーワードインデックスを構築するＸＰａｔｈ式、形態素解析を行ってからキーワードインデックスを構築するＸＰａｔｈ式、あるいは適合度を計算するＸＰａｔｈ式を外部から受信し、もしくは、記憶媒体から前記いずれかのＸＰａｔｈ式を読み込んで記憶するとともに、前記ＸＰａｔｈ式における述語のうち、前記いずれかのＸＰａｔｈ式に対応する前記キーワードインデックスに追加もしくは削除を行い、前記適合度演算部は、前記ＸＭＬデータに前記テキストが存在する場合、前記ＸＰａｔｈ式のいずれかを参照してから、前記テキストと前記メモリに記憶された前記ＸＰａｔｈ式の構造データとを照合して前記適合度の計算を行うように構成してもよい。
【００１９】
前記した構成によれば、プロファイル処理部が、いずれかのＸＰａｔｈ式を外部から受信し、もしくは記憶媒体からいずれかのＸＰａｔｈ式を読み込んで記憶するとともに、ＸＰａｔｈ式における述語のうち、キーワードの一致について、いずれかのＸＰａｔｈ式を参照してから、キーワードインデックスに追加もしくは削除を行い、適合度演算部が、ＸＭＬデータにテキストが存在する場合、ＸＰａｔｈ式のいずれかを参照してから、テキストとＸＰａｔｈ式の構造データとを照合して適合度の計算を行うため、キーワードインデックスの構築や形態素解析の処理に伴うオーバーヘッドの抑制や、適合度計算を行う対象データ（パス）の制御が可能になり、ＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算する時間が縮小される。したがって、ＸＭＬデータを遅延なくユーザへ配信することが可能になるため、ユーザがその適合度に基づき迅速に選別することができる。また、前記した基準に基づく配信であれば、ユーザは識別する手間も省け、適合度の高い記事を迅速に閲覧することができるようになる。
【００２０】
前記した課題を解決するために本発明のＸＰａｔｈ式フィルタ処理方法は、ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信する、少なくとも入力装置と、記憶装置と、演算処理装置と、通信装置とから構成されたＸＰａｔｈ式フィルタ装置に用いられるＸＰａｔｈ式フィルタ処理方法であって、前記演算処理装置は、前記入力装置を介してＸＰａｔｈ式の追加もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析する条件解析ステップと、前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストから前記テキストの出現頻度を示すキーワードインデックスに対して追加し、もしくは削除するキーワード管理ステップと、前記ＸＰａｔｈ式の構造データと前記キーワードインデックスとを関連付けて前記記憶装置に記憶するプロファイル管理ステップと、前記ＸＭＬデータの構造を解析し、テキストを検出し、前記検出したテキストを指定した構造データを取得するＸＭＬデータ解析ステップと、前記ＸＭＬデータ解析ステップにより取得される構造データと、前記プロファイル管理ステップで記憶した前記ＸＰａｔｈ式の構造データとを照合するデータ照合ステップと、前記データ照合ステップによる照合の結果から前記ＸＰａｔｈ式毎の適合度を計算し、前記ＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出する適合度計算データ抽出ステップと、前記適合度計算データ抽出ステップにより抽出された部分ＸＭＬデータを、前記通信装置を介してユーザが希望する配信形態に変換して送信し、あるいは前記適合度計算データ抽出ステップで計算された適合度と共に送信するＸＭＬデータ配信ステップと、を実行するものである。
【００２１】
前記したＸＰａｔｈ式フィルタ処理方法によれば、キーワードの拡張をはかるとともに、ＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算し、この計算された適合度に基づき適合度が高いＸＭＬデータを優先的にユーザに配信するため、ユーザは、配信された記事から適合度の高い記事を選別することが容易になり、したがってユーザビリティが向上する。
【００２２】
前記した課題を解決するために、本発明のＸＰａｔｈ式処理プログラムは、ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信するＸＰａｔｈ式フィルタ装置に用いられるＸＰａｔｈ式処理プログラムであって、ＸＰａｔｈ式の追加もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析する条件解析処理と、前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストから前記テキストの出現頻度を示すキーワードインデックスに追加し、もしくは削除するキーワード管理処理と、前記ＸＰａｔｈ式の構造データと前記キーワードインデックスとを関連付けて記憶するプロファイル管理処理と、前記ＸＭＬデータの構造を解析して、テキストを検出し、前記検出したテキストを指定した構造データを取得するＸＭＬデータ解析処理と、前記ＸＭＬデータ解析ステップから取得される構造データと、前記プロファイル管理処理を実行することにより記憶される前記ＸＰａｔｈ式ごとの構造データとを照合するデータ照合処理と、前記データ照合ステップによる照合の結果、前記キーワードインデックスが一致した述語から前記ＸＰａｔｈ式毎の適合度を計算し、前記ＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出する適合度計算データ抽出処理と、前記適合度計算データ抽出処理で抽出された部分ＸＭＬデータをユーザが希望する配信形態に変換して送信し、あるいは前記適合度計算データ抽出処理で計算された適合度と共に送信するＸＭＬデータ配信処理と、をコンピュータに実行させるものである。
【００２３】
前記したＸＰａｔｈ処理プログラムによれば、キーワードの拡張をはかるとともに、ＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算し、この計算された適合度に基づき適合度が高いＸＭＬデータを優先的にユーザに配信するため、ユーザは、配信された記事から適合度の高い記事を選別することが容易になり、したがってユーザビリティが向上する。
【００２４】
前記した課題を解決するために、本発明の記録媒体は、ユーザ毎にＸＰａｔｈ式を定め、ＸＭＬデータから各ユーザが定めた前記ＸＰａｔｈ式に従い、部分ＸＭＬデータを抽出して配信するＸＰａｔｈ式フィルタ装置に用いられるＸＰａｔｈ式処理プログラムが記録されたコンピュータ読み取り可能な記録媒体であって、ＸＰａｔｈ式の追加もしくは削除要求を受信し、前記ＸＰａｔｈ式の構造を解析する条件解析処理と、前記ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、前記テキストから前記テキストの出現頻度を示すキーワードインデックスに追加し、もしくは削除するキーワードインデックス管理処理と、前記ＸＰａｔｈ式の構造データと前記キーワードインデックスとを関連付けて記憶するプロファイル管理処理と、前記ＸＭＬデータの構造を解析して、テキストを検出し、前記検出したテキストを指定した構造データを取得するＸＭＬデータ解析処理と、前記ＸＭＬデータ解析ステップから取得される構造データと、前記プロファイル管理処理を実行することにより記憶される前記ＸＰａｔｈ式ごとの構造データとを照合するデータ照合処理と、前記データ照合ステップによる照合の結果、前記キーワードインデックスが一致した述語から前記ＸＰａｔｈ式毎の適合度を計算し、前記ＸＰａｔｈ式に適合する部分ＸＭＬデータを抽出する適合度計算データ抽出処理と、前記適合度計算データ抽出処理で抽出された部分ＸＭＬデータをユーザが希望する配信形態に変換して送信し、あるいは前記適合度計算データ抽出処理で計算された適合度と共に送信するＸＭＬデータ配信処理と、をコンピュータに実行させるプログラムを記録した記録媒体である。
【００２５】
前記した記録媒体によれば、前記ＸＰａｔｈ処理プログラムをコンピュータが読取り実行することにより、キーワードの拡張をはかるとともに、ＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算し、この計算された適合度に基づき適合度が高いＸＭＬデータを優先的にユーザに配信するため、ユーザは、配信された記事から適合度の高い記事を選別することが容易になり、したがってユーザビリティが向上する。
【発明の効果】
【００２６】
本発明によれば、ユーザへ適合度が高いＸＭＬデータのみを配信することによりユーザビリティの向上をはかった、ＸＰａｔｈ式フィルタ装置、ＸＰａｔｈ式フィルタ処理方法、プログラム、ならびに記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態に係るＸＰａｔｈ式フィルタ装置ならびにＸＰａｔｈ式処理方法につき、図面を参照しながら詳細に説明する。
図１は、本発明の実施の形態に係るＸＰａｔｈ式処理方法が適用されるフィルタエンジン（以下、ＸＰａｔｈ式フィルタ装置という）の概要を説明するために示した図である。図１に示されるように、情報提供者により提供者端末１１を介しＸＭＬ形式にしたがって生成されたＸＭＬデータは、ＸＰａｔｈ式処理プログラムを実行するＸＰａｔｈ式フィルタエジン（以下、ＸＰａｔｈ式フィルタ装置１０という）にイントラネット等のネットワークを経由して送信される。ＸＰａｔｈ式フィルタ装置１０には、ＸＭＬデータを受け取る個々の利用者が、利用者端末１２により自分の欲しいデータの条件（以下、個人プロファイルという）を、ＸＭＬ問合せという形式でＸＰａｔｈ式フィルタ装置１０に予め登録している。
【００２８】
ＸＰａｔｈ式フィルタ装置１０は、登録されている個人プロファイルに応じて送られてくるニュースソース等のＸＭＬデータをフィルタリングして個々の利用者の利用者端末１２に配信する。ニュースソース等のＸＭＬデータの具体例としては、ＮｅｗｓＭＬがある。ＮｅｗｓＭＬは前記したとおり、ＸＭＬをベースにした新しいニュース配信フォーマットであり、ニュース記事、画像、動画、音声等のニュース素材を自由に組み合わせ、Ｗｅｂサイトや携帯電話等、様々な電子機器を対象に送ることができる。また、ニュース記事、画像、動画、音声等の様々なニュース素材を構造化して一元管理するのに適する。
【００２９】
なお、フィルタエンジンは、ＸＰａｔｈ式フィルタ装置１０、およびＸＰａｔｈ式処理プログラムを内包するものである。ちなみに、ＸＭＬは、インターネットの標準としてＷ３Ｃ（World Wide Web Consortium）により勧告されたメタ言語であり、メタ言語は、言語を作るという意味である。また、ＸＭＬデータ（ＸＭＬ文書）は、ＸＭＬによって作られた言語を用いて作成された文書やデータストリームである。
【００３０】
図２は、本発明の実施の形態に係るＸＰａｔｈ式フィルタ装置１０の内部構成を示すハードウェアブロック図であり、ここでは、スタンドアロン構成が例示されている。
図２に示されるように、ＸＰａｔｈ式フィルタ装置１０は、演算処理装置１００を制御中枢とし、ＸＰａｔｈ式処理プログラムが格納される主記憶装置２０１と、入出力装置２０２と、通信装置２０３と、各種ＤＢ２０４とが、アドレス、データ、コントロールのためのラインが複数本で構成されるシステムバス２０５に共通接続され、構成される。
【００３１】
前記した構成において、演算処理装置１００は、主記憶装置２０１に格納されたＸＰａｔｈ式処理プログラムを逐次読み出し実行することにより、入出力装置２０２もしくは通信装置２０３を介して取得されるＸＭＬデータ（（ａ）ニュースソース等のＸＭＬデータ）を各種ＤＢ２０４へ入力する。
また、演算処理装置１００は、入出力装置２０２もしくは通信装置２０３を介して、ＸＰａｔｈ式の追加や削除要求を取得し（（ｂ）個人プロファイルの追加・削除要求）、ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合、当該テキストをキーワードインデックスに追加し、もしくは削除を行い、解析したＸＰａｔｈ式の構造データと、追加もしくは削除したキーワードインデックスとを関連付けて各種ＤＢ２０４に記憶する。また、例えば、ＸＰａｔｈ式フィルタ装置１０を運営する者からなされるキーワードインデックスや形態素解析の有無の追加や削除要求（（ｃ）キーワードインデックスや形態素解析の有無の追加・削除）を取得し、解析したＸＰａｔｈ式の構造データと、追加もしくは削除したキーワードインデックスとを関連付けて各種ＤＢ２０４に記憶する。そして、ＸＭＬデータの構造を解析してその構造データやテキストを検出し、当該構造データと、ＸＰａｔｈ式の構造データを照合してキーワードが一致した述語からＸＰａｔｈ式毎の適合度を計算し、更に、ＸＰａｔｈ式に適合するＸＭＬデータを抽出し、当該抽出されたＸＭＬデータをユーザが希望する配信形態に変換して送信し（（ｄ）結果ＸＭＬデータ）、あるいは計算された適合度を共に送信する各処理を実行する。
【００３２】
図３は、本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の内部構成を機能展開して示したブロック図であり、本発明を実現する機能構成のみを抽出して示してある。
図３に示されるように、ＸＰａｔｈ式フィルタ装置１０の機能を大別すれば、プロファイル処理部１０１と、適合度演算部１０２と、ＸＭＬデータ配信部１０３とから成る。いずれも図２に示す演算処理装置１００が、主記憶装置２１０に格納されたＸＰａｔｈ式処理プログラムを逐次読み出して実行し、入出力装置２０２、通信装置２０３、各種ＤＢ２０４等の周辺装置を制御することにより実行される。
【００３３】
プロファイル処理部１０１は、入出力装置２０２、もしくは通信装置２０３を介して利用者から、ＸＰａｔｈ式の追加もしくは削除要求（（ｂ）個人プロファイルの追加・削除）を受け、当該ＸＰａｔｈ式の構造を解析して、ＸＰａｔｈ式の構造データにテキストを指定した述語が含まれる場合（述語の定義は後記する）、テキストをキーワードインデックスに追加し、もしくは削除して、ＸＰａｔｈ式の構造データと、追加もしくは削除されたキーワードインデックスとを関連付けて各種ＤＢ２０４に記憶する機能を有する。
このため、プロファイル処理部１０１は、問合せパースモジュール１２０と、キーワード拡張モジュール１２１と、キーワード辞書１２２と、インデックス指定パースモジュール１４０と、プロファイルＤＢ１５０と、キーワードインデックス管理モジュール１７０と、形態素解析モジュール１８０とにより構成される。これら各構成が有する機能については後記する。
【００３４】
また、適合度演算部１０２は、ＸＭＬデータの構造を解析し、当該解析されたＸＭＬの構造データと、プロファイル処理部１０１のプロファイルＤＢ１５０に記憶されたＸＰａｔｈ式の構造データとを照合し、キーワードが一致した述語からＸＰａｔｈ式毎の適合度を計算する機能を有し、具体的には、プロファイル処理部１０１のプロファイルＤＢ１５０に記憶されてあるキーワードの出現頻度ＴＦと、キーワードが出現する相対文書頻度の逆数の対数ＤＦとの積を演算することにより重み付け係数を付与する。詳細は後記する。
このため、適合度演算部１０２は、データ照合モジュール１３０と、適合度計算データ抽出モジュール１９０と、照合履歴管理モジュール１９１とにより構成される。これら各構成が有する機能については後記する。
【００３５】
ＸＭＬデータ配信部１０３は、適合度演算部１０２により計算された適合度の高いＸＭＬデータを抽出し、優先的に配信する機能を有する。このため、ＸＭＬデータ配信部１０３は、データ変換モジュール１６０と、適合度履歴管理モジュール１６１とにより構成される。これら各構成が有する機能については後記する。
【００３６】
ＸＭＬパースモジュール１１０は、ニュースソースなどのＸＭＬデータ（ａ）を提供者端末１１から受信し、そのデータ構造を解析する機能を有し、ここで得られる構造データをデータ照合モジュール１３０へ引き渡す。
ＸＭＬパースモジュール１１０は、入力されるＸＭＬデータをパースして内部形式ＸＭＬデータ（ＳＡＸデータ）に変換してデータ照合モジュール１３０へ出力する。なお、ここで、「パース」とは、テキスト形式で記述されたＸＭＬデータを読みこんでＸＭＬのタグで指定された文書要素や属性等を解析する処理をいう。ちなみに、ＸＭＬパースモジュール１１０を通してＸＭＬデータを操作するためのＡＰＩ（Application Programming Interface）には、ＤＯＭ（Document Object Mode）とＳＡＸ（Simple API for XML）という２種類の標準インタフェースがある。ここでは、ＸＭＬパースモジュール１１０は、後者のＳＡＸに対応している。
【００３７】
なお、ＳＡＸに対応したＸＭＬパースモジュール１１０は、ＸＭＬデータを順次シーケンシャルに読みながらＸＭＬのタグ（開始タグ、終了タグ、空き要素タグ）を検出する毎にアドインされた各種ハンドラを起動する。ここで、「ハンドラ」とは、ＳＡＸインタフェースに基づいてＸＭＬデータの各要素を処理するためのメソッドを定義したプログラムである。また、「タグ」とは、ＸＭＬデータにおいて、要素の位置を明示し、属性を収納するために記述された文字列である。
【００３８】
一方、問合せパースモジュール１２０は、利用者端末１２から個人プロファイル（ＸＭＬ問い合わせ言語で記述される検索条件）の追加や削除要求（ｂ）を受信し、キーワード拡張モジュール１２１やキーワードインデックス管理モジュール１７０と連携してプロファイルＤＢ１５０に個人プロファイルを追加し、あるいは削除を行う。
キーワード拡張モジュール１２１は、問合せパースモジュール１２０からキーワード拡張要求を受取り、そのキーワードを検索語としてキーワード辞書１２２へ問合せを行ってから、その結果を返却する。キーワード辞書１２２は国語辞書や時事用語辞書など複数の辞書から構成され、この辞書を参照することによりあるキーワードの類義語群を検索することができる。
【００３９】
データ照合モジュール１３０は、ＸＭＬパースモジュール１１０からの構造データと、プロファイルＤＢ１５０に記憶された構造データとを照合する。インデックス指定パースモジュール１４０は、キーワードインデックス、形態素解析、適合度計算の対象データについての追加や削除要求を受取り（ｃ）、その構造を解析してから、プロファイルＤＢ１５０へその構造データを記憶し、あるいは削除を行う。プロファイルＤＢ１５０はユーザのプロファイルをはじめとする各種データの管理を行う。
データ変換モジュール１６０は、データ照合モジュール１３０から適合したデータとその適合度を受取り、適合度履歴管理モジュール１６１と連携して、それらを利用者端末１２へ送信する、あるいはユーザが希望する形式に変換してから送信する。適合度履歴管理モジュール１６１は、ＸＰａｔｈ式毎の適合度の履歴を管理し、それらを配信に関する基準に沿って配信対象か否かを判定する。
【００４０】
キーワードインデックス管理モジュール１７０は、キーワードの集合であるキーワードインデックスを管理し、問合せパースモジュール１２０からの要求に沿って形態素解析モジュール１８０と適宜連携して動作する。このとき、形態素解析モジュール１８０は、テキストを受取り、それを形態素に分割して返却する。
適合度計算データ抽出モジュール１９０は、照合履歴管理モジュール１９１と連携して適合度を計算すると同時に、適合するデータの抽出を行う。また、照合履歴管理モジュール１９１は、ＸＭＬデータにおけるキーワード出現頻度などのデータ履歴を管理する。
【００４１】
以下、図４〜図８を参照しながら本発明の実施の形態に係るＸＰａｔｈ式フィルタ装置１０の動作について詳細に説明する。
図４は、パス指定の追加を行う場合のプロファイル処理部１０１の処理の流れを示すフローチャートである。図４において、キーワードインデックスを作成するＸＰａｔｈ式、適合度計算を行うＸＰａｔｈ式、あるいは形態素解析を行うＸＰａｔｈ式が、プロファイルＤＢ１５０にあらかじめ記憶されている場合、キーワードインデックス管理モジュール１７０は、そのＸＰａｔｈ式を読み込み、その構造を解析する（ステップＳ４００）。あるいは、インデックス指定パースモジュール１４０がキーワードインデックスを作成するＸＰａｔｈ式を受付け、その構造を解析する（ステップＳ４０１）。
【００４２】
次に、キーワードインデックス管理モジュール１７０は、インデックス指定パースモジュール１４０による解析により構造データを取得し、その構造データにおけるキーワードインデックスの有無についてプロファイルＤＢ１５０に割り付けられ記憶されるキーワードインデックス管理テーブル１５１を参照して判定する（ステップＳ４１０）。図９（ａ）にキーワードインデックス管理テーブル１５１のデータ構造の一例が示されている。
キーワードインデックス管理テーブル１５１は、ＸＰａｔｈ式毎のキーワードインデックスから構成され、ここで、指定された構造におけるキーワードインデックスが無いと判定された場合（Ｓ４１０“無”）、キーワードインデックスを作成し（ステップＳ４２０）、そのＸＰａｔｈ式をプロファイルＤＢ１５０のキーワードインデックス管理テーブル１５１へ格納する（ステップＳ４３０）。
【００４３】
一方、指定された構造におけるキーワードインデックスが有ると判定された場合（ステップＳ４１０“有”）、キーワードインデックス管理モジュール１７０は、構造データにおける適合度計算の有無についてプロファイルＤＢ１５０の適合度計算管理テーブル１５２を参照して判定する（ステップＳ４４０）。図９（ｂ）に適合度計算管理テーブル１５２のデータ構造の一例が示されている。
適合度計算管理テーブル１５２には適合度計算を行うＸＰａｔｈ式が保持され、適合度計算を行うＸＰａｔｈ式が保持されていなかった場合は（ステップＳ４４０“無”）、そのＸＰａｔｈ式を適合度計算管理テーブル１５２へ格納する（ステップＳ４５０）。
【００４４】
一方、適合度計算のためのＸＰａｔｈ式が格納されている場合（ステップＳ４４０“有”）、キーワードインデックス管理モジュール１７０は、その構造における形態素解析の有無について、プロファイルＤＢ１５０に割り付けられ記憶される形態素解析管理テーブル１５３を参照することにより判定する（ステップＳ４６０）。形態素解析管理テーブル１５３のデータ構造の一例は図９（ｃ）に示されている。形態素解析管理テーブル１５３には、形態素解析を行うＸＰａｔｈ式が保持され、形態素解析を行うＸＰａｔｈ式が保持されていなかった場合（ステップＳ４６０“無”）、そのＸＰａｔｈ式をプロファイルＤＢ１５０の形態素解析管理テーブル１５３へ格納する（ステップＳ４７０）。形態素解析を行うＸＰａｔｈ式が保持されていた場合は（ステップＳ４６０“有”）、パス指定の追加処理は終了する。
【００４５】
次に、図５のフローチャートを参照しながら個人プロファイル（ＸＰａｔｈ式）の追加処理について説明する。本実施の形態では、まず、問合せパースモジュール１２０は、個人プロファイル（以下、単に「プロファイル」という場合がある。）を読み込み、構造を解析する（ステップＳ５００）。ここでは、問合せパースモジュール１２０が、個人プロファイルの一部として、例えば、／ｉｔｅｍ／ｂｏｄｙ[ｃｏｎｔａｉｎｓ（．／ｔｅｘｔ（），“ＡＢＣ株式会社”）]のＸＰａｔｈ式を取得し、その構造を解析するものとする。
次に、問合せパースモジュール１２０は、ＸＰａｔｈ式においてテキストを指定した述語の有無を判定する（ステップＳ５１０）。ここで、「テキストを指定した述語」とは、右辺がキーワードである“＝”、“ｃｏｎｔａｉｎｓ（）”，“ｓｔａｒｔｓ−ｗｉｔｈ（）”等をいう。このため、前記したＸＰａｔｈ式においては、ｃｏｎｔａｉｎｓ（）が該当する。
【００４６】
テキストを指定した述語が無い場合（ステップＳ５１０“無”）、問合せパースモジュール１２０は、解析したＸＰａｔｈ式の構造データを、プロファイルＤＢ１５０へ格納し（ステップＳ５９０）、終了する。テキストを指定した述語が有る場合（ステップＳ５１０“有”）、キーワード拡張を行うパスであるか否かをプロファイルＤＢ１５０に割り付けられ格納される個人プロファイル管理テーブル１５４を参照することにより判定する（ステップＳ５２０）。図１０（ａ）に示されるように、個人プロファイル管理テーブル１５４は、プロファイルＩＤと、ＸＰａｔｈＩＤのリスト、追加方法（論理演算子のリスト）、キーワード拡張数、適合度制御配信の有無（ＯＮ／ＯＦＦ）の各データ項目で構成される。
【００４７】
キーワード拡張を行うパスである場合（ステップＳ５２０“Ｙｅｓ”）、問合せパースモジュール１２０は、キーワード辞書１２２から指定キーワードをキーに類義語を検索し、それらをプロファイルに追加する（ステップＳ５３０）。例えば、類義語数が２で、追加方法がａｎｄ結合と定義されている場合、キーワード拡張モジュール１２１は、“ＡＢＣ株式会社”を検索キーとしてキーワード辞書１２２の検索を行い、“ＡＢＣサービス”と“ＡＢＣセンター”を類義語として追加する。例えば、前記した個人プロファイル（ＸＰａｔｈ式）は、／ｉｔｅｍ／ｂｏｄｙ［ｃｏｎｔａｉｎｓ（．／ｔｅｘｔ（），“ＡＢＣ株式会社”）ａｎｄ  ｃｏｎｔａｉｎｓ（．／ｔｅｘｔ（），“ＡＢＣサービス”）ａｎｄ  ｃｏｎｔａｉｎｓ（．／ｔｅｘｔ（），“ＡＢＣセンター”）］のようになる。
【００４８】
前記した本実施の形態では、キーワード拡張を行うパスについて個人プロファイルのパス毎にキーワード拡張を行うか否かを決定しているが、プロファイル全体を対象とすることも可能である。
【００４９】
次に、問合せパースモジュール１２０は、キーワードインデックスの有無について、プロファイルＤＢ１５０に割り付けられて格納されているキーワードインデックス管理テーブル１５１を参照することにより、キーワードインデックスの対象パスであるか否かを判定する（ステップＳ５４０）。
前記したＸＰａｔｈ式の場合、ｃｏｎｔａｉｎｓ（）が指定されているｂｏｄｙタグまでの／ｉｔｅｍ／ｂｏｄｙが検索キーになる。ここで、「キーワードインデックス」とは、Ａｈｏ−Ｃｏｒａｓｉｃｋ法のような、複数キーワードのマッチングをバックトラックすることなく、判定対象のテキストストリングを１回走査するだけで処理が完了するようなインデックスや複数のハッシュなどを示す。但し、そのインデックスは、キーワードの照合のみならず、そのキーワードの出現頻度もあわせて出力する機能を有することとする。
【００５０】
ステップＳ５４０において、解析したＸＰａｔｈ式がキーワードインデックスの対象パスで無い場合（ステップＳ５４０“Ｎｏ”）、問合せパースモジュール１２０は、ステップＳ５００、Ｓ５３０におけるＸＰａｔｈ式の構造データを、プロファイルＤＢ１５０へ格納し（ステップＳ５９０）、プロファイルの追加処理を終了する。
ステップＳ５４０において、問合せパースモジュール１２０は、キーワードインデックスの対象パスであると判定した場合（ステップＳ５４０“Ｙｅｓ”）、そのパスに対応するキーワードインデックス、すなわち、テキストを指定した述語に関するキーワードインデックスの有無を判定する（ステップＳ５５０）。ここで、キーワードインデックスが無いと判定された場合（ステップＳ５５０“無”）、キーワードインデックスを作成する対象のパス名（／ｉｔｅｍ／ｂｏｄｙ）を受付け、キーワードインデックス管理モジュール１７０でキーワードインデックスを作成する（ステップＳ５５１）。
【００５１】
問合せパースモジュール１２０は、解析したＸＰａｔｈ式が形態素解析の対象パスか否かを図９（ｃ）に示すプロファイルＤＢ１５０の形態素解析管理テーブル１５３を参照することにより判定する（ステップＳ５６０）。
ここで、形態素解析を行うパスであると判定された場合（ステップＳ５６０“Ｙｅｓ”）、“ＡＢＣ株式会社”等を形態素解析モジュール１８０に入力し、“ＡＢＣ”、“株式”、“会社”、という単語の区切りを得る。これらを単語区切り文字で連結し、かつ、先頭と最後にも単語区切り文字を挿入する（ステップＳ５７０）。ここで、単語区切り文字を￥ｔａｂとすれば、“￥ｔａｂＡＢＣ￥ｔａｂ株式￥ｔａｂ会社￥ｔａｂ”になる。形態素解析を行うパスでないと判定された場合（ステップＳ５６０“Ｎｏ”）、ステップＳ５８０に進む。
【００５２】
なお、本実施の形態によれば、形態素解析後にそれらを連結文字で結合して一つのキーワードとしているが、連結しないままの形態素群としてキーワードインデックスに入力および管理することも可能である。
【００５３】
次に、問合せパースモジュール１２０は、前記により作成したテキスト、あるいは述語に指定されたテキストを受付け、このテキストと、先のＸＰａｔｈ式を特定できるＩＤ（以下、ＸＰａｔｈＩＤという）の組をキーワードインデックスに追加する（ステップＳ５８０）。具体的には、Ｉｎｄｅｘ１に、ＸＰａｔｈＩＤの“４”と“エコロジー”の組（図１０（ｂ））を入力し、Ｉｎｄｅｘ２には、ＸＰａｔｈＩＤの“１”と“ＡＢＣ株式会社”、２と、“ＡＢＣサービス”、３と、“ＡＢＣセンター”の３組を入力する。
そして、ステップＳ５００で解析したＸＰａｔｈ式の構造データ等を、プロファイルＤＢ１５０へ格納し（ステップＳ５９０）、プロファイルの追加処理を終了する。
【００５４】
次に、図６（Ａ）（Ｂ）のフローチャートを参照しながらＸＭＬデータの抽出（フィルタリング）を行う処理について説明する。
まず、ＸＭＬパースモジュール１１０は、ニュースソース等のＸＭＬデータが入力され、そのＸＭＬデータを先頭から読み込み、構造データやテキストなど（構造情報）を順次抽出し、それをデータ照合モジュール１３０へ供給する（図６（Ａ）のステップＳ６００）。ここで、構造データとは前記したＳＡＸイベントのような情報を示す。
【００５５】
次に、データ照合モジュール１３０において、前記した構造データやテキストなど（構造情報）と、プロファイルＤＢ１５０に格納されているＸＰａｔｈ式の構造データ（オートマトン）等とを適宜照合させる。なお、照合方法は、非特許文献１、２、特許文献１に開示された方法による。
ＸＭＬパーサモジュール１１０からストリームデータの受信を始めたとき、データ照合モジュール１３０は、プロファイルＤＢ１５０に割り付けられ格納される評価用テーブル１５６を初期化する。評価用テーブル１５６のデータ構造は、図１１（ａ）にその一例が示されるように、ＸＰａｔｈＩＤと、キーワードの出現頻度と、適合度の各データ項目から構成される。データ照合モジュール１３０は、構造データを受付け、それがＸＭＬデータの終端であるか否かを判定する（ステップＳ６１０）。終端でなければ（ステップＳ６１０“Ｎｏ”）、その構造データがテキストタグであるか否かを判定する（ステップＳ６２０）。それがテキストタグでない場合（ステップＳ６２０“Ｎｏ”）、前記した方法にしたがいパス照合を行い、該当するＸＰａｔｈ式をプロファイルＤＢ１５０の評価用テーブル１５６に一時格納する（ステップＳ６２１）。
【００５６】
データ照合モジュール１３０は、それがテキストタグであれば（ステップＳ６２０“Ｙｅｓ”）、そのテキストタグに関するキーワードインデックスの有無を、プロファィルＤＢ１５０のキーワードインデックス管理テーブル１５１を参照することにより判定する（ステップＳ６３０）。ここで、キーワードインデックスが無い場合（ステップＳ６３０“無”）、ステップＳ６２０で検出したテキストタグを受けて、そのテキストと、プロファイルＤＢ１５０のＸＰａｔｈＩＤ管理テーブル１５５に格納されたすべてのキーワードとを照合し、そのキーワードの出現頻度も計測する（ステップＳ６３１）。ここで、すべてのキーワードとは、その検出したテキストタグを指定した全てのキーワードのことである。そして、その照合結果からそのキーワードを指定したＸＰａｔｈＩＤを特定する（ステップＳ６３２）。次に、そのＸＰａｔｈＩＤを受け取り、それをプロファイルＤＢ１５０の評価用テーブル１５６へ（一時的に）格納してから（ステップＳ６７０）、ステップＳ６００の処理へ戻る。
【００５７】
一方、キーワードインデックスが有る場合（ステップＳ６３０“有”）データ照合モジュール１３０は、そのパスが形態素解析のパスであるか否かを、プロファイルＤＢ１５０の形態素解析管理テーブル１５３を参照することにより判定する（ステップＳ６４０）
そのパスが形態素解析を行うパスである場合（ステップＳ６４０“Ｙｅｓ”）、そのテキストを形態素解析モジュール１８０に入力し、単語区切りを得る。例えば、“４月よりＡＢＣ株式会社ＡＢＣサービス開始”の場合、“４”、“月”、“より”、“ＡＢＣ”、“株式”、“会社”、“ＡＢＣ”、“サービス”、“開始”という区切りになる。これらを単語区切り文字で連結し、かつ先頭と最後にも単語間に区切り文字を挿入する（ステップＳ６５０）。ここで、単語区切り文字を￥ｔａｂとすれば、“￥ｔａｂ４￥ｔａｂ月￥ｔａｂより￥ｔａｂＡＢＣ￥ｔａｂ株式￥ｔａｂ会社￥ｔａｂＡＢＣ￥ｔａｂサービス￥ｔａｂ開始￥ｔａｂ”になる。
【００５８】
次に、データ照合モジュール１３０は、前記したステップＳ６３０、Ｓ６５０で取得したテキストをキーワードインデックスに入力し（ステップＳ６６０）、該当するキーワードと、そのキーワードの出現頻度と、ＸＰａｔｈＩＤとを受け取る。ここで、Ｉｎｄｅｘ２に対してこのテキストを入力すると、その中に含まれるキーワードとその出現頻度とＸＰａｔｈＩＤとを出力するため、記号｛キーワード、頻度、ＸＰａｔｈＩＤ｝で表現すれば、｛ＡＢＣ株式会社、１、１｝、｛ＡＢＣセンター、１、３｝を出力する。
前記した本実施の形態では、形態素解析後に、それらを連結文字で結合して一つのキーワードとしているが、結合しないままの形態素群をキーワードインデックスに入力して、該当するキーワードとその出現頻度とＸＰａｔｈＩＤを受け取ることも可能である。
【００５９】
次に、それらの該当するＸＰａｔｈ式あるいは、ＸＰａｔｈ式とインデックスの照合結果を得て、プロファイルＤＢ１５０の評価用テーブル１５６へ（一時的に）格納してから（ステップＳ６７０）、ステップＳ６００の処理へ戻る。
前記した一連の処理を繰返し、ＸＭＬデータの終端であれば（ステップＳ６１０“Ｙｅｓ”）、適合度計算データ抽出モジュール１９０が、プロファイルＤＢ１５０に一時格納されてあるＸＰａｔｈＩＤのうち、適合度計算を行うパスが存在するか否かを判定する（図６（Ｂ）のステップＳ６８０）。それらのパスの中で適合度計算を行うパスが無い場合（ステップＳ６８０“Ｎｏ”）、プロファイルＤＢ１５０の評価用テーブル１５６へ一時格納したＸＰａｔｈＩＤにどのプロファイルＩＤが該当しているか最終評価（真偽判定）し、プロファイルＩＤに該当するＸＭＬデータの抽出を行う（ステップＳ６８４）。
【００６０】
適合度計算を行うパスが存在すると判定された場合（ステップＳ６８０“Ｙｅｓ”）、適合度計算データ抽出モジュール１９０は、まず、照合結果の履歴を利用するか否かを判定する（ステップＳ６８１）。ここで利用するか否かのデータは、プロファイルＤＢ１５０に登録されており、運用中に変更可能なデータであることを前提とする。
照合結果の履歴を利用しない場合（ステップＳ６８１“Ｎｏ”）、適合度計算データ抽出モジュール１９０は、評価用テーブル１５６に格納されているキーワードの出現頻度（ＴＦ）を利用してｗ（ｄ，ｔ）＝ＴＦ（ｄ，ｔ）のように適合度計算を行い、評価用テーブル１５６に一時格納する（ステップＳ６８３）。
【００６１】
一方、照合結果の履歴を利用する場合（ステップＳ６８１“Ｙｅｓ”）、適合度計算データ抽出モジュール１９０は、評価用テーブル１５６に格納されているキーワードの出現頻度（ＴＦ）と、照合履歴管理モジュール１９１が管理しているキーワード出現頻度履歴管理テーブル１５７の文書頻度（ＤＦ）との２つのパラメータを利用して適合度計算を行い、評価用テーブル１５６に一時格納する（ステップＳ６８２）。同時に、照合履歴管理モジュール１９１は、最新の出現頻度を、照合結果の履歴として、キーワード出現頻度履歴管理テーブル１５７のカラム（出現頻度のリスト）を更新する。その後、ステップ６８４へ進む。
【００６２】
なお、出現頻度のリスト長は、現在時刻からある一定期間、あるいはＸＰａｔｈ式フィルタ装置１０に入力されたストリームデータの終端数を想定しており、その期間、あるいはデータ数はプロファイルＤＢ１５０に登録されており、運用中に変更可能なデータであることを前提とする。
また、前記したＤＦは、文書数Ｎとキーワードｔが１回以上出現する文書の数ｄｆ（ｔ）により、ＤＦ（ｔ）＝ｌｏｇ１０（Ｎ／ｄｆ（ｔ））のように定義される。したがって、文書ｄにおけるキーワードの重みｗは、ｗ（ｄ，ｔ）＝ＴＦ（ｄ，ｔ）＊ＤＦ（ｔ）で示され、この式を計算することにより適合度を得ることができる。前記した式から、一文書中に同じキーワードが多く出現すれば適合度が高く（重み係数大）、また、多くの文書にキーワードが出現すれば適合度は低く（重み係数小）なる。なお、詳細は、非特許文献３に開示されている。
【００６３】
次に、適合度計算データ抽出モジュール１９０は、ステップＳ６８４の処理でプロファイルＤＢ１５０の評価用テーブル１５６へ一時格納したＸＰａｔｈＩＤにどのプロファイルＩＤが該当しているかを最終評価し、プロファイルＩＤに該当するＸＭＬデータの抽出を行う。このとき、適合度が評価対象になる場合、前記した式を演算することによって適合度を得る。なお、適合度計算式は、プロファイルＤＢ１５０に登録されており、運用中に変更可能なデータであることを前提とする。
続いて、データ変換モジュール１６０に制御が移り、データ変換モジュール１６０は、適合度制御による配信を行うか否かをプロファイルＤＢ１５０の個人プロファイル管理テーブル１５４を参照することにより判定する（ステップＳ６８５）。ここで適合度制御を行わない場合（ステップＳ６８５“Ｎｏ”）、でユーザの利用者端末へ抽出したＸＭＬ部分データと適合度とを配信して終了する（ステップＳ６８７）。
【００６４】
適合度制御の配信を行う場合（ステップＳ６８５“Ｙｅｓ”）、適合度履歴管理モジュール１６１は、内蔵の記憶装置（不図示）に割り付けられ格納される配信データ管理テーブル１５８のプロファイルＩＤごとの適合度履歴データ項目を参照し、適合度履歴を用いた配信制御を行う（ステップＳ６８６）。配信データ管理テーブル１５８のデータ構造の一例は図１２に示されている。
配信データ管理テーブル１５８は、図１２に示されるように、プロファイルＩＤ毎、適合度履歴と、送信済み最高適合度と、次点以降の適合度列と、最新配信時刻の各データ項目で構成される。
【００６５】
ここで、プロファイルＤＢ１５０に登録されている基準が、「現時点から２４時間以内で最高の適合度である」であって、現在の適合度がこの基準を満たすのであれば、適合度履歴管理モジュール１６１は、送信済み最高適合度を更新する（ステップＳ６８７）。一方、この基準を満たさないのであれば利用者端末１２へ配信を行わず、適合度履歴と次点以降の適合度列を更新する。また、基準が「現時点から２４時間以内で最高の適合度であるが、次点の適合度が６時間で期限切れになるのであればその適合度を最高とする」であれば、適合度履歴管理モジュール１６１は、次点以降の適合度列において、各々の適合度についてそれを計算した時間とともに管理し、一定周期で６時間経過か否かの判定を行う。
なお、前記した基準はプロファイルＤＢ１５０に登録されていて、運用中に変更可能なデータであることを前提とする。また、その基準の適用対象はプロファイル全体あるいはプロファイル毎にもなり、これらを運用中に変更可能なことを前提とする。
【００６６】
前記した本発明の実施の形態によれば、これまでキーワードの述語判定が真偽のみであったことから、配信された記事から適合度の高い記事を選別することが困難であったが、プロファイル処理部１０１がユーザにより設定されるキーワードの拡張を行い、適合度演算部１０２がＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算できるようになることから、その適合度を配信内容に含めることでユーザがその適合度をもとに記事を選別できるようになる。また、希望条件（キーワード）を設定してから長期間一度も配信されない事象が起きにくくなり、したがってユーザビリティが向上する。
また、適合度演算部１０２が過去の照合結果を利用することで、キーワードが出現するＸＭＬデータの出現頻度（ＤＦ）を用いた適合度を計算できるため、単独のＸＭＬデータにおけるキーワード出現頻度（ＴＦ）のみから計算する適合度よりも高い精度の適合度演算が可能になる。このため、ユーザへ精度の高い適合度を配信でき、ユーザがその適合度にしたがい記事を選別できるようになる。
【００６７】
また、例えば、基準を「現時点から２４時間以内で最高の適合度である」とすれば、２４時間以内で常に高い適合度のデータがユーザへ配信されるようになり、また、「現時点から２４時間以内で最高の適合度であるが、次点の適合度が６時間で期限切れになるのであれば、その適合度を最高とする」とすれば、常に高い適合度のデータがユーザへ配信されるだけでなく、最高でないが適合度の高いデータをある程度の遅延（この場合、６時間）を経て送信することが出来る。このように、適合度が高い記事のみをユーザへ配信することが可能になり、ユーザは選別することなく、適合度の高い記事を閲覧できるようになる。
【００６８】
次に、プロファイル処理部１０１によるプロファイル（ＸＰａｔｈ式）の削除処理について、図７に示すフローチャートを参照しながら説明する。
まず、問合せパースモジュール１２０は、個人プロファイル（プロファイル）としてＸＰａｔｈ式を読み込み、構造を解析する（ステップＳ７００）。そして、そのＸＰａｔｈ式の解析データを検索キーにし、プロファイルＤＢ１５０（個人プロファイル管理テーブル１５４）を検索し（ステップＳ７１０）、ＸＰａｔｈＩＤを取得する。そして、キーワードインデックス管理モジュール１７０は、検索結果にテキストを指定した述語に関するキーワードインデックスに有無を判定する（ステップＳ７２０）。すなわち、取得したＸＰａｔｈＩＤに基づきＸＰａｔｈＩＤ管理テーブル１５５を経てキーワードインデックス管理テーブル１５１を検索する。ステップＳ７１０の検索結果として、テキストを指定した述語に関するキーワードインデックスがキーワードインデックス管理テーブル１５１に無い場合は（ステップＳ７２０“無”）、ＸＰａｔｈ式の解析データをプロファイルＤＢ１５０から削除する（ステップＳ７８０）。すなわち、プロファイルＤＢ１５０のうち、個人プロファイル管理テーブル１５４、ＸＰａｔｈＩＤ管理テーブル１５５、そして、配信データ管理テーブル１５８から該当するデータを削除し、終了する（ステップＳ７８０）。
【００６９】
一方、ステップＳ７１０の検索結果として、テキストを指定した述語に関するキーワードインデックスが有る場合（ステップＳ７２０“有”）、キーワードインデックス管理モジュール１７０は、形態素解析管理テーブル１５３を参照し、形態素解析の対象パスがある場合（ステップＳ７３０“有”）、そのテキストを形態素解析し、単語間に区切り文字を挿入する（ステップＳ７４０）。すなわち、形態素解析モジュール１８０に入力し、単語区切りを得る。そして、これらを単語区切り文字で連結し、かつ先頭と最後にも単語区切り文字を挿入する。次に、そのテキストとＸＰａｔｈ式を特定できるＩＤ（ＸＰａｔｈＩＤ）の組をキーワードインデックスから削除する（ステップＳ７５０）。
前記した本実施の形態では、形態素解析後に、それらを連結文字で結合して一つのキーワードとしているが、連結しないままの形態素群をキーワードインデックスに入力していれば、同様の形式で形態素群を削除する。
【００７０】
次に、キーワードインデックス管理モジュール１７０は、そのキーワードインデックスにテキストが存在するか否かを確認する（ステップＳ７６０）。テキストが存在しない場合（ステップＳ７６０“無”）、そのキーワードインデックスを削除し（ステップＳ７７０）、ＸＰａｔｈ式の解析データをプロファイルＤＢ１５０から削除する（ステップＳ７８０）。すなわち、解析したＸＰａｔｈ式の構造データを、プロファイルＤＢ１５０の個人プロファイル管理テーブル１５４、ＸＰａｔｈＩＤ管理テーブル１５５、配信データ管理テーブル１５８のそれぞれから該当するデータを削除し、プロファイル（ＸＰａｔｈ式）の削除処理を終了する。なお、ステップＳ７７０におけるキーワードインデックスの削除処理は必須ではなく省略することも可能である。
【００７１】
最後に、プロファイル処理部１０１によるパス指定の削除処理について、図８に示すフローチャートを参照しながら説明する。
キーワードインデックスを削除するＸＰａｔｈ式、適合度計算を行わないＸＰａｔｈ式、形態素解析を行わないＸＰａｔｈ式について、それらがプロファイルＤＢ１５０に格納されている場合、まず、そのＸＰａｔｈ式を読み込み、その構造を解析する（ステップＳ８００）。あるいは、インデックス指定パースモジュール１４０においてＸＰａｔｈ式を受け付け、その構造を解析する（ステップＳ８０１）。次に、キーワードインデックス管理モジュール１７０は、前記により取得される構造データを受付け、指定された構造におけるキーワードインデックスの有無をプロファイルＤＢ１５０のキーワードインデックスの管理テーブル１５１を参照することにより判定する（ステップＳ８１０）。
【００７２】
ここで、キーワードインデックスが無いと判定された場合（ステップＳ８１０“無”）、パス指定の削除処理は終了する。キーワードインデックスが有ると判定された場合（ステップＳ８１０“有”）、キーワードインデックス管理モジュール１７０は、そのキーワードインデックスを削除し（ステップＳ８２０）、そのＸＰａｔｈ式をプロファイルＤＢ１５０（キーワードインデックス管理テーブル１５１）から削除する（ステップＳ８３０）。
次に、キーワードインデックス管理モジュール１７０は、構造データにおける適合度計算の有無について適合度計算管理テーブル１５２を参照することにより判定する（ステップＳ８４０）。ここで、適合度計算が行われていると判定された場合（ステップＳ８４０“有”）、そのＸＰａｔｈ式をプロファイルＤＢ１５０（適合度計算管理テーブル１５２）から削除する（ステップＳ８５０）。
【００７３】
次に、指定された構造における形態素解析の有無について、プロファイルＤＢ１５０の形態素解析管理テーブル１５３を参照することにより判定する（ステッフＳ８６０）。形態素解析が行われていると判定された場合（ステップＳ８６０“有”）、そのＸＰａｔｈ式をプロファイルＤＢ１５０から削除し（ステップＳ８７０）、形態素解析が行われていないと判定された場合は（ステップＳ８６０“無”）、プロファイル処理部１０１によるパス指定の一連の削除処理は終了する。
【００７４】
前記したように、プロファイル処理部１０１は、キーワードインデックスを構築する対象パス、形態素解析を行ってからキーワードインデックスを構築する対象パス、あるいは適合度を計算する対象パスを外部から受信し、もしくは、記憶媒体からいずれかの対象データを読み込んで記憶するとともに、前記ＸＰａｔｈ式における述語のうち、キーワードインデックスの一致について、前記いずれかの対象データを参照してから、キーワードインデックスに対して追加もしくは削除を行うことにより、キーワードインデックスの構築や形態素解析の処理に伴うオーバーヘッドの抑制や、適合度計算を行う対象データ（パス）の制御が可能になり、ＸＭＬデータに対してＸＰａｔｈ式あたりの適合度を計算する時間を縮小することができる。
【００７５】
以上説明のように本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置、ＸＰａｔｈ式フィルタ処理方法、ＸＰａｔｈ式処理プログラム、ならびに記録媒体によれば、複数のキーワードの照合とそのキーワードの頻度管理を高速に行うことのできるインデックスを用い、ＸＭＬデータに対してキーワード一致の述語、ならびにＸＰａｔｈ式あたりの適合度を計算し、適合度で構成される過去のデータから適合度の高いＸＭＬ部分データを優先的にユーザへ配信し、また、ＸＰａｔｈ式で指定されたキーワードを国語辞書や時事用語辞書をはじめとする辞書群を用いて拡張してから前記したＸＰａｔｈ式の処理を実行することにより、情報提供サービスを利用するユーザが適合度を元にデータを選別でき、また、高い適合度のデータを受取ることができる。更に、希望条件（ＸＰａｔｈ式）を設定してから長期間一度も配信されない事象が起きにくくなるという効果が得られる。
【００７６】
なお、図１、図２に示すＸＰａｔｈ式フィルタ装置１０は、スタンドアロン構成で説明したが、サーバと端末により構成されるネットワーク形態でもよく、また、ＸＰａｔｈ式フィルタ装置１０が有する各構成ブロックの機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。例えば、プロファイル処理部１０１、適合度演算部１０２、ＸＭＬデータ配信部１０３におけるデータ処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態に係わるＸＰａｔｈ式処理方法が適用されるフィルタエンジンの概要を説明するために示した図である。
【図２】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の内部構成を示すハードウェアブロック図である。
【図３】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の内部構成を機能展開して示したブロック図である。
【図４】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の動作を示すフローチャートである。
【図５】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の動作を示すフローチャートである。
【図６Ａ】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の動作を示すフローチャートである。
【図６Ｂ】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の動作を示すフローチャートである。
【図７】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の動作を示すフローチャートである。
【図８】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置の動作を示すフローチャートである。
【図９】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置が使用する管理テーブルのデータ構造の一例を示す図である。
【図１０】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置が使用する管理テーブルのデータ構造の一例を示す図である。
【図１１】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置が使用する管理テーブルのデータ構造の一例を示す図である。
【図１２】本発明の実施の形態に係わるＸＰａｔｈ式フィルタ装置が使用する管理テーブルのデータ構造の一例を示す図である。
【図１３】ＸＰａｔｈ式フィルタ装置が使用するオートマトンの記憶装置上でのデータ構成を説明するために示したオートマトン管理図である。
【符号の説明】
【００７８】
１０…ＸＰａｔｈ式フィルタ装置、１００…演算処理装置、１０１…プロファイル処理部、１０２…適合度演算部、１０３…ＸＭＬデータ配信部、
１２０…問合せパースモジュール、１２１…キーワード拡張モジュール、１２２…キーワード辞書、１３０…データ照合モジュール、１４０…インデックス指定パースモジュール、１５０…プロファイルＤＢ、１６０…データ変換モジュール、１６１…適合度履歴管理モジュール、１７０…キーワードインデックス管理モジュール、１８０…形態素解析モジュール、１９１…適合度計算データ抽出モジュール、１９０…照合履歴管理モジュール
【図１】
2008299615.tif 000003
【図２】
2008299615.tif 000004
【図３】
2008299615.tif 000005
【図４】
2008299615.tif 000006
【図５】
2008299615.tif 000007
【図６Ａ】
2008299615.tif 000008
【図６Ｂ】
2008299615.tif 000009
【図７】
2008299615.tif 000010
【図８】
2008299615.tif 000011
【図９】
2008299615.tif 000012
【図１０】
2008299615.tif 000013
【図１１】
2008299615.tif 000014
【図１２】
2008299615.tif 000015
【図１３】
2008299615.tif 000016