Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

ENGENHARIA DO 
CONHECIMENTO
OBJETIVOS DE APRENDIZAGEM
 > Identificar problemas especializados na engenharia do conhecimento;
 > Descrever o processo criativo que envolve área de especialização e enge-
nharia do conhecimento para construção de soluções inteligentes;
 > Validar soluções especialistas na engenharia do conhecimento. 
Introdução
O processo de desenvolvimento de sistemas inteligentes baseados em conhe-
cimento fez surgir uma nova área da ciência da computação para definir as me-
todologias e ferramentas a serem utilizadas pelo engenheiro do conhecimento 
durante todo o processo de construção: a engenharia do conhecimento. 
O processo de desenvolvimento de um sistema baseado em conhecimento 
(SBC) possui etapas com características específicas, cada uma composta de 
atividades que podem ser reformuladas e refinadas durante o desenvolvimento 
para garantir a qualidade e a eficiência do sistema.
Neste capítulo, serão apresentados os problemas especializados na engenha-
ria do conhecimento, o processo criativo que envolve a área de especialização 
e engenharia do conhecimento para construção de soluções inteligentes e as 
soluções especialistas na engenharia do conhecimento.
Processo da 
engenharia do 
conhecimento
Cynthia da Silva Barbosa
Problemas especializados na engenharia 
do conhecimento
A engenharia do conhecimento estabelece ferramentas e metodologias re-
lacionadas aos objetivos da gestão do conhecimento, para identificar, criar, 
analisar e implementar soluções para problemas em diversas áreas das 
organizações, gerando valor e auxiliando na tomada de decisões, além de 
garantir produtividade e competitividade no mercado.
Inicialmente, as metodologias da engenharia do conhecimento tinham o 
foco na transferência do conhecimento entre as pessoas especialistas e os 
sistemas, que, por sua vez, seguiam as regras com base no conhecimento 
dos especialistas (ABEL; FIORINI, 2013). Com isso, os sistemas ficavam limi-
tados a esses conhecimentos, e sua manutenção poderia ser muito difícil 
e trabalhosa. 
Para Rezende (2003), como os SBCs precisam das pessoas especialistas, 
este desenvolvimento poderia ser comprometido com a troca de funcioná-
rios e aposentadorias. Por isso, desenvolver sistemas inteligentes garante 
a preservação e a padronização dos processos de tomada de decisão da 
organização, além da agilidade e competitividade que fornecem para as 
demandas de mercado. 
Os SBCs deram resultados, mas houve muitas falhas, o que levou essa situ-
ação a ser comparada com a crise do software ocorrida no final dos anos 1970, 
originando a engenharia de software, criada para auxiliar nas metodologias 
e técnicas de desenvolvimento de software. Da mesma forma, a engenharia 
do conhecimento surgiu para auxiliar a construção de um SBC por meio de 
processos de engenharias com metodologias e técnicas específicas (STUDER; 
BENJAMINS; FENSEL, 1998).
A crise do software ocorreu nos anos 1970 em razão das dificuldades 
enfrentadas durante o desenvolvimento de software por causa da 
grande demanda por eles. Alguns dos principais problemas encontrados nos 
projetos de desenvolvimento de software foram: 
 � prazos de desenvolvimento e elaboração ultrapassados;
 � custos elevados do projeto;
 � as pessoas envolvidas no projeto não davam conta da demanda;
 � os requisitos levantados com os usuários não eram desenvolvidos;
 � dificuldade em fazer manutenção nos software desenvolvidos.
Processo da engenharia do conhecimento2
O processo de desenvolvimento de um SBC é realizado a partir de uma 
atividade de modelagem, ou seja, desenvolve-se um modelo computacional 
com o objetivo de resolver os mesmos problemas que um especialista em 
um determinado assunto resolveria, disponibilizando soluções semelhantes 
às soluções dos especialistas. No entanto, por ser um modelo, reflete uma 
aproximação da realidade, além de estar diretamente relacionado com as 
interpretações pessoais do engenheiro do conhecimento, o que leva a revisões 
do modelo em todas as fases de modelagem do processo de desenvolvimento 
do SBC (STUDER; BENJAMINS; FENSEL, 1998).
A etapa de aquisição, ou elicitação, do conhecimento é o primeiro passo 
para iniciar o desenvolvimento de um SBC; é um processo de modelagem 
de problemas, estratégia de resoluções e soluções referentes às atividades 
de um específico domínio que formam o cenário que é interpretado pelo 
engenheiro do conhecimento. Nessa etapa, o engenheiro do conhecimento 
precisa compreender a fundo o domínio para que a modelagem seja realizada 
de forma similar ao raciocínio de um especialista (SHAW; GAINES, 1996). 
O processo de aquisição do conhecimento pode ser difícil, uma vez que 
os especialistas possuem a dificuldade de expressar o conhecimento, o que 
impacta diretamente na compreensão do domínio do sistema. Além disso, os 
especialistas podem deixar passar pontos importantes durante a formulação 
do raciocínio, fazendo o conhecimento ser incompleto, incorreto e até mesmo 
inconsistente. O processo de aquisição de conhecimento pode comprometer 
até 80% do esforço para o desenvolvimento do SBC. 
O processo de aquisição do conhecimento é composto por fases que 
sempre estão se reformulando e refinando o modelo computacional desen-
volvido pelo engenheiro de conhecimento e pelo especialista. O refinamento 
verifica internamento se o sistema está de acordo com os problemas reais 
tratados. A reformulação ajusta o conhecimento para estar de acordo com 
o planejado. Já o reprojeto refaz o projeto elaborado de acordo com as de-
finições do especialista. 
Fase de identificação
Na fase de identificação são definidas as principais características do pro-
blema a ser tratado, como identificar o tipo de conhecimento a ser tratado, 
o objetivo e as metas para a construção do SBC, a equipe que participará do 
processo de construção, os recursos computacionais, o tempo que será gasto 
em cada etapa do processo, as tecnologias a serem utilizadas, a viabilidade 
Processo da engenharia do conhecimento 3
econômica e a complexidade das atividades a serem desenvolvidas. Segundo 
Rezende (2003), a fase de identificação é semelhante à análise de requisitos 
da engenharia de software, uma vez que o engenheiro do conhecimento 
procura identificar o tipo de problema a ser resolvido, os dados que o sistema 
manipulará, os critérios de classificação dos resultados que serão adotados 
pelo sistema e como o problema será resolvido.
Nesta fase, o engenheiro do conhecimento realiza entrevistas com os 
especialistas para fazer o levantamento das características do domínio, ou 
seja, para definir quais métodos serão resolvidos pelo SBC, para compreender 
o escopo e a complexidade do domínio e para elaborar o modelo de interação 
usuário-sistema. 
As perguntas devem ser focadas para a aquisição do conhecimento, 
caso contrário, o especialista pode se perder nas respostas e não 
obter realmente o que é esperado.
Os principais desafios da fase de identificação são listados a seguir (BIT-
TENCOURT, 2006).
 � Absorção do conhecimento que está na mente do especialista, inclusive 
situações específicas que estão em sua memória. 
 � A verbalização do conhecimento tácito, ou seja, o especialista sabe 
como solucionar um problema, porém, ao ser questionado sobre a 
solução, não sabe responder como se deu a resolução.
 � Problemas de comunicação entre o engenheiro do conhecimento e o 
especialista, uma vez que o engenheiro conhece apenas as técnicas 
de representação do conhecimento e o especialista conhece a fundo 
o domínio do problema.
 � As informações não são totalmente disponibilizadas pelos especialistas, 
uma vez que ele pode se sentir observado durante o processo e não 
disponibilizar a informação.
A Figura 1 apresenta o percentual de contribuição do conhecimento pelo 
engenheiro do conhecimento e pelo especialista em cada fase da aquisição 
do conhecimento.
Processo da engenharia do conhecimento4
Figura 1. Conhecimentos do engenheiro do conhecimento versusconhecimentos do especialista.
As fases de conceituação, formalização, implementação e testes compõem 
o processo de construção do SBC e serão descritas na próxima seção. A fase 
de manutenção será descrita na última seção.
Processo criativo para construção 
de soluções inteligentes
Para que as empresas sejam competitivas, é preciso que ofereçam soluções 
que acompanhem as demandas do mercado, pois são necessárias informações 
precisas e rápidas. Por isso, os SBCs são eficientes e auxiliam na tomada de 
decisão em diversas áreas do conhecimento. 
Ao realizar a construção de SBCs, é preciso utilizar ferramentas e métodos 
adequados para elicitação, modelagem e formalização do conhecimento 
disponível (ABEL; FIORINI, 2013). Segundo Rezende (2003), o processo de de-
senvolvimento de um SBC depende dos recursos disponíveis para o projeto 
e de como esses recursos serão organizados e gerenciados: 
 � gerenciamento de atividades: etapa que realiza o planejamento, o 
escalonamento, o registro e a análise do projeto;
Processo da engenharia do conhecimento 5
 � gerenciamento de configuração: realiza o gerenciamento do produto 
e de mudanças;
 � gerenciamento de recursos: realiza a previsão, a aquisição e a otimi-
zação dos recursos que serão utilizados no projeto.
Segundo Mendes (1997), os sistemas especialistas devem ser projetados de 
forma cuidadosa para que consigam analisar novas situações, compreender 
novas regras, excluir regras redundantes e completar as regras conflitantes 
para que a base do conhecimento seja constantemente apurada. 
Fase de conceituação
Na fase de conceituação, são estabelecidas as definições, os conceitos (classes 
de objetos na área do conhecimento) e os mecanismos de controle como 
causa-efeito, espaço-tempo e parte-todo para resolver o problema, com 
base em revisões bibliográficas e entrevistas com os especialistas. A fase 
de conceituação é importante para a representação do conhecimento, uma 
vez que limita o que é ou não importante de ser representado. Algumas atri-
buições que devem ser feitas pelo engenheiro do conhecimento são listadas 
a seguir (REZENDE, 2003).
 � Realizar entrevistas estruturadas guiadas pelo levantamento de dados 
coletados na fase anterior.
 � Coletar casos para que sejam modelados e testados.
 � Observar o especialista durante a realização de suas atividades.
Uma entrevista estruturada refere-se a uma entrevista formal ba-
seada em perguntas que direcionam o processo da aquisição do 
conhecimento e facilitam a compreensão e a análise do problema. 
Com os dados das entrevistas em mãos, o engenheiro do conhecimento 
inicia a análise do material, idealizando os dados de entrada e saída, como 
texto, imagens e gráficos solicitados; o modelo da tarefa — classificação, 
configuração e interpretação; e os raciocínios predominantes, como o reco-
nhecimento de padrões. As principais dificuldades encontradas nesta etapa 
são (REZENDE, 2003):
Processo da engenharia do conhecimento6
 � definição da terminologia a ser utilizada para nomear os conceitos e 
suas relações a fim de evitar a ambiguidade;
 � ausência de ferramentas para verificar se a modelagem foi realizada 
de forma completa e consistente;
 � atrasos na identificação de erros de conceituação, pela dificuldade da 
definição dos conceitos e suas relações, gerando um grande esforço 
e impactando na entrega do SBC.
Fase de formalização
Na fase de formalização, o engenheiro do conhecimento baseia-se na mo-
delagem computacional do problema, se atentando aos principais conceitos 
e a subproblemas utilizando ferramentas específicas para esses casos. Em 
seguida, obtém-se a descrição do sistema, que será validada pelo especialista. 
Nesta fase, a expressão e a comunicação devem ser claras e diretas, não 
aceitando diferentes interpretações para um mesmo assunto, além de exigir 
do engenheiro do conhecimento habilidade para extrair o conhecimento de 
forma precisa, completa e consistente. Algumas ações que devem ser feitas 
pelo engenheiro do conhecimento (REZENDE, 2003):
 � escolher o modelo de tarefa a ser adaptado;
 � escolher a linguagem de representação para modelar o sistema;
 � definir o espaço de busca do problema;
 � definir o espaço de soluções do problema;
 � definir os métodos de busca a serem utilizados;
 � identificar as limitações do SBC.
Uma linguagem de representação do conhecimento é uma lingua-
gem formal que é processada por um computador. Um exemplo é o 
paradigma de frames ou quadros, que é similar aos paradigmas da orientação 
a objetos.
Fase de implementação
Na fase de implementação, o SBC é codificado e são estabelecidos os meca-
nismos de controle e a linguagem de representação para resolver o problema. 
Processo da engenharia do conhecimento 7
Uma das dificuldades desta fase é a falta de um mapeamento para saber 
a linguagem a ser usada em um determinado problema. Além disso, pode 
ocorrer uma falha de comunicação entre programadores e o engenheiro do 
conhecimento, em razão da dificuldade de compreensão do material elabo-
rado pelo último. O especialista deve validar o protótipo obtido nesta fase 
e avaliar se será necessário modificar alguns conhecimentos desenvolvidos 
(REZENDE, 2003). 
Considere um projeto de desenvolvimento de um sistema para auto-
matizar o atendimento ao cliente de uma rede varejista. O engenheiro 
do conhecimento fez o levantamento das informações necessárias para a criação 
do sistema junto com o especialista da área e realizou a modelagem do sistema. 
Como ele possui um conhecimento a fundo sobre todo o processo, ao realizar 
o repasse das informações levantadas, as forneceu de acordo com sua expe-
riência. Por sua vez, os desenvolvedores do sistema, que conhecem somente a 
parte técnica, ao receberem as orientações do engenheiro do conhecimento, 
não conseguiram representar o conhecimento modelado e o transferir para a 
linguagem de programação. Este é um exemplo de falha na comunicação entre 
engenheiro do conhecimento e desenvolvedores do sistema, ou seja, um fala 
e o outro não compreende.
Para desenvolver sistemas especialistas, podem ser utilizadas diver-
sas linguagens de programação como Java, PHP, C/ C++, C#, Python. 
No entanto, a escolha correta da linguagem de programação evitará retrabalho 
e prejuízos durante a implementação do SBC.
Validação de soluções especialistas 
na engenharia do conhecimento
A atividade de validação de soluções especialistas é importante para identifi-
car se o que foi desenvolvido nas etapas anteriores da aquisição do conheci-
mento está de acordo com o planejado, e a atividade de verificação avalia se 
existem erros de lógica interna, permitindo que o sistema seja aperfeiçoado. 
Tanto a validação como a verificação avaliam a qualidade do SBC. 
Processo da engenharia do conhecimento8
Ayel e Laurent (1991) definem verificação como a garantia de que o sis-
tema a ser desenvolvido está correto, garantindo que o que foi planejado 
seja executado. A validação é definida como a garantia de que o sistema 
desenvolvido é realmente o que se esperava durante a entrega.
Nos SBCs, a metodologia de validação e verificação (V&V) é utilizada para 
auxiliar os engenheiros do conhecimento no processo de desenvolvimento 
do sistema. Segundo Pereira (1997), o processo V&V pode ser aplicado nas 
etapas de requisitos, na concepção, na verificação dos códigos, nos testes 
unitários, integração de sistema e de instalação, no funcionamento e na 
manutenção do SBC.
Há algumas diferenças entre o processo V&V e o processo de sistemas 
convencionais, como listado a seguir.
 � Os sistemas especialistas não são de natureza totalmente objetiva, ou 
seja, o resultado de problemas representados é baseado em pareceres 
subjetivos, sendo considerada a melhor solução para o problema.
 � Os sistemas especialistas toleram um pequeno percentual de incerte-
zas, uma vez que os dados não são sempre exatos e precisos. 
 � A eficácia dos sistemas especialistas é avaliada pelo especialista que 
decidiráse o sistema está de acordo com o especificado.
As etapas de requisitos, concepção, verificação dos códigos, testes unitá-
rios, integração, de sistema e de instalação e de funcionamento e manutenção 
do SBC serão descritas a seguir.
V&V de requisitos do SBC
Nesta etapa de validação e verificação são avaliados:
 � a abrangência do conhecimento e a complexidade do domínio que foi 
projetado para o SBC;
 � os ajustes realizados nos requisitos de acordo com a solicitação dos 
especialistas em relação ao prazo do projeto inicial;
 � se as ferramentas utilizadas no projeto, como linguagens e o ambiente 
de desenvolvimento, suportam a implementação do SBC em relação a 
complexidade do domínio;
 � as estratégias para a atualização do conhecimento.
Processo da engenharia do conhecimento 9
V&V de conceituação do SBC
Nesta etapa de validação e verificação, avalia-se o modelo do domínio para 
garantir sua completude e sua consistência e para conferir se está contem-
plando todos os problemas a serem tratados, bem como se está de acordo 
com o conhecimento a ser utilizado.
Verificação do código do SBC
Nesta etapa, é importante avaliar se a lógica desenvolvida está de acordo 
com o conhecimento fornecido pelo engenheiro do conhecimento e se a base 
do conhecimento está de acordo com o que foi desenvolvido.
Testes do SBC
A fase de teste valida se tudo o que foi projetado nas fases anteriores foi 
desenvolvido corretamente. São elaborados casos de teste e é validada a 
performance do SBC com o especialista, junto como o engenheiro do conheci-
mento. No entanto, o SBC aceita, em pequenas escalas, respostas incorretas, 
gerando uma dificuldade na validação, afinal, qual o limite de erros aceitável? 
Em diagnósticos médicos, pode ocorrer essa variação, mas em sistemas que 
requerem respostas rígidas, não. Para isso, o sistema é testado até que os 
resultados sejam confiáveis; caso contrário, o sistema será modificado para 
atender às especificações (REZENDE, 2003).
Os testes avaliados são listados a seguir (PEREIRA, 1997).
 � Teste unitário:
 ■ valida a base do conhecimento em relação ao conhecimento do 
domínio;
 ■ realiza testes unitários em todos os métodos do conhecimento;
 ■ define as regras que o sistema deve desempenhar e o que se espera 
em seus resultados.
 � Teste de integração:
 ■ define os testes que farão a avaliação do conhecimento represen-
tado pelo sistema e dos métodos diretamente relacionados a este 
conhecimento de forma global e integrada.
 � Teste de sistema:
 ■ define os métodos a serem utilizados de acordo com a visão dos 
usuários do sistema.
Processo da engenharia do conhecimento10
 � Teste de instalação:
 ■ verifica se a informação disponibilizada pelo SBC de fontes externas 
chega dentro do padrão aceitável.
V&V de manutenção e funcionamento do SBC
A manutenção do SBC é um tópico necessário em razão de novas demandas 
a serem implementadas ou melhorias das funcionalidades que já estão em 
funcionamento. Os ajustes fazem parte do processo de identificação e aqui-
sição do conhecimento, uma vez que novas demandas ou até mesmo corre-
ções de bugs impactam em toda a forma como um sistema dessa natureza 
é construído, e por isso deve ser respeitado todo o processo de engenharia 
do conhecimento. 
Um dos desafios da fase de manutenção é justamente a perda de flexibi-
lidade ao representar o conhecimento à medida que as bases crescem, uma 
vez que uma simples alteração em uma parte dos sistemas pode requerer a 
alteração de outras partes, sendo necessário verificar a consistência dessas 
modificações. Outro desafio é o fornecimento de ferramentas e interfaces 
bem projetadas para auxiliar os usuários do sistema e reduzir sua comple-
xidade (REZENDE, 2003).
Nesta etapa de validação e verificação são feitas (PEREIRA, 1997):
 � a atualização do conhecimento, incluindo o modelo de domínio;
 � a definição das regras para que a base do conhecimento seja atualizada. 
Como os SBCs não têm a sua base em algoritmos, à medida que um 
novo conhecimento é obtido e é preciso alterar o conhecimento 
antigo, a performance do sistema melhora a cada manutenção realizada.
Como visto nas seções anteriores, a engenharia do conhecimento estabe-
lece ferramentas e métodos para criar sistemas capazes de resolver problemas 
específicos utilizando como base o conhecimento. Além disso, o processo de 
desenvolvimento do SBC tem origem em um modelo computacional gerado 
na fase de aquisição do conhecimento. O processo de aquisição do conheci-
mento é composto por fases que sempre estão se reformulando e refinando 
o modelo computacional desenvolvido pelo engenheiro de conhecimento e 
Processo da engenharia do conhecimento 11
pelo especialista. Os SBCs utilizam a verificação e a validação para avaliar 
sua qualidade e seu desempenho, além de verificar se o conhecimento que 
foi projetado está sendo utilizado.
Referências
ABEL, M.; FIORINI, S. R. Uma revisão da engenharia do conhecimento: evolução, para-
digmas e aplicações. International Journal of Knowledge Engineering and Management, 
Florianópolis, v. 2, n. 2, p. 1–35, 2013. Disponível em: https://www.researchgate.net/
publication/264156426_Uma_revisao_da_Engenharia_do_Conhecimento_Evolucao_
Paradigmas_e_Aplicacoes. Acesso em: 1 fev. 2021.
AYEL, M.; LAURENT, J. P. Foreword: validation, verification and test of knowledge-based 
systems. New York: John Wiley e Sons, 1991. 
BITTENCOURT, G. Inteligência artificial: ferramentas e teorias. Florianópolis: UFSC, 2006.
MENDES, R. D. Inteligência artificial: sistemas especialistas no gerenciamento da 
informação. Ciência da Informação, Brasília, v. 26, n. 1, p. 39–45, 1997. Disponível em: 
http://revista.ibict.br/ciinf/article/view/751. Acesso em: 1 fev. 2021. 
PEREIRA, A. J. S. Verificação e validação de sistemas baseados em conhecimento: VERITAS, 
uma ferramenta de verificação. 1997. Dissertação (Mestrado em Engenharia Eletrotécnica 
e de Computadores) – Faculdade de Engenharia, Universidade de Porto, Porto, 1997. 
REZENDE, S. O. Sistemas inteligentes: fundamentos e aplicações. Barueri: Manole, 2003.
SHAW, M. L. G.; GAINES, B. R. Requirements acquisition. Software Engineering Journal, 
[s. l.], v. 11, n. 3, p. 149–165, 1996. 
STUDER, R.; BENJAMINS, V. R.; FENSEL, D. Knowledge enginnering: principles e methods. 
Data & Knowledge Engineering, [s. l.], v. 25, n. 1–2, p. 161–197, 1998.
Os links para sites da web fornecidos neste capítulo foram todos 
testados, e seu funcionamento foi comprovado no momento da 
publicação do material. No entanto, a rede é extremamente dinâmica; suas 
páginas estão constantemente mudando de local e conteúdo. Assim, os editores 
declaram não ter qualquer responsabilidade sobre qualidade, precisão ou 
integralidade das informações referidas em tais links.
Processo da engenharia do conhecimento12

Mais conteúdos dessa disciplina