powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / perl: скрипт для анализа текста большого объема
9 сообщений из 9, страница 1 из 1
perl: скрипт для анализа текста большого объема
    #38053545
Olgagaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, уважаемые!
Хочу попросить о помощи... Быть может задача банальна, но очень нужно её сделать, а самой тяму не хватает... Итак, необходимо написать программу, которая:
1. из текста большого объема (неограниченного) из слов построит "коллекцию" и подсчитает какое слово сколько раз используется;
2. показывает первые 30 слов, которые наиболее часто встречаются в тексте;
3. анализирует наиболее часто используемые пары слов;
4. выводит первые 20 слов, которые встречаются преимущественно парно;
5. попробовать исключить из анализа служебные части речи: предлоги, союзы, частица (в, без, до, из, к, на, по, о, от, перед, при, через, с, у, за, над, об, под, про, для, а, не и т.д. ...)

Буду признательна за помощь!
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38054196
madbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой объем текста? мегабайты, гигабайты, терабайты?
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38054228
Gijad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или нужно читать непрерывный поток?
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38054291
Olgagaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gijad,
текст соизмерим с текстовым форматом книги "Война и мир"...
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38054337
Gijad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlgagagaGijad,
текст соизмерим с текстовым форматом книги "Война и мир"...
Это маленький текст.
1. cчитайте его в переменную, например $text;
2. функцией split разбейте его на слова, разделитель пробел: @words = split(' ',$text);
3. объявите хэш %stat, и для всех слов из массива @words
Код: php
1.
2.
3.
4.
foreach $i (@words){
if (defined $stat{$i}) {$stat{$i}++;}
else {$stat{$i} = 0;}
}


Теперь у вас есть хэш с ключом "слово" и значением "количество повторений"
Точно также вы можете вместо слов использовать пары, нужно лишь немного усложнить цикл, примерно так:
Код: php
1.
2.
3.
4.
for($i=0;$i<=$#words;$i++){
if (defined $stat{$words[$i].' '.$words[$i+1]}) {$stat{$words[$i].' '.$words[$i+1]}++;}
else {$stat{$words[$i].' '.$words[$i+1]} = 0;}
}
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38055751
Olgagaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gijad, спасибо!
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38059965
Фотография nexoma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно будет сложно, но есть программы под ключевыми словами:
natural language processing. большинство бесплатны и open-source.
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38060104
Фотография nexoma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это для работы с парами слов (задача 3):




Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
#!/usr/bin/perl

#вводим весь текст в переменную
$txt = `cat 1.txt`;// linux
#$txt = `type 1.txt`;/dos-windows
$txt =~ s/\r|\n//;
%hash;
#print $txt;

#вносим в массив все слова
@words = split ('\s+', $txt);
#@words = $str =~ /(\w+\s+)/g;
print "words: $#words\n";



while( @words ) {
     # делаем пару
     my( $first, $second ) = splice @words, 0, 2;
     # создаем хэш пары и считаем встречаемость
     $hash{"$first $second"} += 1;
}
# сортируем по встречаемости
@keys_of_pairs = sort { $hash{$a} > $hash{$b} } keys %hash;
#print join("\n****** ", @keys_of_pairs);

# выводим на стандартный вывод
foreach ( @keys_of_pairs){
    print "$_: ",$hash{$_},"\n";
}
...
Рейтинг: 0 / 0
perl: скрипт для анализа текста большого объема
    #38060149
Фотография nexoma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очень примерно - убрать из списка слова:

Код: php
1.
2.
3.
4.
5.
6.
#!/usr/bin/perl

$txt = " в  без до из к  на  по о от перед при через с у за над об под про для а не и т.д g";
$txt =~ s/ в | без | до | из | к | на | по | о | от | перед | при | через | с | у | за | над | об | под | про | для | а | не | и | т.д /   /g;

print $txt;
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / perl: скрипт для анализа текста большого объема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]