KR102199825B1 - 음성 인식 장치 및 방법 - Google Patents

음성 인식 장치 및 방법 Download PDF

Info

Publication number
KR102199825B1
KR102199825B1 KR1020180172209A KR20180172209A KR102199825B1 KR 102199825 B1 KR102199825 B1 KR 102199825B1 KR 1020180172209 A KR1020180172209 A KR 1020180172209A KR 20180172209 A KR20180172209 A KR 20180172209A KR 102199825 B1 KR102199825 B1 KR 102199825B1
Authority
KR
South Korea
Prior art keywords
voice data
speaker
data
information
learning
Prior art date
Application number
KR1020180172209A
Other languages
English (en)
Other versions
KR20200087889A (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 KR1020180172209A priority Critical patent/KR102199825B1/ko
Publication of KR20200087889A publication Critical patent/KR20200087889A/ko
Application granted granted Critical
Publication of KR102199825B1 publication Critical patent/KR102199825B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/18Artificial neural networks; Connectionist approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

음성 데이터가 입력되면 딥러닝 기술을 이용하여 해당 음성의 화자 정보를 추출하여 분류할 수 있는 음성 인식 장치 및 방법에 관한 것으로, 음성 데이터가 수신되면 음성 데이터를 소정 크기의 윈도우(window)로 분할하고, 분할된 윈도우의 특징값을 추출하며, 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하여 전처리를 수행하는 음성 데이터 전처리부와, 전처리된 음성 데이터를 저장하여 관리하는 음성 데이터 관리부와, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 기계 학습부와, 화자 분류 학습 결과를 토대로 음성 데이터에 대한 화자 정보를 출력하는 화자 정보 출력부를 포함할 수 있다.

Description

음성 인식 장치 및 방법{APPARATUS AND METHOD FOR RECOGNIZING VOICE}
본 발명은 음성 인식 장치에 관한 것으로, 보다 상세하게는 음성 데이터가 입력되면 딥러닝 기술을 이용하여 해당 음성의 화자 정보를 추출하여 분류할 수 있는 음성 인식 장치 및 방법에 관한 것이다.
일반적으로, 사람은, 목소리를 통해 감정, 의도 등을 전달하여 상대방과 의사소통을 수행할 수 있는데, 목소리의 높낮이, 속도, 어휘 등을 기준으로 보지 않고도 상대방을 특정하고 기분을 파악하고 목적이 무엇인지 알아챌 수 있다.
이처럼, 사람의 음성에는, 다양한 정보를 포함하고 있으므로, 최근에는, 음성 분석 기술을 이용하여 다양한 서비스를 사람들에게 제공하고 있다.
현재 서비스되고 있는 음성 분석 기술은, 목소리를 입력받아 특징을 추출하고, 언어모델, 어휘사전, 발음규칙 등을 고려하여 사용자의 목적을 분석하며, 그에 맞는 검색, 추천 서비스를 제공할 수 있다.
이러한 기존의 음성 분석 기술은, 과거에 비해 큰 성과를 내고 있지만, 주변의 소음 여부 등에 따라서 인식률의 감소가 불가피한 상황이며, 같은 단어, 문맥일지라도 사람마다 발성의 차이가 있기 때문에 지속적인 연구와 발전이 필요한 상황이다.
최근에는 이러한 문제를 해결하기 위하여, 음성 인식 성능을 개선할 수 있는 다양한 방식들이 제시되고 있다.
즉, 기존의 음성 분석 방식으로서, 음성 데이터 분석을 통한 화자기반 콘텐츠 관리 장치 및 방법이 한국 공개특허 제10-2014-0086853 (2014.07.08)로 공개된 바 있고, 음성 신호를 분석하여 화자를 인식하는 장치 및 방법이 한국 공개특허 제10-2010-0036893 (2010.04.08)로 공개된 바 있다.
하지만, 이러한 방식들은, 음성 분석 성능이 저하되어 화자 분류가 부정확하고, 이로 인하여 사용자에게 원하는서비스를 제공하지 못하는 문제들이 있었다.
따라서, 향후, 딥러닝 기술을 이용하여 음성 데이터로부터 화자 정보를 추출하고 이를 토대로 화자를 다양한 클래스로 정확하게 분류하여 음성 분석 성능을 개선할 수 음성 인식 장치의 개발이 요구되고 있다.
본 발명의 일실시예가 이루고자 하는 기술적 과제는, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 음성 데이터로부터 xml 파일 형식으로 화자 정보를 출력함으로써, 음성 분석 성능을 향상시킬 수 있는 음성 인식 장치 및 방법을 제공하고자 한다.
또한, 본 발명의 일실시예가 이루고자 하는 기술적 과제는, 음성 데이터의 화자 정보를 자동으로 태깅하여 데이터 정보를 보다 접근 관리가 용이하게 해주며, 태깅 데이터를 이용해 원시데이터(음성데이터)의 공유 및 거래에도 활용할 수 있는 음성 인식 장치 및 방법을 제공하고자 한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일실시예에 의한 음성 인식 장치는, 음성 데이터가 수신되면 음성 데이터를 소정 크기의 윈도우(window)로 분할하고, 분할된 윈도우의 특징값을 추출하며, 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하여 전처리를 수행하는 음성 데이터 전처리부와, 전처리된 음성 데이터를 저장하여 관리하는 음성 데이터 관리부와, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 기계 학습부와, 화자 분류 학습 결과를 토대로 음성 데이터에 대한 화자 정보를 출력하는 화자 정보 출력부를 포함할 수 있다.
여기서, 음성 데이터 전처리부는, 음성 데이터를 소정 크기의 윈도우로 분할할 때, 제1 시간의 음성 데이터를 제1 시간보다 더 작은 제2 시간의 음성 데이터로 잘라서 다수의 윈도우로 분할할 수 있다.
그리고, 음성 데이터 전처리부는, 분할된 윈도우의 특징값을 추출할 때, 음성, 주파수 축 범위, 음성의 초당 샘플링 수, 프레임간의 샘플 수를 토대로 윈도우의 특징값을 추출할 수 있다.
이어, 음성 데이터 전처리부는, 음성 데이터를 수신하는 수신부와, 수신된 음성 데이터를 소정 크기의 윈도우로 분할하는 윈도우 분할부와, 분할된 윈도우의 특징값을 추출하는 특징 추출부와, 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하는 분류 정보 설정부를 포함할 수 있다.
다음, 음성 데이터 관리부는, 전처리된 음성 데이터를 저장할 때, 저장 위치 경로에 해당하는 디렉토리가 없으면 저장 위치 경로에 해당하는 디렉토리를 생성할 수 있다.
그리고, 음성 데이터 관리부는, 전처리된 음성 데이터를 저장할 때, 음성 데이터를 특정 포맷의 확장자로 저장할 수 있다.
이어, 음성 데이터 관리부는, 전처리된 음성 데이터를 저장하고 저장된 음성 데이터를 기계 학습부로 전송하거나 또는 전처리된 음성 데이터를 저장 없이 바로 기계 학습부로 전송할 수도 있다.
또한, 기계 학습부는, 화자 분류 학습을 수행할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 화자 분류 학습을 수행할 수 있다.
여기서, 기계 학습부는, 화자 분류 학습을 위한 학습 모델을 설계하는 학습 모델 설계부와, 설계된 학습 모델을 생성하는 학습 모델 생성부와, 전처리된 음성 데이터를 생성한 학습 모델을 통해 학습하는 학습부와, 학습 완료된 학습 모델을 통해 음성 데이터에 대한 화자 정보를 예측하는 예측부를 포함할 수 있다.
다음, 화자 정보 출력부는, 음성 데이터에 대한 화자 정보를 출력할 때, 음성 데이터 식별자 정보, 음성 데이터 타입 정보, 음성 데이터 화자 정보, 음성 데이터 시간 정보 중 적어도 어느 하나를 포함하는 화자 정보를 출력할 수 있다.
그리고, 화자 정보 출력부는, 음성 데이터에 대한 화자 정보를 출력할 때, xml 파일 형식으로 화자 정보를 출력할 수 있다.
한편, 본 발명의 일 실시예에 의한 음성 인식 방법은, 음성 데이터를 수신하는 단계와, 상기 음성 데이터를 소정 크기의 윈도우(window)로 분할하고, 상기 분할된 윈도우의 특징값을 추출하며, 상기 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하도록 전처리를 수행하는 단계와, 상기 전처리된 음성 데이터를 저장하여 관리하는 단계와, 상기 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계; 그리고, 상기 화자 분류 학습 결과를 토대로 상기 음성 데이터에 대한 화자 정보를 출력하는 단계를 포함할 수 있다.
본 발명에 따른 음성 인식 장치 및 방법의 효과에 대해 설명하면 다음과 같다.
본 발명은, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 음성 데이터로부터 xml 파일 형식으로 화자 정보를 출력함으로써, 음성 분석 성능을 향상시킬 수 있다.
또한, 본 발명은, 음성 데이터의 화자 정보를 자동으로 태깅하여 데이터 정보를 보다 접근 관리가 용이하게 해주며, 태깅 데이터를 이용해 원시데이터(음성데이터)의 공유 및 거래에도 활용할 수 있다.
또한, 본 발명은, 음성 데이터를 수치 데이터로 변환 가능하여 분석이 용이하고, 출력된 화자 정보를 토대로 특정 개인을 찾는 것 뿐만 아니라, 학습 방법과 출력 정보의 라벨 변환에 따라 연령대 예측이나 나라, 지역, 이민자 특유의 말투까지 구분할 수 있도록 다양한 목록으로 정할 수 있다.
또한, 본 발명은, 완벽한 성능을 보이지 못하여 상업용으로 사용할 수 없었던 기존 방법과는 달리, 보다 완벽에 가까운 음성 분석 성능을 보임으로써, 다른 사용자 생체 데이터들을 활용하는 방법과 동일하게 상업용으로 이용 가능하다.
또한, 본 발명은, 자동으로 화자 정보를 생성 및 태깅함으로써, 음성 데이터를 직접 열어 하나 하나 일일이 확인하지 않고도 확인 가능하므로 사용자 편의성을 제공할 수 있다.
또한, 본 발명은, 음성 데이터 전처리 방법과 해당 기계학습 방법을 통해 제작한 모델을 사용함으로써, 사람의 음성 데이터를 통해 90퍼센트 이상의 음성 분석 성능으로, 화자의 성별과 특정 연령대를 맞출 수 있다.
또한, 본 발명은, 프로그램 동작 코드로서, 프로그램 언어인 파이썬(python)이 동작 가능한 컴퓨터에서 사용할 수 있으며, 컴퓨터 없이 이론적으로 알고리즘의 구조를 변형하여 추가 연구를 진행 할 수도 있다.
또한, 본 발명은, 해당 알고리즘에 의거하여 학습 모델을 설계하여 학습된 모델을 제작함으로써, 정상 동작하는 컴퓨터 기기에서 사용할 수 있다.
본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
도 1은 본 발명에 따른 음성 인식 장치를 개략적으로 설명하기 위한 블럭 구성도이다.
도 2는 도 1의 음성 데이터 전처리부를 설명하기 위한 블럭 구성도이다.
도 3은 도 1의 음성 데이터 관리부를 설명하기 위한 블럭 구성도이다.
도 4는 도 1의 기계 학습부를 설명하기 위한 블럭 구성도이다.
도 5는 본 발명에 따른 음성 인식 방법을 개략적으로 설명하기 위한 흐름도이다.
도 6은 도 5의 기계 학습 알고리즘을 설명하기 위한 블럭 구성도이다.
이하에서는 도면을 참조하여 본 발명을 더욱 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.
도 1은 본 발명에 따른 음성 인식 장치를 개략적으로 설명하기 위한 블럭 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 음성 인식 장치는, 음성 데이터 전처리부(100), 음성 데이터 관리부(200), 기계 학습부(300), 그리고 화자 정보 출력부(400)를 포함할 수 있다.
여기서, 음성 데이터 전처리부(100)는, 음성 데이터가 수신되면 음성 데이터를 소정 크기의 윈도우(window)로 분할하고, 분할된 윈도우의 특징값을 추출하며, 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하여 전처리를 수행할 수 있다.
그리고, 음성 데이터 전처리부(100)는, 음성 데이터를 소정 크기의 윈도우로 분할할 때, 제1 시간의 음성 데이터를 제1 시간보다 더 작은 제2 시간의 음성 데이터로 잘라서 다수의 윈도우로 분할할 수 있다.
일 예로, 다수의 윈도우는, 서로 동일한 데이터 크기를 가질 수 있는데, 이에 한정되는 것은 아니다.
다른 일 예로, 다수의 윈도우는, 제1 데이터 크기를 갖는 제1 윈도우와, 제1 데이터 크기와 다른 제2 데이터 크기를 갖는 제2 윈도우를 포함할 수도 있다.
여기서, 제2 시간의 음성 데이터는, 제1 시간의 음성 데이터보다 약 1/2 ~ 약 1/20배 더 작은 데이터 크기를 가질 수 있는데, 이에 한정되지는 않는다.
또한, 음성 데이터 전처리부(100)는, 분할된 윈도우의 특징값을 추출할 때, 음성, 주파수 축 범위, 음성의 초당 샘플링 수, 프레임간의 샘플 수를 토대로 윈도우의 특징값을 추출할 수 있다.
이어, 음성 데이터 전처리부(100)는, 분할된 윈도우의 특징값을 추출할 때, 추출된 특징값에 로그를 취해 로그스펙(logspec)을 계산하여 데이터 벡터를 추출할 수 있다.
다음, 음성 데이터 전처리부(100)는, 음성 데이터에 대한 화자 분류 정보를 설정할 때, 적어도 어느 하나의 화자 분류 항목을 결정하고, 결정된 화자 분류 항목에 대한 라벨(label)값을 포함하는 화자 분류 정보를 설정하며, 설정된 화자 분류 정보를 토대로 음성 데이터를 분류할 수 있다.
여기서, 화자 분류 항목은, 성별 관련 분류항목, 연령대별 관련 분류 항목, 나라별 관련 분류 항목, 지역별 관련 분류 항목 중 적어도 어느 하나를 포함할 수 있는데, 이에 한정되지는 않는다.
또한, 화자 분류 항목에 대한 라벨값은, 화자 분류 항목에 상응하는 각 클래스(class)에 대해 정해지는 소정 숫자일 수 있다.
일 예로, 음성 데이터 전처리부(100)는, 음성 데이터를 수신하는 수신부, 수신된 음성 데이터를 소정 크기의 윈도우로 분할하는 윈도우 분할부, 분할된 윈도우의 특징값을 추출하는 특징 추출부, 그리고 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하는 분류 정보 설정부를 포함할 수 있다.
다음, 음성 데이터 관리부(200)는, 전처리된 음성 데이터를 저장하여 관리할 수 있다.
여기서, 음성 데이터 관리부(200)는, 전처리된 음성 데이터를 저장할 때, 저장 위치 경로에 해당하는 디렉토리가 없으면 저장 위치 경로에 해당하는 디렉토리를 생성할 수 있다.
또한, 음성 데이터 관리부(200)는, 전처리된 음성 데이터를 저장할 때, 음성 데이터를 특정 포맷의 확장자로 저장할 수 있다.
그리고, 음성 데이터 관리부(200)는, 전처리된 음성 데이터를 저장하고 저장된 음성 데이터를 기계 학습부로 전송하거나 또는 전처리된 음성 데이터를 저장 없이 바로 기계 학습부로 전송할 수 있다.
경우에 따라, 음성 데이터 관리부(200)는, 저장된 음성 데이터를 기계 학습부(300)로 전송할 때, 기계 학습부(300)로부터 전처리된 음성 데이터 요청 신호가 수신되면 저장된 음성 데이터를 기계 학습부(300)로 전송할 수 있다.
일 예로, 음성 데이터 관리부(200)는, 전처리된 음성 데이터의 저장 위치 경로를 설정하는 저장 위치 경로 설정부와, 음성 데이터의 저장 위치 경로에 따라 음성 데이터를 저장하는 저장 제어부를 포함할 수 있다.
다음, 기계 학습부(300)는, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행할 수 있다.
여기서, 기계 학습부(300)는, 화자 분류 학습을 수행할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 화자 분류 학습을 수행할 수 있다.
그리고, 기계 학습부(300)는, 전처리된 음성 데이터를 수신하면 화자 분류 학습을 위한 학습 모델을 설계하며, 설계된 학습 모델을 생성하고, 전처리된 음성 데이터를 생성한 학습 모델을 통해 학습하며, 학습 완료된 학습 모델을 통해 음성 데이터에 대한 화자 정보를 예측할 수 있다.
여기서, 기계 학습부(300)는, 생성한 학습 모델을 통해 학습을 수행할 때, 학습 모델에 포함되는 다수의 학습 단계를 첫 단계부터 마지막 단계까지 적어도 1회 이상 반복 수행할 수 있다.
일 예로, 기계 학습부(300)는, 화자 분류 학습을 위한 학습 모델을 설계하는 학습 모델 설계부, 설계된 학습 모델을 생성하는 학습 모델 생성부, 전처리된 음성 데이터를 생성한 학습 모델을 통해 학습하는 학습부, 그리고 학습 완료된 학습 모델을 통해 음성 데이터에 대한 화자 정보를 예측하는 예측부를 포함할 수 있다.
이어, 화자 정보 출력부(400)는, 화자 분류 학습 결과를 토대로 음성 데이터에 대한 화자 정보를 출력할 수 있다.
여기서, 화자 정보 출력부(400)는, 음성 데이터에 대한 화자 정보를 출력할 때, 음성 데이터 식별자 정보, 음성 데이터 타입 정보, 음성 데이터 화자 정보, 음성 데이터 시간 정보 중 적어도 어느 하나를 포함하는 화자 정보를 출력할 수 있는데, 이에 한정되는 것은 아니다.
일 예로, 화자 정보 출력부(400)는, 음성 데이터에 대한 화자 정보를 출력할 때, xml 파일 형식으로 화자 정보를 출력할 수 있는데, 이에 한정되지는 않는다.
이처럼, 본 발명에 의해 출력되는 화자 정보는, 하기 표와 같이 구성될 수 있는데, 이에 한정되지 않는다.
Figure 112018131725710-pat00001
즉, 본 발명에 의해 출력되는 화자 정보는, xml 파일이 태그 정보로서 생성이 되며, 남녀, 노소, 지역 정보 등을 구분 가능하게 된다.
이와 같이, 본 발명은, 기계학습을 통해 음성 데이터가 들어왔을 경우, 화자의 정보를 자동으로 태깅할 수 있다.
그리고, 학습을 위한 음성 데이터는, 공개된 음성 데이터와 유튜브 등에서 수집할 수 있는데, 반드시 이에 한정되지는 않는다.
또한, 본 발명은, 수집한 음성 데이터의 멜스펙트로그램(Melspectrogram)을 추출하여 별도 포맷의 확장자로 데이터를 다룰 수 있도록 하였다.
이처럼, 본 발명은, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 음성 데이터로부터 xml 파일 형식으로 화자 정보를 출력함으로써, 음성 분석 성능을 향상시킬 수 있다.
또한, 본 발명은, 음성 데이터의 화자 정보를 자동으로 태깅하여 데이터 정보를 보다 접근 관리가 용이하게 해주며, 태깅 데이터를 이용해 원시데이터(음성데이터)의 공유 및 거래에도 활용할 수 있다.
또한, 본 발명은, 음성 데이터를 수치 데이터로 변환 가능하여 분석이 용이하고, 출력된 화자 정보를 토대로 특정 개인을 찾는 것 뿐만 아니라, 학습 방법과 출력 정보의 라벨 변환에 따라 연령대 예측이나 나라, 지역, 이민자 특유의 말투까지 구분할 수 있도록 다양한 목록으로 정할 수 있다.
또한, 본 발명은, 완벽한 성능을 보이지 못하여 상업용으로 사용할 수 없었던 기존 방법과는 달리, 보다 완벽에 가까운 음성 분석 성능을 보임으로써, 다른 사용자 생체 데이터들을 활용하는 방법과 동일하게 상업용으로 이용 가능하다.
또한, 본 발명은, 자동으로 화자 정보를 생성 및 태깅함으로써, 음성 데이터를 직접 열어 하나 하나 일일이 확인하지 않고도 확인 가능하므로 사용자 편의성을 제공할 수 있다.
또한, 본 발명은, 음성 데이터 전처리 방법과 해당 기계학습 방법을 통해 제작한 모델을 사용함으로써, 사람의 음성 데이터를 통해 90퍼센트 이상의 음성 분석 성능으로, 화자의 성별과 특정 연령대를 맞출 수 있다.
또한, 본 발명은, 프로그램 동작 코드로서, 프로그램 언어인 파이썬(python)이 동작 가능한 컴퓨터에서 사용할 수 있으며, 컴퓨터 없이 이론적으로 알고리즘의 구조를 변형하여 추가 연구를 진행 할 수도 있다.
또한, 본 발명은, 해당 알고리즘에 의거하여 학습 모델을 설계하여 학습된 모델을 제작함으로써, 정상 동작하는 컴퓨터 기기에서 사용할 수 있다.
도 2는 도 1의 음성 데이터 전처리부를 설명하기 위한 블럭 구성도이다.
도 2에 도시된 바와 같이, 음성 데이터 전처리부(100)는, 음성 데이터를 수신하는 수신부(110), 수신된 음성 데이터를 소정 크기의 윈도우로 분할하는 윈도우 분할부(120), 분할된 윈도우의 특징값을 추출하는 특징 추출부(130), 그리고 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하는 분류 정보 설정부(140)를 포함할 수 있다.
여기서, 윈도우 분할부(120)는, 음성 데이터의 멜스펙트로그램의 추출을 위해, 음성 데이터를 윈도우 사이즈만큼 잘라서 나눌 수 있다.
예를 들면, 2초의 음성 데이터를 0.2초의 음성 데이터 10개로 나눌 수 있다.
즉, 윈도우 분할부(120)는, 음성 데이터를 소정 크기의 윈도우로 분할할 때, 제1 시간의 음성 데이터를 제1 시간보다 더 작은 제2 시간의 음성 데이터로 잘라서 다수의 윈도우로 분할할 수 있다.
일 예로, 다수의 윈도우는, 서로 동일한 데이터 크기를 가질 수 있는데, 이에 한정되는 것은 아니다.
다른 일 예로, 다수의 윈도우는, 제1 데이터 크기를 갖는 제1 윈도우와, 제1 데이터 크기와 다른 제2 데이터 크기를 갖는 제2 윈도우를 포함할 수도 있다.
여기서, 제2 시간의 음성 데이터는, 제1 시간의 음성 데이터보다 약 1/2 ~ 약 1/20배 더 작은 데이터 크기를 가질 수 있는데, 이에 한정되지는 않는다.
그리고, 특징 추출부(130)는, 나누어진 음성 데이터의 멜스펙트로그램이라는 특징값을 추출하여 로그(log)를 취해 로그스펙(logspec)을 계산할 수 있다.
즉, 특징 추출부(130)는, 분할된 윈도우의 특징값을 추출할 때, 음성, 주파수 축 범위, 음성의 초당 샘플링 수, 프레임간의 샘플 수를 토대로 윈도우의 특징값을 추출할 수 있다.
이어, 특징 추출부(130)는, 분할된 윈도우의 특징값을 추출할 때, 추출된 특징값에 로그를 취해 로그스펙(logspec)을 계산하여 데이터 벡터를 추출할 수 있다.
다음, 분류 정보 설정부(140)는, 라벨값을 분류라는 목표에 맞게, 다른 방식으로 정의할 수 있다.
예를 들면, 노인 0, 성인 1, 어린이 2로 라벨값을 정했을 경우, 이를 아래의 표 형태로 만들어줄 수 있다.
노인 성인 어린이
데이터 2 0 0 1
데이터 1 1 0 0

.
.
.
.
데이터 N 0 1 0
즉, 분류 정보 설정부(140)는, 음성 데이터에 대한 화자 분류 정보를 설정할 때, 적어도 어느 하나의 화자 분류 항목을 결정하고, 결정된 화자 분류 항목에 대한 라벨(label)값을 포함하는 화자 분류 정보를 설정하며, 설정된 화자 분류 정보를 토대로 음성 데이터를 분류할 수 있다.여기서, 화자 분류 항목은, 성별 관련 분류항목, 연령대별 관련 분류 항목, 나라별 관련 분류 항목, 지역별 관련 분류 항목 중 적어도 어느 하나를 포함할 수 있는데, 이에 한정되지는 않는다.
또한, 화자 분류 항목에 대한 라벨값은, 화자 분류 항목에 상응하는 각 클래스(class)에 대해 정해지는 소정 숫자일 수 있다.
도 3은 도 1의 음성 데이터 관리부를 설명하기 위한 블럭 구성도이다.
도 3에 도시된 바와 같이, 음성 데이터 관리부(200)는, 전처리된 음성 데이터의 저장 위치 경로를 설정하는 저장 위치 경로 설정부(210)와, 음성 데이터의 저장 위치 경로에 따라 음성 데이터를 저장하는 저장 제어부(220)를 포함할 수 있다.
여기서, 저장 위치 경로 설정부(210)는, 저장할 위치를 지정했을 때, 위치 경로에 해당하는 디렉토리가 없을 경우, 경로에 해당하는 디렉토리 생성할 수 있다.
예를 들면, C드라이브 -> Voice Predict -> Preprocessed Data 라는 경로에서, Preprocessed Data 라는 폴더(디렉토리)가 없을 경우 해당 폴더를 만들 수 있다.
즉, 저장 위치 경로 설정부(210)는, 전처리된 음성 데이터를 저장할 때, 저장 위치 경로에 해당하는 디렉토리가 없으면 저장 위치 경로에 해당하는 디렉토리를 생성할 수 있다.
또한, 저장 제어부(220)는, 전처리된 데이터를 저장 위치 경로 설정부(210)에서 지정한 경로에 저장할 수 있다.
여기서, 저장 제어부(220)는, 전처리된 음성 데이터를 저장할 때, 음성 데이터를 특정 포맷의 확장자로 저장할 수 있다.
그리고, 저장 제어부(220)는, 전처리된 음성 데이터를 저장하고 저장된 음성 데이터를 기계 학습부로 전송하거나 또는 전처리된 음성 데이터를 저장 없이 바로 기계 학습부로 전송할 수 있다.
경우에 따라, 저장 제어부(220)는, 저장된 음성 데이터를 기계 학습부(300)로 전송할 때, 기계 학습부로부터 전처리된 음성 데이터 요청 신호가 수신되면 저장된 음성 데이터를 기계 학습부로 전송할 수 있다.
도 4는 도 1의 기계 학습부를 설명하기 위한 블럭 구성도이다.
도 4에 도시된 바와 같이, 기계 학습부(300)는, 화자 분류 학습을 위한 학습 모델을 설계하는 학습 모델 설계부(310), 설계된 학습 모델을 생성하는 학습 모델 생성부(320), 전처리된 음성 데이터를 생성한 학습 모델을 통해 학습하는 학습부(330), 그리고 학습 완료된 학습 모델을 통해 음성 데이터에 대한 화자 정보를 예측하는 예측부(340)를 포함할 수 있다.
일 예로, 학습 모델 설계부(310)는, 화자 분류 학습을 위한 학습 모델을 설계할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하는 학습 모델을 설계할 수 있다.
그리고, 학습 모델 생성부(320)는, 설계된 모델을 프로그래밍 가능하도록 생성(선언 및 초기화)할 수 있다.
다음, 학습부(330)는, 전처리된 음성데이터를 생성된 모델에 학습할 수 있다.
여기서, 학습부(330)는, 학습을 수행할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 학습을 수행할 수 있다.
그리고, 학습부(330)는, 생성한 학습 모델을 통해 학습을 수행할 때, 학습 모델에 포함되는 다수의 학습 단계를 첫 단계부터 마지막 단계까지 적어도 1회 이상 반복 수행할 수 있다.
이어, 예측부(340)는, 학습 완료된 모델에 테스트 데이터를 넣을 경우, 테스트 데이터의 정보를 얻을 수 있다.
도 5는 본 발명에 따른 음성 인식 방법을 개략적으로 설명하기 위한 흐름도이다.
도 5에 도시된 바와 같이, 본 발명의 음성 인식 방법은, 음성 데이터를 수신하면 음성 데이터를 소정 크기의 윈도우(window)로 분할하고, 분할된 윈도우의 특징값을 추출하며, 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하도록 전처리를 수행하는 전처리 단계와, 전처리된 음성 데이터를 저장하여 관리하는 전처리 데이터 관리 단계와, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 기계 학습 단계와, 화자 분류 학습 결과를 토대로 음성 데이터에 대한 화자 정보를 출력하는 출력 단계를 포함할 수 있다.
먼저, 전처리 단계로서, 음성 데이터 전처리부의 윈도우 분할부(120)는, 수신된 음성 데이터를 소정 크기의 윈도우로 분할할 수 있다.
여기서, 윈도우 분할부(120)는, 음성 데이터의 멜스펙트로그램의 추출을 위해, 음성 데이터를 윈도우 사이즈만큼 잘라서 나눌 수 있다.
예를 들면, 2초의 음성 데이터를 0.2초의 음성 데이터 10개로 나눌 수 있다.
그리고, 음성 데이터 전처리부의 특징 추출부(130)는, 분할된 윈도우의 특징값을 추출할 수 있다.
여기서, 특징 추출부(130)는, 나누어진 음성 데이터의 멜스펙트로그램이라는 특징값을 추출하여 로그(log)를 취해 로그스펙(logspec)을 계산할 수 있다.
이어, 분류 정보 설정부(140)는, 음성 데이터에 대한 화자 분류 정보를 설정 및 분류할 수 있다.
여기서, 분류 정보 설정부(140)는, 라벨값을 분류라는 목표에 맞게, 다른 방식으로 정의할 수 있다.
예를 들면, 노인 0, 성인 1, 어린이 2로 라벨값을 정했을 경우, 이를 아래의 표 형태로 만들어줄 수 있다.
노인 성인 어린이
데이터 2 0 0 1
데이터 1 1 0 0

.
.
.
.
데이터 N 0 1 0
이어, 전처리 데이터 관리 단계로서, 음성 데이터 관리부의 저장 위치 경로 설정부(210)는, 저장할 위치를 지정했을 때, 위치 경로에 해당하는 디렉토리가 없을 경우, 경로에 해당하는 디렉토리 생성할 수 있다.예를 들면, C드라이브 -> Voice Predict -> Preprocessed Data 라는 경로에서, Preprocessed Data 라는 폴더(디렉토리)가 없을 경우 해당 폴더를 만들 수 있다.
다음, 음성 데이터 관리부의 저장 제어부(220)는, 전처리된 데이터를 저장 위치 경로 설정부(210)에서 지정한 경로에 저장할 수 있다.
그리고, 기계 학습 단계로서, 기계 학습부의 학습 모델 설계부(310)는, 화자 분류 학습을 위한 학습 모델을 설계할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하는 학습 모델을 설계할 수 있다.
이어, 기계 학습부의 학습 모델 생성부(320)는, 설계된 모델을 프로그래밍 가능하도록 생성(선언 및 초기화)할 수 있다.
다음, 기계 학습부의 학습부(330)는, 전처리된 음성데이터를 생성된 모델에 학습할 수 있다.
여기서, 학습부(330)는, 학습을 수행할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 학습을 수행할 수 있다.
이어, 기계 학습부의 예측부(340)는, 학습 완료된 모델에 테스트 데이터를 넣을 경우, 테스트 데이터의 정보를 얻을 수 있다.
도 6은 도 5의 기계 학습 알고리즘을 설명하기 위한 블럭 구성도이다.
도 6에 도시된 바와 같이, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 학습 모델은, 도 5의 cnn_tower 셀부터 model.fit 셀까지가 학습 과정이고, model.predict 셀이 예측 과정이다.
도 6의 학습 모델에서, INPUT은, 전처리된 데이터이고, OUTPUT은, 데이터의 태깅을 위한 정보(결과)일 수 있으며, ONE EPOCH는, 한 번의 epoch를 동작할 경우에 도 6의 흐름처럼 동작한다는 의미일 수 있는데, N회의 epoch를 동작할 경우, 첫 부분부터 끝 부분까지를 N회 반복할 수 있다.
여기서, CNN Core(311)는, 합성곱 신경망(CNN, Convilution Neural Network)이라는 딥러닝(머신러닝 중 인공신경망에 해당하는 학습방식) 방식의 핵심 부분으로서, 특징 추출 합성곱의 역할인 부분이다.
그리고, conv 2d 부분(312)은, 특징을 추출하는 필터를 선언한다.
이어, Activation 부분(313)은, 입력 신호의 총합을 그대로 사용하지 않고, 출력 신호로 변환하여 의미있는 값을 반환하게 하는 함수로서, 함수의 종류, 임계값을 기준으로 반환되는 값이 달라질 수 있다.
다음, MaxPooling 부분(314)은, Activation map을 MxN의 크기로 잘라낸 후, 그 안에서 가장 큰 값을 뽑아내는 방법이다.
그리고, Neural Network Dense 부분(315)은, Fully connected Layer라고 부르며, 인공신경망이라 칭하는 인공신경들의 집합일 수 있다.
이어, output layer 부분(316)은, 최종 결과값을 판단할 수 있도록 한 개의 결과값(수치)를 반환할 수 있다.
다음, Optimizer 부분(317)은, 최적화 함수로서, output layer 부분(316)에서 반환된 결과값을 최적화 하여, 화자의 정보를 구분 가능한 수치로 반환하게 되며 이는 OUTPUT일 수 있다.
한편, 본 발명에 따른 음성 인식 방법은, 음성 데이터를 수신하는 단계, 음성 데이터를 소정 크기의 윈도우(window)로 분할하고 분할된 윈도우의 특징값을 추출하며 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하도록 전처리를 수행하는 단계, 전처리된 음성 데이터를 저장하여 관리하는 단계, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계, 그리고 화자 분류 학습 결과를 토대로 음성 데이터에 대한 화자 정보를 출력하는 단계를 포함할 수 있다.
여기서, 전처리를 수행하는 단계는, 음성 데이터를 소정 크기의 윈도우로 분할할 때, 제1 시간의 음성 데이터를 제1 시간보다 더 작은 제2 시간의 음성 데이터로 잘라서 다수의 윈도우로 분할할 수 있다.
이때, 제2 시간의 음성 데이터는, 제1 시간의 음성 데이터보다 1/2 ~ 1/20배 더 작은 데이터 크기를 가질 수 있는데, 이에 한정되지는 않는다.
또한, 다수의 윈도우는, 서로 동일한 데이터 크기를 가질 수 있다.
경우에 따라, 다수의 윈도우는, 제1 데이터 크기를 갖는 제1 윈도우와, 제1 데이터 크기와 다른 제2 데이터 크기를 갖는 제2 윈도우를 포함할 수도 있다.
다음, 전처리를 수행하는 단계는, 분할된 윈도우의 특징값을 추출할 때, 음성, 주파수 축 범위, 음성의 초당 샘플링 수, 프레임간의 샘플 수를 토대로 상기 윈도우의 특징값을 추출할 수 있다.
그리고, 전처리를 수행하는 단계는, 분할된 윈도우의 특징값을 추출할 때, 추출된 특징값에 로그를 취해 로그스펙(logspec)을 계산하여 데이터 벡터를 추출할 수 있다.
이어, 전처리를 수행하는 단계는, 음성 데이터에 대한 화자 분류 정보를 설정할 때, 적어도 어느 하나의 화자 분류 항목을 결정하고, 결정된 화자 분류 항목에 대한 라벨(label)값을 포함하는 화자 분류 정보를 설정하며, 설정된 화자 분류 정보를 토대로 상기 음성 데이터를 분류할 수 있다.
여기서, 화자 분류 항목은, 성별 관련 분류항목, 연령대별 관련 분류 항목, 나라별 관련 분류 항목, 지역별 관련 분류 항목 중 적어도 어느 하나를 포함할 수 있는데, 이에 한정되지는 않는다.
또한, 화자 분류 항목에 대한 라벨값은, 화자 분류 항목에 상응하는 각 클래스(class)에 대해 정해지는 소정 숫자일 수 있는데, 이에 한정되지는 않는다.
다음, 전처리를 수행하는 단계는, 수신된 음성 데이터를 소정 크기의 윈도우로 분할하는 단계, 분할된 윈도우의 특징값을 추출하는 단계, 그리고 음성 데이터에 대한 화자 분류 정보를 설정 및 분류하는 단계를 포함할 수 있다.
이어, 전처리된 음성 데이터를 저장하여 관리하는 단계는, 전처리된 음성 데이터를 저장할 때, 저장 위치 경로에 해당하는 디렉토리가 없으면 저장 위치 경로에 해당하는 디렉토리를 생성할 수 있다.
그리고, 전처리된 음성 데이터를 저장하여 관리하는 단계는, 전처리된 음성 데이터를 저장할 때, 음성 데이터를 특정 포맷의 확장자로 저장할 수 있다.
이어, 전처리된 음성 데이터를 저장하여 관리하는 단계는, 전처리된 음성 데이터를 저장하고 저장된 음성 데이터를 기계 학습부로 전송하거나 또는 전처리된 음성 데이터를 저장 없이 바로 기계 학습부로 전송할 수 있다.
여기서, 전처리된 음성 데이터를 저장하여 관리하는 단계는, 저장된 음성 데이터를 기계 학습부로 전송할 때, 기계 학습부로부터 전처리된 음성 데이터 요청 신호가 수신되면 저장된 음성 데이터를 기계 학습부로 전송할 수 있다.
다음, 전처리된 음성 데이터를 저장하여 관리하는 단계는, 전처리된 음성 데이터의 저장 위치 경로를 설정하는 단계와, 음성 데이터의 저장 위치 경로에 따라 상기 음성 데이터를 저장하는 단계를 포함할 수 있다.
또한, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계는, 화자 분류 학습을 수행할 때, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 화자 분류 학습을 수행할 수 있다.
이어, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계는, 전처리된 음성 데이터를 수신하면 화자 분류 학습을 위한 학습 모델을 설계하는 단계, 설계된 학습 모델을 생성하는 단계, 전처리된 음성 데이터를 생성한 학습 모델을 통해 학습하는 단계, 그리고 학습 완료된 학습 모델을 통해 음성 데이터에 대한 화자 정보를 예측하는 단계를 포함할 수 있다.
여기서, 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계는, 생성한 학습 모델을 통해 학습을 수행할 때, 학습 모델에 포함되는 다수의 학습 단계를 첫 단계부터 마지막 단계까지 적어도 1회 이상 반복 수행할 수 있다.
그리고, 음성 데이터에 대한 화자 정보를 출력하는 단계는, 음성 데이터 식별자 정보, 음성 데이터 타입 정보, 음성 데이터 화자 정보, 음성 데이터 시간 정보 중 적어도 어느 하나를 포함하는 화자 정보를 출력할 수 있다.
또한, 음성 데이터에 대한 화자 정보를 출력하는 단계는, xml 파일 형식으로 상기 화자 정보를 출력할 수 있다.
이와 같이, 본 발명은, 합성곱 신경망(CNN, Convilution Neural Network)을 이용하여 음성 데이터로부터 xml 파일 형식으로 화자 정보를 출력함으로써, 음성 분석 성능을 향상시킬 수 있다.
또한, 본 발명은, 음성 데이터의 화자 정보를 자동으로 태깅하여 데이터 정보를 보다 접근 관리가 용이하게 해주며, 태깅 데이터를 이용해 원시데이터(음성데이터)의 공유 및 거래에도 활용할 수 있다.
또한, 본 발명은, 음성 데이터를 수치 데이터로 변환 가능하여 분석이 용이하고, 출력된 화자 정보를 토대로 특정 개인을 찾는 것 뿐만 아니라, 학습 방법과 출력 정보의 라벨 변환에 따라 연령대 예측이나 나라, 지역, 이민자 특유의 말투까지 구분할 수 있도록 다양한 목록으로 정할 수 있다.
또한, 본 발명은, 완벽한 성능을 보이지 못하여 상업용으로 사용할 수 없었던 기존 방법과는 달리, 보다 완벽에 가까운 음성 분석 성능을 보임으로써, 다른 사용자 생체 데이터들을 활용하는 방법과 동일하게 상업용으로 이용 가능하다.
또한, 본 발명은, 자동으로 화자 정보를 생성 및 태깅함으로써, 음성 데이터를 직접 열어 하나 하나 일일이 확인하지 않고도 확인 가능하므로 사용자 편의성을 제공할 수 있다.
또한, 본 발명은, 음성 데이터 전처리 방법과 해당 기계학습 방법을 통해 제작한 모델을 사용함으로써, 사람의 음성 데이터를 통해 90퍼센트 이상의 음성 분석 성능으로, 화자의 성별과 특정 연령대를 맞출 수 있다.
또한, 본 발명은, 프로그램 동작 코드로서, 프로그램 언어인 파이썬(python)이 동작 가능한 컴퓨터에서 사용할 수 있으며, 컴퓨터 없이 이론적으로 알고리즘의 구조를 변형하여 추가 연구를 진행 할 수도 있다.
또한, 본 발명은, 해당 알고리즘에 의거하여 학습 모델을 설계하여 학습된 모델을 제작함으로써, 정상 동작하는 컴퓨터 기기에서 사용할 수 있다.
이상에서 본 발명들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 음성 데이터가 수신되면 상기 음성 데이터를 다수의 윈도우(window)로 분할하고, 상기 분할된 각 윈도우에 대하여 음성, 주파수 축 범위, 음성의 초당 샘플링 수, 및 프레임간의 샘플 수에 기초하여 특징값을 추출하며, 상기 음성 데이터에 대한 적어도 하나의 화자 분류 항목을 결정하고 결정된 화자 분류 항목에 대한 라벨(label)값을 포함하는 화자 분류 정보를 설정하고, 설정된 화자 분류 정보를 기초로 상기 음성 데이터를 분류하여 전처리를 수행하는 음성 데이터 전처리부;
    상기 전처리된 음성 데이터를 저장하여 관리하는 음성 데이터 관리부;
    상기 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 기계 학습부; 그리고,
    상기 화자 분류 학습 결과를 토대로 상기 음성 데이터에 대한 화자 정보를 출력하는 화자 정보 출력부를 포함하고,
    상기 다수의 윈도우는, 제1 데이터 크기를 갖는 제1 윈도우와 제2 데이터 크기를 갖는 제2 윈도우를 포함하되, 상기 제2 데이터 크기는 상기 제1 데이터 크기의 1/2 내지 1/20배 크기를 가지고,
    상기 결정되는 화자 분류 항목은, 성별 관련 분류항목, 연령대별 관련 분류 항목, 나라별 관련 분류 항목, 및 지역별 관련 분류 항목 중 적어도 어느 하나를 포함하고,
    상기 화자 정보 출력부는, 상기 수신된 음성 데이터에 대한 화자 정보를 자동으로 xml 파일 형식의 태그 정보로 생성하여 출력하되, 상기 화자 정보는 상기 음성 데이터 식별자 정보, 상기 음성 데이터 파일 타입 정보, 상기 음성 데이터 화자 정보 및 상기 음성 데이터 시간 정보를 포함하고,
    상기 출력되는 음성 데이터 화자 정보는, 상기 화자 분류 항목에 대한 라벨값 변환에 따라 결정된 화자 분류 항목에 따라 태그 정보가 생성되는 것을 특징으로 하는 음성 인식 장치.
  2. 삭제
  3. 제1 항에 있어서, 상기 음성 데이터 관리부는,
    상기 전처리된 음성 데이터의 저장 위치 경로를 설정하는 저장 위치 경로 설정부; 그리고,
    상기 음성 데이터의 저장 위치 경로에 따라 상기 음성 데이터를 저장하는 저장 제어부를 포함하는 것을 특징으로 하는 음성 인식 장치.
  4. 제1 항에 있어서, 상기 기계 학습부는,
    합성곱 신경망(CNN, Convolution Neural Network)을 이용하여 상기 화자 분류 학습을 수행하는 것을 특징으로 하는 음성 인식 장치.
  5. 제1 항에 있어서, 상기 기계 학습부는,
    상기 화자 분류 학습을 위한 학습 모델을 설계하는 학습 모델 설계부;
    상기 설계된 학습 모델을 생성하는 학습 모델 생성부;
    상기 전처리된 음성 데이터를 상기 생성한 학습 모델을 통해 학습하는 학습부; 그리고,
    상기 학습 완료된 학습 모델을 통해 상기 음성 데이터에 대한 화자 정보를 예측하는 예측부를 포함하는 것을 특징으로 하는 음성 인식 장치.
  6. 삭제
  7. 음성 데이터를 수신하는 단계;
    상기 음성 데이터를 다수의 윈도우(window)로 분할하고, 상기 분할된 각 윈도우에 대하여 음성, 주파수 축 범위, 음성의 초당 샘플링 수, 및 프레임간의 샘플 수에 기초하여 특징값을 추출하며, 상기 음성 데이터에 대한 적어도 하나의 화자 분류 항목을 결정하고 결정된 화자 분류 항목에 대한 라벨(label)값을 포함하는 화자 분류 정보를 설정하고, 설정된 화자 분류 정보를 기초로 상기 음성 데이터를 분류하도록 전처리를 수행하는 단계;
    상기 전처리된 음성 데이터를 저장하여 관리하는 단계;
    상기 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계; 그리고,
    상기 화자 분류 학습 결과를 토대로 상기 음성 데이터에 대한 화자 정보를 출력하는 단계를 포함하되,
    상기 다수의 윈도우는, 제1 데이터 크기를 갖는 제1 윈도우와 제2 데이터 크기를 갖는 제2 윈도우를 포함하되, 상기 제2 데이터 크기는 상기 제1 데이터 크기의 1/2 내지 1/20배 크기를 가지고,
    상기 결정되는 화자 분류 항목은, 성별 관련 분류항목, 연령대별 관련 분류 항목, 나라별 관련 분류 항목, 및 지역별 관련 분류 항목 중 적어도 어느 하나를 포함하고,
    상기 화자 정보 출력부는, 상기 수신된 음성 데이터에 대한 화자 정보를 자동으로 xml 파일 형식의 태그 정보로 생성하여 출력하되, 상기 화자 정보는 상기 음성 데이터 식별자 정보, 상기 음성 데이터 파일 타입 정보, 상기 음성 데이터 화자 정보 및 상기 음성 데이터 시간 정보를 포함하고,
    상기 출력되는 음성 데이터 화자 정보는, 상기 화자 분류 항목에 대한 라벨값 변환에 따라 결정된 화자 분류 항목에 따라 태그 정보가 생성되는 것을 특징으로 하는 음성 인식 방법.
  8. 삭제
  9. 제7 항에 있어서, 상기 전처리된 음성 데이터를 저장하여 관리하는 단계는,
    상기 전처리된 음성 데이터의 저장 위치 경로를 설정하는 단계; 그리고,
    상기 음성 데이터의 저장 위치 경로에 따라 상기 음성 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 음성 인식 방법.
  10. 제7 항에 있어서, 상기 전처리된 음성 데이터에 대한 화자 분류 학습을 수행하는 단계는,
    상기 전처리된 음성 데이터를 수신하면 상기 화자 분류 학습을 위한 학습 모델을 설계하는 단계;
    상기 설계된 학습 모델을 생성하는 단계;
    상기 전처리된 음성 데이터를 상기 생성한 학습 모델을 통해 학습하는 단계; 그리고,
    상기 학습 완료된 학습 모델을 통해 상기 음성 데이터에 대한 화자 정보를 예측하는 단계를 포함하는 것을 특징으로 하는 음성 인식 방법.
KR1020180172209A 2018-12-28 2018-12-28 음성 인식 장치 및 방법 KR102199825B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180172209A KR102199825B1 (ko) 2018-12-28 2018-12-28 음성 인식 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180172209A KR102199825B1 (ko) 2018-12-28 2018-12-28 음성 인식 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200087889A KR20200087889A (ko) 2020-07-22
KR102199825B1 true KR102199825B1 (ko) 2021-01-08

Family

ID=71893200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180172209A KR102199825B1 (ko) 2018-12-28 2018-12-28 음성 인식 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102199825B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102135A1 (en) 2003-11-12 2005-05-12 Silke Goronzy Apparatus and method for automatic extraction of important events in audio signals
JP2006120136A (ja) 2004-09-27 2006-05-11 Kyoto Univ 言語処理装置、言語処理方法、言語処理プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
KR101449856B1 (ko) 2013-06-18 2014-10-13 경희대학교 산학협력단 전화 통화의 사용자 감정 판단 방법
KR101619262B1 (ko) * 2014-11-14 2016-05-18 현대자동차 주식회사 음성인식 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995927A (en) * 1997-03-14 1999-11-30 Lucent Technologies Inc. Method for performing stochastic matching for use in speaker verification
US20030236663A1 (en) * 2002-06-19 2003-12-25 Koninklijke Philips Electronics N.V. Mega speaker identification (ID) system and corresponding methods therefor
KR102313028B1 (ko) * 2015-10-29 2021-10-13 삼성에스디에스 주식회사 음성 인식 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102135A1 (en) 2003-11-12 2005-05-12 Silke Goronzy Apparatus and method for automatic extraction of important events in audio signals
JP2006120136A (ja) 2004-09-27 2006-05-11 Kyoto Univ 言語処理装置、言語処理方法、言語処理プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
KR101449856B1 (ko) 2013-06-18 2014-10-13 경희대학교 산학협력단 전화 통화의 사용자 감정 판단 방법
KR101619262B1 (ko) * 2014-11-14 2016-05-18 현대자동차 주식회사 음성인식 장치 및 방법

Also Published As

Publication number Publication date
KR20200087889A (ko) 2020-07-22

Similar Documents

Publication Publication Date Title
CN108597541B (zh) 一种增强愤怒与开心识别的语音情感识别方法及系统
CN108831439B (zh) 语音识别方法、装置、设备和系统
CN110364171B (zh) 一种语音识别方法、语音识别系统及存储介质
CN103700370B (zh) 一种广播电视语音识别系统方法及系统
WO2020247231A1 (en) Multiple classifications of audio data
CN110910283A (zh) 生成法律文书的方法、装置、设备和存储介质
CN108899013A (zh) 语音搜索方法、装置和语音识别系统
CN105895103A (zh) 一种语音识别方法及装置
CN112735383A (zh) 语音信号的处理方法、装置、设备及存储介质
CN102810311B (zh) 说话人估计方法和说话人估计设备
CN1924994B (zh) 一种嵌入式语音合成方法及系统
CN113506574A (zh) 自定义命令词的识别方法、装置和计算机设备
CN106875936A (zh) 语音识别方法及装置
CN111666381A (zh) 一种面向智能管制的任务型问答交互系统
CN114120985A (zh) 智能语音终端的安抚交互方法、系统、设备及存储介质
CN111128175B (zh) 口语对话管理方法及系统
CN114911932A (zh) 基于主题语义增强的异构图结构多会话者情感分析方法
Kumar et al. Machine learning based speech emotions recognition system
KR102199825B1 (ko) 음성 인식 장치 및 방법
CN107123420A (zh) 一种语音识别系统及其交互方法
CN113539235B (zh) 文本分析与语音合成方法、装置、系统及存储介质
CN113539234B (zh) 语音合成方法、装置、系统及存储介质
CN114373443A (zh) 语音合成方法和装置、计算设备、存储介质及程序产品
CN112908296A (zh) 一种方言识别方法
CN110910904A (zh) 一种建立语音情感识别模型的方法及语音情感识别方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant