Nghiên cứu tổng hợp tiếng nói và ứng dụng đọc báo bằng tiếng Việt trên điện thoại di động AndroidNghiên cứu tổng hợp tiếng nói và ứng dụng đọc báo bằng tiếng Việt trên điện thoại di động AndroidNghiên cứu tổng hợp tiếng nói và ứng dụng đọc báo bằng tiếng Việt trên điện thoại di động AndroidNghiên cứu tổng hợp tiếng nói và ứng dụng đọc báo bằng tiếng Việt trên điện thoại di động AndroidNghiên cứu tổng hợp tiếng nói và ứng dụng đọc báo bằng tiếng Việt trên điện thoại di động Android
Trang 4LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất cứ công trình nào
TÁC GIẢ
Trần Minh Tuấn
Trang 5Bên cạnh đó, để hoàn thành đồ án này, em cũng đã nhận được rất nhiều sự giúp đỡ, những lời động viên quý báu của các bạn bè, gia đình và đồng nghiệp Em xin chân thành cảm ơn
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng luận văn khó tránh khỏi thiếu sót Em rất mong nhận được sự thông cảm và góp
ý của quý thầy cô và các bạn
HỌC VIÊN
Trần Minh Tuân
Trang 6MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
DANH MỤC TỪ VIẾT TẮT v
DANH MỤC CÁC BẢNG BIỂU vi
DANH MỤC CÁC HÌNH VẼ vii
MỞ ĐẦU 1
Chương 1.TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN VÀ TỔNG HỢP TIẾNG NÓI 3
1.1 Giới thiệu về xử lý ngôn ngữ tự nhiên 3
1.1.1 Ngôn ngữ 3
1.1.2 Xử lý ngôn ngữ tự nhiên 3
1.2 Chuẩn hóa văn bản 4
1.2.1 Tổng quan về chuẩn hóa văn bản 4
1.2.2 Các nghiên cứu liên quan trên thế giới 5
1.2.3 Các nghiên cứu liên quan cho tiếng Việt 5
1.2.4 Chuẩn hóa văn bản tiếng việt 6
1.3 Phân tích cú pháp 7
1.3.1 Tổng quan về phân tích cú pháp 7
1.3.2 Các nghiên cứu về phân tích cú pháp 8
1.4 Phân tích ngữ cảnh 9
1.4.1 Nhập nhằng nghĩa ở mức từ vựng 9
1.4.2 Mức độ nhập nhằng cấu trúc 9
1.4.3 Mức độ nhập nhằng liên câu 10
1.5 Giới thiệu về hệ thống tổng hợp tiếng nói 10
1.5.1 Tổng quan 10
1.5.2 Ý nghĩa của tổng hợp tiếng nói 11
1.5.3 Mô hình tổng hợp tiếng nói từ văn bản 11
1.6 Kết luận chương 12
Chương 2.MỘT SỐ PHƯƠNG PHÁP TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT 13
2.1 Tổng hợp mô phỏng hệ thống phát âm 13
2.1.1 Hệ thống tiếng nói con người 13
2.2 Tổng hợp tần số formant 16
Trang 72.2.1 Các mô hình tổng hợp formant 17
2.2.2 Tổng hợp tiếng nói trên cơ sở tổng hợp formant 18
2.3 Tổng hợp dựa trên ghép nối 19
2.3.1 Các vấn đề trong tổng hợp tiếng nói bằng phương pháp ghép nối 20
2.3.2 Các phương pháp tổng hợp bằng ghép nối 25
2.3.3 Tổng hợp chuyên biệt 28
2.4 Tổng hợp dùng tham số thống kê 28
2.4.1 Tổng quan về tổng hợp dùng tham số thống kê 28
2.4.2 Mô hình Markov ẩn 29
2.5 Tổng hợp bằng phương pháp lai ghép 30
2.5.1 Hệ thống tổng hợp lai ghép hướng ghép nối 32
2.5.2 Hệ thống tổng hợp lai ghép hướng HMM 33
2.6 Đánh giá và lựa chọn phương pháp xây dựng ứng dụng 39
2.7 Kết luận chương 43
Chương 3.XÂY DỰNG ỨNG DỤNG……… 44
3.1 Giới thiệu về Android SDK 44
3.1.1 Android 44
3.1.2 Android SDK 45
3.2 Mô tả ứng dụng 45
3.2.1 Tổng quan về ứng dụng 45
3.2.2 Tổng quan về giao diện và hoạt động của ứng dụng 47
3.3 Tổng hợp tiếng nói từ văn bản trên hệ điều hành Android 56
3.3.1 Tính năng TextToSpeech trên hệ điều hành Android 56
3.3.2 Mô hình tổng hợp tiếng nói trên hệ điều hành Android 57
3.3.3 Lựa chọn và tìm kiếm đơn vị âm 58
3.4 Vấn đề lưu trữ và xử lý trên thiết bị di động 63
3.5 Kết quả và đánh giá ứng dụng 64
3.6 Kết luận chương 65
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 68
Trang 8DANH MỤC TỪ VIẾT TẮT
2 LPC Linear Predictive Coding
3 MFCC Mel-scale Frequency Cepstral Coefficient
5 PSOLA Pitch Synchronous Overlap and Add
Trang 9DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1: Các loại đơn vị âm sử dụng 22
Bảng 2.2: Đánh giá chất lượng tiếng nói 40
Bảng 2.3: Đánh giá hiệu quả tính toán 41
Bảng 2.4: Đánh giá kích thước dữ liệu 42
Bảng 3.1: Kịch bản: Tải về dữ liệu 47
Bảng 3.2: Kịch bản: Tải về bài báo 48
Bảng 3.3: Kịch bản: Đọc bài báo 49
Bảng 3.4: Kịch bản: Cài đặt giao diện 49
Bảng 3.5: Kịch bản: Cài đặt trang báo 50
Bảng 3.6: Các mức đánh giá trong MOS 65
Trang 10DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Ví dụ phân tích cú pháp 8
Hình 1.2: Hệ thống tổng hợp tiếng nói 11
Hình 1.3: Mô hình tổng hợp mức cao 12
Hình 2.1: Mô hình phát âm của con người 13
Hình 2.2: Mô hình tổng hợp tần số formant 16
Hình 2.3: Mô hình tổng hợp formant nối tiếp 17
Hình 2.4: Mô hình bộ tổng hợp formant song song 17
Hình 2.5: Mô hình VnSpeech tổng hợp tiếng Việt dựa vào formant 19
Hình 2.6: Mô hình hệ thống TTS dựa trên mô hình Markov ẩn 29
Hình 2.7: Hệ thống lai ghép hướng HMM 35
Hình 2.8: Hàm trọng số trong các vùng khác nhau của tín hiệu 39
Hình 3.1: Các phiên bản Android 44
Hình 3.2: Mô hình tổng quan về ứng dụng 46
Hình 3.3: Sơ đồ Usecase-Actor tổng quan 47
Hình 3.4: Sơ đồ hoạt động tải về dữ liệu RSS 51
Hình 3.5: Sơ đồ hoạt động tải về bài báo 52
Hình 3.6: Sơ đồ hoạt động đọc báo 53
Hình 3.7: Sơ đồ hoạt động cài đặt giao diện 53
Hình 3.8: Sơ đồ hoạt động cài đặt giao trang 54
Hình 3.9: Giao diện bảng tin 55
Hình 3.10: Giao diện chủ đề 55
Hình 3.11: Giao diện cài đặt 55
Hình 3.12: Giao diện cài đặt ban đêm 55
Hình 3.13: Giao diện trang báo 55
Hình 3.14: Giao diện đọc tin 56
Hình 3.15: Mô hình tổng hợp tiếng nói trên hệ điều hành Android 57
Hình 3.16: Mô hình lựa chọn đơn vị âm không đồng nhất 58
Trang 11Hình 3.17: Quá trình tìm kiếm đơn vị 59
Hình 3.18: Ví dụ về bước tiền lựa chọn 61
Hình 3.19: Sự khác nhau về ngữ cảnh 62
Hình 3.20: Sự khác nhau về phổ 62
Hình 3.21: Sơ đồ đánh giá chất lượng tiếng nói 65
Trang 12MỞ ĐẦU
Ngày nay, với sự phát triển như vũ bão của công nghệ thông tin, Internet cũng như các dịch vụ trực tuyến ngày càng có nhiều thông tin được tạo ra Ta có thể truy cập các thông tin đó qua sách, báo, Internet và các phương tiện truyền thông Cùng với đó là sự phát triển mạnh của các thiết bị di động Android Ta có thể thu thập thông tin ở bất cứ nơi đâu thông qua thiết bị di động này Hơn nữa, nhu cầu đọc, tìm hiểu
và lưu trữ thông tin của con người ngày càng tăng lên Tuy nhiên, với số lượng lớn thông tin như vậy thì ta không có đủ thời gian và sức lực để tiếp thu bằng phương pháp đọc thông thường Giải pháp tổng hợp những thông tin dưới dạng văn bản này thành tiếng nói để cung cấp thêm một phương thức tiếp thu thông tin
Tổng hợp tiếng nói là quá trình tạo ra tiếng nói nhân tạo của người trên máy tính từ văn bản Đây là một đề tài có tính ứng dụng thực tiễn cao nên được nghiên cứu nhiều trên thế giới và Việt Nam từ rất sớm [7] Hiện nay, tại Việt Nam đã phát triển nhiều bộ tổng hợp và ứng dụng của nó dành riêng cho tiếng Việt như phần mềm tổng hợp tiếng nói tiếng Việt “VnSpeech” Đây là phần mềm tổng hợp tiếng nói theo phương pháp tổng hợp tần số formant Hệ tổng hợp formant có thể đọc được hầu hết các âm tiết tiếng Việt ở mức nghe rõ, tuy vậy, nó có nhược điểm là mức độ tự nhiên không cao Ngoài ra, còn có phần mềm V-Talk của Viện Khoa học kỹ thuật Bưu Điện, phát triển dựa trên tổng hợp ghép nối diphone (phụ âm đầu và phần vần) Phần mềm VnVoice (Viện công nghệ thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam) tổng hợp tiếng nói theo hướng ghép nối bán âm tiết Tuy nhiên, chất lượng tiếng nói tổng hợp sao cho dễ nghe và tự nhiên vẫn là điều mà các công trình nghiên cứu đang hướng tới [11]
Vì vậy, Học viên xin chọn đề tài “ Nghiên cứu tổng hợp tiếng nói và ứng dụng
đọc báo bằng tiếng Việt trên điện thoại Android ” nhằm nghiên cứu tổng quan về xử
lý ngôn ngữ tự nhiên và một số phương pháp tổng hợp tiếng nói tiếng Việt từ văn bản
đã được ứng dụng và thu được kết quả khả quan, đồng thời xây dựng ứng dụng đọc báo bằng tiếng Việt trên điện thoại Android
Trang 13Nội dung của luận văn được trình bày trong ba phần chính như sau:
1 Phần mở đầu
2 Phần nội dung: bao gồm ba chương:
Chương 1: Tổng quan về xử lý ngôn ngữ tự nhiên
Chương 2: Một số phương pháp tổng hợp tiếng nói tiếng Việt Chương 3: Xây dựng ứng dụng
3 Phần kết luận
Trang 14Chương 1 TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN
sử dụng điệu bộ, âm thanh, ký hiệu hay chữ viết để truyền tải khái niệm, ý nghĩa và
ý nghĩ nhưng nhiều khi những khía cạnh này khá là giống nhau nên rất khó phân biệt [8]
Ngôn ngữ là hệ thống tín hiệu đặc biệt và quan trọng bậc nhất của loài người, phương tiện tư duy và công cụ giao tiếp xã hội Ngôn ngữ bao gồm ngôn ngữ nói và ngôn ngữ viết hay còn gọi là văn bản
1.1.2 Xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural language processing- NPL) là một nhánh của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người Trong trí tuệ nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa của ngôn ngữ - công cụ hoàn hảo nhất của tư duy và giao tiếp
Xử lý ngôn ngữ chính là xử lý thông tin đầu vào là “Dữ liệu ngôn ngữ” (Dữ liệu cần biến đổi) tức là dữ liệu “văn bản” hay “tiếng nói” Các dữ liệu liên quan đến ngôn ngữ viết (văn bản) và nói (tiếng nói) đang dần trở nên là kiểu dữ liệu chính của con người và được lưu trữ dưới dạng điện tử Đặc điểm chính của các kiểu dữ liệu này là không có cấu trúc hoặc nửa cấu trúc và chúng không thể lưu trữ trong các khuôn dạng cố định như các bảng biểu
Trang 15Để máy tính có thể hiểu và thực thi một chương trình được viết bằng ngôn ngữ cấp cao, ta cần phải có một trình biên dịch thực hiện việc chuyển đổi chương trình đó sang chương trình ở dạng ngôn ngữ đích
Xử lý ngôn ngữ tự nhiên là một lĩnh vực nghiên cứu nhằm giúp cho các hệ thống máy tính hiểu và xử lý được ngôn ngữ con người Tổng hợp tiếng nói là một trong những ứng dụng chính của xử lý ngôn ngữ tự nhiên Mặc dù tổng hợp tiếng nói
đã được nghiên cứu và phát triển trong nhiều năm qua, song vẫn tồn tại nhiều vấn đề cần nghiên cứu
1.2 Chuẩn hóa văn bản
1.2.1 Tổng quan về chuẩn hóa văn bản
Trong lĩnh vực ngôn ngữ và công nghệ liên quan tới tiếng nói nói chung theo cách này hay cách khác đều phải giải quyết bài toán về xử lý văn bản trong thực tế Một số lĩnh vực phụ thuộc trực tiếp vào việc giải quyết bài toán này, như máy dịch ngôn ngữ, hệ thống phát hiện chủ đề văn bản, hệ thống tổng hợp tiếng nói từ văn bản Một số lĩnh vực lại phụ thuộc gián tiếp như nhận dạng tiếng nói sử dụng mô hình ngôn ngữ, trong khi mô hình ngôn ngữ sử dụng các văn bản làm tập huấn luyện Trong trường hợp nào đi nữa thì đều phải đối mặt với các vấn đề của văn bản thực tế,
đó là tính hỗn độn của văn bản Trong một văn bản có thể tìm thấy ngoài các chữ là các từ còn có các loại số, các từ viết tắt, ngày tháng, tiền tệ, kí hiệu Chúng là những
từ chưa chuẩn hóa, theo nghĩa không thể tìm được các thuộc tính của nó nhờ việc tìm kiếm trong từ điển hay áp dụng các luật phiên âm đơn giản Vì thế những từ chưa chuẩn hóa này cần phải được chuẩn hóa, để đưa về dạng bình thường mà ta có thể tìm thấy nó bởi từ điển, hay các luật phiên âm [20]
Chuẩn hóa văn bản thực chất là đi tìm từ diễn giải tương ứng để có thể áp dụng được luật phiên âm cho từ chưa chuẩn hóa, từ tương ứng đó chỉ ra cách đọc cho từ chưa chuẩn hóa Thông thường việc chuẩn hóa văn bản là một bài toán khá rắc rối, bởi từ chuẩn hóa tương ứng của một NSW còn phụ thuộc vào cả yếu tố ngữ cảnh và
Trang 16chủng loại của NSW nữa Tuy không phải là vấn đề nhỏ nhưng bài toán này lại ít được quan tâm nghiên cứu hơn so với các bài toán khác trong tổng hợp tiếng nói [20]
1.2.2 Các nghiên cứu liên quan trên thế giới
Trên thế giới đã có nhiều kết quả nghiên cứu về chuẩn hóa văn bản ở các ngôn ngữ khác nhau, như tiếng Anh [20], Hindi [13], Bangla [9], Trung [18] [24]…và đã đạt được nhiều thành tựu, giải quyết một số bài toán đặc thù cho loại ngôn ngữ mà nghiên cứu đó tập trung
Nghiên cứu chuẩn hóa văn bản tiếng Anh đã đưa ra được hệ thống phân nhóm
và phân loại các NSW (Non-Standard Word) cho tiếng Anh, mà hệ thống này có thể tham khảo, mở rộng để áp dụng cho các văn bản sử dụng hệ thống chữ cái La-tinh nói chung Nghiên cứu này cũng phác họa ra một mô hình cơ bản cho chuẩn hóa văn bản mà các ngôn ngữ sử dụng chữ cái La-tinh có thể tham khảo
Nghiên cứu chuẩn hóa văn bản tiếng Trung tập trung vào chuẩn hóa ngôn ngữ đối thoại cá nhân (chat) dùng trong giao tiếp và đối thoại trên mạng Internet của người Trung Quốc Đây là một mảng có tính hỗn độn cao, phong cách trình bày và chính tả rất tùy tiện Việc chuẩn hóa chủ yếu là chuẩn chính tả dựa vào một từ điển ánh xạ giữa những từ cần chuẩn hóa dùng ngôn ngữ chat và những từ chuẩn hóa tương ứng của nó Từ điển này xây dựng trên tập dữ liệu học là các đoạn hội thoại thu thập được Cách làm này đòi hỏi công sức thống kê, thu thập và độ chính xác phụ thuộc vào mức
độ bao phủ của tập huấn luyện
1.2.3 Các nghiên cứu liên quan cho tiếng Việt
Mỗi ngôn ngữ có những đặc trưng riêng của nó, vì thế bài toán chuẩn hóa văn bản cho mỗi ngôn ngữ không thể áp dụng ngay cho ngôn ngữ khác Tiếng Việt và tiếng Anh cùng sử dụng hệ thống chữ cái La-tinh để biểu diễn văn bản, nhưng cách phân tách các từ trong tiếng Việt lại không giống tiếng Anh Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm tách rời nhau và được thể hiện bằng một chữ viết Một từ trong tiếng Việt có thể gồm một hoặc nhiều hơn một
Trang 17tiếng, các tiếng biểu diễn bởi các chữ phân tách với nhau bởi dấu cách Đặc điểm này thể hiện rõ ở tất cả các mặt ngữ âm, từ vựng, ngữ pháp Trong khi đó, một từ trong tiếng Anh có thể có nhiều nguyên âm và phát âm thành nhiều tiếng, dấu cách cũng là dấu phân tách các từ với nhau, cách viết tắt và thói quen viết văn bản của người Việt với người Anh cũng không giống nhau Tiếng Việt đối với những ngôn ngữ sử dụng những bảng chữ cái khác, hoặc chữ tượng hình thì càng khác nhau nhiều hơn
Ở Việt Nam hiện nay, đề tài về xây dựng bộ tổng hợp tiếng nói cho tiếng Việt cũng đã được quan tâm nghiên cứu, nhiều nghiên cứu đã gặt hái những thành quả đầu tiên trong lĩnh vực này như bộ tổng hợp tiếng nói SAOMAI, HOASUNG, Tiếng Nói PHƯƠNG NAM Nhưng những nghiên cứu này chưa chú trọng nhiều vào chuẩn hóa văn bản mà chủ yếu tập trung vào việc xử lý tín hiệu Một số khác xoay quanh bài toán chỉnh sửa lại chính tả Vì thế dù chất lượng tiếng nói tổng hợp ra khá tốt, nhưng những bộ tổng hợp tiếng nói này chỉ có khả năng làm việc tốt với những văn bản đầu vào có định dạng đơn giản và tương đối chuẩn Công đoạn tiền xử lý văn bản thường chỉ dừng lại ở mức kiểm tra chính tả, hoặc sử dụng một số luật đơn giản áp dụng cho những trường hợp đặc biệt để chuẩn hóa văn bản Thực tế đó cho thấy có một khoảng trống trong lĩnh vực tổng hợp tiếng nói ở Việt Nam tại bước tiền xử lý văn bản Đó chính là động lực cho các nghiên cứu về chuẩn hóa văn bản tiếng Việt cho việc tổng hợp tiếng nói một cách đầy đủ và đã có những kết quả đầu tiên đầy hứa hẹn như nghiên cứu [23]
1.2.4 Chuẩn hóa văn bản tiếng việt
Văn bản tiếng Việt thường hàm chứa những dạng chữ số (số đếm, số điện thoại, thời gian ), những tổ hợp chữ có số (kí hiệu, mã ), những loại dấu, từ viết tắt (TS, Ths ), kí hiệu, từ mượn (FAO, WHO, NATO ) [20] chính là những từ chưa chuẩn hóa hay Non-Standard Word (NSW) Việc chuẩn hóa văn bản là để diễn giải những NSW này để bộ tổng hợp tiếng nói có thể hiểu được
Việc chuẩn hóa văn bản nói chung có những thách thức do các thành phần văn bản có ý nghĩa khác nhau nhiều khi lại có định dạng giống nhau, cùng một NSW có
Trang 18thể đọc và hiểu theo nhiều phương án khác nhau phụ thuộc nhiều hoặc ít vào ngữ cảnh xung quanh nó Bên cạnh đó còn do cấu trúc của văn bản không phải lúc nào cũng rõ ràng và theo quy chuẩn như cấu trúc các câu hay các đoạn văn; các thành phần cấu thành nên văn bản đôi khi phức tạp như địa chỉ url, email, biểu thức hay kí hiệu [20] Các NSW có thành phần là số thì ý nghĩa phụ thuộc nhiều hơn vào ngữ cảnh, các NSW thành phần là chữ lại ít phụ thuộc vào ngữ cảnh hơn, tính nhập nhằng cao hơn [23]
Văn bản tiếng Việt ngoài những vấn đề chung của bài toán chuẩn hóa văn bản còn có những yếu tố đặc thù riêng của nó Đó là là sự nhập nhằng khá phổ biến xẩy
ra trong các văn bản và cách viết, cách đọc của từng người nhiều khi rất đa dạng, thậm chí không theo quy chuẩn nào [27] [28]
1.3 Phân tích cú pháp
1.3.1 Tổng quan về phân tích cú pháp
Trong tổng hợp tiếng nói, phân tích cú pháp đóng một vai trò rất quan trọng trong công đoạn xử lí văn bản của hệ thống Phân tích cú pháp chuẩn xác sẽ đưa ra cho hệ thống một cái nhìn toàn cảnh về cấu trúc của văn bản, các cụm từ trong văn bản từ phức tạp đến đơn giản nhất, đồng thời các vị trí âm tiết trong cụm từ cũng được đưa ra luôn
Phân tích cú pháp là nhằm phân tích một câu thành những thành phần văn phạm có liên quan với nhau và được thể hiện thành cây cú pháp Khi nhập câu, ta phải phân thành các thành phần như: chủ ngữ, vị ngữ; gán vai trò chủ từ/đối từ của động từ chính, bổ nghĩa Để phân tích cú pháp, chúng ta cần có bộ luật văn phạm và giải thuật phân tích cú pháp Hiện nay, người ta đã đưa nhiều lý thuyết văn phạm (CFG, UG, LG, TAG,…), và các giải thuật phân tích cú pháp hiệu quả (Earley,
Tomita, TBL,…) Ví dụ: nhập câu “Tuấn là nhân viên tốt”, nó sẽ phân tích thành
dạng như sau: [Tuấn]DT [làĐt [nhân viên DT tốtTT]NP]VP và cây cú pháp tương ứng:
Trang 19Trong đó : Cn,Vn : chủ ngữ, vị ngữ
Dt :Danh từ
VP : động ngữ
NP : danh ngữ TT: tính từ
Đt : động từ
Hình 1.1 Ví dụ phân tích cú pháp
Các tập luật cú pháp phải được xây dựng theo cơ chế mở, có thể sửa đổi, bổ sung hay loại bỏ các luật Kết quả của bước phân tích cú pháp phụ thuộc rất nhiều vào tính chính xác và đầy đủ của các luật cú pháp
1.3.2 Các nghiên cứu về phân tích cú pháp
Trên thế giới, bài toán phân tích cú pháp đã được nghiên cứu và triển khai từ rất
lâu Đặc biệt với tiếng Anh, đã có rất nhiều thành công và đã tiến rất xa Các mô hình PCFG (Probabilistic context-free grammar), HPCFG (Head-lexicalised probabilistic context-free grammar)… đã cho kết quả phân tích cú pháp rất khả quan
Mô hình PCFG được phát triển từ những năm 90 Tư tưởng chủ yếu của mô hình này là dựa trên văn phạm phi ngữ cảnh, nhưng đưa thêm vào một xác suất P(r) cho mỗi luật sản xuất r Để đảm báo P là một phân phối xác suất, tổng của tất cả các xác suất của các luật có cùng một ký hiệu trái sẽ có giá trị là 1 PCFG sử dụng xác suất nhằm loại bỏ các nhập nhằng mà CFG (Context-Free Grammar) gặp phải Tuy nhiên, vẫn còn một số nhập nhằng (với tiếng Anh) mà PCFG không giải quyết được
Các mô hình phân tích cú pháp phát triển rất mạnh mẽ trên thế giới vì họ đã
có một tập luật cú pháp tương đối đầy đủ làm nền tảng
Tại Việt Nam, những kết quả nghiên cứu về phân tích cú pháp tiếng Việt rất ít
và nếu có thì cũng không được phổ biến rộng rãi Kết quả nghiên cứu rất khả quan nhưng đã cách đây khá lâu (1990 và 1998) Tập luật xây dựng được đưa ra cũng chưa
TT tốt
Trang 20phải là đầy đủ và cũng không thể tạo điều kiện tốt cho bước phân tích ngữ nghĩa tiếp sau [2]
1.4 Phân tích ngữ cảnh
Mục đích của việc phân tích ngữ cảnh là kiểm tra ý nghĩa của câu có mâu thuẫn với ý nghĩa của đoạn hay không Dựa trên mối liên hệ logic về nghĩa giữa các cụm từ trong câu và mối liên hệ giữa các câu trong đoạn, hệ thống sẽ xác định được (một phần) ý nghĩa của câu trong ngữ cảnh của đoạn
Đầu vào của giai đoạn phân tích ngữ cảnh là tập các khả năng phân tích câu
và thông tin về ngữ nghĩa của tất cả các từ Các thực từ thường có nhiều nghĩa và nghĩa của nó chỉ được xác định duy nhất trong mối quan hệ giải thích với các từ khác trong câu
Phân tích ngữ cảnh xác định nghĩa phù hợp với ngữ cảnh cho từ nhiều nghĩa, hoặc chọn cây cú pháp thích hợp trong trường hợp bộ phân tích cú pháp cho ra nhiều cây cú pháp
1.4.1 Nhập nhằng nghĩa ở mức từ vựng
Xét ví dụ “Tôi với quả cam ở trên cây”, ta có từ “với” là “liên từ” hoặc “động
từ” Để chọn được nghĩa thích cho từ “với” trong trường hợp này chúng ta phải vận
dụng các ý niệm của ngôn ngữ học tri nhận để biết rằng “với” là động từ chỉ hành động tác động đến một danh từ chỉ sự vật”, và “với” là liên từ liên kết giữa hai đối tượng có cùng kiểu” Kết hợp những ý niệm ấy, ta có “tôi” là đại từ và “quả cam” là danh từ chỉ sự vật không thuộc cùng dạng đối tượng, do đó máy tính sẽ chọn từ “với”
có nghĩa là “Động từ” cho trường hợp này
1.4.2 Mức độ nhập nhằng cấu trúc
Ví dụ xét câu “Một con sói và một bầy cừu non”, ta có 2 phân tích: “[Một con
sói] và [một bầy cừu non]” và “[Một con sói và một bầy cừu] non ”, máy tính sẽ chọn cách phân tích thứ hai (do tính cân bằng vốn có trong cấu trúc song song của liên
từ “và”) Tuy nhiên, nếu xét “Một đứa trẻ và một người đàn ông già”, ta cũng sẽ có
2 phân tích: “[đứa trẻ] và [người đàn ông già]” và “[đứa trẻ và người đàn ông] già”
và máy tính sẽ chọn cách phân tích thứ nhất, vì máy thấy cấu trúc thứ hai là vô lý (do
Trang 21có sự đối lập về ngữ nghĩa giữa thuộc tính “trẻ” trong “đứa trẻ” và thuộc tính “già” trong “người đàn ông”)
1.4.3 Mức độ nhập nhằng liên câu
Ví dụ xét câu “Con cá Sấu săn mồi vì nó đói”, máy tính hiện nay, trong một
số trường hợp, có thể xác định được đại từ “nó” thay thế cho từ nào: “cá Sấu” hay
“mồi” Để giải quyết được nhập nhằng này, máy tính phải xem lại mệnh đề trước và
vận dụng tri thức về thế giới thực để biết rằng “chỉ có cá Sấu mới có khả năng đói” nên sẽ chọn “nó thay thế cho cá Sấu”
Còn trong câu: “Con khỉ ăn quả chuối vì nó chín”, thì máy tính sẽ biết rằng
“chỉ có chuối mới có khả năng chín” nên sẽ chọn “nó” thay thế cho “quả chuối”
1.5 Giới thiệu về hệ thống tổng hợp tiếng nói
1.5.1 Tổng quan
Tổng hợp tiếng nói là việc tạo ra tiếng nói của con người một cách nhân tạo, một hệ thống thực hiện mục đích này được gọi là một hệ thống tổng hợp tiếng nói Tổng hợp tiếng nói có thể thực hiện bằng phần mềm trên máy tính, các thiết bị di động hay các hệ nhúng
Trong vài thập niên gần đây, các bộ tổng hợp tiếng nói có chất lượng ngày càng cao, tuy nhiên mức độ chất lượng của các phương pháp hiện nay chỉ dừng lại ở mức phù hợp với một vài ứng dụng Hiện nay có nhiều phương pháp sử dụng để tổng hợp tiếng nói Phương pháp phổ biến nhất vẫn là phương pháp tổng hợp bằng cách ghép nối các đoạn tiếng nói nhỏ hơn được lưu trữ trong cơ sở dữ liệu [1]
Chất lượng của một hệ thống tổng hợp tiếng nói được đánh giá dựa trên độ giống, độ tự nhiên với tiếng nói của con người và khả năng để người nghe có thể hiểu được hết ý nghĩa của văn bản
Một trong những ứng dụng của tổng hợp tiếng nói đó là tạo ra hệ thống có đầu vào là một đoạn văn bản và đầu ra là một sóng âm thanh hay còn gọi là hệ thống chuyển văn bản thành tiếng nói có tên tiếng Anh là Text To Speech và viết tắt là TTS
Trang 221.5.2 Ý nghĩa của tổng hợp tiếng nói
Tổng hợp tiếng nói nói chung và của TTS nói riêng có rất nhiều ý nghĩa thực tiễn Đặc biệt trên thế giới có nhiều ứng dụng TTS tiếng Anh đã hết sức thành công:
o Giúp đỡ những người bị yếu thị lực, giảm thị lực hoặc tàn tật Đây là một trong những ý nghĩa to lớn nhất của TTS
o Ứng dụng trong các thiết bị truyền thông, các nơi công cộng như nhà ga, bệnh viện, sân bay, có cơ quan có hệ thống lấy số xếp hàng Hiện nay, ở Việt Nam các hệ thống này cũng đang được phát triển, nhưng chất lượng chưa được cao, âm thanh rời rạc và thiếu tự nhiên
1.5.3 Mô hình tổng hợp tiếng nói từ văn bản
Thông thường quá trình tổng hợp tiếng TTS nói được chia làm hai mức xử lý:
Tổng hợp mức thấp Văn bản
Trang 23
Hình 1.3: Mô hình tổng hợp mức cao
1.5.3.2 Tổng hợp mức thấp
Tổng hợp mức thấp là quá trình kết hợp các đoạn tín hiệu đã được phân tích
và xử lý qua quá trình tổng hợp mức cao để tạo ra sóng âm và phát ra tiếng nói Trên thế giới có nhiều phương pháp được đưa ra để tổng hợp tiếng nói trong giai đoạn này như phương pháp Formant, phương pháp ghép nối diphone,…
Các phương pháp được chia ra năm nhóm chính:
Phương pháp tổng hợp dựa trên mô phỏng hệ thống phát âm
Phương pháp tổng hợp dựa trên hệ luật: phương pháp Formant
Phương pháp tổng hợp bằng ghép nối: ghép nối phone, nửa phone, diphone
Phương pháp tổng hợp dựa trên các mô hình: mô hình Markov ẩn (HMM)
Phương pháp tổng hợp dựa trên lai ghép
1.6 Kết luận chương
Trong chương 1, học viên đã nghiên cứu và trình bày tổng quan về xử lý ngôn ngữ tự nhiên, một số lĩnh vực trong xử lý ngôn ngữ tự nhiên cần thiết cho quá trình tổng hợp tiếng nói như: Chuẩn hóa văn bản, phân tích cú pháp, phân tích ngữ cảnh Bên cạnh đó, học viên cũng giới thiệu tổng quan, ý nghĩa và mô hình tổng hợp tiếng nói từ văn bản
Phân tích cú pháp
Đơn vị tiếng nói
Trang 24Chương 2 MỘT SỐ PHƯƠNG PHÁP TỔNG HỢP TIẾNG
NÓI TIẾNG VIỆT
2.1 Tổng hợp mô phỏng hệ thống phát âm
Tổng hợp mô phỏng hệ thống phát âm là phương pháp mà con người cố gắng
mô phỏng quá trình tạo ra tiếng nói sao cho càng giống với cơ chế phát âm của con người càng tốt Vì vậy, về mặt lý thuyết, đây được xem là phương pháp cơ bản nhất
để tổng hợp tiếng nói, nhưng cũng vì thế mà phương pháp này khó thực hiện và tính toán nhất Dẫn đến là phương pháp này cũng khó đem lại tiếng nói chất lượng cao
2.1.1 Hệ thống tiếng nói con người
2.1.1.1 Bộ máy phát âm
Bộ máy phát âm bao gồm các thành phần riêng rẽ như phổi, khí quản, thanh quản, và các đường dẫn miệng, mũi
Hình 2.1: Mô hình phát âm của con người
(Nguồn: Tổng hợp từ website bomayphatam.com)
Trang 25Trong đó:
- Thanh quản chứa hai dây thanh có thể dao động tạo ra sự cộng hưởng cần thiết
để tạo ra âm thanh
- Tuyến âm là ống không đều bắt đầu từ môi, kết thúc bởi dây thanh hoặc thanh quản
- Khoang mũi là ống không đều bắt đầu từ môi, kết thúc bởi vòm miệng,
có độ dài cố định khoảng 12cm đối với người lớn
- Vòm miệng là các nếp cơ chuyển động
2.1.1.2 Cơ chế phát âm
Trong quá trình tạo âm thanh không phải là âm mũi, vòm miệng mở, khoang mũi đóng lại, dòng khí sẽ chỉ đi qua khoang mũi Khi phát âm mũi, vòm miệng hạ thấp và dòng khí sẽ chỉ đi qua khoang mũi Tuyến âm sẽ được kích thích bởi nguồn năng lượng chính tại thanh môn Tiếng nói được tạo ra do tín hiệu nguồn từ thanh môn phát ra, đẩy không khí có trong phổi lên tạo thành dòng khí, va chạm vào hai dây thanh trong tuyến âm Hai dây thanh dao động sẽ tạo ra cộng hưởng, dao động
âm sẽ được lan truyền theo tuyến âm (tính từ tuyến âm đến khoang miệng) và sau khi
đi qua khoang mũi và môi, sẽ tạo ra tiếng nói
2.1.1.3 Hệ thống tổng hợp mô phỏng phát âm
Hệ thống tổng hợp mô phỏng phát âm đầu tiên là ASY, thường được dùng trong các phòng thí nghiệm trong nghiên cứu, được phát triển ở phòng thí nghiệm Haskins vào giữa những năm 1970 bởi Philip Rubin, Tom Baer, và Paul Mermelstein ASY dựa trên mô hình cơ quan phát âm đã được tạo ra bởi phòng thí nghiệm Bell vào những năm 1960 và 1970 bởi Paul Mermelstein, Cecil Coker, và các đồng nghiệp khác
Trước đây, tổng hợp mô phỏng phát âm chỉ dừng lại ở lĩnh vực nghiên cứu khoa học Lý do là ít mô hình có thể tạo ra âm thanh chất lượng đủ cao hoặc có thể chạy hiệu quả trên các ứng dụng thương mại Một ngoại lệ là hệ thống dựa trên NeXT;
Trang 26vốn được phát triển và thương mại hóa bởi Trillium Sound Research Inc, ở Calgary, Alberta, Canada Đây là một công ty tách ra từ Đại học Calgary nơi các nghiên cứu ban đầu đã được thực hiện.Theo sau các vụ chuyển nhượng từng phần của NeXT, phần mềm của Trillium được triển khai với giấy phéo tự do GPL Dự án “gnuspeech”, một dự án của GNU, tiếp tục phát triển phần mềm này Phần mềm gốc NeXT và các cấu hình chuyển đổi sang cho hệ điều hành Mac OS/X và GNUstep trong GNU/Linux
có thể tìm thấy tại trang GNU, chúng đều kèm theo tài liệu hướng dẫn trực tuyến và các bài viết liên quan đến lý thuyết nền tảng của công trình Hệ thống, vốn được thương mại hóa lần đầu vào năm 1994, tạo ra một máy tổng hợp giọng nói dựa trên
mô phỏng phát âm hoàn chỉnh, dựa trên mô hình ống dẫn sóng tương đương với cơ quan phát âm của người Nó được điều khiển bởi mô hình riêng biệt của Carré; bản thân mô hình này lại dựa trên công trình của Gunnar Fant và một số nhà nghiên cứu
ở Phòng thí nghiệm Công nghệ Giọng nói Stockholm thuộc Viện Cộng nghệ Hoàng gia Thụy Điển về tổng hợp giọng nói cộng hưởng tần số Công trình này cho thấy các cộng hưởng tần số trong ống cộng hưởng có thể được điều khiển bằng cách thay đổi tám tham số tương đồng với các cách phát âm tự nhiên của cơ quan phát âm của người Hệ thống bao gồm một từ điển phát âm cùng với các quy tắc phát âm tùy thuộc ngữ cảnh để giúp ghép nối âm điệu và tạo ra các tham số phát âm; mô phỏng theo nhịp điệu và ngữ điệu thu được từ các kết quả nghiên cứu ngữ âm học
Do những hạn chế trong vấn đề mô phỏng các tham số tiếng nói và năng lực tính toán, mà tổng hợp mô phỏng hệ thống phát âm đã không đạt được nhiều thành công mong đợi như phương pháp tổng hợp tiếng nói khác Tuy nhiên, nó có rất nhiều ứng dụng hữu ích trong nghiên cứu cơ bản về quá trình tạo ra tiếng nói, và hiện nay phương pháp này đang được đầu tư nghiên cứu và phát triển trở lại Sự phát triển của khoa học tính toán, giảm giá thành thiết bị và khảng năng, tài nguyên dành cho tính toán ngày càng tang kiến cho việc mô phỏng cơ chế phát âm hiệu quả hơn [25]
Trang 272.2 Tổng hợp tần số formant
Lý thuyết âm học của quá trình tạo ra tiếng nói con người là xem bộ máy phát
âm của con người là hệ thống gồm: nguồn âm là đôi dây thanh điều khiển dòng khí thoát ra từ phổi; tuyến âm là các khoang cộng hưởng gồm khoang hầu , khoang miệng
và khoang mũi, lưỡi thay đổi vị trí làm thay đổi hình dáng tuyến âm, hình dáng và vị trí đôi môi, sự cho phép hay không cho phép dòng khí thoát qua đường mũi khi nói, cách thoái hơi qua miệng thể hiện tính tán xạ của mô hình Tuyến âm được mô tả theo hai cách: mô hình tuyến âm nối tiếp – các bộ cộng hưởng được ghép nối tiếp; và mô hình tuyến âm song song – sự cộng hưởng để thể hiện các tần số formant diễn ra đồng thời
Tổng hợp tần số formant hay còn gọi là tổng hợp formant là một trong những phương pháp dựa trên lý thuyết âm học của quá trình tạo ra tiếng nói Mô hình bộ tổng hợp là một hệ thống nguồn gồm nguồn âm và bộ lọc (hình 2.1) Các tần số formant và các tham số đặc trưng khác là tham số điều khiển mô hình này
Hình 2.2: Mô hình tổng hợp tần số formant
Một số phương pháp khác cũng dựa trên các kĩ thuật xử lý tín hiệu như: Phương pháp dự đoán tuyến tính LPC, phương pháp hình sin, phương pháp dựa trên
mã hóa, giải mã phố
Ngoài ra, còn một số cách phân loại khác như phương pháp tổng hợp trên cơ
sở luật và phương pháp trên cơ sở tiếng nói tự nhiên ghi trước nhưng kết luận vẫn chỉ bao gồm 3 phương pháp chính được nêu trên
(Nguồn: Tổng hợp tiếng nói dựa trên tổng hợp tần số formant)
Trang 282.2.1 Các mô hình tổng hợp formant
Phương pháp tổng hợp formant yêu cầu phải tổng hợp được tối thiểu 3 formant
để hiểu được tiếng nói và để có thể tạo ra tiếng nói có chất lượng cao thì cần tới 5 formant Tùy theo cách bố trí các bộ cộng hưởng mà ta có bộ tổng hợp formant là nối tiếp hay song song
2.2.1.1 Bộ tổng hợp formant nối tiếp
Bộ tổng hợp formant nối tiếp là một bộ tổng hợp formant có các tầng nối tiếp, đầu ra của bộ cộng hưởng này là đầu vào của bộ cộng hưởng kia
Hình 2.3: Mô hình tổng hợp formant nối tiếp
2.2.1.2 Bộ tổng hợp formant song song
Bộ tổng hợp formant song song bao gồm các bộ cộng hưởng mắc song song Đầu ra là kết hợp của tín hiệu nguồn và tất cả các formant Cấu trúc song song cần nhiều thông tin để điều khiển hơn
Hình 2.4: Mô hình bộ tổng hợp formant song song
(Nguồn: Tổng hợp tiếng nói dựa trên tổng hợp tần số formant)
(Nguồn: Tổng hợp tiếng nói dựa trên tổng hợp tần số formant)
Trang 292.2.2 Tổng hợp tiếng nói trên cơ sở tổng hợp formant
Một trong những hạn chế thường được đề cập đến khi bàn về mô hình tổng hợp formant dựa trên mô hình nguồn âm, bộ lọc là tiếng nói tạo ra nghe như “robot”
Lý do là vì mô hình này mô tả tốt cho âm hữu thanh và các tần số formant nhưng không có đặc trưng vật lý của các tuyến âm Ưu điểm của mô hình tổng hợp formant
là dữ liệu và chương trình rất nhỏ, đặc biệt có thể điều khiển mềm dẻo các thông số đặc trưng của tiếng nói, điều này rất quan trọng trong việc xây dựng các hệ thổng tổng hợp tiếng nói có chất lượng cao Mô hình tổng hợp formant mà tiêu biểu nhất là
mô hình tổng hợp của Klatt, đã có các sản phẩm thương mại nổi tiếng như DECtalk (tiền thân là MITALK) thành công với mô hình này Hệ tổng hợp tiếng nói này thường đạt được điểm cao trong các lần đánh giá chất lượng và vẫn được tiếp tục phát triển
và dử dụng rất nhiều Nhiều hệ tổng hợp, cũng như các nhà nghiên cứu về tổng hợp tiếng nói cho các ngôn ngữ khác nhau đã sử dụng mô hình này Một trong những kết quả ấn tượng là thí nghiệm về sao chép tiếng nói: các tham số đặc trưng được phân tích ra từ tiếng nói tự nhiên, sau đó được điều chỉnh bằng tay cho bộ tổng hợp formant của Klat, kết quả là tạo ra được tiếng nói tổng hợp khá là giống với tiếng nói tự nhiên Điều này nói lên là có thể tổng hợp tiếng nói với chất lượng rất cao, khi tạo ra các tham số điều khiển thích hợp
Tổng hợp formant cũng chính là nghiên cứu, phân tích ngữ âm của một ngôn ngữ, các tham số đặc trưng chỉ thực sự đúng đắn khi có thể sử dụng để tổng hợp lại được Trong xử lý tiếng nói thì phân tích là một nhiệm vụ trung tâm
Hiện nay, với những công cụ thích hợp chúng ta hoàn toàn có thể xác định tần
số formant cho các âm vị của tiếng Việt [3] [4] Tuy nhiên, phương pháp này tồn tại một số nhược điểm là khó xây dựng, cần nghiên cứu sâu sắc về ngữ âm của ngôn ngữ, phức tạp trong việc xác định các tham số điều khiển bộ tổng hợp, hạn chế về tính tự nhiên, độ giống tiếng người của tiếng nói tạo ra, chất lượng tiếng nói không
tự nhiên (nói nghe như tiếng robot, khác hoàn toàn giọng nói con người) và phụ thuộc nhiều vào chất lượng của quá trình phân tích tiếng nói của từng ngôn ngữ Ngoài ra,
Trang 30tổng hợp formant yêu cầu chuẩn bị trước các tham số chính xác trước khi tiến hành tổng hợp tiếng nói, khiến cho quá trình tổng hợp thiếu linh hoạt
Tại Việt Nam, phương pháp tổng hợp formant cũng đã có vài công trình nghiên cứu và đã có các kết quả đưa vào ứng dụng thực tế Chẳng hạn, phần mềm “đọc văn bản tiếng Việt”, năm 2004 [5]; Phần mềm tổng hợp tiếng nói tiếng Việt VnSpeech (Hình 2.5), năm 2009 [4], tổng hợp tiếng nói theo hướng tiếp cận này Hệ thống tổng hợp formant có thể đọc được hầu hết các âm tiết tiếng Việt ở mức nghe rõ, tuy vậy,
nó có nhược điểm là mức độ tự nhiên không cao
Hình 2.5: Mô hình VnSpeech tổng hợp tiếng Việt dựa vào formant
2.3 Tổng hợp dựa trên ghép nối
Tổng hợp ghép nối (hay còn gọi là lựa chọn đơn vị âm) là một trong số các phương pháp tổng hợp mới phát triển sau này, kết hợp hay còn gọi là ghép nối các mẫu tiếng nói tự nhiên thu âm sẵn lại với nhau để tạo ra câu nói tổng hợp [24] Đơn
vị âm (unit) phổ biến là âm vị, âm tiết, bán âm tiết, âm đôi, âm ba, từ, cụm từ Do các đặc tính tự nhiên của tiếng nói được lưu giữ trong các đơn vị âm, nên tổng hợp ghép nối là phương pháp có khả năng tổng hợp tiếng nói với mức độ dễ hiểu, tự nhiên và
Trang 31Ngoài ra, tập các đơn vị âm luôn bị hạn chế về số lượng cũng như nội dung Điều này dẫn đến tiếng nói tổng hợp nghe “thô ráp”, các đơn vị âm ghép nối với nhau thường không phù hợp ngữ cảnh Để có thể lưu trữ được tất cả các đơn vị âm cần thiết cho một lượng đủ lớn các giọng người nói khác nhau, với nhiều ngữ cảnh và đặc trưng trạng thái, thì cần phải có một không gian rất lớn và tốc độ tính toán, truy vấn của hệ thống mạnh, do đó điều này là không kinh tế [19] Hạn chế này khiến tính linh hoạt của tổng hợp ghép nối bị ảnh hưởng và phương pháp này chỉ có thể “bắt chước” một giọng người nói cụ thể trong tập dữ liệu đơn vị âm rất lớn của người đó
2.3.1 Các vấn đề trong tổng hợp tiếng nói bằng phương pháp ghép nối
Trong tổng hợp ghép nối, theo [10], các vấn đề cần giải quyết để đạt được tiếng nói tổng hợp chất lượng tốt bao gồm:
o Lựa chọn loại đơn vị âm
o Xây dựng kho đơn vị âm
o Tìm kiếm đơn vị âm tối ưu
o Ghép nối đơn vị âm
2.3.1.1 Lựa chọn đơn vị âm
Trong tổng hợp tiếng nói tiếng Việt, các loại đơn vị âm được phân tích từ âm tiết có thể dùng trong tổng hợp bao gồm: âm vị, âm vị kép, bán âm tiết, âm đầu/vần,
âm tiết [10]
Âm vị là loại đơn vị nhỏ nhất trong hệ thống các đơn vị của ngôn ngữ Hệ thống
ghép nối sử dụng âm vị về mặt lý thuyết có thể ghép nối được tất cả các âm tiết Trong tiếng Việt có 40 âm vị không có thanh điệu, 130 âm vị có thanh điệu [10] Vì số lượng khá nhỏ nên kích thước cơ sở dữ liệu của hệ thống sẽ được thu gọn lại Tuy nhiên, do
có nhiều sự thay đổi về ngữ cảnh, sự không liên tục trong ghép nối xảy ra thường xuyên Âm thanh tổng hợp được vì thế sẽ có chất chưa tốt và tương đối khó nghe
Âm vị kép là một đoạn tín hiệu cấu thành từ nửa cuối một đơn vị âm và nửa
đầu đơn vị âm tiếp theo Do đó, âm vị kép giữ được sự chuyển tiếp giữa các đơn vị
âm Các biên giữa âm vị kép trong khi tổng hợp là điểm giữa các đơn vị âm, điều này
Trang 32làm giảm đi sự không liên tục trong ghép nối, bởi những điểm này thường có vùng phổ ổn định và bền hơn với các ngữ cảnh âm học
Bán âm tiết là một phân đoạn tín hiệu của một nửa đầu và nửa cuối của một
âm tiết Như vậy, để tạo thành một âm tiết, ta chỉ cần ghép nối hai bán âm tiết với nhau, số điểm ghép nối chỉ là một So với âm vị hoặc âm vị kép thì rõ ràng việc sử dụng bán âm tiết hứa hẹn tín hiệu tổng hợp có chất lượng tốt hơn do giảm thiểu được
sự không liên tục trong ghép nối
Âm đầu là phần phụ âm bắt đầu một âm tiết, phần này là tùy chọn và không
mang thông tin về thanh điệu
Vần là sự kết hợp của ba thành phần: âm đệm, âm chính và âm cuối Phần này
là phần bắt buộc và mang thông tin về thanh điệu của âm tiết Ưu điểm của loại đơn
vị âm này là nó giữ lại đặc tính thanh điệu của âm tiết Tuy nhiên, nhược điểm của loại này giống với loại đơn vị âm kiểu âm vị, có nhiều sự không liên tục tại điểm ghép nối giữa âm đầu và vần
Âm tiết là đơn vị phát âm nhỏ nhất của lời nói, mang những sự kiện ngôn điệu
như thanh điệu, trọng âm Ưu điểm của loại đơn vị âm này là ta không cần cắt âm tiết
ra thành nhiều phần, vì vậy nó bảo toàn đầy đủ sự đồng cấu âm giữa các âm vị bên trong của đơn vị âm Xét về mặt chất lượng, âm tiết là loại đơn vị âm lý tưởng cho tổng hợp Tuy nhiên, với ngôn ngữ có thanh điệu và đơn âm tiết như tiếng Việt, số lượng âm tiết là khá lớn Vì vậy ta khó có thể xây dựng cơ sở dữ liệu bao phủ đầy đủ tất cả các âm tiết của tiếng Việt Muốn đạt được độ phủ CSDL lớn, hệ thống tổng hợp tiếng nói thường được xây dựng cho các lĩnh vực giới hạn, ví dụ như [6] áp dụng trong lĩnh vực tường thuật bóng đá
Cụm từ có thể là một hoặc bất kì một đơn vị âm nào Sử dụng các đơn vị âm
này có thể tăng mức độ tự nhiên của tiếng nói tổng hợp do giảm thiểu điểm ghép nối Tuy nhiên việc đảm bảo đơn vị âm này khớp với ngữ điệu mong muốn là rất khó Việc dùng các cụm từ cũng có thuận lợi là khi tìm kiếm, ta không cần dạng phiên âm
Trang 33của âm tiết mà có thể tìm trực tiếp bản thân cụm từ đó Điều này làm giảm thời gian thực thi của chương trình
Trong các loại đơn vị âm nhỏ hơn âm tiết, theo [10], bán âm tiết là loại được
sử dụng trong tiếng Việt mang lại kết quả tổng hợp tốt so với các loại đơn vị âm còn lại Kích thước cơ sở dữ liệu chấp nhận được (khoảng dưới 10M), chương trình có thể chạy trên máy tính cá nhân, hoặc các thiết bị di động Ngày nay, sự phát triển của phần cứng cho phép ta có thể nghĩ tới chương trình tổng hợp với kích thước cơ sở dữ liệu lớn hơn, thời gian thực thi chương trình nhanh hơn Việc sử dụng kết hợp các loại đơn vị âm bao gồm bán âm tiết, âm tiết, cụm từ được đề xuất, gọi là lựa chọn đơn
Xác suất tìm thấy trong CSDL Cụm từ Dài
Như bảng trên đã chỉ ra ưu nhược điểm của từng loại đơn vị âm Đơn vị âm càng dài thì số điểm ghép nối càng giảm, tuy nhiên xác suất tìm thấy đơn vị âm này trong CSDL cũng nhỏ hơn so với đơn vị âm ngắn hơn Lựa chọn đơn vị không đồng nhất sẽ kết hợp ưu điểm của cả ba loại đơn vị âm trên: giảm thiểu số điểm ghép nối bằng việc sử dụng đơn vị âm mức cụm từ và âm tiết, đồng thời đảm bảo khả năng tổng hợp hầu hết âm tiết trong tiếng Việt bằng việc sử dụng bán âm tiết Nhược điểm của phương pháp này là sự rắc rối trong việc sử dụng ba loại đơn vị âm đòi hỏi cách
xử lý linh hoạt, chuyển đổi qua lại giữa các loại đơn vị âm
Bảng 2.1: Các loại đơn vị âm sử dụng
Trang 342.3.1.2 Xây dựng kho đơn vị âm
Trong thời kì đầu phát triển tổng hợp tiếng nói ghép nối, kích thước của kho
dữ liệu không lớn, và mỗi đơn vị âm chỉ có một mẫu Cho tới những năm 1990, các
hệ thống tổng hợp ghép nối dựa trên kho đơn vị âm kích thước lớn mới được phát triển, và số lượng mẫu của một đơn vị âm cũng tăng lên
Để xây dựng kho đơn vị âm, các việc cơ bản cần làm là ghi âm các đoạn tiếng nói từ một người thu âm duy nhất và gán nhãn các đoạn tiếng nói với văn bản tương ứng Theo [14], do việc ghi âm thường diễn ra trong nhiều phiên nên một điều quan trọng là duy trì điều kiện thu âm không thay đổi trong suốt quá trình Việc này có mục đích là tránh sự không liên tục về phổ và biên độ gây ra bởi điều kiện thu âm thay đổi
Chúng ta có thể thu được tiếng nói tổng hợp chất lượng cao hơn nếu như văn bản được thu âm có nội dung tương đồng với văn bản cần tổng hợp Việc này làm cho chúng ta có thể sử dụng đơn vị âm dài hơn, và số điểm ghép nối cần thiết sẽ giảm
đi
Sau khi thu âm dữ liệu văn bản, việc tiếp theo là phân đoạn tín hiệu thành các đoạn tương ứng với đơn vị âm Quá trình phân đoạn có thể thực hiện tự động hoặc thủ công Vấn đề lớn nhất đối với quá trình phân đoạn thủ công là đòi hỏi công sức lớn trong việc xác định ranh giới giữa các đơn vị âm Đối với phân đoạn tự động, việc kiểm tra thủ công sau khi phân đoạn là cần thiết để đảm bảo rằng quá trình phân đoạn
là đúng trong tất cả các trường hợp
Bước tiếp theo là gán nhãn cho đoạn âm thanh Các thông số liên quan như trường độ, tần số cơ bản, điểm đánh dấu đường biên của tín hiệu cũng được gán cho đơn vị âm Việc lựa chọn các thông số để gán cho đơn vị âm tùy vào từng hệ thống
và ngôn ngữ Trong tiếng Việt, theo [10] các tham số được dùng là tần số cơ bản, năng lượng trung bình, trường độ, các hệ số khoảng cách phổ MFC.… Đây sẽ là các tham số dùng trong việc tính toán khoảng cách ngữ điệu và ngữ âm giữa các đơn vị
âm
Trang 352.3.1.3 Tìm kiếm đơn vị âm tối ưu
Văn bản đầu vào được phân tích thành chuỗi các đơn vị âm đích Các đơn vị
âm đích này sẽ được dùng để tìm kiếm trong cơ sở dữ liệu Mục đích của việc tìm kiếm là chọn ra chuỗi đơn vị tối ưu khớp với ngữ điệu mong muốn nhất Trong cơ sở
dữ liệu thường lưu trữ nhiều mẫu của một đơn vị âm Hệ thống phải tìm kiếm các đơn
vị âm tương ứng tốt nhất sao cho khi ghép nối chúng lại với nhau được tiếng nói tổng hợp có chất lượng tốt nhất có thể Các đơn vị âm tốt nhất là các đơn vị thỏa mãn sao cho độ méo tiềm tàng giữa chúng là tốt nhất [15]
Hai phương pháp được dùng để lựa chọn các đơn vị âm tối ưu là :
Chọn lựa dựa trên mô hình cây quyết định
Trong phương pháp này, dữ liệu học được nhóm lại trong một cây bằng cách phân đoạn mỗi nút thành các nút con dựa trên dữ liệu âm học, bằng cách sử dụng các tiêu chuẩn được gợi ý theo nhãn ngữ cảnh của dữ liệu Điều này tạo ra một số lượng lớn nhóm, mỗi nhóm chứa các phân đoạn giống nhau ở mức độ ngữ cảnh và âm học Nhóm được sử dụng cho một ngữ cảnh đặc biệt khi tổng hợp sau đó có thể được suy
ra từ cây thích hợp hoặc sử dụng các kết quả ngữ cảnh tương đương nhằm mục đích
so sánh nhãn của ngữ cảnh yêu cầu với nhãn của các nhóm có thể sử dụng được
Chọn lựa dựa trên việc tối ưu hóa hàm chi phí
Trong phương pháp trên, mỗi nhóm thường được biểu diễn bởi điểm trung tâm hoặc phân đoạn gần điểm trung tâm nhất Tuy vậy, các đơn vị âm có cùng ngữ cảnh vẫn có thể có sự khác nhau về phổ hoặc ngữ điệu, ghép nối những đơn vị âm này vẫn
có thể gây ra sự không liên tục Một phương pháp khác được đưa ra Sau khi văn bản đầu vào được phân tích ngữ điệu và phiên âm, hệ thống sẽ tìm kiếm các đơn vị âm tốt nhất trong số các mẫu dựa trên việc tối thiểu hóa hàm chi phí
Nội dung của phương pháp này là sẽ chọn ra đơn vị âm có hàm chi phí nhỏ nhất trong số các mẫu đơn vị âm Hàm chi phí là tổng có trọng số của hai loại chi phí:
o Chi phí đích thể hiện bằng sự khác nhau giữa đơn vị âm được lựa chọn với đơn vị âm cần tổng hợp
Trang 36o Chi phí ghép nối được thể hiện bằng khoảng cách giữa đơn vị âm được chọn
so với đơn vị âm trước đó
Theo các nghiên cứu và thực nghiệm cho tiếng Việt [10], việc chọn lựa đơn vị
âm dựa trên hàm chi phí cho kết quả tốt hơn mô hình cây quyết định
2.3.2 Các phương pháp tổng hợp bằng ghép nối
2.3.2.1 Phương pháp tổng hợp chọn đơn vị
Tổng hợp chọn đơn vị sử dụng một cơ sở dữ liệu lớn các giọng nói ghi âm Trong lúc ghi âm, mỗi câu phát biểu được tách ra thành các đợn vị âm khác nhau như: các tiếng đơn lẻ, phone, từ, nhóm từ hoặc câu văn
Thông thường, việc tách ra như vậy cần một máy nhận dạng tiếng nói được đặt ở chế độ so khớp với văn bản viết tương ứng với đoạn ghi âm và dùng đến hiển thị sóng âm và phổ âm thanh.Một bảng tra các đơn vị được lập ra dựa trên các phần
đã tách và các thông số âm học như tần số cơ bản, thời lượng, vị trí của âm tiết và các tiếng gần đó Khi chạy, các câu phát biểu được tạo ra bằng cách xác định chuỗi đơn
vị phù hợp nhất từ cơ sở dữ liệu Quá trình này được gọi là chọn đơn vị, và thường cần dùng đến cây quyết định để thực hiện
Kỹ thuật chọn đơn vị tạo ra tiếng nói có chất lượng và độ tự nhiên cao do không áp dụng các kỹ thuật xử lý tín hiệu số lên các đoạn giọng nói đã ghi âm, tuy rằng một số hệ thống có thể áp dụng xử lý tín hiệu tại các đoạn nối giữa các tiếng để làm liền mạch kết quả sau khi ghép nối Thực tế, các hệ thống chọn đơn vị có thể tạo
ra giọng nói không thể phân biệt được với người thật Tuy nhiên, để đạt được độ tự nhiên cao, thường cần một cơ sở dữ liệu lớn chứa các đơn vị để lựa chọn, có thể lên tới vài ngàn gigabyte, tương đương với hàng chục giờ ghi âm Bên cạnh đó, chúng ta cũng cần một kĩ thuật cho phép điều khiển các tham số ngữ điệu của đơn vị âm cần tổng hợp để khi ghép nối giảm được tối thiểu sự không liên tục giữa chúng Cụ thể mục tiêu là thay đổi biên độ, trường độ và cao độ của đoạn tiếng nói Việc sửa đổi biên độ có thể dễ dàng được thực hiện bởi bộ nhân trực tiếp, tuy nhiên trường độ và cao độ không đơn giản như vậy Kĩ thuật được đề xuất là PSOLA (Pitch Synchronous
Trang 37Overlap and Add) Đây là một kĩ thuật dùng rất phổ biến trong các chương trình tổng hợp tiếng nói tiếng Việt và các tiếng khác [17]
2.3.2.2 Phương pháp PSOLA
Phương pháp PSOLA phân tích tín hiệu tiếng nói đầu vào thành một chuỗi các sóng cơ bản riêng biệt Các sóng cơ bản này thu được nhờ sử dụng các hàm cửa sổ tập trung tại các vị trí chu kì cơ bản của tín hiệu Các sóng cơ bản này được biến đổi
về trường độ và cao độ một cách riêng biệt rồi sau đó cộng xếp chồng chúng lên nhau
Phương pháp PSOLA bao gồm 3 bước cơ bản:
Phân tích tín hiệu thành các sóng cơ bản
Tính toán các điểm đánh dấu cao độ: bước này sẽ thực hiện biến đổi trường
độ và cao độ của tín hiệu Việc biến đổi cao độ được thực hiện bằng cách thay đổi khoảng cách giữa các sóng cơ bản thu được ở bước phân tích Việc biến đổi trường độ tín hiệu được thực hiện bằng việc lặp lại hoặc bỏ bớt các sóng cơ bản Lặp lại thì sẽ làm tăng trường độ, bỏ bớt làm giảm trường
độ
Tổng hợp lại các đoạn tín hiệu đã được biến đổi
2.3.2.3 Các phiên bản của PSOLA
o TD-PSOLA (Time Domain - PSOLA) là phiên bản miền thời gian của PSOLA (TD-PSOLA) Phương pháp này thao tác với tín hiệu trên miền thời gian nên được sử dụng nhiều vì hiệu quả trong tính toán của nó
o FD-PSOLA (Frequency Domain - PSOLA) là phương pháp bao gồm các bước giống như TD-PSOLA nhưng thao tác trên miền tần số Phương pháp này có chi phí tính toán cao hơn TD-PSOLA do cần ít nhất một phép biến đổi FFT và IFFT cho mỗi đoạn tín hiệu
o LP-PSOLA (Linear Prediction – PSOLA): phương pháp dự đoán tuyến tính được thiết kế để mã hoá tiếng nói nhưng phương pháp này cũng có thể dùng cho tổng hợp
Trang 38PSOLA là một phương pháp được sử dụng trong xử lý tiếng nói từ rất sớm và
đã được trình bày rất chi tiết trong các tài liệu và luận văn về tổng hợp tiếng nói [10] [14].Vì vậy, luận văn này sẽ không trình bày chi tiết nội dung phương pháp
2.3.2.4 Vấn đề không liên tục trong ghép nối
Khi sử dụng kỹ thuật PSOLA cho việc ghép nối các đơn vị âm, sẽ vẫn tồn tại
ba khả năng về sự không liên tục có thể xảy ra: không liên tục về pha, tần số cơ bản
và phổ [10]
Sự không liên tục về pha: xảy ra do có sự khác nhau về vị trí của các điểm
đánh dấu cao độ giữa các đoạn tín hiệu trái và phải Để loại bỏ sự không liên tục này,
ta cần phải xác định lại vị trí các điểm đánh dấu cao độ theo cùng một chuẩn và đồng nhất cho tất cả các mẫu của tín hiệu
Sự không liên tục về tần số cơ bản: xảy ra do các đoạn tín hiêu cần ghép nối
có các tần số cơ bản khác nhau Khi thu âm dữ liệu tiếng nói, nếu người thu âm nói với một tần số cơ bản không đổi thì có thể giảm thiểu sự không liên tục này Tuy nhiên đối với ngôn ngữ có thanh điệu thì đây không phải là một biện pháp thích hợp Phương pháp TD-PSOLA có thể dùng để chuẩn hóa theo tần số cơ bản Trong hệ thống tổng hợp ghép nối, sự không liên tục này được biểu diễn bởi một chi phí kết nối đo sự méo ngữ điệu tiềm tàng giữa hai đoạn tiếng nói Quá trình lựa chọn đơn vị
sẽ chọn ra đoạn tín hiệu có chi phí thấp để tổng hợp
Sự không liên tục về phổ: xảy ra do hiện tượng đồng cấu âm, gây ra những ảnh
hưởng khác nhau lên các đoạn tín hiệu tiếng nói phía trái và phía phải mà xuất phát
từ ngữ cảnh khác nhau Phương pháp TD-PSOLA không phải là phương pháp có thể loại bỏ sự không liên tục này mà ta có thể sử dụng một trong hai cách sau:
Liên kết TD-PSOLA với một mô hình tham số dạng LPC và thực hiện làm trơn phổ trong miền tham số
Áp dụng kĩ thuật MBR-PSOLA
Trang 39Trong hệ thống tổng hợp theo phương pháp ghép nối, sự không liên tục này cũng được biểu diễn bởi một chi phí kết nối đo sự méo phổ tiềm tàng giữa hai phân đoạn tiếng nói Nhờ có chi phí này mà những đoạn tín hiệu tiếng nói có sự không liên tục về phổ thấp sẽ được lựa chọn để ghép nối
2.3.3 Tổng hợp chuyên biệt
Tổng hợp chuyên biệt ghép nối các từ, và đoạn văn đã được ghi âm để tạo ra lời phát biểu Nó được dùng trong các ứng dụng có các văn bản chuyên biệt cho một chuyên ngành, sử dụng lượng từ vựng hạn chế, như các thông báo chuyến bay hay dự báo thời tiết
Công nghệ này rất đơn giản và đã được thương mại hóa từ lâu, đã đi vào các
đồ vật như đồng hồ biết nói hay máy tính bỏ túi biết nói Mức độ tự nhiên của các hệ thống này có thể rất cao vì số lượng các câu nói không nhiều và khớp với lời văn và
âm điệu của giọng nói ghi âm Tuy nhiên các hệ thống này bị hạn chế bởi cơ sở dữ liệu chuyên biệt, không phục vụ mọi mục đích mà chỉ hoạt động với các câu nói mà chúng được lập trình sẵn
2.4 Tổng hợp dùng tham số thống kê
2.4.1 Tổng quan về tổng hợp dùng tham số thống kê
Một phương pháp khác được nghiên cứu rộng rãi hiện nay trong tổng hợp tiếng nói là sử dụng các HMM (Hidden Markov Model) [16] [21] [22] [26] Ở đây, HMM
là mô hình thống kê, sử dụng để mô hình hoá các tham số tiếng nói của một đơn vị ngữ âm, trong một ngữ cảnh cụ thể, được trích rút đồng thời từ cơ sở dữ liệu tiếng nói Nhờ tập các HMM này, hệ thống sau đó có thể phát sinh ra các tham số tiếng nói, tuỳ thuộc vào nội dung văn bản đầu vào, để tạo ra tiếng nói dưới dạng sóng nhờ các tham số được phát xạ này
Hệ thống tổng hợp tiếng nói dựa trên HMM, cũng có thể xem là một phát triển của kỹ thuật tổng hợp ghép nối mà đơn vị âm là âm vị, là một hệ thống có khả năng tạo ra tiếng nói mang các phong cách nói khác nhau, với đặc trưng của nhiều người
Trang 40nói khác nhau, thậm chí mang cả cảm xúc của người nói Ưu điểm của phương pháp này là cần ít bộ nhớ lưu trữ và tài nguyên hệ thống hơn so với tổng hợp dựa trên ghép nối và có thể điều chỉnh tham số để thay đổi ngữ điệu, thay đổi các đặc trưng người nói Tuy nhiên, mức độ tự nhiên trong tiếng nói tổng hợp của các hệ thống TTS dựa trên HMM thường bị suy giảm so với tổng hợp tiếng nói dựa trên ghép nối
Mặc dù có nhiều ưu điểm, nhưng hệ thống tổng hợp tiếng nói dựa trên HMM vẫn còn những tồn tại Trong hệ thống này phổ tín hiệu và tần số cơ bản được ước lượng từ các giá trị xấp xỉ trung bình của phổ và tần số cơ bản, phát xạ từ các HMM được huấn luyện từ nhiều dữ liệu khác nhau Các đặc trưng ngôn điệu của tiếng nói thu âm gốc có thể bị thay thế bởi các đặc trưng “trung bình” này, khiến cho tiếng nói tổng hợp nghe có vẻ “đều đều”, quá “mịn” hay quá “ổn định” Đặc điểm quá “mịn” của tiếng nói tổng hợp dựa trên HMM vẫn có thể chấp nhận được khi chỉ chú ý đến tính chất nghe hiểu Nhưng chính những hạn chế này khiến cho tiếng nói tổng hợp dựa trên HMM nghe như bị “nghẹt mũi” và làm giảm ngôn điệu, sắc thái cảm xúc hay phong cách nói trong câu nói
Hình 2.6: Mô hình hệ thống TTS dựa trên mô hình Markov ẩn