UniversalDependencies / UD_Portuguese-Bosque

This Universal Dependencies (UD) Portuguese treebank.
Other
50 stars 12 forks source link

Segmentação errada de frases #207

Open claudiafreitas opened 7 years ago

claudiafreitas commented 7 years ago

Há uma série de frases no Bosque que têm erros de segmentação: terminam em

ponto e vírgula vírgula dois pontos travessão

Iremos corrigi-las de maneira sistemática, abaixo um print de como deve ficar, e em anexo o resultado da busca que fiz no Bosque por frases que terminavam com os sinais de pontuação listados acima. Não são poucas e há muito mais no CP que no CF (e é bom conferir a minha lista/refazer a busca).

image Frases_SPLIT_Bosque.txt

claudiafreitas commented 7 years ago

a proposta do Daniel faz sentido pra mim. @arademaker? Outro ponto é que precisaremos de uma re-análise das frases após a concatenação. A ideia era fazer isso pelo http://lindat.mff.cuni.cz/services/udpipe/run.php e isso teria que ser feito caso a caso.... ou não?

arademaker commented 7 years ago

@DanielSpecht certamente esta primeira 'conta' que vc fez é informativa. Mas a correção não poderá ser automatizada. Uma vez as frases concatenadas, a análise da nova frase precisa ser refeita. Não basta juntar as análises pois as árvores sintáticas seriam disconexas. Então identificar os casos por token não é suficiente, ao meu ver, para termos uma solução que resolva os problemas. Vide comentário da @claudiafreitas como resolvemos um caso juntos, recorrendo ao http://lindat.mff.cuni.cz/services/udpipe/run.php para analisar a frase depois de reintegrada.

arademaker commented 7 years ago

@DanielSpecht o caso do « é mais complicado. Ainda não sabemos exatamente como resolver. Trata-se de um outro nível de discurso que não sentenças.

O commit que fizemos manualmente resolvendo um problema de segmentação foi https://github.com/own-pt/bosque-UD/commit/f6433bf4c73e7f39a159140b12012891d9a9f349

arademaker commented 7 years ago

@claudiafreitas o caso que termina com vírgula acho que está segmentado certo! Parece ser um início de carta. Vide CF182-1.

arademaker commented 7 years ago

Alguns casos de setenças terminadas em -- também podem estar certos.

arademaker commented 7 years ago

@claudiafreitas e @DanielSpecht vejam este commit https://github.com/own-pt/bosque-UD/commit/2ebffc2439136bbed9c919859365f0122f0ef600

@DanielSpecht precisamos ter uma função para completar a análise das sentenças combinadas a partir de dados das sentenças origem. Isto é, dado um arquivo, a funçao ira procurar por sentenças com metadado new_sent_id e MERGED e usar estas informações para combinar as informações das sentenças listadas em MERGED e remove-las depois do arquivo deixando apenas a combinada e renomeando o new_sent_id para sent_id. A função produz um novo arquivo sem alterar o anterior. Na verdade, a função deve operar sobre listas de sentenças produzindo nova lista de sentença. Quando vc tiver ela, é fácil usa-la para operar sobre arquivos. Faz sentido?

@claudiafreitas note que não é trivial. Note que UDPipe não desmembrou regozija-se, por exemplo. Tente na interface http://lindat.mff.cuni.cz/services/udpipe/run.php a sentença:

Saddam Hussein regozija-se com o derrube de Gorbatchov; Kadhafi, da Líbia, fará o mesmo.

Tive que fazer correções manualmente. UDPipe não coloca lemas. E ainda por cima, errou feito em pensar que Gorbatchov; Kadhafi era um nome só, ligados por flat.

arademaker commented 7 years ago

@DanielSpecht não existe nenhuma garantia sobre a ordem das sentenças, por isso explicitei no meta MERGED os IDs das sentenças que geraram a sentença combinada. Melhor falarmos, a questão não é usar os metadados das sentenças originais, mas as informações dos tokens destas sentenças que não estiverem na sentença produzida. Em particular: lema, features, misc etc. Obviamente, os campos head e deprel não podem ser sobreescritos.

claudiafreitas commented 7 years ago

As soluções de segmentação de ASPAS propostas para o DHBB em https://github.com/cpdoc/dhbb-nlp/issues/10 devem poder ser aplicadas aqui. @LRocha7