Základy spaCy

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

Azadeh Mobasher

Principal Data Scientist

Pipeline spaCy NLP

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("Here's my spaCy pipeline.")
  • Importujte spaCy
  • Použijte spacy.load() k vrácení nlp, třídy Language
    • Objekt Language je pipeline pro zpracování textu
  • Aplikujte nlp() na libovolný text a získejte kontejner Doc
Zpracování přirozeného jazyka s knihovnou spaCy

Pipeline spaCy NLP

 

spaCy provádí kroky zpracování pomocí třídy Language:

Pipeline spaCy Language

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

Objekty-kontejnery v spaCy

  • spaCy nabízí více datových struktur pro reprezentaci textu:

 

Název Popis
Doc Kontejner pro přístup k lingvistickým anotacím textu
Span Výřez z objektu Doc
Token Jednotlivý token, tj. slovo, interpunkce, mezera atd.
Zpracování přirozeného jazyka s knihovnou spaCy

Komponenty pipeline

  • Pipeline spaCy závisí na načteném modelu a jeho schopnostech.

 

Komponenta Název Popis
Tokenizer Tokenizer Rozdělí text na tokeny a vytvoří objekt Doc
Tagger Tagger Přiřadí slovní druhy
Lemmatizer Lemmatizer Převede slova na jejich základní tvary
EntityRecognizer NER Detekuje a označí pojmenované entity
Zpracování přirozeného jazyka s knihovnou spaCy

Komponenty pipeline

 

  • Každá komponenta má jedinečné funkce pro zpracování textu

    • Language
    • DependencyParser
    • Sentencizer
Zpracování přirozeného jazyka s knihovnou spaCy

Tokenizace

  • Vždy první operace
  • Ostatní operace vyžadují tokeny
  • Tokeny mohou být slova, čísla a interpunkce
import spacy
nlp = spacy.load("en_core_web_sm")

doc = nlp("Tokenization splits a sentence into its tokens.")

print([token.text for token in doc])
['Tokenization', 'splits', 'a', 'sentence', 'into', 'its', 'tokens', '.']
Zpracování přirozeného jazyka s knihovnou spaCy

Segmentace vět

  • Složitější než tokenizace
  • Součást komponenty DependencyParser
import spacy
nlp = spacy.load("en_core_web_sm")

text = "We are learning NLP. This course introduces spaCy."
doc = nlp(text)

for sent in doc.sents: print(sent.text)
We are learning NLP.
This course introduces spaCy.
Zpracování přirozeného jazyka s knihovnou spaCy

Lematizace

  • Lemma je základní tvar tokenu
  • Lemma slov eats a ate je eat
  • Zlepšuje přesnost jazykových modelů
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("We are seeing her after one year.")

print([(token.text, token.lemma_) for token in doc])
[('We', 'we'), ('are', 'be'), ('seeing', 'see'), ('her', 'she'), 
('after', 'after'), ('one', 'one'), ('year', 'year'), ('.', '.')]
Zpracování přirozeného jazyka s knihovnou spaCy

Pojďme cvičit!

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

Preparing Video For Download...