# Sistemas de Informação Distribuídos/SID na Web/Aplicações que utilizam ontologia
## OntoQualis

É uma ontologia de aplicação cujo alvo envolve conferências científicas, na área de Ciência da Computação, com base no documento QUALIS da CAPES
Este "estudo" tem como objetivo desenvolver um web site para auxiliar na avaliação da qualidade de conferências científicas na área de ciência da computação com base no QUALIS da CAPES.
Nesta seção serão apresentadas algumas características do dominio alvo da ontologia proposta e então será apresentada a proposta da ontologia e os estudos e definições feitas sobre ela.

### Algumas características do domínio alvo

O domínio alvo da ontologia proposta envolve Conferências Científicas, na área da Ciência da Computação, com base no documento QUALIS da CAPES. O principal objetivo deste estudo é (semi) automatizar o processo de classificação de uma conferência, segundo os critérios definidos pelo Comitê de Computação da CAPES.
QUALIS é um instrumento concebido pela Capes para a classificação de veículos de divulgação da produção científica, tecnológica, artística etc, dos programas de pós-graduação, foi implantado em 1998 e desde então vem sendo utilizado para a composição de indicadores fundamentais para a avaliação do referido nível de ensino. O documento da área de ciência da computação apresenta os critérios definidos pelo Comitê de Computação para a elaboração do QUALIS da área. O QUALIS objetiva classificar todos os veículos de publicação relatados pelos Cursos de Pós-Graduação. Na área de computação foram considerados como veículos periódicos e anais de congressos nacionais e internacionais. Cada veículo tem suas regras específicas e podem ser classificados em Tipo A, B, C ou D (não classificado). A cada ano/período, o conjunto de veículos poderá ser ajustado, assim como os critérios de avaliação poderão ser revistos para contemplar a evolução e as particularidades das subáreas da Ciência da Computação.
A classificação de Conferências Internacionais tem como critério principal o índice de impacto divulgado pelo CiteSeer, baseado nos seguintes pontos de corte: conferência tipo "A" – 40%; tipo "B" – 40%; e tipo "C" – 20%. Além disso, conferências do tipo "A" devem ser patrocinadas por Sociedades Científicas Internacionais tais como: IEEE, IFIP, ACM, SIAM, INFORMS, W3C, etc., desde que a publicação seja artigo completo e a avaliação por revisores e a conferência tenha uma tradição de pelo menos 4 edições. Uma Conferência Internacional é considerada do tipo "B" quando satisfaz os critérios acima, mas é considerada recente, i.e., menos de 4 edições. Conferências Internacionais são classificadas como tipo "C" quando o veículo de divulgação dos trabalhos contém artigos completos e avaliação de revisores e são impressos por sociedades científicas como IEEE, ACM, IFIP, SIAM, etc., mas não são patrocinadas por estas sociedades. Também são classificadas como do tipo "C" conferências patrocinadas por estas sociedades científicas, mas com caráter claramente regional.
Workshops e similares associados a Conferências Internacionais QUALIS "A", patrocinados por Sociedades Científicas Internacionais reconhecidas, como as acima citadas, com trabalho completo, recebem classificação internacional "C".
Em Conferências Nacionais, os critérios "percentual de aceitação" e "tradição" são preponderantes na determinação da classificação. O Comitê de Programa deve ser constituído por pesquisadores qualificados, ativos e reconhecidos pela comunidade científica nacional e internacional. O número de submissões deve ser expressivo e o percentual de aceitação em eventos do tipo "A" deve ser inferior a 35%. Índices entre 35% e 55% apontam para eventos tipo "B". A qualidade do evento também depende do apoio de entidades científicas tradicionais. Um evento do tipo "A" deve ter apoio de entidades nacionais e internacionais. O veículo de divulgação dos trabalhos deve possuir ISBN, assim como deve ser de distribuição nacional e internacional. Quanto a tradição do evento, é necessário no mínimo 3 edições, repetidas e regulares, para que o mesmo receba classificação máxima. Workshops e similares associados a Conferências Nacionais QUALIS "A", patrocinadas por sociedades científicas, com trabalho completo, recebem classificação nacional "C".

### Proposta da ontologia ONTOQUALIS

Segundo Souto para a construção da ontologia foi escolhida a metodologia de Noy e McGuinness como o "Método 101". Este método possui sete passos:
* Identificação do domínio e do escopo da ontologia
* Verificação de ontologias existentes
* Enumeração de termos importantes no domínio considerado
* Definição das classes e da hierarquia de classes
* Definição das propriedades das classes
* Definição dos valores das propriedades
* Geração das instâncias
Para a construção do protótipo foi utilizado o Plugin OWL (Web Ontology Language) da ferramenta Protégé. A linguagem escolhida para definir a ontologia foi a OWL-DL (Web Ontology Language), proposta como padrão pela W3C, a qual é baseada em Description Logic (DL), o que garante a computabilidade da ontologia. E por ultimo, para testar a consistência da ontologia foi utilizado o Racer OWL Reasoner o qual checa a taxonomia das classes e a consistência das propriedades e restrições.
A ontologia OntoQualis envolve um amplo e intrincado conjunto de conceitos, relacionamentos e restrições para permitir a classificação QUALIS de uma conferência. A modelagem dos conceitos varia desde situações mais simples tais como o "escopo" da conferência (nacional, internacional ou regional), "Instituição Científica" que apóia o evento e/ou publica o veículo de divulgação (Anais, Proceedings, Livro), etc., até situações mais complexas. Por exemplo, um importante requisito diz respeito à qualificação do "Comitê de Programa" o qual, por sua vez, depende da "qualificação" dos pesquisadores que integram este comitê.
A construção da ontologia OntoQualis está sendo construída em OWL. Uma ontologia OWL consiste de Indivíduos, Propriedades e Classes. Em OWL, os Indivíduos correspondem às instâncias das classes; as Propriedades representam relações (p.ex.: a propriedade "hasAuthor" relaciona indivíduo (s) da classe "Paper" com indivíduo (s) da classe "Person"); as Classes são interpretadas como conjuntos que contém Indivíduos (p.ex.: a classe "Paper" contém indivíduos que são artigos, ou seja, indivíduos que satisfazem os requisitos necessários para pertencerem a esta classe).
Após estudos, foi então criada uma hierarquia de classes como a da figura abaixo.

## SisRec

SisRec é um sistema de recomenção baseado em colaboração desenvolvido pelo grupo de pesquisa em sistemas de informação (GPSI) da Universidade Católica de Pelotas (UCPel). Seu objetivo é efetuar recomendações para seus usuários baseado nos perfis dos mesmos.
Estas recomendações podem ser feitas duas formas, on-line e off-line. A principal é a on-line, onde as recomendações são efetuadas a partir da análise de mensagens trocadas em um chat web privado, onde conceitos de uma ontologia serão identificados automaticamente nos textos das mensagens usando técnicas de text mining. Essas recomendações são personalizadas para cada membro da discussão, apontando conteúdos, artigos, sites Web, mensagens de discussões anteriores ou usuários mais experientes no tema em discussão.
A segunda forma de recomendação do SisRec, seria utilizando as técnicas off-line, presentes através de um módulo chamado Recommender Engine. Tal módulo possui várias técnicas de recomendação de documentos. Entre elas: Documentos mais acessados no sistema; Lista de documentos mais acessados pelos usuários que mais acessaram/leram; Lista de documentos acessados pelos usuários que mais incluíram documentos na Biblioteca Digital; Lista dos documentos lidos pelos usuários mais ativos em um determinado conceito; E lista dos documentos lidos nos últimos 30 dias pelos usuários mais ativos em um determinado conceito.
O idéia do sistema é favorecer a aprendizagem coletiva (nível social ou interpessoal) e, ao mesmo tempo, as aprendizagens personalizadas (nível individual ou intrapessoal).

### Módulo de Text Mining

O método de Descoberta de Conhecimento em textos utilizado no SisRec pode ser considerado como um processo de classificação, em que o documento é associado a conceitos existentes em uma ontologia através da comparação entre as palavras existentes no documento e as palavras existentes na ontologia.
A ontologia utilizada neste sistema será comentada na próxima seção.
O processo de comparação entre as palavras existentes no documento e as palavras existentes em uma ontologia é feito através de dois vetores, um para cada conjunto de palavras. O processo de obtenção do vetor de palavras extraídas do documento se dá através dos seguintes passos:
* Extração das palavras do documento: o sistema extrai todas as palavras existentes no documento sem distinção entre elas e as coloca em um vetor.
* Retirada das \textit{stopwords}: palavras que não possuem relevância na identificação dos conceitos que o documento está relacionado são retiradas do vetor, um exemplo disso são preposições.
* Cálculo da freqüência relativa: o sistema calcula a freqüência relativa (número de vezes que a palavra aparece no documento dividido pelo número total de termos) de cada palavra e associa o valor encontrado a cada palavra.
Com posse desse vetor, é feito então o produto entre os pesos das palavras presentes na ontologia e os pesos das palavras encontradas no documento. Este produto é feito para termos iguais entre os vetores. A soma desses produtos indica os conceitos aos quais o documento é mais similar.
Foi realizado um experimento com o método sobre documentos textuais o método obteve bons resultados em relação ao nível de acertos. Para o experimento, foram selecionados quinze artigos científicos contidos em NEC and State, sendo categorizados os resumos de cada artigo e frases pertencentes aos resumos.
Para o experimento, foram consideradas certas apenas as respostas em que o conceito identificado era equivalente à entrada do diretório definida em NEC and State. A tabela abaixo apresenta os resultados.
| Tipo de Entrada | Porcentagem de Acertos |
| Resumos | 91,66% |
| Frases do Resumo | 60,97% |

### Ontologia de Domínio criada para o sistema

Segundo SOWA, uma ontologia de domínio (domain ontology) é uma descrição de "coisas" que existem ou podem existir em um domínio.
Esta ontologia de domínio é implementada como uma estrutura hierárquica, contendo um conjunto de conceitos. Cada conceito tem associado uma lista de termos e seus respectivos pesos. Os pesos associados aos termos determinam a probabilidade deste termo identificar o conceito em um documento. Cabe ressaltar que um mesmo termo pode aparecer em mais de um conceito com pesos diferentes, e um conceito pode ser identificado por diferentes termos. O método utilizado aqui segue segue o proposto por Loh et al.. Na Figura abaixo tem uma tela do sistema, onde se pode perceber a estrutura da ontologia utilizada no trabalho.

### Biblioteca Digital

Como o sisrec é um sistema de recomendação, faz-se necessário possuir uma biblioteca digital, assim todos os documentos inseridos no sistema ficam disponíveis tanto para a recomendação, quanto para a consulta direta.
O sistema permite que o usuário leia qualquer documento armazenado, assim aproveitando para analisar o comportamento do usuário e gerar recomendações off-line. Essas recomendações podem ser feitas utilizando várias técnicas de recomendação de documentos. Entre elas: Documentos mais acessados no sistema; Lista de documentos mais acessados pelos usuários que mais acessaram/leram; Lista de documentos acessados pelos usuários que mais incluíram documentos na Biblioteca Digital; Lista dos documentos lidos pelos usuários mais ativos em um determinado conceito; E lista dos documentos lidos nos últimos 30 dias pelos usuários mais ativos em um determinado conceito.

### Descoberta do perfil do usuário

O sistema possui duas formar para identificar o perfil dos seus usuários. A primeira delas é efetuada no momento do cadastro no sistema. É solicitado ao que seja submetido no, momento do seu cadastro, o seu currículo Lattes do CNPq no formato xml.
Este método usado para identificação de áreas de interesses a partir de currículos em formato XML utilizado neste sistema consiste em associar o currículo de um indivíduo a algumas áreas de conhecimento previamente definidas. Assim pode-se considerar que é feito um processo de classificação, isto é, é feita a associação de um currículo a conceitos (áreas) previamente definidas em uma ontologia do domínio.
E a segunda forma de identificar o perfil do usuário, é através da análise dos documentos do usuário. Documento estes podem ser: Artigos Científicos, Trabalho de Conclusão, Dissertação de Mestrado, Capítulos de livros, etc.
Existem três formas de analisar os documentos. Uma delas é analisar os títulos dos documentos, outra forma é analisar as palavras-chaves, ou ainda analisar o documento como um todo (todo texto). Porém de acordo com um experimento feito no SisRec a análise de todo o texto do documento gera uma maior precisão.
O processo de identificação de perfil através de documentos, utiliza o módulo de Text Mining apresentado anterior mente nesse capítulo.
O sistema possui uma ferramenta de upload, onde o usuário pode submeter seus documentos. Estes documentos serão inseridos da biblioteca digital do sistema. Então a ferramenta submete o documento no módulo de Text Mining, e esse efetua seus cálculos de TFIDF com a ontologia e gera como saída uma tabela contendo os conceitos com seus determinados pesos representando o documento, como exemplo na tabela abaixo.
| Áreas | Peso |
| InformationSystems | 0.004476 |
| Expert Systems | 0.001745 |
| Fuzzy Logic | 0.001482 |
| Database | 0.001451 |
Como o resultado do processo de Text Mining gera uma tabela com conceitos para cada documento, foi necessário estudar uma maneira para que pudesse ter no final de todo o processo apenas uma tabela com os conceitos do usuário. Esse estudo teve como objetivo decidir como chegar a esse peso final. Somando os pesos, ou fazendo uma média entre eles.
Então foi decidido usar a soma, pois se o usuário publicou cinco artigos sobre um determinado conceito e apenas um sobre outro, a média faria com que os pesos se equivalessem, e isso estaria a certo ponto errado para o uso desse tipo de análise, pois o conceito em que o usuário mais trabalhou não ficaria em evidencia, podendo diminuir o nível de acerto do seu perfil. Por exemplo: Documento 1 - Conceito: Inteligência Artificial peso 0.0001, Documento 2 - Conceito: Inteligência Artificial peso 0.0001, Documento 3 - Conceito: Inteligência Artificial peso 0.0001. Utilizando a média o peso do conceito ficaria 0.0001, porém utilizando a soma o peso do conceito Inteligência Artificial ficaria 0.0003. Dando maior intensidade nesse conceito para tal usuário.

# Links externos

* SisRec: http://gpsi.ucpel.tche.br/sisrec/
* UCPel: http://www.ucpel.tche.br/
* UFRGS: http://www.ufrgs.br/
* CNPq: http://www.cnpq.br/
* Plataforma Lattes: http://lattes.cnpq.br/
* ((en)) Protegé: http://protégé.standford.edu
* ((en)) OWL Web Ontology Language Overview: http://www.w3.org/TR/owl-features/
* ((en)) Citeseer: http://citeseer.ist.psu.edu/
* ((en)) ACM - Association for Computing Machinery: http://www.acm.org/

# Bibliografia

* 1 2 3 4 5 6 Souto, Maria A. M.; Warpechowski, Mariusa; Palazzo, José M. O., (2006). Modelo de Avaliação da Qualidade de Conferências Científicas na Área da Ciência da Computação: uma Abordagem Ontológica. In: WOMSDE - Workshop on Ontologies and Metamodeling Software and Data Engineering; SBBD/SBES, 2006, Florianópolis. Florianópolis: Sociedade Brasileira de Computação, 2006, p. 93-102. ISBN: 85-7669-086-1.
* ↑ Noy, F. N. & McGuinness, D.L. (2001). Ontology Development 101: A Guide to Creating Your First Ontology, Technical Report SMI-2001-0880, Stanford Medical Informatics,Stanford University, Stanford, CA , USA
* ↑ Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P. (eds.). (2003). The Description Logic Handbook. Theory, Implementation and Applications, Cambridge.
* ↑ Horridge, M.; Knublauch, H.; Rector, A.; Stevens, R.; Wroe, C. (2004). A Practical Guide to Building OWL Ontologies Using The Protégé-OWL Plugin and CO-ODE Tools.
* ↑ Nunes, M. F. (2006) Modelagem de Perfis Dinâmicos de Usuários para Suporte a Sistemas de Recomendação. Trabalho de Conclusão — Universidade Católica de Pelotas.
* 1 2 NEC and Penn State. (2005). Computer and Information Science Papers CiteSeer Publications ResearchIndex
* ↑ SOWA, J. F. (2002) “Building, sharing, and merging ontologies”, AAAI Press / MIT press, pages 3-41.
* ↑ Loh, S., Wives, L. K., and de Oliveira, J. P. (2000). Concept-based knowledge discovery in texts extracted from the Web. SIGKDD Explor. Newsl. 2, 1 (Jun. 2000), 29-39. DOI= http://doi.acm.org/10.1145/360402.360414