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

disease-0.1.9.tar.gz (32.0 kB view details)

Uploaded Source

File details

Details for the file disease-0.1.9.tar.gz.

File metadata

  • Download URL: disease-0.1.9.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for disease-0.1.9.tar.gz
Algorithm Hash digest
SHA256 0898fabb5098fcb1af627ce4ce4714c4ea7f9fdd208903ca42e2c90947607598
MD5 bf508634cf1bcdb8081c4a15d0a2b1a5
BLAKE2b-256 4cb26ad692ea1817669a25d57a2b1858e46f49a1e360f2244e26b410314515ad

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