Open arademaker opened 3 years ago
hi @analununes I've noticed that "Cristão, escrivão" are being considered auxiliary verbs by UDpipe. Also "FEBEM" is considered an interjection somewhere, so there are things that are clearly wrong.
the idea would be to build the list of all the roots and check the mistakes, ie. the things that cannot be roots, such as preposititions, determiners, etc. Having a list of the verbs (which should be the majority of the roots with a bit of luck) then one can check whether they're in MorphoBr or not.
Este issue é sobre comparar todos os tokens do mini com Morpho-Br. Não vejo porque na comparação, que precisaremos de um script para isso, precisamos nos preocupar apenas com roots. Mas na avaliação das diferenças, ai sim, podemos inicialmetne focar nos roots.
ar@leme udp-mini % awk '$8 ~ /root/ {print $2,$3,$4}' *.conllu | sort | uniq -c | sort -nr | head
140 nasceu nascer VERB
56 elegeu eleger VERB
49 Faleceu falecer VERB
48 nomeado nomear VERB
41 assumiu assumir VERB
39 eleito eleger VERB
34 tornou tornar VERB
34 promovido promover VERB
32 casado casado ADJ
32 candidatou candidatar VERB
ar@leme udp-mini % awk '$8 ~ /root/ {print $2,$3,$4}' *.conllu | sort | uniq -c | sort -nr | wc -l
591
ar@leme udp-mini % awk '$8 ~ /root/ {print $4}' *.conllu | sort | uniq -c | sort -nr
1736 VERB
207 NOUN
57 ADJ
11 PROPN
6 NUM
1 PRON
1 ADP
Notem que achar erro é razoavelmente fácil, o difícil é corrigir, o caso de ADP root acima é
6-8869 No entanto, apesar da resistência dos paulistas que fez com que a Revolução de 1932, deflagrada a 9 de julho, fosse sustentada durante quase três meses - em 29 de setembro o movimento constitucionalista foi militarmente esmagado pelas tropas do governo federal, capitulando em seguida.
Vou tentar corrigir, para mim esmagado
funcionaria melhor como root.
─┮
╰─┮ Em ADP root 1 0
├─╼ o DET fixed 2 1
├─┮ entanto NOUN fixed 3 1
│ ╰─╼ , PUNCT punct 4 3
│ ╭─┮ apesar ADV case 5 8
│ │ ╰─╼ de ADP fixed 6 5
│ ├─╼ a DET det 7 8
├─┾ resistência NOUN nmod 8 1
│ │ ╭─╼ de ADP case 9 11
│ │ ├─╼ os DET det 10 11
│ ╰─┾ paulistas NOUN nmod 11 8
│ │ ╭─╼ que PRON nsubj 12 13
│ ╰─┾ fez VERB acl:relcl 13 11
│ │ ╭─╼ com SCONJ mark 14 28
│ │ ├─╼ que SCONJ mark 15 28
│ │ │ ╭─╼ a DET det 16 17
│ │ ├─┾ Revolução PROPN nsubj:pass 17 28
│ │ │ │ ╭─╼ de ADP case 18 19
│ │ │ ├─┶ 1932 NUM nmod 19 17
│ │ │ │ ╭─╼ , PUNCT punct 20 21
│ │ │ ╰─┾ deflagrada VERB acl 21 17
│ │ │ │ ╭─╼ a ADP case 22 23
│ │ │ ├─┾ 9 NUM obl 23 21
│ │ │ │ │ ╭─╼ de ADP case 24 25
│ │ │ │ ╰─┶ julho NOUN nmod 25 23
│ │ │ ╰─╼ , PUNCT punct 26 21
│ │ ├─╼ fosse AUX aux:pass 27 28
│ │ ╭─┾ sustentada VERB advcl 28 43
│ │ │ │ ╭─╼ durante ADP case 29 32
│ │ │ │ │ ╭─╼ quase ADV advmod 30 31
│ │ │ │ ├─┶ três NUM nummod 31 32
│ │ │ ├─┶ meses NOUN obl 32 28
│ │ │ │ ╭─╼ - PUNCT punct 33 35
│ │ │ │ ├─╼ em ADP case 34 35
│ │ │ ╰─┾ 29 NUM obl 35 28
│ │ │ │ ╭─╼ de ADP case 36 37
│ │ │ ╰─┶ setembro NOUN nmod 37 35
│ │ │ ╭─╼ o DET det 38 39
│ │ ├─┾ movimento NOUN nsubj:pass 39 43
│ │ │ ╰─╼ constitucionalista ADJ amod 40 39
│ │ ├─╼ foi AUX aux:pass 41 43
│ │ ├─╼ militarmente ADV advmod 42 43
│ ╰─┾ esmagado VERB xcomp 43 13
│ │ ╭─╼ por ADP case 44 46
│ │ ├─╼ as DET det 45 46
│ ├─┾ tropas NOUN obl:agent 46 43
│ │ │ ╭─╼ de ADP case 47 49
│ │ │ ├─╼ o DET det 48 49
│ │ ╰─┾ governo NOUN nmod 49 46
│ │ ╰─╼ federal ADJ amod 50 49
│ │ ╭─╼ , PUNCT punct 51 52
│ ╰─┾ capitulando VERB advcl 52 43
│ │ ╭─╼ em ADP case 53 54
│ ╰─┶ seguida NOUN obl 54 52
╰─╼ . PUNCT punct 55 1
Em 36ddb3917, a sentença acima assim como a sentença 1012-1 foram revisadas com auxilio do @leoalenc. Estou marcando sentenças revisadas com o metadado # revised
. Também aproveitei para listar todas as sentenças curtas do DHBB, com menos de 100 caracteres. Temos 488 destas:
ar@leme udp-mini % awk '$0 ~ /text =/ && length($0) <= 100 {print length($0),FILENAME,$0}' *.conllu | sort -nr
Aproveitei para corrigir outras 4 sentenças destas curtas, marcar como revised
e atualizar as estatísticas. Eu e @leoalenc vamos nos encontrar 1 vez por semana para fazer algumas análises juntos e ir revisando as sentenças. Possivelmente algunas estruturas vão se repetir e o processo poderá ser acelerado.
De qq modo, @analununes, este issue trata de termos uma programa para identificar possíveis erros nas sentenças usando o Morho-Br, até para priorizar as análises que devo fazer com o @leoalenc.
@analununes, considerando que eu já segmentei as sentenças no udp-mini , procurei e achei uns 5-10 casos de erro e corrigi manualmente antes de rodar o UDP, gostaria de focar agora em tentar melhorar/revisar analises do udp-mini.
Uma idéia é comparar os tokens com https://github.com/LR-POR/MorphoBr. Para tokens verbo, noun, adj e adv, deveriamos conseguir achar no morpho-br... Eu gostaria que esta semana vc tentasse focar nisso. A idéia é usar o morpho-br para achar possíveis errors do UDP no
udp-mini
.