블로그로 돌아가기
Product

OCEAN Big Five — 성격 심리학이 데이팅 앱에 들어오기까지

Costa & McCrae의 Big Five 성격 모델이 왜 학문적 금표준인지, 50문항이 어떻게 5개 차원으로 매핑되는지, 그리고 MBTI 대신 OCEAN을 선택한 이유를 설명합니다.

Team Somebling ·
#OCEAN #Big Five #성격심리학 #매칭 알고리즘

왜 성격으로 매칭하는가

대부분의 데이팅 앱은 사진을 먼저 보여줍니다. 외모 기반의 빠른 판단이 초기 사용성 지표에는 유리하기 때문입니다. 그러나 실제 장기 관계 만족도를 예측하는 가장 강력한 변수는 외모가 아닙니다. 심리학 연구들은 일관되게 성격의 유사성과 보완성이 관계의 질을 결정하는 핵심 요인임을 보여줍니다.

썸블링이 출발한 질문은 단순합니다. “잘 맞는 사람을 처음부터 만나게 할 수 있다면?” 이 질문에 답하기 위해 우리는 성격 심리학의 가장 견고한 이론인 Big Five(OCEAN) 모델을 선택했습니다.


Big Five란 무엇인가

Big Five, 혹은 5요인 모델(Five-Factor Model, FFM)은 1980~90년대에 Paul Costa Jr.와 Robert McCrae가 체계화한 성격 분류 체계입니다. 수십 년간 수백 개의 독립 연구를 통해 검증되었으며, 현재 학계에서 가장 널리 사용되는 성격 모델입니다.

다섯 요인은 각각의 영문 첫 글자를 모아 OCEAN이라 부릅니다.

요인영문높을 때낮을 때
개방성Openness호기심, 창의적, 새로운 것을 즐김실용적, 일관성 중시, 보수적
성실성Conscientiousness계획적, 책임감, 꼼꼼함즉흥적, 유연함, 여유로움
외향성Extraversion사교적, 활동적, 자극 추구내향적, 독립적, 조용한 환경 선호
친화성Agreeableness공감 능력, 협력적, 온화함직설적, 경쟁적, 독립적 판단
신경성Neuroticism감정 기복, 불안 경향, 예민함감정 안정, 스트레스 저항력 높음

중요한 점은 이 다섯 요인이 **독립적(orthogonal)**이라는 것입니다. 즉, 외향성이 높다고 해서 친화성이 높거나 낮을 이유가 없습니다. 각 요인은 서로 다른 심리적 차원을 측정합니다.


과학적 근거 — 왜 Big Five가 금표준인가

교차 문화적 재현성

Big Five의 5요인 구조는 영어권 외에도 독일어, 일본어, 중국어, 한국어 등 50개 이상의 언어와 문화권에서 일관되게 재현되었습니다. 성격을 설명하는 어휘를 분석하면 어느 언어에서나 비슷한 5개 차원이 자연스럽게 도출됩니다. 이는 이 모델이 문화적 편향이 아닌 인간 성격의 기저 구조를 포착하고 있음을 의미합니다.

예측 타당도

Big Five 점수는 다음을 통계적으로 유의미하게 예측합니다.

생물학적 기반

쌍둥이 연구에 따르면 Big Five 요인들의 유전율은 약 40~60% 수준입니다. 성격이 순수한 환경의 산물이 아니라 생물학적 기질에 기반한다는 점에서, 이 모델은 단순한 자기 서술 이상의 의미를 가집니다.

시간적 안정성

Big Five 점수는 성인기 이후 비교적 안정적으로 유지됩니다. 30대 이후에는 개방성과 신경성이 소폭 감소하고 성실성과 친화성이 증가하는 경향이 있지만, 개인 간 상대적 순위는 크게 변하지 않습니다.


MBTI와 OCEAN을 비교하면

많은 한국인에게 성격 유형 하면 MBTI가 먼저 떠오릅니다. 그러나 학술적 관점에서 MBTI와 OCEAN은 상당히 다릅니다.

항목MBTIOCEAN (Big Five)
유형 수16가지 유형연속 척도 (무한한 조합)
측정 방식이분법 (I vs E)연속 값 (0~100)
재검사 신뢰도낮음 (4~8주 후 50% 유형 변경)높음 (0.7~0.9)
교차 문화 타당도제한적50개+ 문화권 검증
학술 지지도낮음 (심리학계 비판 다수)높음 (수천 편의 논문)
관계 예측력약함강함 (특히 N, A 요인)
연속성 표현불가 (E 아니면 I)가능 (예: 외향성 62점)

MBTI의 가장 큰 문제는 이분법입니다. 외향성 점수가 51인 사람과 49인 사람을 E와 I로 완전히 다른 유형으로 구분하는 것은 실제 성격의 연속적 분포를 무시합니다. 반면 OCEAN은 “당신의 외향성은 58점, 상대방은 62점”처럼 정확한 수치로 표현하고, 두 사람의 차이를 정밀하게 계산할 수 있습니다.

썸블링의 매칭 알고리즘은 두 벡터 간 코사인 유사도를 계산합니다. 이 계산은 연속 수치 없이는 불가능합니다. MBTI의 16가지 유형 코드로는 두 사람이 “얼마나” 비슷한지 정량화할 수 없습니다.


썸블링의 소울 테스트 — 50문항의 설계

썸블링의 소울 테스트는 총 50문항으로 구성됩니다. 각 문항은 리커트 5점 척도(1=전혀 그렇지 않다 ~ 5=매우 그렇다)로 응답합니다.

문항 배분

범주문항 수측정 대상
OCEAN 성격30문항5요인 × 6문항
가치관10문항삶의 우선순위 10개 영역
애착유형10문항4가지 애착 패턴

OCEAN 30문항 중 약 1/3은 **역문항(reverse-scored items)**입니다. 예를 들어 외향성을 측정할 때 “나는 파티를 즐긴다”와 함께 “나는 혼자 있는 시간이 좋다”를 함께 포함하여, 응답 편향(acquiescence bias)을 줄입니다.

문항에서 점수까지의 파이프라인

flowchart TD
    A["소울 테스트 시작\n50문항 제시"] --> B["리커트 응답 수집\n1~5점"]
    B --> C{"역문항 여부"}
    C -->|역문항| D["6 - answerValue\n방향 반전"]
    C -->|정문항| E["answerValue 그대로"]
    D --> F["카테고리별 집계\n(OCEAN 5 + 가치관 10 + 애착 4)"]
    E --> F
    F --> G["0~100 정규화\n(raw - 1) / 4 × 100"]
    G --> H["SoulTestResult 저장\n+ MatchingProfile 벡터 생성"]
    H --> I["매칭 알고리즘에서\n코사인 유사도 계산"]

정규화 공식은 15점 응답을 0100 범위로 선형 변환합니다.

// aro-matching / ScoreCalculator.java
/**
 * 리커트 척도 응답(1~5)을 0~100 범위로 정규화합니다.
 * 역문항은 호출 전 이미 반전 처리되어 있어야 합니다.
 *
 * @param rawAverage 카테고리 내 응답 평균 (1.0 ~ 5.0)
 * @return 정규화된 점수 (0.0 ~ 100.0)
 */
private double normalize(double rawAverage) {
    return (rawAverage - 1.0) / 4.0 * 100.0;
}

/**
 * 특정 OCEAN 요인의 점수를 계산합니다.
 *
 * @param answers       소울 테스트 전체 응답 목록
 * @param category      계산할 OCEAN 요인 카테고리
 * @return 0~100 범위의 요인 점수
 */
public double calculateOceanDimension(
        List<SoulTestAnswer> answers,
        QuestionCategory category) {

    double rawAverage = answers.stream()
        .filter(a -> questionMetadata.getCategory(a.getQuestionId()) == category)
        .mapToDouble(a -> {
            boolean isReversed = questionMetadata.isReversed(a.getQuestionId());
            return isReversed ? (6 - a.getAnswerValue()) : a.getAnswerValue();
        })
        .average()
        .orElse(3.0); // 응답 없을 시 중립값

    return normalize(rawAverage);
}

각 OCEAN 요인이 관계에 미치는 영향

OCEAN은 단순한 성격 분류 이상입니다. 각 요인은 연인 관계에서 구체적인 패턴과 연결됩니다.

개방성 (Openness)

개방성이 높은 사람은 새로운 경험, 예술, 아이디어에 열려 있습니다. 두 사람의 개방성이 유사할 때 여행 취향, 문화 활동, 지적 대화에서 자연스러운 공감대가 형성됩니다. 개방성 차이가 클 경우 “루틴을 좋아하는 나 vs 매일 새로운 것을 원하는 너”의 갈등이 나타날 수 있습니다.

성실성 (Conscientiousness)

성실성은 관계의 신뢰도와 관련됩니다. 약속을 지키는지, 계획을 세우는지, 책임을 다하는지. 성실성이 높은 사람은 파트너에게서도 비슷한 신뢰성을 기대합니다. 성실성 차이는 “왜 그렇게 즉흥적이야?” vs “왜 그렇게 계획만 세워?” 형태의 반복 갈등으로 이어지기 쉽습니다.

외향성 (Extraversion)

사교성, 에너지 수준, 자극 욕구를 반영합니다. 외향성이 매우 다른 커플은 주말 계획에서 충돌합니다. 한 쪽은 친구들과의 모임을 원하고 다른 한 쪽은 집에서 쉬고 싶어합니다. 완전히 같을 필요는 없지만 지나친 차이는 피로감의 원인이 됩니다.

친화성 (Agreeableness)

친화성은 공감, 배려, 갈등 회피 경향과 관련됩니다. 친화성이 높은 사람은 상대방의 감정에 민감하게 반응하고 타협을 우선합니다. 관계 연구에서 양쪽 모두 친화성이 높은 커플은 갈등 빈도와 강도가 낮습니다.

신경성 (Neuroticism)

신경성은 관계 만족도와 역상관이 가장 강한 요인입니다. 신경성이 높은 사람은 감정 기복, 불안, 질투, 부정적 해석 경향이 강합니다. 두 사람 모두 신경성이 높을 경우 감정적 충돌이 빈번해집니다. 따라서 썸블링의 매칭 알고리즘은 신경성 점수 차이를 줄이는 방향으로 가중치를 적용합니다.


소울 테스트 UX — 사용자가 느끼는 경험

50문항은 분량이 많습니다. 지루한 설문지 형식으로 제시하면 완료율이 급격히 떨어집니다. 썸블링은 이 문제를 UX 설계로 해결했습니다.

// useSoulTestStore — 진행 상태 localStorage 자동 저장
const useSoulTestStore = create<SoulTestState>()(
  persist(
    (set, get) => ({
      currentQuestionIndex: 0,
      answers: {},
      testId: null,
      // ...

      setAnswer: (questionId: number, value: number) => {
        set(state => ({
          answers: { ...state.answers, [questionId]: value },
          // 자동 전진: 다음 질문 인덱스로 이동
          currentQuestionIndex: state.currentQuestionIndex + 1,
        }));
      },

      hasProgress: () => {
        const { answers } = get();
        return Object.keys(answers).length > 0;
      },
    }),
    { name: 'soul-test-progress' } // localStorage 키
  )
);

결과: 성격 프로필이 만들어내는 것

소울 테스트가 완료되면 서버는 SoulTestResult 엔티티를 저장하고 즉시 MatchingProfile을 생성합니다. 이 프로필에는 19차원 매칭 벡터가 포함됩니다(OCEAN 5 + 가치관 10 + 애착유형 인코딩 4).

사용자에게 보이는 결과 화면에는:

이 결과는 매칭 시 상대방에게도 공개됩니다. 프로필 사진보다 훨씬 많은 정보를 담고 있습니다.


앞으로의 방향

현재 썸블링은 고정된 50문항과 수동 가중치(OCEAN 50%, 가치관 30%, 애착 20%)를 사용합니다. 그러나 실제 커플 데이터, 만남 후기 별점, 채팅 지속 기간 등의 피드백 데이터가 축적되면 가중치를 학습하는 방향으로 발전시킬 수 있습니다.

예를 들어 실제 좋은 만남으로 이어진 매칭들의 OCEAN 패턴을 분석하면, 어떤 요인에서의 유사성이 가장 중요한지를 데이터 기반으로 파악할 수 있습니다. 이 경우 정적 가중치가 아닌 피처 중요도 기반의 동적 가중치가 더 정확한 매칭을 만들어낼 것입니다.

성격 심리학의 가장 견고한 도구와 실제 관계 데이터의 결합 — 그것이 썸블링이 지향하는 매칭 알고리즘의 미래입니다.

댓글

GitHub 계정으로 로그인하여 댓글을 남길 수 있습니다. 허위사실, 욕설, 사칭 등의 댓글은 통보 없이 삭제될 수 있습니다.

블로그로 돌아가기