<?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="170"/><title>KX: A Flexible System for Keyphrase eXtraction</title><pubinfo>Proceedings of the 5th International Workshop on Semantic Evaluation, ACL 2010,pages 170-173, Uppsala, Sweden, 15-16 July 2010. ©2010 Association for Computational Linguistics</pubinfo><author surname="Pianta" givenname="Emanuele"><org  name="Fondazione Bruno Kessler" country="Italy" city="Trento"/></author><author surname="Tonelli" givenname="Sara"><org  name="Fondazione Bruno Kessler" country="Italy" city="Trento"/></author></firstpageheader><frontmatter><p><b>KX: A flexible system for Keyphrase extraction</b></p><p><b>Emanuele Pianta</b></p><p>Fondazione Bruno Kessler Trento, Italy.</p><p>pianta@fbk.eu</p><p><b>Sara Tonelli</b></p><p>satonelli@fbk.eu</p></frontmatter><abstract>In this paper we present KX, a system for key-phrase extraction developed at FBK-IRST, which exploits basic linguistic annotation combined with simple statistical measures to select a list of weighted keywords from a document. The system is flexible in that it of­fers to the user the possibility of setting pa­rameters such as frequency thresholds for col­location extraction and indicators for key­phrase relevance, as well as it allows for do­main adaptation exploiting a corpus of docu­ments in an unsupervised way. KX is also eas­ily adaptable to new languages in that it re­quires only a PoS-Tagger to derive lexical pat­terns. In the SemEval task 5 "Automatic Key-phrase Extraction from Scientific Articles", KX performance achieved satisfactory results both in finding <i>reader-assigned keywords </i>and in the <i>combined keywords </i>subtask. </abstract></header><body><section number="1" title="Introduction"><p>Keyphrases are expressions, either single words or phrases, describing the most important con­cepts of a document. As such, a list of key-phrases provides an approximate but useful char­acterization of the content of a text and can be used in a number of interesting ways both for human and automatic processing. For example, keyphrases provide a sort of quick summary of a document. This can be exploited not only in automatic <i>summarization </i>tasks, but also to en­able quick <i>topic search </i>over a number of docu­ments indexed according to their keywords, which is more precise and efficient than full-text search. Once the keywords of a document collec­tion are known, they can also be used to calculate <i>semantic similarity </i>between documents and to <i>cluster </i>the texts according to such similarity (Ricca et al, 2004). Also, keyword extraction can be used as an intermediate step for <i>automatic sense extraction </i>(Jones et al, 2002).</p><p>For these reasons, the keyphrase extraction task proposed at SemEval 2010 raised much at­tention among NLP researchers, with 20 groups participating to the competition. In this frame­work, we presented the KX system, specifically tuned to identify keyphrases in scientific articles. In particular, the challenge comprised two sub-tasks: the extraction of <i>reader-assigned </i>and of <i>author-assigned </i>keyphrases in scientific articles from the ACM digital library. The former are assigned to the articles by annotators, who can choose only keyphrases that occur in the docu­ment, while author-assigned keyphrases are not necessarily included in the text.</p></section><section number="2" title="KX architecture"><p>A previous version of the KX system, named KXPat (Pianta, 2009), was developed to extract keyphrases from patent documents in the PatEx­pert project (www.patexpert.org). The sys­tem employed in the SemEval task has additional parameters and has been tailored to identify key-phrases in scientific articles.</p><p>With KX, the identification of keyphrases can be accomplished with or without the help of a reference corpus, from which some statistical measures are computed in an unsupervised way. We present here the general KX architecture, including the corpus-based pre-processing, even if in the SemEval task the information extracted from the corpus did not contribute as expected (see Section 3).</p><p>KX keyphrase extraction combines linguistic and statistical information, similar to (Frantzi et al., 2000) and is based on 4 steps. The first three steps are carried out at corpus level, whereas the fourth one extracts information specific to each single document to be processed. This means that the first three steps require a corpus <i>C, </i>preferably sharing the same domain of the document <i>d </i>from which the keyphrases should be extracted. The fourth step, instead, is focused only on the document <i>d.</i><page local="2" global="171"/><i> </i>The steps can be summarized as follows:</p><p>Step 1: Extract from <i>C </i>the list <i>NG-c </i>of <i>corpus </i>n-grams, where an n-gram is any sequence of tokens in the text, for instance "the sys­tem", "of the", "specifically built". Step 2: Select from the list <i>NG-c </i>a sub-list of multiword terms <i>MW-c, </i>that is combina­tions of words expressing a unitary con­cept, for instance "light beam" or "access control"</p><p>Step 3: For each document in <i>C, </i>recognize and mark the multiword terms. Calculate the inverse document frequency (IDF) for all words and multiword terms in the cor­pus.</p><p>Step 4: Given a document <i>d </i>from which a set of relevant keyphrases should be ex­tracted, count all words and multiword terms and rank them.</p><p>Step 1 is aimed at building a list of all possible n-grams in <i>C. </i>The maximum length of the selected n-grams can be set by the user. For SemEval, beside one-token n-grams, we select 2-, 3- and 4-grams. Since n-grams occurring only a few times are very unlikely to be useful for keyphrase recognition, they are cut off from the extracted list and excluded for further processing. The fre­quency threshold can be set according to the ref­erence corpus dimensions. For SemEval, we fixed the frequency threshold to 4. In this step, a black-list was also used in order to exclude n-grams containing any of the stopwords in the list. Such stopwords include for example "every­thing", "exemplary", "preceding", etc.</p><p>In Step 2, we select as multiword terms those n-grams that match certain lexical patterns. To this purpose, we first analyze all n-grams with the MorphoPro morphological analyzer of the TextPro toolsuite (Pianta et al., 2006). Then, we filter out the n-grams whose analysis does not correspond to a predefined set of lexical patterns. For example, one of the patterns admitted for 4-grams is the following: [N]~[O]~[ASPGLU]~[NU]. This means that a 4-gram is a candidate multiword term if it is composed by a Noun, fol­lowed by "of" or "for" (defined as O), followed by either an Adjective, Singular noun, Past parti­ciple, Gerund, punctuation (L) or Unknown word, followed by either a Noun or Unknown word. This is matched for example by the 4-gram "subset [S] of [O] parent [S] peers [N]".</p><p>Both the lexical categories (e.g. S for singular noun) and the admissible lexical patterns can be defined by the user.</p><p>In Step 3, multiword terms are recognized by combining local (document) and global (corpus) evidence. To this purpose, we do not exploit as­sociation measures such as Log-Likelihood, or Mutual Information, but a simple frequency based criterion. Two thresholds are defined: <i>MinCorpus, </i>which corresponds to the minimum number of occurrences of an n-gram in a <i>refer­ence corpus, </i>and <i>MinDoc, </i>i.e. the minimum number of occurrences in the <i>current document. </i>KX marks an n-gram in a document as a multiword term if it occurs at least <i>MinCorpus </i>times in the corpus or at least <i>MinDoc </i>times in the document. The two parameters depend on the size of the corpus and the document respectively. In SemEval, we found that the best thresholds are <i>MinDoc=4 </i>and <i>MinCorpus=8. </i>A similar, fre­quency-based, strategy is used to solve ambigui­ties in how sequences of contiguous multiwords should be segmented. For instance, given the sequence "combined storage capability of sen­sors" we need to decide whether we recognize "combined storage capability" or "storage capa­bility of sensors". To this purpose, we calculate the strength of each alternative collocation as <i>docFrequency * corpusFrequency, </i>and then choose the stronger one. To calculate IDF for each word and multiword term, we use the usual formula:  <i>log( TotDocs / DocsContaningTerm )</i>.</p><p>In step 4, we take into account a new docu­ment <i>d, </i>possibly not included in <i>C, </i>from which the keyphrases should be extracted. First we rec­ognize and mark multiword terms, through the same algorithm used in Step 3. Note that KX can recognize multiwords also in isolated documents, independently of any reference corpus, by acti­vating only the <i>MinDoc </i>parameter (see above). Then, we count the frequency of words and multiword terms in <i>d, </i>obtaining a first list of keyphrases, ranked according to frequency. Thus, <i>frequency </i>is the <i>baseline </i>ranking parame­ter, based on the assumption that important con­cepts are mentioned more frequently than less important ones.</p><p>After the creation of a frequency-based list of keyphrases, various techniques are used to re­rank it according to relevance. In order to find the best ranking mechanism for the type of key-phrases we want to extract, different parameters can be set:</p><p><i>•   Inverse document frequency (IDF): </i>this parameter takes into account the fact that a</p><page local="3" global="172"/><p>concept that is mentioned in all documents is less relevant to our task than a concept occurring in few documents</p><p><i>• Keyphrase length: </i>number of tokens in a keyphrase. Concepts expressed by longer phrases are expected to be more specific, and thus more relevant. When this pa­rameter is activated, frequency is multi­plied by the keyphrase length.</p><p><i>• Position of first occurrence: </i>important concepts are expected to be mentioned be­fore less relevant ones. If the parameter is activated, the frequency score will be mul­tiplied by the <i>PosFact </i>factor computed as <i>(DistFromEnd / MaxIndex)pwr2, </i>where <i>MaxIndex </i>is the length of the current document and <i>DistFromEnd </i>is <i>MaxIndex </i>minus the position of the first keyphrase occurrence in the text.</p><p><i>• Shorter concept subsumption: </i>In the key­phrase list, two concepts can occur, such that one is a specification of the other. Concept subsumption and boosting are used to merge or re-rank such couples of concepts. If a keyphrase is (stringwise) in­cluded in a longer keyphrase with a <i>higher frequency, </i>the frequency of the shorter keyphrase is transferred to the count of the longer one. E.g. "grid service discov-ery"=6 and "grid service"=4 are re-ranked as "grid service discovery"=10 and "grid service"=0</p><p><i>• Longer concept boosting: </i>If a keyphrase is included in a longer one with a <i>lower frequency, </i>the average score between the two keyphrase frequency is computed. Such score is assigned to the less frequent keyphrase and subtracted from the fre­quency score of the higher ranked one. For example, if "grid service discovery"=4 and "grid service"=6, the average fre­quency is 5, so that "grid service discov-ery"=5 and "grid service" = 6-5=1. This parameter can be activated alone or to­gether with another one that modifies the criterion for computing the boosting. With this second option, the longer keyphrase is assigned the frequency of the shorter one. For example, if "grid service discovery"=4 and "grid service"=6, the boosting gives "grid service discovery"=6 and "grid serv-</p><p>ice"=6.</p><p>After the list of ranked keyphrases is extracted for each document, it is finally <i>post-processed </i>in two steps. The post-processing phase has been added specifically for SemEval, because key-phrases do not usually need to be stemmed and acronym expansion is relevant only for the spe­cific genre of scientific articles. For this reason, the two processes are not part of the official sys­tem architecture.</p><p>First, acronyms are replaced by the extended form, which is automatically extracted from the current document. The algorithm for acronym detection scans for parenthetical expressions in the text and checks if a preceding text span can be considered a suitable correspondence (Nguyen and Kan, 2007). The algorithm should detect cases in which the acronym appears after or before the extended form, like in "Immediate Predecessors Tracking (IPT)" and "IPT (Imme­diate Predecessors Tracking)". If the acronym and the extended form appear both in the key­phrase list, only the extended form is kept and the acronym frequency is added.</p><p>The second step is stemming with the (Porter Stemmer). Then, we check if the list of stemmed keyphrases contains duplicate entries. If yes, we sum the frequencies of the double keyphrases and remove one of the two from the list.</p></section><section number="3" title="Experimental Setup"><p>In the SemEval task, 144 training files were made available before the test data release. We split them into a training/development set of 100 documents and a test set of 44 documents, in or­der to find the best parameter combination. Key­phrase assignment is a subjective task and crite­ria for keyphrase identification depend on the domain and on the goal for which the keyphrases are needed. For example in scientific articles longer keyphrases are often more informative than shorter ones, so the parameters for boosting longer concepts are particularly relevant.</p><p>We first tested all parameters in isolation to compute the improvement over the frequency-based baseline. Results are reported in Table 1. F1 is computed as the harmonic mean of preci­sion and recall over the 15 top-ranked key-phrases after stemming. We report the <i>combined F1, </i>as computed by the task scorer in order to combine <i>reader-assigned </i>and <i>author-assigned </i>keyword sets.</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></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>Parameter</b></p></td><td class="cell"><p><b>F1 (combined)</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Baseline(MinDoc = 2)</p></td><td class="cell"><p>13.63</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Baseline(MinDoc = 4)</p></td><td class="cell"><p>14.84</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+CorpusColloc(small) +CorpusColloc(big)</p></td><td class="cell"><p>13.48 13.33</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+IDF</p></td><td class="cell"><p>17.98</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><page local="4" global="173"/><p>The parameter scoring the highest improvement over the baseline is IDF. Also the parameters boosting longer keyphrases and those that occur at the beginning of the text are effective. Note that the <i>LongConcBoost </i>parameter achieves bet­ter results in the first version, which has a higher impact on the re-ranking. Surprisingly, using a domain corpus to extract information about multiword terms, as described in Section 2, steps 1 - 3, does not achieve any improvement. This means that KX can better recognize keyphrases in single documents without any corpus refer­ence. Besides, the best setting for <i>MinDoc, </i>the minimum number of multiword occurrences in the current document (see Section 2) is 4. We tested the <i>CorpusCollo</i>c parameter using two different reference corpora: one contained the 100 articles of the training set <i>(CorpusColloc small), </i>while the other <i>(CorpusColloc big) </i>in­cluded both the 100 training articles and the 200 scientific publications of the NUS Keyphrase Corpus (Nguyen and Kan, 2007). The perform­ance is worse using the larger corpus than the smaller one, and in both cases it is below the baseline obtained without any reference corpus.</p><p>In the bottom row of Table 1, the best pa­rameter combination is reported with the score obtained over the development set. The im­provement over the baseline reaches 11.99 F1.</p></section><section number="4" title="Evaluation"><p>In the SemEval task, the system was run on the test set (100 articles) with the best performing parameter combination described in the previous section. The results obtained over the 15 top-ranked keyphrases are reported in Table 2.</p><p>In the competition, the F1 score over reader-assigned keyphrases was ranked 3rd out of 20 participants, while the combined measure achieved the 7th best result out of 20.</p></section><section number="5" title="Conclusions"><p>In this work we have described KX, a flexible system for keyphrase extraction, which achieved promising results in the SemEval task 5. The good KX performance is due to its adaptable ar­chitecture, based on a set of parameters that can be tailored to the document type, the preferred keyphrase length, etc. The system can also ex­ploit multiword lists (with frequency) extracted from a reference corpus, even if this feature did not improve KX performance in this specific task. However, this proved to be relevant when applied to keyphrase extraction in the patent do­main, using a large domain-specific corpus of 10.000 very long documents (Pianta, 2009).</p><p>A limitation of KX in the task was that it ex­tracts only keyphrases already present in a given document, while the <i>author-assigned </i>subtask in the SemEval competition included also key-phrases that do not occur in the text. Another improvement, which is now being implemented, is the extraction of the best parameter combina­tion using machine-learning techniques.</p><table caption="Table 1: Parameter performance over development set" 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>+KeyphraseLength</p></td><td class="cell"><p>16.78</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+FirstPosition</p></td><td class="cell"><p>16.18</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+ShortConcSubsumption</p></td><td class="cell"><p>16.03</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+LongConcBoost(version1)</p></td><td class="cell"><p>14.38</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+LongConcBoost(version2)</p></td><td class="cell"><p>13.93</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>MinDoc = 4, +FirstPosition,</p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+IDF, +KeyphraseLength,</p></td><td class="cell"><p><b>25.62</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>+ShortConcSubsumption, +LongConcBoost(version1)</p></td><td class="cell"><p></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 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><b>Keyphrase type</b></p></td><td class="cell"><p><b>P</b></p></td><td class="cell"><p><b>R</b></p></td><td class="cell"><p><b>F1</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Reader-assigned</p></td><td class="cell"><p>20.33</p></td><td class="cell"><p>25.33</p></td><td class="cell"><p><b>22.56</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Combined</p></td><td class="cell"><p>23.60</p></td><td class="cell"><p>24.15</p></td><td class="cell"><p><b>23.87</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>Table 2: System performance over test set</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>Jones, S., Lundy, S. and Paynter, G. W. 2002. Interac­tive Document Summarization Using Automati­cally Extracted Keyphrases. In <i>Proc. of the 35thHawaii International Conference on System Sci­ences.</i></p><p>Frantzi, K., Ananiadou, S. and Mima, H. 2000. Automatic recognition of multi-word terms: the C-value/NC-value method. <i>Journal on Digital Li­braries. </i>3 (2), pp.115-130.</p><p>Thuy Dung Nguyen and Min-Yen Kan. 2007. Key­phrase Extraction in Scientific Documents. In D.H.-L. Goh et al. (eds.): <i>ICADL 2007, </i>LNCS 4822, pp. 317-326.</p><p>Pianta, E., Girardi, C and Zanoli, R. 2006. The TextPro tool suite. In <i>Proc. of LREC.</i></p><p>Pianta, E. 2009. <i>Content Distillation from Patent Ma­terial, </i>FBK Technical Report.</p><p>Ricca, F., Tonella, P., Girardi, C and Pianta, E. 2004.</p><p>An empirical study on Keyword-based Web Site Clustering. In <i>Proceedings of the 12th IWPC.</i></p><p>PorterStemmer:</p><p>http ://tartarus.org/~martin/PorterStem mer/perl.txt.</p></references></body></article>