1) Quais fatores interferem na "melhor resposta"
- Confiabilidade da fonte: Se as fontes X e Y foram escolhidas para montar o KG pq apresentam confiabilidade adequada para quem construiu o KG então esse pode ser um fator para definir a melhor resposta. Supondo que as afirmações x1 (de X) e y1 (de Y) são resultados para a busca, o critério de ordenação na resposta pode ser a fonte. Cada fonte, da dimensão contextual Proveniência, receberia uma pontuação de confiabilidade.
fonte fromContext Proveniência
confiabilidade entityOrdering fonte
- Confiabilidade que o usuário tem na fonte != confiabilidade da fonte: o usuário pode mudar o critério de ordenação na aplicação, depois de receber a "melhor resposta"
- outras dimensões contextuais podem ser consideradas como critérios de ordenação e filtro para "melhor resposta"
- Temporal: ordenar da mais recente para a mais antiga OU ordenar da mais longa para a mais curta em tempo
- Espacial: ordenar da mais próxima para a mais longe OU da mais abrangente para a mais localizada
- Temática: ordenar da do tópico mais geral (mais abrangente) para o mais específico
- sistema permite estender os critérios
Seria o caso de ter um vocabulário para definir os critérios: novas dimensões (typeOf Dimensão Contextual), predicados associados as dimensões (fromContext), operações sobre os valores dos predicados (valueOrdering), operações sobre atributos de entidades ligadas por esse predicados (entityOrdering)
2) Pergunta completa x incompleta
Se modelar a tarefa (objetivo da busca) e definir um conjunto de perguntas (com as respectivas consultas), alinhadas com a tarefa, que tenham slots para o usuário preencher e restringir a essas perguntas então a pergunta está completa.
Se modelar a tarefa (objetivo da busca) e definir um conjunto de perguntas (com as respectivas consultas), alinhadas com a tarefa, que tenham slots para o usuário preencher mas permitir que o usuário formule as perguntas então a pergunta do usuário pode ser incompleta.
Estratégia
- Realizar a correspondência (sintática ou semântica) da pergunta do usuário nas perguntas modeladas
- Se mapeada com sucesso
- Responde considerando que a tarefa é conhecida e consequentemente a consulta no KG também
- Se não mapeada
- Responde realizando a correspondência (sintática ou semântica) com as afirmações contextualizadas existentes no KG pois não tem tarefa + consulta conhecida
- Solicita ao usuário que registre a tarefa e armazena no log junto com a pergunta
3) Exemplo da modelagem de Tarefa
Usuário: Área de Comunicação Institucional da PUC
Tarefa: Buscar especialistas em um domínio para conceder entrevistas
Perguntas: Quem na PUC trabalha com <Q>?
T1 typeOf Tarefa
T1 description "Buscar especialistas em um domínio para conceder entrevistas"
P1 forTask T1
P1 questionText "Quem na PUC trabalha com <Q>?"
Q1 forQuestion P1
Q1 queryText "SELECT ...."
Fluxo de interação para "melhor resposta":
- Usuário preenche o <Q>
- O sistema tem uma consulta fixa que traduz "trabalha com" em um subgrafo e recupera os vértices do tipo pesquisador/professor que correspondem a Quem.
- Aplica nesse subgrafo o filtro referente ao match sintático entre <Q> e os literais selecionados nesse subgrafo.
- Ordena os pesquisadores/professores pelo volume de produção uma vez que assume que quanto mais volume mais especialista é .... (diferente de Information Retrieval não é um critério agnóstico da tarefa)
Posso melhorar a resposta? Sim ... então existem outras especificações possíveis para "a melhor resposta"
(1) realizando um match semântico uma vez que o usuário pode usar palavras diferentes do que o pesquisador especificou no Lattes mas que tenham o mesmo significado.
(2) incluindo mais informações na base que possam significar "trabalha com" como por exemplo projetos de pesquisa que estão no Lattes
(3) ordenar por um critério de pontuação onde produções mais recentes recebam mais peso que produções mais antigas
Perguntas com Contexto Temporal: Quem na PUC trabalhou com <Q> nos últimos 5 anos?
T1 typeOf Tarefa
T1 description "Buscar especialistas em um domínio para conceder entrevistas"
P1 forTask T1
P1 questionText "Quem na PUC trabalha com <Q>?"
Q1 forQuestion P1
Q1 queryText "SELECT ...."
Temporal typeOf Dimensão Contextual
dataPublicação fromContext Temporal
C1 contextFilter year(today) - year(dataPublicaçãoValor) >= 5
4) Definição de KG
Ou seja, KGs não são um modelo de dados com estrutura e linguagem e sim bases de conhecimento (Knowledge Bases - KB) [Weikum 2021] do tipo semantic networks representadas através de modelos de dados de grafos existentes. Aqui se faz necessário ressaltar que a definição de conhecimento não implica em ação, ou seja, não corresponde à definição de Charles S. Peirce que estabeleceu que conhecimento é uma informação em que se acredita o suficiente para tomada de decisão (act in) [Bergman 2018]. KB foram definidas dentro do campo de estudo de Knowledge Representation (KR) como uma coleção de estruturas simbólicas usadas para representar proposições acreditadas (crenças) por algum suposto agente.No caso das semantic networks essas proposições são modeladas como um grafo. Um KB não representa todas as proposições acreditadas por esse agente, sendo por natureza incompleto, porém o conjunto de proposições pode ser usado para gerar novas proposições.KG podem representar crenças e afirmações justificadas de diferentes agentes, ainda assim são incompletos, e também possuem a capacidade de geração de novo conhecimento, ou seja, KGs são capazes de utilizar reasoners e redes neurais para deduzir relacionamentos implícitos entre nós originalmente isolados, completando o próprio KG [Arenas et al 2021]. Ao usar um grafo como recurso de abstração para representar o conhecimento é possível gerar mais conhecimento através das conexões entre as afirmações e essas conexões podem se revelar por caminhos no grafo ligando entidades, conceitos ou valores de propriedades (nós) através de afirmações (arestas) assim como pelo compartilhamento de um contexto em comum que pode representar a concomitância de ocorrência temporal de afirmações, proximidade geográfica de afirmações, semelhança temática de afirmações, entre outros fenômenos.
5) Exemplo para modelagem de triplas x hiper relacional
Salvador foi capital do Brasil entre 1549 a 1763
Brasília é capital do Brasil desde Abril 1960
Triplas
Hiper relacional
Afirmações
6) Information Seeking extrapola Information Retrieval a medida que foca no usuário, na tarefa que ele quer resolver, na escolha das fontes de informação, nas navegações realizadas nessas fontes, nas demais interações fora de sistemas (com pessoas e com outros objetos que contém informação).
Exploratory Data Analysis é uma especialização de Information Seeking onde o usuário tem uma hipótese e um conjunto de dados e usa um modelo para analisar esses dados e verificar se a hipótese é verdadeira ou não. Não está no escopo dessa pesquisa.
Sistemas de Recomendação oferecem informações potencialmente úteis considerando que o usuário possui necessidades de informação em comum com outros usuários semelhantes (collaborative filtering CF) ou que as informações oferecidas são semelhantes a informações consumidas anteriormente (content-based filtering CB). No caso de CF é difícil justificar as informações oferecidas uma vez que seria necessário mostrar como se chega na relação Usuário1 é semelhante ao Usuário2. No caso de CB o usuário pode reconhecer a semelhança entre a informação recomendada e a informação anteriormente buscada/consumida mas caso a necessidade de informação mude esse histórico pode não ser útil para as novas tarefas.
Crowdsourcing poderia ser mais uma "fonte de informação" para o KG, ou seja, cada afirmação pode ser associada a quem a forneceu (Fulano disse que a capital do Brasil é Brasília). A Wikidata é construida por crowdsourcing mas é possível informar uma URL para a fonte original da informação inputada.
Exemplo de Pergunta: Qual a cotação do dólar?
ResponderExcluirRespostas possíveis:
Se você vai viajar para os EUA, a cotação do dólar americano para turismo hoje é xxxxx
Se você quer realizar uma compra internacional em um site, a cotação do dólar americano comercial hoje é yyyyy
Mas existem várias cotações do dólar, para compra ou para venda, comercial ou turismo, americano, canadense, australiano, etc ...
Por mais que "a maioria dos casos" seja atendida por dois cenários ainda existem outros cenários na "cauda longa" que precisam ser tratados então, ao invés de assumir um cenário como provável e ignorar outros, pode ser interessante modelar os cenários (tarefas) e as respostas mais adequadas a cada um (consultas) mesmo que para a um única pergunta e ao responder associar cada resultado ao cenário que satisfaz.
Além disso, se considerarmos que a pergunta está incompleta ou não foi corretamente formulada é possível que outros cenários também sejam compatíveis como por exemplo
Se vc precisa decidir se vai aplicar em dólar, a cotação do dólar americano comercial nos últimos 12 meses variou de zzzzz a wwww
Ou seja, mesmo a pergunta sendo "qual a cotação do dolar", a pergunta mais adequada seria "qual a variação da cotação do dólar no último ano"
Como avaliar se a resposta foi satisfatória? A informação foi usada na tomada de decisão ou A informação foi incorporada como aprendida pelo usuário e será usada posteriormente.
ResponderExcluirA busca recupera possíveis respostas, alguma atendeu?
A que atendeu estava entre as primeiras opções ou foi necessário mais navegação para chegar na informação que atendeu?
>> Feedback do usuário
Se a base não tem a resposta, essa é a melhor resposta. A base tem um universo de discurso (domínio) sobre o qual pode responder, como identificar uma pergunta ou uma necessidade de informação que não está dentro dessa universo? Além disso a base é incompleta por natureza, como identificar se mesmo dentro do universo de discurso, não é possível responder pq nenhuma afirmação corresponde a uma "melhor resposta".
Perguntas completas e não ambíguas (contextualizadas) podem ter respostas precisas em sistemas de IR, DR e QA mas vamos seguir com a "melhor resposta". Cada afirmação tem uma justificativa na KB mas nenhuma pode ser considerada verdadeira ou falsa por si logo a "melhor resposta" pode não ser "a resposta". A melhor resposta implica em responder afirmações contextualizadas e não dar uma resposta direta, fornecer possíveis respostas como alternativas justificadas, principalmente se houverem conflitos entre as afirmações de modo a permitir que o usuário analise e decida qual ele considera verdadeira. A "melhor resposta" pode filtrar afirmações caso o usuário seja específico sobre dimensões contextuais de interesse. Por exemplo, se o usuário estiver interessado somente em afirmações recentes (contexto temporal), afirmações referentes a proximidade de seu local ou a uma região específica (contexto espacial), afirmações proveniente de fontes que considera confiáveis (contexto de proveniência), afirmações vigentes (contexto situacional), afirmações acerca de um determinado assunto (contexto temático), etc ...