Семантична подібність для категоризації тексту
Головна мета семантичної подібності — виміряти відстань між смисловими значеннями пари слів, фраз, речень або документів. Наприклад, слово «car» є ближчим за змістом до «bus», ніж до «cat». У цій вправі ви знайдете речення, подібні до слова sauce, у прикладовому тексті з Amazon Fine Food Reviews. Ви можете використати spacy, щоб обчислити показник подібності між словом sauce і будь-яким із речень у рядку texts та визначити бал найбільш подібного речення.
Рядок texts уже завантажено — він містить усі дані Text з відгуків. У цій вправі ви використаєте англомовну модель en_core_web_md, яка вже доступна як nlp.
Ця вправа є частиною курсу
Обробка природної мови (NLP) зі spaCy
Інструкції до вправи
- Використайте
nlp, щоб згенерувати контейнериDocдля словаsauceта дляtextsі збережіть їх відповідно вkeyтаsentences. - Обчисліть показники подібності між словом
sauceта кожним реченням у рядкуtexts(округліть до двох знаків).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)