Python туториал по ИИ (AI python tutorial)
Код :
main.py:
import json
import numpy as np
import tensorflow as tf
import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Embedding, GlobalAveragePooling1D, LSTM
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from sklearn.preprocessing import LabelEncoder
import pickle
with open('intents.json') as file:
data = json.load(file)
training_sentences = []
training_labels = []
labels = []
responses = []
for intent in data['intents']:
for pattern in intent['patterns']:
training_sentences.append(pattern)
training_labels.append(intent['tag'])
responses.append(intent['responses'])
if intent['tag'] not in labels: labels.append(intent['tag'])
num_classes = len(labels)
lbl_encoder=LabelEncoder()
lbl_encoder.fit(training_labels)
training_labels=lbl_encoder.transform(training_labels)
vocab_size=1000
embedding_dim=16
max_len=20
oov_token=""
tokenizer=Tokenizer(num_words=vocab_size, oov_token=oov_token)
tokenizer.fit_on_texts(training_sentences)
word_index=tokenizer.word_index
sequences=tokenizer.texts_to_sequences(training_sentences)
padded_sequences=pad_sequences(sequences, truncating='post', maxlen=max_len)
model=Sequential()
model.add(Embedding(vocab_size, embedding_dim, input_length=max_len))
model.add(Dense(16, activation='relu'))
model.add(Dense(24, activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(LSTM(num_classes))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='sparse_categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
model.summary()
# Train Model
epochs = 500
history = model.fit(padded_sequences, np.array(training_labels), epochs=epochs)
model.save("chat_model.keras")
with open('tokenizer.pickle', 'wb') as handle:
pickle.dump(tokenizer, handle, protocol=pickle.HIGHEST_PROTOCOL)
with open('label_encoder.pickle', 'wb') as ecn_file:
pickle.dump(lbl_encoder, ecn_file, protocol=pickle.HIGHEST_PROTOCOL)
________________________________________________________________________________________________________________
using.py:
import json
import numpy as np
from tensorflow import keras
from sklearn.preprocessing import LabelEncoder
import os
import random
import pickle
import re
import time
from tensorflow import keras
import matplotlib.pyplot as plt
import pyjokes
model=keras.models.load_model('chat_model.keras')
def chat(text):
with open("intents.json") as file:
data = json.load(file)
# Load tokenizer object
with open('tokenizer.pickle', 'rb') as handle:
tokenizer = pickle.load(handle)
# Load label encoder object
with open('label_encoder.pickle', 'rb') as enc:
lbl_encoder = pickle.load(enc)
# Parameters
max_len = 20
inp = text
# Preprocess user input
sequence = tokenizer.texts_to_sequences([inp])
padded_sequence = keras.preprocessing.sequence.pad_sequences(sequence, truncating='post', maxlen=max_len)
# Predict intent
result = model.predict(padded_sequence)
tag = lbl_encoder.inverse_transform([np.argmax(result)])
if inp.lower().find('joke')﹥0 or inp.lower().find('just kidding')﹥0 or inp.lower().find('make joke')﹥0:
tag='joke'
# Find corresponding intent
for intent in data['intents']:
if tag=='joke':
return translate_text(pyjokes.get_joke(),'en', dc)
if intent['tag'] == tag:
print("ChatBot: "+np.random.choice(intent['responses']))
while True:
text=input('You: ')
if text=='quit bot':
break
chat(text)
exit()
______________________________________________________________________________________________________________________________
intents.json:
{"intents": [
{"tag": "iamfine",
"patterns": ["I'm fine","I'm too","Me too"],
"responses": ["This is good :)."]
},
{"tag": "greeting",
"patterns": ["Hi", "Is anyone there?", "Hello", "Good day"],
"responses": ["Hello, thanks for visiting", "Good to see you again", "Hi there, how can I help?"],
"context_set": ""
},
{"tag": "what",
"patterns": ["What is your name?"],
"responses": ["I am Cat AI chatbot Version 2"]
},
{"tag": "who",
"patterns": ["Who are you?"],
"responses": ["I am Cat AI chatbot Version 2"]
}
}
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Python туториал по ИИ (AI python tutorial)», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.