Skip to content

Wantorich/OIC

 
 

Repository files navigation

OIC

🔍 프로젝트 개요

  • 프로젝트 이름: 그랬구나(Oh I See)
  • 진행 기간: 2025.04.14 ~ 2025.05.23 (6주)
  • 서비스 한줄 소개:
AI 감정 분석과 소통 기술을 활용하여 감정적 갈등 상황에서 중립적 중재와 표현 조율을 도와주는 소통 중재 플랫폼

🤝 프로젝트 배경

1. 문제 인식

  • 채팅 기반 커뮤니케이션의 보편화

    • 메신저, 커뮤니티, 협업툴 등에서 실시간 텍스트 기반 소통이 일상화됨
    • 표정, 억양 등의 비언어적 요소 부재로 인해 감정이 왜곡되거나 오해가 발생하는 경우 다수
  • 중재자 없는 대화 환경

    • 대부분의 채팅 환경에서는 제3자의 개입 없이 당사자끼리만 소통
    • 과격한 표현이나 감정 충돌이 발생해도 이를 제어하거나 조율할 수 있는 중립적 역할 부재
  • 표현 강도의 자각 부족

    • 사용자들이 자신의 표현이 과도하거나 공격적으로 느껴질 수 있다는 점을 인식하기 어려움
    • 의도와 다르게 해석되어 갈등이 발생하는 상황 빈번
  • 충동적 반응과 후회

    • 감정에 휩쓸려 보낸 메시지로 관계가 악화되고, 이후 후회하거나 자책하는 패턴 반복

2. 페인포인트 및 사용자 니즈

  • 텍스트만으로 감정 전달이 어려움

    • 상대방이 내 감정을 정확히 이해했는지 불확실함
    • 감정 표현을 너무 약하게 하면 무시당하고, 강하게 하면 공격적으로 보일 수 있음
  • "말은 이렇게 했지만, 그게 진짜 내 뜻은 아니었는데..."

    • 표현력 부족이나 순간적인 감정으로 인한 오해가 쌓이며, 관계가 악화됨
  • 갈등을 ‘회피’하거나 ‘단절’로 해결

    • 심화된 갈등은 차단, 탈퇴, 비방 등으로 번지며 커뮤니티나 관계 유지가 어려워짐
  • 충동적인 반응에 대한 후회

    • 순간의 화난 감정으로 보낸 메시지가 문제가 되기도 하며, 나중에 삭제하거나 사과하는 일 반복
  • 감정의 흐름을 파악하기 어려움

    • 대화 전체에서 감정 변화나 갈등 지점을 추적할 방법이 없어, 패턴을 반복함
사용자 니즈 설명
감정을 효과적으로 표현하고 싶다 AI가 감정의 뉘앙스를 분석해 더 적절한 표현을 제안해줌
갈등 상황에서 중재를 받고 싶다 AI 또는 제3자(아레나)의 중재로 감정 충돌을 줄이고 싶음
감정의 흐름과 변화에 대해 알고 싶다 감정 분석 리포트를 통해 자신도 몰랐던 감정의 패턴을 인식함
과격한 표현을 사전에 조절하고 싶다 AI가 위험하거나 감정적으로 격한 표현을 완화해줌

3. 프로젝트 목표

🎯 핵심 목표

  • AI 기반 감정 중재 서비스 제공

    • 실시간 텍스트 대화 중 발생하는 갈등 상황에 AI가 중립적인 중재자로 개입
    • 감정 표현을 조정하고, 과격한 표현은 완화하여 건전한 소통을 유도
  • 사용자 감정 분석 및 표현 조율

    • 사용자의 메시지를 분석해 감정 상태를 파악하고, 더 효과적인 전달 방식 제안
    • 예: "짜증 나니까 그만해!" → "이 부분이 불편했어, 같이 이야기해보자"
  • 건강한 소통 문화 조성

    • 감정 흐름 리포트를 통해 자기 성찰 기회 제공
    • AI뿐 아니라, 일반 사용자가 참여하는 '아레나' 시스템으로 공정한 의견 수렴 및 갈등 완화

📌 세부 목표 항목

목표 항목 설명
실시간 AI 감정 분석 채팅 중 감정 상태(예: 분노, 실망, 불안 등)를 실시간으로 분석
표현 완화 및 제안 기능 공격적인 표현을 부드러운 표현으로 전환 제안
아레나 기반 중재 시스템 AI 중재 실패 시, 사용자 참여형 집단 중재 구조로 갈등 조율
감정 리포트 및 성찰 지원 대화 내 감정 변화 및 갈등 발생 포인트에 대한 시각화 리포트

💡 주요 기능 및 서비스 화면

1. 소셜 로그인 및 회원 관리

gif

  • 사용자는 카카오, 구글, 네이버 계정을 통해 간편하게 회원가입 및 로그인 가능
  • 사용자 프로필 및 기본 정보 등록 및 관리

2. 갈등 상황 입력 및 분석

gif gif

  • 감정적 갈등 상황 또는 대화 내용을 자유롭게 입력
  • AI가 입력된 내용의 감정을 분석하고 객관적인 시각으로 재구성

3. 중재 대화

gif gif

  • AI가 중재자 역할을 맡아 양측의 대화를 중립적으로 전달
  • 갈등 상황에서 원활한 소통을 위한 가이드 제공
  • AI 피드백 기능을 통해 과도하게 격앙된 표현을 적절한 수위로 조율하여 제안
  • 상대방의 입장을 고려한 대안적 표현 방식 제시

4. 아레나 기능

아레나

  • 1:1 중재로 해결되지 않는 갈등은 공개 중재 단계로 전환
  • 커뮤니티 참여를 통한 다양한 시각과 의견 수렴

6. 감정 기록

감정 기록

  • 일상적인 감정 기록 및 분석
  • 시간에 따른 감정 변화 추적 및 패턴 분석

감정 기록 챗봇

  • 챗봇과의 대화를 통해 감정을 해소하고 자동으로 감정 기록

7. 통계 및 리포트

  • 개인 감정 패턴 및 소통 방식에 대한 분석 리포트 제공
  • 소통 개선을 위한 맞춤형 제안

(1) 갈등 대응 성향 분석

갈등 대응 성향 분석

(2) 관계별 감정 반응

관계별 감정 반응

(3) 감정 표현 경향

감정 표현 경향

(4) 해결 전략 제안

해결 전략 제안

(5) 갈등 패턴 분석

갈등 패턴 분석

  • 소통 시뮬레이션 및 코칭 챗봇

시뮬레이션 코치


📁 프로젝트 구조

Back-end

backend/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/oic/
│   │   │       ├── auth/             # 인증 관련
│   │   │       ├── user/             # 사용자 관리
│   │   │       ├── conflict/         # 갈등 상황 관리
│   │   │       ├── message/          # 메시지 처리
│   │   │       ├── arena/            # 공개 중재 기능
│   │   │       ├── diary/            # 감정 다이어리
│   │   │       ├── report/           # 분석 리포트
│   │   │       ├── notification/     # 알림 서비스
│   │   │       ├── s3/               # 파일 저장 관리
│   │   │       ├── global/           # 공통 유틸리티
│   │   │       └── OicApplication.java  # 어플리케이션 시작점
│   │   └── resources/               # 설정 파일
│   └── test/                       # 테스트 코드
└── build.gradle                   # 의존성 관리

Front-end

frontend/
├── public/                        # 정적 파일
├── src/
│   ├── assets/                    # 이미지, 폰트 등
│   │   ├── fonts/                 # 폰트 파일
│   │   └── images/                # 이미지 파일
│   ├── components/                # 재사용 컴포넌트
│   ├── pages/                     # 페이지 컴포넌트
│   │   ├── auth/                  # 인증 관련 페이지
│   │   ├── conflict/              # 갈등 처리 페이지
│   │   ├── diary/                 # 다이어리 페이지
│   │   ├── arena/                 # 아레나 페이지
│   │   └── mypage/                # 마이페이지
│   ├── store/                     # 상태 관리
│   ├── hooks/                     # 커스텀 훅
│   ├── utils/                     # 유틸리티 함수
│   ├── api/                       # API 연동
│   └── main.tsx                   # 진입점
├── tailwind.config.js             # Tailwind 설정
├── vite.config.ts                 # Vite 설정
└── package.json                   # 의존성 및 스크립트

AI-backend

ai/
├── chains/                        # LangChain 체인
├── core/                          # 핵심 기능
├── langchain_utils/               # LangChain 유틸리티
├── routers/                       # API 라우터
│   ├── emotion_bin.py             # 감정 분석
│   ├── emotion_coach.py           # 감정 코칭
│   ├── feedback.py                # 피드백 처리
│   ├── mediation.py               # 중재 기능
│   ├── reconciliation.py          # 화해 중재
│   ├── report.py                  # 리포트 생성
│   ├── simulation.py              # 시뮬레이션
│   └── summary.py                 # 요약 기능
├── schemas/                       # 데이터 스키마
├── services/                      # 서비스 로직
└── main.py                        # 애플리케이션 시작점

📃 설계 및 산출물

시스템 아키텍처

png

ERD

png

요구사항 명세서

요구사항 명세서

API 명세서

API 명세서


🛠️ 기술 스택

대분류 소분류
Front-end React 19.0, Typescript, Redux, Tailwind CSS, Vite
Back-end Java 17, Spring Boot 3.0+
Database MySQL
Infra Docker, Docker Compose, nginx, AWS(EC2), ELK Stack
AI LangChain, OpenAI API, Python 3.10, FastAPI

👥 팀원 소개

이름 역할
김다현 팀장 / 프론트엔드, AI
김태경 백엔드, Infra
제서윤 AI
조창훈 백엔드
최효재 백엔드
편정웅 프론트엔드

About

[Web] SSAFY 12기 자율 프로젝트 / 소통 중재 플랫폼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 76.1%
  • HTML 22.7%
  • Shell 1.1%
  • Dockerfile 0.1%