Нет. 4 Раздел: Глубокое обучение в производстве (Интеллектуальное Web приложение)
В этом разделе представлены различные тематические исследования, показывающие, как разрабатывать и развертывать веб-приложения глубокого обучения (с использованием API глубокого обучения), а также демонстрируются меры по обеспечению безопасности веб-приложений с помощью глубокого обучения.
В этот раздел входят следующие главы:
существоватьфронт изглава节середина,Мы уже существуемиспользовать Облако отраслевого уровняглубокое обучение(DL)API Были заложены основы из аспектов, и они изучались на практических примерах изиспользовать. существует Эта глава середина, мы Воля вводим поддержку развития DL Общий обзор сайта. Эта Воля требует от нас Воляприезжать в настоящее время, чтобы собрать воедино все полученные нами знания, приезжатьизсуществовать, чтобы мы могли Воля использовать ее в практических случаях использования середина. В этой главе середина мы, Воля, узнаем, как сначала подготовить набор данных для создания продукции из В. DL Web приложение. Тогда мы Воляиспользовать Python тренироваться DL модель,а затем использовать Flask Воля DL Модель Упаковкасуществовать API середина.
Вот краткий обзор этой главы:
ты можешьпроходитьздесьдоступ本главасерединаиспользоватьизкод。
Чтобы запустить код серединаиспользовать эту главу, вам Воля понадобится следующее программное обеспечение:
В этой главе Воля описаны все остальные установки.
Любой проект должен начинаться с четко сформулированной постановки задачи, иначе развитие проекта неизбежно пострадает. отпроектпланприезжатьпроектрасходы,Постановка задачи контролирует всюпроектпроцесс разработкисерединас участиемизвсе основныешаг。
Например, существует база В DL из Web-проектсередина, описание проблемы Воля позволяет понять следующее:
поэтому,для позволило нам начать дальнейшую разработку шагизпроекта,Постановка задачи должна быть четко определена.
Представьте себе, что компания точно существуетиз DL Инженер, компания «Должен» планирует Учреддать систему рекомендаций в соответствии Пользователи предоставляют стандартные продукты из списка рекомендованных продуктов. тыиз Босс требует, чтобы ты был геем ВЭто развитиедоказательство концепции(PoC)。 Итак, что нам делать? Как упоминалось ранее, давайте сначала Определим постановку проблемы。
Предоставьте входные данные от основного субъекта пользователю в окончательную систему рекомендаций. в соответствии С Пользовательскими предпочтениями (сейчас существуют функции ввода предпочтений), система Воля предоставляет список продуктов, которые лучше всего соответствуют их предпочтениям. поэтому,короче говоря,Постановку задачи можно написать для:
«Учитывая набор входных данных (пользовательских предпочтений), мы ставим задачу предложить список продуктов».
Теперь у нас есть четко определенная постановка задачи.,Продолжить далее,исуществовать Следующий разделсередина Учреждать Следовать зашаг。
Глядя на постановку задачи, вы можете открыть браузер и начать поиск в некоторых наборах данных. Но да, чтобы правильно разработать проект, сразу требуется четкое планирование построения проекта шаг за шагом. Без структуры изпроект — не более чем корабль без руля. Поэтому мы Воляот изначально сразу сразу такой осторожный. Наше обсуждение Воли Волясуществовать наш изпроектсередина играет очень важную роль как модуль. Это также включает в себя некоторые умственные соображения. Мне нравится Воля. Этот этап называется «Для Постройки». мысленную модель проекта.。
Давайте уделим немного времени более подробному обсуждению постановки задачи, чтобы понять, какие базовые модули нам необходимо разработать.
Мы занимаемся проектированием соответствии с Пользовательские настройки рекомендуют продукты пользователям. Поэтому для реализации этого предложения нам нужен тот, кто умеет понять пользователя, для которого он предлагает набор предпочтений и зсистему. для Чтобы иметь возможность понимать эти предпочтения, системе Воля нужна какая-то наша Воля для выбора DL изтренироваться。 Но как насчет предпочтений? Как они выглядят? Существование требует человеческого вмешательства. В реальных ситуациях проекта в реальном мире вы часто сталкиваетесь с этими проблемами.
сейчассуществовать,Пожалуйста, подумайте дважды, прежде чем действовать,и尝试思考существовать Выберите, чтобы купитьизпродуктобычно ищуизаспект。 Давайте существовать здесь и перечислим их:
Обратите внимание, что предыдущие указатели из не расположены в каком-либо определенном порядке.
поэтому,от Предыдущий раздел начинается,Мы начинаем понимать, что нам нужно,Это интерфейс (существовать из нашего кейса,По сути даа веб-страница),чтобы пользователи могли указать свои предпочтения。 принимая во внимание Учитывая эти предпочтения, наша система Воля прогнозирует набор наиболее подходящих товаров. Это DL Частично вступает в игру место. Поскольку мы Волясуществовать из главы середина обзора, используйте DL Модель способна справиться с данной проблемой, сразу же требуется некоторое представление проблемы, и зданные выполняются как можно более строго и зтренироваться. Теперь обсудим изданные части системы.
У нас есть легкий набор Виспользоватьизданные, Долженданные набор да Зависит. от Amazon предоставлено Stanford Network Analysis Project создать команду Amazon Fine Food Reviews набор данных. хотя набор огромен, но существование этой главы серединасоздавать является демонстрационным, мы не будем использовать изнабор данных. Здесь может возникнуть прямой вопрос: Как выглядит набор даданных? Нам нужно составить приблизительный план, чтобы решить следующее:
Прежде чем двигаться дальше, давайте внесем некоторые улучшения в исходную постановку задачи. Этооригинальныйизпостановка задачи:
«Учитывая набор входных данных (пользовательских предпочтений), мы ставим задачу предложить список продуктов».
Если вы рекомендуете некачественную продукцию,Поэтому пользователь Воля нам не понравится изсистема.,В нашу постановку задачи Воляверно внесены некоторые изменения.,Как показано ниже:
«Учитывая набор входных характеристик (пользовательских предпочтений), мы ставим перед собой задачу рекомендовать список лучших продуктов, которые можно приобрести».
для Let's System Needle верно приведен из стандартного рекомендуемого списка лучших продуктов,Для начала необходимо узнать средний сорт продукта. Помимо среднего рейтинга,Очень полезно получить следующую информацию о конкретном товаре (кроме названия):
существуют При подготовке данных мы ищем предыдущие инструкции по конкретному продукту. Сейчас существует данаша Воляот вопрос где собирать данные. Ответ — Амазонка! Amazon известен своей существующей индустрией электронной коммерции, предоставляющей нам различные продукты и информацию о них, такую как их класс, характеристики продуктов, цены на товары и т. д. Но, пожалуйста, скажите, что Amazon не позволяет вам напрямую загружать эти данные для загрузки сжатых файлов. Чтобы получить данные в желаемой форме от Amazon, нам, Воле, пришлось полагаться на парсинг веб-страниц.
существование Обсуждение из На данный момент можно выделить два основных направления Долженпроектиз:
для DL Моделирование мы начнем с простой, полностью связанной архитектуры на основе нейронных сетей. от Простой из Модель Начинать с возрастающей сложности часто бывает полезно, потому что это упрощает отладку кода Библиотеки.
поэтому,Можно сказать с уверенностью,Следующие три модуля Волясуществовать Долженпроектсередина играют важную роль:
Надеюсь, теперь у вас появилась хорошая идея начать разработку существуверна. Какие вопросы вам следует задать и какие вопросы вам, возможно, придется рассмотреть на этом этапе.
Мы не хотим, чтобы наша система рекомендаций была предвзятой к чему-либо. данныесередина могут скрывать многие виды отклонений и, естественно, это может привести к использованию их DL Система наследует это отклонение.
Узнать больше о машинное СИСТЕМА обучения середина РАЗНЫЕ ТИПЫ BIAS из БОЛЬШЕ ИНФОРМАЦИИ,Рекомендуется обратиться кТип отклонения。 Существует наш случай середина, удивительный пример предвзятости: посетители-мужчины получают средние рекомендации по рекомендациям по продуктам в зависимости от ситуации. Эти рекомендации могут основываться исключительно на их поле, а не на каких-либо других особенностях просмотра посетителей. Это может быть неправильно и может быть сделано неправильно. Но такой пример сделал бы нас из Модели очень неуместными. существовать Следующий разделсередина,Мы с Волей обсуждаем некоторые моменты,Научиться избегать отклонений в данных.
Что такое плохие данные? Мы только дасуществуем разговоры об ошибочных и зданных значениях? Ответ — нет. Помимо наличия ошибок или отсутствующих значений и данных, ошибки данных могут также иметь тонкие, но серьезные ошибки, которые могут привести к тому, что Модельтренироваться будет недостаточно или даже предвзято. Поэтому очень важно выявлять такие ошибки и устранять их, прежде чем существоватьтренироваться Модель. Существует пять основных способов выявления этих ошибок:
Как только эти моменты станут ясными,Наше сразу же может перейти к более конкретным из областей,существующие данные о процессе сбора середина Нам необходимо обратить внимание на эти области. важное изда,существующие Составьте соответствующий план на период сбора,Помните об источнике данных, всех свойствах, постановке задачи и требованиях.
Предположим, вы получаете данные о продукте с Amazon. США существует в торговой точке.,И окончательная индийская версия существует — поиск товара на Amazon. Скребок может быть предоставлен из индийских магазинов изданные.,Не рекомендуется для жителей США.
также,Зависит от ВАмазон и подобные из Служить (например. Flipkart)利использовать推荐системадляихиз Позиционирование клиента является наиболее подходящимизпродукт,Поэтому существующие период сбора,Краулеры не должны становиться жертвами таких советов. Важно отметить, что сканер должен время от времени очищать контекст и избегать Зависит. от ВАмазонкавыполнитьиз AI И порождать предрассудки.
Начнем с Amazon Fine Food Reviews данныенабордляпример。 хотя на первый взгляд набор данных выглядит сбалансированным, но мы можем обнаружить, что набор данных середина запаса существует и имеет множество отклонений. Длина текста написана с учетом отзывов покупателей о товаре. Давайте в соответствии Они из таблицы очков существуют середина, рисуют их. На изображении ниже показан уровень для 1 и 2 звездазпродуктизкартина:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-hTTaiBTi-1681705163539)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/29b500df-2cd7-4404-b9da-a9cbc49b7fe0.png)]
На изображении ниже показан рейтинг для 3 звезда 4 звездазпродуктизкартина:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-KNtyGh3J-1681705163540)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/8325444b-269a-4dca-9f6d-b1cb9cb77b8a.png)]
На изображении ниже показан рейтинг для 5 звездазпродуктизкартина:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-g6iAdt6P-1681705163540)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/4b4555fa-698d-4e04-bf56-b8a2ba2c4cb1.png)]
Обратите внимание, что все больше и больше положительных отзывов об изсередине имеют больше письменного текста. Эта Воля напрямую преобразует стандартные наборы серединаиз большинства слов, благодаря чему пользователи получают более высокий рейтинг. Теперь рассмотрим ситуацию, когда пользователь пишет длинный отзыв с низкими оценками и в целом отрицательным мнением о верно Долженном продукте. Зависит от Внасиз Модельпройтитренироваться,Может ли Воля ассоциироваться с более длинными отзывами и положительными отзывами?,поэтомувстреча Воля Флаг отрицательного отзывадляпередний。
Самая важная изда,Как показано на картинке,Реальный мир может содержать множество крайних случаев.,если они не обрабатываются правильно,Скорее всего, вы получите сообщение об ошибке приезжатьиз Модель.
принимая во внимание Web Приложение может разрабатываться на обширной основе, как и почти все другие платформы, правда, для базы. Web из Служитьбегатьиззадняя частьизсильно зависит от, следовательно, вернозадняя Очень важно тщательно продумать и правильно выполнить. Несмотря на тосуществовать PoC этап, основанный на AI Изприложение также обычно не отвечает быстро или тратит много времени на тренирование новых образцов.
Хотянас Воляобсуждениезадняя часть Пусть вас не смущают узкие места из «Советы и подсказки», но существуют для разработки веб-сайтов. AI наборстановитьсязадняя часть нам нужно придумать несколько указателей, которых лучше избегать из 。
Искусственный интеллект существует с точки зрения вычислительных затрат из-за,Излишне говорить,этотдляцельсуществоватьс самым быстрымизвремядляее клиенты предоставляют Служитьиз Для сайтада Не рекомендуетсяиз。 Хотяменьшеиз Модельилииспользовать Браузер ИИ (напр. TensorFlow.js или другие библиотеки) могут обеспечить в режиме реального времени AI Отзывчивы на основе опыта, но даже они сталкиваются с необходимостью проживания клиента в медленной сети или использования недорогих устройств из-за проблем. Поэтому в браузере AI модель или облегченный AI Модель почти мгновенного ответа. Оба метода зависят от конфигурации устройства и пропускной способности сети. Поэтому в идеале клиент должен быстро реагировать сзади сайта. частьотвечать Долженииметь дело с AI Модель отвечает частично разделенной. Оба работают параллельно и должны поддерживать общее изданное хранилище и правильный метод взаимодействия между ними, чтобы клиент отвечал за ответные действия. частькодверно AI Модель частичной зависимости приведена.
Даже если «Долженпроект» будет верным на веб-сайте или в приложении, это может произойти. на: Идеальный метод сбора изданных, но не следует полагать, что сайт Должен или приложение изданные безошибочны. Ошибка сетевого запроса, вредоносное соединение или только Зависит от пользователей, предоставляющих спам-ввод, могут сделать данные непригодными для обучения. Незлонамеренные пользователи могут столкнуться с проблемами в сети и постоянно обновлять одну и ту же страницу в течение короткого времени. 10 приезжать 20 В то же время это не должно повышать значимость просмотра страницы Должен. из коллекции веб-сайта, все данные должны быть в соответствии с Моделиз требует очистки и фильтрации. Важно помнить, что проблемы, с которыми сталкивается веб-сайт, почти наверняка повлияют на качество собираемого контента.
сейчассуществовать,Мы обсудили Обзор,И ловушки, которых следует избегать при поиске веб-сайтов, задняя часть,Давайте приступим к созданию (хотя и простому), чтобы продемонстрировать решение «Должен» в целом. Обзор.
как упоминалось выше,Знакомство с нами Волянижешаг:
Хотя ранее мы обсуждали ловушки сбора данных, но существующие здесь, мы кратко обсудим инструменты и методы, доступные для выполнения задачи.
от В целом, коллекция предметов может иметь несколько источников. Вы можете скачать данные с сайта или скачать готовый изнабор. данных. Возможны и другие методы, например:
beautifulsoup
да Обычно используется Восуществлять Web Возьмите из библиотеки. Scrapy
даеще один популярныйизинструмент,Можно использовать очень быстро.
Очистка данных Воля полностью зависит от того, В какой форме вы собираете изданные формы и существование которых обсуждалось в предыдущих главах этой книги середина. Мы в «Воля» предполагаем, что вы можете конвертировать «Воляданные» в формат для, который подходит для той части, которую вы хотите построить. для этого раздела серединаиз других тем мы Воляиспользовать имя для Amazon Fine Food Reviews изприготовьсяизданныенабор,Можетотздесьскачать。извлекатьскачатьиз ZIP После файла,ты Воляполучить имядляReviews.csv
изнабор данных.
здесьданаблюдатьнравиться何осуществлять Web Возьмите и подготовьте чистый набор данных из исходной точки.
сейчассуществовать,Мы, Воля, готовим AI Модель,Должен Модель Воляв соответствии с Пользователь запрашивает рекомендуемые продукты. дляэтот,нас Создайтеновыйиз Jupyter блокнот.
первый,Волянеобходимыйиз Python Проект импорта модуля:
import numpy as np
import pandas as pd
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import WordPunctTokenizer
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
# Comment below line if you already have stopwords installed
nltk.download('stopwords')
насимпортироватьTfidfVectorizer
к帮助нассоздаватьиспользовать Восуществлятьобработка естественного языкаизЧастота слов, обратная частоте документов(TF-IDF)вектор。 TF-IDF Числовая мера важности одного слова «документ», учитывая, что несколько документов могут содержать или не содержать слово «из». существуют в числовом виде, когда одно слово существует, один документсередина появляется часто, но существующий другой документсередина появляется не часто, это увеличивает значение важности. TF-IDF Настолько популярны, что в настоящее время существует более 80% из основанного на естественном языке из системы рекомендаций – все это существуетиспользовать.
настакже正существоватьимпортироватьWordPunctTokenizer
。 Токенизатор выполняет декомпозицию текста Воли для базовой разметки из функций. Например,Большой абзац можно разбить на предложения.,Затем далее разложите слово для.
нас Воля ПрочтитеISO-8859-1
кодированиеиз Amazon Fine Food Reviews набор данных. Это лишь гарантирует, что мы не потеряем специальные символы в тексте комментария:
df = pd.read_csv('Reviews.csv', encoding = "ISO-8859-1")
df = df.head(10000)
Зависит от Вданный набор очень велик, поэтому мы воля в этой главе работать лимит для набора данных серединаиз назад 10,000 ХОРОШО.
Нам Воля нужно из текста середина убрать стоп-слова и отфильтровать скобки серединаиз символов и другой текст неестественный из символов. Мы Воля СоздаемимядляcleanText()
изфункция,Функция Должен Воля выполняет фильтрацию и удаление стоп-слов:
import string
import re
stopwordSet = set(stopwords.words("english"))
def cleanText(line):
global stopwordSet
line = line.translate(string.punctuation)
line = line.lower().split()
line = [word for word in line if not word in stopwordSet and len(word) >= 3]
line = " ".join(line)
return re.sub(r"[^A-Za-z0-9^,!.\/'+-=]", " ", line)
Используя предыдущую функцию, мы из текста середина удалили стоп-слова и все слова, содержащие менее трех символов в словах. Мы отфильтровали знаки препинания и сохранили только символы, относящиеся к тексту серединаиз.
Набор данных содержит больше данных, чем нам нужно для демо-версии. нас ВоляизвлекатьProductId
,UserId
,Score
иText
列к Подготовитьнасиз Демо。 Названия продуктов шифруются по соображениям конфиденциальности, так же, как шифруются имена пользователей:
data = df[['ProductId', 'UserId', 'Score', 'Text']]
существуют данные научной серии, хранить данные в зашифрованном виде и не содержать личной информации - проблема. отданныеSET середина Важно удалить часть, чтобы можно было идентифицировать частный объект dataSETсерединаиз. Например, вам Воля нужно из текста комментария середина удалить имя человека и организации, чтобы не идентифицировать продукты и пользователей, хотя у них есть шифрование и з продуктов и пользователей. ID。
Теперь мы используем текстовый фильтр Воляприложение и функцию удаления слов для очистки набора данных серединаиз текста:
%%time
data['Text'] = data['Text'].apply(cleanText)
Отображает время, необходимое для выполнения задачи.
пожалуйста, обрати внимание,фронт изкод块толькосуществовать Jupyter Блокнот середина действителен и существует регулярно Python Недопустимо в сценарии. хотетьсуществоватьобычноиз Python по сценариюбегатьэто,пожалуйстаудалить%%time
Заказ。
Зависит от ВУ нас есть только один эпизод данных,поэтомунас Волячастьдлядве части,Разделы характеристик и тегов разделены:
X_train, X_valid, y_train, y_valid = train_test_split(data['Text'], df['ProductId'], test_size = 0.2)
нас Воляиспользоватьsklearn
модульсерединаизtrain_test_split()
метод Воляданныенабор分для 80% использовать Втренироватьсяи 20% для тестирования.
сейчассуществовать,нас Воля按использоватьсемьяипродукт ID Краткое изложение данных эпизодов из обзоров. нас需хотетьверно Каждый видпродуктпровести обзор,чтобы определить, какойпродукт Воляданижеаспектизидеальный выбор:
user_df = data[['UserId','Text']]
product_df = data[['ProductId', 'Text']]
user_df = user_df.groupby('UserId').agg({'Text': ' '.join})
product_df = product_df.groupby('ProductId').agg({'Text': ' '.join})
Кроме того, совокупные отзывы пользователей Воля помогают нам определить предпочтения пользователей.
сейчассуществовать,Наши Волясоздывать две разные программы векторизации.,Пользователь с В,另одиниспользовать Впродукт。 Нам, Воля, нужны эти инструменты векторизации, чтобы определить потребности пользователей и просмотреть отзывы о любом конкретном продукте, чтобы понять сходство между ними. Сначала мы создадим векторизатор Волядля пользователя и отобразим его форму:
user_vectorizer = TfidfVectorizer(tokenizer = WordPunctTokenizer().tokenize, max_features=1000)
user_vectors = user_vectorizer.fit_transform(user_df['Text'])
user_vectors.shape
Затем,нас Волядляпродуктсоздаватьвекторизатор:
product_vectorizer = TfidfVectorizer(tokenizer = WordPunctTokenizer().tokenize, max_features=1000)
product_vectors = product_vectorizer.fit_transform(product_df['Text'])
product_vectors.shape
насиспользоватьWordPunctTokenizer
Разбить текст,ииспользоватьTfidfVectorizer
вернослонизfit_transform
метод Подготовитьвектор,Эти векторные словарные карты слов «Воля» приезжают в их существующий документ из единой важности.
насиспользоватьpandas
модульизpivot_table
метод Приходитьсоздавать Иголкавернопродуктизиспользоватьсемья评分матрица。 нас Воляиспользоватьэтотматрицаосуществлятьматрица分解к确定использоватьсемья喜欢изпродукт:
userRatings = pd.pivot_table(data, values='Score', index=['UserId'], columns=['ProductId'])
userRatings.shape
насвозвращаться Воля ВоляиспользоватьсемьяипродуктизTfidfVectorizer
векторизменять换для Подходит для матричной факторизацииизматрица:
P = pd.DataFrame(user_vectors.toarray(), index=user_df.index, columns=user_vectorizer.get_feature_names())
Q = pd.DataFrame(product_vectors.toarray(), index=product_df.index, columns=product_vectorizer.get_feature_names())
сейчассуществовать,нас Может Создайте функцию матричной факторизации。
Теперь мы используем функцию Воля Создайте для выполнения матричной факторизации. Матричная факторизация стала для 2006 Год Netflix Награда за вызов середина с использованием системы рекомендаций В из серии популярных алгоритмов. Это да Воля, пользовательский термин разложения матрицы для набора двух низкоразмерных прямоугольных матриц из серии алгоритмов, которые могут Воля умножать эти матрицы, чтобы восстановить исходную матрицу. Исходная матрица высшего порядка:
def matrix_factorization(R, P, Q, steps=1, gamma=0.001,lamda=0.02):
for step in range(steps):
for i in R.index:
for j in R.columns:
if R.loc[i,j]>0:
eij=R.loc[i,j]-np.dot(P.loc[i],Q.loc[j])
P.loc[i]=P.loc[i]+gamma*(eij*Q.loc[j]-lamda*P.loc[i])
Q.loc[j]=Q.loc[j]+gamma*(eij*P.loc[i]-lamda*Q.loc[j])
e=0
for i in R.index:
for j in R.columns:
if R.loc[i,j]>0:
e= e + pow(R.loc[i,j]-np.dot(P.loc[i],Q.loc[j]),2)+lamda*(pow(np.linalg.norm(P.loc[i]),2)+pow(np.linalg.norm(Q.loc[j]),2))
if e<0.001:
break
return P,Q
Затем,Выполняем матричную факторизацию и записываем затраченное на это время:
%%time
P, Q = matrix_factorization(userRatings, P, Q, steps=1, gamma=0.001,lamda=0.02)
После этого нам нужно сохранить модель.
сейчассуществовать,существоватьпроектизroot
Оглавлениесередина Создайтеимядляapi
изпапка。 Затем,держатьтренироватьсяназадиз Модель,Должен Модельдаиспользоватьсемьяпродукт评级матрица分解назад获得из低阶матрица:
import pickle
output = open('api/model.pkl', 'wb')
pickle.dump(P,output)
pickle.dump(Q,output)
pickle.dump(user_vectorizer,output)
output.close()
Воля Модель saveдля бинарного кода Pickle файлы, которые позволяют нам развернуть наш веб-сайт и ззаднюю часть, когда Воля быстро загружается обратно в память середина.
Теперь, когда мы закончили разработку Моделиза прогноза, давайте перейдем к интерфейсу сборки для приложения.
хотетьдля Web При построении интерфейса приложения нам необходимо подумать о том, как позволить пользователям взаимодействовать с системой. существует наш случай середина, мы хотим существовать, когда пользователи отправляют поисковый запрос в соответствии существует панель поиска середина поиска по контенту, чтобы они давали предложения. Это означает, что нам нужно, чтобы система реагировала в режиме реального времени и генерировала рекомендации на лету. для Для сборки системы Должен мы Воля Создаем API, API Отвечу на поисковые запросы.
Мы Воля Создаем API, API принимать HTTP Форма запроса соответствии Пользователь вводит поисковый запрос и отвечает предложениями продуктов. Для этого выполните следующие действия:
import numpy as np
import pandas as pd
from nltk.corpus import stopwords
from nltk.tokenize import WordPunctTokenizer
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import CountVectorizer
from flask import Flask, request, render_template, make_response
from flask_wtf import FlaskForm
from wtforms import StringField, validators
import io
from flask_restful import Resource, Api
import string
import re
import pickle
from flask_jsonpify import jsonpify
Flask
модульк Создайтебыстрый HTTP Служитьустройство,Должен Служитьустройство Можетк API изформасуществоватьопределенныйиздорога Зависит отначальствоиспользовать。 нас Воля实пример化Flask
приложениевернослон,Как показано ниже:DEBUG = True
app = Flask(__name__)
app.config['SECRET_KEY'] = 'abcdefgh'
api = Api(app)
приложение КонфигурациясерединаизSECRET_KEY
изценить Зависит Вам решать.
class
функция Приходитьиметь дело сотиспользоватьсемьяк搜索Запросформаполучатьприезжатьиз Ввод текста:class TextFieldForm(FlaskForm):
text = StringField('Document Content', validators=[validators.data_required()])
Flask_Work
добрыйсередина:class Flask_Work(Resource):
def __init__(self):
self.stopwordSet = set(stopwords.words("english"))
pass
cleanText()
метод。 Воля использует В для очистки и фильтрации пользовательского ввода и поисковых запросов: def cleanText(self, line):
line = line.translate(string.punctuation)
line = line.lower().split()
line = [word for word in line if not word in self.stopwordSet and len(word) >= 3]
line = " ".join(line)
return re.sub(r"[^A-Za-z0-9^,!.\/'+-=]", " ", line)
index.html
Загрузка файла: def get(self):
headers = {'Content-Type': 'text/html'}
return make_response(render_template('index.html'), 200, headers)
post
методиз预测дорога Зависит от,Должендорога Зависит от Волясуществоватьполучатьприезжатьиспользоватьсемьяиз搜索Запросназадкпродукт建议руководитькольцоотвечать: def post(self):
f = open('model.pkl', 'rb')
P, Q, userid_vectorizer = pickle.load(f), pickle.load(f), pickle.load(f)
sentence = request.form['search']
test_data = pd.DataFrame([sentence], columns=['Text'])
test_data['Text'] = test_data['Text'].apply(self.cleanText)
test_vectors = userid_vectorizer.transform(test_data['Text'])
test_v_df = pd.DataFrame(test_vectors.toarray(), index=test_data.index,
columns=userid_vectorizer.get_feature_names())
predicted_ratings = pd.DataFrame(np.dot(test_v_df.loc[0], Q.T), index=Q.index, columns=['Rating'])
predictions = pd.DataFrame.sort_values(predicted_ratings, ['Rating'], ascending=[0])[:10]
JSONP_data = jsonpify(predictions.to_json())
return JSONP_data
Flask_Work
добрый附加приезжатьFlask
сервер. Таким образом, сразу можно будет завершить сценарий, когда он будет существовать. Мы разместили API, API в соответствии сиспользоватьсемьяиз Поисковые запросы, которые можно предложитьпродукт:api.add_resource(Flask_Work, '/')
if __name__ == '__main__':
app.run(host='127.0.0.1', port=4000, debug=True)
Воляэтотдокумент另житьдляmain.py
。 создавать API После скрипта нам нужно разместить сервер.
python main.py
этот Волясуществоватьпорт4000
начальствоиз计算机начальство启动Служитьустройство,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-5hSVTM74-1681705163540)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/5f7e2b07-8b1d-4ba9-a2ac-c4002fc9a22a.png)]
Однако нам все равно нужно подготовить пользовательский интерфейс для использования этого API。 нас Волясуществоватьнижечастьсерединаэтот样做。
сейчассуществовать,Мы Воля Создаем просто,наименееиз UI Приходитьuseнас создано API。 По сути, наша панель поиска позволяет пользователям вводить желаемые характеристики продукта, API. Уилл в соответствии сuserizquery возвращает предложения. Мы с Волей не обсуждаем строительство UI из кода, но уже Воля, которая содержит существование GitHub хранилище Библиотекасередина,Долженхранилище Библиотека Можетсуществоватьэта страницасерединапопытаться найтиприезжать。
После запуска сервера, UI Волясуществоватьhttp://127.0.0.1:4000
处Может见,нравиться“создавать API Отвечать на поисковые запросы" раздел ишаг 9 показано.
нассоздаватьизинтерфейс Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-D5TCVjVV-1681705163541)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/65ce8f08-b037-4d00-a8b5-a94172b2d2bd.png)]
Пользователь вводит поисковый запрос и получает такие предложения:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-EVCUhtNZ-1681705163541)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/e161cee5-2998-42d1-a4ef-4ed108ad54ad.png)]
Наше приложение не имеет возможности сохранять пользовательские сеансы. Более того, он не использует параметр ожидаемого бюджета пользователя, который обычно является решающим фактором при определении того, подходит ли продукт пользователям. Воля Эти функции добавляют возможности проживания Web приложение и воспользоваться их преимуществами легко.
В целом обучение DL Функция из Web приложение Есть нескольконастраиватьметод,Можетпроходить API, в браузере JavaScript илипроходить Воля DL Модельвстроен молчаприезжатьприложениеиззадняя часть Приходитьвыполнить。 В этой главе середина мы узнали, как использовать эти методы середина, наиболее распространенные из методов (база В). API из DL Web приложение), в то же время мы уверены, как проектировать подобные решения, были примерно из Обзора. мы Представлени Идентификация постановки проблемы. Мыслительный процесс, участвующий в последующем решении, и существующая интеграция дизайна. DL Модельиз Web Ловушки и болевые точки, которых следует избегать при совершении покупок.
существовать下одинглавасередина,Мы с Волей обсуждаем завершение проекта.,Долженпроектвне Вцель безопасностииз Воля DL наборстановитьсясуществовать Web приложение. Мы, Воля, понимаем DL Как помочь нам выявить подозрительную активность и прекратить рассылку спама пользователям.
В целом безопасность имеет первостепенное значение для любого веб-сайта, а также для всего программного обеспечения. Сегодня угрозы безопасности продолжают развиваться по мере увеличения доступной вычислительной мощности и развития областей технологий. Таким образом, важные веб-сайты должны принимать максимальные меры безопасности, чтобы обеспечить безопасность своих данных и пользовательской информации. отсуществовать Деловая деятельность и веб-сайты в Интернете всегда подвергаются высокому уровню риска и никогда не подвергались очень распространенным атакам безопасности. В системах безопасности, основанных на правилах, новые атаки особенно сложно выявить и предотвратить. Так что можете проверить Зависит отглубокое обучениеводить машинуиз安全система Предоставить из Параметры,Эти варианты являются эффективной альтернативой базовой системе правил.,А еще он способен правильно выявлять и блокировать новые угрозы.
В этой главе обсуждаются некоторые советы и методы.,Вы можете использоватьэтот些技巧итехнологияпроходитьиспользовать Python проводить глубже обучение по защите сайта из безопасности. Знакомство с нами Воля reCAPTCHA и Cloudflare и обсуждает, как они могут повысить безопасность веб-сайта. Мы также Воля покажем вам, как использовать базу Вглубокое. обучениеизтехнологий Python задняя часть, восстанавливает механизм безопасности для обнаружения злоумышленников на сайте. В этой главе «Воля» рассматриваются следующие темы:
Мы Воляот История reCAPTCHA Начать эту главу с обсуждения, reCAPTCHA да Google создал гениальный инструмент,Это изменило Интернет.
ты можешьсуществоватьэта страницаначальстводоступ本главаизкод。
Для чтения этой главы вам понадобится следующее программное обеспечение:
«Легко для человека» – Это reCAPTCHA из лозунга, в котором изложена простая идея, а именно reCAPTCHA да Система, Должен система определяет приложения на сайте от пользователей да реальные от пользователей-людей также да автоматизированные скрипты 。 reCAPTCHA да CAPTCHA ТЕХНИЧЕСКАЯ настройка из SPECIFIC, Технология CAPTCHA дааиспользовать с изюминкой,Изогнутые буквы и цифры и визуальные эффекты,А пользователю предлагается расшифровать содержимое визуального изображения и записать его в простой формат.
нравиться果тысуществовать 2000 Когда вы станете обычным пользователем Интернета, тогда вы сможете существовать на многих веб-сайтах, на которых можно будет остановиться. на: Следующий проверочный код и картинка:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-2LY0z1Rq-1681705163542)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/bdf82cb8-25df-4316-ab30-7c488e38f119.png)]
CAPTCHA даИспользование В для отличения компьютеров от людей требует полной автоматизации и публичного теста Тьюринга.изакроним。
существовать Yahoo из Продвижения, CAPTCHA Система быстро существует на миллионах веб-сайтов. Но да, хотя эта система обеспечивает веб-сайту гораздо более высокий уровень безопасности, но она отнимает много времени и часто используется мошенническими программистами. Люди часто сразу же время от времени создают новый дизайн с другим дизайном и комбинацией визуальных элементов. CAPTCHA система.
в то же время,Разработчиксуществовать解决один非常другойизвопрос-Воляпечатные книгии Оцифровка других текстов。 Быстрое решение для сканирования книг. также Сразудаобъяснять,использоватьоптическое распознавание символов(OCR)Воляпреобразование книгидляпервый разшагизчислотекстформа。 дляиспользовать стандартный шрифт изготовлен из печатного содержимого, качество сканирования очень хорошее, эффект преобразования очень хороший. Но да, ошибки формата печати и формата рукописи будут влиять на точность преобразования. люди们越Приходить越多地Волякартина像начальство传приезжатьсуществоватьонлайн-платформа,Для поиска по этим изображениям извлекайте текст и используйте его в различных целях.,Например, определить содержание изображения серединаиз,Местоположение или упоминание бренда.
CAPTCHA из Происхождение и несколько организаций.Заявления об изобретениях противоречивы, но да. Luis von Ahn существовать 2003 Год создания CAPTCHA Это слово позже стало для reCAPTCHA изоснователь компании «Должен» Google приобретение.
Краудсорсинг Служитьиз Pioneer Luis von Ahn использовать reCAPTCHA Программа для отображения отсканированных печатных книг середина, вырезанных из очень маленьких текстовых блоков. Только люди могут легко решить эти проблемы, автоматизированные процедуры терпят неудачу. В то же время, благодаря неизвестной краудсорсинговой деятельности, большое количество людей, внесших свой вклад, эти книги медленно оцифровывали. reCAPTCHA Конечно, пользователи обеспокоены, но проблема оцифровки книг решена.
Со временем reCAPTCHA эволюциядляиспользоватьбаза В AI из системы для выявления реальных и фейковых пользователей. существовать Во время написания этой книги используйте reCAPTCHA Зависит от Google Активно разрабатываемая и в настоящее время находящаяся в третьей версии, версия «Должен» позволяет пользователям с существующим фоном веб-страницы быть серединаверно аутентифицированными невидимыми и отображает вызов только в том случае, если существование не может успешно аутентифицировать пользователя. 。 Это действительно экономит пользователю много времени и усложняет работу машины.
Мы представляем существующий веб-сайт «Воля Учреждать», основанный на использовании Глубокого обучения Модели reCAPTCHA для веб-сайтов, который обеспечивает элементы безопасности.
Злонамеренные пользователи на веб-сайте Любой пользователь, пытающийся выполнить несанкционированные задачи. существуют когда В современном мире угрозы, исходящие от злонамеренных пользователей, растут в геометрической прогрессии: хакеры раскрывают публике огромные объемы личной информации от нескольких мировых гигантов высоких технологий, правительственных учреждений и других частных компаний. Важно иметь системы, которые могут автоматически смягчать эти вредоносные атаки.
для выявленных примеров Web приложениесерединаиз恶意использоватьсемья,Мы создали Модель,Должен Модель способна понять общее поведение пользователя для,И существуют в любом случае, когда ситуация пользователя изиспользовать в прошлом существенно меняется.,Прозвучит сигнал тревоги.
Обнаружение аномалийдамашинное обучениеиз популярной отрасли. Это набор алгоритмов, которые обнаруживают заданный набор образцов данных, которые не ухудшаются вместе с большинством свойств образцов данных. существуют питомники для обнаружения кошек да обнаружения отклонений. Обнаружение аномалий осуществляется несколькими способами:
Машина опорных векторов, K ближайшего соседа и байесовская сеть с использованием обнаружения аномалий с помощью некоторых из самых популярных алгоритмов.
Как мы определяем регулярное поведение пользователей сайта?
Предположим, вы обычно используете веб-сайт для входа в систему с ноутбука. Обычно для успешного входа на сайт требуется до двух попыток. Если однажды вы вдруг запустите новый ноутбук, ваш логин может показаться подозрительным и может быть злонамеренной попыткой вас взломать. Если новое местоположение устройства — это место, где вы недавно не были, то это еще более верно. Если ты попробуешь 10 Вход в аккаунт, тоже Воля очень подозрительный. Любое подозрительное использование статуса пользователя на обычном веб-сайте.
Иногда исключения могут не дать Зависить от ВНи один конкретный пользователь не ругается по этой причине. Зависит от ВСлужить из изменения, пользовательского трафика и его из ряда вон может измениться. В этом случае мы должны быть осторожны, чтобы не помечать всех пользователей как злоумышленников. Кроме того, пользователь из обычного ряда может да Зависит от ВХакерские попытки вызваны причинами, отличными от из. нравиться果真正изиспользоватьсемья突然начинатьдоступих不отвечать Должендоступизвеб-сайтчасть,Это ненормальное явление,необходимо предотвратить.
существует наш образец веб-сайта середина, наша Воля интегрируется вот так изсистемы. Для этого мы Воля проверяем сайт на странице входа в систему, существующую Должен страницу, мы Воля пытаемся идентифицировать пользователя на данормальном входе в систему и делаем исключение. Мы рассматриваем страницу входа пользователя, поскольку веб-сайт может иметь несколько страниц входа, и пытаемся определить, является ли она часто используемой страницей. Если пользователь попытается войти на страницу, на которой обычно не выполняется вход, мы отметим это как исключение. этоттолько если检查异常использоватьсемьяизпростой стандарт,Диапазон для сотен других параметров.
У Воля этот раздел разделен на два основных подраздела:
Начнем с части от Нет.
для Понятнов соответствии пользователь из активности входа в систему, если пользователь прошел аутентификацию, нам нужен запрос на проверку с помощью В API。 Мы можем построить эту модель с помощью следующего шага:
import sys
import os
import json
import pandas
import numpy
from keras.models import Sequential
from keras.layers import LSTM, Dense, Dropout
from keras.layers.embeddings import Embedding
from keras.preprocessing import sequence
from keras.preprocessing.text import Tokenizer
from collections import OrderedDict
file = 'data-full.csv'
df = pandas.read_csv(file, quotechar='|', header=None)
df_count = df.groupby([1]).count()
total_req = df_count[0][0] + df_count[0][1]
num_malicious = df_count[0][1]
print("Malicious request logs in dataset: {:0.2f}%".format(float(num_malicious) / total_req * 100))
Ваш Воля просматривает некоторую общую статистическую информацию о данныхиз,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-PUunEPyr-1681705163542)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/db398383-b1d7-407a-9f2a-ed4f4223c548.png)]
Ваш Волявьюприезжатые содержит текст,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-GInpz5BD-1681705163542)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/8d84d0b7-32b3-4ac3-a3d1-d1ba262ee005.png)]
Это наблюдение важно, и мы будем обращаться к этому снимку экрана в будущем.
DataFrame
; Мы Воляиспользуем следующий код Воля, который разделен на две части: столбец тренироваться и столбец метки:df_values = df.sample(frac=1).values
X = df_values[:,0]
Y = df_values[:,1]
for index, item in enumerate(X):
req = json.loads(item, object_pairs_hook=OrderedDict)
del req['timestamp']
del req['headers']
del req['source']
del req['route']
del req['responsePayload']
X[index] = json.dumps(req, separators=(',', ':'))
tokenizer = Tokenizer(filters='\t\n', char_level=True)
tokenizer.fit_on_texts(X)
num_words = len(tokenizer.word_index)+1
X = tokenizer.texts_to_sequences(X)
max_log_length = 1024
split = int(len(df_values) * .75)
X_processed = sequence.pad_sequences(X, maxlen=max_log_length)
X_train, X_test = X_processed[0:split], X_processed[split:len(X_processed)]
Y_train, Y_test = Y[0:split], Y[split:len(Y)]
Помните, что шаг 2. Исходные данные состоят в основном из текста. Когда дело доходит до текстов, можно иметь определенный порядок независимо от контекста.
Например, рассмотрим следующее предложение со словом серединаиз. - “Sachin Tendulkar да Великий игрок в крикет». Для того, чтобы передать задуманный смысл, порядок слов из менять нельзя. существоватьмашинное обучениесередина При обработке текстовых данных этот Сразуда сохраняет важность порядка и контекста, существующего где.
существоватьнасиз案примерсередина,нас Воляиспользоватьспециальныйтипизрекуррентная нейронная сеть-долговременная память(LSTM),Это Воля учится распознавать регулярные пользовательские строки.
о Подробное обсуждение LSTM выходит за рамки этой книги.,Но да, если вам интересно,МожетссылказдесьПриходить详细Понятно解это。
clf = Sequential()
clf.add(Embedding(num_words, 32, input_length=max_log_length))
clf.add(Dropout(0.5))
clf.add(LSTM(64, recurrent_dropout=0.5))
clf.add(Dropout(0.5))
clf.add(Dense(1, activation='sigmoid'))
Мы из вывода одного нейрона,в данном случае существует ненормальная попытка входа в систему или ненормальная попытка входа в систему,это们分别持有0
или1
。
clf.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print(clf.summary())
Краткое описание модели составляется следующим образом:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-dspQYXbz-1681705163543)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/0a057f86-a447-49f8-a185-d82dc84ada58.png)]
сейчассуществовать,нас Подготовить继续тренироваться Модель:
fit()
метод,Как показано ниже:clf.fit(X_train, Y_train, validation_split=0.25, epochs=3, batch_size=128)
score, acc = clf.evaluate(X_test, Y_test, verbose=1, batch_size=128)
print("Model Accuracy: {:0.2f}%".format(acc * 100))
Вы должны увидеть результат прибытия, как показано на скриншоте ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-ZkWYdyof-1681705163543)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/15fc01ad-104b-40c0-a6f4-5490fed2bbf6.png)]
clf.save_weights('weights.h5')
clf.save('model.h5')
Когда модель готова, у нас теперь есть доступное существование для хостинга API Flask.
Теперь давайте создадим API, API, который будет воляпринимать пользователей из попыток входа в систему и возвращать их верную достоверность входа в систему:
from sklearn.externals import joblib
from flask import Flask, request, jsonify
from string import digits
import sys
import os
import json
import pandas
import numpy
import optparse
from keras.models import Sequential, load_model
from keras.preprocessing import sequence
from keras.preprocessing.text import Tokenizer
from collections import OrderedDict
model
тренироватьсяшагсерединаимпортироватьдержатьиз Модельимасса。 один旦этот样做,Нам нужно перекомпилировать Модель,ииспользоватьmake_predict_function()
методделать Что Модельстановитьсядляpredict
функция:app = Flask(__name__)
model = load_model('lstm-model.h5')
model.load_weights('lstm-weights.h5')
model.compile(loss = 'binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model._make_predict_function()
def remove_digits(s: str) -> str:
remove_digits = str.maketrans('', '', digits)
res = s.translate(remove_digits)
return res
/login
дорога Зависит от,когда пользователь пытается войти в систему, Должендорога Зависит от Воляпринимать из приложения клиентаиз учетных данных для входа и дополнительных деталей заголовка запроса. Обратите внимание, что мы по-прежнему отбрасываем некоторые дополнительные заголовки запросов, такие как существование этого процесса середина. тренироваться。@app.route('/login', methods=['GET, POST'])
def login():
req = dict(request.headers)
item = {}
item["method"] = str(request.method)
item["query"] = str(request.query_string)
item["path"] = str(request.path)
item["statusCode"] = 200
item["requestPayload"] = []
X = numpy.array([json.dumps(item)])
log_entry = "store"
tokenizer = Tokenizer(filters='\t\n', char_level=True)
tokenizer.fit_on_texts(X)
seq = tokenizer.texts_to_sequences([log_entry])
max_log_length = 1024
log_entry_processed = sequence.pad_sequences(seq, maxlen=max_log_length)
prediction = model.predict(log_entry_processed)
print(prediction)
response = {'result': float(prediction[0][0])}
return jsonify(response)
Наконец, приложение заканчивается. Форма JSON возвращает надежного пользователя для аутентификации из уверенности.
if __name__ == '__main__':
app.run(port=9000, debug=True)
main.py
。 нас Воляпроходитьсуществоватьсистеманачальствоиспользоватьниже Заказ Приходитьделать Служитьустройствобегать:python main.py
Это Воля стартует Flask Сервер, который прослушивает петлю IP 127.0.0.1
ипорт9000
。 Вы можете легко установить этот скрипт на облачную виртуальную машину и сделать универсальную контрольную точку безопасности. API Воля Предоставляется всем приложенияи сайтам.
сейчассуществовать,нас Может继续создаватьсуществовать Django Рамка на проектиз Web приложение.
Наша создазисзиспользовать проверку подлинности пользователя API с сайта Воляда Простая демонстрация на рекламном щите. Веб-сайт Должен Воля позволяет пользователям войти в систему, а затем Воля выставляет счета для размещения рекламных щитов. хотя Долженприложение простое, но оно содержит базу Глубокое обучениеиз Интеграция безопасностииз Две основные функции - обнаружение аномалий при аутентификации пользователя и при выставлении счета reCAPTCHA извыполнить - избежать спама.
ниже各节Воляобсуждатьсоздаватьприложениеизшаг。
существовать Этот разделсередина,нас Воляиспользовать Django。 Прежде чем продолжить работу с этим разделом, убедитесь, что на вашем существующем компьютере установлена действующая версия. Django。 ты можешьсуществовать“Нет. 8 глава",“использовать python существовать Microsoft Azure начальствопроводить глубже обучение”из“Django Web развивать Введение”частьсерединапопытаться найтиприезжать Django из Инструкция по установке.
сейчассуществовать,Давайте создадим проект Django. для этого,Мы используем следующие команды:
django-admin startproject webapp
этот Волясуществоватькогда前папкасерединасоздаватьwebapp
Оглавление。 Мы Волясуществовать этот каталог середина добавляем всех Воля в из кодов. Текущая структура каталогов выглядит следующим образом:
webapp/
manage.py
webapp/
__init__.py
settings.py
urls.py
wsgi.py
db.sqlite3
После завершения этой операции,нассейчассуществовать Подготовитьсуществоватьпроектвнутренний Создайтеприложение,Это Волясуществовать в следующей части шоу середина.
Такие как "Нет. Глава 8",“существовать Microsoft Azure начальствоиспользовать Python проводить глубже обучение”серединаописал,Теперь мы должны добавить в Воляприложение веб-сайт «Единый проект проживания».,Мы используем следующие команды:
cd webapp
python manage.py startapp billboard
фронт из Заказ Волясуществоватьпроектсередина Создайтеимядляbillboard
изприложение. Да,Нам еще предстоит Воля это приложение связать приезжатьпроект.
хотеть Воляприложениедобавить вприезжатьпроектсередина,нас需хотеть Воляприложениеимясказатьдобавить вприезжатьпроектнастраиватьдокументсерединаsettings.py
серединаизприложениесписоксередина,нравитьсянижекодпоказано. существоватьsettings.py
середина,Добавьте следующие изменения:
# Application definition
INSTALLED_APPS = [
'billboard', # <---- ADD THIS LINE
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Таким образом, мы готовим существующий сайт Создано дорога Зависит от.
Добавить дорогу Зависит в проект от,насредактироватьwebapp
изurls.py
документ:
from django.contrib import admin
from django.urls import path, include # <--- ADD 'include' module
urlpatterns = [
path('', include('billboard.urls')), # <--- ADD billboard.urls path
path('admin/', admin.site.urls),
]
Да,billboard.urls
дорога径不житьсуществовать。 Мы Волясоздаем марш из дороги.
существоватьbillboard
папкасередина Создайтеимядляurls.py
изновыйдокумент,Как показано ниже:
from django.urls import path
from django.contrib.auth.decorators import login_required
from . import views
urlpatterns = [
path('', login_required(views.board), name='View Board'),
path('add', login_required(views.addbill), name='Add Bill'),
path('login', views.loginView, name='Login'),
path('logout', views.logoutView, name='Logout'),
]
Воляэто сохранить какдляwebapp/billboard/urls.py
。 пожалуйста, обрати внимание,насуже Воля Некоторыйviews
проектимпортироватьэтотдорога Зависит от Обрабатывать файлы. кроме того,насиспользовать Понятноlogin_required
метод。 Это означает, что мы можем приступить к сертификации сайта.
Чтобы добавить проверку с помощью В издорога Зависит от,пожалуйстасуществоватьwebapp/settings.py
документиз末尾добавить внижесодержание:
LOGIN_URL = "/login"
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/logout'
этот些ХОРОШО表明нас Воля需хотеть/login
и/logout
дорога Зависит от。
хотеть Создать страницу входа,нас需хотетьсуществоватьрекламный щитприложениесередина Воля/login
дорога Зависит отдобавить вприезжатьurls.py
。 Но да, мы уже приезжаем. Следующий,нас需хотеть ВоляloginView
视картинадобавить вприезжатьдоска объявленийприложениеизviews.py
документсередина:
def loginView(request):
if request.user.is_authenticated:
return redirect('/')
else:
if request.POST:
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
## MORE CODE BELOW THIS LINE
## MORE CODE ABOVE THIS LINE
else:
return redirect('/logout')
else:
template = loader.get_template('login.html')
context = {}
return HttpResponse(template.render(context, request))
Предыдущая функция сначала проверяет, существуют ли данные пользователя Библиотекасерединада, переданные имени пользователя и паролю isusername и паролю. поэтому,Воля Приходить,нас Воля需хотетьодиниспользоватьсемья Модель Приходить Воляиспользоватьсемьяхранилищесуществоватьданные Библиотекадокументdb.sqlite3
середина,Должендокументдасуществоватьпроектсоздаватьшагсерединасоздаватьиз。
Затем,Должен функция проверки подлинности Волявызов Модель API для проверки входа пользователя да НЕТ нормально. Проверка осуществляется с помощью следующего кода:
def loginView(request):
...
## MORE CODE BELOW THIS LINE
if user is not None:
url = 'http://127.0.0.1:9000/login'
values = { 'username': username, 'password': password }
data = urllib.parse.urlencode(values).encode()
req = urllib.request.Request(url, data=data)
response = urllib.request.urlopen(req)
result = json.loads(response.read().decode())
if result['result'] > 0.20:
login(request, user)
return redirect('/')
else:
return redirect('/logout')
## MORE CODE ABOVE THIS LINE
...
Предыдущий блок кода проверяет вход пользователя.,Если обнаружено, что логин пользователя недействителен,Затем выполните операцию выхода из системы,И Воля пользователя перенаправляет обратно для повторного входа.
дляэтот,нас需хотеть Кview.py
документдобавить в Некоторый必хотетьизимпортировать,Как показано ниже:
from django.shortcuts import redirect
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponse
from django.template import loader
from django.conf import settings
from django.urls import reverse_lazy
from django.views import generic
from django.contrib.auth.models import User
import urllib
import ssl
import json
Уведомление,насвозвращатьсяотdjango.contrib.auth
импортировать Понятноlogout
метод。 этот Воляиспользовать Всоздаватьlogout
视картина。
сейчассуществовать,让нассоздаватьlogout
视картина。 Сделать это очень просто следующим образом:
def logoutView(request):
logout(request)
return redirect('/')
сейчассуществовать,让нас Создать страницу входаизшаблон。
Чтобы создать шаблон, нам сначала нужна папка, необходимая для создания.
существоватьbillboard
Оглавлениесередина Создайтеимядляtemplates
изпапка。 Сейчас существует структура каталогов Воля Похоже на:Следующий код:
webapp/
manage.py
webapp/
__init__.py
settings.py
urls.py
wsgi.py
billboard/
templates/
___init_.py
admin.py
apps.py
models.py
tests.py
urls.py
views.py
существоватьtemplates
папка Внутри,нас Воля放置шаблондокумент。первыйсоздаватьbase.html
,нас Волясуществовать所有Что他шаблонсередина Расширять。 этот Воля ВключатьCSS
иJS
Включать,А также страница с обычной блочной структурой.
насужесуществоватьздесь提供Понятноэтотдокументиз示пример。
После завершения этой операции,нас Подготовитьсоздаватьlogin.html
документ,Должен файл Воля выполняет отправку значения логина Воля приезжать Служить из процесса:
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
<div class="form_bg">
<form method="post">
{% csrf_token %}
<h2 class="text-center">Login Page</h2>
# WE'LL ADD MORE CODE BELOW THIS LINE
...
# WE'LL ADD MORE CODE ABOVE THIS LINE
</form>
</div>
</div>
</div>
{% endblock %}
Уведомление,Мы уже существуемфронт из视картинашаблонсередина扩展Понятноbase.html
шаблон。
ты можешьсуществоватьэта страницаначальство阅读связанный扩展 Django Шаблон с дополнительной информацией.
этот登录页面серединаизформа发внеPOST
пожалуйста求,поэтому需хотеть传递 CSRF Токен. Теперь мы можем создать страницу после завершения входа в систему.
Зависит от Внасуже经настраивать Понятноbase.html
документ,поэтомунас Может简单地существоватьboard.html
шаблондокументсерединаверно Что Расширятьксоздаватьрекламный щитпоказывать页面:
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
{% for bill in bills %}
<div class="col-sm-4 py-2">
<div class="card card-body h-100">
<h2>{{ bill.billName }}</h2>
<hr>
<p>
{{ bill.billDesc }}
</p>
<a href="#" class="btn btn-outline-secondary">{{ bill.user.username }}</a>
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
существоватьфронт изкод块середина,нас遍历Понятнорекламный щитданные Библиотекасередина所有Можетиспользоватьизbills
проект,ииспользоватьшаблонсерединаизfor
循环показывать Понятноэто们。 base.html
шаблонизиспользовать允许нас减少视картинашаблонсерединаиз重复код量。
после этого,Наша страничка Воля Создайте,На странице Должен есть новый счет Воля, добавить рекламный щит из кода.
Чтобы создать законопроект «Воля», добавьте рекламный щит прибытия из шаблона страницы.,насиспользоватьнижекодсоздаватьadd.html
шаблондокумент:
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
<div class="form_bg">
<form method="post" id="form">
{% csrf_token %}
<h2 class="text-center">Add Bill</h2>
<br />
<div class="form-group">
<input type="text" class="form-control" id="billname" name="billname" placeholder="Bill Name">
</div>
<div class="form-group">
<input type="text" class="form-control" id="billdesc" name="billdesc" placeholder="Description">
</div>
<br />
<div class="align-center">
<button type="submit" class="btn btn-success" id="save">Submit</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
существоватьфронт изкод块середина,нас扩展Понятноbase.html
шаблонкдобавить в允许насдобавить в帐单излист。 Уведомлениеform
элементсередина CSRF Токен изиспользовать. существовать Django середина, нам всегда нужно существование, чтобы выдавать POST Пропуск действителен при запросе CSRF Токен.
ты можешьсуществоватьэта страницаначальство Понятно解связанный Django середина CSRF Токен из дополнительной информации.
Да,и т. д.,насвозвращаться没有добавить в视картина Приходитьиметь дело срекламный щит页面идобавить в账单页面。 Давайте добавим их, теперь существуют!
Нам нужно добавить представление для просмотра всех счетов на странице рекламного щита. Да,дляэтот,Сначала нам нужно создать Модель, чтобы сохранить все купюры.
существоватьmodels.py
документсередина,Добавьте следующий код:
from django.utils.timezone import now
from django.contrib.auth.models import User
class Bills(models.Model):
billName = models.CharField("Bill Name", blank=False, max_length=100, default="New Bill")
user = models.ForeignKey(User, on_delete=models.CASCADE)
billDesc = models.TextField("Bill Description")
billTime = models.DateTimeField(default=now, editable=False)
class Meta:
db_table = "bills"
существоватьфронт изкодсередина,нассоздавать ПонятноодинимядляBills
изновый Модель. Этот Воля хранит пользователя на доске объявлений, добавляет все счета и детали. user
Модельиэтот Модель Связьдлявнешний ключ。 Воляэтотдокумент另житьдляwebapp/billboard/models.py
。
ты можешьсуществоватьэта страницаначальство Понятно解связанныйвнешний ключидругие ключииз Подробнее.
После завершения этой операции,нассейчассуществовать Можетсуществовать视картинасерединаиспользоватьBills
Модель.
хотетьначинатьсуществоватьприложениесерединаиспользоватьBills
Модель,наспервый需хотеть Воля Чтоимпортироватьviews.py
документ。
существоватьview.py
документиз顶部добавить вниже ХОРОШО:
from .models import Bills
Затем,Мы можем добавить просмотр для рекламного щита,Как показано ниже:
def board(request):
template = loader.get_template('board.html')
context = {}
context["isLogged"] = 1
Bill = Bills.objects.all()
context["bills"] = Bill
return HttpResponse(template.render(context, request))
Следующий,Нам нужно, чтобы создатель добавил законопроект с пометкой В.
Существующее мнение середина, мы волясоздаем законопроект. Если верно Зависит отaddbill
метод提供Служитьиздорога Зависит от提вне Понятно有效изPOST
пожалуйста求,Мы Воля СоздаемновыйизBill
вернослони Воля Чтодержатьприезжатьданные Библиотекасередина. В противном случае мы отображаем форму «Добавить счет пользователю» с помощью Виз. Давайте посмотрим, как существует следующий код середина выполняет эту операцию:
def addbill(request):
if request.POST:
billName = request.POST['billname']
billDesc = request.POST['billdesc']
Bill = Bills.objects.create(billName=billName, user=request.user, billDesc=billDesc)
Bill.save()
return redirect('/')
else:
template = loader.get_template('add.html')
context = {}
context["isLogged"] = 1
return HttpResponse(template.render(context, request))
Да,существоватьиспользовать Долженприложение До,Нам все еще нужен создатель администратора.
Создать пользователя администратора,Мы используем следующие команды:
python manage.py createsuperuser
Теперь мы можем использовать следующую команду для переноса изменений Библиотеки данных:
python manage.py makemigrations
python manage.py migrate
производит следующий вывод:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-fF1TSj2t-1681705163544)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/e0506807-c8f7-4fa1-b8c1-2b79d7600dd8.png)]
сейчассуществовать,让насиспользовать reCAPTCHA Инструменты для защиты релизов на рекламных щитах.
хотеть Воля reCAPTCHA Чтобы добавить сайт для проживания, нам сначала нужно Google reCAPTCHA Приобретение консоли API Ключ:
127.0.0.1
делатьдля URL №1.
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-fC41bi7T-1681705163544)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/fee62e08-e223-469d-a77e-82bac332aa67.png)]
settings.py
документсередина,Как показано ниже:GOOGLE_RECAPTCHA_SECRET_KEY = '6Lfi6ncUAAAAANJYkMC66skocDgA1REblmx0-3B2'
add.html
шаблонсередина. нас Воля Чтодобавить вприезжатьрекламный щитприложение页面шаблонсередина,Как показано ниже:<script src="https://www.google.com/recaptcha/api.js?render=6Lfi6ncUAAAAAIaJgQCDaR3s-FGGczzo7Mefp0TQ"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('6Lfi6ncUAAAAAIaJgQCDaR3s-FGGczzo7Mefp0TQ')
.then(function(token) {
$("#form").append('<input type="hidden" name="g-recaptcha-response" value="'+token+'" >');
});
});
</script>
{% endblock %}
пожалуйста, обрати внимание,Этот шагсерединаиспользовать из ключа для ключа клиента/сайта.
def addbill(request):
if request.POST:
recaptcha_response = request.POST.get('g-recaptcha-response')
url = 'https://www.google.com/recaptcha/api/siteverify'
values = { 'secret': settings.GOOGLE_RECAPTCHA_SECRET_KEY,
'response': recaptcha_response}
context = ssl._create_unverified_context()
data = urllib.parse.urlencode(values).encode()
req = urllib.request.Request(url, data=data)
response = urllib.request.urlopen(req, context=context)
result = json.loads(response.read().decode())
if result['success']:
# Do stuff if valid
else:
# Do actions when no request is made
ты можешьотэта страницасерединаизначальствоодинкод块серединаполучатьaddbill
методизвесь工делать版本。
После предыдущих изменений мы наконец-то можем протестировать веб-сайт «Проект Должен» с соблюдением всех мер безопасности. Выполните следующую команду, чтобы запустить сервер веб-сайта:
python manage.py runserver
Вы должны иметь возможность видеть веб-сайт прибытия со страницы входа в систему.,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-VR43TXqy-1681705163544)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/6be54474-9af3-4242-a2ac-c55719a38b51.png)]
пожалуйста, обрати внимание,в это время,ты Воля需хотетьв то же времябегатьосуществлять登录验证из Flask сервер.
После входа в систему,Вы, Воля, посмотрите на доску объявлений приезжатьсуществовать, размещенную на странице счета. Перейдите к кнопке «Добавить счет», чтобы добавить новый счет.,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-F2eFIbkL-1681705163544)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/d28fc58c-b859-4882-869e-c5c3d783772d.png)]
пожалуйста, обрати внимание Правый нижний угол экранаиз reCAPTCHA логотип. этот表明использовать reCAPTCHA Страница защищена от спама. Если вам удастся опубликовать сообщение успешно, это покажет, что счет был отправлен. Иначе тебе, Воля, грозит reCAPTCHA Проблемы с проверкой.
Cloudflare да Лидирующий в отрасли Web Поставщик инфраструктуры и безопасности веб-сайтов. Он существует, создает уровень безопасности и обеспечивает быструю доставку контента между веб-сайтом и его пользователями, а также обеспечивает его Служить Зависит. от всего трафика, от калибровки и безопасности сайта и других функций. 2017 Год,Cloudflare для более 1200 Тысячи веб-сайтов предоставляют DNS Служить. этот些Служить Включает сеть доставки контента,Распределенный отказ в обслуживании(DDoS)защита от атак,Хакеры пытаются защитить и другую интернет-безопасность Служить,Например Защита от наводнений。
2014 Год,Cloudflare Сообщить об облегчении 400 Gib/s DDoS нападение, за которым вскоре последовало еще одно 500 Gib/s из атаки. существующий рекорд крупнейшей из атак дасуществовать на любом веб-сайте GitHub , сайт смотрит 1.4Tb/s из DDoS Наводнение. GitHub использоватьизда Akamai Prolexic(Cloudflare из альтернативных продуктов) и смог выдержать атаки, только уронил 10 минут, а затем полностью возвращается в нормальное состояние. Cloudflare Бесплатно для всех пользователей. DDoS защита.
Чтобы начать существование с развертывания веб-сайта Cloudflare Служить,ты需хотеть Воля Cloudflare настраиватьдляиспользоватьсемьяихостинг Служитьустройство之间изсередина Прослойка。 На картинке ниже описано Cloudflare Как быть в сети:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-FeM1dPjm-1681705163545)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/ada2acb7-d8a7-4b38-8329-e7e64ba13a85.png)]
Таким образом, Cloudflare Будет автоматически существовать в пределах основного диапазона (проходить Google из reCAPTCHA Помогите нам обнаружить ранее созданные специальные решения для спама и злоумышленников) (существовать бесплатный уровень середина, существует середина более высокого уровня с более мощными решениями) при обновлении). Поэтому, для небольшой группы разработчиков, воля они из потребностей безопасности подталкивают Cloudflare Из систем и обеспечения их защиты от многих уязвимостей безопасности это очень интуитивно понятно и просто.
существовать本главасередина,нас Понятно解Понятнонравиться何использовать Cloudflare из Служитьдля сайта обеспечивает безопасность. Мы также рассмотрели, как может создаваться Web приложения другое безопасность Служить (напр. reCAPTCHA) интегрированное использованиеиз безопасности API。 Крайне важно, чтобы любой веб-сайт любого размера принимал эти меры безопасности, чтобы обеспечить безопасность своего веб-сайта. В последнее время произошли серьезные нарушения, и AI Система привода испробовала множество лазеек, которые Зависит от В Не да проблемы без становления для новостей. использоватьглубокое обучение проводит исследование безопасности по актуальной теме и полагает, что существование скоро наступит из Воля Воля полностью полагается на глубокие обучение выявлению и устранению угроз.
существовать下одинглавасередина,Мы, Воля, обсуждаем, как Учреждать среду глубокого обучения производственного уровня. Мы с Воля обсуждаем архитектурный проект, за которым вы можете следить из,Это зависит от их требований к размеру и последнего поставщика.
существоватьранееизглава节середина,нас Понятно解Понятнонравиться何использовать Некоторый著имяизглубокое обучение(DL)платформа,Например Amazon Web Services(AWS) , Google Cloud Platform(GCP)и Microsoft Azure,ксуществоватьнасиз Web приложениесередина启использовать DL。 Потом посмотрим, как приезжатьиспользовать DL Сделайте сайт безопасным. Но да, производство существует середина, проблемы обычно не только да Построить прогнозную модель, когда Настоящая проблема возникает, когда вы хотите обновить ответ модели, который уже был отправлен пользователю. существоватьзаменять Модельдокументиз 30 секунды или 1 Сколько времени и бизнеса вы можете потерять за считанные минуты? Что делать, если есть каждый пользовательская настройка и з Модель? Это может даже означать миллиарды долларов. Facebook Например, из платформы.
Вам необходимо определиться с решениями по обновлению производства серединаиз Модель. кроме того,Зависит от Впроглотитьизданные Может能不да采использоватьтренироватьсяиз Формат,поэтомуты需хотетьопределениеданныепоток,Для того, чтобы Воля могла легко трансформировать его для использования.
В этой главе середина мы, Воля, обсуждаем обновление методов производства Модельиз и выбор идей для каждого метода. Мы Воляот начнем с краткого Обзора, а затем что-то продемонстрируем с помощью Всоздавать. DL данныепотокиз著имяинструмент. наконец,нас Волявыполнить Собственныйизонлайн-обучениеилипостепенное обучение Демонстрация, обновление производства Модельиз методом с Учреждать.
Наша Волясуществовать В этой главе рассматриваются следующие темы:
ты можешьсуществоватьэта страницаначальстводоступ本главаизкод。
Для чтения этой главы вам понадобится следующее программное обеспечение:
Все остальные установки Волясуществовать эту главу середина в ХОРОШО.
Несмотря ни на что DL возвращатьсядаклассическийизмашинное обучение(ML),существовать Производствосерединаиспользовать Модельчас,Всевстречасталкиватьсяприезжатьиспытание。 Основная причина даданных топливом машинное обучение, и данные со временем будут меняться. существовать Производствосерединаразвертывать ML Модельчас,Зависит от Вданные будут продолжать меняться с течением времени, поэтому они будут регулярно обновляться веретренироваться. Поэтому, верно ML Осуществляйте тренироваться не из вещей роскоши, а из предметов первой необходимости. DL только если ML из подполя, это не исключение. машинное Есть два популярных метода изтренироваться: пакетное обучение ионлайн-обучение и особенно дасуществовать производство середина.
нас电影电影下下один下载下载的онлайн-обучение。 В этом разделе середина давайте познакомимся с концепцией пакетного обучения. существоватьпакетное обучениесередина,наспервыйсуществоватьидентификацияданные块начальствотренироваться ML Модель, затем существованиеверно Долженданные блоки для тренироваться, затем дл я Модель предоставляет следующий блок данных, и этот процесс Воля продолжается до тех пор, пока все блоки данных не будут израсходованы. Эти блоки называются пакетами.
существоватьсейчас实生活серединаизпроектсередина,ты Воля Всегдасуществоватьиметь дело с大量данные。 Одновременная загрузка этих наборов данных в память не идеальна. В этом случае существует пакетное обучение, да, у нас есть помощь. Пакетное обучение имеет некоторые недостатки, о которых мы расскажем в следующем разделе. ты Может能想知道(также Может能不да),Но дадаиз,只хотетьсуществоватькнигасерединатренироватьсянейронная сеть,Мы в Сразу проведем пакетное обучение.
Сразу Как и тренироваться, понятие пакетной обработки также может быть приложение ВСлужить ML Модель. существоватьздесь Служить ML Модель означает использование машины Модельно незрячие изданные точки для прогнозирования. Это также называется рассуждением. В настоящее время существующую Модель Служить можно разделить на два типа: существующая линия Служит. ьисуществовать линия Служить, чья серединасуществовать линия Служить нуждается сущ есть Моделиданные Делайте прогнозы, когда точки совпадают (существоватьздесь Мы не можем позволить себе задержек) , в автономном режиме Служить сначала необходимо собрать пакет данных точек, а затем применить Модель запуска пакета для получения прогнозов. пожалуйста, обрати внимание,существуют Нет.,Мы можем выбрать некоторую задержку.
Обратите внимание, что есть и некоторые инженерные аспекты, непосредственно связанные с производством. ML Связано с системой. Обсуждение этого содержания выходит за рамки этой книги, но да. GCP Команда рекомендует вам просматривать курсы онлайн.
Давайте попробуем использовать картинку ниже. Подведем итоги и разберемся в предыдущем обсуждении:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-MzTZHWke-1681705163545)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/95a14b78-836f-49f9-9709-4c20f0a2152e.png)]
Эта картинка описывает AI задняя требования, а также различные параметры, которые могут повлиять на ваш выбор решения. В нашем следующем разделе «Волясуществоватьсередина» обсуждаются все доступные аспекты и варианты Долженасередина.
поэтому,нассуществовать Производствосерединаиз DL выполнитьсерединав целом Можетпопытаться найтиприезжать四种主хотетьтипизрешение:
Давайте изучим каждый из них подробно.
У нас есть Модель, Должен Модель Зависит отзадняя часть из отдельного скрипта тренироваться, затем сохранить для Модели, затем развернуть для базы В API из Служить. В настоящее время мы существуем и ищем решение, которое дает результаты по требованию, но тренируется в автономном режиме (не существует, отвечая на запросы клиентов из этой части кода за пределами области выполнения). Web API Ответьте на один запрос и получите один результат за раз.
Покадля,Этосуществовать Производствосерединаразвертывать DL Самый распространенный метод, поскольку он позволяет ученым проводить точные итренировки в автономном режиме и использовать короткие сценарии развертывания для создания API。 существующая книга середина, мы в основном проводили такого рода развертывания.
проходитьзадняя часть содержит прогноз по требованию из другой формы даонлайн-обучения. Но да, существует этот метод середина, научиться выполнять Служить во время выполнения скрипта, поэтому Должен Модель продолжает меняться с каждым связанным запросом. хотя этот подход является динамичным и с меньшей вероятностью устареет, но, как правило, он не так хорош, как статический. Web API точный. онлайн-обучение также выдает по одному результату за раз.
существовать本главасередина,Мы продемонстрировали пример онлайн-обучения. существуют следующиеизпартсередина,нас Можетниже载有助Инструмент онлайн-обучения.
существоватьэтот种методсередина,Многие прогнозы делаются одновременно и сохраняются в памяти Ссуществоватьлужить,随час Можетсуществоватьиспользоватьсемья需хотетьчасизвлекатьииспользовать。 Но да, сделайте метод статического тренирования, этот метод позволяет тренировать модель в автономном режиме, поэтому похоже на: Web API, детренироваться обеспечивает более высокую точность.
Другими словами, пакетное прогнозирование Можетпониматьдля Web API из Пакетная версия. Но да, API Эти прогнозы не представлены. Напротив,Предскажите даотданные Библиотекасередина магазин и получитеиз.
делать прогнозытолько если Воля DL Введен в производство часть всего процесса. Ученые по данным также отвечают за очистку и организацию данных, создание конвейеров, а также за оптимизацию. Auto ML да Метод, который устраняет необходимость выполнения таких повторяющихся задач.
Auto ML да Что-то вроде Пакетное Метод прогнозирования без ручного вмешательства. Таким образом, конвейер данныхпрохождения доставлен, а прогнозы регулярно обновляются. Следовательно, этот метод более эффективен, чем Пакетное. Метод прогнозирования предоставляет более свежие прогнозы.
Теперь давайте обсудим некоторые инструменты, которые могут быстро восстановить. Мы вводим определенные методы.
существуют В этом разделе середина, мы с Воля обсуждаем некоторые слова с ВВоля ML Запущен в производство серединапопулярныйинструмент. Эти инструменты предоставляют основные инструменты для автоматизации процесса обучения, прогнозирования и обратной связи и помогают контролировать качество работы. Хотя это вполне возможно создать самостоятельно с помощью инструмента, но настоятельно рекомендуется соответствии с Требования к программному обеспечению. Используйте любой из следующих инструментов.
让насначинатьобсуждатьcreme
。
creme
creme
даодин Python Библиотека, позволяет нам эффективно осуществлять онлайн-обучение. существоватьпрактические исследованияcreme
До,Давайте вкратце обсудим само онлайн-обучение:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-mVcLeWWL-1681705163545)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/adfb193f-163c-4f21-9dae-af3df778d861.png)]
существоватьонлайн-обучениесередина,машинное Обучение Модель обучает только один экземпляр за раз для тренироваться, а не требует обязательного набора данных для тренироваться (это также называется пакетным обучением). Для того, чтобы ценить онлайн-обучениеизиспользовать, важно понимать недостатки пакетного обучения:
Именно здесь нам и нужно использовать онлайн-обучение, и мы можем сделать следующее:
онлайн-обучение имеет несколько других названий,Даэто们Всеиметь Взаимно同изделатьиспользовать:
как упоминалось ранее,creme
даиспользовать Восуществлятьонлайн-обучениеиз Python библиотека. бронироватьсуществовать ML Ящик для инструментов серединада очень полезная вещь, особенно дасуществовать производственную ручку. средачас。 creme
к scikit-learn(Это Python середина非常поток ХОРОШОиз ML Вдохновленный Библиотека)из, Виспользовать очень легко. хотеть全面Понятно解creme
,建议тысуществоватьэта страницаначальство查смотретьcreme
изчиновник GitHub Библиотека хранения.
Хватит говорить!,первый Установитьcreme
。 Это можно сделать с помощью следующей команды:
pip install creme
хотетьполучатьcreme
из最новый版本,Вы можете использовать следующие команды:
pip install git+https://github.com/creme-ml/creme
# Or through SSH:
pip install git+ssh://git@github.com/creme-ml/creme.git
Этот выполняет следующий шаг, давайте посмотрим на простой пример:
creme
модульруководить Некоторый必хотетьизимпортировать:from creme import compose
from creme import datasets
from creme import feature_extraction
from creme import metrics
from creme import model_selection
from creme import preprocessing
from creme import stats
from creme import neighbors
import datetime as dt
пожалуйста, обрати внимание,creme
из命имя约定иsklearn
Библиотекаиз命имя约定Взаимно似,Чтобы облегчить миграцию.
creme
модуль本身Предоставить изданныенаборизвлекатьприезжатьданныепеременнаясередина:data = datasets.Bikes()
Мы, Воля, обрабатываем эту коллекцию данных, которая содержит информацию о совместном использовании велосипедов.
хотяданныенабор Включатьсуществоватьcreme
Библиотекасередина,ноты можешьсуществоватьэта страницаначальство Понятно解связанныйэтотданныенабориз Подробнее.
creme
Создание конвейера,Как показано ниже:model = compose.Select("humidity", "pressure", "temperature")
model += feature_extraction.TargetAgg(by="station", how=stats.Mean())
model |= preprocessing.StandardScaler()
model |= neighbors.KNeighborsRegressor()
Уведомлениеиспользовать|=
и+=
оператор。 creme
делатьиспользоватьэтот些операторстановитьсядля Может能,Это Создание верных данных о конвейере очень интуитивно понятно. Следуя команде, мы можем получить подробное представление фронта существования из блока кода середина, построенного из конвейера:
model
начальствоодин条Заказиз输вне Как показано ниже:
Pipeline([('TransformerUnion', TransformerUnion (
Select (
humidity
pressure
temperature
),
TargetAgg (
by=['station']
how=Mean ()
target_name="target"
)
)), ('StandardScaler', StandardScaler (
with_mean=True
with_std=True
)), ('KNeighborsRegressor', KNeighborsRegressor([]))])
Мы также можем визуально увидеть конвейер приезжать Должен с помощью следующей команды:
model.draw()
Эта Воля выдаёт следующий график:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-kSLTgYBD-1681705163545)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/385f0fc6-4b0a-46d6-8414-c73c8c3a4c38.png)]
model_selection.progressive_val_score(
X_y=data,
model=model,
metric=metrics.RMSE(),
moment='moment',
delay=dt.timedelta(minutes=1),
print_every=30_000
)
поэтому,creme
в силу ясностиизграмматикаи Функция отладки,Может非常轻松地существовать Производствосерединасоздавать Пакетное прогнозированиеионлайн-обучениеразвертывать。
Сейчас мы с Воля обсуждаем еще один популярный инструмент – Airflow.
Быть «для» — допустимое имя ML Практик, вам Воля необходимо программно обрабатывать такой рабочий процесс, как предыдущий, а также уметь его автоматизировать. Airflow Вы предоставляете платформу для эффективного выполнения этой задачи. эта ссылкада Отрывок из Airflow сайт изчиновника. Airflow да Платформа для планирования и мониторинга рабочих процессов, написанная программно на языке В.
Основные преимущества этого,ориентированный ациклический граф(DAG)начальство表示из任务Может轻松地分布существовать Можетиспользовать资源(Обычно называетсядля工делатьустройство)начальство。 Это также упрощает визуализацию всего рабочего процесса, что очень полезно, особенно если рабочий процесс очень сложен. Если вам нужно освежить знания DAG,пожалуйстадоступэта страницасерединаиз文глава。 Когда эта воля становится яснее, если вы быстро посмотрите на приезжать в эту выборку.
существуют При проектировании рабочих процессов машинного обучения,Есть много разных вещей, которые вам нужно учитывать,Например:
Теперь давайте продолжим следующие строки для установки Airflow:
pip install apache-airflow
хотя Airflow дабаза В Python из,Да Абсолютноверно Можетиспользовать Airflow Для определения различных задач используйте разные языки рабочего процесса.
После завершения установки вы можете вызвать Airflow из админ-панели и просмотреть ее из DAG список,И действительно, он управляет и запускает множество других полезных функций.,Как показано ниже:
airflow initdb
SQLite3
данные Библиотека Создано Понятно许多表。 В случае успеха вы сможете начать с помощью следующей команды Web Служитьустройство:airflow webserver
существовать Браузерсередина Открытьhttp://localhost:8080
。 Вы увидите экран прибытия, как показано на следующем скриншоте:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-LmL9Frqg-1681705163546)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/5f932f02-915b-4c68-84fc-1b54864cb4fe.png)]
Предлагается множество примеров DAG. Вы можете попробовать запустить их для короткого воспроизведения!
Теперь давайте обсудим очень популярный инструмент под названием AutoML.
DL или AI Решения не ограничиваются Всуществовать Jupyter Ноутбук середина, построенный промышленным приложениемсерединаиз ультрасовременной точной модели. форма AI Решение требует нескольких шагов: сначала нужно собрать исходные данные, воляданные конвертировать для доступности в формате модели прогноза, создателя. Вать прогноз, строить на основе приложения Модель, а также выпускать середину монитора и обновлять Модель. AutoML Цель состоит в том, чтобы автоматизировать этот процесс путем существования автоматизированных задач перед развертыванием. Обычно AutoML В основном даданная оркестровка и байесовская оптимизация гиперпараметров. AutoML иногда Только означает полностью автоматизированныйизканалы обучения。
H2O.ai
提供Понятноодин Можетиспользовать В AutoML из著имя Библиотека,сказатьдляH2O.AutoML
。 Чтобы установить его, мы можем установить его с помощью следующей команды:
# Using Conda installer
conda install -c h2oai h2o
# Using PIP installer
pip install -f http://h2o-release.s3.amazonaws.com/h2o/latest_stable_Py.html h2o
H2O.AutoML
изграмматикаи Что他поток ХОРОШОиз ML Библиотеки похожи, поэтому их очень легко понять.
сейчассуществовать,Мы, Воля, углубимся в создание примера создания приложения.,Долженприложениесуществоватьзадняя частьиспользоватьонлайн-обучение。 Наша база Воля В Cleveland Набор данных создан может прогнозировать сердечно-сосудистые заболевания. Затем мы Воля Воля эту Модель развернём приезжать базу в облачный контейнер и з Служить Heroku。 наконец,нас Воля Демо Долженприложениеизонлайн-обучение Функция。
ты можешьпроходитьздесьПриходитьпопытаться найтиприезжатьсвязанный Heroku из Подробнее.
Давайте перечислим наши изшаги, связанные с Волей:
Мы Воляот Нет.нольшагначинать; Также Сразуда сказал, соблюдайте набор данных.
UCI Набор данных по сердечно-сосудистым заболеваниям содержит 303 образцы, каждый образец имеет 76 атрибуты. Но да, большая часть исследовательской работы по набору данных является серединасуществовать. 13 атрибутыиз Кливлендданныенабориз简化版本начальство,Как показано ниже:
наконецвстреча有один列,Этонас Воляхотеть预测из Цель。 Эта Воля позволяет классифицировать прежние проблемы у существующих нормальных пациентов и между пострадавшими пациентами.
ты можешьсуществоватьэта страницаначальство Понятно解связанный Кливлендданныенабориз Подробнее.
Теперь давайте начнем строить модель обнаружения заболеваний сердца.
существовать Этот разделсередина,Мы Воляотиспользовать Keras начинает с создания простой нейронной сети.,Должен Воляот Данные из входных данных середина классифицируют вероятность того, что пациент страдает сердечно-сосудистыми заболеваниями.
Сначала импортируем необходимую из Библиотеку:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
np.random.seed(5)
насуже经импортировать Понятноpandas
иnumpy
модуль。 Наряду с этим, мы начинаем с scikit-learn Библиотекасерединаимпортировать Понятноtrain_test_split
метод,В помощь нам Воляданные наборы быстро разделили длятренироваться тестовый раздел.
Загрузим набор данных,假设этохранилищесуществоватьимядляdata
изпапкасередина,Долженпапкаи Включать Jupyter Каталог записной книжки находится на том же уровне каталога:
df = pd.read_csv("data/heart.csv")
нас ВолябыстрыйнаблюдатьDataFrame
к查смотретьданет所有列均уже正确импортировать:
df.head(5)
Этот серединный блокнот Jupyter "Волясуществовать" выдает следующий результат:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-MJiDLVQk-1681705163546)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/1f9f805b-e515-4714-9e23-d04c4b7fd49c.png)]
Мы можем наблюдать за этим 14 столбцы и проверьте, правильно ли они были импортированы. база本изисследовательский анализ данных(EDA)Воляпоказывать Долженданныенабор不Включатьлюбой缺失ценить。 Но да, оригинал из UCI Набор данных Кливленда действительно содержит нашу версию использования, и вместо отсутствующих значений версия Должен была предварительно обработана и легко доступна в этой форме в Интернете. Вы можете найти копию этой главы на GitHub.。
сейчассуществовать,Мы воляотданные наборы середина объединяем целевую переменную,Как показано ниже:
X = df.drop("target",axis=1)
y = df["target"]
Следующий,Наши возможности Воляверно масштабируются.
Как вы можете существовать на шагизданном установленном образце середина, наблюдаемом приездеиз,Значения столбца тренироваться серединаиз не находятся в том же или сопоставимом диапазоне, что и существующие. Мы выполняем масштабирование столбцов «Волясуществовать», чтобы они достигли равномерного распределения по диапазону.,Как показано ниже:
from sklearn.preprocessing import StandardScaler
X = StandardScaler().fit_transform(X)
Цельсуществовать0
к1
изв пределах досягаемости,поэтому不需хотеть缩放。
Затем,использоватьподизкод ХОРОШОРазделите набор данных на части обучения и тестирования.:
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.20,random_state=0)
20% коллекции мы выделили на тестовые проекты.
Следующий,наспроходить实пример化MLPClassifier
вернослонизновыйвернослон Приходитьсоздавать分добрыйустройство Модельиз实пример:
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(max_iter=200)
насуже Воля Максимальное количество итерацийнастраиватьдля200
。 Если конвергенция произойдет раньше, ее можно не достичь.
наконец,насруководитьтренироватьсяи Уведомлениенаблюдатьприезжатьизметодиз Точность:
for i in range(len(X_train)):
xt = X_train[i].reshape(1, -1)
yt = y_train.values[[i]]
clf = clf.partial_fit(xt, yt, classes=[0,1])
if i > 0 and i % 25 == 0 or i == len(X_train) - 1:
score = clf.score(X_test, y_test)
print("Iters ", i, ": ", score)
Вывод предыдущего блока кода в блокноте Jupyter выглядит следующим образом:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-KYIrNdl0-1681705163546)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/83f2a674-113d-4694-ba19-9ba8dc7cc57c.png)]
Мы можем посмотреть приезжать, существоватьверно изданные эпизоды серединаиз всех 241 После выполнения тренироваться на нескольких образцах ожидаемая точность достигает уровня приезжать. 83.60%。 Уведомление前面код块серединаизpartial_fit
метод。 Это Модельиз Метод, который позволяет Воля просто из выборки приезжать Модельсередина. 实际начальство,Даже常использоватьизfit
методдаpartial_fit
методиз Упаковкаустройство,Перебрать весьданныенаборисуществовать Каждыйитерациисерединатренироватьсяодинобразцы. этоданасиспользовать scikit-learn Библиотекаруководитьизпостепенное обучение Демо из Самое полезноеиз Часть №1.
для Чтобы быстро просмотреть Модель, предоставляющую выходные данные в формате, мы генерируем следующий блок кода:
# Positive Sample
clf.predict(X_test[30].reshape(-1, 1).T)
# Negative Sample
clf.predict(X_test[0].reshape(-1, 1).T)
Получите следующий вывод:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-Scr4dBMU-1681705163546)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/7af1eb56-d3b4-4e26-a4fc-804077759dcd.png)]
Уведомление,预测输внедля0
изобразец представления Долженлюди没有心脏病,и输внедля1
изобразец представления Долженлюдистрадает от Сердечные заболевания.
Теперь существуем, мы Воля начинаем Воля это Jupyter Преобразование ноутбука для может быть выполнено по требованию постепенно. обучениеиз Скрипт。 Но да, мы, Воля, сначала строим фронтенд Долженпроектиз, чтобы можно было отзаднюю часть Понять потребности.
Мы в «Волясуществоватьздесь» придерживаемся подхода «снизу вверх» и начинаем с разработки примера интерфейса приложения. этот样做только еслидля Понятнопониматьдля什么нассуществоватьзадняя часть сценария середина, некоторые методы написания серединаиз и методы предыдущих глав разные. Очевидно, что при разработке актуального приложения существуют, прежде всего, создательница часть Скрипт。
У нас Воля очень упрощенный фронтенд,Включает только одну кнопку вызоваприложения увеличения тренироваться и один заполнитель.,Используйте B, чтобы отобразить показатель точности тренироватьсяиз Моделиз для заданного количества образцов.
Давайте кратко рассмотрим, что мы строим:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-mwrmzohd-1681705163552)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/7e081a94-5c7d-4e85-a20a-e1576ec3cea9.png)]
Вы можете из нашей Воля захотеть собрать изприложениеиз. На скриншоте выше середина поясняется, что у нашей Воля есть две кнопки — одна. Волятренированные данные коллекция серединаизтренироваться образец серединаиз 25 образцы добавить приезжать частично тренироватьсяиз Модельсередина, еще один Волятренироваться сбросить для 0 образцы (т.е. 实际начальство,существоватьвыполнитьсерединаиспользовать 1 образцы, которых следует избегать от 0 Вызывает распространенные ошибки, но эта демонстрация малоэффективна.
让нас Создайтеимядляapp
из Flask Папка проекта. Затем,нассоздаватьtemplates
папкаисуществовать Чтосерединасоздаватьindex.html
。 существоватьapp
папкасерединасоздавать另одинимядляapp.py
издокумент。 Мы Волясуществовать эту папку серединасоздавать больше файлов для существования Heroku Развертывание включено.
нас不встреча编写index.html
документизвеськод,Данас Волясмотретьсмотретьпроходить Ajax Триггерный вызовзадняя часть API из двух функций.
ты можешьсуществоватьэта страницасерединапопытаться найтиприезжатьвесьизкод。
наблюдатьindex.html
серединаиз109
к116
ХОРОШО:
....
$("#train-btn").click(function() {
$.ajax({
type: "POST",
url: "/train_batch",
dataType: "json",
success: function(data) {
console.log(data);
....
фронт из JavaScript(jQuery)код片段существоватьиметьtrain-btn
ID изкнопка Создано Понятноclick
иметь дело сустройство。 этосуществоватьзадняя частьвызов/train_batch
API。 нас Волясуществоватьразвиватьзадняя частьчассоздаватьэтот API。
этотдокументсередина另один有趣изкод块да138
к145
ХОРОШО:
....
$("#reset-btn").click(function() {
$.ajax({
type: "POST",
url: "/reset",
dataType: "json",
success: function(data) {
console.log(data);
....
существоватьздесь,нассуществоватьиметьreset-btn
ID изкнопканачальствонастраивать Понятноclick
иметь дело сустройство,к К/reset
API Сделайте запрос. Этопостепенное обучениеиз Этот аспект легко забывается, он требует меньше тренироваться. также Сразудаобъяснять,это Волятренироватьсяназадиз Модельперезагрузитьдляеще неттренироватьсясостояние。
Теперь мы знаем, что нам нужна существующая часть для создания API. Давайте существовать, следующая часть середина их построит!
существовать Этот разделсередина,нас Волясоздаватьнеобходимыйиз API А также с помощью скрипта В Демонстрация из Служить. редактироватьпроект根папкасерединаизapp.py
документ:
from flask import Flask, request, jsonify, render_template
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier
np.random.seed(5)
пожалуйста, обрати внимание,этот处изимпортироватьинассуществовать Jupyter Блокнот серединасоздавать Модель очень похожа при импорте. Это Зависит от ВМы только Воля Jupyter Преобразование кода ноутбука в Взадняя часть Демонстрация из Служить объясняется тем, что это инструмент-скрипт.
DataFrame
начальство:df = pd.read_csv("data/heart.csv")
X = df.drop("target",axis=1)
y = df["target"]
X = StandardScaler().fit_transform(X)
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.20,random_state=0)
clf = MLPClassifier(max_iter=200)
for i in range(100):
xt = X_train[i].reshape(1, -1)
yt = y_train.values[[i]]
clf = clf.partial_fit(xt, yt, classes=[0,1])
if i > 0 and i % 25 == 0 or i == len(X_train) - 1:
score = clf.score(X_test, y_test)
print("Iters ", i, ": ", score)
Уведомление,существоватьфронт изкодсередина,нассуществоватьданныенаборсерединаиз100
образецначальствотренироваться Модель. этот Воляделать Модель Взаимнокогдаточный,Но очевидно, что есть куда расти,нас Воляиспользовать/train_batch
API Чтобы вызвать это улучшение, API Волядля Модельтренироватьсяувеличение 25 образцы.
Flask
Служитьустройствовернослон:score = clf.score(X_test, y_test)
app = Flask(__name__)
start_at = 100
/train_batch
API, как показано ниже:@app.route('/train_batch', methods=['GET', 'POST'])
def train_batch():
global start_at, clf, X_train, y_train, X_test, y_test, score
for i in range(start_at, min(start_at+25, len(X_train))):
xt = X_train[i].reshape(1, -1)
yt = y_train.values[[i]]
clf = clf.partial_fit(xt, yt, classes=[0,1])
score = clf.score(X_test, y_test)
start_at += 25
response = {'result': float(round(score, 5)), 'remaining': len(X_train) - start_at}
return jsonify(response)
train_batch()
функцияпроходить25
образецилиданныенабориз Что余образец Приходить增加верно Модельизизучать。 он возвращает набор данных 20% Тестовый сплит по моделиизкогда прежний результат. Еще раз отметим, что для 25 итерацииизpartial_fit
методизиспользовать法。
/reset
API,это Воля Модельперезагрузитьдляеще неттренироватьсясостояние:@app.route('/reset', methods=['GET', 'POST'])
def reset():
global start_at, clf, X_train, y_train, X_test, y_test, score
start_at = 0
del clf
clf = MLPClassifier(max_iter=200)
for i in range(start_at, start_at+1):
xt = X_train[i].reshape(1, -1)
yt = y_train.values[[i]]
clf = clf.partial_fit(xt, yt, classes=[0,1])
score = clf.score(X_test, y_test)
start_at += 1
response = {'result': float(round(score, 5)), 'remaining': len(X_train) - start_at}
return jsonify(response)
Должен API Вернитесь снова к счету после сброса из Модель. Если предположить, что наборы данных существуют, категория серединада сбалансирована, этого следует ожидать от Должендаиз (очень плохо).
@app.route('/')
def index():
global score, X_train
rem = (len(X_train) - start_at) > 0
return render_template("index.html", score=round(score, 5), remain = rem)
if __name__ == '__main__':
app.run()
app
Оглавлениесерединавходитьниже Заказ:python app.py
Служитьустройствобегатьназад,ты можешьсуществоватьhttp://localhost:5000
начальство查смотретьприложение.
наконец,нас Разверните проект в Heroku。
В этом разделе середина мы, Воля, рассмотрим, как Воля демонстрирует применение приложения к месту проживания. Heroku。 существоватьнижешагсередина,нас Волясуществовать Heroku начальство Создайтесчет,И Воля требует из модификаций добавить код проживания середина,от И сделать его приемлемым на существующей платформе хостинга:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-9u0KIEMS-1681705163553)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/ec63d54a-25e8-40aa-bd4c-c8b071847486.png)]
Procfile
документ。 существоватьэтотшагсередина,нассуществоватьapp
Оглавлениесередина СоздайтеимядляProcfile
из空白документ。 После завершения создания мы добавляем в него следующие строки:web: gunicorn app:app
Должендокументсуществовать Разверните проект в Heroku изпроцесссерединаиспользовать。 Предыдущая строка указывает Heroku системаиспользоватьgunicorn
Служитьустройствоибегатьимядляapp.py
издокумент。
requirements.txt
документ Приходить自动скачатьи Установитьпроектнеобходимыйиз Сумка。 Чтобы создать требуемый список, введите следующую команду в существующем терминале серединаиспользовать:pip freeze > requirements.txt
этот Волясуществоватьпроектиз根папкасерединаимядляrequirements.txt
издокументсерединасоздавать Сумкасписок。
Возможно, вы захотите сохранить некоторые пакеты,делать Что不Включатьсуществоватьrequirements.txt
документсередина. иметь дело сэтотдобрыйпроектизодин好методдаиспользоватьвиртуальная среда,Чтобы среда середина предоставляла только необходимые пакеты,поэтомуrequirements.txt
только Включатьэто们。 Однако такое решение не всегда может быть осуществимо. существоватьэтот种случай,пожалуйста随час手动редактироватьrequirements.txt
иудалить Включатьипроектне имеющий отношенияиз Сумкаиз ХОРОШО.
Долженпроектиз Оглавление结构когда前отвечать Как показано ниже:
app/
---- templates/
-------- index.html
---- Procfile
---- requirements.txt
---- app.py
git
。 дляэтот,пожалуйстасуществоватьпроектиз根Оглавлениесерединаиспользоватьниже Заказ:git init
heroku create
Должен команда Воляпроходить показать Воля ведет ваш изпроектиз URL Заканчивать. 随之показывать.git
URL,Должен URL Отслеживайте релизы проектов с В. ты можешьотэтот.git
URL Push/Pull, чтобы внести изменения в проект и инициировать его повторное развертывание. Выход Воля Похоже на: Следующее:
https://yyyyyy-xxxxxx-ddddd.herokuapp.com/ | https://git.heroku.com/yyyyyy-xxxxxx-ddddd.git
git
и推送приезжать Heroku。 Теперь вы можете воля подать файл push приехать Heroku git
проектруководитьразвертывать。 Мы используем следующие команды:git add .
git commit -m "some commit message"
git push heroku master
Это волясоздывать развертывание, вы видите, Воля приезжает очень долго из выходного потока. изEvent из журналов, возникающих во время потокового развертывания дапроектов, в том числе при установке пакетов, определении проекта и запуске сценариев прослушивания. После получения сообщения об успешном развертывании, вы Воля можете существовать на шаге серединаиз. Heroku Предоставить из URL Посмотреть вас на изприложении. Если вы его не помните, вы можете запустить его с помощью следующей команды в браузере терминала существования середина Открыть:
heroku open
Теперь существует, вам следует Долженсуществовать браузер по умолчанию середина, чтобы увидеть приезжать с развернутым кодом в новом окне или вкладке Открыть. Если возникнет какая-либо проблема, вы можете Воля существовать. Heroku Панель управлениясерединасмотретьприезжатьразвертывать日志,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-9Bss8Uwt-1681705163553)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/11361907-2e81-41e5-ab97-90f7bd2cf2cf.png)]
Этосуществовать В этой главе представлены реальные снимки экрана неудачной сборки кода. Вы сможете найти ошибку в конце журнала.
Если сборка развернута успешно, вы увидите сообщение об успешном развертывании в конце журнала «Волясуществовать».
В этом разделе середина мы, Воля, обсуждаем возможную интеграцию приезжать производства серединаиз DL Решения серединаиз мер безопасности, технологий мониторинга и оптимизации производительности. Эти функции для зависимостей обслуживания AI задняя Частичные решения имеют решающее значение. Хотя наше предыдущее существование из главы середина обсуждалось DL Продвигается из методов безопасности, но наше обсуждение Воля может быть верным AI задняя часть представляет угрозу безопасности.
верно AI задняя часть Одна из самых больших угроз безопасности исходит от изданного шума. существовать Производствосерединаиспользовать AI из大多数методсередина,Регулярный осмотртренироватьсяданныенаборсерединаданет有новыйтипиз噪声非常重хотеть。
для Все лайки Python pickle
Библиотекаизразвиватьлюди员Приходитьобъяснять,Очень важная информация:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-0q4j0vFz-1681705163553)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/c8e91eed-3467-461c-8b35-17eaee574e35.png)]
начальство面из屏幕截картина Приходить自чиновник Python документ 。
для демонстрирует простой пример,Описаниедля Что существует ПРОИЗВОДСТВО середина Проведение травления может быть опасным,Рассмотрим следующий код Python:
data = """cos
system
(S'rm -ri ~'
tR.
"""
pickle.loads(data)
фронт изкод所做изочень просто-это试картина清除тыиз主Оглавление。
ВНИМАНИЕ: Любой, кто использует приведенный выше код, несет полную ответственность за результаты своей работы.
фронт из示примери Взаимно关警告暗示Понятно AI задняя часть почти каждой автоматизированной системы серединаиз общих угроз безопасности – ненадежный ввод из опасностей. поэтому,Важная информация для правильной проверки существования возможного ввода моделисередина из любых данных (независимо от того, существует ли тренироваться также для проверки середина),кубеждаться不Уилл верносистема造становитьсялюбой严重вопрос。
Также важно осуществлять постоянный контроль за правильностью производства серединаиз Модель. Модель часто устаревает и рискует через некоторое время дать устаревшие прогнозы. Важная информация для проверки AI Модель делает прогнозы на основе корреляции. Рассмотрим человека, который знает только CD-ROM «Флоппи» из люди. Время идет, мы думаем приехать USB накопитель и твердотельный диск. Этот человек Воля не способен принять какое-либо мудрое решение с новейшим оборудованием. Аналогично, из 2000 Год代первый разначинать Иголкавернотекстизменять储тренироватьсяизобработка естественного языка(NLP)Модель Воля无法понимать有люди问Can you please WhatsApp me the wiki link for Avengers: Endgame?
изверноразговаривать。
наконец,тынравиться何才能верно AI задняя часть оптимизации производительности?
Web Разработчиков больше всего волнует этот вопрос. Все должно быть произведено молниеносно. Ускорить производствосередина AI Модель скорости из Некоторые советы заключаются в следующем:
существовать本главасередина,мы представили Можетиспользовать Всуществовать Производствосерединаразвертывать DL Модельизметод。 Здесь мы подробно рассмотрели различные методы и некоторые известные инструменты, которые помогают упростить управление производственными развертываниями. мы представилииспользовать Flask иsklearn
Библиотекаруководитьонлайн-обучениеиз示пример。 Мы также обсуждаем условия после развертывания и примеры некоторых наиболее распространенных задач.
существуют Следующая глава середина, мы Воляиспользовать интегрировать приезжать веб-сайт серединаиз Dialogflow Демо-терминал приезжать пример терминала приложение (Чат поддержки клиентов робот).
существовать本главасередина,Мы, Воля, суммировали несколько инструментов и методов, которые существующая середина узнала в первых нескольких главах этой книги.,и介绍Некоторыйвне色изновыйинструментитехнология。 В этой главе рассматривается очень важный аспект вашего бизнеса — поддержка клиентов. Для нового бизнеса, поддержка клиентов постоянно исчерпана, и за ней трудно успевать. в целом,проходитьссылкадокументиликомпаниясуществовать Чтовеб-сайтначальство Предоставить изодин组常见вопрос解答,Легко отвечает на вопросы клиентов,Да客семьяв целом不встреча仔细阅读это们。 Поэтому лучше иметь уровень автоматизации, середина которого наиболее распространена среди запросов Воля Зависит. от чатробота, чтобы ответить, Должен чатроботсуществовать день середина всегда доступна и отзывчива.
В этой главе обсуждается, как использовать Dialogflow создать Chatrobot для решения общих вопросов поддержки клиентов и способов его интеграции с базой данных для воля. Django извеб-сайтсередина. Кроме того, чат-робот также Воляот Воля в одиночкухостингиз Django API середина Получите ответ. нас Воляисследоватьвыполнитьроботличностьизметод,и介绍Что-то вродевыполнитьтекстприезжатьголос(TTS)иголосприжать текст(STT)изиспользоватьсемьяинтерфейс。проходить Web голос API, интерфейс Воля нейронной сети напрямую разворачивает прибытие пользователя из браузера.
Наша Волясуществовать В этой главе рассматриваются следующие темы:
Мы, Воляот середина, учимся приезжатьиз знаний середина из предыдущих глав и существуем, опираясь на них, изменяя при этом некоторые концепции и существуя. Этот процесс середина вводит новые концепции. 让насотпониматьобработка естественного языка(NLP)начинать。
ты можешьсуществоватьэта страницаначальстводоступ本главаизкод。
Для чтения этой главы вам понадобится следующее программное обеспечение:
В этой главе Воля описаны все остальные установки.
NLP дамашинное обучениеиглубокое обучениеприложениесередина — самая популярная и одновременно одна из самых интересных областей. Она относится к ряду технологий и методов, разработанных для понимания и создания человеческого языка. NLP Цель из состоит в том, чтобы понять значение текста на человеческом языке и расширить возможности создания человеческого языка, чтобы генерировать осмысленные предложения и правильно читать Должен текст, значимый для людей. NLP Уже основной целью существующей строительной системы середина стало проживание, система Должен способна напрямую от людей в форме естественного языка получать инструкции и запросы, такие как чат-робот. Но да, чатробот тоже должен отвечать на естественном языке. NLP еще один аспект.
Давайте рассмотрим некоторые из NLP Взаимно关из常использовать术语。
существоватьизучать NLP час,ты经常встречасталкиватьсяприезжатькорпус。 С точки зрения непрофессионала, это корпус любого автора или литературного жанра из собрания произведений. существовать NLP Словарное определение слова «исследование середина, вернокорпусиз» было сделано с некоторыми изменениями и может представлять собой набор письменных текстов, документированных так, что любой выбор изметрического воля может быть классифицирован. этот些指标Может能даделать ВОЗ,издатель,тип,写делатьтип,Временной диапазон и другие характеристики, связанные с письменным текстом.
Например,Коллекция Шекспира или Любой форум по верной любой теме из темы можно просмотреть длякорпуса.
когдаус воля разбить предложение на составные слова,И верно Должен предложение серединакаждый слово верно предложение общий смысл вклада при проведении качественного анализа,насосуществлять确定часть Речьиз Действия. поэтому,часть Основа речи В предложениях середина слов Верно смысл предложений вносит вклад и снабжает их символами.
существовать Английскийсередина,насв целом有八种типизчасть речи-глагол,существительное,местоимение,прилагательное,наречие,предлог,Соединительное слово и междометие.
Например,существоватьпредложениеRam is reading a book.
середина,Ram
дасуществительноеипредмет,reading
дасловои动делать,иbook
дасуществительноеиобъект。
ты можешьсуществоватьэта страницаначальство阅读связанныйчасть речьиз Подробнее. ты можешь尝试существоватьэта страницаначальствопопытаться найтивне Собственныйпредложениеизчасть речи。
причастиеда Разложение документа Воля на предложения и разложение предложений Воля на слова из процесса. этот很重хотеть,Потому что, если какая-либо компьютерная программа попытается обработать весь документ как одну строку,,Этот расчет Воляды — кошмар.,Потому что дляи обработка строк ресурсоемка.
также,Очень редкое изда,Чтобы понять весь смысл документа, нужно прочитать все предложения сразу. в целом,Предложения каждый имеют свои собственные независимые значения.,Может применить статистический метод Воля, его идокументсерединаиз усвоения других предложений.,Определить общий смысл и содержание любого документа.
такой же,Нам часто нужно, чтобы предложения Воля разбивались на слова.,лучше обрабатывать предложения,Чтобы вы могли суммировать предложение по смыслу и из его серединакаждые слова перечисляются индивидуально из словаря середина экспорта.
существовать NLP середина,Стемминг и лемматизация тесно связана с термином из, но имеет тонкие, но существенные различия. Оба метода определяют корень, из которого происходит любое данное слово, так что любое производное слово может быть сопоставлено с корнем серединаиз словаря.
Стемминг – это базовый процесс, основанный на правилах.,существовать Долженпроцесссередина,Слова будут обрезаны,Иногда добавляется модификатор, указывающий на корень из. Но да,Стемминг иногда может создавать человеческий словарь, середина существующих основ, которых не существует.,поэтомувернолюдидобрый读ВОЗ毫无意义。
Лемматизация преобразования слов да Воля для словаря середина дает процесс из формы слова или корня из. Таким образом, исходное значение слова из можно получить из человеческого словаря середина, что упрощает лемматизацию текста, чем выведение из текста Виспользовать. Кроме того, лемматизация существования определяет его правильность из части речь рассматривалась перед словом «существовать» в любом предложении серединаизчасть речи, алгоритм стемминга игнорирует Долженчасть речи。 Сделать лемматизацию более контекстно-зависимой, чем стемминг.
Компьютер не может напрямую обрабатывать ииспользовать текст. Поэтому существуют Волявсе ввод текста машинное Модель обучения должна быть Воля, прежде чем конвертировать ее в числа. Воля текста изменяется для числового массива в процессе, так что вы можете сохранить любой момент времени после преобразования текста середина для извлечения наиболее важного из исходного текста, который называется для извлечения или кодирования признаков. мешок слов(BoW)да Что-то вродепоток ХОРОШОиз简单технология,Выполните извлечение объектов с помощью текста «Вверно».
и BoW выполнить Взаимно关изшагнравиться下:
Например,Рассмотрим следующие три документа:
Ram is a boy.
Ram is a good boy.
Ram is not a girl.
этот些документсерединажитьсуществоватьиз唯один词Можетсуществоватьвекторсередина列внедля["Ram","is","a","boy","good","not","girl"]
。
Следовательно, каждое предложение можно преобразовать следующим образом:
[1, 1, 1, 1, 0, 0, 0]
[1, 1, 1, 1, 1, 0, 0]
[1, 1, 1, 0, 0, 1, 1]
ты Волянаблюдатьприезжать BoW Информация о том, где слово каждый существует в предложении серединаиз или его верное предложение имеет значение из, часто теряется. Следовательно, Бо В да Очень простой метод извлечения признаков, который может оказаться неприменимым, требует понимания контекста из нескольких приложений.
Сходствода любые два данного предложения из Сходствоиз меры. этосуществовать计算机科学领доменк及维护记录изгде угоднода非常поток ХОРОШОиз操делать,Найдите правильный документ с буквой В.,существоватьлюбойдокументсередина搜索слово,Сертификация и др. Приложение.
Существует два способа расчета расстояния между двумя заданными документами. Jaccard Одна из самых основных форм индекса да, это в соответствии Сходство между двумя документсерединами рассчитывается как процент от общего количества уникальных токенов документсередина.
Косинус Сходство Еще один очень популярный индекс из Сходства, применятьиспользовать BoW. или Любой другой метод извлечения признаков. Воля преобразует два вектора документа в векторы, а затем рассчитывает формат косинуса.
принимая во внимание Эти понятия, давайте продолжим изучать чатробот, Это NLP Самая популярная форма изприложения №1.
Чат робота NLP Часть приложения, посвященная интерфейсу разговора. Эти интерфейсы также могут расширять свою работу для обработки основных команд и действий, в таких случаях их называют виртуальными помощниками. В последнее время с появлением специализированных устройств, таких как Google из Google Home и Alexa) запущен, и виртуальный помощник находится на подъеме.
Чат-робот может существовать во многих формах. Им не обязательно выступать только в качестве виртуальных помощников. Вы можете играть в игру «существование» серединаи чат «робот слова», попробовать «существовать» в определенном направлении или некоторые компании используют «существовать» в социальных сетях, например Twitter или Отвечайте своим клиентам на Facebook из социального чата для взаимодействия. чатробот МожетсмотретьделатьдасуществоватьИнтерактивный голосовой ответ(IVR)системаначальство移动изсистема,У них повышенный интеллект и способность реагировать на неизвестные входные данные.,Иногда используйте только резервный ответ,иногда甚к利использовать Предоставить извходитьруководитькольцоотвечать。
На веб-сайте также могут быть размещены виртуальные помощники, которые будут предоставлять рекомендации и помощь посетителям. Такие помощники часто встречаются на существующих веб-сайтах и обеспечивают мгновенную поддержку по основным потребительским запросам. Вы, должно быть, заметили, что приехать на продажу или обслужить сайт из окна чата «Задать вопрос» или «Помочь вам», обычно существует в правом нижнем углу экрана. Они часто используют автоматический чат-робот вместо реальных людей для ответа на вопросы. Только существующий запрос был слишком сложным, чтобы его можно было зависить от автоматизированного чата поддержки клиентов робот отвечает из обращений, запросы будут передаваться только приезжающим реальным людям.
создаватьверноразговаривать式 UI Это искусство само по себе. Вы должны уметь говорить четко, но очень естественно, используя слова. ты можешьпроходитьздесьПонятно解связанныйсоздаватьверноразговаривать式использоватьсемьяинтерфейсиз Подробнее.
существовать下одинчастьсередина,Мы Воля Создаемзаряжатькогдаподдержка клиентовагентизчатробот。
Dialogflow да очень популярен в чате с Всоздаватьроботизизинструмент. Похоже на: Wit.ai,Botpress,Microsoft Bot Framework и некоторые другие доступные Всоздавать Chatrobotiz Instant Deployment Служить, Dialogflow Также имеет Google Cloud Platform(GCP),и Может Воля Dialogflow агентиспользоватьделать Google Помощник по работе, Должен Помощник может существовать миллиарды Android Запустите ХОРОШО локально на устройстве.
Dialogflow ранее известный как для Api.ai。 существоватьодеяло Google После приобретения он был переименован, и с тех пор его популярность и масштабируемость выросли. Платформу Должен можно очень легко интегрировать с несколькими платформами, такими как Facebook Messenger,Telegram,Slack,Line,Viber и Несколько других крупных коммуникационных платформ.
Наша глава «Волясуществовать середина разработки и зпроект Воля» соответствует следующей архитектурной схеме:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-RZsz9CcP-1681705163554)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/a41d094b-e97b-407c-917d-75e3604a9f83.png)]
Наше изображение «Воляиспользовать» выше середина не упоминается в нескольких Библиотекаи Служить. Мы Волясуществоватьпроект середина знакомим их и обсуждаем, потому что действительно нам о них интересно узнать.
хотетьначинатьиспользовать Dialogflow,тыотвечать Должендоступофициальный сайт,Перейти на домашнюю страницу,Должен页面показывать Понятнопродуктинформацияидокумент Связь。 Исследование любого продукта, который вы хотите изучить, всегда является хорошей идеей, поскольку он содержит все рабочие функции программного обеспечения. Мы волясуществовать эту главу из последующих частей середина ссылаемся на часть документа серединаиз.
ты можешьсуществоватьэта страницаначальствопопытаться найтиприезжать Dialogflow документ。
Dialogflow и GCP Тесно интегрированы, поэтому сначала необходимо разработать Google счет. дляэтот,пожалуйстаизменятьприезжатьздесьСоздайтесчет. Если вы да Нет однажды использовать. Dialogflow используйте свою учетную запись, вам может понадобиться Google Учетные записи предоставляют множество разрешений.
Давайте продолжим исследовать и понимать Dialogflow Процесс создания учетной записи также UI Различные детали ишаг.
ты需хотетьщелкнутьПравый верхний угол страницыиз“изменятьприезжатьконсоль”кнопка。 или ВОЗ,ты можешьсуществовать Браузерсерединавходитьhttps://dialogflow.cloud.google.com/
。 Если вы ищете впервые, вы увидите следующий экран:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-WikWIvUM-1681705163554)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/3f63c63f-055e-418d-ab6b-1584c6ee3e17.png)]
Панель управления предложит вам создать нового агента.
сейчассуществовать,Мы Воля Создаем Dialogflow агент。 Сразу Dialogflow Что касается ника агента чатроботиз. этода接получать,иметь дело сикольцоприложениесемья Предоставить из所有входитьизагент。
Нажмите кнопку "создатьагент",Затемв соответствии с Ваши предпочтения заполните необходимую информацию об агенте, которая включает в себя имя агента, язык по умолчанию, часовой пояси. Google Название проекта.
Если вы не испытывали этого раньше GCP,тогда должен Создайтепроект. Мы уже существуем “Нет. 6 глава",“использовать Python существовать Google Cloud Platform начальствопроводить глубже обучение”середина,обсуждать Понятно GCP проектизсоздавать。 или вы можете просто позволить GCP существоватьсоздаватьагентчас自动дляты Создайтеновыйпроект.
становиться功создавать Dialogflow агентназад,Волядля Вы предоставляете личный кабинет,Как показано на следующем скриншоте:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-ofdjkz0i-1681705163554)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/9dc140c8-5a57-428c-8d95-fe121fb43532.png)]
существоватьлевая сторона,Вы можете просмотреть меню проживания,Чтосередина Включать构становитьсячатроботизразличные компоненты。 Меню «Должен Воля» очень полезно, и вам следует внимательно прочитать все его содержимое, чтобы убедиться, что вы понимаете, о каких пунктах меню мы говорим. когда мы используем Когда мы говорим в таких предложениях, как «щелкните объект», да означает, что мы хотим, чтобы вы щелкнули элемент «объект» в этом меню серединаиз.
Центральная часть меню Воля содержит различный контент, в зависимости от того, на какой компонент меню серединаиз нажимают. По умолчанию при открытии Dialogflow консоль, она содержит список намерений роботизации чата. Что?
Намерение пользователя хочет провести робота в чате что-нибудь, чтобы выполнить действие. Например,когдаиспользоватьсемьяобъяснятьBring me a cup of coffee
час,Они намеренно дали чатроботу «попить кофе»:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-ncU4DRNI-1681705163555)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/b455813e-a6a5-486d-af4d-83efcfcd4c80.png)]
существоватьсамый правый,Предусмотрена панель для тестирования робота чата в любое время. Вы можете написать любой текст, который хотите использовать для проверки ответа робота чата.,Вам будет показана серия сообщений, а чат-робот будет генерировать ответы.
Рассмотрим следующие тестовые входные данные и ответ:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-zPNM4EaQ-1681705163555)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/1c8a88f2-9d9a-4fbf-92cd-6ed636277b4e.png)]
когдаиспользоватьсемьявходитьWhat is my order status
час,Чатробот Воля Ответить,询问所с участием Заказиз Заказ ID。 этотиCheckOrderStatus
意картина匹配,и且需хотетьимядляOrderId
изпараметр。 Существует процесс разработки середина, мы Волясуществовать на протяжении всего проекта середина регулярно используем эту консоль для отладки чат-робота.
Хотясуществоватьранееиз屏幕截картинасередина,Мы показали вам предварительно настроенный агент с намерением,Датыновыйсоздаватьизагентв это время Воля没有любой自определение意картина。 Давайте создадим их!
сейчассуществовать,Давайте создадим два намерения. Намерение Волядля пользователя помочь,另Что-то вроде意картина Воляверноиспользоватьсемья Предоставить из Заказ ID из статуса проверяется.
HelpIntent
существоватьэтот子шагсередина,щелкнутьлевая сторона菜单середина“意картина”проектправая сторонаиз+
кнопка。 Вы, Воля, видите, приезжаете в пустую форму с намерением создать.
Вы можете иметь намерение создать форму середина, см. следующие названия:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-7ucm31cn-1681705163555)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/e229400a-7d81-4313-80b8-0ed1a34a5b3f.png)]
дляэтот,существовать[Intent Name]серединазаполнятьHelpIntent
。
Теперь существуют, следуйте следующему шагу, чтобы завершить это намерение создать.
шаг 4.1.1 – входитьHelpIntent
изтренироватьсяфраза
сейчассуществовать,Нам нужно определить возможное намерение вызова этого действия из фразы. для этого,Пожалуйста, нажмите на заголовок «Фразы тренироваться» и введите несколько примеров фраз тренироваться.,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-q9IYhjOn-1681705163555)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/7dfccd76-fb68-4aae-8911-22af5e77a48c.png)]
верно Обязательно нажмите «Сохранить», если собираетесь внести какие-либо изменения.
шаг 4.1.2 – добавить ответ
для ответил с этим намерением приложение бытовой запрос,Нам нужно определить возможные ответы. Нажмите на форму «Намерение создать» серединаиз заголовка «Ответ».,Затем добавьте образец ответа на запрос середина,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-KVkaT6u9-1681705163556)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/64a15276-092b-46b6-9c1e-7a2cf89d5d7b.png)]
Сохраните намерение. Как только сборка будет завершена, мы сразу сможем ввести подобное. на:Мы для этого пункта из Определения итренироваться фраза из ввода для проверки робота чата.
шаг 4.1.3 – намерение теста
让нас测试HelpIntent
。 существоватьправая сторона测试面板середина,входитьCan you help me?
。 агент выдает следующий ответ:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-MN4BV6y1-1681705163556)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/5addae4f-c070-4f96-83f6-b2e65a6bf5e9.png)]
пожалуйста, обрати вниманиеначальство述屏幕截картина底部из匹配意картина。 Зависит от ВHelpIntent
ужестановиться功匹配входить,тренироваться фраза середина не четко определена Должен ввод,поэтомунас Может得вне结论,Долженагент работает хорошо.
Для какого агента ответ на прием прошел важный ввод тренироваться? При тестировании агента на определенное намерение мы хотим убедиться, что фраза точно и близко соответствует и все высказывания соответствуют намерению. нравиться果этоиожидатьизглазиз没有紧密Взаимно关из Запрос,вам нужно предоставить больше итренироваться фраз,И проверьте агента из любых других пунктов изсерединада, если есть какие-либо конфликты, итренироваться.
Теперь существует намерение, которое сообщает пользователю, что может делать Должен чатробот — т. е. проверять статус заказа — теперь существующее создание действительно может проверять статус заказа исходя из намерения.
CheckOrderStatus
意картинаНажмите на кнопку «создать намерение».,Затем Воля意картинаизимясказатьвходитьдляCheckOrderStatus
。
шаг 4.2.1 – входитьCheckOrderStatus
意картинаизтренироватьсяфраза
для Здесь вводим следующую тренироваться фразу:
What is the status for order id 12345?
When will my product arrive?
What has happened to my order?
When will my order arrive?
What's my order status?
пожалуйста, обрати внимание,Нет фраза тренироваться и другие фразы разные.,Потому что для он содержит идентификатор заказа.
Нам нужно иметь возможность идентифицировать Волю для идентификатора заказа и использовать его для получения статуса заказа.
шаг 4.2.2 – от Введите середина, чтобы извлечь и сохранить свой заказ ID
существоватьCheckOrderStatus
глазизиз Нет.одинтренироватьсяфразасередина,двойной щелчок 12345 И появится меню, как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-fBPZAS4U-1681705163556)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/c98bee73-f7c7-4615-b3dc-d54da04384c7.png)]
выбирать@sys.number
,Затем ВоляпараметримясказатьвходитьдляOrderId
。 тыизтренироватьсяфраза Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-X1bR64oo-1681705163556)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/76dcff96-1ac6-4b4d-a3f9-465c3f178ff2.png)]
Даиногда,Сразу как и другие фразы изтренироваться,использоватьсемья不встречасуществоватьнет подсказкиизслучай提及Заказ ID。 Давайте добавим подсказку, а также способ найти заказы на проживание. ID Когда Воля его хранилище из метода.
шаг 4.2.3 – Сохраните параметры и подскажите, можно ли найти жилье
Прокрутите вниз заголовок «Действие и параметры» формы середина «Приехать». входитьOrderId
делатьдляпараметримясказатьиценить,Затемвыбиратьсередина需хотетьиз复выбирать框。 Следующий скриншот должен быть на:Скриншот вашего предыдущего экрана:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-wfhfQD7p-1681705163557)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/b57ad591-d3d9-41d2-927b-357920901174.png)]
существоватьOrderId
параметризправая сторона,щелкнуть“Определить подсказки”кдобавить вэтотпараметризнамекать。 示примернамекать Может能даSure, could you please let me know the Order ID? It looks like 12345!
。
Надеемся, что после появления этой подсказки будут существовать,Пользователь должен назвать идентификатор заказа,Затем Должен ID Воляи Должен намерение из Нет. Тренироваться по фразовому совпадению.
после этого,Нам нужно для этого объекта определить ответ.
шаг 4.2.4 – проходить履ХОРОШОCheckOrderStatus
намерение Открытькольцоотвечать
Помните, что это намерение требует от получить заказ ID середина Получить статус заказа. В этом случае константа из набора ответов Воля не может достичь пункта приезжать из. поэтому,нас Волясуществовать意картинасоздаватьформасерединаиспользовать“выполнить”заголовок。
Прокрутите вниз и для этого элемента включите метод проверки. Webhook。 сейчассуществовать,этотчастьотвечать Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-YiY2wD6v-1681705163557)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/9c9f4952-6bd9-4355-82d6-947bb003c29a.png)]
Полностью заполнен, чтобы вы из Dialogflow агент может запросить внешний API для генерации Долженагента необходимо сделать из ответа. иагентReceive прибытияиз запроса, связанного с местом проживания, отправляется внешний адрес проживания API, API Затем поймите и решите необходимость дать запрос из ответа. Этот чат-робот для прохождения полезен для динамических ответов.
Теперь нам нужно определить этот веб-хук для обработки статуса заказа и использования идентификатора заказа.
сейчассуществовать,Наша Воля Создайте Webhook,Должен Webhook Волясуществовать Firebase Облачная консоль на трассе и вызове экстерьера API, API Наш портал управления заказами середина.
Нажмите на строку меню серединаиз «заполнить проект». Система предоставит вам Открыть Webhook илииспользовать Firebase Cloud Functions из варианта. Откройте встроенный редактор. Ваш экран Воля Похоже на:Скриншот ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-dWXBNhze-1681705163557)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/a462f840-72e8-4bd3-adda-859232692693.png)]
Наш пользовательский встроенный редактор «Воля» сохраняет существующие два файла.
Firebase Cloud Functions существовать Firebase платформаначальствобегать,и按тысуществоватьсоздавать Dialogflow Выбирайте во время агента или создавайтеиз GCP проектиз предусматривает расчет. ты можешьсуществоватьэта страницаначальство Понятно解связанный Cloud Functions из Подробнее.
package.json
существовать Внутри联редактироватьустройствоизpackage.json
документсередина,нас Воляrequest
иrequest-promise-native
Сумкадобавить вприезжать Зависимостисередина,Как показано ниже:
"dependencies": {
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"dialogflow-fulfillment": "^0.5.0",
"request": "*",
"request-promise-native": "*"
}
Эти пакеты получаются автоматически.,поэтомуты无需显式осуществлятьлюбой Заказ Приходить Установитьэто们。
index.js
добавить в逻辑Мы Воля добавляем систему управления вызовами API Требуется из кода. существоватьdialogflowFirebaseFulfillment
вернослонопределение Внутридобавить внижефункция:
function checkOrderStatus(){
const request = require('request-promise-native');
var orderId = agent.parameters.OrderId;
var url = "https://example.com/api/checkOrderStatus/"+orderId;
return request.get(url)
.then(jsonBody => {
var body = JSON.parse(jsonBody);
agent.add("Your order is: " + body.order[0].order_status);
return Promise.resolve(agent);
})
.catch(err => {
agent.add('Unable to get result');
return Promise.resolve(agent);
});
}
существоватьдокумент末尾,Сразусуществовать ЗаканчиватьdialogflowFirebaseFulfillment
вернослонопределение До,существоватьвызов webhook вызов для добавления прибытия к предыдущей функции создания карты перед генерацией ответа. Dialogflow агентсередина соответствует намерению.
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
intentMap.set('CheckOrderStatus', checkOrderStatus);
agent.handleRequest(intentMap);
Теперь нажмите «Развернуть», чтобы развернуть эту функцию. В правом нижнем углу экрана появляются уведомления о статусе прибытия. Дождитесь завершения развертывания и сборки.
дляробот добавляет индивидуальности и многое другое, как вы решаете реагировать и как применять агентсерединаиз, и подсказывает правильные слова.
Например,хотясуществовать В предыдущем примере середина мы выбрали очень стандартный пользовательский ввод для ответа,Но дапроходитьсуществовать реагирует на серединаиспользовать настоящий изязык или другие декоративные элементы.,нас肯定Можетделатьэто Даже加有趣。 Если мы не покажем ответ напрямую, чтобы получить API из输вне,идадобавить в Понятновстречаразговаривать修饰符(НапримерGreat, now let me see where your order is...
),И существует Воля ответ получить и загрузить приезжатьагент процесса середина,делать Fulfillment Функция генерирует заполнители сеансов, что кажется очень реалистичным. делатьдляalmost there...
,just getting there...
,hmmm, let me see...
и Что他填заряжать剂,Зависит от ситуации и требований.
Вы также можете использовать Dialogflow из Small Talk Модуль для чата, роботнастройки, некоторые интересные мелочи. Чтобы использовать его, нажмите слева в пункте меню «Сплетни» и включите «Сплетни». ты можешьдобавить в Некоторый有趣изкольцоотвечать,让тыизроботсуществоватьсталкиватьсяприезжатьидентификация Запросчасвстреча做вне Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-YOpWNrY0-1681705163557)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/175d0651-9d60-46d8-9d33-70fc6f938486.png)]
Чат для существования Чат роботсередина очень полезен для придания уникальности личности!
существовать下одиншагсередина,Мы Воля Создаем Пользовательский интерфейс для прямого взаимодействия с веб-сайтом управления заказами и этим чат-роботом. Да,Зависит от ВМы говорим об издабазе В REST API внешний интерфейс, поэтому мы, скорее всего, воля в этом UI идля Системы управления заказамисоздаватьиз API Размещается отдельно.
Эта облачная функция вызывает необходимость создания. HTTPS API。 существует Следующий раздел середина, мы Воля узнаем, как создать можно обработать на локальном компьютере HTTPS Запрос из API。
Вам, Воля, нужно создать себя из системы управления заказами. API могу сделать Cloud Functions Скрипт работает нормально, так что его можно скачать с API середина Получить статус заказа. ты можешьсуществоватьэта страницасерединапопытаться найтиприезжатьбыстрыйобразец。 тыиз API долженсуществовать HTTPS URL начальствотранспорт ХОРОШО. дляэтот,Вы можете использовать PythonAnywhere и ngrok Нравится из Служить. хотя PythonAnywhere Волякодхостингсуществовать Что Служитьустройствоначальствои提供固定из URL, но да ngrok Может Установитьисуществоватьместныйбегатьк Кlocalhost
提供изменять发地址。
假设тыдолженсуществоватьсистемаизпорт8000
начальстводля Заказ管理 API бегать Django проект, и в настоящее время существующий желает обеспечить HTTPS URL в целях тестирования; Вы можете выполнить следующие шаги. ngrok Легко сделайте это:
первый,изменятьприезжатьздесь,Затем нажмите на кнопку «Скачать» в верхнем навигационном меню серединаиз. в соответствии с Необходимо выбрать правильную версию инструмента,и Воля Чтоскачатьприезжатьсистемасередина.
Следующий,Зарегистрируйте аккаунт на сайте существования,Затемизменятьприезжать Панель управления。 Вы можете использовать GitHub или Google Сертификация приходит к вам быстро
Вы, Воля, просматриваете следующий дашборд:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-JbjCMLui-1681705163558)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/e6d34b11-f143-43a2-bc9b-834b34f9dabc.png)]
Зависит от ВВы скачали и установили инструмент Должен,поэтому Может直接跳ксоединятьтыизсчет.
копировать ngrok Панель управлениясуществоватьПодключайте аккаунтычасть下给внеиз Заказ-это Включатьтысчетиз authtoken,исуществоватьбегатьчас Волясистеманачальствоиз ngrok Подключение инструмента приехать на сайт из ngrok счет.
Затем,нас Подготовить移кlocalhost
порт。
localhost
。наконец,использоватьниже Заказначинать Воляверно随机生становитьсяиз ngrok URL из所有пожалуйста求изменять发приезжатьlocalhost
:
ngrok http 8000
Пока вы держите терминал открытым, ngrok Служить Сразу запустится и останется активным. Вам стоит посмотреть Долженсуществовать на своем экране. на: Следующий скриншот вывода:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-I4E4dJGN-1681705163558)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/876ab489-46d8-4ced-92a3-32a95fbb08c4.png)]
вернотыиз ngrok URL из Все запросы регистрируются на терминале «Волясуществовать». ты можешьсуществоватьпожалуйста求日志начальство方листизForwarding
ХОРОШОсерединапопытаться найтиприезжатьтыиз ngrok URL。 пожалуйста, обрати внимание,http
иhttps
порт Все正существоватьизменять发。 сейчассуществовать,Вы можете использоватьсуществоватьместный计算机начальствобегатьиз API Сервис от Firebase выполнить вызов, последнее разрешено только HTTPS вызов。
нас Досуществоватькнигасерединаиспользовать Понятно Django,Прямо сейчассуществовать“Нет. 8 глава",“существовать Microsoft Azure начальствоиспользовать Python проводить глубже обучение”и“Нет. 10 глава",“использоватьглубокое обучениеизприложение Безопасность в Интернете». Поэтому мы, Воля, пропускаем соответствующее Django Подробная информация о том, как это работает и с чего начать. Давайте непосредственно рассмотрим, как вы можете взаимодействовать со своим голосом. UI!
Если он еще не установлен в вашей системе Джанго, пожалуйста, следуй за "Net. 8 глава",“существовать Microsoft Azure начальствоиспользовать Python проводить глубже обучение”из“Django Web Раздел «Развитие из Введение».
каждый Django Все веб-сайты — это проект. хотеть Создайте,Пожалуйста, дайте следующую команду:
django-admin startproject ordersui
использоватьниже Оглавление结构создаватьимядляordersui
из Оглавление:
ordersui/
| -- ordersui/
| __init.py__
| settings.py
| urls.py
| wsgi.py
| -- manage.py
Продолжим модуль для Долженпроектсоздавать.
пожалуйста, запомни,каждый Django проект Все Зависит от Несколько человек работают вместе из Django состав приложения. сейчассуществовать,нас Волясуществовать Долженпроектсередина Создайте Django приложение,Долженприложение Воляиспользовать Заказ管理система API и предоставить UI Приходите и посмотрите API данные Библиотекасередина Включатьизсодержание。 Это для проверки Dialogflow агента Никакая нормальная работа не важна.
существоватьновый终端или Заказнамекать符серединаиспользоватьcd
Заказ切换приезжатьordersui
Оглавление。 Затем,использоватьниже Заказ Создайтеприложение:
python manage.py startapp apiui
этот Волясуществоватьordersui
Django Каталог проектприложения серединасоздавать имеет следующую структуру каталога:
apiui/
| -- __init__.py
| -- admin.py
| -- apps.py
| -- migrations/
| __init__.py
| -- models.py
| -- tests.py
| -- views.py
Прежде чем мы начнем разрабатывать модули, давайте в следующей части середина определим некоторый уровень проекта по улучшению.
settings.py
сейчассуществовать,нас Воляруководитьordersui/settings.py
документсерединанеобходимыйиз Некоторый Конфигурация。
существоватьINSTALLED_APPS
списоксередина,добавить вapiui
приложение,Как показано ниже:
# Application definition
INSTALLED_APPS = [
'apiui',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Django 框架только ВключатьINSTALLED_APPS
инструкциясередина列внеизбегатьчасприложение,Как и раньше, из кода серединапоказано, нам также необходимо определение проекта подключения к данным библиотеки.,Это Волясуществовать в следующей части шоу середина.
Зависит от ВЭто UI середина不需хотетьданные Библиотекасоединять,поэтомунас Воляудалитьданные Библиотекасоединятьнастраивать Конфигурация。
КомментироватьDATABASES
словарь,Как показано ниже:
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }
Сохраните файл. После этого мы Воляна благоустройство URL дорога Зависит отк指Кapiui
дорога Зависит от。
Изменятьordersui/urls.py
серединаизкодкдобавить вдорога径,к Волядорога径настраиватьдокумент Включатьсуществоватьapiui
приложение Внутри。 Ваш изфайл Воля содержит следующий Код:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('', include('apiui.urls')),
]
Сохраните файл. существоватьпроектуровеньнастраиватьдорога Зависит После того, как от нас Воля нужно будет существовать уровень модуля на благоустройство дороги Зависит от,Сразу же, как существование в следующем стихе, середина делает из.
сейчассуществовать,насужеинструктироватьпроектиспользоватьapiui
URL дорога Зависит от, нам нужен создатель этого приложения, необходимого из файла. существоватьapiui
Оглавлениесередина Создайтеимядляurls.py
издокумент,Его содержание следующее:
from django.urls import path
from . import views
urlpatterns = [
path('', views.indexView, name='indexView'),
path('<int:orderId>', views.viewOrder, name='viewOrder'),
]
Сохраните файл. В настоящее время мы обозначили приложениесередина, доступное из дорога Зависит от,Нам нужен длякаждыйдорога Зависит отсоздавать просмотр,Сразу же, как мы существовали в следующем разделе середина из.
существоватьнассоздаватьиздорога Зависит отсередина,нас提приезжать Понятно两个视картина-indexView
,это不带любойпараметр; viewOrder
,это带одинимядляorderId
изпараметр。 существоватьapiui
Оглавлениесередина Создайтеимядляviews.py
изновыйдокумент,Затемв соответствии снижешаг Создайте необходимое представление。
indexView
Должендорога Зависит от Воля отображает только заказы, размещенные в существующей системе управления заказами. насиспользоватьниже Код:
from django.shortcuts import render, redirect
from django.contrib import messages
import requests
def indexView(request):
URL = "https://example.com/api/"
r = requests.get(url=URL)
data = r.json()
return render(request, 'index.html', context={'orders': data['orders']})
нас ВолясуществоватьнижечастьсерединасоздаватьviewOrder
视картина。
viewOrder
нравиться果наск/orderId
изформа Воля Заказ ID 传递приезжать同один/
дорога Зависит от, тогда нам Должен вернуть заказ из статуса. использоватьниже Код:
def viewOrder(request, orderId):
URL = "https://example.com/api/" + str(orderId)
r = requests.get(url=URL)
data = r.json()
return render(request, 'view.html', {'order': data['order']})
Мы завершили работу над различными представлениями, необходимыми для создателя Долженпроекта; Но да, мы еще не создали Волю для рендеринга из шаблона. Давайте создадим следующую часть середина желаемого из шаблона.
существование Мы ранее определили с точки зрения середина,насиспользовать Понятно两个шаблон-index.html
иview.html
。 Дадля Понятноделатьэто们и Тот же дизайншагпоказывать,насвозвращаться Волянастраиватьодинbase.html
шаблон,это Воляделатьдля UI середина Остальные шаблоны представления из основного шаблона.
Зависит от Вшаблон大多только если HTML шаблон,верно Вебсайт из Важный контент мало влияет,поэтомунассуществоватьздесь提供Понятноэтот些документизкод。 тыдолжен Воляшаблондокументдержатьсуществоватьapiui
Оглавление Внутриимядляtemplates
изпапкасередина.
На этом этапе вы можете использовать следующие команды для запуска браузера проекта Служить Django и браузера существующего середина для проверки веб-сайта:
python manage.py runserver
сейчассуществоватьнасиз Служитьустройство正существоватьбегать,нас Волясуществовать下одинчастьсередина围绕это Создайтеголосинтерфейс。
Web Области развития середина Новейшая и очень интересная разработка да Web Speech API из Введено. Хотя Google ужесуществоватьрабочий столи Android из Google Chrome Полная поддержка браузера середина Web Speech API, но Safari и Firefox Предусмотрена только частичная реализация. Web Speech API В основном он содержит два компонента:
Вы можете просмотреть Web голос API из Очень подробноиздокумент,Должендокумент Можетот Mozilla документ页面获得。 ты можешьсуществоватьэта страницаначальствопопытаться найтиприезжать Google Предоставить изтехнология Демо:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-09pAmypj-1681705163558)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/a516e800-2a10-471f-84b2-c76d65e116c1.png)]
существоватьнижешагсередина,Наша база Воля В Web Speech API из добавлена кнопка "Задать вопрос" приезжать на наш сайт UI середина.
В этом разделе необходимо разместить все коды UI изbase.html
шаблонсередина,Чтобы его можно было найти на всех страницах сайта.
Мы используем следующий код для быстрого создания кнопки: Должна кнопка «Спросить» с текстом «Воля» на всем сайте на веб-странице в правом нижнем углу:
<div id="customerChatRoot" class="btn btn-warning">Ask a question</div>
сейчассуществовать,Нам, Воля, нужны идеиизации и настройка Web Speech API.,Сразу же, как существование в следующем стихе, середина делает из.
После загрузки веб-страницы,Нам нужна идеяизация Web Speech API верная иконка и для ее настройки необходимая конфигурация. для этого,пожалуйстаиспользоватьниже Код:
$(document).ready(function(){
window.SpeechRecognition = window.webkitSpeechRecognition || window.SpeechRecognition;
var finalTranscript = '';
var recognition = new window.SpeechRecognition();
recognition.interimResults = false;
recognition.maxAlternatives = 10;
recognition.continuous = true;
recognition.onresult = (event) => {
// define success content here
}
// click handler for button here
});
Вы можете посмотреть приезжать, мы уже придумали один Web SpeechRecognition
API да, слон, тогда да, у него есть какая-то конфигурация. Попробуем разобраться в следующей конфигурации:
recognition.interimResults
(布尔ценить)инструктировать API Должен попытаться определить временные результаты и сказать слово. Это добавляет накладные расходы на наш вариант использования, поэтому он закрыт. существоватьизменять录速度比изменять录Точность Даже重хотетьизслучай,Например, когда говорящий генерирует транскрипцию в реальном времени.,Воля его Открыть будет полезнее.recognition.maxAlternatives
(число)告诉Браузер Можетдля同одинголос段生становиться多少个替代项。 Это полезно в ситуациях, когда существующий браузер не совсем понимает, о чем идет речь, и может предложить пользователю возможность правильно определить изложенное.recognition.continuous
(布尔ценить)告诉Браузердадолжен连续捕获音频возвращатьсядасуществоватьодин次идентифицироватьголосназад停止音频。Да,нас尚еще нетопределениеосуществлять STT Код из выполняется при сборе результата прибытия. дляэтот,нас Кrecognition.onresult
функциядобавить в Понятнокод,Как показано ниже:
let interimTranscript = '';
for (let i = event.resultIndex, len = event.results.length; i < len; i++) {
let transcript = event.results[i][0].transcript;
if (event.results[i].isFinal) {
finalTranscript += transcript;
} else {
interimTranscript += transcript;
}
}
goDialogFlow(finalTranscript);
finalTranscript = '';
фронт изкод块существоватьиспользоватьсемья讲разговариватьчас Создайте临час笔录,когда, говоря больше слов,Должен笔录встреча不断Даженовый。 Когда пользователь перестает говорить, временная расшифровка Воля добавляется к окончательной расшифровке середина и передается обработчику и Dialogflow Интерактивная функция. от Dialogflow После того как агент получит ответ «приехать», следующий голосовой ввод пользователя сбрасывает окончательную расшифровку.
пожалуйста, обрати внимание,насуже Воляиспользоватьсемьяголосиз最终идентифицироватьстановиться绩单发送给имядляgoDialogFlow()
изфункция。 Давайте определим эту функцию.
После получения базы пользователей Вголосиззапроса из текстовой версии, Воля отправляет приезжать Dialogflow агент,Как показано ниже:
function goDialogFlow(text){
$.ajax({
type: "POST",
url: "https://XXXXXXXX.gateway.dialogflow.cloud.ushakov.co",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({
"session": "test",
"queryInput": {
"text": {
"text": text,
"languageCode": "en"
}
}
}),
success: function(data) {
var res = data.queryResult.fulfillmentText;
speechSynthesis.speak(new SpeechSynthesisUtterance(res));
},
error: function() {
console.log("Internal Server Error");
}
});
}
Вы обнаружите это, когда API Когда вызов успешен, мы используем SpeechSynthesis API Сообщите результаты пользователю. Его использование лучше, чем SpeechRecognition API Больше для проще, поэтому кажется, что существует Firefox и Safari серединаиз Нет.один。
Уведомлениеначальствоодинфункциясерединаиспользоватьиз API URL。 Когда это может показаться странным, вам может быть интересно, откуда мы это взяли URL。 По сути, мы пропускаем настройку терминала. Dialogflow агент Служитьсчет Конфигурацияизхотеть求,Терминал «Должен» всегда находится в сценарии «В» существует, обработка осуществляется локально в системе.,поэтомутрудно передать。
Чтобы для вашего проекта получить аналогичные из URL, следуйте следующему шагу; В противном случае пропустите "шаг 4» и перейдите непосредственно к «шаг 5”。
изменятьприезжатьздесь。 ты Волясмотретьприезжатьодининтерфейс,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-AzwnMZkJ-1681705163558)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/2de7c84c-4fa8-4746-9387-f965726690e7.png)]
Dialogflow Gateway Продвигается голосом UI и Dialogflow из взаимодействия между агентами. Это очень полезно в ситуациях, когда мы создаем статические веб-сайты. Dialogflow Шлюз окружает Dialogflow API Упрощение предусмотрено API Обертка и очень проста в использовании.
У вас должна быть учетная запись создания, чтобы начать использовать Dialogflow, как показано в следующем разделе.
Нажмите «домой», запустите существующую платформу. Создайте учетную запись. Вам будет предложено использоватьтыиз Google Вход в аккаунт. убеждатьсяиспользоватьик前создавать Dialogflow агент Взаимно同изсчет.
насранеесуществовать“Нет. 6 глава",“использовать Python существовать Google Cloud Platform начальствопроводить глубже обучение»середина подробно рассказывает, как для GCP проектсоздавать Служитьсчет. для Связьприезжать Dialogflow агентизпроект Создайтеновыйиз Служитьключ,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-vQKBE8XS-1681705163559)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/ad8232d2-aff2-47bb-8654-343e8a131ef2.png)]
После успешного создания ключа,Воля выскакивает правильное диалоговое окно,Сообщить вам, что ключ сохранен приезжатькомпьютерсередина,Как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-aeqvVzGu-1681705163559)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/caea516d-c88e-49ce-9a31-be83ead57a5b.png)]
Учетные данные сервисной учетной записи начинаются с JSON изформаскачатьприезжатьместныйсистема,Чтоимясказатьнравитьсяфронт из Скриншотпоказано.
сейчассуществовать,нас Воляиспользовать Должен Служитьсчет凭据документ Воля Dialogflow Gateway Свяжитесь с нами Dialogflow агент。
существовать Dialogflow Gateway На консоли вы найдете кнопку «Загрузить ключ». Нажмите на нее, чтобы загрузить сгенерированный файл ключа учетной записи из Служить. После загрузки консоль Воля покажет вам Dialogflow API агент URL-адрес, как показано ниже:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-tuhXcAaf-1681705163559)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/0dc2a2ff-d5ff-43e8-9208-afb12d3facbb.png)]
Мы волясуществовать ранее определенную из функции серединаиспользовать URL-адрес шлюза.
наконец,нас К“Задать вопрос”кнопкадобавить вclick
иметь дело сустройство,к便это Может触发использоватьсемьявходитьизголосидентифицироватьк及 Dialogflow агентиз выходного синтеза.
существовать“шаг 2”серединаопределениеиздокументready
функциясередина,добавить внижеclick
иметь дело сустройство Код:
$('#customerChatRoot').click(function(){
recognition.start();
$(this).text('Speak!');
});
сейчассуществовать,Когда микрофон начинает прослушивать ввод пользователя,кнопкатекст Воля ИзменятьдляSpeak!
,Предлагает пользователю начать говорить.
Попробуйте провести тест на изнастройки Должен сайт,Затем查смотретьнравиться何делать Чтонормальный工делать!
существовать本главасередина,Мы объединяем несколько технологий,Представлено завершение проекта завершения проживания,Долженпроект展示Понятно Воляглубокое обучениеприложение В сайте самый быстрорастущий аспект №1. мы представили Dialogflow,Dialogflow Шлюз, GCP IAM,Firebase Cloud Functions и ngrok и другие инструменты. Мы также продемонстрировали, как построить REST API из Пользовательский интерфейс и как его использовать Web Speech API конечно, это в гости. Web голос API хотя все еще находится в зачаточном состоянии, но да Web Браузер «серединаиспользоватьиз» — это передовая технология, и ожидается, что в ближайшие годы она будет быстро расти.
Можно с уверенностью сказать, что Интернет глубокое обучение имеет огромный потенциал и воля для многих ключевых факторов успеха начала бизнеса. существовать下одинглавасередина,Мы исследуем некоторые из самых популярных областей обучения в области веб-разработки.,И как мы планируем наилучшим образом добиться прогресса.
Зачастую важно знать, что другие делают с какой-либо технологией, чтобы понять ее пригодность для масштабирования и ожидаемую отдачу от инвестиций. В этой главе представлены некоторые из самых известных веб-сайтов, чьи продукты в значительной степени зависят от использования глубоких технологий. обучениеизсила。 В этой главе также обсуждается, что можно использовать обучение Усиливатьиз Web Развивать некоторые ключевые области исследований. Эта глава «Воля» поможет вам копнуть глубже. Web Технология глубокое обучение слиянию и вдохновит вас на придумывание своего собственного интеллекта Web приложение.
Эта глава состоит из двух основных частей:
Давайте начнем!
В этом разделе середина мы, Воля, кратко представляем некоторые из следующих AI дляCore для содействия росту бизнеса продукта/компании. существует Это примечательно изда, весь продукт или Служитьда НИКАКОЙ базы В любом AI Технологии и алгоритмы не важны; толькосуществовать Чтосерединаизодин小частьилииметьидентификация Функция изслучайиспользовать AI Это может улучшить практичность продукта и улучшить широкий ассортимент продукции клиентов. Иногда у вас могут даже не существовать какие-либо функции продукта. Вместо этого вы можете использовать искусственный интеллект только для анализа данных и выявления ожидаемых тенденций, чтобы гарантировать, что ваши продукты соответствуют этим тенденциям. Давайте посмотрим на полезные способы расширения масштабов деятельности этих компаний.
существовать Quora Раньше существовало множество сайтов и форумов вопросов и ответов. существование из В какой-то момент истории Интернета существующие онлайн-форумы считались пригодными и больше не могли быть улучшены; Но да, Кора представил некоторое использованиеглубокое обучение Внесите изменения, которые помогут им быстрее превзойти другие форумы. Ниже приведены их корректировки:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-DwTs1s9L-1681705163559)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/37a5aa9b-2d11-4fc5-9776-4fa843b19966.png)]
Quora существование в какой-то момент стало для существования (сейчас до сих пор считается да), самой вызывающей привыкание социальной платформой в Интернете. У них есть простой веб-сайт вопросов и ответов и простой веб-сайт вопросов и ответов. обучение Воля, которая превращается в потрясающую платформу. ты можешьпроходитьздесь检внеплатформа。
Изучение нового языка – всегда непростая задача. когда Duolingo В 2012 Когда Год появился на рынке, он принес с собой все более важный и распространенный термин — искусственный интеллект. Они воля запоминают слова, грамматические правила и другие обыденные вещи в мини-играх, а пользователи этих верекаждых мини-игр реагируют по-разному. Duolingo AI Учет временных особенностей человеческого мозга. Они сформулированы: Человек может быстро забыть слово «приехать», которое он выучил. Они называют эту концепцию регрессией периода полураспада и используют ее для улучшения достоверности, которая предсказывает, что пользователь, существующий в любой данный момент времени, забудет слово из.
В этом существовании они добились больших успехов, сделав Duolingo Into для мобильного магазина приложений середина самого популярного приложения№1. Их веб-сайт также является классическим примером неортодоксального дизайна и хорошо принят. ты можешьпроходитьздесьПонятно解связанный Duolingo из Подробнее.
Аудиоплеер доступен уже давно,Да没有люди Воля Spotify Вывести приезжать на рабочий стол. Spotify использоватьглубокое обучение определению песни, которую пользователь желает прослушать в любой момент времени. Приходите еще, они сделают AI Достигнуто бурное развитие, в соответствии пользователь недавно проигрывал песни, чтобы предложить целый плейлист. Spotify быстрый рост популярности вдохновил многих попытаться сделать это и попытаться догнать Spotify к欢迎程度изпродукт。
Spotify Также введена очень мощная функция -в соответствии с Аудио-образцы поиска песен. Это мгновенная горячая функция; Многие пользователи скачивают Spotify только еслипотому чтодляих不记得их正существоватьслушатьизодин首好слушатьизпесняизимя字,所к想迅速попытаться найтивнеэтоизимя字。 Вам просто нужно записать песни и аудио, которые воспроизводятся поблизости, и записать их каналы. Spotify Вы можете знать, что правильное существование — это исполнение песен.
хотя Облачное хранилище изображенийда Dropbox ждатькомпания Предоставить изсейчас有решение,но Google Photos проходить Воля AI Включение его в уравнение революционизирует облачное хранилище изображений. Google Взаимно册Зависит от ВЧто令люди惊叹из Функция,Например, следующее,Используется миллиардами людей по всему миру:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-kfCZRpnt-1681705163560)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/07b18479-7ac7-4225-94b6-a59738a7ddc4.png)]
Google Взаимно册Зависит от Всуществоватьназад台использовать Понятноглубокое обучение, поэтому личное существование существует. Линия галереи является лидером рынка. нравиться果ты想Понятно解Дополнительная информация,пожалуйстадоступздесь。
существуют В этом разделе середина мы рассмотрели некоторых фаворитов глубокое Обучение сильно влияет на продукцию. В следующей части середина мы, Воля, посмотрим на проживание в некоторых новых областях, серединаглубокое Кажется, обучение приносит много положительных результатов.
существоватьфронт изчастьсередина,нассмотретьприезжать Понятно几家компаниянравиться何结合база Вглубокое обучение технологии для улучшения своей продукции. существует этот раздел середина, мы Воля обсуждаем, когда прежние положительные существуют много исследований из некоторых областей, и мы Воляпроходим Web Развитие с точки зрения возможности приехать из-за своего влияния.
Предположим, вы существуете в баре середина и любите живую группу, играющую песни. Вы существуете в сознании середина, вы знаете, что слышали эту песню раньше, но не можете вспомнить название песни. Разве не было бы здорово, если бы у вас была система, которая могла бы прослушивать песню и искать ее название? Добро пожаловать в приезжатьаудио Поисковая система изWorld!
Существует много существующих аудио поисковая система со звуковым поиском середина (Зависит от Google Assistant При условии) да самый популярный из поисковиков №1. Вы также можете посмотреть Shazam。 На скриншоте середина можно увидеть результаты поиска звука, например аудио. результаты поиска:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-SEhhBKlQ-1681705163560)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/9960ba72-9308-4507-bc6f-33b4ea110623.png)]
для создания системы соответствии Получение аудиосигнала для выполнения аудио При поиске системе сначала необходимо обработать сигнал Должен, который называется для обработки аудиосигнала. Затем система обрабатывает сигнал и сравнивает его с тысячами существующих песен. Существующий сигнал Воли и существующая библиотека данных сравниваются перед использованием нейронной сети, которая выполняет определенное представление, обычно Воля, которая называется отпечатком пальца. Да,Это все еще активная область исследований.,我强烈建议ты阅读эта страницаначальствоиз文глава,Узнайте больше об этих технологиях.
Вы когда-нибудь хотели, чтобы поисковая система могла предоставить вам ответ на ваш поисковый запрос, не находя подходящих ссылок на ресурсы, которые могут содержать ответ на ваш поисковый запрос? Хорошо, если система будет проводитьпонимание прочитанного для программирования, то существующего сейчас Сразу есть возможность калибровать эту цель. Давайте посмотрим на скриншот ниже, чтобы понять, что это значит:
[Передача изображения по внешней ссылке не удалась,Исходный сайт может иметь механизм защиты от кражи.,Рекомендуется сохранить картинку Воля и загрузить ее напрямую (img-3CJoy7j6-1681705163560)(https://gitcode.net/apachecn/apachecn-dl -zh/-/raw/master/docs/handson-py-dl-web/img/481443bd-131c-438b-94ce-0efe89d8eedd.png)]
нравиться果ты仔细地Уведомлениеприезжать,нас甚к Все没有Воля Sachin Tendulkar заявление отца ставит вопрос. Современные системы способны самостоятельно определять такие свойства.
Сейчас существуют, чтобы можно было понять с пониманием Прочитанные возможности системы (или машины) по глубине, скажите, что вы хотите существовать, выполните поиск в Интернете, чтобы найти вопрос о прибытии из ответов. Вам нужно пройти многошаговый процесс:
По сути,До сих пор существуют многие ручные изшаг,и且этот个вопрос仍然житьсуществовать:насданет Может设计одинсистема Приходить自动длянаспопытаться найтиприезжать合适Отвечатьизпроцесс? Существующие поисковые системы предоставляют список релевантных документов для данного поискового запроса, но недостаточно развиты, чтобы реально давать ответы на поисковый запрос изсистемы. Короче говоря, эта система должна делать следующее:
Давайте немного упростим задачу. Предположим, что для данного вопроса у нас уже есть список соответствующих параграфов, теперь существует необходимость разработать систему, Должен система действительно может из этих параграфов середина понять, и для этого мы даем четкий ответ на данный вопрос. существоватьпонимание прочитанногосистемасередина,Нейронные сети обычно учатся улавливать глубокие семантические связи между связанными абзацами в заданном вопросе.,Затем制定最终Отвечать。
Возможно, вы уже знаете, например, Google Поисковые системы, такие как Bing и Bing, уже понимают прочитанногоспособность。
В связи с быстрым развитием социальных сетей новостей нет. Социальные сети легко стали одним из наших основных источников новостей; Но да, его подлинность обычно не гарантируется. Не все новости, с которыми вы сталкиваетесь в социальных сетях, правдивы, можно с уверенностью сказать, что существует много фейковых новостей. этот种сейчасслонизназад果Может能非常令люди震惊,и действительно может привести к злоупотреблениям,Насилие и другое поведение для.
Некоторые организации и учреждения пытаются бороться с этим и доводить до сведения людей достоверность новостных сообщений. принимая во внимание Мы читаем тонны новостей в социальных сетях каждый день, и эта задача может быть очень утомительной. Итак, теперь возникает вопрос: можем ли мы использовать машинное обучениеиз Способность автоматически обнаруживать фейковые новости? 实际начальство,Это активный исследователь в области,Масштабного решения этой проблемы пока нет.
Да,нижедаразличные группыиспользоватьклассическиймашинное обучениеиглубокое метод обучения для проведения некоторых исследований:
鼓励тысуществоватьэта страницаначальство查смотреть调查报告,Отчет «Должен» представляет собой подробное руководство по различным методам обнаружения фейковых новостей.,иобсуждать Понятносвязанный Должентемаиз Взаимно关研究。 С другой стороны, семья по имени Varia Немецкий стартап пытается решить проблему фейковых новостей уникальным способом. Они не предоставляют достоверных новостей, в то время как да предоставляют определенные новости, основанные на различных мнениях. Другими словами, они обеспечивают перспективу Служить. хотеть Понятно解Дополнительная информация,ты Абсолютноверноотвечать Долженсуществоватьэта страницасерединаруководить检查。
существоватькнигаизнаконецодинглавасередина,нас试картина激发ты构建下одинглубокое обучениепроекти Воля Чтосуществовать Web платформаначальствоиспользовать。 Возможно, вас заинтересуют другие истории об этих компаниях. AI Преобразовал бизнес и доминировал на рынке. Если вы просматриваете почти каждый веб-сайт, который посещаете, они в некотором роде будут обладать искусственным интеллектом. обучение элементам, будь то система рекомендаций или рекламная форма (также система рекомендаций по продвижению). Тогда мы представилиглубокое обучение домена середина т.е. Воля появляется из тем, которые ищут существующие в ближайшее время из Воля приходят существующие альтернативиз темы на сайте. Если ты можешь в соответствии с Любую из этих тем серединаиз предоставить Служить, это Сразу здорово!