O documento apresenta uma introdução ao processamento de linguagem natural, abordando seus níveis de análise, aplicações, modelos, recursos e técnicas como tokenização, stemming, POS-tagging e análise sintática e semântica.
1. Processamento de Linguagem Natural
Primeiro Encontro em Computa¸c˜ao Semˆantica - Tutoriais
Danilo S. Carvalho
Hugo C. C. Carneiro
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
2. O que ´e
Ramo de estudo resultante da uni˜ao de esfor¸cos entre a
Ciˆencia da Computa¸c˜ao, Ciˆencia da Informa¸c˜ao e Lingu´ıstica.
Compreende a an´alise, manipula¸c˜ao e gera¸c˜ao da linguagem
humana atrav´es de computador.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
3. N´ıveis da an´alise: A informa¸c˜ao desejada
A informa¸c˜ao contida no texto pode ser analisada de mais de
um ponto de vista.
Do que fala?
Quem fala?
Como fala?
Podemos descobrir o assunto de um texto olhando apenas
para uma senten¸ca?
Podemos descobrir o autor de um texto observando todas as
suas palavras?
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
4. N´ıveis da an´alise: Discurso X palavra
A sequˆencia de senten¸cas ou de documentos inteiros pode ser
t˜ao importante quanto as sequˆencias de palavras que os
formam.
Da palavra ao discurso, h´a informa¸c˜ao ´util a ser obtida.
Entretanto, as t´ecnicas tendem a ser diferentes para cada
n´ıvel.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
5. N´ıveis da an´alise: Unidade de significado
´E aquilo ao qual podemos atribuir um significado. Exemplos:
A opini˜ao de uma carta sobre a pol´ıtica econˆomica atual
(discurso).
Uso de voz passiva para amenizar um fato contundente
(senten¸ca).
Nome (palavra).
A escolha da unidade de significado depende da informa¸c˜ao
desejada.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
6. Aplica¸c˜oes do Processamento de Linguagem Natural
Corre¸c˜ao de texto (ortografia, gram´atica)
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
7. Aplica¸c˜oes do Processamento de Linguagem Natural
Classifica¸c˜ao de textos
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
8. Aplica¸c˜oes do Processamento de Linguagem Natural
Extra¸c˜ao de informa¸c˜oes
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
9. Aplica¸c˜oes do Processamento de Linguagem Natural
Outros
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
10. Modelos para a linguagem
Representa¸c˜ao da l´ıngua humana para o computador deve ao
mesmo tempo manter a expressividade e flexibilidade, mas
proporcionando a consistˆencia matem´atica necess´aria para
aplica¸c˜ao de algoritmos diversos.
Essa ´e uma tarefa dif´ıcil, para a qual existem muitas respostas
poss´ıveis, mas nenhuma definitiva.
Modelos computacionais para a l´ıngua podem ser classificados
em dois tipos principais:
Estat´ısticos
N˜ao estat´ısticos
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
11. Modelos estat´ısticos
n-gramas: Cada sequˆencia de n termos possui uma
probabilidade de ocorrer. Logo pode-se prever o pr´oximo
termo de uma sequˆencia conhecendo os anteriores.
Posicionais: Cada termo (ou sequˆencia) possui uma
probabilidade de ocorrer dado sua posi¸c˜ao relativa aos outros
termos.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
12. Modelos n˜ao estat´ısticos
Simb´olico: Cada termo (ou
sequˆencia) ´e associado a um s´ımbolo,
cujas intera¸c˜oes s˜ao definidas por
regras.
Vetorial: Cada termo, sequˆencia ou
documento ´e associado a uma
coordenada de um espa¸co
multidimensional. Por exemplo, um
documento pode ser representado por
um vetor, onde as coordenadas s˜ao
preenchidas com as frequˆencias
relativas de ocorrˆencia dos termos.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
13. Recursos
Listas de palavras
Stopwords
Palavras muito comuns
Pouca relevˆancia
e, mas, como, n˜ao, tudo, cada, pode, deve, ´e, h´a, um, a, o
Mais stopwords dependendo do contexto
computador, m´aquina, c´odigo
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
16. Recursos
Tesauros
Listagem de palavras agrupadas de acordo com similaridade
sinˆonimos, antˆonimos
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
17. Recursos
Wordnet
Banco de dados l´exicos
Termos agrupados em synsets
hipern´ımia (gato → felino)
hipon´ımia (felino → le˜ao)
coordena¸c˜ao (gato ↔ le˜ao)
meron´ımia (casa → porta)
holon´ımia (porta → casa)
tropon´ımia (dialogar → falar)
implica¸c˜ao (roncar → dormir)
partic´ıpios (cansado → cansar)
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
18. Recursos
Corpora
Conjuntos grandes e estruturados de textos
anotados / n˜ao anotados
textuais / orais
corpora paralelos
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
19. Recursos
Treebanks
Corpora com anota¸c˜oes sint´aticas e/ou semˆanticas
Mais conhecido/utilizado → Penn Treebank
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
20. Tokeniza¸c˜ao
Detec¸c˜ao de termos
Palavras com muitos termos
Donaudampfschifffahrtsgesellschaftskapit¨an
Donau dampf schiff fahrts gesellschafts kapit¨an
Termos que possuem pontua¸c˜ao em sua composi¸c˜ao
siglas, quantias etc
Scriptio continua
Foto por Vincent Ramos, sob licen¸ca da GNU Free Documentation License.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
21. Stemming
Qual radical de uma palavra?
Como extrair sua informa¸c˜ao relevante?
menino / menina
cantar / canta / canto
felizmente / felicidade / feliz
inconstitucionalissimamente / constitucional / constitui¸c˜ao
Um stemming mal feito pode prejudicar a extra¸c˜ao de
informa¸c˜oes relevantes
idade / ir / i ?
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
22. POS-tagging
Classifica¸c˜ao gramatical
As palavras mais comuns podem ter diversas classes
a, o, se, que, como
Classifica¸c˜ao depende do contexto
Como devo proceder?
Ele ´e alto como um poste.
Como arroz todo dia.
Palavras novas surgem o tempo todo
linguagem t´ecnica, jarg˜oes, neologismos, g´ırias
classes abertas (substantivos, adjetivos, adv´erbios e verbos)
classes fechadas (preposi¸c˜oes, conjun¸c˜oes, pronomes etc)
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
23. Segmenta¸c˜ao de senten¸cas
Detec¸c˜ao de limites entre senten¸cas
Ponto (.) e uso de letras mai´usculas ajudam a descobrir o
limite de uma senten¸ca, contudo:
Senten¸cas com termos que possuem pontua¸c˜ao: Fechei um
acordo com o Sr. Silva.
Senten¸cas aninhadas: ”Nos encontramos amanh˜a.”, disseram
ao se despedir.
Textos mal pontuados
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
25. An´alise sint´atica
Profunda
Identifica¸c˜ao de toda deriva¸c˜ao sint´atica at´e o n´ıvel de classes
gramaticais
Determina¸c˜ao de n´ucleos e adjuntos dos sintagmas
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
26. Entidades nomeadas
Nomes, datas, quantias etc
Entidades nomeadas podem ser compostas por muitos termos
P˜ao de A¸c´ucar
Rep´ublica Federativa do Brasil
Pode conter pontua¸c˜ao
1,99%
23:59:00
D. Pedro I
Pode conter numerais e letras ao mesmo tempo
C3PO
W3C
Algumas entidades nomeadas, `a primeira vista, podem parecer
n˜ao concordar com os termos adjacentes
As mil e uma noites ´e um livro muito conhecido.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
27. Resolu¸c˜ao de co-referˆencias
An´aforas
Jo˜ao cuida muito bem de seu c˜ao. Este, por sua vez, tamb´em
o adora.
A bab´a cuida do bebˆe doente. Ela est´a muito preocupada,
pois ele n˜ao para de chorar.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
28. Significado: Modelos Semˆanticos
S˜ao os modelos lingu´ısticos usados quando a informa¸c˜ao
desejada ´e o significado dos termos do texto.
Sequˆencias, s´ımbolos, regras, posi¸c˜oes ou vetores destinam-se
a elucidar o sentido do texto em vez da estrutura.
Podem conter um aspecto adicional: rela¸c˜oes semˆanticas.
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
29. Significado: Rela¸c˜oes semˆanticas
Expressam as intera¸c˜oes existentes entre o significado de duas
ou mais palavras os express˜oes.
Permitem aproximar textos estruturalmente diferentes, mas
pr´oximos em significado.
Exemplo:
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural
30. Processamento de Linguagem Natural
Primeiro Encontro em Computa¸c˜ao Semˆantica - Tutoriais
Danilo S. Carvalho
Hugo C. C. Carneiro
Danilo S. Carvalho Hugo C. C. Carneiro
Processamento de Linguagem Natural