Pop

Chatbot con inteligencia artifical en tensorflow (3/4)

3. Chatbot con inteligencia artifical  en tensorflow 

  • Hola a todos.En esta ocasión continuamos con nuestro tutorial para crear y entrenar  nuestro propio chatbot  que se comportará con inteligencia artificial. Para crear un chatbot, o para hacer cualquier tipo de tarea de aprendizaje automático, el primer trabajo que tenemos que hacer es adquirir datos para el entrenamiento.Después  necesitamos  estructurarlos y prepararlos para que se formateen para "la entrada" y "la salida"para que un algoritmo de aprendizaje automático puede digerir. 
  • Una vez que tenemos la base datos preparada,según vimos en la entrada anterior. Podemos generar los ficheros necesarios para el entrenamiento de nuestro modelo. Crearemos dos archivos que tengan preguntas y respuestas. Para ello tomaremos los datos  de la base de datos y adjuntarlos en los archivos de entrenamiento respectivos.
  • En el siguiente vídeo explico el código necesario para hacer esto:
  • Os dejo el código visto en el vídeo:

import sqlite3
import pandas as pd

#En mi caso trabajo con un solo més.En este caso el marzo de 2015
timeframes = ['2015-03']


for timeframe in timeframes:
    connection = sqlite3.connect('{}.db'.format(timeframe))# conectamos a la base de datos
    c = connection.cursor()
    limit = 5000 #numero de registros que obtenemo de la base de datos en la consulta
    last_unix = 0
    cur_length = limit
    counter = 0 # contador para 
    test_done = False # boleano que nos indica cuando hemos  terminado

    while cur_length == limit:

        df = pd.read_sql("SELECT * FROM parent_reply WHERE unix > {} and parent NOT NULL and score > 0 ORDER BY unix ASC LIMIT {}".format(last_unix,limit),connection)
        last_unix = df.tail(1)['unix'].values[0]
        cur_length = len(df)

        if not test_done:
            with open('test.from','a', encoding='utf8') as f:
                for content in df['parent'].values:
                    f.write(content+'\n')

            with open('test.to','a', encoding='utf8') as f:
                for content in df['comment'].values:
                    f.write(str(content)+'\n')

            test_done = True

        else:
            with open('train.from','a', encoding='utf8') as f:
                for content in df['parent'].values:
                    f.write(content+'\n')

            with open('train.to','a', encoding='utf8') as f:
                for content in df['comment'].values:
                    f.write(str(content)+'\n')

        counter += 1
        if counter % 20 == 0:
            print(counter*limit,'rows completed so far')

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...