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

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

Info

Publication number
JP6865663B2
JP6865663B2 JP2017179112A JP2017179112A JP6865663B2 JP 6865663 B2 JP6865663 B2 JP 6865663B2 JP 2017179112 A JP2017179112 A JP 2017179112A JP 2017179112 A JP2017179112 A JP 2017179112A JP 6865663 B2 JP6865663 B2 JP 6865663B2
Authority
JP
Japan
Prior art keywords
category
query
acquired
unit
search
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
JP2017179112A
Other languages
Japanese (ja)
Other versions
JP2019053681A (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 JP2017179112A priority Critical patent/JP6865663B2/en
Publication of JP2019053681A publication Critical patent/JP2019053681A/en
Application granted granted Critical
Publication of JP6865663B2 publication Critical patent/JP6865663B2/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 for 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.

本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備える情報処理装置である。 In one aspect of the present invention, the relationship between the acquisition unit that acquires the query input by the user and the query acquired by the acquisition unit is represented by a tree structure, and each of the queries and the search target. When the determination unit that determines whether or not the category of is present in the associated category dictionary data and the determination unit determines that the query acquired by the acquisition unit exists in the category dictionary data, the category dictionary When the first estimation unit that estimates the category corresponding to the query acquired by the acquisition unit and the determination unit determines that the query acquired by the acquisition unit does not exist in the category dictionary data based on the data. , The second estimation unit that estimates the category corresponding to the query acquired by the acquisition unit based on the model that learned the relationship between the query used for the search and the category, and the first estimation unit or the second estimation unit. It is an information processing device including a generation unit that generates information for displaying search results belonging to the category estimated by the 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 the 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 determines 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. is there. 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 "for windows", 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. Exists. 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 it 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 category) 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 estimated 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 acquired 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 there are" automobiles (X: X) ". 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 retrieval 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, the 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 terminal category estimation unit 24 estimates the terminal (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. By learning in advance the relationship with the category (correct answer category) considered to be, the first model (hereinafter referred to as “terminal category model M1”) is generated and stored in the storage unit 20. 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 generated, and is stored in the storage unit 20. The intermediate category estimation unit 26 estimates an 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 (Deep 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 equal to or greater than 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 has been sufficiently learned for this query 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 executed 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.

以上において説明した実施形態によれば、ユーザによって入力されたクエリを取得する取得部と、前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備えることにより、正確にカテゴリを推定し、検索精度を向上させることができる。 According to the embodiment described above, the relationship between the acquisition unit that acquires the query input by the user and the query acquired by the acquisition unit is represented by a tree structure, and each of the queries. When the determination unit that determines whether or not the category to be searched and the category to be searched exists in the associated category dictionary data and the determination unit determines that the query acquired by the acquisition unit exists in the category dictionary data. If the first estimation unit that estimates the category corresponding to the query acquired by the acquisition unit and the query acquired by the acquisition unit by the determination unit do not exist in the category dictionary data based on the category dictionary data. When it is determined, the second estimation unit that estimates the category corresponding to the query acquired by the acquisition unit based on the model that learned the relationship between the query used for the search and the category, and the first estimation unit or By providing a generation unit that generates information for displaying search results belonging to the category estimated by the second 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 (9)

ユーザによって入力されたクエリを取得する取得部と、
前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、
前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、
前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、
前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部と
を備える情報処理装置。
An acquisition unit that acquires the query entered by the user, and
Judgment of determining whether or not the query acquired by the acquisition unit has a tree structure in which the relationships between the queries are represented and each of the queries and the category to be searched are associated with each other in the category dictionary data. Department and
When the determination unit determines that the query acquired by the acquisition unit exists in the category dictionary data, the first estimation estimates the category corresponding to the query acquired by the acquisition unit based on the category dictionary data. Department and
When the determination unit determines that the query acquired by the acquisition unit does not exist in the category dictionary data, it is acquired by the acquisition unit based on the model that learned the relationship between the query used for the search and the category. A second estimation unit that estimates the query and the corresponding category,
An information processing device including a generation unit that generates information for displaying search results belonging to a category estimated by the first estimation unit or the second estimation unit.
前記第2推定部は、
前記取得部によって取得されたクエリと対応し、且つ、前記ツリー構造の末端に位置する末端カテゴリを推定する末端カテゴリ推定部と、
前記取得部によって取得されたクエリと対応し、且つ、前記ツリー構造の中間層に位置する中間カテゴリを推定する中間カテゴリ推定部と
を備える、
請求項1に記載の情報処理装置。
The second estimation unit
A terminal category estimation unit that corresponds to the query acquired by the acquisition unit and estimates the terminal category located at the end of the tree structure.
It includes an intermediate category estimation unit that corresponds to the query acquired by the acquisition unit and estimates an intermediate category located in the intermediate layer of the tree structure.
The information processing device according to claim 1.
前記判定部は、前記末端カテゴリ推定部の推定処理に利用される第1モデルの精度情報に基づいて、前記末端カテゴリ推定部および前記中間カテゴリ推定部のいずれに推定処理を行わせるかを判定する、
請求項2に記載の情報処理装置。
The determination unit determines whether the terminal category estimation unit or the intermediate category estimation unit is to perform the estimation processing based on the accuracy information of the first model used for the estimation processing of the terminal category estimation unit. ,
The information processing device according to claim 2.
前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上であるか否かを判定し、
前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上であると判定した場合、前記末端カテゴリ推定部に推定処理を行わせ、
前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上ではないと判定した場合、前記中間カテゴリ推定部に推定処理を行わせる、
請求項3に記載の情報処理装置。
The determination unit determines whether or not the number of processed queries acquired by the acquisition unit is equal to or greater than the threshold value.
When the determination unit determines that the number of processed queries acquired by the acquisition unit is equal to or greater than the threshold value, the determination unit causes the terminal category estimation unit to perform estimation processing.
When the determination unit determines that the number of processed queries acquired by the acquisition unit is not equal to or greater than the threshold value, the determination unit causes the intermediate category estimation unit to perform estimation processing.
The information processing device according to claim 3.
前記取得部によって取得されたクエリを単語に分離する分離部をさらに備え、
前記第1推定部は、前記カテゴリ辞書データに基づいて、前記分離部によって分離された単語に対応するカテゴリを、前記取得部によって取得されたクエリに対応するカテゴリとして推定する、
請求項1から4のうちいずれか一項に記載の情報処理装置。
Further provided with a separator that separates the query acquired by the acquirer into words.
Based on the category dictionary data, the first 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 information processing device according to any one of claims 1 to 4.
前記生成部は、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記分離部によって分離された単語のうち、前記カテゴリ辞書データに存在している単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
請求項5に記載の情報処理装置。
When the determination unit determines that the query acquired by the acquisition unit exists in the category dictionary data, the generation unit determines that the words separated by the separation unit exist in the category dictionary data. Is deleted, and information for displaying the search result is generated based on the result of searching the storage device that stores the information of the search target using the remaining words.
The information processing device according to claim 5.
前記カテゴリ辞書データは、前記検索対象のカテゴリ間の関係をツリー構造で表したカテゴリツリーに基づいて定義されている、
請求項1から6のうちいずれか一項に記載の情報処理装置。
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 6.
コンピュータが、
ユーザによって入力されたクエリを取得し、
前記取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定し、
前記取得されたクエリが前記カテゴリ辞書データに存在すると判定された場合、前記カテゴリ辞書データに基づいて、前記取得されたクエリと対応するカテゴリを推定し、
前記取得されたクエリが前記カテゴリ辞書データに存在しないと判定された場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得されたクエリと対応するカテゴリを推定し、
前記カテゴリ辞書データに基づいて判定されたカテゴリまたは前記モデルに基づいて判定されたカテゴリに属する検索結果を表示するための情報を生成する情報処理方法。
The computer
Gets the query entered by the user and
It is determined whether or not the acquired query represents the relationship between the queries in a tree structure and exists in the category dictionary data in which each of the queries and the category to be searched are associated with each other.
When it is determined that the acquired query exists in the category dictionary data, the category corresponding to the acquired query is estimated based on the category dictionary data.
When it is determined that the acquired query does not exist in the category dictionary data, the category corresponding to the acquired query is estimated based on the model learned the relationship between the query used for the search and the category. ,
An information processing method for generating information for displaying search results belonging to a category determined based on the category dictionary data or a category determined based on the model.
コンピュータに、
ユーザによって入力されたクエリを取得させ、
前記取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定させ、
前記取得されたクエリが前記カテゴリ辞書データに存在すると判定された場合、前記カテゴリ辞書データに基づいて、前記取得されたクエリと対応するカテゴリを推定させ、
前記取得されたクエリが前記カテゴリ辞書データに存在しないと判定された場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得されたクエリと対応するカテゴリを推定させ、
前記カテゴリ辞書データに基づいて判定されたカテゴリまたは前記モデルに基づいて判定されたカテゴリに属する検索結果を表示するための情報を生成させるプログラム。
On the computer
Get the query entered by the user
The acquired query is made to determine whether or not the relationship between the queries is represented in a tree structure and each of the queries and the category to be searched exist in the associated category dictionary data.
When it is determined that the acquired query exists in the category dictionary data, the category corresponding to the acquired query is estimated based on the category dictionary data.
When it is determined that the acquired query does not exist in the category dictionary data, the category corresponding to the acquired query is estimated based on the model that learned the relationship between the query used for the search and the category. ,
A program that generates information for displaying search results belonging to a category determined based on the category dictionary data or a category determined based on the model.
JP2017179112A 2017-09-19 2017-09-19 Information processing equipment, information processing methods, and programs Active JP6865663B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017179112A JP6865663B2 (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
JP2017179112A JP6865663B2 (en) 2017-09-19 2017-09-19 Information processing equipment, information processing methods, and programs

Publications (2)

Publication Number Publication Date
JP2019053681A JP2019053681A (en) 2019-04-04
JP6865663B2 true JP6865663B2 (en) 2021-04-28

Family

ID=66014952

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6865663B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5089955B2 (en) * 2006-10-06 2012-12-05 三菱電機株式会社 Spoken dialogue device
JP5835197B2 (en) * 2012-11-29 2015-12-24 トヨタ自動車株式会社 Information processing system

Also Published As

Publication number Publication date
JP2019053681A (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
WO2019099310A1 (en) Resource-efficient generation of a knowledge graph
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
KR20080028574A (en) Integrated search service system and method
US11055312B1 (en) Selecting content using entity properties
KR102454954B1 (en) Action indicator for search action output element
JP2013531289A (en) Use of model information group in search
WO2010131101A1 (en) Search method, apparatus and system
WO2017143930A1 (en) Method of sorting search results, and device for same
JP2017045196A (en) Ambiguity evaluation device, ambiguity evaluation method, and ambiguity evaluation program
CN104933099B (en) Method and device for providing target search result for user
JP6944320B2 (en) Information processing equipment, information processing methods, and programs
CN106294784B (en) resource searching method and device
JP6865663B2 (en) Information processing equipment, information processing methods, and programs
JP5315485B1 (en) Information processing apparatus, information processing method, and information processing program
CN104503980B (en) Determining comprehensive search information and determining candidate search sequences to be pushed according to comprehensive search information
CN107423298B (en) Searching method and device

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210406

R150 Certificate of patent or registration of utility model

Ref document number: 6865663

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