SlideShare a Scribd company logo
1 of 82
Download to read offline
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
Agenda
●   Primeiro dia
       –   Motivação
       –   Sistemas PLN
●   Segundo dia
       –   Componentes e arquitetura de um sistema
            PLN
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
Processamento de Linguagens Naturais
               (PLN)


Computadores executando tarefas interessantes que
         envolvam linguagem humana



        Comunicação homem-máquina
     Melhorar comunicação homem-homem
                     etc
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?
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?
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?
Outros exemplos
●   Correção ortográfica
●   Verificador gramatical
●   Sumarização automática
●   Categorização de textos
●   Busca na Web usando ontologias
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
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
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”
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)
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.
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.
Aplicações: busca semântica




http://www.wolframalpha.com/input/?i=What+year+was+Lula+born%3F
Aplicações: busca semântica




 http://www.powerset.com/explore/go/What-year-Elvis-Presley-died?
Aplicações: busca semântica




   http://www.google.com/squared/search?q=tea
Aplicações: tradução automática




http://translate.google.com/translate_s?hl=en&clss=&q=ciência+da+computação&tq=&sl=pt&tl=zh-CN
OpenCalais: rede semântica




    http://viewer.opencalais.com/
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
Aplicações: corretor gramatical
Obrigado pela atenção!

  http://www.ime.usp.br/colen

 http://cogroo.sourceforge.net

     http://ccsl.ime.usp.br
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
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)
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)
Tarefas de Pré-processamento
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
Fonético-fonológico: aplicação


       Síntese de
                    Registro oral é saída
          fala




       Análise de
          fala      Registro oral é entrada
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
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
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.
Tarefas de Classificação
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)
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
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
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
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.”
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”
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
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
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)
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.
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
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!)
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
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).
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.
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
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
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.
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)
Obrigado pela atenção!

  http://www.ime.usp.br/colen

 http://cogroo.sourceforge.net

     http://ccsl.ime.usp.br
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
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.
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)
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.
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)
Corpus
●   Usos -
       –   Estatísticas de uso da língua
       –   Modelamento das estruturas da língua
       –   Testes de desempenho
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
Testes de desempenho com
          Corpus


 1    2   3    4   5   6      7   8    9 10
Treinamento                Treinamento
   Treinamento               Treinamento
Como definir uma gramática em
             PLN
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”
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 
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
Regras: exemplo
●   Anotador Palavras (Eckhard Bick) –
          http://beta.visl.sdu.dk/visl/pt/
          + 2000 regras
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
N-Grama: exemplo
    “procurar uma casa”
       –   procurar → verbo infinitivo
       –   uma → artigo, numeral
       –   casa → verbo presente indicativo, substantivo
●   Qual é a melhor sequência de etiquetas?
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)
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
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%
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
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.
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
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
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
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
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
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?
Entropia Máxima: desempenho
●   Etiquetador morfológico do CoGrOO 2.0
    aplica Entropia Máxima e atinge 96% de
    acerto.
Obrigado pela atenção!

  http://www.ime.usp.br/colen

 http://cogroo.sourceforge.net

     http://ccsl.ime.usp.br
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.
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)

More Related Content

What's hot

Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoMarcia Poposki
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regularesComputação Depressão
 
09 hierarquia de classes e linguagens e conclusoes
09   hierarquia de classes e linguagens e conclusoes09   hierarquia de classes e linguagens e conclusoes
09 hierarquia de classes e linguagens e conclusoesComputação Depressão
 
Ingles instrumental
Ingles instrumentalIngles instrumental
Ingles instrumentalelzakiss
 
Extracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução AutomáticaExtracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução AutomáticaAlberto Simões
 
As ferramentas, os percursos e as estratégias de tradução no universo digital...
As ferramentas, os percursos e as estratégias de tradução no universo digital...As ferramentas, os percursos e as estratégias de tradução no universo digital...
As ferramentas, os percursos e as estratégias de tradução no universo digital...Diogoncosta
 
Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulareswab030
 
O uso da Internet no ensino de ingles instrumental
O uso da Internet no ensino de ingles instrumentalO uso da Internet no ensino de ingles instrumental
O uso da Internet no ensino de ingles instrumentalClaudio Franco
 
Inglês instrumental apresentação
Inglês instrumental apresentaçãoInglês instrumental apresentação
Inglês instrumental apresentaçãoGioliano
 
07 propriedades e reconhecimento das linguagens livres do contexto
07   propriedades e reconhecimento das linguagens livres do contexto07   propriedades e reconhecimento das linguagens livres do contexto
07 propriedades e reconhecimento das linguagens livres do contextoComputação Depressão
 
José Ramom Pichel: «O Galego é um videojogo de ténis»
José Ramom Pichel: «O Galego é um videojogo de ténis»José Ramom Pichel: «O Galego é um videojogo de ténis»
José Ramom Pichel: «O Galego é um videojogo de ténis»vitinhoourense
 
Prova concurso ufpe - programador de computador
Prova concurso   ufpe - programador de computadorProva concurso   ufpe - programador de computador
Prova concurso ufpe - programador de computadorJ M
 
Processamento da linguagem escrita
Processamento da linguagem escritaProcessamento da linguagem escrita
Processamento da linguagem escritaguest6e881ccf
 
3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL
3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL
3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIALJakes Paulo
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...wab030
 

What's hot (20)

Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regulares
 
06 linguagens livres do contexto
06   linguagens livres do contexto06   linguagens livres do contexto
06 linguagens livres do contexto
 
01 introducao e conceitos basicos
01   introducao e conceitos basicos01   introducao e conceitos basicos
01 introducao e conceitos basicos
 
09 hierarquia de classes e linguagens e conclusoes
09   hierarquia de classes e linguagens e conclusoes09   hierarquia de classes e linguagens e conclusoes
09 hierarquia de classes e linguagens e conclusoes
 
Ingles instrumental
Ingles instrumentalIngles instrumental
Ingles instrumental
 
Extracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução AutomáticaExtracção de Recursos para Tradução Automática
Extracção de Recursos para Tradução Automática
 
As ferramentas, os percursos e as estratégias de tradução no universo digital...
As ferramentas, os percursos e as estratégias de tradução no universo digital...As ferramentas, os percursos e as estratégias de tradução no universo digital...
As ferramentas, os percursos e as estratégias de tradução no universo digital...
 
Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulares
 
O uso da Internet no ensino de ingles instrumental
O uso da Internet no ensino de ingles instrumentalO uso da Internet no ensino de ingles instrumental
O uso da Internet no ensino de ingles instrumental
 
Inglês instrumental apresentação
Inglês instrumental apresentaçãoInglês instrumental apresentação
Inglês instrumental apresentação
 
Português para espanhol
Português para espanholPortuguês para espanhol
Português para espanhol
 
07 propriedades e reconhecimento das linguagens livres do contexto
07   propriedades e reconhecimento das linguagens livres do contexto07   propriedades e reconhecimento das linguagens livres do contexto
07 propriedades e reconhecimento das linguagens livres do contexto
 
José Ramom Pichel: «O Galego é um videojogo de ténis»
José Ramom Pichel: «O Galego é um videojogo de ténis»José Ramom Pichel: «O Galego é um videojogo de ténis»
José Ramom Pichel: «O Galego é um videojogo de ténis»
 
03 linguagens regulares
03   linguagens regulares03   linguagens regulares
03 linguagens regulares
 
Prova concurso ufpe - programador de computador
Prova concurso   ufpe - programador de computadorProva concurso   ufpe - programador de computador
Prova concurso ufpe - programador de computador
 
Processamento da linguagem escrita
Processamento da linguagem escritaProcessamento da linguagem escrita
Processamento da linguagem escrita
 
3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL
3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL
3º ANO - ENSINO FUNDAMENTAL - EDUCAÇÃO ESPECIAL
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
 
21555 79326-1-pb
21555 79326-1-pb21555 79326-1-pb
21555 79326-1-pb
 

Viewers also liked

Processamento de linguagem natural com nodejs
Processamento de linguagem natural com nodejsProcessamento de linguagem natural com nodejs
Processamento de linguagem natural com nodejsRodrigo Matheus
 
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuaisFalando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuaisWilliam Colen
 
Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...Wesley Seidel
 
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3Roberto C. S. Pacheco
 
NLTK - Natural Language Processing in Python
NLTK - Natural Language Processing in PythonNLTK - Natural Language Processing in Python
NLTK - Natural Language Processing in Pythonshanbady
 

Viewers also liked (8)

Processamento de linguagem natural com nodejs
Processamento de linguagem natural com nodejsProcessamento de linguagem natural com nodejs
Processamento de linguagem natural com nodejs
 
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuaisFalando com a máquina: Desenvolvimento de assistentes pessoais virtuais
Falando com a máquina: Desenvolvimento de assistentes pessoais virtuais
 
Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...Modelo de Dados: Entendendo e “re-”construindo...
Modelo de Dados: Entendendo e “re-”construindo...
 
Big Data, JVM e Redes Sociais
Big Data, JVM e Redes SociaisBig Data, JVM e Redes Sociais
Big Data, JVM e Redes Sociais
 
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
 
NLTK - Natural Language Processing in Python
NLTK - Natural Language Processing in PythonNLTK - Natural Language Processing in Python
NLTK - Natural Language Processing in Python
 
Morfologia morfema
Morfologia   morfemaMorfologia   morfema
Morfologia morfema
 
NLTK in 20 minutes
NLTK in 20 minutesNLTK in 20 minutes
NLTK in 20 minutes
 

Similar to Mini-curso Processamento de linguagens naturais: pondo em prática

Processamento da linguagem escrita
Processamento da linguagem escritaProcessamento da linguagem escrita
Processamento da linguagem escritaAna Vogeley
 
Simulado 01-com-comentarios-mpu-tecnico
Simulado 01-com-comentarios-mpu-tecnicoSimulado 01-com-comentarios-mpu-tecnico
Simulado 01-com-comentarios-mpu-tecnicoFabiana de Carvalho
 
Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2luisprista
 
Pratica ou perfeicao met efii e em 2011 telas
Pratica ou perfeicao met efii e em 2011 telasPratica ou perfeicao met efii e em 2011 telas
Pratica ou perfeicao met efii e em 2011 telasPatrícia Talhari
 
gramaticanoensinobasico.pdf
gramaticanoensinobasico.pdfgramaticanoensinobasico.pdf
gramaticanoensinobasico.pdfIsildaMontinho1
 
Gramaticanoensinobasico
GramaticanoensinobasicoGramaticanoensinobasico
GramaticanoensinobasicoDaniela Santos
 
A gramática com o novo acordo ortográfico - Porto Editora
A gramática com o novo acordo ortográfico - Porto EditoraA gramática com o novo acordo ortográfico - Porto Editora
A gramática com o novo acordo ortográfico - Porto EditoraGijasilvelitz 2
 
Gramaticanoensinobasico
GramaticanoensinobasicoGramaticanoensinobasico
GramaticanoensinobasicoMaria Chambel
 
Apostila de português
Apostila de portuguêsApostila de português
Apostila de portuguêsLeila Pryjma
 
Ferramentas digitais para tradução
Ferramentas digitais para traduçãoFerramentas digitais para tradução
Ferramentas digitais para traduçãoLuciana Viter
 
A apropriação do sistema de escrita alfabético e consolidação do processo de ...
A apropriação do sistema de escrita alfabético e consolidação do processo de ...A apropriação do sistema de escrita alfabético e consolidação do processo de ...
A apropriação do sistema de escrita alfabético e consolidação do processo de ...Solange Goulart
 
Semântica
SemânticaSemântica
Semânticavinivs
 

Similar to Mini-curso Processamento de linguagens naturais: pondo em prática (20)

Processamento da linguagem escrita
Processamento da linguagem escritaProcessamento da linguagem escrita
Processamento da linguagem escrita
 
Simulado 01-com-comentarios-mpu-tecnico
Simulado 01-com-comentarios-mpu-tecnicoSimulado 01-com-comentarios-mpu-tecnico
Simulado 01-com-comentarios-mpu-tecnico
 
Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2
 
Apresentação Sociesc
Apresentação SociescApresentação Sociesc
Apresentação Sociesc
 
Pratica ou perfeicao met efii e em 2011 telas
Pratica ou perfeicao met efii e em 2011 telasPratica ou perfeicao met efii e em 2011 telas
Pratica ou perfeicao met efii e em 2011 telas
 
Revisão iNGLÊS TÉCNICO II
  Revisão iNGLÊS TÉCNICO II  Revisão iNGLÊS TÉCNICO II
Revisão iNGLÊS TÉCNICO II
 
Gramatica no ensino_basico
Gramatica no ensino_basicoGramatica no ensino_basico
Gramatica no ensino_basico
 
gramaticanoensinobasico.pdf
gramaticanoensinobasico.pdfgramaticanoensinobasico.pdf
gramaticanoensinobasico.pdf
 
gramatica.pdf
gramatica.pdfgramatica.pdf
gramatica.pdf
 
Gramaticanoensinobasico
GramaticanoensinobasicoGramaticanoensinobasico
Gramaticanoensinobasico
 
A gramática com o novo acordo ortográfico - Porto Editora
A gramática com o novo acordo ortográfico - Porto EditoraA gramática com o novo acordo ortográfico - Porto Editora
A gramática com o novo acordo ortográfico - Porto Editora
 
Gramaticanoensinobasico
GramaticanoensinobasicoGramaticanoensinobasico
Gramaticanoensinobasico
 
Projeto Nádia
Projeto NádiaProjeto Nádia
Projeto Nádia
 
Plano de ensino 1 ano
Plano de ensino 1 anoPlano de ensino 1 ano
Plano de ensino 1 ano
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Apostila de português
Apostila de portuguêsApostila de português
Apostila de português
 
Ferramentas digitais para tradução
Ferramentas digitais para traduçãoFerramentas digitais para tradução
Ferramentas digitais para tradução
 
Português 10º ano
Português 10º anoPortuguês 10º ano
Português 10º ano
 
A apropriação do sistema de escrita alfabético e consolidação do processo de ...
A apropriação do sistema de escrita alfabético e consolidação do processo de ...A apropriação do sistema de escrita alfabético e consolidação do processo de ...
A apropriação do sistema de escrita alfabético e consolidação do processo de ...
 
Semântica
SemânticaSemântica
Semântica
 

More from William Colen

CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13William Colen
 
Cogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XICogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XIWilliam Colen
 
O corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX EvidosolO corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX EvidosolWilliam Colen
 
Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11William Colen
 
Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)William Colen
 
Tutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOfficeTutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOfficeWilliam Colen
 
Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01William Colen
 

More from William Colen (7)

CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13
 
Cogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XICogroo Comunidade no FISL XI
Cogroo Comunidade no FISL XI
 
O corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX EvidosolO corretor gramatical CoGrOO - IX Evidosol
O corretor gramatical CoGrOO - IX Evidosol
 
Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11Programabilida de BrOffice.org - Fisl 11
Programabilida de BrOffice.org - Fisl 11
 
Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)Criando extensões para o BrOffice (Serpro 2010)
Criando extensões para o BrOffice (Serpro 2010)
 
Tutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOfficeTutorial: Criando extensões para o OpenOffice
Tutorial: Criando extensões para o OpenOffice
 
Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01Cogroo Google Oss Jam Sao Paulo V01
Cogroo Google Oss Jam Sao Paulo V01
 

Recently uploaded

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Recently uploaded (6)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

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.
  • 16. Aplicações: busca semântica http://www.powerset.com/explore/go/What-year-Elvis-Presley-died?
  • 17. Aplicações: busca semântica http://www.google.com/squared/search?q=tea
  • 19. OpenCalais: rede semântica http://viewer.opencalais.com/
  • 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
  • 28. Fonético-fonológico: aplicação Síntese de Registro oral é saída fala Análise de fala Registro oral é entrada
  • 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
  • 61. Como definir uma gramática em PLN
  • 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
  • 65. Regras: exemplo ● Anotador Palavras (Eckhard Bick) – http://beta.visl.sdu.dk/visl/pt/ + 2000 regras
  • 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?
  • 79. Entropia Máxima: desempenho ● Etiquetador morfológico do CoGrOO 2.0 aplica Entropia Máxima e atinge 96% de acerto.
  • 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)