Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,04 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ VĂN THỨC ỨNG DỤNG MƠ HÌNH MARKOV ẨN XÂY DỰNG HỆ THỐNG TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng - 2018 Cơng trình hồn thành TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS Ninh Khánh Duy Phản biện 1: TS Nguyễn Văn Hiệu Phản biện 2: TS Lê Xuân Vinh Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ ngành Khoa học máy tính họp Trường Đại học Bách khoa vào ngày 16 tháng năm 2018 Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu, Đại học Đà Nẵng Trường Đại học Bách khoa - Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa MỞ ĐẦU Lý chọn đề tài Tổng hợp tiếng nói (Speech synthesis/Text-To-Speech) lĩnh vực nghiên cứu từ hàng chục năm nay, với mục đích giúp giao tiếp người máy (Human-Machine Interface) trở nên tự nhiên dễ dàng Tuy trải qua chặng đường dài đến chất lượng âm độ tự nhiên tiếng nói tổng hợp cịn chủ đề đáng quan tâm Vì ứng dụng rộng rải, đặc biệt cho IoT nên tốn tổng hợp tiếng nói hãng cơng nghệ lớn tham gia nghiên cứu đầu tư Tổng hợp tiếng nói thực theo nhiều phương pháp như: tổng hợp mô hệ thống phát âm, tổng hợp tần số formant, tổng hợp dựa ghép nối, tổng hợp theo mơ hình Markov ẩn (Hidden Markov Model – HMM) Mỗi phương pháp có ưu nhược điểm riêng tuỳ vào mục đích sử dụng, lại phương pháp tổng hợp tiếng nói có mục đích tạo tiếng nói chất lượng dễ hiểu tự nhiên Từ năm 2000, tổng hợp tiếng nói dựa HMM nghiên cứu ứng dụng mạnh mẽ giới Ở Việt Nam, tổng hợp tiếng nói tiếng Việt dựa HMM nghiên cứu triển khai năm gần đây, với tham gia FPT, trung tâm nghiên cứu trường Đại học, Viện Công nghệ thông tin, Viện Hàn lâm khoa học Công nghệ Việt Nam đến đạt kết tương đối khả quan Nhằm tìm hiểu cơng nghệ tổng hợp tiếng nói dựa HMM áp dụng cho tiếng Việt, chọn đề tài nghiên cứu là: “Ứng dụng mơ hình Markov ẩn xây dựng hệ thống tổng hợp tiếng nói tiếng Việt” Mục đích ý nghĩa đề tài a Mục đích - Nghiên cứu lý thuyết HMM ứng dụng tổng hợp tiếng nói - Xây dựng cài đặt hệ thống tổng hợp tiếng nói tiếng Việt dựa HMM b Ý nghĩa khoa học thực tiễn đề tài - Đóng góp vào lĩnh vực nghiên cứu ứng dụng tổng hợp tiếng nói cho tiếng Việt - Dựa vào kết nghiên cứu xây dựng chương trình tổng hợp tiếng nói tiếng việt ứng dụng cho người tàn tật, truyền thông, Mục tiêu nhiệm vụ a Mục tiêu Mục tiêu đề tài nghiên cứu mơ hình Markov ẩn ứng dụng vào tổng hợp tiếng nói tiếng Việt, cụ thể: - Nghiên cứu mơ hình Markov ẩn - Xây dựng chương trình tổng hợp tiếng nói tiếng việt b Nhiệm vụ Để đạt mục tiêu đề nhiệm vụ cần thiết phải làm là: - Nghiên cứu lý thuyết mô hình Markov ẩn (HMM) ứng dụng HMM tổng hợp tiếng nói - Tìm hiểu đặc trưng ngữ âm âm vị tiếng Việt - Tìm hiểu HTS (HMM-based speech synthesis system) toolkit cho tổng hợp tiếng nói - Cài đặt chương trình huấn luyện HMM từ liệu tiếng nói - Cài đặt chương trình chuyển văn thành tiếng nói gồm mơ-đun: phân tích văn (chuyển văn thành biểu diễn ngơn ngữ) tổng hợp tiếng nói dùng HMM (chuyển biểu diễn ngơn ngữ thành tín hiệu tiếng nói) - Đánh giá độ tự nhiên dễ hiểu tiếng nói tổng hợp Đối tượng phạm vi nghiên cứu a Đối tượng - Các đặc trưng ngữ âm học âm vị học tiếng Việt - Các đặc trưng tín hiệu tiếng nói (phổ, tần số bản,…) - Các thuật toán học máy dùng HMM sinh tín hiệu tiếng nói từ HMM b Phạm vị Tiếng Việt Phương pháp nghiên cứu Phương pháp nghiên cứu kết hợp nghiên cứu lý thuyết thực nghiệm a Phương pháp lý thuyết - Thu thập tổng hợp tài liệu thơng qua báo, tạp chí khoa học, qua trao đổi với thầy hướng dẫn - Tìm hiểu cơng nghệ liên quan - Tìm hiểu đánh giá phương pháp áp dụng b Phương pháp thực nghiệm - Khảo sát phân tích phương pháp, mơ hình tổng hợp tiếng nói - Lựa chọn cách tiếp cận áp dụng thành công, tiến hành thử nghiệm với tiếng Việt - Nhận xét, đánh giá kết thử nghiệm Kết luận a Kết đề tài - Nắm vững sở lý thuyết tổng hợp tiếng nói nói chung tổng hợp tiếng nói tiếng Việt nói riêng - Nắm vững sở lý thuyết HMM - Đề xuất phương pháp tổng hợp tiếng nói tiếng Việt dựa HMM - Xây dựng hệ thống tổng hợp tiếng nói tiếng Việt b Hướng phát triển đề tài - Nghiên cứu phương pháp cải tiến chất lượng tiếng nói: thuật tốn trích đặc trưng tín hiệu, thuật tốn huấn luyện HMM - Xây dựng ứng dụng tổng hợp tiếng nói: đọc báo cho người khiếm thị, chuyển e-book thành sách nói (audiobook) Cấu trúc luận văn Chương 1: Tổng quan xử lý tiếng nói Chương 2: Tổng hợp tiếng nói từ văn dựa mơ hình Markov ẩn Chương 3: Xây dựng hệ thống tổng hợp tiếng nói tiếng Việt Chương 4: Kết thực nghiệm Chương - TỔNG QUAN VỀ XỬ LÝ TIẾNG NÓI 1.1 Giới thiệu Tiếng nói phương tiện giao tiếp người với người, kể từ công nghệ xử lý tiếng nói phát triển người cịn giao tiếp với máy thay cho phương pháp giao tiếp thông qua thiết bị giao tiếp bàn phím, chuột, hình, … Vì vấn đề xử lý tiếng nói đóng vai trò quan trọng vấn đề giao tiếp Trên giới, lĩnh vực xử lý tiếng nói nghiên cứu phát triển từ năm 1971 đạt nhiều thành tựa định, nhiên, tiếng Việt nghiên cứu phát triển khoảng 10 năm trở lại Những nghiên cứu liên quan trực tiếp tới kết chuyên ngành xử lý tiếng nói, có tổng hợp tiếng nói Xử lý tiếng nói nghiên cứu tín hiệu tiếng nói người phương pháp xử lý tín hiệu tiếng nói Tín hiệu tiếng nói thường biểu diễn dạng số việc xử lý tiếng nói bao gồm xử lý tín hiệu số xử lý ngơn ngữ tự nhiên 1.2 Ngữ âm Tiếng Việt 1.2.1 Âm vị Về mặt ngơn ngữ học, xem tiếng nói chuỗi âm gọi âm vị Âm vị đơn vị ngôn ngữ trừu tượng khơng thể quan sát trực tiếp tín hiệu tiếng nói Nhiều âm vị khác kết hợp với cách để tạo âm khác 1.2.2 Nguyên âm Nguyên âm xác định hốc cộng hưởng khoang miệng hốc yết hầu-nguồn gốc Formant Việc xác định thể tích, hình dáng, lối khơng khí hốc cộng hưởng này, tức xác định khả cộng hưởng chúng, mơ tả độ mở miệng, vị trí lưỡi hình dáng mơi 1.2.3 Phụ âm Đặc điểm phụ âm cấu tạo luồng khơng khí bị cản trở, cản trở diễn với mức độ khác nhau, cách thức khác phận khác quan phát âm Phụ âm đuợc chia phụ âm tắc (như „p‟, „t‟, „đ‟, „b‟) phụ âm xát (như „v‟, „s‟, „x‟) 1.2.4 Cấu trúc âm tiết Mỗi âm tiết tiếng Việt khối hoàn chỉnh phát âm Âm tiết phát âm liền có cấu tạo ghép chứa ba phận: điệu, phần đầu(âm đầu) phần sau(Vần) Bảng sau cho hình dung rõ cấu tạo âm tiết tiếng Việt: Bảng 1.1 Cấu trúc âm tiết tiếng Việt Thanh điệu (Tone) Vần (Final) Âm đầu Âm đệm Âm Âm cuối (Initial) (Onset) (Nucleus) (Coda) 1.2.5 Ánh xạ chữ sang âm vị Trong tiếng Việt, để phân tích âm tiết (dạng text) thành chuỗi âm vị, ta phải xây dựng bảng ánh xạ chữ sang âm vị dựa tài liệu chuẩn ngữ âm tiếng Việt Bảng 1.2 Bảng ánh xạ chữ sang âm vị tiếng Việt Vị trí âm tiết Âm đầu Âm đệm Âm cuối Chữ m n nh ng ngh b p đ t th tr ch c k q v ph d gi x r s g gh kh h l (khơng có) u o m n ng nh p Âm vị (theo phiên âm quốc tế IPA) m n ɲ ŋ ŋ b P d t tʰ ʈ c k k k v f z z s ʐ ʂ ɣ ɣ x h l Âm vị (tự mã hoá) m n nj N N b p d t tH tr c k k k v f z z s zr sr G G x h l ma na nhà ngà nghĩ bán pa đài tàn thu chán kiêu qua vũ phở dì gió xem gái ghiền khn hát lan ʔ Q ùa u u m n ŋ ŋ p w w m n N N p quà hoa am hàn vàng vành áp Âm tiết ví dụ Vị trí âm tiết Âm trung tâm Chữ t c ch i y o u u ô â oo i y ê e ă iê ia yê ya uô ua ươ ưa o a Âm vị (theo phiên âm quốc tế IPA) t k k i i u u u ɯ o ɤ ɤ ɔ i i e ɛ ă ie ie ie ie uo uo ɯɤ ɯɤ ɔ, ɔ ɛ, a, ă Âm vị (tự mã hoá) t k k ji ji wu wu u W o oU oUs O i i e E as ie ie ie ie uo uo WoU WoU O, Os Es, a, as Âm tiết ví dụ lát dịch hay hào hàu hù hư cớ bất xoong ly khế hè điền vía u khuya khn cua lươn lựa to, vòng xanh, ba, hay Bảng sở để đưa thuật toán chuyển âm tiết thành chuỗi âm vị phần 3.1.6 1.3 Phân loại âm vị theo đặc trưng âm học Vì âm phát từ kết hợp nhiều phận, âm lần nói khác khác dẫn đến khó khăn ta muốn phân chia tiếng nói theo đặc tính riêng Người ta chia tiếng nói thành loại sau: 1.3.1 Âm hữu Là âm phát có thanh, ví dụ nói “i”, “a”, hay “o” chẳng hạn Trong ngôn ngữ, nguyên âm chất âm học âm hữu 1.3.2 Âm vô Được tạo dây âm không rung Có hai loại âm vơ bản: âm xát âm bật Đối với âm xát, ví dụ nói “s”, “x”, số điểm phận phát âm bị co lại luồng khơng khí ngang qua nó, hỗn loạn xảy tạo nên nhiễu ngẫu nhiên Đối với âm bật hơi, ta nói „h‟ hung?, hỗn loạn xảy gần môn dây âm bị giữ nhẹ phần Trường hợp này, cộng hưởng phận phát âm biến điệu phổ nhiễu ngẫu nhiên Hiệu ứng nghe rõ nói thầm Cấu tạo phụ âm ngôn ngữ âm vô 1.4 Các thành phần ngữ điệu tiếng nói 1.4.1 Cao độ (pitch f0) Trong số yếu tố ngôn điệu, thay đổi cao độ rõ ràng, dễ thấy Các thay đổi hợp thành đường cao độ lời nói (hay đường F0 tín hiệu tiếng nói) 1.4.2 Trường độ Trường độ ngơn điệu quan tâm đến độ dài câu, từ, âm tiết, âm vị âm tiết Độ dài âm tiết lời nói phụ thuộc (phụ thuộc phụ thuộc lẫn nhau) vào số yếu tố tốc độ nói, nhịp điệu, chất ngữ âm, 1.4.3 Cường độ Là thuộc tính ngơn điệu mô tả từ nghiên cứu ngôn điệu ngữ âm học Người ta cho liên quan đến âm lượng (loudness) lực âm vị (phonology force) 1.5 Phân tích tiếng nói 10 giả thiết khoảng thời gian tính chất dạng sóng tín hiệu tiếng nói tương đối ổn định Khoảng nhỏ tín hiệu dùng để phân tích thường gọi khung (frame), hay đoạn (segment) 1.6 Các tham số tiếng hiệu tiếng nói 1.6.1 Tần số formant Các formant tần số cộng hưởng tuyến âm (vocal tract), thường thể biểu diễn phổ chẳng hạn biểu diễn spectrogram vùng có lượng cao, chúng biến đổi chậm theo thời gian theo hoạt động máy phát âm a) Xác định formant từ phân tích STFT Các phân tích STFT tương tự rời rạc trở thành công cụ cho nhiều phát triển phân tích tổng hợp tín hiệu tiếng nói Dễ dàng thấy STFT trực tiếp chứa thông tin formant biên độ phổ b) Xác định formant từ phân tích LPC Một lợi điểm sử dụng phương pháp phân tích LPC để phân tích formant tần số trung tâm formant băng tần chúng xác định cách xác thơng qua việc phân tích nhân tử đa thức dự đốn 1.6.2 Tần số (F0) Chu kỳ T0: dây rung với chu kỳ T0 thơng lượng biến đổi tuần hoàn theo chu kỳ ta gọi T0 chu kỳ Giá trị nghịch đảo T0 F0=1/T0 gọi tần số tiếng nói Sự biến đổi F0 có tính định đến điệu từ ngữ điệu câu 11 Chương - TỔNG HỢP TIẾNG NÓI TỪ VĂN BẢN DỰA TRÊN MƠ HÌNH MARKOV ẨN 2.1 Giới thiệu Một hệ thống THTN dựa mơ hình HMM điển hình bao gồm hai phần: huấn luyện mơ hình (training) tổng hợp tiếng nói (synthesis), thể hình 2.1 Trong phần huấn luyện, trước tiên tham số phổ (ví dụ hệ số mel-cepstral) tham số kích thích (ví dụ tần số F0) trích xuất từ liệu tiếng nói mẫu Sau tham số trích xuất mơ hình hóa mơ hình HMM phụ thuộc ngữ cảnh Mơ hình trường độ phụ thuộc ngữ cảnh tính tốn giai đoạn Trong phần tổng hợp, văn đầu vào cắt thành câu câu chuyển thành chuỗi nhãn âm vị phụ thuộc ngữ cảnh nhờ mơ-đun phân tích văn Sau đó, HMM mức câu tạo cách ghép nối HMM mức âm vị phụ thuộc ngữ cảnh lại với Các tham số tiếng nói (phổ, nguồn kích thích, trường độ) sinh từ HMM mức câu thuật toán tạo tham số dựa tiêu chuẩn xác suất cực đại Cuối cùng, tín hiệu tiếng nói tổng hợp trực tiếp từ tham số phổ nguồn kích thích sử dụng lọc tổng hợp tiếng nói Hình 2.1 Tổng hợp tiếng nói dựa mơ hình Markov ẩn 12 2.2 Framework phân tích/tổng hợp tiếng nói Trong mơ hình này, tín hiệu tiếng nói giả định đầu hệ thống (còn gọi lọc) tuyến tính bất biến theo thời gian, hệ thống bị kích thích tín hiệu kích thích (cịn gọi nguồn) cách luân phiên thay đổi hai nguồn: xung tuần hoàn cho âm hữu (voiced speech) nhiễu trắng cho âm vô (unvoiced speech) Tín hiệu kích thích e(n) mơ cho luồng khơng khí dây âm (bộ phận phát tiếng nói quản), lọc h(n) mô hiệu ứng cộng hưởng tuyến âm (vocal tract) trình phát âm người Để tạo tín hiệu tiếng nói giống với tiếng nói tự nhiên, nguồn kích thích thuộc tính lọc tuyến âm phải thay đổi theo thời gian Hình 2.2 Mơ hình nguồn-bộ lọc mơ cách Hình 2.3 người phát âm Để tổng hợp tiếng nói từ tham số nguồn kích thích tham số phổ, lọc tổng hợp phải xây dựng dựa hệ số phổ mel-cepstral Ở đây, lọc MLSA (Mel Log Spectrum Approximation) sử dụng để tổng hợp tín hiệu tiếng nói từ hệ số mel-cepstra thu 2.3 Giai đoạn huấn luyện mơ hình Phần mơ tả cách tham số phổ, F0 trường độ mơ hình hoá đồng thời tảng hợp mơ hình HMM theo tiêu chuẩn cực đại hố xác suất (Maximum Likelihood) 13 2.3.1 Mơ hình hố phổ HMM có phân bố xác suất liên tục a) HMM có phân bố xác suất liên tục HMM máy trạng thái hữu hạn tạo chuỗi quan sát, nhiên, trạng thái bị ẩn (tức quan sát được) Hiểu theo tốn học, HMM q trình ngẫu nhiên kép, trạng thái HMM đơn vị thời gian thay đổi theo xác suất chuyển đổi trạng thái, sau quan sát tạo thông qua hàm phân bố xác suất sinh quan sát ứng với trạng thái a22 a11 1 a12 b1 (ot ) o1 o2 o3 o4 o5 a33 a 23 b2 (ot ) ・ ・ b3 (ot ) oT Hình 2.3 Một HMM có trạng thái (không bỏ qua trạng thái từ trái sang phải) sinh chuỗi quan sát Đối với việc sử dụng HMM mơ hình hóa tượng thực tế, cần giải cách hiệu ba vấn đề sau đây, có giải pháp tốn học trình bày chi tiết trong: Vấn đề (tính xác suất): cho mơ hình HMM , làm để tính xác suất P(O | ) chuỗi quan sát O (o1 , o2 , , oT ) Vấn đề (xác định chuỗi trạng thái tối ưu): cho mơ hình HMM , làm để xác định chuỗi trạng thái tối ưu q (q1 , q2 , , qT ) sinh chuỗi quan sát O (o1 , o2 , , oT ) ? Vấn đề (tính tham số mơ hình): cho chuỗi quan sát O (o1 , o2 , , oT ) , làm để xác định tham số mơ hình A, B, π cho cực đại hóa xác xuất P(O | ) ? 14 b) Huấn luyện HMM theo tiêu chuẩn xác suất cực đại (maximum likelihood) Khơng có lời giải cho vấn đề (cịn gọi tốn huấn luyện mơ hình) để tìm tập hợp tham số mơ hình A, B, π cho cực đại hoá xác suất toàn cục chuỗi quan sát cho trước O (o1 , o2 , , oT ) : ˆ arg max P(O | ) arg max P(O, q | ) , all q q biểu thị chuỗi trạng thái có thể, biến ẩn Tuy nhiên, tham số mơ hình cực đại hố xác suất cục P(O | ) thu cách sử dụng thủ tục lặp ví dụ thuật tốn cực đại hóa kỳ vọng (Expectation-Maximization (EM)) Thuật toán kỹ thuật dùng rộng rãi thống kê học máy để giải tốn tìm xác suất cực đại mơ hình xác suất có biến ẩn trạng thái HMM 2.3.2 Mơ hình hố F0 HMM có phân bố xác suất đa khơng gian Chúng ta mơ hình hố chuỗi tham số phổ có số chiều cố định dùng hàm phân bố xác suất Gauss liên tục Tuy nhiên, khó để sử dụng phân bố xác suất rời rạc liên tục để mơ hình hố tham số có số chiều biến đổi tần số (F0) Đường F0 trích xuất từ tín hiệu tiếng nói bao gồm quan sát có giá trị thực đoạn tiếng nói hữu có giá trị khơng xác định đoạn tiếng nói vơ Nói cách khác, chuỗi quan sát F0 bao gồm giá trị liên tục (một chiều) thể tiếng nói hữu ký hiệu rời rạc (không chiều) biểu trưng cho tiếng nói vơ Để mơ hình hóa chuỗi quan sát có số chiều thay đổi, HMM dùng phân bố xác suất đa không gian (Multi-space Probability Distribution - MSD) đề xuất áp dụng cho mơ hình hóa đường F0 tổng hợp tiếng nói dựa HMM 2.3.3 Tính tốn đặc trưng động Trong THTN dựa mơ hình HMM, khơng tham số phổ 15 F0 (được gọi đặc trưng tĩnh) mà thành phần delta delta-delta tương ứng chúng (được gọi đặc trưng động) mơ hình hoá theo HMM Những đặc trưng nắm bắt thuộc tính động quỹ đạo tham số âm Do đó, việc tích hợp đặc trưng động vào vector đặc trưng khung tín hiệu tiếng nói cần thiết cho việc mơ hình hóa sinh quỹ đạo tham số 2.3.4 Mơ hình hố trường độ Trong THTN dựa mơ hình HMM, nhịp điệu nhanh/chậm tiếng nói tổng hợp điều khiển trường độ (hay độ dài) trạng thái HMM Trường độ trạng thái HMM số lượng khung tín hiệu tiếng nói liên tiếp thuộc (hay sinh bởi) trạng thái Để điều khiển linh hoạt trường độ âm vị tổng hợp, độ dài trạng thái HMM mơ hình hóa phân bố Gauss 2.3.5 Mơ hình hoá phụ thuộc ngữ cảnh gom cụm ngữ cảnh Sự thể tham số âm phổ, nguồn kích thích, trường độ tiếng nói tự nhiên bị ảnh hưởng yếu tố ngữ âm, ngữ điệu ngôn ngữ học Các yếu tố làm ảnh hưởng đến đặc trưng âm học âm vị gọi ngữ cảnh âm vị Để có tiếng nói tổng hợp chất lượng cao cần biểu diễn tập hợp lớn ngữ cảnh khác Các ngữ cảnh sử dụng rộng rãi cho tổng hợp tiếng nói bao gồm: Các âm vị kế cận với âm vị xét Thông thường, hai âm vị bên trái bên phải âm vị gọi ngữ cảnh ngữ âm học Loại âm vị (phụ âm/nguyên âm/âm xát/âm bật, hữu thanh/vô thanh) Vị trí âm vị, âm tiết, từ, cụm từ đơn vị mức cao (ví dụ vị trí âm vị âm tiết) Số lượng âm vị, âm tiết, từ, cụm từ đơn vị mức cao (ví dụ số lượng âm vị âm tiết) Vị trí âm tiết nhấn trọng âm ngôn ngữ có trọng âm (ví dụ tiếng Anh), điệu ngơn ngữ có 16 điệu (ví dụ tiếng Việt) Vai trị ngơn ngữ học, ví dụ từ loại từ danh/động/tính/đại từ 2.4 Giai đoạn tổng hợp tiếng nói Trong giai đoạn tổng hợp, văn cần chuyển thành tiếng nói chuyển thành chuỗi nhãn âm vị phụ thuộc vào ngữ cảnh mơ-đun phân tích văn Dựa vào chuỗi nhãn này, HMM mức câu tạo cách ghép nối HMM mức âm vị tương ứng Sau đó, độ dài trạng thái HMM mức câu tính tốn để tối đa hóa xác suất độ dài trạng thái chuỗi trạng thái Dựa độ dài trạng thái thu được, chuỗi hệ số mel-cepstral giá trị F0 sinh cho cực đại hoá xác suất đầu chúng với HMM mức câu Cuối cùng, lọc MLSA sử dụng để tổng hợp dạng sóng tín hiệu tiếng nói từ chuỗi mel-cepstral đường F0 có 2.4.1 Phân tích văn Nhiệm vụ mơ-đun phân tích văn trích xuất thơng tin ngữ cảnh chuyển chúng thành chuỗi nhãn ngữ cảnh từ văn đầu vào 2.4.2 Xác định trường độ trạng thái Cho trước chuỗi nhãn ngữ cảnh W , HMM mức câu ˆ (có cấu trúc từ trái sang phải khơng bỏ qua trạng thái nào), chiều dài mong muốn (theo đơn vị khung tín hiệu) tiếng nói tổng hợp T , ta xác định xác suất dãy trạng thái q (q1 , q2 , , qT ) 2.4.3 Ảnh hưởng đặc trưng động sinh tham số tiếng nói Chuỗi trạng thái qˆ (q1 , q2 , , qT ) sử dụng cho trình tổng hợp dễ dàng suy từ trường độ trạng thái K tổng hợp {d k }k 1 , từ chuỗi vector đặc trưng o o1 ,o2 , ,oT (T biểu thị phép chuyển vị ma trận) tạo 17 để tối đa hóa xác suất đầu ˆ , oˆ arg max P(o | qˆ, ˆ) o Chương – XÂY DỰNG HỆ THỐNG TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT 3.1 Phân tích hệ thống 3.1.1 Mơ-đun xử lý ngơn ngữ tự nhiên (front-end) Mơ đun front-end có chức chuyển văn đầu vào thành chuỗi nhãn biểu diễn ngữ âm tương ứng Biểu diễn ngữ âm chứa thông tin liên quan đến ngữ âm lời nói tổng hợp, ví dụ chuỗi âm vị, điệu, kiểu câu trần thuật hay câu hỏi FROND END Văn Chuẩn hóa văn Phân tích ngữ âm Tạo nhãn ngữ cảnh Chuỗi nhãn biểu diễn ngữ âm Hình 3.1 Mơ-đun xử lý ngôn ngữ tự nhiên (front-end) 3.1.2 Mô-đun tổng hợp tiếng nói (back-end) Mơ-đun có nhiệm vụ chuyển nhãn biểu diễn ngữ âm câu thành tín hiệu tiếng nói tổng hợp tương ứng Sơ đồ cho thấy rõ mô đun backend cách tạo HTS_voice: 18 Văn Văn mẫu Tiếng nói mẫu FROND END Xử lý ngơn ngữ tự nhiên Chuỗi nhãn biểu diễn ngữ âm BACK END Tổng hợp tiếng nói (HTS_ engine) Chuỗi nhãn biểu diễn ngữ âm Huấn luyện HMM Tiếng nói Huấn luyện lần HTS_voi ce Hình 3.2 Mơ-đun tổng hợp tiếng nói (back-end) trình huấn luyện HMM để tạo HTS_voice 3.1.3 Nhãn âm vị phụ thuộc ngữ cảnh Mỗi âm vị câu gán nhãn nhúng thông tin ngữ cảnh âm vị câu Thơng tin ngữ cảnh âm vị chứa tồn yếu tố ảnh hưởng đến đặc trưng âm học âm vị Các yếu tố ngữ cảnh liệt kê nhiều mức sau: Mức âm vị (phoneme): Âm vị tại, hai âm vị đứng trước, hai âm vị đứng sau Vị trí âm vị âm tiết Mức âm tiết (syllable): Thanh điệu âm tiết {hiện tại, trước, sau} Số lượng âm vị âm tiết {hiện tại, trước, sau} 19 Vị trí âm tiết từ Mức từ (word): Số lượng âm tiết từ {hiện tại, trước, sau} Vị trí từ cụm từ Mức cụm từ (phrase): Số lượng {âm tiết, từ} cụm từ {trước, tại, sau} Vị trí cụm từ câu Mức câu (sentence): Số lượng {âm tiết, từ, cụm từ} câu Dựa vào định dạng nhãn âm vị phụ thuộc ngữ cảnh tiếng Anh cung cấp HTS working group, định nghĩa nhãn ngữ cảnh cho tiếng Việt cách tương tự sau: p1^p2-p3+p4=p5@p6_p7 /A:a1_a2_a3 /B:b1-b2-b3@b4-b5& b6-b7#b8-b9$b10-b11!b12-b13;b14-b15|b16 /C:c1+c2+c3 /D:d1_d2/E:e1+e2@e3+e4&e5+e6#e7+e8/F:f1_f2 /G:g1_g2/H:h1=h2@h3=h4|h5/I:i1_i2 /J:j1+j2-j3 đó: p1: Âm vị đứng trước âm vị trước so với âm vị p2: Âm vị đứng trước âm vị p3: Âm vị p4: Âm vị đứng sau âm vị p5: Âm vị đứng sau âm vị đứng sau so với âm vị p6: Vị trị âm vị âm tiết (từ trái qua phải) p7: Vị trí âm vị âm tiết (từ phải qua trái) a1: Thanh điệu âm tiết đứng trước âm tiết a2: Thanh điệu âm tiết đứng trước âm tiết trước so với âm tiết a3: Số âm vị âm tiết đứng trước âm tiết 3.1.4 Quy tắc chuyển chữ có dấu mũ dấu sang nhãn âm vị Dưới bảng quy tắc chuyển dấu sang nhãn âm vị: 20 Bảng 3.1 Quy tắc chuyển dấu sang nhãn âm vị Dấu câu Nhãn Ngang Huyền Ngã Hỏi Sắc Nặng Bảng sau thể quy tắc chuyển chữ có dấu mũ sang nhãn âm vị: Bảng 3.2 Quy tắc chuyển chữ có dấu mũ sang nhãn âm vị Ký tự Nhãn u* o* â a^ ê e^ ô o^ ă a< đ d~ 3.1.5 Xử lý Unicode cho tiếng Việt Vì đầu vào văn Tiếng Việt dạng Unicode dạng tổ hợp UTF-8 nên phải chuyển tất dạng UTF-8 Unicode để tách thành âm vị theo cấu trúc phần 3.1.6 Thuật toán chuyển âm tiết thành chuỗi âm vị Dựa vào bảng ánh xạ chữ sang âm vị mục 1.2.5, ta xây dựng thuật toán chuyển âm tiết thành chuỗi âm vị tiếng Việt (hình 3.3) Lấy ví dụ để minh hoạ, thuật toán chuyển âm tiết “quyên” thành chuỗi âm vị ['k', 'w', 'ie', 'n'] 21 Bắt đầu Tìm chuỗi chữ dài cho âm đầu Âm tiết âm tiết: giêng, gic, giêm, giêt, gi? Y Chữ „i‟ thuộc âm trung tâm N Âm đầu „q‟? Y Âm đệm „u‟ N Tìm từ phải qua trái chuỗi chữ dài cho âm cuối Tìm từ phải qua trái chuỗi chữ dài cho âm trung tâm (sau bỏ chữ thuộc âm cuối) Âm cuối chữ „i‟,‟y‟,‟o‟,‟u‟? Y N Khơng có âm trung tâm âm tiết kết thúc với „uy‟? Y Âm trung tâm = âm cuối Khơng có âm cuối N Âm đệm chữ cịn lại „u‟ „o‟ Kết thúc Hình 3.3 Thuật toán chuyển âm tiết thành chuỗi âm vị cho tiếng Việt 22 3.2 Thiết kế hệ thống 3.2.1 Mơ-đun app.py App.py mơ-đun chứa giao diện chương trình, mơđun dùng framework Kivy để tạo giao diện cho chương trình 3.2.2 Mơ-đun xử lý ký tự Unicode tiếng Việt uniproc.py Mô-đun chứa hàm để xử lý giúp ích q trình thao tác với ký tự Unicode 3.2.3 Mô-đun xử lý âm tiết let2snd.py Các định nghĩa luật âm vị (âm đầu, âm đệm, âm chính, âm cuối) tiếng Việt định nghĩa mô-đun 3.2.4 Mô-đun tạo nhãn âm vị phụ thuộc ngữ cảnh generate_label.py Mơ-đun có nhiệm vụ tách câu đoạn văn phân cách dâu chấm thành danh sách câu Đông thời tách cụm từ câu phân cách dấu phẩy 3.2.5 Mô-đun định nghĩa cấu trúc văn bản, định dạng nhãn âm vị tạo nhãn âm vị phụ thuộc ngữ cảnh label_format.py Trong mô-đun sử dụng danh sách liên kết (linked list) để tạo cấu trúc đại diện cho câu tiếng Việt, Utterance (câu) chứa danh sách Phrase (cụm từ), Phrase chứa danh sách Word (từ), Word chứa danh sách âm vị điệu 3.3 Môi trường phát triển Tơi sử dụng ngơn ngữ lập trình Python (phiên 3) framework Kivy 23 Chương – KẾT QUẢ THỰC NGHIỆM 4.1 Điều kiện thử nghiệm Tôi dùng CSDL tiếng nói văn tiếng Việt cân ngữ âm âm vị học, đọc giọng nữ người Hà Nội phục vụ cho thực nghiệm CSDL gồm 1007 câu để huấn luyện mơ hình 100 câu để kiểm tra kết quả, với tổng thời gian dài khoảng 50 phút ghi âm Dữ liệu tiếng nói gắn nhãn thủ cơng đến mức âm vị Trung bình câu có 11,4 âm tiết Các nhãn âm vị phụ thuộc ngữ cảnh cho tiếng Việt sử dụng trình bày chương Tín hiệu tiếng nói lấy mẫu tần số 16 kHz phân khung hàm cửa sổ Hamming dài 25 ms với độ dịch khung ms Tham số phổ gồm 25 hệ số mel-cepstral Tham số nguồn kích thích logarit tần số F0 Mỗi vec-tơ tham số phổ vec-tơ tham số F0 bao gồm đặc trưng tĩnh đặc trưng động (delta delta-delta) Tôi sử dụng cấu trúc HMM với năm trạng thái, từ trái sang phải không bỏ qua trạng thái Mỗi phân bố xác suất sinh quan sát trạng thái bao gồm phổ F0 Chuỗi tham số phổ mơ hình hố phân bố Gaussian đơn mode với ma trận hiệp phương sai đường chéo Chuỗi tham số F0 mơ hình hố dùng phân bố xác suất đa không gian (MSD) Các HMM phụ thuộc ngữ cảnh dùng để mơ hình hố phổ F0 huấn luyện dùng kỹ thuật gom cụm dựa định dùng tiêu chí độ dài mô tả cực tiểu (minimum description length - MDL) Việc huấn luyện HMM thực dùng HTS toolkit Dựa nhãn theo ngữ cảnh văn đầu vào, chuỗi hệ số mel-Cepstral sinh từ chuỗi phân bố Gauss HMM dùng thuật toán sinh tham số Chuỗi tham số F0 sinh từ trạng thái âm hữu thanh, xác định dựa trọng số MSD mơ hình MSD-HMM Các tham số F0 sinh sử dụng để điều khiển xung kích thích lựa chọn xung tuần hồn nhiễu trắng Sau đó, lọc MLSA sử dụng để tổng hợp tín hiệu tiếng nói dựa chuỗi hệ số mel-cepstra sinh trước 24 4.2 Kết đánh giá Tơi xây dựng chương trình tổng hợp tiếng nói tiếng Việt Hệ thống cho chất lượng tiếng nói tổng hợp dễ hiểu với chất giọng gần giống với giọng người cung cấp liệu tiếng nói dùng để huấn luyện mơ hình Tuy nhiên tiếng nói tổng hợp có độ tự nhiên chưa cao số hạn chế KẾT LUẬN Sau thời gian tìm hiểu, nghiên cứu lý thuyết triển khai xây dựng chương trình tổng hợp tiếng nói cho tiếng Việt, đạt kết sau Về lý thuyết, tơi tìm hiểu được: Lý thuyết mơ hình Markov ẩn (HMM) ứng dụng HMM tổng hợp tiếng nói Các đặc trưng ngữ âm âm vị tiếng Việt Các đặc trưng tín hiệu tiếng nói (phổ, tần số bản, …) Tổng quan công nghệ tổng hợp tiếng nói (các module frontend backend) Kỹ thuật tạo nhãn âm vị theo ngữ cảnh để từ tổng hợp tiếng nói Về ứng dụng tơi xây dựng được: Module tạo nhãn âm vị theo ngữ cảnh cho tiếng Việt Chương trình chuyển văn thành tiếng nói cho tiếng Việt với chất lượng tốt dùng ngơn ngữ lập trình Python framework Kivy Tuy nhiên, luận văn tồn vấn đề sau: Tiếng nói tổng hợp chưa tự nhiên liệu tiếng nói để huấn luyện mơ hình HMM cịn Tín hiệu khoảng lặng đầu/cuối câu sau dấu phẩy bị nhiễu dẫn đến tiếng ồn việc rút trích đặc trưng tần số (F0) chưa hoàn toàn chuẩn xác Tốc độ thực thi chương trình cịn chậm đoạn văn đầu vào dài trình tạo nhãn âm vị tổng hợp giọng nói nhiều thời gian