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

Nhận dạng tiếng nói việt nam từ vựng lớn liên tục

121 406 0

Đ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 121
Dung lượng 3,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài toán nhận dạng tiếng nói là làm cho máy tính nhận biết và chuyển tiếng nói thu nhận của người thành một chuỗi các từ tương ứng, kết quả này có thể được dùng trong các ứng dụng điều k

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC HUẾ KHOA CÔNG NGHỆ THÔNG TIN

Nam Từ Vựng Lớn Liên Tục

(Tài liệu dùng cho môn học Lý thuyết Nhận dạng)

TS Nguyễn Đăng Bình URL: HTTP://NGUYENDANGBINH.ORG EMAIL: DANGBINH@GMAIL.COM

HUẾ - 5/2011

Trang 2

MỤC LỤC

- Mục lục 3

- Danh mục các ký hiệu, các chữ viết tắt 6

- Danh mục các bảng 7

- Danh mục các hình vẽ, đồ thị 8

- Mở đầu 10

CHƯƠNG 1 - BÀI TOÁN NHẬN DẠNG TIẾNG NÓI VÀ MÔ HÌNH MARKOV ẨN 1.1 Giới thiệu 12

1.2 Công thức cơ bản 14

1.3 Các thành phần của một bộ nhận dạng tiếng nói 15

1.3.1 Xử lý ngữ âm 15

1.3.2 Mô hình ngữ âm 15

1.3.3 Mô hình ngôn ngữ 16

1.3.4 Tìm kiếm giả định 18

1.4 Giới thiệu chuỗi Markov 18

1.5 Cơ bản về mô hình Markov ẩn 19

1.6 Tìm chuỗi chuyển trạng thái tốt nhất - Thuật toán Viterbi 22

1.7 Ước lượng các tham số xác suất cho HMM – Thuật toán Baum-Welch 24 CHƯƠNG 2 : TIỀN XỬ LÝ TIẾNG NÓI 2.1 Tổng quan về tiền xử lý tiếng nói 27

2.2 Cải thiện tín hiệu – bộ lọc Wiener 28

2.2.1 Định nghĩa bộ lọc Wiener 28

2.2.2 Công thức cơ bản của bộ lọc Wiener 29

2.2.3 Sai số tín hiệu của bộ lọc Wiener 30

2.2.4 Mối quan hệ giữa vector hệ số w và sai số tín hiệu e(m) 30

2.2.5 Tối ưu bộ lọc Wiener 31

2.2.6 Biểu diễn bộ lọc Wiener trong không gian vector 32

2.2.7 Ứng dụng bộ lọc Wiener trong việc loại bỏ nhiễu cộng thêm 34

Trang 3

2.3 Cắt khung tín hiệu 36

2.4 Phân tích Fourier – biến đổi Fourier rời rạc 38

2.5 Xác định phổ Mel 40

2.5.1 Định nghĩa tần số Mel 40

2.5.2 Phổ Mel 42

2.6 Biến đổi Cosine rời rạc trên tần số Mel 42

CHƯƠNG 3 - QUÁ TRÌNH HUẤN LUYỆN VÀ NHẬN DẠNG TIẾNG NÓI VIỆT NAM TỪ VỰNG LỚN LIÊN TỤC 3.1 Từ điển Lexicon 44

3.1.1 Giới thiệu Lexicon 44

3.1.2 Qui tắc của Lexicon trong hệ thống nhận dạng tiếng nói từ vựng lớn và liên tục 47

3.1.3 Các khiếm khuyết cơ bản của Lexicon 48

3.1.4 Các phương pháp xây dựng từ điển Lexicon 49

3.2 Dữ liệu 50

3.2.1 Dữ liệu văn bản 50

3.2.2 Dữ liệu âm thanh 52

3.2.3 Tiếng ồn và nhiễu trong dữ liệu âm thanh 54

3.3 Huấn luyện tiếng Việt 55

3.3.1 Chuẩn bị dữ liệu 56

3.3.2 Các bước trong quá trình học tiếng Việt 59

3.3.3 Tạo Model 59

3.4 Giới thiệu về Ma trận Confusion Matrix trong xử lý từ điển Lexicon 64

3.4.1 Giới thiệu 64

3.4.2 Phân tích ma trận nhầm lẫn 67

3.5 Kết hợp từ điển Lexicon vào mô hình HMM 70

3.5.1 Thuật toán Quy Hoạch Động 70

3.5.2 Lý thuyết Word Graph 74

3.6 Các dạng HMM có áp dụng ma trận Confusion Matrix 92

Trang 4

CHƯƠNG 4 - KẾT QUẢ VÀ BÀN LUẬN

4.1 Tổ chức thực nghiệm 96

4.1.1 Dữ liệu huấn luyện 96

4.1.2 Dữ liệu thực nghiệm 96

4.1.3 Phương pháp đánh giá 96

4.1.4 Tiến hành thực nghiệm 96

4.2 Kết quả thực nghiệm của chương trình đọc số tiếng Việt 97

4.3 Kết quả thực nghiệm chương chương trình nhập điểm 98

4.4 Khóa khăn và thuận lợi 99

4.5 Bàn luận 100

4.6 Hướng phát triển 101

Tài liệu tham khảo 102

Phụ Lục A 104

Trang 5

DANH MỤC CÁC CHỮ VIẾT TẮT

Trang 6

DANH MỤC CÁC BẢNG

Số hiệu

bảng

Trang 7

DANH MỤC CÁC HÌNH VẼ

Số hiệu

1.1 Mô tả tổng quan quá trình nhận dạng tiếng nói 13

1.4 Bài toán 2, Tìm chuỗi chuyển trạng thái tốt nhất 22 1.5 Bài toán 3, Làm sao hiệu chỉnh tham số mô hình 24 2.1 Biểu diễn tín hiệu tiếng nói từ tín hiệu liên tục sang tín hiệu rời

rạc

27

2.2 Phép chiếu để ước lượng bình phương tối thiểu sai số của vector

tín hiệu mong đợi x trên mặt phẳng chứa 2 tín hiệu y1, y2

32

2.3 Độ biến thiên tần số Wiener tương ứng với phổ tín hiệu của

nhiễu cộng thêm (nhiễu trắng)

34

2.9 Minh họa cho biến đổi Fourier được rời rạc hóa 40

3.1 Sự chuyển đổi tín hiệu bên trong hệ thống nhận dạng tiếng nói 48 3.2 Sóng của câu nói “một chín sáu hai” không bị ồn và nhiễu 53

3.6 Câu “tôi đi học” thu âm bị ồn và nhiễu (có tiếng quạt và xe cộ) 55 3.7 Bảng nhầm lẫn có chứa ma trận nhầm lẫn với sự nhận biết các

nguyên âm trong ngôn ngữ Hungarian

66

3.8 Bảng nhầm lẫn có chứa ma trận nhầm lẫn cho 39 âm vị

(phoneme) trong ngôn ngữ tiếng Anh

3.12 Tái kết hợp ngôn ngữ mô hình trong ngôn ngữ bigram và sử

dụng từ Sil cho 1 cây từ vựng (3 từ vựng A, B, C) sử dụng cây bản sao word conditioned

78

3.13 Tái kết hợp mô hình ngôn ngữ Trigram cho cây từ vựng (3 từ

vựng A, B, C) không sử dụng Sil

85 3.14 Minh họa của cây từ gần đúng cho 2 trường hợp (a, b) 88

Trang 8

3.15 Một đồ thị từ cho từ vựng 3 từ (a, B, C) 91

Trang 9

MỞ ĐẦU

Các hệ thống nhận dạng tiếng nói hiện này đã phát triển với các ngôn ngữ Anh, Pháp, Tây Ban Nha, nhưng đối với tiếng Việt Nam thì vẫn còn là lĩnh vực mới mẻ Tuy đã có nhiều nhà nghiên cứu về nhận dạng tiếng Việt Nam với một số thành tựu và có một số các ứng dụng nhất định nhưng vẫn chưa đạt được kết quả để cho ra một ứng dụng hoàn chỉnh Vấn đề là nhận dạng tiếng nói Việt Nam là một nghiên cứu của nhiều lĩnh vực khác nhau.Việc nghiên cứu nhận dạng tiếng nói Việt Nam từ vựng lớn là một yêu cầu bức thiết của các nhà khoa học nước ta, hệ thống nhận dạng tiếng Việt chỉ có thể do người Việt Nam nghiên cứu và thực hiện, không thể mua từ nước ngoài Đây chính là lý do tôi chọn đề tài

Nghiên cứu này nghiên cứu về cơ sở lý thuyết nhận dạng tiếng nói, bắt đầu

đi từ các khái niệm cơ bản đến lý thuyết phức tạp, sau đó tiến hành nghiên cứu ứng dụng và thực nghiệm để minh họa cho lý thuyết

Các nghiên cứu về nhận dạng tiếng nói có rất nhiều cách tiếp cận khác nhau, nghiên cứu này xin trình bày về nhận dạng tiếng nói Việt Nam trên tập từ vựng lớn

và liên tục bằng Mô hình HMM Phạm vi nghiên cứu tập trung chính vào hai quá trình: tiền xử lý tiếng nói, huấn luyện và nhận dạng tiếng nói Việt Nam từ vựng lớn liên tục

Phương pháp nghiên cứu sử dụng trong nghiên cứu này là nghiên cứu lý thuyết kết hợp với thực nghiệm để rút ra các số liệu thống kê và đánh giá hiệu quả của nghiên cứu

Nghiên cứu này là một nghiên cứu lý thuyết có kế thừa công trình nghiên cứu của các nhà khoa học trong và ngoài nước đã công bố, ngoài ra cũng đóng góp các kết quả thực nghiệm trên tập ngữ liệu mẫu tuy còn ở mức độ nhỏ và chỉ ra hướng phát triển để cải thiện chất lượng nhận dạng tiếng Việt Nghiên cứu đã trình bày một góc nhìn về lý thuyết để đóng góp cho sự phát triển một hệ thống nhận dạng tiếng nói Việt Nam từ vựng lớn liên tục trong tương lai

Trang 10

Cấu trúc nghiên cứu trình bày gồm có 4 chương sau:

• Chương 1_ Bài toán nhận dạng tiếng nói và Mô hình HMM

• Chương 2_ Tiền xử lý tiếng nói

• Chương 3_ Quá trình huấn luyện và nhận dạng tiếng nói Việt Nam từ vựng lớn liên tục

• Chương 4_ Kết quả và bàn luận

Trang 11

CHƯƠNG 1- BÀI TOÁN NHẬN DẠNG TIẾNG NÓI VÀ MÔ

HÌNH MARKOV ẨN 1.1 Giới thiệu:

Nhận dạng tiếng nói là lĩnh vực đã được nghiên cứu từ hơn 4 thập kỉ qua ở các trường đại học và các tổ chức trên thế giới Các hệ thống nhận dạng tiếng nói hiện đại đang hòa trộn nhiều lãnh vực công nghệ từ việc xử lý tín hiệu, nhận dạng mẫu

và xử lý ngôn ngữ tự nhiên vào trong các khung xử lý

Nhận dạng tiếng nói cần sử dụng một số kiến thức từ nhiều ngành khoa học khác có liên quan như: kiến thức về toán học, xử lý tín hiệu, nhận dạng mẫu, âm học, ngôn ngữ học, tâm sinh lý học

Bài toán nhận dạng tiếng nói là làm cho máy tính nhận biết và chuyển tiếng nói thu nhận của người thành một chuỗi các từ tương ứng, kết quả này có thể được dùng trong các ứng dụng điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản, hoặc chuyển cho một quá trình xử lý ngôn ngữ ở mức cao hơn Nhận dạng tiếng nói phát triển từ nhận dạng các từ nói riêng biệt đến nhận dạng các từ được nói liên tục,

bộ từ vựng sử dụng trong hệ thống được chia thành 3 nhóm:

• Từ vựng nhỏ: sử dụng tối đa khoảng 100 từ

Một hệ thống dạng tiếng nói là một thiết bị có khả năng tự động chuyển đổi tiếng nói thành văn bản

Trang 12

Hình 1.1 Mô tả tổng quan quá trình nhận dạng tiếng nói

Hình 1.1 mô tả một cách tổng thể về quá trình nhận dạng tiếng nói Đầu tiên, tiếng nói được phát ra theo ý nghĩ của người nói, tiếng nói này được thu nhận thu dưới dạng sóng âm, sau khi rút trích các đặc trưng và được chuyển tới bộ phận xử lý ngữ âm Tại đây các đặc trưng được phân tích thành các ngữ âm Sau đó các ngữ

âm này được xử lý trong bộ giải mã để cho ra chuỗi từ phù hợp

Ta có thể nhận thấy rằng kết quả của nhận dạng phụ thuộc vào nhiều yếu tố như: chất lượng tiếng nói, thiết bị thu âm và bộ giải mã Bộ giải mã được xem là thành phần quan trọng nhất của hệ thống nhận dạng tiếng nói

Hiện nay có nhiều cách để thiết kế và cài đặt một bộ giải mã, nhưng cách được

sử dụng phổ biến nhất và hiệu quả hơn là dùng Mô hình HMM kết hợp với lý thuyết thống kê

Như trình bày ở hình 1.1, đầu vào của hệ thống là một chuỗi các ngữ âm quan

sát được X Cơ chế giải mã là từ chuỗi ngữ âm này, so sánh với các ngữ âm đã được

huấn luyện trước (thông qua quá trình học) cùng với thực hiện phép toán xác suất,

chúng tìm ra chuỗi từ phù hợp nhất Ŵ Quá trình này được thực hiện bằng cách gắn

các ngữ âm đã quan sát được và các giả thiết đầu ra là các chuỗi từ phù hợp vào Mô hình HMM Trong đó các ngữ âm được gắn vào các trạng thái của mô hình HMM, còn các giả thiết đầu ra là các quan sát Các tham số dùng cho mô hình HMM được ước lượng bằng thuật toán Forward-backward hay còn gọi là thuật toán Baum- Welch Để tính xác suất từ một chuỗi trạng thái sinh ra một chuỗi quan sát nào đó, chúng ta sử dụng thuật toán Viterbi Các thành phần của bộ giải mã sẽ được giới thiệu chi tiết ở các phần tiếp theo

Trang 13

t

1.2 Công thức cơ bản:

Một số ký hiệu được sử dụng và các lý thuyết cơ bản Gọi A là tập hợp các ngữ

âm để bộ nhận dạng dùng để xác định từ nào đã được nói A là một chuỗi các kí tự

Trang 14

Theo công thức (1.6) thì bài toán nhận dạng tiếng nói (nhận ra chuỗi từ Ŵ) chính là phải xác định được các xác suất P(W) và P(A|W) P(W) được tính thông

qua mô hình ngôn ngữ, còn xác suất P(A|W) được tính thông qua mô hình ngữ âm

1.3 Các thành phần của một bộ nhận dạng tiếng nói:

1.3.1 Xử lý ngữ âm:

Công việc đầu tiên của một hệ thống dạng tiếng nói là thông qua dữ liệu ngữ

âm được quan sát A Bộ phận làm việc này gọi là Front end, Front end sẽ rút trích vector đặc trưng biểu diễn thông tin của ngữ âm quan sát A để chuyển đổi âm thanh

dưới dạng sóng thành các ký tự ai

1.3.2 Mô hình ngữ âm (Acoustic model):

Một mô hình âm thanh được tạo ra bằng cách giữ lại các giọng nói được ghi

âm, sau đó phiên âm các từ của giọng nói và sử dụng phần mềm để tính các xác suất của âm thanh tạo nên mỗi từ Nó được sử dụng bởi một bộ máy nhận dạng để nhận

ra tiếng nói

Theo cấu trúc giọng nói, mô hình ngữ âm cho phép tính toán xác suất tương quan của vector đặc trưng của chuỗi quan sát được đến một từ cụ thể Quay trở lại công thức 1.6, bộ nhận dạng cần phải tính được P(A|W) là xác suất khi người nói nói chuỗi từ W thì bộ phân tích ngữ âm phân tích được chuỗi ngữ âm A Để phục

vụ công việc nhận dạng, chúng ta cần phải tính P(A|W) của tất cả các cặp A, W có thể Điều này khó có thể thực hiện được, vì số lượng rất lớn Và nếu có tính hết được thì cũng rất khó có thể tìm kiếm được cặp A, W phù hợp

Vì vậy để tính P(A|W) chúng ta cần một mô hình xác suất ngữ âm của chuỗi

từ mà người nói đã nói Số lượng mô hình phụ thuộc vào cách mà người nói nói chuỗi từ đó, vào nhiễu (tiếng ồn, tiếng vọng …), vị trí và các đặc tính của microphone, và việc xử lý ngữ âm của Front end

Mô hình ngữ âm được sử dụng rộng rãi nhất trong các bộ nhận dạng tiếng nói hiện nay là mô hình HMM, sẽ được thảo luận ở chương tiếp Ngoài ra còn nhiều

loại mô hình khác, chúng có thể dựa vào thuật toán mạng Neural (artificial neural

Trang 15

networks) hoặc thuật toán qui hoạch động (dynamic time warping) Những phương

pháp này sẽ được đề cập trong nghiên cứu

Hình 1.2 Mô tả của Mô hình ngữ âm

1.3.3 Mô hình ngôn ngữ (Language model _ LM):

Một mô hình ngôn ngữ là một phân phối xác suất trên các chuỗi từ, nó được sử dụng để hạn chế việc tìm kiếm từ Hầu hết các mô hình ngôn ngữ thường được sử dụng là mô hình ngôn ngữ N-gram, có chứa số liệu thống kê của các chuỗi từ và các trạng thái hữu hạn Để đạt được độ chính xác tốt mô hình ngôn ngữ N-gram của ta phải rất thành công trong việc hạn chế không gian tìm kiếm, có nghĩa là nó phải được dự đoán với xác suất rất tốt trong N từ tiếp theo Mô hình ngôn ngữ còn nhằm hạn chế các từ vựng chứa trong các từ

Mô hình ngôn ngữ thường được kết hợp trong bộ giải mã để nhận dạng ra tiếng nói Đối với các hệ thống nhận dạng tiếng nói liên tục từ vựng lớn hiện nay, có nhiều mô hình ngôn ngữ âm học, từ điển phát âm và thậm chí mô hình ngôn ngữ từ vựng lớn được xây dựng sẵn để có thể tải về

Công thức 1.6 cũng yêu cầu phải tính xác suất các chuỗi chữ W để tìm ra chuỗi

từ có xác suất tốt nhất mà người dùng muốn nói chuỗi từ W Công thức Bayes cho phép có nhiều cách khác nhau để phân tích P(W) Nhưng bởi vì bộ nhận dạng muốn

Trang 16

truyền đạt chuỗi văn bản một cách ngẫu nhiên như những gì con người đã nói, vì thế chúng ta sử dụng cách phân tích:

Bộ nhận dạng phải ước lượng xác suất P(w i |w1,…, w i-1) Chúng ta phải ước

lượng bởi vì dù với một giá trị n vừa phải và kích thước từ vựng hợp lý, thì xác suất

P(w i |w1,…, w i-1) có rất nhiều đối số

Tuy nhiên, thật là vô lý nếu cho rằng việc lựa chọn chữ thứ i của người nói phụ thuộc vào tất cả i-1 chữ trước trong toàn bộ những lời mà một người đã đã nói Vì

vậy, chúng ta sẽ cho những từ trước vào các lớp tương đối Ф(w i |w1,…, w i-1), công

Sự khác biệt giữa các mô hình ngôn ngữ khác nhau chính là việc xác định Ф

phù hợp và một phương pháp để ước lượng P(w i | Ф(w1,…, w i-1))

Việc xây dựng mô hình ngôn ngữ chỉ phụ thuộc vào bộ văn bản sử dụng, hoàn toàn không phụ thuộc vào tiếng nói (không phụ thuộc vào việc ghi âm cho học)

N-gram:

Là một chuỗi các mục có thứ tự, các mục có thể là các âm tiết, các chữ cái, các từ tùy theo ứng dụng Một N-gram có kích thước N =1 được gọi là unigram, kích thước N =2 là bigram, kích thước N =3 là trigram và kích thước N ≥ 4 được gọi là N-gram Hầu hết các mô hình ngôn ngữ được xây dựng từ N-gram

Mô hình N-Gram:

Là một loại mô hình xác suất cho các dự đoán mục kế tiếp trong một chuỗi

Mô hình N-gram được dùng trong nhiều lĩnh vực khác nhau của mô hình thống kê

để xử lý ngôn ngữ tự nhiên, nhận dạng tiếng nói và phân tích chuỗi gen

Trang 17

1.3.4 Tìm kiếm giả định:

Cuối cùng, trong công thức 1.6, để tìm được chuỗi từ mong đợi chúng ta cần phải tìm trong tất cả các chuỗi chữ W có thể để tìm ra một chuỗi có xác suất tốt nhất Chúng ta không thể áp dụng cách tìm kiếm vét cạn vì số chuỗi từ W cần tìm kiếm rất lớn

Chúng ta cần phải tìm kiếm theo cách là không xem xét toàn bộ các chuỗi chữ

W mà chỉ khảo sát các chuỗi chữ được gợi ý bởi mô hình ngữ âm A Hiện nay có nhiều cách để cài đặt tìm kiếm như vậy Trong bối cảnh sử dụng mô hình HMM thì phương pháp tìm kiếm theo cây là phương pháp Viterbi sẽ được giới thiệu ở phần sau

1.4 Giới thiệu chuỗi Markov:

Trong toán học, một chuỗi Markov là một quá trình ngẫu nhiên có thời gian rời rạc với tính chất Markov Trong một quá trình như vậy, quá khứ không liên quan đến việc tiên đoán tương lai mà việc đó chỉ phụ thuộc theo kiến thức về hiện tại

Xét hệ thống như sau: có một dãy X1, X2, X3, gồm các biến ngẫu nhiên Tập tất cả các giá trị có thể có của các biến này được gọi là không gian trạng thái S, giá trị của Xn là trạng thái của hệ thống tại thời điểm n Ở một thời điểm bất kỳ hệ thống ở một trạng thái, cứ sau một khoảng thời gian đều đặn, hệ thống sẽ chuyển sang trạng thái mới hoặc giữ nguyên trạng thái cũ, quá trình trên gọi là quá trình Markov, chuỗi các trạng thái quan sát được của hệ thống gọi là chuỗi Markov Nếu việc xác định (dự đoán) phân bố xác suất có điều kiện của Xn+1 khi cho biết các trạng thái quá khứ là một hàm chỉ phụ thuộc Xn thì:

P( X n+1 = x | X 0 , X 1 , X 2 , , X n ) = P( X n+1 = x | X n ) (1.9)

trong đó x là một trạng thái nào đó của quá trình (x thuộc không gian trạng thái S),

đây gọi là thuộc tính Markov

Một cách đơn giản để hình dung một kiểu chuỗi Markov cụ thể là qua một Automat hữu hạn (finite state machine) Nếu hệ thống ở trạng thái y tại thời điểm n thì xác

suất mà hệ sẽ chuyển tới trạng thái x tại thời điểm n+1 không phụ thuộc vào giá trị

Trang 18

của thời điểm n mà chỉ phụ thuộc vào trạng thái hiện tại y Do đó, tại thời điểm thứ i bất kỳ, một chuỗi Markov hữu hạn có thể được biểu diễn bằng một ma trận

xác suất, trong đó phần tử x, y có giá trị bằng:

và độc lập với chỉ số thời gian i (nghĩa là để xác định trạng thái kế tiếp, ta không

cần biết đang ở thời điểm nào mà chỉ cần biết trạng thái ở thời điểm đó là gì) Các loại chuỗi Markov hữu hạn rời rạc này còn có thể được biểu diễn bởi đồ thị có hướng, trong đó các cung được gắn nhãn bằng xác suất chuyển từ trạng thái tại đỉnh (vertex) đầu sang trạng thái tại đỉnh cuối của cung đó

Hình 1.3: Một chuỗi Markov 3 trạng thái

1.5 Cơ bản về mô hình Markov ẩn (HMM):

Mô hình Markov ẩn (Hidden Markov Model _ HMM) là một mô hình thống kê trong đó hệ thống được mô hình hóa là một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được

Khác với chuỗi Markov, Mô hình HMM có các đặc điểm sau:

Trang 19

• Từ 1 trạng thái có thể phát sinh ra hơn một sự kiện (còn gọi là quan sát)

• Chuỗi quan sát là hàm xác suất của trạng thái

• Có thể tính toán xác suất của các chuỗi trạng thái khác nhau từ một chuỗi quan sát

Vậy Mô hình HMM phát sinh ra các quan sát Khi ở trạng thái Xi, có xác suất P(o1) để phát sinh sự kiện 1, xác suất P(o2) để phát sinh sự kiện 2,

Các thành phần cơ bản của mô hình HMM:

• N là số trạng thái của mô hình, ký hiệu trạng thái ở thời điểm t là qt và ot

là quan sát tại thời điểm t

• M là số lượng các quan sát phân biệt Các ký hiệu quan sát tương ứng với tín hiệu mà hệ thống đang mô tả Ta ký hiệu tập các quan sát là V = {v1, v2, v3, ,vM}, đối với tín hiệu tiếng nói, vi là (đặc trưng thứ i) mã của vector đặc trưng

• A = {aij} là ma trận phân phối xác suất chuyển trạng thái, với aij là xác suất chuyển từ trạng thái i ở thời điểm t sang trạng thái j ở thời điểm t+1

Trang 20

có 3 công việc mà anh thích làm là: 1 đi dạo, 2 đi chợ và 3 dọn phòng Hiển nhiên

là sự lựa chọn phải làm gì thì phụ thuộc trực tiếp vào thời tiết hôm đó thế nào Tôi không nhận được thông tin cụ thể về thời tiết nơi anh bạn tôi sống nhưng tôi lại biết

về xu hướng chung Dựa vào lời kể của công việc hàng ngày của anh ta và tôi có thể

dự đoán về thời tiết hôm đó

Như vậy, thời tiết được vận hành như một chuỗi Markov cụ thể Có 2 trạng thái thời tiết, "Mưa" và "Nắng", nhưng tôi không quan sát trực tiếp, do đó, chúng

là ẩn đối với tôi Vào mỗi ngày, anh bạn tôi sẽ làm một trong các việc sau phụ thuộc vào thời tiết hôm đó là "đi dạo", "đi chợ" và "dọn phòng" Vì anh bạn tôi đã tường thuật lại hoạt động của mình, đó là các dữ liệu quan sát Toàn bộ hệ thống này là một mô hình HMM

Sử dụng mô hình HMM: Có 3 bài toán có thể giải quyết bằng HMM

Bài toán 1 (Evaluation problem): Cho chuỗi quan sát O = (o1, o2, ,oT) và mô hình λ = (A, B, π ), ta sẽ tính P(O | λ ) là xác suất cho chuỗi quan sát cho bởi

mô hình như thế nào?

Bài toán 2 (Decoding problem): Cho chuỗi quan sát O = (o1, o2, ,oT) và mô hình λ = (A, B, π ), xác định chuỗi trạng thái q = {q1, q2, , qT} tương ứng là phù hợp nhất (optimal)

Trang 21

Bài toán 3 (Learning problem): Làm sao hiệu chỉnh tham số của mô hình λ =

(A, B, π ) để cực đại hóa xác suất P(O | λ ) sinh ra O

1.6 Tìm chuỗi chuyển trạng thái tốt nhất - Thuật toán Viterbi:

Trong bài toán 2, nếu cho trước chuỗi quan sát O = (o1, o2, ,oT) và mô hình λ

= (A, B, π ), ta cần xác định chuỗi trạng thái Q = {q1, q2, , qT} tương ứng là phù hợp nhất, đây chính là chuỗi chuyển trạng thái tốt nhất, điều này có nghĩa là phải tính:

Q* = arg max P(Q | O, λ ) = arg max P(Q, O | λ

)

(1.14)

Với O = (o1, o2, ,oT) ; Q = {q1, q2, , qT}

Hình 1.4 Bài toán 2, tìm chuỗi chuyển trạng thái tốt nhất

Có một số điều kiện có thể cho việc tìm kiếm chuỗi trạng thái phù hợp nhất Nó chọn các trạng thái riêng lẻ phù hợp nhất tại thời điểm khi một ký hiệu quan sát được phát ra Thuật toán Viterbi dùng cho nhận dạng tiếng nói

Đặt λ t(i) là xác suất của mô hình phát ra ký hiệu quan sát ot là trạng thái thứ i của chuỗi quan sát O

Nó dễ dàng nhận được:

Trang 22

λ t(i) = αt(i) βt(i) / P( O ) , với i =1, , N , t =1, , T

Sau đó tại mỗi thời điểm, chúng ta có thể chọn trạng thái qt mà nó làm cực đại

λ t(i)

Thuật toán Viterbi:

Thuật toán Viterbi vận hành trên một đồ thị HMM để chọn chuỗi trạng thái

mà nó phù hợp cao nhất với chuỗi quan sát được, thuật toán Viterbi tránh được sự tìm kiếm trên một không gian lớn và làm giảm chi phí tính toán

Đặt δ t (i) là xác suất lớn nhất của chuỗi trạng thái có chiều dài t mà kết thúc ở

trạng thái thứ i và sinh ra sinh ra quan sát đầu tiên t

Thuật toán Viterbi là thuật toán qui hoạch động có các bước sau:

Bước 1_Khởi tạo:

Trang 23

1.7 Ước lượng các tham số xác suất cho HMM – Thuật toán Baum-Welch:

Bài toán 3 của mô hình HMM là làm sao hiệu chỉnh tham số của mô hình λ

= (A, B, π ) để cực đại hóa xác suất P(O | λ ) sinh ra O

Để giải quyết bài toán 3 chúng ta cần một phương pháp hiệu chỉnh các tham số lambda để tối đa hóa khả năng của tập huấn luyện Hiện tại chưa có cách nào xác định các giá trị trong mô hình để có được xác suất chuỗi quan sát tối đa, mà chúng

ta chỉ có thể ước lượng được một cực đại cục bộ bằng cách dùng thuật toán Baum- Welch (hay còn gọi là thuật toán Forward-Backward) Thuật toán Baum-Welch được dùng nhằm hạn chế sự “bùng nổ” tính toán và bảo đảm sự hội tụ cục bộ được dùng trong huấn luyện

Hình 1.5 Bài toán 3, làm sao hiệu chỉnh tham số của mô hình

Thuật toán Baum-Welch:

Bước 1: Xác suất duyệt qua 1 cạnh: từ trạng thái i tại thời điểm t đến trạng thái j

tại thời điểm t + 1

Trang 24

là xác suất sở hữu hai trạng thái i và trạng thái j

Bước 2: Xác suất của trạng thái i tại thời điểm t:

Trang 27

CHƯƠNG 2 - TIỀN XỬ LÝ TIẾNG NÓI 2.1 Tổng quan về tiền xử lý tiếng nói:

Tiền xử lý là một quá trình xử lý trước tín hiệu tiếng nói, nhằm mục đích làm sạch tín hiệu để có những thông tin cần thiết cho hệ thống nhận dạng tiếng nói Các giai đoạn của qui trình tiền xử lý được sắp xếp thứ tự như sau:

• Giai đoạn làm nổi tín hiệu (Pre – Emphasis) Thực hiện bộ lọc thông để làm

nổi tín hiệu, loại bỏ các tín hiệu không cần thiết, loại bỏ các nhiễu và giữ lại tín hiệu quan trọng của tiếng nói Giai đoạn này sử dụng các bộ lọc điển hình như

tín hiệu để thu về các độ lớn phổ tín hiệu

• Xác định phổ Mel Thực hiện chuyển đổi từ tần số Hz sang tần số Mel bằng cách lấy logarithm của phổ tín hiệu thu được từ biến đổi Fourier

• Tính hệ số Mel Cepstrum để xác định các hệ số đặc trưng cho tín hiệu tiếng

nói Các hệ số này được gọi là Mel Frequency Cepstrum Coefficients – MFCC

• Biến đổi Cosine rời rạc trên tần số

Mel

Hình 2.1 Biểu diễn tín hiệu tiếng nói từ tín hiệu liên tục sang tín hiệu rời

rạc

Trang 28

Bộ giải mã sẽ sử dụng dữ liệu có được qua quá trình tiền xử lý đã được biểu diễn bởi các hệ số đặc trưng trên, cũng như trình tự xuất hiện của chúng, nhờ đó nhận biết được tiếng nói Các thành phần như bộ từ điển Lexicon, mô hình ngôn ngữ, mô hình ngữ âm, kết hợp với các thuật toán tìm kiếm như Viterbi chứa trong

bộ giải mã để cho ra kết quả nhận dạng chính xác

Trong chương này, chúng ta sẽ trải qua từng thành phần của một quá trình tiền

xử lý tiếng nói Bắt đầu từ bước cắt khung tín hiệu, thực hiện bộ lọc Wiener, biến đổi Fourier rời rạc,… cho tới khi thu được các hệ số MFCC đặc trưng cho tín hiệu tiếng nói Và cuối cùng, cách thức để nhận dạng thành công một câu nói từ các hệ

số đặc trưng thông qua các công nghệ trong bộ giải mã và mô hình HMM

Quá trình tiền xử lý là không thể bỏ qua và sẽ nâng cao đáng kể chất lượng nhận dạng

2.2 Cải thiện tín hiệu – bộ lọc Wiener:

Đây là giai đoạn đầu tiên của quá trình tiền xử lý, tín hiệu tiếng nói đầu vào sẽ được đưa qua các hệ thống bậc thấp chính là các bộ lọc FIR để làm phẳng phổ tín hiệu Nghiên cứu này sẽ trình bày bộ lọc Wiener, một bộ lọc đạt hiệu quả cao trong việc loại bỏ nhiễu và khôi phục tín hiệu

2.2.1 Định nghĩa bộ lọc Wiener:

Bộ lọc Wiener có mục đích làm giảm lượng tiếng ồn trong tín hiệu bằng so sánh với một ước lượng không nhiễu mong muốn Bộ lọc Wiener được xây dựng cho việc ánh xạ tín hiệu đầu vào thành tín hiệu kết quả sao cho gần giống với tín hiệu mong đợi nhất Nền tảng của bộ lọc Wiener phụ thuộc vào dữ liệu tuyến tính và bình phương tối thiểu sai số bộ lọc Đây là bộ lọc giữ vai trò quan trọng trong rất nhiều ứng dụng về xử lý tín hiệu như: dự đoán tuyến tính (Linear Prediction), loại

bỏ tiếng dội (Echo Cancellation), phục hồi tín hiệu (Signal Restoration), cân bằng kênh (Channel Equalization), đồng bộ hệ thống (System Identification) Trong xử lý tín hiệu tiếng nói, bộ lọc Wiener là một bộ lọc được đề xuất bởi Norbert Wiener trong những năm 1940 đến năm 1949 Mục đích của nó là để làm giảm

Trang 29

lượng tiếng ồn có trong tín hiệu bằng cách so sánh với một ước lượng của tín hiệu nhiễu không mong muốn

Điều quan trọng trong việc xây dựng bộ lọc Wiener là xác định thành công các

hệ số lọc Các hệ số này được tính toán để tối thiểu bình phương khoảng cách trung bình giữa tín hiệu đầu ra của bộ lọc và tín hiệu mong muốn Chúng được tính lại định kỳ cho mỗi block N mẫu tín hiệu nhờ đó mà bộ lọc tự thích nghi với các đặc điểm của tín hiệu trong block và trở thành block – adapter Chỉ có block – adapter (hay còn gọi là segment – adapter) mới có thể áp dụng được cho dữ liệu âm thanh hoặc dữ liệu hình ảnh

Bộ lọc Wiener cổ điển được xây dựng trên lý thuyết về thời gian liên tục, bình phương sai số tối thiểu, các vấn đề về ước lượng sai số, nội suy, ngoại suy… Đến khi áp dụng cho nhận dạng tiếng nói, đã được mở rộng từ thời gian liên tục thành

thời gian rời rạc Một bộ lọc Wiener có thể được hiện thực theo IIR (Infinite-

duration Impulse Response _ đáp ứng xung có chiều dài vô hạn từ 0 đến ∞) hoặc

FIR (Finite-duration Impulse Response_ đáp ứng xung có chiều dài hữu hạn từ 0

đến N-1) đây là hai cách hiện thực chủ yếu của các bộ lọc số Tuy nhiên, có một vài khác biệt trong mỗi cách hiện thực này IIR Wiener sử dụng thuật toán đệ quy và kết quả của nó là tập hợp các phương trình không tuyến tính Trong khi đó, nếu xây dựng FIR Wiener thì không cần dùng đến giải thuật đệ quy và có kết quả là tập hợp các phương trình tuyến tính Trong thực tiễn và cũng như do tính đặc thù của nhận dạng tiếng nói, người ta đã lựa chọn xây dựng bộ lọc Wiener theo FIR nhằm đạt được kết quả tốt nhất có thể Tuy nhiên, với lựa chọn này, đặt ra cho chúng ta vấn

đề là FIR Wiener cần một số lượng lớn các hệ số lọc để ước tính một phản hồi mong đợi (desired response)

2.2.2 Công thức cơ bản của bộ lọc Wiener:

Trang 30

1

Tín hiệu đầu vào của bộ lọc là y(m)

Tích số wy(m) là kết quả của bộ lọc

Với là bình phương tối thiểu ước lượng sai số của tín hiệu mong muốn x(m) Trong công thức trên m là chỉ số thời gian rời rạc, yT = [y(m), y(m-1),…,y(m – P – 1)] là tín hiệu đầu vào vào của bộ lọc Vector tham số wT = [w0, w1,…,wP-1] là vector hệ số của bộ lọc Wiener Về mặt giải thuật, để thực hiện lọc tín hiệu cần hai quá trình xen kẽ nhau giữa phép xoắn và tích trong vector

2.2.3 Sai số tín hiệu của bộ lọc Wiener:

Gọi sai số tín hiệu của bộ lọc Wiener là e(m),e(m) được định nghĩa là hiệu số của tín hiệu mong đợi x(m) và tín hiệu output của bộ lọc

e(m) = x(m) - = x(m) - (2.2)

Biểu thức (2.2) chỉ ra rằng nếu có một tín hiệu đầu vào y(m) và tín hiệu mong đợi x(m) thì sai số e(m) phụ thuộc vào vector hệ số w

2.2.4 Mối quan hệ giữa vector hệ số w và sai số tín hiệu e(m):

Mở rộng biểu thức (2.2) cho N mẫu tín hiệu x(m) và y(m) ta được biểu thức sau:

y(−2) y(−1)

Trong đó e là vector sai số, x là vector tín hiệu mong muốn, Y là tín hiệu đầu

vào của ma trận và Yw = là vector tín hiệu đầu ra của của bộ lọc Wiener Nó

Trang 31

xx

được giả định rằng P (các mẫu tín hiệu ban đầu) hoặc là đã được biết hoặc được gắn

bằng 0 nếu không biết

Trong biểu thức (2.3) nếu số mẫu tín hiệu bằng với số hệ số của bộ lọc (N = P) thì ta có một ma trận vuông Và chỉ có giải pháp duy nhất là bộ lọc w, với một ước lượng sai số zero e = 0, khi đó = Yw = x Nếu N< P, có vô số các giải pháp với ước lượng sai số zero, và ma trận hệ thức được gọi là dưới mức xác định

Trong thực tế, số mẫu tín hiệu luôn lớn hơn rất nhiều so với đố dài của bộ lọc (N>P), khi đó ma trận hệ thức được gọi là trên mức xác định và có sai số ước lượng khác 0 Khi N > P, các hệ số của bộ lọc được tính toán để giảm thiểu chi phí cho sai

số trung bình, giống như trị tuyệt đối giá trị trung bình sai số E [|e(m)|] hoặc bình phương sai số E [e(m)2] Trong đó E [.] là toán tử kỳ vọng Lưu ý rằng việc lựa

chọn hàm tính sai số ảnh hưởng tới sự tối ưu của thuật toán và độ phức tạp của giải thuật

2.2.5 Tối ưu bộ lọc Wiener:

Tiêu chuẩn quan trọng nhất là bình phương sai số tối thiểu giữa kết quả của bộ lọc và tín hiệu mong muốn Bình phương sai số là tiêu chuẩn tối ưu cho các tín hiệu phân tán Gaussian Các hệ số bộ lọc Wiener thu được bằng cách dùng hàm tối thiểu

bình phương sai số trung bình E [e(m)2] với hệ số vector w của bộ lọc

Từ biểu thức (2.2), bình phương sai số ước lượng có nghĩa được cho bởi:

E [e(m)2] = E [x(m) – wTy2] = E [x2(m)] – 2 wT E [yx(m)] + wT E [yyT]w

= rxx(0) – 2wTryx + wTRyyw (2.5) Trong đó Ryy = E [y(m)yT(m)] là ma trận tự tương quan của tín hiệu đầu vào, rxy = E [x(m)y(m)] là vector tương quan chéo của tín hiệu đầu vào và tín hiệu

Trang 32

Với ryy (k), ryx(k) là các phần tử của ma trận tự tương quan Ryy và vector tương quan chéo rxytương ứng Từ biểu thức (2.5) bình phương sai số có nghĩa cho một bộ lọc FIR Wiener phương trình bậc II của vector hệ số w và có duy nhất một điểm cực tiểu

2.2.6 Biểu diễn bộ lọc Wiener trong không gian vector:

Để xác định bình phương tối thiểu sai số ước lượng sử dụng phép chiếu trong không gian vector Hãy hình dung bình phương tối thiểu sai số ước lượng như khoảng cách nhỏ nhất khi chiếu vuông góc vector tín hiệu mong muốn vào không gian vector của tín hiệu đầu vào Không gian vector là tập hợp của vô số các vector

có thể thu được bằng cách kết hợp tuyến tính một số vector độc lập

Hình 2.2 Phép chiếu để ước lượng bình phương tối thiểu sai số của

vector tín hiệu mong đợi x trên mặt phẳng chứa hai tín hiệu đầu vào y1 y2

Trang 33

Tương đương với:

⎢⎣y(N −1)⎢⎦ ⎢⎣y(N −2)⎢⎦ ⎣⎢ y(N − P) ⎦⎢

(2.7)

xˆ = w0 y0 + ww y1 + + wP −1 yP −1 (2.8)

Trong đó tín hiệu ước lượng là một tổ hợp tuyến tính của P vector cơ sở

[y0, y1,…,y P-1] cho nên từ giờ chúng ta có thể gọi ước lượng là không gian con

hình thành bởi các vector tín hiệu đầu vào [y 0, y 1, …,y P-1]

N là chiều của vector tín hiệu đầu vào [y 1 ,y 2, …,y P-1 ] trong biểu thức (2.8) định nghĩa vector cơ sở cho không gian con trong không gian tín hiệu N chiều Nếu P –

số lượng vector cơ sở bằng N – chiều vector, thì không gian con được định nghĩa bởi các vector tín hiệu đầu vào bao gồm không gian tín hiệu N chiều và toàn bộ các vector tín hiệu mong đợi x Trong trường hợp này, tín hiệu ước lượng = x và ước lượng lỗi bằng 0

Trong thực tế, N > P và không gian tín hiệu được định nghĩa bởi P vector tín hiệu đầu vào là không gian con duy nhất của không gian tín hiệu N chiều Khi đó sai số ước lượng chỉ bằng 0 khi và chỉ khi tín hiệu mong đợi x nằm trong không gian con của tín hiệu đầu vào Ngược lại sai số ước lượng tốt nhất là phép chiếu vuông góc của vector x lên không gian vector của tín hiệu đầu vào [y1,y2,…,yP-1]

2.2.7 Ứng dụng bộ lọc Wiener trong việc loại bỏ nhiễu cộng thêm:

Trang 34

Xét tín hiệu x(m) thu được trong dãy tín hiệu có lẫn nhiễu n(m) là:

Công thức trên đã được tối ưu cho bộ lọc tuyến tính trong việc loại bỏ các loại nhiễu cộng thêm

Hình 2.3 Độ biến thiên tần số Wiener tương ứng với phổ tín hiệu của

nhiễu cộng thêm (nhiễu trắng)

Trang 35

Trong đó X(f) và N(f) là phổ của tín hiệu và nhiễu cho tín hiệu quan sát được có dính nhiễu cộng thêm, bộ lọc Wiener trong miền tần số có công thức như sau:

Trong đó SNR là tỉ lệ giữa tín hiệu và nhiễu SNR(f) được biểu diễn dưới dạng

tỉ số độ lớn phổ, không phải là tỉ số của log độ lớn phổ cho nên SNR(f) = 0 thì phổ -

∞ dB

Hình 2.4 Tần số W(f) trong tương quan tỉ lệ SNR(f)

(a) phổ của tín hiệu và nhiễu không bị trùng lấp (overlap) cho nên tín hiệu

có thể được phục hồi bằng bộ lọc low- pass

(b) phổ của tín hiệu và nhiễu bị trùng lấp (overlap) cho nên nhiễu có thể

được loại bỏ nhưng không hoàn toàn

Đối với nhiễu cộng thêm, tần số đáp ứng của bộ lọc Wiener là một số thực xác định trong dãy 0≤ W(f) ≤ 1 Ở đây có 2 trường hợp xảy ra:

Trang 36

(i) Tín hiệu không nhiễu SNR(f) = ∞, trong trường này W(f) ≈ 0 ứng dụng của

bộ lọc ít, sự giảm thiểu tần số của tín hiệu không nhiễu gần như bằng 0

(ii) Tín hiệu có nhiễu lớn SNR(f) = 0, trong trường hợp này W(f) ≈ 1, bộ lọc

Wiener giảm tần số tương ứng theo tỉ lệ ước lượng giữa tín hiệu và nhiễu

Hình 2.5 Độ biến thiên giữa W(f) với SNR(f)

2.3 Cắt khung tín hiệu (signal window):

Tín hiệu sau khi được cải thiện bằng bộ lọc Wiener sẽ được chia thành các khung, mỗi một khung chứa N mẫu, các khung có độ dài xác định, thông thường vào khoảng 10 ~ 30 ms Có nhiều cách cắt khung tín hiệu khác nhau như cửa sổ Kaiser, cửa sổ Blackman, cửa sổ Hamming, cửa sổ Cosin…, mỗi cách cắt khung tín hiệu tương ứng với một hàm cửa sổ

Nghiên cứu này xác định được kích thước cho quá trình nhận dạng tiếng nói của một khung là 25 ms, khung sẽ thay đổi sau khoảng 2,5 ms Như vậy, khung chính là số mẫu thu được trong thời gian khảo sát (vào khoảng 25ms) Một ngữ âm được hình thành từ nhiều khung và các khung này có thể nằm chồng lên nhau Tuy nhiên, vùng chồng lấp giữa các khung không được vượt quá 75% diện tích khung

Trang 37

để đảm bảo tính chính xác Mục đích việc cắt khung tín hiệu do tiếng nói có dạng sóng và liên tục theo thời gian, để thực hiện quá trình xử lý trên dãy tín hiệu này là điều không thể vì nó thay đổi quá nhanh

Hình 2.6 Cắt khung tín hiệu

Phương pháp để xử lý là chúng ta sẽ phân tích phổ trong những khoảng thời gian ngắn trên những khung liên tiếp được cập nhật theo chu kỳ Cắt khung tín hiệu bằng cửa sổ Hamming nhằm khắc phục hiện tượng không mong muốn Gibbs và làm mịn các cạnh

Tiếp đến, mỗi khung sẽ được nhân với hàm cửa sổ Hamming để thực hiện biến đổi Fourier rời rạc trên từng khung Quá trình này nhằm tối thiểu hóa số điểm gián đoạn tại các vị trí bắt đầu và kết thúc khung

Trang 38

Hình 2.7 Cửa sổ Hamming chiều dài N

2.4 Phân tích Fourier – biến đổi Fourier rời rạc:

Bước kế tiếp sau khi cắt khung tín hiệu là xác định độ lớn phổ tín hiệu trên từng khung bằng cách thực hiện biến đổi Fourier rời rạc

Tín hiệu tiếng nói trong thế giới thực ở dạng sóng liên tục theo chu kỳ, sóng này

là tổng hợp của các sóng đường hình sin rời rạc có tần số, biên độ khác nhau, và pha của tín hiệu hình sin có tần số f tương ứng với biểu diễn đặc tính tần số, vì vậy tín hiệu có thể dùng để tổng hợp trở lại các tín hiệu hình sin ban đầu thông qua biến đổi Fourier Có 4 loại biến đổi Fourier tương ứng với 4 loại tín hiệu :

• Biến đổi Fourier (Fourier transform) dùng cho loại tín hiệu không chu kỳ

• Chuỗi Fourier (Fourier series) dùng cho loại tín hiệu liên tục có chu kỳ

• Biến đổi Fourier thời gian rời rạc (Discrete time Fourier transform) dùng cho loại tín hiệu rời rạc không chu kỳ

• Biến đổi Fourier rời rạc (Discrete Fourier transform DFT) dùng cho loại tín hiệu rời rạc có chu kỳ

Đối với bài toán nhận dạng tiếng nói thì phép biến đổi DFT sẽ được chọn lựa vì phù hợp nhất

Cơ bản về biến đổi Fourier:

Cho tín hiệu rời rạc x(n), phép biến đổi Fourier của x(n) được định nghĩa như sau:

Trang 39

Hình 2.8 Minh họa cho biến đổi Fourier

Như vậy phép biến đổi Fourier đã chuyển tín hiệu x(n) từ miền thời gian sang miền tần số ω (hay tần số f = ω/2π) Chúng ta sẽ dùng ký hiệu sau để mô tả

Phép biến đổi Fourier của tín hiệu x(n) :

x(n) Æ X(ejω)

Biểu diễn dưới dạng phần thực và phần ảo:

Bởi vì X(ejω) là một hàm biến phức nên ta có thể biểu diễn nó trong miền tần

số ω dưới dạng phần thực và phần ảo như biểu thức dưới đây:

Re[X(ejω)] là phần thực của X(ejω), Im[X(ejω)] là phần ảo của X(ejω)

Biểu diễn dưới dạng biên độ và pha:

X(ejω) làm một hàm biến số phức vậy ta có thể biểu diễn nó dưới dạng module

và argument như sau:

Trang 40

X (e jω

) e j arg[X ( e jω ) ]

(2.19) Phép biến đổi Fourier hội tụ khi và chỉ khi x(n) thoả mãn điều kiện:

Hình 2.9 Minh họa cho biến đổi Fourier được rời rạc hóa

Ngày đăng: 02/06/2015, 17:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Thanh Bình, Võ Nguyễn Quốc Bảo (2007), Xử lý âm thanh và hình ảnh, Trung tâm đào tạo bưu chính viễn thông, Hà Nội Sách, tạp chí
Tiêu đề: Xử lý âm thanh và hình ảnh
Tác giả: Nguyễn Thanh Bình, Võ Nguyễn Quốc Bảo
Nhà XB: Trung tâm đào tạo bưu chính viễn thông
Năm: 2007
2. Lê Hồng Phương, Nguyễn Thị Minh Huyền, Nguyễn Phương Thái, Phan Thị Hà (2010), Trích rút tự động văn phạm LTAG cho tiếng Việt, Đại học quốc gia Hà Nội, học viện công nghệ bưu chính viễn thông, Journal of computer science and cybermetics.Tiếng Anh Sách, tạp chí
Tiêu đề: Trích rút tự động văn phạm LTAG cho tiếng Việt
Tác giả: Lê Hồng Phương, Nguyễn Thị Minh Huyền, Nguyễn Phương Thái, Phan Thị Hà
Năm: 2010
3. B. Plannerer (2005), An introduction to speech recognition, plannerer@ieee.org, Munich Germany Sách, tạp chí
Tiêu đề: An introduction to speech recognition
Tác giả: B. Plannerer
Nhà XB: Munich Germany
Năm: 2005
4. Calvin Nkadimeng (2010), Language identification using Gaussian mixture models, Stellenbosch University Sách, tạp chí
Tiêu đề: Language identification using Gaussian mixture models
Tác giả: Calvin Nkadimeng
Nhà XB: Stellenbosch University
Năm: 2010
5. Christophe Patrick Jan Van Bael (2002), Using the keyword lexicon fro speech recognition, Department of Theoretical and Applied Linguistics, University of Edinburgh Sách, tạp chí
Tiêu đề: Using the keyword lexicon for speech recognition
Tác giả: Christophe Patrick Jan Van Bael
Nhà XB: Department of Theoretical and Applied Linguistics, University of Edinburgh
Năm: 2002
6. Daniel Povey (2004), Discriminative training for large vocabulary speech recognition, University of Cambridge Sách, tạp chí
Tiêu đề: Discriminative training for large vocabulary speech recognition
Tác giả: Daniel Povey
Năm: 2004
7. Luong Chi Mai, Dang Ngoc Duc (2006), Design of Vietnamese speech corpus and current status, Institute of Information Technology, Vietnamese Academy of Science and Technology, Alcatel, Viet Nam Sách, tạp chí
Tiêu đề: Design of Vietnamese speech corpus and current status
Tác giả: Luong Chi Mai, Dang Ngoc Duc
Năm: 2006
8. Mahadeva Prasanna, Yegnanarayana, Joel Praveen Pinto, Hynek Hermansky (2007), Analysis of confusion matrix to combine evidence for phoneme recognition, IDIAP Research Institute, 1920 Martigny Switzeland Sách, tạp chí
Tiêu đề: Analysis of confusion matrix to combine evidence for phoneme recognition
Tác giả: Mahadeva Prasanna, Yegnanarayana, Joel Praveen Pinto, Hynek Hermansky
Nhà XB: IDIAP Research Institute
Năm: 2007
9. Michael L. Seltzer (2000), Automatic detection of corrupt spectrographic features for robust speech recognition, Carnegie Mellon University, Pittsburgh Pennsylvania Sách, tạp chí
Tiêu đề: Automatic detection of corrupt spectrographic features for robust speech recognition
Tác giả: Michael L. Seltzer
Nhà XB: Carnegie Mellon University
Năm: 2000
10. Michael T. Johnson (2000), Incorporating prosodic information and language structure into speech recognition systems, Purdue University, West Lafavette Indiana Sách, tạp chí
Tiêu đề: Incorporating prosodic information and language structure into speech recognition systems
Tác giả: Michael T. Johnson
Nhà XB: Purdue University
Năm: 2000
11. Min Tang (2005),Large vocabulary continuous speech recognition using linguistic features and constraints, Massachusetts Institute of Technology, Massachusetts Sách, tạp chí
Tiêu đề: Large vocabulary continuous speech recognition using linguistic features and constraints
Tác giả: Min Tang
Nhà XB: Massachusetts Institute of Technology
Năm: 2005
12. Nguyen Hong Quang, Nocera Pascal, Castelli Eric, Trinh Van Loan (2006), Large vocabulary continuous speech recognition for VietNamese, a under- resourced language, Laboratoire informatique d’Avignon LIA, University of Avion, Avion, France Sách, tạp chí
Tiêu đề: Large vocabulary continuous speech recognition for VietNamese, a under- resourced language
Tác giả: Nguyen Hong Quang, Nocera Pascal, Castelli Eric, Trinh Van Loan
Nhà XB: Laboratoire informatique d’Avignon LIA
Năm: 2006
13. Nguyen Hong Quang, Nocera Pascal, Castelli Eric, Trinh Van Loan (2008), A novel approach in continuous speech recognition for VietNamese, an isolating tonal language, Laboratoire informatique d’Avignon LIA, University of Avion, Avion, France Sách, tạp chí
Tiêu đề: A novel approach in continuous speech recognition for VietNamese, an isolating tonal language
Tác giả: Nguyen Hong Quang, Nocera Pascal, Castelli Eric, Trinh Van Loan
Năm: 2008
14. P. Nedel (2004), Duration normalization for robust recognition of spontaneous speech via missing feature methos, Carnegie Mellon University, Pittsburgh Pennsylvania Sách, tạp chí
Tiêu đề: Duration normalization for robust recognition of spontaneous speech via missing feature methos
Tác giả: P. Nedel
Năm: 2004
15. Phillip James Hanna (1998), Improving speech recognition through statisticcal modelling of context and temporal dependency, The Queen’s university, Belfast Sách, tạp chí
Tiêu đề: Improving speech recognition through statistical modelling of context and temporal dependency
Tác giả: Phillip James Hanna
Nhà XB: The Queen’s university, Belfast
Năm: 1998
16. Stefan Ortmanns, Hermann Ney (1997), A word graph algorithm for large vocabulary continuous speech recognition, Aachen University of Technology, D- 52056 Aachen, Germany Sách, tạp chí
Tiêu đề: A word graph algorithm for large vocabulary continuous speech recognition
Tác giả: Stefan Ortmanns, Hermann Ney
Nhà XB: Aachen University of Technology
Năm: 1997

HÌNH ẢNH LIÊN QUAN

Hình 1.2. Mô tả của Mô hình ngữ âm. - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 1.2. Mô tả của Mô hình ngữ âm (Trang 15)
Hình 1.3: Một chuỗi Markov 3 trạng thái - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 1.3 Một chuỗi Markov 3 trạng thái (Trang 18)
Hình thành bởi các vector tín hiệu đầu vào [y 0, y 1, …,y P-1 ]. - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình th ành bởi các vector tín hiệu đầu vào [y 0, y 1, …,y P-1 ] (Trang 33)
Hình 2.3 Độ biến thiên tần số Wiener  tương ứng với phổ tín hiệu của - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 2.3 Độ biến thiên tần số Wiener tương ứng với phổ tín hiệu của (Trang 34)
Hình 2.4 Tần số W(f) trong tương quan tỉ lệ SNR(f) - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 2.4 Tần số W(f) trong tương quan tỉ lệ SNR(f) (Trang 35)
Hình 2.5 Độ biến thiên giữa W(f) với SNR(f)  2.3 Cắt khung tín hiệu (signal window): - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 2.5 Độ biến thiên giữa W(f) với SNR(f) 2.3 Cắt khung tín hiệu (signal window): (Trang 36)
Hình 2.7 Cửa sổ Hamming chiều dài N. - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 2.7 Cửa sổ Hamming chiều dài N (Trang 38)
Hình 2.8 Minh họa cho biến đổi Fourier. - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 2.8 Minh họa cho biến đổi Fourier (Trang 39)
Hình 2.9 Minh họa cho biến đổi Fourier được rời rạc hóa. - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 2.9 Minh họa cho biến đổi Fourier được rời rạc hóa (Trang 40)
Bảng 3.2 Lexicon mẫu cho một số từ. - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Bảng 3.2 Lexicon mẫu cho một số từ (Trang 48)
Hình 3.3 Câu &#34;tôi đi học&#34; được đọc rõ ràng - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 3.3 Câu &#34;tôi đi học&#34; được đọc rõ ràng (Trang 54)
Hình 3.2 Sóng của câu &#34;một chín sáu hai&#34; không bị ồn và nhiễu - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 3.2 Sóng của câu &#34;một chín sáu hai&#34; không bị ồn và nhiễu (Trang 54)
Hình 3.5 Câu “tôi đi học” khi đọc ngân dài - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 3.5 Câu “tôi đi học” khi đọc ngân dài (Trang 55)
Hình 3.4 Câu &#34;tôi đi học&#34; khi đọc quá nhanh - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 3.4 Câu &#34;tôi đi học&#34; khi đọc quá nhanh (Trang 55)
Hình 3.15 Một đồ thị từ cho từ vựng 3 từ (A, B, C) - Nhận dạng tiếng nói việt nam từ vựng lớn liên tục
Hình 3.15 Một đồ thị từ cho từ vựng 3 từ (A, B, C) (Trang 91)

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

🧩 Sản phẩm bạn có thể quan tâm

w