J'ai beaucoup d'éléments de contenu stockés dans la base de données et je sais que les balises d'un utilisateur est intéressé à. Alice, par exemple, montre de l'intérêt pour les tags «soins de santé», «sports» et «social». Chaque élément de contenu contient un ou plusieurs tags. Comment pourrais-je faire correspondre ces derniers afin de recommander un nouveau contenu à Alice?les intérêts des utilisateurs de contenu correspondant à (basé sur les tags)
Tenez compte de ces tables de base de données de base:
CREATE TABLE `content_tag` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`item_id` INT(11) NOT NULL,
`tag_id` INT(11) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `tag` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
);
Et je les intérêts d'Alice aux côtés d'une (pertinence) score, qui agissent comme des poids:
array:3 [
'healthcare' => 2.20
'sports' => 1.30
'socal' => 0.5
]
Comment aborderez-vous cela?
Est-il possible d'utiliser un algorithme pour cela, comme le simularity cosinus, ou est-ce que des peines ment?
Qu'avez-vous déjà essayé? Le score agira-t-il comme un «poids» dans le tri des résultats? –
Vous pouvez consulter la fonction [FIELD] de MySQL (http://dev.mysql.com/doc/refman/5.7/fr/string-functions.html#function_field) (pour un tri personnalisé basé sur le score d'intérêt). Il devrait également fonctionner dans un ORDER BY. –
@MagnusEriksson La fonction 'FIELD' semble très prometteuse. Je vais regarder dans cela. – JasonK