Formação no âmbito do BILLIG : resolução dos exercícios

Diana Santos
Aqui encontra-se a resolução de cada exercício:
  1. Identifique quantas obras tem o corpo NOBRE e quantas tem o corpo OBras
        
    Procura: ".*"
    Distribuição de obra
    
    130 obras no NOBRE e 268 no OBras.

    Mas observando a informação das tabelas em "Mais informação sobre o corpo", vemos que de facto há 265 obras no OBras e 127 no NOBRE.

  2. Qual a versão de cada corpo? Ao ver os resultados, diz a versão: Corpo: OBras v. 10.1, e NOBRE v. 6.2
  3. Qual o escritor com mais texto em cada um dos corpos?
    Procura: ".*"
    Distribuição de autor
    
    Rocha Martins no NOBRE, com 458.451 unidades, e Machado de Assis, com 2.208.930.
  4. No corpo Literateca, em que obras é mencionado Napoleão? E o Marquês de Pombal? e D. Pedro I?
    Procura: "Napoleão"
    Distribuição de obras
    
    Para os com várias palavras, havia duas maneiras:
    Procura: "[Mm]arquês" "de" "Pombal"
    
    ou
    Procura: [lema="[Mm]arquês=de=Pombal"]
    
    O primeiro representa os casos em que a cadeia de caracteres Marquês de Pombal aparece, enquanto o segundo seleciona apenas os casos em que foi considerado uma unidade. Ainda mais específico seria procurar
      Procura: [lema="[Mm]arquês=de=Pombal" & sema="Pessoa:hist"]
    
    mas isso implica pressupor que todas as ocorrências de Marquês de Pombal tinham sido revistas
  5. O que aprende sobre a palavra natalício nos corpos literários? Que é usada para aniversários, e não para o Natal.
  6. Procure Caxias e São Paulo na Literateca: aparecem mais na literatura brasileira ou na portuguesa? Em que obras aparecem?
    Procura: "Caxias"
    Procura: [lema="São=Paulo"]
    Procura: "São" "Paulo"
    Distribuição de variante
    Distribuição de obras
    
  7. Escolha cem casos aleatórios (ou cinquenta) da palavra hábito e classifique-os (escolha as categorias)
  8. Na Literateca fala-se mais de soldados ou de frades?
    Procura: [lema="soldado|arqueiro|cavaleiro|militar|general(=.*)*|cabo|major(=.*)*|capitão.*"]
    Procura: [lema="[Ff]rade(=.*)*|[Ff]rei(=.*)*|[pP]adre(=.*)*|abade.*|bispo.*|prior.*"]
    
    26571 contra 32235
  9. Há diferença entre as duas variantes nesse aspeto? Bastaria repetir as perguntas, especificando a variante:
    Procura: [lema="soldado|arqueiro|cavaleiro|militar|general(=.*)*|cabo|major(=.*)*|capitão.*" & variante="BR"]
    Procura: [lema="[Ff]rade(=.*)*|[Ff]rei(=.*)*|[pP]adre(=.*)*|abade.*|bispo.*|prior.*" & variante="BR"]
    

Exercícios para conhecedores do AC/DC

No corpo da Literateca
  1. Qual o escritor com mais obras na Literateca?
          
    Procura: <obra> []
    Distribuição de autor
    
  2. No corpo Literateca, veja quantos textos são traduzidos
    Procura: <obra> []
    Distribuição de oritrad
    
  3. E quantos escritos por mulheres
    Procura: <obra> []
    Distribuição de sexo
    
  4. De quantas formas diferentes é chamada a Clara das Pupilas do Senhor Reitor? E Capitu do Dom Casmurro? Em primeiro lugar, teríamos de ver como é que a personagem Clara tinha sido codificada.
    Procura: [lema="Clara" & obra=".*Pupilas.*"]
    Distribuição de sema
    	
    Depois bastaria procurar
    [sema="Pessoa:Personagem:Clara-PSR"]
    Distribuição dos lemas
    	
  5. Qual a obra que tem mais menções de ruas? Escolhendo todas as definições que podem ser nomes de ruas.
    [lema="([Aa]venida|[rR]ua|[aA]zinhaga)=.*"]
      
    Vejo que me esqueci de Alameda, Beco, Calçada... Se toda a Literateca já estivesse anotada com a semântica dos locais, a forma certa seria
    [sema="Local:rua"]
        
  6. Qual a emoção mais associada a uma ação de dizer?
    @[sema=".*dizer.*" & sema=".*emo.*"]|([sema=".*dizer.*"] @[sema=".*emo.*"])
      
  7. Qual a obra com mais menções a médicos? E a saúde/doença?
    Procura: [lema="médico|medico|facultativo"]
    Distribuição de obra
        
  8. De que cores são os vestidos descritos nas obras? Qual o adjetivo mais comum associado a vestidos?
    Procura: [lema="vestido"] @[sema="cor"]
    Distribuição de lema
    
    Procura: [lema="vestido"] (@[pos="ADJ.*"]|@[temcagr="PCP"])
    Distribuição de lema
    	
  9. Quantas obras mencionam igrejas? E que igrejas são mais mencionadas?
    Procura: [lema="[iI]greja(=.*)*"]
    Distribuição de lema
    	
  10. Quais as expressões envolvendo partes do corpo mais frequentes?
    Procura: <mwe> []* @[sema="corpo.*"] []* </mwe>
    Distribuição de lema
    	

Exercícios para conhecedores do AC/DC e de R

A ideia é levar os resultados do AC/DC para o R para fazer visualizações ou análises mais complicadas.
  1. Faça um histograma relativo à densidade de palavras de roupa num conjunto de obras à sua escolha. Eu escolhi a roupa do século XIX.
    roupa<-read.table("roupaSecXIX.R")
    colnames(roupa)<-c("obra","roupa","tamanho")
    roupa$rouparel<-roupa$roupa/roupa$tamanho
    hist(roupa$rouparel, main="Roupa em obras do sec. XIX", ylab="Número de obras", xlab="Frequência relativa de palavras de roupa")
    	

  2. Faça um mosaico das obras da Literateca relativas às seguintes características: variante, género do autor, e séc. XIX/séc XX. Para isso usa-se o distribuidor
    ?decada=/^1[89].*/ ?variante=/(PT|BR)/ obra variante sexo decada
          
    Depois, no R, precisamos de adicionar uma característica chamada século, calculada a partir da década:
    seculo<-function(x) {
    trunc((x-1801)/100)+19}
    obradecada<-read.table("distobravariantesexodecada.tsv")
    colnames(obradecada)<-c("obra","tamanho","variante","sexo","decada","lixo","lixo")
    obradecada$decada<-as.numeric(as.character(obradecada$decada))
    obradecada$seculo<-seculo(obradecada$decada)
    mosaicplot(~sexo+variante+seculo,data=obradecada)
    mosaicplot(~seculo+sexo+variante,data=obradecada, main="Obras brasileiras e portuguesas dos séculos XIX e XX") 
    	

  3. Refaça a figura das emoções de vários autores. (A figura está neste poster.) Para um autor
    juldin<-read.table("emosJulDin.R")
    colnames(dinis)<-c("emo","quant")
    pie(dinis$quant, labels=dinis$emo, main="Paleta emocional de Júlio Dinis")
    
    Para colocar seis numa mesma figura
    par(mfrow=c(2,3)
    etc
          
  4. Faça um diagrama de caixa desses mesmos autores em relação a duas emoções à sua escolha. Escolho amor e ódio, e seleciono os romances de Machado de Assis e de Camilo Castelo Branco. No AC/DC, podia-se fazer quatro procuras, cada uma guardada num ficheiro diferente...
    Procura: [autor="CamCBra" & classe="Prosa:romance.*" & sema=".*amor.*"]
    Distribuição de obra
    Procura: [autor="CamCBra" & classe="Prosa:romance.*" & sema=".*odio.*"]
    Distribuição de obra
    Procura: [autor="MacAss" & classe="Prosa:(romance|novela).*" & sema=".*odio.*"]
    Distribuição de obra
    ...
    	
    e depois eventualmente juntar no R se quiséssemos, ou fazer um diagrama de caixa de cada, garantindo, para comparar visualmente, que todas as figuras tinham os mesmos limites no eixo dos YY
    amorMA<-read.table("amorMacAss.R")
    colnames(amorMA)<-c("obra","amor","tamanho")
    amorMA$amorrel<-amorMA$amor/amorMA$tamanho	
    boxplot(amorMA$amorrel,main="Amor em Machado de Assis")
    odioMA<-read.table("odioMacAss.R")
    colnames(odioMA)<-c("obra","odio","tamanho")		
    odioMA$odiorel<-odioMA$odio/odioMA$tamanho
    boxplot(odioMA$odiorel,ylim=c(0,.01), main="Ódio em Machado de Assis")
    			  
    		  

    Mas se quiséssemos fazer para muitos autores, ou para muitas emoções, seria mais eficiente obter tudo ao mesmo tempo usando o distribuidor:

    	?sema=/.*(amor|odio).*/ ?autor=/(CamCBra|MacAss)/ ?classe=/Prosa:romance/ obra sema
    	?autor=/CamCBra|MacAss/ obra autor
    
    E tentar processar o resultado no R
    amorodio<-read.table("distamorodio2autores2.tsv")
    colnames(amorodio)<-c("obra", "lixo", "emoexata", "emos","lixo")
    amorodio$obra<-factor(amorodio$obra)
    obras<-read.table("tamobraautor.tsv")
    colnames(obras)<-c("obra","tamanho","autor","lixo","lixo")
    obras$obra<-factor(obras$obra)
    obras$autor<-factor(obras$autor)
    emosobras<-merge(amorodio,obras,by.x=c("obra"), by.y=c("obra"))
    emoobra<-emosobras[,c("obra","tamanho", "emoexata","autor", "emos")]
    emoobra$emorel<-emoobra$emos/emoobra$tamanho
    emoobra$emo<-"0"
    emoobra[grep("amor", as.character(emoobra$emoexata), perl=TRUE),]$emo<-"amor"
    emoobra[grep("odio", as.character(emoobra$emoexata), perl=TRUE),]$emo<-"odio"
    attach(emoobra)
    boxplot(emorel~autor+emo)
    

    ( Nota: ainda é preciso somar os casos de amor e ódio por obra, não tive tempo.)

  5. Teste a hipótese de que há diferença no número de cores entre o romantismo e o realismo. No AC/DC, fiz duas procuras, e juntei a informação de realismo e romantismo no ficheiro corescola.R.
    Procura: [escola=".*realismo.*" & escola!=".*romantismo.*" & sema="cor"]
    Distribuição de obra
    Procura: [escola=".*romantismo.*" & escola!=".*realismo.*" & sema="cor"]
    Distribuição de obra
    	
    No R
    cor<-read.table("corescola.R")
    colnames(cor)<-c("obra","cores","tamanho","escola")
    cor$obra<-factor(cor$obra)
    cor$escola<-factor(cor$escola)			 
    cor$correl<-cor$cores/cor$tamanho
    boxplot(cor$correl~cor$escola)
    t.test(cor$correl~cor$escola)	    
    
    A diferença é significativa com um valor p de 4.804e-05.

Agradecimentos

Obrigada à Joana Portela por várias correções e perguntas pertinentes.

O projeto BILLIG é financiado pelos EEA grants:


Última atualização: 10 de dezembro de 2020.