Inteligência Artificial para
Sistemas Colaborativos



Rodrigo Padula de Oliveira
@rodrigopadula
http://www.rodrigopadula.com
Conceito de Inteligência Artificial
A Inteligência Artificial(IA) é uma área de
pesquisa da ciência da computação dedicada a
buscar       métodos         ou   dispositivos
computacionais que possuam ou multipliquem
a capacidade racional do ser humano de
resolver problemas, pensar ou, de forma
ampla, ser inteligente.
História da Inteligência Artifcial
Construção do Conhecimento e
Cooperação
A vida social transforma a inteligência do ser. Através da linguagem,
do conteúdo das permutas (valores intelectuais) e pelas regras impostas ao
pensamento (normas coletivas, lógicas ou pré-lógicas). A inteligência
humana desenvolve, desde a sua origem, a capacidade de agir
voluntariamente, controlando o meio físico, é tanto uma resultante quanto
uma componente deste processo. Para que possa ocorrer construção de
conhecimentos nos sujeitos em um ambiente qualquer, seja este educacional
ou não, é necessário que exista interação entre eles. Além disso, o
ambiente deve propiciar a confrontação de pontos de vista
divergentes, a existência de concepções diferentes a respeito de uma
mesma situação ou tarefa. Assim, é possível produzir conflitos socio-
cognitivos, mobilizando e forçando reestruturações intelectuais e, com
isso, o progresso intelectual. Mas isso depende de um fator de suma
importância, que é o tipo de relação ou interação que irá ocorrer entre os
sujeitos.
Aplicações Diversas
Pensando grande
Outras aplicações
Sensores
O futuro da robótica e IA
Técnicas de Inteligência Artificial
Ontologia:       Em Ciência da Computação, Sistemas de Informação
e Ciência da Informação, uma ontologia é um modelo de dados que
representa um conjunto de conceitos dentro de um domínio e os
relacionamentos entre estes. Uma ontologia é utilizada para realizar
inferência sobre os objetos do domínio.
Mineração de Dados:                    Prospecção de dados (
português europeu) ou mineração de dados (português brasileiro)
(também conhecida pelo termo inglês data mining) é o processo de
explorar grandes quantidades de dados à procura de padrões
consistentes, como regras de associação ou sequências temporais,
para detectar relacionamentos sistemáticos entre variáveis, detectando
assim novos subconjuntos de dados.
Processo de Extração do Conhecimento

O processo de Extração do Conhecimento é composto por cinco etapas:


Seleção: etapa de escolha da base de dados a ser analisada.


Pré-processamento: etapa de “limpeza” dos dados, ou seja, reduzir discrepâncias
de valores ruidores e corrigir inconsistências.


Transformação: transformação de dados, estes são modificados ou transformados
em formatos apropriados à mineração, que pode por agregação, generalização,
normalização, construção de atributos ou redução de dados.


Mineração de dados: etapa de utilização de técnicas de algoritmos. É nesta etapa
que os testes realizados com o Weka são obtidos.
Aplicações de Data Mining
•   Vendas no varejo
•   Comércio Eletrônico
•   Sistemas de recomendação
•   Pesquisas Genéticas
•   Sistemas de segurança
•   Sistemas de operadoras de Cartões de
    Crédito
•   Mercado financeiro (bolsa de valores)
Redes Neurais
Redes neuronais ou redes neurais (mais propriamente, redes
neuronais artificiais) são sistemas computacionais estruturados
numa aproximação à computação baseada em ligações. Nós simples
(ou neurões, neurônios, processadores ou unidades) são interligados
para formar uma rede de nós - daí o termo rede neuronal. A inspiração
original para essa técnica advém do exame das estruturas do cérebro
em particular do exame de neurônios.
Redes Neurais
Processos de Aprendizagem de
uma Rede Neural

A propriedade mais importante das redes neurais é a habilidade
de aprender de seu ambiente e com isso melhorar seu
desempenho. O aprendizado ocorre quando a rede neural atinge
uma solução generalizada para uma classe de problemas.
Machine Learning
Paradigmas de aprendizagem das Redes
Neurais:

1- Por independência de quem aprende
   As Redes Neurais Artificiais aprendem por memorização, contato,
exemplos, por analogia, por exploração e também por descoberta.


2. Por retroação do mundo
    Diz repeito a ausência ou presença de realimentação explícita do
mundo exterior, ou seja, que em certos intervalos de tempo um agente
assinala acertos e erros.
    2.1 Aprendizado Supervisionado: utiliza um agente externo que
indica à rede um comportamento bom ou ruim de acordo com o padrão
de entrada
    2.2 Aprendizado Não Supervisionado (auto-organização): não utiliza
um agente externo indicando a resposta desejada para os padrões de
entrada, utiliza-se entretanto, exemplos de coisas semelhantes para que
a rede responda de maneira semelhante.
3. Por Finalidade do Aprendizado


     3.1 Auto-associador: é apresentada à rede uma coleção de
exemplos para que ela memorize. Quando se apresenta um dos
elementos da coleção de exemplos mas de modo errôneo, a rede
deve mostrar o exemplo original, funcionando assim como um
filtro.
     3.2 Hetero-associador: é uma variação do Auto-associador,
mas que se memoriza um conjunto de pares. O sistema aprende a
reproduzir o segundo elemento do par mesmo que o primeiro
esteja pouco modificado, funcionando desta maneira como um
reconhecedor de padrões.
Sistemas Especialistas

Sistemas especialistas são programas que têm como objetivo simular
o raciocínio de um profissional “expert” em alguma área de
conhecimento bem específica. Por exemplo, um sistema especialista
em “câncer de mama” (área específica da medicina) perguntaria certos
dados ao usuário e forneceria um diagnóstico acrescido de um
aconselhamento profissional sobre o que seria o melhor a fazer nesse
caso informado.
Exemplo
Agentes e sistemas multiagentes


A modelagem baseada em agentes é uma técnica de modelagem
extremamente rica que permite lidar com sistemas complexos a partir
de suas unidades constituintes e identificar propriedades emergentes
resultantes das interações entre estas. Algumas situações são
particularmente úteis para utilização desta técnica: quando lidamos
com uma população heterogênea em que cada indivíduo é
(potencialmente) diferente; quando os agentes apresentam
comportamento complexo, incluindo aprendizagem e adaptação;
quando a interação entre os agentes é complexa; quando o espaço é
crucial e o posicionamento dos agentes não é fixo. (Bonabeau, 2002)
Modelagem baseada em agentes
•   Na modelagem baseada em agentes,
    consideramos como “agente” qualquer
    elemento para o qual desejamos atribuir um
    comportamento.
•   Nesse tipo de modelagem os agentes
    possuem: representação interna dos dados
    (memória ou estágio); meios para modificar
    suas representações internas (percepções);
    e meios para modificar seu ambiente
    (comportamento).
Sistemas Autonômicos

Os sistemas autonômicos escondem a sua complexidade e
oferecem ao usuário uma interface que atende somente as
suas necessidades. Os administradores são responsáveis
apenas por decisões de alto-nível como definição de
políticas e objetivos. A denominação autonômica vem do
fato de que os dispositivos e softwares presentes na AC
operam por conta própria. Outra característica dos
sistemas autonômicos é a sua otimização constante para
garantir a prestação de melhores serviços, se adequar ao
ambiente que está inserido e reduzir problemas
relacionados a complexidade das redes (MAIA, 2006).
Inteligência Artificial Aplicada a
Sistemas Colaborativos
Técnica de Apoio a Comunicação


•   Sensemaking ( apoio para entendimento e
    organização de informações)

•   Ontologias de domínios para identificação
    de assuntos tratados em mensagens.
Técnica de Apoio a Coordenação


•   Uso da IA para resolução de conflitos em
    trabalhos colaborativos (controle de conflitos
    através de sistemas especialistas e ou
    agentes)
•   Mapeamento de competências, definição de
    papéis e sistemas de recomendação
    profissional.
Perguntas????

Inteligência artificial para sistemas colaborativos

  • 1.
    Inteligência Artificial para SistemasColaborativos Rodrigo Padula de Oliveira @rodrigopadula http://www.rodrigopadula.com
  • 2.
    Conceito de InteligênciaArtificial A Inteligência Artificial(IA) é uma área de pesquisa da ciência da computação dedicada a buscar métodos ou dispositivos computacionais que possuam ou multipliquem a capacidade racional do ser humano de resolver problemas, pensar ou, de forma ampla, ser inteligente.
  • 5.
  • 6.
    Construção do Conhecimentoe Cooperação A vida social transforma a inteligência do ser. Através da linguagem, do conteúdo das permutas (valores intelectuais) e pelas regras impostas ao pensamento (normas coletivas, lógicas ou pré-lógicas). A inteligência humana desenvolve, desde a sua origem, a capacidade de agir voluntariamente, controlando o meio físico, é tanto uma resultante quanto uma componente deste processo. Para que possa ocorrer construção de conhecimentos nos sujeitos em um ambiente qualquer, seja este educacional ou não, é necessário que exista interação entre eles. Além disso, o ambiente deve propiciar a confrontação de pontos de vista divergentes, a existência de concepções diferentes a respeito de uma mesma situação ou tarefa. Assim, é possível produzir conflitos socio- cognitivos, mobilizando e forçando reestruturações intelectuais e, com isso, o progresso intelectual. Mas isso depende de um fator de suma importância, que é o tipo de relação ou interação que irá ocorrer entre os sujeitos.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    O futuro darobótica e IA
  • 12.
    Técnicas de InteligênciaArtificial Ontologia: Em Ciência da Computação, Sistemas de Informação e Ciência da Informação, uma ontologia é um modelo de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes. Uma ontologia é utilizada para realizar inferência sobre os objetos do domínio.
  • 13.
    Mineração de Dados: Prospecção de dados ( português europeu) ou mineração de dados (português brasileiro) (também conhecida pelo termo inglês data mining) é o processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detectar relacionamentos sistemáticos entre variáveis, detectando assim novos subconjuntos de dados.
  • 15.
    Processo de Extraçãodo Conhecimento O processo de Extração do Conhecimento é composto por cinco etapas: Seleção: etapa de escolha da base de dados a ser analisada. Pré-processamento: etapa de “limpeza” dos dados, ou seja, reduzir discrepâncias de valores ruidores e corrigir inconsistências. Transformação: transformação de dados, estes são modificados ou transformados em formatos apropriados à mineração, que pode por agregação, generalização, normalização, construção de atributos ou redução de dados. Mineração de dados: etapa de utilização de técnicas de algoritmos. É nesta etapa que os testes realizados com o Weka são obtidos.
  • 16.
    Aplicações de DataMining • Vendas no varejo • Comércio Eletrônico • Sistemas de recomendação • Pesquisas Genéticas • Sistemas de segurança • Sistemas de operadoras de Cartões de Crédito • Mercado financeiro (bolsa de valores)
  • 17.
    Redes Neurais Redes neuronaisou redes neurais (mais propriamente, redes neuronais artificiais) são sistemas computacionais estruturados numa aproximação à computação baseada em ligações. Nós simples (ou neurões, neurônios, processadores ou unidades) são interligados para formar uma rede de nós - daí o termo rede neuronal. A inspiração original para essa técnica advém do exame das estruturas do cérebro em particular do exame de neurônios.
  • 18.
  • 19.
    Processos de Aprendizagemde uma Rede Neural A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas.
  • 20.
  • 21.
    Paradigmas de aprendizagemdas Redes Neurais: 1- Por independência de quem aprende As Redes Neurais Artificiais aprendem por memorização, contato, exemplos, por analogia, por exploração e também por descoberta. 2. Por retroação do mundo Diz repeito a ausência ou presença de realimentação explícita do mundo exterior, ou seja, que em certos intervalos de tempo um agente assinala acertos e erros. 2.1 Aprendizado Supervisionado: utiliza um agente externo que indica à rede um comportamento bom ou ruim de acordo com o padrão de entrada 2.2 Aprendizado Não Supervisionado (auto-organização): não utiliza um agente externo indicando a resposta desejada para os padrões de entrada, utiliza-se entretanto, exemplos de coisas semelhantes para que a rede responda de maneira semelhante.
  • 22.
    3. Por Finalidadedo Aprendizado 3.1 Auto-associador: é apresentada à rede uma coleção de exemplos para que ela memorize. Quando se apresenta um dos elementos da coleção de exemplos mas de modo errôneo, a rede deve mostrar o exemplo original, funcionando assim como um filtro. 3.2 Hetero-associador: é uma variação do Auto-associador, mas que se memoriza um conjunto de pares. O sistema aprende a reproduzir o segundo elemento do par mesmo que o primeiro esteja pouco modificado, funcionando desta maneira como um reconhecedor de padrões.
  • 23.
    Sistemas Especialistas Sistemas especialistassão programas que têm como objetivo simular o raciocínio de um profissional “expert” em alguma área de conhecimento bem específica. Por exemplo, um sistema especialista em “câncer de mama” (área específica da medicina) perguntaria certos dados ao usuário e forneceria um diagnóstico acrescido de um aconselhamento profissional sobre o que seria o melhor a fazer nesse caso informado.
  • 24.
  • 25.
    Agentes e sistemasmultiagentes A modelagem baseada em agentes é uma técnica de modelagem extremamente rica que permite lidar com sistemas complexos a partir de suas unidades constituintes e identificar propriedades emergentes resultantes das interações entre estas. Algumas situações são particularmente úteis para utilização desta técnica: quando lidamos com uma população heterogênea em que cada indivíduo é (potencialmente) diferente; quando os agentes apresentam comportamento complexo, incluindo aprendizagem e adaptação; quando a interação entre os agentes é complexa; quando o espaço é crucial e o posicionamento dos agentes não é fixo. (Bonabeau, 2002)
  • 26.
    Modelagem baseada emagentes • Na modelagem baseada em agentes, consideramos como “agente” qualquer elemento para o qual desejamos atribuir um comportamento. • Nesse tipo de modelagem os agentes possuem: representação interna dos dados (memória ou estágio); meios para modificar suas representações internas (percepções); e meios para modificar seu ambiente (comportamento).
  • 27.
    Sistemas Autonômicos Os sistemasautonômicos escondem a sua complexidade e oferecem ao usuário uma interface que atende somente as suas necessidades. Os administradores são responsáveis apenas por decisões de alto-nível como definição de políticas e objetivos. A denominação autonômica vem do fato de que os dispositivos e softwares presentes na AC operam por conta própria. Outra característica dos sistemas autonômicos é a sua otimização constante para garantir a prestação de melhores serviços, se adequar ao ambiente que está inserido e reduzir problemas relacionados a complexidade das redes (MAIA, 2006).
  • 28.
    Inteligência Artificial Aplicadaa Sistemas Colaborativos
  • 29.
    Técnica de Apoioa Comunicação • Sensemaking ( apoio para entendimento e organização de informações) • Ontologias de domínios para identificação de assuntos tratados em mensagens.
  • 30.
    Técnica de Apoioa Coordenação • Uso da IA para resolução de conflitos em trabalhos colaborativos (controle de conflitos através de sistemas especialistas e ou agentes) • Mapeamento de competências, definição de papéis e sistemas de recomendação profissional.
  • 31.