- 2009: открытие отдела разработки и внедрения программных решений polymedia
- 2021: открытие центра разработки polymedia
- 2021: открытие компании visiology
- 27 новых партнеров
- Адаптация под клиента
- Архитектура
- Субд viqube
- Вероятности
- Выбор метода визуализации
- Защита индустриальных проектов студентов магитратуры «иннополис»
- Инвестиции polymedia в проект visiology одобрены наблюдательным советом оэз «иннополис»
- Итак, зачем, все-таки, нужен виртуальный аналитик?
- Ищем смыслы
- Ключевые слова
- Не только смысл, но и вид
- Неопределенности и относительные даты
- Новости компании
- Открытие офиса в «иннополисе»
- Партнерство с «крок»
- Пользовательская аналитика
- Продукты
- Работа с большими данными
- Свой метод перевода
- Субд viqube
- Таблица соответствия
2009: открытие отдела разработки и внедрения программных решений polymedia
С 2009 года компания Polymedia привлекает в свой штат инженеров и программистов, такое развитие инженерного потенциала позволило компании открыть ОРВПР и приобрести новый статус среди других игроков АВ и ИТ рынка – «IT разработчик». Компания выпустила ряд решений.
2021: открытие центра разработки polymedia
Штат технических специалистов, инженеров и программистов компании составил к 2021 году более 50% всего коллектива. Постепенно, к 2021 году компания решила открыть на базе головного офиса Центр разработки. Первым продуктом центра стал электронный флипчарт Flipbox. Polymedia уже планирует выход с ним на международный рынок.
2021: открытие компании visiology
Команда Центра разработки Polymedia трансформируется в компанию Visiology (1 января 2021), занимающуюся разработкой программного обеспечения для российского рынка и международными продажами программных продуктов Polywall и Flipbox, на которые распространяются эксклюзивные права Visiology.
27 новых партнеров
В 2020 году значительно выросла партнерская сеть компании – присоединилось 27 новых партнеров, состоялось более 100 установок аналитической платформы Visiology, проведено более 350 обучений специалистов в учебных центрах Visiology и создан портал обратной связи.
На май 2020 года компания завоевала доверие более 100 партнеров по всему миру, которые реализовали более 400 проектов на основе Polywall в России, СНГ, Европе, Азии, Латинской Америке, Африке, Австралии и Северной Америке.
Адаптация под клиента
Помимо самой модели, которая обеспечивает базис, умеет выделять сущности и задавать правильные запросы, полезно бывает провести настройку под конкретную базу данных, чтобы учитывать термины, которые используются на конкретном производстве.
У нас, например, есть специальный инструмент, который позволяет конфигурировать и вписывать синонимы в простом и удобном формате. Это происходит при первичной настройке ViTalk.
Кроме этого, поиск по смыслам не всегда оказывается оптимальным. Например, если в вашей базе данных содержится несколько миллионов или сотен миллионов значений для какого-то параметра, такой поиск по смыслам будет очень долгим. Для таких случаев мы выбираем полнотекстовый поиск, который работает значительно быстрее.
Прелесть в том, что полнотекстовый поиск включается автоматически, когда система обнаруживает очень большие сущности. Но при необходимости можно отказаться от этого переключения. Также для оптимизации работы в настройках можно отключать отдельные элементы.
Архитектура
По функциональному назначению Visiology схожа с другими платформами бизнес-аналитики: она обеспечивает подключение к множеству разнородных источников данных, предоставляет инструменты анализа и обеспечивает визуализацию результатов на любом устройстве — от смартфона до видеостены.
Каждый из функциональных модулей платформы (рис. 1) отвечает за решение конкретной задачи: загрузка данных из существующих информационных систем, автоматизированный ввод данных, анализ и обогащение данных, визуализация. На входе аналитической системы — In-Memory OLAP база данных ViQube, которая обеспечивает работу размещенного на сервере аналитического веб-портала, отвечающего за визуализацию отчетности, управление правами доступа (функция Single Sign-On исключения повторного ввода пароля) и интеграцию со сторонними системами авторизации, например Active Directory.
Мобильное приложение Visiology Mobile позволяет бизнес-пользователю быстро получить необходимую информацию. Оно представляет собой копию аналитического веб-портала, однако здесь нет возможности создавать отчеты или менять исходные данные. В мобильном приложении имеется виртуальный аналитик ViTalk (рис. 2), способный работать в том числе в пространстве Telegram, что исключает необходимость установки дополнительных приложений, — в мессенджере появляется новый контакт, и здесь в свободной форме можно написать любой запрос к данным.
Виртуальный аналитик, по сути, превращает голосовое обращение в сложный OLAP-запрос и обрабатывает его, выдавая ответ в виде текста, таблицы, диаграммы, круговой диаграммы, графика или столбчатой диаграммы. В случае отсутствия уточняющего запроса, ViTalk автоматически подбирает формат визуализации исходя из объема и состава выводимых данных.
Конструктор отчетов — основной инструмент аналитика, позволяющий формировать и анализировать отчеты. В конструкторе предусмотрен инструментарий разработчика, который за счет наличия большого количества открытых API и SDK, библиотек плагинов, создаваемых сторонними разработчиками, и встроенных стилей позволяет выполнять достаточно сложные операции, такие как настройка интерактивности и определение показателей, вычисляемых «на лету».
Стандартные возможности визуализации, включающие базовый набор диаграмм и интерактивных действий, могут быть расширены с помощью JavaScript. Бизнес-логика дополняется средствами C# и Python, математика — средствами Python с помощью модуля моделирования, позволяющего исследователям данных (data scientist) публиковать модели для пользователей и создавать для них графические интерфейсы. В перспективе конструктор будет интегрирован с Jupyter Notebook — основным инструментом исследователей данных.
Модуль ввода данных позволяет создавать веб-формы, использование которых поможет избежать ошибок и снизить трудоемкость процесса консолидации данных в Excel [1]. С помощью таких веб-форм можно автоматизировать процессы сбора и согласования данных — например, сбор планов от подразделений и дочерних предприятий корпорации, консолидацию управленческой отчетности, сбор существующих отчетов, предоставляемых вручную.
В данном случае, в отличие от работы с известными платформами бизнес-аналитики (Power BI, QlikView и пр.), ввод данных полностью интегрирован в аналитическую платформу Visiology: пользователь создает модель данных и указывает бизнес-процессы, к которым предоставляется доступ. Нет необходимости в сложной разработке процессов выгрузки данных или ETL (Extract, Transform, Load).
Инструмент ViLoader, пока не входящий в состав платформы, позволяет загружать большие объемы файлов Excel (десятки тысяч), предварительно визуально их разметив в полуавтоматическом режиме (такие файлы часто содержат «грязные» данные), что экономит время и силы сотрудников компании.
Субд viqube
Аналитическая СУБД ViQube предназначена для выполнения многомерных аналитических запросов в отношении данных, размещенных в оперативной памяти, что позволяет существенно повысить производительность по сравнению с использованием традиционных реляционных OLAP СУБД. Кроме того, СУБД оптимизирована именно для работы с аналитическими запросами — для выполнения значительного объема вычислений агрегации над большим количеством значений. Например, аналитик обычно смотрит не на конкретную транзакцию, а на сумму миллионов транзакций за определенный период. Для такой нагрузки лучше подходит колоночное, а не строчное хранение, что в сочетании с режимом работы в памяти позволяет ViQube эффективнее использовать кэш процессора, применять оптимизацию для векторных инструкций и в целом быстрее выполнять аналитические запросы. Загрузка данных в ViQube осуществляется посредством механизма ETL с помощью SQL-запросов из любой реляционной СУБД, предоставляющей JDBC-драйвер. Для реализации более сложных сценариев интеграции доступен интерфейс разработчика REST API.
Существуют два варианта непосредственной трансформации данных для разных задач. Первый используется, когда требуется визуальный ETL — это использование интеграции с российской ETL-системой Loginom, среди коннекторов которой имеется визуальный конструктор данных. Второй вариант — ViXtract, ETL-инструмент с открытым кодом на основе Python, который представляет собой сборку на базе среды разработки Jupyter, библиотеки для трансформации данных PETL (package for extracting, transforming, loading) и планировщика Cronicle.
Вероятности
В итоге в качестве первого решения мы выбрали простую вероятностную модель, которая сопоставляла каждому из вариантов запроса некоторую вероятность, что пользователь имел в виду “именно это”. На вероятность влияло очень много факторов — находятся ли эти термины в одной группе?
Вот замечательный пример, который убил много сил и нервов: “План по прибыли и обороту”.
В базе данных, с которой мы работали в тот момент, были такие сущности, как «план по прибыли», «план по обороту», а также «прибыль» и «оборот» по отдельности. Понятно, что любой разумный человек может однозначно сказать, что имеется в виду в фразе «план по прибыли и обороту» — просто пользователь для лаконичности свернул два запроса в одно выражение. Но как объяснить это ViTalk, который реально пытается на такой запрос ответить?
Мы усложнили вероятностную модель и использовали построение синтаксического дерева для анализа того, что именно пользователь имел в виду. Это тоже не идеально работающее решение, потому что даже топовые платформы по построению синтаксических деревьев для русского языка достаточно часто ошибаются. А раз и вероятностная модель, и сторонние решения могут быть неверны, общая степень точности оказывается недостаточной.
Выбор метода визуализации
На вебинаре, посвященном ViTalk, мы показывали, что ассистент может по-разному показывать результаты своей работы. Иногда он выдаёт ответ текстом, бывают диаграммы и линейные графики. И в каждом случае есть свои предпочтения. Например, в запросе «динамика по прибыли по месяцам», все, конечно, хотят увидеть не столбчатую диаграмму, а линейный график — ведь на нем как раз видно динамику. Поэтому в ViTalk мы зашили некоторые паттерны представлений разных категорий данных.
Например, проанализировав стандартные аналитические паттерны, посмотрев логи, мы пришли к выводу, что чаще всего наших пользователей интересует сравнение, сопоставление или “топ” каких-то показателей. Часто хотят увидеть ТОП лучших сотрудников, ТОП продаваемых товаров, а также динамику этих изменений.
Чтобы удовлетворить эти запросы, нам пришлось реализовать подсветку дополнительных параметров. При отработке запросов на сравнение он показывает несколько столбцов, явно подчёркивая разницу, а при демонстрации ТОПов выделяет самые-самые результаты. Для динамики у нас всегда — линейный график. А когда мы делаем запрос “кто у нас самый эффективный сотрудник”, результат будет в виде текста и числа с KPI.
Самое сложное при разработке инструмента конфигурации было выдержать баланс. С одной стороны, нужно было, чтобы пользователь мог гибко настроить решение под себя, с другой стороны — чтобы это не превращалось в какую-то сложную работу, которую все захотят пропустить.
Защита индустриальных проектов студентов магитратуры «иннополис»
22 Августа 2021 выпускники магистратуры «Управление разработкой ПО» Университета Иннополис защитили дипломные работы, которые компании-заказчики уже используют в своей работе.
Студенты магистратуры презентовали окончательные индустриальные проекты, задачи по которым ставили представители российской ИТ-отрасли. Защита проходила в рамках уникальной программы вуза «Управление разработкой ПО», которая позволяет специалистам получить карьерный рост, стать техническим лидером, программным архитектором или менеджером проектов. В качестве итоговой работы выпускники программы разрабатывают реальный проект с компаниями-партнерами университета.
Учащиеся представили продукты, над которыми они работали с «Ак Барс Банком», Visiology, Acronis, I-Teco, «Дневник.ру», «СКБ Контур» и Runa Capital. После презентации студенты получили оценки специалистов со стороны Университета Иннополис и отзывы представителей компаний, работавших со студентами.
Инвестиции polymedia в проект visiology одобрены наблюдательным советом оэз «иннополис»
2 сентября 2021 Наблюдательный совет особой экономической зоны “Иннополис” одобрил пять проектов ИТ-компаний, претендующих на статус резидентов ОЭЗ. Общий объем инвестиций составляет 99,2 млн рублей. Провел совещание президент Татарстана Рустам Минниханов.
В числе пяти утвержденных кандидатов – разработчик BI-решений компания Visiology, входящая в состав холдинга Polymedia. На базе Иннополиса компания открывает офис ООО “Визиолоджи Технологии” во главе с директором Visiology Иваном Вахмяниным.
Помимо Visiology, Набсовет утвердил еще четыре проекта: Voice2Med от группы ЦРТ, платформу ОПТИМУМ от ООО “ТатМобайлИнформ СиДиСи”, систему “Дисциплина” от ООО “Дисциплина Большие Данные” и мобильное приложение “ЛокФорГейт”.
Итак, зачем, все-таки, нужен виртуальный аналитик?
Аналитики Gartner, например, считают1, что уже в ближайшие годы половина запросов к Business Intelligence системам будет сформулирована на естественном языке. Идея в том, что, если такая возможность будет, к анализу данных получат доступ кратно больше людей, чем сейчас.
Я думаю, что по срокам они тут слишком оптимистичны, но за этим точно будущее и со временем NLQ (Natural Language Query) станет одним из основных интерфейсов исследования данных. Особенно, когда виртуальный аналитик сможет не только отвечать на вопрос “Что произошло?”, но и наш любимый “Что делать?”. Ну или, хотя бы, давать полезные советы.
У меня идея создания такого виртуального аналитика появилась давно, но получилось сделать рабочий вариант далеко не с первого раза. С момента создания компании в 2021 году примерно раз в год мы делали “подход к станку”. Первые два подхода закончились плохо — прототипы хорошо работали на заготовленных вопросах, но как только вопрос задавал неподготовленный человек, все сразу ломалось.
После этого мы решили, что мы верим, что за этим будущее, и решили вложить силы в создание уже полноценного продукта. Выяснилось, что разработка аналитика, которым действительно удобно пользоваться — долгий и сложный путь, на котором нужно решать массу как ожидаемых, так и неожиданных проблем.
Задача виртуального ассистента — чётко и предсказуемо переводить запросы с естественного языка в структурированные запросы. Мы начали пробовать разные подходы и идеи, начиная с самых очевидных, и в результате пришли к достаточно сложному и развитому инструменту. Но расскажем обо всём по порядку.
Ищем смыслы
Раз не получается искать по словам, мы будем искать по смыслам! В 2021 году была предложена успешная и очень эффективная реализация представления слов (words embeddings). Если вкратце, то каждому слову мы сопоставляем некоторый набор чисел. Если представить этот набор, как координаты, то слово оказывается точкой в n-мерном пространстве (часто используется 300-мерное).
Сопоставление чисел происходит таким образом, чтобы между словами была связь: чем вероятнее соответствующим словам встретиться в одном контексте, тем ближе будут точки в пространстве. Например, «король» и «Луи» должны быть рядом друг с другом, хотя бы из-за песни про Луи II.
С тех пор как word2vec (эффективную модель для получения таких представлений) была предложена чешским аспирантом Томашем Миколовым, эмбеддинги получили широкое распространение и начали создаваться не только для английского, но и для других языков и их сочетаний.
Самое замечательное, что некоторые операции с полученными наборами чисел имеют смысл с точки зрения смысла слов!
Например, что будет, если мы от “Лондона” отнимем “Англию” и прибавим “Россию”? Этот пример почти всегда приводят на лекциях по NLP. “Лондон” относится к “Англии” в отношении «столица — страна». Логично, что после выполнения действий получится «Страна, столица страны Россия».
К счастью, существуют такие проекты как «RusVectōrēs», с помощью которых в свободном доступе находится широкий выбор предпосчитанных эмбеддингов. Воспользоваться ими при разработке ViTalk показалось логичным, ведь вектора в многомерном пространстве позволяют сравнивать не просто звучание и написание слов, а их смыслы.
Ключевые слова
Второй подход — узнавать запросы по ключевым словам. Можно создать базу таких слов и сразу же искать внутри запроса ключевики, которые есть в нашей базе.
Но и этот подход чреват проблемами. Во-первых, для слов существуют синонимы: вместо KPI можно спросить про производительность, а рабочие дни – назвать буднями. Вариантов таких замен очень много, и прописать все возможные синонимы в базе не получается.
Не только смысл, но и вид
А что, если в базе есть похожие сущности? Например, слова «рабочий» и «день» — весьма распространённые, они могут встречаться в разных сущностях. Как нам их отличить? В этом случае эмбеддинги никак не спасают, и появляется идея рассматривать слова не только по смыслам, но и смотреть по виду.
Но тут возникает проблема приведения фраз естественного языка в начальную форму. Ведь мы говорим «по рабочим дням» — в дательном падеже. В базе, естественно, все хранится в именительном падеже. Как минимум, нужно приводить слово к именительному падежу, единственному числу и так далее.
А приведение — задача непростая, даже если пользоваться уже готовыми решениями. В этом процессе могут возникать всякие казусы. Например, мы долго боролись с тем, что слово “филиал” различные движки воспринимают как глагол в прошедшем времени и преобразуют в «филиасть».
Кроме этого, есть такие сущности, которые просто не могут быть в одном запросе. Например, там, где есть рабочие дни, у нас нет отдельного показателя KPI, то есть для рабочих дней KPI не определен. Но есть KPI для “рабочих цеха”. Что делать при неправильном запросе?
Неопределенности и относительные даты
Ещё один момент, отработка которого отняла много времени, — это относительные даты. Очень часто пользователю BI-системы не хочется конкретно указывать диапазон времени. Он может сказать: «прошлый квартал», или “3 месяца назад”. Перевести такой запрос в нормальный формат оказалось не так-то просто.
Конечно, есть готовые решения, которые позволяют преобразовать относительные даты. Но поизучав немного, мы решили ими не пользоваться, потому что нам нужно было обеспечить одновременно и скорость отработки и точность распознавания. В результате было создано собственное решение, которое выделяет из запроса именно такие сущности, как время и дата.
Но даже при всем этом в запросах по-прежнему остается масса неопределенностей. Например, пользователь может и не помнить, что у него в базе есть несколько сущностей с одинаковыми названиями. В таком случае ассистент не может корректно ответить на запрос в принципе.
Часто встречается ситуация, когда календарь хранится в разных понятиях: дата доставки, дата продажи, дата производства. И когда человек спрашивает: “покажи нам прибыль в 2021 году”, нужно, чтобы ViTalk задал уточняющий вопрос. Выделить те ситуации, когда мы должны не просто отсечь одну сущность, а задать вопрос, было непросто.
На практике часто бывает так, что сущности оказываются составными. Например, крупная категория «Бакалея, сахар, соль» может сопровождаться подкатегориями «Бакалея», «Сахар», «Соль», которые существуют по отдельности. В таких случаях мы начали уточнять, что именно хочет узнать пользователь — данные по всей категории или получить информацию по подкатегориям?
Новости компании
Открытие офиса в «иннополисе»
9 декабря 2021 года в административно-деловом центре им. А.С.Попова (на территории Особой экономической зоны «Иннополис») при участии мэра ИТ-города Руслана Шагалеева состоялась церемония открытия офиса компании “Визиолоджи Технологии”.
Участниками мероприятия стали генеральный директор компании Polymedia и учредитель “Визиолоджи Технологии” Елена Новикова, Иван Вахмянин, руководитель компании Visiology и учредитель “Визиолоджи Технологии”, Искандер Бариев, проректор и начальник управления проектной и научно-исследовательской деятельности университета «Иннополис» и Денис Исмагилов, начальник отдела по работе с инвесторами ОЭЗ «Иннополис».
На 9 декабря 2021 года в составе команды разработки “Визиолоджи Технологии” шесть человек, двое – выпускники магистратуры университета «Иннополис», ранее сотрудничали с Visiology в рамках индустриального проекта и теперь вошли в штат.
В планах – сотрудничество с университетом и приём в ряды сотрудников талантливых студентов. В 2021 году Visiology подала заявку на участие в индустриальном проекте «Разработка мобильного приложения для компонента аналитической платформы Visiology “Пользовательская аналитика”» и уже прошла первый отборочный тур.
Партнерство с «крок»
ИТ-компания «Крок» 11 марта 2020 года сообщила о том, что заключила партнерское соглашение с Visiology, разработчиком одноименной платформы. Это позволит «Крок» расширить портфолио решений по импортозамещению в сегменте бизнес-аналитики и корпоративного управления, а вендор сможет принимать участие в масштабных и комплексных проектах на всей территории России. Подробнее здесь.
Пользовательская аналитика
Для начала работы пользователю достаточно выбрать те показатели и измерения, которые его интересуют. После этого система автоматически построит для них различные представления – табличный вид, гистограмма для сравнительного анализа, круговая диаграмма для анализа «часть-целое», график изменения показателей во времени, а также отобразит показатели на карте, если в данных есть геопривязка.
Продукты
Основной продукт компании – аналитическая платформа Visiology, которая помогает бизнесу и государству работать с данными, контролировать ключевые показатели, решать задачи прогнозирования и планирования. Среди особенностей платформы на май 2020 года: виртуальный аналитик ViTalk, собственная In-Memory технология обработки данных ViQube, система сбора отчетности через веб-формы и наглядная и понятная визуализация на любых устройствах — от смартфонов до видеостен.
На основе платформы Visiology разрабатываются аналитические решения для промышленных отраслей, таких как строительство, фармацевтика, дистрибуция и многих других, а также для различных сфер государственного управления.
Для зарубежных пользователей компания предлагает программный продукт Polywall – программное решение высокого класса для управления видеостенами и информационными дисплеями в ситуационных центрах, диспетчерских и центрах управления.
Работа с большими данными
Идеальная система бизнес-аналитики должна позволять руководителю контролировать все аспекты бизнеса, однако на практике часто получается так, что данных для принятия решений либо слишком мало, либо слишком много. В последнем случае требуется помощь аналитика или специалиста по исследованию данных.
Иногда оказывается, что данные вообще находятся в некоторой «слепой» зоне: они есть, но не визуализируются по разным причинам — в том числе из-за нехватки компетенций и неготовности инструментов. Неструктурированные или «грязные» данные вообще не поддаются аналитике.
Инструменты бизнес-аналитики должны позволить сформировать полную картину по всем метрикам бизнеса, что реализуется стандартными инструментами любой системы бизнес-аналитики при использовании традиционных ERP-систем и баз данных. Однако при работе с большими данными сложно собрать всю информацию в «едином окне» — требуются специальные инструменты.
При работе с большими данными и обслуживании множества одновременно работающих пользователей, In-Memory-движок ViQube работает в режиме push-down автоматической генерации SQL-запросов к распределенным СУБД c массовым параллелизмом (MPP): Arenadata, HP Vertica, Yandex ClickHouse.
Такая интеграция основана на гибридном подходе: «горячие» данные размещаются в оперативной памяти, быстро обновляются и доступны для обработки аналитиком без задержек, а «холодные» ретроспективные данные содержатся в реляционном хранилище. Если запрос затрагивает «холодные» данные, то ViQube, вместо того чтобы сделать запрос самостоятельно, генерирует SQL-запрос и выполняет его на распределенной СУБД.
***
Аналитическая платформа Visiology используется в таких компаниях, как «Алроса», «Росатом», «Роскосмос», Русская медная компания, и рекомендована Аналитическим центром при правительстве РФ к использованию в субъектах РФ. Выбранная архитектура Visiology позволяет обеспечить высокую производительность при работе с любыми объемами данных и при произвольном количестве пользователей, получающих через встроенный модуль веб-форм доступ к разнообразным источникам данных в различных форматах.
Литература
Свой метод перевода
В итоге, после множества усложнений, у нас получилась достаточно сложная модель для работы с запросами на естественном языке. Нас часто спрашивают: “Почему мы не пользуемся готовыми решениями?” Ведь задача перевода с естественного языка на язык структурированных запросов достаточно стандартна.
Взять, например, GPT-3 от OpenAI, которая шокирует всех своими потрясающими сгенерированными текстами. Почему не воспользоваться чем-то похожим? Дело в том, что подход GPT-3 требует много ресурсов, а пользователю хочется быстро получить ответ на свой вопрос (не имея, как правило, больших вычислительных мощностей).
Есть и третья проблема использования GPT-3 и подобных решений. Она заключается в том, что для дообучения системы требуется большая выборка. Но базы наших клиентов разнообразны, их много, а история обращения — не такая большая. К тому же всё это может не учитывать потребности клиентов, которые в своем лексиконе используют много жаргонизмов, характерных для конкретной компании.
Часто какой-то термин используется именно здесь и именно так. Соответственно, распознавание запросов требует дообучения, а выполнить мы его не можем из-за отсутствия достаточной выборки. Так что вероятностная модель — своя и, тем более, уже адаптированная, оказывается лучше.
Субд viqube
Аналитическая СУБД ViQube предназначена для выполнения многомерных аналитических запросов в отношении данных, размещенных в оперативной памяти, что позволяет существенно повысить производительность по сравнению с использованием традиционных реляционных OLAP СУБД.
Кроме того, СУБД оптимизирована именно для работы с аналитическими запросами — для выполнения значительного объема вычислений агрегации над большим количеством значений. Например, аналитик обычно смотрит не на конкретную транзакцию, а на сумму миллионов транзакций за определенный период.
Для такой нагрузки лучше подходит колоночное, а не строчное хранение, что в сочетании с режимом работы в памяти позволяет ViQube эффективнее использовать кэш процессора, применять оптимизацию для векторных инструкций и в целом быстрее выполнять аналитические запросы.
Существуют два варианта непосредственной трансформации данных для разных задач. Первый используется, когда требуется визуальный ETL — это использование интеграции с российской ETL-системой Loginom, среди коннекторов которой имеется визуальный конструктор данных.
Второй вариант — ViXtract, ETL-инструмент с открытым кодом на основе Python, который представляет собой сборку на базе среды разработки Jupyter, библиотеки для трансформации данных PETL (package for extracting, transforming, loading) и планировщика Cronicle.
Таблица соответствия
Первая идея для ViTalk была достаточно простой. Чтобы запустить виртуального ассистента, можно просто сохранить конкретные фразы в таблице, чтобы в будущем передать на движок ViQube правильные запросы. Решение очевидное… но и с очевидными недостатками.
Во-первых, баз данных может быть много даже у одного пользователя, что уж говорить об использовании системы разными клиентами? Неужели надо каждый раз перевбивать эти запросы? К тому же, как правило, человек не ограничивается одним запросом про прибыль. У руководителя может быть большой словарный запас, поэтому заранее внести все фразы в систему не получится.
Вторая проблема заключается в том, что один и тот же вопрос можно задать по-разному. Пользователь не будет запоминать, как именно сформулированы запросы, которые хранятся в базе. Даже такой простой вопрос как «Прибыль сегодня» можно задать, назвав конкретную дату или день недели.
Очень часто пользователи (мы видим это при анализе логов) прибавляют к запросу «наша компания», «у нас», другие притяжательные местоимения. Слово «прибыль» можно вообще заменить на «доходы», либо сформулировать вопрос в глагольной форме — это естественно для человека, но создает кучу сложностей для “таблицы”, в которую будут записаны сопоставления.