Graph Rewriting for NLP
Grew is a Graph Rewriting tool for Natural Language Processing (NLP) applications. It can manipulate many types of linguistic representation. It has been used on POS-tagged sequence, surface dependency syntax, deep dependency syntax, semantic representation (AMR, DMRS), but it can be used to represent any graph-based structure.
There is a mailing list grew@inria.fr
for announcements or discussions related to Grew.
See here to subscribe.
News
- 2024/11/19: Version 0.6.0 of
grewpy
. See How to to upgrade to grewpy 0.6 - 2024/06/02: Version 1.16. See What’s new for changes.
- 2024/01/02: Version 1.15.
A first taste of Grew
The easiest way to try out Grew is to use one of the online interfaces.
- Grew-match: Online graph matching to search for a given request in a corpus of syntactic structures (a tutorial is available to help learning request syntax).
- Grew-web: Online graph rewriting
- Arborator-Grew: Tool for online corpus management (this is another tool, using Grew as backend)
Some of the key features of Grew
- Graph structures can use a built-in notion of feature structures.
- The left-hand side of a rule is described by a graph called a request (or pattern); injective graph morphisms are used in the pattern matching algorithm.
- Negative patterns can be used for a finer control on the left-hand side of rules.
- The right-hand side of the rules is described by a sequence of atomic commands that describe how the graph should be modified during the rule application.
- A subset of rules can be organised into packages, and strategies define the way in which rules and packages are applied during graph transformation.
- Grew has support for both confluent and non-confluent modules; when a non-confluent module is used, all normal forms are returned and then ambiguity is handled in a natural way.
Publications
-
[2021] Bruno Guillaume. Graph Matching and Graph Rewriting: GREW tools for corpus exploration, maintenance and conversion. Demonstrations – 16th Conference of the European Chapter of the Association for Computational Linguistics (EACL).
-
[2020] Gaël Guibon, Marine Courtin, Kim Gerdes and Bruno Guillaume. When Collaborative Treebank Curation Meets Graph Grammars – Arborator With a Grew Back-End.
-
[2019] Bruno Guillaume. Graph Matching for Corpora Exploration. JLC 2019 - 10èmes Journées Internationales de la Linguistique de corpus, Grenoble, France.
-
[2018] Guillaume Bonfante, Bruno Guillaume and Guy Perrier. Application of Graph Rewriting to Natural Language Processing. (The chapter 1 is available from the editor website).
Acknowledgements
- Thanks to the users of Grew and Grew-match for their feedback, support and suggestions.
- Thanks to Kim Gerdes for beautiful Grew logo.