2010-03-02 5 views
3

Comment écrire du code qui trouverait des articles (similaires) apparentés à celui que l'utilisateur est en train de lire?Comment mettre en œuvre "articles connexes?"

Par exemple, supposons que j'ai des articles: (. Je suis venu avec ces titres en ce moment)

Python programming tips 
Python programming for newbies 
Programming in Python, ActionScript and Flash 
Programming in the Jungle 
Tarzan saves newbie Judy from using Fortran programming language 

Comment pourrais-je interroger la base de données et trouver qu'ils sont tous liés?

J'apprécierais toutes les suggestions.

Merci, Boda Cydo.

Répondre

1

Quelle base de données utilisez-vous? La "recherche de texte intégral" peut vous aider, et MySQL l'a juste intégré. Google à ce sujet.

+0

J'utilise MySQL. Va google, merci! – bodacydo

1

Je vous suggère de jeter un oeil à cosine similarity et tf-idf

similitude Cosinus est une méthode simple pour mesurer la similarité entre les deux documents (mais non seulement) et il ne peut pas prendre comme entrée un vecteur de mots pondérés en utilisant tf-idf.
Fondamentalement, le poids tf-idf est plus élevé si un mot est fréquent dans le document courant (fréquence de terme - tf) mais rare dans les autres (fréquence de document inverse - idf).

2

This book contient quelques conseils pour cela; plus précisément, cela ressemble à un problème Collaborative Filtering.

Il existe plusieurs approches du problème. L'un est le marquage, compter sur les lecteurs et les contributeurs marquant ces articles et vous pouvez faire correspondre les mots-clés avec des tags par ex.

Une autre approche pourrait être de combiner recherche et analytique, c'est-à-dire une approche Google. Vous affichez les résultats d'une requête de recherche, les utilisateurs cliquent sur eux, les heures supplémentaires de ceux qui ont cliqué sur certains d'entre eux ont également cliqué sur ceux liés et vous pourriez établir une relation entre eux.

0

Si votre cas est vraiment un site Web axé sur le contenu, alors demander sans doute aux éditeurs d'ajouter des balises à chaque article est le meilleur moyen. C'est comme ça que ça se passe sur tout le web (par exemple Wordpress)

De plus, il y a des façons de le faire avec le traitement de la langue, mais puisque vous utilisez Python, je laisserai cela aux personnes qui sont des experts en python ...

0

Une suggestion consiste à ajouter des balises à tous vos articles. Les articles associés sont ceux avec des tags similaires.

+0

Je vais considérer cette approche, merci! – bodacydo