Základy zpracování přirozeného jazyka (NLP)

Zpracování přirozeného jazyka s knihovnou spaCy

Azadeh Mobasher

Principal Data Scientist

Zpracování přirozeného jazyka (NLP)

 

  • Podobor umělé inteligence (AI)
  • Pomáhá počítačům porozumět lidskému jazyku
  • Umožňuje získávat poznatky z nestrukturovaných dat
  • Využívá statistiku, modely strojového učení a modely hlubokého učení

 

NLP, podobor AI

Zpracování přirozeného jazyka s knihovnou spaCy

Případy užití NLP

Analýza sentimentu  

  • Využití počítačů k určení subjektivního vyznění textu

 

Příklady analýzy sentimentu

Zpracování přirozeného jazyka s knihovnou spaCy

Případy užití NLP

Rozpoznávání pojmenovaných entit (NER)  

  • Vyhledávání a klasifikace pojmenovaných entit v nestrukturovaném textu do předdefinovaných kategorií
  • Pojmenované entity jsou objekty reálného světa, např. osoby nebo místa

 

Příklady NER

Zpracování přirozeného jazyka s knihovnou spaCy

Případy užití NLP

 

  • Generování odpovědí podobných lidskému textu, například ChatGPT

 

Chatboti

Zpracování přirozeného jazyka s knihovnou spaCy

Úvod do spaCy

spaCy je bezplatná, open-source knihovna pro NLP v Pythonu, která:

  • Je navržena pro tvorbu systémů extrakce informací
  • Poskytuje kód připravený pro produkci
  • Podporuje 64+ jazyků
  • Je robustní, rychlá a obsahuje vizualizační knihovny

 

spaCy a NLP

Zpracování přirozeného jazyka s knihovnou spaCy

Instalace a import spaCy

 

  • spaCy lze nainstalovat pomocí správce balíčků pip
  • Natrénované modely spaCy lze stáhnout
  • Pro angličtinu je k dispozici více modelů na spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Zpracování přirozeného jazyka s knihovnou spaCy

Čtení a zpracování textu pomocí spaCy

  • Načtený model spaCy en_core_web_sm = objekt nlp
  • Objekt nlp převádí text na objekt Doc (kontejner) pro uložení zpracovaného textu

Zpracování textu pomocí spaCy

Zpracování přirozeného jazyka s knihovnou spaCy

spaCy v praxi

  • Zpracování řetězce pomocí spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenizace
    • Token je nejmenší smysluplná část textu.
    • Tokenizace: rozdělení textu na seznam smysluplných tokenů
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Zpracování přirozeného jazyka s knihovnou spaCy

Pojďme si procvičit!

Zpracování přirozeného jazyka s knihovnou spaCy

Preparing Video For Download...