사고조사보고서 자동 분석부터 위험 예측까지 — 시스템을 구성하는 4가지 기술이
철도안전 업무에서 어떻게 작동하는지 설명합니다.
Ollama가 처리하는 핵심 작업은 비정형 텍스트 → 표준 필드 추출입니다. 사고조사보고서는 기관마다 형식이 다르고 자연어로 서술된 내용이 많아 규칙 기반 파싱만으로는 한계가 있습니다.
철도 관제 비유
LangChain은 관제 시스템의 표준 통신 프로토콜과 같습니다.
다양한 신호설비(LLM 종류)가 있어도, 관제사(코드)는 같은 방식으로 명령을 내리고 응답을 받을 수 있습니다.
Ollama로 교체해도, 나중에 다른 모델로 바꿔도 나머지 코드는 변경 없이 동작합니다.
관제 지휘관 비유
LangGraph는 현장 대응 지휘관과 같습니다.
"이번 주 고위험 사고 조회 후 담당자 알림"이라는 목표를 받으면 → DB 조회 → 결과 분석 → 조건 확인 → 알림 발송 → 완료 판단까지
단계별로 스스로 판단하며 실행합니다. 중간에 오류가 있으면 다른 방법을 찾아 재시도합니다.
query_db_tool(risk_grade="High", last_years=0) 호출
notify_tool(risk_grade="High", message="...") 호출
과거 월별 사고 건수 데이터를 학습해 향후 1~24개월의 사고 발생 건수를 예측합니다. 4가지 모델을 제공해 현황에 맞게 선택할 수 있습니다.
개별 사고의 사망자·부상자·피해액·지연시간을 등가사망지수(EFI) 기반으로 0~100점으로 환산, Critical/High/Medium/Low 4등급 분류합니다.
| 등급 | 점수 범위 | 사망자 기준 | 부상자 기준 | 대응 원칙 |
|---|---|---|---|---|
| Critical | 80 ~ 100점 | 3명 이상 또는 5명+ → 90점 | 20명 이상 | 즉시 임원 보고 + notify_tool 발동 |
| High | 60 ~ 79점 | 1명 이상 (절대 하한) | 10명 이상 or 대형 피해 | 안전관리팀 즉시 알림 |
| Medium | 25 ~ 59점 | 0명 | 1~9명 또는 고비용 손실 | 정기 보고 + 예방 계획 수립 |
| Low | 0 ~ 24점 | 0명 | 0명 (장애류, 경미한 지연) | 데이터 축적 + 통계 분석 |
IsolationForest는 정상 사고 패턴에서 크게 벗어난 "비정상적으로 심각한 사고"를 자동 탐지하는 비지도학습 모델입니다.
기존 위험도 점수가 모든 지표를 선형으로 합산한다면, IsolationForest는
여러 변수의 조합이 평소와 얼마나 다른지를 기준으로 판단합니다.