Способ определения размера пользовательской базы сайта по выборке взятых имен пользователей

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

Люди с большей вероятностью приобрели разные имена пользователей с разной вероятностью. Например, если имя пользователя 'ник' не существует в системе, оно, вероятно, будет иметь очень маленькую базу пользователей. Если имя пользователя 'starbaby' занято, это, вероятно, будет гораздо больший сайт. Это кажется простой байесовской проблемой.

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

Как вы могли бы создать обучающий набор частоты встречаемости имен пользователей в системах разных размеров? Есть ли способ использовать байесовский анализ для числовой оценки, а не для классификации по сегментам с фиксированной шириной?

3 ответа

Что вам нужно сделать, это точно оценить вероятность того, что определенное имя пользователя присутствует, учитывая количество зарегистрированных пользователей. Допустим, N - это количество пользователей, и u = 1, если пользователь u присутствует, и 0, если они отсутствуют.

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

Вам понадобится много данных с сайтов с зарегистрированными именами пользователей и общим количеством пользователей этого сайта. Теперь возьмите любое конкретное имя пользователя и представьте свои точки данных на двухмерном графике (с N на x и u на y), будет одна горизонтальная линия точек при y=0, а другая - при y=1. Вы можете либо связать ось x, как вы предлагаете, и взять среднюю координату y всех точек данных в ячейке, чтобы получить дискретную функцию, либо вы можете попытаться подогнать точки на графике к некоторому классу функций. Я действительно не знаю, что это за класс функций - может быть, какой-то степенной закон? (Я думаю о законе Ципфа).

Теперь у вас есть распределения вероятностей для применения правила Байеса. Я не знаю, какой вид априора для N вы бы хотели использовать. Равномерное распределение (до некоторого большого числа) не сделало бы никаких предположений, но я предполагаю, что большинство сайтов имеют небольшую базу пользователей.

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

РЕДАКТИРОВАТЬ: у меня была другая мысль; на большинстве форумов (и в Stackru) пользователи имеют последовательные идентификаторы пользователей, поэтому вы можете использовать один сайт с большим количеством пользователей, чтобы получить оценки для всех меньших N.

Я думаю, что это крутая идея!

Возможно, вы сможете собрать набор данных, используя http://www.usernamecheck.com/ для некоторых разных имен пользователей и сопоставив результаты с указанными размерами базы пользователей тех сайтов, которые их выдают.

Обратите внимание: этот веб-сайт, похоже, не проверяет, являются ли имена пользователей действительными для сайта, поэтому, например, он думает, что Gmail позволит вам зарегистрировать "nick@gmail.com", даже если это слишком коротко.

Единственный способ - получить большой набор принятых имен пользователей в системах, для которых вы знаете размер пользовательской базы. Данные могут быть искажены в пользовательских базах, где определенные имена встречаются чаще. Например, даже небольшая база пользователей с форума Lord of the Rings будет содержать имя пользователя Strider.

Другие вопросы по тегам