2010-03-02 4 views
3

Как написать код, который найдет похожие (похожие) статьи, которые будут отображаться в настоящее время пользователем?Как реализовать «связанные статьи?»

Например, предположим, что у меня есть статьи: (. Я придумал эти названия прямо сейчас)

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 

Как я могу запросить базу данных и обнаружили, что все они связаны?

Буду признателен за любые предложения.

Спасибо, Бода Cydo.

ответ

1

В какой базе данных у вас есть? «Полнотекстовый поиск» может помочь вам, и MySQL просто его встроил. Google об этом.

+0

Я использую MySQL. Пойдем гугл, спасибо! – bodacydo

1

Я предлагаю вам взглянуть на cosine similarity и tf-idf

косинус сходства простого метод, используемый для измерения сходства между двумя документами (но не только), и он не может принимать в качестве входного вектора слов, взвешенного с использованием тс-IDF.
В основном вес tf-idf выше, если в текущем документе часто используется слово (term frequency - tf), но редко в других (частота обратного документа - idf).

2

This book содержит несколько советов по этому вопросу; более конкретно, это звучит как проблема Collaborative Filtering.

Существует несколько подходов к проблеме. Один из них - это тегирование, полагайтесь на читателей и вкладчиков, помеченных этими статьями, и вы можете сопоставлять ключевые слова с тегами для ex.

Другим подходом может быть объединение поиска и аналитики, то есть подход Google. Вы показываете результаты поискового запроса, пользователи нажимают на них, сверхурочно те, кто нажал на некоторые из них, также нажимают на соответствующие, и вы можете установить связь между ними.

0

Если ваш случай действительно веб-сайт, ориентированный на контент, то, вероятно, попросить редакторов добавить теги в каждую статью, это лучший способ. Tthat так, как это делается во всем Интернете (например, Wordpress)

Кроме того, могут быть способы сделать это с помощью обработки языка, но поскольку вы используете Python, я оставлю это до людей, которые являются экспертами python ...

0

Одно из предложений - добавить метки ко всем статьям. Связанные статьи - те, у которых есть похожие теги.

+0

Я рассмотрю этот подход, спасибо! – bodacydo

Смежные вопросы