Automatizando a Conf..

Propaganda
Automatizando a Confecção de Exercícios
Cláudio C. Gonçalves1 (UnB)
Resumo:
Este artigo apresenta um software aplicativo cuja finalidade é elaborar
automaticamente exercícios gramaticais para uso em ensino de língua
estrangeira. Sua implementação usa técnicas de processamento de
linguagem fundadas nos pressupostos teóricos da estatística bayesiana,
técnicas de linguística de corpus e de aplicativos de busca de dados. O
aplicativo busca sentenças em um corpus elaborado a partir de conteúdo
de portais da internet, armazena e analisa gramaticalmente o conteúdo
linguístico desses portais e organiza-os de acordo com os pontos
gramaticais que exibem para depois transformá-los em exercícios.
Palavras-chave: aplicativo, língua estrangeira, exercícios gramaticais.
Abstract:
This article presents an application which automatically elaborates
grammatical exercises for use in foreign language education. It uses
techniques from statistical natural language processing, corpus linguistics
and from search applications. It searches for sentences in a corpus of
sentences scraped from selected websites, stores and analyses their
contents grammatically. It then organizes its sentences according to their
grammatical features and relates them to items in the syllabus to which
those features are interesting. The sentences are presented to the
learner/user after being transformed into exercises.
Palavras-chave: software, foreign language, grammatical exercises.
1
Cláudio C Gonçalves. Professor Doutor
Universidade de Brasília
Departamento de Letras Estrangeiras e Tradução.
[email protected]
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-1-
Introdução
Este artigo descreve um software aplicativo cuja finalidade é elaborar
automaticamente exercícios gramaticais para uso em ensino de língua estrangeira.
Esse aplicativo tem como finalidade servir como um livro de exercícios eletrônico
seja para uso durante um curso de língua estrangeira (como livro de tarefa, de
exercícios extras ou, em sala, em um quadro interativo, por exemplo), seja para
uso independente (por autodidatas etc.). Sua atual implementação só processa
sentenças em língua inglesa e, consequentemente, oferece exercícios para
aprendizes para língua inglesa. Está prevista a inclusão de suporte para outras
línguas seguindo o mesmo modelo em extensões futuras.
Entre os fatores que motivaram o empreendimento de elaborar esse gerador
automático de exercícios está a constatação que aprendizes motivados de línguas
estrangeiras sempre estão interessados em mais oportunidades de interação na
língua estrangeira. Uma dessas formas de interação se dá através de exercícios
gramaticais. No entanto, a elaboração de tais exercícios demanda planejamento,
tempo e dinheiro. Assim, o aprendiz que deseja ter exercícios além daqueles que
já adquiriu com seu livro didático frequentemente precisa procurar aqueles que são
mais adequados ao seu currículo e incorrer em novos gastos para adquiri-los.
Por outro lado, constata-se que a disseminação do uso da rede mundial de
computadores tornou público um volume sempre crescente de exemplares de uso
de línguas naturais e que, nos últimos 20 anos, o processamento de línguas naturais
tem progredido a passos largos.
Temos, então, uma condição onde há de um lado o aprendiz com
necessidades e de outros recursos brutos (língua em uso) que, mediante atividades
de curadoria e tratamento, potencialmente poderiam suprir esse tipo de
necessidade. Nasceu da observação dessa condição a pergunta: como seria possível
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-2-
usar os recursos linguísticos disponibilizados pela rede mundial de computadores
para suprir aprendizes de língua estrangeira com exercícios?
Escolheu-se tentar uma resposta prática e concreta a essa pergunta na forma
de:
1. Linguística de corpus e Processamento de linguagem;
2. Tecnologia de busca de dados;
para o tratamento e curadoria dos dados da língua em uso e transformação desses
dados em exercícios passíveis de correção pelo próprio sistema.
O restante do artigo está dividido da seguinte maneira. Na seção
‘Metodologia e Implementação’ descrevemos a arquitetura geral do sistema
fazendo paralelo com a arquitetura geral de sistemas de busca de dados (inglês,
search engines). Na seção seguinte, apresentamos as diferenças entre os sistema
gerador
de
exercícios
e
o
gerador
de
exercícios
enquanto
ilustramos
exemplarmente o percurso de processamento de dados linguísticos desde o formato
bruto em HTML em um página da web até o formato de exercício. Na seção final,
comentamos sobre o potencial do uso de ferramentas nos moldes da que
apresentamos e algumas limitações da presente implementação.
Metodologia e Implementação
Para descrever a arquitetura geral do sistema, vamos partir de uma analogia
com o uso de um exercício por um aprendiz de língua estrangeira. Vamos tentar
descrever sistematicamente o processo que vai da concepção de um exercício
gramatical até sua disponibilização ao aprendiz de língua estrangeira em livro. Ou
seja, no esquema “tradicional”, fora do mundo digital. Esse modelo serve como
guia para a elaboração da ferramenta geradora para o mundo digital.
Primeiro, Podemos dividir o processo de confecção em dois subprocessos
menores: aquele de elaboração do exercício e aquele de busca/escolha.
Tipicamente, quando se trata de exercícios em livros, a elaboração é feita por
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-3-
autores e a busca e escolha por professores ou pelo próprio aluno. Vejamos cada
um deles.
O processo da elaboração dos exercícios pode ser desdobrado em quatro
fases: seleção 2, análise, organização e transformação de sentenças-fonte. Onde
entendemos como sentenças-fonte sentenças que ocorrem em um corpus, passíveis
de fornecerem elementos (itens lexicais ou sintagmas) que venham a ser
transformados em exercícios.
Vista a elaboração, resta a fase de busca e escolha. Em livros didáticos,
exercícios são escolhidos também pelos autores que os inserem como atividades em
uma unidade do livro, isso trivializa a tarefa de busca e escolha para alunos e
professores. O aluno faz os exercícios da unidade em que se encontra. Mas,
frequentemente, professores de línguas estrangeiras e/ou os próprios aprendizes
escolhem exercícios em outras fontes, por exemplo, no caso do inglês, séries como
a English Grammar in Use, Murphy (20XY). É importante observar que, em ambos
os casos, a escolha e busca é guiada pelo programa de curso. Ou seja, o motivo
pelo qual um autor insere um exercício em uma unidade, o motivo pelo qual um
aluno ou professor busca e escolhe um exercício em outra fonte é suscitada por sua
pertinência a um ponto do programa pedagógico.
Aceitando uma sistematização nos moldes dos processos descritos acima, a
elaboração de um aplicativo que entregue os mesmos produtos - exercícios
gramaticais - depende de uma maneira de descrever esses mesmos processos
algoritmicamente. Na verdade, há tipos de sistemas de uso muito difundido cuja
descrição em alto nível é bastante parecida com a descrição que fizemos do
processo de disponibilização de exercícios: trata-se dos aplicativos de busca,
populares na internet. Por exemplo, aqueles oferecidos por Google, Yahoo e Bing
além de muitos outros de menor escala oferecidos por portais de jornais,
universidade entre outros. Nesses serviços, o usuário faz uma consulta (query) e o
2
Poderia também ser o caso que a sentença fonte fosse inventada e não escolhida de um repositório de ocorrências. Mas
dada a maneira como formulamos o problema, esse caso não nos interessa no momento.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-4-
sistema devolve documentos relacionados a essa consulta. Para explicitar o
paralelo entre o processo de busca e a disponibilização de exercícios, vejamos a
arquitetura de um aplicativo de busca genérico.
Figura 1: Arquitetura de um aplicativo de buscas genérico
Em um aplicativo de busca, tipicamente temos dois lados. Um lado recolhe
conteúdo de algum repositório e o armazena. O outro lado tem acesso a esse
conteúdo armazenado mediante consultas. O sistema que executa a busca avalia a
adequação dos documentos armazenados aos termos da busca efetuada pelo
usuário. Para tanto, usa uma métrica de relevância pré-definida. Os resultados são
exibidos para o usuário a partir do documento com maior pontuação de relevância
em ordem decrescente de pontuação.
Vejamos agora, algumas particularidades que um sistema gerador de
exercícios teria em relação ao um motor de busca geral. Essas particularidades são
resultantes da tentativa de adaptar a arquitetura de motores de busca ao que
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-5-
descrevemos acima chamando de processo “tradicional” de disponibilização de
exercícios.
Há basicamente três diferenças em relação aos motores de busca
tradicionais. Primeiramente, a consulta não é feita pelo usuário final (o/a aprendiz
de língua estrangeira) nem tampouco são livres os termos aceitos em consultas. Em
segundo lugar, os itens recuperados na busca serão sentenças ao invés de o
conteúdo total de um documento. Terceiro, a medida de relevância dos itens
recuperados a uma consulta efetuada não leva em conta o número de ocorrências
dos termos da consulta em cada um desses itens. Comentamos cada uma dessas
diferenças nos parágrafos seguintes.
Em serviços gerais de busca, a fase que chamamos de busca e organização
tem como escopo o conteúdo total das páginas da rede mundial de computadores
(ou algum subconjunto delas). Em um serviço de geração de exercícios, o escopo da
busca e organização se restringe ao conteúdo de linguístico de portais
selecionados.
Em serviços gerais de busca, a consulta é feita por um usuário, por exemplo,
digitando alguns termos em um campo de texto como o do Google. No gerador de
exercício, a busca não será feita pelo usuário. Ao invés disso, será disponibilizada
uma lista de nomes de termos de busca. Esses itens correspondem aos termos de
busca aceitos pelo sistema. O usuário pode escolher um desses itens ao que o
sistema responderá exibindo o resultado dessa busca, que terá sido feita
previamente à requisição do usuário. Note que isso se espelha na busca e escolha
do processo “tradicional” de disponibilização de exercícios que descrevemos
acima. Lá, ressaltamos que a busca e escolha de exercícios era determinada pela
lista de pontos do programa de curso.
Além disso, vimos que, em motores de busca genéricos, para se medir a
relevância conta-se o número de ocorrências, nos documentos armazenados, dos
termos da consulta feita pelo usuário. A disponibilização dos documentos
recuperados se dá na ordem decrescente da pontuação obtida nessa métrica. No
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-6-
entanto, a quantidade de ocorrências de uma determinada propriedade gramatical
em um documento, ou em uma sentença, não significa necessariamente que
ele/ela sejam mais relevantes. Na verdade, em muitos casos pode mesmo ser o
contrário: que um número alto de ocorrências torne o documento ou sentença
menos relevante. Uma vez que a finalidade de exercícios gramaticais é familiarizar
e habituar um aprendiz com alguma propriedade estrutural da língua, parece ser
desejável que cada sentença apresentada tenha uma única ocorrência da
propriedade em questão para maior clareza e simplicidade. Resta então como
métrica de relevância que a propriedade estrutural ocorra da maneira mais
próxima à sua descrição efetuada na consulta.
A disponibilização de exercícios e a busca de dados na web podem ser vistos
agora como diferentes formas de uma mesma tarefa de buscar de dados que, por
sua vez, consiste de dois subsistemas, um de busca e organização dos dados
propriamente ditos e outro de consultas (queries).
O percurso do HTML ao exercício estrutural
A seção anterior sugeriu que uma possível resposta à nossa pergunta inicial –
como automatizar a confecção de exercícios? – é seguir a arquitetura de motores
de busca. Nesta seção vamos mostrar como os componentes de cada um dos
subsistemas da arquitetura geral de motores de busca precisam ser adaptados para
a tarefa de confeccionar exercícios automaticamente.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-7-
Figura 2 – Busca para gerador de exercícios
Na Figura 2 vemos a arquitetura básica do gerador de exercícios como uma
modificação da arquitetura do motor de busca (Figura 1). A diferença mais
significativa é que a consulta não tem interface para o usuário, mas para um
sistema de regras de busca baseado no conteúdo de um curso. Nos parágrafos
seguintes comentamos com um pouco mais de detalhe o que ocorre em cada uma
das fases do processamento.
A obtenção de conteúdo da web, na implementação atual, funciona visitando
(crawling)
página
de
websites
copiadas
(scraped)
por
uma
ferramenta
independente do sistema: HTTrack Website Copier. Efetivamente, o q o HTTrack
faz é copiar um site inteiro para dentro de um HD. Esses sites são então
armazenados como pastas de arquivos.
A fase de estruturação3 do conteúdo começa pela eliminação de HTML,
Javascript, conteúdos gráficos, em áudio ou em vídeo de cada página. O objetivo é
que cada página seja reduzida a textos em língua natural. Além disso, há também
de se excluir ocorrências linguísticas não interessantes, por exemplo, aquelas que
se repetem em todas as páginas de um portal, como slogans comerciais. O próximo
3
Nas seções anteriores, por questão do objetivo generalista deste artigo e de espaço, não discutimos a estruturação de dados
feita por motores de busca. Ela é muito diferente do que esboçamos aqui para o gerador de exercícios. Os/As interessados/as
encontrarão o assunto em detalhes no primeiro capítulo de Manning,Raghavan & Schütze (2008).
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-8-
passo da estruturação é segmentar esses arquivos em sentenças. Embora seja
trivial para uma pessoa, essa tarefa exige alguma sofisticação computacional.
A fase de análise em um aplicativo gerador de exercícios consiste em
analisar linguisticamente as sentenças de cada página. Para se analisar essas
sentenças usam-se técnicas de processamento estatístico de línguas naturais. As
sentenças são passadas a um anotador de classes gramaticais. Ou seja, um
programa que recebe palavras, decide a que classe gramatical pertencem e as
associa à (ou as anota com) às respectivas classes. Previamente à sua execução, o
anotador é treinado no corpus de Brown. O corpus de Brown é um repositório de
textos em inglês cujas sentenças tiveram suas palavras rotuladas com as
respectivas classes por pessoas com grau de conhecimentos gramaticais adequados
à tarefa. O treinamento do anotador no corpus de Brown consiste na inspeção,
pelo programa anotador, de cada rótulo atribuído a cada palavra do corpus de
Brown e no armazenamento dessa informação. Ao receber novas sentenças para
análise, a cada nova palavra, o anotador consultará a(s) classe(s) gramatical(is)
associada a essa palavra no corpus de Brown. Então decidirá por atribuir a
anotação mais provável dentre as anotações candidatas4.
As sentenças anotadas com classes gramaticais são indexadas para que,
quando posteriormente recuperadas, possa ser identificada a página de onde foram
extraídas e sua posição no texto a que pertencem. O banco de dados de sentenças
anotadas pode agora ser objeto de consulta. Nos parágrafos seguintes descrevemos
o processo de consulta em linhas gerais.
Como foi dito acima, a consulta do gerador de exercício não é feita por
usuários do sistema e está limitada a itens do programa de um curso. Para efetuar
essas consulta o gerador de exercícios possui uma lista dos pontos gramaticais dos
cursos para os quais serão oferecidos exercícios.
4
Para mais detalhes sobre rotulação de classe gramatical, ver o caoítulo 5 de Bird, Klein & Loper (2009).
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
-9-
As buscas devem recuperar sentenças relevantes aos pontos gramaticais dos
cursos, para isso, na presente implementação estabeleceu-se uma lista de tipos de
termos de busca que devem ser especificados. O primeiro item da lista especifica
um critério mínimo que as sentenças devem cumprir para que sejam recuperadas.
Os demais itens reduzem esse conjunto de sentenças recuperadas adicionando
novos critérios. A lista estabelece uma sequência de buscas.
A seguir listamos os
principais e explicamos brevemente a função de cada um.
Identificação da construção gramatical: A identificação da construção
gramatical é feita em duas fases. A primeira tenta reconhecer o tipo de construção
buscada pelas palavras que nela ocorrem. A segunda tenta reconhecê-las pelas
anotações gramaticais que o gerador deve procurar. É usado o mesmo padrão de
anotações usado pelo anotador de classes gramaticais.
Contexto sintático: Uma vez encontradas ocorrências de palavras e/ou das
classes gramaticais que potencialmente identifiquem o ponto gramatical desejado,
a consulta deve verificar o contexto sintático em que essas palavras ocorrem. Isso é
feito estabelecendo um padrão de anotação gramatical das palavras que ocorrem à
esquerda e à direita da construção gramatical buscada. O contexto sintático
também instrui o buscador onde segmentar a sentença recuperada, fazendo que na
prática sejam recuperados sintagmas ao invés de sentenças inteiras.
Extensão: por motivos práticos, a busca limita também o número de
palavras dos sintagmas em que a construção gramatical buscada ocorre. Isso evita
sintagmas excessivamente longos que causem problemas de visualização.
Exemplo de Funcionamento
Nesta seção ilustramos o processo seguido pelo gerador de exercícios com
um simples.
Suponhamos um curso para iniciantes que aborde, por exemplo, a
conjugação do presente do verbo to be. Nossa finalidade é recuperar sentenças que
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 10 -
possam ser apresentadas para o usuário em forma de exercícios de lacuna para
praticar a conjugação desse verbo. Queremos recuperar sentenças em que ocorrem
a forma am, are ou is. Em (1) temos um exemplo do que encontramos em páginas
web (com a complexidade tanto do HTML quanto língua natural drasticamente
simplificada).
A partir do acesso ao conteúdo de (1), a tarefa seria limpar o HTML e
estruturar o conteúdo em sentenças para a forma que vemos em (2).
(1)
<html>
<p> Mary has a little lamb and it’s cute and cuddly. </p>
<p> Mary is a little lamb but doesn’t know about it. </p>
<p> Mary saw a little lamb, then she ate it. </p>
<p> Mary’s little lamb lives in a farm. </p>
</html>
Em (2) vemos o conteúdo linguístico da página já separado em sentenças com
índices para identificação. Uma vez que o objetivo é encontrar ocorrências de is, o
primeiro critério que a sentença tem de cumprir para ser selecionada pelo
algoritmo de busca é ter uma ocorrência dessa forma verbal. Isso exclui a sentença
s3. Note que, erradamente, a sentença s4 não teria sido excluída nesta fase. Nessa
sentença ‘s não é uma contração de is, mas uma marca de genitivo. No entanto não
há como o sistema enxergar isso sem análise linguística.
(2)
[s1]Mary has a little lamb and it’s cute and cuddly.
[s2]Mary is a little lamb but doesn’t know about it.
[s3]Mary saw a little lamb, then she ate it.
[s4]Mary’s little lamb lives in a farm.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 11 -
As três sentenças restantes agora são anotadas com as classes gramaticais às quais
o anotador treinado no corpus de Brown decidiu que pertencem. No exemplo as
abreviações não correspondem àquelas usadas no corpus de Brown. Note que s4
agora pode ser excluída, uma vez que o ‘s foi anotado como genitivo devido ao
contexto sintático em que ocorre.
(3)
[s1]
Mary/N has/V3P a/ART little/ADJ lamb/N and/CC it/PPR ’s/V3P cute/ADJ
and/CC cuddly/ADJ.
[s2]
Mary/N is a/ART little/ADJ lamb/N but/CC does/V3P n’t/* know/BV
about/PRP it/PPR.
[s4]
Mary/N ’s/GEN little/ADJ lamb/N lives/V3P in/PRP a/ART farm/N.
Restam as sentenças s1 e s2. A especificação de contexto sintático para essa busca
especificaria como contexto sintático desejável para ‘s e is a posição entre um
elemento pronominal (PPR) ou nominal (N) a esquerda e um elemento adjetival ou
um elemento nominal acompanho de um adjetival à direita.
(4)
[s1]
Mary/PN has/HZ
a/DT little/ADJ lamb/N
and/CC [ it/PPR [’s/ [ [
cute/ADJ] and/CC cuddly/ADJ .
[s2]
[ Mary/PN
is a/DT little/ADJ lamb/N ] but/CC
does/DOZ n’t/* know/V
about/PRP it/PPR .
O resultado final da busca seriam então os sintagmas s1_1 e s2_2. A substituição
das formas do verbo be neles encontradas seriam substituídas com base na
identificação das formas com aquelas especificadas na busca. Entre os parênteses,
estão as respostas que seriam aceitas para cada sintagma.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 12 -
(5)
[s1_1] it ___ cute (is, ‘s)
[s2_1] Mary __ a little lamb (is, ‘s)
A busca dos demais tipos de sentenças que iriam compor o ponto gramatical, ou
seja aquelas com a demais formas do presente do verbo be, se dariam nos mesmos
moldes. Os resultados de cada uma delas seriam misturados para compor
sequências de exercícios.
Imagens do gerador em funcionamento
As figuras seguintes mostram fotos de tela de uma versão do sistema gerador de
exercícios que alimenta um portal em fase exeperimental. A figura 3 mostra a
página com a lista de pontos gramaticais. Cada uma delas correspondendo a uma
busca feita anteriormente.
Figura 3: Página com a lista de pontos gramaticais de um curso
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 13 -
Uma vez escolhido um item da lista, a página exibe uma série de exercícios. Na
próxima figura vemos uma série de exercícios que foi corrigida automaticamente.
Figura 4: Página com série de exercícios corrigidos
Na figura 5 vemos uma nova requisição de exercícios do mesmo ponto gramatical.
Note que o exercício errado na série anterior é retornado e que os demais são
diferentes dos oferecidos anteriormente.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 14 -
Figura 5: Página com nova série de exercícios
Conclusão
Neste artigo apresentamos um sistema para geração automática de
exercícios. Por buscar sentenças-fonte na rede mundial de computadores e usar
processamento automático de linguagem, esse sistema pode oferecer uma grande
quantidade de exercícios gramaticais suprindo em parte a necessidade de
exposição à língua estrangeira que seus aprendizes têm. A principal limitação do
sistema no momento é sua limitação a aspectos gramaticais das línguas.
Referências
BIRD, Steven; KLEIN, Ewan; LOPER, Edward. Natural Language Toolkit. Sebastopol:
O’Reilly Media, 2009.
MANNING, Christopher; SCHÜTZE, H. Foundations of statistical natural language
processing. Cambridge (MA): MIT Press, 1999.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 15 -
McCANDLESS, M.; ; Lucene in action. Stamford: Manning, 2010.
MURPHY, Raymond. English grammar in use. Cambridge: Cambridge University
Press, 2012.
PUSTEJOVSKY, James ; AMBER, Stubb. Natural language annotation. Sebastopol:
O’Reilly Media, 2012.
Universidade Federal de Pernambuco
NEHTE / Programa de Pós Graduação em Letras
CCTE / Programa de Pós Graduação em Ciências da Computação
- 16 -
Download