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

Пароль

 
Войти при помощи

pskovoroda

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

Фанфики

25 произведений» 
Отчаявшаяся кладоискательница
Гет, Макси, Закончен
29k 170 687 3
Ронни и его друзья. 1. Пенис енладжмент
Джен, Мини, Закончен
1.1k 0 40
Злой гений
Гет, Макси, Закончен
48k 198 889 5
Олли
Гет, Макси, Закончен
71k 326 480 2

Редактура

32 произведения» 
3000 дней невиновности
Гет, Макси, Закончен
63k 79 598 2
Контракт
Гет, Макси, Закончен
190k 217 2.2k 1
Гарри Поттер и Непогасший Маяк
Гет, Миди, Закончен
17k 12 332
Самый избранный из всех попаданцев
Гет, Макси, Заморожен
36k 32 225
В поисках места, что домом зовется
Гет, Макси, Закончен
178k 132 3.3k 6

Фанарт

12 работ» 

Подарки

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

Награды

70 наград» 
10 лет на сайте 10 лет на сайте
23 мая 2024
9 лет на сайте 9 лет на сайте
23 мая 2023
12 макси 12 макси
14 сентября 2022
8 лет на сайте 8 лет на сайте
23 мая 2022
5000 комментариев 5000 комментариев
11 января 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 комментарий
ПОИСК
ФАНФИКОВ









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