[go: up one dir, main page]

KR20250048291A - 미디어 아이템 및 제품 페어링 - Google Patents

미디어 아이템 및 제품 페어링 Download PDF

Info

Publication number
KR20250048291A
KR20250048291A KR1020257006947A KR20257006947A KR20250048291A KR 20250048291 A KR20250048291 A KR 20250048291A KR 1020257006947 A KR1020257006947 A KR 1020257006947A KR 20257006947 A KR20257006947 A KR 20257006947A KR 20250048291 A KR20250048291 A KR 20250048291A
Authority
KR
South Korea
Prior art keywords
products
product
content item
data
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
KR1020257006947A
Other languages
English (en)
Inventor
지웅 에릭 이
루카스 게오르그 아이어만
레이몬드 마누엘 바즈퀘즈
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20250048291A publication Critical patent/KR20250048291A/ko
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

방법은 하나 이상의 비디오들의 하나 이상의 그래픽 표현들을 포함하는 사용자 인터페이스(UI)를 제공하는 단계를 포함한다. 각 비디오의 각 그래픽 표현은 각 비디오의 재생을 개시하기 위해 선택가능하다. 그래픽 표현은 축소된 상태의 UI 엘리먼트와 디스플레이된다. UI 엘리먼트는 각 비디오에 의해 다뤄지는 복수의 제품들을 식별하는 정보를 포함한다. 본 방법은 UI 엘리먼트의 제시를 축소된 상태에서 확장된 상태로 변경하는 단계를 더 포함한다. 확장된 상태의 UI 엘리먼트는 복수의 제품들 중 하나와 각각 연관된 다수의 시각적 컴포넌트들을 포함한다. 본 방법은 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택 시 비디오의 제시를 개시하는 단계를 더 포함한다.

Description

미디어 아이템 및 제품 페어링
본 개시의 양태들 및 구현예들은 미디어 아이템들 및 연관된 객체들의 페어링을 가능하게 하기 위한 방법들 및 시스템들에 관한 것이고, 보다 구체적으로는 미디어 아이템들 및 제품들의 페어링을 가능하게 하기 위한 시스템들에 관한 것이다.
플랫폼(예를 들어, 콘텐츠 공유 플랫폼)은 네트워크를 통해 플랫폼에 연결된 클라이언트 디바이스들에 미디어 아이템들을 송신(예를 들어, 스트리밍)할 수 있다. 상이한 유형들의 클라이언트 디바이스들은 상이한 작업들에 대해 최적화되거나, 상이한 작업들에 대해 사용자에 의해 선호되는 등일 수 있다. 미디어 아이템들은 하나 이상의 제품들에 대한 참조들을 포함할 수 있다.
아래의 요약은 본 개시의 일부 양태들에 대한 기본적인 이해를 제공하기 위한 본 개시의 간략화된 요약이다. 이 요약은 본 개시의 광범위한 개요가 아니다. 본 개시의 주요 또는 중요한 엘리먼트들을 식별하도록 의도되지 않으며, 본 개시의 특정 구현예들의 임의의 범위 또는 청구항들의 임의의 범위를 기술하도록 의도되지도 않는다. 이의 유일한 목적은 이후에 제시되는 보다 상세한 설명에 대한 서두로서 본 개시의 일부 개념들을 간략화된 형태로 제시하는 것이다.
미디어 아이템의 하나 이상의 제품들과 연관된 하나 이상의 참여 활동들(engagement activities)에의 사용자 참여(participation)를 가능하게 하기 위한 시스템들 및 방법들이 개시된다. 일부 구현예들에서, 방법은 하나 이상의 비디오들의 하나 이상의 그래픽 표현들을 포함하는 사용자 인터페이스(user interface, UI)를 제공하는 단계를 포함한다. 각 비디오의 각 그래픽 표현은 각 비디오의 재생을 개시하기 위해 선택가능하고, 축소된 상태(collapsed state)의 UI 엘리먼트와 디스플레이된다. 축소된 상태의 UI 엘리먼트는 각 비디오에 의해 다뤄지는 복수의 제품들을 식별하는 정보를 포함한다. 본 방법은 UI 엘리먼트의 제시를 축소된 상태에서 확장된 상태(expanded state)로 변경(modify)하면서 계속해서 각 비디오의 그래픽 표현을 제시하는 단계를 더 포함한다. UI 엘리먼트의 제시의 변경(modification)은 축소된 상태의 UI 엘리먼트와의 사용자 상호작용에 응답하여 수행된다. 확장된 상태의 UI 엘리먼트는 복수의 제품들 중 하나와 각각 연관된 복수의 시각적 컴포넌트들을 포함한다. 본 방법은 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 각각의 사용자 선택에 응답하여, 선택된 시각적 컴포넌트와 연관된 제품을 다루는 비디오의 재생을 개시하는 단계를 더 포함한다.
일부 실시예들에서, UI 엘리먼트의 제시는 제품 포커싱된 상태로 변경될 수 있다. 제품 포커싱된 상태는 콘텐츠 아이템과 연관된 하나 이상의 제품들에 관한 상세한 정보를 포함할 수 있다. UI 엘리먼트의 제시는 UI 엘리먼트 또는 UI 엘리먼트 컴포넌트의 사용자 선택에 응답하여 제품 포커싱된 상태로 변경될 수 있다. UI 엘리먼트의 제시는 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택에 응답하여 제품 포커싱된 상태로 변경될 수 있다.
일부 실시예들에서, UI 엘리먼트 및 그래픽 표현들의 제시는 사용자 디바이스가 디스플레이를 위한 콘텐츠 아이템들의 홈 피드를 요청하는 것에 응답하여 수행될 수 있다. UI 엘리먼트 및 그래픽 표현들의 제시는 사용자 디바이스의 검색 질의에 응답하여 수행될 수 있다. UI 엘리먼트 및 그래픽 표현들의 제시는 콘텐츠 아이템을 보기 위한 사용자 요청에 응답하여 수행될 수 있다.
확장된 상태의 UI 엘리먼트는 하나 이상의 탭들을 포함할 수 있다. 제1 탭은 복수의 제품들과 연관될 수 있다. 제2 탭은 각 콘텐츠 아이템의 복수의 부분들(예를 들어, 챕터들)과 연관될 수 있다. 제1 탭이 디폴트로 제시될 수 있다.
일부 실시예들에서, UI 엘리먼트의 제시는 거래 상태로 변경될 수 있다. 거래 상태로의 변경은 UI 엘리먼트 또는 UI 엘리먼트의 컴포넌트의 사용자 선택에 응답하여 수행될 수 있다. 거래 상태의 UI 엘리먼트는 복수의 제품들 중 하나와 연관된 거래를 가능하게 할 수 있다.
하나 이상의 UI 엘리먼트들이 오버레이될 수 있다. UI 엘리먼트는 제시되어 있는 콘텐츠 아이템 상에 오버레이될 수 있다. UI 엘리먼트는 콘텐츠 아이템의 그래픽 표현 상에 오버레이될 수 있다. UI 엘리먼트와의 사용자 상호작용은 UI 엘리먼트 상에 체류하는 것을 포함할 수 있다.
다른 양태에서, 방법은 디바이스에, 디바이스의 UI에 의한 디스플레이를 위해, 하나 이상의 콘텐츠 아이템들의 하나 이상의 그래픽 표현들을 제공하는 단계를 포함한다. 각 콘텐츠 아이템의 각 그래픽 표현은 각 콘텐츠 아이템의 제시를 개시하기 위해 선택가능하다. 본 방법은 제1 콘텐츠 아이템의 제1 그래픽 표현과 축소된 상태의 UI 엘리먼트를 디스플레이하기 위한 명령어들을 디바이스에 제공하는 단계를 더 포함한다. UI 엘리먼트는 제1 콘텐츠 아이템에 의해 다뤄지는 복수의 제품들을 식별하는 정보를 포함할 수 있다. 본 방법은 UI 엘리먼트의 제시를 변경하기 위한 명령어들을 디바이스에 제공하는 단계를 더 포함한다. 명령어들은 UI 엘리먼트와의 사용자 상호작용의 표시를 수신하는 것에 응답하여 제공될 수 있다. 명령어들은 UI 엘리먼트를 축소된 상태에서 확장된 상태로 전환시키는 것을 가능하게 할 수 있다. 확장된 상태의 UI 엘리먼트는 복수의 시각적 컴포넌트들을 포함한다. 시각적 컴포넌트들 각각은 복수의 제품들 중 하나와 연관된다. 본 방법은 콘텐츠 아이템의 제시를 가능하게 하는 명령어들을 디바이스에 제공하는 단계를 더 포함한다. 콘텐츠 아이템의 제시를 가능하게 하는 명령어들은 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택의 표시를 수신하는 것에 응답하여 제공될 수 있다.
일부 실시예들에서, 본 방법은 UI 엘리먼트의 제시의 확장된 상태에서 제품 포커싱된 상태로의 변경을 가능하게 하는 명령어들을 디바이스에 제공하는 단계를 포함한다. UI 엘리먼트의 변경은 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택의 표시를 수신하는 것에 응답하여 수행될 수 있다. 제품 포커싱된 상태의 UI 엘리먼트는 선택된 시각적 컴포넌트와 연관된 제품에 관한 상세한 정보를 포함할 수 있다.
일부 실시예들에서, 본 방법은 제1 콘텐츠 아이템에 의해 다뤄지는 복수의 제품들의 식별자들을 트레이닝된 머신 러닝 모델로부터의 출력으로서 획득하는 단계를 포함한다. 트레이닝된 머신 러닝 모델은 입력으로서, 제1 콘텐츠 아이템과 연관된 데이터를 수신한다.
일부 실시예들에서, 본 방법은 UI 엘리먼트의 제시를 거래 상태로 변경하는 것을 가능하게 하는 명령어들을 디바이스에 제공하는 단계를 포함한다. 거래 상태는 콘텐츠 아이템과 연관된 복수의 제품들 중 하나와 연관된 거래를 가능하게 하는 하나 이상의 컴포넌트들을 포함한다. UI 엘리먼트의 제시의 거래 상태로의 변경을 가능하게 하는 명령어들은 제품과 연관된 UI 엘리먼트의 컴포넌트의 사용자 선택에 응답하여 제공될 수 있다.
일부 실시예들에서, 콘텐츠 아이템의 제시를 가능하게 하는 명령어들은 제시할 콘텐츠 아이템의 일부분의 표시를 포함할 수 있다. 콘텐츠 아이템의 일부분은 복수의 시각적 컴포넌트들 중 하나와 연관된 복수의 제품들 중 하나를 다룰 수 있다. 일부 실시예들에서, 사용자의 이력을 획득하는 것에 응답하여 하나 이상의 명령어들이 디바이스에 제공될 수 있다. 사용자의 이력은 제품들과 연관된 콘텐츠 아이템과의 하나 이상의 상호작용들을 포함할 수 있다. 일부 실시예들에서, 콘텐츠 아이템은 라이브 스트리밍되는 비디오이다. 일부 실시예들에서, 콘텐츠 아이템은 숏폼(short-form) 비디오이다.
다른 양태에서, 비일시적 머신 판독가능 저장 매체는, 실행될 때, 프로세싱 디바이스로 하여금 UI를 제시하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 저장한다. UI는 하나 이상의 비디오들의 하나 이상의 그래픽 표현들을 포함한다. 각 비디오의 각 그래픽 표현은 각 비디오의 재생을 개시하기 위해 선택가능하고, 축소된 상태의 UI 엘리먼트와 디스플레이된다. UI 엘리먼트는 각 비디오에 의해 다뤄지는 복수의 제품들을 식별하는 정보를 포함한다. 동작들은 UI 엘리먼트의 제시를 축소된 상태에서 확장된 상태로 변경하면서 계속해서 각 비디오의 그래픽 표현을 제시하는 동작을 더 포함한다. 변경은 축소된 상태의 UI 엘리먼트와의 사용자 상호작용에 응답하여 수행될 수 있다. 확장된 상태의 UI 엘리먼트는 복수의 시각적 컴포넌트들을 포함할 수 있다. 각 시각적 컴포넌트는 복수의 제품들 중 하나와 연관될 수 있다. 동작들은 선택된 시각적 컴포넌트와 연관된 제품을 다루는 각 비디오의 재생을 개시하는 동작을 더 포함한다. 재생을 개시하는 것은 복수의 시각적 컴포넌트들 중 하나의 선택된 시각적 컴포넌트의 사용자 선택에 응답하여 수행될 수 있다.
일부 실시예들에서, 동작들은 UI 엘리먼트의 제시를 확장된 상태에서 제품 포커싱된 상태로 변경하는 동작을 포함한다. 변경은 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택에 응답하여 수행될 수 있다. 제품 포커싱된 상태의 UI 엘리먼트는 선택된 시각적 컴포넌트와 연관된 제품에 관한 상세한 정보를 포함할 수 있다.
일부 실시예들에서, 동작들은 UI 엘리먼트의 제시를 거래 상태로 변경하는 동작을 더 포함한다. UI 엘리먼트의 제시를 변경하는 것은 제품과 연관된 UI 엘리먼트의 컴포넌트의 사용자 선택에 응답하여 수행될 수 있다. 거래 상태의 UI 엘리먼트는 제품과 연관된 거래를 가능하게 한다.
일부 실시예들에서, UI 엘리먼트는 탭들을 포함할 수 있다. UI 엘리먼트는 복수의 제품들과 연관된 제1 탭을 포함할 수 있다. UI 엘리먼트는 각 비디오의 복수의 부분들과 연관된 제2 탭을 포함할 수 있다. 제1 탭의 콘텐츠가 디폴트로 제시될 수 있다. 일부 실시예들에서, 각 비디오의 재생을 개시하는 것은 제품을 묘사하는 비디오의 일부분을 제시하는 것을 포함한다. 제품은 UI 엘리먼트의 선택된 시각적 컴포넌트와 연관될 수 있다.
하나의 양태의 선택적 특징들은 적절한 경우 다른 양태들과 조합될 수 있다.
본 개시의 양태들 및 구현예들은 아래에서 주어지는 상세한 설명 및 본 개시의 다양한 양태들 및 구현예들의 첨부 도면들로부터 보다 충분하게 이해될 것이지만, 이는 본 개시를 구체적인 양태들 또는 구현예들로 제한하는 것으로 간주되어서는 안 되며, 단지 설명 및 이해를 위한 것이다.
도 1은 일부 실시예들에 따른, 관련 및 연관된 제품 정보를 제공하기 위한 예시적인 시스템 아키텍처를 예시한다.
도 2는 일부 실시예들에 따란, 하나 이상의 모델들에 대한 데이터 세트들을 생성하기 위한 데이터 세트 생성기를 포함하는 시스템(200)의 블록도이다.
도 3a는 일부 실시예들에 따른, 제품들과 콘텐츠 아이템들 사이의 연관성과 같은 출력 데이터를 생성하기 위한 시스템을 예시하는 블록도이다.
도 3b는 일부 실시예들에 따른, 콘텐츠 아이템과 하나 이상의 제품들 사이의 연관성을 설명하는 데이터를 생성하기 위한 예시적인 시스템의 블록도이다.
도 4a는 일부 실시예들에 따른, 콘텐츠 아이템과 연관된 제품들을 표시하는 UI 엘리먼트를 포함하는 예시적인 사용자 인터페이스(UI)를 제시하는 디바이스를 도시한다.
도 4b는 일부 실시예들에 따른, 콘텐츠 아이템과 연관된 제품들을 표시하는 UI 엘리먼트를 포함하는 예시적인 UI를 제시하는 디바이스를 도시한다.
도 4c는 일부 실시예들에 따른, 콘텐츠 아이템을 제시는 UI 엘리먼트 및 콘텐츠 아이템과 연관된 제품들에 관한 정보를 제시하는 UI 엘리먼트들을 포함하는 예시적인 UI를 제시하는 디바이스를 도시한다.
도 4d는 일부 실시예들에 따른, 콘텐츠 아이템을 제시하는 UI 엘리먼트 및 제품과 연관된 거래를 가능하게 하는 UI 엘리먼트를 제시하는 디바이스 및 포함하는 예시적인 UI를 도시한다.
도 4e는 일부 실시예들에 따른, UI 엘리먼트들이 콘텐츠 제시 엘리먼트 상에 오버레이된 예시적인 디바이스를 도시한다.
도 5a는 일부 실시예들에 따른, 머신 러닝 모델에 대한 데이터 세트를 생성하기 위한 방법의 흐름도이다.
도 5b는 일부 실시예들에 따른, 콘텐츠 아이템의 메타데이터를 업데이트하기 위한 방법의 흐름도이다.
도 5c는 일부 실시예들에 따른, 콘텐츠 아이템 및 제품 페어링과 연관된 머신 러닝 모델을 트레이닝하기 위한 방법의 흐름도이다.
도 5d는 일부 실시예들에 따른, 콘텐츠 아이템과 연관된 메타데이터를 조정하기 위한 방법의 흐름도이다.
도 5e는 일부 실시예들에 따른, 하나 이상의 제품들과 연관된 UI 엘리먼트를 제시하기 위한 방법의 흐름도이다.
도 5f는 일부 실시예들에 따른, 제품들과 연관된 하나 이상의 UI 엘리먼트들을 제시할 것을 디바이스에 명령하기 위한 방법의 흐름도이다.
도 6은 본 개시의 구현예들에 따른, 예시적인 컴퓨터 시스템을 예시하는 블록도이다.
본 개시의 양태들은 미디어 아이템들(예를 들어, 콘텐츠 아이템들, 콘텐츠 등) 및 연관된 제품들의 페어링을 가능하게 하기 위한 방법들 및 시스템들에 관한 것이다. 플랫폼(예를 들어, 콘텐츠 공유 플랫폼 등)은 사용자가 (예를 들어, 플랫폼에 연결된 클라이언트 디바이스를 통해) 플랫폼에 의해 호스팅되는 미디어 아이템(예를 들어, 비디오 아이템, 오디오 아이템 등)에 액세스할 수 있게 할 수 있다. 플랫폼은 네트워크(예를 들어, 인터넷)를 통해 (예를 들어, 미디어 아이템을 사용자의 클라이언트 디바이스에 송신하는 것 등에 의해) 미디어 아이템에 대한 액세스를 사용자의 클라이언트 디바이스에 제공할 수 있다. 미디어/콘텐츠 아이템은 콘텐츠 아이템에의 사용자의 참여를 심화시킬 수 있는 하나 이상의 추가적인 연관된 활동들을 가질 수 있다. 예를 들어, 참여 활동들은 콘텐츠 아이템에 대한 코멘트 섹션, 콘텐츠 아이템과 연관된 라이브 챗 등을 포함할 수 있다. 일부 콘텐츠 아이템들은 하나 이상의 제품들과 관련될 수 있다. 예를 들어, 제품들이 콘텐츠 아이템의 일부로서 디스플레이될 수 있거나, 제품들이 콘텐츠 아이템에서 리뷰될 수 있거나, 콘텐츠 아이템이 하나 이상의 제품들과 연관될 수 있는(예를 들어, 이에 연결된 회사에 의해 후원됨) 등이다.
종래의 시스템들에서, 콘텐츠 아이템과 연관된 제품들을 식별하는 것은 어렵고, 불편하고, 시간 소모적인 등일 수 있다. 콘텐츠 플랫폼(예를 들어, 사용자들에의 제시를 위해 콘텐츠를 제공하는 플랫폼)은 콘텐츠 아이템과 연관된 제품들을 식별하는 데 어려움을 가질 수 있다. 일부 시스템들에서, 콘텐츠 제작자는 콘텐츠 아이템, 콘텐츠 채널, 콘텐츠 아이템들의 리스트 등과 연관된 하나 이상의 제품들을 식별할 수 있다. 일부 시스템들에서, 콘텐츠 제작자는, 콘텐츠 아이템에서의 하나 이상의 제품들, 예를 들어, 아이템들의 사진들, 비디오에서 나타나는 아이템들 등에 관한 정보를 포함할 수 있다. 일부 시스템들에서, 콘텐츠 제작자는 콘텐츠 아이템과 연관된 하나 이상의 필드들에서의 하나 이상의 제품들에 관한 정보, 예를 들어, 콘텐츠 아이템 제목, 콘텐츠 아이템 설명, 콘텐츠 아이템 코멘트들(예를 들어, 고정된 코멘트들) 등을 포함할 수 있다.
종래의 시스템들에서, 사용자는 콘텐츠 아이템이 하나 이상의 연관된 제품들을 갖는지를 쉽게 알아낼 수 없을 수 있다. 콘텐츠 아이템은 연관된 제품들의 표시자를 갖지 않을 수 있다. 사용자는 콘텐츠 아이템이 하나 이상의 연관된 제품들을 갖는지 여부를 알아내기 위해 콘텐츠 아이템을 제시받을(예를 들어, 비디오를 시청할) 필요가 있을 수 있다.
종래의 시스템들에서, 사용자는 콘텐츠 아이템과 연관된 제품들을 식별하는 데 어려움을 가질 수 있다. 콘텐츠 아이템이 연관된 제품들을 갖는다는 즉각적인 표시가 (예를 들어, 소비, 보기 등을 위한 콘텐츠 아이템을 선택하는 동안) 없을 수 있다. 제품 정보는 예를 들어, 콘텐츠 아이템 제목, 콘텐츠 아이템 설명, 코멘트 섹션 등과 같은 상이한 필드들 사이에 분산되어 찾기가 어려울 수 있다. 제품 정보는 콘텐츠 아이템에 포함될 수 있으며, 예를 들어, 비디오는 하나 이상의 제품들을 설명하는 오디오를 포함할 수 있으며, 이미지 아이템은 하나 이상의 제품들의 이미지를 포함할 수 있는 등이다. 이러한 정보를 콘텐츠 아이템으로부터 추출하는 것은 어렵고, 시간 소모적이며, 오류가 발생하기 쉬운 등일 수 있다.
종래의 시스템들에서, 콘텐츠 아이템에서 특징이 되는 제품에 관한 추가적인 정보를 수신하는 것은 어렵고, 시간 소모적인 등일 수 있다. 일부 시스템들에서, 제품이 콘텐츠 아이템에서 나타날 수 있다(예를 들어, 비디오에서 나타날 수 있음). 사용자에게는 추가적인 정보(예를 들어, 제품명, 판매자명 등)가 주어지지 않을 수 있고, 사용자는 제품에 관한 더 많은 정보를 학습하기 위해 콘텐츠 플랫폼과 독립적으로 검색을 수행할 수 있다. 제품과 연관된 명칭 및/또는 판매자가 (예를 들어, 콘텐츠 아이템에 대한 설명 또는 콘텐츠 아이템의 제목에서) 제공될 수 있다. 사용자는 제품에 관한 보다 많은 정보, 이를테면 제품 변형, 관련 제품들, 가용성 및 가격 등을 학습하기 위해 (예를 들어, 콘텐츠 플랫폼과 독립적으로) 검색을 수행할 수 있다. 제품에 관한 보다 많은 학습을 가능하게 하기 위한 디렉션들(예를 들어, 사용자에 대한 디렉션들, 판매자 웹사이트에 대한 링크 형태의 프로세싱 디바이스에 대한 디렉션들 등)이 제공될 수 있다. 사용자는 콘텐츠 플랫폼과 독립적으로, 별개의 소스(예를 들어, 웹사이트)로부터 추가적인 정보를 수신할 수 있다.
종래의 시스템들에서, 콘텐츠 아이템에 포함된 제품에 관한 정보는 구식일 수 있다. 예를 들어, 콘텐츠 아이템 또는 관련 필드(예를 들어, 콘텐츠 아이템 제목, 콘텐츠 아이템 설명, 콘텐츠 아이템 코멘트들 등) 내에서, 콘텐츠 제작자는 하나 이상의 제품들에 관한 추가적인 정보 이를테면 가격 정보, 판매자 정보, 가용성 정보, 대체 버전들 또는 변형 정보 등을 포함할 수 있다. 콘텐츠 아이템 또는 연관된 필드들에 포함된 일부 정보는 이 정보에 대한 변경으로 업데이트되지 않을 수 있거나, 콘텐츠 제작자 업데이트 등에 의존적일 수 있는 등이다.
종래의 시스템들에서, 사용자가 콘텐츠 아이템과 연관된 하나 이상의 아이템들을 구매하는 것을 어렵고, 시간 소모적이고, 번거롭게 하는 등의 장애물들이 있을 수 있다. 사용자는 제품을 검색하며, 제품의 재고를 갖거나 제품을 판매하는 판매자들을 검색하는 등을 할 수 있다. 일부 실시예들에서, 콘텐츠 아이템 또는 연관된 필드는 아이템을 구매하기 위한 명령어들을 포함할 수 있다(예를 들어, 콘텐츠 아이템에 대한 설명이 콘텐츠 아이템과 연관된 제품들에 대한 하나 이상의 링크들을 포함할 수 있음). 사용자는 하나 이상의 제품들의 구매를 완료하기 위해 콘텐츠 플랫폼과 독립적인 다른 플랫폼으로 디렉팅될 수 있다.
사용자가 콘텐츠 아이템에 의해 다뤄지는 제품들에 관한 정보를 찾는 데는 상당한 양의 시간 및 컴퓨팅 자원들이 들 수 있다. 예를 들어, 비디오는 길고, 끝까지 관심 있는 제품이 특징이 될 수 있다. 관심 제품에 관한 정확한 정보를 획득하기 위해 사용자가 비디오를 소비하는 데 상당한 시간이 걸릴 수 있으며, 이에 의해 클라이언트 디바이스의 컴퓨팅 자원들의 사용을 증가시킬 수 있다. 또한, 사용자가 미디어 아이템을 소비할 수 있게 하는 클라이언트 디바이스의 컴퓨팅 자원들은 다른 프로세스들에 대해서는 이용가능하지 않을 수 있으며, 이는 클라이언트 디바이스의 전체 효율성을 감소시키고 전체 레이턴시를 증가시킬 수 있다.
본 개시의 양태들은 종래의 방법들의 이러한 단점들 중 하나 이상을 해결할 수 있다. 일부 실시예들에서, 본 개시의 양태들은 콘텐츠 아이템에서 특징이 되고/되거나 콘텐츠 아이템에 포함된 제품들의 자동화된 식별을 가능하게 할 수 있다. 일부 실시예들에서, 본 개시의 양태들은 콘텐츠 아이템과 연관된 텍스트로부터 제품들을 식별하기 위한 모델의 사용을 가능하게 할 수 있다. 텍스트는 콘텐츠 아이템의 제목, 콘텐츠 아이템에 대한 설명, 콘텐츠 아이템과 연관된 캡션들 등을 포함할 수 있다. 캡션들은 예를 들어, 비디오 또는 오디오 콘텐츠 아이템에 대한 음성-텍스트 모델에 의해 생성되는 머신 생성 캡션들일 수 있다. 모델은 머신 러닝 모델일 수 있다. 모델은 콘텐츠 아이템이 제품을 포함할 가능성을 나타내는 신뢰도 값을 출력할 수 있다.
일부 실시예들에서, 본 개시의 양태들은 콘텐츠 아이템의 이미지들로부터 제품들을 식별하기 위한 모델의 사용을 가능하게 할 수 있다. 콘텐츠 아이템은 사진일 수 있거나 이를 포함할 수 있다. 콘텐츠 아이템은 비디오일 수 있거나 이를 포함할 수 있다. 콘텐츠 아이템의 하나 이상의 이미지들은 이미지들로부터 제품들을 식별하도록 구성된 모델에 제공될 수 있다. 모델은 이미지의 차원성을 감소시킬 수 있다. 모델은 제품들과 연관된 유사한 이미지들을 검색할 수 있다. 모델은 차원이 감소된 공간에서 유사한 차원적으로 감소된 이미지들을 검색할 수 있다. 모델은 머신 러닝 모델일 수 있다. 모델은 콘텐츠 아이템이 제품을 포함할 가능성을 나타내는 신뢰도 값을 출력할 수 있다.
일부 실시예들에서, 본 개시의 양태들은 콘텐츠 아이템에 제품이 포함되는지 여부를 알아내기 위해 모델(예를 들어, 융합 모델)의 사용을 가능하게 한다. 융합 모델은 입력으로서 콘텐츠 아이템과 연관된 텍스트를 수신하는 모델에 의해 검출된 하나 이상의 제품들의 표시들을 수신할 수 있다. 융합 모델은 텍스트에 하나 이상의 제품들이 포함된다는 신뢰도 값의 표시들을 수신할 수 있다. 융합 모델은 입력으로서 콘텐츠 아이템의 이미지들을 수신하는 모델에 의해 검출된 하나 이상의 제품들의 표시들을 수신할 수 있다. 융합 모델은 이미지들에 하나 이상의 제품들이 포함된다는 신뢰도 값의 표시들을 수신할 수 있다. 융합 모델은 콘텐츠 아이템 및 연관된 데이터(예를 들어, 제목, 설명 등)에서 하나 이상의 제품들이 나타난다는 신뢰도를 결정할 수 있다. 융합 모델은 머신 러닝 모델일 수 있다.
일부 실시예들에서, 제품 검출은 콘텐츠 또는 연관된 정보(예를 들어, 설명, 캡션들)를 개선하기 위해 이용될 수 있다. 모델에는 콘텐츠 아이템과 연관된 데이터가 제공될 수 있다. 예를 들어, 모델에는 콘텐츠 아이템의 머신 생성 캡션들이 제공될 수 있다. 모델은 제품명들의 잘못된 표현들일 수 있는 하나 이상의 캡션들을 식별할 수 있다(예를 들어, 머신 생성 캡션들은 언급된 제품명과 동등한 가장 가까운 영어를 포함할 수 있음). 모델에는 콘텐츠 아이템의 하나 이상의 이미지들이 제공될 수 있다. 모델은 이미지들에 하나 이상의 제품들이 포함될 가능성을 결정할 수 있다. 콘텐츠 아이템과 연관된 정보(예를 들어, 메타데이터, 설명, 캡션들 등)는 하나 이상의 검출된 제품들을 고려하여 업데이트될 수 있다.
일부 실시예들에서, 본 개시의 양태들은 하나 이상의 연관된 제품들을 갖는 콘텐츠 아이템의 표시자를 가능하게 한다. 콘텐츠 아이템들의 리스트는 리스트 내의 콘텐츠 아이템들 중 하나 이상이 연관된 제품들을 포함한다는 하나 이상의 표시자들을 포함할 수 있다. 표시자는 시각적 표시자(예를 들어, 콘텐츠 아이템과 연관하여 디스플레이된 하나 이상의 제품들을 나타내는 "쇼핑" 심볼 또는 텍스트), 추가 필드(예를 들어, 제품 정보를 포함하는 패널) 등을 포함할 수 있다. 일부 실시예들에서, 콘텐츠 아이템들의 리스트는 사용자 인터페이스(UI)를 통해 사용자에게 제시될 수 있다. UI 엘리먼트는 콘텐츠 플랫폼과 연관될 수 있다(예를 들어, 콘텐츠 제공 플랫폼과 연관된 애플리케이션을 통해 제시될 수 있음). UI는 콘텐츠 아이템이 하나 이상의 제품들과 연관되어 있음을 나타내는 엘리먼트를 포함할 수 있다. 일부 실시예들에서, UI 엘리먼트와의 사용자 상호작용은 추가적인 정보, 예를 들어, 콘텐츠 아이템과 연관된 제품들의 리스트를 갖는 추가 UI 엘리먼트의 제시를 야기할 수 있다.
일부 실시예들에서, 본 개시의 양태들은 콘텐츠 아이템과 연관된 제품들의 사용자에 의한 식별을 가능하게 한다. 일부 실시예들에서, 사용자에게 제시할 콘텐츠 아이템들의 리스트는 하나 이상의 콘텐츠 아이템들과 연관된 제품들의 리스트를 포함할 수 있다. 예를 들어, 콘텐츠 아이템들의 리스트가 UI를 통해 사용자에게 디스플레이될 수 있다. UI는 콘텐츠 아이템과 연관된 하나 이상의 제품들을 사용자에게 제시하는 하나 이상의 UI 엘리먼트들을 포함할 수 있다. UI 엘리먼트들은 콘텐츠 아이템의 콘텐츠 제공 플랫폼과 연관된 애플리케이션을 통해 제공될 수 있다. 일부 실시예들에서, 콘텐츠 아이템과 연관된 제품들을 리스팅하는 UI 엘리먼트는 콘텐츠 아이템이 연관된 제품들을 갖는다는 것을 나타내는 UI 엘리먼트와의 사용자 상호작용을 검출하는 것에 응답하여 제시될 수 있다. 일부 실시예들에서, 제품들의 리스트의 제품과의 사용자 상호작용은 UI가 사용자에게 추가적인 정보를 제시하게 할 수 있다.
일부 실시예들에서, 본 개시의 양태들은 사용자에게 콘텐츠 아이템과 연관된 하나 이상의 제품들에 관한 추가적인 정보를 제공하는 것을 가능하게 한다. 제품에 관한 추가적인 정보를 제공하는 UI 엘리먼트가 사용자에게 제공될 수 있다. UI 엘리먼트는 제품의 변형(예를 들어, 색상 변형, 크기 변형 등), 관련된 제품, 가용성 및/또는 가격(예를 들어, 하나 이상의 판매자들과 연관됨) 등과 같은 정보를 제공할 수 있다. UI 엘리먼트는 콘텐츠 아이템과 연관된 애플리케이션, 콘텐츠 제공 플랫폼 등을 통해 제공될 수 있다. 추가적인 제품 정보를 디스플레이하는 UI 엘리먼트는 다른 UI 엘리먼트와의 사용자 상호작용, 예를 들어, 보기 위한 콘텐츠 아이템을 선택하는 것, 하나 이상의 연관된 제품들을 나타내는 UI 엘리먼트를 선택하는 것 등에 응답하여 제시될 수 있다. 일부 실시예들에서, UI 엘리먼트와의 사용자 상호작용 시, 예를 들어, 제품 구매를 가능하게 하기 위해 추가 UI 엘리먼트가 제공될 수 있다.
일부 실시예들에서, 본 개시의 양태들은 콘텐츠 아이템과 연관된 하나 이상의 제품들에 연결된 정보의 자동 업데이트를 가능하게 한다. 일부 실시예들에서, 콘텐츠 아이템과 연관된 콘텐츠 제공 플랫폼은 제품 데이터를 포함하는 하나 이상의 메모리 디바이스들을 포함하며, 이들과 통신하며, 이에 연결되는 등일 수 있다. 예를 들어, 콘텐츠 플랫폼은 제품들과 연관된 정보의 데이터베이스를 유지 및 업데이트할 수 있고, 데이터베이스에 대한 변경이 사용자에게 제시되는 UI 엘리먼트에 반영될 수 있다.
일부 실시예들에서, 본 개시의 양태들은 사용자의 간략화된 구매 절차를 가능하게 한다. 제품을 구매하려는 사용자의 의도의 표시를 수신 시(예를 들어, 제품과 연관된 UI 엘리먼트와의 사용자 상호작용 시), 제품 구매를 가능하게 하기 위해 UI 엘리먼트가 사용자에게 제시될 수 있다. 일부 실시예들에서, 사용자는 콘텐츠 아이템과 연관된 애플리케이션, 콘텐츠 제공 플랫폼 등을 통해 제품을 구매할 수 있다. 일부 실시예들에서, 사용자는 제품을 구매하기 위해 하나 이상의 외부 판매자들(예를 들어, 판매자 애플리케이션들, 판매자 웹페이지들 등)로 디렉팅될 수 있다.
일부 실시예들에서, 제품들과 연관된 UI 엘리먼트들은 애플리케이션(예를 들어, 콘텐츠 플랫폼과 연관된 애플리케이션)의 다양한 동작들에 응답하여 제공될 수 있다. 제품들과 연관된 UI 엘리먼트는 사용자에 맞춤화된, 예를 들어, 사용자와 연관된 사용자 계정에 맞춤화된 콘텐츠 아이템들의 리스트의 일부로서 제공될 수 있다. 제품들과 연관된 UI 엘리먼트는 이전에 제시된 콘텐츠 아이템과 관련된 콘텐츠 시간들의 리스트, 예를 들어, 다음 시청 리스트, 추천 비디오 리스트 등의 일부로서 제공될 수 있다. 제품들과 연관된 UI 엘리먼트는 사용자 검색에 응답하여 생성된 콘텐츠 아이템들의 리스트의 일부로서 제공될 수 있다. 제품들과 연관된 UI 엘리먼트는 제품 특유의 리스트, 예를 들어, 콘텐츠 플랫폼과 연관된 애플리케이션의 쇼핑 섹션의 일부로서 제공될 수 있다. 제품들과 연관된 UI 엘리먼트, 제품들과 연관된 콘텐츠 아이템, 제품들과 연관된 UI 엘리먼트들 또는 콘텐츠 아이템들의 수 등의 포함은 다수의 메트릭들에 기초할 수 있다. 메트릭들은 사용자 시청 이력, 사용자 검색 이력 등을 포함할 수 있다.
일부 실시예들에서, 본 개시의 양태들은 제품에 관련된 콘텐츠 아이템의 하나 이상의 부분들에 대한 신속한 액세스를 가능하게 할 수 있다. 예를 들어, UI 엘리먼트는 콘텐츠 아이템과 연관된 제품들의 리스트를 포함할 수 있다. 제품들의 리스트 중 하나 이상은 콘텐츠 아이템의 일부분, 예를 들어, 비디오 콘텐츠 아이템의 타임 스탬프와 연관될 수 있다. 제품과 관련된 UI 엘리먼트의 일부분과의 상호작용 시, 콘텐츠 아이템은 콘텐츠 아이템의 관련 부분을 제시할 수 있다(예를 들어, 비디오는 콘텐츠 아이템과 연관된 비디오의 일부분을 재생하기 시작할 수 있음). 일부 실시예들에서, 콘텐츠 아이템과 연관된 제품들의 리스트는 콘텐츠 아이템이 제시됨에 따라 업데이트될 수 있다. 예를 들어, 비디오와 연관된 제품들의 리스트는 비디오가 재생됨에 따라 재배열될 수 있다. 예를 들어, 비디오에 의해 현재 하이라이트된 제품은 제품들의 리스트의 위에 있을 수 있으며, 현재 스크린 상에 있는 제품들은 제품 제시 UI 엘리먼트에서 함께 그룹화될 수 있는 등이다.
본 개시의 양태들은 이전의 솔루션들에 비한 기술적 장점들을 제공할 수 있다. 본 개시의 양태들은 콘텐츠 아이템들에서 자동 제품 검출을 가능하게 할 수 있다. 이는 하나 이상의 제품들을 콘텐츠 아이템과 자동으로 연관시킴(예를 들어, 제작자로부터 제품들을 콘텐츠 아이템과 연관시키는 부담을 제거함)으로써 콘텐츠 제작자의 경험을 개선할 수 있다. 자동으로 생성된 제품 연관성은 다수의 소스들(예를 들어, 제품들에 대한 텍스트 및 이미지 검색), 융합 모델 등의 사용으로 인해, 개선된 정확도를 가질 수 있다. 모델 기반 제품 검출은 콘텐츠 아이템, 연관된 데이터 등을 개선하기 위해 이용될 수 있으며, 예를 들어, 객체 검출을 이용하는 것은 콘텐츠 아이템들의 머신 생성 캡션들 또는 설명을 개선할 수 있다. 보다 정확한 캡션들은 콘텐츠 아이템을 소비하는 것에 있어서의 사용자의 경험을 개선할 수 있다. 이러한 개선점들은 콘텐츠 제작자가 정확한 콘텐츠를 생성하는 데 필요한 시간을 감소시킬 수 있으며, 사용자가 관심을 갖는 콘텐츠 아이템들 및/또는 제품들을 발견하는 데 사용자에 의해 소요되는 시간을 감소시킬 수 있으며, 콘텐츠 아이템과 연관된 머신 생성 정보의 정확도를 증가시킬 수 있는 등이다. 따라서, 콘텐츠 제작자, 콘텐츠 뷰어 및/또는 플랫폼과 연관된 클라이언트 디바이스에서의 컴퓨팅 자원들이 감소되고 다른 프로세스들에 대해 이용가능하며, 이는 전체 효율성을 증가시키고 시스템에 대한 전체 레이턴시를 감소시킨다.
본 개시의 양태들은 콘텐츠 아이템들을 검색하며, 콘텐츠 아이템들을 보며, 콘텐츠 아이템들의 리스트를 스크롤하는 등을 하면서 사용자의 경험을 개선할 수 있다. 사용자는 예를 들어, 콘텐츠 아이템이 제시되지 않고서, 콘텐츠 아이템들의 리스트로부터 연관된 제품들을 갖는 콘텐츠 아이템들을 식별할 수 있다. 사용자는 콘텐츠 아이템과 연관된 제품들과의 연대를 증가시키기 위한 끊김없는 방법을 제공받을 수 있으며, 예를 들어, 콘텐츠 아이템과 연관된 제품들이 있다는 것을 나타내는 UI 엘리먼트와의 상호작용이 하나 이상의 제품들에 관한 추가 정보를 갖는 콘텐츠 아이템의 제시를 야기할 수 있으며, 추가 상호작용은 하나 이상의 제품들의 구매를 가능하게 할 수 있는 등이다. 하나 이상의 UI 엘리먼트들의 제시는 사용자의 경험을 능률화할 수 있다. 사용자는 예를 들어, 콘텐츠 플랫폼/콘텐츠 아이템과 연관된 애플리케이션 내에서, 추가적인 정보를 쉽게 검색할 수 있을 수 있다. 사용자는 콘텐츠 아이템과 연관된 제품을 보다 쉽게 구매할 수 있을 수 있다. 사용자는 콘텐츠 아이템과 연관된 제품에 대한 관심 표현에 기초하여 콘텐츠 아이템의 관련 부분으로 디렉팅될 수 있다. 사용자는 단일 애플리케이션의 콘텍스트 내에서 가격 정보, 가용성 정보, 제품 변형, 관련 제품 등을 쉽게 볼 수 있을 수 있다. 이러한 구현예들은 사용자 시간 및 불만을 줄일 수 있으며, 쇼핑 및/또는 구매 프로세스를 간략화할 수 있으며, 제품 조사, 리뷰, 및/또는 선택 프로세스를 간략화할 수 있는 등이다.
도 1은 일부 실시예들에 따른, 콘텐츠 및 연관된 제품 정보를 제공하기 위한 예시적인 시스템 아키텍처(100)를 예시한다. 시스템 아키텍처(100)는 클라이언트 디바이스(110), 하나 이상의 네트워크들(105), 콘텐츠 플랫폼 시스템(102), 및 제품 식별 시스템(175)을 포함한다. 콘텐츠 플랫폼 시스템(102)은 하나 이상의 서버 머신들(106), 하나 이상의 데이터 저장소들(140)을 포함하고, 작업들(예를 들어, 콘텐츠 전달과 연관된 작업들)을 수행하는 것을 타겟으로 하는 다양한 플랫폼들을 포함할 수 있다. 콘텐츠 플랫폼 시스템(102)의 플랫폼들은 하나 이상의 서버 머신들(106)에 의해 호스팅될 수 있다. 콘텐츠 플랫폼 시스템(102)의 플랫폼들은 하나 이상의 컴퓨팅 디바이스들(이를테면, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등) 및 하나 이상의 데이터 저장소들(예를 들어, 하드 디스크들, 메모리들, 및 데이터베이스들)을 포함하고/하거나 이들 상에서 호스팅될 수 있고, 하나 이상의 네트워크들(105)에 결합될 수 있다. 일부 실시예들에서, 콘텐츠 플랫폼 시스템(102)의 컴포넌트들(예를 들어, 서버 머신들(106), 데이터 저장소들(140), 하나 이상의 플랫폼들과 연관된 하드웨어 등)은 하나 이상의 네트워크들(105)에 직접 연결될 수 있다. 일부 실시예들에서, 콘텐츠 플랫폼 시스템(102)의 하나 이상의 컴포넌트들은 다른 디바이스, 예를 들어, 허브, 스위치 등을 통해 네트워크들(105)에 액세스할 수 있다. 일부 실시예들에서, 콘텐츠 플랫폼 시스템(102)의 하나 이상의 컴포넌트들은 도 1에서 도시된 다른 컴포넌트들, 예를 들어, 서버 머신들(170 및/또는 180)과 같은 제품 식별 시스템(175)의 컴포넌트들과 직접 통신할 수 있다. 데이터 저장소(140)는 하나 이상의 서버 머신들(106)에 포함되며, 외부 데이터 저장소를 포함하는 등일 수 있다. 콘텐츠 플랫폼 시스템(102)의 플랫폼들은 광고 플랫폼(165), 소셜 네트워크 플랫폼(160), 추천 플랫폼(157), 검색 플랫폼(145), 및 콘텐츠 제공 플랫폼(120)을 포함할 수 있다. 제품 식별 시스템(175)은 서버 머신(170), 서버 머신(180), 및 모델들의 세트(190)를 포함한다. 제품 식별 시스템(175)은 추가 디바이스들, 예를 들어, 데이터 저장소들, 추가 서버들 등을 포함할 수 있다. 제품 식별 시스템(175)의 다수의 동작들은 단일 물리적 또는 가상 디바이스에 의해 수행될 수 있다.
하나 이상의 네트워크들(105)은 하나 이상의 공중 네트워크들(예를 들어, 인터넷), 하나 이상의 사설 네트워크들(예를 들어, LAN(local area network), WAN(wide area network), 하나 이상의 유선 네트워크들(예를 들어, 이더넷 네트워크), 하나 이상의 무선 네트워크들(예를 들어, 802.11 네트워크), 하나 이상의 셀룰러 네트워크들(예를 들어, LTE(Long Term Evolution) 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들, 및/또는 이들의 조합을 포함할 수 있다. 일 구현예에서, 아키텍처(100)의 일부 컴포넌트들은 서로 직접 연결되지 않는다. 일 구현예에서, 시스템 아키텍처(100)는 별개의 네트워크들(105)을 포함한다.
하나 이상의 데이터 저장소들(140)은 메모리(예를 들어, 랜덤 액세스 메모리), 캐시, 드라이브들(예를 들어, 하드 드라이브), 플래시 드라이브 등을 포함할 수 있고, 하나 이상의 데이터베이스 시스템들, 하나 이상의 파일 시스템들, 또는 데이터를 저장할 수 있는 다른 유형의 컴포넌트 또는 디바이스의 일부일 수 있다. 하나 이상의 데이터 저장소들(140)은, 또한 다수의 컴퓨팅 디바이스들(예를 들어, 다수의 서버 컴퓨터들)에 걸쳐 있을 수 있는 다수의 저장 컴포넌트들(예를 들어, 다수의 드라이브들 또는 다수의 데이터베이스들)을 포함할 수 있다. 데이터 저장소는 데이터를 저장할 수 있는 영구 저장소일 수 있다. 영구 저장소는 로컬 저장 유닛 또는 원격 저장 유닛, 전자 저장 유닛(예를 들어, 메인 메모리), 또는 유사한 저장 유닛일 수 있다. 영구 저장소는 모놀리식 디바이스 또는 디바이스들의 분산 세트일 수 있다.
콘텐츠 아이템들(121A-C)(예를 들어, 미디어 콘텐츠 아이템들)은 하나 이상의 데이터 저장소들 상에 저장될 수 있다. 데이터 저장소들은 하나 이상의 플랫폼들의 일부일 수 있다. 콘텐츠 아이템(121)의 예들은 디지털 비디오, 디지털 영화, 애니메이션화된 이미지, 디지털 사진, 디지털 음악, 디지털 오디오, 디지털 비디오 게임, 협업 미디어 콘텐츠 제시, 웹사이트 콘텐츠, 소셜 미디어 업데이트, 전자 책, 전자 저널, 디지털 오디오 북, 웹 블로그, 소프트웨어 애플리케이션 등을 포함할 수 있지만, 이에 제한되는 것은 아니다. 콘텐츠 아이템들(121A-C)은 또한 미디어 아이템들로도 지칭될 수 있다. 콘텐츠 아이템들(121A-C)은 미리 레코딩되거나 라이브 스트리밍될 수 있다. 간결화 및 간략화를 위해, 비디오가 본 문서 전체에 걸쳐 콘텐츠 아이템(121)(예를 들어, 콘텐츠 아이템(121A))의 예로서 사용될 수 있다. 비디오는 미리 레코딩된 비디오, 라이브 스트리밍되는 비디오, 숏폼 비디오 등을 포함할 수 있다.
콘텐츠 아이템들(121A-C)은 콘텐츠 제공자들에 의해 제공될 수 있다. 콘텐츠 제공자는 사용자, 회사, 조직 등일 수 있다. 콘텐츠 제공자는 비디오인 콘텐츠 아이템(121)(예를 들어, 콘텐츠 아이템(121A))을 제공할 수 있다. 콘텐츠 제공자는 라이브 스트리밍되는 콘텐츠를 포함하는 콘텐츠 아이템(121)을 제공할 수 있으며, 예를 들어, 콘텐츠 아이템(121)은 라이브 스트리밍되는 비디오, 비디오와 연관된 라이브 챗 등을 포함할 수 있다.
클라이언트 디바이스(110)는 텔레비전, 스마트 폰, 개인용 휴대 정보 단말기, 휴대용 미디어 플레이어, 전자 책 리더, 태블릿 컴퓨터, 데스크탑 컴퓨터, 게이밍 콘솔, 셋탑 박스 등을 포함할 수 있다.
클라이언트 디바이스(110)는 통신 애플리케이션(115)을 포함할 수 있다. 콘텐츠 아이템(121)(예를 들어, 콘텐츠 아이템(121A))은 통신 애플리케이션(115)을 통해 사용자에 의해 소비될 수 있다. 예를 들어, 통신 애플리케이션(115)은 사용자에게 콘텐츠 아이템(121)을 제공하기 위해 클라이언트 디바이스(110)의 하드웨어를 통해 하나 이상의 네트워크들(105)(예를 들어, 인터넷)에 액세스할 수 있다. 본 명세서에서 사용될 때, "미디어", "미디어 아이템", "온라인 미디어 아이템", "디지털 미디어", "디지털 미디어 아이템", "콘텐츠", "미디어 콘텐츠 아이템", 및 "콘텐츠 아이템"은 콘텐츠 아이템을 제시하도록 구성된 소프트웨어, 펌웨어, 및/또는 하드웨어를 사용하여 실행 또는 로딩될 수 있는 전자 파일을 포함할 수 있다. 일 구현예에서, 통신 애플리케이션(115)은 사용자들이 플랫폼(예를 들어, 콘텐츠 제공 플랫폼(120), 추천 플랫폼(157), 소셜 네트워크 플랫폼(160), 및/또는 검색 플랫폼(145)) 및/또는 플랫폼들 및/또는 네트워크들의 조합을 통해 콘텐츠 아이템들(121)(예를 들어, 비디오들)을 구성, 전송, 및 수신할 수 있게 하는 애플리케이션일 수 있다.
일부 실시예들에서, 통신 애플리케이션(115)은 소셜 네트워킹 애플리케이션, 비디오 공유 애플리케이션, 비디오 스트리밍 애플리케이션, 비디오 게임 스트리밍 애플리케이션, 사진 공유 애플리케이션, 챗 애플리케이션, 또는 이러한 애플리케이션들의 조합일 수 있다(또는 이들의 양태들을 포함할 수 있다). 클라이언트 디바이스(110)와 연관된 통신 애플리케이션(115)은 하나 이상의 사용자들에게 하나 이상의 콘텐츠 아이템들(121)을 렌더링, 디스플레이, 제시 및/또는 재생할 수 있다. 예를 들어, 통신 애플리케이션들(115)은 비디오 콘텐츠를 수신 및/또는 재생하기 위해 엔드포인트 디바이스(110) 상에 디스플레이될 사용자 인터페이스들(116)(예를 들어, 그래픽 사용자 인터페이스)을 제공할 수 있다. 일부 실시예들에서, 통신 애플리케이션(115)은 콘텐츠 플랫폼(102) 또는 콘텐츠 제공 플랫폼(120)과 연관된다(그리고 이에 의해 관리된다).
일부 실시예들에서, 통신 애플리케이션(115)은 콘텐츠 뷰어(113) 및 관련 제품 컴포넌트(114)를 포함할 수 있다. 사용자 인터페이스(116)(UI)는 콘텐츠 뷰어(113) 및 관련 제품 컴포넌트(114)를 디스플레이할 수 있다. 관련 제품 컴포넌트(114)는 하나 이상의 제품들(예를 들어, 콘텐츠 아이템과 연관된 하나 이상의 제품들)에 관한 정보를 디스플레이하는 UI 엘리먼트를 디스플레이하기 위해 사용될 수 있다. 관련 제품 컴포넌트(114)는 콘텐츠 아이템이 하나 이상의 연관된 제품들을 갖는다는 것을 사용자에게 알리도록 UI 엘리먼트를 디스플레이할 수 있다(예를 들어, 관련 제품 컴포넌트(114)는 콘텐츠 뷰어(113)에 근접하게 디스플레이되는 "쇼핑" 심볼의 디스플레이를 야기할 수 있으며, 관련 제품 컴포넌트(114)는 콘텐츠 아이템들의 리스트로부터 제시할 콘텐츠 아이템을 선택하기 위한 엘리먼트에 근접하게 엘리먼트가 디스플레이되게 하고, 콘텐츠 아이템이 하나 이상의 연관된 제품들을 갖는다는 것을 나타낼 수 있는 등이다). 관련 제품 컴포넌트(114)는 UI가 콘텐츠 아이템과 연관된 하나 이상의 제품들에 관한 정보를 디스플레이하게 할 수 있다(예를 들어, 관련 제품 컴포넌트(114)는 콘텐츠 아이템과 연관된 제품들의 리스트를 포함할 수 있는 UI의 디스플레이를 야기할 수 있으며, 콘텐츠 아이템과 연관된 제품들의 이미지들을 포함할 수 있으며, 가격 정보 또는 제품과 관련된 비디오의 일부분의 타임 스탬프와 같은 콘텐츠 아이템에 제품을 연결하는 정보를 포함할 수 있는 등이다). 관련 제품 컴포넌트(114)는 UI 엘리먼트가 하나 이상의 제품들, 예를 들어, 제품의 변형(예를 들어, 색상 변형, 크기 변형 등), 관련 제품들, 추천 제품들 등에 관한 추가적인 정보를 디스플레이하게 할 수 있다. 관련 제품 컴포넌트(114)는 UI 엘리먼트가 하나 이상의 제품들을 구매하기 위한 하나 이상의 옵션들을 디스플레이하게 할 수 있을 수 있다. 일부 실시예들에서, 사용자는 관련 제품 컴포넌트(114)에 의해 제공되는 상이한 뷰들 사이를 내비게이트할 수 있다. 콘텐츠 아이템과 연관된 제품들과 연관된 예시적인 UI 엘리먼트들의 추가 설명은 도 4a 내지 도 4e와 관련하여 찾아볼 수 있다. 일부 실시예들에서, 관련 제품 컴포넌트(114)는 예를 들어, 연관된 제품들을 갖는 하나보다 많은 콘텐츠 아이템이 디스플레이되는 경우, 하나보다 많은 UI 엘리먼트가 디스플레이되게 할 수 있다. 일부 실시예들에서, 관련 제품 컴포넌트(114)는 예를 들어, 사용자 설정들, 사용자 선호도, 사용자 이력 등에 기초하여, 관련 제품들을 나타내는 UI 엘리먼트가 디스플레이되지 않게 할 수 있다. 일부 실시예들에서, 다수의 콘텐츠 뷰어들(113) 및/또는 관련 제품 컴포넌트들(114)은 하나의 사용자 인터페이스, 통신 애플리케이션, 클라이언트 디바이스 등과 연관될 수 있다. 예를 들어, 다수의 콘텐츠 아이템들이 한 번에 사용자에 대해 디스플레이될 수 있다. 일부 구현예들에서, 통신 애플리케이션(115)은 콘텐츠(예를 들어, 웹 페이지 이를테면 HTML(Hyper Text Markup Language) 페이지, 디지털 미디어 아이템 등)에 액세스, 검색, 제시, 및/또는 내비게이트할 수 있는 웹 브라우저이고, 관련 제품 컴포넌트(114) 및 콘텐츠 뷰어(113)를 포함할 수 있으며, 이는 콘텐츠 제공 플랫폼(120)에 의해 제공되는 사용자 인터페이스(116)(예를 들어, 콘텐츠 뷰어와 연관된 웹 페이지)에 임베딩되는 임베딩된 미디어 플레이어일 수 있다. 대안적으로, 애플리케이션(115)은 웹 브라우저가 아니고, 플랫폼(예를 들어, 콘텐츠 제공 플랫폼(120), 추천 플랫폼(157), 소셜 네트워크 플랫폼(160), 또는 검색 플랫폼(145))으로부터 다운로드되거나 클라이언트 디바이스(110) 상에 사전 설치되는, 독립형 애플리케이션(예를 들어, 모바일 애플리케이션, 데스크탑 애플리케이션, 게이밍 콘솔 애플리케이션, 텔레비전 애플리케이션 등)이다. 독립형 애플리케이션(115)은 콘텐츠 뷰어(113)(예를 들어, 임베디드 미디어 플레이어) 및 관련 제품 컴포넌트(114)를 포함하는 사용자 인터페이스(116)를 제공할 수 있다.
일부 실시예들에서, 콘텐츠 플랫폼 시스템(102)은 제품 정보 플랫폼(161)(예를 들어, 서버 머신(106)에 의해 호스팅됨)을 포함할 수 있다. 제품 정보 플랫폼(161)은, 하나 이상의 콘텐츠 아이템들과 연관된 하나 이상의 제품들과 관련된 데이터를 저장, 검색, 제공, 검색 등을 할 수 있다. 콘텐츠 플랫폼 시스템(102)은 클라이언트 디바이스(110)의 관련 제품 컴포넌트(114)에 데이터를 제공할 수 있다. 제품 정보 플랫폼(161)은 콘텐츠 제작자에 의해 제공된 정보를 포함할 수 있으며, 예를 들어, 콘텐츠 제작자는 콘텐츠 제작자가 콘텐츠 플랫폼 시스템(102)에 제공한 콘텐츠 아이템과 연관된 제품들의 리스트를 제공할 수 있다. 제품 정보 플랫폼(161)은 하나 이상의 사용자들에 의해 제공된 정보를 포함할 수 있으며, 예를 들어, 하나 이상의 사용자들이 예를 들어, 콘텐츠 아이템이 자신에게 제시된 것에 응답하여, 콘텐츠 아이템과 연관된 제품들을 식별할 수 있다. 제품 정보 플랫폼(161)은 제품 식별 시스템(175)에 의해 제공된 정보를 포함할 수 있으며, 예를 들어, 콘텐츠 아이템에서 특징이 되는 제품들을 식별하고, 관련 제품들 및 콘텐츠 아이템들의 표시들을 제품 정보 플랫폼(161)에 제공하기 위해 하나 이상의 머신 러닝 모델들이 이용될 수 있다.
일부 실시예들에서, 클라이언트 디바이스들(110) 상에 설치된 통신 애플리케이션들(115)은 사용자 계정과 연관될 수 있으며, 예를 들어, 사용자가 클라이언트 디바이스(110) 상의 계정에 로그인될 수 있다. 일부 실시예들에서, 다수의 클라이언트 디바이스들(110)은 동일한 클라이언트 계정과 연관될 수 있다. 일부 실시예들에서, 하나 이상의 콘텐츠 아이템들과의 제품 연관성(들)에 관한 정보를 제공하는 것은 사용자 계정, 예를 들어, 계정 설정들, 계정 이력(예를 들어, 연관된 제품 정보를 포함하는 UI 엘리먼트들에 관여한 이력) 등에 따라 수행될 수 있다.
일부 실시예들에서, 클라이언트 디바이스들(110)은 하나 이상의 데이터 저장소들을 포함할 수 있다. 데이터 저장소들은 UI(예를 들어, 사용자 인터페이스(116))를 렌더링하기 위한 커맨드들(예를 들어, 프로세싱 디바이스에 의해 실행될 때 동작들을 야기하는 명령어들)을 포함할 수 있다. 명령어들은 대화형 컴포넌트를 렌더링하기 위한 명령어들, 예를 들어, 콘텐츠 아이템과 연관된 하나 이상의 제품들에 관한 추가적인 정보를 제시받기 위해 사용자가 상호작용할 수 있는 UI 엘리먼트를 포함할 수 있다. 일부 실시예들에서, 명령어들은 프로세싱 디바이스로 하여금 하나 이상의 콘텐츠 아이템들과 연관된 하나 이상의 제품들에 관한 정보를 제시하는 UI 엘리먼트를 렌더링하게 할 수 있다(예를 들어, 사용자가 관심 있는 제품을 리뷰하는 다수의 비디오들이 제품에 관한 보다 많은 정보를 제시하는 UI 엘리먼트와 제시될 수 있음).
일부 실시예들에서, 하나 이상의 서버 머신들(106)은 컴퓨팅 디바이스 이를테면 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등을 포함할 수 있고, 하나 이상의 네트워크들(105)에 결합될 수 있다. 서버 머신들(106)은 독립적인 디바이스들 또는 플랫폼들 중 임의의 플랫폼(예를 들어, 콘텐츠 제공 플랫폼(120), 소셜 네트워크 플랫폼(160) 등)의 일부일 수 있다.
소셜 네트워크 플랫폼(160)은 온라인 소셜 네트워킹 서비스를 제공할 수 있다. 소셜 네트워킹 플랫폼(160)은 사용자들이 프로필들을 생성하고 자신들의 프로필들로 활동들을 수행하도록 통신 애플리케이션(115)을 제공할 수 있다. 활동들은 프로필을 업데이트하는 것, 다른 사용자들과 메시지들을 교환하는 것, 상태 업데이트, 사진, 비디오 등을 평가하는 것(예를 들어, 좋아요, 코멘트, 공유, 추천), 및 다른 사용자들의 활동과 연관된 알림들을 수신하는 것을 포함할 수 있다. 일부 실시예들에서, (예를 들어, 제품 정보 플랫폼(161)에 의해 제공되는) 추가적인 제품 정보는 소셜 네트워크 플랫폼(160)을 통해 사용자에 의해 하나 이상의 추가적인 사용자들과 공유될 수 있다.
추천 플랫폼(157)은 콘텐츠 추천(예를 들어, 기사, 비디오, 포스트, 뉴스, 게임 등)을 생성 및 제공하기 위해 사용될 수 있다. 추천은 검색 이력, 콘텐츠 소비 이력, 팔로우된/구독된 채널 콘텐츠, 링크된 프로필들(예를 들어, 친구 리스트들), 인기 콘텐츠 등에 기초할 수 있다. 추천 플랫폼(157)은 예를 들어, 사용자 홈 피드, 사용자 시청 리스트, 사용자 플레이리스트 등을 생성하기 위해 이용될 수 있다. 연관된 제품들의 리스트를 디스플레이하며, 제품 정보를 제시하며, 제품을 구매하기 위한 하나 이상의 옵션들을 제시하는 등의, 연관된 제품들을 나타내는 하나 이상의 UI 엘리먼트들은 홈 피드, 시청 리스트, 플레이리스트, 다음 시청 리스트 등과 조합하여, 이의 일부로서, 이와 연관하여, 이로부터 액세스가능한 등으로 제시될 수 있다. 하나 이상의 UI 엘리먼트들의 제시는 사용자 이력, 사용자 설정들, 사용자의 선호도를 나타내는 데이터(예를 들어, 인구통계학적 데이터) 등에 기초하여 수행될 수 있다.
검색(search) 플랫폼(145)은 사용자들이 하나 이상의 데이터 저장소들(140) 및/또는 하나 이상의 플랫폼들을 질의하고 질의 결과들을 수신할 수 있게 하기 위해 사용될 수 있다. 검색 플랫폼(145)은 콘텐츠 아이템을 검색하거나, 토픽을 검색하는 등을 위해 사용자에 의해 이용될 수 있다. 예를 들어, 검색 플랫폼(145)은 하나 이상의 연관된 제품들을 갖는 콘텐츠 아이템을 검색하기 위해 사용자에 의해 이용될 수 있다. 검색 플랫폼(145)은 제품의 유형과 관련된 콘텐츠 아이템들(예를 들어, 헤드폰 리뷰 비디오들)을 검색하기 위해 이용될 수 있다. 검색 플랫폼(145)은 특정 제품(예를 들어, 헤드폰들의 특정 제조사 및/또는 모델)과 관련된 콘텐츠 아이템들을 검색하기 위해 이용될 수 있다. 검색 질의를 수신하는 것에 응답하여 하나 이상의 UI 엘리먼트들이 사용자에게 디스플레이될 수 있다. 디스플레이된 UI 엘리먼트들의 유형, 스타일 등은 사용자의 검색의 콘텐츠에 기초할 수 있다. 예를 들어, 제품(예를 들어, 헤드폰들)의 유형과 관련된 콘텐츠에 대한 검색에 응답하여, 검색을 고려하여 제안되는 콘텐츠 아이템이 하나 이상의 연관된 제품들을 갖는다는 것을 나타내기 위해 UI 엘리먼트가 디스플레이될 수 있다. 추가 예로서, 보다 구체적인 제품(예를 들어, "팟캐스팅을 위한 최상의 헤드폰들")과 관련된 콘텐츠 아이템에 대한 검색에 응답하여, 콘텐츠 아이템과 연관된 제품들에 관한 정보를 제공하기 위해 상이한 UI 엘리먼트가 디스플레이될 수 있다. 추가 예로서, 특정 제품(예를 들어, 특정 제조사 및/또는 모델)과 관련된 콘텐츠 아이템에 대한 검색에 응답하여, 제품이 검색을 고려하여 추천되는 콘텐츠 아이템과 연관됨을 나타내는, 검색된 제품에 관한 특정 정보를 제공하기 위해 상이한 UI 엘리먼트가 디스플레이될 수 있다.
콘텐츠 제공 플랫폼(120)은 하나 이상의 사용자들에게 콘텐츠 아이템들(121)에 대한 액세스를 제공하고/하거나 하나 이상의 사용자들에게 콘텐츠 아이템들(121)을 제공하기 위해 사용될 수 있다. 예를 들어, 콘텐츠 제공 플랫폼(120)은 사용자들이 콘텐츠 아이템들(121)을 소비, 업로드, 다운로드, 및/또는 검색할 수 있게 할 수 있다. 다른 예에서, 콘텐츠 제공 플랫폼(120)은 콘텐츠 아이템들(121)을 평가(이를테면 사용자들이 콘텐츠 아이템들(121)에 대한 찬성("좋아요"), 반대, 추천, 공유, 비율 및/또는 코멘트)할 수 있게 할 수 있다. 다른 예에서, 콘텐츠 제공 플랫폼(120)은 사용자들이 콘텐츠 아이템들(121)을 편집할 수 있게 할 수 있다. 콘텐츠 제공 플랫폼(120)은 또한, 하나 이상의 사용자들에게 콘텐츠 아이템들(121)에 대한 액세스를 제공하기 위해 사용될 수 있는 웹사이트(예를 들어, 하나 이상의 웹페이지들) 및/또는 하나 이상의 애플리케이션들(예를 들어, 통신 애플리케이션들(115))을 포함할 수 있다. 예를 들어, 통신 애플리케이션(115)은 콘텐츠 아이템들(121)에 액세스하기 위해 클라이언트 디바이스(110)에 의해 사용될 수 있다. 콘텐츠 제공 플랫폼(120)은 콘텐츠 아이템들(121)에 대한 액세스를 제공하는 임의의 유형의 콘텐츠 전달 네트워크를 포함할 수 있다.
콘텐츠 제공 플랫폼(120)은 다수의 채널들(예를 들어, 채널 A(125), 채널 B(126) 등)을 포함할 수 있다. 채널은 공통 소스로부터 이용가능한 콘텐츠의 콜렉션, 공통 토픽 또는 테마를 갖는 콘텐츠의 콜렉션 등일 수 있다. 데이터 콘텐츠는 사용자에 의해 선택된 디지털 콘텐츠, 사용자에 의해 이용가능하게 된 디지털 콘텐츠, 사용자에 의해 업로드된 디지털 콘텐츠, 콘텐츠 제공자에 의해 선택된 디지털 콘텐츠, 브로드캐스터에 의해 선택된 디지털 콘텐츠 등일 수 있다. 예를 들어, 채널 A(125)는 두 개의 비디오들(예를 들어, 콘텐츠 아이템들(121A-B))를 포함할 수 있다. 채널은 소유자와 연관될 수 있으며, 소유자는 채널에 대해 액션들을 수행할 수 있는 사용자일 수 있다. 콘텐츠는 하나 이상의 콘텐츠 아이템들(121)일 수 있다. 채널들의 데이터 콘텐츠는 미리 레코딩된 콘텐츠, 라이브 콘텐츠 등일 수 있다. 채널들은 콘텐츠 제공 플랫폼의 일 구현예로서 설명되지만, 본 개시의 구현예들은 채널 모델을 통해 콘텐츠 아이템들(121)을 제공하는 콘텐츠 공유 플랫폼들로 제한되지 않는다.
제품 식별 시스템(175), 서버 머신(170), 및 서버 머신(180)은 각각, 하나 이상의 컴퓨팅 디바이스들, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, GPU(Graphics Processing Unit), 가속기 ASIC(Application-Specific Integrated Circuit)(예를 들어, TPU(Tensor Processing Unit)) 등을 포함할 수 있다. 예측 서버(112), 서버 머신(170), 서버 머신(180), 데이터 저장소(140) 등의 동작들은 클라우드 컴퓨팅 서비스, 클라우드 데이터 저장 서비스 등에 의해 수행될 수 있다.
제품 식별 시스템(175)은 하나 이상의 모델들(190)을 포함할 수 있다. 제품 식별 시스템(175)에 포함된 모델들(190)은 콘텐츠 아이템들로부터 하나 이상의 제품들을 식별하는 것과 관련된 작업들을 수행할 수 있다. 모델들(190) 중 하나 이상의 모델들은 트레이닝된 머신 러닝 모델들일 수 있다. 모델을 트레이닝, 검증(validating), 및 테스트하는 것을 포함하는 트레이닝된 머신 러닝 모델을 생성하는 동작들이 도 3a 및 도 5c와 관련하여 설명된다.
모델들(190)은 하나 이상의 텍스트 파싱 모델들(191)을 포함할 수 있다. 텍스트 파싱 모델들(191)은 입력 텍스트로서 수신하고 텍스트와 연관된 제품들의 하나 이상의 표시들을 출력으로서 생성하도록 구성될 수 있다. 예를 들어, 텍스트 파싱 모델들(191)의 제1 모델은 콘텐츠 아이템의 제목으로부터 연관된 제품들을 예측하도록 구성될 수 있으며, 텍스트 파싱 모델(191)의 제2 모델은 콘텐츠 아이템에 대한 (예를 들어, 쓰여진) 설명으로부터 연관된 제품들을 예측하도록 구성될 수 있으며, 제3 모델은 콘텐츠 아이템의 캡션들(예를 들어, 자동 생성 캡션들, 머신 생성 캡션들, 사용자 제공 캡션들 등)로부터 연관된 제품들을 예측하도록 구성될 수 있는 등이다. 일부 실시예들에서, 텍스트 파싱 모델들(191)의 모든 동작들은 단일 모델에 의해 수행될 수 있다. 일부 실시예들에서, 텍스트 파싱 모델들(191)의 모델은 출력 제품 콘텍스트 정보, 예를 들어, 콘텐츠 아이템이 하나 이상의 제품들과 연관되어 있음을 나타내는 정보를 생성하도록 구성될 수 있다. 예를 들어, 제품 콘텍스트 정보는, 콘텐츠 아이템이 제품들의 카테고리들, 예를 들어, 상이한 제품들의 그룹(예를 들어, 제품의 유형, 제품의 브랜드, "전자기기"와 같은 제품의 카테고리 등)을 포함한다는 것을 나타낼 수 있다.
모델들(190)은 하나 이상의 이미지 파싱 모델들(192)을 포함할 수 있다. 이미지 파싱 모델들(192)은 하나 이상의 이미지들로부터 제품들을 식별하도록 구성될 수 있다. 이미지 파싱 모델들(192)은 이미지가 제품들을 포함한다는 것을 식별하는 것에 관한 하나 이상의 모델들, 콘텐츠 아이템 이미지로부터 제품 이미지를 격리시키도록 구성된 모델들(예를 들어, 배경 엘리먼트 제거 등), 콘텐츠 아이템 이미지 내의 제품의 아이덴티티를 결정하도록 구성된 모델들 등을 포함할 수 있다. 이미지 파싱 모델들(192)의 동작들은 단일 모델에 의해 수행될 수 있다. 이미지 파싱 모델들(192)은 제품 식별 모델들에 이미지들을 제공하도록 구성된 하나 이상의 모델들을 포함할 수 있다. 예를 들어, 이미지 파싱 모델들(192)은 콘텐츠 아이템의 스틸 이미지의 일부분을 추출하도록 구성된 모델들, 비디오 콘텐츠 아이템의 하나 이상의 프레임들을 추출하도록 구성된 모델들 등을 포함할 수 있다. 이미지 파싱 모델들(192)의 모델에는 비디오의 하나 이상의 프레임들, 비디오의 하나 이상의 프레임들의 하나 이상의 부분들 등이 제공되고, 하나 이상의 제품들 및 하나 이상의 제품들과 연관된 하나 이상의 신뢰도 값들을 출력으로서 생성할 수 있다. 예를 들어, 이미지 파싱 모델들(192)의 모델은 비디오 콘텐츠 아이템의 하나 이상의 프레임들을 입력으로서 수신하고, 제품들이 콘텐츠 아이템의 이미지들에 포함될 가능성을 나타내는 신뢰도 값들과 제품들의 리스트를 출력으로서 생성할 수 있다. 이미지 파싱 모델들(192)은 콘텐츠 아이템으로부터 어느 이미지들을 이용할지를 결정하는 하나 이상의 모델들을 포함할 수 있다. 예를 들어, 이미지 파싱 모델들(192)은 이미지 식별을 위해 비디오 콘텐츠 아이템으로부터 프레임들을 선택하는 하나 이상의 모델들을 포함할 수 있다.
이미지 파싱 모델들(192)은 이미지의 차원성을 감소시키도록 구성된 하나 이상의 모델들을 포함할 수 있다. 예를 들어, 이미지는 값들의 벡터로 감소될 수 있다. 일부 실시예들에서, 이미지 파싱 모델들(192)의 하나 이상의 모델들은, 차원 감소 후에 유사한 이미지들(예를 들어, 동일한 제품의 이미지들)이 유사하게(예를 들어, 유사한 벡터들에 의해) 표현될 수 있도록 하는 방식으로 이미지의 차원성을 감소시키도록 구성될 수 있다. 이미지 파싱 모델(192)의 하나 이상의 모델들은 콘텐츠 아이템(예를 들어, 콘텐츠 아이템 비디오의 하나 이상의 프레임들로부터 생성된 값들의 벡터)으로부터의 차원성이 감소된 이미지를 (예를 들어, 제품 정보 플랫폼(161)을 통해) 알려진 제품의 차원성이 감소된 이미지와 비교하도록 구성될 수 있다.
모델들(190)은 텍스트 정정 모델들(193)을 포함할 수 있다. 텍스트 정정 모델들(193)은 콘텐츠 아이템과 연관된 텍스트에 정정사항들을 제공하도록 구성될 수 있다. 텍스트 정정 모델들(193)은 콘텐츠 아이템에서 참조되는 하나 이상의 제품들을 포함하도록 콘텐츠 아이템과 연관된 텍스트를 조정하도록 구성될 수 있다. 텍스트 정정 모델(193)의 하나 이상의 모델들은 콘텐츠 아이템과 연관된 컴퓨터 생성, 머신 생성, 자동 생성 등의 텍스트를 조정하도록 구성될 수 있다. 텍스트 정정 모델(193)의 하나 이상의 모델들은 하나 이상의 제품들을 포함하도록 비디오의 캡션들(예를 들어, 부정확한 캡션들)을 업데이트하도록 구성될 수 있다. 일부 실시예들에서, 콘텐츠 아이템과 연관된 머신 생성 텍스트(예를 들어, 캡션들)는 부정확할 수 있다. 예를 들어, 제품의 명칭이 캡션들의 생성 시 근사치로 대체될 수 있다(예를 들어, 제품의 명칭이 캡션들의 언어의 단어가 아닐 수 있으며, 제품의 명칭이 캡션들의 언어와 상이한 언어의 단어일 수 있는 등이다). 텍스트 정정 모델들(193)의 모델들은 부정확할 수 있는 텍스트의 부분들을 식별하고 정정사항들을 추천하고, 정정을 수행하고, 사용자 또는 다른 시스템에 알리는 것 등을 하도록 구성될 수 있다. 예를 들어, 텍스트 정정 모델들(193)의 모델은 비디오의 머신 생성 캡션들을 수신하고, 제품명에 대한 캡션들의 언어로 단어를 잘못 대체할 수 있는 캡션들의 일부분을 식별하며, 잠재적으로 부정확한 텍스트를 나타내는 데이터를 다른 모델, 시스템, 사용자에 제공하는 등일 수 있다.
모델들(190)은 융합 모델(194)을 포함할 수 있다. 융합 모델(194)은 콘텐츠 아이템과 연관된 제품들의 하나 이상의 표시들을 입력으로서 수신할 수 있다. 일부 실시예들에서, 융합 모델(194)은 하나 이상의 다른 모델들(예를 들어, 텍스트 파싱 모델들(191), 이미지 파싱 모델들(192) 등)로부터의 출력을 입력으로서 수신한다. 융합 모델(194)은 콘텐츠 아이템과 연관된, 제품들의 하나 이상의 표시들, 및 신뢰도 값들의 하나 이상의 표시들을 수신할 수 있다. 예를 들어, 융합 모델(194)은 콘텐츠 아이템의 제목에서 검출된 하나 이상의 제품들 및 하나 이상의 제품들과 연관된 신뢰도 값들의 표시를 수신할 수 있다. 융합 모델(194)은 콘텐츠 아이템에 대한 설명에서 검출되는 하나 이상의 제품들 및 하나 이상의 제품들과 연관된 신뢰도 값들의 표시를 더 수신할 수 있다. 융합 모델(194)은 콘텐츠 아이템의 캡션들에서 검출된 하나 이상의 제품들 및 하나 이상의 제품들과 연관된 신뢰도 값들의 표시를 더 수신할 수 있다. 융합 모델(19)은 콘텐츠 아이템의 이미지들에서 검출된 하나 이상의 제품들 및 하나 이상의 제품들과 연관된 신뢰도 값들의 표시를 더 수신할 수 있다. 융합 모델(195)은 콘텐츠 아이템과 연관하여 검출된 하나 이상의 제품들을 출력으로서 생성할 수 있다. 융합 모델(195)은 제품이 콘텐츠 아이템에서 나타나며, 콘텐츠 아이템과 연관되는 등의 신뢰도와 연관된 신뢰도 값을 더 생성할 수 있다. 융합 모델(195)의 출력(예를 들어, 제품 아이덴티티 정보 및 신뢰도 값들)에 기초하여 추가 동작들이 수행될 수 있다(예를 들어, 콘텐츠 아이템과 연관된 제품들을 설명하는 UI 엘리먼트가 제시될 수 있다).
위의 작업들 중 일부 또는 전부를 수행하기 위해 사용될 수 있는 머신 러닝 모델의 하나의 유형은 심층 신경망과 같은, 인공 신경망이다. 인공 신경망들은 일반적으로, 분류기를 갖는 특징 표현 컴포넌트 또는 특징들을 원하는 출력 공간에 매핑하는 회귀 계층들을 포함한다. 컨볼루션 신경망(convolutional neural network, CNN)은 예를 들어, 컨볼루션 필터들의 다수의 계층들을 호스팅한다. 보다 하위 계층들에서, 풀링이 수행되고, 비선형성이 해결될 수 있으며, 이들의 위에 다층 퍼셉트론이 통상적으로 덧붙여져, 콘볼루션 계층들에 의해 추출된 최상위 계층 특징들을 결정들(예를 들어, 분류 출력들)에 매핑한다.
순환 신경망(recurrent neural network, RNN)이 머신 러닝 모델의 다른 유형이다. 순환 신경망 모델은 입력들이 서로 본질적으로 관련되는 일련의 입력들, 예를 들어, 시간 추적 데이터, 순차적 데이터 등을 해석하도록 설계된다. RNN의 퍼셉트론의 출력은 다음 출력을 생성하기 위해 입력으로서 퍼셉트론에 피드백된다.
딥 러닝은 특징 추출 및 변환을 위해 비선형 프로세싱 유닛들의 다수의 계층들의 캐스케이드를 사용하는 머신 러닝 알고리즘들의 부류이다. 각 연속적인 계층은 이전 계층으로부터의 출력을 입력으로서 사용한다. 심층 신경망들은 지도형(예를 들어, 분류) 및/또는 비지도형(예를 들어, 패턴 분석) 방식으로 학습할 수 있다. 심층 신경망들은 계층들의 계층구조(hierarchy)를 포함하며, 여기서 상이한 계층들이 상이한 추상화 레벨들에 대응하는 상이한 표현 레벨들을 학습한다. 딥 러닝에서, 각 레벨은 자신의 입력 데이터를 약간 더 추상적이고 복합적인 표현으로 변환하는 것을 학습한다. 이미지 인식 애플리케이션에서, 예를 들어, 원시 입력은 픽셀들의 매트릭스일 수 있고; 제1 표현 계층은 픽셀들을 추상화하고 에지들을 인코딩할 수 있고; 제2 계층은 에지들의 배열들을 구성 및 인코딩할 수 있고; 제3 계층은 더 높은 레벨의 형상들(예를 들어, 치아, 입술, 잇몸 등)을 인코딩할 수 있으며; 제4 계층은 스캐닝 역할을 인식할 수 있다. 특히, 딥 러닝 프로세스는 어느 특징들을 어느 레벨에 최적으로 배치할 것인지를 자체적으로 학습할 수 있다. "딥 러닝"에서의 "딥"은 데이터가 변환되는 계층들의 수를 지칭한다. 보다 정확하게, 딥 러닝 시스템들은 상당한 크레딧 부여 경로(credit assignment path, CAP) 깊이를 갖는다. CAP은 입력으로부터 출력으로의 변환들의 체인이다. CAP은 입력과 출력 사이의 잠재적인 인과 관계들을 설명한다. 피드포워드 신경망에 대해, CAP들의 깊이는 네트워크의 깊이일 수 있고, 은닉 계층들의 수에 1을 더한 것일 수 있다. 신호가 계층을 통해 한 번을 초과하여 전파될 수 있는 순환 신경망들에 대해, CAP 깊이는 잠재적으로 무제한이다.
일부 실시예들에서, 제품 식별 시스템(175)은 서버 머신(170) 및 서버 머신(180)을 더 포함한다. 서버 머신(170)은(들) 하나 이상의 머신 러닝 모델들을 포함하는, 모델(들)(190)을 트레이닝, 검증, 및/또는 테스트하기 위해 데이터 세트들(예를 들어, 데이터 입력들의 세트 및 타겟 출력들의 세트)을 생성할 수 있는 데이터 세트 생성기(172)를 포함한다. 데이터 세트 생성기(172)의 일부 동작들은 도 2 및 도 5a와 관련하여 아래에서 상세하게 설명된다. 일부 실시예들에서, 데이터 세트 생성기(172)는 이력 데이터(예를 들어, 기존의 콘텐츠 아이템 데이터, 하나 이상의 지정된 연관된 제품들을 갖는 콘텐츠 아이템들, 하나 이상의 사용자들에 의해 제품이 부여된 콘텐츠 아이템들 등)를 트레이닝 세트(예를 들어, 이력 데이터의 60퍼센트), 검증 세트(예를 들어, 이력 데이터의 20퍼센트), 및 테스트 세트(예를 들어, 이력 데이터의 20퍼센트)로 파티셔닝할 수 있다.
일부 실시예들에서, 제품 식별 시스템(175)의 컴포넌트들은 다수의 특징들의 세트들을 생성할 수 있다. 예를 들어, 특징은 입력 데이터의 재배열, 입력 데이터의 조합, 입력 데이터의 차원 감소, 입력 데이터의 서브세트 등일 수 있다. 입력 데이터의 하나 이상의 특징들에 기초하여 하나 이상의 데이터 세트들이 생성될 수 있다.
서버 머신(180)은 트레이닝 엔진(182), 검증 엔진(184), 선택 엔진(185), 및/또는 테스트 엔진(186)을 포함한다. 엔진(예를 들어, 트레이닝 엔진(182), 검증 엔진(184), 선택 엔진(185), 및 테스트 엔진(186))은 하드웨어(예를 들어, 회로부, 전용 로직, 프로그래밍가능 로직, 마이크로코드, 프로세싱 디바이스 등), 소프트웨어(이를테면 프로세싱 디바이스, 범용 컴퓨터 시스템, 또는 전용 머신 상에서 실행되는 명령어들), 펌웨어, 마이크로코드, 또는 이들의 조합을 지칭할 수 있다. 트레이닝 엔진(182)은 데이터 세트 생성기(172)로부터의 트레이닝 세트와 연관된 특징들의 하나 이상의 세트들을 사용하여 하나 이상의 모델들(190)을 트레이닝할 수 있다. 트레이닝 엔진(182)은 복수의 트레이닝된 모델들(190)을 생성할 수 있으며, 여기서, 각 트레이닝된 모델(190)은 트레이닝 세트의 특징들의 별개의 세트에 대응한다. 데이터 세트 생성기(172)는 트레이닝된 모델의 출력을 수신하고(예를 들어, 융합 모델(194)이 텍스트 파싱 모델(191) 및/또는 이미지 파싱 모델들(192)의 출력에 기초하여 트레이닝될 수 있음), 그 데이터를 트레이닝, 검증, 및 테스트 데이터 세트들로 수집하며, 데이터 세트들을 사용하여 제2 모델(예를 들어, 융합 모델(194))을 트레이닝할 수 있다.
검증 엔진(184)은 데이터 세트 생성기(172)로부터의 검증 세트의 대응하는 특징들의 세트를 사용하여 트레이닝된 모델(190)을 검증할 수 있다. 예를 들어, 트레이닝 세트의 특징들의 제1 세트를 사용하여 트레이닝된 제1 트레이닝된 머신 러닝 모델(190)은 검증 세트의 특징들의 제1 세트를 사용하여 검증될 수 있다. 검증 엔진(184)은 검증 세트의 대응하는 특징들의 세트에 기초하여 트레이닝된 모델들(190) 각각의 정확도를 결정할 수 있다. 검증 엔진(184)은 임계 정확도를 충족시키지 않는 정확도를 갖는 트레이닝된 모델들(190)을 폐기할 수 있다. 일부 실시예들에서, 선택 엔진(185)은 임계 정확도를 충족시키는 정확도를 갖는 하나 이상의 트레이닝된 모델들(190)을 선택할 수 있다. 일부 실시예들에서, 선택 엔진(185)은 트레이닝된 모델들(190)의 가장 높은 정확도를 갖는 트레이닝된 모델(190)을 선택할 수 있다.
테스트 엔진(186)은 데이터 세트 생성기(172)로부터의 테스트 세트의 대응하는 특징들의 세트를 사용하여 트레이닝된 모델(190)을 테스트할 수 있다. 예를 들어, 트레이닝 세트의 특징들의 제1 세트를 사용하여 트레이닝된 제1 트레이닝된 머신 러닝 모델(190)은 테스트 세트의 특징들의 제1 세트를 사용하여 테스트될 수 있다. 테스트 엔진(186)은 테스트 세트들에 기초하여 트레이닝된 모든 모델들 중 가장 높은 정확도를 갖는 트레이닝된 모델(190)을 결정할 수 있다.
머신 러닝 모델의 경우에, 모델(190)은 데이터 입력들 및 대응하는 타겟 출력들(각각의 트레이닝 입력들에 대한 정답들)을 포함하는 트레이닝 세트를 사용하여 트레이닝 엔진(182)에 의해 생성되는 모델 아티팩트를 지칭할 수 있다. 데이터 입력을 타겟 출력(정답)에 매핑하는 데이터 세트들에서의 패턴들이 발견될 수 있고, 머신 러닝 모델(190)에는 이러한 패턴들을 캡처하는 캐핑들이 제공된다. 머신 러닝 모델(190)은 SVM(Support Vector Machine), RBF(Radial Basis Function), 클러스터링, 지도형 머신 러닝, 반지도형 머신 러닝, 비지도형 머신 러닝, k-NN(k-Nearest Neighbor Algorithm), 선형 회귀, 랜덤 포레스트, 결정 포레스트, 신경망(예를 들어, 인공 신경망, 순환 신경망), 선형 모델, 함수 기반 모델들(예를 들어, NG3 모델들) 등 중 하나 이상을 사용할 수 있다. 합성 데이터 생성기(174)는 하나 이상의 머신 러닝 모델들을 포함할 수 있으며, 이들은 동일한 유형의 모델들(예를 들어, 인공 신경망) 중 하나 이상을 포함할 수 있다.
콘텐츠 아이템들 및 연관된 데이터로부터의 제품들의 자동(예를 들어, 모델 기반) 검출은 다른 방법들에 비해 상당한 기술적 장점들을 제공한다. 일부 실시예들에서, 제품을 특징으로 하는 콘텐츠 아이템(예를 들어, 제품을 리뷰하는 제품 리뷰 비디오)은 콘텐츠 제작자의 어텐션, 액션, 시간 등 없이 제품과 링크 또는 연관되게 될 수 있다(예를 들어, 데이터가 제품을 콘텐츠 아이템에 링크시키는 것을 생성하고 있을 수 있음). 일부 실시예들에서, 제품을 광고하는 콘텐츠 아이템(예를 들어, 콘텐츠 아이템이 스폰서될 수 있거나 또는 하나 이상의 제품들을 홍보할 수 있음)은 제품과 링크 또는 연관될 수 있다. 콘텐츠 아이템들에서의 제품들의 모델 기반 검출은 콘텐츠 아이템에서 명확하게 특징이 되지 않지만, 콘텐츠 아이템에 존재하는 제품들에 대한 제품 연관성을 생성할 수 있다(예를 들어, 사용자가 구매하는 것에 관심을 가질 수 있는 제품이 비디오 콘텐츠 아이템에서 온-스크린일 수 있다). 콘텐츠 아이템 내의 제품들의 모델 기반 검출은 콘텐츠 아이템에서 광고되는 제품들에 대한 제품 연관성을 생성할 수 있다. 사용자는 예를 들어, 제품이 콘텐츠 아이템과 연관되어 있음을 나타내는, UI 엘리먼트를 사용자에게 제공함으로써, 모델 기반 검출에 기초하여, 콘텐츠 아이템에 존재하는 제품으로 디렉팅될 수 있다.
하나 이상의 모델들(190)은 하나 이상의 출력들을 생성하기 위해 입력 상에서 실행될 수 있다. 모델은 모델의 출력이 콘텐츠 아이템의 정확한 묘사라는 신뢰도 레벨을 나타내는 출력으로부터 신뢰도 데이터를 결정(예를 들어, 추출)할 수 있다. 예를 들어, 모델은 제1 제품이 콘텐츠 아이템과 연관되어 있다고 결정할 수 있고, 제1 제품이 콘텐츠 아이템에서 모델에 의해 정확하게 발견되었다는 신뢰도를 결정할 수 있다. 제품 식별 시스템(175)의 하나 이상의 컴포넌트들은 신뢰도 데이터를 사용하여, 콘텐츠 아이템과 연관된 데이터를 업데이트할지 여부, 예를 들어, 하나 이상의 제품들을 콘텐츠 아이템과 연관시킬지 여부, 콘텐츠 아이템의 하나 이상의 캡션들을 업데이트할지 여부 등을 결정할 수 있다.
신뢰도 데이터는 모델의 출력(예를 들어, 하나 이상의 제품들)이 콘텐츠 아이템과 연관된 제품의 정확한 표시라는 신뢰도 레벨을 포함하거나 나타낼 수 있다. 예를 들어, (예를 들어, 콘텐츠 아이템에서 식별된 하나의 제품과 연관하여) 모델에 의해 출력되는 신뢰도 레벨은 0과 1 사이(경계 포함)의 실수일 수 있다. 0은 예측되는 제품이 콘텐츠 아이템과 연관되어 있다는 신뢰가 없음을 나타낼 수 있고, 1은 예측되는 제품이 콘텐츠 아이템과 연관되어 있다는 절대적인 신뢰를 나타낼 수 있다. 인스턴스들의 미리 결정된 수(예를 들어, 인스턴스들의 퍼센티지, 인스턴스들의 빈도, 인스턴스들의 총 수 등)에 대한 임계 레벨 미만의 신뢰도 레벨을 나타내는 신뢰도 데이터에 응답하여, 제품 식별 시스템(175)은 하나 이상의 트레이닝된 모델들(190)이 (예를 들어, 트레이닝, 검증, 테스트 등을 위한 업데이트된 및/또는 새로운 데이터에 기초하여) 재트레이닝되게 할 수 있다. 재트레이닝은 (예를 들어, 데이터 세트 생성기(172)를 통해) 데이터의 하나 이상의 세트들을 생성하는 것을 포함할 수 있다.
제한이 아니라, 예시의 목적을 위해, 본 개시의 양태들은 이력 데이터를 사용하고, 콘텐츠 아이템-제품 연관성을 나타내는 출력을 결정하기 위해 현재 데이터(예를 들어, 새롭게 업데이트된 콘텐츠 아이템들, 제품들과 이전에 연관되지 않은 콘텐츠 아이템들 등)를 하나 이상의 트레이닝된 머신 러닝 모델들에 입력하는 하나 이상의 머신 러닝 모델들(190)의 트레이닝을 설명한다. 다른 실시예들에서, (예를 들어, 트레이닝된 머신 러닝 모델을 사용하지 않고) 하나 이상의 제품들이 콘텐츠 아이템과 연관된다고 결정하기 위해 휴리스틱 모델, 물리 기반 모델, 또는 규칙 기반 모델이 사용된다. 일부 실시예들에서, 이러한 모델들은 이력 데이터를 사용하여 트레이닝될 수 있다. 일부 실시예들에서, 이들 모델들은 이력 데이터를 이용하여 재트레이닝될 수 있다. 도 2의 데이터 입력들(210)과 관련하여 설명되는 임의의 정보는 휴리스틱, 물리 기반, 또는 규칙 기반 모델에서 모니터링되거나 또는 달리 사용될 수 있다.
일부 실시예들에서, 클라이언트 디바이스(110), 제품 식별 시스템(175), 콘텐츠 플랫폼 시스템(102), 서버 머신(170), 및 서버 머신(180), 서버 머신(106)의 기능들은 더 적은 수의 머신들에 의해 제공될 수 있다. 예를 들어, 일부 실시예들에서, 서버 머신들(170 및 180)이 단일 머신으로 통합될 수 있는 한편, 일부 다른 실시예들에서, 서버 머신(170), 서버 머신(180), 및 서버 머신(106)이 단일 머신으로 통합될 수 있다. 일부 실시예들에서, 클라이언트 디바이스(110) 및 서버 머신(106)이 단일 머신으로 통합될 수 있다. 일부 실시예들에서, 클라이언트 디바이스(110), 서버 머신(106), 서버 머신(170), 서버 머신(180), 및 데이터 저장소(140)의 기능들이 클라우드 기반 서비스에 의해 수행될 수 있다.
일반적으로, 일 실시예에서 클라이언트 디바이스(110), 서버 머신(106), 서버 머신(170), 및 서버 머신(180)에 의해 수행되는 것으로서 설명되는 기능들은 또한, 다른 실시예들에서, 적절한 경우, 서버 머신(106) 상에서 수행될 수 있다. 또한, 특정 컴포넌트에 기인하는 기능은 함께 동작하는 상이한 또는 다수의 컴포넌트들에 의해 수행될 수 있다. 예를 들어, 일부 실시예들에서, 제품 식별 시스템(175)은 제품들과 콘텐츠 아이템들 사이의 연관성을 결정할 수 있다. 다른 예에서, 콘텐츠 플랫폼 시스템(102)은 콘텐츠 아이템들과 하나 이상의 제품들 사이의 연관성을 결정할 수 있다.
또한, 특정 컴포넌트의 기능들은 함께 동작하는 상이한 또는 다수의 컴포넌트들에 의해 수행될 수 있다. 서버 머신(106), 서버 머신(170), 또는 서버 머신(180) 중 하나 이상은 적절한 API(application programming interfaces)를 통해 다른 시스템들 또는 디바이스들에 제공되는 서비스로서 액세스될 수 있다.
본 개시의 구현예들에서, "사용자"는 단일 개인으로서 표현될 수 있다. 그러나, 본 개시의 다른 구현예들은 "사용자"가 사용자들의 세트 및/또는 자동화된 소스에 의해 제어되는 엔티티인 것을 포괄한다. 예를 들어, 소셜 네트워크 내의 커뮤니티로서 연합되는 개별 사용자들의 세트가 "사용자"로 고려될 수 있다. 다른 예에서, 자동화된 소비자는 하나 이상의 플랫폼들, 하나 이상의 콘텐츠 아이템들 등의 토픽 채널과 같은, 자동화된 입수 파이프라인일 수 있다. 상기한 설명에 추가로, 사용자는 본 명세서에서 설명된 시스템들, 프로그램들, 또는 특징부들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 행위들 또는 활동들, 직업, 사용자의 선호도, 또는 사용자의 현재 위치에 관한 정보)의 수집을 가능하게 할 수 있는 경우와 그 때, 그리고 사용자가 서버로부터 콘텐츠 또는 통신을 전송받는 경우 둘 다에 관해 사용자가 선출을 할 수 있게 하는 제어를 제공받을 수 있다. 또한, 특정 데이터는 개인 식별가능 정보가 제거되도록, 저장되거나 사용되기 전에 하나 이상의 방식들로 처리될 수 있다. 예를 들어, 사용자에 대해 어떠한 개인 식별가능 정보도 결정될 수 없도록 사용자의 아이덴티티가 처리될 수 있거나, 사용자의 특정 위치가 결정될 수 없도록 사용자의 지리적 위치가 (도시, 우편 번호, 또는 주 레벨과 같은) 위치 정보가 획득되는 곳에서 일반화될 수 있다. 이에 따라, 사용자는 사용자에 관해 어떤 정보가 수집되는지, 그 정보가 어떻게 사용되는지, 및 사용자에게 어떤 정보가 제공되는지에 대한 제어를 가질 수 있다.
도 2는 일부 실시예들에 따란, 하나 이상의 모델들에 대한 데이터 세트들을 생성하기 위한 데이터 세트 생성기(272)를 포함하는 시스템(200)의 블록도이다. 데이터 세트 생성기(272)는 이력 데이터를 사용하여 데이터 세트들(예를 들어, 데이터 입력(210), 타겟 출력(220))을 생성할 수 있다. 비지도형 머신 러닝 모델을 트레이닝하기 위해 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기가 이용될 수 있으며, 예를 들어, 타겟 출력(220)이 데이터 세트 생성기(272)에 의해 생성되지 않을 수 있다. 반지도형 머신 러닝 모델을 트레이닝하기 위해 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기가 이용될 수 있으며, 예를 들어, 데이터 입력(210)의 서브세트에 대응하는 타겟 출력(220)이 데이터 세트 생성기(272)에 의해 생성될 수 있다.
데이터 세트 생성기(272)는 모델을 트레이닝, 테스트, 및 검증하기 위한 데이터 세트들을 생성할 수 있다. 데이터 세트 생성기(272)는 머신 러닝 모델에 대한 데이터 세트들을 생성할 수 있다. 시스템(200)은 예를 들어, 하나 이상의 제품들이 콘텐츠 아이템에서 나타날 가능성을 결정하기 위해, 융합 모델을 트레이닝, 테스트, 및/또는 검증하기 위한 데이터 세트들을 생성할 수 있다. 시스템(200)과 유사한 시스템은 상이한 기능을 갖는 모델을 트레이닝, 테스트, 및/또는 검증하기 위한 데이터 세트들을 생성할 수 있으며, 입력 데이터 및/또는 출력 데이터에 대한 대응하는 변경이 데이터 세트들에 포함된다. 텍스트를 파싱(예를 들어, 콘텐츠 아이템들과 연관된 텍스트로부터 제품들에 대한 하나 이상의 참조들을 추출함)하기 위한 모델들, 이미지들을 파싱(예를 들어, 콘텐츠 아이템들과 연관된 이미지들로부터 제품들에 대한 하나 이상의 참조들을 추출함)하기 위한 모델들, 텍스트를 정정(예를 들어, 콘텐츠 아이템과 연관된 머신 생성 텍스트에서의 제품들에 대한 하나 이상의 참조들을 포함함)하기 위한 모델들 등은 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기에 의해 생성된 모델들을 트레이닝, 테스트, 및/또는 검증하기 위한 데이터 세트들을 가질 수 있다.
일부 실시예들에서, 데이터 세트 생성기(272)와 같은 데이터 세트 생성기는 두 개 이상의 별개의 모델들과 연관될 수 있다(예를 들어, 앙상블 모델을 트레이닝하기 위해 데이터 세트들이 사용될 수 있음). 예를 들어, 입력 데이터 세트들이 제1 모델에 제공될 수 있고, 제1 모델의 출력이 제2 모델에 제공될 수 있으며, 제1 및 제2 모델들(예를 들어, 앙상블 모델)을 트레이닝, 테스트, 및/또는 검증하기 위해 타겟 출력이 제2 모델에 제공될 수 있다.
데이터 세트 생성기(272)는 예를 들어, 트레이닝, 검증, 및/또는 테스트 동작들 동안, 모델에 제공하기 위한 데이터의 하나 이상의 세트들을 생성할 수 있다. 머신 러닝 모델에 이력 데이터의 세트들이 제공될 수 있다. 머신 러닝 모델(예를 들어, 융합 모델)에 데이터 입력으로서 이력 텍스트 파싱 데이터(264A-264Z)의 세트들이 제공될 수 있다. 텍스트 파싱 데이터는 머신 러닝 모델에 의해 제공될 수 있으며, 예를 들어, 콘텐츠 아이템과 연관된 텍스트에서 머신 러닝 모델에 의해 식별된 하나 이상의 제품들 및 신뢰도 값들을 포함할 수 있다. 머신 러닝 모델에 데이터 입력으로서 이력 이미지 파싱 데이터(265A-265Z)의 세트들이 제공될 수 있다. 이미지 파싱 데이터는 트레이닝된 머신 러닝 모델에 의해 제공될 수 있으며, 예를 들어, 콘텐츠 아이템과 연관된 하나 이상의 이미지들에서 머신 러닝 모델에 의해 식별된 하나 이상의 제품들 및 신뢰도 값들을 포함할 수 있다.
일부 실시예들에서, 데이터 세트 생성기(272)는 융합 모델을 트레이닝, 텍스팅, 검증 등을 하기 위한 데이터 세트들을 생성하도록 구성될 수 있다. 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기가 콘텐츠 아이템과 연관된 하나 이상의 제품들을 결정하기 위해 머신 러닝 모델을 트레이닝하기 위한 데이터 입력으로서 텍스트 데이터의 세트들(예를 들어, 콘텐츠 아이템 제목 텍스트, 콘텐츠 아이템 설명 텍스트, 콘텐츠 아이템 캡션 텍스트 등)을 생성할 수 있다. 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기는 콘텐츠 아이템과 연관된 하나 이상의 제품들을 결정하기 위한 머신 러닝 모델을 트레이닝하기 위한 데이터 입력으로서 이미지 데이터의 세트들(예를 들어, 비디오 콘텐츠 아이템으로부터의 하나 이상의 프레임들, 비디오 콘텐츠 아이템으로부터의 하나 이상의 프레임들의 부분 등)을 생성할 수 있다.
일부 실시예들에서, 데이터 세트 생성기(272)는 하나 이상의 데이터 입력들(210)(예를 들어, 트레이닝 입력, 검증 입력, 테스트 입력)을 포함하는 데이터 세트(예를 들어, 트레이닝 세트, 검증 세트, 테스트 세트)를 생성한다. 데이터 입력들(210)은 도 1의 트레이닝 엔진(182), 검증 엔진(184), 또는 테스트 엔진(186)에 제공될 수 있다. 데이터 세트들은 모델(예를 들어, 융합 모델, 텍스트 파싱 모델, 이미지 파싱 모델 등)을 트레이닝, 검증, 또는 테스트하기 위해 사용될 수 있다. 데이터 세트 생성기(272)는 하나 이상의 데이터 입력들(210)을 포함하는 데이터 세트(예를 들어, 트레이닝 세트, 검증 세트, 테스트 세트)를 생성할 수 있다. 데이터 입력들(210)은 "특징들", "속성들", "벡터들", 또는 "정보"로서 지칭될 수 있다.
일부 실시예들에서, 데이터 세트 생성기(272)는 제1 머신 러닝 모델을 트레이닝, 검증, 또는 테스트하기 위해 이력 텍스트 파싱 데이터의 제1 세트(264A) 및/또는 이력 이미지 파싱 데이터의 제1 세트(265A)에 대응하는 제1 데이터 입력을 생성할 수 있다. 데이터 세트 생성기(272)는 제2 머신 러닝 모델을 트레이닝, 검증, 또는 테스트하기 위해 이력 계측 데이터의 제2 세트(264B) 및/또는 설계 규칙 데이터의 제2 세트(265B)에 대응하는 제2 데이터 입력을 생성할 수 있다. 트레이닝 세트, 테스트 세트, 검증 세트 등을 생성하는 일부 실시예들이 도 5a와 관련하여 더 설명된다.
일부 실시예들에서, 데이터 세트 생성기(272)는 하나 이상의 머신 러닝 모델들을 트레이닝, 테스트, 검증 등을 하기 위해 제공하기 위해 타겟 출력(220)을 생성할 수 있다. 데이터 세트 생성기(272)는 타겟 출력(220)으로서 제품 연관성 데이터(268)를 생성할 수 있다. 제품 연관성 데이터(268)는 콘텐츠 아이템과 연관된 하나 이상의 제품들의 식별자들(예를 들어, 인간 라벨링 제품 연관성)을 포함할 수 있다. 제품 연관성 데이터(268)는 입력-출력 매핑들을 포함할 수 있으며, 예를 들어, 이력 텍스트 파싱 데이터의 세트(264A)가 제품 연관성 데이터의 제1 세트(268)와 연관될 수 있다. 머신 러닝 모델은 입력 데이터를 제공하고, 출력을 생성하며, 이를 제공된 타겟 출력(예를 들어, "정답")과 비교함으로써 업데이트(예를 들어, 트레이닝됨)될 수 있다. 그런 다음, 모델을 트레이닝 데이터와 더 양호하게 정렬시키기 위해 모델의 다양한 가중치들, 바이어스들 등이 업데이트된다. 이러한 프로세스는 제공된 입력들의 임계 부분에 대한 정확한 출력을 제공하는 모델을 생성하기 위해 여러 번 반복될 수 있다. 타겟 출력(220)은 데이터 입력(210)의 하나 이상의 특징들을 공유할 수 있으며, 예를 들어, 타겟 출력(220)은 속성들 또는 벡터들로 조직될 수 있으며, 타겟 출력(220)은 A-Z 세트들로 조직될 수 있는 등이다.
일부 실시예들에서, 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기는 텍스트 파싱 모델과 관련하여 이용되어, 콘텐츠 아이템과의 하나 이상의 제품 연관성을 결정하도록 구성될 수 있다. 제품 연관성은 제품들의 브랜드들, 제품들의 유형들, 제품들의 부류들 등과 같은 콘텍스트 연관성을 포함할 수 있다. 데이터 세트 생성기는 콘텐츠 아이템과 연관되며, 콘텐츠 아이템의 텍스트와 연관되는 등의, 제품들의 리스트, 제품들의 유형들, 제품들의 브랜드들 등을 타겟 출력으로서 생성할 수 있다. 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기는 이미지 파싱 모델과 관련하여 이용되어, 콘텐츠 아이템과의 하나 이상의 제품 연관성을 결정하도록 구성될 수 있다. 데이터 세트 생성기는 이미지 입력과 연관된 제품들의 리스트, 제품들의 부류들, 제품들의 카테고리들 등을 타겟 출력으로서 생성할 수 있다. 데이터 세트 생성기(272)와 유사한 데이터 세트 생성기는 텍스트 정정 모델과 관련하여 이용될 수 있다. 텍스트 정정 모델은 제품명 대신에 타겟 언어로 하나 이상의 단어들을 잘못 제공하는 머신 생성 텍스트를 인식하도록 구성될 수 있다. 텍스트 정정 모델은 입력 데이터로서 하나 이상의 머신 생성 텍스트 세트, 및 타겟 출력으로서 텍스트와 연관된 제품들(예를 들어, 텍스트의 머신 생성에 의해 정확하게 캡처되지 않은 제품들)을 갖도록 제공될 수 있다.
일부 실시예들에서, 데이터 세트를 생성하고 데이터 세트를 사용하여 머신 러닝 모델을 트레이닝, 검증, 또는 테스트한 후에, 모델은 더 트레이닝, 검증, 또는 테스트, 또는 조정(예를 들어, 신경망에서의 연결 가중치들과 같은, 모델의 입력 데이터와 연관된 가중치들 또는 파라미터들을 조정함)될 수 있다. 모델은 원래의 트레이닝 동작들과는 상이한 데이터, 예를 들어, 모델의 트레이닝, 검증, 및/또는 테스팅 후에 생성된 데이터에 기초하여 조정 및/또는 재트레이닝될 수 있다.
도 3a는 일부 실시예들에 따른, 출력 데이터(예를 들어, 제품/콘텐츠 아이템 연관성 데이터)를 생성하기 위한 시스템(300A)을 예시하는 블록도이다. 시스템(300A)은 다른 모델들(예를 들어, 콘텐츠 아이템과 연관된 텍스트에서 제품들을 검출하는 텍스트 기반 모델들, 콘텐츠 아이템과 연관된 이미지들에서 제품들을 검출하는 이미지 기반 모델들 등)에 의해 생성된 잠재적인 제품/콘텐츠 아이템 연관성에 기초하여, 제품/콘텐츠 아이템 연관성 데이터 및 신뢰도 데이터를 생성하기 위해 융합 모델과 함께 사용될 수 있다. 시스템(300A)과 유사한 시스템은 다른 유형들의 모델들, 예를 들어, 텍스트 파싱 모델, 이미지 파싱 모델, 텍스트 정정 모델 등으로부터 출력 데이터를 생성하기 위해 이용될 수 있다.
블록(310)에서, 시스템(300A)(예를 들어, 도 1의 제품 식별 시스템(175)의 컴포넌트들)은 머신 러닝 모델을 트레이닝, 검증, 및/또는 테스트하는 데 사용될 데이터의 데이터 파티셔닝(예를 들어, 도 2의 데이터 세트 생성기(272)를 통해)을 수행한다. 일부 실시예들에서, 트레이닝 데이터(364)는 텍스트에 기초한 콘텐츠 아이템들과 제품들 사이의 이력 연관성, 이미지들에 기초한 콘텐츠 아이템들과 제품들 사이의 이력 연관성 등과 같은 이력 데이터를 포함한다. 일부 실시예들에서, 예를 들어, 시스템(300A)이 융합 모델로부터 출력을 생성하는 것에 관한 것일 때, 트레이닝 데이터(364)는 하나 이상의 트레이닝된 머신 러닝 모델들, 예를 들어, 콘텐츠 아이템과 연관된 텍스트들 또는 이미지들에서 제품들을 검출하도록 구성된 모델들에 의해 생성되는 데이터를 포함할 수 있다. 트레이닝 데이터(364)는 블록(310)에서의 데이터 파티셔닝을 거쳐 트레이닝 세트(302), 검증 세트(304), 및 테스트 세트(306)를 생성할 수 있다. 예를 들어, 트레이닝 세트는 트레이닝 데이터의 60%일 수 있고, 검증 세트는 트레이닝 데이터의 20%일 수 있으며, 테스트 세트는 트레이닝 데이터의 20%일 수 있다.
트레이닝 세트(302), 검증 세트(304), 및 테스트 세트(306)의 생성은 특정 애플리케이션에 대해 맞춤화될 수 있다. 예를 들어, 트레이닝 세트는 트레이닝 데이터의 60%일 수 있고, 검증 세트는 트레이닝 데이터의 20%일 수 있으며, 테스트 세트는 트레이닝 데이터의 20%일 수 있다. 시스템(300A)은 트레이닝 세트, 검증 세트, 및 테스트 세트 각각에 대한 특징들의 복수의 세트들을 생성할 수 있다. 예를 들어, 트레이닝 데이터(364)가 하나보다 많은 텍스트 소스로부터의 텍스트 데이터로부터 추출된 제품 연관성(예를 들어, 콘텐츠 아이템과 연관된 제목 및 콘텐츠 아이템과 연관된 설명)을 포함하는 경우, 입력 트레이닝 데이터는 제1 소스로부터의 텍스트로부터 식별된 제품들을 포함하는 특징들의 제1 세트 및 제2 소스로부터의 텍스트에서 식별된 제품들을 포함하는 특징들의 제2 세트로 분할될 수 있다. 타겟 입력, 타겟 출력, 또는 둘 다 세트들로 분할될 수 있거나, 또는 둘 중 어느 것도 세트들로 분할되지 않을 수 있다. 다수의 모델들이 상이한 데이터 세트들에 대해 트레이닝될 수 있다.
블록(312)에서, 시스템(300A)은 트레이닝 세트(302)를 사용하여 (예를 들어, 도 1의 트레이닝 엔진(182)을 통해) 모델 트레이닝을 수행한다. 머신 러닝 모델의 트레이닝은 지도형 학습 방식으로 달성될 수 있으며, 이는 모델을 통해 라벨링된 입력들을 포함하는 트레이닝 데이터세트를 제공하는 것, 그 출력들을 관찰하는 것, 오차를 정의하는 것(출력들과 라벨 값들 사이의 차이를 측정함으로써), 및 오차가 최소화되도록 모델의 가중치들을 조정하기 위해 딥 경사 하강 및 역전파와 같은 기법들을 사용하는 것을 수반한다. 많은 응용예들에서, 이러한 프로세스를 트레이닝 데이터세트에서의 다수의 라벨링된 입력들에 걸쳐 반복하는 것은 트레이닝 데이터세트에 존재하는 입력들과 상이한 입력들을 제시할 때 정확한 출력을 생성할 수 있는 모델을 생성한다. 일부 실시예들에서, 머신 러닝 모델의 트레이닝은 비지도형 방식으로 달성될 수 있으며, 예를 들어, 라벨들 또는 분류들이 트레이닝 동안 공급되지 않을 수 있다. 비지도형 모델은 이상 검출, 결과 클러스터링 등을 수행하도록 구성될 수 있다.
트레이닝 데이터세트에서의 각 트레이닝 데이터 아이템에 대해, 트레이닝 데이터 아이템은 모델로(예를 들어, 머신 러닝 모델로) 입력될 수 있다. 그런 다음, 모델은 입력 트레이닝 데이터 아이템(예를 들어, 콘텐츠 아이템과 관련하여 검출된 하나 이상의 제품들, 및 연관된 신뢰도 값들의 표시 등)을 프로세싱하여, 출력을 생성할 수 있다. 출력은 예를 들어, 콘텐츠 아이템 및 대응하는 신뢰도 값들과 연관될 수 있는 제품들의 리스트를 포함할 수 있다. 출력은 트레이닝 데이터 아이템의 라벨(예를 들어, 콘텐츠 아이템과 연관된 인간 라벨링 제품들의 세트)과 비교될 수 있다.
그런 다음, 프로세싱 로직이 생성된 출력(예를 들어, 예측되는 제품/콘텐츠 아이템 연관성)을 트레이닝 데이터 아이템에 포함된 라벨(예를 들어, 제품/콘텐츠 아이템 연관성의 인간 생성 리스트)과 비교할 수 있다. 프로세싱 로직은 출력과 라벨(들) 사이의 차이들에 기초하여 오차(즉, 분류 오차)를 결정한다. 프로세싱 로직은 오차에 기초하여 모델의 하나 이상의 가중치들 및/또는 값들을 조정한다.
신경망을 트레이닝하는 경우에, 인공 신경망에서의 각 노드에 대해 오차 항 또는 델타가 결정될 수 있다. 이러한 오차에 기초하여, 인공 신경망은 자신의 노드들 중 하나 이상에 대한 자신의 파라미터들 중 하나 이상을 조정한다(노드의 하나 이상의 입력들에 대한 가중치들). 파라미터들은 역전파 방식으로 업데이트될 수 있으며, 이에 따라, 최상위 계층에서의 노드들이 먼저 업데이트된 다음에, 그 다음 계층에서의 노드들이 업데이트되는 등이다. 인공 신경망은 "뉴런들"의 다수의 계층들을 포함하며, 여기서 각 계층은 이전 계층에서의 뉴런들로부터 입력 값들을 수신한다. 각 뉴런에 대한 파라미터들은 이전 계층에서의 뉴런들 각각으로부터 수신된 값들과 연관된 가중치들을 포함한다. 따라서, 파라미터들을 조정하는 것은 인공 신경망에서의 하나 이상의 계층들에서 하나 이상의 뉴런들에 대한 입력들 각각에 부여된 가중치들을 조정하는 것을 포함할 수 있다.
시스템(300A)은 트레이닝 세트(302)의 특징들의 다수의 세트들(예를 들어, 트레이닝 세트(302)의 특징들의 제1 세트, 트레이닝 세트(302)의 특징들의 제2 세트 등)을 사용하여 다수의 모델들을 트레이닝할 수 있다. 예를 들어, 시스템(300A)은 트레이닝 세트에서의 특징들의 제1 세트(예를 들어, 제품/콘텐츠 아이템 연관성 등을 생성하도록 구성된 모델들의 단지 서브세트와 연관된 데이터와 같은, 트레이닝 데이터(364)의 서브세트)를 사용하여 제1 트레이닝된 모델을 생성하고 트레이닝 세트에서의 특징들의 제2 세트를 사용하여 제2 트레이닝된 모델을 생성하도록 모델을 트레이닝할 수 있다. 일부 실시예들에서, 제1 트레이닝된 모델과 제2 트레이닝된 모델은 제3 트레이닝된 모델(예를 들어, 그 자체로 제1 또는 제2 트레이닝된 모델보다 더 양호할 수 있음)을 생성하기 위해 조합될 수 있다. 일부 실시예들에서, 모델들을 비교하는 데 사용되는 특징들의 세트들은 중첩될 수 있다(예를 들어, 특징들의 제1 세트는 콘텐츠 아이템 제목, 설명, 및 일부 이미지들에 기초한 제품들이고, 특징들의 제2 세트는 콘텐츠 아이템 설명, 콘텐츠 아이템의 이미지들의 상이한 세트, 및 콘텐츠 아이템의 검출된 콘텍스트(예를 들어, 콘텐츠 아이템과 연관된 제품들의 유형)에 기초하여 검출됨). 일부 실시예들에서, 특징들의 다양한 순열들을 갖는 모델들 및 모델들의 조합들을 포함하는 수백 개의 모델들이 생성될 수 있다.
블록(314)에서, 시스템(300A)은 검증 세트(304)를 사용하여 (예를 들어, 도 1의 검증 엔진(184)을 통해) 모델 검증을 수행한다. 시스템(300A)은 검증 세트(304)의 대응하는 특징들의 세트를 사용하여 트레이닝된 모델들 각각을 검증할 수 있다. 예를 들어, 시스템(300A)은 검증 세트에서의 특징들의 제1 세트를 사용하여 제1 트레이닝된 모델을 검증하고, 검증 세트에서의 특징들의 제2 세트를 사용하여 제2 트레이닝된 모델을 검증할 수 있다. 일부 실시예들에서, 시스템(300A)은 블록(312)에서 생성된 수백 개의 모델들(예를 들어, 특징들의 다양한 순열들을 갖는 모델들, 모델들의 조합들 등)을 검증할 수 있다. 블록(314)에서, 시스템(300A)은 (예를 들어, 모델 검증을 통해) 하나 이상의 트레이닝된 모델들 각각의 정확도를 결정할 수 있고, 트레이닝된 모델 중 하나 이상이 임계 정확도를 충족시키는 정확도를 갖는지 여부를 결정할 수 있다. 트레이닝된 모델들 중 어느 것도 임계 정확도를 충족시키는 정확도를 갖지 않는다고 결정하는 것에 응답하여, 흐름은 블록(312)으로 복귀하며, 여기서 시스템(300A)은 트레이닝 세트의 특징들의 상이한 세트들, 데이터 세트 생성기에 의해 제공되는 업데이트 또는 확장된 트레이닝 세트 등을 사용하여 모델 트레이닝을 수행한다. 트레이닝된 모델들 중 하나 이상이 임계 정확도를 충족시키는 정확도를 갖는다고 결정하는 것에 응답하여, 흐름은 블록(316)으로 계속된다. 시스템(300A)은 (예를 들어, 검증 세트에 기초하여) 임계 정확도 미만의 정확도를 갖는 트레이닝된 모델들을 폐기할 수 있다.
블록(316)에서, 시스템(300A)은 임계 정확도를 충족시키는 하나 이상의 트레이닝된 모델들 중 어느 모델이 가장 높은 정확도를 갖는지(예를 들어, 블록(314)의 검증에 기초하여 선택된 모델(308))를 결정하기 위해 (예를 들어, 도 1의 선택 엔진(185)을 통해) 모델 선택을 수행한다. 임계 정확도를 충족시키는 트레이닝된 모델들 중 둘 이상이 동일한 정확도를 갖는다고 결정하는 것에 응답하여, 흐름은 블록(312)으로 복귀할 수 있으며, 여기서 시스템(300A)은 최고 정확도를 갖는 트레이닝된 모델을 결정하기 위해 특징들의 더 정제된 세트들에 대응하는 더 정제된 트레이닝 세트들을 사용하여 모델 트레이닝을 수행한다.
블록(318)에서, 시스템(300A)은 선택된 모델(308)을 테스트하기 위해 테스트 세트(306)를 사용하여 (예를 들어, 도 1의 테스트 엔진(186)을 통해) 모델 테스트를 수행한다. 시스템(300A)은 테스트 세트에서의 특징들의 제1 세트를 사용하여, 제1 트레이닝된 모델을 테스트하여, 제1 트레이닝된 모델이 (예를 들어, 테스트 세트(306)의 특징들의 제1 세트에 기초하여) 임계 정확도를 충족시킨다고 결정할 수 있다. 선택된 모델(308)의 정확도가 임계 정확도를 충족시키지 않는 것(예를 들어, 선택된 모델(308)이 트레이닝 세트(302) 및/또는 검증 세트(304)에 과도 적합되고, 테스트 세트(306)와 같은 다른 데이터 세트들에 적용가능하지 않음)에 응답하여, 흐름은 블록(312)으로 계속되며, 여기서 시스템(300A)은 특징들의 상이한 세트들, 상이한 콘텐츠 아이템들 등에 대응하는 상이한 트레이닝 세트들을 사용하여 모델 트레이닝(예를 들어, 재트레이닝)을 수행한다. 선택된 모델(308)이 테스트 세트(306)에 기초하여 임계 정확도를 충족시키는 정확도를 갖는다고 결정하는 것에 응답하여, 흐름은 블록(320)으로 계속된다. 적어도 블록(312)에서, 모델은 예측을 행하기 위해 트레이닝 데이터에서의 패턴을 학습할 수 있고, 블록(318)에서, 시스템(300A)은 예측을 테스트하기 위해 나머지 데이터(예를 들어, 테스트 세트(306))에 모델을 적용할 수 있다.
블록(320)에서, 시스템(300A)은 트레이닝된 모델(예를 들어, 선택된 모델(308))을 사용하여 현재 데이터(322)(예를 들어, 새롭게 업로드된 콘텐츠 아이템들, 새롭게 생성된 콘텐츠 아이템들, 선택된 모델(308)의 트레이닝, 테스트, 또는 검증 세트들에 포함되지 않았던 콘텐츠 아이템들 등)를 수신하고, 트레이닝된 모델의 출력으로부터, 출력 데이터(324)(예를 들어, 제품/콘텐츠 아이템 연관성 및 대응하는 신뢰도 값들)를 결정(예를 들어, 추출)한다. 콘텐츠 아이템 및/또는 연관된 데이터와 연관된 정정 액션이 출력 데이터(324)를 고려하여 수행될 수 있다. 예를 들어, 명령어들은 콘텐츠 아이템이 하나 이상의 연관된 제품들을 포함한다는 것을 명시하는 UI 엘리먼트를 콘텐츠 아이템과 함께 제시하는 것을 포함하도록 업데이트될 수 있으며, 명령어들은 연관된 제품들에 관한 추가적인 정보를 함유하는 UI 엘리먼트를 콘텐츠 아이템과 함께 제시하는 것을 포함하도록 업데이트될 수 있는 등이다. 명령어들은 콘텐츠 아이템(예를 들어, 검색 페이지, 홈 페이지 등)의 추가적인 요인들, 예를 들어, 사용자 선호도들, 제시 환경, 등에 의존적일 수 있다. 일부 실시예들에서, 현재 데이터(322)는 머신 러닝 모델을 트레이닝하기 위해 사용되는 이력 데이터에서의 동일한 유형들의 특징들에 대응할 수 있다. 일부 실시예들에서, 현재 데이터(322)는 선택된 모델(308)을 트레이닝하기 위해 사용되는 이력 데이터에서의 특징들의 유형들의 서브세트에 대응한다(예를 들어, 머신 러닝 모델이 텍스트 및 이미지 기반 소스들과 같은 여러 소스들로부터의 제품 연관성 및/또는 콘텍스트 정보 및 신뢰도 값들을 사용하여 트레이닝될 수 있고, 이러한 데이터의 서브세트가 현재 데이터(322)로서 제공될 수 있음).
일부 실시예들에서, 머신 러닝 모델(예를 들어, 선택된 모델(308))의 성능은 시간에 따라 조정, 개선, 및/또는 업데이트될 수 있다. 예를 들어, 콘텐츠 아이템과의 제품 연관성을 정확하게 분류할 수 있는 모델의 능력을 개선하기 위해 추가적인 트레이닝 데이터가 모델에 제공될 수 있다. 일부 실시예들에서, (예를 들어, 도 1의 트레이닝 엔진(182)을 통해) 모델을 재트레이닝하기 위해 현재 데이터(322)의 일부 부분이 제공될 수 있다. 현재 데이터(322)의 부분은 라벨링될 수 있고(예를 들어, 인간 라벨링됨), 라벨들은 모델을 (예를 들어, 현재 타겟 출력 데이터(346)로서) 재트레이닝하기 위해 제공될 수 있다. 현재 데이터(322) 및 현재 타겟 출력 데이터(346)는 선택된 모델(308)을 주기적, 연속적 등으로, 업데이트 및/또는 개선하기 위해 이용될 수 있다.
일부 실시예들에서, 동작들(310-320) 중 하나 이상은 다양한 순서들로 그리고/또는 본 명세서에서 제시되고 설명되지 않은 다른 동작들과 일어날 수 있다. 일부 실시예들에서, 동작들(310-320) 중 하나 이상은 수행되지 않을 수 있다. 예를 들어, 일부 실시예들에서, 블록(310)의 데이터 파티셔닝, 블록(314)의 모델 검증, 블록(316)의 모델 선택, 또는 블록(318)의 모델 테스트 중 하나 이상이 수행되지 않을 수 있다.
시스템 (300A)은 융합 모델에 관하여 설명되었다. 융합 모델은 (예를 들어, 콘텐츠 아이템과 연관된 텍스트, 콘텐츠 아이템과 연관된 이미지들 등으로부터의) 콘텐츠 아이템과 연관되어 검출된 제품들의 하나 이상의 표시들 및 신뢰도 값들(예를 들어, 콘텐츠 아이템에서 제품이 실제로 참조된다는 신뢰도)을 수용하고, 다수의 입력들에 기초하여 콘텐츠 아이템에서 제품이 참조될 전반적인 가능성을 출력으로서 생성한다. 시스템(300A)과 유사한 시스템들이 다른 머신 러닝 기반 작업들을 수행하기 위해 이용될 수 있으며, 예를 들어, 텍스트 또는 이미지 파싱 모델들(이들의 출력이 융합 모델에 대한 입력으로서 제공됨)이 입력 데이터, 출력 데이터 등이 적절하게 대체되어, 시스템(300A)과 관련하여 설명된 방식과 유사한 방식으로 동작될 수 있다.
도 3b는 일부 실시예들에 따른, 콘텐츠 아이템과 하나 이상의 제품들 사이의 연관성을 생성하기 위한 예시적인 시스템(300B)의 블록도이다. 시스템(300B)은 다수의 모듈들, 예를 들어, 이미지 식별(330), 이미지 확인(verification)(340), 텍스트 식별(350), 융합(fusion)(360) 등을 포함할 수 있다. 일부 실시예들에서, 시스템(300B)의 다수의 모듈들은 콘텐츠 아이템들로부터 제품들을 식별하기 위해 함께 동작될 수 있다. 예를 들어, 콘텐츠 아이템의 이미지들에서 검출된 제품들 및 콘텐츠 아이템의 메타데이터(예를 들어, 제목, 설명, 캡션들 등)가 다수의 입력 채널들에 기초하여, 콘텐츠 아이템과 하나 이상의 제품들이 연관될 가능성을 결정하기 위해 융합 모델에 제공될 수 있다. 융합 모델에 의해 결정되는 바와 같이, 콘텐츠 아이템에서 제품이 나타날 가능성에 응답하여 액션(예를 들어, 제품의 표시를 포함하도록 콘텐츠 아이템의 메타데이터를 업데이트하는 것)이 취해질 수 있다.
이미지 식별 모듈(330)은 모델과 연관된 이미지들로부터 하나 이상의 제품들을 식별하기 위해 이용될 수 있으며, 예를 들어, 콘텐츠 아이템으로부터의 이미지들은 비디오에 존재하는 제품들을 식별하기 위해 제품들(예를 들어, 수천 개의 제품들)의 데이터베이스에서의 이미지와 비교될 수 있다. 존재하는 제품들은 콘텐츠 아이템의 특정 주제들(예를 들어, 콘텐츠 아이템에서 리뷰된 제품들), 콘텐츠 아이템에 포함된 제품들(예를 들어, 부수적으로 나타나는 제품들, 특별히 하이라이트되지 않고 나타나는 제품들 등) 등을 포함할 수 있다. 텍스트 식별 모듈(350)은 콘텐츠 아이템과 연관된 메타데이터/텍스트 데이터로부터, 예를 들어, 콘텐츠 아이템의 제목, 콘텐츠 아이템에 대한 설명, 콘텐츠 아이템과 연관된 캡션들 등을 포함하는 텍스트로부터, 콘텐츠 아이템과 연관된 하나 이상의 제품들을 식별할 수 있다. 이미지 확인 모듈(340)은 하나 이상의 이미지들을 사용하여 콘텐츠 아이템에서 식별된 제품들을 확인할 수 있다. 예를 들어, 이미지 확인 모듈(340)은 이미지 식별 모듈(330)과 유사하게 작용할 수 있지만, (예를 들어, 잠재적 제품들의 이미지들을 다른 모듈에 의해 제공되는 보다 제한된 범위의 제품 이미지들과 비교함으로써) 별개의 모듈에 의해 식별된 하나 이상의 제품들의 존재를 확인하기 위해 사용될 수 있다. 융합 모듈(360)은 콘텐츠 아이템에 포함된 후보 제품 및 연관된 신뢰도 값들을 수신할 수 있고, 다양한 입력들에 기초하여 콘텐츠 아이템에서 하나 이상의 제품들이 나타날 가능성을 결정할 수 있다.
이미지 식별(330)은 시각적 컴포넌트, 예를 들어, 비디오를 갖는 콘텐츠 아이템과 연관된 제품들을 결정하기 위해 이용될 수 있다. 이미지 식별(330)은 프레임 선택(332)을 포함할 수 있다. 프레임 선택(332)은 제품들의 이미지들을 검색하기 위한 비디오의 하나 이상의 프레임들을 선택하기 위해 이용될 수 있다. 프레임 선택(332)은 랜덤 샘플링, 주기적 샘플링, 지능형 샘플링 방법들 등을 통해 일어날 수 있다. 예를 들어, 콘텐츠 아이템(예를 들어, 비디오)이 머신 러닝 모델에 제공될 수 있고, 머신 러닝 모델은 하나 이상의 제품들을 포함할 가능성이 있는 비디오의 프레임들을 예측하도록 트레이닝될 수 있다.
하나 이상의 프레임들이 객체 검출 모델(334)에 제공될 수 있다. 객체 검출(334)은 하나 이상의 프레임들로부터 예측 객체를 추출할 수 있다. 예를 들어, 객체 검출(334)은 콘텐츠 아이템의 이미지 데이터의 사람, 동물, 배경 등으로부터 잠재적인 제품들을 격리할 수 있다. 객체 검출(334)은 머신 러닝 모델일 수 있거나 이를 포함할 수 있다.
검출된 객체들의 이미지들은 임베딩(336)에 제공될 수 있다. 임베딩(336)은 하나 이상의 이미지들을 보다 낮은 차원성으로 변환하는 것을 포함할 수 있다. 임베딩(336)은 하나 이상의 이미지들을 차원성 감소 모델에 제공하는 것을 포함할 수 있다. 차원성 감소 모델은 머신 러닝 모델일 수 있다. 차원성 감소 모델은 유사한 이미지들의 차원성을 유사한 방식으로 감소시키도록 구성될 수 있다. 예를 들어, 임베딩(336)은 이미지를 입력으로서 수신하고, 값들의 벡터를 출력으로서 생성할 수 있다. 임베딩(336)은, 유사한 이미지들(예를 들어, 동일하거나 유사한 제품들의 이미지들)이 차원성이 감소된 벡터 공간에서 유사하게(예를 들어, 데카르트 거리, 코사인 거리, 다른 거리 메트릭 등에 의해) 표현되도록, 구성, 트레이닝 등이 될 수 있다. 임베딩(336)은 차원성이 감소된 데이터를 생성할 수 있다.
차원성이 감소된 이미지 데이터는 제품 식별(338)에 제공될 수 있다. 제품 식별(338)은 임베딩(336)에 의해 제공되는 차원성이 감소된 표현들과 연관된 하나 이상의 제품들을 식별할 수 있다. 제품 식별(338)은 차원성이 감소된 이미지 데이터(예를 들어, 임베딩(336)에 의해 제공됨)를 제품 이미지 인덱스(339)에 포함된 제품들의 차원성이 감소된 이미지 데이터(예를 들어, 임베딩(336)에 의해 사용된 바와 동일한 머신 러닝 모델에 의해 제품들의 이미지들로부터 생성됨)와 비교할 수 있다. 제품 이미지 인덱스(339)는 데이터 저장소의 일부로서 저장될 수 있다. 제품 이미지 인덱스(339)는 예를 들어, 많은 제품들(예를 들어, 수백 개의 제품들, 수천 개의 제품들, 또는 그 이상)을 포함할 수 있다. 제품 이미지 인덱스(339)는 저장된 이미지 데이터(예를 들어, 차원성이 감소된 이미지 데이터)와 제품 식별자들, 제품 표시자들 등 사이의 연관성을 포함할 수 있다. 제품 이미지 인덱스(339)는 세그먼트화될 수 있으며, 예를 들어, 저장된 차원적으로 감소된 데이터는 하나 이상의 카테고리들, 부류들 등으로 분류될 수 있다. 예를 들어, 제품 식별(338)은 임베딩(336)으로부터 수신된 데이터를 특정 카테고리, 유형, 분류 등의 제품들과 비교할 수 있다. 일부 실시예들에서, 카테고리, 유형, 분류 등은 하나 이상의 사용자들, 하나 이상의 콘텐츠 제작자들에 의해 제공될 수 있거나, (예를 들어, 하나 이상의 머신 러닝 모델들에 의해) 자동으로 검출될 수 있는 등이다. 콘텐츠 아이템 또는 콘텐츠 아이템과 연관된 하나 이상의 제품들은 카테고리(예를 들어, 전자기기와 같은 일반적인 카테고리, 스크린 디바이스들과 같은 더 제한된 카테고리, 태블릿, 제조사 또는 브랜드, 모델과 같은 제품의 분류 등)와 연관될 수 있다. 제품 식별(338)은 콘텐츠 아이템의 이미지들에서 검출된 제품들의 하나 이상의 표시들(예를 들어, 제품 이미지 인덱스(339)에서 표현되는 제품들과 매칭될 수 있는 제품들의 리스트) 및 신뢰도 값들의 하나 이상의 표시들(예를 들어, 제품들의 리스트 각각이 정확하게 검출되었다는 신뢰도)을 생성할 수 있다. 이미지 식별(330)의 출력은 콘텐츠 아이템의 메타데이터를 업데이트하기 위해(예를 들어, 하나 이상의 제품들과의 연관성을 포함하도록, 하나 이상의 제품 식별자들 또는 표시자들을 포함하도록 등) 이용될 수 있다. 이미지 식별(330)의 출력은 예를 들어, 이미지 식별(330)에 의해 식별된 이미지들의 콘텐츠 아이템에서의 존재를 확인(verify)하기 위해, 이미지 확인(340)에 제공될 수 있다. 이미지 식별(330)의 출력은 예를 들어, 콘텐츠 아이템에 포함된 제품들의 전체론적 및/또는 다중 입력 결정을 융합 모델(366)을 통해 생성하기 위해, 융합(360)에 제공될 수 있다. 이미지 식별(330)의 출력은 예를 들어, 텍스트 식별(350)에 의해 질의되며, 검색되며, 비교되는 등의 제품들의 공간을 제한하기 위해, 텍스트 식별(350)(도시되지 않음)에 제공될 수 있다. 일부 실시예들에서, 이미지 식별(330)은 비디오 콘텐츠 아이템의 하나 이상의 프레임들에서 발견되는 제품들을 식별하기 위해 이용된다. 예를 들어, 이미지 식별 모듈(330)은 임의의 선택된 프레임에서 검출된 모든 제품들의 리스트를 생성하고, 선택된 각 프레임에서 각 제품에 대한 신뢰도 값들을 제공하도록 구성될 수 있다. 이미지 식별 모듈(330)은 이미지 기반 제품 데이터, 예를 들어, 제품들의 하나 이상의 식별자들을 생성할 수 있으며, 제품들은 콘텐츠 아이템의 이미지들에 기초하여 식별된다.
이미지 확인 모듈(340)은 콘텐츠 아이템의 하나 이상의 이미지들을 사용하여 콘텐츠 아이템의 식별된 제품들의 존재를 확인하도록 구성될 수 있다. 예를 들어, 이미지 확인 모듈(340)은 다른 모델들에 의해 식별된 제품들의 존재를 확정하도록 구성된 모델들을 포함할 수 있다. 이미지 확인 모듈(340)은 이차 식별(345)을 포함할 수 있다. 이차 식별(345)은 이미지 식별(330)과 유사한 컴포넌트들을 포함할 수 있다. 일부 실시예들에서, 이미지 식별 모듈(330)은 이차 식별(345)이 제품 후보 이미지 인덱스(344)와 통신하는 것 대신에 또는 이에 추가하여, 제품 후보 이미지 인덱스(344)와 직접 통신할 수 있다. 일부 실시예들에서, 이차 식별(345)은 이미지 식별(330)과 유사한 역할들을 수행할 수 있지만, 상이한 모델들, 상이한 트레이닝 데이터를 사용하여 트레이닝된 모델들, 상이한 프레임들을 선택하거나 상이한 객체들을 검출하도록 구성된 모델들 등을 포함할 수 있다.
이미지 확인(340)은 합성 모델(341)을 포함할 수 있다. 합성 모델(341)은 이미지 식별 모듈(330), 텍스트 식별 모듈(350), 이차 식별(345)(데이터 흐름은 도시되지 않음) 등에 의해 식별된 제품들의 표시를 수신할 수 있다. 합성 모델(341)은 데이터를 제공하기 위해 객체 검출 모델(342)(예를 들어, 제품들의 카테고리 또는 분류를 위해 특별히 구성된 객체 검출 모델)을 선택할 수 있다. 합성 모델(341)은 이미지 선택을 포함할 수 있으며, 예를 들어, 합성 모델(341)은 객체 검출(342)에 하나 이상의 이미지들을 제공할 수 있으며, 객체 검출(334)에 제공할 하나 이상의 프레임들을 선택할 수 있는 등이다. 예를 들어, 합성 모델(341)은 이미지 식별(330) 및 텍스트 식별(350)로부터 수신되는 데이터에 기초하여, 제품을 포함할 가능성이 있는 하나 이상의 프레임들을 객체 검출(342)에 제공할 수 있다. 객체 검출 모델(342)은 예를 들어, 합성 모델(341)의 기능에 의해 변경되는, 객체 검출 모델(334)과 유사한 기능들을 수행할 수 있다. 임베딩(343)은 예를 들어, 검출된 제품들의 이미지들의 차원성을 감소시키기 위한, 임베딩(336)과 유사한 기능들을 수행할 수 있다. 일부 실시예들에서, 제품 후보 이미지 인덱스(344)는 다른 모듈들(예를 들어, 이미지 식별(330), 텍스트 식별(350) 등)에 의해 검출된 차원이 감소된 이미지 데이터(예를 들어, 값들의 벡터들)를 포함할 수 있다. 이차 식별(345)은 콘텐츠 아이템에서의 제품들의 존재를 확인하기 위해, 차원성이 감소된 이미지 데이터(예를 들어, 임베딩된 이미지 데이터)를 제품 후보 이미지 인덱스(344)(예를 들어, 이미지 확인 모듈(340) 이외의 모듈에 의해 식별된 제품들)의 후보 데이터와 비교할 수 있다.
텍스트 식별(350)은 콘텐츠 아이템과 연관된 텍스트 데이터(예를 들어, 메타데이터)로부터 하나 이상의 제품들을 식별하도록 구성될 수 있다. 텍스트 식별(350)은 콘텐츠 아이템의 메타데이터에 기초하여 메타데이터 기반 제품 데이터, 예를 들어, 하나 이상의 제품들 식별자들을 생성할 수 있다. 텍스트 식별(350)은 콘텐츠 아이템과 연관된 텍스트 데이터에 기초하여 텍스트 기반 제품 데이터, 예를 들어, 하나 이상의 제품들 식별자들을 생성할 수 있다. 텍스트 식별(350)은 콘텐츠 아이템 제목, 콘텐츠 아이템 설명, 콘텐츠 아이템과 연관된 캡션들(예를 들어, 머신 생성 캡션들), 콘텐츠 아이템과 연관된 코멘트들, 및/또는 콘텐츠 아이템의 다른 텍스트 데이터 또는 메타데이터 중 하나 이상으로부터의 제품들을 식별할 수 있다. 콘텐츠 아이템과 연관된 텍스트 데이터(예를 들어, 메타데이터)가 텍스트 파싱 모델(352)에 제공될 수 있다. 텍스트 파싱 모델(352)은 머신 러닝 모델일 수 있다. 텍스트 파싱 모델(352)은 콘텐츠 아이템과 연관된 텍스트 데이터로부터 제품들을 검출 또는 예측하도록 구성될 수 있다. 텍스트 파싱 모델(352)은 제품 식별자들(354)에 저장된 제품 식별자들을 갖는 하나 이상의 제품들을 검출하도록 구성될 수 있다. 텍스트 파싱 모델(352)은 이미지 확인 모듈(340)에 출력(예를 들어, 검출된 후보 제품들의 리스트, 연관된 신뢰도 값들 등)을 제공할 수 있다. 텍스트 파싱 모델(352)은 합성 모델(341)에 출력을 제공할 수 있다. 텍스트 파싱 모델(352)은 이미지 확인의 제품들에 영향을 미치는 출력을 제공할 수 있으며, 예를 들어, 텍스트 파싱 모델(352)의 출력이 텍스트 식별 모듈(350)에 의해 검출된 제품들이 제품 후보 이미지 인덱스(344)에 추가되게 할 수 있다. 이미지 확인 모듈(340)은 다른 모듈들, 예를 들어, 이미지 식별 모듈(330), 텍스트 식별 모듈(350) 등에 의해 검출된 제품들을 포함하는 인덱스(예를 들어, 제품 후보 이미지 인덱스(344))를 질의할 수 있다.
융합 모듈(360)은 하나 이상의 소스들(예를 들어, 이미지 식별 모듈(330), 이미지 확인 모듈(340), 텍스트 식별 모듈(350) 등)로부터 출력 데이터(예를 들어, 검출된 제품들, 연관된 신뢰도 값들)를 수신할 수 있다. 융합 모듈(360)은 다른 소스들, 예를 들어, 콘텍스트 어휘 추출(362), 또는 추가적인 특징 추출(363)로부터 데이터를 더 수신할 수 있다. 콘텍스트 어휘 추출(362)은 예를 들어, 콘텐츠 아이템의 잠재적인 제품들에 콘텍스트를 제공할 수 있으며, 예를 들어, 일부 제품들과 연관된 카테고리들 또는 주제들을 검출할 수 있다. 콘텍스트 어휘 추출(362)은 하나 이상의 머신 러닝 모델들에 의해 수행될 수 있다. 콘텍스트 어휘 추출(362)은 콘텐츠 아이템과 연관된 텍스트, 콘텐츠 아이템과 연관된 메타데이터 등으로부터 콘텍스트 정보를 검출할 수 있다. 추가적인 특징 추출(363)은 콘텐츠 아이템에서 하나 이상의 제품들이 나타나는지를 결정하기 위해 사용될 수 있는 추가적인 세부사항들을 제공할 수 있다. 추가적인 특징들은 비디오 임베딩들을 포함할 수 있다. 추가적인 특징들은 콘텐츠 아이템의 다른 메타데이터, 예를 들어, 콘텐츠 아이템이 콘텐츠 제공 플랫폼에 업로드된 날짜(예를 들어, 제품의 출시일과 비교됨), 콘텐츠 아이템의 분류(예를 들어, 쇼핑 또는 제품 리뷰 비디오가 다른 유형의 비디오보다 제품들을 포함할 가능성이 더 클 수 있음) 등을 포함할 수 있다.
다수의 소스들로부터의 데이터는 융합 모델(366)에 제공될 수 있다. 융합 모델(366)은 예를 들어, 하나 이상의 제품들과 신뢰도 값들을 포함하는 데이터를 수신하고, 하나 이상의 제품들과 콘텐츠 아이템에서 제품들이 나타날 가능성을 나타내는 신뢰도 값들을 결정하도록 구성될 수 있다. 일부 실시예들에서, 콘텐츠 아이템은 비디오일 수 있다. 일부 실시예들에서, 콘텐츠 아이템은 라이브 스트리밍되는 피드, 예를 들어, 라이브 스트리밍되는 비디오 피드(예를 들어, 제품 리뷰 스트림, 언박싱 스트림 등)일 수 있다. 콘텐츠 아이템은 숏폼 비디오일 수 있다.
도 4a 내지 도 4e는 일부 실시예들에 따른, 연관된 제품들을 나타내는 UI 엘리먼트들을 포함하는, 사용자 디바이스 상에 제시된 예시적인 UI들을 도시한다. 도 4a 내지 도 4e는 디바이스들(400A-E)의 애플리케이션들의 일부로서 제공되는 UI들, 예를 들어, 웹 브라우저 애플리케이션들, 콘텐츠 플랫폼과 연관되거나/이에 의해 제공되는 모바일 애플리케이션들 등을 포함할 수 있다. 도 4a 내지 도 4e의 UI들의 다양한 엘리먼트들과의 사용자 상호작용은 제시된 UI 엘리먼트들에 대한 변경을 야기할 수 있다. 예를 들어, 콘텐츠 아이템이 연관된 제품들을 갖는다는 것을 나타내는 UI 엘리먼트와의 상호작용은 (예를 들어, 연관된 제품들에 관한) 추가적인 정보를 제시하는 제2 UI 엘리먼트가 디스플레이(예를 들어, 제1 UI 엘리먼트를 대체하며, 제1 UI 엘리먼트를 확장하는 등)되게 할 수 있다 . UI 엘리먼트는 상호작용될 때, UI가 연관된 제품들에 관한 보다 적은 정보를 디스플레이(예를 들어, 하나 이상의 연관된 제품들을 설명하는 패널을 축소시킴)하게 하는 엘리먼트를 포함할 수 있다. 하나 이상의 제품들과 연관된 UI 엘리먼트와 상호작용하는 것은 상이한 효과들, 예를 들어, 콘텐츠 아이템을 제시하기 위한 UI 환경으로의 전환을 야기할 수 있다. 새로운 UI 환경은 콘텐츠 아이템의 하나 이상의 제품들과 연관된 하나 이상의 UI 엘리먼트들을 포함할 수 있다. 제품과 연관된 UI 엘리먼트와 상호작용하는 것은 제품의 거래(예를 들어, 구매)를 가능하게 하는 UI 엘리먼트의 디스플레이를 야기할 수 있다. 도 4a 내지 도 4e에서 제시되는 UI들과 UI 엘리먼트들 사이의 다양한 상호작용들이 가능하고(예를 들어, 제1 UI 레이아웃의 엘리먼트와 상호작용하는 것은 제2 UI 레이아웃으로의 전환을 야기할 수 있음), 샘플 UI들, 유사한 UI들 간의 임의의 전환, 유사한 UI 엘리먼트들의 포함 등이 본 개시의 범위 내에 있다. 도 4a 내지 도 4e는 비디오 콘텐츠 아이템들과 관련하여 설명되며, 다른 유형들의 콘텐츠 아이템들(예를 들어, 이미지 콘텐츠, 텍스트 콘텐츠, 오디오 콘텐츠 등)이 유사한 UI들로 제시될 수 있다. 도 4a 내지 도 4e 중 하나 이상과 관련하여 제시된 임의의 선택적 특징들, 엘리먼트들 등은 적절하게, 이들 도면들 중 다른 도면과 유사한 시스템들에 포함될 수 있다.
도 4a는 일부 실시예들에 따른, 하나 이상의 연관된 제품들을 나타내는 UI 엘리먼트(404)를 포함하는 예시적인 UI(402)를 제시하는 디바이스(400A)를 도시한다. UI(402)의 엘리먼트들 및/또는 유사한 UI 엘리먼트들을 포함하는 UI가 사용자 선택을 위한 하나 이상의 콘텐츠 아이템들을 제시하기 위한 동작들의 일부로서 디바이스(400A)에 의해 제시될 수 있다. UI 엘리먼트(404)는 도 4a에서 축소된 상태, 예를 들어, 축소된 디폴트 상태로 도시되어 있다.
UI(402)는 제1 콘텐츠 아이템 선택기(406)(예를 들어, 비디오 섬네일) 및 제2 콘텐츠 아이템 선택기(408)를 포함한다. 일부 실시예들에서, 더 많거나 더 적은 콘텐츠 아이템들이 선택가능할 수 있으며, UI(402)가 추가적인 콘텐츠 아이템들을 보기 위해 스크롤될 수 있는 등이다. UI 엘리먼트(404)는 콘텐츠 아이템 선택기(406)에 의해 나타내어지는 콘텐츠 아이템과 연관된다. UI 엘리먼트(404)(및 제품들과 관련된 도 4a 내지 도 4d의 다른 UI 엘리먼트들)는 콘텐츠 아이템 또는 UI 엘리먼트(404)와 연관된 콘텐츠 아이템에 대한 콘텐츠 아이템 선택기 위, 옆, 이와 중첩하여, 내, 아래 등에 제시될 수 있다. 일부 실시예들에서, 제품 정보(예를 들어, 제품/콘텐츠 아이템 연관성)는 콘텐츠 제작자에 의해 제공될 수 있다. 제품 정보는 하나 이상의 사용자들에 의해 제공될 수 있다. 제품 정보는 관리자에 의해 제공될 수 있다. 제품 정보는 예를 들어, 하나 이상의 머신 러닝 모델들, 시스템(300B)과 같은 시스템 등을 통해, 콘텐츠 아이템으로부터 검색될 수 있다.
일부 실시예들에서, 사용자에는 UI 엘리먼트(404)와 상호작용하여, 대체된 UI 엘리먼트, 업데이트된 UI 엘리먼트 등이 제시될 수 있다. 예를 들어, 사용자는 콘텐츠 아이템과 연관된 제품들에 관한 더 많은 정보를 디스플레이하기 위해 확장 엘리먼트(410)와 상호작용할 수 있다. 일부 실시예들에서, 확장 UI 엘리먼트(404)는 콘텐츠 아이템과 연관된 하나 이상의 제품들에 관한 추가적인 정보를 포함하는 패널을 열 수 있다. UI 엘리먼트(404)를 확장하는 것, UI 엘리먼트(404)와 상호작용하는 것 등은 예를 들어, 도 4b 내지 도 4d에서 도시된 엘리먼트들을 포함하도록, UI(402)의 제시를 조정할 수 있다.
UI 엘리먼트(404)는 예를 들어, 확장 엘리먼트(410), 연관된 제품들의 표시(예를 들어, 콘텐츠 아이템과 몇 개의 제품들이 연관되는지), 제품들(412)의 시각적 표시(예를 들어, 거래 또는 구매가 이용가능하다는 시각적 표시, 제품에 대한 판매자에 대한 링크가 이용가능하다는 시각적 표시 등) 등을 포함할 수 있다. UI 엘리먼트(404)의 하나 이상의 컴포넌트들과의 사용자 상호작용은 디바이스(400A)가 UI 엘리먼트(404)의 제시를 변경하게 할 수 있으며, 예를 들어, 확장 엘리먼트(410)의 사용자 선택이 UI 엘리먼트(404)의 제시가 확장된 상태로 변경되게 할 수 있다.
UI 엘리먼트(404)를 포함하는 UI는 디바이스(400A)가 콘텐츠 아이템들에 대한 요청을 콘텐츠 제공 플랫폼(예를 들어, 도 1의 콘텐츠 제공 플랫폼(120))에 전송하는 것에 응답하여 제시될 수 있다. UI 엘리먼트(404)는 홈 피드에 제시될 수 있다(예를 들어, 사용자 또는 사용자 계정에 대한 제안 콘텐츠 아이템들의 리스트). UI 엘리먼트(404)는 제안 피드에 제시될 수 있다(예를 들어, 하나 이상의 최근에 제시된 콘텐츠 아이템들에 기초한 제안 콘텐츠 아이템들의 리스트). UI 엘리먼트(404)는 플레이리스트(예를 들어, 사용자가 채운, 제작자가 채운 등의, 제시될 콘텐츠 아이템들의 리스트)의 일부로서 제시될 수 있다. UI 엘리먼트(404)는 (예를 들어, 디바이스(400A)에 의해 콘텐츠 제공 플랫폼에 전송된 사용자 생성 검색 질의에 응답하여) 검색 피드에 제시될 수 있다. 예를 들어, 하나 이상의 제품들과 연관된 UI 엘리먼트는 검색 질의에 포함된 제품, 제품 카테고리, 제품 브랜드 등의 포함에 기초하여 제시될 수 있다. UI 엘리먼트(404)는 제품 포커싱된 피드(예를 들어, 쇼핑 콘텐츠 피드)에 제시될 수 있다. UI 엘리먼트(404)는 콘텐츠 아이템의 사용자 선택에 응답할 수 있으며, 예를 들어, 연관된 비디오를 시청하기 위한 사용자 선택 시 디스플레이될 수 있으며, 연관된 콘텐츠 아이템이 제시될 수 있는 등이다. UI 엘리먼트(404)는 콘텐츠 아이템에 대한 사용자의 검출된 관심에 기초하여 제시될 수 있다. 예를 들어, 사용자는 비디오에 대한 섬네일 상에 체류할 수 있다(예를 들어, 사용자는 섬네일 상에 커서를 놓을 수 있으며, 사용자는 섬네일이 제시된 상태에서 스크롤을 일시 정지할 수 있는 등이다). 체류가 하나 이상의 조건들(예를 들어, 지속기간 조건, 섬네일 조건의 위치 등)을 충족시킬 때, UI 엘리먼트(404)가 제시될 수 있다. UI 엘리먼트(404)는 추가적인 데이터, 예를 들어, 사용자 계정 이력, 사용자 설정들, 사용자 선호도들 등에 응답하여 제시될 수 있다. UI 엘리먼트(404)는 제시될 콘텐츠 아이템들의 리스트와 함께 제시될 수 있으며, UI 엘리먼트(404)는 콘텐츠 아이템을 제시하면서(예를 들어, UI 엘리먼트(404)의 제품들과 연관된 비디오를 재생하면서) 제시될 수 있는 등이다.
도 4b는 일부 실시예들에 따른, 연관된 제품들을 나타내는 UI 엘리먼트(422)를 포함하는 예시적인 UI(420)를 제시하는 디바이스(400B)를 도시한다. UI 엘리먼트(422)는 콘텐츠 아이템과 연관된 하나 이상의 제품들에 관한 정보를 포함한다. UI 엘리먼트(422)는 도 4b에서 확장된 상태로 제시된다. UI 엘리먼트(422)는 다수의 컴포넌트들을 포함할 수 있다. 예를 들어, 제1 컴포넌트는 제1 제품에 관한 정보(예를 들어, 사진, 제품명, 가격, 타임스탬프 등)를 포함할 수 있으며, 제2 컴포넌트는 제2 제품에 관한 정보를 포함할 수 있는 등이다. 일부 실시예들에서, UI 엘리먼트(422)는 예를 들어, 추가적인 제품들에 관한 정보에 액세스하기 위해 스크롤가능할 수 있다. UI 엘리먼트(422)는 다수의 탭들을 포함할 수 있다(예를 들어, UI 엘리먼트(422)는 제품 정보 및 하나 이상의 다른 유형들의 정보와 연관될 수 있음). 예를 들어, UI 엘리먼트(422)는 제품 탭(424) 및 챕터 탭(426)을 포함할 수 있다. 일부 실시예들에서, 제품 탭(424)이 디폴트로 열릴 수 있다(예를 들어, 제품 탭(424)의 콘텐츠들이 디폴트로 제시될 수 있다). 일부 실시예들에서, 챕터 탭(426)이 디폴트로 열릴 수 있다(예를 들어, 챕터 탭(426)의 콘텐츠들이 디폴트로 제시될 수 있다). 일부 실시예들에서, 다른 탭이 디폴트로 열릴 수 있다. 예를 들어, 챕터 탭(426)은 연관된 제품을 갖는 콘텐츠 아이템이 없으면 디폴트로 개방될 수 있으며, 디폴트로 열리는 탭은 (예를 들어, 챕터 탭들, 제품 탭들 등의 엘리먼트들과 상호작용한 것의) 사용자 이력, 검색 질의(예를 들어, 제품명을 포함하는 검색, "제품 리뷰"와 같은 관련 어휘 또는 어구 등) 등에 기초하여 선택될 수 있다. UI 엘리먼트(422)는 추가적인 엘리먼트들, 예를 들어, 사용자가 UI(420), UI 엘리먼트(422) 등의 제시를 제어하기 위해 이용할 수 있는 엘리먼트들을 포함할 수 있다. 예를 들어, UI 엘리먼트(422)는 UI 엘리먼트(422) 없이 UI(420)를 제시하기 위한 "닫기" 엘리먼트, 보다 적은 정보를 디스플레이하기 위한(예를 들어, 패널을 도 4a의 UI 엘리먼트(404)와 유사하게 축소시키기 위한, UI 엘리먼트(422)의 제시를 축소된 상태로 변경하기 위한 등) "축소" 엘리먼트, 보다 많은 정보를 디스플레이하기 위한 하나 이상의 엘리먼트들(예를 들어, 하나 이상의 리스트된 제품들, 리스트된 제품 아이콘들 등이 제품에 관한 추가적인 정보를 제시하거나, 제품의 구매를 가능하게 하는 등을 위해 선택될 수 있음) 등을 포함할 수 있다.
UI 엘리먼트(422)의 제품 탭(424)은 제품들의 하나 이상의 사진들, 제품들에 관한 정보(예를 들어, 제품명들, 제품들에 대한 설명 등), 하나 이상의 제품들의 가격, 제품과 관련된 콘텐츠 아이템의 타임 스탬프 등을 포함할 수 있다. 일부 실시예들에서, 제품 정보는 콘텐츠 제작자, 하나 이상의 사용자들, 시스템 관리자 등에 의해 제공될 수 있다. 일부 실시예들에서, 제품 정보는 하나 이상의 모델들, 예를 들어, 머신 러닝 모델들에 의해 검색될 수 있다. 예를 들어, 콘텐츠 아이템에서의 제품의 존재, 콘텐츠 아이템에서의 제품의 연관성, 콘텐츠 아이템에서 제품이 나타나는 타임 스탬프 또는 위치 등이 하나 이상의 머신 러닝 모델들에 의해 결정될 수 있다. 도 3b의 시스템(300B)과 같은 시스템은 콘텐츠 아이템(예를 들어, 비디오)과 연관된 하나 이상의 제품들을 결정하기 위해 이용될 수 있다. 콘텐츠 아이템과 관련된 콘텐츠 아이템의 일부분(예를 들어, 타임 스탬프)은, 예를 들어, 제품과 연관된 캡션들의 타이밍, 제품을 포함하는 비디오의 이미지 또는 프레임의 디스플레이의 타이밍 등을 통해 결정될 수 있다. 일부 실시예들에서, 제품을 선택하는 것은 제품과 연관된 콘텐츠 아이템의 일부분의 제시를 야기할 수 있으며, 제품과 연관된 타임스탬프에 의해 나타내어지는 시간에서 시작되는 콘텐츠 아이템의 제시를 야기할 수 있는 등이다.
일부 실시예들에서, 특정 제품과 연관된 UI 엘리먼트(422)의 부분(예를 들어, 시각적 컴포넌트)은 디폴트로 디스플레이되며, 상이하게 디스플레이(예를 들어, 하이라이트)되는 등일 수 있다. 예를 들어, 제품명을 포함하는 검색 질의를 사용자로부터 수신 시, 검색된 제품과 연관된 디스플레이를 포함하는 UI 엘리먼트(422)가 디스플레이될 수 있다.
일부 실시예들에서, 콘텐츠 아이템과 제품들 사이의 하나 이상의 연관성은, 예를 들어, 콘텐츠 아이템과 연관된 메타데이터로서 저장될 수 있다(콘텐츠 아이템과 연관된 메타데이터는 콘텐츠 아이템 제목, 설명, 제시 이력, 콘텐츠 아이템과 연관된 캡션들 등을 더 포함할 수 있음). 디바이스(예를 들어, 디바이스(400B))가 제시할 콘텐츠 아이템들의 리스트를 디스플레이하기 위한 명령어들, 사용자에게 콘텐츠 아이템을 제시하기 위한 명령어들, 하나 이상의 제품들에 관한 정보를 포함하는 UI 엘리먼트(예를 들어, UI 엘리먼트(422))를 제시하기 위한 명령어들 등을 실행하는 것에 응답하여, 디바이스는 제품을 콘텐츠 아이템에 연관시키는 메타데이터에 기초하여 제품에 관한 정보를 검색할 수 있다. 제품에 관한 정보(예를 들어, 이미지들, 컬러 변형과 같은 연관된 제품들, 가용성, 가격 등)가 데이터 저장소로부터 검색될 수 있다. 데이터 저장소는 제품들에 관한 정보를 포함할 수 있고, 예를 들어, 제품 가격과 같은 정보가 변경됨에 따라 업데이트될 수 있으며, UI들은 콘텐츠 아이템/제품 연관성에 기초하여, 업데이트된 정보를 검색하고 업데이트된 정보를 디스플레이할 수 있다.
UI 엘리먼트(422)는 홈 피드(예를 들어, 사용자 또는 사용자 계정에 대한 제안된 콘텐츠 아이템들의 리스트), 제안된 피드(예를 들어, 하나 이상의 최근에 제시된 콘텐츠 아이템들에 기초한 제안된 콘텐츠 아이템들의 리스트), 플레이리스트, 검색 결과들의 리스트, 쇼핑 콘텐츠 페이지 등의 일부로서 제시될 수 있다. UI 엘리먼트(422)는 제시할 콘텐츠 아이템의 선택 시, 콘텐츠 아이템의 제시 시 등에 제시될 수 있다. UI 엘리먼트(422)는 체류(예를 들어, 콘텐츠 섬네일 상의 스크롤을 일시 정지하는 것, 도 4a의 UI 엘리먼트(404)와 같은 덜 상세한 엘리먼트 상의 스크롤을 일시 정지하는 것 등) 시 제시될 수 있다. 일부 실시예들에서, UI 엘리먼트(422)는 사용자 액션 시, 예를 들어, 스크롤 시, 제거 또는 대체될 수 있으며, UI 엘리먼트(422)는 (예를 들어, 콘텐츠 아이템들의 리스트로부터의 콘텐츠 아이템의 선택을 가능하게 하며, 콘텐츠 아이템들의 리스트를 통한 스크롤을 간략화하는 등을 위해) UI 엘리먼트(404)와 유사하게 축소될 수 있다. UI 엘리먼트(422)는 콘텐츠 아이템들의 리스트를 제시하면서, 단일 콘텐츠 아이템을 제시하면서(예를 들어, UI 엘리먼트(422)의 제품들과 연관된 비디오를 재생하면서) 등에 디스플레이될 수 있다.
도 4c는 일부 실시예들에 따른, 콘텐츠 아이템을 제시하는 UI 엘리먼트(432) 및 연관된 제품들에 관한 정보를 제시하는 UI 엘리먼트(434)를 포함하는 예시적인 UI(430)를 제시하는 디바이스(400C)를 도시한다. UI 엘리먼트(434)는 도 4b의 UI 엘리먼트(422)보다 콘텐츠 아이템과 연관된 제품들에 관한 더 상세한 정보를 포함할 수 있다. UI 엘리먼트(434)는 제품 포커싱될 수 있으며, 예를 들어, 사용자에게 제품 정보를 디스플레이하도록 기능할 수 있다. UI 엘리먼트(434)는 하나 이상의 컴포넌트들, 예를 들어, 제1 제품과 연관된 컴포넌트, 제2 제품과 연관된 컴포넌트 등을 포함할 수 있다. 일부 실시예들에서, UI 엘리먼트(434)는 콘텐츠 아이템과 연관된 제품들의 리스트를 포함할 수 있다. UI 엘리먼트(434)는 내비게이트가능, 스크롤가능 등일 수 있다. UI 엘리먼트(434)는 하나 이상의 제어 엘리먼트들, 예를 들어, 이전 뷰로 되돌아가기 위한 뒤로 버튼, UI 엘리먼트(434)를 닫고 (예를 들어, 제품들과 관련되지 않은) UI 엘리먼트들의 상이한 세트를 보기 위한 닫기 버튼 등을 포함할 수 있다. 일부 실시예들에서, UI 엘리먼트(434)는 다른 사용자 액션, 예를 들어, 사용자가 연관된 콘텐츠 아이템을 지나서 스크롤하는 것에 응답하여 UI(430)로부터 제거될 수 있다. 일부 실시예들에서, UI(434)를 통해 제시된 제품의 사용자 선택은 제품의 구매를 가능하게 하는 UI 엘리먼트의 제시를 프롬프트할 수 있다. 일부 실시예들에서, UI 엘리먼트(434)는 (예를 들어, 사용자 이력, 사용자 검색 질의에서의 하나 이상의 어휘들, 사용자가 쇼핑 콘텐츠 아이템들을 브라우징하고/하거나 사용자에게 쇼핑 콘텐츠 아이템들이 제시된 것, 제품과 연관된 UI 엘리먼트 또는 제품의 사용자 선택 등에 기초하여) 콘텐츠 아이템과 연관된 하나 이상의 제품들에 대한 사용자 관심의 결정에 응답하여 디스플레이될 수 있다.
UI 엘리먼트(434)는 콘텐츠 아이템(예를 들어, UI 엘리먼트(432)를 통해 제시된 콘텐츠 아이템)과 연관된 하나 이상의 제품들에 관한 하나 이상의 사진 및/또는 추가적인 정보를 포함할 수 있다. 사진들 및/또는 정보는 콘텐츠 제작자, 하나 이상의 사용자들에 의해 제공되며, 데이터베이스로부터 검색되는(예를 들어, 제품/콘텐츠 아이템 연관성 메타데이터에 기초함) 등일 수 있다. 일부 실시예들에서, UI 엘리먼트(432)는 자동으로 스크롤될 수 있다. 예를 들어, UI 엘리먼트(432)는, 예를 들어, 현재 제시되고 있는 콘텐츠 아이템의 일부분과 연관된 제품이 보이도록, 콘텐츠 아이템이 제시됨에 따라 스크롤될 수 있다. UI 엘리먼트(432)는 제시될 콘텐츠 아이템의 사용자 선택에 응답하여 제시될 수 있다. UI 엘리먼트(432)는 다른 요인들, 예를 들어, 사용자 이력에 응답하여 제시될 수 있다. UI 엘리먼트(432)는 연관된 콘텐츠 아이템, 연관된 UI 엘리먼트 등에 사용자가 체류 시 제시될 수 있다.
일부 실시예들에서, UI 엘리먼트(434)는 (예를 들어, 도 4b의 UI 엘리먼트(422)를 통해) 단일 제품, 예를 들어, 사용자에 의해 선택된 제품에 관한 정보를 제시할 수 있다. UI 엘리먼트(434)는 제품 포커싱될 수 있거나, 단일 제품 상에 포커싱될 수 있거나, (예를 들어, 도 4d의 UI 엘리먼트(444)와 관련하여 설명된 바와 같이) 제품 변형들을 디스플레이할 수 있거나, 또는 본 명세서에서 설명되는 다른 UI 엘리먼트들과 관련하여 설명되는 다른 엘리먼트들, 컴포넌트들, 및/또는 정보를 포함할 수 있다.
도 4d는 일부 실시예들에 따른, 콘텐츠 아이템을 제시하는 UI 엘리먼트(442) 및 제품과 연관된 거래를 가능하게 하는 UI 엘리먼트(444)를 포함하는 예시적인 UI(440)를 제시하는 디바이스(400D)를 도시한다. UI 엘리먼트(444)는 거래를 하는, 예를 들어, 제품을 구매하는, 사용자와 연관된 하나 이상의 필드들을 제공할 수 있다. 예를 들어, UI 엘리먼트(444)는 대체 제품들(예를 들어, 색상 변형, 크기 변형, 제품들의 번들의 변형, 다른 브랜드의 유사한 제품들과 같은 관련 제품들 등과 같은, 콘텐츠 아이템과 연관된 하나 이상의 제품들과 관련된 제품들)에 관한 정보, 사진들, 가격들 등을 포함할 수 있는 대체 제품 패널(446)을 포함할 수 있다.
UI 엘리먼트(444)는 거래 엘리먼트(448)를 포함할 수 있다. 일부 실시예들에서, 거래 엘리먼트(448)는 UI(440)를 제공하는 애플리케이션 내에서 거래(예를 들어, 구매)를 가능하게 할 수 있다. 일부 실시예들에서, 거래 엘리먼트(448)는 다른 애플리케이션, 다른 웹사이트 등을 통해 거래를 가능하게 할 수 있으며, 예를 들어, 거래 엘리먼트(448)와 상호작용하는 것이 사용자를 판매자 웹사이트로 디렉팅할 수 있으며, 디바이스(400D)가 제품 구매와 연관된 애플리케이션을 열도록 디렉팅할 수 있는 등이다.
UI 엘리먼트(444)는 탐색가능, 스크롤가능 등일 수 있다 UI 엘리먼트(444)는 하나 이상의 제어 엘리먼트들, 예를 들어, 이전 뷰로 되돌아가기 위한 뒤로 버튼, UI 엘리먼트(444)를 닫고 UI(440)를 통해 UI 엘리먼트들의 상이한 세트를 디스플레이하기 위한 닫기 버튼 등을 포함할 수 있다. 일부 실시예들에서, UI 엘리먼트(444)는 사용자 선택을 위한 콘텐츠 아이템들의 리스트의 일부로서, 콘텐츠 아이템을 제시하는 UI(440)의 일부로서 등으로 디스플레이될 수 있다. UI 엘리먼트(444)는 콘텐츠 아이템에 포함된 하나 이상의 제품들과 연관된 거래(예를 들어, 구매)에서의 사용자 관심의 결정, 예를 들어, 도 4c의 UI 엘리먼트(434)와 같은 UI 엘리먼트로부터의 제품의 선택, 콘텐츠 아이템의 선택, 콘텐츠 아이템 상의 체류, 검색 질의에 포함된 제품 또는 제품 관련 용어, 사용자에 의한 콘텐츠 아이템들의 쇼핑 포커싱된 리스트로의 내비게이션 등에 응답하여 디스플레이될 수 있다. UI 엘리먼트(444)는 예를 들어, 콘텐츠 아이템을 하나 이상의 제품들과 연관시키는 메타데이터에 기초하여, 데이터베이스로부터 하나 이상의 제품들에 관한 정보를 수신할 수 있다.
도 4a 내지 도 4d에서 도시된 UI 엘리먼트들은 다양한 구성들로 통합될 수 있다. 예를 들어, UI 엘리먼트(404)와 같은 UI 엘리먼트가 제시될 수 있으며, UI 엘리먼트(404)와의 사용자 상호작용 시 UI 엘리먼트(422)와 같은 엘리먼트가 제시될 수 있으며, UI 엘리먼트(422)와의 사용자 상호작용 시 UI 엘리먼트(434)가 제시될 수 있으며, UI 엘리먼트(434)와의 사용자 상호작용 시 UI 엘리먼트(444)가 제시될 수 있는 등이다. 하나 이상의 UI 엘리먼트들은 상이한 UI 엘리먼트를 디스플레이할 것을 디바이스에 명령하기 위한 내비게이션 엘리먼트들을 포함할 수 있으며, 예를 들어, 확장 엘리먼트(410)와 상호작용하는 것이 UI 엘리먼트(422)와 같은 UI 엘리먼트의 제시를 야기할 수 있고, UI 엘리먼트(404)의 상이한 엘리먼트와 상호작용하는 것이 UI 엘리먼트(434), UI 엘리먼트(444) 등과 같은 UI 엘리먼트의 제시를 야기할 수 있다.
UI 엘리먼트들 사이의 다른 연결들이 가능하며, 예를 들어, UI 엘리먼트(404)와 같은 UI 엘리먼트와 상호작용하는 것이 UI 엘리먼트(422), 이를테면 UI 엘리먼트(434), 이를테면 UI 엘리먼트(444) 등의 디스플레이를 야기할 수 있다. UI 엘리먼트(422) 또는 그 일부와 같은 UI 엘리먼트와의 상호작용들은 UI 엘리먼트 이를테면 UI 엘리먼트(404), 이를테면 UI 엘리먼트(434), 이를테면 UI 엘리먼트(444) 등과의 제시를 야기할 수 있다. UI 엘리먼트(434) 또는 그 일부와 같은 UI 엘리먼트와의 사용자 상호작용은 UI 엘리먼트 이를테면 UI 엘리먼트(404), UI 엘리먼트(422), 이를테면 UI 엘리먼트(444) 등의 제시를 야기할 수 있다. UI 엘리먼트(444) 또는 그 일부와 같은 UI 엘리먼트와의 사용자 상호작용은 UI 엘리먼트 이를테면 UI 엘리먼트(404), 이를테면 UI 엘리먼트(434), 이를테면 UI 엘리먼트(444) 등의 디스플레이를 야기할 수 있다. 제시되는 디폴트 UI 엘리먼트는 UI 엘리먼트가 제시되는 환경(예를 들어, 검색에 응답하여 제시되는 콘텐츠 아이템들의 리스트, 홈 피드, 쇼핑 피드, 시청 피드 등; 제시되는 콘텐츠 아이템을 포함하는 환경; 등)에 따를 수 있다. 예를 들어, UI 엘리먼트의 형태의 선택은 다수의 요인들에 기초할 수 있다. 일부 실시예들에서, 검색 질의에의 제품명, 카테고리 등의 포함은 디폴트 UI 엘리먼트를 변경할 수 있으며, 예를 들어, UI가 제품에 관한 정보를 포함하는 UI 엘리먼트, 제품에 대한 구매 옵션들을 포함하는 UI 엘리먼트 등을 디폴트로 보여주게 할 수 있다. 디스플레이할 UI 엘리먼트의 형태의 결정은 사용자 이력, 사용자 계정 이력, 사용자 액션(예를 들어, 홈 피드의 열기, 시청 피드의 제시, 검색 질의의 송신, 쇼핑 피드의 선택 등)에 기초할 수 있다. 제품과 연관된 UI 엘리먼트들의 형태들 사이의 전환은 제시되는 UI 엘리먼트의 형태를 결정하기 위해 사용되는 데이터와 유사한 추가적인 데이터에 의해 결정될 수 있다.
도 4e는 일부 실시예들에 따른, 콘텐츠 제시 엘리먼트(452) 상에 UI 엘리먼트들이 오버레이된 예시적인 디바이스(400E)를 도시한다. 디바이스(400E)는 UI(450)를 포함한다. UI(450)는 애플리케이션, 예를 들어, 콘텐츠 제공 플랫폼과 연관된 애플리케이션에 의해 제공될 수 있다. 제시 엘리먼트(452)는 콘텐츠 아이템(예를 들어, 비디오)을 제시할 수 있다. UI(450)는 추가적인 콘텐츠 아이템들의 리스트, 제시된 콘텐츠 아이템과 연관된 추가적인 정보(예를 들어, 제목, 설명, 코멘트들, 라이브 챗 등), 제품들과 연관된 추가적인 UI 엘리먼트들(예를 들어, UI 엘리먼트들(404, 422, 434, 444), 또는 변형들과 같은 UI 엘리먼트들) 등을 제시할 수 있다.
제시 엘리먼트(452)는 하나 이상의 UI 엘리먼트들과 오버레이될 수 있다. UI 엘리먼트(454)는 (예를 들어, 비디오에서 보여지는) 콘텐츠 아이템에 포함된 제품을 나타낼 수 있다. UI 엘리먼트(454)는 도 4a 내지 도 4d의 다른 UI 엘리먼트들과 유사한 기능들을 수행할 수 있으며, 예를 들어, 제품에 관한 정보를 제시하며, 제품에 관한 추가적인 정보의 디스플레이를 가능하게 하며, 제품 구매를 가능하게 하는 등일 수 있다. 오버레이된 엘리먼트들의 배치는 하나 이상의 사용자들, 콘텐츠 제작자들, 모델들(예를 들어, 이미지에서의 제품들 또는 객체들을 검출하도록 구성된 머신 러닝 모델들이 객체들을 포함하는 콘텐츠 아이템 디스플레이의 영역들을 회피하기 위해 이용될 수 있음) 등에 의해 결정될 수 있다. UI 엘리먼트(454)는 콘텐츠 아이템에서(예를 들어, 비디오에서) 하나 이상의 관련 제품이 위치된 곳의 시각적 표시자를 포함할 수 있다. UI 엘리먼트(454)는 콘텐츠 아이템의 제시 동안, 예를 들어, 비디오가 재생되면서, 제시될 수 있다. UI 엘리먼트(454)는 콘텐츠 아이템에서의 관련 제품의 존재에 응답하여 디스플레이 및/또는 제거될 수 있으며, 예를 들어, 콘텐츠 아이템이 비디오에 있는 동안 디스플레이될 수 있다. UI 엘리먼트(454)는 다수의 제품들을 나타낼 수 있으며, 제품들을 식별할 수 있으며(예를 들어, 하나 이상의 제품들을 명명할 수 있음), 제품들에 관한 정보를 디스플레이할 수 있는 등이다. UI 엘리먼트(454)와 같은 다수의 UI 엘리먼트들은 예를 들어, 비디오의 섬네일 상에, 비디오의 제시 전반에 걸쳐, 비디오 동안 동시에 등에 디스플레이될 수 있다.
UI 엘리먼트(454)와 같은 오버레이된 UI 엘리먼트들은 제품들과 연관된 다른 UI 엘리먼트들과 조합하여 제시될 수 있으며, 예를 들어, UI 엘리먼트(456)가 콘텐츠 아이템과 연관된 다수의 제품들에 관한 정보를 포함하는 패널을 열 수 있으며, UI 엘리먼트(454)가 사진에 찍힌 제품에 관한 정보를 포함하는 UI 엘리먼트의 디스플레이를 야기할 수 있는 등이다.
오버레이된 UI 엘리먼트(454)는 콘텐츠 아이템의 시각적 표현 위에(예를 들어, 앞에, 이보다 시각적 우선순위를 가짐 등) 디스플레이될 수 있다. 예를 들어, UI 엘리먼트(454)는 비디오 섬네일 상에 오버레이될 수 있다. UI 엘리먼트(454)는 콘텐츠 아이템 위에 디스플레이될 수 있다. 예를 들어, UI 엘리먼트(454)는 재생 중인 비디오 상에 오버레이될 수 있다. UI 엘리먼트(454)의 표시는 사용자 액션들에 응답하여 수행될 수 있다. 예를 들어, 사용자가 하나 이상의 제품들에 관심이 있다고 결정 시(예를 들어, 검색 질의, 제품 관련 UI 엘리먼트들과의 상호작용, 사용자 이력 등을 통해) UI 엘리먼트(454)는 다른 UI 엘리먼트 상에 오버레이되어 디스플레이될 수 있다. 일부 실시예들에서, 콘텐츠 아이템은 라이브 스트리밍되는 비디오일 수 있다. 일부 실시예들에서, 콘텐츠 아이템은 숏폼 비디오일 수 있다.
일부 실시예들에서, UI 엘리먼트(454)는 UI 엘리먼트(404)의 성능에 대한 설명들과 유사하게 수행할 수 있으며, 예를 들어, 하나 이상의 제품들이 콘텐츠 아이템과 연관되어 있음을 사용자에게 알릴 수 있다. UI 엘리먼트(454)는 UI 엘리먼트(404)와 유사하게 사용자로부터의 상호작용에 응답할 수 있으며, 예를 들어, 제품 정보를 포함하는 패널을 열거나 확장할 수 있으며, 더 많은 또는 상이한 정보를 디스플레이하도록 UI 엘리먼트(404)의 제시를 변경할 수 있으며, 더 많은 정보를 포함하도록 UI 엘리먼트를 확장할 수 있으며, 콘텐츠 아이템의 제시를 개시할 수 있는 등이다. UI 엘리먼트(454)는 UI 엘리먼트(434)와 유사하게 사용자로부터의 상호작용에 응답할 수 있으며, 예를 들어, 거래를 가능하게 하는 패널을 열거나 확장할 수 있다.
도 5a 내지 도 5f는 일부 실시예들에 따른, 연관된 제품들을 갖는 콘텐츠 아이템들과 관련된 방법들(500A-F)의 흐름도들이다. 방법들(500A-F)은 하드웨어(예를 들어, 회로부, 전용 로직, 프로그래밍가능 로직, 마이크로코드, 프로세싱 디바이스 등), 소프트웨어(이를테면 프로세싱 디바이스, 범용 컴퓨터 시스템, 또는 전용 머신 상에서 실행되는 명령어들), 펌웨어, 마이크로코드, 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 일부 실시예들에서, 방법들(500A-F)은 부분적으로, 도 1의 콘텐츠 플랫폼 시스템(102), 제품 식별 시스템(175), 및/또는 클라이언트 디바이스(110)에 의해 수행될 수 있다. 방법(500A)은 부분적으로, 제품 식별 시스템(175)(예를 들어, 도 1의 서버 머신(170) 및 데이터 세트 생성기(172), 도 2의 데이터 세트 생성기(272))에 의해 수행될 수 있다. 제품 식별 시스템(175)은 본 개시의 실시예들에 따른, 머신 러닝 모델 트레이닝, 검증, 또는 테스트 중 적어도 하나를 위한 데이터 세트를 생성하기 위해 방법(500A)을 사용할 수 있다. 방법들(500B-D)은 제품 식별 시스템(175)(예를 들어, 도 3b의 시스템(300B)) 및/또는 서버 머신(180)(예를 들어, 트레이닝, 검증, 및 테스트 동작들이 서버 머신(180)에 의해 수행될 수 있음)에 의해 수행될 수 있다. 방법(500E)은 클라이언트 디바이스(110)에 의해 수행될 수 있다. 방법(500E)은, 예를 들어, 콘텐츠 아이템들에 포함된 제품들의 사용자 식별을 가능하게 하는, 제품들과 연관된 하나 이상의 UI 엘리먼트들을 디스플레이하기 위해 클라이언트 디바이스(110)에 의해 이용될 수 있다. 방법(500F)은 콘텐츠 플랫폼 시스템(102)에 의해 수행될 수 있으며, 예를 들어, 클라이언트 디바이스(110)에 의한 제품들과 연관된 하나 이상의 UI 엘리먼트들의 제시를 가능하게 하기 위해 콘텐츠 제공 플랫폼(120)의 프로세싱 로직에 의해 수행될 수 있다. 일부 실시예들에서, 비일시적 머신 판독가능 저장 매체가, (예를 들어, 제품 식별 시스템(175), 서버 머신(180) 등의) 프로세싱 디바이스에 의해 실행될 때 프로세싱 디바이스로 하여금 방법들(500A-F) 중 하나 이상을 수행하게 하는 명령어들을 저장한다.
설명의 간략화를 위해, 방법들(500A-F)은 일련의 동작들로서 도시 및 설명된다. 그러나, 본 개시에 따른 동작들은 다양한 순서들로 그리고/또는 동시에 그리고 본 명세서에서 제시 및 설명되지 않는 다른 동작들과 일어날 수 있다. 또한, 개시되는 발명 내용에 따른 방법들(500A-F)을 구현하기 위해 모든 예시되는 동작들이 수행되는 것은 아닐 수 있다. 또한, 당업자들은 방법들(500A-F)이 대안적으로 이벤트들 또는 상태 다이어그램을 통해 일련의 상호관련된 상태들로서 표현될 수 있다는 것을 이해 및 인식할 것이다.
도 5a는 일부 실시예들에 따른, 머신 러닝 모델에 대한 데이터 세트를 생성하기 위한 방법(500A)의 흐름도이다. 도 5a를 참조하면, 일부 실시예들에서, 블록(401)에서, 프로세싱 로직 구현 방법(500A)은 트레이닝 세트(T)를 빈 세트로 초기화한다.
블록(502)에서, 프로세싱 로직은 제품 데이터, 이미지 데이터, 메타데이터, 텍스트 데이터, 신뢰도 데이터, 등을 포함할 수 있는 제1 데이터 입력(예를 들어, 제1 트레이닝 입력, 제1 검증 입력)을 생성한다. 일부 실시예들에서, 제1 데이터 입력은 데이터의 유형들에 대한 특징들의 제1 세트를 포함할 수 있고, 제2 데이터 입력은 데이터의 유형들에 대한 특징들의 제2 세트를 포함할 수 있다(예를 들어, 도 3a와 관련하여 설명된 바와 같이). 입력 데이터는 일부 실시예들에서 이력 데이터를 포함할 수 있다.
일부 실시예들에서, 블록(503)에서, 프로세싱 로직은 선택적으로, 데이터 입력들 중 하나 이상(예를 들어, 제1 데이터 입력)에 대한 제1 타겟 출력을 생성한다. 일부 실시예들에서, 입력은 콘텐츠 아이템에서 검출된 하나 이상의 예측되는 제품들 및 연관된 신뢰 구간들을 포함하고, 타겟 출력은 콘텐츠 아이템에 포함된 제품들의 라벨들을 포함할 수 있다. 일부 실시예들에서, 입력은 콘텐츠 아이템과 연관된 데이터의 하나 이상의 세트들(예를 들어, 이미지 데이터 이를테면 비디오의 프레임들 또는 비디오의 프레임들의 부분들, 메타데이터 이를테면 제목 텍스트 또는 캡션 텍스트 등)을 포함하고, 타겟 출력은 콘텐츠 아이템에 포함된 제품들의 리스트이다. 일부 실시예들에서, 제1 타겟 출력은 예측 데이터이다. 일부 실시예들에서, 입력 데이터는 캡션 텍스트 데이터의 형태일 수 있고, 타겟 출력은 제품 정보를 포함함으로써 캡션들을 정정하도록 구성된 머신 러닝 모델에 대해, 제품명들/참조들을 포함하기 위한 캡션들에 대한 가능한 정정 리스트일 수 있다. 일부 실시예들에서는, 타겟 출력이 생성되지 않는다(예를 들어, 타겟 출력이 제공될 것을 요구하기 보다는, 입력 데이터에서 상관성을 그룹화하거나 찾을 수 있는 비지도형 머신 러닝 모델).
블록(504)에서, 프로세싱 로직은 선택적으로, 입력/출력 매핑을 나타내는 매핑 데이터를 생성한다. 입력/출력 매핑(또는 매핑 데이터)은 데이터 입력(예를 들어, 본 명세서에서 설명되는 데이터 입력들 중 하나 이상), 데이터 입력에 대한 타겟 출력, 및 데이터 입력(들)과 타겟 출력 사이의 연관성을 지칭할 수 있다. 일부 실시예들에서, 이를테면 타겟 출력이 제공되지 않는 머신 러닝 모델들과 연관하여, 블록(504)은 실행되지 않을 수 있다.
블록(505)에서, 프로세싱 로직은 일부 실시예들에서, 블록(504)에서 생성된 매핑 데이터를 데이터 세트(T)에 추가한다.
블록(506)에서, 프로세싱 로직은 데이터 세트(T)가 도 1의 모델들(190) 중 하나와 같은 머신 러닝 모델을 트레이닝, 검증, 및/또는 테스트 중 적어도 하나에 충분한지 여부에 기초하여 분기한다. 만약 그렇다면, 실행은 블록(507)으로 진행하며, 그렇지 않다면, 실행은 다시 블록(502)에서 계속된다. 일부 실시예들에서, 데이터 세트(T)의 충분은 데이터 세트에서, 일부 실시예들에서, 출력들에 매핑되는 입력들의 수에 단순히 기초하여 결정될 수 있는 한편, 일부 다른 실시예들에서, 데이터 세트(T)의 충분은 입력들의 수에 추가적으로, 또는 대신, 하나 이상의 다른 기준들(예를 들어, 데이터 예들의 다양성의 측정, 정확도 등)에 기초하여 결정될 수 있다는 것을 유념해야 한다.
블록(507)에서, 프로세싱 로직은 머신 러닝 모델(190)을 트레이닝, 검증, 및/또는 테스트하기 위해 (예를 들어, 도 1의 서버 머신(180)에) 데이터 세트(T)를 제공한다. 일부 실시예들에서, 데이터 세트(T)는 트레이닝 세트이고, 트레이닝을 수행하기 위해 서버 머신(180)의 트레이닝 엔진(182)에 제공된다. 일부 실시예들에서, 데이터 세트(T)는 검증 세트이고, 검증을 수행하기 위해 서버 머신(180)의 검증 엔진(184)에 제공된다. 일부 실시예들에서, 데이터 세트(T)는 테스트 세트이고, 테스트를 수행하기 위해 서버 머신(180)의 테스트 엔진(186)에 제공된다. 신경망의 경우에, 예를 들어, 주어진 입력/출력 매핑의 입력 값들(예를 들어, 데이터 입력들(210)과 연관된 수치 값들)이 신경망에 입력되고, 입력/출력 매핑의 출력 값들(예를 들어, 타겟 출력들(220)과 연관된 수치 값들)이 신경망의 출력 노드들에 저장된다. 그런 다음, 신경망에서의 연결 가중치들이 러닝 알고리즘(예를 들어, 역전파 등)에 따라 조정되고, 데이터 세트(T)에서의 다른 입력/출력 매핑들에 대해 절차가 반복된다. 블록(507) 이후, 모델(예를 들어, 모델(190))은 서버 머신(180)의 트레이닝 엔진(182)을 사용하여 트레이닝되거나, 서버 머신(180)의 검증 엔진(184)을 사용하여 검증되거나, 또는 서버 머신(180)의 테스트 엔진(186)을 사용하여 테스트되는 것 중 적어도 하나일 수 있다. 트레이닝된 모델은 출력 데이터를 생성하기 위해 예를 들어, 제품 데이터를 사용자에게 제공하기 위해 제품 정보 플랫폼(161)에 의해 사용되며, 융합 모델에 제공되며, 하나 이상의 제품 연관성을 포함하도록 콘텐츠 아이템의 메타데이터를 업데이트하기 위해 이용될 등의 출력 데이터를 생성하도록 제품 식별 시스템(175)에 의해 구현될 수 있다.
도 5b는 일부 실시예들에 따른, 콘텐츠 아이템의 메타데이터를 업데이트하기 위한 방법(500B)의 흐름도이다. 블록(510)에서, 프로세싱 로직(예를 들어, 프로세싱 디바이스, 컴퓨터 프로세서 등)은 제1 데이터를 수신한다. 제1 데이터는 콘텐츠 아이템의 메타데이터에 기초하여 콘텐츠 아이템과 연관하여 결정되는 제1 제품의 제1 식별자(예를 들어, 표시자, 추가 데이터에 대한 포인터, 제품을 식별하는 코드 등)를 포함한다. 콘텐츠 아이템은 시각적 콘텐츠, 오디오 콘텐츠, 텍스트 콘텐츠, 비디오 콘텐츠 등일 수 있거나 이를 포함할 수 있다. 제1 제품은 콘텐츠 아이템의 메타데이터를 하나 이상의 트레이닝된 머신 러닝 모델들(예를 들어, 도 3b의 텍스트 식별 모듈(350))에 제공함으로써 결정되었을 수 있다. 메타데이터는 텍스트 데이터, 예를 들어, 콘텐츠 아이템 제목, 설명, 캡션들, 코멘트들, 라이브 챗 등을 포함할 수 있다. 제1 데이터는 제1 제품 및 콘텐츠 아이템과 연관된 제1 신뢰도 값을 더 포함할 수 있다. 제1 신뢰도 값은 제1 제품이 제1 콘텐츠 아이템과 연관될 가능성, 예를 들어, 제1 제품이 콘텐츠 아이템의 메타데이터에서 나타나거나 참조될 가능성을 나타낼 수 있다. 제1 데이터는 제2 제품의 식별자, 및 제2 제품과 연관된 제2 신뢰도 값을 더 포함할 수 있다. 제1 데이터는 제품들의 리스트 및 연관된 신뢰도 값들을 포함할 수 있다.
블록(512)에서, 프로세싱 로직은 제1 제품의 제2 식별자를 포함하는 제2 데이터를 수신한다. 제2 식별자는 콘텐츠 아이템의 이미지 데이터(예를 들어, 비디오의 하나 이상의 프레임들, 하나 이상의 이미지들의 부분들 등)에 기초하여 콘텐츠 아이템과 연관되어 결정되었다. 제2 데이터는 또한, 제1 제품 및 콘텐츠 아이템과 연관된 제2 신뢰도 값을 포함한다. 신뢰도 값 및 식별자는 하나 이상의 머신 러닝 모델들(예를 들어, 도 3b의 이미지 식별 모듈(330))에 의해 생성될 수 있다. 머신 러닝 모델들은 이미지 데이터의 차원성을 감소시키도록 구성된 시스템들을 포함할 수 있다. 하나 이상의 후보 제품 이미지들은 차원적으로 감소될 수 있다(예를 들어, 이미지가 트레이닝된 머신 러닝 모델을 통해 값들의 벡터로 변환됨). 머신 러닝 모델들은 예를 들어, 이미지가 제품을 포함할 가능성을 결정하기 위해, 콘텐츠 아이템으로부터의 차원성이 감소된 이미지 데이터를 데이터 저장소의 차원적으로 감소된 제품 이미지와 비교하는 동작을 포함하는 동작들을 수행할 수 있다. 제2 데이터는 적어도 제1 제품을 포함하는, 제품들의 리스트(예를 들어, 제품 식별자들) 및 신뢰도 값들의 리스트를 포함할 수 있다. 신뢰도 값들은 연관된 제품들이 콘텐츠 아이템에서 나타나거나, 콘텐츠 아이템에 의해 참조되는 등의 가능성을 나타낼 수 있다.
일부 실시예들에서, 콘텐츠 아이템의 하나 이상의 이미지들은 그 이미지들에 포함된 잠재적인 제품들에 대해 분석된다. 잠재적인 제품들의 존재는 예를 들어, 추가 제품 이미지 검출 분석을 위한 콘텐츠 아이템의 이미지들(예를 들어, 비디오 콘텐츠 아이템의 상이한 프레임들, 추가적인 프레임들 등)을 제공하는 것, 텍스트 또는 메타데이터 확인 등에 의해 확인될 수 있다. 예를 들어, 후보 제품들이 찾아진 후에 후보 제품들의 확인에 관한 추가 분석이 수행될 수 있으며, 예를 들어, 식별된 제품들의 다른 증거에 대한 검색이 수행될 수 있다. 일부 실시예들에서, 콘텐츠 아이템과 연관된 텍스트 데이터 및/또는 메타데이터가 잠재적/후보 제품들에 대해 분석될 수 있다. 잠재적인 제품들의 존재는 예를 들어, 이미지 기반 확인, 텍스트 확인 등에 의해 확인될 수 있다.
일부 실시예들에서, 프로세싱 로직에는 하나 이상의 타임스탬프들, 예를 들어, 검출된 후보 제품들을 갖는 비디오의 프레임들의 타임스탬프들, 검출된 후보 제품들이 나타나는 비디오 또는 오디오 콘텐츠와 연관된 캡션들의 타임스탬프들 등이 더 제공될 수 있다. 프로세싱 로직은 추가 분석을 위해, 콘텐츠 아이템의 메타데이터를 조정하기 위해, 콘텐츠 아이템의 제시와 연관된 UI 엘리먼트들을 생성하기 위해 등에 타임스탬프들을 이용할 수 있다.
블록(514)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델에 제1 데이터 및 제2 데이터를 제공한다. 트레이닝된 머신 러닝 모델은 융합 모델일 수 있다. 트레이닝된 머신 러닝 모델에는 제품들의 하나 이상의 리스트들과 연관된 신뢰도 값들이 제공될 수 있다.
블록(516)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델로부터 제1 제품과 연관된 제3 신뢰도 값을 수신한다. 일부 실시예들에서, 프로세싱 로직은 제1 제품을 포함하는, 제품들의 리스트와 연관된 신뢰도 값들의 리스트를 수신할 수 있다.
블록(518)에서, 프로세싱 로직은 제3 신뢰도 값을 고려하여 콘텐츠 아이템과 연관된 메타데이터를 조정한다. 일부 실시예들에서, 메타데이터를 조정하는 것은 콘텐츠 아이템과 제품 사이의 하나 이상의 연결들을 메타데이터에 추가하는 것을 포함할 수 있다. 예를 들어, 메타데이터를 조정하는 것은, 특정 제품이 콘텐츠 아이템과 연관되고, 콘텐츠 아이템에서 특징이 되고, 콘텐츠 아이템에 포함되고, 콘텐츠 아이템에 의해 광고되는 등의 표시를 추가하는 것을 포함할 수 있다. 메타데이터를 조정하는 것은 예를 들어, 캡션 생성 동안 잘못 표기되었던 제품들에 대한 하나 이상의 참조들을 포함하도록, 콘텐츠 아이템의 캡션들을 조정하는 것을 포함할 수 있다.
도 5c는 일부 실시예들에 따른, 콘텐츠 아이템 및 제품 페어링과 연관된 머신 러닝 모델을 트레이닝하기 위한 방법(500C)의 흐름도이다. 일부 실시예들에서, 방법(500C)을 사용하여 트레이닝된 머신 러닝 모델은 융합 모델일 수 있다. 미디어 아이템 제품 페어링에 연결된 상이한 모델들, 예를 들어, 이미지 식별 모델들, 이미지 확인 모델들, 텍스트 식별 모델들, 캡션 업데이트 모델 등을 트레이닝하기 위해 유사한 방법이 이용될 수 있다.
블록(520)에서, 프로세싱 로직은 복수의 콘텐츠 아이템들과 연관된 제품 이미지 데이터를 수신한다. 제품 이미지 데이터는 제품들을 콘텐츠 아이템들에 연관시키는 데이터를 포함할 수 있으며, 이 연관성은 하나 이상의 이미지들, 예를 들어, 비디오의 프레임들로부터 도출될 수 있다. 제품 이미지 데이터는 이미지에서 검출된(예를 들어, 결정된) 하나 이상의 제품들(예를 들어, 잠재적 제품들, 후보 제품들)의 표시 및 하나 이상의 제품 이미지 신뢰도들을 포함한다.
블록(522)에서, 프로세싱 로직은 복수의 콘텐츠 아이템들과 연관된 제품 텍스트 데이터를 수신한다. 제품 텍스트 데이터는 제품들을 콘텐츠 아이템들에 연관시키는 데이터를 포함할 수 있다. 이 연관성은 콘텐츠 아이템들과 연관된 텍스트, 예를 들어, 콘텐츠 아이템들과 연관된 메타데이터로부터 도출될 수 있다. 제품 텍스트 데이터는 (콘텐츠 아이템들과 연관된) 텍스트에서 검출된 하나 이상의 제품들의 표시 및 하나 이상의 제품 텍스트 신뢰도 값들을 포함한다.
프로세싱 로직에 의해 블록들(520 및 522)에서 수신된(또는 일부 실시예들에서 획득된) 데이터는 융합 모델을 트레이닝하기 위한 트레이닝 입력으로서 사용될 수 있다. 상이한 기능들을 수행하도록 머신 러닝 모델들을 트레이닝하는 것은 프로세싱 로직이 트레이닝 입력으로서 상이한 데이터를 수신하는 것을 포함할 수 있다.
블록(524)에서, 프로세싱 로직은 복수의 콘텐츠 아이템들에 포함된 제품들을 나타내는 데이터를 수신한다. 예를 들어, 모델을 트레이닝하기 위해 사용되는 복수의 콘텐츠 아이템들 각각(예를 들어, 콘텐츠 아이템들과 연관된 데이터가 모델을 트레이닝하기 위해 사용될 수 있음)은 예를 들어, 하나 이상의 사용자들에 의해 라벨링되며, 콘텐츠 제작자에 의해 라벨링되는 등의 연관된 제품들의 리스트를 포함할 수 있다. 블록(524)에서 프로세싱 로직에 의해 수신된 데이터는 융합 모델을 트레이닝하기 위한 타겟 출력으로서 사용될 수 있다. 상이한 기능들을 수행하도록 머신 러닝 모델들을 트레이닝하는 것은 프로세싱 로직이 타겟 출력으로서 상이한 데이터를 수신하는 것을 포함할 수 있다.
블록(526)에서, 프로세싱 로직은 트레이닝 입력으로서 머신 러닝 모델에 제품 이미지 데이터 및 제품 텍스트 데이터를 제공한다. 프로세싱 로직은 상이한 머신 러닝 모델들을 트레이닝하기 위한 상이한 유형들의 데이터를 제공할 수 있다. 일부 실시예들에서, 프레임 선택을 위한 머신 러닝 모델은 트레이닝 입력으로서 모델에 비디오의 프레임들을 제공함으로써 트레이닝될 수 있다. 일부 실시예들에서, 객체 검출을 위한 머신 러닝 모델은 트레이닝 입력으로서 머신 러닝 모델에 이미지들(가능하게는 제품들을 포함함)을 제공함으로써 트레이닝될 수 있다. 임베딩을 위한 머신 러닝 모델은 트레이닝 입력으로서 모델에 객체들(예를 들어, 제품들)의 하나 이상의 이미지들을 제공함으로써 트레이닝될 수 있다. 일부 실시예들에서, 트레이닝 입력으로서 콘텐츠 아이템(예를 들어, 메타데이터)과 연관된 텍스트를 제공함으로써 텍스트 파싱 모델이 트레이닝될 수 있다. 일부 실시예들에서, 캡션들을 정정하도록 구성된 모델에는 트레이닝 입력으로서 머신 생성 캡션들이 제공될 수 있다.
블록(528)에서, 프로세싱 로직은 타겟 출력으로서 머신 러닝 모델에 복수의 콘텐츠 아이템들에 포함된 제품들(예를 들어, 복수의 콘텐츠 아이템들의 각 콘텐츠 아이템에 포함된 제품들의 리스트)을 제공한다. 프로세싱 로직은 상이한 머신 러닝 모델들을 트레이닝하기 위한 상이한 유형들의 데이터를 제공할 수 있다. 일부 실시예들에서, 타겟 출력으로서 하나 이상의 비디오들의 어느 프레임들이 제품을 포함하는지를 나타내는 데이터를 제공함으로써 프레임 선택을 위한 머신 러닝 모델이 트레이닝될 수 있다. 일부 실시예들에서, 타겟 출력으로서 모델에 제공된 이미지들 내의 객체들의 라벨들을 제공함으로써 객체 검출을 위한 머신 러닝 모델이 트레이닝될 수 있다. 일부 실시예들에서, 타겟 출력으로서 콘텐츠 아이템의 텍스트에 의해 참조되는 콘텐츠 아이템들을 제공함으로써 텍스트 파싱 모델이 트레이닝될 수 있다. 일부 실시예들에서, 캡션들을 정정하도록 구성된 모델에는 타겟 출력으로서 정정된 캡션들(예를 들어, 하나 이상의 제품들을 포함함)이 제공될 수 있다. 일부 실시예들에서는, 머신 러닝 모델(예를 들어, 비지도형 머신 러닝 모델)을 트레이닝하기 위해 타겟 출력이 제공되지 않는다.
도 5d는 일부 실시예들에 따른, 콘텐츠 아이템과 연관된 메타데이터를 조정하기 위한 방법(500D)의 흐름도이다. 블록(530)에서, 프로세싱 로직은 콘텐츠 아이템과 연관된 제1 메타데이터를 획득한다. 메타데이터는 텍스트 데이터를 포함할 수 있다. 메타데이터는 콘텐츠 아이템 제목, 설명, 캡션들, 코멘트들, 라이브 챗, 등을 포함할 수 있다. 블록(531)에서, 프로세싱 로직은 제1 메타데이터를 제1 모델에 제공한다. 일부 실시예들에서, 모델은 트레이닝된 머신 러닝 모델이다. 일부 실시예들에서, 모델은 제품 검출 모델이며, 예를 들어, 모델은 메타데이터를 수신하고 (예를 들어, 메타데이터를 고려하여) 콘텐츠 아이템과 연관된 제품들의 표시를 생성하도록 구성된다.
블록(532)에서, 프로세싱 로직은 제1 모델의 출력으로서 제1 메타데이터에 기초한 제1 제품 식별자 및 제1 제품 식별자와 연관된 제1 신뢰도를 획득한다. 제품 식별자는 ID 번호, 표시자, 제품명, 또는 (고유하게) 제품을 구별하는 임의의 데이터일 수 있다. 제1 제품 식별자는 제1 제품을 식별할 수 있다. 일부 실시예들에서, 프로세싱 로직은 제품들(예를 들어, 후보 제품들, 잠재적 제품들) 및 연관된 신뢰도 값들의 리스트를 획득할 수 있다.
블록(533)에서, 프로세싱 로직은 콘텐츠 아이템의 이미지 데이터를 획득한다. 일부 실시예들에서, 이미지 데이터는 비디오의 하나 이상의 프레임들을 포함하거나 또는 이들로부터 추출될 수 있다. 일부 실시예들에서, 이미지 데이터는 객체 검출 모델로부터 획득될 수 있다. 일부 실시예들에서, 이미지 데이터는 콘텐츠 아이템과 연관된 하나 이상의 제품들을 포함할 수 있다.
블록(534)에서, 프로세싱 로직은 이미지 데이터를 제2 모델에 제공한다. 일부 실시예들에서, 제2 모델은 머신 러닝 모델이다. 일부 실시예들에서, 제2 모델은 이미지들로부터 제품들을 식별하도록 구성된 모델이다. 일부 실시예들에서, 제2 모델은 이미지들로부터의 식별된 제품의 존재를 확인하도록 구성된 모델이다. 일부 실시예들에서, 제2 모델은 제공된 이미지 데이터의 차원성을 감소시킬 수 있다. 일부 실시예들에서, 제2 모델은 차원성이 감소된 이미지 데이터를 제2 차원성이 감소된 이미지 데이터(예를 들어, 데이터 저장소로부터 검색됨, 머신 러닝 모델에 의해 출력됨 등)와 비교할 수 있다.
블록(535)에서, 프로세싱 로직은 제2 모델의 출력으로서 이미지 데이터에 기초한 제2 제품 식별자 및 제2 제품 식별자와 연관된 제2 신뢰도를 획득한다. 일부 실시예들에서, 제2 제품 식별자는 제2 제품을 나타낸다. 일부 실시예들에서, 제2 제품은 제1 제품과 동일하다. 일부 실시예들에서, 프로세싱 로직은 제품들 및 연관된 신뢰도 값들의 리스트를 획득할 수 있다.
블록(536)에서, 프로세싱 로직은 제3 모델에 대한 입력으로서 제1 제품 식별자, 제1 신뢰도 값, 제2 제품 식별자, 및 제2 신뢰도 값을 포함하는 데이터를 제공한다. 제3 모델은 융합 모델일 수 있다.
블록(537)에서, 프로세싱 로직은 제3 모델의 출력으로서 제3 제품 식별자 및 제3 신뢰도 값을 획득한다. 일부 실시예들에서, 제3 신뢰도 값은 제3 제품 식별자에 의해 나타내어지는 제품이 콘텐츠 아이템과 연관될(예를 들어, 콘텐츠 아이템에 존재할) 가능성을 나타낼 수 있다. 일부 실시예들에서, 제3 모델은 제품들 및 연관된 신뢰도 값들의 리스트를 출력할 수 있다. 일부 실시예들에서, 제3 제품 식별자는 제3 제품을 식별한다. 일부 실시예들에서, 제3 제품은 제2 제품과 동일하다. 일부 실시예들에서, 제3 제품은 제1 제품과 동일하다. 일부 실시예들에서, 제1 제품, 제2 제품, 및 제3 제품은 모두 동일한 제품이다.
블록(538)에서, 프로세싱 로직은 제3 제품 식별자 및 제3 신뢰도 값을 고려하여 콘텐츠 아이템과 연관된 제2 메타데이터를 조정한다. 메타데이터를 조정하는 것은 하나 이상의 제품 연관성, 예를 들어, 연관된 제품의 표시들로 메타데이터를 보충하는 것을 포함할 수 있다. 메타데이터를 조정하는 것은 예를 들어, 잘못 전사되었을 수 있는(예를 들어, 머신 생성 캡셔닝 모델에 의해 잘못 전사됨) 제품들을 포함하도록 캡션들을 업데이트하는 것을 포함할 수 있다. 일부 실시예들에서, 프로세싱 로직은 콘텐츠 아이템 및 하나 이상의 제품들과 연관된 하나 이상의 타임 스탬프들(예를 들어, 비디오의 이미지에서 제품이 검출되는 비디오의 시간)을 더 수신할 수 있다. 메타데이터를 업데이트하는 것은 콘텐츠 아이템에서 제품이 찾아지는 시간의 표시를 메타데이터에 추가하는 것을 포함할 수 있다.
도 5e는 일부 실시예들에 따른, 하나 이상의 제품들과 연관된 UI 엘리먼트를 제시하기 위한 방법(500E)의 흐름도이다. 블록(540)에서, 프로세싱 로직(예를 들어, 사용자 디바이스, 클라이언트 디바이스 등)은 UI를 제시한다. UI는 하나 이상의 콘텐츠 아이템들(예를 들어, 비디오들)의 하나 이상의 그래픽 표현들을 포함한다. 콘텐츠 아이템들의 그래픽 표현들(예를 들어, 비디오 섬네일들)은 연관된 콘텐츠 아이템들의 제시를 개시하기 위해 선택될 수 있다. 콘텐츠 아이템들의 하나 이상의 그래픽 표현들은 하나 이상의 제품들과 연관된 UI 엘리먼트들과 디스플레이될 수 있다. 각 콘텐츠 아이템의 각 그래픽 표현은 하나 이상의 제품들과 연관된 UI 엘리먼트와 디스플레이될 수 있다. UI 엘리먼트(들)는 축소된 상태, 예를 들어, 축소된 디폴트 상태로 제시/디스플레이될 수 있다. UI 엘리먼트는 각 콘텐츠 아이템에 의해 다뤄지는 복수의 제품들을 식별하는 정보를 포함한다. UI 엘리먼트는 하나 이상의 제품들이 콘텐츠 아이템과 연관되어 있음을 식별할 수 있다. UI 엘리먼트는 콘텐츠 아이템과 연관되는(예를 들어, 비디오에서 다뤄지는) 하나 이상의 제품들을 (예를 들어, 명칭, 사진 등을 통해) 식별할 수 있다.
UI는 콘텐츠 아이템들의 선택가능한 그래픽 표현들을 제시할 수 있다. 표현된 콘텐츠 아이템들은 검색에 응답하여 제공되는 홈 피드의 일부, 시청 리스트의 일부, 플레이리스트의 일부, 쇼핑 피드의 일부 등일 수 있다. 일부 실시예들에서, UI 엘리먼트는 UI의 하나 이상의 다른 엘리먼트들의 위에 및/또는 앞에 오버레이될 수 있다. 예를 들어, (예를 들어, 축소된 상태의) UI 엘리먼트는 콘텐츠 아이템의 그래픽 표현 상에 오버레이될 수 있으며, 콘텐츠 아이템 상에 오버레이될 수 있는(예를 들어, 콘텐츠 아이템이 제시되고 있는 동안) 등이다.
블록(542)에서, 축소된 상태의 UI 엘리먼트와의 사용자 상호작용에 응답하여, 프로세싱 로직은 UI 엘리먼트의 제시를 축소된 상태에서 확장된 상태로 변경하면서 계속해서 각 비디오의 그래픽 표현의 표현을 가능하게 한다. UI 엘리먼트와의 상호작용은 UI 엘리먼트를 선택하는 것을 포함할 수 있다. UI 엘리먼트와의 상호작용은 UI 엘리먼트 상에 체류하는 것(예를 들어, UI 엘리먼트 상에 커서를 놓는 것, UI 엘리먼트로 스크롤하는 것과 스크롤을 일시 정지하는 것 등)을 포함할 수 있다. 확장된 상태의 UI 엘리먼트는 복수의 시각적 컴포넌트들을 포함할 수 있다. 각 시각적 컴포넌트는 복수의 제품들 중 하나와 연관될 수 있다. 시각적 컴포넌트들은 다양한 제품들과 연관된 사진들, 설명들, 가격들, 타임 스탬프들 등을 포함할 수 있다.
일부 실시예들에서, (예를 들어, 확장된 상태의) UI 엘리먼트는 다수의 탭들을 포함할 수 있다. 예를 들어, UI 엘리먼트는 제품들에 대한 탭, 콘텐츠 아이템의 챕터들 또는 부분들에 대한 탭 등을 포함할 수 있다. UI 엘리먼트는 연관된 제품들을 갖는 콘텐츠 아이템들에 대해 디폴트로 제품들에 대한 탭을 디스플레이/열 수 있다. UI 엘리먼트는 사용자 액션 및/또는 이력에 응답하여 디폴트로 제품들에 대한 탭을 디스플레이할 수 있다.
블록(544)에서, 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택에 응답하여, 프로세싱 로직은 선택된 시각적 컴포넌트와 연관된 제품을 다루는 각 콘텐츠 아이템의 제시를 개시한다. 프로세싱 로직은 선택된 시각적 컴포넌트와 연관된 제품을 다루는 비디오의 재생을 개시할 수 있다. 프로세싱 로직은 선택된 시각적 컴포넌트의 제품과 연관된 콘텐츠 아이템의 일부분의 제시를 개시할 수 있다(예를 들어, 비디오의 일부분의 재생을 개시함).
일부 실시예들에서, UI 엘리먼트와 상호작용하는 것은 UI 엘리먼트의 제품 포커싱된 상태로의 변경을 야기할 수 있다. 제품 포커싱된 상태는 하나 이상의 제품들에 관한 추가적인 정보, 세부 정보 등을 제시할 수 있다. 축소된 상태의 UI 엘리먼트와의 상호작용은 UI 엘리먼트의 제품 포커싱된 상태로의 변경을 야기할 수 있다. 확장된 상태의 UI 엘리먼트와의 상호작용(예를 들어, 제품과 연관된 UI 엘리먼트의 시각적 컴포넌트와의 상호작용)은 UI 엘리먼트의 제품 포커싱된 상태로의 변경을 야기할 수 있다.
일부 실시예들에서, UI 엘리먼트와 상호작용하는 것은 UI 엘리먼트의 제시의 거래 상태로의 변경을 야기할 수 있다. 축소된 상태의 UI 엘리먼트와의 상호작용은 UI 엘리먼트의 제시의 거래 상태로의 변경을 야기할 수 있다. 확장된 상태의 UI 엘리먼트와의 상호작용(예를 들어, 제품과 연관된 컴포넌트의 선택)은 UI 엘리먼트의 제시의 거래 상태로의 변경을 야기할 수 있다. 제품 포커싱된 상태의 UI 엘리먼트와의 상호작용은 UI 엘리먼트의 제시의 거래 상태로의 변경을 야기할 수 있다. UI 엘리먼트, UI 엘리먼트 컴포넌트 등의 선택 또는 상호작용이 거래 상태로의 전환을 야기하는지 여부를 결정하는 것은 사용자 이력, 사용자 선호도, 콘텐츠 아이템, 콘텐츠 아이템 피드(예를 들어, 검색 결과들, 시청 피드 등) 등에 기초하여 수행될 수 있다.
일부 실시예들에서, UI 엘리먼트는 제시된 콘텐츠 아이템 상에 오버레이될 수 있다. 예를 들어, 하나 이상의 제품들을 식별하는 UI 엘리먼트가 비디오가 재생되는 동안 비디오가 하나 이상의 제품들을 보여주고 있는 동안 등에 비디오 상에 오버레이되어 디스플레이될 수 있다. 오버레이된 UI 엘리먼트의 선택은 추가적인 UI 엘리먼트가 디스플레이되게 할 수 있으며, 오버레이된 UI 엘리먼트가 상이한 상태로 변경되게 할 수 있으며, 별개의 UI 엘리먼트가 상이한 상태로 변경되게 할 수 있는 등이다. 오버레이된 UI 엘리먼트는 축소된 상태, 확장된 상태, 제품 포커싱된 상태, 거래 상태 등으로 있을 수 있다. 오버레이된 UI 엘리먼트의 존재 및/또는 위치는 하나 이상의 트레이닝된 머신 러닝 모델들, 예를 들어, 제품들을 검출하도록 구성된 하나 이상의 모델들에 의해 결정될 수 있다.
도 5f는 일부 실시예들에 따른, 제품들과 연관된 하나 이상의 UI 엘리먼트들을 제시할 것을 디바이스에 명령하기 위한 방법(500F)의 흐름도이다. 블록(550)에서, 프로세싱 로직은 하나 이상의 콘텐츠 아이템들의 하나 이상의 그래픽 표현들을 포함하는 UI를 디바이스에 제공한다. 그래픽 표현들은 디바이스의 UI에 의한 디스플레이/제시를 위해 제공된다. 각 콘텐츠 아이템의 각 그래픽 표현은 각 콘텐츠 아이템의 제시를 개시하기 위해 선택가능하다. 콘텐츠 아이템들은 비디오들을 포함할 수 있다. 콘텐츠 아이템들은 라이브 스트리밍되는 비디오들을 포함할 수 있다. 그래픽 표현들은 디바이스에 의한 요청에 응답하여 제공될 수 있다. 그래픽 표현들은 홈 피드, 시청 피드, 플레이리스트, 검색 결과 리스트, 쇼핑 피드 등을 포함할 수 있다. 디바이스에 전송되는 명령어들(예를 들어, 방법(500F)의 임의의 단계들과 연관된 명령어들을 포함함), 디바이스에 전송되는 UI, 디바이스에 전송되는 UI 엘리먼트들 등은 사용자의 이력을 획득하는 것에 기초하여 결정/선택될 수 있다. 사용자의 이력은 연관된 제품들을 갖는 콘텐츠 아이템들을 포함하는, 콘텐츠 아이템들의 이력 상호작용들 및/또는 선택을 포함할 수 있다. 사용자의 이력은 제품과 연관된 UI 엘리먼트들 또는 UI 엘리먼트들의 컴포넌트들의 이력 상호작용들 및/또는 선택들을 포함할 수 있다. 사용자의 이력은 사용자의 하나 이상의 검색들, 예를 들어, 제품명들을 포함하는 검색들을 포함할 수 있다. 프로세싱 로직이 사용자의 이력을 수신하는 것에 응답하여 디바이스에 명령어들이 제공될 수 있다.
콘텐츠 아이템들의 그래픽 표현들 중 하나 이상은 축소된 상태의 UI 엘리먼트와 디스플레이된다. 일부 실시예들에서, 각 그래픽 표현은 축소된 상태의 UI 엘리먼트와 디스플레이된다. 일부 실시예들에서, 그래픽 표현들의 서브세트는 축소된 상태의 UI 엘리먼트들과 디스플레이된다. 축소된 상태의 UI 엘리먼트는 제1 콘텐츠 아이템의 제1 그래픽 표현과 제시/디스플레이된다. UI 엘리먼트는 제1 콘텐츠 아이템에 의해 다뤄지는 복수의 제품들을 식별하는 정보를 포함한다. UI 엘리먼트는 얼마나 많은 제품이 콘텐츠 아이템과 연관되는지를 식별할 수 있으며, 명칭에 의해 하나 이상의 제품들을 식별할 수 있으며, 콘텐츠 아이템에 의해 다뤄지는 제품들의 카테고리 또는 분류를 식별할 수 있는 등이다. 일부 실시예들에서, 복수의 제품들은 하나 이상의 트레이닝된 머신 러닝 모델들로부터 출력으로서 획득된다. 트레이닝된 머신 러닝 모델들은 도 3b와 관련하여 설명된 것들과 유사할 수 있다.
블록(554)에서, 축소된 상태의 UI 엘리먼트와의 사용자 상호작용의 표시를 수신하는 것에 응답하여, 프로세싱 로직은 디바이스가 UI 엘리먼트의 제시를 변경하게 한다. UI 엘리먼트의 제시는 축소된 상태에서 확장된 상태로 변경될 수 있다. 확장된 상태의 UI 엘리먼트는 복수의 제품들 중 하나와 각각 연관된 복수의 시각적 컴포넌트들을 포함할 수 있다. 시각적 컴포넌트들은 사진들, 명칭들, 설명들, 가격들, 타임 스탬프들 등을 포함할 수 있다.
블록(556)에서, 확장된 상태의 UI 엘리먼트의 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택의 표시를 수신하는 것에 응답하여, 프로세싱 로직은 제1 콘텐츠 아이템의 제시를 가능하게 한다. 프로세싱 로직은 제1 제품, 예를 들어, 복수의 시각적 컴포넌트들 중 하나와 연관된 제품과 연관된 제1 콘텐츠 아이템의 일부분의 제시를 가능하게 하는 명령어들을 제공할 수 있다. 프로세싱 로직은 제품과 연관된 비디오의 일부분을 디스플레이(예를 들어, 제품과 연관된 타임 스탬프에 기초하여, 비디오에서의 선택된 포인트로부터 비디오를 재생하기 시작)하기 위한 명령어들을 제공할 수 있다.
일부 실시예들에서, 프로세싱 로직은 UI 엘리먼트의 제시를 제품 포커싱된 상태로 변경하기 위한 명령어들을 디바이스에 더 제공할 수 있다. 예를 들어, 확장된 상태의 UI 엘리먼트의 시각적 컴포넌트의 선택 시, UI 엘리먼트는 제품 포커싱된 상태로 변경될 수 있다. 제품 포커싱된 상태는 콘텐츠 아이템에 의해 다뤄지며, 콘텐츠 아이템에 포함되며, 이와 연관되는 등의 하나 이상의 제품들에 관한 추가 세부사항들을 포함할 수 있다.
일부 실시예들에서, 프로세싱 로직은 UI 엘리먼트의 제시를 거래 상태로 변경하기 위한 명령어들을 디바이스에 더 제공할 수 있다. 거래 상태는 사용자가 제품과 연관된 거래를 개시하는 것(예를 들어, 제품을 구매하는 것)을 가능하게 할 수 있다. 거래 상태는 사용자 액션, 사용자 이력, 하나 이상의 UI 엘리먼트들의 사용자 선택 등에 응답하여 제시될 수 있다. 거래 상태의 UI 엘리먼트는 하나 이상의 제품들과 연관된 거래를 가능하게 하는 하나 이상의 컴포넌트들을 포함할 수 있다.
도 6은 일부 실시예들에 따른, 컴퓨터 시스템(600)을 예시하는 블록도이다. 일부 실시예들에서, 컴퓨터 시스템(600)은 (예를 들어, 근거리 통신망(LAN), 인트라넷, 엑스트라넷, 또는 인터넷과 같은 네트워크를 통해) 다른 컴퓨터 시스템들에 연결될 수 있다. 컴퓨터 시스템(600)은 클라이언트-서버 환경에서 서버 또는 클라이언트 컴퓨터의 용량으로, 또는 피어 투 피어 또는 분산형 네트워크 환경에서 피어 컴퓨터로서 동작할 수 있다. 컴퓨터 시스템(600)은 개인용 컴퓨터(PC), 태블릿 PC, 셋탑 박스(STB), 개인용 휴대 정보 단말기(PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브릿지, 또는 해당 디바이스에 의해 취해질 액션들을 지정하는 명령어들의 세트(순차적 또는 기타)를 실행할 수 있는 임의의 디바이스에 의해 제공될 수 있다. 또한, "컴퓨터"라는 용어는 본 명세서에서 설명되는 방법들 중 임의의 하나 이상을 수행하기 위한 명령어들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 컴퓨터들의 임의의 콜렉션을 포함할 것이다.
추가적인 양태에서, 컴퓨터 시스템(600)은, 버스(608)를 통해 서로 통신할 수 있는, 프로세싱 디바이스(602), 휘발성 메모리(604)(예를 들어, 랜덤 액세스 메모리(RAM)), 비휘발성 메모리(606)(예를 들어, 판독 전용 메모리(ROM) 또는 전기적 소거가능 프로그램가능 ROM(EEPROM))), 및 데이터 저장 디바이스(618)를 포함할 수 있다.
프로세싱 디바이스(602)는 범용 프로세서(이를테면, 예를 들어, CISC(Complex Instruction Set Computing) 마이크로프로세서, RISC(Reduced Instruction Set Computing) 마이크로프로세서, VLIW(Very Long Instruction Word) 마이크로프로세서, 명령어 세트들의 다른 유형들을 구현하는 마이크로프로세서, 또는 명령어 세트들의 유형들의 조합을 구현하는 마이크로프로세서) 또는 특화된 프로세서(이를테면, 예를 들어, ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor), 또는 네트워크 프로세서)에 의해 제공될 수 있다.
컴퓨터 시스템(600)은 네트워크 인터페이스 디바이스(622)(예를 들어, 네트워크(674)에 결합됨)를 더 포함할 수 있다. 컴퓨터 시스템(600)은 또한, 비디오 디스플레이 유닛(610)(예를 들어, LCD), 영숫자 입력 디바이스(612)(예를 들어, 키보드), 커서 제어 디바이스(614)(예를 들어, 마우스), 및 신호 생성 디바이스(620)를 포함할 수 있다.
일부 실시예들에서, 데이터 저장 디바이스(618)는, 도 1의 컴포넌트들(예를 들어, 콘텐츠 제공 플랫폼(120), 콘텐츠 플랫폼 시스템(102)의 다른 플랫폼들, 통신 애플리케이션(115), 모델(190) 등)을 인코딩하는 명령어들을 포함하여, 본 명세서에서 설명되는 방법들 또는 기능들 중 임의의 하나 이상을 인코딩하는 명령어들(626)을 저장할 수 있고 본 명세서에서 설명되는 방법들을 구현하기 위한 비일시적 컴퓨터 판독가능 저장 매체(624)(예를 들어, 비일시적 머신 판독가능 매체)를 포함할 수 있다.
명령어들(626)은 또한, 컴퓨터 시스템(600)에 의한 그 명령어들의 실행 동안 휘발성 메모리(604) 내에 및/또는 프로세싱 디바이스(602) 내에 완전히 또는 부분적으로 상주할 수 있으며, 이로 인해, 휘발성 메모리(604) 및 프로세싱 디바이스(602)는 또한, 기계 판독가능 저장 매체를 구성할 수 있다.
컴퓨터 판독가능 저장 매체(624)가 예시적인 예들로 단일 매체로서 도시되지만, 용어 "컴퓨터 판독가능 저장 매체"는 실행가능한 명령어들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다수의 매체들(예를 들어, 중앙 집중식 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함할 것이다. "컴퓨터 판독가능 저장 매체"라는 용어는 또한, 컴퓨터로 하여금 본 명세서에서 설명되는 방법들 중 임의의 하나 이상을 수행하게 하는 컴퓨터에 의한 실행을 위한 명령어들의 세트를 저장 또는 인코딩할 수 있는 임의의 실체적인 매체를 포함할 것이다. "컴퓨터 판독가능 저장 매체"라는 용어는 솔리드 스테이트 메모리, 광학 매체, 및 자기 매체를 포함하지만, 이에 제한되는 것은 아니다.
본 명세서에서 설명된 방법들, 컴포넌트들, 및 특징들은 별개의 하드웨어 컴포넌트들에 의해 구현될 수 있거나, 또는 ASIC들, FPGA들, DSP들 또는 유사한 디바이스들과 같은 다른 하드웨어 컴포넌트들의 기능에 통합될 수 있다. 또한, 본 방법들, 컴포넌트들, 및 특징들은 하드웨어 디바이스들 내의 기능 회로부 또는 펌웨어 모듈들에 의해 구현될 수 있다. 또한, 본 방법들, 컴포넌트들, 및 특징들은 하드웨어 디바이스들과 컴퓨터 프로그램 컴포넌트들의 임의의 조합으로, 또는 컴퓨터 프로그램으로 구현될 수 있다.
달리 구체적으로 언급되지 않는 한, "수신", "수행", "제공", "획득", "야기", "액세스", "결정", "추가", "사용", "트레이닝", "감소", "생성", "정정" 등과 같은 용어들은, 컴퓨터 시스템 레지스터들 및 메모리들 내의 물리적(전자) 양들로서 표현되는 데이터를 조작하고 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 송신 또는 디스플레이 디스플레이 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 변환하는 컴퓨터 시스템들에 의해 수행 또는 구현되는 액션들 및 프로세스들을 지칭한다. 또한, 본 명세서에서 사용되는 바와 같은 "제1", "제2", "제3", "제4" 등과 같은 용어들은 상이한 엘리먼트들을 구별하기 위한 라벨들로서 의도되고, 이들의 수치 지정에 따른 서수 의미를 갖지 않을 수 있다.
본 명세서에서 설명된 예들은 또한, 본 명세서에서 설명된 방법들을 수행하기 위한 장치에 관한 것이다. 이 장치는 본 명세서에서 설명된 방법들을 수행하도록 특수하게 구성될 수 있거나, 또는 컴퓨터 시스템에 저장된 컴퓨터 프로그램에 의해 선택적으로 프로그래밍된 범용 컴퓨터 시스템을 포함할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터 판독가능한 실체적인 저장 매체에 저장될 수 있다.
본 명세서에서 설명된 방법들 및 예시적인 예시들은 임의의 특정 컴퓨터 또는 다른 장치와 본질적으로 관련되지 않는다. 다양한 범용 시스템들이 본 명세서에서 설명된 교시에 따라 사용될 수 있거나, 또는 본 명세서에서 설명된 방법들 및/또는 이들의 개별 기능들, 루틴들, 서브루틴들, 또는 동작들 각각을 수행하기 위해 보다 특화된 장치를 구성하는 것이 편리하다는 것을 입증할 수 있다. 다양한 이들 시스템들에 대한 구조의 예들이 위의 설명에서 제시된다.
위의 설명은 제한적인 것이 아니라, 예시적인 것으로 의도된다. 본 개시가 구체적인 예시적인 예들 및 실시예들을 참조하여 설명되었지만, 본 개시가 설명된 예들 및 실시예들로 제한되지 않는다는 것이 인식될 것이다. 본 개시의 범위는 청구항들에 대한 권리가 부여되는 등가물들의 전체 범위와 함께, 하기의 청구항들을 참조하여 결정되어야 한다.
본 명세서 전반에 걸친 "일 구현예" 또는 "구현예"에 대한 언급은 구현예와 관련하여 설명된 특정 특징, 구조, 또는 특성이 적어도 일 구현예에 포함된다는 것을 의미한다. 이에 따라, 본 명세서 전반에 걸친 다양한 곳들에서의 "일 구현예에서" 또는 "구현예에서"라는 어구의 출현은 상황에 따라 동일한 구현예를 지칭할 수 있지만, 반드시 그러한 것은 아니다. 또한, 특정 특징들, 구조들, 또는 특성들은 하나 이상의 구현예들에서 임의의 적절한 방식으로 조합될 수 있다.
“포함한다”, “포함함”, “갖는다”, “함유한다”와 같은 용어들, 이들의 변형들, 및 다른 유사한 단어들이 상세한 설명 또는 청구범위 중 어느 하나에서 사용되는 한, 이들 용어들은 임의의 추가적인 또는 다른 엘리먼트들을 배제하지 않으면서 개방형 전이어로서 “포함하는”이라는 용어와 유사한 방식으로 포괄적인 것으로 의도된다.
본 출원에서 사용될 때, "컴포넌트", "모듈", "시스템" 등과 같은 용어들은 일반적으로, 컴퓨터 관련 엔티티, 하드웨어(예를 들어, 회로), 소프트웨어, 하드웨어와 소프트웨어의 조합, 또는 하나 이상의 특정 기능들을 갖는 동작 머신에 관련된 엔티티를 지칭하는 것으로 의도된다. 예를 들어, 컴포넌트는 프로세서(예를 들어, 디지털 신호 프로세서) 상에서 실행되는 프로세스, 프로세서, 객체, 실행가능, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이에 제한되는 것은 아니다. 예시로서, 제어기 상에서 실행되는 애플리케이션과 제어기 둘 다가 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터 상에 로컬화될 수 있고/거나 두 개 이상의 컴퓨터들 사이에 분산될 수 있다. 또한, "디바이스"는 특수 설계된 하드웨어; 하드웨어가 특정 기능들(예를 들어, 관심 포인트들 및/또는 설명자들을 생성함)을 수행할 수 있게 하는 소프트웨어의 실행에 의해 특화되는 일반화된 하드웨어; 컴퓨터 판독가능 매체 상의 소프트웨어; 또는 이들의 조합의 형태로 올 수 있다.
전술한 시스템들, 회로들, 모듈들 등은 여러 컴포넌트들 및/또는 블록들 사이의 상호작용과 관련하여 설명되었다. 이러한 시스템들, 회로들, 컴포넌트들, 블록들 등은 이들 컴포넌트들 또는 지정된 서브 컴포넌트들, 특정 컴포넌트들 또는 서브 컴포넌트들 중 일부, 및/또는 추가적인 컴포넌트들을 포함하고, 전술한 바의 다양한 순열들 및 조합들에 따를 수 있는 것으로 이해될 수 있다. 서브 컴포넌트들은 또한, 부모 컴포넌트들 내에 포함되는 것(계층적)보다는 다른 컴포넌트들에 통신가능하게 결합되는 컴포넌트들로서 구현될 수 있다. 추가적으로, 하나 이상의 컴포넌트들이 어그리게이트 기능을 제공하는 단일 컴포넌트로 조합되거나 또는 별개의 여러 서브 컴포넌트들로 분할될 수 있고, 임의의 하나 이상의 중간 계층들, 이를테면 관리 계층이 통합된 기능을 제공하기 위해 이러한 서브 컴포넌트들에 통신가능하게 결합되도록 제공될 수 있다는 것을 유념해야 한다. 본 명세서에서 설명되는 임의의 컴포넌트들은 또한, 본 명세서에서 구체적으로 설명되지 않지만 당업자들에 의해 알려진 하나 이상의 다른 컴포넌트들과 상호작용할 수 있다.
또한, "예" 또는 "예시적인"이라는 단어들은 본 명세서에서 예, 사례, 또는 예시로서의 역할을 하는 것을 의미하는 것으로 사용된다. 본 명세서에서 "예시적인"으로서 설명되는 임의의 양태 또는 설계는 다른 양태들 또는 설계들에 비해 반드시 바람직하거나 유리한 것으로 간주되는 것은 아니다. 오히려, "예" 또는 "예시적인"이라는 단어들의 사용은 개념들을 구체적인 방식으로 제시하는 것으로 의도된다. 본 출원에서 사용될 때, "또는"이라는 용어는 배타적인 "또는"이 아니라 포괄적인 "또는"을 의미하도록 의도된다. 즉, 달리 명시되지 않거나 문맥으로부터 명확하지 않은 한, "X는 A 또는 B를 채용한다"는 자연 포괄적 순열들 중 임의의 것을 의미하도록 의도된다. 즉, X가 A를 채용하는 경우; X가 B를 채용하는 경우; 또는 X가 A와 B 둘 다를 채용하는 경우, "X는 A 또는 B를 채용한다"는 전술한 사례들 중 어느 하나 하에서 만족된다. 또한, 본 명세서 및 청구항들에서 사용되는 단수 표현("하나의")은, 달리 명시되거나 문맥으로부터 단수 형태에 관한 것이라고 명확하지 않는 한, 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.

Claims (20)

  1. 방법으로서,
    하나 이상의 비디오들의 하나 이상의 그래픽 표현들을 포함하는 사용자 인터페이스(user interface, UI)를 제시하는 단계 ― 각 비디오의 각 그래픽 표현은 상기 각 비디오의 재생을 개시하기 위해 선택가능하고, 축소된 상태(collapsed state)의 UI 엘리먼트와 디스플레이되며, 상기 UI 엘리먼트는 상기 각 비디오와 관련된 복수의 제품들을 식별하는 정보를 포함함 ―;
    상기 축소된 상태의 상기 UI 엘리먼트와의 사용자 상호작용에 응답하여, 상기 UI 엘리먼트의 제시를 상기 축소된 상태에서 확장된 상태(expanded state)로 변경하면서 계속해서 상기 각 비디오의 그래픽 표현을 제시하는 단계 ― 상기 확장된 상태의 상기 UI 엘리먼트는 상기 복수의 제품들 중 하나와 각각 연관된 복수의 시각적 컴포넌트들을 포함함 ―; 및
    상기 확장된 상태의 상기 UI 엘리먼트의 상기 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택에 응답하여, 상기 선택된 시각적 컴포넌트와 연관된 제품을 다루는 상기 각 비디오의 재생을 개시하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 확장된 상태의 상기 UI 엘리먼트의 상기 복수의 시각적 컴포넌트들 중 상기 하나의 시각적 컴포넌트의 상기 사용자 선택에 응답하여 상기 UI 엘리먼트의 제시를 상기 확장된 상태에서 제품 포커싱된 상태로 변경하는 단계를 더 포함하며, 상기 제품 포커싱된 상태의 상기 UI 엘리먼트는 상기 선택된 시각적 컴포넌트와 연관된 상기 제품에 관한 상세한 정보를 포함하는, 방법.
  3. 제1항에 있어서,
    콘텐츠 플랫폼에 검색 질의를 제공하는 단계; 및
    상기 콘텐츠 플랫폼으로부터, 상기 하나 이상의 비디오들의 하나 이상의 그래픽 표현들을 수신하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    제1 비디오를 제시해달라는 사용자 요청을 콘텐츠 플랫폼에 제공하는 단계; 및
    상기 콘텐츠 플랫폼으로부터, 상기 하나 이상의 비디오들의 상기 하나 이상의 그래픽 표현들을 상기 제1 비디오와 연관된 추천 비디오들로서 수신하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서, 상기 확장된 상태의 상기 UI 엘리먼트는:
    상기 복수의 제품들과 연관된 제1 탭; 및
    상기 각 비디오의 복수의 부분들과 연관된 제2 탭을 더 포함하며, 상기 제1 탭의 콘텐츠들이 디폴트로 제시되는, 방법.
  6. 제1항에 있어서, 상기 복수의 제품들 중 하나와 연관된 상기 UI 엘리먼트의 컴포넌트의 사용자 선택에 응답하여 상기 UI 엘리먼트의 제시를 거래 상태로 변경하는 단계를 더 포함하며, 상기 거래 상태의 상기 UI 엘리먼트는 상기 복수의 제품들 중 하나와 연관된 거래를 가능하게 하는, 방법.
  7. 제1항에 있어서, 상기 축소된 상태의 상기 UI 엘리먼트는 상기 각 비디오의 상기 그래픽 표현 또는 상기 각 비디오 중 하나 이상 상에 오버레이되는, 방법.
  8. 제1항에 있어서, 상기 축소된 상태의 상기 UI 엘리먼트와의 상기 사용자 상호작용은 상기 축소된 상태의 상기 UI 엘리먼트 상에 체류하는 것을 포함하는, 방법.
  9. 방법으로서,
    사용자 디바이스 상의 제시를 위해, 하나 이상의 콘텐츠 아이템들의 하나 이상의 그래픽 표현들을 포함하는 사용자 인터페이스(UI)를 제공하는 단계 ― 각 콘텐츠 아이템의 각 그래픽 표현은 상기 각 콘텐츠 아이템의 제시를 개시하기 위해 선택가능하고, 축소된 상태의 UI 엘리먼트와 디스플레이되며, 상기 UI 엘리먼트는 상기 각 비디오와 관련된 복수의 제품들을 식별하는 정보를 포함함 ―;
    상기 축소된 상태의 상기 UI 엘리먼트와의 사용자 상호작용의 표시를 수신하는 것에 응답하여, 상기 UI 엘리먼트의 제시가 상기 축소된 상태에서 확장된 상태로 변경되게 하는 단계 ― 상기 확장된 상태의 상기 UI 엘리먼트는 상기 복수의 제품들 중 하나와 각각 연관된 복수의 시각적 컴포넌트들을 포함함 ―; 및
    상기 확장된 상태의 상기 UI 엘리먼트의 상기 복수의 시각적 컴포넌트들 중 하나의 시각적 컴포넌트의 사용자 선택의 표시를 수신하는 것에 응답하여, 제1 콘텐츠 아이템의 제시를 가능하게 하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 확장된 상태의 상기 UI 엘리먼트의 상기 복수의 시각적 컴포넌트들 중 상기 하나의 시각적 컴포넌트의 상기 사용자 선택의 표시를 수신하는 것에 응답하여 상기 UI 엘리먼트의 제시를 상기 확장된 상태에서 제품 포커싱된 상태로 변경하는 것을 가능하게 하는 명령어들을 상기 디바이스에 제공하는 단계를 더 포함하며, 상기 제품 포커싱된 상태의 상기 UI 엘리먼트는 상기 선택된 시각적 컴포넌트와 연관된 상기 제품에 관한 상세한 정보를 포함하는, 방법.
  11. 제9항에 있어서, 상기 제1 콘텐츠 아이템과 관련된 상기 복수의 제품들의 식별자들은 트레이닝된 머신 러닝 모델로부터의 출력으로서 획득되며, 상기 트레이닝된 머신 러닝 모델은 상기 제1 콘텐츠 아이템과 연관된 입력 데이터로서 수신하도록 구성되는, 방법.
  12. 제9항에 있어서, 상기 복수의 제품들 중 하나와 연관된 상기 UI 엘리먼트의 컴포넌트의 사용자 선택에 응답하여 상기 UI 엘리먼트의 제시를 거래 상태로 변경하는 것을 가능하게 하기 위한 명령어들을 상기 디바이스에 제공하는 단계를 더 포함하며, 상기 거래 상태의 상기 UI 엘리먼트는 하나의 또는 상기 복수의 제품들과 연관된 거래를 가능하게 하는 하나 이상의 컴포넌트들을 포함하는, 방법.
  13. 제9항에 있어서, 상기 제1 콘텐츠 아이템의 제시를 가능하게 하는 명령어들은 제시할 상기 제1 콘텐츠 아이템의 일부분의 표시를 포함하며, 상기 제1 콘텐츠 아이템의 일부분은 상기 복수의 시각적 컴포넌트들 중 상기 하나의 시각적 컴포넌트와 연관된 상기 복수의 제품들 중 하나를 다루는, 방법.
  14. 제9항에 있어서, 사용자의 이력을 획득하는 단계를 더 포함하며, 상기 사용자의 이력은 연관된 제품들을 갖는 콘텐츠 아이템들과의 하나 이상의 상호작용들을 포함하며, 상기 UI 엘리먼트를 디스플레이하기 위한 명령어를 제공하는 단계는 상기 사용자의 이력을 획득하는 것에 응답하여 수행되는, 방법.
  15. 제9항에 있어서, 상기 제1 콘텐츠 아이템은 라이브 스트리밍되는 비디오를 포함하는, 방법.
  16. 실행될 때, 프로세싱 디바이스로 하여금 동작들을 수행하게 하는 명령어들을 저장한 비일시적 머신 판독가능 저장 매체로서, 상기 동작들은,
    하나 이상의 비디오들의 하나 이상의 그래픽 표현들을 포함하는 사용자 인터페이스(UI)를 제시하는 동작 ― 각 비디오의 각 그래픽 표현은 상기 각 비디오의 재생을 개시하기 위해 선택가능하고, 축소된 상태의 UI 엘리먼트와 디스플레이되며, 상기 UI 엘리먼트는 상기 각 비디오와 관련된 복수의 제품들을 식별하는 정보를 포함함 ―;
    상기 축소된 상태의 상기 UI 엘리먼트와의 사용자 상호작용에 응답하여, 상기 UI 엘리먼트의 제시를 상기 축소된 상태에서 확장된 상태로 변경하면서 계속해서 상기 각 비디오의 그래픽 표현을 제시하는 동작 ― 상기 확장된 상태의 상기 UI 엘리먼트는 상기 복수의 제품들 중 하나와 각각 연관된 복수의 시각적 컴포넌트들을 포함함 ―; 및
    상기 확장된 상태의 상기 UI 엘리먼트의 상기 복수의 시각적 컴포넌트들 중 하나의 선택된 시각적 컴포넌트의 사용자 선택에 응답하여, 상기 선택된 시각적 컴포넌트와 연관된 제품을 다루는 상기 각 비디오의 재생을 개시하는 동작을 포함하는, 비일시적 머신 판독가능 저장 매체.
  17. 제16항에 있어서, 상기 동작들은 상기 확장된 상태의 상기 UI 엘리먼트의 상기 복수의 시각적 컴포넌트들 중 상기 하나의 시각적 컴포넌트의 상기 사용자 선택에 응답하여 상기 UI 엘리먼트의 제시를 상기 확장된 상태에서 제품 포커싱된 상태로 변경하는 동작을 더 포함하며, 상기 제품 포커싱된 상태의 상기 UI 엘리먼트는 상기 선택된 시각적 컴포넌트와 연관된 상기 제품에 관한 상세한 정보를 포함하는, 비일시적 머신 판독가능 저장 매체.
  18. 제16항에 있어서, 상기 동작들은 상기 복수의 제품들 중 하나와 연관된 상기 UI 엘리먼트의 컴포넌트의 사용자 선택에 응답하여 상기 UI 엘리먼트의 제시를 거래 상태로 변경하는 동작을 더 포함하며, 상기 거래 상태의 상기 UI 엘리먼트는 상기 복수의 제품들 중 하나와 연관된 거래를 가능하게 하는, 비일시적 머신 판독가능 저장 매체.
  19. 제16항에 있어서, 상기 확장된 상태의 상기 UI 엘리먼트는,
    상기 복수의 제품들과 연관된 제1 탭; 및
    상기 각 비디오의 복수의 부분들과 연관된 제2 탭을 더 포함하며, 상기 제1 탭의 콘텐츠들이 디폴트로 제시되는, 비일시적 머신 판독가능 저장 매체.
  20. 제16항에 있어서, 상기 각 비디오의 재생을 개시하는 동작은 상기 선택된 시각적 컴포넌트와 연관된 상기 제품을 묘사하는 상기 각 비디오의 일부분을 제시하는 동작을 포함하는, 비일시적 머신 판독가능 저장 매체.
KR1020257006947A 2022-08-01 2023-07-31 미디어 아이템 및 제품 페어링 Pending KR20250048291A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/878,831 2022-08-01
US17/878,831 US12501116B2 (en) 2022-08-01 2022-08-01 Media item and product pairing
PCT/US2023/029137 WO2024030385A1 (en) 2022-08-01 2023-07-31 Media item and product pairing

Publications (1)

Publication Number Publication Date
KR20250048291A true KR20250048291A (ko) 2025-04-08

Family

ID=87762500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020257006947A Pending KR20250048291A (ko) 2022-08-01 2023-07-31 미디어 아이템 및 제품 페어링

Country Status (5)

Country Link
US (1) US12501116B2 (ko)
JP (1) JP2025525887A (ko)
KR (1) KR20250048291A (ko)
CN (1) CN119731650A (ko)
WO (1) WO2024030385A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115767124A (zh) * 2022-11-21 2023-03-07 北京字跳网络技术有限公司 直播间的展示方法、装置、计算机设备及存储介质
US12439125B2 (en) * 2023-01-30 2025-10-07 Comcast Cable Communications, Llc Systems and methods for automatic content recognition
US12111797B1 (en) 2023-09-22 2024-10-08 Storytellers.ai LLC Schema inference system
US11961005B1 (en) * 2023-12-18 2024-04-16 Storytellers.ai LLC System for automated data preparation, training, and tuning of machine learning models

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI225754B (en) 2003-08-08 2004-12-21 Inventec Corp Interactive video signal generation system and its method
FR2893157B1 (fr) 2005-11-08 2007-12-21 Thales Sa Procede d'aide a la prise de decision pour la comparaison de donnees biometriques
US20070255755A1 (en) 2006-05-01 2007-11-01 Yahoo! Inc. Video search engine using joint categorization of video clips and queries based on multiple modalities
TWI361376B (en) 2007-12-31 2012-04-01 Htc Corp Method for operating handheld electronic device and touch interface apparatus and storage media using the same
US20110004517A1 (en) 2009-06-26 2011-01-06 The Jungle U LLC Dialogue advertising
US20130282810A1 (en) 2012-04-24 2013-10-24 Samuel Lessin Evaluating claims in a social networking system
US10318543B1 (en) 2014-03-20 2019-06-11 Google Llc Obtaining and enhancing metadata for content items
DE102014106440A1 (de) 2014-05-08 2015-11-12 Gebr. Becker Gmbh Laufrad, insbesondere für eine Seitenkanalmaschine
US10620801B1 (en) 2014-06-25 2020-04-14 Google Llc Generation and presentation of interactive information cards for a video
US9177225B1 (en) * 2014-07-03 2015-11-03 Oim Squared Inc. Interactive content generation
US9973819B1 (en) 2015-06-26 2018-05-15 Amazon Technologies, Inc. Live video stream with interactive shopping interface
KR102483507B1 (ko) * 2016-11-17 2022-12-30 페인티드 도그, 인크. 비디오 컨텐츠의 기계-기반 객체 인식
US10963846B1 (en) 2017-10-31 2021-03-30 Square, Inc. Automated service determination
US11055553B1 (en) 2020-04-20 2021-07-06 Nanya Technology Corporation Image processing system and method
CN112367549B (zh) 2020-11-10 2021-08-06 四川长虹电器股份有限公司 电视浏览器的视频播放实现方法及浏览器应用运行方法
US11816890B2 (en) 2021-01-12 2023-11-14 Nvidia Corporation Automatic content recognition and information in live streaming suitable for video games
US11995230B2 (en) * 2021-02-11 2024-05-28 Apple Inc. Methods for presenting and sharing content in an environment
US12198434B2 (en) * 2022-04-15 2025-01-14 Roku, Inc. Dynamic triggering and processing of purchase based on computer detection of media object

Also Published As

Publication number Publication date
US20240040201A1 (en) 2024-02-01
CN119731650A (zh) 2025-03-28
JP2025525887A (ja) 2025-08-07
TW202407531A (zh) 2024-02-16
WO2024030385A1 (en) 2024-02-08
US12501116B2 (en) 2025-12-16

Similar Documents

Publication Publication Date Title
US12468761B2 (en) Product identification in media items
US11995564B2 (en) System and method for generating aspect-enhanced explainable description-based recommendations
US12501116B2 (en) Media item and product pairing
US20200160229A1 (en) Creating User Experiences with Behavioral Information and Machine Learning
RU2725659C2 (ru) Способ и система для оценивания данных о взаимодействиях пользователь-элемент
CN113420166B (zh) 商品挂载、检索、推荐、训练处理方法、装置及电子设备
US20250182181A1 (en) Generating product profile recommendations and quality indicators to enhance product profiles
US12118022B2 (en) Method and system for initiating a location-based topic
CN116521979A (zh) 一种目标对象的展示方法、装置、电子设备及存储介质
US20250238662A1 (en) Systems and methods for improving platforms interacting with artificial intelligence models
TWI893748B (zh) 用於提供查詢結果及相關性描述符之方法
US12306886B2 (en) Method and a server for generating a machine learning model
TWI906645B (zh) 用於媒體項目及產品配對之方法及非暫時性機器可讀儲存媒體
Bansal et al. A Comprehensive Review on Hashtag Recommendation: From Traditional to Deep Learning and Beyond
JP6310529B1 (ja) 検索装置、検索方法および検索プログラム
CN116975322A (zh) 媒体数据的展示方法、装置、计算机设备、存储介质
Arvind et al. Decoding OTT: Uncovering Global Insights for Film Industry Advancement and Cultural Exchange
Ruth et al. Box-office analytics and movie recommender system using machine learning algorithms
RU2844072C2 (ru) Система и способ формирования обучающего набора данных для обучения алгоритма машинного обучения
US20250371059A1 (en) Artificial intelligent recommendations for system creation and management
Singh A review-aware multi-modal neural collaborative filtering recommender system
US20250335961A1 (en) Dataset generation pipeline using large language models and vision language models
Clement et al. Impact of recommendation engine on video-sharing platform-YouTube
Kaushik et al. PERSONALIZED MOVIE RECOMMENDATION SYSTEMS: ADVANCING USER-CENTRIC EXPERIENCES
Chen et al. FOICP-Miner: An Interactive Spatial Pattern Recommendation System Based on Fuzzy-Ontology

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20250228

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application