Комментарии 12
Сколько места занимает результат и как он хранится? Кстати, какая библиотека анализировалась?
Результат занимает 224 мб, хранится пока в виде текстовика в UTF-8. В кодировке win-1251 он-же весит 136 метров. Анализировался lib.rus.ec, только fb2 формат. В дальнейшем, наверное все данные буду переносить в какую-нибудь БД.
НЛО прилетело и опубликовало эту надпись здесь
А какую реализацию AVL дерева использовали?
Использовал эту реализацию:
goletas.com/csharp-collections/
На мой взгляд — очень качественный код, комментированный, добавление своего функционала заняло менее получаса.
Что касается библиотеки для работы с zip архивами — брал здесь:
www.icsharpcode.net/opensource/sharpziplib/
С этого-же сайта использую IDE (SharpDevelop).
goletas.com/csharp-collections/
На мой взгляд — очень качественный код, комментированный, добавление своего функционала заняло менее получаса.
Что касается библиотеки для работы с zip архивами — брал здесь:
www.icsharpcode.net/opensource/sharpziplib/
С этого-же сайта использую IDE (SharpDevelop).
результат — слово/частота… частота как бы должна быть в других еденицах измерения… ну например каждоетретье слово «Я» или 0,15% это «Я», так сказать частота== регулярность.
Еще всегда было интересно
если частота употребления слов примерно величина постоянная… то и частота употребления букв при достаточно большой библиотеке — должна быть величиной постоянной…
не хотите ли посчитать?
Еще всегда было интересно
если частота употребления слов примерно величина постоянная… то и частота употребления букв при достаточно большой библиотеке — должна быть величиной постоянной…
не хотите ли посчитать?
Теперь, когда имеется относительно небольшой файл, в котором слова уже упорядочены — его обработка займет минут 5, можно посмотреть и процентное соотношение и, например, сколько процентов занимают существительные мужского рода в единственном числе и именительном падеже и т.п.
Про буквы не думал, но интересно, посмотрим.
Про буквы не думал, но интересно, посмотрим.
Вернувшись к той-же задаче через несколько лет нашел решение, которое занимает вместо сотен строк — одну и доступно приблизительно с конца семидесятых годов прошлого века:
Возможно местами это решение чуть медленнее, чем моё но использует меньше памяти и, пожалуй, стоит гораздо меньших усилий.
К слову, свою программу для частотного анализа я называл «All Words Knower», даже не подозревая на тот момент о существовании программы awk. =)
awk -F '[^а-яА-Я]+' '{for(i=1;i<=NF;i++)if($i)w[tolower($i)]++}END{for(i in w)print i, w[i]}' *.txt
Возможно местами это решение чуть медленнее, чем моё но использует меньше памяти и, пожалуй, стоит гораздо меньших усилий.
К слову, свою программу для частотного анализа я называл «All Words Knower», даже не подозревая на тот момент о существовании программы awk. =)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Создание частотного словаря на основе анализа библиотеки художественной литературы