Programming with Personalized PageRank: A Locally Groundable First-Order Probabilistic Logic

William Yang Wang, Kathryn Mazaitis, William W. Cohen

INTRODUCTION

In many probabilistic first-order representation systems, including Markov Logic Networks and Probabilistic Similarity Logic , inference is performed by mapping a first-order program to a propositional representation, and performing inference in that propositional representation. This mapping is often called grounding. For example, Figure 1 shows a simple MLN.This MLN does a very simple sort of label-propagation through hyperlinks. As is often the case, this MLN has two parts: the rules R1,R2R_{1},R_{2}, which are weighted first-order clauses; and the database DBDB, which consists of facts (unit clauses) of the form links(a,b) for constants a,ba,b. The figure also shows the the grounded version of this MLN, which is an ordinary Markov network: the DB facts become constraints on node values, and the clauses become clique potentials.

Grounding a first-order program can be an expensive operation. For a realistic hyperlink graph, a Markov network with size even linear in the number of facts in the database, DB|DB|, is impractically large for inference. Superficially, it would seem that groundings must inheritly be o(DB)o(|DB|) for some programs: in the example, for instance, the probability of aboutSport(x) must depends to some extent on the entire hyperlink graph (if it is fully connected). However, it also seems intuitive that if we are interested in inferring information about a specific page—say, the probability of aboutSport(d1)–then the parts of the network only distantly connected to d1 are likely to have a small influence. This suggests that an approximate grounding strategy might be feasible, in which a query such as aboutSport(d1) would be grounded by constructing a small subgraph of the full network, followed by inference on this small “locally grounded” subgraph. Likewise, consider learning (e.g., from a set of queries QQ with their desired truth values). Learning might proceed by locally-grounding every query goal, allowing learning to also take less than O(DB)O(|DB|) time.

In this paper, we present a first-order probabilistic language which is well-suited to approximate “local” grounding. We present an extension to stochastic logic programs (SLP) that is biased towards short derivations, and show that this is related to personalized PageRank (PPR) on a linearized version of the proof space. Based on the connection to PPR, we develop a proveably-correct approximate inference scheme, and an associated proveably-correct approximate grounding scheme: specifically, we show that it is possible to prove a query, or to build a graph which contains the information necessary for weight-learning, in time O(1αϵ)O(\frac{1}{\alpha\epsilon}), where α\alpha is a reset parameter associated with the bias towards short derivations, and ϵ\epsilon is the worst-case approximation error across all intermediate stages of the proof. This means that both inference and learning can be approximated in time independent of the size of the underlying database—a surprising and important result.

The ability to locally ground queries has another important consequence: it is possible to decompose the problem of weight-learning to a number of moderate-size subtasks (in fact, tasks of size O(1αϵ)O(\frac{1}{\alpha\epsilon}) or less) which are weakly coupled. Based on this we outline a parallelization scheme, which in our initial implementation provides a order-of-magnitude speedup in learning time.

Below, we will first introduce our formalism, and then describe our weight-learning algorithm. We will then present experimental results on a prototypical inference task, and compare the scalability of our method to Markov logic networks. We finally discuss related work and conclude.

Programming with Personalized PageRank (PROPPR)

GG^{\prime} is often large or infinite so it is not constructed explicitly. Instead Prolog performs a depth-first search on GG^{\prime} to find the first solution vertex vv—i.e., a vertex with an empty subgoal list—and if one is found, returns the transformed query from vv as an answer to QQ. Table 1 and Figure 2 show a simple Prolog program and a proof graph for it.The annotations after the hashmarks and the edge labels in the proof graph will be described below. For conciseness, only R1,,RkR_{1},\ldots,R_{k} is shown in each node u=(Q,(R1,,Rk))u=(Q,(R_{1},\ldots,R_{k})). Given the query Q=about(a,Z)Q=\textit{about(a,Z)}, Prolog’s depth-first search would return Q=about(a,fashion)Q=\textit{about(a,fashion)}.

Note that in this proof formulation, the nodes are conjunctions of literals, and the structure is, in general, a digraph (rather than a tree). Also note that the proof is encoded as a graph, not a hypergraph, even if the predicates in the LP are not binary: the edges represent a step in the proof that reduces one conjunction to another, not a binary relation between entities.

2 FROM STOCHASTIC LOGIC PROGRAMS TO PROPPR

In stochastic logic programs (SLPs) , one defines a randomized procedure for traversing the graph GG^{\prime} which thus defines a probability distribution over vertices vv, and hence (by selecting only solution vertices) a distribution over transformed queries (i.e. answers) QθQ\theta. The randomized procedure thus produces a distribution over possible answers, which can be tuned by learning to upweight desired (correct) answers and downweight others.

In past work, the randomized traversal of GG^{\prime} was defined by a probabilistic choice, at each node, of which clause to apply, based on a weight for each clause. We propose two extensions. First, we will introduce a new way of computing clause weights, which allows for a potentially richer parameterization of the traversal process. We will associate with each edge uv{{u\rightarrow{}v}} in the graph a feature vector ϕuv\phi_{{{u\rightarrow{}v}}}. This edge is produced indirectly, by associating with every clause cLPc\in{}LP a function Φc(θ)\Phi_{c}(\theta), which produces the ϕ\phi associated with an application of cc using mgu θ\theta. This feature vector is computed during theorem-proving, and used to annotate the edge uv{{u\rightarrow{}v}} in GG^{\prime} created by applying cc with mgu θ\theta. Finally, an edge uv{{u\rightarrow{}v}} will be traversed with probability Pr(vu)f(w,ϕuv)\Pr(v|u)\propto f(\textbf{w},\phi_{{u\rightarrow{}v}}) where w is a parameter vector and where f(w,ϕ)f(\textbf{w},\phi) is a weighting function—e.g., f(w,ϕ)=exp(wiϕ)f(\textbf{w},\phi)=\exp(\textbf{w}_{i}\cdot\phi). This weighting function now determines the probability of a transition, in theorem-proving, from uu to vv: specifically, Prw(vu)f(w,ϕuv)\Pr_{\textbf{w}}(v|u)\propto f(\textbf{w},\phi_{{u\rightarrow{}v}}). Weights in w default to 1.0, and learning consists of tuning these.

These links back to the start vertex bias will the traversal of the proof graph to upweight the results of short proofs. To see this, note that if the restart probability P(v0u)=αP(v_{0}|u)=\alpha for every node uu, then the probability of reaching any node at depth dd is bounded by (1α)d(1-\alpha)^{d}.

To summarize, if uu is a node of the search graph, u=(Qθ,(R1,,Rk))u=(Q\theta,(R_{1},\ldots,R_{k})), then the transitions from uu, and their respective probabilities, are defined as follows, where ZZ is an appropriate normalizing constant:

If v=v0=(Q,Q)v=v_{0}=(Q,Q) is the initial state in GG, then

If vv is any other node, then Pr(vu)=0\Pr(v|u)=0.

The requirementThe requirement that the feature literals returned by ϕc(θ)\phi_{c}(\theta) must be ground in θ\theta is not strictly necessary for correctness. However, in developing ProPPR programs we noted than non-ground features were usually not what the programmer intended. that edge features FiθF_{i}\theta are ground is the reason for introducing the apparently unnecessary predicate linkedBy(X,Y,W) into the program of Table 1: adding the feature literal by(W) to the second clause for sim would result in a non-ground feature by(W), since WW is a free variable when Φc\Phi_{c} is called. Notice also that the weight on the by(W) features are meaningful, even though there is only one clause in the definition of linkedBy, as the weight for applying this clause competes with the weight assigned to the restart edges.

It would be cumbersome to annotate every database fact, and difficult to learn weights for so many features. Thus, if cc is the unit clause that corresponds to a database fact, then Φc(θ)\Phi_{c}(\theta) returns a default value ϕ={db}\phi=\{\textit{db}\}, where db is a special feature indicating that a database predicate was used.If a non-database clause cc has no annotation, then the default vector is ϕ={id(c)}\phi=\{\textit{id(c)}\}, where c is an identifier for the clause cc.

The function Φrestart(R)\Phi_{restart}(R) depends on the functor and arity of RR. If RR is defined by clauses in LPLP, then Φrestart(R)\Phi_{restart}(R) returns a unit vector ϕ={defRestart}\phi=\{\textit{defRestart}\}. If RR is a database predicate (e.g., hasWord(doc1,W)) then we follow a slightly different procedure, which is designed to ensure that the restart link has a reasonably large weight even with unit feature weights: we compute nn, the number of possible bindings for RR, and set ϕ[defRestart]=nα1α\phi[\textit{defRestart}]=n\cdot{}\frac{\alpha}{1-\alpha}, where α\alpha is a global parameter. This means that with unit weights, after normalization, the probability of following the restart link will be α\alpha.

Putting this all together with the standard iterative approach to computing personalized PageRank over a graph , we arrive at the following inference algorithm for answering a query QQ, using a weight vector w. Below, we let Nv0(u)N_{v_{0}}(u) denote the neighbors of uu—i.e., the set of nodes vv where Pr(vu)>0\Pr(v|u)>0 (including the restart node v=v0v=v_{0}). We also let W be a matrix such that W[u,v]=Prw(vu)\textbf{W}[u,v]=\Pr_{\textbf{w}}(v|u), and in our discussion, we use ppr(v0)\textbf{ppr}(v_{0}) to denote the personalized PageRank vector for v0v_{0}.

Let v0=(Q,Q)v_{0}=(Q,Q) be the start node of the search graph. Let GG be a graph containing just v0v_{0}. Let v0={v0}\textbf{v}^{0}=\{v_{0}\}.

For t=1,,Tt=1,\ldots,T (i.e., until convergence):

Let vt\textbf{v}^{t} be an all-zeros vector.

For each uu with non-zero weight in vt1\textbf{v}^{t-1}, and each vNu+0(u)v\in{}N_{u+0}(u), add (u,v,ϕuv)(u,v,\phi_{{{u\rightarrow{}v}}}) to GG with weight Prw(vu)\Pr_{\textbf{w}}(v|u), and set vt=Wvt1\textbf{v}^{t}=\textbf{W}\cdot\textbf{v}^{t-1}

At this point vTppr(v0)\textbf{v}^{T}\approx\textbf{ppr}(v_{0}). Let SS be the set of nodes (Qθ,)(Q\theta,\Box) that have empty subgoal lists and non-zero weight in vT\textbf{v}^{T}, and let Z=uSvT[u]Z=\sum_{u\in{}S}\textbf{v}^{T}[u]. The final probability for the literal L=QθL=Q\theta is found by extracting these solution nodes SS, and renormalizing:

For example, given the query Q=about(a,Z)Q=\textit{about(a,Z)} and the program of Table 1, this procedure would give assign a non-zero probability to the literals about(a,sport) and about(a,fashion), concurrently building the graph of Figure 2.

3 LOCALLY GROUNDING A QUERY

Note that this procedure both performs inference (by computing a distribution over literals QθQ\theta) and “grounds” the query, by constructing a graph GG. ProPPR inference for this query can be re-done efficiently, by running an ordinary PPR process on GG. This is useful for faster weight learning. Unfortunately, the grounding GG can be very large: it need not include the entire database, but if TT is the number of iterations until convergence for the sample program of Table 1 on the query Q=about(d,Y)Q=about(d,Y), GG will include a node for every page within TT hyperlinks of dd.

To construct a more compact local grounding graph GG, we adapt an approximate personalized PageRank method called PageRank-Nibble . This method has been used for the problem of local partitioning: in local partitioning, the goal is to find a small, low-conductanceFor small subgraphs GSG_{S}, conductance of GSG_{S} is the ratio of the weight of all edges exiting GSG_{S} to the weight of all edges incident on a node in GSG_{S}. component of a large graph GG that contains a given node vv.

The PageRank-Nibble-Prove algorithm is shown in Table 2. It maintains two vectors: p, an approximation to the personalized PageRank vector associated with node v0v_{0}, and r, a vector of “residual errors” in p. Initially, p=\textbf{p}=\emptyset and r={v0}\textbf{r}=\{v_{0}\}. The algorithm repeatedly picks a node uu with a large residual error r[u]\textbf{r}[u], and reduces this error by distributing a fraction α\alpha^{\prime} of it to p[u]\textbf{p}[u], and the remaining fraction back to r[u]\textbf{r}[u] and r[v1],,r[vn]\textbf{r}[v_{1}],\ldots,\textbf{r}[v_{n}], where the viv_{i}’s are the neighbors of uu. The order in which nodes uu are picked does not matter for the analysis (in our implementation, we follow Prolog’s usual depth-first search as much as possible.) Relative to PageRank-Nibble, the main differences are the the use of a lower-bound on α\alpha rather than a fixed restart weight and the construction of the graph G^\hat{G}.

Following the proof technique of Andersen et al, it can be shown that after each push, p+r=ppr(v0)\textbf{p}+\textbf{r}=\textbf{ppr}(v_{0}). It is also clear than when PageRank-Nibble terminates, then for any uu, the error ppr(v0)[u]p[u]\textbf{ppr}(v_{0})[u]-\textbf{p}[u] is bounded by ϵN(u)\epsilon{}N(u): hence, in any graph where N(u)N(u) is bounded, a good approximation can be obtained. It can also be shown that the subgraph G^\hat{G} (of the full proof space) is in some sense a “useful” subset: for an appropriate setting of ϵ\epsilon, if there is a low-conductance subgraph GG_{*} of the full graph that contains v0v_{0}, then GG_{*} will be contained in G^\hat{G}: thus if there is a subgraph GG_{*} containing v0v_{0} that approximates the full graph well, PageRank-Nibble will find (a supergraph of) GG_{*}.

Finally, we have the following efficiency bound:

Let uiu_{i} be the ii-th node pushed by PageRank-Nibble-Prove. Then iN(ui)<1αϵ\sum_{i}|N(u_{i})|<\frac{1}{\alpha^{\prime}\epsilon}.

This can be proved by noting that initially r1=1|\textbf{r}|_{1}=1, and also that r1|\textbf{r}|_{1} decreases by at least αϵN(ui)\alpha^{\prime}\epsilon|N(u_{i})| on the ii-th push. As a direct consequence we have the following:

The number of edges in the graph G^\hat{G} produced by PageRank-Nibble-Prove is no more than 1αϵ\frac{1}{\alpha^{\prime}\epsilon}.

Importantly, the bound holds independent of the size of the full database of facts. The bound also holds regardless of the size or loopiness of the full proof graph, so this inference procedure will work for recursive logic programs.

To summarize, we have outlined an efficient approximate proof procedure, which is closely related to personalized PageRank. As a side-effect of inference for a query QQ, this procedure will create a ground graph G^Q\hat{G}_{Q} on which personalized PageRank can be run directly, without any (relatively expensive) manipulation of first-order theorem-proving constructs such as clauses or logical variables. As we will see, this “locally grounded” graph will be very useful in learning weights w to assign to the features of a ProPPR program.

As an illustration of the sorts of ProPPR programs that are possible, some small sample programs are shown in Figure 3. Clauses c1c_{1} and c2c_{2} are, together, a bag-of-words classifier: each proof of predictedClass(D,Y) adds some evidence for DD having class YY, with the weight of this evidence depending on the weight given to c2c_{2}’s use in establishing related(w,y), where ww and yy are a specific word in DD and yy is a possible class label. In turn, c2c_{2}’s weight depends on the weight assigned to the r(w,y)r(w,y) feature by w, relative to the weight of the restart link.The existence of the restart link thus has another important role in this program, as it avoids a sort of “label bias problem” in which local decisions are difficult to adjust. Adding c3c_{3} and c4c_{4} to this program implements label propagation, and adding c5c_{5} and c6c_{6} implements a sequential classifier.

In spite of its efficient inference procedure, and its limitation to only definite clauses, ProPPR appears to have much of the expressive power of MLNs , in that many useful heuristics can apparently be encoded.

4 LEARNING FOR PROPPR

As noted above, inference for a query QQ in ProPPR is based on a personalized PageRank process over the graph associated with the SLD proof of a query goal GG. More specifically, the edges uv{{u\rightarrow{}v}} of the graph GG are annotated with feature vectors ϕuv\phi_{{{u\rightarrow{}v}}}, and from these feature vectors, weights are computed using a parameter vector w, and finally normalized to form a probability distribution over the neighbors of uu. The “grounded” version of inference is thus a personalized PageRank process over a graph with feature-vector annotated edges.

We adopt this learning for ProPPR, with some modifications. The training data DD is a set of triples {(Q1,P1,N1),,(Qm,Pm,Nm)}\{(Q^{1},P^{1},N^{1}),\ldots,(Q^{m},P^{m},N^{m})\} where each QkQ^{k} is a query, Pk=Qθ+1,,Qθ+IP^{k}=\langle Q\theta_{+}^{1},\ldots,Q\theta_{+}^{I}\rangle is a list of correct answers, and NkN^{k} is a list Qθ1,,QθJ\langle Q\theta_{-}^{1},\ldots,Q\theta_{-}^{J}\rangle incorrect answers. Each such triple is then locally grounded using the PageRank-Nibble-Prove method and used to produce a set IJI*J of “learning-to-order” triples of the form (v0k,u+k,i,uk,j)(v^{k}_{0},u_{+}^{k,i},u_{-}^{k,j}) where v0kv_{0}^{k} corresponds to QkQ^{k}, and the uu’s are the nodes in G^QK\hat{G}_{Q^{K}} that correspond to the (in)correct answers for QKQ^{K}. We use a squared loss on the difference of scores h=pv0[u+]pv0[u]h=\textbf{p}_{v_{0}}[u_{+}]-\textbf{p}_{v_{0}}[u_{-}], i.e.,

and L2L_{2} regularization of the parameter weights. Hence the final function to be optimized is

To optimize this loss, we use stochastic gradient descent (SGD), rather than the quasi-Newton method of Backstrom and Leskovic. Weights are initialized to 1.0+δ1.0+\delta, where δ\delta is randomly drawn from [0,0.01][0,0.01]. We set the learning rate β\beta of SGD to be β=ηepoch2\beta=\frac{\eta}{epoch^{2}} where epochepoch is the current epoch in SGD, and η\eta, the initial learning rate, defaults to 1.0.

We implemented SGD because it is fast and has been adapted to parallel learning tasks . Local grounding means that learning for ProPPR is quite well-suited to parallelization. The step of locally grounding each QiQ_{i} is “embarassingly” parallel, as every grounding can be done independently. To parallelize the weight-learning stage, we use multiple threads, each of which computes the gradient over a single grounding G^Qk\hat{G}_{Q^{k}}, and all of which accesses a single shared parameter vector w. Although the shared parameter vector is a potential bottleneck , it is not a severe one, as the gradient computation dominates the learning cost.This is not the case when learning a linear classifier, where gradient computations are much cheaper.

EXPERIMENTS

To evaluate this method, we use data from an entity resolution task previously studied as a test case for MLNs . The program we use in the experiments is shown in Table 4: it is approximately the same as the MLN(B+T) approach from Singla and Domingos.The principle difference is that we do not include tests on the absence of words in a field in our clauses. To evaluate accuracy, we use the CORA dataset, a collection of 1295 bibliography citations that refer to 132 distinct papers. Throughout the experiments, we set the regularization coefficient μ\mu to 0.0010.001, the total number of epochs to 5, and learning rate parameter η\eta to 1. A standard log loss function was used in our objective function.

2 RESULTS

We first consider the cost of the PageRank-Nibble-Prove inference/grounding technique. Table 5 shows the time required for inference (with uniform weights) for a set of 52 randomly chosen entity-resolution tasks from the CORA dataset, using a Python implemention of the theorem-prover. We report the time in seconds for all 52 tasks, as well as the mean average precision (MAP) of the scoring for each query. It is clear that PageRank-Nibble-Prove offers a substantial speedup on these problems with little loss in accuracy: on these problems, the same level of accuracy is achieved in less than a tenth of the time.

While the speedup in inference time is desirable, the more important advantages of the local grounding approach are that (1) grounding time, and hence inference, need not grow with the database size and (2) learning can be performed in parallel, by using multiple threads for parallel computations of gradients in SGD. Figure 3 illustrates the first of these points: the scalability of the PageRank-Nibble-Prove method as database size increases. For comparison, we also show the inference time for MLNs with three well-published inference methods: Gibbs refers to Gibbs sampling, and Lifted BP is the lifted belief propagation method. We also compare with the maximum a posteriori (MAP) inference approach, which does not return probabilistic estimates of the specified queries. In each case the performance task is inference over 16 test queries.

Note that ProPPR’s runtime is constant, independent of the database size: it takes essentially the same time for 28=2562^{8}=256 entities as for 24=162^{4}=16. In contrast, lifted belief propagation is around 1000 times slower on the larger database.

Figure 4 explores the speedup in learning (from grounded examples) due to multi-threading. The weight-learning is using a Java implementation of the algorithm which runs over ground graphs. The full CORA dataset was used in this experiment. As can be seen, the speedup that is obtained is nearly optimal, even with 16 threads running concurrently.

We finally consider the effectiveness of weight learning. We train on the first four sections of the CORA dataset, and report results on the fifth. Following Singla and Domingos we report performance as area under the ROC curve (AUC). Table 6 shows AUC on the test set used by Singla and Domingos for several methods. The line for MLN(Fig 1) shows results obtained by an MLN version of the program of Figure 1. The line MLN(S&D) shows analogous results for the best-performing MLN from . Compared to these methods, ProPPR does quite well even before training (with unit feature weights, w=1); the improvement here is likely due to the ProPPR’s bias towards short proofs, and the tendency of the PPR method to put more weight on shared words that are rare (and hence have lower fanout in the graph walk.) Training ProPPR improves performance on three of the four tasks, and gives the most improvement on citation-matching, the most complex task.

The results in Table 6 all use the same data and evaluation procedure, and the MLNs were trained with the state-of-the-art Alchemy system using the recommended commands for this data (which is distributed with Alchemyhttp://alchemy.cs.washington.edu). However, we should note that the MLN results reproduced here are not identical to previous-reported ones . Singla and Domingos used a number of complex heuristics that are difficult to reproduce—e.g., one of these was combining MLNs with a heuristic, TFIDF-based matching procedure based on canopies . While the trained ProPPR model outperformed the reproduced MLN model in all prediction tasks, it outperforms the reported results from Singla and Domingos only on venue, and does less well than the reported results on citation and authorPerformance on title matching is not reported by Singla and Domingos..

RELATED WORK

Although we have chosen here to compare experimentally to MLNs , ProPPR represents a rather different philosophy toward language design: rather than beginning with a highly-expressive but intractible logical core, we begin with a limited logical inference scheme and add to it a minimal set of extensions that allow probabilistic reasoning, while maintaining stable, efficient inference and learning. While ProPPR is less expressive than MLNs (for instance, it is limited to definite clause theories) it is also much more efficient. This philosophy is similar to that illustrated by probabilistic similarity logic (PSL) ; however, unlike ProPPR, PSL does not include a “local” grounding procedure, which leads to small inference problems, even for large databases.

Technically, ProPPR is most similar to stochastic logic programs (SLPs) . The key innovation is the integration of a restart into the random-walk process, which, as we have seen, leads to very different computational properties.

There has been some prior work on reducing the cost of grounding probabilistic logics: noteably, Shavlik et al describe a preprocessing algorithm called FROG that uses various heuristics to greatly reduce grounding size and inference cost, and Niu et al describe a more efficient bottom-up grounding procedure that uses an RDBMS. Other methods that reduce grounding cost and memory usage include “lifted” inference methods (e.g., ) and “lazy” inference methods (e.g., ); in fact, the LazySAT inference scheme for Markov networks is broadly similar algorithmically to PageRank-Nibble-Prove, in that it incrementally extends a network in the course of theorem-proving. However, there is no theoretical analysis of the complexity of these methods, and experiments with FROG and LazySAT suggest that they still lead to a groundings that grow with DB size, albeit more slowly.

ProPPR is also closely related to the Path Ranking Algorithm (PRA), learning algorithm for link prediction . Like ProPPR, PRA uses random-walk methods to approximate logical inference. However, the set of “inference rules” learned by PRA corresponds roughly to a logic program in a particular form—namely, the form

ProPPR allows much more general logic programs. However, unlike PRA, we do not consider the task of searching for new logic program clauses.

CONCLUSIONS

We described a new probabilistic first-order language which is designed with the goal of highly efficient inference and rapid learning. ProPPR takes Prolog’s SLD theorem-proving, extends it with a probabilistic proof procedure, and then limits this procedure further, by including a “restart” step which biases the system to short proofs. This means that ProPPR has a simple polynomial-time proof procedure, based on the well-studied personalized PageRank (PPR) method.

Following prior work on PPR-like methods, we designed a local grounding procedure for ProPPR, based on local partitioning methods , which leads to an inference scheme that is an order of magnitude faster that the conventional power-iteration approach to computing PPR, takes time O(1ϵα)O(\frac{1}{\epsilon\alpha^{\prime}}), independent of database size. This ability to “locally ground” a query also makes it possible to partition the weight learning task into many separate gradient computations, one for each training example, leading to a weight-learning method that can be easily parallelized. In our current implementation, an additional order-of-magnitude speedup in learning is made possible by parallelization. Experimentally, we showed that ProPPR performs well, even without weight learning, on an entity resolution task, and that supervised weight-learning improves accuracy.

References