KR101942459B1 - 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템 - Google Patents

음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템 Download PDF

Info

Publication number
KR101942459B1
KR101942459B1 KR1020160067984A KR20160067984A KR101942459B1 KR 101942459 B1 KR101942459 B1 KR 101942459B1 KR 1020160067984 A KR1020160067984 A KR 1020160067984A KR 20160067984 A KR20160067984 A KR 20160067984A KR 101942459 B1 KR101942459 B1 KR 101942459B1
Authority
KR
South Korea
Prior art keywords
sound source
song
generating
similarity
playlist
Prior art date
Application number
KR1020160067984A
Other languages
English (en)
Other versions
KR20170136200A (ko
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 네이버 주식회사
Priority to KR1020160067984A priority Critical patent/KR101942459B1/ko
Publication of KR20170136200A publication Critical patent/KR20170136200A/ko
Application granted granted Critical
Publication of KR101942459B1 publication Critical patent/KR101942459B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템이 개시된다. 플레이리스트 생성 방법은, 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 단계; 및 상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 단계를 포함한다.

Description

음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING PLAYLIST USING SOUND SOURCE CONTENT AND META INFORMATION}
아래의 설명은 음원에 대한 플레이리스트를 자동으로 생성하는 기술에 관한 것이다.
최근 사람들은 다양한 형태의 미디어 상의 음악 조각들(music pieces), 비디오 또는 오디오 트랙들과 같은 미디어 컨텐츠를 일상적으로 이용하고 있다. 플레이리스트는 선호들, 테마들, 장르들, 아티스트들 또는 행사들(occasions)에 기초하여, 음악 또는 다른 컨텐츠를 구성하는 능력을 사용자들에게 제공한다.
플레이리스트 생성 기술의 일례로, 한국 등록특허 제10-0810276호(등록일 2008년 02월 27일)에는 음원 데이터 재생 장치에 저장된 다수의 음원 데이터들에 대한 사용자 플레이리스트를 작성하는 기술이 개시되어 있다.
기존에는 재생 이력이나 미리 듣기 이력 등이 있는 음원으로 플레이리스트를 생성하거나, 협업적 여과 특징을 이용한 유사도 측정 방식으로 플레이리스트를 생성하게 된다. 이러한 기존 플레이리스트 생성 방법은 음원 자체의 특징을 인자(factor)로 사용하지 않기 때문에 자동 재생 중에 시작 곡(seed 곡)과 특징이 다른 곡이 나올 확률이 매우 높다. 또한, 음원의 메타 데이터를 강한 필터 조건으로 사용하여 플레이리스트를 생성할 경우에는 플레이리스트의 다양성이 저하되는 문제가 있다.
음원 및 음원의 메타 정보를 학습한 모델을 이용하여 사용자가 선호하는 곡이나 재생 이력이 있는 곡과 유사한 곡들을 선별하여 플레이리스트를 자동으로 생성할 수 있는 방법 및 시스템을 제공한다.
컴퓨터로 구현되는 플레이리스트 생성 시스템이 수행하는 플레이리스트 생성 방법에 있어서, 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 단계; 및 상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 단계를 포함하는 것을 특징으로 하는 플레이리스트 생성 방법을 제공한다.
일 측면에 따르면, 상기 플레이리스트를 생성하는 단계는, 상기 음향 특징을 이용하여 현재 재생 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하는 단계; 및 상기 현재 재생 곡과의 유사도를 기준으로 상기 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 다음 재생 곡으로 결정하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 플레이리스트를 생성하는 단계는, 상기 음향 특징을 이용하여 시드(seed) 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하는 단계; 상기 시드 곡과의 유사도를 기준으로 복수 개의 음원 컨텐츠를 후보 집합으로 생성하는 단계; 상기 음향 특징을 이용하여 현재 재생 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하는 단계; 상기 현재 재생 곡과의 유사도를 기준으로 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 후보 곡으로 선택하는 단계; 상기 음향 특징을 이용하여 상기 후보 곡에 대해 상기 시드 곡 또는 이전 재생 곡 중 적어도 하나의 기준 곡과의 유사도를 산출하는 단계; 상기 시드 곡 또는 상기 기준 곡과의 유사도가 임계값 이상이면 상기 후보 곡을 다음 재생 곡으로 결정하는 단계; 및 상기 시드 곡 또는 상기 기준 곡과의 유사도가 임계값 미만이면 상기 후보 곡을 대신하여 상기 후보 집합에 포함된 음원 컨텐츠 중 어느 하나를 다음 재생 곡으로 결정하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 시드 곡은 사용자에 의해 선택된 음원 컨텐츠 또는 음원 컨텐츠에 대한 상기 사용자의 최근 로그 이력을 기반으로 선정된 음원 컨텐츠일 수 있다.
또 다른 측면에 따르면, 상기 기준 곡은 최초로 재생된 음원 컨텐츠 또는 최초로 재생된 음원 컨텐츠 이후 일정 범위 내에서 재생된 음원 컨텐츠일 수 있다.
또 다른 측면에 따르면, 상기 음향 특징을 생성하는 단계는, 상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환할 수 있다.
또 다른 측면에 따르면, 상기 음향 특징을 생성하는 단계는, 음원 학습 모델을 이용하여 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성할 수 있다.
또 다른 측면에 따르면, 상기 생성하는 단계 이전에, 상기 음원 데이터를 학습 데이터의 형태로 처리하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 생성하는 단계 이전에, 상기 음원 데이터를 시간-주파수로 표현되는 학습 데이터로 변환하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 음향 특징을 생성하는 단계는, 상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하고, 상기 플레이리스트를 생성하는 단계는, 상기 다차원 실수 벡터 간 거리를 산출함으로써 상기 음원 컨텐츠 간의 유사도를 산출할 수 있다.
또 다른 측면에 따르면, 상기 플레이리스트를 생성하는 단계는, 상기 음향 특징과 함께 상기 음원 컨텐츠와 관련된 텍스트 정보를 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠와 관련된 텍스트 정보를 다차원 실수 벡터로 변환하는 단계를 더 포함하고, 상기 음향 특징을 생성하는 단계는, 상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하고, 상기 플레이리스트를 생성하는 단계는, 상기 음원 데이터와 상기 텍스트 정보 중 적어도 하나에 대한 다차원 실수 벡터 간 거리를 산출함으로써 상기 음원 컨텐츠 간의 유사도를 산출할 수 있다.
컴퓨터로 구현되는 플레이리스트 생성 시스템에 있어서, 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 고유 특징 처리부; 및 상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 플레이리스트 생성부를 포함하는 것을 특징으로 하는 플레이리스트 생성 시스템을 제공한다.
본 발명의 실시예에 따르면, 딥 러닝(deep learning)을 이용하여 음원 자체의 고유 값(eigen-value)을 학습을 위한 인자(factor)로 사용함으로써 곡 간의 유사성을 더욱 정확히 산출할 수 있다.
본 발명의 실시예에 따르면, 음원의 특징뿐 아니라 음원의 메타 정보를 부가적 정보로 사용하여 곡 간의 유사성을 산출할 수 있고, 또한 시드(seed) 곡과의 유사성을 지속적으로 체크하는 로직을 적용함으로써 플레이리스트의 다양성을 유지하면서 이와 동시에 시드 곡과 너무 다른 곡이 포함되는 것을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 플레이리스트 생성 방법의 예를 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 플레이리스트 자동 생성 과정의 예를 도시한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 실시예들은 플레이리스트를 생성하기 위한 방법들과 시스템들에 관련된 것이며, 더욱 상세하게는 음원 및 음원의 메타 정보를 학습한 모델을 이용하여 플레이리스트를 자동으로 생성할 수 있는 플레이리스트 생성 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 음원 컨텐츠에 대한 플레이리스트의 생성을 달성하고 이를 통해 비용 절감, 효율성과 정확성 등의 측면에 있어서 상당한 장점들을 달성한다.
음원 컨텐츠에 대해 생성된 플레이리스트는 음원 컨텐츠의 추천, 검색, 분류, 관리 등을 위해 활용될 수 있다. 일례로, 사용자 맞춤형 음원 추천을 위해서는 사용자가 선호하는 곡과 유사한 곡들에 대한 선별 작업이 필요하며, 이러한 선별 작업으로서 음원 및 음원의 메타 정보를 이용하여 플레이리스트를 자동으로 생성할 수 있다.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 플레이리스트 생성 시스템이 도 1의 컴퓨터 시스템(100)을 통해 구현될 수 있다. 도 1에 도시한 바와 같이, 컴퓨터 시스템(100)은 플레이리스트 생성 방법을 실행하기 위한 구성요소로서 프로세서(110), 메모리(120), 영구 저장 장치(130), 버스(140), 입출력 인터페이스(150) 및 네트워크 인터페이스(160)를 포함할 수 있다.
프로세서(110)는 명령어들의 임의의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스, 미디어 플레이어 등에 포함될 수 있다. 프로세서(110)는 버스(140)를 통해 메모리(120)에 접속될 수 있다.
메모리(120)는 컴퓨터 시스템(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(120)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(120)는 컴퓨터 시스템(100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(120)는 예를 들어 음원 컨텐츠에 대한 플레이리스트 생성을 위한 명령어들을 포함하는 컴퓨터 시스템(100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(110)를 포함할 수 있다.
버스(140)는 컴퓨터 시스템(100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(140)는 예를 들어 컴퓨터 시스템(100)의 컴포넌트들 사이에, 예를 들어 프로세서(110)와 메모리(120) 사이에 데이터를 운반할 수 있다. 버스(140)는 컴퓨터 시스템(100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(130)는 (예를 들어, 메모리(120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(130)는 컴퓨터 시스템(100) 내의 프로세서(110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(130)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(150)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 플레이리스트 생성을 위한 입력, 예컨대 음원 데이터와 텍스트 정보가 입출력 인터페이스(150)를 통해 수신될 수 있다.
네트워크 인터페이스(160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 플레이리스트 생성을 위한 음원 컨텐츠의 음원 데이터와 텍스트 정보는 네트워크 인터페이스(160)를 통해 수신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 인터페이스(150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 컴퓨터 시스템(100)이 스마트폰과 같은 모바일 기기의 형태로 구현되는 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 컴퓨터 시스템(100)에 더 포함되도록 구현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 플레이리스트 생성 방법의 예를 도시한 순서도이다.
도 2에 도시된 바와 같이, 프로세서(110)는 음원 입력 제어부(210), 음원 전처리부(220), 고유 특징 처리부(230), 및 플레이리스트 생성부(240)를 포함할 수 있다. 이러한 프로세서(110)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(110)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(110)가 음원 데이터를 입력 받도록 컴퓨터 시스템(100)을 제어하기 위해 동작하는 기능적 표현으로서 음원 입력 제어부(210)가 사용될 수 있다. 프로세서(110) 및 프로세서(110)의 구성요소들은 도 3의 플레이리스트 생성 방법이 포함하는 단계들(S310 내지 S350)을 수행할 수 있다. 예를 들어, 프로세서(110) 및 프로세서(110)의 구성요소들은 메모리(120)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서 적어도 하나의 프로그램 코드는 상기 플레이리스트 생성 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
플레이리스트 생성 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
단계(S310)에서 프로세서(110)는 플레이리스트 생성 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(120)에 로딩할 수 있다. 예를 들어, 플레이리스트 생성 방법을 위한 프로그램 파일은 도 1을 통해 설명한 영구 저장 장치(130)에 저장되어 있을 수 있고, 프로세서(110)는 버스를 통해 영구 저장 장치(130)에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(120)에 로딩되도록 컴퓨터 시스템(110)을 제어할 수 있다.
이때, 프로세서(110) 및 프로세서(110)가 포함하는 음원 입력 제어부(210), 음원 전처리부(220), 고유 특징 처리부(230), 및 플레이리스트 생성부(240) 각각은 메모리(120)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S320 내지 S350)을 실행하기 위한 프로세서(110)의 서로 다른 기능적 표현들일 수 있다. 단계들(S320 내지 S350)의 실행을 위해, 프로세서(110) 및 프로세서(110)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.
단계(S320)에서 음원 입력 제어부(210)는 음원 컨텐츠에 대하여 음원 컨텐츠의 음원 데이터를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있다. 이때, 음원 컨텐츠는 오디오 파일 포맷을 가진 모든 디지털 데이터를 의미할 수 있으며, 예를 들어 MP3(MPEG Audio Layer-3), WAVE(Waveform Audio Format), FLAC(Free Lossless Audio Codec) 등을 포함할 수 있다. 그리고, 음원 입력 제어부(210)는 음원 컨텐츠와 관련된 텍스트 정보를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있다. 음원 컨텐츠와 관련된 텍스트 정보는 가사를 포함하거나, 혹은 가수, 장르, 제목, 앨범명 등과 같은 메타 정보, 그리고 음원 컨텐츠의 분류나 검색 등과 관련하여 입력된 해시 태그(hashtag), 쿼리(query) 등의 정보를 포함할 수 있다. 음원 데이터와 텍스트 정보는 입출력 인터페이스(150) 또는 네트워크 인터페이스(160)를 통해 컴퓨터 시스템(100)으로 입력 또는 수신되어 메모리(120)나 영구 저장 장치(130)에 저장 및 관리될 수 있다.
단계(S330)에서 음원 전처리부(220)는 단계(S320)에서 입력받은 음원 데이터를 학습 데이터 형태로 처리할 수 있다. 이때, 음원 전처리부(220)는 전처리를 통해 음원 데이터를 시간-주파수로 표현할 수 있다. 예를 들어 음원 전처리부(220)는 음원 데이터를 멜-스펙트로그램(Mel-spectrogram)이나 MFCC(Mel Frequency Cepstral Coefficient)와 같은 시간-주파수-크기 형태의 데이터로 변환할 수 있다. 그리고, 음원 전처리부(220)는 음원 컨텐츠에 대해 텍스트 정보를 함께 입력 받은 경우 텍스트 정보를 전처리 할 수 있다. 일례로, 음원 전처리부(220)는 형태소 분석기, 색인어 추출기 등 언어 전처리기를 이용하여 입력된 텍스트 정보로부터 무의미한 텍스트들을 필터링할 수 있다. 다시 말해, 음원 전처리부(220)는 텍스트 정보에 포함된 조사, 조용사 등 불필요한 품사의 단어나 특수 기호(!, ?, / 등, 예컨대) 등을 제거하고 체언이나 어근에 해당되는 단어를 추출할 수 있다.
단계(S340)에서 고유 특징 처리부(230)는 음원 데이터에 대해 전처리된 학습 데이터를 학습 모델을 통해 학습하여 고유 특징을 생성한 후 생성된 고유 특징을 데이터베이스(미도시)에 저장할 수 있다. 고유 특징 처리부(230)는 딥 러닝을 이용하여 음원 데이터 자체의 고유한 음향 특징(acoustic features)을 생성할 수 있다. 일례로, 고유 특징 처리부(230)는 CNN(Convolutional Neural Network) 기반의 학습 모델을 이용할 수 있다. 고유 특징 처리부(230)는 CNN 학습 모델을 이용하여 음원 데이터를 다차원 실수 벡터로 표현할 수 있다. CNN 학습 모델은 음원 데이터 학습 계층을 포함할 수 있으며, 아래 과정 1 내지 3은 음원 데이터 학습 계층에서 음원 데이터에 대응하는 실수 벡터를 생성하는 과정의 예일 수 있다.
과정 1에서 음원 컨텐츠가 포함하는 음원 데이터(일례로, mp3 파일)는 전처리를 통해 멜-스펙트로그램이나 MFCC와 같은 시간-주파수-크기 형태의 데이터로 변환될 수 있다. 예를 들어, 음원 전처리부(220)는 음원 입력 제어부(210)에 의해 입력되는 음원 데이터를 시간-주파수로 표현할 수 있다.
과정 2에서 변환된 음원 데이터로부터 한 개 이상의 짧은 시간 구간 동안(1초 내지 10초)의 복수 개의 주파수 프레임들이 샘플링 되어 음원 데이터의 학습 모델에 대한 입력 데이터로서 사용될 수 있다. 예를 들어, 고유 특징 처리부(230)는 복수 개의 프레임들을 샘플링 하여 음원 데이터 학습 계층에서 음원 모델의 예시로 제시되는 CNN 모델의 입력으로서 활용할 수 있다. 그러므로, 음원 데이터의 학습을 위한 CNN 모델은 샘플링 된 프레임들의 수와 동일한 수의 채널을 갖는 모델이 될 수 있다. 혹은, 생성된 프레임 각각을 단일 채널로 사용하고 각 프레임에 대하여 고유의 콘벌루션/풀링 과정을 거친 후 생성된 프레임 별 특징벡터들을 접합하여 완전 연결층의 입력으로 사용 가능하다.
과정 3에서는 음원 데이터 학습 계층이 포함할 수 있는 복수 개의 콘벌루션(convolution) 및 풀링(pooling) 계층을 반복적으로 구성함으로써 음원 프레임으로부터 추상화된 특징(feature)을 생성할 수 있다. 콘벌루션에서 패치의 크기는 다양하게 구성될 수 있으며 풀링도 최대값(max)을 이용한 풀링 기법, 평균값(average)을 이용한 풀링 기법 및 상기 두 풀링 기법을 접합한 하이브리드 풀링 기법 등 여러 풀링 기법들 중 적어도 하나가 사용될 수 있다.
복수 개의 콘벌루션 및 풀링 계층 위에는 음향 특징을 생성하기 위한 완전 연결(fully-connected) 계층이 있으며 각 계층별 함수는 시그모이드(sigmoid) 함수, 하이퍼볼릭 탄젠트(Hyperbolic Tangent: tanh) 함수, ReLU(Rectified Linear Unit) 함수 등 다양한 함수가 사용될 수 있다. 결국, 음원 데이터에 대해 하나의 다차원 실수 벡터가 생성될 수 있다. 예를 들어, 주어진 첫 번째 음원 데이터 m0은 음원 학습 모델의 출력 계층에서 x0={0.2, -0.1, 0.3, …}의 형태와 같이 하나의 다차원 실수 벡터로 표현될 수 있다. 차원의 수는 0보다 큰 정수이며 경험적으로 통상 50 이상 500 이하의 값을 가질 수 있다. 이러한 과정 3은 앞서 설명한 고유 특징 처리부(230)에 의해 처리될 수 있다.
그리고, 고유 특징 처리부(230)는 음원 컨텐츠에 대해 텍스트 정보를 함께 입력 받은 경우 텍스트 정보 또한 다차원 실수 벡터로 표현할 수 있다. 일례로, 고유 특징 처리부(230)는 텍스트 정보에 대한 전처리를 통해 필터링 된 텍스트들을 사전에 학습된 학습 모델을 이용하여 워드 벡터(word vector)로 생성할 수 있다. 예를 들어, 워드 벡터는 수치형(numerical) 다차원 벡터 형태로 표현될 수 있다. 워드 벡터 생성을 위하여 단어 출현 빈도 히스토그램, TF(term frequency)/IDF(inverse document frequency), 언어 학습 모델(예컨대, word2vec, phrase2vec, document2vec 등) 등이 사용될 수 있다. 예를 들어, "이승환 좋은날 발라드 1992" 등과 같이 가수/장르/제목/년도는 하나의 n차원 실수 벡터 v={0.3, -1.2, 1.2, …}와 같이 표현 가능하다. 또한, 언어 학습 모델을 위한 텍스트 정보 필드(가수, 장르, 제목, 년도 등)의 순서는 고정되지 않고 목적에 맞게 변경이 가능하다.
상기한 고유 특징 처리부(230)는 음원 컨텐츠에 대해 음원 데이터에 대한 특징 벡터와 텍스트 정보에 대한 워드 벡터를 데이터베이스에 저장 및 유지할 수 있다. 음원 데이터에 대한 특징 벡터와 텍스트 정보에 대한 워드 벡터는 각각 개별 데이터베이스로 구축되거나, 혹은 하나의 데이터베이스로 구축될 수 있다. 이러한 데이터베이스는 컴퓨터 시스템(100)에 포함된 구성 요소로 구현되거나, 혹은 컴퓨터 시스템(100)과 연동 가능한 별개의 시스템 상에 구축된 외부 데이터베이스로서 존재하는 것 또한 가능하다.
단계(S350)에서 플레이리스트 생성부(240)는 음원 컨텐츠에 대하여 데이터베이스에 저장된 음원 데이터에 대한 고유 특징을 이용하여 음원 간의 유사도를 산출할 수 있고, 음원 간의 유사도를 바탕으로 음원 컨텐츠에 대한 플레이리스트를 자동으로 생성할 수 있다. 일례로, 플레이리스트 생성부(240)는 음원 데이터에 대한 특징 벡터를 이용하여 음원 간 유사도를 산출할 수 있고, 다른 예로 음원 데이터에 대한 특징 벡터와 함께 텍스트 정보에 대한 워드 벡터를 복합적으로 이용하여 음원 간 유사도를 산출할 수 있다. 이때, 플레이리스트 생성부(240)는 사용자가 특정 곡을 선택하면 해당 곡을 시드 곡으로 하여 시드 곡과 유사한 곡들의 체인(chain) 형태로 플레이리스트를 무한히 생성할 수 있다. 그리고, 플레이리스트 생성부(240)는 음원 컨텐츠에 대한 사용자 최근 로그 이력을 기반으로 사용자가 선호하는 곡들로 플레이리스트를 생성할 수 있고, 특정 가수가 입력으로 주어지면 해당 가수와 유사한 가수들의 곡들로 플레이리스트를 생성하는 것 또한 가능하다.
따라서, 본 발명은 음원 및 음원의 메타 정보와 같은 텍스트 정보를 학습한 모델을 이용하여 곡 간의 유사성을 기반으로 유사한 곡들로 플레이리스트를 자동 생성할 수 있다.
도 4는 본 발명의 일 실시예에 따른 플레이리스트 자동 생성 과정의 예를 도시한 도면이다. 도 4의 단계들(S401 내지 S407)은 도 3의 단계(S350)에 포함되어 수행될 수 있다.
단계(S401)에서 플레이리스트 생성부(240)는 시드 곡이 선정되면 데이터베이스에 저장된 음원 별 고유 특징을 이용하여 시드 곡과 다른 곡 간의 유사도를 산출할 수 있다. 일례로, 사용자가 특정 곡을 선택하여 재생하는 경우 해당 곡을 시드 곡으로 선정할 수 있다. 다른 예로, 음원 컨텐츠에 대한 사용자 최근 로그 이력을 기반으로 사용자가 선호하는 곡을 시드 곡으로 선정할 수 있다. 예컨대, 시드 곡을 m0이라고 할 때, 프로세서(110)는 시드 곡 m0이 데이터베이스 상에 없는 신곡인 경우 CNN 모델을 이용하여 시드 곡 m0을 음원 자체의 고유 특징을 나타내는 d차원 실수 벡터인 x0으로 변환하고, 시드 곡 m0이 신곡이 아닌 경우 데이터베이스로부터 시드 곡 m0에 해당하는 d차원 실수 벡터를 조회하여 이를 x0으로 정의한다. 음원 특징 벡터는 곡 간의 유사도를 산출하는데 이용될 수 있으며, 다른 예로 각 곡의 메타 정보와 같은 텍스트 정보를 벡터 형태로 표현한 텍스트 특징 벡터 v도 음원 특징 벡터와 함께 곡 간의 유사도를 산출하기 위해 사용될 수 있다. 플레이리스트 생성부(240)는 데이터베이스에 저장된 곡들의 음원 특징 벡터와 시드 곡 m0의 음원 특징 벡터 x0 간의 유사도를 계산할 수 있다. 일례로, 유사도는 벡터 간 거리를 산출하는 코사인 거리(cosine distance)가 이용될 수 있다. 두 벡터 a, b 사이의 코사인 거리(CD)는 수학식 1과 같이 정의될 수 있다. 즉, 벡터 간 거리가 작을수록 곡의 유사도가 높고 벡터 간 거리가 클수록 곡의 유사도가 낮은 것으로 판단할 수 있다.
Figure 112016052794918-pat00001
코사인 거리 이외에도 유클리드 거리, 해밍 거리 등 다양한 방법을 사용하여 곡 간 유사도를 산출할 수 있다. 이때, 음원 특징 벡터와 텍스트 특징 벡터는 접합되어 계산될 수도 있고, 각각 벡터 간 거리를 산출한 후 가중치 합으로 표현될 수도 있다.
단계(S402)에서 플레이리스트 생성부(240)는 데이터베이스 상에 고유 특징이 저장된 곡 중 시드 곡 m0과의 유사도가 높은 복수 개의 곡을 선택하여 별도의 후보 집합 M*을 생성할 수 있다. 일례로, 플레이리스트 생성부(240)는 시드 곡 m0의 가수가 부른 다른 곡 중 유사도가 일정 값 이상인 곡을 선별하거나, 혹은 유사도가 높은 순으로 일정 개수의 곡을 선별하여 후보 집합 M*을 생성할 수 있다. 다른 예로, 플레이리스트 생성부(240)는 곡 간의 텍스트 특징 벡터 거리가 일정 값 이하인 곡들에 대해서만 데이터베이스를 조회하여 후보 집합 M*을 생성할 수도 있다.
단계(S403)에서 플레이리스트 생성부(240)는 데이터베이스 상에 고유 특징이 저장된 곡 간의 유사도를 바탕으로 현재 재생 곡과의 유사도가 높은 곡을 다음 재생 후보 곡으로 선택할 수 있다. 현재 재생되는 곡을 mt라 할 때, 데이터베이스 상의 곡들에 대해 유사도가 높은 곡을 다음 차례 재생할 곡인 mt+1로 선택할 수 있다. 이때, 플레이리스트 생성부(240)는 현재 재생 곡 mt와 유사도가 가장 큰 곡, 혹은 유사도를 기준으로 선정된 복수 개의 곡 중 무작위로 선정된 곡을 다음 재생 후보 곡 mt+1로 결정할 수 있다. 그리고, 이미 재생된 곡은 다음 재생 후보 곡의 선정 대상에서 제외될 수 있다.
단계(S404)에서 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡에 대해 시드 곡 또는 이전 재생 곡 중 적어도 하나의 기준 곡과의 유사도를 산출하여 사전에 정의된 임계값(threshold)과 비교할 수 있다. 이때, 임계값은 플레이리스트의 다양성을 유지하면서 시드 곡이나 기준 곡과 너무 다른 곡이 재생되는 것을 방지하기 위한 역할을 한다. 다시 말해, 본 발명은 다음 재생 후보 곡 선정에 있어 임계값을 통해 시드 곡이나 기준 곡과의 유사성을 지속적으로 체크하는 로직을 포함할 수 있다. 예를 들어, 임계값은 전체 곡들 간의 임계값 분포에서 임의로 선택 가능하며 통상 0.2~0.3 이내로 설정될 수 있다. 임계값을 이용하여 플레이리스트의 다양성과 유사성 간의 균형을 유지하거나 비중을 조절할 수 있다. 그리고, 기준 곡은 최초로 재생된 곡이거나 최초 재생 곡 이후 일정 범위 내에서(예컨대, 5번째 이내로, 1시간 이내로) 재생된 이력이 있는 곡 등일 수 있다.
단계(S405, S406)에서 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡이 시드 곡 또는 기준 곡과의 유사도가 임계값 이상으로 높은 경우(즉, 벡터 간 거리가 임계 거리보다 작은 경우) 단계(S403)에서 선택된 후보 곡을 최종 다음 재생 곡으로 결정하여 현재 재생 곡 이후 재생할 수 있다.
단계(S405, S407)에서 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡이 시드 곡 또는 기준 곡과의 유사도가 임계값 미만으로 낮은 경우(즉, 벡터 간 거리가 임계 거리보다 큰 경우) 단계(S402)에서 생성된 후보 집합 M*에 포함된 곡 중 어느 한 곡을 최종 다음 재생 곡으로 선택하여 현재 재생 곡 이후 재생할 수 있다. 예를 들어, 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡이 시드 곡이나 기준 곡과 유사도가 임계값 미만으로 떨어지면 시드 곡과 유사한 곡의 집합인 후보 집합 M*에서 임의의 한 곡을 선택하여 재생할 수 있다.
플레이리스트 생성부(240)는 상기한 과정에서 단계(S403~S407)를 반복 수행하고, 이를 통해 곡 간 유사성을 기반으로 체인 형태의 플레이리스트를 무한히 생성할 수 있다. 따라서, 본 발명은 곡 간 유사성을 기반으로 확률적으로 다음 연속 재생될 곡을 선택함으로써 플레이리스트의 다양성을 확보할 수 있고, 이와 동시에 다음 재생 곡 선택 시 시드 곡(또는 기준 곡)과의 유사도가 일정 값 이하로 낮아질 때는 시드 곡(또는 기준 곡)과의 유사도 순위가 높은 곡으로 대체하여 플레이리스트의 유사성을 지속시킬 수 있다.
이처럼 본 발명의 실시예들에 따르면, 딥 러닝(deep learning)을 이용하여 음원 자체의 고유 값을 학습을 위한 인자(factor)로 사용함으로써 곡 간의 유사성을 더욱 정확히 산출할 수 있다. 더욱이, 본 발명의 실시예들에 따르면, 음원의 특징뿐 아니라 음원의 메타 정보를 부가적 정보로 사용하여 곡 간의 유사성을 산출할 수 있고 메타 정보를 필터 형태로 사용함으로써 곡 간 유사성 계산속도를 획기적으로 개선 가능하며, 또한 시드(seed) 곡과의 유사성을 지속적으로 체크하는 로직을 적용함으로써 플레이리스트의 다양성을 유지하면서 이와 동시에 시드 곡과 너무 다른 곡이 포함되는 것을 방지할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터로 구현되는 플레이리스트 생성 시스템이 수행하는 플레이리스트 생성 방법에 있어서,
    음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 단계; 및
    상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 단계
    를 포함하고,
    상기 플레이리스트를 생성하는 단계는,
    현재 재생 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 바탕으로 상기 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 후보 곡으로 결정한 후 상기 후보 곡에 대해 시드(seed) 곡에 해당되는 음원 컨텐츠와의 유사도를 체크하여 다음 재생 곡으로의 선택 여부를 결정하되, 이때 상기 후보 곡과 상기 시드 곡 간의 유사도가 임계값 이상이면 상기 후보 곡을 다음 재생 곡으로 결정하고, 상기 후보 곡과 상기 시드 곡 간의 유사도가 임계값 미만이면 상기 시드 곡에 해당되는 음원 컨텐츠와 또 다른 음원 컨텐츠 간의 유사도를 바탕으로 상기 또 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 상기 후보 곡을 대신하여 다음 재생 곡으로 결정하고,
    다음 재생 곡의 선정 시 상기 임계값을 통해 상기 시드 곡과의 유사도를 체크함으로써 상기 시드 곡과 유사한 음원 컨텐츠로 체인 형태의 플레이리스트를 생성하는 것
    을 특징으로 하는 플레이리스트 생성 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 플레이리스트를 생성하는 단계는,
    상기 음향 특징을 이용하여 시드(seed) 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하는 단계;
    상기 시드 곡과의 유사도를 기준으로 복수 개의 음원 컨텐츠를 후보 집합으로 생성하는 단계;
    상기 음향 특징을 이용하여 현재 재생 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하는 단계;
    상기 현재 재생 곡과의 유사도를 기준으로 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 후보 곡으로 선택하는 단계;
    상기 음향 특징을 이용하여 상기 후보 곡에 대해 상기 시드 곡 또는 이전 재생 곡 중 적어도 하나의 기준 곡과의 유사도를 산출하는 단계;
    상기 시드 곡 또는 상기 기준 곡과의 유사도가 임계값 이상이면 상기 후보 곡을 다음 재생 곡으로 결정하는 단계; 및
    상기 시드 곡 또는 상기 기준 곡과의 유사도가 임계값 미만이면 상기 후보 곡을 대신하여 상기 후보 집합에 포함된 음원 컨텐츠 중 어느 하나를 다음 재생 곡으로 결정하는 단계
    를 포함하는 것을 특징으로 하는 플레이리스트 생성 방법.
  4. 제3항에 있어서,
    상기 시드 곡은 사용자에 의해 선택된 음원 컨텐츠 또는 음원 컨텐츠에 대한 상기 사용자의 최근 로그 이력을 기반으로 선정된 음원 컨텐츠인 것
    을 특징으로 하는 플레이리스트 생성 방법.
  5. 제3항에 있어서,
    상기 기준 곡은 최초로 재생된 음원 컨텐츠 또는 최초로 재생된 음원 컨텐츠 이후 일정 범위 내에서 재생된 음원 컨텐츠인 것
    을 특징으로 하는 플레이리스트 생성 방법.
  6. 제1항에 있어서,
    상기 음향 특징을 생성하는 단계는,
    상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하는 것
    을 특징으로 하는 플레이리스트 생성 방법.
  7. 제1항에 있어서,
    상기 음향 특징을 생성하는 단계는,
    음원 학습 모델을 이용하여 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성하는 것
    을 특징으로 하는 플레이리스트 생성 방법.
  8. 제1항에 있어서,
    상기 생성하는 단계 이전에, 상기 음원 데이터를 학습 데이터의 형태로 처리하는 단계
    를 더 포함하는 것을 특징으로 하는 플레이리스트 생성 방법.
  9. 제1항에 있어서,
    상기 생성하는 단계 이전에, 상기 음원 데이터를 시간-주파수로 표현되는 학습 데이터로 변환하는 단계
    를 더 포함하는 것을 특징으로 하는 플레이리스트 생성 방법.
  10. 제1항에 있어서,
    상기 음향 특징을 생성하는 단계는,
    상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하고,
    상기 플레이리스트를 생성하는 단계는,
    상기 다차원 실수 벡터 간 거리를 산출함으로써 상기 음원 컨텐츠 간의 유사도를 산출하는 것
    을 특징으로 하는 플레이리스트 생성 방법.
  11. 제1항에 있어서,
    상기 플레이리스트를 생성하는 단계는,
    상기 음향 특징과 함께 상기 음원 컨텐츠와 관련된 텍스트 정보를 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하는 단계
    를 포함하는 것을 특징으로 하는 플레이리스트 생성 방법.
  12. 제1항에 있어서,
    상기 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠와 관련된 텍스트 정보를 다차원 실수 벡터로 변환하는 단계
    를 더 포함하고,
    상기 음향 특징을 생성하는 단계는,
    상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하고,
    상기 플레이리스트를 생성하는 단계는,
    상기 음원 데이터와 상기 텍스트 정보 중 적어도 하나에 대한 다차원 실수 벡터 간 거리를 산출함으로써 상기 음원 컨텐츠 간의 유사도를 산출하는 것
    을 특징으로 하는 플레이리스트 생성 방법.
  13. 제1항, 제3항 내지 제12항 중 어느 한 항의 방법을 컴퓨터를 통해 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  14. 컴퓨터로 구현되는 플레이리스트 생성 시스템에 있어서,
    음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 고유 특징 처리부; 및
    상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 플레이리스트 생성부
    를 포함하고,
    상기 플레이리스트 생성부는,
    현재 재생 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 바탕으로 상기 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 후보 곡으로 결정한 후 상기 후보 곡에 대해 시드(seed) 곡에 해당되는 음원 컨텐츠와의 유사도를 체크하여 다음 재생 곡으로의 선택 여부를 결정하되, 이때 상기 후보 곡과 상기 시드 곡 간의 유사도가 임계값 이상이면 상기 후보 곡을 다음 재생 곡으로 결정하고, 상기 후보 곡과 상기 시드 곡 간의 유사도가 임계값 미만이면 상기 시드 곡에 해당되는 음원 컨텐츠와 또 다른 음원 컨텐츠 간의 유사도를 바탕으로 상기 또 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 상기 후보 곡을 대신하여 다음 재생 곡으로 결정하고,
    다음 재생 곡의 선정 시 상기 임계값을 통해 상기 시드 곡과의 유사도를 체크함으로써 상기 시드 곡과 유사한 음원 컨텐츠로 체인 형태의 플레이리스트를 생성하는 것
    을 특징으로 하는 플레이리스트 생성 시스템.
  15. 삭제
  16. 제14항에 있어서,
    상기 플레이리스트 생성부는,
    상기 음향 특징을 이용하여 시드(seed) 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하고,
    상기 시드 곡과의 유사도를 기준으로 복수 개의 음원 컨텐츠를 후보 집합으로 생성하고,
    상기 음향 특징을 이용하여 현재 재생 곡에 해당되는 음원 컨텐츠와 다른 음원 컨텐츠 간의 유사도를 산출하고,
    상기 현재 재생 곡과의 유사도를 기준으로 다른 음원 컨텐츠 중 어느 하나의 음원 컨텐츠를 후보 곡으로 선택하고,
    상기 음향 특징을 이용하여 상기 후보 곡에 대해 상기 시드 곡 또는 이전 재생 곡 중 적어도 하나의 기준 곡과의 유사도를 산출하고,
    상기 시드 곡 또는 상기 기준 곡과의 유사도가 임계값 이상이면 상기 후보 곡을 다음 재생 곡으로 결정하고,
    상기 시드 곡 또는 상기 기준 곡과의 유사도가 임계값 미만이면 상기 후보 곡을 대신하여 상기 후보 집합에 포함된 음원 컨텐츠 중 어느 하나를 다음 재생 곡으로 결정하는 것
    을 특징으로 하는 플레이리스트 생성 시스템.
  17. 제14항에 있어서,
    상기 고유 특징 처리부는,
    음원 학습 모델을 이용하여 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성하는 것
    을 특징으로 하는 플레이리스트 생성 시스템.
  18. 제14항에 있어서,
    상기 고유 특징 처리부는,
    상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하고,
    상기 플레이리스트 생성부는,
    상기 다차원 실수 벡터 간 거리를 산출함으로써 상기 음원 컨텐츠 간의 유사도를 산출하는 것
    을 특징으로 하는 플레이리스트 생성 시스템.
  19. 제14항에 있어서,
    상기 플레이리스트 생성부는,
    상기 음향 특징과 함께 상기 음원 컨텐츠와 관련된 텍스트 정보를 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하는 것
    을 특징으로 하는 플레이리스트 생성 시스템.
  20. 제14항에 있어서,
    상기 고유 특징 처리부는,
    상기 음원 컨텐츠 각각에 대하여 상기 음원 데이터를 상기 음향 특징을 나타내는 다차원 실수 벡터로 변환하고 상기 음원 컨텐츠와 관련된 텍스트 정보를 다차원 실수 벡터로 변환하고,
    상기 플레이리스트 생성부는,
    상기 음원 데이터와 상기 텍스트 정보 중 적어도 하나에 대한 다차원 실수 벡터 간 거리를 산출함으로써 상기 음원 컨텐츠 간의 유사도를 산출하는 것
    을 특징으로 하는 플레이리스트 생성 시스템.
KR1020160067984A 2016-06-01 2016-06-01 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템 KR101942459B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160067984A KR101942459B1 (ko) 2016-06-01 2016-06-01 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160067984A KR101942459B1 (ko) 2016-06-01 2016-06-01 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190007510A Division KR102031282B1 (ko) 2019-01-21 2019-01-21 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20170136200A KR20170136200A (ko) 2017-12-11
KR101942459B1 true KR101942459B1 (ko) 2019-01-28

Family

ID=60943434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160067984A KR101942459B1 (ko) 2016-06-01 2016-06-01 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101942459B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190092086A (ko) * 2018-01-30 2019-08-07 (주)스마일게이트스토브 컨텐츠 정보 제공 장치 및 그 방법
KR20200124215A (ko) * 2018-02-26 2020-11-02 라인플러스 주식회사 성장 그래프 기반의 플레이리스트 추천 방법 및 시스템
WO2019164041A1 (ko) * 2018-02-26 2019-08-29 라인플러스 주식회사 플레이리스트 구성에 기반하여 곡 재생 길이를 예측하는 방법 및 시스템
KR102173241B1 (ko) * 2018-11-08 2020-11-03 성균관대학교산학협력단 건설현장 이상징후 감지 방법 및 시스템
KR20210063822A (ko) 2019-11-25 2021-06-02 에스케이텔레콤 주식회사 음악 컨텐츠 운용 방법 및 이를 지원하는 장치
KR102520819B1 (ko) 2020-08-11 2023-04-11 성균관대학교산학협력단 건설현장 이상징후 감지 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171096A (ja) * 2002-11-18 2004-06-17 Pioneer Electronic Corp 楽曲検索方法、楽曲検索装置及び楽曲検索プログラム
JP2005077865A (ja) * 2003-09-02 2005-03-24 Sony Corp 音楽検索システムおよび方法、情報処理装置および方法、プログラム、並びに記録媒体
JP5344715B2 (ja) * 2008-11-07 2013-11-20 国立大学法人北海道大学 コンテンツ検索装置およびコンテンツ検索プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171096A (ja) * 2002-11-18 2004-06-17 Pioneer Electronic Corp 楽曲検索方法、楽曲検索装置及び楽曲検索プログラム
JP2005077865A (ja) * 2003-09-02 2005-03-24 Sony Corp 音楽検索システムおよび方法、情報処理装置および方法、プログラム、並びに記録媒体
JP5344715B2 (ja) * 2008-11-07 2013-11-20 国立大学法人北海道大学 コンテンツ検索装置およびコンテンツ検索プログラム

Also Published As

Publication number Publication date
KR20170136200A (ko) 2017-12-11

Similar Documents

Publication Publication Date Title
KR101942459B1 (ko) 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
US11461388B2 (en) Generating a playlist
Kaminskas et al. Location-aware music recommendation using auto-tagging and hybrid matching
US8321414B2 (en) Hybrid audio-visual categorization system and method
EP3508986B1 (en) Music cover identification for search, compliance, and licensing
US9576050B1 (en) Generating a playlist based on input acoustic information
US11636835B2 (en) Spoken words analyzer
TWI396105B (zh) 用於模擬個體差異之個人化資訊檢索之數位資料處理方法及其電腦裝置可讀式資訊儲存媒體與資訊檢索系統
US20100217755A1 (en) Classifying a set of content items
KR102031282B1 (ko) 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
US11410706B2 (en) Content pushing method for display device, pushing device and display device
KR101801250B1 (ko) 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템
KR20070048484A (ko) 음악파일 자동 분류를 위한 특징 데이터베이스 생성 장치및 그 방법과, 그를 이용한 재생 목록 자동 생성 장치 및그 방법
Borjian Query-by-example music information retrieval by score-based genre prediction and similarity measure
KR101520572B1 (ko) 음악에 대한 복합 의미 인식 방법 및 그 장치
Doğan et al. A flexible and scalable audio information retrieval system for mixed‐type audio signals
KR102538680B1 (ko) 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치
TWI808038B (zh) 媒體檔案選擇方法及服務系統與電腦程式產品
Wani et al. Music Suggestion Via Sentimental Analysis of User-Inputted Texts
US11823671B1 (en) Architecture for context-augmented word embedding
JP7061679B2 (ja) プレイリストの構成に基づいて曲の再生長さを予測する方法およびシステム
CN118093792A (zh) 对象搜索的方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant