Подтвердить что ты не робот

Потенциальная общая информация по тексту

Мне было интересно, как можно вычислить поточечную взаимную информацию для классификации текста. Точнее, я хочу классифицировать твиты в категориях. У меня есть набор данных твитов (которые аннотируются), и у меня есть словарь для каждой категории слов, относящихся к этой категории. Учитывая эту информацию, как можно рассчитать PMI для каждой категории на твит, классифицировать твит в одной из этих категорий.

4b9b3361

Ответ 1

PMI - это мера связи между функцией (в вашем случае слова) и классом (категорией), а не между документом (твит) и категорией. Формула доступна на Wikipedia:

                  P(x, y)
pmi(x ,y) = log ------------ 
                  P(x)P(y)

В этой формуле X - это случайная величина, которая моделирует появление слова, а Y моделирует появление класса. Для данного слова X и заданного класса Y вы можете использовать PMI, чтобы решить, является ли функция информативной или нет, и вы можете сделать выбор функции на этой основе. Наличие меньшего количества функций часто улучшает производительность вашего алгоритма классификации и значительно ускоряет его. Шаг классификации, однако, является отдельным - PMI только помогает вам выбрать лучшие функции для подачи в ваш алгоритм обучения.


Изменить: Одна вещь, о которой я не упоминал в оригинальной публикации, заключается в том, что PMI чувствителен к частотам слов. Перепишем формулу как

                  P(x, y)             P(x|y)
pmi(x ,y) = log ------------ = log ------------ 
                  P(x)P(y)             P(x)

Когда X и Y отлично коррелированы, P(x|y) = P(y|x) = 1, поэтому pmi(x,y) = 1/P(x). Менее частые X -es (слова) будут иметь более высокий показатель PMI, чем частые X -es, даже если оба они отлично коррелированы с Y.