Разработка AI-системы детекции депрессии по тексту и речи
Автоматическое выявление признаков депрессии и тревожных расстройств по паттернам речи и письма — одно из активно исследуемых направлений в mental health AI. Система не ставит диагноз — она помогает специалистам и платформам психологической поддержки выявлять пользователей, которым может понадобиться помощь, раньше, чем они обратятся сами.
Лингвистические маркеры депрессии
Клинические исследования (LIWC, CLPsych shared tasks) выделяют паттерны:
Лексические: повышенное использование местоимений 1 лица единственного числа («я», «меня», «мне»), слов с негативной валентностью, абсолютных слов («всегда», «никогда», «никто»), слов, связанных с потерей («конец», «пустота», «бессмысленно»).
Синтаксические: снижение сложности предложений, уменьшение словарного разнообразия (TTR — type-token ratio), более короткие высказывания.
Временные паттерны: преобладание прошедшего времени vs настоящего, снижение упоминаний будущего.
Речевые: снижение темпа речи, монотонность (сниженная вариативность F0), паузы и заминки, пониженная энергия голоса.
Архитектура системы
class DepressionRiskAssessor:
def __init__(self):
self.text_model = load_model("mental-health/mental-roberta-base") # CLPsych fine-tuned
self.audio_model = load_audio_model() # OpenSMILE features + classifier
self.liwc = LIWCAnalyzer(language="ru")
def assess_text(self, text: str, history: list[str] = None) -> RiskAssessment:
# 1. LIWC-анализ лингвистических категорий
liwc_features = self.liwc.analyze(text)
# 2. Нейросетевая классификация
model_score = self.text_model.predict_proba(text)
# 3. Временная динамика (если есть история)
if history:
trend = self.analyze_temporal_trend(history + [text])
else:
trend = None
# 4. Агрегация сигналов
risk_score = self.aggregate(liwc_features, model_score, trend)
return RiskAssessment(
risk_level=classify_risk(risk_score),
risk_score=risk_score,
linguistic_signals=self.explain_signals(liwc_features),
trend=trend,
recommended_action=self.get_recommendation(risk_score),
requires_clinical_review=risk_score > 0.7
)
def assess_audio(self, audio_path: str) -> AudioRiskAssessment:
# OpenSMILE извлекает 384 акустических признака
features = opensmile.extract(audio_path, feature_set="ComParE_2016")
# Дополнительные признаки: pause ratio, speaking rate
prosody = extract_prosody_features(audio_path)
score = self.audio_model.predict_proba(
np.concatenate([features, prosody])
)
return AudioRiskAssessment(score=score[1], features=features)
Валидация и ограничения
Датасеты для обучения: DAIC-WOZ (depressive disorder interviews), CLPsych shared task datasets, Reddit Mental Health dataset (r/depression). Для русского языка — ограниченные ресурсы, основной подход — transfer learning с доменной адаптацией.
Ключевые ограничения:
- Модель обнаруживает паттерны, коррелирующие с депрессией, но не диагностирует её
- Высокий false positive rate неприемлем — может привести к стигматизации
- Культурные различия в выражении эмоций существенны
- Контекст важен: грустный текст о потере близкого ≠ клиническая депрессия
Этические требования
Информированное согласие: пользователь должен знать, что анализ ведётся. Это обязательно.
Не как единственный инструмент: результат AI — только флаг для специалиста, не основание для действий.
Приватность: анализ ведётся в соответствии с требованиями 152-ФЗ. Никаких персональных данных в логах модели.
Bias audit: регулярная проверка на дифференциальную точность по демографическим группам.
Crisis escalation: при обнаружении суицидальной идеации — немедленный переход к crisis response протоколу (отдельная система).
Интеграция в платформы
Основные кейсы: корпоративные EAP (Employee Assistance Program) приложения с согласия сотрудников, телемедицинские платформы психологической помощи, чат-боты психологической поддержки. Система работает в фоне и передаёт флаги психологу-консультанту, который принимает финальное решение о контакте с пользователем.
Сроки внедрения
Месяц 1–2: Текстовая модель на базе transfer learning, LIWC-анализ, baseline evaluation
Месяц 3–4: Аудио-модуль, интеграция с платформой, UI для специалистов
Месяц 5–6: Пилот с психологами, калибровка thresholds, bias audit
Месяц 7–8: Документация, этический аудит, production deployment







