Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói speech recognition trên cơ sở lý thuyết hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm thương mại như
Trang 1LỜI CẢM ƠN Sau một thời gian tìm hiểu đề tài “ Nhận dạng tiếng nói sử dụng mạng NEURAL” Em đã hoàn thành tiến độ dự kiến Để đạt được kết quả này, em đã
nỗ lực thực hiện và đồng thời cũng nhận được rất nhiều sự giúp đỡ, quan tâm, ủng hộ của các Thầy Cô bạn bè và gia đình
Em xin chân thành cảm ơn giáo viên hướng dẫn: ThS Đỗ Huy Khôi –
Khoa Công nghệ Điện Tử Và Truyền Thông – Đại học công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã tận tình giúp đỡ em hoàn thành đồ án này
Em xin chân thành cảm ơn các Thầy Cô giáo thuộc Khoa Công nghệ Điện
Tử Và Truyền Thông đã trang bị cho em những kiến thức chuyên ngành rất hữu ích để em hoàn thành đồ án và phục vụ cho công việc của em sau này
Vì thời gian có hạn nên đồ án của em không thể tránh khỏi những thiếu sót, em rất mong được sự đóng góp ý kiến từ phía Thầy Cô và các bạn
Em xin chân thành cảm ơn !
Thái Nguyên, tháng 6 năm 2012
Sinh Viên thực hiện
Triệu Hà Quảng
Trang 2
LỜI CAM ĐOAN
Đồ án này đã được hoàn thành sau một thời gian nghiên cứu, tìm hiểu các
nguồn tài liệu, sách báo chuyên ngành và thông tin trên mạng mà theo em là hoàn
toàn tin cậy Nội dung đồ án được em tổng hợp lại từ các tài liệu tham khảo,
không sao chép toàn bộ các đồ án và các công trình nghiên cứu của các tác giả
khác Em xin chịu trách nhiệm về nội dung trong đồ án mình
Thái Nguyên, tháng 6 năm 2012 Sinh viên thực hiện
Triệu Hà Quảng
Trang 3
MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH 5
DANH MỤC TỪ VIẾT TẮT 7
MỞ ĐẦU 8
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NƠRON 10
1.1 Giới thiệu về mạng Nơron 10
1.2 Kiến trúc mạng Nơron 12
1.2.1 Mạng Perceptron tiến một lớp SLP 12
1.2.2 Mạng perceptron tiến nhiều lớp MLP 13
1.3 Đặc trưng của mạng Nơron 14
1.3.1 Tính chất phi tuyến 14
1.3.2 Tính chất tương ứng đầu vào- đầu ra 14
1.3.3 Tính chất thích nghi 15
1.3.4 Tính chất đưa ra lời giải có bằng chứng 15
1.3.5 Tính chất chấp nhận sai sót 15
1.3.6 Tính chất đồng dạng trong phân tích và thiết kế 16
1.4 Các phương pháp học 16
1.4.1 Học có giám sát 16
1.4.2 Học không có giám sát 16
1.4.3 Học tăng cường 17
CHƯƠNG 2: NHẬN DẠNG TIẾNG NÓI VÀ CÁC VẤN ĐỀ 18
2.1 Quá trình sản xuất tiếng nói và thu nhận tiếng nói của con người 18
2.2 Các âm thanh tiếng nói và các đặc trưng 19
2.2.1 Nguyên âm 19
2.2.2 Các âm vị khác 20
2.3 Khái niệm về nhận dạng tiếng nói 21
Trang 42.4 Các nguyên tắc cơ bản trong nhận dạng tiếng nói 23
2.5 Các phương pháp nhận dạng tiếng nói 23
2.5.1 Phương pháp âm học ngữ âm học 23
2.5.2 Phương pháp nhận dạng mẫu 25
2.5.3 Phương pháp trí tuệ nhân tạo 27
CHƯƠNG 3: NHẬN DẠNG TIẾNG NÓI SỬ DỤNG MẠNG NƠRON 29
3.1 Các mô hình nhận dạng tiếng nói 29
3.1.1 Mô hình Fujisaki 29
3.1.2 Mô hình Markov ẩn 31
3.2 Mô hình mạng Nơron 38
3.2.1 Phân tích tín hiệu tiếng nói 39
3.2.2 Huấn luyện mạng 45
3.3 Những thuận lợi và khó khăn trong nhận dạng tiếng Việt 56
CHƯƠNG 4: CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG NÓI 58
4.1 Giới thiệu Hàm và Toobox trong Matlab cần để xây dựng hệ thống nhận dạng tiếng nói bằng mạng Nơron 58
4.2 Xây dựng chương trình nhận dạng tiếng nói bằng mạng Nơron MLP 60
4.2.1 Các bước xây dựng 61
4.2.2 Chương trình nhận dạng phát âm mười chữ số tiếng Việt 66
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 72
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 73
Trang 5DANH MỤC HÌNH
Hình 1.1 Mô hình một Nơron nhân tạo 10
Hình 1.2 mạng Nơron perceptron đơn lớp 13
Hình 1.3 Mạng Nơron perceptron đa lớp 14
Hình 2.1 Sơ đồ biểu diễn quá trình sản xuất thu nhận tiếng nói của con người 18
Hình 2.2 Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói 22
Hình 2.3 Sơ đồ khối nhận dạng tiếng nói theo âm học- ngữ âm học 24
Hình 2.4 Hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu 26
Hình 2.5 Sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp từ trên xuống 27
Hình 3.1 Hệ thống nhận dạng tiếng nói sử dụng mô hình mạng Nơron 38
Hình 3.2 Sơ đồ tính toán các hệ số MFCC 39
Hình 3.3 tín hiệu tiếng nói trong khoảng thời gian dài 40
Hình 3.4 tín hiệu tiếng nói trong khoảng thời gian ngắn 40
Hình 3.5 Cửa sổ hamming 128 điểm 41
Hình 3.6 Tín hiệu bị thu nhỏ lại ở hai đầu do hamming 42
Hình 3.7 Tín hiệu không có cửa sổ hóa với biên độ phổ sau khi FFT 42
Hình 3.8 Tín hiệu có cửa sổ hóa bằng hamming với biên độ phổ sau khi FFT 43
Hình 3.9 Các băng lọc tam giác theo tần số Mel 43
Hình 4.1 Sơ đồ khối hệ thống nhận dạng tiếng nói các chữ số tiếng Việt bằng mạng Nơron MLP trên môi trường Matlab 62
Hình 4.2 Giải thuật cắt khoản lặng trong file wav 63
Hình 4.3 Giao diện chính của chương trình 66
Hình 4.4 Tạo mạng Nơron MLP 3 lớp 67
Hình 4.5 Chương trình huấn luyện mạng MLP 67
Hình 4.6 Chương trình nhận dạng từ file 68
Hình 4.7 Chương trình nhận dạng trực tiếp từ micro 68
Hình 4.8 Quá trình huấn luyện với đầu ra mong muốn là 1 69
Hình 4.9 Quá trình huấn luyện với đầu ra mong muốn là 2 69
Hình 4.10 File nhận dạng với đầu ra thực tế chữ số nhận được là 1 70
Trang 6Hình 4.11 File nhận dạng với đầu ra thực tế chữ số nhận được là 5 70
Trang 7DANH MỤC TỪ VIẾT TẮT
Fast Fourier Transform FFT Biến đổi Fourier nhanh
Simple Linear Perceptron SLP Mạng perceptron truyền thẳng một
lớp Multiple layer perceptron MLP Mạng perceptron truyền thẳng nhiều
lớp Recurrent neural networks RNN Mạng Nơron hồi quy
Melscale frequency cepstral coeficients MFCC Hệ số cepstral theo thang đo mel Expectation maximization EM Kì vọng cực đại
Linear predictive code LPC Hệ số dự đoán tuyến tính
Trang 8MỞ ĐẦU
Hiện nay, con người đang nghiên cứu phương thức hoạt động của bộ não, sau
đó áp dụng cho những công nghệ hiện đại Để tiếp cận khả năng học, người ta đưa ra mô hình mạng Nơron gồm các Nơron liên kết với nhau thành mạng mô phỏng theo cấu trúc mạng thần kinh của con người
Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói (speech recognition) trên cơ sở lý thuyết hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm thương mại như ViaVoice, Dragon,… các hệ thống bảo mật thông qua nhận dạng tiếng nói các hệ quay số điện thoại bằng giọng nói,… Triển khai những công trình nghiên cứu và đưa vào thực tế ứng dụng vấn đề này là một việc hết sức có ý nghĩa đặc biệt trong giai đoạn công nghiệp hóa, hiện đại hóa hiện nay của nước nhà
Mạng Nơron nhân tạo là công cụ tốt trong việc giải quyết các bài toán như: hợp và phân lớp đối tượng, xấp xỉ hàm, tối ưu hóa, định lượng vector, phân cụm
dữ liệu, Nó thay thế hiệu quả các công cụ tính toán truyền thống để giải quyết các bài toán này Cách ứng xử trên mạng Nơron nhân tạo giống như bộ não con người, nó chứng tỏ khả năng học, nhớ lại, và tổng quát hóa từ dữ liệu huấn luyện Nhận dạng là một lĩnh vực đóng vai trò quan trọng trong khoa học kỹ thuật Trong hầu hết các vấn đề kỹ thuật ngày nay, ta đều phải xác định, nhận dạng
được các mô hình và đối tượng liên quan, để từ đó tìm ra giải pháp
Hiện nay trên thế giới chương trình nghiên cứu mạng Nơron đang được phát triển rộng rãi ở các nước và nhiều tổ chức nghiên cứu Cũng đã có nhiều chương trình được công bố, như là nhận dạng tiếng nói được đưa vào để điều khiển robot
Ở Việt Nam thì chương trình nghiên cứu về mạng Nơron còn chưa được phát triển lắm so với các nước, và chưa có nhiều kết quả được công bố Đồng thời các ứng dụng của xử lý tiếng nói chưa nhiều
Lĩnh vực mạng Nơron và xử lý tiếng nói còn đang được phát triển, nghiên cứu các ứng dụng của nó ngày càng trở nên phổ biến và quan trọng Vì vậy, em
đã quyết định chọn đồ án: “Nhận dạng tiếng nói sử dụng mạng NEURAL”
Trang 9Nội dung của đồ án đi vào tìm hiểu về mạng Nơron và ứng dụng trong nhận dạng tiếng nói, phương pháp nhận dạng tiếng nói sử dụng mạng Nơron
Phương pháp phân tích cepstral theo thang đo mel MFCC (melscale frequency cepstral coefficients) được sử dụng trong việc trích trọn những đặc trưng cơ bản của tiếng nói
Mạng Nơron lan truyền ngược hướng (Back-propagation Neural Network) được sử dụng để học mẫu và ra quyết định đối tượng nhận dạng
Chương 1: Tổng Quan Về Mạng Nơron
Chương 2: Nhận Dạng Tiếng Nói Và Các Vấn Đề
Chương 3: Nhận Dạng Tiếng Nói Sử Dụng Mạng Nơron
Chương 4: Chương Trình Nhận Dạng Tiếng Nói
Trang 10
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NƠRON
1.1 Giới thiệu về mạng Nơron
Mạng Nơron (Neuron Network) là công cụ có khả năng giải quyết được nhiều bài toán khó, thực tế những nghiên cứu về mạng Nơron đưa ra một cách tiếp cận khác với những cách tiếp cận truyền thống trong lý thuyết nhận dạng Mạng Nơron nhân tạo mô phỏng hoạt động của các Nơron thần kinh, mạng Nơron nhân tạo là hệ thống bao gồm nhiều phần tử xử lý đơn giản (neuron) hoạt động song song Tính năng của hệ thống này tùy thuộc vào cấu trúc của hệ, các trọng số liên kết Nơron và quá trình tính toán lại các Nơron đơn lẻ Mạng Nơron
có thể từ dữ liệu mẫu và tổng quát hóa dựa trên các dữ liệu mẫu học
Hình 1.1 Mô hình một Nơron nhân tạo
Trang 11Một mô hình mạng Nơron có 3 thành phần cơ bản:
1 Một tập hợp các synapse hay các kết nối mà mỗi một trong chúng được đặc trung bởi một trọng số riêng của nó Tức là một tín hiệu tại đầu vào của các synapse j nối với Nơron k sẽ được nhân với trọng số synapse Ở đó k là chỉ số của Nơron tại đầu ra của synapse đang xét Các trọng số synapse có thể nhận cả giá trị âm và giá trị dương
2 Một bộ công cụ để tính tổng các tín hiệu đầu vào của Nơron, đã nhân với các trọng số synapse tương ứng, phép toán được mô tả ở đây tạo nên một tổ hợp tuyến tính
3 Một hàm kích hoạt (activation function) để giới hạn biên độ đầu ra của Nơron Hàm kích hoạt cũng được xem như một hàm nén, nó nén (giới hạn) phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu hạn Hàm kích hoạt có nhiều kiểu như: hàm ngưỡng, hàm vùng tuyến tính, hàm sigma, hàm tang hypebol Trong đó hàm tang sigmoid(1.1) hay log sigmoid(1.2) hay được dùng nhất
Synapse là thành phần liên kết giữa các Nơron, nó nối đầu ra của Nơron này với đầu vào của Nơron khác Đặc trưng của synapse là một trọng số mà mỗi tín hiệu đi qua đều được nhân với trọng số này Các trọng số chính là các tham số tự
Trang 12do cơ bản của mạng Nơron, có thể thay đổi được nhằm thích nghi với môi trường xung quanh
Mạng Nơron nhân tạo đang được ứng dụng rộng rãi trong các ngành kĩ thuật như: trong kỹ thuật điều khiển, mạng Nơron được ứng dụng để nhận dạng, dự báo và điều khiển các hệ thống động; trong điện tử viễn thông thì ứng dụng để xử
lý ảnh, nhận dạng ảnh và truyền thông; trong hệ thống điện thì ứng dụng để nhận dạng, dự báo và điều khiển các trạm biến áp
1.2 Kiến trúc mạng Nơron
Có rất nhiều kiểu kiến trúc mạng Nơron khác nhau như: mạng Nơron hồi quy, mạng tự tổ chức, mạng bán kính tâm, Support vector machines, Committee machines, Bản đồ tự điều chỉnh, Máy thống kê,… Nhưng thông dụng và đơn giản nhất vẫn là mạng Nơron truyền thẳng
Tiền đề của mạng Nơron truyền thẳng là mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960, vì là mạng truyền thẳng nên chỉ có một lớp vào
và một lớp ra, không có lớp ẩn Trên mỗi lớp này có thể có một hoặc nhiều Nơron Mạng này rất đơn giản vì thế nó được sử dụng để cho bất cứ ai mới đầu muốn tìm hiểu về mạng Nơron Perceptron nhiều lớp – multiple layer perceptron(MLP) được sử dụng rỗng rãi nhất
1.2.1 Mạng Perceptron tiến một lớp SLP
Mạng SLP(Simple Linear Perceptron) bao gồm lớp nút vào (input) và lớp nút ra (output) Với mỗi vector giá trị đầu vào, các giá trị input được đưa vào các nút input, và mạng ANN sẽ cho kết quả tương ứng tại các nút output Ký hiệu các nút đầu vào x là x , x … x , trong đó n là số lượng nút vào, các nút đầu ra y là
y , y … y , n là số lượng nút ra Mỗi nút input x liên hệ đều có một nối kết (connection hay synapses) với một nút output y Mỗi nối kết được gán một giá trị gọi là trọng số (synapses strength), ký hiệu và Các tín hiệu vào được lan truyền theo các nối kết và được nhân với các trọng số của các nối kết Tính toán lại lớp vào sẽ được lan truyền sang lớp kế tiếp và do vậy mạng được gọi là lan truyền thẳng (feed-forward)
Trang 13
Lớp Input
Lớp Output
Hình 1.2 mạng Nơron perceptron đơn lớp
Tại mỗi nút output của mạng, các tín hiệu vào sẽ được nhân với các trọng
số và sau đó được cộng lại thành giá trị output như được miêu tả bởi công thức sau:
y = ∑ w x (1.3)
Mô hình mạng Nơron của Rosenblatt sử dụng hàm ngưỡng đóng vai trò là hàm chuyển Do đó, tổng các tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của Nơron sẽ là 1, còn ngược lại sẽ là 0
Out = 1 nếu net ≥ θ
0 nếu net < với net = ∑ w x là tổng thông tin đầu vào của Nơron i
Trong đó, là trọng số liên kết từ Nơron j tới Nơron i, là đầu vào từ Nơron j, và là ngưỡng của Nơron i
1.2.2 Mạng perceptron tiến nhiều lớp MLP
Mạng perceptron tiến nhiều lớp MLP (MultiLayer Perceptron) là một trong những kiến trúc mạng căn bản nhất, ở đó các Nơron được chia thành từng mức
Có 3 loại mức: mức đầu vào bao gồm các nút nguồn(không phải là Nơron) cung cấp các tín hiệu đầu vào chung nhận được từ môi trường, mức đầu ra đưa các tín hiệu đầu ra cho môi trường và một hoặc nhiều lớp ẩn Mà các nút tính toán của chúng được gọi là các Nơron ẩn hay các đơn vị ẩn ( ẩn có nghĩa là không tiếp xúc với môi trường bên ngoài) Chức năng của các Nơron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu, bằng việc thêm một vài mức ẩn,
Trang 14mạng có khả năng rút ra được các thống kê bậc cao của tín hiệu đầu vào Khả năng các Nơron ẩn rút ra được các thống kê bậc cao đặc biệt có giá trị khi mức đầu vào có kích thước lớn Một vector đầu vào sẽ được đưa vào lớp vào (input) của mạng và sau đó các tính toán được thực hiện lan truyền thẳng (feed-forward)
từ lớp vào input sang các lớp ẩn và kết thúc ở lớp ra output Hàm kích hoạt kết hợp với các nút ẩn hay các nút output có thể là hàm tuyến tính hay phi tuyến và
có thể khác nhau giữa các nút
Lớp Input
Lớp Hidden
Hình 1.3 Mạng Nơron perceptron đa lớp
1.3 Đặc trưng của mạng Nơron
Sau khi tìm hiểu về cấu trúc cơ bản của các mạng Nơron, chúng ta có thể kể
ra một số đặc trưng ưu việt mà mạng Nơron có thể thu được từ việc mô phỏng trực tiếp bộ não con người như sau:
1.3.1 Tính chất phi tuyến
Một mạng Nơron, cấu thành bởi sự kết nối các Nơron phi tuyến thì tự nó sẽ
có tính phi tuyến Hơn nữa, điều đặc biệt là tính phi tuyến này được phân tán trên toàn mạng Tính phi tuyến là thuộc tính rất quan trọng, nhất là khi các cơ chế vật
lý sinh ra các tín hiệu đầu vào vốn là phi tuyến
1.3.2 Tính chất tương ứng đầu vào- đầu ra
Tính chất này này liên quan tới vấn đề “học” hay “tích lũy” của mạng Nơron Một mô hình học phổ biến được gọi là học với một người dạy hay học có
Trang 15giám sát liên quan đến việc thay đổi các trọng số synapse của mạng Nơron bằng việc áp dụng một tập hợp các mẫu tích lũy hay các ví dụ tích lũy Mỗi một ví dụ tích lũy bao gồm một tín hiệu đầu vào và một đầu ra mong muốn tương ứng Mạng Nơron nhận một ví dụ lấy một cách ngẫu nhiên từ tập hợp nói trên tại đầu vào của nó, và các trọng số synapse của mạng được biến đổi sao cho có thể cực tiểu hóa sự sai khác giữa đầu ra mong muốn và đầu ra thực sự của mạng theo một tiêu chuẩn thống kê thích hợp Như vậy mạng Nơron học từ các ví dụ bằng cách
xây dựng nên một tương ứng đầu vào- đầu ra cho vấn đề cần giải quyết
1.3.3 Tính chất thích nghi
Các mạng Nơron có một khả năng mặc định là biến đổi các trọng số synapse tùy theo sự thay đổi của môi trường xung quanh Đặc biệt, một mạng Nơron đã tích lũy để hoạt động trong một môi trường xác định có thể tích lũy lại một cách dễ dàng khi có những thay đổi nhỏ của các điều kiện môi trường hoạt động Khi hoạt động trong môi trường không ổn định, một mạng Nơron có thể được thiết kế sao cho có khả năng thay đổi các trọng số synapse của nó theo thời gian thực Tuy nhiên tính chất này không phải lúc nào cũng đem đến sức mạnh
mà nó có thể làm điều ngược lại
1.3.4 Tính chất đưa ra lời giải có bằng chứng
Trong ngữ cảnh phân loại mẫu, một mạng Nơron có thể được thiết kế để đưa ra thông tin không chỉ về mẫu được phân loại, mà còn về sự tin cậy của quyết định đã được thực hiện Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ hay nhập nhằng
1.3.5 Tính chất chấp nhận sai sót
Một mạng Nơron được cài đặt dưới dạng phần cứng, vốn có khả năng chấp nhận lỗi hay khả năng tính toán thô, với ý nghĩa là tính năng của nó chỉ thoái hóa (chứ không đổ vỡ) khi có những điều kiện hoạt động bất lợi Ví dụ, nếu một Nơron hay các liên kết kết nối của nó bị hỏng, việc nhận dạng lại một mẫu được lưu trữ sẽ suy giảm về chất lượng Tuy nhiên, do bản chất phân tán của thông tin lưu trữ trong mạng Nơron, sự hỏng hóc cũng được trải ra trên toàn mạng Như vậy, về cơ bản, trong trường hợp này một mạng Nơron sẽ thể hiện môt sự thoái
Trang 16hóa về tính năng hơn là sự đổ vỡ trầm trọng Để đảm bảo rằng mạng Nơron thực
sự có khả năng chấp nhận lỗi, có lẽ cần phải thực hiện những đo đạc hiệu chỉnh trong việc thiết kế thuật toán tích lũy mạng Nơron
1.3.6 Tính chất đồng dạng trong phân tích và thiết kế
Đặc tính này thể hiện một số điểm như sau :
Các Nơron dưới dạng này hoặc dạng khác biểu diễn một thành phần chung cho tất cả các mạng Nơron
Tính thống nhất đã đem lại khả năng chia sẻ các lý thuyết và các thuật toán học trong nhiều ứng dụng khác nhau của mạng Nơron
Các mạng tổ hợp có thể được xây dựng thông qua một sự tích hợp các mô hình khác nhau
có thể dùng được cho các nhiệm vụ
1.4.1 Học có giám sát
Một thành phần không thể thiếu của phương pháp này là sự có mặt của một người thầy (ở bên ngoài hệ thống) Người thầy này có kiến thức về môi trường thể hiện qua một tập hợp các cặp đầu vào - đầu ra đã được biết trước Hệ thống học (ở đây là mạng Nơron) sẽ phải tìm cách thay đổi các tham số bên trong của mình (các trọng số và các ngưỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầu vào thành các đầu ra mong muốn Sự thay đổi này được tiến hành nhờ việc
so sánh giữa đầu ra thực sự và đầu ra mong muốn
1.4.2 Học không có giám sát
Trong học không có giám sát, ta được cho trước một số dữ liệu x và hàm chi
Trang 17mạng, f – hàm chi phí được quyết định bởi phát biểu của bài toán Phần lớn các ứng dụng nằm trong vùng của các bài toán ước lượng như mô hình hóa thống kê,
Kêt luận chương:
Trong chương này đã giới thiệu một cách tổng quan về mạng Nơron, kiến trúc của mạng Nơron và những tính chất của mạng Nơron Cùng với mô hình mạng perceptron một lớp, đa lớp Ta thấy rằng mạng Nơron nhân tạo là một công
cụ mạnh và mềm dẻo để giải quyết các bài toàn có tính phi tuyến, phức tạp Vì vậy, khả năng ứng dụng của nó rất lớn ứng dụng vào các lĩnh vực như nhận dạng, điều khiển, dự báo… Trong chương tiếp theo, chúng ta sẽ tìm hiểu và nghiên cứu về nhận dạng tiếng nói và các vấn đề
Trang 18CHƯƠNG 2: NHẬN DẠNG TIẾNG NÓI VÀ CÁC VẤN ĐỀ
2.1 Quá trình sản xuất tiếng nói và thu nhận tiếng nói của con người
Hình 2.1 Sơ đồ biểu diễn quá trình sản xuất thu nhận tiếng nói của con người
Hình 2.1 đưa ra sơ đồ khối của quá trình sản xuất tiếng nói, nhận thức tiếng nói của con người Quá trình sản xuất tiếng nói bắt đầu khi người nói tạo ra một thông điệp ( trong ý nghĩ của anh ta) và muốn truyền tải nó cho người nghe thông qua tiếng nói Tổ chức thần kinh tương ứng chịu trách nhiệm tạo ra thông điệp dưới dạng văn bản biểu diễn các từ của thông điệp Bước tiếp theo của quá trình
là chuyên đổi thông điệp sang dạng một mã ngôn ngữ Điều này gần như tương đương với việc chuyển đổi các biểu diễn văn bản của thông điệp thành một chuỗi các âm vị tương ứng với các âm thanh tạo nên các từ, đồng thời với việc ghi nhận
âm điệu nhằm xác định sự kéo dài, sự nhấn mạnh, và trọng âm cao thấp của âm thanh Khi một mã ngôn ngữ đã được lựa chọn, người nói phải thực hiện một loạt các lệnh thần kinh vận động để làm cho các dây thanh dao động, đồng thời cấu trúc hình dạng ống dẫn âm nhằm phát ra một chuỗi các âm thanh Như vậy, đầu
ra cuối cùng của quá trình là một tín hiệu âm học Các lệnh thần kinh vận động
Trang 19phải điều khiển một cách đồng bộ tất cả các khâu vận động như sự hoạt động của môi, hàm, lưỡi…
Khi tín hiệu tiếng nói đã được sinh ra và được truyền cho người nghe, quá trình thu nhận tiếng nói ( hay nhận dạng tiếng nói ) bắt đầu Đầu tiên, người nghe
xử lý tín hiệu âm thanh thông qua màng nền của tai trong, nó có khả năng cung cấp một phân tích phổ cho tín hiệu tới Một quá trình xử lý thần kinh chuyển đổi tín hiệu phổ tại đầu ra của màng nền thành các tín hiệu hoạt động đối với thần kinh thính giác, có thể coi như đây quá trình lấy ra các đặc trưng Bằng một phương pháp đặc biệt, các tín hiệu hoạt động đi qua hệ thần kinh thính giác được chuyển đổi thành một mã ngôn ngữ cho những trung tâm xử lý cao cấp hơn bên trong bộ não, và cuối cùng là hiểu được nội dung thông điệp
Từ sự minh họa quá trình nhận dạng tiếng nói thông qua hệ thống thần kinh con người như trên, chúng ta có thể có một chút ý niệm về khả năng ứng dụng mạng Nơron nhân tạo trong việc mô phỏng một số tổ chức thần kinh như một phần của hệ thần kinh thính giác
2.2 Các âm thanh tiếng nói và các đặc trưng
2.2.1 Nguyên âm
Các nguyên âm có tầm rất quan trọng trong nhận dạng tiếng nói, hầu hết các
hệ thống nhận dạng dựa trên cơ sở nhận dạng nguyên âm đều có tính năng tốt Các nguyên âm nói chung là có thời gian tồn tại dài (so với các phụ âm) và dễ xác định phổ Chính vì thế dễ dàng cho việc nhận dạng tiếng nói, cả đối với con người và máy móc
Về mặt lý thuyết, các cực đại của biểu diễn phổ của tín hiệu nguyên âm chính
là các tần số cộng hưởng (formants) tạo nên nguyên âm Giá trị của các formant đầu tiên (2 hoặc 3 formant đầu tiên) là yếu tố quyết định cho phép chúng ta nhận dạng được nguyên âm Do nhiều yếu tố biến thiên như sự khác nhau về giới tính,
về độ tuổi, tình trạng tinh thần của người nói và nhiều yếu tố ngoại cảnh khác, đối với một nguyên âm xác định các giá trị formant cũng có sự biến thiên nhất định Tuy nhiên sự khác biệt về các giá trị các formant giữa các nguyên âm khác nhau lớn hơn nhiều, và trong không gian formant chúng ta có thể xác định một cách
Trang 20tương đối các vùng riêng biệt cho từng nguyên âm
2.2.2 Các âm vị khác
Nguyên âm đôi thì có sự biến thiên một cách liên tục các formant của biểu diễn phổ theo thời gian Đối với âm vị loại này, cần phải đặc biệt chú ý đến việc phân đoạn theo thời gian khi nhận dạng
Các bán nguyên âm như /l/, /r/ và /y/ là tương đối khó trong việc biểu diễn đặc trưng Các âm thanh này không được coi là nguyên âm nhưng gọi là bán nguyên âm
do bản chất tựa nguyên âm của chúng Các đặc trưng âm học của các âm thanh này chịu ảnh hưởng rất mạnh của ngữ cảnh mà trong đó chúng xuất hiện
Đối với các âm mũi thì miệng đóng vai trò như một khoảng cộng hưởng có tác dụng bẫy năng lượng âm tại một vài tần số tự nhiên Các tần số cộng hưởng này của khoang miệng xuất hiện như các phản cộng hưởng, hay các điểm không của hàm truyền đạt Ngoài ra, các phụ âm mũi còn được đặc trưng bởi những sự cộng hưởng mạnh hơn về phổ so với các nguyên âm
Các phụ âm xác vô thanh như /s/, /sh/ Hệ thống tạo ra các phụ âm xác vô thanh bao gồm một nguồn nhiễu tại một điểm thắt mà chia ống dẫn âm thành hai khoang
Âm thanh được bức xạ tại khoang trước Khoang sau có tác dụng bẫy năng lượng như trong trường hợp phụ âm mũi, và như vậy là đưa các phản cộng hưởng vào
âm thanh đầu ra Bản chất không tuần hoàn là đặc trưng cơ bản nhất của nguồn kích thích xác vô thanh
Điểm khác biệt của các âm xác hữu thanh như /v/, /th/ so với các phụ âm xác
vô thanh là ở chỗ có hai nguồn kích thích liên quan tới việc tạo ra chúng Như vậy đặc trưng của phụ âm xác hữu thanh là bao gồm cả hai thành phần kích thích tuần hoàn và nhiễu
Các âm dừng là các phụ âm /b/, /d/, /g/, /p/, /t/ và /k/ chúng có thời gian tồn tại rất ngắn Các âm dừng có tính chất động vì thế các thuộc tính của chúng chịu ảnh hưởng rất nhiều bởi nguyên âm đi sau nó
Trang 212.3 Khái niệm về nhận dạng tiếng nói
Nhận dạng tiếng nói tự động là một kỹ thuật nhằm làm cho máy “hiểu” được tiếng nói của con người Thực chất đây là một quá trình biến tín hiệu tiếng nói do người phát ra thành tín hiệu số sau đó sử dụng một số giải thuật để đối chiếu giữa tín hiệu thu được với các dữ liệu tham chiếu để xác định xem tín hiệu thu được tương ứng với dữ liệu tham chiếu nào trong bộ tham chiếu (từ điển nhận dạng) Kết quả của việc nhận dạng sau đó có thể được sử dụng trong các ứng dụng khác như nhập số liệu, soạn thảo văn bản bằng lời nói, điều khiển tự động…
Mục tiêu của hầu hết các chương trình nhận dạng tiếng nói là kết quả nhận dạng đạt đến độ chính xác 100% mà không phụ thuộc vào một điều kiện nào cả Tuy nhiên tất cả các nghiên cứu gần đây chỉ cho độ chính xác đến khoảng trên 90% trong một số điều kiện cụ thể nào đó còn những chương trình nhận dạng mà không có điều kiện giới hạn gì thì độ chính xác chỉ đạt không quá 87%
Các chương trình nhận dạng tiếng nói tự động hiện nay khá nhiều và hết sức
đa dạng Tuy nhiên chúng ta cũng có thể dựa vào một số đặc điểm để phân chúng thành một số dạng chủ yếu như:
1 Nhận dạng các từ phát âm rời rạc/liên tục
Trong các chương trình nhận dạng các từ phát âm rời rạc yêu cầu người nói phải dừng một khoảng trước khi nói từ tiếp theo Còn hệ thống nhận dạng các từ phát âm liên tục không yêu cầu điều kiện này
2 Nhận dạng tiếng nói độc lập/phụ thuộc người nói
Đối với hệ thống nhận dạng phụ thuộc người nói đòi hỏi tiếng người nói phải có trong cơ sở dữ liệu của hệ thống còn hệ thống nhận dạng không phụ thuộc người nói thì người nói không nhất thiết phải có mẫu trước khi nhận dạng trong cơ sở dữ liệu
3 Nhận dạng với từ điển cỡ nhỏ/vừa/lớn
Hiệu năng của một hệ thống nhận dạng với từ điển cỡ nhỏ thường cao hơn hiệu năng của các hệ thống nhận dạng có từ điển cỡ vừa và lớn
4 Nhận dạng trong môi trường nhiễu cao/thấp
Trang 22Hiệu năng của các hệ thống nhận dạng không nhiễu sẽ cao hơn hiệu năng của các hệ thống nhận dạng có nhiễu
Dưới đây là hình biểu diễn các phần tử cơ bản của một hệ thống nhận dạng tiếng nói
tín hiệu
đầu vào
Hình 2.2 Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói
Tín hiệu tiếng nói sau khi được số hóa sẽ phân thành các khung qua bước phân tích và xác định các đặc tính sẽ cho ta một dãy các vector đặc tính của tiếng nói Các vector này sau đó sẽ được sử dụng để tìm kiếm các từ giống nhất trong
từ điển dựa trên một số điều kiện ràng buộc nào đó về mặt âm thanh, ngữ nghĩa,
từ vựng…
Do tính chất của tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phân tích các đặc trưng của tiếng nói là việc không dễ dàng Ở đây, chúng ta có thể nêu ra một số yếu tố khó khăn cho bài toán nhận dạng tiếng nói:
Khi phát âm, người nói thường nói nhanh chậm khác nhau
Các từ được nói thường dài ngắn khác nhau
Một người cùng nói một từ nhưng ở hai lần phát âm khác nhau thì
cho kết quả phân tích khác nhau
Mỗi người có một chất giọng riêng được thể hiện thông qua độ cao của
âm, độ to của âm, cường độ âm và âm sắc
Những yếu tố như nhiễu của môi trường, nhiễu của thiết bị thu…
Mô hình ngôn ngữ
Mô hình
từ vựng
Mô hình hóa, phân lớp
Tìm kiếm đối sánh
Dữ liệu tiếng nói
Trang 232.4 Các nguyên tắc cơ bản trong nhận dạng tiếng nói
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản :
Tín hiệu tiếng nói được biểu diễn chính xác bởi giá trị phổ trong một khung thời gian ngắn Nhờ vậy ta có thể trích ra đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu nhận dạng tiếng nói
Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các kí hiệu ngữ âm Do đó ý nghĩa của một phát âm được bảo đảm khi chúng ta phiên âm phát âm thành dãy các kí hiệu ngữ âm
Nhận dạng tiếng nói là một quá trình nhận thức Ngôn ngữ nói là có nghĩa, do đó thông tin về ngữ nghĩa và suy đoán có giá trị trong quá trình nhận dạng tiếng nói
2.5 Các phương pháp nhận dạng tiếng nói
Hiện nay có 3 phương pháp chủ yếu được sử dụng trong nhận dạng tiếng nói là:
1 Phương pháp âm học- ngữ âm học
2 Phương pháp nhận dạng mẫu
3 Phương pháp ứng dụng trí tuệ nhân tạo
2.5.1 Phương pháp âm học ngữ âm học
Phương pháp này dựa trên lý thuyết về âm học-ngữ âm học Lý thuyết đó cho biết có sự tồn tại của các đơn vị ngữ âm trong ngôn ngữ tiếng nói, các đơn vị ngữ âm này được biểu diễn đặc trưng bởi một tập hợp những thuộc tính thể hiện trong tín hiệu âm thanh hay biểu diễn phổ theo thời gian Cách tiếp cận này có 2 bước:
Bước 1: phân đoạn và gán nhãn Gán một hoặc nhiều nhãn ngữ âm cho mỗi vùng phân đoạn dựa theo các thuộc tính âm học
Bước 2: nhận dạng tiếng nói Cố gắng xác định một từ hợp lệ (hay chuỗi
từ hợp lệ) từ một chuỗi các nhãn ngữ âm thu được từ bước 1 dựa trên cơ
sở các ràng buộc (về từ vựng và cú pháp) của tác vụ cần nhận dạng tiếng nói
Trang 24Sơ đồ khối của phương pháp này được biểu diễn bằng hình 2-3
Hình 2.3 Sơ đồ khối nhận dạng tiếng nói theo âm học- ngữ âm học
Nguyên lý hoạt động của phương pháp có thể mô tả như sau:
Trích chọn đặc trưng: Tín hiệu tiếng sau khi số hóa được đưa tới khối trích
chọn đặc trưng nhằm xác định các phổ tín hiệu Các kỹ thuật trích chọn đặc trưng
tiếng nói phổ biến là sử dụng mã hóa dự đoán tuyến tính (LPC)…
Tách tín hiệu tiếng nói: Nhằm biến đổi phổ tín hiệu thành một tập các đặc
tính mô tả các tính chất âm học của các đơn vị ngữ âm khác nhau Các đặc tính
đó có thể là: tính chất các âm mũi, âm xát, vị trí các formant, âm hữu thanh, vô
thanh, tỷ số mức năng lượng tín hiệu…
Phân đoạn và gán nhãn: Ở bước này hệ thống nhận dạng tiếng nói xác
định các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi
vùng này một nhãn phù hợp với đặc tính của đơn vị ngữ âm Đây là bước quan
trọng của hệ thống nhận dạng tiếng nói theo khuynh hướng âm học- ngữ âm học
và là bước khó đảm bảo tin cậy nhất
Nhận dạng : Chọn lựa để kết hợp chính xác các khối ngữ âm để tạo thành
các từ nhận dạng
Tiếng nói được nhận dạng Trích chọn
đặc trưng
Bộ tách đặc trưng
Bộ tách đặc trưng
Bộ tách đặc trưng
Phân đoạn
và gán đoạn
Lựa chọn Tín hiệu
tiếng nói
Trang 25Có rất nhiều vấn đề đối với một hệ thống nhận dạng tiếng nói theo hướng
âm học - ngữ âm học những vấn đề này bằng nhiều cách khác nhau nó ảnh hưởng tới hiệu quả của một hệ thống nhận dạng theo hướng này Những vấn đề đó là:
Cần có sự hiểu biết về các đặc tính âm học của các đơn vị ngữ âm Sự hiểu biết này không thể đầy đủ cho tất cả nhưng đối với một số trường hợp đơn giản thì có thể cho kết quả tốt
Sự chọn lựa các đặc trưng của tiếng nói hầu hết tùy thuộc vào một khía cạnh cụ thể mà ta quan tâm Chúng được chọn theo trực giác không tối
ưu và đầy đủ ý nghĩa
Việc thiết kế của các hệ thống phân lớp âm thanh cũng không tối ưu và hầu hết nó đều dựa trên cây nhị phân quyết định…
Không có một thủ tục tự động lựa chọn ngưỡng chính xác để làm căn
cứ cho việc gán nhãn Trên thực tế không có một phương pháp lý tưởng để gán nhãn cho tập huấn luyện
2.5.2 Phương pháp nhận dạng mẫu
Phương pháp nhận dạng mẫu sử dụng trực tiếp mẫu tiếng nói mà không cần phải xác định các đặc trưng hay phân đoạn một cách rõ ràng Trong hầu hết các hệ thống, nhận dạng mẫu bao gồm hai bước
Bước đầu tiên: là bước huấn luyện Ở bước này dựa trên nhiều phiên bản khác nhau của mẫu cần nhận dạng hệ thống tạo ra các mẫu tham chiếu dùng để so sánh với mẫu cần nhận dạng ở bước sau
Bước thứ hai: là bước nhận dạng Ở bước này mẫu cần nhận dạng được
so sánh với các mẫu tham chiếu để xác định xem nó “giống” mẫu tham chiếu nào nhất Mẫu tham chiếu giống nó nhất chính là kết quả nhận dạng
Tư tưởng của phương pháp này là nếu như có đủ các phiên bản khác nhau của mẫu cần nhận dạng thì thông qua bước huấn luyện hệ thống có thể xác định một cách chính các đặc trưng của mẫu Việc xác định các đặc trưng thông qua bước huân luyện được gọi là phân lớp mẫu Hiện nay, có hai phương pháp nhận
Trang 26dạng mẫu được sử dụng rỗng rãi đó là mô hình Markov ẩn và mạng Nơron Sơ đồ
khối của một hệ thống nhận dạng mẫu:
Hình 2.4 Hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu
Hệ thống bao gồm các hoạt động sau:
Trích chọn đặc trưng: Ở bước này dựa trên một số biện pháp phân tích để
xác định các đặc trưng của các mẫu Đối với các hệ thống nhận dạng tiếng nói có
hai phương pháp cơ bản là phương pháp phân tích hệ số phổ theo thang độ Mel
(MFCC) và phương pháp phân tích mã hóa dự đoán tuyến tính (LPC)
Huấn luyện mẫu: Nhiều mẫu tiếng nói ứng với các đơn vị âm thanh cùng
loại dùng để đào tạo các mẫu hoặc các mô hình đại diện, được gọi là mẫu tham
chiếu hay mẫu chuẩn
Phân lớp mẫu: Trong bước này, mẫu cần nhận dạng được so sánh với các
mẫu tham chiếu Ở đây, cần một thủ tục để tính khoảng cách cục bộ, và quy
chuẩn thời gian giữa các mẫu
Quyết định logic: Sau bước phân lớp mẫu ta có được điểm đánh giá sự
“giống” nhau giữa mẫu cần nhận dạng và mẫu tham chiếu Những thông số điểm
này sẽ được sử dụng để đưa ra quyết định là mẫu nào “giống” với mẫu cần nhận
dạng nhất
Đặc điểm của hệ thống nhận dạng mẫu:
Tính dễ sử dụng và dễ hiểu trong thuật toán
Huấn luyện mẫu
Các mẫu chuẩn/ các
mô hình
{các mẫu tham chiếu}
Quyết định logic Phân
Trang 27 Tính bất biến và khả năng thích nghi đối với những từ vựng, người sử dụng, các tập hợp đặc trưng, các thuật toán so sánh mẫu và các quy tắc quyết định khác nhau
Khẳng định tính năng cao trong thực tế
2.5.3 Phương pháp trí tuệ nhân tạo
Tiếp cận trí tuệ nhân tạo là tiếp cận cố gắng “máy móc hóa” chức năng nhận dạng theo cách mà con người áp dụng trí thông minh của mình trong việc quan sát, phân tích và thực hiện những quyết định trên các đặc trưng âm học của tín hiệu Phương pháp ứng dụng trí tuệ nhân tạo kết hợp các phương pháp trên nhằm tận dụng tối đa các ưu điểm của chúng Sơ đồ khối của phương pháp trí tuệ nhân tạo theo mô hình từ trên xuống (up-buttom)
Hình 2.5 Sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp từ
Trang 28Đặc điểm của hệ thống nhận dạng theo phương pháp này là:
Sử dụng hệ chuyên gia để phân đoạn và gán nhãn ngữ âm Điều này làm đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm
Sử dụng mạng Nơron nhân tạo để học mối quan hệ giữa các ngữ âm, sau
4 Kiến thức về ngữ nghĩa: Nhằm xác định tính logic của các câu đã được nhận dạng
Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào bộ nhận dạng tiếng nói
Phương pháp thông dụng nhất là xử lý “từ trên xuống” Theo cách này, tiến trình xử lý của hệ thống được triển khai tuần tự từ cao xuống thấp Trong Hình 2.5, các bước xử lý ở mức thấp (phân tích tín hiệu, tìm đặc tính, phân đoạn, gán nhãn) được triển khai trước khi thực hiện các bước xử lý ở mức cao (phân lớp âm thanh, xác định từ, xác định câu) Mỗi bước xử lý đòi hỏi một hoặc một số nguồn kiến thức nhất định Ví dụ: bước phân đoạn tiếng nói cần hiểu biết sâu sắc về đặc tính Âm học-Ngữ âm học của các đơn vị ngữ âm, bước xác định từ đòi hỏi kiến thức về từ vựng; bước xác định câu đòi hỏi kiến thức về mô hình ngôn ngữ (nguyên tắc ngữ pháp)
Trang 29CHƯƠNG 3: NHẬN DẠNG TIẾNG NÓI SỬ DỤNG MẠNG NƠRON
3.1 Các mô hình nhận dạng tiếng nói
3.1.1 Mô hình Fujisaki
Fujisaki là một mô hình định lượng dùng để mô hình hóa ngữ điệu Mô hình Fujisaki hướng vào việc mô hình hóa quá trình sinh ra tần số cơ bản F0, giải thích về mặt vật lý học, sinh lý học quá trình sinh ra F0 và các tính chất của quá trình đó Mô hình được áp dụng chủ yếu trong ứng dụng tổng hợp nhằm xây dựng phần ngữ điệu trong tiếng nói tổng hợp
Mô hình sinh ra F0 theo 3 công thức sau:
Các hằng số: Fb là giá trị khởi đầu của đường tần số cơ bản Fb là giá trị phụ thuộc vào người nói chứ không phụ thuộc vào các mẫu tiếng nói Giá trị α là tần số góc tự nhiên của lệnh ngữ Giá trị β là tần số góc tự nhiên của lệnh trọng
âm Giá trị γ là mức giá trị tương ứng với các thành phần trọng âm
Các đối số: I là số lệnh ngữ J là số lệnh trọng âm Api là cường độ của lệnh ngữ thứ i Aαj là biên độ của trọng âm thứ j T0i là thời điểm bắt đầu lệnh ngữ thứ i T1j và T2j là thời điểm bắt đầu và kết thúc thanh điệu ở lệnh trọng âm thứ j
Trong mô hình, đường F0 được xét ở miền logF0, mục đích của phép biến đổi này là làm cho giọng nói của nam và nữ giống nhau Theo ( 3.1) các giá trị α=2.0/s và β=20.0/s, trong một số trường hợp đặc biệt α=3.0/s Tuy nhiên theo quan sát thì α nằm trong khoảng [ 1.0;3.0], còn β thuộc khoảng [19.5;20.5] Các tham số Ap, α, β, Aα, T1, T2, Fb được gọi là các tham số Fujisaki và phương pháp phân tích tổng hợp bằng đường nét F0 sử dụng mô hình Fujisaki
Trang 30được gọi là phân tích Fujisaki Các tham số của mô hình có thể được sinh ra tự động bởi nhiều cách khác nhau tùy vào từng ngôn ngữ được phân tích
Phân tích thanh điệu tiếng Việt bằng mô hình Fujisaki
Cơ sở dữ liệu: để phân tích đường nét F0 của thanh điệu tiếng Việt và sự liên cấu âm giữa các thanh điệu liền kề, một tập gồm 72 câu nói, mỗi câu nói gồm 6 âm tiết được xây dựng từ câu gốc “ nha mai lăm nhan nhiêu ngô”, mỗi âm tiết trong câu gốc sẽ mang các thanh điệu khác nhau để thể hiện nhiều tổ hợp thanh điệu liền kề như:
1) “ Nhà mai lắm nhãn nhiều ngô”
2) “ Nhà mai lắm nhan nhiêu ngộ”
3) “ Nha mải lắm nhãn nhiều ngô”
Các câu được phát âm với giọng chuẩn miền Bắc bởi hai người một nam và một nữ Để đảm bảo tính tự nhiên của lời nói, hai người nói đều được chuẩn bị trước, các câu nói được phát âm nhiều lần và kiểm tra lại để chọn câu nói tự nhiên nhất
Phương pháp phân tích: để phân tích đường nét F0, phân tích các tham số
cả mô hình Fujisaki Fb được đặt bằng 96Hz cho giọng nam và 210 Hz cho giọng
nữ α và β cho cả giọng nam và giọng nữ được lần lượt đặt bằng 2Hz và 25Hz Các bước tiến hành phân tích bao gồm:
1) Tính đường nét F0
2) lựa chọn lệnh ngữ câu nói
3) Dựa vào thanh điệu của các âm tiết để lựa chọn các lệnh thanh điệu phù hợp
4) Điều chỉnh các tham số sao cho đường nét F0 sinh ra sấp xỉ F0 thực 5) Tổng hợp lại câu nói với đường nét thanh điệu mới sử dụng phương pháp PSOLA
6) Cảm nhận bằng tai câu nói tổng hợp, so sánh với câu nói gốc và điều chỉnh lại
Trang 31Kết quả phân tích thanh điệu bằng mô hình Fujisaki:
Phân tích cơ sở dữ liệu cho thấy, các thanh ngang, sắc, ngã được biểu diễn bằng một lệnh thanh điệu dương, thanh huyền và hỏi được biểu diễn bằng một lệnh thanh điệu âm, thanh nặng không cần lệnh thanh điệu
Ngang 1 lệnh thanh điệu dương ở trước âm tiết
Các câu được phân tích chỉ sử dụng một lệnh ngữ cho cả câu, phù hợp với hiện tượng trong câu nói, người nói thường lên giọng ở đầu câu và hạ giọng ở cuối câu Tuy nhiên trong tiếng Việt hiện tượng này không rõ rệt như các ngôn ngữ khác nên cường độ của lệnh ngữ này không lớn
Kết luận:
Mô hình về cơ bản không thể áp dụng cho bài toán nhận dạng tiếng nói được lí do chủ yếu là mô hình này thực chất tổng hợp đường F0 một cách tuyến tính Các kết quả phân tích thanh điệu tiếng Việt chứng tỏ rằng có thể áp dụng
mô hình Fujisaki vào việc mô hình hóa tiếng Việt Từ đó nâng cao chất lượng của hệ thống tổng hợp tiếng nói và các kết quả phân tích cũng có thể áp dụng kết quả tính toán ngữ âm học vào nhận dạng tiếng nói
3.1.2 Mô hình Markov ẩn
3.1.2.1 Mô hình Markov ẩn: ( Hidden Markov Model - HMM)
Mô hình Markov mà mỗi một trạng thái tương ứng với một sự kiện quan sát được mở rộng bằng cách các quan sát (observation) tương ứng với các trạng thái
là một hàm xác suất của các trạng thái Mô hình này gọi là mô hình Markov ẩn và
Trang 32đó là một quá trình ngẫu nhiên kép, trong đó có một quá trình ngẫu nhiên không quan sát được Tập các quan sát O được sinh ra bởi dãy các trạng thái S1, S2, ,
SN của mô hình, mà dãy các trạng thái này là không thấy được, đó chính là lý do
mô hình được gọi là mô hình Markov ẩn (hidden)
Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hình hóa được cho 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, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu
Mô hình Markvo ẩn sử dụng kĩ thuật lượng tử hóa vector dùng để lấy trung bình đặc tính của các frame cũng như đánh nhãn các vector
Mô hình Markvo ẩn được sử dụng rộng rãi trong nhận dạng tiếng nói vì nó có khả năng mô hình hóa thông tin theo thời gian của tín hiệu tiềng nói, trong khi đó mạng Nơron đã được chứng minh là một công cụ mạnh mẽ cho việc phân lớp tĩnh do bản thân mạng Nơron có tính phân biệt một cách tự nhiên Sự kết hợp giữa mạng Nơron với mô hình Markvo ẩn nhằm tăng độ chính xác nhận dạng
bộ các bộ mẫu
Các thành phần của HMM:
1, N là số trạng thái của mô hình, {1, 2,…, N} là các trạng thái, trạng thái ở thời điểm t là qt
2, M là số lượng quan sát phân biệt, ký hiệu tập các quan sát là V ={v1,
v2,…vM } Đối với tiếng nói, M là số lượng vector của code book sau khi lượng
tử hóa vector, còn vi là mã của từng vector
Trang 33i ở thời điểm t đến trạng thái j ở thời điểm t+1
a ij = P[q t+1 = j| q t =i] 1 ≤ i, j ≤N
Chú ý rằng ∑ ij=1 với mọi i,j Tổng quát từ một trạng thái có thể chuyển đến 1 một trạng thái bất kì, nghĩa là aij >0 với mọi i,j Tuy nhiên đối với tiếng nói có thể aij = 0 ở cặp i,j nào đó
4, Ma trận xác suất quan sát B ={bj(k)} ở đó bj(k) là xác suất tạo ra quan sát
vk khi mô hình đang ở trạng thái j
Có thể biểu diễn HMM bằng số lượng trạng thái N, số lượng quan sát M,
ba ma trận xác suất A, B, Mô hình này được gọi là ẩn vì không thể xác định được các trạng thái tạo ra tương ứng với các quan sát đã cho Ta kí hiệu HMM
là = ( A, B, )
3.1.2.3 Đánh giá xác suất
Muốn tính xác suất của quan sát O = ( o1, o2, …, oT ) tức là tính P(O| ) ta sử dụng các thuật toán sau:
Thuật toán tiến hay Baum-welch:
Khảo sát biến tiến αt(i) được định nghĩa như sau: αt(i) = P (o1, o2,…,ot, qt = i| ) tức là xác suất của miền quan sát o1, o2,…, ot ( đến thời điểm t) và trạng thái i ở thời điểm t, ứng với mô hình Ta có thể tính αt(i) bằng qui nạp như sau:
Bước 1: Khởi tạo
αt(i) = ibi(o1) 1 ≤ ≤N
Bước 2: Qui nạp
αt+1(j) = ∑ (i)α bj(ot +1) 1 ≤ t ≤ 1
Trang 341 ≤ ≤
Bước 3: Kết thúc
P(0│ ) = ∑ T(i)
Thuật toán lùi :
Tương tự ta định nghĩa biến lùi βt(i) như sau:
βt(i) = P( ot+1, ot+2, ,oT│qt = i, )
tức là xác suất của miền quan sát từ t+1 đến thời điểm T và trạng thái i ở thời điểm
t, ứng với mô hình
Ta có thể tính βt(i) bằng qui nạp như sau:
Bước 1: Khởi tạo:
ΒT(i) =1 1≤ ≤
Bước 2: Qui nạp:
βt(i) = ∑ ijbj (ot+1) βt+1(j) t = T-1, T-2,…1 1≤ ≤
Thuật toán này chỉ cần N2T phép tính và dùng cấu trúc lưới
Thuật toán Viterbi:
Thuật toán Baum-welch không xác định được mô hình đang ở trạng thái nào
Nhằm khắc phục trạng thái “ ẩn” này, ta sử dụng thuật toán Viterbi để tìm chuỗi trạng thái đơn tốt nhất q = ( q1,q2,… qT) ứng với chuỗi quan sát
O = (o1, o2,…., oT) đã cho Ta cần định nghĩa đại lượng
Thuật toán tìm chuỗi trạng thái tốt nhất được mô tả như sau:
Bước 1: Khởi tạo
δ(i) = b(o) 1≤ ≤
Trang 35Ψ1(i) = 0
Bước 2: Đệ qui
δt(j) = max [δt-1(i) αij] bj(ot) 2≤ ≤ 1≤ ≤
Ψt(j) = argmax ≪ ≪ [ ( ) ] 2≤ ≤
1≤ ≤
Bước 3: Kết thúc:
P* = max [δT(i)]
= arg max [δT(i)]
Bước 4: lần ngược con đường ( chuỗi trạng thái )
= ψt+1(q*t+1) t=T-1,T-2,….1
3.1.2.4 Ước lượng tham số
Khó khăn nhất của mô hình Markov ẩn là tìm ra phương pháp điều chỉnh tham số của mô hình (A,B, ) sao cho thỏa mãn tiêu chuẩn tối ưu nào đó Không có cách phân tích nào có thể điều chỉnh được tham số của mô hình sao cho đạt được xác xuất lớn nhất ứng với quan sát đã cho Tuy nhiên ta có thể chọn =( A,B, ) sao cho xác suất P(O, ) là cực đại địa phương theo phương pháp kì vọng cực đại-expectation maximization ( EM)
Ta cần định nghĩa các đại lượng:
Biến xác suất hậu nghiêm tức là xác suất ở trạng thái i tại thời điểm t, ứng với quan sát đã cho là O và mô hình
Trang 36∑ t(i) = kỳ vọng số lượng vị trí tại trạng thái i ứng với O
∑ t(i,j) = kỳ vọng số lượng vị trí từ trạng thái i tới trạng thái j ứng với O Tập các công thức ước lượng A, B và như sau:
i= kỳ vọng tần số ( số lần ) ở trạng thái i tại thời điểm