JP2013117921A - Ranking function learning device, method, and program - Google Patents

Ranking function learning device, method, and program Download PDF

Info

Publication number
JP2013117921A
JP2013117921A JP2011266048A JP2011266048A JP2013117921A JP 2013117921 A JP2013117921 A JP 2013117921A JP 2011266048 A JP2011266048 A JP 2011266048A JP 2011266048 A JP2011266048 A JP 2011266048A JP 2013117921 A JP2013117921 A JP 2013117921A
Authority
JP
Japan
Prior art keywords
local
parameter
updating
training data
global
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
JP2011266048A
Other languages
Japanese (ja)
Other versions
JP5734820B2 (en
Inventor
Do Kevin
ドゥ ケヴィン
Jun Suzuki
潤 鈴木
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011266048A priority Critical patent/JP5734820B2/en
Publication of JP2013117921A publication Critical patent/JP2013117921A/en
Application granted granted Critical
Publication of JP5734820B2 publication Critical patent/JP5734820B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To suppress deterioration of ranking accuracy to learn a ranking function at a high speed.SOLUTION: A set of training data stored in a training data storage part 21 is divided into N subsets by a division part 22 to be allocated to N calculation nodes 23. Parameters regarding a ranking function are learned by each of the N calculation nodes 23. In the respective calculation nodes 23, update of Lagrange undetermined multipliers and local parameters by a local update part 32, notification of the updated Lagrange undetermined multipliers and the local parameters to other calculation nodes 23 and acquisition of the updated Lagrange undetermined multipliers and the local parameters from other calculation nodes 23 by a synchronization part 33, and update of global constraint parameters by global update means are repeated until values of the global constraint parameters are converged.

Description

本発明は、ランキング関数学習装置、方法、及びプログラムに係り、特に、検索クエリに基づいて検索して得られた検索結果(文書の集合)に対して提示順序を決定するランキング関数を学習するランキング関数学習装置、方法、及びプログラムに関する。   The present invention relates to a ranking function learning apparatus, method, and program, and in particular, a ranking for learning a ranking function for determining a presentation order for a search result (a set of documents) obtained by searching based on a search query. The present invention relates to a function learning apparatus, method, and program.

ウェブ検索システムは、入力された検索要求単語集合(クエリ)に適合する文書集合を、被検索対象となる全文書集合から抽出する問題とみなすことができる。ただし、近年のウェブ検索システムは、クエリに適合する文書集合を抽出するというよりは、クエリとの適合度がより高い文書を、より上位に表示するランキング問題とみなしてシステムを構築している。つまり、検索システムにクエリが与えられると、図12に示すように、検索対象となる全文書、或いは、クエリを含む全文書に対して、クエリと文書の適合度に則した「検索スコア」を計算し、検索スコアにしたがって文書を降順に並べて表示することによって検索結果を提示する。   The web search system can be regarded as a problem of extracting a document set that matches an input search request word set (query) from all document sets to be searched. However, recent web search systems construct a system that regards a document having a higher degree of matching with a query as a ranking problem that is displayed higher than extracting a document set that matches the query. That is, when a query is given to the search system, as shown in FIG. 12, a “search score” corresponding to the matching degree between the query and the document is obtained for all documents to be searched or all documents including the query. The search results are presented by calculating and displaying the documents in descending order according to the search score.

クエリに対する各文書の適合度は、TF-IDFのようなクエリ頻度に基づくスコアや、PageRankのようなリンク解析に基づくスコアなど、多数の要因を用いて計算される。ここでは、これらの要因を「ランキング要因」と呼び、多数のランキング要因から提示順序を決定する処理を「ランキング処理」と呼ぶこととする。   The suitability of each document for a query is calculated using a number of factors such as a score based on query frequency such as TF-IDF and a score based on link analysis such as PageRank. Here, these factors are called “ranking factors”, and the process of determining the presentation order from a number of ranking factors is called “ranking process”.

人間の直観に合った検索文書のランキング処理を実現する方法として、人手によって作成した訓練データを用いてランキング処理装置を構築する技術が、これまでに多数提案されている(例えば、非特許文献1)。訓練データとは、想定されるクエリと、そのクエリに適合する文書集合とのペアで構成されており、各文書には、そのクエリとの適合度を示すラベルが人手により付けられている。このとき、クエリと各文書間の適合度を計算する際に利用するランキング要因の数がD個とすると、各文書は、各ランキング要因に基づくスコアをD個並べたD次元のベクトルで表現することができる。これに従い、ここでは、各文書をz= (z1, . . . , zD)のベクトルで表し、文書の「特徴ベクトル」と呼ぶ。ただし、ziはi番目のランキング要因のスコアである。クエリIDがi番目で、そのクエリに適合する文書集合内の文書番号がj番目の文書の特徴ベクトルをzi,jとする。訓練データの例を図13に示す。 A number of techniques for constructing a ranking processing apparatus using training data created manually are proposed as methods for realizing ranking processing of search documents suitable for human intuition (for example, Non-Patent Document 1). ). The training data includes a pair of an assumed query and a document set that matches the query, and each document is manually labeled with a degree of matching with the query. At this time, if the number of ranking factors used when calculating the fitness between the query and each document is D, each document is expressed as a D-dimensional vector in which D scores based on each ranking factor are arranged. be able to. Accordingly, each document is represented by a vector of z = (z 1 ,..., Z D ) and is called a “feature vector” of the document. Where z i is the score of the i-th ranking factor. Let z i, j be the feature vector of the document whose query ID is i and whose document number in the document set that matches the query is j. An example of training data is shown in FIG.

上記図13において、それぞれの行が、あるクエリに対する検索結果文書の特徴表現と適合度を表している。適合度が大きい方が、当該クエリに対してより適切な結果であることを示している。注意点として、適合度は、クエリと文書のペアに対して付与されるため、たとえ同じ文書であっても、クエリによって異なる適合度が付与される。適合度は、例えば被験者が判断し、付与した多段階(例えば5段階)の値を用いる。   In FIG. 13, each row represents the feature expression and the degree of matching of the search result document for a certain query. A higher matching score indicates a more appropriate result for the query. As a point of caution, since the matching level is given to a pair of a query and a document, different matching levels are given to different queries even for the same document. As the degree of fitness, for example, a multi-stage value (for example, five levels) determined and given by the subject is used.

あたえられた訓練データから、ランキング処理装置を構築する従来技術について述べる。ここでの目標は、あたえられた訓練データの適合度と一致したランキングをあたえる関数を構築することになる。ここで、ランキングをあたえる関数を「ランキング関数」と呼ぶ。つまり、訓練データ中のクエリがあたえられたときに、クエリに関する文書集合の全順序関係を訓練データ通りにあたえる関数である。ただし、実際には全順序関係を決定する関数を構築するのは計算量の観点でコストが高くなる。そこで、各クエリ内の文書集合に対して訓練データに付与された適合度の違う2つの文書の組み合わせを可能な全ての組み合わせで作成し、2つの文書のどちらがより適合度が高いかという観点でランキング関数を構築する方法がよく用いられる(上記の非特許文献1を参照)。よって、実際に訓練データを利用する際には、訓練データは(ym, xm)の形式で利用される。ただし、図14に示すように、クエリIDがi番目で適合度の異なるある文書のペア(zi,j ,zi,k)に対し、ペアにした文書で便宜上左側の文書の適合度が高いときに1、右の文書が高いときに−1となる変数をymとし、各文書を特徴ベクトル表現にしたものの差分ベクトルをxmとする(つまりxm=zi,j−zi,k)。 A conventional technique for constructing a ranking processing device from given training data will be described. The goal here is to build a function that gives a ranking that matches the fitness of the given training data. Here, a function that gives ranking is called a “ranking function”. In other words, when a query in the training data is given, the function is a function that gives the entire order relation of the document set related to the query according to the training data. In practice, however, constructing a function that determines the total order relationship is expensive in terms of computational complexity. Therefore, a combination of two documents with different fitness levels assigned to training data for each document set in each query is created with all possible combinations, and from the viewpoint of which of the two documents has a higher fitness level. A method of building a ranking function is often used (see Non-Patent Document 1 above). Therefore, when actually using the training data, the training data is used in the form of (y m , x m ). However, as shown in FIG. 14, for a pair of documents (z i, j , z i, k ) having a query ID of i-th and different relevance, the relevance of the left document in the paired document is convenient. Let y m be a variable that becomes 1 when the right document is high and −1 when the right document is high, and let x m be the difference vector of each document represented as a feature vector (ie, x m = z i, j −z i , k ).

ここで,各ランキング要因に対する重み(信頼度)を表すパラメータをwとする。また、訓練データ中の文書ペアの総数をMとする。このとき、上記の非特許文献1で提案されているRankSVM法では、以下の(1)式で示される最適化問題の解を用いてランキング関数を構築する。   Here, w represents a parameter representing the weight (reliability) for each ranking factor. Also, let M be the total number of document pairs in the training data. At this time, in the RankSVM method proposed in the above-mentioned Non-Patent Document 1, a ranking function is constructed using a solution to an optimization problem expressed by the following equation (1).

ただし、w・xmはwとxmの内積を表す。 However, w · x m represents the inner product of w and x m .

この時、生成されるランキング関数は、パラメータベクトル^wにより表現される。この^wは、訓練データに基づいて得られた、ランキングを決定する各要因に対する信頼度に相当する値となっている。よって、ランキング関数f()は以下の(2)式で表わされる。   At this time, the generated ranking function is expressed by a parameter vector ^ w. This ^ w is a value corresponding to the reliability of each factor that determines the ranking, obtained based on training data. Therefore, the ranking function f () is expressed by the following equation (2).

ランキング処理自体は、上記(2)式のランキング関数の出力値に基づいて文書を降順に並べることで行われる。   The ranking process itself is performed by arranging the documents in descending order based on the output value of the ranking function of the above equation (2).

検索システムでは検索要求が多種多様なため、どのようなクエリに対しても精度良くランキングを提示するランキング関数を生成するのは難しい。少しでも精度の高いランキング関数を生成するためには、より多くの訓練データを用いてランキング関数を構築することが望まれる。よって、ランキング関数生成処理では、多くの訓練データを効率良く扱う枠組が必要となる。   Since a search system has a wide variety of search requests, it is difficult to generate a ranking function that accurately presents a ranking for any query. In order to generate a ranking function that is as accurate as possible, it is desirable to construct a ranking function using more training data. Therefore, the ranking function generation process requires a framework for efficiently handling a lot of training data.

訓練データの大規模化に対応するための方法は、これまでいくつか提案されている。基本的には、分散並列処理により対応する方法が現在主流である。複数の計算ノードに対して、分割した部分訓練データを割り振り、個々の計算ノードは独立に、割り当てられたデータのみを利用してランキング関数を構築する。その後、できあがった複数のランキング関数をそれぞれの方法で結合するというのが現在の使われている主な方法である(例えば、非特許文献2、3、4)   Several methods have been proposed to cope with the large scale of training data. Basically, a method that supports distributed parallel processing is currently mainstream. Divided partial training data is allocated to a plurality of calculation nodes, and each calculation node independently builds a ranking function using only the assigned data. After that, combining a plurality of completed ranking functions by each method is the main method currently used (for example, Non-Patent Documents 2, 3, and 4).

Thorsten Joachims. Optimizing search engines using clickthrough data. In Proc. of the eighth ACM international conference on Knowledge Discovery and Data mining (KDD '02), pages 133-142, 2002.Thorsten Joachims. Optimizing search engines using clickthrough data.In Proc. Of the eighth ACM international conference on Knowledge Discovery and Data mining (KDD '02), pages 133-142, 2002. Krysta M. Svore and Christopher J.C. Burges. Large-scale learning to rank using boosted decision trees. In Ron Bekkerman, Misha Bilenko, and John Langford, editors, Scaling Up Machine Learning: Parallel and Distributed Approaches. Cambridge Univ. Press, May 2011.Krysta M. Svore and Christopher JC Burges.Large-scale learning to rank using boosted decision trees.In Ron Bekkerman, Misha Bilenko, and John Langford, editors, Scaling Up Machine Learning: Parallel and Distributed Approaches.Cambridge Univ.Press, May 2011 . Stephen Tyree, Kilian Wienberger, Kunal Agrawal, and Jennifer Paykin. Parallel boosted regression trees for web search ranking. In WWW, 2011.Stephen Tyree, Kilian Wienberger, Kunal Agrawal, and Jennifer Paykin.Parallel boosted regression trees for web search ranking.In WWW, 2011. Jerry Ye, Jyh-Herng Chow, Jiang Chen, and Zhaohui Zheng. Stochastic gradient boosted distributed decision trees. In CIKM, 2009.Jerry Ye, Jyh-Herng Chow, Jiang Chen, and Zhaohui Zheng. Stochastic gradient boosted distributed decision trees. In CIKM, 2009.

しかしながら、上記の非特許文献2〜4で使われている方法は、単純な結合方法であるため、訓練データ全体を用いて構築したランキング関数より精度が落ちることがほとんどである。つまり、分散処理により高速化はできているが、精度を犠牲にしている面がある。   However, the methods used in the above Non-Patent Documents 2 to 4 are simple combining methods, and thus the accuracy is almost lower than the ranking function constructed using the entire training data. In other words, the speed can be increased by distributed processing, but there is an aspect that sacrifices accuracy.

本発明は、上記の事情を鑑みてなされたもので、ランキング精度の低下を抑制して、高速にランキング関数を学習することができるランキング関数学習装置、方法、及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a ranking function learning device, method, and program capable of learning a ranking function at high speed while suppressing a decrease in ranking accuracy. To do.

上記の目的を達成するために第1の発明に係るランキング関数学習装置は、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置であって、検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、前記ランキング関数に関するパラメータを学習するN個(Nは2以上の自然数である)の計算ノードと、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てる分割手段と、を含み、前記N個の計算ノードの各々は、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新する局所更新手段と、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記局所的なパラメータを取得する同期手段と、前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータ及び前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新する大域更新手段と、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返す収束判定手段とを含んで構成されている。   In order to achieve the above object, a ranking function learning device according to a first invention is a device for learning parameters related to a ranking function for ranking a search result obtained by searching a set of documents based on a search query. Training data storage means for storing a set of training data including the feature value obtained for each document of the search result for the query and the fitness for the search query, and N pieces (N is 2 or more) for learning parameters related to the ranking function And a dividing unit that divides the set of training data stored in the training data storage unit into N subsets and assigns it to the N computing nodes, Each of the N computational nodes is based on a subset of the training data assigned by the dividing means. A local update means for updating a local parameter which is a parameter related to the ranking function, and notifies the other calculation node of the local parameter updated by the local update means, and the other calculation Based on synchronization means for acquiring the local parameter notified from the node, the local parameter of the other calculation node acquired by the synchronization means, and the local parameter updated by the local update means The global update means for updating the global parameter for matching the local parameter of each computation node, and whether the value of the global parameter has converged. Until the global parameter value has converged. Updating by means, notification and acquisition by the synchronization means, and is configured to include a convergence judging means for repeating the updating by the global update means.

第2の発明に係るランキング関数学習方法は、検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、N個(Nは2以上の自然数である)の計算ノードと、分割手段とを含む、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置におけるランキング関数学習方法であって、前記分割手段によって、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てるステップと、前記N個の計算ノードの各々によって、前記ランキング関数に関するパラメータを学習するステップとを含み、前記計算ノードによって学習するステップは、局所更新手段によって、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新するステップと、同期手段によって、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記局所的なパラメータを取得するステップと、大域更新手段によって、前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータ及び前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新するステップと、収束判定手段によって、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返すステップとを含む。   The ranking function learning method according to the second invention includes training data storage means for storing a set of training data including a feature value obtained for each document of a search result for a search query and a fitness for the search query; Ranking function learning in an apparatus for learning parameters related to a ranking function for ranking a search result obtained by searching a set of documents based on a search query, including a calculation node (N is a natural number of 2 or more) and a dividing unit Dividing the set of training data stored in the training data storage means into N subsets by the dividing means and assigning the N calculation nodes to the N computing nodes; Learning a parameter related to the ranking function by each of the computation nodes, The step of learning by the step of updating the local parameter, which is a parameter related to the ranking function, based on the subset of the training data assigned by the dividing unit by the local updating unit, Means for notifying the local parameter updated by the local update means to another computation node, and obtaining the local parameter notified from the other computation node; and global update means The parameter relating to the ranking function based on the local parameter of the other calculation node acquired by the synchronization unit and the local parameter updated by the local update unit, and for each calculation To match the local parameters of the node A step of updating a global parameter; and by means of convergence determination means, whether or not the value of the global parameter has converged, and the local update until it is determined that the value of the global parameter has converged Updating by the means, notification and acquisition by the synchronizing means, and repeating the updating by the global updating means.

第1の発明及び第2の発明によれば、前記分割手段によって、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てる。前記N個の計算ノードの各々によって、前記ランキング関数に関するパラメータを学習する。   According to the first and second aspects of the invention, the dividing means divides the set of training data stored in the training data storage means into N subsets to be the N calculation nodes. assign. A parameter related to the ranking function is learned by each of the N calculation nodes.

このとき、各計算ノードでは、局所更新手段によって、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新する。同期手段によって、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記局所的なパラメータを取得する。大域更新手段によって、前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータ及び前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新する。収束判定手段によって、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返す。   At this time, in each calculation node, the local update unit updates the parameter related to the ranking function and the local parameter based on the subset of the training data assigned by the dividing unit. The synchronization unit notifies the other calculation node of the local parameter updated by the local update unit, and acquires the local parameter notified from the other calculation node. A parameter related to the ranking function based on the local parameter of the other computation node acquired by the synchronization unit and the local parameter updated by the local update unit by a global updating unit; and , Update global parameters to match the local parameters of each compute node. The convergence determining means determines whether or not the global parameter value has converged, and until it is determined that the global parameter value has converged, the updating by the local updating means, the notification by the synchronizing means, and The acquisition and the update by the global update means are repeated.

このように、各計算ノードにおいて、割り当てられた訓練データの部分集合に基づいて局所的なパラメータを更新し、他の計算ノードから取得した局所的なパラメータを用いて、大域的なパラメータを更新することを収束するまで繰り返すことにより、ランキング精度の低下を抑制して、高速にランキング関数を学習することができる。   In this way, in each computation node, the local parameters are updated based on the assigned subset of training data, and the global parameters are updated using the local parameters obtained from other computation nodes. By repeating this until convergence, it is possible to suppress a decrease in ranking accuracy and learn the ranking function at high speed.

第3の発明に係るランキング関数学習装置は、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置であって、検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、前記ランキング関数に関するパラメータを学習するN個(Nは2以上の自然数である)の計算ノードと、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てる分割手段と、大域更新手段と、収束判定手段とを含み、前記N個の計算ノードの各々は、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新する局所更新手段を含み、前記大域更新手段は、前記全ての計算ノードの前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新する手段であり、前記収束判定手段は、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、各計算ノードの前記局所更新手段による更新及び前記大域更新手段による更新を繰り返す手段であることを特徴とする。   A ranking function learning device according to a third invention is a device for learning parameters relating to a ranking function for ranking a search result obtained by searching a set of documents based on a search query, and for each document of the search result for the search query. Training data storage means storing a set of training data including the obtained feature value and the degree of fitness for the search query, and N calculation nodes (N is a natural number of 2 or more) for learning parameters related to the ranking function And a dividing means for dividing the set of training data stored in the training data storage means into N subsets and assigning the set to the N calculation nodes, a global updating means, and a convergence determining means. , Each of the N computational nodes is based on a subset of the training data assigned by the dividing means, A parameter that is a parameter related to the ranking function and includes a local update unit that updates a local parameter, wherein the global update unit is configured to update the local parameter updated by the local update unit of all the computation nodes. Based on the ranking function and a means for updating a global parameter for matching the local parameter of each computation node, and the convergence determining means includes the global parameter Until the value of the global parameter has converged and until it is determined that the value of the global parameter has converged, the update by the local update unit and the update by the global update unit of each calculation node are repeated. It is characterized by.

第4の発明に係るランキング関数学習方法は、検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、N個(Nは2以上の自然数である)の計算ノードと、分割手段と、大域更新手段と、収束判定手段とを含む、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置におけるランキング関数学習方法であって、前記分割手段によって、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てるステップと、前記N個の計算ノードの各々によって、前記ランキング関数に関するパラメータを学習するステップと、前記大域更新手段によって更新するステップと、前記収束判定手段によって判定するステップと、を含み、前記計算ノードによって学習するステップは、局所更新手段によって、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新するステップを含み、前記大域更新手段によって更新するステップは、前記全ての計算ノードの前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新するステップであり、前記収束判定手段によって判定するステップは、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、各計算ノードの前記局所更新手段による更新及び前記大域更新手段による更新を繰り返すステップであることを特徴とする。   A ranking function learning method according to a fourth aspect of the present invention includes a training data storage unit that stores a set of training data including a feature value obtained for each document of a search result for a search query and a fitness for the search query; A ranking function for ranking a search result obtained by searching a set of documents based on a search query, including a calculation node (N is a natural number of 2 or more), a dividing unit, a global updating unit, and a convergence determining unit. A ranking function learning method in an apparatus for learning a parameter relating to the calculation method, wherein the dividing unit divides the set of training data stored in the training data storage unit into N subsets and performs the N calculations. Assigning parameters to the ranking function by each of the N calculation nodes and assigning to the nodes A step of updating by the global updating unit and a step of determining by the convergence determining unit, wherein the step of learning by the calculation node includes the training data allocated by the dividing unit by a local updating unit. Updating a parameter that is a parameter related to the ranking function based on a subset of the local function, and updated by the global updating unit is performed by the local updating unit of all the computation nodes. Updating a global parameter based on the updated local parameter for the ranking function and for matching the local parameter of each computation node, the convergence The step of determining by the determining means includes It is determined whether or not the global parameter value has converged, and the update by the local update unit and the update by the global update unit of each calculation node are performed until it is determined that the global parameter value has converged. It is a repeating step.

第5の発明に係るプログラムは、コンピュータを、上記のランキング関数学習装置の各手段として機能させるためのプログラムである。   A program according to a fifth invention is a program for causing a computer to function as each means of the ranking function learning device.

以上説明したように、本発明のランキング関数学習装置、方法、及びプログラムによれば、各計算ノードにおいて、割り当てられた訓練データの部分集合に基づいて局所的なパラメータを更新し、他の計算ノードから取得した局所的なパラメータを用いて、大域的なパラメータを更新することを収束するまで繰り返すことにより、ランキング精度の低下を抑制して、高速にランキング関数を学習することができる、という効果が得られる。   As described above, according to the ranking function learning device, method, and program of the present invention, each calculation node updates local parameters based on a subset of assigned training data, and other calculation nodes. Using the local parameters obtained from the above, it is possible to learn the ranking function at high speed by suppressing the decrease in ranking accuracy by repeating updating the global parameters until convergence. can get.

本発明の第1の実施の形態に係るランキング関数学習処理の流れを示す図である。It is a figure which shows the flow of the ranking function learning process which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るランキング関数学習装置の構成を示す概略図である。It is the schematic which shows the structure of the ranking function learning apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るランキング関数学習装置の計算ノードにおけるランキング関数学習処理ルーチンの内容を示すフローチャートである。It is a flowchart which shows the content of the ranking function learning process routine in the calculation node of the ranking function learning apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るランキング関数学習装置の構成の他の例を示す概略図である。It is the schematic which shows the other example of a structure of the ranking function learning apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るランキング関数学習処理の流れを示す図である。It is a figure which shows the flow of the ranking function learning process which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るランキング関数学習装置の構成を示す概略図である。It is the schematic which shows the structure of the ranking function learning apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係るランキング関数学習システムの構成を示す概略図である。It is the schematic which shows the structure of the ranking function learning system which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係る学習制御装置の構成を示す概略図である。It is the schematic which shows the structure of the learning control apparatus which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係る学習装置の構成を示す概略図である。It is the schematic which shows the structure of the learning apparatus which concerns on the 3rd Embodiment of this invention. 性能比較結果を示すグラフである。It is a graph which shows a performance comparison result. 分散並列処理を行った場合の実験結果を示す図である。It is a figure which shows the experimental result at the time of performing distributed parallel processing. ランキング処理装置による処理を説明するための図である。It is a figure for demonstrating the process by a ranking processing apparatus. 訓練データを示す図である。It is a figure which shows training data. 訓練データを示す図である。It is a figure which shows training data.

以下、図面を参照して本発明の実施の形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

〔第1の実施の形態〕
<発明の概要>
本発明の処理の枠組は、基本的に分散計算環境を想定する。ここでは、図1に示すように、N個の計算ノードがあるとする。つぎに、M個の訓練データをN個に分割する。この時、分割した訓練データのn番目の部分集合をMnと書く。また、各部分集合は重複するデータを持たないと仮定する。つまり、∪nMn =(1, ... ,M),∩n Mn =空集合である。
[First Embodiment]
<Outline of the invention>
The processing framework of the present invention basically assumes a distributed computing environment. Here, it is assumed that there are N computation nodes as shown in FIG. Next, M pieces of training data are divided into N pieces. At this time, the n-th subset of the divided training data is written as M n . Also assume that each subset has no overlapping data. That is, ∪ n M n = (1, ..., M), ∩ n M n = empty set.

訓練データの集合を分割し、各計算ノードに割り当てた後、各計算ノードは、自分自身に割り当てられた訓練データのみを用い、上記(1)式に示した従来法等を用いてランキング関数を学習する。このとき、n番目の計算ノードで得られるランキング関数で用いられるパラメータをvnとする。このvnは上記(1)式中のwに相当する。本発明の枠組では、各計算ノードは独立にランキング関数で用いるパラメータを学習することができるため、単純計算で学習時間を1/Nに縮減できるという計算量的な利点がある。ただし、vnは部分的な訓練データのみから生成されるため、部分的な情報しか用いることができないという観点で、基本的に訓練データ全体を使って学習したwを用いたランキング関数よりランキング精度は一般的に低くなる、という問題がある。また、独立に得られたvnから最良のvnを選択する方法、或いは、効果的にvnを結合する方法などはこれまで知られていない。 After the set of training data is divided and assigned to each computation node, each computation node uses only the training data assigned to itself, and uses the conventional method shown in the above equation (1) to calculate the ranking function. learn. At this time, the parameter used in the ranking function obtained at the nth computation node is denoted by vn. This v n corresponds to w in the above equation (1). In the framework of the present invention, each calculation node can independently learn the parameters used in the ranking function, so that there is a computational advantage that the learning time can be reduced to 1 / N by simple calculation. However, since v n is generated from only partial training data, it can be used only for partial information, so that the ranking accuracy is basically higher than the ranking function using w trained using the entire training data. Is generally low. Further, a method of selecting the best v n from v n obtained independently, or a method of binding effectively v n is not known until now.

本発明では、各計算ノードで得られたvnは一致しなくてはいけないという制約パラメータwを導入する。この制約を入れることで、部分的なデータのみから生成されるvnは全体で一致しなくてはいけなくなるため、間接的に訓練データ全体の情報を包含した関数を学習することが可能となる。つまり、訓練データ集合を分割することで、ランキング関数の学習時間を短縮する性質を保持したまま、従来と同様に全体の訓練データを使って学習したランキング関数と同じようにランキング精度の高い関数を学習することが可能となる。また、分散計算環境を用いれば訓練データが増えても容易に扱えることから、従来では利用できなかった量の訓練データを用いてランキング関数を構築することができるようになるため、より高精度なランキング関数を学習することが可能となる。本発明の枠組では、ランキング関数に用いるパラメータ^wは、以下の(3)式で示す最適化式を解くことで得られる。 In the present invention, a constraint parameter w is introduced that v n obtained at each computation node must match. By including this restriction, v n generated from only partial data must match throughout, so it is possible to learn a function that indirectly includes information on the entire training data. . In other words, by dividing the training data set, a function with high ranking accuracy as in the conventional ranking function learned using the entire training data is maintained while retaining the property of shortening the learning time of the ranking function. It becomes possible to learn. In addition, using a distributed computing environment makes it easy to handle training data even if it increases, so it becomes possible to construct a ranking function using a quantity of training data that could not be used in the past. It becomes possible to learn the ranking function. In the framework of the present invention, the parameter ^ w used for the ranking function can be obtained by solving the optimization equation shown by the following equation (3).

本発明では、参考文献1(Daniel Gabay and Bertrand Mercier. A dual algorithm for the solution of nonlinear variational problems via finite element approximation. Computers and Mathematics with Applications, 2(1):17 - 40, 1976.)及び参考文献2(Stephen Boyd, Neal Parikh, Eric Chu, Borja Peleato, and Jonathan Eckstein. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends in Machine Learning, 2011.)に記載されたalternating direction method of multipliers (ADMM)と呼ばれる最適化の枠組を用いて上記最適化問題を解く。まず、ADMMの枠組に則って上記(3)式の最適化式を変形し、以下の(4)式に示す目的関数Lρを得る。 In the present invention, Reference 1 (Daniel Gabay and Bertrand Mercier. A dual algorithm for the solution of nonlinear variational problems via finite element approximation. Computers and Mathematics with Applications, 2 (1): 17-40, 1976.) and reference 2 (alternating direction method of multipliers described in Stephen Boyd, Neal Parikh, Eric Chu, Borja Peleato, and Jonathan Eckstein. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends in Machine Learning, 2011.) The optimization problem is solved using an optimization framework called (ADMM). First, the optimization equation of the above equation (3) is modified in accordance with the ADMM framework to obtain an objective function L ρ shown in the following equation (4).

ここで、μnは、上記(4)式の制約をラグランジュ未定乗数法で表現した際のラグランジュ乗数に相当し、ρ/2 ||vn−w||2は最適化の解を効率的に求めるための追加の項である。ρは人手により決定するパラメータでρ>0とする。上記参考文献2に従って、unn/ρで上式を置き換える。その結果、上記(4)式は、以下の(5)式に変形される。 Here, μ n corresponds to the Lagrange multiplier when the constraint of the above equation (4) is expressed by the Lagrange undetermined multiplier method, and ρ / 2 || v n −w || 2 is an efficient optimization solution. Is an additional term for ρ is a parameter determined manually, and ρ> 0. According to the above reference 2, the above equation is replaced by u n = μ n / ρ. As a result, the above equation (4) is transformed into the following equation (5).

上記(5)式を用いることで、実際の最適化問題は、vn,w,unを順番に繰り返し求めることで最適解が得られることが保証されている。また、後述する第2の実施の形態のように、訓練データが逐次的に増加しても、つまり、計算ノードの個数が増加しても、最終的な最適解^wが得られることが参考文献3(Pedro Forero, Alfonso Cano, and Georgios Giannakis. Consensus-based distributed support vector machines. JMLR, 2010.)により保証される。これらの性質を利用することで、分散処理かつデータの逐次投入によるランキング関数学習処理を行うことが可能となる。 By using the equation (5), the actual optimization problem, v n, w, optimal solution by finding repeated sequentially u n is guaranteed to be obtained. Also, as in the second embodiment, which will be described later, the final optimal solution ^ w can be obtained even if the training data increases sequentially, that is, the number of computation nodes increases. Guaranteed by reference 3 (Pedro Forero, Alfonso Cano, and Georgios Giannakis. Consensus-based distributed support vector machines. JMLR, 2010.). By utilizing these properties, it is possible to perform a ranking function learning process by distributed processing and sequential input of data.

<システム構成>
本発明の第1の実施の形態に係るランキング関数学習装置100は、学習用として与えられた訓練データを入力として受け取り、ランキング関数に関するパラメータを出力する。このランキング関数学習装置100は、CPUと、RAMと、後述するランキング関数学習処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図2に示すように、ランキング関数学習装置100は、入力部10と、演算部20と、出力部30とを備えている。
<System configuration>
The ranking function learning device 100 according to the first exemplary embodiment of the present invention receives training data given for learning as an input, and outputs parameters related to the ranking function. The ranking function learning device 100 is configured by a computer including a CPU, a RAM, and a ROM storing a program for executing a ranking function learning processing routine to be described later, and functionally configured as follows. Has been. As shown in FIG. 2, the ranking function learning device 100 includes an input unit 10, a calculation unit 20, and an output unit 30.

入力部10は、入力された訓練データとして、上記図14で示した文書のペアによる訓練データを複数受け付ける。各訓練データは、ある検索クエリに対する検索結果文書ペアの複数の特徴値の各々の差分からなる差分ベクトルと、当該検索クエリに対する適合度の大小関係を示す変数とを含む。また、入力される訓練データには、様々な検索クエリに基づく訓練データが含まれる。   The input unit 10 accepts a plurality of training data based on the document pairs shown in FIG. 14 as the input training data. Each training data includes a difference vector composed of differences between a plurality of feature values of a search result document pair for a certain search query, and a variable indicating the magnitude relationship of the degree of fitness for the search query. The training data that is input includes training data based on various search queries.

また、入力部10は、人手により入力された計算ノード数Nとパラメータρを受け付ける。   Further, the input unit 10 receives the number of calculation nodes N and the parameter ρ input manually.

演算部20は、訓練データ記憶部21、分割部22、及びN個の計算ノード231〜23Nを備えている。なお、計算ノード231〜23Nのうちの任意の計算ノードを示す場合には、計算ノード23と称することとする。 The calculation unit 20 includes a training data storage unit 21, a division unit 22, and N calculation nodes 23 1 to 23 N. Note that, when an arbitrary calculation node among the calculation nodes 23 1 to 23 N is indicated, it is referred to as a calculation node 23.

訓練データ記憶部21は、入力部10により受け付けた大量の訓練データからなる訓練データ集合を記憶する。訓練データ記憶部21のデータ構造は、上記図14に示す。   The training data storage unit 21 stores a training data set including a large amount of training data received by the input unit 10. The data structure of the training data storage unit 21 is shown in FIG.

上記図14に示すように、それぞれの行が、ある検索クエリに対する検索結果文書のペアの文書IDと、ペアにした文書で便宜上左側の文書の適合度が高いときに1、右の文書が高いときに−1となる変数ymと、各文書を各特徴ベクトル表現にしたものの差分ベクトルxmとを表している。 As shown in FIG. 14, each row is a document ID of a search result document pair for a certain search query, and the right document is high when the matching of the left document is high for convenience. It represents a variable y m that sometimes becomes −1 and a difference vector x m of each document represented by each feature vector.

分割部22は、訓練データ記憶部21に記憶された訓練データ集合を、N個の部分集合に分割し、N個の計算ノード231〜23Nに割り当てる。また、分割部22は、入力されたパラメータρを、N個の計算ノード231〜23Nの各々に通知する。 The dividing unit 22 divides the training data set stored in the training data storage unit 21 into N subsets and assigns them to N computing nodes 23 1 to 23 N. Further, the dividing unit 22 notifies the input parameter ρ to each of the N calculation nodes 23 1 to 23 N.

N個の計算ノード231〜23Nの各々は、分割データ記憶部31、局所更新部32、同期部33、大域更新部34、及び収束判定部35を備えている。各N個の分割データ記憶部31、局所更新部32、同期部33、大域更新部34、及び収束判定部35が存在することになるが、同様の機能を有す処理部は同じ番号で表わしている。 Each of the N calculation nodes 23 1 to 23 N includes a divided data storage unit 31, a local update unit 32, a synchronization unit 33, a global update unit 34, and a convergence determination unit 35. Each of the N divided data storage units 31, the local update unit 32, the synchronization unit 33, the global update unit 34, and the convergence determination unit 35 exists, but the processing units having similar functions are represented by the same numbers. ing.

分割データ記憶部31には、計算ノード23に割り当てられた訓練データ集合の部分集合を記憶する。   The divided data storage unit 31 stores a subset of the training data set assigned to the calculation node 23.

局所更新部32は、分割データ記憶部31に記憶された訓練データ集合の部分集合を用いて、以下に説明するように、ラグランジュ未定乗数un及び局所的なパラメータvnを更新する。 The local update unit 32 updates the Lagrange undetermined multiplier u n and the local parameter v n using a subset of the training data set stored in the divided data storage unit 31 as described below.

(ラグランジュ未定乗数unの更新)
最初の処理として、局所更新部32は、当該計算ノード23nにおけるラグランジュ未定乗数unを更新する。
(Update of the Lagrange multiplier u n)
As a first process, the local updating section 32 updates the Lagrange multipliers u n in the compute node 23n.

wとvnを固定したときunの最適値の方向は、以下の(6)式に示すように、上記(5)式に示す目的関数Lρ(w, vn,un)のunに関する勾配方向である。 When w and v n are fixed, the direction of the optimum value of u n is u of the objective function L ρ (w, v n , u n ) shown in the above equation (5) as shown in the following equation (6). The gradient direction with respect to n .

上記(6)式の関係から、以下の(7)式に示す更新式を得る。   From the relationship of the above equation (6), the update equation shown in the following equation (7) is obtained.

局所更新部32は、上記(7)式に従って、ラグランジュ未定乗数unを更新する。上記(7)式の更新式は、各計算ノード23で独立に計算できるため、他の計算ノード23と通信などを行う必要がない。 Local update unit 32, according to the above (7), updates the Lagrange multipliers u n. Since the update formula (7) can be calculated independently by each calculation node 23, it is not necessary to communicate with other calculation nodes 23.

(局所的なパラメータvnの更新)
次に、局所更新部32は、当該計算ノード23nにおける局所的なパラメータvnを更新する。
(Local parameter v n update)
Next, the local update unit 32 updates the local parameter v n in the calculation node 23 n .

反復計算k(kは繰り返し回数を管理する変数)の時点で、unとwを固定したとき各vnの最適解は、以下の(8)式に示すように、上記(5)式に示す目的関数Lρ(w, vn,un)を最小にするvnを見つける問題である。 At the time of the iterative calculation k (k is a variable for managing the number of repetitions), when u n and w are fixed, the optimal solution for each v n is as shown in the following equation (8), The problem is to find v n that minimizes the objective function L ρ (w, v n , u n ) shown.

定義に従って、局所的なパラメータvnに関係する項のみを取り出すと、以下の(9)式が得られる。 If only the term related to the local parameter v n is extracted according to the definition, the following equation (9) is obtained.

上記(9)式は、従来法で示したRankSVMにバイアス項(−w+un)を追加したモデルとみなせる。また、バイアス項(−w +un)は、ここでは定数となるので、従来法のRankSVMと同じ方法で解くことができる。また、もし(−w+un)=0なら、RankSVMの式と一致する。つまり、ここの計算ノードでは、あたえられた訓練データの部分集合を使って独立に従来法のRankSVMを用いてパラメータvnを生成することと等価である。 Equation (9) can be regarded as RankSVM adding the bias term (-w + u n) to the model shown in a conventional manner. Further, the bias term (-w + u n), since the constant can now be solved in the same way as RankSVM conventional methods. If (−w + u n ) = 0, this is consistent with the RankSVM equation. That is, in the individual compute nodes is equivalent to generating a parameter v n with RankSVM conventional methods independently using a subset of the training data given.

局所更新部32は、上記(9)式に従って、局所的なパラメータvnを更新する。また、パラメータvnも、unと同様に、各計算ノード23で独立に更新することができる。 The local update unit 32 updates the local parameter v n according to the above equation (9). Also, the parameter v n can be updated independently at each computation node 23, similarly to u n .

同期部33は、当該計算ノード23で今回更新されたunとvnを、自分以外の全ての計算ノード23iへ通知する。また、同期部33は、他の計算ノード23i全てから通知された、今回更新されたuiとviを受け取る。この処理によって、個々の計算ノード23は全ての計算ノード23nの持つunとvnの値を取得することができる。 The synchronization unit 33 notifies u n and v n updated this time at the calculation node 23 to all the calculation nodes 23 i other than itself. Further, the synchronization unit 33 receives u i and v i updated this time notified from all the other computation nodes 23 i . By this processing, each computation node 23 can obtain the values of un and v n possessed by all the computation nodes 23 n .

大域更新部34は、他の計算ノード23n全てから受け取ったunとvnを使って、以下のように、大域的制約パラメータwを更新する。 The global updating unit 34 updates the global constraint parameter w as follows using u n and v n received from all the other computation nodes 23 n .

unとvnを固定したときwの最適解は、上記(5)式に示す目的関数Lρ(w, vn,un)のwに関する勾配が零ベクトルになる点である。その関係から以下の(10)式〜(13)式に示す関係式が得られる。 When u n and v n are fixed, the optimal solution of w is a point where the gradient of w of the objective function L ρ (w, v n , u n ) shown in the above equation (5) becomes a zero vector. From the relationship, the following relational expressions (10) to (13) are obtained.

ただし、 ̄v=ΣN n=1vn/N, ̄u=ΣN n=1un/Nである。 However, ¯v = Σ N n = 1 v n / N, is ¯u = Σ N n = 1 u n / N.

上記(13)式に示す関係式から、反復計算kの時点でのwは以下の(14)式で求められる。   From the relational expression shown in the above expression (13), w at the time of the iterative calculation k is obtained by the following expression (14).

大域的制約パラメータwの更新には、全てのvnとunが必要である。 All v n and u n are required to update the global constraint parameter w.

そこで,大域更新部34は、取得した全ての計算ノード23nの持つunとvnの値を用いて、上記(14)式に従って、大域的制約パラメータwを更新する。 Therefore, the global updating unit 34 updates the global constraint parameter w according to the above equation (14) using the values of un and v n possessed by all the obtained computation nodes 23 n .

個々の計算ノード23で独立にwを求める。ここでの注意点として、個々の計算ノード23は独立でwを求めるが、得られるwは全ての計算ノード23で一致する。処理方法としては、任意のひとつの計算ノード23でwを計算し、その後に各計算ノード23に通知するといった処理を行うようにしてもよい。ただし、その場合には、選択された計算ノード23の計算が終了し、結果が通知されるまで、それ以外の計算ノードは待機する必要がある。本実施の形態では、個々の計算ノード23で同じ計算を行う方式をとった場合を例に説明する。   Each calculation node 23 obtains w independently. As a point to be noted here, each computation node 23 independently obtains w, but the obtained w is identical in all computation nodes 23. As a processing method, a process may be performed in which w is calculated by any one calculation node 23 and then notified to each calculation node 23. However, in that case, it is necessary to wait for the other calculation nodes until the calculation of the selected calculation node 23 ends and the result is notified. In the present embodiment, a case will be described as an example in which the same calculation is performed in each calculation node 23.

収束判定部35は、得られた大域的制約パラメータwが収束して最適値になっているか判定する。   The convergence determination unit 35 determines whether the obtained global constraint parameter w has converged to an optimum value.

二つの小さな正の実数ε1、ε2をあたえ、以下の(15)式、(16)式を満たした際に収束したと判定する(参考文献2を参照)。 Two small positive real numbers ε 1 and ε 2 are given, and it is determined that convergence has occurred when the following equations (15) and (16) are satisfied (see Reference 2).

収束判定で、収束していなかった場合は、k=k+1として、局所更新部32による処理に戻る。収束していると判定された場合は、繰り返し処理を終了する。   When the convergence is not determined in the convergence determination, k = k + 1 is set, and the process returns to the local updating unit 32. If it is determined that the process has converged, the iterative process is terminated.

この収束判定の処理もwと同様に任意のひとつの計算ノード23で行い、その結果を全体に通知するようにしてもよい。しかし、同期処理が必要となるため、本実施の形態では、収束判定も全ての計算ノード23で個別に行い、収束と判定されれば処理を終了する場合を例に説明する。この収束判定も、全ての計算ノードで結果が必ず一致するため、個々に判定をおこなっても結果は同じになる。   The convergence determination process may be performed by any one computation node 23 as in the case of w, and the result may be notified to the whole. However, since synchronous processing is required, in this embodiment, a case will be described as an example where convergence is also individually determined in all the computation nodes 23, and the processing is terminated if it is determined that convergence has occurred. The result of this convergence determination is always the same at all the computation nodes, so the result is the same even if the determination is made individually.

収束判定部35は、収束したと判定されたときに得られた大域的制約パラメータwを、ランキング関数を構成するパラメータとして出力部30により出力する。なお、本実施の形態では、任意の一つの計算ノード23から、大域的制約パラメータwが出力される場合を例に説明したが、全ての計算ノード23から、大域的制約パラメータwが出力されてもよい。また、実際のランキングを生成する際には、従来法と同様に上記(2)式を用いて検索スコアを計算する。   The convergence determination unit 35 outputs the global constraint parameter w obtained when determined to have converged by the output unit 30 as a parameter constituting the ranking function. In this embodiment, the case where the global constraint parameter w is output from any one computation node 23 has been described as an example. However, the global constraint parameter w is output from all computation nodes 23. Also good. When generating the actual ranking, the search score is calculated using the above equation (2) as in the conventional method.

<ランキング関数学習装置の作用>
次に、本実施の形態に係るランキング関数学習装置100の作用について説明する。まず、大量の訓練データからなる訓練データ集合がランキング関数学習装置100に入力されると、ランキング関数学習装置100によって、入力された訓練データ集合が、訓練データ記憶部21へ格納される。そして、ランキング関数学習装置100において、分割部22によって、訓練データ記憶部21の訓練データ集合を、N個の部分集合に分割し、N個の計算ノード231〜23Nに割り当てる。訓練データ集合の各部分集合が、計算ノード231〜23Nの各々の分割データ記憶部31に格納される。
<Operation of ranking function learning device>
Next, the operation of the ranking function learning apparatus 100 according to the present embodiment will be described. First, when a training data set including a large amount of training data is input to the ranking function learning device 100, the input training data set is stored in the training data storage unit 21 by the ranking function learning device 100. Then, in the ranking function learning device 100, the dividing unit 22 divides the training data set in the training data storage unit 21 into N subsets, and assigns them to N calculation nodes 23 1 to 23 N. Each subset of the training data set is stored in each divided data storage unit 31 of each of the computation nodes 23 1 to 23 N.

そして、ランキング関数学習装置100の各計算ノード23によって、図3に示すランキング関数学習処理ルーチンが実行される。なお、以下では、計算ノード23nによって実行した場合について説明する。 Then, the ranking function learning process routine shown in FIG. 3 is executed by each calculation node 23 of the ranking function learning device 100. Hereinafter, a case where the calculation is executed by the calculation node 23 n will be described.

まず、ステップS101において、ラグランジュ未定乗数un、局所的なパラメータvn、及び大域的制約パラメータwの各々に、適当な値(例えば、0)を与えて初期化する。 First, in step S101, each of the Lagrange undetermined multiplier u n , the local parameter v n , and the global constraint parameter w is initialized by giving an appropriate value (for example, 0).

そして、ステップS102において、局所更新部32によって、上記ステップS101で初期化されたラグランジュ未定乗数un、局所的なパラメータvn、及び大域的制約パラメータw、又は前回更新されたラグランジュ未定乗数un、局所的なパラメータvn、及び大域的制約パラメータwに基づいて、上記(7)式に従って、ラグランジュ未定乗数unを更新する。 In step S102, the local update unit 32 initializes the Lagrange undetermined multiplier u n , the local parameter v n , and the global constraint parameter w initialized in step S101, or the last updated Lagrange undetermined multiplier u n. Based on the local parameter v n and the global constraint parameter w, the Lagrange undetermined multiplier u n is updated according to the above equation (7).

次のステップS103では、局所更新部32によって、上記ステップ102で更新されたラグランジュ未定乗数unと、上記ステップS101で初期化された大域的制約パラメータw、又は前回更新された大域的制約パラメータwと、分割データ記憶部31に記憶された訓練データ集合の部分集合とに基づいて、上記(9)式に従って、局所的なパラメータvnを更新する。 In the next step S103, the local by the update unit 32, and the Lagrange multiplier u n updated in step 102, the initialized global constraint parameters w in step S101, or the last updated global constraint parameters w Then, based on the subset of the training data set stored in the divided data storage unit 31, the local parameter v n is updated according to the above equation (9).

そして、ステップS104では、同期部33によって、上記ステップS102で更新されたラグランジュ未定乗数un及び上記ステップ103で更新された局所的なパラメータvnを他の計算ノード23に通知すると共に、他の計算ノード23i全てから、更新されたラグランジュ未定乗数ui及び上記ステップ103で更新された局所的なパラメータviを取得する(i=1,・・・,n−1,n+1,・・・,N)。 In step S104, the synchronization unit 33 notifies the Lagrange undetermined multiplier u n updated in step S102 and the local parameter v n updated in step 103 to the other calculation nodes 23, and other The updated Lagrange undetermined multiplier u i and the local parameter v i updated in step 103 are acquired from all the computation nodes 23 i (i = 1,..., N−1, n + 1,...). , N).

ステップS105では、大域更新部34によって、上記ステップS102で更新されたラグランジュ未定乗数un及び上記ステップ103で更新された局所的なパラメータvnと、上記ステップS104で他の計算ノード23i全てから取得したラグランジュ未定乗数uiび局所的なパラメータviとに基づいて、上記(14)式に従って、大域的制約パラメータwを更新する。 In step S105, the Lagrangian undetermined multiplier u n updated in step S102 and the local parameter v n updated in step 103 and the other calculation nodes 23 i in step S104 are all updated by the global updating unit 34. Based on the acquired Lagrange undetermined multiplier u i and the local parameter v i , the global constraint parameter w is updated according to the above equation (14).

次のステップS106では、上記ステップ103で更新された局所的なパラメータvnと、上記ステップ105で更新された大域的制約パラメータwと、前回更新された大域的制約パラメータwとに基づいて、上記(15)式、(16)式に従って、大域的制約パラメータwが収束したか否かを判定する。上記(15)式および(16)式を満たさない場合には、収束していないと判断し、上記ステップS102へ戻る。一方、上記(15)式及び(16)式を満たした場合には、収束したと判断し、上記ステップS107へ移行する。 In the next step S106, based on the local parameter v n updated in step 103, the global constraint parameter w updated in step 105, and the global constraint parameter w updated last time, It is determined whether the global constraint parameter w has converged according to the equations (15) and (16). If the above equations (15) and (16) are not satisfied, it is determined that they have not converged, and the process returns to step S102. On the other hand, if the above equations (15) and (16) are satisfied, it is determined that convergence has occurred, and the process proceeds to step S107.

ステップS107では、上記ステップS105で最終的に更新された大域的制約パラメータwkを、得られた最適解^wとして出力部30により出力して、ランキング関数学習処理ルーチンを終了する。 In step S107, the global constraint parameter w k finally updated in step S105 is output by the output unit 30 as the obtained optimal solution ^ w, and the ranking function learning processing routine is terminated.

以上説明したように、第1の実施の形態に係るランキング関数学習装置によれば、各計算ノードにおいて、割り当てられた訓練データの部分集合に基づいてラグランジュ未定乗数及び局所的なパラメータを更新し、他の計算ノードから取得したラグランジュ未定乗数及び局所的なパラメータを用いて、大域的制約パラメータを更新することを収束するまで繰り返すことにより、ランキング精度の低下を抑制して、高速にランキング関数を学習することができる。   As described above, according to the ranking function learning device according to the first embodiment, the Lagrange undetermined multiplier and local parameters are updated based on a subset of the assigned training data in each calculation node, Using the Lagrange undetermined multiplier and local parameters obtained from other computing nodes, it is possible to learn the ranking function at high speed by suppressing the decrease in ranking accuracy by repeating updating the global constraint parameters until convergence. can do.

また、web検索エンジン等で用いられている、文書の検索結果を表示する際に適合文書をどのような順序で提示するかを決定するランキング処理装置を自動的に構築することができる。   In addition, it is possible to automatically construct a ranking processing apparatus that is used in a web search engine or the like and that determines in what order the relevant documents are presented when displaying the document search results.

なお、上記の実施の形態では、各計算ノード23が、大域更新部34及び収束判定部35を備えている場合を例に説明したが、これに限定されるものではない。例えば、図4に示すように、各計算ノード23は、分割データ記憶部31及び局所更新部32を備え、演算部20が、大域更新部34、及び収束判定部35を1つずつ備えるように構成してもよい。この場合には、大域更新部34は、全ての計算ノード23nで得られたunとvnを使って、大域的制約パラメータwを更新し、収束判定部35は、得られた大域的制約パラメータwが収束して最適値になっているか判定するようにする。収束判定で、収束していなかった場合は、各計算ノード23に得られた大域的制約パラメータwを通知して局所更新部32による処理に戻るようにする。 In the above-described embodiment, the case where each calculation node 23 includes the global update unit 34 and the convergence determination unit 35 has been described as an example. However, the present invention is not limited to this. For example, as illustrated in FIG. 4, each calculation node 23 includes a divided data storage unit 31 and a local update unit 32, and the calculation unit 20 includes one global update unit 34 and one convergence determination unit 35. It may be configured. In this case, the global update unit 34 uses the u n and v n obtained in all the computing nodes 23 n, and updates the global constraint parameters w, the convergence determination unit 35, resulting global It is determined whether the constraint parameter w has converged to an optimum value. If the convergence is not determined in the convergence determination, the global constraint parameter w obtained for each computation node 23 is notified, and the process returns to the processing by the local updating unit 32.

〔第2の実施の形態〕
次に、第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
[Second Embodiment]
Next, a second embodiment will be described. In addition, about the part which becomes the structure similar to 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.

第2の実施の形態では、訓練データ集合に新たな訓練データが追加された際の処理を行っている点が、第1の実施の形態と異なっている。   The second embodiment is different from the first embodiment in that processing is performed when new training data is added to the training data set.

<発明の概要>
ランキング関数生成時に考慮したいこととして、ウェブ検索システムの検索対象となる文書集合は、時々刻々と変化しているため、それらの変化に対応したシステム作りがあげられる。この事象に対応するひとつの方法として、例えば、その時々で適した訓練データを逐次的に増やしていき、ランキング関数を現在の状態により適合したものに更新するという方法が考えられる。また、人間が検索システムを利用しているときに得られるクエリとそのときに選択した文書のペアを訓練データとみなすこともできるため、これらのフィードバックをリアルタイムで反映するといったことも考えられる。
<Outline of the invention>
One thing to consider when generating the ranking function is that the set of documents to be searched by the web search system changes from moment to moment. As one method corresponding to this phenomenon, for example, a method of sequentially increasing training data suitable for each occasion and updating the ranking function to a more suitable one for the current state can be considered. In addition, since a pair of a query obtained when a human uses a search system and a document selected at that time can be regarded as training data, it may be possible to reflect these feedbacks in real time.

上記非特許文献2〜4では、訓練データが逐次的に増加したときにどのように新しい訓練データを取り入れてランキング関数を構築するかといった点が特に言及されていないため、訓練データを逐次的に追加する際に必ずしも効率的になるとは言えない、という問題がある。   In the said nonpatent literatures 2-4, since the point of how a new training data is taken in and a ranking function is constructed | assembled when training data increases sequentially, training data is sequentially used. There is a problem that it is not always efficient when adding.

ここで、本発明における訓練データが逐次的に追加される際の処理について、図5を用いて説明する。   Here, the processing when the training data according to the present invention is sequentially added will be described with reference to FIG.

訓練データが逐次的に追加される際にも、本発明の枠組みは容易に対応することが可能である。本質的には、上記の第1の実施の形態で説明した静的な訓練データ集合を用いた学習方法をそのまま用いることができる。訓練データが時間毎に増加する際の処理では、前提として訓練データは無限に存在するという仮定をする。ただし、ある時刻tの時点では、たまたま、稼動している計算ノードはn個であったと想定する。その際に、本発明の枠組みでは、稼動しているn個の計算ノードだけを用いて部分的に処理を続行することが可能である。そして、時刻t+1の時にn+1個の計算ノードが利用できるといったように、各時刻で増加した訓練データの集合を、新たに追加したひとつの計算ノードに割り当てるような形で、訓練データが逐次的に増加する際にも学習処理を継続して行うことができる。   Even when training data is added sequentially, the framework of the present invention can easily cope. Essentially, the learning method using the static training data set described in the first embodiment can be used as it is. In the processing when the training data increases every time, it is assumed that the training data exists infinitely. However, it is assumed that, at a certain time t, it happens that there are n computing nodes operating. At that time, in the framework of the present invention, it is possible to continue the processing partially by using only n computing nodes that are operating. The training data is assigned in such a way that a set of training data increased at each time is allocated to one newly added computing node so that n + 1 computing nodes can be used at time t + 1. The learning process can be continued even when the number increases sequentially.

これは、本発明の方法が、ほぼ全ての計算を各計算ノード独立で行うことが可能であることに由来する。また、唯一全計算ノードで情報を共有しているwの更新では、最初からN個の計算ノードが止まることなく稼動して得られる解^wと、逐次的に追加して利用できる計算ノードを含む全ての計算ノードを利用して得た解^wとは一致する性質を持つ。この性質から、訓練データが逐次的に増加する環境でも効率良く計算することができる。   This is because the method of the present invention can perform almost all computations independently at each computation node. In addition, in the update of w, which is the only information sharing among all compute nodes, the solution ^ w obtained by running N compute nodes without stopping from the beginning and the compute nodes that can be used by adding sequentially are available. The solution ^ w obtained by using all the computation nodes including it has the same property. This property enables efficient calculation even in an environment where training data increases sequentially.

<システム構成>
図6に示すように、第2の実施の形態に係るランキング関数学習装置200の演算部220は、訓練データ記憶部21、分割部22、N個の計算ノード231〜23N、及びデータ追加部222を備えている。また、訓練データ記憶部21に新たに訓練データが追加された場合には、演算部220は、訓練データの追加に対応する少なくとも1つ(図6の例では2つ)の計算ノード223N+1、223N+2を備える。なお、計算ノード223N+1、223N+2のうちの任意の計算ノードを示す場合には、計算ノード223と称することとする。
<System configuration>
As illustrated in FIG. 6, the calculation unit 220 of the ranking function learning device 200 according to the second embodiment includes a training data storage unit 21, a division unit 22, N calculation nodes 23 1 to 23 N , and data addition. Part 222 is provided. When new training data is added to the training data storage unit 21, the calculation unit 220 adds at least one (two in the example of FIG. 6) calculation nodes 223 N + corresponding to the addition of training data. 1 and 223 N + 2 are provided. It should be noted that when any calculation node of the calculation nodes 223 N + 1 and 223 N + 2 is indicated, it is referred to as a calculation node 223.

データ追加部222は、ある時点までで訓練データ集合が追加された場合に、訓練データ集合の追加分を、計算ノード223N+1に割り当てる。また、次の時点までで訓練データ集合が更に追加された場合には、データ追加部222は、訓練データ集合の更なる追加分を、計算ノード223N+2に割り当てる。 When a training data set has been added up to a certain point in time, the data adding unit 222 assigns the additional training data set to the computation node 223 N + 1 . When the training data set is further added up to the next time point, the data adding unit 222 assigns a further addition of the training data set to the calculation node 223 N + 2 .

計算ノード223N+1〜223N+2の各々は、追加データ記憶部231、局所更新部32、同期部33、大域更新部34、及び収束判定部35を備えている。 Each of the computation nodes 223 N + 1 to 223 N + 2 includes an additional data storage unit 231, a local update unit 32, a synchronization unit 33, a global update unit 34, and a convergence determination unit 35.

追加データ記憶部231には、計算ノード223に割り当てられた、追加分の訓練データ集合を記憶する。   The additional data storage unit 231 stores an additional training data set assigned to the calculation node 223.

計算ノード223の局所更新部32及び収束判定部35は、計算ノード23と同様である。   The local update unit 32 and the convergence determination unit 35 of the calculation node 223 are the same as the calculation node 23.

計算ノード223の同期部33は、当該計算ノード223nで今回更新されたunとvnを、自分以外の全ての計算ノード23、223へ通知する。また、計算ノード23の同期部33も、当該計算ノード23iで今回更新されたuiとviを、自分以外の全ての計算ノード23、223へ通知する。計算ノード23、223の各々の同期部33は、他の計算ノード23、223全てから通知された、今回更新されたunとvnを受け取る。この処理によって、個々の計算ノード23、223は全ての計算ノード23、223の持つunとvnの値を取得することができる。 The synchronization unit 33 of the calculation node 223 notifies all the calculation nodes 23 and 223 other than itself of the u n and v n updated this time at the calculation node 223 n . Further, the synchronization unit 33 of the calculation node 23 also notifies all the calculation nodes 23 and 223 other than itself of the u i and v i updated this time in the calculation node 23 i . Each synchronization unit 33 of the computing node 23,223 were reported from other computing nodes 23,223 all receive this updated u n and v n. This process, individual compute nodes 23,223 can obtain the value of u n and v n with the all compute nodes 23,223.

計算ノード23、223の各々の大域更新部34は、他の計算ノード23、223全てから受け取ったunとvnを使って、上記(14)式に従って、大域的制約パラメータwを更新する。 Each global update unit 34 of the computing node 23,223, using the u n and v n received from other computing nodes 23,223 all, according to the above (14), it updates the global constraint parameters w.

<ランキング関数学習装置の作用>
次に、本実施の形態に係るランキング関数学習装置200の作用について説明する。まず、大量の訓練データからなる訓練データ集合がランキング関数学習装置200に入力されると、ランキング関数学習装置200によって、入力された訓練データ集合が、訓練データ記憶部21へ格納される。そして、ランキング関数学習装置200において、分割部22によって、訓練データ記憶部21の訓練データ集合を、N個の部分集合に分割し、N個の計算ノード231〜23Nに割り当てる。
<Operation of ranking function learning device>
Next, the operation of the ranking function learning device 200 according to the present embodiment will be described. First, when a training data set composed of a large amount of training data is input to the ranking function learning device 200, the input training data set is stored in the training data storage unit 21 by the ranking function learning device 200. In the ranking function learning device 200, the dividing unit 22 divides the training data set in the training data storage unit 21 into N subsets and assigns them to N computing nodes 231 to 23N.

そして、ランキング関数学習装置200の各計算ノード23によって、上記図3に示すランキング関数学習処理ルーチンが実行される。   Then, the ranking function learning processing routine shown in FIG. 3 is executed by each calculation node 23 of the ranking function learning device 200.

各計算ノード23によるランキング関数学習処理ルーチンの実行中に、訓練データ集合がランキング関数学習装置200に追加入力されると、ランキング関数学習装置200によって、追加入力された訓練データ集合が、訓練データ記憶部21へ格納される。そして、ランキング関数学習装置200において、データ追加部222によって、訓練データ記憶部21の訓練データ集合の追加分を、計算ノード223N+1に割り当てる。ランキング関数学習装置200の計算ノード223N+1によって、各計算ノード23と同様に、ランキング関数学習処理ルーチンが実行される。 When a training data set is additionally input to the ranking function learning device 200 during execution of the ranking function learning processing routine by each calculation node 23, the training data set additionally input by the ranking function learning device 200 is stored in the training data storage. Stored in the unit 21. In the ranking function learning apparatus 200, the data adding unit 222 assigns the additional portion of the training data set in the training data storage unit 21 to the calculation node 223 N + 1 . The ranking function learning processing routine is executed by the calculation node 223 N + 1 of the ranking function learning device 200 in the same manner as each calculation node 23.

このとき、各計算ノード23、223で実行されるランキング関数学習処理ルーチンのステップS104では、更新されたラグランジュ未定乗数ui及び局所的なパラメータviを他の計算ノード23、223に通知すると共に、他の計算ノード23、223全てから、更新されたラグランジュ未定乗数ui及び上記ステップ103で更新された局所的なパラメータviを取得する。 At this time, in step S104 of the ranking function learning processing routine executed in each calculation node 23, 223, the updated Lagrange undetermined multiplier u i and the local parameter v i are notified to the other calculation nodes 23, 223. The updated Lagrange undetermined multiplier u i and the local parameter v i updated in step 103 are obtained from all the other computation nodes 23 and 223.

また、各計算ノード23、223N+1によるランキング関数学習処理ルーチンの実行中に、訓練データ集合がランキング関数学習装置200に追加入力されると、ランキング関数学習装置200によって、追加入力された訓練データ集合が、訓練データ記憶部21へ格納される。データ追加部222によって、訓練データ記憶部21の訓練データ集合の更なる追加分を、計算ノード223N+2に割り当てる。ランキング関数学習装置200の計算ノード223N+2によって、各計算ノード23と同様に、ランキング関数学習処理ルーチンが実行される。 Further, when a training data set is additionally input to the ranking function learning device 200 during execution of the ranking function learning processing routine by each of the calculation nodes 23 and 223 N + 1 , the training additionally input by the ranking function learning device 200 is input. The data set is stored in the training data storage unit 21. The data addition unit 222 assigns a further addition of the training data set in the training data storage unit 21 to the calculation node 223 N + 2 . The ranking function learning processing routine is executed by the calculation node 223 N + 2 of the ranking function learning device 200 in the same manner as each calculation node 23.

また、訓練データ集合が追加入力される毎に、計算ノード223N+3, 223N+4,・・・と計算ノード223を追加し、訓練データ集合の更なる追加分を割り当て、ランキング関数学習処理ルーチンを同様に実行させる。 Further, each time a training data set is additionally input, calculation nodes 223 N + 3 , 223 N + 4 ,... And a calculation node 223 are added, and a further addition of the training data set is assigned, and ranking function learning is performed. The processing routine is executed similarly.

以上説明したように、第2の実施の形態に係るランキング関数学習装置によれば、ランキング処理装置で利用するランキング関数を学習する際に、訓練データの大規模化と逐次投入化を同時に可能とする。これにより、従来扱えなかった大量の訓練データを用いて従来より高精度なランキング関数を構築することが可能となる。また、逐次的に訓練データを増加させながら、ランキング関数の構築が可能となるため、時々刻々と変化するデータに対応してランキング関数を適応させることが容易となる。   As described above, according to the ranking function learning device according to the second embodiment, when learning the ranking function used in the ranking processing device, it is possible to simultaneously increase the scale of training data and sequentially input the training data. To do. Thereby, it becomes possible to construct a ranking function with higher accuracy than before by using a large amount of training data that could not be handled conventionally. In addition, since the ranking function can be constructed while increasing the training data sequentially, it becomes easy to adapt the ranking function in accordance with the data that changes every moment.

また、検索のランキング関数学習処理においては、実際にユーザが入力した検索クエリとユーザがクリックしたWebページが、擬似的な訓練データとして利用可能である。これらのいわゆるユーザフィードバックを逐次的に取り入れてランキング関数の性能を向上させることが可能となる。   In the search ranking function learning process, the search query actually input by the user and the Web page clicked by the user can be used as pseudo training data. It is possible to improve the performance of the ranking function by sequentially incorporating these so-called user feedbacks.

なお、上記の実施の形態では、訓練データの追加前から実行されているランキング関数学習処理ルーチンを、計算ノードが実行している間に、訓練データが追加される場合を例に説明したが、これに限定されるものではない。N個の計算ノードによって、ランキング関数学習処理ルーチンの実行が終了した後に、訓練データが追加された場合であってもよい。この場合には、訓練データの追加前に実行完了したランキング関数学習処理ルーチンで最終的に得られた各種変数u,v,wの値を保持しておき、保持した値を、各種変数の初期値として設定して、追加された計算ノードを含む複数の計算ノードの各々によって、ランキング関数学習処理ルーチンを実行するようにすればよい。これによって、訓練データが追加される前に学習した結果を有効利用することができる。   In the above embodiment, the ranking function learning process routine executed before the addition of training data has been described as an example of the case where training data is added while the calculation node is executing. It is not limited to this. The training data may be added after the execution of the ranking function learning processing routine is completed by N calculation nodes. In this case, the values of the various variables u, v, and w finally obtained by the ranking function learning process routine that has been executed before the addition of the training data are stored, and the stored values are used as initial values of the various variables. The ranking function learning processing routine may be executed by each of a plurality of calculation nodes including the added calculation node. Thereby, it is possible to effectively use the result learned before the training data is added.

〔第3の実施の形態〕
次に、第3の実施の形態について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
[Third Embodiment]
Next, a third embodiment will be described. In addition, about the part which becomes the structure similar to 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.

第3の実施の形態では、ネットワークで接続された複数の学習装置を備えた分散並列計算環境において、複数の学習装置による分散並列計算で、パラメータ更新を行っている点が、第1の実施の形態と異なっている。   In the third embodiment, in the distributed parallel computing environment provided with a plurality of learning devices connected by a network, parameter updating is performed by distributed parallel computation by a plurality of learning devices. It is different from the form.

<システム構成>
図7に示すように、第3の実施の形態に係るランキング関数学習システム300は、学習制御装置301、及びN個の学習装置3021〜302Nを備えている。学習制御装置301及びN個の学習装置3021〜302Nは、ネットワーク303を介して接続されている。なお、学習装置3021〜302Nのうちの任意の学習装置を示す場合には、学習装置302と称することとする。
<System configuration>
As shown in FIG. 7, the ranking function learning system 300 according to the third embodiment includes a learning control device 301 and N learning devices 302 1 to 302 N. The learning control device 301 and the N learning devices 302 1 to 302 N are connected via a network 303. Note that when any learning device among the learning devices 302 1 to 302 N is shown, it is referred to as a learning device 302.

図8に示すように、学習制御装置301は、入力部10、演算部320、及び出力部330を備えている。   As illustrated in FIG. 8, the learning control device 301 includes an input unit 10, a calculation unit 320, and an output unit 330.

演算部320は、訓練データ記憶部21及び分割部22を備えている。   The calculation unit 320 includes a training data storage unit 21 and a division unit 22.

分割部22は、訓練データ記憶部21に記憶された訓練データ集合を、N個の部分集合に分割し、ネットワーク303を介してN個の学習装置3021〜302Nに送信する。また、分割部22は、入力されたパラメータρを、ネットワーク303を介してN個の学習装置3021〜302Nの各々に送信する。 Dividing unit 22, a training data set stored in the training data storage unit 21, it is divided into N subsets, via the network 303 to the N learning apparatus 302 1 to 302 N. The dividing unit 22 transmits the input parameter ρ to each of the N learning apparatuses 302 1 to 302 N via the network 303.

N個の学習装置3021〜302Nの各々は、図9に示すように、入力部340、演算部350、及び出力部360を備えている。 Each of the N learning devices 302 1 to 302 N includes an input unit 340, a calculation unit 350, and an output unit 360, as shown in FIG.

入力部340は、学習制御装置301から送信された訓練データ集合の部分集合を受け付ける。また、入力部340は、他の学習装置302からネットワーク303を介して送信された情報を受け付ける。   The input unit 340 receives a subset of the training data set transmitted from the learning control device 301. Further, the input unit 340 receives information transmitted from the other learning device 302 via the network 303.

演算部350は、分割データ記憶部31、局所更新部32、同期部33、大域更新部34、及び収束判定部35を備えている。   The calculation unit 350 includes a divided data storage unit 31, a local update unit 32, a synchronization unit 33, a global update unit 34, and a convergence determination unit 35.

分割データ記憶部31には、学習装置302に送信された訓練データ集合の部分集合を記憶する。   The divided data storage unit 31 stores a subset of the training data set transmitted to the learning device 302.

同期部33は、当該学習装置302nで今回更新されたunとvnを、自分以外の全ての学習装置302へネットワーク303を介して送信する。また、同期部33は、他の学習装置302i全てから送信された、今回更新されたuiとviを受け取る。この処理によって、個々の学習装置302は全ての学習装置302nの持つunとvnの値を取得することができる。 The synchronization unit 33 transmits u n and v n updated this time by the learning device 302 n to all the learning devices 302 other than the learning device 302 n via the network 303. The synchronization unit 33 also receives the currently updated u i and v i transmitted from all the other learning devices 302 i . By this processing, each learning device 302 can acquire the values of u n and v n possessed by all the learning devices 302 n .

大域更新部34は、他の学習装置302i全てから受け取ったuiとviを使って、上記(14)式に従って、大域的制約パラメータwを更新する。 The global updating unit 34 uses the u i and v i received from all the other learning devices 302 i to update the global constraint parameter w according to the above equation (14).

収束判定部35は、得られた大域的制約パラメータwが収束して最適値になっているか判定し、収束したと判定されたときに得られた大域的制約パラメータwを、ランキング関数を構成するパラメータとして、出力部360により学習制御装置301へ送信する。   The convergence determination unit 35 determines whether the obtained global constraint parameter w has converged to an optimum value, and configures the global constraint parameter w obtained when it is determined to have converged to form a ranking function. The parameter is transmitted to the learning control apparatus 301 by the output unit 360 as a parameter.

<ランキング関数学習システムの作用>
次に、本実施の形態に係るランキング関数学習システム300の作用について説明する。まず、大量の訓練データからなる訓練データ集合が学習制御装置301に入力されると、学習制御装置301によって、入力された訓練データ集合が、訓練データ記憶部21へ格納される。そして、学習制御装置301において、分割部22によって、訓練データ記憶部21の訓練データ集合を、N個の部分集合に分割し、ネットワーク303を介してN個の学習装置302へ送信して、N個の学習装置302に割り当てる。訓練データ集合の部分集合が、学習装置3021〜302Nの分割データ記憶部31に格納される。
<Operation of ranking function learning system>
Next, the operation of the ranking function learning system 300 according to the present embodiment will be described. First, when a training data set including a large amount of training data is input to the learning control device 301, the input training data set is stored in the training data storage unit 21 by the learning control device 301. Then, in the learning control device 301, the dividing unit 22 divides the training data set in the training data storage unit 21 into N subsets, and transmits them to the N learning devices 302 via the network 303. Assign to each learning device 302. A subset of the training data set is stored in the divided data storage unit 31 of the learning devices 302 1 to 302 N.

そして、各学習装置302によって、上記図3に示すランキング関数学習処理ルーチンが実行される。   Then, the ranking function learning process routine shown in FIG. 3 is executed by each learning device 302.

少なくとも1つの学習装置302によって、最終的に更新された大域的制約パラメータwが、ネットワーク303を介して学習制御装置301へ送信される。学習制御装置301は、学習装置302により受信した大域的制約パラメータwを出力部330により出力する。   The global constraint parameter w finally updated by at least one learning device 302 is transmitted to the learning control device 301 via the network 303. The learning control device 301 outputs the global constraint parameter w received by the learning device 302 by the output unit 330.

以上説明したように、第3の実施の形態に係るランキング関数学習システムによれば、ネットワークを介して接続された複数の学習装置によって、分散並列処理によるランキング関数学習処理を行うため、処理を高速化でき、訓練データの更なる大規模化に対応することができる。   As described above, according to the ranking function learning system according to the third embodiment, since the ranking function learning process by the distributed parallel processing is performed by a plurality of learning devices connected via the network, the processing is performed at high speed. And can cope with further enlargement of training data.

なお、上記の実施の形態において、上述した第2の実施の形態における訓練データの逐次追加に対応する技術を適用してもよい。この場合には、訓練データが追加される毎に、ランキング学習処理を行う学習装置を増やして対応すればよい。   In the above embodiment, a technique corresponding to the sequential addition of training data in the above-described second embodiment may be applied. In this case, every time training data is added, the number of learning devices that perform ranking learning processing may be increased.

<実験例>
次に、本発明の実施の形態で提案するランキング関数学習方法を用いた実験の結果について説明する。
<Experimental example>
Next, the results of experiments using the ranking function learning method proposed in the embodiment of the present invention will be described.

訓練データ集合が静的な場合と、逐次的に訓練データが追加される場合とについて、それぞれ実験を行った。また、比較手法として、参考文献3(Ryan McDonald, Keith Hall, and Gideon Mann. Distributed training strategies for the structured perceptron. In NAACL HLT, 2010.)に記載の方法を用いた。   Experiments were conducted for each case where the training data set was static and where training data was added sequentially. As a comparative method, the method described in Reference 3 (Ryan McDonald, Keith Hall, and Gideon Mann. Distributed training strategies for the structured perceptron. In NAACL HLT, 2010.) was used.

図10に実験結果を示す。図10のグラフの縦軸は精度であり、横軸は学習処理中の繰り返し回数である。また、「Batch」とは、全訓練データをはじめから利用した場合の実験結果を表わし、「Stream」とは、逐次的に訓練データを投入した場青の実験結果を表わす。また、「Batch ADMM」及び「Stream ADMM」が、本発明の実施の形態で提案するランキング関数学習方法提案手法の実験結果を表わし、「Batch Iter. Param Mix」及び「Stream Iter. Param Mix」が、比較手法を用いた場合の実験結果を表わす。本発明の実施の形態で提案するランキング関数学習方法を用いた場合には、従来方法より、精度が高くなることがわかった。また、逐次的に投入しても、全訓練データをはじめから使っているときとほぼ同じ解が得られることがわかった。   FIG. 10 shows the experimental results. The vertical axis of the graph of FIG. 10 is the accuracy, and the horizontal axis is the number of repetitions during the learning process. “Batch” represents an experimental result when all training data is used from the beginning, and “Stream” represents a field blue experimental result in which training data is sequentially input. “Batch ADMM” and “Stream ADMM” represent the experimental results of the proposed ranking function learning method proposed in the embodiment of the present invention, and “Batch Iter. Param Mix” and “Stream Iter. Param Mix” The experimental results when the comparison method is used are shown. It was found that when the ranking function learning method proposed in the embodiment of the present invention is used, the accuracy is higher than that of the conventional method. Moreover, even if it inputs sequentially, it turned out that almost the same solution as when using all training data from the beginning is obtained.

また、分散並列処理を行う方法を用いた実験を行った。学習処理を行う計算機の数を、1個、12個、36個、72個とした場合それぞれについて実験を行った。図11に実験結果を示す。図11のグラフの縦軸はエラー率であり、横軸は学習処理中の繰り返し回数である。分散並列処理を行う計算機の数を増やすほどエラーを少なくできることがわかった。   In addition, an experiment using a method of distributed parallel processing was performed. Experiments were conducted when the number of computers for learning processing was 1, 12, 36, and 72, respectively. FIG. 11 shows the experimental results. The vertical axis of the graph in FIG. 11 is the error rate, and the horizontal axis is the number of repetitions during the learning process. It was found that the error can be reduced by increasing the number of computers that perform distributed parallel processing.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

例えば、上述のランキング関数学習装置、学習制御装置、学習装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。   For example, although the ranking function learning device, the learning control device, and the learning device described above have a computer system inside, if the “computer system” uses a WWW system, a homepage providing environment ( Or a display environment).

また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。   In the present specification, the embodiment has been described in which the program is installed in advance. However, the program can be provided by being stored in a computer-readable recording medium.

10、340 入力部
20、220、320、350演算部
21 訓練データ記憶部
22 分割部
23、223 計算ノード
31 分割データ記憶部
32 局所更新部
33 同期部
34 大域更新部
35 収束判定部
100、200ランキング関数学習装置
231 追加データ記憶部
300 ランキング関数学習システム
301 学習制御装置
302 学習装置
10, 340 Input unit 20, 220, 320, 350 Calculation unit 21 Training data storage unit 22 Division unit 23, 223 Calculation node 31 Division data storage unit 32 Local update unit 33 Synchronization unit 34 Global update unit 35 Convergence determination unit 100, 200 Ranking function learning device 231 Additional data storage unit 300 Ranking function learning system 301 Learning control device 302 Learning device

Claims (9)

検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置であって、
検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、
前記ランキング関数に関するパラメータを学習するN個(Nは2以上の自然数である)の計算ノードと、
前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てる分割手段と、を含み、
前記N個の計算ノードの各々は、
前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新する局所更新手段と、
前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記局所的なパラメータを取得する同期手段と、
前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータ及び前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新する大域更新手段と、
前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返す収束判定手段と
を含むランキング関数学習装置。
A device for learning parameters related to a ranking function for ranking a search result obtained by searching a set of documents based on a search query,
Training data storage means for storing a set of training data including a feature value obtained for each document of a search result for a search query and a fitness for the search query;
N calculation nodes (N is a natural number of 2 or more) for learning parameters related to the ranking function;
Dividing means for dividing the set of training data stored in the training data storage means into N subsets and assigning it to the N computation nodes;
Each of the N compute nodes is
Local updating means for updating a local parameter that is a parameter related to the ranking function based on a subset of the training data assigned by the dividing means;
Synchronizing means for notifying other local nodes of the local parameters updated by the local updating means, and acquiring the local parameters notified from the other computational nodes;
Based on the local parameters of the other computation nodes acquired by the synchronization means and the local parameters updated by the local update means, parameters relating to the ranking function, and Global update means for updating global parameters for matching the local parameters;
It is determined whether the value of the global parameter has converged, and until it is determined that the value of the global parameter has converged, the update by the local update unit, the notification and acquisition by the synchronization unit, and the global A ranking function learning device comprising: a convergence determining unit that repeats updating by the updating unit.
前記局所更新手段は、前記分割手段によって割り当てられた前記訓練データの部分集合と、前回更新されたラグランジュ未定乗数、前記局所的なパラメータ、及び前記大域的なパラメータとを用いて、予め定められた目的関数の値を最適化するように、前記ラグランジュ未定乗数及び前記局所的なパラメータを更新し、
前記同期手段は、前記局所更新手段によって更新された前記ラグランジュ未定乗数及び前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記ラグランジュ未定乗数及び前記局所的なパラメータを取得し、
前記大域更新手段は、前記同期手段によって取得した前記他の計算ノードの前記ラグランジュ未定乗数及び前記局所的なパラメータ、並びに前記局所更新手段によって更新された前記ラグランジュ未定乗数及び前記局所的なパラメータに基づいて、前記目的関数の値を最適化するように、前記大域的なパラメータを更新する請求項1記載のランキング関数学習装置。
The local updating means is determined in advance using a subset of the training data assigned by the dividing means, a Lagrange undetermined multiplier updated last time, the local parameters, and the global parameters. Updating the Lagrange undetermined multiplier and the local parameter to optimize the value of the objective function;
The synchronization means notifies the Lagrange undetermined multiplier and the local parameter updated by the local update means to another calculation node, and also notifies the Lagrange undetermined multiplier and the local parameter notified from the other calculation node. Specific parameters,
The global update means is based on the Lagrange undetermined multiplier and the local parameter of the other computation node acquired by the synchronization means, and the Lagrange undetermined multiplier and the local parameter updated by the local update means. The ranking function learning device according to claim 1, wherein the global parameter is updated so as to optimize the value of the objective function.
前記訓練データ記憶手段に前記訓練データの集合が追加された場合に、前記ランキング関数に関するパラメータを学習する追加の計算ノードを更に含み、
前記追加の計算ノードは、
前記追加された前記訓練データの集合に基づいて、前記局所的なパラメータを更新する局所更新手段と、
前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから前記局所的なパラメータを取得する同期手段と、
前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータに基づいて、前記大域的なパラメータを更新する大域更新手段と、
前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返す収束判定手段とを含み、
前記計算ノードの各々の同期手段は、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノード及び前記追加の計算ノードに通知すると共に、前記他の計算ノード及び前記追加の計算ノードから通知された前記局所的なパラメータを取得する請求項1又は2記載のランキング関数学習装置。
An additional computation node that learns parameters related to the ranking function when the set of training data is added to the training data storage means;
The additional compute node is
Local update means for updating the local parameters based on the set of the added training data;
Synchronizing means for notifying other local nodes of the local parameters updated by the local updating means, and acquiring the local parameters from the other computational nodes;
Global update means for updating the global parameters based on the local parameters of the other computation nodes acquired by the synchronization means;
It is determined whether the value of the global parameter has converged, and until it is determined that the value of the global parameter has converged, the update by the local update unit, the notification and acquisition by the synchronization unit, and the global A convergence determination unit that repeats updating by the updating unit,
The synchronization means of each of the computation nodes notifies the other computation nodes and the additional computation nodes of the local parameters updated by the local update means, and the other computation nodes and the additional computations. The ranking function learning device according to claim 1, wherein the local parameter notified from the node is acquired.
検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置であって、
検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、
前記ランキング関数に関するパラメータを学習するN個(Nは2以上の自然数である)の計算ノードと、
前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てる分割手段と、
大域更新手段と、収束判定手段とを含み、
前記N個の計算ノードの各々は、
前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新する局所更新手段を含み、
前記大域更新手段は、前記全ての計算ノードの前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新する手段であり、
前記収束判定手段は、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、各計算ノードの前記局所更新手段による更新及び前記大域更新手段による更新を繰り返す手段である
ことを特徴とするランキング関数学習装置。
A device for learning parameters related to a ranking function for ranking a search result obtained by searching a set of documents based on a search query,
Training data storage means for storing a set of training data including a feature value obtained for each document of a search result for a search query and a fitness for the search query;
N calculation nodes (N is a natural number of 2 or more) for learning parameters related to the ranking function;
Dividing means for dividing the set of training data stored in the training data storage means into N subsets and assigning the set to the N computing nodes;
Including global update means and convergence determination means,
Each of the N compute nodes is
Local updating means for updating a local parameter that is a parameter relating to the ranking function based on a subset of the training data assigned by the dividing means;
The global update means is a parameter related to the ranking function based on the local parameters updated by the local update means of all the calculation nodes, and the local parameters of each calculation node A means of updating global parameters to match,
The convergence determination means determines whether or not the value of the global parameter has converged, and updates the calculation nodes by the local update means until it is determined that the value of the global parameter has converged and A ranking function learning device, characterized in that it is means for repeating the update by the global update means.
検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、N個(Nは2以上の自然数である)の計算ノードと、分割手段とを含む、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置におけるランキング関数学習方法であって、
前記分割手段によって、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てるステップと、
前記N個の計算ノードの各々によって、前記ランキング関数に関するパラメータを学習するステップとを含み、
前記計算ノードによって学習するステップは、
局所更新手段によって、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新するステップと、
同期手段によって、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記局所的なパラメータを取得するステップと、
大域更新手段によって、前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータ及び前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新するステップと、
収束判定手段によって、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返すステップと
を含むランキング関数学習方法。
Training data storage means for storing a set of training data including the feature value obtained for each document of the search result for the search query and the fitness for the search query, and N calculations (N is a natural number of 2 or more) A ranking function learning method in an apparatus for learning parameters related to a ranking function for ranking a search result obtained by searching a set of documents based on a search query, including nodes and dividing means,
Dividing the set of training data stored in the training data storage means by the dividing means into N subsets and assigning it to the N computing nodes;
Learning parameters related to the ranking function by each of the N computational nodes;
The step of learning by the computation node comprises:
Updating a parameter related to the ranking function and a local parameter based on a subset of the training data assigned by the dividing unit by a local updating unit;
Notifying other local nodes of the local parameters updated by the local updater by means of synchronization, and obtaining the local parameters notified from the other local nodes;
A parameter related to the ranking function based on the local parameter of the other computation node acquired by the synchronization unit and the local parameter updated by the local update unit by a global updating unit; and Updating global parameters to match the local parameters of each compute node;
The convergence determining means determines whether or not the global parameter value has converged, and until it is determined that the global parameter value has converged, the updating by the local updating means, the notification by the synchronizing means, and A ranking function learning method including: obtaining and repeating updating by the global updating means.
前記局所更新手段によって更新するステップは、前記分割手段によって割り当てられた前記訓練データの部分集合と、前回更新されたラグランジュ未定乗数、前記局所的なパラメータ、及び前記大域的なパラメータとを用いて、予め定められた目的関数の値を最適化するように、前記ラグランジュ未定乗数及び前記局所的なパラメータを更新し、
前記同期手段によって通知及び取得するステップは、前記局所更新手段によって更新された前記ラグランジュ未定乗数及び前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから通知された前記ラグランジュ未定乗数及び前記局所的なパラメータを取得し、
前記大域更新手段によって更新するステップは、前記同期手段によって取得した前記他の計算ノードの前記ラグランジュ未定乗数及び前記局所的なパラメータ、並びに前記局所更新手段によって更新された前記ラグランジュ未定乗数及び前記局所的なパラメータに基づいて、前記目的関数の値を最適化するように、前記大域的なパラメータを更新する請求項5記載のランキング関数学習方法。
The step of updating by the local updating means uses a subset of the training data allocated by the dividing means, a Lagrange undetermined multiplier updated last time, the local parameter, and the global parameter, Updating the Lagrange undetermined multiplier and the local parameter to optimize the value of a predetermined objective function;
The step of notifying and acquiring by the synchronization means notifies the Lagrangian undetermined multiplier and the local parameter updated by the local update means to other calculation nodes and the notification from the other calculation nodes. Obtaining a Lagrange undetermined multiplier and the local parameters;
The step of updating by the global updating means includes the Lagrange undetermined multiplier and the local parameter of the other calculation node acquired by the synchronizing means, and the Lagrange undetermined multiplier and the local parameter updated by the local updating means. The ranking function learning method according to claim 5, wherein the global parameter is updated so as to optimize the value of the objective function based on a correct parameter.
追加の計算ノードによって、前記訓練データ記憶手段に前記訓練データの集合が追加された場合に、前記ランキング関数に関するパラメータを学習するステップを更に含み、
前記追加の計算ノードによって学習するステップは、
局所更新手段によって、前記追加された前記訓練データの集合に基づいて、前記局所的なパラメータを更新するステップと、
同期手段によって、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノードに通知すると共に、前記他の計算ノードから前記局所的なパラメータを取得するステップと、
大域更新手段によって、前記同期手段によって取得した前記他の計算ノードの前記局所的なパラメータに基づいて、前記大域的なパラメータを更新するステップと、
収束判定手段によって、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、前記局所更新手段による更新、前記同期手段による通知及び取得、並びに前記大域更新手段による更新を繰り返すステップとを含み、
前記計算ノードの各々の同期手段によって通知及び取得するステップは、前記局所更新手段によって更新された前記局所的なパラメータを、他の計算ノード及び前記追加の計算ノードに通知すると共に、前記他の計算ノード及び前記追加の計算ノードから通知された前記局所的なパラメータを取得する請求項5又は6記載のランキング関数学習方法。
Learning a parameter related to the ranking function when the set of training data is added to the training data storage means by an additional computation node;
Learning with the additional compute node comprises:
Updating the local parameters based on the set of the added training data by a local updating means;
Notifying other local computing nodes of the local parameters updated by the local updating means by means of synchronization, and obtaining the local parameters from the other computational nodes;
Updating the global parameter based on the local parameter of the other computation node acquired by the synchronization unit by a global update unit;
The convergence determining means determines whether or not the global parameter value has converged, and until it is determined that the global parameter value has converged, the updating by the local updating means, the notification by the synchronizing means, and And repeating the acquisition and updating by the global updating means,
The step of notifying and obtaining by each synchronization means of the computation node notifies the other computation node and the additional computation node of the local parameter updated by the local update means, and The ranking function learning method according to claim 5 or 6, wherein the local parameter notified from a node and the additional calculation node is acquired.
検索クエリに対する検索結果の各文書について求められた特徴値及び前記検索クエリに対する適合度を含む訓練データの集合を記憶した訓練データ記憶手段と、N個(Nは2以上の自然数である)の計算ノードと、分割手段と、大域更新手段と、収束判定手段とを含む、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数に関するパラメータを学習する装置におけるランキング関数学習方法であって、
前記分割手段によって、前記訓練データ記憶手段に記憶された前記訓練データの集合を、N個の部分集合に分割して前記N個の計算ノードに割り当てるステップと、
前記N個の計算ノードの各々によって、前記ランキング関数に関するパラメータを学習するステップと、
前記大域更新手段によって更新するステップと、
前記収束判定手段によって判定するステップと、を含み、
前記計算ノードによって学習するステップは、
局所更新手段によって、前記分割手段によって割り当てられた前記訓練データの部分集合に基づいて、前記ランキング関数に関するパラメータであって、かつ、局所的なパラメータを更新するステップを含み、
前記大域更新手段によって更新するステップは、前記全ての計算ノードの前記局所更新手段によって更新された前記局所的なパラメータに基づいて、前記ランキング関数に関するパラメータであって、かつ、各計算ノードの前記局所的なパラメータを一致させるための大域的なパラメータを更新するステップであり、
前記収束判定手段によって判定するステップは、前記大域的なパラメータの値が収束したか否かを判定し、前記大域的なパラメータの値が収束したと判定するまで、各計算ノードの前記局所更新手段による更新及び前記大域更新手段による更新を繰り返すステップである
ことを特徴とするランキング関数学習方法。
Training data storage means for storing a set of training data including the feature value obtained for each document of the search result for the search query and the fitness for the search query, and N calculations (N is a natural number of 2 or more) A ranking function learning method in an apparatus for learning parameters related to a ranking function for ranking a search result obtained by searching a set of documents based on a search query, including a node, a dividing unit, a global updating unit, and a convergence determining unit There,
Dividing the set of training data stored in the training data storage means by the dividing means into N subsets and assigning it to the N computing nodes;
Learning a parameter related to the ranking function by each of the N computational nodes;
Updating by the global updating means;
Determining by the convergence determination means,
The step of learning by the computation node comprises:
Updating a parameter related to the ranking function and a local parameter based on a subset of the training data assigned by the dividing unit by a local updating unit;
The step of updating by the global updating means is a parameter relating to the ranking function based on the local parameter updated by the local updating means of all the computation nodes, and the local of each computation node Updating global parameters to match the global parameters,
The step of determining by the convergence determination means determines whether or not the value of the global parameter has converged, and the local update means of each calculation node until it is determined that the value of the global parameter has converged The ranking function learning method is characterized in that it is a step of repeating the update by the update by the global update means.
コンピュータを、請求項1〜請求項4の何れか1項記載のランキング関数学習装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the ranking function learning apparatus of any one of Claims 1-4.
JP2011266048A 2011-12-05 2011-12-05 Ranking function learning apparatus, method, and program Active JP5734820B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011266048A JP5734820B2 (en) 2011-12-05 2011-12-05 Ranking function learning apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011266048A JP5734820B2 (en) 2011-12-05 2011-12-05 Ranking function learning apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2013117921A true JP2013117921A (en) 2013-06-13
JP5734820B2 JP5734820B2 (en) 2015-06-17

Family

ID=48712425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011266048A Active JP5734820B2 (en) 2011-12-05 2011-12-05 Ranking function learning apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP5734820B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186656A (en) * 2012-03-07 2013-09-19 Nippon Telegr & Teleph Corp <Ntt> Natural language analysis processing device, method, and program
CN108009668A (en) * 2017-10-31 2018-05-08 中国南方电网有限责任公司 A kind of tune load forecasting method on a large scale using machine learning
WO2019187120A1 (en) * 2018-03-30 2019-10-03 富士通株式会社 Response output program, response output method, information processing device, and machine learning program
JP2020030691A (en) * 2018-08-23 2020-02-27 株式会社日立製作所 Optimizing system and optimizing method
JP2020537797A (en) * 2017-10-02 2020-12-24 アイエムイーシー ブイゼットダブリュー Data analysis and forecasting mediated by secure brokers
CN113538178A (en) * 2021-06-10 2021-10-22 北京易创新科信息技术有限公司 Intellectual property value evaluation method and device, electronic equipment and readable storage medium
JP7030296B1 (en) * 2021-05-26 2022-03-07 株式会社エス・ケイ通信 Programs, methods, information processing equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528628A (en) * 2006-02-27 2009-08-06 マイクロソフト コーポレーション Relevance propagation from labeled documents to unlabeled documents
JP2011232996A (en) * 2010-04-28 2011-11-17 Ntt Docomo Inc Machine learning method and machine learning system
JP2011232997A (en) * 2010-04-28 2011-11-17 Ntt Docomo Inc Machine learning method and machine learning system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528628A (en) * 2006-02-27 2009-08-06 マイクロソフト コーポレーション Relevance propagation from labeled documents to unlabeled documents
JP2011232996A (en) * 2010-04-28 2011-11-17 Ntt Docomo Inc Machine learning method and machine learning system
JP2011232997A (en) * 2010-04-28 2011-11-17 Ntt Docomo Inc Machine learning method and machine learning system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7014002841; Jun Suzuki et al.: 'Distributed Minimum Error Rate Training of SMT using Particle Swarm Optimization' [online] , 20111113, pp.649-657 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186656A (en) * 2012-03-07 2013-09-19 Nippon Telegr & Teleph Corp <Ntt> Natural language analysis processing device, method, and program
US11615288B2 (en) 2017-10-02 2023-03-28 Imec Vzw Secure broker-mediated data analysis and prediction
JP2020537797A (en) * 2017-10-02 2020-12-24 アイエムイーシー ブイゼットダブリュー Data analysis and forecasting mediated by secure brokers
JP7374905B2 (en) 2017-10-02 2023-11-07 アイエムイーシー ブイゼットダブリュー Data analysis and predictions mediated by secure brokers
CN108009668A (en) * 2017-10-31 2018-05-08 中国南方电网有限责任公司 A kind of tune load forecasting method on a large scale using machine learning
CN108009668B (en) * 2017-10-31 2023-08-25 中国南方电网有限责任公司 Large-scale load adjustment prediction method applying machine learning
WO2019187120A1 (en) * 2018-03-30 2019-10-03 富士通株式会社 Response output program, response output method, information processing device, and machine learning program
JPWO2019187120A1 (en) * 2018-03-30 2020-12-03 富士通株式会社 Answer output program, answer output method, information processing device and machine learning program
JP7017177B2 (en) 2018-03-30 2022-02-08 富士通株式会社 Answer output program, answer output method and information processing device
JP2020030691A (en) * 2018-08-23 2020-02-27 株式会社日立製作所 Optimizing system and optimizing method
WO2022249676A1 (en) * 2021-05-26 2022-12-01 株式会社エス・ケイ通信 Program, method, and information processing device
JP2022181236A (en) * 2021-05-26 2022-12-08 株式会社エス・ケイ通信 Program, method, and information processing device
JP7030296B1 (en) * 2021-05-26 2022-03-07 株式会社エス・ケイ通信 Programs, methods, information processing equipment
CN113538178A (en) * 2021-06-10 2021-10-22 北京易创新科信息技术有限公司 Intellectual property value evaluation method and device, electronic equipment and readable storage medium

Also Published As

Publication number Publication date
JP5734820B2 (en) 2015-06-17

Similar Documents

Publication Publication Date Title
JP5734820B2 (en) Ranking function learning apparatus, method, and program
Eichner et al. Semi-cyclic stochastic gradient descent
US11423082B2 (en) Methods and apparatus for subgraph matching in big data analysis
Price et al. FastTree: computing large minimum evolution trees with profiles instead of a distance matrix
Boussau et al. Efficient likelihood computations with nonreversible models of evolution
US20180046918A1 (en) Aggregate Features For Machine Learning
US9940386B2 (en) Distributed model-building
US10706103B2 (en) System and method for hierarchical distributed processing of large bipartite graphs
US20160306888A1 (en) Identifying influencers for topics in social media
JP2019519027A (en) Learning from historical logs and recommending database operations on data assets in ETL tools
WO2021003391A1 (en) Machine learning systems and methods for evaluating sampling bias in deep active classification
Borisyuk et al. CaSMoS: A framework for learning candidate selection models over structured queries and documents
US20120158740A1 (en) Caching web documents in two or more caches
US20130151536A1 (en) Vertex-Proximity Query Processing
Shao et al. Estimation of distribution algorithm with path relinking for the blocking flow-shop scheduling problem
Ordentlich et al. Network-efficient distributed word2vec training system for large vocabularies
Cui et al. A hybrid genetic algorithm for non-permutation flow shop scheduling problems with unavailability constraints
US20200084019A1 (en) Blockchain Ranking Engine
US11109085B2 (en) Utilizing one hash permutation and populated-value-slot-based densification for generating audience segment trait recommendations
US20210019125A1 (en) Systems and Methods for Synthesizing Code from Input and Output Examples
US20130054566A1 (en) Acceleration of ranking algorithms using a graphics processing unit
WO2019120093A1 (en) Cardinality estimation in databases
Svore et al. Large-scale learning to rank using boosted decision trees
Khemmarat et al. Fast top-k path-based relevance query on massive graphs
He et al. MMFGRN: a multi-source multi-model fusion method for gene regulatory network reconstruction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150415

R150 Certificate of patent or registration of utility model

Ref document number: 5734820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150