pskovoroda
25 октября 2015
Коллекции загружаются
#скриптики
Искал что-нибудь для статистического анализа текста, но толком не нашёл. Кстати, если кто посоветует пригодный софт или сайт с автоматом на нём, буду признателен. В общем, в итоге скачал Mystem и к этому допилил короткий скрипт на Перле: use strict; use warnings; my %count; while (<>) { $count{$_}++ for /(?<={)[^|}]+/g; } my $sum = 0; foreach my $str (sort keys %count) { $sum ++; } $count {"Total dictionary"} = $sum; printf "%-31s %s\\n", $_, $count{$_} for sort { $count{$b} <=> $count{$a} || $a cmp $b} keys %count; Ничего особенного, в общем-то, но если прогнать текст через Mystem, а результат — через скрипт (можно всё в один пайп засунуть), то в итоге получится список слов с числом повторений. В первой строке выводится общее число разных слов (активный словарный запас) cat text.txt | mystem -e cp1251 | perl frequency.pl > out.stat Выход Mystem выглядит примерно так: он{он}продолжал{продолжать}завтрак{завтрак} То, что нужно считать — в фигурных скобках, причём иногда бывает и так: это{это|этот} Первая строка в while находит все слова между { и } или между { и | и для каждого из этих слов делает инкремент счётчика в хэше. Собственно, на этом и всё. Цикл foreach считает число записей в хэше и затем добавляет ещё одним элементом. Последующий printf сортирует хэш по счётчику и печатает пару из ключа и значения. Свернуть сообщение - Показать полностью
Показать 12 комментариев |
pskovoroda
27 апреля 2015
Коллекции загружаются
#скриптики
Написал небольшой скрипт для переделки из Гугловского документа в ПФ (минимум форматирования + главы). Документ нужно сохранить в HTML, а потом запустить Перл perl -p fanfics.pl index.html > out.html скачать можно здесь 3 Показать 1 комментарий |