środa, 22 lutego 2012

Zabawy ze słownikiem, cz. 2

Po spółgłoskowych poszukiwaniach doszły mnie słuchy, że język polski ma fenomenalnego kandydata na zupełnego rekordzistę, jeśli chodzi o liczbę kolejnych spółgłosek, niestety nieistniejącego w słowniku. Jest to słowo kontrdrgnięcie – polecam spróbować wymówić. Google powiada, że nawet ktoś kiedyś tego słowa użył.
A teraz czas na nowy skrypcik przetwarzający słownik. Tym razem o niebo prostszy, bo rekord do zbadania o wiele banalniejszy. Postanowiłem poszukać słów, które mają najwięcej spółgłosek w stosunku do wszystkich liter (ignoruję słowa z samymi spółgłoskami, żeby nie zachwycić się takimi cudami jak w, z, hmm, pst).
#!/usr/bin/perl
use utf8;
use diagnostics -trace;
use strict;
use warnings FATAL => 'all';
use feature qw(say);

sub get_ratio($) {
 my ($word) = @_;
 my $consonants = grep { $_ !~ m/[aeiouyąęó]/ } map { substr($word, $_, 1) } 0 .. length($word) - 1;
 return $consonants / length($word);
}

binmode(STDOUT, ":utf8");
open (FILE, "<:encoding(UTF-8)", "slowa-pl.txt");
my $record = 0;
while (my $line = <FILE>) {
 $line =~ s/\r?\n//;
 my $result = get_ratio($line);
 say "$result: $line" and $record = $result if $result >= $record && $result < 1;
}
Wyniki nie mniej ciekawe niż poprzednio, bo mamy w naszym języku niebanalne słowa, dla których współczynnik spółgłoski/litery wynosi 8/9:
chrząszcz, chrzęszcz, przechrzt, schińszcz, schlaszcz, schluszcz, schłoszcz, szklarstw
Rekordzista samogłoskowy jest jeden: oiomie.
Tradycyjnie to samo zrobiłem dla innych języków.

  • Spółgłoskowce niemieckie: Borschtsch, Schmartsch, Schwintsch, Zschetzsch, plantschst, schnarchst, schrumpfst
  • Spółgłoskowce angielskie: strengths, tsktsking
  • Samogłoskowce są nudne, nic bardziej ekscytujące niż audio czy queue się nie znalazło.
Co w następnej edycji Zabaw ze słownikiem? O tym czytelnicy dowiedzą się już niebawem!

4 komentarze:

  1. Odpowiedzi
    1. Dobre pytanie :P Chętnie się dowiem, co to, bo na razie wiem tylko, że ktoś nagrał kiedyś taką płytę i że słowo jest w słowniku scrabble'owym :)

      Usuń
  2. A propo takich wyszukiwań - może znasz, a może nie, ale reklamuję: http://nkjp.pl/poliqarp/. Składnia zapytań jest rozbudowana (patrz pomoc), a operujesz na tekście żywym, a nie słownikowym. Może Cię to zainspiruje do innych poszukiwań :)

    OdpowiedzUsuń
    Odpowiedzi
    1. A dziękuję :) Kojarzę, ale do tej pory się tym nie bawiłem. Podejrzewam, że jak już się zabawię, to będzie tu coś na ten temat!

      Usuń