• Nenhum resultado encontrado

Revis ˜ao Bibliogr ´afica

2.2 Engenharia do Conhecimento

2.2.2 Modelo do Conhecimento

Nesta subsec¸˜ao, s˜ao apresentados conceitos e caracter´ısticas do modelo de conhecimento con-forme Schreiber et al. (1994).

2.2 Engenharia do Conhecimento 11 O modelo de conhecimento ´e uma ferramenta que nos ajuda a esclarecer a estrutura de uma tarefa de processamento da informac¸˜ao intensiva de conhecimento. O modelo de conhecimento da aplicac¸˜ao fornece uma especificac¸˜ao dos dados e das estruturas de conhecimento necess´aria para a aplicac¸˜ao. O modelo foi desenvolvido como parte do processo de an´alise. ´E, portanto, formulado no vocabul´ario da aplicac¸˜ao, ou seja, tanto no dom´ınio (por exemplo, carros, casas, navios) e quanto na tarefa de racioc´ınio (por exemplo, a avaliac¸˜ao, a configurac¸˜ao, diagn´ostico).

O modelo de conhecimento n˜ao cont´em quaisquer termos de implementac¸˜ao espec´ıficos, estes s˜ao deixados para a fase de projeto.

O modelo de conhecimento tem uma estrutura que ´e, em essˆencia, semelhante aos modelos tradicionais de an´alise em engenharia de software. A tarefa de racioc´ınio ´e descrita por meio de uma decomposic¸˜ao hier´arquica de func¸˜oes ou ”processos”. Os tipos de dados e conhecimentos que as func¸˜oes operam s˜ao descritos utilizando-se de um esquema semelhante a um modelo de dados ou modelo de objetos. As notac¸˜oes s˜ao, em prop´osito, similares aquelas encontrados em outros m´etodos contemporˆaneos.

Um modelo de conhecimento possui trˆes partes, cada uma captura um grupo de estruturas de conhecimento relacionadas. Cada parte ´e uma categoria de conhecimento. A primeira categoria

´e chamada de conhecimento do dom´ınio, esta categoria indica o conhecimento espec´ıfico do dom´ınio e tipos de informac¸˜oes necess´arias para comunicac¸˜ao a respeito do mesmo. A segunda categoria do modelo de conhecimento cont´em o conhecimento de inferˆencia, este descreve os passos b´asicos de inferˆencia necess´arias para fazer uso do conhecimento do dom´ınio. Esta categoria pode ser vista como blocos de construc¸˜ao do racioc´ınio de m´aquina. Na engenharia de software, as inferˆencias constituem o mais baixo n´ıvel de decomposic¸˜ao funcional. A terceira categoria de conhecimento ´e o conhecimento de tarefa, que descreve os objetivos que uma aplicac¸˜ao tem como fim, e como estes objetivos podem ser realizados por meio de uma decomposic¸˜ao em sub-tarefas e (ultimamente) inferˆencias.

Nos pr´oximos sub-itens s˜ao apresentados os detalhes de cada categoria de conhecimento.

Conhecimento de Dom´ınio

O conhecimento do dom´ınio descreve as principais informac¸˜oes est´aticas e objetos do conhe-cimento em um dom´ınio de aplicac¸˜ao. Uma descric¸˜ao de conheconhe-cimento de dom´ınio consiste em um ou mais esquemas de dom´ınio e uma ou mais bases de conhecimentos, s˜ao descritos a seguir:

Esquema de Dom´ınio: descreve a estrutura da informac¸˜ao/conhecimento est´atico do dom´ınio da aplicac¸˜ao, assemelha-se a um modelo de dados ou modelo de objetos.

12 2. Revis˜ao Bibliogr´afica Base de conhecimento: uma base de conhecimento cont´em instˆancias de tipos espec´ıficos em um esquema de dom´ınio.

O modelo do conhecimento fornece um conjunto de construc¸˜oes de modelagem para espe-cificar o esquema do dom´ınio de uma aplicac¸˜ao. Muitas construc¸˜oes s˜ao similares a aquelas encontradas em modelagem de dados moderna. Utiliza-se a notac¸˜ao fornecida pelo diagrama de classe UML, al´em das construc¸˜oes inclu´ıdas para cobrir aspectos de modelagem que s˜ao espec´ıficos de sistemas intensivos de conhecimento, as trˆes principais construc¸˜oes s˜ao:

• Conceito: um CONCEPT (conceito) descreve um conjunto de objetos ou instˆancias que ocorrem no dom´ınio da aplicac¸˜ao e que possuem caracter´ısticas semelhantes. A noc¸˜ao de conceito ´e semelhante ao que ´e chamado de ”classe”ou ”instˆancia de uma classe”em outras abordagens. Uma diferenc¸a com abordagens orientadas a objetos ´e que em CON-CEPT n˜ao se inclui func¸˜oes (isto ´e, operac¸˜oes, m´etodos) na descric¸˜ao de conceitos.

Exemplos de conceitos no dom´ınio de e-comerce podem ser: um carrinho de compras e um produto, apresentados na Figura 2.2.

Caracter´ısticas de CONCEPT pode ser descrita de diversas maneiras. A maneira mais simples ´e definir um ATTRIBUTE (atributo) de um conceito. Um atributo pode conter um VALUE (valor), informac¸˜oes que instˆancias de conceitos possuem. Essas partes da informac¸˜ao devem ser atˆomicas, o que significa que elas s˜ao representadas como simples valores. Assim, um conceito n˜ao pode ter um atributo que cont´em uma instˆancia de um outro conceito como o seu valor, na realidade isso ´e uma relac¸˜ao que ´e descrito a seguir. O modelo do conhecimento tamb´em suporta a especificac¸˜ao de generalizac¸˜ao/especializac¸˜ao, conceitos podem ser organizados em hierarquias por meio de construc¸˜oesSUBTYPE-OF.

Observa-se na Figura 2.2 o exemplo de dois conceitos representados utilizando o dia-grama de classe UML e logo abaixo sua representac¸˜ao em CML(CommonKADS Model Language) que ´e uma linguagem que pode ser utilizada para definic¸˜ao do modelo de conhecimento.

• Relac¸˜ao: relac¸˜ao entre conceitos ´e definida como uma construc¸˜aoRELATIONouBINARY - RELATION. Relac¸˜oes podem ser usadas no padr˜ao comum entidade - relacionamento, mas tamb´em podem ser usadas para tipos de modelagem mais complexas. Para cada argumento, a cardinalidade (algumas vezes chamada de multiplicidade) pode ser definida.

A cardinalidade padr˜ao ´e 1, significa que a cardinalidade padr˜ao na relac¸˜ao ´e obrigat´oria.

A Figura 2.3 mostra um exemplo de relac¸˜ao bin´aria com uma representac¸˜ao em UML e em CML, nota-se que essa representac¸˜ao ´e similar a de um conceito, pois pode conter

2.2 Engenharia do Conhecimento 13

Figura 2.2: Exemplo de Conceito (CONCEPT)

atributos tamb´em, mas difere com relac¸˜ao aos argumentos que s˜ao os outros dois concei-tos.

Figura 2.3:Exemplo de Relac¸˜ao(BINARY-RELATION)

• Tipo de regra: um RULE TYPE (tipo de regra) ´e semelhante a uma relac¸˜ao, onde o antecedente e o consequente podem ser vistos como argumentos. Mas os argumentos s˜ao de natureza diferente. Antecedentes e consequentes de um tipo de regra n˜ao s˜ao instˆancias de conceito, mas representam express˜oes sobre essas instˆancias.

A Figura 2.4 apresenta um exemplo de um tipo de regra, nesse caso o tipo de regra restric¸˜ao de cr´edito ´e definida de forma gr´afica, a figura mostra tamb´em as express˜oes que est˜ao relacionadas `a regra.

A noc¸˜ao de ”regra”, como ´e utilizada noCommonKADSn˜ao est´a ligada de alguma forma a implementac¸˜ao espec´ıfica de regras formais. Um tipo de formalismo pode ser uma t´ecnica adequada de codificac¸˜ao, mas n˜ao h´a garantia nem uma necessidade para que isso seja verdade. Os tipos de regra s˜ao um ve´ıculo de an´alise e devem capturar as dependˆencias l´ogicas estruturais que ocorrem em um dom´ınio de aplicac¸˜ao.

14 2. Revis˜ao Bibliogr´afica

Figura 2.4: Exemplo de Tipo de Regra

Um esquema de dom´ınio descreve tipo de conhecimento de dom´ınio, tais como conceitos, relac¸˜oes e tipos de regra. Uma base de conhecimento cont´em exemplos desses tipos de co-nhecimento. Por exemplo, no dom´ınio de diagn´ostico de carro, poder´ıamos ter uma base de conhecimento com instˆancias de tipos de regra.

Na Figura 2.5 tem-se apenas um esquema, mas, em aplicac¸˜oes mais complexas, h´a muitas vezes uma necessidade de introduzir v´arios esquemas de dom´ınio.

Um fato que pode ser ressaltado ´e que n˜ao h´a necessidade que a base de conhecimentos seja completada durante a an´alise, frequentemente um conjunto de instˆancias parciais ´e suficiente nas fases iniciais de desenvolvimento e ´e completado quando modelo de conhecimento estiver suficientemente est´avel.

Conhecimento de Infer ˆencia

Conhecimento de dom´ınio ´e descrito como uma estrutura de informac¸˜ao. No conhecimento de inferˆencia descreve-se como esta estrutura est´atica pode ser utilizada para realizar um processo de racioc´ınio. Os principais itens de conhecimento de inferˆencia s˜ao: as inferˆencias, os pap´eis de conhecimento e as func¸˜oes de transferˆencia.

Uma func¸˜ao folha (ou seja, uma inferˆencia) ´e descrita na ´ıntegra por meio de uma especificac¸˜ao declarativa da sua entrada e sa´ıda. O processo interno de inferˆencia ´e uma caixa preta, e n˜ao

´e considerado de interesse para a modelagem de conhecimento. Esta abordagem proporciona uma diretriz para decidir quando parar a decomposic¸˜ao funcional, um problema que ocorre

2.2 Engenharia do Conhecimento 15

Figura 2.5: Exemplo de Base de Conhecimento

com frequˆencia na an´alise de sistema. Destaca-se a caracter´ıstica que a inferˆencia utiliza e o conhecimento contido em alguma base de conhecimento para derivar novas informac¸˜oes a partir de sua entrada dinˆamica.

Podem ser distinguidos dois tipos de pap´eis de conhecimento, pap´eis dinˆamicos e est´aticos.

Pap´eis dinˆamicos s˜ao entradas em tempo de execuc¸˜ao e sa´ıdas de inferˆencias. Cada invocac¸˜ao de inferˆencia possui diferentes instanciac¸˜oes de pap´eis dinˆamicos. Os pap´eis est´aticos tipica-mente correspondem ao armazenamento de dados.

Um conjunto de inferˆencias pode ser representado graficamente em uma estrutura de in-ferˆencia. A Figura 2.6 mostra um exemplo deste tipo de inferˆencia com a utilizac¸˜ao das seguintes convenc¸˜oes:

• Retˆangulos representam pap´eis dinˆamicos de conhecimento. O nome do papel de conhe-cimento est´a escrito no retˆangulo.

• Ovais representam inferˆencias. Setas s˜ao utilizadas para indicar dependˆencia de entrada e sa´ıda entre os pap´eis e as inferˆencias.

16 2. Revis˜ao Bibliogr´afica

• O nome de papel est´atico est´a escrito entre duas linhas horizontais compactas. Esta representac¸˜ao ´e propositalmente semelhante ao armazenamento de dados em DFD (Di-agrama de Fluxo de Dados). Pap´eis est´aticos est˜ao ligados atrav´es de uma linha `a in-ferˆencia em que s˜ao utilizados. Incluir pap´eis est´aticos ´e opcional nas estruturas de inferˆencia, onde a ˆenfase recai sobre os aspectos dinˆamicos de fluxo de dados.

Figura 2.6:Exemplo de Inferˆencia - adaptado de (Schreiber et al., 1999)

Um papel de conhecimento constitui um nome funcional para um conjunto de objetos de dom´ınio que podem desempenhar este papel. Algumas operac¸˜oes de inferˆencia operam sobre ou produzem um determinado objeto, outras trabalham sobre um conjunto de objetos. Isto pode levar a ambiguidades nas estruturas de inferˆencia, por exemplo, se uma inferˆencia produz um objeto e uma outra inferˆencia trabalha sobre um conjunto desses objetos, possivelmente gerados por algumas invocac¸˜oes repetidas da primeira inferˆencia.

Para ilustrar o exemplo de inferˆencia da Figura 2.6 pode-se mapear esta inferˆencia para o dom´ınio de empr´estimo de carro. O pap´eis dinˆamicos candidato e concedido podem ser mapeados respectivamente para os conceitos pessoa e empr´estimo, o modelo causal pode ser mapeado para o tipo de regra da Figura 2.4. Ou seja, a inferˆencia age sobre o conceitopessoa, utilizando as express˜oes definidas no tipo de regra da Figura 2.4, tendo como resultado o conceitoempr´estimo.

E, finalmente, pode-se citar a func¸˜ao de transferˆencia que ´e uma func¸˜ao que transfere um item de informac¸˜ao entre o agente de racioc´ınio descrito no modelo de conhecimento e o mundo

2.2 Engenharia do Conhecimento 17 exterior (um outro sistema, alguns usu´arios). Func¸˜oes de transferˆencia s˜ao caixas pretas do ponto de vista do modelo de conhecimento.

Conhecimento de Tarefa

Um aspecto importante do conhecimento ´e o que se quer fazer com ele. Quais s˜ao os objetivos que pretende-se alcanc¸ar com a aplicac¸˜ao de conhecimentos?

A seguir est˜ao relacionados alguns objetivos t´ıpicos:

• Avaliar um pedido de hipoteca a fim de minimizar o risco de perder dinheiro.

• Encontrar a causa de uma avaria em uma fotocopiadora, a fim de restabelecer o servic¸o o mais rapidamente poss´ıvel.

• Projetar um elevador para a um novo edif´ıcio.

Conhecimento de tarefa ´e a categoria do conhecimento que descreve essas metas e as estrat´egias que ser˜ao empregadas para realizar esses objetivos. Conhecimento de tarefa ´e nor-malmente descrito em um modo hier´arquico: tarefas de alto n´ıvel comoProjetar elevador s˜ao decompostas em pequenas tarefas, que por sua vez podem ser divididas em tarefas ainda menor.

No n´ıvel mais baixo de decomposic¸˜ao de tarefa, as tarefas est˜ao ligadas a inferˆencias e func¸˜oes de transferˆencia, podemos observar essa divis˜ao na Figura 2.7.

Dois tipos de conhecimento executam um papel proeminente na descric¸˜ao da tarefa de co-nhecimento: a tarefa e o m´etodo de tarefa. Uma tarefa define um racioc´ınio objetivo em termos de um par entrada-sa´ıda. Por exemplo, uma tarefa tipicamente deDiagn´osticotem como entrada uma reclamac¸˜ao e produz como sa´ıda uma categoria de falha mais comprovada. Um m´etodo de tarefa descreve como uma tarefa pode ser realizada por meio de uma decomposic¸˜ao em sub-func¸˜oes. A tarefa e o m´etodo de tarefa podem ser melhor compreendidos, respectivamente, da vis˜aoo que(o que deve ser feito) e da vis˜aocomo(como ´e feito) sobre tarefas de racioc´ınio.

Uma tarefa define uma func¸˜ao complexa de racioc´ınio. A tarefa de alto n´ıvel tipicamente corresponde a uma tarefa identificada no modelo de tarefa. A especificac¸˜ao de uma tarefa nos diz quais s˜ao suas entradas e sa´ıdas. A principal diferenc¸a de uma func¸˜ao tradicional e uma tarefa ´e que a tarefa ´e descrita em uma forma independente de dom´ınio. A tarefa, tal como inferˆencias, s˜ao especificadas em termos de nomes de pap´eis funcionais. Existem, no entanto, duas diferenc¸as principais entre tarefas e inferˆencias:

• N˜ao se inclu´ı pap´eis est´aticos na especificac¸˜ao de tarefas. Pap´eis est´aticos s´o s˜ao introdu-zidos em n´ıvel de inferˆencias.

18 2. Revis˜ao Bibliogr´afica

Figura 2.7: Exemplo de Tarefa - adaptado de (Schreiber et al., 1999)

• N˜ao se especifica o mapeamento dos pap´eis sobre os termos espec´ıficos de dom´ınio. O mapeamento ´e uma forma indireta: pap´eis de tarefa est˜ao ligados a pap´eis de inferˆencia por meio da estrutura de controle. Pap´eis de inferˆencia associados tˆem cada um mapea-mento para a construc¸˜ao de dom´ınio.

Sobre M´etodo de tarefa pode-se dizer que descreve como uma tarefa ´e realizada por meio de uma decomposic¸˜ao em sub-func¸˜oes. Tais sub-func¸˜oes pode ser uma outra tarefa, uma inferˆencia definida no conhecimento de inferˆencia, ou uma func¸˜ao de transferˆencia. O n´ucleo do m´etodo

´e formado por estruturas de controle que descrevem em que ordem as sub-func¸˜oes devem ser realizadas.

Documentos relacionados