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

Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng mô hình nhận diện giọng nói cho tiếng Việt

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

Tiêu đề Xây dựng mô hình nhận diện giọng nói cho tiếng Việt dựa trên bộ công cụ Kaldi và mô hình DNN
Tác giả Đỗ Quang Thiện
Người hướng dẫn Thầy Nguyễn Thanh Bình
Trường học Đại học Quốc gia Việt Nam - TP Hồ Chí Minh
Chuyên ngành Hệ thống thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 47,29 MB

Nội dung

Một vài ứng dụng có sự hỗ trợ của ASR ta hay thấy là: e Ghi chú nhanh: các trợ lý ảo như Alexa, Siri được tích hợp vào điện thoại di động giúp chuyên những gì chúng ta nói thành ghi chú,

Trang 1

ĐẠI HỌC QUOC GIA VIỆT NAM - TP HO CHÍ MINH

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THÓNG THÔNG TIN

DO QUANG THIEN

XAY DUNG MO HINH NHAN DIEN AM THANH

CHO TIENG VIET DUA TREN BO CONG CU

KALDI VA MO HINH DNN

CU NHAN NGANH HE THONG THONG TIN

THANH PHO HO CHi MINH, 2021

Trang 2

ĐẠI HOC QUOC GIA TP HÔ CHÍ | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT

MINH NAM

TRƯỜNG ĐH CÔNG NGHỆ Độc Lập - Tự Do - Hạnh Phúc

THÔNG TIN

DANH SÁCH HỘI DONG BẢO VỆ KHÓA LUẬN

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số ngày

beeen eee ene ene eeaes của Hiệu trưởng Trường Dai hoc Công nghệ Thông tin.

1 TS Cao Thị Nhạn - Chủ tịch.

2 ThS.Vũ Minh Sang — Thư ký.

3 Th§ Mai Xuân Hùng - Ủy viên.

TP HCM ngày 22 tháng 7 năm 2021

Trang 3

LOI CAM ON

Lời đầu tiên, em xin gửi lời cảm on chân thành đến thay Nguyễn Thanh Binh vì là mộtngười hướng dẫn tận tâm, cho em những lời khuyên bồ ích Bằng sự kiên nhẫn, nhiệt huyết

và chuyên môn vững vàng, thầy Bình đã giúp em rất nhiều trong quá trình nghiên cứu và

trình bày luận văn này Không có sự hướng dẫn của thầy em sẽ không có được kết quả nay.

Tiếp đến, em gửi lời cám ơn đến quý Thầy Cô trường Đại học Công nghệ thông tin đặc biệt

là quý Thầy Cô Khoa Hệ thống thông tin những người đã dùng tri thức và tâm huyết của

minh dé truyền đạt cho chúng em vốn kiến thức vô cùng quý báu trong khoảng thời gian họctập tại trường Những kiến thức mà Thầy Cô truyền đạt là bước đệm quan trọng giúp chúng

em có thê hoàn thành đề tài tốt hơn

Trong thời gian thực hiện dé tài, em đã cô găng vận dụng những kiến thức nền tang đã học,kết hợp học hỏi và tìm hiểu những cái mới dé ứng dụng xây dựng đề tài khóa luận tốt

nghiệp Tuy nhiên trong quá trình thực hiện, do kiến thức và kinh nghiệm còn nhiều hạn chế,

nên khó tránh khỏi những thiếu sót Chính vì vậy, em rất mong nhận được sự góp ý từ quýThầy Cô đề em hoàn thiện thêm những kiến thức và kỹ năng cần thiết, làm hành trang quý

báu cho mai sau.

Xin chân thành cảm ơn quý Thầy Cô!

Sinh viên thực hiện

Đỗ Quang Thiện

Trang 4

MỤC LỤC

9:1019)/€80019))/e19)0/.) 0000 1

LoL Dat Van dbs 1

1.2 Pham vinghién CỨU: 11111 ng ki 4 1.3 Các cơng cụ SỬ Ụng: nọ net 4

1.4 Phương pháp thực hiỆn: - S1 1S Đ S92 S2922 111v 5

1.5 Cau trúc luận VĂn: cccT n S120 121 1131151151111 111 1111111111111 T11 1xx HnH rệt 5CHUONG 2: NEN TANG VE ASR VÀ BỘ CƠNG CỤ KALDI c:c+cc++: 7

2.1 Các thành phan ngơn ngữ học trong tiếng Viét: c.c.cccccccececececsesceceteseseseseeseeees 7

2.1.1 Language Model (LM) dựa trên âm tiẾt: - 522222 S S222 ££z£vzrxe2 7

2.1.2 Từ điền phát âm dựa trên ørapheme: + ¿2 + + Sx+E+E£££EvE£EzEzE£rrrrrerea 7

2.2 Lexicon và âm CÏ: - TS 2111111011101 1111k nọ TT ch 8

2.2.1 icon 45 8

2.2.2 ÂmCD:, 61001 21 tình HH 10

2.3 Rút trích đặc trưng: - HT TH ket 13 2.4 Hidden Markov Model (HMMI): - c c1 11 xxx TT ng kh re 21

2.4.1 LIkelihoOỞ: HS ng ng và 25 2.4.2 Decoding và aÏIgnmN€HI(: - - - - << < <1 11111111 19531111 kh k4 28

" N a6 a nen 29 2.5 Acoustic model (AM|): - cQ Q11 SH HH 1H HH n TH ng cv 33

2.5.1 Mơ hình Gaussian Mixture Model (GMMI): SS se 33 2.5.2 M6 hình Deep Neural Network (DNN): LG HH HHHHH He 40 2.6 Language Model (LÌM): - ni 50 2.7 Bộ mã hĩa (HDecOdđer): + - c S111 111101 111111 111111 11111 111v xntvy 52 2.8 KÏỞH: TH nọ nà 56

2.8.1 Giới thiỆU: ng ng n0 kh 56

2.8.2 Kiến trúc của Kaldi: 5-5 1 11 1 1515111122221 rcee 572.8.3 Chuẩn bị dữ liệu (Data Preparation): ::sssseeeeseeeeeeeeeeeeeeeeeeeeeeeceeeeceeeeeeeees 582.8.4 Ý nghĩa các folder và các file trong project: c.ccccececesseseeeseseseseseeeeseeees 59

Trang 5

CHƯƠNG 3: XÂY DUNG MÔ HÌNH VÀ DANH GIÁ KET QUẢ - :-:czs55¿ 65

CHUONG 4: UNG DUNG VA DANH GIA KET QUA uw cesecesecesesescececeseststsestseseieees 84

4.1 Ứng dung minh hoat o cccccecccccccccscscsesesescscsesesesesesesssssesesssecscsessssisisesssesseseeeees 84

4.1.1 Thiết kế lOgiC: E222 St S111 212111 5151115121111 1111111 011111111111 e 84

Trang 6

1: lexicon CỦa tT “SIX” - ng ng nh 9

2: ba trang thai CHa MOt AM raiẳiẳẳiẳầẳầiaáaaiiiiaaiẳiẳiẳẳẳ 9

3: từ ‘rat’ khi sử dung ba trạng thai con dé mô tả trong HMM - 10

4: cách thé hiện ngắn gon của HMM topology - 5-5 22s cv +£z£zrersees 10

5: /eh/ nằm trong ngữ cảnh khác nhau - ¿2 + + +E+2+2£££+E+E+E+E+E£e£eeeerxrxcee 11

6: âm CD và âm C Ì - - c1 1111111132111 119911 12

7: minh họa việc nối trạng thái -. +2 St St S321 22 2 35181212515 1115155 xxx 12

8: sử dụng GMM để huấn luyện triphone ¿ ¿5 5 S2 S£+E+E+E+E£z£z£z£sxzxzxz 13

9: biểu diễn dạng sóng của một audiO - ¿5:5 +s+S£+S+SvEvEvEezzezsseszzesez 14

10: quá trình chia tín hiệu thành các khung +3 + + + eeess 15 11: hình dạng của đặc trưng MECC - - - SH kt 15 12: tín hiệu trước va sau khi được pre-emphas1s + +++++++++++xerres 16 13: chia window cho tín hiỆU - c- 2222211112111 1 1111113111111 111115151112 17

14: phương trình cho Hamming WIndOW 111111 re 17

15: công thức biến đổi FOui€T - + St SE+E2E£E£EEEEEEEEEEEEEEEEEEEEEEEEErrrrrrrree 18

16: công thức tính MelÌL c1 11H ng Tnhh 18

Trang 7

dựa vào bộ lọc tam giác tính hệ SỐ MEl cccceccecceccescescesceseeseeseeteeseeseeseeseeseens 18

công thức tính hệ số cepstral + ¿+2 + E+E+EE£E£E#EEEEEEEEEEEEEEEEEEEEEkrrrsrea 19

12 hệ số cepstral đầu tiên - ¿ ¿21 2S SE2E2E2E5212121211212121511 2.2.2 xe 19

công thức năng lượng mỗi frame - + ¿+2 1+ E22 E22 E2E££E+E£Eekeeereerxed 20

công thức của thuật toán ÍorWard c1 111 111v vv v iy 25

tham số ẩn j tại thời điỀm (L E22 CS E1 2121E1 5151111121111 818111110 re 26

công thức khởi tạO tt 27

công thức đệ quy đề tính xác suất forWard ¿+ ¿+ 2+2 cexvxzxzxzezrersrea 27

công thức xác suất tính tông ¿-¿ ¿5:52 2222222222 2E2E2E2E25252E212121212E 2x2 2xe 27

bước khi {ạO -ccc 111111211 HH TT TK TH cv cty 28

công thức đệ QUY - c1 SH việt 28

công thức chấm dỨt + 2+ St +12 E8EEE9E9E5125 E3 E5111212111 1111111111111 xEg 28

công thức chính của thuật toán Vit€rb1 c1 1kg 29

đường path dự đoán .- - - - ty 29 công thức tính OI¡(Ẩ) cọ iy 30

công thức tính ÿ¡(Ệ) - - - c9 ng nh 30

Trang 8

công thức tính EP và TP cải thiỆn 2E E 1111111111111 1111111 11 3 x2 32

mô tả lại quá trình huấn luyện AM - ¿52 2 S+E+E2E£E£E£EeEeEzEzrrererea 33

công thức phân phối chuẩn cho đặc trưng x ¿-:-¿©25252 5222 22+22z2zz+zxz2 34

công thức ước lượng các tham số của phân phối chuẩn - ¿2 2 + +: 34

minh họa của ví dụ đơn giản trÊn - - - 1 1 113 ** 333355 11111 krrrrseeee 34

công thức phân phối chuân đa chiều + 2 2S +E+E+E£2££E+E+E+E+E££eeeesz 35

ma trận hiệp phương Sa1 - c2 1011111 ng 3 1111k rre 35

ước lượng các tham số của phân phối chuẩn đa chiều - 5-5-2 2 52: 35

công thức tính xác suất của GÌMM - + 2+2 +2+2E2E2EE2525252121212121 2121 2x 36

công thức đếm điểm dữ liệu ¿2+2 2122 SE EEEEEEEE2E25 E2 1121212 xx 37

công thức ước lượng các tham số GMM khi biết nguồn gốc điểm dit liệu 37

công thức đếm điểm đữ liệu ¿2S S E122 SE 5E EEE212511 1111121212 te 38

công thức ước lượng các tham số GMM khi không biết nguồn gốc điểm dit liệu

¬ 38

công thức xác suất của GMM trong mô hình GMM-HMM - 39

minh họa MM - 1111022111111 11111111112 111111 cv 40 phân phối chuẩn Gaussian biến thành GMM (2-component) - 40

Trang 9

ví dụ một NN đơn giản - - S911 111 vê 41

công thức tính xác suất dự d0an c.c.ccceccccccscscsssesestesssesesesteessseststsseeeseeeees 42

minh họa cho công thỨC - - 33 399883118111111111111111 111111111 222tr 42

biểu diễn dạng ma trận của ví dụ trÊn +33 vke 43

kiến trúc của DNN-HMM 52 tt HH HH 45

cơ chế convolution trong nhận diện tiếng nói ¿-2- 55252 5++*+s+Sz2+z3 46

kiến trúc TDNN - ¿+ tt 2 2 22122 HH tre 47

phép toán tích chập trong TDNN nhe 47

minh hoa W kernel và các $6 ổO - ¿tk E118 181191 51 1S SE EEEskerkrrkri 48

công thức tính kích thƯỚc O 222232 3331811111 1111111111111 11 11111 3 re, 48 công thức tính xác suất dự đoán của một neuron trong TDNN - 48

ví dụ subsampÏIng 3311911111111 111111111111 1v v.v 49 TDNN với sub-sampling (mau đỏ) và không có subsampling (đỏ và xanh) 5Ö

công thức o khi subsamplIng 2322133 11111111 1111111111111 1111111 re, 50 công thức dé tính xác suất một từ ¿-¿-¿ ¿5222 2222222222 222E222E2E2x2x2x2xcxe2 51

VE dụ LM eec ccc cecccccceeeceeseeeeeeeeeeeeeueseeesaeeceeeueeeeeeeeeeesaneeeeesaeseteaeeseeeaneeees 51

G tranSđUC€T - - cc CC c0 13020101000 100190 1111k kh TH nh TK kh kh hy ky 53

L transSđUC€T - - - cc- CS 232112111112 110 111111 cv nh ch ch cv ca 54

Trang 10

Hinh 2 79: FSM TA 54 I0 )0020010a 7 VN 55 Hình 2 81: vi dụ hai trường hợp đặc bĐiỆt - 2201111111111 9 2 111 khe 55 Hình 2 82: quá trình HCLG 2 3233 E13111111101 1110110111101 101 11v 1 nh re 56

Hình 2 83: minh họa một weighted finite-state transducers +++++++++ees 57

Hình 2 84: kiến trúc của Kaldi - 5:5: 5: S3 39EEEEEEEEEEEEEE1212121212121212121 212121 2e6 58

Hình 3 1: mô tả quá trình huấn luyện oo ceceeccccsccesescscsssceseseseseseseseeeeseseseseseeseseees 68

Hình 3 2: công thức WE cece cece HH ng 69

Hình 3 3: ví dụ công thức WER ng HH nhe 69

Hình 3 4: sử dụng đặc trưng Tandem (hoặc bottle-neck) trong GMM-HMM Mô hình

DNN được huấn luyện đề rút trích đặc trưng Tandem (hoặc bottle-neck), cái mà sẽ được kết

hợp với đặc trưng MECC Đặc trưng kết hợp được giảm độ tương quan bằng Principal

component analysis trước khi được học bởi GMM-HMM 5 << scs+ssseves 71

Hình 3 5: ding DNN như rút trích đặc trưng cho GMM, tang màu xám là đặc trưng được

dùng bởi GMM HT ng ng 1 ng 72

Hình 3 6: LIN adaptatiơn 111311 3111111101 10110110111 ng ng HH ng 74 Hình 3 7: LON adapftation - - - << 11111 1K ng 74

Hinh 3 8: LHN ái 75

Hình 3 9: minh hoa input của DNN khi có kết hợp thông tin người nói 76

Hình 3 10: xác suất dự đoán khi không có thông tin người nói - 5 22+ s+s+s+: 76

Trang 11

Hình 3 11: xác suất dự đoán khi có thông tin người nói ¿2+2 2 +x+*+z+z£z£z£zx+2 77

Hình 3 12: i-vector làm input cho DÌÑN c1 11 11 ng khe 78

Hình 3 13: quá trình rút trích Ï-V€CfO 111111111 ng 5 1111k khe 78

Hình 3 14: phân phối chuẩn X: - 2 5253 E212 EEEE9E9E2123 E3 5151112125 111E1111111 1111 xEg 79

Hình 3 15: phân phối chuẩn x;(§) 5: 5:2 S252 S2SS2SE22E2EE121212121212121212123222x 2x 79

Hình 3 16: công thức tính 1-V€C{OT 3311101111111 111110 2v vn nghe 79 Hình 3 17: công thức (S) - - - << << << 111111911 K kg ng 79

Hình 3 18: công thức Õk(S) TS 31110111101011 11g HH nghe 79 Hình 3 19: công thỨC (S) 2222221111111 TH 10k TT nh 80

Hình 3 20: ví dụ của script “gef_tram_ctim.Shỉ” cc c1 SH ren 81

Hình 3 21: một phan của quá trình alignment (sử dụng “show-alignments”) 81

Hình 4 1: khi mới mở app hoặc dừng lại - - 1511111135355 EErrree 86 Hình 4 2: khi ảnh được thay đôi liên CUC cecececeeccccececscesecesecscseetenetseeseseueseseseseseseseseess 87

Hình 4 3: khi ảnh chuyền sang trdic c.ccccccccsesecesescscsccesesescsesesseseseseseseeseesvscsesseeseseees 88

Hình 4 4: khi ảnh chuyền sang phải ¿ ¿5:52 S2 5252222222222 2E222E2E2E2521252222222x2xe5 89

Trang 12

DANH SACH CAC BANG

tập âm vi dựa trên grapheme - - << 1 111g 11kg và 8

ví dụ về từ điển phát âm dựa trên grapheme - ¿+ ¿2 +£+2£z£z£+E+EzEzz£zczed 8

so sánh kết quả khi áp dụng kĩ thuật SaT - ¿2 2 + 2222 z£z£vEexzxzsrered 82

kết quả STT của FPT +2 SE E121 E5EE5E51515121 1111111111111 111111111111 xe 92

kết quả STT của Vietfel -¿-¿-¿- ¿5c 2222221 22252553212121212121212111111111 111111 re 93

kết quả STT tự xây dựng ¿-¿ ¿222 22221212121 2E2121212121211511 111 eEerrrrei 94

Trang 13

DANH SÁCH CÁC CHỮ VIET TAT

MM: Markov Model

HMM: Hidden Markov Model

LM: Language Model

AM: Acoustic Model

MFCC: Mel-frequency cepstral coefficients

GMM: Gaussian Mixture Model

UBM: Universal Background Model

DNN: Deep Neural Network

TDNN: Time-Delayed Neural Network

CNN: Convolutional Neural Network

NN: Neural Network

SaT: Speaker aware Training

TP: Transition Probability

EP: Emission Probability

ASR: tự động nhận diện tiếng nói

CD: Context-Dependency

CI: Context-Independency

WEST: Weighted Finite-State Transducer

FSM: Finite State Machine

Trang 14

FSA: Finite State Acceptor

FB: Forward-Backward

EM: Expectation-Maximization

jp: joint probability

p.d.f : probability density function (hàm phân phối mật độ xác suất)

PCA: Principal component analysis

STT: Speech-To-Text

Trang 15

CHUONG 1: TONG QUAN 1.1 Đặt van đề:

Nhận diện tiếng nói hay tự động nhận diện tiếng nói (ASR) là một chương trình chuyền tín

hiệu âm thanh của con người thành dạng chữ Khi mà ngày nay mọi công việc dần được

chuyên đối sang hướng tự động hóa, con người ra lệnh cho máy móc làm việc.

Một vài ứng dụng có sự hỗ trợ của ASR ta hay thấy là:

e Ghi chú nhanh: các trợ lý ảo như Alexa, Siri được tích hợp vào điện thoại di động

giúp chuyên những gì chúng ta nói thành ghi chú, thay vì cần một cuốn số và câyviết, tránh ghi không kịp và bỏ sót thông tin quan trọng

e Giúp đỡ những người khuyết tật: ứng dụng vào trong các máy bán hàng tự động khi

người khuyết tật không thể đi đứng đề chọn đồ uống hoặc những người khiếm thính,giúp họ học và hòa nhập vào cộng đồng

e_ Tạo phụ đề : khi xem phim nước ngoài có thé khả năng nghe không được tốt, ta buộc

phải đọc phụ đề, ASR giúp nhận diện lời thoại của diễn viên mà không cần phải soạnphụ đề trước sau đó tích hợp vao video

Đi đầu trong lĩnh vực này có thê kê đến Google hay Amazon Họ cung cap các dịch vụ dangcloud mở ra các API cho các ứng dụng có thê tích hợp rất dễ dàng Ví dụ hiện nay Google

hỗ trợ nhận diện trên 120 ngôn ngữ, sử dụng nhiều mô hình máy học, công cụ dé tăng độ

chính xác, phương pháp xử lý tiếng ồn ngày càng tốt hơn Nhưng nó không miễn phí, mỗitài khoản sẽ cho sử dụng 60 phút miễn phí sau đó phải trả tiền để tiếp tục sử dụng, có giá

$0.006 mỗi 15 giây và giá cả có triển vọng sẽ ngày càng tăng cao khi được nhiều người sửdụng Ngoài ra các mô hình do Google hay Amazon cung cấp đòi hỏi thiết bị, ứng dụngphải có kết nối internet, phục vụ cho nhu cầu đại trà với quy mô lớn tổng quát mà đôi khitrở nên dư thừa với nhu cầu hạn chế của các ứng dụng, thiết bi đặc thù, nhỏ, chi phí thấp,chỉ cần tập trung vào một vài khâu lệnh đơn giản như máy bán hàng tự động, thiết bị trình

1

Trang 16

diễn điện tử Chính vì lẽ đó trong luận văn này tôi tập trung vào nghiên cứu các phương

pháp xây dựng bộ nhận diện giọng nói cho tiếng Việt, đặt trọng tâm giải quyết bài toán khâu

lệnh đơn giản, tốc độ nhanh, độ chính xác cao, thích hợp cho những ứng dụng và thiết bị đã

đê cập ở trên.

Standard models

Enhanced models

Feature (all models except enhanced video and phone

(video, phone call)

call)

0-60 Over 60 Mins up to 1 Million 0-60 Over 60 Mins up to 1 Million

Minutes Mins Minutes Mins

Speech Recognition (without Data Logging - Free $0.006 / 15 seconds ** Free $0.009 / 15 seconds **

default)

Speech Recognition (with Data Logging opt-in) Free $0.004 / 15 seconds ** Free $0.006 / 15 seconds **

Hinh 1 1: bang gia ASR cua Google

Trang 17

Hình 1 2: máy bán nước tự động

Trang 18

1.2 Pham vi nghiên cứu:

Tìm hiểu ASR và quá trình hoạt động, các thuật toán chính sử dụng.

Bộ công cụ Kaldi, cách cài dat, sử dụng, cấu trúc các dự án theo chuẩn Kaldi

Cách xây dung dataset, quá trình sử dụng thuật toán Gaussian Mixture Model (GMM) và

Deep Neural Network (DNN) dé huấn luyện mô hình với sự trợ giúp của Kaldi

So sánh mô hình DNN và GMM và trình bày một vài cách cải tiến

Sử dụng mô hình thu được đề xây dựng ứng dụng tranh điện tử thông minh

1.3 Các công cụ sử dụng:

Trang 19

Bộ công cụ Kaldi, dùng để huấn luyện mô hình nhận diện, nền tang CUDA dé hé tro chay

DNN tốc độ cao trên card đồ họa Hệ điều hành Ubuntu là môi trường huấn luyện cũng như

kiểm thử thuật toán.

Android Studio: IDE dùng để xây dựng ứng dụng trên các thiết bị chạy hệ điều hành

Android.

1.4 Phương pháp thực hiện:

Cơ sở lý thuyết:

Trước tiên tìm hiểu ASR

Chức năng của các thành phần, thuật toán áp dụng vào đó

Tập trung tìm hiểu chuyên sâu vào thuật toán DNN và GMM, vì đây là hai hướng

tiếp cận phô biến và quan trọng trong lĩnh vực này

Tìm hiểu cách thức tự xây dựng dataset, từ điển, file mô tả nội dung của nó

Tìm hiểu quá trình huấn luyện mô hình, cách điều chỉnh các thành phan kết hợp với nhau đê cho ra kêt quả cuôi cùng.

Quá trình huấn luyện mô hình và xây dựng ứng dụng:

1.5

Tìm hiểu cách sử dụng nền tảng Kaldi dé huấn luyện mô hình

Nghiên cứu cấu trúc dự án theo chuẩn quy định của Kaldi

Thực nghiệm để chỉnh sửa các thông số dé thu được mô hình tốt nhất.

Cách thức sử dung mô hình, các thư viện hồ tro dé xây dựng ứng dụng trên nền tang

android.

Cầu trúc luận văn:

Luận văn sẽ gôm bôn chương:

Trang 20

Chương 1: trình bay đặt vấn đề tại sao lại tự xây dựng một hệ thống ASR, nhữngkiến thức cần có đề có thé hiểu được một hệ thống ASR, phương pháp thực hiện.

Chương 2: đi sâu vảo giải thích và tìm hiểu các thành phần của ASR, những thuật

toán áp dụng và bộ công cụ Kaldi.

Chương 3: trình bày cách thức xây dựng dataset, huấn luyện mô hình dé nhận diệnmột vài khẩu lệnh tiếng Việt cơ bản Các độ đo sử dung dé đánh giá mô hình DNN-HMM và GMM-HMM, cách cải thiện độ chính xác của mô hình va dé cập một vảicải tiến làm tăng độ chính xác So sánh hiệu quả giữa hai mô hình được tạo ra theo

hai hướng tiếp cận trên.

Chương 4: mô tả ứng dụng demo và đánh giá kết quả, kết luận

Trang 21

CHUONG 2: NEN TANG VE ASR VÀ BỘ CÔNG CỤ KALDI

2.1 Các thành phan ngôn ngữ hoc trong tiếng Việt:

2.1.1 Language Model (LM) dựa trên âm tiết:

Trong nhận diện tiếng nói việc quan trọng dau tiên là cách phân chia từ trong một câu dé

sao cho có nghĩa, ở đây ta sẽ sử dụng tiếng Anh làm ngôn ngữ chuẩn dé so sánh với tiếng

Việt

Một từ trong tiếng Anh có thể gồm nhiều âm tiết nhưng trong tiếng Việt ta sử dụng khoảng

trăng đê chia âm tiét của các từ.

Tiêng Việt Tiêng Anh

Tôi I

hoc learn

tiéng_Anh English

Tất nhiên vẫn có trường hợp một âm tiết là một từ, đứng một mình có một nghĩa khác khi

ghép với từ khác là một nghĩa khác Vi dụ: “tiêu” chỉ gia vi, “tiêu tan” có nghĩa là biên mat.

LM dựa trên âm tiết giúp tránh nhiều lỗi xảy ra trong bước phân chia từ và giảm độ phức tạp

khi số âm tiết quá ít Chúng ta sẽ có được một trigram language model khi train model với

bộ dữ liệu.

Chúng ta không cần quan tâm định dạng của chữ trong file text là ASCII hay Unicode, vì

công cụ Kaldi sẽ ánh xa từ và âm vi từng cái một vào một con sô.

2.1.2 Tir điên phat âm dựa trên grapheme:

Một grapheme là một ky tự hay nhiều ký tự đại diện cho một âm vỊ.

Không dễ dé mô hình hóa những đặc trưng độc nhất trong ngôn ngữ của một quốc gia

Trang 22

Cách được dùng phổ biến hơn cả là sử dụng grapheme như là âm vị với mỗi kắ tự được xemnhư là một âm vị Phụ âm có thé gồm từ một tới ba kắ tự Nguyên âm gồm từng kắ tự một

cùng với dâu(săc, ngang, huyén, hỏi, ngã, nặng).

Phụ âm e 3kýtự e ngh

e 2kytu e chgh gikhng nh ph qu tr th

e lIkýtự e bcdđghklmnprstv

Nguyên âm e Thanh ngang e addeéiodouuy

e Thanh sac e áảãéêắ¡óôớúứý

e Thanh huyén e Adacéiddouty

e Thanh hỏi e ảảâƯêiỏôởủửỷ

e Thanh ngã e ããảảẽêlđôỡũữỮỹ

e Thanh nang ệ addetiodguuy

Bang 2 1: tap âm vị dựa trên grapheme

Thanh th a nh Mèo mèo

Nguyên nguy én Chuyên chuyên

Bảng 2 2: vắ dụ vê từ dién phát âm dựa trên grapheme

2.2 Lexicon và âm CD:

2.2.1 Lexicon:

Lexicon là một thành phan quan trọng trong ASR, dùng dé mô hình hóa những âm của một

từ bằng cách sử dụng chuỗi Markov Chúng ta dựa vào lexicon va AM dé chuyền đổi tắn

hiệu (được biéu diễn bằng đặc trưng) thành một từ

Trang 23

Hình 2 1: lexicon của từ ‘six’ (Nguồn: “Speech Recognition— Acoustic, Lexicon &

Language Model, Jonathan Hui medium website”)

Những âm vi không đồng nhất Biên độ của tần số thay đổi từ khi bắt đầu cho đến khi kết

thúc Đề thé hiện điều đó, ta chia một âm thành ba trạng thái con : đầu, giữa, kết thúc.

5000

0.48152 ay Time (s)

Hình 2 2: ba trạng thái của một âm (Nguồn: “Speech Recognition — Acoustic,

Lexicon & Language Model, Jonathan Hui medium website”)

Mô hình truyền thong HMM thường dùng ba trạng thái con dé mô hình mỗi âm Mô hình này thực hiện alignment giữa những trang thai và những observation.

Trang 24

‘ae hy?SE EN ANG me SE my BE xxx

Xị 3o yy =

Hình 2 3: từ ‘rat’ khi sử dung ba trang thái con dé mô tả trong HMM (Nguén: nam

trong những slide về ASR cua dai hoc Edinburghg [3])

Dé cho đơn giản cho việc biéu diễn HMM topology, dau ra của phân phối sẽ được vẽ bangmột đường cong và tham số quan sát sẽ được đánh nhãn trên đường cong đó và con số sau đó

là kết quả của AM Dưới đây là một ví dụ minh họa cho thay đôi trên, từ ‘two’ sẽ chứa 2 âm

mỗi âm có ba trang thái.

g¡/0.5 ga/0.5 g3/0.5 ga/0.5 gs/0.5 96/0.5

g:/0.5 S g2/0.5 (7) g3/0.5 ia 94/0.5 fas gs/0.5 is 96/0.5 C)

Hình 2 4: cách thé hiện ngắn gọn của HMM topology (Nguôn: “Speech Recognition

— Acoustic, Lexicon & Language Model, Jonathan Hui medium website”)

Dé xử lý những tap âm trong audio Ta sé mô hình chúng như là SIL và xem nó như là một

âm Vì khó đề bắt được tạp âm nên ta phải sử dụng 5 trạng thái con thay vì ba

2.2.2 Am CD:

Âm thanh thay đổi phụ thuộc vào ngữ cảnh của từ, tức là những âm xung quanh nó Ví dụ khi phát âm chữ “pin” va “spin”, tuy phiên âm của hai chữ ‘p’ đều là /p/, nhưng khi đưa tay

lên miệng ta sẽ thấy có sự khác biệt khi nói

Đề xây dựng một AM phức tạp, ta không thể bỏ qua ngữ cảnh của âm được Như hình bêndưới, tuy âm vị là /eh/ nhưng âm phổ của nó khác nhau bởi /eh/ nằm trong những ngữ cảnh

10

Trang 25

khác nhau, hình đầu tiên /eh/ nằm giữa hai âm /w/ và /d/, hình thứ hai /eh/ nằm giữa hai âm/y/ và /l/, hình thứ ba /eh/ nằm giữa hai âm /b/ và /n/.

500+

Frequency (Hz)

Hình 2 5: /eh/ nằm trong ngữ cảnh khác nhau (Nguồn: “Speech Recognition —

Acoustic, Lexicon & Language Model, Jonathan Hui medium website”)

Do vậy ta phải xét ngữ cảnh của âm vị Những âm đó được gọi là triphone hay âm CD,

những âm ngược lại được gọi là monophone hay âm context-independency (CI) Như ví dụ

bên dưới nếu ngữ cảnh bị bỏ qua âm /eh/ của ba khung audio chỉ được coi như một âm vi,

ngược lại âm vị của ba khung sẽ được xem như ba âm vị khác nhau.

11

Trang 26

Context-independent phone Context-dependent phone

Hình 2 6: âm CD và âm Cl (Nguồn: “Speech Recognition — Acoustic, Lexicon &

Language Model, Jonathan Hui medium website”)

Trong thực tế, số triphone rat nhiều và không đủ dữ liệu dé huấn luyện hết chúng, triphone

có thể xảy ra luôn lớn hơn triphone có trong dữ liệu của chúng ta Do vậy một vài state cóthé dùng chung một mô hình GMM Việc đó gọi là nối trạng thái (State Tying)

Trang 27

cảnh trái và ngữ cảnh phải của từ Not lá của cây gom các triphone, những triphone sử dụng

chung mô hình GMM.

Mục đích của việc huấn luyện là tối đa hóa xác suất của tập dữ liệu huấn luyện bằng môhình GMM cuối cùng Từ ý tưởng đó chúng ta phát triển lên một bậc, sử dụng nói trạng tháicho các triphone Ta sử dụng GMM dé mô hình triphone thay vì phân phối chuẩn thông

thường.

(1) Train monophone 68-6

single Gaussian

models IÑ II IN

(2) Clone monophones _— eee a i

to triphones t-iy+n~ t-iy+ng f-iy+l *s-iy+l

Hình 2 8:sử dung GMM dé huan luyện triphone (Nguồn: “Speech Recognition —

Acoustic, Lexicon & Language Model, Jonathan Hui medium website”)

2.3 Rut trich đặc trưng:

Muc dich cua viéc nhan dién tiéng nói là dựa vào LM và Acoustic Model (AM) dé timnhững từ tương thích nhất khi người nói khi nói vào bộ phận thu hoặc được nhận diện từmột đoạn video Đặc trưng được rút trích được dùng dé biéu diễn dang sóng của audio, đặc

13

Trang 28

trưng bao gôm thông tin của formant trong việc xác định âm và hiệu ngữ cảnh của âm, cách

Hình 2 9: biểu diễn dạng sóng của một audio (Nguồn:

https.//transitionssc.org/interview-dude-transitions/)

Chúng ta sé chia tín hiệu cua audio thành những khung (frame) kéo dai trong 25ms, khung

sau sẽ chồng lên 10ms của khung trước đề lấy đặc trưng Bề rộng của một khung là 25ms đủ

dé bắt đầy đủ thông tin Làm một con tính cơ bản, néu một người nói 3 từ mỗi giây, ba từ đó

được biểu diễn bang 4 âm (phone), mỗi âm có 3 giai đoạn con, suy ra sẽ có 36 trạng tháimỗi giây do đó bề rộng là 25ms là vừa phải

Dé tạo một acoustic model, observation X được đại diện bởi các vector đặc trưng (x1, x2,x3, ) Có nhiều cách đề lây đặc trưng nhưng được dùng nhiều và rộng rãi nhất trong lĩnh

vực này là phương pháp Mel-frequency cepstral coefficients (MFCCs), mỗi khung của một MFCC sẽ chứa 39 đặc trưng.

14

Trang 29

Frames of acoustic feature vectors

Hình 2 11: hình dạng của đặc trưng MFCC (Nguồn: “Feature Extraction MFCC &

PLP, Jonathan Hui medium website”)

Các bước thực hiện của phương pháp Mel-frequency-cepstral-coefficients (MFCC):

15

Trang 30

e Pre-emphasis: do câu trúc thanh quản nên năng lượng của âm thanh ở tân sô cao suy

giảm hơn âm thanh ở tan số thấp, ma tần số cao vẫn có nhiều thông tin có giá trị Do

đó, ta cân tăng năng lượng tại tân sô cao đê có thê lây được nhiêu thông tin cho AM.

Điêu này sẽ giúp cải thiện độ chính xác của việc phát hiện âm.

x’ [ta] = x[ta] — œx[ta — 1] 0.95 < œ < 0.99

zol

2.

Scand pressure level dB /Mz

Frequency (Hz Frequency (Hz)

Jurafsky & Martin, fig 9.9

Hình 2 12: tin hiệu trước và sau khi được pre-emphasis (Nguôn: “Feature

Extraction MFCC & PLP, Jonathan Hui medium website”)

e Windowing:

o Bước nay sẽ chia tin hiệu thành các khung (frame) có bề rộng 25ms do tin

hiệu thay đổi liên tục theo thời gian nên thông tin cũng biến đổi theo, nếu chỉ

xét trên một dãy tín hiệu thì thông tin thu được sẽ không tốt.

16

Trang 31

Hình 2 13: chia window cho tín hiệu (Nguồn: “Feature Extraction MFCC & PLP,

Jonathan Hui medium website”)

o Thông thường loại window được sử dụng là Hamming, sử dung cửa sô nay

trượt trên toàn bộ tín hiệu đê trích ra một loạt các frame, trong mỗi frame các thông tin đặc trưng được coi là tinh.

Hamming (œ = 0.46164) or Hanning (œ = 0.5) window

w[n] = (1—œ) — œcos (5) L: window width

Hình 2 14: phương trình cho Hamming window (Nguồn: “Feature Extraction MFCC

& PLP, Jonathan Hui medium website”)

e Biên đôi Fourier:

o Ta áp công thức dé lay thông tin từ miền tan số.

N-¬I 2

XIk]= 3 ainlexp[~ sa »

17

Trang 32

Hình 2 15: công thức bién déi Fourier (Nguồn: “Feature Extraction MFCC & PLP,

Jonathan Hui medium website”)

e B6 loc Mel:

o Bước nay sẽ chuyên đổi đoạn tín hiệu trong miền tần số sang thang do Mel

băng công thức Mel

M(ƒ)=11271nq+ ƒ /700) „

Hình 2 16: công thức tinh Mel (Nguồn: “Feature Extraction MFCC & PLP, Jonathan

Hui medium website”)

o Tai người chỉ thu nhận âm thanh ở những tần số nhất định Do đó ta sử dung

một loạt các bộ lọc tam giác, thông thường có từ 20 đến 40 bộ lọc tam giácđược sử dung, tập trung nhiều vào tan số trung tâm dé tính toán hệ số Mel

DFT(STFT) power spectrum |X[kI|”

N

= Frequency bins

T2 w

Mel-scale power spectrum Y[m]

Hình 2 17: dựa vào bộ lọc tam giác tính hệ số Mel (Nguôn: “Feature Extraction

MFCC & PLP, Jonathan Hui medium website”)

e Log:

o Cuối cùng cho đoạn tín hiệu di qua các bộ lọc va tính tổng các giá tri đầu ra

tương ứng, ta sẽ được một chuỗi giá trị M=(m1, m2, , mk), với mỗi giá trị m

lấy logarith ta sẽ được các hệ số mel

18

Trang 33

e_ Biến đổi Fourier nghịch:

o Bước này được thực hiện dé tính hệ số cepstral

ZrnŒm — 0.5)

M-1

c(n) = » log,)(s(m)) cos w :n=0,12, C-1)

Hình 2 18: công thức tính hệ sé cepstral (Nguồn: “Feature Extraction MFCC &

PLP, Jonathan Hui medium website”)

o Vì mục đích cuôi cùng là phân loại âm vi nên ta chi lay 12 hệ sô cepstral dau

Cepstrum index

Hình 2 19: 12 hệ số cepstral dau tiên (Nguồn: “Feature Extraction MFCC & PLP,

Jonathan Hui medium website”)

e Đặc trưng động:

o Mục dich của việc thêm đặc trưng động để biểu diễn sự thay đôi thông tin khi

chuyền từ một frame này sang frame khác

o Mỗi frame rút trích được 12 hệ số và hệ số thứ 13 là năng lượng trong nỗi

frame, giúp cho việc xác định âm vi.

19

Trang 34

Energy = yx [t]

t=t, 4)

Hình 2 20: công thức năng lượng mỗi frame (Nguôn: “Feature Extraction MFCC &

PLP, Jonathan Hui medium website’)

o Từ 13 đặc trưng ban dau, ta tinh delta dé biéu dién su thay đôi của đặc trưng

khi chuyên từ frame này sang frame khác Ta thực hiện đạo hàm bậc I của đặc

trưng.

c(t +1)—c(t—-1)

2 (5)

Hình 2 21: đạo hàm bậc 1 (Nguồn: “Feature Extraction MFCC & PLP, Jonathan

Hui medium website”)

d(t) =

lo Tiếp theo ta đạo hàm thêm một lần nữa để tính delta-delta và thu được 39 đặc

trưng MFCC

o Sau cùng 39 đặc trưng thu được gồm : 13 đặc trưng + 13 đặc trưng của đạo

ham bac 1 + 13 đặc trưng của đạo hàm bậc 2.

Dưới đây là tổng kết quá trình rút trích đặc trưng bang phương pháp MFCC:

20

Trang 35

AG (jar te}

Sơ đồ 2.1: quy trình rút trích đặc trưng bằng phương pháp MFCC (Nguồn: “Feature

Extraction MFCC & PLP, Jonathan Hui medium website”)

2.4 Hidden Markov Model (HMM):

HMM là mô hình thống kê trong đó hệ thống được mô hình hóa với các tham số biết trước(observation), giá tri của observation có thê là rời rạc hoặc liên tục, và nhiệm vụ là xác địnhcác tham số ân từ các tham số quan sát được Ví dụ: sử dụng mô hình HMM dé dự đoán trời

sẽ nắng hay mưa dựa vào các hoạt động trong ngày

e Trực quan hóa ví dụ trên băng hình ảnh

21

Trang 36

CLEAN SHOP BIKE

(Nguồn:” Hidden Markov Models — Part 1: the Likelihood Problem, Maria

Burlando”)

e Ta có tham số an S = {Nắng, Mua} vì là cái ta muốn dự đoán khi không thể biết

chính xác được và tham số quan sát được O = {Son, Don dẹp, Mua sắm, Đạp xe} lànhững điều ta biết chắc chắn

° Xác suất khởi tao x tại ngày đầu tiên to: x = |0.6, 0.4| với xác suất dé ngày đầu tiên

nang là 0.6, ngày mưa là 0.4 Chú ý: tổng xác suất trên một dòng cộng lại phải bằng

1.

e Transition Probability (TP) là xác suất chuyên đổi từ ngày mưa sang nắng và ngược

lại Ví dụ nếu xác suất ngày hôm nay là nang và ngày tiếp theo cũng nắng là 0.8,

tương tự ngày hôm nay là mưa và ngày tiếp theo là mưa 0.6 Ta lập được ma trận

sau.

22

Trang 37

Hình 2 22: ma trận của TP (Nguôn:” Hidden Markov Models — Part 1: the

Likelihood Problem, Maria Burlando”)

e Emission Probability (EP) là xác suất ta sẽ lam gi đó trong trời năng hoặc mưa Vi

dụ nếu ngày hôm trời nang ta quyết định dọn dep là 0.1, trời mưa ta quyết định đạp

xe là 0.05 từ thông tin đó ta lập một ma trận

tớ

PAII CLEAN SHOP BIKE

3#| 04 01 02 03

Hình 2 23: ma trận của EP (Nguén:” Hidden Markov Models — Part 1: the

Likelihood Problem, Maria Burlando”)

HMM topology xác định một tập các trạng thái cho phép chuyên đồi qua lại lẫn nhau, dướiđây là ví dụ của một HMM topology bao gồm tat cả các tham số có thé có của hệ thống và

TP.

23

Trang 38

Hình 2 24: HMM topology (Nguồn: “Speech Recognition — GMM, HMM, Jonathan

Hui medium website”)

Ví dụ một HMM topology trong nhận diện tiếng nói.

(Nguôn: nằm trong những slide về ASR của đại học Edinburghg [3])

Loại mô hình này được ứng dụng nhiêu trong nhận diện tiêng nói, mô hình sẽ bao gôm các

tham sô ân là âm vị và các tham sô quan sát được là các đặc trưng có được băng phương

pháp MECC Trong mô hình này có hai loại xác suất ta phải biết đó là TP và EP

e TP: xác suất dé chuyền từ trạng thái ân này sang trang thái an tiếp theo

e EP: xác suât của tham sô quan sát được đôi với moi tham sô ân.

24

Trang 39

_ nme

11111

Observable

a =

Hình 2 25: mô hình HMM (Nguôn: “Speech Recognition — GMM, HMM, Jonathan

Hui medium website”)

Khi sử dung mô hình HMM, có ba van dé cần giải quyết:

e Likelihood : tính tong xác suất của những observation được tạo ra từ HMM topology

đã biét> sử dụng thuật toán Forward

e Decoding và alignment: khi biết được một chuỗi những observation, có xác định

được những chuỗi có thê là trạng thái ân cần tim > sử dụng thuật toán Viterbi

e Training: khi biết được một chuỗi observation và một HMM, tiến hành hoc xác suất

state occupation dé tìm ra tham số (TP va EP) tốt nhất cho HMM > sử dụng thuật

toán Forward-Backward (FB) và thuật toán Expectation-Maximization (EM).

2.4.1 Likelihood:

Thuật toán forward là thuật toán được dùng để tính tổng xác suất của những tham số quansát được khi đã biết HMM topology Với X là các observation, S là các state:

p(X)=>_p(X,S) =D) P(X S)p(S) 6)

Hình 2 26: công thức của thuật toán forward (Nguồn: “Speech Recognition —

GMM, HMM, Jonathan Hui medium website”)

25

Trang 40

Nhung chúng ta không làm theo công thức như trên vì số chuỗi trạng thái có thé có tương

ứng với các observation là rất nhiều Độ phức tạp của nó sẽ gia tăng theo hàm mũ O(2TNT)

với N là sô lượng trạng thái của HMM, chiêu dài của chuỗi observation.

Ta sẽ áp dụng cách tính toán đệ quy dé chia vấn đề thành các bước nhỏ Trong HMM, kếtquả có được tại thời điểm t sẽ dựa vào kết quả tại thời điểm t-1 hoặc t+1 Mỗi vòng tròn bên

dưới đại diện cho một tham sô ân j tai thời điêm t, sô lượng rat nhiêu.

A time sequence of states © ® © © © ® © C)

C<A O JO 2 CÀ O

or

Hình 2 27: tham sé ẩn j tại thời điểm t (Nguôn: “Speech Recognition — GMM,

HMM, Jonathan Hui medium website”)

OOO OO

Thuật toán forward trai qua 3 bước:

e Khởitạo:

o_ Biến xác suất forward œ¡() đầu tiên được tính băng xác suất khởi tại của tham

số an 7¡ nhân với phân tử dòng 1 cột 1 của ma trận EP

a, (i) = 7, -b,(O,)

(7)

26

Ngày đăng: 02/10/2024, 05:34

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN