(57)【要約】【課題】ユーザのアクセスログを用いてＷｅｂページの類似度を計算する。【解決手段】ＩＳＰにおいて取得されたアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定める。異なる２つのデータをデータｎ，ｍとして、ユーザｉがデータｎにアクセスした順番と、その後ユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求める。ユーザｉがデータｎにアクセスした時刻と、その後ユーザｉがデータｍにアクセスした時刻との差ｔｍａｒｇｉｎ（ｎ，ｍ）を求める。単調減少関数ｆ１に、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を求めることにより、データｎ，ｍについてのアクセスパターンに基づくアクセスパターン類似度αｎ−ｍを求める。【選択図】図１
2010140162.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザによる各データへのアクセスに関するアクセスログが記憶されるアクセスログ記憶部から読み込んだアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定めるアクセス順番付与部と、
異なる２つのデータをデータｎ，ｍとして、ユーザｉがデータｎにアクセスした順番と、その後ユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求めるアクセス順番差計算部と、
ユーザｉがデータｎにアクセスした時刻と、その後ユーザｉがデータｍにアクセスした時刻との差ｔｍａｒｇｉｎ（ｎ，ｍ）を求めるアクセス時刻差計算部と、
アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ１に、上記アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及び上記アクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を求めることにより、データｎ，ｍについてのアクセスパターンに基づくアクセスパターン類似度αｎ−ｍを求めるアクセスパターン類似度計算部と、
を含む類似度計算装置。
【請求項２】
請求項１に記載の類似度計算装置において、
上記アクセスパターン類似度計算部は、
アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ２に、上記アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及び上記アクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を各ユーザｉごとに求める第一統合部と、
上記各計算結果についての単調増加関数ｆ３に上記計算結果を入力した計算結果を求めることにより、上記アクセスパターン類似度αｎ−ｍを求める第二統合部と、
を含むことを特徴とする類似度計算装置。
【請求項３】
請求項２に記載の類似度計算装置において、
セッションを、同一ユーザによるデータへのアクセスの系列であって、そのアクセスの系列においては次のデータにアクセスするまでの時間が予め定められた時間よりも短いアクセスの系列として、
上記アクセス順番差計算部は、ユーザｉがデータｎにアクセスした順番と、その後そのデータｎへのアクセスと同一のセッションにおいてユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求める部であり、
上記アクセス時刻差計算部は、ユーザｉがデータｎにアクセスした時刻と、その後そのデータｎへのアクセスと同一のセッションにおいてユーザｉがデータｍにアクセスした時刻との差ｔｍａｒｇｉｎ（ｎ，ｍ）を求める部であり、
上記第一統合部は、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ２に、上記アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及び上記アクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を、各ユーザｉの各セッションごとに求める部である、
ことを特徴とする類似度計算装置。
【請求項４】
請求項１から３の何れかに記載の類似度計算装置において、
データｎを特定する文字列と、データｍを特定する文字列との距離Ｌｎ−ｍを計算する距離計算部と、
距離Ｌｎ−ｍについての単調減少関数ｆ４に上記距離Ｌｎ−ｍを入力した計算結果を求めることにより、距離類似度βｎ−ｍを求める距離類似度計算部と、
アクセスパターン類似度αｎ−ｍ及び距離類似度βｎ−ｍについての単調増加関数ｆ５に上記アクセスパターン類似度αｎ−ｍ及び上記距離類似度βｎ−ｍを入力した計算結果
を求めることにより、類似度Ｒｎ−ｍを求める類似度統合部と、
を含む類似度計算装置。
【請求項５】
請求項１から請求項４の何れかに記載された類似度計算装置であって、
アクセスパターン類似度αｎ−ｍとアクセスパターン類似度αｍ−ｎとの一方又は両方が所定の第一閾値よりも高い場合、又は、類似度Ｒｎ−ｍと類似度Ｒｍ−ｎとの一方又は両方が所定の第二閾値よりも高い場合に、データｎとデータｍとが類似していると判断する類似決定部を更に含む、
ことを特徴とする類似度計算装置。
【請求項６】
請求項５に記載の類似度計算装置において、
上記データはテキストを含み、
上記データｎのテキストに含まれる各名詞を抽出する第一名詞抽出部と、
上記データｍのテキストに含まれる各名詞を抽出する第二名詞抽出部と、
上記第一名詞抽出部で抽出された名詞と、上記第二名詞抽出部で抽出された名詞とに共通する名詞の数である重複名詞数を計算してコンテンツ類似度γｎ−ｍとする重複名詞数計算部と、を含み、
上記類似決定部は、アクセスパターン類似度αｎ−ｍとアクセスパターン類似度αｍ−ｎとの一方又は両方が所定の第一閾値よりも高くコンテンツ類似度ｒｎ−ｍとコンテンツ類似度ｒｍ−ｎとの一方又は両方が所定の第三閾値よりも高い場合、又は、類似度Ｒｎ−ｍと類似度Ｒｍ−ｎとの一方又は両方が所定の第二閾値よりも高くコンテンツ類似度ｒｎ−ｎとコンテンツ類似度ｒｍ−ｎとの一方又は両方が所定の第三閾値よりも高い場合に、データｎとデータｍとが類似していると判断する部である、
ことを特徴とする類似度計算装置。
【請求項７】
請求項５又は６に記載された類似度計算装置と、
受け取ったクエリーに対応するデータについての情報を取得するデータ情報取得部と、上記クエリーに対応するデータに類似するデータについての情報を上記類似度計算装置から取得する類似データ情報取得部と、上記クエリーに対応するデータについての情報と共に上記類似するデータについての情報を出力する出力部とを含む検索装置と、
を含むデータ検索システム。
【請求項８】
アクセス順番付与部が、各ユーザによる各データへのアクセスに関するアクセスログが記憶されるアクセスログ記憶部から読み込んだアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定めるアクセス順番付与ステップと、
アクセス順番差計算部が、異なる２つのデータをデータｎ，ｍとして、ユーザｉがデータｎにアクセスした順番と、その後ユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求めるアクセス順番差計算ステップと、
アクセス時刻差計算部が、ユーザｉがデータｎにアクセスした時刻と、その後ユーザｉがデータｍにアクセスした時刻との差ｔｍａｒｇｉｎ（ｎ，ｍ）を求めるアクセス時刻差計算ステップと、
アクセスパターン類似度計算ステップが、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ１に、上記アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及び上記アクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を求めることにより、データｎ，ｍについてのアクセスパターンに基づくアクセスパターン類似度αｎ−ｍを求めるアクセスパターン類似度計算ステップと、
を含む類似度計算方法。
【請求項９】
請求項８に記載の類似度計算方法の各ステップと、
類似決定部が、アクセスパターン類似度αｎ−ｍとアクセスパターン類似度αｍ−ｎとの一方又は両方が所定の第一閾値よりも高い場合、又は、類似度Ｒｎ−ｍと類似度Ｒｍ−ｎとの一方又は両方が所定の第二閾値よりも高い場合に、データｎとデータｍとが類似していると判断する類似度決定ステップと、
出力部が、上記クエリーに対応するデータについての情報と共に上記類似するデータについての情報を出力する出力ステップと、
データ情報取得部が、受け取ったクエリーに対応するデータについての情報を取得するデータ情報取得ステップと、
類似データ情報取得部が、上記クエリーに対応するデータに類似するデータについての情報を取得する類似データ情報取得ステップと、
を含むデータ検索方法。
【請求項１０】
請求項１から６の何れかに記載の類似度計算装置としてコンピュータを機能させるための類似度計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、２つのデータが互いにどの程度類似しているのかを表す指標である類似度を計算する技術、及び、その類似度を用いてユーザに有意な検索結果を提供する技術に関する。
【背景技術】
【０００２】
２つのＷｅｂページが互いにどの程度類似しているのかを表す指標である類似度を計算する技術として、非特許文献１に記載された技術が知られている。
非特許文献１に記載された技術では、ＷｅｂページＡのリンク構造とＷｅｂページＢのリンク構造とをそれぞれ抽出して、両リンク構造が近いほど高い類似度をＷｅｂページＡ，Ｂの類似度として与える。
【非特許文献１】栗原聡，外３名，「リンク情報によるＷｅｂページ間の類似度推定」，コンピュータソフトウェア，日本ソフトウェア科学会，２００１年１１月２２日，Vol.18，No.6，ｐ．１５−２６
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記非特許文献１の技術は、それらのＷｅｂページＡ，Ｂに実際にアクセスしたユーザの行動を考慮せずに類似度を定めている。
この発明は、Ｗｅｂページ等のデータに実際にアクセスしたユーザの行動を考慮して類似度を計算する類似度計算装置、方法及びプログラム、その類似を用いてユーザに有意な検索結果を提供するデータ検索システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
この発明による類似度計算装置は、各ユーザによる各データへのアクセスに関するアクセスログが記憶されるアクセスログ記憶部から読み込んだアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定めるアクセス順番付与部と、異なる２つのデータをデータｎ，ｍとして、ユーザｉがデータｎにアクセスした順番と、その後ユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求めるアクセス順番差計算部と、ユーザｉがデータｎにアクセスした時刻と、その後ユーザｉがデータｍにアクセスした時刻との差ｔｍａｒｇｉｎ（ｎ，ｍ）を求めるアクセス時刻差計算部と、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ１に、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を求めることにより、データｎ，ｍについてのアクセスパターンに基づくアクセスパターン類似度αｎ−ｍを求めるアクセスパターン類似度計算部とを含む。
【０００５】
この発明による類似度計算装置は、アクセスパターン類似度αｎ−ｍとアクセスパターン類似度αｍ−ｎとの一方又は両方が所定の第一閾値よりも高い場合、又は、類似度Ｒｎ−ｍと類似度Ｒｍ−ｎとの一方又は両方が所定の第二閾値よりも高い場合に、データｎとデータｍとが類似していると判断する類似決定部を更に含んでいてもよい。
【０００６】
この発明によるデータ検索装置は、類似度計算装置と、検索装置とを含み、検索装置は、受け取ったクエリーに対応するデータについての情報を取得するデータ情報取得部と、クエリーに対応するデータに類似するデータについての情報を類似度計算装置から取得する類似データ情報取得部と、クエリーに対応するデータについての情報と共に類似するデータについての情報を出力する出力部とを含む。
【発明の効果】
【０００７】
各ユーザによる各データへのアクセスに関するアクセスログを参照することにより求まるアクセス順番差及びアクセス時刻差に基づいて類似度を計算することにより、データに実際にアクセスしたユーザの行動を考慮して類似度を計算することができる。
【発明を実施するための最良の形態】
【０００８】
［類似度計算装置及び方法］
この発明による類似度計算装置及び方法の一実施形態を説明する。図１は類似度計算装置を例示する機能ブロック図であり、図４は類似度計算方法を例示するフローチャートである。
【０００９】
類似度計算装置及び方法は、２つのデータの類似度を計算する。「データ」とは、Ｗｅｂページ、画像データ、音データ、動画データ、任意のアプリケーションが用いるデータ等の情報であり、その情報を特定するための文字列が定められているものを意味する。データがＷｅｂページである場合には、ＵＲＬ（Uniform Resource Locator）が、Ｗｅｂページを特定するための文字列に該当する。また、データがＷｅｂページ以外の他のデータの場合には、そのデータのファイル名等がそのデータを特定するための文字列に該当する。以下では、データがＷｅｂページである場合を例にあげて説明する。すなわち、以下に述べる類似度計算装置１００及び方法は、２つのＷｅｂページの類似度を計算する。
【００１０】
アクセスログ記憶部１には、各ユーザによる各データへのアクセスに関するアクセスログが記憶される。アクセスログは、後述するアクセス順番差及びアクセス時刻差を計算することができるものであればどのようなものでもよい。例えば、アクセスログの各行は、アクセスしたユーザを特定するための情報（ユーザＩＤ、ユーザグループＩＤ等）、アクセスされたデータを特定するための情報（ＵＲＬ等）、ユーザがデータにアクセスした時刻についての情報を少なくとも含む。
【００１１】
具体的には、インターネットサービスプロバイダ（Internet Service Provider）において、その加入者がインターネットに接続する際に自動的に取られるアクセスログを用いることができる。アクセス順番差及びアクセス時刻差を計算するための基となるアクセスログとして、企業、学校等のプロキシサーバで自動的に取られるアクセスログを用いてもよい。また、データがファイルサーバに格納されたファイルである等の場合には、そのファイルサーバにユーザが接続した際に自動的に取られるアクセスログを用いてもよい。
【００１２】
ユーザは、１名のユーザであってもよいし、複数のユーザからなるユーザ（換言すれば、ユーザグループ）であってもよい。すなわち、アクセスログ記憶部１に記憶されたアクセスログは、複数のユーザからのアクセスを同一のユーザ（ユーザグループ）からのアクセスとして記憶したものであってもよい。
【００１３】
類似度計算装置１００は、アクセスログ記憶部１を有していてもよいし、有していなくてもよい。すなわち、類似度計算装置１００は、アクセスログが記憶されているサーバ等の類似度計算装置１００の外部に配置されたアクセスログ記憶部１にアクセス可能であれば足りる。
【００１４】
アクセス順番付与部２は、アクセスログ記憶部１から読み込んだアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定める（ステップＳ１）。アクセスした順番（アクセス順番とも呼ぶ。）に関する情報は、アクセス順番差計算部３に送られる。アクセス順番は、図１０に示すアクセスパターンファイルのように例えば記述される。
【００１５】
アクセス順番付与部２の処理の例を図５を参照して説明する。アクセス順番付与部２は、アクセスパターンファイルをまだ作成していないユーザのアクセスログを読み込む（ステップＳ１２）。例えば、アクセスログが行ごとに取られている場合には、アクセスログ記憶部１の記憶されたアクセスログのうち、そのユーザのアクセスに関する行をすべて抽出して、それらを結合することによりそのユーザのアクセスログファイルを作成する。ユーザが使用する端末に割り振られたＩＰアドレス又はそのハッシュ値でユーザ表現されている場合には、ユーザのＩＰアドレス又はそのハッシュ値をキーとして行の抽出を例えば行う。
【００１６】
なお、アクセス頻度計算部１０が、アクセスログ記憶部１から読み込んだアクセスログから、各データがアクセスされた頻度を計算して、所定の回数以上アクセスされているページのみアクセス順番付与部２に送られるようにしてもよい（ステップＳ１１）。すなわち、アクセス回数が所定の回数より小さいデータについては類似度判定の対象から外すようにしてもよい。例えば、アクセスログが行ごとに取られている場合には、アクセスログ記憶部１の記憶されたアクセスログのうち、所定の回数以上アクセスされているデータに関する行のみがアクセス頻度計算部１０により抽出されるようにする。
【００１７】
アクセス順番付与部２のセッション分割部２１は、ユーザのデータへのアクセス系列をセッションに分割する（ステップＳ１３）。セッションとは、同一ユーザによるデータへのアクセスの系列であって、そのアクセスの系列においては次のデータにアクセスするまでの時間が予め定められた時間よりも短いアクセスの系列のことを意味する。セッション分割部２１は、ユーザがあるデータにアクセスした時刻と次のデータにアクセスした時刻との時刻差が所定の閾値Ｔｈｓｅｓｓｉｏｎを超えたかどうかを判定して、その時刻差が閾値Ｔｈｓｅｓｓｉｏｎを超えている場合には、そのあるデータへのアクセスと、その次のデータへのアクセスとの間でセッションが分かれたと判断することにより、セッション分割を行う。
【００１８】
アクセス順番付与部２は、各セッションごとにアクセス順番を付与する。すなわち、アクセス順番付与部２は、アクセス順番をまだ付与していないセッションを選択して、そのセッションにアクセス順番を付与する（ステップＳ１４）。例えば、そのセッションにおける最初のアクセスにアクセス番号「０００００１」を付与し、そのセッションにおけるその後の各アクセスに順次１を足したアクセス番号を付与する。そして、すべてのセッションにアクセス順番を付与したかどうかを判定して（ステップＳ１６）、すべてのセッションにアクセス順番を付与するまでステップＳ１４の処理を繰り返す。これにより、図１０に例示するアクセスパターンファイルを作成する。なお、アクセス順番付与部２の経過時間付与部２２が、ステップＳ１４の後に、各アクセスに、セッション開始時刻からの経過時間を付与してもよい（ステップＳ１５）。
【００１９】
その後、アクセス順番付与部２は、すべてのユーザのそれぞれについてのアクセスパターンファイルを作成したかを判定して、作成されていない場合にはステップＳ１２の処理に戻る。すべてのユーザのそれぞれについてのアクセスパターンファイルが作成された場合には、類似度計算装置は、ステップＳ１の処理を終えて、ステップＳ２（図４）の処理に進む。
【００２０】
アクセス順番差計算部３は、異なる２つのデータをデータｎ，ｍとして、上記決定されたアクセス順番を用いて、ユーザｉ（ｉ＝１，…，Ｉ、Ｉはユーザの総数）がデータｎにアクセスした順番と、その後ユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求める（ステップＳ２、図４）。例えば、アクセスログ記憶部１に記憶されたアクセスログに登場するユーザの総数がＩとなる。この例のように、アクセス順番がセッ
ションごとに付与されている場合には、アクセス順番差計算部３は、ユーザｉがデータｎにアクセスした順番と、その後そのデータｎへのアクセスと同一のセッションにおいてユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求める。これにより、各ユーザの各セッションごとにアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）を計算する。計算されたアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）についての情報は、アクセスパターン類似度計算部５に送られる。
【００２１】
アクセス順番差計算部３の処理の具体例を図６を参照して説明する。アクセス順番差計算部３は、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）を計算していないユーザを選択する（ステップＳ２１）。その選択されたユーザをユーザｉと表現する。
【００２２】
アクセス順番差計算部３は、ユーザｉのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）を計算していないセッションを選択して、アクセス順番付与部２が付与したアクセス順番に基づいて、そのセッションにおいて、ユーザｉがデータｎにアクセスした順番と、その後ユーザｉがデータｍにアクセスした順番との差Ｎｌｉｓｔ（ｎ，ｍ）を求める（ステップＳ２２）。図１１のアクセスパターン１に例示するように、データｎがhttp://aaa.bbb.com/content01.htmlでありそのアクセス順番が１であり、データｍがhttp://aaa.bbb.com/content02.htmlでありそのアクセス順番が１００である場合には、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）＝１００−１＝９９となる。
【００２３】
ユーザｉのすべてのセッションにおけるアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）を計算したかどうかを判定することにより（ステップＳ２３）、ユーザｉの各セッションにおけるアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）が計算されるまでステップＳ２２の処理を繰り返す。
【００２４】
アクセス順番差計算部３は、すべてのユーザにおいてアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）を計算したかどうかを判定する（ステップＳ２４）。計算していない場合には、ステップＳ２１の処理に戻る。すべてのユーザにおいてアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）が計算された場合には、ステップＳ３の処理に進む。
【００２５】
アクセス時刻差計算部４は、上記アクセスログを用いて、ユーザｉがデータｎにアクセスした時刻と、その後ユーザｉがデータｍにアクセスした時刻との差ｔｍａｒｇｉｎ（ｎ，ｍ）を求める（ステップＳ３）。計算されたアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）は、アクセスパターン類似度計算部５に送られる。
【００２６】
アクセス時刻差計算部４の処理の具体例を図７を参照して説明する。アクセス順番差計算部３は、アクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を計算していないユーザを選択する（ステップＳ３１）。その選択されたユーザをユーザｉと表現する。
【００２７】
アクセス時刻差計算部４は、ユーザｉのアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を計算していないセッションを選択して、そのセッションにおいて、ユーザｉがデータｎにアクセスした時刻と、その後ユーザｉがデータｍにアクセスした時刻との差であるアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を求める（ステップＳ３２）。アクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）は、アクセスログ記憶部１から読み込んだアクセスログを参照して求めてもよいし、ステップＳ１５（図５）において各アクセスにセッション開始時刻からの経過時間が付与されている場合にはそのセッション開始時刻からの経過時間を参照して求めてもよい。
【００２８】
ユーザｉのすべてのセッションにおけるアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を計算したかどうかを判定することにより（ステップＳ３３）、ユーザｉの各セッションにお
けるアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）が計算されるまでステップＳ３２の処理を繰り返す。
【００２９】
アクセス順番差計算部３は、すべてのユーザにおいてアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を計算したかどうかを判定する（ステップＳ３４）。計算していない場合には、ステップＳ３１の処理に戻る。すべてのユーザにおいてアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）が計算された場合には、ステップＳ４の処理に進む。
【００３０】
なお、ステップＳ２２及びステップＳ３２において、同一のセッションにおいて、データｎ及びデータｍが複数存在する場合には、同一セッションにおける、データｎとそのデータｎの後にアクセスされたデータｍとのすべての組み合わせのそれぞれについてのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）が計算される。すなわち、同一セッション内に図１２に例示されるようにデータｎ及びデータｍがある場合には、アクセス順番１のデータｎからアクセス順番２のデータｍについてのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）、アクセス順番１のデータｎからアクセス順番４のデータｍについてのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）、アクセス順番３のデータｎからアクセス順番４のデータｍについてのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）がそれぞれ計算される。
【００３１】
アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）は、データｎとデータｍとの関連性の高さを表す指標となり得る。すなわち、図１１のアクセスパターン１のようにアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）が大きい場合にはデータｎとデータｍとは関連性が低いと判断することができ、一方図１１のアクセスパターン２のようにアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）が小さい場合にはデータｎとデータｍとは関連性が高いと判断することができる。
【００３２】
アクセスパターン類似度計算部５は、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ１に、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を求めることにより、データｎ，ｍについてのアクセスパターンに基づくアクセスパターン類似度αｎ−ｍを求める（ステップＳ４）。単調減少関数ｆ１は、後述する単調減少関数ｆ２と単調増加関数ｆ３との合成関数として例えば与えられる。
【００３３】
ここで、単調減少関数とは、任意のｘ１，ｘ２（ただし、ｘ１＜ｘ２）に対して、ｆ（ｘ１）≧ｆ（ｘ２）となる関数ｆのことを意味する。同様に、単調増加関数とは、任意のｘ１，ｘ２（ただし、ｘ１＜ｘ２）に対して、ｆ（ｘ１）≦ｆ（ｘ２）となる関数ｆのことを意味する。
【００３４】
まず、アクセスパターン類似度計算部５の第一統合部５１は、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）についての単調減少関数ｆ２に、アクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を入力した計算結果を求める。Ａを所定の正の実数、ｅをネピア数として、ｆ２は次式のように例えば与えられる。
【００３５】
【数１】
2010140162.tif 000003
【００３６】
この例のように、各ユーザの各セッションごとにアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を計算している場合には、各ユーザの各セッションごとのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を用いて、上記の計算結果をそれぞれ求める。また、同一のセッションにおいて２以上のアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）が計算されている場合には、それぞれのアクセス順番差Ｎｌｉｓｔ（ｎ，ｍ）及びアクセス時刻差ｔｍａｒｇｉｎ（ｎ，ｍ）を用いて、上記の計算結果をそれぞれ求める。計算結果は、アクセスパターン類似度計算部５の第二統合部５２に送られる。
【００３７】
第二統合部５２は、上記各計算結果についての単調増加関数ｆ３に上記計算結果を入力した計算結果を求めることにより、アクセスパターン類似度αｎ−ｍを求める。例えば、上記各計算結果を加算した値をアクセスパターン類似度αｎ−ｍとする。また、上記各計算結果の最大値をアクセスパターン類似度αｎ−ｍとしてもよい。最大値を用いた場合には、あるユーザの特異なアクセスパターンを基に、データ間の隠れたつながりも考慮に入れた類似ページ判定を行うことができる。
【００３８】
このようにして求められるアクセスパターン類似度αｎ−ｍは、各ユーザのデータｎ，ｍへのアクセスログのみから計算されており、データに実際にアクセスしたユーザの行動が考慮されている。また、データｎ，ｍの中身を考慮するという比較的重い処理を行わずに類似度を計算することができるという有利な効果がある。
【００３９】
上記の例では、アクセス順番付与部２は、ユーザｉのアクセス系列をセッションに分割してセッションごとにアクセス順番を付与した。しかし、セッション分割しないで、ユーザｉのアクセス系列を構成する各アクセスに対して順次１づつ増えるアクセス順番を付与してもよい。
なお、データを特定する文字列の距離に基づく距離類似度を考慮して、データｎ，ｍの類似度を求めてもよい。
【００４０】
距離計算部６１（図１）は、データｎを特定する文字列と、データｍを特定する文字列との距離Ｌｎ−ｍを計算する（ステップＳ５１、図８）。計算された距離Ｌｎ−ｍは、距離類似度計算部６２に送られる。データを特定する文字列とは、データがＷｅｂページである場合には、ＵＲＬ（Uniform Resource Locator）である。距離Ｌｎ−ｍとしては、例えばレーベンシュタイン距離を採用する（例えば、参考文献１参照。）。
［参考文献１］［平成２０年１２月４日検索］、インターネット＜ＵＲＬ：http://en.wikipedia.org/wiki/Levenshtein_distance＞
レーベンシュタイン距離は、一方の文字列に対して文字の付加、削除及び置換を何回行うことにより他方の文字列を構成することができるかに基づいて、両文字列間の距離を定義する。その文字の付加、削除及び置換の回数が両文字列間の距離となる。
【００４１】
例えば、図１３の文字列類似パターン１においては、文字列「http://aaa.bbb.com/content01.html」の文字「1」を文字「2」に変換することにより、すなわち１回の置換により、文字列「http://aaa.bbb.com/content02.html」を構成することができる。したがって、文字列類似パターン１における両文字列のレーベンシュタイン距離は１となる。
【００４２】
また、図１３の文字列類似パターン２においては、文字列「http://aaa.bbb.com/content01.html」の、文字「c」を文字「a」に、文字「o」を文字「a」に、文字「n」を文字「a」に置換して、文字「t」「e」「n」「t」「0」「1」を削除することにより、すなわち３回の置換と６回の削除により、文字列「http://aaa.bbb.com/aaa.html」を構成するこ
とができる。したがって、文字列類似パターン２における両文字列のレーベンシュタイン距離は９となる。
【００４３】
距離類似度計算部６２は、距離Ｌｎ−ｍについての単調減少関数ｆ４に上記計算された距離Ｌｎ−ｍを入力した計算結果を求めることにより、距離類似度βｎ−ｍを求める（ステップＳ５２）。求まった距離類似度βｎ−ｍは、類似度統合部７に送られる。Ｂを所定の正の実数、ｅをネピア数として、ｆ４は次式のように例えば与えられる。
【００４４】
【数２】
2010140162.tif 000004
【００４５】
類似度統合部７は、アクセスパターン類似度αｎ−ｍ及び距離類似度βｎ−ｍについての単調増加関数ｆ５に上記類似度αｎ−ｍ及び上記距離類似度βｎ−ｍを入力した計算結果を求めることにより、類似度Ｒｎ−ｍを求める（ステップＳ７、図４）。ｋα、ｋβを所定の正の実数として、ｆ５は次式のように例えば与えられる。例えば、ｋα＝ｋβ＝１である。
【００４６】
【数３】
2010140162.tif 000005
【００４７】
このように、データを特定する文字列の距離に基づく距離類似度を考慮して、データｎ，ｍの類似度を求めてもよい。
なお、データｎのコンテンツ及びデータｍのコンテンツの類似度を考慮して、データｎ，ｍの類似度を求めてもよい。例えば、データｎ，ｍのそれぞれがテキストを含む場合には、次のようにして、コンテンツの類似度を考慮する。
【００４８】
第一名詞抽出部７１が、データｎのテキストに含まれる各名詞を抽出する。データがＷｅｂページである場合には、データｎのソースから<body>タグで囲まれた文字列を取得して、ＨＴＭＬタグを消去する。そして、Ｎを所定の正の整数として、先頭Ｎ文字を取得する。先頭Ｎ文字に対して形態素解析を実施して、その先頭Ｎ文字に含まれる各名詞を抽出する。抽出された名詞は、重複名詞数計算部７３に送られる。
【００４９】
第二名詞抽出部７２は、第一名詞抽出部７１と同様にしてデータｍのテキストに含まれる各名詞を抽出する。抽出された名詞は、重複名詞数計算部７３に送られる。
重複名詞数計算部７３は、第一名詞抽出部７１で抽出された名詞と、第二名詞抽出部７２で抽出された名詞とに共通する名詞の数である重複名詞数を計算してコンテンツ類似度γｎ−ｍとする。計算されたコンテンツ類似度γｎ−ｍは、類似度統合部７に送られる。
【００５０】
類似度統合部７は、アクセスパターン類似度αｎ−ｍ、距離類似度βｎ−ｍ及びコンテンツ類似度γｎ−ｍについての単調増加関数ｆ６に、計算されたアクセスパターン類似度αｎ−ｍ、計算された距離類似度βｎ−ｍ及び計算されたコンテンツ類似度γｎ−ｍを入力した計算結果を求めることにより、類似度Ｒｎ−ｍを求める。
【００５１】
例えば、αｎ−ｍ＋βｎ−ｍが所定の閾値Ｔｈ３以上であり、かつ、コンテンツ類似度γｎ−ｍも所定の閾値Ｔｈ４以上の場合に、類似度Ｒｎ−ｍ＝αｎ−ｍ＋βｎ−ｍとし、
そうでない場合に類似度Ｒｎ−ｍ＝０とする。これにより、同一主題について書かれた一連のデータ等についての類似度を高くすることができる。
【００５２】
アクセスパターン類似度αｎ−ｍ又は類似度Ｒｎ−ｍが所定の閾値以上であるかどうかを判断する類似決定部８を設けてもよい。類似決定部８は、アクセスパターン類似度αｎ−ｍ又は類似度Ｒｎ−ｍが所定の閾値以上であれば、データｎ，ｍは類似であると判断してその旨を表す情報を出力する。類似決定部８は、そうでなければ、データｎ，ｍは類似であないと判断してその旨を表す情報を出力する。
【００５３】
また、類似決定部８は、アクセスパターン類似度αｎ−ｍ又は類似度Ｒｎ−ｍが所定の閾値Ｔｈ１以上であり、かつ、アクセスパターン類似度αｍ−ｎ又は類似度Ｒｍ−ｎが所定の閾値Ｔｈ２以上である場合に、データｎ，ｍは類似であると判断してその旨を表す情報を出力してもよい。閾値Ｔｈ１と閾値Ｔｈ２とは必ずしも一致していなくてもよい。
【００５４】
すなわち、類似度決定部８は、類似度αｎ−ｍと類似度αｍ−ｎとの一方又は両方が所定の第一閾値よりも高い場合、又は、類似度Ｒｎ−ｍと類似度Ｒｍ−ｎとの一方又は両方が所定の第二閾値よりも高い場合に、データｎとデータｍとが類似していると判断してもよい
さらに、類似決定部８は、類似度αｎ−ｍと類似度αｍ−ｎとの一方又は両方が所定の第一閾値よりも高くコンテンツ類似度ｒｎ−ｍとコンテンツ類似度ｒｍ−ｎとの一方又は両方が所定の第三閾値よりも高い場合、又は、類似度Ｒｎ−ｍと類似度Ｒｍ−ｎとの一方又は両方が所定の第二閾値よりも高くコンテンツ類似度ｒｎ−ｎとコンテンツ類似度ｒｍ−ｎとの一方又は両方が所定の第三閾値よりも高い場合に、データｎとデータｍとが類似していると判断してもよい。
【００５５】
この例では、異なる２つのデータの組み合わせのひとつであるデータｎ，ｍについてのアクセスパターン類似度αｎ−ｍ又は類似度Ｒｎ−ｍを計算したが、アクセスログに含まれる異なる２つのデータのすべての組み合わせのそれぞれについて類似度を計算して、類似であるか否かの決定を行ってもよい。その際、アクセスパターン類似度αｎ−ｍ又は類似度Ｒｎ−ｍと、アクセスパターン類似度αｍ−ｎ又は類似度Ｒｍ−ｎとは必ずしも一致しないため、データｎからデータｍへのアクセスパターン類似度αｎ−ｍ又は類似度Ｒｎ−ｍのみならず、データｍからデータｎへのアクセスパターン類似度αｍ−ｎ又は類似度Ｒｍ−ｎも計算して、類似であるか否かの決定を行ってもよい。
【００５６】
［データ検索システム及び方法］
この発明によるデータ検索システム及び方法の一実施例を図３及び図９を参照して説明する。図３はデータ検索システムを例示するブロック図、図９はデータ検索方法を例示するフローチャートである。
検索装置２００の入力部２０１は、ユーザ端末３００から、検索ワード等のクエリーを取得する（ステップＡ１）。ユーザ端末３００は、例えば携帯電話等の情報端末機器、パーソナルコンピュータである。
【００５７】
検索装置２００のデータ情報取得部２０２は、受け取ったクエリーに対応するデータについての情報を取得する（ステップＡ２）。取得された情報は、類似データ情報取得部２０３に送られる。例えば、データがＷｅｂページである場合には、クエリーである検索ワードを含むＷｅｂページを任意のＷｅｂページ検索技術を用いて取得する。検索装置２００は、外部の検索エンジン４００（例えば、goo（登録商標））を用いてクエリーに対応するデータについての情報を取得してもよいし、内部に検索エンジン機能を有する場合にはその内部の検索エンジン機能を用いてクエリーに対応するデータについての情報を取得してもよい。
【００５８】
類似データ情報取得部２０３は、クエリーに対応するデータに類似するデータについての情報を類似度計算装置１００から取得する（ステップＡ３）。
【００５９】
例えば、類似度計算装置１００は、アクセスログに含まれる異なる２つのデータｎ，ｍのすべての組み合わせのそれぞれについて類似度を計算して、類似決定部８でデータｎ，ｍの組み合わせのそれぞれが類似するかどうかを決定しておく。検索装置２００は、クエリーに対応するデータについての情報を類似度計算装置１００に送る。類似度計算装置１００は、そのクエリーに対応するデータに類似するデータについての情報を検索装置２００に送り、類似データ情報取得部２０３がその情報を取得する。
【００６０】
検索装置２００の出力部２０４は、クエリーに対応するデータについての情報と共に、そのクエリーに対応するデータに類似するデータついての情報をユーザ端末３００に出力する（ステップＡ４）。
【００６１】
図１４は、データがＷｅｂページである場合に、出力部２０４からユーザ端末３００に提供される情報により、ユーザ端末３００のディスプレイに表示される画面の例である。この例のように、検索結果が上位のＷｅｂページのそれぞれについての類似ページについての情報が例えばユーザ端末３００に提供される。
また、クエリーに対応するデータについての類似データが複数ある場合には、複数の類似データをユーザ端末３００に提供してもよい。さらに、類似データ情報取得部２０３は、取得した類似データについての情報を類似度計算装置１００に送り、その類似データに類似するデータについての情報を更に取得して、ユーザ端末３００に提供してもよい。
【００６２】
検索装置２００と類似度計算装置１００との間の通信、検索装置２００と外部検索エンジンとの間の通信のプロトコルはＰＯＳＴ等の一般に公開されているプロトコルを用いることができる。また、フォーマットについても一般に公開されているＸＭＬ、ＨＴＭＬ、構造化されている表等の形式を用いることができる。
【００６３】
上述の構成をコンピュータによって実現する場合、類似度計算装置の各部が有する機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各部の機能がコンピュータ上で実現される。
【００６４】
すなわち、ＣＰＵがプログラムを逐次読み込んで実行することにより、アクセス順番付与部２、セッション分割部２１、経過時間付与部２２、アクセス順番差計算部３、アクセス時間差計算部４、アクセスパターン類似度計算部５、第一統合部５１、第二統合部５２、距離計算部６１、距離類似度計算部６２、類似度統合部７、第一名詞抽出部７１、第二名詞抽出部７２、重複名詞数計算部７３、類似決定部８のそれぞれが実現される。また、補助記憶装置又はメモリが、アクセスログ記憶部１として機能する。
【００６５】
類似度計算装置の各部として機能するＣＰＵは、メモリ又は補助記憶装置から読み込み込んだデータに対して処理を行い、処理を行った後のデータをメモリ又は補助記憶装置に格納する。すなわち、メモリ又は補助記憶装置を介して類似度計算装置の各部間でデータがやり取りされる。
【００６６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００６７】
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を基底する性質を有するデータ等）を含むものとする。
【００６８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【図面の簡単な説明】
【００６９】
【図１】類似度計算装置を例示する機能ブロック図。
【図２】アクセスパターン類似度計算部を例示する機能ブロック図。
【図３】検索システムを例示する機能ブロック図。
【図４】類似度計算方法を例示するフローチャート。
【図５】ステップＳ１の例のフローチャート。
【図６】ステップＳ２の例のフローチャート。
【図７】ステップＳ３の例のフローチャート。
【図８】ステップＳ５の例のフローチャート。
【図９】検索方法を例示するフローチャート。
【図１０】アクセスパターンテーブルを例示する図。
【図１１】アクセスパターン類似度を説明するための図。
【図１２】同一のセッションにデータｎ，ｍの組み合わせが複数登場する場合の計算について説明するための図。
【図１３】ユーザに提供される情報を例示する図。
【図１４】レーベンシュタイン距離を説明するための図。
【符号の説明】
【００７０】
１     アクセスログ記憶部
２     アクセス順番付与部
３     アクセス順番差計算部
４     アクセス時刻差計算部
５     アクセスパターン類似度計算部
５１   第一統合部
５２   第二統合部
６１   距離計算部
６２   距離類似度計算部
７     類似度統合部
７１   第一名詞抽出部
７２   第二名詞抽出部
７３   重複名詞数計算部
８     類似決定部
１０   アクセス頻度計算部
１００ 類似度計算装置
２００ 検索装置
２０１ 入力部
２０２ データ情報取得部
２０３ 類似データ情報取得部
２０４ 出力部
【図１】
2010140162.tif 000006
【図２】
2010140162.tif 000007
【図３】
2010140162.tif 000008
【図４】
2010140162.tif 000009
【図５】
2010140162.tif 000010
【図６】
2010140162.tif 000011
【図７】
2010140162.tif 000012
【図８】
2010140162.tif 000013
【図９】
2010140162.tif 000014
【図１０】
2010140162.tif 000015
【図１１】
2010140162.tif 000016
【図１２】
2010140162.tif 000017
【図１３】
2010140162.tif 000018
【図１４】
2010140162.tif 000019