** Este artigo foi escrito pelo Dr. Matthew Gregory, Cientista de Dados Sênior GOV.UK e Ganesh Senthi, Gerente de Produto Sênior GOV.UK **


Imagine que você está tentando encontrar algumas informações online. Pode ser mais ou menos qualquer coisa. Você percorreu dezenas de resultados de pesquisa. Mas por mais que tente, você simplesmente não consegue encontrar as informações de que precisa. Entediado e frustrado, você desiste.

Isso acontece milhares e milhares de vezes por dia, em países ao redor do mundo. E embora possa ser irritante para o indivíduo, também é um grande problema para a sociedade. Conectar as pessoas às informações de que precisam é notoriamente difícil. Mas e se houvesse uma maneira melhor de conectar os usuários ao conteúdo desejado?

GOV.UK é o canal de comunicações online e serviços públicos de confiança do governo do Reino Unido. Ele foi lançado em 2012 para combinar quase 2.000 sites do governo em um único site.

GOV.UK apóia quase 30 milhões de visitas por semana para encontrar as informações de que precisam e fazer as coisas que precisam fazer com o governo - como aprender a dirigir, registrar-se para votar ou descobrir o que eles precisam fazer em resposta a COVID -19.

machine-learning-government-algorithm_asset_image3-1024x485

Desde a renovação de um passaporte até a assinatura de notificações de conselhos de viagem para uma viagem futura, o site conecta efetivamente os usuários às informações de que precisam. Mas, para os problemas e informações menos cotidianos, nossos usuários precisam de suporte extra: existe um algoritmo de aprendizado de máquina que conecta os pontos e permite que as pessoas encontrem o informações de que precisam, quando precisam.

Nosso problema

Para ajudar os usuários a obter as informações de que precisam, o GOV.UK usa vários recursos de navegação, como a barra de pesquisa, breadcrumbs e links relacionados. Os links relacionados são mostrados no lado direito do conteúdo de uma página, com links para outras páginas que podem ser de seu interesse.

Antes de começarmos a trabalhar nisso, em 2019, apenas cerca de 2% de todo o conteúdo do GOV.UK, ou 8.000 páginas, tinha links relacionados. O resto não tinha links relacionados.

Isso era uma preocupação porque a observação e a análise mostraram que bons links relacionados resultam em jornadas mais curtas do usuário, permitindo que eles encontrem o conteúdo de que precisam com mais rapidez. Isso é importante porque, se os usuários não encontrarem o conteúdo de que precisam rapidamente, eles podem desistir. Isso pode parecer trivial se tudo o que GOV.UK fez foi ajudá-lo a renovar sua licença de pesca, mas se alguém desistir porque não consegue encontrar as informações certas para fazer suas declarações de imposto de forma adequada, o problema se torna muito mais sério.

machine-learning-government-algorithm_asset_image1-1

Uma captura de tela de uma página GOV.UK com links de conteúdo relacionado destacados no lado direito

Portanto, para melhorar a experiência dos usuários, investigamos se poderíamos usar o aprendizado de máquina no GOV.UK para gerar links relacionados para os 98% restantes do conteúdo que não tinha nenhum. Como resultado deste experimento, decidimos implementar o algoritmo node2vec - geramos representações vetoriais de nós em nosso [gráfico de movimento do usuário](https: / /dataingovernment.blog.gov.uk/2019/05/29/connecting-the-dots-network-science-on-gov-uk/).

Esta foi a primeira vez que a equipe por trás do GOV.UK colocou um algoritmo de aprendizado de máquina em produção; Não significa façanha. Para concluir uma tarefa difícil como essa, você precisa das pessoas e habilidades certas. Você precisa de uma equipe multidisciplinar que combine ciência de dados e design centrado no usuário, como o [GOV.UK Data Labs](https://gds.blog.gov.uk/2020/06/11/introducing-the-gov-uk -data-labs /). E para obter detalhes técnicos adicionais sobre como fizemos isso, visite o [blog aqui](https://dataingovernment.blog.gov.uk/2019/08/07/when-worlds-collide-putting-data-science-into -Produção/).

Aqui estão algumas das considerações de alto nível que tornaram este projeto bem-sucedido e resultaram em compartilhar nosso sucesso com academia e [indústria](https://twitter.com / ConTechLive / status / 1202916156849491969).

Definindo a tarefa usando um projeto baseado em hipóteses

Fazer ciência no governo é difícil - não vendemos coisas, então não há uma medida óbvia de sucesso. Como podemos saber se um usuário teve uma interação bem-sucedida com um link relacionado durante sua visita ao GOV.UK?

O primeiro passo para nós quando começamos em 2019 foi definir o que queríamos alcançar. Isso nos permitiu avaliar se os dados estavam prontos para a aplicação pretendida.

Também precisávamos construir nossa equipe. Ciência de dados é um esporte de equipe, então precisávamos das pessoas certas no momento certo que, juntos, poderiam considerar cuidadosamente os indicadores-chave de desempenho (KPIs) e estabelecer hipóteses de forma clara. A equipe começou com um engenheiro de dados e uma equipe pesada de ciência de dados, então no final da jornada, conforme avançávamos para a produção, tornou-se uma equipe mais pesada de desenvolvedor. Também trabalhamos em estreita colaboração com os desenvolvedores de conteúdo.

Definimos nossas hipóteses por meio de uma série de workshops cuidadosamente estruturados, onde combinaríamos o conhecimento dos especialistas do domínio com a compreensão do cientista de dados dos dados disponíveis. O resultado desses workshops foi uma seleção de “sorta-hipóteses” que diziam algo interessante sobre links relacionados e como nossos usuários interagem com eles. Os cientistas de dados poderiam então traduzir isso em hipóteses estatísticas testáveis.

Essas “hipóteses nulas” presumem que nada de interessante vai acontecer; os links relacionados produzidos pelo algoritmo não alteram a navegação do usuário (omitimos as hipóteses detalhadas aqui). Em seguida, projetamos um experimento usando metodologia estatística robusta para testar essas hipóteses nulas. Usamos o método científico para impulsionar o GOV.UK em direção a um design ideal.

Escolhendo um algoritmo

Com nossas hipóteses estatísticas estabelecidas, precisamos começar a produzir os links reais relacionados.

Usamos duas abordagens que usavam diferentes tipos de dados e algoritmos para gerar links relacionados recomendados para uma página.

O primeiro pode ser explicado usando a analogia de um humano. Se você der a um humano várias partes diferentes do conteúdo do GOV.UK, ele poderá ler as palavras em cada página, entender o significado e, então, pontuar o quanto são semelhantes entre si. Um algoritmo pode fazer o mesmo. No entanto, para que o algoritmo “entenda” as palavras em cada página, ajudamos no pré-processamento dos dados e representando o conteúdo numericamente. Veja nossa postagem do blog para mais detalhes.

** Limpar e organizar os dados prontos para consumo por um algoritmo é difícil e sempre leva mais tempo do que você pensa **

A segunda abordagem é observar o que as pessoas fizeram historicamente. Considerando o que sabemos sobre onde os usuários vão nas jornadas que visitam a mesma página, quais páginas podemos recomendar a eles? Essa intuição vem de mecanismos de recomendação. Por exemplo, se os usuários tendem a inspecionar as regras de cana de pesca em GOV.UK na mesma viagem em que solicitam uma licença de cana de pesca , podemos fornecer este link para eles automagicamente.

Considerando que essas abordagens dependem de dois conjuntos de dados diferentes, precisamos de pelo menos dois algoritmos diferentes para treinar um modelo que possa então prever links relacionados. Para identificar algoritmos candidatos, os cientistas de dados fizeram uma revisão da literatura do domínio do problema e do tipo de dados que tínhamos à nossa disposição. No final, decidimos por dois:

  • O Codificador de Sentença Universal: codifica o texto em vetores de alta dimensão que podem ser usados para comparação semântica / similaridade de conteúdo.
  • Node2vec: pode aprender representações úteis de um gráfico.

Preparando os dados

Enquanto a equipe pesava os prós e os contras de diferentes algoritmos, também tivemos que limpar os dados para garantir que estivessem em condições viáveis.

Os dados nem sempre estão em bom estado para os diferentes algoritmos de ML, ou algos, como costumam ser chamados de forma abreviada. Você precisa se certificar de que está “pronto” e colocá-lo na “forma certa”. Você precisa limpá-lo e pré-processá-lo, da mesma forma que prepara os ingredientes para sua receita favorita.

Limpar e organizar os dados prontos para consumo por um algoritmo é difícil e sempre leva mais tempo do que você pensa.

Certifique-se de dar à sua equipe tempo adequado para fazer a engenharia de dados e o pré-processamento. Isso vai economizar tempo a longo prazo - os cientistas de dados podem ajudar os gerentes de entrega a entender o tempo necessário e o risco de um projeto usando [níveis de prontidão de dados](http://inverseprobability.com/talks/notes/data-readiness- levels.html). Compreender os níveis de prontidão de dados pode ajudar uma equipe a priorizar projetos, lidando com projetos em que os dados estão em uma forma melhor, enquanto os organiza para mais tarde.

Passamos vários meses em engenharia de dados e pré-processamento antes de treinar nossos modelos. Uma equipe diversificada, como GOV.UK Data Labs, pode ajudar a entregar isso mais rapidamente. Confira a Estrutura digital, de dados e tecnologia, para ver as descrições dos tipos de papéis envolvidos.

Dados + algoritmo = modelo

Depois de preparar os dados, você pode ficar tentado a treinar algoritmos complexos como uma rede neural de aprendizado profundo. Nós também caímos nessa tentação, que resultou em perda de tempo.

Em vez disso, recomendamos aderir a abordagens experimentadas e testadas, bem como incluir uma linha de base simples para verificar se os algoritmos mais complexos valem o esforço. Por exemplo, se você estiver criando um algoritmo para recomendar conteúdo, pode simplesmente contar qual página ocorre com mais frequência nas jornadas do usuário que contêm a página para a qual você está prevendo (a razão de probabilidade de log). Isso é útil porque fornece um quadro de referência para comparar o seu algoritmo.

Ao alimentar nossos dados em um algoritmo, produzimos um modelo.

Comparando com o desempenho de nível humano

Agora que tínhamos alguns modelos funcionando, a próxima etapa era testar se eles eram bons.

O “desafio Pepsi” pode ser um bom ponto de partida para avaliar as previsões de seus modelos treinados. Essencialmente, você analisa duas planilhas diferentes de links relacionados; links produzidos por humanos versus links produzidos pelo modelo. Se você tem dificuldade em diferenciá-los, sabe que o modelo está indo bem!

Estendemos essa lógica e pedimos a especialistas em domínio que revisassem os links produzidos pelos diferentes modelos. Nesse ponto, um de nossos designers de conteúdo brincou: “Eu, pelo menos, dou as boas-vindas aos meus senhores robôs!”

[](http: //iframe%20src=//coub.com/embed/13jgu4? muted = false & autostart = false & originalSize = false & startWithHD = false% 20allowfullscreen% 20frameborder = 0% 20width = 450% 20height = 254% 20allow = autoplay / iframe )

Avaliação com o método científico

A avaliação com base na opinião de especialistas é subjetiva (e limitada à revisão de algumas centenas de páginas). Para uma avaliação objetiva em escala, podemos usar o grande número de usuários que visitam GOV.UK e sua interação com os links produzidos por esses modelos para verificar experimentalmente se a experiência do usuário é aprimorada.

Como a maioria dos sites, usamos análises de usuário (ou seja, cookies) para rastrear onde os usuários foram e o que fizeram (veja aqui como os cookies são usados em nosso site). Para a avaliação, atribuímos usuários aleatoriamente a dois segmentos, A ou B. Mostramos aos usuários do segmento A a página original do site e mostramos aos usuários do segmento B a página com os links relacionados gerados pelo modelo. Em seguida, analisamos os dados da jornada do usuário usando estatísticas para inferir o impacto das alterações, comparando as diferenças entre A e B. Para um aprofundamento em como testamos A / B, consulte [nossa postagem no blog](https://dataingovernment.blog .gov.uk / 2019/06/19 / a-or-b-how-we test-algoritmos-on-gov-uk /).

Descobrimos que ambos os algoritmos melhoraram as coisas para o usuário em comparação com a página original - mas qual algoritmo foi superior? Descobrimos que os usuários eram mais propensos a clicar em links relacionados fornecidos pelo algoritmo node2vec (treinado onde outros usuários estiveram) do que links relacionados produzidos pelo método de similaridade de conteúdo (treinado identificando conteúdo com palavras semelhantes). Isso nos deu a confirmação de que precisávamos de que o algoritmo de ML tinha realmente melhorado a experiência do usuário e também nos ajudou a determinar com qual algoritmo devemos continuar.

Tomando uma decisão

Depois de desenvolver e testar diferentes modelos para resolver nosso problema, chegou a hora de escolher aquele em que investiríamos. Ao escolher seu modelo, há outras coisas a considerar além da significância estatística no [teste A / B](https : //apolitical.co/en/solution_article/how-to-experiment-with-policy). Talvez o algoritmo mais sofisticado tenha se saído melhor, mas se exigir muito poder de computação, pode não valer a pena o esforço extra se os ganhos forem pequenos; modelos simples que fazem o trabalho bem o suficiente podem ser mais fáceis de colocar no seu site.

** Ao implantar um sistema de ML pela primeira vez em uma organização, é prudente ser conservador. Tínhamos um sistema de reversão, então, com o toque de um botão, poderíamos voltar aos links anteriores **

Você também pode querer links relacionados previstos que mudam com o tempo e o comportamento do usuário. É por isso que optamos pelo node2vec, já que ele é treinado nas últimas semanas das jornadas do usuário, portanto, pode lidar com mudanças sazonais e mudanças de comportamento do usuário associadas a crises como o COVID-19.

Nossa linha de base simples teve um desempenho muito bom, mas logo atingiu o teto do que poderia fazer. Os algoritmos de aprendizado de máquina, por outro lado, podem ser ajustados e consertados por meio de iteração para melhorar os resultados. Portanto, havia mais espaço para melhorias com o node2vec.

Desdobramento, desenvolvimento

A implantação de produtos de aprendizado de máquina na produção é sempre a parte mais complicada do processo. É muito, muito difícil, já que este artigo cobre com detalhes realmente bons.

machine-learning-government-algorithm_asset_image4-1024x364

Todo o código que entra em um algoritmo de ML (crédito da imagem: Scully et al, 2015)

Apenas uma pequena fração dos sistemas de ML do mundo real é composta por código de ML, conforme mostrado pela pequena caixa preta no meio. A infraestrutura envolvente necessária é vasta e complexa. Abordamos os outros vários componentes à esquerda da caixa do código de ML (e ferramentas de análise - teste A / B). Agora consideramos o lado direito.

Gerenciar máquinas e servir a infraestrutura é um grande feito em si, também conhecido como produção do sistema ML. Isso é detalhado mais detalhadamente em nossa postagem do blog “[dados no governo”](https://dataingovernment.blog.gov.uk/2019/08/07/when-worlds-collide-putting-data-science-into-production /). A produção, na sua forma mais simples, pode simplesmente significar mover algum algoritmo ou software para um ambiente onde é usado para moldar o resultado de um processo, posteriormente consumido pelos usuários. Quando aplicado à ciência de dados, isso envolve a criação de um pipeline integrado e automatizado a partir de etapas individuais, como a obtenção de dados de entrada, a execução de um algoritmo de aprendizado de máquina e a criação de dados de saída úteis (links relacionados para cada página do site).

Suporte contínuo e iteração

Como a comunidade de aprendizado de máquina (ML) continua a acumular anos de experiência com sistemas ativos, uma tendência ampla e desconfortável surgiu: desenvolver e implantar sistemas de ML é relativamente rápido e barato, mas mantê-los ao longo do tempo é difícil e caro. Isso é ainda agravado pelo desejo de fazer com que sua equipe talentosa trabalhe na automação de outras coisas.

Depois de entrar no ar, não acabou! Monitoramos a qualidade dos links e respondemos aos comentários. ML não é mágica nem uma solução mágica; se fizer algumas recomendações estúpidas, você precisará de um mecanismo de feedback dos usuários e de métricas para monitorar o desempenho conforme o mundo muda.

Ao implantar um sistema de ML pela primeira vez em uma organização, é prudente ser conservador. Tínhamos um sistema de reversão, portanto, com o toque de um botão, poderíamos voltar aos links anteriores.

Executar testes A / B periódicos de seu sistema de ML em comparação com uma alternativa é uma coisa sensata a se fazer, garantindo que ainda beneficie seus usuários.

Detectando bons problemas de ciência de dados

Para que a equipe do GOV.UK Data Labs fosse eficaz, nosso pessoal precisava tem grande experiência de domínio. Isso foi conseguido tratando de solicitações de negócios junto com as principais vertentes de trabalho de nossa equipe, como a produção de links relacionados. Isso posiciona nossa equipe para reconhecer e explorar oportunidades de negócios para garantir maneiras mais eficientes e eficazes de usar a ciência de dados. Essas melhorias geralmente se manifestam como automação ou aumento dos processos de negócios.

Uma auditoria informal de problemas de negócios pode fornecer um ponto de partida útil para identificar as coisas mais fáceis que podem ter impacto imediato e aumentar o perfil da equipe. Essencialmente, você está procurando uma tarefa repetitiva que é rigidamente restrita e para a qual há muitos dados sobre o processo; uma tarefa manual que não pode ser escalada.

** Também aprendemos a não ser limitados pelas necessidades do usuário, não há problema em ser proativo e experimentar! **

Juntamente com esses ganhos rápidos, é útil ter vertentes de trabalho que abordem alguns dos problemas de negócios mais fundamentais que você tem. Sua equipe deve aderir aos princípios do Agile, usando picos (incursões curtas em uma área problemática) para avaliar a viabilidade, a prioridade e se vale a pena contratar mais pessoas.

Para que a equipe do GOV.UK Data Labs seja eficaz, é importante saber o negócio também. Regularmente, temos nosso pessoal integrado em outras equipes por curtos períodos. Uma auditoria informal de problemas de negócios também pode ajudar a identificar ganhos rápidos. Isso pode construir o perfil da equipe enquanto você continua a dedicar pessoas a problemas de negócios mais fundamentais. Temos as pessoas certas focadas na construção do back-end de dados que impulsionará a [visão GOV.UK](https://insidegovuk.blog.gov.uk/2020/06/25/the-2020-to-2021-gov- uk-roadmap /).

Também aprendemos a não ser limitados pelas necessidades do usuário, não há problema em ser proativo e experimentar! Especialmente na era moderna, com algumas grandes ideias e código-fonte aberto publicamente disponível para experimentar. Ao experimentar, apresente aos usuários potenciais todos os dados, expondo os dados permite que você formule requisitos. Vendo o mesmo problema de um ângulo diferente da pesquisa de usuário tradicional.

Olhando para fora, para outras organizações, podemos nos inspirar. Observamos como eles recomendam e veiculam conteúdo para seus usuários automaticamente, o que nos fez pensar em automatizar tarefas que costumavam ocupar muito do tempo de nossos especialistas em conteúdo.

A revolução dos dados

O mundo digital está mudando rapidamente e, com ele, as expectativas de nossos usuários sobre como devem interagir com os serviços e informações do governo. No ano passado, o chefe do GOV, Reino Unido, Jen Allum, apresentou a [visão do GOV.UK sobre como atenderemos a essas expectativas](https://gds.blog.gov.uk/2019/11/05/transforming- gov-uk-the-future-of-digital-public-services /). No centro desta visão está a transformação da maneira como usamos os dados no GOV.UK.

Este esforço concentrado nos ajudou a descobrir quais problemas resolver, identificar o que podemos automatizar para o programa GOV.UK e para nossos usuários. Esperamos continuar fazendo todas essas coisas e muito mais. - ** Matthew Gregory e Ganesh Senthi **

_Queremos saber a sua opinião sobre este artigo. Proponha um artigo para nós ou envie seus comentários para [hello@apolitical.co](mailto: hello@apolitical.co) _

(Crédito da imagem: Unsplash)