понедельник, 14 августа 2017 г.

Доктор, у меня это… Data Science.

У меня мозги за разум не заходят - верьте слову, -
Задаю вопрос с намеком, то есть лезу на скандал:
"Если б Кащенко, к примеру, лег лечиться к Пирогову -
Пирогов бы без причины резать Кащенку не стал..."

(Владимир Высоцкий "Никакой ошибки")

На исходе одного из трудовых программистских будней я смотрел по телеканалу "History" передачу "Dead Famous DNA", которую ведет Марк Эванс. Там шла речь о болезни Чарлза Дарвина и ее симптомах. Эта болезнь называется "Болезнь Крона" (энтерит).

Интересно, а вот как при отсутствии медицинского образования отыскать в "многословно-заумной" медицинской литературе название болезни, имея в распоряжении только набор симптомов, который может оказаться далеко не исчерпывающим?

Эта задача показалась мне интересной. Для ее решения я нашел в Интернете и загрузил три объемных медицинских справочника. Для обработки и индексации медицинских данных (corpus of Russian language plain text documents) написал программу, то есть я проиндексировал медицинские справочники, сделав их доступными для полнотекстового поиска. Медицинский справочник - это такая книга, в которой описания различных недугов приведены в алфавитном порядке от "А" до "Я": от "Аборт" и до "Язва".
Data Science весьма увлекательное и познавательное занятие, но технические подробности процесса исследования и индексирования данных мы здесь опустим.
В результате у меня получилась специализированная медицинская система полнотекстового поиска с учетом морфологии русского и английского языков.

Симптомы болезни Ч.Дарвина, по которым производился поиск, следующие: лихорадка, похудение, боли в суставах, урчание, вздутие, слабость, усталость, повышение температуры, боль в животе, диарея, рвота, вздутие кишечника, потеря веса, бессонница, истерика.

Вот то, что у меня получилось.
На картинках выведены только названия первых 10 болезней, отсортированных по релевантности. Значения показателя релевантности в третьем столбце (это вещественное число, например, 25.4355).

Результаты поиска по первому медицинскому справочнику:



Результаты поиска по второму медицинскому справочнику (в нем описания именно болезни Крона нет, а есть энтерит!) :



Результаты поиска по третьему медицинскому справочнику (и в нем тоже описания именно болезни Крона нет.) :

Как на мой взгляд, то данный эксперимент по отысканию названий возможных болезней по перечню заданных симптомов вполне удачен.

Продолжение "Доктор, у меня это… Data Science. Часть 2."

Комментариев нет:

Отправить комментарий