PySeqLab: an open source Python package for sequence labeling and segmentation
Text and genomic data are composed of sequential tokens, such as words and nucleotides that give rise to higher order syntactic constructs. In this work, we aim at providing a comprehensive Python library implementing conditional random fields (CRFs), a class of probabilistic graphical models, for r...
Saved in:
| Published in | Bioinformatics (Oxford, England) Vol. 33; no. 21; pp. 3497 - 3499 |
|---|---|
| Main Authors | , |
| Format | Journal Article |
| Language | English |
| Published |
England
Oxford University Press
01.11.2017
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 1367-4803 1367-4811 1367-4811 |
| DOI | 10.1093/bioinformatics/btx451 |
Cover
| Summary: | Text and genomic data are composed of sequential tokens, such as words and nucleotides that give rise to higher order syntactic constructs. In this work, we aim at providing a comprehensive Python library implementing conditional random fields (CRFs), a class of probabilistic graphical models, for robust prediction of these constructs from sequential data.
Python Sequence Labeling (PySeqLab) is an open source package for performing supervised learning in structured prediction tasks. It implements CRFs models, that is discriminative models from (i) first-order to higher-order linear-chain CRFs, and from (ii) first-order to higher-order semi-Markov CRFs (semi-CRFs). Moreover, it provides multiple learning algorithms for estimating model parameters such as (i) stochastic gradient descent (SGD) and its multiple variations, (ii) structured perceptron with multiple averaging schemes supporting exact and inexact search using 'violation-fixing' framework, (iii) search-based probabilistic online learning algorithm (SAPO) and (iv) an interface for Broyden-Fletcher-Goldfarb-Shanno (BFGS) and the limited-memory BFGS algorithms. Viterbi and Viterbi A* are used for inference and decoding of sequences. Using PySeqLab, we built models (classifiers) and evaluated their performance in three different domains: (i) biomedical Natural language processing (NLP), (ii) predictive DNA sequence analysis and (iii) Human activity recognition (HAR). State-of-the-art performance comparable to machine-learning based systems was achieved in the three domains without feature engineering or the use of knowledge sources.
PySeqLab is available through https://bitbucket.org/A_2/pyseqlab with tutorials and documentation.
ahmed.allam@yale.edu or michael.krauthammer@yale.edu.
Supplementary data are available at Bioinformatics online. |
|---|---|
| Bibliography: | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 23 Associate Editor: Jonathan Wren |
| ISSN: | 1367-4803 1367-4811 1367-4811 |
| DOI: | 10.1093/bioinformatics/btx451 |