- BrainTools - https://www.braintools.ru -

Агрегатор новостей и поиск диагноза болезни по симптомам: два моих проекта

Хочу показать два продукта, которые уже давно сделал и продолжаю доработки. Первый – это агрегатор новостей, второй – это поиск медицинского диагноза по симптомам.

Начну со второго, то есть медицинской экспертной системы. Выбрана простая схема – отдаём данные в виде “человеческого” текста описания симптомов и модель возвращает предполагаемый диагноз и вероятностное распределение диагноза. Что бы было понятно, пример вот тут https://moscowi.ru/med_diagnoz [1] . На сайте выложена довольно старая модель, тогда я оценивал её возможности в 0,5 – 1% от полной модели, сейчас примерно одна двести пятидесятая. Модели я делаю сам.

Всё это переросло с классификатора дефектов металлургии, только там всего четыре десятка дефектов и у меня постоянно был вопрос – не получил ли я правильный ответ случайно. Я не считаю, что каждый 45_й ответ я получал как правильный только по причине совпадения, но сомнения при подборе моделей были.

Вот тут и перешёл на медицину – на сегодняшний момент даже в адаптированной версии мкб-10 больше 12 тысяч болезней и подходы в классификации можно отработать гораздо точнее. Отработав такую модель, я решу и вопросы металлургии. Так это начиналось, после не стал забрасывать, постоянно возвращаюсь для улучшения.

В общем то несмотря на разные отрасли, я столкнулся с теми же проблемами. Если кратко – не использование профессиональной лексики. Пациенты не знают профессиональных терминов, у них свои слова, выражения и описания. Вторая крупная проблема – много болезней описываются довольно общими симптомами – боль [2], температура, жжение, озноб, отёк, покраснение. посинение и тому подобное. Я отработал и такой вариант – собрал около двух тысяч симптомов болезней, попробовал описывать болезни только симптомами – рабочий вариант, хотя наверное это только для профессионалов.

Чем моя модель лучше моделей от “гигантов”? Работает быстрее (в десятки и сотни раз), не смешивает медицину и вежливость, категоричные жёсткие выводы, выдаёт более тяжёлые диагнозы. То есть модель напрямую отвечает на вопрос, что можно предположить, если болезнь не вылечивается, лекарство не действует – а не отвечает – “[MedGemma]: Я не могу давать диагнозы.”. Коммерческие модели очень полит корректны, в них по умолчанию предполагают что все люди равны, у всех равные возможности, у всех одинаковая генетика, все в одинаковых условиях, равный доступ к технологиям. А это не так.

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

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

И второй продукт – агрегатор новостей. Тоже начиналось совсем не с новостей, в очень узкой группе вопросов интересных малой группе профессионалов; только на новостях оказалось проще отрабатывать алгоритмы и тестировать. У меня была сложная техническая задача из дорогостоящей области знаний, бюджет был ограничен, эксперты полагались только на свой опыт [3] и не могли прокомментировать чужие работы. Нашёл довольно интересные исследования и перенёс это в код.

Вот наглядный пример по новостям – https://moscowi.ru/ [4] , а в меню пункта “Аналитика” остальные рубрики работают по тому же принципу.

Агрегаторы – очень популярная тема. Даже за последний месяц я видел здесь статьи о трёх агрегаторах новостей. Только там используется коммерческая LLM, которой отдаются данные RSS, а модель возвращает JSON с отсортированными новостями. Мне такой подход не нравится: в таком варианте можно вообще не парсить источники, а задать это в промпте – и модель сама всё сделает. Модель от передовых ИИ‑компаний гораздо лучше сама соберёт данные, сделает это быстрее и проранжирует их более качественно.

В этом мне не нравится подход “чёрного ящика”. Мы отдаём данные чужой llm и получает ответ не зная алгоритма работы модели; мы лишь можем предполагать что веса были подобраны достаточно толерантно. Но нужна ли нам толерантность, если мы ищем главное по смыслу и важности в определённый момент времени? И вот так из другого проекта с небольшими доработками получился агрегатор новостей.

С новостями на данный момент сложно – покажешь новость не из аккредитованного источника – статья УК, покажешь что то иностранное – статья УК, покажешь противоречивое – статья УК. Может быть сначала штраф, а уж потом статья УК. Был у меня довольно умный и продвинутый поиск по архиву – пришлось убрать. Были разные источники по многим странам – пришлось убрать. Добавил цензуру, что бы ненароком чего не по повестке показало. Была сводная аналитика – пошла той же дорогой, куда и предыдущие. Были прогнозы – туда же. Аналитика работала великолепно, конечно на тех масштабах что я мог позволить по ресурсам. Были нередкие случаи, когда новость проходила по многим средствам массовой информации, а через часы или сутки объявлялась дискредитирующей и ложной. СМИ новость убирали, а у меня она уже закэшировалась – что бы меньше дёргать сервер. Добавил ещё фильтров на такие случаи. Со статьями вообще сложно – авторские нельзя брать по разным причинам, не центральные – нельзя брать, региональные – нельзя брать. И их тоже нужно фильтровать по смыслу – а кого и когда из авторов и источников запишут в нежелательные не угадаешь. В результате – для массовой аудитории довольно средненькие результаты.

Оба эти проекта интересные очень узкой группе, треть заходов на сайт это роботы. Я показывал мед. систему тем, кому она должна быть полезна – до вопросов экспертности и точности прогнозов даже не доходили. Врачи тонут в рутине, у них узкая специализация, финансируют только несколько кодов болезней и другие другие проблемы, которые не дают им вырваться из колеи устоявшейся практики. Эти проекты могут быть интересны аспирантам или КТН, КМН, то есть достаточно подготовленной аудитории. Так же я сделал модель для поиска лекарственных веществ для лечения по болезням, только онлайн пример показать не могу. Это уже было сделано как развитие медицинской системы.

То что показывает агрегатор новостей тоже большинству не нравится – для них это скучно, блекло, не вызывает эмоций [5]. Я видел агрегаторы, где рейтинг получают от самих читателей этих ресурсов; вы тоже встречали такие издания, где можно проголосовать за новость. На таких ресурсах в топ выходят не главные события, а новости об авариях артистов, свадьбах, разводах и тому подобному.

У меня сделано по другому – получены наиболее влияющие на нашу жизнь новости. Иногда похоже что выводится одна и та же новость в нескольких блоках подряд – это сделано умышленно, что бы была видна динамика (то что выше в ленте, есть более ранняя новость). И уж поверьте, что скучный федеральный закон будет важен для всех в течении многих лет, новости о том что просто обсуждают инвесторы сильно повлияет на нашу жизнь. У меня такие выводы после множества запусков моделирования и обдумывания результатов.

Оба этих проекта я периодически дорабатываю, у меня мало аппаратных мощностей, мало времени, не все гипотезы могу проверить; только я не намерен забрасывать эти проекты. Нам нужна гораздо более профессиональная медицина, диагноз за минуты и лечение за часы вместе с послеоперационным периодом. Врачам нужна мед. система – расширить диапазон решений для врача, получить более развернутые варианты, уменьшить количество ложных выводов – слишком велика у них цена ошибки [6].

Автор: alexhu

Источник [7]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/33075

URLs in this post:

[1] https://moscowi.ru/med_diagnoz: https://moscowi.ru/med%5C_diagnoz

[2] боль: http://www.braintools.ru/article/9901

[3] опыт: http://www.braintools.ru/article/6952

[4] https://moscowi.ru/: https://moscowi.ru/

[5] эмоций: http://www.braintools.ru/article/9540

[6] ошибки: http://www.braintools.ru/article/4192

[7] Источник: https://habr.com/ru/articles/1059276/?utm_campaign=1059276&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100