2010-02-11 2 views
4

Предположим, что я собираю твиты из твиттера на основе множества критериев и сохраняю эти твиты в локальной базе данных mysql. Я хочу иметь возможность обсуждать темы, связанные с компьютером, например твиттер, который может содержать от 1 до 3 слов.Computing Trends Topics

Можно ли написать скрипт, чтобы сделать что-то вроде этого PHP и mysql?

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

+0

Вы ищете способ объединить вместе темы, которые сортируются в сохраненной группе, известной как тенденции? –

+0

В основном фраза ключевого слова может составлять 1-3 слова в длину. Поэтому, если «Майкл Джексон» является популярной темой, он должен признать, что «Майкл Джексон» - это одна ключевая фраза. Не «Майкл» и «Джексон» как отдельные популярные ключевые слова. Это ясно? – Brian

ответ

1

Как насчет разложения ваших твитов сначала в однотонных токенах и вычислять для каждого слова его количество вхождений? После того, как у вас есть они, вы можете разложить во всех двух токенах слова, рассчитать количество вхождений и, наконец, сделать то же самое со всеми тремя лексемами.

Вы также можете добавить какой-то словарь слов, которые вы не хотите считать

+0

Есть ли у вас предложения по эффективному выполнению этого задания. Это кажется довольно хорошей идеей. – Brian

+0

i второй запрос в комментарии. есть серьезная нехватка информации по этой теме в Интернете в настоящее время – ChuckKelly

1

Что вам нужно либо

  1. классификации документов, или ..
  2. автоматическая пометка

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

0

Или сделайте противоположное от Dominik и сохраните список фраз, которые вы хотите сопоставить, пробелы и все. Напишите их как строки регулярных выражений. Для каждой строки в базе данных (файл, таблица sql, что угодно), обрабатывать регулярное выражение, найти счетчик.

Это зависит от того, каким путем вы хотите сделать это тривиально: все - то, что является общим, тем самым обнаруживая, что действительно тренда, или задайте поиск фразы. В одном случае вы найдете много, что может вас не заинтересовать, и вам понадобится обширный список блокировок - в другом случае вам понадобится огромный белый список.

Чтобы выйти за рамки этого, вам понадобятся инструменты обработки естественного языка, чтобы определить смысл сказанного.

2

простирания тема получение от меня:
1. получать твиты
2. Разделить каждый твиты от пространства в н-грамм (до 3 грамм, если вы хотите, 3 слова длины) массива
3. фильтр из каждой массив из URL, @Username, общих слов и ненужных символов
4. сосчитать все уникальное ключевое слово/фраза частоты
5. приглушать барахло слово/фраза

да, вы можете это сделать на PHP & MySQL;)