↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!

pskovoroda

Автор, Редактор, Иллюстратор

Фанфики

25 произведений» 
Отчаявшаяся кладоискательница
Гет, Макси, Закончен
32k 176 731 3
Ронни и его друзья. 1. Пенис енладжмент
Джен, Мини, Закончен
1.3k 0 46
Злой гений
Гет, Макси, Закончен
53k 198 942 5
Олли
Гет, Макси, Закончен
74k 326 491 2

Редактура

32 произведения» 
3000 дней невиновности
Гет, Макси, Закончен
67k 79 614 2
Контракт
Гет, Макси, Закончен
197k 217 2.3k 1
Гарри Поттер и Непогасший Маяк
Гет, Миди, Закончен
17k 12 339
Самый избранный из всех попаданцев
Гет, Макси, Заморожен
37k 34 230
В поисках места, что домом зовется
Гет, Макси, Закончен
185k 135 3.4k 6

Фанарт

12 работ» 

Подарки

7 подарков» 
ПодарокЭто просто квиддич
От Хэлен
ПодарокШалость удалась
От мозгомышка
ПодарокВ руках воды
От ansy

Награды

71 награда» 
11 лет на сайте 11 лет на сайте
23 мая 2025
10 лет на сайте 10 лет на сайте
23 мая 2024
9 лет на сайте 9 лет на сайте
23 мая 2023
12 макси 12 макси
14 сентября 2022
8 лет на сайте 8 лет на сайте
23 мая 2022

Блог » Поиск

До даты
#скриптики
Искал что-нибудь для статистического анализа текста, но толком не нашёл. Кстати, если кто посоветует пригодный софт или сайт с автоматом на нём, буду признателен.

В общем, в итоге скачал 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 комментариев
#скриптики
Написал небольшой скрипт для переделки из Гугловского документа в ПФ (минимум форматирования + главы). Документ нужно сохранить в HTML, а потом запустить Перл

perl -p fanfics.pl index.html > out.html

скачать можно здесь
Показать 1 комментарий
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть