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

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

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

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

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

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

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

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

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

  • tensorflow
  • tflearn
  • numpy
  • nltk

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

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

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

Шаг 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!

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

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

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


Источник: uproger.com

Комментарии: