KR20240103425A - 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치 - Google Patents

대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치 Download PDF

Info

Publication number
KR20240103425A
KR20240103425A KR1020220185588A KR20220185588A KR20240103425A KR 20240103425 A KR20240103425 A KR 20240103425A KR 1020220185588 A KR1020220185588 A KR 1020220185588A KR 20220185588 A KR20220185588 A KR 20220185588A KR 20240103425 A KR20240103425 A KR 20240103425A
Authority
KR
South Korea
Prior art keywords
speaker
conversation
global
unit
voice data
Prior art date
Application number
KR1020220185588A
Other languages
English (en)
Other versions
KR102685265B1 (ko
Inventor
김형순
박순찬
Original Assignee
부산대학교 산학협력단
Filing date
Publication date
Application filed by 부산대학교 산학협력단 filed Critical 부산대학교 산학협력단
Publication of KR20240103425A publication Critical patent/KR20240103425A/ko
Application granted granted Critical
Publication of KR102685265B1 publication Critical patent/KR102685265B1/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
    • G10L17/00Speaker identification or verification techniques
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • 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

Abstract

본 발명은 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치에 관한 것으로서, 적어도 둘 이상의 화자 간의 대화에서 발화된 복수의 대화음성 데이터를 입력받는 단계와, 상기 대화음성 데이터에서 묵음구간을 제외하고 화자의 발화음성이 존재하는 음성구간을 개별 데이터별로 검출하는 단계와, 검출된 음성구간 데이터를 기설정된 단위로 분할하여 복수의 단위음성 데이터를 생성하고, 각각의 상기 단위음성 데이터에 대하여 상기 단위음성 데이터에 대응하는 대화단위화자의 특징에 따른 화자 임베딩값에 기초한 화자 식별자를 부여하는 단계와, 상기 화자 식별자의 동일성에 따라 복수의 상기 대화단위화자를 그룹화한 대화화자집합을 개별 데이터 단위로 생성하고, 각각의 상기 대화화자집합에 대한 제1 평균 임베딩값에 기초하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화한 후 이에 따른 전역화자 식별자를 부여하는 단계와, 상기 전역화자 식별자가 동일한 경우에 대하여 군집화된 적어도 하나 이상의 상기 대화 화자 집합 전체에 대한 제2 평균 임베딩값을 상기 전역화자 식별자와 매칭하여 등록화자 DB에 상기 전역화자별로 등록하는 단계를 포함하는 것을 특징으로 한다.
이에 따라, 데이터 전체에 대해 단순 화자 분할을 적용하는 경우에 비해 연산량을 크게 감소시키고 대화 내와 대화 사이 동일 화자를 판별하는 알고리즘을 서로 다르게 적용함으로써 정확도를 향상시킬 수 있는 효과가 있다.

Description

대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치{METHOD AND APPARATUS FOR AUTOMATIC SPEAKER LABELING FOR ANALYZING LARGE-SCALE CONVERSATIONAL SPEECH DATA}
본 발명은 음성 구간 및 화자 정보가 없는 대용량의 대화 음성으로부터 자동으로 동일 화자에 의해 발성된 음성 구간을 식별하는 자동 화자 레이블링 방법 및 장치에 관한 것이다.
화자 인식(speaker recognition)은 주어진 음성으로부터 화자 정보를 추정하는 기술로, 주어진 두 음성의 화자 일치 여부를 판별하는 화자 확인(speaker verification), 등록된 화자 중 어떤 화자에 해당하는지 판별하는 화자 식별(speaker identification), 대화 음성에서 화자가 바뀌는 시점을 감지하고 어떤 화자에 의한 발화인지 추정하는 화자 분할(speaker diarization) 등의 세부 기술로 분류되며, 화자 인식을 위해 일정하지 않은 길이의 음성으로부터 화자 정보를 추출하여 일정한 크기의 벡터로 만든 것을 화자 임베딩(speaker embedding)이라고 한다.
화자 분할은 일반적으로 통화 및 회의 음성 등 연속적인 오디오 데이터에 대해 동작하는데, 이러한 데이터에는 동일 화자에 의해 발화된 음성이 많을 가능성이 높고 포함된 화자 수가 제한되어 있는 경우가 많다.
특히, 통화 데이터는 많은 경우 두 명의 화자의 음성으로 구성되므로 특정 인물에 대한 발화를 비교적 많이 확보할 수 있으며, 이러한 도메인 특성을 활용하여 화자 수를 사전에 설정하여 화자 분할의 정확도를 높이는 알고리즘도 존재한다. 명시적으로 화자의 수를 설정하지 않더라도 연속적인 오디오 데이터의 특성을 반영하여 알고리즘이 최적화되기 때문에, 시간적 간격이 큰 통화 음성과 같이 비 연속적인 오디오 데이터에서는 동일한 화자의 음성을 서로 다른 화자의 음성으로 분류할 가능성이 높아진다.
화자 식별은 대상 음성이 등록된 다수의 화자 중 어떤 화자에 해당하는지를 판별하는 기술이다. 등록된 화자 음성으로부터 추출한 화자 임베딩들과 대상 음성으로부터 추출한 화자 임베딩 사이 유사도를 비교하여, 가장 유사도가 높은 등록 화자를 대상 음성의 화자와 동일하다고 판단한다.
따라서, 등록 화자의 수가 늘어나는 것에 비례하여 연산량이 증가하게 되며, 만약 등록 화자 중 중복된 화자가 다수 존재한다면 화자 식별의 효율성이 크게 낮아지게 된다.
KR 10-1616112 B1 KR 10-2021-0008520 A
본 발명의 목적은 상기 문제점을 해결하기 위한 것으로서, 음성 구간 및 화자 정보가 없는 대용량의 대화 음성으로부터 자동으로 동일 화자에 의해 발성된 음성 구간을 식별하는 자동 화자 레이블링 방법 및 장치를 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 일면에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법은, 적어도 둘 이상의 화자 간의 대화에서 발화된 복수의 대화음성 데이터를 입력받는 단계와, 상기 대화음성 데이터에서 묵음구간을 제외하고 화자의 발화음성이 존재하는 음성구간을 개별 데이터별로 검출하는 단계와, 검출된 음성구간 데이터를 기설정된 단위로 분할하여 복수의 단위음성 데이터를 생성하고, 각각의 상기 단위음성 데이터에 대하여 상기 단위음성 데이터에 대응하는 대화단위화자의 특징에 따른 화자 임베딩값에 기초한 화자 식별자를 부여하는 단계와, 상기 화자 식별자의 동일성에 따라 복수의 상기 대화단위화자를 그룹화한 대화화자집합을 개별 데이터 단위로 생성하고, 각각의 상기 대화화자집합에 대한 제1 평균 임베딩값에 기초하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화한 후 이에 따른 전역화자 식별자를 부여하는 단계와, 상기 전역화자 식별자가 동일한 경우에 대하여 군집화된 복수의 상기 대화 화자 집합 전체에 대한 제2 평균 임베딩값을 상기 전역화자 식별자와 매칭하여 등록화자 DB에 상기 전역화자별로 등록하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 등록하는 단계 이후에, 화자를 식별하고자 하는 대상음성 데이터를 입력받는 단계와, 입력된 대상음성 데이터의 특징에 따른 화자 임베딩값을 추출하는 단계와, 추출된 화자 임베딩값과 상기 등록화자 DB에 전역화자별로 기등록된 상기 제2 평균 임베딩값에 대한 코사인 유사도를 측정하는 단계와, 측정된 코사인 유사도가 기설정된 임계값 이상이고 가장 높은 값을 갖는 경우에 대응하는 전역화자를 상기 대상음성 데이터의 화자와 동일한 것으로 추정하여 식별하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 전역화자 식별자를 부여하는 단계는, 각각의 상기 대화음성 데이터에 기초하여 상기 화자식별자가 동일한 경우에 대응하는 복수의 상기 대화단위화자를 하나로 그룹화한 대화화자집합을 개별 데이터 단위로 생성하는 단계와, 생성된 상기 대화화자집합에 속하는 적어도 하나 이상의 상기 대화단위화자의 특징에 따른 상기 화자 임베딩값을 평균한 대화집합 평균값을 산출하는 단계와, 각각의 상기 대화화자집합에 대응하여 산출된 상기 대화집합 평균값을 이용하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화하는 단계와, 특정 전역화자로 구분된 상기 대화화자집합 전체에 대하여 상기 전역화자에 따른 전역화자 식별자를 부여하는 단계와, 상기 전역화자 식별자에 대응하는 상기 대화화자집합 전체에 속하는 복수의 상기 대화단위화자에 대한 상기 화자 임베딩값을 평균한 전역화자 평균값을 상기 전역화자별로 산출하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 다른 일면에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 장치는, 적어도 둘 이상의 화자 간의 대화에서 발화된 복수의 대화음성 데이터를 입력받는 음성데이터 입력부와, 상기 대화음성 데이터에서 묵음구간을 제외하고 화자의 발화음성이 존재하는 음성구간을 개별 데이터별로 검출하는 음성구간 검출부와, 검출된 음성구간 데이터를 기설정된 단위로 분할하여 복수의 단위음성 데이터를 생성하고, 각각의 상기 단위음성 데이터에 대하여 상기 단위음성 데이터에 대응하는 대화단위화자의 특징에 따른 화자 임베딩값에 기초한 화자 식별자를 부여하는 화자 분할부와, 상기 화자 식별자의 동일성에 따라 복수의 상기 대화단위화자를 그룹화한 대화화자집합을 개별 데이터 단위로 생성하고, 각각의 상기 대화화자집합에 대한 제1 평균 임베딩값에 기초하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화한 후 이에 따른 전역화자 식별자를 부여하는 화자 군집화 모듈과, 상기 전역화자 식별자가 동일한 경우에 대하여 군집화된 상기 대화화자집합 전체에 대한 제2 평균 임베딩값을 상기 전역화자 식별자와 매칭하여 상기 전역화자별로 등록하는 등록화자 DB와, 화자를 식별하고자 하는 대상음성 데이터의 특징에 따른 화자 임베딩값과 상기 등록화자 DB에 상기 전역화자별로 기등록된 상기 제2 평균 임베딩값의 코사인 유사도를 측정하여 가장 높은 유사도를 갖는 상기 전역화자를 상기 대상음성 데이터의 화자와 동일한 것으로 추정하여 식별하는 화자 식별 모듈을 포함하는 것을 특징으로 한다.
본 발명에 따르면, 데이터 전체에 대해 단순 화자 분할을 적용하는 경우에 비해 연산량을 크게 감소시키고 대화 내와 대화 사이 동일 화자를 판별하는 알고리즘을 서로 다르게 적용함으로써 정확도를 향상시킬 수 있는 효과가 있다.
또한, 본 발명에 따르면, 보이스피싱 범죄 특성상 동일 범죄자가 다수의 범죄를 저지르는 경우가 많은 점을 고려하여 장기간 누적된 피해 신고 데이터로부터 특정 범죄자가 어떤 기간에 반복적으로 범행을 시도하였는지를 분석할 수 있어 보이스피싱 범죄 수사 및 예방에 기여할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 장치의 구성을 나타낸 블록도이고,
도 2는 본 발명의 일 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법을 도시한 순서도이고,
도 3은 도 2의 S400 단계 이후 과정을 상세히 도시한 순서도이고,
도 4는 도 2의 S100 단계 내지 S330 단계에 의해 대화음성 데이터로부터 복수의 단위음성 데이터를 생성하는 과정을 설명하기 위한 도면이고,
도 5는 도 2의 S400 단계 및 S500 단계에 의해 복수의 대화음성 데이터 전체 범위에서 복수의 대화단위화자를 전역화자별로 군집화하는 과정을 설명하기 위한 도면이고,
도 6은 도 1의 인공 신경망의 내부 구조를 나타낸 도면이다.
이상과 같은 본 발명에 대한 해결하려는 과제, 과제의 해결수단, 발명의 효과를 포함한 구체적인 사항들은 다음에 기재할 실시예 및 도면에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예를 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 1은 본 발명의 일 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 장치의 구성을 나타낸 블록도이고, 도 2는 본 발명의 일 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법을 도시한 순서도이고, 도 3은 도 2의 S400 단계 이후 과정을 상세히 도시한 순서도이고, 도 4는 도 2의 S100 단계 내지 S330 단계에 의해 대화음성 데이터로부터 복수의 단위음성 데이터를 생성하는 과정을 설명하기 위한 도면이고, 도 5는 도 2의 S400 단계 및 S500 단계에 의해 복수의 대화음성 데이터 전체 범위에서 복수의 대화단위화자를 전역화자별로 군집화하는 과정을 설명하기 위한 도면이고, 도 6은 도 1의 인공 신경망의 내부 구조를 나타낸 도면이다.
이하, 전술한 도면들을 참조하여 본 발명의 바람직한 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치에 대해 설명하면 다음과 같다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 장치는 크게 음성데이터 입력부(100), 음성구간 검출부(200), 화자 분할부(300), 인공 신경망 모듈(400), 화자 군집화 모듈(500), 등록화자 DB(600), 화자 식별 모듈(700)을 포함하여 구성된다.
음성데이터 입력부(100)는 화자 정보를 등록하기 위한 대화음성 데이터(DC)를 입력받는 역할을 한다.
음성데이터 입력부(100)는 대화음성 DB(10)로부터 복수의 대화음성 데이터(DC)를 불러와서 입력받을 수 있으며, 대화음성 DB(10)는 소정의 데이터베이스 형태로 마련되어 대규모로 수집된 대화음성 데이터(DC)를 저장하는 것일 수 있다.
여기서, 대화음성 데이터(DC)는 적어도 둘 이상의 화자 간의 대화에서 발화된 대화음성에 대한 데이터로서 각 화자별 발화 특징 정보를 포함하는 것일 수 있다.
이때, 발화 특징 정보는 화자의 음색을 구분할 수 있는 발화 속도 및 억양 특성에 따른 특징 정보일 수 있다.
음성구간 검출부(200)는 음성데이터 입력부(100)에 의해 입력된 복수의 대화음성 데이터(DC)로부터 음성구간 데이터(Dv)를 검출한다.
음성구간 검출부(200)는 각 대화음성 데이터(DC)에서 화자의 발화음성이 존재하는 음성구간에 대한 음성구간 데이터(Dv)를 개별 데이터별로 검출할 수 있다.
음성구간 검출부(200)는 각 대화음성 데이터(DC)에서 음성 활동이 감지되지 않는 경우를 묵음구간으로 판단하여 제거할 수 있고, 상기 묵음구간의 시점 및 종점에 대한 인덱스 정보를 획득할 수 있다. 이때, 음성구간 데이터(Dv)에는 시간 정보가 포함되는 것이 바람직하다.
화자 분할부(300)는 음성 구간들을 동일 화자 단위로 분류한 후 이에 대한 화자 식별자를 부여하기 위한 것이다.
화자 분할부(300)는 음성구간 검출부(200)에 의해 검출된 음성구간 데이터(DV)를 기설정된 단위로 분할하여 복수의 단위음성 데이터(DU)를 생성한다.
화자 분할부(300)는 복수의 단위음성 데이터(DU) 각각의 시점 및 종점에 대한 인덱스 정보를 획득할 수 있다.
화자 분할부(300)는 복수의 단위음성 데이터(DU) 각각에 대하여 단위음성 데이터(DU)에 대응하는 대화단위화자(SU)의 특징에 따른 화자 임베딩값에 기초한 화자 식별자(IU)를 부여한다.
화자 분할부(300)는 단위음성 데이터(DU)를 인공 신경망 모듈(400)의 특징 벡터 변환부(420)로 전달하고 이에 대응하여 인공 신경망(440)으로부터 출력되는 화자 임베딩값을 입력받아 획득할 수 있다.
예컨대, 도 4를 참조하면, 음성데이터 입력부(100)에 의해 입력된 대화음성 데이터(41)에 대하여, 음성구간 검출부(200)는 대화음성 데이터(41)에서 묵음구간을 제외한 나머지에 해당하는 음성구간 데이터(42)를 검출하고, 화자 분할부(300)는 음성구간 데이터(42)를 기설정된 단위로 분할한 복수의 단위음성 데이터(43,44,45)를 생성하고 각각의 화자 특징에 따른 화자 식별자('대화1-화자1','대화1-화자2')를 부여하게 된다.
인공 신경망 모듈(400)은 화자의 발화 특징에 기초하여 화자를 분류하도록 학습된 인공 신경망을 이용하여 특정 음성에 포함된 화자를 분류하기 위한 화자 임베딩값을 출력한다.
인공 신경망 모듈(400)은 구체적으로 도 1에 도시된 바와 같이 특징 벡터 변환부(420)와 인공 신경망(440)을 포함할 수 있다.
특징 벡터 변환부(420)는 외부로부터 입력된 음성 데이터로부터 음향 특징 벡터를 생성한다.
특징 벡터 변환부(420)는 화자 분할부(300)로부터 단위음성 데이터(DU)를 입력받아 단위음성 데이터(DU)에 대한 음향 특징 벡터를 생성할 수 있고, 음성 특징 추출부(720)로부터 대상음성 데이터(DT)를 입력받아 대상음성 데이터(DT)에 대한 음향 특징 벡터를 생성할 수 있다.
특징 벡터 변환부(420)는 음성 신호에 대한 음성 데이터(단위음성 데이터 또는 대상음성 데이터)를 로그 멜 스펙트럼(log-Mel Spectrum)으로 변환함에 따라 음향 특징 벡터를 생성할 수 있다.
특징 벡터 변환부(420)는 음성 데이터를 기설정된 크기의 프레임으로 구분하여 단시간 푸리에 변환(short time fourier transform)함에 따라 각 프레임에 대한 주파수 스펙트럼을 산출하고, 각 프레임에 대한 주파수 스펙트럼을 로그 멜 필터뱅크의 필터에 통과시켜 각 주파수 대역에서 신호의 크기(magnitude)를 구해 로그를 취하며 각 시간 및 주파수 대역의 크기값을 산출하는 것일 수 있다.
특징 벡터 변환부(420)는 시간에 따른 복수 개의 프레임 각각에서 복수 개의 주파수 대역 각각에 대해 산출한 복수 개의 크기값을 포함하는 각 프레임에 대응되는 열을 시간 순서대로 나열하며, 복수 개의 프레임에 대응되는 개수의 열과 복수 개의 주파수 대역에 대응되는 행으로 구성된 음향 특징 벡터를 생성하는 것일 수 있다.
예를 들어, 특징 벡터 변환부(420)는 시간에 따른 복수 개의 진폭값을 포함하는 1×T크기의 음성 데이터를 입력받아 음성 데이터를 기설정된 크기의 프레임으로 구분함에 따라 N개의 프레임 각각에 대한 주파수 스펙트럼을 산출하고, 각 프레임에 대한 주파수 스펙트럼을 로그 멜 필터뱅크의 F 개의 필터에 통과시켜 각 주파수 대역에서 신호의 크기(magnitude)를 구해 로그를 취하며 각 프레임과 주파수 대역에 대응되는 크기값을 산출하고, 복수 개의 프레임 각각에 대응되는 F개의 크기값을 시간에 나열하며 F×N크기의 유효 특징 벡터를 생성하는 것일 수 있다.
인공 신경망(440)은 특징 벡터 변환부(420)에 의해 생성된 음향 특징 벡터를 입력받아 음성 데이터에 대응되는 화자 임베딩값을 출력한다.
인공 신경망(440)은 적어도 하나의 컨볼루션 레이어를 포함하는 복수 개의 레이어 블록으로 구성된다.
인공 신경망(440)은 입력층, 은닉층, 출력층으로 구성되어 입력층으로 소정의 음성데이터로부터 변환된 음향특징벡터가 입력되면, 입력 음성데이터에 포함된 화자의 특징을 합성곱 필터를 통해 은닉층에서 추출하고, 추출된 특징에 따른 복수 개의 행렬값으로 구성된 화자 임베딩값을 출력층에서 출력하도록 학습된 것일 수 있다.
인공 신경망(440)은 화자 분류 네트워크를 학습하고 은닉층 중 하나를 임베딩으로 취하는 방식으로 신호의 시간 변화 패턴을 반영 가능한 네트워크를 구성하는 시간 지연 신경망(Time Delay Neural Networks, TDNN)을 포함할 수 있으며, 이를 통해 입력층의 가로축 방향이 시간을 나타내고 시간축 방향의 최소 단위는 1프레임이라 할 때, 프레임 단위의 입력 음성에 대한 프레임 단위의 출력 음성을 풀링(Pooling) 기법을 통해 고정된 차원의 단일 벡터의 화자 임베딩값을 출력하는 동작을 수행할 수 있다.
인공 신경망(440)은 ECAPA-TDNN 모델 구조로 구성될 수 있으며, 구체적으로는, 도 6에 도시된 바와 같이 활성화 함수 ReLU를 적용한 1차원 컨볼루션 레이어(Conv1D)를 포함하는 제1 레이어 블록과, 확장된 컨볼루션 블록(SE-Res2Block)을 포함하는 복수 개의 제2 레이어 블록과, 다층 특징 집합(multi-layer feature aggregation, MFA)에 해당하는 제3 레이어 블록과, 풀링 레이어(Attentive Stat Pooling)를 포함하는 제4 레이어 블록과, 완전 연결 레이어(FC)를 포함하는 제5 레이어 블록과, 소프트맥스 함수(AAM-Softmax)를 포함하는 제6 레이어 블록을 포함하여 구성될 수 있다.
여기서, 상기 제2 레이어 블록(SE-Res2Block)은 Res2Net에 Squeeze-Excitation을 결합한 형태로서 프레임-레벨 특징(frame-level feature)의 크기를 조정하기 위한 것이고, 상기 제4 레이어 블록(Attentive Stat Pooling)은 시계열에 대한 어텐션 메커니즘(temporal attention mechanism)을 채널 차원으로 더욱 확장시키기 위한 것이고, 상기 제5 레이어 블록은 계층적인 정보를 추가하기 위한 것일 수 있다.
예컨대, 도 6에 도시된 인공 신경망(440)은 입력층으로 80×T크기의 음향 특징 벡터가 입력되면, 이에 대응하여 S×1크기의 화자 임베딩값을 출력층에서 출력하게 된다. 이때, C는 특징맵의 채널 개수, T는 특징맵의 시간 차원의 개수, S는 훈련 화자의 수, k는 커널 크기, d는 확장 간격을 각각 나타낼 수 있다.
화자 군집화 모듈(500)은 화자 분할부(300)에 의해 분할된 복수의 단위음성 데이터(DU)를 전역 화자별로 군집화하기 위한 것이다.
화자 군집화 모듈(500)은 각 단위음성 데이터(DU)에 대응하는 대화단위화자(SU)를 개별 데이터 단위로 그룹화한 후 데이터 전체 범위에서 추가로 군집화한다.
화자 군집화 모듈(500)은 화자 식별자(IU)의 동일성에 따라 복수의 대화단위화자(SU)를 그룹화한 대화화자집합(SS)을 개별 데이터 단위로 생성할 수 있다.
화자 군집화 모듈(500)은 각각의 대화화자집합(SS)에 대한 제1 평균 임베딩값에 기초하여 음성데이터 입력부(100)에 의해 입력된 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 대화화자집합(SS)을 복수의 전역화자들(SG) 중 하나로 군집화한 후 이에 따른 전역화자 식별자(IG)를 부여할 수 있다.
화자 군집화 모듈(500)은 구체적으로 도 1에 도시된 바와 같이 대화집합 그룹화부(510), 대화집합 평균 산출부(520), 전역화자 군집화부(530), 전역화자 평균 산출부(540)를 포함할 수 있다.
대화집합 그룹화부(510)는 화자 식별자(IU)의 동일성에 따라 복수의 대화단위화자(SU)를 그룹화한다.
대화집합 그룹화부(510)는 각각의 대화음성 데이터(DC)에 기초하여 화자식별자(IU)가 동일한 경우에 대응하는 복수의 대화단위화자(SU)를 하나로 그룹화한 대화화자집합(SS)을 개별 데이터 단위로 생성할 수 있다.
이때, 개별 데이터 단위로 생성하는 것은 하나의 대화음성 데이터(DC)를 기본 단위로 하여 각 기본 단위별로 구분하여 생성함을 의미할 수 있다.
대화집합 평균 산출부(520)는 대화집합 그룹화부(510)에 의해 생성된 대화화자집합(SS)에 대한 제1 평균 임베딩값을 산출한다.
대화집합 평균 산출부(520)는 상기 제1 평균 임베딩값으로서, 대화집합 그룹화부(510)에 의해 생성된 대화화자집합(SS)에 속하는 적어도 하나 이상의 대화단위화자(SU)의 특징에 따른 화자 임베딩값을 평균한 대화집합 평균값(AS)을 산출할 수 있다.
전역화자 군집화부(530)는 대화집합 그룹화부(510)에 의해 생성된 대화화자집합(SS)을 복수의 전역화자들 중 하나로 군집화한다.
전역화자 군집화부(530)는 대화집합 평균 산출부(520)에 의해 각 대화화자집합(SS)에 대응하여 산출된 대화집합 평균값(AS)을 이용하여, 복수의 대화음성 데이터(DC) 전체 범위에서 적어도 하나 이상의 대화화자집합(SS)을 복수의 전역화자들 중 하나로 군집화할 수 있다.
전역화자 군집화부(530)는 기설정된 클러스터링 알고리즘을 이용하여 군집화를 수행하는 것일 수 있으며, 예컨대, 상기 기설정된 클러스터링 알고리즘은 AHC(Agglomerative Hierarchical Clustering) 알고리즘, K-means 알고리즘, DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 알고리즘, 스펙트럼 군집화 알고리즘 등을 포함할 수 있다.
전역화자 군집화부(530)는 특정 전역화자로 구분된 대화화자집합(SS) 전체에 대하여 전역화자에 따른 전역화자 식별자(IG)를 부여한다.
전역화자 평균 산출부(540)는 전역화자 식별자(IG)에 대응하는 대화화자집합(SS) 전체에 대한 제2 평균 임베딩값을 산출한다.
전역화자 평균 산출부(540)는 상기 제2 평균 임베딩값으로서, 전역화자 식별자(IG)에 대응하는 대화화자집합(SS) 전체에 속하는 복수의 대화단위화자(SU)에 대한 화자 임베딩값을 평균한 전역화자 평균값(AG)을 전역화자별로 산출할 수 있다.
등록화자 DB(600)는 전역화자 식별자(IG)와 이에 대응하는 대화화자집합(SS) 전체에 대한 제2 평균 임베딩값을 전역화자별로 등록한다.
등록화자 DB(600)는 전역화자 군집화부(530)에 의해 전역화자 식별자(IG)가 동일한 경우에 대하여 군집화된 대화화자집합(SS) 전체에 대한 제2 평균 임베딩값에 해당하는 전역화자 평균값(AG)을 전역화자 식별자(IG)와 매칭하여 전역화자별로 등록할 수 있다.
화자 식별 모듈(700)은 등록화자 DB(600)와 대상음성 데이터(DT) 각각에 대한 화자 임베딩값을 비교하여 화자를 식별한다.
화자 식별 모듈(700)은 화자를 식별하고자 하는 대상음성 데이터(DT)의 특징에 따른 화자 임베딩값과 등록화자 DB(600)에 전역화자별로 기등록된 제2 평균 임베딩값, 즉, 전역화자 평균값(AG)의 코사인 유사도를 측정하여 가장 높은 유사도를 갖는 전역화자를 대상음성 데이터(DT)의 화자와 동일한 것으로 추정하여 식별할 수 있다.
화자 식별 모듈(700)은 구체적으로 도 1에 도시된 바와 같이 대상음성 입력부(710), 음성 특징 추출부(720), 유사도 측정부(730), 화자 식별부(740)를 포함할 수 있다.
대상음성 입력부(710)는 화자를 식별하고자 하는 대상음성 데이터(DT)를 입력받는다.
음성 특징 추출부(720)는 대상음성 입력부(710)에 의해 입력된 대상음성 데이터(DT)의 특징에 따른 화자 임베딩값을 추출한다.
음성 특징 추출부(720)는 대상음성 데이터(DT)를 인공 신경망 모듈(400)의 특징 벡터 변환부(420)로 전달하고 이에 대응하여 인공 신경망(440)으로부터 출력되는 화자 임베딩값을 입력받으면, 이를 대상음성 데이터(DT)의 특징에 따른 화자 임베딩값으로 획득함으로써 추출할 수 있다.
유사도 측정부(730)는 음성 특징 추출부(720)에 의해 추출된 화자 임베딩값과 등록화자 DB(600)에 전역화자별로 기등록된 제2 평균 임베딩값에 해당하는 전역화자 평균값(AG)에 대한 코사인 유사도를 측정한다.
여기서, 코사인 유사도는 두 벡터 간의 코사인 각도를 이용하여 구할 수 있는 두 벡터의 유사도를 의미하는 것으로서, 두 벡터의 방향이 완전히 동일한 경우에는 1의 값을 가지고, 두 벡터가 90°의 각을 이루는 경우엔 0의 값을 가지며, 두 벡터가 180°로 반대 방향인 경우엔 -1의 값을 가진다. 즉, 코사인 유사도는 -1 이상 1 이하의 값을 가지며 값이 1에 가까울수록 유사도가 높다고 판단할 수 있다.
유사도 측정부(730)는 벡터를 L2 노름으로 정규화하고 내적을 구하는 방법을 통해 코사인 유사도를 측정할 수 있으며, 이를 수식으로 정리하면 아래와 수학식 1과 같다.
Figure pat00001
여기서, L2 노름은 n차원 좌표평면(유클리드 공간)에서의 벡터의 크기를 계산하는 유클리드 노름(Euclidean Norm)을 나타내는 것으로서, 벡터의 각 원소를 제곱해 더한 후 다시 제곱근하여 계산된 값을 의미한다.
또한, 상기 수학식 1에 있어서, A는 음성 특징 추출부(720)에 의해 추출된 화자 임베딩값, 즉, 대상음성 데이터(DT)의 화자 임베딩값에 대한 벡터를 나타내고, B는 전역화자 평균값(AG)에 대한 벡터를 나타낸다.
화자 식별부(740)는 유사도 측정부(730)에 의해 측정된 코사인 유사도가 기설정된 임계값 이상이고 가장 높은 값을 갖는 경우에 대응하는 전역화자를 대상음성 데이터(DT)의 화자와 동일한 것으로 추정하여 식별한다.
전술한 도 1에 도시된 구성요소들에 대한 설명을 바탕으로 하여 본 발명에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법을 도 2 및 도 3을 참조하여 설명하면 다음과 같다.
먼저, 본 발명의 일 실시예에 따른 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법은 크게 대화음성 입력 단계(S100), 음성구간 검출 단계(S200), 화자 분할 단계(S300), 화자 군집화 단계(S400 및 S500), 화자 등록 단계(S600), 화자 식별 단계(S700)를 포함한다.
먼저, 상기 S100 단계(대화음성 입력 단계)는 화자 정보를 등록하기 위한 대화음성 데이터(DC)를 입력받는 것이다.
상기 S100 단계에서는, 대화음성 DB(10)로부터 복수의 대화음성 데이터(DC)를 불러와서 입력받을 수 있으며, 대화음성 DB(10)는 소정의 데이터베이스 형태로 마련되어 대규모로 수집된 대화음성 데이터(DC)를 저장하는 것일 수 있다.
여기서, 대화음성 데이터(DC)는 적어도 둘 이상의 화자 간의 대화에서 발화된 대화음성에 대한 데이터로서 각 화자별 발화 특징 정보를 포함하는 것이고, 발화 특징 정보는 화자의 음색을 구분할 수 있는 발화 속도 및 억양 특성에 따른 특징 정보일 수 있다.
다음으로, 상기 S200 단계(음성구간 검출 단계)는, 상기 S100 단계에 입력된 복수의 대화음성 데이터(DC)로부터 음성구간 데이터(Dv)를 검출하는 것이다.
상기 S200 단계에서는, 각 대화음성 데이터(DC)에서 화자의 발화음성이 존재하는 음성구간에 대한 음성구간 데이터(Dv)를 개별 데이터별로 검출할 수 있다.
또한, 상기 S200 단계에서는, 각 대화음성 데이터(DC)에서 음성 활동이 감지되지 않는 경우를 묵음구간으로 판단하여 제거할 수 있고, 상기 묵음구간의 시점 및 종점에 대한 인덱스 정보를 획득할 수 있다. 이때, 음성구간 데이터(DV)에는 시간 정보가 포함되는 것이 바람직하다.
다음으로, 상기 S300 단계(화자 분할 단계)는, 음성 구간들을 동일 화자 단위로 분류한 후 이에 대한 화자 식별자를 부여하기 위한 것이다.
상기 S300 단계에서는, 상기 S200 단계에서 검출된 음성구간 데이터(DV)를 기설정된 단위로 분할하여 복수의 단위음성 데이터(DU)를 생성한다.
또한, 상기 S300 단계에서는, 복수의 단위음성 데이터(DU) 각각에 대하여 단위음성 데이터(DU)에 대응하는 대화단위화자(SU)의 특징에 따른 화자 임베딩값에 기초한 화자 식별자(IU)를 부여한다.
이때, 상기 S300 단계에서는, 단위음성 데이터(DU)를 인공 신경망 모듈(400)의 특징 벡터 변환부(420)로 전달하고 이에 대응하여 인공 신경망(440)으로부터 출력되는 화자 임베딩값을 입력받아 획득할 수 있다.
여기서, 인공 신경망 모듈(400)은 화자의 발화 특징에 기초하여 화자를 분류하도록 학습된 인공 신경망(440)을 이용하여 특정 음성에 포함된 화자를 분류하기 위한 화자 임베딩값을 출력하는 것일 수 있으며, 이에 대한 구체적인 설명은 중복을 피하기 위해서 생략하기로 한다.
다음으로, 상기 S400 및 S500 단계(화자 군집화 단계)는, 상기 S300 단계에 분할된 복수의 단위음성 데이터(DU)를 전역 화자별로 군집화하기 위한 것으로서, 각 단위음성 데이터(DU)에 대응하는 대화단위화자(SU)를 개별 데이터 단위로 그룹화한 후 데이터 전체 범위에서 추가로 군집화한다.
상기 S400 단계에서는, 화자 식별자(IU)의 동일성에 따라 복수의 대화단위화자(SU)를 그룹화한 대화화자집합(SS)을 개별 데이터 단위로 생성한다.
또한, 상기 S400 단계에서는, 각각의 대화음성 데이터(DC)에 기초하여 화자식별자(IU)가 동일한 경우에 대응하는 복수의 대화단위화자(SU)를 하나로 그룹화한 대화화자집합(SS)을 개별 데이터 단위로 생성할 수 있다.
이때, 개별 데이터 단위로 생성하는 것은 하나의 대화음성 데이터(DC)를 기본 단위로 하여 각 기본 단위별로 구분하여 생성함을 의미할 수 있다.
상기 S500 단계에서는, 각각의 대화화자집합(SS)에 대한 제1 평균 임베딩값에 기초하여 상기 S100 단계에 입력된 복수의 대화음성 데이터(DC) 전체 범위에서 적어도 하나 이상의 대화화자집합(SS)을 복수의 전역화자들(SG) 중 하나로 군집화한 후 이에 따른 전역화자 식별자(IG)를 부여한다.
이때, 상기 S500 단계는 도 3에 도시된 바와 같이 대화집합 평균값 산출 단계(S520), 전역화자 군집화 단계(S530), 전역화자 식별자 부여 단계(S540), 전역화자 평균값 산출 단계(S550)를 포함할 수 있다.
구체적으로, 상기 S520 단계는 대화화자집합(SS)에 대한 제1 평균 임베딩값을 산출하는 것이고, 상기 S530 단계는 대화화자집합(SS)을 복수의 전역화자들 중 하나로 군집화하는 것이고, 상기 S540 단계는 특정 전역화자로 구분된 대화화자집합(SS) 전체에 대하여 전역화자에 따른 전역화자 식별자(IG)를 부여하는 것이고, 상기 S550 단계는 전역화자 식별자(IG)에 대응하는 대화화자집합(SS) 전체에 대한 제2 평균 임베딩값을 산출하는 것일 수 있다.
상기 S520 단계에서는, 대화화자집합(SS)에 속하는 적어도 하나 이상의 대화단위화자(SU)의 특징에 따른 화자 임베딩값을 평균한 대화집합 평균값(AS)을 상기 제1 평균 임베딩값으로 하여 산출할 수 있다.
상기 S530 단계에서는, 각 대화화자집합(SS)에 대응하여 산출된 대화집합 평균값(AS)을 이용하여, 복수의 대화음성 데이터(DC) 전체 범위에서 적어도 하나 이상의 대화화자집합(SS)을 복수의 전역화자들 중 하나로 군집화할 수 있다.
전술한 상기 S530 단계의 경우, 기설정된 클러스터링 알고리즘을 이용하여 군집화를 수행하는 것일 수 있으며, 예컨대, 상기 기설정된 클러스터링 알고리즘은 AHC(Agglomerative Hierarchical Clustering) 알고리즘, K-means 알고리즘, DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 알고리즘, 스펙트럼 군집화 알고리즘 등을 포함할 수 있다.
상기 S550 단계에서는, 전역화자 식별자(IG)에 대응하는 대화화자집합(SS) 전체에 속하는 복수의 대화단위화자(SU)에 대한 화자 임베딩값을 평균한 전역화자 평균값(AG)을 상기 제2 평균 임베딩값으로 하여 전역화자별로 산출할 수 있다.
다음으로, 상기 S600 단계(화자 등록 단계)는, 전역화자 식별자(IG)와 이에 대응하는 대화화자집합(SS) 전체에 대한 제2 평균 임베딩값을 전역화자별로 등록하기 위한 것이다.
상기 S600 단계에서는, 전역화자 식별자(IG)가 동일한 경우에 대하여 군집화된 대화화자집합(SS) 전체에 대한 제2 평균 임베딩값에 해당하는 전역화자 평균값(AG)을 전역화자 식별자(IG)와 매칭하여 전역화자별로 등록화자 DB(600)에 등록할 수 있다.
다음으로, 상기 S700 단계(화자 식별 단계)는, 등록화자 DB(600)와 대상음성 데이터(DT) 각각에 대한 화자 임베딩값을 비교하여 화자를 식별하기 위한 것이다.
상기 S700 단계에서는, 화자를 식별하고자 하는 대상음성 데이터(DT)의 특징에 따른 화자 임베딩값과 등록화자 DB(600)에 전역화자별로 기등록된 제2 평균 임베딩값, 즉, 전역화자 평균값(AG)의 코사인 유사도를 측정하여 가장 높은 유사도를 갖는 전역화자를 대상음성 데이터(DT)의 화자와 동일한 것으로 추정하여 식별한다.
이때, 상기 S700 단계는 도 3에 도시된 바와 같이 대상음성 입력 단계(S710), 화자 임베딩값 추출 단계(S720), 코사인 유사도 측정 단계(S730), 화자 식별 단계(S740)를 포함할 수 있다.
구체적으로, 상기 S710 단계는 화자를 식별하고자 하는 대상음성 데이터(DT)를 입력받는 것이고, 상기 S720 단계는 대상음성 데이터(DT)의 특징에 따른 화자 임베딩값을 추출하는 것이고, 상기 S730 단계는 상기 S720 단계에 추출된 대상음성 데이터(DT)의 화자 임베딩값과 등록화자 DB(600)에 전역화자별로 기등록된 제2 평균 임베딩값에 해당하는 전역화자 평균값(AG)에 대한 코사인 유사도를 측정하는 것이고, 상기 S740 단계는 상기 S730 단계에 측정된 코사인 유사도가 기설정된 임계값 이상이고 가장 높은 값을 갖는 경우에 대응하는 전역화자를 대상음성 데이터(DT)의 화자와 동일한 것으로 추정하여 식별하는 것일 수 있다.
이에 따라, 전술한 본 발명에 의하면, 데이터 전체에 대해 단순 화자 분할을 적용하는 경우에 비해 연산량을 크게 감소시키고 대화 내와 대화 사이 동일 화자를 판별하는 알고리즘을 서로 다르게 적용함으로써 정확도를 향상시킬 수 있다.
또한, 본 발명에 의하면, 보이스피싱 범죄 특성상 동일 범죄자가 다수의 범죄를 저지르는 경우가 많은 점을 고려하여 장기간 누적된 피해 신고 데이터로부터 특정 범죄자가 어떤 기간에 반복적으로 범행을 시도하였는지를 분석할 수 있어 보이스피싱 범죄 수사 및 예방에 기여할 수 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.
특히, 전술한 내용은 후술할 발명의 청구범위를 더욱 잘 이해할 수 있도록 본 발명의 특징과 기술적 강점을 다소 폭넓게 상술하였으므로, 상술한 본 발명의 개념과 특정 실시예는 본 발명과 유사 목적을 수행하기 위한 다른 형상의 설계나 수정의 기본으로써 즉시 사용될 수 있음이 해당 기술 분야의 숙련된 사람들에 의해 인식되어야 한다.
또한, 상기에서 기술된 실시예는 본 발명에 따른 하나의 실시예일 뿐이며, 해당 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상의 범위에서 다양한 수정 및 변경된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 따라서, 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 이러한 다양한 수정 및 변경 또한 본 발명의 기술적 사상의 범위에 속하는 것으로 전술한 본 발명의 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10: 대화음성 DB 100: 음성데이터 입력부
200: 음성구간 검출부 300; 화자 분할부
400: 화자 임베딩 모듈 420: 특징벡터 변환부
440: 인공 신경망 500: 화자 군집화 모듈
510: 대화집합 그룹화부 520: 대화집합 평균 산출부
530: 전역화자 군집화부 540: 전역화자 평균 산출부
600: 등록화자 DB 700: 화자 식별 모듈
710: 대상음성 입력부 720: 음성 특징 추출부
730: 유사도 측정부 740: 화자 식별부

Claims (4)

  1. 적어도 둘 이상의 화자 간의 대화에서 발화된 복수의 대화음성 데이터를 입력받는 단계;
    상기 대화음성 데이터에서 묵음구간을 제외하고 화자의 발화음성이 존재하는 음성구간을 개별 데이터별로 검출하는 단계;
    검출된 음성구간 데이터를 기설정된 단위로 분할하여 복수의 단위음성 데이터를 생성하고, 각각의 상기 단위음성 데이터에 대하여 상기 단위음성 데이터에 대응하는 대화단위화자의 특징에 따른 화자 임베딩값에 기초한 화자 식별자를 부여하는 단계;
    상기 화자 식별자의 동일성에 따라 복수의 상기 대화단위화자를 그룹화한 대화화자집합을 개별 데이터 단위로 생성하고, 각각의 상기 대화화자집합에 대한 제1 평균 임베딩값에 기초하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화한 후 이에 따른 전역화자 식별자를 부여하는 단계; 및
    상기 전역화자 식별자가 동일한 경우에 대하여 군집화된 상기 대화화자집합 전체에 대한 제2 평균 임베딩값을 상기 전역화자 식별자와 매칭하여 등록화자 DB에 상기 전역화자별로 등록하는 단계;를 포함하는 것을 특징으로 하는 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법.
  2. 제1항에 있어서,
    상기 등록하는 단계 이후에,
    화자를 식별하고자 하는 대상음성 데이터를 입력받는 단계;
    입력된 대상음성 데이터의 특징에 따른 화자 임베딩값을 추출하는 단계;
    추출된 화자 임베딩값과 상기 등록화자 DB에 상기 전역화자별로 기등록된 상기 제2 평균 임베딩값에 대한 코사인 유사도를 측정하는 단계; 및
    측정된 코사인 유사도가 기설정된 임계값 이상이고 가장 높은 값을 갖는 경우에 대응하는 상기 전역화자를 상기 대상음성 데이터의 화자와 동일한 것으로 추정하여 식별하는 단계;를 더 포함하는 것을 특징으로 하는 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법.
  3. 제1항에 있어서,
    상기 전역화자 식별자를 부여하는 단계는,
    각각의 상기 대화음성 데이터에 기초하여 상기 화자식별자가 동일한 경우에 대응하는 복수의 상기 대화단위화자를 하나로 그룹화한 대화화자집합을 개별 데이터 단위로 생성하는 단계;
    생성된 상기 대화화자집합에 속하는 적어도 하나 이상의 상기 대화단위화자의 특징에 따른 상기 화자 임베딩값을 평균한 대화집합 평균값을 산출하는 단계;
    각각의 상기 대화화자집합에 대응하여 산출된 상기 대화집합 평균값을 이용하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화하는 단계;
    특정 전역화자로 구분된 상기 대화화자집합 전체에 대하여 상기 전역화자에 따른 전역화자 식별자를 부여하는 단계; 및
    상기 전역화자 식별자에 대응하는 상기 대화화자집합 전체에 속하는 복수의 상기 대화단위화자에 대한 상기 화자 임베딩값을 평균한 전역화자 평균값을 상기 전역화자별로 산출하는 단계;를 포함하는 것을 특징으로 하는 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법.
  4. 적어도 둘 이상의 화자 간의 대화에서 발화된 복수의 대화음성 데이터를 입력받는 음성데이터 입력부;
    상기 대화음성 데이터에서 묵음구간을 제외하고 화자의 발화음성이 존재하는 음성구간을 개별 데이터별로 검출하는 음성구간 검출부;
    검출된 음성구간 데이터를 기설정된 단위로 분할하여 복수의 단위음성 데이터를 생성하고, 각각의 상기 단위음성 데이터에 대하여 상기 단위음성 데이터에 대응하는 대화단위화자의 특징에 따른 화자 임베딩값에 기초한 화자 식별자를 부여하는 화자 분할부;
    상기 화자 식별자의 동일성에 따라 복수의 상기 대화단위화자를 그룹화한 대화화자집합을 개별 데이터 단위로 생성하고, 각각의 상기 대화화자집합에 대한 제1 평균 임베딩값에 기초하여 상기 복수의 대화음성 데이터 전체 범위에서 적어도 하나 이상의 상기 대화화자집합을 복수의 전역화자들 중 하나로 군집화한 후 이에 따른 전역화자 식별자를 부여하는 화자 군집화 모듈;
    상기 전역화자 식별자가 동일한 경우에 대하여 군집화된 상기 대화화자집합 전체에 대한 제2 평균 임베딩값을 상기 전역화자 식별자와 매칭하여 상기 전역화자별로 등록하는 등록화자 DB; 및
    화자를 식별하고자 하는 대상음성 데이터의 특징에 따른 화자 임베딩값과 상기 등록화자 DB에 상기 전역화자별로 기등록된 상기 제2 평균 임베딩값의 코사인 유사도를 측정하여 가장 높은 유사도를 갖는 상기 전역화자를 상기 대상음성 데이터의 화자와 동일한 것으로 추정하여 식별하는 화자 식별 모듈;을 포함하는 것을 특징으로 하는 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 장치.
KR1020220185588A 2022-12-27 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치 KR102685265B1 (ko)

Publications (2)

Publication Number Publication Date
KR20240103425A true KR20240103425A (ko) 2024-07-04
KR102685265B1 KR102685265B1 (ko) 2024-07-15

Family

ID=

Similar Documents

Publication Publication Date Title
US10593336B2 (en) Machine learning for authenticating voice
CN107928673B (zh) 音频信号处理方法、装置、存储介质和计算机设备
JP2021527840A (ja) 声紋識別方法、モデルトレーニング方法、サーバ、及びコンピュータプログラム
WO2019227583A1 (zh) 一种声纹识别方法、装置、终端设备及存储介质
US7904295B2 (en) Method for automatic speaker recognition with hurst parameter based features and method for speaker classification based on fractional brownian motion classifiers
US6038528A (en) Robust speech processing with affine transform replicated data
US20040260550A1 (en) Audio processing system and method for classifying speakers in audio data
US20110320202A1 (en) Location verification system using sound templates
JP2006079079A (ja) 分散音声認識システム及びその方法
US9043207B2 (en) Speaker recognition from telephone calls
Socoró et al. Development of an Anomalous Noise Event Detection Algorithm for dynamic road traffic noise mapping
CN110120230B (zh) 一种声学事件检测方法及装置
Todkar et al. Speaker recognition techniques: A review
CN111429935A (zh) 一种语音话者分离方法和装置
CN109448732B (zh) 一种数字串语音处理方法及装置
CN111816185A (zh) 一种对混合语音中说话人的识别方法及装置
CA2304747C (en) Pattern recognition using multiple reference models
CN110570870A (zh) 一种文本无关的声纹识别方法、装置及设备
CN112992153B (zh) 音频处理方法、声纹识别方法、装置、计算机设备
EP3816996B1 (en) Information processing device, control method, and program
CN112331208B (zh) 人身安全监控方法、装置、电子设备和存储介质
Neelima et al. Mimicry voice detection using convolutional neural networks
KR102685265B1 (ko) 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치
KR20240103425A (ko) 대규모 대화 음성 데이터 분석을 위한 자동 화자 레이블링 방법 및 장치
EP4390919A2 (en) Methods for improving the performance of neural networks used for biometric authentication