Roberto Lins de Carvalho e Grupo Witty
–2–
–3–
Sumário Sobre o conhecimento ................................................................................................................................ 1 1. Geometria do Conhecimento ................................................................................................................ 6 1.1 – Introdução............................................................................................................................................ 7 1.2 – Sistemas de Avaliação........................................................................................................................ 11 1.3 – Sistemas Semânticos ........................................................................................................................... 13 1.3.1 – Modelos ................................................................................................................................. 13 1.3.2 – Linguagem ............................................................................................................................ 15 1.3.3 – Evolução dos sistemas semânticos .................................................................................... 15 1.3.4 – Simplificação das linguagens ............................................................................................. 16 1.3.5 – Relações e funções entre os planos Conceitual e Simbólico ........................................... 16 1.4 – Conceitos relativos à aquisição de conhecimento .......................................................................... 19 1.4.1 - Etapas do processo de aquisição de conhecimento .......................................................... 19 1.5 - O conhecimento como objeto de estudo ........................................................................................... 21 1.6 – Princípios fundamentais do processo de aquisição de conhecimento......................................... 22 2. Sistemas Baseados em Conhecimento .............................................................................................. 27 2.1 – Caracterização dos sistemas baseados em conhecimento ............................................................. 28 2.2 – Elementos básicos dos sistemas baseado em conhecimentos ....................................................... 31 2.3 – Comparação com outros Sistemas.................................................................................................... 38 2.4 – O estado da arte ................................................................................................................................. 40 2.4.1 – A área médica...................................................................................................................... 41 2.4.2 – Experiências brasileiras ...................................................................................................... 44 3. Um passeio pela potencialidade do Idealize ..................................................................................... 47 3.1 – O que o Idealize faz por você ............................................................................................................ 47 Exemplo 3.1 – Reunir conhecimento esparso ............................................................................... 49 Exemplo 3.2 – Estruturar raciocício............................................................................................... 51 Exemplo 3.3 – Confiabilidade da informação ............................................................................. 52 Exemplo 3. 4 – Cenários paralelos ................................................................................................. 55 3.2 – Como examinar um cenário .............................................................................................................. 57 Exemplo 3.5 – Cenário complexo com várias páginas ................................................................ 59 Exemplo 3.6 – Um sistema baseado em conhecimento............................................................... 61 3.3 – O navegador e registro de pesquisa na Web ................................................................................... 63 3.4 – Dependências factual e circunstancial ............................................................................................. 66 3.5 – Instalação padrão................................................................................................................................ 67 4. Criando um cenário no Idealize ........................................................................................................... 69 4.1 – Objetos, os tijolinhos da construção ................................................................................................. 69 4.2 – O que fazer quando não se sabe o que fazer ................................................................................... 71 4.3 – A criação de um cenário complexo................................................................................................... 73 4.4 – Coloque fator de confiança no cenário............................................................................................. 75 4.5 – Com Shazam você pode tudo............................................................................................................ 76 4.6 – Aquisição automática do conhecimento ......................................................................................... 78 4.7 – Aprenda a registrar suas pesquisas na Web ................................................................................... 83 4.8 – As propriedades no botão direito do mouse................................................................................... 85 5. Outros recursos do Idealize .................................................................................................................. 87 5.1 – Enfeitando as páginas ........................................................................................................................ 87 5.2 – Adaptando o programa a sua forma de trabalhar.......................................................................... 92
–4–
Sobre o conhecimento Durante a história da humanidade, ela tem mostrado sucessivos avanços, recuos e mudanças de paradigma, resultantes do impacto de diversas causas, como guerras e catástrofes naturais. Porém, não menos importante, o desenvolvimento de tecnologias que, para o bem ou para o mal, moldaram o meio ambiente para tornar a vida mais confortável. Mesmo antes da invenção da escrita, a experiência dos mais velhos era transmitida pela tradição oral, com o que se dominou o fogo, se construíram ferramentas, se inventou a roda e se implantou a agricultura, provocando profundas modificações no modo de vida. Se antes viviam nômades, perseguindo caça e coletando frutas e raízes, os homens passaram a ter vida mais sedentária, mantendo maior controle sobre as fontes de alimentação. Os papiros egípcios e as placas da Mesopotâmia tornaram o saber mais perene, relatando informações entre pessoas que às vezes nem se conheciam, ainda que soluções de problemas quotidianos viessem entremeados de evocação aos deuses, feitos reais exagerados ou profunda superstição. No entanto, isto não impediu que se construíssem magníficos templos e palácios, pontes, túneis, diques, estradas e cidades. No séc. IV a.C., Aristósteles coligiu e organizou boa parte do conhecimento da época. Ainda então era possível esta tarefa ser encetada por um único indivíduo – mesmo que excepcional. Outras pessoas de gênio na Antigüidade produziram manuais que atravessaram os séculos e foram utilizados até o Renascimento. Para ficar em apenas um gênero, podemos citar os trabalhos médicos de Galeno e Avicena. A biblioteca de Alexandria conseguiu reunir a imensa quantidade de 700 mil documentos. Em sua história, sofreu diversos incêndios e perdas, sendo o último no séc. VII fatal, não sem antes que parte dos manuscritos fossem transferidos e mantidos a salvo dispersos em vários mosteiros. No século XII, Isidoro de Sevilha possuia a maior biblioteca da época. Conseguiu reunir – novamente num esforço individual – conhecimentos salvos de uma estrutura política que ruíra sob o peso das invasões germânicas, preservando-os para a nova era de estados soberanos europeus que se delineava. Por isto, é considerado o primeiro enciclopedista e, pela mesma razão, o padroeiro da Internet. O Renascimento nos apresentou artistas multivalentes, que faziam de tudo um pouco. Dominavam técnicas diversas com maestria, executando arrojadas criações. A síntese da época geralmente é apontada na figura de Leonardo da Vinci – escritor, pintor, inventor, conselheiro militar – que nos legou anotações de idéias inovadoras, muito adiante de sua época e que não teve condições de concretizar. A invenção da imprensa com tipos móveis por Guttemberg no século XV multiplicou a quantidade de livros existentes, antes penosamente copiados à mão. Com isto, a difusão de novas idéias e conhecimento passou a ser feita de maneira mais rápida e abrangente. A palavra escrita fugia ao controle do erudito e encontrava lugar no quotidiano das pessoas comuns. Durante o Iluminismo no século XVIII, houve outro esforço de reunião de todo saber existente, mas que então precisou do trabalho agregado de muitas pessoas, chamadas enciclopedistas. Agora a experiência acumulada não cabia apenas em um único indivíduo. Fracionaram-nas em especializações, processo que só se aprofundou no futuro. Se houve época quando o conhecimento era escasso, hoje vivenciamos o processo inverso. A Internet é um incrível repositório de dados, gigantescamente maior que possam ter sonhado antigos bibliotecários. À distância de um clique do mouse estão disponíveis milhões de informações trazidas por mecanismos de busca com eficentes algoritmos para a procura. Todas interessam? Certamente que não. Nem todas são confiáveis, tampouco. Ficamos assim submersos em uma avalanche de dados muito maior que poderíamos interpretar em um tempo razoável. É para este quadro que propomos uma ferramenta que permita tornar esta tarefa exeqüível. O Idealize possibilita a pesquisa, o registro e a organização de informações; a aquisição automática de conhecimento, assim como o interrelacionamento de dados existentes ou mesmo a dedução de novas informações a partir das armazenadas. Com os conceitos de peso e confiabilidade, qualifica as informações numa escala de credibilidade – que pode partir de simples rumor, passando por diversos níveis de certeza, até chegar a fato consumado. Sem dúvida uma ferramenta útil. Assim, este texto é sobre conhecimento, enfocado numa maneira prática e fácil de organizá-lo de forma que se possa emitir pareceres ou responder questões sobre qualquer área de saber. Baseia-se em teoria sobre o conhecimento, a epistemologia, embora não a discutamos com detalhes, apenas os conceitos sobre percepção necessários para perfeito entendimento dos recursos disponibilizados pelo produto. Com este objetivo, a obra está dividida em vários capítulos relacionados mas que podem ser abordadas independentemente, conforme o interesse do leitor. O primeiro, Geometria do conhecimento, fornece
–5– o embasamento teórico sobre a percepção e o conhecimento; no segundo, Sistemas Baseados em Conhecimento, discutiremos formas para sua representação e sistemas computacionais que utilizam algum conhecimento específico de maneira a responder perguntas especializadas.
Nos capítulos seguintes, formaremos as bases para a utilização do Idealize. Não pretendemos esgotar todos os recursos de forma exaustiva, senão apresentar o essencial de forma consistente, de maneira que o usuário possa seguir suas etapas e construir ele próprio seus cenários. No capítulo 3, Um passeio pela potencialidade do Idealize, mostraremos o expediente do produto, algumas das coisas mais relevantes que ele pode efetuar. Neste ponto, não nos preocuparemos com o como mas com o quê. Examinaremos cenários já montados e veremos como são apresentadas as informações, assim como navegar por estes cenários, que podem se estender por diversas páginas. Para isso, precisaremos detalhar o conteúdo destes cenários, que envolvem temas diversos como Atualidades, Filosofia, História e Ciências, entre outros. Na seção 3.5 falamos sobre a instalação do produto. No capítulo 4, Montando cenários, examinaremos como estes podem ser construídos. Iniciaremos pelo objeto, em 4.1, o elemento básico desta construção. Em 4.2 mostraremos a ajuda online existente que pode socorrer em situações de indefinição. Em 4.3 montaremos um cenário complexo, próximo dos da vida real. Em 4.4 usaremos fator de confiança para auxílio à conclusão. Em 4.5 discutiremos o poderoso recurso da Ação. Em 4.6 será a a vez da aquisição automática do conhecimento, a ferramenta mais poderosa do produto. Em 4.7 exibiremos como registrar uma pesquisa da Web, recurso extremamente útil que deverá ser bastante utilizado. Fechamos o capítulo com propriedades do objeto que podem ser acessadas com o botão de contexto (direito) do mouse. O capítulo 5, Outros recursos do Idealize, apresenta características existentes porém não essenciais. Na seção 5.1, mostraremos um conjunto de recursos gráficos que podem melhorar a apresentação do cenário e na 5.2 descreveremos o menu Ferramentas, que estabelece a forma padrão do funcionamento do Idealize. Todos os exemplos citados encontram-se em pastas do CD-Rom com a mesma denominação do capítulo onde aparecem.
–6–
1. Geometria do Conhecimento “O mundo é a minha representação. – Esta proposição é uma verdade para todo ser vivo e pensante, embora só no homem chegue a transformar-se em conhecimento abstrato e refletido.1 (...) O mundo é, portanto, representação.” Arthur Schopenhauer (1788-1860)
Consideraremos, neste capítulo, dois tipos básicos de conhecimento: 1. Conhecimento científico 2. Conhecimento factual ordinário ou anedótico O Conhecimento Científico é o produto da pesquisa científica, e esta pesquisa tem metodologias bem estabelecidas, embora nem sempre explicitadas. O conhecimento factual é o produto, principalmente da observação da realidade via percepção e processos de aculturação. Este último tipo de conhecimento, em geral, não é gerado baseado em metodologias estabelecidas, e se existir um método ele é inato ou apreendido de forma eventual ou por imitação. A aquisição de conhecimento científico começa com a realização de que a reserva de conhecimento disponível é insuficiente para tratar ou resolver certos problemas. Não se pode começar com “tabula rasa”, pois nenhuma questão pode ser perguntada, quanto menos respondida, fora de um corpo mínimo de conhecimento. Como diz Bunge [Bung67]: “Only those who see can see what is missing” (Somente os que enxergam podem ver o que falta). “Uma parte do conhecimento, que é utilizado como fundo (background), onde começa a pesquisa é ordinária, isto é, conhecimento não especializado, outra parte dele é científico, isto é foi obtido pelo método da ciência e pode ser testado, enriquecido e eventualmente substituído pelo mesmo método.”
Figura 1.1 – Esquema de aquisição de conhecimento Neste capítulo não prolongaremos a discussão do conhecimento científico, pois acreditamos que existe uma literatura bastante satisfatória sobre o assunto. O leitor pode consultar, por exemplo, Bunge [Bung67]. No entanto, achamos que o desenvolvimento de metodologias automatizadas para a aquisição de conhecimento poderá ser utilizada na pesquisa científica.
“A partir do momento em que é capaz de o levar a este estado, pode dizer-se que nasceu nele o espírito filosófico. Possui então a inteira certeza de não conhecer nem um sol nem uma terra, mas apenas olhos que vêem este sol, mãos que tocam esta terra; em uma palavra, ele sabe que o mundo que o cerca existe apenas como representação, na sua relação com um ser que percebe, que é o próprio homem.” Se existe uma verdade que se possa afirmar a priori é esta, pois ela exprime o modo de toda experiência possível e imaginável, conceito muito mais geral que os de tempo, espaço e causalidade que o implicam. Com efeito, cada um destes conceitos, nos quais reconhecemos formas diversas do princípio da razão, apenas é aplicável a uma ordem determinada de representações; a distinção entre sujeito e objeto é, pelo contrário, o modo comum a todas, o único sob o qual se pode conceber uma representação qualquer, abstrata ou intuitiva, racional ou empírica. Nenhuma verdade é, portanto, mais certa, mais absoluta, mais evidente do que esta: tudo o que existe, existe para o pensamento, isto é, o universo inteiro apenas é objeto em relação a um sujeito, percepção apenas, em relação a um espírito que percebe. Em uma palavra, é pura representação. Esta lei aplica-se naturalmente a todo o presente, a todo o passado e a todo o futuro, aquilo que está longe, tal como aquilo que está perto de nós, visto que ela é verdadeira para o próprio tempo e o próprio espaço, graças aos quais as representações particulares se distinguem umas das outras. Tudo o que o mundo encerra ou pode encerrar está nesta dependência necessária perante o sujeito, e apenas existe para o sujeito.” 1
Em “O mundo como vontade e representação - Editora Contraponto - 2004
–7– 1.1 – Introdução A observação da realidade, através dos órgãos dos sentidos, nos leva a adquirir um entendimento das coisas que possibilita elaborar dados do mundo exterior. O conhecimento assim constituído, é resultante de um processo de aculturação. Além de observações sensoriais, outros tipos de percepção e, principalmente, os processos dedutivos da mente humana, contribuem para a formação de conceitos. O conhecimento é, portanto, a apropriação mental das percepções sensitivas e extra-sensitivas, que podem ser aprofundadas pelo exercício do pensamento. Todo este processo é suficientemente complicado e ainda pouco compreendido. O entendimento das coisas é a capacidade de avaliar fatos percebidos a partir de um sistema de critérios. Douglas Hoffstadter introduziu o conceito de Implicosfera, como sendo uma certa nuvem de impressões que se tem à respeito de um objeto, uma classe de objetos, uma relação entre objetos ou um fenômeno. Esta nuvem torna-se mais densa e complexa à medida que vivenciamos um maior contato com tais entidades. Na implicosfera de um conceito estão implícitas todas as suas ligações com outras implicosferas. A implicosfera contém o que sabemos a respeito de um objeto ou fenômeno. Podemos dizer que ela é uma teoria do objeto (fenômeno), relacionando-se, também às implicosferas de outros objetos.
Figura 1.2 – Implicosfera Assim o conceito correspondente à palavra pera, em Português, é para ser imaginado como uma nuvem de impressões imprecisas, e não como algo idealizado. A implicosfera de pera está contida na Implicosfera de fruta que por sua vez está contida na de fruto. À medida que sabemos mais à respeito de um objeto verificamos novas conexões e podemos mesmo perceber um núcleo de fatos que precisam ou tornam menos difusa a nossa implicosfera. Se considerarmos a sentença: Todas as pêras são verdes vemos que ela não é conseqüência imediata de nossa percepção de tais objetos, já a sentença Todas as pêras são frutos de alguma árvore é uma conseqüência das conexões existentes com as teorias ou implicosfera de fruta, fruto e árvore. Podemos projetar as implicosferas em um plano que denominamos de plano conceitual e as teorias correspondentes em um outro plano que denominamos plano simbólico. Existe um outro plano, que denotaremos de plano real, onde projetamos os objetos, classes, relações ou estados. Estes três planos são ligados pelo triângulo de significado proposto por Ogden e Richards em 1923, como uma forma de representar as relações dos objetos com as respectivas concepções que deles fazemos e o sinal ou símbolo que a ele associamos. Odgen e Richards sugerem que não existem ligações inerentes ou indissolúveis entre símbolos e objetos. As ligações são consequência do que foi estabelecido entre o emissor e o receptor no processo da comunicação. Tais planos representam apenas um determinado ponto no desenvolvimento de uma teoria. O que percebemos no plano real diretamente com os nossos orgãos sensoriais difere do que observaríamos com o uso de instrumentos. Na verdade, existe uma infinidade de planos reais, aproximando-se do plano conceitual e com ele se confundindo, já que a percepção da realidade
–8– é, em grande parte, uma conseqüência de todo um processo de aculturação, sendo portanto fortemente induzida pelo conhecimento ou entendimento que possuímos no momento da observação. Para simplificar podemos representar, no plano conceitual, os conceitos abstraídos a partir da implicosfera.
Figura 1.3 – Planos real, conceitual e simbólico O plano conceitual funciona como um filtro para as percepções do real. Observadores diferentes possuem filtros diferentes, e o acúmulo de observações modifica a atuação do filtro cultural para um mesmo observador. As percepções subseqüentes são filtradas, não apenas pelo plano que precedia a primeira observação, mas também pelo próprio conceito formado a respeito do fragmento do real percebido, ou seja, conceitos parcialmente formados influenciam a visão que se tem do real. Esta influência é tanto maior quanto maior for o envolvimento anterior com respeito ao pedaço de realidade observado.
Figura 1. 4 – Observador diferente O filtro cultural é um sistema de avaliação das nossas percepções que possibilita a geração de conceitos. Os conceitos, por sua vez, vão influenciar o processo de avaliacão, modificando o filtro cultural através do qual percebemos a realidade. Tal sistema caracteriza-se por sua dinâmica e se ajusta por um processo de realimentação, modificando o seu funcionamento, em busca de um melhor desempenho. Fatos surpreendentes ou que geram perplexidade são exatamente aqueles que possibilitam mudanças sensíveis no sistema de avaliação, podendo mesmo gerar desequilíbrios transitórios ou permanentes. A existência e o funcionamento equilibrados deste sistema propiciam a continuidade do processo de aquisição de conhecimento, gerando visões ou modelos do real.
–9–
Figura 1.5 – Mais de um observador Estamos supondo que registramos apenas uma parte central dos conceitos, desprezando todo o resto. Então a abstração é um encurtamento do que foi observado, restando a região do centro que é conceito abstraído. No plano conceitual, nosso filtro cultural será enriquecido pelos novos conceitos abstraídos através do proceso de observação.
Figura 1.6 – Os conceitos gerados por abstração. O plano simbólico é aquele em que registramos estas percepções pelo uso de símbolos que passam a exercer uma função importante tanto para comunicação, como para a organização do nosso entendimento. A impossibilidade de comunicar as sensações apreendidas de modo direto, por exemplo o cheiro ou a cor de um objeto, leva à criação de códigos ou sistemas de significado, que é o tema do próximo capítulo. Os sistemas de significado também são uma resultante do aculturação social, cuja manifestação mais aparente é o uso de linguagens de várias naturezas (falada, gesticulada, escrita, etc.). Linguagens surgem, parcialmente, a partir de convenções sociais, que associam aos objetos determinados símbolos. Os conceitos obtidos por abstração, como dissemos, modificam o filtro cultural e nas observações subseqüentes do real, percebemos ou imaginamos perceber novos objetos ou fenômenos que não havíamos observado anteriormente. Este é o processo de reificação das abstrações
Figura 1.7 – Reificação A reificação modifica o conceito formado anteriormente, esta modificação é o que denominamos de inferência por intuição.
– 10 –
Figura 1.8 – Conceitos intuídos Os conceitos intuídos são, em geral mais ricos ou mais amplos que os abstraídos ou mesmo os formados nos estágios precedentes de observação. As intuições, em geral devido à reificação, são fruto de desejos ou pensamentos favoráveis sobre uma determinada situação (wishfull thinking). Uma outra forma de aperfeiçoar os conceitos é pelo processo de formalização das abstrações no plano simbólico, como vistos na Fig. 1.9 a seguir.
Figura 1.9 – Plano simbólico Os axiomas obtidos por formalização podem agora ser interpretados modificando os conceitos utilizados para a formalização, do mesmo modo que o processo de intuição obteremos novos conceitos, enriquecendo assim nosso entendimento.
Figura 1.10 – Axiomas De modo semelhante ao processo de intuição podemos representar os conceitos obtidos pela interpretação obtendo uma representação mais ampla que a obtida por formalização. O conhecimento
– 11 – simbólico que pode ser obtido é o que conhecemos como conseqüências lógicas.
Figura 1.11 – Conseqüência lógica Os resultados obtidos em cada plano modificam-se a medida em que todo este processo se verifica. A formação dos conceitos segue, de certa forma, o ciclo do conhecimento visto na figura a seguir.
Figura 1.12 – Ciclo do conhecimento No processo de formalização e elaboração de uma teoria algo semelhante acontece. Dos conceitos ou modelos para as teorias, através de formalização e conseqüente elaboração ou interpretação, surgem novos modelos que não haviam sido observados no plano real. A experimentação de interpretações novas, em última análise servirá como justificativa ou refutação das teorias, em algum estágio deste processo. Esta visão pode parecer bastante Popperiana, mas como observamos anteriormente, os paradigmas correntes influenciam e muitas vezes determinam os resultados obtidos em qualquer dos planos, mesmo o real, pois nossa participação como seres sociais modifica o real de várias maneiras. O conhecimento obtido por formalização, a partir dos conceitos formados sobre fenômenos que ocorrem no real, é quase sempre incompleto. Isto significa que as teorias formalizadas são sempre deficientes. Para que entendamos melhor o conceito de incompleto, vamos inicialmente apresentar a noção de sistemas semânticos.
1.2 – Sistemas de Avaliação Através do processo contínuo de percepção e avaliação, forma-se o conhecimento sobre um determinado mundo, que idealmente é o conjunto de todas as configurações admissíveis no mundo em questão. A cada uma dessas configurações denominamos modelo. Estes modelos podem ser de natureza nebulosa e fragmentária, ou seja, nem sempre são entendidos em todos os seus detalhes. Em se tratando de modelos O nosso conhecimento é apenas a forma como percebemos a realidade, e portanto, nunca deve ser confundido com a realidade, que é regida por leis próprias obviamente desconhecidas. Já o nosso conhecimento é apenas uma maneira de explicar os fenômenos que sensibilizam os órgãos sensoriais.
– 12 – A esta coleção de modelos costumamos chamar sistema de crenças de um indivíduo com respeito a um determinado mundo. Neste texto, seguindo a terminologia vigente, também nos referiremos a esta coleção como o mundo possível. A família M de modelos, sendo de natureza conceitual, fica situada no vértice C do triângulo. Em relação a um determinado estado de coisas, podemos perceber ou até mesmo conceber diferentes configurações. Cada uma delas possui uma valoração com respeito ao mundo possível, de acordo com um conjunto de valores e um processo de avaliação. A avaliação, por sua vez, é o julgamento atribuído a alguma configuração (percebida, comunicada ou concebida) relativa ao nosso mundo possível M. Podemos imaginar que uma nova configuração é comparada a cada uma das configurações que já adquiriram o status de modelo ou configuração do mundo possível. O conjunto de valores abstratos que usamos para medir varia de acordo com a natureza do conhecimento relacionado ao estado de coisas em julgamento. Assim, podemos ter um conjunto bem determinado de valores, tais como:
e o mais usual:
{ justo, injusto } { deficiente, insuficiente, regular, bom, ótimo, excelente } { verdadeiro, falso } \
Certos mundos, entretanto, admitem conjuntos nebulosos ou mesmo conjuntos indeterminados de valores. Pode-se observar ainda que, mesmo para conjuntos bem determinados, como os acima citados, temos também a questão sobre o significado de cada elemento. Neste sentido, tanto o grau de indeterminação destes elementos quanto a sua complexidade estão diretamente relacionados ao grau de compreensão que se tem da realidade. Tais valores, por serem de natureza conceitual, situam-se no vértice C do triângulo do significado. Estabelecido um conjunto de valores, pode-se pensar na definição dos critérios de julgamento, ou seja, de que forma devemos proceder para associar uma dada configuração a um valor. Esta, como pretendemos evidenciar, é uma tarefa de natureza bem mais complexa. Julgar, como se sabe, é uma tarefa tão mais imprecisa quanto menor é o grau de entendimento do problema. Por exemplo, nas competições de atletismo, a escolha do melhor atleta é feita por medições precisas, ao passo que no futebol ou no basquete a mesma escolha requer alto grau de subjetividade.
Figura 1.13 – Conceito aprendido O processo de avaliação situa-se no vértice C. Muito embora, mais freqüentemente, tal processo seja um objeto de natureza abstrata, equivalente a uma função, pode também ter uma representação simbólica que, em vez de uma conotação descritiva intensional ou extensional, tenha uma conotação operacional ou algorítmica. Pessoas experientes em julgar ocorrências de um mesmo tipo de atividade, ou um certo tipo de fenômeno, possuem um conjunto de modelos melhor delineados, com limites e fronteiras mais precisas. Tais pessoas, que chamaremos de especialistas, processam suas avaliações de modo quase imediato, pois sentem que o resultado de suas percepções do real se encaixam ou não com configurações que já lhe são familiares, percebidas e apreendidas anteriormente.
– 13 – A questão, que talvez surja na mente do leitor, é como mecanizar os sistemas de avaliação, principalmente nos casos em que o processo ou função de avaliação é pouco compreendido. Responder a esta questão, ainda que de forma aproximada, é o objetivo deste capítulo.
1.3 – Sistemas Semânticos Utilizaremos a palavra linguagem como referência à parte simbólica dos sistemas de significado. Embora de natureza simbólica, uma linguagem pode ser algo nebuloso, sem fronteiras muito claras, porém coerente para o grupo social que dela faz uso. As comunicações, muitas vezes de natureza ambígua, quando interpretadas geram configurações, do mesmo modo que as percepções diretas da realidade. As linguagens situam-se no vértice S do triângulo e formam um todo estruturado composto de: átomos – sinais sonoros ou gráficos identificáveis individualmente (fonemas ou letras); palavras – certas seqüências temporais ou espaciais de átomos; sentenças – seqüências temporais ou espaciais de palavras. Se considerarmos a sentença: Maria passeia na praia Interpretamos, se conhecemos a língua portuguesa: Maria como sendo uma mulher e, caso seja alguém conhecida, formamos uma imagem, que será tanto mais precisa quanto maior for o nosso conhecimento; Passeia como sendo uma atividade de locomoção; Praia como sendo uma região à beira-mar.
Figura 1.14 – Significado da sentença O processo de interpretação funciona do mesmo modo que a percepção direta da realidade; no entanto, as configurações geradas são apenas reconhecidas como pentencentes aos modelos que adquirimos anteriormente através do processo de aculturamento. Convém observar que quando usamos a palavra função para o processo de avaliação estamos fazendo uma simplificação: estamos supondo que a interpretação de uma sentença gera apenas uma configuração e que o processo subjacente de avaliação nos fornece, de modo inequívoco, um valor abstrato. Na realidade, faremos um estudo das exigências relacionadas não apenas aos sistemas de avaliação, mas aos sistemas semânticos. 1.3.1 – Modelos Para fixar o nosso entendimento do que discutimos acima, vamos considerar o problema de pintar objetos com cores, e discutir as componentes linguagem, modelos, valores abstratos e função de avaliação do sistema semântico correspondente. Muito embora os modelos sejam de natureza conceitual, para comunicá-los ou mesmo estudá-los é comum utilizar algum tipo de linguagem (na realidade uma metalinguagem, pois a apresentação da família de modelos de um sistema semântico se passa fora do sistema). Por exemplo, apresentamos modelos, com o objetivo de esclarecer o conceito de sistema semântico, e usaremos a língua portuguesa enriquecida com a linguagem matemática e desenhos. Particularizando o problema de colorir objetos para o caso de três objetos
– 14 – e duas cores podemos imaginar a representação dos modelos por meio de figuras coloridas.
Figura 1.15 – Figuras coloridas Tal representação poderia ser mais compacta, utilizando uma linguagem de grafos “bipartites”:
Figura 1.16 – Representação usando grafos Vejam que, neste tipo de representação, a relação entre cada objeto e uma cor fica individualizada, e assim a descrição dos modelos é mais refinada do que um desenho ou pintura, existindo uma diferenciação entre objetos e cores. Na figura os desenhos separados por linhas pontilhadas representam, não coleções de objetos coloridos, mas sim grafos bipartites ou seja coleções de relacionamentos entre objetos e cores.
Figura 1.17 – Relacionamento colorido-com Estes relacionamentos são fatos atômicos, e cada modelo é uma coleção de fatos atômicos. Isto, nos sugere uma representação por letras com índices pij , interpretados como: o objeto i está colorido pela cor j. Assim p12 significa que o objeto 1 está colorido pela cor 2.
Figura 1.18 – Representação com letras indexadas Os modelos são conjuntos de letras indexadas, que descrevem os mundos possíveis. É interessante, neste ponto, que o leitor verifique que esta maneira de representação é isomorfa à dos grafos bipartites, com a vantagem de ser mais compacta. Podemos ainda descrever os mundos possíveis usando a linguagem matricial de tal modo que o elemento aij , ou seja o elemento da linha i e coluna j será 1 ou 0 dependendo do fato de que o objeto i é ou não colorido pela cor j, os possíveis modelos são:
Observe que a representaçã o matricial de modelos, diferentemente dos grafos bipartites e das letras p{ij}, é inadequada para a representação de fatos atômicos, pois descreve indivisivelmente um mundo possível. Sempre é possível estabelecer vínculos entre as diferentes formas de representação, por exemplo:
– 15 –
Ou mesmo entre representações de fatos atômicos: Estas correspondências possibilitam as avaliações dos modelos M com respeito à linguagem L de um sistema semântico. Em geral, os modelos podem ser infinitos. Neste caso, por exemplo, podemos admitir um espectro contínuo de cores, para o qual nenhum dos métodos de representação apresentado seria adequado se pretendêssemos representar a totalidade de situações possíveis. 1.3.2 – Linguagem No item anterior, fizemos uso de linguagens para descrever modelos, fora do sistema semântico que pretendemos apresentar, porém dentro de um sistema semântico tacitamente admitido, mas não explicitado. Assim, as linguagens utilizadas, embora não precisamente definidas, foram suficientemente poderosas para transmitir ao leitor um entendimento dos modelos. Podemos construir, ou definir um sistema semântico que tem como linguagem exatamente uma das usadas para definir os modelos, e tomar uma outra para representação dos modelos pois, mesmo num sistema semântico, o uso de uma meta-linguagem de representação dos modelos é importante para a definição, ou explicação da função de avaliação. Assim se tomarmos como linguagem L a linguagem matricial e como modelos os conjuntos de letras p ij, teríamos que a sentença
estaria descrevendo o modelo (representado pela linguagem p ij)
No entanto a linguagem matricial é mais adequada para modelar do que para sentenciar, por sua incapacidade de expressar fatos atômicos. Se adotarmos como linguagem as letras pij , podemos expressar o fato atômico p 21 usando, alternativamente, os grafos “bipartites” como linguagem de modelagem. Vemos assim que podemos escolher linguagens para: Representar modelos; Expressar propriedades de modelos; A representação de modelos, possui exigências diferentes da representação de suas propriedades: a primeira pode ser menos precisa, mais compacta, porém deve ser adequada para que se possa avaliar, através de correspondências, se as propriedades dos modelos expressas pela segunda linguagem (a oficial do sistema semântico) satisfizerem os modelos. Apenas para exemplificar, vamos adotar uma linguagem construída a partir das letras p ij pelo uso do conectivo e, e como metalinguagem para descrição dos modelos a própria linguagem das letras pij . Assim a sentença “p 12 e p21 ” é satisfeita pelos modelos a função de avaliação é muito simples: Uma sentença atômica pij é satisfeita por um modelo M se e somente se pij pertencer a M. Uma sentença “e “ é satisfeita por um modelo M se e somente se e são satisfeitas por M. A idéia é definir a função de avaliação das sentenças atômicas e, posteriormente, definir a função de avaliação para as sentenças moleculares. 1.3.3 – Evolução dos sistemas semânticos Como foi dito anteriormente, é através às necessidades de comunicação de um grupo social, que os sistemas de código e em particular os sistemas semânticos, são gerados e aperfeiçoados. No esquema abaixo
– 16 – ilustramos o fato de que, inicialmente, de modo espontâneo o grupo social gera um certo sistema semântico, digamos
que na realidade é a interseção de vários sistemas semânticos individuais, provavelmente já parcialmente inatos nos indivíduos ou parcialmente adquiridos em grupos sociais menos amplos (familiares?) pelos indivíduos que compõem o grupo social.
As diferenças entre sistemas semânticos individuais é que, em última análise são responsáveis pelas dificuldades de comunicação, gerando ambigüidades, etc... 1.3.4 – Simplificação das linguagens O desenvolvimento das linguagens tem uma tradição de simplificações de sua estrutura sintática ou na maioria das vezes na própria morfologia. As linguagens podem ser consideradas, para fins de estudo, fora de um sistema semântico e quando assim consideradas dizemos que temos uma pré-linguagem. Em geral, as pré-linguagens são obtidas a partir de uma linguagem natural, através de estudos de adequação de certas locuções com respeito a um fenômeno.
Figura 1.19 – Pré-linguagens Apenas locuções consideradas como sentenças atômicas são inicialmente consideradas. Tais sentenças são modificadas ou sintaticamente transformadas em formas mais compactas e uniformes. Note que estas transformações, embora sintáticas, são feitas com o cuidado de que o significado C 0 no plano conceitual seja preservado, ou que pelo menos um dos significados o seja, quando existe uma indeterminação ou ambigüidade. Vimos no nosso exemplo de objetos e cores que a sentença do Português (1) “o objeto i tem cor j” poderia ser representado em várias pré-linguagens uma das quais usava a letra p com índices i, j ou seja por pij . Esta é a fase inicial em que consideramos (1) como uma sentença atômica. Ainda para o mesmo exemplo de aplicação usamos duas possíveis extensões moleculares, uma em que as sentenças moleculares são conjuntos de tais sentenças atômicas; outra em que as sentenças moleculares são obtidas pelo uso do conectivo “e”. 1.3.5 – Relações e funções entre os planos Conceitual e Simbólico Na seção 1.1 discutimos de modo informal os relacionamentos que existem entre os três planos Real, Conceitual e Simbólico. Os processos relacionando, apenas os planos conceitual e simbólico, são mais bem entendidos. O processo de formalização dos conceitos a partir do plano conceitual é, em geral, bastante
– 17 – impreciso e pouco metódico. No entanto algumas vezes os conceitos são representados pela utilização de sistemas semânticos mais simples ou mais primitivos o que pode viabilizar a obtenção de uma formalização sistemática e mesmo computável. De qualquer maneira consideraremos, inicialmente, que já temos uma formalização A de algum fenômeno. A fase de interpretação é apresentada pela figura abaixo.
Figura 1.20 – Fase de interpretação Mod(A) é a classe de modelos do sistema semântico que interpretam A. Na fase seguinte, formalizando esta parte obteríamos as conseqüências lógicas deste núcleo formalizado. Assim, conseqüências lógicas que são sintáticas que coincide, se fizer interpretação, com a mesma coisa. A interpretação deste global, da mesma maneira que a seguir.
Figura 1.21 – Interpretação global Quando uma teoria é completa, seus axiomas são suficientes para gerar pelo processo de conseqüência lógica ou inferência lógica tudo que pode ser afirmado a respeito do fenômeno que os axiomas A descrevem. Se uma sentença da linguagem se situa fora de Teo(Mod(A)) então seus modelos não interceptam Mod(A). A figura a seguir expressa tal fato.
Figura 1.22 – Sentença fora de Teo(Mod(A)) No caso de uma teoria incompleta, que é mais comum, existem sentenças fora de Teo(Mod(A)) que possuem modelos comuns com a interpretação dos axiomas, ou seja existem sentenças que são compatíveis com a teoria pois afirmam coisas (situações ou configurações) que ocorrem na interpretação da teoria mas não foram explicitados como axiomas, nem são conseqüência lógica dos axiomas. A situação de incompletude é a mais comum, mesmo nas ciências ditas exatas. As teorias humanas e sociais são essencialmente incompletas. É esta incompletude que as tornam mais interessantes e ricas.
– 18 –
Figura 1.23 – Incomplitude A justificativa destas sentenças devem ser buscadas fora da teoria, elas necessitam de suporte factual. Este suporte é buscado a partir do processo de abdução, que é a base teórica para a aquisição de conhecimento.
Figura 1.24 – Aquisição de conhecimento A aquisição do conhecimento é baseada numa crença operacional. Significa que temos que admitir, para poder atuar no mundo, que exita uma estrutura lógica no mundo, este mundo todo de idéias, fatos reais, de fenômenos reais ou mesmo de fantasias. Existem conhecimentos mais primitivos, mais abstratos que outros e conhecimentos dali derivados. A própria noção de racionalismo, que diz que as coisas tem justificativas, é nossa única ação no sentido de atuar com respeito ao mundo. Não quer dizer que exista, ou seja verdade, esta racionalidade. Trata-se de uma hipótese operacional, mas é uma crença útil de admitir para que possa explicar o mundo de uma forma estruturada.
Figura 1.25 – Explicação estruturada A Fig. 1.25 apresenta os planos, desde o real até os conceituais ou os simbólicos, em níveis cada vez mais abstratos. Temos aqui níveis de abstração cada vez mais simbólico e menos real. Na figura temos o triângulo do significado, tendo o real em baixo. Assim os fatos devem ter razões pelas quais acontecem, mesmo que sejam tênues, probabilísticas, simples esperança, uma avaliação etc. Temos conceitos novos dos quais depende o original, numa hierarquia entre os conceitos. Então teremos fatos cada vez mais próximos do real. Chegará num ponto, segundo Carnap, que atingiremos algo passível a ser conhecido diretamente
– 19 – por observação. Nesta estrutura, há coisas que não podemos conhecer diretamente, necessitando de uma cadeia lógica para chegar ao observável. A cadeia lógica vai até o nível do real. Podem haver coisas com dependência pendente, necessitando de mais investigações, de uma hipótese ou teoria até chegar ao ponto de uma dependência ou algo observável. Esta é a visão que temos do trabalho de um analista de conhecimento. Estas hipóteses podem ser representadas através de regras introduzidas. O processo de aquisição do conhecimento parte de um alvo desconhecido e, através de um diálogo, são listados as dependências essenciais que fazem parte ou explicam aquele outro aspecto. Isto geraria as regras resultando uma estrutura semelhante àquela. A questão fato1 depende dos fatos fato2, fato3 e fato4, isto pode ser representado como uma regra: Se fato2 e fato3 e fato4 então fato1 o fato 2 depende dos fatos fato5 e fato6 , portanto a regra: Se fato5 e fato6 então fato2 e assim se constrói a hierarquia dada pelas regras, que também terá dependências. Os conceitos aqui marcados são pendentes, os outros dependem deles. A aquisição de conhecimento é o processo de se obter estas estruturas até chegar ao nível do observável.
1.4 – Conceitos relativos à aquisição de conhecimento Inicialmente, a própria noção de aquisição de conhecimento pressupõe a existência de duas entidades distintas: uma que constitui a fonte de conhecimento (um especialista, um livro texto, resultados de investigações, experiências, observações, etc.) e outra que constitui o destino do conhecimento, isto é, a entidade que o utilizará na solução de algum problema. De uma forma bem geral, o processo de aquisição de conhecimento consiste em transferir conhecimento de alguma fonte disponível, para alguma entidade destinatária, com algum objetivo em termos de utilização deste conhecimento. Deve ser ressaltado que a existência de uma fonte de conhecimento não assegura que o mesmo esteja em condições de ser aplicado na solução de algum problema. Daí surge a necessidade de, durante a transferência do conhecimento, transformá-lo de modo a permitir a sua utilização. É necessário então que haja um intermediário (supondo que nem a fonte nem o destino possam realizar esta transformação) neste processo, que geralmente é um Analista de Conhecimento. A transferência e a transformação de conhecimento formam o processo de aquisição de conhecimento. A Fig. 1.26 seguinte ilustra este processo.
Figura 1.26 – O processo de aquisição de conhecimento A construção de sistemas baseados em conhecimento apresenta como maior dificuldade o processo de aquisição de conhecimento. As primeiras técnicas para tal eram manuais, geralmente variações em torno de entrevistas, e tinham como principal desvantagem a interação entre especialistas e analista de conhecimento (o entrevistador), por esta gerar mais dúvidas que soluções. Um promissor caminho para eliminar esta desvantagem é o uso de técnicas automáticas para aquisição de conhecimento. Este caminho vem sendo bastante explorado através da construção de diversos ambientes, metodologias, técnicas, etc. Entretanto, em todos os casos, observa-se um grau não desprezível de empiricismo quanto à escolha do método ou da técnica na qual se apoia a solução. 1.4.1 - Etapas do processo de aquisição de conhecimento Pesquisando-se a literatura existente sobre o assunto (Boose et alii, 1989, Kidd, 1987, Musen, 1989, Wielinga et alii, 1992), verifica-se que, em geral, o processo de aquisição de conhecimento abrange as seguintes etapas: Elucidação. Fase que consiste em, através de interação com uma fonte de conhecimento disponível, obter declarações verbais ou escritas relativas a um domínio de conhecimento, sem qualquer preocupação com ordem, seqüência, estrutura, etc. Análise. As declarações obtidas, são analisadas de modo a identificar o mais relevante das declarações: os objetos, as suas propriedades e relações, definições e conceitos relativos ao domínio de conhecimento correspondente. O objetivo é obter transcrições das declarações, as mais “precisas”
– 20 – possíveis, que reflitam o que foi compreendido inicialmente. Interpretação. Nesta etapa começa uma nova interação com a fonte de conhecimento, para refinar as transcrições obtidas anteriormente, até que seja considerado adequado pelas partes, quando ambas dêem a mesma interpretação aos objetos descritos inicialmente. Entretanto, é comum não se atingir este ponto de um modo totalmente satisfatório, devido às dificuldades intrínsecas em transcrever para uma linguagem diversos conceitos que não são claramente formuláveis. Mesmo nestes casos passa-se à etapa seguinte, improvisando-se o que for necessário na esperança de que, através de um protótipo, as dúvidas sejam adequadamente resolvidas. Formalização. Destina-se à escolha de um formalismo capaz de representar adequadamente as transcrições obtidas na fase anterior. Esta escolha constitui-se em um passo importante para obter bons resultados com o sistema baseados em conhecimento que será construído. Codificação. Uma vez selecionado um formalismo, escolhe-se um ambiente adequado à implementação para a efetiva construção do sitema com base em conhecimento. Quando, nas três primeiras etapas, não for possível obter um refinamento adequado, obtém-se nesta fase um protótipo e começa-se um novo ciclo, sendo agora a fase de elucidação auxiliada por este protótipo, através de testes e de casos típicos.
Figura 1.27 – O ciclo de etapas do processo de aquisição de conhecimento Geralmente, considera-se (Kidd, 1987, Wielinga, 1992) cada uma destas etapas como distintas entre si. Desta maneira, a elucidação de conhecimento torna-se apenas a obtenção de uma fonte de conhecimento – se esta fonte for um especialista, esta etapa consiste apenas em registrar entrevistas. Esta é a primeira etapa e, segundo (Valerio, 1998) é a mais difícil e a que tem recebido menos atenção da comunidade científica. “O que geralmente se observa é a não existência de um ponto bem delimitado para determinar a transição entre uma etapa e a próxima, tornando-se esta uma decisão empírica. Identificando-se fatores que possam determinar estas transições, torna-se possível também adotar uma abordagem cíclica e sistemática para o desenvolvimento de cada uma destas etapas, ainda que, conceitualmente, estas etapas sofram alguns ajustes. Entretanto, de um ponto de vista mais geral, para que isto seja possível, é necessário reformular esta seqüência de etapas agrupando-as em duas partes principais: a primeira parte contendo as três primeiras etapas e a segunda, as demais etapas.” (Valerio, 1998)
– 21 –
Figura 1.28 – O novo ciclo de etapas do processo de aquisição de conhecimento Este novo agrupamento reflete mais naturalmente o caráter de realimentação existente entre as três primeiras etapas e as isola das etapas finais, cuja principal importância está mais relacionada com o uso de sistemas baseados em conhecimento e menos com a construção destes, particularmente com o processo de aquisição de conhecimento. Este é o primeiro e um importante passo para dar a este processo um caráter sistemático.
1.5 - O conhecimento como objeto de estudo Nesta seção estudaremos o próprio conhecimento, o que há em comum entre os diversos ramos científicos em termos do saber por eles utilizados. Seguindo-se Mário Bunge (Bunge, 1967-1), é possível classificá-lo em conhecimento formal (Lógica e Matemática) e conhecimento factual (específico de um domínio). O primeiro é comum a todos os ramos científicos, apenas ajustando-se às interpretações dadas aos símbolos, fórmulas e conceitos. O conhecimento factual é de natureza específica, geralmente particular, isto é, apenas os especialistas em cada domínio de conhecimento podem ter acesso a esse tipo de saber. Existem diversos ramos do perícia humana especializada que ainda não se revestem de um caráter plenamente científico (não existem as correspondentes teorias) mas que estão sujeitos a métodos ou critérios adotados pelos respectivos profissionais. Nestes ramos é possível pressupor a existência de algum tipo de organização intrínseca do conhecimento nele envolvido, embora não se tenha fácil acesso a esta organização. Em domínios de conhecimento factual especializado, há alguma forma intrínseca de organização do conhecimento. Há evidências que apoiam este pressuposto como ponto de partida. Embora, tipicamente, haja discordância de avaliações entre especialistas, observa-se que estas surgem muitas vezes em níveis de detalhes específicos, indicando a existência de um conjunto básico de conceitos, uma espécie de núcleo da área de saber. Diante disto, surgem duas conseqüências importantes. A primeira é a possibilidade de adotar-se uma abordagem epistemológica em relação à organização do conhecimento, que independe deste ou daquele especialista. O mérito do especialista está em desenvolver uma aguçada capacidade de observação em relação a uma área específica, de modo a estabelecer relações entre observações e conceitos de forma adequada a obter conclusões corretas (ou quase sempre corretas) sobre esta mesma área. Deve ser ressaltado que esta abordagem em nada diminui a importância dos especialistas, propondo apenas uma mudança de enfoque: é possível a existência de especialistas porque o conhecimento é intrinsecamente organizável, o que corresponde à noção de mundo intersubjetivo (Carnap, 1967), explorada na construção do sistema Episteme (Braga, 1990), visto a seguir. A segunda conseqüência é a possibilidade de adotar um tratamento sistemático para a construção de um corpo de conhecimento, sendo possível construí-lo de forma gradativa e estruturada, podendo vir a contribuir inclusive para melhorar a compreensão dos próprios conceitos envolvidos. Em (Braga, 1990) é apresentado o sistema Episteme para aquisição e estruturação automáticas de conhecimento, onde a estruturação do conhecimento é feita através de uma hierarquia de planos construída por um processo de análise de classes e relações declaradas por um usuário. Resumidamente, parte de um domínio de conhecimento formado por objetos em estudo ou observação, obtendo classes que representem propriedades particulares destes objetos e relações que estabeleçam propriedades comuns entre eles. Algumas classes e relações são básicas, não podendo ser
– 22 – decompostas, enquanto outras são derivadas das básicas. A estrutura será então uma hierarquia de planos de conhecimento correspondentes aos níveis de derivação das classes e relações, isto é, as básicas formam o plano mais baixo da hierarquia, o plano imediatamente acima deste será formado por classes e relações que podem ser derivadas diretamente das básicas e, genericamente, o plano de nível n será formado pelas classes e relações diretamente deriváveis daquelas que formam o plano de nível n-1. São três as bases teóricas utilizadas no sistema Episteme, sendo a principal a Teoria de estruturação do conhecimento científico sobre o mundo proposta pelo filósofo positivista lógico Rudolf Carnap em (Carnap, 1969). Utiliza ainda a Teoria dos planos de conhecimento que é uma parte da teoria dos Sistemas semânticos abstratos e a noção de Nível de conhecimento proposta por Allan Newell em (Newell, 1982).
1.6 – Princípios fundamentais do processo de aquisição de conhecimento Para que seja possível seguir uma abordagem sistemática é necessário a capacidade de identificar a existência de conceitos cuja definição esteja incompleta. Por conceito está sendo chamado, de forma genérica, um predicado ou atributo qualquer que se refira a algum objeto do domínio cujo conhecimento esteja sendo adquirido. A determinação de que a definição de um conceito está incompleta pode ser feita a partir da Teoria dos Planos de Conhecimento e de uma classificação dos conceitos, como visto a seguir. Para completar a definição de um conceito, será utilizado um oráculo associado a um provador automático de teoremas, visando permitir que se pergunte ao especialista quais são as partes que estão faltando na estrutura do domínio de conhecimento correspondente.
Figura 1.29 – Teoria dos planos de conhecimento A Teoria dos Planos de Conhecimento permite criar uma estrutura semântica associada a uma área de conhecimento. Esta estrutura possuirá uma hierarquia de planos de conhecimento cujo plano inferior estará associado aos conceitos que, no domínio de conhecimento escolhido, não podem ser decompostos em outros conceitos. É o plano real desta teoria. Estes conceitos são diretamente observados no objeto em estudo daquele domínio. As considerações a seguir que embasam este trabalho, foram definidas por (Valerio, 1998). O número de planos de conhecimento associado a uma área de conhecimento é finito, utilizando-se um plano para cada conceito e hierarquizando os planos conforme o grau de dependência entre os conceitos. Se um conceito depender de outro, então ocupará um plano superior a este. Um número infinito de planos de conhecimento implicaria em uma cadeia infinita de dependências, o que, por sua vez, implicaria em ser impossível chegar a uma conclusão (o conceito no nível mais alto da hierarquia).
Figura 1.30 – Iniciando um Plano de Conhecimento
– 23 –
Figura 1.31 – Um Plano de Conhecimento Genérico Em qualquer área de conhecimento, todo conceito pode ser classificado como primitivo ou derivável. Os conceitos associados ao plano mais alto são os mais indicados para que se comece a etapa de elucidação. A partir daí podem ser construídas listas de dependências de cada um destes conceitos em relação aos diretamente observáveis (primitivos). Há também uma questão relativa ao número total de conceitos envolvidos em uma dada área de conhecimento. O número de conceitos deriváveis em uma dada área de conhecimento é finito. As proposições acima são bastante intuitivas, sendo relativamente fácil aceitá-las. Se não fossem válidas, não seria possível a existência de especialistas nas mais diversas áreas do conhecimento humano. Utilizando -se a teoria dos planos de conhecimento e estas proposições, é possível estabelecer de maneira clara um ponto de término. Pode-se ainda tornar mais fácil estabelecer pontos iniciais também. Isto é possível através da noção de lacuna, que ocorre quando algum conceito derivável não possui pelo menos um caminho que estabeleça uma ligação entre este conceito e os conceitos primitivos. Assim sendo, a presença de uma lacuna em uma estrutura de planos hierárquicos de conhecimento indica um conceito cuja definição não está completa. Resumindo o que foi discutido, a etapa de elucidação deve começar por um conceito derivável e será concluída quando não mais existirem lacunas na estrutura hierárquica de planos de conhecimento em construção. Isto nos permite definir o ponto de término da construção da hierarquia de planos de conhecimento e dar a todo o trabalho o caráter sistêmico pretendido, o que eqüivale a estabelecer a existência de um algoritmo para o processo de aquisição de conhecimento. Como importante conseqüência a etapa de elucidação do processo de aquisição de conhecimento é passível de ser automatizada. Uma questão importante a ser vista é como identificar a existência de lacunas. A solução adotada para resolver esta questão foi proposta por (Valerio, 1998) e está baseada em dois tipos de recursos – um provador automático de teoremas, como mecanismo de inferência, e o uso de oráculos. É aqui que surge a importância do uso de oráculos no processo de aquisição automática de conhecimento: através deles é imediata a identificação da existência de lacunas em uma estrutura hierárquica de planos de conhecimento. Para que isto fique claro considere-se a sentença João é homem
Figura 1.32 – João é homem Neste caso, consideramos ‘homem’ como conceito inicial, derivado de dois outros, os fatos de ser ‘macho’ e ‘humano’, conforme ilustrado na Fig. 1.33:
– 24 –
Figura 1.33 – Conceito inicial Neste momento, poderíamos considerar ‘macho’ e ‘humano’ como primitivos. Porém, o segundo destes conceitos, por sua vez, ainda poderia ser derivado de outros tais como ‘racional’ e ‘animal’ conforme Fig. 1.34:
Figura 1.34 – Conceitos derivados Nesta altura, para deduzirmos que ‘João é homem’ deve-se verificar que ‘João é macho’, ‘João é racional’ e ‘João é animal’, não sendo necessário verificar que ‘João é humano’ uma vez que este é derivável dos dois últimos conceitos. Prosseguindo, se considerarmos que que o conceito ‘racional’ é derivável de ‘tem inteligência’ e ‘tem vontade própria’, chegaremos ao seguinte plano de conhecimento:
Figura 1.35 – Plano de conhecimento Aplicando as considerações feitas no parágrafo, ‘João é racional’ torna-se também um conceito derivado. No entanto, ambos conceitos introduzidos neste ponto são também derivados, conforme mostra a Fig. 1.37 para o conceito ‘tem inteligência’ e a Fig. 1.36 para o ‘tem vontade própria’:
– 25 –
Figura 1.36 – Inclusão de mais conceitos.
Figura 1.37 – Árvore completa Neste ponto, a derivação de ‘é homem’ depende apenas dos conceitos primitivos ‘é macho’, ‘é animal’, ‘percebe o real’, ‘resolve novos problemas’, ‘reage aos sentimentos’ e ‘pensa antes de agir’.
– 26 –
– 27 –
2. Sistemas Baseados em Conhecimento São três horas da manhã. O plantonista de um hospital de médio porte está sozinho. Repentinamente a calma rotina da madrugada é quebrada com a chegada estridente de uma ambulância trazendo uma emergência que não foi sanada em um hospital com menos recursos. O plantonista recebe o paciente, cujo estado clínico se agrava minuto a minuto; pelos testes já realizados, deteta que o caso é de uma especialidade que não domina. Então dirige-se ao terminal de computador e aciona um programa médico que interage com ele utilizando tão somente o jargão da medicina. O plantonista alimenta o programa com as informações fornecidas pelos testes e observações dos médicos do outro hospital; o programa faz um diagnóstico e recomenda um tratamento; o plantonista interroga-o a respeito das conclusões até estar satisfeito com as análises do programa. Assim, com esta ferramenta – construida com a técnica de sistemas baseado em conhecimentos – o plantonista teve em tempo hábil o conselho de uma junta de especialistas armazenado em um programa de computador.
Sistemas baseado em conhecimentos são frutos da aplicação de engenharia do conhecimento, uma das três subespecialidades do domínio da Inteligência Artificial. As outras duas incluem robótica e consulta em linguagem natural. Tais sistemas aplicam técnicas de Inteligência Artificial e conhecimento em problemas específicos de um domínio determinado para simular a atuação de peritos humanos. A eficácia destes sistemas depende diretamente de sua quantidade de conhecimento. Nenhum método genérico poderoso foi encontrado para criar ambiente inteligente sem o suficiente conhecimento para raciocinar sobre ele. Todavia, alguns métodos simples de inferência têm alcançado resultados impressionantes quando aplicados a uma adequada base de conhecimento. Sistemas baseado em conhecimentos são empregados como um auxiliar inteligente ou consultor para usuários humanos. Podem ter usos na resolução de problemas de rotina, liberando os peritos para problemas mais complexos. Podem também levar conhecimento especializado a localizações onde os peritos não estejam disponíveis ou torná-las acessíveis quando os serviços especializados sejam muito dispendiosos. Algumas organizações vêem sistemas baseado em conhecimentos como uma maneira de coletar e preservar a “memória institucional” garantindo-a contra a rotatividade dos baseado em conhecimentos humanos que podem se retirar das organizações, adoecer ou mesmo falecer. Diferente dos programas convencionais, os sistemas baseado em conhecimentos podem resolver problemas que exigem julgamentos do mesmo tipo que as pessoas se utilizam em seus trabalhos diários. Alguns destes sistemas – aliás como alguns sistemas tradicionais – fornecem respostas em termos de porcentagem de certeza, propagando dentro do programa graus de confiança associados a diversas informações. Alguns sistemas têm capacidade de dar explicações, que dizem como as respostas foram encontradas, sem o que em muito seria diminuída a credibilidade que os usuários neles depositam. Em suas capacidades, projetos e forma de operação, sistemas baseado em conhecimentos diferem profundamente dos sistemas convencionais. Provavelmente, as maiores diferenças residam na habilidade dos primeiros simularem raciocínio humano, inferirem e fazerem julgamentos, freqüentemente com informações incompletas; enquanto que os últimos efetuam tarefas puramente mecânicas e processam dados, ainda que em alta velocidade. Outra diferença é que aqueles sistemas derivam suas conclusões e soluções de heurísticas, baseadas em um domínio especifico de conhecimento, enquanto que os convencionais geram seus resultados através de algoritmos. Também estes trabalham exclusivamente com números e caracteres; enquanto que sistemas baseado em conhecimentos, com símbolos e conceitos. Assim, os programas convencionais são, basicamente, constituídos de algoritmos, onde o programador define todos os passos que os programas devem executar, e de uma grande massa de dados, especialmente numéricos. Por sua vez, os sistemas baseado em conhecimentos introduziram uma importante mudança no que diz respeito a filosofia de programação, sendo constituídos, basicamente, de uma grande massa de conhecimento e de processos de inferências (Teive, 1995), assim, temos:
Dado + Algoritmo = Programa Computacional Convencional Conhecimento + Inferência = Sistema Baseado em Conhecimento
Para funcionamento de um sistema baseado em conhecimento, é necessário representar simbolicamente o conhecimento e transportá-lo para um computador que eletronicamente repetirá análises peritas e estratégias de solução de problemas. Estes conhecimentos podem incorporar fontes e tópicos de assuntos que não requerem aptidão ou educação especiais, como aqueles encontrados em livros ou manuais. O conhecimento do domínio do problema referente a um sistema baseado em conhecimento é organizado separadamente de outros tipos de conhecimento do sistema, como os procedimentos de resolução de problemas ou de interação com o usuário. Esta coleção de conhecimento especializado é
– 28 – chamada base de conhecimento, e os procedimentos gerais de solução de problema, de máquina de inferência. Um programa com conhecimento organizado desta forma chama-se sistema baseado em conhecimento.
Figura 2.1 – Estrutura de um sistema baseado em conhecimento Os fatos representam os conhecimentos que são sabidos a priori e que podem ser considerados como ponto de partida para a resolução problema. São caracterizados também como os conhecimentos de domínio público, de fácil acesso e que podem ser extraídos através de textos, manuais, normas, livros, postulados e definições, constatação de fatos e resultados de experimentos. As regras representam os conhecimentos inerentes ao assunto sendo estudado, expressando a forma de pensar desenvolvida pelos especialistas (heurística), tendo por base os fatos já conhecidos e as deduções a partir deles. Aqui, o termo heurística ou rules of thumb significa a habilidade, ou a simplificação utilizada pelo perito no sentido de otimizar a busca da solução de um problema. Desta forma, novos conhecimentos podem ser acrescidos à base de conhecimentos, habilitando o sistema a uma tomada de decisão sobre o problema.
2.1 – Caracterização dos sistemas baseados em conhecimento Nos anos 50, os pesquisadores já haviam estabelecido as fundações da Inteligência Artificial, incluindo lógica matemática e teoria das funções recursivas, guiando a formulação de processamento de listas e da linguagem Lisp que fornece um interpretador para desenvolver expressões simbólicas recursivas. Tais capacidades suportaram o surgimento de sistemas práticos de computação simbólica. Ao mesmo tempo, emergiram computadores interativos tornando possíveis ambientes computacionais para desenvolvimento e depuração de programas incrementais. Nesta mesma ocasião, psicólogos cognitivos – estudantes da forma de pensar humana – criaram caminhos, padrão do processo de investigação do raciocínio, modelando o aparente processo de tomada de decisão em termos de regras de produção condicionais. Já nos anos 60, os pesquisadores de Inteligência Artificial tentaram simular o complexo processo de pensamento procurando métodos gerais para resolver uma ampla classe de problemas. No entanto, a despeito de alguns progressos interessantes, as dificuldades eram enormes e não frutificaram. Então, durante a década de 70 concentram-se esforços em técnicas como representação – isto é, modo de formular o problema de maneira a tornar sua solução mais fácil, como controlá-la inteligentemente dentro da capacidade de memória do computador. Esta estratégia produziu algum sucesso mas ainda não foi decisiva. Somente no final da década fizeram a descoberta mais importante: o poder de resolver problemas do programa depende mais do conhecimento que possui do que o formalismo ou esquema de inferência empregado, o que levou ao desenvolvimento de programas de computador de propósito particular, sistemas que são peritos em alguma área limitada surgindo os sistemas baseado em conhecimentos, e um novo campo se iniciou. Os sistemas baseado em conhecimentos começaram a aparecer comercialmente nos primeiros anos da década de 1980. Após terem se desenvolvido por quinze anos como mera curiosidade de Inteligência Artificial aplicada em laboratórios de pesquisa, tornaram-se alvo de significativos esforços de desenvolvimento tanto técnicos como comerciais. Estes sistemas empregam computador de maneira diversa que o processamento de dados convencional, abrindo novas e importantes veredas. O funcionamento de um sistema destes e a atuação de um especialista humano que pretende replicar não são idênticas. Um ou outro podem em alguns casos desempenhar tarefas idênticas, contudo as características de ambos são criticamente diversas. Mesmo havendo algumas vantagens evidentes destes sistemas, eles não poderão substituir os peritos em todas as situações devido às suas limitações inerentes. A experiência de técnicos humanos pode ser diminuída ou perdida quando não for exercitada por longo
– 29 – tempo, risco inexistente com o conhecimento artificial que uma vez adquirido torna-se permanente – exceto um acidente envolvendo sua memória armazenada. Também sua transferência resume-se a uma trivial cópia de arquivos, enquanto a transmissão de conhecimento de um baseado em conhecimento a outro envolve um demorado e custoso processo de educação. A documentação da experiência humana é difícil e demorada, mas para o conhecimento especializado artificial é relativamente simples, se resumindo ao mapeamento entre a maneira de representação do conhecimento e sua descrição em linguagem natural. Conhecimento artificial produz resultados mais consistentes e reprodutíveis que peritos reais. Estes podem tomar diferentes decisões em situações idênticas, devido a fatores emocionais, como por exemplo, esquecendo-se de aplicar uma regra importante devido à pressão de uma situa ção de crise; falha a que um sistema baseado em conhecimento não está suscetível. A vantagem final de conhecimento artificial é seu baixo custo de utilização e reprodução, como compensação ao seu alto custo de implantação, que pode levar vários anos. Os especialistas humanos, especialmente os melhores, têm altos salários, enquanto que sistemas baseado em conhecimentos têm o custo nominal do computador rodar o programa. Os especialistas não podem ser simplesmente trocados por programas, pois o conhecimento artificial tem algumas limitações. Uma delas é falta de criatividade. Um perito pode reorganizar informações e usá-las para sintetizar novo conhecimento; pode manusear eventos inesperados usando imaginação ou novas abordagens, inclusive raciocinando por analogia de um outro domínio completamente diferente. Sistemas baseado em conhecimentos trabalham de maneira sem inspiração, rotineira. No aprendizado, também há nítida vantagem do perito, que se adapta a mudanças de condições, ajustando suas estratégias, tarefa muito difícil para um sistema baseado em conhecimento, embora isto já esteja ocorrendo em domínios extremamente simples, não funcionando bem, quando confrontado com a complexidade e detalhes de problemas reais. Peritos humanos podem usar entradas complexas do sistema sensorial, disponíveis pelos cinco sentidos. Sistemas baseado em conhecimentos manipulam símbolos que representam idéias e conceitos; assim, dados sensoriais devem ser transformados em símbolos para serem compreendidos pelo sistema e parte da informação pode ser perdida nesta transformação. Peritos humanos vêem o problema de maneira ampla, examinando todos os seus aspectos, selecionando os relevantes; por outro lado, sistemas baseado em conhecimentos focalizam-se no problema em si, ignorando informações isoladas que poderiam ser importantes. Finalmente, os seres humanos – peritos ou não – possuem o conhecimento advindo do senso comum, que se constitui num largo espectro de conhecimento sobre o mundo, acumulado durante toda sua vida e que permeia todas as suas decisões. Devido à enorme quantidade de conhecimento de senso comum, fatos de domínio público que todos sabem, torna-se difícil construir um programa inteligente, particularmente um sistema baseado em conhecimento. Como um exemplo deste tipo de conhecimento, suponha que se examine um registro médico de um paciente que pese 7 quilos e tenha idade de 25 anos. Imediatamente, haverá a suspeita de erro nos dados, não porque isoladamente sejam impossíveis, mas sua combinação virtualmente o será; de fato, desconfiará que os dados foram acidentalmente invertidos. Um sistema baseado em conhecimento médico não detectará este tipo de erro, a menos que disponha de uma tabela idade-peso (e seus limites de tolerância) para conferílo. Senso comum inclui conhecimento sobre o que não se sabe assim como o que se conhece. Por exemplo, se você for perguntado como a televisão noticiou um fato ocorrido no ano passado, puxará pela memória para recuperar a informação. Se a pergunta fosse como a TV soviética noticiou outro fato, imediatamente responderá que não sabe. Da mesma forma, se lhe perguntarem como a televisão brasileira informou a Proclamação da República, você dirá que tal não ocorreu pois não havia televisão naquela época. Quando um sistema baseado em conhecimento é questionado sobre informações que não disponha ou não existam, ele não detecta esta situação por não possuir senso comum. Então, iniciará exaustiva pesquisa nos seus fatos e regras para procurar a solução. Daí, quando esta não for encontrada, pode julgar que é porque seu conhecimento está incompleto e solicitará informação adicional para completar sua base de conhecimento. Por estas razões, sistemas baseado em conhecimentos são freqüentemente utilizados no aconselhamento, como consultor ou ajuda para outro perito ou iniciante usar em algum problema que necessite resolver. Em contraste com sistemas avançados de processamento de dados, que automatizam algoritmicamente extensos volumes de dados, sistemas baseado em conhecimentos ordinariamente trabalham com pequenas tarefas, tipicamente desempenhadas por profissionais: interpretando, diagnosticando, planejando, escalonando e assim por diante. Para acompanhamento destas tarefas, os sistemas baseado em conhecimentos utilizam judiciosamente os dados e raciocinam com eles. Ao contrário
– 30 – do método usual em processamento de dados, os sistemas baseado em conhecimentos geralmente examinam uma extensa gama de possibilidades ou constróem as soluções dinamicamente. Para entender quais são as características comuns aos sistemas baseado em conhecimentos, basta examinar o que estes fazem: 1. 2. 3. 4. 5. 6. 7. 8.
Resolvem problemas muito complexos tão bem quanto baseado em conhecimentos humanos. Raciocinam heuristicamente, usando o que os peritos consideram efetivamente regras práticas. Interagem com usuários humanos utilizando inclusive linguagem natural. Manipulam e raciocinam sobre descrições simbólicas. Funcionam com dados errados e regras incertas de julgamento. Contemplam hipóteses múltiplas simultaneamente. Explicam porque estão fazendo determinada pergunta. Justificam suas conclusões.
O núcleo de um sistema baseado em conhecimento é a potência do corpo de conhecimento acumulado durante sua construção. Este conhecimento é explícito e organizado de forma a simplificar o processo de decisão. A importância deste fato deve ser suficientemente enfatizada: a acumulação e codificação de conhecimento é um dos mais importantes aspectos de um sistema baseado em conhecimento. Isto tem implicação que transcende à simples construção de programas para efetuar alguma tarefa, dado que o conhecimento que alimenta este tipo de sistema é explícito e acessível, ao contrário dos programas convencionais. A capacidade mais útil de um sistema baseado em conhecimento é sua especialização de alto nível que auxilia na solução de problemas. Este conhecimento especializado pode representar a experiência dos melhores peritos no campo. Sua alta especialização, justamente com a habilidade de aplicação, torna seu custo competitivo e apto a ganhar espaço no mercado comercial. A flexibilidade do sistema também auxilia, pois pode crescer incrementalmente segundo as necessidades do negócio ou organização. Isto significa que é possível iniciar com um investimento relativamente modesto expandindo-o de acordo com as necessidades. O corpo de conhecimento que define a proficiência de um sistema baseado em conhecimento pode também oferecer uma capacidade adicional – a memória institucional. Se a base de conhecimento foi desenvolvida através de interação de pessoas-chave de uma organização, isto representa a política corrente do grupo. Esta compilação de conhecimento virá a ser o consenso de opiniões de alto nível e um registro permanente das melhores estratégias utilizadas. Quando pessoas-chave desligam-se da organização, sua experiência permanecerá. Este fato é especialmente crítico onde houver rápido turnover e freqüente deslocamento de pessoas. Outra capacidade de um sistema baseado em conhecimento é a de oferecer treinamento, dado que já contém conhecimento e habilidade de explicar seu processo de raciocínio. Interfaces amigáveis e conhecimento sobre métodos de ensino podem ser construídos para o treinando acessá-lo, tornando-se assim disponível mesmo para novatos a vasta reserva de experiência acumulada e estratégias da empresa. A área de sistemas baseado em conhecimentos investiga métodos e técnicas para construção de sistemas homem-máquina com habilidade para a solução de problemas técnicos. É importante notar que a experiência de peritos humanos significa mais que o simples conhecimento sobre um particular domínio, uma vez que indica, também, compreensão dos problemas deste domínio como habilidade para resolver alguns destes problemas. O conhecimento não se encontra somente em livros, como também na cabeça dos especialistas, que o empregam em “modo prático” (heurística). São elas que permitem ao perito conjecturar quando necessário, para reconhecer promissoras aproximações do problema em questão, tirando conclusões preliminares a partir de dados errados ou incompletos. Como elucidar e reproduzir estes conhecimentos constitui-se na tarefa central da montagem de sistemas baseado em conhecimentos. Pesquisas neste campo sugerem várias razões para aquela ênfase no conhecimento em si antes que em métodos de raciocínio formais. A mais importante é que muito da dificuldade e interesse dos problemas não possui soluções tratáveis por algoritmos, dado que muitas tarefas se originam em contexto social ou físicos complexos que geralmente resistem a descrições precisas e análises rigorosas. Planejamento, raciocínio legal, diagnóstico médico, exploração geológica e análise de situações militares exemplificam estes problemas. Outra razão para enfatizar conhecimentos ao invés de métodos de raciocínios formais é pragmática: especialistas humanos adquirem desempenho notável porque eles continuam a aprender, ou seja, incorporam novos conhecimentos. Logo, se programas de computador puderem incorporar e utilizar este conhecimento, também eles poderão alcançar altos níveis de desempenho. Isto tem provado ser verdade na curta história dos sistemas baseado em conhecimentos. Programas têm alcançado níveis de desempenho que rivalizam com peritos humanos em várias tarefas: prospecção mineral, configuração de computador,
– 31 – elucidação de estruturas químicas, matemática simbólica, jogo de xadrez, terapia e diagnóstico médico e análise eletrônica. A terceira razão para focar no conhecimento reconhece seu valor intrínseco: conhecimento é recurso escasso cujos refinamento e reprodução geram riquezas. Tradicionalmente, a transmissão de conhecimento requer educação e treinamento por longos anos. A extração deste conhecimento de peritos e a colocação em forma computável podem reduzir grandemente seu custo de reprodução e utilização. Ao mesmo tempo, este processo pode ser acelerado pela colocação do conhecimento heurístico disponível para emprego público. Já na “Intemational Joint Conference on AI”, Feigenbaum atinou com o fator-chave de sistemas baseado em conhecimentos: “A potência de um sistema baseado em conhecimento deriva do conhecimento que possui e não de particular formalismo ou esquema de inferência que empregue.” O primeiro período da pesquisa foi dominado pela crença ingênua em que poucas leis de raciocínio acopladas com a potência de computadores alcançariam desempenhos em problemas especializados superior ao dos peritos. Quando a experiência aumentou, o alcance severamente limitado de estratégias de solução em problemas de propósito geral indicou que não era esta a direção a seguir. Em reação a esta limitação percebida nas estratégias gerais, muitos pesquisadores começaram a trabalhar em problemas de aplicação em escopo mais restrito. No meio da década de 70, vários sistemas baseado em conhecimentos começaram a emergir. Algumas investigações que tiveram sucesso em reconhecer a regra central do conhecimento nestes sistemas iniciaram esforços para desenvolver teorias compreensíveis de representação do conhecimento em sistemas de propósito geral. Em poucos anos, ficou claro que estes esforços alcançaram fracos resultados por razões semelhantes àquelas que condenaram o resolvedor geral de problemas, tentado no inicio. O conhecimento como um alvo de estudo é também largo e diverso; assim, esforços para resolver problemas baseados no conhecimento em geral são prematuros. Por outro lado, várias abordagens diferentes de representação do conhecimento provaram ser suficientes para os sistemas baseado em conhecimentos que as empregaram. Assim, a pesquisa para aumentar a potência de representações gerais de conhecimento, a despeito de intuitivamente ser aparentemente desejável, não apresenta justificativa empírica.
2.2 – Elementos básicos dos sistemas baseado em conhecimentos As técnicas de solução de problemas de Inteligência Artificial permitem aos sistemas baseado em conhecimentos tirarem conclusões para as quais não foram especificamente programados. Isto contrasta com os métodos tradicionais de processamento de dados, cujos dados de entrada são bem controlados, usam primariamente computação numérica em algoritmos bem compreendidos e, quando feitos corretamente, produzem respostas corretas. Por outro lado, sistemas baseado em conhecimentos empregam informações nem sempre consistentes ou completas, manipula-as através de métodos de raciocínio simbólico sem seguir modelos numéricos, para produzir respostas satisfatórias ou aproximações úteis. Naturalmente, quanto mais completa e corretamente estiver representado o conhecimento, melhor será a saída do sistema. Algumas técnicas e elementos que os tornam possíveis são aquisição de conhecimento, heurísticas, métodos de representação de conhecimento e máquinas de inferência. Nos parágramos seguintes faremos uma abordagem inicial destes conceitos. Aquisição de conhecimento é o processo de extração e formalização do conhecimento de especialistas ou fontes escritas, para uso em um sistema baseado em conhecimento. Exemplos de conhecimento são descrição de objetos, identificação de relacionamentos e explanação de procedimentos. Trata-se da tarefa crucial para o desenvolvimento de um sistema baseado em conhecimento, porisso será abordada com mais detalhe em capítulo específico. Heurísticas são regras práticas aprendidas ou descobertas por especialistas de um dado domínio. Para ilustrar a diferença entre processos algoritmos e heurísticos, considere a situação de prevenção de contrabando no país. Um algoritmo para tal previria a necessidade de patrulhamento a todos os milhares de quilômetros de fronteiras terrestres e costas, assim como rigorosa inspeção em todos os aeroportos e portos, oficiais ou particulares, além de todos os pontos de entrada no país através de rodovias e ferrovias. Isso sem dúvida superaria a oferta de mão-de-obra disponível. Deve-se levar em conta que uma vistoria demasiadamente rigorosa poderia acarretar situações constrangedoras aos passageiros ou violar direitos de cidadão garantidos por leis internacionais. Então, resta a solução heurística, que é a melhor aproximação que se pode obter com os recursos existentes, ou seja, exercer vigilância nas rotas conhecidas de contrabando e inspeção na alfândega das bagagens mais promissoras, o que pode não evitar de todo o contrabando, mas sem dúvida o cerceará. Este fato identifica o risco de processos heurísticos – a possibilidade de não encontrar
– 32 – solução. Por outro lado, trabalha com aproximações factíveis, na inexistência ou impraticabilidade de um processo algoritmo exato. Quando codificada em sistemas baseado em conhecimentos, estas regras dirigem o processamento através da massa de informações. Heurísticas tornam o processo de solução mais eficiente que pesquisas exaustivas através do campo de possíveis soluções. A representação do conhecimento é a estrutura formalizada e o conjunto de operações que envolve a descrição, relacionamento e procedimento de um determinado domínio. O conhecimento representado em um programa particular chama-se base de conhecimento. Exemplos de representações incluem regras de produção do tipo “Se... então...”, quadros (frames) e redes semânticas. Diversos tipos de conhecimento podem seguir representações diferentes. Regras de produção são mais adequadas para representação de conhecimento dedutivo, como situação-ação, premissa-conclusão, antecedente-conseqüente e causa-efeito. Quadros são mais indicados para representar conhecimento descritivo e relacional que reúne ou se ajusta a algum protótipo tal como a descrição de um ambiente selvagem ou processo de contabilização. Redes semânticas são úteis para modelagens de estruturas físicas ou ligações causais, como o inter-relacionamento de elementos de um modelo econômico. De todas estas formas, a primeira é a mais largamente utilizada em aplicações comerciais atualmente. O formalismo de representação do conhecimento pode incluir formas flexíveis de descrição de taxiomias conceituais e regras heurísticas condicionais. A primeira envolve relações entre tipos de objetos, classes e individuais, determinando quais propriedades de um se aplicam a outros. Como exemplo, muitos resolvedores de problemas podem acomodar e explorar fatos do tipo a seguir, que explicitam as regras de acentuação em português: 1. São acentuadas as palavras cuja sílaba tônica for a antepenúltima. 2. As palavras cuja sílaba tônica for a penúltima e não terminar em “a”, “e”, “o” (seguidos ou não de “s”), m ou “ns”, serão acentuadas. 3. Se uma palavra tem a tônica na última sílaba e terminar em “a”, “e”, “o” (segu idos ou não de “s”), “m” ou “ns”, então será acentuada. 4. Se a sílaba tônica da palavra for em um “i” ou “u”, seguido ou não de “s” e fo rma hiato com a vogal anterior, então era será acentuada. 5. São acentuados os verbos “ler”, “dar”, “ver”, “crer” e mais “ter” e “vir” assim como os derivados destes. 6. São acentuadas aquelas palavras que levam acento diferencial (como pára, pólo, etc).
Regras heurísticas representam juízo sobre conhecimento. Muitos instrumentos fornecem um estilizado formalismo “Se-Então” para representação do conhecimento, como por exemplo, usando o conhecimento acima: 1. Se sílaba_tônica(*palavra,antepenúltima) então acentuada(*palavra) 2. Se sílaba_tônica(*palavra, penúltima) e não final(*palavra) então acentuada(*palavra) 3. Se sílaba_tônica(*palavra, última) e final(*palavra) então acentuada(*palavra) 4. Se sílaba_tônica(*palavra, vogal-fraca) e hiato(vogal_fraca) então acentuada(*palavra) 5. Se pertence(*palavra,verbos) ou pertence(*palavra,derivados) então acentuada(*palavra) 6. Se pertence(*palavra,lista_de_diferenciais) então acentuada(*palavra) 7. final(a | e | o | m | as | es | os | ns) 8. vogal_fraca(i | u | is | us) 9. verbos(ler | dar | ver | crer) 10. derivados(ter | vir) 11. lista_de_diferenciais(pára | pólo | ...)
onde as primeiras fórmulas são regras e as últimas fatos. Utilizamos também o asterisco (*) para identificar variável, ao modo Witty, discutido no cap. 7. A tarefa da máquina de inferência é selecionar e então aplicar a regra mais apropriada em cada passo da execução do sistema baseado em conhecimento, o que contrasta com técnicas de programação convencional, onde o programador seleciona a ordem na qual o programa deverá executar os passos, ainda em tempo de programação. Há sistemas que operam a inferência por caminhamento para a frente, outros se utilizam de caminhamento retrospectivo e ainda outros empregam ambas as direções. No caminhamento retrospectivo, o sistema parte da meta (como a identificação de uma espécie de planta) e pesquisa a cadeia de premissas de todos os fatos envolvidos (como características botânicas) que permite chegar a uma conclusão com o nome da espécie). No outro tipo de caminhamento, trabalha com peças elementares de informação (como a lista dos componentes de um sistema de computador) e tenta
– 33 – seguir para o objetivo combinando estes elementos (como a configuração impressa de componentes que representem completamente um sistema de computador funcional). Muitos sistemas que empregam caminhamento retrospectivo são usados para propósitos de diagnóstico; eles iniciam com algum objetivo (uma lista de sintomas, por exemplo) e tentam descobrir quais premissas podem ocasionar tais sintomas. Muitos sistemas que utilizam caminhamento para a frente são usados para propósitos de construção; eles partem de uma série de premissas e as combinam para produzir algum resultado final. Em muitos casos, a escolha de qual direção o sistema deverá executar é feita reproduzindo a maneira utilizada por uma pessoa ao resolver o problema. Conquanto seja possível escrever sistemas de regras de produção em qualquer linguagem de programação, ambientes especialmente desenhados para o desenvolvimento destes sistemas podem agilizar sobremaneira a sua construção. Um exemplo de um ambiente deste tipo, que tem viabilizado algumas aplicações somente pelo fato de existir, é um projeto brasileiro resultado de duas décadas de pesquisa, enriquecido por dissertações e teses – o Witty (Cap. 7). Para examinar como seria o funcionamento de uma máquina de inferência, vamos considerar o conhecimento de zoologia expresso pelas seguintes informações: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Toda ave tem penas. Todos animais que cantam são aves. Os animais ovíparos que voam são aves. Canários cantam. Serpentes são ovíparos. Marrecos são ovíparos. Pardais são ovíparos. Morcegos voam. Marrecos voam. Pardais voam.
a partir da qual desejamos saber se o pardal tem penas. Para tal, vamos transformar estas informações em fatos e regras condicionais. A primeira dela passará a ter a seguinte forma: SE um animal for ave ENTÃO ele terá penas. Representando de maneira simbólica, formalmente a assertiva acima, empregando lógica de primeira ordem (predicativa), chegaremos a: SE é_ave(*x) ENTÃO tem_penas(*x) “ave(*x)” significa “o animal x é uma ave”. Utilizando esta mesma representação informações, chegaremos a seguinte base de conhecimento: [F1] [F2] [F3] [F4] [F5] [F6] [F7] [R1] [R2] [R3]
para as demais
canta(canário) é_ovíparo(serpente) é_ovíparo(marreco) é_ovíparo(pardal) voa(morcego) voa(marreco) voa(pardal) SE é_ave(*x) ENTÃO tem_penas(*x) SE canta(*x) ENTÃO é_ave(*x) SE é_ovíparo(*x) e voa(*x) ENTÃO é_ave(*x)
onde as três últimas representam regras gerais a respeito de qualquer animal (*x) e as primeiras são fatos específicos de alguns animais. Introduzindo ao sistema a pergunta O pardal tem penas?, ou, nesta representação tem_penas(pardal)?, a máquina de inferência partirá da pergunta e examinará os fatos para ver se existe algum que a responda trivialmente. Como neste caso tal não ocorre, passará a pesquisar os conseqüentes das regras, à procura do predicado tem-penas, o que ocorre logo na R1. Como nossa pergunta é sobre pardal e não sobre animais em geral, esta regra será instanciada para um particular valor de *x (pardal). Este procedimento é permitido porque uma regra geral continuará a valer em casos particulares e se trata de uma das mais poderosas ferramentas da inferência. Assim, a regra instanciada resultará em SE é_ave(pardal) ENTÃO tem_penas(pardal) Percorrendo de novo a base de conhecimento, veremos que é_ave(pardal) não faz parte dos fatos;
– 34 – então voltamos a percorrer os conseqüentes das demais regras, encontrando este predicado na R2 que, particularizada para este valor de *x ficará: SE canta(pardal) ENTÃO é_ave(pardal) Agora a nossa submeta é canta(pardal) que, se conseguirmos provar, então será verdade o antecendente desta regra é_ave(pardal) o que permitirá caminhar para trás até responder a pergunta original. Infelizmente, este predicado não aparece em nenhum outro fato ou regra da base; quer dizer que esta caminho falha, precisa ser abandonado e retornar ao passo anterior. Novamente varrermos a base na procura do predicado ave, encontrando-o no conseqüente da R3, que instanciada resulta SE é_ovíparo(pardal) E voa(pardal) ENTÃO é_ave(pardal) Então nosso objetivo se converteu em duas sub-metas, ambas devendo ser provadas. Felizmente, elas são fatos (F3 e F7), prosseguindo, é_ave(pardal) é verdadeiro, logo pela R1 tem_penas(pardal) também é verdade; assim a resposta à pergunta é “SIM”. Este raciocínio está resumido na tabela a seguir e graficamente, na Fig. 2.2 a seguir. Inferência Passo
Regra
1 2
R1 R2
3
R3
4 5 6 7
F3 F7 3 1
Resultado SE ave(pardal) ENTÃO tem_penas(pardal) SE canta(pardal ENTÃO ave(pardal) >>> FALHA <<< SE ovíparo(pardal) E voa(pardal) ENTÃO ave(pardal) ovíparo(pardal) voa(pardal) ave(pardal) tem_penas(pardal) tem_penas(pardal)
1 BASE DE CONHECIMENTO [F1] canta(canário) [F2] é_ ovíparo(serpente)
Se é_ave(pardal) então tem_penas(pardal)
[F3] é_ovíparo(pato) [F4] é_ovíparo(pardal)
2
[F5] voa(morcego)
Se canta(pardal)
[F6] voa(pato)
então é_ave(pardal)
[F7] voa pardal [R1] SE
é_ave(*x)
ENTÃO tem_penas(*x) [R2] SE
canta(*x)
ENTÃO é_ave(*x) [R3] SE
Se é_ovíparo(pardal) e voa(pardal) então é_ave(pardal)
FALHA
é_ovíparo(*x) E voa(*x)
ENTÃO é_ave(*x)
é_ave(pardal)
3
Figura 2.2 – Funcionamento de uma máquina de inferência, segundo a estratégia de caminhamento retrospectivo orientado pela meta O método de representação do conhecimento pode ser definido como a formalização e a estruturação das informações adquiridas no processo da aquisição de conhecimento. É de suma importância, pois dele depende a eficiência, a velocidade e a manutenção do próprio sistema. O método escolhido depende, fundamentalmente, da área de domínio do problema e do problema a resolver, podendo, dependendo do problema, ser utilizados métodos diferentes de representação ou , até mesmo, mais de um método de representação na resolução de um mesmo problema. Segundo (Jackson, 1986), um bom método de representação de conhecimento deve possuir as seguintes características: lógica: o formalismo utilizado deve ser capaz de expressar o domínio do conhecimento; heurística: o formalismo construído deve facilitar o desenvolvimento de inferências de novos conhecimentos, necessários para a resolução de um problema; notação: as expressões de representação utilizadas devem ser de fácil leitura e redação, serem
– 35 – declarativas e possibilitarem a codificação de todos os conhecimentos. Existem vários métodos ou técnicas para a representação do conhecimento em um sistema baseado em conhecimento, que a seguir serão sucintamente descritos. Tripla Objeto-Atributo-Valor (O-A-V). Consiste, basicamente, em caracterizar entidades ou objetos na área de domínio, associando-lhes um conjunto de atributos e, a estes, um determinado valor. Por exemplo: o objeto “terreno” pode possuir vários atributos, dentre eles “área”, que possuem um determinado valor, por exemplo: “500 m2 ”. A representação de uma tripla O-A-V pode ser feita em forma de uma tabela ou em forma de uma rede onde os nós representam os conceitos de objeto, atributo e valor, e as linhas que os interligam representam as relações hierárquicas existentes entre os nós, dos tipos: “is_a” (é_um), “has_a” (tem_um), “a_kind_a” (aka) (um_tipo_de). A representação através de triplas O-A-V é, normalmente, utilizada para listar os conhecimentos em forma de tabelas, servindo de base para a produção ou indução de regras heurísticas na base de conhecimento. Redes Semânticas. Podem ser definidas, basicamente, como a representação de conhecimentos de vários objetos, como se fosse um conjunto de triplas O-A-V, ou a forma de representar vários objetos e diversos atributos desses objetos. Esquematicamente, as redes semânticas são representadas como um conjunto de nós ou nodos que são ligados por meio de arcos, onde cada nodo representa um objeto, uma entidade conceitual ou um evento e cada arco representa o relacionamento existente entre cada par de nodos, sendo que cada par de nodos representa um determinado fato. A medida que novos fatos vão sendo associados, cada nodo pode ser ligado a outros nodos, proporcionando o desenvolvendo da rede. A Fig. 1.3 mostra a representação de rede semântica, onde o nodo “Lote ARE” especifica um determinado tipo de terreno que herda todos os atributos concernentes ao nodo/objeto “Terreno” e, também, possui os seus próprios atributos. A propriedade de “herança” proporciona uma considerável redução na memória de armazenamento de conhecimentos.
Figura 2.3– Representação de Rede Semântica Como vantagens podem ser citadas: 1) flexibilidade: nodos e arcos podem ser adicionados a medida que novos fatos são conhecidos; 2) inteligibilidade: devido a sua tendência de orientação à objeto, sua estrutura de representação – suas características associativa e classificatória, elas tornam-se “parecidas” com a memória humana; 3) simplicidade: devido a representação de conhecimentos através de simples triplas (nodo-arco-nodo) e a sua capacidade de permitir herança; 4) herança: permite que o seu desenvolvimento tenha uma determinada hierarquia para os objetos, permitindo, com isto, que qualquer “objeto-filho” (subclasse) herde automaticamente todas as propriedades do “objeto-pai” (superclasse). Dentre as desvantagens, destacam-se: 1) diferentemente da representação através da lógica, onde o conhecimento sobre um determinado objeto pode ser rigorosa e completamente definido, as redes semânticas dificilmente, conseguem atingir este objetivo. Para isto, elas precisariam ter todos os seus “nodos” e “ligações”, também, rigorosa e completamente, definidos, o que, dependendo da área de domínio do problema pode ser inviável ou, até mesmo, impossível, visto que as redes necessitariam uma grande e complexa representação e isto, certamente, causaria problemas de entendimento e consistência da própria rede. 2) problema da “explosão combinatória” na busca da solução de um determinado problema, isto é,
– 36 – dependendo do tipo de conexão existente, uma quantidade significativa de nodos, ou até mesmo todos, podem ser pesquisados. Lógica Proposicional. A lógica é uma das mais primitivas formas de representação do raciocínio ou conhecimento humano. No campo da IA, é uma das primeiras formas de representação do conhecimento. Segundo (Nolt, 1991), a lógica é o estudo de argumentos, onde um argumento é uma seqüência de enunciados na qual um dos enunciados é a conclusão e os outros são premissas, as quais servem para provar ou evidenciar a conclusão. As premissas e a conclusão são os enunciados ou proposições. A lógica proposicional é considerada a forma mais comum da lógica. Baseia-se em que uma proposição só pode ter um dos seguintes valores: verdadeira ou falsa. As proposições podem ser ligadas através de conectores ou operadores lógicos formando, assim, as proposições compostas. A Tabela 2.1 mostra os operadores utilizados pela lógica proposicional. Operador Lógico
Significado
e ou não implica equivalência
Tabela 2.1: Operadores Lógicos A lógica proposicional não é muito adequada para a representação do conhecimento devido, principalmente, à sua pouca flexibilidade, pois nela, os conhecimentos sobre um determinado objeto ou conceito limitam-se aos valores verdadeiro ou falso, o que é insuficiente para definirmos adequadamente este objeto ou conceito e, por conseguinte, insuficiente para a resolução de problemas complexos. Lógica de Predicados. A lógica de predicados é considerada como uma extensão da lógica proposicional. Naquela, a validade das proposições (sentenças simples e completas), verdadeiras ou falsas, não leva em consideração os predicados, ou conceitos, ou atributos, ou relações que um determinado objeto possui, não conseguindo, assim, caracterizar um objeto ou uma determinada classe de objeto. Em outras palavras, a lógica proposicional não leva em consideração a estrutura interna das sentenças Na lógica de predicados os elementos fundamentais são, além do objeto, os seus predicados. Os predicados são então utilizados para representar os conhecimentos sobre um determinado objeto, levando em consideração a estrutura interna das sentenças. Os predicados podem estar relacionados com mais de um objeto e, também, podem ser conectados através dos operadores lógicos. O exemplo a seguir mostra a insuficiência da lógica proposicional. Assumindo a veracidade dos seguintes fatos: 1. 2. 3.
Se for inverno em Paris será verão em Brasília. Se for verão em Brasília, então estará chovendo. Agora é inverno em Paris.
A questão é: Agora está chovendo em Brasília? Os fatos 1 a 3 acima estão expressos em linguagem corrente e precisaremos utilizar símbolos para representá-los. Desta forma, seja P, Q e R respectivamente “inverno em Paris”, “verão em Brasília” e “está chovendo em Brasília”. Introduzindo o símbolo lógico ‘ ‘ (implica), chegaremos a 1. P Q 2. Q R 3. P que é a tradução daquelas sentenças para fórmulas lógicas. Como conseqüência da validade das fórmulas de 1 a 3, pode-se deduzir que a fórmula 4.
R
é igualmente válida, ou seja, é conseqüência lógica das precedentes. Quer dizer, estará chovendo em Brasília. Vamos agora considerar outro exemplo, expresso pelos seguintes fatos clássicos: 5. 6.
Sócrates é um homem. Todo homem é mortal.
Para representar estes fatos precisamos de um novo conceito chamado predicado. Teremos é_homem(*x) representando “*x é um homem” e é_mortal(*x) para “*x é mortal”. Também necessitaremos do símbolo ‘‘ para significar “para todo”. Assim, os fatos referidos poderão ser escritos como:
– 37 – 1. 2.
é_homem(Sócrates) x é_homem(x) é_mortal(x)
a partir de onde pode-se deduzir logicamente que 3.
é_mortal(Sócrates)
significa que Sócrates é mortal. A lógica de predicados utiliza palavras ou símbolos especiais, chamadas de quantificadores que tornam as proposições mais exatas ou definidas (Tabela 2.3), além daqueles utilizados na lógica proposicional. Símbolo
Significado
x x
“para todo”- Quantificador Universal “existe”- Quantificador Existencial
Tabela 2.3: Quantificadores da Lógica de Predicados A Lógica de Predicados, na sua forma mais simples, é conhecida como Lógica de Primeira Ordem, pois permite, somente, a quantificação sobre os objetos, e não sobre os predicados ou funções. Como vantagem do uso da Lógica de Predicados ou Lógica de Primeira Ordem pode-se citar, além da facilidade da representação de fatos e regras e da consistência da base de conhecimento, a existência de linguagens de programação baseadas em lógica, entre os quais o Witty utilizado neste trabalho. Por isso, este assunto será objeto de um capítulo exclusivo para o necessário aprofundamento. Frames. O uso de frames na representação do conhecimento, significa estruturar através de um quadro (ou armação, ou moldura), o conhecimento sobre um determinado objeto, ou conceito ou situação. A idéia do uso de frames, no campo da IA, tem origem a partir de Minsky (Minsky, 1975), para justificar e representar o reconhecimento de um objeto através da “observação visual”. Segundo esta idéia, o reconhecimento de um objeto é realizado através da “comparação” de algumas de suas principais propriedades, aquelas que estamos observando visualmente, com aquelas propriedades já definidas e conhecidas de um objeto estereotipado e que estão armazenadas na nossa memória. Então, podemos construir uma estrutura, frame, para um objeto_tipo, contendo suas principais características (slots), cada qual com os seus respectivos valores e, através desta representação (similar a uma tripla O-A-V), definirmos o objeto à ser reconhecido. A vantagem do uso de frames com relação as redes semânticas é a facilidade de podermos estruturar uma maior quantidade de características pertinentes ao objeto. Segundo (Jackson, 1986), a representação do conhecimento baseada em frame é, devido a sua organização, mais fácil de ser compreendida do que a representação através da lógica ou através de sistemas de produção com um significativo número de regras, levando-nos a uma “tendência” em adotá-la. Entretanto, (Brachmar, 1985), cita que o maior problema no uso dos sistemas baseados em frames reside, ironicamente, na livre possibilidade de alteração ou cancelamento de slots, o que pode levar-nos à impossibilidade de expressar certas verdades universais, tal como, definir, de forma absoluta, o frame elefante, pois, pode ocorrer a existência de um elefante com três pernas. (LUGER, 1989) caracteriza este problema como o “problema do frame”, isto é, a impossibilidade da formação de uma base de conhecimento que possa ser considerada absoluta, ou perfeitamente suficiente, ou completa, para a maioria dos domínios do mundo real. Regras de Produção. A representação do conhecimento através de regras de produção, consiste em representar o domínio do conhecimento através de um conjunto de regras. Segundo (Martinez, 1991) (Rolston, 1988) (Shortlife, 1976) (Sterling, 1988) é a técnica mais popular e utilizada no desenvolvimento de sistemas baseado em conhecimentos, devido algumas de suas características, dentre elas: modularidade (forma); facilidade de implantação (escrita e programação) e, também, pelo fato de existir inúmeros pacotes de desenvolvimento de sistemas baseado em conhecimentos (shells), que as utilizam. As regras de produção são apropriadas para representar conhecimentos oriundos de recomendações, diretrizes, estratégias e quando o domínio do conhecimento for resultante de proposições empíricas que foram desenvolvidas ao longo do tempo através da experiência de especialistas na resolução de problemas. Consistem de duas partes: a primeira, chamada de antecedente, ou premissa, ou c ondição, ou parte If (se), a segunda, chamada de conseqüente, ou conclusão, ou ação, ou parte Then (então). Por exemplo: parte If (antecedente): Lote tem área maior ou igual a 450,00 m 2, parte Then (conseqüente): É permitida a construção de residência. As regras de produção são compostas, implicitamente, por triplas O-A-V ou, quando o objeto está
– 38 – implícito, por pares A-V. As regras de produção podem ser constituídas de várias proposições, tanto na parte If (premissa) como na parte Then (conclusão), por exemplo: parte If: O lote é do tipo área_1 ou área_2 and tem área superior a 450,00 m2, parte Then: Só poderá ter uso residencial and a taxa de ocupação do lote deverá ser de no máximo 40%. Na parte If as proposições podem ser ligadas pelos conectores and e or, enquanto que na parte Then as proposições só podem ser ligadas pelo conector and, pois tratam-se de constatações (conclusões) que devem ser sempre verdadeiras. Quando a parte If (condição) é verificada, o sistema baseado em conhecimento através de sua máquina de inferência, executa o seu “disparo” (inferenciação), isto é, realiza a parte Then (ação). Este procedimento pode determinar o acréscimo, modificação, ou remoção de fatos dentro da base de conhecimento. Existem dois tipos de inferenciações ou encadeamentos: o encadeamento para frente ou forward-chaining e o encadeamento para trás ou backward-chaining, cujo funcionamento é análogo ao explicadao atrás. Uma vez adotado um especial instrumento de solução de problemas, deve-se preencher a base de conhecimento antes de iniciar a aplicação. Estas bases de conhecimento consistem primordialmente de fatos e regras.
2.3 – Comparação com outros Sistemas Sistemas baseado em conhecimentos diferem tanto dos sistemas de processamento convencionais quanto dos de outras áreas da Inteligência Artificial. Contrastando com processamento de dados tradicional, aplicações da Inteligência Artificial geralmente envolvem várias características distintas, como representação simbólica, inferência e pesquisa heurística. De fato, cada um destes corresponde a um tópico bem estudado dentro da Inteligência Artificial. Mas aplicações em sistemas baseado em conhecimentos diferem dos trabalhos desenvolvidos em Inteligência Artificial em vários aspectos: 1) Executam tarefas difíceis em níveis de desempenho especializados. 2) Enfatiza estratégia de solução de problemas orientados para domínio especifico. 3) Emprega autoconhecimento para raciocinar sobre seus próprios processos de inferência, providenciando explanações e justificações para as conclusões apresentadas. 4) Resolvem problemas que geralmente caem em uma das seguintes grandes categorias: classificação, projeto e suporte à decisão. Como resultado disto, os sistemas baseado em conhecimentos representam um campo de pesquisa em Inteligência Artificial que envolve paradigmas, ferramentas e estratégias de desenvolvimento usual de sistemas Para ressaltar estas características próprias dos sistemas baseado em conhecimentos, onde o conhecimento não depende de um modelo fixo, podendo ser aplicado de diversas maneiras em novas situações, é útil a comparação a seguir com processamento tradicional.
Figura 2.4 – Programas Convencionais Programas convencionais devem seguir um conjunto prefixado de instruções, não possuindo recursos para se adaptar à mudanças das circunstâncias: sistemas baseado em conhecimentos, por outro lado, incorporam conhecimento que adquirem de peritos humanos, aplicando-os de novas maneiras em diferentes circunstâncias. Em programas convencionais, o conhecimento não é representado explicitamente. Ainda que afete cada instrução escrita, o conhecimento nunca será separado dos procedimentos que detalham a entrada, o processamento e a sadia. Nestes programas, o conhecimento sobre a aplicação está espalhado através do código, e a mudança de um simples fato pode requerer a correção de centenas de linhas em vários programas. Se uma cadeia de lojas tiver, por exemplo, nove depósitos, cada um representado por um único dígito em seus programas de inventário e contabilidade, quando for criado o décimo depósito, o custo de reescrever os programas que permitam o segundo dígito pode-se tornar extremamente elevado.
– 39 – Desta forma, o problema em sistemas convencionais está em que cada novo fato requer adaptações no programa: quando um campo de um arquivo necessita ser redimensionado, todos os programas que o utilizem precisam ser modificados. Cada alteração em impostos, política comercial e formas de relatórios, requer remendos nos correspondentes programas. Para simplificar modificações, um sistema de gerenciamento de banco de dados pode remover a descrição de formatos dos procedimentos descritos nos programas e os colocar em tabelas não procedimentais. Assim, ao invés de ler e gravar independentemente os arquivos, os programas que o acessem chamam o gerenciador de banco de dados (SGBD) para fazer as alterações. Desta forma, dados e formatos são controlados pelo SGBD sob a direção de uma tabela de descritores separada. Sempre que formatos e unidades sejam alterados, somente os descritores mudarão; os procedimentos permanecerão inalterados.
Figura 2.5 – Programa com SGBD e formatador de E/S SGBD controla os formatos internos de dados permanentemente armazenados. Para o formato externo em impressora ou vídeo, gerenciadores de relatórios e telas, fornece o próximo passo da separação entre formatos de sadia e procedimentos. A Fig. 2.5 mostra um programa de aplicação conectado a um SGBD e Formatador de EIS, ambos controlados por tabelas de descritores separadas. Sistemas baseado em conhecimentos consumam mais um nível de separação entre procedimentos computacionais do fluxo de controle, colocando-os em tabelas de regras não prodedimentais. A Fig. 2.6 mostra a máquina de inferência como um programa fixo que não necessita de modificações quando uma nova peça de conhecimento for adicionada ao sistema. Todo fato é representado somente uma vez e toda regra necessária usa a mesma representação. Assim, os sistemas baseado em conhecimentos têm três elementos separados orientados por regras que servem ao usuário: Um manipulador de linguagem que analisa entradas e gera saídas. Uma máquina de inferência que deduz, baseada em regras da lógica ao invés de procedimentos. Um SGBD que guarda e recupera dados sob solicitação A tabela de esquemas conceituais da Fig. 2.6 pode ser partilhada tanto pelo manipulador de linguagem quanto pela máquina de inferência. O mesmo conhecimento que provê a base semântica para linguagem natural pode também ser usado para dirigir deduções e resolução de problemas.
Figura 2.6 – Sistemas Baseados em Conhecimento (fig. de Sowa, 1984 p. 279) Desta forma, um sistema baseado em conhecimento deve incorporar suficiente conhecimento para atingir nível comparável ao dos peritos humanos. Sistemas mais antigos da área de Inteligência Artificial, como o Resolvedor Geral de Problemas de Newel e Simon (1969), incluem máquinas de inferência, mas não contêm suficiente conhecimento para resolver problemas significativos. Como a habilidade humana depende mais fortemente de experiência e conhecimento prático do que de longas provas e deduções, a habilidade do computador depende primariamente da quantidade total de conhecimento, que pode levar à resolução do problema. Assim, embora a máquina de inferência seja componente essencial de todos os sistemas baseado em conhecimentos, uma grande quantidade de conhecimento especifico do domínio em questão será necessária para tornar curta a dedução.
– 40 – 2.4 – O estado da arte Houve muitas pesquisas para o desenvolvimento de sistemas baseado em conhecimentos, em Universidades, Institutos de Pesquisas e Empresas de Engenharia de Softwares, abrangendo as mais diversas áreas de conhecimento, como programas baseados em raciocínio legal; nas áreas da eletrônica, da ciência dos materiais, da ciência cognitiva; na área espacial; na indústria de serviços financeiros; aplicações industriais; geologia; química; controle de processos; entre outros. Então, a área ganhou grande destaque e prometeu um avanço mirabolante que não ocorreu. Talvez o melhor exemplo desta pretensão seja o projeto japonês de Quinta Geração. O FGCS (First Generation Computer System), foi um esforço coordenado pelo ICOT (Institute for New Generation Computer Technology) envolvendo o MIT (Ministry of International Trade and Industry) e oito das mais destacadas indústrias do país. O projeto iniciou-se em 1982 com dez anos de duração, contando com a dedicação de cerca de quarenta pesquisadores. Baseou-se em pressupostos esperando um significativo aumento de processamento não numérico (manipulação de símbolos) e da Inteligência Artificial aplicada, em três principais linhas de pesquisa: 1) Sistema de inferência paralelo; 2) Sistema de banco de dados relacional para suportar Banco de Conhecimento; e 3) PSI (Personal Sequence Inference). O projeto concluiu-se como uma grande falácia, sem produzir a revolução prometida, ou ao menos, algum resultado significativo. Nos primórdios da computação, preteriu-se o processamento simbólico em favor do numérico, talvez na esteira das pesquisas para “máquinas de calcular”, de Pascal a Babbage. Com isso, a resolução de uma única instrução lógica (dedução) poderia exigir até centenas de instruções de computador. Na época do projeto de Quinta Geração falava-se em lips (logical instruction per second) e se pretendia construir equipamentos que as implementasse em hardware, acelerando consequentemente as operações lágicas. Com o aumento exponencial da velocidade dos processadores, esta questão se tornou irrelevante. Mesmo sem conseguir atingir metas tão elevadas, a área acumulou casos de sucesso, especialmente em campos restritos. Continua ativa hoje em dia, muitas vezes em sistemas híbridos. Modernamente se fala em Inteligência Computacional, conjunto de tecnologias que abrangem além de sistemas baseados em conhecimento, matérias correlatas como redes neurais, algoritmos genéticos, lógica nebulosa, e sistemas híbridos, sendo utilizado na construção de sistemas inteligentes de suporte à decisão, modelagem, otimização, previsão, controle ou automação industrial, reconhecimento de imagens, entre outros, alcançando muitas vezes eficiência superior aos métodos convencionais. Uma área bastante atraente para esta tecnologia é a de Sistemas Tutoriais Inteligentes, uma evolução dos Computer Aided Instruction (Instrução Assistida por Computador) com mais potencial para proporcionar uma experiência personalizada de aprendizagem para o estudante, simulando as interações professor-aluno. Segundo o modelo de (JONASSEN, 1993), uma aplicação deste tipo deve atender às seguintes caracterícas para ser considerado “inteligente”: 1. O conteúdo do tema deve ser codificada de modo que o sistema possa acessar as informações, fazer inferências ou resolver problemas. 2. O sistema deve ser capaz de avaliar a aquisição do conhecimento pelo estudante. 3. As estratégias tutoriais devem ser projetadas para reduzir a discrepância entre os conhecimentos do especialista e do estudante. A arquitetura de um sistema tutorial inteligente considera diversos componentes, como base de conhecimento do domínio ser estruturado em forma de símbolos de maneira a facilitar a consulta e a inferência; mapeamento dos aspectos comportamentais do estudadante que possam influenciar o processo de aprendizagem, destacando os tópicos de maior interesse do aprendiz e a velocidade das interrelações; abordagens usadas pelo sistema para que o processo de aprendizagem ocorra de forma mais proveitosa, respeitando as diferentes experiências entre os aprendizes; interface intuitiva e sem complicadores para a sua utilização, usando técnicas de processamento de linguagem natural. O ensino, por ser uma área que depende da interação e da adaptação, características tipicamente humanas, apresenta muitas dificuldades na implementação de soluções computacionais inteligentes. Os poucos projetos existentes não implementam todas as funcionalidades explicitadas pelos trabalhos teóricos, por isso, há justificativa de se investir no estudo, tanto das formas de implementação como de planejamento desses sistemas. O escopo de aplicações para sistemas baseado em conhecimentos é tão extenso quanto o conhecimento humano. Porém cada nova aplicação tem requeruido trabalho criativo e desafiador, embora hajam emergidos alguns princípios e sistematizações. Mesmo que as aplicações possam sejam muito diversas, apresentam três feições comuns: 1. Existem reconhecidos peritos humanos nestes campos; 2. O conhecimento destes peritos pode ser quantificado; e 3. O conhecimento pode ser expresso em regras declarativas no lugar de procedimentos
– 41 – Se um problema for tão difícil que nenhum humano saiba como iniciar, nenhum sistema de computador poderá igualmente resolvê-lo. Se o problema requerer julgamentos intuitivos sobre situações novas – como calcular o potencial de mercado para uma nova invenção ou um roteiro de novela – então a intuição não poderá ser formalizada num sistema baseado em conhecimento. As aplicações ótimas para tais sistemas são aquelas que requerem grande volume de conhecimento bem definido e formalizável. Sistemas baseado em conhecimentos podem servir como filtro para distinção da situação critica em dezenas de casos rotineiros. Um especialista humano é melhor qualificado que um programa de computador para julgar o potencial de petróleo ou depósito mineral em uma dada localização. No entanto, a quantidade de locais a observar e de dados torna-se muito grande, de forma que o sistema acaba sendo necessário para efetuar a triagem dos mais promissores para a visita do geólogo. Do vasto acervo de sistemas baseado em conhecimentos existentes, à guisa de um rápido painel sobre o assunto, destacaremos uma área representativa – a médica – e descreveremos algumas experiências brasileiras.
2.4.1 – A área médica
As soluções das décadas anteriores propunham programas que realizassem diagnóst icos e fizessem recomendações terapêuticas. Muita coisa mudou desde então, sendo esta idéia hoje considerada limitada. Atualmente, há menos ênfase no apoio computacional para a diagnose. Os sistemas baseado em conhecimentos existentes na atualidade, provavelmente são mais usados no laboratório e em ambientes educacionais, para vigilância e alertas clínicos ou em áreas muito ricas em dados, como na medicina intensiva. O objetivo é apoiar os profissionais de saúde no decorrer normal de seus deveres, ajudando em tarefas baseadas na manipulação de dados e de conhecimentos. Um sistema baseado em conhecimento poderia funcionar dentro de um sistema de registro eletrônico de dados médicos, por exemplo, alertando o responsável toda vez que detectar contraindicação para um determinado tratamento planejado, ou quando encontrar um padrão de dados clínicos que sugiram uma mudança significativa na condição de saúde do paciente. Existem vários tipos diferentes de tarefas clínicas aos quais os sistemas baseado em conhecimentos podem ser aplicados, sugeridas por (Coieira, 1998): Alertas e lembretes: um sistema baseado em conhecimento conectado a um monitor pode avisar, em tempo real, aos médicos sobre mudanças na condição do paciente. Em situação menos crítica, pode examinar resultados de testes laboratoriais e prescrições de medicamentos, enviando avisos por meio do correio eletrônico. Auxílio ao diagnóstico: quando um caso for complexo, ou a pessoa que está fazendo o diagnóstico for inexperiente, um sistema baseado em conhecimento pode determinar um resultado mais provável e seguro. Crítica terapêutica: o programa pode checar inconsistências, erros e omissões em um plano existente de tratamento, ou ser usado para formular um tratamento baseado nas condições específicas de um paciente e nos consensos terapêuticos recomendados. Reconhecimento e interpretação de imagens: triagens em massa onde o programa pode indicar imagens que tenham anormalidades em radiografias planas mais comuns, até as imagens mais complexas, como angiogramas, tomografias e ressonâncias magnéticas, chamando a atenção para exame detalhado pelo baseado em conhecimento. Muitos dos sistemas pioneiros, desenvolvidos para serem utilizados durante um encontro clínico com um paciente, não chegaram a sair dos laboratórios de pesquisa onde foram idealizados, em parte porque eles não receberam apoio suficiente dos clínicos para permitir seu uso na rotina. Claramente, a base psicológica para desenvolver esse tipo de apoio é considerada atualmente pouco encorajadora, dado que a avaliação geral do paciente parece ser um assunto mais importante do que a formulação do diagnóstico. Outros desses sistemas continuaram a ser desenvolvidos, transformando -se, em parte, em sistemas educacionais. O DXplain é um bom exemplo. Foi desenvolvid o no Massachussetts General Hospital pelo grupo do Prof. Octo Barnett de Harvard. Utilizado para diagnóstico em medicina interna a partir de um conjunto de achados clínicos, como sinais, sintomas e dados laboratoriais. O sistema contém uma base de probabilidades aproximadas para cerca de cinco mil manifestações associadas a duas mil doenças diferentes. Estes dados descrevem o relacion amento entre sintomas, sinais e exames de laboratorio com as doenças do qual fazem parte. Devido à grande quantidade de informações clínicas contidas em sua base de conhecimento, Dxplain pode prover uma variedade de funções de assistência clínica. Produz uma lista de diagnósticos possíveis por ordem decrescente de importância e sugere investigações posteriores. Esta ordenação é uma maneira educacional de ver o dado clínico, uma vez que usualmente não estão disponíveis em livros de textos ou outras fontes tradicionais de conhecimento.
– 42 – O DXplain está em uso em vários hospitais e escolas médicas, para consultas médicas, mas principalmente para educação clínica. Também assume o papel de um livro-texto eletrônico em medicina, ao correlacionar manifestações e doenças, fornecendo inclusive referências bibliográficas relevantes.
Figura 2.7 –Tela de diagnóstico da versão de demonstraçlão do DXplain O sistema HELP é mais um bom exemplo. Foi desenvolvido em 1980 na Universidade de Utah. Ele não apenas apoia as aplicações de rotina de um sistema de informação hospitalar, incluindo o gerenciamento das admissões e altas, e das prescrições médicas, mas também inclui uma função de apoio à decisão, emitindo alertas e lembretes aos clínicos, interpretação de dados e diagnóstico de doenças, sugestão de manejo de pacientes e protocolos clínicos. O Quick Medical Reference System (QMR) realiza o diagnóstico diferencial em muitas áreas da Medicina Interna, sendo também útil para ensino. Contudo, tem um grau de profundidade limitado em várias áreas, como nas doenças cardiovasculares. Seu desempenho foi testado com 31 casos não solucionados dos serviços médicos de dois hospitais universitários. O diagnóstico obtido foi comparado com a melhor hipótese diagnóstica fornecida pelo médico que atendia os casos. O diagnóstico definitivo foi o encontrado para os 20 casos que foram resolvidos depois de um seguimento de seis meses. O médico acertou 80% destes casos e QMR 85%, uma diferença não significativa. Porém, os médicos que não cuidavam do caso (residentes, por exemplo), acertaram apenas 60% dos diagnósticos. O trabalho de avaliação foi publicado em Annals of Internal Medicine. 1989; 110(10):824-832). O programa QMR está comercialmente disponível através da Camdat Corp., Tel. 1-800/875-8355. A despeito destas histórias de sucesso, os sistemas baseado em conhecimentos não estão sendo usados rotineiramente. As razões citadas por (Coieira, 1998) são as seguintes: 1. exigência de um sistema de registro médico computadorizado para fornecer os dados (muitas instituições ainda não têm seus dados disponíveis eletronicamente); 2. projeto de interface pobre desencorajando o emprego, embora mostrem benefícios; 3. pouca adaptação ao processo de assistência médica, exigindo esforço adicional dos profissionais médicos, já sobrecarregados; e 4. “tecnofobia” dos trabalhadores de saúde com respeito ao uso de computadores. Este autor, no entanto, acredita que se os usuários de um sistema sentirem que oferece benefício, o utilizarão. Se não, independentemente de seu valor, provavelmente será rejeitado. Já existem atualmente muitos sistemas que conseguiram ser aceitos na prática clínica.
– 43 – (Widman, 1998) acrescenta que embora a área de computação médica tenha contribu ído significativamente para a melhoria da atenção à saúde, um estudo feito por Shortliffe lança uma sombra sobre este otimismo. Levantamento de 168 visitas sucessivas em uma clínica de Medicina Interna revelou que, apesar dela ter toda as histórias clínicas de seus pacientes, com resultados de laboratório e de radiologia, em 81% das visitas alguma informação julgada importante pelo médico não estava disponível. Informa ainda que achados semelhantes foram relatados pelo Workgroup for Electronic Data Interchange, de que 50% dos registros médicos baseados em papel hoje, ou estão perdidos completamente ou contêm dados incompletos. Outro estudo feito em 1996, encomendado pelo Institute of Medicine dos EUA, descobriu que cerca de 30% das prescrições de tratamento médico nunca são documentadas. Este autor conclui dizendo que o campo de informática médica não é novo, contudo parece estar em sua infância no que se refere a incrementar a prática médica. A informática médica tem o potencial de beneficiar o atendimento ao paciente, de uma maneira tão efetiva quanto a descoberta de um novo medicamento ou terapia. Os seus benefícios diretos serão derivados do fato de podermos aumentar a capacitação e a ação dos médicos e de outros profissionais de saúde , através do melhor acesso ao conhecimento médico e informação. Esta é a promessa de informática médica e estará à frente evidentemente do processo de forjar uma nova prática médica na era da informação. Formas de representação do conhecimento. A mais comum é como sistema de produção baseados em regras. Estas são formas de representação baseadas em associações entre conceitos, como por exemplo: “ondas de Osborne são associadas à hipotermia”. Normalmente as regras não definem relações causa-efeito, mas apenas “receitas” de decisão, usadas no dia-a-dia do profissional. O mecanismo de inferência verifica a veracidade das regras para cada caso, podendo combinar várias delas até chegar a uma decisão com alto grau de probabilidade. Um exemplo de uma regra de produção é: Se as seguintes condições forem verdadeiras: 1) o paciente apresenta estridor respiratório; 2) há história prévia de insuficiência respiratória congestiva então são prováveis os seguintes diagnósticos: 1) edema pulmonar, com uma probabilidade de 80%; 2) asma, com uma probabilidade de 50% 3) embolismo pulmonar com uma probabilidade de 20%.
Há também sistemas baseados em modelos de causa-efeito. A base de conhecimento especifica associações do tipo: “uma queda na pressão sangüinea causa aumento do tônus sistema simpático”. O mecanismo de inferência se baseia em cadeias de relações causais, como por exemplo: “se o paciente tem icterícia, então tem hiperbilirrubinemia, e se a bilirrubina não conjugada está aumentada, então há comprometimento hepático. Se há febre, então há infeccção viral ou bacteriana. Então pode tratar-se de uma hepatite”. Por fim, há os sistemas baseados em casos. A base de conhecimento é formada por dados clínicos individuais, os quais relacionam casos típicos com os sinais e sintomas apresentados, achados laboratoriais, diagnóstico e tratamentos utilizados. O mecanismo de inferência utiliza o raciocínio de analogia, bastante empregado pelos médicos: “se já tive um paciente com as mesmas condições e diagnóstico que esse, então o mesmo tratamento vai funcionar”. Conclusões. De acordo com (Coeira, 1998) após a primeira euforia que cercou a promessa de programas de apoio a diagnóstico, a última década viu uma crescente desilusão com o potencial prático desses sistemas; embora tenham comprovado sua confiabilidade e precisão em diversas ocasiões. As razões podem ser: 1) inadequação na adaptação dos programas à prática clínica; 2) resolver problemas não muito relevantes; 3) impor mudanças na maneira com que os clínicos trabalham. No entanto, quando preenchem um papel apropriado, os sistemas baseado em conhecimentos oferecem benefícios significativos. Desta forma, uma das tarefas mais importantes que os desenvolvedores de sistemas baseados na IA enfrentam hoje é caracterizar de forma precisa os aspectos da prática médica mais adequados para a introdução de sistemas inteligentes. Segundo (Widman, 1998), os principais obstáculos para desenvolvimento de sistemas baseado em conhecimentos para aplicações médicas são: 1. As tarefas médicas são difíceis por causa de diferenças entre os pacientes individuais e a incerteza dos dados clínicos disponíveis; 2. A gama de erro aceitável é pequena por causa de preocupações éticas e riscos legais; 3. Não há escassez deespecialistas humanos. 4. As exigências de certificação obrigatória dos programas (FDA) desencorajam a comercialização de sistemas; 5. Diminuição dos fundos de apoio à pesquisa na área.
– 44 – Por outro lado, os fatores que favorecem uma disseminação crescente de tecnologias de sistema baseado em conhecimentos são: 1. Avaliação do custo versus eficácia de atendimento médico pagos per capita; 2. Aumento da qualidade na assistência ao paciente; 3. Diminuição das barreiras técnicas (acesso disseminado à Internet, aumento no conhecimento básico de informática pelos usuários médicos, disponibilidade de computadores mais poderosos e mais baratos). Um exemplo nacional. O Hospital Virtual Brasileiro, desenvolvido e gerenciado pelo Núcleo de Informática Biomédica da Unicamp, usa o potencial da Internet para tornar disponíveis informações da qualidade de um centro de referência. O seu conteúdo é composto por dados estruturados médicos e da área da saúde humana. Sua arquitetura segue a metáfora de um hospital real, com a informação organizada em departamentos e setores virtuais.
Figura 2.8 –Tela de entrada do Hospital Virtual Brasileiro Um compêndio de sistemas de inteligência artificiais em uso clínico rotineiro está disponível na Internet, no endereço www.coiera.com/ailist/list.html, incluindo sistemas de atenção aguda, sistemas educacionais, sistemas de laboratório, controle de qualidade e sistemas de administração e de imagens médicas. A descrição detalhada destes produtos pode ser encontrada no site, assim como um texto sobre apoio às decisões clínicas.
2.4.2 – Experiências brasileiras
As aplicações de sistemas baseado em conhecimentos no Brasil encontra-se em crescimento em diversos campos de conhecimento, como em áreas tão díspares como a bancária, a médica, a agro-pecuária, a jurídica e a geologia, para citar algumas. Nota-se também a tendência a desenvolver-se sistemas baseado em conhecimentos híbridos. A lista apresentada a seguir não é exaustiva, apenas pretende dar uma idéia de como esta teconologia está sendo empregada no país. Aplicações agrícolas. Trabalhos apresentados nos simpósios da Agrosoft, Congresso de Informática Aplicada à Agropecuária e Agroindústria . Diagnose Virtual: Um Sistema para Diagnóstico de Doenças do Milho via Web. Relata aspectos de um sistema para Diagnóstico de Doenças do Milho que foi implementado no subprojeto de Diagnóstico Remoto em desenvolvimento na Embrapa Informática Agropecuária em parceria com a Embrapa Milho e Sorgo. Este subprojeto objetiva a implantação de um ambiente na área de sanidade que possilite o diagnóstico de doenças remotamente e permita também que os produtores e extensionistas tenham um maior acesso aos veterinários e fitopatologistas da Embrapa através de consultas virtuais. Este subprojeto integra três facetas tecnológicas: Sistemas Especialistas, Internet e Sistemas de Multimídia. [www.agrosoft.org.br/trabalhos/ag99/artigo18.htm]
AGROFLO: Sistema Baseado em conhecimento para Planejamento de Sistemas Agroflorestais. Demonstrando a viabilidade e a aplicabilidade dos sistemas baseado em conhecimentos no processo de planejamento e projeto de sistemas agroflorestais, foi desenvolvido um protótipo denominado AGROFLO, especificamente para o caso de sistema “Taungya”, uma forma particular de estabelecimento de culturas florestais em associação com culturas agrícolas temporárias. Também, devido a grande amplitude do Estado de Minas Gerais, o sistema teve suas recomendações restritas a duas áreas geográficas do Estado - as Macrorregiões de Planejamento I - Metalúrgica e Campo das Vertentes e II - Zona da Mata Mineira. O sistema está dividido em quatro módulos. O primeiro seleciona os componentes do sistema agroflorestal; o segundo e o terceiro determinam o espaçamento e a necessidade de adubação das culturas, respectivamente, e o quarto módulo agrega as informações anteriores e as apresentam ao usuário na forma de um relatório conclusivo. O resultado do teste de validação do AGROFLO, mostrou que o sistema
– 45 – incorporou, com sucesso, o conhecimento dos peritos consultados. Este fato, aliado ao baixo tempo de execução apresentado, pode torná-lo um instrumento útil para demonstrar a potencialidade da utilização da técnica de sistemas baseado em conhecimentos na área de agrossilvicultura, associadas a programas de fomento florestal. [http://agrosoft.com/ag95/papers/doc35.htm]
Sistema Baseado em conhecimento no Controle de Gado de Leite. No contexto de agropecuária e agronegócios, os Sistemas Baseados em Conhecimento podem se revelar importantes instrumentos de auxílio à tomada de decisões, fornecendo interpretações de resultados técnicos e econômicos e recomendando ações a serem implantadas. Assim, este sistema controla um rebanho leiteiro ao interagir com o usuário através de perguntas sobre o manejo do rebanho e apresenta, ao final de cada sessão, um diagnóstico contendo os problemas encontrados no gado em questão, bem como as soluções viáveis. Além disso, fornece um roteiro organizado de análise do problema, ao elaborar um instrumento de auxílio à difusão de tecnologia pela extensão rural, contando com esclarecimentos, sugestões e recomenda ções técnicas. [http://agrosoft.com/ag95/papers/doc42.htm]
iLab. Empresa que comercializa os seguintes produtos: [www.ilab.com.br/] iCol – Sistema de Planejamento de Colheita. Aplicação voltada para a definição otimizada da programação estratégica de corte mensal de cana-de-açúcar de uma unidade industrial para todo o período da safra, estabelecendo a época ideal de colheita de cada um dos blocos de cultivo, levando em consideração critérios, restrições e curvas de comportamento a ele relacionados. A otimização da solução baseia-se na aplicação de técnicas de programação por restrições, utilizando processos de busca por heurística. iPlan – Sistema de Planejamento de Plantio. Atua em um nível mais alto que o planejamento de colheita, porque analisa de 3 a 6 anos à frente, definindo a programação de reforma e plantio das áreas de cultivo de cana-deaçúcar. Essa programação indica os anos ideais de reforma de cada bloco de cultivo, e aponta a variedade ótima para o plantio segundo também critérios e restrições qualitativos e quantitativos de análise das variedades de cana-de-açúcar especificadas. Além disto, paralelamente, ocorre todo o processo de planificação das áreas de cultivo de muda, e uma integração total com o sistema iCol para possibilitar a simulação das safras seguintes da usina. iFrota - Sistema de Planejamento de Frota. O sistema gera a configuração ideal de unidades de transporte para execução da tarefa de transporte de matéria-prima entre o campo e a indústria. Essa configuração ideal pode ser obtida para um prazo flexível de tempo, seja vislumbrando-se um horizonte de 1 ano, como mesmo de 1 dia de safra. Trabalha com informações referentes às frentes de corte, aos turnos de trabalho, e à configuração de caminhões da frota da empresa. Obviamente existirão algumas restrições a serem respeitadas, como o número máximo de caminhões disponíveis, a disposição e extensão de turnos de trabalho, e as referentes a certos tipos de caminhão em atuarem em algumas frentes de corte.
Aplicações médicas Diagnóstico de Cardiopatias Isquêmicas, desenvolvido pela Fundação Bahiana de Cardiologia e COPPE/UFRJ. Esta é uma das doenças de maior incidência no Brasil e no mundo. Pode apresentar -se com agina estável, instável ou infarto agudo do miocárdio. Um sistema baseado em conhecimento pode ser de extrema validade, pois, a partir de um grupo de informações básicas iniciais, o sistema pode conduzir um diálogo com o usuário-médico, a fim de levá-lo ao diagnóstico mais provável. Apoiando na formulação diagnóstica do problema do paciente e na determinação do tipo e forma de atendimento que lhe deverá ser dado, em função da gravidade de seu quadro clínico, poderá ser utilizado em unidades de atendimento periféricas urbanas, de natureza primária da rede pública de saúde, visando auxiliar o médico não especialista, no encaminhamento de pacientes que requeiram atendimento em uma unidade de referência especializada. Em sua primeira versão, o sistema obteve para 88 casos de teste, um desempenho conforme o esperado em 80% dos casos. [www.informaticamedica.org.br/informed/isquem.htm].
NIACIN. Ferramenta para montar sistemas baseado em conhecimentos médicos em diferentes especialidades. Para isso representa o conhecimento em forma de 1) Triplas: diagnóstico-descritor-freqüência de ocorrência (descritor-descritor-tipo de relação) ou 2) Duplas: diagnóstico-tratamento descritorimportância intrínseca (descritor-confirmabilidade). Na associação entre diagnósticos e sintomas, o elemento de associação é a freqüência relativa de ocorrência do sintoma na doença. A saída é uma listagem que pode ser: quais são os sintomas de uma determinada doença, quais as doenças que apresentam um determinado sintoma, quais os tratamentos para uma determinada doença, etc. A consulta ao sistema baseado em conhecimento, para realizar um determinado diagnóstico e propor tratamentos para o mesmo, se faz mediante uma lista de sintomas, que aparece em ordem alfabética na tela do computador. O sistema mostrou-se ser capaz de trabalhar com diferentes bases de conhecimento, como vaginites, raiva, diarréia
– 46 – infantil, diarréia infecciosa em neonatos, e doenças exantemáticas. A montagem dessas bases, usando o NIACIN, é relativamente simples e rápida. Assim, o mecanismo de inferência utilizado no NIACIN, que é semelhante ao usado no programa TROPICAL, foi testado com sucesso em 40 casos clínicos e anatomoclinicos obticos junto ao Hospital Universitário da UFRJ. [www.informaticamedica.org.br/informed/niacin.htm].
Aplicações jurídicas. CENAJUD - Central Nacional de Decisões Judiciais sobre Drogas. Profissionais como juízes, promotores, advogados, procuradores, agentes públicos, etc., dispõe de muitos bancos de dados legislativo e de jurisprudência, através da Internet ou de sistemas do mercado. São centenas de Tribunais, gerando mais de 6 milhões de documentos. Esta recuperação em muitos sistemas ainda requer uma sintaxe para a consulta. Isso dificulta o acesso ao usuário final, que utiliza na maioria das buscas nestas bases, auxílio de profissionais intermediários, que conhecem o funcionamento da base de dados, suaa linguagem controlada e a indexação praticada nele. Esta ferramenta, emprega recuperação de decisões Judiciais com técnicas de Inteligência Artificial; permite a consulta em linguagem natural, o refinamento da pesquisa através de filtros e a indexação automática de novas decisões judiciais. [http://www.ijuris.org/projetos/projetos.htm]
Engenharia Naval O departamento de Engenharia Naval e Oceânica da Coppe/Ufrj desenvolveu o sistema Diagnóstico de Motores Diesel, uma aplicação de sistemas baseado em conhecimento utilizando monitoração de variáveis operacionais ou análise química do ó1eo lubrificante. [www.oceanica.ufrj.br/]
Monitoração da fotossíntese O Laboratório de Automação Agrícola da Escola Politécnica da USP propôs a modelagem de fotossíntese por redes neurais artificiais, uma oportuna aplicação que pretende analisar a absorção do CO2 da atmosfera. É de domínio público que o efeito estufa, agente do aquecimento global, promove sérias conseqüências à vida através de alterações climáticas, como secas e enchentes catastróficas, ameaçando a biodiversidade. A queima de combustíveis fósseis libera na atmosfera enormes quantidades de dióxido de carbono, principal gás de efeito estufa. Em resposta a essas constatações, sentiu-se a necessidade de controlar a concentração deste gas. As implicações à existência humana apontam para a a grande importância de se conhecer e mensurar a fotossíntese, definidora de sumidouros de CO2. Alguns pesquisadores avaliam o potencial da floresta para atuar como um sumidouro de dióxido de carbono atmosférico. Fala-se da fertilização por este gás, que é a intensificação da produtividade da vegetação terrestre, com um maior crescimento das plantas, produzida por efeito de uma concentração elevada de CO 2. Avaliar a troca deste gás nas plantas em seu ambiente natural, revela-se de importância fundamental. Este trabalho modelou a fotossíntese, transpiração e condutância estomática com redes neurais artificiais, no nível da folha em Hymenaea courbaril L. (jatobá), utilizando os dados coletados no projeto de Fitomonitoração. [www.pcs.usp.br/~laa/Grupos/CLIMA_modelagem_de_fotossintese.php]
Produção e distribuição de energia elétrica A crescente demanda da malha das redes de transmissão e distribuição de energia elétrica e o aumento de sua complexidade, requer sistemas de operação, supervisão e controle cada vez mais complexos, exigindo cada vez mais dos recursos humanos de operação, análise e manutenção desses sistemas. A escassez destes recursos humanos exigirá a concepção de sistemas de operação e supervisão mais inteligentes, capazes de reduzir o tempo de formação dos profissionais da área e minimizar os erros de operação com a redução do tempo gasto em análise para a obtenção dos diagnósticos das falhas. Atualmente são crescentes os investimentos no sentido da automatização dos complexos associados aos sistemas de produção, transmissão e distribuição de energia elétrica. O Sistema Integrado de Operação Supervisão e Controle possibilita as funções referentes a operação convencional dos sistemas e o diagnóstico das falhas possíveis, dando ao operador subsídios para as tomadas de decisões, incluindo onde possível, o bloqueio de comandos errados, corrigir e até mesmo ensinar o operador. O sistema com base em conhecimento está voltado à integração da operação, supervisão e diagnósticos de falhas de sistemas de energia elétrica, e, em um estágio mais avançado, um sistema que ensine o operador neófito a lidar com o sistema, de modo interativo e amigável, possibilitando como conseqüência, a utilização de operadores menos especializados. O protótipo constuído foi de uma modelagem acadêmica, portanto não implementou todas as funções necessárias, mas tão somente algumas, de forma suficiente a que seja possível demonstrar a viabilidade do sistema baseado em conhecimento para este fim. [www.eps.ufsc.br/disserta98/maia/cap1.htm]
– 47 –
3. Um passeio pela potencialidade do software 3.1 – O que o Idealize faz por você Ao observamos uma realidade complexa, temos tendência a desenvolver abstrações simplificadoras para facilitar nossa compreensão. Neste processo, podemos desprezas fatos relevantes que resulta em uma avaliação incompleta. O mesmo fato narrado por diversos observadores, às vezes são diferentes ao ponto de se tornarem contraditórios. Desta forma, muitas vezes precisamos utilizar cuidadosos refinamentos da observação, de forma a registrar uma representação mais próxima do mundo real. O Idealize pode se converter em um instrumento para esta função, uma vez que o programa além de processar o conhecimento, conta com recursos de inferência, linguagem de programação de sistemas baseados em conhecimento e interface gráfica que permite manipular objetos aos quais podem ser agregados diversos valores. O seu potencial inclue, entre outros, a capacidade de Organizar conhecimento esparso; Estruturar o raciocínio; Visualizar confiabilidade de informações; Dispor cenários alternativos; Adquirir conhecimento; através de recursos visuais de fácil apreensão. O problema de reunir informações significa tratar com imensa massa de dados, às vezes em recortes avulsos e cópias em papéis soltos, o que pode ocasionar o extravio de algum pormenor importante. O Idealize estrutura as informações de forma eletrônica, reunindo dados esparsos em diversas fontes. Para isso, trata os mais importantes tipos de arquivo – sejam de texto, imagem ou multimídia. Também possibilita a captura de partes de textos de diversos documentos e permite que haja acréscimo incremental, para montar um acervo de forma gradativa. Antes de iniciar a série de exemplos que servirão para sucessivas aproximações das diversas potencialidades do software, exibiremos os principais conceitos através de casos extremamente simples que auxiliarão sua compreensão. Para exibir os principais elementos do Idealize, como objeto, relacionamento e documento associado, imaginemos que se tenha uma coleção de artigos científicos espalhados em diversos arquivos qeu abrangem quatro áreas: Astronomia, Biologia, Medicina, Paleontologia. Poderemos utilizar o software para apresentálos de uma forma visual organizada e de fácil acesso. Os objetos em geral são na forma de retângulo, mas podem apresentar outras formas ou até ser substituídos por imagens. Há relacionamentos de hierarquia entre eles, sinalizadas por setas. Os objetos possuem diversas propriedades, entre elas os documentos associados. Desta forma, os artigos do assunto biologia poderiam ser apresentado na forma da Fig. 3.1 a seguir.
Figura 3.1 – Artigos de biologia O símbolo do livro aberto no canto superior esquerdo dos objetos indica a existência de arquivo associado, ilustrados pela Fig. 3.2 da página seguinte.
– 48 –
Figura 3.2 – Documento associado ao objeto Reunindo os demais assuntos que houver (neste exemplo mais três) de maneira semelhante aquela mostrada atrás, precisaremos criar uma porta de entrada para acessar os assuntos, como esta da Fig. 3.3 a seguir. As setas apontando para a direita no canto superior esquerdo identificam que estes objetos estão expandidos numa página de continuação, página esta onde este mesmo objeto aparece com a seta apontado para a esquerda (ver Fig. 3.1), indicando que se originou de outra.
Figura 3.3 – Relação de assuntos disponíveis ☺ Veja o cenário Ciência na pasta Cap. 3 do CD-Rom.
No sentido mais estrito – não levado em conta na montagem anterior – estas setas indicam dependência lógica, onde os elementos descendentes são argumentos usados para justificar o ascendemte, formando uma cadeia de dedução que pode ser analisada para comprovar ou negar uma tese sendo avaliada. Para isso, considere um evento sobre «Lúcio Apuleio, escritor latino (c. 125 - c. 180). Casado com uma viúva rica, foi acusado pelos parentes de sua esposa de haver utilizado magia para obter seu amor. Defendeu-se através de uma célebre Apologia , que se conservou até nossos dias» [Wikipedia].
A partir de fragmentos de texto retirado de «Apuleio acusado de magia» (História Viva, n° 43, maio/2007, p. 45 a 47), vamos estruturar o texto em objetos para responder à questão: Apuleio utilizou-se de encantos mágicos Colocaremos um a um os argumentos e sua representação no Idealize ao lado:
– 49 –
Há mais dois argumentos que omitiremos porque os três discutidos são suficientes para a demonstração que pretendemos. As cores diferentes para os argumentos da acusação (verde) e da defesa (vermelho), agregam mais informação ao gráfico. Como veremos, o uso de cores é padronizado no Idealize permitindo uma identificação imediata de seu significado, podendo ser adaptado pelo usuário. O gráfico completo encontra-se na Fig. 3.4 a seguir.
Figura 3.4 – Argumentos de acusação e defesa de Apuleio ☺ Veja o cenário Apuleio na pasta Cap. 3 do CD-Rom.
Exemplo 3.1 – Organizar conhecimento Para esta demonstração, vamos focalizar nossa atenção na ação do terror em Madri, que ocorreu em 11 de março de 2004, tentando responder à pergunta As declarações do governo espanhol que aquele atentado era da ETA, influiram no resultado das eleições? Para estruturar este levantamento, precisamos tomar umas decisões prévias sobre onde iremos buscar informações e avaliar estes meios. As notícias que vemos na imprensa não devem ser encaradas como verdades absolutas, mas sim como versões, mais ou menos fiéis aos acontecimentos, cujas imprecisões podem advir de erros de avaliação intencionais ou não. Assim, fidelidade das fontes de notícias é um aspecto que sempre devemos levar em conta. Nem sempre são isentas e podem defender algum interesse. Para exemplificar, durante o segundo governo de Vargas, a Última Hora sempre o apoiava, enquanto as publicações vinculadas à UDN o denegriam sistematicamente, com uma paixão que transcendia à verdade. Na atualidade, a grande imprensa brasileira tenta ser menos sectária. Ainda assim, o primeiro cuidado que se deve tomar é com a fonte da notícia, qual é sua orientação editorial, quais os interesses dos proprietários ou dos anunciantes, a ótica ou opinião do jornalista e assim por diante.
– 50 – Desta forma, para melhorar nossa aproximação aos fatos, devemos sempre buscar informações em diversas fontes. Entre aquelas disponíveis com acesso pela Internet, estão os portais de notícias, as revistas e os jornais. Preferimos estes últimos, para poder acompanhar a evolução das notícias diariamente. Vale a pena lembrar que, em geral, exigem algum tipo de assinatura para acessar seus sites. Para simplificar este exercício, dispensamos os jornais internacionais – como Times, Le Monde, El País ou NY Times – e nos fixaremos em dois veículos nacionais, a Folha de S. Paulo e o Jornal do Brasil que, para este assunto específico podem ser considerados isentos. Nossa intenção é acompanhar os acontecimentos até que tenhamos dados suficientes para responder à questão, o que pode significar muitos dias. Manteremos também as notícias das duas publicações em conjuntos separados para uma melhor análise de insenção, levando em conta as considerações acima.
Figura 3.5 – Estrura hierárquica das notícias. Dentre as alternativas de organização, destacamos a temática e a cronológica, sendo esta última mais adequada para permitir avaliar a evolução dos fatos. A estrutura poderia ser hierárquica, como ilustrada na Fig. 3.5 da página anteior. Sendo a quantidade de notícias imprevisível, não teremos controle sobre o crescimento do gráfico, que poderá se tornar grande e confuso, exigindo incômoda rolagem de tela para ser acompanhado. Isto pode ser evitado com o uso de um recurso do Idealize, a página de continuação, permitindo uma organização mais adequada, como uma página por dia, tornando mais fácil o acesso às informações. Como já vimos, os objetos do Idealize podem ter arquivos associados, neste caso a própria notícia e deverão ter um nome que seja um resumo significatico de seu conteúdo, não ao estido de manchete de jornal mas de uma vinheta, uma frase completa que possa ser analisada. Esta exigência não tem a ver apenas com uma compreensão mais clara do conteúdo, como também ao uso de mecanismos de análise embutidos no produto que serão vistos mais adiante. Reuniremos todas as notícias sobre o assunto, mesmo que não pareçam relevantes para não deixar escapar nenhum detalhe. Para facilitar a conclusão, a cada dia faremos uma seleção das evidências que surgirem para a resposta da pergunta, como um resumo do dia e do jornal. No primeiro dia colhemos nove notícias em um jornal e cinco no outro. O teor variava entre o horror causado pelo atentado e a comoção mundial que ocasionou e algumas análises políticas. Ocorreu a poucos dias de eleições na Espanha onde o chefe do partido conservador, José María Aznar era o franco favorito. De imediato, o governo tentou responsabilizar a ETA pelo atentado, uma vez que os separatistas bascos foram duramente reprimidos por este governo e poderiam tentar um feito espetacular buscando os holofotes dos quais andavam ausentes. Esta versão predominou no primeiro dia, o que fortaleceria Aznar. No entanto, já houve algumas sugestões que poderia ser de inspiração da Al Qaeda porque era muito diferente de ataques anteriories da ETA, que procurava atingir um alvo determinado e não uma matança indiscrimada. Neste caso, seria desfavorável ao atual primeiro-ministro, que se aliou aos EUA na invasão do Iraque, contra a opinião da maioria dos espanhóis. Assim, havia indícios inconclusivos para os dois lados e a eleição ainda não havia ocorrido. Na Fig. 3.6 a seguir, as setas no canto superior dos objetos indicam que há continuação (direita) e a própria página de continuação (esquerda).