среда, 11 марта 2009 г.

Кластеризация признаков




Дабы немного отдохнуть от учебы, решил немного попрограммировать. Написал прогу, которая кластеризует слова из американских блогов. Сначала по контексту составил матрицу схожести слов - матрица слова-слова в которой "1" ставилась, если пересечение блогеров, которые использовали эти слова больше половины их объединения. Потом из полученной матрицы получал группы. Из каждой пары связных слов (из каждой "1" в матрице)  создавал группу, состоящую из этих двух слов и слов, всязных одновременно с ними обоим. 
Проделал все это с данными за одну неделю (78-84 дни) неделю. Получил такие 23 группы:
dollar financial
wall_street september french vietnam california national_security
terrorist peace violen threat terror islam
soldier terrorist peace violen
huckabee mitt_romney  giuliani john_mccain
hillary_clinton barack_obama
jewish palestin gaza
israel palestin
bush democra democrats
republicans democrats
afghan iran
bush iraq democra
vietnam national_security veterans french
california national_security
terror security terrorist
military terrorist threat
soldier peace
faith christian
military bush iraq
threat military security iraq
terror military security
jewish gaza
vietnam veterans  french
Создал контекст, в котором признаками были слова, а объектами - номера групп
Получил такие решетки:
1.  со всеми 23 группами
2. если выкинуть группы, состоящие из 2 слов (осталось 14 групп).
3. если из оставшихся 14 групп выбрать 7 наиболее устойчивых: 

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

1 комментарий:

  1. Да, логичные. Очень хорошо, что Вы подробно описали свои действия. Очевидно, метод можно обобщить и, варьируя параметры (такие как отношение размера пересечения к размеру объединения, размер исходной группы слов и т.д.), подобрать для них оптимальные значения.

    ОтветитьУдалить