EMERSON HENRIQUE MODOLON THIAGO DA ROSA GHISI DESENVOLVIMENTO DE UMA SHELL PARA SISTEMAS ESPECIALISTAS PARA WEB Orientador...
Introdução <ul><ul><li>Inteligência Artificial (IA) </li></ul></ul><ul><ul><ul><li>Sistemas Especialistas(SE) </li></ul></...
Problema <ul><ul><li>Shell Atuais: </li></ul></ul><ul><ul><ul><li>Durante o desenvolvimento do SE: </li></ul></ul></ul><ul...
Objetivo Geral  <ul><ul><li>Desenvolver uma Shell para Sistemas Especialistas para Web. </li></ul></ul>
Objetivos Específicos <ul><ul><li>Estudar sobre SEs; </li></ul></ul><ul><ul><li>Analisar um conjunto de Shells atuais; </l...
Resultados Esperados <ul><ul><li>Simplificar ao máximo o desenvolvimento de um SE. </li></ul></ul><ul><ul><li>Permitir a i...
Metodologia <ul><ul><li>Etapa 1: Fundamentação Teórica </li></ul></ul><ul><ul><li>Etapa 2: Análise de um conjunto de Shell...
Fundamentação teórica <ul><ul><li>Lógica </li></ul></ul><ul><ul><li>Representação do Conhecimento </li></ul></ul><ul><ul><...
Arquitetura de um SE
Análise das Shells Atuais
Expert Sinta
Expertise 2 Go
SPIRIT
Experts Go To Web
Conclusão <ul><ul><li>Simplifica o desenvolvimento de um SE. </li></ul></ul><ul><ul><li>Permite de modo simplificado a col...
Dificuldades Encontradas <ul><ul><li>Shells Pagas  </li></ul></ul><ul><ul><li>Threads na Web </li></ul></ul><ul><ul><li>Im...
Trabalhos Futuros <ul><ul><li>Fazer um compilador (evitar problemas com semântica, principalmente) </li></ul></ul><ul><ul>...
Trabalhos Futuros <ul><ul><li>Grau de Confiabilidade (Expert Sinta) </li></ul></ul><ul><ul><li>Implementar Lógica difusa <...
Fim da Apresentação &quot;A internet está se tornando um computador gigante que todos podem programar, fornecendo uma infr...
Upcoming SlideShare
Loading in …5
×

ExpertsGoToWeb: Shell para desenvolvimento de sistemas especialistas na web

1,632 views
1,472 views

Published on


APRESENTAÇÃO DE TRABALHO DE CONCLUSÃO DE CURSO -
ACADÊMICOS:

EMERSON HENRIQUE MODOLON
THIAGO DA ROSA GHISI

TITULO:

SHELL PARA DESENVOLVIMENTO DE SISTEMAS ESPECIALISTAS PARA WEB

RESUMO:

Após desenvolver-se vários Sistemas Especialistas (SE), notou-se que
existiam uma série de funcionalidades em comum entre eles, como, por
exemplo, uma forma de representar um conjunto de regras (base de
conhecimento) e um interpretador para essas. Então, surgiram os
Ambientes de Desenvolvimento de Sistemas Especialistas, também
conhecido como Shells que são aplicações (software) amigáveis, que
geram de maneira rápida e eficiente as telas de interface de interação
com o Usuário Final, capturam a base de conhecimento com a ajuda de um
editor de regras e gerenciam as estratégias de busca na mesma. Há
atualmente vários Shells disponíveis, inclusive gratuitos, como o
Expert Sinta. Porém, esses Shells não possibilitam uma colaboração
entre Engenheiro do Conhecimento, Especialistas e Usuários Finais de
uma forma descentralizada e assíncrona durante o desenvolvimento de um
SE. Essa colaboração descentralizada e assíncrona entre os envolvidos
no desenvolvimento de um SE pode ser resolvida com o desenvolvimento
de uma Shell para Web. O resultado desse trabalho foi a concepção,
modelagem e desenvolvimento de um Shell totalmente Web, acessível por
qualquer Navegador Web (Web Browser) chamado Experts Go to Web que
implementa os conceitos de colaboração descentralizada e assíncrona
entre os envolvidos no desenvolvimento de um SE.

Palavras-chave: Inteligência Artificial. Sistemas Especialistas. Shells.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,632
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • EMERSON: (1) Apresentação dos academicos Emerson / Thiago.   2. Cumprimente os membros das bancas, depois cumprimente seu orientador, o coordenador dos trabalhos e deseje uma boa noite a todos que estão presente.
  • (1) Computacionalmente falando a IA nasceu, oficialmente, em 1956, em uma conferência de verão em Dartmouth College, NY, EUA, com objetivo de realizar um estudo de dois meses sobre o assunto. (2) Inicialmente, esse termo trouxe muita desconfianca. Mas, a decadas que IA já é realidade. (3) Um dos principais motivos disso são os Sistemas Especialistas (SE), que são uma das aplicações mais antigas e também uma das mais práticas da IA baseada no conhecimento (SIMBOLICA). (4) contudo desenvolver um SE nao é tarefa facil, principalmente para o engenheiro do conhecimento, já que interpretar o conhecimento (heuristicas utilizadas por) de um especialista e passar isso a nivel computacional (as formas de representacão do conhecimento: regras de produção, rede semantica....) requer muito tempo, pois o especialista tem sempre um certo receio e medo alem de muitas vezes se basear em sua propria esperiencia. E também existe uma certa dificuldade de interação com especialista e com os usarios finais por parte do Eng do Con. (Explicar melhor)   (5) Após desenvolver-se vários SEs, notou-se que existiam uma série de funcionalidades em comum entre eles, como, por exemplo, uma forma de representar um conjunto de regras (base de conhecimento) e um interpretador para essas. Então, surgiram os Ambientes de Desenvolvimento de Sistemas Especialistas, também conhecido como Shells que são aplicações (software) GERALMENTE amigáveis, que ajudam o Eng Con e o Esp a gerar de maneira rápida e eficiente as telas de interface de interação com o Usuário Final, capturam a base de conhecimento com a ajuda de um editor de regras e gerenciam as estratégias de busca na mesma, além de mostrar como a SHELL chegou em determinado resultado (Explanação)   (6) Explicação da imagem (evolução das Shells): Inicialmente tudo era feito do zero com linguagens de programacao Depois vieram as linguagens mas especificas para isso como Prolog e LISP Depois notou-se a existencia de um certo padrao e desenvolveu-se os Shells    
  •   (1)Durante o desenvolvimento as dificuldades no compartilhamento da base e na colaboração acabam atrasando/retardando o processo de continuo feedback necessario para o desenvolvimento de um SE. (2) Apos o Dev... as dificuldades de distribuicao do SE faz com que muitos possiveis Usuarios Finais nao utilizem e os que utilizam e tem criticas ou melhorias a sugeriar aos criadores do SE não acabam fazendo isso pois nao tem um canal direto de comunicacao com esses. (Isso atrasa o feedback novamente pois uma melhoria q poderia ser feita nao será feita pois o usuario nao conseguir entrar em contato com os responsaveis por criacao e evolucao do SE)     * Obs final: Parasse que as Shell atuais são feitas para serem utilizadas somente após a base de regras estar redondinha... Elas nao prevem que o desenvolvimento de um SE é um processo iterativo incremental, pois vai evoluindo apartir do feedback tanto do especialita quanto do usuario final...   **Realmente faz sentido desenvolver um Shell em 2010?? Expert Sinta: Mais de 10 anos sem atualizações. Ainda muito utilizado em trabalhos acadêmicos.   *Nenhum Shell Web Gratuito encontrado durante a pesquisa.
  • **Como o desenvolvimento da Shell já é o nosso objetivo geral, acabamos tirando desse slide pois acreditor nao fazer sentido ou algo do tipo.  Mas, se fosse para colocar ele seria o 3 topico na ordem. (No TCC ficou como objetivo especifico -- ERRATA)   * Lembrar que o comparativo será realizado utilizando bases de conhecimento iguais e analisando os resultados finais obtidos. (arvore de explancao foi nossa interface de comparação)
  • (1 ) Simplicar criando uma SHELL o mais simplificada possivel. (2) Nao tem o que falar (3) WEB, colaboracao atraves de comentarios...feedback no proprio SE   (4) WEB, nao necessita que cada usuario tenha que instalar no seu SO o SE...Só precisa de um browser e internet... (5) Conceito de Wiki, visualizacao da base de conhecimento.
  • a metodologia abordada pela a equipe foi de primeiramente realizar a fundamentaçao teorica dos assuntos relacionados ao trabalho. Realizando posteriormente uma pesquisa e analise das  shells disponiveis, tentando identificar seus pontos fortes e fracos,  Com base nessa analise, realizamos o levantamentos dos requisitos do sistema que busca cobrir muitos do &amp;quot;problemas&amp;quot; das Shell Atuais pesquisadas e analisadas.   Foi com base nessa especificação que elaboraramos o modelo proposto. Desenvolvendo e validando-o com comparativos com as shells anteriormente analizadas. montado uma tabela, com os comparativos de uso e especificaçao simplificada para melhor entendimento.
  • ** MELHORAR   Porque fazer um capitulo somente de Logica??? Porque é o CORE do negocio? Representaçao do conhecimento, principal funcao do engenheiro e deve ser praticamnete perfeita. IA - já abordado anteriormente Programacao WEB, conceitos e aplicacoes
  • ** MELHORAR   Focar na parte de Ciencia da Computação da coisa. Vender o peixe em Mecanismo de Inferencia e Explanação (CORE do nosso Sistema) Porque atualmente ninguem desenvolve uma maquina de inferencia do zero ou porque utilizar uma Shell? (SHELL) Falar das principais dificuldades encontradas durante o desenvolvimento da maquina?
  • As shells utilizados para realizar a analise de funcionalidades foram: Expert Sinta, SPIRIT e Expertise 2 Go. As caracteristicas principais e O porque da escolha de cada uma e como elas influenciaram no nosso sistema estaremos explanando em seguida.  
  • 1- Desenvolvida pelo Laboratório de inteligência Artificial (LIA) da universidade Federal do Ceará em 1995 na linguagem de programação Delphi sendo sua Ultima atualização até o momento em 1998. 2- Tem grande utilização principalmente no meio acadêmico, já que é fácil encontrar dezenas de trabalhos de graduação à mestrados utilizando essa ferramenta mesmo a tanto tempo sem atualização.    3 - Sua forma de representação é por Regras de Produção , por ser o modo conversão mais fácil para o Conhecimento. 4- Seu mecanismo de inferência é  de encadeamento para traz, sendo possível a simulação para encadeamento para frente utilizando técnicas na elaboração das regras. 5- Esta ferramenta foi escolhida para analise por ser open-souce e estar a mais tempo e ser provavelmente a ferramenta Shell mais utilizada em âmbito nacional a nivel acadêmico.
  • 1- desenvolvido pela empresa Norte Americana expertise2go, sendo sua ultima atualização até o presente momento em 2009. 2- Desenvolvido em java. 3- ao contrario do Expert Sinta essa ferramenta nao foi escolhida por influencia no meio acadêmico mas porque no site em que é disponibilizado a ferramenta intui-se que seja uma ferramenta totalmente Web, mas ao analisarmos vimos que se trata de uma ferramenta em Applet, tento que ser carregada toda a ferramenta no navegador e ter a maquina virtual instalada no mesmo. 4-  A ferramenta trabalha com regras de produçao e o mecanismo de inferencia  com encadeamento para traz..
  • 1- Desenvolvida pela FernUniversität (Unifersidade Aberta) de Hagen, na alemanha . 2 - essa ferramenta  foi escolhida pelo mesmo motivo do expert sinta. Durante nossas pesquisas encontramos alguns trabalhos que utilizavam essa ferramenta, principalmente nas universidades de Blumenal e Fpolis 3 - foi uma ferramenta que tivemos dificuldades para encontra-la pois grande parte dos links postados nos trabalhos estavam quebrados, entao tivemos que baixar direto do site da universidade, o problema é que a ferramenta nao estava mais disponivel em portugues e havia sido mudada sua plataforma de Delphi para Java. 4- a ferramenta utiliza como modo de representaçao do coinhecimento por regras de produçao utilizando sinais matematicos e sua arquitetura de arvore é baseada em grafos tendo seu fator de confiança por probabilidade
  • Exemplo do vinho
  • ExpertsGoToWeb: Shell para desenvolvimento de sistemas especialistas na web

    1. 1. EMERSON HENRIQUE MODOLON THIAGO DA ROSA GHISI DESENVOLVIMENTO DE UMA SHELL PARA SISTEMAS ESPECIALISTAS PARA WEB Orientador: Max Roberto Pereira Curso: Ciência da Computação 24/11/2010
    2. 2. Introdução <ul><ul><li>Inteligência Artificial (IA) </li></ul></ul><ul><ul><ul><li>Sistemas Especialistas(SE) </li></ul></ul></ul><ul><ul><ul><ul><li>Shells </li></ul></ul></ul></ul>
    3. 3. Problema <ul><ul><li>Shell Atuais: </li></ul></ul><ul><ul><ul><li>Durante o desenvolvimento do SE: </li></ul></ul></ul><ul><ul><ul><ul><li>Dificuldade no compartilhamento da Base de Conhecimento. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Dificuldade de colaboração entre os envolvidos (Engenheiro do Conhecimento, Especialista) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Feedback demorado </li></ul></ul></ul></ul><ul><ul><ul><li>Após: </li></ul></ul></ul><ul><ul><ul><ul><li>Dificuldade de distribuição e instalação para os Usuários Finais (Portabilidade) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Feedback demorado </li></ul></ul></ul></ul><ul><ul><ul><li>Disseminação do Conhecimento </li></ul></ul></ul>
    4. 4. Objetivo Geral <ul><ul><li>Desenvolver uma Shell para Sistemas Especialistas para Web. </li></ul></ul>
    5. 5. Objetivos Específicos <ul><ul><li>Estudar sobre SEs; </li></ul></ul><ul><ul><li>Analisar um conjunto de Shells atuais; </li></ul></ul><ul><ul><li>Desenvolver uma WUI (Web-based User Interface) para a Shell desenvolvida; </li></ul></ul><ul><ul><li>Realizar um comparativo (e validação) da Shell Web desenvolvida com as Shells atuais </li></ul></ul>
    6. 6. Resultados Esperados <ul><ul><li>Simplificar ao máximo o desenvolvimento de um SE. </li></ul></ul><ul><ul><li>Permitir a interação com o usuário através da Web. </li></ul></ul><ul><ul><li>Permitir de modo simplificado a colaboração entre os especialistas através da Web. </li></ul></ul><ul><ul><li>Maximizar a portabilidade de acesso a ferramenta, pois estará livre dos recursos locais. </li></ul></ul><ul><ul><li>Facilitar a distribuição do conhecimento especializado. </li></ul></ul>
    7. 7. Metodologia <ul><ul><li>Etapa 1: Fundamentação Teórica </li></ul></ul><ul><ul><li>Etapa 2: Análise de um conjunto de Shells atuais </li></ul></ul><ul><ul><li>Etapa 3: Elicitação dos Requisitos </li></ul></ul><ul><ul><li>Etapa 4: Elaboração do Modelo Proposto </li></ul></ul><ul><ul><li>Etapa 5: Desenvolvimento e Validação do Modelo Proposto </li></ul></ul><ul><ul><li>Etapa 6: Comparativo das Shells </li></ul></ul>
    8. 8. Fundamentação teórica <ul><ul><li>Lógica </li></ul></ul><ul><ul><li>Representação do Conhecimento </li></ul></ul><ul><ul><li>Inteligência Artificial </li></ul></ul><ul><ul><ul><li>Sistemas Especialistas </li></ul></ul></ul><ul><ul><ul><ul><li>Shells </li></ul></ul></ul></ul><ul><ul><li>Programação Web </li></ul></ul>
    9. 9. Arquitetura de um SE
    10. 10. Análise das Shells Atuais
    11. 11. Expert Sinta
    12. 12. Expertise 2 Go
    13. 13. SPIRIT
    14. 14. Experts Go To Web
    15. 15. Conclusão <ul><ul><li>Simplifica o desenvolvimento de um SE. </li></ul></ul><ul><ul><li>Permite de modo simplificado a colaboração entre os envolvidos e uso do SE através da Web. </li></ul></ul><ul><ul><li>Facilita a distribuição do conhecimento especializado. </li></ul></ul><ul><ul><li>Maximiza a portabilidade de acesso a ferramenta </li></ul></ul>
    16. 16. Dificuldades Encontradas <ul><ul><li>Shells Pagas </li></ul></ul><ul><ul><li>Threads na Web </li></ul></ul><ul><ul><li>Implementação da Máquina de Inferência sem recursividade em uma linguagem compilada. </li></ul></ul>
    17. 17. Trabalhos Futuros <ul><ul><li>Fazer um compilador (evitar problemas com semântica, principalmente) </li></ul></ul><ul><ul><ul><li>Hoje existe um parser linha a linha buscando padrões via expressões regulares </li></ul></ul></ul><ul><ul><ul><li>Definição de uma Notação BNF </li></ul></ul></ul><ul><ul><li>Importador de bases do Expert Sinta </li></ul></ul><ul><ul><li>Auto-cadastro de Engenheiros e Especialistas </li></ul></ul>
    18. 18. Trabalhos Futuros <ul><ul><li>Grau de Confiabilidade (Expert Sinta) </li></ul></ul><ul><ul><li>Implementar Lógica difusa </li></ul></ul><ul><ul><li>Armazenar o histórico das execuções do SE </li></ul></ul><ul><ul><ul><li>Ferramenta para Análise desse Histórico; (Gráficos) </li></ul></ul></ul><ul><ul><li>Comentário entre Usuário Final, Especialistas e Engenheiros do Conhecimento (Wiki) </li></ul></ul><ul><ul><li>API para interação. </li></ul></ul>
    19. 19. Fim da Apresentação &quot;A internet está se tornando um computador gigante que todos podem programar, fornecendo uma infra-estrutura global para a criatividade, a participação, o compartilhamento e a auto-organização&quot;  Wikinomics (p.52, 2007)

    ×