Edlin: an Easy to Read Linear Learning Framework

29565

Authors

nan

Abstract

The Edlin toolkit provides a machine learning framework for linear models, designed to be easy to read and un- derstand. The main goal is to provide easy to edit working examples of im- plementations for popular learning algo- rithms. The toolkit consists of 27 Java classes with a total of about 1400 lines of code, of which about 25% are I/O and driver classes for examples. A version of Edlin has been integrated as a pro- cessing resource for the GATE architec- ture, and has been used for gene tagging, gene name normalization, named entity recognition in Bulgarian and biomedical relation extraction. Keywords Information Extraction, Classification, Software Tools 1

Keywords

nan

Full Content

International Conference RANLP 2009 - Borovets, Bulgaria, pages 94–98 Edlin: an easy to read linear learning framework Kuzman Ganchev ∗ University of Pennsylvania 3330 Walnut St, Philaldelphia PA kuzman@seas.upenn.edu Georgi Georgiev Ontotext AD 135 Tsarigradsko Ch., Sofia , Bulgaria georgi.georgiev@ontotext.com Abstract The Edlin toolkit provides a machine learning framework for linear models, designed to be easy to read and un- derstand. The main goal is to provide easy to edit working examples of im- plementations for popular learning algo- rithms. The toolkit consists of 27 Java classes with a total of about 1400 lines of code, of which about 25% are I/O and driver classes for examples. A version of Edlin has been integrated as a pro- cessing resource for the GATE architec- ture, and has been used for gene tagging, gene name normalization, named entity recognition in Bulgarian and biomedical relation extraction. Keywords Information Extraction, Classification, Software Tools 1 Introduction The Edlin toolkit provides a machine learn- ing framework for linear models, designed to be easy to read and understand. The main goal is to provide easy to edit working exam- ples of implementations for popular learning algorithms. To minimize programmer over- head, Edlin depends only on GNU Trove1 for fast data structures and JUnit2 for unit tests. A version of Edlin has been integrated as a processing resource for the GATE [7] architec- ture, and has been used in-house for gene tag- ging, gene name normalization, named entity recognition in Bulgarian and biomedical rela- tion extraction. For researchers we expect the ∗Supported by ARO MURI SUBTLE W911NF-07- 1-0216 and by the European projects AsIsKnown (FP6- 028044) and LTfLL (FP7-212578) 1 http://trove4j.sourceforge.net/ 2 http://www.junit.org main advantage of Edlin is that its code is easy to read, understand and modify, meaning that variations are easy to experiment with. For in- dustrial users, the simplicity of the code as well as relatively few dependencies means that it is easier to integrate into existing codebases. Edlin implements learning algorithms for linear models. Currently implemented are: Naive Bayes, maximum entropy models, the Perceptron and one-best MIRA (optionally with averaging), AdaBoost, structured Percep- tron and structured one-best MIRA (option- ally with averaging) and conditional random fields. Because of the focus on clarity and con- ciseness, some optimizations that would make the code harder to read have not been made. This makes the framework slightly slower than it could be, but implementations are asymp- totically fast and suitable for use on medium to large datasets. The rest of this paper is organized as fol- lows: §2 describes the code organization; §3-§4 describes an integration with the GATE frame- work and an example application; §5 describes related software; and §6 discusses future work and concludes the paper. 2 Overview of the code The goal of machine learning is to choose from a (possibly infinite) set of functions mapping from some input space to some output space. Let x ∈ X be a variable denoting an input ex- ample and y ∈ Y range over possible labels …

Content truncated to 500 words

Labeled Text

The Edlin toolkit provides a machine learning framework for linear models, designed to be easy to read and understand. The main goal is to provide easy to edit working examples of implementations for popular learning algorithms. The toolkit consists of 27 Java classes with a total of about 1400 lines of code, of which about 25% are I/O and driver classes for examples. A version of Edlin has been integrated as a processing resource for the GATE architecture, and has been used for gene tagging, gene name normalization, named entity recognition in Bulgarian and biomedical relation extraction. Keywords Information Extraction, Classification, Software Tools 1

Publication Details

Paper ID:
29565
Year:
2009
Publication:
TIPSTER
Publication Type:
conf
DOI:
nan