Crea Google Custom Types desde Alexa Custom Slots
Una CLI simple que transforma los Alexa Custom Slots en Google Custom Types
Google Action Type Importer
Esta CLI te permite transformar tus Alexa Custom Slots en Google Custom Types.
Prefacio
Natural Language Understanding
NLU o Natural Language Understanding es un campo de la IA que nos permite comprender el input de los usuarios en forma de voz o texto.
Para eso, debes especificar el modelo de interacción (Interaction Model). En términos de Google Assistant y sus Google Actions, será el Voice Interaction Model o VUI. Con la VUI, tú, como voice app developer, especificarás cómo vas a interactuar con el asistente.
En la Google Action, crearás intents (globales o específicas de una Scene) que contendrán Uttrances. Estos Utterances determinarán la misma acción/intención del usuario. Además, esas expresiones pueden contener variables también llamadas slots o entities. Cada slot puede tener su tipo.
Habiendo definido bien la VUI, el proceso de NLU puede identificar lo que el usuario solicita en cualquier momento:
NLU. Foto de Chatbots Magazine.
Custom Types y su importancia
Google Assistant tiene sus propios tipos personalizados como actions.type.Date
, actions.type.DateTime
, actions.type.Time
o actions.type.Number
. Es importante que si estás desarrollando tus Google Actions y estás trabajando con tus propias palabras, aquellas que sean específicas/relacionadas con tu negocio, deberás crear tus tipos personalizados. El Asistente de Google utilizará estos tipos para entrenar su IA. Así podrá entenderte mientras interactúas con él. La usabilidad de tus Google Action depende directamente de qué tan bien los utterances y los valores de los custom types representen el uso del lenguaje en el mundo real.
Es por eso que creé esta herramienta, para transformar adecuadamente tus Custom Slots creados en Alexa en Custo Types de tus Google Actions.
Instalación
Puede descargar la última versión desde aquí
Hombrew
Si usas el administrador de paquetes Homebrew, puede instalar esta CLI siguiendo estos pasos:
- Añade mi Hombre tab:
brew tap xavidop/tap git@github.com:xavidop/homebrew-tap.git brew update
- Instala la CLI:
brew install google-action-type-importer
Uso
Esta es la descripción general de la herramienta:
➜ google-action-type-importer git:(master) ✗ google-action-type-importer
Welcome to google-action-type-importer!
This utility provides you with an easy way to create custom types
for your Google Actions projects importing those values from files.
You can find the documentation at https://github.com/xavidop/google-action-type-importer/master/README.md.
Please file all bug reports on Github at https://github.com/xavidop/google-action-type-importer/issues.
Usage:
google-action-type-importer [flags]
google-action-type-importer [command]
Available Commands:
completion generate the autocompletion script for the specified shell
help Help about any command
import Imports a type
version Get google-action-type-importer version
Flags:
-h, --help help for google-action-type-importer
-v, --verbose verbose error output (with stack trace)
Use "google-action-type-importer [command] --help" for more information about a command.
Importar un Custom Slot de una Alexa Skill a un Custom Type de una Google Action
Para importar un Slot de Alexa, debes tener tu Slot en un CSV con el formato que acepta Alexa:
Slot value,identifier,synonym,synonym,...
Teniendo ese archivo, puedes ejecutar el subcomando import
:
➜ google-action-type-importer git:(master) ✗ google-action-type-importer import --help
Imports a type
Usage:
google-action-type-importer import [flags]
Flags:
-f, --file string CSV to read (default "file.csv")
-e, --header Specifies if the CSV contains headers or not
-h, --help help for import
-t, --type-name string Type to create (default "type")
Global Flags:
-v, --verbose verbose error output (with stack trace)
Ejemplo
google-action-type-importer import -f examples/pokemon.csv --header -t pokemon
El comando anterior creará el archivo pokemon.yaml
. Puedes encontrar el CSV de ejemplo aquí y el fichero YAML resultante aquí.
Alexa Custom Slot:
Alexa Custom Slot
Google Action Custom Type:
Google Action Custom type
Fácil ¿Verdad?
Recursos
- Official Google Assistant Node.js SDK - Official Google Assistant Node.js SDK
- Official Google Assistant Documentation - Official Google Assistant Documentation
- Official Google Actions Custom Types Documentation - Official Google Actions Custom Types Documentation
Conclusión
Como puedes ver, puedes transferir tus Alexa Slots fácilmente a tus Google Actions. ¡Deseando ver las Google Actions que vas a desarrollar utilizando esta CLI!
Espero que esta herramienta te sea de utilidad.
Puedes encontrar el código en mi Github
!Eso es todo!
Happy coding!