Comprehensive technological enhancements across multiple streams for an ontology provider

Firma Innowise przeprowadziła wieloaspektową oprogramowanie do badań medycznych upgrade for an ontology provider, incorporating AI-driven search, custom data dashboards, and ontology integration.

Wyzwanie

Główne wyzwania, przed którymi stanął nasz klient, koncentrowały się wokół trzech głównych obszarów: rozwój front-endu dla ich systemu wyszukiwania opartego na sztucznej inteligencji, automatyzującego Wizualizacji danych within medical research software, and integrating their ontologies into an existing system:

  • Rozwijanie front-endu systemu wyszukiwania opartego na sztucznej inteligencji: Głównym wyzwaniem dla klienta było ulepszenie interfejsu systemu wyszukiwania opartego na ontologii, dostosowanego do platform internetowych i mobilnych. System ten był integralną częścią zarządzania obszerną kolekcją artykułów naukowych. Aktualizacja wymagała ułatwienia możliwości wyszukiwania, przeglądania źródeł i dodawania adnotacji do pojęć i terminów naukowych w różnych formatach dokumentów. Ograniczenia poprzedniego systemu, w szczególności brak filtrów wyszukiwania i funkcji adnotacji, utrudniały pełne wykorzystanie naukowej bazy danych.
  • Automatyzacja wizualizacji danych na potrzeby badań naukowych:< The client faced a challenge in automating data visualization for their scientific data analysis. The required system needed to support data scientists in identifying, preparing, and validating data, as well as in creating informative dashboards. This was crucial for classifying and linking medical entities, identifying molecular targets for new pharmaceuticals, and facilitating research on diseases.
  • Ontology system integration: Integrating the client’s ontologies into an existing system presented a unique challenge. The company’s legacy system heavily depended on manual processes for document handling and data entry. Our task was to modernize this system by automating document analysis and database uploads, developing a new interface, and establishing a system back-end. System ten musiał obsługiwać dwie różne role użytkowników: osoby odpowiedzialne za przesyłanie i edycję dokumentów oraz administratorów przeglądających i potwierdzających te wpisy.

Rozwiązanie

Zespół Innowise skupił się na trzech kluczowych aspektach projektu:

Ulepszanie systemu wyszukiwania w oprogramowaniu do badań medycznych

Nasz zespół skupił się na opracowaniu i ulepszeniu wyspecjalizowanego systemu wyszukiwania opartego na sztucznej inteligencji - kluczowego podsystemu w ramach większej struktury, zaprojektowanego dla interfejsów internetowych i mobilnych. Zadanie to obejmowało wiele ulepszeń technicznych i funkcjonalnych:

  • Zaawansowane wyszukiwanie dokumentów: Umożliwiliśmy systemowi przeprowadzanie dogłębnych wyszukiwań w różnych formatach dokumentów z ogromnego repozytorium dokumentów. System umożliwił użytkownikom lokalizowanie dokumentów, przeglądanie źródeł wewnętrznych i zewnętrznych oraz identyfikowanie kluczowych pojęć naukowych i adnotacji wyróżnionych w tych dokumentach.
  • Adnotacje i kategoryzacja: Krytyczną funkcją była możliwość wybierania przez użytkowników określonych słów lub biletów w dokumentach i przypisywania ich do odpowiednich domen w celu adnotacji. Zintegrowaliśmy funkcje sztucznej inteligencji oparte na GPT, aby pomóc użytkownikom w prawidłowym dodawaniu adnotacji i kategoryzowaniu każdego terminu lub jednostki.
  • Proces zgłaszania i recenzowania: Po wprowadzeniu zmian lub dodaniu nowych informacji do dokumentu, system ułatwiał proces weryfikacji. Użytkownicy mogli przesyłać te zmiany, które następnie były wysyłane do administratora w celu przypisania statusu i zatwierdzenia nowych adnotacji, komentarzy lub kategoryzacji.
  • Funkcje zapytań i analiz: Użytkownicy mogą teraz wybierać dokumenty z dużej bazy danych i dodawać je do zbiorczego koszyka. Następnie mogą przeszukiwać te dokumenty za pomocą paska wyszukiwania w Analizatorze, zadając konkretne pytania lub żądając podsumowań i analiz na podstawie Technologia GPT.
  • Tworzenie niestandardowych filtrów: Nasz programista stworzył zaawansowane filtry do wyszukiwania dokumentów, dostosowane do różnych typów źródeł.
  • Wyzwania związane z przeglądarką dokumentów: Jednym ze złożonych zadań było opracowanie przeglądarki dokumentów zdolnej do wyświetlania zaznaczonych adnotacji na dokumentach PDF. Wymagało to skomplikowanej koordynacji back-endowej w celu poprawnego nakładania adnotacji.
  • Przegląd starszego kodu i architektury: Zajęliśmy się wyzwaniami związanymi ze starszym kodem i brakiem struktury architektonicznej, zapewniając, że system został zbudowany na solidnych, nowoczesnych fundamentach technologicznych.
  • Integracja wielu wersji GPT: Nasz zespół ulepszył system o wiele wersji GPT (3.5, 4, Davinci), umożliwiając bardziej wszechstronną analizę dokumentów.
  • Integracja LLM: Innowise skupił się na rozwoju LLM, który pozwala użytkownikom na wprowadzanie zapytań w języku naturalnym. Po przekonwertowaniu zapytań na żądania zaplecza, mogą one zostać wysłane na serwer.

Automatyzacja pulpitu nawigacyjnego w nauce o danych

Nasz zespół data science koncentrowała się na automatyzacji wizualizacji danych za pomocą pulpitów nawigacyjnych, co było kluczowym elementem badań klienta w zakresie identyfikacji celów molekularnych dla nowych terapii farmaceutycznych. Główne badane choroby obejmowały otyłość i choroby mięśni.

  • Tworzenie pulpitu nawigacyjnego: Celem zespołu było stworzenie pulpitów nawigacyjnych do wizualizacji danych farmaceutycznych. Wiązało się to z przetwarzaniem dużych zbiorów danych, które są ogromną liczbą artykułów medycznych z adnotacjami z unikalnym identyfikatorem i metadanymi, w celu utworzenia dużych tabel GBQ. 

  • Wizualizacja danych: Korzystanie z Looker StudioPrzekształciliśmy te duże tabele danych w mniejsze, łatwiejsze w zarządzaniu formaty do tworzenia pulpitów nawigacyjnych. Ten etap wizualizacji był niezbędny, aby eksperci mogli lepiej przeglądać i filtrować dane.

  • Automatyzacja pulpitu nawigacyjnego: Po zatwierdzeniu przez ekspertów medycznych zautomatyzowaliśmy tworzenie pulpitu nawigacyjnego przy użyciu technik inżynierii danych. Obejmowało to wykorzystanie repozytoriów zawierających skrypty SQL do pobierania wymaganych informacji. Skrypty te zostały zaplanowane do uruchamiania w określonych odstępach czasu, zapewniając aktualność pulpitów nawigacyjnych z najnowszymi wynikami badań.

  • Ciągłe aktualizacje i integracja: Nasze rozwiązanie pozwoliło na ciągłą integrację nowych istotnych publikacji z pulpitami nawigacyjnymi. Ten dynamiczny proces aktualizacji był ułatwiany przez Google Cloud Functions. Dzięki temu pulpity nawigacyjne były aktualizowane o najnowsze dane.

  • Zarządzanie zapytaniami: Obsługiwaliśmy zapytania poprzez duże tabele, wyciągając konkretne informacje na podstawie zapytań wyszukiwania. Następnie zespół wizualizował te statystyki na pulpitach nawigacyjnych i identyfikował wszelkie problemy w zapytaniach wyszukiwania.

Ontology integration in research

Our project focused on integrating our client’s ontologies into an established lab management software. This task involved several key steps to modernize and automate their outdated system:

  • Analiza i badania systemowe: Zaczęliśmy od dokładnej analizy i zbadania starszego systemu klienta. To Oprogramowanie do zarządzania laboratorium, używane głównie do przechowywania raportów i wyników badań, było oparte na starszym oprogramowaniu. Java wersje i technologie JSP.
  • Opracowanie nowego interfejsu i zaplecza: Nasze podejście obejmowało opracowanie nowego interfejsu i systemu zaplecza w celu zautomatyzowania procesu analizy dokumentów i aktualizacji bazy danych, który wcześniej był wykonywany ręcznie.
  • Typy użytkowników i funkcje: Zaprojektowaliśmy system z myślą o dwóch różnych typach użytkowników:
  • Przesyłający dokument: Naukowcy, którzy dodają dokumenty do systemu. Po dodaniu adnotacji do dokumentu pojawia się on na specjalnej stronie, na której przesyłający może przejrzeć wyniki, dokonać edycji i potwierdzić przesłanie do bazy danych.
  • Administrator: Odpowiedzialny za przeglądanie i potwierdzanie dodanych dokumentów. Rola ta obejmuje kompleksowy przegląd dokumentów, z możliwością edycji, zatwierdzania lub wprowadzania zmian przed ostatecznym wprowadzeniem do bazy danych.
  • Rozwój back-endu i przegląd starszego kodu: Nasz programista podjął się zadania przebudowy istniejącego kodu. Wiązało się to z pisaniem stron JSP zgodnie ze specyfikacją klienta i rozwijaniem funkcji zaplecza (żądania, odpowiedzi, przetwarzanie danych i wprowadzanie danych do bazy danych).
  • Rozwój interfejsu administratora: Opracowaliśmy również część administracyjną systemu, w której administrator (zazwyczaj kierownik działu badawczego) otrzymuje powiadomienie z linkiem do interfejsu wyświetlającego informacje z bazy danych.
  • Integracja interfejsu API ontologii: Rdzeniem naszego rozwiązania była integracja interfejsu API Ontology z oprogramowaniem klienta do zarządzania laboratorium. Ten interfejs API służył jako punkt do wysyłania zapytań związanych z dokumentami i otrzymywania odpowiedzi, które były następnie przetwarzane i wyświetlane za pośrednictwem interfejsu użytkownika, zanim zostały wysłane do bazy danych klienta.
  • Obsługa dokumentów i danych: In this system, documents uploaded to the ontological system were processed, and the resulting data was saved in the company’s research database. This allowed for automatic analysis of documents and retrieval of important information.
  • Rozwój w pełnym zakresie: Nasz programista pracował jako inżynier full-stack, zajmując się zarówno aspektami front-end, jak i back-end oraz zapewniając płynną integrację wszystkich komponentów systemu.

Technologie

Języki programowania

JavaScript, TypeScript, Java
React, react-pdf, Redux, Redux-thunk, React-redux, Primereact, SASS, Lodash, Axios, FileSaver, GPT-Tokenizer
Spring boot, Java z bibliotekami Lucene, Stardog
Python (Pandas, Numpy, Plotly, Matplotlib), GCP (Google Big Query, Google Cloud Storage, Cloud Run), Looker, Data Studio, Apache Solr, niestandardowe narzędzia do przetwarzania i wizualizacji danych.

Proces

Nasze podejście do procesu rozwoju było metodyczne i zgodne z zasadami Agile, co zapewniło elastyczność i ciągłe doskonalenie.

Na początku przeprowadziliśmy dokładne badania, aby zrozumieć potrzeby klienta i istniejące systemy, aby dostarczyć szczegółowy dokument "Wizja i zakres". Na podstawie wstępnych ustaleń przystąpiliśmy do projektowania i opracowywania niezbędnych funkcji dla każdego strumienia. Nasz zespół odbywał regularne spotkania sprintowe, aby potwierdzić, że nasza praca jest zgodna z oczekiwaniami klienta. Wszystkie funkcje zostały wdrożone i poddane rygorystycznym testom pod kątem wydajności i dokładności, a klient zapewniał ciągłe informacje zwrotne.

Do skutecznej komunikacji i śledzenia projektów wykorzystaliśmy narzędzia Microsoft i Monday.com, zapewniając przejrzysty proces i aktualizacje w czasie rzeczywistym.

Wymagany zespół

1

Kierownik projektu

3

Programiści React

3

Programiści Java

1

ML/Python Developer

2

Inżynierowie danych

Wyniki

W ramach współpracy z klientem, obejmującej trzy kluczowe strumienie, poczyniliśmy znaczne postępy w rozwijaniu jego możliwości w zakresie badań naukowych. Oto migawka rzeczywistych wyników:

  • Usprawnione operacje wyszukiwania: Wysiłki naszego zespołu w zakresie udoskonalenia systemu wyszukiwania doprowadziły do podwojenia szybkości wyszukiwania, przynosząc korzyści badaczom w ich dążeniu do szybkiego dostępu do danych naukowych.
  • Precyzja w adnotacjach: Wprowadzenie zautomatyzowanego systemu adnotacji zaowocowało zwiększoną dokładnością adnotacji, co jest czynnikiem krytycznym dla dogłębnych badań naukowych.
  • Zwiększona wydajność obsługi danych: Automatyzując procesy wizualizacji danych, skutecznie skróciliśmy o połowę czas poświęcany przez badaczy na ręczną obsługę danych, co przekłada się na więcej czasu na podstawowe działania badawcze.
  • Zwiększona prędkość przetwarzania danych: Szybkość przetwarzania i wizualizacji danych została zwiększona trzykrotnie, co oznacza skok w obsłudze złożonych zestawów danych.
  • Zoptymalizowane doświadczenie użytkownika: Zmodernizowany interfejs użytkownika naszych systemów doprowadził do znacznego wzrostu zadowolenia użytkowników, sprzyjając lepszemu zaangażowaniu w społeczność naukową.
  • Wyzwolony czas na badania: Automatyzacja rutynowych zadań doprowadziła do redukcji ręcznej obsługi danych o 60%, uwalniając czas badaczy, wcześniej pochłaniany przez pracę ręczną.

    Skontaktuj się z nami

    Umów się na rozmowę lub wypełnij poniższy formularz, a my odezwiemy się do Ciebie po przetworzeniu Twojego zgłoszenia.

    Wyślij nam wiadomość głosową
    Załącz dokumenty
    Prześlij plik

    Można załączyć 1 plik o rozmiarze do 2 MB. Prawidłowe formaty plików: pdf, jpg, jpeg, png.

    Klikając "Wyślij", wyrażasz zgodę na przetwarzanie Twoich danych osobowych przez Innowise zgodnie z naszą Politykę Prywatności w celu przekazania Ci odpowiednich informacji. Podając numer telefonu, zgadzasz się na kontakt za pośrednictwem połączeń głosowych, SMS-ów lub komunikatorów. Mogą obowiązywać opłaty za połączenia, wiadomości i transmisję danych.

    Możesz także wysłać swoje zapytanie
    na contact@innowise.com
    Co dalej?
    1

    Po otrzymaniu i przetworzeniu zgłoszenia skontaktujemy się z Tobą, aby szczegółowo opisać projekt i podpisać umowę NDA w celu zapewnienia poufności.

    2

    Po zapoznaniu się z Twoimi potrzebami i oczekiwaniami, nasz zespół opracuje projekt wraz z zakresem prac, wielkością zespołu, wymaganym czasem i szacunkowymi kosztami.

    3

    Zorganizujemy spotkanie w celu omówienia oferty i ustalenia szczegółów.

    4

    Na koniec podpiszemy umowę, błyskawicznie rozpoczynając pracę nad projektem.

    strzałka