Do đó, việc xây dựng một hệ thống máy tính có khả năng tiếp nhận thông tin và phản hồi lại những tình huống mà con người đưa ra, đáp ứng được cả về nội dung và cảm xúc của cuộchội thoại
Trang 1ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH
TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN
5) * CR
LUU TOAN DINH
LUAN VAN THAC SI
NGANH KHOA HOC MAY TINH
Mã số: 8.48.01.01
TP HO CHÍ MINH — NĂM 2022
Trang 2ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINHTRƯỜNG DAI HỌC CÔNG NGHỆ THONG TIN
GIKCR
LUU TOAN DINH
PHƯƠNG PHÁP XÁC ĐỊNH ĐẠI TỪ NHÂN XUNG THEO GIỚI TÍNH ỨNG DỤNG TRONG VOICEBOT
TIENG VIET
LUAN VAN THAC SI
NGANH KHOA HOC MAY TINH
Mã số: 8.48.01.01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
Tiến sĩ Nguyễn Lưu Thùy Ngân
TP HO CHÍ MINH — NĂM 2022
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đề tài “Phương pháp xác định đại từ nhân xưng theo giới tínhứng dụng trong voicebot tiếng Việt” là công trình do tôi tự nghiên cứu, tham khảo vàđọc dịch tài liệu Mọi tham khảo trong luận văn đều được trích dẫn chi tiết và rõ rang
thông tin tác giả, tên công trình và thời gian công bố
Những dữ liệu dùng dé huấn luyện mô hình là do chính cá nhân tôi gan nhãn và
hoàn toàn hợp pháp và chưa từng được công bố ở bat kỳ nơi nào khác
Các số liệu và kết quả nghiên cứu trong khóa luận là trung thực, được trích xuấttrong quá trình huấn luyện và kiểm thử mô hình
Moi sao chép không hợp lệ và vi phạm quy chế đào tạo tôi xin hoàn toàn chịu
trách nhiệm.
Thành phó Hồ Chi Minh, tháng 11 năm 2022
Học viên
Lưu Toàn Định
Trang 4LỜI CÁM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Lưu Thùy Ngân,
người đã trực tiếp hướng dẫn và định hướng cho tôi trên con đường nghiên cứu khoahọc Cô đã rèn luyện cho tôi học được những kỹ nang đọc, tìm kiếm tải liệu trong quátrình nghiên cứu dé có thể hoàn thành đề tài luận văn này
Tiếp đó tôi xin chân thành cảm on Quy Thay Cô tại Trường Đại học Công nghệThông tin — Đại học Quốc gia Thành Phố Hồ Chí Minh đã truyền đạt cho tôi nhiềukiến thức bổ ich trong suốt quá trình tôi học tập tại Trường
Ngoài ra, tôi xin gửi lời cảm ơn tới các anh chị trong nhóm nghiên cứu về Xử
lý ngôn ngữ tự nhiên của Trường Dai học Công nghệ Thông tin — Dai học Quốc giaThành Phố Hồ Chí Minh đã hỗ trợ tôi rất nhiệt tình trong quá trình tôi thực hiện luận
Xin chân thành cam ơn một lân nữa.
Thành phố Hồ Chí Minh, thang 11 năm 2022
Học viên
Lưu Toàn Định
li
Trang 5MỤC LỤC
LOT CAM ĐOANN s5 se HE E7.33 077140077341 07444 071340027941 rAkterrkseorke i
00099 0907.Š ii
MỤC LLỤỤC 5 5< 5< << <9 HH HH HH HH 0 H00 1000 0e iii
DANH MỤC CAC BANG uuusessssssssssssessesssssssssescesssssssssessessssssssscsasssssnssssessssessscssseees vi
DANH MỤC CAC HINH VE, DO THI u ccssssssssssssessessssssesscsecssnssscsscsscesncssceseees vi
DANH MỤC TU VIET TẮTT - 2-5 52s s£©S££Ss£Ss£Ess+szesexsezssrssesse viiiCHƯƠNG 1 TONG QUAN 5-25 s<s<SvseESeEEseerserverseerserrsersssrsssree 1
Ba nh |
1.2 Các công trình liên quañ - - 6 2c 2c 23121 1 11 11 1 ng HH ng triệt 2
1.3 Mục tiêu và phạm vi nghiên CỨU -: 222213221321 1%35EEEEEEEerrkrrrs 4
1.3.1 la CC 6 ế ẽ he hốK 4
II VAN CC Bể sac th Shm.- 5
1.4 Các đóng góp của luận văắm . - 2c 32011221112 111811191111 11181111811 E1 rrrvet 7
CHƯƠNG 2 CƠ SỞ LÝ THUYÊẾTT s°e2+©ss©+Yxse+rxee+rxserrkserreseee 9
2.1 Tống quan về hệ thống voicebo( 2-2 s22 2E2EEEEEeEErEerrkerxees 9
2.2 Mô hình Transf0rm€rF - - -G- 5G 2c SE * SE HH HH nghiệt 9
2.3 Mô hình chuyến giọng nói thành văn bản 2-2 ¿5x2 14
2.3.1 Mô hình Wav2vec QQTH1 11H11 v1 n1 11111011 HH HH rry 15 2.3.2 Mô hình Wave2vec 2.Í - c1 t1 1 11H11 11101110111 0111 11 1H như 19
2.3.3 Mô hình Wav2vec 2.0 cho tiếng ViỆT - 52-5 St EErErrkerkered 24
2.4 Mô hình chatbo(f - 20 221121112111 112 1111211011 0118 1 011 HH Hiện 25
2.5 Mô hình chuyến déi văn bản thành âm thanh -2- 2 22 26
2.5.1 Mô hình Transformer TTS - c 2 c1 3122113311111 ree 26 2.5.2 Mô hình MeIGAN G1 0112111101111 111101110 11101111111 8x Hy ray 28
1H
Trang 62.5.3 Mô hình Multi-band MeGAN - c Q TS 21111 1n nn g1 key 32
CHƯƠNG 3 PHƯƠNG PHÁP 2 es<2E++dEeoEvAdeeorkrreeorkrderke 34
3.1 Cải tiến bộ nhận diện dai từ của chatbot ©-2+ccccxczxccccce 34
3.1.1 Mô hình nhận dạng giới tính thông qua giong nói - - - -‹- 36
3.1.2 Mô hình dịch thuật IMÏTet - c S 2 2 1S 12111111111 11 11H rêy 39
3.2 Tinh chỉnh và cải tiến mô hình chuyển văn bản thành âm thanh 39
3.2.1 Chuyển đổi hình vị thành âm vị trong tiếng Việt 2-2- 55-52403.2.2 Nguén Giáng - 41
3.2.3 Quy trình gan nhãn cho bộ dữ liệu âm thanh :+ ++s5<+552 41 3.2.4 Xây dựng bộ dit liệu - - - 5 2213313321131 15111811 18111 E1eErrke 42
3.3 Thay thế mô hình giải mã âm thanh 2 s¿s¿+++zx++zx+zzxz++ 43
CHUONG 4 THU NGHIỆM VÀ ĐÁNH GIA s- 2s scss©sses 44
4.1 Các độ đo sử dụng dé đánh giá - 2-52 2S 2E xe EExerkrrrerrree 44
4.1.1 P@k,N 4a A A mm < 44
4.2 Đánh giá bộ dữ liệu UIT-Audio-39hh 5c 5c + s+xscxssrserseesereee 46
4.3 Đánh giá mô hình chatb0(£ G0 2222211211121 46
4.4 Đánh giá mô hình chuyển đỗi văn bản thành âm thanh 47
4.4.1 Mat mát của mô hình Transformer TTS - 2-2 s2 2+ ++£+zxerse2 474.4.2 Mat mát của mô hình Multi-band MelGAN -.: :+c-cce+ 48
4.5 Ứng dụng minh họa - 2 + SE EEEEEEE211211211 11111211 1x cxree 49CHƯƠNG 5 KET LUẬN VÀ HƯỚNG PHAT TRIN -° 51
5.1 Kết Man oie cece ccc ccceccccsecscsscssessesssssscssessessvsssessessessesssessessessesanessesseesens 51
5.2 Hướng phat trim o.oo cccccceccccsscssccsecseesessessessesessessessessesseseasesteseesessen 52TÀI LIEU THAM KHAO <2 s£©S2©S£Ss£EseEssExevserseEsevsserserserssre 54
IV
Trang 7PHỤ LỤC A: DANH SÁCH THÀNH VIÊN THAM GIA ĐÁNH GIÁ MÔ HÌNH
Trang 8DANH MỤC CAC BANG
Bảng 2.1 Tham số của mô hình Wav2vec 2.0 cho tiếng Việt -5:-5 24Bang 2.2 Word Error Rate cho mô hình Wav2vec 2.0 tiếng Việt 25Bang 2.3 Chuyén hình vị thành âm vị 2 ¿5c sSE£EE£EE2EE2EE2EEZEEEeEEerxerkerkrree 28Bảng 2.4 Tham số của mô hình Multi-band MelGAN so với mô hình MelGAN 33Bảng 2.5 Kết quả đánh giá mô hình Multi-band-MelGAN so với mô hình MelGAN
Bảng 3.1 Bảng so sánh sự phức tạp giữa đại từ nhân xưng trong tiếng Việt so với
tiếng Anh -¿- + s2 E12 1521211211211211111211211211111211211111111 211111 34
Bảng 3.2 Luật xác định đại từ nhân xưng dựa vào giới tính của người nói 36
Bảng 3.3 Kết quả huấn luyện mô hình nhận dạng giới tính thông qua giọng nói 38Bang 3.4 Bảng quy đổi hình vị qua âm vị trong tiếng Việt 2-5255 cseẻ 40Bang 3.5 Ví dụ về cách chuyền hình vị thành âm vị trong tiếng Việt - 40Bang 3.6 Thông số của bộ dit liệu UIT-Audio-39h - 2-5 5¿2z+zs+£s+zxezzzzssd 42Bang 4.1 Thang điểm của phương pháp đánh giá MOS -5- 5 s+csss2 45Bảng 4.2 Kết quả đánh giá theo phương pháp MOS về độ tương đồng và độ đồng cảm
— 47
Bang 4.3 Giá trị mat mát cho quang phổ Mel và ngắt nghỉ trong câu - 47
Bang 4.4 Giá trị STFT cho mô hình G và mô hình D - - 55s £+ecssec«s 48
Bang 4.5 Kết quả đánh giá mô hình chuyền văn bản thành âm thanh 49
DANH MỤC CÁC HÌNH VE, DO THỊ
vi
Trang 9Hình 2.1 Mô hình chung của một VOIC€OI - 2c 3 332113331 EEEErsrrrrrrrrres 9
Hình 2.2 Kiến trúc của mô hình Transformer [2 Í ] - c5 s++++2£++sz+£z£xrxe# 10
Hình 2.3 Cấu trúc của multi-head attention [2Ï ] -s- s- xec++c+E+zxerxerxerxerxsree 12
Hình 2.4 Cấu trúc Transformer encoder [21 ] - + + x+s+x+E+EeE+Eerxexerxererxers 13Hình 2.5 Cấu trúc Transformer decoder [2 Ï ] -¿z+-++z++£x+z+£++zxerxezrezred 14Hình 2.6 Mô hình Wav2vec với kiến trúc đôi [26] ¿+ ++seE+EeEeEerxerrxrrs 16Hình 2.7 Tối đa hóa thông tin tương hỗ [4l ] 2-2 522S£+£E+£x+zEzEzrxerxrrez 17
Hình 2.8 Quy trình xử lý tại bước k=l [4l ], - - c5 5< + S+x+scEskksereersrrsererree 18 Hình 2.9 Quy trình xử lý tại bước k=2 [4l] - ¿5c + c + +2 *+sseEseerseererrssrees 19
Hình 2.10 Kiến trúc mô hình Wav2vec 2.0 [42] 2- 22s2s+2z+£e£xerxezrerred 20Hình 2.11 Kiến trúc bộ mã hóa đặc trưng [42] -2- 2 s+s2+z+£+zxerxzzezred 21Hình 2.12 Kiến trúc mô-đun lượng tử hóa [42] -¿- 2-2 2 +++£xe£xe£xzrzzszse2 22Hình 2.13 Kiến trúc mạng ngữ cảnh [42] 2 52 £+SE+£E2E£2EE£EEvzEzEezrxerxrrex 23Hình 2.14 Mat mát tương phản [42] - 2 2 s9S£EE£EEEEESEE2EE2EEEEEEerEerkerxerkrree 24Hình 2.15 Kiến trúc mô hình chatbot cảm thông 2 2 2 x+2E£+£++£+zzxzsz 26Hình 2.16 Kiến trúc mô hình Transformer TTS [6] - 2 2 2 s+x+£s+£z£+z +2 27Hình 2.17 Kiến trúc khối tạo sinh đữ liệu [9] + + ++E++E++E£rxerxerxerxerxsxee 29Hình 2.18 Kiến trúc khối phân biệt thật giả [7] 2-2 2 2+se£xe£Ee£erzrszxe2 31Hình 2.19 Kiến trúc mô hình Multi-band MelGAN [7] - 2-55 s5s<+ss2 32Hình 3.1 Quy trình xác định đại từ nhân xưng ngôi thứ nhất và ngôi thứ hai 35Hình 3.2 Quy trình xác định đại từ nhân xưng ngôi thứ nhất và ngôi thứ hai có phân
biệt giới tính của nBƯỜI TÓI - c1 22 2211121111191 111 1111191111111 11T 1 11H ng Hy 37
Hình 3.3 Quá trình huấn luyện mô hình nhận dạng giới tinh thông qua giọng nói 38Hình 3.4 Mô hình CNN gồm 2 lớp sử dụng thư viện Keras trên Python 39Hình 4.1 Mat mát của mô hình Transformer TTS -:2¿¿2++22+zs+z>++ 48Hình 4.2 Sơ đồ tông quan của mô hình voicebot mô phỏng . 2: 2-52 50
Vil
Trang 10DANH MỤC TU VIET TAT
STT | Từ viết tắt | Tên đầy đủ
1 |CNN Convolutional Neural Network
2 |RNN Recurrent neural network
3 |NLP Natural language processing
4 |STFT Short-time Fourier transform
5 |LSTM Long short term memory
6 |MOS Mean Opinion Scores
7 |MFCC Mel Frequency Cepstral Coefficients
vill
Trang 11CHƯƠNG 1 TONG QUAN
1.1 Dat van dé
Việc xử ly thông tin và cảm xúc trong câu nói của đối phương dé đưa ra câuphản hồi thích hợp về mặt cảm xúc, làm cho người nghe cảm thấy được xoa dịu hoặcđồng cảm đã có thé coi là một kỹ năng khó đối với chính con người Do đó, việc xây
dựng một hệ thống máy tính có khả năng tiếp nhận thông tin và phản hồi lại những
tình huống mà con người đưa ra, đáp ứng được cả về nội dung và cảm xúc của cuộchội thoại thông qua tương tác bằng giọng nói giống như giữa hai người đang nóichuyện với nhau có thể coi là một thử thách lớn và thú vị cho các nhóm nghiên cứu
khoa học Với mong muốn chuyên hóa chiếc máy vi tính, một vật vô tri vô giác không
có cảm xúc thành một người bạn “tâm giao”, có thể tương tác và thể hiện cảm xúcthông qua giọng nói, chúng tôi đã phát triển một hệ thống voicebot có tên là ViEmBot.Với mục đích chính là chia sẻ tâm sự về những thứ đang diễn ra trong cuộc sống hàngngày như vui, buồn, đồng cảm cho nên ViEmBot sẽ không đi vào chỉ tiết của mộtvấn dé cụ thé trong bat cứ một lĩnh vực nào mà chỉ tâm sự một cách chung chung về
cuộc sống đời thường xung quanh chúng ta
So sánh với những mô hình voicebot hay trợ lý ảo có hỗ trợ tiếng Việt tại thờiđiểm hiện tại như Google Asistant [17], MaiKa [18], KiKi [19] thi ViEmBot có nhữngđiểm khác biệt như sau:
Thứ nhất, ViEmBot được huấn luyện trên bộ dữ liệu hội thoại có cảm xúc VED-27K được dịch qua tiếng Việt từ bộ dữ liệu gốc nỏi tiếng Empathetic Dialogues
UIT-của Facebook [3] gồm những câu đối thoại thiên về mặt cảm xúc đồng cảm
Thứ hai, thay vì xưng hô “tôi” và “bạn” như những voicebot hiện tại, ViEmBot
có thé phân biệt được giới tính của người nói thông qua giọng nói dé từ đó đưa rađược những đại từ nhân xưng phù hợp trong câu nói phản hồi Đặc điểm này đã tạo
nên sự khác biệt đáng kê giữa ViEmBot và voicebot có hỗ trợ tiếng Việt khác tinh
đên thời điêm hiện tại.
Trang 12Ngoài ra, ViEmBot còn có thể đặt lại câu hỏi mang tính cảm xúc cho người nói
và luôn theo sát một chủ đề khi ta tương tác nhiều lượt làm cho cuộc hội thoại trở nên
tự nhiên hơn.
1.2 Các công trình liên quan
Trên thế giới hiện nay đã có nhiều voicebot hay trợ lý ảo được sử dụng trongcuộc đời sông hàng ngày Trong đó những cái tên tiêu biểu như Alexa của Amazon
[32], Google Assistant của Google [17] hay Siri của Apple [33] đã không còn xa lạ với chúng ta.
Tại Việt Nam, những ứng dụng voicebot, trợ lý ảo còn rất ít Hiện nay có một
số công ty phần mềm lớn cũng đã phát triển hệ thống voicebot hỗ trợ khách hàng nhưFPT, Zalo (KiKi) [19] hay Viettel (Cyberbot) [34] Nhưng tại thời điểm hiện tainhững ứng dụng này chỉ dùng cho mục đích thương mại để trả lời những thắc mắccủa khách hàng về một sản phâm hay một dịch vụ từ phía doanh nghiệp, không sửdụng trong mục đích tâm sự, giãi bày cảm xúc hay tán gẫu về những câu chuyện đờithường trong cuộc song hàng ngày
Trợ lý ảo Google Assistant [17] mặc dù đã hỗ trợ tiếng Việt nhưng lại thiên về
tra cứu thông tin và sử dụng những chức năng có trên điện thoại như tra cứu thời gian, gọi điện, phát nhạc, hon là dùng cho mục dich tâm sự, giãi bay cảm xúc qua lại.
Một số trường hợp Google Asisstant [17] cũng tương tác có cảm xúc nhưng lại chỉđưa ra câu trả lời có san là “có” hoặc “không” dé người dùng lựa chọn thay vi trả lờidưới dang một câu nói giống như con người
Ngoài ra những voicebot hiện tại khi tương tac với con người chỉ sử dụng hai
đại từ nhân xưng là “tôi” và “bạn”, điều này không được tự nhiên khi giao tiếp trongtiếng Việt Khác với tiếng Anh, trong tiếng Việt đại từ nhân xưng rất đa dạng, đại từnhân xưng thê hiện tuôi tác, sự kính trọng hay mức độ thân thiện giữa người nghe và
người nói Sử dụng sai đại từ nhân xưng trong tiếng Việt có thê gây hiệu lầm là không
lễ phép hay thiếu tôn trọng người khác Chính vì thế việc phân biệt đúng đại từ nhân
xưng để trả lời lại bằng những đại từ phù hợp là vô cùng quan trọng trong tiếng Việt
Dé hiểu rõ hơn về tính quan trọng của việc sử dụng dai từ nhân xưng trong tiếng Việt,
ta xét hai ví dụ sau:
Trang 13Vi dụ 1.1: Có hai người A và B đang nói chuyện với nhau, người A gọi người B là
“bố” thì người B cần gọi người A là “con” thay vì là “bạn”, vì điều này không đúng
với phong tục văn hóa của người Viét.
A: Hôm nay bố đi làm có mệt không?
B: Bồ cũng cảm thấy hơi mệt con a
Vi dụ 1.2: Người A xưng hô với người B là “bác” vì người B là “cháu” của người A.
Nếu người B sử dụng sai đại từ nhân xưng để trả lời người A, từ “cháu” qua “mày”
thì theo văn hóa của người Việt, người B sẽ bị quy vao là “bất lịch sự” và thiếu sựtôn trọng đối với những người lớn tuổi hơn mình
A: Bác thấy cháu có vẻ đang buồn phải không?
B: Đúng rồi! Tao đang buồn mày ạ
Qua hai ví dụ phía trên ta có thê thấy việc sử dụng đúng đại từ nhân xưng trong tiếng
Việt quan trọng tới mức nào.
Khóa luận tốt nghiệp về chatbot cảm xúc của hai tác giả Tiến và Thành [20] đãthực hiện trước đó hoạt động tốt về mặt nội dung nhưng còn một vài điểm hạn chế làchưa thé tương tác với con người thông qua giọng nói, khi người dùng muốn tương
tác vẫn cần phải điền nội dung vào khung chat bằng cách gõ từng đoạn văn bản màkhông thé nói chuyện trực tiếp như hai người đang nói chuyện với nhau Bộ nhậndiện đại từ cho ngôi thứ nhất và ngôi thứ hai tương đối tốt cho những trường hợp
không phân biệt giới tính Nhưng khi tương tác cần phân biệt giới tính để xác định
đại từ nhân xưng thì chatbot này lại tự động gán đại từ nhân xưng còn lại mà không quan tâm tới giới tính người nói là nam hay nữ.
Vi dụ 1.3: A gọi B là “em” thì chatbot tự gan A là “anh”, A gọi B là “con” thì mặc
định chatbot gán A là “bố” Điều này không hắn đúng vì A có thê là “chị” và “mẹ”
trong hai trường hợp nêu trên.
Ngoài ra, chatbot của hai tác giả Tiến và Thành phát triển sử dụng thư viện
Googletrans [11] dé chuyên đổi câu nói tiếng Việt qua tiếng Anh nhằm xác định đại
từ nhân xưng ngôi thứ nhất và ngôi thứ hai trong câu nói tiếng Việt, nhưng thư việnnày trong một số trường hợp dịch không sát nghĩa với câu tiếng Việt, dẫn tới không
xác định được đại từ nhân xưng (xem ví dụ 1.4).
Trang 14Ví dụ 1.4: Khi dịch câu nói “Bố hôm nay đi chơi có vui không” thì thư viện
Googletrans [11] dịch thành “Dad today go out is not fun” Lúc này theo phương pháp
xác định đại từ nhân xưng mà hai tác giả Tiến và Thành [20] thực hiện sẽ rất khó xácđịnh đại từ nhân xưng “Bồ” là ngôi thứ nhất hay ngôi thứ hai do dich qua tiếng Anh
là “Dad”.
1.3 Mục tiêu và phạm vi nghiên cứu
Dựa trên nền tảng ứng dụng chatbot có cảm xúc của hai tác giả Tiến và Thành[20] đã thực hiện Chúng tôi tiến hành phát triển ứng dụng chatbot này trở thành
voicebot, giúp con người có thê tương tác băng giọng nói tiếng Việt
1.3.1 Mục tiêu
Mục tiêu của đề tài “Phương pháp xác định đại từ nhân xưng theo giới tính ứngdụng trong voicebot tiếng Việt” là việc phát triển một ứng dụng voicebot có thể tươngtác với con người thông qua giọng nói tiếng Việt Cụ thê là:
e Nghiên cứu va cài đặt mô hình nhận dạng giọng nói tiếng Việt sử dụng
Wave2vec 2.0 [1] Framework của Facebook.
e Xây dựng quy trình gan nhãn cho bộ dữ liệu âm thanh dùng đề huấn luyện mô
hình chuyển văn bản thành âm thanh (Text-to-Speech), tiếp đó tiến hành gannhãn dữ liệu theo quy trình đã đề ra
e Cải tiến bộ nhận diện đại từ nhân xưng trong mô hình chatbot mà hai tác giả
Tiến và Thành [20] đã thực hiện bằng việc xác định giới tính của người nói và
đề xuất thay thé thư viện Googletrans [11] bằng mô hình dich thuật MTet [35]
e Từ mô hình Transformer TTS [6] dùng cho mô-đun chuyên đổi văn bản thành
giọng nói, chúng tôi đã tiến hành tinh chỉnh và cải tiến như sau:
o Thay thế mô-đun chuyên hình vị thành âm vị (Grapheme-to-Phoneme)
từ tiếng Anh (mô hình gốc) thành tiếng Việt dựa trên những luật phát
âm trong tiếng Việt trong công trình nghiên cứu của Emerich, Giang H
[8].
o Đề xuất thay thế mô-đun chuyên đồi quang phổ Mel (Mel-spectrogram)
thành âm thanh bằng mô hình Multi-band MeGAN [7] thay vì sử dụngWaveNet [12] như mô hình gốc ban đầu của tác giả bài báo Transformer
4
Trang 15TTS [6] Phương pháp này đã được tác giả bài báo Multi-band MeGAN
[7] chứng minh là tốt hơn so với mô hình WaveNet [12] cho tiếng Anhnhưng chưa có công bố nào thử nghiệm trên tiếng Việt
1.3.2 Phạm vi
Luận văn tập trung vào việc “Phương pháp xác định đại từ nhân xưng theo giới
tính ứng dụng trong voicebot tiếng Việt”, có thé tương tác với con người thông quagiọng nói tiếng Việt Do đó, phạm vi nghiên cứu của đề tài bao gồm 3 mô-đun củavoicebot và bộ dir liệu âm thanh tiếng Việt:
A Mô hình chuyển giọng nói thành văn bản (Speech-to-Text)
Được phát triển bởi Facebook, tại thời điểm hiện tại mô hình Wav2vec 2.0 [1]dang là mô hình hiện dai nhất, cho độ chính xác cao (State-of-the-Art) trong lĩnh vựcnhận dạng giọng nói trên nhiều ngôn ngữ khác nhau Mô hình này như một cuộc cáchmạng làm thay đôi hoàn toàn lĩnh vực xử lý âm thanh thanh (speech processing) nóiriêng và lĩnh vực xử lý ngôn ngữ tự nhiên nói chung nhờ phương pháp tiếp cận “học
tự giám sát” (self-supervised learning).
Mô hình Wav2vec 2.0 [1] cho tiếng Việt được tác giả Nguyễn Thái Binh [2]
huấn luyện trên tập dữ liệu 13.000 giờ âm thanh không có nhãn dán trên Youtube,tiếp đó tác giả huấn luyện trên tập đữ liệu 250 giờ có nhãn dán của tập dữ liệu VLSP[14] Đến thời điểm hiện tại thì đây đang là mô hình có độ chính xác cao nhất được
công bồ và chia sẻ miễn phí trong cộng đồng dành cho tiếng Việt
Chính vì vậy, phạm vi của phần này là nghiên cứu tích hợp và triển khai môhình Wav2vec 2.0 [1], sử dung bộ trọng số của tác giả Nguyễn Thái Bình [14] làmmô-đun chuyền âm thanh thành văn bản cho hệ thống voicebot
B Mô hình chatbot
Được phát triển bởi hai tác giả Tiến và Thanh [20] trong khóa luận tốt nghiệp
có tên “Xay dựng Chatbot biết cảm thông dựa trên mô hình BERT cho tiếng Việt”.Chatbot này đã hoạt động khá tốt khi tương tác có thể hiện cảm xúc với con người
dưới dạng văn bản hội thoại Tuy nhiên, hệ thống mới chỉ dừng lại dưới dạng chatbot
mà chưa thể tương tác với con người thông qua giọng nói Bộ nhận dạng đại từ nhân
Trang 16xưng ngôi thứ nhất và ngôi thứ hai trong tiếng Việt chưa thực sự chuẩn xác (Ví dụ
1.4).
Vi vậy, phạm vi của phần này là cải tiễn bộ nhận diện đại từ mà hai tác giả Tiến
và Thanh [20] đã nghiên cứu và phát triển bằng phương pháp xác định giới tính củangười nói và đề xuất sử dụng mô hình dịch MTet [35] thay thế cho thư viện
Googletrans [11] Nâng cấp ứng dụng chatbot này trở thành voicebot dé có thể tương
tac với con người thông qua giọng nói.
C Mô hình chuyển văn bản thành giọng nói
Mô hình chuyên đổi văn bản thành giọng nói (Text-to-Speech) chúng tôi tiếnhành xây dựng từ những khâu đầu tiên dựa trên sự tinh chỉnh và cải tiến mô hìnhTransformer TTS [6] dành cho tiếng Việt Việc tinh chỉnh và cải tiến nay tập trung
vào hai diém chính như sau:
e Thay thé mô-đun chuyền hình vị thành âm vị cho tiếng Anh trong mô hình
Transformer TTS [6] gốc bằng mô-đun chuyền hình vị thành âm vị cho tiếng
Việt, sử dụng luật phát âm trong nghiên cứu của Emerich và Giang H [8].
e Đề xuất sử dụng mô hình giải mã âm thanh Multi-band MeGAN [7] thay thế
cho mô hình WaveNet [12], nhằm tăng tốc độ giải mã và độ chính xác Môhình này đã được chứng minh là có hiệu quả với tiếng Anh nhưng chưa có
nghiên cứu nào được công bó, thử nghiệm với tiếng Việt
D Xây dựng bộ dữ liệu âm thanh tiếng Việt
Dữ liệu âm thanh phục vụ cho việc huấn luyện mô hình chuyên văn bản thành
âm thanh tiếng Việt còn rất ít và hạn chế, đa phần dùng cho mục đích thương mại màkhông chia sẻ miễn phí cho cộng đồng nghiên cứu Một số bộ đữ liệu được chia sẻmiễn phí trong cộng đồng như VIVOS [36], 100 Giờ âm thanh từ VinAI Research
[37], 30 Giờ âm thanh từ FPT [38], cuộc thi VLSP [14] hang năm, những bộ dữ
liệu này còn khá nhỏ (VLSP 2020 chỉ chứa 5-8 giờ âm thanh) hoặc âm thanh chứa
quá nhiều nhiễu (FPT 30 giờ), nhiều người phát âm trong tập dữ liệu dẫn tới việchuấn luyện cho hệ thống chuyên văn bản thành giọng nói mang đặc trưng của một
người gặp khó khăn.
Trang 17Với mong muốn tạo ra một bộ dir liệu chat lượng cho tiếng Việt giống như bộ
dữ liệu Ljspeech [39] đã có trong tiếng Anh, trong đề tài này chúng tôi tiến hành xâydựng bộ dữ liệu giọng nói tiếng Việt bao gồm âm thanh và văn bản (nhãn dán) tươngứng, dùng làm đữ liệu huấn luyện cho mô-đun chuyền văn bản thành âm thanh, bộ
dữ liệu có tổng chiều dài là 30 giờ âm thanh của một người phat âm (single speaker),mỗi tệp âm thanh có độ dài từ 3 giây tới 13 giây, chất lượng âm thanh 22.05 kHz,
định dạng tệp *.wav để phục vụ cho việc huấn luyện mô hình
1.4 Các đóng góp của luận văn
Luận văn nay có các đóng góp chính như sau:
e_ Cải tiến bộ nhận diện đại từ cho ngôn ngữ tiếng Việt trong chatbot ma hai
tác giả Tiến và Thành [20] đã thực hiện bang phương thức xác định giớitính của người nói thông qua giọng nói và đề xuất phương pháp sử dụng môhình MTet [35] thay thé cho thư viện Googletrans [11]
e Xây dựng bộ đữ liệu âm thanh tiếng Việt dùng cho mô hình chuyền đổi van
bản thành âm thanh.
e Triển khai mô hình Transformer TTS [6] cho tiếng Việt băng cách thay thé
mô-đun chuyên hình vị thành âm vị trong tiếng Anh bằng những luật phát
âm trong tiếng Việt dựa trên nghiên cứu của Emerich và Giang H [8]
e Thay thé bước giải mã quang phô Mel (Mel-Spectrogram) thành âm thanh
từ mô hình WaveNet [12] trong mô hình gốc của tác giả bài báo
Transformer TTS [6] thành mô hình Multi-Band MeGAN [7] cho ngôn ngữ
tiếng Việt
e Nâng cấp ứng dụng “Chatbot tiếng Việt có cảm xúc” của hai tác giả Tiến
và Thành [20] đã thực hiện đề ứng dụng này có thê tương tác với con người
thông qua giọng nói bằng phương pháp kết hợp thêm mô hình chuyển âm
thanh thành văn bản (Speech-to-Text) và mô hình chuyền văn bản thành âm
thanh (Text-to-Speech).
Trang 18Ngoài ra, luận văn này có một công bố khoa học đã được chấp nhận tại hội nghị khoa
học quốc tế MAPR 2022 (Multimedia Analysis and Parttern Recognition)
Dinh Luu Toan, Thanh Thua-Tieu Pham, Tien Dang, and Ngan Luu-Thuy Nguyen,
“ViEmBot: An Empathetic Voicebot System for the Vietnamese Language”,
Proceedings of the 2022 International Conference on Multimedia Analysis and
Pattern Recognition (MAPR), 2022, pages 200-205.
Trang 19CHUONG 2 CƠ SỞ LÝ THUYET
Trong chương này chúng tôi trình bày tổng quan về mô hình Transformer và
các thành phần có trong mô hình này Ngoài ra, chúng tôi cũng trình bày về hệ thốngvoicebot, chi tiết 3 mô-đun của hệ thống: mô-đun chuyển âm thanh thành văn ban
(Speech-to-Text), mô-đun Chatbot, mô-đun chuyển văn bản thành âm thanh
(Text-to-Speech).
2.1 Tổng quan về hệ thống voicebot
Voicebot là hệ thống cho phép con người tương tác với máy tính giống như hai
người đang hội thoại với nhau thông qua giọng nói Một hệ thống voicebot thôngthường được cấu thành từ 3 thành phần chính bao gồm: mô-đun chuyển âm thanh
thành văn bản (Speech-to- Text), mô đun xử lý và đưa ra câu trả lời phù hợp (Chatbot),
Người nói Chuyển văn
nói riêng và nhiều tác vụ của lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) nói chung Đếnkhi mô hình Transformer [21] được công bố, một kiến trúc áp dụng cơ chế tự chú ý(self-attention) đã chứng minh được sự hiệu quả và đang dần thay thế những cấu trúc
cũ trước đây.
Trang 20Nhìn vào hình 2.2, ta thấy rằng mô hình Transformer sử dụng thiết kế gồm haiphần: bộ mã hoá (Encoder) và bộ giải mã (Decoder) như các kiến trúc trước.
Phía bên trái là bộ mã hóa (Encoder) và phía bên phải là bộ giải mã (Decoder).
Cả bộ mã hoá và bộ giải mã đều có N khối giống nhau được xếp chồng lên nhau.Phan tiếp sau đây chúng ta sẽ đi tìm hiểu về chi tiết của mô hình này
Multi-Head Attention
Nx
N Add & Norm
, Add & Norm
Multi-Head Multi-Head Attention Attention
(a) =?
Positional Positional í @® :
Input Output Embedding Embedding
Inputs Outputs
(shifted right)
Hình 2.2 Kiến trúc của mô hình Transformer [21]
A Véc-tơ nhúng đầu vào (Input embedding)
Văn ban là ngôn ngữ của con người, máy tính không thé hiểu được, chính vìvậy chúng ta phải biến đổi nó về một dạng thông tin mà máy tính có thể hiểu, đóchính là vec-tơ biéu diễn Ở đây tác giả sử dụng bộ tokenizer đã được huấn luyện sẵn
dé mã hoá văn bản thành dang véc-tơ token nhúng (token embedding vector) Trong
đó mỗi token là tương ứng với vị trí của nó trong bộ từ vựng của tokenizer, số chiều
của véc-tơ nhúng (embedding) bằng độ dài lớn nhất (max_ length) tuỳ chọn (nhưng
có giới hạn).
B Mã hóa vị trí (Positional encoding)
10
Trang 21Không giống như ở trong mạng RNN hoặc các mạng hồi quy khác, mô hìnhTransformer [21] có mô-đun biểu thị vi trí các từ trong câu, ví dụ : “tôi thích bạn” và
“bạn thích tôi” được biéu diễn khác nhau Đề biéu diễn thứ tự các từ trong một câu,
mô hình Transformer sử dụng phương pháp mã hoá vi tri (Positional Encoding), các
véc-tơ mã hoá vị trí này có cùng chiều với véc-tơ nhúng đầu vào (input embedding)
dé tính tổng lại, sau đó đi qua bộ giải mã (Encoder) Công thức tinh vị trí của một từ
mà tac giả của bài báo “Attention is All You Need” [21] đã đề xuất (công thức 2.1
Trong đó, pos là vi tri của từ trong câu, i là số chiều Khi đó, mỗi chiều trong mã hóa
vị tri (position encoding) tương ứng với một hình sin với bước sóng từ 2z đến 10000:
C Multi-Head Attention
Cả bộ mã hóa (Encoder) và và bộ giải mã (Decoder) đều sử dung thành phangọi là Multi-Head Attention, được xem như là thành phần chính của mô hìnhTransformer [21] và là điểm đặc biệt so với những mô hình sinh văn bản trước đó
Dé thuận tiện trong việc theo dõi, chúng tôi trình bày phần này trước khi đi vào chi
tiết của bộ mã hóa (Encoder) và bộ giải mã (Decoder) Như đã đề cập, Transformerdùng cơ chế tự chú ý (self-attention) dé biểu thi tam ảnh hưởng của những từ trong
câu so với một từ đang xét, được thể hiện bằng trọng số liên quan (attention weight).Với cơ chế này, mỗi từ được đại diện bởi bộ ba tham số là key, value và query (k, q,v) - được khởi tạo ngẫu nhiên và được tối ưu thông qua quá trình học và cập nhật.Như vậy, một câu đầu vào bat kỳ được đại diện bởi bộ ba ma trận K, Q, V tương ứng
là (keys, queries, values) và độ liên quan (attention weight) được tính bằng phép
“Scale dot product attention” thông qua phương trình 2.3 sau đây:
; (2 =)
attention(Q,K,V) = softmax V (2.3)
Jd
11
Trang 22Việc tiên hành chia cho / dự chiêu dai của véc tơ key, nhắm mục đích chuân
hoá lại giá trị trong trường hợp số mũ quá lớn
Scaled Dot-Product |
Attention ⁄
Hình 2.3 Cấu trúc của multi-head attention [21]
Trọng số của một self-attention có xu hướng đánh trọng số cho chính nó caohơn những từ xung quanh nhưng chúng ta trông đợi trọng số đó thé hiện mức độ liên
quan giữa nó và các từ khác trong câu Giải pháp được đưa ra là thay vì sử dụng một,
ta sử dụng nhiều self-attention cùng một lúc dé học được nhiều trọng số attentionkhác nhau nhằm đảm bảo sự công bằng khi lấy trung bình (hoặc tổng) của các trọng
số self-attention này Việc làm như vậy được gọi là Multi-Head Attention (hình 2.3)
Vì bản thân mỗi self-attention cho ra một ma trận trọng số chú ý (attention weightmatrix) riêng nên ta tiến hành nối các ma trận này và nhân với ma trận trọng số Wo
dé ra một ma trận chú ý (attention matrix) duy nhất (weighted sum) Ma trận trọng sốnày cũng được cập nhật qua mỗi lần huấn luyện
D Bộ mã hóa (Encoder)
Encoder bao gồm N khối xếp chồng lên nhau, mỗi khối lại bao gồm 2 khối nhỏ
hơn gọi là lớp con (sub-layer) (hình 2.4) Khối đầu tiên là Multi-Head Attention đãđược trình bày ở phần trên, khối thứ hai chỉ là các mạng chuyên tiếp đơn giản (Feed
12
Trang 23forward) Giữa mỗi lớp con có một kết nối residual connection (tương tự dropout với
P_drop = 0.1) va theo sau đó chính là một lớp chuan hoá (Norm layer)
Add & Norm
Hình 2.4 Cau trúc Transformer encoder [21]
Việc sử dung khối residual connection nhằm giúp mạng giữ được thông tin trước
đó và việc chuẩn hoá sau đó nhăm mục đích giúp cho có được sự đồng bộ trong phânphối trong dự liệu do việc mô hình càng sâu có nhiều lớp cùng với đó là có nhiều hàmkích hoạt, nó làm biến đổi di phân phối của dit liệu Phương trình đầu ra của mỗi khối
có dạng như phương trình 2.4 sau đây:
y = LayerNorm(x + Sublayer(x)) (2.4)
Sau khi kết thúc quá trình mã hoa (Encoder), các véc tơ nay được chuyền sang
bộ giải mã (Decoder) đề thực hiện quá trình giải mã
Trang 24Head Attention đã được thay thế bởi khối Mask Head Attention Mask
Multi-Head Attention về bản chất thì cũng tương tự như Multi-Multi-Head Attention tuy nhiên
khác ở chỗ những từ chưa được giải mã bị che lại (mask) Nguyên nhân là một từ ở
vị trí hiện tại phụ thuộc vào những từ đã được giải mã trước đó Việc che giấu đinhững từ phía sau nhằm mục đích tránh hiện tượng “nhìn trước” kết quả
Output
Embedding
Outputs (shifted right)
Hình 2.5 Cấu trúc Transformer decoder [21]
Đầu ra tại mỗi bước nhảy thời gian (timestep) của Bộ giải mã (Decoder) là một
từ, cụ thể các véc tơ đầu ra đi qua một lớp kết nối đầy đủ (fully-connected layer) và
qua hàm softmax dé tính toán ra vi trí của từ trong bộ từ điên.
2.3 Mô hình chuyển giọng nói thành văn bản
Đề chuyên đổi giọng nói thành văn bản hiện nay có rất nhiều mô hình nỗi tiếngnhư: DeepSpeech [22], DeepSpeech2 [23], Conformer [24], được phát triển bởi
những tập đoàn lớn như Google, Microsoft, Baidu, những mô hình này đã từng
14
Trang 25được coi là những mô hình tiên tiễn và hiện đại nhất (State-of-the-Art) trong mộtkhoảng thời gian dài Trong đó có một mô hình được phát triển bởi Facebook (hiệntại là Meta) có tên là Wave2vec 2.0 [1], mô hình này đã đạt độ chính xác rất cao và
là hướng đi hoàn toàn mới theo dạng hoc tự giám sat (self supervised learning), hướng
đi này như mở ra một cuộc cách mạng trong lĩnh vực nhận dạng giọng nói nói riêng
và những lĩnh vực khác liên quan tới máy học nói chung Vì vậy, trong mô hình
voicebot này chúng tôi chọn mô hình Wave2vec 2.0 [1] làm mô hình nhận dạng giọng nói (Automatic Speech Recognition hay Speech-to-Text).
2.3.1 Mô hình Wav2vec
Wav2vec [26] là một mô hình giải mã âm thanh (Speech encoder model) được
giới thiệu vào cuối năm 2019 bởi nhóm phát triển về trí thông minh nhân tạo tạiFacebook Mô hình đã nhanh chóng trở thành mô hình hiện đại nhất (State-of-the-Art) tại thời điểm đó với nhiều tác vụ như nhận giạng giọng nói (Automatic speechrecognition) và nhận dạng cảm xúc (Emotion recognition) Mô hình sử dụng kiến trúcTransformer [21] và được huấn luyện trước (Pre-trained) trên 12 ngôn ngữ khác nhau
A Mô hình Wav2vec và mô hình GPT có nhiều điểm giống nhau
Giống như mô hình GPT [15] hay BERT [40] thì ngay từ khi được giới thiệu,Wav2vec [26] đã như một cuộc cách mạng làm thay đổi lĩnh vực xử lý giọng nói
(Speech processing) nói riêng và lĩnh vực xử lý ngôn ngữ tự nhiên (Natural Language
Processing) nói chung với một cách tiếp cận hoàn toàn mới là học tự giám sát supervised) Giống như mô hình GPT [15] cho văn bản, mô hình Wav2vec [26] sẽ dựđoán trước một chuỗi âm thanh có thé sinh ra tiếp đó từ một ký tự ban đầu “predict
(Self-the future of an audio sequence” Mặc dù công nghệ khác với mô hình GPT nhưng
về bản chat thì lại giống mô hình này
B Mô hình có kiến trúc đôi bao gồm mạng mã hóa (encoder network) và mang
ngữ cảnh (context network).
Tại lõi xử lý của mô hình Wav2vec [26] là hai mạng riêng biệt là: mạng mã hóa
(encoder network) và mạng ngữ cảnh (context network) Cả hai mang này đều là
mạng nơ-ron tích chập mặc dù tác vụ cua chúng khác nhau (Hình 2.6).
15
Trang 26- Mang mã hóa (encoder network) có nhiệm vụ giảm số chiều của đữ liệu âm
thanh bằng cách mã hóa 30 mili giây âm thanh thành một véc tơ đặc trưng Z,
có số chiều là 512 tại mỗi bước nhảy thời gian (timestep) t, liên tục sau mỗi
10 mili giây.
- Mang ngữ cảnh (context network) dùng dit liệu đầu vào của bộ mã hóa làm
véc tơ đặc trưng (feature) đầu ra, mạng này mã hóa 210 mili giây của dữ liệu
âm thanh thành một véc tơ đặc trưng c; có số chiều là 512 Mục dich là tổng
hợp thông tin trong một khung thời gian dai hơn dé mô hình hóa thông tin ởmột mức cao hơn ở mạng mã hóa Đầu ra của mạng nay là là véc tơ biểu diễnngữ cảnh c¿, nó được dùng dé dự đoán các mẫu âm thanh tại bước kế tiếp.
Hình 2.6 Mô hình Wav2vec với kiến trúc đôi [26]
C Tối đa hóa thông tin tương hỗ
Ý tưởng huấn luyện mô hình Wav2vec [26] gọi là “contrastive predictive
coding” [25] (mã hóa dự đoán tương phản) Thay vì cố gắng đi dự đoán những chuỗi
sẽ sinh ra tiếp sau đó như mô hình GPT [15] và chuỗi audio như mô hình Waveform
thì mô hình Wave2vec sử dụng những mô hình suy hao tương phan dé mô hình hóa
thông tin cho nhau giữa ngữ cảnh và những mẫu audio trong tương lai.
16
Trang 27Thông tin tương hỗ (mutual information) là một khái niệm xuất phát từ lý thuyếtthông tin cho biết lượng thông tin thu được về một biến ngẫu nhiên nhất định khichúng ta quan sát một biến ngẫu nhiên khác Nếu thông tin tương hỗ là 0 thì hai biến
là là độc lập Nếu là 1 thì khi biết về một biến thì chúng ta có thể Suy ra biến còn lại
(hình 2.7).
CONTEXT SAMPLE
ed
MAXIMIZE OVERLAP
Hình 2.7 Tối đa hóa thông tin tương hỗ [41]
Hàm mat mát của mô hình Wav2vec [26] được thiết kế dé có thé tối ưu hóa sựtương hỗ thông tin lẫn nhau giữa véc-tơ đặc trưng của ngữ cảnh và véc-tơ đặc trưngcủa âm thanh mẫu Điều này sẽ làm thúc day việc mô hình có thé học được những
đặc trưng riêng biệt của ngữ cảnh (đọc thêm tại trích dẫn sé [25])
D Mục tiêu huấn luyện
Mô hình được huấn luyện dé phân biệt những mẫu âm thanh thật từ những mẫu
âm thanh giả bằng cách sử dụng véc-tơ ngữ cảnh Ở đây “âm thanh mẫu” là những
véc-tơ đặc trưng của mạng mã hóa Z¿ Chúng ta không thao tác trực tiếp với dangsóng âm (waveform) bởi vì số lượng chiều có thê sẽ rất lớn Mô hình xử lý này sẽdừng lại sau k lần tại mỗi bước nhảy thời gian (timestep) t, tại mỗi một bước trong
Trang 282 Lay ngẫu nhiên 10 mẫu negative Z,_ 49 từ cùng một chuỗi âm thanh.
3 Tính toán độ tương đồng (dot product) của véc tơ ngữ cảnh đã được chuyên
đổi với toàn bộ các phan tử ứng viên có trong Z
4 Tính toán xác suất của tỉ lệ positive/negative thông qua hàm kích hoạt sigmoid
5 So sánh với dit liệu chuẩn (ground truth) và tiến hành phạt (pemalize) mô hình
cho những dự đoán không chính xác bằng cách sử dung binary cross-entropy
làm ham mat mát.
Hình 2.8 dưới đây là minh họa quy trình xử ly cho bước k=1 (Dé don giản thi vi
dụ sau chỉ sử dụng 4 mẫu negative).
Hình 2.8 Quy trình xử lý tại bước k=1 [41]
Tai bước k=2 quy trình xử lý sẽ như sau (hình 2.9):
18
Trang 29Hình 2.9 Quy trình xử lý tại bước k=2 [41]
Đầu ra của mô hình là một mô hình xác suất đã được tính toán để mỗi mau làmẫu thực trong tương lai Sự mất mát của cross-entropy nhị phân (binary cross-entropy loss) sau cùng được áp dụng dé phạt mô hình sau mỗi lần dự đoán sai từ
negative thành positive và ngược lại Toàn bộ mat mát (loss) là tổng số lỗi riêng lẻ tại
mỗi bước nhảy thời gian (timestep) t ở mỗi bước k trong tương lai (phương trình 2.5).
T—k
£¿== 3) (logø(zi2,hsfe)) +E llogo(—#"he(e)))) 25Z~Pn
2.3.2 M6 hinh Wave2vec 2.0
Mô hình Transformer nồi lên như một cuộc cach mang làm thay đổi lĩnh vực xử
lý ngôn ngữ tự nhiên (Natural Language Processing) nhưng chưa được áp dụng vào
lĩnh vực xử lý giọng nói (Speech processing) Wav2vec 2.0 [1] là mô hình đầu tiên
áp dụng vào lĩnh vực này Giống như mô hình BERT [40] cho xử lý văn bản, mô hìnhWav2vec 2.0 [1] được tinh chỉnh dé phù hợp với xử lý giọng nói
Áp dụng phương pháp huấn luyện bán giám sát (Semi-supervised training) gồm
Trang 30Trong bài báo, tác giả của mô hình Wav2vec 2.0 [1] đã chứng minh được rằng
phương pháp này mang lại độ chính xác cao hơn nhiều so với những mô hình tại thờiđiểm hiện tại Vì vậy mô hình Wav2vec 2.0 nhanh chóng trở thành mô hình hiện đại
và tân tiễn nhất trong lĩnh vực xử lý giọng nói (State-of-the-Art)
Hình 2.10 bên dưới cho chúng ta thấy mô hình kiến trúc tổng quan của Wav2vec
2.0 Trong sơ đồ có 4 thành phần quan trọng là: Mã hóa đặc trưng (feature encoder),
mạng ngữ cảnh (context network), mô-đun lượng tử hóa (quantization module),
mat mát tương phản (contrastive loss)
Wav2vec 2.0 Pre-training
ccc:
Ose context to Contrastive Logs
find targets (Distinguish real targets among distractors)
im the latent space +
Hình 2.10 Kiến trúc mô hình Wav2vec 2.0 [42]
A Bộ mã hóa đặc trưng (Feature encoder)
Bộ mã hóa đặc trưng (Feature encoder) có nhiệm vụ làm giảm số chiều của dữliệu âm thanh, chuyển đổi dạng sóng âm thô về dạng chuỗi các véc-tơ đặc trưngZo,Z4,Z¿, ,Z+ sau mỗi 20 mili giây Nó có cấu trúc khá đơn giản, bao gồm: 7 lớpmạng nơ-ron tích chập (một chiều đơn lẻ) với 512 kênh tại mỗi lớp (hình 2.1 1)
20
Trang 31Wav2vec 2.0 Latent Feature Encoder
2 | Catent feature vectors
lf les ~ll~ || || (612.4)
Kernel
- GELU Activation | Block Channels |, Stride
Layer Normalization + x # convolution blocks >|
1 1D Convolution |kh J
Waveform Normalization
Gere mean and unit variance)
Hình 2.11 Kiến trúc bộ mã hóa đặc trưng [42]
+
472
~ NW FW DW
Dữ liệu dang sóng sé được chuẩn hóa trước khi đưa vào mạng nơ-ron nảy, độ
rộng của bộ lọc (kernel) và bước nhảy khi trượt (strides) của lớp tích chập sẽ giảm
dần khi chúng ta càng đi sâu vào những lớp bên trong của mạng Bộ mã hóa đặc trưng
có tông trường tiếp nhận là 400 mẫu hoặc 25 mili giây dữ liệu âm thanh dưới tan số
16kHz.
B Mô-đun lượng tử hóa (Quantization module)
Một trong những trở ngại chính của việc dùng mô hình Transformer [21] cho
xử ly âm thanh là tính liên tục của của chúng Chữ viết có thé tách rời thành các từ,
cụm từ Do đó có thé tạo thành những câu, từ những don vi rời rac Âm thanh thìkhông thé tách được như vậy Vì thế chúng ta có thé coi mỗi một đoạn âm thanh nhỏ
như một đoạn rời rạc, cần được con người gán nhãn Chúng ta không thể huấn luyện
mô hình cho tập dữ liệu này khi nó chưa được gán nhãn bởi con người.
Mô hình Wav2vec 2.0 [1] đề xuất một phương pháp có thê tự học những mẫu
âm thanh chưa được gán nhãn này bằng cách lấy phân phối Gumbel-Softmax [29]
Các đơn vị là những ký tự âm vị được lấy từ một bảng mã phát âm (InternationalPhonetic Alphabet) Các ký tự này được nối với nhau tạo thành một mẫu đơn vị âmthanh Wav2vec 2.0 sử dụng 2 nhóm với 320 từ có thê có trong mỗi nhóm Do đó độdài tối đa là 320 x 320 = 102.400 đơn vị âm thanh (hình 2.12)
21
Trang 32Wov2vec 2.0 Quantization Module
Ca) CSS Softmax 2[e5eRfli
Latent features Wy Logits Sampling with differentiation One-hot vectors
Quantization Projection Matrix
Hình 2.12 Kiến trúc mô-đun lượng tử hóa [42]
Các đặc trưng ân (latent futures) được nhân với ma trận lượng tử (quantizationmatrix) dé có được các logits Phương pháp Gumbel-Softmax cho phép lay mẫu từmột mã ký tự có trong bang mã phát âm Sau đó chuyền đổi các logits đó thành xác
suất Điều này tương tự như lay argmax
C Mạng ngữ cảnh (Context network)
Thành phần chính quan trọng nhất của mô hình Wav2vec 2.0 [1] là mạng mãhoa Transformer (Transformer encoder) Mạng này lay các véc-tơ đặc trưng ấn (latent
future vectors) làm dữ liệu đầu vào và xử lý nó thông qua 12 khối Transformer cho
phiên bản BASE và 24 khối cho phiên bản LARGE Đề vừa khớp với kích thước đầuvào của một bộ mã hóa Transformer, trước tiên đữ liệu đầu vào cần đi qua một lớp
chiếu đặc trưng (feature projection layer) dé tăng số chiều từ 512 (đầu ra của mạngCNN) lên 768 chiều cho phiên bản BASE và 1024 chiều cho phiên bản LARGE
22
Trang 33Wav2vec 2.0 Context Network (Transformer Encoder)
Điểm khác biệt so với kiến trúc của mô hình Transformer [21] ban đầu là cách
các thông tin về vi trí được tích hợp vào dữ liệu đầu vào Vì phép tính toán tự chú ý(self-attention) của mô hình Transformer không giữ nguyên trình tự của đữ liệu đầuvào, nên vị trí đã được tích hợp vào dit liệu trong quá trình triển khai ban đầu Thay
vi làm như vậy thì mô hình Wave2vec 2.0 [1] sử dụng một nhóm lớp tích chập dé họcđược cách nhúng các vi trí một cách tương đối, như hình phía trên chính là “Positional
Embeddings Convolution” (hình 2.13).
C Huan luyện trước (pre-training) và mat mát tương phản (contrastive loss)
Quá trình huấn luyện trước sử dụng một tác vụ tương phản (contrastive task) déhuấn luyện trên đữ liệu âm thanh chưa được gan nhãn Một vùng được che đi (mask)được chọn một cách ngẫu nhiên trong không gian latent (latent space), nơi mà xấp xi
50% véc-tơ đặc trưng latent được dự đoán Các vi trí bị che di (mask) nay sau đó
được thay thế bằng một véc-to đã được huấn luyện Z'„ trước khi được đưa vào trong
mạng Transformer.
23
Trang 34Wov2vec 2.0 Contrastive Loss SS SG ĐĐ ) Compete cmitrity btu
S 9 @ IS S SY i final context vector C; and
OO 88) 3 [ST] | poritive / negative targets8ÑølFIl8R:I28Ñ5
Final Projection
| Replace masked positions with - } 2] &
| trained mack feature vector |
|| | | Randomly mask ~50% of the
27| + projected latent feature vectors Zi
Hinh 2.14 Mat mat twong phan [42]
Véc-tơ ngữ cảnh sau cùng sẽ được dua qua lớp chiếu cuối cùng (final projection)
dé chuyên đổi số chiều sao cho ăn khớp với đơn vị lượng tử hóa âm thanh (quantized
speech unit) Ợ¿, với mỗi vị tri bị che khuất, 100 mẫu negative gây nhiễu được được
lây mẫu một cách đồng nhất từ các vị trí khác nhau trong cùng một câu Mô hình sau
đó được so sánh bởi độ tương đồng giữa véc-tơ ngữ cảnh C’, và giá trị dich truepositive Q,, cùng với toàn bộ giá tri negative nhiễu Q; Khi đó sự mat mát tương phản
sẽ có độ tương đồng với giá trị dich true positive và giá trị dùng dé phạt đối với những
thông tin nhiễu negative (hình 2.14).
2.3.3 Mô hình Wav2vec 2.0 cho tiếng Việt
Mô hình Wav2vec 2.0 dành cho tiếng Việt [2] được tác giả Nguyễn Thái Bình
huấn luyện trước trên tập dữ liệu 13 ngàn giờ audio chưa được gán nhãn ở trên
youtube, sau đó tinh chỉnh trên tập dữ liệu 250 giờ âm thanh được gán nhãn (VLSP
dataset [14]) (bang 2.1).
Bang 2.1 Tham số của mô hình Wav2vec 2.0 cho tiếng Việt
Mô hình | Số lượng tham số | Dữ liệu huấn luyện trước | Dữ liệu tỉnh chỉnh base 95 triệu | 13.000 giờ 250 giờ
24
Trang 35Mô hình này đã nhanh chóng trở thành mô hình hiện đại nhất (state-of-the-art)
trong nhận dạng giọng nói tiếng Việt với Word Error Rate khá nhỏ Mô hình đượctác giả công bố dưới 2 dang: Không sử dụng mô hình ngôn ngữ (language model) và
có sử dụng mô hình ngôn ngữ 4-grams (bảng 2.2).
Bảng 2.2 Word Error Rate cho mô hình Wav2vec 2.0 tiếng Việt
Mô hình ngôn ngữ | VIOS | COMMON VOICE VỊ | VLSP-T1 | VLSP-T2 Không sử dụng 10,77 18,34 13,33 51,45
4-grams 6,15 11,52 9,11 40,81
Bảng 2.2 phía trên là kết quả khi tac giả kiểm thử với 4 bộ dữ liệu khác nhau sử dung
cả 2 dạng của mô hình.
2.4 Mô hình chatbot
Dựa trên nghiên cứu trong khóa luận tốt nghiệp của hai tác giả Tiến và Thành
về chatbot cảm xúc tiếng Việt [20] Với bộ dữ liệu hội thoại cảm xúc được dịch từ bộ
dữ liệu gốc Empathetic Dialogues Dataset của Facebook [3]
Chatbot này có nhiều điểm khác biệt so với những chatbot còn lại có hỗ trợ tiếng Việttại ở ba điểm chính như sau:
1 Chatbot được huấn luyện trên bộ dữ liệu cảm xúc nỗi tiếng trên thế giới
Empathetic Dialogues Dataset [3] và chưa từng được công bố với phiên bảntiếng Việt trước đây
2 Chatbot phân biệt được dai từ nhân xưng ngôi thứ nhất và ngôi thứ hai trong
tiếng Việt Trong tiếng Việt việc sử dụng đúng đại từ nhân xưng là vô cùngcần thiết và quan trọng Việc sử dụng chỉ một đại từ nhân xưng “tôi” và “bạn”
như những chatbot hiện nay làm cho cuộc hội thoại không được tự nhiên trong
văn hóa giao tiếp của người Việt
3 Chatbot luôn dõi theo một chủ đề dé tương tác trong quá trình trao đôi làm cho
cuộc nói chuyện được tự nhiên hơn.
Hình 2.15 phía đưới đây là Mô hình chatbot được phát triển bởi hai tác giả Tiến và
Thành
25
Trang 36TRÌNH QUẢN LÝ HỘI THOẠI MÔ HÌNH BERT Câu ứng viên
(Ba được tích hợp cảm xúc)
ere oe %c vả chuyễn - sil - Tach từ
—-Van bản đầu vào đỗi dai từ Không tôn tại :
Tên = Thay thé đại từ
Thêm vảo lịch sử hội
tác thông qua giọng nói.
2.5 Mô hình chuyển đổi văn bản thành âm thanh
Trong phan này chúng tôi sẽ đi vào giới thiệu mô hình chuyên đồi văn bản thành
âm thanh trong tiếng Việt Cách thức hoạt động của mô hình này và bộ giải mã âm
thanh từ quang phô Mel (Mel-spectrogram)
Trang 37so với mô hình Tacotron2 [43] do đã loại bỏ kiến trúc LSTM (Long short term
memory) bằng cơ chế tự chú ý (Seft-attention) Tốc độ chuyền đổi cùng với độ chínhxác cao nên mô hình đã nhanh chóng trở thành mô hình hiện đại nhất tại thời điểmbấy giờ Hình 2.16 phía dưới là kiến trúc của mô hình Transformer TTS [21]
Stop
Token
( Mel Linear | ( Stop Linear
Add & Norm
Add & Norm
Add & Norm
Add & Norm
Nx
Scaled
) Positional
(-Encoding
Hình 2.16 Kiến trúc mô hình Transformer TTS [6]
A Chuyển đổi hình vị thành âm vị
Một bộ dit liệu dành dé huấn luyện mô hình chuyên đổi giọng nói không thé bao
quát được toàn bộ tr vựng trong một ngôn ngữ mà thay vào đó người ta dựa trên quy
luật phát âm của ngôn ngữ đó Bảng phiên âm quốc tế IPA (International PhoneticAlphabet) là một bảng ký tự chuẩn cho phép mô tả cách phát âm, lên giọng hay xuống
giọng của từng từ trong một câu.
Trong bảng 2.3 phía dưới đây ta có thể thấy văn bản tiếng Anh được chuyên quathành những ký tự IPA để biểu thị cách phát âm
27
Trang 38Bang 2.3 Chuyén hình vị thành âm vị
English Text-to-Phoneme
Hello! How are you? he loo! hao ar ju?
B Bộ mã hóa Pre-net (Encoder Pre-net)
Thay vì sử dụng một mạng CNN [44] gồm 3 lớp như ở mô hình Tacotron2 [43]thì ở mô hình Transformer TTS [6] sử dụng chung một lớp CNN duy nhất được gọi
là “Encoder Pre-net” Mỗi âm vị đầu vào sẽ được huấn luyện với số chiều là 512 và
đầu ra của mỗi lớp tích chập là 512 kênh Dữ liệu sẽ được chuẩn hóa và sử dụng hàmkích hoạt ReLU cũng như lớp dropout Thêm vào đó mang sẽ thêm vào một lớp chiếu(projection) tuyến tính sau hàm kích hoạt cuối cùng để giá trị sau khi đi qua hàmReLU sẽ năm trong khoảng từ [0, +00) trong khi mỗi chiều của những tam giác nhúng
vị trí (triangle positional embeddings) sẽ ở trong đoạn [—1, 1].
C Bộ giải mã Pre-net (Decoder Pre-net)
Giá trị quang phô Mel (Mel-spectrogram) đầu vào được xử lý bởi một mạng ron bao gồm 2 lớp fully connected (Mỗi lớp có 256 lớp ân) với hàm kích hoạt ReLU
nơ-được gọi là “Decoder Pre-net”, mạng này đóng vai trò quan trọng trong một hệ thống
chuyên văn bản thành âm thanh Âm vị có các véc-tơ Embeding có thể học được, do
đó không gian con của chúng là không cô định, trong khi không gian của quang phômel là cố định Bộ giải mã Pre-net sẽ chịu trách nhiệm chiếu các phố mel vào cùngmột không gian con giống như những embeding của âm vi (phoneme embedings), dé
có thê đo độ tương đồng của hai giá trị phoneme và khung mel (mel frame)
2.5.2 Mô hình MelGAN
Năm 2019 tại NeurIPS 2019 nhóm tác giả Kundan Kumar, Rithesh Kumar [9]
đã giới thiệu mô hình MelGAN.
Mô hình gồm 2 thành phần chính là mạng tạo sinh (Generator) và mạng phân
biệt dữ liệu thật gia (Discriminator).
2.5.2.1 Mạng tạo sinh dữ liệu (Generator)
Đây là một mạng nơ-ron tích chập chuyền tiếp (fully convolutional
feed-forward network) với giá trị đầu vào là quang phổ Mel (Mel-spectrogram) và giá trị
28
Trang 39đầu ra là dang sóng âm Vì kích thước quang phô mel tại bước đầu vào có số chiều là
256 x độ phân giải thời gian thấp hơn (lower temporal resolution) nên tác giả sử dung
kỹ thuật chồng hai mang ma trận tích chập chuyền đôi lên nhau nhăm tăng kích thướcđầu vào Mỗi một lớp ma trận tích chập chuyền đôi được đính kèm theo sau một khốiResidual stack Khối này bao gồm 3 mạng tích chập giãn nở được chồng lên nhau
Hình 2.17 Kiến trúc khối tạo sinh dữ liệu [9]
Không giống như ở một mạng GAN truyền thống, MelGAN [9] không sử dụng
véc-tơ nhiễu toàn cục để làm dữ liệu đầu vào, bởi vì nhóm tác giả nhận ra rằng khi
thêm thông tin nhiễu thì con người chúng ta cũng khó có thể thấy được sự khác biệtkhi nghe trong điều kiện môi trường bình thường
A Trường tiếp nhận cảm ứng (Induced receptive field)
Trong mạng nơ-ron tạo sinh tích chập (convolutional neural network) dùng cho
hình ảnh có một thiên kiến quy nạp (inductive bias) rằng các pixel gần nhau về mặtkhông gian có sự tương quan với nhau vì có sự chồng chéo cao giữa các trường tiếpnhận cảm ứng của chúng Tương tự như trong hình ảnh, nhóm tác giả đã đưa ra kiến
trúc tạo sinh (generator architecture) đê đưa ra một “Thiên kiên quy nạp” vê môi
29
Trang 40tương quan trong phạm vi dài (long-range) giữa các bước nhảy thời gian (timestep)
của âm thanh Nhóm tác giả đã thêm những khối residual (residual blocks) với độgiãn nở sau mỗi lớp upsampling (một kỹ thuật làm tăng số chiều) dé kích hoạt đầu ratạm thời cho mỗi lớp tiếp sau đó Trường tiếp nhận của một ngăn xếp (stack) các lớptích chập giãn nở tăng theo cấp số nhân theo số lớp Phương pháp này làm tăng hiệu
quả của các trường tiếp nhận cảm ứng tại mỗi timestep đầu ra
B Đồ tạo tac ban cờ (Checkerboard artifacts)
Giống như trong nghiên cứu của Odena et al (2016) [27] phép tao sinh tích chậpngược (deconvolutional generators) khi dùng dé giải mã dé tao ra các mẫu “ban cờ”(“checkerboard”) nếu kích thước của kernel (hay filter) và bước nhảy khi trượt (stride)của các lớp tích chập chuyên vị không được chọn một cách can thận Nhóm tác giả
đã giải quyết van dé này bằng cách lựa chọn cần thận kích thước của bộ lọc (filter
hay kernel) và bước nhảy khi trượt (stride) cho những lớp tích chập ngược
(deconvolutional layers) như một giải pháp thay thế đơn giản cho lớp PhaseShuffle
được giới thiệu trong Donahue et al (2018b) [28] Nhóm tac giả dùng kích thước của
cộ lọc là bội số của bước trượt (stride)
C Kỹ thuật chuẩn hóa (Normalization technique)
Trong quá trình chuẩn hóa nhóm tác giả nhận ra rằng khi đùng chuẩn hóa tương
phan (instance normalization hay contrast normalization) sẽ làm mat đi những thông
tin quan trọng lam cho âm thanh mắt đi tinh tự nhiên Khi sử dung chuẩn hóa quangphô (spectral normalization) (Miyato et al., 2018 [30]) nhóm tác giả cũng thu đượckết quả khá tệ Cuối cùng họ đã chọn phương pháp chuẩn hóa theo trọng lượng(Weight normalization (Salimans & Kingma, 2016) [31]) vì cách này cho kết quả tốtnhất
2.5.2.2 Mạng phân biệt thật giả (Discriminator)
A Kiến trúc đa quy mô (Multi-Scale Architecture)
Nhóm tác giả đã áp dụng kiến trúc đa quy mô cho ba bộ phân biệt (D1, D2, D3)
có cau trúc mạng giống hệt nhau nhưng hoạt động trên quy mô âm thanh khác nhau
D1 hoạt động trên quy mô âm thanh thô trong khi D2, D3 hoạt động trên quy mô âm
thanh được giảm xuống nhỏ hơn (downsampled) theo hệ số tỉ lệ tương ứng là 2 và 4
30