이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안 된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행),조작 제어(행동 제어) 등을 포함한다.
일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.
본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.
기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시킬 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신 경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.
인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.
이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조 의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.
컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신 경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.
도 1은 일실시예에 따른 인공지능 기반 생성형 인공지능모델을 활용한 게임 스토리 및 시각화 구축 자동화 시스템을 설명하기 위한 도면이다.
도 1에 도시한 바와 같이, 인공지능 기반 생성형 인공지능모델을 활용한 게임 스토리 및 시각화 구축 자동화 시스템(100)은, 다수의 사용자 단말 (110-1,??), 서버(120) 및 데이터베이스(130)를 포함할 수 있다. 일 실시예에 따르면, 데이터베이스(130)는 서버(120)와 별도로 구성된 것으로 도시되었지만 이에 한정되지 않고, 데이터베이스(130)가 서버(120)내에 구비될 수도 있다. 예를 들어, 서버(120)는, 기계 학습 알고리즘의 수행을 위한 다수의 인공지능을 포함할 수 있다. 일 실시예에 따르면, 다수의 사용자 단말(110-1,??서버(120) 및 데이터베이스(130)는 네트워크(N)를 통하여 서로 통신 가능하도록 연결될 수 있다.
네트워크(N)는, 다수의 사용자 단말(110-1,??, 서버(120), 데이터베이스(130) 등 간의 무선 또는 유선 통신을 수행하도록 할 수 있다. 예를 들어, 네트워크는 LTE(long-term evolution), LTE-A(LTE Advanced), CDMA(code division multiple access), WCDMA(wideband CDMA), WiBro(Wireless BroadBand), WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication), GPS(Global Positioning System) 또는 GNSS(global navigation satellite system) 등의 방식에 따른 무선 통신을 수행하도록 할 수 있다. 예를 들어, 네트워크 (N)는 USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 등의 방식에 따른 유선 통신을 수행하도록 할 수도 있다.
데이터베이스(130)는, 다양한 데이터를 저장할 수 있다. 데이터베이스(130)에 저장되는 데이터는, 다수의 사용자 단말(110-1,??서버(120)의 적어도 하나의 구성요소에 의해 획득되거나, 처리되거나, 사용되는 데이터로서, 소프트웨어(예를 들어: 프로그램)를 포함할 수 있다. 데이터베이스(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다.
도 2은 일실시예에 따른 뉴럴 네트워크의 학습을 설명하기 위한 도면이다.
도 2에 도시한 바와 같이, 학습 장치는 다수의 사용자 단말(110-1,??)로부터 수신된 리뷰 응답을 항목별로 하기 위하여 뉴럴 네트워크(123)를 학습시킬 수 있다. 또한, 학습 장치는 사용자의 이동 경로 정보로부터 사용자 체류 내역을 추출하기 위하여 뉴럴 네트워크(123)를 학습시킬 수 있다. 일 실시예에 따르면, 학습 장치는 서버 (120)와 다른 별개의 주체일 수 있지만, 이에 제한되는 것은 아니다.
뉴럴 네트워크(123)는 트레이닝 샘플들이 입력되는 입력 레이어(121)와 트레이닝 출력들을 출력하는 출력 레이어(125)를 포함하고, 트레이닝 출력들과 레이블들 사이의 차이에 기초하여 학습될 수 있다. 여기서, 레이블들은 리뷰 응답에 대응하는 항목들에 기초하여 정의되고, 이동 경로 정보에 대응하는 사용자 체류 내역에 기초하 여 정의될 수 있다. 뉴럴 네트워크(123)는 복수의 노드들의 그룹으로 연결되어 있고, 연결된 노드들 사이의 가중치들과 노드들을 활성화시키는 활성화 함수에 의해 정의된다.
학습 장치는 GD(Gradient Decent) 기법 또는 SGD(Stochastic Gradient Descent) 기법을 이용하여 뉴럴 네트워크(123)를 학습시킬 수 있다. 학습 장치는 뉴럴 네트워크의 출력들 및 레이블들 의해 설계된 손실 함수(Loss Function)를 이용할 수 있다.
학습 장치는 미리 정의된 손실 함수를 이용하여 트레이닝 에러를 계산할 수 있다. 손실 함수는 레이블, 출력 및 파라미터를 입력 변수로 미리 정의될 수 있고, 여기서 파라미터는 뉴럴 네트워크(123) 내 가중치들에 의해 설정될 수 있다. 예를 들어, 손실 함수는 MSE(Mean Square Error) 형태, 엔트로피(entropy) 형태 등으로 설계 될 수 있는데, 손실 함수가 설계되는 실시예에는 다양한 기법 또는 방식이 채용될 수 있다.
학습 장치는 역전파(Backpropagation) 기법을 이용하여 트레이닝 에러에 영향을 주는 가중치들을 찾아낼 수 있다. 여기서, 가중치들은 뉴럴 네트워크(123) 내 노드들 사이의 관계들이다. 학습 장치는 역전파 기법을 통해 찾아낸 가중치들을 최적화시키기 위해 레이블들 및 출력들을 이용한 SGD 기법을 이용할 수 있다. 예를 들어, 학습 장치는 레이블들, 출력들 및 가중치들에 기초하여 정의된 손실 함수의 가중치들을 SGD 기법을 이용하여 갱 신할 수 있다.
일 실시예에 따르면, 학습 장치는 리뷰 응답으로부터 제1 객체들을 추출하며, 제1 객체들에 대응하는 항목들인 제1 레이블들을 획득하고, 제1 객체들을 제1 뉴럴 네트워크로 적용하여, 제1 객체들에 대응하는 제1 트레이닝 출력들을 생성하며, 제1 트레이닝 출력들, 제1 레이블들에 기초하여, 제1 뉴럴 네트워크를 학습시킬 수 있다.
학습 장치는 이동 경로 정보로부터 제2 객체들을 추출하며, 제2 객체들에 대응하는 사용자 체류 내역인 제2 레 이블들을 획득하고, 제2 객체들을 제2 뉴럴 네트워크로 적용하여, 제2 객체들에 대응하는 제2 트레이닝 출력들 을 생성하며, 제2 트레이닝 출력들, 제2 레이블들에 기초하여, 제2 뉴럴 네트워크를 학습시킬 수 있다.
일 실시예에 따르면, 학습 장치는 리뷰 응답의 구성 특징들, 위치 특징들 및 패턴 특징들에 기초하여 제1 트레이닝 특징 벡터들을 생성할 수 있다. 특징을 추출하는 데는 다양한 방식이 채용될 수 있다.
일 실시예에 따르면, 학습 장치는 이동 경로 정보의 구성 특징들, 길이 특징들 및 패턴 특징들에 기초하여 제2 트레이닝 특징 벡터들을 생성할 수 있다. 특징을 추출하는 데는 다양한 방식이 채용될 수 있다.
일 실시예에 따르면, 학습 장치는 제1 트레이닝 특징 벡터들을 뉴럴 네트워크(123)에 적용하여 트레이닝 출력들 을 획득할 수 있다. 학습 장치는 트레이닝 출력들과 제1 레이블들에 기초하여 뉴럴 네트워크(123)의 리뷰 항목 추출 알고리즘을 학습시킬 수 있다. 학습 장치는 트레이닝 출력들에 대응하는 트레이닝 에러들을 계산하고, 그 트레이닝 에러들을 최소화하기 위해 뉴럴 네트워크(123) 내 노드들의 연결 관계를 최적화하여 뉴럴 네트워크(123)의 리뷰 항목 추출 알고리즘을 학습시킬 수 있다. 서버(120)는 학습이 완료된 제1 뉴럴 네트워크를 이용 하여 리뷰 응답으로부터 항목들을 추출할 수 있다.
일 실시예에 따르면, 학습 장치는 제2 트레이닝 특징 벡터들을 뉴럴 네트워크(123)에 적용하여 트레이닝 출력들을 획득할 수 있다. 학습 장치는 트레이닝 출력들과 제2 레이블들에 기초하여 뉴럴 네트워크(123)의 사용자 체 류 내역 획득 알고리즘을 학습시킬 수 있다. 학습 장치는 트레이닝 출력들에 대응하는 트레이닝 에러들을 계산 하고, 그 트레이닝 에러들을 최소화하기 위해 뉴럴 네트워크(123) 내 노드들의 연결 관계를 최적화하여 뉴럴 네트워크(123)의 사용자 체류 내역 획득 알고리즘을 학습시킬 수 있다. 서버(120)는 학습이 완료된 제2 뉴럴 네 트워크를 이용하여 이동 경로 정보부터 사용자 체류 내역을 획득할 수 있다.
도 3은 일실시예에 따른 인공지능 모델의 구성을 도시한 도면이다.
일 실시예에 따른 인공지능 모델은 입력 계층(input layer), 은닉 계층(hidden layer) 및 출력 계층(output layer)을 포함할 수 있다.
입력 계층(input layer)은 인공지능 모델에 입력되는 입력 값과 관련된 계층이다.
은닉 계층(hidden layer)에서는 입력 값에 대하여 MAC 연산(multiply-accumulate)과 활성화 연산을 수행하여 피쳐 맵을 출력할 수 있다.
MAC 연산은 입력 값과 대응되는 가중치를 각각 곱하고, 곱한 값들을 합하는 연산일 수 있다.
활성화 연산은 MAC 연산의 결과를 활성화 함수에 입력하여 결과 값을 출력하는 연산일 수 있다. 활성화 함수는, 다양한 유형일 수 있다. 예를 들어, 활성화 함수는, 시그모이드 함수, 탄젠트 함수, 렐루 함수, 리키 렐루 함수, 맥스아웃 함수 및/또는 엘루 함수을 포함할 수 있으나 그 종류에 제한이 없다.
은닉 계층은 적어도 하나의 계층(layer)로 구성될 수 있다. 예를 들어, 은닉 계층이 제 1 은닉 계층 및 제 2 은닉 계층으로 구성된 경우, 제 1 은닉 계층은 입력 계의 입력 값에 기반하여 MAC 연산 및 활성화 연산을 수행하여 피쳐 맵을 출력하고, 제 1 은닉 계층에서의 결과 값인 피쳐 맵이 제 2 은닉 계층에서의 입력 값이 될 수 있다. 제 2 은닉 계층은 제 1 은닉 계층의 결과 값인 피쳐 맵에 기반하여 MAC 연산 및 활성화 연산을 수행할 수 있다.
출력 계층(output layer)은, 은닉 계층에서 수행한 연산의 결과 값과 관련된 계층일 수 있다.
일 실시예에서, 학습 모델은 주어진 말뭉치에서 빈번히 결합하여 사용된 음절(글자) 패턴을 학습 하여 복합어 및 개체명의 경계를 자동으로 학습하고, 제1 UI 소스의 객체 정보와 브라우저에서 렌더링한 객체 정보를 통합하여 학습용 객체 정보 파일을 생성하고, 상기 학습용 객체 정보 파일을 이용하여 딥러닝 네트워크의 학습을 위한 학습 데이터를 생성하고, 지원 시스템의 다양한 도메인들의 데이터를 수신하고, 상기 다양한 도메인들 각각에 대응하는 적어도 하나의 표준화 방법에 기반하여, 상기 다양한 도메인들의 데이터를 통합된 형식으로 표준화하며, 특정 도메인의 데이터를 학습 및 추론하고, 상기 특정 도메인의 데이터에서, 상기 표준화를 위해 전달될 정보를 결정하고,상기 다양한 도메인들로부터의 데이터에 대해 후처리(post processing)를 수행할 수 있다. 제1 UI 소스는 XML 파일을 포함하고, 상기 학습용 객체 정보 파일은 특징(Features) 학습을 위한 입력 JSON 파일과 학습시 정답(Label) 데이터인 출력 JSON 파일을 포함하며, 상기 출력 JSON 파일은 웹표준을 준수하여 구현된 HTML의 DOM Tree 정보가 포함된 파일을 포함하고 상기 다양한 도메인들은 RAN(radio access network), 트랜스포트(transport) 또는 코어(core) 중 적어도 하나를 포함하고, 상기 후처리는 상관(correlation) 기능을 포함할 수 있다.
도 4는 일실시예에 따른 생성형 인공지능모델을 활용한 게임 스토리 및 시각화 구축 자동화 시스템의 구성의 예시도이다.
일 실시예에 따른 시스템(400)은 프로세서(420) 및 메모리(430)를 포함할 수 있으며, 도시된 구성 중 일부가 생략 또는 치환 될 수도 있다. 일 실시예에 따른 시스템(400)는 서버 또는 단말일 수 있다. 일 실시예에 따르면, 프로세서(420)는 시스템(400)의 각 구성 요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성으로써, 하나 이상의 프로세서들로 구성될 수 있다. 메모리(430)는 상술한 방법과 관련된 정보를 저장하거나 상술한 방법이 구현된 프로그램을 저장할 수 있다. 메모리(430)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 메모리(430)는 다양한 파일 데이터들을 저장할 수 있으며, 프로세서(120)의 동작에 따라 저장된 파일 데이터들은 업데이트 될 수 있다.
일 실시예에 따르면, 프로세서(420)는 프로그램을 실행하고, 장치(400)를 제어할 수 있다. 프로세서(120)에 의하여 실행되는 프로그램의 코드는 메모리(430)에 저장될 수 있다. 프로세서(420)의 동작들은 메모리(430)에 저장된 인스트럭션들을 로딩(loading)함으로써 수행될 수 있다. 시스템(400)은 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다.
일실시예에 따른 시스템(400)은 프로세서(420) 및 메모리(430)를 포함한다. 일실시예에 따른 시스템(400)은 상술한 서버 또는 단말일 수 있다. 프로세서(420)는 도 1 내지 도 3을 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 3을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(430)는 상술한 방법과 관련된 정보를 저장하거나 상술한 방법이 구현된 프로그램을 저장할 수 있다. 메모리(430)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
일실시예에 따른 시스템(400)은 프로세서(420) 및 메모리(430)를 포함한다. 일실시예에 따른 시스템(400)은 상술한 서버 또는 단말일 수 있다. 프로세서(420)는 도 1 내지 도 3을 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 3을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(430)는 상술한 방법과 관련된 정보를 저장하거나 상술한 방법이 구현된 프로그램을 저장할 수 있다. 메모리(430)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소 (processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터 를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소 (processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
일 실시예에 따르면, 프로세서(420)는 사용자 단말로부터 입력된 게임 스토리와 관련된 정보에 대해 자연어 처리 기술을 이용하여 문장의 의미를 파악하고, 문장의 의미에 기반하여 캐릭터의 속성 정보를 추출하고, 추출된 속성 정보를 기반으로, 캐릭터의 외모, 성격 및 능력을 결정할 수 있다. 프로세서(420)는 입력된 기본 그래픽 리소스를 확인하고, 확인된 기본 그래픽 리소스를 기반으로 확장 그래픽 리소스를 생성하고, 생성된 확장 그래픽 리소스 중 개발자의 선택을 확인하고, 선택된 확장 그래픽 리소스와 기본 그래픽 리소스를 이용하여 그래픽 확장 AI 모델의 학습을 수행하고, 학습된 그래픽 확장 AI 모델을 이용하여 다양한 스타일의 그래픽 리소스를 자동으로 생성하며, 미리보기 기능을 제공하여 게임에 적용된 모습을 확인하고, 미리보기 기능을 통해 확인한 그래픽 리소스의 품질을 수정할 수 있다.
일 실시예에 따르면, 프로세서(420)는 입력된 소설을 자연어 처리 기술을 이용하여 문장의 의미를 파악할 수 있다. 프로세서(420)는 문장의 의미를 파악하여 캐릭터의 속성 정보를 추출한다. 프로세서(420)는 추출된 속성 정보를 기반으로, 캐릭터의 외모, 성격, 능력을 결정할 수 있다. 프로세서(420)는 결정된 캐릭터의 외모, 성격, 능력 등을 반영하여, 게임 캐릭터를 생성할 수 있다.
일 실시예에 따르면, 프로세서(420)는 생성된 게임 캐릭터를 기반으로, 해당 캐릭터의 대사를 생성한다. 대사 생성 시, 캐릭터의 성격, 상황, 감정 등을 고려하여 적절한 대사를 생성한다. 생성된 대사를 게임에 적용하여, 게임의 몰입감과 재미를 높일 수 있다. 프로세서(420)는 생성형 인공지능 모델을 학습시켜 문장의 의미를 파악할 수 있다. 문장의 맥락을 파악하여 캐릭터의 감정을 파악한다.
일 실시예에 따르면, 프로세서(420)는 캐릭터의 감정을 고려하여, 대화의 흐름을 자연스럽게 이어나가는 대사를 생성할 수 있다. 프로세서(420)는 생성된 대사를 게임에 적용하기 전에, 사용자의 피드백을 반영하여 대사를 수정할 수 있다.
본 발명은 게임 개발자들이 게임 캐릭터를 생성하고 대사를 생성하는 데 있어서 시간과 비용을 절감할 수 있으며, 게임의 몰입감과 재미를 높일 수 있다.
프로세서(420)는 확인된 기본 그래픽 리소스를 기반으로 확장 그래픽 리소스를 생성할 수 있다. 이러한 동작을 통해 개발자는 자신이 원하는 스타일의 그래픽 리소스를 생성할 수 있다.
생성된 확장 그래픽 리소스 중 개발자의 선택을 확인하는 동작은 개발자가 생성된 확장 그래픽 리소스 중 원하는 그래픽 리소스를 선택하는 동작을 의미할 수 있다. 이 동작을 통해 개발자는 자신이 원하는 그래픽 리소스를 선택하여 게임에 적용할 수 있다.
선택된 확장 그래픽 리소스와 기본 그래픽 리소스를 이용하여 그래픽 확장 AI 모델의 학습을 수행하는 동작은 선택된 확장 그래픽 리소스와 기본 그래픽 리소스를 이용하여 그래픽 확장 AI 모델을 학습하는 동작이다. 이 동작을 통해 그래픽 확장 AI 모델은 더욱 정확하게 그래픽 리소스를 생성할 수 있다.
학습된 그래픽 확장 AI 모델을 이용하여 다양한 스타일의 그래픽 리소스를 자동으로 생성하는 동작은 학습된 그래픽 확장 AI 모델을 이용하여 다양한 스타일의 그래픽 리소스를 자동으로 생성하는 동작이다. 이 동작을 통해 개발자는 빠르고 쉽게 다양한 스타일의 그래픽 리소스를 생성할 수 있다.
미리보기 기능을 제공하여 게임에 적용된 모습을 확인하는 동작은 미리보기 기능을 제공하여 게임에 적용된 모습을 확인하는 동작이다. 이 동작을 통해 개발자는 자신이 생성한 그래픽 리소스가 게임에 적용된 모습을 미리 확인할 수 있다.
미리보기 기능을 통해 확인한 그래픽 리소스의 품질을 수정하는 동작은 미리보기 기능을 통해 확인한 그래픽 리소스의 품질을 수정하는 동작이다. 이 동작을 통해 개발자는 자신이 원하는 품질의 그래픽 리소스를 생성할 수 있다.
일 실시예에 따르면, 프로세서(420)는 입력된 소설을 분석하여 캐릭터의 대사를 생성할 수 있다. 이때, 프로세서(420)는 생성형 인공지능 모델을 이용하여 캐릭터의 대사를 생성한다. 생성형 인공지능 모델은 메모리(430)에 저장되어 있다.
프로세서(420)는 생성된 캐릭터의 대사를 기반으로 캐릭터의 이미지를 생성한다. 이때, 생성형 인공지능 모델을 이용하여 캐릭터의 이미지를 생성한다. 생성된 캐릭터의 이미지는 메모리에 저장된다. 프로세서(420)는 생성된 캐릭터의 이미지를 출력하여 사용자 단말로 제공한다. 사용자 단말은 컴퓨터, 스마트폰, 태블릿 등 다양한 종류가 있을 수 있다. 사용자 단말에서 수정을 요구하는 경우, 프로세서가 이에 맞는 프롬프트를 자체적으로 생성할 수 있다. 생성된 프롬프트는 생성형 인공지능 모델로 전송될 수 있다. 생성형 인공지능 모델은 전송된 프롬프트를 기반으로 수정된 캐릭터의 이미지를 생성할 수 있다. 생성된 수정된 캐릭터의 이미지는 메모리(430)에 저장될 수 있다. 프로세서(420)는 생성된 수정된 캐릭터의 이미지를 출력하여 사용자 단말로 제공할 수 있다.
일 실시예에 따르면, 프로세서(420)가 시스템(400) 상에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 이하에서는 게임 스토리와 관련된 정보에서 대사 및 캐릭터 이미지의 출력을 요구하는 프롬프트를 생성하는 기능에 대해 설명될 것이다.
도 5는 일 실시예에 따른 생성형 인공지능모델을 활용한 게임 스토리 및 시각화 구축 자동화 방법의 순서도를 나타낸 것이다.
도 5의 순서도에서 프로세스 단계들, 방법 단계들, 알고리즘들 등이 순차적인 순서로 설명되었지만, 그러한 프로세스들, 방법들 및 알고리즘들은 임의의 적합한 순서로 작동하도록 구성될 수 있다. 다시 말하면, 본 발명의 다양한 실시예들에서 설명되는 프로세스들, 방법들 및 알고리즘들의 단계들이 본 발명에서 기술된 순서로 수행 될 필요는 없다. 또한, 일부 단계들이 비동시적으로 수행되는 것으로서 설명되더라도, 다른 실시예에서는 이러 한 일부 단계들이 동시에 수행될 수 있다. 또한, 도면에서의 묘사에 의한 프로세스의 예시는 예시된 프로세스 가 그에 대한 다른 변화들 및 수정들을 제외하는 것을 의미하지 않으며, 예시된 프로세스 또는 그의 단계들 중 임의의 것이 본 발명의 다양한 실시예들 중 하나 이상에 필수적임을 의미하지 않으며, 예시된 프로세스가 바람직하다는 것을 의미하지 않는다.
동작 510에서, 시스템(예: 도 4의 시스템(400))은 프로세서(예: 도 4의 프로세서(420))의 제어 하에, 사용자 단말로부터 사용자의 게임 스토리와 관련된 정보를 수신할 수 있다.
동작 520에서, 시스템(400)은 수신된 게임 스토리와 관련된 정보를 생성형 인공지능 모델에 입력으로 제공할 수 있다. 시스템(400)은 게임 스토리와 관련된 정보에서 대사 및 캐릭터 이미지의 출력을 요구하는 프롬프트를 생성할 수 있다.
동작 530에서, 시스템(400)은 생성형 인공지능 모델로부터 출력된 대사 및 캐릭터 이미지에 대해 사용자 단말로부터 피드백을 수신할 수 있다.
동작 540에서, 시스템(400)은 수신된 피드백을 반영하여 프롬프트를 추가하거나 수정할 수 있다.
일 실시예에 따르면, 시스템(400)은 프로세서(420)의 제어 하에, 상기 생성형 인공지능 모델로부터 출력된 제 1 캐릭터를 상기 사용자 단말로 전송하고, 사용자 단말에서 상기 제 1 캐릭터에 만족한다는 답변을 수신한 경우 상기 제 1 캐릭터를 생성하는데 사용된 프롬프트에 점수를 부여하며, 사용자 단말에서 상기 제 1 캐릭터의 변경을 요청하는 정보를 입력 받은 경우, 제 1 캐릭터의 변경을 요청하는 정보에 기반하여 대응하는 프롬프트를 생성하여 상기 생성형 인공지능 모델에 입력하거나 또는 메모리 상에 기 저장된 프롬프트를 선택하고, 상기 생성형 인공지능 모델에 입력으로 제공할 수 있다.
시스템(400)은 생성형 인공지능 모델로부터 출력된 제 2 캐릭터를 상기 사용자 단말로 전송하고, 사용자 단말에서 상기 제 2 캐릭터에 만족한다는 답변을 수신한 경우 상기 제 2 캐릭터를 생성하는데 사용된 프롬프트에 점수를 부여하며, 사용자 단말에서 상기 제 2 캐릭터의 변경을 요청하는 정보를 입력 받은 경우, 제 2 캐릭터의 변경을 요청하는 정보에 기반하여 대응하는 프롬프트를 생성하여 상기 생성형 인공지능 모델에 입력하거나 또는 메모리 상에 기 저장된 프롬프트를 선택하고, 생성형 인공지능 모델에 입력으로 제공할 수 있다.
일 실시예에 따르면, 시스템(400)은 상기 게임 스토리와 관련된 정보에서 대사 및 캐릭터 이미지의 출력을 요구하는 프롬프트를 생성 시 지정된 기간 동안 복수의 프롬프트 들의 점수를 누적하여 계산할 수 있다. 시스템(400)은 생성형 인공지능 모델로부터 출력된 제 1 캐릭터를 상기 사용자 단말로 전송하고, 사용자 단말에서 상기 제 1 캐릭터의 변경을 요청하는 정보를 입력 받은 경우, 사용자 단말로 상기 제 1 캐릭터의 수정을 위한 사용자 생성 프롬프트를 요청할 수 있다.
시스템(400)은 복수의 프롬프트들 중에서 누적 점수가 일정 수준을 초과하는 적어도 하나의 프롬프트를 상기 사용자 단말에 예시로 제공하며, 복수의 프롬프트들 중에서 누적 점수가 일정 수준을 초과하는 적어도 하나의 프롬프트를 상기 사용자 단말에 예시로 제공하고, 사용자 단말에서 예시로 제공된 프롬프트들 중 어느 하나의 프롬프트가 선택되는 경우 선택된 프롬프트를 상기 생성형 인공지능 모델에 입력으로 제공할 수 있다.
시스템(400)은 상기 생성형 인공지능 모델에서 출력된 캐릭터에 대해 상기 사용자 단말에서 만족한다는 답변을 수신하는 경우 선택된 프롬프트에 대해 랭킹 점수를 부여하며, 랭킹 점수가 지정된 수준을 초과하는 프롬프트에 대해서는 수익화를 위한 스토어에 업로드하고, 스토어에 업로드된 프롬프트에 대해 다른 사용자의 구매가 일어나는 경우 수익의 일정 부분을 프롬프트를 제공한 사용자 단말에게 분배할 수 있다.
게임 스토리와 관련된 정보에서 대사 및 캐릭터 이미지의 출력을 요구하는 프롬프트를 생성 시 지정된 기간 동안 복수의 프롬프트들의 점수를 누적하여 계산하는 동작은 사용자가 입력한 프롬프트의 품질을 평가할 수 있게 도와줘서, 사용자가 더 나은 프롬프트를 생성할 수 있도록 유도할 수 있다. 생성형 인공지능 모델로부터 출력된 제 1 캐릭터를 사용자 단말로 전송하는 동작은 사용자가 생성한 캐릭터를 바로 확인할 수 있게 해줘서, 사용자는 캐릭터의 이미지를 보면서 수정이 필요한 부분을 파악할 수 있다.
사용자 단말로 제 1 캐릭터의 수정을 위한 사용자 생성 프롬프트를 요청하는 동작은 사용자가 캐릭터를 수정할 수 있게 도와줘서, 사용자는 프롬프트를 생성하여 캐릭터의 이미지를 수정할 수 있다. 복수의 프롬프트들 중에서 누적 점수가 일정 수준을 초과하는 적어도 하나의 프롬프트를 사용자 단말에 예시로 제공하는 동작은 사용자가 더 나은 프롬프트를 선택할 수 있게 도와줘서, 사용자는 누적 점수가 높은 프롬프트를 선택하여 캐릭터의 이미지를 생성할 수 있다.
사용자 단말에서 예시로 제공된 프롬프트들 중 어느 하나의 프롬프트가 선택되는 경우 선택된 프롬프트를 생성형 인공지능 모델에 입력으로 제공하는 동작은 사용자가 선택한 프롬프트를 바로 인공지능 모델에 적용할 수 있게 해줘서, 사용자는 캐릭터의 이미지를 실시간으로 확인하면서 수정할 수 있다. 생성형 인공지능 모델에서 출력된 캐릭터에 대해 사용자 단말에서 만족한다는 답변을 수신하는 경우 선택된 프롬프트에 대해 랭킹 점수를 부여하는 동작은 사용자가 생성한 프롬프트의 품질을 평가할 수 있게 도와줘서, 사용자는 랭킹 점수를 보면서 자신이 생성한 프롬프트의 수준을 파악할 수 있다.
랭킹 점수가 지정된 수준을 초과하는 프롬프트에 대해서는 수익화를 위한 스토어에 업로드하는 동작은 사용자가 자신이 생성한 프롬프트를 판매할 수 있게 해줘서, 사용자는 스토어에 업로드된 프롬프트를 다른 사용자에게 판매하여 수익을 얻을 수 있다. 스토어에 업로드된 프롬프트에 대해 다른 사용자의 구매가 일어나는 경우 수익의 일정 부분을 프롬프트를 제공한 사용자 단말에게 분배하는 동작은 사용자가 자신이 생성한 프롬프트를 판매하여 얻은 수익을 보상받을 수 있다.
일 실시예에 따르면, 시스템(400)은 상기 사용자 단말에서 상기 제 1 캐릭터에 만족한다는 답변을 수신한 경우 상기 제 1 캐릭터를 생성하는데 사용된 프롬프트에 점수를 부여하고, 상기 사용자 단말에서 상기 제 2 캐릭터에 만족한다는 답변을 수신한 경우 상기 제 2 캐릭터를 생성하는데 사용된 프롬프트에 점수를 부여할 수 있다.
시스템(400)은 게임 스토리와 관련된 정보에서 대사 및 캐릭터 이미지의 출력을 요구하는 프롬프트를 생성 시 지정된 기간 동안 복수의 프롬프트 들의 점수를 누적하여 계산 후 점수가 높은 프롬프트 순서대로 사용하며, 사용자 단말에서 상기 제 1 캐릭터에 대한 변경을 요청하는 정보를 입력 받는 상황에서 사용자 단말로 상기 제 1 캐릭터의 수정을 위한 사용자 생성 프롬프트를 요청할 수 있다.
시스템(400)은 용자 단말로부터 상기 사용자 생성 프롬프트를 수신하여 상기 생성형 인공지능 모델에 제공하고, 상기 제 1 캐릭터가 수정된 제 3 캐릭터를 출력받으며, 출력된 캐릭터에 대해 상기 사용자 단말에서 만족한다는 답변을 수신할 때까지 사용자 생성 프롬프트를 요청하고, 사용자 단말로부터 캐릭터에 만족한다는 답변을 수신한 경우 만족한다는 답변을 수신하기 까지 생성형 인공지능 모델에 입력된 프롬프트들을 종합하여 하나의 프롬프트를 생성하고, 메모리 상에 저장할 수 있다.
사용자 단말에서 제 1 캐릭터에 만족한다는 답변을 수신한 경우 제 1 캐릭터를 생성하는데 사용된 프롬프트에 점수를 부여하는 동작은 사용자가 생성한 캐릭터에 대한 평가를 할 수 있게 도와줄 수 있다. 이를 통해 사용자가 더 나은 캐릭터를 생성할 수 있도록 유도할 수 있다.
게임 스토리와 관련된 정보에서 대사 및 캐릭터 이미지의 출력을 요구하는 프롬프트를 생성 시 지정된 기간 동안 복수의 프롬프트 들의 점수를 누적하여 계산 후 점수가 높은 프롬프트 순서대로 사용하는 동작은 사용자가 입력한 프롬프트들 중에서 품질이 높은 프롬프트를 우선적으로 사용하여 캐릭터를 생성할 수 있게 도와줄 수 있다. 이를 통해 사용자가 더 나은 캐릭터를 생성할 수 있도록 유도할 수 있다.
사용자 단말로 제 1 캐릭터의 수정을 위한 사용자 생성 프롬프트를 요청하는 동작은 사용자가 캐릭터를 수정할 수 있게 도와줄 수 있다. 사용자는 프롬프트를 생성하여 캐릭터의 이미지를 수정할 수 있다. 사용자 단말로부터 사용자 생성 프롬프트를 수신하여 생성형 인공지능 모델에 제공하고, 제 1 캐릭터가 수정된 제 3 캐릭터를 출력받는 동작은 사용자가 원하는 대로 캐릭터를 수정할 수 있게 도와줄 수 있다. 사용자는 프롬프트를 생성하여 캐릭터의 이미지를 수정하고, 수정된 캐릭터를 바로 확인할 수 있다.
출력된 캐릭터에 대해 사용자 단말에서 만족한다는 답변을 수신할 때까지 사용자 생성 프롬프트를 요청하는 동작은 사용자가 원하는 대로 캐릭터를 수정할 수 있게 도와줄 수 있다. 사용자는 프롬프트를 생성하여 캐릭터의 이미지를 수정하고, 수정된 캐릭터가 만족스러울 때까지 수정을 반복할 수 있다.
사용자 단말로부터 캐릭터에 만족한다는 답변을 수신한 경우 만족한다는 답변을 수신하기 까지 생성형 인공지능 모델에 입력된 프롬프트들을 종합하여 하나의 프롬프트를 생성하고, 메모리 상에 저장하는 동작은 사용자가 생성한 프롬프트를 저장할 수 있게 도와줄 수 있다. 사용자는 저장된 프롬프트를 다시 사용하여 캐릭터를 생성할 수 있다.
입력된 게임 스토리와 관련된 정보에 대해 자연어 처리 기술을 이용하여 문장의 의미를 파악하고 문장의 의미에 기반하여 캐릭터의 속성 정보를 추출하는 동작은 사용자가 입력한 정보를 정확하게 이해하고, 이를 기반으로 캐릭터를 생성할 수 있게 도와줄 수 있다. 추출된 속성 정보를 기반으로 캐릭터의 외모, 성격 및 능력을 결정하는 동작은 사용자가 원하는 대로 캐릭터를 만들 수 있게 도와줄 수 있다. 사용자는 캐릭터의 속성 정보를 직접 입력하거나 수정하여 캐릭터를 생성할 수 있다.
일 실시예에 따르면, 시스템(400)은 사용자 단말로부터 입력된 게임 스토리와 관련된 정보에 대해 자연어 처리 기술을 이용하여 문장의 의미를 파악하고, 문장의 의미에 기반하여 캐릭터의 속성 정보를 추출하고, 추출된 속성 정보를 기반으로, 캐릭터의 외모, 성격 및 능력을 결정하며, 입력된 기본 그래픽 리소스를 확인하고, 확인된 기본 그래픽 리소스를 기반으로 확장 그래픽 리소스를 생성하고, 생성된 확장 그래픽 리소스 중 개발자의 선택을 확인하고, 선택된 확장 그래픽 리소스와 기본 그래픽 리소스를 이용하여 그래픽 확장 AI 모델의 학습을 수행하고, 학습된 그래픽 확장 AI 모델을 이용하여 다양한 스타일의 그래픽 리소스를 자동으로 생성하며, 미리보기 기능을 제공하여 게임에 적용된 모습을 확인하고, 미리보기 기능을 통해 확인한 그래픽 리소스의 품질을 수정할 수 있다.
입력된 기본 그래픽 리소스를 확인하고 확인된 기본 그래픽 리소스를 기반으로 확장 그래픽 리소스를 생성하는 동작은 사용자가 원하는 대로 캐릭터의 이미지를 만들 수 있게 도와줄 수 있다. 사용자는 기본 그래픽 리소스를 수정하거나 확장 그래픽 리소스를 추가하여 캐릭터의 이미지를 더욱 다양하게 만들 수 있다. 생성된 확장 그래픽 리소스 중 개발자의 선택을 확인하고 선택된 확장 그래픽 리소스와 기본 그래픽 리소스를 이용하여 그래픽 확장 AI 모델의 학습을 수행하는 동작은 사용자가 원하는 스타일의 캐릭터를 생성할 수 있게 도와줄 수 있다. 사용자는 학습된 그래픽 확장 AI 모델을 이용하여 다양한 스타일의 캐릭터를 자동으로 생성할 수 있다.
도 6은 일 실시예에 따른 생성형 인공지능모델을 활용한 게임 스토리 및 시각화 구축 자동화 시스템의 구성을 블록도로 나타낸 것이다.
도 6에서, 시스템(예: 도 4의 시스템(400))은 생성형 인공지능 모델(AI system, AI model) , CDN(Content Delivery Network), Storytool 및 저장 공간(DB system)을 포함할 수 있다.
생성형 인공지능 모델은 생성 요청이 수신된 프롬프트에 기반하여 캐릭터 이미지 또는 스토리를 생성할 수 있다. 생성형 인공지능 모델은 학습 요청이 수신된 데이터를 학습할 수 있다. 생성형 인공지능 모델은 Storytool 상으로 생성된 이미지와 스토리를 제공할 수 있다. Storytool은 사용자에 의해 사용된 프롬프트에 기반하여 이미지나 스토리의 재학습을 요청할 수 있다. Storytool은 스토리 시퀀스에 사용되는 이미지 및/또는 대사를 DB 에 저장할 수 있다. Storytool은 생성된 이미지 및/또는 대사를 CDN(Content Delivery Network)에 저장할 수 있다. Storytool은 생성된 이미지 및/또는 대사를 사용자 단말로 전송할 수 있다.
일 실시예에 따르면, 스토리 시퀀스는 스토리의 흐름을 구성하는 일련의 사건들의 순서를 의미할 수 있다. 스토리 시퀀스는 캐릭터의 행동, 대사 및 배경을 포함할 수 있다. 시스템(400)은 사용자가 스토리를 생성할 때, 스토리 시퀀스를 구성하여 스토리의 흐름을 결정할 수 있다.
일 실시예에 따르면, CDN(Content Delivery Network)은 콘텐츠 전송 네트워크로, 인터넷 상에서 콘텐츠를 효율적으로 전송하기 위한 네트워크를 의미할 수 있다. 시스템(400)은 CDN을 이용하여 콘텐츠를 여러 서버에 분산 저장하고, 사용자의 요청에 따라 가장 가까운 서버에서 콘텐츠를 전송할 수 있다. CDN을 통해 콘텐츠 전송 속도를 향상시키고, 서버의 부하를 분산시킬 수 있다.
일 실시예에 따르면, Storytool은 스토리를 생성하고 편집할 수 있는 도구를 의미할 수 있다. 시스템(400)은 Storytool을 이용하여 사용자(또는 개발자)가 쉽게 스토리를 생성하고 편집할 수 있도록 다양한 기능을 제공할 수 있다. 예를 들어, 캐릭터, 배경, 대사 등을 생성하고 편집할 수 있으며, 스토리의 흐름을 조절할 수 있다. Storytool은 다양한 템플릿을 제공하여 사용자(또는 개발자)가 쉽게 스토리를 구성할 수 있도록 도와줄 수 있다.
일 실시예에 따르면, DB(DataBase) system은 데이터를 저장하고 관리하는 시스템을 의미할 수 있다. DB(DataBase) system은 다양한 데이터를 저장하고, 검색, 수정, 삭제 등의 작업을 수행할 수 있다. DB(DataBase) system은 스토리 생성 및 편집에 필요한 데이터를 저장하고 관리하는 데 사용될 수 있다. 예를 들어, 캐릭터의 정보, 배경의 정보, 대사 등을 저장하고 관리할 수 있다.
도 7 내지 도 10은 일 실시예에 따른 생성형 생성형 인공지능모델을 활용한 게임 스토리 및 시각화 구축 자동화 방법의 유저 인터페이스를 도시한 것이다.
도 7에서, 시스템(예: 도 4의 시스템(400))은 사용자에게 생성할 캐릭터에 대한 시대, 얼굴, 신체, 옷차림 및 서술 형식에 제약이 없는 자유로운 추가 정보를 입력할 수 있는 인터페이스를 제공할 수 있다.
시스템(400)은 사용자 입력에 기반하여 개인화된 합성 결과를 제공할 수 있다. 개인화된 합성 결과를 제공한다는 것은 사용자의 개인적인 취향이나 요구에 따라 맞춤형으로 합성된 결과를 제공하는 것을 의미할 수 있다. 예를 들어, 시스템(400)은 사용자가 특정한 인물의 사진을 요청하거나, 특정한 분위기의 이미지를 요청하는 경우, 해당 요구에 맞게 합성된 이미지를 제공할 수 있다. 이를 위해 시스템(400)내 생성형 인공지능 모델은 사용자의 이전 행동이나 선호도를 분석하여 개인화된 추천 알고리즘을 적용하거나, 사용자와의 대화를 통해 요구사항을 파악하고 이에 맞는 이미지를 제공할 수 있다.
시스템(400)은 예를 들어, 사용자가 특정한 사물이나 인물을 포함한 이미지를 요청하는 경우, 해당 사물이나 인물의 특징을 시각적으로 강조하거나, 사용자가 원하는 색상이나 밝기 등을 조절하여 이미지를 제공할 수 있다. 시스템(400)은 개인화된 이미지 제공을 위해 다양한 이미지 편집 도구를 제공하거나, 사용자의 터치나 제스처 등을 인식하여 이미지를 조작할 수 있는 인터페이스를 제공할 수 있다.
일 실시예에 따르면, 시스템(400)은 사용자가 UI에서 특정한 특징을 선택하면, Semantic Context Encoder (SeeCoder)를 사용하여 이미지 입력을 의미있는 시각적 임베딩으로 변환할 수 있다. 변환된 임베딩은 다양한 T2l 모델의 조건부 입력으로 사용될 수 있다. T2l 모델은 텍스트를 이미지로 변환하는 모델로, 변환된 임베딩을 이용하여 사용자가 선택한 특징을 반영한 이미지를 생성할 수 있다.
일 실시예에 따르면, 시스템(400)은 'Prompt-Free Diffusion' 방식으로 높은 품질을 보장하고 맞춤형 이미지를 제공할 수 있다. 'Prompt-Free Diffusion' 방식은 프롬프트 없이도 높은 품질의 맞춤형 이미지를 제공하는 방식을 의미할 수 있다.
기존의 이미지 생성 모델은 프롬프트를 입력해야 하지만, 이 방식은 프롬프트 없이도 사용자의 요구에 맞는 이미지를 생성할 수 있다. 시스템(400) 내 생성형 인공지능 모델은 다양한 이미지 데이터를 학습하여, 사용자의 요구에 맞는 이미지를 자동으로 생성할 수 있다.
도 8에서, 시스템(400)은 입력된 프롬프트를 기반으로 게임 스토리를 생성할 수 있다. 시스템(400)은 사용자가 한눈에 볼 수 있는 직관적인 트리 구조인 (챕터->씬->스텝)을 제공하여 스토리를 구성하는 요소들을 쉽게 파악하고 관리할 수 있도록 도와줄 수 있다.
챕터는 스토리의 큰 단위 여러 개의 씬으로 구성되며 사용자는 각 챕터마다 제목을 설정하고 필요한 씬을 추가하거나 삭제할 수 있다. 씬은 하나의 독립적인 이야기 단위로 여러 개의 스텝으로 구성되며 사용자는 각 씬마다 제목을 설정하고 필요한 스텝을 추가하거나 삭제할 수 있다. 스템은 씬 내에서 일어나는 구체적인 행동이나 대사를 의미하며 사용자는 각 스텝마다 대사와 액션을 입력하여 스토리를 더욱 구체화할 수 있다.
시스템(400)은 코드 규칙 및 Localization을 제공하여 스토리의 구성 요소를 체계적으로 관리하고 다른 언어로 번역할 때도 일관성을 유지할 수 있도록 도와줄 수 있다.
챕터 코드는 대문자 C와 2자리 숫자로 구성되며, 예를 들어 챕터 1은 C01로 표시될 수 있다. 씬은 해당 챕터 코드 뒤에 소문자 s와 숫자 3자리로 구성되며, 예를 들어 챕터 1의 첫 번째 신은 C01s001로 표시될 수 있다. 스텝 코드는 해당 챕터 코드와 신 코드 뒤에 소문자 s와 4자리 숫자로 구성되며, 예를 들어 챕터 2의 3번째 신의 15번째 스텝은 C02s003s0015로 표시될 수 있다. 등장인물 코드는 소문자 c와 3자릿수로 구성되며 해당 코드 자체가 Localization 용 번역 코드로 사용될 수 있다.
도 9에서, 현재 클릭된 챕터는 사용자가 현재 선택한 챕터를 의미할 수 있다. 시스템(400)은 현재 클릭된 챕터에 기반하여 사용자가 스토리를 구성하는 데 필요한 정보를 제공할 수 있다.
챕터 추가 버튼 클릭 시 챕터 추가 팝업창이 출력될 수 있다. 챕터 추가 팝업창은 사용자가 새로운 챕터를 추가하고자 할 때 클릭하는 버튼을 의미할 수 있다. 이 버튼을 클릭하면 새로운 챕터를 추가할 수 있는 팝업창이 출력될 수 있다. 새로운 챕터를 추가할 때, 챕터 번호는 자동으로 생성될 수 있다.
챕터 번호가 추가되는 규칙은 다음과 같다. 대문자 'C' + 2자리 챕터 번호로 구성되며, 만약 이전에 생성된 챕터가 없다면, 챕터 번호는 'C01'로 자동으로 생성된다. 이미 생성된 챕터가 있다면, 마지막 챕터의 번호에 1을 더한 값이 새로운 챕터의 번호로 자동으로 생성될 수 있다.
새로운 챕터가 추가되면, 해당 챕터는 스토리보드에 추가될 수 있다. 사용자는 스토리보드에서 추가된 챕터를 확인하고, 스토리를 구성할 수 있다. 추가된 챕터는 저장 및 불러오기가 가능할 수 있다. 사용자는 저장된 챕터를 불러와서 스토리를 이어서 구성할 수 있다. 저장된 파일은 .json 확장자로 저장될 수 있다. 사용자는 저장된 파일을 다른 기기나 컴퓨터에서 불러와서 사용할 수 있다.
도 10은 storytool의 구성을 나타낸 것이다.
도 10에서 가장 상위 목록인 챕터는 프로젝트의 가장 큰 단위로, 여러 개의 씬(Scene)으로 구성될 수 있다. 각 챕터는 독립적인 단위로 구분되며, 각각의 이름과 설명을 입력할 수 있다.
챕터 안에 포함된 씬 리스트는 각 챕터 안에 포함된 씬들의 목록을 의미할 수 있다. 씬은 프로젝트의 세부 단위로, 각각의 씬에는 스텝(Step)이 포함될 수 있다.
씬(No.001)에 포함된 스텝 리스트는 해당 씬에 포함된 스텝들의 목록을 의미할 수 있다. 스텝은 씬을 구성하는 요소로, 각각의 스텝에는 액션(Action)이 포함될 수 있다.
도 10에서, 인터페이스는 해당 씬에 대한 정보를 확인할 수 있는 화면을 포함할 수 있다. 여기에는 씬의 이름, 설명, 스텝 리스트가 표시될 수 있다.
한글, 영어, 일본어 선택 시 해당 언어로 변환할 수 있다. 즉, 시스템(400)은 프로젝트를 다른 언어로 번역할 수 있는 기능을 제공할 수 있다..
시스템(400)은 씬 재생을 클릭하면 해당 신에 연결된 스텝들을 조합하여 실행할 수 있다. 씬 재생 기능을 이용하면, 해당 씬에 연결된 스텝들을 조합하여 실행할 수 있다. 스텝들은 순서대로 실행되는 것이 아니라, 연결된 번호에 따라 실행될 수 있다.다.
시스템(400)은 스텝 추가 시 해당 신에 포함된 스텝을 추가할 수 있다. 스텝 추가 기능을 이용하면, 해당 씬에 새로운 스텝을 추가할 수 있다. 추가된 스텝은 스텝 리스트에 추가되며, 해당 씬의 정보 화면에서도 확인할 수 있다.
시스템(400)은 해당 신의 정보 수정 버튼을 표시할 수 있다. 이는 해당 신의 정보를 수정할 수 있는 기능을 제공할 수 있다. 사용자는 이 버튼을 클릭하면, 해당 신의 이름, 설명, 스텝 리스트 등을 수정할 수 있다.
시스템(400)은 특정 신을 삭제할 수 있는 기능을 제공할 수 있다. 삭제된 씬은 씬 리스트에서 제거되며, 해당 씬의 정보 화면도 더 이상 표시되지 않을 수 있다.