domingo, 17 de julho de 2011

Anotação de Papéis Semânticos

Vou falar um pouco aqui do assunto da minha pesquisa, a Anotação de Papéis Semânticos - mas pretendo manter o nível inteligível para leigos.

Em primeiro lugar, o que são papéis semânticos?

Analisando um texto conforme a gramática, podemos encontrar coisas que chamamos de sujeito, objeto direto, objeto indireto, adjuntos, etc. Alguns detalhes dessa classificação são dependentes da língua, mas de modo geral temos um funcionamento parecido.



Já os papéis semânticos são uma forma de ir um pouco além. Em vez de olhar só para a estrutura, eles determinam tipos de significado de cada elemento da oração. O exemplo a seguir é clássico da literatura da área:
João quebrou o vaso.
De acordo com a maioria das teorias, João assume o papel de Agente, ou seja, causador voluntário de uma ação, e o vaso o papel de Paciente, ou seja, quem ou o quê sofre a ação.

"Mas isso é a mesma coisa que sujeito e objeto direto!". Nesse caso, de fato é. Mas veja como agora as coisas ficam mais interessantes (e confusas):
O vaso quebrou.
Agora, o sujeito passou a ter o papel de Paciente. Temos mais variações parecidas:
  • João abriu a porta / A porta abriu.
  • Maria rolou a bola / A bola rolou.
  • Pedro cozinhou a carne / A carne cozinhou.
Mas:
João pintou a parede / A parede pintou.
Neste último exemplo, assim como na maioria dos verbos em português, não há essa possibilidade. Só uma ressalva, para complicar mais um pouco: "A parede pintou" é uma sentença válida se considerarmos que a parede é o objeto direto de pintar, e o sujeito está oculto. Imagine: Ele pintou muitas coisas, portas e janelas. Até a parede pintou. Mas seguindo o padrão do primeiro elemento ser o sujeito, a frase é inválida.

Esse tipo de coisa motivou linguistas a pensarem na relação que se estabelece entre a sintaxe (que diz respeito à forma da frase, à gramática) e a semântica (o significado em si). Frases muito parecidas às vezes querem dizer coisas totalmente diferentes, enquanto construções muito diversas às vezes significam praticamente a mesma coisa. Se quisermos que as máquinas comecem a compreender as línguas humanas, teremos que desenvolver alguma forma delas entenderem estas nuances.

Mas não acaba por aí. Outro grande problema dos papéis semânticos é a questão de quantos deles podem existir. Parece bastante intuitivo pensar em agentes e pacientes, mas a coisa fica confusa quando começamos a incluir outros papéis. Vamos ver mais um exemplo:
João comprou um presente para Maria.
No exemplo, Maria assume o papel que se costuma chamar de Beneficiário. Agora, quanto ao um presente, há menos consenso. Alguns pensam que como ele não sofreu nenhuma alteração, não pode ser tratado como o vaso do exemplo anterior, e por isso recebe o papel de Tema. Outros insistem em chamá-lo de Paciente, o que pode ser justificado por ele ter sofrido uma alteração de possuidor.

Mais exemplos, com comentários sucintos (quero tentar controlar um pouco o tamanho do post...)
  • João viu Maria. [Experienciador, Tema] (ver é um estímulo sensorial, não uma ação que se pratique) 
  • João assustou Maria. [Agente, Experienciador] (há que insistiria em Agente, Paciente)
  • A água vazou da represa para o rio. [Tema, Origem, Destino]
  • João discursou para uma grande audiência. [Agente, Destino (?)]
  • Maria acha que está certa. [Experienciador, Causa (?)] (a causa é "que está certa". Será que podemos chamar isso de Tema?)
  • Maria achou sua caneta. [Agente (?), Tema] (encontrar não é algo voluntário - seria melhor então definir um papel como Experienciador de Evento Não-Sensorial??)
Olhando para esses exemplos, fica claro como é complicado definir uma nomenclatura consistente para os papéis. Mas... há luz no fim do túnel.

Uma teoria bem mais palpável e próxima de aplicações práticas são os frames de Fillmore. Essa teoria diz basicamente o seguinte: em vez de tentar criar um conjunto de papéis que serve para todas as orações possíveis e imagináveis, vamos agrupar as palavras que possuem significado semelhante em grupos (os frames) e criar um conjunto de papéis para cada grupo destes.

Assim, podemos definir, por exemplo, o frame de Comércio: aqui estão palavras como vender, comprar, trocar, pagar, vendedor, etc. Para essas palavras, faz sentido termos os papéis Vendedor, Comprador, Mercadoria, Moeda, entre outros.

Se um programa de computador é capaz de automaticamente identificar os papéis semânticos em um texto, temos algo muito interessante. Veja só: se ele lê a frase "João vendeu um carro para Pedro" e identifica que João é um Vendedor, um carro é Mercadoria, e Pedro é um Comprador, pode determinar que esta frase tem praticamente o mesmo significado que "Pedro comprou um carro de João".

Mais interessante ainda: Dado um grande texto, um sistema poderia responder a perguntas como: "quem comprou carros?", "para quais pessoas João vendeu carros?", ou "que coisas Pedro comprou?". Obviamente não precisamos nos restringir a compras de carros: idealmente, um sistema robusto lidaria com tantos frames quanto forem definidos. O que, em última análise, permitiria uma interpretação de textos a nível básico.

Numa postagem em breve, pretendo falar mais sobre sistemas que realizam a Anotação de Papéis Semânticos - sim, já existem sistemas assim para inglês, e disponibilizados gratuitamente por seus autores. A taxa de acerto deles normalmente chega perto de 80% (taxa de acerto em textos jornalísticos, e não nessas frasezinhas que eu dei de exemplo, que parecem coisa de quem tá aprendendo português). Dada a complexidade do tema, acho um resultado impressionante.

Interessante notar que o funcionamento desses sistemas é baseado em aprendizado de máquina. Isso quer dizer que, primeiro, o sistema lê uma grande quantidade de textos onde todos os papéis já estão marcados. Daí, ele "aprende" padrões, e identifica papéis semânticos em novos textos procurando pelos padrões aprendidos.

Isso reflete a forma como nós mesmos aprendemos a identificar papéis semânticos: nos acostumando com o uso da língua, desde que aprendemos a ouvir e falar.

3 comentários:

  1. Acho que pensar o processamento de frases por frames (que se configuram através de gêneros textuais, suportes, enfim, sei lá) pode ser mais produtivo mesmo... gostei do que li de semântica de frames, parece muito mais viável do que criar uma classificação "infalível" de papéis semânticos...

    ResponderExcluir
  2. Ótimo post. Estudo linguística e me interesso pelo tema. Parabéns.

    ResponderExcluir
    Respostas
    1. Obrigado! Sempre bom receber retorno de quem estuda linguística.

      Excluir