La IA se está apoderando del mundo rápidamente. Cada segmento de la tecnología se está replanteando y revolucionando con la IA. Como desarrollador de software, en algún momento de su carrera, definitivamente tendrá un encuentro con la IA, por lo que solo tiene sentido tener algo de experiencia trabajando con ella en su haber. El campo de la IA es extremadamente amplio y está mucho más allá del alcance de esta publicación, pero aún así, quiero mostrarles lo fácil que es integrar la inteligencia en sus aplicaciones con un trabajo mínimo. Por supuesto, no entrenará ningún modelo de aprendizaje automático para lograr esto, usará una solución prediseñada, por lo que requerirá un trabajo extremadamente mínimo de su parte.
Construiremos un sistema de análisis de sentimientos extremadamente simple en Android utilizando la API Watson de IBM. IBM crea una gran cantidad de integraciones útiles que los desarrolladores pueden utilizar directamente sin tener que pasar por la molestia de construir la infraestructura por su cuenta. Vinculan todas sus ofertas con Bluemix, que es un conjunto de productos para crear un mejor software. Lo bueno de Bluemix es el hecho de que viene gratis durante 30 días para que no tenga que comprometerse directamente. Si está interesado en ver sus ofertas, diríjase al Sitio web de Bluemix y regístrese para una prueba de 30 días.
Muy bien, comencemos a crear la aplicación. Antes de comenzar, aquí hay una exención de responsabilidad rápida. Este artículo asumirá completamente que tiene algo de experiencia con la programación orientada a objetos y Android. La parte de Android del proyecto es bastante mínima, por lo que todo lo que necesita es un conocimiento básico de las vistas y cómo manipularlas.
Ahora que hemos terminado con las formalidades, comencemos.
Paso 1: la configuración
Inicie Android Studio y cree un nuevo proyecto. Asígnele el nombre que desee y acepte los valores predeterminados en el asistente de configuración. Una vez que el proyecto se compila, ejecútelo en un dispositivo o emulador solo para asegurarse de que todo funcione bien. Si todo está bien hasta ahora, está listo para continuar con el siguiente paso.
Paso 2: creación de la interfaz de usuario
Comencemos a construir el diseño. Dado que la aplicación es bastante mínima, eliminemos la parte del diseño lo más rápido posible. Así es como se verá la pantalla final de la aplicación.
Se compone de un TextView, un EditText y un botón, todos ellos contenidos dentro de un LinearLayout. Una vez que haya terminado de replicar el diseño, simplemente salte al archivo Java correspondiente y conecte su interfaz de usuario de la siguiente manera.
MainActivity de clase pública extiende AppCompatActivity {TextView textView; EditText editText; Botón de botón; Sentimiento de cuerdas; @Anular el vacío protegido onCreate (paquete SavedInstanceState) {super.onCreate (SavedInstanceState); setContentView (R.layout.activity_main); // inicializar los elementos de la interfaz de usuario textView = (TextView) findViewById (R.id.textView); editText = (EditText) findViewById (R.id.editText); button = (Botón) findViewById (R.id.button);
Conectemos el botón con un detector de clics para que responda a los eventos táctiles. Aquí está el código para eso:
button.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View v) {System.out.println ("Iniciar sesión en la consola que presionó el botón para el texto:" + editText.getText ()); textView .setText ("Mostrando en la interfaz de usuario el sentimiento que se va a verificar:" + editText.getText ()); AskWatsonTask task = new AskWatsonTask (); task.execute (new String [] {});}});
¿Observa la pregunta AskWatsonTask? Eso es lo que se utilizará para obtener los resultados del análisis de opiniones de Watson API. No es más que una simple AsyncTask. Copie y pegue el siguiente fragmento de código:
la clase privada AskWatsonTask extiende AsyncTask {@Override protected String doInBackground (String ... textsToAnalyse) {System.out.println (editText.getText ()); runOnUiThread (new Runnable () {@Override public void run () {textView.setText ("lo que está sucediendo dentro de un hilo - estamos ejecutando Watson AlchemyAPI");}}); sentimiento = "Sentimiento de prueba"; System.out.println (sentimiento); // pasar el resultado para que se muestre en la interfaz de usuario en el sentimiento de retorno de la banda de rodadura principal; } // establecer el valor de la interfaz de usuario fuera del hilo @Override protected void onPostExecute (String result) {textView.setText ("El sentimiento del mensaje es:" + resultado); }}
La AsyncTask mencionada anteriormente obtendrá resultados de Watson en formato JSON que analizaremos más adelante y mostraremos en la interfaz de usuario. A partir de ahora, la aplicación es bastante tonta pero funciona. Para registrar un punto de control, implementemos la aplicación que hemos creado hasta ahora y veamos lo que hace. Presiona el botón verde de reproducción y míralo correr. No hace nada.
Si haces clic en el ¡Analizar! , debería poder ver el resultado en el campo TextView. También debería ver algunos resultados en la ventana de log cat.
Paso 3: agregando la inteligencia
Es hora de agregar la capacidad cognitiva a este básico de una aplicación. Lo primero que debe hacer es agregar Watson Cloud SDK para Java en su aplicación. dirigirse a este enlace para obtener una explicación detallada sobre cómo hacerlo. Descargue la biblioteca de Java desde este enlace. Y agréguelo a la carpeta libs de la siguiente manera.
Una vez que la biblioteca está integrada, debe adquirir permisos de Internet en su aplicación. Abra AndroidManifest.xml y agregue las siguientes líneas
Los permisos anteriores le permitirán acceder a la red para obtener los resultados de Watson.
Paso 3b: recupere la clave API de Bluemix
Desde el catálogo de IBM Bluemix, haga clic en Watson => AlchemyAPI => Crear. Asegúrese de utilizar una clave de API estática como se muestra en la siguiente imagen:
Paso 4: agregue el código para invocar a Watson
Ahora es el momento de agregar código para comunicarse con la API de Watson Alchemy. Expanda AskWatson AsyncTask con el siguiente código.
Servicio AlchemyLanguage = new AlchemyLanguage (); service.setApiKey (""); Mapa params = new HashMap (); params.put (AlchemyLanguage.TEXT, editText.getText ()); Sentimiento de DocumentSentiment = service.getSentiment (params) .execute (); System.out.println (sentimiento); // pasando el resultado para que se muestre en la interfaz de usuario en el hilo principal return sentiment.getSentiment (). getType (). name ();
Es hora de probar rápidamente si la aplicación está funcionando. Presione Ctrl + R y observe cómo la aplicación es inteligente.
{"docSentiment": {"score": -0.42344, "type": "negative"}, "language": "english", "totalTransactions": 1}
Conclusión
Acaba de ver lo fácil que es crear una aplicación cognitiva con Watson Sentiment Analysis. La aplicación que creamos no tenía ninguna funcionalidad real por decir, pero mostró la capacidad de Bluemix y sus ofertas. Puede colocar estas ofertas en varios soportes y crear experiencias de usuario extremadamente ricas. Dirígete al sitio web de Bluemix para obtener más información sobre todo lo que puedes construir.
Comente
¿Tienes algo que decir sobre este artículo? Agregue su comentario y comience la discusión.