1 / 45

Como fazer ?

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

ronia
Download Presentation

Como fazer ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Como fazer ? • Escrevertermos, • 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.

  2. Confiança • Escrevertermos, 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 Provar Regras Quem Classificações Afirmações Frases Escrever Termos

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

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

  5. 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.....

  6. Algumas linguagens • RuleML • F-Logic • SWRL

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

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

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

  10. SWRL: A Semantic Web Rule Language Combining OWL and RuleML http://www.w3.org/Submission/SWRL/

  11. Regras • Uma regra contem: • Antecedente = corpo • Conseqüente = cabeça Antecedente Conseqüente

  12. Exemplo de regra Levo guarda-chuva euso galocha Meteorologia prevê chuva;o céu esta nublado;

  13. 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

  14. 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

  15. 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. .

  16. 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

  17. 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

  18. 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)  

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

  20. 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)

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

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

  23. 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

  24. rule ::= 'Implies(' [ URIreference ] { annotation } antecedentconsequent ')‘ • antecedent ::= 'Antecedent(' { atom } ')‘ • consequent ::= 'Consequent(' { atom } ')'

  25. atom ::= description '(' i-object ')' | dataRange '(' d-object ')' | individualvaluedPropertyID '(' i-objecti-object ')' | datavaluedPropertyID '(' i-objectd-object ')' | sameAs '(' i-objecti-object ')' | differentFrom '(' i-objecti-object ')' | builtIn '(' builtinID { d-object } ')' • builtinID ::= URIreference

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

  27. Example 4.1-1 (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)

  28. 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)) ) )

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

  30. 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

  31. Criar ObjectProperty de Pessoa: • tem_filhos, • tem_irmão, • tem_irmã, • tem_tio, • tem_tia • tem_Neto

  32. 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)

  33. 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

  34. 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)

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

  36. Usar as regras em SWRL • Baixar o Jess de: • http://herzberg.ca.sandia.gov/jess/ • Descompactar e colocar o arquivo jess.jar no diretorio do Protégé: • .....Protege_3.2.1\plugins\edu.stanford.smi.protegex.owl

  37. Usando o Reasoner

  38. 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

  39. Instalação do Pellet • Fazer download de • http://pellet.owldl.com/ • Descompactar • Rodar o pellet-dig junto com Protégé • No protégé OWL->Preferences alterar o reasoner U|Rl para http://localhost:8081

More Related