8 minute read

요약: KNUDGE는 비디오 게임 “The Outer Worlds”의 사이드 퀘스트 대화 데이터를 기반으로 한 언어 생성 데이터셋으로, 모델이 자연어로 명시된 퀘스트와 엔티티 사양을 반영한 대화 트리를 생성해야 하는 과제를 다룹니다. 연구 결과, 신경망 생성 모델이 competente한 성능을 보였지만, 현실적이고 게임 품질의 대화를 생성하기 위한 추가적인 작업이 필요하다는 것을 확인했습니다.


1 Introduction

image

  • 역할 수행 게임(RPG)에서 플레이어와 비플레이어 캐릭터(NPC) 간의 상호작용은
    • 배경 이야기 전개 및
    • 흥미로운 퀘스트 이야기 진행을 위한 중요한 요소인 것으로 언급됨.
  • NPC 대화 작성의 주요 도전:
    • 일관된 내러티브 제공
    • 발화가 퀘스트 구조 및 게임 세계관(캐릭터, 역사, 관계 등)을 충실히 반영해야 함.
  • 대화는 퀘스트 시작/종료를 위해 세밀하게 설계됨.
  • NPC 간의 상호작용은 복잡한 트리 형태를 갖추며, 이를 제작하는 것은
    • 게임 디자이너에게 시간 소모가 크고,
    • 회사에 수백만 달러의 비용이 들 수 있음.
  • 따라서, 자동으로 대화 트리를 생성할 수 있는 도구의 필요성이 대두됨.
  • 하지만 현실적인 기준 데이터의 부족이 문제:
    • 대부분의 연구가 크라우드소싱된 데이터나 학술적 데이터에 의존함.
    • 실제 RPG의 복잡한 대화 트리를 다루는 연구가 부족함.
  • KNUDGE(KNowledge constrained User-NPC Dialogue GEneration) 소개:
    • ‘The Outer Worlds’에서 추출된 대화 트리를 포함하며, 세밀한 본체적 제약과 결합됨.
    • 45개의 사이드 퀘스트에서 159개의 대화 포함, 4.7K 발화 및 1.3K 입력 제약 토큰 제공.
    • 각 대화의 발화에 대해 퀘스트 및 역사 관련 정보를 주석으로 제공.
  • KNUDGE를 활용하여 NPC 대화 생성 작업을 설정:
    • 새로운 게임에 대해 작업하는 디자이너를 위한 현실적인 개발 시나리오 반영.
  • LLM 기반 모델 클래스인 DialogWriters 소개:
    • 입력 제약에 따라 대화 트리를 생성하도록 함.
  • NPC 대화의 진실성과 현실성을 측정하기 위한 테스트 프로토콜 개발.
  • 실험 결과, 본체적 사용 및 일관성 유지에서 개선할 여지가 있음.

2 Task Definition

image

  • AI 기반의 작문 도구 개발 필요
    • Ubisoft의 GhostWriter와 같은 도구 필요성 대두
    • 현재 자연어 생성(NLG) 기술과 대화 저자화의 문제 조화 필요
  • 이상적인 작문 도구의 기능
    • 디자이너가 세부 퀘스트 정보와 게임의 세계관에서 제공한 생물(바이오)을 입력
    • 생성된 발화 세트나 전체 대화 트리를 제공하여 콘텐츠 초안 작성 도움
  • 목표로 하는 시나리오
    • 현재의 데이터셋이 존재하지 않음
    • 지식 제약 NPC 대화 생성 작업 정의
    • 퀘스트 제약 진술(Q), 전기 제약 진술(B), 참가자 이름(P)에서 대화 트리(D)로 매핑
  • 다룰 두 개의 작업 시나리오
    • 부분 트리에서 다음 발화 예측
    • 분기 트리의 전체 대화 생성
  • 입력 구성 요소 설명
    • Q: 대화 시작 시 활성 목표에 대한 진술 포함
    • B: 대화에서 반영해야 할 게임 개체에 대한 바이오 및 배경 진술 포함
    • P: 플레이어 캐릭터와 1명 이상의 NPC 포함
  • 대화 D의 구조
    • 방향 그래프 형태로 표현
    • 각 발화 노드 n의 발화자 s가 참가자 목록 P에서 선택됨
    • 플레이어의 여러 대화 선택에 따라 여러 분기로 나뉘는 구조
  • KNUDGE 데이터셋 구축
    • “The Outer Worlds”의 모든 45개 사이드 퀘스트에서 대화 트리 포함
    • 복잡한 주제를 다루며 많은 개체가 여러 퀘스트에 재등장하는 특성
    • 퀘스트 정보 수집 및 데이터에서 대화 트리 추출을 포함
  • 퀘스트 정보 및 전기 정보 수집 방식
    • 대화 파일 및 위키 자료를 통해 데이터 수집
    • NPC의 특징을 반영하여 대화 내용을 구성
  • 데이터셋 통계 및 구조 설명

    image

    • 대화 트리와 주석의 통계 제공
    • KNUDGE 데이터셋은 전통적인 RPG 대화생성 작업에서 필요한 복잡성 및 세부 사양 제공
  • 도전 과제
    • 30개 이상의 노드를 포함하는 대화 트리 생성
    • NPC의 고유 특성을 반영하며 대화의 일관성 유지 필요
    • 현재 LMs(언어 모델)가 직면한 부가적인 문제 설명

이러한 작업은 객체 지향적이고 대화 중심의 게임 설계를 위해 사실과 신화를 기반으로 한 대화를 제작하기 위한 의미 있는 기준이 된다.


3 KNUDGE Dataset

image

  • 목적: KNUDGE는 NPC 대화 생성을 위한 데이터셋으로, 복잡한 게임의 지식을 바탕으로 한 대화를 생성하는 것을 목표로 함.
  • 대화 구조: 데이터셋은 45개의 사이드 퀘스트에서 추출된 대화 트리로 구성되어 있으며, 각 트리는 방향 그래프로 나타내어짐.
  • 입력 요소:
    • 퀘스트 제약 진술(Q): 대화 시작 시 활성화된 목표와 해야 할 일에 대한 진술.
    • 전기적 배경 진술(B): 대화 중 언급되는 게임 내 존재들의 배경 정보.
    • 참여자 목록(P): 플레이어 캐릭터와 해당 NPC들에 대한 사실.
  • 대화 생성의 두 가지 시나리오:
    • 다음 발화 예측: 부분 대화 트리에서 다음 발화를 예측.
    • 전체 대화 생성: 여러 갈래로 분기되는 대화를 구성.
  • 번역 방법: 외부 데이터로부터 대화 트리를 구성할 수 있도록 퀘스트 정보 및 엔티티의 배경 정보를 활용하여 데이터를 수집함.
  • 생성 모델의 요구 사항:
    1. 퀘스트의 기능을 충족해야 하며, 플레이어의 발화 옵션과 NPC의 반응을 포함해야 함.
    2. 대화는 일관되고 플레이어에게 흥미를 줄 수 있어야 함.
    3. NPC 캐릭터는 자신의 생물학적 배경에 충실한 발화해야 함.
    4. NPC는 세계 구축을 돕기 위해 다른 존재에 대한 정보를 전달해야 하지만 모순이 없어야 함.
  • 데이터 세트 구성: KNUDGE에는 퀘스트에 대한 정보, 전기적 진술, 대화 구조가 포함되어 있으며, 총 65,000개의 발화 토큰과 210,000개의 사실 토큰이 포함되어 있음.

    image

  • 기존 데이터셋과의 비교: KNUDGE는 실제 RPG 데이터를 기반으로 한 최초의 데이터셋으로, 실질적으로 복잡한 대화 구조를 포함하고 있음.

4 DialogueWriter Methods

  • DialogueWriter 소개
    • 후보 발화를 생성하는 방법의 집합으로, §2의 온톨로지 명세(Q, B, P) 및 대화의 부분 서브트리 S를 사용.
  • 노드 대화 작가 (Node DialogueWriters)
    • S에서 지정된 새로운 위치에서 발화를 제안.
    • 최신 노드 n ∈ S에 따라 입력(Q, B, P, S, n)을 후보 목록[c1, …, cn]으로 매핑.
    • 발화가 제안될 위치를 유연하게 선택 가능.
  • 트리 탐색 (Tree Traversal)
    • 대화 서브트리를 최대 범위를 갖는 선형 이력으로 변환하는 메커니즘.
    • 최신 노드 n으로부터 가능한 가장 긴 경로를 식별하여 발화 이력 H 생성.
    • H를 사용하여 다음 발화를 생성하기 위한 모델에 전달.
  • 지도 학습 (Supervised Learning, SL) 모델
    • 기존 게임 대화 생성 방법론을 따름.
    • T5-large 모델을 미세 조정하여 [B, Q, P, H]를 기반으로 ci 생성.
    • 지식 선택(Knowledge Selection) 모델을 통해 지원 지식을 먼저 선택 후 발화 생성.
  • 인-컨텍스트 학습 (In-Context Learning, ICL) 모델
    • 훈련 데이터가 적어 미세 조정이 효과적이지 않음.
    • OpenAI의 text-davinci-003 GPT-3 모델을 사용하여 H의 연속으로 다음 발화를 자연스럽게 유도.
    • 훈련 퀘스트에서 예시를 사용하여 few-shot 프롬프트 생성.
  • End-to-End DialogueWriters

    image

    • 특정 위치가 아닌 전체 대화를 생성하는 방법.
    • 전체 노드와 엣지를 동시에 생성하고 정제하는 시리즈 프롬프트 사용.
  • 트리 탐색 및 프롬프트 형식
    • 초기 생성기 프롬프트에 [B, Q, P]와 BM25로 검색한 예시 데이터를 제공.
    • 수정 주기에서는 대화 구조를 반복적으로 재생성하고 검증하여 일관성을 확보.
  • 검증 주기
    • LLM이 생성된 대화 구조를 검증하여 불일치 및 비정상 요소를 확인.
    • 발견된 문제를 기준으로 구조 수정 프롬프트로 문제를 해결하는 반복 과정.

5 Experiments

  • KNUDGE 데이터셋을 퀘스트 기준으로 훈련(60%), 개발(10%), 테스트(30%)로 분할
  • 테스트 세트 B는 본 적이 있는 엔티티와 보지 못한 엔티티의 조합 포함

베이스라인

  • 노드 수준의 지식 선택(KS)의 효과를 평가하기 위해, 한 개의 문장만 선택하는 ICL 모델 및 금(Gold) 지식 주석을 선택하는 오라클 KS ICL 모델과 비교
  • 모든 ICL 실험의 경우 예시 수를 최대화
  • KS의 효과를 측정하기 위해 SL 및 ICL 모델 중 노 KS 모델과 비교
  • Q와 B에 대한 조건부 효과를 측정하기 위해, 참가자와 발화 역사만을 조건으로 하는 모델 및 Q 없이 P, H만을 조건으로 하는 모델과 비교

다음 발화 예측 (NUP)

  • Node DialogueWriters를 평가하기 위해, 각 노드에서 이전 노드와 엣지를 기반으로 한 발화 생성
  • 인간 평가 및 다양한 자동 메트릭으로 평가
  • 평가 결과는 부트스트랩 테스트로 확인

인간 평가

  • 모델별로 100개의 생성물에 대한 4점 리커트 척도로 평가
    • 일관성(Coherence)
    • 위반(Non-Violation)
    • 전기(Biography) 사용
    • 퀘스트(Quest) 사용

자동 평가

  • 다음과 같은 참조 집합과의 겹침 평가
    • 금(Gold) 발화
    • 퀘스트 상태 문서
    • 전기 문서
  • BERTScore-F1 및 GPT-4 기준으로 B 및 Q 사용량 평가

NUP 결과

image

  • NUP 결과는 인간 및 자동 메트릭에서 상이하게 나타남
  • KS 변형을 포함한 ICL 모델이 B 및 Q와의 겹침에서 비 KS 모델보다 높은 점수
  • KS가 ICL 작성자가 지식 구문을 반영하는 데 효과적이며 약간 높은 위반 확률과의 무역을 형성

사례 연구

image

image

  • DialogueWriters의 두 가지 사용 사례 평가
    1. Node DialogueWriters가 인간에 의해 확장할 대화 스켈레톤 제안
    2. End-to-End DialogueWriters가 전체 대화 제안
  • 대화 스켈레톤 생성에서 ICL Node Writer 모델이 모든 기준에서 선호됨
  • End-to-End 생성에서는 GPT-4와 Vicuna-13B 모델 사용; 가장 높은 B 및 Q 사용 및 게임 상태 변화에서 우수한 성과

전체 대화 생성 결과

  • GPT-4 또는 Vicuna 기반 작성기가 ICL-KS 및 수정 루프와 함께 뛰어난 성과
  • 인간 평가 및 GPT-4와의 상관관계로 다양한 기준에서 승패 비율 산출

결론

  • KNUDGE는 다각적 평가가 필요하며, 직접적인 겹침 뿐 아니라 질적인 기준도 중요함
  • KS가 지식 사실을 유효하게 선택하고 세대에 통합하는 데 있어 게임 개발자에게 유용할 수 있음

6 Qualitative Results

image

  • Figure 6에서는 NUP 예시에서 모델의 결과를 보여줌.
  • KNUDGE의 목표는 상호작용을 통해 퀘스트와 전투에 대한 정보를 자연스럽게 전달하는 것임.
  • SL 모델과 절삭된 ICL 모델은 목표 달성에 덜 성공적임.
  • 예: Full ICL 모델이 Tucker Needham을 성인으로 언급했지만, 이는 스토리의 몰입도를 감소시킴 (플레이어는 나중에야 Tucker가 성인임을 알아야 함).
  • 기존의 최적 응답은 퀘스트의 다음 장소와 적들에 대한 정보를 포함하며 NPC의 과보호적인 부모 성격을 잘 반영함.
  • 이는 신경망 모델과 인간 작가 간의 성능 차이를 강조하며, 향후 연구에서 다뤄야 할 문제임.

7 Related Work

  • 이전의 NLG(Game Natural Language Generation) 연구는 주로 템플릿 및 규칙 기반 시스템에 의존하였음 (Caro preso et al., 2012; Lukin et al., 2017; Ryan et al., 2016).
  • 최근 연구는 기계 학습 모델을 사용하는 데 초점을 맞추고 있음 (Jansen, 2021; Walton, 2019).
  • 게임 대화 관련 연구는 생성된 대화에서 지식이나 퀘스트 목표를 다루는 것에 대한 관심이 부족했음.
  • Si et al. (2021)은 캐릭터 간 대화를 통해 스토리 연속성을 모델링하는 작업에 초점을 맞춤.
  • van Stegeren과 Theune (2020)은 NPC 대화 말뭉치 구축을 위한 세 가지 출처를 제안하였으나, 제안된 데이터셋에는 구체적인 주석이나 캐릭터 설명이 결여되어 있음.
  • Callison-Burch et al. (2022)은 테이블탑 RPG인 Dungeons and Dragons의 플레이어 대화 생성을 자동화한 연구를 다룸.
  • Scheherazade’s Tavern (Aljammaz et al., 2020)은 NPC 상호작용 시스템에 게임 세계에 대한 사실을 추가하는 방식을 채택함.
  • 이전 연구는 다양한 NLG 작업에서 위주로 진행됨:
    • 퀘스트 설명 생성 (van Stegeren and Mysliwiec, 2021)
    • 대화 생성 (Si et al., 2021)
    • 특정 페르소나에 따른 에이전트 (Urbanek et al., 2019b)
    • 새로운 텍스트 세계 생성 (Fan et al., 2020; Ammanabrolu et al., 2022)
  • 대화를 특정 주제로 유도하는 시스템에 대한 연구도 진행됨 (Wu et al., 2019).
  • 높은 수준의 NL 명세를 포함하는 출력 생성 탐구 (Kiddon et al., 2016; Orbach and Goldberg, 2020; Riedl, 2009).
  • KNUDGE는 비교적 풍부한 NL 명세를 포함.

8 Conclusion

  • 비디오 게임에서 스토리라인을 발전시키기 위한 대화는 매력적이면서도 내러티브와 일관성을 가져야 함.
  • KNUDGE는 게임 ‘The Outer Worlds’의 실제 NPC 대화 트리를 포함한 데이터셋.
  • 제한된 훈련 데이터와 복잡한 퀘스트 및 전통에 대한 온톨로지를 기반으로 한 지식 기반 생성 작업 제안.
  • 언어 모델 기반 방법이 특정 사양에 맞는 유창한 대화를 생성 가능하지만, 전문가 작가의 품질에는 미치지 않음.
  • 모델의 감정 표현이 인물과 상황에 적합하게 동적이지 않음.
  • 현재 작업은 일반적으로 깊이가 부족한 사이드 퀘스트 NPC에 집중하며, 주요 캐릭터의 퀘스트 생성을 미래 작업으로 남김.
  • KNUDGE는 기존 팬 아티클을 기반으로 자동 대화 트리 작성을 위한 사양으로 재구성.
  • 대형 언어 모델의 실험 데이터가 모델 훈련 데이터의 일부인지 확인하기 어려움.
  • 데이터의 편향 문제가 존재, 이는 공격적이거나 차별적인 대화를 생성할 위험이 있음.
  • 전문 게임 개발자가 해로운 콘텐츠를 조절할 자원을 갖추기를 희망.

독자 의견

  • 게임 등 엔터테인먼트 분야에서 AI를 활용하는 사례가 더욱 늘어날 것으로 전망됨.
  • 게임의 대화를 학습시켜 다른 게임에 적용할 수 있지만, 이는 오히려 엔딩 및 스토리가 정해진 게임의 틀 안에서 LLM이 제한되는 결과를 가져올 수 있음.

Comments