JPWO2012160693A1 - Information search method, information search device, and storage medium - Google Patents
Information search method, information search device, and storage medium Download PDFInfo
- Publication number
- JPWO2012160693A1 JPWO2012160693A1 JP2013516146A JP2013516146A JPWO2012160693A1 JP WO2012160693 A1 JPWO2012160693 A1 JP WO2012160693A1 JP 2013516146 A JP2013516146 A JP 2013516146A JP 2013516146 A JP2013516146 A JP 2013516146A JP WO2012160693 A1 JPWO2012160693 A1 JP WO2012160693A1
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query 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)
Abstract
本発明は、キーワードを入力して商品を検索する計算機システムに関し、特に、入力されたキーワードを起点として、他のユーザが購買に至った商品群と、これら商品群とキーワードの間に存在する中間キーワード列を提示する計算機システムである。これにより、一人のユーザでは容易に結び付けられなかったキーワードとデータベースの検索情報(商品)を結びつけることが可能となる。 The present invention relates to a computer system that searches for a product by inputting a keyword, and in particular, a product group that another user has made a purchase from the entered keyword as a starting point, and an intermediate between these product group and the keyword. It is a computer system that presents a keyword string. As a result, it is possible to link keywords that could not be easily linked by a single user to database search information (product).
Description
本発明は、キーワードを入力して商品を検索する計算機システムに関し、特に、入力されたキーワードを起点として、他のユーザが購買に至った商品群と、これら商品群とキーワードの間に存在する中間キーワード列を提示する技術に関する。 The present invention relates to a computer system that searches for a product by inputting a keyword, and in particular, a product group that another user has made a purchase from the entered keyword as a starting point, and an intermediate between these product group and the keyword. The present invention relates to a technique for presenting a keyword string.
近年、高速な通信回線や携帯端末及びPCの普及に伴って、電子商取引が発展しつつある。消費者は電子商取引を行うサイトに接続することで、好きな時間に、好きな場所から、所望の商品を検索して購入することが可能となる。消費者にとって電子商取引は利便性が高いため、参加する消費者数や、販売する業者数及び提供される商品数が莫大となっている。商品数や業者数の数が増大したため、電子商取引のサイトに参加した消費者は、本来欲しかった商品を見つけられない、あるいは見つけるまで探す時間が長くかかってしまう状況にある。例えば、消費者が商品の名称の一部をキーワードとして検索した場合などでは、類似する名称の商品も一覧として提示され、消費者が欲する商品と異なる商品が多数列挙されるという状況が発生した。 In recent years, electronic commerce has been developed with the spread of high-speed communication lines, mobile terminals, and PCs. A consumer can search for and purchase a desired product from a favorite place at a favorite time by connecting to a site for electronic commerce. Since e-commerce is convenient for consumers, the number of participating consumers, the number of dealers and the number of products provided are enormous. Due to the increase in the number of products and the number of merchants, consumers who have participated in an e-commerce site cannot find the products they originally wanted, or take a long time to find them. For example, when a consumer searches for a part of the name of a product as a keyword, a product with a similar name is also presented as a list, and a situation occurs in which many products different from the product desired by the consumer are listed.
このような状況を緩和するため、電子商取引のユーザへの情報を推薦する計算機システムとして、協調フィルタリングが提案され、実用化されている。協調フィルタリングは、例えば、Amazon.com(登録商標)のように検索した商品を表示する際に、「この商品を買った人はこんな商品も買っています」のように推薦する商品も提示している。これにより、電子商取引のユーザは、最初に検索した商品よりも、よりニーズに合った商品を選択する可能性が高くなる。 In order to alleviate this situation, collaborative filtering has been proposed and put into practical use as a computer system that recommends information to users of electronic commerce. Collaborative filtering, for example, presents recommended products such as "If you bought this product, you also bought this product" when you display the searched product like Amazon.com (registered trademark) Yes. Thereby, the user of electronic commerce is more likely to select a product that better meets the needs than the product first searched.
ところが、上記情報推薦アルゴリズムである協調フィルタリングでは、購入、評価したユーザ数が少ない商品の場合、推薦されないという問題がある。これは、一般に、sparsityの問題と言われている。 However, in the collaborative filtering that is the information recommendation algorithm, there is a problem that a product with a small number of purchased and evaluated users is not recommended. This is generally referred to as a sparsity problem.
また、上記協調フィルタリングでは、商品が市場投入されて間もない場合、その商品が推薦されにくいという問題もある。つまり、商品の発売直後では、購入したユーザが少ない場合や評価したユーザ数がない場合が多く、推薦される対象にはならない。これは、cold startの問題といわれている。 In addition, the collaborative filtering has a problem that it is difficult to recommend a product if the product has just been put on the market. That is, immediately after the sale of a product, there are many cases where there are few purchased users or there are no evaluated users, and they are not recommended targets. This is said to be a cold start problem.
上記のsparsityの問題およびcold startの問題を解決するため、様々な方法が提案されてきた。例えば、非特許文献1のように、Content-based filteringと言われる、性質の近い商品の評価を利用する方法が知られている。非特許文献1によれば、評価がない新たな商品の評価を、性質の近い商品に対する評価から推定することが可能になる。
Various methods have been proposed to solve the above sparsity problem and cold start problem. For example, as in Non-Patent
しかし、上記非特許文献1のContent-based filteringでは、商品の性質を詳細に用意する必要があるため、大幅な手間がかかり、かつ、商品によって保持する性質が均等ではないため、推薦の性能にばらつきが出てしまうという問題がある。
However, in the content-based filtering of Non-Patent
このため、多数の商品を提供する電子商取引サイトでは上記非特許文献1が利用しにくく、上記のような問題解決には至っていない。
For this reason, the
また、電子商取引サイトを利用したユーザのクリックの履歴を活用することで、クリックされたURLのキーワードからユーザの好みを推定し、推定された好みから商品を特定して推薦する方法が知られている(例えば、特許文献1)。特許文献1の手法では、上記のContent-based filteringの方法における、性質の近い商品の評価を利用しなくてもよい。したがって、類似する商品がない場合でも推薦することが可能になる。
Also, a method is known in which user's click history using an electronic commerce site is utilized to estimate the user's preference from the clicked URL keyword, and to identify and recommend a product from the estimated preference. (For example, Patent Document 1). In the method of
しかしながら、上記特許文献1では、ユーザが希望する商品とURLが結びつかない場合は、URLの情報が有効にならないという問題がある。つまり、URLなどのユーザ側の情報と、商品アイテムの情報にギャップがある場合、ユーザの希望する商品にたどり着けないことになる。特に、市場投入間もない商品の場合、この傾向が顕著である。これは、上記従来例と同様に、発売直後の商品を閲覧(クリック)したユーザが少ないことに起因する。
However, in the above-mentioned
本発明は上記問題点に鑑みてなされたもので、多数のユーザの検索履歴を活用することで、一人のユーザでは結び付けられなかったキーワードと商品情報を結びつけることを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to link keywords and merchandise information that were not linked by one user by utilizing search histories of a large number of users.
本発明は、プロセッサと記憶装置とを備えた計算機で、受信した検索キーワードで所定のデータベースから検索を行う情報検索方法であって、前記計算機が受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1のステップと、前記計算機が前記検索キーワードを受信する第2のステップと、前記計算機が前記検索キーワードに一致または類似するキーワードを含む前記キーワード列を検索し、1つ以上のキーワード列を抽出する第3のステップと、前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4のステップと、を含む。 The present invention relates to an information search method for performing a search from a predetermined database using a received search keyword in a computer including a processor and a storage device, wherein the search keyword history received by the computer and the information in the database are stored. A first step of generating a keyword string from an access history; a second step of receiving the search keyword by the computer; and searching for the keyword string including a keyword that matches or is similar to the search keyword. A third step of extracting one or more keyword strings, and a fourth step of outputting a keyword from the keyword matching or similar to the search keyword to the information in the database among the extracted keyword strings Steps.
本発明によれば、検索キーワードからデータベースの情報に到達するキーワード列を提供することで、データベースの利用者は、所望する情報を前記従来例に比して極めて容易に得ることができる。特に、多数のユーザの検索履歴を活用して推薦キーワードテーブルを作成することで、一人のユーザでは容易に結び付けられなかったキーワードとデータベースの情報を結びつけることが可能となる。 According to the present invention, by providing a keyword string that reaches database information from a search keyword, a database user can obtain desired information much more easily than the conventional example. In particular, by creating a recommended keyword table using the search histories of a large number of users, it becomes possible to link keywords and database information that were not easily linked by a single user.
本発明を実施するための形態(以下、「実施形態」という)について、適宜図面を参照しながら詳細に説明する。 A mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described in detail with reference to the drawings as appropriate.
図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に接続される。
FIG. 1 is a block diagram showing an embodiment of the present invention and showing an example of the configuration of a computer system. In FIG. 1, a
電子商取引サイト2を利用するユーザは、クライアント端末500のブラウザを介してWEBサーバ100と接続し、WEBサーバ100は商品情報の提供や商品の購入などのサービスを提供する例を示す。
A user who uses the
<クライアント端末500>
<
各クライアント端末500は、演算処理を行うプロセッサ501と、データやプログラムを保持するメモリ502と、データやプログラムを格納するストレージ装置503と、出力装置としてのディスプレイ装置504と、マウスやキーボードなどの入力デバイス505を備える。
Each
クライアント端末500のメモリ502にはWEBブラウザがロードされ、プロセッサ501によって実行される。そして、WEBブラウザによってクライアント端末500が電子商取引サイト2のWEBサーバ100からサービスの提供を受ける。例えば、クライアント端末500は入力デバイス505からユーザが入力した検索キーワードをWEBサーバ100へ送信して商品情報の検索を要求する。WEBサーバ100は受信したキーワードから、該当する商品の情報をデータベースサーバ200から取得してクライアント端末500に送信する。クライアント端末500は、WEBサーバ100から受信した検索結果としての商品情報をディスプレイ装置504に表示する。
A web browser is loaded into the
<電子商取引サイト2>
<
電子商取引サイト2は、複数のクライアント端末500から要求を受け付けてサービスを提供するWEBサーバ100と、ストレージ装置503に格納された商品データベース310を管理して、WEBサーバ100がクライアント端末500から受け付けたキーワードで商品情報を検索するデータベースサーバ200と、クライアント端末500のアクセスの履歴を取得して蓄積するログ収集サーバ400がLAN3に接続されて、相互に通信可能となっている。本発明では、WEBサーバ100がクライアント端末500から受け付けた検索キーワードでデータベースサーバ200に商品データベース310の検索を行う際に、検索した商品情報に加えて、予め作成しておいた推薦キーワードテーブル220のキーワード列も提供するものである。以下、電子商取引サイト2を構成する各サーバの構成についてそれぞれ説明する。
The
<WEBサーバ100>
<
WEBサーバ100は、演算処理を行うプロセッサ101と、情報を保持するメモリ102と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ102には、WEBサービス部110がロードされてプロセッサ101によって実行される。
The
WEBサービス部110は、クライアント端末500のWEBブラウザが送信したHTTPによる要求を受け付けるWebサーバ機能と、Webサーバ機能が受け付けた処理要求に対して、データベースサーバ200からデータを取得し、取得したデータに所定の加工などを行ってWebサーバ機能へ応答するアプリケーションサーバの機能を含むものとする。なお、WEBサービス部110のWebサーバ機能とアプリケーションサーバ機能を独立させて、それぞれサーバとすることができる。WEBサービス部110は、データベースサーバ200から取得したデータをクライアント端末500に送信する。
The
<データベースサーバ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は検索部として機能する。
The
推薦キーワード生成部230は、所定のタイミングでログ収集サーバ400が収集したユーザアクセス履歴テーブル420を参照し、後述するように関連グラフ240や推薦キーワードテーブル220を生成し、メモリ202に保持する。なお、推薦キーワード生成部230は、生成した推薦キーワードテーブル220や固有ベクトル260等をストレージ装置300に格納するようにしてもよい。推薦キーワード生成部230は、推薦キーワードテーブル220を生成する際に、関連グラフ240、確率遷移行列250、固有ベクトル260を生成する。これらの詳細については後述する。
The recommended
なお、本実施形態では、推薦キーワード生成部230をデータベースサーバ200で実行する例を示したが、これに限定されるものではない。本発明では、ユーザアクセス履歴テーブル420を参照して推薦キーワードテーブル220を生成し、DBMS210が推薦キーワードテーブル220を参照し、キーワード列と商品情報をWEBサーバ100へ応答できればよい。このため、推薦キーワード生成部230は、データベースサーバ200以外のログ収集サーバ400やWEBサーバ100で実行することができる。
In the present embodiment, an example in which the recommended
また、本発明では、検索キーワードを受け付けたWEBサーバ100がキーワード列と商品情報をクライアント端末500に応答するので、WEBサーバ100で推薦キーワードテーブル220と固有ベクトル260等を保持するようにしても良い。
In the present invention, since the
<ログ収集サーバ400>
<
ログ収集サーバ400は、演算処理を行うプロセッサ401と、情報を保持するメモリ402と、を備えて図示しないネットワークインターフェースを介してLAN3に接続される。メモリ402には、ログ収集部410がロードされてプロセッサ401によって実行される。
The
ログ収集部410は、クライアント端末500が要求した検索キーワードと商品情報を取得し、ユーザアクセス履歴テーブル420に蓄積する。なお、本実施形態では、メモリ402にユーザアクセス履歴テーブル420を格納する例を示すが、ストレージ装置300やログ収集サーバ400のローカルのストレージ装置(図示省略)にユーザアクセス履歴テーブル420を格納するようにしても良い。
The
ログ収集部410は、クライアント端末500がWEBサーバ100に対して商品データベース310の情報を要求したときに、図5に示すユーザアクセス履歴テーブル420に新たなエントリを加えて、クライアント端末500が要求した情報を蓄積する。
When the
図5はユーザアクセス履歴テーブル420を示す。ユーザアクセス履歴テーブル420は、クライアント端末500が商品データベース310の情報を要求したときの時刻情報を格納する日時421と、クライアント端末500の識別子または検索要求を行う利用者の識別子を格納するユーザID422と、クライアント端末500と電子商取引サイト2の間に張られたセッションの識別子を格納するセッションID422と、クライアント端末500が行った操作の種類を格納するアクション424と、クライアント端末500が入力または選択した検索キーワードを格納するキーワード425と、クライアント端末500が要求した商品情報の所在を格納する商品情報URL426とから一つのエントリを構成する。なお、上記アクション424には、後述する商品情報の検索画面で、クライアント端末500が検索キーワードを入力した場合には「input」がアクション424に格納され、クライアント端末500が商品情報を選択したときには「select」がアクション424に格納される。
FIG. 5 shows a user access history table 420. The user access history table 420 includes a date and
ここで、ログ収集サーバ400は、クライアント端末500がWEBサーバ100に要求した内容をアクセスの履歴として蓄積するため、クライアント端末500とWEBサーバ100の間に介在するように配置すればよい。例えば、ログ収集サーバ400は、クライアント端末500とWEBサーバ100の間でパケットを転送するプロクシとして機能させることができる。
Here, the
なお、本発明ではクライアント端末500が商品データベース310の商品情報をWEBサーバ100へ要求したときに、ユーザアクセス履歴テーブル420に新たなエントリを追加できればよいので、図1の構成に限定される物ではない。例えば、WEBサーバ100のWEBサービス部110でクライアント端末500のログを生成し、WEBサーバ100に保持したユーザアクセス履歴テーブル420を更新しても良い。
In the present invention, when the
また、WEBサーバ100のWEBサービス部100と、データベースサーバ200のDBMS210、推薦キーワード生成部230、ログ収集サーバ400のログ収集部410はそれぞれプログラムで構成される。これらのプログラムは、非一時的な計算機読み取り可能な記憶媒体としてのストレージ装置300に格納され、各サーバの起動時にメモリにロードされる。
In addition, the
<全体の処理> <Overall processing>
図2は、図1の計算機システムで行われる全体的な処理のフローチャートである。まず、ステップS1では、複数のクライアント端末500がWEBサーバ100にアクセスして、検索キーワードによって商品情報を要求する。
FIG. 2 is a flowchart of overall processing performed by the computer system of FIG. First, in step S1, a plurality of
ステップS2では、ログ収集サーバ400は、各クライアント端末500が要求した検索キーワードと各クライアント端末500がアクセスした商品情報を、それぞれユーザアクセス履歴テーブル420に蓄積する。
In step S <b> 2, the
一方、ステップS3では、所定の時間間隔(例えば、1時間毎)でデータベースサーバ200の推薦キーワード生成部230がユーザアクセス履歴テーブル420を参照して推薦キーワードテーブル220と固有ベクトル260等を生成しておく。
On the other hand, in step S3, the recommended
そして、ステップS4では、上記ステップS1で受け付けた検索キーワードを含むキーワード列(推薦キーワード列)をデータベースサーバ200のDBMS210が推薦キーワードテーブル220から抽出する。そして、データベースサーバ200のDBMS210は、抽出したキーワード列と、このキーワード列から検索された商品情報を商品データベース310から取得してWEBサーバ100に応答する。WEBサーバ100はデータベースサーバ200から受け付けた情報を、検索キーワードの送信元のクライアント端末500に応答する。
In step S4, the
この結果、クライアント端末500のディスプレイ装置504には、図3に示すような検索画面540が表示される。図3は、クライアント端末500がWEBサーバ100にアクセスして、商品情報を要求する際にディスプレイ装置504に表示される検索画面540である。
As a result, a
この検索画面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から抽出されたキーワード列のキーワードを接続したものである。
The
ログ収集サーバ400は、図3に示す検索画面540でクライアント端末500がWEBサーバ100に対して商品情報を要求または検索するときに、ユーザアクセス履歴テーブル420に新たな履歴を加える。
The
つまり、クライアント端末500で、検索画面540の領域541で検索キーワードを入力し、WEBサーバ100に検索キーワードを送信するとログ収集サーバ400は、新たなエントリユーザアクセス履歴テーブル42に追加し、当該エントリのアクション424は「input」に設定される。一方、検索結果542の領域544で商品情報を選択(またはクリック)し、WEBサーバ100に商品情報を要求するとログ収集サーバ400は、新たなエントリを加えて、当該エントリのアクション424は「select」に設定される。
That is, when the
<推薦キーワードテーブル220の生成の概要> <Outline of Generation of Recommended Keyword Table 220>
図4はデータベースサーバ200の推薦キーワード生成部230で行われる処理の一例を示すフローチャートである。この処理は、図2のステップS3で行われる処理である。
FIG. 4 is a flowchart illustrating an example of processing performed by the recommended
ステップS31では、推薦キーワード生成部230がログ収集サーバ400のアクセス履歴テーブル420を参照して、検索キーワードの入力履歴を取得する。ステップS32では、推薦キーワード生成部230がログ収集サーバ400のアクセス履歴テーブル420を参照して、商品情報のアクセス履歴を取得する。
In step S <b> 31, the recommended
ステップS33では、推薦キーワード生成部230が図6の処理を実行して、ユーザアクセス履歴テーブル420より、検索キーワードから商品情報に至るキーワード列を抽出して関連グラフ240を生成する。この関連グラフ240は、図7〜図13で示すように、ユーザアクセス履歴テーブル420のセッションID423毎に、関連グラフ240の一部を構成する部分グラフ240A〜240Fを抽出する。そして、推薦キーワード生成部230が、部分グラフ240A〜240Fから検索キーワードより商品情報に至るキーワード列を含むキーワードの木構造を、図14に示す関連グラフ240として生成する。
In step S <b> 33, the recommended
すなわち、関連グラフ240は、電子商取引サイト2のユーザの何れかが過去に検索したキーワードの履歴と、閲覧した商品情報の履歴から、商品情報に辿りつくまでのキーワードを推薦キーワード生成部230が結合したグラフである。
That is, in the
次に、ステップS34では、推薦キーワード生成部230が、上記ステップS33で求めた関連グラフ240から、検索キーワードの起点と終点(以下、親ノードから子ノード)の遷移確率を求めて確率遷移行列Z(250)を求める。確率遷移行列Zの演算は、後述の図15〜図18のように行われる。
Next, in step S34, the recommended
ステップS35では、推薦キーワード生成部230が、上記ステップS34で求めた確率遷移行列Zから固有ベクトル260をK本演算する。ここで、Kは予め設定した値(例えば、「2」)で、管理者などが設定する値である。この演算によって図19、図20のようにK本のキーワード列が選択される。
In step S35, the recommended
そして、ステップS36では、推薦キーワード生成部230が、上記ステップS35で求めたK本の固有ベクトル260から、検索キーワードを基点として商品情報に至る推薦キーワードテーブル220を図21で示すように生成する。
In step S36, the recommended
以下、上記ステップS33〜S36のそれぞれについて以下に詳述する。 Hereafter, each of said step S33-S36 is explained in full detail below.
<関連グラフの生成> <Generation of related graph>
図6は、関連グラフ240の生成の詳細を示すフローチャートである。ステップS331では、推薦キーワード生成部230が、予め設定された期間内のアクセスログをセッション毎にユーザアクセス履歴テーブル420から抽出する。予め設定された期間としては、各6ヶ月以内などの期間を設定することができる。なお、以下では、アクセスログは、ユーザアクセス履歴テーブル420から抽出した所定の期間内のアクセスログと、商品情報へのアクセスの記録を示す。
FIG. 6 is a flowchart showing details of generation of the
次に、ステップS332で、推薦キーワード生成部230は、抽出したアクセスログについてセッションID423が同一のレコードを抽出する。そして、ステップS333では、推薦キーワード生成部230は、セッションID423が同一のレコードを日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソートした検索履歴からキーワード425に格納された検索キーワードを順次取得して連結する。推薦キーワード生成部230は、連結した検索キーワードと商品情報を関連グラフ240として保持する。
Next, in step S332, the recommended
推薦キーワード生成部230は、所定期間内の全てのセッションID423について部分グラフ240A〜240Fを抽出して上記関連グラフ240を生成する。
The recommended
例えば、図7で示すように、データベースサーバ200の推薦キーワード生成部230は、ログ収集サーバ400のユーザアクセス履歴テーブル420から日付421が所定の期間内のアクセスログを取得する。そして、推薦キーワード生成部230は取得したユーザアクセス履歴テーブル420から、同一のセッションID423のレコードとして、図示の例では、セッションID423=91119のレコードを抽出し、日時421の昇順でソートしたものを、セッションログ420Aとする。
For example, as illustrated in FIG. 7, the recommended
次に、推薦キーワード生成部230は、図8で示すように、セッションログ420Aから、日時421の古いレコードから順次キーワード425の内容を抽出し、抽出した検索キーワードを並べたデータを部分グラフ240Aとして生成する。
Next, as shown in FIG. 8, the recommended
図8の例では、推薦キーワード生成部230が、セッションID423=91119に等しい複数のレコードをセッションログ420Aとしてユーザアクセス履歴テーブル420から抽出し、日付421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Aから日時421の昇順でキーワード425の内容を抽出した結果、「金具」、「フック」、「S字フック」の検索キーワードを時系列で接続したものを部分グラフ240Aとして生成する。つまり、セッションID423=91119では、「金具」という検索キーワードをクライアント端末500から入力した後に、「フック」という検索キーワードを入力し、当該セッションの最後に「S字フック」という順で検索キーワードを入力した履歴を示す。つまり、部分グラフ240Aは、検索キーワードの時系列的な関係を、検索キーワードの接続順序で表現するグラフである。
In the example of FIG. 8, the recommended
図9は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=91121に等しい複数のレコードをセッションログ420Bとして抽出した例を示す。推薦キーワード生成部230は、セッションログ420Bを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Bから日時421の昇順でキーワード425の内容を抽出した結果、「フック」、「S字フック」の検索キーワードを時系列で接続したものを部分グラフ240Bとして生成する。
FIG. 9 is the same as FIG. 8 and shows an example in which the recommended
図10は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92111に等しい複数のレコードをセッションログ420Cとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Cを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Cから日時421の昇順でキーワード425の内容を抽出した結果、「フック」、「S管」の検索キーワードを時系列で接続したものを部分グラフ240Cとして生成する。
10 is the same as FIG. 8, and the recommended
図11は、図8と同様であり、推薦キーワード生成部230が図7のユーザアクセス履歴テーブル420からセッションID423=92911に等しい複数のレコードをセッションログ420Dとして図7のユーザアクセス履歴テーブル420から抽出した例を示す。推薦キーワード生成部230は、セッションログ420Dを、日時421の昇順でソートする。そして、推薦キーワード生成部230は、ソート後のセッションログ420Dから日時421の昇順でキーワード425の内容を抽出した結果、「金具」、「取付金具」の検索キーワードを時系列で接続したものを部分グラフ240Dとして生成する。
FIG. 11 is the same as FIG. 8, and the recommended
図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のリーフノードとなる商品情報とする。
12 is the same as FIG. 8, and the recommended
図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のリーフノードとなる商品情報とする。
FIG. 13 is the same as FIG. 8, and the recommended
以上のように、図6の処理によって、推薦キーワード生成部230は、セッションID423毎に時系列でキーワード425の内容を抽出したものを部分グラフ240A〜240Fとして生成する。これらの部分グラフ240A〜240Fの集合が、図1に示したデータベースサーバ200のメモリ202内の関連グラフ240となる。そして、推薦キーワード生成部230は、上記生成した部分グラフ240A〜240Fより、リーフノードとなる検索キーワードから順に接続関係を辿って、図14に示す関連グラフ240を生成する。
As described above, the recommended
この関連グラフ240の生成は、推薦キーワード生成部230が、商品情報に対応付けられたリーフノード間の時系列的に古い検索キーワードのうち、同一の検索キーワードを持つ関連グラフを同一のノード親ノードをもつ部分グラフとして抽出する。例えば、リーフノードを持つ部分グラフ240Eと240Fは、親ノードとして「S管」が等しいので、推薦キーワード生成部230は「S管」を親ノードとして子ノードにリーフノードをもつ部分グラフを生成する。
In the generation of the
そして、推薦キーワード生成部230は、各部分グラフ240A〜240Dについても、リーフノードから親ノードについてそれぞれ比較して、同一のノードを親ノードとして各部分グラフ240A〜240Fを纏めることで図14の関連グラフ240を生成する。
Then, the recommended
図4のステップS33及び図6の処理により、推薦キーワード生成部230では、セッションログ423A〜423Fから検索キーワードを部分グラフ240A〜240Fとして抽出する。そして、推薦キーワード生成部230は、商品情報に対応付けられたリーフノードから親ノードとなる検索キーワードを辿って、図14に示すように、検索キーワードから商品情報に至るキーワードを木構造のキーワード列で表した関連グラフ240を生成する。
4, the recommended
図14は、検索キーワードから商品情報に至るキーワード列の遷移回数を示す関連グラフ240である。関連グラフ240は、検索キーワード間で遷移の関係を線で接続し、遷移した回数を接続線の横に表示したものである。例えば、親ノードとしての「フック」から子ノードとしての「S字フック」への遷移は、図8の部分グラフ240Aと、図9の部分グラフ240Bの合計2回の遷移が存在するので、関連グラフ240の「フック」から「S字フック」への遷移回数は2回となる。
FIG. 14 is a
<確率遷移行列の生成> <Generation of stochastic transition matrix>
次に、図4のステップS34で行われる関連グラフ240から各検索キーワードの確率遷移行列250を生成する処理について詳述する。
Next, the process of generating the
図15は、関連グラフ240を構成するキーワード列から確率遷移行列250Aを求める一例を示す。
FIG. 15 shows an example in which the
まず、推薦キーワード生成部230は、関連グラフ240を構成するキーワード列を取得して、親ノードを表す列251へ各検索キーワードを格納し、子ノードを示す行252へ各検索キーワードを格納する。そして、推薦キーワード生成部230は、関連グラフ240から各検索キーワードについて、親ノードから子ノードへ遷移した回数を設定し、確率遷移行列250Aとして生成する。
First, the recommended
次に、推薦キーワード生成部230は、確率遷移行列250Aの行単位で子ノードへの遷移回数の総数を求めて母数とする。そして、推薦キーワード生成部230は、各行の母数で子ノードへの遷移回数を除した確率を求めて、図16で示す確率遷移行列250Bとして生成する。例えば、確率遷移行列250Aの親ノードが「フック」の行では、「S管」への遷移が1回、「S字フック」への2回であるので、行の遷移回数の総数は3回となる。推薦キーワード生成部230は、図16の確率遷移行列250Bのように、親ノードが「フック」の行では、「S管」への遷移確率が1/3、「S字フック」への遷移確率が1/3に設定する。推薦キーワード生成部230は、他の行についても同様に、親ノードから子ノードへの遷移確率を行単位で求め、確率遷移行列250Bを生成する。
Next, the recommended
次に、推薦キーワード生成部230は、確率遷移行列250Bのうち図14の関連グラフ240で子ノードがない親ノードの遷移確率を、各行の構成要素(子ノード)の総数の逆数として設定し、図17で示す確率遷移行列250Cとして生成する。図17の例では、検索の課程で確率遷移行列250Bでは子ノードのない親ノード=「取付金具」、「S字フック」、「ユニットS管XXX」、「S管YYY」にたどり着いた後も、さらに検索キーワードを入力する場合がある。このため、子ノードのない親ノードでは、他の子ノードのいずれかへ遷移すると仮定して均等の確率を設定する。すなわち、確率遷移行列250Cでは、子ノード(図中、行方向の「金具」〜「S管YYY」)の総数が「7」であるので、各親ノードから子ノードへ遷移する確率を1/7に設定する。
Next, the recommended
次に、推薦キーワード生成部230は、図18で示すように、単位行列として確率遷移行列250Dを生成し、上記図17で生成した確率遷移行列250Cから確率遷移行列Zを生成する。ここで、単位行列としての確率遷移行列250Dは、親ノードから子ノードへの遷移確率が全て均等とした行列で、図示の例では子ノードの総数が7であるので、単位行列は、1/7の遷移確率に設定される。
Next, as shown in FIG. 18, the recommended
次に、推薦キーワード生成部230は、図17で求めた確率遷移行列250Cを行列Hとし、図18で設定した確率遷移行列250Dの単位行列を行列Iとして、次式より確率遷移行列250を求める。なお、以下では確率遷移行列250を行列Zで表す。
Z = αH+(1−α)×I ……… (1)
ただし、αは安定化係数で、予め設定した値(例えば、0.8〜0.9等)である。Next, the recommended
Z = αH + (1−α) × I (1)
However, (alpha) is a stabilization coefficient and is a preset value (for example, 0.8-0.9 etc.).
以上により、確率遷移行列Zが推薦キーワード生成部230によって求められる。
Thus, the probability transition matrix Z is obtained by the recommended
<固有ベクトルの演算> <Eigenvector calculation>
次に、図4のステップS35で行われる固有ベクトル260の演算について説明する。推薦キーワード生成部230は、上記(1)式で求めた確率遷移行列Zについて、予め設定したK本の固有ベクトルを演算する。ただし、固有ベクトルの演算は、固有値の大きいものから順にK本の固有ベクトルを演算する。例えば、K=2の場合、図19、図20のように、推薦キーワード生成部230は、検索キーワードから商品情報に至るシーケンスから、図19に示す第1固有ベクトルと、図20に示す第2固有ベクトルをそれぞれ求める。
Next, the calculation of the
なお、図19は、固有ベクトル260と、第1固有ベクトルの値を関連グラフ240に設定した例を示す。また、図20は、固有ベクトル260と、第2固有ベクトルの値を関連グラフ240に設定した例を示す。
FIG. 19 shows an example in which the
図19の第1固有ベクトルを設定した関連グラフ240において、「金具」から商品情報である「ユニットS管XXX」に至るキーワード列で、固有ベクトル260の値が最も小さい「S管」=0.04が最も思いつきにくい検索キーワードである。つまり、ユーザアクセス履歴テーブル420のセッションログでは、「金具」の検索キーワードから「フック」の検索結果を得たユーザは多数存在するが、「S管」の検索キーワードから商品情報の「ユニットS管XXX」の検索結果を得たユーザは極めて少数であることを示す。本発明では、思いつきにくいが、商品情報にたどり着くことのできる固有ベクトルの小さい推薦キーワードを提示することができるのである。
In the
なお、図3の検索結果表示領域542の関連グラフ領域543に、第1固有ベクトルの値を表示しても良い。特に、第1固有ベクトルの値のうち最も値の小さい固有ベクトルの値を推薦キーワードと共に表示してもよい。あるいは、第1固有ベクトルの値のうち最も値の小さい固有ベクトルの推薦キーワードを協調して表示する等、固有ベクトルが最小であることを特定するようにしてもよい。これにより、商品情報へ辿りつくのに思いつきにくい推薦キーワードが何れであるかを明示することができる。
Note that the value of the first eigenvector may be displayed in the
<推薦キーワードの生成> <Generation of recommended keywords>
次に、図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を与える。
Next, generation of the recommended keyword table 220 performed in step S36 of FIG. 4 will be described. The recommended
そして、推薦キーワード生成部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」のキーワード列から構成される。
Then, the recommended
なお、図21において、優先度221=3,4のエントリは、固有ベクトル260を4本求めたときの例を示す。また、推薦キーワードテーブル220には、商品情報が第1ワード222〜第Nワードの何れのフィールドに格納されているかの情報を格納したフィールドを加えておくことが望ましい。あるいは、推薦キーワードテーブル220のキーワード列の終端が商品情報のときに「0」を設定し、キーワード列の終端がキーワードのときに「1」を設定するフラグを各エントリに設けても良い。
In FIG. 21, the entries with the
<推薦キーワードの提示> <Presentation of recommended keywords>
次に、図2のステップS4で示した、検索キーワードに対して推薦キーワードテーブル220に格納された推薦キーワードを提示する処理の詳細について以下に説明する。 Next, the details of the process of presenting the recommended keyword stored in the recommended keyword table 220 for the search keyword shown in step S4 of FIG. 2 will be described below.
図25は、図2のステップS4で行われる処理の詳細を示すフローチャートである。このフローチャートは、クライアント端末500が入力した検索キーワードを、WEBサーバ100を介してデータベースサーバ200が受信したときにDBMS210で実行される。
FIG. 25 is a flowchart showing details of the process performed in step S4 of FIG. This flowchart is executed by the
ステップS41では、DBMS210がWEBサーバ100から検索キーワードを受け付ける。この検索キーワードは、クライアント端末500が図3の検索画面540で入力したキーワードである。
In step S <b> 41, the
ステップS42では、DBMS210は推薦キーワードテーブル220を検索し、受け付けた検索キーワードと一致する推薦キーワードXを特定する。なお、推薦キーワードに一致する検索キーワードが推薦キーワードテーブル220内に見つからないときには、類義語辞書等から検索キーワードに最も近い推薦キーワード220をDBMS210が推薦キーワードXとして特定してもよい。なお、検索キーワードに最も近い類義語を推薦キーワードテーブル220から検索する手法については、公知または周知の手法を用いればよい。
In step S42, the
ステップS43では、DBMS210は推薦キーワードテーブル220を検索し、特定した推薦キーワードXを含むキーワード列をL本抽出する。なお、「L」は予め設定された値で、キーワードテーブル220から抽出するキーワード列の本数の最大値である。
In step S43, the
ステップS44では、DBMS210は上記ステップS43で抽出した1以上のキーワード列のうち推薦キーワードXから商品情報に至るパス(キーワード列)を抽出する。ステップS45では、DBMS210が推薦キーワードXから商品情報に至るパスを、図3に示した検索結果表示領域542の関連グラフを表示する領域543に出力するデータを生成する。
In step S44, the
ステップS46では、DBMS210が上記ステップS44で抽出したパスの商品情報を商品データベース310から取得し、図3に示した検索結果表示領域542の商品情報を表示する領域544に出力するデータを生成し、上記ステップS45で生成した関連グラフの領域543と共にWEBサーバ100に応答する。WEBサーバ100はDBMS210からの応答をクライアント端末500に送信する。
In step S46, the
以上の処理により、クライアント端末500がWEBサーバ100に検索キーワードを送信すると、WEBサーバ100はデータベースサーバ200に検索キーワードを転送して、検索キーワードの検索を依頼する。データベースサーバ200では予め推薦キーワードテーブル220を生成しておき、WEBサーバ100から受信した検索キーワードで推薦キーワードテーブル220を検索する。データベースサーバ200は、検索キーワードと一致または類似する推薦キーワードを特定して推薦キーワードXとする。DBMS210は推薦キーワードXに関連するキーワード列を推薦キーワードテーブル220から複数抽出し、推薦キーワードXから商品情報に至るキーワード列を出力する。このキーワード列の終端は、検索結果としての商品情報であり、推薦キーワードXから商品情報に至るキーワード列は、WEBサーバ100を介して図3で示したクライアント端末500の検索結果表示領域542に出力される。
When the
例えば、図22で示すように、DBMS210は検索キーワード226が「金具」で抽出する抽出本数の最大値L=4のとき、第1ワードが「金具」に一致する優先度=1〜4の推薦キーワードテーブル220から複数のキーワード列を取得する。そしてDBMS210が、取得したキーワード列を図3に示す検索結果表示領域542に表示するデータとしてWEBサーバ100を介してクライアント端末500に応答する。すなわち、「金具」〜商品情報に至る複数のパスが、クライアント端末500のディスプレイ504に出力される。なお、図22の220'は推薦キーワードテーブル220の検索用のテーブルであり、DBMS210が一時的に生成することができる。
For example, as shown in FIG. 22, when the
また、検索キーワードが「フック」の場合には、図23で示すように、推薦キーワードテーブル220の優先度が1〜3のエントリにおいて第2ワードが検索キーワードに一致する。DBMS210は、図中220'で示すように推薦キーワードテーブル220のうち優先度が1〜3の第2ワード以降をキーワード列として3本抽出し、WEBサーバ100を介してクライアント端末500に応答する。
When the search keyword is “hook”, as shown in FIG. 23, the second word matches the search keyword in the entries of the
また、検索キーワードが「S管」の場合には、図24で示すように、推薦キーワードテーブル220の優先度が1〜2のエントリにおいて第3ワードが検索キーワードに一致する。DBMS210は、図中220'で示すように推薦キーワードテーブル220のうち優先度が1〜2の第3ワード以降をキーワード列として2本抽出し、WEBサーバ100を介してクライアント端末500に応答する。
When the search keyword is “S tube”, as shown in FIG. 24, the third word matches the search keyword in the entries having the priorities of 1 to 2 in the recommended keyword table 220. The
以上より、クライアント端末500を操作する電子商取引サイト2のユーザは、WEBサーバ100から検索画面540を要求し、検索キーワードを入力すると、検索キーワードに近い推薦キーワードから商品情報に至る複数のキーワード列を関連グラフ240として得ることができる。この推薦キーワードテーブル220は、電子商取引サイト2で複数のユーザが実行した検索と閲覧(検索結果へのアクセス)の履歴を格納したユーザアクセス履歴テーブル420から生成するものである。
As described above, when the user of the
これにより、前記従来例のように、ユーザなどが商品データベース310内の商品に評価を与える必要がなくなる。そして、本発明は、検索キーワードと商品情報の関係をキーワード列(関連グラフ2400)の構造から、暗黙の評価をクライアント端末500のユーザに提供することができ。また、検索キーワードから商品情報に到達する木構造の関連グラフ2400を提供することで、クライアント端末500のユーザは、所望する商品情報を前記従来例に比して極めて容易に得ることができる。また、本発明では、前記従来例のように発売直後の商品の情報を用意する必要もないので、電子商取引サイト2を運営する労力も大幅に低減できる。
This eliminates the need for the user or the like to give an evaluation to the product in the
商品などの検索の際に、確実に目的の商品情報に辿りつける検索キーワードは、商品名そのものや、商品の型番など、ユーザにとって比較的忘れやすい情報が多く存在する。 There are many search keywords that can be easily forgotten by the user, such as the product name itself and the model number of the product, for the search keyword that reliably reaches the target product information when searching for the product.
一方、ユーザがすぐに思い付くことができる検索キーワードは、抽象度が高いためヒットする商品の範囲は非常に広くなってしまう、という問題があった。このため商品の名称になじみがない新商品の場合、前記従来例で述べたCold start problemの本質的な課題であり、容易に検索キーワードから目的の商品に辿りつけないという問題があった。 On the other hand, there is a problem that a search keyword that a user can immediately come up with has a high level of abstraction, so that the range of hit products becomes very wide. For this reason, in the case of a new product that is unfamiliar with the name of the product, there is a problem that it is an essential problem of the cold start problem described in the conventional example, and the target product cannot be easily reached from the search keyword.
これに対して、本発明では、検索されたキーワードの履歴と参照された商品情報の履歴から、なじみのない商品が属する抽象的なキーワードから、より具体的なキーワードに至るキーワード列を生成することが可能となった。特に、多数のユーザの検索履歴を活用して推薦キーワードテーブル220を作成することで、一人のユーザでは容易に結び付けられなかったキーワードと商品情報を結びつけることが可能となる。 On the other hand, in the present invention, a keyword sequence from an abstract keyword to which an unfamiliar product belongs to a more specific keyword is generated from a history of searched keywords and a history of referenced product information. Became possible. In particular, by creating the recommended keyword table 220 using the search histories of a large number of users, it is possible to link keywords and product information that were not easily linked by one user.
本発明によれば、新商品であっても、例えば既に売れている商品から一旦、抽象的なキーワードに戻ってそこから手繰り寄せることができ、ユーザが新商品のうち本来欲しかった機能を有するものを容易に検索することが容易になる。 According to the present invention, even if it is a new product, for example, it is possible to return to an abstract keyword once from a product that has already been sold and to start from there, and to have a function that the user originally wanted among new products Makes it easy to search.
なお、上記実施形態では、商品データベース310に本発明を適用した例を示したが、売買の有無にかかわらず、ユーザが他のユーザの評価を参考にしたい情報を格納したデータベースの検索システムまたは検索装置に適用することができる。
In the above embodiment, an example in which the present invention is applied to the
<変形例> <Modification>
図26は、図2のステップS4で行われる処理の変形例を示すフローチャートである。この変形例では、検索キーワードに一致または類似する推薦キーワードテーブル220の高次(検索の起点側で上位)の推薦キーワードも検索結果表示領542へ出力する処理である。
FIG. 26 is a flowchart showing a modification of the process performed in step S4 of FIG. In this modified example, the recommended keyword higher in the recommended keyword table 220 that matches or is similar to the search keyword (higher on the search origin side) is also output to the search
このフローチャートは、クライアント端末500が入力した検索キーワードを、WEBサーバ100を介してデータベースサーバ200が受信したときにDBMS210で実行される。
This flowchart is executed by the
ステップS51では、図24のステップS41と同様に、DBMS210がWEBサーバ100から検索キーワードを受け付ける。この検索キーワードは、クライアント端末500が図3の検索画面540で入力したキーワードである。
In step S51, the
ステップS52では、DBMS210は推薦キーワードテーブル220を検索し、受け付けた検索キーワードと一致する推薦キーワードXを特定する。なお、推薦キーワードテーブル220に一致する検索キーワードが見つからないときには、類義語辞書等から検索キーワードに最も近い推薦キーワードをDBMS210が推薦キーワードXとして特定してもよい。
In step S52, the
ステップS53では、DBMS210は推薦キーワードテーブル220を検索し、特定した推薦キーワードXを含むキーワード列をM本抽出する。なお、「M」は予め設定された値で抽出するキーワード列の本数の最大値を示す。
In step S53, the
ステップS54では、DBMS210は上記ステップS53で抽出したキーワード列のうち推薦キーワードXよりも高次(検索の起点側)の推薦キーワードYを抽出する。
In step S54, the
ステップ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に送信する。
In step S55, the
以上の処理により、データベースサーバ200では予め生成した推薦キーワードテーブル220を、WEBサーバ100から受信した検索キーワードで検索する。データベースサーバ200は、検索キーワードと一致または類似する推薦キーワードXを特定し、さらに推薦キーワードXよりも検索の起点側の高次の推薦キーワードYから商品情報に至るキーワード列を取得して、図3で示した検索結果表示領域542に出力するデータを生成する。
With the above processing, the
この変形例によれば、新しい商品が商品データベース310に追加された場合にも、高次(関連グラフ2400で検索の起点側または上方)の推薦キーワードからのパスを辿ることで比較的早期に新たな商品が推薦キーワード220から推薦されやすくなり、注目されるまで時間がかかってしまうという前記従来例のCold start problemに対する解決策を与えることができる。つまり、本発明の電子商取引サイト2では、クライアント端末500のユーザが思いついた検索キーワードよりも広い範囲でキーワード列と商品情報を提供できるので、発売直後の新商品に辿りつく可能性を高めることができる。
According to this modification, even when a new product is added to the
例えば、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のユーザに提供することができる。
For example, when the
なお、上記実施形態では、データベースサーバ200のDBMS210が、推薦キーワード220を検索する例を示したが、WEBサーバ100が推薦キーワード220を利用するようにしても良い。例えば、WEBサーバ100で推薦キーワード生成部230を実行してメモリ102に推薦キーワード220を格納しておく。WEBサーバ100は検索キーワードをデータベースサーバ200に転送し、検索結果をデータベースサーバ200から受信すると、図25に示したステップS42〜S46と同様の処理を行う。これにより、WEBサーバ100は推薦キーワード220をデータベースサーバ200の検索結果(商品情報)に付加して関連グラフ2400をクライアント端末500に提供することができる。
In the above embodiment, the
また、上記実施形態のWEBサーバ100とログ収集サーバ400とデータベースサーバ200とストレージ措置300を一つに纏めて情報検索装置として提供しても良い。
In addition, the
本発明は、検索する情報に関連した推薦情報を提供する計算機システムに適用することができ、特に、クライアント端末から受け付けた検索キーワードで、商品情報を検索し、推薦する情報も提供するデータベースシステムに好適である。また、本発明は、検索する商品情報とともに推薦する商品情報も提供する情報推薦装置または検索装置にも適用することができる。 The present invention can be applied to a computer system that provides recommended information related to information to be searched. In particular, the present invention is applied to a database system that searches for product information using a search keyword received from a client terminal and also provides recommended information. Is preferred. The present invention can also be applied to an information recommendation device or a search device that provides recommended product information together with product information to be searched.
Claims (15)
前記計算機が受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1のステップと、
前記計算機が前記検索キーワードを受信する第2のステップと、
前記計算機が前記検索キーワードに一致または類似するキーワードを含む前記キーワード列を検索し、1つ以上のキーワード列を抽出する第3のステップと、
前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する第4のステップと、
を含むことを特徴とする情報検索方法。An information search method for searching from a predetermined database using a received search keyword by a computer including a processor and a storage device,
A first step of generating a keyword string from a history of search keywords received by the computer and a history of access to information in the database;
A second step in which the calculator receives the search keyword;
A third step in which the calculator searches the keyword string including keywords that match or are similar to the search keyword, and extracts one or more keyword strings;
A fourth step of outputting a keyword from the keyword matching or similar to the search keyword to the database information in the extracted keyword string by the computer;
An information search method characterized by including:
前記第1のステップは、
前記計算機が前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報へのアクセスをアクセス履歴情報に蓄積する第5のステップと、
前記計算機が所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6のステップと、
前記計算機が前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7のステップと、
前記計算機が前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8のステップと、
前記計算機が前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9のステップと、
を含むことを特徴とする情報検索方法。The information search method according to claim 1,
The first step includes
A fifth step of storing the search keyword and access to the database information in access history information each time the computer receives the search keyword or accesses the database information;
A sixth step in which the computer reads a search keyword of the access history information and the database information at a predetermined timing, and generates a keyword string connecting keywords from the search keyword to the database information as a related graph; ,
A seventh step in which the computer generates a probability transition matrix from the association graph to each keyword;
An eighth step in which the calculator calculates an eigenvector of the keyword from the probability transition matrix;
A ninth step in which the computer generates a plurality of keyword strings from the eigenvector and stores the keyword strings in a recommended keyword table;
An information search method characterized by including:
前記第6のステップは、
前記キーワード列の終端にデータベースの情報を含み、
前記第9のステップは、
前記推薦キーワードテーブルの前記キーワード列の終端にデータベースの情報を含むことを特徴とする情報検索方法。The information search method according to claim 2,
The sixth step includes
Including database information at the end of the keyword string;
The ninth step includes
An information search method comprising database information at the end of the keyword string in the recommended keyword table.
前記第8のステップは、
前記確率遷移行列の固有値が大きい順に所定数の固有ベクトルを演算することを特徴とする情報検索方法。The information search method according to claim 2,
The eighth step includes
A method for retrieving information, comprising: calculating a predetermined number of eigenvectors in descending order of eigenvalues of the probability transition matrix.
前記第4のステップは、
前記固有ベクトルが最も小さい値の前記キーワードを特定することを特徴とする情報検索方法。The information search method according to claim 2,
The fourth step includes
An information search method, wherein the keyword having the smallest value of the eigenvector is specified.
前記第4のステップは、
前記計算機が前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードよりも所定数だけ上位のキーワードから前記データベースの情報に至るキーワードを出力することを特徴とする情報検索方法。The information search method according to claim 1,
The fourth step includes
An information search method, wherein the computer outputs a keyword from a keyword that is a predetermined number higher than a keyword that matches or is similar to the search keyword in the extracted keyword string to information in the database.
前記受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する推薦キーワード生成部と、
前記検索キーワードを受信し、前記検索キーワードに一致または類似するキーワードを前記生成されたキーワード列から検索して、1つ以上のキーワード列を抽出し、前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードを出力する検索部と、
を備えたことを特徴とする情報検索装置。An information search device comprising a processor and a storage device, and performing a search from a predetermined database with a received search keyword,
A recommended keyword generating unit that generates a keyword string from the history of the received search keyword and the history of access to the database information;
The search keyword is received, a keyword matching or similar to the search keyword is searched from the generated keyword string, one or more keyword strings are extracted, and the search keyword is extracted from the extracted keyword strings. A search unit that outputs keywords from matching or similar keywords to information in the database;
An information retrieval apparatus comprising:
前記推薦キーワード生成部は、
前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードとデータベースの情報へのアクセスをアクセス履歴情報に蓄積する履歴収集部を有し、
前記推薦キーワード生成部は、
所定のタイミングで、前記アクセス履歴情報の検索キーワードとデータベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成し、前記関連グラフから前記各キーワードへの確率遷移行列を生成し、前記計算機が前記確率遷移行列から前記キーワードの固有ベクトルを演算し、前記計算機が前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納することを特徴とする情報検索装置。The information search device according to claim 7,
The recommended keyword generation unit includes:
A history collection unit that accumulates access to the search keyword and database information in access history information each time the search keyword is received or accessed to the database information;
The recommended keyword generation unit includes:
At a predetermined timing, the search keyword and database information of the access history information are read, a keyword string connecting keywords from the search keyword to the database information is generated as a related graph, and each keyword is generated from the related graph. Generating a probability transition matrix to the computer, the computer calculating an eigenvector of the keyword from the probability transition matrix, the computer generating a plurality of keyword strings from the eigenvector, and storing the keyword string in a recommended keyword table An information retrieval apparatus characterized by
前記推薦キーワード生成部は、
前記キーワード列の終端にデータベースの情報を含むことを特徴とする情報検索装置。The information search device according to claim 8,
The recommended keyword generation unit includes:
An information retrieval apparatus comprising database information at the end of the keyword string.
前記推薦キーワード生成部は、
前記確率遷移行列の固有値が大きい順に所定数の固有ベクトルを演算することを特徴とする情報検索装置。The information search device according to claim 8,
The recommended keyword generation unit includes:
An information retrieval apparatus that calculates a predetermined number of eigenvectors in descending order of eigenvalues of the probability transition matrix.
前記検索部は、
前記固有ベクトルが最も小さい値の前記キーワードを特定することを特徴とする情報検索装置。The information search device according to claim 8,
The search unit
An information retrieval apparatus that identifies the keyword having the smallest value of the eigenvector.
前記検索部は、
前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードよりも所定数だけ上位のキーワードから前記データベースの情報に至るキーワードを出力することを特徴とする情報検索装置。The information search device according to claim 7,
The search unit
An information search apparatus that outputs a keyword from a keyword that is a predetermined number higher than a keyword that matches or is similar to the search keyword in the extracted keyword string to information in the database.
前記受信した検索キーワードの履歴と前記データベースの情報へのアクセスの履歴からキーワード列を生成する第1の手順と、
前記検索キーワードを受信する第2の手順と、
前記検索キーワードに一致または類似するキーワードを含むキーワード列を検索し、1つ以上のキーワード列を抽出する第3の手順と、
前記抽出したキーワード列のうち、前記検索キーワードに一致または類似するキーワードから前記データベースの情報に至るキーワードとを出力する第4の手順と、
を前記計算機に実行させるプログラムを格納した非一時的な計算機読み取り可能な記憶媒体。A computer that includes a processor and a storage device and performs a search from a predetermined database using a received search keyword,
A first procedure for generating a keyword string from the history of the received search keyword and the history of access to the database information;
A second procedure for receiving the search keyword;
A third procedure of searching for a keyword string including keywords that match or similar to the search keyword and extracting one or more keyword strings;
A fourth procedure for outputting a keyword from the extracted keyword string that matches or is similar to the search keyword to the information in the database;
A non-transitory computer-readable storage medium storing a program for causing the computer to execute.
前記第1の手順は、
前記検索キーワードの受信または前記データベースの情報へのアクセスの度に、前記検索キーワードと前記データベースの情報をアクセス履歴情報に蓄積する第5の手順と、
前記所定のタイミングで前記アクセス履歴情報の検索キーワードと前記データベースの情報を読み込んで、前記検索キーワードから前記データベースの情報に至るキーワードを接続したキーワード列を関連グラフとして生成する第6の手順と、
前記関連グラフから前記各キーワードへの確率遷移行列を生成する第7の手順と、
前記確率遷移行列から前記キーワードの固有ベクトルを演算する第8の手順と、
前記固有ベクトルから複数のキーワード列を生成し、当該キーワード列を推薦キーワードテーブルに格納する第9の手順と、
を含むことを特徴とする記憶媒体。The storage medium according to claim 13,
The first procedure includes:
A fifth procedure for storing the search keyword and the database information in access history information each time the search keyword is received or the database information is accessed;
A sixth procedure of reading a search keyword of the access history information and the database information at the predetermined timing and generating a keyword string connecting keywords from the search keyword to the database information as a related graph;
A seventh procedure for generating a probability transition matrix from the association graph to each keyword;
An eighth procedure for calculating the eigenvector of the keyword from the probability transition matrix;
A ninth procedure for generating a plurality of keyword strings from the eigenvectors and storing the keyword strings in a recommended keyword table;
A storage medium comprising:
前記第6の手順は、
前記キーワード列の終端にデータベースの情報を含み、
前記第9の手順は、
前記推薦キーワードテーブルの前記キーワード列の終端にデータベースの情報を含むことを特徴とする記憶媒体。The storage medium according to claim 14,
The sixth procedure includes:
Including database information at the end of the keyword string;
The ninth procedure includes:
A storage medium comprising database information at the end of the keyword string of the recommended keyword table.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/062088 WO2012160693A1 (en) | 2011-05-26 | 2011-05-26 | Information search method, information search device, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012160693A1 true JPWO2012160693A1 (en) | 2014-07-31 |
JP5752245B2 JP5752245B2 (en) | 2015-07-22 |
Family
ID=47216795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013516146A Expired - Fee Related JP5752245B2 (en) | 2011-05-26 | 2011-05-26 | Information search method, information search device, and storage medium |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5752245B2 (en) |
WO (1) | WO2012160693A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11004131B2 (en) | 2016-10-16 | 2021-05-11 | Ebay Inc. | Intelligent online personal assistant with multi-turn dialog based on visual search |
US11748978B2 (en) | 2016-10-16 | 2023-09-05 | Ebay Inc. | Intelligent online personal assistant with offline visual search database |
US12020174B2 (en) * | 2016-08-16 | 2024-06-25 | Ebay Inc. | Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10546336B2 (en) * | 2014-03-07 | 2020-01-28 | Rakuten, Inc. | Search device, search method, program, and storage medium |
CN105302879B (en) * | 2015-10-12 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | For determining the method and apparatus of user demand |
JP6124489B1 (en) * | 2016-08-01 | 2017-05-10 | ヤフー株式会社 | Query providing apparatus, query providing method, and query providing program |
JP6687737B2 (en) * | 2016-08-12 | 2020-04-28 | 楽天株式会社 | Information processing apparatus, information processing method, program, storage medium |
US10860898B2 (en) | 2016-10-16 | 2020-12-08 | Ebay Inc. | Image analysis and prediction based visual search |
CN110795627B (en) * | 2019-10-28 | 2022-08-19 | 苏州跃盟信息科技有限公司 | Information recommendation method and device and electronic equipment |
JP2021077198A (en) * | 2019-11-12 | 2021-05-20 | Market Flags株式会社 | Keyword proposal system, keyword proposal method, and keyword proposal program |
CN111815260A (en) * | 2020-06-08 | 2020-10-23 | 福建通图信息技术有限公司 | Public service platform system and method based on artificial intelligence erection |
CN114676336B (en) * | 2022-05-30 | 2022-08-23 | 深圳市海纳鑫信息科技有限公司 | Intelligent classification network search system convenient for retrieval and search |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183191A (en) * | 2000-12-11 | 2002-06-28 | Nippon Telegr & Teleph Corp <Ntt> | Retrieval system with retrieval navigation function |
JP4331257B2 (en) * | 2006-11-06 | 2009-09-16 | パナソニック株式会社 | Information retrieval device |
JP4399514B2 (en) * | 2008-02-20 | 2010-01-20 | パナソニック株式会社 | Interactive program search device |
-
2011
- 2011-05-26 JP JP2013516146A patent/JP5752245B2/en not_active Expired - Fee Related
- 2011-05-26 WO PCT/JP2011/062088 patent/WO2012160693A1/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12020174B2 (en) * | 2016-08-16 | 2024-06-25 | Ebay Inc. | Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog |
US11004131B2 (en) | 2016-10-16 | 2021-05-11 | Ebay Inc. | Intelligent online personal assistant with multi-turn dialog based on 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 |
Also Published As
Publication number | Publication date |
---|---|
WO2012160693A1 (en) | 2012-11-29 |
JP5752245B2 (en) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5752245B2 (en) | Information search method, information search device, and storage medium | |
JP5778255B2 (en) | Method, system, and apparatus for query based on vertical search | |
JP5493267B2 (en) | Product search device and product search method | |
JP5962926B2 (en) | Recommender system, recommendation method, and program | |
KR100834360B1 (en) | Adaptive catalog page display | |
JP2010176327A (en) | Learning device, learning method, information-processing device, data-selecting method, data-accumulating method, data-converting method, and program | |
US20110307504A1 (en) | Combining attribute refinements and textual queries | |
JP2012234503A (en) | Recommendation device, recommendation method, and recommendation program | |
JP5483269B2 (en) | Information search device and information search method | |
JP5668010B2 (en) | Information recommendation method, apparatus and program | |
JP5668007B2 (en) | Interest analysis method, apparatus and program | |
JP5156123B1 (en) | Information processing apparatus, information processing method, information processing program, and recording medium | |
JP2006099341A (en) | Update history generation device and program | |
US8700625B1 (en) | Identifying alternative products | |
US10643142B2 (en) | Search term prediction | |
JPWO2003017137A1 (en) | User profile management device and recommendation device | |
JP5504220B2 (en) | Provided information selection apparatus, method and program | |
JP5407336B2 (en) | Information processing device | |
JP5561842B2 (en) | Information search device, information search program, and program storage medium | |
US11860964B2 (en) | Industrial information identification and retrieval system | |
JP5777663B2 (en) | Search support device and search support program | |
JP5228683B2 (en) | Product search device and product search method | |
JP2010015394A (en) | Link destination presentation device and computer program | |
JP5519406B2 (en) | Server apparatus, genre score calculation method, and program | |
JP2014102855A (en) | Information retrieval support device, information retrieval support method, information retrieval support program and program storage medium |
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 |