comunica o - autenticação · parsing = análise/geração de frases, de acordo com a gramática....
Post on 10-Nov-2018
214 Views
Preview:
TRANSCRIPT
Sumário
Comunicação
Comunicar com o computador
Linguagem Natural vs. Linguagem Formal
Processamento de Língua Natural
Gramáticas e Parsing
Sumário
Comunicação
Comunicar com o computador
Linguagem Natural vs. Linguagem Formal
Processamento de Língua Natural
Gramáticas e Parsing
Comunicação
Comunicar consiste em trocar informação através da produção e percepção de sinais, pertencentes a um sistema partilhado
Comunicação
Diferentes animais usam diferentes sinais para representar diferentes mensagens... ou as mesmas.
Comunicação
Uma das coisas que distingue os humanos dos outros animais é a complexidade do nosso sistema de mensagens: a nossa Linguagem!!
Comunicação
Fundamentos da LinguagemSintaxe: estrutura
ex: “degrau cuidado com o” vs. “cuidado com o degrau”
Comunicação
Fundamentos da LinguagemSintaxe: estrutura
ex: “degrau cuidado com o” vs. “cuidado com o degrau”
Semântica: significado literalex: “Cuidado com o degrau” (ter cuidado com um degrau)
Comunicação
Fundamentos da LinguagemSintaxe: estrutura
ex: “degrau cuidado com o” vs. “cuidado com o degrau”
Semântica: significado literalex: “Cuidado com o degrau” (ter cuidado com um degrau)
Pragmática: significado em função do contextoex: “Cuidado com o degrau” (se o cão se chamar Degrau, ter cuidado com o cão)
Comunicação
Exemplo
Intenção: S quer dizer P a H
ex: A Maria quer pedir ao Manuel que abra a porta à sua amiga Berta
Comunicação
Exemplo
Geração: S selecciona palavras W para exprimir P
ex: “Abre a porta à Berta, sff”
Comunicação
ExemploPercepção: H percebe W’ no contexto C’
ex: O Manuel percebe “Abre a porta aberta”. Mas depois olha pela janela e vê a Berta à porta.
Comunicação
Exemplo (cont.)Análise: H infere possíveis significados P1,…,Pn
ex: A Maria quer que ele abra um bocado mais, uma porta já aberta; A Maria quer que ele abra a porta à Berta.
Comunicação
Exemplo (cont.)Desambiguação: H infere significado pretendido Pi
ex: O Manuel escolhe a segunda interpretação.
Comunicação
Exemplo (cont.)Incorporação: H incorpora Pi na BC
ex: O Manuel percebe que tem de abrir a porta à Berta.
Sumário
Comunicação
Comunicar com o computador
Linguagem Natural vs. Linguagem Formal
Processamento de Língua Natural
Gramáticas e Parsing
Comunicar com o computador
Teste de Turing (Alan Turing, 1950) - proposta para testar as capacidades intelectuais de uma máquina.
Um juiz humano mantém uma conversa com uma entidade humana e com uma máquina. Se não for capaz de perceber qual é a humana e qual é a máquina, então a máquina passa o teste.
Assume-se que quer a máquina quer o humano vão tentar parecer humanos.
Comunicar com o computador
Loebner Prize (Hugh Loebner, 1990) - concurso que implementa o teste de Turing. $100,000 + medalha de ouro.
Todos os anos há um prémio de $2000 + medalha de bronze para o computador mais “human-like”.
2007, NY, 21 de Outubro.
Comunicar com o computador
Exemplo - teste de Turing:What time is it?・Is it morning, noon, or night? What is a hammer?・What would I use a hammer for?Which is faster, a train or a plane?John is older than Mary, and Mary is older than Sarah.
Which of them is the oldest?
I have a friend named Harry who likes to play tennis. .... What is the name of the friend I just told you about? Do you know what game Harry likes to play?
Sumário
Comunicação
Comunicar com o computador
Linguagem Natural vs. Linguagem Formal
Processamento de Língua Natural
Gramáticas e Parsing
Linguagem Natural vs. Formal
Linguagem formal (Lisp, C++, ...)Definições rigorosasInexistência de ambiguidadese.g. i++ é uma frase em C; +i+ não é.
Linguagem natural (Pt, En, Esperanto, ...)Difícil de formalizarAmbíguae.g. Vi o homem no monte com o telescópio.
Sumário
Comunicação
Comunicar com o computador
Linguagem Natural vs. Linguagem Formal
Processamento de Língua Natural
Gramáticas e Parsing
Processamento de Língua Natural
Processamento da língua natural(PLN): domínio em que se trabalha a língua natural usando o computador.
Objectivo do resto da aula: perceber como se pode estudar uma das etapas do PLN (análise sintáctica) de um modo formal.
Processamento de Língua Natural
Análise Sintáctica = gramática + parsing
Gramática = regras estruturaisParsing = análise/geração de frases, de
acordo com a gramática
Processamento de Língua Natural
Gramáticas - classificadas em função da suacapacidade generativa.
Gramáticas Regulares N -> t [N] (ex: SV -> fugiu | bebeu CD)
Gramáticas Livres de Contexto N -> (t + N)* (ex: SV -> SV e SV)
Gramáticas na Forma Normal de Chomsky
N->N1 N2, S -> ɛ, N -> t (ex: SV -> fugiu)
etc.
Processamento de Língua Natural
Exemplo de Construção de uma gramática Livre de Contexto:Etapa 1: Agrupamento das palavras em
categoriasex: nomes, verbos, adjectivos e advérbios (classes
abertas) ou pronomes, artigos, preposições e conjunçõs (classes fechadas)Etapa 2: Construção das regras
ex: S -> SN SV, SN -> art nc, ...
Processamento de Língua Natural
Etapa 1: exemplo de agrupamento de palavras em categorias (construção de um léxico no domínio do turismo):
Pint: quem, onde, qual,... // Pint = partícula interrogativa;
V: custar, localizar, ficar, ... // V = verbo;
NC: hotel, preço, piscina, praia,... // NC = nome comum ;
NP: Ritz, Lisboa, Museu dos Coches... // NP = nome próprio ;
...
Processamento de Língua Natural
Etapa 2: exemplo de mini-gramática para interrogativas directas + concordâncias (em número, pessoa e género):
S -> Pint F [] // Onde fica o Ritz?
F -> V SN [N=X,P=Y] // fica o Ritz
SN -> ART NP[N=X,G=Y] // o Ritz
// F = (resto da) frase;
// SN = sintagma nominal
Processamento de Língua Natural
Avaliação de Gramáticas
Subgeração - incapacidade de gerar frases correctas (ex: “Indique-me hotéis baratos”, não é apanhada pela gramática anterior);
Sobregeração - geração de frases incorrectas (ex: Quem fica o Ritz?).
Mas... queremos realmente uma gramática para o Português “correcto” ou para o Português “real”? (ex: “museus de Lisboa”)
Processamento de Língua Natural
Análise Sintáctica (parsing) - dado um texto, gera uma (ou mais) árvores sintácticas:
Parsing top-down: da raiz da árvore para as folhas (palavras);
Parsing bottom-up: das folhas para a raiz.
Processamento de Língua Natural
Parsing Top-down:Estado inicial: [S: ?] Função sucessores: a) Selecciona o nó mais à esquerda
na árvore; b) Procura regras com o símbolo do nó do lado esquerdo; c) Por cada regra cria um sucessor onde o símbolo do lado esquerdo é substituído pelo lado direito da regra correspondente;
Teste objectivo: As folhas correspondem exactamente aos dados de entrada; nenhuma palavra dos dados de entrada está em aberto ou é desconhecida.
Processamento de Língua Natural
Parsing Bottom-up:Estado inicial: lista de palavras nos dados de
entrada [Onde fica o Ritz?].Função sucessores: Procura emparelhar lado
direito de uma regra com cada posição na lista;Teste objectivo: estado com uma única árvore com
S na raiz.
Processamento de Língua Natural
Vamos ver um exemplo de um algoritmo de análise bottom-up:
Algoritmo CKy - Cocke-Kasami-Younger
Para gramáticas na Forma Normal de
Chomsky (N->N1 N2, S -> ɛ, N -> t)
Processamento de Língua Natural
Seja G = (N, T, S, P) gramática na FNC.
for j = 1 to n do // n nº de palavras da frase em análise<1, j> := {A : A -> wj ∈ P} // wj palavra na posição j
odfor i = 2 to n do
for j = 1 to n - i + 1 do <i, j> : = ∪m=1, i-1 {A : A->B C, B ∈ <m, j>, C ∈ <i-m, j + m>}od
odif S ∈ <n, 1> then W ∈ L(G), else W ∉ L(G) fi
Processamento de Língua Natural
Vamos ver um exemplo de um algoritmo de análise que combina a análise bottom-up com a top-down:
Baseado no algoritmo de Earley
Para gramáticas livres de contexto
Eficiente: espaço O(kn2) e tempo O(n3) no pior caso, sendo n o nº de palavras e k uma constante dependente da gramática.
Processamento de Língua Natural
6 vértices e 3 arcos Arco [0,5 , S -> NP VP ⦁] significa que a combinação de NP
seguido por VP dá origem a S que abrange as palavras de 0 a 5 Arcos com símbolo ⦁ no final são arcos completos
Processamento de Língua Natural
função prever(i, j, A -> w ⦁ B y)
para cada B -> x ∈ Padiciona [j , j, B -> ⦁ x ]
Ex: prever (0, 0, S -> ⦁ NP VP)
NP -> pronoun ∈ P
adiciona [0, 0, NP -> ⦁ pronoun]
Processamento de Língua Natural
função varrer (j, palavra)
para cada (i, j, A -> x ⦁ pj y)se pj é a categoria de palavraadiciona [i , j+1, A -> x pj ⦁ y ]
Ex:varrer(0, I)[0, 0, NP -> ⦁ pronoun]I = pronoun
adiciona [0, 1, NP -> pronoun ⦁]
Processamento de Língua Natural
função completar [k, j, A -> x ⦁ ]
para cada [i, k, B -> w ⦁ Ay]adicionar [i, j, B -> wA ⦁ y]
Ex:completar [0, 1, NP ->pronoun ⦁][0, 0, S -> ⦁ NP VP]
adiciona [0, 1, S -> NP ⦁ VP]
Sumário
Comunicação
Processamento de língua natural - foco sobre:
Gramáticas
Parsing: bottom-up (CKy), top-down, Earley (combinação bottom-up, top-down)
top related