Similitud semántica para categorizar texto
El objetivo principal de la similitud semántica es medir la distancia entre los significados de un par de palabras, frases, oraciones o documentos. Por ejemplo, la palabra “car” es más similar a “bus” que a “cat”. En este ejercicio, vas a encontrar las oraciones más parecidas a la palabra sauce a partir de un texto de ejemplo de Amazon Fine Food Reviews. Puedes usar spacy para calcular la puntuación de similitud entre la palabra sauce y cualquiera de las oraciones de una cadena texts dada, y reportar la puntuación de la oración más similar.
Ya tienes precargada una cadena texts que contiene los datos Text de todas las reseñas. Para este ejercicio, usarás el modelo de inglés en_core_web_md, que ya está disponible como nlp.
Este ejercicio forma parte del curso
Procesamiento del Lenguaje Natural con spaCy
Instrucciones del ejercicio
- Usa
nlppara generar contenedoresDocpara la palabrasaucey paratexts, y guárdalos enkeyysentences, respectivamente. - Calcula las puntuaciones de similitud de la palabra
saucecon cada oración de la cadenatexts(redondeadas a dos decimales).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)