KR102480479B1 - 전사를 위한 음성 콘텐츠의 전처리 방법 - Google Patents

전사를 위한 음성 콘텐츠의 전처리 방법 Download PDF

Info

Publication number
KR102480479B1
KR102480479B1 KR1020200165066A KR20200165066A KR102480479B1 KR 102480479 B1 KR102480479 B1 KR 102480479B1 KR 1020200165066 A KR1020200165066 A KR 1020200165066A KR 20200165066 A KR20200165066 A KR 20200165066A KR 102480479 B1 KR102480479 B1 KR 102480479B1
Authority
KR
South Korea
Prior art keywords
content
neural network
artificial neural
unit interval
voice
Prior art date
Application number
KR1020200165066A
Other languages
English (en)
Other versions
KR20220076175A (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 KR1020200165066A priority Critical patent/KR102480479B1/ko
Publication of KR20220076175A publication Critical patent/KR20220076175A/ko
Application granted granted Critical
Publication of KR102480479B1 publication Critical patent/KR102480479B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 학습된 인공 신경망을 이용하여, 음성 콘텐츠의 전사(Transcribe)를 위해 음성 콘텐츠를 전처리 하는 방법에 관한 것이다.

Description

전사를 위한 음성 콘텐츠의 전처리 방법{Method for audio content pre-processing for transcription}
본 발명은 학습된 인공 신경망을 이용하여 음성 콘텐츠의 전사를 위해 음성 콘텐츠를 전처리 하는 방법에 관한 것이다.
음성의 전사(Transcribe) 기술은 사람의 음성을 포함하는 오디오 신호를 텍스트로 표현하는 기술을 의미한다.
사람의 음성을 포함하는 오디오 신호는 필연적으로 공백 구간을 포함한다. 이때 공백 구간은 사람의 음성이 존재하지 않는 구간을 의미한다. 가령 단일 화자에 의한 오디오 신호의 경우, 화자가 발화 중 멈추거나 쉬는 것 등에 의해 공백 구간이 발생된다. 또한 복수 화자에 의한 오디오 신호의 경우, 화자의 전환에 따라 공백 구간이 발생하기도 하고, 기타 요인에 의해 공백 구간이 발생하기도 한다.
이와 같은 공백 구간은 텍스트화가 불가능하고, 전사의 관점에서 유의미한 정보를 포함하지도 않기에 전사 과정에서 적절히 구분(또는 제거)될 필요가 있다.
종래기술은 오디오 신호의 음량이 소정의 임계값을 초과하는지 여부에 기초하여 공백 구간과 음성 구간을 구분하였다. 그러나 이와 같은 종래 기술에 따를 경우 음성 구간이 정교하게 설정되지 못하는 문제점이 있었다.
특히 복수화자가 연속하여 이야기를 하는 경우 종래기술은 화자의 변경을 감지하지 못하여 결과적으로 전사가 제대로 이루어지지 못하는 문제점이 있었다. 또한 단일 화자에 의한 음성에 있어서도, 구간의 구분 단위가 문장의 단위와 일치하지 못하는 문제점이 있었다.
본 발명은 전술한 문제점을 해결하기 위한 것으로, 보다 높은 정확도로 전사 대상 구간을 설정하고자 한다.
본 발명의 일 실시예에 따른 음성 콘텐츠의 전사를 위해 상기 음성 콘텐츠를 전처리 하는 방법은, 입력된 음성 콘텐츠를 단위 구간으로 분할하는 제1 인공 신경망을 학습하는 단계; 상기 음성 콘텐츠를 하나 이상의 음성 구간과 하나 이상의 비-음성 구간으로 구분하는 단계; 상기 제1 인공 신경망을 이용하여 상기 하나 이상의 음성 구간 각각으로부터 적어도 하나의 단위 구간을 생성하는 단계;를 포함할 수 있다.
상기 제1 인공 신경망을 학습하는 단계는 음성을 포함하는 제1 콘텐츠와 비-음성을 포함하는 제2 콘텐츠의 무작위 조합에 기초하여 상기 제1 인공 신경망의 학습을 위한 학습 데이터를 생성하는 단계; 및 상기 학습 데이터에 기초하여 상기 제1 인공 신경망을 학습시키는 단계;를 포함할 수 있다.
상기 학습 데이터를 생성하는 단계는 음성을 포함하는 복수의 콘텐츠 중 무작위로 상기 제1 콘텐츠를 선택하는 단계로써, 상기 제1 콘텐츠는 제1 길이이고; 비-음성을 포함하는 복수의 콘텐츠 중 무작위로 상기 제2 콘텐츠를 선택하는 단계로써, 상기 제2 콘텐츠는 상기 제1 길이보다 긴 제2 길이이고; 상기 제2 콘텐츠의 일부 구간에 상기 제1 콘텐츠가 부가된 제3 콘텐츠를 생성하는 단계; 및 상기 제2 콘텐츠에 대해서 상기 제1 콘텐츠가 부가된 구간과 나머지 구간을 나타내는 인덱스를 생성하는 단계;를 포함할 수 있다.
상기 학습 데이터에 기초하여 상기 제1 인공 신경망을 학습시키는 단계는 상기 제3 콘텐츠의 입력에 대응하여 상기 인덱스가 출력되도록 상기 제1 인공 신경망을 학습시킬 수 있다.
상기 음성을 포함하는 복수의 콘텐츠는 동일 화자에 대한 음성을 문장 단위로 생성한 콘텐츠일 수 있다.
상기 구분하는 단계는 구간의 음량이 소정의 임계 크기를 초과하는지 여부에 기초하여 상기 하나 이상의 음성 구간과 하나 이상의 비-음성 구간을 구분할 수 있다.
본 발명의 일 실시예에 따른 전사를 위한 음성 콘텐츠의 전처리 방법은 상기 적어도 하나의 단위 구간을 생성하는 단계 이후에, 상기 적어도 하나의 단위 구간 각각에 대한 메타데이터를 생성하는 단계;를 더 포함할 수 있다.
상기 메타데이터를 생성하는 단계는 상기 음성 콘텐츠 내에서 상기 적어도 하나의 단위 구간 각각의 상대적 위치를 상기 메타데이터에 추가하는 단계;를 포함할 수 있다.
상기 적어도 하나의 단위 구간은 제1 단위 구간, 제2 단위 구간 및 제3 단위 구간을 포함하고, 상기 메타데이터를 생성하는 단계는 학습된 제2 인공 신경망을 이용하여 상기 제2 단위 구간의 화자를 결정하여 상기 메타데이터에 추가하는 단계;를 더 포함하고, 상기 제2 인공 신경망은 상기 제1 단위 구간에 대응되는 음성 콘텐츠, 상기 제1 단위 구간의 화자, 상기 제1 단위 구간의 상기 음성 콘텐츠에서의 상대적 위치, 상기 제3 단위 구간에 대응되는 음성 콘텐츠, 상기 제3 단위 구간의 화자, 상기 제3 단위 구간의 상기 음성 콘텐츠에서의 상대적 위치 중 적어도 하나에 기초하여 상기 제2 단위 구간의 화자를 결정할 수 있다.
본 발명에 따르면 보다 높은 정확도로 전사 대상 구간을 설정, 즉 음성 구간을 구분 할 수 있다.
또한 본 발명에 따르면 적절한 단위로 음성 콘텐츠를 구분하여, 보다 정확하고 자연스러운 전사가 이루어지도록 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 음성 콘텐츠 처리 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버에 구비되는 음성 처리 장치의 구성을 개략적으로 도시한 도면이다.
도 3은 및 도 4는 본 발명의 음성 처리 장치에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 제어부가 학습 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제어부가 학습 데이터를 이용하여 제1 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 제1 인공 신경망의 입력과 출력을 설명하기 위한 도면이다.
도 9는 제어부가 음성 콘텐츠를 하나 이상의 음성 구간과 하나 이상의 비-음성 구간으로 구분하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 제어부가 음성 구간으로부터 적어도 하나의 단위 구간을 생성하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 제어부에 의해 수행되는 전사를 위한 음성 콘텐츠의 전처리 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 형태는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 음성 콘텐츠 처리 시스템의 구성을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 음성 콘텐츠 처리 시스템은 음성 콘텐츠의 전사(Transcribe)를 위해 음성 콘텐츠를 전처리 할 수 있다. 가령 본 발명의 일 실시예에 따른 음성 콘텐츠 처리 시스템은 음성 콘텐츠의 전사를 위해 음성 콘텐츠를 소정의 단위 구간으로 분할 할 수 있다. 또한 본 발명의 일 실시예에 따른 음성 콘텐츠 처리 시스템은 분할된 단위 구간을 전사하여 음성 콘텐츠에 대응되는 텍스트를 생성할 수도 있다.
본 발명에서 '음성'(音聲)은 사람의 목소리나 말소리를 의미하는 것으로, 사람의 발음 기관을 통해 내는 구체적이고 물리적인 소리를 의미할 수 있다.
한편 본 발명의 일 실시예에서, 이와 같은 음성은 사람에 의해 생성될 수도 있고 서버(100)와 같은 장치에 의해 생성될 수도 있다. 따라서 본 발명에서 음성은 사람의 발화에 따른 소리를 포괄하는 개념으로 사용될 수 있다.
본 발명에서 '전사'는 상술한 음성, 즉 말소리를 문자(또는 텍스트)화 하는 것을 의미할 수 있다.
본 발명에서 음성 콘텐츠로부터 생성되는 '음성 구간', '비-음성 구간' 및 '단위 구간'과 같은 구간은 음성 콘텐츠의 적어도 일부분을 의미할 수 있다. 가령 음성 콘텐츠가 10초 길이인 경우, '구간'은 10초 내의 2초부터 3초에 해당하는 부분 또는 7.2초부터 9.5초에 해당하는 부분을 의미할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명에서 제1 인공 신경망 및 제2 인공 신경망과 같은 '인공 신경망'은 서버(100) 및/또는 외부장치(300)가 수행하는 서비스에 적합하게 학습된 신경망으로, 머신 러닝(Machine Learning) 또는 딥러닝(Deep Learning) 기법에 의해 학습된 인공 신경망을 의미할 수 있다. 이와 같은 신경망의 구조에 대해서는 도 3 내지 도 4를 참조하여 후술한다.
본 발명의 일 실시예에 따른 음성 콘텐츠 처리 시스템은 도 1에 도시된 바와 같이 서버(100), 사용자 단말(200), 외부장치(300) 및 통신망(400)을 포함할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 사용자가 서버(100) 및/또는 외부장치(300)에 의해 제공되는 다양한 서비스를 이용할 수 있도록 사용자와 서버(100) 및/또는 외부장치(300)를 매개하는 다양한 형태의 장치를 의미할 수 있다. 바꾸어 말하면, 본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100) 및/또는 외부장치(300)와 데이터를 송수신 하는 다양한 장치를 의미할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)로 전처리 하고자 하거나 전사 하고자 하는 음성을 전송하고, 서버(100)로부터 전처리된 음성을 수신하거나 전사된 텍스트를 수신하는 장치일 수 있다. 이와 같은 사용자 단말(200)은 도 1에 도시된 바와 같이, 휴대용 단말(201, 202, 203)을 의미할 수도 있고, 컴퓨터(204)를 의미할 수도 있다.
한편 사용자 단말(200)은 상술한 기능을 수행하기 위해 콘텐츠 등을 표시하기 위한 표시수단, 이러한 콘텐츠에 대한 사용자의 입력을 획득하기 위한 입력수단을 구비할 수 있다. 이 때 입력수단 및 표시수단은 다양하게 구성될 수 있다. 가령 입력수단은 키보드, 마우스, 트랙볼, 마이크, 버튼, 터치패널 등을 포함할 수 있으나 이에 한정되지 않는다.
본 발명의 일 실시예에 따른 외부장치(300)는 전사 서비스를 제공하는 장치를 의미할 수 있다. 가령 외부장치(300)는 전사하고자 하는 음성을 서버(100)에 전송하고, 서버(100)로부터 전처리된 음성 또는 전사된 텍스트를 수신할 수 있다.
또한 외부장치(300)는 전처리된 음성을 전사하여 텍스트를 생성하거나, 전사된 텍스트를 수신하여 외부장치(300)에 연결된 다양한 장치(예를 들어 클라이언트 단말(미도시) 등)에 제공할 수 있다.
바꾸어말하면 외부장치(300)는 서버(100)가 제공하는 전처리 서비스 또는 전사 서비스를 자신의 서비스에 이용하기 위한 제3 자의 장치일 수 있다. 다만 이는 예시적인것으로, 외부장치(300)의 용도, 목적 및/또는 수량이 상술한 내용에 의해 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 통신망(400)은 음성 콘텐츠 처리 시스템의 각 구성 간의 데이터 송수신을 매개하는 통신망을 의미할 수 있다. 가령 통신망(400)은 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 음성 콘텐츠의 전사를 위해 음성 콘텐츠를 전처리 할 수 있다. 가령 서버(100)는 음성 콘텐츠의 전사를 위해 음성 콘텐츠를 소정의 단위 구간으로 분할할 수 있다. 또한 서버(100)는 분할된 단위 구간을 전사하여 음성 콘텐츠에 대응되는 텍스트를 생성할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 서버(100)에 구비되는 음성 처리 장치(110)의 구성을 개략적으로 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 음성 처리 장치(110)는 통신부(111), 제어부(112) 및 메모리(113)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 실시예에 따른 음성 처리 장치(110)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다.
통신부(111)는 음성 처리 장치(110)가 사용자 단말(200) 및/또는 외부장치(300)와 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
제어부(112)는 프로세서(Processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(Processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(113)는 음성 처리 장치(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(113)는 인공 신경망들을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다.
물론 메모리(113)는 인공 신경망들을 학습하기 위한 학습 데이터도 저장할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 3은 및 도 4는 본 발명의 음성 처리 장치(110)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 제1 인공 신경망 및 제2 인공 신경망을 '인공 신경망'으로 통칭하여 설명한다.
본 발명의 일 실시예에 따른 인공 신경망은 도 3에 도시된 바와 같은 합성 곱 신경망(CNN: Convolutional Neural Network) 모델에 따른 인공 신경망일 수 있다. 이때 CNN 모델은 복수의 연산 레이어(Convolutional Layer, Pooling Layer)를 번갈아 수행하여 최종적으로는 입력 데이터의 특징을 추출하는 데 사용되는 계층 모델일 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 학습 데이터를 지도학습(Supervised Learning) 기법에 따라 처리하여 인공 신경망 모델을 구축하거나 학습시킬 수 있다. 제어부(112)가 인공 신경망을 학습시키는 방법에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 제어부(112)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 각 레이어 및/또는 각 노드의 가중치를 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 제어부(112)는 역전파(Back Propagation) 알고리즘에 따라 각 레이어 및/또는 각 노드의 가중치(또는 계수)를 갱신할 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 입력 데이터의 특징 값을 추출하기 위한 컨볼루션 레이어(Convolution layer), 추출된 특징 값을 결합하여 특징 맵을 구성하는 풀링 레이어(pooling layer)를 생성할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(112)는 생성된 특징 맵을 결합하여, 입력 데이터가 복수의 항목 각각에 해당할 확률을 결정할 준비를 하는 풀리 커넥티드 레이어(Fully Conected Layer)를 생성할 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 입력 데이터에 대응되는 출력을 포함하는 아웃풋 레이어(Output Layer)를 산출할 수 있다.
도 3에 도시된 예시에서는, 입력 데이터가 5X7 형태의 블록으로 나누어지며, 컨볼루션 레이어의 생성에 5X3 형태의 단위 블록이 사용되고, 풀링 레이어의 생성에 1X4 또는 1X2 형태의 단위 블록이 사용되는 것으로 도시되었지만, 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 입력 데이터의 종류 및/또는 각 블록의 크기는 다양하게 구성될 수 있다.
한편 이와 같은 인공 신경망은 전술한 메모리(113)에 인공 신경망을 구성하는 적어도 하나의 노드의 계수, 노드의 가중치 및 인공 신경망을 구성하는 복수의 레이어 간의 관계를 정의하는 함수의 계수들의 형태로 저장될 수 있다. 물론 인공 신경망의 구조 또한 메모리(113)에 소스코드 및/또는 프로그램의 형태로 저장될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 도 4에 도시된 바와 같은 순환 신경망(Recurrent Neural Network, RNN) 모델에 따른 인공 신경망일 수 있다.
도 4를 참조하면, 이와 같은 순환 신경망(RNN) 모델에 따른 인공 신경망은 적어도 하나의 입력 노드(N1)를 포함하는 입력 레이어(L1), 복수의 히든 노드(N2)를 포함하는 히든 레이어(L2) 및 적어도 하나의 출력 노드(N3)를 포함하는 출력 레이어(L3)를 포함할 수 있다. 이때 입력 레이어(L1)의 적어도 하나의 입력 노드(N1)에는 단위 구간으로 분할하고자 하는 음성 콘텐츠가 입력될 수 있다.
히든 레이어(L2)는 도시된 바와 같이 전체적으로 연결된(Fully Connected) 하나 이상의 레이어를 포함할 수 있다. 히든 레이어(L2)가 복수의 레이어를 포함하는 경우, 인공 신경망은 각각의 히든 레이어 사이의 관계를 정의하는 함수(미도시)를 포함할 수 있다.
출력 레이어(L3)의 적어도 하나의 출력 노드(N3)는 제어부(112)의 제어에 따라 인공 신경망이 입력 레이어(L1)의 입력 값으로부터 생성한 출력 값을 포함할 수 있다. 가령 출력 레이어(L3)에는 입력된 음성 콘텐츠의 각 시점 별 음성 포함 여부를 나타내는 데이터가 포함될 수 있다.
한편 각 레이어의 각 노드에 포함되는 값은 벡터일 수 있다. 또한 각 노드는 해당 노드의 중요도에 대응되는 가중치를 포함할 수도 있다.
한편 인공 신경망은 입력 레이어(L1)와 히든 레이어(L2)의 관계를 정의하는 제1 함수(F1) 및 히든 레이어(L2)와 출력 레이어(L3)의 관계를 정의하는 제2 함수(F2)를 포함할 수 있다.
제1 함수(F1)는 입력 레이어(L1)에 포함되는 입력 노드(N1)와 히든 레이어(L2)에 포함되는 히든 노드(N2)간의 연결관계를 정의할 수 있다. 이와 유사하게, 제2 함수(F2)는 히든 레이어(L2)에 포함되는 히든 노드(N2)와 출력 레이어(L2)에 포함되는 출력 노드(N2)간의 연결관계를 정의할 수 있다.
이와 같은 제1 함수(F1), 제2 함수(F2) 및 히든 레이어 사이의 함수들은 이전 노드의 입력에 기초하여 결과물을 출력하는 순환 신경망 모델을 포함할 수 있다.
제어부(112)에 의해 인공 신경망이 학습되는 과정에서, 복수의 학습 데이터에 기초하여 제1 함수(F1) 및 제2 함수(F2)가 학습될 수 있다. 물론 인공 신경망이 학습되는 과정에서 전술한 제1 함수(F1) 및 제2 함수(F2) 외에 복수의 히든 레이어 사이의 함수들 또한 학습될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 표지(Labeled)된 학습 데이터를 기반으로 지도학습(Supervised Learning) 방식으로 학습될 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 제어부(112)는 역전파(Back Propagation) 알고리즘에 따라 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
한편 도 3 및 도 4에서 설명한 인공 신경망의 종류 및/또는 구조는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 다양한 종류의 모델의 인공 신경망이 명세서를 통하여 설명하는 '인공 신경망'에 해당할 수 있다.
이하에서는 음성 처리 장치(110)의 제어부(112)가 제1 인공 신경망을 학습하는 과정에 대해서 먼저 설명하고, 학습된 제1 인공 신경망을 이용하여 음성 콘텐츠를 전처리 하는 방법에 대해 나중에 설명한다.
본 발명의 일 실시예에 따른 제어부(112)는 복수의 학습 데이터에 기반하여, 입력된 음성 콘텐츠를 단위 구간으로 분할하는 제1 인공 신경망을 학습시킬 수 있다. 이를 위해 본 발명의 일 실시예에 따른 제어부(112)는 먼저 복수의 학습 데이터를 생성할 수 있다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 제어부(112)가 학습 데이터를 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(112)는 음성을 포함하는 제1 콘텐츠와 비-음성을 포함하는 제2 콘텐츠의 무작위 조합에 기초하여 제1 인공 신경망의 학습을 위한 학습 데이터를 생성할 수 있다.
이를 위해 본 발명의 일 실시예에 따른 제어부(112)는 음성을 포함하는 복수의 콘텐츠(500) 중에 무작위로 제1 콘텐츠를 선택할 수 있다. 이때 복수의 콘텐츠(500)는 동일 화자에 대한 음성을 문장 단위로 생성한 콘텐츠일 수 있다. 가령 제어부(112)는 복수의 콘텐츠(500)에 포함되는 개별 콘텐츠들(510, 520, 530)중 첫 번째 콘텐츠(510)를 제1 콘텐츠로 선택할 수 있다.
이와 유사하게 본 발명의 일 실시예에 따른 제어부(112)는 비-음성을 포함하는 복수의 콘텐츠(600) 중에 무작위로 제2 콘텐츠를 선택할 수 있다. 이때 복수의 콘텐츠(600)는 다양한 환경에서의 소음 또는 노이즈를 포함하도록 생성한 콘텐츠 일 수 있다. 선택적 실시예에서 복수의 콘텐츠(600)는 전사 대상이 아닌 음성(즉 전사 대상 음성을 발화하는 화자와 상이한 화자의 음성)을 포함하도록 생성한 콘텐츠 일 수도 있다. 가령 제어부(112)는 복수의 콘텐츠(600)에 포함되는 개별 콘텐츠들(610, 620, 630)중 두 번째 콘텐츠(620)를 제2 콘텐츠로 선택할 수 있다. 이때 제1 콘텐츠는 제1 길이(T1) 이고, 제2 콘텐츠는 제2 길이(T2)일 수 있고, 제2 길이(T2)는 제1 길이(T1)보다 클 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 선택된 제2 콘텐츠의 일부 구간에, 선택된 제1 콘텐츠가 부가된 제3 콘텐츠를 생성할 수 있다. 가령 도 6에 도시된 바와 같이 제1 콘텐츠로써 첫 번째 콘텐츠(510)가 선택되고, 제2 콘텐츠로써 두 번째 콘텐츠(620)가 선택된 경우, 제어부(112)는 두 번째 콘텐츠(620)의 일부 구간에 첫 번째 콘텐츠(510)를 부가하여 제3 콘텐츠(710)를 생성할 수 있다.
본 발명에서 '제2 콘텐츠의 일부 구간에 제1 콘텐츠를 부가하는 것'은, 해당 구간에서 제2 콘텐츠에 따른 오디오 신호와 제1 콘텐츠에 따른 오디오 신호를 병합하는 것을 의미할 수 있다. 따라서 제3 콘텐츠(710)에서 첫 번째 콘텐츠(510)와 두 번째 콘텐츠(620)가 병합된 구간(S_2)에는 음성과 비_음성이 모두 포함되어 있고, 나머지 구간(S_1, S_3)에는 비_음성만 포함되어 있을 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 제3 콘텐츠(710)에 대한 인덱스(810)를 생성할 수 있다. 가령 본 발명의 일 실시예에 따른 제어부(112)는 제2 콘텐츠에 대해서 제1 콘텐츠가 부가된 구간과 나머지 구간을 나타내는 인덱스를 생성할 수 있다. 예를 들어 제어부(112)는 제1 콘텐츠가 부가된 구간을 '1', 나머지 구간을 '0'으로 표현한 인덱스(810)를 생성할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 7은 본 발명의 일 실시예에 따른 제어부(112)가 복수의 학습 데이터(910)를 이용하여 제1 인공 신경망(920)을 학습하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(920)은 복수의 학습 데이터(910) 각각에 포함되는 제3 콘텐츠와 해당 콘텐츠의 인덱스 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다. 이때 인덱스는 해당 콘텐츠 내에서 어느 구간(또는 부분)에 음성이 존재하는지를 표지한 데이터를 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(920)은 도 8에 도시된 바와 같이 음성 콘텐츠(930)의 입력에 대응하여, 해당 콘텐츠(930) 내에서 타게팅 하는 음성(이때 타케팅 음성은 소정의 단위 길이의 음성으로, 동일 화자에 의한 음성일 수 있음)이 존재하는 구간(또는 부분)을 나타내는 인덱스(940)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
복수의 학습 데이터(910) 각각은 제3 콘텐츠와 해당 콘텐츠에 대한 인덱스를 포함할 수 있다. 가령 첫 번째 학습 데이터(911)의 경우 도 6에서 설명한 과정에 따라 생성된 제3 콘텐츠(911A)와 해당 콘텐츠에 대한 인덱스(911B)를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(912)도 도 6에서 설명한 과정에 따라 생성된 제3 콘텐츠(이때 제3 콘텐츠는 첫 번째 학습 데이터(911)에 포함된 제3 콘텐츠(911A)와 동일한 방식으로 생성되나, 콘텐츠 자체는 상이한)와 해당 콘텐츠에 대한 인덱스를 포함할 수 있다. 물론 세 번째 학습 데이터(913)도 첫 번째 학습 데이터(911) 및 두 번째 학습 데이터(912)와 마찬가지의 항목들을 포함할 수 있다.
한편 전술한 바와 같이 제3 콘텐츠 생성에 사용되는 복수의 콘텐츠(500)는 동일 화자에 대한 음성을 문장 단위로 생성한 콘텐츠 일 수 있다. 따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(920)이 상술한 복수의 학습 데이터(910)에 의해 학습될 경우, 동일 화자의 음성도 문장 단위로 구분한 인덱스를 생성할 수 있다. 또한 제1 인공 신경망(920)은 서로 다른 화자의 음성도 문장 단위로 구분하는 인덱스를 생성할 수 있다.
이하에서는 도 5 내지 도 7에서 설명한 과정에 따라 제1 인공 신경망(920)이 학습되었음을 전제로 설명한다.
본 발명의 일 실시예에 따른 제어부(112)는 사용자 단말(200)로부터 음성 콘텐츠를 수신하거나, 외부장치(300)로부터 음성 콘텐츠를 수신할 수 있다. 이때 수신된 음성 콘텐츠는 전사 또는 전사를 위한 전처리를 위한 것 일 수 있다. 물론 본 발명의 일 실시예에 따른 제어부(112)는 메모리(113)로부터 음성 콘텐츠를 독출할 수도 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 수신하거나 독출한 음성 콘텐츠를 하나 이상의 음성 구간과 하나 이상의 비-음성 구간으로 구분할 수 있다.
도 9는 제어부(112)가 음성 콘텐츠(1010)를 하나 이상의 음성 구간(V_1, V_2)과 하나 이상의 비-음성 구간(NV_1, NV_2)으로 구분하는 과정을 설명하기 위한 도면이다. 가령 본 발명의 일 실시예에 따른 제어부(112)는 구간의 음량이 소정의 임계 크기를 초과하는지 여부에 기초하여 하나 이상의 음성 구간(V_1, V_2)과 하나 이상의 비-음성 구간(NV_1, NV_2)을 구분할 수 있다.
바꾸어말하면 제어부(112)는 음량이 소정의 임계값을 초과하는 구간들을 그룹화 하여 음성 구간(V_1, V_2)으로 구분하고, 나머지 구간들을 비-음성 구간(NV_1, NV_2)으로 구분할 수 있다.
한편 이와 같은 방식에 따를 경우, 서로 다른 화자가 연속하여 발화하는 경우 제어부(112) 개별 화자의 음성을 구분함이 없이 하나의 음성 구간으로 구분 할 수 있다. 가령 제어부(112)는 화자 A의 "아냐"와 화자 B의 "아 뭔데 말해봐 그냥"이 연속하여, 하나의 음성 구간(V_2)으로 구분할 수 있다.
그러나 이와 같이 서로 다른 화자의 음성이 하나의 음성 구간(V_2)으로 구분되는 경우, 전사 결과가 다소 어색할 수 있다.
종래기술들은 이와 같이 임계값을 기준으로 전사가 필요한 부분들을 검출하였기에, 도 9의 음성 구간(V_2)과 같이 화자가 변경되는 구간에 있어서 화자 별로 음성을 구분하지 못하는 문제점이 있었다.
본 발명은 학습된 인공 신경망을 이용하여 도 9에서 설명한 과정에 따라 생성된 구간을 다시 한번 단위 구간으로 구분함으로써 전사의 정확도와 효율성을 향상시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 제어부(112)가 음성 구간(V_2)으로부터 적어도 하나의 단위 구간(851, 852)을 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(112)는 제1 인공 신경망(920)을 이용하여 하나 이상의 음성 구간 각각으로부터 적어도 하나의 단위 구간을 생성할 수 있다.
가령 제어부(112)는 도 9에서 생성된 음성 구간(V_2)을 제1 인공 신경망(920)에 입력하고, 그 결과로 개별 화자 별 인덱스(941, 942)를 획득할 수 있다. 이때 제어부(112)는 인덱스를 참조하여 음성 구간(V_2)으로부터 단일 화자의 음성만을 포함하는 단위 구간(951, 952)을 생성할 수 있다.
이와 같이 본 발명은 하나의 콘텐츠 내에 단일 화자의 문장 단위의 음성만을 포함하는 단일 콘텐츠를 생성하여 전사의 정확도와 효율성을 향상시킬 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 생성된 적어도 하나의 단위 구간 각각에 대한 메타데이터를 생성할 수 있다. 이때 메타데이터에는 전체 음성 콘텐츠 내에서 적어도 하나의 단위 구간 각각의 상대적 위치에 대한 데이터가 포함될 수 있다. 가령 메터데이터는 해당 구간이 전체 음성 콘텐츠의 12.38초 내지 13.01초에 해당하는 데이터를 포함할 수 있다.
본 발명의 선택적 실시예에서, 메티데이터에는 해당 음성 구간의 화자에 대한 데이터가 포함될 수도 있다. 이를 위해 본 발명의 선택적 실시예에 따른 제어부(112)는 학습된 제2 인공 신경망을 이용하여 해당 단위 구간의 화자를 결정할 수 있다.
이때 제2 인공 신경망은 해당 단위 구간 이전의 단위 구간에 대응되는 음성 콘텐츠, 이전의 단위 구간의 화자, 이전 단위 구간의 음성 콘텐츠에서의 상대적 위치, 해당 단위 구간 다음의 단위 구간에 대응되는 음성 콘텐츠, 다음 단위 구간의 화자 및 다음 단위 구간의 음성 콘텐츠에서의 상대적 위치 중 적어도 하나에 기초하여 해당 단위 구간의 화자를 결정하도록 학습된 신경망 일 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 생성된 적어도 하나의 단위 구간 및 적어도 하나의 단위 구간 각각에 대한 메타데이터를 참조하여 적어도 하나의 단위 구간 각각에 대응되는 텍스트를 생성할 수 있다.
또한 제어부(112)는 메타데이터에 포함되는 상대적 위치 정보(해당 단위 구간이 음성 콘텐츠 내에서 어느 위치인지에 대한 정보)를 참조하여 음성 콘텐츠에 대응되는 텍스트 콘텐츠를 생성할 수도 있다.
도 11은 본 발명의 일 실시예에 따른 제어부(112)에 의해 수행되는 전사를 위한 음성 콘텐츠의 전처리 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 10에서 설명한 내용과 중복되는 내용의 설명은 생략하되, 도 1 내지 도 10을 함께 참조하여 설명한다.
본 발명의 일 실시예에 따른 제어부(112)는 복수의 학습 데이터에 기반하여, 입력된 음성 콘텐츠를 단위 구간으로 분할하는 제1 인공 신경망을 학습시킬 수 있다.(S1110)
이를 위해 본 발명의 일 실시예에 따른 제어부(112)는 먼저 복수의 학습 데이터를 생성할 수 있다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 제어부(112)가 학습 데이터를 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(112)는 음성을 포함하는 제1 콘텐츠와 비-음성을 포함하는 제2 콘텐츠의 무작위 조합에 기초하여 제1 인공 신경망의 학습을 위한 학습 데이터를 생성할 수 있다.
이를 위해 본 발명의 일 실시예에 따른 제어부(112)는 음성을 포함하는 복수의 콘텐츠(500) 중에 무작위로 제1 콘텐츠를 선택할 수 있다. 이때 복수의 콘텐츠(500)는 동일 화자에 대한 음성을 문장 단위로 생성한 콘텐츠일 수 있다. 가령 제어부(112)는 복수의 콘텐츠(500)에 포함되는 개별 콘텐츠들(510, 520, 530)중 첫 번째 콘텐츠(510)를 제1 콘텐츠로 선택할 수 있다.
이와 유사하게 본 발명의 일 실시예에 따른 제어부(112)는 비-음성을 포함하는 복수의 콘텐츠(600) 중에 무작위로 제2 콘텐츠를 선택할 수 있다. 이때 복수의 콘텐츠(600)는 다양한 환경에서의 소음 또는 노이즈를 포함하도록 생성한 콘텐츠 일 수 있다. 선택적 실시예에서 복수의 콘텐츠(600)는 전사 대상이 아닌 음성(즉 전사 대상 음성을 발화하는 화자와 상이한 화자의 음성)을 포함하도록 생성한 콘텐츠 일 수도 있다. 가령 제어부(112)는 복수의 콘텐츠(600)에 포함되는 개별 콘텐츠들(610, 620, 630)중 두 번째 콘텐츠(620)를 제2 콘텐츠로 선택할 수 있다. 이때 제1 콘텐츠는 제1 길이(T1) 이고, 제2 콘텐츠는 제2 길이(T2)일 수 있고, 제2 길이(T2)는 제1 길이(T1)보다 클 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 선택된 제2 콘텐츠의 일부 구간에, 선택된 제1 콘텐츠가 부가된 제3 콘텐츠를 생성할 수 있다. 가령 도 6에 도시된 바와 같이 제1 콘텐츠로써 첫 번째 콘텐츠(510)가 선택되고, 제2 콘텐츠로써 두 번째 콘텐츠(620)가 선택된 경우, 제어부(112)는 두 번째 콘텐츠(620)의 일부 구간에 첫 번째 콘텐츠(510)를 부가하여 제3 콘텐츠(710)를 생성할 수 있다.
본 발명에서 '제2 콘텐츠의 일부 구간에 제1 콘텐츠를 부가하는 것'은, 해당 구간에서 제2 콘텐츠에 따른 오디오 신호와 제1 콘텐츠에 따른 오디오 신호를 병합하는 것을 의미할 수 있다. 따라서 제3 콘텐츠(710)에서 첫 번째 콘텐츠(510)와 두 번째 콘텐츠(620)가 병합된 구간(S_2)에는 음성과 비_음성이 모두 포함되어 있고, 나머지 구간(S_1, S_3)에는 비_음성만 포함되어 있을 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 제3 콘텐츠(710)에 대한 인덱스(810)를 생성할 수 있다. 가령 본 발명의 일 실시예에 따른 제어부(112)는 제2 콘텐츠에 대해서 제1 콘텐츠가 부가된 구간과 나머지 구간을 나타내는 인덱스를 생성할 수 있다. 예를 들어 제어부(112)는 제1 콘텐츠가 부가된 구간을 '1', 나머지 구간을 '0'으로 표현한 인덱스(810)를 생성할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 7은 본 발명의 일 실시예에 따른 제어부(112)가 복수의 학습 데이터(910)를 이용하여 제1 인공 신경망(920)을 학습하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(920)은 복수의 학습 데이터(910) 각각에 포함되는 제3 콘텐츠와 해당 콘텐츠의 인덱스 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다. 이때 인덱스는 해당 콘텐츠 내에서 어느 구간(또는 부분)에 음성이 존재하는지를 표지한 데이터를 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(920)은 도 8에 도시된 바와 같이 음성 콘텐츠(930)의 입력에 대응하여, 해당 콘텐츠(930) 내에서 타게팅 하는 음성(이때 타케팅 음성은 소정의 단위 길이의 음성으로, 동일 화자에 의한 음성일 수 있음)이 존재하는 구간(또는 부분)을 나타내는 인덱스(940)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
복수의 학습 데이터(910) 각각은 제3 콘텐츠와 해당 콘텐츠에 대한 인덱스를 포함할 수 있다. 가령 첫 번째 학습 데이터(911)의 경우 도 6에서 설명한 과정에 따라 생성된 제3 콘텐츠(911A)와 해당 콘텐츠에 대한 인덱스(911B)를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(912)도 도 6에서 설명한 과정에 따라 생성된 제3 콘텐츠(이때 제3 콘텐츠는 첫 번째 학습 데이터(911)에 포함된 제3 콘텐츠(911A)와 동일한 방식으로 생성되나, 콘텐츠 자체는 상이한)와 해당 콘텐츠에 대한 인덱스를 포함할 수 있다. 물론 세 번째 학습 데이터(913)도 첫 번째 학습 데이터(911) 및 두 번째 학습 데이터(912)와 마찬가지의 항목들을 포함할 수 있다.
한편 전술한 바와 같이 제3 콘텐츠 생성에 사용되는 복수의 콘텐츠(500)는 동일 화자에 대한 음성을 문장 단위로 생성한 콘텐츠 일 수 있다. 따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(920)이 상술한 복수의 학습 데이터(910)에 의해 학습될 경우, 동일 화자의 음성도 문장 단위로 구분한 인덱스를 생성할 수 있다. 또한 제1 인공 신경망(920)은 서로 다른 화자의 음성도 문장 단위로 구분하는 인덱스를 생성할 수 있다.
이하에서는 도 5 내지 도 7에서 설명한 과정에 따라 제1 인공 신경망(920)이 학습되었음을 전제로 설명한다.
본 발명의 일 실시예에 따른 제어부(112)는 사용자 단말(200)로부터 음성 콘텐츠를 수신하거나, 외부장치(300)로부터 음성 콘텐츠를 수신할 수 있다. 이때 수신된 음성 콘텐츠는 전사 또는 전사를 위한 전처리를 위한 것 일 수 있다. 물론 본 발명의 일 실시예에 따른 제어부(112)는 메모리(113)로부터 음성 콘텐츠를 독출할 수도 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 수신하거나 독출한 음성 콘텐츠를 하나 이상의 음성 구간과 하나 이상의 비-음성 구간으로 구분할 수 있다. (S1120)
도 9는 제어부(112)가 음성 콘텐츠(1010)를 하나 이상의 음성 구간(V_1, V_2)과 하나 이상의 비-음성 구간(NV_1, NV_2)으로 구분하는 과정을 설명하기 위한 도면이다. 가령 본 발명의 일 실시예에 따른 제어부(112)는 구간의 음량이 소정의 임계 크기를 초과하는지 여부에 기초하여 하나 이상의 음성 구간(V_1, V_2)과 하나 이상의 비-음성 구간(NV_1, NV_2)을 구분할 수 있다.
바꾸어말하면 제어부(112)는 음량이 소정의 임계값을 초과하는 구간들을 그룹화 하여 음성 구간(V_1, V_2)으로 구분하고, 나머지 구간들을 비-음성 구간(NV_1, NV_2)으로 구분할 수 있다.
한편 이와 같은 방식에 따를 경우, 서로 다른 화자가 연속하여 발화하는 경우 제어부(112) 개별 화자의 음성을 구분함이 없이 하나의 음성 구간으로 구분 할 수 있다. 가령 제어부(112)는 화자 A의 "아냐"와 화자 B의 "아 뭔데 말해봐 그냥"이 연속하여, 하나의 음성 구간(V_2)으로 구분할 수 있다.
그러나 이와 같이 서로 다른 화자의 음성이 하나의 음성 구간(V_2)으로 구분되는 경우, 전사 결과가 다소 어색할 수 있다.
종래기술들은 이와 같이 임계값을 기준으로 전사가 필요한 부분들을 검출하였기에, 도 9의 음성 구간(V_2)과 같이 화자가 변경되는 구간에 있어서 화자 별로 음성을 구분하지 못하는 문제점이 있었다.
본 발명은 학습된 인공 신경망을 이용하여 도 9에서 설명한 과정에 따라 생성된 구간을 다시 한번 단위 구간으로 구분함으로써 전사의 정확도와 효율성을 향상시킬 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 제1 인공 신경망(920)을 이용하여 하나 이상의 음성 구간 각각으로부터 적어도 하나의 단위 구간을 생성할 수 있다. (S1130)
도 10은 본 발명의 일 실시예에 따른 제어부(112)가 음성 구간(V_2)으로부터 적어도 하나의 단위 구간(851, 852)을 생성하는 과정을 설명하기 위한 도면이다.
가령 제어부(112)는 도 9에서 생성된 음성 구간(V_2)을 제1 인공 신경망(920)에 입력하고, 그 결과로 개별 화자 별 인덱스(941, 942)를 획득할 수 있다. 이때 제어부(112)는 인덱스를 참조하여 음성 구간(V_2)으로부터 단일 화자의 음성만을 포함하는 단위 구간(951, 952)을 생성할 수 있다.
이와 같이 본 발명은 하나의 콘텐츠 내에 단일 화자의 문장 단위의 음성만을 포함하는 단일 콘텐츠를 생성하여 전사의 정확도와 효율성을 향상시킬 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 생성된 적어도 하나의 단위 구간 각각에 대한 메타데이터를 생성할 수 있다.(S1140) 이때 메타데이터에는 전체 음성 콘텐츠 내에서 적어도 하나의 단위 구간 각각의 상대적 위치에 대한 데이터가 포함될 수 있다. 가령 메터데이터는 해당 구간이 전체 음성 콘텐츠의 12.38초 내지 13.01초에 해당하는 데이터를 포함할 수 있다.
본 발명의 선택적 실시예에서, 메티데이터에는 해당 음성 구간의 화자에 대한 데이터가 포함될 수도 있다. 이를 위해 본 발명의 선택적 실시예에 따른 제어부(112)는 학습된 제2 인공 신경망을 이용하여 해당 단위 구간의 화자를 결정할 수 있다.
이때 제2 인공 신경망은 해당 단위 구간 이전의 단위 구간에 대응되는 음성 콘텐츠, 이전의 단위 구간의 화자, 이전 단위 구간의 음성 콘텐츠에서의 상대적 위치, 해당 단위 구간 다음의 단위 구간에 대응되는 음성 콘텐츠, 다음 단위 구간의 화자 및 다음 단위 구간의 음성 콘텐츠에서의 상대적 위치 중 적어도 하나에 기초하여 해당 단위 구간의 화자를 결정하도록 학습된 신경망 일 수 있다.
본 발명의 일 실시예에 따른 제어부(112)는 상술한 과정에 따라 생성된 적어도 하나의 단위 구간 및 적어도 하나의 단위 구간 각각에 대한 메타데이터를 참조하여 적어도 하나의 단위 구간 각각에 대응되는 텍스트를 생성할 수 있다.
또한 제어부(112)는 메타데이터에 포함되는 상대적 위치 정보(해당 단위 구간이 음성 콘텐츠 내에서 어느 위치인지에 대한 정보)를 참조하여 음성 콘텐츠에 대응되는 텍스트 콘텐츠를 생성할 수도 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 서버
110: 음성 처리 장치
111: 통신부
112: 제어부
113: 메모리
200: 사용자 단말
300: 외부장치
400: 통신망

Claims (9)

  1. 음성 콘텐츠의 전사(Transcribe)를 위해 상기 음성 콘텐츠를 전처리 하는 방법에 있어서,
    입력된 음성 콘텐츠를 단위 구간으로 분할하는 제1 인공 신경망을 학습하는 단계;
    상기 음성 콘텐츠를 하나 이상의 음성 구간과 하나 이상의 비-음성 구간으로 구분하는 단계;
    상기 제1 인공 신경망을 이용하여 상기 하나 이상의 음성 구간 각각으로부터 적어도 하나의 단위 구간을 생성하는 단계;를 포함하고,
    상기 제1 인공 신경망을 학습하는 단계는
    음성을 포함하는 제1 콘텐츠와 비-음성을 포함하는 제2 콘텐츠의 무작위 조합에 기초하여 상기 제1 인공 신경망의 학습을 위한 학습 데이터를 생성하는 단계; 및
    상기 학습 데이터에 기초하여 상기 제1 인공 신경망을 학습시키는 단계;를 포함하고,
    상기 학습 데이터를 생성하는 단계는
    음성을 포함하는 복수의 콘텐츠 중 무작위로 상기 제1 콘텐츠를 선택하는 단계로써, 상기 제1 콘텐츠는 제1 길이이고;
    비-음성을 포함하는 복수의 콘텐츠 중 무작위로 상기 제2 콘텐츠를 선택하는 단계로써, 상기 제2 콘텐츠는 상기 제1 길이보다 긴 제2 길이이고;
    상기 제2 콘텐츠의 일부 구간에 상기 제1 콘텐츠가 부가된 제3 콘텐츠를 생성하는 단계; 및
    상기 제2 콘텐츠에 대해서 상기 제1 콘텐츠가 부가된 구간과 나머지 구간을 나타내는 인덱스를 생성하는 단계;를 포함하는, 전사를 위한 음성 콘텐츠의 전처리 방법.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서
    상기 학습 데이터에 기초하여 상기 제1 인공 신경망을 학습시키는 단계는
    상기 제3 콘텐츠의 입력에 대응하여 상기 인덱스가 출력되도록 상기 제1 인공 신경망을 학습시키는, 전사를 위한 음성 콘텐츠의 전처리 방법.
  5. 청구항 1에 있어서
    상기 음성을 포함하는 복수의 콘텐츠는
    동일 화자에 대한 음성을 문장 단위로 생성한 콘텐츠인, 전사를 위한 음성 콘텐츠의 전처리 방법.
  6. 청구항 1에 있어서
    상기 구분하는 단계는
    구간의 음량이 소정의 임계 크기를 초과하는지 여부에 기초하여 상기 하나 이상의 음성 구간과 하나 이상의 비-음성 구간을 구분하는, 전사를 위한 음성 콘텐츠의 전처리 방법.
  7. 청구항 1에 있어서
    상기 전사를 위한 음성 콘텐츠의 전처리 방법은
    상기 적어도 하나의 단위 구간을 생성하는 단계 이후에,
    상기 적어도 하나의 단위 구간 각각에 대한 메타데이터를 생성하는 단계;를 더 포함하는, 전사를 위한 음성 콘텐츠의 전처리 방법.
  8. 청구항 7에 있어서
    상기 메타데이터를 생성하는 단계는
    상기 음성 콘텐츠 내에서 상기 적어도 하나의 단위 구간 각각의 상대적 위치를 상기 메타데이터에 추가하는 단계;를 포함하는, 전사를 위한 음성 콘텐츠의 전처리 방법.
  9. 청구항 7에 있어서
    상기 적어도 하나의 단위 구간은 제1 단위 구간, 제2 단위 구간 및 제3 단위 구간을 포함하고,
    상기 메타데이터를 생성하는 단계는
    학습된 제2 인공 신경망을 이용하여 상기 제2 단위 구간의 화자를 결정하여 상기 메타데이터에 추가하는 단계;를 더 포함하고,
    상기 제2 인공 신경망은
    상기 제1 단위 구간에 대응되는 음성 콘텐츠, 상기 제1 단위 구간의 화자, 상기 제1 단위 구간의 상기 음성 콘텐츠에서의 상대적 위치, 상기 제3 단위 구간에 대응되는 음성 콘텐츠, 상기 제3 단위 구간의 화자, 상기 제3 단위 구간의 상기 음성 콘텐츠에서의 상대적 위치 중 적어도 하나에 기초하여 상기 제2 단위 구간의 화자를 결정하는, 전사를 위한 음성 콘텐츠의 전처리 방법.
KR1020200165066A 2020-11-30 2020-11-30 전사를 위한 음성 콘텐츠의 전처리 방법 KR102480479B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200165066A KR102480479B1 (ko) 2020-11-30 2020-11-30 전사를 위한 음성 콘텐츠의 전처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200165066A KR102480479B1 (ko) 2020-11-30 2020-11-30 전사를 위한 음성 콘텐츠의 전처리 방법

Publications (2)

Publication Number Publication Date
KR20220076175A KR20220076175A (ko) 2022-06-08
KR102480479B1 true KR102480479B1 (ko) 2022-12-23

Family

ID=81981479

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200165066A KR102480479B1 (ko) 2020-11-30 2020-11-30 전사를 위한 음성 콘텐츠의 전처리 방법

Country Status (1)

Country Link
KR (1) KR102480479B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007218933A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd 会話音声分析方法、及び、会話音声分析装置
JP2009109712A (ja) 2007-10-30 2009-05-21 National Institute Of Information & Communication Technology オンライン話者逐次区別システム及びそのコンピュータプログラム
JP2019514045A (ja) 2016-03-21 2019-05-30 アマゾン テクノロジーズ インコーポレイテッド 話者照合方法及びシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9257115B2 (en) * 2012-03-08 2016-02-09 Facebook, Inc. Device for extracting information from a dialog
KR20160047822A (ko) * 2014-10-23 2016-05-03 주식회사 디오텍 화자 유형 정의 방법 및 장치
KR101893789B1 (ko) * 2016-10-27 2018-10-04 에스케이텔레콤 주식회사 정규화를 이용한 음성 구간 판단 방법 및 이를 위한 음성 구간 판단 장치
KR102208954B1 (ko) * 2019-01-11 2021-01-28 (주)액션파워 대화록 서비스를 제공하는 컴퓨팅 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007218933A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd 会話音声分析方法、及び、会話音声分析装置
JP2009109712A (ja) 2007-10-30 2009-05-21 National Institute Of Information & Communication Technology オンライン話者逐次区別システム及びそのコンピュータプログラム
JP2019514045A (ja) 2016-03-21 2019-05-30 アマゾン テクノロジーズ インコーポレイテッド 話者照合方法及びシステム

Also Published As

Publication number Publication date
KR20220076175A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
EP3469582B1 (en) Neural network-based voiceprint information extraction method and apparatus
KR102167719B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
CN111402895B (zh) 语音处理、语音评测方法、装置、计算机设备和存储介质
JP6857581B2 (ja) 成長型対話装置
JP5377430B2 (ja) 質問応答データベース拡張装置および質問応答データベース拡張方法
JP6464650B2 (ja) 音声処理装置、音声処理方法、およびプログラム
JPWO2008004666A1 (ja) 音声認識装置、音声認識方法、および音声認識用プログラム
KR102190988B1 (ko) 개별 화자 별 음성 제공 방법 및 컴퓨터 프로그램
WO2014183373A1 (en) Systems and methods for voice identification
EP4030421A1 (en) Method for converting voice feature of voice
CN112863489B (zh) 语音识别方法、装置、设备及介质
KR102190986B1 (ko) 개별 화자 별 음성 생성 방법
KR20210047709A (ko) 음성 인식 방법 및 음성 인식 장치
KR102480479B1 (ko) 전사를 위한 음성 콘텐츠의 전처리 방법
KR102096598B1 (ko) 애니메이션 생성 방법
KR102190989B1 (ko) 동시 발화 구간에서의 음성 생성 방법
CN111522937A (zh) 话术推荐方法、装置和电子设备
KR20220067864A (ko) 음성의 보이스 특징 변환 방법
KR102190987B1 (ko) 동시 발화 구간에서 개별 화자의 음성을 생성하는 인공 신경망의 학습 방법
KR102590540B1 (ko) 인공 신경망 학습 방법과 이를 이용한 발음 평가 방법
KR20200120595A (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
KR20210131125A (ko) 발화 속도 조절이 가능한 텍스트 음성 변환 학습 장치 및 발화 속도 조절이 가능한 텍스트 음성 변환 장치
KR20230101211A (ko) 음성으로부터 생성된 텍스트 데이터 처리 방법
CN105989832A (zh) 一种用于在计算机设备中生成个性化语音的方法和装置
CN117153197B (zh) 语音情感识别方法、设备以及计算机可读存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant