JP5324903B2 - Similarity calculation apparatus, method and program, data search system and method - Google Patents
Similarity calculation apparatus, method and program, data search system and method Download PDFInfo
- Publication number
- JP5324903B2 JP5324903B2 JP2008314498A JP2008314498A JP5324903B2 JP 5324903 B2 JP5324903 B2 JP 5324903B2 JP 2008314498 A JP2008314498 A JP 2008314498A JP 2008314498 A JP2008314498 A JP 2008314498A JP 5324903 B2 JP5324903 B2 JP 5324903B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- access
- similarity
- unit
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明は、2つのデータが互いにどの程度類似しているのかを表す指標である類似度を計算する技術、及び、その類似度を用いてユーザに有意な検索結果を提供する技術に関する。 The present invention relates to a technique for calculating a similarity that is an index indicating how similar two data are to each other, and a technique for providing a significant search result to a user using the similarity.
2つのWebページが互いにどの程度類似しているのかを表す指標である類似度を計算する技術として、非特許文献1に記載された技術が知られている。
非特許文献1に記載された技術では、WebページAのリンク構造とWebページBのリンク構造とをそれぞれ抽出して、両リンク構造が近いほど高い類似度をWebページA,Bの類似度として与える。
In the technique described in
上記非特許文献1の技術は、それらのWebページA,Bに実際にアクセスしたユーザの行動を考慮せずに類似度を定めている。
この発明は、Webページ等のデータに実際にアクセスしたユーザの行動を考慮して類似度を計算する類似度計算装置、方法及びプログラム、その類似を用いてユーザに有意な検索結果を提供するデータ検索システム及び方法を提供することを目的とする。
The technique of
The present invention relates to a similarity calculation device, method, and program for calculating similarity in consideration of a user's action that actually accesses data such as a web page, and data that provides a significant search result to the user using the similarity. It is an object to provide a search system and method.
この発明の一態様による類似度計算装置は、各ユーザによる各データへのアクセスに関するアクセスログが記憶されるアクセスログ記憶部から読み込んだアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定めるアクセス順番付与部と、異なる2つのデータをデータn,mとして、ユーザiがデータnにアクセスした順番と、その後ユーザiがデータmにアクセスした順番との差Nlist(n,m)を求めるアクセス順番差計算部と、ユーザiがデータnにアクセスした時刻と、その後ユーザiがデータmにアクセスした時刻との差tmargin(n,m)を求めるアクセス時刻差計算部と、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f1に、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)を入力した計算結果を求めることにより、データn,mについてのアクセスパターンに基づくアクセスパターン類似度αn−mを求めるアクセスパターン類似度計算部とを含み、アクセスパターン類似度α n−m とアクセスパターン類似度α m−n との両方が所定の閾値よりも高い場合に、データnとデータmとが類似していると判断する類似決定部を更に含む。 The similarity calculation apparatus according to an aspect of the present invention uses an access log read from an access log storage unit in which an access log related to access to each data by each user is used, and each data accessed by each user is The difference N list between the order of access by the user and the order in which the user i accesses the data n, and the order in which the user i accesses the data m thereafter, with the two different data as data n and m. An access order difference calculating unit for obtaining (n, m), and an access time difference for obtaining a difference t margin (n, m) between a time when user i accesses data n and a time when user i subsequently accesses data m a calculation unit, the access order difference n list (n, m) and access time difference t margin (n, m) for Monotonically decreasing function f 1, the access order difference N list (n, m) and access time difference t margin (n, m) by obtaining a calculation result of entering the access pattern based on the access pattern of the data n, m look including an access pattern similarity calculation section for obtaining the similarity alpha n-m, when both the access pattern similarity alpha n-m and access pattern similarity alpha m-n is higher than a predetermined threshold value, the data A similarity determining unit that determines that n and data m are similar is further included .
この発明によるデータ検索装置は、類似度計算装置と、検索装置とを含み、検索装置は、受け取ったクエリーに対応するデータについての情報を取得するデータ情報取得部と、クエリーに対応するデータに類似するデータについての情報を類似度計算装置から取得する類似データ情報取得部と、クエリーに対応するデータについての情報と共に類似するデータについての情報を出力する出力部とを含む。 A data search device according to the present invention includes a similarity calculation device and a search device. The search device is similar to data corresponding to a query and a data information acquisition unit that acquires information about data corresponding to the received query. A similar data information acquisition unit that acquires information about the data to be obtained from the similarity calculation device, and an output unit that outputs information about the similar data together with information about the data corresponding to the query.
各ユーザによる各データへのアクセスに関するアクセスログを参照することにより求まるアクセス順番差及びアクセス時刻差に基づいて類似度を計算することにより、データに実際にアクセスしたユーザの行動を考慮して類似度を計算することができる。 By calculating the similarity based on the access order difference and access time difference obtained by referring to the access log related to the access to each data by each user, the similarity is considered in consideration of the action of the user who actually accesses the data. Can be calculated.
[類似度計算装置及び方法]
この発明による類似度計算装置及び方法の一実施形態を説明する。図1は類似度計算装置を例示する機能ブロック図であり、図4は類似度計算方法を例示するフローチャートである。
[Similarity Calculation Apparatus and Method]
An embodiment of a similarity calculation apparatus and method according to the present invention will be described. FIG. 1 is a functional block diagram illustrating a similarity calculation device, and FIG. 4 is a flowchart illustrating a similarity calculation method.
類似度計算装置及び方法は、2つのデータの類似度を計算する。「データ」とは、Webページ、画像データ、音データ、動画データ、任意のアプリケーションが用いるデータ等の情報であり、その情報を特定するための文字列が定められているものを意味する。データがWebページである場合には、URL(Uniform Resource Locator)が、Webページを特定するための文字列に該当する。また、データがWebページ以外の他のデータの場合には、そのデータのファイル名等がそのデータを特定するための文字列に該当する。以下では、データがWebページである場合を例にあげて説明する。すなわち、以下に述べる類似度計算装置100及び方法は、2つのWebページの類似度を計算する。
The similarity calculation apparatus and method calculates the similarity between two data. “Data” refers to information such as a web page, image data, sound data, moving image data, data used by an arbitrary application, and the like, and means a character string for specifying the information. When the data is a Web page, a URL (Uniform Resource Locator) corresponds to a character string for specifying the Web page. When the data is other data than the web page, the file name of the data corresponds to a character string for specifying the data. Hereinafter, a case where the data is a Web page will be described as an example. That is, the
アクセスログ記憶部1には、各ユーザによる各データへのアクセスに関するアクセスログが記憶される。アクセスログは、後述するアクセス順番差及びアクセス時刻差を計算することができるものであればどのようなものでもよい。例えば、アクセスログの各行は、アクセスしたユーザを特定するための情報(ユーザID、ユーザグループID等)、アクセスされたデータを特定するための情報(URL等)、ユーザがデータにアクセスした時刻についての情報を少なくとも含む。
The access
具体的には、インターネットサービスプロバイダ(Internet Service Provider)において、その加入者がインターネットに接続する際に自動的に取られるアクセスログを用いることができる。アクセス順番差及びアクセス時刻差を計算するための基となるアクセスログとして、企業、学校等のプロキシサーバで自動的に取られるアクセスログを用いてもよい。また、データがファイルサーバに格納されたファイルである等の場合には、そのファイルサーバにユーザが接続した際に自動的に取られるアクセスログを用いてもよい。 Specifically, an Internet service provider can use an access log automatically taken when the subscriber connects to the Internet. An access log automatically taken by a proxy server such as a company or a school may be used as an access log that is a basis for calculating an access order difference and an access time difference. In addition, when the data is a file stored in a file server, an access log automatically taken when a user connects to the file server may be used.
ユーザは、1名のユーザであってもよいし、複数のユーザからなるユーザ(換言すれば、ユーザグループ)であってもよい。すなわち、アクセスログ記憶部1に記憶されたアクセスログは、複数のユーザからのアクセスを同一のユーザ(ユーザグループ)からのアクセスとして記憶したものであってもよい。
The user may be one user or a user (in other words, a user group) composed of a plurality of users. That is, the access log stored in the access
類似度計算装置100は、アクセスログ記憶部1を有していてもよいし、有していなくてもよい。すなわち、類似度計算装置100は、アクセスログが記憶されているサーバ等の類似度計算装置100の外部に配置されたアクセスログ記憶部1にアクセス可能であれば足りる。
The
アクセス順番付与部2は、アクセスログ記憶部1から読み込んだアクセスログを用いて、各ユーザがアクセスした各データにその各ユーザがアクセスした順番を定める(ステップS1)。アクセスした順番(アクセス順番とも呼ぶ。)に関する情報は、アクセス順番差計算部3に送られる。アクセス順番は、図10に示すアクセスパターンファイルのように例えば記述される。
The access order assigning unit 2 uses the access log read from the access
アクセス順番付与部2の処理の例を図5を参照して説明する。アクセス順番付与部2は、アクセスパターンファイルをまだ作成していないユーザのアクセスログを読み込む(ステップS12)。例えば、アクセスログが行ごとに取られている場合には、アクセスログ記憶部1の記憶されたアクセスログのうち、そのユーザのアクセスに関する行をすべて抽出して、それらを結合することによりそのユーザのアクセスログファイルを作成する。ユーザが使用する端末に割り振られたIPアドレス又はそのハッシュ値でユーザ表現されている場合には、ユーザのIPアドレス又はそのハッシュ値をキーとして行の抽出を例えば行う。
An example of processing of the access order assigning unit 2 will be described with reference to FIG. The access order assignment unit 2 reads an access log of a user who has not yet created an access pattern file (step S12). For example, when the access log is taken for each row, all the rows related to the user's access are extracted from the access logs stored in the access
なお、アクセス頻度計算部10が、アクセスログ記憶部1から読み込んだアクセスログから、各データがアクセスされた頻度を計算して、所定の回数以上アクセスされているページのみアクセス順番付与部2に送られるようにしてもよい(ステップS11)。すなわち、アクセス回数が所定の回数より小さいデータについては類似度判定の対象から外すようにしてもよい。例えば、アクセスログが行ごとに取られている場合には、アクセスログ記憶部1の記憶されたアクセスログのうち、所定の回数以上アクセスされているデータに関する行のみがアクセス頻度計算部10により抽出されるようにする。
The access
アクセス順番付与部2のセッション分割部21は、ユーザのデータへのアクセス系列をセッションに分割する(ステップS13)。セッションとは、同一ユーザによるデータへのアクセスの系列であって、そのアクセスの系列においては次のデータにアクセスするまでの時間が予め定められた時間よりも短いアクセスの系列のことを意味する。セッション分割部21は、ユーザがあるデータにアクセスした時刻と次のデータにアクセスした時刻との時刻差が所定の閾値Thsessionを超えたかどうかを判定して、その時刻差が閾値Thsessionを超えている場合には、そのあるデータへのアクセスと、その次のデータへのアクセスとの間でセッションが分かれたと判断することにより、セッション分割を行う。
The
アクセス順番付与部2は、各セッションごとにアクセス順番を付与する。すなわち、アクセス順番付与部2は、アクセス順番をまだ付与していないセッションを選択して、そのセッションにアクセス順番を付与する(ステップS14)。例えば、そのセッションにおける最初のアクセスにアクセス番号「000001」を付与し、そのセッションにおけるその後の各アクセスに順次1を足したアクセス番号を付与する。そして、すべてのセッションにアクセス順番を付与したかどうかを判定して(ステップS16)、すべてのセッションにアクセス順番を付与するまでステップS14の処理を繰り返す。これにより、図10に例示するアクセスパターンファイルを作成する。なお、アクセス順番付与部2の経過時間付与部22が、ステップS14の後に、各アクセスに、セッション開始時刻からの経過時間を付与してもよい(ステップS15)。
The access order assigning unit 2 assigns an access order for each session. That is, the access order assigning unit 2 selects a session that has not yet been given an access order, and assigns an access order to the session (step S14). For example, an access number “000001” is assigned to the first access in the session, and an access number obtained by sequentially adding 1 is assigned to each subsequent access in the session. Then, it is determined whether the access order is assigned to all sessions (step S16), and the process of step S14 is repeated until the access order is assigned to all sessions. Thereby, an access pattern file illustrated in FIG. 10 is created. Note that the elapsed
その後、アクセス順番付与部2は、すべてのユーザのそれぞれについてのアクセスパターンファイルを作成したかを判定して、作成されていない場合にはステップS12の処理に戻る。すべてのユーザのそれぞれについてのアクセスパターンファイルが作成された場合には、類似度計算装置は、ステップS1の処理を終えて、ステップS2(図4)の処理に進む。 Thereafter, the access order assigning unit 2 determines whether an access pattern file has been created for each of all users, and returns to the process of step S12 if it has not been created. When access pattern files for all users have been created, the similarity calculation apparatus ends the process of step S1 and proceeds to the process of step S2 (FIG. 4).
アクセス順番差計算部3は、異なる2つのデータをデータn,mとして、上記決定されたアクセス順番を用いて、ユーザi(i=1,…,I、Iはユーザの総数)がデータnにアクセスした順番と、その後ユーザiがデータmにアクセスした順番との差Nlist(n,m)を求める(ステップS2、図4)。例えば、アクセスログ記憶部1に記憶されたアクセスログに登場するユーザの総数がIとなる。この例のように、アクセス順番がセッ
ションごとに付与されている場合には、アクセス順番差計算部3は、ユーザiがデータnにアクセスした順番と、その後そのデータnへのアクセスと同一のセッションにおいてユーザiがデータmにアクセスした順番との差Nlist(n,m)を求める。これにより、各ユーザの各セッションごとにアクセス順番差Nlist(n,m)を計算する。計算されたアクセス順番差Nlist(n,m)についての情報は、アクセスパターン類似度計算部5に送られる。
The access order
アクセス順番差計算部3の処理の具体例を図6を参照して説明する。アクセス順番差計算部3は、アクセス順番差Nlist(n,m)を計算していないユーザを選択する(ステップS21)。その選択されたユーザをユーザiと表現する。
A specific example of the processing of the access order
アクセス順番差計算部3は、ユーザiのアクセス順番差Nlist(n,m)を計算していないセッションを選択して、アクセス順番付与部2が付与したアクセス順番に基づいて、そのセッションにおいて、ユーザiがデータnにアクセスした順番と、その後ユーザiがデータmにアクセスした順番との差Nlist(n,m)を求める(ステップS22)。図11のアクセスパターン1に例示するように、データnがhttp://aaa.bbb.com/content01.htmlでありそのアクセス順番が1であり、データmがhttp://aaa.bbb.com/content02.htmlでありそのアクセス順番が100である場合には、アクセス順番差Nlist(n,m)=100−1=99となる。
The access order
ユーザiのすべてのセッションにおけるアクセス順番差Nlist(n,m)を計算したかどうかを判定することにより(ステップS23)、ユーザiの各セッションにおけるアクセス順番差Nlist(n,m)が計算されるまでステップS22の処理を繰り返す。 By determining whether or not the access order difference N list (n, m) in all sessions of user i has been calculated (step S23), the access order difference N list (n, m) in each session of user i is calculated. Step S22 is repeated until it is done.
アクセス順番差計算部3は、すべてのユーザにおいてアクセス順番差Nlist(n,m)を計算したかどうかを判定する(ステップS24)。計算していない場合には、ステップS21の処理に戻る。すべてのユーザにおいてアクセス順番差Nlist(n,m)が計算された場合には、ステップS3の処理に進む。
The access order
アクセス時刻差計算部4は、上記アクセスログを用いて、ユーザiがデータnにアクセスした時刻と、その後ユーザiがデータmにアクセスした時刻との差tmargin(n,m)を求める(ステップS3)。計算されたアクセス時刻差tmargin(n,m)は、アクセスパターン類似度計算部5に送られる。
The access time
アクセス時刻差計算部4の処理の具体例を図7を参照して説明する。アクセス順番差計算部3は、アクセス時刻差tmargin(n,m)を計算していないユーザを選択する(ステップS31)。その選択されたユーザをユーザiと表現する。
A specific example of the processing of the access time
アクセス時刻差計算部4は、ユーザiのアクセス時刻差tmargin(n,m)を計算していないセッションを選択して、そのセッションにおいて、ユーザiがデータnにアクセスした時刻と、その後ユーザiがデータmにアクセスした時刻との差であるアクセス時刻差tmargin(n,m)を求める(ステップS32)。アクセス時刻差tmargin(n,m)は、アクセスログ記憶部1から読み込んだアクセスログを参照して求めてもよいし、ステップS15(図5)において各アクセスにセッション開始時刻からの経過時間が付与されている場合にはそのセッション開始時刻からの経過時間を参照して求めてもよい。
The access time
ユーザiのすべてのセッションにおけるアクセス時刻差tmargin(n,m)を計算したかどうかを判定することにより(ステップS33)、ユーザiの各セッションにお
けるアクセス時刻差tmargin(n,m)が計算されるまでステップS32の処理を繰り返す。
By determining whether or not the access time difference t margin (n, m) in all sessions of user i has been calculated (step S33), the access time difference t margin (n, m) in each session of user i is calculated. Step S32 is repeated until it is done.
アクセス順番差計算部3は、すべてのユーザにおいてアクセス時刻差tmargin(n,m)を計算したかどうかを判定する(ステップS34)。計算していない場合には、ステップS31の処理に戻る。すべてのユーザにおいてアクセス時刻差tmargin(n,m)が計算された場合には、ステップS4の処理に進む。
The access order
なお、ステップS22及びステップS32において、同一のセッションにおいて、データn及びデータmが複数存在する場合には、同一セッションにおける、データnとそのデータnの後にアクセスされたデータmとのすべての組み合わせのそれぞれについてのアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)が計算される。すなわち、同一セッション内に図12に例示されるようにデータn及びデータmがある場合には、アクセス順番1のデータnからアクセス順番2のデータmについてのアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)、アクセス順番1のデータnからアクセス順番4のデータmについてのアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)、アクセス順番3のデータnからアクセス順番4のデータmについてのアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)がそれぞれ計算される。
In step S22 and step S32, when there are a plurality of data n and data m in the same session, all combinations of data n and data m accessed after the data n in the same session are included. An access order difference N list (n, m) and an access time difference t margin (n, m) are calculated for each. That is, when there is data n and data m as illustrated in FIG. 12 in the same session, the access order difference N list (n, m) from the data n in the
アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)は、データnとデータmとの関連性の高さを表す指標となり得る。すなわち、図11のアクセスパターン1のようにアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)が大きい場合にはデータnとデータmとは関連性が低いと判断することができ、一方図11のアクセスパターン2のようにアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)が小さい場合にはデータnとデータmとは関連性が高いと判断することができる。
The access order difference N list (n, m) and the access time difference t margin (n, m) can be an index indicating the degree of relevance between the data n and the data m. That is, when the access order difference N list (n, m) and the access time difference t margin (n, m) are large as in the
アクセスパターン類似度計算部5は、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f1に、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)を入力した計算結果を求めることにより、データn,mについてのアクセスパターンに基づくアクセスパターン類似度αn−mを求める(ステップS4)。単調減少関数f1は、後述する単調減少関数f2と単調増加関数f3との合成関数として例えば与えられる。
The access pattern
ここで、単調減少関数とは、任意のx1,x2(ただし、x1<x2)に対して、f(x1)≧f(x2)となる関数fのことを意味する。同様に、単調増加関数とは、任意のx1,x2(ただし、x1<x2)に対して、f(x1)≦f(x2)となる関数fのことを意味する。 Here, the monotone decreasing function means a function f that satisfies f (x 1 ) ≧ f (x 2 ) with respect to arbitrary x 1 , x 2 (where x 1 <x 2 ). Similarly, the monotonically increasing function means a function f that satisfies f (x 1 ) ≦ f (x 2 ) with respect to arbitrary x 1 , x 2 (where x 1 <x 2 ).
まず、アクセスパターン類似度計算部5の第一統合部51は、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f2に、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)を入力した計算結果を求める。Aを所定の正の実数、eをネピア数として、f2は次式のように例えば与えられる。
First, the
この例のように、各ユーザの各セッションごとにアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)を計算している場合には、各ユーザの各セッションごとのアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)を用いて、上記の計算結果をそれぞれ求める。また、同一のセッションにおいて2以上のアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)が計算されている場合には、それぞれのアクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)を用いて、上記の計算結果をそれぞれ求める。計算結果は、アクセスパターン類似度計算部5の第二統合部52に送られる。
As in this example, when the access order difference N list (n, m) and the access time difference t margin (n, m) are calculated for each session of each user, Using the access order difference N list (n, m) and the access time difference t margin (n, m), the above calculation results are obtained. When two or more access order differences N list (n, m) and access time differences t margin (n, m) are calculated in the same session, the respective access order differences N list (n, m) ) And the access time difference t margin (n, m), respectively, to obtain the above calculation results. The calculation result is sent to the
第二統合部52は、上記各計算結果についての単調増加関数f3に上記計算結果を入力した計算結果を求めることにより、アクセスパターン類似度αn−mを求める。例えば、上記各計算結果を加算した値をアクセスパターン類似度αn−mとする。また、上記各計算結果の最大値をアクセスパターン類似度αn−mとしてもよい。最大値を用いた場合には、あるユーザの特異なアクセスパターンを基に、データ間の隠れたつながりも考慮に入れた類似ページ判定を行うことができる。
The
このようにして求められるアクセスパターン類似度αn−mは、各ユーザのデータn,mへのアクセスログのみから計算されており、データに実際にアクセスしたユーザの行動が考慮されている。また、データn,mの中身を考慮するという比較的重い処理を行わずに類似度を計算することができるという有利な効果がある。 The access pattern similarity α n−m obtained in this way is calculated only from the access logs to the data n and m of each user, and the action of the user who actually accessed the data is taken into consideration. Moreover, there is an advantageous effect that the similarity can be calculated without performing a relatively heavy process of considering the contents of the data n and m.
上記の例では、アクセス順番付与部2は、ユーザiのアクセス系列をセッションに分割してセッションごとにアクセス順番を付与した。しかし、セッション分割しないで、ユーザiのアクセス系列を構成する各アクセスに対して順次1づつ増えるアクセス順番を付与してもよい。
なお、データを特定する文字列の距離に基づく距離類似度を考慮して、データn,mの類似度を求めてもよい。
In the above example, the access order assigning unit 2 divides the access sequence of the user i into sessions and assigns an access order for each session. However, an access order that increases one by one may be given to each access constituting the access sequence of the user i without dividing the session.
Note that the similarity between the data n and m may be obtained in consideration of the distance similarity based on the distance between character strings that specify data.
距離計算部61(図1)は、データnを特定する文字列と、データmを特定する文字列との距離Ln−mを計算する(ステップS51、図8)。計算された距離Ln−mは、距離類似度計算部62に送られる。データを特定する文字列とは、データがWebページである場合には、URL(Uniform Resource Locator)である。距離Ln−mとしては、例えばレーベンシュタイン距離を採用する(例えば、参考文献1参照。)。
[参考文献1][平成20年12月4日検索]、インターネット<URL:http://en.wikipedia.org/wiki/Levenshtein_distance>
レーベンシュタイン距離は、一方の文字列に対して文字の付加、削除及び置換を何回行うことにより他方の文字列を構成することができるかに基づいて、両文字列間の距離を定義する。その文字の付加、削除及び置換の回数が両文字列間の距離となる。
The distance calculation unit 61 (FIG. 1) calculates the distance L nm between the character string that specifies the data n and the character string that specifies the data m (step S51, FIG. 8). The calculated distance L nm is sent to the distance
[Reference 1] [Search on December 4, 2008], Internet <URL: http://en.wikipedia.org/wiki/Levenshtein_distance>
The Levenshtein distance defines a distance between two character strings based on how many times a character string is added, deleted, or replaced with respect to one character string. The number of additions, deletions, and replacements of the character is the distance between the two character strings.
例えば、図13の文字列類似パターン1においては、文字列「http://aaa.bbb.com/content01.html」の文字「1」を文字「2」に変換することにより、すなわち1回の置換により、文字列「http://aaa.bbb.com/content02.html」を構成することができる。したがって、文字列類似パターン1における両文字列のレーベンシュタイン距離は1となる。
For example, in the character
また、図13の文字列類似パターン2においては、文字列「http://aaa.bbb.com/content01.html」の、文字「c」を文字「a」に、文字「o」を文字「a」に、文字「n」を文字「a」に置換して、文字「t」「e」「n」「t」「0」「1」を削除することにより、すなわち3回の置換と6回の削除により、文字列「http://aaa.bbb.com/aaa.html」を構成するこ
とができる。したがって、文字列類似パターン2における両文字列のレーベンシュタイン距離は9となる。
In the character string similarity pattern 2 in FIG. 13, the character “c” in the character string “http://aaa.bbb.com/content01.html” is changed to the character “a”, and the character “o” is changed to the character “ In “a”, by replacing the character “n” with the character “a” and deleting the characters “t”, “e”, “n”, “t”, “0”, “1”, ie three replacements and 6 The character string “http://aaa.bbb.com/aaa.html” can be configured by deleting the times. Therefore, the Levenshtein distance between both character strings in the character string similarity pattern 2 is 9.
距離類似度計算部62は、距離Ln−mについての単調減少関数f4に上記計算された距離Ln−mを入力した計算結果を求めることにより、距離類似度βn−mを求める(ステップS52)。求まった距離類似度βn−mは、類似度統合部7に送られる。Bを所定の正の実数、eをネピア数として、f4は次式のように例えば与えられる。
The distance
類似度統合部7は、アクセスパターン類似度αn−m及び距離類似度βn−mについての単調増加関数f5に上記類似度αn−m及び上記距離類似度βn−mを入力した計算結果を求めることにより、類似度Rn−mを求める(ステップS7、図4)。kα、kβを所定の正の実数として、f5は次式のように例えば与えられる。例えば、kα=kβ=1である。
このように、データを特定する文字列の距離に基づく距離類似度を考慮して、データn,mの類似度を求めてもよい。
なお、データnのコンテンツ及びデータmのコンテンツの類似度を考慮して、データn,mの類似度を求めてもよい。例えば、データn,mのそれぞれがテキストを含む場合には、次のようにして、コンテンツの類似度を考慮する。
As described above, the similarity between the data n and m may be obtained in consideration of the distance similarity based on the distance between character strings that specify data.
Note that the similarity between the data n and m may be obtained in consideration of the similarity between the content of the data n and the content of the data m. For example, when each of the data n and m includes text, the similarity of content is considered as follows.
第一名詞抽出部71が、データnのテキストに含まれる各名詞を抽出する。データがWebページである場合には、データnのソースから<body>タグで囲まれた文字列を取得して、HTMLタグを消去する。そして、Nを所定の正の整数として、先頭N文字を取得する。先頭N文字に対して形態素解析を実施して、その先頭N文字に含まれる各名詞を抽出する。抽出された名詞は、重複名詞数計算部73に送られる。
The first
第二名詞抽出部72は、第一名詞抽出部71と同様にしてデータmのテキストに含まれる各名詞を抽出する。抽出された名詞は、重複名詞数計算部73に送られる。
重複名詞数計算部73は、第一名詞抽出部71で抽出された名詞と、第二名詞抽出部72で抽出された名詞とに共通する名詞の数である重複名詞数を計算してコンテンツ類似度γn−mとする。計算されたコンテンツ類似度γn−mは、類似度統合部7に送られる。
The second
The duplicate noun
類似度統合部7は、アクセスパターン類似度αn−m、距離類似度βn−m及びコンテンツ類似度γn−mについての単調増加関数f6に、計算されたアクセスパターン類似度αn−m、計算された距離類似度βn−m及び計算されたコンテンツ類似度γn−mを入力した計算結果を求めることにより、類似度Rn−mを求める。
The
例えば、αn−m+βn−mが所定の閾値Th3以上であり、かつ、コンテンツ類似度γn−mも所定の閾値Th4以上の場合に、類似度Rn−m=αn−m+βn−mとし、
そうでない場合に類似度Rn−m=0とする。これにより、同一主題について書かれた一連のデータ等についての類似度を高くすることができる。
For example, when α n−m + β nm is greater than or equal to a predetermined threshold Th3 and the content similarity γ n−m is also greater than or equal to the predetermined threshold Th4, the similarity R n−m = α n−m + β n−m ,
Otherwise, the similarity R nm is set to 0. Thereby, the degree of similarity about a series of data etc. written about the same subject can be made high.
アクセスパターン類似度αn−m又は類似度Rn−mが所定の閾値以上であるかどうかを判断する類似決定部8を設けてもよい。類似決定部8は、アクセスパターン類似度αn−m又は類似度Rn−mが所定の閾値以上であれば、データn,mは類似であると判断してその旨を表す情報を出力する。類似決定部8は、そうでなければ、データn,mは類似であないと判断してその旨を表す情報を出力する。
Access pattern similarity alpha n-m or similarity R n-m may be provided with a
また、類似決定部8は、アクセスパターン類似度αn−m又は類似度Rn−mが所定の閾値Th1以上であり、かつ、アクセスパターン類似度αm−n又は類似度Rm−nが所定の閾値Th2以上である場合に、データn,mは類似であると判断してその旨を表す情報を出力してもよい。閾値Th1と閾値Th2とは必ずしも一致していなくてもよい。
Further, the
すなわち、類似度決定部8は、類似度αn−mと類似度αm−nとの一方又は両方が所定の第一閾値よりも高い場合、又は、類似度Rn−mと類似度Rm−nとの一方又は両方が所定の第二閾値よりも高い場合に、データnとデータmとが類似していると判断してもよい
さらに、類似決定部8は、類似度αn−mと類似度αm−nとの一方又は両方が所定の第一閾値よりも高くコンテンツ類似度γ n−mとコンテンツ類似度γ m−nとの一方又は両方が所定の第三閾値よりも高い場合、又は、類似度Rn−mと類似度Rm−nとの一方又は両方が所定の第二閾値よりも高くコンテンツ類似度γ n−m とコンテンツ類似度γ m−nとの一方又は両方が所定の第三閾値よりも高い場合に、データnとデータmとが類似していると判断してもよい。
That is, the
この例では、異なる2つのデータの組み合わせのひとつであるデータn,mについてのアクセスパターン類似度αn−m又は類似度Rn−mを計算したが、アクセスログに含まれる異なる2つのデータのすべての組み合わせのそれぞれについて類似度を計算して、類似であるか否かの決定を行ってもよい。その際、アクセスパターン類似度αn−m又は類似度Rn−mと、アクセスパターン類似度αm−n又は類似度Rm−nとは必ずしも一致しないため、データnからデータmへのアクセスパターン類似度αn−m又は類似度Rn−mのみならず、データmからデータnへのアクセスパターン類似度αm−n又は類似度Rm−nも計算して、類似であるか否かの決定を行ってもよい。 In this example, the access pattern similarity α n-m or similarity R n-m is calculated for the data n and m, which is one of the combinations of two different data, but the two different data included in the access log are calculated. Similarity may be calculated for each of all combinations to determine if they are similar. At this time, since the access pattern similarity α n−m or similarity R n−m does not necessarily match the access pattern similarity α m−n or similarity R m−n , access from the data n to the data m is performed. Whether not only the pattern similarity α n−m or the similarity R n−m but also the access pattern similarity α m−n or the similarity R m−n from the data m to the data n is calculated, whether or not they are similar Such a determination may be made.
[データ検索システム及び方法]
この発明によるデータ検索システム及び方法の一実施例を図3及び図9を参照して説明する。図3はデータ検索システムを例示するブロック図、図9はデータ検索方法を例示するフローチャートである。
検索装置200の入力部201は、ユーザ端末300から、検索ワード等のクエリーを取得する(ステップA1)。ユーザ端末300は、例えば携帯電話等の情報端末機器、パーソナルコンピュータである。
[Data search system and method]
An embodiment of a data search system and method according to the present invention will be described with reference to FIGS. FIG. 3 is a block diagram illustrating a data search system, and FIG. 9 is a flowchart illustrating a data search method.
The
検索装置200のデータ情報取得部202は、受け取ったクエリーに対応するデータについての情報を取得する(ステップA2)。取得された情報は、類似データ情報取得部203に送られる。例えば、データがWebページである場合には、クエリーである検索ワードを含むWebページを任意のWebページ検索技術を用いて取得する。検索装置200は、外部の検索エンジン400(例えば、goo(登録商標))を用いてクエリーに対応するデータについての情報を取得してもよいし、内部に検索エンジン機能を有する場合にはその内部の検索エンジン機能を用いてクエリーに対応するデータについての情報を取得してもよい。
The data
類似データ情報取得部203は、クエリーに対応するデータに類似するデータについての情報を類似度計算装置100から取得する(ステップA3)。
The similar data
例えば、類似度計算装置100は、アクセスログに含まれる異なる2つのデータn,mのすべての組み合わせのそれぞれについて類似度を計算して、類似決定部8でデータn,mの組み合わせのそれぞれが類似するかどうかを決定しておく。検索装置200は、クエリーに対応するデータについての情報を類似度計算装置100に送る。類似度計算装置100は、そのクエリーに対応するデータに類似するデータについての情報を検索装置200に送り、類似データ情報取得部203がその情報を取得する。
For example, the
検索装置200の出力部204は、クエリーに対応するデータについての情報と共に、そのクエリーに対応するデータに類似するデータついての情報をユーザ端末300に出力する(ステップA4)。
The
図14は、データがWebページである場合に、出力部204からユーザ端末300に提供される情報により、ユーザ端末300のディスプレイに表示される画面の例である。この例のように、検索結果が上位のWebページのそれぞれについての類似ページについての情報が例えばユーザ端末300に提供される。
また、クエリーに対応するデータについての類似データが複数ある場合には、複数の類似データをユーザ端末300に提供してもよい。さらに、類似データ情報取得部203は、取得した類似データについての情報を類似度計算装置100に送り、その類似データに類似するデータについての情報を更に取得して、ユーザ端末300に提供してもよい。
FIG. 14 is an example of a screen displayed on the display of the
Further, when there are a plurality of similar data regarding the data corresponding to the query, the plurality of similar data may be provided to the
検索装置200と類似度計算装置100との間の通信、検索装置200と外部検索エンジンとの間の通信のプロトコルはPOST等の一般に公開されているプロトコルを用いることができる。また、フォーマットについても一般に公開されているXML、HTML、構造化されている表等の形式を用いることができる。
As a communication protocol between the
上述の構成をコンピュータによって実現する場合、類似度計算装置の各部が有する機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各部の機能がコンピュータ上で実現される。 When the above configuration is realized by a computer, the processing contents of the functions of each unit of the similarity calculation device are described by a program. By executing this program on a computer, the functions of the above-described units are realized on the computer.
すなわち、CPUがプログラムを逐次読み込んで実行することにより、アクセス順番付与部2、セッション分割部21、経過時間付与部22、アクセス順番差計算部3、アクセス時間差計算部4、アクセスパターン類似度計算部5、第一統合部51、第二統合部52、距離計算部61、距離類似度計算部62、類似度統合部7、第一名詞抽出部71、第二名詞抽出部72、重複名詞数計算部73、類似決定部8のそれぞれが実現される。また、補助記憶装置又はメモリが、アクセスログ記憶部1として機能する。
That is, when the CPU sequentially reads and executes the program, the access order assigning unit 2, the
類似度計算装置の各部として機能するCPUは、メモリ又は補助記憶装置から読み込み込んだデータに対して処理を行い、処理を行った後のデータをメモリ又は補助記憶装置に格納する。すなわち、メモリ又は補助記憶装置を介して類似度計算装置の各部間でデータがやり取りされる。 The CPU functioning as each unit of the similarity calculation device performs processing on the data read from the memory or the auxiliary storage device, and stores the processed data in the memory or the auxiliary storage device. That is, data is exchanged between the units of the similarity calculation device via the memory or the auxiliary storage device.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を基底する性質を有するデータ等)を含むものとする。 As an execution form different from the above-described embodiment, the computer may read the program directly from the portable recording medium and execute processing according to the program. Each time is transferred, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to a computer but has a property that is based on computer processing).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
Needless to say, other modifications are possible without departing from the spirit of the present invention.
1 アクセスログ記憶部
2 アクセス順番付与部
3 アクセス順番差計算部
4 アクセス時刻差計算部
5 アクセスパターン類似度計算部
51 第一統合部
52 第二統合部
61 距離計算部
62 距離類似度計算部
7 類似度統合部
71 第一名詞抽出部
72 第二名詞抽出部
73 重複名詞数計算部
8 類似決定部
10 アクセス頻度計算部
100 類似度計算装置
200 検索装置
201 入力部
202 データ情報取得部
203 類似データ情報取得部
204 出力部
DESCRIPTION OF
Claims (9)
異なる2つのデータをデータn,mとして、ユーザiがデータnにアクセスした順番と、その後ユーザiがデータmにアクセスした順番との差Nlist(n,m)を求めるアクセス順番差計算部と、
ユーザiがデータnにアクセスした時刻と、その後ユーザiがデータmにアクセスした時刻との差tmargin(n,m)を求めるアクセス時刻差計算部と、
アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f1に、上記アクセス順番差Nlist(n,m)及び上記アクセス時刻差tmargin(n,m)を入力した計算結果を求めることにより、データn,mについてのアクセスパターンに基づくアクセスパターン類似度αn−mを求めるアクセスパターン類似度計算部と、
を含み、
アクセスパターン類似度αn−mとアクセスパターン類似度αm−nとの両方が所定の閾値よりも高い場合に、データnとデータmとが類似していると判断する類似決定部を更に含む、
ことを特徴とする類似度計算装置。 An access order giving unit for determining the order in which each user has accessed each data accessed by each user using an access log read from an access log storage unit in which an access log relating to access to each data by each user is stored; ,
An access order difference calculation unit that obtains a difference N list (n, m) between the order in which user i accesses data n and the order in which user i subsequently accesses data m, using two different data as data n and m ,
An access time difference calculation unit for obtaining a difference t margin (n, m) between a time when the user i accesses the data n and a time when the user i accesses the data m thereafter;
Access order difference N list (n, m) and access time difference t margin (n, m) monotonically decreasing function f 1 for, the access order difference N list (n, m) and the access time difference t margin (n , M), an access pattern similarity calculation unit for obtaining an access pattern similarity α n−m based on the access pattern for the data n, m,
Including
It further includes a similarity determination unit that determines that the data n and the data m are similar when both the access pattern similarity α n−m and the access pattern similarity α m−n are higher than a predetermined threshold. ,
The similarity calculation apparatus characterized by the above.
上記アクセスパターン類似度計算部は、
アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f2に、上記アクセス順番差Nlist(n,m)及び上記アクセス時刻差tmargin(n,m)を入力した計算結果を各ユーザiごとに求める第一統合部と、
上記各計算結果についての単調増加関数f3に上記計算結果を入力した計算結果を求めることにより、上記アクセスパターン類似度αn−mを求める第二統合部と、
を含むことを特徴とする類似度計算装置。 The similarity calculation apparatus according to claim 1,
The access pattern similarity calculation unit
The access order difference N list (n, m) and the access time difference t margin (n) are added to the monotonically decreasing function f 2 for the access order difference N list (n, m) and the access time difference t margin (n, m). , M), a first integration unit for obtaining a calculation result for each user i,
A second integration unit for obtaining the access pattern similarity α n−m by obtaining a calculation result obtained by inputting the calculation result to the monotonically increasing function f 3 for each calculation result;
The similarity calculation apparatus characterized by including.
セッションを、同一ユーザによるデータへのアクセスの系列であって、そのアクセスの系列においては次のデータにアクセスするまでの時間が予め定められた時間よりも短いアクセスの系列として、
上記アクセス順番差計算部は、ユーザiがデータnにアクセスした順番と、その後そのデータnへのアクセスと同一のセッションにおいてユーザiがデータmにアクセスした順番との差Nlist(n,m)を求める部であり、
上記アクセス時刻差計算部は、ユーザiがデータnにアクセスした時刻と、その後そのデータnへのアクセスと同一のセッションにおいてユーザiがデータmにアクセスした時刻との差tmargin(n,m)を求める部であり、
上記第一統合部は、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f2に、上記アクセス順番差Nlist(n,m)及び上記アクセス時刻差tmargin(n,m)を入力した計算結果を、各ユーザiの各セッションごとに求める部である、
ことを特徴とする類似度計算装置。 In the similarity calculation apparatus according to claim 2,
The session is a sequence of access to data by the same user, and in the access sequence, the time until access to the next data is shorter than a predetermined time,
The access order difference calculation unit calculates the difference N list (n, m) between the order in which the user i accesses the data n and the order in which the user i accesses the data m in the same session as the access to the data n thereafter. Is a part seeking
The access time difference calculation unit calculates a difference t margin (n, m) between a time when the user i accesses the data n and a time when the user i accesses the data m in the same session as the access to the data n thereafter. Is a part seeking
The first integration unit calculates the access order difference N list (n, m) and the monotonically decreasing function f 2 for the access order difference N list (n, m) and the access time difference t margin (n, m). It is a unit that obtains a calculation result obtained by inputting an access time difference t margin (n, m) for each session of each user i.
The similarity calculation apparatus characterized by the above.
データnを特定する文字列と、データmを特定する文字列との距離Ln−mを計算する距離計算部と、
距離Ln−mについての単調減少関数f4に上記距離Ln−mを入力した計算結果を求めることにより、距離類似度βn−mを求める距離類似度計算部と、
アクセスパターン類似度αn−m及び距離類似度βn−mについての単調増加関数f5に上記アクセスパターン類似度αn−m及び上記距離類似度βn−mを入力した計算結果を求めることにより、類似度Rn−mを求める類似度統合部と、
を含む類似度計算装置。 In the similarity calculation device according to any one of claims 1 to 3,
A distance calculation unit that calculates a distance L n−m between a character string that specifies data n and a character string that specifies data m;
A distance similarity calculation unit for obtaining a distance similarity β n-m by obtaining a calculation result obtained by inputting the distance L n-m to the monotone decreasing function f 4 for the distance L n-m ;
Obtaining a calculation result obtained by inputting the access pattern similarity α n-m and the distance similarity β n-m to the monotonically increasing function f 5 for the access pattern similarity α n-m and the distance similarity β n-m A similarity integration unit for obtaining the similarity R nm ,
Similarity calculation device.
上記データはテキストを含み、
上記データnのテキストに含まれる各名詞を抽出する第一名詞抽出部と、
上記データmのテキストに含まれる各名詞を抽出する第二名詞抽出部と、
上記第一名詞抽出部で抽出された名詞と、上記第二名詞抽出部で抽出された名詞とに共通する名詞の数である重複名詞数を計算してコンテンツ類似度γn−mとする重複名詞数計算部と、を含み、
上記類似決定部は、アクセスパターン類似度αn−mとアクセスパターン類似度αm−nとの一方又は両方が所定の第一閾値よりも高くコンテンツ類似度γ n−mとコンテンツ類似度γ m−nとの一方又は両方が所定の第三閾値よりも高い場合、又は、類似度Rn−mと類似度Rm−nとの一方又は両方が所定の第二閾値よりも高くコンテンツ類似度γ n−m とコンテンツ類似度γ m−nとの一方又は両方が所定の第三閾値よりも高い場合に、データnとデータmとが類似していると判断する部である、
ことを特徴とする類似度計算装置。 In the similarity calculation apparatus according to any one of claims 1 to 4,
The above data includes text,
A first noun extraction unit for extracting each noun included in the text of the data n;
A second noun extraction unit for extracting each noun included in the text of the data m;
Duplicate noun number, which is the number of nouns common to the noun extracted by the first noun extraction unit and the noun extracted by the second noun extraction unit, is calculated as the content similarity γ n−m And a noun count calculator,
The similarity determination unit is configured such that one or both of the access pattern similarity α n−m and the access pattern similarity α m−n is higher than a predetermined first threshold, and the content similarity γ n−m and the content similarity γ m When one or both of −n is higher than a predetermined third threshold, or one or both of the similarity R n−m and the similarity R m−n are higher than a predetermined second threshold. a unit that determines that data n and data m are similar when one or both of γ n− m and content similarity γ m−n are higher than a predetermined third threshold;
The similarity calculation apparatus characterized by the above.
受け取ったクエリーに対応するデータについての情報を取得するデータ情報取得部と、上記クエリーに対応するデータに類似するデータについての情報を上記類似度計算装置から取得する類似データ情報取得部と、上記クエリーに対応するデータについての情報と共に上記類似するデータについての情報を出力する出力部とを含む検索装置と、
を含むデータ検索システム。 A similarity calculation device according to claim 5;
A data information acquisition unit that acquires information about data corresponding to the received query, a similar data information acquisition unit that acquires information about data similar to the data corresponding to the query from the similarity calculation device, and the query A search device including an output unit that outputs information about the similar data together with information about the data corresponding to
Data retrieval system including
アクセス順番差計算部が、異なる2つのデータをデータn,mとして、ユーザiがデータnにアクセスした順番と、その後ユーザiがデータmにアクセスした順番との差Nlist(n,m)を求めるアクセス順番差計算ステップと、
アクセス時刻差計算部が、ユーザiがデータnにアクセスした時刻と、その後ユーザiがデータmにアクセスした時刻との差tmargin(n,m)を求めるアクセス時刻差計算ステップと、
アクセスパターン類似度計算部が、アクセス順番差Nlist(n,m)及びアクセス時刻差tmargin(n,m)についての単調減少関数f1に、上記アクセス順番差Nlist(n,m)及び上記アクセス時刻差tmargin(n,m)を入力した計算結果を求めることにより、データn,mについてのアクセスパターンに基づくアクセスパターン類似度αn−mを求めるアクセスパターン類似度計算ステップと、
を含み、
類似決定部が、アクセスパターン類似度αn−mとアクセスパターン類似度αm−nと両方が所定の閾値よりも高い場合に、データnとデータmとが類似していると判断する類似度決定ステップを更に含む類似度計算方法。 The access order assigning unit uses the access log read from the access log storage unit in which the access log related to the access to each data by each user is used to determine the order in which each user has accessed each data accessed by each user. A predetermined access order granting step;
The access order difference calculation unit sets the difference N list (n, m) between the order in which the user i accesses the data n and the order in which the user i accesses the data m thereafter, assuming two different data as the data n and m. The required access order difference calculating step;
An access time difference calculating unit for calculating a difference t margin (n, m) between a time when the user i accesses the data n and a time when the user i subsequently accesses the data m;
Access pattern similarity calculation unit, the access order difference N list (n, m) and access time difference t margin (n, m) monotonically decreasing function f 1 for, the access order difference N list (n, m) and An access pattern similarity calculation step for obtaining an access pattern similarity α n−m based on an access pattern for data n and m by obtaining a calculation result obtained by inputting the access time difference t margin (n, m);
Including
The similarity determining unit determines that the data n and the data m are similar when both the access pattern similarity α n−m and the access pattern similarity α m−n are higher than a predetermined threshold. A similarity calculation method further including a determination step.
出力部が、上記クエリーに対応するデータについての情報と共に上記類似するデータについての情報を出力する出力ステップと、
データ情報取得部が、受け取ったクエリーに対応するデータについての情報を取得するデータ情報取得ステップと、
類似データ情報取得部が、上記クエリーに対応するデータに類似するデータについての情報を取得する類似データ情報取得ステップと、
を含むデータ検索方法。 Each step of the similarity calculation method according to claim 7,
An output unit that outputs information about the similar data together with information about the data corresponding to the query;
A data information acquisition step in which the data information acquisition unit acquires information about data corresponding to the received query;
A similar data information acquisition unit that acquires information about data similar to data corresponding to the query;
Data search method including.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008314498A JP5324903B2 (en) | 2008-12-10 | 2008-12-10 | Similarity calculation apparatus, method and program, data search system and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008314498A JP5324903B2 (en) | 2008-12-10 | 2008-12-10 | Similarity calculation apparatus, method and program, data search system and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010140162A JP2010140162A (en) | 2010-06-24 |
| JP5324903B2 true JP5324903B2 (en) | 2013-10-23 |
Family
ID=42350268
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008314498A Expired - Fee Related JP5324903B2 (en) | 2008-12-10 | 2008-12-10 | Similarity calculation apparatus, method and program, data search system and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5324903B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6163751B2 (en) * | 2012-12-26 | 2017-07-19 | 富士通株式会社 | Judgment program, judgment method and judgment system |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4179773B2 (en) * | 2001-11-20 | 2008-11-12 | 日本ビクター株式会社 | Information search apparatus, information search program, and information search method |
| JP4088950B2 (en) * | 2001-12-13 | 2008-05-21 | ソニー株式会社 | Information processing apparatus and method, recording medium, and program |
| JP2004070710A (en) * | 2002-08-07 | 2004-03-04 | Sharp Corp | Information processing apparatus, portable terminal, information processing system, information processing method, information processing program, and recording medium storing the program |
| JP4273300B2 (en) * | 2002-11-01 | 2009-06-03 | 国立大学法人東京工業大学 | Web access log analysis method |
| JP4366108B2 (en) * | 2003-04-30 | 2009-11-18 | キヤノン株式会社 | Document search apparatus, document search method, and computer program |
| JP2006048536A (en) * | 2004-08-06 | 2006-02-16 | Canon Inc | Information processing apparatus, document search method, program, and storage medium |
| JP2007226501A (en) * | 2006-02-23 | 2007-09-06 | Nippon Telegr & Teleph Corp <Ntt> | Web page related history presentation method and apparatus |
-
2008
- 2008-12-10 JP JP2008314498A patent/JP5324903B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010140162A (en) | 2010-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11394799B2 (en) | Methods, systems, apparatuses, and devices for facilitating for generation of an interactive story based on non-interactive data | |
| JP5011751B2 (en) | Translation information output processing program, processing method, and processing apparatus | |
| JP5281405B2 (en) | Selecting high-quality reviews for display | |
| WO2008022581A1 (en) | Method and device for obtaining the new words and input method system | |
| JP7641752B2 (en) | CTI analysis support system and CTI analysis support method | |
| WO2008014702A1 (en) | Method and system of extracting new words | |
| CN103262109A (en) | Selecting web page content based on user permission for collecting user-elected content | |
| CN110134780B (en) | Method, device, equipment and computer readable storage medium for generating document abstract | |
| CN116420142A (en) | Method and system for reusing data item fingerprints in generation of semantic maps | |
| WO2024220031A1 (en) | Question-answer processing method and apparatus | |
| JP2003076715A (en) | Method and system for retrieving web pages, program and recording medium | |
| US20140244641A1 (en) | Holistic customer record linkage via profile fingerprints | |
| US20120124060A1 (en) | Method and system of identifying adjacency data, method and system of generating a dataset for mapping adjacency data, and an adjacency data set | |
| JP5757208B2 (en) | Keyword extraction system, keyword extraction method and program | |
| JP2019040260A (en) | Information processing apparatus and program | |
| JP6662689B2 (en) | Word judgment device | |
| CN114598597B (en) | Multisource log analysis method, multisource log analysis device, computer equipment and medium | |
| JP5324903B2 (en) | Similarity calculation apparatus, method and program, data search system and method | |
| JP2011028379A (en) | Program and device for converting data structure | |
| CN108604241B (en) | Search system | |
| KR101105798B1 (en) | Keyword refiner and method, content retrieval system and method therefor | |
| US20170031903A1 (en) | Encoding and accessing position data | |
| JP6805927B2 (en) | Index generator, data search program, index generator, data search device, index generation method, and data search method | |
| Risch et al. | Measuring and facilitating data repeatability in web science | |
| CN115687979A (en) | Identification method and device, electronic equipment, and storage medium of specified technology in threat intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110316 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121108 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121113 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130110 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130523 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130702 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130719 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5324903 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |