210 likes | 300 Vues
Lógicas Descritivas & CARIN. Jacques Robin & Thiago Santos. Histórico. Redes Semânticas Nós e associações; Herança; Confusão entre classe/sub-classe e classe/instâncias; Falta de semântica clara das associações;
 
                
                E N D
Lógicas Descritivas & CARIN Jacques Robin & Thiago Santos
Histórico • Redes Semânticas • Nós e associações; • Herança; • Confusão entre classe/sub-classe e classe/instâncias; • Falta de semântica clara das associações; • Nível do conhecimento diretamente mapeado para o nível da implementação, sem nível lógico intermediário. • Frames • Redes Semânticas aumentadas com: • Valores default (raciocínio não monótono); • Procedimentos. • Mesmos problemas que redes semânticas. • Lógica Descritivas: emergiram para superar as limitações destes.
Filosofia • Usar lógica para definir formalmente semântica de formalismos de representação de conhecimento OO. • Estudar computabilidade e complexidade das linguagens e serviços de inferência antes de implementá-los. • Limitar expressividade para garantir esses serviços sejam computacionalmente tratáveis. • SPIV invade a IA.
Lógicas Descritivas (LDs) • Formalismos lógicos para representação das informações sobre classes de indivíduos e suas descrições. • Subconjunto da lógica de primeira ordem, trata de: • Relações unárias (conceitos) • Exemplo: Student • {x | Student(x)} • Relações binárias (papéis); • Exemplo: SUPERVISED • {(x,y) | SUPERVISED(x,y) } • Possui também: • Construtores sobre os conceitos (,, outros) • Exemplo: PdhStudent = Student  SUPERVISED.AcademicStaff • { x | Student(x)  y.SUPERVISED(x,y)  AcademicStaff(y) } • Indivíduos, e instâncias dos conceitos • franklin, jacques, thiago; • Student(thiago), PhdStudent(franklin), Researcher(jacques) • Trade-offs entre expressividade e complexidade computacional conhecidos.
Semântica • Baseada na teoria dos conjuntos; • Semântica definida por uma interpretação (I,I); • Conjunto não-vazio, domínio I; • Função de interpretação I que mapeia: • Todo conceito em um subconjunto de I; • Todo papel em um subconjunto de I x I; • Unicidade de nome • Se a  b então aI  bI • Um modelo para C é uma interpretação onde CI é não-vazio • Um conceito é satisfiable se ele possui pelo menos um modelo.
Bases de conhecimento em LD • KB = Tbox + Abox • Tbox (Terminological part) = Descrições • Exemplos: • Student = Person   STUDIESAT.University • PhdStudent  Student  Researcher • Abox (Assertional part) = Instâncias • Exemplos: • PdhStudent (franklin) • STUDIESAT (franklin,UFPE)
Serviços de inferência • Dada uma base de conhecimento  = <Tbox,Abox>, dois conceitos C e D, e um indivíduo a, chamamos: • Satisfiability:  |= C   • Verificar se há um modelo I de  tal que CI   • Exemplo: Student  Person ? • Subsumption:  |= C  D • Verificar se C é subsumed por D. CI DI em todo modelo I de  • Exemplo: Employee  Person  Student ? • Consistência: |= • Verificar se a própria base tem um modelo. • Exemplo: Student = Person ? • Classificação de instância:  |= C(a) • Verificar se uma dada asserção é válida. • Exemplo: Person(franklin)
Raciocínio na Tbox • Tbox: • Syntax-based reasoning: Structural Comparison • Semantic-based reasoning: Constraint Systems • Expressividade Vs Complexidade • Expressividade é diretamente proporcional à complexidade computacional.
Tbox – Conceitos Student  Person STUDIESAT  Student  University Student = Person   STUDIESAT.University Employee  Person AFILIATEDTO  Employee  Organization Employee = Person   AFILIATEDTO.Organization AcademicSaff  Employee SUPERVISES  AcademicStaff  PhdStudent AcademicSaff = Employee   SUPERVISES.PdhStudent Researcher  AcademicStaff PhdStudent  Student  Researcher SUPERVISED  PhdStudent  AcademicStaff PdhStudent = Student   SUPERVISED.AcademicStaff Abox – Instâncias Student(thiago) STUDIESAT(thiago,UFPE) PhdStudent(franklin) STUDIESAT(franklin,UFPE) Researcher(jacques) SUPERVISED(franklin,jacques) AFILIATEDTO(jacques,UFPE) LD para o exemplo  = <Tbox,Abox>
Exemplos de serviços (1/4)  |= C   •  |= Student  Person   ? • Equivalente a: • Student  Person =  ? • Se já temos x Student(x)  Person(x) • x Student(x)  Person(x)  x Person(x)  Person(x) que é impossível. • Logo o conjunto formado pela conjunção Student  Person é . Não satisfiable. Person e1 e2 ... Student en e5 e14
Exemplos de serviços (2/4)  |= C  D •  |= AcademicStaff  Researcher ? • AcademicStaff  Researcher • Equivalente a: x Researcher(x)  AcademicStaff(x) • O conjunto de indivíduos do tipo Researcher está contido no do conjunto de AcademicStaff. AcademicStaff e1 e2 ... Research en e5 e14
Exemplos de serviços (3/4)  |= • A base contém asserções/definições contraditórias? • Adicionando Person(franklin) mantém a base consistente ? • Raciocinando com as instâncias da Abox e conceitos da Tbox, temos: • PhdStudent(franklin) : Abox • Student(franklin) : Regra PhdStudent  Student da Tbox • Person(franklin) : Regra Person  Student da Tbox • Ao término das expansões da Abox temos: • Abox = Abox0 , Student(franklin), Person(franklin) • Ao adicionarmos Person(franklin) teríamos uma KB com contradições, isto é, inconsistente onde franklin é Student e franklin não é Student. • Conclusão: • Uma KB que possua a Tbox anterior, não pode ter Abox com asserções do tipo PhdStudent(franklin) e Person(franklin) pois se torna uma base inconsistente.
Exemplos de serviços (4/4)  |= C(a) •  |= Person(franklin) ? • Raciocínio sobre a hierarquia definida na Tbox, gera: • Student(franklin) • Person(franklin) • Assim, Person(franklin) pode ser deduzido como uma instância válida dentro da KB.
Aplicações • Ontologias • Terminologia médica; • Taxonomia biológica; • Baseadas na Web (OIL, DAML+OIL). • Configuração de sistemas • Bancos de dados • Modelagem de esquemas; • Otimização de consultas; • Interoperabilidade; • Verificação de consistência dos dados.
CARIN • Linguagem que combina: • Lógicas descritivas ( ALCNR ) • Cláusulas de Horn ( Regras dedutivas) • KB = <T,R,A> • Uma Tbox da lógica descritiva (T); • Um conjunto de regras (R); • Um conjunto fatos para os conceitos, papéis e predicados que estão em T e R (A). • Contribuições • Um mecanismo de inferência completo para declarações não-recursivas em ALCNR; • Um algoritmo para determinar subsumption em ALCNR.
CARIN – Regras e Restrições • Lógica descritiva • Sejam C e D conceitos, pode-se: • Criar definições • C = D • Descrever inclusões • C  D • Regras • X[p1(X1)    pn(Xn)  q(Y)], onde: • Y  {X1,,Xn) • p1,,pn são conceitos, papéis, expressões, ou ainda predicados que não constam na Tbox. • q não pode ser um conceito ou papel. O raciocínio sobre a estrutura deve estar na Tbox, não nas regras. • Um predicado q é dito dependente de um predicado p se p é precedente em uma regra que gera q.
Regras em CARIN • Considerando a Tbox e Abox já apresentadas. • Adicionando ao componente de regras: • AcademicStaff(X)   7 SUPERVISES(X)  Overloaded(X) • Student(X)  AcademicStaff(Y)  SUPERVISED(X,Y) SpecialStudent(X) • Poderíamos responder as perguntas: • Overloaded(jacques)? • Jacques está sobrecarregado? R: não • SpecialStudant(franklin)? • Franklin é um aluno especial? R: não
Referências • Curso de Lógicas Descritivas • Enrico Franconi, Department of Computer Science, University of Manchester, UK http://www.cs.man.ac.uk/~franconi/dl/course • Referências da aula “Ontologias na Web” • http://www.cin.ufpe.br/~compint/aulas-IAS/mci2/taias-012