본문 바로가기

카테고리 없음

Natural Language Processing for Immersive Game Interactions

배경

게임 몰입감의 증대를 위해 NPC 캐릭터의 상호작용을 AI 기반으로 구현

방법

1. Context-Aware Dialogue Systems(상황 인지형 대화 시스템)

NPC가 맥락을 고려하여 상황에 맞는 응답을 생성

e.g. “마법 검을 들고 있군요. 혹시 드래곤 퀘스트 때문에 오신 건가요?”

구조 : 게임 상태 인코더, 플레이어 이력 인코더, 언어 모델 통합 모듈

  • Game State Encoder(게임 상태 인코더) : 현재 게임의 상태를 처리하고 유의미한 표현으로 인코딩하는 역할
  • CNN : 게임 스크린샷 데이터를 통해 사전 학습되고, 사용하려는 게임 환경에 맞게 추가로 파인튜닝된 모델이 시각 정보를 처리. 플레이어 위치, 주변 객체, 환경 조건과 같은 관련 특징을 추출
  • RNN : 양방향 LSTM 네트워크가 최근 플레이어의 행동, 퀘스트 진행 상황, 인벤토리 변화와 같은 연속적인 게임 데이터를 처리. 시계열 종속성과 게임의 진행 상황을 포착
  • Fusion Layer : CNN과 RNN을 합쳐서 게임의 상태를 알려줌. Fusion layer는 시각과 순차 정보의 weight을 동적으로 변동 가능함
  • Player History Encoder(플레이어 이력 인코더) : 플레이어의 과거 상호작용과 행동을 기록하고 유지해서 장기적인 패턴을 포착하는 역할(트랜스포머 기반 아키텍처 사용)
  • 입력 임베딩 : 플레이어의 행동, 대화 선택지, 게임 이벤트가 토큰화되며 학습된 임베딩 레이어를 통해 임베딩
  • 트랜스포머 인코더 : 6개의 트랜스포머 인코더 레이어로 구성된 스택이 임베딩된 시퀸스를 처리. 각 레이어는 멀티헤드 셀프 어텐션 메커니즘과 피드포워드 신경망으로 구성됨.
  • 시계열 어텐션 : 이벤트의 최신성과 현재 맥락에 대한 관련성을 기반으로 중요도 조정
  • Language Model Integration(언어 모델 통합) : 진행한 컨텍스트 인코딩을 LLM에 통합하여 NPC 응답 생성
  • 기본 모델 : Llama-3B 모델을 기반으로 사용. 게임의 톤과 스타일에 맞추기 위해 대화 및 내러티브로 구성된 데이터셋으로 파인튜닝
  • 컨텍스트 주입 : 게임 상태 및 플레이어 이력 정보를 프롬프트 엔지니어링을 통해 통합. 학습된 프롬프트 템플릿을 사용
  • 응답 생성 : 온도 0.7, top-p 0.9의 speculative sampling 사용
  • 일관성 검사: 일관된 대화 쌍, 일관되지 않은 대화 쌍으로 구성된 데이터셋을 기반으로 훈련된 BERT 기반 분류기를 통해 검사

 

2. Emotional intelligence integration(감정 지능 통합)

멀티모달 감정 인식 시스템을 이용하여 플레이어의 감정을 감지하고 공감하는 응답을 생성

e.g. “퀘스트 실패로 속상하신 것 같네요.”

구조 : 다중모달 감정 인식, 감정 인지형 응답 생성, 공감 모델링

  • 다중모달 감정 인식 : 입력 modality를 분석 -> 감정 상태 평가
  • 텍스트 감정 분석 : GoEmotions 데이터셋으로 파인튜닝한 BERT 기반 분류기 사용. 입력된 텍스트를 27개의 감정 번주로 분류. F1 점수 0.78
  • 음성 톤 분석 : CNN 사용
  • 안면 표정 분석 : 3D CNN 사용
  • 생리학적 데이터 : 웨어러블 디바이스를 통해 데이터 수집. LSTM 네트워크를 사용해서 시계열 패턴 포착

      ⇒ 가중 앙상블 방식으로 출력을 결합

  • 적응형 가중치
  • 신뢰도 점수
  • temporal smoothing

 

  • 감정 인지형 응답 생성 : 인식한 감정을 NPC 대화에 사용
  • 감정 임베딩 : 64차원 감정 임베딩, 프롬프트 엔지니어링을 통해 사용(컨텍스트 주입 과정과 유사)
  • 감정 프라이밍 :토근들은 기쁨, 슬픔, 분노, 두려움, 혐오, 신뢰, 기대로 총 8개
  • 적응형 샘플링 : 감정 강도에 따라 샘플링 온도 조정
  • 감정 궤적 모델링 : TCN을 사용해서 대화의 감정 궤적을 모델링. 시스템이 응답을 생성할 때 원하는 상태로 유도할 수 있게 함

 

  • 공감 모델링 : NPC가 적절하고 지지적인 응답을 생성할 수 있도록 함
  • 공감 데이터셋 : Empathetic Diaglogues
  • 공감 분류기: 데이터셋 기반으로 RoBERTa 기반 분류기 훈련시켜서 사용. 감정 반응, 해석, 탐색, 검증, 제안.
  • 공감 생성 : Llama-3B 모델을 파인 튜닝하여 생성
  • 맥락 의존적 공감 : 강화학습을 사용해서 게임 맥락, 플레이어 history, 감정 상태를 고려
  • 통합 및 최적화 : AR/VR 환경의
  • 감정 캐싱
  • 계층적 처리
  • 적응형 연산

3. 실시간 적응 시스템

실시간으로 행동 및 대화 패턴을 조정할 수 있도록 함

  • 행동 공간 정의 : 고수준 대화 행위와 저수준 언어 생성 매개변수의 조합으로 정의
  • 대화 행위 : DAMSL(Dialogue Act Markup Layers) 프레임워크를 기반으로 12개의 고수준 대화 행위 정의
  • 언어 생성 매개 변수 : 응답 길이, 격식 수준, 복잡성, 감정(e.g. 긍정, 중립, 부정), 비유적 언어 사용
  • 연속형 행동 공간
  • 상태 표현 : 현재 상호작용 맥락과 플레이어 행동 정보를 포착하도록 설계
  • 컨텍스트 임베딩 : 1028 차원 벡터. 상황 인지형 대화 시스템에서 생성된 현재 게임 상태 및 대화 기록을 나타냄
  • 플레이어 감정 : 감정 지능 통합 시스템에서 나온 64차원 감정 임베딩
  • 플레이어 스타일 임베딩 : 플레이어의 의사소통 스타일을 나타내는 128차원 벡터.
  • NPC 목표 설정 : NPC의 대화에 현재 목표를 설정
  • 보상 함수 설계 :
  • 대화 길이, 플레이어 몰입도, 의미적 일관성, 감정 정렬, 목표 프로세스, 플레이어 피드백으로 보상 함수 설계
  • 가중치는 균형 있게 맞추도록 최적화 됨

4. 학습 알고리즘 구현

Llama 3B 모델로 구현, 보상 가중 프롬프트 엔지니어링을 통해 생성

  • 보상 추정
    • 플레이어 몰입도 신호
    • 대화 일관성 점수
    • 과제 완료 지표
  • 적응 전략
  • 점진적 학습
  • 1단계 : 기본 대화 패턴
  • 2단계 : 상황 인지형 응답
  • 3단계 : 다중 턴 대화

5. 실시간 최적화 및 배포

AR/VR 환경 고려 사항 

  • 비동기 학습
  • 계층적 의사결정
  • 캐싱 및 사전 계산
  • 동적 계산 그래프
  • 분산 추론

 

실험

  1. 실험 환경 :

AR 게임 1개, VR 게임 1개

NPC :  

  • 마을 시장 : 여러 NPC가 있음. 다자간 대화와 맥락 전환을 테스트
  • 퀘스트 제공자 : 일대일 상호작용, 내러티브 일관성과 목표 지향적 대화 능력 평가
  • 감정적 동반자 : 시스템의 감정 지능, 공감 모델링 테스트

베이스라인 시스템 :

  1. 규칙 기반 시스템 : 사전에 작성된 응답을 사용하는 시스템
  2. 기본 신경망 : 게임 대화 데이터셋으로 훈련된 sequence-to-sequence 모델

참가자 : 60명을 나누어 실험

  • 규칙 기반 시스템과 상호작용
  • 기본 신경망 시스템과 상호작용
  • 논문에서 제안한 NLP 시스템과 상호작용

평가 지표

  1. 정량적 지표
    • 응답 적절성 : 플레이어 입력과 NPC 응답 간의 임베딩을 코사인 유사도로 측정
    • 대화 길이 : 플레이어-NPC 상호작용의 평균 턴 수
    • 응답 시간 : 시스템이 응답을 생성하는 데 걸린 시간
    • Perplexity : 언어 모델이 다음 단어를 얼마나 잘 예측하는지 측정
  2. 정성적 지표
    • 자연스러움 : NPC의 응답이 얼마나 자연스럽고 인간처럼 느껴졌는지
    • 일관성 : NPC가 대화 중 맥락을 얼마나 잘 유지했는지
    • 감정 지능 : NPC가 플레이어의 감정 상태를 얼마나 잘 인식하고 반응하는지
    • 몰입도 : 대화가 얼마나 흥미롭고 참여하고 싶었는지
    • 현실감 : NPC 상호작용이 AR/VR 환경에서 얼마나 현실 같게 느끼게 했는지

실험 절차

  1. AR/VR 조작법과 게임 목표에 대한 간단한 튜토리얼 안내
  2. 각 참가자들은 세 가지 게임 시나리오를 모두 플레이. 각 시나리오에서 약 15분간 NPC와 상호작용
  3. 시나리오가 끝난 후 참가자들은 정성적 지표를 평가하는 설문지 작성
  4. 그 후 인터뷰 진행
  • 전체 플레이 세션은 후속 분석을 위해 녹화(플레이어 행동 및 시스템 성능 분석 목적)

데이터 수집 및 분석

  • 플레이어-NPC 간의 모든 대화 로그
  • 시스템 성능 지표(응답 시간, 메모리 사용량 등)
  • 설문지 응답 및 인터뷰 기록
  • 플레이 세션 영상 녹화본

분석 방법 :

  • ANOVA 테스트 : 세 시스템의 지표 성능 비교
  • NLP 기법 : 대화 로그와 인터뷰 기록 분석
  • 기계 학습 : 플레이어 행동 및 시스템 응답에서 패턴 식별

 

결과

베이스라인들보다 느렸지만 수용 가능한 정도

한계점과 도전과제

  • 연산 능력 (XR)
  • 가끔 NPC의 성격이나 지식에 불일치 발생
  • 열린 형태의 대화에 대해 일부 참가자들은 어려움을 느낌
  • 윤리적 고려 사항 : AI 기반 NPC의 높은 몰입감이 지나친 애착이나 중독 가능성에 대한 우려를 불러일으킴

향후 연구 방향

  • 플레이어의 제스처 등 다중 모달 입력을 탐색
  • 여러 게임 세션에 걸쳐 NPC의 성격을 유지할 수 있는 장기 일관성 유지 기법 연구
  • AI 기반 NPC의 윤리적 고려사항 및 잠재적 편향 해결 방안 모색Context-Aware Dialogue Systems(상황 인지형 대화 시스템)