JP6944320B2 - Information processing equipment, information processing methods, and programs - Google Patents

Information processing equipment, information processing methods, and programs Download PDF

Info

Publication number
JP6944320B2
JP6944320B2 JP2017179114A JP2017179114A JP6944320B2 JP 6944320 B2 JP6944320 B2 JP 6944320B2 JP 2017179114 A JP2017179114 A JP 2017179114A JP 2017179114 A JP2017179114 A JP 2017179114A JP 6944320 B2 JP6944320 B2 JP 6944320B2
Authority
JP
Japan
Prior art keywords
category
query
unit
search
words
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017179114A
Other languages
Japanese (ja)
Other versions
JP2019053682A (en
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2017179114A priority Critical patent/JP6944320B2/en
Publication of JP2019053682A publication Critical patent/JP2019053682A/en
Application granted granted Critical
Publication of JP6944320B2 publication Critical patent/JP6944320B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.

ウェブ検索の分野において、ユーザが入力したキーワード(以下、「クエリ」という)に応じて、このクエリに関連する各種商品またはサービス(以下、「商品等」という)の情報を提供する手法が行われている。また、ユーザが意図する商品等の情報を高精度で提供するために、クエリに対応する商品等のカテゴリをカテゴリ間のツリー構造のデータとして予め定義し、このツリー構造のデータに基づいて、各クエリに対するカテゴリ間の類似度を算出する手法が知られている(例えば、特許文献1参照)。 In the field of web search, a method of providing information on various products or services (hereinafter referred to as "products, etc.") related to this query is performed according to a keyword entered by a user (hereinafter referred to as "query"). ing. In addition, in order to provide information on products, etc. intended by the user with high accuracy, categories such as products, etc. corresponding to the query are defined in advance as tree structure data between categories, and each category is defined in advance based on the tree structure data. A method of calculating the similarity between categories for a query is known (see, for example, Patent Document 1).

特開2017−45196号公報JP-A-2017-45196

しかしながら、従来の手法では、クエリとの関連度が低く、ユーザが意図しない商品等の情報が提供される場合があった。例えば、「テレビ」というクエリに対して「テレビ台」の商品の情報が提供される場合、「ビール」というクエリに対して「グラス」の商品の情報が提供される場合等、ユーザが意図した商品等とは異なるカテゴリに属する商品等の情報が提供される場合があった。 However, in the conventional method, the degree of relevance to the query is low, and information such as a product not intended by the user may be provided. For example, when the query "TV" is provided with the product information of the "TV stand", or the query "beer" is provided with the product information of the "glass", the user intended. In some cases, information on products, etc. that belong to a category different from the products, etc. was provided.

本発明は、このような事情を考慮してなされたものであり、より正確にカテゴリを推定することにより、検索精度を向上させることが可能な情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。 The present invention has been made in consideration of such circumstances, and provides an information processing device, an information processing method, and a program capable of improving search accuracy by estimating a category more accurately. That is one of the purposes.

本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備える情報処理装置である。 One aspect of the present invention is category dictionary data in which an acquisition unit that acquires a query input by a user and a relationship between the queries are represented in a tree structure, and each of the queries and a category to be searched are associated with each other. In the estimation, the category corresponding to the query acquired by the acquisition unit is estimated based on the result of tracing until the query acquired by the acquisition unit is applicable in order from the query located at the top of the tree structure. It is an information processing apparatus including a unit and a generation unit that generates information for displaying search results belonging to the category estimated by the estimation unit.

本発明の一態様によれば、正確にカテゴリを推定することにより、検索精度を向上させることができる。 According to one aspect of the present invention, the search accuracy can be improved by accurately estimating the category.

第1実施形態の検索サーバ1の機能ブロック図である。It is a functional block diagram of the search server 1 of 1st Embodiment. 第1実施形態のカテゴリツリーデータD2の一例を示す図である。It is a figure which shows an example of the category tree data D2 of 1st Embodiment. 第1実施形態のワードツリーデータD3の一例を示す図である。It is a figure which shows an example of the word tree data D3 of 1st Embodiment. 第1実施形態の検索サーバ1の検索処理の流れ一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the search process of the search server 1 of 1st Embodiment. 第1実施形態の検索サーバ1の検索処理の一例の概要を説明する図である。It is a figure explaining the outline of an example of the search process of the search server 1 of 1st Embodiment. 第1実施形態の検索サーバ1によって処理されるクエリと推定されたカテゴリとの関係の一例を示す図である。It is a figure which shows an example of the relationship between the query processed by the search server 1 of 1st Embodiment, and the estimated category. 第1実施形態のカテゴリツリーデータD4の一例を示す図である。It is a figure which shows an example of the category tree data D4 of 1st Embodiment. 第1実施形態のワードツリーデータD5の一例を示す図である。It is a figure which shows an example of the word tree data D5 of 1st Embodiment. 第2実施形態の検索サーバ2の機能ブロック図である。It is a functional block diagram of the search server 2 of the 2nd Embodiment. 第2実施形態の検索サーバ2の検索処理の流れ一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the search process of the search server 2 of 2nd Embodiment.

以下、図面を参照して、情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。 Hereinafter, an information processing apparatus, an information processing method, and an embodiment of a program will be described with reference to the drawings.

<1.第1実施形態>
以下、本発明の第1実施形態について説明する。本実施形態の情報処理装置は、検索に用いられたクエリを単語(以下、「ワード」ともいう)に分離し、予め定義された単語とカテゴリとを関連付けしたワードツリーデータに基づいて、クエリと対応するカテゴリを推定し、この推定したカテゴリに属する商品等の情報(検索対象)を検索結果として出力する。本実施形態における「カテゴリ」とは、検索に用いられたクエリに対して検索結果として提供されるコンテンツの内容(商品またはサービス)が属する分野を示す情報である。本実施形態では、情報処理装置が、商品等のコンテンツの検索結果を提供する検索サーバである例について説明する。
<1. First Embodiment>
Hereinafter, the first embodiment of the present invention will be described. The information processing apparatus of the present embodiment separates the query used for the search into words (hereinafter, also referred to as "words"), and uses the query and the query based on the word tree data in which the predefined words and categories are associated with each other. The corresponding category is estimated, and information (search target) such as products belonging to this estimated category is output as a search result. The "category" in the present embodiment is information indicating a field to which the content (product or service) of the content provided as a search result for the query used for the search belongs. In the present embodiment, an example in which the information processing device is a search server that provides search results for contents such as products will be described.

<1−1.システム構成>
図1は、本実施形態の検索サーバ1(情報処理装置)の機能ブロック図である。検索サーバ1は、ネットワークNWを介して、端末装置T等と接続されている。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダ等を含む。
<1-1. System configuration>
FIG. 1 is a functional block diagram of the search server 1 (information processing device) of the present embodiment. The search server 1 is connected to the terminal device T or the like via the network NW. The network NW includes, for example, WAN (Wide Area Network), LAN (Local Area Network), the Internet, a dedicated line, a wireless base station, a provider, and the like.

端末装置Tは、検索サーバ1により提供される検索サービスを利用するユーザによって操作される。端末装置Tは、例えば、パーソナルコンピュータ、スマートフォンなどの携帯電話やタブレット端末、PDA(Personal Digital Assistant)などのコンピュータ装置である。端末装置Tは、ユーザの操作に基づいて動作するブラウザまたはアプリケーションプログラムが、例えば、情報提供を要求するクエリを検索サーバ1に送信し、クエリと関連付けられた情報を検索サーバ1から受信する。 The terminal device T is operated by a user who uses the search service provided by the search server 1. The terminal device T is, for example, a personal computer, a mobile phone such as a smartphone, a tablet terminal, or a computer device such as a PDA (Personal Digital Assistant). In the terminal device T, a browser or application program that operates based on a user's operation sends, for example, a query requesting information provision to the search server 1, and receives information associated with the query from the search server 1.

検索サーバ1は、端末装置Tから入力されたクエリと関連付けられた検索結果のページ情報を端末装置Tに送信する。検索サーバ1は、クエリと、このクエリと関連付けられたサイトのページを参照するための参照情報とを関連付けた検索データを用いて、検索結果のページ情報を生成する。参照情報は、例えば、URL(Uniform Resource Locator)を含む。 The search server 1 transmits the page information of the search result associated with the query input from the terminal device T to the terminal device T. The search server 1 generates page information of the search result by using the search data in which the query and the reference information for referencing the page of the site associated with the query are associated with each other. The reference information includes, for example, a URL (Uniform Resource Locator).

検索サーバ1は、例えば、通信部10(取得部)と、クエリ分離部12(分離部)と、判定部14、第1カテゴリ推定部16(推定部)と、検索結果生成部18(生成部)と、記憶部20とを備える。通信部10は、ネットワークNWを介して、端末装置T等と通信する。通信部10は、ネットワークNWを介して、端末装置Tからクエリを受信し、検索結果のページ情報を端末装置Tに送信する。通信部10は、例えば、NIC等の通信インターフェースを含む。 The search server 1 includes, for example, a communication unit 10 (acquisition unit), a query separation unit 12 (separation unit), a determination unit 14, a first category estimation unit 16 (estimation unit), and a search result generation unit 18 (generation unit). ) And a storage unit 20. The communication unit 10 communicates with the terminal device T or the like via the network NW. The communication unit 10 receives a query from the terminal device T via the network NW, and transmits the page information of the search result to the terminal device T. The communication unit 10 includes, for example, a communication interface such as a NIC.

記憶部20は、例えば、クエリと関連付けられたサイトのページを参照するための参照情報を含む検索データD1と、カテゴリ間の関係をツリー構造で表したカテゴリツリーデータD2と、クエリ間の関係をツリー構造で表し且つクエリの各々と対応するカテゴリの情報を含むワードツリーデータD3等を記憶する。記憶部20は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置等により実現される。また、記憶部20の一部または全部は、NASや外部のストレージサーバ等、検索サーバ1がアクセス可能な外部装置であってもよい。 The storage unit 20 describes, for example, search data D1 including reference information for referencing a page of a site associated with a query, category tree data D2 representing a relationship between categories in a tree structure, and a relationship between queries. It stores word tree data D3 and the like, which are represented by a tree structure and include information on categories corresponding to each of the queries. The storage unit 20 is realized by, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), an HDD (Hard Disk Drive), a flash memory, or a hybrid storage device in which a plurality of these is combined. Further, a part or all of the storage unit 20 may be an external device such as NAS or an external storage server that can be accessed by the search server 1.

クエリ分離部12は、端末装置Tから取得されたクエリの文字列を解析して、単語に分離する。クエリ分離部12は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。 The query separation unit 12 analyzes the character string of the query acquired from the terminal device T and separates it into words. The query separation unit 12 separates a query into words, for example, using a space, a comma, or the like included in the query as a delimiter.

判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3に定義されているか否かを判定する。 The determination unit 14 determines whether or not the words separated by the query separation unit 12 are defined in the word tree data D3.

第1カテゴリ推定部16は、記憶部20から読み出したワードツリーデータD3に基づいて、クエリ分離部12によって分離された単語に対応するカテゴリを、端末装置Tから取得されたクエリに対応するカテゴリとして推定する。第1カテゴリ推定部16は、ワードツリーデータD3の最上位に位置するクエリから順に、端末装置Tから取得されたクエリが該当するまで辿った結果に基づいて、端末装置Tから取得されたクエリに対応するカテゴリを推定する。第1カテゴリ推定部16によるカテゴリ推定処理の詳細については後述する。 The first category estimation unit 16 sets the category corresponding to the word separated by the query separation unit 12 as the category corresponding to the query acquired from the terminal device T based on the word tree data D3 read from the storage unit 20. presume. The first category estimation unit 16 sequentially selects the query acquired from the terminal device T based on the result of tracing the query acquired from the terminal device T to the corresponding query in order from the query located at the highest level of the word tree data D3. Estimate the corresponding category. The details of the category estimation process by the first category estimation unit 16 will be described later.

検索結果生成部18は、第1カテゴリ推定部16によって推定されたカテゴリを用いた絞込み検索を行い、検索結果である検索結果ページを生成する。例えば、検索結果生成部18は、記憶部20に記憶された検索データD1に対して推定されたカテゴリを用いた絞込み検索を行い、推定されたカテゴリに属する商品等の情報を含む検索結果ページを生成する。検索結果生成部18は、生成した検索結果ページを、通信部10を介して、端末装置Tに送信する。 The search result generation unit 18 performs a narrowing search using the categories estimated by the first category estimation unit 16 and generates a search result page which is a search result. For example, the search result generation unit 18 performs a narrowing search using the estimated category for the search data D1 stored in the storage unit 20, and displays a search result page containing information such as products belonging to the estimated category. Generate. The search result generation unit 18 transmits the generated search result page to the terminal device T via the communication unit 10.

検索サーバ1の各機能部は、例えば、コンピュータにおいて、CPU(Central Processing Unit)等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。 Each functional unit of the search server 1 is realized, for example, by executing a program (software) by a hardware processor such as a CPU (Central Processing Unit) in a computer. In addition, some or all of these components are hardware (circuits) such as LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), GPU (Graphics Processing Unit), etc. It may be realized by the part; including circuitry), or it may be realized by the cooperation of software and hardware.

<1−2.ワードツリーデータ>
以下において、ワードツリーデータD3について説明する。図2は、カテゴリツリーデータD2の一例を示す図であり、図3は、カテゴリツリーデータD2に基づいて定義されたワードツリーデータD3の一例を示す図である。ワードツリーデータD3は、例えば、検索サーバ1の設計者等の人手により定義される。
<1-2. Word tree data>
The word tree data D3 will be described below. FIG. 2 is a diagram showing an example of category tree data D2, and FIG. 3 is a diagram showing an example of word tree data D3 defined based on category tree data D2. The word tree data D3 is defined manually, for example, by the designer of the search server 1.

図2に示すカテゴリツリーデータD2においては、第1階層L1のカテゴリとして「家電(A)」が定義され、この第1階層L1「家電(A)」の下位に位置する第2階層L2のカテゴリとして「冷暖房器具空調家電(A:A)」が定義され、この第2階層L2「冷暖房器具空調家電(A:A)」の下位に位置する第3階層L3のカテゴリとして「エアコン(A:A:A)」が定義され、この第3階層L3「エアコン(A:A:A)」の下位に位置する第4階層L4のカテゴリとして「エアコン(家庭用)(A:A:A:A)」、「窓用エアコン(A:A:A:B)」、「エアコンフィルター(A:A:A:C)」、「エアコン用リモコン(A:A:A:D)」、および「その他エアコン部品アクセサリー(A:A:A:E)」が定義されている。なお、括弧内の記号は、カテゴリを識別するカテゴリIDを示している。 In the category tree data D2 shown in FIG. 2, "home appliances (A)" is defined as the category of the first layer L1, and the category of the second layer L2 located below the first layer L1 "home appliances (A)". "Air conditioner (A: A)" is defined as "Air conditioner (A: A)", and "Air conditioner (A: A)" is defined as the category of the third layer L3 located below the second layer L2 "Air conditioner air conditioner (A: A)". : A) ”is defined, and as a category of the fourth layer L4 located below the third layer L3“ air conditioner (A: A: A) ”,“ air conditioner (for home use) (A: A: A: A) , "Air conditioner for windows (A: A: A: B)", "Air conditioner filter (A: A: A: C)", "Remote control for air conditioner (A: A: A: D)", and "Other air conditioners" Parts accessories (A: A: A: E) ”are defined. The symbols in parentheses indicate the category ID that identifies the category.

また、このカテゴリツリーデータD2においては、第4階層L4に定義されたカテゴリの各々に、カテゴリが、「本体」、「準本体」、および「周辺機器」のいずれの分類と関連するかを示す本体フラグFが設定されている。例えば、「エアコン(家庭用)(A:A:A:A)」には、本体フラグF「本体」が関連付けられている。 Further, in this category tree data D2, it is shown which of the categories of "main body", "quasi-main body", and "peripheral device" is associated with each of the categories defined in the fourth layer L4. The main body flag F is set. For example, the main body flag F "main body" is associated with the "air conditioner (for home use) (A: A: A: A)".

ワードツリーデータD3は、カテゴリツリーデータD2に基づいて定義される。例えば、ワードツリーデータD3は、検索に利用されることが想定されるクエリ(利用される頻度が高いクエリ)と、カテゴリツリーデータD2に定義されたカテゴリとを関連付けしたデータ(カテゴリ辞書データ)である。図3に示すワードツリーデータD3においては、第1階層H1としてクエリ「エアコン」に対してカテゴリID「A:A:A」が関連付けられている。このカテゴリID「A:A:A」は、図2に示すカテゴリツリーデータD2における第3階層L3の「エアコン(A:A:A)」と対応する。 The word tree data D3 is defined based on the category tree data D2. For example, the word tree data D3 is data (category dictionary data) that associates a query that is expected to be used for a search (a query that is frequently used) with a category defined in the category tree data D2. be. In the word tree data D3 shown in FIG. 3, the category ID “A: A: A” is associated with the query “air conditioner” as the first layer H1. This category ID "A: A: A" corresponds to the "air conditioner (A: A: A)" of the third layer L3 in the category tree data D2 shown in FIG.

また、このワードツリーデータD3においては、第1階層H1「エアコン」の下位に位置する第2階層H2のクエリ「本体」に対してカテゴリID「A:A:A:A」が関連付けられており、クエリ「窓用」に対してカテゴリID「A:A:A:B」が関連付けられており、クエリ「フィルター」に対してカテゴリID「A:A:A:C」が関連付けられており、クエリ「リモコン」に対してカテゴリID「A:A:A:D」が関連付けられており、クエリ「部品」に対してカテゴリID「A:A:A:E」が関連付けられている。 Further, in this word tree data D3, the category ID "A: A: A: A" is associated with the query "main body" of the second layer H2 located below the first layer H1 "air conditioner". , The category ID "A: A: A: B" is associated with the query "window", and the category ID "A: A: A: C" is associated with the query "filter". The category ID "A: A: A: D" is associated with the query "remote control", and the category ID "A: A: A: E" is associated with the query "part".

このワードツリーデータD3においては、上記のクエリの以外に、第1階層H1としてのクエリ「窓用エアコン」に対してカテゴリID「A:A:A:B」が関連付けられており、また、第1階層H1としてのクエリ「エアコンフィルター」に対してカテゴリID「A:A:A:C」が関連付けられている。さらに、類似のクエリを含むものとして、第1階層H1としてクエリ「自動車」に対してカテゴリID「X:X」が関連付けられており、第1階層H1「自動車」の下位に位置する第2階層H2のクエリ「エアコンフィルター」に対してカテゴリID「X:X:X:Y」が関連付けられている。 In this word tree data D3, in addition to the above query, the category ID "A: A: A: B" is associated with the query "window air conditioner" as the first layer H1, and the first layer. The category ID "A: A: A: C" is associated with the query "air conditioner filter" as the first layer H1. Further, as including similar queries, the category ID "X: X" is associated with the query "automobile" as the first layer H1, and the second layer located below the first layer H1 "automobile". The category ID "X: X: X: Y" is associated with the H2 query "air conditioner filter".

<1−3.検索処理>
以下において、検索サーバ1の検索処理について説明する。図4は、検索サーバ1の検索処理の流れの一例を示す図である。図5は、検索サーバ1の検索処理の一例の概要を説明する図である。
<1-3. Search process>
The search process of the search server 1 will be described below. FIG. 4 is a diagram showing an example of the flow of the search process of the search server 1. FIG. 5 is a diagram illustrating an outline of an example of a search process of the search server 1.

まず、クエリ分離部12は、通信部10を介して、端末装置Tから入力されたクエリを取得する(S101)。次に、クエリ分離部12は、端末装置Tから取得されたクエリを解析して、単語に分離する(S103)。クエリ分離部12は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。 First, the query separation unit 12 acquires the query input from the terminal device T via the communication unit 10 (S101). Next, the query separation unit 12 analyzes the query acquired from the terminal device T and separates it into words (S103). The query separation unit 12 separates a query into words, for example, using a space, a comma, or the like included in the query as a delimiter.

図5に示す例では、クエリ分離部12は、検索ページにおいてユーザが端末装置Tを介して入力したクエリ「窓用 エアコン」を取得し、このクエリを、スペースを区切りとして、単語1「窓用」と、単語2「エアコン」との2つの単語に分離する。 In the example shown in FIG. 5, the query separation unit 12 acquires the query “air conditioner for windows” entered by the user via the terminal device T on the search page, and uses this query as a space delimiter for the word 1 “for windows”. And the word 2 "air conditioner" are separated into two words.

次に、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1(最上位層)に定義されているか否かを判定する(S105)。図5に示す例では、単語1「窓用」は、図3に示すワードツリーデータD3の第1階層H1には存在しないが、単語2「エアコン」は、ワードツリーデータの第1階層H1に存在する。さらに、単語2「エアコン」の下位に位置する第2階層H2として単語1「窓用」が存在する。この場合、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1に定義されていると判定する。 Next, the determination unit 14 determines whether or not the words separated by the query separation unit 12 are defined in the first layer H1 (top layer) of the word tree data D3 (S105). In the example shown in FIG. 5, the word 1 "for window" does not exist in the first layer H1 of the word tree data D3 shown in FIG. 3, but the word 2 "air conditioner" is in the first layer H1 of the word tree data. exist. Further, the word 1 "for windows" exists as the second layer H2 located below the word 2 "air conditioner". In this case, the determination unit 14 determines that the words separated by the query separation unit 12 are defined in the first layer H1 of the word tree data D3.

一方、クエリ分離部12によって分離された単語の全てがワードツリーデータD3の第1階層H1に存在しない場合、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1に定義されていないと判定する。 On the other hand, when all the words separated by the query separation unit 12 do not exist in the first layer H1 of the word tree data D3, the determination unit 14 determines that the words separated by the query separation unit 12 are the third word of the word tree data D3. It is determined that the data is not defined in the first layer H1.

判定部14が、クエリ分離部12によって分離された単語がワードツリーデータD3の第1階層H1に定義されていると判定した場合、第1カテゴリ推定部16は、ワードツリーデータD3に基づいて、クエリ分離部12によって分離された単語と対応するカテゴリを、端末装置Tから取得されたクエリに対応するカテゴリとして推定する(S107)。図5に示す例では、単語2「エアコン」の下位の第2階層H2の単語1「窓用」と関連付けられたカテゴリID「A:A:A:B」である「窓用エアコン」が、ユーザが意図したカテゴリと推定される。 When the determination unit 14 determines that the words separated by the query separation unit 12 are defined in the first layer H1 of the word tree data D3, the first category estimation unit 16 is based on the word tree data D3. The category corresponding to the word separated by the query separation unit 12 is estimated as the category corresponding to the query acquired from the terminal device T (S107). In the example shown in FIG. 5, the category ID “A: A: A: B” associated with the word 1 “for windows” in the second layer H2 below the word 2 “air conditioner” is the “window air conditioner”. It is presumed to be the category intended by the user.

次に、検索結果生成部18は、端末装置Tから取得されたクエリに関して、第1カテゴリ推定部16によって推定されたカテゴリで絞込み検索を行う(S109)。検索結果生成部18は、端末装置Tから取得されたクエリに含まれる単語のうち、判定部14によってワードツリーデータD3に定義されていると判定された単語を削除し、残りの単語を検索クエリとして、検索データD1に対して推定されたカテゴリに属する商品等の検索を行う。 Next, the search result generation unit 18 performs a narrowing search in the category estimated by the first category estimation unit 16 with respect to the query acquired from the terminal device T (S109). The search result generation unit 18 deletes the words determined by the determination unit 14 in the word tree data D3 from the words included in the query acquired from the terminal device T, and searches for the remaining words. As a result, the search data D1 is searched for products and the like belonging to the estimated category.

図5に示す例では、端末装置Tから取得されたクエリに含まれる単語1「窓用」と、単語2「エアコン」との両方がワードツリーデータD3に定義されていると判定されている。この場合、検索結果生成部18は、単語1および単語2を削除するため、検索データD1に対する検索クエリが存在しなくなる。この場合、検索結果生成部18は、検索クエリを指定せずに、ユーザが意図したカテゴリと推定されたカテゴリID「A:A:A:B(窓用エアコン)」のみを指定し、検索データD1に対して検索を行う。 In the example shown in FIG. 5, it is determined that both the word 1 “for window” and the word 2 “air conditioner” included in the query acquired from the terminal device T are defined in the word tree data D3. In this case, since the search result generation unit 18 deletes the word 1 and the word 2, the search query for the search data D1 does not exist. In this case, the search result generation unit 18 does not specify the search query, but specifies only the category ID "A: A: A: B (air conditioner for windows)" estimated to be the category intended by the user, and the search data. Search for D1.

次に、検索結果生成部18は、推定されたカテゴリを用いた検索結果に基づいて、検索結果ページを生成し、端末装置Tに送信する(S111)。なお、判定部14が、クエリ分離部12によって分離された単語がワードツリーデータD3に定義されていないと判定した場合、検索結果生成部18は、上述のカテゴリ推定処理を行うことなく、端末装置Tから取得されたクエリを用いた通常の検索処理(カテゴリを絞込みしない検索処理)を行って検索結果ページを生成し、端末装置Tに送信する。以上により、本フローチャートの処理が終了する。 Next, the search result generation unit 18 generates a search result page based on the search result using the estimated category, and transmits it to the terminal device T (S111). When the determination unit 14 determines that the words separated by the query separation unit 12 are not defined in the word tree data D3, the search result generation unit 18 does not perform the above-mentioned category estimation process, and the terminal device. A search result page is generated by performing a normal search process (search process that does not narrow down the categories) using the query obtained from T, and is transmitted to the terminal device T. This completes the processing of this flowchart.

図6は、検索サーバ1によって処理されるクエリと推定されたカテゴリとの関係の一例を示す図である。端末装置Tから取得されたクエリが「エアコン」である場合、このクエリを入力したユーザは、エアコンの「本体」の検索を意図していることが想定される。このため、図3に示すワードツリーデータD3における第1階層H1の「エアコン(A:A:A)」には「本体絞込」のフラグが設定されている。この「本体絞込」のフラグは、図2に示すカテゴリツリーデータD2の第4階層L4のカテゴリ「エアコン(家庭用)(A:A:A:A)」に設定された本体フラグFにおける「本体」と関連付けられている。このため、第1カテゴリ推定部16は、端末装置Tから取得されたクエリが「エアコン」である場合、ユーザが意図したカテゴリとして「エアコン(家庭用)(A:A:A:A)」を推定する。 FIG. 6 is a diagram showing an example of the relationship between the query processed by the search server 1 and the presumed category. When the query obtained from the terminal device T is "air conditioner", it is assumed that the user who inputs this query intends to search for the "main body" of the air conditioner. Therefore, the flag of "main body narrowing down" is set in the "air conditioner (A: A: A)" of the first layer H1 in the word tree data D3 shown in FIG. This "main unit narrowing down" flag is the "main unit flag F" set in the category "air conditioner (household) (A: A: A: A)" of the fourth layer L4 of the category tree data D2 shown in FIG. It is associated with the "body". Therefore, when the query obtained from the terminal device T is "air conditioner", the first category estimation unit 16 sets "air conditioner (for home use) (A: A: A: A)" as the category intended by the user. presume.

そして、検索結果生成部18は、ワードツリーデータD3に定義されていると判定されたクエリ「エアコン」を削除し、ユーザが意図したカテゴリと判定されたカテゴリ「エアコン(家庭用)(A:A:A:A)」に属する商品の情報を検索して、検索結果ページを生成する。 Then, the search result generation unit 18 deletes the query "air conditioner" determined to be defined in the word tree data D3, and deletes the category "air conditioner (for home use)" determined to be the category intended by the user (A: A). : A: A) ”is searched for and a search result page is generated.

また、端末装置Tから取得されたクエリが「エアコン 部品 リモコン」である場合、ワードツリーデータD3において、第1階層H1としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第2階層H2としてクエリ「部品」および「リモコン」の両方が存在する。この場合、第1カテゴリ推定部16は、第2階層H2のクエリ「部品」と関連付けられたカテゴリID「A:A:A:E」である「その他エアコン部品アクセサリー」と、第2階層H2のクエリ「リモコン」と関連付けられたカテゴリID「A:A:A:D」である「エアコン用リモコン」との両方をユーザが意図したカテゴリと推定する。 Further, when the query acquired from the terminal device T is the "air conditioner component remote controller", the query "air conditioner" exists as the first layer H1 in the word tree data D3, and the second query "air conditioner" is located below the query "air conditioner". There are both queries "parts" and "remote control" as hierarchy H2. In this case, the first category estimation unit 16 has the category ID "A: A: A: E" associated with the query "parts" of the second layer H2, "other air conditioner parts accessories", and the second layer H2. It is estimated that both the query "remote controller" and the category ID "A: A: A: D" associated with the "air conditioner remote controller" are the categories intended by the user.

そして、検索結果生成部18は、第1階層H1として定義されていると判定されたクエリ「エアコン」と、第2階層H2として定義されていると判定されたクエリ「部品」および「リモコン」とを削除し、ユーザが意図したカテゴリと判定されたカテゴリ「その他エアコン部品アクセサリー(A:A:A:E)」またはカテゴリ「エアコン用リモコン(A:A:A:D)」に属する商品の情報を検索(OR検索)して、検索結果ページを生成する。 Then, the search result generation unit 18 includes the query "air conditioner" determined to be defined as the first layer H1 and the queries "parts" and "remote controller" determined to be defined as the second layer H2. Information on products that belong to the category "Other air conditioner parts accessories (A: A: A: E)" or the category "Remote control for air conditioner (A: A: A: D)" that is determined to be the category intended by the user. Search (OR search) to generate a search result page.

また、端末装置Tから取得されたクエリが「窓用 エアコン A社」である場合、ワードツリーデータD3において、第1階層H1としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第2階層H2としてクエリ「窓用」が存在する。この場合、第1カテゴリ推定部16は、第2階層H2のクエリ「窓用」と関連付けられたカテゴリID「A:A:A:B」である「窓用エアコン」をユーザが意図したカテゴリと推定する。 Further, when the query acquired from the terminal device T is "window air conditioner company A", the query "air conditioner" exists as the first layer H1 in the word tree data D3, and is located below the query "air conditioner". There is a query "for windows" as the second layer H2. In this case, the first category estimation unit 16 sets the category ID "A: A: A: B" associated with the query "for windows" of the second layer H2 as "window air conditioner" as the category intended by the user. presume.

そして、検索結果生成部18は、第1階層H1として定義されていると判定された単語クエリ「エアコン」と、第2階層H2として定義されていると判定されたクエリ「窓用」とを削除し、残りのクエリである「A社」を検索クエリとして、「窓用エアコン」カテゴリに属する商品の情報を検索して、検索結果ページを生成する。 Then, the search result generation unit 18 deletes the word query "air conditioner" determined to be defined as the first layer H1 and the query "for windows" determined to be defined as the second layer H2. Then, using the remaining query "Company A" as a search query, information on products belonging to the "window air conditioner" category is searched, and a search result page is generated.

また、端末装置Tから取得されたクエリが「フィルター」である場合、このクエリは、ワードツリーデータD3の第1階層H1に存在しない。この場合、検索結果生成部18は、上述のカテゴリ推定処理を行うことなく、クエリ「フィルター」を用いた通常の検索処理を行い、検索結果ページを生成する。 Further, when the query acquired from the terminal device T is a "filter", this query does not exist in the first layer H1 of the word tree data D3. In this case, the search result generation unit 18 performs a normal search process using the query "filter" without performing the above-mentioned category estimation process, and generates a search result page.

また、端末装置Tから取得されたクエリが「自動車 エアコンフィルター 脱臭」である場合、このクエリには、ワードツリーデータD3の第1階層H1に存在する「エアコンフィルター(A:A:A:C)」と、「自動車(X:X)」が存在する。さらに、クエリ「自動車」の下位に位置する第2階層H2としてクエリ「エアコンフィルター(X:X:X:Y)」が存在する。この場合、第1カテゴリ推定部16は、「エアコンフィルター(A:A:A:C)」と「エアコンフィルター(X:X:X:Y)」との両方をユーザが意図したカテゴリと推定する。 Further, when the query acquired from the terminal device T is "automobile air conditioner filter deodorization", this query includes the "air conditioner filter (A: A: A: C)" existing in the first layer H1 of the word tree data D3. ", And" automobile (X: X) "exists. Further, the query "air conditioner filter (X: X: X: Y)" exists as the second layer H2 located below the query "automobile". In this case, the first category estimation unit 16 estimates that both the "air conditioner filter (A: A: A: C)" and the "air conditioner filter (X: X: X: Y)" are the categories intended by the user. ..

この場合、推定された2つのカテゴリ「エアコンフィルター(A:A:A:C)」および「エアコンフィルター(X:X:X:Y)」のうち、どちらを優先すべきであるかは判断がつかない。このため、検索結果生成部18は、ワードツリーデータD3に定義されていると判定されたクエリを削除することなく、「自動車 エアコンフィルター 脱臭」を検索クエリとして、「エアコンフィルター(A:A:A:C)」または「エアコンフィルター(X:X:X:Y)」に属する商品を検索(OR検索)し、検索結果ページを生成する。すなわち、端末装置Tから取得されたクエリの中に、ワードツリーデータD3の第1階層H1に定義されたクエリが2つ以上の含まれている場合には、検索結果生成部18は、ワードツリーデータD3に定義されていると判定されたクエリを削除することなく、端末装置Tから取得されたクエリを用いて、検索データD1に対する検索処理を行う。 In this case, it is difficult to determine which of the two estimated categories "air conditioner filter (A: A: A: C)" and "air conditioner filter (X: X: X: Y)" should be prioritized. Not stick. Therefore, the search result generation unit 18 does not delete the query determined to be defined in the word tree data D3, but uses "automobile air conditioner filter deodorization" as the search query and "air conditioner filter (A: A: A)". : C) ”or“ Air conditioner filter (X: X: X: Y) ”is searched (OR search) to generate a search result page. That is, when the query acquired from the terminal device T includes two or more queries defined in the first layer H1 of the word tree data D3, the search result generation unit 18 uses the word tree. The search process for the search data D1 is performed using the query acquired from the terminal device T without deleting the query determined to be defined in the data D3.

また、図7に示すようなカテゴリツリーデータD4が定義されている条件下において、端末装置Tから取得されたクエリが「ダウンジャケット」である場合、このクエリ「ダウンジャケット」は、メンズの「ダウンジャケット」またはレディースの「ダウンジャケット」のいずれを意図しているのか判断がつかない。この場合、図8に示すワードツリーデータD5のように、第1階層H1としてクエリ「ダウンジャケット」を定義し、この「ダウンジャケット」の下位に位置する第2階層H2のクエリとして「メンズ」および「レディース」を定義しておく。これにより、端末装置Tから取得されたクエリが「ダウンジャケット」である場合、検索結果生成部18は、ワードツリーデータD5に基づいて、メンズの「ダウンジャケット(B:A:A)」またはレディースの「ダウンジャケット(B:B:A)」に属する商品を検索(OR検索)することができる。 Further, under the condition that the category tree data D4 as shown in FIG. 7 is defined, when the query acquired from the terminal device T is the "down jacket", this query "down jacket" is the men's "down jacket". I can't tell whether it's intended as a "jacket" or a ladies' "down jacket." In this case, as shown in the word tree data D5 shown in FIG. 8, the query "down jacket" is defined as the first layer H1, and "men's" and the query of the second layer H2 located below the "down jacket" are defined as "men's". Define "ladies". As a result, when the query obtained from the terminal device T is a "down jacket", the search result generation unit 18 is based on the word tree data D5, and is a men's "down jacket (B: A: A)" or a ladies'. You can search (OR search) products that belong to the "down jacket (B: B: A)" of.

以上において説明した本実施形態の検索サーバ1によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。また、ワードツリーデータに定義されていると判定された単語を削除し、推定されたカテゴリを用いた絞込み検索を行うことで、商品等の提供者は、自身の商品等の情報が検索結果ページにおいて上位に表示されることを目的として商品等の名称に検索に利用されることが想定されるワードを追加するといった対応が不要となる。また、カテゴリの絞込みを可能とすることで、価格が安い順に商品等を表示させる場合等に、意図しないカテゴリの商品等の情報が表示されることがないため、検索サイトの利便性を向上させることができる。 According to the search server 1 of the present embodiment described above, the category corresponding to the query can be appropriately estimated, and the search accuracy can be improved. In addition, by deleting the words determined to be defined in the word tree data and performing a refined search using the estimated category, the provider of the product etc. can obtain the information of his / her own product etc. on the search result page. It is not necessary to add words that are expected to be used for search to the names of products, etc. for the purpose of being displayed at the top. In addition, by making it possible to narrow down the categories, when displaying products in ascending order of price, information on products in unintended categories will not be displayed, improving the convenience of the search site. be able to.

なお、上記においては家電分野およびファッション分野におけるショッピングサイトの例を説明したが、車、二輪車等のショッピングサイト、ゲーム機器のショッピングサイト、オークションサイト等、情報の検索処理を伴うサービスであれば、本実施形態を適用可能である。また、ワードツリーデータにおいて、各クエリと対応するカテゴリが1つである例を説明したが、1つのクエリに複数のカテゴリが関連付けられてもよい。 In the above, examples of shopping sites in the fields of home appliances and fashion have been described, but if the service involves information search processing, such as shopping sites for cars and motorcycles, shopping sites for game machines, auction sites, etc. The embodiment is applicable. Further, in the word tree data, an example in which each query has one category corresponding to each query has been described, but one query may be associated with a plurality of categories.

<2.第2実施形態>
以下、本発明の第2実施形態について説明する。本実施形態の検索サーバは、第1実施形態と比較して、ワードツリーデータに基づいてカテゴリを推定する第1カテゴリ推定部に加えて、機械学習に基づいてカテゴリを推定する第2カテゴリ推定部をさらに備える点が異なる。このため、構成などについては第1実施形態で説明した図および関連する記載を援用し、詳細な説明を省略する。
<2. Second Embodiment>
Hereinafter, a second embodiment of the present invention will be described. Compared with the first embodiment, the search server of the present embodiment has a second category estimation unit that estimates a category based on machine learning, in addition to a first category estimation unit that estimates a category based on word tree data. The difference is that it is further provided. Therefore, for the configuration and the like, the drawings and related descriptions described in the first embodiment will be referred to, and detailed description will be omitted.

<2−1.システム構成>
図9は、本実施形態の検索サーバ2(情報処理装置)の機能ブロック図である。検索サーバ2は、第1実施形態の検索サーバ1と比較して、第2カテゴリ推定部22(第2推定部)をさらに備える。第1カテゴリ推定部16(第1推定部)は、利用頻度の高いクエリを対象に作成したワードツリー(カテゴリ辞書データ)に基づいてカテゴリの推定処理を行うため、ワードツリーに定義されたクエリに対する推定精度は高く、複数のカテゴリが特定されるようなクエリでも対応が可能である。しかしながら、第1カテゴリ推定部16は、ワードツリーに定義されていないクエリ(すなわち、利用頻度が中程度または低程度であることが想定されるクエリ。製品名等。)に対しては利用できない。そこで、本実施形態では、第2カテゴリ推定部22が、ワードツリーに定義されていないクエリを対象に、機械学習に基づくカテゴリの推定処理を行う。第2カテゴリ推定部22は、例えば、末端カテゴリ推定部24と、中間カテゴリ推定部26とを備える。
<2-1. System configuration>
FIG. 9 is a functional block diagram of the search server 2 (information processing device) of the present embodiment. The search server 2 further includes a second category estimation unit 22 (second estimation unit) as compared with the search server 1 of the first embodiment. The first category estimation unit 16 (first estimation unit) performs category estimation processing based on a word tree (category dictionary data) created for frequently used queries, so that the query defined in the word tree is used. The estimation accuracy is high, and it is possible to handle queries that specify multiple categories. However, the first category estimation unit 16 cannot be used for queries that are not defined in the word tree (that is, queries that are expected to be used moderately or infrequently, such as product names). Therefore, in the present embodiment, the second category estimation unit 22 performs category estimation processing based on machine learning for queries that are not defined in the word tree. The second category estimation unit 22 includes, for example, a terminal category estimation unit 24 and an intermediate category estimation unit 26.

末端カテゴリ推定部24は、カテゴリツリーにおける末端(最下層)のカテゴリを推定する。例えば、末端カテゴリ推定部24は、端末装置Tから取得されたクエリと、このクエリに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうちクリック数が最も多い末端カテゴリ(ユーザが意図したと考えられるカテゴリ(正解カテゴリ))との関係を予め学習することにより、第1モデル(以下、「末端カテゴリモデルM1」という)を生成し、記憶部20に記憶させる。末端カテゴリ推定部24は、この末端カテゴリモデルM1に基づいて、端末装置Tから取得されたクエリに対応する末端カテゴリを推定する。この末端カテゴリ推定部24による推定処理は、端末装置Tから取得されたクエリの処理数(或いは、端末装置Tから取得されたクエリに応じて提供された検索結果ページにおけるクリック数)が十分に多い場合に、その推定精度が高いことが想定される。 The end category estimation unit 24 estimates the end (bottom layer) category in the category tree. For example, the terminal category estimation unit 24 has the query acquired from the terminal device T and the terminal category (intentionally intended by the user) having the largest number of clicks among the categories clicked by the user on the search result page provided in response to the query. The first model (hereinafter referred to as "terminal category model M1") is generated and stored in the storage unit 20 by learning in advance the relationship with the category (correct answer category) considered to be. The terminal category estimation unit 24 estimates the terminal category corresponding to the query acquired from the terminal device T based on the terminal category model M1. In the estimation process by the terminal category estimation unit 24, the number of processes of the query acquired from the terminal device T (or the number of clicks on the search result page provided in response to the query acquired from the terminal device T) is sufficiently large. In some cases, it is assumed that the estimation accuracy is high.

中間カテゴリ推定部26は、複数の下位のカテゴリを包含することが可能な中間層のカテゴリを推定する。例えば、中間カテゴリ推定部26は、端末装置Tから取得されたクエリと、このクエリに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうちクリック数が最も多い中間のカテゴリ(ユーザが意図したと考えられるカテゴリ(正解カテゴリ))との関係を予め学習するにより、第2モデル(以下、「中間カテゴリモデルM2」という)を生成し、記憶部20に記憶させる。中間カテゴリ推定部26は、この中間カテゴリモデルM2に基づいて、端末装置Tから取得されたクエリに対応する中間のカテゴリを推定する。 The intermediate category estimation unit 26 estimates the category of the intermediate layer that can include a plurality of lower categories. For example, the intermediate category estimation unit 26 has a query obtained from the terminal device T and an intermediate category (intention of the user) having the largest number of clicks among the categories clicked by the user on the search result page provided in response to the query. A second model (hereinafter referred to as "intermediate category model M2") is generated by learning in advance the relationship with the category (correct answer category) that is considered to have been created, and is stored in the storage unit 20. The intermediate category estimation unit 26 estimates the intermediate category corresponding to the query acquired from the terminal device T based on the intermediate category model M2.

上述の末端カテゴリ推定部24によるカテゴリ推定処理は、レディースとメンズとに別れるようなカテゴリを対象とするクエリに対してはその推定精度が低下する場合がある。このように、上述の末端カテゴリ推定部24を用いた場合に精度が低下することが想定される場合には、複数の下位のカテゴリを包含することが可能な中間カテゴリ推定部26が利用される。例えば、端末装置Tから取得されたクエリが「ダッフルコート」である場合に、中間カテゴリ推定部26は、「メンズ」であるカテゴリと、「レディース」であるカテゴリとを推定する。次に、検索結果生成部18は、推定されたカテゴリ「メンズ」または「レディース」で絞込んで、検索クエリ「ダッフルコート」を用いた検索処理(カテゴリ「メンズ」、「レディース」のOR検索)を行う。 The category estimation process by the terminal category estimation unit 24 described above may reduce the estimation accuracy for a query targeting a category that is divided into ladies and men. As described above, when the accuracy is expected to decrease when the terminal category estimation unit 24 described above is used, the intermediate category estimation unit 26 capable of including a plurality of lower categories is used. .. For example, when the query obtained from the terminal device T is "duffle coat", the intermediate category estimation unit 26 estimates a category that is "men's" and a category that is "ladies". Next, the search result generation unit 18 narrows down by the estimated category "men's" or "ladies" and uses the search query "duffle coat" for search processing (OR search for categories "men's" and "ladies"). I do.

末端カテゴリ推定部24および中間カテゴリ推定部26は、多層構造のニューラルネットワーク(Deep Neural Network:DNN)、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)、再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)等を用いたディープラーニング技術を採用してよい。 The terminal category estimation unit 24 and the intermediate category estimation unit 26 include a multi-layered neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), and the like. The deep learning technique used may be adopted.

<2−2.検索処理>
以下において、検索サーバ2の検索処理について説明する。図10は、検索サーバ2の検索処理の流れの一例を示す図である。
<2-2. Search process>
The search process of the search server 2 will be described below. FIG. 10 is a diagram showing an example of the flow of the search process of the search server 2.

まず、クエリ分離部12は、通信部10を介して、端末装置Tから入力されたクエリを取得する(S201)。次に、クエリ分離部12は、端末装置Tから取得されたクエリを解析して、単語に分離する(S203)。 First, the query separation unit 12 acquires the query input from the terminal device T via the communication unit 10 (S201). Next, the query separation unit 12 analyzes the query acquired from the terminal device T and separates it into words (S203).

次に、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3に定義されているか否かを判定する(S205)。 Next, the determination unit 14 determines whether or not the words separated by the query separation unit 12 are defined in the word tree data D3 (S205).

判定部14が、クエリ分離部12によって分離された単語がワードツリーデータD3に定義されていると判定した場合、第1カテゴリ推定部16は、ワードツリーデータD3に基づいて、クエリ分離部12によって分離された単語に対応するカテゴリを、端末装置Tから取得されたクエリに対応するカテゴリとして推定する(S207)。 When the determination unit 14 determines that the words separated by the query separation unit 12 are defined in the word tree data D3, the first category estimation unit 16 is determined by the query separation unit 12 based on the word tree data D3. The category corresponding to the separated words is estimated as the category corresponding to the query obtained from the terminal device T (S207).

一方、判定部14は、クエリ分離部12によって分離された単語がワードツリーデータD3に定義されていないと判定した場合、さらに、端末装置Tから取得したクエリに関して、過去における同一のクエリの処理数が閾値以上であるか否かを判定する(S213)。この閾値(精度情報の一例)は、端末装置Tから取得したクエリに対応する末端カテゴリの推定処理の信頼度を示す基準となるものである。端末装置Tから取得したクエリの処理数が閾値以上であれば、このクエリに対する末端カテゴリの学習が十分に行われており、末端カテゴリ推定部24による推定処理の精度が高いことが想定される。一方、端末装置Tから取得したクエリの処理数が閾値未満であれば、このクエリに対する末端カテゴリの学習が不十分であり、末端カテゴリ推定部24による推定処理の精度が低いことが想定される。過去におけるクエリ毎の処理数は、例えば、記憶部20に記憶された検索ログLに含まれている。 On the other hand, when the determination unit 14 determines that the word separated by the query separation unit 12 is not defined in the word tree data D3, the determination unit 14 further processes the same number of queries in the past with respect to the query acquired from the terminal device T. Is greater than or equal to the threshold value (S213). This threshold value (an example of accuracy information) serves as a reference indicating the reliability of the estimation processing of the terminal category corresponding to the query acquired from the terminal device T. If the number of processed queries of the query acquired from the terminal device T is equal to or greater than the threshold value, it is assumed that the terminal category for this query has been sufficiently learned and the accuracy of the estimation processing by the terminal category estimation unit 24 is high. On the other hand, if the number of queries processed from the terminal device T is less than the threshold value, it is assumed that the learning of the terminal category for this query is insufficient and the accuracy of the estimation processing by the terminal category estimation unit 24 is low. The number of processes for each query in the past is included in, for example, the search log L stored in the storage unit 20.

判定部14が、端末装置Tから取得したクエリの処理数が閾値以上であると判定した場合、末端カテゴリ推定部24は、末端カテゴリ推定モデルM1に基づいて、取得したクエリに対応する末端カテゴリを推定する(S215)。一方、判定部14が、端末装置Tから取得したクエリの処理数が閾値以上ではないと判定した場合、中間カテゴリ推定部26は、中間カテゴリ推定モデルM2に基づいて、取得したクエリに対応する末端カテゴリを推定する(S217)。 When the determination unit 14 determines that the number of processed queries acquired from the terminal device T is equal to or greater than the threshold value, the terminal category estimation unit 24 determines the terminal category corresponding to the acquired query based on the terminal category estimation model M1. Estimate (S215). On the other hand, when the determination unit 14 determines that the number of processed queries acquired from the terminal device T is not equal to or greater than the threshold value, the intermediate category estimation unit 26 is a terminal corresponding to the acquired query based on the intermediate category estimation model M2. Estimate the category (S217).

次に、検索結果生成部18は、端末装置Tから取得したクエリに関して、第1カテゴリ推定部16、末端カテゴリ推定部24、および中間カテゴリ推定部26のいずれかにより推定されたカテゴリで絞込み検索を行う(S209)。なお、第1カテゴリ推定部16によって推定されたカテゴリを用いた絞込み検索を行う場合、検索結果生成部18は、取得したクエリに含まれるクエリのうち、ワードツリーデータD3に定義されていると判定されたクエリを削除し、残りのクエリを検索クエリとして推定されたカテゴリに属する商品等の情報の検索を行う。 Next, the search result generation unit 18 narrows down the query acquired from the terminal device T by the category estimated by any of the first category estimation unit 16, the terminal category estimation unit 24, and the intermediate category estimation unit 26. Do (S209). When performing a refined search using the categories estimated by the first category estimation unit 16, the search result generation unit 18 determines that the queries included in the acquired queries are defined in the word tree data D3. The query is deleted, and the remaining queries are used as search queries to search for information such as products belonging to the presumed category.

次に、検索結果生成部18は、推定されたカテゴリを用いた検索結果に基づいて、検索結果ページを生成し、端末装置Tに送信する(S211)。以上により、本フローチャートの処理が終了する。 Next, the search result generation unit 18 generates a search result page based on the search result using the estimated category and transmits it to the terminal device T (S211). This completes the processing of this flowchart.

以上において説明した本実施形態の検索サーバ2によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。ワードツリーデータに基づいてカテゴリを推定することができない場合に、機械学習に基づいてカテゴリを推定することで、検索精度をいっそう向上させることができる。なお、中間カテゴリ推定部26により複数のカテゴリが推定される場合には、そのカテゴリ別の検索結果を提供することも可能である。 According to the search server 2 of the present embodiment described above, the category corresponding to the query can be appropriately estimated, and the search accuracy can be improved. When the category cannot be estimated based on the word tree data, the search accuracy can be further improved by estimating the category based on machine learning. When a plurality of categories are estimated by the intermediate category estimation unit 26, it is also possible to provide search results for each category.

以上において説明した実施形態によれば、ユーザによって入力されたクエリを取得する取得部と、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備えることにより、正確にカテゴリを推定し、検索精度を向上させることができる。 According to the embodiment described above, the acquisition unit for acquiring the query input by the user and the relationship between the queries are represented in a tree structure, and each of the queries is associated with the category to be searched. In the category dictionary data, in order from the query located at the top of the tree structure, the category corresponding to the query acquired by the acquisition unit is classified based on the result of tracing until the query acquired by the acquisition unit is applicable. By providing an estimation unit for estimation and a generation unit for generating information for displaying search results belonging to the category estimated by the estimation unit, it is possible to accurately estimate the category and improve the search accuracy. ..

以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。 Although the embodiments for carrying out the present invention have been described above using the embodiments, the present invention is not limited to these embodiments, and various modifications and substitutions are made without departing from the gist of the present invention. Can be added.

1、2…検索サーバ(情報処理装置)
10…通信部(取得部)
12…クエリ分離部(分離部)
14…判定部
16…第1カテゴリ推定部(第1推定部)
18…検索結果生成部(生成部)
20…記憶部
22…第2カテゴリ推定部(第2推定部)
24…末端カテゴリ推定部
26…中間カテゴリ推定部
1, 2 ... Search server (information processing device)
10 ... Communication department (acquisition department)
12 ... Query separation part (separation part)
14 ... Judgment unit 16 ... First category estimation unit (first estimation unit)
18 ... Search result generation unit (generation unit)
20 ... Storage unit 22 ... Second category estimation unit (second estimation unit)
24 ... Terminal category estimation unit 26 ... Intermediate category estimation unit

Claims (6)

ユーザによって入力されたクエリを取得する取得部と、
クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、
前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部と、
前記取得部によって取得されたクエリを単語に分離する分離部を備え、
前記推定部は、前記分離部によって分離された単語に対応するカテゴリを、前記取得部によって取得されたクエリに対応するカテゴリとして推定し
前記生成部は、前記分離部によって分離された単語のうち、前記カテゴリ辞書データに定義されている単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
情報処理装置。
An acquisition unit that acquires the query entered by the user, and
In the category dictionary data in which the relationship between the queries is represented by a tree structure and each of the queries is associated with the category to be searched, the query located at the top of the tree structure is acquired by the acquisition unit in order. An estimation unit that estimates the category corresponding to the query acquired by the acquisition unit based on the result traced to the corresponding query, and an estimation unit.
A generation unit that generates information for displaying search results belonging to the category estimated by the estimation unit, and a generation unit.
A separation unit that separates the query acquired by the acquisition unit into words is provided.
The estimation unit estimates the category corresponding to the word separated by the separation unit as the category corresponding to the query acquired by the acquisition unit .
The generation unit deletes the words defined in the category dictionary data from the words separated by the separation unit, and uses the remaining words to search for a storage device that stores the information to be searched. Generates information for displaying the search results based on
Information processing device.
前記生成部は、前記分離部によって分離された単語のなかに、前記ツリー構造の最上位に位置するクエリと対応する単語が複数存在する場合、前記ツリー構造に定義されている単語を削除せずに、前記分離部によって分離された単語を用いて前記記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
請求項に記載の情報処理装置。
When there are a plurality of words corresponding to the query located at the top of the tree structure among the words separated by the separation unit, the generation unit does not delete the words defined in the tree structure. In addition, based on the result of searching the storage device using the words separated by the separation unit, information for displaying the search result is generated.
The information processing device according to claim 1.
前記取得部によって取得されたクエリが、前記カテゴリ辞書データに定義されているか否かを判定する判定部をさらに備え、
前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに定義されていると判定した場合、前記推定部は、前記取得部によって取得されたクエリと対応するカテゴリを推定し、
前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに定義されていないと判定した場合、前記推定部は、前記カテゴリの推定を行わず、前記生成部は、前記取得部によって取得されたクエリと関連付けられた前記検索結果を表示するための情報を生成する、
請求項1又は2に記載の情報処理装置。
A determination unit for determining whether or not the query acquired by the acquisition unit is defined in the category dictionary data is further provided.
When the determination unit determines that the query acquired by the acquisition unit is defined in the category dictionary data, the estimation unit estimates the category corresponding to the query acquired by the acquisition unit.
When the determination unit determines that the query acquired by the acquisition unit is not defined in the category dictionary data, the estimation unit does not estimate the category, and the generation unit acquires the query by the acquisition unit. Generate information to display the search results associated with the query
The information processing device according to claim 1 or 2.
前記カテゴリ辞書データは、前記検索対象のカテゴリ間の関係をツリー構造で表したカテゴリツリーに基づいて定義されている、
請求項1からのうちいずれか一項に記載の情報処理装置。
The category dictionary data is defined based on a category tree that represents the relationships between the categories to be searched in a tree structure.
The information processing device according to any one of claims 1 to 3.
コンピュータが、
ユーザによって入力されたクエリを取得する取得し、
クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得されたクエリが該当するまで辿った結果に基づいて、前記取得されたクエリに対応するカテゴリを推定する推定し、
前記推定されたカテゴリに属する検索結果を表示するための情報を生成する生成し、
前記取得されたクエリを単語に分離し、
前記分離された単語に対応するカテゴリを、前記取得されたクエリに対応するカテゴリとして推定し、
前記分離された単語のうち、前記カテゴリ辞書データに定義されている単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
情報処理方法。
The computer
Get the query entered by the user and get
In the category dictionary data in which the relationship between the queries is represented by a tree structure and each of the queries is associated with the category to be searched, the obtained queries are obtained in order from the query located at the top of the tree structure. Estimate the category corresponding to the obtained query based on the result traced to the corresponding
Generate information to display search results that belong to the estimated category
Separate the retrieved query into words and
The category corresponding to the separated word is estimated as the category corresponding to the obtained query, and the category is estimated.
Among the separated words, the word defined in the category dictionary data is deleted, and the search result is obtained based on the result of searching the storage device that stores the information to be searched using the remaining words. Generate information to display,
Information processing method.
コンピュータに、
ユーザによって入力されたクエリを取得する取得させ、
クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得されたクエリが該当するまで辿った結果に基づいて、前記取得されたクエリに対応するカテゴリを推定する推定させ、
前記推定されたカテゴリに属する検索結果を表示するための情報を生成する生成させ、
前記取得されたクエリを単語に分離させ、
前記分離された単語に対応するカテゴリを、前記取得されたクエリに対応するカテゴリとして推定させ、
前記分離された単語のうち、前記カテゴリ辞書データに定義されている単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成させる、
プログラム。
On the computer
Get the query entered by the user Get
In the category dictionary data in which the relationship between the queries is represented by a tree structure and each of the queries is associated with the category to be searched, the obtained queries are obtained in order from the query located at the top of the tree structure. Based on the result traced to the case, the category corresponding to the obtained query is estimated and estimated.
Generate information to display search results that belong to the estimated category.
Separate the retrieved query into words
The category corresponding to the separated word is estimated as the category corresponding to the acquired query, and the category is estimated.
Among the separated words, the word defined in the category dictionary data is deleted, and the search result is obtained based on the result of searching the storage device that stores the information to be searched using the remaining words. Generate information to display,
program.
JP2017179114A 2017-09-19 2017-09-19 Information processing equipment, information processing methods, and programs Active JP6944320B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017179114A JP6944320B2 (en) 2017-09-19 2017-09-19 Information processing equipment, information processing methods, and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017179114A JP6944320B2 (en) 2017-09-19 2017-09-19 Information processing equipment, information processing methods, and programs

Publications (2)

Publication Number Publication Date
JP2019053682A JP2019053682A (en) 2019-04-04
JP6944320B2 true JP6944320B2 (en) 2021-10-06

Family

ID=66014953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017179114A Active JP6944320B2 (en) 2017-09-19 2017-09-19 Information processing equipment, information processing methods, and programs

Country Status (1)

Country Link
JP (1) JP6944320B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984689B (en) * 2020-08-21 2023-07-25 北京百度网讯科技有限公司 Information retrieval method, device, equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4260641B2 (en) * 2004-01-26 2009-04-30 シャープ株式会社 Search result processing apparatus, search result processing program, search result processing program recording medium, and search result processing system
JP5697256B2 (en) * 2011-11-24 2015-04-08 楽天株式会社 SEARCH DEVICE, SEARCH METHOD, SEARCH PROGRAM, AND RECORDING MEDIUM

Also Published As

Publication number Publication date
JP2019053682A (en) 2019-04-04

Similar Documents

Publication Publication Date Title
CN107609152B (en) Method and apparatus for expanding query expressions
US10140368B2 (en) Method and apparatus for generating a recommendation page
CN109190049B (en) Keyword recommendation method, system, electronic device and computer readable medium
TWI582619B (en) Method and apparatus for providing referral words
US10216851B1 (en) Selecting content using entity properties
US10489448B2 (en) Method and system for dynamically ranking images to be matched with content in response to a search query
RU2670494C2 (en) Method for processing search requests, server and machine-readable media for its implementation
US9727906B1 (en) Generating item clusters based on aggregated search history data
WO2016091114A1 (en) Information pushing method and device
JP5438087B2 (en) Advertisement distribution device
JP5341276B1 (en) Information processing apparatus, information processing method, and information processing program
US20110082860A1 (en) Search Method, Apparatus and System
WO2020020137A1 (en) Commodity recommendation method, apparatus and system, and computer readable storage medium
US11055312B1 (en) Selecting content using entity properties
KR20080028574A (en) Integrated search service system and method
CN109168047B (en) Video recommendation method and device, server and storage medium
JP2013531289A (en) Use of model information group in search
EP3782048A1 (en) Action indicators for search operation output elements
JP7166116B2 (en) Information processing device, information processing method, and program
JP2017045196A (en) Ambiguity evaluation device, ambiguity evaluation method, and ambiguity evaluation program
JP6944320B2 (en) Information processing equipment, information processing methods, and programs
JP6865663B2 (en) Information processing equipment, information processing methods, and programs
JP2017162275A (en) Information processing device, information processing method, and program
JP5315485B1 (en) Information processing apparatus, information processing method, and information processing program
US20170249686A1 (en) System, method, and non-transitory computer-readable storage medium for displaying a hierarchy of categories for a search query on a webpage

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210910

R150 Certificate of patent or registration of utility model

Ref document number: 6944320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250