Podstawy przetwarzania języka naturalnego (NLP)

Przetwarzanie języka naturalnego z użyciem spaCy

Azadeh Mobasher

Principal Data Scientist

Przetwarzanie języka naturalnego (NLP)

 

  • Poddziedzina sztucznej inteligencji (AI)
  • Pomaga komputerom rozumieć język naturalny
  • Umożliwia ekstrakcję wiedzy z danych nieustrukturyzowanych
  • Wykorzystuje statystykę, modele uczenia maszynowego i modele głębokiego uczenia

 

NLP jako poddziedzina AI

Przetwarzanie języka naturalnego z użyciem spaCy

Zastosowania NLP

Analiza wydźwięku  

  • Komputerowe określanie subiektywnego tonu wypowiedzi

 

Przykłady analizy wydźwięku

Przetwarzanie języka naturalnego z użyciem spaCy

Zastosowania NLP

Rozpoznawanie nazwanych jednostek (NER)  

  • Lokalizowanie i klasyfikowanie nazwanych jednostek w tekście nieustrukturyzowanym
  • Nazwane jednostki to obiekty ze świata rzeczywistego, np. osoba lub miejscowość

 

Przykłady NER

Przetwarzanie języka naturalnego z użyciem spaCy

Zastosowania NLP

 

  • Generowanie odpowiedzi przypominających ludzkie, jak w przypadku ChatGPT

 

Chatboty

Przetwarzanie języka naturalnego z użyciem spaCy

Wprowadzenie do spaCy

spaCy to bezpłatna, open-source'owa biblioteka NLP dla Pythona, która:

  • Jest zaprojektowana do budowy systemów ekstrakcji informacji
  • Dostarcza kod gotowy do produkcji
  • Obsługuje 64+ języków
  • Jest niezawodna, szybka i posiada biblioteki wizualizacji

 

spaCy i NLP

Przetwarzanie języka naturalnego z użyciem spaCy

Instalacja i importowanie spaCy

 

  • spaCy można zainstalować za pomocą menedżera pakietów pip
  • Wytrenowane modele spaCy można pobrać
  • Wiele wytrenowanych modeli dla języka angielskiego jest dostępnych na spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Przetwarzanie języka naturalnego z użyciem spaCy

Wczytywanie i przetwarzanie tekstu w spaCy

  • Załadowany model spaCy en_core_web_sm = obiekt nlp
  • Obiekt nlp przekształca tekst w obiekt Doc (kontener) przechowujący przetworzony tekst

Przetwarzanie tekstu w spaCy

Przetwarzanie języka naturalnego z użyciem spaCy

spaCy w działaniu

  • Przetwarzanie ciągu znaków za pomocą spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenizacja
    • Token to najmniejsza sensowna jednostka tekstu.
    • Tokenizacja: podział tekstu na listę znaczących tokenów
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Przetwarzanie języka naturalnego z użyciem spaCy

Czas na ćwiczenia!

Przetwarzanie języka naturalnego z użyciem spaCy

Preparing Video For Download...