Dada a sentença “O garoto, que mora na rua 12, estava correndo atrás da bola.”, são várias as análises sintáticas possíveis dependendo do formalismo adotado. Estes formalismos dividem-se em duas grandes classes: `phrase-structure` ou `dependencies` mas existem variações entre teorias dentro destas classes. Vejamos dois formalismos de dependências.
O sistema PALAVRAS tem como saída padrão para a análise por dependências da sentença acima, o seguinte trecho:
O [o] <*> <artd> DET M S @>N #1->2 garoto [garoto] <Hbio> N M S @SUBJ> #2->11 , #3->0 que [que] <clb> <clb-fs> <rel> SPEC M S @SUBJ> #4->5 mora [morar] <vK> <mv> <np-close> V PR 3S IND VFIN @FS-N< #5->2 em [em] <sam-> PRP @<SA #6->5 a [o] <-sam> <artd> DET F S @>N #7->8 rua [rua] N F S @P< #8->6 12 [12] <card> NUM M/F P @<SC #9->5 , #10->0 estava [estar] <fmc> <aux> V IMPF 3S IND VFIN @FS-STA #11->0 correndo [correr] <clb> <mv> V GER @ICL-AUX< #12->11 atrás de [atrás=de] <sam-> PRP @<ADVL #13->12 a [o] <artd> <-sam> DET F S @>N #14->15 bola [bola] <cc> <tool> <food-c-h> <act> N F S @P< #15->13 . #16->0
Um parser de dependências treinado com um corpus anotado seguindo o modelo de dependências Universal Dependencies, neste caso o corpus UD_Portuguese (Bosque em UD produzido pelo nosso grupo), produz a seguinte saída para a mesma sentença:
1 O _ DET DET _ 2 det _ _ 2 garoto _ NOUN NOUN _ 12 nsubj _ SpaceAfter=No 3 , _ PUNCT . _ 5 punct _ _ 4 que _ PRON PRON _ 5 nsubj _ _ 5 mora _ VERB VERB _ 2 acl:relcl _ _ 6-7 na _ _ _ _ _ _ _ _ 6 en en ADP ADP _ 8 case _ _ 7 a o DET DET Definite=Def|Gender=Fem|Number=Sing|PronType=Art 8 det _ _ 8 rua _ NOUN NOUN _ 5 nmod _ _ 9 12 _ NUM NUM NumType=Card 8 appos _ SpaceAfter=No 10 , _ PUNCT . _ 5 punct _ _ 11 estava _ AUX AUX _ 12 aux _ _ 12 correndo _ VERB VERB _ 0 root _ _ 13 atrás _ ADV ADV _ 12 advmod _ _ 14-15 da _ _ _ _ _ _ _ _ 14 de de ADP ADP _ 16 case _ _ 15 a o DET DET Definite=Def|Gender=Fem|Number=Sing|PronType=Art 16 det _ _ 16 bola _ NOUN NOUN _ 13 nmod _ SpaceAfter=No 17 . _ PUNCT . _ 12 punct _ _
Existem diferenças teóricas e técnicas entre estes dois modelos de dependências. As diferenças teórias são as que caracterizam cada modelo ou formalismo. Por exemplo, em UD, o `root` da sentença, o nó raiz da árvore sintática, é o verbo `correr`. Para o PALAVRAS o root é o verbo `estar` que, alias, não é exatamente o root, porque o root para o PALAVRAS é um nó 0, que não tem nenhum token associado. PALAVRAS identificou `atrás de` como uma MWE funcionando como preposição enquanto UD não fez o mesmo agrupamento. Para o PALAVRAS, todas as pontuações apontam para o root da sentença. Para UD, o tratamento das pontuações não é tão simples. Vale perceber que o parser UDPipe, que usei para produzir a saída acima, errou no desmembramento da contração `na`.
Mas para revisão do corpus, estou agora mais interessado nas diferenças técnicas. Ambas as saídas codificam de forma diferente várias informações: os links de dependência, as POS tags, as features, lemas etc. Ambos representam um token por linha, mas o PALAVRAS apresenta as informações de cada token de uma forma mais `flat`, uma sopa de símbolos, apelando para alguns caracteres especiais que identificam os tipos de cada símbolo. Lema entre conchetes, tags e features em maiusculas, relações sintáticas começam com o símbolo `@` e outras tags sintáticas e semânticas entre `<…>`. Em contrapartida, o formato CoNLL-U adotado por UD propõe que cada informação esteja em uma coluna de um formato tabular. Em UD, as features são explicitamente definidas, por exemplo, `Gender=Fem`. No PALAVRAS o símbolo `F` codifica esta mesma informação.
Pensando na tarefa de revisão de anotações sintáticas, qual formato seria mais adequado para edições? Quais outros formatos possíveis existem? Esta discussÃo é certamente menos relevante se adotarmos uma postura de revisão de corpora centrada no suporte de alguma ferramenta de anotação, como Brat ou Webanno. Mas a verdade é que nenhuma destas ferramentas é tão flexível como a edição direta de arquivos texto com suporte de alguma interface de visualização e `debug` da anotação.