LR-POR / cl-conllu

tool for working with conllu files in CL
Apache License 2.0
13 stars 5 forks source link

bug on drawing #80

Closed arademaker closed 5 years ago

arademaker commented 5 years ago
CL-CONLLU> (conllu.draw:tree-sentence (sentence-by-id "CF155-1" "documents/CF0155.conllu"))
─┮ 
 │   ╭─╼ Esses det 
 │ ╭─┾ núcleos nsubj:pass 
 │ │ ├─╼ coloniais amod 
 │ │ │ ╭─╼ , punct 
 │ │ │ │ ╭─╼ entre case 
 │ │ ├ │─┶ eles nmod 
 │ │ ╰─┾ o appos 
 │ │   │ ╭─╼ de case 
 │ │   │ ├─╼ o det 
 │ │   ├─┾ Vale nmod 
 │ │   │ │ ╭─╼ de case 
 │ │   │ │ ├─╼ o det 
 │ │   │ ╰─┶ Ribeira nmod 
 │ │   ╰─╼ , punct 
 │ ├─╼ foram aux:pass 
 ╰─┾ ocupados root 
   │ ╭─╼ a case 
   ├─┾ partir obl 
   │ │ ╭─╼ de case 
   │ ╰─┾ terras nmod 
   │   ╰─┮ vendidas acl 
   │     │ ╭─╼ por case 
   │     │ ├─╼ o det 
   │     ╰─┶ governo obl:agent 
   ╰─╼ . punct 

data

# text = Esses núcleos coloniais, entre eles o do Vale do Ribeira, foram ocupados a partir de terras vendidas pelo governo.
# source = CETENFolha n=155 cad=Informática sec=com sem=94b
# sent_id = CF155-1
# id = 656
1   Esses   esse    DET <dem>|DET|M|P|@>N   Gender=Masc|Number=Plur|PronType=Dem    2   det _   _
2   núcleos núcleo  NOUN    <np-def>|N|M|P|@SUBJ>   Gender=Masc|Number=Plur 16  nsubj:pass  _   _
3   coloniais   colonial    ADJ ADJ|M|P|@N< Gender=Masc|Number=Plur 2   amod    _   ChangedBy=Issue165|SpaceAfter=No
4   ,   ,   PUNCT   PU|@PU  _   7   punct   _   _
5   entre   entre   ADP PRP|@<ADVL  _   6   case    _   _
6   eles    eles    PRON    PERS|M|3P|NOM/PIV|@P<   Gender=Masc|Number=Plur|Person=3|PronType=Prs   2   nmod    _   _
7   o   o   DET <dem>|DET|M|S|@N<PRED   Gender=Masc|Number=Sing|PronType=Dem    2   appos   _   _
8-9 do  _   _   _   _   _   _   _   _
8   de  de  ADP <sam->|PRP|@N<  _   10  case    _   _
9   o   o   DET <-sam>|<artd>|ART|M|S|@>N   Definite=Def|Gender=Masc|Number=Sing|PronType=Art   10  det _   _
10  Vale    Vale    PROPN   PROP|M|S|@P<    Gender=Masc|Number=Sing 7   nmod    _   MWE=Vale_do_Ribeira
11-12   do  _   _   _   _   _   _   _   _
11  de  de  ADP <sam->|PRP|@N<  _   13  case    _   _
12  o   o   DET <artd>|<-sam>|DET|M|S|@>N   Definite=Def|Gender=Masc|Number=Sing|PronType=Art   13  det _   _
13  Ribeira Ribeira PROPN   PROP|@P<    Number=Sing 10  nmod    _   ChangedBy=Issue165|SpaceAfter=No
14  ,   ,   PUNCT   PU|@PU  _   7   punct   _   _
15  foram   ser AUX <aux>|V|PS/MQP|3P|IND|@FS-STA   Mood=Ind|Number=Plur|Person=3|VerbForm=Fin  16  aux:pass    _   _
16  ocupados    ocupar  VERB    <pass>|<mv>|V|PCP|M|P|@ICL-AUX< Gender=Masc|Number=Plur|VerbForm=Part|Voice=Pass    0   root    _   _
17  a   a   ADP PRP|@<ADVL  _   18  case    _   MWE=a_partir_de
18  partir  partir  NOUN    N|@P<   _   16  obl _   _
19  de  de  ADP PRP|@N< _   20  case    _   _
20  terras  terra   NOUN    <np-idf>|N|F|P|@P<  Gender=Fem|Number=Plur  18  nmod    _   _
21  vendidas    vender  VERB    <mv>|V|PCP|F|P|@ICL-N<  Gender=Fem|Number=Plur|VerbForm=Part|Voice=Pass 20  acl _   _
22-23   pelo    _   _   _   _   _   _   _   _
22  por por ADP PRP|@PASS   _   24  case    _   _
23  o   o   DET <-sam>|<artd>|ART|M|S|@>N   Definite=Def|Gender=Masc|Number=Sing|PronType=Art   24  det _   _
24  governo governo NOUN    <np-def>|N|M|S|@P<  Gender=Masc|Number=Sing 21  obl:agent   _   ChangedBy=Issue165|SpaceAfter=No
25  .   .   PUNCT   PU|@PU  _   16  punct   _   _
arademaker commented 5 years ago
CL-CONLLU> (conllu.draw:tree-sentence (sentence-by-id "CF236-7" "documents/CF0236.conllu"))
─┮ 
 │   ╭─╼ As det 
 │   ├─╼ duas nummod 
 │ ╭─┶ palavras nsubj:pass 
 │ ├─╼ não advmod 
 │ ├─╼ chegaram aux 
 │ ├─╼ a aux 
 │ ├─╼ ser aux:pass 
 ╰─┾ ditas root 
   │ ╭─╼ , punct 
   │ ├─╼ mas cc 
   ├─┾ resumem conj 
   │ │ ╭─╼ o det 
   │ ╰─┾ consenso obj 
   │   │ ╭─╼ : punct 
   │   ├ │─┮ investir appos 
   │   │ │ │ ╭─╼ em case 
   │   │ │ ├─┶ treinamento obl 
   │   │ │ │ ╭─╼ em case 
   │   │ │ │ ├─╼ as det 
   │   │ │ ╰─┶ empresas obl 
   │   │ ├─╼ é cop 
   │   ╰─┾ bom acl:relcl 
   │     │ ╭─╼ , punct 
   │     │ ├─╼ mas cc 
   │     │ ├─╼ não advmod 
   │     ╰─┶ basta conj 
   ╰─╼ . punct 

dados

# text = As duas palavras não chegaram a ser ditas, mas resumem o consenso: investir em treinamento nas empresas é bom, mas não basta.
# source = CETENFolha n=236 cad=Brasil sec=pol sem=94b
# sent_id = CF236-7
# id = 1016
1   As  o   DET <artd>|ART|F|P|@>N  Definite=Def|Gender=Fem|Number=Plur|PronType=Art    3   det _   _
2   duas    dois    NUM <card>|NUM|F|P|@>N  NumType=Card    3   nummod  _   ChangedBy=Issue168
3   palavras    palavra NOUN    <np-def>|N|F|P|@SUBJ>   Gender=Fem|Number=Plur  8   nsubj:pass  _   _
4   não não ADV _   Polarity=Neg    8   advmod  _   _
5   chegaram    chegar  AUX <first-cjt>|<aux>|V|PS/MQP|3P|IND|@FS-STA   Mood=Ind|Number=Plur|Person=3|VerbForm=Fin  8   aux _   _
6   a   a   PART    PRP|@PRT-AUX<   _   8   aux _   _
7   ser ser AUX <aux>|V|INF|@ICL-AUX<   VerbForm=Inf    8   aux:pass    _   _
8   ditas   dizer   VERB    <pass>|<mv>|V|PCP|F|P|@ICL-AUX< Gender=Fem|Number=Plur|VerbForm=Part|Voice=Pass 0   root    _   SpaceAfter=No
9   ,   ,   PUNCT   PU|@PU  _   11  punct   _   _
10  mas mas CCONJ   <co-sta>|KC|@CO _   11  cc  _   _
11  resumem resumir VERB    <cjt>|<mv>|V|PR|3P|IND|@FS-STA  Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin   8   conj    _   _
12  o   o   DET <artd>|ART|M|S|@>N  Definite=Def|Gender=Masc|Number=Sing|PronType=Art   13  det _   _
13  consenso    consenso    NOUN    <np-def>|N|M|S|@<ACC    Gender=Masc|Number=Sing 11  obj _   ChangedBy=Issue165|SpaceAfter=No
14  :   :   PUNCT   PU|@PU  _   22  punct   _   _
15  investir    investir    VERB    <mv>|<cjt>|V|INF|@ICL-SUBJ> VerbForm=Inf    13  appos   _   _
16  em  em  ADP PRP|@<ADVL  _   17  case    _   _
17  treinamento treinamento NOUN    <np-idf>|N|M|S|@P<  Gender=Masc|Number=Sing 15  obl _   ChangedBy=Issue137
18-19   nas _   _   _   _   _   _   _   _
18  em  em  ADP <sam->|PRP|@<ADVL   _   20  case    _   _
19  as  o   DET <-sam>|<artd>|ART|F|P|@>N   Definite=Def|Gender=Fem|Number=Plur|PronType=Art    20  det _   _
20  empresas    empresa NOUN    <np-def>|N|F|P|@P<  Gender=Fem|Number=Plur  15  obl _   ChangedBy=Issue137
21  é   ser AUX <mv>|<first-cjt>|V|PR|3S|IND|@FS-N<PRED Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin   22  cop _   ChangedBy=Issue167
22  bom bom ADJ ADJ|M|S|@<SC    Gender=Masc|Number=Sing 13  acl:relcl   _   ChangedBy=Issue165|SpaceAfter=No
23  ,   ,   PUNCT   PU|@PU  _   26  punct   _   _
24  mas mas CCONJ   <co-n<pred>|KC|@CO  _   26  cc  _   _
25  não não ADV _   Polarity=Neg    26  advmod  _   _
26  basta   bastar  VERB    <mv>|<cjt>|V|PR|3S|IND|@FS-N<PRED   Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin   22  conj    _   SpaceAfter=No
27  .   .   PUNCT   PU|@PU  _   8   punct   _   _
arademaker commented 5 years ago

@Kalysthos vc acha que consegue resolver isso?

wllsena commented 5 years ago

@arademaker , desculpe, não consegui visualizar o bug.

arademaker commented 5 years ago

As linhas não deveriam se cruzar, veja a linha de investir na segunda árvore. Ou a linha saindo de eles na primeira árvore.

arademaker commented 5 years ago

Maybe @hmuniz can help too!

arademaker commented 5 years ago

linhas de municipios e Estados:

CL-CONLLU> (conllu.draw:tree-sentence (sentence-by-id "CP281-1" "documents/CP0281.conllu"))
─┮ 
 │ ╭─╼ Ora advmod 
 ╰─┾ existem root 
   │ ╭─╼ muitas det 
   ├─┾ funções nsubj 
   │ │ ╭─╼ ( punct 
   │ ├─┾ ordenamento appos 
   │ │ ├─╼ territorial amod 
   │ │ │ ╭─╼ , punct 
   │ │ ├─┾ incentivos conj 
   │ │ │ │ ╭─╼ a case 
   │ │ │ │ ├─╼ o det 
   │ │ │ ╰─┾ desenvolvimento nmod 
   │ │ │   │ ╭─╼ , punct 
   │ │ │   ├─┶ ambiente conj 
   │ │ │   │ ╭─╼ , punct 
   │ │ │   ├─┶ turismo conj 
   │ │ │   │ ╭─╼ , punct 
   │ │ │   ├─┶ cultura conj 
   │ │ │   │ ╭─╼ , punct 
   │ │ │   ├─┾ vias conj 
   │ │ │   │ │ ╭─╼ de case 
   │ │ │   │ ╰─┶ comunicação nmod 
   │ │ │   │ ╭─╼ , punct 
   │ │ │   ├─┶ educação conj 
   │ │ │   │ ╭─╼ , punct 
   │ │ │   ╰─┶ etc. conj 
   │ │ ╰─╼ ) punct 
   │ │                      ╭─╼ , punct 
   │ │                      │ ╭─╼ para case 
   │ │                      ├─┾ as cc 
   │ │                      │ ╰─╼ quais fixed 
   │ │                      │ ╭─╼ os det 
   │ │ ╭                    │─┶ municípios nsubj 
   │ │ ├─╼ são cop          │ 
   │ │ ├─╼ demasiado advmod │ 
   │ ╰─┾ pequenos acl:relcl │ 
   │   │                    ├─╼ e cc 
   │   │                    │ ╭─╼ o det 
   │   ├                    │─┶ Estado dep 
   │   │                    ├─╼ demasiado advmod 
   │   ╰-------------------─┶ distante conj 
   ╰─╼ . punct 

dados

# text = Ora existem muitas funções (ordenamento territorial, incentivos ao desenvolvimento, ambiente, turismo, cultura, vias de comunicação, educação, etc.), para as quais os municípios são demasiado pequenos e o Estado demasiado distante.
# source = CETEMPúblico n=281 sec=opi sem=98a &L
# sent_id = CP281-1
# id = 1508
1   Ora ora ADV <kc>|ADV|@ADVL> _   2   advmod  _   _
2   existem existir VERB    <mv>|V|PR|3P|IND|@FS-STA    Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin   0   root    _   _
3   muitas  muito   DET <quant>|DET|F|P|@>N Gender=Fem|Number=Plur|PronType=Ind 4   det _   _
4   funções função  NOUN    <np-idf>|N|F|P|@<SUBJ   Gender=Fem|Number=Plur  2   nsubj   _   _
5   (   (   PUNCT   PU|@PU  _   6   punct   _   ChangedBy=Issue165|SpaceAfter=No
6   ordenamento ordenamento NOUN    <first-cjt>|<np-idf>|N|M|S|@APP Gender=Masc|Number=Sing 4   appos   _   _
7   territorial territorial ADJ ADJ|M|S|@N< Gender=Masc|Number=Sing 6   amod    _   ChangedBy=Issue165|SpaceAfter=No
8   ,   ,   PUNCT   PU|@PU  _   9   punct   _   _
9   incentivos  incentivo   NOUN    <np-idf>|N|M|P|@>N  Gender=Masc|Number=Plur 6   conj    _   _
10-11   ao  _   _   _   _   _   _   _   _
10  a   a   ADP <sam->|PRP|@N<ARG   _   12  case    _   _
11  o   o   DET <-sam>|<artd>|ART|M|S|@>N   Definite=Def|Gender=Masc|Number=Sing|PronType=Art   12  det _   _
12  desenvolvimento desenvolvimento NOUN    <np-def>|N|M|S|@P<  Gender=Masc|Number=Sing 9   nmod    _   SpaceAfter=No
13  ,   ,   PUNCT   PU|@PU  _   14  punct   _   _
14  ambiente    ambiente    ADJ ADJ|M|S|@>N Gender=Masc|Number=Sing 12  conj    _   SpaceAfter=No
15  ,   ,   PUNCT   PU|@PU  _   16  punct   _   _
16  turismo turismo NOUN    <np-idf>|N|M|S|@>N  Gender=Masc|Number=Sing 12  conj    _   SpaceAfter=No
17  ,   ,   PUNCT   PU|@PU  _   18  punct   _   _
18  cultura cultura NOUN    <np-idf>|N|F|S|@>N  Gender=Fem|Number=Sing  12  conj    _   SpaceAfter=No
19  ,   ,   PUNCT   PU|@PU  _   20  punct   _   _
20  vias    via NOUN    <np-idf>|N|F|P|@>N  Gender=Fem|Number=Plur  12  conj    _   _
21  de  de  ADP PRP|@N< _   22  case    _   _
22  comunicação comunicação NOUN    <np-idf>|N|F|S|@P<  Gender=Fem|Number=Sing  20  nmod    _   SpaceAfter=No
23  ,   ,   PUNCT   PU|@PU  _   24  punct   _   _
24  educação    educação    NOUN    <np-idf>|N|F|S|@>N  Gender=Fem|Number=Sing  12  conj    _   SpaceAfter=No
25  ,   ,   PUNCT   PU|@PU  _   26  punct   _   _
26  etc.    etc.    ADV ADV|@>N _   12  conj    _   ChangedBy=Issue165|SpaceAfter=No
27  )   )   PUNCT   PU|@PU  _   6   punct   _   ChangedBy=Issue165|SpaceAfter=No
28  ,   ,   PUNCT   PU|@PU  _   41  punct   _   _
29  para    para    ADP <cjt>|PRP|@A<   _   30  case    _   _
30  as  o   DET DET|F|P|@>N Gender=Fem|Number=Plur|PronType=Art 41  cc  _   MWE=as_quais
31  quais   qual    PRON    DET|F|P|@P< Gender=Fem|Number=Plur|PronType=Rel 30  fixed   _   _
32  os  o   DET <artd>|ART|M|P|@>N  Definite=Def|Gender=Masc|Number=Plur|PronType=Art   33  det _   _
33  municípios  município   NOUN    <np-def>|N|M|P|@SUBJ>   Gender=Masc|Number=Plur 36  nsubj   _   _
34  são ser AUX <first-cjt>|<mv>|V|PR|3P|IND|@FS-N<PRED Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin   36  cop _   ChangedBy=Issue167
35  demasiado   demasiado   ADV ADV|@>A _   36  advmod  _   _
36  pequenos    pequeno ADJ <first-cjt>|ADJ|M|P|@<SC    Gender=Masc|Number=Plur 4   acl:relcl   _   _
37  e   e   CCONJ   <co-n<pred>|<co-subj>|KC|@CO    _   41  cc  _   _
38  o   o   DET <artd>|ART|M|S|@>N  Definite=Def|Gender=Masc|Number=Sing|PronType=Art   39  det _   _
39  Estado  estado  NOUN    <first-cjt>|<prop>|<np-def>|N|M|S|@FS-N<PRED    Gender=Masc|Number=Sing 36  dep _   _
40  demasiado   demasiado   ADV ADV|@>A _   41  advmod  _   _
41  distante    distante    ADJ <first-cjt>|<n>|ADJ|M|S|@<SC    Gender=Masc|Number=Sing 36  conj    _   SpaceAfter=No
42  .   .   PUNCT   PU|@PU  _   2   punct   _   _
arademaker commented 5 years ago

solved with be7361d by @Kalysthos

arademaker commented 5 years ago

Notei agora que talvez não tivessemos um bug na verdade. @hmuniz tomou como referencia a lib UDAPI textmodetrees.py e pode ter implementado o layout ‘compact’ apenas, foi isso @hmuniz ? Ou talvez na época só existisse na UDAPI este compact.

Eles também tem outras opções interessantes de alinhamento das árvores texto, notar também o comentário

Some non-projective trees cannot be printed without crossing edges. TextModeTrees uses a special "bridge" symbol