Предсказание значения твита: какой анализ (байесовский?) Может предсказать, насколько пользователь Твиттера оценит твит? - PullRequest
3 голосов
/ 20 февраля 2011

Я подумываю добавить функцию в клиент Twitter TalkingPuffin , где после некоторой тренировки с пользователем он сможет ранжировать поступающие твиты в соответствии с их прогнозируемой ценностью. Какие решения существуют для виртуальной машины Java (предпочтительнее для Scala или Java) для такого рода вещей?

Ответы [ 2 ]

8 голосов
/ 20 февраля 2011

Это проблема классификации, когда вы, по сути, хотите узнать функцию y (x), которая предсказывает, принадлежит ли «x», немеченый твит, к классу «ценный» или к классу «не ценный».

Самые хитрые биты - это не алгоритм (Наивный Байес просто подсчитывает и умножает и легко кодирует!), Но:

  1. Сбор данных обучения
  2. Определение оптимального набора функций

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

3 голосов
/ 20 февраля 2011

Делать это хорошо непросто.Google хотел бы иметь возможность делать такие вещи («Какие ссылки будут ценить пользователи»), как и Netflix («Какие фильмы они будут ценить») и многие другие.На самом деле, вам, вероятно, лучше почитать заметки о победе в конкурсе Netflix Prize .

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

Если вы выберете последний - что делает обучение пользователей легким, так как им просто нужно набирать твиты с помощью «как»"(чтобы смешать метафоры социальных сетей) - тогда вы, как правило, лучше всего справляетесь с машинами поддержки векторов, для которых существует довольно обширная библиотека Java .

В первом случае естьразнообразие техник, которые стоит попробовать;если вы решите использовать библиотеку LIBSVM, у них также есть варианты для регрессии (т.е. оценки параметров).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...