AI가 채팅 기록을 분석해서 관계의 진실을 알려준다!

by DD
4개월 전
조회수 7

WhatsApp, Telegram, Instagram 챗(Chat) 기록을 분석하여 관계의 패턴을 파악하는 AI 기반 도구 ChemistryCheck 개발

대화 시작 빈도, 응답 지연 시간, 메시지 양 등 다양한 지표를 분석하여 관계의 문제점을 시각적으로 제시

Next.js, React, TypeScript 등 최신 기술 스택을 활용하여 안정적인 파일 업로드 및 분석 기능 구현

Google Gemini를 활용하여 AI 기반 인사이트(Insight) 및 요약 기능을 제공하며, 데이터 미저장 정책(Zero-Retention Policy)을 통해 보안 강화

챗(Chat) 분석을 위한 데이터 처리 파이프라인

ChemistryCheck는 WhatsApp, Telegram, Instagram의 챗(Chat) 데이터를 분석하기 위해 맞춤형 파서(Custom Parser)를 사용한다. 각 플랫폼의 데이터 형식(Data Format)이 다르므로, JSON(JSON) 또는 텍스트(Text) 파일을 파싱(Parsing)하여 분석 가능한 형태로 변환한다.

데이터 정규화(Data Normalization): 시간, 사용자, 메시지 내용 등 핵심 정보를 추출하고, 일관된 형태로 변환

감성 분석(Sentiment Analysis): AI 모델(AI Model)을 활용하여 메시지의 긍정/부정 감성(Sentiment)을 분석

패턴 분석(Pattern Analysis): 메시지 빈도, 응답 시간, 이모지 사용 등 다양한 패턴을 분석하여 관계의 특징을 파악

이러한 과정을 통해 사용자는 자신의 챗(Chat) 데이터를 기반으로 객관적인 관계 분석 결과를 얻을 수 있다.

Next.js와 React를 활용한 프론트엔드 아키텍처

ChemistryCheck는 사용자 친화적인 인터페이스(Interface)를 위해 Next.js와 React를 사용한다. Next.js는 서버 사이드 렌더링(Server-Side Rendering, SSR)을 지원하여 초기 로딩 속도를 개선하고, 검색 엔진 최적화(SEO)에 유리하다.

React 컴포넌트(Component) 재사용: shadcn/ui 라이브러리를 활용하여 UI 컴포넌트(UI Component)를 쉽게 재사용하고, 일관된 디자인(Design) 유지

Vercel Blob을 활용한 파일 업로드: 안전한 파일 업로드(Secure File Upload)를 위해 Vercel Blob을 사용하며, 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 보안 강화

Recharts를 활용한 시각화: 분석 결과를 시각적으로 표현하기 위해 Recharts 라이브러리를 사용하며, 사용자 경험(UX) 향상을 도모

이러한 기술들을 통해 ChemistryCheck는 빠르고 안정적인 웹 애플리케이션(Web Application)을 구축했다.

Google Gemini를 활용한 AI 기반 분석

ChemistryCheck는 Google Gemini를 활용하여 챗(Chat) 데이터를 분석하고, AI 기반 인사이트(AI-powered Insights)를 제공한다. Gemini는 자연어 처리(Natural Language Processing, NLP) 기술을 기반으로, 챗(Chat) 내용의 의미를 파악하고, 관계의 특징을 요약한다.

감성 분석(Sentiment Analysis): 메시지의 긍정/부정 감성(Sentiment)을 분석하고, 관계의 전반적인 분위기를 파악

패턴 분석(Pattern Analysis): 대화 빈도, 응답 시간, 이모지 사용 등 다양한 패턴을 분석하여 관계의 특징을 파악

요약 기능: 분석 결과를 요약하여 사용자에게 핵심 정보(Key Information)를 제공

ChemistryCheck는 AI 환각(Hallucination)을 방지하기 위해, 분석 결과의 근거를 명확하게 제시하고, 데이터 미저장 정책(Zero-Retention Policy)을 통해 개인 정보 보호에 힘쓴다.

데이터 저장 및 분석을 위한 PostgreSQL(Neon) 활용

ChemistryCheck는 분석된 챗(Chat) 데이터를 저장하고 관리하기 위해 PostgreSQL(Neon)과 Drizzle ORM을 사용한다. PostgreSQL은 강력한 데이터 일관성(Data Consistency)을 보장하며, Drizzle ORM은 타입 안전성(Type Safety)을 제공하여 개발 생산성을 향상시킨다.

Neon: 서버리스(Serverless) PostgreSQL을 제공하여 인프라 관리 부담을 줄이고, 확장성(Scalability)을 확보

Drizzle ORM: 타입스크립트(TypeScript) 기반 ORM으로, 데이터베이스(Database) 스키마(Schema) 정의 및 쿼리(Query) 작성을 간편하게 처리

데이터 모델링(Data Modeling): 사용자, 챗(Chat) 데이터, 분석 결과 등 다양한 정보를 효율적으로 저장하기 위한 데이터 모델 설계

ChemistryCheck는 구조화된 데이터 저장(Structured Data Storage)을 통해, 분석 결과의 정확성과 효율성을 높였다.

What If Your Chat History Could Tell You the Truth?