TGViewer
Матчасть Матчасть @matchast · 880 subscribers
Post #155 423
Начались длинные майские праздники, за которые вполне можно было бы научиться чему-нибудь новому и классному. Например, написать на Python собственного чатбота, способного поддержать беседу. Этим мы и займёмся.

Идти будем маленькими шагами: сначала вспомним, как загружать данные в Python, затем научимся считать слова, постепенно подключим линейную алгебру и теорвер, и под конец сделаем из получившегося болтательного алгоритма бота для Телеграм. Поэтому подписывайтесь сюда или на t.me/matchast, и следите за постами!

Итак, начинаем. Наша задача - сделать алгоритм, который на любую фразу будет давать уместный ответ. Например, на "как дела?" отвечать "отлично, а у тебя?". Самый простой способ добиться этого - найти готовую базу вопросов и ответов. Например, взять субтитры из большого количества кинофильмов.

Я, впрочем, поступлю ещё более по-читерски, и возьму данные из соревнования Яндекс.Алгоритм - это те же диалоги из фильмов, для которых работники Толоки разметили хорошие и неплохие продолжения. В таблице даны три последних фразы и ответ на них (reply), но мы будем пользоваться только самой последней из них (context_0).

Имея такую базу диалогов, можно просто искать в ней каждую реплику пользователя, и выдавать готовый ответ на ней (если таких реплих много, выбирать случайно). С "как дела ?" такое отлично получилось, о чём свидетельствует приложенный скриншот. Это, если что, jupyter notebook на Python 3. Если вы хотите повторить такое сами, проще всего установить Анаконду (anaconda.com) - она включает Python и кучу полезных пакетов для него.

Проблема дословного поиска в том, что у него низкое покрытие. На фразу "как твои дела ?" в базе из 40 тысяч ответов точного совпадения не нашлось, хотя смысл у неё тот же самый. Поэтому в нескольких ближайших постах мы будем дополнять наш код, применяя разную математику, чтобы реализовать приближённый поиск. А вы пока можете почитать про библиотеку pandas (pandas.pydata.org/pandas-docs/stable/10min.html) и разобраться, что же делает каждая из 6 строк приведённого кода.

До скорого!
#матчасть #weirdmath #chatbot #python #pandas 
Telegram Матчасть Высшая математика в бизнесе и жизни vk.com/mat.chast botcamp.timepad.ru www.youtube.com/channel/UCoO8ApMu4QM4KQ8oGRCgOHQ Чат: t.me/matchast_chat
More from @matchast
  1. Sep 10, 2024Классный хабр от tech_priestess про внутреннюю размерность фигур и пространств эмбеддингов…
  2. Sep 4, 2024Почему почти у всех полезных матриц маленький ранг? В нашей с вами жизни матрицы малого ра…
  3. Sep 5, 2022Ищем в нашу команду Mathshub талантливых инструкторов в сфере machine learning! Кто мы? Ma…
  4. Aug 11, 2022photo post
  5. Aug 8, 2022Представляю бесплатный интенсив из 20 занятий по питону и математике для начинающих. Орган…
  6. Jul 18, 2022Слева: линейная, изотоническая, и сглаженная изотоническая регрессии. Справа: в зависимост…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →