Короткий опис
Клієнт звернувся до WebbyLab з проханням створити зручний інструмент для аналізу та дослідження ринків у різних країнах з метою виведення на них нових медичних продуктів.
Завдання
Під час роботи над інструментом доступу до ринку ми зіткнулися зі значним викликом. Зокрема, було вкрай важливо об’єднати в одній системі різні класифікатори захворювань, процедур і ліків для різних країн та налаштувати пошук так, щоб він надавав усі необхідні дані про захворювання, пов’язані з ними процедури та ліки.
Рішення
Виходячи з потреби клієнта у створенні високоякісної системи пошуку для різних типів медичних класифікаторів, ми створили систему, яка надає агреговану базу медичних знань та пошукову систему, що за допомогою штучного інтелекту може знаходити найбільш релевантні збіги в цій базі.
На першому етапі ми зосередилися на створенні агрегованої бази даних документів і тестуванні можливостей повнотекстового пошуку. Ми випробували різні розширені налаштування та методи, такі як стемінг слів, багатомовний пошук і генерація додаткових даних за допомогою моделей штучного інтелекту, щоб досягти кращої якості пошуку.
На цьому етапі ми досягли ефективності пошуку до 50% від необхідного результату. Проблемою, яка завадила нам продовжувати оптимізацію, була відсутність зв’язків у вихідних даних та обмежені можливості повнотекстового пошуку. Він не міг знайти семантично правильні результати у складній медичній галузі.
Тому ми розпочали процес дослідження, щоб знайти нові технології, які допомогли б нам досягти бажаних результатів.
На другому етапі проєкту ми розглянули напрямок RAG — Retrieval Augmented Generation (пошук з розширеним генеруванням). Це техніка, яка поєднує можливості попередньо навченої великої мовної моделі з зовнішнім джерелом даних. Основна ідея полягала в тому, щоб надати моделі штучного інтелекту базу даних з галузевими знаннями для пошуку даних.
Ця база даних повинна містити дані у форматі, зрозумілому для штучного інтелекту — вектори, які також називаються вбудовуваннями. Це числові представлення понять, перетворені в числові послідовності, що полегшує побудову взаємозв’язків між цими поняттями. У нашому випадку нам був потрібен саме інструмент для побудови взаємозв’язків між медичними поняттями.
Один із способів побудови вбудовувань — навчання LLM. Це може бути ефективнішим, але дуже дорого і забирає багато часу. Інший спосіб — використання попередньо навчених моделей вбудовування, які вже містять інформацію про взаємозв’язки між даними. Ми вибрали останній варіант і створили власну базу даних вбудовувань за допомогою текстової моделі Open AI ADA.
У нашому випадку нам також не потрібні були генеративні відповіді ШІ для користувача, а скоріше структуровані результати з посиланнями на реальні документи. Тому ми вирішили використовувати окремий сервіс, який може здійснювати пошук у базі даних вбудовувань. Ми вибрали Azure Cognitive Search, оскільки наша система вже була підключена до цього хмарного провайдера, а його функцій було достатньо для наших потреб.
Ми налаштували гібридний пошук для нашої системи, який є поєднанням повнотекстового та векторного пошуку. Ми також налаштували семантичний рейтинг — функцію, що надається Azure для отримання більш семантично релевантних даних. Таким чином, ми значно підвищили ефективність пошуку та досягли до 95% всіх очікуваних результатів пошуку.


Модель архітектури програмного забезпечення
Система складається з односторінкового інтерфейсу, пов’язаного з монолітною серверною частиною, та декількох додаткових модулів, що використовуються для аналізу, збагачення та індексації медичних даних.
Система використовує набір сторонніх сервісів, таких як:
- Вбудована модель штучного інтелекту (OpenAI ADA)
- Генеративна модель штучного інтелекту (OpenAI GPT)
- Пошуковий сервіс (Azure Cognitive Search)
- Сервіс перекладу (Deepl, Azure Translator)
Ви можете побачити взаємозв’язки між цими компонентами на схемі нижче.
Основні характеристики
Розроблений інструмент планування доступу до ринку має такі особливості:
- Багатомовний пошук за допомогою штучного інтелекту в базі знань про класифікатори захворювань, процедури та ліки для їх лікування в різних країнах.
- Відображення пропозицій на початку пошуку, щоб допомогти користувачеві знайти бажаний результат.
- Збереження історії пошуку, щоб користувачі могли легко повернутися до попередніх результатів.
- Збереження результатів пошуку в PDF-звіті для подальшого аналізу інформації.
- Авторизація та управління користувачами на платформі для розподілу доступу між користувачами, орієнтованими на різні країни.
- Інструмент для отримання додаткової інформації про варіанти відшкодування витрат у різних країнах.
- Інструмент для оцінки значущості впливу на лікування новим лікарським засобом.
Результати
Ми впровадили новий продукт для аналізу та пошуку інформації для медичних ринків:
- Об’єднали 32 класифікаційні документи з різних країн в одну базу знань.
- Впровадили пошук на основі штучного інтелекту для 7 країн та 6 мов.
В результаті клієнт може аналізувати різні медичні ринки в одному місці, не шукаючи інформацію з різних джерел.