Hola Habr! En la primavera de 2019, tuvo lugar el próximo Taller Think Developers, donde todos pudieron ensamblar un robot de cartón TJBota que ejecuta los Servicios de IBM Watson. Debajo del cortador hay instrucciones detalladas sobre cómo y cómo ensamblar dicho robot, enlaces útiles y recetas simples que demuestran algunas de las capacidades cognitivas de los servicios de Watson, así como un breve anuncio de dos seminarios de julio sobre los Servicios de Watson en la oficina de IBM en Moscú.
Los servicios de IBM Watson son un sistema cognitivo que puede procesar el lenguaje natural, reconocer imágenes y aprender. Para el uso conveniente de estos servicios en cualquier aplicación, existe una API.
TJBot es un proyecto de código abierto diseñado para ayudar a acceder a los servicios de Watson. Este es un robot que cada raspberry pi y la inteligencia artificial preparada pueden hacer. TJBot puede revivirse con recetas.
Las recetas son instrucciones paso a paso para ayudarlo a conectar su TJBot a los servicios de Watson, como Speech to Text, Visual Recognition y Language Translator. Las recetas se basan en la Raspberry Pi.
Lo que se necesita para TJBota
- Tarjeta SD Raspberry Pi 3 + OS
- Micrófono USB
- Altavoz Bluetooth o altavoz con 3,5 mm. conector de audio
- Servoaccionamiento
- LED RGB NeoPixel (8 mm)
- Publicaciones mamá mamá y papá mamá
- Cámara Raspberry pi
- Fuente de alimentación
- Estuche (puede imprimirse en una impresora 3D o cortarse con láser de cartón. Los diseños necesarios están aquí )

Las instrucciones de montaje se pueden encontrar
aquí .
El diagrama de conexión del diodo y el servo a la placa en la imagen a continuación.

La caja se ensambla "alrededor" del tablero, por lo que primero debe escribir el sistema operativo en la tarjeta de memoria.
La forma más fácil es instalar
NOBS , pero cualquier otro Linux es adecuado para nosotros. Antes de instalar NOOBS, formatee la tarjeta de memoria, descargue el archivo con los archivos de instalación y expórtelos a su computadora. A continuación, debe transferir los archivos de la carpeta NOOBS a la tarjeta de memoria. La primera vez que inicia frambuesa (con una tarjeta de memoria insertada previamente), se abre el menú de instalación del sistema operativo. Las instrucciones detalladas se pueden encontrar
aquí .
Preparaciones del programa
Lo primero que debe hacer es instalar los paquetes:
curl -sL http://ibm.biz/tjbot-bootstrap | sudo sh –
Ahora descargue las recetas preparadas del github:
git clone https://github.com/ibmtjbot/tjbot.git
Vaya al directorio con la receta:
cd tjbot / recipes / speech_to_text
Esta carpeta contiene el archivo de configuración config.js y el archivo con el script ejecutable stt.js.
Instalar npm:
sudo apt-get install npm
Conecte los servicios de Watson
Para usar los servicios de Watson, debe seguir estos pasos.
Pasamos a este
sitio .

Regístrate y ve al directorio. En el catálogo buscamos "discurso a texto". Voz a texto es un servicio que se utiliza para traducir voz a texto. El acceso a la API se puede encontrar
aquí .

Texto a voz y reconocimiento visual también serán necesarios cuando trabajemos con el reconocimiento de imágenes. Hacemos clic en voz a texto, llegamos a la página con una descripción de este componente y planes de uso.

Un plan gratuito es suficiente para nosotros. Haga clic en crear, luego en el menú de la izquierda, vaya a Credenciales de servicio.

A partir de aquí, debe copiar las credenciales y APIKEY y pegarlas en el archivo config.js.
Ahora, si queremos agregar otro servicio de Watson, en el archivo de configuración necesitaremos agregar un bloque con apikey y url a cada servicio, envuelto en la siguiente construcción:
exports.credentials.[ text_to_speech/visual_recognition/speech_to_text ] = { … };
El renacimiento de TjBota
Considere el archivo con el script bot ejecutable stt.js. Tiene una función diskoParty () ya preparada para verificar el funcionamiento del bot sin usar los servicios de Watson. Esta función hace que el diodo bot parpadee en diferentes colores.
function discoParty() { for (i = 0; i < 30; i++) { setTimeout(function() { var randIdx = Math.floor(Math.random() * tjColors.length); var randColor = tjColors[randIdx]; tj.shine(randColor); }, i * 250); } } discoParty();
En el mismo script hay una función que le permite cambiar el color del diodo usando el discurso del desarrollador.
Ejecute el script:
sudo node stt.js
Dígale al bot "encienda la luz azul" para cambiar el color del diodo a azul, "encienda la luz" para encender el diodo o "apague la luz" para apagarla. Colores admitidos para reconocimiento (hasta ahora solo se admite inglés): amarillo, verde, naranja, púrpura, magenta, rojo, azul, aguamarina y blanco.
TjBot tiene muchas funciones básicas. Por ejemplo, para verificar el servo, puede usar la función tj.wave (), que hace que el bot lo salude con un gesto del mango. Estas funciones de descripción breve se pueden encontrar
aquí .
Ahora considere el siguiente escenario, utilizando tanto el reconocimiento visual como el texto a voz.
Texto a voz es un servicio que convierte el texto impreso en voz usando varias voces, teclas e idiomas. Su API se puede encontrar en el siguiente
enlace . El servicio de reconocimiento visual le permite describir lo que se muestra en la imagen. Reconoce los rostros de las personas con una determinación de su edad y sexo, comida, platos, objetos y puede buscar imágenes similares. La API para este servicio se puede encontrar
aquí . Usando estos servicios, le enseñaremos al bot a ver y hablar. Según la imagen recibida de la cámara, los servicios de Watson (reconocimiento visual) nos enviarán un objeto json con etiquetas de imagen como respuesta, y el texto a voz ayudará a expresarlas.
En primer lugar, cree credenciales en cloud.ibm.com. Los copiamos y pegamos en el archivo de configuración config.js.
A continuación, edite el script ejecutable stt.js. Encontramos las siguientes líneas en él:
La matriz de hardware contiene los dispositivos bot utilizados. Si queremos usar un servo en el script, será necesario firmar "servo" en la matriz, si necesitamos una cámara, agregaremos "cámara" a la matriz, para usar la columna escribiremos "altavoz".
Entonces, nuestro script usará una columna y una cámara, respectivamente, firmamos esto en la matriz de hardware.
De las funciones básicas de la biblioteca tj, necesitamos las funciones tj.see () y tj.speak ().
La función tj.see () crea una foto (el objeto se almacena en la carpeta tmp), lo envía a la nube con los servicios de Watson, analiza la imagen y produce un objeto json que consta de etiquetas: palabras que describen la foto (puede elegir diferentes descripciones y grados de confianza) y El porcentaje de fiabilidad de estas etiquetas. Emitiremos el contenido de la respuesta de los servicios a la consola.
La función tj.speak () puede transformar texto usando los servicios de Watson en un archivo de sonido y luego reproducirlo. Además, si con la ayuda de los servicios de Watson se detecta a una persona en la foto, TJBot agitará la pluma.
Esta receta muestra lo fácil que es usar los servicios de Watson en su proyecto. Una breve descripción de estos servicios y enlaces a ellos ya estaban en este
artículo . Pruebe todos los servicios de Watson gratis.
Además, los seminarios se llevarán a cabo en la oficina de IBM Moscú muy pronto, en el que podrá familiarizarse con otras características de los servicios de Watson.
El 9 de julio de 2019, se llevará a cabo la presentación de Blackbox de AI con IBM Watson OpenScale Workshop en el nuevo producto en la nube, Watson OpenScale. En este evento, podrá familiarizarse con los principios de las redes neuronales, intentar crear y entrenar una red neuronal y probarla utilizando la plataforma Watson AI OpenScale. Debe preinscribirse para el evento utilizando este
enlace .
El 10 de julio de 2019, se llevará a cabo el seminario "Reconocimiento de imagen y video en la nube de IBM". En este seminario, puede aprender a usar Watson Studio para implementar inteligencia artificial en su aplicación. Descripción detallada del evento y enlace de registro
aquí .