Grunderna i Natural Language Processing (NLP)

Naturlig språkbehandling med spaCy

Azadeh Mobasher

Principal Data Scientist

Natural Language Processing (NLP)

 

  • Ett delområde inom artificiell intelligens (AI)
  • Hjälper datorer att förstå mänskligt språk
  • Utvinnar insikter ur ostrukturerad data
  • Kombinerar statistik, maskininlärningsmodeller och djupinlärningsmodeller

 

NLP, ett delområde inom AI

Naturlig språkbehandling med spaCy

Användningsområden för NLP

Sentimentanalys  

  • Datorbaserad metod för att identifiera den subjektiva tonen i en text

 

Exempel på sentimentanalys

Naturlig språkbehandling med spaCy

Användningsområden för NLP

Igenkänning av namngivna entiteter (NER)  

  • Identifierar och klassificerar namngivna entiteter i ostrukturerad text i fördefinierade kategorier
  • Namngivna entiteter är verkliga objekt, till exempel personer eller platser

 

Exempel på NER

Naturlig språkbehandling med spaCy

Användningsområden för NLP

 

  • Genererar människoliknande svar på textinmatning, till exempel ChatGPT

 

Chattbotar

Naturlig språkbehandling med spaCy

Introduktion till spaCy

spaCy är ett gratis, öppen källkod-bibliotek för NLP i Python som:

  • Är utformat för att bygga system för informationsextraktion
  • Tillhandahåller produktionsklar kod för NLP-användningsfall
  • Stöder 64+ språk
  • Är robust och snabbt med visualiseringsbibliotek

 

spaCy och NLP

Naturlig språkbehandling med spaCy

Installera och importera spaCy

 

  • Som första steg kan spaCy installeras med Python-pakethanteraren pip
  • Tränade modeller för spaCy kan laddas ned
  • Flera tränade modeller finns tillgängliga för engelska på spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Naturlig språkbehandling med spaCy

Läs och bearbeta text med spaCy

  • Inläst spaCy-modell en_core_web_sm = nlp-objekt
  • nlp-objektet omvandlar text till ett Doc-objekt (behållare) för bearbetad text

Textbearbetning med spaCy

Naturlig språkbehandling med spaCy

spaCy i praktiken

  • Bearbetning av en sträng med spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenisering
    • En Token definieras som den minsta meningsbärande delen av texten.
    • Tokenisering: processen att dela upp en text i en lista med meningsfulla tokens
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Naturlig språkbehandling med spaCy

Nu kör vi en övning!

Naturlig språkbehandling med spaCy

Preparing Video For Download...