<?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="182"/><title>SEERLAB: A System for Extracting Keyphrases from Scholarly Documents</title><pubinfo>Proceedings of the 5th International Workshop on Semantic Evaluation, ACL 2010,pages 182-185, Uppsala, Sweden, 15-16 July 2010. ©2010 Association for Computational Linguistics</pubinfo><author surname="Treeratpituk" givenname="Pucktada"><org  name="Bath University" country="United Kingdom"/></author><author surname="Teregowda" givenname="Pradeep"><org  name="Bath University" country="United Kingdom"/></author><author surname="Huang" givenname="Jian"><org  name="Pennsylvania State University" country="USA" city="State College"/></author><author surname="Giles" givenname="C. Lee"><org  name="Pennsylvania State University" country="USA" city="State College"/></author></firstpageheader><frontmatter><p><b>SEERLAB: A System for Extracting Key phrases from Scholarly</b></p><p><b>Documents</b></p><p><b>Pucktada Treeratpituk<footnote anchor="1"/>    Pradeep Teregowda<footnote anchor="2"/>    Jian Huang<footnote anchor="1"/>    C. Lee Giles<footnote anchor="12"/></b></p><p><footnote anchor="1"/> Information Sciences and Technology <footnote anchor="2"/> Computer Science and Engineering Pennsylvania State University, University Park, PA, USA</p></frontmatter><abstract>We describe the SEERLAB system that participated in the SemEval 2010's Keyphrase Extraction Task. SEERLAB utilizes the DBLP corpus for generating a set of candidate keyphrases from a document. Random Forest, a supervised ensemble classifier, is then used to select the top keyphrases from the candidate set. SEERLAB achieved a 0.24 F-score in generating the top 15 keyphrases, which places it sixth among 19 participating sys­tems. Additionally, SEERLAB performed particularly well in generating the top 5 keyphrases with an F-score that ranked third. </abstract></header><body><section number="1" title="Introduction"><p>Keyphrases are phrases that represent the impor­tant topics of a document. There are two types of keyphrases associated with scholarly publications: author-assigned ones and reader-assigned ones. In the Keyphrase Extraction Task (Kim et al., 2010), each system receives two set of scientific papers from the ACM digital library; a training set and a testing set. The author-assigned keyphrases and reader-assigned keyphrases are given for each pa­per in the training set. The objective is to produce the keyphrases for each article in the testing set.</p><p>This paper is organized as followed. First, We describe our keyphrase extraction system, SEER­LAB. We then discuss its performance in SemEval 2010. Lastly, we analyze the effectiveness of each feature used by SEERLAB, and provide a sum­mary of our findings.</p></section><section number="2" title="System Description"><p>SEERLAB consists of three main components: a section parser, a candidate keyphrase extractor, and a keyphrase ranker. To generate keyphrases for a paper, the section parser first segments the document into pre-defined generic section types. Secondly, the candidate keyphrase extractor gen­erates a list of candidate phrases based on the doc­ument content. Then, the keyphrase ranker ranks each candidate according to the likelihood that it is a keyphrase. The top candidates are selected as keyphrases of the paper.</p><subsection number="2.1" title="Section Parser"><p>The goal of the section parser is to parse each doc­ument into the same set of pre-defined sections. However, segmenting a scientific article into pre­defined section types is not trivial. While schol­arly publications generally contains similar sec­tions (such as <i>Abstract </i>and <i>Conclusion), </i>a sec­tion's exact header description and the order in which it appears can vary from document to docu­ment. For example, the <i>"Related Work" </i>section is sometimes referred to as <i>"Previous Research" </i>or <i>"Previous Work." </i>Also, while the <i>"Related Work" </i>section often appears right after the introduction, it could also appear near the end of a paper.</p><p>(Nguyen and Kan, 2007) had success in us­ing a maximum entropy (ME) classifier to clas­sify sections into 14 generic section types includ­ing those such as <i>Motivation, Acknowledgement, References. </i>However, their approach requires an­notated training data, which is not always avail­able. Instead, SEERLAB uses regular expres­sions to parse each document into 6 generic sec­tion types: <i>Title, Abstract, Introduction, Related Work, Methodology + Experiments, and Conclu­sion + Future Work. </i>We decided to go with the smaller number of section types (only 6), unlike previous work in (Nguyen and Kan, 2007), be­cause we believed that many sections, such as <i>Ac­knowledgement, </i>are irrelevant to the task. 182<page local="2" global="183"/></p></subsection><subsection number="2.2" title="Extracting Candidate Keyphrases"><p>In this section, we describe how SEERLAB de­rives a set of candidate keyphrases for a given doc­ument. The goal of the candidate extractor is to in­clude as many actual keyphrases in the candidate set as possible, while keeping the number of can­didates small. The performance of the candidate extractor determines the maximum achievable Re­call of the whole system. The more correct can­didates extracted at this step, the higher the possi­ble Recall. But a bigger candidate set potentially could lower Precision. In our implementation, we decided to ignore the <i>Methodology + Experiments </i>sections to limit the size of candidate sets.</p><p>First, SEERLAB extracts a list of bigrams, tri-grams and quadgrams that appear at least 3 times in titles of papers in DBLP<footnote anchor="1"/>, ignoring those that contain stopwords. Prepositions such as "of", "for", "to" are allowed to be present in the ngrams. From 2,144,390 titles in DBLP, there are 376,577 of such ngrams. It then constructs a trie (a prefix-tree) of all ngrams so that it can later perform the longest-prefix matching lookup efficiently.</p><p>To generate candidates from a body of text, we start the cursor at the beginning of the text. The DBLP trie is then used to find the longest-prefix match. If no match is found, the cursor is moved to the next word in the text. If a match is found, the matched phrase is extracted and added to the candidate set, while the cursor is moved to the end of the matched phrase. The process is repeated until the cursor reaches the end of the text.</p><p>However, the trie constructed as described above can only produce non-unigram candidates that appear in the DBLP corpus. For example, it is incapable of generating candidates such as <i>"preference elicitation problem," </i>which does not appear in DBLP, and <i>"bet," </i>which is an unigram. To remedy such limitations, for each document we also include its top 30 most frequent unigrams, its top 30 non-unigram ngrams and the acronyms found in the document as candidates.</p><p>Our method of extracting candidate keyphrases differs from most previous work. Previous work (Kim and Kan, 2009; Nguyen and Kan, 2007) uses hand-crafted regular expressions for candidate ex­tractions. Many of these rules also require POS (part of speech) inputs. In contrast, our method is corpus-driven and requires no additional input from the POS tagger. Additionally, our approach allows us to effectively include phrases that appear only once in the document as candidates, as long as they appear more than twice in the DBLP data.</p><footnote label="1">http://www.informatik . uni-trier.de/ ley/db/index.html</footnote></subsection><subsection number="2.3" title="Ranking Keyphrases"><p>We train a supervised Random Forest (RF) clas­sifier to identify keyphrases from a candidate set. A Random Forest is a collection of decision trees, where its prediction is simply the aggregated votes of each tree. Thus, for each candidate phrase, the number of votes that it receives is used as its fit­ness score. Candidates with the top fitness scores are then chosen as keyphrases. The detail of the Random Forest algorithm and the features used in the model are given below.</p><subsubsection number="2.3.1" title="Features"><p>We represent each candidate as a vector of fea­tures. There are the total of 11 features.</p><p>N: The length of the keyphrase.</p><p><b>ACRO: </b>A binary feature indicating whether the keyphrase appears as an acronym in the document.</p><p><b>TF</b>(ioc: The number of times that the keyphrase appears in the document.</p><p><b>DF: </b>The document frequency. This is com­puted based on the DBLP data. For document-specific candidates (unigrams and those not found in DBLP), their DFs are set to 1.</p><p><b>TFIDF: </b>The TFIDF weight of the keyphrase, computed using TF&lt;ioc and DF.</p><p><i>^headers'- </i>The number of occurrences that the keyphrase appears in any section headers and sub­section headers.</p><p><b>TF</b><i>section*'- </i>The number of occurrences that the keyphrase appears in the <i>sectiorii, </i>where <i>sectiorii </i>e <i>{Title, Abstract, Introduction, Related Work, Conclusion}. </i>These accounted for the total of 5 features.</p></subsubsection><subsubsection number="2.3.2" title="Random Forest"><p>Since a random forest (RF) is an ensemble clas­sifier combining multiple decision trees (Breiman, 2001), it makes predictions by aggregating votes of each of the trees. To built a random forest, mul­tiple bootstrap samples are drawn from the origi­nal training data, and an unpruned decision tree is built from each bootstrap sample. At each node in a tree, when selecting a feature to split, the se­lection is done not on the full feature set but on a</p><p>randomly selected subset of features instead. The 183<page local="3" global="184"/></p><p>Gini index<footnote anchor="2"/>, which measures the class dispersion within a node, is used to determine the best splits.</p><p>RFs have been successfully applied to various classification problems with comparable results to other state-of-the-art classifiers such as SVM (Breiman, 2001; Treeratpituk and Giles, 2009). It achieves high accuracy by keeping a low bias of decision trees while reducing the variance through the introduction of randomness.</p><p>One concern in training Random Forests for identifying keyphrases is the data imbalanced problem. On average, 130 candidates are extracted per document but only 8 out of 130 are correct keyphrases (positive examples). Since the training data is highly imbalanced, the resulting RF classi­fier tends to be biased towards the negative class examples. There are two methods for dealing with imbalanced data in Random Forests (Chen et al., 2004). The first approach is to incorporate class weights into the algorithm, giving higher weights to the minority classes, so that misclassifying a minority class is penalized more. The other ap­proach is to adjust the sampling strategy by down-sampling the majority class so that each tree is grown on a more balanced data. In SEERLAB, we employ the down-sampling strategy to correct the imbalanced data problem (See Section 3).</p></subsubsection></subsection></section><section number="3" title="Results"><p>In this section, we discuss the performance and the implementation detail of our system in the Keyphrase Extraction Task. Each model in the ex­periment is trained on the training data, containing 144 documents, and is evaluated on a separate data set of 100 documents. The performance of each model is measured using Precision (P), Recall (R) and F-measure (F) for the top 5, 10 and 15 can­didates. A keyphrase is considered correct if and only if it exactly matches one of the answer keys. No partial credit is given.</p><p>Three baseline systems were provided by the or­ganizer: <i>TFIDF, NB </i>and <i>ME. </i>All baselines use the simple unigrams, bigrams and trigrams as candi­dates and <i>TFIDF </i>as features. <i>TFIDF </i>is an unsu­pervised method that ranks each candidate based on <i>TFIDF </i>scores. NB and ME are supervised Naive Bayes and Maximum Entropy respectively.</p><p>We use the randomForest package in R for our</p><footnote label="2">For a set S of data with K classes, its Gini index is defined as: Gini(S) = 2 ~2f =iP'j &gt; where pi  denotes the probability of observing class i in S.</footnote><p>M ean DecreaseAccu r MeanDecreaseGin</p><p>Figure 1 : Variable importance for each feature keyphrase ranker (Liaw and Wiener, 2002). All RF models are built with the following parame­ters: the number of trees = 200 and the number of features considered at each split = 3. The average training and testing time are around 15s and 5s.</p><p>Table 1. compares the performance of three different SEERLAB models against the baselines. <i>RFo </i>is the basic model, where the training data is imbalanced. For <i>RF\:\, </i>the negative examples are down-sampled to make the data balanced. For <i>RFi-j, </i>the negative examples are down-sampled to where its ratio with the positive examples is 7 to 1. All three models significantly outperform the baselines. The <i>RFi-j </i>model has the high­est performance, while the <i>RF\:\ </i>model performs slightly worse than the basic model -RFo. This shows that while the sampling strategy helps, over­doing it can hurt the performance. The optimal sampling ratio <i>(RFi-j) </i>is chosen according to a 10-fold cross-validation on the training data. For the top 15 candidates, <i>RFi-j's </i>F-score (C) ranks sixth among the 19 participants with a 24.34% F-score approximately 1% lower than the third place team. We also observed that SEERLAB performs quite well for the top 5 candidates with 39% Preci­sion (C). Its F-scores at the top 5, 19.84% (C) and 18.19% (R), place SEERLAB third and second re­spectively among other participants.</p><p>Figure 1. shows two variable importance in­dicators for each feature: <i>mean decrease accu­racy (MDA) </i>and <i>mean decrease Gini (MDG). </i>Both indicators measure each feature's contribu­tion in identifying whether a candidate phrase is a keyphrase. The <i>MDA </i>of a feature is computed by randomly permuting the value of that feature in the training data and then measuring the decrease</p><p>in prediction accuracy. If the permuted feature is 184<page local="4" global="185"/></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><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>n</p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p>tfidf</p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>df</p></td><td class="cell"><p></p></td><td class="cell"><p>.....o-</p></td><td class="cell"><p>df</p></td><td class="cell"><p>...0...</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tfidf</p></td><td class="cell"><p></p></td><td class="cell"><p>...0..</p></td><td class="cell"><p>tf.doc</p></td><td class="cell"><p>.....o - - - -</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf.title</p></td><td class="cell"><p></p></td><td class="cell"><p>..0...</p></td><td class="cell"><p>tf. intra</p></td><td class="cell"><p>.....o----</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>aero</p></td><td class="cell"><p></p></td><td class="cell"><p>■ • -o.....</p></td><td class="cell"><p>n</p></td><td class="cell"><p>■ ■ ■ ■ o.....</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf.doc</p></td><td class="cell"><p></p></td><td class="cell"><p>0...</p></td><td class="cell"><p>tf.conclusion</p></td><td class="cell"><p><b>...Q. ..</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf. intra</p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p>tf.abs</p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf.abs</p></td><td class="cell"><p>o</p></td><td class="cell"><p></p></td><td class="cell"><p>tf. headers</p></td><td class="cell"><p>..0...</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf. related_work</p></td><td class="cell"><p>■ o</p></td><td class="cell"><p></p></td><td class="cell"><p>tf. related_work</p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf.conclusion</p></td><td class="cell"><p>o</p></td><td class="cell"><p></p></td><td class="cell"><p>tf.title</p></td><td class="cell"><p>■o--</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>tf. headers</p></td><td class="cell"><p>3....</p></td><td class="cell"><p></p></td><td class="cell"><p>aero</p></td><td class="cell"><p>o--</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>I</p><p>0.02</p></td><td class="cell"><p>1 1 0.06</p></td><td class="cell"><p></p></td><td class="cell"><p>1 1 1 1 1 1</p><p>0   10 25</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><td class="cell"></td></tr></table><p>Table 1 : Performance (%) comparison for the Keyphrase Extraction Task. R (Reader) indicates that the reader-assigned keyword is used as the gold-standard and C (Combined) means that both author-assigned and reader-assigned keyword sets are used.</p><p>a very good predictor, then the prediction accu­racy should decrease substantially from the orig­inal model. The <i>MDG </i>of a feature implies that average Gini decreases for the nodes in the forest that use that feature as the splitting criteria.</p><p><i>TFIDF </i>and <i>DF </i>are good indicators of perfor­mance according to both <i>MDA </i>and <i>MDG. </i>Both are very effective when used as splitting criteria, and the prediction accuracy is very sensitive to them. Surprisingly, the length of the phrase (AO also has high importance. Also, <i>TFutie </i>and <i>ACRO </i>have high <i>MDA </i>but low <i>MDG. </i>They have high <i>MDA </i>because if a candidate phrase is an acronym or appears in the title, it is highly likely that it is a keyphrase. However, most keyphrases are not acronyms and do not appear in titles. Thus, on average as splitting criteria, they do not de­crease Gini index by much, resulting in a low <i>MDG. </i>Also, <i>TFrdated_wark </i>and <i>TFheaders </i>have lower <i>MDA </i>and <i>MDG </i>than TF of other sections <i>(TFintro, TFabs, </i>and <i>TFconclusion). </i>This might suggest that the occurrences in the <i>"Related Work" </i>section or section headers are not strong indica­tors of being a keyphrase as the occurrences in the sections <i>"Introduction," "Abstract" </i>and <i>"Conclu­sion."</i></p></section><section number="4" title="Conclusion"><p>We have described our SEERLAB system that participated in the Keyphrase Extraction Task. SEERLAB combines unsupervised corpus-based approach with Random Forests to identify keyphrases. The experimental results show that our system performs well in the Keyphrase Ex­traction Task, especially on the top 5 key phrase candidates. We also show that the down-sampling strategy can be used to enhance our performance.</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><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>System</p></td><td class="cell"><p>by</p></td><td class="cell"><p>top 5 candidates P        R F</p></td><td class="cell"><p>top 10 candidates P        R F</p></td><td class="cell"><p>top 15 candidates P        R F</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>TF.IDF</p></td><td class="cell"><p>R</p><p>C</p></td><td class="cell"><p>17.80    7.39 10.44 22.00    7.50 11.19</p></td><td class="cell"><p>13.90   11.54 12.61 17.70   12.07 14.35</p></td><td class="cell"><p>11.60   14.45 12.87 14.93   15.28 15.10</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>NB</p></td><td class="cell"><p>R</p><p>C</p></td><td class="cell"><p>16.80    6.98 9.86 21.40    7.30 10.89</p></td><td class="cell"><p>13.30   11.05 12.07 17.30   11.80 14.03</p></td><td class="cell"><p>11.40   14.20 12.65 14.53   14.87 14.70</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>ME</p></td><td class="cell"><p>R</p><p>C</p></td><td class="cell"><p>16.80    6.98 9.86 21.40    7.30 10.89</p></td><td class="cell"><p>13.30   11.05 12.07 17.30   11.80 14.03</p></td><td class="cell"><p>11.40   14.20 12.65 14.53   14.87 14.70</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>SEERLAB <i>(RFq)</i></p></td><td class="cell"><p>R</p><p>C</p></td><td class="cell"><p>29.00   12.04 17.02 36.00   12.28 18.31</p></td><td class="cell"><p>22.50   18.69 20.42 28.20   19.24 22.87</p></td><td class="cell"><p>18.20   22.67 20.19 22.53   23.06 22.79</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>SEERLAB <i>(RF1:1)</i></p></td><td class="cell"><p>R</p><p>C</p></td><td class="cell"><p>26.00   10.80 15.26 32.00   10.91 16.27</p></td><td class="cell"><p>20.80   17.28 18.88 26.00   17.74 21.09</p></td><td class="cell"><p>17.40   21.68 19.31 21.93   22.44 22.18</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>SEERLAB <i>(RFi:7)</i></p></td><td class="cell"><p>R</p><p>C</p></td><td class="cell"><p>31.00   12.87 18.19 <b>39.00   13.30 19.84</b></p></td><td class="cell"><p>24.10   20.02 21.87 <b>29.70   20.26 24.09</b></p></td><td class="cell"><p>19.33   24.09 21.45 <b>24.07   24.62 24.34</b></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><td class="cell"></td></tr></table></section><references><p>Leo Breiman. 2001. Random forests. <i>Machine Learn­ing, </i>Jan.</p><p>Chao Chen, Andy Liaw, and Leo Breiman. 2004. Us­ing random forest to learn imbalanced data. <i>Techni­cal Report, University of California, Berkeley.</i></p><p>Su Nam Kim and Min-Yen Kan. 2009. Re-examining automatic keyphrase extraction approaches in scien­tific articles. <i>Proceedings of the Workshop on Mul­tiword Expressions, ACL-IJCNLP, </i>Jan.</p><p>Su Nam Kim, Olena Medelyan, Min-Yen Kan, and Timothy Baldwin. 2010. Semeval-2010 task 5: Au­tomatic keyphrase extraction from scienctific article.</p><p><i>ACL workshop on Semantic Evaluations (SemEval 2010).</i></p><p>Andy Liaw and Matthew Wiener. 2002. Classification and regression by randomforest. <i>R News.</i></p><p>Thuy Dung Nguyen and Min-Yen Kan. 2007. Keyphrase extraction in scientific publications. <i>Pro­ceedings of International Conference on Asian Dig­ital Libraries (ICADL'07), </i>Jan.</p><p>Pucktada Treeratpituk and C Lee Giles. 2009. Dis­ambiguating authors in academic publications using random forests. <i>In Proceedings of the Joint Confer­ence on Digital Libraries (JCDL'09), </i>Jan.</p></references></body></article>