(57)【要約】【課題】入力された単語に対して適切な代替案を候補として推薦することのできる情報検索システムを提供する。そのような情報検索システムを実現するために不可欠な辞書データを効率良く作成するようにする。【解決手段】利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部と、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語として出力するクラスタ辞書参照手段とを備える。【選択図】　　　図１
2004078618.tif 000002
【特許請求の範囲】
【請求項１】
利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、
複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部と、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語として出力するクラスタ辞書参照手段と、
を備えることを特徴とする情報検索システム。
【請求項２】
請求項１に記載の情報検索システムにおいて、
前記クラスタ辞書記憶部は、更に、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶する
ことを特徴とする情報検索システム。
【請求項３】
請求項２に記載の情報検索システムにおいて、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定手段を更に備えることを特徴とする情報検索システム。
【請求項４】
請求項２に記載の情報検索システムにおいて、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定手段を更に備えることを特徴とする情報検索システム。
【請求項５】
請求項１、請求項３、請求項４のいずれかに記載の情報検索システムにおいて、
２個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部と、
前記分類情報記憶部を参照することにより前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力手段と、
を更に備えることを特徴とする情報検索システム。
【請求項６】
請求項５に記載の情報検索システムにおいて、
前記類似非類似選択出力手段は、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第１の採用閾値とを比較しクラスタサイズ値が第１の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第１の採用閾値より大きい第２の採用閾値とを比較しクラスタサイズ値が第２の採用閾値以上の場合にのみ当該推薦候補の単語を出力する
ことを特徴とする情報検索システム。
【請求項７】
請求項１に記載の情報検索システムにおいて、
利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成手段を備えることを特徴とする情報検索システム。
【請求項８】
利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、
利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成手段を備えることを特徴とする情報検索システム。
【請求項９】
利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法において、
複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部を備えるコンピュータを用いて、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語として出力するクラスタ辞書参照過程を有することを特徴とする情報検索方法。
【請求項１０】
請求項９に記載の情報検索方法において、
前記クラスタ辞書記憶部は、更に、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するものであり、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定過程を更に有することを特徴とする情報検索方法。
【請求項１１】
請求項９に記載の情報検索方法において、
前記クラスタ辞書記憶部は、更に、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するものであり、
前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定過程を更に有することを特徴とする情報検索方法。
【請求項１２】
請求項９から請求項１１までのいずれかに記載の情報検索方法において、
２個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部を用いて、
前記分類情報記憶部を参照することにより前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力過程を更に有することを特徴とする情報検索方法。
【請求項１３】
請求項１２に記載の情報検索方法において、
前記類似非類似選択出力過程では、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第１の採用閾値とを比較しクラスタサイズ値が第１の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第１の採用閾値より大きい第２の採用閾値とを比較しクラスタサイズ値が第２の採用閾値以上の場合にのみ当該推薦候補の単語を出力することを特徴とする情報検索方法。
【請求項１４】
請求項９に記載の情報検索方法において、
利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成過程を有することを特徴とする情報検索方法。
【請求項１５】
利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法において、
利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成過程を有することを特徴とする情報検索方法。
【請求項１６】
請求項９から請求項１５までのいずれかに記載の情報検索方法をコンピュータに実行させるコンピュータプログラム。
【請求項１７】
請求項９から請求項１５までのいずれかに記載の情報検索方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータを用いた情報検索システムに関する。特に、インターネット等を介して入力された単語に応じた検索結果を出力する機能を多数の利用者に提供する情報検索システムに関する。
【０００２】
【従来の技術】
利用者からの単語の入力を受け付け、その単語に応じた検索結果を出力する情報検索システムが存在する。また、このような情報検索システムがインターネット等を介して多数の利用者のその機能を提供する場合もある。
【０００３】
【発明が解決しようとする課題】
上記のような情報検索システムにおいて、利用者が入力する単語に対して、利用者が意図するような検索結果が得られないことがある。
このような場合に、情報検索システム側が入力単語の代替案を提示することもあるが、提示される代替案の単語の数が多すぎて、逆に利用者が選択に困るという状況がよく起こっている。また、提示される代替案の単語の質が雑多であり、その性質がばらばらであるために、逆に利用者が選択に困るという状況も起こっている。
また、情報検索システム側において、代替案を提示するために必要なデータ、知識などを作成するのが困難であるとともに、これらを人手で作成する場合に膨大な手間がかかってしまうという問題もある。特に、実用に耐えうるような大規模なシステムで代替単語の推薦のためのデータベースあるいは知識ベース等を自動的に構築しようとした場合、網羅的な内容を含むようにすることは困難であり、仮に構築できた場合にも、利用者にとって使いやすい単語を提示することは困難である。
本発明は、上記のような事情を考慮してなされたものであり、利用者から入力された単語に対して適切な代替案を候補として推薦することのできる情報検索システムを提供することを目的とする。また、そのような情報検索システムを実現するために不可欠なデータ（辞書データ等）を効率良く作成することのできる辞書作成方法を提供することを目的とする。
【０００４】
【課題を解決するための手段】
上記の課題を解決するために、本発明は、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部と、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語として出力するクラスタ辞書参照手段とを備えることを特徴とする情報検索システムを要旨とする。
ここで「複数の単語が非排他的に複数のクラスタに属するように分類した」とは、ある単語が複数のクラスタに同時に属する場合があることを意味する。一般化すれば、ある単語は０個以上のクラスタに属する。また、あるクラスタには１個以上の単語が属する。
【０００５】
また、本発明は、前記の情報検索システムにおいて、前記クラスタ辞書記憶部は、更に、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶することを特徴とするものである。
また、本発明は、前記の情報検索システムにおいて、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定手段を更に備えることを特徴とするものである。
また、本発明は、前記の情報検索システムにおいて、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定手段を更に備えることを特徴とするものである。
【０００６】
また、本発明は、前記の情報検索システムにおいて、２個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部と、前記分類情報記憶部を参照することにより前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力手段とを更に備えることを特徴とするものである。
また、本発明は、前記の情報検索システムにおいて、前記類似非類似選択出力手段は、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第１の採用閾値とを比較しクラスタサイズ値が第１の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第１の採用閾値より大きい第２の採用閾値とを比較しクラスタサイズ値が第２の採用閾値以上の場合にのみ当該推薦候補の単語を出力することを特徴とするものである。
また、本発明は、前記の情報検索システムにおいて、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成手段を備えることを特徴とするものである。
【０００７】
また、本発明は、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索システムにおいて、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成手段を備えることを特徴とするものである。
【０００８】
また、本発明は、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法において、複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部を備えるコンピュータを用いて、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が前記クラスタ内に属する場合に、当該クラスタ内に属する他の単語を推薦候補の単語として出力するクラスタ辞書参照過程を有することを特徴とするものである。
【０００９】
また、本発明は、前記の情報検索方法において、前記クラスタ辞書記憶部は、更に、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するものであり、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、各クラスタにおける当該入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する前記他の単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定過程を更に有することを特徴とするものである。
また、本発明は、前記の情報検索方法において、前記クラスタ辞書記憶部は、更に、各クラスタに属する各単語毎の出現頻度値と、各クラスタ毎に当該クラスタに属する各単語の出現頻度値の最大値を下回らない値であるクラスタサイズ値を記憶するものであり、前記入力された単語に対して前記クラスタ辞書記憶部を参照し、当該入力された単語が属するクラスタ内に複数の前記他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定し推薦候補の単語を出力する出力順位決定過程を更に有することを特徴とするものである。
【００１０】
また、本発明は、前記の情報検索方法において、２個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部を用いて、前記分類情報記憶部を参照することにより前記推薦候補の単語を類似あるいは非類似のいずれかに判定してから出力する類似非類似選択出力過程を更に有することを特徴とするものである。
【００１１】
また、本発明は、前記の情報検索方法において、前記類似非類似選択出力過程では、類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と第１の採用閾値とを比較しクラスタサイズ値が第１の採用閾値以上の場合にのみ当該推薦候補の単語を出力し、非類似と判定した推薦候補の単語については当該単語が属するクラスタのクラスタサイズ値と前記第１の採用閾値より大きい第２の採用閾値とを比較しクラスタサイズ値が第２の採用閾値以上の場合にのみ当該推薦候補の単語を出力することを特徴とするものである。
また、本発明は、前記の情報検索方法において、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成し、前記クラスタ辞書記憶部に書き込むクラスタ辞書作成過程を有することを特徴とするものである。
【００１２】
また、本発明は、利用者によって入力された単語に応じて検索解としての情報を出力する情報検索方法において、利用者が入力した単語と当該単語が入力された時刻情報と利用者識別情報とを含むレコードを有するログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報であるクラスタ辞書を作成するクラスタ辞書作成過程を有することを特徴とするものである。
【００１３】
また、本発明は前記のいずれかの情報検索方法をコンピュータに実行させるコンピュータプログラムである。
また、本発明は前記のいずれかの情報検索方法をコンピュータに実行させるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１４】
【発明の実施の形態】
以下、図面を参照しこの発明の一実施形態について説明する。
図１は、同実施形態による情報検索システムの概略構成を示す構成図である。この情報検索システムは、例えば、業種を表す単語の入力を受け付け、当該業種に属する企業等の電話番号を検索し、その電話番号情報を利用者に提供する機能を有する。
【００１５】
図１において、符号１１は利用者からの単語の入力を受け付ける入力手段、１３はクラスタ辞書を参照することによって利用者に対して推薦する単語に関する情報を取得するクラスタ辞書参照手段、１５はクラスタ辞書の参照の結果得られた単語の出力順位を決定する出力順位決定手段、１７は分類ツリーを参照する分類ツリー参照手段、１９は参照した分類ツリーの情報に基づいて推薦する単語が元々入力された単語と類似であるか非類似であるかを判定する類似非類似選択出力手段、２１は推薦する単語に関する情報を出力する出力手段である。
また、４１は単語が属するクラスタに関する情報を保持するクラスタ辞書（クラスタ辞書記憶部）、４３は単語の分類に関する情報を保持する分類ツリー（分類情報記憶部）である。
また、３１は入力手段１１が受け付けた単語についてログ情報を記録するログ情報記録手段、３３は上記のログ情報に基づいてクラスタ辞書の情報を作成するクラスタ辞書作成手段である。
【００１６】
次に、クラスタ辞書についてより詳細に説明する。図２は、クラスタ辞書が保持する情報の一例を示す概略図である。図２に示すように、クラスタ辞書には複数のクラスタの情報が含まれている。図２に示す例では、クラスタ１から７までの７個のクラスタが含まれている。また、各クラスタに対応して、そのクラスタに属する複数の単語と、各単語に対応する出現頻度値と、クラスタのサイズを表す数値の各情報が保持されている。図２に示す例では、クラスタ１に属する単語は「ホテル」と「ビジネスホテル」の２個であり、このうち「ホテル」の出現頻度値は１５３１８、また「ビジネスホテル」の出現頻度値は１３６５４である。また、クラスタ１のクラスタサイズは１５３１８である。
なお、一般化すると、クラスタ辞書は各単語を非排他的にクラスタに分類した辞書であり、各単語をクラスタに分けて記憶する辞書である。クラスタは複数の単語をメンバーとして有し、またある単語はクラスタ辞書の中の０個以上のクラスタのメンバーとなっている。
また、クラスタ辞書が表すクラスタとは、ここでは、利用者が情報検索のために入力した単語の頻度に基づいて統計的な処理を行い、その結果、関連性の強い単語同士を同一クラスタとして括ったものである。また、クラスタサイズとは、そのクラスタ自身の出現頻度を表す指標値であり、具体的には、当該クラスタに属する単語の出現頻度のうち最大の値を下回らない値である。
なお、クラスタ辞書作成手段（図１の符号３３）が、クラスタ分けをする方法、およびクラスタサイズと出現頻度値とを自動的に決定する方法に関しては、後で詳述する。
【００１７】
ここで、図１および図２を参照しながら実例を用いて説明する。利用者が「ホテル」という語を入力手段１１から入力した場合を考える。クラスタ辞書参照手段１３は、クラスタ辞書を検索することにより、入力された単語「ホテル」を探して、「ホテル」がメンバーとして存在するクラスタを見つける。図２の例では、「ホテル」という単語は、クラスタ１，２，３，４，７の５個のクラスタのメンバーである。
そして、クラスタ辞書参照手段１３は、これらクラスタ１，２，３，４，７から「ホテル」以外のメンバーを推薦する単語として抽出する。つまり、クラスタ１からは「ビジネスホテル」、クラスタ２からは「結婚式場、会館」、クラスタ３からは「旅館、ビジネスホテル」、クラスタ４からは「ゴルフ場」、クラスタ−７からは「パチンコ、ゲームセンター」という各単語が抽出され推薦される。
【００１８】
次に、出力順位決定手段（図１の符号１５）について、より詳細に説明する。図３は、出力順位を決定するための手順を示す概略図である。以下、図３に沿ってその手順を説明する。
まず、（１）において、クラスタ辞書を検索し入力された単語を含むクラスタを探す。次に、（２）において、クラスタ辞書内の該当するクラスタから、当該入力された単語の出現頻度値を取得する。また、（３）においてクラスタ辞書内の該当するクラスタからそのクラスタサイズの値を取得する。なお、入力された単語が複数のクラスタのメンバーである場合には、該当する複数のクラスタについてそれぞれ（２）および（３）の処理を行う。以上、（１）から（３）までの処理は、クラスタ辞書参照手段（図１の符号１３）が行う。
次に、（４）において、上で取得した値を用いて、それぞれのクラスタ毎に、入力された単語の出現頻度値とクラスタサイズとの比を計算する。つまり、出現頻度値をクラスタサイズ値で除した値を算出する。そして、（５）においては、（４）で計算された比の値の降順にクラスタをソートしてクラスタの列を得る。そして、（６）において、（５）でソートされたクラスタのうち先頭のクラスタを取り出す。そして、（７）において、（６）で取り出されたクラスタに含まれる単語の中から、まだ出力されていない単語であって、そのような単語の中で最も出現頻度値の大きい単語を出力する。（８）においては、出力した単語数が予め定められた出力数に既に達しているかどうかを判断する。そして、既に達していれば（９）へ進んで処理を終了する。まだ達していなければ、今回（６）で取り出したクラスタを前記列の最後尾に移動し、（６）の処理へ戻る。以上、（４）から（９）までの処理は出力順位決定手段が行う。
以上のような手順により、該当する推薦候補の単語の順位を決定する。
【００１９】
ここで、出力順位決定の処理を実例により説明すると、次のようになる。既に述べたように、「ホテル」という単語が入力された場合、クラスタ１，２，３，４，７が該当するクラスタである。
図２に示したクラスタ辞書によると、クラスタ番号１のクラスタにおいては、単語「ホテル」の出現頻度値が１５３１８、クラスタサイズが１５３１８であるので、その比は、１５３１８／１５３１８であり、１．００である。
クラスタ番号２のクラスタにおいては、単語「ホテル」の出現頻度値が６０９、クラスタサイズが１２５８であるので、その比は、６０９／１２５８であり、０．４８である。
クラスタ番号３のクラスタにおいては、単語「ホテル」の出現頻度値が４３６４、クラスタサイズが８０７５であるので、その比は、４３６４／８０７５であり、０．５４である。
クラスタ番号４のクラスタにおいては、単語「ホテル」の出現頻度値が１２０、クラスタサイズが８１１であるので、その比は、１２０／８１１であり、０．１５である。
クラスタ番号７のクラスタにおいては、単語「ホテル」の出現頻度値が２８、クラスタサイズが２１１であるので、その比は、２８／２１１であり、０．１３である。
【００２０】
これら算出した比の降順にクラスタをソートすると、クラスタ１，３，２，４，７という順の列が得られる。ここで、予め定められた出力単語数が７であると仮定する。まず、クラスタ１の中で最も出現頻度値の高い「ビジネスホテル」が出力される。次に、クラスタ３の中で最も出現頻度値の高い「旅館」が出力される。次に、クラスタ２の中で最も出現頻度値の高い「結婚式場」が出力される。次に、クラスタ４の中で最も出現頻度値の高い「ゴルフ場」が出力される。次に、クラスタ７の中でも最も出現頻度値の高い「パチンコ」が出力される。これでクラスタが一巡し、二巡目に入る。クラスタ１には、もう単語が残ってないため、次に、クラスタ３の中の未出力の単語で最も出現頻度の高い「温泉旅館」が出力される。次に、クラスタ２の未出力の単語で最も出現頻度の高い「会館」が出力される。
なお、単語順位の決定にあたって様々な方法が考えられるが、一般的に言えることは、次の２点である。第一に、入力された単語が複数のクラスタに属するとき、各クラスタにおける当該入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する単語がより高順位となるように出力順位を決定すると良い。第二に、入力された単語が属するクラスタ内に複数の他の単語が属している場合に、当該クラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定すると良い。
【００２１】
次に、分類ツリー参照手段（図１の符号１７）および類似非類似選択出力手段（図１の符号１９）の処理について、より詳細に説明する。図４は、類似あるいは非類似を判断して、その結果に応じて出力するか否かを決定するための手順を示す概略図である。また、図５は、この手順において参照される分類ツリー（図１の符号４３）に格納されるデータ例を示す概略図である。以下、図４および図５を参照しながら説明する。
【００２２】
図５の分類ツリーにおいて、終端ノード（子ノードを持たない最も下位のノード）は単語を表している。また非終端ノードは、それら単語のグループを表している。このようなツリー構成は、アプリオリに与えられるものであり、例えば、既存の職業別電話帳などにおける業種分類を基に作成することができる。
【００２３】
処理手順としては、まず図４の（１）において、クラスタ辞書を検索し入力された単語を含むクラスタを探し、さらに推薦候補の単語を出力する。なお、この（１）の過程は図３で説明した過程であり、この段階で出力される複数の単語には出力順位が付けられている。
以下、図４の（２）から（９）までは類似非類似選択出力手段および分類ツリー参照手段が行う処理である。（２）において、入力された元の単語に対して分類ツリーを検索し、分類ツリー内で該当する単語の１つ上位のノード名（これをＡとする）を得る。次に、（３）において、（１）で出力された複数の推薦候補の各単語に対して、以下（４）から（７）までの処理を繰り返し行う。（４）においては、推薦候補の単語に対して分類ツリーを検索し、分類ツリー内で該当する単語の１つ上位のノード名（これをＢ（ｘ）とする；　ｘ＝１，２，３，・・・）を得る。（５）においては、ノード名Ｂ（ｘ）とノード名Ａとを比較する。
【００２４】
（５）の比較において両者が一致した（同じ）場合は、当該推薦候補の単語は入力された元の単語と類似の単語と判断し、（６）に進み、当該推薦候補の単語が所属するクラスタのクラスタサイズと予め定められた採用閾値Ｔ１とを比較する。クラスタサイズが採用閾値Ｔ１以上の場合には、この推薦候補の単語を採用として出力単語とする。その他の場合には、この推薦候補の単語を出力単語としない。
（５）の比較において両者が不一致の（違う）場合には、当該推薦候補の単語は入力された元の単語と非類似の単語と判断し、（７）に進み、当該推薦候補の単語が所属するクラスタのクラスタサイズと予め定められた採用閾値Ｔ２とを比較する。クラスタサイズが採用閾値Ｔ２以上の場合には、この推薦候補の単語を採用として出力単語とする。その他の場合には、この推薦候補の単語を出力単語としない。
そして、（８）において、最終的に残った出力単語を利用者に対して出力する。なお、この（８）の処理は、出力手段（図１の符号２１）が実行する。
【００２５】
なお、上記の採用閾値Ｔ１およびＴ２は、Ｔ１＜Ｔ２となるように適宜設定する。
【００２６】
ここで、実例を用いて類似非類似選択出力手段の処理を説明する。既に、出力順位決定手段によって、「ビジネスホテル」、「旅館」、「結婚式場」、「ゴルフ場」、「パチンコ」、「温泉旅館」、「会館」が、この順位で出力されている。
まず、ここで、採用閾値Ｔ１＝５０，Ｔ２＝５００とする。そして、入力された元の単語「ホテル」の１つ上位のノードは、図５によれば、「旅館・ホテル業」である。
そして、推薦候補の「ビジネスホテル」の１つ上位のノードは、「旅館・ホテル業」である。よって、上位ノードが一致するため、この推薦候補の単語は元の「ホテル」の類似単語である。類似単語であるので、採用閾値Ｔ１（＝５０）と「ビジネスホテル」が属するクラスタ１のクラスタサイズ１５３１８とを比較する。そして、このクラスタサイズは、採用閾値Ｔ１以上であるので、この推薦候補の単語は採用され、出力単語となる。
以下、同様に、「旅館」は、「ホテル」の類似単語である。そして、「旅館」が属するクラスタ３のクラスタサイズ８０７５は、採用閾値Ｔ１以上であるので、この推薦候補の単語は採用され、出力単語となる。
また、「結婚式場」は、「ホテル」の非類似単語である。そして、「結婚式場」が属するクラスタ２のクラスタサイズ１２５８は、採用閾値Ｔ２（＝５００）以上であるので、この推薦候補の単語は採用され、出力単語となる。
【００２７】
また、「ゴルフ場」は、「ホテル」の非類似単語である。そして、「ゴルフ場」が属するクラスタ４のクラスタサイズ８１１は、採用閾値Ｔ２以上であるので、この推薦候補の単語は採用され、出力単語となる。
また、「パチンコ」は、「ホテル」の非類似単語である。そして、「パチンコ」が属するクラスタ７のクラスタサイズ２１１は、採用閾値Ｔ２以上ではないので、この推薦候補の単語は採用されず、出力単語とならない。
また、「温泉旅館」は、「ホテル」の類似単語である。そして、「温泉旅館」が属するクラスタ３のクラスタサイズ８０７５は、採用閾値Ｔ１以上であるので、この推薦候補の単語は採用され、出力単語となる。
また、「会館」は、「ホテル」の非類似単語である。そして、「会館」が属するクラスタ２のクラスタサイズ１２５８は、採用閾値Ｔ２以上であるので、この推薦候補の単語は採用され、出力単語となる。
【００２８】
このように、類似単語に対する採用閾値Ｔ１よりも非類似単語に対する採用閾値Ｔ２を大きくすることにより、非類似の推薦候補であって且つクラスタサイズの小さい単語、つまり関連性の高くない単語を出力単語から除外するようになる。これによって、利用者にとっては、より自然な推薦単語が提示されることになるという効果がある。
【００２９】
なお、本実施形態では、類似か非類似かを判断するためのデータとして図５に示したような分類ツリーを用いたが、このデータは必ずしもツリー構造を有している必要はない。任意の２つの単語が相互に類似か非類似かを判定するために充分な情報を有しているデータで代用可能である。
【００３０】
次に、ログ情報記録手段（図１の符号３１）およびクラスタ辞書作成手段（図１の符号３３）を用いてクラスタ辞書を作成する方法について、より詳細に説明する。
ログ情報記録手段は、利用者による情報検索を記録してログ情報として出力する。このログの各レコードには、少なくとも、利用者を識別する情報と、情報検索のために当該利用者によって入力された単語の情報と、当該単語が入力された時刻の情報とが含まれている。
【００３１】
そして、クラスタ辞書作成手段は、図６に示す手順により、蓄積されたログ情報を解析し、クラスタ辞書を作成する。
まず、クラスタ辞書作成手段は、ログ情報に出現するすべての入力単語の集合を特定し、各単語に番号（１，２，３，・・・，ｎ）を付ける。例えば、電話番号案内のための情報検索システムにおいて業種を表す単語の入力を受け付けた場合、ｎはせいぜい数千程度である。これらｎ個の単語を要素とするベクトルを基本単語ベクトルと呼ぶ。
そして、（１）において、ログ情報の各レコードをセッション別に分類する。具体的には、利用者が同一であり、且つ直前の当該利用者のレコードから所定の時間内（例えば３０分以下）の間隔でつながる一連のレコードは、同一のセッションとしてまとめられる。
次に、（２）において、すべてのセッションの数をカウントし、この全セッション数Ｎｓの０．０１％に相当する値を類似単語用の採用閾値Ｔ１とし、同じくＮｓの０．１％に相当する値を非類似単語用の採用閾値Ｔ２とする。
なお、採用閾値Ｔ１およびＴ２を決めるにあたって、Ｔ１を全セッション数Ｎｓの０．０１％以上且つ０．０５％以下に設定し、Ｔ２をこのＴ１よりも大きい値に設定すると良い結果が得られることが本発明者らの実証実験によってわかっている。Ｔ１を０．０１％未満にすると関連性の低い単語が採用されてしまう場合がある一方、Ｔ１を０．０５％より大きくすると関連性の高い単語が振るい落とされてしまう場合がある。また、Ｔ１よりもＴ２を大きくすることによって、非類似の単語は、より関連性の高いもののみが採用される。また、前記のように、Ｔ１を全セッション数Ｎｓの０．０１％として、Ｔ２を全セッション数Ｎｓの０．１％としたときに、特に良い結果が得られることも、前記実証実験によりわかっている。
【００３２】
次に、（３）において、各セッションについて、セッションベクトルを作成する。セッションベクトルとは、次のようなベクトルである。
（Ｘ（１），Ｘ（２），Ｘ（３），・・・，Ｘ（ｎ））
但し、ｉ番目の単語（１≦ｉ≦ｎ）が、当該セッションのレコードに入力単語として含まれるときはＸ（ｉ）＝１、そうでないときはＸ（ｉ）＝０である。
そして、（４）において、これらのセッションベクトルを、例えばＫ−ｍｅａｎｓ法などといったアルゴリズムを用いてクラスタリングすることにより、セッションベクトルをメンバーとしたクラスタが得られる。
そして、（５）において、各セッションベクトルのクラスタにおいて、そのメンバーである各セッションベクトルを実際の単語集合に戻す。つまり、各クラスタについて、そのクラスタに属するすべてのセッションベクトルにおいてＸ（ｉ）＝１（１≦ｉ≦ｎ）なる単語の和集合をとることにより、それらの単語をメンバーとしたクラスタが得られる。
そして、（６）において、単語毎の出現の回数を数え、その単語の出現頻度とする。つまり、クラスタにおける単語の出現頻度とは、そのクラスタにおいて当該単語に対応したＸ（ｉ）が１となったセッションベクトルの数である。
そして、（７）において、図２に示した形式のクラスタ辞書を出力して処理を終了する。
【００３３】
以上、説明したように、本実施形態では、実際に利用者によって入力された単語をセッション単位で分析することによって、実用に適したクラスタ辞書を自動的に作成することができる。また、類似単語と非類似単語とを分けて、それぞれ別の閾値を用いて出力するかどうかを決定するため、適切な単語を推薦することができる。
図７は、本実施形態による情報検索システムを用いて得られる推薦単語の例である。図７では、入力単語に対して、類似推薦単語と非類似推薦単語とを区分して示している。
【００３４】
上述の情報検索システムは、コンピュータシステムを用いて実現している。そして、上述した入力手段、クラスタ辞書参照手段、出力順位決定手段、分類ツリー参照手段、類似非類似選択出力手段、出力手段、ログ情報記録手段、クラスタ辞書作成手段などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、クラスタ辞書や分類ツリーやその他各種データは、コンピュータが備えている記憶装置に記憶されている。ここで記憶装置とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等の各種記憶媒体を用いた装置である。
【００３５】
以上、図面を参照してこの発明の実施形態を詳述したが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
また、ここでは、業種に関する単語を入力して代替の推薦候補の単語を得る場合を例として実施形態の説明を行ったが、他の種類の単語に本発明を適用しても良い。また、ここでは、インターネット上のＷｅｂサイトにおける電話番号案内のアプリケーションの例に基づいて実施形態の説明を行ったが、本発明を他のアプリケーションに適用しても良い。
【００３６】
次に、本発明の基礎となった研究の成果について述べる。
【００３７】
１．まえがき
１．１はじめに
近年、大容量二次記憶装置の低価格ならびにプロセッサ性能の向上に伴い、膨大なＷｅｂサイトに対するユーザのアクセスログ（所謂クリックストリーム）を解析することが可能となり、Ｗｅｂログマイニング技術が注目を集めている。データマイニング手法によりアクセスログを分析し、ユーザのアクセス支援や、サイトの再設計のためのツールなど、種々の利用が模索されている。しかしながら本願発明者らの知る限り、大規模なログマイニングに関する実験結果の報告は殆どなされていない。ここでは、日本における電話番号情報サービスを提供する大規模商用サイトｉ−ＴｏｗｎｐａｇｅのＷｅｂアクセスログを利用し、ログマイニングによる問合せ拡張に関する実験結果を報告する。アクセスログの統計分析の結果、同一セッションにおいてユーザは異なる業種階層にある業種を検索していることが多いことがわかった。また、検索条件に合致するデータがなく、「検索結果０件」という状況が多く発生しているという問題点があることも判明した。このような問題を鑑み、ここでは、ユーザのアクセスログに対し、Ｋ−ｍｅａｎｓ法を拡張したクラスタリング手法を用いて分析を行い、その結果を利用した問合せ拡張手法を提案する。提案手法では、２種類の推薦を試みる。即ち、ユーザの問合せた業種と類似する業種の推薦、ならびに業種分類上類似性が高いとはされないものの強い関連性がログから見出される業種の推薦の２種である。提案手法に基づくシステムを実装すると同時に、その有効性に関する評価結果についても報告する。
【００３８】
１．２　関連研究
データマイニング手法等を利用したアクセスログによるＷｅｂページナビゲーションの分析は盛んに行われているものの、分析結果に基づくユーザ支援に関する研究は必ずしも多くなく、小規模実験によるＷｅｂページの推薦、リンクの生成程度しか行われていない。Ｙａｎ　等は、ユーザセッションをそのアクセスしたＷｅｂページとそのアクセス数で表現してクラスタリングを行い、動的にリンクを生成するシステムを構築した。また、Ｍｏｂａｓｈｅｒ等は、ユーザのＷｅｂページナビゲーションに関して、Ｗｅｂページ間の相関ルールを抽出し、それを用いてユーザにＷｅｂぺージを推薦するシステムを提案している。
また、アイテムの推薦では協調型フィルタリングの研究が盛んに行われている。しかしながら、協調型フィルタリングは、アイテムに対する評価をユーザプロファイルとして保持し、それを利用することが前提となっている。番号情報検索サービスでは一般にユーザを特定することは容易ではなく、本論文では、ユーザプロファイルがない状況下における不特定ユーザに対する問合せ拡張の実現を目的としている。
以下では、第２章にてｉ−Ｔｏｗｎｐａｇｅの紹介ならびにログから判明した問題点について述べ、第３章にてクラスタリングによるユーザの問合せ傾向の分析結果を記す。続く第４章にてクラスタリング結果を利用した問合せ拡張手法を提案し、第５章にて問合せ拡張システムの実装ならびに評価を述べ、第６章にて纏める。
【００３９】
２．番号情報検索サービスとその問題点
本章では、番号情報検索サービスであるｉ−Ｔｏｗｎｐａｇｅについてその概要を紹介すると共に、アクセスログを解析することにより明らかになった当該サイトの問題点について述べる。
２．１　ｉ−Ｔｏｗｎｐａｇｅ
ｉ−Ｔｏｗｎｐａｇｅは、日本全国約１，１００万件の店舗情報を提供する検索サービスを提供している大規模商用Ｗｅｂサイトである。サイトには、１ヶ月あたりのぺージビューが６，０００万弱を数えるアクセスがある（２００２年２月現在）。ユーザは店舗名や業種で電話番号情報を調べることが出来る他、地図や詳細な情報も得ることが出来る。図８の左側のページがそのトップページであり、検索を行うには、条件入力フォームから２つの条件を指定する必要がある。１つはキーワード、業種名あるいは店舗・企業名であり、もう１つは地域（住所）である。図８の右側のページが結果のページであり、検索結果には、入力条件に合致する店舗・企業名と住所、電話番号、地図、詳細情報等が出力される。業種の指定では、直接入力することが可能である他、５０音別の索引や業種リストを選択することによっても指定することが出来る。この業種リストは４層の階層構造をなしており、約１５のトップカテゴリの下に約８０、５００、３，０００の子階層カテゴリを有している（ここで業種総数は約２，０００であり、これはいくつかの階層に重複して登録されている業種があるためである）。業種リスト選択の例を図９に示す。例えば、「ホテル」をリストから選択して指定するには、図のように「レジャー産業」→「旅館・ホテル業」→「ホテル」と階層を辿ることによって指定することが出来る。
【００４０】
２．２　ログ解析から判明した問題点
ｉ−Ｔｏｗｎｐａｇｅの２０００年２月１日から６月３０日までのアクセスログ（ログ行数約４．５億、容量約２００ＧＢ（ギガバイト））を解析した結果、判明した問題点について以下に纏める。
検索リクエストを解析した結果を図１０に示す。解析の結果、図に示すように主たる検索方法は業種と場所の指定による検索であり、総リクエスト数の約６０％を占めることがわかった（使用したログの時点ではキーワードによる検索はサイトにまだ導入されていなかったため、これに該当する検索は含まれていない）。ここで、２つ以上の異なる業種を入力しているユーザセッション（セッションとはユーザの一連のリクエストであり、定義については次章にて述べる）を調べたところ、業種による検索を含むセッション総数のうちの２７．２％存在しており、これらのセッションに関してさらに階層構造上異なる階層にある業種が入力されたセッション数を調べたところ、７５．２％存在することが判明した。このことから、設計者によって規定された業種階層構造とユーザが意識している業種分類が必ずしも一致していないか、あるいは複数目的のユーザが多いことが推測される。一般に職業分類は時代と共に大きく変化するものであり、任意の時点で最適な業種分類を維持することは極めて困難と言えよう。仮に、階層構造とユーザの問合せ傾向が一致していない場合、ユーザが検索時に不便を覚える可能性が高いため、問合せ傾向を分析する必要がある。
また、検索リクエストに対する検索結果数を調べたところ、図１０に示すように、業種と場所による検索においてその約２５％が検索結果０件となっていることがログからわかった。現システムでは、検索条件に合致しない場合は、場所の指定の変更を示唆するだけであるため、ユーザが不満を覚える状況が頻繁に起こっている可能性がある。ユーザの満足度を高めるためにもこの状況は改善することが望まれる。
【００４１】
３．　クラスタリングによるアクセスログの分析
アクセスログの統計分析より、同一セッションにおいて異なる階層にある業種が問合せに使用されていることがわかった。仮に階層構造とユーザの問合せ傾向が一致していない場合、ユーザが不便を覚えている可能性がある。そこで、問合せに関してクラスタリングを用いた分析を行った。以下では、まず使用したアクセスログの詳細および前処理について述べ、次にクラスタリングアルゴリズムを説明し、最後に結果について記す。
【００４２】
３．１　前処理
ｉ−Ｔｏｗｎｐａｇｅでは、通常のアクセスログ（Ａｐａｃｈｅアクセスログ）に加えてアプリケーションログが存在する。アクセスログにはアクセス日時、リモートホスト名、ユーザエージェント名、リクエストＵＲＩ、参照元ＵＲＬ、Ｃｏｏｋｉｅ　ＩＤ等が記録され、アプリケーションログにはアクセス日時、リモートホスト名、Ｃｏｏｋｉｅ　ＩＤ、入力された検索条件、検索結果件数等が記録されている。分析時には、Ｃｏｏｋｉｅ　ＩＤ等を使用してこれら２つのログを統合して使用した。
今回、分析に使用したデータは２０００年２月１日から６月３０日までのアクセスログであり、図１１に示すように総ログ数は約４．５億、容量約２００ＧＢであった（加えて２０ＧＢのアプリケーションログがある）。総ログ数の約６２％は画像データのリクエストが占め、さらにＣｏｏｋｉｅ　ＩＤが取得出来ているものはそのうちの約６０％であり、分析対象となるのはログ総数２４，６２９，５１７、容量約１７ＧＢのＣｏｏｋｉｅ　ＩＤが取得出来ている検索リクエストである。
【００４３】
アクセスログを利用してユーザ行動を分析する際、まずユーザを特定しなければならない。また、訪れる度ごとにユーザの要求が変化する可能性があるため、通常各ユーザのリクエストをセッションという単位に切り分ける。本分析では、Ｃｏｏｋｉｅ　ＩＤが取得できているユーザの検索リクエストのみを使用し、Ｃｏｏｋｉｅ　ＩＤを使用してユーザを特定し、その一連のリクエストをユーザセッション単位に切り分けて使用した。セッション間隔は、広く使用されている３０分の閾値を使用し、各リクエスト間隔が３０分以内のものをセッションと定義した。問合せに関してユーザセッションをクラスタリングするにあたって、ユーザセッションをその入力した業種によってベクトルで表した。ここで、業種総数をＮｇとすると、ｉ番目のセッションＳｉのセッションベクトルＳｉ（→）が業種ｊを入力したかを式（１）によって表す。この時、業種階層は考慮しておらず、業種数は約２，０００種類存在した。
【００４４】
【数１】
2004078618.tif 000003
【００４５】
３．２　クラスタリングアルゴリズム
クラスタリングアルゴリズムとして、一般的に広く用いられているＫ−ｍｅａｎｓアルゴリズムを採用した。Ｋ−ｍｅａｎｓは最初にＫ個の代表点を選び、全てのデータ点を類似度が高いクラスタに割当てる分割型クラスタリングである。しかしながら、ここでは生成すべきクラスタ数が未知であるため、初期値としてクラスタ数Ｋを与えるのではなく、類似度閾ＴＨｓｉｍを与えることによりクラスタ数を動的に決定可能であるように改良を施した。以下にアルゴリズムの詳細を示す。
入力セッション数がＮである時、入力ベクトルＳ１（→），Ｓ２（→），Ｓ３（→），…，ＳＮ（→）に対して、
ステップ１）最初の入力ベクトルＳ１（→）をクラスタＣ１の中心ベクトルＣ１（→）とし、Ｓ１をＣ１のメンバとする。
ステップ２）以降、入力Ｓｉ（→）に対して、既存のクラスタＣ１，…，Ｃｋとの類似度を式（２）によって計算し、どのクラスタとの類似度も閾値ＴＨｓｉｍ未満の場合は、新たなクラスタを生成してそのクラスタ中心とし、類似度が閾値ＴＨｓｉｍ以上の場合は、最も類似度が高いクラスタのメンバとする。この時、メンバが新たに増減したクラスタはその中心ベクトルを式（３）にて再計算する。
ステップ３）割当てが収束するまで繰り返す。
【００４６】
【数２】
2004078618.tif 000004
【００４７】
【数３】
2004078618.tif 000005
【００４８】
ここでＭｊはクラスタらのメンバ数である。
【００４９】
３．３　クラスタリング結果
ユーザセッションのクラスタリングを行うにあたって、２つ以上の業種が入力されたユーザセッションを対象とした。この時、該当するセッション数は５６４，３５５であった。得られたクラスタには、メンバ（セッション）数が１であるクラスタも含まれる。得られた結果を解釈するにあたって、小さいクラスタは考慮しないこととし、最小クラスタサイズＭＩＮｃｌよりも少ないメンバ数のクラスタはクラスタとしてカウントしないことにする。今回の実験では、この値を対象セッション数の０．０１％（ＭＩＮｃｌ＝５６．４人）未満とし、それに相当する５６人以下のユーザセッションで構成されるクラスタは切り捨てた。また、いくつかのパラメータで試験した結果、閾値ＴＨｓｉｍには０．１０を用いることにした。その結果、得られたクラスタ数は８２６個であり、クラスタのサイズは、図１２に示すように５７セッションで構成される小さいクラスタから２１，０２９セッションで構成される巨大なクラスタまで抽出された。この時、構成セッション数の平均値は６７８．８、メディアンは３３０であった。
【００５０】
クラスタリングを行った結果のうち、「ホテル」が含まれるいくつかのクラスタを例として図１３に掲載する（その他のクラスタ例も図２１に掲載してある）。結果のクラスタは、そのクラスタを構成するセッション（メンバ）数、およびクラスタを構成するユーザセッションにおいて入力された業種とその業種を入力したセッション（メンバ）数で表されている。この時、考慮する業種は、新たに設定したクラスタ内閾値クラスタ内閾値ＴＨｃａｔ以上のセッションが入力したものに限定してある。ここでは、クラスタ内閾値ＴＨｃａｔをクラスタ構成セッション数の１０％とした。例えば、図１３において、クラスタ１は１５，３１８、「ビジネスホテル」が１３，６５４、その他の業種は入力したのがクラスタ構成セッション数１５，３１８の１０％未満、つまり１，５３１以下であることを表している。結果には様々な利用目的やコンテクストを持ったユーザセッションのクラスタが得られた。例えば図１３において、クラスタ１、２、３、５は宿泊施設を探しているユーザセッションのクラスタであるが、それぞれの利用目的やコンテクスに相違がある。また、「貸し会議室」を探している人や「結構式場」を探している人が同時に「ホテル」を検索条件に入力している等、宿泊施設を探す目的以外の様々なユーザ挙動が把握出来た。
クラスタリングを行った結果のうち、「ホテル」が含まれるいくつかのクラスタを例として図１３に掲載する（その他のクラスタ例も図２１に掲載してある）。結果のクラスタは、そのクラスタを構成するセッション（メンバ）数、およびクラスタを構成するユーザセッションにおいて入力された業種とその業種を入力したセッション（メンバ）数で表されている。この時、考慮する業種は、新たに設定したクラスタ内閾値クラスタ内閾値ＴＨｃａｔ以上のセッションが入力したものに限定してある。ここでは、クラスタ内閾値ＴＨｃａｔをクラスタ構成セッション数の１０％とした。例えば、図１３において、クラスタ１は１５，３１８、「ビジネスホテル」が１３，６５４、その他の業種は入力したのがクラスタ構成セッション数１５，３１８の１０％未満、つまり１，５３１以下であることを表している。結果には様々な利用目的やコンテクストを持ったユーザセッションのクラスタが得られた。例えば図１３において、クラスタ１、２、３、５は宿泊施設を探しているユーザセッションのクラスタであるが、それぞれの利用目的やコンテクスに相違がある。また、「貸し会議室」を探している人や「結構式場」を探している人が同時に「ホテル」を検索条件に入力している等、宿泊施設を探す目的以外の様々なユーザ挙動が把握出来た。
【００５１】
得られた結果のクラスタとｉ−Ｔｏｗｎｐａｇｅで用いられている業種階層とを比較すると、業種階層において同一階層にない業種が同一クラスタに存在する結果が数多くみられた。例えば、図１４には左側にｉ−Ｔｏｗｎｐａｇｅにおける業種階層の一部が、右側クラスタリング結果の一部が示してある。この図において、右下のクラスタ１は「ホテル」と「ビジネスホテル」で構成されるクラスタであり、これら２つの業種は、カテゴリ階層において両者とも「旅館・ホテル業」というカテゴリの下に位置する同一階層の業種であるが、右上のクラスタ５では、その構成業種である「旅館・ホテル・民宿予約センター」は「旅行業」に属する業種であり、その他の構成業種である「ホテル」、「ビジネスホテル」、「旅館」、「温泉旅館」の属する「旅館・ホテル業」とは異なっている。業種「ホテル」が含まれるいくつかのクラスタ例（図１３）においても、「結婚式場」、「レンタカー」、「ゴルフ場」、「貸会議室」等、「ホテル」とは業種階層において離れている業種とともに検索に用いられていることがわかる。図１３および図２１に掲載したクラスタには、クラスタを構成するトップの業種（上記クラスタ５では「旅館・ホテル・民宿予約センター」）と比較して、その他の業種に関して、その業種が同一階層でない場合、「旅行業」と「旅館・ホテル業」のように親階層まで考慮すれば同一階層である場合は、その業種名の右に「△」を記し、１つ上の親階層まで考慮しても同一階層にない場合にはその業種名の右に「▲」を記した。また、全ての業種が階層リストに分類されているわけではないため、リストに含まれていない業種に関してはその業種名の右に「＊」を記した。
【００５２】
結果より、同じ「ホテル」を入力するにしても、宿泊場所を探している入もあれば、「結婚式場」を探している人、「貸会議室」を探している人と、ユーザの要求やコンテクストが異なっており、多様な要求が存在していることが把握出来た。このように、Ｗｅｂアクセスログのクラスタリングは、ユーザの行動理解に有効であると言える。また、カテゴリ階層では同一カテゴリに属していない業種が同一セッションで入力される場合が多いこともクラスタリングにようて確認された。同一階層の業種のみで構成されるクラスタは８２６クラスタ中１３４個（１６．２％）、異なる階層の業種を含むクラスタは６９２個（８３．８％）に上った。
【００５３】
同一セッションにおいて異なる業種が検索に用いられているのは、ユーザの要求の多様性およびサイト構造の欠陥が考えられる。しかしながら、業種が同一で明らかに変更した方が良い場合はサイトの再構築に反映させることが出来るが、そうでない場合はサイト構造へ反映させると逆にユーザを混乱させてしまう可能性がある。例えば、図１３のクラスタ７では、「レンタカー」を１，１５８セッションが入力しており、その約１０％の１２０セッションが「ホテル」を入力しているが、サイトに変更を加えて「レンタカー」と「ホテル」を同一階層にした場合、分類の仕方によっては却ってユーザが分類のポリシーを理解し難くなる可能性がある。そこで、サイト再構築への分析結果の利用に関しては今後の検討事項としてこれ以上触れず、以下ではユーザの入力に対して問合せを拡張することによって利便性の向上を図ることに焦点を絞る。次章ではクラスタリング結果を利用した問合せ拡張手法を提案する。
【００５４】
４．分祈結果を利用した問合せ拡張
４．１　方　　　針
第２章にて検索結果０件の検索リクエストが多いことを述べた。この状況に対処する方法として、まず検索条件のうちの場所を変更することをユーザに薦めることが考えられる。これは緯度経度情報を取得出来れば実現が難しくないため、本論文では取り扱わないことにする。そこで、検索条件に指定された業種を拡張提示することを考える。検索結果０件の際には、まず入力された業種と一般的な分類においても類似しているとされている業種を拡張提示することがユーザの満足度の向上に必要であろう。この時、分析結果から関連していると判断される業種を優先して提示することが望ましいと考えられる。
また、前章にて述べたように、階層構造上近くにない業種が同一セッションにおいて入力されていることがわかった。このようなユーザの要求の多様性に対しても業種の推薦によって対応する必要があると考えられる。それ故、付加的な拡張として、入力された業種と階層構造上異なるもののログからは関連すると判断される業種を推薦する。例えば「ホテル」が入力された場合に、まず宿泊施設である「ビジネスホテル」等の業種を拡張提示し、さらに「結婚式場」や「貸会議室」、「レンタカー」といった階層上では近くにないがログから関連すると判断される業種を提示することによってユーザの利便性の向上を図ることが出来ると考えた。
【００５５】
４．２　問合せ拡張手法
上述の方針に従い、入力された業種の拡張提示を行うにあたって２種類の拡張による手法を提案する。１つは分析結果から関連していると判断された業種のうち同一階層上にある業種の提示であり、他の１つは階層上近くにないが分析結果から関連していると判断された業種の提示である。この２種類の拡張をそれぞれ同階層業種推薦、異階層業種推薦と呼ぶことにする。以下に詳細を記す。
同階層業種推薦では、入力された業種が属するクラスタのうち、クラスタサイズに対してその業種を入力している割合が高いクラスタから順に、そのメンバである業種を入力数順に並べ１つ取り出し、それが入力業種と階層上同一である場合この業種を推薦する。
異階層業種推薦では、入力された業種が属するクラスタのうち、クラスタサイズに対してその業種を入力している割合が高いクラスタから順に、そのメンバである業種を入力数順に並べ１つ取り出し、それが入力業種と階層上異なる場合にこの業種を推薦する。この時、新たに異階層拡張閾値ＴＨｉｎｔｅｒを導入し、ＴＨｉｎｔｅｒよりも大きなサイズのクラスタを使用する。
【００５６】
同階層業種推薦では、例えば「ホテル」が入力された際の拡張を図１３を使用して考えた場合、「ホテル」の割合が高いクラスタ１、５、６、２、３、１０、・・・の順にそのメンバである業種「ビジネスホテル」、「旅館・ホテル・民宿予約センター」、「結婚式場」、「温泉旅館」、「民宿」、「貸会議室」、・・・のうち同一階層にある「ビジネスホテル」、「温泉旅館」、「民宿」、・・・を拡張提示する。
異階層業種推薦では、同様に「ホテル」の入力に対する拡張を想定した場合、異階層にある「旅館・ホテル・民宿予約センター」、「結婚式場」、「貸会議室」、・・・を拡張提示する。この時、異階層拡張閾値ＴＨｉｎｔｅｒよりも大きなサイズのクラスタのみを対象とし、同階層業種推薦で使用されるクラスタよりも大きいクラスタを使用する。これは、関連性の低い業種が過度に拡張されるのを防ぐためである。
【００５７】
５．問合せ拡張システムの実装と評価結果
５．１　実　　装
前章で述べた拡張手法を用いて、問合せ拡張システムを実装した。このシステムは通常の検索と同様に業種と場所を指定することによって、通常のｉーＴｏｗｎｐａｇｅの検索結果に加えて問合せ業種の拡張を提示する。システムの全体構成を図１５に示す。システム全体はオンライン処理とオフライン処理の２つに分かれている。オフライン処理ではアクセスログから前処理によってユーザセッションベクトルを作成し、それをクラスタリングし業種クラスタを得る。オンライン処理では、ユーザの問合せに対して、通常の検索結果をｉ−Ｔｏｗｎｐａｇｅに問合せ、加えてクラスタと業種階層から業種の拡張を行い、ユーザに提示する。
【００５８】
検索結果ページの例を図１６に示す。結果ページでは、右側のフレームに通常のｉ−Ｔｏｗｎｐａｇｅにおける検索結果を表示し、左側のフレームに問合せ拡張された業種を提示する。問合せ拡張部分では、上部に同階層業種推薦による拡張を提示し、異階層業種推薦による拡張をその下に提示する。このシステムによる検索結果では、拡張された業種はリンクとなっており、ユーザはそれをクリックすることによってその業種での問合せをシステムに行うことが出来る。これによって、ユーザは関連する業種での問合せを容易に行うことが可能である。
【００５９】
５．２　問合せ拡張結果
拡張結果の例を図１７に示す。図１７の１つ目の結果は、「ホテル」が入力された際の拡張を表しており、同階層業種推薦によって同階層にある「ビジネスホテル」や「旅館」等が拡張され、異階層業種推薦によって異階層にある「旅館・ホテル・民宿予約センター」、「宿泊施設」、「結婚式場」、「貸会議室」等が拡張される。結果より、提案手法によってログから関連すると判断された業種のうち同一階層のみならず異階層にある業種も拡張提示可能であることが確認された。
ここに掲載した拡張結果では、異階層拡張閾値ＴＨｉｎｔｅｒをクラスタリング対象セッション数の０．１％に相当する５６４．４に設定した。即ち５６４人以下のクラスタは異階層業種推薦には使用しなかった。また、クラスタ内閾値ＴＨｃａｔは１０％に設定した。即ち拡張にはクラスタサイズの１０％以上が入力している業種を使用している。これらの閾値は筆者らの判断において仮に設定しているが、閾値によってどの程度の拡張を行うのがユーザにとって好ましいのかについてはユーザによる評価実験を行い明らかにする必要があり、これを今後の検討事項とする。
【００６０】
５．３　評　　　価
クラスタリングには使用していない２０００年７月１日から７月２０日までのログを評価実験用のデータとして、提案手法による拡張の有効性を調査した。まず、実験用のデータをユーザセッションに切り分け、問合せの遷移関係「業種Ｘ→業種Ｙ」を抽出する。例えば、ある１つのセッションにおいて「業種Ａ→業種Ｂ→業種Ｃ」と入力されていた場合、このセッションからは「業種Ａ→業種Ｂ」、「業種Ｂ→業種Ｃ」の２つの遷移関係が抽出される。この時、遷移前の業種に対する拡張に遷移後の業種が含まれる時、これを拡張成功とする。遷移関係の総数をＮとする時、拡張成功の総数をＳとし、拡張成功率を以下のように定義する。
【００６１】
【数４】
2004078618.tif 000006
【００６２】
また、遷移関係ｉの入力（遷移関係における左辺）に対する拡張業種数をＥｉとすると、拡張業種数の平均は以下のように定義できる。
【００６３】
【数５】
2004078618.tif 000007
【００６４】
実験用データでは遷移関係数Ｎは３１８，８９９であった。図１８にクラスタ内閾値ＴＨｃａｔに対する拡張成功率ならびに平均拡張業種数のグラフを掲載する。グラフにおいて、Ｘ軸はクラスタ内閾値ＴＨｃａｔを表し、左Ｙ軸は拡張成功率、右Ｙ軸は平均拡張業種数を表している。結果より、業種変更をしている挙動の４０％以上に対して提案する拡張手法によって提示出来、業種変更に伴うユーザの負担を軽減することが可能であることが示された。加えて、今までは変更すべき業種が想起出来なかったユーザに対して業種変更を支援することが可能になると期待される。
また、問合せ拡張システムでは、検索条件に合致するものが存在しなかった場合に代替案を提示する効果を挙げることも出来る。例として図１９に検索結果０件となった場合の問合せ拡張システムの結果を示す。この例では、検索条件に「カプセルホテル」が入力されており、同じ場所において、同階層業種推薦によって「旅館」、「ビジネスホテル」、「ラブホテル」、「ホテル」、「民宿」ならばそれぞれ２、３、１、１０、２件の結果が得られることが示され、異階層業種拡張によってさらに「サウナぶろ」、「銭湯」、「旅館・ホテル・民宿予約センター」にてそれぞれ４、１、２件の結果が得られることが提示されている。結果より、検索結果が得られなかったユーザに対して同階層業種での代替案を提示するのに加え、異階層にあるがログから関連性が認められた業種による結果も付加することが可能であることが確認された。これにより、検索結果が得られなかった旨を告げ単に場所変更を示唆するだけであった従来と比較すると、提案したシステムはユーザの満足度や利便性の向上に貢献し得ると考えられる。
【００６５】
検索結果０件時の拡張による結果件数の増分を調べるために、実験データから結果０件となる検索条件の業種と場所の組合せを抽出した。図２０に各クラスタ内閾値に対する検索結果０件時の業種拡張による結果件数の増分の平均値のグラフを掲載する。グラフより、検索結果０件において問合せ拡張により少なくとも平均２．５件ほど結果が得られることが確認された。
【００６６】
６．おわりに
ここでは、日本における電話番号情報サービスを提供する大規模商用サイトｉ−ＴｏｗｎｐａｇｅのＷｅｂアクセスログを利用し、ログマイニングによる問合せ拡張に関する実験結果を報告した。アクセスログの統計分析の結果、同一セッションにおいてユーザは異なる業種階層にある業種を検索していることが多く、又、ユーザの与えた検索条件に合致するデータが無い場合も多く発生していることが判明した。このような問題を鑑み、本論文では、ユーザのアクセスログに対しＫ−ｍｅａｎｓ法を拡張したクラスタリング手法を用いて分析を行い、結果を利用した問合せ拡張手法を提案した。提案手法では、２種類の推薦、即ちユーザの問合せた業種と類似する業種の推薦、ならびに業種分類上異種性が高いものの強い関連性がログから見出される業種の推薦を行った。提案手法に基づくシステムを実装し、その有効性を調べたところ４０％を越える問合せに関して有効であることが示された。また、結果０件の検索に対しても少なくとも平均２．５件ほどの関連業種による代替案の提示が期待されることも示された。今後の展望としては、今回は１入力に対する問合せ拡張を行ったが、いくつかの入力が与えられた場合にコンテクストを推定出来る可能性があり、これをシステムに組み込むことや、相関ルールマイニング等他の手法を用いた場合との比較検討が挙げられる。
【００６７】
【発明の効果】
以上説明したように、この発明によれば、複数の単語が非排他的に複数のクラスタに属するように分類した情報を記憶するクラスタ辞書記憶部を設け、このクラスタ辞書記憶部を参照することによって、入力された単語があるクラスタ内に属する場合に、そのクラスタ内に属する他の単語を推薦候補の単語として出力するようにしたため、適切な代替案の単語の候補を推薦提示することができる。
【００６８】
また、この発明によれば、クラスタ辞書記憶部に、更に、各クラスタに属する各単語毎の出現頻度値と各クラスタ毎のクラスタサイズ値とを記憶させ、各クラスタにおいて、入力された単語の出現頻度値を当該クラスタのクラスタサイズ値で除した値を算出し、この算出された値がより大きいクラスタに属する単語がより高順位となるように出力順位を決定するため、より適切な代替案の単語の候補を高順位で提示することができる。
また、この発明によれば、該当するクラスタ内において出現頻度値がより大きい単語がより高順位となるように出力順位を決定するため、より適切な代替案の単語の候補を高順位で提示することができる。
また、この発明によれば、２個の単語が相互に類似であるか非類似であるかを判別するための情報を記憶する分類情報記憶部を設け、この分類情報記憶部を参照することにより推薦候補の単語を類似あるいは非類似のいずれかに判定し、類似の単語と非類似の単語とに関してそれぞれ別の採用閾値を用いて、当該単語の属するクラスタのクラスタサイズ値とその採用閾値とを比較し、クラスタサイズ値がその採用閾値以上の場合にのみ当該単語を出力するようにしたため、類似の単語と非類似の単語とをそれぞれ異なる水準で出力するか否かを決定することができる。これにより、利用者にとってより自然な代替案の単語を推薦表示することが可能となる。
【００６９】
また、この発明によれば、ログ情報に基づいて、同一利用者によって所定の時間内に行われた単語の入力に関するレコードを同一のセッションとしてまとめ、複数のセッションについて各セッションに含まれる単語の集合に基づいたクラスタリングの処理を行い、このクラスタリング処理の結果から、複数の単語が非排他的に複数のクラスタに属するように分類した情報を作成する。これにより、単語の推薦に必要なクラスタ辞書を人手をかけずに自動的に作成することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態による情報検索システムの概略構成を示す構成図である。
【図２】同実施形態によるクラスタ辞書が保持する情報の一例を示す概略図である。
【図３】同実施形態により、推薦候補の単語の出力順位を決定するための手順を示す概略図である。
【図４】同実施形態により、類似あるいは非類似を判断してその結果に応じて出力するか否かを決定するための手順を示す概略図である。
【図５】同実施形態による分類ツリーに格納されるデータ例を示す概略図である。
【図６】同実施形態により、蓄積されたログ情報を解析し、クラスタ辞書を作成するための手順を示す概略図である。
【図７】同実施形態による情報検索システムを用いて得られる推薦単語の例である。
【図８】ｉ−Ｔｏｗｎｐａｇｅのトップページと検索結果ページを示す図である。
【図９】業種リストからの業種選択の例を示す図である。
【図１０】検索リクエストの解析結果を示す図である。
【図１１】アクセスログのサイズを示す図である。
【図１２】クラスタサイズを示す表図である。
【図１３】クラスタリング結果例を示す表図である。
【図１４】ｉ−Ｔｏｗｎｐａｇｅの業種階層とクラスタリング結果を示す図である。
【図１５】システムの全体構成図である。
【図１６】問合せ拡張システムによる検索結果を示す図である。
【図１７】問合せ拡張結果例を示す表図である。
【図１８】クラスタ内閾値に対する拡張成功率及び平均拡張業種数を示すグラフである。
【図１９】検索結果０件時の問合せ拡張例を示す図である。
【図２０】クラスタ内閾値に対する０件時の拡張による結果増分の平均値を示すグラフである。
【図２１】クラスタリング結果例を示す表図である。
【符号の説明】
１１　入力手段
１３　クラスター辞書参照手段
１５　出力順位決定手段
１７　分類ツリー参照手段
１９　類似非類似選択出力手段
２１　出力手段
３１　ログ情報記録手段
３３　クラスター辞書作成手段
４１　クラスター辞書
４３　分類ツリー
【図１】
2004078618.tif 000008
【図２】
2004078618.tif 000009
【図３】
2004078618.tif 000010
【図４】
2004078618.tif 000011
【図５】
2004078618.tif 000012
【図６】
2004078618.tif 000013
【図７】
2004078618.tif 000014
【図８】
2004078618.tif 000015
【図９】
2004078618.tif 000016
【図１０】
2004078618.tif 000017
【図１１】
2004078618.tif 000018
【図１２】
2004078618.tif 000019
【図１３】
2004078618.tif 000020
【図１４】
2004078618.tif 000021
【図１５】
2004078618.tif 000022
【図１６】
2004078618.tif 000023
【図１７】
2004078618.tif 000024
【図１８】
2004078618.tif 000025
【図１９】
2004078618.tif 000026
【図２０】
2004078618.tif 000027
【図２１】
2004078618.tif 000028