KR20210133667A - 코퍼스 구축 서비스 제공 서버 및 방법 - Google Patents

코퍼스 구축 서비스 제공 서버 및 방법 Download PDF

Info

Publication number
KR20210133667A
KR20210133667A KR1020200052570A KR20200052570A KR20210133667A KR 20210133667 A KR20210133667 A KR 20210133667A KR 1020200052570 A KR1020200052570 A KR 1020200052570A KR 20200052570 A KR20200052570 A KR 20200052570A KR 20210133667 A KR20210133667 A KR 20210133667A
Authority
KR
South Korea
Prior art keywords
corpus
script
data
speech recognition
building services
Prior art date
Application number
KR1020200052570A
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 KR1020200052570A priority Critical patent/KR20210133667A/ko
Publication of KR20210133667A publication Critical patent/KR20210133667A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/61Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Abstract

실시예에 따른 코퍼스 구축 서비스 제공 방법은, 적어도 하나의 멀티미디어 콘텐츠 제공 서버로부터 영상 데이터 및 대응하는 자동 전사된 스크립트를 수집하는 단계, 상기 영상 데이터로부터 음성 데이터를 추출하는 단계, 수집된 자동 전사된 스크립트를 정제하는 단계, 상기 정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스(weakly labeled corpus)를 생성하는 단계, 그리고 상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장하는 단계를 포함한다.

Description

코퍼스 구축 서비스 제공 서버 및 방법{SERVER FOR PROVIDING CORPUS BUILDING SERVICE AND METHOD THEREFORE}
본 개시는 코퍼스 구축 서비스 제공 서버 및 이를 사용한 방법에 관한 것이다.
음성 인식 기술은 사람의 입으로부터 나온 음성신호를 분석하여 자동으로 문자열로 변환해주는 기술이다. 이러한 음성 인식 기술은 홈네트워크, 텔레매틱스, 지능형 로봇 등에 적용될 수 있으며, 정보기기가 소형화되고 이동성이 중요시되는 시대에서 그 중요성이 더욱 커지고 있다.
종래에 이러한 음성 인식 기술은 숫자음 인식, Dynamic Time Warping(DTW)를 사용한 패턴 매칭, 수백 단어급 명령어 인식에 사용되는 것에 불과하였으나, 대용량 연속 음성 인식(Large Vocabulary Continuous Speech Recognition, LVCSR)을 거쳐 최근에는 자연어 음성 인식의 단계로 발전하고 있다.
전통적인 음성 인식(Automatic Speech Recognition; ASR) 시스템은 Hidden Markov Model(HMM)을 사용하여 주어지거나 관찰된 음성을 가장 잘 나타내는 상태(문자열)를 찾는 과정이었으며 Gaussian Mixture Model(GMM)을 사용하여 음성의 분포를 모델링하여 HMM과 결합한 HMM-GMM을 주로 사용하였다. 이후 GMM을 Deep Neural Network(DNN)로 대체한 HMM-DNN 모델이 같은 양의 학습데이터로 학습하였을 때에 월등히 높은 성능을 낼 수 있다는 연구들이 나오며, 최근까지도 HMM-DNN 모델은 최첨단의 성능을 보이고 있다.
현재 상용화된 대표적인 음성 인식 시스템으로는 Apple의 Siri, MS의 Cortana, Google의 Assistant 등의 스마트폰 기반의 대화형 시스템과 Amazon의 Echo, Google의 Google Home, 네이버의 Clova 등의 스마트 스피커 기반 시스템을 꼽을 수 있다. 이들은 사용자가 버튼을 누르거나, wake-up-word를 사용한 keyword Spotting을 사용하여 단일 문장 단위의 대화만이 가능하다는 한계를 갖는다.
하지만 최근의 자연어 음성 인식과 관련된 응용들 즉, 실시간 자막 생성, 실시간 회의/수업 내용 인식, 실시간 자동 통역 등을 위해서는 단일 문장 단위가 아닌 연속적인 복수 문장의 발화에 관한 스트리밍 음성 인식을 필요로 한다.
한편, 기존의 연구들은 사용자가 올린 자막 자료가 풍부한 영어를 대상으로 자동생성 자막과 사용자 생성 자막의 차이를 비교하고 이를 사용하여 신뢰성이 있는 자료를 선택하여 사용하는 준지도학습을 사용하였다. 다만, 사용자가 생성한 자막 자료가 상대적으로 부족한 한국어에 대해서는 이러한 방식이 적용될 수 없다는 제한이 있다.
본 개시는 전술한 문제점을 해결하기 위하여 제안된 것으로, 한국어에 대하여 대용량 코퍼스를 구축하기 위한 것을 목적으로 한다.
본 개시는 자동 전사 시스템의 정확도를 향상시키기 위한 것이다.
일 실시예에 따른 코퍼스 구축 서비스 제공 방법은, 적어도 하나의 멀티미디어 콘텐츠 제공 서버로부터 영상 데이터 및 대응하는 자동 전사된 스크립트를 수집하는 단계, 상기 영상 데이터로부터 음성 데이터를 추출하는 단계, 수집된 자동 전사된 스크립트를 정제하는 단계, 상기 정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스(weakly labeled corpus)를 생성하는 단계, 그리고 상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장하는 단계를 포함한다.
자동 전사된 스크립트는 비정규 단어를 포함하고, 비정규 단어는 종류에 따라 상이한 우선 순위를 가지고, 자동 전사된 스크립트를 정제하는 단계는, 비정규 단어의 우선 순위에 따라 자동 전사된 스크립트를 처리하는 단계를 포함할 수 있다.
자동 전사된 스크립트를 정제하는 단계는, 미리 결정된 비정규 단어의 처리 방법에 따라 자동 전사된 스크립트를 처리하는 단계를 더 포함할 수 있다.
정제된 스크립트에 대해 시간적 정보를 교정하는 것은, 적어도 0.3초 간격의 무음 구간을 기준으로 문장을 분절하는 것을 포함할 수 있다.
음성 데이터 및 약하게 라벨링된 코퍼스를 저장하는 단계 이후에, 저장된 음성 데이터 및 저장된 약하게 라벨링된 코퍼스를 사용하여 음성 인식 결과를 생성하는 단계를 더 포함할 수 있다.
음성 인식 결과를 생성하는 단계는, 하나의 윈도우에 대한 실효값 에너지가 문턱값보다 높으면 음성 인식 결과를 생성하고, 8개의 연속된 윈도우에 대해 실효값 에너지가 문턱값보다 낮으면 음성 인식 결과를 생성하지 않을 수 있다.
일 실시예에 따른 코퍼스 구축 서비스 제공 서버는, 통신부, 상기 통신부를 통해 적어도 하나의 멀티미디어 콘텐츠 제공 서버로부터 영상 데이터 및 대응하는 자동 전사된 스크립트를 수집하고, 상기 영상 데이터로부터 음성 데이터를 추출하고, 수집된 자동 전사된 스크립트를 정제하고, 상기 정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스(weakly labeled corpus)를 생성하는 프로세서, 그리고 상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장하는 메모리를 포함한다.
자동 전사된 스크립트는 비정규 단어를 포함하고, 비정규 단어는 종류에 따라 상이한 우선 순위를 가지고, 자동 전사된 스크립트를 정제하는 것은, 상기 비정규 단어의 우선 순위에 따라 자동 전사된 스크립트를 처리하는 것을 포함할 수 있다.
자동 전사된 스크립트를 정제하는 것은, 미리 결정된 비정규 단어의 처리 방법에 따라 상기 자동 전사된 스크립트를 처리하는 것을 더 포함할 수 있다.
정제된 스크립트에 대해 시간적 정보를 교정하는 것은, 적어도 0.3초 간격의 무음 구간을 기준으로 문장을 분절하는 것을 포함할 수 있다.
프로세서는, 음성 데이터 및 약하게 라벨링된 코퍼스를 저장한 후, 저장된 상기 음성 데이터 및 저장된 상기 약하게 라벨링된 코퍼스를 사용하여 음성 인식 결과를 생성할 수 있다.
음성 인식 결과를 생성하는 것은, 하나의 윈도우에 대한 실효값 에너지가 문턱값보다 높으면 음성 인식 결과를 생성하고, 8개의 연속된 윈도우에 대해 실효값 에너지가 문턱값보다 낮으면 음성 인식 결과를 생성하지 않을 수 있다.
일 실시예에 따른 프로그램은, 코퍼스 구축 서비스 제공 방법을 수행하도록 기록 매체에 저장될 수 있다.
일 실시예에 따른 기록 매체는, 코퍼스 구축 서비스 제공 방법을 수행하는 프로그램이 저장되어 있을 수 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 자막 자료가 희소한 한국어 영상들에 대하여 대용량 코퍼스를 구축하기 쉽다는 장점이 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 정확한 전사 자료를 사용하지 않더라도 음성 인식 시스템의 성능을 향상시킬 수 있다는 장점이 있다.
도 1은 멀티미디어 콘텐츠 제공 서버, 코퍼스 구축 서비스 제공 서버, 및 사용자 단말기를 개략적으로 나타낸 블록도이다.
도 2는 자동 전사 서비스를 제공하는 멀티미디어 콘텐츠 제공 서버의 화면을 나타낸 도면이다.
도 3은 자동 전사 시스템으로 생성된 SRT 자막 파일을 나타낸 도면이다.
도 4는 약하게 라벨링된 데이터의 예시를 나타낸 도면이다.
도 5은 강하게 라벨링된 데이터와 약하게 라벨링된 데이터를 비교한 도면이다.
도 6은 일반적인 TDNN과 sub-sampling을 사용해 연산을 줄인 TDNN을 비교한 도면이다.
도 7은 코퍼스 구축 서비스 제공 서버의 내부 구성을 개략적으로 나타낸 블록도이다.
도 8은 단어 단위 정렬 수행 후 생성된 CTM 형식 결과를 나타낸 도면이다.
도 9는 RMS energy 기반 VAD 작동 방법을 개략적으로 나타낸 도면이다.
도 10은 실시예의 코퍼스 구축 프로세스를 개략적으로 나타낸 순서도이다.
도 11은 test_YouTube에 대해 제안된 시스템과 baseline의 음성 인식 결과를 비교한 도면이다.
도 12는 test_IPA에 대한 제안된 시스템과 baseline의 음성 인식 결과를 비교한 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 멀티미디어 콘텐츠 제공 서버(100), 코퍼스 구축 서비스 제공 서버(200), 및 사용자 단말기(300)를 개략적으로 나타낸 블록도이다.
멀티미디어 콘텐츠 제공 서버 (100), 코퍼스 구축 서비스 제공 서버(200) 및 사용자 단말기(300)는 네트워크를 통해 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 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) 네트워크, WiFi 등이 포함되나 이에 한정되지는 않는다.
멀티미디어 콘텐츠 제공 서버(100)는 대화체 및 구어체를 포함하는 콘텐츠를 제공하는 서버이다. 여기서, 콘텐츠는 드라마, 영화, 라디오 등의 다양한 매체로부터 수집되는 각종 정보 또는 그 내용물일 수 있다.
멀티미디어 콘텐츠 제공 서버(100)에 접속한 사용자 단말기(300)의 사용자가 콘텐츠를 쉽게 이해할 수 있도록 하기 위해, 멀티미디어 콘텐츠 제공 서버(100)는 사용자에게 자막을 제공할 수 있다. 멀티미디어 콘텐츠 제공 서버(100)는 콘텐츠의 종류를 파악하고, 콘텐츠로부터 콘텐츠에 포함된 자막을 추출하거나, 또는 음성 인식 기술을 사용하여 자막을 생성할 수 있다. 콘텐츠에 포함된 자막을 추출하는 것은 공지된 것으로서 본원에서는 자세히 서술하지 않기로 한다.
멀티미디어 콘텐츠 제공 서버(100)가 음성 인식 기술을 사용하여 자막을 제공하는 경우와 관련하여 도 2를 함께 참조하여 기술한다.
도 2는 자동 전사 서비스를 제공하는 멀티미디어 콘텐츠 제공 서버에서 동영상을 재생한 경우에 나타나는 화면을 도시한 도면이다.
도 2에 도시된 바와 같이, 멀티미디어 콘텐츠 제공 서버(100)의 화면의 좌측(20)에는 현재 재생하고 있는 동영상이 나타나고, 화면의 우측(30)에는 음성 인식 기술을 사용하여 자동으로 생성된 자막이 나타나 있다. 예를 들어, 유튜브와 같은 멀티미디어 콘텐츠 제공 서버에서는 Google의 음성 인식 기술을 사용하여 자막을 생성하고, 생성된 자막을 제공하는 서비스를 제공하고 있다. 이 경우에, 자동으로 생성된 자막의 품질은 도메인에 따라 다양하며 뉴스와 같은 도메인에서는 뛰어난 품질을 보여준다.
도 2의 화면에서 자막만을 추출하는 경우는 이하의 도 3을 참조하여 함께 기술한다. 도 3은 자동 전사 시스템으로 생성된 SRT 자막 파일을 나타낸 도면이다.
도 3에 도시된 바와 같이, 멀티미디어 콘텐츠 제공 서버(100)가 제공하는 자막 만을 추출한 경우에 SRT(SubRip) 파일이 생성된다.
멀티미디어 콘텐츠 제공 서버(100)의 일 예시로서, 자동 전사 시스템을 포함하는 Google이 제공하는 멀티미디어 콘텐츠 제공 서버인 유튜브를 예로 들어 기술한다. Google은 한국어에 대한 자동 전사 시스템의 성능에 대해서는 정확히 밝히지는 않고 있으나, YouTube 자동 전사 시스템을 사용하여 학습하는 방식에 관하여 “H. Soltau, H. Liao and H. Sak, “Neural Speech Recognizer: Acoustic-to-Word LSTM Model for Large Vocabulary Speech Recognition,” arXiv:1610.09975 [cs], Oct. 2016.”를 참조하면, 영어에 대한 자동 전사 시스템의 성능에 대해서는 대략적으로 알 수 있다. Google 의 자동 전사 시스템의 음향 모델은 “A. Graves, S. Fernαndez, F. Gomez, and J. Schmidhuber, “Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks,” in Proceedings of the 23rd International Conference on Machine Learning. 23rd ICML , pp. 369-376, 2006.”에 개시된 Connectionist Temporal Classification(CTC)와 “S. Hochreiter and J. Schmidhuber, “Long Short-Term Memory,” Neural Computation, vol. 9, no. 8, pp. 1735-1780, 1997”에 개시된 Long Short Term Memory(LSTM) 을 결합한 CTC-LSTM을 사용하고 있다.
Google의 음향 모델에는 125,000시간 분량의 YouTube 동영상 자동 전사 자료가 사용되었고, 언어 모델로는 3천만 개의 N-gram을 사용한 5-gram 모델을 사용하고 있으며, 단어 사전(Lexicon)으로는 50만 단어급 사전을 사용하고 있다. 자동 전사 시스템의 성능은 영어에 대하여 단어 오류율(Word Error Rate; WER) 기준 11.6%의 성능을 보이고 있으며 한국어에 대해서는 성능을 밝히고 있지 않으나 YouTube에 업로드 되어있는 뉴스 영상 60개(1.21시간 분량)에 대하여 음절오류율(Character Error Rate; CER)을 측정한 결과 8.654%의 성능을 보였다.
코퍼스 구축 서비스 제공 서버(200)는 멀티미디어 콘텐츠 제공 서버(100)가 제공하는 콘텐츠로부터 원시 형태의 코퍼스(corpus)를 수집하고, 이를 정제하고 교정하여 가공 코퍼스를 생성하고, 이를 사용하여 자동 전사 서비스를 제공하는 서버이다.
코퍼스(Corpus)란 언어 연구를 위해 컴퓨터가 읽을 수 있는 형태로 텍스트를 모아 놓은 언어 자료로서, 매체, 시간, 공간, 주석 단계 등의 기준에 따라 다양한 종류가 있다. 이는 곧 인간의 언어를 전산(transcription)이라는 기술적 방법을 통해 입력해놓은 것을 의미하고, 이러한 개별 언어 자료는 일정한 특성에 따라 집합체를 이루는데, 이를 코퍼스라고 할 수 있다.
코퍼스 구축 서비스 제공 서버(200)는 멀티미디어 콘텐츠 제공 서버(100)로부터 약하게 라벨링된 데이터(weakly labeled data)를 수집한다. 약하게 라벨링된 데이터란 멀티 라벨 학습에서 사용되는 용어로서, 여러 라벨이 존재하여야 하는 데이터에 대하여 일부의 라벨이 누락된 데이터를 지칭한다. 강하게 라벨링된 데이터(strongly labeled data)란 학습에 필요한 모든 정보가 표기되어 있는 데이터를 지칭한다.
본원에서는, 멀티미디어 콘텐츠 제공 서버(100)에서 제공하는 콘텐츠에 대해 자동 전사로 생성된 자막을 약하게 라벨링된 데이터라고 본다.
약하게 라벨링된 데이터와 관련하여, 이하의 도 4a 및 도 4b를 참조하여 자세히 기술한다.
도 4a 및 도 4b는 약하게 라벨링된 데이터의 예시를 나타낸 도면이다.
도 4a는 콘텐츠가 영상인 경우에 멀티 라벨 학습에서 약하게 라벨링된 데이터를 도시한 도면이다. 도 4a에 도시된 바와 같이, 호랑이, 나무, 숲의 세 가지 객체가 도시되어 있다. 따라서, 강하게 라벨링된 데이터(401)인 경우에는 호랑이, 나무, 숲에 대한 라벨이 모두 필요하다. 그러나, 약하게 라벨링된 데이터(403)의 경우에는 가장 눈에 띄는 객체인 호랑이에 대한 라벨만이 표기되어 있을 수 있다.
도 4b는 콘텐츠가 음성인 경우에 멀티 라벨 학습에서 약하게 라벨링된 데이터를 도시한 도면이다. 도 4b에 도시된 바와 같이, 00:00:00부터 00:00:06까지 스피치를 하고, 00:00:03부터 00:00:14까지는 진공 청소기 소리가 나타난다. 따라서, 강하게 라벨링된 데이터(405)의 경우에는 소리의 종류와 그에 대한 시간적 정보가 모두 표시되어 있다. 그러나, 약하게 라벨링된 데이터(407)의 경우에는 시간적 정보없이 소리의 종류, 즉, 스피치 및 진공 청소기라는 정보만이 표시되어 있는 것을 알 수 있다.
정리하자면, 본원에서 약하게 라벨링된 데이터의 특징은 다음과 같다.
1. 전체의 긴 데이터에 대하여 전사는 존재하지만 시간적 정보가 부정확하다.
2. 학습에 부적합한 비정규 단어(Non-Standard Words; NSWs)가 존재한다.
3. 자동 생성된 전사이므로 일부 부정확한 전사가 존재한다.
멀티미디어 콘텐츠 제공 서버(100)에서 제공하는 음성 콘텐츠와 이에 대해 자동 전사로 생성된 자막에 대해 이하의 도 5를 참조하여 기술한다.
도 5는 콘텐츠가 음성인 경우에 강하게 라벨링된 데이터와 약하게 라벨링된 데이터를 비교한 도면이다.
도 5에 도시된 바와 같이, 멀티미디어 콘텐츠 제공 서버(100)에서 제공하는 음성 콘텐츠에 대해 강하게 라벨링된 데이터는 시간적 정보(501), 및 정확한 전사(503)를 포함한다. 그러나, 멀티미디어 콘텐츠 제공 서버(100)에서 제공하는 음성 콘텐츠에 대해 약하게 라벨링된 데이터는 부정확한 시간적 정보(505), 및 부정확한 전사(507)를 포함한다.
한편, 음성 인식의 학습은 일반적으로 정확한 전사를 가진 자료를 필요로 한다. 그러나 정확한 전사를 가진 데이터를 수집하고 만드는 것은 높은 비용과 많은 인력을 필요로 하는 작업이다. 이에 따라, 비교적 부정확한 전사를 사용하거나, 또는 이미 학습된 ASR 시스템을 사용하여 전사를 만들고 학습하는 방식에 대한 연구들이 있었다. “G. Evermann et al., “Training LVCSR systems on thousands of hours of data,” in Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP 2005, vol. 1, p. I/209-I/212, 2005.”에서는, 같은 수의 파라미터를 사용하여 360시간의 정확한 전사 자료와 400시간의 부정확한 전사 자료로 학습하였을 때 WER(word error rate)의 차이가 1% 내외임을 개시하고 있다. 또한, 부정확한 전사 자료의 양을 1800시간 추가한 2200 시간의 자료를 Maximum Likelihood(ML) 방식으로 학습하였을 때는 WER이 1.5%여서, Minimum Phone Error(MPE) 방식으로 학습하였을 때보다 3.1% 향상된다는 것을 개시하고 있다. 따라서, 정확한 전사의 학습 자료가 아니더라도 많은 양의 부정확한 전사 자료를 사용함으로써 음성 인식 시스템의 성능이 향상될 수 있다는 것을 알 수 있다.
부정확한 전사를 사용하더라도 음성 인식 시스템의 성능이 향상될 수 있으므로, 학습 자료를 늘리기 위한 방법으로 “O. Kapralova, J. Alex, E. Weinstein, P. Moreno, and O. Siohan, “A big data approach to acoustic model training corpus selection,” in proceedings of INTERSPEECH-2014, pp. 2083-2087, 2014.” 및 “K. Yu, M. Gales, L. Wang and P. C. Woodland, “Unsupervised training and directed manual transcription for LVCSR,” Speech Communication, vol. 52, no. 7-8, pp. 652-663, 2010.”에서 준지도 학습(Unsupervised Learning)이 사용되었다. 그러나 최근에는 아예 학습 자료에 대한 라벨없이 군집화하는 방식인 비지도 학습과는 다르게 이미 라벨된 자료를 사용해서 학습한 음성 인식 시스템을 사용하므로 반-비지도 학습(semi-supervised learning)으로 지칭된다.
이와 관련하여, “S. Li, Y. Akita, and T. Kawahara, “Semi-Supervised Acoustic Model Training by Discriminative Data Selection From Multiple ASR Systems’ Hypotheses,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 24, no. 9, pp. 1524-1534, 2016.”에서는 소용량 자료로 학습된 음성 인식 시스템을 사용하여 가설 라벨을 생성하여 재학습에 사용한 연구를 개시하고 있다. 구체적으로, 우선 라벨이 없는 자료를 라벨이 존재하는 자료를 사용하여 학습한 기존 음성 인식 모델(seed model)을 사용하여 전사한다. 이후 음성 인식 모델이 생성한 가설 라벨을 실제 라벨(ground truth label)로 사용한다. 즉, 새롭게 생성된 학습 자료를 기존에 존재하는 학습 자료에 추가하여 이를 사용하여 재학습 과정을 수행한다. 이러한 방식을 여러 음성 인식 모델들에 적용한 뒤 여러 음성 인식 모델들이 생성한 결과에 대해 Confidence Measurement Score(CMS)를 사용하여 자료를 선별한 뒤 학습하는 방법을 사용하였다. Corpus of Chinese Lecture Room(CCLR)의 35.2시간 분량의 자료로 학습된 음성 인식 모델을 176.7시간의 라벨링되지 않은 자료를 전사하여 재학습에 사용하여 음성 인식 모델에 비해 CER(Character Error Rate) 기준 2%의 향상된 성능을 보였다.
또한, “P. Zhang, Y. Liu, and T. Hain, “Semi-supervised DNN training in meeting recognition,” in proceedings of 2014 IEEE Spoken Language Technology Workshop (SLT), pp. 141-146, 2014.”에서는 단일 음성 인식 시스템을 사용하여 레벨이 없는 회의 내용을 녹음한 자료에서 레벨을 생성한 뒤 CMS(Confidence Measurement Score)를 사용하여 데이터 선별을 거치고 이를 학습에 사용하는 방법을 개시하고 있다. 구체적으로, 실험에는 AMI(J. Carletta et al., “The AMI Meeting Corpus: A Pre-announcement,” in International Workshop on Machine Learning for Multimodal Interaction. Springer, pp. 28-39, 2005 참조) 와 ICSI(A. Janin et al., “The ICSI Meeting Corpus,” in proceedings of 2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP 2003, vol. 1, pp. I-I, 2003 참조) 코퍼스를 사용하였으며, 이미 학습자료로 사용 가능한 라벨이 존재하는 두 코퍼스에서 일부 자료를 제외한 대부분의 자료의 라벨을 제거하였다. 이를 사용하여 2가지 시나리오를 사용하여 성능의 향상을 보였으며, 두번째 시나리오를 기준으로 WER 16.6%의 상대적 성능향상을 보였다.
상기 2개의 문헌들은 모두 기존 음성 인식 모델(seed model)의 성능을 향상시키기 위해 라벨링되지 않은 자료를 라벨링하여 재학습하는 방식을 취하였다. 본원에서는, 이와 유사한 방식을 채택하되, 기존 음성 인식 모델 대신 멀티미디어 콘텐츠 제공 서버(100)의 자동 전사 시스템을 사용하여 생성된 자료를 사용하는 방식을 사용한다. 이러한 방식은 “H. Soltau, H. Liao and H. Sak, “Neural Speech Recognizer: Acoustic-to-Word LSTM Model for Large Vocabulary Speech Recognition,” arXiv:1610.09975 [cs], Oct. 2016” 및 “H. Liao, E. McDermott, and A. Senior, “Large scale deep neural network acoustic modeling with semi-supervised training data for YouTube video transcription,” in proceedings of 2013 IEEE Workshop on Automatic Speech Recognition and Understanding, ASRU 2013, pp. 368-373, 2013”에서도 사용되어 사용자가 직접 작성한 자막과 생성된 전사를 “island of confidence”라는 체험적인 방법을 사용하여 자료를 선별하여 이를 학습 자료로 사용하는 방법을 제안하였으나, 이는 사용자가 직접 자막을 올리는 빈도가 현저히 적은 한국어 도메인에 있어서는 사용하기에 적합하지 않은 방법이다.
또한, 약하게 라벨링된 데이터와 강하게 라벨링된 데이터를 사용하여 학습에 사용하는 방식을 개시한 것으로는 “S. Adavanne and T. Virtanen, “Sound event detection using weakly labeled dataset with stacked convolutional and recurrent neural network,” arXiv:1710.02998 [cs, eess], Oct. 2017.”가 있다. 이는 강하게 라벨링된 데이터를 사용하여 학습한 CNN-RNN 모델을 사용하여 약하게 라벨링된 데이터에서 시간 정보를 표기한 뒤 이를 다시 학습하는 방법을 제안하였으며, 이러한 방식은 음성 인식 시스템의 정확도가 30.2% 향상된 결과를 보였다.
“A. Kumar and B. Raj, “Audio Event Detection using Weakly Labeled Data,” in Proceedings of the 24th ACM international conference on Multimedia 2016, pp. 1038-1047, 2016”는 Multiple Instance Learning(MIL)을 사용하여 하나의 이벤트를 감지하는 여러 모델들의 이진 결과를 사용하여 시간 정보를 표기하는 방법을 제안하였으며 AUC Mean 0.625의 성능을 보였다.
본원에서는 TDNN을 Kaldi toolkit에서 구현한 코드를 사용하여 음향 모델을 학습하였다. Time Delay Neural Network(TDNN)는 1989년에 음소 인식(phoneme recognition)을 위해 제안되었다. TDNN은 효율적으로 긴 시간 의존성(long time dependency)을 모델링하고 학습할 수 있다. 이러한 TDNN의 문제점은 피드 포워드(feed forward) 구조임에도 불구하고 많은 계산을 필요로 한다는 데에 있었다.
이를 해결하기 위해 서브-샘플링(sub-sampling)을 사용하여 계산을 감소시키는 방법이 제안되었다. 이와 관련하여 이하의 도 6을 함께 참조하여 기술한다.
도 6은 일반적인 TDNN과 서브-샘플링을 사용해 연산을 줄인 TDNN을 비교한 도면이다.
도 6a에 도시된 바와 같이, 기존 TDNN의 단점은 입력 문맥에 대한 연산을 처리하는 과정에 겹치는 구간이 매우 크다는 것인데, 본원에서는 겹치는 구간에 대하여 도 6b에 도시된 바와 같이 서브-샘플링을 적용하여 긴 시간 의존성을 학습할 수 있도록 하였다.
본원의 음향모델인 Kaldi toolkit에서 구현한 TDNN은 공지된 것이므로, 자세한 설명은 생략한다.
사용자 단말기(300)는 네트워크를 통하여 멀티미디어 콘텐츠 제공 서버(100) 및/또는 코퍼스 구축 서비스 제공 서버(200)에 접속할 수 있는 단말기이다. 사용자 단말기(300)는, 코퍼스 구축 서비스 제공 서버(200)에 접속할 수 있고, 또는 사용자 단말기(300)에 코퍼스 구축 서비스 제공 애플리케이션, 프로그램 등이 설치되어 있을 수 있다. 사용자 단말기(300)는 휴대성과 이동성이 보장되는 무선 통신 장치, 즉 PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치 또는 PC 등과 같은 유선 통신 장치일 수 있다.
도 7은 코퍼스 구축 서비스 제공 서버(200)의 내부 구성을 개략적으로 나타낸 블록도이다.
코퍼스 구축 서비스 제공 서버(200)는 통신부(210), 프로세서(230), 및 메모리(250)를 포함한다.
통신부(210)는, 코퍼스 구축 서비스 제공 서버(200)와 멀티미디어 콘텐츠 제공 서버(100) 사이, 또는 코퍼스 구축 서비스 제공 서버(200)와 사용자 단말기(300) 사이의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 통신부(210)가 지원하는 통신 프로토콜로는, 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 와이파이(Wi-Fi), 와이파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다.
프로세서(230)는 통신부(210)를 통해 멀티미디어 콘텐츠 제공 서버(100)로부터 영상 데이터 및 이에 대응하는 자동 전사된 스크립트를 수집할 수 있다. 자동 전사된 스크립트는 SRT 형식일 수 있다. 자동 전사된 스크립트는 자막의 번호, 시작 시간 및 종료 시간, 및 자막 내용을 포함할 수 있다.
프로세서(230)는 수집된 자동 전사된 스크립트를 정제하고, 정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스를 생성할 수 있다.
구체적으로, 프로세서(230)는 수집된 자동 전사된 스크립트의 CTM(Concatenation of time marking) 형식을 통해 시간적 정보를 교정할 수 있다.
예를 들어, 코퍼스 구축 서비스 제공 서버(200)가 멀티미디어 콘텐츠 제공 서버(100)로부터 “학교에 빨리 갑니다”라는 음성 데이터를 포함하는 영상 데이터 및 이에 대응하는 자동 전사된 스크립트를 수집하는 경우를 가정한다. 종래 방법에서는 음성 파일을 “학교에”, “빨리”, “갑니다”라는 3개의 어절로 등분하는 정렬(align) 작업을 수행한다. 반면, 코퍼스 구축 서비스 제공 서버(200)의 프로세서(230)는 자동 전사의 결과로 획득된 CTM 형식의 시간 정보를 토대로 하여 “학교에”, “빨리”, “갑니다”라는 각각의 어절에 대응되는 시간의 구간을 파악하고, 그 시간을 기준으로 시간적 정보를 교정한다. 예를 들어, 프로세서(230)가 00:00.04 ~ 00:00.24 의 구간이 “학교에” 대응되는 발성이라고 파악하면, 이를 기준으로 시간적 정보를 교정한다.
상술한 바와 같이, 자동 전사된 스크립트는 학습에 부적합한 비정규 단어(Non-Standard Words; NSWs)를 포함할 수 있다. 비정규 단어의 종류와 예시를 이하의 표 1에 나타내었다.
Figure pat00001
프로세서(230)는 전처리를 통하여 비정규 단어를 학습에 사용 가능한 정규 단어(Standard Words; SWs)로 바꿀 수 있다. 이를 위해 프로세서(230)는 규칙 기반의 방법을 통하여 일괄적으로 대용량의 전사를 전처리한다. 다만, 규칙 기반의 방법을 사용한 전처리를 하더라도 완벽한 정제는 불가능하나, 상술한 바와 같이 불완전한 전사를 사용하더라도 음성 인식 시스템의 정확도는 향상될 수 있다.
프로세서(230)는 비정규 단어를 정규 단어로 전처리하는 경우에 비정규 단어의 종류에 따라 우선 순위를 두어 처리할 수 있다. 같은 문자일지라도, 비정규 단어의 종류에 따라 읽는 방법이 달라지기 때문에, 우선 순위는 단어 속에 포함된 한글 외의 문자를 읽는 방법이 잘못되지 않도록 고려하여 정의하도록 한다.
비정규 단어의 종류 별 처리 우선 순위에 대해 이하의 표 2에 나타내었다.
Figure pat00002
예를 들어, 숫자를 가장 먼저 처리할 경우 ‘p2p’는 ‘피이피’로 잘못 처리될 수 있다.
프로세서(230)는 비정규 단어의 종류에 따라 이하의 표 3에 나타난 바와 같이 처리할 수 있다. 이 중 알파벳, 숫자, 붙임표 혼합 표기와 같은 경우에는 단어에 따라서 문자를 읽는 방법이 불규칙하므로 수집된 자료에 포함된 비정규 단어를 모두 표기하고 나머지 종류의 비정규 단어를 제외하는 방식으로 사전을 생성하고 사전의 읽는 방법을 따로 메모리(250)에 지정해 주어야 한다.
Figure pat00003
프로세서(230)는 전처리를 통하여 멀티미디어 콘텐츠 제공 서버(100)로부터 수집한 자동 전사된 스크립트에 있는 비정규 단어를 제거할 수 있다. 이에 따라, 학습 자료로 사용 가능한 정제된 스크립트를 얻을 수 있다.
비정규 단어의 예시와 이에 대해 프로세서(230)가 전처리를 수행하여 정규 단어로 정규화를 진행한 경우의 예시를 이하의 표 4에 나타내었다.
Figure pat00004
프로세서(230)는 전처리를 통해 정규화되어 정제된 스크립트에 대해 부정확한 시간적 정보를 교정할 수 있다. “D. Povey et al. “The Kaldi Speech Recognition Toolkit,” Proceedings of IEEE Workshop on Automatic Speech Recognition and Understanding, ASRU 2011, pp. 1-4, 2011.”에 개시된 것과 다른 학습 자료를 사용하여 미리 학습된 기존 모델을 사용하여 약하게 라벨링된 데이터의 전사에 대해 단어 단위 정렬을 수행하도록 한다. 단어 단위 정렬 관련하여는, 이하의 도 8을 함께 참조하여 기술한다.
도 8은 단어 단위 정렬 수행 후 생성된 CTM 형식의 결과를 나타낸 도면이다.
도 8에 도시된 바와 같이, CTM 형식은 줄 단위 마다 파일 이름, 오디오 채널 수(mono:1, streo:2), 단어의 시작 시간, 단어의 길이로 이루어져 있다. CTM 형식은 자동 전사의 결과를 통해 획득할 수 있으며, CTM 결과를 통해 단어에 대한 기존 모델이 가정한 시간 정보를 알 수 있다. 이를 사용하여 문장을 분절하고 학습 자료로 사용하도록 한다.
공지된 영어 코퍼스들 중 하나인 Librispeech corpus에서는 최소 0.5초 이상 간격의 무음 구간을 기준으로 문장을 분절했다. 하지만, 영어로 책을 읽는 음성을 녹음한 audiobook 도메인의 Librispeech와는 다르게 본원에서는 멀티미디어 콘텐츠 제공 서버(100)로부터 수집된 약하게 라벨링된 데이터는 한국어 자료라는 다른 도메인을 가지므로 본원에서는 최소 0.3초 이상 간격의 무음 구간을 기준으로 문장을 분절한다.
또한 본원에서는 상술한 CMS의 개념을 적용하지는 않았으나 0.3초 이상의 무음 구간을 기준으로 분절을 하였을 때, 3단어 이상이 포함된 자료만을 학습 자료로 선별하도록 한다. 이는 자동 전사 시스템의 오류로 생성된 비정규 단어나 한국어가 아닌 다른 언어에 대해 생성된 자동 전사 내용을 선별하는 체험적인 방법을 적용하기 위해서다.
메모리(250)는 프로세서(230)가 전처리를 수행하는데 사용되는 규칙을 저장할 수 있다. 또한, 메모리(250)는 통신부(210)를 통해 멀티미디어 콘텐츠 제공 서버(100)로부터 영상 데이터 및 이에 대응하는 자동 전사된 스크립트, 프로세서(230)를 통해 정제된 스크립트, 프로세서(230)를 통해 약하게 라벨링된 코퍼스를 저장할 수 있다. 더 나아가, 메모리(250)는 비정규 단어를 읽는 방법을 더 저장할 수 있다. 예를 들어, 메모리(250)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
도 9는 실효값(Root Mean Square, RMS) 에너지 기반 VAD(Voice Activity Detection) 작동 방법을 개략적으로 나타낸 도면이다.
일반적으로 휴대폰 비서 시스템에서는 문장 단위로 대화가 이루어지므로 단일 문장 발화 인식기가 사용된다. 그러나, 실시간 자동 전사를 구현하기 위해서는 복수 문장의 발화에 대한 인식을 필요로 한다. 본원의 코퍼스 구축 서비스 제공 서버(200)는 실시간으로 자동 전사를 제공하기 위해 VAD 방식을 사용한다.
도 9에 도시된 바와 같이, 코퍼스 구축 서비스 제공 서버(200)는 복수 문장들에 대하여 스피치와 스피치가 아닌 부분을 구분하고 스피치에 대하여서만 인식을 하는 과정을 필요로 한다.
예를 들어, 코퍼스 구축 서비스 제공 서버(200)는 50ms의 윈도우에 대해 실효값 에너지를 구하고, 만약 이 수치가 문턱값(Threshold)보다 높다면, 이를 스피치로 인식한다. 이후, 코퍼스 구축 서비스 제공 서버(200)의 프로세서(230)가 활성화되어 스피치가 음성 인식기에 입력되기 시작한다. 반면, 400ms, 즉 8개의 연속된 윈도우에 대해 실효값 에너지가 문턱값보다 낮으면, 코퍼스 구축 서비스 제공 서버(200)의 프로세서(230)가 비활성화되어 음성 인식기에 입력되지 않는다.
일반적인 음성 인식 방법인 오프라인 음성 인식에서는 입력 음성에 대한 출력 텍스트의 반응 속도(Real-Time Factor; RTF)에 대한 제한이 없다. RTF는 주어진 입력 음성의 길이에 대한 계산 시간이며, 이하의 수학식 1으로 나타낼 수 있다.
Figure pat00005
오프라인 음성 인식에서는 RTF에는 초점을 맞추지 않으며 정확성이 중요한 지표로 사용된다. 반면 온라인 음성 인식 혹은 증분 음성 인식(Incremental Speech Recognition, ISR)과 같은 실시간 시스템은 디코딩 시간에 대한 RTF를 중요한 지표로 두어, 정확성이 용인하는 범위 내에서는 빠른 반응 속도를 보이는 것을 목표로 한다(G. Sagerer et al., “Incremental generation of word graphs,” in Proceeding of Fourth International Conference on Spoken Language Processing. ICSLP ’96, vol. 4, pp. 2143-2146, 1996 참조). 본원에서는 실시간 음성 인식에서 중요한 RTF의 최소화를 위하여 디코딩과 관련된 몇 가지 변수들을 수정하였다. Kaldi 온라인 디코더에서 디코딩 동안의 활성화되는 토큰(token)의 개수의 한계에 해당하는 변수인 max-active를 2000으로, 디코딩 그래프를 탐색하는 동안의 prune을 결정하는 변수인 beam의 값을 20으로, 디코딩이 끝난 뒤 생성되는 단어 단위의 Lattice의 수를 결정하는 lattice-beam을 5로 설정하였다. 위의 수치들은 실험적으로 정해질 수 있으며, RTF 1.0이하의 성능을 위하여 조정하도록 한다.
도 10은 본 발명의 일 실시예에 따른 코퍼스 구축 프로세스를 개략적으로 나타낸 순서도이다.
코퍼스 구축 서비스 제공 서버(200)는 적어도 하나의 멀티미디어 콘텐츠 제공 서버(100)로부터 영상 데이터 및 대응하는 자동 전사된 스크립트를 수집(S1100)한다. 단계 S1100에서, 멀티미디어 콘텐츠 제공 서버(100)로부터 음성 데이터 및 대응하는 자동 전사된 스크립트를 수집할 수도 있다. 이 경우에 이하의 단계 S1300은 생략된다.
그리고, 코퍼스 구축 서비스 제공 서버(200)는 수집된 영상 데이터로부터 음성 데이터를 추출(S1300)한다.
또한, 코퍼스 구축 서비스 제공 서버(200)는 수집된 자동 전사된 스크립트의 비정규 단어를 정규 단어로 정제(S1500)한다. 이 때, 코퍼스 구축 서비스 제공 서버(200)는 메모리(250)에 저장된 복수의 규칙들에 따라 비정규 단어를 정규 단어로 정제할 수 있다.
정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스를 생성(S1700)한다.
마지막으로, 코퍼스 구축 서비스 제공 서버(200)는 음성 데이터 및 약하게 라벨링된 코퍼스를 저장(S1900)한다.
코퍼스 구축 서비스 제공 서버(200)는 상술한 프로세스를 통하여 대규모의 코퍼스를 메모리(250)에 저장할 수 있으며, 이를 통해 한국어 실시간 음성 인식 시스템을 제공할 수 있다.
이하에서는, 본 발명의 일 실시예에 따른 코퍼스 구축 서비스 제공 서버(200)를 통해 실시간 음성 인식을 수행하는 경우에 대해 예를 들어 기술한다.
이하의 표 5는 본 발명의 일 실시예에 따른 코퍼스 구축 서비스 제공 서버(200)를 통해 자료를 수집하였으며, 전처리를 수행하기 전의 자료에 대한 내용을 나타낸 표이다.
Figure pat00006
총 2282.41시간 분량의 수집된 자료에 제안된 방법을 적용하여 1053.33시간 분량의 자료를 학습 자료로 선별하였다. 또한 학습 자료의 양에 따른 성능 향상을 평가하기 위하여 1053.33시간 분량의 자료를 이하의 표 6에 나타낸 서브세트로 구성하였다.
Figure pat00007
본 발명의 일 실시예에 따른 코퍼스 구축 서비스 제공 서버(200)를 사용하여 학습한 자동 전사 시스템의 성능을 평가하기 위하여 본원에서는 CER(Character Error Rate)을 사용한다. 이는 WER(Word Error Rate)의 계산 방식을 단어 단위가 아닌 음절 단위로 계산하는 방식이다. 일반적으로 음성 인식 시스템의 성능 평가에는 WER(Word Error Rate)이 사용된다. 하지만 교착어의 특징을 갖는 한국어에서는 의미를 갖는 단어들의 결합으로 어절이 생성되므로 단어 단위의 인식을 하게 되는 경우에는 대량의 Out of Vocabulary(OOV)가 발생하게 된다. 따라서 띄어쓰기 단위로 단어를 나누어 사용하는 WER은 적합하지 않으므로, 본원에서는 한국어 인식 성능에 대하여 CER을 사용하기로 한다.
CER은 한 문장에서 정답으로 주어져 있는 기준과 인식 결과를 비교하여 오류를 평가하는 방식으로 이하의 수학식 2로 나타낼 수 있다.
Figure pat00008
이때 S(substitution)는 정답 문장에서 위치는 같지만 인식결과에는 다른 음절로 나타내어져 있는 음절의 개수이다. D(deletion)은 정답 문장에는 존재하지만 인식결과에는 존재하지 않는, 즉 제거된 음절의 개수이며 I(insertion)은 정답 문장에는 존재하지 않지만 인식 결과에는 존재하는, 즉 삽입된 음절의 개수이다. 이들의 합을 정답 문장의 존재하는 전체 음절 수 N으로 나누게 되면 CER을 계산 할 수 있다.
실험은 Google YouTube 자동 전사 시스템 및 제안된 방법으로 개발된 한국어 실시간 자동 전사 시스템의 성능 비교로 이루어지며, 추가적으로 서강대학교 한국어 음성 인식기와의 성능 비교를 하도록 한다.
Google YouTube 자동 전사 시스템에 대해서는 상술하였으므로, 이하에서는 서강대학교 한국어 음성 인식기에 대해서 설명하도록 한다.
서강대학교 음성 인식기인 SG Recognizer는 스마트폰에서 근거리음성 인식을 목표로 구현된 시스템이며 단일 문장 단위의 발화를 인식하여 이에 대한 인식 결과를 출력한다. Kaldi toolkit을 사용하여 구현되었으며 음향 모델은 TDNN모델을 사용하고 있다. 음향 모델의 학습 자료로는 근거리 음성 인식용으로 수집된 771.14 시간 분량의 한국어 학습 자료를 사용하고 있으며 언어 모델을 웹페이지 크롤링을 통해 수집된 2억 3천만 문장에서 생성된 3-gram model을 사용 중이다. 3-gram 모델의 N-gram 개수는 4천만 개이며, 20만 단어급 한국어 사전을 사용 중이다.
제안된 코퍼스 구축 서비스 제공 서버(200)로 학습한 경우의 성능을 비교하기위하여 실시간 한국어 전사 시스템의 음향 모델과 언어 모델은 SG Recognizer와 동일한 모델을 사용하여 실험을 수행하도록 한다. 학습 자료의 양에 따른 성능을 비교하기 위하여 [표 6]의 학습 자료 구성을 따라 학습하였다. 테스트 자료는 YouTube에서 수집한 TV 뉴스 도메인의 자료이다. 이 자료를 사람이 직접 전사하여 동영상 60개, 1.21시간 분량의 자료를 사용하였으며 test_YouTube로 표기하도록 한다. 추가적으로 서강대학교 청각지능연구실에서 직접 수집한 IPA(Intelligent Personal Assistant)도메인의 테스트 자료에 대한 실험을 진행하도록 한다. 이 테스트 자료는 test_IPA로 나타내었다. 테스트 자료에 대한 상세 명세는 이하의 [표 7]에 나타내었다.
Figure pat00009
test_YouTube 674문장에 대한 각 음향 모델의 음성 인식 결과는 이하의 표 8에 나타내었다.
Figure pat00010
표 8에 나타난 바와 같이, 1053.33시간 분량의 제안된 방법으로 구축된 약하게 라벨링된 코퍼스를 사용하였을 때 CER 8.00%의 가장 높은 성능을 보이고 있다. Google YouTube의 전사 시스템을 사용하여 생성한 약하게 라벨링된 코퍼스를 사용하였으나 더 높은 성능을 보인 이유로는 테스트 자료로 사용된 test_YouTube가 TV 뉴스 자료들로 구성이 되어있다는 점과 언어 모델로 사용된 SG Recognizer의 언어 모델에 뉴스 관련 자료가 상당 부분을 차지하는 점을 들 수 있다.
도 11은 test_YouTube에 대해 제안된 시스템과 기준 시스템의 음성 인식 결과를 비교한 도면이다.
도 11에 도시된 바와 같이, 590시간 이상의 학습자료를 사용하면 Google YouTube보다 높은 성능을 나타내고 있는 것을 확인 할 수 있다. 다만 2배에 해당하는 1053시간의 자료를 사용하더라도 성능 향상이 크지 않은 것을 확인할 수 있다. 이는 자료를 수집한 Google YouTube 자동 전사 시스템의 성능이 8.654%이기 때문에 이를 크게 넘는 성능은 확보할 수 없기에 자료를 늘리더라도 성능 향상의 폭이 크지 않음을 알 수 있다.
test_IPA에 대한 음성 인식 결과는 이하의 표 9에 나타내었다.
Figure pat00011
표 9에 나타난 바와 같이, 1053.33시간 분량의 제안된 방법으로 구축된 약하게 라벨링된 코퍼스를 사용하였을 때 CER 5.86%의 가장 높은 성능을 보이고 있지만 기준 시스템인 SG Recognizer의 성능인 CER 1.97%에는 미치지 못하는 성능을 보이고 있다. 이는 방송 자료에서 모은 학습 자료와 다른 도메인의 테스트 자료를 사용했기 때문이다. 하지만 수집하기 비교적 용이한 약하게 라벨링된 데이터를 사용하더라도 IPA도메인에서 CER 5.86%의 준수한 성능을 보임을 확인할 수 있다.
도 12는 test_IPA에 대한 제안된 시스템과 기준 시스템의 음성 인식 결과를 비교한 도면이다.
도 12에 도시된 바와 같이, 제안된 방법으로 학습한 시스템들과 기준 시스템의 성능 비교를 보면, 도 11에서 test_YouTube에 대해 제안된 시스템과 기준 시스템의 음성 인식 결과를 비교한 것과 마찬가지로 590시간에서 1059시간으로 거의 2배에 달하는 학습 자료의 양을 추가하더라도 성능 향상이 크지 않음을 확인 할 수 있다. 이는 다른 도메인에서 모은 학습 자료의 한계로 볼 수 있다.
정리하자면, 코퍼스 구축 서비스 제공 서버(200)는 제안된 방법으로 수집된 자료를 학습에 사용하여 Google YouTube 자동 전사 시스템의 성능인 CER 8.654%를 상회하는 CER 8.00%의 성능을 보였다. 하지만 한정된 도메인의 테스트 자료를 사용했기 때문에 Google YouTube를 자동 전사 시스템을 사용하여 수집한 자료로 학습했음에도 사용한 시스템보다 높은 성능을 내는 모습을 보이고 있다.
또한 실시간 방송 자동 전사만이 아닌 IPA 도메인에서도 CER 5.86%의 준수한 성능을 보이고 있으므로 제안된 방법을 사용하여 모은 weakly labeled corpus가 일정량 이상의 수준이 된다면 다른 도메인에서도 준수한 성능을 얻을 수 있음을 보였다.
추후에는 한정된 도메인이 아닌 다양한 도메인에서 수집한 자료를 사용하여 학습과 테스트를 하여 성능에 대한 평가가 이루어져야 할 것이다. 다만 Google YouTube 자동 전사 시스템 뿐만 아니라 대부분의 음성 인식 시스템은, 뉴스 도메인이 아닌 도메인에서는 성능이 떨어지는 모습을 보이기 때문에 테스트 자료를 다양한 도메인에서 모은 뒤 각 도메인별로 성능에 대한 실험이 이루어진 뒤 학습을 해야할 것이다.
이상 설명된 실시예들은 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이 때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
실시예들에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예를 들어, 등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 이로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 통상의 기술자는 특허청구범위 또는 그 균등물의 범주 내에서 다양한 수정, 조합 및 변경이 이루어질 수 있음을 알 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.

Claims (14)

  1. 적어도 하나의 멀티미디어 콘텐츠 제공 서버로부터 영상 데이터 및 대응하는 자동 전사된 스크립트를 수집하는 단계,
    상기 영상 데이터로부터 음성 데이터를 추출하는 단계,
    수집된 자동 전사된 스크립트를 정제하는 단계,
    상기 정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스(weakly labeled corpus)를 생성하는 단계, 그리고
    상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장하는 단계를 포함하는,
    코퍼스 구축 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 자동 전사된 스크립트는 비정규 단어를 포함하고, 상기 비정규 단어는 종류에 따라 상이한 우선 순위를 가지고,
    상기 자동 전사된 스크립트를 정제하는 단계는,
    상기 비정규 단어의 우선 순위에 따라 자동 전사된 스크립트를 처리하는 단계를 포함하는,
    코퍼스 구축 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 자동 전사된 스크립트를 정제하는 단계는,
    미리 결정된 비정규 단어의 처리 방법에 따라 상기 자동 전사된 스크립트를 처리하는 단계를 더 포함하는,
    코퍼스 구축 서비스 제공 방법.
  4. 제3항에 있어서,
    상기 정제된 스크립트에 대해 시간적 정보를 교정하는 것은,
    적어도 0.3초 간격의 무음 구간을 기준으로 문장을 분절하는 것을 포함하는,
    코퍼스 구축 서비스 제공 방법.
  5. 제1항에 있어서,
    상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장하는 단계 이후에,
    저장된 상기 음성 데이터 및 저장된 상기 약하게 라벨링된 코퍼스를 사용하여 음성 인식 결과를 생성하는 단계를 더 포함하는,
    코퍼스 구축 서비스 제공 방법.
  6. 제5항에 있어서,
    상기 음성 인식 결과를 생성하는 단계는,
    하나의 윈도우에 대한 실효값 에너지가 문턱값보다 높으면 음성 인식 결과를 생성하고,
    8개의 연속된 윈도우에 대해 실효값 에너지가 문턱값보다 낮으면 음성 인식 결과를 생성하지 않는,
    코퍼스 구축 서비스 제공 방법.
  7. 통신부,
    상기 통신부를 통해 적어도 하나의 멀티미디어 콘텐츠 제공 서버로부터 영상 데이터 및 대응하는 자동 전사된 스크립트를 수집하고, 상기 영상 데이터로부터 음성 데이터를 추출하고, 수집된 자동 전사된 스크립트를 정제하고, 상기 정제된 스크립트에 대해 시간적 정보를 교정하여 약하게 라벨링된 코퍼스(weakly labeled corpus)를 생성하는 프로세서, 그리고
    상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장하는 메모리를 포함하는,
    코퍼스 구축 서비스 제공 서버.
  8. 제7항에 있어서,
    상기 자동 전사된 스크립트는 비정규 단어를 포함하고, 상기 비정규 단어는 종류에 따라 상이한 우선 순위를 가지고,
    상기 자동 전사된 스크립트를 정제하는 것은, 상기 비정규 단어의 우선 순위에 따라 자동 전사된 스크립트를 처리하는 것을 포함하는,
    코퍼스 구축 서비스 제공 서버.
  9. 제8항에 있어서,
    상기 자동 전사된 스크립트를 정제하는 것은,
    미리 결정된 비정규 단어의 처리 방법에 따라 상기 자동 전사된 스크립트를 처리하는 것을 더 포함하는,
    코퍼스 구축 서비스 제공 서버.
  10. 제9항에 있어서,
    상기 정제된 스크립트에 대해 시간적 정보를 교정하는 것은,
    적어도 0.3초 간격의 무음 구간을 기준으로 문장을 분절하는 것을 포함하는,
    코퍼스 구축 서비스 제공 서버.
  11. 제7항에 있어서,
    상기 프로세서는, 상기 음성 데이터 및 상기 약하게 라벨링된 코퍼스를 저장한 후, 저장된 상기 음성 데이터 및 저장된 상기 약하게 라벨링된 코퍼스를 사용하여 음성 인식 결과를 생성하는,
    코퍼스 구축 서비스 제공 서버.
  12. 제11항에 있어서,
    상기 음성 인식 결과를 생성하는 것은,
    하나의 윈도우에 대한 실효값 에너지가 문턱값보다 높으면 음성 인식 결과를 생성하고,
    8개의 연속된 윈도우에 대해 실효값 에너지가 문턱값보다 낮으면 음성 인식 결과를 생성하지 않는,
    코퍼스 구축 서비스 제공 서버.
  13. 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하도록 기록 매체에 저장되는, 프로그램.
  14. 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하는 프로그램이 저장되어 있는, 기록 매체.
KR1020200052570A 2020-04-29 2020-04-29 코퍼스 구축 서비스 제공 서버 및 방법 KR20210133667A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200052570A KR20210133667A (ko) 2020-04-29 2020-04-29 코퍼스 구축 서비스 제공 서버 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200052570A KR20210133667A (ko) 2020-04-29 2020-04-29 코퍼스 구축 서비스 제공 서버 및 방법

Publications (1)

Publication Number Publication Date
KR20210133667A true KR20210133667A (ko) 2021-11-08

Family

ID=78497060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200052570A KR20210133667A (ko) 2020-04-29 2020-04-29 코퍼스 구축 서비스 제공 서버 및 방법

Country Status (1)

Country Link
KR (1) KR20210133667A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155156A (ko) 2022-05-03 2023-11-10 서강대학교산학협력단 통합 토크나이저를 갖는 음성 이해 시스템 및 상기 음성 이해 시스템에서의 통합 토큰화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155156A (ko) 2022-05-03 2023-11-10 서강대학교산학협력단 통합 토크나이저를 갖는 음성 이해 시스템 및 상기 음성 이해 시스템에서의 통합 토큰화 방법

Similar Documents

Publication Publication Date Title
US11164566B2 (en) Dialect-specific acoustic language modeling and speech recognition
US11222627B1 (en) Exploring ASR-free end-to-end modeling to improve spoken language understanding in a cloud-based dialog system
US8731926B2 (en) Spoken term detection apparatus, method, program, and storage medium
Czech A System for Recognizing Natural Spelling of English Words
US9336769B2 (en) Relative semantic confidence measure for error detection in ASR
US9672820B2 (en) Simultaneous speech processing apparatus and method
Akbacak et al. Rich system combination for keyword spotting in noisy and acoustically heterogeneous audio streams
CN102063900A (zh) 克服混淆发音的语音识别方法及系统
Patel et al. Cross-lingual phoneme mapping for language robust contextual speech recognition
Lileikytė et al. Conversational telephone speech recognition for Lithuanian
Hanani et al. Spoken Arabic dialect recognition using X-vectors
Qian et al. Spoken language understanding of human-machine conversations for language learning applications
Meinedo et al. Age and gender detection in the I-DASH project
KR20210133667A (ko) 코퍼스 구축 서비스 제공 서버 및 방법
Liu et al. Deriving disyllabic word variants from a Chinese conversational speech corpus
Li et al. Discriminative data selection for lightly supervised training of acoustic model using closed caption texts
Errattahi et al. Automatic speech recognition errors detection using supervised learning techniques
JP7098587B2 (ja) 情報処理装置、キーワード検出装置、情報処理方法およびプログラム
CN115424616A (zh) 一种音频数据筛选方法、装置、设备及计算机可读介质
Manenti et al. Unsupervised speech unit discovery using k-means and neural networks
Egorova et al. Semi-supervised training of language model on spanish conversational telephone speech data
Nallasamy et al. Semi-supervised learning for speech recognition in the context of accent adaptation
Mao et al. Enriching under-represented named entities for improved speech recognition
Pipa et al. A recurrent neural networks approach for keyword spotting applied on romanian language
Wang et al. Handling OOVWords in Mandarin Spoken Term Detection with an Hierarchical n‐Gram Language Model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal