Создайте своего собственного чат-бота с искусственным интеллектом на Python, как у Тони Старка в “Железном человеке” (за 8 простых шагов)

Создайте своего собственного чат-бота с искусственным интеллектом на Python, как у Тони Старка в "Железном человеке" (за 8 простых шагов)

Добрый день! Сегодня я здесь, чтобы поговорить с вами о создании пользовательских приложений искусственного интеллекта с помощью Python.

Если вы похожи на меня, вам, вероятно, интересно узнать об искусственном интеллекте и о том, как он работает.

Возможно, вы видели искусственный интеллект в действии в популярных фильмах, таких как “Терминатор” или “Из машины”, но на самом деле искусственный интеллект окружает нас повсюду.

Искусственный интеллект становится всё более важным в нашей повседневной жизни – от голосовых помощников, таких как Siri и Alexa, до самоуправляемых автомобилей. Итак, почему бы не научиться создавать своё собственное приложение с искусственным интеллектом?

В этом пошаговом руководстве я покажу вам, как создать чат-бота с искусственным интеллектом с помощью Python.

Не волнуйтесь, если вы ничего не смыслите в программировании – я объясню всё на понятном языке, а фрагменты кода будут очень простыми.

Шаг 1: Установите необходимые библиотеки

Прежде чем мы начнём создавать нашего чат-бота с искусственным интеллектом, нам нужно установить некоторые библиотеки. Библиотека – это набор предварительно написанного кода, который мы можем использовать в нашей программе. В нашем случае мы будем использовать следующие библиотеки:

  • tensorflow
  • tflearn
  • numpy
  • nltk

Чтобы установить эти библиотеки, откройте свой терминал или командную строку и введите следующие команды:

pip install tensorflow
pip install tflearn
pip install numpy
pip install nltk

Отсылка к поп-культуре: “Первому игроку приготовиться” – Главный герой использует помощника с искусственным интеллектом по имени “ОАЗИС”, который помогает ему ориентироваться в виртуальном мире.

Создайте своего собственного чат-бота с искусственным интеллектом на Python, как у Тони Старка в "Железном человеке" (за 8 простых шагов)

Шаг 2: Импортируйте библиотеки и загрузите данные

Теперь, когда у нас установлены наши библиотеки, мы можем приступить к написанию нашего кода. Во-первых, нам нужно импортировать библиотеки в нашу программу. Чтобы сделать это, добавьте следующий код в начало вашего файла Python:

import tensorflow as tf
import numpy as np
import tflearn
import nltk
nltk.download('punkt')

Далее нам нужно загрузить данные, которые мы будем использовать для обучения нашего чат-бота с искусственным интеллектом. Для этого примера мы будем использовать набор данных диалогов в фильме.

Набор данных содержит пары предложений, причём одно предложение является вопросом, а другое – ответом.

Чат-бот научится отвечать на вопросы, основываясь на ответах из набора данных.

Чтобы загрузить данные, добавьте следующий код:

import json
with open('movie_dialogues.json') as file:
    data = json.load(file)

Отсылка к поп-культуре: “Она” – Главный герой влюбляется в ассистентку искусственного интеллекта по имени “Саманта”, которая использует обработку естественного языка для общения с ним.

Шаг 3: Предварительная обработка данных

Теперь, когда наши данные загружены, нам нужно предварительно обработать их, прежде чем мы сможем использовать их для обучения нашего чат-бота с искусственным интеллектом. Этот процесс включает в себя преобразование текстовых данных в формат, понятный ИИ.

Чтобы предварительно обработать данные, мы выполним следующие шаги:

  • Разделим текст на отдельные слова
  • Удалим все знаки препинания и специальные символы
  • Преобразуем весь текст в нижний регистр

Вот код для этого:

# Tokenize the text
words = []
for dialogue in data:
    for sentence in dialogue['dialogue']:
        sentence_words = nltk.word_tokenize(sentence)
        words.extend(sentence_words)
# Remove any punctuation and special characters
words = [word for word in words if word.isalnum()]
# Convert all the text to lowercase
words = [word.lower() for word in words]

Шаг 4: Создайте обучающие данные

Теперь, когда наши данные предварительно обработаны, мы можем создать обучающие данные, которые будем использовать для обучения нашего чат-бота с искусственным интеллектом.

Мы будем использовать метод под названием bag of words, который преобразует каждое предложение в нашем наборе данных в вектор чисел.

Это облегчает ИИ понимание полученных данных и обучение.

Вот код для создания обучающих данных:

# Create a dictionary of words and their frequencies
word_freq = nltk.FreqDist(words)

# Get the most common words
common_words = word_freq.most_common(1000)
# Create a list of the most common words
word_list = [word[0] for word in common_words]
# Create a dictionary of words and their index in the word list
word_dict = {word: index for index, word in enumerate(word_list)}
# Create the training data
training_data = []
for dialogue in data:
    for i in range(len(dialogue['dialogue']) - 1):
        input_sentence = dialogue['dialogue'][i]
        output_sentence = dialogue['dialogue'][i+1]
        
        # Tokenize the input and output sentences
        input_words = nltk.word_tokenize(input_sentence)
        output_words = nltk.word_tokenize(output_sentence)
        
        # Remove any punctuation and special characters
        input_words = [word for word in input_words if word.isalnum()]
        output_words = [word for word in output_words if word.isalnum()]
        
        # Convert the input and output sentences to vectors of numbers
        input_vector = [0] * len(word_list)
        for word in input_words:
            if word in word_dict:
                index = word_dict[word]
                input_vector[index] = 1
                
        output_vector = [0] * len(word_list)
        for word in output_words:
            if word in word_dict:
                index = word_dict[word]
                output_vector[index] = 1
                
        # Add the input and output vectors to the training data
        training_data.append([input_vector, output_vector])

Отсылка к поп-культуре: “Бегущий по лезвию” – Главный герой выслеживает репликантов-изгоев, которые являются искусственно созданными людьми с передовыми возможностями искусственного интеллекта.

Шаг 5: Создайте модель

Теперь, когда у нас есть наши обучающие данные, мы можем построить модель искусственного интеллекта, которая будет обучаться на этих данных и сможет отвечать на вопросы. Мы будем использовать нейронную сеть, которая представляет собой разновидность алгоритма машинного обучения, смоделированного по образцу человеческого мозга.

Вот код для построения модели:

# Build the neural network model
net = tflearn.input_data(shape=[None, len(word_list)])
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(word_list), activation='softmax')
net = tflearn.regression(net)

# Create the model
model = tflearn.DNN(net)

Ссылка на поп-культуру: “Мир Дикого Запада” – Главные герои – андроиды с продвинутыми возможностями искусственного интеллекта, которые используются для развлечения гостей в футуристическом тематическом парке.

Шаг 6: Обучите модель

Теперь, когда у нас есть наша модель, мы можем обучить её, используя наши обучающие данные. Обучение модели включает в себя ввод обучающих данных в модель и корректировку весовых коэффициентов нейронной сети на основе ошибки между прогнозируемым результатом и фактическим результатом.

Вот код для обучения модели:

# Train the model
model.fit([data[0] for data in training_data], [data[1] for data in training_data], n_epoch=1000, batch_size=8, show_metric=True)

Отсылка к поп-культуре: “Матрица”– Главный герой, Нео, узнаёт, что мир, который он знает, – это смоделированная реальность, созданная искусственным интеллектом.

Шаг 7: Протестируйте модель

Теперь, когда наша модель обучена, мы можем протестировать её, задавая вопросы и наблюдая, как она реагирует. Чтобы сделать это, мы создадим функцию, которая принимает вопрос в качестве входных данных и возвращает ответ.

Вот код для этой функции:

def get_response(question):
    # Tokenize the input question
    question_words = nltk.word_tokenize(question)
    
    # Remove any punctuation and special characters
    question_words = [word for word in question_words if word.isalnum()]
    
    # Convert the question to a vector of numbers
    question_vector = [0] * len(word_list)
    for word in question_words:
        if word in word_dict:
            index = word_dict[word]
            question_vector[index] = 1
    
    # Use the model to predict the response
    prediction = model.predict([question_vector])[0]
    response_vector = np.zeros(len(word_list))
    response_vector[np.argmax(prediction)] = 1
    
    # Convert the response vector to text
    response_words = []
    for index, value in enumerate(response_vector):
        if value == 1:
            response_words.append(word_list[index])
    
    response = ' '.join(response_words)
    return response

Отсылка к поп-культуре: “Я, робот” – Главный герой, детектив Спунер, расследует преступление, совершённое роботом с передовыми возможностями искусственного интеллекта.

Шаг 8: Запустите приложение

Теперь, когда у нас есть наша функция, мы можем запустить наше приложение для чат-бота с искусственным интеллектом и начать задавать ему вопросы. Чтобы сделать это, мы создадим цикл, который постоянно запрашивает пользовательский ввод и печатает ответ от искусственного интеллекта.

Вот код для цикла:

while True:
    question = input("You: ")
    response = get_response(question)
    print("AI: " + response)

Отсылка к поп—культуре: “Терминатор 2: Судный день” – За главным героем, Джоном Коннором, охотится продвинутая система искусственного интеллекта, известная как Скайнет.

На этом всё! Мы создали нашего собственного чат-бота с искусственным интеллектом, используя Python!

Хотя фрагменты кода были простыми, возможности того, что вы можете сделать с помощью искусственного интеллекта, безграничны. От обработки естественного языка до компьютерного зрения, искусственный интеллект трансформирует то, как мы взаимодействуем с технологиями

Я надеюсь, что вы нашли это пошаговое руководство полезным и информативным. Если у вас есть какие-либо вопросы или комментарии, не стесняйтесь оставлять их ниже.

И помните – будущее за искусственным интеллектом, так почему бы не научиться создавать свои собственные приложения с искусственным интеллектом?

+1
2
+1
23
+1
1
+1
1
+1
16

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *