JP6851944B2 - Search system and search method - Google Patents
Search system and search method Download PDFInfo
- Publication number
- JP6851944B2 JP6851944B2 JP2017178633A JP2017178633A JP6851944B2 JP 6851944 B2 JP6851944 B2 JP 6851944B2 JP 2017178633 A JP2017178633 A JP 2017178633A JP 2017178633 A JP2017178633 A JP 2017178633A JP 6851944 B2 JP6851944 B2 JP 6851944B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- feature information
- information
- search
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、検索システム、および検索方法に関する。 The present invention relates to a search system and a search method.
従来、ベクトル化された状況データと、コンテンツデータとを集約させて、新しい集約データを作成し、新しい集約データに基づいてコンテンツ嗜好モデルを更新するコンテンツ推薦システムが知られている(特許文献1参照)。 Conventionally, there is known a content recommendation system that aggregates vectorized situation data and content data, creates new aggregated data, and updates a content preference model based on the new aggregated data (see Patent Document 1). ).
しかしながら、従来の技術では、リアルタイムで提供されるサービスに関連したモデルをスムーズに更新することができない場合があった。 However, with the conventional technology, it may not be possible to smoothly update the model related to the service provided in real time.
本発明は、このような事情を考慮してなされたものであり、スムーズにモデルを更新することができる検索システム、および検索方法を提供することを目的の一つとする。 The present invention has been made in consideration of such circumstances, and one of the objects of the present invention is to provide a search system and a search method capable of smoothly updating a model.
本発明の一態様は、第1情報を第1のモデルに入力することで第1特徴情報を生成し、第1の記憶部に記憶させる第1の生成部と、第2情報を第2のモデルに入力することで第2特徴情報を生成し、第2の記憶部に記憶させる第2の生成部と、前記第1の記憶部を検索して問い合わせの内容に対応する第1特徴情報を取得すると共に、前記第1特徴情報を指定した検索要求を検索部に出力する管理部と、前記管理部からの検索要求に応じて、前記指定された第1特徴情報を用いて前記第2の記憶部を検索し、前記指定された第1特徴情報に関連する第2特徴情報を取得する検索部と、を備え、前記第1のモデルは、前記第2のモデルと関連性を有し、前記第1の生成部と前記第2の生成部のそれぞれは、使用されるモデルの世代が異なる複数のチャネルを有し、各チャネルで並行して処理を実行し、前記管理部は、前記複数のチャネルから現用系のチャネルを選択し、前記現用系でないチャネルで使用されている前記第1のモデルと前記第2のモデルとが、所定タイミングで新たなモデルに更新される、検索システムである。 In one aspect of the present invention, a first generation unit that generates first feature information by inputting the first information into the first model and stores it in the first storage unit, and a second information unit are stored in the first storage unit. The second generation unit that generates the second feature information by inputting to the model and stores it in the second storage unit, and the first feature information corresponding to the content of the inquiry by searching the first storage unit are obtained. The management unit that acquires and outputs the search request for which the first feature information is specified to the search unit, and the second feature information that is specified in response to the search request from the management unit. The first model has a relevance to the second model and includes a search unit that searches a storage unit and acquires a second feature information related to the designated first feature information. Each of the first generation unit and the second generation unit has a plurality of channels of different generations of the model used, and processes are executed in parallel in each channel, and the management unit has the plurality of channels. This is a search system in which a working channel is selected from the channels of the above, and the first model and the second model used in the non-working channel are updated to a new model at a predetermined timing. ..
本発明の一態様によれば、スムーズにモデルを更新することができる検索システム、および検索方法を提供することができる。 According to one aspect of the present invention, it is possible to provide a search system and a search method capable of smoothly updating the model.
以下、図面を参照し、本発明の検索システム、および検索方法の実施形態について説明する。 Hereinafter, embodiments of the search system and search method of the present invention will be described with reference to the drawings.
[概略]
検索システムは、一以上のプロセッサにより実現される。検索システムは、例えば外部からの問い合わせに応じて、ある特徴情報(第1の特徴情報)に対応する他の特徴情報(第2の特徴情報)を検索するシステムである。
[Summary]
The search system is realized by one or more processors. The search system is, for example, a system that searches for other feature information (second feature information) corresponding to a certain feature information (first feature information) in response to an inquiry from the outside.
第1の特徴情報は、例えば、ユーザが閲覧した記事の履歴に基づいて、第1のモデルにより生成されるユーザベクトルである。ユーザベクトルは、そのユーザの興味の対象を示すものと考えられる。記事とは、インターネットなどのネットワークを介して提供される電子的な記事であり、テキスト情報を含むものである。記事は、ブラウザによって再生されるウェブページの一部として提供されるものであってもよいし、アプリケーションプログラムによって表示されるアプリページの一部として提供されるものであってもよい。 The first feature information is, for example, a user vector generated by the first model based on the history of articles viewed by the user. The user vector is considered to indicate the object of interest of the user. Articles are electronic articles provided via networks such as the Internet and include textual information. The article may be provided as part of a web page played by a browser or as part of an app page displayed by an application program.
第2の特徴情報は、例えば、記事に基づいて生成される記事ベクトルである。記事ベクトルは、例えば、記事に含まれる単語を形態素解析等によって抽出した後、word2vec等の手法により分散表現化した単語ベクトルを第2のモデルに入力することで生成される。 The second feature information is, for example, an article vector generated based on an article. The article vector is generated, for example, by extracting the words contained in the article by morphological analysis or the like, and then inputting the word vector distributed and expressed by a method such as word2vec into the second model.
ここで、第1の特徴情報であるユーザベクトルは、例えば、第2の特徴情報である記事ベクトルを利用して生成される。例えば、ユーザベクトルは、ユーザが閲覧した記事のそれぞれに対して生成されている記事ベクトルの集合を、第1のモデルに入力することで生成される。ユーザベクトルも、分散表現で表されるベクトルである。 Here, the user vector which is the first feature information is generated by using, for example, the article vector which is the second feature information. For example, the user vector is generated by inputting a set of article vectors generated for each of the articles viewed by the user into the first model. The user vector is also a vector represented by a distributed representation.
このように、第1の特徴情報であるユーザベクトルと第2の特徴情報である記事ベクトル、並びに第1のモデルと第2のモデルは、意味的な関連性を有するものである。上記の例では、記事ベクトルの定義が変更されると、記事ベクトルからユーザベクトルを生成するモデルも変更する必要があるからである。 As described above, the user vector which is the first feature information and the article vector which is the second feature information, and the first model and the second model have a semantic relationship. This is because in the above example, when the definition of the article vector is changed, the model for generating the user vector from the article vector also needs to be changed.
ユーザベクトルに対応する記事ベクトルが得られると、検索システムは、得られた記事ベクトルに対応する記事を、当該ユーザに対応するレコメンド記事として問い合わせ元に返す。これによって、ユーザが関心・興味のある内容に近い記事が、当該ユーザに提供されることになり、ウェブページないしアプリページの魅力を維持・向上することができる。 When the article vector corresponding to the user vector is obtained, the search system returns the article corresponding to the obtained article vector to the inquiry source as a recommended article corresponding to the user. As a result, articles that are close to the content that the user is interested in will be provided to the user, and the attractiveness of the web page or application page can be maintained and improved.
このような検索サービスを提供する中で、検索システムは、モデル更新をスムーズに行うための処理および仕組みを有している。また、モデル更新の後に古いバージョンのユーザデータを用いて検索を行うことが無いように、特徴的な処理を行っている。これらについては、以下の説明で段階的に開示する。 In providing such a search service, the search system has a process and a mechanism for smoothly updating the model. In addition, characteristic processing is performed so that the search is not performed using the user data of the old version after the model update. These will be disclosed step by step in the following description.
[構成]
図1は、検索システムの一部を構成するレコメンド管理装置30の使用環境の一例を示す図である。図示の例では、一以上のユーザ端末10が、ネットワークNWを介してサービスサーバ20に接続されている。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線などを含む。また、レコメンド管理装置30もネットワークNWに接続されており、サービスサーバ20と通信する。なお、本実施形態に登場する構成要素は、ネットワークNWその他のネットワークに接続するための通信インターフェースを備えているものとする。通信インターフェースは、NIC(Network Interface Card)などのネットワークカード、無線通信モジュールなどを含む。
[Constitution]
FIG. 1 is a diagram showing an example of a usage environment of the
[ユーザ端末]
ユーザ端末10は、例えば、スマートフォンなどの携帯電話、タブレット端末、各種パーソナルコンピュータなどの、入力装置、表示装置、通信装置、記憶装置、および演算装置を備える端末装置である。ユーザ端末10では、ブラウザやアプリケーションプログラムなどのUA(User Agent)が起動し、ユーザの入力する内容に応じたリクエストをサービスサーバ20に送信する。また、UAは、サービスサーバから取得した情報に基づいて、各種画像を表示する。
[User terminal]
The
[サービスサーバ]
サービスサーバ20は、ブラウザからのリクエストに応じてウェブページをユーザ端末10に提供するウェブサーバ、またはアプリケーションプログラムからのリクエストに応じて画像や音声を提供するユーザ端末10に提供するアプリサーバである。
[Service server]
The service server 20 is a web server that provides a web page to the
サービスサーバ20の提供するサービスは、例えば、ユーザIDとパスワードを入力しログインすることで、より個別のユーザに対してカスタマイズされたサービスとして提供される。なお、サービスサーバ20がウェブサーバである場合、ログインしなくてもウェブページの提供を受けることはできるが、その場合、ユーザに対するカスタマイズがされていない汎用のウェブページが提供される。 The service provided by the service server 20 is provided as a customized service for more individual users by, for example, entering a user ID and password to log in. If the service server 20 is a web server, the web page can be provided without logging in, but in that case, a general-purpose web page that has not been customized for the user is provided.
サービスサーバ20は、ユーザによるログインがなされると、例えば、ユーザIDを指定した問い合わせをレコメンド管理装置30に送信する。レコメンド管理装置30は、ユーザIDにより示されるユーザに推薦する記事の記事IDを、サービスサーバ20に返信する。サービスサーバ20は、所定の画面(例えばウェブサイトやアプリページのトップページ)に、レコメンド管理装置30から受信した記事IDにより示される記事を掲載してユーザ端末10に送信する。
When the user logs in, the service server 20 transmits, for example, an inquiry specifying a user ID to the
サービスサーバ20は、サーバ内あるいは外部の記憶装置(不図示)に、ユーザ情報22、配信記事情報24、および行動ログ26を記憶させている。
The service server 20 stores the
図2は、ユーザ情報22の内容の一例を示す図である。ユーザ情報22は、例えば、ユーザの識別情報であるユーザIDに対し、パスワード、および年齢、性別、誕生日、職業その他のデモグラ情報が対応付けられた情報である。
FIG. 2 is a diagram showing an example of the contents of the
図3は、配信記事情報24の内容の一例を示す図である。配信記事情報24は、例えば、記事の識別情報である記事IDに対し、記事データが対応付けられた情報である。記事データは、例えば、テキストデータ、画像データ、またはこれらの組み合わせ、或いはURL(Uniform Resource Locator)などの参照情報である。
FIG. 3 is a diagram showing an example of the contents of the delivered
図4は、行動ログ26の内容の一例を示す図である。行動ログ26は、例えば、ユーザIDごとに、閲覧したページの識別情報である閲覧ページID、閲覧したページに含まれる記事の記事ID、閲覧時刻などが互いに対応付けられた情報である。
FIG. 4 is a diagram showing an example of the contents of the
[検索システムの全体構成]
図5は、検索システム1の全体構成図である。検索システム1は、レコメンド管理装置30の他に、例えば、記事ベクトル生成装置40(第2の生成部の一例)と、記事ベクトル記憶部50(第2の記憶部の一例)と、ユーザベクトル生成装置60(第1の生成部の一例)と、ユーザベクトル記憶部70(第1の記憶部の一例)と、記事ベクトル検索装置80(検索部の一例)と、のうち一部または全部を備える。すなわち、検索システム1は、記事ベクトル記憶部50とユーザベクトル記憶部70とを含んでもよいし、含まなくてもよい。また、レコメンド管理装置30は、管理部の一例である。なお、これらの構成要素は、適宜、統合または分散化されてもよい。例えば、レコメンド管理装置30と記事ベクトル生成装置40とユーザベクトル生成装置60は、統合された一つのプロセッサにより実現されてもよい。
[Overall configuration of search system]
FIG. 5 is an overall configuration diagram of the
レコメンド管理装置30の構成に先立って、記事ベクトル生成装置40から順に説明する。ここで、記事ベクトル生成装置40、記事ベクトル記憶部、ユーザベクトル生成装置60、およびユーザベクトル記憶部70は、チャネル1とチャネル2の二つのチャネルを有し、それぞれが並行して処理を進めている。なお、チャネルの数は二つに限らず、三つ以上のチャネルを備えてもよい。以下の説明では、括弧内の数字がチャネルを表すものとし、チャネルを区別しない場合は括弧および括弧内の数字を省略して説明する。
Prior to the configuration of the
記事ベクトル生成装置40は、記事ベクトル生成部42(1)と、記事ベクトル生成部42(2)とを備える。図6は、記事ベクトル生成部42の処理の内容を概念的に示す図である。記事ベクトル生成部42には、記事の内容(テキスト)が入力される。記事の内容は、例えば、配信記事情報24から取得される。
The article
記事ベクトル生成部42は、まず、記事の内容に対して形態素解析などを行って、単語(形態素)に分割する。次に、記事ベクトル生成部42は、各単語に対してword2vecなどの手法を適用して、分散表現化された単語ベクトルを取得する。形態素解析とword2vecとのうち一方または双方は、記事ベクトル生成部42が自ら処理を行うのではなく、外部装置に処理を依頼することで実現されてもよい。
The article
そして、記事ベクトル生成部42は、記事から取得された一以上の単語ベクトルを第2のモデルに入力することで、記事ベクトルを導出する。第2のモデルは、例えば、機械学習によって生成されるモデルである。第2のモデルは、例えば、ディープラーニングなどの手法により、既知の単語ベクトルと記事ベクトルとの関係が再現できるような、隠れ層の活性化関数のパラメータを求めることで生成される。
Then, the article
なお、上記の定義に拘わらず、第2のモデルとは、word2vecの特定、すなわち、どのようなコーパスをword2vecに与えるか、までを含んでもよい。 Notwithstanding the above definition, the second model may include the identification of word2vec, that is, what kind of corpus is given to word2vec.
記事ベクトル生成部42は、生成した記事ベクトルを、記事IDと共に記事ベクトル記憶部50に格納する。このとき、自身がチャネル1であればチャネル1データとして記事ベクトル記憶部50に格納し、自身がチャネル2であればチャネル2データとして記事ベクトル記憶部50に格納する。
The article
記事ベクトル記憶部50は、例えば、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)などの記憶装置によって実現される。記事ベクトル記憶部50は、チャネル1データと、チャネル2データとを分けて記憶領域に格納する。チャネル1データと、チャネル2データのそれぞれは、記事IDに対して記事ベクトルが対応付けられたデータである。
The article
ユーザベクトル生成装置60は、ユーザベクトル生成部62(1)と、ユーザベクトル生成部62(2)とを備える。図7は、ユーザベクトル生成部62の処理の内容を概念的に示す図である。ユーザベクトル生成部62には、ユーザIDと、そのユーザIDにより示されるユーザが閲覧した記事の記事IDとが入力される。ユーザが閲覧した記事の記事IDは、例えば、行動ログ26から取得される。
The user
ユーザベクトル生成部62は、まず、ユーザが閲覧した記事の記事IDに対応する記事ベクトルを記事ベクトル記憶部50から取得する。このとき、自身がチャネル1であれば記事ベクトル記憶部50のチャネル1データから記事ベクトルを取得し、自身がチャネル2であれば記事ベクトル記憶部50のチャネル2データから記事ベクトルを取得する。
First, the user
そして、ユーザベクトル生成部62は、取得された一以上の記事ベクトルを第1のモデルに入力することで、ユーザベクトルを導出する。第1のモデルは、例えば、機械学習によって生成されるモデルである。第1のモデルは、例えば、ディープラーニングなどの手法により、既知の記事ベクトルとユーザベクトルとの関係が再現できるような、隠れ層の活性化関数のパラメータを求めることで生成される。ユーザベクトル生成部62は、生成したユーザベクトルを、ユーザIDと共にユーザベクトル記憶部70に格納する。このとき、自身がチャネル1であればチャネル1データとしてユーザベクトル記憶部70に格納し、自身がチャネル2であればチャネル2データとして記事ベクトル記憶部70に格納する。なお、ユーザベクトルは、閲覧した記事の記事ベクトル以外の要素を反映させて作成されてもよい。記事ベクトル以外の要素とは、例えば、ユーザの入力したクエリ、記事を有さないウェブページの閲覧履歴、ユーザの属性(年齢、性別、職業など)のうち一部または全部である。
Then, the user
以下、レコメンド管理装置30について説明する。レコメンド管理装置30は、例えば、チャネル切替部32と、応答部34と、ユーザベクトル検索部36と、検索依頼部38とを備える。これらの構成要素は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
Hereinafter, the
チャネル切替部32は、チャネル1、チャネル2について、現用系と待機系を切り替える。詳しくは、後述する。
The
応答部34は、サービスサーバ20からの問い合わせに応答し、ユーザベクトル検索部36および検索依頼部38に動作指示を出力し、検索依頼部38から返された検索結果(記事ベクトル)を、レコメンド記事としてサービスサーバ20に返す。サービスサーバ20からの問い合わせは、例えば、ユーザIDを指定して行われる。応答部34は、検索対象のユーザIDをユーザベクトル検索部36に出力して、検索を行わせる。
The
ユーザベクトル検索部36は、入力されたユーザIDを用いてユーザベクトル記憶部70を検索し、ユーザIDに対応するユーザベクトルを取得する。このとき、ユーザベクトル検索部36は、チャネル切替部32によって現用系に設定されている方のチャネルのデータを検索する。ユーザベクトル検索部36は、検索の結果として得られるユーザベクトルを検索依頼部38に出力する。
The user
検索依頼部38は、入力されたユーザベクトルを用いて記事ベクトル記憶部50を検索するように、記事ベクトル検索装置80に依頼する。このとき、検索依頼部38は、チャネル切替部32によって現用系に設定されている方のチャネルのデータを検索するように記事ベクトル検索装置80に依頼する。
The
記事ベクトル検索装置80は、依頼に応じて記事ベクトル記憶部50を検索する。記事ベクトル検索装置80は、ユーザベクトルとのベクトル間距離が小さい記事ベクトルを探索し、例えばベクトル間距離が最も小さい順に所定数の記事ベクトルを抽出する。この際に、記事ベクトル検索装置80は、k近傍探索(k-Nearest neighbor search)に類する手法を用いて検索を行ってもよい。記事ベクトル検索装置80は、検索結果を検索依頼部38に返す。検索依頼部38は、これを応答部34に返す。これによって、一ユーザについてのレコメンド記事の提供が完了する。
The article
[チャネルの切替]
以下、検索システム1におけるチャネルの切り替えについて説明する。図8は、チャネルの切り替えに関するタイムスケジュールの一例を示す図である。チャネル1とチャネル2では、半周期ずらしてモデル(第1のモデルおよび第2のモデル)の更新が行われる。そして、更新完了後、速やかに現用系への切り替えが行われる。モデルの更新とは、学習データを直近のものに更新し、新たにモデルの学習をし直すことをいう。この学習は、瞬時には完了しないため、モデルの更新すなわち機械学習は、現用系への切り替わりタイミングに間に合うように、切り替わりタイミングから想定所要時間に余裕時間を加算した時間を逆算したタイミングで開始される。
[Channel switching]
Hereinafter, channel switching in the
なお、記事ベクトルは、毎日、記事が入稿されるのに応じて新たなものが生成され、記事ベクトル記憶部50に追加される。しかしながら、word2vecの機能と、word2vecにより得られた単語ベクトルから記事ベクトルを導出する規則に関しては、第2のモデルの更新がされない限り同じものが使用される。従って、第2のモデルの更新とは、例えば、word2vecに与えるコーパスの更新と、word2vecにより得られた単語ベクトルから記事ベクトルを導出する規則の更新とを含む。これに限らず、word2vecに与えるコーパスを固定、或いは第2のモデルの更新周期Tよりも長い周期で変更し、第2のモデルの更新にはword2vecに与えるコーパスの変更が含まれないものとしてもよい。
As the article vector, a new one is generated every day as the article is submitted, and the article vector is added to the article
また、ユーザベクトルは、ユーザが記事を閲覧した度に、バッチ処理などによって更新される。このとき、新たな判定用情報(後述するように、例えばタイムスタンプ)がユーザベクトルに付与される。しかしながら、記事ベクトルからユーザベクトルを導出する規則に関しては、第1のモデルの更新がされない限り同じものが使用される。従って、第1のモデルの更新とは、記事ベクトルからユーザベクトルを導出する規則の更新を意味する。 In addition, the user vector is updated by batch processing or the like each time the user browses the article. At this time, new determination information (for example, a time stamp) is added to the user vector. However, as for the rules for deriving the user vector from the article vector, the same rules are used unless the first model is updated. Therefore, the update of the first model means the update of the rule for deriving the user vector from the article vector.
第1のモデルおよび第2のモデルは、更新周期Tごとに、更新開始日から参照期間Xまで遡った日までのデータに基づいて更新される。このとき、更新開始日から参照期間Xまで遡った日までに作成されていた記事ベクトルは、新たな第2のモデルによって作成し直される。また、更新開始日から参照期間Xまで遡った日までに作成されていたユーザベクトルも、新たな第1のモデルおよび作成し直された記事ベクトルを用いて作成し直される。但し、モデルの更新に伴ってユーザベクトルが作成し直された際に、タイムスタンプは変更されない。図8では、更新周期Tと参照期間Xが一致しているように示しているが、参照期間Xは更新周期Tよりも長い期間であってもよいし、短い期間であってもよい。 The first model and the second model are updated for each update cycle T based on the data from the update start date to the date retroactive to the reference period X. At this time, the article vector created from the update start date to the date retroactive to the reference period X is recreated by the new second model. In addition, the user vector created from the update start date to the date retroactive to the reference period X is also recreated using the new first model and the recreated article vector. However, when the user vector is recreated with the model update, the time stamp is not changed. In FIG. 8, it is shown that the update cycle T and the reference period X coincide with each other, but the reference period X may be a longer period than the update cycle T or a shorter period.
現用系の切り替えは、例えば、更新周期Tの半分の周期T/2で実行される。例えば、T/2は二週間程度の期間である。現用系の切り替え日は、予めカレンダー上で定められており、その日に間に合うようにモデルの更新が行われる。また、現用系の切り替え日は、レコメンド管理装置30の方でも把握しており、その日の例えば午前ゼロ時が到来すると、レコメンド管理装置30は、参照先のチャネルを切り替える。
The switching of the working system is executed, for example, in a cycle T / 2 which is half of the update cycle T. For example, T / 2 is a period of about two weeks. The switching date of the working system is set in advance on the calendar, and the model is updated in time for that date. Further, the
このような仕組みによって、実施形態の検索システム1は、現用系と待機系とを遅滞なく切り替えることができ、スムーズにモデルの更新を実現することができる。
With such a mechanism, the
[タイムスタンプについて]
ユーザベクトルは、統計的に有用な情報であるため、更新周期Tよりも長い期間(例えば一か月程度)、保持される場合がある。この場合、ユーザが何も記事を閲覧しない状態が、参照期間Xよりも長い間、継続したとすると、古いバージョンの第1のモデルおよび第2のモデルによって作成されたユーザベクトルがユーザベクトル記憶部70に格納される可能性がある。この場合、前提としている記事ベクトルが異なるのであるから、記事ベクトル検索装置80による検索が有意なものとならない場合がある。
[About time stamps]
Since the user vector is statistically useful information, it may be retained for a period longer than the update cycle T (for example, about one month). In this case, assuming that the state in which the user does not read any article continues for a period longer than the reference period X, the user vector created by the first model and the second model of the old version is the user vector storage unit. It may be stored in 70. In this case, since the presupposed article vector is different, the search by the article
そこで、実施形態の検索システム1では、ユーザベクトル生成装置60が、ユーザベクトルを生成する度に、直近のモデルによって作成された情報であることを確認可能な判定用情報をユーザベクトルに付随させてユーザベクトル記憶部70に記憶させる。なお、以下の説明では、直近のモデルとは、チャネルごとの直近の第1のモデルおよび直近の第2のモデルを指すものとする。判定用情報とは、例えば、ユーザベクトルを生成した時刻、ユーザベクトルをユーザベクトル記憶部70に記憶させた時刻など、ユーザベクトルを生成した時刻の近傍の時刻を示すタイムスタンプである。
Therefore, in the
そして、レコメンド管理装置30は、サービスサーバ20からの問い合わせに応じてユーザベクトルをユーザベクトル記憶部70から取得する際に、判定用情報を合わせて読み出し、判定用情報に基づいて、読み出したユーザベクトルが、直近のモデルによって作成された情報であることを確認する。レコメンド管理装置30は、タイムスタンプを現在時刻と比較し、その差分の時間が参照期間Xを超える場合には、必ずしも直近のモデルによって作成された情報であることが確認できないため、ユーザベクトルを指定した検索依頼を記事ベクトル検索装置80に出力しない。この場合、レコメンド管理装置30は、例えば「レコメンド記事なし」を示す応答を、サービスサーバ20に返す。この結果、サービスサーバ20では、例えば、アクセス数やCTR(Click Through Ratio)などの指標値が良好な記事から順に、ユーザに記事を配信する。
Then, when the
このような仕組みによって、実施形態の検索システム1は、不適切なレコメンド記事がユーザに配信されるのを防止することができる。
By such a mechanism, the
また、タイムスタンプをユーザベクトルに付与しておくことで、レコメンド管理装置30は、現用系のチャネルがチャネル1とチャネル2のいずれであるかを知る必要が無くなる。レコメンド管理装置30は、更新周期Tを把握しているため、ユーザベクトル記憶部70にあるユーザベクトルに付与されたタイムスタンプと現在の時刻を比較することで、どのチャネルが現用系のチャネルであるかを判断することができる。
Further, by assigning the time stamp to the user vector, the
ここで、タイムスタンプに代えて、第1のモデルおよび第2のモデルのバージョン情報を判定用情報とすることもできる。しかしながら、この場合、ユーザベクトルにタイムスタンプが付与されていないため、レコメンド管理装置30において、現用系のチャネルの情報と、モデルのバージョン情報とを認識する必要があり、これらの情報を指定してユーザベクトル記憶部70にデータ取得要求を出力する必要がある。これによって処理負担や通信量が増大するため、タイムスタンプを判定用情報とすることが、より好ましい。
Here, instead of the time stamp, the version information of the first model and the second model can be used as the determination information. However, in this case, since the user vector is not time-stamped, the
[処理フロー]
図9は、レコメンド管理装置30により実行される処理の流れの一例を示すフローチャートである。このフローチャートの処理は、レコメンド管理装置30の応答部34がサービスサーバ20から問い合わせを受けたときに開始される。
[Processing flow]
FIG. 9 is a flowchart showing an example of the flow of processing executed by the
まず、レコメンド管理装置30のユーザベクトル検索部36は、ユーザベクトル記憶部70からユーザベクトルと判定用情報を取得する(S100)。
First, the user
次に、レコメンド管理装置30の検索依頼部38は、判定用情報に基づいて、ユーザベクトルが直近のモデルによって作成された情報であることが確認できるか否かを判定する(S102)。
Next, the
ユーザベクトルが直近のモデルによって作成された情報であることが確認される場合、検索依頼部38は、ユーザベクトルを指定して記事ベクトル検索装置80に検索依頼をする(S104)。ユーザベクトルが直近のモデルによって作成された情報であることが確認されない場合、S104の処理はスキップされる。
When it is confirmed that the user vector is the information created by the latest model, the
そして、応答部34は、記事ベクトル検索装置80から取得された記事ベクトル、或いは「レコメンド記事なし」のいずれかの応答を、サービスサーバ20に返す(S106)。これによって、フローチャートの処理が終了する。
Then, the
以上説明した実施形態の検索システム、および検索方法によれば、ユーザが閲覧した記事の履歴を第1のモデルに入力することでユーザベクトルを生成し、ユーザベクトル記憶部70に記憶させるユーザベクトル生成装置60と、ネットワークを介して配信される記事を第2のモデルに入力することで記事ベクトルを生成し、記事ベクトル記憶部50に記憶させる記事ベクトル生成装置40と、ユーザベクトル記憶部70を検索して問い合わせの内容に対応するユーザベクトルを取得すると共に、ユーザベクトルを指定した検索要求を記事ベクトル検索装置80に出力するレコメンド管理装置30と、レコメンド管理装置30からの検索要求に応じて、指定されたユーザベクトルを用いて記事ベクトル記憶部50を検索し、指定されたユーザベクトルに関連する記事ベクトルを取得する記事ベクトル検索装置80と、を備え、第1のモデルは、第2のモデルと関連性を有し、ユーザベクトル生成装置60と記事ベクトル生成装置40のそれぞれは、使用されるモデルの世代が異なる複数のチャネルを有し、各チャネルで並行して処理を実行し、レコメンド管理装置30は、複数のチャネルから現用系のチャネルを選択し、現用系でないチャネルで使用されている第1のモデルと第2のモデルとが、所定タイミングで新たなモデルに更新される。これによって、実施形態の検索システム、および検索方法は、スムーズにモデルを更新することができる。
According to the search system and the search method of the embodiment described above, the user vector is generated by inputting the history of the articles viewed by the user into the first model, and the user vector is stored in the user
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。 Although the embodiments for carrying out the present invention have been described above using the embodiments, the present invention is not limited to these embodiments, and various modifications and substitutions are made without departing from the gist of the present invention. Can be added.
1 検索システム
10 ユーザ端末
20 サービスサーバ
30 レコメンド管理装置
32 チャネル切替部
34 応答部
36 ユーザベクトル検索部
38 検索依頼部
40 記事ベクトル生成装置
50 記事ベクトル記憶部
60 ユーザベクトル生成装置
70 ユーザベクトル記憶部
80 記事ベクトル検索装置
1
Claims (7)
第2情報を第2のモデルに入力することで第2特徴情報を生成し、第2の記憶部に記憶させる第2の生成部と、
前記第1の記憶部を検索して問い合わせの内容に対応する第1特徴情報を取得すると共に、前記第1特徴情報を指定した検索要求を検索部に出力する管理部と、
前記管理部からの検索要求に応じて、前記指定された第1特徴情報を用いて前記第2の記憶部を検索し、前記指定された第1特徴情報に関連する第2特徴情報を取得する検索部と、を備え、
前記第1のモデルは、前記第2のモデルと関連性を有し、
前記第1の生成部と前記第2の生成部のそれぞれは、使用されるモデルの世代が異なる複数のチャネルを有し、各チャネルで並行して処理を実行し、
前記管理部は、前記複数のチャネルから現用系のチャネルを選択し、
前記現用系でないチャネルで使用されている前記第1のモデルと前記第2のモデルとが、所定タイミングで新たなモデルに更新される、
検索システム。 A first generation unit that generates first feature information by inputting the first information into the first model and stores it in the first storage unit, and
A second generation unit that generates second feature information by inputting the second information into the second model and stores it in the second storage unit, and a second generation unit.
A management unit that searches the first storage unit to acquire the first feature information corresponding to the content of the inquiry and outputs a search request for which the first feature information is specified to the search unit.
In response to the search request from the management unit, the second storage unit is searched using the designated first feature information, and the second feature information related to the designated first feature information is acquired. With a search unit,
The first model is related to the second model and
Each of the first generation unit and the second generation unit has a plurality of channels of different generations of the model used, and processing is executed in parallel in each channel.
The management unit selects a working channel from the plurality of channels and selects an active channel.
The first model and the second model used in the non-working channel are updated to a new model at a predetermined timing.
Search system.
請求項1記載の検索システム。
検索システム。 Each of the first feature information and the second feature information is vector data.
The search system according to claim 1.
Search system.
前記管理部は、前記判定用情報に基づいて、前記第1の記憶部から取得した第1特徴情報が、直近の前記第1のモデルおよび前記第2のモデルによって作成された情報であることが確認される場合、前記第1特徴情報を指定した検索要求を検索部に出力する、
請求項1または2記載の検索システム。 The first generation unit, together with the determination information that can confirm that the generated first feature information is the information created by the latest first model and the second model, is the first. Make it memorize in the storage part
Based on the determination information, the management unit may find that the first feature information acquired from the first storage unit is the information created by the latest first model and the second model. If confirmed, the search request for which the first feature information is specified is output to the search unit.
The search system according to claim 1 or 2.
前記管理部は、前記タイムスタンプを現在時刻と比較し、前記タイムスタンプと現在時刻との差が、前記所定タイミングにおいて前記第1のモデルおよび前記第2のモデルの更新に利用されるデータの参照期間以内である場合、前記第1特徴情報を指定した検索要求を検索部に出力する、
請求項3記載の検索システム。 The determination information is a time stamp and is
The management unit compares the time stamp with the current time, and the difference between the time stamp and the current time is a reference to data used for updating the first model and the second model at the predetermined timing. If it is within the period, the search request for which the first feature information is specified is output to the search unit.
The search system according to claim 3.
前記第1特徴情報は、前記ユーザの特徴を示す情報であり、
前記第1の生成部は、前記第1特徴情報をユーザIDに対応付けて前記第1の記憶部に記憶させる、
請求項1から4のうちいずれか1項記載の検索システム。 The first information is a history of articles viewed by the user.
The first feature information is information indicating the features of the user, and is
The first generation unit associates the first feature information with a user ID and stores it in the first storage unit.
The search system according to any one of claims 1 to 4.
前記第2特徴情報は、前記記事の特徴を示す情報であり、
前記第2の生成部は、前記第2特徴情報を記事IDに対応付けて前記第2の記憶部に記憶させ、
前記第1のモデルは、前記ユーザが閲覧した記事に対応する前記第2特徴情報に基づいて前記第1特徴情報を生成する点で、前記第2のモデルと関連性を有する、
請求項5記載の検索システム。 The second information is an article distributed via a network.
The second feature information is information indicating the feature of the article, and is
The second generation unit associates the second feature information with the article ID and stores it in the second storage unit.
The first model is related to the second model in that it generates the first feature information based on the second feature information corresponding to the article viewed by the user.
The search system according to claim 5.
第2の生成部が、第2情報を第2のモデルに入力することで第2特徴情報を生成し、第2の記憶部に記憶させ、
管理部が、前記第1の記憶部を検索して問い合わせの内容に対応する第1特徴情報を取得すると共に、前記第1特徴情報を指定した検索要求を検索部に出力し、
検索部が、前記管理部からの検索要求に応じて、前記指定された第1特徴情報を用いて前記第2の記憶部を検索し、前記指定された第1特徴情報に関連する第2特徴情報を取得する検索方法であって、
前記第1のモデルは、前記第2のモデルと関連性を有し、
前記第1の生成部と前記第2の生成部のそれぞれは、使用されるモデルの世代が異なる複数のチャネルを有し、各チャネルで並行して処理を実行し、
前記管理部は、前記複数のチャネルから現用系のチャネルを選択し、
前記現用系でないチャネルで使用されている前記第1のモデルと前記第2のモデルとが、所定タイミングで新たなモデルに更新される、
検索方法。 The first generation unit generates the first feature information by inputting the first information into the first model and stores it in the first storage unit.
The second generation unit generates the second feature information by inputting the second information into the second model and stores it in the second storage unit.
The management unit searches the first storage unit to acquire the first feature information corresponding to the content of the inquiry, and outputs a search request specifying the first feature information to the search unit.
In response to the search request from the management unit, the search unit searches the second storage unit using the designated first feature information, and the second feature related to the designated first feature information. It ’s a search method to get information.
The first model is related to the second model and
Each of the first generation unit and the second generation unit has a plurality of channels of different generations of the model used, and processing is executed in parallel in each channel.
The management unit selects a working channel from the plurality of channels and selects an active channel from the plurality of channels.
The first model and the second model used in the non-working channel are updated to a new model at a predetermined timing.
retrieval method.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017178633A JP6851944B2 (en) | 2017-09-19 | 2017-09-19 | Search system and search method |
| JP2021037257A JP7144558B2 (en) | 2017-09-19 | 2021-03-09 | Search system and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017178633A JP6851944B2 (en) | 2017-09-19 | 2017-09-19 | Search system and search method |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021037257A Division JP7144558B2 (en) | 2017-09-19 | 2021-03-09 | Search system and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019053645A JP2019053645A (en) | 2019-04-04 |
| JP6851944B2 true JP6851944B2 (en) | 2021-03-31 |
Family
ID=66014945
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017178633A Active JP6851944B2 (en) | 2017-09-19 | 2017-09-19 | Search system and search method |
| JP2021037257A Active JP7144558B2 (en) | 2017-09-19 | 2021-03-09 | Search system and method |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021037257A Active JP7144558B2 (en) | 2017-09-19 | 2021-03-09 | Search system and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP6851944B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021214935A1 (en) * | 2020-04-23 | 2021-10-28 | 日本電信電話株式会社 | Learning device, search device, learning method, search method, and program |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002183106A (en) * | 2000-12-11 | 2002-06-28 | Hitachi Ltd | Service switching system and method |
| JP6097126B2 (en) * | 2013-04-10 | 2017-03-15 | 株式会社Nttドコモ | RECOMMENDATION INFORMATION GENERATION DEVICE AND RECOMMENDATION INFORMATION GENERATION METHOD |
-
2017
- 2017-09-19 JP JP2017178633A patent/JP6851944B2/en active Active
-
2021
- 2021-03-09 JP JP2021037257A patent/JP7144558B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP7144558B2 (en) | 2022-09-29 |
| JP2019053645A (en) | 2019-04-04 |
| JP2021096867A (en) | 2021-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12482029B2 (en) | Medium, method and apparatus for native page generation | |
| KR102884535B1 (en) | Methods and systems for identifying, selecting, and presenting media-content items related to a common story | |
| US10140368B2 (en) | Method and apparatus for generating a recommendation page | |
| US10061820B2 (en) | Generating a user-specific ranking model on a user electronic device | |
| JP6415619B2 (en) | Analysis device, analysis method, and program | |
| AU2014296114B2 (en) | Method and apparatus for automatic website optimization | |
| US20200081896A1 (en) | Computerized system and method for high-quality and high-ranking digital content discovery | |
| CN107704560B (en) | Information recommendation method, device and equipment | |
| JP7119124B2 (en) | Action indicator for search behavior output element | |
| CN101313302A (en) | Generate trending topics from alert search terms | |
| CN106598972A (en) | Information display method and device as well as intelligent terminal | |
| JP2014501422A (en) | Search keyword recommendation based on user intention | |
| KR102749382B1 (en) | Communication via simulated user | |
| US20170193037A1 (en) | Computerized System And Method For Augmenting Search Terms For Increased Efficiency And Effectiveness In Identifying Content | |
| EP4379574A1 (en) | Recommendation method and apparatus, training method and apparatus, device, and recommendation system | |
| US11392589B2 (en) | Multi-vertical entity-based search system | |
| CN107273393A (en) | Image search method, device and data handling system for mobile device | |
| JP7200069B2 (en) | Information processing device, vector generation method and program | |
| CN112417133A (en) | Training method and device of ranking model | |
| JP7144558B2 (en) | Search system and method | |
| KR20090023914A (en) | Information retrieval system | |
| KR101730647B1 (en) | Device, method, and program for providing search service | |
| JP2019113944A (en) | Information processing device, information processing method, and program | |
| JP7068999B2 (en) | Information processing equipment, information processing methods and information processing programs | |
| JP6549772B1 (en) | INFORMATION PROVIDING DEVICE, INFORMATION PROVIDING METHOD, INFORMATION PROVIDING PROGRAM, AND INFORMATION DISPLAY PROGRAM |
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: 20210128 |
|
| 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: 20210209 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210310 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6851944 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |