KR20240062790A - 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템 - Google Patents

음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템 Download PDF

Info

Publication number
KR20240062790A
KR20240062790A KR1020220144698A KR20220144698A KR20240062790A KR 20240062790 A KR20240062790 A KR 20240062790A KR 1020220144698 A KR1020220144698 A KR 1020220144698A KR 20220144698 A KR20220144698 A KR 20220144698A KR 20240062790 A KR20240062790 A KR 20240062790A
Authority
KR
South Korea
Prior art keywords
deceased
data
voice
answer
user
Prior art date
Application number
KR1020220144698A
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 엔에이치엔 주식회사
Priority to KR1020220144698A priority Critical patent/KR20240062790A/ko
Publication of KR20240062790A publication Critical patent/KR20240062790A/ko

Links

Classifications

    • 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/50Business processes related to the communications industry
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5166Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 고인 통화 애플리케이션이 고인 통화 서비스를 제공하는 방법으로서, 적어도 n개 이상의 고인 오디오 데이터 및 고인 텍스트 데이터를 획득하는 단계; 상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하는 단계; 상기 고인 생전 전화번호로 통화를 요청하는 단계; 상기 통화가 시작되면 유저 음성 데이터를 획득하는 단계; 답변 생성 딥러닝 모델을 기초로 상기 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 획득하는 단계; 및 음성 합성 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 획득 및 제공하는 단계;를 포함한다.

Description

음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템{Method and system for providing call service to the deceased based on speech synthesis}
본 발명은 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템에 관한 것이다. 보다 자세하게는, 고인의 음성을 포함하는 자료로부터 추출한 고인의 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템에 관한 것이다.
일반적으로 한 개인이 가족을 남기고 세상을 떠나게 되면, 남은 가족은 세상을 떠난 가족을 다양한 형태로 기억하고 추억하게 된다. 고인의 사진이나 동영상, 수상 내용 등 그 추억 범위는 한 개인의 인생만큼이나 다양하다.
이때 남은 가족들은 고인의 사진, 동영상 등을 컴퓨터나 앨범 등에 따로따로 분류하여 보관하게 되며, 각각의 내용을 보관하고 있는 특정 장소에서만 열람하고 추억하게 된다.
그러나, 이러한 방식은 고인을 언제 어디서나 즉각적으로 추억하고 싶어하는 가족들에게 적잖은 불편을 감수하도록 유도하고 있다.
한편, 고인의 생전 모습이나 기록을 사진, 동영상 등을 통해 추억할 때, 단순히 해당 내용을 눈이나 귀로 감상하는 것만으로는 고인과의 교감에 충분치 않은 경우가 있다. 세상을 떠난 고인을 조금이라도 더 생동감 있게 추억하고 마음의 위로를 받기에 기존의 단순 감상 형식은 여러모로 일차원적인 추억거리를 제공하는 것에 그치는 문제가 있었다.
종래 기술에 따르면, 음성 합성을 기초로 통화 서비스를 제공하기 위한 일반적인 기술이 개시되어 있으나, 고인만의 특이한 표현, 말투, 억양, 말버릇 등이 전혀 반영되지 않은 음성 샘플에 단순히 고인의 생전 목소리가 입혀진 가상의 통화만이 가능하여, 이로 인해 유저에게 고인과의 통화 서비스를 생동감 있게 제공하지는 못하는 문제가 있었다.
또한, 일반적으로 사람이 상대방과의 대화를 나눌 때 회사 동료, 친구, 연인 및 가족한테 말할 때의 말투 및 단어 선택이 모두 다른데, 종래 기술에 따라 고인의 고유한 말하기 특성이 반영되어 음성 합성을 기초로 통화 서비스가 제공되었다고 하더라도, 서비스 이용자와의 관계 및 친밀도가 전혀 반영되지 않은 일관적인 말투 때문에 다소 어색함이 느껴지는 통화만이 가능하다는 단점이 있었다.
따라서, 세상을 떠난 고인의 음성을 효과적으로 수집하고 이용하여, 유저들에게 마치 고인과 실제로 통화하는 듯한 생동감 있는 통화 서비스를 제공하기 위한 기술의 개발이 시급한 실정이다.
KR 10-1113938 B1
본 발명은, 상기와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로, 유저 및 고인과의 관계 특성에 따라 맞춤형 말투를 생성하는 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템을 제공하는데 그 목적이 있다.
또한, 본 발명은, 고인의 음성이 감지된 오디오 데이터를 수집하는 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템을 제공하고자 한다.
다만, 본 발명 및 본 발명의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 고인 통화 애플리케이션이 고인 통화 서비스를 제공하는 방법으로서, 적어도 n개 이상의 고인 오디오 데이터 및 고인 텍스트 데이터를 획득하는 단계; 상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하는 단계; 상기 고인 생전 전화번호로 통화를 요청하는 단계; 상기 통화가 시작되면 유저 음성 데이터를 획득하는 단계; 답변 생성 딥러닝 모델을 기초로 상기 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 획득하는 단계; 및 음성 합성 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 획득 및 제공하는 단계;를 포함한다.
또한, 상기 고인 오디오 데이터를 획득하는 단계는, 상기 획득된 고인 오디오 데이터를 일반 오디오 데이터 및 친밀도 기반 오디오 데이터로 분류하는 단계와, 상기 분류된 일반 오디오 데이터 및 친밀도 기반 오디오 데이터를 기초로 복수 개의 레이어를 포함하는 상기 음성 합성 딥러닝 모델을 파인튜닝 학습시키는 단계를 포함한다.
또한, 상기 음성 합성 딥러닝 모델을 파인튜닝 학습시키는 단계는, 상기 친밀도 기반 오디오 데이터를 상기 일반 오디오 데이터가 삽입되는 레이어보다 높은 레벨의 레이어에 삽입하는 단계를 포함한다.
또한, 상기 고인 오디오 데이터를 획득하는 단계는, 자동 및 수동으로 고인 오디오 데이터를 업로드하는 단계를 더 포함하고, 상기 자동으로 고인 오디오 데이터를 업로드하는 단계는, 상기 애플리케이션이 구동 중일 때 상기 단말에 포함된 오디오 센서를 기초로 소정의 사운드를 수집하는 단계를 포함한다.
또한, 상기 소정의 사운드를 수집하는 단계는, 상기 단말에 포함된 오디오 센서를 기초로 고인 및 유저 음성을 동시에 감지하는 단계와, 상기 고인 및 유저 음성을 동시에 감지하면 자동 녹음을 시작하는 단계와, 상기 자동 녹음에 따른 대화 음성 파일을 획득하는 단계와, 상기 획득된 대화 음성 파일에서 화자 분리 기술 및 화자 분할 기술 중 적어도 하나의 기술을 이용하는 딥러닝 모델을 기초로 복수 개의 음성을 추출하는 단계 및 상기 추출된 복수 개의 음성 중 고인 음성을 선택하는 단계를 포함한다.
또한, 상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하는 단계는, 상기 유저 및 상기 고인과의 관계 정보를 획득하는 단계와, 상기 획득된 관계 정보에 따라 상기 고인 오디오 데이터 및 고인 텍스트 데이터를 대화 상대별로 구분하여 저장하는 단계를 더 포함한다.
또한, 상기 고인 생전 전화번호로 통화를 요청하는 단계는, 디폴트(Default)로 지정된 고인의 답변인 추천답변 데이터를 적어도 하나 이상 포함하는 추천 다이얼로그를 선택하는 단계 및 실시간으로 획득되는 상기 유저 음성 데이터에 대응되는 적어도 n개 이상의 답변 텍스트 데이터를 보이스클로닝 데이터로 제공하는 자유 다이얼로그를 선택하는 단계 중 하나의 단계를 수행하는 단계를 더 포함한다.
또한, 상기 답변 텍스트 데이터를 획득하는 단계는, 상기 답변 생성 딥러닝 모델에 상기 유저 음성 데이터를 입력하는 단계와, 상기 답변 생성 딥러닝 모델로부터 출력된 답변 텍스트 데이터를 수신하는 단계를 포함하고, 상기 답변 텍스트 데이터는, 상기 유저 음성 데이터에 대응되는 답변을 고인의 생전 말투로 변경한 데이터로써, 상기 획득된 적어도 n개 이상의 고인 텍스트 데이터를 기초로 파인튜닝 학습된 상기 답변 생성 딥러닝 모델로부터 출력된다.
또한, 상기 보이스클로닝 데이터를 획득 및 제공하는 단계는, 상기 음성 합성 딥러닝 모델에 상기 답변 텍스트 데이터를 입력하는 단계와, 상기 음성 합성 딥러닝 모델로부터 출력된 보이스클로닝 데이터를 수신하는 단계를 포함하고, 상기 보이스클로닝 데이터는, 상기 답변 텍스트 데이터에 고인의 생전 음성을 합성한 데이터이다.
한편, 본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 시스템은, 적어도 하나 이상의 메모리; 적어도 하나 이상의 프로세서;를 포함하고, 상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 고인 통화 서비스를 제공하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은, 적어도 n개 이상의 고인 오디오 데이터 및 고인 텍스트 데이터를 획득하고, 상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하고, 상기 고인 생전 전화번호로 통화를 요청하고, 상기 통화가 시작되면 유저 음성 데이터를 획득하고, 답변 생성 딥러닝 모델을 기초로 상기 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 획득하고, 음성 합성 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 획득 및 제공한다.
본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템은, 유저 및 고인과의 관계 특성에 따라 맞춤형 말투를 생성함으로써, 고인의 말투에서 인위적이고 어색한 느낌을 제거하고 실제 고인과 통화하는 듯한 느낌을 제공하는 효과가 있다.
또한, 본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템은, 고인의 음성이 감지된 오디오 데이터를 수집함으로써, 한정적인 고인의 목소리 자료에 따른 딥러닝 학습데이터 부족 현상을 해결하는 효과가 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1은 본 발명의 실시예에 따른 고인과의 통화 서비스 제공 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 단말의 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 고인 통화 서비스를 제공하기 위한 방법을 설명하는 흐름도이다.
도 4는 본 발명의 실시예에 따른 고인 오디오 데이터를 획득하는 방법을 설명하기 위한 흐름도이다.
도 5 및 도 6은 본 발명의 실시예에 따라 음성 파일에서 적어도 하나 이상의 음성을 추출하는 방법을 설명하기 위한 도면의 일례이다.
도 7은 본 발명의 실시예에 따른 음성 합성 모델을 설명하기 위한 도면의 일례이다.
도 8은 본 발명의 실시예에 따른 음성 합성 모델의 동작을 나타내는 개념도이다.
도 9는 본 발명의 실시예에 따른 고인 통화 서비스를 제공하는 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 고인과의 통화 서비스 제공 시스템의 개념도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 시스템(이하, 서비스 제공 시스템)은, 고인의 음성을 포함하는 자료로부터 추출한 고인의 음성 합성을 기초로 고인과의 통화를 제공하는 서비스(이하, 고인 통화 서비스)를 제공할 수 있다.
실시예에서 유저는, 고인(故人)을 추억하기 위해 고인 통화 서비스를 이용하는 자를 의미할 수 있다.
실시예에서, 위와 같은 고인 통화 서비스를 구현하는 서비스 제공 시스템은, 단말(100), 서비스 제공 서버(200) 및 네트워크(10: Network)를 통하여 연결될 수 있다.
여기서, 실시예에 따른 상기 네트워크(10)는, 상기 단말(100) 및/또는 서비스 제공 서버(200) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(10)의 일례에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
이하, 첨부된 도면을 참조하여 서비스 제공 시스템을 구현하는 단말(100) 및 서비스 제공 서버(200)에 대해 상세히 설명한다.
- 단말(100: Terminal)
본 발명의 실시예에 따른 단말(100)은, 고인 통화 서비스를 제공하는 고인 통화 애플리케이션(이하, 애플리케이션)이 설치된 소정의 컴퓨팅 디바이스일 수 있다.
자세히, 하드웨어적 관점에서 단말(100)은, 애플리케이션이 설치된 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등을 포함할 수 있다.
여기서, 모바일 타입 컴퓨팅 장치(100-1)는, 애플리케이션이 설치된 스마트 폰이나 태블릿 PC와 같은 모바일 장치일 수 있다.
예를 들어, 모바일 타입 컴퓨팅 장치(100-1)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 디바이스, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.
또한, 데스크탑 타입 컴퓨팅 장치(100-2)는, 애플리케이션이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 고인 통화 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.
또한, 실시예에 따라서 단말(100)은, 고인 통화 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.
도 2는 본 발명의 실시예에 따른 단말(100)의 내부 블록도이다.
도 2를 참조하면, 기능적 관점에서 단말(100)은, 메모리(110), 프로세서 어셈블리(120), 통신 프로세서(130), 인터페이스 모듈(140), 입력 시스템(150), 센서 시스템(160) 및 디스플레이 시스템(170)을 포함할 수 있다. 이러한 구성요소들은 단말(100)의 하우징 내에 포함되도록 구성될 수 있다.
자세히, 메모리(110)에는, 애플리케이션(111)이 저장되며, 애플리케이션(111)은 고인 통화 서비스 환경을 제공하기 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
즉, 메모리(110)는, 고인 통화 서비스 환경을 생성하기 위하여 사용될 수 있는 명령 및 데이터 등을 저장할 수 있다.
또한, 상기 메모리(110)는, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 단말(100)을 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 단말(100)의 사용에 따라 발생하는 데이터가 저장될 수 있다.
또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다.
예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet) 상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다.
프로세서 어셈블리(120)는, 고인 통화 서비스 환경을 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 애플리케이션(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다.
실시예에서 프로세서 어셈블리(120)는, 고인 통화 서비스를 제공하기 위하여 메모리(110)의 애플리케이션(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 단말(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리(110)에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 단말(100)에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 어셈블리(120)는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다.
통신 프로세서(130)는, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 프로세서(130)는, 무선 네트워크를 통해 통신할 수 있다.
자세히, 통신 프로세서(130)는, 고인 통화 서비스 환경을 구현하기 위한 콘텐츠 소스를 저장한 단말(100)과 통신할 수 있으며, 유저 입력을 받는 컨트롤러와 같은 다양한 유저 입력 컴포넌트와 통신할 수 있다.
실시예에서, 통신 프로세서(130)는, 고인 통화 서비스와 관련된 각종 데이터를 타 단말(100) 및/또는 외부의 서버 등과 송수신할 수 있다.
이러한 통신 프로세서(130)는, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 단말, 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.
인터페이스 모듈(140)은, 단말(100)을 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스 모듈(140)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다.
이러한 인터페이스 모듈(140)을 통해 단말(100)은, 여러 입출력 장치들과 연결될 수 있다.
예를 들어, 인터페이스 모듈(140)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다.
예시적으로 오디오 출력장치가 인터페이스 모듈(140)을 통해 연결되는 것으로 설명하였으나, 단말(100) 내부에 설치되는 실시예도 포함될 수 있다.
또한, 예를 들면 인터페이스 모듈(140)은, 키보드 및/또는 마우스와 같은 입력장치와 연결되어, 유저 입력을 획득할 수도 있다.
이러한 인터페이스 모듈(140)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다.
입력 시스템(150)은 고인 통화 서비스와 관련된 유저의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다.
자세히, 입력 시스템(150)은 소정의 버튼, 터치 센서 및/또는 유저 모션 입력을 수신하는 이미지 센서(161) 등을 포함할 수 있다.
또한, 입력 시스템(150)은, 인터페이스 모듈(140)을 통해 외부 컨트롤러와 연결되어, 유저의 입력을 수신할 수 있다.
센서 시스템(160)은, 이미지 센서(161), 위치 센서(IMU, 163), 오디오 센서(165), 거리 센서, 근접 센서, 접촉 센서 등 다양한 센서를 포함할 수 있다.
여기서, 이미지 센서(161)는, 단말(100) 주위의 물리적 공간에 대한 이미지 및/또는 영상을 캡처할 수 있다.
실시예에서, 이미지 센서(161)는, 고인 통화 서비스와 관련된 각종 이미지 및/또는 영상 등을 촬영하여 획득할 수 있다.
또한, 이미지 센서(161)는, 단말(100)의 전면 또는/및 후면에 배치되어 배치된 방향측을 촬영하여 영상을 획득할 수 있으며, 단말(100)의 외부를 향해 배치된 카메라를 통해 물리적 공간을 촬영할 수 있다.
이러한 이미지 센서(161)는, 이미지 센서장치와 영상 처리 모듈을 포함할 수 있다. 자세히, 이미지 센서(161)는, 이미지 센서장치(예를 들면, CMOS 또는 CCD)에 의해 얻어지는 정지영상 또는 동영상을 처리할 수 있다.
또한, 이미지 센서(161)는, 이미지 인식 프로세스(예컨대, OCR 등) 및/또는 영상 처리 모듈을 이용하여 이미지 센서장치를 통해 획득된 정지영상 또는 동영상을 가공해 필요한 정보를 추출하고, 추출된 정보를 프로세서에 전달할 수 있다.
이러한 이미지 센서(161)는, 적어도 하나 이상의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다.
또한, 위와 같은 이미지 센서(161)는, 실시예에 따라서 단말(100)에 포함되어 동작할 수도 있고, 외부의 장치(예컨대, 외부의 서버 등)에 포함되어 상술된 통신 프로세서(130) 및/또는 인터페이스 모듈(140)에 기초한 연동을 통하여 동작할 수도 있다.
위치 센서(IMU, 163)는, 단말(100)의 움직임 및 가속도 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, 가속도계, 자이로스코프, 자력계와 같은 다양한 위치 센서의 조합으로 이루어질 수 있다.
또한, 위치 센서(IMU, 163)는, 통신 프로세서(130)의 GPS와 같은 위치 통신 프로세서(130)과 연동하여, 단말(100) 주변의 물리적 공간에 대한 공간 정보를 인식할 수 있다.
오디오 센서(165)는, 단말(100) 주변의 소리를 인식할 수 있다.
자세히, 오디오 센서(165)는, 단말(100)을 사용하는 유저의 음성 입력을 감지할 수 있는 마이크로폰을 포함할 수 있다.
실시예에서 오디오 센서(165)는 고인 통화 서비스를 위해 필요한 음성 데이터를 유저로부터 입력 받을 수 있다.
디스플레이 시스템(170)은, 고인 통화 서비스와 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다.
실시예로, 디스플레이 시스템(170)은, 고인 통화 서비스를 위한 각종 유저 인터페이스(실시예로, 음성 추출 인터페이스 등) 등을 표시할 수 있다.
이러한 디스플레이는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
이러한 단말(100)의 하우징 내에는 상기 구성요소들이 배치될 수 있으며, 유저 인터페이스는 유저 터치 입력을 수신하도록 구성된 디스플레이(171) 상에 터치 센서(173)를 포함할 수 있다.
자세히, 디스플레이 시스템(170)은, 이미지를 출력하는 디스플레이(171)와, 유저의 터치 입력을 감지하는 터치 센서(173)를 포함할 수 있다.
예시적으로 디스플레이(171)는 터치 센서(173)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 단말(100)과 유저 사이의 입력 인터페이스를 제공하는 유저 입력부로써 기능함과 동시에, 단말(100)과 유저 사이의 출력 인터페이스를 제공할 수 있다.
상술한 구성요소를 포함하는 단말(100)은, 실시예에 따라 메모리(110)에 적어도 하나 이상의 고인 오디오 데이터(실시예로, 일반 오디오 데이터 및/또는 친밀도 기반 오디오 데이터), 답변 텍스트 데이터, 보이스클로닝 데이터, 고인의 생전 전화번호, 유저의 전화번호, 고인 및 유저의 음성, 관계 정보, 추천질문 데이터, 추천답변 데이터, 다이얼로그 데이터 및/또는 통화 내용 데이터를 저장할 수 있다.
또한, 실시예에서 단말(100)은, 음성 합성 딥러닝 뉴럴 네트워크를 기초로, 고인 오디오 데이터를 이용하여 음성을 학습할 수 있다.
또한, 실시예에서 단말(100)은, 답변 생성 딥러닝 뉴럴 네트워크를 기초로, 고인 텍스트 데이터를 이용하여 답변을 학습할 수 있다.
또한, 실시예에서 단말(100)은, 상기 학습된 음성 및 답변을 기초로 보이스클로닝 데이터를 획득할 수 있다.
한편, 실시예에 따라서 단말(100)은, 후술되는 서비스 제공 서버(200)에서 수행하는 기능 동작의 적어도 일부를 더 수행할 수도 있다.
- 서비스 제공 서버(200: Service Providing Server)
한편, 본 발명의 실시예에 따른 서비스 제공 서버(200)는, 고인 통화 서비스를 제공하기 위한 일련의 프로세스를 수행할 수 있다.
자세히, 도 1을 참조하면, 실시예에서 서비스 제공 서버(200)는, 고인 오디오 데이터베이스(210), 고인 텍스트 데이터베이스(220), 답변 생성 유닛(230) 및/또는 음성 합성 유닛(240)을 포함할 수 있다.
이때, 실시예에 따라서 상기 각 구성요소는, 서비스 제공 서버(200)와는 별도의 장치로서 구현될 수도 있고, 서비스 제공 서버(200)에 포함되어 구현될 수도 있다. 이하, 각 구성요소가 서비스 제공 서버(200)에 포함되어 구현되는 것으로 설명하나 이에 한정되는 것은 아니다.
구체적으로, 실시예에서 고인 오디오 데이터베이스(210)는, 적어도 하나 이상의 고인 오디오 데이터를 저장 및 관리할 수 있다.
여기서, 실시예에 따른 상기 고인 오디오 데이터란, 실제 고인의 생전 목소리가 녹음된 오디오 파일 형식의 데이터를 의미할 수 있다.
자세히, 상기 고인 오디오 데이터베이스(210)에는, 적어도 하나 이상의 고인 오디오 데이터가 소정의 기준(예컨대, 대화 상대별, 상황별, 감정별 등)에 따라 구분되어 저장될 수 있다.
또한, 실시예에서 고인 텍스트 데이터베이스(220)는, 적어도 하나 이상의 고인 텍스트 데이터를 저장 및 관리할 수 있다.
여기서, 실시예에 따른 고인 텍스트 데이터란, 생전 고인이 유저에게 음성으로 말하거나, 채팅/문자/메신저 등 글로써 대화할 시 나타났던 고인의 언어적 특성을 포함하는 텍스트 데이터일 수 있다.
자세히, 상기 고인 텍스트 데이터베이스(220)는, 적어도 하나 이상의 고인 텍스트 데이터가 소정의 기준(예컨대, 대화 상대별, 상황별, 감정별 등)에 따라 구분되어 저장될 수 있다.
이때, 상기 고인 텍스트 데이터베이스(220)는, 기 저장된 추천질문에 따른 추천답변 데이터를 더 포함할 수 있다.
또한, 실시예에서 답변 생성 유닛(230)은, 소정의 딥러닝 모델을 기초로 유저의 질문에 따른 고인의 가상 답변을 생성할 수 있다.
자세히, 실시예에서 답변 생성 유닛(230)은, 소정의 딥러닝 모델을 기초로 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 생성할 수 있다.
여기서, 실시예에 따른 상기 유저 음성 데이터란, 유저가 고인에게 말/질문하고 싶은 내용을 유저의 목소리로 말한 오디오 데이터일 수 있다.
또한, 실시예에 따른 답변 텍스트 데이터란, 유저의 질문에 따라 고인이 고인의 생전 말투로 답변한 내용을 포함하는 텍스트 파일 형식의 데이터를 의미할 수 있다.
즉, 상기 답변 텍스트 데이터는, 고인의 음성이 합성되기 전 유저의 질문에 대해 텍스트로 나타나는 고인의 답변을 의미하고, 후술되는 단계를 거쳐 고인의 음성이 합성되어 보이스클로닝 데이터가 될 수 있다.
다시 돌아와서, 실시예에서 답변 생성 유닛(230)은, 소정의 딥러닝 모델을 기초로 적어도 하나 이상의 유저 음성 데이터에 대응되는 답변을 고인의 생전 말투로 변경한 데이터인 상기 답변 텍스트 데이터를 생성할 수 있다.
여기서, 실시예에 따른 상기 소정의 딥러닝 모델은, 답변 생성 모델, 음성 인식 모델, 자연어 처리 모델, 음향 모델 및/또는 언어 모델 중 적어도 하나 이상을 포함하거나 적어도 둘 이상의 모델이 결합된 딥러닝 모델일 수 있다.
이때, 상기 답변 생성 모델은, 복수 명의 사람 목소리에 대응되는 답변(예컨대, '너 몇살이야?' 라는 사람 목소리에 대응되는 '난 n살이야.'라는 답변)을 기초로 기 학습(pre-training)된 딥러닝 모델에 상기 고인 텍스트 데이터를 파인 튜닝(Fine-Tuning) 방식으로 학습시킨 딥러닝 모델일 수 있다.
여기서, 실시예에 따른 파인 튜닝 방식이란, 기존에 학습되어 있는 딥러닝 모델을 기반으로 아키텍쳐(architecture)를 새로운 목적에 맞게 변형하고 이미 학습된 모델의 가중치를 미세하게 조정하여 학습시키는 방법을 말한다.
즉, 상기 답변 생성 모델은 복수 명의 사람 목소리에 대응되는 답변을 기초로 기 학습(pre-training)된 딥러닝 모델을 기반으로 한다. 또한, 이러한 기 학습된 딥러닝 모델은 기본적으로 관계(예컨대, 가족관계 및 친구관계)를 기반으로 구분하여 학습되어 있을 수 있다.
예컨대, 상기 기 학습된 딥러닝 모델은 STT 및/또는 ASR 기술을 이용한 딥러닝 모델일 수 있으나, 후술되는 실시예를 수행할 수 있는 딥러닝 모델이라면 어떠한 딥러닝 모델도 사용될 수 있으며 기재된 바에 한정하는 것은 아니다. 다시 말해, 실시예에 따른 상기 답변 생성 유닛(230)은, 유저 음성 데이터를 입력하면 답변 텍스트 데이터를 출력하는 답변 생성 딥러닝 뉴럴 네트워크 및/또는 딥러닝 모델을 이용함으로써 답변 텍스트 데이터를 획득할 수 있다.
이하에서, 상기 딥러닝 모델은 답변 생성 모델, 음성 인식 모델, 자연어 처리 모델, 음향 모델 및/또는 언어 모델 중 적어도 하나 이상을 포함하거나 적어도 둘 이상의 모델이 결합된 딥러닝 모델일 수 있으나, 설명의 편의를 위해 답변 생성 모델인 것에 기준하여 설명한다.
이를 위해, 실시예에서 답변 생성 모델은, 소정의 유저 음성 데이터를 수집하면 상기 유저 음성 데이터를 텍스트화한 데이터인 유저 질문 데이터를 생성할 수 있다.
또한, 실시예에서 답변 생성 모델은, 소정의 딥러닝 뉴럴 네트워크를 기초로 생성된 유저 질문 데이터를 분석함으로써 상기 생성된 유저 질문 데이터에 대한 답변을 생성할 수 있다.
또한, 실시예에서 답변 생성 모델은, 생성된 답변을 고인의 생전 평소 말투(예컨대, 문자/메신저/채팅/전화 말투)로 변경함으로써 답변 텍스트 데이터를 출력할 수 있다.
즉, 상기 답변 생성 유닛(230)은, 상기 답변 생성 모델로부터 출력된 답변 텍스트 데이터를 획득할 수 있다.
또한, 실시예에서 음성 합성 유닛(240)은, 소정의 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 고인의 음성을 합성할 수 있다.
자세히, 실시예에서 음성 합성 유닛(240)은, 소정의 딥러닝 모델을 기초로 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 생성할 수 있다.
여기서, 실시예에 따른 상기 보이스클로닝 데이터란, 유저가 질문한 내용에 고인이 대답할만한 텍스트(실시예로, 답변 텍스트 데이터)를 가상의 고인 음성으로 읽은 오디오 데이터일 수 있다.
여기서, 실시예에 따른 상기 소정의 딥러닝 모델은, 음성 합성 딥러닝 모델, 화자 분리 딥러닝 모델 및/또는 화자 분할 딥러닝 모델 중 적어도 하나의 딥러닝 모델일 수 있다.
이때, 상기 음성 합성 모델은, 복수 명의 사람 목소리를 기초로 기 학습(pre-training)된 딥러닝 모델에 상기 고인 오디오 데이터를 파인 튜닝(Fine-Tuning) 방식으로 학습시킨 딥러닝 모델일 수 있다.
즉, 상기 음성 합성 모델은 복수 명의 사람 목소리를 기초로 기 학습(pre-training)된 딥러닝 모델을 기반으로 한다.
예컨대, 상기 기 학습된 딥러닝 모델은 ResNet, GoogleNet, VGGNet 등일 수 있으나, 후술되는 실시예를 수행할 수 있는 딥러닝 모델이라면 어떠한 딥러닝 모델도 사용될 수 있으며 기재된 바에 한정하는 것은 아니다.
이어서, 실시예에 따른 음성 합성 유닛(240)은, 소정의 고인 오디오 데이터를 수집하면 상기 기 학습된 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 고인 오디오 데이터를 입혀 보이스클로닝 데이터로 변환하여 출력할 수 있다.
다시 말해, 실시예에 따른 상기 음성 합성 유닛(240)은, 답변 텍스트 데이터를 입력하면 보이스클로닝 데이터를 출력하는 음성 합성 딥러닝 뉴럴 네트워크 및/또는 딥러닝 모델을 이용함으로써 보이스클로닝 데이터를 획득할 수 있다.
실시예에서 서비스 제공 서버(200)는, 딥러닝 뉴럴 네트워크(Deep-learning Neural Network)와 연동하여 고인 통화 서비스를 위한 각종 딥러닝(Deep Learning)을 수행할 수 있다.
자세히, 실시예에서 서비스 제공 서버(200)는, 고인 통화 서비스를 제공하기 위하여 상기 고인 통화 서비스가 제공되기 전 딥러닝 모델 학습 단계에서, 복수 명의 사람 목소리를 기초로하는 딥러닝 모델을 Style embedding, Vector Quantization 등의 기법을 이용해 기 학습(pre-training)시킬 수 있다.
또한, 실시예에서 서비스 제공 서버(200)는, 고인 통화 서비스를 제공하는 단계에서, Python, TensorFlow, PyTorch, Transformer, BERT, GPT-3 등을 이용한 자연어 처리 모델을 기초로 소정의 인풋 데이터(Input Data)를 입력하고 소정의 아웃풋 데이터(Output Data)를 획득할 수 있다.
자세히, 실시예에서 상기 인풋 데이터는 고인의 답변이 될 텍스트 데이터일 수 있고, 상기 아웃풋 데이터는 고인의 목소리로 클로닝(Cloning, 복제)된 답변 음성(실시예에서, 보이스클로닝 데이터)일 수 있으며, 이에 대한 자세한 설명은 후술하도록 한다.
또한, 여기서 실시예에 따른 상기 딥러닝 뉴럴 네트워크는, 컨볼루션 뉴럴 네트워크(CNN, Convolution Neural Network), R-CNN(Regions with CNN features), Fast R-CNN, Faster R-CNN, Mask R-CNN 등을 포함할 수 있으며, 후술되는 실시예를 수행할 수 있는 알고리즘을 포함하는 딥러닝 뉴럴 네트워크라면 어떠한 것이든 포함할 수 있으며, 본 발명의 실시예에서는 이러한 딥러닝 뉴럴 네트워크 자체를 한정하거나 제한하지는 않는다.
이때, 실시예에 따라서 상기 딥러닝 뉴럴 네트워크는, 서비스 제공 서버(200)에 직접 설치되거나, 서비스 제공 서버(200)와는 별개의 장치로서 동작하여 상기 고인 통화 서비스를 위한 딥러닝을 수행할 수 있다.
이하의 실시예에서는, 딥러닝 뉴럴 네트워크가 서비스 제공 서버(200)에 직접 설치되어 딥러닝을 수행하는 실시예를 기준으로 설명한다.
또한, 실시예에서 서비스 제공 서버(200)는, 상기 딥러닝을 수행하기 위해 구축되어 있는 소정의 딥러닝 뉴럴 네트워크 구동 프로그램을 메모리로부터 독출하여, 상기 독출된 소정의 딥러닝 뉴럴 네트워크 시스템에 따라 하기 기술하는 딥러닝을 수행할 수 있다.
또한, 실시예에서 서비스 제공 서버(200)는, 단말(100)과 같은 외부의 장치에서 고인 통화 서비스 프로세스가 구동되게 하기 위해 필요한 데이터를 상기 외부의 장치와 교환함으로써, 상기 고인 통화 서비스를 제공할 수 있다.
보다 상세히, 실시예에서 서비스 제공 서버(200)는, 외부의 장치(실시예에서, 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등)에서 애플리케이션(111)이 동작할 수 있는 환경을 제공할 수 있다.
이를 위해, 서비스 제공 서버(200)는, 애플리케이션(111)이 동작하기 위한 응용 프로그램, 데이터 및/또는 명령어 등을 포함할 수 있고, 이에 기초한 각종 데이터를 상기 외부의 장치와 송수신할 수 있다.
또한, 실시예에서 서비스 제공 서버(200)는, 고인 통화 서비스를 구현하기 위한 각종 응용 프로그램, 명령어 및/또는 데이터 등을 저장하고 관리할 수 있다.
실시예로, 서비스 제공 서버(200)는, 적어도 하나 이상의 고인 오디오 데이터(실시예로, 일반 오디오 데이터 및/또는 친밀도 기반 오디오 데이터), 답변 텍스트 데이터, 보이스클로닝 데이터, 고인의 생전 전화번호, 유저의 전화번호, 고인 및 유저의 음성, 관계 정보, 추천질문 데이터, 추천답변 데이터, 다이얼로그 데이터, 통화 내용 데이터 및/또는 음성 추출 인터페이스 등을 저장 및 관리할 수 있다.
다만, 본 발명의 실시예에서 서비스 제공 서버(200)가 수행할 수 있는 기능 동작은 상술된 바에 한정되지 않으며, 또 다른 기능 동작을 더 수행할 수도 있다.
한편, 실시예에서 위와 같은 서비스 제공 서버(200)는, 데이터 처리를 위한 적어도 하나 이상의 프로세서 모듈(Processor Module)과, 외부의 장치와의 데이터 교환을 위한 적어도 하나 이상의 커뮤니케이션 모듈(Communication Module)과, 고인 통화 서비스의 제공을 위한 각종 응용 프로그램, 데이터 및/또는 명령어들을 저장하는 적어도 하나 이상의 메모리 모듈(Memory Module)을 포함하는 소정의 컴퓨팅 장치로 구현될 수 있다.
여기서, 상기 메모리 모듈은, 고인 통화 서비스를 제공하기 위한 운영체제(OS), 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
또한, 상기 메모리 모듈은, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 서버를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 서버의 사용에 따라 발생하는 데이터가 저장될 수 있다.
실시예에서, 이러한 메모리 모듈은, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리 모듈의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.
또한, 메모리 모듈은, 서버 상에 탈착 가능한 형태의 기록매체일 수 있다.
한편, 상기 프로세서 모듈은, 고인 통화 서비스를 구현하기 위하여 전술한 각 유닛(unit)의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 모듈은, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 서버에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리 모듈에 저장된 운영체제(OS) 및/또는 응용 프로그램 등을 실행할 수 있고, 서버에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 모듈은, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 모듈은, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
이상의 설명에서는, 본 발명의 실시예에 따른 서비스 제공 서버(200)가 상술된 바와 같은 기능 동작을 수행한다고 설명하였으나, 실시예에 따라서 서비스 제공 서버(200)에서 수행하는 기능 동작의 적어도 일부를 외부의 장치(예컨대, 단말(100) 등)에서 수행할 수도 있고, 상기 외부의 장치에서 수행하는 기능 동작의 적어도 일부를 상기 서비스 제공 서버(200)에서 더 수행할 수도 있는 등 다양한 실시예가 가능할 수 있다.
- 고인 통화 서비스를 제공하기 위한 방법
이하, 본 발명의 실시예에 따른 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 애플리케이션(111)이 고인 통화 서비스를 제공하기 위한 방법을 첨부된 도 3 내지 도 7을 참조하여 상세히 설명한다.
본 발명의 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서는, 적어도 하나 이상의 메모리(110)에 저장된 적어도 하나 이상의 애플리케이션(111)을 실행하거나 백그라운드 상태로 동작하게 할 수 있다.
이하, 상기 적어도 하나 이상의 프로세서가 상기 애플리케이션(111)의 명령어를 실행하기 위해 동작하여 상술된 고인 통화 서비스를 제공하기 위한 방법을 수행하는 것을 상기 애플리케이션(111)이 수행하는 것으로 단축하여 설명한다.
도 3은 본 발명의 실시예에 따른 고인 통화 서비스를 제공하기 위한 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 실시예에서 애플리케이션(111)은, 적어도 n개 이상의 고인 오디오 데이터를 획득할 수 있다. (S101)
자세히, 실시예에서 애플리케이션(111)은, 생전 고인의 목소리가 녹음된 소정의 문장(예컨대, 10 내지 20문장)을 포함하는 오디오 및 비디오 파일을 자동 및/또는 수동으로 업로드함으로써 적어도 n개 이상의 고인 오디오 데이터를 획득할 수 있다.
이를 위해, 실시예에서 애플리케이션(111)은, 최소 문장 수 및/또는 최소 녹음 길이를 포함하는 파일 업로드 기준을 기 설정할 수 있다.
예컨대, 애플리케이션(111)은, 고인의 음성에 있어서 정확한 특징을 추출해내기 위하여, 최소 10문장을 포함하고, 최소 10초 이상인 오디오 및 비디오 파일만을 업로드할 수 있도록 파일 업로드 기준을 기 설정할 수 있다.
또한, 상기 업로드된 파일이 비디오 파일이면, 실시예에서 애플리케이션(111)은, 업로드된 비디오 파일에 포함된 오디오만 추출하여 해당 비디오 파일을 오디오 파일로 변환할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 업로드된 비디오 파일에 포함된 고인의 얼굴을 인식하여 얼굴 및 음성을 인식함으로써 고인의 음성을 포함하는 오디오 파일을 획득할 수도 있다. 더 나아가, 실시예에서 애플리케이션(111)은, 소정의 딥러닝 모델을 기초로 상기 인식된 고인의 얼굴 및 음성을 이용하여 감성 특징을 추출함으로써 상기 획득된 오디오 파일에 고인의 감정을 포함시켜 저장할 수도 있다. 이하에서는, 설명의 편의를 위해 업로드되는 파일이 오디오 파일인 것에 기준하여 설명한다.
실시예에서 애플리케이션(111)은, 자동 및/또는 수동으로 고인 오디오 데이터를 업로드함으로써 고인 오디오 데이터를 획득할 수 있다.
자세히, 실시예에서 애플리케이션(111)은, 자동으로 고인 오디오 데이터를 업로드하기 위하여, 고인의 생전에 고인의 단말(100) 및/또는 유저 본인의 단말(100)에 고인 통화 애플리케이션을 설치함으로써 자동으로 고인 오디오 데이터를 업로드 및 획득할 수 있다.
이는, 생전의 고인과 유저가 동일한 공간 내에서 직접 대화하는 상황을 감지하고 해당 상황에서 생전의 고인이 사용하는 말투, 특성 등을 추출하기 위함일 수 있다.
이하에서는, 유저 본인의 단말(100)에 설치된 고인 통화 애플리케이션에 기준하여 설명하고, 해당 고인 통화 애플리케이션이 구동 중인 것에 기준하여 설명하나, 기재된 바에 한정하는 것은 아니다.
도 4는 본 발명의 실시예에 따른 고인 오디오 데이터를 획득하는 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 실시예에서 애플리케이션(111)은, 고인 및 유저 음성을 동시에 감지할 수 있다. (S301)
이를 위해, 실시예에서 애플리케이션(111)은, 생전 고인의 음성 및/또는 유저의 음성을 기 저장 및 등록할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 기 저장된 복수의 음성을 기초로, 단말(100)의 오디오 센서(예컨대, 마이크)를 통해 수집되는 소정의 사운드와 상기 기 저장된 생전 고인의 음성 및/또는 유저의 음성을 비교할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 수집된 소정의 사운드와 상기 기 저장된 생전 고인의 음성 및/또는 유저의 음성이 동일하면, 해당 소정의 사운드를 고인 및 유저 음성으로 감지할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 고인 및 유저 음성이 동시에 감지되면, 자동 녹음을 시작함으로써 소정의 음성 파일을 획득할 수 있다. (S303)
다시 말해, 실시예에서 애플리케이션(111)은, 상기 고인 및 유저 음성이 동시에 감지되는 것을 생전의 고인과 유저가 대화하는 상황인 것으로 간주할 수 있다.
이에 따라, 실시예에서 애플리케이션(111)은, 해당 상황에서 생전의 고인이 사용하는 말투, 특성 등을 추출하기 위해 자동 녹음을 시작할 수 있다.
즉, 실시예에서 애플리케이션(111)은, 자동 녹음을 종료함으로써 소정의 음성 파일(이하, 대화 음성 파일)을 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 획득된 대화 음성 파일에서 적어도 하나 이상의 음성을 추출할 수 있다. (S305)
이때, 실시예에서 애플리케이션(111)은, 화자 분리 및/또는 화자 분할 기술을 이용하는 딥러닝 모델을 기초로 대화 음성 파일에서 적어도 하나 이상의 음성을 추출할 수 있다.
이를 위해, 실시예에서 애플리케이션(111)은, 대화 음성 파일에서 적어도 하나 이상의 음성을 추출하기 위한 음성 추출 인터페이스를 제공할 수 있다.
여기서, 예컨대 애플리케이션(111)은, Bottom-up Approach, Top-Down Approach 등으로 학습된 딥러닝 뉴럴 네트워크를 기초로 2명 이상의 화자가 발언하는 상기 대화 음성 파일로부터 적어도 2개 이상의 음성을 추출할 수 있다. 이하에서는 설명의 편의를 위해 추출되는 음성의 개수가 2개인 것에 기준하여 설명하지만, 도시한 개수에 한정하는 것은 아니다.
도 5 및 도 6은 본 발명의 실시예에 따라 음성 파일에서 적어도 하나 이상의 음성을 추출하는 방법을 설명하기 위한 도면의 일례이다. 자세히, 도 5는 화자 분리 기술을 설명하기 위한 도면의 일례이고, 도 6은 화자 분할 기술을 설명하기 위한 도면의 일례이다.
도 5 및 도 6을 참조하면, 실시예에서 애플리케이션(111)은, 대화 음성 파일(1000)에서 적어도 하나 이상의 음성(1100, 1200)을 추출할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 추출된 적어도 하나 이상의 음성 중 고인 음성을 선택할 수 있다. (S307)
이를 위해, 실시예에서 애플리케이션(111)은, 고인 음성을 선택하는 소정의 유저 입력을 감지할 수 있다.
예컨대, 애플리케이션(111)은, 상기 제1 음성(1100) 및 제2 음성(1200) 중 고인 음성인 제1 음성을 선택하는 소정의 유저 입력을 감지할 수 있다.
이로써, 실시예에서 애플리케이션(111)은, 상기 선택된 고인 음성을 고인 오디오 데이터로 자동 업로드할 수 있다.
또한, 다른 실시예에서 애플리케이션(111)은, 상기 기 설치된 고인 통화 애플리케이션을 기초로 생전 고인 및 유저가 통화하는 상황 하에서 자동으로 고인 오디오 데이터를 업로드 및 획득할 수도 있다.
이는, 생전의 고인과 유저가 각자의 휴대폰의 통화 기능을 통해 대화하는 상황을 감지하고 해당 상황에서 생전의 고인이 사용하는 말투, 특성 등을 추출하기 위함일 수 있다.
다른 실시예에서 애플리케이션(111)은, 생전 고인의 전화번호를 수신하면, 자동으로 통화 녹음 기능을 작동할 수 있다.
이를 위해, 다른 실시예에서 애플리케이션(111)은, 생전 고인의 전화번호 및/또는 유저의 전화번호를 기 저장할 수 있다.
또한, 다른 실시예에서 애플리케이션(111)은, 자동으로 작동된 통화 녹음 기능을 기초로 소정의 대화 음성 파일을 획득할 수 있다. 이하, 상기 획득된 음성 파일을 기초로 고인 오디오 데이터를 획득하는 방법은 상술한 실시예와 동일하므로 그를 준용하도록 한다.
이와 같은 방법으로, 실시예에서 애플리케이션(111)은, 자동으로 고인 오디오 데이터를 업로드함으로써 고인 오디오 데이터를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 수동으로 고인 오디오 데이터를 업로드하기 위하여, 유저 입력을 기초로 업로드된 소정의 파일을 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 자동 및/또는 수동으로 업로드된 고인 오디오 데이터를 문장 단위로 분할할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 문장 단위로 분할된 고인 오디오 데이터 중 유저 입력을 기초로 선택된 소정의 고인 오디오 데이터를 합성 대상 오디오 데이터로 등록할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 유저의 소정의 입력을 기초로 상기 획득된 적어도 n개 이상의 고인 오디오 데이터를 1) 일반 오디오 데이터 및/또는 2) 친밀도 기반 오디오 데이터로 분류하여 저장할 수 있다.
이는, 유저 및 고인과의 관계 특성에 따라 유저가 상기 고인 통화 서비스를 이용할 시 맞춤형 말투로 고인 음성을 제공하기 위함일 수 있다.
여기서, 상기 1) 일반 오디오 데이터는, 말하는 당시 상황 및/또는 대화 상대방 등이 무작위인 상태에서 수집된 고인의 목소리를 포함하는 오디오 데이터일 수 있다.
예컨대, 상기 일반 오디오 데이터에는, 다수를 대상으로 발표를 하는 상황, 상담원을 대상으로 상담을 하는 상황 등에서 수집된 고인의 오디오 데이터일 수 있다.
또한, 상기 2) 친밀도 기반 오디오 데이터는, 대화 상대방이 유저로 정해진 상태에서 수집된 고인의 목소리를 포함하는 오디오 데이터일 수 있다.
예컨대, 상기 친밀도 기반 오디오 데이터에는, 유저를 대상으로 전화를 하는 상황, 동일 공간 내에서 유저를 대상으로 대화를 하는 상황 등에서 수집된 고인의 오디오 데이터일 수 있다.
상술한 일반 오디오 데이터 및/또는 친밀도 기반 오디오 데이터는 기 학습된 딥러닝 모델의 학습 시 상이한 레벨의 레이어에 입력될 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 저장된 적어도 하나 이상의 고인 오디오 데이터를 기초로 음성 합성 모델을 파인튜닝(Fine-Tuning) 학습시킬 수 있다.
이때, 실시예에 따른 상기 음성 합성 모델은, Style embedding, Vector Quantization 등의 기법을 이용해 기 학습(pre-training)된 딥러닝 모델을 파인튜닝 학습시킨 딥러닝 모델일 수 있다.
도 7은 본 발명의 실시예에 따른 음성 합성 모델을 설명하기 위한 도면의 일례이다.
도 7을 참조하면, 실시예에 따른 음성 합성 모델(400)은, 기 학습된 딥러닝 모델인 제1 딥러닝 모델(P-400)의 가중치를 미세하게 조정하여 학습된 딥러닝 모델일 수 있다.
실시예에서 이러한 음성 합성 모델(400)은, 제1 베이스층(410), 제2 베이스층(420) 및 분류자층(430)을 포함할 수 있다.
여기서, 상기 베이스층(Convolutional base)이란, 합성곱 층과 풀링 층이 여러 겹 쌓여있는 부분으로, 획득된 오디오 데이터에 대하여 특징을 추출하는 역할을 수행할 수 있다.
자세히, 실시예에서 상기 제1 베이스층(410)은 상기 제1 딥러닝 모델(P-400)의 아키텍쳐를 활용하기 위해 고정된 베이스층을 의미할 수 있다.
또한, 상기 제2 베이스층(420)은 상기 아키텍쳐를 새로운 목적에 맞게 변형하고 이미 학습된 모델의 가중치를 미세하게 조정하기 위해 새로이 학습되어 변동되는 베이스층을 의미할 수 있다.
또한, 상기 분류자층(430: Classifier)이란, 상기 베이스층이 추출한 특징을 학습하여 각각의 오디오 샘플들을 특징에 따라 세분화된 레이어 중 알맞은 레이어로 분류하는 역할을 수행할 수 있다.
또한, 실시예에 따른 상기 분류자층(430)은, 적어도 하나 이상의 레이어를 포함할 수 있다.
자세히, 실시예에서 상기 1) 일반 오디오 데이터는, 파인 튜닝 방식으로 음성 합성 모델(400)을 학습시킬 시, 일반적이고 독립적인 특징을 추출하기 위한 낮은 레벨의 레이어(상기 음성 합성 모델이 18개의 레이어를 포함한다고 가정하면, 1 내지 5 레이어)에 이용될 수 있다.
또한, 실시예에서 상기 2) 친밀도 기반 오디오 데이터는, 파인 튜닝 방식으로 음성 합성 모델(400)을 학습시킬 시, 구체적이고 명확한 특징을 추출하기 위한 높은 레벨의 레이어(상기 음성 합성 모델이 18개의 레이어를 포함한다고 가정하면, 6 내지 18 레이어)에 이용될 수 있다.
즉, 실시예에서 애플리케이션(111)은, 상기 일반 오디오 데이터 및/또는 친밀도 기반 오디오 데이터를 상기 음성 합성 모델(400)에 포함된 서로 다른 레이어에 입력할 수 있다.
이에 따라, 실시예에서 애플리케이션(111)은, 획득된 적어도 n개 이상의 고인 오디오 데이터를 음성 합성 모델(400)을 기초로 딥러닝 학습할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 적어도 n개 이상의 고인 텍스트 데이터를 획득할 수 있다. (S103)
자세히, 실시예에서 애플리케이션(111)은, 생전 고인의 평소 말투(예컨대, 문자/메신저 말투)를 포함하는 소정의 문장(예컨대, 10 내지 20문장)을 포함하는 채팅 및 텍스트 파일을 업로드함으로써 적어도 n개 이상의 고인 텍스트 데이터를 획득할 수 있다.
이를 위해, 실시예에서 애플리케이션(111)은, 최소 문장 수 및/또는 최소 문장 길이를 포함하는 파일 업로드 기준을 기 설정할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 유저 및/또는 고인의 단말(100)로부터 업로드된 소정의 채팅 및 텍스트 파일을 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 획득된 파일에 포함된 내용을 문장 단위로 분리할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 분리된 문장을 고인 텍스트 데이터로 저장함으로써 고인 텍스트 데이터를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 유저의 소정의 입력을 기초로 상기 획득된 적어도 n개 이상의 고인 텍스트 데이터를 1) 일반 텍스트 데이터 및/또는 2) 친밀도 기반 텍스트 데이터로 분류하여 저장할 수 있다.
이하, 상기 일반 텍스트 데이터 및 친밀도 기반 텍스트 데이터는 상술한 일반 오디오 데이터 및 친밀도 기반 오디오 데이터와 그 파일 형식이 상이하고 입력되는 대상이 답변 생성 모델이라는 차이점만이 존재할 뿐 기본적인 내용은 상동하기 때문에, 해당 내용을 준용하여 생략하도록 한다.
또한, 실시예에서 애플리케이션(111)은, 획득된 고인 오디오 데이터 및/또는 고인 텍스트 데이터(이하, 고인 심볼릭(symbolic) 데이터)를 고인의 생전 전화번호와 매칭하여 저장할 수 있다. (S105)
이를 위해, 실시예에서 애플리케이션(111)은, 상기 고인의 생전 전화번호를 입력하는 유저 입력을 감지할 수 있다.
또한, 상기 고인의 생전 전화번호가 이미 삭제되거나 사용자가 변경된 이후인 경우, 실시예에서 애플리케이션(111)은, 자동으로 고인의 가상 전화번호를 생성하는 유저 입력을 감지할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 고인의 생전 및/또는 가상 전화번호에 상기 획득된 고인 심볼릭 데이터를 매칭할 수 있다.
상기 전화번호 및 고인 심볼릭 데이터 매칭 시, 실시예에서 애플리케이션(111)은, 유저 및 상기 고인과의 관계 정보를 입력하는 유저 입력을 획득할 수 있다.
이에 따라, 상기 고인 심볼릭 데이터는 각각 관계 정보에 따라 구분되어 각 데이터베이스(210, 220)에 저장될 수 있다.
추가적으로, 실시예에서 애플리케이션(111)은, 상기 고인과의 대화 상황 및/또는 상기 고인의 감정 등을 자동 및/또는 유저 수동 입력에 의해 획득할 수도 있다.
이에 따라, 실시예에서 애플리케이션(111)은, 상기 고인의 생전 및/또는 가상 전화번호에 매칭된 적어도 하나 이상의 고인 심볼릭 데이터를 소정의 기준(예컨대, 대화 상대별, 상황별, 감정별 등)에 따라 구분할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 소정의 기준에 따라 구분된 적어도 하나 이상의 고인 심볼릭 데이터를 상기 고인 오디오 데이터베이스(210) 및 고인 텍스트 데이터베이스(220)에 저장할 수 있다.
이에 따라, 실시예에서 애플리케이션(111)은, 고인 통화 서비스를 제공할 수 있다. (S107)
자세히, 실시예에서 애플리케이션(111)은, 상기 고인의 생전 및/또는 가상 전화번호로 전화를 발신하면 상기 매칭 및 저장된 고인 심볼릭 데이터를 기초로 고인의 말투 및 음성이 반영된 고인 통화 서비스를 제공할 수 있다.
이를 위해, 실시예에서 애플리케이션(111)은, 상기 획득된 관계 정보 및 기 저장된 유저 전화번호를 매칭하여 저장할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 획득된 관계 정보 및 기 저장된 유저 음성을 매칭하여 저장할 수도 있다.
즉, 실시예에서 애플리케이션(111)은, 발신자의 전화번호(실시예로, 유저 전화번호) 및/또는 유저 음성 중 적어도 하나를 인식하여 상기 유저와 고인과의 관계에 부합하는 보이스클로닝 데이터를 재생하는 고인 통화 서비스를 제공할 수 있다.
- 단말이 고인 통화 서비스를 제공하는 방법
이하, 본 발명의 실시예에 따른 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 애플리케이션(111)이 고인 통화 서비스를 제공하는 방법을 첨부된 도 8 내지 10을 참조하여 상세히 설명한다.
도 8은 본 발명의 실시예에 따른 고인 통화 서비스를 제공하는 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 실시예에서 애플리케이션(111)은, 고인 통화 서비스의 대상이 되는 고인 생전 전화번호로 통화를 요청할 수 있다. (S501)
실시예에서 상기 고인 생전 전화번호는, 고인이 생전에 사용하던 전화번호와 동일할 수 있다. 또한, 상기 고인 생전 전화번호는, 고인이 생전에 사용하던 전화번호가 이미 삭제되거나 사용자가 변경된 이후인 경우, 자동으로 생성된 가상 전화번호일 수도 있다.
이때, 실시예에서 애플리케이션(111)은, 유저가 상기 고인 생전 전화번호로 직접 통화를 발신하거나, 특정 시간에 상기 고인 생전 전화번호로부터 통화가 수신되도록 설정함으로써 통화를 요청할 수 있다.
실시예에서 애플리케이션(111)은, 통화 요청 및/또는 시작 시 1) 추천 다이얼로그 및/또는 2) 자유 다이얼로그 중 하나를 선택하는 유저 입력을 감지할 수 있다.
여기서, 실시예에 따른 1) 추천 다이얼로그는, 유저 및/또는 고인의 질문과 답변이 디폴트(default)로 지정되어 있는 대화 셋(set)을 의미할 수 있다.
즉, 실시예에서 상기 추천 다이얼로그는, 적어도 하나 이상의 추천질문 데이터 및/또는 추천답변 데이터를 포함할 수 있다.
실시예에서 애플리케이션(111)은, 추천 다이얼로그가 선택되면, 유저가 발언한 추천질문 데이터에 대응되는 추천답변 데이터를 보이스클로닝 데이터로 제공할 수 있다.
또한, 실시예에 따른 2) 자유 다이얼로그는, 유저의 질문은 자율적이고, 고인의 답변이 실시예에 따른 답변 텍스트 데이터인 대화 셋(set)을 의미할 수 있다.
실시예에서 애플리케이션(111)은, 자유 다이얼로그가 선택되면, 실시간으로 획득되는 유저 음성 데이터에 대응되는 적어도 하나 이상의 답변 텍스트 데이터를 보이스클로닝 데이터로 제공할 수 있다.
상기 요청에 따라 통화가 시작되면, 실시예에서 애플리케이션(111)은, 유저 음성 데이터를 획득함으로써 유저를 인식할 수 있다. (S503)
이때, 실시예에서 애플리케이션(111)은, 기 저장된 유저 전화번호 및/또는 획득된 유저 음성 데이터를 기초로 유저를 인식할 수 있다.
이를 위해, 상기 기 저장된 유저 전화번호 및/또는 유저 음성은 관계 정보와 미리 매칭되어 있을 수 있다.
또한, 실시예에서 애플리케이션(111)은, 인식된 유저의 관계 정보를 추출할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 추출된 관계 정보에 따라 고인 오디오 데이터베이스(210) 및 고인 텍스트 데이터베이스(220)에서 상기 관계 정보에 대응되는 데이터만을 필터링할 수 있다.
이를 위해, 실시예에서 애플리케이션(111)은, 상기 유저 전화번호 및/또는 유저 음성에 기 매칭된 관계 정보를 획득할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 복수의 데이터베이스(210, 220)로부터 상기 획득된 관계 정보에 대응되는 적어도 하나 이상의 고인 심볼릭 데이터를 추출할 수 있다.
이때, 실시예에서 애플리케이션(111)은, 대화 상대별로 구분되어 고인 오디오 데이터베이스(210)에 저장된 고인 오디오 데이터 중 상기 획득된 관계 정보에 대응되는 고인 오디오 데이터만을 필터링할 수 있다.
마찬가지로, 실시예에서 애플리케이션(111)은, 대화 상대별로 구분되어 고인 텍스트 데이터베이스(220)에 저장된 고인 텍스트 데이터 중 상기 획득된 관계 정보에 대응되는 고인 텍스트 데이터만을 필터링할 수 있다.
한편, 실시예에서 애플리케이션(111)은, 상기 유저 전화번호를 기초로 고인 심볼릭 데이터를 추출할 시에는 각 데이터베이스(210, 220)로부터 하나씩의 데이터만을 추출할 수 있지만, 상기 유저 음성을 기초로 고인 심볼릭 데이터를 추출하면 동일한 통화 내에서 발언하는 유저가 교체되어도 해당 교체된 유저의 음성을 기초로 다른 데이터를 추출할 수 있다.
즉, 명절 및/또는 복수 명이 한데 모인 모임 등에서 하나의 단말(100)로 본 발명의 실시예에 따른 고인 통화 서비스를 이용할 시에도, 발언하는 유저마다 고인의 음성이 변화되어 출력되므로 더욱 생동감 있는 고인과의 통화를 제공함과 동시에, 단말(100)마다 개별적으로 통화를 요청하지 않아도 하나의 단말(100)로도 서비스를 이용할 수 있어 편리성이 증가되므로, 유저의 서비스 만족도를 획기적으로 향상시키는 효과가 있다.
또한, 실시예에서 애플리케이션(111)은, 답변 생성 모델을 기초로 상기 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 획득할 수 있다. (S505)
이때, 실시예에서 애플리케이션(111)은, 기 저장된 추천답변 데이터 중 적어도 하나 이상의 데이터를 선택하는 유저 입력을 기초로 답변 텍스트 데이터를 획득할 수도 있다.
이때, 실시예에서 상기 답변 텍스트 데이터는, 유저의 질문에 따라 고인이 고인 생전 말투로 답변한 내용을 포함하는 텍스트 파일 형식의 데이터일 수 있다.
실시예에서 애플리케이션(111)은, 상기 답변 텍스트 데이터를 획득하기 위하여, 답변 생성 딥러닝 뉴럴 네트워크를 기초로 하는 딥러닝 모델인 답변 생성 모델을 이용할 수 있다.
여기서, 상기 답변 생성 모델은, 유저 음성 데이터를 입력받으면 상기 입력된 유저 음성 데이터에 대응되는 고인 말투의 답변인 답변 텍스트 데이터를 출력하는 답변 생성 딥러닝 뉴럴 네트워크를 기초로 작동하는 딥러닝 모델일 수 있다.
도 9는 본 발명의 실시예에 따른 답변 생성 모델의 동작을 나타내는 개념도이다.
도 9를 참조하면, 실시예에서 애플리케이션(111)은, 획득된 유저 음성 데이터(2000)를 답변 생성 모델(400)에 입력할 수 있다.
이때, 상기 소정의 유저 음성 데이터(2000)를 입력받은 답변 생성 모델(400)은, 상기 입력된 유저 음성 데이터(2000)에 대응되는 답변 텍스트 데이터(3000)를 출력할 수 있다.
이에 따라, 실시예에서 애플리케이션(111)은, 상기 답변 생성 모델(400)로부터 출력되는 상기 답변 텍스트 데이터(3000)를 수신할 수 있다.
즉, 실시예에서 애플리케이션(111)은, 상기 답변 텍스트 데이터(3000)를 수신함으로써, 상기 답변 생성 모델(400)로부터 출력된 답변 텍스트 데이터(3000)를 획득할 수 있다.
예를 들어, 유저 음성 데이터(2000)가 “보고싶어 엄마.”라면 애플리케이션(111)은, 관계 정보를 기초로 "나도 보고싶네 우리 딸.”이라는 답변 텍스트 데이터(3000)를 획득할 수 있다.
마찬가지로, 예를 들어 유저 음성 데이터(2000)가 “보고싶다 딸아.” 라면 애플리케이션(111)은, 관계 정보를 기초로 “저도 보고싶어요 엄마.”라는 답변 텍스트 데이터(3000)를 획득할 수도 있다.
또한, 실시예에서 애플리케이션(111)은, 음성 합성 모델을 기초로 상기 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 획득 및 제공할 수 있다. (S507)
이때, 실시예에서 상기 보이스클로닝 데이터는, 유저가 질문한 내용에 고인이 대답할만한 텍스트(실시예로, 답변 텍스트 데이터)를 가상의 고인 음성으로 읽은 오디오 데이터일 수 있다.
실시예에서 애플리케이션(111)은, 상기 보이스클로닝 데이터를 획득하기 위하여, 음성 합성 딥러닝 뉴럴 네트워크를 기초로 하는 딥러닝 모델인 음성 합성 모델을 이용할 수 있다.
여기서, 상기 음성 합성 모델은, 답변 텍스트 데이터를 입력받으면 상기 입력된 답변 텍스트 데이터에 고인의 음성을 입힌 보이스클로닝 데이터를 출력하는 음성 합성 딥러닝 뉴럴 네트워크를 기초로 작동하는 딥러닝 모델일 수 있다.
도 10은 본 발명의 실시예에 따른 음성 합성 모델의 동작을 나타내는 개념도이다.
도 10을 참조하면, 실시예에서 애플리케이션(111)은, 획득된 답변 텍스트 데이터(3000)를 음성 합성 모델(500)에 입력할 수 있다.
이때, 상기 소정의 답변 텍스트 데이터(3000)를 입력받은 음성 합성 모델(500)은, 상기 입력된 답변 텍스트 데이터(3000)에 대응되는 보이스클로닝 데이터(4000)를 출력할 수 있다.
이에 따라, 실시예에서 애플리케이션(111)은, 상기 음성 합성 모델(500)로부터 출력되는 상기 보이스클로닝 데이터(4000)를 수신할 수 있다.
즉, 실시예에서 애플리케이션(111)은, 상기 보이스클로닝 데이터(4000)를 수신함으로써, 상기 음성 합성 모델(500)로부터 출력된 보이스클로닝 데이터(4000)를 획득할 수 있다.
예를 들어, 답변 텍스트 데이터(3000)가 "나도 보고싶네 우리 딸.”이라면, 애플리케이션(111)은, 관계 정보를 기초로 해당 텍스트에 평소 딸에게 말하던 말투의 고인 음성을 입힌 보이스클로닝 데이터(4000)를 획득할 수 있다.
실시예에서 애플리케이션(111)은, 유저 음성 데이터를 획득할 때마다 상술한 S503 내지 S507 단계를 반복하여 수행할 수 있으며 이에 따라 유저에게 실제 고인과 통화하는 느낌을 제공할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 유저의 종료 입력이 있으면, 통화를 종료하고 해당 통화 내용을 저장할 수 있다. (S509)
이때, 실시예에서 애플리케이션(111)은, 유저의 입력에 따라 해당 통화 내용을 저장할지 여부를 선택할 수 있다.
유저가 통화 내용 저장을 선택하면, 실시예에서 애플리케이션(111)은, 해당 통화 내용을 저장할 수 있다. 즉, 실시예에서 애플리케이션(111)은, 상기 저장된 통화 내용을 포함하는 데이터인 통화 내용 데이터를 저장할 수 있다.
또한, 실시예에서 애플리케이션(111)은, 상기 통화 내용 데이터에 대한 듣기 기능 및/또는 공유 기능을 제공할 수 있다.
이상, 본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템은, 유저 및 고인과의 관계 특성에 따라 맞춤형 말투를 생성함으로써, 고인의 말투에서 인위적이고 어색한 느낌을 제거하고 실제 고인과 통화하는 듯한 느낌을 제공하는 효과가 있다.
또한, 본 발명의 실시예에 따른 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템은, 고인의 음성이 감지된 오디오 데이터를 수집함으로써, 한정적인 고인의 목소리 자료에 따른 딥러닝 학습데이터 부족 현상을 해결하는 효과가 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.

Claims (10)

  1. 단말의 적어도 하나의 프로세서에 의하여 실행되는 고인 통화 애플리케이션이 고인 통화 서비스를 제공하는 방법으로서,
    적어도 n개 이상의 고인 오디오 데이터 및 고인 텍스트 데이터를 획득하는 단계;
    상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하는 단계;
    상기 고인 생전 전화번호로 통화를 요청하는 단계;
    상기 통화가 시작되면 유저 음성 데이터를 획득하는 단계;
    답변 생성 딥러닝 모델을 기초로 상기 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 획득하는 단계; 및
    음성 합성 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 획득 및 제공하는 단계;를 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  2. 제1 항에 있어서,
    상기 고인 오디오 데이터를 획득하는 단계는,
    상기 획득된 고인 오디오 데이터를 일반 오디오 데이터 및 친밀도 기반 오디오 데이터로 분류하는 단계와,
    상기 분류된 일반 오디오 데이터 및 친밀도 기반 오디오 데이터를 기초로 복수 개의 레이어를 포함하는 상기 음성 합성 딥러닝 모델을 파인튜닝 학습시키는 단계를 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  3. 제2 항에 있어서,
    상기 음성 합성 딥러닝 모델을 파인튜닝 학습시키는 단계는,
    상기 친밀도 기반 오디오 데이터를 상기 일반 오디오 데이터가 삽입되는 레이어보다 높은 레벨의 레이어에 삽입하는 단계를 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  4. 제1 항에 있어서,
    상기 고인 오디오 데이터를 획득하는 단계는,
    자동 및 수동으로 고인 오디오 데이터를 업로드하는 단계를 더 포함하고,
    상기 자동으로 고인 오디오 데이터를 업로드하는 단계는,
    상기 애플리케이션이 구동 중일 때 상기 단말에 포함된 오디오 센서를 기초로 소정의 사운드를 수집하는 단계를 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  5. 제4 항에 있어서,
    상기 소정의 사운드를 수집하는 단계는,
    상기 단말에 포함된 오디오 센서를 기초로 고인 및 유저 음성을 동시에 감지하는 단계와,
    상기 고인 및 유저 음성을 동시에 감지하면 자동 녹음을 시작하는 단계와,
    상기 자동 녹음에 따른 대화 음성 파일을 획득하는 단계와,
    상기 획득된 대화 음성 파일에서 화자 분리 기술 및 화자 분할 기술 중 적어도 하나의 기술을 이용하는 딥러닝 모델을 기초로 복수 개의 음성을 추출하는 단계 및
    상기 추출된 복수 개의 음성 중 고인 음성을 선택하는 단계를 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  6. 제1 항에 있어서,
    상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하는 단계는,
    상기 유저 및 상기 고인과의 관계 정보를 획득하는 단계와,
    상기 획득된 관계 정보에 따라 상기 고인 오디오 데이터 및 고인 텍스트 데이터를 대화 상대별로 구분하여 저장하는 단계를 더 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  7. 제1 항에 있어서,
    상기 고인 생전 전화번호로 통화를 요청하는 단계는,
    디폴트(Default)로 지정된 고인의 답변인 추천답변 데이터를 적어도 하나 이상 포함하는 추천 다이얼로그를 선택하는 단계 및
    실시간으로 획득되는 상기 유저 음성 데이터에 대응되는 적어도 n개 이상의 답변 텍스트 데이터를 보이스클로닝 데이터로 제공하는 자유 다이얼로그를 선택하는 단계 중 하나의 단계를 수행하는 단계를 더 포함하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  8. 제1 항에 있어서,
    상기 답변 텍스트 데이터를 획득하는 단계는,
    상기 답변 생성 딥러닝 모델에 상기 유저 음성 데이터를 입력하는 단계와,
    상기 답변 생성 딥러닝 모델로부터 출력된 답변 텍스트 데이터를 수신하는 단계를 포함하고,
    상기 답변 텍스트 데이터는,
    상기 유저 음성 데이터에 대응되는 답변을 고인의 생전 말투로 변경한 데이터로써, 상기 획득된 적어도 n개 이상의 고인 텍스트 데이터를 기초로 파인튜닝 학습된 상기 답변 생성 딥러닝 모델로부터 출력되는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  9. 제1 항에 있어서,
    상기 보이스클로닝 데이터를 획득 및 제공하는 단계는,
    상기 음성 합성 딥러닝 모델에 상기 답변 텍스트 데이터를 입력하는 단계와,
    상기 음성 합성 딥러닝 모델로부터 출력된 보이스클로닝 데이터를 수신하는 단계를 포함하고,
    상기 보이스클로닝 데이터는,
    상기 답변 텍스트 데이터에 고인의 생전 음성을 합성한 데이터인
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법.
  10. 적어도 하나 이상의 메모리;
    적어도 하나 이상의 프로세서;를 포함하고,
    상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 고인 통화 서비스를 제공하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은,
    적어도 n개 이상의 고인 오디오 데이터 및 고인 텍스트 데이터를 획득하고,
    상기 획득된 고인 오디오 데이터 및 고인 텍스트 데이터를 고인 생전 전화번호와 매칭 및 저장하고,
    상기 고인 생전 전화번호로 통화를 요청하고,
    상기 통화가 시작되면 유저 음성 데이터를 획득하고,
    답변 생성 딥러닝 모델을 기초로 상기 유저 음성 데이터에 대응되는 답변 텍스트 데이터를 획득하고,
    음성 합성 딥러닝 모델을 기초로 상기 답변 텍스트 데이터에 대응되는 보이스클로닝 데이터를 획득 및 제공하는
    음성 합성을 기초로 고인과의 통화 서비스를 제공하는 시스템.
KR1020220144698A 2022-11-02 2022-11-02 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템 KR20240062790A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220144698A KR20240062790A (ko) 2022-11-02 2022-11-02 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220144698A KR20240062790A (ko) 2022-11-02 2022-11-02 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20240062790A true KR20240062790A (ko) 2024-05-09

Family

ID=91075621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220144698A KR20240062790A (ko) 2022-11-02 2022-11-02 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20240062790A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101113938B1 (ko) 2008-11-21 2012-03-05 공경용 망자와의 대화를 제공하는 망자 커뮤니티 시스템 및 그 망자 커뮤니티 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101113938B1 (ko) 2008-11-21 2012-03-05 공경용 망자와의 대화를 제공하는 망자 커뮤니티 시스템 및 그 망자 커뮤니티 방법

Similar Documents

Publication Publication Date Title
US20220284896A1 (en) Electronic personal interactive device
US11222632B2 (en) System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
US11468894B2 (en) System and method for personalizing dialogue based on user's appearances
US20190279642A1 (en) System and method for speech understanding via integrated audio and visual based speech recognition
CN111415677B (zh) 用于生成视频的方法、装置、设备和介质
US11915684B2 (en) Method and electronic device for translating speech signal
KR102498811B1 (ko) 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드
WO2021008538A1 (zh) 语音交互方法及相关装置
US10967508B2 (en) System and method for dynamic robot configuration for enhanced digital experiences
CN112840396A (zh) 用于处理用户话语的电子装置及其控制方法
US10994421B2 (en) System and method for dynamic robot profile configurations based on user interactions
US10785489B2 (en) System and method for visual rendering based on sparse samples with predicted motion
US20220215678A1 (en) System and method for reconstructing unoccupied 3d space
US20220358727A1 (en) Systems and Methods for Providing User Experiences in AR/VR Environments by Assistant Systems
US20220241977A1 (en) System and method for dynamic program configuration
KR20230163528A (ko) 맞춤화가능한 아바타 생성 시스템
KR20240062790A (ko) 음성 합성을 기초로 고인과의 통화 서비스를 제공하는 방법 및 시스템
US20210224310A1 (en) Electronic device and story generation method thereof
KR20230162078A (ko) 보컬들의 특성들을 변경하기 위한 신경망들
WO2020087534A1 (en) Generating response in conversation
US20240045704A1 (en) Dynamically Morphing Virtual Assistant Avatars for Assistant Systems
US20240021195A1 (en) Boosting words in automated speech recognition
US20240112674A1 (en) Presenting Attention States Associated with Voice Commands for Assistant Systems
WO2024145376A1 (en) Reading out scene analysis for users wearing head-mounted devices
CN118251667A (zh) 用于生成视觉字幕的系统和方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
N231 Notification of change of applicant