Este módulo localiza termos-chave em um laudo médico indicando se a condição médica é negada ou existente.
Este projeto é uma implementação em Python do algorítmo NegEx, de Wendy Chapman
- Python 3.x
- Bibliotecas: CSV e Re (regex)
python -m pip install [colocar nome do módulo publicado]
Rode o arquivo negex.py como um programa:
Este módulo vem com uma função que facilita o uso do Negex:
import negex as ng
ng.easyNg(trigPath, reprtPath, outPath)
- trigPath é o endereço do arquivo dos triggers
- reprtPath é o endereço do arquivo do report
- output é o endereço do arquivo de output
(Veja os arquivos demo)
O arquivo triggers associa textos às tags, que serão utilizadas para indetificar sintomas no laudo.
Este documento deve ser composto por sintomas e suas tags, separados por linhas. Ex:
texto [tag] outroTexto [tag] . . . maisTexto [tag]
Note que 2 tabs são usados como separador entre texto e [tag]
- [PREN] - Pré-negação
- [POST] - Pós-negação
- [PREP] - Pré possível negação
- [POSP] - Pós possível negação
- [PSEU] - Pseudo negação
- [CONJ] - Conjunção
O formato do arquivo do report deve ser:
Número do report Conceito Frase Affirmed/Negated Número do report Conceito Frase Affirmed/Negated . . . Número do report Conceito Frase Affirmed/Negated
A última coluna é necessária apenas para verificar os resultados (veja Medida de Acuracidade)
1 tab é usado como separador entre as colunas
Para medir a acuracidade dos triggers, habilite o parâmetro checkResults na invocação do easyNg:
easyNg(..., checkResults=True)
- [PHRASE] - O termo foi reconhecido do arquivo de termos, e não foi negado
- [NEGATED] - O termo foi reconhecido do arquivo de termos, e classificado como negação
- [POSSIBLE] - O termo foi reconhecido do arquivo de termos, e classificado como possível negação
Projeto baseado em: