14
Inteligência Artificial Prof. Ms. Luiz Alberto Contato: [email protected] Prof. Luiz Alberto - Aula 1 - IA – Introdução O que é Inteligência Artificial? Área de pesquisa que tem como objetivo buscar métodos ou dispositivos computacionais que possuam ou aumentem a capacidade racional do ser humano de resolver problemas, “pensar” ou, de forma geral, “ser inteligente”. O conceito de Inteligência Artificial é algo bem amplo e que recebe tantas definições quanto os diversos significados da palavra inteligência. –1– Prof. Luiz Alberto - Aula 1 - IA – Introdução O que é Inteligência Artificial? [Winston, 1984]: –"Inteligência artificial é o estudo das ideias que permitem aos computadores serem inteligentes" [Schalkoff, 1990]: –“É o campo de estudo que tenta explicar e simular o comportamento inteligente em termos de processos computacionais” [Kurzweil, 1990] –“A arte de criar máquinas que executam funções que requerem inteligência quando executadas por pessoas–2– Prof. Luiz Alberto - Aula 1 - IA – Introdução O que é Inteligência Artificial? •“Inteligência” + “Artificial–“ArtificialAlgo criado, algo que não é natural... –“InteligênciaSe comportar como um humano? Se comportar da melhor maneira possível? • Pensar? • Agir? –3–

O que é Inteligência Artificial? Inteligência Artificial

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Page 1: O que é Inteligência Artificial? Inteligência Artificial

Inteligência Artificial

Prof. Ms. Luiz Alberto

Contato: [email protected]

Prof. Luiz Alberto -Aula 1 - IA – Introdução

O que é Inteligência Artificial?

• Área de pesquisa que tem como objetivo buscar métodos ou dispositivos computacionais que possuam ou aumentem a capacidade racional do ser humano de resolver problemas, “pensar”

ou, de forma geral, “ser inteligente”.

• O conceito de Inteligência Artificial é algo bem amplo e que recebe tantas definições quanto os diversos significados da palavra inteligência.

– 1 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

O que é Inteligência Artificial?

• [Winston, 1984]:

– "Inteligência artificial é o estudo das ideias que permitem aos computadores serem inteligentes"

• [Schalkoff, 1990]:

– “É o campo de estudo que tenta explicar e simular o comportamento inteligente em termos de processos computacionais”

• [Kurzweil, 1990]

– “A arte de criar máquinas que executam funções que requerem inteligência quando executadas por pessoas”

– 2 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

O que é Inteligência Artificial?

• “Inteligência” + “Artificial”

– “Artificial”

• Algo criado, algo que não é natural...

– “Inteligência”

• Se comportar como um humano?

• Se comportar da melhor maneira possível?

• Pensar?

• Agir?

– 3 –

Page 2: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

O que é Inteligência Artificial?

• A Inteligência Artificial busca entender a mente humana

e imitar computacionalmente o seu funcionamento.– Como os seres humanos extraem o conhecimento do mundo?

– Como a memória, os sentidos e a linguagem ajudam no desenvolvimento da inteligência?

– Como surgem as ideias?

– Como a mente processa informações e tira conclusões decidindo por uma coisa ao invés de outra?

• Essas são algumas perguntas que a IA precisa responder para simular o raciocínio humano e implementar aspectos da inteligência.

– 4 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

História da Inteligência Artificial

• 2011 – Watson (IBM) derrota os dois maiores jogadores de Jeopardy (Brad Rutter e Ken Jennings).– Baseado em tecnicas avançadas de Processamento de Linguagem Natural,

Recuperação de Informação, Representação de Conhecimento, Raciocínio e Aprendizado de Máquina.

– Processamento paralelo massivo.

• 90 clusters com um total de 2880 servidores com processadores de 3.5 GHz (8 núcleos e 4 threads por núcleo). 16 Terabytes de memória RAM.

– 5 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Abordagens para Inteligência Artificial

• Abordagem Simbólica:

– Representa o conhecimento por sentenças declarativas.

– Deduz consequências por métodos de raciocínio lógico.

– Exemplo:• ∀x∀y irmão(x, y) ⇒ parente(x, y)

• ∀x∀y∀z pai(z, x) ∧ pai(z, y) ⇒ irmão(x, y)

• pai(joão, maria).

• pai(joão, eduardo).

– É necessário:• Identificar o conhecimento do domínio (modelo do problema).

• Representá-lo utilizando uma linguagem formal de representação.

• Implementar um mecanismo de inferência para utilizar esse conhecimento.

Maria e Eduardo são parentes.

– 6 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

IA simbólica (ou GOFAI)

• resolução de problema por busca

– 7 –

Page 3: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -

IA: Paradigma Simbólico

8 Prof. Luiz Alberto -Aula 1 - IA – Introdução

Abordagens para Inteligência Artificial

• Abordagem Não-Simbólica:

– Na abordagem Não-Simbólica, o conhecimento não é representado explicitamente por meio de símbolos, e sim, construído a partir de um processo de aprendizado, adaptação ou inferência.

– Exemplos: • Redes Neurais Artificiais, Computação Evolutiva, Sistemas Nebulosos...

– 9 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA: Robótica

• Como obter navegação segura e eficiente, manipulação fina e versátil, autonomia?

• E no caso de ambientes dinâmicos e imprevisíveis?

10 Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA: Automação

de sistemas complexos

• Como modelar os componentes do sistema e dar-lhes autonomia? • Como assegurar boa comunicação e coordenação entre esses

componentes?

11

Page 4: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Automação de Software Complexo

�Segundo o Autonomic Computing Manifesto (IBM 2001), o que queremos são sistemas capazes de:◦ Conhecer o ambiente◦ Auto conhecimento◦ Auto-Configuração◦ Auto-Recuperação◦ Auto-Otimização◦ Auto-Proteção◦ Conhecimento do contexto◦ Integração automática◦ Realizar predição

12 Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA:

Sistemas de controle

• Como frear o carro sem as rodas deslizarem em função da velocidade, atrito, ...?

• Como focar a câmera em função de luminosidade, distância...?• Como ajustar a temperatura em da quantidade de roupa, fluxo de

água, ...?

13

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA:

Simulações e jogos

• Como modelar o ambiente físico e o comportamento/personalidade dos personagens?

• Como permitir interação interessante com o usuário?

14FIFA SoccerThe Sims Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA: Previsão

• Como prever o valor do dólar (ou o clima) amanhã?

• Que dados são relevantes? Há comportamentos recorrentes?

15

Page 5: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA:

Sistemas de Recomendação

� Como fazer recomendações personalizadas de produtos? � Como modelar os perfis dos compradores?� Como recomendar experts capazes de ajudar usuários a resolver

problemas?

16 Prof. Luiz Alberto -

Exemplo: Recomendação de Amizades

Xi −→ existe um link entre dois usu´arios15/34

Prof. Luiz Alberto -

Exemplo: Recomendação de Propagandas

16/34 Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA:

Recuperação de informação

• Como localizar a informação relevante?

19

Page 6: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -

Aplicações da IA: Detecção de intrusão e

filtragem de spam

• Como saber se uma mensagem é lixo ou de fato interessa?

• Como detectar usuários suspeitos e como lidar com isto?

20 Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aplicações da IA:

Interação Humano Máquina

� Como dar ao usuário a ajuda de que ele precisa?� Como interagir (e até navegar na web) com celular sem ter de digitar

(hands-free)?� Como adaptar a informação e funcionalidades ao dispositivo e à

situação do usuário?

21

Prof. Luiz Alberto -

Aplicações – Data Mining

22 Prof. Luiz Alberto -

Aplicações - Reconhecimento deescrita

23

Page 7: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -

Exemplo: Predição da Bolsa

10/34 Prof. Luiz Alberto -

Mineração de Dados: Por que ?

• Quantidades gigantescas de dados são coletados e armazenados em empresas, corporações, etc– Dados de comércio eletrônico,

– Dados de navegação na internet

– Dados de compras de clientes em grandes lojas de departamentos, supermercados,

– Dados de transações bancárias, ou de cartão de crédito

• Computadores mais baratos e mais potentes

• Pressão da Competição

25

Prof. Luiz Alberto -– 26 –

O que é Data Mining ?

• Mineração de dados (descoberta de conhecimento embases de dados):– Extração de informação interessante (não-trivial, implícita,

previamente desconhecida e potencialmente útil) dos dados armazenados em grandes massas de dados

• Nomes alternativos:– Descoberta (mineração) de conhecimento em banco de dados

(KDD), extração de conhecimento, análise de dados/padrões, business intelligence, etc.

• O que não é data mining?– Processamento de consultas dedutivo. – Sistemas especialistas ou pequenos programas estatísticos ou de

aprendizado de máquinaProf. Luiz Alberto -Aula 1 - IA – Introdução

Mineração de Textos – Text Mining

• Mineração de Textos – Text Mining– Descoberta de conhecimento em textos (DCT)– Do inglês, knowledge discovery in texts (KDT)– é um processo que visa descobrir padrões não explícitos

a partir de documentos textuais

• A Mineração de Textos é um processo semelhante à Mineração de Dados – DM – Data Mining

27

Page 8: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

• Áreas correlatas– recuperação de informação – extração de informação– processamento de linguagem natural– aprendizagem de máquina– mineração de dados

28

Mineração de Textos – Text Mining

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Mineração de Textos – Text Mining

29

• Mineração de dados– Trabalha com dados estruturados

• Bancos de dados...

• Mineração de textos – Os dados são não estruturados (texto livre) ou

semiestruturados

Prof. Luiz Alberto -Aula 1 - IA – Introdução

O que é mineração de opinião?

O É o campo de estudo que analisa as opiniões,sentimentos, avaliações, atitudes e emoções depessoas direcionadas a produtos, serviços,organizações, indivíduos, problemas, eventos,tópicos e seus atributos.

O É o campo de estudo que analisa as opiniõesde pessoas direcionadas a entidades.

– 30 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

• Aumento do compartilhamento de opinião;

• Analista de mídias sociais – característico das áreas de jornalismo, publicidade ou relações públicas.

• Lentidão no atendimento Web;

• Surge a análise de sentimentos – estudo de opiniões, sentimento e emoções expressas em textos;

• Realizada por meio de técnicas de Text Mining;

• Geralmente classifica opiniões em positivo, negativo ou neutro.

O que é mineração de opinião?

– 31 –

Page 9: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Assistente Virtual (Chatbot)

• É um programa de computador que tenta simular um ser

humano na conversação e interação com as pessoas. O objetivo é auxiliar os usuários em tarefas simples como respostas a dúvidas frequentes, agendamentos, pesquisas, dentre outros, de tal forma que consigam soluções rápidas, com a impressão de estarem conversando com um atendente.

• Através da seleção de opções ou o envio de perguntas em linguagem natural, o programa consulta uma base de conhecimento e em seguida fornece uma resposta que tenta imitar o comportamento humano.

– 32 – Prof. Luiz Alberto -

Assistente Virtual (Chatbot)

33

Prof. Luiz Alberto -

Assistente Virtual(Chatbot)

34 Prof. Luiz Alberto -Aula 1 - IA – Introdução

Exemplos de Aplicação da IA

• Jogos: xadrez, damas, etc.

• Processamento de linguagem natural: tradução automática, verificadores ortográficos e sintáticos, interface vocal, reconhecimento da fala, de locutor, etc.

• Sistemas tutores: modelagem do aluno, escolha de estratégias pedagógicas, etc.

• Robótica (software e hardware): manipulação, navegação, monitoramento, etc.

• Sistemas especialistas: Atividades que exigem conhecimento especializado e não formalizado

– 35 –

Page 10: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Inteligência Artificial

36

• Busca heurística• Representaçãodo conhecimento

• Raciocínio• Planejamento • Aprendizagem• Sistemas

Multi-Agentes• Reconhecimentode Padrões

•Processamento de Linguagem Natural

Problemas• Jogos• SistemasEspecialistas

• Robótica• Bioinformática •Sistemas de Controle •Reconhecimento de Imagens •Recuperação de Informação

Aplicações

•Filosofia•Matemática

• Lógica• Proba. e Estat.• Cálculo

• Sociologia• Lingüística• Psicologia• Genética• Neuro-fisiologia•Economia •Computaçãotradicional

Fundamentos

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Introdução

• Computadores realmente são capazes de aprender?

• Infelizmente ainda não sabemos exatamente como fazer computadores aprender de uma maneira similar a maneira como os humanos aprendem.

• Entretanto, existem algoritmos que são eficientes em certos tipos de tarefas de aprendizagem.

– 37 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

O que é Aprendizagem de Máquina?

• Aprender significa “mudar para fazer melhor” (de acordo com um dado critério) quando uma situação similar acontecer.

• Aprendizagem, não é memorizar. Qualquer computador pode memorizar, a dificuldade está em generalizar um comportamento para uma nova situação.

– 38 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Importância do Aprendizado

• Por que é importante para um agente aprender?

– Os programadores não podem antecipar todas as situações que o agente pode encontrar.

Exemplo: Um robô programado para andar em um único labirinto pode não saber andar em outros.

– Os programadores não podem antecipar todas as mudanças que podem acontecer com o passar do tempo.

Exemplo: Agente programado para prever as melhores opção de bolsa para investir precisa se adapta quando o ambiente muda.

– Os programadores nem sempre sabem encontrar a solução dos problemas diretamente.

Exemplo: Programar um sistema para reconhecer faces não é algo trivial.

– 39 –

Page 11: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Como Aprender Algo?

• Exemplos:– Considerando um agente treinando para se tornar

um motorista de táxi. Toda vez que o instrutor gritar "freio!" o agente pode aprender uma condição de quando ele deve frear.

– Ao ver várias imagens que contem ônibus, o agente pode aprender a reconhecê-los.

– Ao tentar ações e observar os resultados. Por exemplo, ao frear forte em uma estrada molhada pode aprender que isso não tem um efeito bom.

– 40 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Formas de Aprendizado

• Aprendizado Supervisionado

• Aprendizado Não Supervisionado

• Aprendizado Por Reforço

– 41 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aprendizado Supervisionado

• Observa-se alguns pares de exemplos de entrada e saída, de forma a aprender uma função que mapeia a entrada para a saída.

• Damos ao sistema a “resposta correta” durante o processo de treinamento.

• É eficiente pois o sistema pode trabalhar diretamente com informações corretas.

• Útil para classificação, regressão, estimação de probabilidade condicional (qual é a probabilidade de um cliente com um determinado perfil comprar um determinado produto?)

– 42 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aprendizado Supervisionado

• Exemplo:– Considerando um agente treinando para ser se tornar um motorista de táxi.

Toda vez que o instrutor gritar "freio!" o agente pode aprender uma condição de quando ele deve frear.

– A entrada é formada pelos dados percebidos pelo agente através de sensores. A saída é dada pelo instrutor que diz quando se deve frear, virar a direita, virar a esquerda, etc.

– 43 –

Page 12: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aprendizado Não Supervisionado

• O agente reconhece padrões nos dados de entrada, mesmo sem nenhum feedback de saída.

• Por exemplo, um agente aprendendo a dirigir pode gradualmente desenvolver um conceito de dias de bom trafego e dias de trafego congestionado mesmo sem nunca ter recebido exemplos rotulados por um professor.

– 44 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Aprendizado Por Reforço

• O agente recebe uma série de reforços, recompensas ou punições.

• Por exemplo, a falta de uma gorjeta no final do percurso da ao agente taxista uma indicação de que ele fez algo errado.

• Cabe ao agente reconhecer qual das ações antes do reforço foram as maiores responsáveis por isso.

• Não damos a “resposta correta” para o sistema. O sistema faz uma hipótese e determina se essa hipótese foi boa ou ruim.

– 45 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Fases da Aprendizagem

• Treinamento– Apresenta-se exemplos ao sistema.

– O sistema “aprende” a partir dos exemplos.

– O sistema modifica gradualmente os seus parâmetros para que a saída se aproxime da saída desejada.

• Utilização– Novos exemplos jamais visto são apresentados ao sistema.

– O sistema deve generalizar e reconhecê-los.

– 46 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Exemplos de Treinamento

(Aprendizado Supervisionado)

Atributos

Exemplo Atrib1 Atrib2 Atrib3 Atrib4 Atrib5 Atrib6 Classe

X10.24829 0.49713 0.00692 -0.020360 0.429731 -0.2935 1

X20.24816 0.49729 0.00672 0.0065762 0.431444 -0.29384 1

X30.24884 0.49924 0.01047 -0.002901 0.423145 -0.28956 3

X40.24802 0.50013 0.01172 0.001992 0.422416 -0.29092 2

X50.24775 0.49343 0.01729 -0.014341 0.420937 -0.29244 2

– 47 –

Page 13: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Classificação de Exemplos

Desconhecidos

Atributos

Exemplo Atrib1 Atrib2 Atrib3 Atrib4 Atrib5 Atrib6 Classe

X10.22829 0.48713 0.00592 -0.010360 0.419731 -0.2845 ?

X20.21816 0.48729 0.00572 0.0045762 0.421444 -0.28484 ?

X30.23884 0.49824 0.01447 -0.003901 0.433145 -0.24956 ?

X40.23002 0.49013 0.02172 0.002992 0.412416 -0.28092 ?

X50.24575 0.49243 0.01029 -0.015341 0.430937 -0.28244 ?

– 48 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Generalizar é Difícil

• Não queremos aprender por memorização

– Boa resposta sobre os exemplos de treinamento somente.

– Fácil para um computador.

– Difícil para os humanos.

• Aprender visando generalizar

– Mais interessante.

– Fundamentalmente mais difícil: diversas maneiras de generalizar.

– Devemos extrair a essência, a estrutura dos dados e não somente aprender a boa resposta para alguns casos.

– 49 –

Ferramentas de

Mineração de Dados

– 50 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

RapidMiner

• RapidMiner é uma plataforma de software de ciência de dados desenvolvida pela empresa de mesmo nome que fornece um ambiente integrado para preparação de dados, aprendizado de máquina, aprendizado profundo, mineração de texto e análise preditiva.

• É frequentemente citado em pesquisas sobre soluçõesutilizadas para análise de dados.

– 51 –

Page 14: O que é Inteligência Artificial? Inteligência Artificial

Prof. Luiz Alberto -Aula 1 - IA – Introdução

WEKA

• O pacote de software Weka começou a ser escrito em 1993, usando Java, na Universidade de Waikato, Nova Zelândia sendo adquirido posteriormente por uma empresa no final de 2006. O Weka é um software livre largamente utilizado para mineração de dados, e oferece uma lista ampla de algoritmos para análise de dados, podendo ser instalado em qualquer computador com Windows ou Linux.

– 52 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Python

• Python foi considerada a linguagem de programação mais usada pela comunidade de profissionais de Mineração de dados e Big data.

• Python tem inúmeras razões para ser escolhida e podemos citar algumas como simplicidade, clareza e reusabilidade.

• A linguagem oferece uma sintaxe simples e objetiva permitindo o programador se focar no problema a ser resolvido sem se preocupar tanto com detalhes de implementações.

• Além da grande comunidade no mundo inteiro, Python possui um vasto e variado conjunto de bibliotecas para se trabalhar com diversas áreas, desde computação científica, redes, segurança e claro análise de dados.

– 53 –

Prof. Luiz Alberto -Aula 1 - IA – Introdução

Bibliotecas Python

• Jupyter: Aplicação cliente-servidor que permite a edição e execução de notebooks via browser. Notebooks são documentos que contém código e elementos visuais como imagens, links, equações. A principal vantagemautilização de notebooks é para a descrição de análises e seus resultados de forma dinâmica e interativa.

• NumPy: Biblioteca Python para computação científica. Implementa arrays multidimensionais e permite a fácil execução de operações matemáticas e lógicas como ordenação, seleção, transformações, operações estatísticas básicas etc.

• Matplotlib: Biblioteca Python 2D para a visualização e plotagem de gráficos. Pode ser utilizada para gerar diversos tipos de gráficos como histogramas, gráficos de barras, gráficos de pizza tudo de forma fácil e rápida.

– 54 – Prof. Luiz Alberto -Aula 1 - IA – Introdução

Bibliotecas Python

• Pandas: Esta biblioteca talvez seja a mais utilizada para análise de dados. Ela fornece ferramentas para manipulação de estruturas de dados de forma extremamente simples. Operações complexas que trabalham com matrizes e vetores podem ser facilmente realizadas com uma ótima performance.

• Scikit-Learn: Biblioteca Python para trabalhar com Machine Learn (Aprendizado de Máquina). Contém diversos algoritmos implementados, métodos de análise e processamento de dados, métricas de avaliação etc. Essa é uma biblioteca extremamente útil para o cientista de dados.

• NLTK: é uma plataforma líder para a construção de programas Python para trabalhar com dados de linguagem humana. Ele fornece interfaces fáceis de usar para mais de 50 corpora e recursos lexicais como o WordNet, juntamente com um conjunto de bibliotecas de processamento de texto para classificação, tokenização, stemming, tagging, análise e raciocínio semântico

• Scrapy: Biblioteca Python para a raspagem ou coleta de dados a partir da Web. É possível coletar dados de sites, redes sociais, fóruns e diversos outros canais utilizando uma linguagem simples e objetiva. Extremamente útil para a geração de bases de dados.

– 55 –