interfaces conversacionais interação humano-computador fabrício enembreck

27
Interfaces Conversacionais Interação Humano- Computador Fabrício Enembreck

Upload: internet

Post on 17-Apr-2015

117 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Interfaces Conversacionais

Interação Humano-Computador

Fabrício Enembreck

Page 2: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

A Técnica Morfológica

• Técnica Morfológica: (Gramática + Ontologia)

• Comunicação baseada em sistemas de diálogo– Diálogo orientado a tarefas e

questão/resposta– Um motor de diálogo interpreta atos de

diálogo

Page 3: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Arquitetura geral

Syntactic Analysis

Semantic Analysis

SyntacticStructure

SemanticStructure

Inference Engine

Phrase

Answer/Question

DialogAct

Query(:o :s :v)

Knowledge(Ontology)

Inference Engine

(Concepts)

Semantic Network

TasksTemplates

TasksDescriptions

SlotsInformation

TermsInformation

Question

UserActions

Dialog Model

Proposition/Information

Task Model

UserModel

DomainModel

Syntactic Analysis

Semantic Analysis

SyntacticStructure

SemanticStructure

Inference Engine

Phrase

Answer/Question

DialogAct

Query(:o :s :v)

Knowledge(Ontology)

Inference Engine

(Concepts)

Semantic Network

TasksTemplates

TasksDescriptions

SlotsInformation

TermsInformation

Question

UserActions

Dialog Model

Proposition/Information

Task Model

UserModel

DomainModel

Page 4: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Análise Sintática

((S :TYPE WH-Q :WH-QUERY (PP-39 :TYPE WH :HEAD WHEN) :SUBJ (NP :DET THE :HEAD FLIGHT :MODS ((PP :PREP FROM :POBJ (NP :UNKNOW CURITIBA)) (PP :PREP TO :POBJ (NP :UNKNOW PARIS)))) :MAIN-V LEAVE))

(s ‘(When does the flight from Curitiba to Paris leave))

Page 5: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Definição de uma gramática;========================================; S (Sentence, an english sentence);========================================S S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | S11 | S12 | S13 | S14 | S15S1 VP-ACTION NPS2 VPS3 AUX NP VPS4 VP NPS5 PP AUX NP VP/PPS6 PP NOUN AUX NP VP/PPS7 WH-WORDS8 PP VPS9 ADVS10 NP AUX VPS11 NP VPS12 NPS13 EXPLA AUX NP VPS14 EXPLA NP VP/PPS15 EXPLA VP NP

Page 6: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Definição de uma gramática;========================================; U (Unknown);========================================U U1 | U2 | U3 | U4U1 UNKNOWN UU2 NOUN UNKNOWNU3 UNKNOWN NOUNU4 UNKNOWN;========================================; VP (Verb Phrase);========================================VP VP1 | VP2 | VP3VP1 SIMPLE-VPVP2 PRE SIMPLE-VPVP3 SIMPLE-VP PPS;========================================; VP/PP (Verb Phrase);========================================VP/PP SIMPLE-VP PPS/PP

...

Page 7: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Geração de uma Árvore Sintática: algoritmo de matching

Pedro quebrou o vaso e saiu correndo.

Noun Verb Art Noun

Conjunction

Verb Adv

Verb Phrase Verb Phrase

Simple Verb Phrase Simple Verb Phrase

Nominal Phrase

Sentence Sentence

Sentence

Page 8: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Expressões atômicas de uma gramática

WH-WORD member of the list of “wh” words. Ex.: (why, what, when, …)EXPLA member of (why, how)PRE member of the list of prepositions. Ex. : (pos, from, in, on, out, up, to, over, under, at,

of, for, with)AP 'ADV member of the list of adverbs. Ex.: (yes, no, sure, ok, none, nobody, any)ART member of the list of articles. Ex.: (a, an, the)NOUN member of the list of nouns. Ex.: (seat, house, mail, text, morning, age, e-mail, address,

name, document, title, paper, file, article, information, flight, time, baby, box, corner, dialog, task, subject, carbon-copy, message, address, arrival, depart, author, date, year, subject, theme, today, morning, page, webpage, web-page, web)

PROPER-NAME member of the list of proper names. Ex.: (mary, boston, cesar, marco, barthes, fabricio)

PRO member of the list of pronouns. Ex.: (I, you, he, she, it, we, they, me, them, this, these, those, that, my, our, your)

VERB member of the list of verbs. Ex. : (set, can, book, do, does, is, exit, like, works, see, eat, am, work, find, locate, search, return, execute, leave, carrying, put, send, excuse, go, burn, hidden, start, abort, cancel, want, know, write, compose, arrive, teach, teaches, means, mean, produce, produces, build, allow, allows, create, creates, look)

VERB-ACTION member of the list of verbs used in actions. Ex.: (search, look, give, return, show, compute, leave, arrive, go, does, do, work, teach, teaches, teach, means, create, creates, produce, build, allow, make)

AUX member of the list of modal verbs. Ex.: (can, do, does, did, should, may, might, must, could)

Page 9: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Análise Semântica

((S :TYPE WH-Q :WH-QUERY (PP-39 :TYPE WH :HEAD WHEN) :SUBJ (NP :DET THE :HEAD FLIGHT :MODS ((PP :PREP FROM :POBJ (NP :UNKNOW CURITIBA)) (PP :PREP TO :POBJ (NP :UNKNOW PARIS)))) :MAIN-V LEAVE))

(:OBJECT (:OBJECT ((:OBJECT FLIGHT :SLOT FROM :VALUE (:OBJECT CURITIBA)) (:OBJECT FLIGHT :SLOT TO :VALUE (:OBJECT PARIS))) :SLOT LEAVE)) :SLOT TIME)

Page 10: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Motor de Inferência

• A partir da representação semântica, procura na ontologia os valores e objetos solicitados

• A ontologia é representada na forma de uma rede semântica (MOSS)

• Cada tipo de enunciado possui uma semântica bem determinada

Page 11: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Diálogo questão/resposta

Syntactic Analysis

Semantic Analysis

SyntacticStructure

SemanticStructure

Inference Engine

Phrase

Answer/Question

DialogAct

Query(:o :s :v)

Knowledge(Ontology)

Inference Engine

(Concepts)

Semantic Network

TasksTemplates

TasksDescriptions

SlotsInformation

TermsInformation

Question

UserActions

Dialog Model

Proposition/Information

Task Model

UserModel

DomainModel

Syntactic Analysis

Semantic Analysis

SyntacticStructure

SemanticStructure

Inference Engine

Phrase

Answer/Question

DialogAct

Query(:o :s :v)

Knowledge(Ontology)

Inference Engine

(Concepts)

Semantic Network

TasksTemplates

TasksDescriptions

SlotsInformation

TermsInformation

Question

UserActions

Dialog Model

Proposition/Information

Task Model

UserModel

DomainModel

Page 12: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Diálogoorientadoa tarefas

Syntactic Analysis

Semantic Analysis

SyntacticStructure

SemanticStructure

Inference Engine

Phrase

Answer/Question

DialogAct

Query(:o :s :v)

Knowledge(Ontology)

Inference Engine

(Concepts)

Semantic Network

TasksTemplates

TasksDescriptions

SlotsInformation

TermsInformation

Question

UserActions

Dialog Model

Proposition/Information

Task Model

UserModel

DomainModel

Syntactic Analysis

Semantic Analysis

SyntacticStructure

SemanticStructure

Inference Engine

Phrase

Answer/Question

DialogAct

Query(:o :s :v)

Knowledge(Ontology)

Inference Engine

(Concepts)

Semantic Network

TasksTemplates

TasksDescriptions

SlotsInformation

TermsInformation

Question

UserActions

Dialog Model

Proposition/Information

Task Model

UserModel

DomainModel

Page 13: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Diálogo orientado a tarefas

• Serve a solicitar serviços

• Informações terminológicas

Page 14: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Diálogo orientado a tarefas(cont.)

• Informações Estruturais

Page 15: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Grafo de diálogo

Page 16: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Grafo de diálogo

• Construído apriori– O programador lista todas as possibilidades de

respostas dos usuários e especifica as ações associadas a cada possibilidade

– Custo alto de modelagem

• Construído dinamicamente– Precisa de um mecanismo de coordenação– O mecanismo de coordenação deve indicar a

sequência de nós a visitar em função das entradas do usuário

– Coordenação pode ser complexa

Page 17: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Ask

TaskRecognizer

TaskEngine

TaskEraser

SyntacticAnalyzer

TaskExecutor

System Communication Act

Propose

Go-Back

Confirm

Abort

Explain

Question

SyntacticStructure

Phrase

Wh Question

Explain Directive AssertY-N

Question

TaskExplainer

GeneralUtterance

User Communication Act

SemanticAnalyzer

InferenceEngine

Query

Answer

User ProfileManager

PropositionQuestion/Answer Communication Acts

Task Manager

Task Oriented Communication Acts

Utterance classified

Task or parameterutterance

AnswerInformation FlowTransition Flow

Ask

TaskRecognizer

TaskEngine

TaskEraser

SyntacticAnalyzer

TaskExecutor

System Communication Act

Propose

Go-Back

Confirm

Abort

Explain

Question

SyntacticStructure

Phrase

Wh Question

Explain Directive AssertY-N

Question

TaskExplainer

GeneralUtterance

User Communication Act

SemanticAnalyzer

InferenceEngine

Query

Answer

User ProfileManager

PropositionQuestion/Answer Communication Acts

Task Manager

Task Oriented Communication Acts

Utterance classified

Task or parameterutterance

AnswerInformation FlowTransition Flow

Motor/Coordenação de Diálogo

Page 18: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Explorando conhecimento com Linguagem Natural

1 User: Joe is a professor of Artificial Intelligence at UTC.2 System: OK.3 User: What does Joe do?4 System: Joe is a professor of Artificial Intelligence at UTC.5 User: What is Joe’s profession?6 System: Joe is a professor of Artificial Intelligence at UTC.7 User: Where does Joe works?8 System: At UTC9 User: Is Joe a professor of Artificial Intelligence?10 System: Yes11 User: Is Joe a professor of artificial intelligence at UTC?12 System: Yes13 User: Is Joe a professor of artificial intelligence at PUC?14 System: I don’t know. None information about this.15 User: What does Joe teaches?16 System: Artificial Intelligence

1 User: Joe is a professor of Artificial Intelligence at UTC.2 System: OK.3 User: What does Joe do?4 System: Joe is a professor of Artificial Intelligence at UTC.5 User: What is Joe’s profession?6 System: Joe is a professor of Artificial Intelligence at UTC.7 User: Where does Joe works?8 System: At UTC9 User: Is Joe a professor of Artificial Intelligence?10 System: Yes11 User: Is Joe a professor of artificial intelligence at UTC?12 System: Yes13 User: Is Joe a professor of artificial intelligence at PUC?14 System: I don’t know. None information about this.15 User: What does Joe teaches?16 System: Artificial Intelligence

Page 19: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Explorando conhecimento com Linguagem Natural(cont.)

1 User: Send a mail to Marco for me. 2 System: Who are the Carbon Copy receivers? 3 User: What is Leila’s address? 4 System: The address of Leila is “25 rue de Paris”. 5 System: Who are the Carbon Copy receivers? 6 User: none 7 System: What is the subject? 8 User: Ohh I’m sorry I made mistake! 9 System: Who are the Carbon Copy receivers? 10 User: Mary’s husband. 11 System: What is the subject? …

Page 20: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Base de conhecimentos gerais

All

PhyObj Abstract

Joe (“Joe”):has-professor “Prof58”

Instituition (“Instituition” “local”)

Profession (“Professor” “job” “work”):has-instituition:has-subject

UTC (“UTC” “Université deTechnologie de Compiègne”)

Prof58:has-instituition “UTC”:has-subject “artificial-intelligence”

Artificial-Intelligence(“Artificial Intelligence” “AI”)

Subject(“Subject” “Discipline” “Area”)

… …

is-a

instance-of

All

PhyObj Abstract

Joe (“Joe”):has-professor “Prof58”

Instituition (“Instituition” “local”)

Profession (“Professor” “job” “work”):has-instituition:has-subject

UTC (“UTC” “Université deTechnologie de Compiègne”)

Prof58:has-instituition “UTC”:has-subject “artificial-intelligence”

Artificial-Intelligence(“Artificial Intelligence” “AI”)

Subject(“Subject” “Discipline” “Area”)

… …

is-a

instance-of

Page 21: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Base de conhecimentos sobre mecânica

Task

VC-Prod AC-DC-Conv-Prod

AbstractPhysobj

Parallel-Line Vacuum-Cleaner. . .AC-Mot-Prod DC-Mot-Prod RC-Production

. . .

All

Has-Task

Has-Subtask

Has-Subtask

Has-SubtaskHas-Subtask

instance-ofis-aproperty

Task

VC-Prod AC-DC-Conv-Prod

AbstractPhysobj

Parallel-Line Vacuum-Cleaner. . .AC-Mot-Prod DC-Mot-Prod RC-Production

. . .

All

Has-Task

Has-Subtask

Has-Subtask

Has-SubtaskHas-Subtask

instance-ofis-aproperty

Page 22: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Questões específicas

1 User: How can I create a vacuum cleaner?

2 System: Firstly, a switch is needed to physically alternate the

polarities from the power supply so the motor runs in a clockwise

or CCW direction. If you use a Remote control, it must be… The

production of an AC motor must…

3 User: Why must I create an ac motor?

4 System: The production of an AC motor for a suction cleaner

needs take into account a relative speed, high torque for turning a

fan unit and the belt drive.

Page 23: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Sobre sistemas de diálogo

• Atos de diálogo podem ser utilizados para construir sistemas capazes de responder a sentenças em linguagem natural

• Independência entre modelo de diálogo e conhecimentos do domínio

• Motor de diálogo genérico + estrutura explícita das tarefas torna o sistema escalável

Page 24: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Trabalho (Segunda Parcial)

• Escolher um dentre as duas alternativas a seguir. Vc deve decidir também qual técnica utilizar (palavras-chave, morfológica ou semântica)

• Alternativa 1:– Desenvolver um chatterbot capaz de responder perguntas sobre

alguém. Esse sistema deve rodar na web e responder perguntas sobre:

• Tratamento pessoal (apresentação, cumprimentos em geral)• Dados pessoais (nome, endereço, idade, etc.)• Características físicas (altura, cor dos olhos, cabelos, etc.)• Atividades acadêmicas (onde estuda, desde quando, oq estuda,

etc.)• Atividades profissionais (onde trabalha, oq faz, desde quando, etc.)• Hobbies (oq gosta de fazer, oq faz no final de semana, etc.)

Page 25: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Trabalho (Segunda Parcial)

• Alternativa 2:– Desenvolver um sistema para reserva de passagens rodoviárias

inter-municipais usando linguagem natural. O sistema deve conter:• Um grafo de diálogo• Um mecanismo de coordenação de diálogo• Permitir ao usuário saltar de um nó para outro no diálogo de maneira

natural• Uma base de passagens fictícias para confirmar a reserva ou informar

passagens que satisfazem parcialmente os dados dos usuários• Obter do usuário as seguintes informações:

– Quantidade de passagens– Cidade de partida– Cidade de destino– Horário de saída– Data da viagem (incluindo valores como “amanhã”, “sexta-feira”, etc.)– Tipo do bilhete (convencional, leito, semi-leito, etc)

Page 26: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Trabalho (Segunda Parcial)

• Alternativa 3:– Desenvolver um Agente Assistente capaz de

auxiliar um usuário a navegar em um site web. O sistema deve:

• Rodar no browser• Utilizar um site com pelo menos 20 páginas que

contém pelo menos uma tela de texto cada uma• Responder perguntas dos usuários sobre as

informações do site• Indicar as páginas e parágrafos relacionados com a

resposta do usuário• O site deve ser comercial

Page 27: Interfaces Conversacionais Interação Humano-Computador Fabrício Enembreck

Entrega do trabalho

• Entregar documento com descrição do sistema, modo de instalação (se houver), funcionamento e código fonte. Fazer teste de autoria e avaliação do funcionamento do sistema no laboratório

• Equipe: máximo duplas• Valor total: 10.0 pontos (3a. parcial)• Data de entrega final (documento (2.0

Pontos) + programa (8.0 Pontos)): 05/12