Байесовская классификация или аналогичный метод для системы рекомендаций

Я работаю над новостным приложением. На главной странице пользователь видит список заголовков, а затем он может щелкнуть один из них, чтобы прочитать статью и комментарий.

Я хотел бы предложить вариант «рекомендуемых статей» на основе его истории. Например, если он прочитает статью — я напишу алгоритм ключевыми словами заголовка, чтобы он узнал, что этот пользователь любит читать.

Моя проблема с тем, что я читал о байесовских фильтрах, заключается в том, что вам нужно обучать их с хорошим вводом и плохим вводом (таким как хорошие электронные письма и электронные письма со спамом). Разница в моем случае в том, что плохих примеров нет. Если пользователь не читал статью — это не значит, что это плохая классификация (так как он все еще может прочитать ее в будущем), но только если он прочитает одну — скорее всего, он будет читать подобные статьи в будущее.

По сути, я ищу алгоритм, который поможет мне рекомендовать статьи конкретному пользователю — основываясь на том, что он читал в прошлом. Он будет работать на мобильном устройстве, поэтому любая реализация (C / C ++ / Obj-C) будет работать.

Благодарю.

0

Решение

Вы можете относиться к этому как проблема двоичной классификации. Это либо статья, которую он любит читать, либо статья, которую он, возможно, не любит читать.

Вы можете использовать библиотека dlib C ++ для алгоритма двоичного классификатора.

2

Другие решения