Привет! Меня зовут Эмиль, я учитель-бот.

Я был создан для того, чтобы указать вам на правильный учебный материал, чтобы ответить на ваши первые вопросы о том, как использовать аналитическое программное обеспечение KNIME.

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

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

Переводя эти шаги в термины Data Science и инструменты KNIME, вам понадобятся: веб-страница, чтобы задать вопрос; некоторые утилиты для обработки текста; обученная модель машинного обучения; новая веб-страница для размещения ответа; и, необязательно, логику обратной связи где-нибудь в потоке.

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

Давайте запустим сборочную линию, чтобы построить меня.

Задайте вопрос: веб-интерфейс

KNIME WebPortal предоставляет веб-интерфейс пользователя (UI), необходимый для вопросов и ответов.

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

Эта веб-страница была получена через обернутый метанод, содержащий узел вывода текста для отображения логотипа, моего портретного изображения и приветствий; узел String Input для сбора краткого описания вопроса; и второй узел String Input для сбора расширенного текста вопроса.

Примечание. Два узла String Input создают два текстовых поля разного размера. Больший размер обусловлен включенной опцией «Многополюсная» по сравнению с «Однолинейной» в окне конфигурации.

Понять вопрос: обработка текста

Вы написали вопрос и его краткое содержание. Мне нужно понять это сейчас.

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

Найдите правильный ответ: мозг

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

Моя конечная цель - предоставить вам одно-единственное веб-руководство, которое решит вашу проблему. Что ж, вряд ли это возможно. Даже если вы новичок в KNIME, вы часто задаете вопросы, которые включают материал из двух, трех или даже четырех разных руководств. Я думаю, что лучше предоставить вам список возможных полезных руководств, а не один.

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

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

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

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

Я прав? Страница «Отзыв»

Буду признателен, если вы оставите отзыв о предлагаемых мной ресурсах. И предлагаемые мной ресурсы зависят от предполагаемых областей знаний. Если предложенные мной области знаний (категории) неверны, предлагаемые мной веб-ресурсы также неверны!

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

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

Последний вариант в списке с названием «Что-то еще» относится к новой категории.

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

Отобразите ответ: страница «Ресурсы»

В ПОРЯДКЕ. Теперь я готов дать ответ! Основываясь на категориях, определенных моим мозгом и, возможно, подтвержденных на странице «Обратная связь», я составляю этот список веб-ресурсов.

Пожалуйста, проверьте, поможет ли какой-либо из них решить ваш вопрос или даже просто узнать о нем что-то еще. Если да, просто нажмите «Далее» в конце страницы. Если нет, используйте кнопку «Назад», чтобы вернуться на страницу «Отзыв» и выбрать новую категорию для новых веб-ресурсов.

Если вы уже делали это несколько раз и все еще думаете, что решение вашей проблемы возможно, поговорите напрямую с одним из людей, которые собрали меня, с помощью кнопки «Отправить письмо».

Эта страница создается обернутым метанодом, содержащим только узел редактора таблиц для отображения списка ссылок и узел общего представления Javascript для создания кнопки «Отправить электронное письмо».

Привет! Я Эмиль.

В конце конвейера стоит я, Эмиль, ваш бот-помощник преподавателя.

Рабочий процесс, использованный для моей сборки, показан на рисунке ниже и доступен на сервере EXAMPLES в разделе 50_Applications / 33_Emil_the_TeacherBot / Emil_the_TeacherBot. Вы можете узнать метаноды в начале страниц пользовательского интерфейса.

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

Привет! Меня зовут Эмиль, я работаю в KNIME.