CompLin / nheengatu

Tools and resources for the computational processing of Nheengatu (Modern Tupi)
7 stars 1 forks source link

disponibilizar Studart (1926) como dataset #450

Open heliolbs opened 1 month ago

heliolbs commented 1 month ago

Como sugerido por @leoalenc , neste comentário, seria útil disponibilizar livremente, em texto puro e computacionalmente processável, tudo o que for possível em termos de material em nheengatu.

heliolbs commented 1 month ago

@leoalenc , já digitei a primeira das 13 páginas que compõem Studart (1926) (neste commit). Gostaria de tratar da estrutura do dataset. Seria o caso de um dicionário? Um arquivo json? Talvez com páginas como chaves e seus respectivos conteúdos como valores?

leoalenc commented 1 month ago

@leoalenc , já digitei a primeira das 13 páginas que compõem Studart (1926) (neste commit). Gostaria de tratar da estrutura do dataset. Seria o caso de um dicionário? Um arquivo json? Talvez com páginas como chaves e seus respectivos conteúdos como valores?

@heliolbs , excelente trabalho! Só não entendi por que digitou integralmente a primeira página, em vez de listar apenas os exemplos como procedeu com as páginas 27 e 28. Você almeja uma edição digital deste artigo? Talvez fosse um experimento interessante editar o texto integral e, com algum um tipo de mark up (ou mark down?) anotar os exemplos dentro do texto. No entanto, como sempre, pergunto: em que publicação culminaria esse esforço? Seja como for, consultar https://tei-c.org/ como inspiração para a codificação dos dados. Ver também o capítulo sobre o assunto no manual do NLTK: https://www.nltk.org/book/ch11.html Uma estrutura básica seria uma lista de dicionários, um para cada exemplo, com pelo menos as seguintes chaves (tudo em inglês):

  1. categoria: Afixo, raiz, palavra, sintagma, sentença etc.
  2. part of speech (pos): Usar o tagset do conjunto XPOS do Yauti. Uma listagem que pode estar desatualizada encontra-se em apêndice de Alencar (2024), consultar código do Yauti para eventuais updates. Como evitar que seja atribuída pos a algo que é sentença ou que uma palavra fique sem pos? Aí adentramos o terreno da validação, que idealmente deveria fazer parte da modelagem dos dados (desenvolver as duas coisas em paralelo!).
  3. Forma original (text), tradução (text_por) etc., ou seja, usar os mesmos atributos de metadados do treebank!
  4. Usar text_source para o número da página
  5. Usar number número de ordem do exemplo. Talvez seja mais prático 27:1, 27:2 etc., depois 28:1 , 28:2, 29:1 etc. do que uma numeração contínua. Essa abordagem facilita pular páginas e exemplos (ver sobre desenvolvimento em espiral infra).
  6. Outros metadados especificados por Studart, relativos a modo (escrito vs. oral ou registro etc. Ver, por exemplo, https://amu.hal.science/hal-02969797/document e https://www.christianlehmann.eu/ling/variation/?open=dimensions_of_variation.inc (TEI deve ter algo a respeito)

Como em tudo na linguística computacional, recomendo desenvolvimento incremental em espiral, ou seja, é impossível elaborar a modelagem perfeita que vá cobrir todos os casos antes de analisar os próprios dados e modelá-los. Começar com os exemplos mais simples (iniciar com POC!), ir ampliando a cobertura junto com a expansão da modelagem e validação.

heliolbs commented 1 month ago

@heliolbs , excelente trabalho! Só não entendi por que digitou integralmente a primeira página, em vez de listar apenas os exemplos como procedeu com as páginas 27 e 28. Você almeja uma edição digital deste artigo? Talvez fosse um experimento interessante editar o texto integral e, com algum um tipo de mark up (ou mark down?) anotar os exemplos dentro do texto. No entanto, como sempre, pergunto: em que publicação culminaria esse esforço?

Na verdade, @leoalenc , isso foi motivado por uma falha de compreensão minha mesmo. Achei que a sugestão fosse de termos a edição digital completa, de onde extrairíamos as sentenças, mas a extração será feita do dataset com todos os trechos em nheengatu da obra, correto?

Com relação às páginas 27 a 38, elas foram incluídas por um erro de commit meu: eu havia copiado o arquivo com todos os exemplos de Studart (1926) para economizar um pouco de esforço na digitação dos exemplos de modo que só os trechos em português da primeira página precisaram ser adicionados. As minhas dúvidas compartilhadas na issue #449 foram compostas entre um pouco antes e logo após a conclusão da coleta de todos os trechos em nheengatu da obra, guardados no arquivo de nome "studart_all_examples.txt".

Não tenho nenhuma sugestão de onde publicaria essa edição digital. A única serventia mais imediata que me ocorre seria facilitar nossas conferências do conteúdo de Studart (1926), sobretudo do contexto imediato dos exemplos. Caso eu siga com esse experimento, posso disponibilizar no meu repositório privado e deixar a seu critério se traz para cá ou não. O que acha?

Seja como for, consultar https://tei-c.org/ como inspiração para a codificação dos dados. Ver também o capítulo sobre o assunto no manual do NLTK: https://www.nltk.org/book/ch11.html

Perfeito, @leoalenc ! Vou consultar ambas as fontes.

Uma estrutura básica seria uma lista de dicionários, um para cada exemplo, com pelo menos as seguintes chaves (tudo em inglês):

  1. categoria: Afixo, raiz, palavra, sintagma, sentença etc.
  2. part of speech (pos): Usar o tagset do conjunto XPOS do Yauti. Uma listagem que pode estar desatualizada encontra-se em apêndice de Alencar (2024), consultar código do Yauti para eventuais updates. Como evitar que seja atribuída pos a algo que é sentença ou que uma palavra fique sem pos? Aí adentramos o terreno da validação, que idealmente deveria fazer parte da modelagem dos dados (desenvolver as duas coisas em paralelo!).
  3. Forma original (text), tradução (text_por) etc., ou seja, usar os mesmos atributos de metadados do treebank!
  4. Usar text_source para o número da página
  5. Usar number número de ordem do exemplo. Talvez seja mais prático 27:1, 27:2 etc., depois 28:1 , 28:2, 29:1 etc. do que uma numeração contínua. Essa abordagem facilita pular páginas e exemplos (ver sobre desenvolvimento em espiral infra).
  6. Outros metadados especificados por Studart, relativos a modo (escrito vs. oral ou registro etc. Ver, por exemplo, https://amu.hal.science/hal-02969797/document e https://www.christianlehmann.eu/ling/variation/?open=dimensions_of_variation.inc (TEI deve ter algo a respeito)

Excelente! Vou transferir a página completamente digitada para um novo arquivo do repositório privado e usar as orientações acima para aplicar às ocorrências da primeira página (STUDART, 1926, p. 26).

Como em tudo na linguística computacional, recomendo desenvolvimento incremental em espiral, ou seja, é impossível elaborar a modelagem perfeita que vá cobrir todos os casos antes de analisar os próprios dados e modelá-los. Começar com os exemplos mais simples (iniciar com POC!), ir ampliando a cobertura junto com a expansão da modelagem e validação.

Concordo, professor. Digitei apenas uma das 13 páginas justamente para verificar se eu estava na direção correta. Em breve, disponibilizarei os primeiros exemplos no formato sugerido ("lista de dicionários") no repositório privado para sua avaliação.

heliolbs commented 1 month ago

@leoalenc , acabei de realizar um commit no meu repositório privado com o protótipo de dataset seguindo suas recomendações e propondo um modo de registrar variantes cuja dimensão Studart (1926) não especifica. Veja se a estrutura geral está na direção correta.