PyRATA, Python Rule-based feAture sTructure Analysis
17689Authors
nan
Abstract
In this paper, we present a new Python 3 module named PyRATA, which stands for "Python Rule-based feAture sTructure Analysis". The module is released under the Apache V2 license. It aims at supporting rules-based analysis on structured data. PyRATA offers a language expressiveness which covers the functionalities of all the concurrent modules and more. Designed to be intuitive, the pattern syntax and the engine API follow existing standard definitions; Respectively Perl regular expression syntax and Python re module API. Based on simple native Python data structures (i.e. sequence of feature sets), PyRATA is able to deal with various kinds of data (textual or not) at various levels, such as a list of words, a list of sentences, a list of posts in a forum thread, a list of events in a calendar... This specificity makes it free from any (linguistic) process. Keywords: rules-based analysis, semantic annotations, regular expression, information extraction, Python 3 1.
Keywords
Full Content
PyRATA, Python Rule-based feAture sTructure Analysis Nicolas Hernandez and Amir Hazem Laboratoire des Sciences du Numérique de Nantes (LS2N) Université de Nantes, 44322 Nantes Cedex 3, France Nicolas.Hernandez@univ-nantes.fr Abstract In this paper, we present a new Python 3 module named PyRATA, which stands for "Python Rule-based feAture sTructure Analysis". The module is released under the Apache V2 license. It aims at supporting rules-based analysis on structured data. PyRATA offers a language expressiveness which covers the functionalities of all the concurrent modules and more. Designed to be intuitive, the pattern syntax and the engine API follow existing standard definitions; Respectively Perl regular expression syntax and Python re module API. Based on simple native Python data structures (i.e. sequence of feature sets), PyRATA is able to deal with various kinds of data (textual or not) at various levels, such as a list of words, a list of sentences, a list of posts in a forum thread, a list of events in a calendar... This specificity makes it free from any (linguistic) process. Keywords: rules-based analysis, semantic annotations, regular expression, information extraction, Python 3 1. Introduction Rules-based approaches must not be set in opposition to machine-learning-based (ML) approaches. The former provide the advantages of quickly generating some self- explanatory results with a few rules, even with little expert knowledge and no training data. But they have the pitfalls of becoming difficult to maintain with the number and the complexity of rules increasing. Cleverly trained, ML mod- els are capable of generalizing i.e. they present the ability to perform well on new unseen data and offers so a larger recall performance. But their major drawbacks are to de- pend on large quantity of training data which often results from a costly manual annotation task. In addition, their de- cisions are harder to explain. Rules are currently unpopular in Natural Language Pro- cessing (NLP) research community, but there are still good reasons to use them: 1) Since they do not require train- ing data, they are often a good first cut to explore the data and define more precisely a problem; 2) In some languages, some problems can be done deterministically with rules pretty well; 3) To prototype a model by using rules and use it to generate training data for a ML system; 4) To de- fine features (feature engineering) and let the ML compo- nent learn how to combine them; 5) To augment ML models with rules in pre- or post-processing stages to achieve an al- gorithm of 100 % performance (Manning, 2011). The rules are so used to tune input/output and handle some specific unwanted system behaviors. To the best of our knowledge, the NLP community benefits from two software solutions1 which allow to define patterns of annotations with some additional actions to perform on the matched annotations, namely GATE JAPE2 (Cunning- ham et al., 1999) and UIMA RUTA3 (Kluegl et al., 2016). 1We did not consider here environments such as Nooj (Silberztein, 2005) http://www.nooj4nlp.net or Unitex (Paumier et al., 2009) http://unitexgramlab.org …
Content truncated to 500 words
Labeled Text
In this paper, we present a new Python 3 module named PyRATA, which stands for "Python Rule-based feAture sTructure Analysis". The module is released under the Apache V2 license. It aims at supporting rules-based analysis on structured data. PyRATA offers a language expressiveness which covers the functionalities of all the concurrent modules and more. Designed to be intuitive, the pattern syntax and the engine API follow existing standard definitions; Respectively Perl regular expression syntax and Python re module API. Based on simple native Python data structures (i.e. sequence of feature sets), PyRATA is able to deal with various kinds of data (textual or not) at various levels, such as a list of words, a list of sentences, a list of posts in a forum thread, a list of events in a calendar... This specificity makes it free from any (linguistic) process. Keywords: rules-based analysis, semantic annotations, regular expression, information extraction, Python 3 1.
Publication Details
- Paper ID:
- 17689
- Year:
- 2018
- Publication:
- TIPSTER
- Publication Type:
- conf
- DOI:
- nan