Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

A OpenMed é uma plataforma de modelagem de IA de código aberto dedicada à área de saúde e ciências da vida, hospedada na Hugging Face. Ela oferece mais de 380 modelos gratuitos de Reconhecimento de Entidades Nomeadas (NER) focados na extração de informações importantes, como medicamentos, doenças, genes e estruturas anatômicas de textos clínicos e literatura de pesquisa. Esses modelos são todos baseados na licença Apache 2.0 e podem ser usados livremente por qualquer pessoa. O objetivo da OpenMed é derrubar as barreiras de alto custo da IA na área da saúde e oferecer a pesquisadores, médicos e desenvolvedores acesso fácil a ferramentas de alta qualidade que aceleram a pesquisa médica e melhoram os serviços aos pacientes. Os modelos da plataforma têm excelente desempenho, superando até mesmo os caros modelos comerciais em vários conjuntos de dados, com até 36% de elevação. A openMed enfatiza a abertura e a colaboração da comunidade, e aceita contribuições e uso de usuários de todo o mundo.

 

Lista de funções

  • Fornece mais de 380 modelos de reconhecimento de entidades nomeadas (NER) que abrangem medicamentos, doenças, genes, anatomia, tumores e outras áreas médicas.
  • Oferece suporte à extração de entidades específicas, como substâncias químicas, variantes genéticas, informações patológicas, etc., de registros clínicos e documentos de pesquisa.
  • Os modelos vêm em uma variedade de tamanhos, de 65M a 568M parâmetros, e são adaptados a diferentes ambientes de hardware (por exemplo, GPUs de 8GB a 40GB).
  • Integração perfeita com o ecossistema Hugging Face Transformers para facilitar o carregamento e a implantação.
  • Fornece um aplicativo de descoberta de modelos que permite aos usuários filtrar modelos por domínio (por exemplo, farmacologia, oncologia) ou tipo de entidade.
  • Todos os modelos são de código aberto, baseados na licença Apache 2.0 e gratuitos para uso em ambientes de pesquisa e produção.
  • Oferece suporte ao processamento em lote de dados de textos médicos para otimizar a eficiência da análise de dados em grande escala.

Usando a Ajuda

Instalação e preparação do ambiente

Os modelos da OpenMed são hospedados na plataforma Hugging Face e o ambiente de software necessário precisa ser instalado antes do uso. Veja abaixo as etapas detalhadas:

  1. Instalação do ambiente PythonVerifique se o Python 3.7 ou posterior está instalado em seu sistema. Isso pode ser verificado com o seguinte comando:
    python --version
    

    Caso não o tenha, você pode baixá-lo no site do Python.

  2. Instalação de transformadores Hugging FaceO modelo OpenMed é executado na estrutura Transformers, que precisa ser instalada. Abra um terminal e digite:
    pip install transformers datasets pandas
    

    Isso instalará Transformers, Datasets e Pandas para carregamento de modelos e processamento de dados.

  3. Verificar o suporte à GPU (opcional)Se estiver usando a aceleração da GPU, instale o PyTorch ou o TensorFlow e verifique se o driver da GPU e o CUDA estão configurados. Verifique a disponibilidade da GPU:
    python -c "import torch; print(torch.cuda.is_available())"
    

    exportações True Indica que a GPU está disponível.

Processo de uso básico

A principal funcionalidade do OpenMed é o Reconhecimento de Entidades Nomeadas (NER) para extrair informações estruturadas de textos médicos. Abaixo está um exemplo de OpenMed/OpenMed-NER-PharmaDetect-SuperClinical-434M como um exemplo para mostrar como carregar e usar o modelo:

  1. Modelos de carregamento::
    Usando Hugging Face's pipeline Interface para carregar um modelo. O código a seguir carrega um modelo de reconhecimento de drogas:

    from transformers import pipeline
    model_name = "OpenMed/OpenMed-NER-PharmaDetect-SuperClinical-434M"
    ner_pipeline = pipeline("token-classification", model=model_name, aggregation_strategy="simple")
    
    • model_nameEspecifique um nome de modelo para localizar outros modelos na página Modelos do OpenMed.
    • aggregation_strategy="simple"Agregação: Agregue os resultados em entidades completas; consulte a documentação do Hugging Face para obter detalhes.
  2. Manuseio de texto único::
    Insira um texto médico e o modelo reconhecerá as entidades nele contidas. Exemplo:

    text = "患者服用10毫克阿司匹林治疗高血压。"
    entities = ner_pipeline(text)
    for entity in entities:
    print(f"实体: {entity['word']} ({entity['entity_group']}), 置信度: {entity['score']:.4f}")
    

    Exemplo de saída:

    实体: 阿司匹林 (CHEMICAL), 置信度: 0.9987
    

    Isso significa que o modelo identificou com sucesso a "aspirina" como uma entidade química.

  3. Processamento de texto em lote::
    Para grandes quantidades de texto, o OpenMed suporta o processamento em lote para maior eficiência. O código a seguir mostra como processar vários textos:

    texts = [
    "患者服用10毫克阿司匹林治疗高血压。",
    "多柔比星治疗显示肿瘤显著消退。",
    "研究发现甲氨蝶呤对类风湿性关节炎有效。"
    ]
    results = ner_pipeline(texts, batch_size=8)
    for i, entities in enumerate(results):
    print(f"文本 {i+1} 实体:")
    for entity in entities:
    print(f" - {entity['word']} ({entity['entity_group']}): {entity['score']:.4f}")
    

    Exemplo de saída:

    文本 1 实体:
    - 阿司匹林 (CHEMICAL): 0.9987
    文本 2 实体:
    - 多柔比星 (CHEMICAL): 0.9972
    文本 3 实体:
    - 甲氨蝶呤 (CHEMICAL): 0.9965
    
    • batch_size=8Tamanho do lote: ajuste o tamanho do lote de acordo com o desempenho do hardware e reduza o valor quando a memória da GPU for pequena.
  4. Processamento em lote com conjuntos de dados::
    O OpenMed suporta o processamento de conjuntos de dados do Hugging Face. O código a seguir mostra como carregar o conjunto de dados OpenMed e processá-lo:

    from datasets import load_dataset
    from transformers.pipelines.pt_utils import KeyDataset
    import pandas as pd
    # 加载医疗数据集
    medical_dataset = load_dataset("BI55/MedText", split="train[:100]")
    data = pd.DataFrame({"text": medical_dataset["Completion"]})
    dataset = Dataset.from_pandas(data)
    # 批量处理
    batch_size = 16
    results = []
    for out in ner_pipeline(KeyDataset(dataset, "text"), batch_size=batch_size):
    results.extend(out)
    print(f"已处理 {len(results)} 条文本")
    
  5. Uso de modelos para descobrir aplicativos::
    A OpenMed fornece um aplicativo interativo de descoberta de modelos no OpenMed NER Model Discovery App. Os usuários podem usá-lo das seguintes maneiras:

    • Abra a página do aplicativo e insira o tipo de entidade a ser reconhecida (por exemplo, "substância química" ou "gene").
    • Use a função de filtro para encontrar modelos adequados por domínio (por exemplo, farmacologia, oncologia) ou arquitetura de modelo (BERT, RoBERTa).
    • Clique no link do modelo para obter o nome do modelo e o exemplo de código diretamente, copie-o para executar localmente.

Operação da função em destaque

  • Suporte multidisciplinarModelos OpenMed abrangem uma ampla gama de campos, como farmacologia, oncologia, genômica, patologia e outros. Por exemplo, o uso de OpenMed/OpenMed-NER-OncologyDetect-SuperClinical-434M Identificar entidades relacionadas ao câncer:
    text = "KRAS基因突变驱动肿瘤形成。"
    entities = ner_pipeline(text)
    print(entities)
    

    Exemplo de saída:

    [{'word': 'KRAS', 'entity_group': 'GENE', 'score': 0.9991}]
    
  • Integração eficienteO modelo é ecologicamente compatível com a Hugging Face e oferece suporte à rápida implementação em ambientes de produção. Os usuários podem implementar modelos por meio dos pontos finais de inferência da Hugging Face sem a necessidade de hardware local.
  • Contribuições da comunidadeOs usuários podem acompanhar o OpenMed por meio do recurso "Watch" do Hugging Face para enviar solicitações de recursos ou contribuir com novos modelos.

advertência

  • Assegure uma conexão estável com a Internet para fazer o download dos pesos do modelo (alguns modelos são grandes, por exemplo, modelos paramétricos de 568 M exigem cerca de 40 GB de armazenamento).
  • Quando a memória da GPU for insuficiente, é recomendável escolher um modelo menor (por exemplo, parâmetros de 65M para o OpenMed-NER-PathologyDetect-TinyMed-65M).
  • Consulte a página da OpenMed regularmente para obter as atualizações mais recentes do modelo.

cenário do aplicativo

  1. Análise de registros clínicos
    Os hospitais podem usar modelos OpenMed para extrair informações sobre medicamentos, doenças etc. dos registros dos pacientes. Por exemplo, identificar rapidamente o nome do medicamento em "Patient taking aspirin" (Paciente tomando aspirina) ajuda os médicos a organizar os registros médicos eletrônicos.
  2. pesquisa médica
    Os pesquisadores podem usar modelos para analisar a literatura e extrair informações sobre genes e proteínas para criar um gráfico de conhecimento. Por exemplo, a associação entre o gene BRCA2 e o câncer pode ser extraída de um artigo.
  3. Desenvolvimento de medicamentos
    As empresas farmacêuticas podem usar modelos para identificar interações entre substâncias químicas e medicamentos e acelerar a descoberta de medicamentos. Por exemplo, analisando o papel da doxorrubicina no tratamento oncológico.
  4. Privacidade do paciente
    A desidentificação por meio do modelo NER remove automaticamente as informações pessoais (por exemplo, nome, endereço) dos registros dos pacientes e está em conformidade com as normas de privacidade, como a HIPAA.

QA

  1. Os modelos da OpenMed são gratuitos?
    Sim, todos os modelos são baseados na licença Apache 2.0 e são totalmente gratuitos para pesquisa e uso comercial.
  2. Como escolher o modelo certo?
    Use o aplicativo OpenMed NER Model Discovery para filtrar modelos por domínio ou tipo de entidade. Os tamanhos dos parâmetros (por exemplo, 65M ou 434M) também podem ser selecionados com base nas condições do hardware.
  3. Que hardware é necessário para executar o modelo?
    Os modelos suportam GPUs de 8 GB a 40 GB; as CPUs também podem executar modelos menores, mas são mais lentas. Recomenda-se pelo menos 16 GB de RAM.
  4. Como você lida com conjuntos de dados em grande escala?
    Use o código de processamento em lote para ajustar o batch_size para se adaptar ao hardware. Consulte o exemplo de processamento em lote na Ajuda.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil