• Nenhum resultado encontrado

Tal como referido anteriormente, o processo de desenvolvimento desta ontologia seguiu a metodologia 101. Durante este processo existiu uma atenção especial para que fosse possível a sua reutilização, não só como um todo como também de cada um dos componentes, visto que a

Uma Ontologia para Preferências

ontologia em questão é caracterizada por 3 componentes distintas: perfil de utilizador, modelo multidimensional e preferências de utilização. O software usado no desenvolvimento da ontologia foi o Protégé [9], que oferece um conjunto de funcionalidades bastante versáteis que ajudam no desenvolvimento, verificação e validação da ontologia a desenvolver. A Figura 12 apresenta o ambiente de desenvolvimento de uma ontologia disponibilizado pelo Protégé.

5.2.1 Determinar o âmbito e o domínio da ontologia

A determinação do âmbito e do domínio de uma ontologia foi estabelecido com a resposta às questões apresentadas pela metodologia 101, definida na parte relativa à “Definição do Domínio e do Âmbito”.

5.2.2 Considerar o uso de ontologias existentes

Embora seja aceite que se construam ontologias a partir do zero, o desenvolvimento de novas ontologias não consegue retirar todo o potencial de fontes de conhecimento eventualmente já existentes em domínios considerados relevantes para o problema em causa. A reutilização de ontologias pode ser definida como um processo em que o conhecimento (ontológico) disponível é utilizado como entrada para gerar novas ontologias. É um processo recomendado nas metodologias atuais, sendo considerado um factor chave para desenvolver ontologias de forma rentável e de qualidade. A reutilização de ontologias é um processo que deve reduzir os custos de engenharia, uma vez que evita a reconstrução de ontologias existentes. Como em qualquer outra disciplina de engenharia, a reutilização de alguns componentes implica o custo de pesquisa para os encontrar, de os conseguir perceber e, por fim, de os adaptar a um novo contexto. Por vezes a reutilização tem custos e implica esforços que podem ser mais elevados do que aqueles que estariam envolvidos num processo de construção a partir do zero (Bontas, et al., 2005). Existem muitas fontes de ontologias disponíveis na Internet. Por exemplo:

• Sharable Ontologies Library (Gruber, 2000). • DAML Ontology Library (DAML, 2006b). • Gene Ontology (GO, 1999).

Durante a fase de investigação sobre o desenvolvimento de ontologias, despendemos alguns esforços na procura de ontologias dentro da temática deste trabalho. Com esse processo

Uma Ontologia para Preferências

conseguimos encontrar algumas ontologias relativas ao perfil de um utilizador (Golemati, et al., 2007) e também encontrar alguns trabalhos de modelos de ontologias que expressam as preferências dos utilizadores (Ngoc, et al., 2005). Tal como já referido, no que diz respeito a ontologias que representem um esquema multidimensional, não foram encontrados trabalhos com relevância para o pretendíamos realizar no âmbito desta dissertação.

Neste trabalho foi efectuada uma reutilização quase na sua totalidade de (Golemati, et. al., 2007) em termos do perfil de um utilizador, tem sido realizadas somente algumas pequenas alterações de forma a conseguir a sua integração no caso particular da ontologia que desenvolvemos. Quanto às restantes duas componentes da ontologia desenvolvida, apenas foram retiradas algumas ideias de outros trabalhos, pois o seu conteúdo não se ajustava ao contexto do trabalho que tínhamos em curso.

5.2.3 Enumerar os termos mais importantes

A enumeração dos termos mais importantes numa lista é um processo bastante útil, pois permite ao utilizador obter um primeiro esboço do seu modelo. Esta lista permite ao utilizador aprofundar cada um dos termos individualmente, tornando o processo de definição da ontologia mais rápido e eficaz. Depois, o estabelecimento das conexões entre as classes torna-se mais simples, no caso de se utilizar apenas as classes mais importantes. Mas, mesmo assim, é uma ajuda importante. A título de exemplo, numa ontologia para vinhos:

• Vinho, Uva, Adega, Localização.

• Cor do Vinho, Corpo do Vinho, Sabor do Vinho, Teor de Açúcar. • Vinho Branco, Vinho Tinto, Vinho Rosé.

Na ontologia de preferências, termos como ‘Pessoa’, ‘Preferência’ e ‘Cubo OLAP’ são aqueles que mais se evidenciam. A especificação dos restantes termos passou por pegar em cada um destes e fazer o seu detalhe. Isto é ‘Actividades’, ‘Interesses’ e ‘Skills’ são alguns termos importantes na definição do perfil de utilizador.

Uma Ontologia para Preferências 5.2.4 Determinar as classes e as hierarquias de classes

A abordagem utilizada no desenvolvimento da hierarquia de classes foi claramente uma abordagem de cima para baixo (top-down), que de acordo com o domínio em questão pareceu ser a mais indicada. Uma classe resulta de um conceito para um determinado domínio é um conjunto de elementos com propriedades similares, por exemplo:

• Uma classe de Vinhos. • Uma classe de Adegas. • Uma classe de Vinhos Tintos.

Para o nosso caso, teremos então classes como:

• Uma classe de Pessoas. • Uma classe de Interesses. • Uma classe de Actividades. • Uma classe de Preferências.

Por vezes, determinar as classes e as suas hierarquias torna-se uma tarefa complicada, pois é comum existirem dúvidas entre aquilo que é uma "classe ou instância" e aquilo que é uma "classe ou propriedade". Para isto, a solução passa muito pela sensibilidade de quem está a desenvolver a ontologia e pela verificação de qual é a melhor solução no âmbito da aplicação. É comum, também, por vezes, existir demasiado detalhe na ontologia. Novamente, tudo depende da sensibilidade de quem está a desenvolver em saber parar e ver até que ponto a aplicação precisa ou não desta ou daquela definição. A definição de hierarquias é muito importante não só porque permite uma visualização mais fácil, mas principalmente pela disponibilização da herança de propriedades presente no desenvolvimento de ontologias.

5.2.5 Definir propriedades

Tal como referido anteriormente, as propriedades são os atributos/características de uma classe. No exemplo da classe ‘vinhos’, a ‘idade’, a ‘cor’ ou o ‘volume de álcool’ são características de um vinho. Da mesma forma que no processo anterior, é aconselhável fazer apenas a descrição de

Uma Ontologia para Preferências

características no âmbito da aplicação em causa, já que o contrário pode tornar-se num processo demasiado demorado devido à grande quantidade de características envolvidas.

No nosso caso, podemos dizer que, a definição de propriedades foi muito básica, pois apenas foi efectuado um processo de detalhe de alto nível, não tendo sido realizado nenhum desses processos para as classe. Propriedades como ‘nome’, ‘idade’ e ‘altura’ para a classe ‘pessoa’ não foram definidas, pois numa fase inicial (proof of concept) tal processo não vem acrescentar nada ao modelo, simplesmente porque o domínio não o exige.

5.2.6 Definir restrições aos atributos

Faz parte das boas práticas de desenvolvimento de ontologias a restrição dos valores dos atributos, como também a definição dos seus valores por omissão. Desta forma o processo de instanciação fica mais facilitado, sento assim também mais fácil perceber quais os tipos de valores que cada atributo pode assumir. Quanto à restrição de propriedades, esta é efetuada sobretudo relativamente ao tipo dos atributos (texto, numérico, booleano, instância de classe, etc.), aos valores permitidos, à sua cardinalidade, e à delimitação do intervalo de valores, se o atributo for de reenchimento obrigatório. Tal como a definição de propriedades, a restrição de atributos não foi um processo que teve grande ênfase, uma vez que nesta fase de prova de conceito tal não se justifica.

5.2.7 Criar instâncias

A criação de instâncias é o último passo no desenvolvimento de uma ontologia. Todavia, não é o menos importante. A instanciação de classes permite validar o modelo da ontologia, de forma a verificar se este cumpre ou não com os requisitos estabelecidos. A instanciação da ontologia será apresentada mais tarde no capítulo 6, no qual será demonstrado com exemplos práticos concretos o modelo de ontologia desenvolvido e de seguida discutido.

Documentos relacionados