Отслеживание в режиме реального времени 100 самых популярных слов в Твиттере в минуту/час/день

Недавно я наткнулся на этот вопрос из интервью:

Given a continuous twitter feed, design an algorithm to return the 100 most
frequent words used at this minute, this hour and this day.

Я думал о системе с хэш-картой word -> count, связанной с 3-минутными-кучами для текущей минуты, часа и дня.

Каждое входящее сообщение токенизируется, дезинфицируется, а количество слов обновляется в хеш-карте (и увеличивается-ключ в кучах, если слово уже существует в нем)

Если какое-либо из слов не существует в куче (и размере кучи == 100)проверьте, есть ли их frequency > min valueв куче, и если да, то извлеките -мин и вставьте в кучу.

Есть ли лучшие способы сделать это?

7
задан phs 6 September 2014 в 20:45
поделиться