Научная статья на тему 'ИМПЛЕМЕНТАЦИЯ НЕПРЯМОГО КОНТАКТА МЕЖДУ ПОЛЬЗОВАТЕЛЯМИ ПОСРЕДСТВОМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА'

ИМПЛЕМЕНТАЦИЯ НЕПРЯМОГО КОНТАКТА МЕЖДУ ПОЛЬЗОВАТЕЛЯМИ ПОСРЕДСТВОМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
117
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕЛЕГРАМ / БОТ / SMALLTALK / КОММУНИКАЦИЯ / АСИНХРОННОЕ ПРОГРАММИРОВАНИЕ / ФРЕЙМВОРК / PYTHON

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сулимов Даниил Андреевич, Ватолкина Наталья Шамилевна

В статье рассматриваются мотивы и ход разработки программного обеспечения асинхронным способом на языке Python. Статья опубликована при поддержке гранта РФФИ 20-010-00571 «Влияние цифровой трансформации на повышение качества и инновационности услуг».

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сулимов Даниил Андреевич, Ватолкина Наталья Шамилевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF INDIRECT CONTACT BETWEEN USERS THROUGH ARTIFICIAL INTELLIGENCE

The article presents motives and pipeline of the development of software program using asynchronous methods in Python. The reported study was funded by RFBR, project number 20-010-00571 "The Impact of Digital Transformation on Improving the Quality and Innovation of Services".

Текст научной работы на тему «ИМПЛЕМЕНТАЦИЯ НЕПРЯМОГО КОНТАКТА МЕЖДУ ПОЛЬЗОВАТЕЛЯМИ ПОСРЕДСТВОМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

УДК 004.896

ИМПЛЕМЕНТАЦИЯ НЕПРЯМОГО КОНТАКТА МЕЖДУ ПОЛЬЗОВАТЕЛЯМИ ПОСРЕДСТВОМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

Д.А. Сулимов1, Н.Ш. Ватолкина2

Московский государственный технический университет имени Н.Э. Баумана,

Россия, 105005, Москва, ул. 2-я Бауманская, д. 5, стр.1.

В статье рассматриваются мотивы и ход разработки программного обеспечения асинхронным способом на языке Python. Статья опубликована при поддержке гранта РФФИ 20-01000571 «Влияние цифровой трансформации на повышение качества и инновационности услуг».

Ключевые слова: телеграм, бот, small-talk, коммуникация, асинхронное программирование, фреймворк, Python.

IMPLEMENTATION OF INDIRECT CONTACT BETWEEN USERS THROUGH ARTIFICIAL INTELLIGENCE

D.A. Sulimov, N.Sh. Vatolkina

Bauman Moscow State Technical University, Russia, 105005, Moscow, Baumanskaya, d.5, str. 1.

The article presents motives and pipeline of the development of software program using asynchronous methods in Python. The reported study was funded by RFBR, project number 20-010-00571 "The Impact of Digital Transformation on Improving the Quality and Innovation of Services".

Keywords: telegram, bot, small talk, communication, asynchronous programming, framework, Python.

Введение

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

В связи с этим, большую популярность набирает такой вид общения, как small-talk.

Данное явление имеет следующую коннотацию: это непринуждённый разговор на отвлечённые темы, как правило не занимающий длительного времени, включает в себя обмен классическими вопросами по типу «Как дела?», «Ты где?».

Умение вступить в small-talk позволяет человеку минимизировать психологическую нагрузку во время полноценного разговора с оппонентом, а также преодолеть социальный дискомфорт, испытываемый при начале диалога.

С появлением социальных сетей вопрос коммуникации, казалось бы, разрешился, но такой шаг породил множество других сложностей, так, по данным ВЦИОМ, каждый третий россиянин тратит на социальные сети и мессенджеры более трёх часов в день, при чём среди респондентов, ответивших таким образом, 72% в возрасте от 18 до 24 лет. Также, по результатам

опроса, Телеграм вошёл в топ-5 наиболее используемых мессенджеров среди россиян [1].

Причём по результатам 2021 года Телеграм стал самым быстрорастущим мессендже-ром в России и имеет все шансы выйти на 1 место по популярности по итогам 2022 года [2].

Идея создания рассматриваемого инструмента (Телеграм-бота) вытекает из описанной выше проблематики: необходимостью обеспечить постоянный контакт между людьми с минимальными на это временными и психологическими затратами. Именно с данными целями был реализован бот WAVEME, ввиду вышеописанных свойств мессенджера Телеграм, он был взят как основа для разработки.

Психологические аспекты потребности в дополнительных инструментах для опосредованного общения или получения информации о текущем статусе собеседника

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

1Сулимов Даниил Андреевич - студент кафедры ИБМ-4, тел.: +7 (915) 355-61-48, email: dany. sulimov@yandex. ru;

2Ватолкина Наталья Шамилевна - доктор экономических наук, профессор кафедры менеджмента тел.: +7 -(927) 641-74-98, email: [email protected].

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

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

Вследствие почти тридцатилетнего массового общения с представителями других языковых культур, сопровождавшегося кратко-, средне- и долгосрочными выездами российских граждан за пределы родины и нахождения их в иной языковой среде, они переняли некоторые элементы культуры общения ранее им не свойственные, например, «короткий разговор» или иначе small-talk. Этот «короткий разговор» для большинства цивилизованных людей играет такую же роль как для военной авиации система опознавания — «свой-чужой».

Казалось бы, при такой интерпретации, нет необходимости в «коротком разговоре» у близких друг другу людей, родственников.

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

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

Кроме того, есть исследования, не всегда репрезентативные в рамках социологической науки, но которые верифицируются с позиций разумности вопросов-ответов.

Например, совместное исследование Viber и Psihologies [3] даёт некоторое представление о предпочтениях среди представителей интернет-аудитории.

В частности, на вопрос «достаточно ли им общения в мессенджерах для поддержания

связи с близкими - 11,44% респондентов ответили, что общения в мессенджерах достаточно, чтобы поддерживать отношения «для галочки», а 14,98% отметили, что без этих приложений в их жизни осталась бы только работа/учеба.

Необходимость специального инструмента, формализующего «короткий разговор» подтверждается тем, что «короткие сообщения от собеседника не всегда понятны и могут восприниматься неточно» высказались 36,31 % и «Аудиосообщения бывают не вовремя» - 1 4,72 %. «Все вышеперечисленное» - 15,33 %.

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

Ну и наконец, на вопрос «Как вы относитесь к дружеским и семейным чатам?» 33,03% ответили «Предпочитаю индивидуальное общение - без общих чатов» и 9,15% - «Не люблю это и особо нет времени на большие переписки».

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

Технические возможности и специальные пакеты Python для Телеграмм для написания ботов

Сначала сформулируем минимальные требования к дизайну продукта. Рабочее название проекта — WAVEME:

1. Наиболее соответствующим продуктом для «ультракороткого разговора» будет бот в мессенджере Телеграмм. В языке программирования Python есть библиотеки, специально написанные для создания ботов в Телеграмм, что существенно упрощает процесс создания требуемого продукта.

2. Участники парного взаимодействия должны иметь возможность направить друг другу запрос и получить ответ.

3. Для удобства выбора собеседника бот должен предоставлять их список в явной форме.

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

94

СПбГЭУ

Имплементация непрямого контакта между пользователями

5. Пользователь должен иметь возможность зарегистрировать своё местоположение, назвав его произвольным именем.

6. Должна быть возможность просмотра статистики по отправленным и полученным ответам.

Разработка и запуск бота разделяются на несколько этапов:

1. Регистрация бота в специальной среде «BotFather» и получение «Bot token»;

2. Выстраивание архитектуры бота;

3. Разработка и имплементация бизнес-процессов;

4. Тестирование бота;

5. Разработка пользовательских соглашений;

6. Запуск бота на сервере.

Для разработки бота использовался следующий технологический стек:

- Язык программирования Python;

- Среда контроля версий GitHub;

- СУБД SQLite;

- Хостинг бота: сервер на Linux

На начальном этапе, рассматриваемая разработка WAVEME была зарегистрирована в «BotFather», и был получен уникальный ключ, который позволяет взаимодействовать и изменять любые параметры бота через код программы. После этого шага, была спроектирована архитектура бота, а также продуман интерфейс для комфортного взаимодействия пользователя с ботом.

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

В интерпретаторе Python используется Global Interpreter Lock (GIL), который накладывает ограничение на потоки, таким образом, GIL - это способ синхронизации потоков [4]. С появлением версии Python 3.4, стала доступна библиотека asyncio [5], позволяющая вести разработку асинхронным путём. Поэтому для увеличения скорости последовательной программы, используется асинхронное программирование. В версии Python 3.7 был представлен отдельный фреймворк, написанный в совокупности с asyncio и aiohttp [6] - aiogram [7]. Именно преимущество в ускорении программы стало ключевым при выборе способа разработки приложения.

Так как бот аккумулирует в своей базе данных персональные данные пользователя, то важным шагом является разработка пользовательских соглашений в соответствии с ФЗ «О персональных данных» от 27.07.2006 [8].

Для хранения информации от пользователей используется реляционная база данных SQLite. Управление базой данных осуществляется через методы Object-relational mapping (ORM). В базе были созданы несколько взаимосвязанных таблиц, которые позволяют однозначно определять связи между всей информацией конкретного пользователя: users (содержит первичную информацию о пользователях), fav_locations (избранные локации пользователя), tracking_trackable (фиксирует частоту коммуникаций между пользователями), received_emoji (ведёт учёт полученных/отправленных эмодзи). Так как контакт является уникальным идентификатором пользователя, то целесообразно выбрать данный параметр в качестве ключа таблицы users. Таблица fav_locations записывает координаты местоположения, таким образом, уникальным образом соотносить зарегистрированного пользователя и его локацию будет набор параметров (id, longitude, latitude), также поле id будет являться внешним ключом и ссылаться на одноимённое поле таблицы users. В таблице tracking_trackable не должно быть возможности вставить значения незарегистрированных пользователей, следовательно, значения id_tracking, id_trackable будут являться внешними ключами с ссылкой на поле id таблицы users. Аналогичным образом определим связи для полей id_received и id_sent таблицы received_emoji. Схема базы данных представлена на Рис. 1.

users 0

name text

id integer(lOO)

с? contact varchar(lOO)

«i Add field

favjocations

id integer

location_name text(50)

P longitude varchar(30)

latitude varchar(30)

Süddiek!

received_emoji

id_received integer(lOO) - Î

id.sent integer(lOO)

count_victory integer(lO)

count_cold integer(lO)

count_snowflake integer(lO)

countjike integer(lO) - -

count_fire integer(lO)

cou nt_s wear integer(lO)

3MdMd

tracking_trackable □

id_tracking integer(lOO) J i

contactjracking integer(lOO)

integer(lOO) J 3

contactjrackable integer(lOO)

trackable_name text(30)

counter integer(30)

У Add field

Рисунок 1 - Схема базы данных

Взаимодействие с ботом построено на выборе команд из предложенного списка: /start (регистрация),

/care (отправить запрос другому пользователю), /instr (инструкция),

/sent (показать статистику по отправленным эмодзи),

/received (показать статистику по полученным эмодзи),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

/add_place (добавить геолокацию в избранные).

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

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

Для того, чтобы начать взаимодействовать с ботом, пользователю достаточно нажать кнопку «start», после чего пользователю будет предложена активная ссылка на пользовательские соглашения и две опции: «Соглашаюсь», «Не соглашаюсь». При нажатии «Соглашаюсь», пользователю предлагается поделиться контактом, после чего открывается доступ к полному функционалу приложения, данные пользователя записываются в таблицу users. Таким образом, весь процесс регистрации укладывается ровно в 3 нажатия, что является конкурентным преимуществом по отношении к другим сервисам, обеспечивающим коммуникацию.

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

Элементом психологической разгрузки служит возможность просмотра статистики по полученным и отправленным эмодзи. Данная опция стала доступной благодаря использованию Common Table Expressions (CTE) при написании SQL-запроса к серверу. Пример подобного кода приведён в Приложении 1.Таким образом, каждому пользователю доступна его статистика за время пользования приложением.

Преимуществом разработки является также добавление геопозиции в «избранное». Так, пользователь имеет возможность зарегистрировать в базе данных те локации, которые ему необходимы и при ответе на запрос локацией, запрашиваемая сторона будет получать название местоположения с активной ссылкой на точку на карте. Данная функция реализована путём построения полигона координат, используя библиотеку shapely. Полигон выстраивается от координат отправленной геолокации, проверяя зарегистрированные «избранные» локации

на вхождение в построенный полигон. Пример построения полигона приведён в Приложении 2.

На данном этапе приложение реализована на стадии Minimum Viable Product (MVP). В дальнейшем, с целью поддержания полноценного small-talk, будет реализована возможность задавать шаблонные вопросы получателю и получать сгенерированные ответы, основанные на сохранённых местоположениях или эмоциональном состоянии человека, также ведётся работа по направлению разработки дополнительных, премиум-функций. Описанные конкурентные преимущества разрабатываемого программного обеспечения, в условиях реализации антикризисной программы в России, в которой важное место отводится решению проблемы им-портозамещения [9], в частности, в сфере информационных технологий, позволят заменить ушедшие IT-решения западных стран.

Количество пользователей на момент окончания тестирования достигло нескольких десятков человек из России и стран Европейского союза.

Приложение 1.

def count_received_emojis_like(self, receivedjd): Counts number of all received like emojis

with self. connection: return self. cursor. execute('WITH "count_emojis Л5" as number,4d_received*"

"FROM *received_emoji" "GROUP BY 4d_receive<T)" "SELECT"number " "FROM *count_emojis*" "WHERE"id_received" = ?", (receivedjd,)). fetchallQ

Приложение 2.

polygon

= Polygon([(message['location']['latitude']

— 0.002,

message ['location'] ['longitude'] + 0.002),

(message['location']['latitude'] — 0.002, message^ location'] ['longitude'] — 0.002),

(message['location']['latitude'] + 0.002, message^ location'] ['longitude'] — 0.002),

(message['location']['latitude'] + 0.002, message^ location'] ['longitude'] + 0.002)])

Литература

1. Медиапотребление и активность в интернете // Всероссийский центр изучения общественного мнения [Электронный ресурс]. Режим доступа: https://wciom.ru/analytical-reviews/analiticheskii-obzor/mediapotreblenie-i-aktivnost-v-internete (дата обращения 14.03.2022).

96

СПбГЭУ

2. Исследование: Telegram стал самым быстрорастущим мессенджером в России // Российская газета [Электронный ресурс]. Режим доступа: https ://rg.ru/2021/12/22/issledovanie -telegram-stal-samym-bystrorastushchim-messendzherom-v-rossii.html (дата обращения 14.03.2022)

3. Психология и мессенджеры. Viber и PSYCHOLOGIES изучили поведенческие реакции россиян при общении в мессенджерах // Advertology.ru [Электронный ресурс]. Режим доступа: http://www.advertology.ru/article150178.htm (дата обращения 15.03.2022)

4. Савотин П.А., Ефремова Н.Е. Практическое применение асинхронного программирования на языке Python при помощи пакета asyncio// Программные системы и вычислительные методы. - 2018. - № 2. -С. 11-16. DOI: 10.7256/2454-0714.2018.2.2585. URL: https ://en. nbpublish. com/library_read_arti-cle.php?id=25851

5. Asyncio documentation [Электронный ресурс]. -Электрон. дан. - URL:

https://docs.python.org/3/library/asyncio.html (дата обращения 18.03.2022)

6. Aiohttp documentation [Электронный ресурс]. -Электрон. дан. - URL: https://docs.aiohttp.org/en/stable/ (дата обращения 18.03.2022)

7. Aiogram documentation [Электронный ресурс]. -Электрон. дан. - URL: https://docs.aiogram.dev/en/latest/ (дата обращения 18.03.2022)

8. Федеральный закон от 27.07.2006 г. № 152-ФЗ «О персональных данных» // СПС «КонсультантПлюс».

9. Горбашко Е.А. Подготовка кадров по управлению качеством для устойчивого развития административно-территориальных образований // Потребность в новых кадрах для государственной администрации и гражданского общества: политика и экономика. Материалы международной научно-практической конференции. -СПб, Нестор-История, 2015 -0,25 п.л.

УДК 332.05

РАЗВИТИЕ РЕГИОНАЛЬНЫХ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИХ СИСТЕМ

В СОВРЕМЕННЫХ УСЛОВИЯХ

С.К. Лунева

Санкт-Петербургский государственный экономический университет (СПбГЭУ), Россия, 191023, Санкт-Петербург, наб. канала Грибоедова, д. 30-32, литер А.

В статье рассмотрены производительные силы, как важнейший элемент социально-экономических систем. Представлена динамика основных социально - экономических показателей регионов РФ за 2020 г. Приведена сравнительная характеристики показателей смертности РФ с другими странами, показатели, характеризующие качественные и количественные характеристики населения, как производительных сил.

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

Ключевые слова: социально -экономические системы, региональные системы, управление социально -экономическими системами, производительные силы, население, социально - значимые услуги

DEVELOPMENT OF SOCIO-ECONOMIC SYSTEMS OF THE REGION IN MODERN

CONDITIONS

S.K. Luneva,

St. Petersburg State University of Economics, Russia, 191023, St. Petersburg, nab. Griboedov Canal, d. 30-32, letter A.

The article considers the productive forces as the most important element of socio-economic systems. The dynamics of the main socio-economic indicators of the regions of the Russian Federation for 2020 is presented. Comparative characteristics of the mortality rates of the Russian Federation with other countries, indicators characterizing the qualitative and quantitative characteristics of the population as productive forces are given.

Changes are proposed in the system of service provision, as one of the most important areas of the modern economy, the need to improve the quality and safety of health services, which will reduce the risks of premature mortality, morbidity, and increase the socio-economic indicators of the state.

Keywords: socio-economic systems, regional systems, management of socio-economic systems, productive forces, population, socially significant services.

1 Лунева Светлана Курусовна - старший преподаватель кафедры безопасности населения и территорий от чрезвычайных ситуаций СПбГЭУ, тел.: +7 911 915-16-70, e-mail: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.