JP4073734B2 - 入力単語候補を推薦する情報検索システム - Google Patents
入力単語候補を推薦する情報検索システム Download PDFInfo
- Publication number
- JP4073734B2 JP4073734B2 JP2002238603A JP2002238603A JP4073734B2 JP 4073734 B2 JP4073734 B2 JP 4073734B2 JP 2002238603 A JP2002238603 A JP 2002238603A JP 2002238603 A JP2002238603 A JP 2002238603A JP 4073734 B2 JP4073734 B2 JP 4073734B2
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- word
- information
- input
- words
- 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
【発明の属する技術分野】
この発明は、コンピュータを用いた情報検索システムに関する。特に、インターネット等を介して入力された単語に応じた検索結果を出力する機能を多数の利用者に提供する情報検索システムに関する。
【0002】
【従来の技術】
利用者からの単語の入力を受け付け、その単語に応じた検索結果を出力する情報検索システムが存在する。また、このような情報検索システムがインターネット等を介して多数の利用者のその機能を提供する場合もある。
【0003】
【発明が解決しようとする課題】
上記のような情報検索システムにおいて、利用者が入力する単語に対して、利用者が意図するような検索結果が得られないことがある。
このような場合に、情報検索システム側が入力単語の代替案を提示することもあるが、提示される代替案の単語の数が多すぎて、逆に利用者が選択に困るという状況がよく起こっている。また、提示される代替案の単語の質が雑多であり、その性質がばらばらであるために、逆に利用者が選択に困るという状況も起こっている。
また、情報検索システム側において、代替案を提示するために必要なデータ、知識などを作成するのが困難であるとともに、これらを人手で作成する場合に膨大な手間がかかってしまうという問題もある。特に、実用に耐えうるような大規模なシステムで代替単語の推薦のためのデータベースあるいは知識ベース等を自動的に構築しようとした場合、網羅的な内容を含むようにすることは困難であり、仮に構築できた場合にも、利用者にとって使いやすい単語を提示することは困難である。
本発明は、上記のような事情を考慮してなされたものであり、利用者から入力された単語に対して適切な代替案を候補として推薦することのできる情報検索システムを提供することを目的とする。また、そのような情報検索システムを実現するために不可欠なデータ(辞書データ等)を効率良く作成することのできる辞書作成方法を提供することを目的とする。
【0004】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、複数の単語が非排他的に複数のクラスタに属するように分類した情報、及び、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するクラスタ辞書記憶部と、2個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部と、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語とするクラスタ辞書参照手段と、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を、当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位になるように、かつ、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位になるように、出力順位を決定して前記推薦候補の単語を出力する出力順位決定手段と、前記分類情報記憶部を参照することにより、前記出力順位決定手段により出力された前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力手段と、を備えることを特徴とする情報検索システムを要旨とする。
ここで「複数の単語が非排他的に複数のクラスタに属するように分類した」とは、ある単語が複数のクラスタに同時に属する場合があることを意味する。一般化すれば、ある単語は0個以上のクラスタに属する。また、あるクラスタには1個以上の単語が属する。
【0006】
また、本発明は、前記の情報検索システムにおいて、前記類似非類似選択出力手段は、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第1の採用閾値とを比較しクラスタサイズ値が第1の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第1の採用閾値より大きい第2の採用閾値とを比較しクラスタサイズ値が第2の採用閾値以上の場合にのみ当該推薦候補の単語を出力することを特徴とするものである。
また、本発明は、前記の情報検索システムにおいて、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成手段を備えることを特徴とするものである。
【0007】
また、本発明は、前記の情報検索システムにおいて、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、全ての当該セッションの数に基づいて前記第1の採用閾値及び前記第2の採用閾値を決定するとともに、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成手段を備えることを特徴とするものである。
【0008】
また、本発明は利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法であって、複数の単語が非排他的に複数のクラスタに属するように分類した情報、及び、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するクラスタ辞書記憶部と、2個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部とを備えるコンピュータにおいて、クラスタ辞書参照手段が、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語とするクラスタ辞書参照過程と、出力順位決定手段が、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を、当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位になるように、かつ、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位になるように、出力順位を決定して前記推薦候補の単語を出力する出力順位決定過程と、類似非類似選択出力手段が、前記分類情報記憶部を参照することにより、前記出力順位決定過程により出力された前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力過程とを有することを特徴とするものである。
【0011】
また、本発明は、前記の情報検索方法において、前記類似非類似選択出力過程では、類似非類似選択出力手段が、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第1の採用閾値とを比較しクラスタサイズ値が第1の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第1の採用閾値より大きい第2の採用閾値とを比較しクラスタサイズ値が第2の採用閾値以上の場合にのみ当該推薦候補の単語を出力することを特徴とするものである。
また、本発明は、前記の情報検索方法において、前記コンピュータのクラスタ辞書作成手段が、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成過程を有することを特徴とするものである。
【0012】
また、本発明は、前記の情報検索方法において、前記コンピュータのクラスタ辞書作成手段が、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法において、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、全ての当該セッションの数に基づいて前記第1の採用閾値及び前記第2の採用閾値を決定するとともに、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成過程を有することを特徴とするものである。
【0013】
また、本発明は前記のいずれかの情報検索方法をコンピュータに実行させるコンピュータプログラムである。
また、本発明は前記のいずれかの情報検索方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0014】
【発明の実施の形態】
以下、図面を参照しこの発明の一実施形態について説明する。
図1は、同実施形態による情報検索システムの概略構成を示す構成図である。この情報検索システムは、例えば、業種を表す単語の入力を受け付け、当該業種に属する企業等の電話番号を検索し、その電話番号情報を利用者に提供する機能を有する。
【0015】
図1において、符号11は利用者からの単語の入力を受け付ける入力手段、13はクラスタ辞書を参照することによって利用者に対して推薦する単語に関する情報を取得するクラスタ辞書参照手段、15はクラスタ辞書の参照の結果得られた単語の出力順位を決定する出力順位決定手段、17は分類ツリーを参照する分類ツリー参照手段、19は参照した分類ツリーの情報に基づいて推薦する単語が元々入力された単語と類似であるか非類似であるかを判定する類似非類似選択出力手段、21は推薦する単語に関する情報を出力する出力手段である。
また、41は単語が属するクラスタに関する情報を保持するクラスタ辞書(クラスタ辞書記憶部)、43は単語の分類に関する情報を保持する分類ツリー(分類情報記憶部)である。
また、31は入力手段11が受け付けた単語についてログ情報を記録するログ情報記録手段、33は上記のログ情報に基づいてクラスタ辞書の情報を作成するクラスタ辞書作成手段である。
【0016】
次に、クラスタ辞書についてより詳細に説明する。図2は、クラスタ辞書が保持する情報の一例を示す概略図である。図2に示すように、クラスタ辞書には複数のクラスタの情報が含まれている。図2に示す例では、クラスタ1から7までの7個のクラスタが含まれている。また、各クラスタに対応して、そのクラスタに属する複数の単語と、各単語に対応する出現頻度値と、クラスタのサイズを表す数値の各情報が保持されている。図2に示す例では、クラスタ1に属する単語は「ホテル」と「ビジネスホテル」の2個であり、このうち「ホテル」の出現頻度値は15318、また「ビジネスホテル」の出現頻度値は13654である。また、クラスタ1のクラスタサイズは15318である。
なお、一般化すると、クラスタ辞書は各単語を非排他的にクラスタに分類した辞書であり、各単語をクラスタに分けて記憶する辞書である。クラスタは複数の単語をメンバーとして有し、またある単語はクラスタ辞書の中の0個以上のクラスタのメンバーとなっている。
また、クラスタ辞書が表すクラスタとは、ここでは、利用者が情報検索のために入力した単語の頻度に基づいて統計的な処理を行い、その結果、関連性の強い単語同士を同一クラスタとして括ったものである。また、クラスタサイズとは、そのクラスタ自身の出現頻度を表す指標値であり、具体的には、当該クラスタに属する単語の出現頻度のうち最大の値を下回らない値である。
なお、クラスタ辞書作成手段(図1の符号33)が、クラスタ分けをする方法、およびクラスタサイズと出現頻度値とを自動的に決定する方法に関しては、後で詳述する。
【0017】
ここで、図1および図2を参照しながら実例を用いて説明する。利用者が「ホテル」という語を入力手段11から入力した場合を考える。クラスタ辞書参照手段13は、クラスタ辞書を検索することにより、入力された単語「ホテル」を探して、「ホテル」がメンバーとして存在するクラスタを見つける。図2の例では、「ホテル」という単語は、クラスタ1,2,3,4,7の5個のクラスタのメンバーである。
そして、クラスタ辞書参照手段13は、これらクラスタ1,2,3,4,7から「ホテル」以外のメンバーを推薦する単語として抽出する。つまり、クラスタ1からは「ビジネスホテル」、クラスタ2からは「結婚式場、会館」、クラスタ3からは「旅館、ビジネスホテル」、クラスタ4からは「ゴルフ場」、クラスタ−7からは「パチンコ、ゲームセンター」という各単語が抽出され推薦される。
【0018】
次に、出力順位決定手段(図1の符号15)について、より詳細に説明する。図3は、出力順位を決定するための手順を示す概略図である。以下、図3に沿ってその手順を説明する。
まず、(1)において、クラスタ辞書を検索し入力された単語を含むクラスタを探す。次に、(2)において、クラスタ辞書内の該当するクラスタから、当該入力された単語の出現頻度値を取得する。また、(3)においてクラスタ辞書内の該当するクラスタからそのクラスタサイズの値を取得する。なお、入力された単語が複数のクラスタのメンバーである場合には、該当する複数のクラスタについてそれぞれ(2)および(3)の処理を行う。以上、(1)から(3)までの処理は、クラスタ辞書参照手段(図1の符号13)が行う。
次に、(4)において、上で取得した値を用いて、それぞれのクラスタ毎に、入力された単語の出現頻度値とクラスタサイズとの比を計算する。つまり、出現頻度値をクラスタサイズ値で除した値を算出する。そして、(5)においては、(4)で計算された比の値の降順にクラスタをソートしてクラスタの列を得る。そして、(6)において、(5)でソートされたクラスタのうち先頭のクラスタを取り出す。そして、(7)において、(6)で取り出されたクラスタに含まれる単語の中から、まだ出力されていない単語であって、そのような単語の中で最も出現頻度値の大きい単語を出力する。(8)においては、出力した単語数が予め定められた出力数に既に達しているかどうかを判断する。そして、既に達していれば(9)へ進んで処理を終了する。まだ達していなければ、今回(6)で取り出したクラスタを前記列の最後尾に移動し、(6)の処理へ戻る。以上、(4)から(9)までの処理は出力順位決定手段が行う。
以上のような手順により、該当する推薦候補の単語の順位を決定する。
【0019】
ここで、出力順位決定の処理を実例により説明すると、次のようになる。既に述べたように、「ホテル」という単語が入力された場合、クラスタ1,2,3,4,7が該当するクラスタである。
図2に示したクラスタ辞書によると、クラスタ番号1のクラスタにおいては、単語「ホテル」の出現頻度値が15318、クラスタサイズが15318であるので、その比は、15318/15318であり、1.00である。
クラスタ番号2のクラスタにおいては、単語「ホテル」の出現頻度値が609、クラスタサイズが1258であるので、その比は、609/1258であり、0.48である。
クラスタ番号3のクラスタにおいては、単語「ホテル」の出現頻度値が4364、クラスタサイズが8075であるので、その比は、4364/8075であり、0.54である。
クラスタ番号4のクラスタにおいては、単語「ホテル」の出現頻度値が120、クラスタサイズが811であるので、その比は、120/811であり、0.15である。
クラスタ番号7のクラスタにおいては、単語「ホテル」の出現頻度値が28、クラスタサイズが211であるので、その比は、28/211であり、0.13である。
【0020】
これら算出した比の降順にクラスタをソートすると、クラスタ1,3,2,4,7という順の列が得られる。ここで、予め定められた出力単語数が7であると仮定する。まず、クラスタ1の中で最も出現頻度値の高い「ビジネスホテル」が出力される。次に、クラスタ3の中で最も出現頻度値の高い「旅館」が出力される。次に、クラスタ2の中で最も出現頻度値の高い「結婚式場」が出力される。次に、クラスタ4の中で最も出現頻度値の高い「ゴルフ場」が出力される。次に、クラスタ7の中でも最も出現頻度値の高い「パチンコ」が出力される。これでクラスタが一巡し、二巡目に入る。クラスタ1には、もう単語が残ってないため、次に、クラスタ3の中の未出力の単語で最も出現頻度の高い「温泉旅館」が出力される。次に、クラスタ2の未出力の単語で最も出現頻度の高い「会館」が出力される。
なお、単語順位の決定にあたって様々な方法が考えられるが、一般的に言えることは、次の2点である。第一に、入力された単語が複数のクラスタに属するとき、各クラスタにおける当該入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する単語がより高順位となるように出力順位を決定すると良い。第二に、入力された単語が属するクラスタ内に複数の他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定すると良い。
【0021】
次に、分類ツリー参照手段(図1の符号17)および類似非類似選択出力手段(図1の符号19)の処理について、より詳細に説明する。図4は、類似あるいは非類似を判断して、その結果に応じて出力するか否かを決定するための手順を示す概略図である。また、図5は、この手順において参照される分類ツリー(図1の符号43)に格納されるデータ例を示す概略図である。以下、図4および図5を参照しながら説明する。
【0022】
図5の分類ツリーにおいて、終端ノード(子ノードを持たない最も下位のノード)は単語を表している。また非終端ノードは、それら単語のグループを表している。このようなツリー構成は、アプリオリに与えられるものであり、例えば、既存の職業別電話帳などにおける業種分類を基に作成することができる。
【0023】
処理手順としては、まず図4の(1)において、クラスタ辞書を検索し入力された単語を含むクラスタを探し、さらに推薦候補の単語を出力する。なお、この(1)の過程は図3で説明した過程であり、この段階で出力される複数の単語には出力順位が付けられている。
以下、図4の(2)から(9)までは類似非類似選択出力手段および分類ツリー参照手段が行う処理である。(2)において、入力された元の単語に対して分類ツリーを検索し、分類ツリー内で該当する単語の1つ上位のノード名(これをAとする)を得る。次に、(3)において、(1)で出力された複数の推薦候補の各単語に対して、以下(4)から(7)までの処理を繰り返し行う。(4)においては、推薦候補の単語に対して分類ツリーを検索し、分類ツリー内で該当する単語の1つ上位のノード名(これをB(x)とする; x=1,2,3,・・・)を得る。(5)においては、ノード名B(x)とノード名Aとを比較する。
【0024】
(5)の比較において両者が一致した(同じ)場合は、当該推薦候補の単語は入力された元の単語と類似の単語と判断し、(6)に進み、当該推薦候補の単語が所属するクラスタのクラスタサイズと予め定められた採用閾値T1とを比較する。クラスタサイズが採用閾値T1以上の場合には、この推薦候補の単語を採用として出力単語とする。その他の場合には、この推薦候補の単語を出力単語としない。
(5)の比較において両者が不一致の(違う)場合には、当該推薦候補の単語は入力された元の単語と非類似の単語と判断し、(7)に進み、当該推薦候補の単語が所属するクラスタのクラスタサイズと予め定められた採用閾値T2とを比較する。クラスタサイズが採用閾値T2以上の場合には、この推薦候補の単語を採用として出力単語とする。その他の場合には、この推薦候補の単語を出力単語としない。
そして、(8)において、最終的に残った出力単語を利用者に対して出力する。なお、この(8)の処理は、出力手段(図1の符号21)が実行する。
【0025】
なお、上記の採用閾値T1およびT2は、T1<T2となるように適宜設定する。
【0026】
ここで、実例を用いて類似非類似選択出力手段の処理を説明する。既に、出力順位決定手段によって、「ビジネスホテル」、「旅館」、「結婚式場」、「ゴルフ場」、「パチンコ」、「温泉旅館」、「会館」が、この順位で出力されている。
まず、ここで、採用閾値T1=50,T2=500とする。そして、入力された元の単語「ホテル」の1つ上位のノードは、図5によれば、「旅館・ホテル業」である。
そして、推薦候補の「ビジネスホテル」の1つ上位のノードは、「旅館・ホテル業」である。よって、上位ノードが一致するため、この推薦候補の単語は元の「ホテル」の類似単語である。類似単語であるので、採用閾値T1(=50)と「ビジネスホテル」が属するクラスタ1のクラスタサイズ15318とを比較する。そして、このクラスタサイズは、採用閾値T1以上であるので、この推薦候補の単語は採用され、出力単語となる。
以下、同様に、「旅館」は、「ホテル」の類似単語である。そして、「旅館」が属するクラスタ3のクラスタサイズ8075は、採用閾値T1以上であるので、この推薦候補の単語は採用され、出力単語となる。
また、「結婚式場」は、「ホテル」の非類似単語である。そして、「結婚式場」が属するクラスタ2のクラスタサイズ1258は、採用閾値T2(=500)以上であるので、この推薦候補の単語は採用され、出力単語となる。
【0027】
また、「ゴルフ場」は、「ホテル」の非類似単語である。そして、「ゴルフ場」が属するクラスタ4のクラスタサイズ811は、採用閾値T2以上であるので、この推薦候補の単語は採用され、出力単語となる。
また、「パチンコ」は、「ホテル」の非類似単語である。そして、「パチンコ」が属するクラスタ7のクラスタサイズ211は、採用閾値T2以上ではないので、この推薦候補の単語は採用されず、出力単語とならない。
また、「温泉旅館」は、「ホテル」の類似単語である。そして、「温泉旅館」が属するクラスタ3のクラスタサイズ8075は、採用閾値T1以上であるので、この推薦候補の単語は採用され、出力単語となる。
また、「会館」は、「ホテル」の非類似単語である。そして、「会館」が属するクラスタ2のクラスタサイズ1258は、採用閾値T2以上であるので、この推薦候補の単語は採用され、出力単語となる。
【0028】
このように、類似単語に対する採用閾値T1よりも非類似単語に対する採用閾値T2を大きくすることにより、非類似の推薦候補であって且つクラスタサイズの小さい単語、つまり関連性の高くない単語を出力単語から除外するようになる。これによって、利用者にとっては、より自然な推薦単語が提示されることになるという効果がある。
【0029】
なお、本実施形態では、類似か非類似かを判断するためのデータとして図5に示したような分類ツリーを用いたが、このデータは必ずしもツリー構造を有している必要はない。任意の2つの単語が相互に類似か非類似かを判定するために充分な情報を有しているデータで代用可能である。
【0030】
次に、ログ情報記録手段(図1の符号31)およびクラスタ辞書作成手段(図1の符号33)を用いてクラスタ辞書を作成する方法について、より詳細に説明する。
ログ情報記録手段は、利用者による情報検索を記録してログ情報として出力する。このログの各レコードには、少なくとも、利用者を識別する情報と、情報検索のために当該利用者によって入力された単語の情報と、当該単語が入力された時刻の情報とが含まれている。
【0031】
そして、クラスタ辞書作成手段は、図6に示す手順により、蓄積されたログ情報を解析し、クラスタ辞書を作成する。
まず、クラスタ辞書作成手段は、ログ情報に出現するすべての入力単語の集合を特定し、各単語に番号(1,2,3,・・・,n)を付ける。例えば、電話番号案内のための情報検索システムにおいて業種を表す単語の入力を受け付けた場合、nはせいぜい数千程度である。これらn個の単語を要素とするベクトルを基本単語ベクトルと呼ぶ。
そして、(1)において、ログ情報の各レコードをセッション別に分類する。具体的には、利用者が同一であり、且つ直前の当該利用者のレコードから所定の時間内(例えば30分以下)の間隔でつながる一連のレコードは、同一のセッションとしてまとめられる。
次に、(2)において、すべてのセッションの数をカウントし、この全セッション数Nsの0.01%に相当する値を類似単語用の採用閾値T1とし、同じくNsの0.1%に相当する値を非類似単語用の採用閾値T2とする。
なお、採用閾値T1およびT2を決めるにあたって、T1を全セッション数Nsの0.01%以上且つ0.05%以下に設定し、T2をこのT1よりも大きい値に設定すると良い結果が得られることが本発明者らの実証実験によってわかっている。T1を0.01%未満にすると関連性の低い単語が採用されてしまう場合がある一方、T1を0.05%より大きくすると関連性の高い単語が振るい落とされてしまう場合がある。また、T1よりもT2を大きくすることによって、非類似の単語は、より関連性の高いもののみが採用される。また、前記のように、T1を全セッション数Nsの0.01%として、T2を全セッション数Nsの0.1%としたときに、特に良い結果が得られることも、前記実証実験によりわかっている。
【0032】
次に、(3)において、各セッションについて、セッションベクトルを作成する。セッションベクトルとは、次のようなベクトルである。
(X(1),X(2),X(3),・・・,X(n))
但し、i番目の単語(1≦i≦n)が、当該セッションのレコードに入力単語として含まれるときはX(i)=1、そうでないときはX(i)=0である。
そして、(4)において、これらのセッションベクトルを、例えばK−means法などといったアルゴリズムを用いてクラスタリングすることにより、セッションベクトルをメンバーとしたクラスタが得られる。
そして、(5)において、各セッションベクトルのクラスタにおいて、そのメンバーである各セッションベクトルを実際の単語集合に戻す。つまり、各クラスタについて、そのクラスタに属するすべてのセッションベクトルにおいてX(i)=1(1≦i≦n)なる単語の和集合をとることにより、それらの単語をメンバーとしたクラスタが得られる。
そして、(6)において、単語毎の出現の回数を数え、その単語の出現頻度とする。つまり、クラスタにおける単語の出現頻度とは、そのクラスタにおいて当該単語に対応したX(i)が1となったセッションベクトルの数である。
そして、(7)において、図2に示した形式のクラスタ辞書を出力して処理を終了する。
【0033】
以上、説明したように、本実施形態では、実際に利用者によって入力された単語をセッション単位で分析することによって、実用に適したクラスタ辞書を自動的に作成することができる。また、類似単語と非類似単語とを分けて、それぞれ別の閾値を用いて出力するかどうかを決定するため、適切な単語を推薦することができる。
図7は、本実施形態による情報検索システムを用いて得られる推薦単語の例である。図7では、入力単語に対して、類似推薦単語と非類似推薦単語とを区分して示している。
【0034】
上述の情報検索システムは、コンピュータシステムを用いて実現している。そして、上述した入力手段、クラスタ辞書参照手段、出力順位決定手段、分類ツリー参照手段、類似非類似選択出力手段、出力手段、ログ情報記録手段、クラスタ辞書作成手段などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、クラスタ辞書や分類ツリーやその他各種データは、コンピュータが備えている記憶装置に記憶されている。ここで記憶装置とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等の各種記憶媒体を用いた装置である。
【0035】
以上、図面を参照してこの発明の実施形態を詳述したが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
また、ここでは、業種に関する単語を入力して代替の推薦候補の単語を得る場合を例として実施形態の説明を行ったが、他の種類の単語に本発明を適用しても良い。また、ここでは、インターネット上のWebサイトにおける電話番号案内のアプリケーションの例に基づいて実施形態の説明を行ったが、本発明を他のアプリケーションに適用しても良い。
【0036】
次に、本発明の基礎となった研究の成果について述べる。
【0037】
1.まえがき
1.1はじめに
近年、大容量二次記憶装置の低価格ならびにプロセッサ性能の向上に伴い、膨大なWebサイトに対するユーザのアクセスログ(所謂クリックストリーム)を解析することが可能となり、Webログマイニング技術が注目を集めている。データマイニング手法によりアクセスログを分析し、ユーザのアクセス支援や、サイトの再設計のためのツールなど、種々の利用が模索されている。しかしながら本願発明者らの知る限り、大規模なログマイニングに関する実験結果の報告は殆どなされていない。ここでは、日本における電話番号情報サービスを提供する大規模商用サイトi−TownpageのWebアクセスログを利用し、ログマイニングによる問合せ拡張に関する実験結果を報告する。アクセスログの統計分析の結果、同一セッションにおいてユーザは異なる業種階層にある業種を検索していることが多いことがわかった。また、検索条件に合致するデータがなく、「検索結果0件」という状況が多く発生しているという問題点があることも判明した。このような問題を鑑み、ここでは、ユーザのアクセスログに対し、K−means法を拡張したクラスタリング手法を用いて分析を行い、その結果を利用した問合せ拡張手法を提案する。提案手法では、2種類の推薦を試みる。即ち、ユーザの問合せた業種と類似する業種の推薦、ならびに業種分類上類似性が高いとはされないものの強い関連性がログから見出される業種の推薦の2種である。提案手法に基づくシステムを実装すると同時に、その有効性に関する評価結果についても報告する。
【0038】
1.2 関連研究
データマイニング手法等を利用したアクセスログによるWebページナビゲーションの分析は盛んに行われているものの、分析結果に基づくユーザ支援に関する研究は必ずしも多くなく、小規模実験によるWebページの推薦、リンクの生成程度しか行われていない。Yan 等は、ユーザセッションをそのアクセスしたWebページとそのアクセス数で表現してクラスタリングを行い、動的にリンクを生成するシステムを構築した。また、Mobasher等は、ユーザのWebページナビゲーションに関して、Webページ間の相関ルールを抽出し、それを用いてユーザにWebぺージを推薦するシステムを提案している。
また、アイテムの推薦では協調型フィルタリングの研究が盛んに行われている。しかしながら、協調型フィルタリングは、アイテムに対する評価をユーザプロファイルとして保持し、それを利用することが前提となっている。番号情報検索サービスでは一般にユーザを特定することは容易ではなく、本論文では、ユーザプロファイルがない状況下における不特定ユーザに対する問合せ拡張の実現を目的としている。
以下では、第2章にてi−Townpageの紹介ならびにログから判明した問題点について述べ、第3章にてクラスタリングによるユーザの問合せ傾向の分析結果を記す。続く第4章にてクラスタリング結果を利用した問合せ拡張手法を提案し、第5章にて問合せ拡張システムの実装ならびに評価を述べ、第6章にて纏める。
【0039】
2.番号情報検索サービスとその問題点
本章では、番号情報検索サービスであるi−Townpageについてその概要を紹介すると共に、アクセスログを解析することにより明らかになった当該サイトの問題点について述べる。
2.1 i−Townpage
i−Townpageは、日本全国約1,100万件の店舗情報を提供する検索サービスを提供している大規模商用Webサイトである。サイトには、1ヶ月あたりのぺージビューが6,000万弱を数えるアクセスがある(2002年2月現在)。ユーザは店舗名や業種で電話番号情報を調べることが出来る他、地図や詳細な情報も得ることが出来る。図8の左側のページがそのトップページであり、検索を行うには、条件入力フォームから2つの条件を指定する必要がある。1つはキーワード、業種名あるいは店舗・企業名であり、もう1つは地域(住所)である。図8の右側のページが結果のページであり、検索結果には、入力条件に合致する店舗・企業名と住所、電話番号、地図、詳細情報等が出力される。業種の指定では、直接入力することが可能である他、50音別の索引や業種リストを選択することによっても指定することが出来る。この業種リストは4層の階層構造をなしており、約15のトップカテゴリの下に約80、500、3,000の子階層カテゴリを有している(ここで業種総数は約2,000であり、これはいくつかの階層に重複して登録されている業種があるためである)。業種リスト選択の例を図9に示す。例えば、「ホテル」をリストから選択して指定するには、図のように「レジャー産業」→「旅館・ホテル業」→「ホテル」と階層を辿ることによって指定することが出来る。
【0040】
2.2 ログ解析から判明した問題点
i−Townpageの2000年2月1日から6月30日までのアクセスログ(ログ行数約4.5億、容量約200GB(ギガバイト))を解析した結果、判明した問題点について以下に纏める。
検索リクエストを解析した結果を図10に示す。解析の結果、図に示すように主たる検索方法は業種と場所の指定による検索であり、総リクエスト数の約60%を占めることがわかった(使用したログの時点ではキーワードによる検索はサイトにまだ導入されていなかったため、これに該当する検索は含まれていない)。ここで、2つ以上の異なる業種を入力しているユーザセッション(セッションとはユーザの一連のリクエストであり、定義については次章にて述べる)を調べたところ、業種による検索を含むセッション総数のうちの27.2%存在しており、これらのセッションに関してさらに階層構造上異なる階層にある業種が入力されたセッション数を調べたところ、75.2%存在することが判明した。このことから、設計者によって規定された業種階層構造とユーザが意識している業種分類が必ずしも一致していないか、あるいは複数目的のユーザが多いことが推測される。一般に職業分類は時代と共に大きく変化するものであり、任意の時点で最適な業種分類を維持することは極めて困難と言えよう。仮に、階層構造とユーザの問合せ傾向が一致していない場合、ユーザが検索時に不便を覚える可能性が高いため、問合せ傾向を分析する必要がある。
また、検索リクエストに対する検索結果数を調べたところ、図10に示すように、業種と場所による検索においてその約25%が検索結果0件となっていることがログからわかった。現システムでは、検索条件に合致しない場合は、場所の指定の変更を示唆するだけであるため、ユーザが不満を覚える状況が頻繁に起こっている可能性がある。ユーザの満足度を高めるためにもこの状況は改善することが望まれる。
【0041】
3. クラスタリングによるアクセスログの分析
アクセスログの統計分析より、同一セッションにおいて異なる階層にある業種が問合せに使用されていることがわかった。仮に階層構造とユーザの問合せ傾向が一致していない場合、ユーザが不便を覚えている可能性がある。そこで、問合せに関してクラスタリングを用いた分析を行った。以下では、まず使用したアクセスログの詳細および前処理について述べ、次にクラスタリングアルゴリズムを説明し、最後に結果について記す。
【0042】
3.1 前処理
i−Townpageでは、通常のアクセスログ(Apacheアクセスログ)に加えてアプリケーションログが存在する。アクセスログにはアクセス日時、リモートホスト名、ユーザエージェント名、リクエストURI、参照元URL、Cookie ID等が記録され、アプリケーションログにはアクセス日時、リモートホスト名、Cookie ID、入力された検索条件、検索結果件数等が記録されている。分析時には、Cookie ID等を使用してこれら2つのログを統合して使用した。
今回、分析に使用したデータは2000年2月1日から6月30日までのアクセスログであり、図11に示すように総ログ数は約4.5億、容量約200GBであった(加えて20GBのアプリケーションログがある)。総ログ数の約62%は画像データのリクエストが占め、さらにCookie IDが取得出来ているものはそのうちの約60%であり、分析対象となるのはログ総数24,629,517、容量約17GBのCookie IDが取得出来ている検索リクエストである。
【0043】
アクセスログを利用してユーザ行動を分析する際、まずユーザを特定しなければならない。また、訪れる度ごとにユーザの要求が変化する可能性があるため、通常各ユーザのリクエストをセッションという単位に切り分ける。本分析では、Cookie IDが取得できているユーザの検索リクエストのみを使用し、Cookie IDを使用してユーザを特定し、その一連のリクエストをユーザセッション単位に切り分けて使用した。セッション間隔は、広く使用されている30分の閾値を使用し、各リクエスト間隔が30分以内のものをセッションと定義した。問合せに関してユーザセッションをクラスタリングするにあたって、ユーザセッションをその入力した業種によってベクトルで表した。ここで、業種総数をNgとすると、i番目のセッションSiのセッションベクトルSi(→)が業種jを入力したかを式(1)によって表す。この時、業種階層は考慮しておらず、業種数は約2,000種類存在した。
【0044】
【数1】
【0045】
3.2 クラスタリングアルゴリズム
クラスタリングアルゴリズムとして、一般的に広く用いられているK−meansアルゴリズムを採用した。K−meansは最初にK個の代表点を選び、全てのデータ点を類似度が高いクラスタに割当てる分割型クラスタリングである。しかしながら、ここでは生成すべきクラスタ数が未知であるため、初期値としてクラスタ数Kを与えるのではなく、類似度閾THsimを与えることによりクラスタ数を動的に決定可能であるように改良を施した。以下にアルゴリズムの詳細を示す。
入力セッション数がNである時、入力ベクトルS1(→),S2(→),S3(→),…,SN(→)に対して、
ステップ1)最初の入力ベクトルS1(→)をクラスタC1の中心ベクトルC1(→)とし、S1をC1のメンバとする。
ステップ2)以降、入力Si(→)に対して、既存のクラスタC1,…,Ckとの類似度を式(2)によって計算し、どのクラスタとの類似度も閾値THsim未満の場合は、新たなクラスタを生成してそのクラスタ中心とし、類似度が閾値THsim以上の場合は、最も類似度が高いクラスタのメンバとする。この時、メンバが新たに増減したクラスタはその中心ベクトルを式(3)にて再計算する。
ステップ3)割当てが収束するまで繰り返す。
【0046】
【数2】
【0047】
【数3】
【0048】
ここでMjはクラスタらのメンバ数である。
【0049】
3.3 クラスタリング結果
ユーザセッションのクラスタリングを行うにあたって、2つ以上の業種が入力されたユーザセッションを対象とした。この時、該当するセッション数は564,355であった。得られたクラスタには、メンバ(セッション)数が1であるクラスタも含まれる。得られた結果を解釈するにあたって、小さいクラスタは考慮しないこととし、最小クラスタサイズMINclよりも少ないメンバ数のクラスタはクラスタとしてカウントしないことにする。今回の実験では、この値を対象セッション数の0.01%(MINcl=56.4人)未満とし、それに相当する56人以下のユーザセッションで構成されるクラスタは切り捨てた。また、いくつかのパラメータで試験した結果、閾値THsimには0.10を用いることにした。その結果、得られたクラスタ数は826個であり、クラスタのサイズは、図12に示すように57セッションで構成される小さいクラスタから21,029セッションで構成される巨大なクラスタまで抽出された。この時、構成セッション数の平均値は678.8、メディアンは330であった。
【0050】
クラスタリングを行った結果のうち、「ホテル」が含まれるいくつかのクラスタを例として図13に掲載する(その他のクラスタ例も図21に掲載してある)。結果のクラスタは、そのクラスタを構成するセッション(メンバ)数、およびクラスタを構成するユーザセッションにおいて入力された業種とその業種を入力したセッション(メンバ)数で表されている。この時、考慮する業種は、新たに設定したクラスタ内閾値クラスタ内閾値THcat以上のセッションが入力したものに限定してある。ここでは、クラスタ内閾値THcatをクラスタ構成セッション数の10%とした。例えば、図13において、クラスタ1は15,318、「ビジネスホテル」が13,654、その他の業種は入力したのがクラスタ構成セッション数15,318の10%未満、つまり1,531以下であることを表している。結果には様々な利用目的やコンテクストを持ったユーザセッションのクラスタが得られた。例えば図13において、クラスタ1、2、3、5は宿泊施設を探しているユーザセッションのクラスタであるが、それぞれの利用目的やコンテクスに相違がある。また、「貸し会議室」を探している人や「結構式場」を探している人が同時に「ホテル」を検索条件に入力している等、宿泊施設を探す目的以外の様々なユーザ挙動が把握出来た。
クラスタリングを行った結果のうち、「ホテル」が含まれるいくつかのクラスタを例として図13に掲載する(その他のクラスタ例も図21に掲載してある)。結果のクラスタは、そのクラスタを構成するセッション(メンバ)数、およびクラスタを構成するユーザセッションにおいて入力された業種とその業種を入力したセッション(メンバ)数で表されている。この時、考慮する業種は、新たに設定したクラスタ内閾値クラスタ内閾値THcat以上のセッションが入力したものに限定してある。ここでは、クラスタ内閾値THcatをクラスタ構成セッション数の10%とした。例えば、図13において、クラスタ1は15,318、「ビジネスホテル」が13,654、その他の業種は入力したのがクラスタ構成セッション数15,318の10%未満、つまり1,531以下であることを表している。結果には様々な利用目的やコンテクストを持ったユーザセッションのクラスタが得られた。例えば図13において、クラスタ1、2、3、5は宿泊施設を探しているユーザセッションのクラスタであるが、それぞれの利用目的やコンテクスに相違がある。また、「貸し会議室」を探している人や「結構式場」を探している人が同時に「ホテル」を検索条件に入力している等、宿泊施設を探す目的以外の様々なユーザ挙動が把握出来た。
【0051】
得られた結果のクラスタとi−Townpageで用いられている業種階層とを比較すると、業種階層において同一階層にない業種が同一クラスタに存在する結果が数多くみられた。例えば、図14には左側にi−Townpageにおける業種階層の一部が、右側クラスタリング結果の一部が示してある。この図において、右下のクラスタ1は「ホテル」と「ビジネスホテル」で構成されるクラスタであり、これら2つの業種は、カテゴリ階層において両者とも「旅館・ホテル業」というカテゴリの下に位置する同一階層の業種であるが、右上のクラスタ5では、その構成業種である「旅館・ホテル・民宿予約センター」は「旅行業」に属する業種であり、その他の構成業種である「ホテル」、「ビジネスホテル」、「旅館」、「温泉旅館」の属する「旅館・ホテル業」とは異なっている。業種「ホテル」が含まれるいくつかのクラスタ例(図13)においても、「結婚式場」、「レンタカー」、「ゴルフ場」、「貸会議室」等、「ホテル」とは業種階層において離れている業種とともに検索に用いられていることがわかる。図13および図21に掲載したクラスタには、クラスタを構成するトップの業種(上記クラスタ5では「旅館・ホテル・民宿予約センター」)と比較して、その他の業種に関して、その業種が同一階層でない場合、「旅行業」と「旅館・ホテル業」のように親階層まで考慮すれば同一階層である場合は、その業種名の右に「△」を記し、1つ上の親階層まで考慮しても同一階層にない場合にはその業種名の右に「▲」を記した。また、全ての業種が階層リストに分類されているわけではないため、リストに含まれていない業種に関してはその業種名の右に「*」を記した。
【0052】
結果より、同じ「ホテル」を入力するにしても、宿泊場所を探している入もあれば、「結婚式場」を探している人、「貸会議室」を探している人と、ユーザの要求やコンテクストが異なっており、多様な要求が存在していることが把握出来た。このように、Webアクセスログのクラスタリングは、ユーザの行動理解に有効であると言える。また、カテゴリ階層では同一カテゴリに属していない業種が同一セッションで入力される場合が多いこともクラスタリングにようて確認された。同一階層の業種のみで構成されるクラスタは826クラスタ中134個(16.2%)、異なる階層の業種を含むクラスタは692個(83.8%)に上った。
【0053】
同一セッションにおいて異なる業種が検索に用いられているのは、ユーザの要求の多様性およびサイト構造の欠陥が考えられる。しかしながら、業種が同一で明らかに変更した方が良い場合はサイトの再構築に反映させることが出来るが、そうでない場合はサイト構造へ反映させると逆にユーザを混乱させてしまう可能性がある。例えば、図13のクラスタ7では、「レンタカー」を1,158セッションが入力しており、その約10%の120セッションが「ホテル」を入力しているが、サイトに変更を加えて「レンタカー」と「ホテル」を同一階層にした場合、分類の仕方によっては却ってユーザが分類のポリシーを理解し難くなる可能性がある。そこで、サイト再構築への分析結果の利用に関しては今後の検討事項としてこれ以上触れず、以下ではユーザの入力に対して問合せを拡張することによって利便性の向上を図ることに焦点を絞る。次章ではクラスタリング結果を利用した問合せ拡張手法を提案する。
【0054】
4.分祈結果を利用した問合せ拡張
4.1 方 針
第2章にて検索結果0件の検索リクエストが多いことを述べた。この状況に対処する方法として、まず検索条件のうちの場所を変更することをユーザに薦めることが考えられる。これは緯度経度情報を取得出来れば実現が難しくないため、本論文では取り扱わないことにする。そこで、検索条件に指定された業種を拡張提示することを考える。検索結果0件の際には、まず入力された業種と一般的な分類においても類似しているとされている業種を拡張提示することがユーザの満足度の向上に必要であろう。この時、分析結果から関連していると判断される業種を優先して提示することが望ましいと考えられる。
また、前章にて述べたように、階層構造上近くにない業種が同一セッションにおいて入力されていることがわかった。このようなユーザの要求の多様性に対しても業種の推薦によって対応する必要があると考えられる。それ故、付加的な拡張として、入力された業種と階層構造上異なるもののログからは関連すると判断される業種を推薦する。例えば「ホテル」が入力された場合に、まず宿泊施設である「ビジネスホテル」等の業種を拡張提示し、さらに「結婚式場」や「貸会議室」、「レンタカー」といった階層上では近くにないがログから関連すると判断される業種を提示することによってユーザの利便性の向上を図ることが出来ると考えた。
【0055】
4.2 問合せ拡張手法
上述の方針に従い、入力された業種の拡張提示を行うにあたって2種類の拡張による手法を提案する。1つは分析結果から関連していると判断された業種のうち同一階層上にある業種の提示であり、他の1つは階層上近くにないが分析結果から関連していると判断された業種の提示である。この2種類の拡張をそれぞれ同階層業種推薦、異階層業種推薦と呼ぶことにする。以下に詳細を記す。
同階層業種推薦では、入力された業種が属するクラスタのうち、クラスタサイズに対してその業種を入力している割合が高いクラスタから順に、そのメンバである業種を入力数順に並べ1つ取り出し、それが入力業種と階層上同一である場合この業種を推薦する。
異階層業種推薦では、入力された業種が属するクラスタのうち、クラスタサイズに対してその業種を入力している割合が高いクラスタから順に、そのメンバである業種を入力数順に並べ1つ取り出し、それが入力業種と階層上異なる場合にこの業種を推薦する。この時、新たに異階層拡張閾値THinterを導入し、THinterよりも大きなサイズのクラスタを使用する。
【0056】
同階層業種推薦では、例えば「ホテル」が入力された際の拡張を図13を使用して考えた場合、「ホテル」の割合が高いクラスタ1、5、6、2、3、10、・・・の順にそのメンバである業種「ビジネスホテル」、「旅館・ホテル・民宿予約センター」、「結婚式場」、「温泉旅館」、「民宿」、「貸会議室」、・・・のうち同一階層にある「ビジネスホテル」、「温泉旅館」、「民宿」、・・・を拡張提示する。
異階層業種推薦では、同様に「ホテル」の入力に対する拡張を想定した場合、異階層にある「旅館・ホテル・民宿予約センター」、「結婚式場」、「貸会議室」、・・・を拡張提示する。この時、異階層拡張閾値THinterよりも大きなサイズのクラスタのみを対象とし、同階層業種推薦で使用されるクラスタよりも大きいクラスタを使用する。これは、関連性の低い業種が過度に拡張されるのを防ぐためである。
【0057】
5.問合せ拡張システムの実装と評価結果
5.1 実 装
前章で述べた拡張手法を用いて、問合せ拡張システムを実装した。このシステムは通常の検索と同様に業種と場所を指定することによって、通常のiーTownpageの検索結果に加えて問合せ業種の拡張を提示する。システムの全体構成を図15に示す。システム全体はオンライン処理とオフライン処理の2つに分かれている。オフライン処理ではアクセスログから前処理によってユーザセッションベクトルを作成し、それをクラスタリングし業種クラスタを得る。オンライン処理では、ユーザの問合せに対して、通常の検索結果をi−Townpageに問合せ、加えてクラスタと業種階層から業種の拡張を行い、ユーザに提示する。
【0058】
検索結果ページの例を図16に示す。結果ページでは、右側のフレームに通常のi−Townpageにおける検索結果を表示し、左側のフレームに問合せ拡張された業種を提示する。問合せ拡張部分では、上部に同階層業種推薦による拡張を提示し、異階層業種推薦による拡張をその下に提示する。このシステムによる検索結果では、拡張された業種はリンクとなっており、ユーザはそれをクリックすることによってその業種での問合せをシステムに行うことが出来る。これによって、ユーザは関連する業種での問合せを容易に行うことが可能である。
【0059】
5.2 問合せ拡張結果
拡張結果の例を図17に示す。図17の1つ目の結果は、「ホテル」が入力された際の拡張を表しており、同階層業種推薦によって同階層にある「ビジネスホテル」や「旅館」等が拡張され、異階層業種推薦によって異階層にある「旅館・ホテル・民宿予約センター」、「宿泊施設」、「結婚式場」、「貸会議室」等が拡張される。結果より、提案手法によってログから関連すると判断された業種のうち同一階層のみならず異階層にある業種も拡張提示可能であることが確認された。
ここに掲載した拡張結果では、異階層拡張閾値THinterをクラスタリング対象セッション数の0.1%に相当する564.4に設定した。即ち564人以下のクラスタは異階層業種推薦には使用しなかった。また、クラスタ内閾値THcatは10%に設定した。即ち拡張にはクラスタサイズの10%以上が入力している業種を使用している。これらの閾値は筆者らの判断において仮に設定しているが、閾値によってどの程度の拡張を行うのがユーザにとって好ましいのかについてはユーザによる評価実験を行い明らかにする必要があり、これを今後の検討事項とする。
【0060】
5.3 評 価
クラスタリングには使用していない2000年7月1日から7月20日までのログを評価実験用のデータとして、提案手法による拡張の有効性を調査した。まず、実験用のデータをユーザセッションに切り分け、問合せの遷移関係「業種X→業種Y」を抽出する。例えば、ある1つのセッションにおいて「業種A→業種B→業種C」と入力されていた場合、このセッションからは「業種A→業種B」、「業種B→業種C」の2つの遷移関係が抽出される。この時、遷移前の業種に対する拡張に遷移後の業種が含まれる時、これを拡張成功とする。遷移関係の総数をNとする時、拡張成功の総数をSとし、拡張成功率を以下のように定義する。
【0061】
【数4】
【0062】
また、遷移関係iの入力(遷移関係における左辺)に対する拡張業種数をEiとすると、拡張業種数の平均は以下のように定義できる。
【0063】
【数5】
【0064】
実験用データでは遷移関係数Nは318,899であった。図18にクラスタ内閾値THcatに対する拡張成功率ならびに平均拡張業種数のグラフを掲載する。グラフにおいて、X軸はクラスタ内閾値THcatを表し、左Y軸は拡張成功率、右Y軸は平均拡張業種数を表している。結果より、業種変更をしている挙動の40%以上に対して提案する拡張手法によって提示出来、業種変更に伴うユーザの負担を軽減することが可能であることが示された。加えて、今までは変更すべき業種が想起出来なかったユーザに対して業種変更を支援することが可能になると期待される。
また、問合せ拡張システムでは、検索条件に合致するものが存在しなかった場合に代替案を提示する効果を挙げることも出来る。例として図19に検索結果0件となった場合の問合せ拡張システムの結果を示す。この例では、検索条件に「カプセルホテル」が入力されており、同じ場所において、同階層業種推薦によって「旅館」、「ビジネスホテル」、「ラブホテル」、「ホテル」、「民宿」ならばそれぞれ2、3、1、10、2件の結果が得られることが示され、異階層業種拡張によってさらに「サウナぶろ」、「銭湯」、「旅館・ホテル・民宿予約センター」にてそれぞれ4、1、2件の結果が得られることが提示されている。結果より、検索結果が得られなかったユーザに対して同階層業種での代替案を提示するのに加え、異階層にあるがログから関連性が認められた業種による結果も付加することが可能であることが確認された。これにより、検索結果が得られなかった旨を告げ単に場所変更を示唆するだけであった従来と比較すると、提案したシステムはユーザの満足度や利便性の向上に貢献し得ると考えられる。
【0065】
検索結果0件時の拡張による結果件数の増分を調べるために、実験データから結果0件となる検索条件の業種と場所の組合せを抽出した。図20に各クラスタ内閾値に対する検索結果0件時の業種拡張による結果件数の増分の平均値のグラフを掲載する。グラフより、検索結果0件において問合せ拡張により少なくとも平均2.5件ほど結果が得られることが確認された。
【0066】
6.おわりに
ここでは、日本における電話番号情報サービスを提供する大規模商用サイトi−TownpageのWebアクセスログを利用し、ログマイニングによる問合せ拡張に関する実験結果を報告した。アクセスログの統計分析の結果、同一セッションにおいてユーザは異なる業種階層にある業種を検索していることが多く、又、ユーザの与えた検索条件に合致するデータが無い場合も多く発生していることが判明した。このような問題を鑑み、本論文では、ユーザのアクセスログに対しK−means法を拡張したクラスタリング手法を用いて分析を行い、結果を利用した問合せ拡張手法を提案した。提案手法では、2種類の推薦、即ちユーザの問合せた業種と類似する業種の推薦、ならびに業種分類上異種性が高いものの強い関連性がログから見出される業種の推薦を行った。提案手法に基づくシステムを実装し、その有効性を調べたところ40%を越える問合せに関して有効であることが示された。また、結果0件の検索に対しても少なくとも平均2.5件ほどの関連業種による代替案の提示が期待されることも示された。今後の展望としては、今回は1入力に対する問合せ拡張を行ったが、いくつかの入力が与えられた場合にコンテクストを推定出来る可能性があり、これをシステムに組み込むことや、相関ルールマイニング等他の手法を用いた場合との比較検討が挙げられる。
【0067】
【発明の効果】
以上説明したように、この発明によれば、複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部を設け、このクラスタ辞書記憶部を参照することによって、入力された単語があるクラスタ内に属する場合に、そのクラスタ内に属する他の単語を推薦候補の単語として出力するようにしたため、適切な代替案の単語の候補を推薦提示することができる。
【0068】
また、この発明によれば、クラスタ辞書記憶部に、更に、各クラスタに属する各単語毎の出現頻度値と各クラスタ毎のクラスタサイズ値とを記憶させ、各クラスタにおいて、入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する単語がより高順位となるように出力順位を決定するため、より適切な代替案の単語の候補を高順位で提示することができる。
また、この発明によれば、該当するクラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定するため、より適切な代替案の単語の候補を高順位で提示することができる。
また、この発明によれば、2個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部を設け、この分類情報記憶部を参照することにより推薦候補の単語を類似あるいは非類似のいずれかに判定し、類似の単語と非類似の単語とに関してそれぞれ別の採用閾値を用いて、当該単語の属するクラスタのクラスタサイズ値とその採用閾値とを比較し、クラスタサイズ値がその採用閾値以上の場合にのみ当該単語を出力するようにしたため、類似の単語と非類似の単語とをそれぞれ異なる水準で出力するか否かを決定することができる。これにより、利用者にとってより自然な代替案の単語を推薦表示することが可能となる。
【0069】
また、この発明によれば、ログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報を作成する。これにより、単語の推薦に必要なクラスタ辞書を人手をかけずに自動的に作成することができる。
【図面の簡単な説明】
【図1】 この発明の一実施形態による情報検索システムの概略構成を示す構成図である。
【図2】 同実施形態によるクラスタ辞書が保持する情報の一例を示す概略図である。
【図3】 同実施形態により、推薦候補の単語の出力順位を決定するための手順を示す概略図である。
【図4】 同実施形態により、類似あるいは非類似を判断してその結果に応じて出力するか否かを決定するための手順を示す概略図である。
【図5】 同実施形態による分類ツリーに格納されるデータ例を示す概略図である。
【図6】 同実施形態により、蓄積されたログ情報を解析し、クラスタ辞書を作成するための手順を示す概略図である。
【図7】 同実施形態による情報検索システムを用いて得られる推薦単語の例である。
【図8】 i−Townpageのトップページと検索結果ページを示す図である。
【図9】 業種リストからの業種選択の例を示す図である。
【図10】 検索リクエストの解析結果を示す図である。
【図11】 アクセスログのサイズを示す図である。
【図12】 クラスタサイズを示す表図である。
【図13】 クラスタリング結果例を示す表図である。
【図14】 i−Townpageの業種階層とクラスタリング結果を示す図である。
【図15】 システムの全体構成図である。
【図16】 問合せ拡張システムによる検索結果を示す図である。
【図17】 問合せ拡張結果例を示す表図である。
【図18】 クラスタ内閾値に対する拡張成功率及び平均拡張業種数を示すグラフである。
【図19】 検索結果0件時の問合せ拡張例を示す図である。
【図20】 クラスタ内閾値に対する0件時の拡張による結果増分の平均値を示すグラフである。
【図21】 クラスタリング結果例を示す表図である。
【符号の説明】
11 入力手段
13 クラスター辞書参照手段
15 出力順位決定手段
17 分類ツリー参照手段
19 類似非類似選択出力手段
21 出力手段
31 ログ情報記録手段
33 クラスター辞書作成手段
41 クラスター辞書
43 分類ツリー
Claims (10)
- 利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、
複数の単語が非排他的に複数のクラスタに属するように分類した情報、及び、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するクラスタ辞書記憶部と、
2個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部と、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語とするクラスタ辞書参照手段と、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を、当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位になるように、かつ、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位になるように、出力順位を決定して前記推薦候補の単語を出力する出力順位決定手段と、
前記分類情報記憶部を参照することにより、前記出力順位決定手段により出力された前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力手段と、
を備えることを特徴とする情報検索システム。 - 請求項1に記載の情報検索システムにおいて、
前記類似非類似選択出力手段は、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第1の採用閾値とを比較しクラスタサイズ値が第1の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第1の採用閾値より大きい第2の採用閾値とを比較しクラスタサイズ値が第2の採用閾値以上の場合にのみ当該推薦候補の単語を出力する
ことを特徴とする情報検索システム。 - 請求項1に記載の情報検索システムにおいて、
利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成手段を備えることを特徴とする情報検索システム。 - 請求項2に記載の情報検索システムにおいて、
利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、全ての当該セッションの数に基づいて前記第1の採用閾値及び前記第2の採用閾値を決定するとともに、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成手段を備えることを特徴とする情報検索システム。 - 利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法であって、
複数の単語が非排他的に複数のクラスタに属するように分類した情報、及び、各クラス タに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するクラスタ辞書記憶部と、
2個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部と
を備えるコンピュータにおいて、
クラスタ辞書参照手段が、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語とするクラスタ辞書参照過程と、
出力順位決定手段が、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を、当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位になるように、かつ、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位になるように、出力順位を決定して前記推薦候補の単語を出力する出力順位決定過程と、
類似非類似選択出力手段が、前記分類情報記憶部を参照することにより、前記出力順位決定過程により出力された前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力過程と、
を有することを特徴とする情報検索方法。 - 請求項5に記載の情報検索方法において、
前記類似非類似選択出力過程では、類似非類似選択出力手段が、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第1の採用閾値とを比較しクラスタサイズ値が第1の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第1の採用閾値より大きい第2の採用閾値とを比較しクラスタサイズ値が第2の採用閾値以上の場合にのみ当該推薦候補の単語を出力することを特徴とする情報検索方法。 - 請求項5に記載の情報検索方法において、
前記コンピュータのクラスタ辞書作成手段が、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成過程を有することを特徴とする情報検索方法。 - 請求項6に記載の情報検索方法において、
前記コンピュータのクラスタ辞書作成手段が、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、全ての当該セッションの数に基づいて前記第1の採用閾値及び前記第2の採用閾値を決定するとともに、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成過程を有することを特徴とする情報検索方法。 - 請求項5から請求項8までのいずれかに記載の情報検索方法をコンピュータに実行させるコンピュータプログラム。
- 請求項5から請求項8までのいずれかに記載の情報検索方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002238603A JP4073734B2 (ja) | 2002-08-19 | 2002-08-19 | 入力単語候補を推薦する情報検索システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002238603A JP4073734B2 (ja) | 2002-08-19 | 2002-08-19 | 入力単語候補を推薦する情報検索システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078618A JP2004078618A (ja) | 2004-03-11 |
JP4073734B2 true JP4073734B2 (ja) | 2008-04-09 |
Family
ID=32021967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002238603A Expired - Fee Related JP4073734B2 (ja) | 2002-08-19 | 2002-08-19 | 入力単語候補を推薦する情報検索システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4073734B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657519B2 (en) * | 2004-09-30 | 2010-02-02 | Microsoft Corporation | Forming intent-based clusters and employing same by search |
US20070100862A1 (en) | 2005-10-23 | 2007-05-03 | Bindu Reddy | Adding attributes and labels to structured data |
US7933900B2 (en) * | 2005-10-23 | 2011-04-26 | Google Inc. | Search over structured data |
US7987185B1 (en) | 2006-12-29 | 2011-07-26 | Google Inc. | Ranking custom search results |
JP2008242836A (ja) | 2007-03-27 | 2008-10-09 | Toshiba Corp | 辞書更新装置およびプログラム |
JP5933085B1 (ja) * | 2015-07-28 | 2016-06-08 | ナレッジスイート株式会社 | 情報収集システム及び情報管理システム |
JP6858798B2 (ja) * | 2017-02-02 | 2021-04-14 | 日本電信電話株式会社 | 特徴量生成装置、特徴量生成方法及びプログラム |
-
2002
- 2002-08-19 JP JP2002238603A patent/JP4073734B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004078618A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101078864B1 (ko) | 질의/문서 주제 범주 변화 분석 시스템 및 그 방법과 이를 이용한 질의 확장 기반 정보 검색 시스템 및 그 방법 | |
US8135739B2 (en) | Online relevance engine | |
JP4627656B2 (ja) | 動的コンテンツクラスタリング | |
JP4908214B2 (ja) | サーチクエリのリファインメントを提供するシステム及び方法。 | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
Pu et al. | Subject categorization of query terms for exploring Web users' search interests | |
KR100756921B1 (ko) | 문서 분류방법 및 그 문서 분류방법을 컴퓨터에서 실행시키기 위한 프로그램을 포함하는 컴퓨터로 읽을 수있는 기록매체. | |
US20040249808A1 (en) | Query expansion using query logs | |
US20040049499A1 (en) | Document retrieval system and question answering system | |
US7523109B2 (en) | Dynamic grouping of content including captive data | |
KR20110009098A (ko) | 편집 거리 및 문서 정보를 이용한 검색 결과 랭킹 | |
JP2007519069A (ja) | スーパーユニットを用いた検索処理のためのシステム及び方法 | |
KR101098832B1 (ko) | 개인화 검색 장치 및 방법 | |
CN112836029A (zh) | 一种基于图的文档检索方法、系统及其相关组件 | |
US20120239657A1 (en) | Category classification processing device and method | |
JP4569380B2 (ja) | ベクトル生成方法及び装置及びカテゴリ分類方法及び装置及びプログラム及びプログラムを格納したコンピュータ読み取り可能な記録媒体 | |
CN108959580A (zh) | 一种标签数据的优化方法及系统 | |
US8024341B1 (en) | Query expansion | |
JP4073734B2 (ja) | 入力単語候補を推薦する情報検索システム | |
Souza et al. | The role of gazetteers in geographic knowledge discovery on the web | |
CN113468410A (zh) | 一种智能化对搜索结果和搜索引擎进行优化的系统 | |
Dupret | Latent concepts and the number orthogonal factors in latent semantic analysis | |
JP2000331020A (ja) | 情報参照方法,情報参照装置および情報参照プログラムを格納した記憶媒体 | |
Wei et al. | Algorithm of mining sequential patterns for web personalization services | |
WO2002037328A2 (en) | Integrating search, classification, scoring and ranking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040220 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041027 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071221 |
|
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: 20080115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080123 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |