Структура данных для счетчика совместных появлений, просто появлений и префиксного дерева

Структура данных для счетчика совместных появлений, просто появлений и префиксного дерева
5 1 чел.

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

Исходный код доступен на GitHub: github.com/Maxime2/cooccurrences

Когда вы выполните команду make, вы должны увидеть такой вывод:


cc -O3 -funsigned-char cooccur.c -o cooccur -lm

Example 1
./cooccur a.txt 2 < a.in | tee a.out

Checking pair d e
Count:3  cocount:3
Relative frequency: 1.00

Checking pair a b
Count:3  cocount:1
Relative frequency: 0.33


Example 2
./cooccur b.txt 3 < b.in | tee b.out

Checking pair a penny
Count:3  cocount:3
Relative frequency: 1.00

Checking pair penny earned
Count:4  cocount:1
Relative frequency: 0.25

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

Примеры взяты отсюда:

Поделиться:
  • Twitter
  • LiveJournal
  • Блог Я.ру
  • Блог Li.ру
  • Google Buzz
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Одноклассники
  • Facebook
  • FriendFeed
  • В закладки Google
  • LinkedIn
  • StumbleUpon
  • Technorati
  • Digg
  • БобрДобр
  • MisterWong.RU
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *