Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DYNAMIC MANAGEMENT SYSTEM FOR USER-CONTEXTUALIZED WEB INTERFACES AND RELATED OPERATING METHOD
Document Type and Number:
WIPO Patent Application WO/2020/188536
Kind Code:
A1
Abstract:
The present invention relates to a solution that enables the dynamic real-time management of user-contextualized web interfaces. The solution involves a system comprising a client web browser (1), a web server (2), an artificial-intelligence module (3), an interface-management module (4) and a database (5).

Inventors:
DA SILVA FURÃO SARA (PT)
MIGUEL SOUSA JORGE (PT)
MIGUEL MONTEIRO JORGE (PT)
Application Number:
PCT/IB2020/052592
Publication Date:
September 24, 2020
Filing Date:
March 20, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALTICE LABS SA (PT)
International Classes:
G06F9/451; G06F3/048; G06F16/95; G06N20/00
Domestic Patent References:
WO2010048274A22010-04-29
Foreign References:
US20170371404A12017-12-28
EP1971118A12008-09-17
EP1170659A22002-01-09
Other References:
XIANGNAN HE ET AL: "Neural Collaborative Filtering", WORLD WIDE WEB, INTERNATIONAL WORLD WIDE WEB CONFERENCES STEERING COMMITTEE, REPUBLIC AND CANTON OF GENEVA SWITZERLAND, 3 April 2017 (2017-04-03), pages 173 - 182, XP058327166, ISBN: 978-1-4503-4913-0, DOI: 10.1145/3038912.3052569
Attorney, Agent or Firm:
PEREIRA DA CRUZ, João (PT)
Download PDF:
Claims:
RE IVINDICAÇÕES

1. Sistema de gestão dinâmica de interfaces web contextuali zadas por utilizador, caracteri zado por compreender :

— um servidor web (2), adaptado a hospedar pelo menos um conteúdo web;

— um navegador web cliente (1), adaptado a interagir com o pelo menos um conteúdo web hospedado no servidor web (2);

— um módulo de Inteligência Artificial (3);

— um módulo gerador de interface (4) ;

— uma base de dados (5), configurada para armazenar parâmetros de entrada relacionados com: identificação do conteúdo web, identificação do utilizador e conjunto de interações deste com o web browser cliente (1), no âmbito do conteúdo web identificado;

em que :

— O servidor web (2) encontra-se conectado à base de dados (5), estando configurado para controlar o acesso e armazenamento de parâmetros de entrada na referida base de dados ( 5 ) ;

— 0 módulo de Inteligência Artificial (3) compreende requisitos computacionais programados para gerar pelo menos um layout alternativo para o conteúdo web, com base nos parâmetros de entrada;

— O módulo gerador de interface (4) compreende requisitos computacionais configurados para gerar dinamicamente e em tempo real um novo layout para o conteúdo web, com base no layout alternativo gerado pelo módulo de

Inteligência Artificial.

2 . Sistema de acordo com a reivindicação 1, caracterizado por servidor web (2) compreender adicionalmente um módulo de tratamento de dados, configurado para formatar os parâmetros de entrada em vareáveis do tipo categórico ou numérico .

3 . Sistema de acordo com qualquer uma das reivindicações anteriores, caracterizado por o módulo de

Inteligência Artificial (3) ser programado para executar um algoritmo classificador baseado em rede neuronal profunda.

4 . Sistema de acordo com a reivindicação 3, caracterizado por o modelo executado no módulo de Inteligência

Artificial (3) ser aplicado a uma matriz de interações (M) , em que :

onde, x: utilizador, y : conteúdo web, k: no de interações, i: no de componente do conte j: no de caracteristicas total (j dependente de i ) .

5 . Sistema de acordo com qualquer uma das reivindicações anteriores, caracterizado por o servidor web (2) ser do tipo servidor-render ou cliente-render.

6. Método de operação do sistema de gestão dinâmica de interfaces web contextualizadas por utilizador, das reivindicações 1 a 5, caracterizado por compreender os seguintes passos:

i. Servidor web (2) solicita credenciais a um utilizador (A) ;

ii . Envio de dados de autenticação de utilizador (B) do navegador web cliente (1) para o servidor web (2);

iii . Envio de parâmetros de entrada (C) do navegador web cliente (1) para o servidor web (2);

iv. Tratamento de dados dos parâmetros de entrada pelo servidor web (2);

v. Armazenamento (E) dos parâmetros de entrada na base de dados ( 5 ) ;

vi. Envio do dos parâmetros de entrada formatados (D) para o módulo de Inteligência Artificial (3);

vii . Identificação de um layout predominante (F) ;

viii . Envio de informação relativa ao layout predominante (G) do módulo de Inteligência Artificial (3) para o módulo de geração de interface (4);

ix. Geração de ficheiro JSON (H) pelo módulo de geração de interface (4);

x. Envio de ficheiro para o servidor web (2) que, com base nessa informação constrói a interface personalizada e adaptável para o utilizador; xi . Envio da interface personalizada para o navegador web cliente ( 1 ) .

7 . Método de acordo com a reivindicação 6, caracterizado por a etapa de tratamento de dados envolver a conversão dos parâmetros de entrada em variáveis numéricas.

8. Método de acordo com qualquer uma das reivindicações 6 e 7, caracterizado por a etapa vii . envolver análise e processamento da matriz de interações (M) .

9 . Método de acordo com qualquer uma das reivindicações anteriores, caracterizado por a identificação de um layout predominante recorrer a um algoritmo classificador baseado em rede neuronal profunda.

Description:
SISTEMA DE GERAÇÃO DINÂMICA DE INTERFACES WEB

CONTEXTUALIZADAS POR UTILIZADOR E RESPETIVO MÉTODO DE

OPERAÇAO

CAMPO DA INVENÇÃO

A presente invenção enquadra-se no campo da geração dinâmica de interfaces web. Em particular, a presente invenção insere-se no domínio das interfaces web personalizáveis em função dos utilizadores.

ANTECEDENTES DA INVEÇÃO

Devido ao crescimento exponencial na utilização de aplicações web e móveis, os sistemas de informação estão cada vez mais complexos, sofrendo mudanças e transformações cada vez mais rápidas, sendo uma necessidade dos sistemas de suporte a de evoluírem e se adaptarem, com igual rapidez, a esta nova realidade e experiência. A criação de conteúdos web adaptáveis, tais como páginas ou aplicações web, proporciona interações mais ricas ao utilizador, contextualizadas na sua utilização diária, tornando as interfaces "inteligentes" e melhorando, desta forma, as interações entre os utilizadores e estes sistemas .

Os conteúdos web são tipicamente desenvolvidos utilizando estruturas de código, doravante designadas de frameworks, de alto-nível, ou tecnologia de desenvolvimento de software web. As frameworks web de nova geração orientadas a componentes web, permitem a criação e a reutilização de componentes. São exemplos de frameworks web a React.js, a Angular.js ou a Vue.js, que têm como objetivo agilizar e facilitar o processo de criação de componentes web. No entanto, na sua génese, todos eles implicam estágios de programação, em muitos casos, extremamente exigentes. As frameworks de alto- nível, por outro lado, permitem que qualquer pessoa sem grande conhecimento em programação, possa criar o seu próprio conteúdo web, tal como websíte ou aplicação web, porque em teoria, apenas é necessário arrastar e soltar elementos para os compor de forma mais intuitiva, tornando o processo automatizado e dinâmico. São conhecidas como frameworks WYSIWYG, "What You See Is What You Get" . Exemplos deste tipo de frameworks são a OutSystems, a Salesforce, a Mendix, a SkavaSTUDIO ou a Wix .

A utilização de tecnologias referidas anteriormente em complementaridade com algoritmos de aprendizagem automática para deteção de padrões de comportamento nas interações (que cada utilizador tem com a interface), permite que soluções como o Facebook, Amazom, ou mesmo a Netflix, consigam ajustar o conteúdo apresentado ao utilizador em questão, melhorando desta forma a experiência de utilização.

No entanto, nenhuma das frameworks existentes de desenvolvimento web, utiliza o conhecimento do utilizador, em particular as suas preferências e padrões de interação com o sítio web ou aplicação web, para ajustar a forma de apresentação/estrutura (layout) do respetivo conteúdo web, dinamicamente e em tempo-real. PROBLEMAS TÉCNICOS RESOLVIDOS

Na presente invenção, pretendeu-se desenvolver uma solução para a criação ou alteração de interfaces gráficas, adaptáveis a um utilizador, que se caracteriza por implementar processos automatizados, dinâmicos e recorrendo a Inteligência Artificial de forma a garantir a correta adaptação das mesmas às necessidades contextuali zadas ao seu uso por diferentes utilizadores .

A presente invenção descreve uma solução para geração dinâmica de interfaces web contextualizadas em função do utilizador, representando uma alternativa à criação ou alteração manual de interfaces gráficas que, dado os esforços avultados que implicam para os gestores dos respetivos conteúdos web, inviabilizam, muitas vezes, as suas personalizações em tempo útil.

SUMÁRIO DA INVENÇÃO

É assim objeto da presente invenção, um sistema de gestão dinâmica de interfaces web contextualizadas por utilizador. O referido sistema caracteriza-se por compreender:

— um servidor web, adaptado a hospedar pelo menos um conteúdo web;

— um navegador web cliente, adaptado a interagir com o pelo menos um conteúdo web hospedado no servidor web;

— um módulo de Inteligência Artificial;

— um módulo gerador de interface;

uma base de dados; Em que :

— O servidor web encontra-se conectado à base de dados controlando o acesso e armazenamento de parâmetros de entrada na referida base de dados; os parâmetros de entrada dizendo respeito às seguintes variáveis: identificação do conteúdo web, identificação do utilizador e conjunto de interações deste com o navegador web cliente no âmbito do conteúdo web identificado;

— O módulo de Inteligência Artificial é dotado de requisitos computacionais programados para implementar um modelo de geração dinâmica de interfaces gráficas de conteúdos web, projetado para gerar pelo menos um layout alternativo para o conteúdo web, com base nos parâmetros de entrada;

— O módulo gerador de interface é dotado de requisitos computacionais configurados para gerar dinamicamente e em tempo real um novo layout para o conteúdo web, com base no layout alternativo gerado pelo módulo de Inteligência Artificial.

É, igualmente, objeto da presente invenção, um método de operação do sistema de gestão dinâmica de interfaces web contextuali zadas por utilizador desenvolvido. O referido método caracteriza-se por compreender os seguintes passos: i. Servidor web solicita credenciais a um utilizador; ii. Envio de dados de autenticação de utilizador do navegador web cliente para o servidor web;

iii. Envio de parâmetros de entrada do navegador web cliente para o servidor web;

iv. Tratamento de dados dos parâmetros de entrada; v. Armazenamento dos parâmetros de entrada na base de dados ;

vi. Envio dos parâmetros de entrada já formatados para o módulo de Inteligência Artificial;

vii. Identificação de um layout predominante com base na execução de um algoritmo de Classificação de rede neuronal profunda ( Deep Neural Network Classifier) ;

viii. Envio de informação relativa ao layout predominante (G) do módulo de Inteligência Artificial para o módulo de geração de interface;

ix. Geração de ficheiro JSON;

x. Envio de ficheiro para o servidor web que, com base nessa informação constrói a interface personalizada e adaptável para o utilizador;

xi . Envio da interface personalizada para o navegador web cliente.

DESCRIÇÃO DAS FIGURAS

Na figura 1, é apresentado conceptualmente o sistema de geração dinâmica de interfaces web desenvolvido, onde os sinais numéricos de referência significam:

1 - navegador web cliente;

2 - servidor web;

3 - módulo de Inteligência Artificial;

4 - módulo gerador de interface;

5 - base de dados.

A Figura 2 ilustra o fluxo de operações executadas entre os elementos constituintes do sistema desenvolvido, onde os sinais de referência significam:

1 - navegador web cliente;

2 - servidor web;

3 - módulo de Inteligência Artificial;

4 - módulo gerador de interface;

5 - base de dados;

A - solicitação de credenciais de utilizador;

B - autenticação de utilizador;

C - envio de parâmetros de entrada;

D - envio de parâmetros de entrada formatados;

E - armazenamento e/ou acesso a parâmetros de entrada;

F - identificação de layout predominante;

G - envio de identificação do layout predominante;

H - geração de ficheiro JSON;

I - envio de interface web personalizada para o navegador web cliente.

A Figura 3 esquematiza o método de operação do sistema de geração dinâmica de interfaces web desenvolvido, ilustrando o carácter recursivo do mesmo, e onde os sinais de referência significam:

A - solicitação de credenciais de utilizador;

B - autenticação de utilizador;

C - envio de parâmetros de entrada;

D - envio de parâmetros de entrada formatados;

E - armazenamento e/ou acesso a parâmetros de entrada;

F - identificação de layout predominante;

G - envio de identificação do layout predominante; H - geração de ficheiro JSON;

I - envio de interface web personalizada para o navegador web cliente.

DESCRIÇÃO DETALHADA DA INVENÇÃO

A presente invenção tem como principal objetivo a definição e a implementação de metodologias baseadas em Inteligência Artificial, em particular técnicas de aprendizagem automática, para geração de interfaces web dinâmicas, em tempo real, e adaptáveis de acordo com os comportamentos e caracteri sticas de um utilizador.

Deste modo, a criação de conteúdos web, tais como aplicações ou páginas web, adaptáveis e contextualizadas, proporcionam interações mais ricas, permitindo que os servidores web (2) modelem a informação disponibilizada por navegador web cliente (1) - interface para um determinado conteúdo web hospedado num servidor web (2) - entregando a informação da melhor forma possível, com uma melhor experiência de utilização.

A presente invenção descreve uma solução que permite gerar dinamicamente interfaces web, em tempo-real e contextualizadas por utilizador. Ou seja, para cada utilizador existe uma combinação identificativa, eleita por um modelo estatístico matemático Ml (f) , que permite gerar o layout no momento que é feito o logín numa aplicação ou sítio web por um utilizador .

O sistema é definido através de uma arquitetura composta por um servidor web (2) , um navegador web cliente (1) , um módulo de Inteligência Artificial (3), um módulo gerador de interface (4) e uma base de dados (5) .

De forma mais particular, o servidor web (2) representa a interface do utilizador, através do navegador web cliente (1), com o conteúdo web nele hospedado. É responsável por interagir com o navegador web do cliente (1), podendo tanto funcionar como servidor render - HTML gerado do lado do servidor - ou cliente render - HTML gerado no browser. O servidor web (2) encontra-se conectado à base de dados (5) de forma a poder aceder e aí armazenar parâmetros de entrada recolhidos pelo navegador web cliente (1) . Os parâmetros de entrada são variáveis que permitem a identificação do conteúdo web, a identificação do utilizador e a identificação das interações deste com o navegador web cliente (1), no âmbito do conteúdo web identificado. Os referidos parâmetros de entrada são a base do sistema desenvolvido, sendo posteriormente encaminhados para o módulo de Inteligência Artificial (3) .

O módulo de Inteligência Artificial (3) é constituído por requisitos computacionais programados para implementar um modelo de geração dinâmica de interfaces web, projetado para gerar pelo menos um layout - modo de distribuição e arranjo de conteúdos web no navegador web cliente (1) - alternativo adaptável a cada utilizador, com base nos parâmetros de entrada recolhidos a partir da navegação do utilizador no navegador web cliente ( 1 ) .

A execução do modelo envolve uma etapa de treino e uma etapa de teste. Para treinar o modelo recorre-se aos parâmetros de entrada que resultam da interação de cada utilizador com o navegador web cliente (1) . Este conjunto de parâmetros permitir oferecer informação relevante ao modelo, de modo a que as suas previsões possam, de forma continuada e recursiva, oferecer a cada utilizador, individualmente, uma interface cada vez mais adaptada. Para recolha dos parâmetros de entrada, foi adotada uma abordagem discreta, onde são armazenados dados relativos às interações que os utilizadores vão tendo com o navegador web cliente (1), de modo a obter um padrão de comportamento e de preferências (por exemplo, quais elementos ou que caracteristicas o utilizador selecionou) . Para cada utilizador, previamente autenticado no sistema, são recolhidos os seguintes parâmetros de entrada durante as interações: 1) identificação de utilizador, 2) identificação de conteúdo web que se está a utilizar e 3) entidade selecionada. O modelo desenvolvido pressupõe as seguintes caracteristicas :

Utilizador :

Todo o sistema pressupõe uma autenticação para que os parâmetros de entrada, que são a base do modelo de geração dinâmica de interfaces web desenvolvida, possam ser associados a um determinador utilizador e, com base nisso, sejam gerados os layouts alternativos.

Conteúdo web:

Por conteúdo web pretende fazer-se referência a uma aplicação ou página web. À semelhada da identificação do utilizador, a identificação do conteúdo web é importante para que lhe possam ser associados os correspondentes dados de interações do utilizador, que estarão na génese da adaptação a produzir ao layout deste.

Entidade :

A entidade é uma representação de um conjunto de informações sobre determinado conceito do conteúdo web. Toda a entidade possui atributos, que são as informações que referenciam a entidade. Uma entidade poderá ter associado diversos componentes web tais como menus de filtragem, tabelas ou caixas de textos, entre outros, cada um deles com caracteri sticas intrínsecas (ex: ordenação de uma tabela, número de registos apresentados, zoom) que poderão ser modeladas .

Os parâmetros de entrada são armazenados numa base de dados (5) que se encontra conectada ao servidor web, para posteriormente serem dados de entrada para o modelo Ml (f) . Relativamente às interações do utilizador com o navegador web cliente (1), estas são recolhidas de forma não intrusiva, dizendo respeito a informação de utilização dos componentes web, incluindo a sua identificação bem como caracteristicas e graus de liberdade que os compõem. Cada componente web (tabelas, caixas de texto, etc.) herda a mesma estrutura no seio do sistema, permitindo a existência de caracteri sticas /padrões comuns, tais como: identificação do componente, nome, visibilidade, entre outras caracteristicas ; relação entre componentes, isto é, se têm a capacidade de interagir entre si.

Antes de os parâmetros de entrada serem transmitidos para o módulo de Inteligência Artificial (3), passam por uma etapa prévia de adaptação do seu formato ao algoritmo subjacente ao modelo a implementar. Neste particular, apesar de os dados relativos aos parâmetros de entrada poderem ser tanto discretos (numéricos) como categóricos, visto que a maior parte dos algoritmos de aprendizagem automática que podem ser executados pelo módulo (3) obtém melhores resultados a nível de performance quando tem dados binários como dados de entrada, optou-se por o modelo trabalhar com representações de dados em vetores numéricos. Desta forma, o modelo irá receber o conjunto de parâmetros de entrada, enviados pelo servidor web (2) já tratados .

Nesse sentido, e tendo em conta o tipo de dados recolhido (vetorial numérico) , a representação genérica do modelo implementado pelo módulo de Inteligência Artificial (3) recorre a um algoritmo de classificação de rede neuronal profunda ( Deep Neural Network Classifier) , sendo ideal para modelos profundos que realizam classificações multi-classe (cada classe representa um layout) através de redes neurais avançadas, que se baseia na análise e processamento de uma matriz (M) de interações, cujas linhas (i) da matriz representam os componentes web (qualquer tipo de componente pode ser modelado), e as colunas (j) da matriz representam o total de características de todos os componentes. Sendo que (j) depende de (i) , pois o n° de características varia consoante os componentes do conteúdo web (y) . Esta matriz é influenciada pelo conteúdo web, pelo utilizador, e pelas entidades presentes no respetivo conteúdo web. A entidade é representada como um componente da matriz, onde (k) representa o n° de interações que o utilizador teve até ao momento.

(Eq . 1 ) x : utilizador,

y: conteúdo web,

k: n o de interações,

i: n o de componente do conteúdo web y, j: n o de caracteristicas total (j dependente de i )

Após a obtenção da matriz (M) , é aplicado um modelo Ml (f) ao conjunto de matrizes. Para cada matriz, o modelo Ml retorna o layout alternativo.

(Eq . 2 ) f: modelo de ML

M k : Matrizes

Por fim, é aplicada a moda ao conjunto de layouts alternativos, de modo a obter o layout predominante.

(Eq . 3) O módulo gerador de interface (4), está em conexão com o módulo de Inteligência Artificial (3), e encontra-se dotado de requisitos computacionais programados para gerar, de forma dinâmica e em tempo-real, um novo layout contextualizado por utilizador, passível de ser consumido pelo servidor web (2) , com base na identificação do layout predominante gerado pelo módulo de Inteligência Artificial (3) .

A presente invenção descreve igualmente um método de operação do sistema de geração dinâmica de interfaces web, o referido método compreendendo os seguintes passos: i. Extração de Recursos: é realizada a recolha de parâmetros de entrada relevantes para a personalização a efetuar no layout do conteúdo web a apresentar pelo navegador web cliente (1) . Essa recolha é efetuada pelo navegador web do cliente (1), durante o período em que o utilizador está a interagir com este, sendo a dita recolha completamente não intrusiva e apenas dependente das interações efetuadas durante a navegação. Por abordagem não intrusiva, no contexto da presente invenção, entenda-se como o utilizador não ser importunado com questões cujas respostas dadas contribuam para a definição do seu "perfil", como os seus gostos pessoais, preferências, etc. ii. Envio e tratamento dos dados: os parâmetros de entrada recolhidos pelo navegador web cliente (1) são posteriormente enviados para o servidor web (2), sendo ai submetidos a vários processos de tratamento de dados (discretização, conversão binária), antes de serem enviados para o módulo de Inteligência Artificial (3), de modo a apresentarem um formato que seja interpretável por parte deste. iii. Modelo de geração dinâmica: Uma vez os parâmetros de entrada devidamente formatados, o servidor web (2) envia-os para o módulo de Inteligência Artificial (3), que os irá processar de acordo com um modelo desenvolvido para geração dinâmica de interfaces web contextualizadas por utilizador, que recorre a um algoritmo classificador baseado em rede neuronal profunda ( Deep Neural Network Classifier) , para análise e processamento da matriz de interações (M). O módulo de Inteligência Artificial (3) recebe os parâmetros de entrada tratados e separa-os em dois conjuntos de dados, um para ser usado por um bloco de treino e outro por um bloco de teste. Os parâmetros de entrada ilustram o comportamento e as preferências de cada utilizador perante uma interface web de um conteúdo web especifico, que lhe é apresentada através do navegador web cliente (1), pelo que, nesse sentido, o bloco de treino é utilizado para construir o classificador - modelo a implementar - que irá analisar e processar a matriz de interações (M). Quanto maior for este conjunto, maior será a precisão do classificador obtido, porque quantos mais dados conseguir testar mais probabilidade tem de acertar a previsão. O bloco de teste é utilizado para estimar o desempenho do classificador, avaliando desta forma precisão do modelo. O resultado da aplicação do modelo de geração dinâmica de interfaces web desenvolvido é a identificação de um layout predominante, cuja identificação será enviada para o módulo de gerador de interface ( 4 ) . iv. Geração dinâmica de interface web: o módulo gerador de interface (4) recebe a identificação do layout predominante, atribuído pelo modelo para o utilizador em específico, sendo responsável por interpretar os componentes web que o compõem, gerando assim um ficheiro em formato compacto de padrão aberto independente, do tipo JSON, com a configuração dos componentes web que compõem esta combinação de saída - layout web. O ficheiro JSON gerado irá alimentar o servidor web (2) que, com base nesta informação, constrói a interface personalizada e adaptável para o utilizador, que posteriormente irá ser usada pelo navegador web cliente (1) . Ou seja, os layouts, modelados numa linguagem descritiva, apresentam a mesma estrutura base geral, pelo que o motor do gerador do servidor web (2) se limita a navegar por essa estrutura de forma recursiva, mapeando os atributos em objetos JavaScript. Estes são os objetos/componentes web que irão materializar o layout recomendado.

As características técnicas constituintes da presente invenção, nas suas demais combinações, são adequadas para gerar dinamicamente, em tempo real, interfaces web, que se vão adaptando/evoluindo a cada utilizador ao longo do tempo. Desta forma, a invenção permite que os conteúdos web, tais como aplicações/páginas web, consigam disponibilizar a mesma informação, mas em diferentes perspetivas de interfaces, oferecendo acesso rápido e facilitado a serviços especializados relacionados com o perfil e preferências de cada utilizador.

Como será evidente a um perito na especialidade, a presente invenção não deverá estar limitada aos modos de realização descritos no presente documento, sendo possíveis diversas alterações que se mantêm no âmbito da presente invenção .

Evidentemente, os modos preferenciais acima apresentados são combináveis, nas diferentes formas possíveis, evitando-se aqui a repetição de todas essas combinações.