Bibliotecas e ferramentas para ativar as experiências de usuário orientadas a dados na Web.
Para usuários do webpack:
Instale e configure o plug -in de adivinhação - o plug -in adivinhe.js webpack, que automatiza o máximo possível do processo de configuração para você.
Se você deseja experimentar os módulos que oferecemos individualmente, o diretório packages contém três pacotes:
ga - Um módulo para buscar dados estruturados da API do Google Analytics para aprender sobre os padrões de navegação do usuário.parser - um módulo que fornece a análise de estrutura de JavaScript. Isso pode ser implementado os recursos de busca de rota implementados no plug-in de adivinhação do WebPack.webpack - um plug -in do WebPack para configurar a busca preditiva em seu aplicativo. Ele consome os módulos de ga e parser e oferece um grande número de opções para configurar como a busca preditiva deve funcionar em seu aplicativo.Para usuários não-webpack:
Nosso fluxo de trabalho preditivo de busca para sites fornece um conjunto de etapas que você pode seguir para integrar a busca preditiva usando a API do Google Analytics ao seu site.
Este repositório usa dados do Google Analytics para determinar qual página um usuário provavelmente visitará a seguir de uma determinada página. Um script do lado do cliente (que você adicionará ao seu aplicativo) envia uma solicitação ao servidor para obter o URL da página que ele deve buscar e, em seguida, pré-acerta esse recurso.
A PRESTEM.JS fornece bibliotecas e ferramentas para simplificar abordagens preditivas orientadas por análise de dados de dados para melhorar as experiências do usuário na web. Esses dados podem ser acionados por qualquer número de fontes, incluindo modelos de análise ou aprendizado de máquina. A PRODENT.JS pretende diminuir o atrito de consumir e aplicar esse pensamento a todos os sites e aplicativos modernos, incluindo bibliotecas e ferramentas para fluxos de trabalho populares.
A aplicação do pensamento preditivo de análise de dados em sites pode ser aplicado em vários contextos:
Ao colaborar em diferentes pontos de contato no ecossistema, onde abordagens orientadas a dados podem ser facilmente aplicadas, esperamos generalizar peças de infraestrutura comuns para maximizar sua aplicabilidade em diferentes pilhas de tecnologia.
<link rel=prefetch> para navegações futuras dependem fortemente de ler manualmente as análises descritivas para informar suas decisões sobre o que preencher.<link rel=prefetch> está atualmente usado em 5% do total de pageLoads do Chrome, mas isso pode ser maior.A primeira grande prioridade para o palpite.js melhorará o desempenho da Web através da pré -busca preditiva de conteúdo.
Ao criar um modelo de páginas, é provável que um usuário visite, dada uma página de entrada arbitrária, uma solução pode calcular a probabilidade de que um usuário visitará uma determinada próxima página ou conjunto de páginas e recursos de pré-busca para eles enquanto o usuário ainda está visualizando sua página atual. Isso tem a possibilidade de melhorar o desempenho da carga da página para visitas de página subsequentes, pois há uma forte chance de que uma página já esteja no cache do usuário.
Para prever a próxima página que um usuário deve visitar, as soluções podem usar a API do Google Analytics. Os dados da sessão do Google Analytics podem ser usados para criar um modelo para prever a página mais provável que um usuário visitará em seguida em um site. O benefício desta sessão é que eles podem evoluir com o tempo, para que, se os caminhos de navegação específicos mudarem, as previsões também podem se manter atualizadas.
Com a disponibilidade desses dados, um mecanismo pode inserir <link rel="[prerender/prefetch/preload]"> Tags para acelerar o tempo de carregamento para a próxima solicitação de página. Em alguns testes, como as cargas de página de sobrecarga de Mark Edmondson com R, isso levou a uma melhoria de 30% nos tempos de carregamento da página. A marca de abordagem usada em sua pesquisa envolvida usando tags GTM e aprendizado de máquina para treinar um modelo para previsões de páginas. Esta é uma idéia que a marca continuada no aprendizado de máquina atende à nuvem - pré -busca inteligente.
Embora essa abordagem seja sólida, a metodologia usada pode ser considerada um pouco complexa. Outra abordagem que pode ser adotada (o que é mais simples) está tentando obter dados de previsão precisos da API do Google Analytics. Se você executou um relatório para a página e a dimensão do caminho da página anterior, combinada com as visualizações de página e sai de métricas, isso deve fornecer dados suficientes para conectar pré -acessos para a maioria das páginas populares.
O ML pode ajudar a melhorar a precisão geral das previsões de uma solução, mas não é uma necessidade para uma implementação inicial. A busca preditiva pode ser realizada treinando um modelo nas páginas que os usuários provavelmente visitarão e melhorando esse modelo ao longo do tempo.
As redes neurais profundas são particularmente boas em provocar as complexidades que podem levar um usuário a escolher uma página em detrimento de outra, em particular, se quiséssemos tentar uma versão da solução que fosse atendida às páginas que um usuário pode visitar versus as páginas que um usuário "geral/mediano" pode visitar a seguir. As seqüências de página fixa (Anterior, atual, a seguir) podem ser as mais fáceis de lidar inicialmente. Isso significa criar um modelo exclusivo para o seu conjunto de documentos.
As atualizações do modelo tendem a ser feitas periodicamente; portanto, pode -se configurar um trabalho noturno/semanal para atualizar com base no novo comportamento do usuário. Isso pode ser feito em tempo real, mas provavelmente é complexo, portanto, fazê-lo periodicamente pode ser suficiente. Pode -se imaginar um modelo genérico representando padrões comportamentais para os usuários em um site que pode ser conduzido por um conjunto de status treinado, o Google Analytics ou uma descrição personalizada que você plug -in usando uma nova camada em um roteador, dando ao site a capacidade de buscar previsivamente páginas futuras, melhorando o desempenho da carga da página.
A pré -busca especulativa pode pré -buscar as páginas que provavelmente serão navegadas na carga da página. Isso pressupõe a existência de conhecimento sobre a probabilidade de que uma página precisará de uma certa página ou conjunto de páginas ou um modelo de treinamento que possa fornecer uma abordagem orientada a dados para determinar essas probabilidades.
A pré -busca na página da página pode ser realizada de várias maneiras, desde a adição da UA para decidir quando pré -procurar recursos (por exemplo, com baixa prioridade com <link rel=prefetch> ), durante o tempo de marcha lenta (via requestleCallback () ()) ou em algum outro intervalo. Nenhuma interação adicional é exigida pelo usuário.
Uma página pode começar especulativamente a pré -busca de conteúdo quando os links na página estiverem visíveis na viewport, significando que o usuário pode ter uma chance maior de querer clicar neles.
Esta é uma abordagem usada por Gatsby (que usa o Router React e React). Sua implementação específica é a seguinte:
<Link> se torna invisível, o link "votos" para a página vinculado a ser votos pré -acessíveis valem um pouco menos de pontos a cada vez, para que os links no topo da página sejam priorizados em relação aos mais baixosUma página pode iniciar os recursos de pré -busca especulativamente quando um usuário indica que está interessado em algum conteúdo. Isso pode assumir muitos formulários, inclusive quando um usuário escolhe pairar sobre um link ou alguma parte da interface do usuário que os navegaria para uma página separada. O navegador pode começar a buscar conteúdo para o link assim que houve uma clara indicação de interesse. Esta é uma abordagem adotada por bibliotecas JavaScript, como o InstantClick.
Como em qualquer mecanismo de pré -busca com antecedência, isso precisa ser abordado com muito cuidado. Um usuário em um plano de dados restrito pode não apreciar ou se beneficiar tanto com as páginas sendo buscadas com antecedência, em particular se começarem a consumir seus dados. Existem mecanismos que um site/solução pode levar para estar atento a essa preocupação, como respeitar o cabeçalho do Salve-Data.
Os links de pré -busca para as páginas "logout" provavelmente são indesejáveis. O mesmo pode ser dito de qualquer página que acione uma ação na página da página (por exemplo, compra com um clique). As soluções podem querer incluir uma lista negra de URLs que nunca são pré -procurados para aumentar a probabilidade de uma página pré -acessada ser útil.
Algumas das tentativas de realizar propostas semelhantes no passado confiaram em <link rel=prerender> . A equipe do Chrome está atualmente explorando depreciação rel = Prerender em favor do NostatePrefetch - uma versão mais clara desse mecanismo que apenas preenche para o cache HTTP, mas não usa outro estado da plataforma da Web. Uma solução deve levar em consideração se ela estará dependendo da substituição para rel = prerender ou usar abordagens de pré -busca/pré -carga/outras.
Existem duas diferenças importantes entre o NostatePrefetch e a pré -busca:
A prefoque nostata é um mecanismo e <link rel=prefetch> é uma API. A prejuízo nostata pode ser solicitada por outros pontos de entrada: previsão omnibox, guias personalizadas, <link rel=prerender> .
A implementação é diferente: <link rel=prefetch> pré-acessa um recurso, mas a preparação nostata em cima que executa o scanner de pré-carga no recurso (em um novo renderizador), descobre o sub-ressecramento e os pré-acessórios também (sem que o scanner de pré-carga).
Existem três tipos principais de análise de dados que valem a pena estar ciente neste espaço de problema: descritivo, preditivo e prescritivo. Cada tipo está relacionado e as equipes ajudam a aproveitar diferentes tipos de insight.
A análise descritiva resume os dados brutos e o transforma em algo interpretável pelos seres humanos. Ele pode analisar os eventos anteriores, independentemente de quando os eventos ocorreram. A análise descritiva permite que as equipes aprendam com comportamentos anteriores e isso pode ajudá -los a influenciar os resultados futuros. A análise descritiva pode determinar quais páginas nos usuários de um site visualizaram anteriormente e quais caminhos de navegação eles seguiram, dada uma determinada página de inscrição.
Analítica preditiva “prevê” o que pode acontecer a seguir. A análise preditiva nos ajuda a entender o futuro e oferece às equipes informações acionáveis usando dados. Ele fornece estimativas da probabilidade de um resultado futuro ser útil. É importante ter em mente que poucos algoritmos podem prever eventos futuros com precisão completa, mas podemos usar o maior número possível de sinais disponíveis para ajudar a melhorar a precisão da linha de base. A base da análise preditiva é baseada em probabilidades que determinamos a partir dos dados. A análise preditiva pode prever a próxima página ou conjunto de páginas que um usuário provavelmente visitará, dada uma página de inscrição arbitrária.
A análise prescritiva permite a prescrição de diferentes ações possíveis para orientar para uma solução. A análise prescritiva fornece conselhos, tentando quantificar o impacto que as decisões futuras podem ter que aconselhar sobre possíveis resultados antes que essas decisões sejam tomadas. A análise prescritiva visa não apenas prever o que vai acontecer, mas vai além; informar por que isso acontecerá e fornecendo recomendações sobre ações que podem aproveitar essas previsões. A análise prescritiva pode prever a próxima página que um usuário visitará, mas também sugerir ações como informar as maneiras pelas quais você pode personalizar a experiência deles para aproveitar esse conhecimento.
O principal objetivo de um modelo de previsão no espaço do problema de pré -busca é identificar o que as solicitações subsequentes que um usuário pode precisar, dada uma solicitação de página específica. Isso permite que um servidor ou cliente pré-busque o próximo conjunto de páginas e tente garantir que esteja no cache de um usuário antes de navegar diretamente para a página. A idéia é reduzir o tempo geral de carregamento. Quando isso é implementado com cuidado, essa técnica pode reduzir os tempos de acesso à página e a latência, melhorando a experiência geral do usuário.
Os modelos de Markov têm sido amplamente utilizados para pesquisar e entender o processo estocástico (distribuição de probabilidade aleatória) [Ref, Ref]. Eles demonstraram ser adequados para modelar e prever o comportamento de navegação de um usuário. A entrada para esses problemas tende a ser a sequência de páginas da Web acessadas por um usuário ou conjunto de usuários (em todo o site) com o objetivo de criar modelos de Markov que podemos usar para modelar e prever as páginas que um usuário provavelmente acessará a seguir. Um processo de Markov possui estados representando páginas e bordas acessadas que representam probabilidades de transição entre estados que são calculados a partir de uma determinada sequência em um log de análise. Um modelo markov treinado pode ser usado para prever o próximo estado, dado um conjunto de K estados anteriores.
Em algumas aplicações, os modelos Markov de primeira ordem não são tão precisos na previsão de comportamentos de navegação do usuário, pois nem sempre procuram o passado para fazer uma distinção entre diferentes padrões que foram observados. Esta é uma das razões pelas quais os modelos de ordem superior são frequentemente usados. Esses modelos de ordem superior têm limitações com complexidade do espaço de estado, cobertura menos ampla e às vezes reduzida precisão de previsão.
Uma maneira [Ref] para superar esse problema é treinar modelos variados de Markov, que usamos durante a fase de previsão. Isso foi tentado no modelo de Markov de todo o meio de ordem proposto neste ref. Isso pode piorar a complexidade do espaço do estado, no entanto. Outra abordagem é identificar padrões de acesso frequentes (subsequências de repetição mais longas) e usar esse conjunto de seqüências para previsões. Embora essa abordagem possa ter uma ordem de redução de magnitude na complexidade do espaço de estado, ela pode reduzir a precisão da previsão.
Os modelos Seletivos de Markov (SMM) que armazenam apenas alguns estados dentro do modelo também foram propostos como uma solução para as trocas de complexidade do espaço do estado. Eles começam com um modelo de Markov de todo o kTH-uma abordagem pós-pós-punção é usada para podar estados que não se espera que sejam preditores precisos. O resultado disso é um modelo que possui o mesmo poder de previsão de modelos de ordem em toda a ordem com menos complexidade espacial e maior precisão de previsão. Em Deshpane e Karpis, diferentes critérios para podar estados no modelo antes da previsão (frequência, confiança, erro) são analisados.
Em Mabroukeh e Ezeife, o desempenho dos modelos de Markov de 1ª e 2ª ordem ricos em semânticos foi estudado e comparado com o de SMM de ordem superior e SMM com piscos semânticos. Eles descobriram que o SMM semântico tem um tamanho 16% menor do que o SMM com a frequência e fornece quase uma precisão igual.
Observar padrões de navegação pode nos permitir analisar o comportamento do usuário. Essa abordagem requer acesso à identificação da sessão do usuário, sessões de agrupamento em clusters semelhantes e desenvolvimento de um modelo de previsão usando padrões de acesso atuais e anteriores. Grande parte do trabalho anterior neste campo se baseou em esquemas de agrupamento, como a técnica de agrupamento de means K com distância euclidiana para melhorar a confiança das previsões. Uma das desvantagens do uso de K-means é a dificuldade de decidir sobre o número de clusters, selecionar o centro aleatório inicial e a ordem das visitas à página nem sempre é considerada. Kumar et al investigaram isso, propondo uma técnica hierárquica de agrupamento com uma distância de levanteshtein modificada, PageRank usando o comprimento do tempo de acesso, a frequência e os modelos Markov de ordem superior para previsão.
Muitos dos trabalhos mencionados na seção a seguir estão centrados no modelo de Markov, regras de associação e agrupamento. Artigos que destacam o trabalho relevante relacionado à descoberta de padrões para a precisão da previsão de páginas em evolução são o nosso foco.
Usa modelos de Markov de primeira ordem para modelar a sequência de páginas da web solicitadas por um usuário para prever a próxima página que eles provavelmente acessarão. As cadeias de Markov permitem que o sistema modele dinamicamente os padrões de acesso da URL observados nos logs de navegação com base no estado anterior. Um modelo Markov "personalizado" é treinado para cada usuário e usado para prever as sessões futuras de um usuário. Na prática, é muito caro construir um modelo exclusivo para cada usuário e o custo de escala que isso se torna mais desafiador quando um site tem uma grande base de usuário.
Primeiro papel para investigar os modelos Hidden Markov (HMM). O autor coletou logs do servidor da web, podou os dados e corrigiu os usuários dos caminhos. Com base no HMM, o autor construiu um modelo específico para navegação na web que prevê se os usuários têm a intenção de comprar em tempo real. Medidas relacionadas, como acelerar a operação e seu impacto quando em um modo de compra são investigadas.
Propõe uma estrutura para prever posições de classificação de uma página com base em seus rankings anteriores. Assumindo um conjunto de rankings sucessivas de K Top-K, o autor identifica preditores com base em diferentes metodologias. A qualidade da previsão é quantificada como a semelhança entre as classificações previstas e reais. Experimentos exaustivos foram realizados em um conjunto de dados em larga escala do mundo real para classificações mais globais e baseadas em consultas. Uma variedade de medidas de similaridade existentes para comparar listas mais classificadas, incluindo um romance capturado no artigo.
Propõe o uso de modelos N-Hop Markov para prever os próximos usuários da página da web provavelmente acessarão. O padrão corresponde à sequência de acesso atual do usuário com as seqüências históricas de acesso à Web do usuário para melhorar a precisão da previsão para pré -acessos.
Propõe métodos dinâmicos baseados em cluster para aumentar a precisão do modelo de Markov na representação de uma coleção de sessões de navegação na Web. Usa um conceito de clonagem de estado para duplicar os estados de uma maneira que separa os links cujas probabilidades de segunda ordem correspondentes divergem. O método proposto inclui uma técnica de clustering que determina uma maneira de atribuir em links com probabilidades de segunda ordem semelhantes ao mesmo clone.
Estende o uso de um algoritmo de página-rank com inúmeros atributos de navegação: tamanho da página, tempo de duração da página, duração da transição (visitas de duas páginas sequencialmente), frequência da página e transição. Define uma classificação baseada em duração (DPR) e Rank de Papage baseada em popularidade (PPR). O autor analisou a popularidade das transições e páginas usando informações de duração, usando -as com tamanho de página e frequência de visita. Usando o valor de popularidade das páginas, este artigo tenta melhorar os algoritmos convencionais de classificação de páginas e modelar uma previsão da próxima página em um determinado valor de N.
![]() Minko Gechev | ![]() Addy Osmani | ![]() Katie Hempenius | ![]() Kyle Mathews |