A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Como fazer ? Escrever termos, Usar termos em frases,

Apresentações semelhantes


Apresentação em tema: "Como fazer ? Escrever termos, Usar termos em frases,"— Transcrição da apresentação:

1

2 Como fazer ? Escrever termos, Usar termos em frases,
Fazer afirmações usando os termos, Montar classificações dos termos, Criar regras de geração de novas afirmações, provar a veracidade de novas afirmações, Saber quem afirmou, classificou,fez regras e provou ter confiança nas afirmações.

3 Confiança Provar Regras Quem Classificações Afirmações Frases Escrever
Escrever termos, usar termos em frases, Fazer afirmações usando os termos, Montar classificações dos termos, Criar regras de geração de novas afirmações, provar a veracidade de novas afirmações, Saber quem afirmou, classificou,fez regras e provou ter confiança nas afirmações Confiança Provar Regras Quem Classificações Afirmações Frases Escrever Termos

4 OWL baseado em Description Logic; existem coisas que DL não pode expresar
Exemplo: Regras de Horn: (P1 ∧ P2 ∧ …) → C

5 Muitos sistemas baseados em regras prescisam intercambiar regras
Existe portanto um novo tipo de dado na web para ser trocado (regras)

6 Camada Lógica Esta camada permite, através de regras consultar paginas, fazer filtragem de conteúdos, concluir sobre fatos. Quais os professores que trabalham no mesmo departamento do Prof. Gauthier? Seria necessário acessar páginas de professores onde o local de trabalho seja igual ao do prof. Gauthier. Quais os colegas de turma de graduação do reitor da ufsc? Seria necessário criar regras que definam “colega de turma” acessar uma ontologia sobre universidades, localizar o significado de reitor, localizar a instÂncia.....

7 Algumas linguagens RuleML F-Logic SWRL

8 RuleML ''The discount for a customer buying a product is 5 percent if
the customer is premium and the product is regular.''

9 Implies head body Atom And Atom Atom customer product 5.0 discount Rel Var Var Ind premium customer regular product Rel Var Rel Var

10 <Implies> <head> <Atom> <Rel>discount</Rel> <Var>customer</Var> <Var>product</Var> <Ind>5.0</Ind> </Atom> </head> <body> <And> <Rel>premium</Rel> <Rel>regular</Rel> </And> </body> </Implies>

11 SWRL: A Semantic Web Rule Language Combining OWL and RuleML

12 Regras Uma regra contem: Antecedente = corpo Conseqüente = cabeça

13 Exemplo de regra Levo guarda-chuva e uso galocha
Meteorologia prevê chuva; o céu esta nublado;

14 tanto corpo como cabeça
conjunções positivas de átomos (?) não aceita de negação ou disjunção informalmente se todos os átomos no corpo(antecedente) são verdadeiros então todos os átomos na cabeça (conseqüente) devem ser verdadeiros

15 Regras SWRL são escritas em termos de átomos
Átomos podem ser: C(x), P(x,y), sameAs(x,y) ou differentFrom(x,y), builtIn(r,x,...) C -classe OWL, P - propriedades OWL x e y - instâncias OWL ou valores de dados em OWL

16 builtIn(r,x,...) r - relação entre os argumentos
built-in é uma relação (predicado) r que toma vários argumentos (variáveis) e tem o valor verdadeiro se os argumentos satisfazem a relação r swrlb:equal (x,y) é verdadeiro se e somente se o primeiro argumento e o segundo são os mesmos. .

17 Exemplo Uma regra SWRL dizendo que uma “pessoa” com um “gêmeo” do sexo “masculino” tem um “irmão” requer os conceitos em OWL de: pessoa, gêmeo masculino, irmão

18 Em OWL (intuitivamente)
Pessoa -> Classe Masculino -> subclasse Homem de Pessoa, Gêmeo -> propriedade tem_gêmeo de Pessoa Irmão -> propriedade tem_irmão Pessoa Pessoa(?p) ^ tem_gêmeo(?p,?s) ^ Homem(?s) -> tem_irmão (?p,?s) Executar a regra tem o efeito de colocar a propriedade tem_irmão para todas as intancias de pessoas OWL com um ou mais gêmeos homens referindo-se a eles

19 Regra que diz que uma Pessoa(classe) que tem seu próprio carro (propriedade) deve se classificada como Motorista(classe) Pessoa(?p) ^ tem_carro(?p, true) -> Motorista (?p)  

20 Todas as instâncias de Pessoa que tenham carro serão classificadas também como instancia de Motorista

21 Instancias nomeadas em uma ontologia podem também ser referenciadas diretamente em regras SWRL
Para uma instância de pessoa chamada Carlos: Pessoa(Carlos) ^ tem_carro(Carlos, true) -> Motorista (Carlos)

22 Regras com vários átomos conseqüentes
podem ser transformadas em múltiplas regras cada uma com um único átomo conseqüente

23 R1: Meteorologia prevê chuva e o céu esta nublado -> Levo guarda-chuva e uso galocha
R1.2: Meteorologia prevê chuva e o céu esta nublado -> uso galocha

24 Representação informal
As representações anteriores são informais para permitir uma representação que possa ser lida pelos seres humanos Existe uma sintaxe abstrata (abstract syntax) especificada por meio de uma versão de Extended BNF

25 rule ::= 'Implies(' [ URIreference ] { annotation } antecedent consequent ')‘
antecedent ::= 'Antecedent(' { atom } ')‘ consequent ::= 'Consequent(' { atom } ')'

26 atom ::= description '(' i-object ')'
| dataRange '(' d-object ')' | individualvaluedPropertyID '(' i-object i-object ')' | datavaluedPropertyID '(' i-object d-object ')' | sameAs '(' i-object i-object ')' | differentFrom '(' i-object i-object ')' | builtIn '(' builtinID { d-object } ')' builtinID ::= URIreference

27 i-object ::= i-variable | individualID
d-object ::= d-variable | dataLiteral i-variable ::= 'I-variable(' URIreference ')' d-variable ::= 'D-variable(' URIreference ')'

28 Example (w3c...) A simple use of these rules would be to assert that the combination of the hasParent and hasBrother properties implies the hasUncle property. Informally, this rule could be written as: hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3) ⇒ hasUncle(?x1,?x3)

29 abstract syntax : Implies( Antecedent(
hasParent(I-variable(x1) I-variable(x2)) hasBrother(I-variable(x2) I-variable(x3)) ) Consequent( hasUncle(I-variable(x1) I- variable(x3))

30 Sintaxe concreta em XML
Combinação de OWL Web Ontology Language XML Presentation Syntax [OWL XML] com RuleML XML syntax [RuleML].

31

32 Exemplos Iniciar projeto novo no Protégé
Selecionar Project->Configure->SWRL Criar ontologia de Familia Classes: Pessoa, Homem,Mulher, Pai, Tio, Irmão, Irmã, Tia, Neto

33 Criar ObjectProperty de Pessoa:
tem_filhos, tem_irmão, tem_irmã, tem_tio, tem_tia tem_Neto

34 Criar a seguinte Família
Instâncias de Mulher Ana Instâncias de Homem Carlos, Pedro, João, João Raimundo Colocar valores na propriedade tem_filhos Carlos - tem_filhos(Ana, Pedro, João) João - tem_filhos(João Raimundo)

35 Especificar allDiferent
Em OWL instâncias com nomes ( propeiedade “name”) diferentes podem representar o mesmo objeto homem_14 (tem_nome Carlos) homem_15 (tem_nome Carlos) No Protégé: OWL->Edit owl:AllDiferent

36

37 Criar regras para Irmã Pessoa(?x) ∧ tem_filhos(?x, ?y) ∧ tem_filhos(?x, ?z) ∧ Mulher(?z) ∧ → tem_irma(?y, ?z) (ERRADA!!) Na unificação variáveis diferentes (?y e ?z) podem pegar o mesmo objeto tem_irma(?y, ?z) pode ser tem_irma(Ana, Ana)

38 Regra Certa Pessoa(?x) ∧ tem_filhos(?x, ?y) ∧ tem_filhos(?x, ?z) ∧ Mulher(?z) ∧ differentFrom(?y, ?z) → tem_irma(?y, ?z)

39

40 Usar as regras em SWRL Baixar o Jess de:
Descompactar e colocar o arquivo jess.jar no diretorio do Protégé: .....Protege_3.2.1\plugins\edu.stanford.smi.protegex.owl

41 Usando o Reasoner

42

43 Reasoner Pellet Reaoner em Java Trabalha com OWL DL
Baseado no método do Tableaux Ura principalmente as restrições NÃO TRABALHA COM REGRAS

44 Instalação do Pellet Fazer download de Descompactar
Descompactar Rodar o pellet-dig junto com Protégé No protégé OWL->Preferences alterar o reasoner U|Rl para

45


Carregar ppt "Como fazer ? Escrever termos, Usar termos em frases,"

Apresentações semelhantes


Anúncios Google