JP5752245B2 - 情報検索方法、情報検索装置及び記憶媒体 - Google Patents

情報検索方法、情報検索装置及び記憶媒体 Download PDF

Info

Publication number
JP5752245B2
JP5752245B2 JP2013516146A JP2013516146A JP5752245B2 JP 5752245 B2 JP5752245 B2 JP 5752245B2 JP 2013516146 A JP2013516146 A JP 2013516146A JP 2013516146 A JP2013516146 A JP 2013516146A JP 5752245 B2 JP5752245 B2 JP 5752245B2
Authority
JP
Japan
Prior art keywords
keyword
search
information
database
recommended
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
Application number
JP2013516146A
Other languages
English (en)
Other versions
JPWO2012160693A1 (ja
Inventor
健 直野
健 直野
靖英 森
靖英 森
隆雄 櫻井
隆雄 櫻井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2012160693A1 publication Critical patent/JPWO2012160693A1/ja
Application granted granted Critical
Publication of JP5752245B2 publication Critical patent/JP5752245B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、キーワードを入力して商品を検索する計算機システムに関し、特に、入力されたキーワードを起点として、他のユーザが購買に至った商品群と、これら商品群とキーワードの間に存在する中間キーワード列を提示する技術に関する。
近年、高速な通信回線や携帯端末及びPCの普及に伴って、電子商取引が発展しつつある。消費者は電子商取引を行うサイトに接続することで、好きな時間に、好きな場所から、所望の商品を検索して購入することが可能となる。消費者にとって電子商取引は利便性が高いため、参加する消費者数や、販売する業者数及び提供される商品数が莫大となっている。商品数や業者数の数が増大したため、電子商取引のサイトに参加した消費者は、本来欲しかった商品を見つけられない、あるいは見つけるまで探す時間が長くかかってしまう状況にある。例えば、消費者が商品の名称の一部をキーワードとして検索した場合などでは、類似する名称の商品も一覧として提示され、消費者が欲する商品と異なる商品が多数列挙されるという状況が発生した。
このような状況を緩和するため、電子商取引のユーザへの情報を推薦する計算機システムとして、協調フィルタリングが提案され、実用化されている。協調フィルタリングは、例えば、Amazon.com(登録商標)のように検索した商品を表示する際に、「この商品を買った人はこんな商品も買っています」のように推薦する商品も提示している。これにより、電子商取引のユーザは、最初に検索した商品よりも、よりニーズに合った商品を選択する可能性が高くなる。
ところが、上記情報推薦アルゴリズムである協調フィルタリングでは、購入、評価したユーザ数が少ない商品の場合、推薦されないという問題がある。これは、一般に、sparsityの問題と言われている。
また、上記協調フィルタリングでは、商品が市場投入されて間もない場合、その商品が推薦されにくいという問題もある。つまり、商品の発売直後では、購入したユーザが少ない場合や評価したユーザ数がない場合が多く、推薦される対象にはならない。これは、cold startの問題といわれている。
上記のsparsityの問題およびcold startの問題を解決するため、様々な方法が提案されてきた。例えば、非特許文献1のように、Content-based filteringと言われる、性質の近い商品の評価を利用する方法が知られている。非特許文献1によれば、評価がない新たな商品の評価を、性質の近い商品に対する評価から推定することが可能になる。
特開2010−067032号公報
Mustansar Ali Ghazanfar, et al., An Improved Switching Hybrid Recommender System Using Naive Bayes Classifier and Collaborative Filtering, IMECS 2010, March, 2010, Hong Kong.
しかし、上記非特許文献1のContent-based filteringでは、商品の性質を詳細に用意する必要があるため、大幅な手間がかかり、かつ、商品によって保持する性質が均等ではないため、推薦の性能にばらつきが出てしまうという問題がある。
このため、多数の商品を提供する電子商取引サイトでは上記非特許文献1が利用しにくく、上記のような問題解決には至っていない。
また、電子商取引サイトを利用したユーザのクリックの履歴を活用することで、クリックされたURLのキーワードからユーザの好みを推定し、推定された好みから商品を特定して推薦する方法が知られている(例えば、特許文献1)。特許文献1の手法では、上記のContent-based filteringの方法における、性質の近い商品の評価を利用しなくてもよい。したがって、類似する商品がない場合でも推薦することが可能になる。
しかしながら、上記特許文献1では、ユーザが希望する商品とURLが結びつかない場合は、URLの情報が有効にならないという問題がある。つまり、URLなどのユーザ側の情報と、商品アイテムの情報にギャップがある場合、ユーザの希望する商品にたどり着けないことになる。特に、市場投入間もない商品の場合、この傾向が顕著である。これは、上記従来例と同様に、発売直後の商品を閲覧(クリック)したユーザが少ないことに起因する。
本発明は上記問題点に鑑みてなされたもので、多数のユーザの検索履歴を活用することで、一人のユーザでは結び付けられなかったキーワードと商品情報を結びつけることを目的とする。
本発明は、プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行う情報検索方法であって、前記計算機が受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1のステップと、前記計算機が前記検索キーワードを受信する第2のステップと、前記計算機が前記検索キーワードに一致または類似するキーワードを含む前記キーワード列を検索し、1つ以上のキーワード列を抽出する第3のステップと、前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4のステップと、を含み、前記第1のステップは、前記計算機が前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報へのアクセスをアクセス履歴情報に蓄積する第5のステップと、前記計算機が所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6のステップと、前記計算機が前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7のステップと、前記計算機が前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8のステップと、前記計算機が前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9のステップと、を含む。
本発明によれば、検索キーワードからデータベースの情報に到達するキーワード列を提供することで、データベースの利用者は、所望する情報を前記従来例に比して極めて容易に得ることができる。特に、多数のユーザの検索履歴を活用して推薦キーワードテーブルを作成することで、一人のユーザでは容易に結び付けられなかったキーワードとデータベースの情報を結びつけることが可能となる。
本発明の実施形態を示し、計算機システムの一例を示すブロック図である。 本発明の実施形態を示し、計算機システムで行われる全体の処理を示すフローチャートである。 本発明の実施形態を示し、クライアント端末で商品情報を検索するときの、検索画面の一例を示す画面イメージである。 本発明の実施形態を示し、推薦キーワードを生成する処理の一例を示すフローチャートである。 本発明の実施形態を示し、ユーザアクセス履歴テーブルの一例を示す図である。 本発明の実施形態を示し、図5で行われる関連グラフの生成処理の詳細を示すフローチャートである。 本発明の実施形態を示し、ユーザアクセス履歴テーブルから同一セッションの履歴を抽出する様子を示す図である。 本発明の実施形態を示し、同一セッションのセッションログ420Aから部分グラフを抽出する様子を示す図である。 本発明の実施形態を示し、同一セッションのセッションログ420Bから部分グラフを抽出する様子を示す図である。 本発明の実施形態を示し、同一セッションのセッションログ420Cから部分グラフを抽出する様子を示す図である。 本発明の実施形態を示し、同一セッションのセッションログ420Dから部分グラフを抽出する様子を示す図である。 本発明の実施形態を示し、同一セッションのセッションログ420Eから部分グラフを抽出する様子を示す図である。 本発明の実施形態を示し、同一セッションのセッションログ420Fから部分グラフを抽出する様子を示す図である。 本発明の実施形態を示し、関連グラフの一例を示す図である。 本発明の実施形態を示し、関連グラフから確率遷移行列250Aを生成する様子を示す図である。 本発明の実施形態を示し、確率遷移行列250Aから確率遷移行列Bを生成する様子を示す図である。 本発明の実施形態を示し、確率遷移行列250Bから確率遷移行列Cを生成する様子を示す図である。 本発明の実施形態を示し、確率遷移行列250Cから固有ベクトルを求める例を示す図である。 本発明の実施形態を示し、第1固有ベクトルと関連グラフを示す図である。 本発明の実施形態を示し、第2固有ベクトルと関連グラフを示す図である。 本発明の実施形態を示し、推薦キーワードテーブルの一例を示す図である。 本発明の実施形態を示し、検索キーワードと推薦キーワードの関係を示す図である。 本発明の実施形態を示し、他の検索キーワードと推薦キーワードの関係を示す図である。 本発明の実施形態を示し、さらに他の検索キーワードと推薦キーワードの関係を示す図である。 本発明の実施形態を示し、図2のステップS4の詳細を示し、推薦キーワードを出力する処理のフローチャートである。 本発明の変形例を示し、図2のステップS4の変形例を示し、推薦キーワードを出力する処理のフローチャートである。
本発明を実施するための形態(以下、「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
図1は、本発明の実施形の態を示し、計算機システムの構成の一例を示すブロック図である。図1においてWEBサーバ100、データベースサーバ200、ストレージ装置300及びログ収集サーバ400は電子商取引サイト2を構成し、電子商取引サイト2はインターネット1またはWANを介して接続された複数のクライアント端末500に電子商取引のWEBサービスを提供する。図1において、LAN3に接続されたWEBサーバ100、データベースサーバ200、ストレージ装置300及びログ収集サーバ400は、電子商取引サイト2を構成する。電子商取引サイト2のLAN3は、インターネット1を介してクライアント端末500に接続される。
電子商取引サイト2を利用するユーザは、クライアント端末500のブラウザを介してWEBサーバ100と接続し、WEBサーバ100は商品情報の提供や商品の購入などのサービスを提供する例を示す。
<クライアント端末500>
各クライアント端末500は、演算処理を行うプロセッサ501と、データやプログラムを保持するメモリ502と、データやプログラムを格納するストレージ装置503と、出力装置としてのディスプレイ装置504と、マウスやキーボードなどの入力デバイス505を備える。
クライアント端末500のメモリ502にはWEBブラウザがロードされ、プロセッサ501によって実行される。そして、WEBブラウザによってクライアント端末500が電子商取引サイト2のWEBサーバ100からサービスの提供を受ける。例えば、クライアント端末500は入力デバイス505からユーザが入力した検索キーワードをWEBサーバ100へ送信して商品情報の検索を要求する。WEBサーバ100は受信したキーワードから、該当する商品の情報をデータベースサーバ200から取得してクライアント端末500に送信する。クライアント端末500は、WEBサーバ100から受信した検索結果としての商品情報をディスプレイ装置504に表示する。
<電子商取引サイト2>
電子商取引サイト2は、複数のクライアント端末500から要求を受け付けてサービスを提供するWEBサーバ100と、ストレージ装置503に格納された商品データベース310を管理して、WEBサーバ100がクライアント端末500から受け付けたキーワードで商品情報を検索するデータベースサーバ200と、クライアント端末500のアクセスの履歴を取得して蓄積するログ収集サーバ400がLAN3に接続されて、相互に通信可能となっている。本発明では、WEBサーバ100がクライアント端末500から受け付けた検索キーワードでデータベースサーバ200に商品データベース310の検索を行う際に、検索した商品情報に加えて、予め作成しておいた推薦キーワードテーブル220のキーワード列も提供するものである。以下、電子商取引サイト2を構成する各サーバの構成についてそれぞれ説明する。
<WEBサーバ100>
WEBサーバ100は、演算処理を行うプロセッサ101と、情報を保持するメモリ102と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ102には、WEBサービス部110がロードされてプロセッサ101によって実行される。
WEBサービス部110は、クライアント端末500のWEBブラウザが送信したHTTPによる要求を受け付けるWebサーバ機能と、Webサーバ機能が受け付けた処理要求に対して、データベースサーバ200からデータを取得し、取得したデータに所定の加工などを行ってWebサーバ機能へ応答するアプリケーションサーバの機能を含むものとする。なお、WEBサービス部110のWebサーバ機能とアプリケーションサーバ機能を独立させて、それぞれサーバとすることができる。WEBサービス部110は、データベースサーバ200から取得したデータをクライアント端末500に送信する。
<データベースサーバ200>
データベースサーバ200は、演算処理を行うプロセッサ201と、情報を保持するメモリ202と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ102には、データベース管理システム(以下DBMS)210と推薦キーワードテーブル220と関連グラフ240、確率遷移行列250、固有ベクトル260を生成する推薦キーワード生成部230がロードされて実行される。DBMS210は、ストレージ装置300の商品データベース310を管理する。DBMS210は、WEBサーバ100から検索キーワードを受け付けると、ストレージ装置300の商品データベース310を検索し、検索キーワードにマッチした商品情報を取得する。このとき、DBMS210は、検索キーワードにマッチする推薦キーワードテーブル220からキーワード列を取得して、キーワード列の終端には検索結果としての商品情報を含めてWEBサーバ100へ応答する。本実施形態では、データベースサーバ200が商品データベース310と推薦キーワードテーブル220を検索する情報の検索装置として機能し、DBMS210は検索部として機能する。
推薦キーワード生成部230は、所定のタイミングでログ収集サーバ400が収集したユーザアクセス履歴テーブル420を参照し、後述するように関連グラフ240や推薦キーワードテーブル220を生成し、メモリ202に保持する。なお、推薦キーワード生成部230は、生成した推薦キーワードテーブル220や固有ベクトル260等をストレージ装置300に格納するようにしてもよい。推薦キーワード生成部230は、推薦キーワードテーブル220を生成する際に、関連グラフ240、確率遷移行列250、固有ベクトル260を生成する。これらの詳細については後述する。
なお、本実施形態では、推薦キーワード生成部230をデータベースサーバ200で実行する例を示したが、これに限定されるものではない。本発明では、ユーザアクセス履歴テーブル420を参照して推薦キーワードテーブル220を生成し、DBMS210が推薦キーワードテーブル220を参照し、キーワード列と商品情報をWEBサーバ100へ応答できればよい。このため、推薦キーワード生成部230は、データベースサーバ200以外のログ収集サーバ400やWEBサーバ100で実行することができる。
また、本発明では、検索キーワードを受け付けたWEBサーバ100がキーワード列と商品情報をクライアント端末500に応答するので、WEBサーバ100で推薦キーワードテーブル220と固有ベクトル260等を保持するようにしても良い。
<ログ収集サーバ400>
ログ収集サーバ400は、演算処理を行うプロセッサ401と、情報を保持するメモリ402と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ402には、ログ収集部410がロードされてプロセッサ401によって実行される。
ログ収集部410は、クライアント端末500が要求した検索キーワードと商品情報を取得し、ユーザアクセス履歴テーブル420に蓄積する。なお、本実施形態では、メモリ402にユーザアクセス履歴テーブル420を格納する例を示すが、ストレージ装置300やログ収集サーバ400のローカルのストレージ装置(図示省略)にユーザアクセス履歴テーブル420を格納するようにしても良い。
ログ収集部410は、クライアント端末500がWEBサーバ100に対して商品データベース310の情報を要求したときに、図5に示すユーザアクセス履歴テーブル420に新たなエントリを加えて、クライアント端末500が要求した情報を蓄積する。
図5はユーザアクセス履歴テーブル420を示す。ユーザアクセス履歴テーブル420は、クライアント端末500が商品データベース310の情報を要求したときの時刻情報を格納する日時421と、クライアント端末500の識別子または検索要求を行う利用者の識別子を格納するユーザID422と、クライアント端末500と電子商取引サイト2の間に張られたセッションの識別子を格納するセッションID422と、クライアント端末500が行った操作の種類を格納するアクション424と、クライアント端末500が入力または選択した検索キーワードを格納するキーワード425と、クライアント端末500が要求した商品情報の所在を格納する商品情報URL426とから一つのエントリを構成する。なお、上記アクション424には、後述する商品情報の検索画面で、クライアント端末500が検索キーワードを入力した場合には「input」がアクション424に格納され、クライアント端末500が商品情報を選択したときには「select」がアクション424に格納される。
ここで、ログ収集サーバ400は、クライアント端末500がWEBサーバ100に要求した内容をアクセスの履歴として蓄積するため、クライアント端末500とWEBサーバ100の間に介在するように配置すればよい。例えば、ログ収集サーバ400は、クライアント端末500とWEBサーバ100の間でパケットを転送するプロクシとして機能させることができる。
なお、本発明ではクライアント端末500が商品データベース310の商品情報をWEBサーバ100へ要求したときに、ユーザアクセス履歴テーブル420に新たなエントリを追加できればよいので、図1の構成に限定される物ではない。例えば、WEBサーバ100のWEBサービス部110でクライアント端末500のログを生成し、WEBサーバ100に保持したユーザアクセス履歴テーブル420を更新しても良い。
また、WEBサーバ100のWEBサービス部100と、データベースサーバ200のDBMS210、推薦キーワード生成部230、ログ収集サーバ400のログ収集部410はそれぞれプログラムで構成される。これらのプログラムは、非一時的な計算機読み取り可能な記憶媒体としてのストレージ装置300に格納され、各サーバの起動時にメモリにロードされる。
<全体の処理>
図2は、図1の計算機システムで行われる全体的な処理のフローチャートである。まず、ステップS1では、複数のクライアント端末500がWEBサーバ100にアクセスして、検索キーワードによって商品情報を要求する。
ステップS2では、ログ収集サーバ400は、各クライアント端末500が要求した検索キーワードと各クライアント端末500がアクセスした商品情報を、それぞれユーザアクセス履歴テーブル420に蓄積する。
一方、ステップS3では、所定の時間間隔(例えば、1時間毎)でデータベースサーバ200の推薦キーワード生成部230がユーザアクセス履歴テーブル420を参照して推薦キーワードテーブル220と固有ベクトル260等を生成しておく。
そして、ステップS4では、上記ステップS1で受け付けた検索キーワードを含むキーワード列(推薦キーワード列)をデータベースサーバ200のDBMS210が推薦キーワードテーブル220から抽出する。そして、データベースサーバ200のDBMS210は、抽出したキーワード列と、このキーワード列から検索された商品情報を商品データベース310から取得してWEBサーバ100に応答する。WEBサーバ100はデータベースサーバ200から受け付けた情報を、検索キーワードの送信元のクライアント端末500に応答する。
この結果、クライアント端末500のディスプレイ装置504には、図3に示すような検索画面540が表示される。図3は、クライアント端末500がWEBサーバ100にアクセスして、商品情報を要求する際にディスプレイ装置504に表示される検索画面540である。
この検索画面540は、検索キーワード(図中入力キーワード)を入力する領域541と、検索キーワードに対するWEBサーバ100からの検索結果を表示する領域542(検索結果表示領域)の2つに分けられる。そして、検索結果を表示する領域542は、上半分が検索キーワードと推薦キーワードを含む関連グラフ(木構造のキーワード列)2400を表示する領域543と、関連グラフの終端(木構造の葉部分=リーフノード)には検索結果としての商品情報を表示する領域544から構成される。クライアント端末500のユーザが、商品情報の領域541に表示されたNo.1〜N0.4の商品情報の枠内を選択すると、WEBサーバ100は商品データベース310から商品情報を取得してディスプレイ装置504に表示する。検索結果を表示する領域542の、関連グラフ2400は、後述するように、検索キーワードを入力して図25または図26の処理で推薦キーワードテーブル220から抽出されたキーワード列のキーワードを接続したものである。
ログ収集サーバ400は、図3に示す検索画面540でクライアント端末500がWEBサーバ100に対して商品情報を要求または検索するときに、ユーザアクセス履歴テーブル420に新たな履歴を加える。
つまり、クライアント端末500で、検索画面540の領域541で検索キーワードを入力し、WEBサーバ100に検索キーワードを送信するとログ収集サーバ400は、新たなエントリユーザアクセス履歴テーブル42に追加し、当該エントリのアクション424は「input」に設定される。一方、検索結果542の領域544で商品情報を選択(またはクリック)し、WEBサーバ100に商品情報を要求するとログ収集サーバ400は、新たなエントリを加えて、当該エントリのアクション424は「select」に設定される。
<推薦キーワードテーブル220の生成の概要>
図4はデータベースサーバ200の推薦キーワード生成部230で行われる処理の一例を示すフローチャートである。この処理は、図2のステップS3で行われる処理である。
ステップS31では、推薦キーワード生成部230がログ収集サーバ400のアクセス履歴テーブル420を参照して、検索キーワードの入力履歴を取得する。ステップS32では、推薦キーワード生成部230がログ収集サーバ400のアクセス履歴テーブル420を参照して、商品情報のアクセス履歴を取得する。
ステップS33では、推薦キーワード生成部230が図6の処理を実行して、ユーザアクセス履歴テーブル420より、検索キーワードから商品情報に至るキーワード列を抽出して関連グラフ240を生成する。この関連グラフ240は、図7〜図13で示すように、ユーザアクセス履歴テーブル420のセッションID423毎に、関連グラフ240の一部を構成する部分グラフ240A〜240Fを抽出する。そして、推薦キーワード生成部230が、部分グラフ240A〜240Fから検索キーワードより商品情報に至るキーワード列を含むキーワードの木構造を、図14に示す関連グラフ240として生成する。
すなわち、関連グラフ240は、電子商取引サイト2のユーザの何れかが過去に検索したキーワードの履歴と、閲覧した商品情報の履歴から、商品情報に辿りつくまでのキーワードを推薦キーワード生成部230が結合したグラフである。
次に、ステップS34では、推薦キーワード生成部230が、上記ステップS33で求めた関連グラフ240から、検索キーワードの起点と終点(以下、親ノードから子ノード)の遷移確率を求めて確率遷移行列Z(250)を求める。確率遷移行列Zの演算は、後述の図15〜図18のように行われる。
ステップS35では、推薦キーワード生成部230が、上記ステップS34で求めた確率遷移行列Zから固有ベクトル260をK本演算する。ここで、Kは予め設定した値(例えば、「2」)で、管理者などが設定する値である。この演算によって図19、図20のようにK本のキーワード列が選択される。
そして、ステップS36では、推薦キーワード生成部230が、上記ステップS35で求めたK本の固有ベクトル260から、検索キーワードを基点として商品情報に至る推薦キーワードテーブル220を図21で示すように生成する。
以下、上記ステップS33〜S36のそれぞれについて以下に詳述する。
<関連グラフの生成>
図6は、関連グラフ240の生成の詳細を示すフローチャートである。ステップS331では、推薦キーワード生成部230が、予め設定された期間内のアクセスログをセッション毎にユーザアクセス履歴テーブル420から抽出する。予め設定された期間としては、各6ヶ月以内などの期間を設定することができる。なお、以下では、アクセスログは、ユーザアクセス履歴テーブル420から抽出した所定の期間内のアクセスログと、商品情報へのアクセスの記録を示す。
次に、ステップS332で、推薦キーワード生成部230は、抽出したアクセスログについてセッションID423が同一のレコードを抽出する。そして、ステップS333では、推薦キーワード生成部230は、セッションID423が同一のレコードを日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソートした検索履歴からキーワード425に格納された検索キーワードを順次取得して連結する。推薦キーワード生成部230は、連結した検索キーワードと商品情報を関連グラフ240として保持する。
推薦キーワード生成部230は、所定期間内の全てのセッションID423について部分グラフ240A〜240Fを抽出して上記関連グラフ240を生成する。
例えば、図7で示すように、データベースサーバ200の推薦キーワード生成部230は、ログ収集サーバ400のユーザアクセス履歴テーブル420から日付421が所定の期間内のアクセスログを取得する。そして、推薦キーワード生成部230は取得したユーザアクセス履歴テーブル420から、同一のセッションID423のレコードとして、図示の例では、セッションID423=91119のレコードを抽出し、日時421の昇順でソートしたものを、セッションログ420Aとする。
次に、推薦キーワード生成部230は、図8で示すように、セッションログ420Aから、日時421の古いレコードから順次キーワード425の内容を抽出し、抽出した検索キーワードを並べたデータを部分グラフ240Aとして生成する。
図8の例では、推薦キーワード生成部230が、セッションID423=91119に等しい複数のレコードをセッションログ420Aとしてユーザアクセス履歴テーブル420から抽出し、日付421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Aから日時421の昇順でキーワード425の内容を抽出した結果、「金具」、「フック」、「S字フック」の検索キーワードを時系列で接続したものを部分グラフ240Aとして生成する。つまり、セッションID423=91119では、「金具」という検索キーワードをクライアント端末500から入力した後に、「フック」という検索キーワードを入力し、当該セッションの最後に「S字フック」という順で検索キーワードを入力した履歴を示す。つまり、部分グラフ240Aは、検索キーワードの時系列的な関係を、検索キーワードの接続順序で表現するグラフである。
図9は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=91121に等しい複数のレコードをセッションログ420Bとして抽出した例を示す。推薦キーワード生成部230は、セッションログ420Bを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Bから日時421の昇順でキーワード425の内容を抽出した結果、「フック」、「S字フック」の検索キーワードを時系列で接続したものを部分グラフ240Bとして生成する。
図10は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92111に等しい複数のレコードをセッションログ420Cとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Cを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Cから日時421の昇順でキーワード425の内容を抽出した結果、「フック」、「S管」の検索キーワードを時系列で接続したものを部分グラフ240Cとして生成する。
図11は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92911に等しい複数のレコードをセッションログ420Dとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Dを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Dから日時421の昇順でキーワード425の内容を抽出した結果、「金具」、「取付金具」の検索キーワードを時系列で接続したものを部分グラフ240Dとして生成する。
図12は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92923に等しい複数のレコードをセッションログ420Eとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Eを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Eから日時421の昇順でキーワード425の内容を抽出した結果、「S管」、「ユニットS管XXX」の検索キーワードを時系列で接続したものを部分グラフ240Eとして生成する。ここで、推薦キーワード生成部230は、生成した部分グラフ240Eの「ユニットS管XXX」は、商品情報URL426にデータがあるので、関連グラフ240のリーフノードとなる商品情報とする。
図13は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=93211に等しい複数のレコードをセッションログ420Fとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Fを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Fから日時421の昇順でキーワード425の内容を抽出した結果、「S管」、「ユニットS管YYY」の検索キーワードを時系列で接続したものを部分グラフ240Fとして生成する。ここで、推薦キーワード生成部230は、生成した部分グラフ240Fの「ユニットS管YYY」は、商品情報URL426にデータがあるので、関連グラフ240のリーフノードとなる商品情報とする。
以上のように、図6の処理によって、推薦キーワード生成部230は、セッションID423毎に時系列でキーワード425の内容を抽出したものを部分グラフ240A〜240Fとして生成する。これらの部分グラフ240A〜240Fの集合が、図1に示したデータベースサーバ200のメモリ202内の関連グラフ240となる。そして、推薦キーワード生成部230は、上記生成した部分グラフ240A〜240Fより、リーフノードとなる検索キーワードから順に接続関係を辿って、図14に示す関連グラフ240を生成する。
この関連グラフ240の生成は、推薦キーワード生成部230が、商品情報に対応付けられたリーフノード間の時系列的に古い検索キーワードのうち、同一の検索キーワードを持つ関連グラフを同一のノード親ノードをもつ部分グラフとして抽出する。例えば、リーフノードを持つ部分グラフ240Eと240Fは、親ノードとして「S管」が等しいので、推薦キーワード生成部230は「S管」を親ノードとして子ノードにリーフノードをもつ部分グラフを生成する。
そして、推薦キーワード生成部230は、各部分グラフ240A〜240Dについても、リーフノードから親ノードについてそれぞれ比較して、同一のノードを親ノードとして各部分グラフ240A〜240Fを纏めることで図14の関連グラフ240を生成する。
図4のステップS33及び図6の処理により、推薦キーワード生成部230では、セッションログ423A〜423Fから検索キーワードを部分グラフ240A〜240Fとして抽出する。そして、推薦キーワード生成部230は、商品情報に対応付けられたリーフノードから親ノードとなる検索キーワードを辿って、図14に示すように、検索キーワードから商品情報に至るキーワードを木構造のキーワード列で表した関連グラフ240を生成する。
図14は、検索キーワードから商品情報に至るキーワード列の遷移回数を示す関連グラフ240である。関連グラフ240は、検索キーワード間で遷移の関係を線で接続し、遷移した回数を接続線の横に表示したものである。例えば、親ノードとしての「フック」から子ノードとしての「S字フック」への遷移は、図8の部分グラフ240Aと、図9の部分グラフ240Bの合計2回の遷移が存在するので、関連グラフ240の「フック」から「S字フック」への遷移回数は2回となる。
<確率遷移行列の生成>
次に、図4のステップS34で行われる関連グラフ240から各検索キーワードの確率遷移行列250を生成する処理について詳述する。
図15は、関連グラフ240を構成するキーワード列から確率遷移行列250Aを求める一例を示す。
まず、推薦キーワード生成部230は、関連グラフ240を構成するキーワード列を取得して、親ノードを表す列251へ各検索キーワードを格納し、子ノードを示す行252へ各検索キーワードを格納する。そして、推薦キーワード生成部230は、関連グラフ240から各検索キーワードについて、親ノードから子ノードへ遷移した回数を設定し、確率遷移行列250Aとして生成する。
次に、推薦キーワード生成部230は、確率遷移行列250Aの行単位で子ノードへの遷移回数の総数を求めて母数とする。そして、推薦キーワード生成部230は、各行の母数で子ノードへの遷移回数を除した確率を求めて、図16で示す確率遷移行列250Bとして生成する。例えば、確率遷移行列250Aの親ノードが「フック」の行では、「S管」への遷移が1回、「S字フック」への2回であるので、行の遷移回数の総数は3回となる。推薦キーワード生成部230は、図16の確率遷移行列250Bのように、親ノードが「フック」の行では、「S管」への遷移確率が1/3、「S字フック」への遷移確率が1/3に設定する。推薦キーワード生成部230は、他の行についても同様に、親ノードから子ノードへの遷移確率を行単位で求め、確率遷移行列250Bを生成する。
次に、推薦キーワード生成部230は、確率遷移行列250Bのうち図14の関連グラフ240で子ノードがない親ノードの遷移確率を、各行の構成要素(子ノード)の総数の逆数として設定し、図17で示す確率遷移行列250Cとして生成する。図17の例では、検索の課程で確率遷移行列250Bでは子ノードのない親ノード=「取付金具」、「S字フック」、「ユニットS管XXX」、「S管YYY」にたどり着いた後も、さらに検索キーワードを入力する場合がある。このため、子ノードのない親ノードでは、他の子ノードのいずれかへ遷移すると仮定して均等の確率を設定する。すなわち、確率遷移行列250Cでは、子ノード(図中、行方向の「金具」〜「S管YYY」)の総数が「7」であるので、各親ノードから子ノードへ遷移する確率を1/7に設定する。
次に、推薦キーワード生成部230は、図18で示すように、単位行列として確率遷移行列250Dを生成し、上記図17で生成した確率遷移行列250Cから確率遷移行列Zを生成する。ここで、単位行列としての確率遷移行列250Dは、親ノードから子ノードへの遷移確率が全て均等とした行列で、図示の例では子ノードの総数が7であるので、単位行列は、1/7の遷移確率に設定される。
次に、推薦キーワード生成部230は、図17で求めた確率遷移行列250Cを行列Hとし、図18で設定した確率遷移行列250Dの単位行列を行列Iとして、次式より確率遷移行列250を求める。なお、以下では確率遷移行列250を行列Zで表す。
Z = αH+(1−α)×I ……… (1)
ただし、αは安定化係数で、予め設定した値(例えば、0.8〜0.9等)である。
以上により、確率遷移行列Zが推薦キーワード生成部230によって求められる。
<固有ベクトルの演算>
次に、図4のステップS35で行われる固有ベクトル260の演算について説明する。推薦キーワード生成部230は、上記(1)式で求めた確率遷移行列Zについて、予め設定したK本の固有ベクトルを演算する。ただし、固有ベクトルの演算は、固有値の大きいものから順にK本の固有ベクトルを演算する。例えば、K=2の場合、図19、図20のように、推薦キーワード生成部230は、検索キーワードから商品情報に至るシーケンスから、図19に示す第1固有ベクトルと、図20に示す第2固有ベクトルをそれぞれ求める。
なお、図19は、固有ベクトル260と、第1固有ベクトルの値を関連グラフ240に設定した例を示す。また、図20は、固有ベクトル260と、第2固有ベクトルの値を関連グラフ240に設定した例を示す。
図19の第1固有ベクトルを設定した関連グラフ240において、「金具」から商品情報である「ユニットS管XXX」に至るキーワード列で、固有ベクトル260の値が最も小さい「S管」=0.04が最も思いつきにくい検索キーワードである。つまり、ユーザアクセス履歴テーブル420のセッションログでは、「金具」の検索キーワードから「フック」の検索結果を得たユーザは多数存在するが、「S管」の検索キーワードから商品情報の「ユニットS管XXX」の検索結果を得たユーザは極めて少数であることを示す。本発明では、思いつきにくいが、商品情報にたどり着くことのできる固有ベクトルの小さい推薦キーワードを提示することができるのである。
なお、図3の検索結果表示領域542の関連グラフ領域543に、第1固有ベクトルの値を表示しても良い。特に、第1固有ベクトルの値のうち最も値の小さい固有ベクトルの値を推薦キーワードと共に表示してもよい。あるいは、第1固有ベクトルの値のうち最も値の小さい固有ベクトルの推薦キーワードを協調して表示する等、固有ベクトルが最小であることを特定するようにしてもよい。これにより、商品情報へ辿りつくのに思いつきにくい推薦キーワードが何れであるかを明示することができる。
<推薦キーワードの生成>
次に、図4のステップS36で行われる推薦キーワードテーブル220の生成について説明する。推薦キーワード生成部230は、上記ステップS35で、K=2の場合、上記図19、図20のように第1固有ベクトルと第2固有ベクトルを求める。そして、推薦キーワード生成部230は、図19に示す第1固有ベクトルでは、検索キーワードが「金具」から「フック」、「S管」を経てリーフノードである商品情報=「ユニットS管XXX」に至るキーワード列を得る。この、キーワード列に最も高い優先度=1を与える。また、図20に示す第2固有ベクトルでは、検索キーワードが「金具」から「フック」、「S管」を経てリーフノードである商品情報=「S管YYY」に至るキーワード列を得る。この、キーワード列に2番目の優先度=2を与える。
そして、推薦キーワード生成部230は、キーワード列の長さに応じて第1ワードから第Nワード(本実施形態ではN=4)までの検索キーワードを推薦キーワードとして、上記優先度の順に設定したテーブルを推薦キーワードテーブル220として生成する。この結果、図19、図20の例では、図21に示すように、優先度221に応じた第1ワード222から第4ワード225にキーワード列の検索キーワードが設定される。例えば、優先度221=1の推薦キーワードテーブル220は、第1ワード=「金具」から第4ワード=「ユニットS管XXX」のキーワード列から構成される。また、優先度221=2の推薦キーワードテーブル220は、第1ワード=「金具」から第4ワード=「S管YYY」のキーワード列から構成される。
なお、図21において、優先度221=3,4のエントリは、固有ベクトル260を4本求めたときの例を示す。また、推薦キーワードテーブル220には、商品情報が第1ワード222〜第Nワードの何れのフィールドに格納されているかの情報を格納したフィールドを加えておくことが望ましい。あるいは、推薦キーワードテーブル220のキーワード列の終端が商品情報のときに「0」を設定し、キーワード列の終端がキーワードのときに「1」を設定するフラグを各エントリに設けても良い。
<推薦キーワードの提示>
次に、図2のステップS4で示した、検索キーワードに対して推薦キーワードテーブル220に格納された推薦キーワードを提示する処理の詳細について以下に説明する。
図25は、図2のステップS4で行われる処理の詳細を示すフローチャートである。このフローチャートは、クライアント端末500が入力した検索キーワードを、WEBサーバ100を介してデータベースサーバ200が受信したときにDBMS210で実行される。
ステップS41では、DBMS210がWEBサーバ100から検索キーワードを受け付ける。この検索キーワードは、クライアント端末500が図3の検索画面540で入力したキーワードである。
ステップS42では、DBMS210は推薦キーワードテーブル220を検索し、受け付けた検索キーワードと一致する推薦キーワードXを特定する。なお、推薦キーワードに一致する検索キーワードが推薦キーワードテーブル220内に見つからないときには、類義語辞書等から検索キーワードに最も近い推薦キーワード220をDBMS210が推薦キーワードXとして特定してもよい。なお、検索キーワードに最も近い類義語を推薦キーワードテーブル220から検索する手法については、公知または周知の手法を用いればよい。
ステップS43では、DBMS210は推薦キーワードテーブル220を検索し、特定した推薦キーワードXを含むキーワード列をL本抽出する。なお、「L」は予め設定された値で、キーワードテーブル220から抽出するキーワード列の本数の最大値である。
ステップS44では、DBMS210は上記ステップS43で抽出した1以上のキーワード列のうち推薦キーワードXから商品情報に至るパス(キーワード列)を抽出する。ステップS45では、DBMS210が推薦キーワードXから商品情報に至るパスを、図3に示した検索結果表示領域542の関連グラフを表示する領域543に出力するデータを生成する。
ステップS46では、DBMS210が上記ステップS44で抽出したパスの商品情報を商品データベース310から取得し、図3に示した検索結果表示領域542の商品情報を表示する領域544に出力するデータを生成し、上記ステップS45で生成した関連グラフの領域543と共にWEBサーバ100に応答する。WEBサーバ100はDBMS210からの応答をクライアント端末500に送信する。
以上の処理により、クライアント端末500がWEBサーバ100に検索キーワードを送信すると、WEBサーバ100はデータベースサーバ200に検索キーワードを転送して、検索キーワードの検索を依頼する。データベースサーバ200では予め推薦キーワードテーブル220を生成しておき、WEBサーバ100から受信した検索キーワードで推薦キーワードテーブル220を検索する。データベースサーバ200は、検索キーワードと一致または類似する推薦キーワードを特定して推薦キーワードXとする。DBMS210は推薦キーワードXに関連するキーワード列を推薦キーワードテーブル220から複数抽出し、推薦キーワードXから商品情報に至るキーワード列を出力する。このキーワード列の終端は、検索結果としての商品情報であり、推薦キーワードXから商品情報に至るキーワード列は、WEBサーバ100を介して図3で示したクライアント端末500の検索結果表示領域542に出力される。
例えば、図22で示すように、DBMS210は検索キーワード226が「金具」で抽出する抽出本数の最大値L=4のとき、第1ワードが「金具」に一致する優先度=1〜4の推薦キーワードテーブル220から複数のキーワード列を取得する。そしてDBMS210が、取得したキーワード列を図3に示す検索結果表示領域542に表示するデータとしてWEBサーバ100を介してクライアント端末500に応答する。すなわち、「金具」〜商品情報に至る複数のパスが、クライアント端末500のディスプレイ504に出力される。なお、図22の220'は推薦キーワードテーブル220の検索用のテーブルであり、DBMS210が一時的に生成することができる。
また、検索キーワードが「フック」の場合には、図23で示すように、推薦キーワードテーブル220の優先度が1〜3のエントリにおいて第2ワードが検索キーワードに一致する。DBMS210は、図中220'で示すように推薦キーワードテーブル220のうち優先度が1〜3の第2ワード以降をキーワード列として3本抽出し、WEBサーバ100を介してクライアント端末500に応答する。
また、検索キーワードが「S管」の場合には、図24で示すように、推薦キーワードテーブル220の優先度が1〜2のエントリにおいて第3ワードが検索キーワードに一致する。DBMS210は、図中220'で示すように推薦キーワードテーブル220のうち優先度が1〜2の第3ワード以降をキーワード列として2本抽出し、WEBサーバ100を介してクライアント端末500に応答する。
以上より、クライアント端末500を操作する電子商取引サイト2のユーザは、WEBサーバ100から検索画面540を要求し、検索キーワードを入力すると、検索キーワードに近い推薦キーワードから商品情報に至る複数のキーワード列を関連グラフ240として得ることができる。この推薦キーワードテーブル220は、電子商取引サイト2で複数のユーザが実行した検索と閲覧(検索結果へのアクセス)の履歴を格納したユーザアクセス履歴テーブル420から生成するものである。
これにより、前記従来例のように、ユーザなどが商品データベース310内の商品に評価を与える必要がなくなる。そして、本発明は、検索キーワードと商品情報の関係をキーワード列(関連グラフ2400)の構造から、暗黙の評価をクライアント端末500のユーザに提供することができ。また、検索キーワードから商品情報に到達する木構造の関連グラフ2400を提供することで、クライアント端末500のユーザは、所望する商品情報を前記従来例に比して極めて容易に得ることができる。また、本発明では、前記従来例のように発売直後の商品の情報を用意する必要もないので、電子商取引サイト2を運営する労力も大幅に低減できる。
商品などの検索の際に、確実に目的の商品情報に辿りつける検索キーワードは、商品名そのものや、商品の型番など、ユーザにとって比較的忘れやすい情報が多く存在する。
一方、ユーザがすぐに思い付くことができる検索キーワードは、抽象度が高いためヒットする商品の範囲は非常に広くなってしまう、という問題があった。このため商品の名称になじみがない新商品の場合、前記従来例で述べたCold start problemの本質的な課題であり、容易に検索キーワードから目的の商品に辿りつけないという問題があった。
これに対して、本発明では、検索されたキーワードの履歴と参照された商品情報の履歴から、なじみのない商品が属する抽象的なキーワードから、より具体的なキーワードに至るキーワード列を生成することが可能となった。特に、多数のユーザの検索履歴を活用して推薦キーワードテーブル220を作成することで、一人のユーザでは容易に結び付けられなかったキーワードと商品情報を結びつけることが可能となる。
本発明によれば、新商品であっても、例えば既に売れている商品から一旦、抽象的なキーワードに戻ってそこから手繰り寄せることができ、ユーザが新商品のうち本来欲しかった機能を有するものを容易に検索することが容易になる。
なお、上記実施形態では、商品データベース310に本発明を適用した例を示したが、売買の有無にかかわらず、ユーザが他のユーザの評価を参考にしたい情報を格納したデータベースの検索システムまたは検索装置に適用することができる。
<変形例>
図26は、図2のステップS4で行われる処理の変形例を示すフローチャートである。この変形例では、検索キーワードに一致または類似する推薦キーワードテーブル220の高次(検索の起点側で上位)の推薦キーワードも検索結果表示領542へ出力する処理である。
このフローチャートは、クライアント端末500が入力した検索キーワードを、WEBサーバ100を介してデータベースサーバ200が受信したときにDBMS210で実行される。
ステップS51では、図24のステップS41と同様に、DBMS210がWEBサーバ100から検索キーワードを受け付ける。この検索キーワードは、クライアント端末500が図3の検索画面540で入力したキーワードである。
ステップS52では、DBMS210は推薦キーワードテーブル220を検索し、受け付けた検索キーワードと一致する推薦キーワードXを特定する。なお、推薦キーワードテーブル220に一致する検索キーワードが見つからないときには、類義語辞書等から検索キーワードに最も近い推薦キーワードをDBMS210が推薦キーワードXとして特定してもよい。
ステップS53では、DBMS210は推薦キーワードテーブル220を検索し、特定した推薦キーワードXを含むキーワード列をM本抽出する。なお、「M」は予め設定された値で抽出するキーワード列の本数の最大値を示す。
ステップS54では、DBMS210は上記ステップS53で抽出したキーワード列のうち推薦キーワードXよりも高次(検索の起点側)の推薦キーワードYを抽出する。
ステップS55では、DBMS210は推薦キーワードテーブル220を検索し、高次の推薦キーワードYから商品情報に至るキーワード列(パス)をL本抽出する。そして、DBMS210は推薦キーワードYから商品情報に至るパスを、図3に示した検索結果表示領域542の関連グラフを表示する領域543に出力するデータを生成する。ステップS56では、DBMS210が上記ステップS54で抽出したパスの商品情報を商品データベース310から取得し、図3に示した検索結果表示領域542の商品情報を表示する領域544に出力するデータを生成し、上記ステップS55で生成した関連グラフの領域543と共にWEBサーバ100に応答する。WEBサーバ100はDBMS210からの応答をクライアント端末500に送信する。
以上の処理により、データベースサーバ200では予め生成した推薦キーワードテーブル220を、WEBサーバ100から受信した検索キーワードで検索する。データベースサーバ200は、検索キーワードと一致または類似する推薦キーワードXを特定し、さらに推薦キーワードXよりも検索の起点側の高次の推薦キーワードYから商品情報に至るキーワード列を取得して、図3で示した検索結果表示領域542に出力するデータを生成する。
この変形例によれば、新しい商品が商品データベース310に追加された場合にも、高次(関連グラフ2400で検索の起点側または上方)の推薦キーワードからのパスを辿ることで比較的早期に新たな商品が推薦キーワード220から推薦されやすくなり、注目されるまで時間がかかってしまうという前記従来例のCold start problemに対する解決策を与えることができる。つまり、本発明の電子商取引サイト2では、クライアント端末500のユーザが思いついた検索キーワードよりも広い範囲でキーワード列と商品情報を提供できるので、発売直後の新商品に辿りつく可能性を高めることができる。
例えば、DBMS210が検索キーワードとして「フック」を受け付けた場合、図21で示すように、優先度221が1〜3の第2ワード223の「フック」が推薦キーワードXとして特定する。そして、DBMS210は、特定した第2ワード223よりも高次(検索の起点側)の推薦キーワード220が第1ワード222に「金具」が存在するので、この「金具」を推薦キーワードYとして特定する。そして、DBMS210は、図3で示すように「金具」を頂点とする関連グラフ2400のキーワード列をWEBサーバ100へ送信する。クライアント端末500は、図3の検索画面540の検索結果表示領域542に表示された関連グラフ2400から、検索キーワード=「フック」から高次の推薦キーワードである「金具」を辿り、推薦キーワードが「取付金具」を経て商品情報に至ることもしることができる。なお、DBMS210が特定した推薦キーワードXより高次の推薦キーワードYの範囲は、予め設定した範囲で特定することができる。例えば、推薦キーワード220の第Nワードを推薦キーワードXとして特定した場合、第(N−β)ワードを推薦キーワードYとして特定する。これにより、検索キーワードから特定した推薦キーワードXよりもβ階層だけ高次の推薦キーワードYからのキーワード列を得ることができる。これにより、電子商取引サイト2は、入力された検索キーワードよりも広範囲のキーワード列をクライアント端末500のユーザに提供することができる。
なお、上記実施形態では、データベースサーバ200のDBMS210が、推薦キーワード220を検索する例を示したが、WEBサーバ100が推薦キーワード220を利用するようにしても良い。例えば、WEBサーバ100で推薦キーワード生成部230を実行してメモリ102に推薦キーワード220を格納しておく。WEBサーバ100は検索キーワードをデータベースサーバ200に転送し、検索結果をデータベースサーバ200から受信すると、図25に示したステップS42〜S46と同様の処理を行う。これにより、WEBサーバ100は推薦キーワード220をデータベースサーバ200の検索結果(商品情報)に付加して関連グラフ2400をクライアント端末500に提供することができる。
また、上記実施形態のWEBサーバ100とログ収集サーバ400とデータベースサーバ200とストレージ措置300を一つに纏めて情報検索装置として提供しても良い。
本発明は、検索する情報に関連した推薦情報を提供する計算機システムに適用することができ、特に、クライアント端末から受け付けた検索キーワードで、商品情報を検索し、推薦する情報も提供するデータベースシステムに好適である。また、本発明は、検索する商品情報とともに推薦する商品情報も提供する情報推薦装置または検索装置にも適用することができる。

Claims (12)

  1. プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行う情報検索方法であって、
    前記計算機が受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1のステップと、
    前記計算機が前記検索キーワードを受信する第2のステップと、
    前記計算機が前記検索キーワードに一致または類似するキーワードを含む前記キーワード列を検索し、1つ以上のキーワード列を抽出する第3のステップと、
    前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4のステップと、
    を含み、
    前記第1のステップは、
    前記計算機が前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報へのアクセスをアクセス履歴情報に蓄積する第5のステップと、
    前記計算機が所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6のステップと、
    前記計算機が前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7のステップと、
    前記計算機が前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8のステップと、
    前記計算機が前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9のステップと、
    を含むことを特徴とする情報検索方法。
  2. 請求項1に記載の情報検索方法であって、
    前記第6のステップは、
    前記キーワード列の終端にデータベースの情報を含み、
    前記第9のステップは、
    前記推薦キーワードテーブルの前記キーワード列の終端にデータベースの情報を含むことを特徴とする情報検索方法。
  3. 請求項1に記載の情報検索方法であって、
    前記第8のステップは、
    前記確率遷移行列の固有値が大きい順に所定数の固有ベクトルを演算することを特徴とする情報検索方法。
  4. 請求項1に記載の情報検索方法であって、
    前記第4のステップは、
    前記固有ベクトルが最も小さい値の前記キーワードを特定することを特徴とする情報検索方法。
  5. 請求項1に記載の情報検索方法であって、
    前記第4のステップは、
    前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードよりも所定数だけ上位のキーワードから前記データベースの情報に至るキーワードを出力することを特徴とする情報検索方法。
  6. プロセッサと記憶装置とを備えて、受信した検索キーワードで所定のデータベースから検索を行う情報検索装置であって、
    前記受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する推薦キーワード生成部と、
    前記検索キーワードを受信し、前記検索キーワードに一致または類似するキーワードを前記生成されたキーワード列から検索して、1つ以上のキーワード列を抽出し、前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する検索部と、
    を備え、
    前記推薦キーワード生成部は、
    前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードとデータベースの情報へのアクセスをアクセス履歴情報に蓄積する履歴収集部を有し、
    前記推薦キーワード生成部は、
    所定のタイミングで、前記アクセス履歴情報の検索キーワードとデータベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成し、前記関連グラフから前記各キーワードへの確率遷移行列を生成し、前記確率遷移行列から前記キーワードの固有ベクトルを演算し、前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納することを特徴とする情報検索装置。
  7. 請求項6に記載の情報検索装置であって、
    前記推薦キーワード生成部は、
    前記キーワード列の終端にデータベースの情報を含むことを特徴とする情報検索装置。
  8. 請求項6に記載の情報検索装置であって、
    前記推薦キーワード生成部は、
    前記確率遷移行列の固有値が大きい順に所定数の固有ベクトルを演算することを特徴とする情報検索装置。
  9. 請求項6に記載の情報検索装置であって、
    前記検索部は、
    前記固有ベクトルが最も小さい値の前記キーワードを特定することを特徴とする情報検索装置。
  10. 請求項6に記載の情報検索装置であって、
    前記検索部は、
    前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードよりも所定数だけ上位のキーワードか
    ら前記データベースの情報に至るキーワードを出力することを特徴とする情報検索装置。
  11. プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行うプログラムを格納した非一時的な計算機読み取り可能な記憶媒体であって、
    前記受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1の手順と、
    前記検索キーワードを受信する第2の手順と、
    前記検索キーワードに一致または類似するキーワードを含むキーワード列を検索し、1つ以上のキーワード列を抽出する第3の手順と、
    前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4の手順と、
    を含み、
    前記第1の手順は、
    前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報をアクセス履歴情報に蓄積する第5の手順と、
    前記所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6の手順と、
    前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7の手順と、
    前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8の手順と、
    前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9の手順と、
    を前記計算機に実行させるプログラムを格納した非一時的な計算機読み取り可能な記憶媒体。
  12. 請求項11に記載の記憶媒体であって、
    前記第6の手順は、
    前記キーワード列の終端にデータベースの情報を含み、
    前記第9の手順は、
    前記推薦キーワードテーブルの前記キーワード列の終端にデータベースの情報を含むことを特徴とする記憶媒体。
JP2013516146A 2011-05-26 2011-05-26 情報検索方法、情報検索装置及び記憶媒体 Expired - Fee Related JP5752245B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/062088 WO2012160693A1 (ja) 2011-05-26 2011-05-26 情報検索方法、情報検索装置及び記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2012160693A1 JPWO2012160693A1 (ja) 2014-07-31
JP5752245B2 true JP5752245B2 (ja) 2015-07-22

Family

ID=47216795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013516146A Expired - Fee Related JP5752245B2 (ja) 2011-05-26 2011-05-26 情報検索方法、情報検索装置及び記憶媒体

Country Status (2)

Country Link
JP (1) JP5752245B2 (ja)
WO (1) WO2012160693A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102197023B1 (ko) 2016-08-16 2020-12-30 이베이 인크. 다음 사용자 프롬프트 유형 선택하기
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US11604951B2 (en) 2016-10-16 2023-03-14 Ebay Inc. Image analysis and prediction based visual search
US11748978B2 (en) 2016-10-16 2023-09-05 Ebay Inc. Intelligent online personal assistant with offline visual search database

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015132970A1 (ja) * 2014-03-07 2015-09-11 楽天株式会社 検索装置、検索方法、プログラム及び記憶媒体
CN105302879B (zh) * 2015-10-12 2019-03-08 百度在线网络技术(北京)有限公司 用于确定用户需求的方法与装置
JP6124489B1 (ja) * 2016-08-01 2017-05-10 ヤフー株式会社 クエリ提供装置、クエリ提供方法、およびクエリ提供プログラム
JP6687737B2 (ja) * 2016-08-12 2020-04-28 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
CN110795627B (zh) * 2019-10-28 2022-08-19 苏州跃盟信息科技有限公司 信息推荐方法及装置、电子设备
JP2021077198A (ja) * 2019-11-12 2021-05-20 Market Flags株式会社 キーワード提案システム、キーワード提案方法及びキーワード提案プログラム
CN111815260A (zh) * 2020-06-08 2020-10-23 福建通图信息技术有限公司 一种基于架设人工智能公共服务平台系统及方法
CN114676336B (zh) * 2022-05-30 2022-08-23 深圳市海纳鑫信息科技有限公司 一种智能分类便于进行检索查找的网络搜索系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183191A (ja) * 2000-12-11 2002-06-28 Nippon Telegr & Teleph Corp <Ntt> 検索ナビゲーション機能付検索システム
WO2008056651A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Dispositif de recherche d'information
WO2009104387A1 (ja) * 2008-02-20 2009-08-27 パナソニック株式会社 対話型番組検索装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183191A (ja) * 2000-12-11 2002-06-28 Nippon Telegr & Teleph Corp <Ntt> 検索ナビゲーション機能付検索システム
WO2008056651A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Dispositif de recherche d'information
WO2009104387A1 (ja) * 2008-02-20 2009-08-27 パナソニック株式会社 対話型番組検索装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102197023B1 (ko) 2016-08-16 2020-12-30 이베이 인크. 다음 사용자 프롬프트 유형 선택하기
KR20210018318A (ko) * 2016-08-16 2021-02-17 이베이 인크. 다음 사용자 프롬프트 유형 선택하기
KR102395988B1 (ko) 2016-08-16 2022-05-09 이베이 인크. 다음 사용자 프롬프트 유형 선택하기
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US11604951B2 (en) 2016-10-16 2023-03-14 Ebay Inc. Image analysis and prediction based visual search
US11748978B2 (en) 2016-10-16 2023-09-05 Ebay Inc. Intelligent online personal assistant with offline visual search database
US11804035B2 (en) 2016-10-16 2023-10-31 Ebay Inc. Intelligent online personal assistant with offline visual search database
US11836777B2 (en) 2016-10-16 2023-12-05 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US11914636B2 (en) 2016-10-16 2024-02-27 Ebay Inc. Image analysis and prediction based visual search

Also Published As

Publication number Publication date
JPWO2012160693A1 (ja) 2014-07-31
WO2012160693A1 (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
JP5752245B2 (ja) 情報検索方法、情報検索装置及び記憶媒体
JP5778255B2 (ja) 垂直検索に基づいたクエリの方法、システム、および装置
JP5493267B2 (ja) 商品検索装置および商品検索方法
KR100834360B1 (ko) 적응형 카탈로그 페이지 디스플레이
JP2016146213A (ja) デジタル・ソーシャル・ネットワーク上でセマンティック操作を実行するためのシステム及び方法
JPWO2012118087A1 (ja) レコメンダシステム、レコメンド方法、及びプログラム
JP2010176327A (ja) 学習装置、学習方法、情報処理装置、データ選択方法、データ蓄積方法、データ変換方法、及びプログラム
US20110307504A1 (en) Combining attribute refinements and textual queries
JP2012234503A (ja) レコメンド装置、レコメンド方法およびレコメンドプログラム
JP5483269B2 (ja) 情報検索装置、情報検索方法
JP5668010B2 (ja) 情報推薦方法、装置及びプログラム
JP5668007B2 (ja) 興味分析方法、装置及びプログラム
JP5156123B1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
US8700625B1 (en) Identifying alternative products
US10643142B2 (en) Search term prediction
JP5504220B2 (ja) 提供情報選択装置、方法及びプログラム
JPWO2003017137A1 (ja) ユーザプロファイル管理装置および推薦装置
JP2010140433A (ja) コンテンツ推薦システム、コンテンツ推薦方法及びコンテンツ推薦プログラム
JP5561842B2 (ja) 情報検索装置、情報検索プログラム、プログラム格納媒体
JP2010160541A (ja) 情報処理装置
US11860964B2 (en) Industrial information identification and retrieval system
JP5777663B2 (ja) 検索支援装置及び検索支援プログラム
JP2010015394A (ja) リンク先提示装置およびコンピュータプログラム
JP5228683B2 (ja) 商品検索装置および商品検索方法
JP5519406B2 (ja) サーバ装置、ジャンルスコア算出方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150408

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: 20150512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150519

R150 Certificate of patent or registration of utility model

Ref document number: 5752245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees