JP2019053681A - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP2019053681A
JP2019053681A JP2017179112A JP2017179112A JP2019053681A JP 2019053681 A JP2019053681 A JP 2019053681A JP 2017179112 A JP2017179112 A JP 2017179112A JP 2017179112 A JP2017179112 A JP 2017179112A JP 2019053681 A JP2019053681 A JP 2019053681A
Authority
JP
Japan
Prior art keywords
category
query
acquired
unit
dictionary data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017179112A
Other languages
Japanese (ja)
Other versions
JP6865663B2 (en
Inventor
高志 石川
Takashi Ishikawa
高志 石川
孔宣 佐野
Yoshinobu Sano
孔宣 佐野
拓真 黒川
Takuma Kurokawa
拓真 黒川
井関 洋平
Yohei Izeki
洋平 井関
圭一郎 永島
Keiichiro Nagashima
圭一郎 永島
文彦 ▲高▼橋
文彦 ▲高▼橋
Fumihiko Takahashi
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)

Abstract

To provide an information processing apparatus for improving search accuracy by estimating category accurately, an information processing method, and a program.SOLUTION: An information processing apparatus includes: an acquisition unit which acquires a query input by a user; a determination unit which determines whether the acquired query is included in category dictionary data formed by representing relationship between queries in a tree structure and associating each of the queries with categories to be searched; a first estimation unit which estimates a category corresponding to the acquired query, on the basis of the category dictionary data, when the determination unit determines that the acquired query is included in the category dictionary data; and a second estimation unit which estimates a category corresponding to the acquired query, on the basis of a model obtained by learning relationship between a query used for search and category, when the determination unit determines that the acquired query is not included in the category dictionary data.SELECTED DRAWING: Figure 9

Description

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

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

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

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

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

本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備える情報処理装置である。   According to an aspect of the present invention, an acquisition unit that acquires a query input by a user, a query acquired by the acquisition unit, a relationship between queries is represented in a tree structure, and each of the queries and a search target A determination unit that determines whether the category is associated with the category dictionary data associated with the category dictionary, and the determination unit determines that the query acquired by the acquisition unit exists in the category dictionary data, the category dictionary A first estimation unit that estimates a category corresponding to the query acquired by the acquisition unit based on data, and the determination unit determines that the query acquired by the acquisition unit does not exist in the category dictionary data A query acquired by the acquisition unit based on a model used to learn a relationship between a query used for search and a category; An information processing apparatus comprising: a second estimation unit that estimates a corresponding category; and a generation unit that generates information for displaying a search result belonging to the category estimated by the first estimation unit or the second estimation unit. .

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

第1実施形態の検索サーバ1の機能ブロック図である。It is a functional block diagram of search server 1 of a 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 | summary 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 search server 2 of a 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, embodiments of an information processing device, an information processing method, and a program will be described with reference to the drawings.

<1.第1実施形態>
以下、本発明の第1実施形態について説明する。本実施形態の情報処理装置は、検索に用いられたクエリを単語(以下、「ワード」ともいう)に分離し、予め定義された単語とカテゴリとを関連付けしたワードツリーデータに基づいて、クエリと対応するカテゴリを推定し、この推定したカテゴリに属する商品等の情報(検索対象)を検索結果として出力する。本実施形態における「カテゴリ」とは、検索に用いられたクエリに対して検索結果として提供されるコンテンツの内容(商品またはサービス)が属する分野を示す情報である。本実施形態では、情報処理装置が、商品等のコンテンツの検索結果を提供する検索サーバである例について説明する。
<1. First Embodiment>
The first embodiment of the present invention will be described below. The information processing apparatus according to the present embodiment separates a query used for a search into words (hereinafter also referred to as “words”), and based on word tree data in which predefined words and categories are associated, The corresponding category is estimated, and information (search target) such as products belonging to the estimated category is output as a search result. The “category” in the present embodiment is information indicating a field to which content contents (products or services) provided as a search result for a query used for a search belong. In the present embodiment, an example in which the information processing apparatus is a search server that provides a search result of content 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 a search server 1 (information processing apparatus) according to this embodiment. The search server 1 is connected to the terminal device T and the like via the network NW. The network NW includes, for example, a WAN (Wide Area Network), a 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 a search service provided by the search server 1. The terminal device T is, for example, a computer device such as a personal computer, a mobile phone such as a smartphone, a tablet terminal, or a PDA (Personal Digital Assistant). In the terminal device T, a browser or an application program that operates based on a user operation transmits, for example, a query for 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 search result page information using search data in which a query is associated with reference information for referring to a page of a site associated with the query. 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 and the like via the network NW. The communication unit 10 receives a query from the terminal device T via the network NW, and transmits page information of the search result to the terminal device T. The communication unit 10 includes a communication interface such as a NIC, for example.

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

クエリ分離部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 the query into words, for example, using spaces, commas, and the like included in the query as delimiters.

判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3に定義されているか否かを判定する。   The determination unit 14 determines whether the word separated by the query separation unit 12 is 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 based on the word tree data D3 read from the storage unit 20 as the category corresponding to the query acquired from the terminal device T. presume. The first category estimation unit 16 applies the query acquired from the terminal device T based on the result of tracing the query acquired from the terminal device T in order from the query located at the top of the word tree data D3. Estimate the corresponding category. Details of the category estimation processing 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 narrow search using the category estimated by the first category estimation unit 16 and generates a search result page that is a search result. For example, the search result generation unit 18 performs a narrow search using the estimated category for the search data D1 stored in the storage unit 20, and displays a search result page including information on products and the like 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, when a hardware processor such as a CPU (Central Processing Unit) executes a program (software) in a computer. 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), and GPU (Graphics Processing Unit). Part (including circuit)), or may be realized by cooperation of software and hardware.

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

図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 illustrated in FIG. 2, “home appliance (A)” is defined as the category of the first hierarchy L1, and the category of the second hierarchy L2 positioned below the first hierarchy L1 “home appliance (A)”. “Air-conditioning appliance air-conditioning home appliance (A: A)” is defined as “the air-conditioner (A: A)” as the category of the third hierarchy L3 that is positioned below the second hierarchy L2 : A) ”is defined, and“ Air Conditioner (Home) ”(A: A: A: A) is defined as a category of the fourth hierarchy L4 that is positioned below the third hierarchy L3“ Air Conditioner (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 conditioner” Parts accessories (A: A: A: E) "are defined That. A symbol in parentheses indicates a category ID for identifying a category.

また、このカテゴリツリーデータD2においては、第4階層L4に定義されたカテゴリの各々に、カテゴリが、「本体」、「準本体」、および「周辺機器」のいずれの分類と関連するかを示す本体フラグFが設定されている。例えば、「エアコン(家庭用)(A:A:A:A)」には、本体フラグF「本体」が関連付けられている。   In the category tree data D2, each category defined in the fourth hierarchy L4 indicates whether the category is associated with a classification of “main body”, “quasi-main body”, or “peripheral device”. The main body flag F is set. For example, the main body flag F “main body” is associated with “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 assumed to be used for a search (a query that is frequently used) and a category defined in the category tree data D2. is there. In the word tree data D3 illustrated in FIG. 3, the category ID “A: A: A” is associated with the query “air conditioner” as the first hierarchy H1. This category ID “A: A: A” corresponds to “air conditioner (A: A: A)” in the third hierarchy 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」が関連付けられている。   In the word tree data D3, the category ID “A: A: A: A” is associated with the query “main body” of the second hierarchy H2 located below the first hierarchy H1 “air conditioner”. , A category ID “A: A: A: B” is associated with the query “for windows”, and a category ID “A: A: A: C” is associated with the query “filter”. A category ID “A: A: A: D” is associated with the query “remote control”, and a category ID “A: A: A: E” is associated with the query “component”.

このワードツリーデータ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 the word tree data D3, in addition to the above query, the category “A: A: A: B” is associated with the query “air conditioner for windows” as the first hierarchy H1, The category ID “A: A: A: C” is associated with the query “air conditioner filter” as the first hierarchy H1. Further, the category ID “X: X” is associated with the query “automobile” as the first hierarchy H1, and the second hierarchy located below the first hierarchy H1 “automobile” is assumed to include similar queries. The category ID “X: X: X: Y” is associated with the query “air conditioner filter” of H2.

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

まず、クエリ分離部12は、通信部10を介して、端末装置Tから入力されたクエリを取得する(S101)。次に、クエリ分離部12は、端末装置Tから取得されたクエリを解析して、単語に分離する(S103)。クエリ分離部12は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。   First, the query separation unit 12 acquires a 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 the query into words, for example, using spaces, commas, and the like included in the query as delimiters.

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

次に、判定部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 word separated by the query separation unit 12 is defined in the first hierarchy H1 (the highest 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 hierarchy H1 of the word tree data D3 shown in FIG. 3, but the word 2 “air conditioner” exists in the first hierarchy H1 of the word tree data. Exists. Further, the word 1 “for window” exists as the second hierarchy H2 positioned below the word 2 “air conditioner”. In this case, the determination unit 14 determines that the word separated by the query separation unit 12 is defined in the first hierarchy H1 of the word tree data D3.

一方、クエリ分離部12によって分離された単語の全てがワードツリーデータD3の第1階層H1に存在しない場合、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1に定義されていないと判定する。   On the other hand, when all of the words separated by the query separation unit 12 do not exist in the first hierarchy H1 of the word tree data D3, the determination unit 14 determines that the word separated by the query separation unit 12 is the first word of the word tree data D3. It is determined that it is not defined in one hierarchy 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 word separated by the query separation unit 12 is defined in the first hierarchy H1 of the word tree data D3, the first category estimation unit 16 uses the word tree data D3, A category corresponding to the word separated by the query separation unit 12 is estimated as a category corresponding to the query acquired from the terminal device T (S107). In the example illustrated in FIG. 5, the “window air conditioner” having the category ID “A: A: A: B” associated with the word 1 “for window” in the second hierarchy H2 lower than the word 2 “air conditioner”. It is estimated that the user intended the category.

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

図5に示す例では、端末装置Tから取得されたクエリに含まれる単語1「窓用」と、単語2「エアコン」との両方がワードツリーデータD3に定義されていると判定されている。この場合、検索結果生成部18は、単語1および単語2を削除するため、検索データD1に対する検索クエリが存在しなくなる。この場合、検索結果生成部18は、検索クエリを指定せずに、ユーザが意図したカテゴリと推定されたカテゴリID「A:A:A:B(窓用エアコン)」のみを指定し、検索データD1に対して検索を行う。   In the example illustrated 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, there is no search query for the search data D1. In this case, the search result generation unit 18 specifies only the category ID “A: A: A: B (window air conditioner)” estimated as the category intended by the user without specifying the search query, 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 word separated by the query separation unit 12 is not defined in the word tree data D3, the search result generation unit 18 performs the terminal device without performing the category estimation process described above. A normal search process using the query acquired from T (a search process that does not narrow down the category) is performed to generate a search result page, which is transmitted to the terminal device T. Thus, the process of this flowchart ends.

図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 illustrating an example of a relationship between a query processed by the search server 1 and an estimated category. When the query acquired from the terminal device T is “air conditioner”, it is assumed that the user who inputs this query intends to search for “main body” of the air conditioner. For this reason, the “restrict body” flag is set in “air conditioner (A: A: A)” of the first hierarchy H1 in the word tree data D3 shown in FIG. This “main body narrowing down” flag is “the main body flag F” set in the category “air conditioner (for home use) (A: A: A: A)” in the fourth hierarchy L4 of the category tree data D2 shown in FIG. 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 determines the category “air conditioner (for home use) (A: A) determined as the category intended by the user. : A: A) "is retrieved to generate a search result page.

また、端末装置Tから取得されたクエリが「エアコン 部品 リモコン」である場合、ワードツリーデータD3において、第1階層H1としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第2階層H2としてクエリ「部品」および「リモコン」の両方が存在する。この場合、第1カテゴリ推定部16は、第2階層H2のクエリ「部品」と関連付けられたカテゴリID「A:A:A:E」である「その他エアコン部品アクセサリー」と、第2階層H2のクエリ「リモコン」と関連付けられたカテゴリID「A:A:A:D」である「エアコン用リモコン」との両方をユーザが意図したカテゴリと推定する。   When the query acquired from the terminal device T is “air conditioner component remote control”, the query “air conditioner” exists as the first hierarchy H1 in the word tree data D3, and the second that is located below the query “air conditioner”. There are both queries “parts” and “remote control” as the hierarchy H2. In this case, the first category estimation unit 16 includes “other air conditioner component accessories” having the category ID “A: A: A: E” associated with the query “components” of the second hierarchy H2, and the second hierarchy H2. Both the category ID “A: A: A: D” and the “air conditioner remote control” associated with the query “remote control” are estimated as 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 hierarchy H1, and the queries “parts” and “remote control” determined to be defined as the second hierarchy H2. , And information on products belonging to the category “other air conditioner parts accessories (A: A: A: E)” or the category “air conditioner remote control (A: A: A: D)” determined as the category intended by the user Is searched (OR search) to generate a search result page.

また、端末装置Tから取得されたクエリが「窓用 エアコン A社」である場合、ワードツリーデータD3において、第1階層H1としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第2階層H2としてクエリ「窓用」が存在する。この場合、第1カテゴリ推定部16は、第2階層H2のクエリ「窓用」と関連付けられたカテゴリID「A:A:A:B」である「窓用エアコン」をユーザが意図したカテゴリと推定する。   When the query acquired from the terminal device T is “window air conditioner A company”, the query “air conditioner” exists as the first hierarchy H1 in the word tree data D3, and is located under the query “air conditioner”. The query “for windows” exists as the second hierarchy H2. In this case, the first category estimation unit 16 sets the category intended by the user as “window air conditioner” having the category ID “A: A: A: B” associated with the query “window” in the second hierarchy H2. 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 hierarchy H1 and the query “window” determined to be defined as the second hierarchy H2. Then, by using the remaining query “Company A” as a search query, information on products belonging to the “window air conditioner” category is searched to generate a search result page.

また、端末装置Tから取得されたクエリが「フィルター」である場合、このクエリは、ワードツリーデータD3の第1階層H1に存在しない。この場合、検索結果生成部18は、上述のカテゴリ推定処理を行うことなく、クエリ「フィルター」を用いた通常の検索処理を行い、検索結果ページを生成する。   When the query acquired from the terminal device T is “filter”, this query does not exist in the first hierarchy 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 generating the category estimation process described above, 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)」との両方をユーザが意図したカテゴリと推定する。   When the query acquired from the terminal device T is “automobile air conditioner filter deodorization”, the query includes “air conditioner filter (A: A: A: C) present in the first hierarchy H1 of the word tree data D3. And “automobile (X: X)”. Furthermore, the query “air conditioner filter (X: X: X: Y)” exists as the second hierarchy H2 positioned below the query “automobile”. In this case, the first category estimation unit 16 estimates both “air conditioner filter (A: A: A: C)” and “air conditioner filter (X: X: X: Y)” as 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 determined 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 that is determined to be defined in the word tree data D3, and uses “automobile air conditioner filter deodorization” as a search query. : C) "or" air conditioner filter (X: X: X: Y) "is searched (OR search), and a search result page is generated. That is, when the query acquired from the terminal device T includes two or more queries defined in the first hierarchy H1 of the word tree data D3, the search result generation unit 18 selects the word tree. The search processing 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検索)することができる。   In addition, when the query acquired from the terminal device T is “down jacket” under the condition where the category tree data D4 as shown in FIG. 7 is defined, the query “down jacket” It is not possible to determine whether the jacket or ladies' down jacket is intended. In this case, as in the word tree data D5 shown in FIG. 8, the query “down jacket” is defined as the first hierarchy H1, and “men” and the query of the second hierarchy H2 positioned below the “down jacket” are defined as Define “Ladies”. Thereby, when the query acquired from the terminal device T is “down jacket”, the search result generation unit 18 selects the men's “down jacket (B: A: A)” or ladies' based on the word tree data D5. The product belonging to “down jacket (B: B: A)” can be searched (OR search).

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

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

<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 according to the present embodiment includes 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. Is different. For this reason, about the structure etc., the figure and related description which were demonstrated in 1st Embodiment are used, and detailed description is abbreviate | 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 apparatus) of this 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 a category estimation process based on a word tree (category dictionary data) created for a frequently used query, and therefore, for a query defined in the word tree. The estimation accuracy is high, and it is possible to cope with a query in which a plurality of categories are specified. However, the first category estimation unit 16 cannot be used for a query that is not defined in the word tree (that is, a query that is assumed to have a medium or low usage frequency, such as a product name). Therefore, in the present embodiment, the second category estimation unit 22 performs a category estimation process based on machine learning for a query that is 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 (lowermost layer) category in the category tree. For example, the terminal category estimation unit 24 includes the query acquired from the terminal device T and the terminal category having the highest number of clicks among the categories clicked by the user in the search result page provided in response to the query (the user intended). The first model (hereinafter referred to as “terminal category model M1”) is generated by learning in advance the relationship with the category (correct category) that is considered to be 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. The estimation processing by the terminal category estimation unit 24 has a sufficiently large number of queries processed from the terminal device T (or the number of clicks in the search result page provided according to the query acquired from the terminal device T). In this case, 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 a category of an intermediate layer that can include a plurality of lower categories. For example, the intermediate category estimation unit 26 selects the intermediate category (the user's intention) among the queries acquired from the terminal device T and the category clicked by the user on the search result page provided in response to the query. The 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 stored, and 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 above-described category estimation processing by the terminal category estimation unit 24 may reduce the estimation accuracy for a query targeting a category that is divided into ladies and mens. As described above, when it is assumed that the accuracy is lowered when the terminal category estimation unit 24 described above is used, the intermediate category estimation unit 26 that can include a plurality of lower categories is used. . For example, when the query acquired 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 the estimated category “Men” or “Ladies” and uses the search query “Duffle coat” (OR search of “Men” 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 multilayer neural network (Deep Neural Network: DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), and the like. The deep learning technology used may be used.

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

まず、クエリ分離部12は、通信部10を介して、端末装置Tから入力されたクエリを取得する(S201)。次に、クエリ分離部12は、端末装置Tから取得されたクエリを解析して、単語に分離する(S203)。   First, the query separation unit 12 acquires a 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 determining unit 14 determines whether or not the word separated by the query separating unit 12 is 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 word separated by the query separation unit 12 is defined in the word tree data D3, the first category estimation unit 16 performs the query separation unit 12 based on the word tree data D3. The category corresponding to the separated word is estimated as the category corresponding to the query acquired from the terminal device T (S207).

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

判定部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, the terminal category estimation unit 24 selects 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 queries processed from the terminal device T is not equal to or greater than the threshold, the intermediate category estimation unit 26 determines the end corresponding to the acquired query based on the intermediate category estimation model M2. A category is estimated (S217).

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

次に、検索結果生成部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). Thus, the process of this flowchart ends.

以上において説明した本実施形態の検索サーバ2によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。ワードツリーデータに基づいてカテゴリを推定することができない場合に、機械学習に基づいてカテゴリを推定することで、検索精度をいっそう向上させることができる。なお、中間カテゴリ推定部26により複数のカテゴリが推定される場合には、そのカテゴリ別の検索結果を提供することも可能である。   According to the search server 2 of this embodiment demonstrated above, the category corresponding to a query can be estimated appropriately and search accuracy can be improved further. 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 possible to provide a search result for each category.

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

以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。   As mentioned above, although the form for implementing this invention was demonstrated using embodiment, this invention is not limited to such embodiment at all, In the range which does not deviate from the summary of this invention, various deformation | transformation and substitution 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 unit (acquisition unit)
12 ... Query separation part (separation part)
14 ... Determination 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 for acquiring a query input by a user;
Determination that determines whether or not the query acquired by the acquisition unit exists in category dictionary data in which relationships between queries are represented in a tree structure and each of the queries and a category to be searched are associated with each other And
When the determination unit determines that the query acquired by the acquisition unit exists in the category dictionary data, a first estimation that estimates a category corresponding to the query acquired by the acquisition unit based on the category dictionary data And
When the determination unit determines that the query acquired by the acquisition unit does not exist in the category dictionary data, the determination unit is acquired by the acquisition unit based on a model that learns the relationship between the query used for the search and the category. A second estimation unit for estimating a category corresponding to the query,
An information processing apparatus comprising: 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 includes
An end category estimation unit that estimates an end category corresponding to the query acquired by the acquisition unit and located at the end of the tree structure;
An intermediate category estimation unit corresponding to the query acquired by the acquisition unit and estimating an intermediate category located in an intermediate layer of the tree structure,
The information processing apparatus according to claim 1.
前記判定部は、前記末端カテゴリ推定部の推定処理に利用される第1モデルの精度情報に基づいて、前記末端カテゴリ推定部および前記中間カテゴリ推定部のいずれに推定処理を行わせるかを判定する、
請求項2に記載の情報処理装置。
The determination unit determines which of the terminal category estimation unit and the intermediate category estimation unit to perform the estimation process based on accuracy information of the first model used for the estimation process of the terminal category estimation unit. ,
The information processing apparatus according to claim 2.
前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上であるか否かを判定し、
前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上であると判定した場合、前記末端カテゴリ推定部に推定処理を行わせ、
前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上ではないと判定した場合、前記中間カテゴリ推定部に推定処理を行わせる、
請求項3に記載の情報処理装置。
The determination unit determines whether or not the number of queries processed by the acquisition unit is equal to or greater than a threshold,
If the determination unit determines that the number of queries processed by the acquisition unit is greater than or equal to a threshold, the terminal category estimation unit performs an estimation process,
When the determination unit determines that the number of queries processed by the acquisition unit is not equal to or greater than a threshold, the intermediate category estimation unit performs an estimation process.
The information processing apparatus according to claim 3.
前記取得部によって取得されたクエリを単語に分離する分離部をさらに備え、
前記第1推定部は、前記カテゴリ辞書データに基づいて、前記分離部によって分離された単語に対応するカテゴリを、前記取得部によって取得されたクエリに対応するカテゴリとして推定する、
請求項1から4のうちいずれか一項に記載の情報処理装置。
A separation unit that separates the query acquired by the acquisition unit into words;
The first estimating unit estimates a category corresponding to the word separated by the separating unit as a category corresponding to the query obtained by the obtaining unit based on the category dictionary data.
The information processing apparatus according to any one of claims 1 to 4.
前記生成部は、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記分離部によって分離された単語のうち、前記カテゴリ辞書データに存在している単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
請求項5に記載の情報処理装置。
The generation unit, when the determination unit determines that the query acquired by the acquisition unit is present in the category dictionary data, the word existing in the category dictionary data among the words separated by the separation unit And generating information for displaying the search result based on the result of searching the storage device that stores the information to be searched using the remaining words.
The information processing apparatus according to claim 5.
前記カテゴリ辞書データは、前記検索対象のカテゴリ間の関係をツリー構造で表したカテゴリツリーに基づいて定義されている、
請求項1から6のうちいずれか一項に記載の情報処理装置。
The category dictionary data is defined based on a category tree representing a relationship between the search target categories in a tree structure.
The information processing apparatus according to any one of claims 1 to 6.
コンピュータが、
ユーザによって入力されたクエリを取得し、
前記取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定し、
前記取得されたクエリが前記カテゴリ辞書データに存在すると判定された場合、前記カテゴリ辞書データに基づいて、前記取得されたクエリと対応するカテゴリを推定し、
前記取得されたクエリが前記カテゴリ辞書データに存在しないと判定された場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得されたクエリと対応するカテゴリを推定し、
前記カテゴリ辞書データに基づいて判定されたカテゴリまたは前記モデルに基づいて判定されたカテゴリに属する検索結果を表示するための情報を生成する情報処理方法。
Computer
Get the query entered by the user,
It is determined whether the acquired query is present in category dictionary data in which a relationship between queries is represented by a tree structure and each of the queries and a category to be searched are associated with each other.
If it is determined that the acquired query is present in the category dictionary data, a 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, a category corresponding to the acquired query is estimated based on a model that has learned the relationship between the query used for the search and the category. ,
An information processing method for generating information for displaying a search result 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,
Determining whether the acquired query is present in category dictionary data in which relationships between queries are represented in a tree structure and each of the queries and a category to be searched are associated;
When it is determined that the acquired query is present in the category dictionary data, based on the category dictionary data, a category corresponding to the acquired query is estimated,
When it is determined that the acquired query does not exist in the category dictionary data, a category corresponding to the acquired query is estimated based on a model that has learned the relationship between the query used for the search and the category. ,
A program for generating information for displaying a search result 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 true JP2019053681A (en) 2019-04-04
JP6865663B2 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)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097082A (en) * 2006-10-06 2008-04-24 Mitsubishi Electric Corp Voice interaction apparatus
JP2014106927A (en) * 2012-11-29 2014-06-09 Toyota Motor Corp Information processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097082A (en) * 2006-10-06 2008-04-24 Mitsubishi Electric Corp Voice interaction apparatus
JP2014106927A (en) * 2012-11-29 2014-06-09 Toyota Motor Corp Information processing system

Also Published As

Publication number Publication date
JP6865663B2 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
JP6622227B2 (en) User relationship data Search based on combination of user relationship data
CN107609152B (en) Method and apparatus for expanding query expressions
JP6759844B2 (en) Systems, methods, programs and equipment that associate images with facilities
JP5997350B2 (en) Structured search query based on social graph information
TWI582619B (en) Method and apparatus for providing referral words
WO2017024884A1 (en) Search intention identification method and device
JP6130609B2 (en) Client-side search templates for online social networks
JP6415619B2 (en) Analysis device, analysis method, and program
US20160026643A1 (en) Presenting suggested facets
US11675845B2 (en) Identifying merchant data associated with multiple data structures
US20160299951A1 (en) Processing a search query and retrieving targeted records from a networked database system
US9767121B2 (en) Location-based mobile search
JP2017045196A (en) Ambiguity evaluation device, ambiguity evaluation method, and ambiguity evaluation program
CN112000495B (en) Method, electronic device and storage medium for point of interest information management
US10331686B2 (en) Conducting search sessions utilizing navigation patterns
JP6944320B2 (en) Information processing equipment, information processing methods, and programs
JP6568284B1 (en) Providing device, providing method, and providing program
WO2014194440A1 (en) Method and system for providing content with user interface
JP2017072964A (en) Information analyzing apparatus and information analyzing method
JP6865663B2 (en) Information processing equipment, information processing methods, and programs
JP7154253B2 (en) Information processing device, information processing method and program
US20230297621A1 (en) Identifying merchant data associated with multiple data structures
JP7008152B1 (en) Information processing equipment, information processing methods and information processing programs
JP7054745B1 (en) Information processing equipment, information processing methods, and information processing programs
JP2003016345A (en) Method, system and program for providing information corresponding to attribute of user

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