terça-feira, 8 de outubro de 2013

TUTORIAL PROTÉGÉ - PARTE 7


TUTORIAL PROTÉGÉ - PARTE 7
baseado no guia prático para construir ontologias OWL usando Protégé dos autores Horridge & Knublauch et al

PARTE 7: RELAÇÕES (PROPRIEDADES) FUNCIONAIS INVERSAS

Olá pessoal,

Fiquei um tempo afastada, por causa do trabalho e também por encontar uma coisa que tem me fascinado. Eu andei nadando em outras águas. Descobri a linguagem R e o poder de data analysis. Daqui alguns dias publicarei alguma coisa sobre isso. Acredito que o data analysis possa nos ajudar nos experimentos. Mas vamos falar hoje sobre relações funcional inversa .

O que é propriedade funcional inversa? Primeiro, vamos nos lembrar da relação funcional olhando para os seguintes exemplos:

Relação 1) Jean temNasceudaMãe Peggy
Relação 2) Jean temNaceudaMãe Margaret

Se temNaceudaMãe é uma relação funcional isso indica que Peggy e Margaret são a mesma pessoa. Nesse contexto, Jean pode nascer de apenas 1 mãe. Na relação inversa funcional os exemplos são:

Relação 3) Peggy éMãeDe Jean
Relação 4) Margaret éMãeDe Jean

Perceba que para um único indivídio há dois associados. Esses 2 indivíduos continuam sendo a mesma pessoa neste contexto. Um relação inversa pode ser funcional,  mas o contrário não é válido.



sexta-feira, 15 de março de 2013

Wordnet - bibliotecas

Achei umas bibliotecas interessantes para acessar a Wordnet  por meio de programação Java:

1) http://projects.csail.mit.edu/jwi/

2) http://sourceforge.net/apps/mediawiki/jwordnet/index.php?title=Main_Page

3) http://yawni.sourceforge.net/wiki/index.php

terça-feira, 29 de janeiro de 2013

Qual abordagem de aprendizagem de máquina usar?


Existem várias abordagens de aprendizagem de máquina, mas qual devo usar por exemplo para meu sistema question answering??  O grafo ilustrado na Figura 1 pode responder a essa pergunta.




ACHADO

Primeiramente, desculpe por tantos dias sem postar nada. Estou trabalhando em um projeto e continuarei sem tempo para postar.


Só que nessas minha andanças,  achei um plugin para o PROTÉGÉ muito interessante:

http://protege.stanford.edu/plugins/psmtab/PSMTab.html

Esse plugin apoia a construção de sistemas baseados em conhecimento a partir de componentes reutilizáveis de conhecimento, conhecidos como PSM (Problem-Solving Methods). PSMs são algoritmos genéricos que codificam estratégias independentes de domínio para realizar tarefas cognitivas comuns (exemplo: classificação diagnóstico, projeto, etc.) pelo processamento de conhecimento do domínio.

sábado, 12 de janeiro de 2013

TUTORIAL PROTÉGÉ - PARTE 6


TUTORIAL PROTÉGÉ - PARTE 6

baseado no guia prático para construir ontologias OWL usando Protégé dos autores Horridge & Knublauch et al

PARTE 6: RELAÇÕES (PROPRIEDADES) FUNCIONAIS


Se a propriedade é funcional para um determinado indivíduo, pode existir mais de 1 indivíduo que é relacionado ao indivíduo por meio da propriedade. A Figura 1 mostra um exemplo de propriedade funcional temNasceuDaMãe - Alguém tem apenas 1 mãe de sangue. Se dizemos que o indivíduo Jean temNasceuDaMãe Peggy e também dizemos Jean temNasceuDaMãe Margaret, então  temNasceuDaMãe é uma propriedade funcional, podemos inferir que Peggy e Margaret são os mesmos indivíduos (É isso que uma máquina de inferência, como o Pellet, gera). Entretanto deve ser observado que se Peggy e Margaret foram explicitamente indicados para ser dois indivíduos diferentes então as sentenças acima levaria a uma inconsistência.

Figura 1

As propriedades funcionais são também conhecidas como propriedades de valores únicos ou características.

Próximo posting do tutorial será propriedades Propriedade Funcionais Inversas. Até a próxima.

sexta-feira, 4 de janeiro de 2013

Uma nova abordagem para um sistema question-answering

baseado no artigo Template-based Question Answering over RDF Data dos autores Unger et al.


Uma nova abordagem para um sistema 

question-answering





O artigo tema desse post é muito rico, por isso vale a pena depois baixar e ler por inteiro. Vou tentar resumi-lo. A maioria dos sistemas de question-answering que utilizam RDF (http://www.w3.org/RDF/) mapeiam a pergunta (linguagem natural) em uma representação de triplas RDF . Dessa forma obtém-se a resposta à pergunta por meio de um consulta a uma base de dados RDF. Alguns dos famosos sistemas que usam essa solução: Aqualog, PowerAqua, NLP-Reduce, FREyA, etc. Será que essa solução funciona em todos os casos?


Essas abordagens são muito boas para os casos em que o significado da consulta pode ser recuperado facilmente.Em muitos outros casos a estrutura semântica original da pergunta não pode ser fielmente capturada usando triplas, como por exemplo a pergunta: "Qual a cidade que tem mais de 3 universidades?". Consultas que usam agregação, filtros com quantidade específicas e intervalares não são fielmente capturados usando triplas.

A proposta desse sistema é gerar templates SPARQL que se aproximem da semântica da pergunta. Por exemplo: Quantos filmes Leonardo Dicaprio estrelou? Pode ser visto na figura 1 um dos templates proposto para a pergunta.



Figura 1




Para chegar no template SPARQL, alguns processos de PLN foram realizados. A arquitetura geral do sistema está ilustrada na Figura 2:

Figura 2



Nesse mesmo artigo fala sobre BOotstrapping linked datA.Você já ouviu falar sobre isso??? Vou preparar um posting sobre isso. até a próxima.

domingo, 23 de dezembro de 2012

Case-based reasoning Part IV


O texto é basedo no tutorial:
* Recio-Garcia , Díaz-Agudo , González-Calero (2008).
*Learning in Non-Stationary Environments - Methods and Applications (2012)
* Material de aula de Inteligência Artificial - Hugo Pedro Proença, (2007/2008)

Case-based reasoning (CBR) - Parte IV

Chegamos na parte prática desse tutorial. Usando a biblioteca JColibri  e a ferramenta eclipse INDIGO vamos entender um pouco mais como funciona CBR.

Para ilustrar as capacidades da biblioteca, nós implementaremos uma clássica aplicação CBR para determinar se devemos jogar tênis hoje conforme as experiências anteriores.

Antes de iniciar o desenvolvimento desse sistema inteligente, é necessário instalar a biblioteca JColibri no eclipse. Para fazer isso vá no menu help>>Install New Software. A seguinte janela(Figura 1) deve abrir:

Figura 1
Digite o endereço http://colibricbrstudio.net/update na caixa de texto work with. Selecione o item "COLIBRIStudio" e clique em next até instalar.

Para habilitar a visuliazação do Jcolibri no eclipse, vá no menu Windows>>Open Perspective>> Other. Selecione a opção COLIBRI. Agora podemos dar início ao desenvolvimento!

Vamos detalhar em passos o desenvolvimento:

1)  Vá no menu File>>New>> New k-NN CBR Project. A tela seguinte deve ser aberta (Figura 2):

Figura 2

Vamos dar uma pausa para entender o que é "k-NN". k-NN é um método de aprendizagem supervisionada.
[Sayed-Mouchaweh,2012].  O kNN segue a seguinte abordagem, para classificar x =(x1, x2, ...xn) encontra-se os k exemplos de treino mais próximos de "x", e o classifica com a classe moda nesses exemplos. 

Vejamos o seguinte exemplo que contém 3 classes, sendo necessário classificar "xu". … Usando k=5 , encontramos 4 dos vizinhos mais próximos na classe 1 e 1 exemplo na classe 3.… Atribui-se a observação xu à classe 1, uma que esta é a classe predominante. A Figura 3 ilustra esse exemplo:


Figura 3

Usando o kNN o aplicativo CBR deve tomar a decisão se joga tênis ou não. Deve-se observar que o algoritmo kNN não é muito eficiente para os casos em que o tamanho da base de treino é muito importante e k não é muito bem escolhido. [Sayed-Mouchaweh,2012]

No próximo tutorial de CBR continuamos o desenvolvimento do sistema.