cpdoc / dhbb-nlp

processamentos DHBB
Other
5 stars 2 forks source link

Conllu x JSON sentences #79

Open wellington36 opened 3 years ago

wellington36 commented 3 years ago

Respectivamente Sentença no Conllu (udp-mini) e no respectivo JSON, que estão diferentes (5 sentenças no total).

wellington36 commented 3 years ago

Nos Casos 1, 2 e 3 o que está no JSON bate com o raw e nos Casos 4 e 5 o que está no Conllu bate com o raw.

arademaker commented 3 years ago

O caso 1 no JSON é

image

E parece que a segmentação em sentenças do NLU errou:

image

Mas estamos ignorando isso né? No JSON do NLU olhamos apenas o analyzed_text e os spans dos tokens. A segmentação do conllu está certa, mas temos um problema extra, o caracter de quebra de linha antes da palavra Auditor nao foi preservado no conllu:

image

Realmente temos que pensar melhor neste problema... estes. \n extras vão atrapalhar toda a contagem..

wellington36 commented 3 years ago

O caso 4 eu tinha reportado a um tempo talvez tenha corrigido em um e no outro manteve o erro.

arademaker commented 3 years ago

O caso 2 é também revelador:

image

Veja que no topo deste arquivo conllu, temos # newdoc id = sents/5751.sent ou seja, ele foi produzido a partir de um arquivo .sent. Já o JSON foi produzido a partir do RAW:

image

Então no RAW temos as aspas depois do ponto:

image

Mas por alguma razão, o .sent usado pelo UDPipe tinha estas aspas antes do ponto... isto pode ter sido alguma edição manual do sent antes de processarmos ele com UDPipe? Ou talvez o RAW tenha sido modificado depois? Novamente, precisamos rever nosso fluxo de dados.

wellington36 commented 3 years ago

Nesse caso 2, acredito que tenha sido uma edição manual faz sentido uma sentença terminar com aspar? (Note que o caso 3 é identico ao 2)

wellington36 commented 3 years ago

Do Caso 5 no udp/11335.conllu está assim (Note que, a segmentação está errada):

(removed by @arademaker)

No 11335.raw, 11335.sents e udp-mini/11335.conllu também aparece com ", e" em fez de ". E", porém tanto no ner/11335.json e no udp/11335.json aparece com ". E".

wellington36 commented 3 years ago

No caso 4 temos algo parecido com o caso 5, nos 10964.raw, 10964.sents e udp-mini/10964.conllu está como "Constitucional" e nos ner/10964.json e udp/10964.conllu está "Cconstitucional".

Assim é provavel que tanto nos casos 4 e 5 houve uma correção do texto que não foi passada para os ner/*.json e udp/*.conllu.

wellington36 commented 3 years ago

Ainda sobre o caso 4 encontrei o momento da alteração 466a97be8e9e16bd8e8023d436542e9eb313524f.

arademaker commented 3 years ago

Ja corrigido no DHBB.

wellington36 commented 3 years ago

Do caso 5 também encontrei algo interessante no commit 9653975f245504172147f33bdd8c90bb282e84cd o arquivo 11335.sent foi convertido para 11335.offset antes da conversão estava com ". E" e proximo commit 37d20381e4a6b4c48497de5c22d6e28479333079 foi convertido de novo de 11335.offset para 11335.sent nesse momento ele passou a estar com ", e".

arademaker commented 3 years ago

Como vc deve ter visto pelos comentários no DHBB e últimos commits no DHBB-NLP, muitos arquivos foram corrigidos, então sinceramente acho que esta sua investigação agora não faz mais sentido. Eu tenho agora no sents todos os arquivos segmentados para nova analise sintática. Encontrei vários erros de segmentação e corri manualmente. Em vários casos, a segmentação errou por haver erros nos dados, por isso também corrigi no DHBB o que eu pude.

O plano agora será esperar os issues do DHBB serem corrigidos, rodar novamente a segmentação, observar as diferenças em relação ao que estiver agora no sents e então gerar novamente os conllu.

wellington36 commented 3 years ago

Entendo.