30-50% off hundreds of digital assets! WordPress themes, video, music and more 30-50% Off Go to Sale
Advertisement
  1. Code
  2. Machine Learning
Code

Entrenar a un Modelo de Clasificación de Texto Con Create ML

by
Length:MediumLanguages:

Spanish (Español) translation by Alfonso Mora (you can also view the original English article)

El aprender de máquina es grande, pero puede ser difícil de implementar en aplicaciones móviles. Esto es especialmente cierto para la gente sin un grado de ciencia de los datos. Con Core ML, sin embargo, Apple hace fácil añadir el aprender de máquina para su aplicación de iOS existentes Aprenda cómo utilizar la nueva plataforma ML crea para la formación de redes neuronales ligeras, personalizadas.

De un Vistazo

¿Qué es el Aprendizaje Automático?

El aprender de máquina es el uso de análisis estadísticos para ayudar a los equipos a tomar decisiones y predicciones basadas en las características encontradas en los datos. En otras palabras, es el acto de tener un análisis de computadora un flujo de datos para formar una comprensión abstracta de (llamado un "modelo") y usar ese modelo para comparar con los datos más recientes.

¿Cómo Se Utiliza?

Muchas de sus aplicaciones favoritas en el teléfono probablemente utilizan el aprender de máquina. Por ejemplo, cuando estás escribiendo un mensaje, Autocorrección predice lo que vas a escribir siguiente con un modelo de aprendizaje automático que se actualiza constantemente mientras escribe. Además, asistentes virtuales, como Siri, Alexa y Google Assistant dependen totalmente de aprender a imitar el comportamiento humano como la máquina.

Para Empezar

Vamos a experimentar con el aprender de máquina realmente construyendo un modelo! Usted necesitará asegurarse de que tener 10 de Xcode instalado, junto con macOS Mojave en su desarrollo Mac. Además, supondré que ya tienes experiencia con desarrollo de Swift, Xcode e iOS en general.

Reconocimiento de Imágenes

Si no lo has hecho ya, revisa mi otro tutorial que te lleva paso a paso a través de la formación de un modelo de clasificación de imagen para el uso en su aplicación. Después de ese tutorial, serás capaz de formar un modelo que puede distinguir entre las diferentes variedades de plantas, razas de perros y ser capaces de identificar con precisión los objetos. Puedes echar un vistazo aquí:

1. Conjunto de Datos y JSON

¿Usted puede preguntarse: en un modelo de clasificación de texto, lo que el conjunto de datos sería? La respuesta a esa pregunta se encuentra en su objetivo. Por ejemplo, si usted quiere entrenar un modelo que te dice si una cadena de texto es spam o no, usted tiene un montón de cuerdas que son previamente clasificados.

Descargando el Archivo

Para nos ahorraremos tener que crear manualmente los datos de entrenamiento para nuestro modelo de análisis de sentimiento, nuestros amigos de la Universidad de Carnegie Melon nos han proporcionado un maravilloso conjunto de datos gratuito. He tomado el tiempo para convertir en JSON para su uso. (Por supuesto, puede siempre utilizar su propio conjunto de datos si usted quiere hacer una embriaguez.)

Seguir adelante y descargar los datos archivo JSON desde nuestro repositorio de GitHub. Haga clic en descargar y guarde el archivo en su computadora.

¡Excelente! Ahora que está en su computadora, vamos a echar un vistazo a lo que te muestra el archivo.

Diseccionando el JSON

Si no está ya familiarizado con JSON, es simple. JSON es un acrónimo de JavaScript Object Notation, y como su nombre indica, es útil para la representación de objetos y sus propiedades respectivas.

En el archivo que acabas de descargar, verás que cada elemento tiene dos propiedades:

  • label indica si la frase especificada o la frase es positiva o negativa.
  • text es una cadena de texto que el análisis debe ser hecho en.

Algunas de las etiquetas de los artículos dicen Pos y algunos dicen Neg. Como puede haber adivinado ya, éstos están parados para Positive y Negative, respectivamente.

2. Preparación de Datos

Por lo tanto, vamos a bucear en y realmente crear el modelo. Puede que se sorprenda al oír que la mayor parte de su trabajo ya está hecho! Ahora, todo nos queda para hacer es escribir algo de código y poner Swift y Xcode para trabajar para hacer la magia por nosotros.

Creación de un Nuevo Patio de Juegos

Mientras que la mayoría de nosotros se utilizan para la creación de aplicaciones de iOS reales, a ser fuimos al patio de recreo esta vez para crear nuestro modelos de aprendizaje de máquina. Interesante, ¿no? Si lo piensas bien, realmente tiene sentido — no necesita todos esos archivos extras, pero en cambio sólo tiene un borrón a Swift como crear el modelo. Seguir adelante y crear un parque de macOS para empezar.

En primer lugar, abrir Xcode.

Figure 2 Open Xcode

Crear un nuevo patio de juegos.

Figure 3 Create a Playground

Y darle un nombre útil.

Figure 4 Naming the Playground

Importación de Marcos

Por supuesto, antes de comenzar, necesitaremos importar los marcos apropiados. Si has visto mi tutorial anterior sobre la formación de un modelo de clasificación de la imagen, verás que nuestras declaraciones de importación serán ligeramente diferentes. ¿Por qué? Porque no tenemos una interfaz de usuario para trabajar con esta vez alrededor, pura código!

Quite todo el código de arranque en el patio y entrar en el siguiente:

La razón que necesitaremos tanto es que va a utilizar URL a crear ML donde nuestro conjunto de datos es donde queremos que nuestro modelo resultante para ser almacenado y URL está disponible dentro del marco Foundation.

Establecer el Conjunto de Datos

Ahora, es el momento para obtener todos los datos y listo para entrenar el modelo.

Conversión de JSON a un MLDataTable

Primero y principal, necesitaremos decirle crear ML donde puede encontrar nuestro archivo JSON. En este ejemplo, el mío es en mi carpeta de Descargas, y tuya es probable, también.

Escriba la siguiente línea de código:

Sin embargo, usted necesitará asegurarse de que el parámetro fileURLWithPath se establece en donde vive el archivo JSON, no mía de dónde. Aquí, estamos creando una tabla de datos con la información se encuentra en el archivo JSON proporcionado y guardarla en un dataset llamado constante.

Partir los Datos

Como mencioné en la Formación de Modelo de Clasificación de Imagen con Create ML, es una buena práctica a sus conjuntos de datos se dividen en dos categorías: uno para la formación del modelo y uno para la prueba. Puesto que desea dar a su modelo actual más la atención, el 80% de su conjunto de datos puede usarse para el entrenamiento, y debe guardar el 20% para asegurarse de que todo está funcionando como debería. Después de todo, también es importante!

Si has visto el tutorial anterior, es posible que este concepto familiar. Simplemente ha incluido aquí en caso de que no lo has hecho. En esencia, nos a partir de los datos mediante el método de randomSplit(by:seed:) de MLDataTable.

Pegue la siguiente línea de código en su patio:

Mirando la documentación, randomSplit(by:seed:) devuelve una tupla, que contiene dos MLDataTables. Tenemos a guardar como (trainingData, testingData), poniendo en testingData 80% del conjunto de datos en trainingData y 20%.

3. Formación y Prueba

Ahora que sus datos es configurados y listo, es tiempo para finalmente entrenarlo y probar el modelo resultante.

Metadatos

Créalo o no, el entrenamiento es la parte más sencilla de todo el proceso. En primer lugar, usted necesitará definir los metadatos usando MLModelMetadata. Puede hacer esto escribiendo la siguiente línea de código:

Aquí, usted puede poner su nombre como el autor, una description útil y el número de version. Estos datos se muestra cuando usted ver el modelo en Xcode.

Formación y Escritura

Ahora, usted necesitará crear un clasificador del conjunto de datos. Deberás introducir la siguiente línea de código:

Esto utiliza la palabra clave try para intentar crear una instancia de un MLTextClassifier y le dice que la columna de texto se llama "text" y la columna de la etiqueta se llama "label". Esto se refiere a los nombres de campo presentes en nuestro archivo de JSON.try

Por último, necesitará escribir el clasificador a una ubicación en tu computadora. La ubicación que usted elija para este paso es donde se encuentra el archivo .mlmodel si todo va sin problemas. Escriba las líneas siguientes de código:

Estamos envolviendo el método write(to:) en un bloque catch modo que somos conscientes en caso de que algo va mal. Alternativamente, podría decir try y luego llamar a este método, ya que ambas maneras de trabajan. No se olvide, es probable que no tienes un usuario llamado vardhanagrawal en su computadora, así que asegúrese de cambiar la ruta del archivo a donde usted quiere su modelo de aprendizaje automático guardado.

Probando el Modelo

Después de que termines formación, vas a ver alguna salida en la consola de su patio. Se verá algo como esto:

Lo que esto esencialmente te dice es que tiene analizar los datos del archivo JSON, entrenado con cierta exactitud y guarda el modelo en la ubicación especificada. Pues ya dejar de lado algunos del conjunto de datos para el entrenamiento anterior, el modelo ya te dice la precisión en este fragmento de la consola.

En un proyecto de Xcode, todo lo que se necesita hacer es arrastrar en el modelo y escriba las siguientes líneas de código para obtener la salida de su modelo:

Esto le permitirá probar el modelo y usarlo en tus aplicaciones.

Conclusión

En este tutorial, usted aprendió cómo importar un archivo JSON, crear un clasificador de texto personalizado y utilizar en proyectos Xcode. Para obtener más información sobre este tema y revisar lo que has aprendido aquí, Documentación de Apple recomiendan revisar

Y mientras estés aquí, algunos de nuestro otros gran aprendizaje automático contenido aquí en Envato Tuts+!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.