AI-For-Beginners/translations/cs/lessons/5-NLP
localizeflow[bot] e267e4ce47 chore(i18n): sync translations with latest source changes (chunk 1/1, 19 changes) 2026-07-08 17:14:17 +00:00
..
13-TextRep chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
14-Embeddings chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
15-LanguageModeling chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
16-RNN chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
17-GenerativeNetworks chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
18-Transformers chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
19-NER chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
20-LangModels chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 19 changes) 2026-07-08 17:14:17 +00:00

README.md

Zpracování přirozeného jazyka

Shrnutí úkolů NLP ve skicáku

V této sekci se zaměříme na využití neuronových sítí k řešení úkolů souvisejících se zpracováním přirozeného jazyka (NLP). Existuje mnoho problémů NLP, které chceme, aby počítače dokázaly řešit:

  • Klasifikace textu je typický klasifikační problém týkající se sekvencí textu. Příklady zahrnují klasifikaci e-mailových zpráv jako spam vs. ne-spam nebo kategorizaci článků jako sport, obchod, politika atd. Také při vývoji chatbotů často potřebujeme pochopit, co uživatel chtěl říct v tomto případě řešíme klasifikaci záměru. Často v klasifikaci záměru musíme pracovat s mnoha kategoriemi.
  • Analýza sentimentu je typický regresní problém, kde je potřeba přidělit číslo (sentiment) odpovídající tomu, jak pozitivní/negativní je význam věty. Pokročilejší verzí analýzy sentimentu je analýza sentimentu založená na aspektech (ABSA), kde přidělujeme sentiment ne celému textu, ale různým jeho částem (aspektům), např. V této restauraci se mi líbila kuchyně, ale atmosféra byla hrozná.
  • Rozpoznávání pojmenovaných entit (NER) se týká problému vyhledávání určitých entit v textu. Například je potřeba pochopit, že ve frázi Musím zítra letět do Paříže slovo zítra odkazuje na DATUM a Paříž je LOKALITA.
  • Extrahování klíčových slov je podobné jako NER, ale je potřeba automaticky extrahovat slova důležitá pro význam věty bez předchozího tréninku na konkrétní typy entit.
  • Shlukování textu může být užitečné, když chceme seskupit podobné věty, například podobné požadavky v konverzacích technické podpory.
  • Odpovídání na otázky je schopnost modelu odpovědět na konkrétní otázku. Model dostane jako vstup textový úsek a otázku a potřebuje poskytnout místo v textu, kde je odpověď (nebo někdy také vygenerovat text odpovědi).
  • Generování textu je schopnost modelu generovat nový text. Může být považováno za klasifikační úkol, který předpovídá další písmeno/slovo na základě nějaké textové výzvy. Pokročilé modely generování textu, jako GPT-3, dokážou řešit i jiné NLP úkoly, například klasifikaci, pomocí techniky zvané prompt programming nebo prompt engineering
  • Shrnutí textu je technika, kdy chceme, aby počítač „přečetl“ dlouhý text a shrnul ho do několika vět.
  • Strojový překlad lze vnímat jako kombinaci porozumění textu v jednom jazyce a generování textu v jiném.

Zpočátku byla většina NLP úkolů řešena tradičními metodami, jako byly gramatiky. Například při strojovém překladu se používaly parsery k transformaci počáteční věty do syntaktického stromu, poté byly extrahovány vyšší úrovně sémantických struktur reprezentujících význam věty a na základě tohoto významu a gramatiky cílového jazyka byl generován výsledek. V současnosti je mnoho úkolů NLP efektivněji řešeno pomocí neuronových sítí.

Mnoho klasických NLP metod je implementováno v Python knihovně Natural Language Processing Toolkit (NLTK). Online je dostupná skvělá kniha k NLTK, která pokrývá, jak lze různé úkoly NLP řešit pomocí NLTK.

V našem kurzu se budeme převážně zaměřovat na využití neuronových sítí pro NLP a NLTK použijeme tam, kde to bude potřeba.

Už jsme se naučili využívat neuronové sítě pro práci s tabulkovými daty a s obrázky. Hlavní rozdíl mezi těmito typy dat a textem je, že text je sekvence proměnné délky, zatímco velikost vstupu u obrázků je předem známá. Zatímco konvoluční sítě dokážou extrahovat vzory ze vstupních dat, vzory v textu jsou složitější. Například zápor může být od předmětu oddělen libovolným počtem slov (např. Nemám rád pomeranče vs. Nemám rád ty velké barevné chutné pomeranče), ale mělo by to být stále interpretováno jako jeden vzor. Proto pro práci s jazykem potřebujeme zavést nové typy neuronových sítí, jako jsou rekurentní sítě a transformery.

Instalace knihoven

Pokud používáte lokální instalaci Pythonu pro spuštění tohoto kurzu, možná budete muset nainstalovat všechny požadované knihovny pro NLP pomocí následujících příkazů:

Pro PyTorch

pip install -r requirements-pytorch.txt

Pro TensorFlow

pip install -r requirements-tf.txt

NLP s TensorFlow můžete zkusit na Microsoft Learn

Varování ohledně GPU

V této sekci budeme v některých příkladech trénovat poměrně velké modely.

  • Použijte počítač s podporou GPU: Doporučuje se spouštět notebooky na počítači s podporou GPU, aby se zkrátila čekací doba při práci s velkými modely.
  • Omezení paměti GPU: Práce na GPU může vést k situacím, kdy dojde k vyčerpání paměti GPU, zejména při tréninku velkých modelů.
  • Spotřeba paměti GPU: Množství paměti GPU spotřebované během tréninku závisí na různých faktorech, včetně velikosti minibatch.
  • Minimalizujte velikost minibatch: Pokud narazíte na problémy s pamětí GPU, zvažte snížení velikosti minibatch ve svém kódu jako možné řešení.
  • Uvolnění paměti GPU v TensorFlow: Starší verze TensorFlow nemusí spr správně uvolnit paměť GPU při tréninku více modelů v jednom Python kernelu. Pro efektivní správu paměti GPU je možné nastavit TensorFlow tak, aby alokoval GPU paměť pouze podle potřeby.
  • Začlenění kódu: Pro nastavení TensorFlow, aby rozšiřoval alokaci GPU paměti pouze podle potřeby, zahrňte v notebooku následující kód:
physical_devices = tf.config.list_physical_devices('GPU') 
if len(physical_devices)>0:
    tf.config.experimental.set_memory_growth(physical_devices[0], True) 

Pokud máte zájem učit se o NLP z klasické perspektivy strojového učení, navštivte tuto sadu lekcí

V této sekci

V této sekci se naučíme o:


Prohlášení o omezení odpovědnosti: Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.