He entrenado un modelo supervised_embeddings Rasa NLU usando rasa train nlu. Para mi caso de uso específico, ahora necesito obtener las incrustaciones para los mensajes de usuario ingresados, y comparar las incrustaciones con las de los mensajes en mis datos de entrenamiento de NLU.

¿Es posible usar la API de Python para cargar el modelo entrenado y usarlo para incrustar una cadena de texto?

0
KOB 6 feb. 2020 a las 09:34

2 respuestas

La mejor respuesta

Esto fue respondido en el foro rasa. Para una referencia fácil: pase only_output_properties=False al método interpreter.parse:

Puede hacer esto desde un script de Python:

from rasa.nlu.model import Interpreter

interpreter = Interpreter.load('models/nlu-xyz/nlu')) ## this should be an extracted model
result = interpreter.parse('hello world',only_output_properties=False)
embeds = result.get("text_sparse_features")
0
Melinda 11 feb. 2020 a las 18:12

@KOB Desafortunadamente, no tenemos una API para ello. Puede consultar el código en https : //github.com/RasaHQ/rasa/blob/master/rasa/nlu/classifiers/embedding_intent_classifier.py#L572 y use message_embed como incrustación. No dude en hacer cualquier otra pregunta.

0
dragster 11 feb. 2020 a las 10:14