JP2018022214A - Query providing device, query providing method and query providing program - Google Patents

Query providing device, query providing method and query providing program Download PDF

Info

Publication number
JP2018022214A
JP2018022214A JP2016151160A JP2016151160A JP2018022214A JP 2018022214 A JP2018022214 A JP 2018022214A JP 2016151160 A JP2016151160 A JP 2016151160A JP 2016151160 A JP2016151160 A JP 2016151160A JP 2018022214 A JP2018022214 A JP 2018022214A
Authority
JP
Japan
Prior art keywords
query
words
extracted
word
history
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
JP2016151160A
Other languages
Japanese (ja)
Other versions
JP6124489B1 (en
Inventor
晃平 菅原
Kohei Sugawara
晃平 菅原
イショウ チン
Isho Ching
イショウ チン
達洋 丹羽
Tatsuhiro Niwa
達洋 丹羽
ヒンチュン マク
Hing Chun Mak
ヒンチュン マク
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 JP2016151160A priority Critical patent/JP6124489B1/en
Application granted granted Critical
Publication of JP6124489B1 publication Critical patent/JP6124489B1/en
Publication of JP2018022214A publication Critical patent/JP2018022214A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a query providing device, query providing method, and query providing program that can broaden a range of an additional query to be proposed.SOLUTION: A query providing device comprises: a reception unit that receives an input of a first query; a first extraction unit that extracts, from a history of the query preliminarily stored in a storage unit, a second query allowing an amount of characteristic similar to an amount of characteristic of the first query received by the reception unit to be obtained; a second extraction unit that extracts, from the history of the query, a word appearing together with the second query extracted from the first extraction unit; and a determination unit that determines an additional query to be suggested following the first query of the word extracted by the second extraction unit on the basis of information about the appearance of the word extracted by the second extraction unit.SELECTED DRAWING: Figure 1

Description

本発明は、クエリ提供装置、クエリ提供方法、およびクエリ提供プログラムに関する。   The present invention relates to a query providing device, a query providing method, and a query providing program.

クエリに基づいて検索結果を提供する検索サービスが知られている。このサービスでは、クエリが入力された場合に、既に入力されたクエリとアンド検索を行う候補となるクエリを提案することが行われている。   Search services that provide search results based on queries are known. In this service, when a query is input, a query that is a candidate for performing an AND search with an already input query is proposed.

これに関連して、クエリの入力を受け付けた場合に、クエリに含まれる単語と関係性を有する情報を情報テーブルから抽出し、抽出した情報に付されているタグのうち、クエリに含まれる単語と関係性を有する単語にかかるタグを、追加で提案する候補クエリとして抽出する技術が知られている(特許文献1)。また、クエリの入力を受け付けた場合に第1の組のクエリを決定し、第1の組のクエリに基づいて履歴クエリ結果を含むユーザフィードバックログを取得し、ユーザフィードバックログに基づいて第2の組のクエリを決定し、第2の組のクエリに基づいてクエリを実行する技術が知られている(特許文献2)。   In relation to this, when query input is accepted, information having a relationship with the word included in the query is extracted from the information table, and the word included in the query among the tags attached to the extracted information. Is known as a candidate query that is additionally proposed as a candidate query (Patent Document 1). When a query input is accepted, a first set of queries is determined, a user feedback log including a history query result is obtained based on the first set of queries, and a second set of queries is obtained based on the user feedback log. A technique for determining a set of queries and executing a query based on a second set of queries is known (Patent Document 2).

特開2010−286974号公報JP 2010-286974 A 特表2012−515379号公報Special table 2012-515379 gazette

しかしながら、特許文献1に記載された技術では、入力したクエリに関連する情報が関連テーブルに無い場合、またはクエリに含まれる単語と関係性がある単語が関連テーブルに無い場合には、候補クエリを抽出することができない可能性があった。また、特許文献2に記載された技術では、第1の組のクエリに基づく履歴クエリ結果がない場合には、ユーザフィードバックログを取得することができない場合があった。   However, in the technique described in Patent Document 1, if there is no information related to the input query in the related table, or if there is no word related to the word included in the query in the related table, the candidate query is There was a possibility that it could not be extracted. Further, in the technique described in Patent Document 2, when there is no history query result based on the first set of queries, the user feedback log may not be acquired.

本発明は、このような事情を考慮してなされたものであり、提案する追加クエリの範囲を広げることができるクエリ提供装置、クエリ提供方法、およびクエリ提供プログラムを提供することを目的の一つとする。   The present invention has been made in view of such circumstances, and has an object to provide a query providing apparatus, a query providing method, and a query providing program capable of expanding the range of proposed additional queries. To do.

本発明の一態様は、第1のクエリの入力を受け付ける受付部と、予め記憶部に記憶されたクエリの履歴から、前記受付部により受け付けられた前記第1のクエリの特徴量と類似する特徴量が得られる第2のクエリを抽出する第1の抽出部と、前記クエリの履歴から、前記第1の抽出部により抽出された前記第2のクエリに続いて出現する単語を抽出する第2の抽出部と、前記第2の抽出部により抽出された前記単語の出現回数または出現頻度に基づいて、前記第2の抽出部により抽出された前記単語のうち前記第1のクエリに続いてサジェストする追加クエリを決定する決定部と、を備える、クエリ提供装置である。   One aspect of the present invention is a feature that is similar to a feature amount of the first query received by the receiving unit from a receiving unit that receives an input of the first query and a history of queries stored in the storage unit in advance. A first extraction unit that extracts a second query for which a quantity is obtained; and a second that extracts, from the query history, a word that appears following the second query extracted by the first extraction unit. And a suggestion following the first query among the words extracted by the second extraction unit based on the number of appearances or the appearance frequency of the words extracted by the second extraction unit It is a query provision apparatus provided with the determination part which determines the additional query to perform.

本発明の一態様によれば、第1のクエリに対して提案する追加クエリの範囲を広げることができる。   According to one aspect of the present invention, the range of additional queries proposed for the first query can be expanded.

第1実施形態における検索システム1の一例を示す構成図である。It is a lineblock diagram showing an example of search system 1 in a 1st embodiment. クエリログ212の一例を示す図である。It is a figure which shows an example of the query log 212. FIG. ベクトル表現テーブル214の一例を示す図である。5 is a diagram illustrating an example of a vector expression table 214. FIG. 第1の学習処理を示す図である。It is a figure which shows a 1st learning process. 第2の学習処理を示す図である。It is a figure which shows a 2nd learning process. 検索処理の一例を示すシーケンス図である。It is a sequence diagram showing an example of search processing. 検索ページに含まれる検索ウィンドウ400および検索ボタン410の一例を示す図である。It is a figure which shows an example of the search window 400 and the search button 410 which are contained in a search page. 追加クエリの決定処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of an additional query determination process. 追加クエリの決定処理の具体例(1)を示す図である。It is a figure which shows the specific example (1) of the determination process of an additional query. 追加クエリの決定処理の具体例(2)を示す図である。It is a figure which shows the specific example (2) of the determination process of an additional query. 追加クエリの決定処理の他の一例を示すフローチャートである。It is a flowchart which shows another example of the determination process of an additional query. 第2実施形態における検索システム1Aの一例を示す構成図である。It is a lineblock diagram showing an example of search system 1A in a 2nd embodiment. ユーザ端末100、および検索サーバ300のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a user terminal 100 and a search server 300. FIG.

以下、図面を参照し、本発明のクエリ提供装置、クエリ提供方法、およびクエリ提供プログラムの実施形態について説明する。検索サービスにおいて、ユーザ端末などから受け付けたクエリに続いて、追加する単語(追加クエリ)をサジェスト(提案)することで、クエリの入力を補助することが行われている。実施形態の検索システムは、クエリ(以下、第1のクエリ)を受け付けた場合に、クエリの履歴から、受け付けた第1のクエリの特徴量と類似する特徴量のクエリ(以下、第2のクエリ)を抽出する。次に実施形態の検索システムは、第1のクエリとは別に蓄積されたクエリの履歴を参照する。この履歴に含まれるクエリは、複数の単語を含む場合がある。実施形態の検索システム1は、クエリの履歴から、抽出した第2のクエリとともに出現する単語を抽出し、抽出した単語の出現に関する情報に基づいて、抽出した単語のうち、第1のクエリに続いてサジェストする追加クエリを決定する。これにより、実施形態の検索システム1は、第1のクエリに続いて出現するクエリの履歴がない場合であっても、追加クエリをサジェストすることができる。この結果、実施形態の検索システム1によれば、第1のクエリに対して提案する追加クエリの範囲を広げることができる。   Hereinafter, embodiments of a query providing device, a query providing method, and a query providing program according to the present invention will be described with reference to the drawings. In a search service, following a query received from a user terminal or the like, a word to be added (additional query) is suggested (suggested) to assist the input of the query. When a query (hereinafter referred to as a first query) is received, the search system according to the embodiment has a feature amount query similar to the feature amount of the received first query (hereinafter referred to as a second query) from the query history. ). Next, the search system according to the embodiment refers to a history of queries accumulated separately from the first query. The query included in this history may include a plurality of words. The search system 1 of the embodiment extracts words that appear together with the extracted second query from the query history, and follows the first query among the extracted words based on the information related to the appearance of the extracted word. To determine additional queries to suggest. Thereby, the search system 1 of the embodiment can suggest an additional query even when there is no history of queries that appear following the first query. As a result, according to the search system 1 of the embodiment, the range of additional queries proposed for the first query can be expanded.

<第1実施形態>
[検索システム1の構成]
図1は、第1実施形態における検索システム1の一例を示す構成図である。検索システム1は、例えば、一以上のユーザ端末100と、クエリデータベース(DB(DataBase))サーバ200と、検索サーバ300とを備える。図1の例では、一以上のユーザ端末100と、検索サーバ300とが、ネットワークNWに接続されている。また、図1の例では、クエリデータベースサーバ200が検索サーバ300と直接接続されているように示しているが、クエリデータベースサーバ200は検索サーバ300とネットワークNWを介して接続されてもよい。また、クエリデータベースサーバ200と検索サーバ300に含まれる構成要素の一部または全部は、統合されて一つの装置に包含されてもよい。
<First Embodiment>
[Configuration of Search System 1]
FIG. 1 is a configuration diagram illustrating an example of a search system 1 according to the first embodiment. The search system 1 includes, for example, one or more user terminals 100, a query database (DB (DataBase)) server 200, and a search server 300. In the example of FIG. 1, one or more user terminals 100 and a search server 300 are connected to a network NW. In the example of FIG. 1, the query database server 200 is illustrated as being directly connected to the search server 300, but the query database server 200 may be connected to the search server 300 via the network NW. Also, some or all of the components included in the query database server 200 and the search server 300 may be integrated and included in one apparatus.

ネットワークNWに接続されるユーザ端末100および検索サーバ300は、NIC(Network Interface Card)や無線通信モジュールなどの通信インターフェースを備えている(図1では不図示)。ネットワークNWは、例えば、無線基地局、Wi−Fiアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、これらの構成要素の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。   The user terminal 100 and the search server 300 connected to the network NW include a communication interface such as a NIC (Network Interface Card) or a wireless communication module (not shown in FIG. 1). The network NW includes, for example, a wireless base station, a Wi-Fi access point, a communication line, a provider, the Internet, and the like. Note that it is not necessary for all combinations of these components to be able to communicate with each other, and the network NW may partially include a local network.

ユーザ端末100は、ユーザ(一般利用者)によって使用される装置である。ユーザ端末100は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどのコンピュータ装置(通信装置)である。ユーザ端末100は、ウェブブラウザなどのUA(User Agent)が起動し、ユーザによって所定の操作がなされることで、検索サーバ300に対してクエリを含むHTTP(Hypertext Transfer Protocol)リクエストを送信する。そして、ユーザ端末100は、検索サーバ300から返信された検索結果を含むウェブページに基づいてウェブ画面を生成し、表示部に表示させる。なお、画像を取得するための手段として、ウェブブラウザに代えて、任意のアプリケーションプログラムが使用されてもよい。   The user terminal 100 is a device used by a user (general user). The user terminal 100 is a computer device (communication device) such as a mobile phone such as a smartphone, a tablet terminal, or a personal computer, for example. The user terminal 100 transmits an HTTP (Hypertext Transfer Protocol) request including a query to the search server 300 when a user agent (UA) such as a web browser is activated and a user performs a predetermined operation. And the user terminal 100 produces | generates a web screen based on the web page containing the search result returned from the search server 300, and displays it on a display part. An arbitrary application program may be used as a means for acquiring an image instead of the web browser.

クエリデータベースサーバ200は、例えば、クエリ履歴情報記憶部210と、特徴学習部220とを備える。クエリ履歴情報記憶部210は、例えば、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置により実現される。また、クエリ履歴情報記憶部210の一部または全部は、NAS(Network Attached Storage)や外部のストレージサーバなど、クエリデータベースサーバ200がアクセス可能な外部装置であってよい。   The query database server 200 includes, for example, a query history information storage unit 210 and a feature learning unit 220. The query history information storage unit 210 is realized by, for example, an HDD (Hard Disk Drive), a flash memory, a RAM (Random Access Memory), a ROM (Read Only Memory), or a hybrid storage device that combines a plurality of these. . Further, part or all of the query history information storage unit 210 may be an external device accessible by the query database server 200, such as NAS (Network Attached Storage) or an external storage server.

図2は、クエリログ212の一例を示す図である。クエリログ212はクエリ履歴情報記憶部210に記憶される。クエリログ212は、例えば、検索サーバ300によりクエリを受け付けた時刻に対して、検索サーバ300により受け付けられたクエリを示す情報が対応付けられた情報である。クエリとは、文字情報などの一又は複数の検索ワードを含む情報であって、検索サーバ300に検索処理を実行させるための情報である。   FIG. 2 is a diagram illustrating an example of the query log 212. The query log 212 is stored in the query history information storage unit 210. The query log 212 is, for example, information in which information indicating a query accepted by the search server 300 is associated with a time when the query is accepted by the search server 300. A query is information including one or more search words such as character information, and is information for causing the search server 300 to execute a search process.

図3は、ベクトル表現テーブル214の一例を示す図である。ベクトル表現テーブル214は、クエリ履歴情報記憶部210に記憶される。ベクトル表現テーブル214は、k個の単語のそれぞれに対して分散表現によって生成されるp次元のベクトルが対応付けられた情報である。ベクトルは、単語の特徴量の一例である。なお、ベクトル表現テーブル214に含まれる各ベクトルは、特徴学習部220により更新される。ベクトル表現テーブル214において、例えば、単語W1に対してはベクトルV1=(V1−1,V1−2,・・・,V1−p)が対応付けられており、単語W2に対してはベクトルV2=(V2−1,V2−2,・・・,V2−p)が対応付けられており、単語Wkに対してはベクトルVk=(Vk−1,Vk−2,・・・,Vk−p)が対応付けられている。 FIG. 3 is a diagram illustrating an example of the vector expression table 214. The vector expression table 214 is stored in the query history information storage unit 210. The vector expression table 214 is information in which a p-dimensional vector generated by distributed expression is associated with each of k words. A vector is an example of a feature amount of a word. Each vector included in the vector expression table 214 is updated by the feature learning unit 220. In the vector expression table 214, for example, a vector V1 = ( V1-1 , V1-2 ,..., V1 -p ) is associated with the word W1, and with respect to the word W2, Vector V2 = (V 2-1 , V 2-2 ,..., V 2-p ) is associated, and for word Wk, vector Vk = (V k−1 , V k−2 , ..., V k−p ) are associated with each other.

特徴学習部220は、例えば、クエリデータベースサーバ200のプロセッサがプログラムを実行することで実現されてもよいし、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。特徴学習部220は、第1のクエリから抽出した全ての単語をベクトルに変換すると共に、学習処理を行うことで、単語のベクトルを更新する。また、特徴学習部220は、ベクトル表現テーブル214に登録されていない単語が出現した場合、当該単語に初期化したベクトルを付加して、ベクトル表現テーブル214に登録する。   The feature learning unit 220 may be realized, for example, by a processor of the query database server 200 executing a program, an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array). ) Or the like, or may be realized by cooperation of software and hardware. The feature learning unit 220 converts all words extracted from the first query into vectors and updates the word vectors by performing learning processing. In addition, when a word that is not registered in the vector expression table 214 appears, the feature learning unit 220 adds the initialized vector to the word and registers it in the vector expression table 214.

図4は、第1の学習処理を示す図である。検索サーバ300が、単語W1、単語W2、単語W3、単語W4、および単語W5の順で配列された単語を含む第1のクエリを受け付けたものとする。この場合、特徴学習部220は、単語W4を学習する場合、ベクトル表現テーブル214から単語W1〜W3、およびW5のベクトルV1〜V3、およびV5を抽出する。特徴学習部220は、抽出したベクトルV1〜V3、およびV5を加算する。特徴学習部220は、ベクトルV1〜V3、およびV5を加算したベクトルに近づけるように、単語W4のベクトルV2を更新する。第1の学習処理によりベクトルが更新された複数の単語において、ベクトルが近い単語同士は、同じ文脈中で使用される可能性が高い単語同士、または近い意味またはトピックの単語同士と言うことができる。トピックとは、例えば、分野、話題、時期が挙げられる。   FIG. 4 is a diagram illustrating the first learning process. Assume that search server 300 receives a first query including words arranged in the order of word W1, word W2, word W3, word W4, and word W5. In this case, when learning the word W4, the feature learning unit 220 extracts the vectors V1 to V3 and V5 of the words W1 to W3 and W5 from the vector expression table 214. The feature learning unit 220 adds the extracted vectors V1 to V3 and V5. The feature learning unit 220 updates the vector V2 of the word W4 so as to approach the vector obtained by adding the vectors V1 to V3 and V5. Among a plurality of words whose vectors have been updated by the first learning process, words whose vectors are close to each other can be said to be words that are highly likely to be used in the same context, or words of close meaning or topic. . The topic includes, for example, a field, a topic, and a time.

なお、第1の学習処理において、学習対象の単語のベクトル以外の単語のベクトルの全てを加算したが、これに限定されず、学習対象の単語のベクトル以外の任意の単語のベクトルを加算してよい。特徴学習部220は、例えば、学習対象の単語のベクトル以外の単語をランダムに選択し、選択した単語のベクトルを加算する。   In the first learning process, all the word vectors other than the learning target word vector are added. However, the present invention is not limited to this, and an arbitrary word vector other than the learning target word vector is added. Good. For example, the feature learning unit 220 randomly selects words other than the vector of words to be learned, and adds the vectors of the selected words.

図5は、第2の学習処理を示す図である。第2の学習処理は、例えば、再帰型ニューラルネットワークRNN(Recurrent Neural Network)により実現される。検索サーバ300が、単語W1、単語W2、および単語W3の順で配列された単語を含む検索する第1のクエリを受け付けたものとする。この場合、特徴学習部220は、先頭の単語W1に基づいて単語W1に続く単語W2を予測するアルゴリズムf(V1)により演算されるベクトルV2#を演算する。特徴学習部220は、演算したベクトルV2#に近づけるように、単語W2のベクトルV2を更新する。同様に、特徴学習部220は、単語W2に基づいて単語W2に続く単語W3を予測するアルゴリズムf(V2)により演算されるベクトルV3#を演算する。特徴学習部220は、演算したベクトルV3#に近づけるように、単語W3のベクトルV3を更新する。第2の学習処理によりベクトルが更新された複数の単語において、ベクトルが近い単語同士は、同じ文脈の次に使用される可能性が高い単語同士、または近い意味またはトピックの単語同士と言うことができる。   FIG. 5 is a diagram illustrating the second learning process. The second learning process is realized by, for example, a recursive neural network RNN (Recurrent Neural Network). It is assumed that the search server 300 receives a first query for searching including words arranged in the order of the word W1, the word W2, and the word W3. In this case, the feature learning unit 220 calculates the vector V2 # calculated by the algorithm f (V1) that predicts the word W2 that follows the word W1 based on the leading word W1. The feature learning unit 220 updates the vector V2 of the word W2 so as to approach the calculated vector V2 #. Similarly, the feature learning unit 220 calculates a vector V3 # calculated by an algorithm f (V2) that predicts a word W3 following the word W2 based on the word W2. The feature learning unit 220 updates the vector V3 of the word W3 so as to approach the calculated vector V3 #. Among a plurality of words whose vectors have been updated by the second learning process, words having similar vectors may be said to be words that are likely to be used next in the same context, or words having close meanings or topics. it can.

(検索サーバ300の構成)
検索サーバ300は、図1に示すように、例えば、検索部310と、クエリ提供部320とを備える。検索部310およびクエリ提供部320は、例えば、検索サーバ300のプロセッサがプログラムを実行することで実現されてもよいし、LSI、ASIC、FPGAなどのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
(Configuration of search server 300)
As illustrated in FIG. 1, the search server 300 includes, for example, a search unit 310 and a query providing unit 320. The search unit 310 and the query providing unit 320 may be realized by, for example, a processor of the search server 300 executing a program, may be realized by hardware such as LSI, ASIC, FPGA, or software. It may be realized by cooperation of hardware.

検索部310は、第1のクエリを解釈し、解釈した結果に基づいて検索処理を行う。検索部310は、検索処理を行った結果としての検索結果をユーザ端末100に返信する。   The search unit 310 interprets the first query and performs a search process based on the interpreted result. The search unit 310 returns a search result as a result of the search process to the user terminal 100.

クエリ提供部320は、例えば、クエリ受付部322と、第1クエリ抽出部324と、第2クエリ抽出部326と、クエリ決定部328とを備える。クエリ受付部322は、ユーザ端末100から受信した第1のクエリを解釈することにより、第1のクエリを受け付ける。第1クエリ抽出部324は、クエリ履歴情報記憶部210に記憶されたクエリの履歴から、第1のクエリの特徴量と類似する特徴量が得られる第2のクエリを抽出する。第2クエリ抽出部326は、クエリ履歴情報記憶部210に記憶されたクエリの履歴から、第2のクエリとともに出現する単語を抽出する。クエリ決定部328は、抽出された単語の出現に関する情報に基づいて、抽出された単語のうち第1のクエリに続いてサジェストする追加クエリを決定する。   The query providing unit 320 includes, for example, a query receiving unit 322, a first query extracting unit 324, a second query extracting unit 326, and a query determining unit 328. The query receiving unit 322 receives the first query by interpreting the first query received from the user terminal 100. The first query extraction unit 324 extracts, from the query history stored in the query history information storage unit 210, a second query that provides a feature quantity similar to the feature quantity of the first query. The second query extraction unit 326 extracts words that appear together with the second query from the query history stored in the query history information storage unit 210. The query determination unit 328 determines an additional query to be suggested following the first query among the extracted words based on the information related to the appearance of the extracted words.

第2のクエリとともに出現する単語とは、第2のクエリに続いて出現する単語、第2のクエリに他の単語が挿入され、挿入された単語に続く単語、および第2のクエリの前に出現する単語を含む。単語の出現に関する情報は、単語が出現することに変化しうる情報である。単語の出現に関する情報は、例えば、単語の出現回数、単語の出現頻度、単語の出現間隔、単語の出現回数および出現頻度の単位時間(例えば1週間)当たりの変化率、これらの単語の出現に関する情報を関数で演算した値が含まれる。単語の出現に関する情報を関数で演算した値は、例えば、単純移動平均値、加重移動平均値、平滑移動平均値など、出現の傾向を分析する各種の値が含まれる。   Words that appear with the second query are words that appear following the second query, other words inserted in the second query, words that follow the inserted word, and before the second query Contains words that appear. The information regarding the appearance of a word is information that can change when a word appears. Information on the appearance of words includes, for example, the number of appearances of words, the appearance frequency of words, the appearance interval of words, the number of appearances of words and the rate of change of appearance frequency per unit time (for example, one week), and the appearance of these words. Contains values obtained by calculating information with functions. The value obtained by calculating information related to the appearance of a word with a function includes various values for analyzing the tendency of appearance, such as a simple moving average value, a weighted moving average value, and a smooth moving average value.

[検索処理]
図6は、検索処理の一例を示すシーケンス図である。まず、ユーザ端末100は、ユーザの操作に基づいて、検索ページを表示させるための指示を受け付ける。検索ページとは、例えば、検索サーバ300によって提供される検索サービスを利用するためのサイトのウェブページである。ユーザ端末100は、受け付けた指示に基づいて、HTTPリクエストを検索サーバ300に送信する(S10)。
[Search processing]
FIG. 6 is a sequence diagram illustrating an example of search processing. First, the user terminal 100 receives an instruction to display a search page based on a user operation. The search page is, for example, a web page of a site for using a search service provided by the search server 300. The user terminal 100 transmits an HTTP request to the search server 300 based on the received instruction (S10).

検索サーバ300は、ユーザ端末100からHTTPリクエストを受信した場合、検索ページを表示させるための情報を生成し(S12)、生成した検索ページを表示させるための情報をユーザ端末100に返信する(S14)。検索ページを表示させるための情報は、例えば、HTML(HyperText Markup Language)等が記述されたテキストデータや、スタイルシート、画像データなどの情報を含む。   When receiving an HTTP request from the user terminal 100, the search server 300 generates information for displaying the search page (S12), and returns information for displaying the generated search page to the user terminal 100 (S14). ). The information for displaying the search page includes, for example, text data describing HTML (HyperText Markup Language), style sheets, image data, and the like.

ユーザ端末100は、検索サーバ300から検索ページを表示させるための情報を受信すると、受信した情報を用いて、検索ページを表示させる(S16)。図7は、検索ページに含まれる検索ウィンドウ400および検索ボタン410の一例を示す図である。ユーザ端末100は、ユーザの操作に基づいて検索ウィンドウ400に入力された第1のクエリを受け付け、受け付けた第1のクエリを検索サーバ300に送信する(S18)。   When receiving the information for displaying the search page from the search server 300, the user terminal 100 displays the search page using the received information (S16). FIG. 7 is a diagram illustrating an example of the search window 400 and the search button 410 included in the search page. The user terminal 100 receives the first query input to the search window 400 based on the user's operation, and transmits the received first query to the search server 300 (S18).

検索サーバ300は、ユーザ端末100から第1のクエリを受信した場合、受信した第1のクエリに基づいて追加クエリを決定し(S20)、決定した追加クエリをユーザ端末100に送信する(S22)。なお、検索サーバ300は、第1のクエリに続いて追加された文字を認識した場合、追加クエリのうち、認識した文字を頭文字として含むクエリをユーザ端末100に送信してもよい。   When receiving the first query from the user terminal 100, the search server 300 determines an additional query based on the received first query (S20), and transmits the determined additional query to the user terminal 100 (S22). . Note that, when the search server 300 recognizes a character added following the first query, the search server 300 may transmit a query including the recognized character as an initial character to the user terminal 100 among the additional queries.

ユーザ端末100は、検索サーバ300から追加クエリを受信した場合、既に受け付けた第1のクエリに加えて、追加クエリを表示する(S24)。このとき、ユーザ端末100は、追加クエリを含む入力補助用のウィンドウ420を表示させる。ユーザ端末100は、第1のクエリを指定した状態で、検索ボタン410を選択する操作を受け付けた場合、第1のクエリを含む検索要求を検索サーバ300に送信する(S26)。   When receiving the additional query from the search server 300, the user terminal 100 displays the additional query in addition to the already accepted first query (S24). At this time, the user terminal 100 displays an input assistance window 420 including an additional query. When the user terminal 100 receives an operation for selecting the search button 410 in a state where the first query is specified, the user terminal 100 transmits a search request including the first query to the search server 300 (S26).

検索サーバ300は、検索要求に含まれる第1のクエリに基づいて、検索処理を行う(S28)。検索サーバ300は、検索処理において、第1のクエリによって示される検索ワードが含まれるページの一覧を、検索結果として生成する。その後、検索サーバ300は、生成した検索結果をユーザ端末100に送信する(S30)。   The search server 300 performs a search process based on the first query included in the search request (S28). In the search process, the search server 300 generates a list of pages including the search word indicated by the first query as a search result. Thereafter, the search server 300 transmits the generated search result to the user terminal 100 (S30).

ユーザ端末100は、検索サーバ300から検索結果を受信すると、受信した検索結果を表示する(S32)。   When receiving the search result from the search server 300, the user terminal 100 displays the received search result (S32).

[追加クエリの決定処理]
図8は、追加クエリの決定処理の流れの一例を示すフローチャートである。まず、検索サーバ300は、ユーザ端末100から第1のクエリを受け付けたか否かを判定する(S100)。検索サーバ300は、第1のクエリを受け付けた場合、クエリ履歴情報記憶部210におけるクエリログ212を参照して、第1のクエリに続いて出現した単語の履歴があるか否かを判定する(S102)。
[Additional query determination process]
FIG. 8 is a flowchart illustrating an example of the flow of additional query determination processing. First, the search server 300 determines whether or not a first query has been received from the user terminal 100 (S100). When the search server 300 receives the first query, the search server 300 refers to the query log 212 in the query history information storage unit 210 to determine whether there is a history of words that have appeared following the first query (S102). ).

検索サーバ300は、第1のクエリに続いて出現した単語の履歴がある場合、履歴がある単語を追加クエリとしてクエリ履歴情報記憶部210から取得し、取得した追加クエリをユーザ端末100に送信する。これにより、検索サーバ300は、追加クエリをサジェストする(S104)。   When there is a history of words that appear following the first query, the search server 300 acquires a word with history from the query history information storage unit 210 as an additional query, and transmits the acquired additional query to the user terminal 100. . Thereby, the search server 300 suggests an additional query (S104).

検索サーバ300は、第1のクエリに続いて出現した単語の履歴がない場合、第1のクエリのベクトルを算出する(S106)。検索サーバ300は、第1のクエリに含まれる単語が1つである場合、当該単語に対応するベクトルをベクトル表現テーブル214から取得する。検索サーバ300は、第1のクエリに含まれる単語が複数である場合、複数の単語に対応するベクトルをベクトル表現テーブル214からそれぞれ取得し、取得した複数のベクトルを加算する。   When there is no history of words that appear following the first query, the search server 300 calculates a vector of the first query (S106). When the search server 300 includes one word included in the first query, the search server 300 acquires a vector corresponding to the word from the vector expression table 214. When there are a plurality of words included in the first query, the search server 300 acquires vectors corresponding to the plurality of words from the vector expression table 214, and adds the acquired vectors.

次に検索サーバ300は、クエリ履歴情報記憶部210から、加算した結果得た第1のクエリのベクトルから所定範囲のベクトルの第2のクエリを抽出する(S108)。所定範囲は、第1のクエリと同じ文脈で使用される可能性が高いクエリ、および第1のクエリと意味またはトピックが近いクエリを抽出できるよう設定されている。   Next, the search server 300 extracts, from the query history information storage unit 210, a second query having a predetermined range of vectors from the first query vector obtained as a result of the addition (S108). The predetermined range is set so that a query that is likely to be used in the same context as the first query and a query that is similar in meaning or topic to the first query can be extracted.

検索サーバ300は、第1のクエリのベクトルから所定範囲のベクトルの第2のクエリとして、第1のクエリに含まれる単語数と同じ単語数の第2のクエリをクエリ履歴情報記憶部210から抽出してもよい。これにより、検索サーバ300は、第1のクエリと同じ文脈で使用される可能性が高いクエリ、および第1のクエリと意味が近いクエリを抽出する精度を高くすることができる。   The search server 300 extracts, from the query history information storage unit 210, a second query having the same number of words as the number of words included in the first query as a second query having a predetermined range of vectors from the first query vector. May be. Thereby, the search server 300 can increase the accuracy of extracting a query that is highly likely to be used in the same context as the first query and a query that has a meaning similar to that of the first query.

次に検索サーバ300は、クエリ履歴情報記憶部210から、抽出した第2のクエリとともに出現する単語を抽出する(S110)。検索サーバ300は、例えば、第1のクエリに含まれる単語数が2であり、S108において抽出した第2のクエリに含まれる単語数が2である場合、抽出した第2のクエリの2個の単語とともに出現する履歴がある単語を取得する。   Next, the search server 300 extracts words that appear together with the extracted second query from the query history information storage unit 210 (S110). For example, when the number of words included in the first query is two and the number of words included in the second query extracted in S108 is two, the search server 300 has two words of the extracted second query. Get a word that has a history of appearing with the word.

次に検索サーバ300は、抽出した単語の統計値を算出する(S112)。検索サーバ300は、例えば、S108において抽出した単語が、第2のクエリとともに出現した回数を、単語の統計値として算出する。また、検索サーバ300は、単語の出現回数に代えて、抽出した全単語の出現回数に対する各単語の出現回数の割合を、各単語の出現頻度として算出してもよく、さらには出現に関する情報を算出してもよい。   Next, the search server 300 calculates the statistical value of the extracted word (S112). For example, the search server 300 calculates the number of times that the word extracted in S108 has appeared together with the second query as a statistical value of the word. Further, the search server 300 may calculate the ratio of the number of appearances of each word with respect to the number of appearances of all the extracted words instead of the number of appearances of the word as the appearance frequency of each word, It may be calculated.

次に検索サーバ300は、算出した統計値に基づいて、追加クエリを決定する(S114)。検索サーバ300は、例えば、S108において抽出した単語のうち、出現回数または出現頻度が上位の10個の単語を追加クエリとして決定する。   Next, the search server 300 determines an additional query based on the calculated statistical value (S114). For example, among the words extracted in S108, the search server 300 determines the ten words having the highest appearance frequency or appearance frequency as additional queries.

次に検索サーバ300は、決定した追加クエリをユーザ端末100に送信することで、追加クエリをサジェストする(S116)。   Next, the search server 300 suggests the additional query by transmitting the determined additional query to the user terminal 100 (S116).

(追加クエリの決定処理の具体例(1))
図9は、追加クエリの決定処理の具体例(1)を示す図である。検索サーバ300は、例えば、「六本木 イルミネーション」という2つの単語を含む第1のクエリを受け付けた場合、「六本木」のベクトルV1および「イルミネーション」のベクトルV2を取得して、ベクトルV1とベクトルV2とを加算する。
(Specific example of additional query determination process (1))
FIG. 9 is a diagram illustrating a specific example (1) of the additional query determination process. For example, when the search server 300 receives a first query including two words “Roppongi Illumination”, the search server 300 obtains a vector V1 of “Roppongi” and a vector V2 of “Illumination” to obtain a vector V1 and a vector V2. Is added.

次に検索サーバ300は、算出したベクトル(V1+V2)から所定範囲のベクトルの第2のクエリをクエリ履歴情報記憶部210から抽出した結果として、「名古屋 イルミネーション」、「東京 イルミネーション」を含む複数の第2のクエリを取得する。図中、V3はクエリ「名古屋 イルミネーション」のベクトル、V4は「東京 イルミネーション」のベクトルであって、ベクトル(V1+V2)から所定範囲の値を有する。   Next, the search server 300 extracts a second query of a vector within a predetermined range from the calculated vector (V1 + V2) as a result of extracting from the query history information storage unit 210 a plurality of second queries including “Nagoya Illumination” and “Tokyo Illumination”. Get 2 queries. In the figure, V3 is a vector of the query “Nagoya Illumination”, V4 is a vector of “Tokyo Illumination”, and has a value within a predetermined range from the vector (V1 + V2).

次に検索サーバ300は、抽出した第2のクエリとともに出現する単語の統計結果として、単語「2013」に対してスコア1(例えば出現回数=38)、単語「時間」に対してスコア2(例えば出現回数=32)、単語「混雑」に対してスコア3(例えば出現回数=23)を算出する。次に検索サーバ300は、統計結果に基づいて、第1のクエリに対する追加クエリとして、スコアが最も高い単語「時間」をサジェストする。   Next, the search server 300 has a score of 1 for the word “2013” (for example, the number of appearances = 38) and a score of 2 for the word “time” (for example, as statistical results of the words that appear with the extracted second query. The appearance count = 32), and score 3 (for example, appearance count = 23) is calculated for the word “crowded”. Next, the search server 300 suggests the word “time” having the highest score as an additional query for the first query based on the statistical result.

(追加クエリの決定処理の具体例(2))
図10は、追加クエリの決定処理の具体例(2)を示す図である。検索サーバ300は、例えば、「六本木 イルミネーション」という2つの単語を含む第1のクエリを受け付けた場合、「六本木」のベクトルV1および「イルミネーション」のベクトルV2を取得して、ベクトルV1とベクトルV2とを加算する。
(Specific example of determination process of additional query (2))
FIG. 10 is a diagram illustrating a specific example (2) of the additional query determination process. For example, when the search server 300 receives a first query including two words “Roppongi Illumination”, the search server 300 obtains a vector V1 of “Roppongi” and a vector V2 of “Illumination” to obtain a vector V1 and a vector V2. Is added.

次に検索サーバ300は、算出したベクトル(V1+V2)から所定範囲のベクトルの第2のクエリをクエリ履歴情報記憶部210から抽出した結果として、「点灯式」、「点灯時間」を含む複数の第2のクエリを取得する。図中、V11はクエリ「点灯式」のベクトル、V12は「点灯時間」のベクトルであって、ベクトル(V1+V2)から所定範囲の値を有する。   Next, the search server 300 extracts a second query of a vector within a predetermined range from the calculated vector (V1 + V2) as a result of extracting from the query history information storage unit 210 a plurality of second queries including “lighting type” and “lighting time”. Get 2 queries. In the figure, V11 is a query “lighting expression” vector, V12 is a “lighting time” vector, and has a value within a predetermined range from the vector (V1 + V2).

次に検索サーバ300は、抽出した第2のクエリとともに出現する単語の統計結果として、単語「W11」に対してスコア1、単語「W12」に対してスコア2、単語「W13」に対してスコア3を算出する。次に検索サーバ300は、統計結果に基づいて、第1のクエリに対する追加クエリとして、スコアが最も高い単語「W1」をサジェストする。   Next, as a statistical result of the words appearing together with the extracted second query, the search server 300 has a score of 1 for the word “W11”, a score of 2 for the word “W12”, and a score for the word “W13”. 3 is calculated. Next, the search server 300 suggests the word “W1” having the highest score as an additional query for the first query based on the statistical result.

[変形例1]
検索サーバ300は、第1のクエリに複数の単語が含まれる場合、第1のクエリに含まれる単語のベクトルを加算することに代えて、第1のクエリに含まれる単語のベクトルの平均値を、第1のクエリのベクトルとして算出してもよい。第1のクエリに多数の単語が含まれている場合、多数の単語のベクトルを加算することとなり、加算したベクトルから所定範囲のベクトルの第2のクエリがクエリログ212に登録されていない可能性がある。これに対し、検索サーバ300は、第1のクエリに含まれる単語のベクトルの平均値から所定範囲のベクトルの第2のクエリをクエリログ212から抽出する。検索サーバ300は、抽出した第2のクエリに基づく統計処理の結果に基づいて追加クエリを決定する。
[Modification 1]
When a plurality of words are included in the first query, the search server 300 uses the average value of the word vectors included in the first query instead of adding the word vectors included in the first query. , May be calculated as a vector of the first query. When a large number of words are included in the first query, vectors of a large number of words are added, and there is a possibility that the second query having a predetermined range of vectors from the added vector is not registered in the query log 212. is there. In contrast, the search server 300 extracts, from the query log 212, a second query of vectors within a predetermined range from the average value of the word vectors included in the first query. The search server 300 determines an additional query based on the result of statistical processing based on the extracted second query.

[変形例2]
図11は、追加クエリの決定処理の他の一例を示すフローチャートである。上述した追加クエリの決定処理において、検索サーバ300は、第1のクエリのベクトルの加算値または平均値に基づいて第2のクエリを抽出した次の処理として、S108において抽出した第2のクエリを絞り込む処理(S200)を行ってもよい。第2のクエリを絞り込む処理において、検索サーバ300は、第1のクエリに含まれる単語の属性と、抽出した第1のクエリに含まれる単語の属性とを比較する。単語の属性は、例えば、特定の場所や地点の種類や名称、施設の種類、施設の名称が挙げられる。
[Modification 2]
FIG. 11 is a flowchart illustrating another example of the additional query determination process. In the additional query determination process described above, the search server 300 uses the second query extracted in S108 as the next process after extracting the second query based on the addition value or average value of the vectors of the first query. A narrowing process (S200) may be performed. In the process of narrowing down the second query, the search server 300 compares the attribute of the word included in the first query with the attribute of the word included in the extracted first query. Examples of the word attributes include the type and name of a specific place or point, the type of facility, and the name of the facility.

検索サーバ300は、例えば、第1のクエリとして「○○温泉 カフェ」を受け付けた場合において、第1のクエリに基づいて抽出した第2のクエリが「△△温泉 カフェ」である場合において、「○○温泉」および「△△温泉」の属性としてそれぞれ「温泉」が対応付けている場合、属性が同じであると判定する。検索サーバ300は、属性が同じ場合、抽出した第2のクエリの絞り込みをせずに、次の処理(S110)において、抽出した第2のクエリを、単語を抽出する処理の対象の第2のクエリとして残す。   For example, when the search server 300 receives “XX hot spring cafe” as the first query and the second query extracted based on the first query is “ΔΔ hot spring cafe”, When “hot spring” and “ΔΔ hot spring” are respectively associated with “hot spring”, it is determined that the attributes are the same. When the attributes are the same, the search server 300 does not narrow down the extracted second query, and in the next process (S110), the extracted second query is the second target of the process for extracting words. Leave as a query.

検索サーバ300は、例えば、クエリとして「○○温泉 カフェ」を受け付けた場合において、第1のクエリに基づいて抽出した第2のクエリが「□□湖 カフェ」である場合において、「○○温泉」の属性と「□□湖」の属性とが異なるので、属性が異なると判定する。検索サーバ300は、属性が異なる場合、抽出した第2のクエリを絞り込みの対象とする。   For example, when the search server 300 receives “XX hot spring cafe” as a query and the second query extracted based on the first query is “□□ lake cafe”, ”And“ □□ Lake ”attributes are different, so the attributes are determined to be different. When the attributes are different, the search server 300 sets the extracted second query as a target for narrowing down.

[第1実施形態の効果]
以上説明した第1実施形態の検索システム1によれば、クエリ履歴情報記憶部210に記憶されたクエリの履歴から、ユーザ端末100から受け付けた第1のクエリのベクトルに近い第2のベクトルのクエリを抽出し、抽出した第2のクエリとともに出現する単語を抽出する。さらに、検索システム1によれば、抽出した単語が、抽出した第2のクエリとともに出現することに関する情報に基づいて、抽出した単語のうち第1のクエリに続いてサジェストする追加クエリを決定する。これにより、検索システム1によれば、第1のクエリに続いて出現する単語がクエリ履歴情報記憶部210に記憶されていない場合であっても、第1のクエリに対して追加クエリをサジェストすることができる。この結果、検索システム1によれば、第1のクエリに対して提案する追加クエリの範囲を広げることができる。このような検索システム1によれば、第1のクエリの入力操作を補助することができ、検索サービスの満足度を向上させることができる。
[Effect of the first embodiment]
According to the search system 1 of the first embodiment described above, the query of the second vector that is close to the vector of the first query received from the user terminal 100 from the query history stored in the query history information storage unit 210. And a word that appears with the extracted second query is extracted. Furthermore, according to the search system 1, based on the information regarding the extracted word appearing with the extracted second query, an additional query to be suggested following the first query is determined among the extracted words. Thereby, according to the search system 1, even if the word that appears following the first query is not stored in the query history information storage unit 210, the additional query is suggested for the first query. be able to. As a result, according to the search system 1, the range of additional queries proposed for the first query can be expanded. According to such a search system 1, the input operation of the first query can be assisted, and the satisfaction of the search service can be improved.

クエリログ212において、第1のクエリに含まれる単語数が多くなるほど、クエリの履歴数が少なくなる。このため、第1のクエリに含まれる単語数が多い場合、第1のクエリに続く単語がクエリログ212に登録されていない可能性が高くなる。これに対し、検索サーバ300は、第1のクエリに続く単語の履歴が登録されていない場合であっても、第1のクエリに対して追加クエリをサジェストすることができる。これにより、検索サーバ300は、追加クエリをサジェストことができない事態を抑制することができる。   In the query log 212, the greater the number of words included in the first query, the smaller the number of query histories. For this reason, when the number of words included in the first query is large, there is a high possibility that words following the first query are not registered in the query log 212. On the other hand, the search server 300 can suggest an additional query for the first query even when the history of words following the first query is not registered. Thereby, the search server 300 can suppress the situation where the additional query cannot be suggested.

また、検索システム1によれば、クエリログ212に登録されたクエリに含まれる単語のベクトルを更新するので、第1のクエリと同じ文脈で使用される可能性が高いクエリ、または、第1のクエリと近い意味またはトピックの第2のクエリとともに出現したことがある単語を、第1のクエリに対する追加クエリとしてサジェストすることができる。これにより、検索システム1によれば、第1のクエリに対して文脈的または意味的(トピック的)に違和感が少ない追加クエリをサジェストすることができる。この結果、検索システム1によれば、検索サービスの満足度を更に向上させることができる。   Moreover, according to the search system 1, since the word vector contained in the query registered in the query log 212 is updated, the query that is highly likely to be used in the same context as the first query, or the first query Words that may have appeared with a second query with a close meaning or topic can be suggested as an additional query to the first query. As a result, according to the search system 1, it is possible to suggest an additional query that is less contextually or semantically (topically) uncomfortable with respect to the first query. As a result, according to the search system 1, the satisfaction of the search service can be further improved.

更に、検索システム1によれば、第1のクエリに含まれる単語数と同じ単語数の第2のクエリをクエリ履歴情報記憶部210から抽出するので、第1のクエリに対して文脈的または意味的(トピック的)に違和感が少ない単語を追加クエリとして抽出する精度を高くすることができる。   Furthermore, according to the search system 1, the second query having the same number of words as the number of words included in the first query is extracted from the query history information storage unit 210. It is possible to increase the accuracy of extracting words that are less uncomfortable (topical) as additional queries.

さらに、検索システム1によれば、第1のクエリに複数の単語が含まれる場合、第1のクエリに含まれる単語の属性と、抽出した第2のクエリに含まれる単語の属性とに基づいて、抽出した第2のクエリを絞り込むので、第1のクエリに意味的(トピック的)に近い第2のクエリに絞り込んで追加クエリをサジェストすることができる。   Furthermore, according to the search system 1, when a plurality of words are included in the first query, based on the attribute of the word included in the first query and the attribute of the word included in the extracted second query. Since the extracted second query is narrowed down, it is possible to suggest additional queries by narrowing down to the second query that is close to the semantic (topic) of the first query.

<第2実施形態>
以下、第2実施形態について説明する。第2実施形態の検索システム1Aは、抽出した第2のクエリとともに出現する単語の回数または頻度などの出現に関する情報に、ユーザ情報に基づく重みを付けて、統計処理を行う点で、第1実施形態とは異なる。以下、この点を中心に説明する。
Second Embodiment
Hereinafter, a second embodiment will be described. The search system 1A according to the second embodiment is the first implementation in that statistical processing is performed by assigning weights based on user information to information related to appearance such as the number or frequency of words appearing with the extracted second query. Different from form. Hereinafter, this point will be mainly described.

図12は、第2実施形態における検索システム1Aの一例を示す構成図である。検索システム1Aは、ユーザ情報データベースサーバ500を備える。ユーザ情報データベースサーバ500は、例えば、ユーザIDに、属性、検索履歴、閲覧履歴などのユーザ情報を対応付けたデータベースを記憶している。   FIG. 12 is a configuration diagram illustrating an example of a search system 1A according to the second embodiment. The search system 1A includes a user information database server 500. The user information database server 500 stores, for example, a database in which user information such as an attribute, a search history, and a browsing history is associated with a user ID.

検索サーバ300Aは、検索サービスを提供するために、ユーザ端末100からユーザIDを受信した場合、ユーザIDに対応付けられたユーザ情報をユーザ情報データベースサーバ500から取得する。検索サーバ300は、第1のクエリを入力する操作を行ったユーザの属性に基づいて、第2のクエリに基づいて抽出された単語の重み付けを設定する。検索サーバ300は、例えば、ユーザの属性として「女性」がユーザ情報データベースサーバ500に登録されている場合、ユーザ属性が「女性」のユーザに選択された回数が多い単語または頻度が高い単語に対する重み付けを高くする。検索サーバ300は、第1のクエリを入力する操作を行ったユーザの検索履歴に基づいて、第2のクエリに基づいて抽出された単語の重み付けを設定する。検索サーバ300は、例えば、抽出された単語と、ユーザ情報データベースサーバ500に登録されている検索履歴とを比較する。検索サーバ300は、抽出された単語が検索履歴に含まれている場合、当該単語に対する重み付けを高くする。   When the search server 300 </ b> A receives a user ID from the user terminal 100 in order to provide a search service, the search server 300 </ b> A acquires user information associated with the user ID from the user information database server 500. The search server 300 sets the weight of the word extracted based on the second query based on the attribute of the user who performed the operation of inputting the first query. For example, when “female” is registered in the user information database server 500 as an attribute of the user, the search server 300 weights a word that is frequently selected or frequently used by a user whose user attribute is “female”. To increase. The search server 300 sets the weight of the word extracted based on the second query based on the search history of the user who performed the operation of inputting the first query. For example, the search server 300 compares the extracted word with a search history registered in the user information database server 500. When the extracted word is included in the search history, the search server 300 increases the weighting for the word.

検索サーバ300Aは、ユーザ情報に基づいて単語に設定した重み付けを当該単語の出現回数または出現頻度に乗算して、統計値を算出する。これにより、検索サーバ300Aは、高い重み付けを設定した単語の統計値を、低い重み付けが設定された単語の統計値よりも高い値にする。   The search server 300A calculates a statistical value by multiplying the weight set for the word based on the user information by the number of appearances or the appearance frequency of the word. Thereby, the search server 300A sets the statistical value of the word set with high weighting to a value higher than the statistical value of the word set with low weighting.

以上説明した第2実施形態の検索システム1Aによれば、ユーザ情報に基づいて抽出した単語の重み付けを変化させるので、統計処理の結果に加えて検索サービスをうけるユーザにとって好ましい追加クエリをサジェストすることができる。   According to the search system 1A of the second embodiment described above, the weight of the extracted word is changed based on the user information, so that an additional query preferable for the user who receives the search service is suggested in addition to the result of the statistical processing. Can do.

<ハードウェア構成>
図13は、ユーザ端末100、および検索サーバ300のハードウェア構成の一例を示す図である。本図は、ユーザ端末100がスマートフォンなどの携帯電話である例を示している。ユーザ端末100は、例えば、CPU101、RAM102、ROM103、フラッシュメモリなどの二次記憶装置104、タッチパネル105、および無線通信モジュール106が、内部バスあるいは専用通信線によって相互に接続された構成となっている。旅行予約サービスに関連するアプリケーションプログラムは、ネットワークNWを介してダウンロードされ、二次記憶装置104に格納される。
<Hardware configuration>
FIG. 13 is a diagram illustrating an example of a hardware configuration of the user terminal 100 and the search server 300. This figure shows an example in which the user terminal 100 is a mobile phone such as a smartphone. The user terminal 100 has a configuration in which, for example, a CPU 101, a RAM 102, a ROM 103, a secondary storage device 104 such as a flash memory, a touch panel 105, and a wireless communication module 106 are connected to each other via an internal bus or a dedicated communication line. . An application program related to the travel reservation service is downloaded via the network NW and stored in the secondary storage device 104.

検索サーバ300は、例えば、NIC301、CPU302、RAM303、ROM304、フラッシュメモリやHDDなどの二次記憶装置305、およびドライブ装置306が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置306には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置305、またはドライブ装置306に装着された可搬型記憶媒体に記憶されたプログラムがDMAコントローラ(不図示)などによってRAM303に展開され、CPU302によって実行されることで、検索サーバ300の機能部が実現される。   The search server 300 has a configuration in which, for example, a NIC 301, a CPU 302, a RAM 303, a ROM 304, a secondary storage device 305 such as a flash memory or an HDD, and a drive device 306 are connected to each other via an internal bus or a dedicated communication line. . The drive device 306 is loaded with a portable storage medium such as an optical disk. The program stored in the portable storage medium attached to the secondary storage device 305 or the drive device 306 is expanded in the RAM 303 by a DMA controller (not shown) or the like and executed by the CPU 302, whereby the function of the search server 300 is achieved. Part is realized.

以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。   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、1A…検索システム
100…ユーザ端末
200…検索クエリデータベースサーバ
210…クエリ履歴情報記憶部
212…クエリログ
214…ベクトル表現テーブル
220…特徴学習部
300、300A…検索サーバ
310…検索部
320…クエリ提供部
322…クエリ受付部
324…第1クエリ抽出部
326…第2クエリ抽出部
328…クエリ決定部
500…ユーザ情報データベースサーバ
DESCRIPTION OF SYMBOLS 1, 1A ... Search system 100 ... User terminal 200 ... Search query database server 210 ... Query history information storage part 212 ... Query log 214 ... Vector expression table 220 ... Feature learning part 300, 300A ... Search server 310 ... Search part 320 ... Query provision Unit 322 ... Query accepting unit 324 ... First query extracting unit 326 ... Second query extracting unit 328 ... Query determining unit 500 ... User information database server

Claims (12)

第1のクエリの入力を受け付ける受付部と、
予め記憶部に記憶されたクエリの履歴から、前記受付部により受け付けられた前記第1のクエリの特徴量と類似する特徴量が得られる第2のクエリを抽出する第1の抽出部と、
前記クエリの履歴から、前記第1の抽出部により抽出された第2のクエリとともに出現する単語を抽出する第2の抽出部と、
前記第2の抽出部により抽出された前記単語の出現に関する情報に基づいて、前記第2の抽出部により抽出された前記単語のうち前記第1のクエリに続いてサジェストする追加クエリを決定する決定部と、
を備える、クエリ提供装置。
A reception unit that receives input of the first query;
A first extraction unit that extracts a second query from which a feature amount similar to the feature amount of the first query received by the reception unit is obtained from a history of queries stored in advance in the storage unit;
A second extraction unit that extracts words appearing together with the second query extracted by the first extraction unit from the history of the query;
A decision to determine an additional query to be suggested subsequent to the first query among the words extracted by the second extraction unit based on information on the appearance of the word extracted by the second extraction unit; And
A query providing device comprising:
前記第1の抽出部は、前記クエリの履歴に、前記第1のクエリとともに出現するクエリが存在するか否かを判定し、存在しない場合に、前記第2のクエリを抽出する、
請求項1に記載のクエリ提供装置。
The first extraction unit determines whether there is a query that appears with the first query in the history of the query, and extracts the second query if it does not exist.
The query providing device according to claim 1.
前記決定部は、前記クエリの履歴に前記第1のクエリとともに出現するクエリが存在すると判定された場合に、前記クエリの履歴に含まれ第1のクエリに続いて存在する単語を、前記追加クエリとして決定する、
請求項2に記載のクエリ提供装置。
When it is determined that there is a query that appears together with the first query in the history of the query, the determination unit determines a word that is included in the history of the query and that exists following the first query as the additional query. As determined,
The query providing device according to claim 2.
前記第1の抽出部は、前記第1のクエリに含まれる単語数と同じ単語数のクエリを前記第2のクエリとして抽出する、
請求項1〜3のうちいずれか1項に記載のクエリ提供装置。
The first extraction unit extracts, as the second query, a query having the same number of words as the number of words included in the first query.
The query providing device according to any one of claims 1 to 3.
前記第1の抽出部は、前記抽出した第2のクエリに複数の単語が含まれる場合、前記第1のクエリに含まれる前記単語の属性と、前記第2のクエリに含まれる単語の属性とに基づいて、前記第2のクエリを絞り込む、
請求項1から4のうちいずれか1項に記載のクエリ提供装置。
When the extracted second query includes a plurality of words, the first extraction unit includes an attribute of the word included in the first query and an attribute of the word included in the second query. Narrow down the second query based on
The query providing device according to any one of claims 1 to 4.
前記第1の抽出部は、前記第1のクエリに複数の単語が含まれる場合、前記単語の特徴量同士を加算した値を、前記第1のクエリの特徴量として算出する、
請求項1から4のうちいずれか1項に記載のクエリ提供装置。
When the first query includes a plurality of words, the first extraction unit calculates a value obtained by adding the feature quantities of the words as a feature quantity of the first query.
The query providing device according to any one of claims 1 to 4.
前記第1の抽出部は、前記第1のクエリに複数の単語が含まれる場合、前記単語の特徴量の平均値を、前記第1のクエリの特徴量として算出する、
請求項1から4のうちいずれか1項に記載のクエリ提供装置。
When the first query includes a plurality of words, the first extraction unit calculates an average value of feature values of the words as a feature value of the first query.
The query providing device according to any one of claims 1 to 4.
前記決定部は、前記第2の抽出部により抽出された前記第2のクエリとともに出現した単語の出現回数または出現頻度の統計値を算出し、算出した前記統計値に基づいて、前記追加クエリを決定する、
請求項1から7のうちいずれか1項に記載のクエリ提供装置。
The determination unit calculates a statistical value of the number of appearances or the appearance frequency of the words that appear together with the second query extracted by the second extraction unit, and determines the additional query based on the calculated statistical value. decide,
The query providing device according to any one of claims 1 to 7.
前記決定部は、前記第1のクエリを入力する操作を行ったユーザの属性に基づいて、前記第2の抽出部により抽出された前記単語の前記第2のクエリとともに出現する回数または頻度に対する重み付けを変化させて前記統計値を算出する、
請求項8に記載のクエリ提供装置。
The determination unit weights the frequency or frequency of appearance of the word extracted together with the second query of the word extracted by the second extraction unit based on an attribute of a user who has performed an operation of inputting the first query. To calculate the statistical value by changing
The query providing device according to claim 8.
前記決定部は、前記第1のクエリを入力する操作を行ったユーザの検索履歴に基づいて、前記第2の抽出部により抽出された前記単語の前記第2のクエリとともに出現する回数または頻度に対する重み付けを変化させて前記統計値を算出する、
請求項8または9に記載のクエリ提供装置。
The determination unit is configured based on a search history of a user who has performed an operation of inputting the first query with respect to the frequency or frequency of the word extracted by the second extraction unit together with the second query. Calculating the statistical value by changing the weight;
The query providing device according to claim 8 or 9.
コンピュータが、
第1のクエリの入力を受け付け、
予め記憶部に記憶されたクエリの履歴から、受け付けた前記第1のクエリの特徴量と類似する特徴量が得られる第2のクエリを抽出し、
前記クエリの履歴から、前記第2のクエリとともに出現する単語を抽出し、
抽出した前記単語の出現に関する情報に基づいて、抽出した前記単語のうち前記第1のクエリに続いてサジェストする追加クエリを決定する、
クエリ提供方法。
Computer
Accept the input of the first query,
From the history of queries stored in the storage unit in advance, extract a second query that can obtain a feature quantity similar to the feature quantity of the received first query,
Extract words that appear with the second query from the history of the query,
Determining an additional query to be suggested subsequent to the first query among the extracted words based on information on the appearance of the extracted words;
Query provision method.
コンピュータに、
第1のクエリの入力を受け付けさせ、
予め記憶部に記憶されたクエリの履歴から、受け付けた前記第1のクエリの特徴量と類似する特徴量が得られる第2のクエリを抽出させ、
前記クエリの履歴から、前記第2のクエリとともに出現する単語を抽出させ、
抽出した前記単語の出現に関する情報に基づいて、抽出した前記単語のうち前記第1のクエリに続いてサジェストする追加クエリを決定させる、
クエリ提供プログラム。
On the computer,
Accept the input of the first query,
From the history of queries stored in the storage unit in advance, a second query that can obtain a feature quantity similar to the feature quantity of the received first query is extracted,
Extracting words that appear with the second query from the history of the query;
Based on the extracted information about the appearance of the word, an additional query to be suggested following the first query among the extracted words is determined.
Query providing program.
JP2016151160A 2016-08-01 2016-08-01 Query providing apparatus, query providing method, and query providing program Active JP6124489B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016151160A JP6124489B1 (en) 2016-08-01 2016-08-01 Query providing apparatus, query providing method, and query providing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016151160A JP6124489B1 (en) 2016-08-01 2016-08-01 Query providing apparatus, query providing method, and query providing program

Publications (2)

Publication Number Publication Date
JP6124489B1 JP6124489B1 (en) 2017-05-10
JP2018022214A true JP2018022214A (en) 2018-02-08

Family

ID=58704639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016151160A Active JP6124489B1 (en) 2016-08-01 2016-08-01 Query providing apparatus, query providing method, and query providing program

Country Status (1)

Country Link
JP (1) JP6124489B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020047126A (en) * 2018-09-20 2020-03-26 Zホールディングス株式会社 Information processing apparatus, information processing method, and information processing program
JP2021005117A (en) * 2019-05-28 2021-01-14 ヤフー株式会社 Specific device, specific method and specific program
JP2021124862A (en) * 2020-02-04 2021-08-30 株式会社カカクコム Information processing device, server, information processing method, and information processing program
JP2022010403A (en) * 2019-02-08 2022-01-14 ヤフー株式会社 Information processing device, information processing method, and information processing program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6965773B2 (en) * 2018-02-02 2021-11-10 日本電信電話株式会社 Presentation device, presentation method and presentation program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334638A (en) * 2003-05-09 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> Additional retrieval word acquiring apparatus and method, program for realizing same, and recording medium with its program stored
JP2008242623A (en) * 2007-03-26 2008-10-09 Fujitsu Ltd Retrieval candidate phrase presenting device, retrieval candidate phrase presenting program, and retrieval candidate phrase presenting method
JP2009075662A (en) * 2007-09-18 2009-04-09 Fuji Xerox Co Ltd Retrieval support device
JP2010198577A (en) * 2009-02-27 2010-09-09 Yahoo Japan Corp Retrieval device and method
JP2011180836A (en) * 2010-03-01 2011-09-15 Nippon Telegr & Teleph Corp <Ntt> Symbol converter, symbol conversion method and symbol conversion program
JP2012008900A (en) * 2010-06-28 2012-01-12 Nippon Telegr & Teleph Corp <Ntt> Related phrase extraction method, related phrase extraction device and related phrase extraction program
WO2012160693A1 (en) * 2011-05-26 2012-11-29 株式会社日立製作所 Information search method, information search device, and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334638A (en) * 2003-05-09 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> Additional retrieval word acquiring apparatus and method, program for realizing same, and recording medium with its program stored
JP2008242623A (en) * 2007-03-26 2008-10-09 Fujitsu Ltd Retrieval candidate phrase presenting device, retrieval candidate phrase presenting program, and retrieval candidate phrase presenting method
JP2009075662A (en) * 2007-09-18 2009-04-09 Fuji Xerox Co Ltd Retrieval support device
JP2010198577A (en) * 2009-02-27 2010-09-09 Yahoo Japan Corp Retrieval device and method
JP2011180836A (en) * 2010-03-01 2011-09-15 Nippon Telegr & Teleph Corp <Ntt> Symbol converter, symbol conversion method and symbol conversion program
JP2012008900A (en) * 2010-06-28 2012-01-12 Nippon Telegr & Teleph Corp <Ntt> Related phrase extraction method, related phrase extraction device and related phrase extraction program
WO2012160693A1 (en) * 2011-05-26 2012-11-29 株式会社日立製作所 Information search method, information search device, and storage medium

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DIAZ ET AL.: ""Query Expansion with Locally Trained Word Embeddings"", CORR, vol. abs/1605.07891, JPN6016048112, 2016, ISSN: 0003512673 *
KANG ET AL.: ""Query2Vec: Learning Deep Intentions from Heterogeneous Search Logs"", TECHNICAL REPORT, JPN6016048115, 2015, pages 1 - 7, ISSN: 0003512670 *
ROY ET AL.: ""Using Word Embeddings for Automatic Query Expansion"", CORR, vol. abs/1606.07608, JPN6016048108, 2016, ISSN: 0003512672 *
VULIC ET AL.: ""Monolingual and Cross-Lingual Information Retrieval Models Based on (Bilingual) Word Embeddings"", PROCEEDINGS OF THE 38TH INTERNATIONAL ACM SIGIR CONFERENCE ON RESEARCH AND DEVELOPMENT IN INFORMATIO, JPN6016048103, August 2015 (2015-08-01), pages 363 - 372, XP058512878, ISSN: 0003512671, DOI: 10.1145/2766462.2767752 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020047126A (en) * 2018-09-20 2020-03-26 Zホールディングス株式会社 Information processing apparatus, information processing method, and information processing program
JP2022010403A (en) * 2019-02-08 2022-01-14 ヤフー株式会社 Information processing device, information processing method, and information processing program
JP7258988B2 (en) 2019-02-08 2023-04-17 ヤフー株式会社 Information processing device, information processing method and information processing program
JP2021005117A (en) * 2019-05-28 2021-01-14 ヤフー株式会社 Specific device, specific method and specific program
JP2021124862A (en) * 2020-02-04 2021-08-30 株式会社カカクコム Information processing device, server, information processing method, and information processing program

Also Published As

Publication number Publication date
JP6124489B1 (en) 2017-05-10

Similar Documents

Publication Publication Date Title
JP6124489B1 (en) Query providing apparatus, query providing method, and query providing program
CN108804450B (en) Information pushing method and device
JP6554685B2 (en) Method and apparatus for providing search results
US11762892B2 (en) Location-awareness search assistance system and method
JP6938680B2 (en) Efficient image enhancement with related content
US20130239006A1 (en) Aggregator, filter and delivery system for online context dependent interaction, systems and methods
JP6415619B2 (en) Analysis device, analysis method, and program
CN105531701A (en) Personalized trending image search suggestion
CN110096655A (en) Sort method, device, equipment and the storage medium of search result
US11397740B2 (en) Method and apparatus for providing information by using degree of association between reserved word and attribute language
US20170287041A1 (en) Information processing apparatus, information processing method, and information processing program
EP4379574A1 (en) Recommendation method and apparatus, training method and apparatus, device, and recommendation system
CN108804448A (en) The method and apparatus for generating information to be pushed
JP2010079683A (en) Program and advertisement distribution system
JP6479239B1 (en) Information processing apparatus, information processing system, information processing method, and program
CN109791545A (en) The contextual information of resource for the display including image
KR101955920B1 (en) Search method and apparatus using property language
KR101769981B1 (en) Method, user terminal, server, system and computer program for providing translation using image
KR20220141225A (en) Speech recognition method and device
JP6246271B1 (en) Attribute evaluation apparatus, sales system, attribute evaluation method, and attribute evaluation program
CN107665189B (en) method, terminal and equipment for extracting central word
CN112434127B (en) Text information searching method, apparatus and readable storage medium
JP2009140173A (en) Server device recommending web site, recommendation method for web site and web site recommendation program
KR101117172B1 (en) Method, system and computer-readable recording medium for providing search result corresponding to search keyword inputted by user together with search result corresponding to other search keyword related thereto
KR20210071500A (en) Apparatus and method for providing search service based on artificial intelligence

Legal Events

Date Code Title Description
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: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170403

R150 Certificate of patent or registration of utility model

Ref document number: 6124489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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