Search

KR-102961241-B1 - SYSTEM AND METHOD FOR PROVIDING APP CLUSTER-BASED ADVERTISING SERVICE USING ARTIFICIAL INTELLIGENCE

KR102961241B1KR 102961241 B1KR102961241 B1KR 102961241B1KR-102961241-B1

Abstract

실시예들은 인공지능을 이용하여 앱 군집 기반의 광고 서비스를 제공하는 시스템 및 방법을 제시한다. 일 실시예에 따른 시스템은, 각각 하나의 기능을 수행하는 복수의 어플리케이션을 포함하는 앱 군집을 기반으로 광고 서비스를 제공하는 서버 및 상기 앱 군집 중에서 적어도 하나의 어플리케이션이 설치된 사용자 단말을 포함하고, 상기 서버는, 상기 적어도 하나의 어플리케이션에 대한 설치 정보, 상기 적어도 하나의 어플리케이션에 대한 사용 정보 및 사용자 프로필 정보를 포함하는 상기 적어도 하나의 어플리케이션과 관련된 정보를 상기 사용자 단말로부터 수신하고, 상기 적어도 하나의 어플리케이션에 대한 설치 정보를 기반으로 상기 앱 군집에서 상기 사용자 단말에 미설치된 복수의 어플리케이션을 설치 후보 군집으로 설정하고, 상기 적어도 하나의 어플리케이션과 관련된 정보 및 상기 설치 후보 군집에 대한 제1 정보를 기반으로 제1 뉴럴 네트워크를 이용하는 설치 예측 모델을 통해 상기 설치 후보 군집에 포함된 각각의 어플리케이션에 대한 설치 확률을 결정하고, 상기 설치 후보 군집 중에서 상기 설치 확률이 가장 높은 어플리케이션을 추천 어플리케이션으로 선택하고, 상기 적어도 하나의 어플리케이션과 관련된 정보 및 상기 설치 후보 군집에 대한 제2 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 광고 추천 모델을 통해 타겟 광고를 결정하고, 상기 추천 어플리케이션에 대한 정보 및 상기 타겟 광고에 대한 정보를 상기 사용자 단말에게 전송할 수 있다.

Inventors

  • 신민호

Assignees

  • 주식회사 아웃스프링

Dates

Publication Date
20260506
Application Date
20250612

Claims (3)

  1. 각각 하나의 기능을 수행하는 복수의 어플리케이션을 포함하는 앱 군집을 기반으로 광고 서비스를 제공하는 서버; 및 상기 앱 군집 중에서 적어도 하나의 어플리케이션이 설치된 사용자 단말을 포함하고, 상기 서버는, 상기 적어도 하나의 어플리케이션에 대한 설치 정보, 상기 적어도 하나의 어플리케이션에 대한 사용 정보 및 사용자 프로필 정보를 포함하는 상기 적어도 하나의 어플리케이션과 관련된 정보를 상기 사용자 단말로부터 수신하고, 상기 적어도 하나의 어플리케이션에 대한 설치 정보를 기반으로 상기 앱 군집에서 상기 사용자 단말에 미설치된 복수의 어플리케이션을 설치 후보 군집으로 설정하고, 상기 적어도 하나의 어플리케이션과 관련된 정보 및 상기 설치 후보 군집에 대한 제1 정보를 기반으로 제1 뉴럴 네트워크를 이용하는 설치 예측 모델을 통해 상기 설치 후보 군집에 포함된 각각의 어플리케이션에 대한 설치 확률을 결정하고, 상기 설치 후보 군집 중에서 상기 설치 확률이 가장 높은 어플리케이션을 추천 어플리케이션으로 선택하고, 상기 적어도 하나의 어플리케이션과 관련된 정보 및 상기 설치 후보 군집에 대한 제2 정보를 기반으로 제2 뉴럴 네트워크를 이용하는 광고 추천 모델을 통해 타겟 광고를 결정하고, 상기 추천 어플리케이션에 대한 정보 및 상기 타겟 광고에 대한 정보를 상기 사용자 단말에게 전송하고, 상기 설치 정보는 앱 기능 유형에 대한 값, 설치 시점에 대한 값 및 추천 설치 여부와 관련된 값을 포함하고, 상기 사용 정보는 실행 일시, 사용 빈도, 체류 시간, 앱 전환 순서 및 앱 전환 시간대를 포함하고, 상기 사용자 프로필 정보는 사용자의 연령대, 사용자의 성별, 사용자의 지역 및 상기 사용자 단말의 기종을 포함하고, 상기 서버는, 상기 설치 예측 모델은 복수의 인코더 레이어, 노이즈 삽입 레이어, 역확산 복원 네트워크, 복수의 디코더 및 출력 레이어를 포함하고, 상기 복수의 인코더 레이어는 시계열 인코더 레이어와 정적 인코더 레이어를 포함하고, 상기 사용 정보를 시간 순서에 따라 정렬된 입력 시퀀스로 구성하여 상기 시계열 인코더 레이어에 입력함으로써, 시계열 중간 벡터를 생성하고, 상기 설치 정보 및 상기 사용자 프로필 정보를 상기 정적 인코더 레이어에 입력함으로써, 정적 중간 벡터를 생성하고, 상기 시계열 중간 벡터와 상기 정적 중간 벡터를 동일 차원으로 정렬하여 연결한 후, 선형 결합 및 정규화를 수행함으로써, 사용자 상태 벡터를 생성하고, 상기 노이즈 삽입 레이어를 통해 상기 사용자 상태 벡터에 대해 정규분포 기반의 랜덤한 노이즈 벡터를 생성한 후 설정된 확산 단계 수에 대응되는 노이즈 주입 비율을 기반으로 상기 사용자 상태 벡터와 상기 노이즈 벡터를 가중 결합함으로써 상태 변형 벡터를 생성하고, 상기 상태 변형 벡터에 대해 상기 역확산 복원 네트워크를 통해 복수의 시간 단계를 역방향으로 적용하면서, 각 시간 단계에 따라 상태를 복원하는 반복 연산을 수행함으로써, 사용자의 행동 경향을 반영하는 복원 상태 벡터를 생성하고, 상기 설치 후보 군집에 포함된 각 어플리케이션에 대하여, 상기 설치 후보 군집에 대한 제1 정보를 기반으로 해당 어플리케이션의 앱 기능 유형에 대한 값, 시간대별 평균 사용 빈도에 대한 값 및 설치 연령대 분포에 대한 값을 포함하는 어플리케이션 정보 벡터를 생성하고, 상기 복원 상태 벡터와 상기 어플리케이션 정보 벡터를 하나의 입력 텐서로 결합하고, 상기 입력 텐서를 상기 복수의 디코더 중에서 해당 어플리케이션의 앱 기능 유형에 대응되는 디코더에 입력함으로써, 상기 설치 후보 군집에 포함된 각 어플리케이션에 대한 설치 확률을 결정하고, 상기 출력 레이어를 통해, 상기 설치 후보 군집에 포함된 각 어플리케이션에 대한 설치 확률에 대해 사전 설정된 축별 가중치 및 기능별 상대 가중치를 적용하여 평균한 값을 해당 어플리케이션에 대한 설치 확률로 획득하고, 상기 서버는, 상기 광고 추천 모델을 통해, 상기 사용자 단말에 대응되는 제1 노드, 상기 적어도 하나의 어플리케이션에 대응되는 제2 노드, 상기 사용자 단말에 미설치된 복수의 어플리케이션 각각에 대응되는 제3 노드 및 사전 설정된 복수의 광고 각각에 대응되는 제4 노드를 포함하는 다중 관계 그래프를 생성하고, 상기 제1 노드에는 상기 사용자 프로필 정보에 기반한 제1 속성 벡터가 설정되고, 상기 제2 노드에는 상기 설치 정보 및 상기 사용 정보에 기반한 제2 속성 벡터가 설정되고, 상기 제3 노드에는 앱 기능 유형에 대한 값, 시간대별 평균 사용 빈도에 대한 값, 설치 연령대 분포에 대한 값 및 설치 확률에 대한 값을 포함하는 제3 속성 벡터가 설정되고, 상기 제4 노드에는 광고의 카테고리에 대한 값, 타겟 연령대에 대한 값, 타겟 성별에 대한 값 및 광고 노출 시간대에 대한 값을 포함하는 제4 속성 벡터가 설정되고, 상기 광고 추천 모델을 통해, 상기 제1 노드와 상기 제2 노드 사이의 연결 관계를 기반으로 사용 습관 벡터와 반응 유도 벡터를 생성하고, 상기 제1 노드와 상기 제3 노드 사이의 연결 관계를 기반으로 잠재 반응 유도 벡터를 생성하고, 상기 광고 추천 모델을 통해, 상기 반응 유도 벡터 및 상기 잠재 반응 유도 벡터에 유도 가중치를 적용하여 통합된 유도 벡터를 생성하고, 상기 사용 습관 벡터 및 상기 통합된 유도 벡터를 결합하여 사용자 행동 벡터를 생성하고, 상기 사용자 행동 벡터와 상기 제1 속성 벡터를 결합하여 사용자 컨텍스트 벡터를 생성하고, 상기 사용자 컨텍스트 벡터와 상기 제4 속성 벡터 사이의 유사도를 기반으로 상기 사전 설정된 복수의 광고별 정합도를 결정하고, 상기 사전 설정된 복수의 광고 중에서 상기 정합도가 가장 높은 광고를 상기 타겟 광고로 결정하는, 앱 군집 기반의 광고 서비스를 제공하는 시스템.
  2. 삭제
  3. 삭제

Description

인공지능을 이용하여 앱 군집 기반의 광고 서비스를 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING APP CLUSTER-BASED ADVERTISING SERVICE USING ARTIFICIAL INTELLIGENCE} 본 개시의 실시예들은 인공지능을 이용하여 앱 군집 기반의 광고 서비스를 제공하는 시스템 및 방법에 대한 것이다. 모바일 광고 산업은 사용자의 앱(app) 이용 패턴과 관심사에 기반하여 광고를 노출하는 방향으로 지속적으로 진화하고 있다. 기존에는 특정 단일 앱에 광고를 삽입하거나, 개별 앱의 사용 이력에 기반하여 광고를 추천하는 방식이 주로 활용되어 왔다. 이러한 구조는 광고 송출 경로가 고정되어 있고, 단일 앱의 기능 범위 내에서만 사용자 관심을 유도할 수 있다는 한계가 존재한다. 특히, 단일 앱 기반의 광고 시스템은 사용자의 체류 시간을 충분히 확보하기 어렵다는 구조적 제약을 가진다. 사용자가 앱을 빠르게 종료하거나, 하나의 앱에 국한된 기능만을 경험함에 따라, 광고 노출 기회가 제한되고, 전환율 향상에 어려움이 발생한다. 또한, 광고 자체가 앱 기능과 유기적으로 연결되지 않고 단순히 외부 링크나 배너 형태로 제공되기 때문에, 사용자 경험을 해치거나 광고 이탈률을 높이는 부작용이 발생할 수 있다. 이와 더불어, 기존 시스템은 앱 간의 기능적 유사성이나 사용 연관도를 고려하지 않고, 독립적인 앱 단위로 광고 노출 경로를 판단하기 때문에, 사용자가 특정 관심사에 따라 다양한 앱을 탐색하거나 연속적으로 사용하는 흐름을 반영하지 못한다. 이러한 한계는 결과적으로 사용자 체류 시간의 분산과 광고 효율성 저하로 이어질 수 있다. 또한, 사용자의 행동 패턴이나 상태 변화가 복잡하고 동적인 현실에서, 단일 앱 사용 로그만을 기반으로 광고를 매칭하는 방식은 사용자 상황에 따른 설치 가능성이나 반응 성향을 정밀하게 반영하기 어렵다. 사용자 개인의 상태나 설치 성향을 학습 기반으로 정교하게 모델링하고, 이를 통해 앱 군집 단위에서의 설치 가능성과 체류 패턴을 예측하는 기능은 기존 시스템에서 제공되지 않는다. 특히, 단일 앱 중심의 광고 시스템은 사용자가 하나의 앱을 사용한 이후 더 이상 플랫폼에 머무르지 않고 이탈하게 되는 구조로 인해, 장기적인 사용자 유입과 체류 기반의 광고 수익 모델을 구축하기 어렵다. 이에 따라, 인공지능을 이용하여 앱 군집 기반의 광고 서비스를 제공하는 시스템 및 방법이 필요하다. 실시예들에 대한 이해를 돕기 위해 상세한 설명의 일부로 포함된, 첨부 도면은 다양한 실시예들을 제공하고, 상세한 설명과 함께 다양한 실시예들의 기술적 특징을 설명한다. 도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다. 도 2는 일 실시예에 따른 프로그램의 구성을 나타내는 도면이다. 도 3은 일 실시예에 따른 인공지능을 이용하여 앱 군집 기반의 광고 서비스를 제공하는 시스템의 동작을 나타낸 흐름도이다. 도 4는 일 실시예에 따라 서버가 설치 예측 모델을 통해 어플리케이션에 대한 설치 확률을 결정하는 동작을 나타낸 흐름도이다. 도 5는 일 실시예에 따른 서버가 광고 추천 모델을 통해 타겟 광고를 결정하는 동작을 나타낸 흐름도이다. 도 6은 일 실시예에 따른 서버의 구성을 나타내는 블록도이다. 이하의 실시예들은 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다. 이하, 다양한 실시예들에 따른 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시 형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다. 또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다. 도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다. 전자 장치(101)는 클라이언트, 단말기 또는 피어로 지칭될 수도 있다. 프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다. 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공