Aan de slagGa gratis aan de slag

Semantische gelijkenis voor het categoriseren van tekst

Het hoofddoel van semantische gelijkenis is de afstand meten tussen de betekenis van een paar woorden, woordgroepen, zinnen of documenten. Zo is het woord “car” bijvoorbeeld meer vergelijkbaar met “bus” dan met “cat”. In deze oefening ga je vergelijkbare zinnen zoeken bij het woord sauce uit een voorbeeldtekst in Amazon Fine Food Reviews. Je kunt spacy gebruiken om de gelijkenisscore te berekenen tussen het woord sauce en elke zin in een gegeven texts-string en de score van de meest vergelijkbare zin te rapporteren.

Er is een texts-string vooraf ingeladen die alle Text-data van de reviews bevat. Voor deze oefening gebruik je het Engelse model en_core_web_md, dat al beschikbaar is als nlp.

Deze oefening maakt deel uit van de cursus

Natural Language Processing met spaCy

Cursus bekijken

Oefeninstructies

  • Gebruik nlp om Doc-containers te genereren voor het woord sauce en voor texts, en sla ze respectievelijk op in key en sentences.
  • Bereken de gelijkenisscores van het woord sauce met elke zin in de texts-string (afgerond op twee cijfers).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Populate Doc containers for the word "sauce" and for "texts" string
key = ____
sentences = ____

# Calculate similarity score of each sentence and a Doc container for the word sauce
semantic_scores = []
for sent in sentences.____:
	semantic_scores.append({"score": round(sent.____(____), 2)})
print(semantic_scores)
Code bewerken en uitvoeren