modular (e simples)
(d) Traduzir semanticamente para o inglês;
(e) Gerar a sentença em inglês;
(f) Sintetizar a fala em inglês.
Corretor: focalizado
Sumarizador: modular
etc.
Arquitetura de um Sistema PLN
Entrada: texto em português
Pré-processamento
- Tokenização
- Normalização
Análise morfológica
- Identificação de classes gramaticais
Análise sintática
- Parsing
Análise semâ
Mini-curso Processamento de linguagens naturais: pondo em prática
1. EIAGIME II
Encontro Internacional dos Alunos de
Graduação do IME-USP
Processamento de Linguagens Naturais
pondo em prática
William Daniel Colen de Moura Silva – http://www.ime.usp.br/colen
Engenharia da Computação – Poli-USP – 2006
Mestrando – Ciência da Computação – IME-USP
Orientador – Prof. Dr. Marcelo Finger
Desenvolvedor do Corretor Gramatical CoGrOO – http://cogroo.sf.net
2. Agenda
● Primeiro dia
– Motivação
– Sistemas PLN
● Segundo dia
– Componentes e arquitetura de um sistema
PLN
3. Agenda
● Terceiro dia
– Como definir uma gramática
– Métodos estatísticos
● N-Grama e Entropia Máxima
– A API do CoGrOO e do OpenNLP
● Quarto dia
– Desafio – implementar um programa com
processamento de linguagem
4. Processamento de Linguagens Naturais
(PLN)
Computadores executando tarefas interessantes que
envolvam linguagem humana
Comunicação homem-máquina
Melhorar comunicação homem-homem
etc
5. Exemplo: Agente de
Conversação
HAL 9000: computador do filme
“2001: Uma Odisseia no Espaço”,
de Stanley Kubrick, 1968
HAL 9000
Reconhecimento de voz, inter-
● Conversa fluente em inglês pretação de linguagem natural
Planejamento de diálogo e sín-
● Leitura de lábios tese de voz
Arthur C. Clarke estava otimista de quando teríamos
um sistema de diálogo como o HAL 9000. Mas
quanto longe estamos disso?
6. Exemplo: tradução automática
Babel Fish é uma espécie fictícia na
série O Guia do Mochileiro das Galáxias
(1978), de Douglas Adams.
● Traduz instantaneamente de qualquer linguagem
para qualquer linguagem.
● Seria factível um sistema que fizesse o mesmo que
o Babel Fish?
● Imagine poder traduzir para o nosso idioma as
centenas de milhares de páginas Web que estão
originalmente em idiomas que não dominamos,
como o chinês, por exemplo?
7. Exemplo: Sistema de respostas
Buscar usando Fazer uma
palavras chave pergunta completa
Fácil para
● O que significa “procrastinar”?
os buscadores
atuais ● Em que ano a USP foi fundada?
● Quantos cursos eram oferecidos na
Requer reso- Universidade naquele ano?
lução de infe-
rências, sínte-
● Quanta seda chinesa foi exportada
se e resumo de
informações de
para a Inglaterra no final do século 18?
diversas fontes. ● O que os cientistas pensam a respeito
da clonagem humana?
8. Outros exemplos
● Correção ortográfica
● Verificador gramatical
● Sumarização automática
● Categorização de textos
● Busca na Web usando ontologias
9. Conhecimento em
Processamento de Linguagem
Processador de Processador de
dados linguagem
Conhecimento da
língua
● Programa Unix “wc” - conta total de bytes, palavras e
linhas de um arquivo texto.
– Bytes e linhas → processador de dados
– Palavras → processador linguístico
10. Dave Bowan: Open the pod bay doors, HAL.
HAL: I'm sorry Dave, I'm afraid I can't do that.
HAL reconhece palavras Reconhecimento
de voz
em um sinal de áudio Fonética e
Fonologia
e gera áudio a partir de
Síntese de voz
sequências de palavras
Contrações: I'm, I can't
Morfologia
Interpreta variações: doors (plural)
HAL deve saber que “I'm I do, sorry
that afraid Dave I'm can't.” não teria
Sintaxe
sentido para Dave
11. Quanta seda chinesa foi exportada para a
Europa Ocidental no final do século 18?
Semântica Significado de “exportada”
das palavras ou “seda”
Europa Europa Oriental
Composição
Ocidental Sul da Europa
semântica
Significado de “final” quando
combinado a “século 18”
12. Ordem, afirmação ou pergunta?
HAL ainda deve interpretar o que Dave
deseja com a sentença -
– Ordem: HAL, open the pod bay door.
– Afirmação: HAL, the pod bay door is open.
– Pergunta: HAL, is the pod bay door open?
HAL é bem educado no uso do idioma:
– I'm sorry, I'm afraid Pragmática
(ou etiqueta
– I can't (no lugar de I won't) do diálogo)
13. Quantos cursos eram oferecidos na
Universidade naquele ano?
“naquele ano” → temos que
Resolução de examinar perguntas já respondidas
referências para determinar que falamos do ano
em que a USP foi fundada.
14. Ambiguidade: problema
fundamental de PLN
● “O sr. Mendonça chegou.”
– em “sr.”, o ponto marca fim de sentença?
● “Quem casa quer casa.”
– quando “casa” é verbo ou substantivo?
● “Eu preparei o pato dela.”
– Eu cozinhei o pato dela.
– Eu fiz o pato (de plástico?) dela.
20. Reconhecimento
de voz
● Exemplo: sistema 102
● Softwares:
– CMUSphinx - Carnegie Mellon University
Sphinx - http://cmusphinx.sourceforge.net -
precisa de treinamento
– IBM ViaVoice -
http://www.nuance.com/viavoice - Alemão,
Francês, Japonês, Inglês britânico e a
americano
22. Obrigado pela atenção!
http://www.ime.usp.br/colen
http://cogroo.sourceforge.net
http://ccsl.ime.usp.br
23. Origens
● 1ª grande tarefa → Tradução automática –
início da década de 50
– Um equívoco – TA requer tratamentos
sofisticados em todos o níveis de PLN
– TA foi relegado a um segundo plano por várias
décadas
● Tecnologia insuficiente
● Ingenuidade científica
● Decepção
24. Grande sacada
● Subdividir as tarefas em modelos ou teorias
mais simples
● Muitas dessas tarefas já eram conhecidas e
solucionadas por ferramentas já existentes:
– Autômatos
– Sistemas de regras
– Lógicas
– Modelos probabilísticos
(e outros)
25. Estratificação de Tarefas
● Pré-processamento (subdividir o texto)
– identificação de unidades fonéticas, lexicais,
– gramaticais, semânticas ou discursivas
● Classificar (etiquetar)
– morfossintáticas (PoS-tagger)
– sintáticas (Parser)
– semânticas (Parser Semântico ou Interpretador)
– discursivas (Parser discursivo)
– Tipos de etiquetas: símbolos (ADJ, NOM, etc.),
estruturas (árvore sintática), relações
(semânticas ou retóricas)
27. Fonético-fonológico
● Fonologia
→ efeito acústico das formas sonoras da
língua
● Fonética
→ descrição dos sons da fala e como esses
sons são reconhecidos e produzidos
● Unidade mínima: fonema
– Vogais, consoantes e semivogais
29. Fonético-fonológico:
complexidade
● Variação de timbre segundo características
regionais
– No Nordeste /e/ e /o/ em posição pré-tônica
são abertas, mas no Sul e Sudeste
fechadas: feriado, coração
● Posição na palavra: xadrez, êxodo, inox.
● Homófonas – mesma forma, diferente
significado:
– cem / sem
– voz / vós
30. Delimitador de sentenças
● Critério heurístico para tratamento de pontuação:
– Separadores absolutos – ponto final, ponto de
exclamação e de interrogação – sempre separa
– Separadores não relativos – virgula – não separa
– Separadores relativos unários – ponto e vírgula, dois
pontos, reticências, travessão único – separa se
tanto texto que precede como o que segue
contenha verbo finito
– Separadores relativos binários – parênteses,
travessão duplo – separa se tanto texto interior
quanto exterior contenham verbo finito
31. Delimitador de sentenças:
problemas
● Difícil determinar durante o pré-
processamento se a palavra é um verbo finito
● Abreviaturas: “O sr. Afonso chegou.”
● Sequências especiais: URLs, números etc.
– O meu e-mail é meu.email@email.com.br.
– O prêmio é de R$ 55.000,00.
33. Morfologia
● Morfemas
– Objeto de estudo da Morfologia
– Unidades mínimas dotadas de significado
(gramatical ou lexical)
– Carregam o mecanismo de flexão – indicam
gênero, número e conjugação (pessoa,
número, tempo, modo, aspecto etc)
34. Morfológicas
● Morfemas gramaticais – Definem marcadores da
flexão das palavras
– pedra: indica nomes terminados em “-a”
– macaca: indica gênero feminino
– procuramos: “-a” indica a primeira conjugação verbal,
“-mos” indica primeira pessoa do plural do presente
do indicativo
● Morfemas lexicais – Elementos associados a uma
base de formação de novas palavras
– operação: indica evento
– incerto: indica negação
35. Sintáticas
● Organização das palavras → define funções
gramaticais
– Distribuição das palavras não pode ser
aleatória para o que o texto tenha sentido
completo
● Categorias → sujeito, objeto direto,
complemento nominal, adjunto adverbial etc
● Classes gramaticais → substantivo, verbo,
adjetivo, pronome, numeral
36. Sintáticas: processo
1. Determinar as classes gramaticais e as categorias das
palavras de acordo a sequência que apareceram no
texto
2. Aplicar regras sintáticas para tornar as sentenças bem
formadas
37. Sintáticas: exemplos
● Considere “Ela foram a padaria hoje cedo.”
– Traços sintáticos dos itens lexicais
● ela → sujeito, pronome pessoal [singular]
● foram → verbo [de movimento]
● a padaria → objeto indireto
● hoje cedo → adjunto adverbial de tempo
– Regras para especificação de uma sentença bem
formada
● Concordância verbal obrigatória entre sujeito e
verbo
● Emprego da crase obrigatório em complementos
preposicionados do verbo (objeto indireto)
● Com estas informações: “Elas foram à padaria hoje
cedo.”
38. Sintáticas: estrutura argumental
● Aplicável principalmente aos verbos
● Caracteriza o número e os tipos de
argumentos exigidos
– pai exige um argumento → objeto é pai de
alguém
“meu pai está atrasado para o almoço”
– gostar exige dois argumentos, o último requer
preposição
“Benedito gosta de quiabo com pimentão”
39. Sintáticas: papel temático
● Aplicável aos verbos
● Confere características aos argumentos
“Aquele rapaz encontrou uma chave na rua.”
– aquele rapaz → agente
– uma chave → paciente
40. Semânticos
● Diversos níveis possíveis:
partes da palavra → palavra → sentença
● Dois tipos:
– Traços semânticos → sentido da palavra
– Conhecimento ontológico → objeto no mundo
● Exemplos
– Homem → entidade, concreta, animada, humana, macho
– Mulher → entidade, concreta, animada, humana, fêmea
– Grávida → propriedade, abstrata, humana, [ligada à] fêmea
– Prenha → propriedade, abstrata, não-humana, [ligada à]
fêmea
41. Pragmáticos-discursivos
● Se preocupa em responder (que estão além das
preocupações de PLN):
– Quem são os sujeitos envolvidos na situação
discursiva? O que querem dizer esses sujeitos?
Qual é o contexto da enunciação?
● PLN tem foco no texto, e não do discurso. Procura olhar
os marcadores discursivos e relações de coesão e
coerência textual
● Especialmente: manter coerências entre o texto em
análise e o que já foi descrito no decorrer do discurso
quanto as referências (ele, isso etc) e o contexto (hoje,
daqui a pouco, lá etc)
42. Arquitetura de um Sistema PLN
● Depende das especificidades da aplicação
● Tradutor automático: completo (e complexo)
(a) Extrair cada uma das palavras da sentença em
português;
Interpretação
(b) Analisar sintaticamente a sentença;
(c) Analisar semanticamente a sentença;
(d) Mapear o significado extraído em uma
representação adequada;
Geração
(e)Transformar a representação anterior em uma
sentença na língua de destino.
43. Arquitetura de um Sistema PLN
Vários sistemas possuem apenas uma das
fases
● Sistema de consulta a base de dados, sistema
gerador de respostas
– Sistemas desse tipo apenas geram texto,
precisam transformam o formato interno
(banco de dados, conhecimento) em texto
legível.
● Revisores gramaticais
– Precisa apenas extrair a estrutura sintática do
texto
44. Arquitetura de um Sistema PLN
● Interpretação
– Complexo pois sistema deve estar preparado
para todo tipo de texto.
– A complexidade é proporcional à
complexidade da língua
● Geração
– Mais simples pois se pode restringir o sistema:
por exemplo fixar o uso da voz passiva (não
é verdade para tradutores!)
45. Arquitetura: Interpretação
Sentença
Léxico Analisador Léxico
Tokens com traços
Analisador Sintático Gramática
Estrutura Sintática
Interpretação Modelo do
Analisador Semântico
Domínio
Representação Semântica
Analisador do Discurso
Representação Semântica Estendida
Modelo do
Analisador Pragmático
Usuário
Representação do Conteúdo e
dos Objetos Comunicativos
46. Analisadores
Léxico: Responsável pela identificação e separação dos
tokens, e também por associar atributos ou traços
gramaticais e/ou semânticos aos tokens.
Sintático: Recupera a estrutura sintática. Precisa de um
modelo da língua, em geral parcial, apenas com as
construções válidas de interesse para a aplicação.
Semântico: Interpretação de componentes da sentença
ou da sentença como um todo.
Discurso: Resolve referências do texto em análise com
o resto já analisado (por exemplo: ele, ela, este, aquela
ou ainda: a menina refererindo-se a Amélia) ou ainda
extratextuais (aqui, ali, hoje).
47. Ambiguidade
“É o pote creme de molho inglês.”
● Requer um modelo do mundo para decidir qual interpretação é
correta: “o pote de cor creme contém molho inglês” ou “o pote é
creme de molho inglês”.
“O menino viu o homem de binóculo.”
● Ambiguidade sintática: o menino usa o binóculo ou o homem?
“João procura um banco.”
● Ambiguidade lexical: procura um banco financeiro ou um lugar para
se sentar?
“João ganhou um binóculo do seu pai. O menino viu o homem de
binóculo.”
● O sistema poderia resolver a ambiguidade usando um analisador
de discurso.
48. Arquitetura de um Sistema PLN
Gerador
● Muitas vezes é feita a justaposição de partes
pré-definidas
● Outras vezes são usados canned texts, que
são textos definidos, mas com uma parte
variável que só é determinada em tempo de
processamento
49. Interpretação: Geração
Modelo do Recursos
Usuário Retóricos/Modelo Gramática
do Discurso
Seleção Planejamento Realização
Modelo de Texto
Domínio
Objetos
Léxico
Comunicativos
50. Geradores
Seleção do conteúdo: Selecionar os itens de
conhecimento que deverão fazer parte do texto. O
Modelo do Usuário determina a quantidade de
informação necessária.
Planejamento do texto: Adiciona especificações
retóricas, determina a sequência em que as informações
serão apresentadas e algumas vezes escolhe as
palavras que serão usadas. A saída é o plano do texto.
Realização do texto: realização gramatical do texto
produzido pelo planejador. Dois processos distintos:
determinação dos itens linguísticos e sua linearização.
51. Realização do Texto
● Escolha do vocabulário
● Escolha do estilo (prosa, diálogo etc)
● Escolhas léxicas, morfológicas e sintáticas
● Escolha de figuras de discurso (foco, ênfase etc)
● Escolhas que garantam coesão do discurso (uso de
uma marca de contraste entre componentes que
devem ser contrastados)
● Decisões de linearização (ordenação das
informações, concordância gramatical etc)
52. Obrigado pela atenção!
http://www.ime.usp.br/colen
http://cogroo.sourceforge.net
http://ccsl.ime.usp.br
53. Recursos linguísticos: Léxico
● Conjunto de palavras ou expressões da língua
associada
token = comer
Traço categoria = verbo | substantivo
gênero = feminino
número = singular
comida
token = comer
categoria = verbo
Categorias
Sintáticas
tempo = particípio passado
gênero = feminino
número = singular
54. Recursos linguísticos: Gramática
● Regras gramaticais definem as cadeias de
palavras válidas em uma língua natural
● Ex.: regras de produção do tipo S → SN SV
Para reconhecer uma sentença S reconheça
como seus componentes um sintagma
nominal, SN, seguido por um sintagma verbal,
SV.
Uma sentença S pode ser construída por um
sintagma nominal, SN, seguida por um
sintagma verbal, SV.
55. Modelo do Domínio
● Fornece o conhecimento sobre o domínio
específico da aplicação
● Exemplo
– senso comum
● Homem é mortal
● animado(homem)
– Modelo de domínio
● Geração → correto inter-relacionamento
semântico para evitar ambiguidades (manga:
fruta x parte de um vestuário)
56. Modelo do Usuário
● Modelo do contexto de ocorrência do discurso
para determinar como deve ser a estrutura do
texto (geração) ou ajuda a identificar o
significado textual (análise)
● Exemplo – quantidade de informação do texto
gerado depende do que é relevante para o
leitor.
57. Corpus
● É uma coleção de textos da linguagem natural
(falada ou escrita) que pode ser usado para
pesquisas e levantamentos estatísticos do
uso do idioma.
● Podem ou não ter anotações, que poderiam
ser geradas manualmente ou
automaticamente (revisadas ou não)
58. Corpus
● Usos -
– Estatísticas de uso da língua
– Modelamento das estruturas da língua
– Testes de desempenho
59. Exemplo CetenFolha
(Corpus de Extractos de Textos Electrónicos NILC /
Folha de S. Paulo)
SOURCE: CETENFolha n=210 cad="Brasil" sec="pol" sem="94a"
CF210-4 Avesso a um tratamento mais técnico de candidatos durante as
campanhas eleitorais, Covas protagonizou a mudança mais significativa no
horário eleitoral gratuito.
A1
STA:fcl
=PRED:adjp
==H:adj('avesso' M S)Avesso
==A<:pp
===H:prp('a')a
===P<:np
====>N:art('um' <arti> M S) um
====H:n('tratamento' <np-idf> M S)tratamento
====N<:adjp
=====>A:adv('mais' <quant> <KOMP>) mais
=====H:adj('técnico' M S) técnico
====N<:pp
=====H:prp('de') de
=====P<:np
======H:n('candidato' <np-idf> M P) candidatos
60. Testes de desempenho com
Corpus
1 2 3 4 5 6 7 8 9 10
Treinamento Treinamento
Treinamento Treinamento
62. Regras
● É possível modelar a gramática do idioma usando gramática
livre de contexto (tipo 2)
● Exemplo: considere a frase “A garota comprou um vestido”
63. S
Regras
Onde:
|______________________ S: Sentença
| | SN: Sintagma nominal
SN SV SV: Sintagma verbal
|___________ |___________ Art: Artigo
| | | |
Subs: Substantivo
| | | SN
Verb: Verbo
| | | |___________
| | | | |
Art Subs Verb Art Subs
| | | | |
A garota comprou um vestido
Regras de produção
S ::= SN SV
SV ::= Verb SN
SN ::= Art Subs
Art ::= a | um
Subs ::= garota | vestido
Verb ::= comprou
64. Regras: dificuldades
● As possibilidades de uso do idioma são
enormes
● Seriam necessárias milhares de regras
gerativas para modelar de forma
significativamente o idioma
66. N-Grama
● N-grama é um modelo da língua, gerado
estatisticamente, que tenta advinhar a próxima letra,
palavra ou etiqueta de uma sequência de acordo
com o que já foi analisado.
● Modelos da língua em n-gramas são usados em
diversas aplicações
– Reconhecimento de fala – quando a entrada tem
muito ruído, ou quando os sons das palavras
são muito similares entre si.
– Tradução automática – escolher a melhor
sequência de palavras quando existe mais
de uma opção correta
67. N-Grama: exemplo
“procurar uma casa”
– procurar → verbo infinitivo
– uma → artigo, numeral
– casa → verbo presente indicativo, substantivo
● Qual é a melhor sequência de etiquetas?
68. N-Grama: exemplo
● Dados extraídos do Corpus de treinamento:
– procurar
● verbo infinitivo (800 ocorrências)
– uma
● artigo (97 mil ocorrências)
● numeral (12 mil ocorrências)
– casa
● verbo presente indicativo (114 ocorrências)
● substantivo (6 mil ocorrências)
69. N-Grama: exemplo
● Trigramas extraídos do Corpus:
– verbo infinitivo + numeral + substantivo
● 237 ocorrências
– verbo infinitivo + numeral + verbo
● 31 ocorrências
– verbo infinitivo + artigo + substantivo
● 46 mil ocorrências
– Verbo infinitivo + artigo + verbo
● 97 ocorrências
70. N-Grama: exemplo
● No CoGrOO 1.0 era atribuída uma nota para
cada trigrama de acordo com
– Número de ocorrências dos trigramas no
Corpus
– Número de ocorrências da combinação
palavra/etiqueta no Corpus
● Tagger tinha acerto de 95%
71. N-Grama: dificuldades
● Algumas vezes um par palavra etiqueta'
correta ocorre até algumas ordens de
grandeza a mais que um segundo par palavra
etiqueta'': [casa verbo] ocorre 100 vezes e
[casa substantivo] 6000 vezes. Como
comparar estes dados?
● O sistema consegue chutar uma etiqueta de
acordo com o entorno, mas não leva em
consideração características da palavra: por
exemplo morfemas lexicais
72. Entropia Máxima
● Também é um modelo da língua, gerado
estatisticamente.
● Inicialmente não faz nenhuma suposição sobre o
texto. Todas as possibilidades tem chances iguais:
entropia é máxima.
● Ao se determinar uma característica do corpo de
treinamento, pode acrescentar uma restrição
(feature) no sistema na forma. Esta feature altera as
chances de cada etiqueta. Novamente se calcula a
entropia máxima do sistema. Features são
adicionadas até que o sistema esteja bastante
próximo do corpo de prova.
73. Entropia Máxima: exemplo
“zzfish”
Qual é a distribuição de probabilidades que
não faz suposição alguma?
NN JJ NNS VB NNP IN MD UH SYM VBG POS PRP CC CD ...
1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ 1/ ...
45 45 45 45 45 45 45 45 45 45 45 45 45 45
74. Entropia Máxima: exemplo
● Suponha que pela análise do Corpus você
descobre que as etiquetas possíveis seriam
apenas: NN, JJ, NNS e VB
NN JJ NNS VB
1/4 1/4 1/4 1/4
P(NN) + P(JJ) + P(NNS) + P(VB) = 1
75. Entropia Máxima: exemplo
● Suponha ainda que pelo Corpus se descobre
que 8 a cada 10 ocorrências de “zzfish” eram
substantivos
● feature → palavra é zzfish e t == NN ou t ==
NNS
NN JJ NNS VB
4/10 1/10 4/10 1/10
P(NN) + P(JJ) + P(NNS) + P(VB) = 1
P(palavra é zzfish e t == NN ou t == NNS) = 8/10
76. Entropia Máxima: exemplo
● Agora suponha que uma a cada 20 palavras
(não apenas zzfish) no Corpus são verbos.
● Feature → t == VB
NN JJ NNS VB
4/10 3/20 4/10 3/20
P(NN) + P(JJ) + P(NNS) + P(VB) = 1
P(palavra é zzfish e t == NN ou t == NNS) = 8/10
P(VB) = 1/20
77. Entropia Máxima: OpenNLP
● O framework OpenNLP permite que se
experimente features em textos.
● Ele consegue determinar quais features são
relevantes para a classificação que se quer
● Ao entrar com novos textos ele aplica estas
mesmas features e usando os modelos
gerados durante o treinamento sugere as
possíveis classificações do texto
78. Entropia Máxima: exemplo
● Detector de sentenças
– É ponto final?
– Tem verbo flexionado?
– Palavra que aparece antes e depois.
– É abreviatura
● Detector de palavras
– O último caractere da string é um não alfanumérico?
– O último caractere da string é um ponto final e não é
uma abreviatura conhecida?
– A palavra que segue está com letra maiúscula?
80. Obrigado pela atenção!
http://www.ime.usp.br/colen
http://cogroo.sourceforge.net
http://ccsl.ime.usp.br
81. Agradecimentos
Prof. MSc. Carlos Eduardo Dantas de Menezes pela revisão
dos slides.
Prof. Dr. Marcelo Finger pela revisão dos slides e pela
ajuda no planejamento do Curso.
Prof. Dr. Jorge Kinoshita pela sugestão da bibliografia.
Aos professores, pesquisadores e alunos que
compareceram ao curso. Obrigado pela atenção e
participação
Pessoal do CAMAT pelo evento EIAGIME II e pela
oportunidade.
82. Bibliografia
JURAFSKY, D.; MARTIN, J. H. . Speech and Language Processing. 2. ed.: Pearson, 2008. 1024 p.
DIAS DA SILVA, B.C.; MONTILHA, G.; RINO, L.H.M.; SPECIA, L.; NUNES, M.G.V.; OLIVEIRA Jr., O.N.; MARTINS, R.T.;
PARDO, T.A.S. (2007). Introdução ao Processamento das Línguas Naturais e Algumas Aplicações. Série de Relatórios do
NILC. NILC-TR-07-10. São Carlos-SP, Agosto, 121p - Acessível em
http://www.letras.etc.br/ebralc/NILCTR0710-DiasDaSilvaEtAl.pdf
Critérios de separação de sentenças/frases - Susana Afonso, Eckhard Bick & Ana Raquel Marchi - Acessível em
http://www.linguateca.pt/treebank/CriteriosSeparacao.html
FLORESTA, Recursos linguísticos para a língua portuguesa: Disponível em: <
http://www.linguateca.pt/Floresta/principal.html>
RATNAPARKHI, A. Maximum Entropy Models for Natural Language Ambiguity Resolution. Ph.D. Dissertation.
University of Pennsylvania, Julho de 1998 (versão eletrônica disponível em
ftp://ftp.cis.upenn.edu/pub/ircs/tr/98-15/98-15.pdf)