Sémantická podobnost pro kategorizaci textu
Hlavním cílem sémantické podobnosti je měřit vzdálenost mezi významem dvojice slov, frází, vět nebo dokumentů. Například slovo „car" (auto) je významově bližší slovu „bus" (autobus) než slovu „cat" (kočka). V tomto cvičení najdeš věty podobné slovu sauce v ukázkovém textu z datasetu Amazon Fine Food Reviews. Pomocí spacy vypočítáš skóre podobnosti slova sauce s každou větou v daném řetězci texts a zjistíš, která věta je nejpodobnější.
Řetězec texts je předem načtený a obsahuje data pole Text ze všech recenzí. Pro toto cvičení použiješ anglický model en_core_web_md, který je dostupný jako nlp.
Toto cvičení je součástí kurzu
Zpracování přirozeného jazyka s knihovnou spaCy
Pokyny k cvičení
- Pomocí
nlpvytvoř kontejneryDocpro slovosaucea pro řetězectextsa ulož je do proměnnýchkeyasentences. - Vypočítej skóre podobnosti slova
sauces každou větou v řetězcitexts(zaokrouhlené na dvě desetinná místa).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)