From b27b44520fb787c2191e320c7f38ed63bb85f6c1 Mon Sep 17 00:00:00 2001 From: Alexandre Rademaker Date: Fri, 16 Apr 2021 16:00:15 -0300 Subject: [PATCH 1/3] improving code for block ud.pt.AddMwt --- udapi/block/ud/pt/addmwt.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/udapi/block/ud/pt/addmwt.py b/udapi/block/ud/pt/addmwt.py index daa605b2..1216aa2d 100644 --- a/udapi/block/ud/pt/addmwt.py +++ b/udapi/block/ud/pt/addmwt.py @@ -18,13 +18,19 @@ 'dessa': {'form': 'de essa', 'lemma': 'de esse'}, 'dessas': {'form': 'de essas', 'lemma': 'de esse'}, 'desse': {'form': 'de esse', 'lemma': 'de esse'}, + 'comigo': {'form': 'com mim', 'lemma': 'com mim', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, + 'conosco': {'form': 'com nós', 'lemma': 'com nós', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, 'desses': {'form': 'de esses', 'lemma': 'de esse'}, 'desta': {'form': 'de esta', 'lemma': 'de este'}, 'destas': {'form': 'de estas', 'lemma': 'de este'}, 'deste': {'form': 'de este', 'lemma': 'de este'}, 'destes': {'form': 'de estes', 'lemma': 'de este'}, - 'disso': {'form': 'de isso', 'lemma': 'de este'}, - 'disto': {'form': 'de isto', 'lemma': 'de este'}, + 'disso': {'form': 'de isso', 'lemma': 'de isso', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, + 'disto': {'form': 'de isto', 'lemma': 'de isto', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, 'do': {'form': 'de o', 'lemma': 'de o'}, # 'upos': 'ADP PRON', 'deprel': 'case *'' 'dos': {'form': 'de os', 'lemma': 'de o'}, 'dum': {'form': 'de um', 'lemma': 'de um'}, @@ -36,6 +42,8 @@ 'nesses': {'form': 'em esses', 'lemma': 'em esse'}, 'nesta': {'form': 'em esta', 'lemma': 'em este'}, 'neste': {'form': 'em este', 'lemma': 'em este'}, + 'nele': {'form': 'em ele', 'lemma': 'em ele', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *'}, 'nisso': {'form': 'em isso', 'lemma': 'em este'}, 'nisto': {'form': 'em isto', 'lemma': 'em este', 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, @@ -66,7 +74,7 @@ for pronoun in 'ela ele eles elas'.split(): MWTS['d' + pronoun] = { 'form': 'de ' + pronoun, - 'lemma': 'de ' + pronoun, + 'lemma': 'de ele', 'upos': 'ADP PRON', 'deprel': 'case *', 'main': 1, From f56f37b2d99ad6b6ff39a64a4179ca768df87b00 Mon Sep 17 00:00:00 2001 From: Alexandre Rademaker Date: Fri, 16 Apr 2021 16:17:14 -0300 Subject: [PATCH 2/3] improving the handling of relations --- udapi/block/ud/pt/addmwt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udapi/block/ud/pt/addmwt.py b/udapi/block/ud/pt/addmwt.py index 1216aa2d..f6124350 100644 --- a/udapi/block/ud/pt/addmwt.py +++ b/udapi/block/ud/pt/addmwt.py @@ -28,7 +28,7 @@ 'deste': {'form': 'de este', 'lemma': 'de este'}, 'destes': {'form': 'de estes', 'lemma': 'de este'}, 'disso': {'form': 'de isso', 'lemma': 'de isso', - 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *'}, 'disto': {'form': 'de isto', 'lemma': 'de isto', 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, 'do': {'form': 'de o', 'lemma': 'de o'}, # 'upos': 'ADP PRON', 'deprel': 'case *'' From 60a9f8214ad4c26b296ae336bfd1bd4c92b1e1d7 Mon Sep 17 00:00:00 2001 From: Alexandre Rademaker Date: Fri, 16 Apr 2021 19:45:05 -0300 Subject: [PATCH 3/3] more contractions from PT --- udapi/block/ud/pt/addmwt.py | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/udapi/block/ud/pt/addmwt.py b/udapi/block/ud/pt/addmwt.py index f6124350..4075c669 100644 --- a/udapi/block/ud/pt/addmwt.py +++ b/udapi/block/ud/pt/addmwt.py @@ -42,11 +42,40 @@ 'nesses': {'form': 'em esses', 'lemma': 'em esse'}, 'nesta': {'form': 'em esta', 'lemma': 'em este'}, 'neste': {'form': 'em este', 'lemma': 'em este'}, + 'nele': {'form': 'em ele', 'lemma': 'em ele', 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *'}, + + 'naquilo': {'form': 'em aquilo', 'lemma': 'em aquilo', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Masc|Number=Sing|PronType=Dem'}, + + 'àquela': {'form': 'a aquela', 'lemma': 'a aquilo', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Fem|Number=Sing|PronType=Dem'}, + + # aquele can be `det` or `pron` + 'naquele': {'form': 'em aquele', 'lemma': 'em aquele', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Masc|Number=Sing|PronType=Dem'}, + 'naquela': {'form': 'em aquela', 'lemma': 'em aquele', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Fem|Number=Sing|PronType=Dem'}, + 'naqueles': {'form': 'em aqueles', 'lemma': 'em aquele', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Masc|Number=Plur|PronType=Dem'}, + 'naquelas': {'form': 'em aquelas', 'lemma': 'em aquele', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Fem|Number=Plur|PronType=Dem'}, + + 'daquele': {'form': 'de aquele', 'lemma': 'de aquele', + 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree', 'deprel': 'case *', + 'feats': '_ Gender=Masc|Number=Plur|PronType=Dem'}, + 'nisso': {'form': 'em isso', 'lemma': 'em este'}, 'nisto': {'form': 'em isto', 'lemma': 'em este', 'upos': 'ADP PRON', 'main': 1, 'shape': 'subtree'}, + 'no': {'form': 'em o', 'lemma': 'em o'}, # PRON cases are excluded below 'nos': {'form': 'em os', 'lemma': 'em o'}, # PRON cases are excluded below 'num': {'form': 'em um', 'lemma': 'em um'}, @@ -80,6 +109,16 @@ 'main': 1, 'shape': 'subtree', } +for pronoun in 'ela ele eles elas'.split(): + MWTS['n' + pronoun] = { + 'form': 'em ' + pronoun, + 'lemma': 'em ele', + 'upos': 'ADP PRON', + 'deprel': 'case *', + 'main': 1, + 'feats': '_ *', + 'shape': 'subtree', + } class AddMwt(udapi.block.ud.addmwt.AddMwt):