<?xml version="1.0"?><!DOCTYPE article SYSTEM "/project/take/software/searchbench_offline_processing/paperxml_generator/aclextractor/src/python/../resource/dtd/paperxml.dtd"><article><header><firstpageheader><page local="1" global="480"/><title>WIT: Web People Search Disambiguation using Random Walks</title><pubinfo>Proceedings of the 4th International Workshop on Semantic Evaluations (SemEval-2007),pages 480-483, Prague, June 2007. ©2007 Association for Computational Linguistics</pubinfo><author surname="Iria" givenname="José"><org  name="University of Sheffield" country="United Kingdom" city="Sheffield"/></author><author surname="Xia" givenname="Lei"><org  name="University of Sheffield" country="United Kingdom" city="Sheffield"/></author><author surname="Zhang" givenname="Ziqi"><org  name="University of Sheffield" country="United Kingdom" city="Sheffield"/></author></firstpageheader><frontmatter><p><b>WIT: Web People Search Disambiguation using Random Walks</b></p><p><b>José Iria, Lei Xia, Ziqi Zhang</b></p><p>The University of Sheffield 211 Portobello Street Sheffield S1 4DP, United Kingdom (j.iria,   l.xia, z.zhang}@sheffield.ac.uk</p></frontmatter><abstract>In this paper, we describe our work on a ran­dom walks-based approach to disambiguat-ing people in web search results, and the im­plementation of a system that supports such approach, which we used to participate at Semeval'07 Web People Search task. </abstract></header><body><section number="1" title="Introduction"><p>Finding information about people on the Web us­ing a search engine is far from being a quick and easy process. There is very often a many-to-many mapping of person names to the actual persons, that is, several persons may share the same name, and several names may refer to the same person. In fact, person names are highly ambiguous: (Guha and Garg, 2004) reports that only 90.000 thousand dif­ferent names are shared by 100 million people ac­cording to the U.S. Census Bureau. This creates the need to disambiguate the several referents typically found in the web pages returned by a query for a given person name.</p><p>The Semeval'07 Web People Search challenge (Artiles et al., 2007) formally evaluated systems on this task. In this paper, we describe our work on a random walks-based approach to disambiguating people in web search results, heavily influenced by (Minkov et al., 2006). This particular model was chosen due to its elegance in seamlessly combining lexico-syntactic features local to a given webpage with topological features derived from its place in the network formed by the hyperlinked web pages returned by the query, to arrive at one single mea­sure of similarity between any two pages.</p></section><section number="2" title="Proposed Method"><p>In a nutshell, our approach 1) uses a graph to model the web pages returned by the search engine query, 2) discards irrelevant web pages using a few sim­ple hand-crafted heuristics, 3) computes a similarity matrix for web pages using random walks over the graph, and 4) finally clusters the web pages given the similarity matrix. The next subsections detail these steps.</p><subsection number="2.1" title="Web People Search Graph"><p>We build a directed weighted typed graph from the corpus. The graph is a 5-tuple <i>G</i><i> </i><i>=</i><i> </i>(V, <i>E,</i><i> </i><i>t,</i><i> </i><i>l,</i><i> </i><i>w),</i><i> </i>where V is the set of nodes, E : V <i>x </i>V is the ordered set of edges, t : V — T is the <i>node type function </i><i>(T</i><i> </i><i>=</i><i> </i>(ti,..., t|T|} is a set of types), l : E — L is the <i>edge label function </i><i>(L</i><i> </i><i>=</i><i> </i>..., } is a set of labels), and w : L — R is the <i>label weight function. </i>We structure our problem domain with the types and labels presented in Figure 1.</p><p>In order to transform the text into a graph that conforms to the model shown, we take the output of standard NLP tools and input it as nodes and edges into the graph, indexing nodes by string value to en­sure that identical contents for any given node type are merged into a single node in the graph. To pro­cess the corpus, we run a standard NLP pipeline seperately over the metadata, title and body of the HTML pages, but not before having transformed its contents as much into plain text as possible, by removing HTML tags, javascript code, etc. The pipeline used is composed of tokenization, removal of stop words and infrequent words, and stemming with Porter's algorithm. The resulting graph at this<page local="2" global="481"/></p><p>PersonNameNE</p><figure caption="Figure 1: The data representation model adopted"></figure><p>stage consists of the nodes of type <i>Token, Webpage, Metadata, Title </i>and <i>Body, </i>properly interconnected. We then run a named entity recognizer to associate NE tags to the respective documents, via the con­stituent words of the NE. The information about the original <i>URL </i>of page is given by the corpus, while <i>Host </i>is trivially obtained from it. We finalise the graph by inserting an edge of type <i>linked-by </i>between any web page linked by another in the corpus, and an edge of type <i>related-to </i>between any web page re­lated to another in the corpus, as given by Google's <i>related: </i>operator.</p><p>For the named entity recognition task, we have compared GATE and OpenNLP toolkits. Although both toolkits show comparable results, OpenNLP demonstrated faster performance. Moreover, some documents in the corpus consisted of very exten­sive lists of names (e.g. phonebook records) which slowed the NER to a halt in practice. To compen­sate for this, we applied a chunking window at the beginning and end of each body content and around each occurrence of the person name being consid­ered (and its variants determined heuristically). The window size used was 3000 characters in length, and an overlap between windows results in a merged window.</p></subsection><subsection number="2.2" title="Discarding using heuristics"><p>To discard irrelevant documents within the corpus, we manually devised two heuristics rules for classi­fication by observing the training data at hand. The heuristics are 1) whether the page has content at all, 2) whether the page contains at least one appearance of mentioned person name with its variants. This simple classification showed high precision and low recall on the training data. We also tried a SVM-based classifier trained on a typical bag-of-words feature vector space obtained from the training data, but found the such classifier not to be sufficiently re­liable.</p></subsection><subsection number="2.3" title="Random Walks Model"><p>We aim to determine the similarity between any two nodes of type <i>Webpage </i>in the graph. In our work, similarity between two nodes in the graph is ob­tained by employing a random walks model. A ran­dom walk, sometimes called a "drunkard's walk," is a formalization of the intuitive idea of taking suc­cessive steps in a graph, each in a random direction (Lovasz, 2004). Intuitively, the "harder" it is for a drunkard to arrive at a given webpage starting from another, the less similar the two pages are.</p><p>Our model defines weights for each edge type, which, informally, determine the relevance of each feature type to establish a similarity between any two pages. Let <i>Ltd = </i><i>{l(x,y)</i><i> </i><i>:</i><i> </i>(x,y) <i>G</i><i> </i>E <i>A</i><i> </i>T(x) = td} be the set of possible labels for edges leaving nodes of type <i>td.</i><i> </i>We require that the weights form a probability distribution over Ltd, i.e.</p><doubt alpha="80.0" length="5" tooSmall="False" monospace="0.0">l€Ltd</doubt><p>We build an adjacency matrix of locally appropriate similarity between nodes as <i>W</i><i>ij </i>= 1 ^lfc€L Kv^EK-Hifc! ' G E ] 0, <i>otherwise</i> where Wij is the ith-line and jth-column entry of W, indexed by V. Equation 2 distributes uniformly the weight of edges of the same type leaving a given node. We could choose to distribute them otherwise, e.g. we could distribute the weights according to some string similarity function or language model (Erkan, 2006), depending on the label.</p><doubt alpha="0.0" length="3" tooSmall="False" monospace="0.0">(2)</doubt><p>We associate the state of a Markov chain to ev­ery node of the graph, that is, to each node <i>i </i>we associate the one-step probability P(0) (j |i) of a ran­dom walker traversing to an adjacent node <i>j.</i><i> </i>These probabilities are expressed by the row stochastic ma­trix D-1W, where D is the diagonal degree ma­trix given by Dii = £ <i>k Wik</i>.<page local="3" global="482"/> The "reinforced" similarity between two nodes in the graph is given by the t-step transition probability Pwhich can be simply computed by a matrix power, i.e., P     |i) = [(D-1W .</p><p>Note that <i>t </i>should not be very large in our case. The probability distribution of an infinite random walk over the nodes, called the stationary distribu­tion of the graph, is uninteresting to us for cluster­ing purposes since it gives an information related to the global structure of the graph. It is often used as a measure to rank the structural importance of the nodes in a graph (Page et al., 1998). For clustering, we are more interested in the local similarities inside a cluster of nodes that separate them from the rest of the graph. Also, in practice, using t &gt; 2 leads to high computational cost requirements, as the matrix becomes more dense as <i>t </i>grows.</p><p>Equation 2 introduces the need to learn the func­tion <i>w.</i><i> </i>In other words, we need to tune the model to use the most relevant features for this particular task. Tuning is performed on the training set by compar­ing the standard purity and inverse purity measures of the clusters against the gold standard, and using a simulated annealing optimization method as de­scribed in (Nie et al., 2005).</p></subsection><subsection number="2.4" title="Commute Time Distance"><p>The algorithm takes as input a symmetric similarity matrix <i>S, </i>which we derive from the random walk model of the previous section as follows. We com­pute the Euclidean Commute Time (ECT) distance (Saerens et al., 2004) of any two nodes of type <i>Web­page </i>in the graph. The ECT distance is (also) based on a random walk model, and presents the inter­esting property of decreasing when the number of paths connecting two nodes increases or when the length of any path decreases, which makes it well-suited for clustering tasks. Another nice property of ECT is that it is non-parametric, so no tuning is required here. ECT has connections with princi­pal component analysis and spectral theory (Saerens et al., 2004).</p><p>In particular, we are interested in the <i>average commute time </i>quantity, <i>n(i,j),</i><i> </i>which is defined as the average number of steps a random walker, starting in state <i>i,</i><i> </i>will take before entering a given state <i>j</i><i> </i>for the first time, and go back to i. That is, n(i, j) = <i>m(j</i>|i) + m(i|j), where the quantity <i>m(j</i>called the <i>average first-passage time, </i>is defined as the av­erage number of steps a random walker, starting in state i, will take to enter state j for the first time. We compute the average first-passage time iteratively by means of the following recurrence:</p><doubt alpha="37.7" length="53" tooSmall="False" monospace="0.0">fm(i|j) = 1 +£k=i,k=iP(t)(k|j)m(i|k),  j=i m(i| i)= 0</doubt><doubt alpha="0.0" length="3" tooSmall="False" monospace="0.0">(3)</doubt><p>where P| ) is the t-step transition probability of the random walk model over G presented in the pre­vious section.</p><p>Informally, we may regard the random walk model presented in the previous section as a "re­fined" document similarity measure, replacing, e.g., the typical TF-IDF measure with a measure that works in a similar way but over all features rep­resented in the graph, whereas we can regard the ECT measure presented in this section as a "booster" to a basic clustering techniques (cf. next section), achieved by means of coupling clustering with a ran­dom walk-based distance which has been shown to be competitive with state-of-the-art algorithms such as spectral clustering (Luh Yen et al., 2007).</p></subsection><subsection number="2.5" title="Clustering"><p>Clustering aims at partitioning n given data points into k clusters, such that points within a cluster are more similar to each other than ones taken from dif­ferent clusters. An important feature of the clus­tering algorithm that we require for the problem at hand is its ability to determine the number k of nat­ural clusters, since any number of referents may be present in the web search results. However, most clustering algorithms require this number to be an input, which means that they may break up or com­bine natural clusters, or even create clusters when no natural ones exist in the data.</p><p>We use a form of group-average agglomerative clustering as described in (Fleischman and Hovy, 2004), shown in Table 1, which works fast for this problem. A difficult problem (with any clustering approach) has to do with the number of initial clus­ters or, alternatively, with setting a threshold for when to stop clustering. This threshold could po-<page local="4" global="483"/></p><p>Input: symmetric similarity matrix <i>S, </i>threshold <b>0 </b>Output: a set of clusters <b>C</b> 3. place <b>i </b>and <b>j </b>in the same cluster in <b>C </b>(merging existing clusters of <b>i </b>and <b>j </b>if needed) 4. (average pairs of edges connecting to nodes i,j from any node k) 5. remove <b>j</b>-th column and <b>j</b>-th line from <b>S </b>(effec­tively merging nodes i,j into a single node)</p><doubt alpha="60.7" length="28" tooSmall="False" monospace="0.0">1.(i, j)— find min score inS</doubt><doubt alpha="61.9" length="21" tooSmall="False" monospace="0.0">2. ifSij &gt; 0then exit</doubt><doubt alpha="49.1" length="57" tooSmall="False" monospace="0.0">4a.Sifc—(Sik+Sjfc)/2,k = i,j4b.Ski — (Ski + Ski)/2,k =i,j</doubt><doubt alpha="44.4" length="9" tooSmall="False" monospace="0.0">6. goto 1</doubt></subsection></section><section number="7." title="return clusters C"><table caption="Table 1: The simple group-average agglomerative clustering algorithm used"></table><p>tentially also be optimized using the training data; however, we have opted for unsupervised heuristics to do that, e.g. the well-known Calinski&amp;Harabasz stopping rule (Calinski&amp;Harabasz, 1974).</p></section><section number="3" title="Results Obtained"><p>The results obtained by the system are presented in the following table. The evaluation measures used were f-measure, purity and inverse purity - for a de­tailed description refer to the task description (Artiles et al., 2007).</p><p>The results are below average for this Semeval task, and should not be regarded as representative of the approach adopted, since the authors have had limited time available to ensure a pristine implemen­tation of the whole approach.</p><p><i>main conference on Human Language Technology Conference of the North American Chapter of the As­sociation of Computational Linguistics </i>(pp. 479—486). Association for Computational Linguistics.</p><p>Fleischman, M. B., &amp; Hovy, E. (2004). Multi-document person name resolution. <i>Proceedings of the ACL 2004. </i>Association for Computational Linguistics.</p><doubt alpha="58.5" length="53" tooSmall="False" monospace="0.0">Guha, R. V., &amp; Garg, A. (2003). Disambiguating People</doubt><p>in Search. <i>TAP: Building the Semantic Web.</i>. ACM Press.</p><p>Luh Yen, Francois Fouss, C. D., Francq, P., &amp; Saerens, M. (2007). Graph nodes clustering based on the commute-time kernel. <i>To</i><i> appear in the proceedings of the 11th Pacific-Asia Conference on Knowledge Dis­covery and Data Mining (PAKDD 2007). </i>Lecture Notes in Computer Science (LNCS).</p><p>Minkov, E., Cohen, W. W., &amp; Ng, A. Y. (2006). Con­textual search and name disambiguation in email us­ing graphs. <i>SIGIR '06: Proceedings of the 29th annual international ACM SIGIR conference on Re­search and development in information retrieval </i>(pp. 27-34). ACM Press.</p><p>Nie, Z., Zhang, Y., Wen, J. R., &amp; Ma, W. Y. (2005). Object-level ranking: Bringing order to web objects. <i>Proceedings ofWWW'05.</i></p><p>Page, L., Brin, S., Motwani, R., &amp; Winograd, T. (1998).</p><p><i>The pagerank citation ranking: Bringing order to the web </i>(Technical Report). Stanford Digital Library Technologies Project.</p><p>Saerens, M., Fouss, F., Yen, L., &amp; Dupont, P. (2004). The principal components analysis of a graph, and its re­lationships to spectral clustering. <i>Proceedings ofthe 15th European Conference on Machine Learning.</i></p><p>Laszlo Lovasz (1993). Random Walks on Graphs: A Sur­vey. <i>Combinatorics, Paul Erdos is Eighty (Volume 2), Keszthely (Hungary), 1993, p 1-46..</i></p><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>aver_f05</p></td><td class="cell"><p>aver_f02</p></td><td class="cell"><p>aver_pur</p></td><td class="cell"><p>aver_inv_pur</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>0,49</p></td><td class="cell"><p>0,66</p></td><td class="cell"><p>0,36</p></td><td class="cell"><p>0,93</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table></section><references><doubt alpha="52.0" length="50" tooSmall="False" monospace="0.0">Artiles, J., Gonzalo, J., &amp; Sekine, S. (2007). The</doubt><p>SemEval-2007 WePS Evaluation: Establishing a benchmark for the Web People Search Task. <i>In Pro­ceedings ofSemeval 2007, Association for Computa­tional Linguistics.</i></p><p>Calinski and Harabasz (1974). A Dendrite Method for Cluster Analysis <i>Communications in Statistics, 3(1),</i> <i>1974, 1-27.</i><i></i></p><p>Erkan, G. (2006).   Language model-based document clustering using random walks.  <i>Proceedings </i><i>ofthe</i></p></references></body></article>