Que dados o Centro de Software usa para fornecer recomendações?

5

Logo abaixo da seção Novidades , há uma seção Recomendada para você .

Atualmente, não estou habilitado, mas além da lista de softwares, que dados são necessários sobre o que você instalou?

  1. Essa lista de software inclui software instalado via Synaptic ou apt-get ?

  2. São necessários dados sobre o tempo (ou ordem) de instalação?

  3. Para que servem esses dados? (Além de recomendações, se houver)

  4. Como isso funciona qual software você pode gostar disso? (Por exemplo, é preciso apenas a categoria, ou mais em profundidade a categorização)?

  5. Se eu tiver o A instalado e ele recomendar o C, e eu instalar o B, isso pode significar que ele pode parar de recomendar o C (talvez porque B e C são muito semelhantes)?

    
por Tim 03.08.2014 / 19:47

1 resposta

3

APT , ou Advanced Packaging Tool, basicamente resolve problemas de dependência e recupera os pacotes solicitados. Ele funciona com dpkg , outra ferramenta, que lida com a instalação e remoção reais de pacotes (aplicativos). O APT é muito poderoso e é usado principalmente na linha de comando (console / terminal). Existem, no entanto, muitas ferramentas GUI / Graphical para permitir que você use o APT sem ter que tocar na linha de comando.

O Synaptic é uma das ferramentas GUI / Graphical para usar o APT. Isto é o que o site do Gestor de Pacotes Synaptic tem a dizer sobre o mesmo -

  

O Synaptic é um programa de gerenciamento de pacotes gráfico para o apt. isto   fornece os mesmos recursos que o utilitário de linha de comando apt-get com um   Front-end de GUI baseado em Gtk +.

Então, basicamente, tanto o Synaptic quanto o Terminal fazem a mesma coisa, ou seja, usam o APT, com uma interface diferente (GUI e CLI, respectivamente).

Isto é o que a página do Wiki do Ubuntu afirma sobre as recomendações do Centro de Software -

  

Dados que podemos usar

     

Os dados atuais que temos sobre as pessoas que temos são:

     
  • o que todas as outras pessoas instalaram (novo serviço de recomendação / pipoca)

  •   
  • o que todas as outras pessoas estão usando (zeitgeist / new recommender service / popcon)

  •   
  • quais aplicativos específicos outras pessoas gostam ou não gostam (rnr)

  •   

Os dados que temos sobre o sistema de usuários são:

     
  • quais aplicativos o usuário instalou

  •   
  • quais aplicativos o usuário está usando (popcon / zeitgeist)

  •   
  • com que tipos mimetypes o usuário está trabalhando (zeitgeist)

  •   
  • talvez o ID de SSO do usuário

  •   
  • talvez de quais aplicativos o usuário gosta (com base nas avaliações dele / dela)

  •   
  • contatos do usuário

  •   

Agora, o que é engraçado sobre isso é o uso da palavra talvez que torna as coisas um pouco incompletas.

Basicamente, o que o servidor de recomendação faz é que ele armazena uma lista de pacotes instalados no sistema. Se foi instalado pelo centro de software, o synaptic ou o terminal é imaterial aqui, pois provavelmente usa dpkg ou APT para o mesmo. Eu posso dizer isso porque eu não usei o centro de software, mas ainda recebo recomendações baseadas nos pacotes que eu instalei através do terminal.

  

Armazenamento

     

O servidor armazena a lista de pacotes instalados de cada participante e um cache das recomendações geradas para eles.

     

Porção

     

Quando é enviada uma solicitação contendo o UUID, o servidor retorna uma lista Json de pacotes que representam as recomendações para esse UUID.

     

Haverá uma chamada da REST API que envolve o UUID e retornará as recomendações em algum formato que o s-c possa entender.

Por fim, o Centro de Software também é uma ferramenta GUI / gráfica para o APT.

No entanto, alguns dos pontos que você levantou vêm na categoria de Problemas não resolvidos e nenhuma informação é dada sobre como as recomendações funcionam exatamente, ou seja, o algoritmo.

  

Problemas não resolvidos

     
  • Como podemos atender pessoas cujo computador é usado por várias pessoas? Devemos adicionar nome de usuário local ao UUID para garantir que seja único (quando   alguns ou todos os usuários não têm uma conta SSO?

         
    • É uma pergunta interessante o que as pessoas esperariam aqui. Se eu tiver uma máquina de jogo e uma máquina de produtividade dedicadas, devemos ter duas recomendações diferentes. Se OTOH eu tenho um laptop e um desktop que eu uso para as mesmas coisas, as recomendações devem ser as mesmas. Espero que o sistema possa resolver isso do contexto.
    •   
  •   
  • O algoritmo leva em consideração as classificações de software e também se está instalado? É menos eficaz se alguém nunca avaliou o software?   (ou seja, usuários sem uma conta SSO)?

  •   
  • E se alguém reinstalar o Ubuntu?

         
    • Por isso, devemos fazer "ping" periódico (mesmo que o sistema não instale / remova um ping de software para informar ao servidor que ainda está em uso) com o UUID para poder remover UUIDs não mais válidos ao longo do tempo.
    •   
  •   
  • No entanto, um ponto interessante é a inicialização do conjunto de dados, ou seja, quais recomendações serão veiculadas até que tenhamos uma quantidade razoável de dados no servidor. No caso de recomendações baseadas em revisões, já temos uma quantidade decente de comentários para iniciar recomendações baseadas em revisões. Para recomendações baseadas em pacotes instalados otoh, precisaríamos começar a receber dados por um tempo antes de podermos começar   fazendo recomendações úteis.

  •   

É melhor entrar em contato com o (s) desenvolvedor (es) ou a equipe da Canonical que projetou as recomendações do centro de software para a resposta mais precisa.

Por isso, sinto que o sistema de recomendação não é tão inteligente, pois recomenda pacotes populares, que muitos outros usuários instalaram, em vez de pacotes menos conhecidos, mas similares, que podem ser mais relevantes para o usuário.

    
por Rohith Madhavan 29.11.2014 / 09:09