Extensão do Chrome para ocultar recomendações perturbadoras no YouTube

O YouTube pode ser usado não apenas para entretenimento, mas também para aprender qualquer coisa.


As recomendações no YouTube são muito úteis, pois levam vídeos relevantes aos atuais, mas também são perigosas porque, em princípio, contêm vídeos interessantes e perturbadores (não sobre o tópico do vídeo).




Em algum momento, você se cansa de assistir a vídeos sobre um determinado tópico, e aqui você é pego por recomendações perturbadoras, porque é mais rentável para o YouTube atrair qualquer outro conteúdo se você gastar mais tempo com ele . O surf está perdendo tempo em vão.


Solução proposta


Você pode separar as contas do YouTube (para treinamento e entretenimento), mas infelizmente isso não ajudará a exibir vídeos inadequados, pois o sistema de recomendações aprende não apenas sobre você, mas também sobre todos os usuários, o que significa que todos precisam seguir essa tática .


Portanto, decidi que você pode tentar fazer algo que bloqueie recomendações não temáticas.


Implementação da ideia


A primeira coisa que vem à mente é aprendizado de máquina, classificação de texto etc.


. , — .


, "-" , .


chrome , , . , .



Chrome . manifest.json:


"content_scripts": [
    {
      "matches": ["https://www.youtube.com/*"],
      "css": ["styles.css"],
      "js": ["page-script.js"]
    }
],

, . :


//   
document.querySelector('h1'), 
//   
document.querySelector('#description'), 
//  
document.querySelectorAll('ytd-compact-video-renderer')

css , :


.youtube-stay-focused__blur {
    filter: blur(5px) grayscale(100%);
    opacity: 0.3;
}

.youtube-stay-focused__blur:hover {
    filter: none;
    opacity: 1;
}


, .



.


TF-IDF, BM25 , 0.




. , , ( ).


"" .



"":


  • , ..;
  • ;
  • "#", "$", ..;
  • , ;
  • ;
  • , trailer, audio, video ..;


:


"     ?" 
=> 
["", "", "", "", "", "", "?"]


- , .. :


, , , ,  => 

, . , , .


. npm . natural, https://www.npmjs.com/package/natural, nodejs ( fshttps://www.npmjs.com/package/fs), !


const porterStemmerRu = require('natural/lib/natural/stemmers/porter_stemmer_ru');
const porterStemmer = require('natural/lib/natural/stemmers/porter_stemmer');
// ...
const stem = (words) =>
  words
    .map((word) => porterStemmerRu.stem(word))
    .map((word) => porterStemmer.stem(word));


"     ?"
=>
["", "", "", "", ""]

.


.



Chrome YouTube.




.


Publicado no mercado oficial do chrome, você pode instalar e experimentar como ele funciona agora:
https://chrome.google.com/webstore/detail/youtube-stay-focused/enhfmpfmofdnhelhegdjanoaomlcieen


Quem sabe como dar as boas-vindas nos comentários ou nos colaboradores;)


Aprecie seu tempo.


All Articles