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
  • česká podstatná jména
  • databáze českých slov
  • seznam českých podstatných jmen
  • česká podstatná jména od h
  • podstatna jmena na b

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

      1. Honza

        Ahoj, no to je neuvěřitelný, já po tom pátrám už týdny :-) děkuju moc.
        Dovolim si položit ještě jednu otázku, jde do tohoto seznamu zařadit i množná čísla? př.: kolo-kola, matka-matky
        díky ještě jednou moc
        H

  2. mentl

    Zdravím, šikovná věcička. ale hodilo by se kdybys napsat co znamenají jednotlivé znaky za lomítkem. Pro případ že někdo (npř. já) hledá jiný slovní druh. předem díky.

  3. PanTau

    Ahoj,

    pěkný článek, děkuji moc. Podstatná jména použiji ve svém programu(pro osobní účely).

  4. Andrej

    Bohužel ne všechny podstatná jména mají za lomítkem H nebo Z. Ve vašem ukázkovém textovém souboru chybí i docela běžná slova jako „čaj“ nebo „pes“.

  5. 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ář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>