• No results found

3. CONCEPTUAL FRAMEWORK AND LITERATURE REVIEW

3.3 Q UALITY OF EDUCATION AND D EMAND FOR EDUCATION

3.3.2 Demand for education

3.3.2.2 The impact of quality of education and school quality on the demand for education

Uma metodologia de construção de ontologias compreende um conjunto de princípios, processos, práticas, métodos e atividades estabelecidas, usado para projetar, construir, avaliar e distribuir ontologias (DEVEDŽIĆ, 2006). Segundo Devedžić (2006) e Goméz-Pérez et al. (2003) as propostas de metodologias de desenvolvimento de ontologia focam, em sua maioria, na construção de ontologias, especialmente em sua conceituação e desenvolvimento. Entretanto, aspectos importantes como atividades de gerenciamento, aprendizagem, fusão, integração, evolução e avaliação de ontologias, são deixados de lado (DEVEDŽIĆ, 2006). Algumas das metodologias que focam na construção de ontologia são gerais e simplesmente oferecem passos a serem seguidos. Algumas outras metodologias propõem métodos para fusão, reengenharia, manutenção e amadurecimento de ontologias. Outras aplicam processos e práticas de desenvolvimento de software. De acordo com Devedžić (2006), metodologias de desenvolvimento de ontologias recorrem à análise e projetos de software orientado a objeto. Isto pode ser percebido, uma vez que ontologias representam classes, suas propriedades, valores das propriedades e eventos. Ontologias também abrangem hierarquia, e a maioria suporta generalização, herança, agregação e relações entre seus conceitos (DEVEDŽIĆ, 2006). Além do mais, segundo Devedžić (2006), os processos que a engenharia de ontologia usa para o

desenvolvimento de ontologias quase coincidem com alguns dos processos estabelecidos de análise e projeto orientado a objetos.

Como exemplo de metodologia, pode-se citar de forma breve Uschold e King (apud GOMÉZ-PÉREZ et al., 2003), que propõem os seguintes processos para a construção de ontologias: identificar a proposta da ontologia, construí-la, avaliá-la e documentá-la. Durante o processo de construção, os autores propõem a captura do conhecimento, codificação do conhecimento e integração de outras ontologias dentro da ontologia corrente. Já a metodologia de Grüninger e Fox (apud GOMÉZ-PÉREZ et al., 2003) propõe identificar de forma intuitiva as possíveis aplicações que integrarão a ontologia. Nesta metodologia são usadas questões em linguagem natural, denominadas questões de competência, para determinar o escopo da ontologia. Com base nessas questões e em suas respostas, os principais conceitos (classes) e suas propriedades são identificados, bem como as relações e axiomas da ontologia. Segundo Goméz-Pérez et al. (2003), essa metodologia tem um alto grau de formalidade, mas o ciclo de vida da ontologia, assim como a de Uschold e King, não é completamente especificado.

Metodologias mais abrangentes vão além do princípio de construir ontologias. Um exemplo é a metodologia METHONTOLOGY (GOMÉZ- PÉREZ et al., 2003). De modo geral, essa metodologia parte do princípio que a engenharia de ontologia requer padronização e definição de todo ciclo de vida da ontologia – desde a especificação dos requisitos até a manutenção - bem como os métodos e técnicas que guiam o desenvolvimento de ontologia durante o ciclo de vida (DEVEDŽIĆ, 2006). Segundo Goméz-Pérez et al. (2003), METHONTOLOGY inclui: a identificação do processo de desenvolvimento de ontologia, um ciclo de vida baseado no desenvolvimento de protótipos, técnicas para realizar atividades de gerenciamento, de desenvolvimento e de suporte de ontologia. A Figura 8 ilustra cada uma das atividades de gerenciamento, desenvolvimento e suporte de ontologias. É possível notar a semelhança de muitas dessas atividades com as atividades dos processos de desenvolvimento de software, uma vez que a proposta dessa metodologia foi baseada, segundo Goméz-Pérez et al. (2003), no padrão para

desenvolvimento de software do IEEE22 (Institute of Electrical and

Electr oni cs Engineer s).

Figura 8: Processo de desenvolvimento de ontologia (GOMÉZ-PÉREZ et al., 2003).

Uma breve explicação dessas atividades foi extraída de (GOMÉZ- PÉREZ et al., 2003) e são expostas nos parágrafos a seguir.

As atividades de gerenciamento incluem cronograma, controle e garantia de qualidade. O cronograma engloba a identificação e distribuição das tarefas a serem realizadas, além de definir o tempo e os recursos necessários para a execução dessas tarefas. As atividades de controle visam o cumprimento do cronograma e as atividades de garantia de qualidade buscam assegurar que os produtos, tais como ontologia, software e documentação, sejam satisfatórios quanto a sua qualidade.

As atividades orientadas ao desenvolvimento da ontologia são agrupadas em atividades de pré-desenvolvimento, desenvolvimento e pós- desenvolvimento. Durante o pré-desenvolvimento são realizados estudos para conhecer onde a ontologia será usada, as aplicações onde a ontologia será integrada, etc. No pré-desenvolvimento também é verificada a viabilidade da construção da ontologia. No desenvolvimento, a atividade de especificação busca definir o porquê da construção da ontologia, o uso pretendido e os usuários finais da ontologia. Já na atividade de conceituação, procura-se

modelar de maneira conceitual o conhecimento do domínio especificado. Em seguida, na atividade de formalização, o modelo conceitual do conhecimento é passado para um modelo formal ou semi-computável. Encerrando o desenvolvimento, a atividade de implementação busca construir um modelo computável em uma linguagem de ontologia. No pós-desenvolvimento, por sua vez, são realizadas as atividades de manutenção da ontologia, que procura atualizar e corrigir a ontologia quando necessário, e o uso (e reuso) da ontologia por outras ontologias ou aplicações.

Por último, as atividades de suporte da ontologia são constituídas por atividades realizadas em paralelo às atividades orientadas ao desenvolvimento. A atividade de aquisição de conhecimento tem o objetivo de adquirir conhecimento do especialista do domínio ou por meio de algum tipo de processo automático. A atividade de avaliação faz um julgamento técnico, não só das ontologias, mas também de seus ambientes, de softwares associados e da documentação. A atividade de integração é necessária quando a nova ontologia será construída reusando uma outra ontologia já disponível. A atividade de fusão consiste em obter uma nova ontologia a partir de duas ou mais ontologias de um mesmo domínio. Já atividade de alinhamento consiste em estabelecer um mapeamento entre as ontologias envolvidas, preservando a ontologia corrente, isto é, não realiza a fusão das ontologias. Na atividade de documentação são detalhados de forma clara e exaustiva todos os estágios completados e os produtos gerados. Finalmente, a atividade de gerenciamento de configuração registra todas as versões de documentação e de códigos para o controle de mudanças.

Noy e McGuiness (2001) propõem o método 101 para desenvolvimento de ontologias. Este método é na realidade um resumo das experiências das autoras no desenvolvimento com ferramentas como, por exemplo, o Protégé, na forma de um guia para auxiliar na construção de ontologias ou “guia para a criação da sua primeira ontologia” como sugere o título do relatório técnico. Assim sendo, o método 101 não vai além da construção de ontologias (DEVEDŽIĆ, 2006). A seguir, são apresentados os passos sugeridos em (NOY e McGUINESS, 2001) para construção da ontologia:

Passo 1: determinar o domínio e o escopo da ontologia. Para

isso, Noy e McGuiness sugerem que as seguintes questões sejam respondidas:

o Qual é o domínio que se deseja cobrir com a ontologia? o Com que propósito a ontologia será utilizada?

o Para que tipos de questões a ontologia deverá responder? o Quem usará e manterá a ontologia?

As autoras sugerem ainda, a elaboração das questões de competência, propostas por Grüninger e Fox (apud GOMÉZ-PÉREZ et al., 2003), comentadas anteriormente nesta seção, como uma maneira de levantar o escopo da ontologia. Note que as questões sugeridas pelas autoras são versões informais das questões de competência e com características menos específicas. Segundo Noy e McGuiness (2001), as questões de competência não precisam ser elaboradas de forma exaustiva, devem ajudar a especificar alguns requisitos e a levantar termos da ontologia, como classes e propriedades, por exemplo. Dessa forma é possível verificar se a ontologia possui informações suficientes para responder as questões, qual o nível o detalhamento necessário ou se existe a necessidade de representação de alguma área de conhecimento em particular.

Passo 2: considerar a reutilização de ontologias existentes.

Após determinar o escopo e o domínio da ontologia, vale a pena verificar a existência de uma ontologia já construída que atenda esse domínio ou que possa ser refinada e estendida para o domínio e tarefas específicos. A reutilização de ontologias existentes pode ser um requisito caso o novo sistema interaja com outras aplicações comprometidas com determinadas ontologias e vocabulários controlados.

Passo 3: enumerar os termos importantes da ontologia.

Segundo Noy e McGuiness (2001), é importante listar os termos que se deseja definir ou explicar aos usuários, juntamente com suas propriedades e comentários. Entretanto, o objetivo é uma lista inicial e ampla de termos, sem uma preocupação excessiva quanto à redundância dos conceitos que eles representam, as relações entre os termos, suas propriedades, se um termo é uma

classe ou propriedade e outras características que serão refinadas nos passos seguintes.

Passo 4: definir classes e hierarquia de classe. Os processos

sugeridos para definir uma hierarquia de classe pelas autoras são:

o Topo para baixo (top-down): esse processo é iniciado com a

identificação dos conceitos mais abrangentes do domínio e a subseqüente especialização dos conceitos.

o Baixo-para-cima (botton-up): esse processo de

desenvolvimento começa com a definição das classes mais específicas e, em seguida, são identificados os agrupamentos dessas classes em termos mais abrangentes.

o Combinação: esse processo é uma combinação dos dois

processos anteriores. Primeiramente, são identificados os conceitos mais notáveis, para, então, generalizá-los e especializá-los de maneira apropriada.

Passo 5: definir as propriedades das classes – slots. As classes

sozinhas não fornecem informação suficiente para responder as questões de competência elaboradas no Passo 1. Quando algumas classes forem definidas, deve-se descrever a estrutura interna de seus conceitos. No passo anterior, são selecionadas as classes da lista de termos definidas no Passo 3. Muitos dos termos restantes são provavelmente propriedades dessas classes e para cada uma delas deve-se determinar a qual classe pertence. De modo geral há vários tipos de propriedades relativas a classes. Dentre os tipos de propriedades estão: intrínsecas, extrínsecas, partes (física ou abstrata), relacionamentos com outras classes e relacionamentos com outros itens.

Passo 6: definir os aspectos (facets) das propriedades. As

propriedades podem assumir diferentes valores ou aspectos que descrevem as características do valor ou dos valores que serão atribuídos a ela, como por exemplo, o tipo do valor e a quantidade de valores permitidos (cardinalidade). A

cardinalidade, por exemplo, é distinguida em alguns sistemas

Outros sistemas permitem definir o número mínimo e o número máximo de valores a serem atribuídos a uma propriedade. Quanto aos tipos de dados, os mais comuns encontrados nas linguagens para ontologia são: cadeia de caracteres (string), números (às vezes tipos mais específicos como inteiro ou ponto flutuante), lógicos (booleans), listas de elementos enumerados (enumerated) e instâncias de classes (que permitem definir relações entre indivíduos). As classes permitidas para uma propriedade do tipo instância são chamadas de range (abrangência) da propriedade. Alguns sistemas permitem restringir a abrangência de uma propriedade, quando ela é ligada a uma classe particular. A classe a qual uma propriedade é ligada ou descreve é chamada de

domínio da propriedade.

Passo 7: criar instâncias. Este último passo é dedicado à criação

de instâncias individuais para classes na hierarquia. Definir uma instância individual requer escolher uma classe, criar a instância individual dessa classe e preencher os valores das propriedades desta classe.

Não há uma única maneira “correta” de modelar um domínio de conhecimento e, portanto, não há uma metodologia que possa ser considerada a melhor (DEVEDŽIĆ, 2006).