• Aucun résultat trouvé

3.4. POSSIBILITE D’UTILISATION DES MATERIAUX ETUDIES

3.3.1. Les briques de terre comprimée stabilisée au ciment

Para ilustrar a submissão de consultas na TexereLibrary, tomemos como exemplo a situação em que a usuária Emile acessou e realizou o cadastro na aplicação, fornecendo as seguintes informações: é casada, gosta de literatura brasileira, tem preferência pelo idioma português, não tem filhos, tem 26 anos e, atualmente, é aluna de mestrado. Após realizar o cadastro, Emile acessou a aplicação e submeteu a seguinte consulta Q:

SELECT author.name as author FROM book, author, author_book

WHERE author_book.id_book = book.id AND author_book.id_author = author.id.

A Figura 19 mostra a interface de submissão da consulta, com as duas opções de criação de consultas e, à esquerda, a consulta submetida por Emile.

Figura 19 - Submissão de Consultas na Aplicação.

Assim que a usuária solicitou o uso de contexto e submeteu a consulta, a TexereLibrary se comunicou com a reescrita executado pela CORE e enviou as informações necessárias para o processamento da reescrita. No ínicio da reescrita, o módulo MGCC (Figura 17) recebeu a consulta Q e a enviou para ser validada no Validador. Após ser verificado que a consulta não continha erros de sintaxe, o MGCC solicitou a abertura de conexão com o banco contextual e banco de dados da aplicação. De posse das conexões e da consulta Q, o MGCC recebe por meio da MICMI as diretivas de reescrita produzidas no motor de inferência.

A geração das diretivas utilizou as informações a respeito de Emile, obtidas no cadastro inicial. Por exemplo, analisando a idade dela, foi gerado uma diretiva que indica à CORE que livros infantis e juvenis não fossem exibidos; observando que a usuária é aluna de pós- graduação, foi gerada uma diretiva que solicita o retorno de livros de metodologia científica; percebendo que ela tem preferência por livros escritos em português, foi gerada uma diretiva que ordena os livros pelo idioma preferido, e, por fim, gerou-se uma diretiva que restringe o retorno de livros para os formatos diferentes de braile e audio, pois a aluna não apresenta deficiência visual.

Após o recebimento das diretivas, estas, juntamente com as conexões (banco contextual, da aplicação) e a consulta original são encaminhadas ao componente PPC para a identificação das cláusulas correspondentes a cada diretiva recebida. Ao final do processo de transformação

das diretivas em cláusulas, estas são utilizadas no processo de reescrita de Q gerando Q’. Por fim, Q’ é validada e, caso não tenha sido observado qualquer erro de sintaxe, Q’ é, então, executada no banco de dados da aplicação, e os dados provenientes da execução são devolvidos à TexereLibrary.

Ao final de todo o processo de reescrita, Emile recebeu as respostas provenientes da execução da consulta na página apresentada na Figura 20.

Figura 20 - Respostas da Consulta. Algumas considerações sobre o exemplo são importantes:

I. Todos os atributos escolhidos por Emile, no momento da submissão da consulta, são apresentados. Isso significa que, se a usuária, por exemplo, não tivesse solicitado a visualização do campo idioma, esse não seria apresentado. Mas esse cenário pode ser diferente, isto é, mesmo que a usuária não tenha solicitado de forma explícita visualizar o campo idioma, este, no processo de reescrita executado pela CORE, poderia ter sido incluído. Tal fato ocorre quando Emile escolhe a opção de reescrita com contexto, antes de submeter a consulta, e alguma cláusula solicitar tal inclusão, então, esse campo é exibido nas respostas da consulta.

II. As consultas que são submetidas ao processamento realizado pela CORE e, consequentemente, reescritas, terão sua exibição apresentada no componente situado

na parte inferior da tela de respostas. Essa exibição é importante, pois a usuária Emile, caso tenha conhecimento de SQL, poderá avaliar e identificar as alterações realizadas. 5.2 Experimentos

A fim de avaliar as hipóteses da pesquisa (H1 e H2) apresentadas no Capítulo 1, dois tipos de experimentos foram definidos, conforme descrição a seguir. Os experimentos foram realizados em uma máquina Dell com Sistema Operacional Windows 8, processador Core i5 e 4GB de memória.

A base de dados da aplicação TexereLibrary é uma base de dados relacional com tabelas ligadas ao domínio de biblioteca, ou seja, traz informações sobre livros, autores, categorias, entre outros. O banco de dados foi populado com informações de livros dos diversos domínios e conta atualmente com um total de 768 livros cadastrados.

5.2.1 Experimento 1

O primeiro experimento teve por objetivo avaliar a hipótese H1 apresentada na introdução, a qual define que as consultas submetidas por usuários geram respostas mais relevantes para eles quando o contexto adquirido é levado em consideração.

Para a realização deste experimento, foram utilizados 26 usuários especialistas em SQL e 14 usuários leigos de diversos domínios, como, por exemplo, Computação, Direito, Psicologia, Pedagogia. Por apresentar usuários leigos nesse experimento, foram manipuladas as duas formas de submissão de consultas apresentadas na aplicação TexereLibrary, ou seja, o usuário pode escolher entre a criação da consulta manualmente, escrevendo-a, ou utilizar a opção de geração de consultas.

Neste cenário, para as consultas realizadas, foi solicitado ao usuário que procedesse com uma avaliação acerca das respostas das consultas obtidas quando o contexto não era considerado (sem contexto) e quando era (com contexto). Para o recebimento deste feedback, foi utilizado um formulário online, mostrado no Apêndice A. A primeira parte do formulário aborda a realização de consultas sem contexto. A segunda seção aborda o uso de contexto, ou seja, a reescrita das consultas baseada no contexto adquirido. As mesmas perguntas foram realizadas em ambas as situações, mas, nessa seção, a ideia é entender a influência do contexto e, assim, poder avaliar o ganho em relação às consultas sem contexto. Particularmente, objetiva-se avaliar se o contexto usado na reescrita das consultas melhorou a relevância das

respostas obtidas. E se melhorou, entender como os usuários avaliaram a influência do contexto.

A execução dos experimentos ocorreu da seguinte forma: inicialmente o pesquisador explicou o objetivo do trabalho e da realização dos mesmos. Para isso, apresentou o que é contexto, falou um pouco sobre consultas SQL, introduziu os conceitos de uma aplicação sensível ao contexto, e, por fim, apresentou a aplicação TexereLibrary. Mostrou o uso da aplicação, em especial, as formas existentes para submissão das consultas e reforçou a importância do preenchimento do formulário de avaliação. Os experimentos foram realizados com 40 usuários que executaram quantas consultas acharam necessário para avaliar o uso do contexto e preencher o formulário.

A Figura 21 mostra os resultados obtidos em relação à relevância das respostas das consultas. Neste cenário, a relevância é entendida como sendo as respostas que o usuário considerou importantes ou de grande valor. No eixo x são identificados os escores escolhidos pelo usuário, enquanto que o eixo y traz o número de usuários que avaliaram cada consulta.

Relevância das Respostas Obtidas

Figura 21 - Relevância das Respostas das Consultas sem e com Contexto.

O gráfico mostra que as consultas com a utilização da reescrita com contexto, realizadas pela CORE, receberam um número maior de escores “muito bom” em comparação com as consultas sem contexto, ou seja, que não foram reescritas. Particularmente, nas consultas sem contexto, apenas 2,5% dos entrevistados consideraram que as respostas retornadas foram “muito bom”, enquanto que, nas consultas reescritas com contexto, 47,5% dos entrevistados

3 11 21 4 1 0 5 10 15 20 25 Muito Ruim

Ruim Regular Bom Muito Bom N ú m e ro d e u su ár io s Escore

Consultas Sem Contexto

0 0 2 19 19 0 2 4 6 8 10 12 14 16 18 20 Muito Ruim

Ruim Regular Bom Muito Bom N ú m e ro d e u su ár io s Escore

informaram que as respostas retornadas foram “muito bom”. Essa avaliação positiva acerca da reescrita contextualizada mostra um feedback positivo quanto ao uso do contexto, pois este é funtamental na geração das cláusulas que realizam a reescrita da consulta original.

Análise dos Logs de Reescrita

Nos experimentos realizados para avaliação da hipótese H1, à medida que os usuários submetiam suas consultas e estas eram reescritas, logs eram armazenados. Cada log descreve os seguintes itens: consulta original, consulta reescrita, elementos contextuais usados na reescrita e tipo de reescrita usada. Dentro da proposta da abordagem, a reescrita pode ser realizada por meio de três tipos: expansão, relaxamento e/ou formatação.

A Tabela 11 apresenta dois exemplos de logs de reescrita (os demais logs podem ser visualizados no Apêndice B).

O primeiro log apresenta uma consulta que pertence ao domínio jurídico. Neste, o usuário criou uma consulta Q solicitando livros que tenham exatamente 4 unidades. Após a consulta ser enviada a CORE, o processo de reescrita alterou Q, realizando operações de expansão e relaxamento. Por exemplo, a consulta original não incluia informações da tabela category, mas, no processo de reescrita, a CORE incluiu dados dessa tabela. A expansão ocorreu porque o ED criou uma regra definindo que, quando o usuário for adulto, não se deve exibir livros das categorias infantil e juvenil. Diante disso, foi gerada uma diretiva com tal restrição. No momento da reescrita, a CORE percebeu que a tabela category não estava presente na cláusula From, então, nesse caso, é necessária a inclusão dessa tabela e, consequentemente, a expansão da consulta.

Já o relaxamento pode ser visualizado no momento em que é suavizada a restrição de quantidade de livros da consulta original, ampliando a restrição para que seja permitido o retorno de livros com quantidades igual ou inferior a quatro unidades. Essa operação de restrição foi possível de ser executa porque o ED definiu que, quando uma consulta for muito restritiva e a condição ocorrer sobre um atributo que recebe valores numéricos, a restrição deve ter seu operador modificado para um menos restritivo. No caso da consulta em questão, o operador suavizado foi o igual (=), que fora substituido pelo menor ou igual (<=).

Tabela 11- Logs de Reescrita.

Log Consulta original (Q) Consulta reescrita (Q’) Elementos

contextuais Tipo de reescrita 1 SELECT book.* FROM book WHERE book.quantity = 4 SELECT book.*

FROM book, book_format, category

WHERE category.name = 'Direito' AND book.quantity <= 4 AND book.format = book_format.id AND book_format.format Not In ('braile', 'brinquedo' )

AND book.category_id = category.id AND category.name Not In ( 'Romance Juvenil', 'Poesia infanto-juvenil', 'Fabula Infantil', 'Educativo escolar médio', 'Fábula Juvenil', 'Educativo Infantil', 'Fábula Infantil', 'Fabula Infano-juvenil', 'ciência da computação', 'Psicologia', 'Médica', 'Engenharia', 'Administração')

UNION

SELECT book.*

FROM book, book_format, category

WHERE category.name != 'Direito' AND book.quantity <= 4 AND book.format = book_format.id AND book_format.format Not In ( 'braile', 'brinquedo' ) AND book.category_id = category.id AND category.name Not In ( 'Romance Juvenil', 'Poesia infanto-juvenil', 'Fabula Infantil', 'Educativo escolar médio', 'Fábula Juvenil', 'Educativo Infantil', 'Fábula Infantil', 'Fabula Infano-juvenil', 'ciência da computação', 'Psicologia', 'Médica', 'Engenharia', 'Administração')

Idade, Profissão, Deficiência, Grau de Escolaridade, Estado Civil, Sexo, Preferência Literária, Idioma Preferido Expansão, Relaxamento e Formatação 2 SELECT book.name as book FROM book , language WHERE book.language_id = language.id and (book.name = 'java' )

SELECT book.name as book

FROM book, language, book_format, category

WHERE category.name = 'ciência da computação' AND book.language_id = language.id AND (book.name like '%java%' ) AND book.format = book_format.id AND book_format.format Not In ( 'braile', 'brinquedo' ) AND book.category_id = category.id AND category.name Not In ( 'Romance Juvenil', 'Poesia infanto-juvenil', 'Fabula Infantil', 'Educativo escolar médio', 'Fábula Juvenil', 'Educativo Infantil', 'Fábula Infantil', 'Fabula Infano-juvenil' ) AND category.name Not In ( 'Médica', 'Direito', 'Psicologia', 'Engenharia', 'Administração')

Idade, Profissão, Deficiência, Idioma, Sexo, Deficiência, Grau de Escolaridade Expansão e Relaxamento

O segundo exemplo apresenta uma consulta pertencente ao domínio de Ciência da Computação. Como mostrado no segundo log, o usuário criou uma consulta solicitando livros que tenham exatamente a palavra “java” em seu título. Após a consulta ser submetida ao processo de reescrita realizado pela CORE, ela foi alterada, e, nesse processo, foram realizadas operações de expansão e relaxamento. A expansão se deu com a inclusão de informações de tabelas e restrições não informadas na consulta original, por exemplo, as tabelas category, language e as restrições sobre as categorias que poderiam ser exibidas. O relaxamento foi executado sobre a restrição imposta na consulta original, solicitando que livros com o titulo “java” fossem exibidos. A alteração realizada pela CORE suavizou a restrição com a inclusão dos caracteres “like %”, permitindo que livros que contenham em seu título a palavra “java” também fossem exibidos. Essa alteração foi obtida pela ação de uma regra que avalia se uma consulta é muito restritiva, analisando se a condição de seleção é sobre um atributo do tipo texto. Quando tal fato ocorrer, a consulta terá a restrição suavizada com a substituição do operador para um menos restritivo e a inclusão de um caracter “%”, o qual amplia a possibilidade de respostas retornadas. Tal alteração permite que mais livros sejam retornados ao usuário.

No log 1 apresentado, a reescrita da consulta possibilitou alterações de formatação dos dados. Essa operação visa organizar os dados a serem apresentados de acordo com alguma regra de exibição. Por exemplo, no log 1 foi solicitado que primeiro sejam apresentados os livros da categoria de “Direito”. O ED definiu que os dados deveriam ser ordenados pela categoria que o usuário tivesse maior preferência, assim sendo, foi criada uma diretiva que solicita a ordenação das respostas, apresentando os dados pertencentes à categoria “Direito” em primeiro lugar. A referida solicitação foi gerada a partir de uma cláusula que faz uso do operador constraint_order, ou seja, essa diretiva foi traduzida para SQL em duas consultas unidas pela cláusula UNION. A primeira consulta traz os livros que são da categoria desejada pelo usuário, nesse exemplo, a categoria “Direito”. A segunda consulta apresenta uma restrição que solicita a não exibição dos livros da categoria “Direito”, ou seja, os demais livros de outras categorias e que atendam às demais restrições.

5.2.2 Experimento 2

O segundo experimento realizado teve por objetivo avaliar a hipótese H2 apresentada na introdução, a qual define que a reescrita de consultas baseada no contexto e em técnicas de expansão e relaxamento gera respostas com maior precisão e cobertura.

A avaliação da precisão e da cobertura é feita a partir do número de respostas relevantes e não relevantes obtidos na execução das consultas. Para isso, foram utilizadas as medidas clássicas precisão (precision) e cobertura (recall) [RIJSBERGEN; 1979], de forma adaptada ao panorama do trabalho.

O uso destas medidas buscou prover meios para avaliar o quão eficaz é o processo de reescrita de consultas com base no contexto, ou seja, se é possível reduzir a quantidade de respostas irrelevantes (alta precisão) e assegurar que respostas relevantes não sejam desprezadas (alta cobertura). Assim, a precisão avalia a relação entre as respostas relevantes (NumRespostaRelevantes) retornadas e o total de respostas retornadas por uma consulta (TotalRespostas), enquanto que a cobertura analisa a relação das respostas relevantes (NumRespostaRelevantes) retornadas sobre o total de respostas relevantes que seriam possíveis (TotalRespostaRelevantes). As medidas são apresentadas a seguir.

𝑷𝒓𝒆𝒄𝒊𝒔ã𝒐 = #𝐍𝐮𝐦𝐑𝐞𝐬𝐩𝐨𝐬𝐭𝐚𝐬𝐑𝐞𝐥𝐞𝐯𝐚𝐧𝐭𝐞𝐬 #𝐓𝐨𝐭𝐚𝐥𝐑𝐞𝐬𝐩𝐨𝐬𝐭𝐚𝐬

𝑪𝒐𝒃𝒆𝒓𝒕𝒖𝒓𝒂 = #𝐍𝐮𝐦𝐑𝐞𝐬𝐩𝐨𝐬𝐭𝐚𝐬𝐑𝐞𝐥𝐞𝐯𝐚𝐧𝐭𝐞𝐬 #𝐓𝐨𝐭𝐚𝐥𝐑𝐞𝐬𝐩𝐨𝐬𝐭𝐚𝐬𝐑𝐞𝐥𝐞𝐯𝐚𝐧𝐭𝐞𝐬

O experimento foi definido para ser aplicado sobre três domínios de interesse: estudantes de Direto, professores em geral e estudantes de Ciência da Computação. Para cada domínio foi escolhido um especialista, ou seja, uma pessoa que é perita da área. O especialista criou consultas e as executou, usando a aplicação TexereLibrary, e solicitou que elas fossem reescritas utilizando a CORE (com contexto). Para cada consulta executada, o especialista definiu qual seria o conjunto de respostas ideal. Este conjunto foi utilizado para determinar o total de respostas relevantes – uma amostra (do qual seria um gold standard) para o domínio de dados em questão. O número de respostas presentes nesse conjunto foi usado no cálculo da cobertura.

Em seguida, foi solicitado que profissionais diversos de cada domínio apresentado executassem as mesmas consultas criadas pelo especialista e definissem quais das respostas obtidas, a partir da execução das consultas com o uso de contexto, eram relevantes. Esse resultado levou ao numerador (NumRespostasRelevantes) aplicado nas fórmulas. Esse experimento foi realizado com 7 profissionais de Direito, 5 professores universitários e 7 profissionais de Ciência da Computação.

Ao final de toda a etapa de reescrita de consultas, realizamos o cálculo de cada métrica para cada indivíduo participante. Os resultados são mostrados a seguir, inicialmente, por domínio e, depois, uma visão geral é apresentada.

Domínio Jurídico

A Tabela 12 apresenta os resultados das métricas obtidos para as consultas executadas pelos participantes do domínio jurídico.

Tabela 12 - Valores das Métricas para o Domínio Jurídico. Usuário Consulta Precisão com contexto Precisão sem contexto Cobertura com contexto Cobertura sem contexto 1 1 31,81 % 3,13% 53,84 % 7,69% 2 40 % 20% 66,66 % 11% 2 1 34,61 % 3,13% 69,23 % 7,69% 2 32% 20% 88,88 % 11% 3 1 44 % 6,25% 84,61 % 15,38% 2 47 % 20% 88% 11,11% 4 1 38,46 % 9,37% 76,92 % 23,07% 2 42 % 20% 88 % 11,11% 5 1 33,33% 12,5% 69,23 % 30,76% 2 33,33% 20% 66,66% 11% 6 1 45 % 3,13% 69,23 % 7,69% 2 42 % 0% 88,88 % 0% 7 1 34,61% 6,25% 69,23 % 15,38% 2 32% 20% 100% 11%

Nesse domínio, as duas consultas criadas pelo especialista e executadas pelos demais participantes foram:

Q1 =

SELECT book.name, language.name as language, category.name as category, author.name as author

FROM book, language, category, author, author_book

WHERE book.language_id = language.id AND book.category_id = category.id AND author_book.id_author = author.id AND

author_book.id_book = book.id.

Q2 = SELECT book.* FROM book

WHERE book.quantity = 4.

A primeira consulta é menos restritiva e isso permitiu que alterações mais gerais fossem executadas. Já Q2 é uma consulta mais restritiva e isso limitou mais as possíbilidades de reescrita.

Domínio de Professores

A Tabela 13 apresenta os valores das métricas obtidos para as consultas executadas pelos participantes do domínio de professores.

Tabela 13 - Valores das Métricas para o Domínio de Professores. Entrevistado Consulta Precisão com

contexto Precisão sem contexto Cobertura com contexto Cobertura sem contexto 1 1 29,03% 6,25% 56,25 % 18,75% 2 24,13% 28,57% 63,63% 18,18% 2 1 45,16% 18,75% 87,5 % 37,5% 2 25% 71% 63,63 % 45,45% 3 1 35,48% 22,58% 68,75 % 43,75% 2 22,72 % 57,14% 45,45 % 36,36% 4 1 40,62% 18,75% 81,25 % 37,5% 2 34,48% 9,34% 90,90 % 27,27% 5 1 2 32,14% 9,37% 56,25 % 18,75% 20,82% 14,28% 45,45 % 9,09%

As duas consultas criadas pelo especialista no domínio de professores e executadas pelos demais participantes foram:

Q1 =

SELECT book.name, language.name as language, category.name as category FROM book, language, category

WHERE book.language_id = language.id AND book.category_id = category.id.

Q2 = SELECT book.* FROM book, category

Ambas as consultas não são tão restritivas e isso permitiu que mais alterações fossem executadas. Mas, o fato da consulta Q2 impor uma restritiva de categoria, limita um pouco mais a reescrita.

Domínio de Ciência da Computação

A Tabela 14 apresenta os valores das métricas obtidos para as consultas executadas pelos participantes do domínio de estudantes de Ciência da Computação e áreas afins.

Tabela 14 - Valores das Métricas para o Domínio de Estudantes. Entrevistado Consulta Precisão com

contexto Precisão sem contexto Cobertura com contexto Cobertura sem contexto 1 1 37,5% 6,25% 75 % 50% 2 30 % 3,12 25 % 8,3 2 1 44 % 33,33% 100% 75% 2 31 % 9,37% 41 % 25% 3 1 44 % 22% 100% 50% 2 47 % 18,75% 91 % 50% 4 1 40 % 40% 100% 100% 2 22,22 % 9,75% 33,33 % 25% 5 1 33,33 % 11% 75 % 25% 2 39 % 18,75% 91 % 50% 6 1 50 % 50% 100 % 100% 2 17,39 % 12,5% 33,33 % 33,33% 7 1 48% 46% 100% 100% 2 18% 14% 33,33% 25%

As duas consultas criadas pelo especialista no domínio de estudantes e executadas pelos demais participantes foram:

Q1 =

SELECT book.name, language.name as language, category.name as category FROM book, language, category

WHERE book.language_id = language.id and book.category_id = category.id and category.name like '%computação%'.

Q2 = SELECT book.* FROM book

Novamente, ambas as consultas não são muito restritivas e isso permitiu que mais alterações fossem realizadas. Mas, a consulta Q1 impos uma restritiva de categoria que limitou um pouco a reescrita.

Análise dos Resultados

A Figura 22 apresenta o gráfico dos resultados para a métrica precisão obtidos com consultas executadas com e sem contexto para os diversos domínios.

Figura 22 - Precisão das Respostas das Consultas.

Na Figura 22, o eixo x apresenta cada consulta submetida, e o eixo y mostra o valor (porcentagem) da precisão obtida sem e com contexto. Ao analisarmos os dados, é possível observar que, em geral, as consultas com contexto tiveram valores de precisão maiores do que as consultas sem contexto. Isso mostra que as consultas realizadas com reescrita baseada no contexto adquirido tiveram um maior número de respostas consideradas relevantes em relação às mesmas consultas originais, as quais não foram reescritas pela CORE. Por exemplo, a consulta 23 reescrita teve um valor 14 vezes maior de precisão em comparação com a mesma consulta sem contexto. Esses números mostram que a consulta reescrita foi 14 vezes mais precisa do que a consulta original e isso implica no retorno de um número maior de respostas consideradas relevantes pela consulta reescrita.

000% 010% 020% 030% 040% 050% 060% 070% 080% 090% 100% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Prec is ão Consultas

Precisão das Respostas

Há casos em que a precisão da consulta original obteve um valor maior em relação ao obtido pela consulta reescrita, por exemplo, na consulta 2. Tal fato ocorre em consultas que são muito restritas, acarretando uma menor quantidade de respostas retornadas. Desse modo, ao se aplicar a fórmula da precisão sobre os valores obtidos, o denominador da fórmula terá um valor pequeno, gerando, assim, uma precisão maior.

Nesse mesmo cenário, quando uma consulta for submetida a CORE, pode ocorrer de uma restrição forte ser suavizada e, com isso, a consulta reescrita retornar mais respostas do que na consulta original. Assim, essa suavização traz mais respostas. Ao se calcular a precisão

Documents relatifs