Sei sulla pagina 1di 9

OWL no Desenvolvimento de uma Ontologia para um

Sistema de Inteligência Competitiva


Pollyane de Almeida Lustosa1, Darlene Teixeira2, Parcilene Fernandes de Brito1
1
Curso de Sistemas de Informação – Centro Universitário Luterano de Palmas
(CEULP/ULBRA)
Caixa Postal 160 – 77054-970 – Palmas – TO – Brasil
2
Ciência da Informação – Pontifícia Universidade Católica de Campinas (PUC-
Campinas)
CEP – 13045-270 – Campinas – SP – Brasil
{pfb,pollyane}@ulbra-to.br, darlene@puccampinas.edu.br

Abstract. This paper demonstrates the development of ontology for


Competitive Intelligence System. For this, the Higher Education Institution
domain was used. After, domain understanding and definition of elements that
need to be analyzed by competitive intelligence nucleus, it was possible to
define the ontology elements. To construct the ontology was used OWL
language because it has a full possibility for definition of complex classes
(classes that can provide more semantics to the structure).

Resumo. Este artigo tem como objetivo demonstrar o desenvolvimento de uma


ontologia para um Sistema de Inteligência Competitiva. Para isso, utilizou-se
como domínio “Instituição de Ensino Superior”. Com o entendimento do
domínio e a definição dos pontos a serem analisados pelo núcleo de
inteligência competitiva, foi possível definir os elementos da ontologia. Para a
construção da ontologia foi utilizada a linguagem OWL, por esta apresentar
uma ampla possibilidade de definição de classes complexas (classes que
podem fornecer mais semântica à estrutura).

1. Introdução
A SCIP, Society of Competitive Intelligence Professionals, define Inteligência
Competitiva (IC) como “um programa ético e sistemático de coleta, análise e
gerenciamento de informações externas que podem afetar os planos, decisões e
operações na empresa” (www.scip.org). Suas principais metas são [Combs e Moorhead
1993]: detectar ameaças competitivas, eliminar ou minimizar surpresas, acrescentar
vantagem competitiva minimizando o tempo de reação e encontrar novas oportunidades.
Seguindo essas definições, percebe-se que o processo de IC tem como intuito a
observação do contexto em que a organização está inserida. A partir do estudo
sistemático dos diversos atores que compõem um determinado meio é possível um
melhor entendimento de qual caminho seguir, dado o universo de bifurcações que
constituem o mercado.

VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004


CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
Esse trabalho tem como objetivo a definição de uma ontologia que permita ao
núcleo de IC apresentar o resultado da coleta e sistematização das informações relativas
a uma empresa e seus concorrentes. Nessa pesquisa, trabalhou-se com o domínio
“Instituição de Ensino Superior” e a primeira etapa foi a definição dos pontos que
seriam observados pelo núcleo de IC. Definidos esses pontos, foi possível a criação da
ontologia, com a especificação dos seus conceitos e relacionamentos.
A linguagem escolhida para a definição da ontologia proposta neste trabalho foi
a OWL (Web Ontology Language). Isso porque essa linguagem facilita à máquina uma
maior legibilidade ao conteúdo da Web que aquelas suportadas pelo RDF [RDF 2000] e
RDF Schema [RDFS 2004], por fornecer um vocabulário adicional juntamente com uma
semântica formal.

2. Ontologia
O termo ontologia é proveniente da Filosofia. Na área da Informática, mais
precisamente em Inteligência Artificial, ela é utilizada como “a especificação explícita
de uma conceitualização” [Gruber 1999]. Essa conceitualização refere-se ao conjunto de
conceitos, relações, objetos e restrições que são definidos para um modelo semântico de
algum domínio de interesse. As ontologias expressam o formalismo dos conceitos e das
relações acerca de um domínio, de modo que possa viabilizar a inferência, pela
máquina, da semântica aos significados das informações.
Uma ontologia define os termos usados para descrever e representar uma área de
conhecimento [OWL 2004a]. Ela codifica o conhecimento do domínio e também o
conhecimento que se entende do domínio, tornando-o um conhecimento reutilizável. A
ontologia formaliza o conhecimento através da utilização de cinco componentes [Noy
2001]:
Conceitos que são a representação de algo, ou de qualquer coisa, acerca do
domínio em questão. As propriedades de um conceito são denominadas de
atributos. Por exemplo, um conceito poderia ser uma pessoa, tendo como
atributo a idade.
Relacionamentos que são as integrações entre os conceitos do domínio. Nessas
relações, podem-se definir as cardinalidades. Por exemplo, pode-se ter um
relacionamento entre pessoa e universidade, através da relação “estuda em”.
Propriedades das classes, e seus valores permitidos.
Axiomas que representam as sentenças que irão restringir a interpretação dos
conceitos e relações. Eles modelam sentenças que são sempre verdadeiras. Por
exemplo, define-se que a idade de uma pessoa corresponde ao ano atual
subtraindo a data de seu nascimento.
Instâncias que representam os elementos de uma ontologia, ou seja, são as
representações dos conceitos e relações que foram estabelecidas pela ontologia.
Assim, pode-se dizer que a ontologia visa (em alguns aspectos) desenvolver um
conjunto de regras que possibilitem a abstração do significado semântico das
informações disponibilizadas na Web. Resumidamente, a utilização de ontologias
VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004
CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
oferece vantagens como: possibilitar o compartilhamento e a interoperabilidade do
conhecimento entre os domínios; estruturar o domínio de forma que se permita sua
compreensão com maior clareza e objetividade; permitir a reutilização de conceitos em
domínios.

3. Web Ontology Language


A OWL faz parte da crescente lista de recomendações da W3C relacionadas ao
desenvolvimento da Web Semântica [OWL 2004]. Esta linguagem oferece mecanismos
para representar explicitamente o significado dos termos e os relacionamentos entre
estes termos [OWL 2004]. É uma linguagem para ontologias Web desenvolvida para a
utilização em aplicações que necessitam processar o conteúdo de informações em vez de
somente apresentá-las aos usuários, ou seja, ela é pretendida para ser utilizada quando
informações contidas em documentos precisam ser processadas por aplicações, ao
contrário do que ocorre quando estes conteúdos somente são apresentados aos humanos.
Desta forma, pode ser entendida como uma linguagem para definição e instanciação de
ontologias Web, sendo que estas devem incluir descrições de classes, propriedades e
suas instâncias.
A utilização de ontologias depende da capacidade em raciocinar sobre as classes,
as instâncias, objetos, indivíduos. Para que isto ocorra de maneira útil, necessita-se de
um mecanismo para a descrição de classes e suas propriedades.

3.1. Classes
O mais básico dos conceitos acerca de um domínio corresponde às classes, que são as
raízes das árvores de taxonomia. Cada objeto na linguagem OWL é um membro da
classe owl:Thing por padrão, a qual já é predefinida na OWL. Dessa forma, cada classe
definida pelo usuário é implicitamente uma subclasse de owl:Thing. É como se ela
fosse a classe raiz de todas as outras. Já as classes específicas de um domínio são
declaradas simplesmente através de nomeações às mesmas. Por exemplo, observam-se
três classes referentes a uma ontologia de domínio “Universidade” (a Figura 1 apresenta
um exemplo):

Figura 1. Tem-se que as classes são declaradas através do elemento owl:Class


e seus nomes são identificados pelo atributo rdf:ID que é semelhante ao
atributo ID do XML, servindo como identificador do recurso

Outro construtor fundamental na taxonomia para classes é a representação de


suas subclasses, ou seja, estar relacionando uma classe mais específica a uma classe
mais genérica. Dessa maneira, se uma classe A é subclasse de B, então toda instância de
A também é uma instância de B. A declaração de subclasses é realizada através do
elemento rdfs:subClassOf. Esta tag possibilita, ainda, uma relação transitiva: se A é
subclasse de B e B é subclasse de C, então A é subclasse de C.

VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004


CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
3.2. Propriedades
As propriedades descrevem características e relacionamentos entre classes. A
propriedade é uma relação binária [OWL 2003]. Quando se define uma propriedade, há
diversas formas de restringir a sua relação. O domínio e o nível podem ser
especificados. A propriedade pode ser definida como uma especialização
(subpropriedade) de outra propriedade existente. Em OWL existem duas classes para
especificar propriedades: owl:ObjectProperty - utilizada para relacionar uma classe
com outra classe; owl:DatatypeProperty - utilizada para especificar um tipo de dado,
uma expressão literal ou um valor. As propriedades podem representar características
como sendo TransitiveProperty (transitivas), SymmetricProperty (simétricas),
FunctionalProperty (funcionais), inverseOf (inversas),
inverseFunctionalProperty (inversas e funcionais).

É possível refinar ainda mais essas propriedades em contextos específicos [OWL


2003]. Isto é realizado através das restrições sobre as propriedades com o elemento
owl:Restriction, sendo que o elemento owl:onProperty indica qual a propriedade
que está sendo restrita. Estas restrições podem ser definidas através de: cardinality
(cardi-nalidade), maxCardinality (cardinalidade máxima), minCardinality
(cardinalidade mínima), allValuesFrom (todos os valores de), someValuesFrom
(alguns valores de) e hasValue (classes definidas por restrições de valor).
A OWL fornece um conjunto de construtores adicionais com os quais é possível
dar mais forma às classes, impondo-lhes mais definições [OWL 2003]. Suporta, assim,
um conjunto básico de operações: intersecção (owl:intersectionOf), união
(owl:unionOf) e complemento (owl:complementOf). Pode-se, ainda, indicar extensões
de classes através do elemento oneOf e afirmar que extensões de classes são disjuntas
(disjointWith). Extensões de classes em OWL referem-se aos conjuntos de indivíduos
que são membros da classe.
A propriedade equivalentClass indica que duas classes têm precisamente as
mesmas instâncias. A diferença entre usar owl:equivalentClass e rdfs:subClassOf
é que, na primeira, uma condição deve ser suficiente e necessária, enquanto na segunda,
apenas necessária numa dada situação. Por exemplo, tem-se que, com subClassOf, as
coisas localizadas no Estado de São Paulo não são necessariamente coisas de São Paulo;
apenas o inverso é verdadeiro. No entanto, na utilização de equivalentClass, se algo
foi localizado em São Paulo, já é necessariamente uma coisa de São Paulo. Na Tabela 1,
é demonstrada a diferença entre duas situações.
Tabela 1. Representação de SubClassOf e EquivalentClass utilizando a Lógica
de Predicados
Relação Implicação
subClassOf ∀x (Tx → Ex)
equivalentClass ∀x ((Tx → Ex) ∧ (Ex → Tx))

4. Definição da ontologia para o Sistema de Inteligência Competitiva


Um Sistema de Inteligência Competitiva (SIC) é definido a partir de cinco etapas
[Miller 2002], [Gomes e Braga 2001], [Herring 2002]: identificação das necessidades de
informação; coleta das informações; análise das informações; disseminação da
VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004
CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
inteligência para os tomadores de decisão e avaliação dos produtos e processos de
inteligência.
O objetivo desse trabalho é a definição de uma estrutura para os documentos que
serão analisados durante o processo de tomada de decisão dos gestores da organização.
Assim, quanto melhor for estruturado o domínio, mais facilmente será possível ter
acesso às informações relevantes na fase de análise dos dados. O estudo de caso
utilizado foi “Instituições de Ensino Superior” (IES) privadas. Como há um diferencial
significativo entre indústrias ou empresas e instituições de ensino, foi necessário definir
com clareza qual seria o foco de análise do núcleo de IC.
Instituições de ensino objetivam, na maioria das vezes, um trabalho integrado
em torno do tripé ensino-pesquisa-extensão. Dessa forma, observou-se que qualquer
análise de uma organização com tal característica deveria ter como foco principal essa
premissa básica. Definiu-se, assim, que, diferentemente de outras empresas ou
indústrias, o núcleo de IC deve ter como alicerce a observação desses pontos. E, o
entendimento dos gargalos, das potencialidades e das estratégias que teriam mais
possibilidade de êxito se dá a partir da coleta das informações sobre o andamento da
pesquisa, da extensão e do ensino nas instituições pertencentes a um dado espaço
geográfico.
Definidas quais são as fontes de informações para o domínio proposto, passa-se
a segunda fase do trabalho, ou seja, como essa informação será organizada. Na
construção de uma ontologia para a integração do resultado obtido a partir da coleta dos
dados, é necessário o entendimento de como as informações serão estruturadas, de modo
a permitir consultas eficientes e, em especial, um agrupamento que possibilite o
entendimento mais profundo dessas informações. Só assim será possível passar para a
fase de tomada de decisão. Sendo assim, é mister que a equipe de IC disponibilize o
material coletado da forma mais eficiente possível, pois assim o trabalho desenvolvido
terá credibilidade perante os gestores da organização. A seguir são apresentadas as
etapas da construção da ontologia em OWL a partir da utilização do domínio IES.

4.1. Definição das classes, propriedades e relacionamentos


O desenvolvimento de uma ontologia é um processo iterativo [Protégé 2003]. Para a
modelagem de uma ontologia, é necessária a definição do escopo, para que sejam
identificadas suas classes e propriedades, bem como os relacionamentos entre elas e,
então, possa a partir dessas definições, criar as instâncias relativas à ontologia modelada.
A Figura 2 apresenta a estrutura hierárquica de classes e subclasses constante no
domínio modelado, representadas pelo símbolo . Os slots são representados pelo
símbolo , sendo que os quadradinhos sombreados referenciam os slots atribuídos
diretamente à classe e os não sombreados indicam os slots que foram herdados de sua
superclasse.

VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004


CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
Figura 2. O desenvolvimento de uma ontologia no Protégé [Protégé 2000]
consiste basicamente na definição de um esquema com as classes (class), as
subclasses (subclass), propriedades e relações (slots) referentes ao domínio
que se deseja modelar, neste caso, o domínio é o SIC de uma IES.

Para o desenvolvimento desta ontologia foi utilizada a ferramenta Protégé 2.0


[Protégé 2000]. Ela foi escolhida por ser muito bem citada nos materiais relacionados ao
tema e por possuir um pluglin que permite a construção de ontologias utilizando a
linguagem OWL. Esse ambiente para criação de ontologias é um software free,
desenvolvido pela Universidade de Stanford.
<owl:Class rdf:ID="Discente">
<rdfs:subClassOf>
<owl:Restriction>
<owl:allValuesFrom>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#DiscenteIngresso"/>
<owl:Class rdf:about="#DiscenteEgresso"/>
</owl:unionOf>
</owl:Class>
</owl:allValuesFrom>
<owl:onProperty>
<owl:ObjectProperty rdf:ID="ListaGeral"/>
</owl:onProperty>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf rdf:resource="#IC"/>
</owl:Class>

Figura 3. Classe “Discente”

VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004


CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
Para a exemplificação das classes, será trabalhada a classe “DiscenteEgresso”,
subclasse da classe “Discente” (Figura 3). Assim, é possível observar os
relacionamentos existentes entre as diversas informações que serão tratadas. De acordo
com a análise do que seria relevante saber sobre egressos, foram definidos os recursos.
A classe egresso (um dos recursos) tem três subclasses (Figura 4):

<owl:Class rdf:ID="Academico">
<rdfs:subClassOf rdf:resource="#DiscenteEgresso"/>
</owl:Class>
<owl:Class rdf:ID="Funcionario">
<rdfs:subClassOf>
<owl:Class rdf:about="#DiscenteEgresso"/>
</rdfs:subClassOf>
</owl:Class>
<owl:Class rdf:ID="ProfissionalLiberal">
<rdfs:subClassOf>
<owl:Class rdf:about="#DiscenteEgresso"/>
</rdfs:subClassOf>
</owl:Class>

Figura 4. Subclasses da classe “DiscenteEgresso”

Acadêmico: representa a classe de egressos que já fizeram ou estão em processo


de mestrado e doutorado. Cabe ressaltar que esse item possui três propriedades,
ou seja, o tipo (que verifica se o egresso está exercendo a função de professor, ou
é estudante de algum programa de formação), o nível (mestrado, doutorado) e a
área (Ciências da Computação, Economia, etc.) (Figura 5).
<owl:DatatypeProperty rdf:ID="Tipo">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Evento"/>
<owl:Class rdf:about="#Academico"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="Nivel">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="#Academico"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="Area">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#CursoExtensao"/>
<owl:Class rdf:about="#Academico"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
</owl:DatatypeProperty>

Figura 5. Definição das propriedades da classe “Academico”

Profissional liberal: aqueles que possuem sua própria empresa. Esse item tem a
propriedade “porte-empresa”, para identificar, em parte, a abrangência das
atividades realizadas.
Funcionário: relativo a classe de egressos que são funcionários de alguma
empresa ou instituição. Esse recurso apresenta duas propriedades, “cargo” e
VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004
CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
“tipo-iniciativa”, para identificar, por exemplo, se um aluno exerce um cargo de
gerência, ou de analista de sistemas, se trabalha numa instituição do Governo ou
numa empresa da iniciativa privada.

6. Considerações Finais
O trabalho apresentado nesse artigo discorreu sobre algumas etapas do desenvolvimento
de uma ontologia para a organização das informações coletadas pelo núcleo de IC de
uma IES. Para isso, observaram-se os seguintes pontos: o domínio, ou seja, o universo
que seria trabalhado; a sistematização das informações em grupos distintos; o
conhecimento que pode ser gerado a partir das informações coletadas. O trabalho
desenvolvido, por seu caráter multidisciplinar, buscou relacionar áreas distintas com o
intuito de alcançar melhores resultados no desenvolvimento da ontologia.
A utilização da linguagem OWL na construção da ontologia possibilitou uma
sistematização mais contextualizada do domínio. Com isso, os dados armazenados
podem ser entendidos como um conjunto de informações que possuem similaridades
num dado contexto e, assim, é possível abstrair, de uma forma mais dinâmica,
conhecimentos a partir das informações.

Referências
Combs, Richard E.; Moorhead, Jonh D. “The competitive intelligence handbook”.
Chigaco: Scarecrow Press, 1993.
Gomes, E. Braga, F. “Inteligência Competitiva: como transformar informação em um
negócio lucrativo”. Rio de Janeiro: Campus, 2001.
Gruber, T. “What is an Ontology?”. Disponível em: <http://www-
ksl.stanford.edu/kst/what-is-an-ontology.html>. Acesso em: 04/12/2003.
Herring, J. “Tópicos fundamentais de inteligência: processo para identificação e
definição de necessidades de inteligência”. In: Prescott J.E., Miller, S.H. Inteligência
Competitiva na Prática. Rio de Janeiro: Campus, 2002.
Noy, Natalya F., Mcguinness, Deborah L. Ontology Development 101: A Guide to
Creating Your First Ontology. Stanford University, Stanford, 2001. Disponível em:
<http://www.ksl.stanford.edu/people/dlm/papers/ontology101/ontology101-noy-
mcguinness.html>. Acesso em: 05/07/2004.
OWL Web Ontology Language Guide. 2003. Disponível em:
<http://www.w3.org/TR/2003/CR-owl-guide-20030818/>. Acesso em: 07/08/2004.
OWL Web Ontology Language Overview. 2004. Disponível em:
<http://www.w3.org/TR/owl-features/>. Acesso em: 08/08/2004.
OWL Web Ontology Language Use Cases and Requirements. 2004a. Disponível em:
<http://www.w3.org/TR/2004/REC-webont-req-20040210/#onto-def>. Acesso em:
05/08/2004.
Protégé. 2000. Disponível em: <http://protege.stanford.edu>. Acesso em: 14/06/2004.

VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004


CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO
RDF Resource Description Framework Schema Specification 1.0. 2000. Disponível em:
<http://www.w3.org/TR/2000/CR-rdf-schema-20000327>. Acesso em: 30/07/2004.
RDFS RDF Vocabulary Description Language 1.0: RDF Schema. 2004. Disponível em:
<http://www.w3.org/TR/rdf-schema/>. Acesso em: 10/07/2004.

VI Encontro de Estudantes de Informática do Estado do Tocantins – ENCOINFO 2004 – 4 e 5 de novembro de 2004


CEULP/ULBRA – Curso de Sistemas de Informação – Palmas – TO

Potrebbero piacerti anche