Tạo vector đặc trưng V(F0)

Một phần của tài liệu Nhận dạng tiếng Việt sử dụng biến đổi Wavelet và mô hình Markov ẩn (Trang 103)

Trong nhận dạng tiếng Trung Quốc (Mandarin), Yang et all định nghĩa vector đặc trưng như sau:

Công thức 5.1

bản F0 chúng tôi sử dụng vector đặc trưng cải tiến từ vector Mandarin có 10 thành phần như sau:

Công thức 5.2

Trong đó:

- ft là tần số cơ bản tại khung tín hiệu t. - ft+1 là tần số cơ bản tại khung tín hiệu t+1 - et là năng lượng tại khung tín hiệu t

- emax là năng lượng cực đại trong phần hữu thanh - d là chiều dài của phần hữu thanh (tính bằng số khung) - fmax là tần số cơ bản cực đại trong vùng hữu thanh - fmin là tần số cơ bản cực tiểu trong vùng hữu thanh

- fst là tần số cơ bản ở khung đầu tiên trong vùng hữu thanh - fed là tần số cơ bản ở khung cuối cùng trong vùng hữu thanh

5.4.4. Huấn luyện cho mô hình

Trong mô hình nhận dạng thanh điệu tiếng việt chúng tôi sử dụng 8 mô hình MM tương ứng cho 6 thanh điệu. Ở đây chúng tôi sử dụng 8 mô hình vì thanh có 5 có trường hợp là 5a và 5b, thanh 6 có 2 trường hợp là thanh 6a và 6b.

Hình 5.10: Quá trình khởi tạo các tham số

Các tham số của mô hình được khởi tạo theo thuật toán sau:

- Với mỗi mô hình, lấy tất cả các vector đặc trưng ứng với mô hình này

- Tất cả các vector được chia thành các đoạn bằng nhau tuỳ vào số trạng thái của mô hình.

- Ta tính các tham số thống kê (giá trị trung bình và phương sai) cho mỗi đoạn tương ứng với một trạng thái trong mô hình.

Sử dụng thuật toán Viterbi để phân đoạn lại, sau đó tính toán các tham số thống kê và cập nhật trở lại mô hình.

- Lặp lại bước cuối cho đến khi hội tụ.

5.4.5 Nhận dạng

Hình 5.11: Sơ đồ khối hệ nhận dạng thanh điệu tiếng Việt

Tín hiệu tiếng nói sau khi đã qua tiền xử lý, trích tần số cơ bản, tạo các vector đặc trưng dựa vào vector V(F0). Các vector đặc trưng này được đưa qua một bộ nhận dạng (sử dụng thuật toán Viterbi để tìm ra chuỗi trạng thái có xác suất lớn nhất) và đầu ra là kết quả nhận dạng. Tuy nhiên, vì thanh 5 và thanh 6 được chia thành 2 trường hợp, nên đến đây vẫn chưa phải là kết quả cuối cùng, ta phải dựa vào 2 luật sau để quyết định:

- nếu là thanh 5a hay thanh 5b đều quyết định là thanh 5 (thanh sắc) - nếu là thanh 6a hay 6b đều quyết định là thanh 6 (thanh nặng)

5.5 Các kết quả nhận dạng thanh điệu

Sử dụng mô Hình HMM 6 trạng thái, bỏ phần bắt đầu 10%, nhận dạng 8 mô hình cho 8 thanh (mỗi thanh sắc và nặng chia thành 2 trường hợp) , sau đó dùng luật quyết định để đưa ra kết luận cho 6 thanh.

Tách riêng huấn luyện 100 mẫu, test 100 mẫu đối với nhận dạng 6 thanh :

Kết quả:

Kết quả nhận dạng hệ thống nhận dạng thanh điệu cài đặt trên phần mềm MATLAB 7.0.1

Đúng 114 tiếng (95 %); Sai 5 tiếng (5 %)

Ngang Huyền Ngã Hỏi Sắc Nặng Tỉ lệ đúng Ngang 20 100 % Huyền 20 100 % Ngã 18 2 90 % Hỏi 1 18 1 90 % Sắc 1 1 18 90 % Nặng 20 100 %

Chương 6. XÂY DỰNG HỆ THỐNG NHẬN DẠNG TIẾNG VIỆT NGUYÊN TỪ RỜI RẠC HOÀN CHỈNH

6.1. Phương pháp sử dụng 6.1.1. Tổng quát 6.1.1. Tổng quát

Trong chương 5, chúng ta đã xây dựng hệ thống nhận dạng thanh điệu tiếng Việt với độ chính xác 95 %. Đó là một tỉ lệ khá cao so với các nghiên cứu về nhận dạng thanh điệu tiếng Việt. Tuy nhiên tỉ lệ này vẫn chưa đủ để ứng dụng trong một hệ nhận dạng tiếng Việt hoàn chỉnh.

Việc phân lớp thanh điệu thành 2 lớp thanh cao và thanh thấp đạt độ chính xác 99.8 % là rất cao. Vì vậy, chúng tôi ứng dụng modul nhận dạng thanh điệu vào việc phân lớp. Nhờ đó có thể nâng được số lượng từ trong từ điển lên đáng kể mà vẫn giữ được độ chính xác cao.

Hình 6.1 Mô hình tổng quát;(a) công đoạn huấn luyện; (b) công đoạn nhận dạng

6.1.2 Tiền xử lý

Tiếng nói được xử lý giống như trong hệ thống nhận dạng thanh điệu (Xem 5.3.1)

6.1.3 Huấn luyện mẫu

Bộ dữ liệu sau khi thu, được tạo thành 2 bộ từ điển tương ứng với 2 lớp thanh điệu: thanh cao và thanh thấp. Trong đó bộ từ điển thanh cao gồm: thanh sắc và thanh ngã, bộ từ điển thanh thấp gồm: thanh ngang (thanh không dấu), thanh huyền, thanh ngã, thanh hỏi, thanh nặng, thanh ngã. Ở đây chúng tôi phân thanh ngã ở cả hai từ điển, bởi vì:

- Theo tài liệu thống kê của I. S. Bystrov và M. V. Gordina (1976) thì tần số xuất hiện của thanh ngã là thấp nhất trong các thanh (chỉ 7%).

- Thanh ngã là thanh nếu chỉ phân lớp vào lớp thanh cao thì làm cho tỉ lệ nhận dạng đúng bị giảm xuống và ngược lại, vì sự biến đổi của nó chạy dài từ vùng tần số thấp đến vùng tần số cao.

Do đó cách giải quyết của chúng tôi là đưa thanh ngã vào cả hai bộ từ điển. Tín hiệu tiếng nói sau khi qua các bước tiền xử lý được tiến hành rút trích đặc trưng. Tất cả dãy dữ liệu của tín hiệu được phân khung và dùng SCWT phân tích thành các vector đặc trưng.

Các vector đặc trưng này sẽ được dùng để huấn luyện. Kết quả huấn luyện là các mô hình HMM cho các từ theo từng lớp từ điển. Ứng với mỗi lớp từ điển, chúng ta có một bộ các mô hình HMM.

Để sử dụng việc phân lớp, chúng tôi sử dụng đặc trưng F0. Theo khảo sát của luận văn, thanh điệu tiếng Việt được chia làm hai lớp phân tách nhau bỡi thanh ngang. Do đó, dữ liệu đưa vào sau khi tiền xử lý, chúng tôi tách riêng các từ thanh ngang đem trích F0. Giá trị trung bình của F0 của các thanh ngang sẽ là giá trị ngưỡng phân lớp. Giá trị này sẽ được cộng thêm P trong quá trình phân lớp, (P là phương sai của F0).

6.1.4 Công đoạn nhận dạng

Sau khi huấn luyện mẫu, ta sẽ có các bộ từ điển tương ứng với các lớp. Nếu mô hình HMM nhận dạng được X tiếng, và giả sử ta có thể phân các tiếng thành A lớp; như vậy tổng số từ vựng ta có thể nhận dạng được sẽ tăng lên khoảng ~ X*A tiếng.

Hình 6.3: Công đoạn nhận dạng

Bắt đầu công đoạn nhận dạng, tín hiệu tiếng nói sẽ được đưa qua bộ xác định lớp thanh điệu. Tại đây các công việc trích pitch và phân lớp sẽ được tiến hành.

Sau khi đã xác định được lớp, chương trình sẽ lấy bộ từ vựng tương ứng của lớp đó lên để tiến hành việc nhận dạng từ. Như vậy, thay vì phải nhận dạng X*A từ (sẽ vượt quá khả năng của mô hình HMM), chúng ta chỉ cần nhận dạng A từ của lớp thứ Xi.

Tóm lại, công đoạn nhận dạng ở đây chúng tôi chia làm hai bước: Bước 1: xác định lớp từ điển.

Bước 2: nhận dạng trong lớp từ điển đã xác định.

6.2 Cài đặt hệ thống nhận dạng tiếng Việt nguyên từ rời rạc hoàn chỉnh. 6.2.1 Môi trường xây dựng hệ thống 6.2.1 Môi trường xây dựng hệ thống

Để tận dụng sự hỗ trợ của MATLAB về các hàm toán học, các ToolBox Signal Processing, Wavelet, Statistics (HMM) chúng tôi chọn môi trường cài đặt hệ thống là MATLAB 7.01.

6.2.2 Bộ từ dùng cho huấn luyện và nhận dạng:

Bài toán nhận dạng ở đây phục vụ cho việc điều khiển Robot bằng tiếng nói bao gồm 6 từ điều khiển (trái, phải, tiến, lùi, thẳng, dừng) để điều khiển robot chuyển động theo các hướng.

Dữ liệu dùng để huấn luyện được thu với tần số lấy mẫu 16 KHz. Bộ từ dùng để huấn luyện điển gồm 6 từ thu từ 20 người nói khác nhau với tổng số từ là 120 từ. Bộ từ dùng cho nhận dạng độc lập với bộ từ dùng để huấn luyện với số lượng tương đương.

Trong đó:

Lớp 1 (nhóm thanh cao) gồm có thanh sắc, ngã: trái, tiến.

Lớp 2 (nhóm thanh thấp) gồm thanh ngang, huyền, ngã, hỏi, nặng.: phải, lùi, dừng, thẳng

6.2.3 Tạo vector đặc trưng V(SCWT)

Như trong 4.4.4 đã đề cập, MFCC và SCWT cho kết quả tương đương nhau nhưng MFCC có ưu điểm tính toán nhanh hơn. Mặc dù vậy với mong muốn đề xuất một phương pháp nhận dạng tiếng Việt mới, chúng tôi đã sử dụng SCWT làm vector đặc trưng cho hệ thống nhận dạng.

Các hệ số SCWT của các khung tiếng nói được đ ưa qua lọc thông thấp và hạ mẫu từ 16KHz xuống 100 Hz. Phân tích Ceptral được sử dụng để giảm số lượng hệ số SCWT xuống 12 hệ số Ceptral với độ tin cậy và tập trung cao hơn được sử dụng làm vector đặc trưng cho hệ thống nhận dạng.

6.2.4 Phân lớp

Trích F0 theo giải thuật dùng CWT trong 4.5.2

Giá trị trung bình của F0 của các thanh ngang sẽ là giá trị ngưỡng phân lớp. Giá trị này sẽ được cộng thêm P trong quá trình phân lớp, (P là phương sai của F0).

Theo khảo sát, giá trị phương sai của tần số cơ bản của thanh ngang: ở giọng nữ (8 – 16) Hz, ở giọng nam (20 – 24) Hz. Do dữ liệu tiếng nói trong từ điển là giọng nam nên chúng tôi chọn P = 20.

6.2.5 Mô hình HMM cho các từ nhận dạng

Hình 6.4 Mô hình ngôn ngữ của hệ nhận dạng

6.2.6 Kết quả nhận dạng

1. Bảng kết quả phân lớp thanh điệu:

Nhóm Nhóm thanh cao Nhóm thanh thấp Kết quả Nhóm thanh cao 98 2 98% Nhóm thanh thấp 1 99 99%

Bảng 6.1 Kết quả phân lớp thanh điệu

2. Kết quả nhận dạng tiếng:

Nhận dạng trên tập huấn luyện:

Trái Phải Tiến Lùi Thẳng Dừng Tỉ lệ đúng

Trái 20 100 % Phải 20 100 % Tiến 20 100 % Lùi 29 100 % Thẳng 20 100 % Dừng 20 100 %

Bảng 6.2 Kết quả nhận dạng trên tập dữ liệu huấn luyện

Nhận dạng trên tập dữ liệu mới:

Trái Phải Tiến Lùi Thẳng Dừng Tỉ lệ đúng Trái 19 1 95 % Phải 1 19 95 % Tiến 1 19 95 % Lùi 19 1 95 % Thẳng 1 19 95 % Dừng 20 100 %

Bảng 6.3 Kết quả nhận dạng trên tập dữ liệu mới

- Số tiếng sai: 5

- Số tiếng đúng: 95

KẾT LUẬN

1. Các kết quả đã đạt được của luận văn

Sau một thời gian tìm hiểu và nghiên cứu, dưới sự hướng dẫn và chỉ bảo tận tình của thầy hướng dẫn, TS. Trịnh Anh Vũ, tôi đã thực hiện được các mục tiêu của luận văn đã đề ra:

- Tìm hiểu, nghiên cứu tổng quan về nhận dạng tiếng nói, xử lý tiếng nói, rút trích vector đặc trưng.

- Nghiên cứu về biến đổi wavelet và ứng dụng trong nhận dạng tiếng nói - Nghiên cứu về mô hình Markov ẩn HMM

- Khảo sát về các đặc điểm ngữ âm của tiếng Việt như âm vị tiếng Việt, thanh điệu tiếng Việt

- Xây dựng hệ thống nhận dạng thanh điệu tiếng Việt theo chu kỳ pitch dùng mô hình HMM trái phải 5 trạng thái

- Xây dựng hệ thống nhận dạng tiếng Việt nguyên từ rời rạc có áp dụng phân lớp theo thanh điệu, dùng vector đặc trưng SCWT và mô hình HMM trái phải 5 trạng thái

- Xây dựng bộ tiền xử lý nâng cao chất lượng tiếng nói dùng kỹ thuật triệt nhiễu kết hợp kỹ thuật trừ phổ và kỹ thuật triệt nhiễu bằng wavelet.

Các thử nghiệm và cài đặt đều thực hiện trên môi trường MATLAB 7.0.1 do sự hỗ trợ tốt của MATLAB cho lập trình các hệ thống xử lý tín hiệu với các thư viện hàm toán học và các Toolbox: Signal Processing, Wavelet, Statistics (HMM).

Luận văn đã có những cải tiến từ các phương pháp đã được nghiên cứu và ứng dụng cho nhận dạng tiếng nói trong và ngoài nước để đề xuất một phương pháp nhận dạng thanh điệu tiếng Việt và từ rời rạc tiếng Việt hiệu quả. Các kết quả thực nghiệm thu được là rất khả quan và chứng tỏ phương pháp đề xuất là một phương pháp có triển vọng áp dụng cho các hệ nhận dạng tiếng Việt.

2. Những vấn đề còn tồn tại và biện pháp khắc phục

Luận văn còn một số hạn chế cần khắc phục trong quá trình nghiên cứu tiếp theo:

- Tốc độ thực thi là không tối ưu so với một số phương pháp nhận dạng không dùng Wavelet do khối lượng tính toán CWT là lớn. Vấn đề này không phái là quá quan trọng do tốc độ hiện nay của vi xử lý cũng như dung lượng bộ nhớ đang ngày càng được cải thiện đủ đáp ứng cho các hệ thống tính toán lớn.

- Số lượng mẫu được huấn luyện là nhỏ nên độ chính xác chưa cao. Biện pháp khắc phục là xây dựng bộ từ điển tiếng nói tiếng Việt đủ lớn dùng cho huấn luyện.

- Chưa áp dụng mô hình nhận dạng âm vị nên số lượng từ nhận dạng là giới hạn, không đáp ứng đầy đủ cho nhận dạng tất cả các từ tiếng Việt.

3. Các đề xuất

Với các kết quả nghiên cứu đã đạt được của luận văn, tôi có một số đề xuất về phương pháp nhận dạng thanh điệu tiếng Việt và nguyên từ tiếng Việt rời rạc: - Khối tiền xử lý: Áp dụng mô hình triệt nhiễu kết hợp kỹ thuật trừ phổ và wavelet. - Nhận dạng thanh điệu tiếng Việt dùng 8 mô hình HMM trái phải 6 trạng thái và vector đặc trưng Mandarin cải tiến.

- Nhận dạng nguyên từ với bộ từ N dùng N + 1 mô hình HMM trái phải 5 trạng thái và vector đặc trưng là các hệ số SCWT biến đổi qua miền Ceptral

- Kết hợp việc nhận dạng từ rời rạc với phân lớp từ theo thanh điệu bằng kỹ thuật trích F0 dùng CWT

4. Hướng phát triển

Hướng phát triển tiếp theo sẽ là tiếp tục hoàn thiện hệ thống nhận dạng theo phương pháp đề xuất. Thử nghiệm huấn luyện hệ thống với bộ từ điển mẫu lớn hơn, áp dụng mô hình HMM cho âm vị thay vì từ rời rạc.

Khi hệ thống đạt được độ chính xác cần thiết sẽ có thể được triển khai thực thi trên mô hình điều khiển Robot bằng tiếng nói tiếng Việt thời gian thực.

Do hiểu biết và kiến thức có hạn, đặc biệt trong điều kiện thời gian rất eo hẹp, vừa học tập, nghiên cứu vừa tham gia công tác giảng dạy, luận văn không thể

tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo của các thầy, các góp ý của các bạn để tôi có thể hoàn thiện luận văn và tiếp tục nghiên cứu sâu hơn về lĩnh vực nhận dạng tiếng Việt.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Hoàng Đình Chiến, Lê Tiến Thường (2005), “Nhận dạng tiếng Việt dùng mạng Neural kết hợp với trích đặc trưng LPC và AMDF”, Hội thảo CNTT Quốc Gia. [2] Hoàng Đình Chiến, “Nhận dạng tiếng Việt dùng mạng Neural kết hợp với trích đặc trưng LPC và AMDF”, Chuyên san Tạp chí BCVT.

[3] Hà Đình Dũng, Nguyễn Kim Quang (2003), “Xây dựng bộ giảm nhiễu sử dụng phương pháp trừ phổ ứng dụng trong hệ thống nhận dạng tiếng nói”, Báo cáo hội thảo quốc gia CNTT, Thái Nguyên

[4] Đỗ Xuân Đat, Võ Văn Tuấn (2003), Nghiên cứu các đặc trưng tiếng Việt áp dụng vào nhận dạng tiếng nói, Luận văn tốt nghiệp Cử nhân CNTT, Đại học KHTN TP Hồ Chí Minh.

[5] Đặng Ngọc Đức, “Ứng dụng mạng neural trong nhận dạng tiếng nói mười chữ số tiếng Việt”, Chuyên san Tạp chí BCVT.

[6] Đặng Ngọc Đức, “Gán nhãn âm vị trong quá trình xây dựng CSDL tiếng Việt”, Chuyên san Tạp chí BCVT.

[7] Đặng Ngọc Đức, Lương Chi Mai, “Tăng cường độ chính xác của mạng neural nhận dạng tiếng Việt”, Chuyên san Tạp chí BCVT.

[8] Nguyễn Hoàng Hải, Hà Trần Đức, Nguyễn Việt Anh (2005), Công cụ phân tích wavelet và ứng dụng trong MATLAB, NXB Khoa học kỹ thuật.

[9] Bùi Huy Hải (2004), Nén tín hiệu tiếng nói dùng biến đổi Wavelet, Luận văn thạc sỹ khoa học, ĐH Bách Khoa Hà Nội.

[10] Trịnh Văn Loan, Nguyễn Nam Hà, Phạm Việt Hà, “Xác đinh tham số đặc trưng của các nguyên âm không dấu tiếng Việt”, Chuyên san Tạp chí BCVT.

Một phần của tài liệu Nhận dạng tiếng Việt sử dụng biến đổi Wavelet và mô hình Markov ẩn (Trang 103)

Tải bản đầy đủ (PDF)

(120 trang)