KR101801250B1 - 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템 - Google Patents

음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템 Download PDF

Info

Publication number
KR101801250B1
KR101801250B1 KR1020160012717A KR20160012717A KR101801250B1 KR 101801250 B1 KR101801250 B1 KR 101801250B1 KR 1020160012717 A KR1020160012717 A KR 1020160012717A KR 20160012717 A KR20160012717 A KR 20160012717A KR 101801250 B1 KR101801250 B1 KR 101801250B1
Authority
KR
South Korea
Prior art keywords
sound source
learning
text
data
model
Prior art date
Application number
KR1020160012717A
Other languages
English (en)
Other versions
KR20170091888A (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 KR1020160012717A priority Critical patent/KR101801250B1/ko
Publication of KR20170091888A publication Critical patent/KR20170091888A/ko
Application granted granted Critical
Publication of KR101801250B1 publication Critical patent/KR101801250B1/ko

Links

Images

Classifications

    • G06F17/30752
    • G06F17/30743
    • G06F17/30778
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템이 개시된다. 음악 자동 태깅 방법은 음원 컨텐츠에 대하여 상기 음원 컨텐츠의 음원 데이터와 텍스트 정보를 각각 입력받는 단계, 상기 음원 데이터와 상기 텍스트 정보를 각각 학습 데이터의 형태로 전처리하는 단계, 음원-텍스트 통합 학습 모델을 통해 상기 음원 데이터에 대해 전처리된 학습 데이터와 함께 상기 텍스트 정보에 대해 전처리된 학습 데이터를 동시 학습하는 단계 및 상기 학습 결과에 따른 적어도 하나의 태그를 상기 음원 컨텐츠에 부여하여 음악 자동 태깅을 수행하는 단계를 포함할 수 있다.

Description

음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템{METHOD AND SYSTEM FOR AUTOMATICALLY TAGGING THEMES SUITED FOR SONGS}
아래의 설명은 음악에 적합한 테마를 태깅하는 기술에 관한 것이다.
현재 다양한 디지털 압축 기술의 발전과 더불어 기존 대용량의 미디어를 디지털화하여 저용량의 미디어로 변환할 수 있어 휴대가 가능한 사용자 단말에 다양한 종류의 미디어를 저장하여 이동 중에도 사용자가 원하는 미디어를 선별하여 간편하게 감상할 수 있다.
또한, 이러한 디지털 압축 기술을 통해 디지털화된 미디어는 네트워크 상에서 사용자간 미디어 공유를 가능하게 하여 온라인 미디어 서비스를 폭발적으로 활성화시키고 있다.
이렇게 방대하게 제공되는 미디어 중에서 상당한 부분을 차지하는 것이 음악으로서, 다른 미디어 종류에 비해 저용량이며 통신 부하가 낮아 실시간 스트리밍 서비스를 지원하는데 무리가 없어 서비스 제공자나 사용자 모두에게 만족도가 높다.
이에 따라, 현재 다양한 온라인 음악 서비스가 등장하고 있으며, 기존의 온라인 음악 서비스는 음원 컨텐츠의 전체 파일을 사용자 단말로 제공하거나, 음원 컨텐츠를 스트리밍 서비스를 통해 제공하는 등의 방식으로 온라인에 연결된 사용자에게 실시간으로 음원을 제공하고 있다.
온라인 음악 서비스의 일례로, 한국 등록특허공보 제10-0615522호(등록일 2006년 08월 17일)에는 음원 컨텐츠를 내용 기반으로 분류하고 그에 따라 네트워크를 통하여 접속하는 사용자들에게 음원 컨텐츠를 제공하는 기술이 개시되어 있다.
음악의 효율적인 추천, 검색, 관리 등을 위해서는 음원 컨텐츠를 분류하는 것이 중요하다. 음원 컨텐츠들을 유사 음원 컨텐츠들로 분류하는 방법은 크게 장르(Genre), 가수(Singer), 그리고 음악 자체의 특징으로 분류하는 방법이 있다. 음악을 장르 별로 구별하는 방법의 예로, 음색(Timbre), 리듬(Rhythm), 피치(Pitch), 그리고 음성 인식 분야에서 많이 쓰이고 있는 MFCC(Mel-frequency cepstral coefficient)를 들 수 있다.
그러나, 음악 장르는 대부분 곡 생성 시 부여되기는 하지만 음악 장르에 대한 명확한 정의가 불가능할 뿐만 아니라 체계가 모호하고 일관성이 없어 음악을 장르 별로 분류하여 사용자에게 서비스하기에 어려움이 있다.
특히, 단순히 특정 분류에 따라 음악을 추천하는 것이 아니라, 사용자의 현재 상황에 기반하여 음악을 추천하기 위해서는 사용자의 현재 상황을 판단하기에 앞서 각 음원 컨텐츠들이 어떠한 상황에 어울리지 가에 대한 사전 정보가 필요하다. 일반적인 종래기술에서는 대부분 사람이 직접 각 음원 컨텐츠들에 대한 태그를 직접 생성한다. 그러나, 사람이 직접 생성하는 태그들은 매우 주관적이기 때문에 동일한 음원 컨텐츠에 대해서도 사람마다 서로 다른 태그들이 생성될 수 있으며, 매우 많은 수의 음원 컨텐츠들에 대해 사람이 일일이 태그를 생성하는 것은 많은 비용이 요구되고, 비효율적이다.
다른 종래기술로서, 음원 컨텐츠들이 포함하는 메타정보의 장르를 사전 정보로서 활용할 수도 있다. 그러나, 이미 설명한 바와 같이 메타정보로서 제공되는 장르는 곡 생성시에 부여되는 정보이긴 하나, 그 체계가 모호하고 일관성이 없다. 뿐만 아니라, 메타정보로서 제공되는 장르는 사용자 상황과의 관계가 명확하지 않다는 문제점이 있다.
한편, 이전에 사용자들의 상황별로 어떠한 음악을 들었는가와 같은 로그 정보를 활용하는 종래기술이 존재한다. 예를 들어, 한국 등록특허 제10-1170208호(음악추천 시스템 및 방법)에서는 음악을 구조적으로 분석하여 구조적 특징을 추출하고, 음악의 구조와 특징의 분석결과를 사용자정보에 기초하여 모델링하고, 이러한 모델링 결과에 대응하는 음악을 추천하는 기술을 개시하고 있다.
그러나, 이러한 종래기술은 경험적으로 미리 상황과 음원 컨텐츠들간의 관계를 설정해놓고, 동일한 상황에 대해 관련된 음원 컨텐츠를 추천하는 기술일 뿐, 음원 컨텐츠 자체에 대한 사전 정보로서 태그를 생성 및 제공하지는 못한다는 문제점이 있다.
음원 컨텐츠의 음원 데이터와 텍스트 정보(일례로, 가사, 메타정보(가수, 장르, 제목, 앨범명 등), 기타 텍스트(해당 음원 컨텐츠와 관련하여 입력된 쿼리))를 함께 이용하여 음악에 적합한 테마를 태깅할 수 있는 방법 및 시스템을 제공한다.
음원 데이터뿐 아니라, 텍스트 정보를 한꺼번에 학습하여 음원 컨텐츠에 대한 테마, 장르, 무드, 주제 등의 복수의 태그를 자동으로 부여할 수 있는 방법 및 시스템을 제공한다.
컴퓨터로 구현된 음악 자동 태깅 시스템이 수행하는 음악 자동 태깅 방법에 있어서, 음원 컨텐츠에 대하여 상기 음원 컨텐츠의 음원 데이터와 텍스트 정보를 입력받는 단계; 상기 음원 데이터와 상기 텍스트 정보를 각각 학습 데이터의 형태로 처리하는 단계; 상기 음원 데이터에 대해 전처리된 학습 데이터와 상기 텍스트 정보에 대해 전처리된 학습 데이터를 음원-텍스트 통합 학습 모델을 통해 함께 학습하는 단계; 및 상기 학습 결과에 따른 적어도 하나의 태그를 상기 음원 컨텐츠에 부여하여 음악 자동 태깅을 수행하는 단계를 포함하는 것을 특징으로 하는 음악 자동 태깅 방법을 제공한다.
일측에 따르면, 상기 전처리하는 단계는, 상기 음원 데이터를 시간-주파수로 표현되는 학습 데이터로 변환하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 전처리하는 단계는, 상기 텍스트 정보를 개별 단어의 시퀀스로 표현되는 학습 데이터로 변환하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 음원-텍스트 통합 학습 모델은 음원 모델과 텍스트 모델이 통합된 것이며, 상기 동시 학습하는 단계는, 상기 음원-텍스트 통합 학습 모델 중 음원 모델을 이용하여 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 제1 실수 벡터를 생성하는 단계; 상기 음원-텍스트 통합 학습 모델 중 텍스트 모델을 이용하여 상기 텍스트 정보에 대해 전처리된 학습 데이터에 대응하는 제2 실수 벡터를 생성하는 단계; 및 전체 태그 집합에 대해 상기 제1 실수 벡터 및 상기 제2 실수 벡터가 접합된 제3 실수 벡터에 따른 태그 별 점수를 상기 음원-텍스트 통합 학습 모델을 통해 산출하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 음악 자동 태깅을 수행하는 단계는, 상기 음원-텍스트 통합 학습 모델을 통해 출력된 태그 별 점수를 이용하여 상기 전체 태그 집합에서 상기 적어도 하나의 태그를 결정하여 상기 음원 컨텐츠에 부여하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성하는 단계는, 상기 음원 데이터에 대해 전처리된 학습 데이터로부터 복수 개의 프레임을 샘플링하고, 상기 샘플링된 복수 개의 프레임 각각을 상기 음원 모델의 입력으로 이용하여 상기 음원 데이터에 대한 실수 벡터를 생성하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 음원 모델은 상기 샘플링된 프레임의 수와 동일한 채널의 수를 갖는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 텍스트 정보에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성하는 단계는, 서로 다른 종류의 복수의 개별 텍스트 정보들 각각에 대해 개별 텍스트 모델을 적용하여 복수의 실수 벡터를 생성하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 음원-텍스트 통합 학습 모델에서 전체 태그 집합의 태그들을 수치화한 태그 벡터값과 상기 산출된 태그 별 점수에 기초한 벡터간의 차이에 기반한 오차를 이용하여 상기 음원-텍스트 통합 학습 모델을 학습하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 음원-텍스트 통합 학습 모델에서 상기 오차를 편미분하여 계산되는 에러 변화값이 역전파(backpropagation) 또는 BPTT(BackPropagation Through Time) 알고리즘을 통해 상기 음원 모델 및 상기 텍스트 모델의 개별 모델들로 전파되는 것을 특징으로 할 수 있다.
컴퓨터로 구현된 음악 자동 태깅 시스템에 있어서, 음원 컨텐츠에 대하여 상기 음원 컨텐츠의 음원 데이터와 텍스트 정보를 입력받는 입력 제어부; 상기 음원 데이터와 상기 텍스트 정보를 각각 학습 데이터의 형태로 처리하는 전처리부; 상기 음원 데이터에 대해 전처리된 학습 데이터와 상기 텍스트 정보에 대해 전처리된 학습 데이터를 음원-텍스트 통합 학습 모델을 통해 함께 학습하는 학습부; 및 상기 학습 결과에 따른 적어도 하나의 태그를 상기 음원 컨텐츠에 부여하여 음악 자동 태깅을 수행하는 태깅부를 포함하는 것을 특징으로 하는 음악 자동 태깅 시스템을 제공한다.
본 발명의 실시예에 따르면, 음원 컨텐츠의 음원 데이터와 텍스트 정보를 함께 이용하여 음악에 적합한 테마를 자동으로 태깅함으로써 음원 컨텐츠에 대한 태그 부여를 위해 발생하는 비용을 절감할 수 있다.
본 발명의 실시예에 따르면, 최소한의 전처리를 통해 음원으로부터 별도의 인자를 추출하는 과정을 분리하지 않고 음원 컨텐츠의 음원 데이터와 텍스트 정보를 자동으로 학습하여 태깅할 수 있다.
본 발명의 실시예에 따르면, 음원 데이터뿐 아니라, 가사나 메타 정보를 포함한 텍스트 정보를 한꺼번에 학습함으로써 음원 컨텐츠에 적합한 테마, 장르, 무드, 주제 등 복수의 태그를 부여할 수 있어 음악과 관련된 상황에 대해 다양한 태깅이 가능하다.
도 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), 학습부(250), 및 태깅부(260)를 포함할 수 있다. 이러한 프로세서(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), 학습부(250), 및 태깅부(260) 각각은 메모리(120)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S320 내지 S350)을 실행하기 위한 프로세서(110)의 서로 다른 기능적 표현들일 수 있다. 단계들(S320 내지 S350)의 실행을 위해, 프로세서(110) 및 프로세서(110)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.
단계(S320)에서 음원 입력 제어부(210)와 텍스트 입력 제어부(220)는 음원 컨텐츠에 대하여 음원 컨텐츠의 음원 데이터와 텍스트 정보를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있다. 다시 말해, 음원 입력 제어부(210)는 음원 컨텐츠에 대해 음원 데이터를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있고, 텍스트 입력 제어부(220)는 음원 컨텐츠와 관련된 텍스트 정보를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있다. 이때, 음원 컨텐츠는 오디오 파일 포맷을 가진 모든 디지털 데이터를 의미할 수 있으며, 예를 들어 MP3(MPEG Audio Layer-3), WAVE(Waveform Audio Format), FLAC(Free Lossless Audio Codec) 등을 포함할 수 있다. 음원 컨텐츠와 관련된 텍스트 정보는 가사를 포함하거나, 혹은 가수, 장르, 제목, 앨범명 등과 같은 메타 정보 또는 음원 컨텐츠의 검색과 관련하여 입력된 쿼리(query) 등의 정보를 포함할 수 있다. 음원 데이터와 텍스트 정보는 입출력 인터페이스(150) 또는 네트워크 인터페이스(160)를 통해 컴퓨터 시스템(100)으로 입력 또는 수신되어 메모리(120)나 영구 저장 장치(130)에 저장 및 관리될 수 있다.
단계(S330)에서 음원 전처리부(230)와 텍스트 전처리부(240)는 단계(S320)에서 입력받은 음원 데이터와 텍스트 정보를 각각 학습 데이터 형태로 처리할 수 있다. 이때, 음원 전처리부(230)는 전처리를 통해 음원 데이터를 시간-주파수로 표현할 수 있다. 예를 들어 음원 전처리부(230)는 음원 데이터를 멜-스펙트로그램(Mel-spectrogram)이나 MFCC(Mel Frequency Cepstral Coefficient)와 같은 시간-주파수-크기 형태의 데이터로 변환할 수 있다. 그리고, 텍스트 전처리부(240)는 전처리를 통해 음원 컨텐츠의 텍스트 정보를 개별 단어의 시퀀스(sequence)로 표현할 수 있다. 일례로, 텍스트 전처리부(240)는 형태소 분석기, 색인어 추출기 등 언어 전처리기를 이용하여 입력된 텍스트 정보로부터 무의미한 텍스트들을 필터링할 수 있다. 다시 말해, 텍스트 전처리부(240)는 텍스트 정보에 포함된 조사, 조용사 등 불필요한 품사의 단어나 특수 기호(!, , / 등, 예컨대) 등을 제거하고 체언이나 어근에 해당되는 단어를 추출할 수 있다.
단계(S340)에서 학습부(250)는 음원 데이터에 대해 전처리된 학습 데이터와 텍스트 정보에 대해 전처리된 학습 데이터를 음원-텍스트 통합 학습 모델을 통해 함께 학습할 수 있다. 학습부(250)는 음원 모델과 텍스트 모델이 통합된 음원-텍스트 통합 학습 모델을 이용한다. 일례로 학습부(250)는 음원 데이터(전처리된 음원 데이터)와 텍스트 정보(전처리된 텍스트 정보)를 실수 벡터로 각각 표현한 후 전체 태그 집합에 대해 실수 벡터에 따른 태그 별 점수를 산출할 수 있다. 다시 말해, 학습부(250)는 음원 컨텐츠에 대해 음원 데이터와 텍스트 정보를 함께 학습하여 전체 태그 집합의 각 태그와의 관계를 학습할 수 있다.
단계(S350)에서 태깅부(260)는 단계(S340)의 학습 결과에 따른 적어도 하나의 태그를 해당 음원 컨텐츠에 부여함으로써 음악 자동 태깅을 수행할 수 있다. 이때, 태깅부(260)는 음원-텍스트 통합 학습 모델을 통해 출력된 태그 별 점수를 이용하여 전체 태그 집합 중에서 음원 컨텐츠에 적합한 태그를 결정할 수 있다. 일례로, 태깅부(260)는 음원 컨텐츠에 대해 출력된 태그 별 점수 중 가장 높은 점수를 갖는 태그를 기준으로 상위 일정 개수의 태그를 해당 음원 컨텐츠의 태그로 결정 및 부여할 수 있다. 여기서, 태그 집합은 음원 컨텐츠들에 부여될 수 있는 태그들의 집합일 수 있다. 예를 들어, 컴퓨터 시스템(100)은 복수의 단어들의 집합을 태그 집합으로서 관리할 수 있다. 태그 별 점수는 이러한 전체 태그 집합에 포함된 태그들 각각에 대한 계산되는 점수를 의미할 수 있다. 실시예에 따라 전체 태그 집합은 복수 개의 서브 태그 집합으로 구분될 수 있고, 이 경우 하나의 음원 컨텐츠에 대해서는 하나의 서브 태그 집합에 포함된 태그들에 대해 태그 별 점수가 산정되어 활용될 수도 있다.
본 실시예에서는 음악 태깅을 위해 음원 데이터와 함께 텍스트 정보를 동시에 활용하여 학습하는 멀티모달(multimodal) 기술을 제공하고, 특히 음원 데이터에 대한 별도의 인자 추출 과정 없이 음원 데이터와 텍스트 정보를 입력하기만 하면 자동으로 복수 개의 태그를 부여할 수 있는 E2E(end to end) 기술을 제공한다. 이처럼, 본 발명의 실시예들에 따르면, 음원 데이터와 함께 가사나 메타 정보와 같은 텍스트 정보를 동시에 태깅에 활용함으로써 곡의 분위기뿐만 아니라 가사의 내용이나 메타 정보 등을 동시에 고려하여 태그를 부여하는 것이 가능해진다. 예를 들어, 느린 곡이지만 가사가 밝은 내용을 포함하고 있는 경우나, 혹은 빠른 비트를 지닌 곡이지만 가사가 우울한 내용을 포함하고 있는 경우 등에도 해당 곡에 보다 적합한 태그를 부여할 수 있어 태깅에 대한 정확도와 신뢰도를 향상시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 자동 음악 태깅 학습 모델 구조의 예를 도시한 도면이다. 도 4의 실시예에 따른 자동 음악 태깅 학습 모델 구조는 앞서 설명한 음원-텍스트 통합 모델의 구조에 대한 일실시예로서 음원 모델과 텍스트 모델이 결합되어 활용될 수 있다. 이때, 자동 음악 태깅 학습 모델 구조는 도 4에 도시된 바와 같이 음원 데이터 패턴 학습 계층(410), 텍스트 정보 패턴 학습 계층(420), 음원-텍스트 통합 은닉 연결 계층(430) 및 출력계층(440)을 포함할 수 있다. 이하에서는, 음원 컨텐츠에 대한 태그를 도 4의 자동 음악 태깅 학습 모델 구조에 기반하여 생성하는 과정의 예를 설명한다. 음원 데이터 패턴 학습 계층(410)은 상술한 음원 모델에, 텍스트 정보 패턴 학습 계층은 상술한 텍스트 모델에 각각 대응될 수 있으며, 음원-텍스트 통합 은닉 연결 계층(430)은 음원 모델의 출력과 텍스트 모델의 출력을 연결하기 위한 계층일 수 있으며, 출력계층(440)은 음원-텍스트 통합 모델의 최종 출력이 이루어지는 계층일 수 있다.
아래 과정 1 내지 3은 음원 데이터 패턴 학습 계층(410)에서 음원 데이터에 대응하는 실수 벡터를 생성하는 과정의 예일 수 있다.
과정 1에서 음원 컨텐츠가 포함하는 음원 데이터(일례로 mp3 파일)는 전처리를 통해 멜-스펙트로그램이나 MFCC와 같은 시간-주파수-크기 형태의 데이터로 변환될 수 있다. 예를 들어, 음원 전처리부(230)는 음원 입력 제어부(210)에 의해 입력되는 음원 데이터를 시간-주파수로 표현할 수 있다.
과정 2에서 변환된 음원 데이터로부터 한 개 이상의 짧은 시간 구간 동안(1초 내지 10초)의 복수 개의 주파수 프레임들이 샘플링되어 음원 데이터의 학습 모델에 대한 입력 데이터로서 사용될 수 있다. 예를 들어, 학습부(250)는 복수 개의 프레임들을 샘플링하여 음원 데이터 패턴 학습 계층(410)에서 음원 모델의 예시로 제시되는 CNN(Convolutional Neural Network) 모델의 입력으로서 활용할 수 있다. 그러므로, 음원 데이터의 학습을 위한 CNN 모델은 샘플링된 프레임들의 수와 동일한 수의 채널을 갖는 모델이 될 수 있다.
과정 3에서는 음원 데이터 패턴 학습 계층(410)가 포함할 수 있는 복수 개의 콘벌루션(convolution) 및 풀링(pooling) 계층을 반복적으로 구성함으로써 음원 프레임으로부터 추상화된 특징(feature)을 생성할 수 있다. 콘벌루션에서 패치의 크기는 다양하게 구성될 수 있으며 풀링도 최대값(max)을 이용한 풀링기법, 평균값(average)을 이용한 풀링기법 및 두 풀링기법을 접합한 풀링기법 등 여러 풀링기법들 중 적어도 하나가 사용될 수 있다.
복수 개의 콘벌루션 및 풀링 계층 위에는 완전 연결(fully-connected) 계층이 있으며 각 계층별 함수는 시그모이드(sigmoid) 함수, 하이퍼볼릭 탄젠트(Hyperbolic Tangent: tanh) 함수, ReLU(Rectified Linear Unit) 함수 등 다양한 함수가 사용될 수 있다. 결국, 음원 데이터에 대해 하나의 다차원 실수 벡터가 생성될 수 있다. 예를 들어 주어진 첫 번째 음원 데이터
Figure 112016011023424-pat00001
은 음원 학습 모델
Figure 112016011023424-pat00002
의 출력계층에서
Figure 112016011023424-pat00003
={-0.24, 0.124, 0.312, …}와 같이 하나의 다차원 실수 벡터로 표현될 수 있다. 차원의 수는 0보다 큰 정수이며 경험적으로 통상 100 이상의 값을 가질 수 있다. 이러한 과정 3은 앞서 설명한 학습부(250)에 의해 처리될 수 있다.
아래 과정 4 내지 6은 텍스트 정보 패턴 학습 계층(420)에서 텍스트 정보에 대응하는 실수 벡터를 생성하는 과정의 예일 수 있다.
과정 4에서 가사와 메타 정보(장르, 제목, 가수, 앨범명 등과 쿼리 등의 정보)는 형태소 분석 전처리를 통해 개별단어의 시퀀스로 표현될 수 있다. 예를 들어 텍스트 전처리부(240)는 텍스트 입력 제어부(220)를 통해 입력되는 텍스트 정보에 기반한 형태소 분석 전처리를 통해 복수의 단어들의 시퀀스를 생성할 수 있다. 이때, 텍스트 정보들은 개별 모델의 입력으로 주어질 수도 있고 하나의 모델에 모든 텍스트 정보가 하나의 시퀀스로 접합하여 입력으로 주어질 수도 있다. 예를 들어, 가사를 위한 모델과 메타 정보를 위한 모델을 통해 가사와 메타 정보 각각을 위한 개별 시퀀스들이 생성될 수도 있고, 하나의 모델을 통해 가사와 메타 정보 전체를 위한 하나의 시퀀스가 생성될 수도 있다.
과정 5에서 개별단어 시퀀스(또는 개별단어 시퀀스들 각각)는 RNN(Recurrent Neural Network)이나 상술한 CNN과 같은 시퀀스 정보의 학습이 가능한 모델을 이용하여 하나의 다차원 실수 벡터로 표현될 수 있다. 만약, 복수의 개별 시퀀스들이 복수 개의 모델들에 각각 입력되는 경우에는 복수의 다차원 실수 벡터들이 생성될 수 있다. 각 텍스트 정보에 대하여 개별 모델을 사용한다고 가정할 때 주어진 m 번째 텍스트 정보의 첫 번째 데이터
Figure 112016011023424-pat00004
는 m 번째 텍스트 모델
Figure 112016011023424-pat00005
의 출력계층에서
Figure 112016011023424-pat00006
={-0.312, 0.991, …}와 같이 하나의 다차원 실수 벡터로 표현될 수 있다. 차원의 수는 0보다 큰 정수이며 경험적으로 통상 50보다 큰 정수의 값을 가질 수 있다. 이러한 과정 5는 앞서 설명한 학습부(250)에 의해 처리될 수 있다.
과정 6에서는 과정 3과 과정 5의 출력계층에서 산출된 실수 벡터들은 음원-텍스트 통합 은닉 연결 계층(430)에서 하나의 벡터로 접합될 수 있으며, 이는 음원 모델과 텍스트 모델을 통합하는 모델의 입력으로 사용될 수 있다. 통합된 모델 M의 출력계층(440)의 노드수는 음원의 테마 주제어 단어의 종류 개수와 동일하게 설정될 수 있다. 통합된 모델 M의 출력계층(440)은 복수 개의 독립된 계층으로 존재할 수 있으며 각각 주제어, 장르, 무드 등 다양한 곡에 대한 추상적 카테고리나 단어들로 구성될 수 있다. 이때 통합된 모델 M의 출력계층(440)에 존재하는 각각의 출력계층들은 바로 아래 음원-텍스트 통합 은닉 연결 계층(430)과 완전 연결(fully connected)될 수 있으며 출력계층들간에는 서로 연결되지 않을 수 있다. 입력으로부터 출력까지의 값의 전파는 전형적인 피드포워드 네트워크(feedforward network)의 방법을 따를 수 있다. 즉 아래 층의 노드값 전체에 대한 가중치 합이 활성함수의 파라미터로 주어지며 활성함수 값이 위층의 노드값으로 정의될 수 있다.
Figure 112016011023424-pat00007
위 수학식 1에서 u는 접합된 벡터이며 Fh(k)는 통합 모델의 k 번째 은닉 계층을 의미할 수 있다.
Figure 112016011023424-pat00008
Figure 112016011023424-pat00009
는 음원 데이터 학습 모델 및 k 번째 텍스트 정보 학습 모델을 의미할 수 있다.
Figure 112016011023424-pat00010
는 음원 데이터 a가 주어질 때 음원 데이터 학습 모델
Figure 112016011023424-pat00011
의 출력으로 생성되는 실수 벡터를,
Figure 112016011023424-pat00012
는 k 번째 텍스트 정보가 입력으로 주어질 때 생성된 실수 벡터를 각각 의미할 수 있다.
테마 출력계층의 경우, 테마 단어 집합의 크기와 동일한 개수의 노드로 구성될 수 있으며, 훈련데이터에 부여된 태그들은 출력계층의 노드수와 같은 크기의 벡터로 표현될 수 있다. 예를 들어, 전체 테마 태그 집합이 Y={슬픔, 즐거움, 휴식}인 경우, 첫 번째 데이터의 태그가 '즐거움'이라면, y={0, 1, 0}과 같은 벡터로 표현될 수 있다. 이때, '즐거움' 및 '휴식'과 같이 복수개의 태그가 있는 경우에는 y={0, 0.5, 0.5}와 같이 벡터의 원소들의 값의 합이 1이 되도록 원소들의 값이 태그 수만큼 나뉘어질 수도 있다.
또한, 특정 출력계층은 각 개별 태그 단어들의 여부를 0과 1의 2개의 노드로 이루어진 출력계층이 태그 단어의 개수만큼 출력계층을 갖도록 구성될 수도 있다.
훈련데이터에 부여된 태그들은 해당 출력계층의 노드수와 같은 크기의 벡터로 표현되도록 출력계층이 정의되었을 때 각 태그가 부여될 점수는 일례로 아래 수학식 2와 같이 확률적으로 표현될 수 있다.
Figure 112016011023424-pat00013
수학식 2에서 f는 전체 모델을 의미할 수 있고,
Figure 112016011023424-pat00014
함수는 음원-텍스트 학습 모델을 의미할 수 있으며, 음원 데이터와 텍스트 정보가 주어질 때 산출되는 테마 출력계층의 k 번째 테마 값을 의미할 수 있다.
과정 7에서 훈련데이터에 부여된 태그들은 해당 출력계층의 노드수와 같은 크기의 벡터로 표현되도록 출력계층이 정의되었을 때, 에러는 실제 태그 벡터값과 수학식 2에서 태그별로 계산된 값들의 차이로서 아래 수학식 3과 같이 정의될 수 있다.
Figure 112016011023424-pat00015
이때, 상술한 차이로 사용되는 함수는 평균 제곱 오차(mean square error) 함수, 크로스 엔트로피(cross-entropy) 함수 등 다양한 함수가 사용될 수 있다.
Figure 112016011023424-pat00016
Figure 112016011023424-pat00017
는 각각 실제 테마 이진벡터와 예측된 테마 벡터를 의미할 수 있다.
과정 8에서 학습은 에러가 최소화되도록 모델의 가중치를 그레이디언트 디센트(gradient descent)기반으로 조정해가는 역전파(backpropagation) 기법을 사용할 수 있으며 개별 가중치 변화에 대한 에러 변화값은 아래 수학식 4와 같이 에러를 가중치 벡터로 편미분함으로써 정의될 수 있다.
Figure 112016011023424-pat00018
에러 변화값은 통합모델의 출력계층으로부터 음원 데이터와 텍스트 정보의 벡터가 접합되는 계층까지 일반적인 역전파를 따르며 접합계층에서 음원 데이터 부분에 해당하는 벡터와 텍스트 정보 부분에 해당하는 벡터들로 에러가 분리되어 역전파될 수 있다.
Figure 112016011023424-pat00019
수학식 5는 평균 제곱 오차(mean square error) 함수를 이용한 에러함수의 예로서
Figure 112016011023424-pat00020
는 음원-텍스트 통합 피드포워드 네트워크의
Figure 112016011023424-pat00021
번째와
Figure 112016011023424-pat00022
+ 1 번째 은닉계층을 연결하는 연결선들의 가중치 행렬 값을 의미할 수 있고,
Figure 112016011023424-pat00023
Figure 112016011023424-pat00024
번째 은닉계층의 노드값을 의미할 수 있다.
Figure 112016011023424-pat00025
는 출력계층을 의미할 수 있으며,
Figure 112016011023424-pat00026
는 통합계층의 은닉계층에 포함될 때를 의미할 수 있다. 마찬가지로
Figure 112016011023424-pat00027
Figure 112016011023424-pat00028
는 음원 모델 및 텍스트 모델에서의 k 번째 및 k+1 번째 계층을 연결하는 연결선들의 가중치 행렬 값을 의미할 수 있고,
Figure 112016011023424-pat00029
Figure 112016011023424-pat00030
는 각 모델의 k 번째 은닉계층의 노드값을 의미할 수 있다. 다시 말해 수학식 5에서 첫 번째는 음원-텍스트 통합 피드포워드 모델의 전체 출력계층에서 발생하는 에러 변환값을 의미할 수 있으며, 두 번째는 통합 피드포워드 모델의 은닉계층에서 발생하는 에러 변화값을 의미할 수 있다. 또한, 세 번째와 네 번째는 각각 음원 모델 및 텍스트 모델의 출력계층에서 발생하는 에러 변화값을 의미할 수 있다.
Figure 112016011023424-pat00031
는 피드포워드 모델에서 사용되는 비선형 활성함수를 의미할 수 있으며, 이 함수로서는 앞서 설명한 시그모이드 함수, 하이퍼볼릭 탄젠트 함수, ReLU 함수 등이 사용될 수 있다.
음원 모델과 텍스트 모델의 출력계층 아래에 있는 은닉계층부터는 각 모델에 사용되는 역전파(backpropagation) 또는 회귀신경망(recurrent neural network)을 사용하는 경우에는 BPTT(BackPropagation Through Time)와 같은 알고리즘을 이용하여 학습이 진행될 수 있다.
이를 통해 음원, 가사, 메타정보가 통합모델에서 하나로 통합되어 테마 태깅에 사용될 수 있으며 학습시에 발생하는 에러는 통합모델에서는 공유하는 형태로 역전파되다가 접합계층에서 분리되어 각 모델로 전파될 수 있다.
이처럼 본 발명의 실시예들에 따르면, 음원 컨텐츠의 음원 데이터와 텍스트 정보를 함께 이용하여 음악에 적합한 테마를 자동으로 태깅함으로써 음원 컨텐츠에 대한 태그 부여를 위해 발생하는 비용을 절감할 수 있다. 또한, 최소한의 전처리를 통해 음원으로부터 별도의 인자를 추출하는 과정을 분리하지 않고 음원 컨텐츠의 음원 데이터와 텍스트 정보를 자동으로 학습하여 태깅할 수 있으며, 음원 데이터뿐 아니라, 가사나 메타 정보를 포함한 텍스트 정보를 한꺼번에 학습함으로써 음원 컨텐츠에 적합한 테마, 장르, 무드, 주제 등 복수의 태그를 부여할 수 있어 음악과 관련된 상황에 대해 다양한 태깅이 가능하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 컴퓨터로 구현된 음악 자동 태깅 시스템이 수행하는 음악 자동 태깅 방법에 있어서,
    음원 컨텐츠에 대하여 상기 음원 컨텐츠의 음원 데이터와 텍스트 정보를 입력받는 단계;
    상기 음원 데이터와 상기 텍스트 정보를 각각 학습 데이터의 형태로 처리하는 단계;
    상기 음원 데이터에 대해 전처리된 학습 데이터와 상기 텍스트 정보에 대해 전처리된 학습 데이터를 음원-텍스트 통합 학습 모델을 통해 함께 학습하는 단계; 및
    상기 학습 결과에 따른 적어도 하나의 태그를 상기 음원 컨텐츠에 부여하여 음악 자동 태깅을 수행하는 단계
    를 포함하는 것을 특징으로 하는 음악 자동 태깅 방법.
  2. 제1항에 있어서,
    상기 처리하는 단계는,
    상기 음원 데이터를 시간-주파수로 표현되는 학습 데이터로 변환하는 것을 특징으로 하는 음악 자동 태깅 방법.
  3. 제1항에 있어서,
    상기 처리하는 단계는,
    상기 텍스트 정보를 개별 단어의 시퀀스로 표현되는 학습 데이터로 변환하는 것을 특징으로 하는 음악 자동 태깅 방법.
  4. 제1항에 있어서,
    상기 음원-텍스트 통합 학습 모델은 음원 모델과 텍스트 모델이 통합된 것이며,
    상기 학습하는 단계는,
    상기 음원-텍스트 통합 학습 모델 중 음원 모델을 이용하여 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 제1 실수 벡터를 생성하는 단계;
    상기 음원-텍스트 통합 학습 모델 중 텍스트 모델을 이용하여 상기 텍스트 정보에 대해 전처리된 학습 데이터에 대응하는 제2 실수 벡터를 생성하는 단계; 및
    전체 태그 집합에 대해 상기 제1 실수 벡터 및 상기 제2 실수 벡터가 접합된 제3 실수 벡터에 따른 태그 별 점수를 상기 음원-텍스트 통합 학습 모델을 통해 산출하는 단계
    를 포함하는 것을 특징으로 하는 음악 자동 태깅 방법.
  5. 제4항에 있어서,
    상기 음악 자동 태깅을 수행하는 단계는,
    상기 음원-텍스트 통합 학습 모델을 통해 출력된 태그 별 점수를 이용하여 상기 전체 태그 집합에서 상기 적어도 하나의 태그를 결정하여 상기 음원 컨텐츠에 부여하는 것을 특징으로 하는 음악 자동 태깅 방법.
  6. 제4항에 있어서,
    상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성하는 단계는,
    상기 음원 데이터에 대해 전처리된 학습 데이터로부터 복수 개의 프레임을 샘플링하고, 상기 샘플링된 복수 개의 프레임 각각을 상기 음원 모델의 입력으로 이용하여 상기 음원 데이터에 대한 실수 벡터를 생성하는 것을 특징으로 하는 음악 자동 태깅 방법.
  7. 제6항에 있어서,
    상기 음원 모델은 상기 샘플링된 프레임의 수와 동일한 채널의 수를 갖는 것을 특징으로 하는 음악 자동 태깅 방법.
  8. 제4항에 있어서,
    상기 텍스트 정보에 대해 전처리된 학습 데이터에 대응하는 실수 벡터를 생성하는 단계는,
    서로 다른 종류의 복수의 개별 텍스트 정보들 각각에 대해 개별 텍스트 모델을 적용하여 복수의 실수 벡터를 생성하는 것을 특징으로 하는 음악 자동 태깅 방법.
  9. 제4항에 있어서,
    상기 음원-텍스트 통합 학습 모델에서 전체 태그 집합의 태그들을 수치화한 태그 벡터값과 상기 산출된 태그 별 점수에 기초한 벡터간의 차이에 기반한 오차를 이용하여 상기 음원-텍스트 통합 학습 모델을 학습하는 것을 특징으로 하는 음악 자동 태깅 방법.
  10. 제9항에 있어서,
    상기 음원-텍스트 통합 학습 모델에서 상기 오차를 편미분하여 계산되는 에러 변화값이 역전파(backpropagation) 또는 BPTT(BackPropagation Through Time) 알고리즘을 통해 상기 음원 모델 및 상기 텍스트 모델의 개별 모델들로 전파되는 것을 특징으로 하는 음악 자동 태깅 방법.
  11. 제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터를 통해 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  12. 컴퓨터로 구현된 음악 자동 태깅 시스템에 있어서,
    음원 컨텐츠에 대하여 상기 음원 컨텐츠의 음원 데이터와 텍스트 정보를 입력받는 입력 제어부;
    상기 음원 데이터와 상기 텍스트 정보를 각각 학습 데이터의 형태로 처리하는 전처리부;
    상기 음원 데이터에 대해 전처리된 학습 데이터와 상기 텍스트 정보에 대해 전처리된 학습 데이터를 음원-텍스트 통합 학습 모델을 통해 함께 학습하는 학습부; 및
    상기 학습 결과에 따른 적어도 하나의 태그를 상기 음원 컨텐츠에 부여하여 음악 자동 태깅을 수행하는 태깅부
    를 포함하는 것을 특징으로 하는 음악 자동 태깅 시스템.
  13. 제12항에 있어서,
    상기 음원-텍스트 통합 학습 모델은 음원 모델과 텍스트 모델이 통합된 것이며,
    상기 학습부는,
    상기 음원-텍스트 통합 학습 모델 중 음원 모델을 이용하여 상기 음원 데이터에 대해 전처리된 학습 데이터에 대응하는 제1 실수 벡터를 생성하고, 상기 음원-텍스트 통합 학습 모델 중 텍스트 모델을 이용하여 상기 텍스트 정보에 대해 전처리된 학습 데이터에 대응하는 제2 실수 벡터를 생성하며, 전체 태그 집합에 대해 상기 제1 실수 벡터 및 상기 제2 실수 벡터가 접합된 제3 실수 벡터에 따른 태그 별 점수를 상기 음원-텍스트 통합 학습 모델을 통해 산출하는 것을 특징으로 하는 음악 자동 태깅 시스템.
  14. 제13항에 있어서,
    상기 태깅부는,
    상기 음원-텍스트 통합 학습 모델을 통해 출력된 태그 별 점수를 이용하여 상기 전체 태그 집합에서 상기 적어도 하나의 태그를 결정하여 상기 음원 컨텐츠에 부여하는 것을 특징으로 하는 음악 자동 태깅 시스템.
KR1020160012717A 2016-02-02 2016-02-02 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템 KR101801250B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160012717A KR101801250B1 (ko) 2016-02-02 2016-02-02 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160012717A KR101801250B1 (ko) 2016-02-02 2016-02-02 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20170091888A KR20170091888A (ko) 2017-08-10
KR101801250B1 true KR101801250B1 (ko) 2017-11-27

Family

ID=59652382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160012717A KR101801250B1 (ko) 2016-02-02 2016-02-02 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101801250B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102472134B1 (ko) * 2018-03-29 2022-11-29 삼성전자주식회사 심층학습을 기반으로 한 설비 진단 시스템 및 방법
CN111026908B (zh) * 2019-12-10 2023-09-08 腾讯科技(深圳)有限公司 歌曲标签确定方法、装置、计算机设备以及存储介质
KR102443914B1 (ko) * 2020-09-09 2022-09-16 주식회사 엘지유플러스 사용자의 행동 추천 방법 및 장치

Also Published As

Publication number Publication date
KR20170091888A (ko) 2017-08-10

Similar Documents

Publication Publication Date Title
CN108255934B (zh) 一种语音控制方法及装置
CN109196495B (zh) 用于细粒度自然语言理解的系统和方法
CN111933129A (zh) 音频处理方法、语言模型的训练方法、装置及计算机设备
US8321414B2 (en) Hybrid audio-visual categorization system and method
KR100446627B1 (ko) 음성대화 인터페이스를 이용한 정보제공장치 및 그 방법
Gu et al. Speech intention classification with multimodal deep learning
Agarwalla et al. Machine learning based sample extraction for automatic speech recognition using dialectal Assamese speech
Tran et al. Ensemble application of ELM and GPU for real-time multimodal sentiment analysis
CN110502610A (zh) 基于文本语义相似度的智能语音签名方法、装置及介质
JPWO2008023470A1 (ja) 文単位検索方法、文単位検索装置、コンピュータプログラム、記録媒体及び文書記憶装置
CN104299623A (zh) 语音应用中用于自动确认和消歧模块的方法和系统
KR101942459B1 (ko) 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
CN118103834A (zh) 一种信息获取方法以及装置
KR20200087977A (ko) 멀티모달 문서 요약 시스템 및 방법
CN111414513A (zh) 音乐流派的分类方法、装置及存储介质
CN108710653B (zh) 一种绘本朗读点播方法、装置及系统
KR101801250B1 (ko) 음악에 적합한 테마를 자동으로 태깅하는 방법 및 시스템
CN113343692B (zh) 搜索意图的识别方法、模型训练方法、装置、介质及设备
Wang et al. A method of music autotagging based on audio and lyrics
Luitel et al. Audio sentiment analysis using spectrogram and bag-of-visual-words
CN114661951A (zh) 一种视频处理方法、装置、计算机设备以及存储介质
Muthumari et al. A novel model for emotion detection with multilayer perceptron neural network
CN115512692B (zh) 语音识别方法、装置、设备及存储介质
CN116010902A (zh) 基于跨模态融合的音乐情感识别方法及系统
KR102031282B1 (ko) 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant