Делать это хорошо непросто.Google хотел бы иметь возможность делать такие вещи («Какие ссылки будут ценить пользователи»), как и Netflix («Какие фильмы они будут ценить») и многие другие.На самом деле, вам, вероятно, лучше почитать заметки о победе в конкурсе Netflix Prize .
Затем вам нужно извлечь кучу функций, как говорит @hmason.И тогда вам нужен соответствующий алгоритм машинного обучения;вам либо нужен аппроксиматор функции (где вы пытаетесь использовать свои функции для прогнозирования значения, скажем, от 0 до 1, где 1 - «лучший твит когда-либо», а 0 - «все, кого волнует»), либо классификатор (где вы используетеваши функции, чтобы попытаться предсказать, будет ли это «хороший» или «плохой» твит).
Если вы выберете последний - что делает обучение пользователей легким, так как им просто нужно набирать твиты с помощью «как»"(чтобы смешать метафоры социальных сетей) - тогда вы, как правило, лучше всего справляетесь с машинами поддержки векторов, для которых существует довольно обширная библиотека Java .
В первом случае естьразнообразие техник, которые стоит попробовать;если вы решите использовать библиотеку LIBSVM, у них также есть варианты для регрессии (т.е. оценки параметров).