Seznam českých podstatných jmen

Seznam podstatných jmenK naplnění podstaty jednoho mého projektu jsem potřeboval získat poněkud specifická data – česká podstatná jména v prvním pádě. Nejprve jsem předpokládal, že podobný seznam musím s pomocí webového vyhledávače nalézt. Bohužel jsem však narážel pouze na nefunkční odkazy. Postupně jsem se proto smiřoval s faktem, že kýžený soupis budu vytvářet na vlastní pěst. Mé myšlenky směřovaly k využití nejrůznějších slovníků používaných pro kontrolu pravopisu a tento nápad mi následně potvrdil i jeden tip, jenž jsem během procházení internetu objevil.

Problémy nečiní ani jiné slovní druhy

K získání seznamu nejprve zamiřte na www.openoffice.cz, kde stáhnete český slovník ve formátu oxt. U souboru následně zaměňte koncovku na zip a použijte libovolný dekomprimační nástroj. Uvnitř archívu čeká několik souborů, z nichž pro nás momentálně nejzajímavější nese označení cs_CZ.dic. Doporučuji se rovněž seznámit s přiloženou licencí. Zmíněný souhrn pochází původně ze slovníku pro ispell a přichází s formátem, jenž umožňuje identifikovat kýžené objekty zájmu. Pro tento účel jsem vytvořil jednoduchý skript v PHP, jenž celý soubor postupně projde a vybere pouze ta slova, o které má daný uživatel skutečně zájem. V mém případě šlo o řádky, jenž za symbolem lomítka (/) obsahovaly buď znak H nebo Z.

$lines = file("./cs_CZ.dic");
$fileName = "podstatna_jmena.txt";
for($i = 0 ; $i < count($lines); $i++)
{
 $currentLine = explode("/", $lines[$i]);
 if( (strpbrk($currentLine[1], "HZ") != false) )
 {
 file_put_contents($fileName, $currentLine[0]."\n", FILE_APPEND);
 }
}

Nejprve jsem celý obsah slovníku s pomocí funkce file proměnil na pole. Následovalo jeho procházení s pomocí klasického iteračního cyklu. Na každý řádek byla aplikována snaha o jeho rozdělení na dvě poloviny díky explode. Pokud funkce strpbrk nalezla kýžený písmenný znak, dovolila provést zápis do druhého pomocného souboru. Po ukončení činnosti scriptu jeho obsah tvořily pouze slovní druhy, o něž skutečně stojíte – zde tedy konkrétně výhradně podstatná jména. Jejich předání dalšímu programu či scriptu následně již nic nezabrání.

Příchozí dotazy:

  • slovník podstatných jmen
  • seznam podstatných jmen
  • seznam českých slov
  • slovník českých slov txt
  • databáze českých slov
  • česká podstatná jména
  • seznam českých podstatných jmen

10 komentářů u „Seznam českých podstatných jmen

  1. Honza

    Ahoj, jsem takový lajk že nepoberu ani toto vysvětlení :-( za to se předem omlouvám. Mohl bych Vás poprosit o váš čas výčet podstatných jmen jednotného a množného čísla od A do Z ve formátu .TXT (poznámkový blok) řazené pod sebou? Snad tato informace lze z výše uvedenéh slovníku vytáhnout..? Předem velice děkuji

    Jan Zeman

  2. VK

    Kód v zápisku vygeneruje pouze malý zlomek podstatných jmen. H a Z nejsou zdaleka všechny suffixy. Jsou potřeba minimálně suffixy ZHSQMPUL a možná další. Tady je příkaz, který používám pro vygenerování seznamu:

    aspell -l cs dump master | grep '/[ZHSQMPUL]' | sed 's_/.*$__;'

    Upozorňuju ale, že ani tohle nevygeneruje kompletní seznam podstatných jmen, mj. protože některá vůbec suffix nemají. Například „hmyz“ nebo „ďábel“.

Napsat komentář