ĐẶT VẤN ĐỀ Máy vi tính là một trong những phát minh ảnh hưởng nhiều nhất tới đời sống con người trong thế kỉ vừa qua. Với máy vi tính, con người có thể làm được nhiều việc mà trước đó người ta không nghĩ tới. Lĩnh vực tương tác người máy ra đời giúp con người dễ dàng tương tác hơn với máy tính. Trước đây, con người có thể tương tác với máy tính bằng mắt, bằng tay thông qua các thiết bị như bàn phím, chuột, màn hình.
Càng ngày yêu cầu về tính tiện dụng trong tương tác của con người ngày càng cao. Các hình thức tương tác mới ra đời như tương tác bằng cử chỉ, giọng nói… Tổng hợp tiếng nói là một lĩnh vực quan trọng trong giao tiếp người máy và được nghiên cứu, phát triển từ khá sớm trên thế giới. Tại Việt Nam đã có nhiều bộ tổng hợp tiếng nói được phát triển như bộ tổng hợp “Sao Mai” của trung tâm Sao Mai, “Hoa Súng” của trung tâm nghiên cứu Mica – ĐH BKHN, “Tiếng nói phương Nam” của ĐHQG-TPHCM. Tuy nhiên, các bộ tổng hợp trên vẫn còn cần cải thiện hoặc về chất lượng tiếng nói, hoặc về kích thước CSDL.
Với mong muốn xây dựng một bộ tổng hợp tiếng nói có chất lượng tốt, kích thước CSDL không quá lớn, đồ án này quyết định chọn phương pháp lựa chọn đơn vị không đồng nhất để tìm hiểu và áp dụng vào chương trình tổng hợp tiếng nói. Đồ án được thực hiện tại trung tâm nghiên cứu quốc tế MICA Trong quá trình thực hiện đồ án, tác giả đã được tiếp cận những kiến thức bổ ích từ các cán bộ nghiên cứu của trung tâm phục vụ cho quá trình làm đồ án. Trong các bộ tổng hợp, tiếng nói được tổng hợp bằng cách ghép nối các đơn vị âm lại với nhau,các đơn vị âm này là cùng một loại duy nhất, ví dụ cùng là âm vị kép, cùng là bán âm tiết … Đây là cách tiếp cận lựa chọn đơn vị đồng nhất – tức là chỉ dùng một loại đơn vị âm. Và kích thước CSDL dùng trong các bộ tổng hợp này thường bị giới hạn.
Trong vài năm trở lại đây, sự phát triển của khoa học công nghệ đã nâng cao khả năng lưu trữ và xử lý của máy tính. Kích thước CSDL của bộ tổng hợp tiếng nói có thể được tăng lên để cải thiện chất lượng tiếng nói tổng hợp. Phương pháp lựa chọn đơn vị không đồng nhất được thử nghiệm. Nhiều loại đơn vị âm được sử dụng với tư tưởng sử dụng đơn vị âm càng dài thì chất lượng càng cao.
Với mỗi ngôn ngữ khác nhau, phương pháp này được áp dụng theo các cách thức khác nhau và đồ án này tập trung áp dụng phương pháp này cho ngôn ngữ tiếng Viêt. Đồ án này bao gồm bốn chương: Chương một: giới thiệu về tổng hợp tiếng nói và những vấn đề trong tổng hợp tiếng nói. Chương hai: trình bày chi tiết về bài toán lựa chọn đơn vị trong tổng hợp ghép nối. Chương ba: mô tả chi tiết hệ thống tổng hợp tiếng Việt theo thuật toán lựa chọn đơn vị không đồng nhất.
Chương bốn: đánh giá kết quả đạt được và chưa được, đồng thời đưa ra hướng phát triển tiếp theo. Tổng hợp tiếng nói Trong chương này, luận văn sẽ giới thiệu: Tổng quan về bài toán tổng hợp tiếng nói. Các vấn đề cần giải quyết trong tổng hợp ghép nối. Vấn đề cụ thể đồ án tập trung tìm hiểu và giải quyết.1 Tổng quan về bài toán tổng hợp tiếng nói 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 từ văn bản đầu vào.
Đây là lĩnh vực nghiên cứu có tính ứng dụng thực tiễn cao nên được quan tâm trên thế giới và Việt Nam. Ứng dụng của tổng hợp tiếng nói có thể dễ dàng thấy trong nhiều hệ thống, như hệ thống hỗ trợ đọc văn bản cho người khuyết tật, hệ thống trả lời tự động tại các tổng đài hay robot, hệ thống chỉ đường trong các phương tiện vận tải. Có thể phân chia các hệ thống tổng hợp tiếng nói theo phương pháp tiếng nói được tổng hợp gồm ba loại chính [9] : Tổng hợp cấu âm. Tổng hợp formant.
Tổng hợp theo phương pháp ghép nối (tổng hợp ghép nối). Phương pháp tổng hợp cấu âm hứa hẹn mang lại kết quả tốt nhất nhưng do quá phức tạp nên khó thực hiện nhất. Phương pháp tổng hợp formant có thể tạo ra được tiếng nói với số lượng câu vô hạn nhưng chất lượng tiếng nói chưa được tự nhiên. Phương pháp tổng hợp được dùng rộng rãi nhất và cho kết quả tốt nhất hiện nay là tổng hợp ghép nối [7].
Một hệ thống tổng hợp tiếng nói (THTN) gồm hai phần chính: tổng hợp mức cao và tổng hợp mức thấp (Hình 1.1 Mô hình hệ thống THTN.Nhiệm vụ phần tổng hợp mức cao là chuẩn hóa văn bản, phát sinh thông tin về ngữ âm, ngữ điệu. Phần tổng hợp mức thấp (trong phương pháp ghép nối) dựa vào các thông tin phía trên sẽ tiến hành tìm kiếm và lựa chọn đơn vị âm, thực hiện ghép nối và làm trơn tín hiệu, cho ra tiếng nói cần tổng hợp. Đầu vào của bộ THTN là văn bản và nhiệm vụ của bộ THTN là phải đọc một cách chính xác văn bản này. Văn bản thực tế được viết theo nhiều cách khác nhau, không theo một tiêu chuẩn cụ thể nào và nội dung cũng rất phong phú, đa dạng, bao gồm các chữ số, ngày tháng, từ viết tắt, từ phiên âm nước ngoài … Tất cả đều phải được qua bước chuẩn hóa văn bản, cho đầu ra là các âm tiết đúng theo quy tắc tiếng Việt.
Các từ viết tắt phải được thay thế bởi dạng đầy đủ, các con số phải được chuyển về chữ cái phù hợp, sự nhập nhằng trong các trường hợp phát âm phải được xử lý. Kết quả của bước chuẩn hóa văn bản này ảnh hưởng trực tiếp tới việc đọc đúng hay không đúng văn bản cần tổng hợp. Comment [TDD1]: Cần có mũi tên kết nối giữa các thành phần cấu thành Hệ thống tổng hợp tiếng nói Tổng hợp mức cao Tổng hợp mức thấp Phân tích văn bản P Phân tích ngữ Phân điệu Lựa Ghép Phân tích cấu trúc Tần số cơ bản chọn nối đơn tích Chuẩn hóa văn bản Trường độ đơn vị vị âm Phân tích ngôn ngữ ngữ Cường độ âm âm Hình 1.1 Mô hình hệ thống THTN [9]. Văn bản được chuẩn hóa sẽ là đầu vào cho bộ phân tích cú pháp tiếp theo.
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 cho đế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. Việc này tạo điều kiện thuận lợi cho việc mô hình hóa trường độ, cao độ của câu cần tổng hợp, đồng thời, độ chính xác của câu được phân tích cũng ảnh hưởng tới quá trình lựa chọn đơn vị tiếp theo. Tiếp theo là quá trình mô hình hóa trường độ, cao độ và cường độ của câu cần tổng hợp. Việc này sẽ phát sinh ngữ điệu cho câu, ảnh hưởng trực tiếp tới mức độ dễ nghe của tiếng nói tổng hợp.
Trường độ và cao độ cũng là các tham số trong hàm chi phí dùng trong quá trình lựa chọn đơn vị. Sau khi văn bản đầu vào được phân tích cú pháp và phát sinh ngữ điệu, văn bản sẽ được tổng hợp bởi quá trình lựa chọn và ghép nối đơn vị âm. Trong quá trình này, tập các đơn vị âm trong cơ sở dữ liệu khớp với đơn vị âm đích nhất sẽ được lựa chọn và ghép nối. Tiếng nói từ văn bản sẽ được sinh ra trong quá trình này.
Do từng đoạn tiếng nói vốn hoàn toàn tự nhiên nên ta có thể hy vọng tiếng nói tổng hợp được cũng có tính tự nhiên cao. Tuy nhiên, theo [11] , các đoạn tiếng nói bị ảnh hưởng lớn bởi hiện tượng đồng cấu âm, nên nếu ta ghép nối hai đoạn tín hiệu tiếng nói không liền nhau có thể xảy ra hiện tượng không liên tục về phổ hoặc ngữ điệu. Do sự không liên tục này mà chất lượng tiếng nói tổng hợp có thể giảm đáng kể mặc dù các đoạn được ghép là hoàn toàn tự nhiên.2 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 [9] , 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.1 Lựa chọn loại đơn vị âm Tiếng Việt là ngôn ngữ đơn âm tiết có thanh điệu, Cấu trúc đầy đủ của một âm tiết gồm 5 thành phần như sau: Âm tiết = [Âm đầu][Âm đệm]<Âm chính>[Âm cuối][Thanh điệu] Trong đó những thành phần nằm trong cặp dấu <> là bắt buộc phải có, những thành phần nằm trong cặp dấu [ ] thì có thể có hoặc không. 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 [9]. Số lượng các loại đơn vị âm trong tiếng Việt được tổng hợp theo bảng sau [9] : Bảng 1.1 Số lượng các loại đơn vị âm trong tiếng Việt Loại đơn vị âm Số lượng Không có thanh điệu Có thanh điệu Âm vị 40 130 Âm vị kép 620 2976 Bán âm tiết 590 2809 Âm đầu/vần 22/161 22/661 Âm tiết 2466 7088 Trên đây là các loại đơn vị âm có thể dùng trong THTN tiếng Việt, việc lựa chọn loại đơn vị âm nào sẽ được trình bày chi tiết hơn trong mục 2.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 [11] , 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.