Ciência de Dados na Saúde

A Ciência de Dados já teve outros nomes ao longo dos anos como: “Descoberta do Conhecimento”, “Mineração de Dados”, entre outros. Mas uma grande diferença de outras abordagens é que a Ciência de Dados foca também na visualização. Além de pensar nos algoritmos para resolver problemas reais, também precisamos pensar em como eles vão ser informativos para os especialistas que vão utilizá-los.

Nesse breve artigo, vamos abordar alguns trabalhos que realizamos junto ao Hospital Nossa Senhora da Conceição de Porto Alegre no desenvolvimento de soluções que utilizam Inteligência Artificial na saúde.

Índice de Comorbidade de Charlson

Definir a complexidade de um paciente no ambiente hospitalar e fundamental para a previsão de recursos e para definir prioridades de atendimento. O Índice de Comorbidade de Charlson é um dos métodos para fazer essa avaliação de complexidade. No HNSC os médicos definem o Charlson do paciente no 3º dia de internação e na alta hospitalar.

Portanto, todos os paciente com mais de 3 dias de internação tem um número de Charlson associado à ele. Visto que temos dados para fazer o treinamento de um algoritmo de aprendizagem (temos dados associados ao nosso alvo), podemos considerar esse um problema de aprendizagem supervisionada, no caso, uma regressão (aprendizagem supervisionada com objetivo numérico).

Para isso usamos os textos das evoluções clínicas para fazer o treinamento de uma rede neural. Ao invés de eu colocar como entrada da rede as palavras, antes convertemos cada palavra com seu vetor semântico pelo modelo do Word Embeddings.

O Word Embeddings é um método matemático, baseado em redes neurais, para ensinar para o computador qual o valor sintático/semântica das palavras. Esse método se baseia na probabilidade de uma palavra aparecer num determinado contexto, gerando assim um vetor mais significativo para a rede fazer as relações entre as palavras.

Abaixo colocamos um exemplo de uso do Keras, biblioteca para implementação de Deep Learning. Esse é exatamente o melhor modelo para resolver o problema de predição de Charlson para os textos do HNSC.

A topologia dessa rede neural é uma das mais simples que pode ser construída. A primeira camada é a camada que recebe os vetores das palavras e contém o significado semântico delas. Depois ele segue para uma camada Densa de 128 neurônios, e por fim chega no resultado numérico do Charlson no último neurônio.

Redes Neurais com Atenção e Word Embeddings resultando na Visualização de Dados

Entretanto as redes neurais não são muito informativas, por isso é necessário adicionar uma camada extra chamada de Atenção (Attentive Neural Network). Essa camada nos permite extrair as palavras mais significativas para esse problema, possibilidade desenvolver uma visualização mais representativa para os profissionais da saúde. O código-fonte desse trabalho está disponível no GitHub: https://github.com/nlp-pucrs/cci-regression

Prescrições Fora do Padrão

Outra forma de atacar os problemas de saúde é utilizando aprendizagem não-supervisionada. Nesse caso, o setor de Serviços de Farmácia do HNSC tem que fazer a triagem de mil prescrições por dia (sendo cada prescrição com a média de 7 medicamentos). Para ajudar as farmacêuticas a fazer essa triagem, precisamos ordenar as prescrições, procurando aquelas que o maior número de anomalias.

A anomalia, nesse caso, são prescrições que possuem dose e/ou frequência diferentes do que é normalmente prescrito. O código abaixo mostra a forma que utilizamos para atacar esse problema. Primeiro, para cada medicamento, colocamos as prescrições distintas em um grafo e para cada nodo colocamos a quantidade de vezes que essa dose/frequência foi prescrita.

Esse grafo é processado utilizando o PageRank, algoritmo do Google utilizado para fazer ordenamento das páginas mais importantes na Web. Nesse caso, as prescrições mais importantes são as prescrições que estão dentro do padrão de uso hospitalar, e as prescrições menos frequentes são potencial erros de medicação.

Detecção de Prescrição Fora do Padrão com PageRank e Visualização dos Outliers

Utilizando a distribuição dos dados, sem precisar de um conjunto de dados anotados, conseguimos ordenar as prescrições mais diferentes para serem triadas pelos farmacêuticos primeiro. A imagem acima ilustra uma forma possível de apresentar os dados visualmente para que o farmacêutico priorize a avaliação das prescrições. O código-fonte desse trabalho está disponível no GitHub: https://github.com/nlp-pucrs/prescription-outliers.

Enfim…

A intenção da Ciência de Dados, assim como diversos outros recursos computacionais, é focar a descoberta do conhecimento, ou o uso de algoritmos de aprendizagem de máquina, na utilidade dessa informação. O tripé computação-especialista-visualização tem como objetivo desenvolver soluções inteligentes, úteis para o mercado e principalmente fácil de ser digerida.

Ambos os trabalhos acima foram publicados internacionalmente, mas ainda não foram implantados no HNSC. O processo de implantação ainda precisa de uma validação mais criteriosa por parte do corpo clínico do hospital e está em processo. Todos os códigos-fonte, slides, vídeos e artigos desses experimentos estão disponíveis no site do Grupo de I.A. na Saúde da PUCRS (http://www.inf.pucrs.br/ia-saude/)