Tải bản đầy đủ (.pdf) (26 trang)

Phân đoạn hội thoại theo người nói trong ngôn ngữ tiếng Việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 26 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ THƠNG TIN

NGUYỄN ĐỨC NAM

PHÂN ĐOẠN HỘI THOẠI THEO NGƯỜI NĨI
TRONG NGƠN NGỮ TIẾNG VIỆT

Chun ngành: KHOA HỌC MÁY TÍNH
Mã chun ngành: 7480101

KHĨA LUẬN TỐT NGHIỆP

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021


THƠNG TIN CHUNG

Họ tên sinh viên: Nguyễn Đức Nam

MSHV:

17089981

Lớp:

DHKHMT13A

Khóa:


2017-2021

Chun ngành:

KHOA HỌC MÁY TÍNH

Mã chuyên ngành: 7480101

SĐT:

0983212337

Email:



Tên đề tài:

PHÂN ĐOẠN HỘI THOẠI THEO NGƯỜI NĨI TRONG
NGƠN NGỮ TIẾNG VIỆT

Người hướng dẫn: Huỳnh Trung Hiếu
Email:



Cơ quan công tác: Khoa Công Nghệ Thông Tin – Đại học Cơng Nghiệp Thành Phố
Hồ Chí Minh

Tp. Hồ Chí Minh, ngày……tháng……năm 20….…

Người hướng dẫn
(Ký và ghi rõ họ tên)

Sinh viên
(Ký và ghi rõ họ tên)

2


LỜI CẢM ƠN
Em xin giử lời cảm ơn chân thành đến nhà trường, Khoa Cơng nghệ thơng tin nói
chung và ngành khoa học máy tính nói riêng đã tạo điều kiện và hỗ trợ cho chúng em
làm tốt đồ án tốt nghiệp.
Đặc biệt, chúng em xin bày tỏ lòng biết ơn đến thầy PGS.TS Huỳnh Trung Hiếu đã
hướng dẫn, sửa chữa và góp ý cho chúng em rất nhiều để hồn thành được khóa luận
này.
Đồng thời chúng em xin cảm ơn thầy cơ, bạn bè và gia đình trong khoa đã giúp đỡ,
động viên và tạo điều kiện cho chúng em trong suốt quá trình thực hiện đồ án.
Trong quá trình thực hiện đồ án này, em đã cố gắng nỗ lực, tuy nhiên khơng tránh
khỏi sai sót. Em rất mong nhận được sự góp ý, đánh giá của các thầy cô.
Em xin chân thành cảm ơn.

3


LỜI CẢM ĐOAN
Tôi xin cam đoan rằng đồ án tốt nghiệp "Phân đoạn hội thoại theo người nói trong
ngơn ngữ tiếng Việt" là cơng trình nghiên cứu của bản thân mình. Những phần có sử
dụng tài liệu tham khảo có trong đồ án đã được liệt kê và nêu rõ ra tại phần tài liệu
tham khảo. Đồng thời những số liệu hay kết quả trình bày trong đồ án đều mang tính

chất trung thực, khơng sao chép, đạo nhái.
Nếu như sai tơi xin chịu hồn tồn trách nhiệm và chịu tất cả các kỷ luật của bộ môn
cũng như nhà trường đề ra.

4


TĨM TẮT
Phân đoạn đoạn hội thoại theo người nói là một quá trình phân đoạn âm thanh đầu
vào thành các đoạn đồng nhất theo người nói cụ thể. Cụ thể hơn, quá trình này sẽ
giúp trả lời cho câu hỏi "Ai nói khi nào?". Đây là một q trình quan trọng hỗ trợ việc
nhận diện giọng nói và xác định được người nói trong các cuộc họp trực truyến, các
chương trình truyền hình, các đoạn thư thoại, đặc biệt là trong việc đánh giá đọc bảng
kiểm. Trong nghiên cứu này chúng tôi nghiên cứu tiếp cận phân đoạn đoạn hội thoại
theo người nói trong ngơn ngữ tiếng Việt. Để giải quyết nó chúng tơi sẽ sử dụng
phương pháp vector hóa giọng nói như x-vector và sau đó gom cụm nó bằng những
phương pháp như mean-shift, k-means và agglomerative hierarchical clustering nhằm
xác định người nói trên các đoạn hội thoại. Tiếp cận đề xuất đạt độ chính xác 90,04%
trên đoạn đối thoại giả gồm 2 người nói đã được tạo ra từ tập kiểm thử của bộ dữ liệu
VIVOS Corpus.

5


MỤC LỤC
LỜI CẢM ƠN ......................................................................................................... 3
LỜI CẢM ĐOAN.................................................................................................... 4
TÓM TẮT ............................................................................................................... 5
MỤC LỤC .............................................................................................................. 6
DANH MỤC HÌNH ẢNH ....................................................................................... 7

DANH MỤC BẢNG BIỂU ..................................................................................... 8
DANH MỤC TỪ VIẾT TẮT .................................................................................. 9
MỞ ĐẦU .............................................................................................................. 10
CHƯƠNG 1

TỔNG QUAN ............................................................................. 11

1.1

Phân đoạn hội thoại là gì ?........................................................................ 11

1.2

Tổng quan về đề tài .................................................................................. 11

1.3

Lý do chọn đề tài ...................................................................................... 12

CHƯƠNG 2

PHƯƠNG ÁN ĐỀ XUẤT ........................................................... 13

2.1

Trích xuất Speaker Embedding ................................................................. 15

2.2

Gom cụm.................................................................................................. 16


2.2.1

K-means ............................................................................................ 16

2.2.2

Agglomerative hierarchical clustering (AHC) .................................... 17

2.2.3

Mean-shift ......................................................................................... 17

2.2.4

Silhouette Score ................................................................................. 17

CHƯƠNG 3

KẾT QUẢ THỰC NGHIỆM ....................................................... 19

3.1

Tập dữ liệu ............................................................................................... 19

3.2

Thanh đo đánh giá cho bài toán ................................................................ 20

3.3


Kết quả đạt được với tập kiểm thử ............................................................ 21

3.4

Kết quả khi huấn luyện của Model Speaker Embedding ........................... 21

CHƯƠNG 4

TỔNG QUAN ............................................................................. 23

TÀI LIỆU THAM KHẢO ..................................................................................... 24

6


DANH MỤC HÌNH ẢNH
Hình 1.1: Quy trình truyền thống của bài tốn phân đoạn đoạn hội thoại ............... 12
Hình 2.1: Sơ đồ quy trình giải quyết bài tốn ......................................................... 13
Hình 2.2: Cấu trúc của mơ hình x-vector ............................................................... 14
Hình 3.1: Quy trình xác định Sequence Match Accuracy ....................................... 20
Hình 3.2: Kết quả đạt trong q trình huấn luyện mơ hình speaker embedding ...... 21
Hình 3.3: Kết quả đạt được bằng các phương pháp gom cụm khác nhau với với các
tập kiểm thử có số người nói k cụ thể. ................................................................... 22

7


DANH MỤC BẢNG BIỂU
Bảng 3.1: Thông số về tập huấn luyện và tập kiểm thử trong bộ dữ liệu VIVOS ... 19


8


DANH MỤC TỪ VIẾT TẮT
AHC

Agglomerative Hierarchical Clustering

ASR

Automated Speech Recognition

DNN

Deep Neural Networks

GMM

Gaussian Mixture Model

JFA

Joint Factor Analysis

MFCC

Mel-Frequency Cepstral Coefficients

ReLU


Rectified Linear Unit

TDNN

Time-Delay Neural Network

UBM

Universal Background Model

9


MỞ ĐẦU
1. Đặt vấn đề
Trước sự phát triển nhanh chóng của việc ứng dụng trí tuệ nhân tạo trong cuộc sống,
làm thúc đẩy nhu cầu áp dụng những lĩnh vực của trí tuệ nhân tạo vào cuộc sống như
phân tích dữ liệu, xử lý ảnh hay xử lý ngôn ngữ tự nhiên. Đặc biệt trong lĩnh vực xử
lý ngôn ngữ tự nhiên có một bài tốn vơ cùng thiết thực là nhận diện giọng nói. Và
nhằm cải thiện chất lượng của bài tốn nhận diện giọng nói là ta có thể xác định trước
từng đoạn theo từng người nói cụ thể. Việc đó sẽ nhắm tăng cao khả năng khả năng
nhận diện giọng nói của mơ hình nhận diện giọng nói. Và ngồi ra, bài tốn nhận
dạng giọng nói với ngơn ngữ tiếng Việt cịn khan hiếm và khơng có một bài báo nào
về việc này.
Vì thế đề tài “Phân đoạn hội thoại theo người nói trong ngơn ngữ Tiếng Việt” sẽ
không chỉ giúp cải thiện chất lượng của bài tốn lớn “Nhận diện giọng nói” mà cịn
đóng góp thêm cho lĩnh vực nhận diện giọng nói của Tiếng Việt.
2. Mục tiêu của đề tài
Nhằm sử dụng mơ hình deep learning để xác định những đoạn âm thanh có cùng

người nói trong một đoạn đối thoại dài cho ngơn ngữ Tiếng Việt.
3. Đối tượng và phạm vi nghiên cứu
• Đối tượng nghiên cứu: Các cuộc hội thoại Tiếng Việt.
• Phạm vi nghiên cứu: Trên tập dữ liệu giọng nói VIVOS của đại học Khoa học Tự
Nhiên.
4. Ý nghĩa thực tiễn của đề tài
Việc phân đoạn đoạn hội thoại này không chỉ nhằm tăng khả năng chính xác của hệ
thống nhận diện giọng nói (ASR) mà cịn giúp lưu lại nhật kí trong các cuộc họp trực
truyến, các chương trình truyền hình, các cuộc phỏng vấn, đàm thoại hay cả các buổi
xét xử, đặc biệt là trong các đánh giá bảng kiểm.

10


CHƯƠNG 1
1.1

TỔNG QUAN

Phân đoạn hội thoại là gì ?

Phân đoạn đoạn hội thoại là quá trình phân đoạn âm thanh đầu vào thành các đoạn
đồng nhất theo người nói cụ thể. Cụ thể hơn, quá trình này sẽ giúp trả lời cho câu hỏi
"Ai nói khi nào?" [1, 2, 3] theo từng người nói. Q trình này sẽ khơng u cầu phải
biết trước thơng tin những người nói và số lượng người nói. Phân đoạn đoạn hội thoại
nhằm tăng khả năng chính xác của hệ thống Automated Speech Recognition (ASR).
Được sử dụng để lưu lại nhật kí trong các cuộc họp trực truyến, các chương trình
truyền hình, các cuộc phỏng vấn, đàm thoại hay cả các buổi xét xử, đặc biệt là trong
các đánh giá bảng kiểm.
1.2


Tổng quan về đề tài

Bài toán phân đoạn đoạn hội thoại đã được quan tâm từ những năm 1990, khi đó các
nghiên cứu tập trung vào 2 hướng chính là phân đoạn giọng nói không giám sát
(unsupervised speech segmentation) kết hợp với gom cụm (segment) theo người nói
[4, 5, 6] và xác định sự thay đổi người nói (speaker change detection) kết hợp với
gom cụm (segment) theo người nói [7, 8, 9]. Ngồi ra trong thời gian này đã có nhiều
tiến bộ trong cộng nghê được vận dụng vào các miền dữ liệu như bản tin thời sự [10,
11, 12], các cuộc hội thoại trên điện thoại [13, 14, 15], các cuộc hội thoại lúc gặp mặt
[16, 17, 18]. Và nhiều cách tiếp cận mới đem lại hiệu quả tốt đã được pháp hiện như:
Beamforming [19], Information Bottleneck Clustering (IBC) [20], Variational
Bayesian (VB) [21], Joint Factor Analysis (JFA) [22], v.v. Đến năm 2010, với sự
bùng nổ của học sâu (deep learning), dẫn đến việc tăng số lượng lớn các nghiên cứu
về bài toán vận dụng khả năng mạnh mẽ của mơ hình Deep Neural Networks (DNN).
Cụ thể như việc trích xuất đặc trưng giọng nói (speaker embedding) sử dụng DNN
như là D-vector [23], X-vector [24] – những embedding vector được trích xuất từ
những layer thắt cơ chai (bottleneck layer) của các mơ hình DNN được huấn luyện
để xác định người nói. Nhờ việc thay đổi từ speaker embedding i-vector [25] thành
những speaker embedding đó đã làm tăng hiệu năng, dễ dàng huấn luyện với nhiều

11


loại dữ liệu, tự động khắc phục việc thay đổi người nói và cả điều kiện âm thanh.
Những năm gần đây, thay vì sử dựng quy trình cổ điển (mơ tả cụ thể ở Hình 1.1) thì
một số mơ hình thay thế hồn tồn bằng duy nhất một mơ hình học sâu đầu cuối phân
đoạn đoạn hội thoại (End-to-End Neural Diarization) để thay thế [26, 27].

Hình 1.1: Quy trình truyền thống của bài toán phân đoạn đoạn hội thoại

1.3

Lý do chọn đề tài

Hiện nay Việt Nam, các nghiên cứu về bài tốn này cịn rất hạn chế, chỉ có một số tài
liệu liên quan đến những phương pháp speaker embedding sử dụng cho bài tốn nhận
diện giọng nói như I-vector [28] hay bottle neck features [29]. Vì thế chúng tơi sẽ
trình bày cách giải quyết bài tốn phân đoạn đoạn hội thoại đối với ngôn ngữ tiếng
Việt dựa trên tiếp cận speaker embedding.

12


CHƯƠNG 2

PHƯƠNG ÁN ĐỀ XUẤT

Mơ hình đề xuất được phác họa trong Hình 2.1. Tín hiệu âm thanh đầu vào qua bước
tiền xử lý sẽ được trích xuất các đặc trưng bằng cách sử dụng mơ hình Mel-Frequency
Cepstral Coefficients (MFCC). Các X-vector được sử dụng để trích xuất giọng người
nói thơng qua các mơ hình DNN và cuối cùng sẽ gom cụm các vector đã trính xuất
theo từng người nói.
Đầu tiên chúng tơi sẽ chuyển đổi tín hiệu âm thanh đầu vào thành các frame có kích
thước 32 ms với bước nhảy là 10 ms. Sau đó, với mỗi frame chúng tơi sẽ trích xuất
thơng tin đặc trưng là 40 giá trị của hệ số MFCC – một hệ số đại diện cho đặc trưng
của âm thanh. Tiếp theo để dữ liệu đầu vào của mơ hình huấn luyện có kích thước
giống nhau, chúng tơi sẽ sử dụng kĩ thuật sliding window với kích thước là 30 frames
và bước nhảy là 5 frames để làm giá trị đầu vào cho mơ hình X-vector. Quy trình này
đã được mơ tả ở Hình 2.1.


Hình 2.1: Sơ đồ quy trình giải quyết bài toán

13


Chúng tôi sử dụng phương pháp X-vector - một phương pháp để tìm ra speaker
embedding bằng mơ hình DNN [24]. Mơ hình này được huấn luyện bằng các đoạn
có số lượng vector nhất định có chứa thơng tin đặc trưng được trích xuất từ bộ dữ liệu
gồm nhiều người nói. Sau khi huấn luyện, speaker embedding sẽ là giá trị ở tầng thắt
cổ chai trong model với mỗi dữ liệu đầu vào. Phương pháp X-vector được đánh giá
là đem lại hiệu quả vượt trội hơn i-vector - một phương pháp pháp để tìm ra speaker
embedding cổ điển bằng cách sử dụng mơ hình Gaussian mixture model - Universal
Background Model (GMM-UBM) kết hợp với kĩ thuật Joint Factor Analysis (JFA)
[25, 28].

Hình 2.2: Cấu trúc của mơ hình x-vector

14


2.1

Trích xuất Speaker Embedding

Mơ hình được mơ tả trong Hình 2.2 gồm hai cấp chính: cấp frame (xử lý dữ liệu đầu
vào theo các đoạn frame) và cấp đoạn (xử lý tồn bộ đoạn dữ liệu đầu vào). Trong đó
ở cấp frame gồm năm tầng Time-Delay Neural Network (TDNN) với hàm kích hoạt
là ReLU (Rectified Linear Unit). Cịn ở cấp đoạn sẽ gồm một tầng statistics pooling
để tổng hợp lại giá trị ở cấp frame, hai tầng linear với tầng sau được sử dụng để trích
xuất X-vector embedding và 1 softmax layer dùng để dự đốn xác suất người nói cho

đoạn dữ liệu đầu vào.
Ở cấp frame, ban đầu giá trị đầu vào là 1 đoạn gồm T frame với mỗi frame có 40 đặc
trưng MFCC. Tại layer TDNN thứ nhất, mỗi frame t đầu ra sẽ được xây dựng từ đoạn
frame [𝑡 − 2, 𝑡 + 2] trong T frame của dữ liệu đầu vào. Và tại TDNN thứ 2 và 3, mỗi
frame t lại được tổng hợp lần lượt từ cặp frame {𝑡 − 2, 𝑡, 𝑡 + 2} và {𝑡 − 3, 𝑡, 𝑡 + 3}
của layer trước đó. Cịn 2 layer TDNN cuối cùng thì mỗi frame t chỉ lấy giá tri ở
frame t của layer trước đó. Kích thước đặc trưng của mỗi layer được mơ tả cụ thể
trong Hình 2.2.
Ở cấp đoạn, đầu tiên statistics pooling layer sẽ nhận kết quả từ layer TDNN cuối cùng
làm giá trị đầu vào. Rồi nó sẽ tính giá trị trung bình (mean) và độ lệch chuẩn (standard
deviation) của dữ liệu đầu vào với từng đặc trưng và trả về 1 vector ghép lại từ 2 giá
trị đó. Tiếp theo sau đó là 2 linear layer có kích thước là 512 với layer thứ 2 sẽ được
sử dụng làm X-vector embedding. Cuối cùng là softmax layer sẽ trả về xác suất của
các người nói có thể đại diện cho dữ liệu âm thanh đầu vào.
Mơ hình này sẽ được huấn luyện để phân loại người nói với hàm mất mát là
Categorical Crossentropy Loss Function. Cụ thể chúng tôi sẽ sử dụng dữ liệu đầu vào
là các đoạn đặc trưng dài 30 frame với mỗi frame chứa 40 đặc trưng MFCC. Và đầu
ra là của model là xác suất của mỗi người nói đại diện cho đoạn đặc trưng đầu vào.
Tổng số người nói của tập huấn luyện là 46 nên đó cũng là số giá trị ra về của model
khi huấn luyện.

15


Sau khi huấn luyện model X-vector, để nhận được speaker embedding của dữ liệu
đầu vào chúng tôi sẽ lấy giá trị trả về của linear layer cuối cùng thay vì softmax layer.
Vì linear layer chứa đựng thơng tin đủ tốt để model x-vector huấn luyện chính xác ra
được người nói cụ thể.
Gom cụm


2.2

Sau khi tách ra được các đoạn thể hiện những người nói cho mỗi đoạn âm thanh được
thực hiện ở bước trên, giải thuật gom cụm được áp dụng vào nhằm mục đích gom
những đoạn âm thanh trong đoạn hội thoại tương ứng cho mỗi người nói, từ đó chúng
tơi sẽ biết rằng ai là người nói ứng với đoạn âm thanh bất kỳ nào đó. Chúng tơi sẽ
giới thiệu một số thuật tốn mà chúng tơi đã thử nghiệm cho việc giải quyết bài toán.
2.2.1 K-means
Thuật toán phân cụm K-mean được xem là một trong những thuật tốn nổi tiếng để
gom cụm dữ liệu. Chúng tơi cần giả định rằng số lượng các cụm đã được biết trước.
Nó là một thuật tốn phân cụm lặp đi lặp lại. Chúng tơi thực hiện nó theo trình tự như
sau:
• Bước 1. Xác định số lượng cụm K mong muốn, tương tự với việc xác định số
lượng K người nói trong bài tốn.
• Bước 2.

Cố định số lượng các cụm và chỉ định ngẫu nhiên những điểm dữ liệu

tương ứng là tâm của mỗi cụm.
• Bước 3.

Tính tốn và cập nhật lại vị trí tâm cũng mỗi cụm.

• Bước 4.

Lặp lại Bước 2 cho đến khi vị trí các tâm cụm khơng thay đổi.

Nói cách khác, chúng tơi cần phân loại dữ liệu của mình dựa trên số lượng các cụm.
Trong mỗi bước, các tâm tương ứng với mỗi cụm sẽ được tính tốn và cập nhật lại.
Vì đây là một thuật tốn lặp lại, nên chúng tơi cần cập nhật vị trí của K tâm cụm với

mỗi lần lặp lại cho đến khi chúng tơi tìm thấy sự tối ưu tồn cục hay nói cách khác là
các tâm cụm đạt đến vị trí tối ưu của chúng, thường thì sẽ lặp lại việc tính tốn và cập
nhật cho đến khi vị trí của các tâm cụm khơng cịn thay đổi nữa.

16


2.2.2 Agglomerative hierarchical clustering (AHC)
Agglomerative hierarchical clustering là một thuật tốn lặp đi lặp lại q trình gom
cụm các cụm hiện có cho đến khi q trình gom cụm đáp ứng được tiêu chí đề ra.
Q trình thực hiện AHC bắt đầu từ việc tính tốn độ tương quan giữa các cụm đơn
lẻ. Ở mỗi bước, hai cụm có độ tương quan cao nhất sẽ được hợp nhất thành một cụm
mới.
Một trong những yếu tố quan trọng của thuật toán AHC phải nói đến là điều kiện
dừng. Đối với bài toán, điều kiện dừng tốt nhất của thuật toán AHC có thể sử dụng
ngưỡng độ tương quan hoặc số cụm mục tiêu.
2.2.3 Mean-shift
Mean-shift là một thuật toán gom cụm bằng cách cho một điểm số điểm bắt đầu và
các điểm sẽ hội tụ vệ khu vực có mật độ dày hơn, và cuối cùng số lượng cụm sẽ là số
lượng cụm mà các điểm cần hội tụ về. Riêng phương pháp này không cần phải xác
định trước số lượng cụm như K-means và AHC.
2.2.4 Silhouette Score
Vì K-means và AHC đều cần có số lượng cụm cho trước nên sẽ sử dụng Silhouette
Score để ước lượng giá trị đó. Silhouette Score là giá trị để tính độ tương quan và tính
nhất quán của dữ liệu phân cụm. Công thức của Silhouette Score đối với mỗi điểm
dữ liệu point 𝑖 ∈ 𝐶𝑖 (điểm dữ liệu 𝑖 nằm trong cluster 𝐶𝑖 ):
• 𝑎 (𝑖 ): trung bình khoảng cách của các điểm trong cụm so với 𝑖:
1

𝑎 (𝑖 ) = |𝐶 |−1 ∑𝑗∈𝐶𝑖,𝑖≠𝑗 d(𝑖, 𝑗)


(2-1)

𝑖

• 𝑏 (𝑖 ): khoảng cách nhỏ nhất của các điểm ngoài cụm so với 𝑖:
1

𝑏(𝑖 ) = min |𝐶 | ∑𝑗∈𝐶𝑘 d(𝑖, 𝑗)
𝑘≠𝑖

(2-2)

𝑘

• 𝑠(𝑖 ): giá trị Silhouette Score của điểm 𝑖:

17


𝑏(𝑖)−𝑎(𝑖)

𝑠(𝑖 ) =

{max⁡{𝑎(𝑖),𝑏(𝑖)}

, |𝐶𝑖 | > 1

(2-3)


0, |𝐶𝑖 | = 1

Để xác định giá trị số lượng phụ hợp thì sẽ chọn giá trị Silhouette Score trung bình
của tất cả các của điểm cao nhất trong tất cả các cách phân cụm theo từng số lượng
cụm.

18


CHƯƠNG 3

KẾT QUẢ THỰC NGHIỆM

3.1 Tập dữ liệu
Chúng tôi sử dụng bộ dữ liệu miễn phí VIVOS Corpus [30] của AILAB – Đại học
Khoa học Tự nhiên Tp.HCM. Bộ dữ liệu này có 15 giờ ghi âm tiếng nói có chứa
nhiều đoạn âm thanh dạng *.wav với đơn người nói được phân vào từng folder theo
người nói. Bộ dữ liệu đã được chia thành 2 tập huấn luyện và tập kiểm thử với một
số thông tin như Bảng 3.1:
Bảng 3.1: Thông số về tập huấn luyện và tập kiểm thử trong bộ dữ liệu VIVOS
Tập huấn luyện

Tập kiểm thử

Số người nói

46

19


Số người nam

22

12

Số người nữ

24

7

Số lượng file .wav

11660

760

Tổng thời lượng

14:55

0:45

Số lượng từ độc nhất

4617

1692


Chúng tôi sẽ sử dụng bộ dữ liệu tập huấn luyện để huấn luyện và kiểm thử cho mơ
hình speaker embedding với tỉ lệ tập huấn luyện và kiểm thử là 75/25. Với tập kiểm
thử, chúng tôi sẽ sử dụng để tạo ra đoạn hội thoại giả và sử dụng các đoạn đối thoại
giả đó để kiểm thử cho tồn bộ bài tốn.
Vì tập dữ liệu ban đầu là các đoạn hội thoại đơn người nói khơng phải một đoạn hội
thoại nên chúng tôi tạo ra đoạn hội thoại giả bằng cách ghép các đoạn *.wav theo
từng người nói. Đầu tiên chúng tơi chọn ngẫu nhiên K người. (Với K trong khoảng
từ 2 đến 4 người). Mỗi người sẽ lấy ngẫu nhiên 10 đoạn ghi âm. Sau sẽ trộn ngẫu
nhiên những đoạn ghi âm của K người đó lại để tạo thành 1 đoạn hội thoại. Tổng
cộng với mỗi K người nói chúng tơi có 50 đoạn hội thoại.

19


3.2 Thanh đo đánh giá cho bài toán
Để đánh giá hiệu quả của mơ hình, chúng tơi sử dụng hệ đo Sequence Match
Accuracy. Sequence Match Accuracy là hệ đo độ chính xác tối đa của 2 chuỗi với
cách gán nhãn tối ưu nhất. Để tính được hệ đo nay đầu tiên sẽ tính ma trận xuất hiện
của cặp dự đốn-nhãn. Sau đó chọn ra các cặp nhãn sao cho mỗi nhãn hay dự đoán
chỉ được chọn 1 lần và tổng giá trị của các cặp được chọn là lớn nhất. Từ những cặp
được chọn sẽ có độ chính xác bằng tổng giá trị của các cặp chia cho tổng số giá trị.
Để chọn ra được các cặp giá trị lớn nhất ta có thể sử dụng thuật tốn Hungary hoặc
sử dung hàm scipy.optimize.linear_sum_assignment để tìm ra giá trị tối ưu nhất).
Quy trình tìm ra sequence match accuracy ở Hình 3.1.

Hình 3.1: Quy trình xác định Sequence Match Accuracy

20



3.3 Kết quả khi huấn luyện của Model Speaker Embedding
Sau khi huấn luyện, Kết quả của mơ hình được mơ tả chi tiết ở Hình 3.2. Mơ hình đạt
được độ chính xác tốt nhất trên bộ kiểm thử là: 0.97402 (ở epoch thứ 7). Bắt đầu từ
epoch thứ 7 độ chính xác trên tập kiểm thử khơng cịn tăng mà cịn có xu hướng giảm,
mơ hình từ đó về sau sẽ overfit nếu tiếp tục huấn luyện.

Hình 3.2: Kết quả đạt trong q trình huấn luyện mơ hình speaker embedding
3.4 Kết quả đạt được với tập kiểm thử
Hình 3.3 là kết quả sau khi kiểm thử với mỗi phương pháp gom cụm cụ thể và ở từng
tập kiểm thử với người nói cụ thể. Ở 2 phương pháp đầu tiên là Kmeans và AHC,
chúng tôi sử dụng số lượng người nói của tập dữ liệu làm số lượng cụm. Cịn ở 2
phương pháp kế tiếp là K-means và AHC kết hợp với Silhouette Score, chúng tôi sẽ
ước lượng tất cả số lượng người nói trong khoảng từ 2 đến 10 và chọn số lượng người
nói có Silhouette Score cao nhất. Ở phương pháp cuối cùng là mean-shift sẽ được tự
xác định bán khi với p = 0.2.

21


Như trong Hình 3.3, có thể thấy khi biết trước số lượng người nói thì độ chính xác sẽ
cao hơn là phải ước lượng. Hiệu quả của phương pháp K-means khi biết trước số
người nói ln có độ chính xác cao hơn là phương pháp AHC. Nhưng khi ước lượng
thì phương pháp AHC lại có độ chính xác cao hơn. Riêng phương pháp Mean-shift
lại không đem lại kết quả tốt như 4 phương pháp kia. Và tất cả các phương pháp đều
giảm tỉ dần tỉ lệ chính xác khi số người nói tăng lên.
1
0.9

0.8
0.7


0.6
0.5
0.4
0.3
0.2
0.1
0

Kmeans +
AHC +
Kmeans
AHC
Silhouette
Silhouette
Mean-shift
Score
Score
K = 2 0.900475111 0.890389111 0.844813261 0.868643705 0.756924429
K = 3 0.817493684 0.804101782 0.742407367 0.745698706 0.570454056
K = 4 0.758692596 0.739889799 0.66237146 0.647084742 0.49353241

Hình 3.3: Kết quả đạt được bằng các phương pháp gom cụm khác nhau
với với các tập kiểm thử có số người nói K cụ thể.

22


CHƯƠNG 4


TỔNG QUAN

Trong nghiên cứu này chúng tôi nghiên cứu tiếp cận phân đoạn đoạn hội thoại theo
người nói trong ngôn ngữ tiếng Việt. Chúng tôi đã xây dựng mô hình nhận dạng xvector để phục vụ cho việc speaker embedding và sử dụng các phương pháp gom cụm
như k-means, AHC và mean-shift để gom cụm các speaker embedding đó theo từng
người nói cụ thể. Và khi kiểm thử với dữ liệu của VIVOS Corpus, chúng tôi thấy Kmeans đem lại hiệu quả tốt khi biết trước số người nói so với Kmeans và AHC có thể
tự ước lượng bằng Silhouette Score đem lại kết quả tốt hơn so với K-means. Tiếp cận
đề xuất đạt độ chính xác 90,04% trên đoạn đối thoại giả gồm 2 người nói đã được tạo
ra từ tập kiểm thử của bộ dữ liệu VIVOS Corpus.
Bước tiếp theo chúng tôi tiếp tục thu thập dữ liệu để có thể áp dụng cho bài tốn nhận
dạng đọc bảng kiểm tiếng Việt được sử dụng trong phòng mổ, huấn luyện mơ hình,
cải tiến mơ hình phân đoạn hội thoại theo người nói, làm nền tảng để nâng cao hiệu
quả chuyển giọng nói sang văn bản.

23


TÀI LIỆU THAM KHẢO
[1] S. E. Tranter, K. Yu, D. A. Reynolds, G. Evermann, D. Y. Kim, P. C.Woodland,
An investigation into the the interactions between speaker diarisation systems and
automatic speech transcription, CUED/FINFENG/TR-464 (2003).
[2] S. E. Tranter, D. A. Reynolds, An overview of automatic speaker diarization
systems, IEEE Transactions on Audio, Speech, and Language Processing 14 (2006)
1557–1565.
[3] X. Anguera, S. Bozonnet, N. Evans, C. Fredouille, G. Friedland, O. Vinyals,
Speaker diarization: A review of recent research, IEEE Transactions on Audio,
Speech, and Language Processing 20 (2012) 356–370.
[4] H. Gish, M. . Siu, R. Rohlicek, Segregation of speakers for speech recognition
and speaker identification, Proceedings of IEEE International Conference on
Acoustics, Speech and Signal Processing, 1991, pp. 873–876

[5] M. H. Siu, Y. George, H. Gish, An unsupervised, sequential learning algorithm
for segmentation for speech waveforms with multiple speakers, Proceedings of
IEEE International Conference on Acoustics, Speech and Signal Processing, 1992,
pp. 189–192.
[6] M. Sugiyama, J. Murakami, H. Watanabe, Speech segmentation and clustering
based on speaker features, Proceedings of IEEE International Conference on
Acoustics, Speech and Signal Processing, 1993, pp. 395–398.
[7] M. A. Siegler, U. Jain, B. Raj, R. M. Stern, Automatic segmentation,
classification and clustering of broadcast news audio, Proceedings of DARPA
Speech Recognition Workshop, 1997, pp. 97–99.
[8] J. L. Gauvain, G. Adda, L. Lamel, M. Adda-Decker, Transcription of broadcast
news: The LIMSI Nov 96 Hub4 system, Proceedings of ARPA Speech Recognition
Workshop, 1997, pp. 56–63.
[9] J. L. Gauvain, L. Lamel, G. Adda, The LIMSI 1997 Hub-4E transcription
system, Proceedings of DARPA News Transcription and Understanding Workshop,
1998, pp. 75–79.
[10] J. Ajmera, C. Wooters, A robust speaker clustering algorithm, Proceedings of
IEEE Workshop on Automatic Speech Recognition and Understanding, 2003, pp.
411–416.
[11] S. E. Tranter, D. A. Reynolds, Speaker diarisation for broadcast news,
Proceedings of Odyssey Speaker and Language Recognition Workshop, 2004, pp.
337–344.

24


[12] C. Wooters, J. Fung, B. Peskin, X. Anguera, Toward robust speaker
segmentation: The ICSI-SRI Fall 2004 diarization system, Proceedings of Fall 2004
Rich Transcription Workshop, 2004, pp. 402–414.
[13] D. A. Reynolds, P. Torres-Carrasquillo, The MIT Lincoln Laboratory RT-04F

diarization systems: Applications to broadcast audio and telephone conversations,
in: Proceedings of Fall 2004 Rich Transcription Workshop, 2004.
[14] A. E. Rosenberg, A. Gorin, Z. Liu, P. Parthasarathy, Unsupervised speaker
segmentation of telephone conversations, Proceedings of the International
Conference on Spoken Language Processing, 2002, pp. 565–568.
[15] D. Liu, F. Kubala, A cross-channel modeling approach for automatic
segmentation of conversational telephone speech, Proceedings of IEEE Workshop
on Automatic Speech Recognition and Understanding, 2003, pp. 333–338.
[16] T. Pfau, D. Ellis, A. Stolcke, Multispeaker speech activity detection for the
ICSI meeting recorder, Proceedings of IEEE Workshop on Automatic Speech
Recognition and Understanding, 2001, pp. 107–110.
[17] J. Ajmera, G. Lathoud, L. McCowan, Clustering and segmenting speakers and
their locations in meetings, Proceedings of IEEE International Conference on
Acoustics, Speech and Signal Processing, 2004, pp. 605–608.
[18] Q. Jin, K. Laskowski, T. Schultz, A. Waibel, Speaker segmentation and
clustering in meetings, Proceedings of the International Conference on Spoken
Language Processing, 2004, pp. 597–600.
[19] X. Anguera, C. Wooters, J. Hernando, Acoustic beamforming for speaker
diarization of meetings, IEEE Transactions on Audio, Speech, and Language
Processing 15 (2007) 2011–2023.
[20] D. Vijayasenan, F. Valente, H. Bourlard, An information theoretic approach to
speaker diarization of meeting data, IEEE Transactions on Audio, Speech, and
Language Processing 17 (2009) 1382–1393.
[21] F. Valente, P. Motlicek, D. Vijayasenan, Variational Bayesian speaker
diarization of meeting recordings, Proceedings of IEEE International Conference on
Acoustics, Speech and Signal Processing, 2010, pp. 4954–4957.
[22] P. Kenny, G. Boulianne, P. Ouellet, P. Dumouchel, Joint factor analysis versus
eigenchannels in speaker recognition, IEEE Transactions on Audio, Speech, and
Language Processing 15 (2007) 1435–1447.
[23] E. Variani, X. Lei, E. McDermott, I. L. Moreno, J. G-Dominguez, Deep neural

networks for small footprint text-dependent speaker verification, Proceedings of
IEEE International Conference on Acoustics, Speech and Signal Processing, 2014,
pp. 4052–4056.
[24] D. Snyder, D. Garcia-Romero, G. Sell, D. Povey, S. Khudanpur, Xvectors:
Robust DNN embeddings for speaker recognition, Proceedings of IEEE

25


×