duplicação de entradas regulares na tabela de irregulares
analununes opened this issue · 7 comments
Em MorphoBr/issues/111 @leoalenc disse:
assentado PAST-PART-SUFFIX assentar
assente PAST-PART-SUFFIX assentar
assentado PAST-PART-SUFFIX assentar
assento PAST-PART-SUFFIX assentarEstou estranhando a repetição de assentado. Isso não deveria ocorrer, mesmo se admitirmos que assento é um particípio válido. Problema de desenho do algoritmo?
por favor, tentar explicar o problema e propor solução, documentando, antes de implementar.
por favor, tentar explicar o problema e propor solução, documentando, antes de implementar.
@arademaker, o problema:
@arademaker, para cada forma, o algoritmo classifica como regular ou irregular e produz a saída correspondente. No caso acima, quando assente foi analisado a saída produzida foi:
assentado PAST-PART-SUFFIX assentar
assente PAST-PART-SUFFIX assentarque corresponde à forma regular e à forma irregular e individualmente está certo.
A saída produzida para a forma assento também está individualmente certa, forma regular e forma irregular:
assentado PAST-PART-SUFFIX assentar
assento PAST-PART-SUFFIX assentarO problema é que a entrada regular
assentado PAST-PART-SUFFIX assentar
deveria ocorrer apenas uma vez na tabela, ou seja, as duas saídas juntas deveriam ser:assentado PAST-PART-SUFFIX assentar
assente PAST-PART-SUFFIX assentar
assento PAST-PART-SUFFIX assentar
Acredito que isso possa ser resolvido adicionando um filtro de entradas únicas à tabela de irregulares.
Não entendi
que corresponde à forma regular e à forma regular e individualmente está certo.
Além disso, filtrar a saída removendo repetições é jogar a sugeria para debaixo do tapete né? Não seria melhor achar a fonte do problema?
Finalmente vc disse
No caso acima, quando assente foi analisado
O que significa isso? Na primeira versão do código vc recebia entradas do MorphoBr, agrupava por lemma e tentava classificar entre verbos regulares e irregulares. O que seria analisar a forma flexionada "assente"?
Não entendi
que corresponde à forma regular e à forma regular e individualmente está certo.
Além disso, filtrar a saída removendo repetições é jogar a sugeria para debaixo do tapete né? Não seria melhor achar a fonte do problema?
Finalmente vc disse
No caso acima, quando assente foi analisado
O que significa isso? Na primeira versão do código vc recebia entradas do MorphoBr, agrupava por lemma e tentava classificar entre verbos regulares e irregulares. O que seria analisar a forma flexionada "assente"?
@analununes, concordo com @arademaker, acho que adicionar filtro não fica muito legal. Acho que o problema pode ser resolvido procedendo como sugeri lá no início: agrupar todas as formas associadas a um lema, ou seja, construir uma estrutura do tipo dicionário com o lema como chave e uma lista de pares (forma,features) como valor.
Bom vc seguiu fazendo o filtro no final do processo, diferente do que falamos nos comentários anteriores né?
Bom vc seguiu fazendo o filtro no final do processo, diferente do que falamos nos comentários anteriores né?
@arademaker, as saídas já estavam agrupadas por lema, que era a sugestão do @leoalenc. Fiz o filtro logo depois de gerar as saídas de cada grupo, não seria possível fazer de outra maneira sem modificar muito o algoritmo, alterando a função isRegular
, o que me parece desnecessário. Como dito no artigo, ao aplicar a função isRegular
a uma entrada existem três saídas possíveis, uma delas inclui a forma regular, isso não depende das saídas das outras formas.