1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: 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

108 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 108
Dung lượng 47,33 MB

Nội dung

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 3

LỜ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 4

LỜ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 5

MỤ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 6

2.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 7

PHỤ LỤC A: DANH SÁCH THÀNH VIÊN THAM GIA ĐÁNH GIÁ MÔ HÌNH

Trang 8

DANH 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 9

Hì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 10

DANH 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 11

CHƯƠ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 12

Ngoà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 13

Vi 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 14

Ví 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 15

TTS [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 16

xư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 17

Vớ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 18

Ngoà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 19

CHUONG 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 20

Nhì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 21

Khô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 22

Việ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 23

forward) 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 24

Head 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 27

Thô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 28

2 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 29

Hì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 30

Trong 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 31

Wav2vec 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 32

Wov2vec 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 33

Wav2vec 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 34

Wov2vec 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 35

Mô 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 36

TRÌ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 37

so 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 38

Bang 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 40

tươ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

Ngày đăng: 24/11/2024, 14:49

w