{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

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

Добрый день! Сегодня я здесь, чтобы поговорить с вами о создании пользовательских приложений искусственного интеллекта с помощью 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!

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

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

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

Статья была взята из этого источника:

0
1 комментарий
Glakki .M.

А где взять ваш датасет на котором вы обучали модель ?

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда