<?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="346"/><title>UBC-AS: A Graph Based Unsupervised System for Induction and Classification</title><pubinfo>Proceedings of the 4th International Workshop on Semantic Evaluations (SemEval-2007),pages 346-349, Prague, June 2007. ©2007 Association for Computational Linguistics</pubinfo><author surname="Agirre" givenname="Eneko"><org  name="IXA NLP Group UBC Donostia"/></author><author surname="Soroa" givenname="Aitor"><org  name="Basque Contry"/></author></firstpageheader><frontmatter><p><b>UBC-AS: A Graph Based Unsupervised System for Induction and Classification</b></p><p><b>Eneko Agirre and Aitor Soroa</b></p><p>IXA NLP Group UBC</p><p>Donostia, Basque Contry {e.agirre,a.soroa}@si.ehu.es</p></frontmatter><abstract>This paper describes a graph-based unsu­pervised system for induction and clas­sification. The system performs a two stage graph based clustering where a co­occurrence graph is first clustered to com­pute similarities against contexts. The con­text similarity matrix is pruned and the re­sulting associated graph is clustered again by means of a random-walk type algorithm. The system relies on a set of parameters that have been tuned to fit the corpus data. The system has participated in tasks 2 and 13 of the SemEval-2007 competition, on word sense induction and Web people search, re­spectively, with mixed results. </abstract></header><body><section number="1" title="Introduction"><p>This paper describes a graph-based unsupervised system for induction and classification. Given a set of data to be classified, the system first induces the possible clusters and then clusters the data accord­ingly. The paper is organized as follows. Section 2 gives an description of the general framework of our system. Sections 3 and 4 presents in more detail the implementation of the framework for the Semeval-2007 WEPS task (Artiles et al., 2007) and Semeval-2007 sense induction task (Agirre and Soroa, 2007), respectively. Section 5 presents the results obtained in both tasks, and Section 6 draws some conclusions.</p></section><section number="2" title="A graph based system for unsupervised classification"><p>The system performs a two stage graph based clus­tering where a co-occurrence graph is first clustered to compute similarities against contexts. The context similarity matrix is pruned and the resulting associ­ated graph is clustered again by means of a random-walk type algorithm. We will see both steps in turn.</p><p><b>First step: calculating hub score vectors</b></p><p>In a first step, and for each entity to be clustered, a graph consisting on context word co-occurrences is built. Vertices in the co-occurrence graph are words and two vertices share an edge whenever they co-occur in the same context. Besides, each edge re­ceives a weight, which indicates how strong the in­cident vertices relate each other.</p><p>As shown in (Veronis, 2004), co-occurrence graphs exhibit the so called small world structure (Watts and Strogatz, 1998) and, thus, they contain highly dense subgraphs which will represent the dif­ferent clusters the entity may have. For identifying these clusters we have implemented two algorithms based on the notion of centrality of the vertices, where some highly dense vertices, called "hubs", are chosen as representatives of each cluster. The algo­rithms are the HyperLex algorithm (Veronis, 2004) and the HITS algorithm (Kleinberg, 1999).</p><p>Once the hubs are identified, the minimum span­ning tree (MST) of the co-occurrence graph is com­puted. The root elements of the MST are precisely the induced hubs and each vertex of the original graph —and, thus, each word of the corpus— is at­tached to exactly one of these hubs, at a certain dis­tance. Note that the MST can be considered as a single link clustering over the co-occurrence graph.</p><p>The original contexts are then taken one by one and scored according to the MST in the following way: each word in the context receives a set of score vectors, with one score per hub, where all scores are 0 except for the one corresponding to the hub where it is placed<footnote anchor="1"/>, which will receive a socre d(hj,v), which is the distance between the hub h and the node representing the word <i>v </i>in the MST.<page local="2" global="347"/> Thus, <i>d(h</i><b><i>i, </i></b>v) assigns a score of 1 to hubs and the score decreases as the nodes move away from the hub in the MST. As a consequence, each context receives a hub score vector, which is just the sum of the score vectors of all the words in the context.</p><p>At this point we can use the hub score vectors to create clusters of contexts, just assigning to each context the hub with maximum score. This process is thoroughly explained in (Agirre et al., 2006b). One of the problems of such an approach comes from the tendency of the system to produce a high number of hubs, somehow favouring small micro-clusters over coarse ones. Knowing in advance that the number of clusters in the tasks we will partici­pate in would not be very high, we decided to per­form a second stage and re-cluster again the results obtained in the first step, using a different graph-based technique. Re-clustering also gives us the op­portunity to feed the system with additional data, as will be explained below.</p><p><b>Second step: clustering via MCL</b></p><p>In this second stage, we compute a square ma­trix with as many rows/columns as contexts, and where each element represents the relatedness be­tween two contexts, just computing the cosine dis­tance of its (normalized) hub score vectors obtained in the first step. We prune each row in the matrix and keep only the element with maximum values, so that the percentage of the kept elements' sum respect the total is below a given threshold. The resulting matrix M represents the adjacency matrix of a di­rected weighted graph, where vertices are contexts and edges represent the similarity between them. We can feed the matrix <i>M </i>with external information just by calculating another dissimilarity matrix between contexts and lineally interpolating the matrices with a factor.</p><p>Finally, we apply the Markov Clustering (MCL) algorithm (van Dongen, 2000) over the graph <i>M </i>for calculating the final clusters. MCL is a graph-clustering algorithm based on simulation of stochastic flows in graphs, its main idea being that random walks within the graph will tend to stay in the same cluster rather than jump between clusters. MCL has the remarkable property that there is no need to a-priori decide how many clusters it must find. How­ever, it has some parameters which will influence the granularity of the clusters.</p><footnote label="1">Note that each word will be attached to exactly one hub in the MST.</footnote><p>In fact, the behavior of the whole process relies on a number of parameters, which can be divided in several groups:</p><p>• Parameters for calculating the hubs</p><p>• Parameters for merging the hubs information with external information in the matrix M (a)</p><p>• The threshold for pruning the graph (6)</p><p>• Parameters of the MCL algorithm (I, inflation parameter)</p><p>In sections 3 and 4 we describe the parameters we actually used for the final experiments, as well as how the tuning of these parameters has been per­formed for the two tasks.</p></section><section number="3" title="Web People Search task"><p>In this section we will explain in more detail how we implemented the general schema described in the previous section to the "Web People Search" task (Artiles et al., 2007). The task consist on dis-ambiguating person names in a web searching sce­nario. The input consists on web pages retrieved from a web searching engine using person names as a query. The aim is to determine how many ref­erents (people with the same name) exist for that person name, and classify each document with its corresponding referent. There is a train set con­sisting on 49 names and 100 documents per name. The test setting consist on 30 unrelated names, with 100 document per name. The evaluation is per­formed following the "purity" and "inverse purity" measures. Roughly speaking, purity measures how many classes they are in each cluster (like the pre­cision measure). If a cluster fits into one class, the purity equals to 1 . On the other side, inverse purity measures how many clusters they are in each class (recall). The final figure is obtained by combining purity and inverse purity by means of the standard F-Measure with <i>a </i>= 0.5.</p><p>The parameters of the system were tuned using the train part of the corpus as a development set. As usual, the parameters that yielded best results were used on the test part.</p><page local="3" global="348"/><p>We first apply a home-made wrapper over the html files for retrieving the text chunks of the pages, which is usually mixed with html tags, javascript code, etc. The text is split into sentences and parsed using the FreeLing parser (Atserias et al., 2006). Only the lemmas of nouns are retained. We filter the nouns and keep only back those words whose fre­quency, according to the British National Corpus, is greater than 4. Next, we search for the person name across the sentences, and when such a sentence is found we build a context consisting on its four pre­decessor and four successors, i.e., contexts consists on 9 sentences. At the end, each document is rep­resented as a set of contexts containing the person name. Finally, the person names are removed from the contexts.</p><p>For inducing the hubs we apply the HyperLex al­gorithm (Veronis, 2004). Then, the MST is calcu­lated and every context is assigned with a hub score vector. We calculate the hub score vector of the whole document by averaging the score vectors of its contexts. The <i>M </i>matrix of pairwise similarities between documents is then computed and pruned with a threshold of 0.2, as described in section 2.</p><p>We feed the system with additional data about the topology of the pages over the web. For each document di to be classified we retrieve the set of documents Pi which link to <i>d%. </i>We use the pub­licly available API for Microsoft Search. Then, for each pair of documents di and <i>d</i><b><i>j</i></b><b><i> </i></b>we calculate the number of overlapping documents linking to them, i.e., 1ij = #{Pi n Pj} with the intuition that, the more pages point to the two documents, the more probably is that they both refer to the same per­son. The resulting matrix, ML is combined with the original matrix M to give a final matrix M', by means of a linear interpolation with factor of 0.2, i.e. M' = 0.2M + 0.8ML. Finally, the MCL algorithm is run over M' with an inflation parameter of 5.</p></section><section number="4" title="Word Sense Induction and Discrimination task"><p>The goal of this task is to allow for comparison across sense-induction and discrimination systems, and also to compare these systems to other super­vised and knowledge-based systems. The input con­sist on 100 target words (65 verbs and 35 nouns), each target word having a set of contexts where the word appears. The goal is to automatically induce the senses each word has, and cluster the contexts accordingly. Two evaluation measures are provided: and unsupervised evaluation (FScore measure) and a supervised evaluation, where the organizers auto­matically map the induced clusters onto senses. See (Agirre and Soroa, 2007) for more details.</p><p>In order to improve the overall performance, we have clustered the 35 nouns and the 65 verbs sepa­rately. In the case of nouns, we have filtered the orig­inal contexts and kept only noun lemmas, whereas for verbs lemmas of nouns, verbs and adjectives were hold.</p><p>The algorithm for inducing the hubs is also dif­ferent among nouns and verbs. Nouns hubs are in­duced with the usual HyperLex algorithm (just like in section 3) but for identifying verb hubs we used the HITS algorithm (Kleinberg, 1999), based on pre­liminary experiments.</p><p>The co-occurrence relatedness is also measured differently for verbs: instead of using the original conditional probabilities, the %<footnote anchor="2"/> measure between words is used. The reason behind is that condi­tional probabilities, as used in (Veronis, 2004), per­form poorly in presence of words which occur in nearly all contexts, giving them an extraordinary high weight in the graph. Very few nouns hap­pen to occur in many contexts, but they are verbs which certainly do (be, use, etc). On the other hand, %<footnote anchor="2"/> measures to what extent the observed co­occurrences diverge from those expected by chance, so weights of edges incident with very common, non-informant words will be low.</p><p>Parameter tuning for both nouns and verbs was performed over the senseval-3 testbed, and the best parameter combination were applied over the sense induction corpus. However, there is a factor we have taken into account in tuning directly over the sense induction corpus, i.e., that the granularity —and thus the number of classes— of senses in OntoNotes (the inventory used in the gold standard) is considerably coarser than in senseval-3. Therefore, we have man­ually tuned the inflation parameter of the MCL al­gorithm in order to achieve numbers of clusters be­tween 1 and 4.</p><p>A threshold of 0.6 was used when pruning the dis­similarity matrix M for both nouns and verbs. We have tried to feed the system with additional data (mostly local and domain features of the context words) but, although the system performed slightly better, we decided that the little gain (which prob­ably was not statistically significant) was no worth the effort.<page local="4" global="349"/></p><table caption="Table 2: Results of Semeval-2007 Task 2. Super­vised evaluation as recall."></table></section><section number="5" title="Results"><p>Table 1 shows the results of the unsupervised evalu­ation in task 2, where our system got the best results in this setting. Table 2 shows the supervised evalua­tion on the same task, where our system got a rank­ing of 4, performing slightly worse than the average of the systems.</p><p>In Table 3 we can see the results of Semeval-2007 Task 13. As can be seen, our system didn't manage to capture the structure of the corpus, and it got the worst result, far below the average of the systems.</p></section><section number="6" title="Conclusions"><p>We have presented graph-based unsupervised sys­tem for induction and classification. The system per­forms a two stage graph based clustering where a co­occurrence graph is first clustered to compute simi­larities against contexts. The context similarity ma­trix is pruned and the resulting associated graph is clustered again by means of a random-walk type al­gorithm. The system has participated in tasks 2 and 13 of the SemEval-2007 competition, on word sense induction and Web people search, respectively, with mixed results. We did not have time to perform an in-depth analysis of the reasons causing such a different performance. One of the reasons for the failure in the WePS task could be the fact that we were first-comers, with very little time to develop the system, and we used a very basic and coarse pre­processing of the HTML files. Another factor could be that we intentionally made our clustering algo­rithm return few clusters. We were mislead by the training data provided, as the final test data had more classes on average.</p><table caption="Table 3: Results of Semeval-2007 Task 13"></table></section><section title="Acknowledgements"><p>This work has been partially funded by the Spanish education ministry (project KNOW) and by the re­gional government of Gipuzkoa (project DAHAD).</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>System</p></td><td class="cell"><p>All</p></td><td class="cell"><p>Nouns</p></td><td class="cell"><p>Verbs</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Best</p></td><td class="cell"><p>78.7</p></td><td class="cell"><p>80.8</p></td><td class="cell"><p>76.3</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Worst</p></td><td class="cell"><p>56.1</p></td><td class="cell"><p>62.3</p></td><td class="cell"><p>45.1</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Average</p></td><td class="cell"><p>65.4</p></td><td class="cell"><p>69.0</p></td><td class="cell"><p>61.4</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>UBC-AS</p></td><td class="cell"><p>78.7</p></td><td class="cell"><p>80.8</p></td><td class="cell"><p>76.3</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><table caption="Table 1: Results of Semeval-2007 Task 2. Unsuper-vised evaluation (FScore)." 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></tr><tr class="row"><td class="cell"></td><td class="cell"><p>System</p></td><td class="cell"><p><b><i>F</i></b><i>a = 0.5</i></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Best</p></td><td class="cell"><p>78.0</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Worst</p></td><td class="cell"><p>40.0</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Average</p></td><td class="cell"><p>60.0</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>UBC-AS</p></td><td class="cell"><p>40.0</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></tr></table><table caption="Table 2: Results of Semeval-2007 Task 2. Supervised evaluation as recall." 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>System</p></td><td class="cell"><p>All</p></td><td class="cell"><p>Nouns</p></td><td class="cell"><p>Verbs</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Best</p></td><td class="cell"><p>81.6</p></td><td class="cell"><p>86.8</p></td><td class="cell"><p>76.2</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Worst</p></td><td class="cell"><p>77.1</p></td><td class="cell"><p>80.5</p></td><td class="cell"><p>73.3</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Average</p></td><td class="cell"><p>79.1</p></td><td class="cell"><p>82.8</p></td><td class="cell"><p>75.0</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>UBC-AS</p></td><td class="cell"><p>78.5</p></td><td class="cell"><p>80.7</p></td><td class="cell"><p>76.0</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><p>E. Agirre and A. Soroa. 2007. Semeval-2007 task 2:evaluating word sense induction and discrimination systems. In <i>Pro­ceedings of Semeval 2007, Association for Computational Linguistics.</i></p><p>E. Agirre, D. Martinez, O. Lopez de Lacalle, and A. Soroa. 2006a. Evaluating and optimizing the parameters of an un-supervised graph-based wsd algorithm. In <i>Proceedings of TextGraphs Workshop. NAACL06.</i>, pages 89-96. Association for Computational Linguistics, June.</p><p>E. Agirre, D. Martinez, O. Lopez de Lacalle, and A. Soroa. 2006b. Two graph-based algorithms for state-of-the-art wsd. In <i>Proceedings ofthe 2006 Conference on Empirical Meth­ods in Natural Language Processing, </i>pages 585-593. Asso­ciation for Computational Linguistics, July.</p><p>J. Artiles, J. Gonzalo, and S. Sekine. 2007. Establishing a benchmark for the web people search task: The semeval 2007 weps track. In <i>Proceedings ofSemeval 2007, Asso­ciation for Computational Linguistics.</i></p><p>J. Atserias, B. Casas, E. Comelles, M. Gonzalez, L. Padro, and M. Padro. 2006. Freeling 1.3: Syntactic and semantic ser­vices in an open-source NLP library. In <i>Proceedings ofthe 5th International Conference on Language Resources and Evaluation (LREC'06), </i>pages 48-55.</p><p>Jon M. Kleinberg. 1999. Authoritative sources in a hyperlinked environment. <i>Journal of the ACM, </i>46(5):604—632.</p><p>Stijn van Dongen. 2000. A cluster algorithm for graphs. Technical Report INS-R0010, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May.</p><p>J. Veronis. 2004. Hyperlex: lexical cartography for informa­tion retrieval.  <i>Computer Speech &amp; Language, </i>18(3):223252.</p><p>D. J. Watts and S. H. Strogatz. 1998. Collective dynamics of 'small-world' networks. <i>Nature, </i>393(6684):440-442, June.</p></references></body></article>