From b0feb4c0adf43aee083b20f5ee5b21fe7845fd06 Mon Sep 17 00:00:00 2001
From: Franck Dary <franck.dary@lis-lab.fr>
Date: Mon, 1 Jun 2020 18:35:23 +0200
Subject: [PATCH] Updated machines

---
 UD_any/parser/machine.rm                      | 26 ------------
 UD_any/parserseg/machine.rm                   | 28 -------------
 UD_any/taggerparser_base/machine.rm           | 31 --------------
 UD_any/taggerparser_incr/machine.rm           | 30 -------------
 UD_any/taggerparser_seq/machine.rm            | 31 --------------
 UD_any/tagmorpho/machine.rm                   | 20 ---------
 UD_any/tagparser_base/machine.rm              | 35 ----------------
 UD_any/tagparser_incr/machine.rm              | 33 ---------------
 UD_any/tagparser_orfeo/machine.rm             | 29 -------------
 UD_any/tagparser_seq/machine.rm               | 35 ----------------
 UD_any/{ => templates}/morpho/machine.rm      |  6 +--
 UD_any/templates/parser/machine.rm            | 28 +++++++++++++
 UD_any/templates/parserseg/machine.rm         | 30 +++++++++++++
 UD_any/{ => templates}/tagger/machine.rm      |  4 +-
 UD_any/templates/taggerparser_base/machine.rm | 31 ++++++++++++++
 UD_any/templates/taggerparser_incr/machine.rm | 30 +++++++++++++
 UD_any/templates/taggerparser_seq/machine.rm  | 31 ++++++++++++++
 UD_any/templates/tagparser_base/machine.rm    | 35 ++++++++++++++++
 UD_any/templates/tagparser_incr/machine.rm    | 33 +++++++++++++++
 UD_any/templates/tagparser_seq/machine.rm     | 35 ++++++++++++++++
 UD_any/templates/tokenizer/machine.rm         | 28 +++++++++++++
 UD_any/templates/tokeparser_base/machine.rm   | 42 +++++++++++++++++++
 UD_any/templates/tokeparser_incr/machine.rm   | 39 +++++++++++++++++
 UD_any/templates/tokeparser_seq/machine.rm    | 42 +++++++++++++++++++
 UD_any/tokenizer/machine.rm                   | 21 ----------
 UD_any/tokeparser_base/machine.rm             | 32 --------------
 UD_any/tokeparser_incr/machine.rm             | 32 --------------
 UD_any/tokeparser_seq/machine.rm              | 32 --------------
 28 files changed, 409 insertions(+), 420 deletions(-)
 delete mode 100644 UD_any/parser/machine.rm
 delete mode 100644 UD_any/parserseg/machine.rm
 delete mode 100644 UD_any/taggerparser_base/machine.rm
 delete mode 100644 UD_any/taggerparser_incr/machine.rm
 delete mode 100644 UD_any/taggerparser_seq/machine.rm
 delete mode 100644 UD_any/tagmorpho/machine.rm
 delete mode 100644 UD_any/tagparser_base/machine.rm
 delete mode 100644 UD_any/tagparser_incr/machine.rm
 delete mode 100644 UD_any/tagparser_orfeo/machine.rm
 delete mode 100644 UD_any/tagparser_seq/machine.rm
 rename UD_any/{ => templates}/morpho/machine.rm (72%)
 create mode 100644 UD_any/templates/parser/machine.rm
 create mode 100644 UD_any/templates/parserseg/machine.rm
 rename UD_any/{ => templates}/tagger/machine.rm (80%)
 create mode 100644 UD_any/templates/taggerparser_base/machine.rm
 create mode 100644 UD_any/templates/taggerparser_incr/machine.rm
 create mode 100644 UD_any/templates/taggerparser_seq/machine.rm
 create mode 100644 UD_any/templates/tagparser_base/machine.rm
 create mode 100644 UD_any/templates/tagparser_incr/machine.rm
 create mode 100644 UD_any/templates/tagparser_seq/machine.rm
 create mode 100644 UD_any/templates/tokenizer/machine.rm
 create mode 100644 UD_any/templates/tokeparser_base/machine.rm
 create mode 100644 UD_any/templates/tokeparser_incr/machine.rm
 create mode 100644 UD_any/templates/tokeparser_seq/machine.rm
 delete mode 100644 UD_any/tokenizer/machine.rm
 delete mode 100644 UD_any/tokeparser_base/machine.rm
 delete mode 100644 UD_any/tokeparser_incr/machine.rm
 delete mode 100644 UD_any/tokeparser_seq/machine.rm

diff --git a/UD_any/parser/machine.rm b/UD_any/parser/machine.rm
deleted file mode 100644
index 4b60269..0000000
--- a/UD_any/parser/machine.rm
+++ /dev/null
@@ -1,26 +0,0 @@
-Name : Parser machine
-Classifier : parser
-{
-	Transitions : {parser,data/parser.ts}
-	Network type : Modular
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : HEAD DEPREL
-Strategy
-{
-	Block : End{cannotMove}
-	parser parser SHIFT 1
-	parser parser RIGHT 1
-	parser parser * 0
-}
diff --git a/UD_any/parserseg/machine.rm b/UD_any/parserseg/machine.rm
deleted file mode 100644
index 66542da..0000000
--- a/UD_any/parserseg/machine.rm
+++ /dev/null
@@ -1,28 +0,0 @@
-Name : Parser and Segmenter machine
-Classifier : parser
-{
-	Transitions : {parser,data/parser.ts segmenter,data/segmenter.ts}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	parser segmenter SHIFT 0
-	parser segmenter RIGHT 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/taggerparser_base/machine.rm b/UD_any/taggerparser_base/machine.rm
deleted file mode 100644
index 628b9c9..0000000
--- a/UD_any/taggerparser_base/machine.rm
+++ /dev/null
@@ -1,31 +0,0 @@
-Name : Tagger, Parser and Segmenter baseline Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/taggerparser_incr/machine.rm b/UD_any/taggerparser_incr/machine.rm
deleted file mode 100644
index 27a286b..0000000
--- a/UD_any/taggerparser_incr/machine.rm
+++ /dev/null
@@ -1,30 +0,0 @@
-Name : Tagger, Parser and Segmenter incremental Machine
-Classifier : taggerparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger parser * 0
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter tagger * 1
-}
diff --git a/UD_any/taggerparser_seq/machine.rm b/UD_any/taggerparser_seq/machine.rm
deleted file mode 100644
index ccc6799..0000000
--- a/UD_any/taggerparser_seq/machine.rm
+++ /dev/null
@@ -1,31 +0,0 @@
-Name : Tagger, Parser and Segmenter sequential Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/tagmorpho/machine.rm b/UD_any/tagmorpho/machine.rm
deleted file mode 100644
index c0cfdc3..0000000
--- a/UD_any/tagmorpho/machine.rm
+++ /dev/null
@@ -1,20 +0,0 @@
-Name : Tagger and Feats Machine
-Classifier : tagmorpho
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts}
-	Network type : Modular
-	StateName : States{tagger morpho} Out{128}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM UPOS} GRU{1 1 0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0} Stack{} GRU{1 1 0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{} GRU{1 1 0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0} Stack{} GRU{1 1 0 1} In{128} Out{128}
-	InputDropout : 0.3
-	MLP : {2048 0.3}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS
-Strategy : sequential
-  tagger morpho 1
-  morpho morpho NOTHING 1
-  morpho morpho 0
diff --git a/UD_any/tagparser_base/machine.rm b/UD_any/tagparser_base/machine.rm
deleted file mode 100644
index 59a09d1..0000000
--- a/UD_any/tagparser_base/machine.rm
+++ /dev/null
@@ -1,35 +0,0 @@
-Name : Tagger, Feats , Parser and Segmenter baseline Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	morpho morpho NOTHING 1
-	morpho morpho * 0
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/tagparser_incr/machine.rm b/UD_any/tagparser_incr/machine.rm
deleted file mode 100644
index f6ad83f..0000000
--- a/UD_any/tagparser_incr/machine.rm
+++ /dev/null
@@ -1,33 +0,0 @@
-Name : Tagger, Feats , Parser and Segmenter incremental Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger morpho * 0
-	morpho parser NOTHING 0
-	morpho morpho * 0
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter tagger * 1
-}
diff --git a/UD_any/tagparser_orfeo/machine.rm b/UD_any/tagparser_orfeo/machine.rm
deleted file mode 100644
index a2e354f..0000000
--- a/UD_any/tagparser_orfeo/machine.rm
+++ /dev/null
@@ -1,29 +0,0 @@
-Name : Tagger, Parser and Segmenter incremental Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser.ts segmenter,data/segmenter.ts}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM UPOS} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0 1} In{64} Out{64}
-	NumericColumn : Column{DEPS} Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} Out{64}
-	NumericColumn : Column{MISC} Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger parser * 0
-	parser segmenter SHIFT 0
-	parser segmenter RIGHT 0
-	parser parser * 0
-	segmenter tagger * 1
-}
diff --git a/UD_any/tagparser_seq/machine.rm b/UD_any/tagparser_seq/machine.rm
deleted file mode 100644
index f07fae0..0000000
--- a/UD_any/tagparser_seq/machine.rm
+++ /dev/null
@@ -1,35 +0,0 @@
-Name : Tagger, Feats , Parser and Segmenter sequential Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	morpho morpho NOTHING 1
-	morpho morpho * 0
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/morpho/machine.rm b/UD_any/templates/morpho/machine.rm
similarity index 72%
rename from UD_any/morpho/machine.rm
rename to UD_any/templates/morpho/machine.rm
index 554d113..ca27f2b 100644
--- a/UD_any/morpho/machine.rm
+++ b/UD_any/templates/morpho/machine.rm
@@ -7,13 +7,13 @@ Classifier : morpho
 	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM UPOS} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+	Focused : Column{FEATS} NbElem{13} Buffer{-2 -1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+	Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
 	InputDropout : 0.5
 	MLP : {2048 0.3 2048 0.3}
 	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
+	Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
 }
 Predictions : FEATS
 Strategy
diff --git a/UD_any/templates/parser/machine.rm b/UD_any/templates/parser/machine.rm
new file mode 100644
index 0000000..ecaf195
--- /dev/null
+++ b/UD_any/templates/parser/machine.rm
@@ -0,0 +1,28 @@
+Name : Parser machine
+Classifier : parser
+{
+  Transitions : {parser,data/parser_eager_rel_strict.ts}
+  LossMultiplier : {}
+  Network type : Modular
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1 0 1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : HEAD DEPREL
+Strategy
+{
+	Block : End{cannotMove}
+	parser parser eager_SHIFT 1
+	parser parser eager_RIGHT_rel 1
+	parser parser * 0
+}
diff --git a/UD_any/templates/parserseg/machine.rm b/UD_any/templates/parserseg/machine.rm
new file mode 100644
index 0000000..b63b81c
--- /dev/null
+++ b/UD_any/templates/parserseg/machine.rm
@@ -0,0 +1,30 @@
+Name : Parser and Segmenter machine
+Classifier : parserseg
+{
+	Transitions : {parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-2 -1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/tagger/machine.rm b/UD_any/templates/tagger/machine.rm
similarity index 80%
rename from UD_any/tagger/machine.rm
rename to UD_any/templates/tagger/machine.rm
index 9c21235..cb82c59 100644
--- a/UD_any/tagger/machine.rm
+++ b/UD_any/templates/tagger/machine.rm
@@ -8,11 +8,11 @@ Classifier : tagger
 	Context : Buffer{-3 -2 -1} Stack{} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+	Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	InputDropout : 0.5
 	MLP : {2048 0.3 2048 0.3}
 	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
 }
 Predictions : UPOS
 Strategy
diff --git a/UD_any/templates/taggerparser_base/machine.rm b/UD_any/templates/taggerparser_base/machine.rm
new file mode 100644
index 0000000..a7267fb
--- /dev/null
+++ b/UD_any/templates/taggerparser_base/machine.rm
@@ -0,0 +1,31 @@
+Name : Tagger, Parser and Segmenter baseline Machine
+Classifier : taggerparser
+{
+	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/taggerparser_incr/machine.rm b/UD_any/templates/taggerparser_incr/machine.rm
new file mode 100644
index 0000000..85fe890
--- /dev/null
+++ b/UD_any/templates/taggerparser_incr/machine.rm
@@ -0,0 +1,30 @@
+Name : Tagger, Parser and Segmenter incremental Machine
+Classifier : taggerparser
+{
+  Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger parser * 0
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter tagger * 1
+}
diff --git a/UD_any/templates/taggerparser_seq/machine.rm b/UD_any/templates/taggerparser_seq/machine.rm
new file mode 100644
index 0000000..9cbbab8
--- /dev/null
+++ b/UD_any/templates/taggerparser_seq/machine.rm
@@ -0,0 +1,31 @@
+Name : Tagger, Parser and Segmenter sequential Machine
+Classifier : taggerparser
+{
+	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tagparser_base/machine.rm b/UD_any/templates/tagparser_base/machine.rm
new file mode 100644
index 0000000..df89ed4
--- /dev/null
+++ b/UD_any/templates/tagparser_base/machine.rm
@@ -0,0 +1,35 @@
+Name : Tagger, Feats , Parser and Segmenter baseline Machine
+Classifier : tagparser
+{
+  Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tagparser_incr/machine.rm b/UD_any/templates/tagparser_incr/machine.rm
new file mode 100644
index 0000000..2c844de
--- /dev/null
+++ b/UD_any/templates/tagparser_incr/machine.rm
@@ -0,0 +1,33 @@
+Name : Tagger, Feats , Parser and Segmenter incremental Machine
+Classifier : tagparser
+{
+  Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger morpho * 0
+	morpho parser NOTHING 0
+	morpho morpho * 0
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter tagger * 1
+}
diff --git a/UD_any/templates/tagparser_seq/machine.rm b/UD_any/templates/tagparser_seq/machine.rm
new file mode 100644
index 0000000..6098ee1
--- /dev/null
+++ b/UD_any/templates/tagparser_seq/machine.rm
@@ -0,0 +1,35 @@
+Name : Tagger, Feats , Parser and Segmenter sequential Machine
+Classifier : tagparser
+{
+  Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tokenizer/machine.rm b/UD_any/templates/tokenizer/machine.rm
new file mode 100644
index 0000000..a2f7406
--- /dev/null
+++ b/UD_any/templates/tokenizer/machine.rm
@@ -0,0 +1,28 @@
+Name : Tokenizer Machine
+Classifier : tokenizer
+{
+	Transitions : {tokenizer,data/tokenizer.ts}
+  LossMultiplier : {}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-3 -2 -1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tokenizer ENDWORD 1
+	tokenizer tokenizer SPLIT 1
+	tokenizer tokenizer * 0
+}
+
diff --git a/UD_any/templates/tokeparser_base/machine.rm b/UD_any/templates/tokeparser_base/machine.rm
new file mode 100644
index 0000000..e4cd45b
--- /dev/null
+++ b/UD_any/templates/tokeparser_base/machine.rm
@@ -0,0 +1,42 @@
+Name : Tokenizer, Tagger, Morpho and Parser Machine
+Classifier : tokeparser
+{
+  Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tokenizer ENDWORD 1
+	tokenizer tokenizer SPLIT 1
+	tokenizer tokenizer * 0
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tokeparser_incr/machine.rm b/UD_any/templates/tokeparser_incr/machine.rm
new file mode 100644
index 0000000..0afaf01
--- /dev/null
+++ b/UD_any/templates/tokeparser_incr/machine.rm
@@ -0,0 +1,39 @@
+Name : Tokenizer, Tagger, Morpho and Parser Machine
+Classifier : tokeparser
+{
+  Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-2 -1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tagger ENDWORD 0
+	tokenizer tagger SPLIT 0
+	tokenizer tokenizer * 0
+	tagger morpho * 0
+	morpho parser NOTHING 0
+	morpho morpho * 0
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter tokenizer * 1
+}
diff --git a/UD_any/templates/tokeparser_seq/machine.rm b/UD_any/templates/tokeparser_seq/machine.rm
new file mode 100644
index 0000000..47fb4df
--- /dev/null
+++ b/UD_any/templates/tokeparser_seq/machine.rm
@@ -0,0 +1,42 @@
+Name : Tokenizer, Tagger, Morpho and Parser Machine
+Classifier : tokeparser
+{
+  Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tokenizer ENDWORD 1
+	tokenizer tokenizer SPLIT 1
+	tokenizer tokenizer * 0
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/tokenizer/machine.rm b/UD_any/tokenizer/machine.rm
deleted file mode 100644
index 1b26358..0000000
--- a/UD_any/tokenizer/machine.rm
+++ /dev/null
@@ -1,21 +0,0 @@
-Name : Tokenizer Machine
-Classifier : tokenizer
-{
-	Transitions : {tokenizer,data/tokenizer.ts}
-	Network type : Modular
-	Context : Unk{1} Buffer{-3 -2 -1} Stack{} Columns{FORM} GRU{1 1 0.0 1} In{128} Out{512}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0} Stack{} GRU{1 1 0.0 1} In{128} Out{256}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{} GRU{1 1 0.0 1} In{128} Out{256}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{32} Out{32}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.3
-	MLP : {2048 0.3}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM EOS
-Strategy : sequential
-  tokenizer tokenizer ENDWORD 1
-  tokenizer tokenizer SPLIT 1
-  tokenizer tokenizer 0
diff --git a/UD_any/tokeparser_base/machine.rm b/UD_any/tokeparser_base/machine.rm
deleted file mode 100644
index 39ec5b5..0000000
--- a/UD_any/tokeparser_base/machine.rm
+++ /dev/null
@@ -1,32 +0,0 @@
-Name : Tokenizer, Tagger, Morpho and Parser Machine
-Classifier : tokeparser
-{
-	Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser.ts}
-	Network type : Modular
-	StateName : States{tokenizer tagger morpho parser} Out{128}
-	Context : Buffer{-3 -2 -1} Stack{2 1 0} Columns{FORM UPOS} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{64} Out{64}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.4
-	MLP : {2048 0.3 512 0.1}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
-Strategy : sequential
-  tokenizer tagger ENDWORD 1
-  tokenizer tagger SPLIT 1
-  tokenizer tagger 0
-  tagger morpho 1
-  morpho parser NOTHING 1
-  morpho parser 0
-  parser tokenizer SHIFT 1
-  parser tokenizer RIGHT 1
-  parser tokenizer 0
diff --git a/UD_any/tokeparser_incr/machine.rm b/UD_any/tokeparser_incr/machine.rm
deleted file mode 100644
index 4405538..0000000
--- a/UD_any/tokeparser_incr/machine.rm
+++ /dev/null
@@ -1,32 +0,0 @@
-Name : Tokenizer, Tagger, Morpho and Parser Machine
-Classifier : tokeparser
-{
-	Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser.ts}
-	Network type : Modular
-	StateName : States{tokenizer tagger morpho parser} Out{128}
-	Context : Buffer{-3 -2 -1} Stack{2 1 0} Columns{FORM UPOS} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{64} Out{64}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.4
-	MLP : {2048 0.3 512 0.1}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
-Strategy : incremental
-  tokenizer tagger ENDWORD 0
-  tokenizer tagger SPLIT 0
-  tokenizer tokenizer 0
-  tagger morpho 0
-  morpho parser NOTHING 0
-  morpho morpho 0
-  parser tokenizer SHIFT 1
-  parser tokenizer RIGHT 1
-  parser parser 0
diff --git a/UD_any/tokeparser_seq/machine.rm b/UD_any/tokeparser_seq/machine.rm
deleted file mode 100644
index a7a9bea..0000000
--- a/UD_any/tokeparser_seq/machine.rm
+++ /dev/null
@@ -1,32 +0,0 @@
-Name : Tokenizer, Tagger, Morpho and Parser Machine
-Classifier : tokeparser
-{
-	Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser.ts}
-	Network type : Modular
-	StateName : States{tokenizer tagger morpho parser} Out{128}
-	Context : Buffer{-3 -2 -1 1 2} Stack{2 1 0} Columns{FORM UPOS} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0 1} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0 1} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{64} Out{64}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.4
-	MLP : {2048 0.3 512 0.1}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
-Strategy : sequential
-  tokenizer tagger ENDWORD 1
-  tokenizer tagger SPLIT 1
-  tokenizer tagger 0
-  tagger morpho 1
-  morpho parser NOTHING 1
-  morpho parser 0
-  parser tokenizer SHIFT 1
-  parser tokenizer RIGHT 1
-  parser tokenizer 0
-- 
GitLab