Функция sub в regex может принимать функцию в качестве аргумента repl.
📄 Из документации:
If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string.
То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений.
Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений.
Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере:
Создаем карту замены. То есть какие строки на какие требуется менять.
remap = {
'раз': '1',
'два': '2',
'три': '3',
'четыре': '4',
'пять': '5',
}
Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match.
Используя данные этого объекта мы вычисляем замену on-the-fly!
def get_str(match: re.Match):
word = match.group(1)
return remap.get(word.lower()) or word
Пример текста.
text = '''Раз Два Три Четыре Пять
Вместе будем мы считать
Пять Четыре Три Два Раз
Мы считать научим вас
'''
Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции.
(Данный паттерн ищет отдельные слова в тексте)
>>> print(re.sub(r'(\w+)', get_str, text))
1 2 3 4 5
Вместе будем мы считать
5 4 3 2 1
Мы считать научим вас
Думаю, достаточно наглядно 🤓
#libs#regex
⚡️MedGemma: открытые ИИ-модели для медицины от Google.
Google Research продолжают развивать свою линейку специализированных медицинских ИИ-моделей, представив два важных пополнения: MedGemma и MedSigLIP.
Это серьезное пополнение экосистемы открытых и доступных инструментов для здравоохранения. Разработчики предлагают мощные базовые модели, которые можно дообучать и запускать на собственном железе, даже на потребительском GPU.
🟡Флагман релиза MedGemma - 2 мультимодальные модели на 4 и 27 миллиардов параметров на основе Gemma 3.
Младшая, 4-миллиардная версия, показывает себя как один из лучших открытых «малышей» (<8B), а после дообучения достигает SOTA в генерации отчетов по рентгеновским снимкам. В ходе одного из тестов 81% сгенерированных ею заключений были признаны сертифицированными радиологами достаточно точными.
Старшая, на 27 миллиардов, в текстовой версии, на бенчмарке MedQA набрала 87.7%. Это всего на 3 пункта ниже DeepSeek R1, но при этом модель требует в 10 раз меньше ресурсов для инференса.
🟡Глазами для MedGemma служит MedSigLIP - легковесный (всего 400М параметров) энкодер изображений.
Его задача - классификация, поиск и другие задачи со структурированным выходом. Он был создан адаптацией общей модели SigLIP на огромном массиве медицинских данных (от рентгена до гистологии и снимков глазного дна).
🟡Ключевая особенность и MedGemma, и MedSigLIP в том, что при специализации они не растеряли своих общих знаний.
Они по-прежнему понимают немедицинский контекст и умеют работать с разными языками, что подтвердили исследователи из Тайваня, успешно применявшие модель в связке с литературе на традиционном китайском.
📌Лицензирование: Health AI Developer Foundations.
🟡Страница проекта
🟡Набор моделей
🟡Документация
🟡Arxiv
🟡Demo
@ai_machinelearning_big_data
#AI#ML#LLM#MedGemma#MedSigLIP#Google
ИИ-доктор в кармане: как стартапы вроде Death Clock меняют превентивную медицину (и что с этим не так)
Пока одни ИИ-модели соревнуются в генерации картинок, другие нацелены на самую ценную область — наше здоровье. Яркий пример — американский стартап Death Clock с их сервисом Life Lab.
В чем суть?
Life Lab — это персональный ИИ-консультант по долголетию, встроенный в приложение. Система:
1. Агрегирует данные: подключается к тысячам лабораторий, импортирует медкарты, учитывает образ жизни.
2. Считает возраст и риски: на основе исследований вычисляет биологический возраст и прогнозируемую дату смерти (да, именно это и есть их «визитная карточка» — Death Clock).
3. Дает рекомендации: формирует персонализированный план по питанию, добавкам и привычкам для снижения рисков и продления здоровой жизни.
Их цель — сделать превентивную медицину максимально простой и доступной.
Другие примеры на подходе:
* ChatGPT Health (от OpenAI): Пока только в тестировании у врачей, но это шаг к тому, чтобы ИИ-ассистент стал первым пунктом консультации. Модель должна уметь анализировать симптомы, расшифровывать анализы и диалогом вести к диагнозу.
* K Health: Использует ИИ на основе данных миллионов медкарт для первичной оценки состояния.
* Your.MD: AI-симптомчекер и навигатор по системе здравоохранения.
Что важно помнить?🔍
За кажущейся простотой и технологичностью скрываются серьезные вопросы:
➡️Качество данных и исследований: На чем именно основаны прогнозы и советы? Многие методики расчета биовозраста и рекомендаций по долголетию все еще являются областью активных (и коммерциализированных) споров.
➡️Юридическая и этическая ответственность: Кто виноват, если совет ИИ приведет к проблемам? Пока это серая зона.
➡️Риск гипердиагностики и тревожности: Постоянный мониторинг и «цифры смерти» могут скорее навредить ментальному здоровью, чем помочь.
Контекст и важные ссылки:
➡️Я уже подробно разбирал риски слепого доверия медицинскому ИИ в этом посте: Осторожно: как ошибки ИИ в медицине могут стоить здоровья
➡️А здесь анализировали другой подход — мощную специализированную модель от Google для профессионалов, которая работает оффлайн и точнее: Google выпустила MedGemma 1.5
Вывод:
Такие сервисы, как Death Clock, — это мощный драйвер для осознанности и перехода от «медицины лечения» к «медицине предупреждения». Но они остаются инструментами для информирования, а не для постановки диагноза. Их рекомендации — это гипотезы, которые должен проверять и одобрять ваш лечащий врач. Главное правило: Data-Driven, но Doctor-Approved.
Полезные ссылки по теме (англ.):
➡️Анонс Life Lab от Death Clock
➡️Исследование о возможностях и ограничениях ИИ в предиктивной медицине (Nature)
#ИИ_в_медицине#DigitalHealth#превентивная_медицина#HealthTech#DeathClock#ChatGPT#MedGemma#долголетие
https://t.me/semasci