LR-POR / PorGram

A Portuguese HPSG Grammar
Other
2 stars 1 forks source link

evaluate new sample of 206 entries #67

Closed leoalenc closed 2 years ago

leoalenc commented 2 years ago

O objetivo desta issue é avaliar uma segunda amostra aleatória de 206 das 2059 entradas geradas automaticamente, de modo a alcançar 20% do total (ver #66).

leoalenc commented 2 years ago

Em https://github.com/LR-POR/PorGram/commit/688f467940cdb50462ea9647e5da1e4fa73e1254, incluí o arquivo random-sample-206-entries.tdl, atendendo ao objetivo desta issue. Numa primeira avaliação dessas entradas, a acurácia foi 79.13%. Também fiz algumas alterações nas amostras aleatórias anteriores, amostras essas referidas em #66. Antes de fechar a issue, vou dar mais uma passada nas entradas geradas.

leoalenc commented 2 years ago

Com https://github.com/LR-POR/PorGram/commit/9d35f1e0aa49e3d7c9a9dc9e990c28fd52d21d91, incluí exemplos nas 1854 entradas que ainda não os tinham. O arquivo random-sample-206-entries.tdl, referido em https://github.com/LR-POR/PorGram/commit/688f467940cdb50462ea9647e5da1e4fa73e1254, constitui uma amostra aleatória dessas entradas.

leoalenc commented 2 years ago

Neste commit, excluí as entradas repetidas do arquivo sample-1854-entries.tdl, ou seja, as entradas da amostra aleatória random-sample-206-entries.tdl. Desse modo, as 2059 entradas de new-lexicon-rec.tdl se distribuem nos seguintes arquivos:

  1. random-sample-50-entries.tdl
  2. random-sample-156-entries.tdl
  3. random-sample-206-entries.tdl
  4. sample-1854-entries.tdl

Este último tem agora 1648 entradas. Uma dessas entradas deverá ser eliminada manualmente:

gerir_1 := nonrefl-ine-obj-verb-lex &
  [ STEM < "gerir" >,
    SYNSEM.LKEYS.KEYREL.PRED "_gerir_v_1_rel" ]
  """
  Além do Museu do Ar, o projecto gira em torno do parque temático propriamente dito.
  """. 

A entrada corrigida, com o lema girar, está em random-sample-206-entries.tdl, conforme este comentário. Deverei renomear sample-1854-entries.tdl como sample-1647-entries.tdl.

leoalenc commented 2 years ago

Neste commit, excluí as entradas repetidas do arquivo sample-1854-entries.tdl, ou seja, as entradas da amostra aleatória random-sample-206-entries.tdl. Desse modo, as 2059 entradas de new-lexicon-rec.tdl se distribuem nos seguintes arquivos:

  1. random-sample-50-entries.tdl
  2. random-sample-156-entries.tdl
  3. random-sample-206-entries.tdl
  4. sample-1854-entries.tdl

Este último tem agora 1648 entradas. Uma dessas entradas deverá ser eliminada manualmente:

gerir_1 := nonrefl-ine-obj-verb-lex &
  [ STEM < "gerir" >,
    SYNSEM.LKEYS.KEYREL.PRED "_gerir_v_1_rel" ]
  """
  Além do Museu do Ar, o projecto gira em torno do parque temático propriamente dito.
  """. 

A entrada corrigida, com o lema girar, está em random-sample-206-entries.tdl, conforme este comentário. Deverei renomear sample-1854-entries.tdl como sample-1647-entries.tdl.

Correções feitas com https://github.com/LR-POR/PorGram/commit/8c91adc4581d3bb8509a16a17286be1973df2f96 e https://github.com/LR-POR/PorGram/commit/d794bb0653dfe69817ed7d50f4a90c0856b76ca3.

leoalenc commented 2 years ago

Na amostra aleatória de 412 entradas, constituída dos três arquivos com o prefixo random-sample, perfazendo 20% do total de 2059 entradas geradas automaticamente, detectei 89 erros, o que representa uma acurácia de 78.4%.

leoalenc commented 2 years ago

Em https://github.com/LR-POR/PorGram/commit/dd21486ecbd047781bd5576f5f744e64a9d969e1, testei, com sucesso, a entrada gerada automaticamente para o verbo incidir, incluída no arquivo random-sample-206-entries.tdl.

leoalenc commented 2 years ago

Com https://github.com/LR-POR/PorGram/commit/55691f03f970c116976af64e1777755db96002f, fecho a issue. Pelo menos um exemplo de cada tipo da amostra foi testado com sucesso, ver, por exemplo:

634 o artista dividiu a cena com a estudante 1 226 635 tive de dividir os alunos em grupos 2 1499 636 ele ficou de discutir a questão com a professora 1 740 637 eles querem revestir o piso com madeira 1 565 638 comentei os beijos com uma amiga 1 125 639 as aulas combinam teoria com prática 1 162 640 os hospitais consumiam uma fortuna com internações 1 148 641 ele trocaria a preocupação por a descontração 1 196 642 ele culpou o artista de homicídio 1 384 643 o juiz converteu a prisão em multa 4 251 644 o jogador falou uma bobagem sobre o time 1 314 645 o país passou de euforia para depressão 4 688 646 reparei em a bandeira 1 92 647 será que ela está pensando em mim 2 1400 648 ele caiu em o ostracismo 1 149 649 eles não conseguiram acabar com a pobreza 2 872 650 os clientes poderão servir-se de o ravióli 1 413 651 ele referia-se a um longo telefonema 2 94 652 depararam-se com uma estranha normalidade 4 137 653 o regime caracterizava-se por a austeridade 1 79 654 o jogador integrou-se em as movimentações 1 115 655 eles têm contribuído para que o artista não caia em o esquecimento 1 2073 656 ela responde por o pagamento 1 118

arademaker commented 2 years ago

Como foram feitos os testes? Novas entradas lexicais foram geradas a partir do corpus bosque. A partir delas, como foram geradas as sentenças de teste? E como era efetivamente sua identificação de entradas certas ou erradas?

Por mim, para as entradas erradas, qual o motivo do erro? Anotação errada no corpus? Erro no script de extração?

leoalenc commented 2 years ago

Como foram feitos os testes? Novas entradas lexicais foram geradas a partir do corpus bosque. A partir delas, como foram geradas as sentenças de teste? E como era efetivamente sua identificação de entradas certas ou erradas?

Por mim, para as entradas erradas, qual o motivo do erro? Anotação errada no corpus? Erro no script de extração?

@arademaker , uma primeira resposta à última das perguntas acima: https://github.com/LR-POR/valex/issues/7#issuecomment-1032767089.

leoalenc commented 2 years ago

Como foram feitos os testes?

@arademaker , aplicando a PorGram sobre os exemplos no LKB.

Novas entradas lexicais foram geradas a partir do corpus bosque. A partir delas, como foram geradas as sentenças de teste?

@arademaker, as sentenças de teste foram produzidas manualmente simplificando os exemplos do Bosque inseridos automaticamente nas entradas por meio da função ValenceExtractor.insert_examples.

E como era efetivamente sua identificação de entradas certas ou erradas?

@arademaker, comparando o tipo atribuído ao exemplo, recorrendo à minha intuição da falante do PB, aos meus conhecimentos de expert (no sentido informático) em linguística do português, especialmente nas áreas de sintaxe, valência e semântica lexical, e aos dicionários e outros trabalhos citados. Um exemplo:

; annotation error: no active form, passive participle without auxiliary OR
; past participle of pronominal verb
; annotation of past participle of pronominal verb represents source of error for valence extraction
; two complements (direct object and a-PP) or pronominal verb governing an a-PP (BOR)
subordinar_1 := nonrefl-dat-obj-verb-lex & ; ERROR:nom-acc-dat-obj-verb-lex OR refl-dat-obj-verb-lex
  [ STEM < "subordinar" >,
    SYNSEM.LKEYS.KEYREL.PRED "_subordinar_v_1_rel" ]
  """
  O órgão responsável pelo mercado de telebingos é a Susep (Superintendência de Seguros Privados), uma autarquia federal subordinanda ao Ministério da Fazenda.
  """.  

Ou seja, eu quero que a PorGram não reconheça o exemplo abaixo como gramatical:

nonrefl-dat-obj-verb-lex

*A Susep (Superintendência de Seguros Privados) subordina ao Ministério da Fazenda.

Em vez disso, eu quero que a gramática analise estes exemplos, que se conformam à minha intuição e vão ao encontro do Dicionário gramatical do Borba (BOR):

refl-dat-obj-verb-lex

A Susep (Superintendência de Seguros Privados) subordina-se ao Ministério da Fazenda.

nom-acc-dat-obj-verb-lex

O governo federal subordinou a Susep (Superintendência de Seguros Privados) ao Ministério da Fazenda. A Susep (Superintendência de Seguros Privados) foi subordinada ao Ministério da Fazenda.

Por mim, para as entradas erradas, qual o motivo do erro? Anotação errada no corpus? Erro no script de extração?

@arademaker, além dos erros devidos ao componente de extração, o tipo de erro mais frequente são os erros de anotação ou limitações de design da anotação, que, por exemplo, não distingue entre obl valencial e obl não valencial, conforme Alencar et al. (2022).