cpdoc / dhbb-nlp

processamentos DHBB
Other
5 stars 2 forks source link

udp-mini vs morphoBr #67

Open arademaker opened 3 years ago

arademaker commented 3 years ago

@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.

vcvpaiva commented 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.

arademaker commented 3 years ago

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
arademaker commented 3 years ago

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  
arademaker commented 3 years ago

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.