190 likes | 263 Views
Correcção do Mini-Projecto 4. GTI 2008/2009. Pergunta 1. Resolução da pergunta 1.1. Resolução da pergunta 1.1. Resolução da pergunta 1.2. Pergunta 2. 2.1. Suponha que tem as seguintes três relações base: frequenta(Pessoa,Bar) serve(Bar, Cerveja) gosta(Pessoa, Cerveja)
E N D
Correcção do Mini-Projecto 4 GTI 2008/2009
2.1. Suponha que tem as seguintes três relações base: frequenta(Pessoa,Bar) serve(Bar, Cerveja) gosta(Pessoa, Cerveja) A primeira indica os bares que uma pessoa visita. A segunda diz que cervejas cada bar serve. A última indica que cervejas cada pessoa gosta. Defina os seguintes predicados através de regras Datalog: feliz(D) que é verdadeiro se a pessoa D frequenta pelo menos um bar que serve uma cerveja de que ele/ela gosta. triste(D) que é verdadeiro se a pessoa D não frequenta nenhum bar que sirva a cerveja de que ele/ela gosta. 2.2. Considere as seguintes interrogações: Q1(X,Z):− e(X,Y), e(Y,Z) Q2(A,B):− e(A,A1), e(A1,A2), e(A2,A3), e(A3,B) Q2(A,B):− e(A,A1), e(A1,A2), A2<=5, e(A2,A3), e(A3,B) Indique quais as relações de containment que existem. 2.3. Considere a linguagem de mapeamento de esquemas Global-As-View (GAV) e as relações R1(A,B) e R2(B,C). Considere ainda as relações do esquema global G1(A,C) definida por: G1 AC (R1 |X| R2) Considere a interrogação Q = A=1G1. Mostre como calcular respostas certas para Q usando as fontes, reescrevendo Q. Escreva também Q em SQL usando as fontes.
Solução 2.1. feliz(D) :- frequenta(D,B), serve(B,C), gosta(D,C) triste(D) :- gosta(D,C), serve(B,C), ~frequenta(D,B) 2.2. Q3 Q2, porque tem um predicado (A2<=5) que impõe uma restrição relativamente à variável A2 Q2 e Q1 não tem nenhuma relação de containment associada, porque existe, pelo menos, uma instância da BD, que gera respostas que não estão incluídas uma na outra. Ex: e(1,2) e(2,3) e(3,4) e(4,5) Q1(1,3) Q1(2,4) Q1(3,5) Q2(1,5)
2.3. Q = A=1G1 Q = A=1(ACR1 |X| R2) Em SQL: select A, C from R1, R2 where R1.B = R2.B and A = 1
Pergunta 3 Suponha o esquema de mediador que acede a sites Web de imobiliárias: M(preco, nomeAgente, telefoneA, telefoneEmpresa, descricão) Suponha também o esquema de um site de imobiliária que se segue: Imob1(precoTabela, nomeC, telefoneC, empresa, comentarios) Considere que utilizava técnicas de aprendizagem para, baseado num conjunto de treino, aprender quais os mapeamentos entre os esquemas M e Imob1. Mais concretamente, considere que utilizava como “learners” base um baseado em distância de edição (LearnerD) e outro baseado em NaiveBayes (LearnerNB).Depois de se executarem sobre um conjunto de treino, os leaners base retornaram as seguintes probabilidades para os mapeamentos: LearnerNB: Imob1.precoTabela, M.preco: 0,2 Imob1.nomeC, M.nomeA: 0,5 Imob1. comentarios, M.descricao: 0,9 Imob1.telefoneC, M.telefoneA: 0,2 ... LearnerD: Imob1.precoTabela, M.preco: 0,5 Imob1.nomeC, M.nomeA: 0,9 Imob1.comentarios, M.descricao: 0 Imob1.telefoneC, M.telefoneA: 0,9 3.1. Indique como, na fase de treino, combinaria os resultados obtidos pelos dois learners para calcular a probabilidade de existir uma correspondência entre cada um dos quatro pares de atributos. 3.2. Imagine que uma segunda imobiliária publica o seu esquema no sistema de mediação: Imob2(precoI, contactoA, infoExtra) De acordo com o método apresentado em 3.1. para combinar as probabilidades de correspondência entre atributos retornadas por cada learner base, e assumindo as seguintes probabilidades: LearnerNB: Imob2.precoI, M.preco, 0,2 Imob2.contactoA, M.telefoneA, 0,2 Imob2.infoExtra, M.descricao, 0,85 LeanerD: Imob2.precoI, M.preco, 0,9 Imob2.contactoA, M.telefoneA, 0,1 Imob2.infoExtra, M.descricao, 0 Arbitre valores que façam sentido e calcule a probabilidade de existir correspondência entre cada um dos três pares de atributos.
3.1. Baseado no conjunto de treino, cada learner base aprende um classificador para cada elemento do esquema do mediador (atributo). Este classificador examina um elemento no esquema fonte e é capaz de prever se ele corresponde ou não ao elemento do mediador (atribuí uma probabilidade à correspondência). Neste caso, existem dois learners base: o baseado em distância de edição e o baseado em Naive Bayes. Como os dois algoritmos usados pelos learners base consideram aspectos diferentes do esquema, usa-se uma técnica de aprendizagem multi-estratégia para combinar os resultados obtidos. Esta técnica baseia-se na existência de um meta-learner que aprende os pesos a atribuir à probabilidade obtida por cada learner base. Assim, na fase de matching, quando é dado um esquema fonte novo, cujos elementos são: e1’,.., et’, a técnica procede do seguinte modo: (1) aplica os learners base aos elementos da fonte e prevê se o elemento e’ corresponde ao elemento e e atribuí uma probabilidade pe,l(e’) sendo l cada learner base; (2) combina as probabilidades obtidas segundo a seguinte fórmula: pe(e’) = j=1 k we,lj* pe,lj(e’)
3.2. Arbitrando os seguintes valores para os pesos (que consideramos serem valores prováveis de ter sido aprendidos pelo meta-learner): (precoI, preco) LearnerNB: 0,15 LearnerD: 0,85 porque preco é um campo numérico, onde a técnica baseada em Naive Bayes não funciona de forma eficiente. É de dupôr que o learner baseado em distância de edição obtém melhores resultados, pois os nomes dos campos são semelhantes. (infoExtra, descricao) LearnerNB: 0,85 LearnerD: 0,15 porque o campo infoExtra é um campo de texto, em que as instâncias são tipicamente constituídas por um número considerável de palavras. Sabemos também que neste campo, é comum ocorrerem palavras raras mas discriminantes. (contactoA, telefoneA) LearnerNB: 0,5 LearnerD: 0,5 pois não existe nenhum factor que favoreça o resultado de um dos learners em relação ao outro.
Assim sendo: Ppreco(precoI) = 0,15*0,2 + 0,85*0,9 = 0,7950 PtelefoneA(contactoA) = 0,5*0,2 + 0,5*0,1 = 0,15 Pdescricao(infoExtra) = 0,85*0,85 + 0,15*0 = 0,7225