-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
agreement NOUN/ADJ via amod #299
Comments
Obrigado @leoalenc , de fato, encontrei vários outros casos com o comando:
Curioso, não estamos conseguindo ensinar para os parsers a regra simples da gramática do POR sobre concordência de gênero entre substantivo e adjetivo! Com o comando abaixo temos o número de casos:
Vou manter este issue aberto e generalizar o problema. Em tempo, é sempre melhor inspecionar e trabalhar no branch |
Casos mais curiosos são:
Neste caso, vice-presidente está |
@arademaker , esse caso é mesmo interessante! Estou surpreso com a quantidade de casos. Anotei a dica sobre o melhor ramo no qual se trabalhar. |
Sim, @arademaker, a construção em questão é um aposto, e a regra para apostos na língua portuguesa (e em várias outras línguas, como o alemão) é que concordam com o antecedente. Vejamos:
Desse modo, é correta, ao meu ver, a atribuição de traço de gênero aos dependentes apositivos de um núcleo em consonância com o traço de gênero deste. Numa gramática baseada em unificação o aposto apresentaria os mesmos traços que o núcleo regente, mesmo quando o núcleo do aposto for subespecificado. |
Boa. Temos então uma regra interessante. Não apenas um adj precisa concordar com o noun que ele modifica via amod, mas também a relação de appos precisa propagar concordância. |
@arademaker, um ADJ deve concordar também com o seu nsubj:
|
@arademaker, outro caso de concordância do ADJ é este:
Nesse tipo de construção, o ADJ é o núcleo de um xcomp, devendo concordar com o seu sujeito. Em UD, porém, não é expressa a relação de um xcomp com o seu sujeito, diferentemente do que ocorre numa análise gerada por uma gramática em HPSG ou LFG que modela a relação de controle obrigatório. |
As duas primeiras não são xcomp são? Ou vc as colocou exatamente para contrastar como as duas últimas? Em tempo, até agora vejo então umas regras interessantes para detectar inconsistências mas não temos como automaticamente corrigir. Quando existir diferença, teremos que manualmente decidir pela análise do head ou do dependente. |
@arademaker, ao meu ver, em todos esses exemplos temos o ADJ como núcleo que exerce a função xcomp dos verbos achar e parecer, respectivamente. Veja os exemplos análogos em inglês na documentação de UD. Não considero parecer mero verbo de ligação como ser.
@arademaker, o núcleo (em inglês, head) determina as propriedades do dependente com o qual estabelece relação de concordância. Portanto, a análise que deve prevalecer normalmente é a do núcleo, caso esteja completamente especificado. Haverá situações, contudo, em que o inverso ocorrerá:
No núcleo palhaços, temos NOUN/Gender=Masc|Number=Plur. Admitindo um léxico em que a forma alegres não é especificada para gênero, numa gramática de unificação normalmente vamos ter também NOUN/Gender=Masc|Number=Plur na representação do adjetivo. |
Correto, mas no corpus podem haver erros no head, talvez possamos olhar uma amostra ver se os casos. O caso da cópula onde o head é o adj é interessante. Segue a discussão do "syntactic theory" do subj se comportar como determinante, certo? |
@leoalenc , o @wellington36 achou este caso também. Podemos deixar para considerar NUM depois, mas esta analise também sugere casos de dois saltos, um token que tem que concordar em outro que não é ligado à ele imediatamente mas intermediado por algum outro: |
@leoalenc com este comando podemos pegar os casos em que o ADJ não concorda em Gender ou Number com o parent.
Mas tem os casos como ditos no comentário acima onde o ADJ ou o NOUN pode não ter Gender ou Number, com este comando tiro estes casos, mas é melhor analisar antes de ignorar eles.
|
@wellington36 , o problema já está claro, e o uso da udapy também já exemplifiquei acima. A questão agora é corrigirmos com as regras acima apresentadas. Elas estão claras para você? Como vc está pensando em implementar o código que irá corrigir os casos ? |
O problema desta tarefa é que as vezes miramos em um problema e acertamos outro. Rodando o que seria nosso caso mais simples acima, ADJ modificando NOUN com divergência em Gender/Number, temos:
Olhando o primeiro caso, surpresa, a árvore estava errada, o ADJ A árvore final é:
E o mesmo comando acima já não retorna este sentença:
|
Note ainda que minha busca foi mais simples que a sua: if (node.upos == "ADJ" and node.deprel == "amod" and node.parent.upos == "NOUN" and
node.feats["Gender"] != node.parent.feats["Gender"] and
node.feats["Number"] != node.parent.feats["Number"]):
print(node) |
Os dois casos seguintes também foram erros nas árvores sintáticas. |
Um caso onde a concordância não está correta porque talvez seja mesmo uma sentença agramatical? e no corpus não queremos corrigir isso... @leoalenc ? |
Outro caso @leoalenc :
gratuitos estava como
|
No commit 49bc94b, mais casos de análises sintáticas erradas (attachment errado) e mais um caso de tokenização errada corrigidos. Apenas um caso de feature errada corrigida. |
@arademaker, sim, na HPSG, seguindo a teoria X-barra, há um paralelismo entre determinantes e sujeitos, expresso no fato de ocuparem a posição de especificador. |
@arademaker e @wellington36, na expressão R$ 615,7 mil, equivalentes a [...], o ADJ é um aposto, que naturalmente concorda em número com o numeral, maior que um. Quanto ao gênero masculino, parece decorrer a unidade monetária real. Vejamos:
|
@arademaker, talvez ocorra aí a chamada concordância ideológica com o termo subentendido gado, ou seja, raça de gado. Sugiro não corrigir, se foi isso mesmo que o jornalista escreveu, apesar da gramaticalidade (sob a ótica da língua padrão) discutível. |
Do último PR agora faltam 80 casos que fora divididos em categorias: Casos díficeis (17 casos):(CF17-2#27, figurativo), (CF17-2#29, abstrato), (CF74-1#2, VIRGEM), (CF106-1#4, pornô), (CF182-1#1, Querido), (CF245-2#11, superior), (CF426-2#15, trivial), (CF506-3#23, imparciais), (CF833-2#21, financeiro), (CP103-2#6, contíguas), (CP190-2#17, temporal), (CP223-1#12, possível), (CP258-5#14, última), (CP568-4#38, fictícios), (CP616-2#74, financeiros), (CP726-3#30, similar), (CP883-6#20, restantes) Casos de concordancia (9 casos):(CP52-12#16, móvel), (CP211-1#11, restritas), (CP605-3#33, directivo), (CP759-2#65, superiores), (CP764-5#7, política), (CP890-1#13, primeiro), (CP908-1#6, antiacidez), (CP968-8#59, industrial), (CP973-5#29, respeitante) Árvore estranha/errada (12 casos):(CP187-2#67, nova), (CP211-4#16, primeiro), (CP268-2#31, responsável), (CP367-2#45, grande), (CP395-5#23, diversas), (CP457-8#12, última), (CP541-3#15, superior), (CP558-3#46, argelinas), (CP595-3#24, dispostos), (CP632-7#13, acidentado), (CP751-3#1, Discreto), (CP868-1#10, segunda) Falso positivo (2 ou mais ADJ para um NOUN) (15 casos):(CF38-2#19, médio), (CF66-4#20, 1º.), (CF377-1#14, holandes), (CF683-2#18, II), (CP232-4#4, francês), (CP290-4#33, XVII), (CP308-4#4, segundo), (CP396-1#30, petrolífero), (CP450-10#29, mesmo), (CP458-5#18, XVI), (CP477-4#28, 4º), (CP645-10#26, central), (CP667-4#16, segundo), (CP733-1#64, Khmer), (CP843-2#57, educativa) Falso positivo (ADJ concorda com 2 ou mais NOUN) (12 casos):(CF125-3#21, baratos), (CF649-5#23, intensos), (CP271-7#8, fascinantes), (CP396-1#42, paisagísticos), (CP419-1#22, respectivos), (CP448-4#13, passados), (CP497-5#6, russas), (CP543-2#57, municipais), (CP709-5#29, locais), (CP831-4#4, livres), (CP895-22#21, políticas), (CP987-2#8, permanentes) Falso positivo (exceção a regra) (5 casos):(CF304-1#30, quartas), (CF840-5#16, cover), (CP786-2#26, antiaborto), (CP798-1#7, pró-referendo), (CP968-8#22, hard-core) Possível erro de escrita (3 casos):(CF754-3#35, responsável), (CP161-5#23, domésticos), (CP348-3#24, últimos) Falta de Gender ou Number (7 casos):(CF150-1#4, feliz), (CF535-2#28, Fria), (CF911-5#29, Fria), (CP109-2#61, Cultural), (CP161-6#3, Municipal), (CP454-3#10, Municipais), (CP469-4#16, básica) |
alguns dos casos acima resolvidos em 43e03ab @wellington36 |
Em bad5a99 alguns outros dos casos classificados como 'difíceis' acima. |
Em caf460c, corrigi alguns problemas introduzidos no último commit. Mas o que falta para resolver este issue? |
Agora temos 59 casos, faltando principalmente os que considerei como casos difíceis onde varios já foram mencionados nesse issue ou em outros, dos demais casos com falta de Gender/Number acabei de corrigir e mandarei no próximo PR, e dos marcados como possível erro de escrita (um deles um pouco mais delicado que foi mencionado em reunião (CP348-3#24, últimos) que será necessário modificar a sentença toda), antes de fazer esse PR (sai hoje ou no máximo amanhã) vou dar mais uma verificada em todos os casos de falso positivo e exceções a regra, com intuito de garantir que não estamos deixando mais nenhum caso relevante de lado. Espero com esse PR deixar apesar os casos marcados como casos difíceis, falso positivo e exceções a regra. Segue status atual de casos (sem contar as correções já feitas para o próximo PR). |
59 casos: Casos díficeis (15 casos):(CF17-2#27, figurativo), (CF17-2#29, abstrato), (CF106-1#4, pornô), (CF182-1#1, Querido), (CF245-2#11, superior), (CF426-2#15, trivial), (CF833-2#21, financeiro), (CP103-2#6, contíguas), (CP190-2#17, temporal), (CP223-1#12, possível), (CP258-5#14, última), (CP457-8#12, última), (CP568-4#38, fictícios), (CP726-3#30, similar), (CP883-6#20, restantes) Casos de concordancia (1 casos):(CP605-3#33, directivo) Árvore estranha/errada (0 casos):Falso positivo (2 ou mais ADJ para um NOUN) (15 casos):(CF66-4#20, 1º.), (CF377-1#14, holandes), (CF683-2#18, II), (CP232-4#4, francês), (CP290-4#33, XVII), (CP308-4#4, segundo), (CP396-1#30, petrolífero), (CP450-10#29, mesmo), (CP458-5#18, XVI), (CP477-4#28, 4º), (CP496-6#14, XVIII), (CP645-10#26, central), (CP667-4#16, segundo), (CP733-1#64, Khmer), (CP843-2#57, educativa) Falso positivo (ADJ concorda com 2 ou mais NOUN) (12 casos):(CF125-3#21, baratos), (CF649-5#23, intensos), (CP271-7#8, fascinantes), (CP396-1#42, paisagísticos), (CP419-1#22, respectivos), (CP448-4#13, passados), (CP497-5#6, russas), (CP543-2#57, municipais), (CP709-5#29, locais), (CP831-4#4, livres), (CP895-22#21, políticas), (CP987-2#8, permanentes) Falso positivo (exceção a regra) (5 casos):(CF304-1#30, quartas), (CF840-5#16, cover), (CP786-2#26, antiaborto), (CP798-1#7, pró-referendo), (CP968-8#22, hard-core) Possível erro de escrita (3 casos):(CF754-3#35, responsável) , (CP161-5#23, domésticos) , (CP348-3#24, últimos) Falta de Gender ou Number (8 casos):(CF150-1#4, feliz) , (CF535-2#28, Fria) , (CF911-5#29, Fria) , (CP109-2#61, Cultural) , (CP161-6#3, Municipal) , (CP454-3#10, Municipais) , (CP469-4#16, básica) , (CP632-7#13, acidentado) |
No #327 temos algumas correções de casos com falta de Gender or Number que não foram pegos antes e casos introduzidos pelo issue #300. Tal revisão foi possível graças ao último comentário, os casos que não foram pegos antes podem ser pegos pelo seguinte comando:
|
Pelo #327 temos 46 casos divididos em: Casos díficeis (13 casos):(CF17-2#27, figurativo), (CF17-2#29, abstrato), (CF106-1#4, pornô), (CF182-1#1, Querido), (CF426-2#15, trivial), (CF833-2#21, financeiro), (CP103-2#6, contíguas), (CP190-2#17, temporal), (CP223-1#12, possível), (CP258-5#14, última), (CP457-8#12, última), (CP568-4#38, fictícios), (CP726-3#30, similar) Casos de concordancia (0 casos):Árvore estranha/errada (0 casos):Falso positivo (2 ou mais ADJ para um NOUN) (15 casos):(CF66-4#20, 1º.), (CF377-1#14, holandes), (CF683-2#18, II), (CP232-4#4, francês), (CP290-4#33, XVII), (CP308-4#4, segundo), (CP396-1#30, petrolífero), (CP450-10#29, mesmo), (CP458-5#18, XVI), (CP477-4#28, 4º), (CP496-6#14, XVIII), (CP645-10#26, central), (CP667-4#16, segundo), (CP733-1#64, Khmer), (CP843-2#57, educativa) Falso positivo (ADJ concorda com 2 ou mais NOUN) (12 casos):(CF125-3#21, baratos), (CF649-5#23, intensos), (CP271-7#8, fascinantes), (CP396-1#42, paisagísticos), (CP419-1#22, respectivos), (CP448-4#13, passados), (CP497-5#6, russas), (CP543-2#57, municipais), (CP709-5#29, locais), (CP831-4#4, livres), (CP895-22#21, políticas), (CP987-2#8, permanentes) Falso positivo (exceção a regra) (5 casos):(CF304-1#30, quartas), (CF840-5#16, cover), (CP786-2#26, antiaborto), (CP798-1#7, pró-referendo), (CP968-8#22, hard-core) Possível erro de escrita (1 casos):(CP348-3#24, últimos) Falta de Gender ou Number (0 casos): |
Segundo comentário #365 (comment) temos alguns casos de fora de nossa query (casos de concordancia entre NOUN/ADJ), no caso concordância entre PROPN/ADJ que podem ser encontradas com a atualização da query: cat *.conllu | udapy -q util.Eval node='if ((node.feats["Gender"] != node.parent.feats["Gender"] or node.feats["Number"] != node.parent.feats["Number"] or node.feats["Gender"] == "" or node.feats["Number"] == "") and node.parent.upos in ["NOUN","PROPN"] and node.upos == "ADJ" and node.deprel == "amod"): print(node)' | wc -l
83 @arademaker, ou talvez possamos discutir isso em outro issue com nome de |
Maybe worth to check here UniversalDependencies/UD_English-EWT#186 |
@arademaker, I accidentally found the following parsing error:
The correct analysis should be simples ADJ _ Gender=Fem|Number=Plur.
I was looking up the different ways the adjective simples, which does not show any formal variation in gender and number, is analysed.
The text was updated successfully, but these errors were encountered: