Lógica clássica e suas aplicações em sistema de recomendação

15
Curso de Análise e Desenvolvimento de Sistema ESTRUTURA DISCRETA I Lógica Clássica e suas aplicações em Sistema de Recomendação Fabricio Procaci Santiago Guilherme d’ Avila Vertein Isvaldo Fernandes de Souza Márcio Vinicius Barreto Teles Lobo Vinicius Bianchi de Oliveira Rio de Janeiro 2014

description

A lógica clássica, na sua parte elementar, trata essencialmente sobre os chamados conectivos lógicos de negação, conjunção, disjunção, implicação e bicondicional, sobre os quantificadores existencial e universal, sobre algumas de suas extensões, como por exemplo, certos sistemas de teorias de conjuntos. Através desse objeto de estudo, abordaremos a história da lógica clássica e seus princípios, e como podemos aplicar esse estudo na prática. Escolhemos o ramo de “Sistemas de Recomendação” para demostrar através de proposições e tabela verdade a lógica clássica sendo aplicada no dia-a-dia de quem utiliza esse sistema. Assim sendo, veremos a lógica clássica limitada ao sistema de recomendação, onde são subdivididas em três recomendações, que inicialmente são: Recomendações Baseadas em conteúdo, recomendações colaborativas e recomendações híbridas, (não abordaremos este tópico neste trabalho) que utiliza as duas citadas anteriormente.

Transcript of Lógica clássica e suas aplicações em sistema de recomendação

Page 1: Lógica clássica e suas aplicações em sistema de recomendação

1

Curso de Análise e Desenvolvimento de Sistema

ESTRUTURA DISCRETA I

Lógica Clássica e suas aplicações em Sistema de Recomendação

Fabricio Procaci Santiago

Guilherme d’ Avila Vertein

Isvaldo Fernandes de Souza

Márcio Vinicius Barreto Teles Lobo

Vinicius Bianchi de Oliveira

Rio de Janeiro

2014

Page 2: Lógica clássica e suas aplicações em sistema de recomendação

2

Fabricio Procaci Santiago

Guilherme d’ Avila Vertein

Isvaldo Fernandes de Souza

Márcio Vinicius Barreto Teles Lobo

Vinicius Bianchi de Oliveira

ESTRUTURA DISCRETA I Lógica Clássica e suas aplicações em Sistema de Recomendação

Trabalho apresentado à disciplina de Estrutura

Discreta I do curso de Análise e

Desenvolvimento de Sistema do INSTITUTO

INFNET como requisito para

Aprovação da mesma.

Tutor(a): Daniela R Monteiro

Rio de Janeiro

2014

Page 3: Lógica clássica e suas aplicações em sistema de recomendação

3

TABELA

Tabela 1: Tabela verdade exemplo 1 ---------------------------------------------------------p.10

Tabela 2: Tabela verdade exemplo 2 ---------------------------------------------------------p.10

Tabela 3: Tabela verdade exemplo 3 ---------------------------------------------------------p.11

Tabela 4: Tabela verdade exemplo 4 ---------------------------------------------------------p.12

Page 4: Lógica clássica e suas aplicações em sistema de recomendação

4

SUMÁRIO

1 Introdução -------------------------------------------------------------------------------------p.5

2 Lógica Clássica -------------------------------------------------------------------------------p.6

3 Sistemas de recomendação -----------------------------------------------------------------p.8

3.1 Recomendações Baseadas em conteúdo -------------------------------------------------p.8

3.2 Recomendações Colaborativas ------------------------------------------------------------p.8

3.3 Lógica booleana nos sistemas de recomendação ---------------------------------------p.9

3.3.1 Exemplos da aplicação da lógica em sistemas de recomendação ------------------p.9

3.3.1.1 Exemplos 1 ------------------------------------------------------------------------------p.9

3.3.1.2 Exemplos 2 ------------------------------------------------------------------------------p.10

3.3.1.3 Exemplos 3 ------------------------------------------------------------------------------p.11

3.3.1.4 Exemplos 4 ----------------------------------------------------------------------------- p.11

4 Considerações finais --------------------------------------------------------------------------p.13

Referências bibliográficas ----------------------------------------------------------------------p.14

Page 5: Lógica clássica e suas aplicações em sistema de recomendação

5

1 INTRODUÇÃO

A lógica clássica, na sua parte elementar, trata essencialmente sobre os chamados conectivos

lógicos de negação, conjunção, disjunção, implicação e bicondicional, sobre os quantificadores

existencial e universal, sobre algumas de suas extensões, como por exemplo, certos sistemas de

teorias de conjuntos.

Através desse objeto de estudo, abordaremos a história da lógica clássica e seus princípios, e como

podemos aplicar esse estudo na prática. Escolhemos o ramo de “Sistemas de Recomendação” para

demostrar através de proposições e tabela verdade a lógica clássica sendo aplicada no dia-a-dia de

quem utiliza esse sistema.

Assim sendo, veremos a lógica clássica limitada ao sistema de recomendação, onde são

subdivididas em três recomendações, que inicialmente são: Recomendações Baseadas em

conteúdo, recomendações colaborativas e recomendações híbridas, (não abordaremos este tópico

neste trabalho) que utiliza as duas citadas anteriormente.

Page 6: Lógica clássica e suas aplicações em sistema de recomendação

6

2 Lógica Clássica

A lógica clássica é uma ciência voltada para a matemática e também tem grandes laços com a

filosofia (estudo crítico e racional dos princípios fundamentais do mundo e do homem). Então, já

que o pensamento é a manifestação do conhecimento, e que o conhecimento procura a verdade, é

necessário fixar determinadas regras para que este objetivo possa ser atingido. Desta forma, a lógica

é uma área da filosofia que trata das regras do bem pensar, ou do pensar correto, isto é, de um

instrumento de pensar. O aprendizado da lógica não conta com um fim em si, ou melhor, ela apenas

possui sentido quando encontra uma maneira de garantir que o nosso pensamento haja de forma

correta a fim de encontrar conhecimentos verdadeiros. Pode-se dizer então, que a lógica cuida de

argumentos, ou melhor, de conclusões a que chegamos a partir da apresentação de provas que a

sustentam.

O principal organizador da lógica clássica foi Aristóteles (filósofo grego) através de sua obra,

denominada de “Organon”, pois é a partir desta obra que a lógica foi dividida em forma e material.

Um sistema lógico é um grupo de princípios evidentes por si mesmo, ou melhor, de axiomas e de

regras de inferência que tinha como finalidade representar de maneira formal o raciocínio válido.

Ao longo do tempo diferentes sistemas de lógica foram desenvolvidos no âmbito escrito da Lógica

Teórica, em Inteligência Artificial e na computação. De forma tradicional, a lógica é também

considerada a designação para o estudo de sistemas prescritivos para o raciocínio, isto é, sistema

que definem como “deveria” ser pensado para evitar erros, utilizando uma razão, indutivamente e

dedutivamente. A maneira de como as pessoas raciocinam é estudado em outras áreas, como por

exemplo, a psicologia cognitiva.

Analisada como ciência, a lógica tem a capacidade de definir a estrutura de declaração e argumento

para a criação de fórmulas, sendo que é através destas que podem ser codificados. O estudo da

lógica conta com a compreensão implícita fazendo com que se crie um bom argumento e de quais

argumentos enganosos. A lógica filosófica trabalha com descrições formais da linguagem natural,

sendo que a grande maioria dos filósofos admite que a maior parte do raciocínio considerado

“normal” pode ser capturado através da lógica, desde que seja possível localizar uma maneira

correta de traduzir a linguagem corrente para esta lógica.

Page 7: Lógica clássica e suas aplicações em sistema de recomendação

7

O princípio lógico fundamental é o princípio da identidade: tudo é idêntico a si mesmo. Em

fórmula, A é A. Por exemplo, podemos dizer a árvore é árvore. Este princípio é por demais evidente

por sua elementaridade tautológica e assusta que tenha que ser formulado.

Contudo, a ele se articulam dois outros princípios tidos como a base da lógica clássica e, por

extensão, "do bom raciocínio": O princípio da não-contradição e o princípio do terceiro-excluído.

O primeiro deles, como o nome indica, afirma que não deve existir contradição no raciocínio: A não

é não-A, e a árvore não é não-árvore. O princípio da não-contradição é, de certa maneira, a forma

negativa do princípio da identidade, ou seja, afirma que algo não pode ser e não ser ele mesmo. O

segundo deles, o princípio do terceiro-excluído, pode ser visto como a forma disjuntiva do princípio

da identidade: uma coisa é ou não é. Entre essas duas possibilidades contraditórias não há

possibilidade de uma terceira que, assim, fica excluída.

Page 8: Lógica clássica e suas aplicações em sistema de recomendação

8

3 Sistemas de recomendação

Sistemas de Recomendação podem ser vistos ao realizar buscas em sites de pesquisa da internet, em

compras online, ou até mesmo ao visualizamos nossos e-mails. São o mecanismo por trás da

propaganda personalizada que recebemos na web, com indicações de sites para visitarmos ou

produtos para comprarmos.

Com o aumento do consumo em dispositivos móveis e a propagação o e-commerce, sistemas de

recomendação tornaram-se um tema extremamente atrativo. Através de algoritmos simples e

facilmente integráveis a aplicações web, eles agregam valor ao negócio online, promovendo itens

de consumo direcionados a um público alvo. Por trás da singela propaganda, estes sistemas utilizam

abstrações matemáticas de dados.

Sistema de recomendação é uma pequena inteligência artificial que pode analisar dados complexos

e sugerir com algum fundamento alguma coisa. Sistemas de recomendação SR, são algoritmos que

recebem como entrada 2 argumentos, o primeiro é o alvo, ou seja aquele que vai receber uma

recomendação, o outro argumento são um conjunto de dados que fazem alguma relação com esse

alvo, há diversos tipos de sistemas de recomendação, e cada um com um funcionamento específico,

o funcionamento pode ser simples usando lógica clássica, já outros mais complexos podem usar o

princípio da incerteza, esses são usados em empresas grandes como Google e Amazon, empresas

que são líderes nesse ramo de propaganda inteligente.

3.1 Recomendações Baseadas em conteúdo

Esse algoritmo se consiste em recomendações com base em ações que o alvo tenha feito em outro

momento, por exemplo, compras anteriores, histórico de sites visitados, “curtidas, gostei”

sinalizadores em redes sociais, qualquer indicação passada é entrada para uma possível

recomendação nesse sistema.

3.2 Recomendações Colaborativas

Recomendações colaborativas são um pouco mais complexas que as baseadas em conteúdo,

tratamos nesse objeto de estudo alvo um pessoal qualquer, toda pessoa vive cercada por variáveis

sociais, como ambiente, amigos etc. A identidade social é construída com base nessas variáveis,

isso significa que grupos de pessoas que gostam da coisas em comum possam gostar de outras, em

Page 9: Lógica clássica e suas aplicações em sistema de recomendação

9

um caso hipotético e simplificado podemos dizer que, se uma pessoa de 18 anos gosta de rock e

também gosta de roupa preta, outra pessoa de 18 anos que gosta de rock, pode também gostar de

roupa preta, mas isso não funciona com exemplos como esse, mas sim com margens estatísticas, ou

seja, os gostos são analisados em grandes quantidades para conseguir determinar o quanto mais

próximo um item é de uma pessoa através de um grupo social, de forma resumida, recomendações

Colaborativas é um algoritmo que leva em consideração a realidade social similar do alvo, esse tipo

de recomendação tem um melhor desempenho quando aplicado o princípio da incerteza, do

contrário é pura estatística.

3.3 Lógica booleana nos sistemas de recomendação

Os algoritmos de sistemas de recomendação utilizam alguns dos princípios da lógica booleana,

como por exemplo conjunção, disjunção e condicional, quando perfil do alvo é definido são feitas

conclusões por margem estatísticas com base nesses princípios lógicos para determinar um espaço

amostral de possibilidades de recomendações, aprofundando um pouco o nível da abordagem. Seja

C o conjunto de todos os usuários de um determinado sistema, e seja S' o conjunto de todos os

possíveis itens que podem ser recomendados como livros, filmes, restaurantes etc. Seja u a função

utilidade que mede o quão útil é um determinado item s para um determinado usuário c, i.e., u:C x

S → R, onde R é um conjunto totalmente ordenado. Então, para cada usuário c ∈ C, procura-se um

item s' ∈ S que maximiza a utilidade ao usuário.

3.3.1 Exemplos da aplicação da lógica em sistemas de recomendação

3.3.1.1 Exemplos 1

Pedro está navegando em uma determinada rede social, Pedro tem 15 anos gosta de rock e costuma

com frequência sinalizar seus gostos por camisas de rock em grupos de discussão, mas por motivos

pessoais odeia camisas totalmente azuis e camisas totalmente brancas e comenta isso no grupo. Pelo

sistema de recomendação por conteúdo, podemos montar a seguinte proposição com o caso

citado acima.

Pedro compra camisas se elas forem diferentes da cor azul ou branca e tem que ser sobre rock.

As variáveis são cores e um gosto pessoal de Pedro, então quando Pedro compra camisa?

P =(¬A v ¬B) ↔ R

Onde, P ação comprar, A cor azul, B cor branca, R tema da camisa(rock)

Page 10: Lógica clássica e suas aplicações em sistema de recomendação

10

Tabela 1: Tabela Verdade Exemplos 1

Nos casos onde a proposição (¬A v ¬B) ↔ R for verdadeira, Pedro comprará uma camisa. Nos

casos onde seja falsidade Pedro não comprará camisa alguma.

3.3.1.2 Exemplos 2

Sandra é jovem e gosta de estar sempre atualizada com a moda do momento, Sandra adora

smartphone e vê todos os seus amigos comentarem nas redes sociais que possuem um iphone,

Sandra começa a receber banners de propaganda sobre iphone, Sandra resolve comprar um iphone.

Pelo sistema de recomendação colaborativa podemos montar a seguinte proposição e sua

respectiva tabela verdade conforme o caso descrito acima.

Sandra receberá as propagandas e comprará seu iphone se os amigos dela possuírem Iphone.

P = Sandra receberá as propagandas

I = Sandra comprará seu iphone

A = Amigos de Sandra possuem iphone.

P^I → A

Tabela 2: Tabela Verdade Exemplos 2

A B R ¬A ¬B (¬A v ¬B) (¬A v ¬B)↔R

V V V F F F F

V V F F F F V

V F V F V V V

V F F F V V F

F V V V F V V

F V F V F V F

F F V V V V V

F F F V V V F

P I A P^I P^I → A

V V V V V

V V F V F

V F V F V

V F F F V

F V V F V

F V F F V

F F V F V

F F F F V

Page 11: Lógica clássica e suas aplicações em sistema de recomendação

11

Nos casos onde a proposição P^I → A for verdadeira, Sandra receberá as propagandas e comprará

seu Iphone. No caso onde a proposição for falsa, os amigos de Sandra não possuem Iphone e ela

não comprará um Iphone.

3.3.1.3 Exemplos 3

Mariana visita um site em busca de promoções de viagens para passar férias em um lugar onde

tenha belas praias. A agência de viagens recomenda lugares turísticos que tenham belas praias e

oferece a ela por e-mail vários pacotes promocionais para o nordeste que é considerado uma boa

sugestão de entretenimento baseando-se em seu perfil. Pelo sistema de recomendação por

conteúdo, podemos montar a seguinte proposição com o caso citado acima.

Mariana receberá um e-mail recomendando ir ao nordeste se e somente se no nordeste tiver belas

praias e Mariana conseguir um pacote promocional.

M= Mariana recebe o email recomendando ir ao nordeste.

S = No nordeste tem belas praias.

P = Mariana consegue um pacote promocional.

M ↔ (S^P)

Tabela 3: Tabela Verdade Exemplos 3

Nos casos onde a proposição M ↔ (S^P) for verdadeira, Mariana receberá um email recomendando

que ela vá ao nordeste. Nos casos onde forem falsa, Mariana não receberá o email para ir ao

nordeste porque provavelmente não será de seu interesse.

3.3.1.4 Exemplos 4

João gosta de tecnologia e pretende comprar um tablet ou um smartphone, ele acessa um site de e-

commerce para comprar um tablet ou um smartphone e o site de e-commerce fez recomendações de

outros produtos que podem ser adquiridos juntos com o tablete ou smartphone que João deseja

comprar. Com sistema de recomendação baseado em conteúdo podemos elaborar as proposições e

sua respectiva tabela verdade conforme o caso descrito acima.

M S P S^P M↔(S^P)

V V V V V

V V F F F

V F V F F

V F F F F

F V V V F

F V F F V

F F V F V

F F F F V

Page 12: Lógica clássica e suas aplicações em sistema de recomendação

12

João receberá ofertas de cartão de memória e capa de proteção, só se comprar um tablet ou

smartphone.

M= João receberá ofertas de cartão de memória

P= João receberá ofertas de capa de proteção

J= João comprou um tablet

S= João comprou um smartphone

(M^P) ↔ (J v S)

Tabela 4: Tabela Verdade Exemplos 4

Nos casos onde a proposição for verdadeira, João comprará um Tablet ou um Smartphone e

receberá ofertas de cartões de memória e capas de proteção. Nos casos onde a proposição for falsa,

João não comprará um Tablet ou um Smartphone e não receberá ofertas de cartões de memória e

nem de capas de proteção.

M P J S M^P J v S (M^P) ↔ (J v S)

V V V V V V V

V V V F V V V

V V F V V V V

V V F F V F F

V F V V F V F

V F V F F V F

V F F V F V F

V F F F F F V

F V V V F V F

F V V F F V F

F V F V F V F

F V F F F F V

F F V V F V F

F F V F F V F

F F F V F V F

F F F F F F V

Page 13: Lógica clássica e suas aplicações em sistema de recomendação

13

4 Considerações finais

Na formatação deste trabalho o principal objetivo era o estudo de alguns conceitos envolvidos em

um Sistema de Recomendação e analisar alguns Sistemas de Recomendação de Produtos existentes

em sites de comércio Eletrônico, através da identificação dos pontos fortes e fracos de cada um.

Com o objetivo de cativar cada vez mais os clientes e mostrar que cada um é único, as lojas

eletrônicas adotam soluções baseadas na personalização de ofertas para seus clientes. Porém,

diferentes estratégias podem ser utilizadas para personalizar recomendações para os usuários, tais

como: lista de recomendação, avaliação dos usuários, itens semelhantes e associação por conteúdo.

Para que ocorra uma personalização das recomendações, os Sistemas de Recomendação necessitam

utilizar os padrões de comportamento dos usuários para fundamentar suas recomendações e

necessidades. Portanto, o sistema de recomendação utiliza técnicas de filtragem de informação para

identificar esses padrões de comportamento.

A análise dos sistemas de recomendação só foi possível após o estudo sobre os alguns conceitos.

Com essa análise pode-se constatar que os sistemas de recomendação podem ser utilizados para que

se possa conhecer melhor as preferências do cliente, e assim utilizá-las para personalizar o

relacionamento entre o cliente e a empresa. Outra constatação que foi adquirida é que o sistema de

recomendação facilita e muito para que um cliente encontre um produto do seu interesse tanto

através da recomendação personalizada como da não personalizada.

No sentido de construir teorias formais ou sistemas formais mais expressivos, inserimos os

conectivos (negação, conjunção, disjunção, condicional e bicondicional) e vimos algumas regras de

interferências a eles associados. Vimos também como expressar o sentido dos conectivos e das

fórmulas em geral, em termos de “V” ou “F”, ou seja, construindo tabelas-verdades.

Page 14: Lógica clássica e suas aplicações em sistema de recomendação

14

Referências bibliográficas

SITUAÇÃO.NET. Disponível em: <http://situado.net/a-definicao-da-logica-classica/>. Acesso em

12/08/2014

UEFS.BR. Disponível em:

<http://www2.uefs.br/sitientibus/pdf/11/logica_classica_um_problema_de_identidade.pdf/>Acesso

em 25/08/2014

SHOHAM, Y. and BALABANOVIC, M. Content-based, collaborative recommendation,

Communications of the ACM 40, 1997.

Page 15: Lógica clássica e suas aplicações em sistema de recomendação

15

Fabricio Procaci Santiago – [email protected]

Guilherme d’ Avila Vertein – [email protected]

Isvaldo Fernandes de Souza - [email protected]

Márcio Vinícius Barreto Teles Lobo - [email protected]

Vinicius Bianchi de Oliveira – [email protected]