This is a repository copy of JATE2.0 : Java Automatic Term Extraction with Apache Solr.

White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/96573/

Version: Published Version

Proceedings Paper: Zhang, Z., Gao, J. and Ciravegna, F. (2016) JATE2.0 : Java Automatic Term Extraction with Apache Solr. In: Calzolari, N., Choukri, K., Declerck, T., Goggi, S., Grobelnik, M., Maegaard, B., Mariani, J., Mazo, H., Moreno, A., Odijk, J. and Piperidis, S., (eds.) Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC 2016). LREC 2016, Tenth International Conference on Language Resources and Evaluation, 23-28 May 2016, Portorož, Slovenia. European Language Resources Association (ELRA) . ISBN 9782951740891

© 2016 The Author(s). This is an Open Access article distributed under the terms of the Creative Commons Attribution-NonCommercial Licence (http://creativecommons.org/licenses/by-nc/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. You may not use the material for commercial purposes.

Reuse This article is distributed under the terms of the Creative Commons Attribution-NonCommercial (CC BY-NC) licence. This licence allows you to remix, tweak, and build upon this work non-commercially, and any new works must also acknowledge the authors and be non-commercial. You don’t have to license any derivative works on the same terms. More information and the full terms of the licence here: https://creativecommons.org/licenses/

Takedown If you consider content in White Rose Research Online to be in breach of UK law, please notify us by emailing [email protected] including the URL of the record and the reason for the withdrawal request.

[email protected] https://eprints.whiterose.ac.uk/ JATE 2.0: Java Automatic Term Extraction with Apache Solr

Ziqi Zhang, Jie Gao, Fabio Ciravegna Regent Court, 211 Portobello, Sheffield, UK, S1 4DP ziqi.zhang@sheffield.ac.uk, j.gao@sheffield.ac.uk, f.ciravegna@sheffield.ac.uk

Abstract Automatic Term Extraction (ATE) or Recognition (ATR) is a fundamental processing step preceding many complex knowledge engineering tasks. However, few methods have been implemented as public tools and in particular, available as open-source freeware. Further, little effort is made to develop an adaptable and scalable framework that enables customization, development, and comparison of algorithms under a uniform environment. This paper introduces JATE 2.0, a complete remake of the free Java Automatic Term Extraction Toolkit (Zhang et al., 2008) delivering new features including: (1) highly modular, adaptable and scalable ATE thanks to integration with Apache Solr, the open source free-text indexing and search platform; (2) an extended collection of state-of-the-art algorithms. We carry out experiments on two well-known benchmarking datasets and compare the algorithms along the dimensions of effectiveness (precision) and efficiency (speed and memory consumption). To the best of our knowledge, this is by far the only free ATE library offering a flexible architecture and the most comprehensive collection of algorithms.

Keywords: term extraction, term recognition, NLP, text mining, Solr, search, indexing

1. Introduction by completely re-designing and re-implementing JATE to Automatic Term Extraction (or Recognition) is an impor- fulfill three goals: adaptability, scalability, and extended tant Natural Language Processing (NLP) task that deals collections of algorithms. The new library, named JATE 3 4 with the extraction of terminologies from domain-specific 2.0 , is built on the Apache Solr free-text indexing and textual corpora. ATE is widely used by both industries search platform and can be either used as a separate mod- and researchers in many complex tasks, such as Informa- ule, or a Solr plugin during document processing to en- tion Retrieval (IR), machine translation, ontology engineer- rich the indexed documents with terms. JATE 2.0 deliv- ing and text summarization (Bowker, 2003; Brewster et ers domain-specific adaptability and scalability by seam- al., 2007; Maynard et al., 2007). Over the years, there lessly integrating with the Solr text analysis capability in 5 has been constant effort on researching new algorithms, the form of ‘analyzers’ , allowing users to directly exploit adapting to different domains and/or languages, and creat- the highly modular and scalable Solr text analysis to facili- ing benchmarking datasets (Ananiadou, 1994; Church and tate term extraction for large data from various content for- Gale, 1995; Ahmad et al., 1999; Frantzi et al., 2000; Park mats. Last but not least, JATE 2.0 expands its collection 6 et al., 2002; Matsuo and Ishizuka, 2003; Sclano and Ve- of state-of-the-art algorithms to double that in the origi- lardi, 2007; Rose et al., 2010; Spasic´ et al., 2013; Zadeh nal JATE release. We also evaluate these algorithms under and Handschuh, 2014). uniform settings on two publicly available benchmarking Given the fundamental role of ATE in many tasks, a real datasets. Released as open source software, we believe that benefit to the community would be releasing the tools to JATE 2.0 offers significant value to both researchers and facilitate the development of downstream applications, also practitioners. encouraging code-reuse, comparative studies, and fostering The remainder of this paper is structured as follows. Sec- further research. Unfortunately, effort in this direction has tion 2. discusses related work. Section 3. describes JATE been extremely limited. First, only very few tools have been 2.0 in details. Section 5. describes experiments and dis- published with readily available source code (Spasic´ et al., cusses results. Section 6. concludes this paper. 2013) and some are proprietary (labs.translated.net, 2015; Yahoo!, 2015), or no longer maintained (Sclano and Ve- 2. Related Work lardi, 2007)1. Second, different tools have been developed We describe related work from three persectives: ATE under different scenarios and evaluated in different domains methods in general, ATE tools and software, and text min- using proprietary language resources, making it difficult for ing plugins based on Solr. comparison. Third, it is unclear whether and how well these ATE methods typically start with linguistic processors tools can adapt to different domain tasks and scale up to as the first stage to extract candidate terms; followed by large data. To the best of our knowledge, the only effort towards ad- 3https://github.com/ziqizhang/jate dressing these issues is the Java Automatic Term Extrac- 4http://lucene.apache.org/solr/ tion Toolkit (JATE)2, where we originally implemented 5https://cwiki.apache.org/confluence/ five state-of-the-art algorithms under a uniform framework display/solr/Analyzers 6 (Zhang et al., 2008). This work makes one step further By this we mean the mathematical formulation of term candi- date scores. We do not claim identical replication of state-of-the- 1Original link: http://lcl2.di.uniroma1.it/ art methods, as they often differ in pre- and post-processing, such 2https://code.google.com/p/jatetoolkit. as term candidate generation, term variant handling and the use of Google Code has been shut down since Jan 2016. dictionary. 2262 statistics-based term ranking algorithms to perform can- ATE. didate filtering. Linguistic processors are domain spe- cific, and designed to capture term formation and collo- 3. JATE 2.0 Architecture cation patterns. They often take two forms: ‘closed fil- ters’ (Arora et al., 2014) focus on precision and are usu- Figure 1 shows the general architecture of JATE 2.0 and ally restricted to nouns or noun sequences. ‘Open filters’ its workflow, which consists of four phases: (1) data pre- (Frantzi et al., 2000) are more permissive and often al- processing; (2) term candidate extraction and indexing; (3) low adjectives, adverbs, etc. For both, widely used tech- candidate scoring and filtering and (4) final term indexing niques include Part-of-Speech (PoS) tag sequence match- and export. ing, N-gram extraction, Noun Phrase (NP) Chunking, and Data pre-processing (Section 3.1.) parses input docu- dictionary lookup. The selection of linguistic processors is ments to raw text content and performs text normaliza- often domain-specific and important for the trade-off be- tion in order to reduce ‘noise’ in irregular data. The pre- tween precision and recall. The ranking algorithms are of- processed text content then passes through the candidate ten based on: ‘unithood’ indicating the collocation strength extraction (Section 3.2.) component that extracts and nor- of units that comprise a single term (Matsuo and Ishizuka, malizes term candidates from each document. Candidate 2003); and ‘termhood’ indicating the association strength extraction and data pre-processing are embedded as part of a term to domain concepts (Ahmad et al., 1999). Most of the Solr document indexing process, largely realized by methods combine both termhood and unithood measures Solr’s ‘analyzers’. An analyzer is composed of a series (Ananiadou, 1994; Frantzi et al., 2000; Park et al., 2002; of processors (‘tokenizers’ and ‘filters’) to form a pipeline, Sclano and Velardi, 2007; Spasic´ et al., 2013). Two unique or an analysis ‘chain’ that examines the text content from features of JATE 2.0 are (1) customization of linguistic pro- each document, generates a token stream and records sta- cessors of the two forms hence making it adaptable to many tistical information. Solr already implements a very large domains and languages, and (2) a wide selection of imple- text processing library for this purpose. JATE 2.0 further mented ranking algorithms, which are not available in any extends these. Depending on individual needs, users may other tools. assemble customized analyzers for term candidate genera- Existing ATE tools and software are extremely limited tion. Defining analyzers is achieved by configuration in the for several reasons. First, many are proprietary soft- Solr schema, such as that shown in Figure 2. ware (labs.translated.net, 2015), quota-limited (e.g., Open- Next, the candidates are processed by the subsequent filter- Calais7), or restricted to academic usage only (e.g., Ter- ing component (Section 3.3.), where different ATE algo- Mine8). Second, all tools, including the original JATE rithms can be configured to score and rank the candidates, (Zhang et al., 2008), are built in a monolithic architec- and making the final selection. The implementation of the ture which allows very limited customization and scala- algorithms are largely parallelized. The resulting terms can bility (Spasic´ et al., 2013). Third, most offer very limited either be exported for further validation, or written back to (typically a single choice) configurability, e.g., in terms of the index to annotate documents. term candidate extraction and/or ranking algorithms (e.g., JATE 2.0 can be run in two modes: (1) as a separate mod- TermRaider (Maynard et al., 2008), TOPIA9, and Flex- ule to extract terms from a corpus using an embedded Solr iTerm (Spasic´ et al., 2013). JATE 2.0 is a free, open-source instance (Section 4.1.), or (2) as a Solr plugin that performs library. It is highly modular, allowing customization and ATE as part of the document indexing process to anno- configuration of many components. Meanwhile, to our best tate documents with domain-specific terminologies (Sec- knowledge, no available ATE tools support automatic in- tion 4.2.). Both modes undergo the same workflow de- dexing. scribed above. Solr plugins for text mining Solr is an open source en- JATE 2.0 offers adaptability and scalability thanks to its terprise search platform written in Java. It is highly mod- seamless integration with Solr and parallelized implemen- ular, customizable, and scalable, hence widely used as an tation. Access to Solr’s very large collection of multi- industry standard. A core component of Solr is its power- lingual text processing libraries that can be configured in ful, extensible text processing library covering a wide range a plug-and-play way enables JATE 2.0 to be adapted to dif- of functionality and languages. Many text mining and NLP ferent languages, document formats, and domains. The rich tools have integrated with Solr to benefit from these fea- collection of algorithms also give users options to better tures as well as contributing additional support for doc- tailor the tool to specific use cases. Parallelization enables ument indexing (e.g., OpenNLP plugins10, SolrTextTag- JATE 2.0 to scale up to large datasets. Parallelization for ger11, and UIMA12). However, no plugin is available for term candidate generation can be achieved via Solr’s dis- tributed indexing capability under SolrCloud13. Users sim- 7http://new.opencalais.com/ ply follow Solr’s guide on configuring distributed indexing. 8http://www.nactem.ac.uk/software/ Parallelization for scoring and ranking algorithms comes termine/ as standard in JATE 2.0 and is also configurable. Detailed 9 https://pypi.python.org/pypi/topia. guidelines on defining analyzers for ATE and configura- termextract tions can be found on the JATE 2.0 homepage. 10https://wiki.apache.org/solr/OpenNLP 11https://github.com/OpenSextant/ SolrTextTagger 13https://cwiki.apache.org/confluence/ 12https://uima.apache.org display/solr/SolrCloud

2263 tokenization, such as line 3 of schema. shown in Figure 2. 3.2. Candidate Extraction Term candidate extraction is realized as part of the Solr in- dexing process. A dedicated ‘field’19 is defined within the Solr indexing schema to hold candidates for each document (candidate field). The field is bound to a ‘fieldType’, which uses a customized analyzer to break content into term can- didates and normalize them to conflate the variants that are dispersed throughout the corpus. The Solr indexing pro- cess also generates basic statistical information about can- didates, such as a candidate’s frequency within each docu- ment, and the number of documents it appears in20. The analyzer is highly customizable and adaptable. All ex- isting Solr text analysis libraries can be used, such as tok- enization, case folding, stop words removal, token N-gram extraction, stemming, etc. It is also easy to implement new components to replace or complement existing ones in a plug-and-play way. Currently, Solr 5.3 supports nearly 20 implementations of tokenization and over 100 text normal- ization and filtering methods21, covering a wide range of Figure 1: General Architecture of JATE 2.0 languages and use cases. Thus by selecting different com- ponents and assembling them in different orders, one can create different analyzers to achieve different extraction and 3.1. Data pre-processing normalization results. With the standard JATE 2.0 configuration, data pre- To support ATE, JATE 2.0 extends Solr’s text analysis li- processing begins with Solr Content Extraction Library braries by supporting three types of linguistic filters for (also known as SolrCell14) to extract textual content from term candidate extraction. These include: (1) a PoS pattern files. It integrates the popular framework15 based chunker that extracts candidates based on user spec- that supports detecting and extracting metadata and text ified patterns (e.g., line 9 of schema.xml in Figure 2); (2) from a large range of file formats such as plain text, HTML, a token N-gram extractor that extends the built-in one; (3) PDF, and Microsoft Office. To use this, users simply con- a noun phrase chunker. All of these are implemented with figure an instance of ExtractingRequestHandler16 the capability to normalize noisy terms, such as removing for their data in Solr. leading and trailing stop words, and non-alphanumeric to- To support multi-lingual documents, users may kens. In addition, JATE 2.0 also implements an English also use Solr’s capability for detecting languages lemmatizer, which is a recommended replacement of stem- of texts in documents and map text to language- mers that can sometimes be too aggressive for ATE. These specific analyzers for indexing using the langid offer great flexibility enabling almost any customized term UpdateRequestProcessor17. candidate extraction. Figure 2 shows a standard configu- Next, a recommended practice for pre-processing irregu- ration of an text analyzer for PoS pattern based candidate lar textual data (commonly found in corporate datasets) extraction for English. is applying the Solr char filter component18 to per- form character-level text normalization. For example, 3.3. Filtering HTMLStripCharFilterFactory detects HTML en- Extracted term candidates are further processed to make a tities (e.g., ‘A’, ‘ ’) with corresponding charac- final decision to separate terms from non-terms. ters. This can reduce errors in downstream processors (e.g., PoS tagger) in the analyzer. This can be configured as part 3.3.1. Pre-filtering of the analyzer in the Solr schema, usually placed before It is often a common practice to apply a filtering process to term candidates to reduce both noise (e.g., due to irregular 14https://cwiki.apache.org/confluence/ textual data or erroneous PoS tagging) and computation be- display/solr/Uploading+Data+with+Solr+Cell+ fore the subsequent step of term scoring and ranking. The using+Apache+Tika 15https://tika.apache.org 19https://cwiki.apache.org/confluence/ 16https://wiki.apache.org/solr/ display/solr/Solr+Glossary ExtractingRequestHandler 20For practical reasons, we rely on a separate field that indexes 17https://cwiki.apache.org/confluence/ the same content as token N-grams and stored term vectors which display/solr/Detecting+Languages+During+ provides the lookup of statistics about term candidates. Details on Indexing this can be found on the JATE website and Solr documentation for 18https://cwiki.apache.org/confluence/ Inverted Index. display/solr/CharFilterFactories 21See Solr API documentation.

2264 Figure 2: Example of PoS pattern based candidate extraction following strategies have been implemented in JATE 2.0 pus. Empirically, it is shown that all words have real IDF and can be configured according to user needs to balance scores that deviate from the expected value under a Poisson precision and recall. distribution. However, keywords tend to have larger devi- Minimal and maximal character length restricts candi- ations than non-keywords. We adapt it to work with term dates to a fixed range of character length. Minimal and candidates that can be either single words or multi-word maximal token number requires a valid candidate to con- expressions. tain certain number of tokens (e.g., to limit multi-word ex- CValue observes that real terms in technical domains are pressions). Minimal stop words removal removes lead- often long, multi-word expressions and usually not nested ing and/or trailing stop words in a multi-word expression in other terms (i.e., as part of the longer terms). Frequency- (e.g.,‘the cat’ becomes ‘cat’, but ‘Tower of London’ re- based methods are not effective for such terms as (1) nested mains intact). All these are implemented as part of the term candidates will have at least the same and often higher three term candidate extraction methods described before frequency, and (2) the fact that a longer string appears n and can be configured in the analyzer. times is a lot more important than that of a shorter string Frequency threshold allows candidates to be filtered by a appearing n times. Thus CValue computes a score that is minimum total frequency in the corpus. This is often used based on the frequency of a candidate and its length, then in typical ATE methods, and is configurable via individual adjusted by the frequency of longer candidates that contain scoring and ranking algorithms that follow. it. Similarly, RAKE is designed to favour longer multi-word 3.3.2. Scoring and ranking expressions. It firstly computes a score for individual words In this step, term candidates that pass the pre-filter are based on two components: one that favours words oc- scored and ranked. Their basic statistical information is curring often and in longer term candidates, and one that gathered from the Solr index, to create complex features favours words occurring frequently regardless of the words required by different algorithms. which they co-occur with. Then it adds up the scores of JATE 2.0 has implemented 10 algorithms for scoring can- composing words for a candidate. didates, listed in Table 1. TTF is the total frequency of a χ2 promotes term candidates that co-occur very often with candidate in the corpus. It’s usage in ATE was firstly docu- ‘frequent’ candidates in the corpus. First, candidates are mented in (Justeson and Katz, 1995). ATTF divides TTF by ranked by frequency in the corpus and a subset (typically the number of documents a candidate appears in. TTF-IDF top n%) is selected - to be called ‘frequent terms’. Next, adapts the classic document-specific TF-IDF used in IR to candidates are scored based on the degree to which their work at corpus level, by replacing TF with TTF. co-occurrence with these frequent terms are biased. These RIDF was initially proposed by (Church and Gale, 1995) biases can be due to semantic, lexical, or other relations of as an enhancement to IDF to identify keywords in a doc- two terms. Thus, a candidate showing strong co-occurrence ument collection. It measures the deviation of the actual biases with frequent terms may have an important mean- IDF score of a word from its ‘expected’ IDF score, which ing. To evaluate the statistical significance of the biases, is predicted based on a Poisson distribution. The hypothe- χ2 is used. For each candidate, co-occurrence frequency sis is based on the fact that Poisson model fits poorly with with the frequent terms is regarded as a sample value. The such keywords. Thus a prediction of IDF based on Poisson null hypothesis that we expect to reject is that ‘occurrence can deviate from its actual IDF observed based on a cor- of a candidate is independent from occurrence of frequent

2265 3.3.3. Threshold cutoff Table 1: ATE algorithms implemented in JATE 2.0 Name Full name Ref. Next, a cutoff decision is to be made to separate real terms TTF Term Total (Justeson and Katz, 1995), from non-terms based on their scores. Three options are Frequency FiveFilters.org supported: (1) hard threshold, where term candidates with ATTF Average TTF - scores no less than the threshold are chosen; (2) top K, TTF-IDF TTF and Inverse - where top ranked K candidates are chosen; (3) and top K%, Doc Frequency where the top ranked K percentage of candidates are cho- RIDF Residual IDF (Church and Gale, 1995) sen. CValue C-Value (Ananiadou, 1994) χ2 Chi-Square (Matsuo and Ishizuka, 2003) RAKE Rapid Keyword (Rose et al., 2010) 4. Using JATE 2.0 in Two Modes Extraction Weirdness Weirdness (Ahmad et al., 1999) 4.1. Embedded mode GlossEx Glossry Extraction (Park et al., 2002) The embedded mode is recommended when users need a TermEx Term Extraction (Sclano and Velardi, 2007) list of domain-specific terms from a corpus to be used in subsequent knowledge engineering tasks. Users configure a Solr instance and in particular, a text analysis chain that terms’. defines how term candidates are extracted and normalized. 24 Both RAKE and χ2 were initially developed for extract- The Solr instance is instantiated as an embedded module ing document-specific keywords. We adapt them for that interacts with other components. Users then explicitly ATE from document collections. This is done by replac- start an indexing process on a corpus to trigger term candi- 25 ing document-level frequency with corpus-level frequency, date extraction, then use specific ATE utility classes , each wherever needed. wrapping an individual ATE algorithm, to perform candi- date scoring, ranking, filtering and export. Weirdness is a contrastive approach (Drouin, 2003) which is particularly interesting when trying to identify low- frequency terms. The method compares normalized fre- 4.2. Plugin mode quency of a term candidate in a domain-specific corpus The plugin mode is recommended when users need to in- with a reference corpus, such as the general-purpose British dex new or enrich existing index using extracted terms, National Corpus22. The idea is that candidates appearing which can, e.g., support faceted search. ATE is per- more often in the target corpus are more specific to that formed as a Solr plugin. A SolrRequestHandler 26 corpus and therefore, more likely to be real terms. To cope is implemented so that term extraction can be triggered by with out-of-vocabulary candidates, we modify this by tak- HTTP request. Users configure their Solr instance in the ing the sum of the Weirdness scores of composing words same way as above, then start the instance as a back-end for a candidate. server. To trigger ATE, users send an HTTP request to the Both GlossEx and TermEx extend Weirdness. GlossEx lin- SolrRequestHandler, passing parameters specifying early combines ‘domain specificity’, which normalizes the the input data and the ATE algorithms. Candidate extrac- Weirdness score by the length (number of words) of a term tion is optional if the process is performed with document candidate, with ‘term cohesion’ that measures the degree to indexing. ATE then begins and when finished, updates doc- which the composing words tend to occur together as a can- uments in the index with extracted terms. didate other than appearing individually. This is computed based on comparing the frequency of a candidate against its composing words. TermEx, in a very similar form, further extends GlossEx by linearly combining a third component that promotes candidates with an even probability distribu- tion across the documents in the corpus (in an analogy, the candidate ‘gains consensus’ among the documents). Essentially both GlossEx and TermEx combine termhood with unithood, which exploits a reference corpus. For these we introduce a scalar to balance the contribution of unit- hood, which tends to dominate the final score in case of largely disproportionate sizes of the domain and reference corpora (e.g., orders of magnitude difference). The scalar Figure 3: Term Extraction by HTTP request (Plugin mode) adjusts the normalized frequency of words in both the tar- get and reference corpora to be in the same orders of mag- nitude23. 24https://wiki.apache.org/solr/ EmbeddedSolr 22http://www.natcorp.ox.ac.uk 25See details in the app package of JATE 2.0 23Details can be found in the implementation of the two algo- 26https://wiki.apache.org/solr/ rithms in JATE 2.0. SolrRequestHandler

2266 5. Experiment Table 2: Comparision of candidate extraction on GENIA We evaluate JATE 2.0 on two datasets, the GENIA dataset (run in a single thread) (Kim et al., 2003), a semantically annotated corpus for bio- Method Term candidates Recall CPU time (millsec) textmining previously used by (Zhang et al., 2008); and PoS-based 10,582/38,850 10% 68,914 the ACL RD-TEC dataset (Zadeh and Handschuh, 2014), NP-based 35,799/44,479 23% 118,753 containing publications in the domain of computational lin- N-gram 48,945/440,974 16% 33,721 guistics and a list of manually annotated domain-specific terms. GENIA contains 1,999 Medline abstracts, selected using a Table 3: Comparision of candidate extraction on ACL RD- PubMed query for the terms ‘human’, ‘blood cells’, and TEC (run in a single thread) ‘transcription factors’. The corpus is annotated with var- Method Term candidates Recall CPU time (min) ious levels of linguistic and semantic information. We PoS-based 524,662/1,569,877 74% 133.84 extract any text annotated as ‘cons’ (concept) to compile NP-based 585,012/2,014,916 66% 367 a gold standard list of terms. ACL RD-TEC contains N-gram 887,316/7,776,457 41% 189.20 over 10,900 scientific publications. In (Zadeh and Hand- schuh, 2014), the corpus is automatically segmented and PoS tagged. Candidate terms are extracted by applying The total number of term candidates extracted for each a list of patterns based on PoS sequence. These are then dataset under each analyzer setting after/before applying ranked by several ATE algorithms, and the top set of over the minimum frequency threshold with associated overall 82,000 candidates are manually annotated as valid or in- recall and CPU time are shown in Tables 2 and 3. The low valid. We use the valid candidates as gold standard terms. recall for GENIA may be due to several reasons. First, a We notice three different versions of corpus available27: substantial part of the gold standard terms are ‘irregular’, as one only contains the sentences where at least one of the they contain numbers, punctuations and symbols. The pat- annotated candidate terms must be present (under ‘anno- terns in our experiment are mainly based on adjectives and tation’), one contains complete raw text files in XML for- nouns, and will not match irregular terms. Second, we use mat (under ‘cleansed text’), and one contains plain text files a general purpose PoS tagger which does not perform well from the ACL ARC (under ‘external resource’). We use the for the biomedical text. In addition, GENIA consists of XML version and only extract content from ‘’ and very short abstracts and as a result, many legitimate terms ‘<paragraph>’ elements. may be removed due to the frequency threshold and lexical We ran all experiments on a server with 16 CPUs. All algo- pruning. However, this can be easily rectified by relaxing rithms follow the same candidate extraction process, unless the pre-filters. otherwise noted. Detailed configurations are as follows: We then show precision of top K terms ranked by each al- gorithm, commonly used in ATE. Figure 4 shows results for • three different analyzers have been tested, each using the GENIA dataset and Figure 5 shows results for the ACL PoS sequence pattern based (PoS based) , noun phrase RD-TEC dataset. First, all algorithms achieve very high chunking based (NP Chunking based), and the N-gram precision on the GENIA dataset. This is partly because the based term candidate extraction. The pipelines are gold standard terms are very densely distributed. Our anal- slightly different for each analyzer and each dataset. ysis shows that 49% of words are annotated as part of a Detailed configuration can be found in the example term. Second, TFIDF and CValue appear to be the most section of the JATE website; reliable methods as they obtain consistently good results • for PoS-based term candidate extraction, we use: for on both datasets. Third, Weirdness, GlossEx and TermEx GENIA, a list of PoS sequence patterns defined in are very sensitive to the choice of reference corpus. For (Ananiadou, 1994); for ACL RD-TEC, a list of PoS example, on the ACL RD-TEC dataset, phrases containing sequence patterns defined in (Zadeh and Handschuh, ‘treebank’ are very highly ranked. However, many of them 2014); are not valid terms. Finally, RAKE is the worst perform- • min. character length of 2; max. of 40; ing algorithm on both datasets, possibly because it is very • min. tokens of 1, max. of 5; specifically tailored to document-level (other than corpus- • leading and trailing stop words and non-alphanumeric level) keyword extraction. character removal. (for N-gram based removal of any Next we compare the efficiency of each algorithm for scor- non-alphanumeric characters); ing and ranking term candidates, by measuring the max- • stop words removal; imum memory footprint and CPU time for computation. • min. frequency threshold of 2; We found consistent patterns among different algorithms, • for χ2, the ‘frequent terms’ are selected as top 10%. despite what term candidate extractor is used (which only Moreover, only candidates that appear in at least two affects absolute figures as it changes the number of candi- sentences are considered; dates generated, see Tables 2 and 3). Using the PoS-based • for Weirdness, GlossEx and TermEx, the BNC corpus term candidate extractor as example, we show the statistics is used as reference; in Table 4 and Table 5 for the two datasets. As it is shown, χ2 is the most memory intensive due to the in-memory stor- 27http://atmykitchen.info/datasets/acl_rd_ age of co-occurrence. This largely depends on the number tec/. Accessed: 10 March 2016 of term candidates and frequent terms. In terms of speed,</p><p>2267 Precision at Rank K (PoS based) Precision at Rank K (NP-Chunking based) Precision at Rank K (N-gram based) 1 1 1 TTF ATTF 0.95 0.95 0.9 TTF-IDF 0.8 RIDF 0.9 0.9 ChiSquare 0.7 CValue 0.85 0.85 Weirdness 0.6 GlossEx 0.8 0.8 TermEx Precision Precision Precision 0.5 RAKE 0.75 0.75 0.4</p><p>0.7 0.7 0.3</p><p>0.65 0.65 0.2 0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000 0 1000 2000 3000 4000 5000 Top K terms Top K terms Top K terms</p><p>Figure 4: Comparison of Top K precisions on GENIA</p><p>Precision at Rank K (PoS based) Precision at Rank K (NP-Chunking based) 0.6 0.6</p><p>0.5 0.5</p><p>0.4 0.4</p><p>0.3 0.3 Precision 0.2 Precision 0.2</p><p>0.1 0.1</p><p>0 0 1000 2000 3000 4000 5000 6000 7000 8000 900010000 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Top K terms K Precision at Rank K(N-gram based) Top terms 0.6 TTF ATTF 0.5 TTF-IDF RIDF ChiSquare 0.4 CValue Weirdness GlossEx 0.3 TermEx RAKE Precision 0.2</p><p>0.1</p><p>0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Top K terms</p><p>Figure 5: Comparison of Top K precisions on ACL RD-TEC</p><p>χ2, CValue and RAKE are among the slowest. While χ2 Table 4: Running time and memory usage on GENIA spends significant time on co-occurrence related computa- Name CPU time (sec.) Max vmem (gb) tion, CValue and RAKE spend substantial time on comput- TTF 19 0.81 ing the containment relations among candidates. ATTF 20 0.83 TTF-IDF 20 0.83 6. Conclusion RIDF 20 0.78 2 This paper describes JATE 2.0, a highly modular, adaptable χ 30 1.12 and scalable ATE library with 10 implemented algorithms, CValue 47 1.41 Weirdness 22 1.07 developed within the Apache Solr framework. It advances GlossEx 25 1.01 existing ATE tools mainly by enabling a significant degree TermEx 27 1.06 of customization and adaptation thanks to the flexibility un- RAKE 26 1.42 der the Solr framework; and making available a large col- lection of state-of-the-art algorithms. It is expected that the tool will bring both academia and industries under a uni- form development and benchmarking framework that will encourage collaborative effort in this area of research, to</p><p>2268 value method. Natural Language Processing For Digital Table 5: Running time and memory usage on ACL RD- Libraries, 3(2):115–130. TEC Name CPU time (min:sec) Max vmem (gb) Justeson, J. and Katz, S. M. (1995). Technical terminol- TTF 5:46 4.2 ogy: some linguistic properties and an algorithm for ATTF 5:56 4.18 identification in text. Natural Language Engineering, TTF-IDF 5:58 4.24 1(1):9–27. RIDF 5:59 4.38 Kim, J.-D., Ohta, T., Tateisi, Y., and ichi Tsujii, J. (2003). 2 χ 21:47 16.05 GENIA corpus - a semantically annotated corpus for bio- CValue 20:59 5.01 textmining. In ISMB (Supplement of Bioinformatics), Weirdness 7:11 4.89 pages 180–182. GlossEx 6:40 4.88 labs.translated.net. (2015). Terminology extraction. TermEx 9:52 6.12 https://developer.yahoo.com/contentanalysis/ [Online; RAKE 22:59 5.45 accessed 9-October-2015]. Matsuo, Y. and Ishizuka, M. (2003). Keyword extraction foster further contributions in terms of novel algorithms, from a single document using word co-occurrence sta- benchmarkings, support for new languages, new text pro- tistical information. International Journal on Artificial cessing capabilities, and so on. Future work will look into Intelligence Tools, 13(1):157–169. the implementation of additional ATE algorithms, particu- Maynard, D., Saggion, H., Yankova, M., Bontcheva, K., larly machine learning based methods. and Peters, W. (2007). Natural language technology for information integration in business intelligence. In Busi- 7. Acknowledgement ness Information Systems, pages 366–380. Springer. Maynard, D., Li, Y., and Peters, W. (2008). Nlp techniques Part of this research has been sponsored by the EU funded for term extraction and ontology population. In Proceed- project WeSenseIt under grant agreement number 308429; ings of the 2008 Conference on Ontology Learning and and the SPEEAK-PC collaboration agreement 101947 of Population: Bridging the Gap Between Text and Knowl- the Innovative UK. edge, pages 107–127, Amsterdam, The Netherlands, The 8. Bibliographical References Netherlands. IOS Press. Park, Y., Byrd, R. J., and Boguraev, B. K. (2002). Auto- Ahmad, K., Gillam, L., and Tostevin, L. (1999). University matic glossary extraction: Beyond terminology identifi- of surrey participation in trec 8: Weirdness indexing for cation. In Proceedings of the 19th International Confer- logical document extrapolation and retrieval (wilder). In ence on Computational Linguistics, pages 1–7, Strouds- Proceedings of the 8th Text REtrieval Conference. burg, PA, USA. Association for Computational Linguis- Ananiadou, S. (1994). A methodology for automatic term tics. recognition. In Proceedings of the 15th Conference on Rose, S., Engel, D., Cramer, N., and Cowley, W., (2010). Computational Linguistics, pages 1034–1038, Strouds- Automatic keyword extraction from individual docu- burg, PA, USA. Association for Computational Linguis- ments. John Wiley and Sons. tics. Sclano, F. and Velardi, P. (2007). Termextractor: a web Arora, C., Sabetzadeh, M., Briand, L., and Zimmer, F. application to learn the shared terminology of emer- (2014). Improving requirements glossary construction gent web communities. In Proceedings of the 3rd Inter- via clustering: approach and industrial case studies. In national Conference on Interoperability for Enterprise Proceedings of the 8th ACM/IEEE International Sympo- Software and Applications. sium on Empirical Software Engineering and Measure- Spasic,´ I., Greenwood, M., Preece, A., Francis, N., and El- ment, page 18. ACM. wyn, G. (2013). Flexiterm: a flexible term recognition Bowker, L. (2003). Terminology tools for translators. method. Journal of Biomedical Semantics, 4(27). BENJAMINS TRANSLATION LIBRARY, 35:49–66. Yahoo! (2015). Yahoo! content analysis <a href="/tags/API/" rel="tag">api</a>. Brewster, C., Iria, J., Zhang, Z., Ciravegna, F., Guthrie, L., https://developer.yahoo.com/contentanalysis/ [Online; and Wilks, Y. (2007). Dynamic iterative ontology learn- accessed 9-October-2015]. ing. In Proceedings of the 6th International Conference Zadeh, B. and Handschuh, S. (2014). The acl rd-tec: on Recent Advances in Natural Language Processing, A dataset for benchmarking terminology extraction and Borovets, Bulgaria, September. classification in computational linguistics. In Proceed- Church, K. W. and Gale, W. A. (1995). Inverse document ings of the 4th International Workshop on Computational frequency (idf): A measure of deviations from poisson. Terminology (Computerm), pages 52–63, Dublin, Ire- In Proceedings of the ACL 3rd Workshop on Very Large land, August. Association for Computational Linguistics Corpora, pages 121–130, Stroudsburg, PA, USA. Asso- and Dublin City University. ciation for Computational Linguistics. Zhang, Z., Iria, J., Brewster, C., and Ciravegna, F. (2008). Drouin, P. (2003). Term extraction using non-technical A comparative evaluation of term recognition algo- corpora as a point of leverage. Terminology, 9(1):99– rithms. In Proceedings of The 6th international con- 115. ference on Language Resources and Evaluation, Mar- Frantzi, K. T., Ananiadou, S., and Mima, H. (2000). Auto- rakech, Morocco, May. matic recognition of multi-word terms:. the c-value/nc-</p><p>2269</p> </div> </article> </div> </div> </div> <script type="text/javascript" async crossorigin="anonymous" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8519364510543070"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script> var docId = 'f6be5e23730299be26025f66f1a62882'; var endPage = 1; var totalPage = 9; var pfLoading = false; window.addEventListener('scroll', function () { if (pfLoading) return; var $now = $('.article-imgview .pf').eq(endPage - 1); if (document.documentElement.scrollTop + $(window).height() > $now.offset().top) { pfLoading = true; endPage++; if (endPage > totalPage) return; var imgEle = new Image(); var imgsrc = "//data.docslib.org/img/f6be5e23730299be26025f66f1a62882-" + endPage + (endPage > 3 ? ".jpg" : ".webp"); imgEle.src = imgsrc; var $imgLoad = $('<div class="pf" id="pf' + endPage + '"><img src="/loading.gif"></div>'); $('.article-imgview').append($imgLoad); imgEle.addEventListener('load', function () { $imgLoad.find('img').attr('src', imgsrc); pfLoading = false }); if (endPage < 7) { adcall('pf' + endPage); } } }, { passive: true }); </script> <script> var sc_project = 11552861; var sc_invisible = 1; var sc_security = "b956b151"; </script> <script src="https://www.statcounter.com/counter/counter.js" async></script> </html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>