Comprehensive technological enhancements across multiple streams for an ontology provider

A Innowise executou um projeto multifacetado software de investigação médica upgrade for an ontology provider, incorporating AI-driven search, custom data dashboards, and ontology integration.

Desafio

Os principais desafios que o nosso cliente enfrentou centraram-se em três áreas principais: desenvolver um front end para o seu sistema de pesquisa baseado em IA, automatizando visualização de dados within medical research software, and integrating their ontologies into an existing system:

  • Desenvolver o front-end do sistema de pesquisa alimentado por IA: O principal desafio do cliente consistia em melhorar o front end do seu sistema de pesquisa baseado em ontologias, adaptado para plataformas Web e móveis. Este sistema era essencial para a gestão de uma vasta coleção de artigos científicos. A atualização exigia a facilitação das capacidades de pesquisa, a visualização de fontes e a anotação de conceitos e termos científicos em vários formatos de documentos. As limitações do sistema anterior, nomeadamente a falta de filtros de pesquisa e de funcionalidades de anotação, impediam a plena utilização da sua base de dados científica.
  • Automatização da visualização de dados para investigação científica:< 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 sistema back-end. Este sistema tinha de suportar duas funções de utilizador distintas: indivíduos responsáveis pelo carregamento e edição de documentos e administradores para rever e confirmar essas entradas.

Solução

A equipa da Innowise concentrou-se em três aspectos fundamentais do projeto:

Melhorar o sistema de pesquisa no software de investigação médica

A nossa equipa concentrou-se no desenvolvimento e aperfeiçoamento de um sistema de pesquisa especializado alimentado por IA - um subsistema fundamental dentro de uma estrutura maior, concebido para interfaces Web e móveis. Esta tarefa envolveu várias melhorias técnicas e funcionais:

  • Pesquisa avançada de documentos: Permitimos que o sistema efectuasse pesquisas aprofundadas em vários formatos de documentos a partir de um vasto repositório de documentos. O sistema permitiu que os utilizadores localizassem documentos, visualizassem fontes internas e externas e identificassem os principais conceitos científicos e anotações destacados nesses documentos.
  • Anotação e categorização: Uma caraterística essencial era a capacidade de os utilizadores seleccionarem palavras ou bilhetes específicos nos documentos e atribuírem-nos a domínios relevantes para anotação. Integrámos características de IA baseadas em GPT para orientar os utilizadores na anotação e categorização correctas de cada termo ou entidade.
  • Processo de apresentação e revisão: Ao fazer edições ou adicionar novas informações a um documento, o sistema facilitava um processo de revisão. Os utilizadores podiam submeter estas alterações, que seriam depois enviadas a um administrador para atribuição de estado e aprovação das novas anotações, comentários ou categorizações.
  • Características de consulta e análise: Os utilizadores podem agora selecionar documentos de uma grande base de dados e adicioná-los a um cesto coletivo. Podem então consultar estes documentos utilizando a barra de pesquisa do Analyzer, fazendo perguntas específicas ou solicitando resumos e análises com base em Tecnologia GPT.
  • Desenvolvimento de filtros personalizados: O nosso programador criou filtros sofisticados para a pesquisa de documentos, adaptados a vários tipos de fontes.
  • Desafios do visualizador de documentos: Uma das tarefas complexas foi o desenvolvimento de um visualizador de documentos capaz de apresentar anotações marcadas em documentos PDF. Isto exigiu uma coordenação intrincada do back-end para sobrepor corretamente as anotações.
  • Revisão do código herdado e da arquitetura: Abordámos os desafios apresentados pelo código antigo e pela falta de estrutura arquitetónica, garantindo que o sistema era construído sobre bases tecnológicas sólidas e modernas.
  • Integração de várias versões GPT: A nossa equipa melhorou o sistema com várias versões do GPT (3.5, 4, Davinci), permitindo uma análise mais versátil dos documentos.
  • Integração do LLM: A Innowise centrou-se no desenvolvimento de LLM personalizado que permite aos utilizadores introduzir consultas em linguagem natural. Uma vez convertidas em pedidos de back-end, as consultas podem ser enviadas para o servidor.

Automatização do painel de controlo da ciência dos dados

O nosso equipa de ciência de dados centrou-se na automatização da visualização de dados através de painéis de controlo, uma componente crucial para a investigação do cliente na identificação de alvos moleculares para novos tratamentos farmacêuticos. As principais doenças em estudo incluíam a obesidade e as doenças musculares.

  • Criação de painéis de controlo: O objetivo da equipa era criar painéis de controlo para visualizar dados farmacêuticos. Isto envolveu o processamento de grandes conjuntos de dados, que são um vasto número de artigos médicos anotados com ID e metadados únicos, para formar tabelas GBQ de dimensão considerável. 

  • Visualização de dados: Utilizar Looker Studio, no final, transformámos estas grandes tabelas de dados em formatos mais pequenos e mais fáceis de gerir para a criação de painéis de controlo. Esta etapa de visualização era necessária para que os especialistas pudessem analisar e filtrar melhor os dados.

  • Automatização do painel de controlo: Após a aprovação dos peritos médicos, automatizámos a criação do painel de controlo utilizando técnicas de engenharia de dados. Isto envolveu a utilização de repositórios com scripts SQL para obter as informações necessárias. Estes scripts foram programados para serem executados em intervalos específicos, garantindo que os painéis de controlo se mantinham actualizados com os últimos resultados da investigação.

  • Actualizações e integração contínuas: A nossa solução permitiu a integração contínua de novas publicações relevantes nos painéis de controlo. Este processo de atualização dinâmica foi facilitado pelas funções Google Cloud. Este manteve os painéis de controlo actualizados com os dados mais recentes.

  • Gestão de consultas: Tratámos as consultas através de grandes tabelas, extraindo informações específicas com base nas consultas de pesquisa. A equipa visualizou depois estas estatísticas nos painéis de controlo e identificou quaisquer problemas nas consultas de pesquisa.

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:

  • Análise e investigação de sistemas: Começámos com uma análise e investigação exaustivas do sistema antigo do cliente. Este O software de gestão de laboratórios, utilizado principalmente para armazenar relatórios e resultados de investigação, baseava-se em Java versões e tecnologias JSP.
  • Desenvolvimento de uma nova interface e back end: A nossa abordagem incluiu o desenvolvimento de uma nova interface e de um sistema back-end para automatizar o processo de análise de documentos e de atualização da base de dados, que anteriormente era feito manualmente.
  • Tipos de utilizadores e funcionalidades: Concebemos o sistema para responder a dois tipos de utilizadores distintos:
  • Carregador de documentos: Os investigadores que adicionam documentos ao sistema. Depois de um documento ser anotado, aparece numa página especial onde o responsável pelo carregamento pode rever os resultados, fazer edições e confirmar a submissão à base de dados.
  • Administrador: Responsável pela revisão e confirmação das adições de documentos. Esta função implica uma revisão exaustiva dos documentos, com a capacidade de editar, aprovar ou efetuar alterações antes da introdução final na base de dados.
  • Desenvolvimento de back-end e revisão de código legado: O nosso programador assumiu a tarefa de rever o código legado existente. Isto envolveu a escrita de páginas JSP de acordo com as especificações do cliente e o desenvolvimento de funcionalidades de back-end (pedidos, respostas, processamento de dados e introdução na base de dados).
  • Desenvolvimento da interface de administração: Também desenvolvemos uma parte administrativa do sistema em que o administrador (normalmente o chefe do departamento de investigação) recebe uma notificação com uma ligação para a interface que apresenta informações da base de dados.
  • Integração da API de ontologia: O núcleo da nossa solução foi a integração da API Ontológica no software de gestão do laboratório do cliente. Esta API serviu de ponto de partida para o envio de consultas relacionadas com documentos e para a receção de respostas, que foram depois processadas e apresentadas através do frontend antes de serem enviadas para a base de dados do cliente.
  • Tratamento de documentos e dados: 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.
  • Desenvolvimento full-stack: O nosso programador trabalhou como engenheiro de pilha completa, lidando com aspectos front-end e back-end e assegurando uma integração perfeita de todos os componentes do sistema.

Tecnologias

Linguagens de programação

JavaScript, TypeScript, Java
React, react-pdf, Redux, Redux-thunk, React-redux, Primereact, SASS, Lodash, Axios, FileSaver, GPT-Tokenizer
Arranque Spring, Java com bibliotecas Lucene, Stardog
Python (Pandas, Numpy, Plotly, Matplotlib), GCP (Google Big Query, Google Cloud Storage, Cloud Run), Looker, Data Studio, Apache Solr, ferramentas personalizadas para processamento e visualização de dados

Processo

A nossa abordagem ao processo de desenvolvimento foi metódica e aderiu aos princípios Agile, o que garantiu flexibilidade e melhoria contínua.

No início, realizámos uma pesquisa exaustiva para compreender as necessidades do cliente e os sistemas existentes, a fim de apresentar um documento detalhado sobre a "Visão e o Âmbito". Com base nas conclusões iniciais, procedemos à conceção e ao desenvolvimento das funcionalidades necessárias para cada fluxo. A nossa equipa realizou reuniões regulares de sprint para confirmar que o nosso trabalho estava alinhado com as expectativas do cliente. Todas as funcionalidades foram implementadas e sujeitas a testes rigorosos de desempenho e precisão, com o cliente a fornecer feedback contínuo.

Para uma comunicação eficaz e acompanhamento do projeto, utilizámos as ferramentas da Microsoft e o Monday.com, assegurando um processo transparente e actualizações em tempo real.

Equipa necessária

1

Gestor de projectos

3

Programadores React

3

Programadores Java

1

Programador ML/Python

2

Engenheiros de dados

Resultados

No nosso esforço de colaboração com o cliente, abrangendo três fluxos principais, fizemos progressos significativos no avanço das suas capacidades de investigação científica. Eis um resumo dos resultados efectivos:

  • Operações de pesquisa simplificadas: Os esforços da nossa equipa para aperfeiçoar o sistema de pesquisa levaram a uma duplicação da velocidade de pesquisa, beneficiando os investigadores na sua procura de acesso rápido a dados científicos.
  • Precisão nas anotações: A introdução do sistema de anotação automática resultou num aumento da precisão da anotação, um fator crítico para estudos científicos aprofundados.
  • Maior eficiência no tratamento de dados: Ao automatizar os processos de visualização de dados, reduzimos efetivamente para metade o tempo que os investigadores gastavam no tratamento manual de dados, o que se traduziu em mais tempo para actividades de investigação essenciais.
  • Maior velocidade de processamento de dados: As velocidades de processamento e visualização de dados foram triplicadas, marcando um salto no tratamento de conjuntos de dados complexos.
  • Experiência do utilizador optimizada: A interface de utilizador modernizada dos nossos sistemas conduziu a um aumento notável da satisfação do utilizador, promovendo um melhor envolvimento na comunidade científica.
  • Tempo de investigação libertado: A automatização das tarefas de rotina conduziu a uma redução de 60% no tratamento manual dos dados, libertando o tempo dos investigadores, anteriormente consumido pelo trabalho manual.

    Contactar-nos

    Marcar uma chamada ou preencha o formulário abaixo e entraremos em contacto consigo assim que tivermos processado o seu pedido.

    Envie-nos uma mensagem de voz
    Anexar documentos
    Enviar ficheiro

    Pode anexar um ficheiro com um máximo de 2MB. Formatos de ficheiro válidos: pdf, jpg, jpeg, png.

    Ao clicar em Enviar, o utilizador autoriza a Innowise a processar os seus dados pessoais de acordo com a nossa Política de privacidade para lhe fornecer informações relevantes. Ao enviar o seu número de telefone, o utilizador aceita que o possamos contactar através de chamadas de voz, SMS e aplicações de mensagens. Poderão ser aplicadas tarifas de chamadas, mensagens e dados.

    Pode também enviar-nos o seu pedido
    para contact@innowise.com
    O que é que acontece a seguir?
    1

    Assim que recebermos e processarmos o seu pedido, entraremos em contacto consigo para necessidades do seu projeto e assinar um NDA para garantir a confidencialidade.

    2

    Depois de analisarmos os seus desejos, necessidades e expectativas, a nossa equipa elaborará uma proposta de projeto proposta de projeto com o âmbito do trabalho, dimensão da equipa, tempo e estimativas de custos.

    3

    Marcaremos uma reunião consigo para discutir a oferta e acertar os pormenores.

    4

    Por fim, assinaremos um contrato e começaremos a trabalhar no seu projeto imediatamente.

    seta