Skip to main content

Disease processing tool kit in Russian

Project description

Классификатор заболеваний

Patient-intake - модуль, обеспечивающий дистанционное взаимодействие пациента и медицинского учреждения с помощью диалоговых агентов. Реализован на языке Python.

Модуль позволяет предсказывать возможное заболевание пациента на основе введенной им информации, присваивать диагнозу степень срочности приема, а также выводить интерпретацию результатов работы модели. Для обучения модели создан датасет, содержащий информацию о болезнях и их симптомах.

Модуль поддерживает анализ текстов на русском языке.

Применение

Модуль является инструментом для разработки медицинских чат-ботов. Может быть использован для управления потоками пациентов в медицинских учреждениях, а также будет полезен для реализации концепции второго мнения при взаимодействии с пациентом.

Установка модуля

pip install distool

Пример использования

from distool.feature_extraction import SmartSymptomExtractor
from distool.interpretation.explainer import SymptomBasedExplainer
from distool.estimators import DiseaseClassifier

texts = [
    "У меня болит живот, но нет температуры",
    "У меня температура, но нет недомогания",
    "Я завтра иду домой",
]
diseases = ["гастрит", "отит", "-1"]

symptom_vectorizer = SmartSymptomExtractor()
features = symptom_vectorizer.transform(texts)

classifier = DiseaseClassifier()
classifier.fit(features, diseases)
predicted_diseases = classifier.predict(features)
print("Predicted diseases:", predicted_diseases)
# Predicted diseases: ['гастрит' 'отит' '-1']

explainer = SymptomBasedExplainer(symptom_vectorizer, classifier)

print(explainer.explain(features[1]))
# Наблюдается отит с вероятностью 59%.
# Это потому что у вас наблюдаются следующие симптомы: температура
# И отрицаются следующие: недомогание

Разработка

Нужно установить зависимости и подключить pre-commit.g

pip install -r requirements.py
pre-commit install
bash init.sh

Контрибьютинг

Каждый новый функционал должен покрываться документацией и тестом.

Тестирование

Чтобы запустить тесты нужно ввести:

pytest

Pull request

Каждый PR должен быть отревьювен.

История проекта

Работа над Patient-intake проводится в рамках НИР Университета ИТМО №622275 "Разработка модуля для предварительного диагноза: поддержание логистики потоков пациентов и концепции второго мнения при взаимодействии с пациентом через диалоговые системы" (2022-2023)

Участники проекта

Анна Чижик
руководитель проекта

Мичил Егоров
тимлид

Дмитрий погребной
разработчик

Айталина Кривошапкина
разработчик

Мария Якубова
аналитик

Обратная связь

Если у Вас есть какие-то вопросы, можете обращаться к нам по адресу: patientintake@yandex.ru

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

distool-1.0.2.1.tar.gz (31.2 kB view details)

Uploaded Source

File details

Details for the file distool-1.0.2.1.tar.gz.

File metadata

  • Download URL: distool-1.0.2.1.tar.gz
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for distool-1.0.2.1.tar.gz
Algorithm Hash digest
SHA256 907d4ed0e8fe2c0c823a21b2d847d9b38e79cdd870e4adbeb6728364102918cb
MD5 dce5cb5630bced148aeb602bc97086a5
BLAKE2b-256 cde83e3e8d16660f212ef49330ae448762f0a56457fb60c08df57c177bf4da36

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page