Việc đánh giá chất lượng của một hệ thống tổng hợp tiếng nói, cho đến thời điểm này vẫn còn phải thực hiện một cách thủ công. Người ta đưa ra một tập câu kiểm tra, một số tiêu chí và cách cho điểm rồi chọn một số người nghe để đánh giá cho điểm. Bảng 5.1 tổng kết một số tiêu chí đánh giá và thang điểm [4], theo đó, điểm thấp nhất là 1 và cao nhất là 5. Chúng tôi sử dụng cách đánh giá này để xem xét chất lượng tiếng nói tổng hợp từ hệ thống của mình cũng như các hệ thống khác.
                
              
                                            
                                
            
 
            
                 15 trang
15 trang | 
Chia sẻ: vietpd | Lượt xem: 1745 | Lượt tải: 2 
              
            Bạn đang xem nội dung tài liệu Đánh giá hệ thống tổng hợp tiếng nói, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 51 
CHƢƠNG 5. THỰC NGHIỆM 
5.1. Đánh giá hệ thống tổng hợp tiếng nói 
Việc đánh giá chất lƣợng của một hệ thống tổng hợp tiếng nói, cho đến 
thời điểm này vẫn còn phải thực hiện một cách thủ công. Ngƣời ta đƣa ra một 
tập câu kiểm tra, một số tiêu chí và cách cho điểm rồi chọn một số ngƣời 
nghe để đánh giá cho điểm. Bảng 5.1 tổng kết một số tiêu chí đánh giá và 
thang điểm [4], theo đó, điểm thấp nhất là 1 và cao nhất là 5. Chúng tôi sử 
dụng cách đánh giá này để xem xét chất lƣợng tiếng nói tổng hợp từ hệ thống 
của mình cũng nhƣ các hệ thống khác. 
Có thể thấy tổng hợp tiếng nói có phạm vi ứng dụng rất lớn, trong mọi mặt 
đời sống xã hội. Các nghiên cứu trên thế giới về tổng hợp tiếng nói vẫn đang 
hƣớng đến việc giải quyết hai yêu cầu cơ bản về chất lƣợng của tiếng nói 
tổng hợp, đó là mức độ tự nhiên và mức độ dễ nghe, đƣợc chi tiết hóa thành 
các tiêu chí trong bảng 5.1. 
Bảng 5.1 Tiêu chí và thang điểm đánh giá hệ thống tổng hợp tiếng nói 
Tiêu chí đánh giá Thang điểm và giải thích 
Chất lƣợng tổng thể 
1. Tệ 
2. Kém 
3. Khá tốt 
4. Tốt 
5. Tuyệt vời 
Mức độ hiểu (của 
các từ khó phát âm) 
1. Hoàn toàn không rõ 
2. Không rõ lắm 
3. Khá rõ 
 52 
4. Đủ rõ để hiểu 
5. Rất rõ 
Mức độ rõ trong 
cách phát âm 
1. Không thể phân biệt 
2. Không phân biệt rõ 
3. Hơi rõ 
4. Đủ rõ để phân biệt 
5. Rất rõ 
Mức độ bất thƣờng 
trong phát âm 
1. Sự bất thường rất khó chịu 
2. Sự bất thường khó chịu 
3. Sự bất thường hơi khó chịu 
4. Có sự bất thường nhưng không khó chịu 
5. Không có sự bất thường 
Mức độ hài lòng về 
giọng đọc 
1. Rất không hài lòng 
2. Không hài lòng 
3. Khá hài lòng 
4. Hài lòng 
5. Rất hài lòng 
5.2. Hệ thống nền (Baseline system) 
Hệ thống nền là hệ thống tổng hợp tiếng nói trên thiết bị di động sử dụng 
phƣơng pháp tổng hợp ghép nối chọn đơn vị trong đó văn bản đầu vào sau 
khi đƣợc chuẩn hóa sẽ đƣợc tách thành từng từ / cụm từ và ghép các file âm 
thanh tƣơng ứng với các từ / cụm từ đó trong cơ sở dữ liệu âm thanh thành 
file kết quả. Ngoài ra, khi con ngƣời phát âm, các từ / cụm từ không phải 
đƣợc phát âm liên tiếp nhau mà luôn tồn tại các khoảng lặng giữa các từ / 
cụm từ. Do đó, khi ghép các từ / cụm từ đòi hỏi phải chèn thêm một khoảng 
lặng giữa các đơn vị này nhằm bảo đảm tính tự nhiên của kết quả ghép nối. 
 53 
Qua kết quả thực nghiệm, hệ thống nền chọn khoảng lặng này là 0.025 giây, 
với khoảng cách này âm thanh “tự nhiên” hơn. 
5.2.1. Bộ dữ liệu âm thanh 
Bộ dữ liệu âm thanh sử dụng bao gồm 16,290 tập tin âm thanh tƣơng ứng 
với 16,290 từ / cụm từ tƣơng ứng đƣợc dùng làm từ điển từ / cụm từ của hệ 
thống, phủ khoảng 8,765 tiếng trong tiếng Việt. Bộ dữ liệu này đƣợc thu âm 
cho từng từ / cụm từ đọc theo từ điển tiếng Việt. 
Toàn bộ các tập tin âm thanh có cùng giọng đọc của phát thanh viên Kim 
Phƣợng, đài tiếng nói Nhân Dân Thành Phố Hồ Chí Minh. Bộ dữ liệu do 
nhóm nghiên cứu xử lý tiếng nói của TS. Vũ Hải Quân xây dựng. 
Bộ dữ liệu sau đó đƣợc nén theo định dạng WAV (8kHz, mono) để giảm 
không gian lƣu trữ vốn khá hạn chế trên các thiết bị di động. Bộ dữ liệu sau 
khi nén chiếm khoảng 97.5MB, hoàn toàn khả thi để lƣu trên các thẻ nhớ của 
các thiết bị di động hiện nay. 
5.2.2. Kết quả thực nghiệm 
Thực nghiệm đƣợc thực hiện trên máy HTC Cingular 8525, với CPU tốc 
độ 400Mhz, bộ nhớ RAM 64MB, bộ nhớ Flash 128MB, thẻ nhớ 2GB. 
Quá trình đánh giá đƣợc thực hiện bằng cách sử dụng 8 ngƣời để nghe và 
đánh giá kết quả tổng hợp của 40 câu đƣợc chọn ngẫu nhiên theo các tiêu chí 
đã trình bày ở bảng 5.1 
Kết quả đánh giá chất lƣợng tổng hợp của hệ thống nền đƣợc trình bày ở 
bảng 5.2. 
 54 
Bảng 5.2 Kết quả đánh giá chất lƣợng tổng hợp của hệ thống nền 
Tiêu chí đánh giá Hệ thống nền 
Chất lượng tổng thể 3.7 
Cách phát âm 3.2 
Mức độ hiểu 4.2 
Mức độ rõ trong phát âm 4 
Mức độ hài lòng 3.4 
Bên cạnh tiêu chí về chất lƣợng tổng hợp, tiêu chí về hiệu năng (hay thời 
gian thực thi) cũng rất quan trọng với các ứng dụng trên thiết bị di động. Với 
hệ thống nền, thời gian khởi động chƣơng trình (cho lần chạy đầu tiên) là 10 
giây (do phải tải từ điển từ và một số từ điển khác vào bộ nhớ), thời gian. 
thực hiện đọc tin nhắn văn bản tiếng Việt trong thực nghiệm nhƣ bảng 5.3: 
Bảng 5.3 Kết quả thực nghiệm với hệ thống nền 
STT Nội dung tin nhắn Thời gian xử lý Thời gian đọc 
 Anh có xem đã banh không ? 1 giây 4 giây 
 Chiều này mấy giờ? Có những ai? 1 giây 4 giây 
 Em chào thầy!em là sv ngày trƣớc 
đƣợc thầy Bắc giới thiệu gặp thầy để 
xin thầy tài liệu hệ thống efac của 
khoa để làm tài liệu nghiên cứu luận 
văn.thầy có mail cho thầy Khanh bên 
phòng selab nói tụi em liên hệ thầy 
xin tài liệu.nhƣng em mail cho thầy 
Khanh mà chƣa thấy thầy trả lời.em 
10 giây 43 giây 
 55 
muốn xin thầy số phone của thầy 
Khanh có đƣợc không ạ!mong thầy 
giúp đỡ,em cám ơn thầy nhiều 
lắm!em chúc thầy khỏe! 
 Viettel Telecom trân trọng thông 
báo: Tổng số tiền khuyến mãi, giảm 
trừ Quý khách nhận đƣợc trong 
tháng 12/2008 là: 108286 VNĐ. 
Trân trọng cám ơn! 
8 giây 20 giây 
 Anh có rảnh xuống uống café với tụi 
em ở căn tin? 
2 giây 6 giây 
5.3. Hệ thống cải tiến 
Hệ thống nền sử dụng một khoảng lặng có độ dài cố định 0.025 giây để 
chèn vào giữa 2 từ / cụm từ bất kỳ khi ghép nối. Điều này chƣa phù hợp với 
thực tế khi đọc một câu, độ dài khoảng lặng giữa 2 từ / cụm từ sẽ thay đổi tùy 
theo từ/cụm từ trƣớc và sau nó. Do đó, hệ thống cải tiến trình bày trong phần 
này sử dụng máy chuyển đổi trạng thái hữu hạn nhằm xác định độ dài khoảng 
lặng giữa các từ / cụm từ một cách mềm dẻo nhằm tăng tính tự nhiên của kết 
quả tổng hợp. 
5.3.1. Bộ dữ liệu âm thanh 
Bộ dữ liệu âm thanh của hệ thống này cũng là bộ dữ liệu âm thanh đƣợc sử 
dụng trong hệ thống nền. 
 56 
5.3.2. Xác định khoảng lặng giữa các đơn vị âm thanh 
Hệ thống cải tiến xác định khoảng lặng giữa các đơn vị âm thanh bằng 
cách xây dựng máy chuyển đổi trạng thái hữu hạn có trọng số. Quá trình xây 
dựng bao gồm 2 bƣớc: 
 Chuẩn bị dữ liệu. 
 Xây dựng máy chuyển đổi trạng thái hữu hạn có trọng số. 
5.3.2.1. Chuẩn bị dữ liệu 
Yêu cầu của bƣớc này là xây dựng kho ngữ liệu tiếng nói và phân đoạn 
chúng thành các đơn vị âm thanh, cùng với thông tin độ dài khoảng lặng 
giữa các đơn vị âm thanh. Các thông tin độ dài khoảng lặng này sau đó sẽ 
đƣợc sử dụng để xây dựng máy chuyển đổi trạng thái hữu hạn. 
Vấn đề đặt ra là làm sao có thể phân đoạn một cách tự động và chính 
xác kho ngữ liệu tiếng nói ra thành các đơn vị âm thanh. Để giải quyết 
điều này nhóm của TS. Vũ Hải Quân sử dụng hệ thống nhận dạng có ràng 
buộc [4]. Hệ thống này có thể đƣợc tóm tắt nhƣ trong hình 5.1: 
 57 
Hình 5.1 Hệ thống nhận dạng tiếng nói tiếng Việt. 
Tín hiệu tiếng nói tiếng Việt liên tục trƣớc tiên sẽ đi qua mô-đun trích 
đặc trƣng. Các đặc trƣng đƣợc trích chọn này sẽ làm đầu vào cho bƣớc 
tìm kiếm trên đồ thị. Đồ thị tìm kiếm đƣợc xây dựng dựa trên sự tích hợp 
giữa mô hình ngôn ngữ và mô hình ngữ âm. Thực nghiệm trên dữ liệu là 
các bản tin thu âm từ đài tiếng nói Nhân Dân Thành Phố Hồ Chí Minh, hệ 
thống đạt kết quả cao nhất là 85.6% [4]. 
Giai đoạn tiếp theo là thu thập dữ liệu. Từ kho ngữ liệu âm thanh các 
bản tin thời sự trên sóng phát thanh của đài tiếng nói Nhân Dân Thành 
Phố Hồ Chí Minh các năm 2007, 2008, 2009, một kho ngữ liệu âm thanh 
chỉ gồm một giọng nữ theo phƣơng ngữ Nam Bộ đƣợc lọc ra và kết quả 
là hơn 36 giờ tiếng nói. Hệ thống nhận dạng tiếng nói đã đƣợc sử dụng để 
 58 
phân đoạn tự động các đơn vị trong kho ngữ liệu [4]. Kết quả phân đoạn 
của một câu trong kho ngữ liệu thu đƣợc nhƣ sau: 
0 10700000 silence -6777.011230 
10700000 17100000 TAJI -4188.057617 
17300000 19200000 HOOJI -1256.910645 
19200000 21800000 NGHIJ -1743.075073 
22000000 23900000 KHOA -1373.160522 
23900000 25500000 HOJC -1168.884033 
25700000 27300000 KYX -1082.334351 
27300000 28900000 THUAAJT -1228.222046 
29100000 31400000 THUWOWFNG -1550.166138 
31400000 33400000 NIEEN -1468.683472 
33600000 34800000 VUWFA -1176.245972 
35000000 36500000 DDUWOWJC -1233.340698 
36700000 38600000 TOOR -1267.462646 
38600000 41200000 CHUWSC -4019.213623 
45100000 47000000 DDAJI -1352.613770 
47000000 48300000 HOJC -989.179016 
48500000 50400000 Y -1251.579346 
50400000 52100000 DUWOWJC -1377.427368 
52300000 54100000 THAFNH -1151.686401 
54100000 56500000 PHOOS -1637.225342 
56700000 58200000 CHO -1012.201477 
58200000 60800000 BIEEST -1858.379517 
 59 
 Tuy nhiên, kết quả phân đoạn này vẫn chỉ ở mức tiếng (syllable). 
Do đó, cần tổ chức lại kết quả theo mức từ / cụm từ. Với ví dụ trên, kết 
quả sau khi tổ chức lại ở mức từ / cụm từ áp dụng phƣơng pháp so khớp 
dài nhất (longest matching) cùng với một từ điển 73,900 từ tiếng Việt 
nhƣ sau: 
10700000 17100000 TAJI 
17300000 21800000 HOOJI NGHIJ 
22000000 25500000 KHOA HOJC 
25700000 28900000 KYX THUAAJT 
29100000 33400000 THUWOWFNG NIEEN 
33600000 34800000 VUWFA 
35000000 36500000 DDUWOWJC 
36700000 41200000 TOOR CHUWSC 
45100000 48300000 DDAJI HOJC 
48500000 52100000 Y DUWOWJC 
52300000 56500000 THAFNH PHOOS 
56700000 60800000 CHO BIEEST 
Từ kết quả trên, chúng ta chuyển dữ liệu văn bản sang Unicode để tiện 
xử lý. Thông tin chúng ta cần quan tâm là khoảng lặng giữa các đơn vị 
âm thanh, vì vậy chúng ta chỉ cần lƣu khoảng cách này và từ / cụm từ 
tƣơng ứng. Ví dụ đoạn kết quả trên sau khi chuyển sang Unicode và tính 
khoảng cách (giá trị đầu của dòng thứ n chỉ khoảng lặng giữa từ / cụm từ 
dòng n-1 và n) 
0 tại 
 60 
200000 hội nghị 
200000 khoa học 
200000 kỹ thuật 
200000 thƣờng niên 
200000 vừa 
200000 đƣợc 
200000 tổ chức 
3900000 đại học 
200000 y dƣợc 
200000 thành phố 
200000 cho biết 
Quá trình chuẩn bị dữ liệu này đƣợc thực hiện off-line. 
5.3.2.2. Xây dựng máy chuyển đổi trạng thái hữu hạn 
Từ kết quả trên chúng ta tiếp tục xây dựng máy chuyển đổi trạng thái 
hữu hạn (FST) dùng thƣ viện OpenFST [17]. Mỗi cung sẽ có nhãn đầu 
vào và đầu ra giống nhau và chính là từ / cụm từ tƣơng ứng với trọng số 
là khoảng lặng (tính bằng 1/10 giây). Mặc khác, do các nhãn sử dụng 
trong máy chuyển đổi trạng thái hữu hạn không chấp nhận dạng chuỗi 
(string) mà chỉ chấp nhận dạng số nên không thể dùng từ / cụm từ làm 
nhãn đƣợc, vì vậy chúng ta sẽ dùng thứ thự của từ / cụm từ trong từ điển 
để thay thế. 
Ví dụ đƣa vào máy chuyển đổi trạng thái hữu hạn hai câu sau: 
Tại / hội nghị / khoa học / kỹ thuật / thƣờng niên (8455 / 4464 / 4870 / 
5114 / 9639) 
 61 
Sau / hơn / một / năm / thực hiện / kế hoạch (7892 / 4493 / 6092 / 6214 
/ 9606 / 4674) 
Hình 6.2 Máy chuyển đổi trạng thái hữu hạn kết quả 
Dùng thƣ viện OpenFST để chạy các thuật toán tối ƣu máy chuyển đổi 
trạng thái hữu hạn vừa tạo. Đầu tiên là chạy thuật toán Determinize để tối 
ƣu số cung, tiếp theo là chạy thuật toán Minimize để tối ƣu số trạng thái 
và số cung. Kết quả thu đƣợc máy chuyển đổi trạng thái hữu hạn có trọng 
số đã tối ƣu có số trạng thái (state) và số cung (transition) nhỏ nhất (tạm 
gọi là WFST0). 
5.3.2.3. Xác định khoảng lặng giữa các đơn vị âm thanh 
Để xác định khoảng lặng giữa các đơn vị âm thanh trong một câu, 
chúng ta tiến hành các bƣớc sau: 
- Bƣớc 1: Tạo máy chuyển đổi trạng thái hữu hạn có trọng số từ câu 
cần xác định khoảng lặng, mỗi cung có nhãn đầu vào và đầu ra 
giống nhau và bằng với thứ tự từ điển của từ / cụm từ trong câu, 
trọng số của tất cả các cung đều bằng 0 để khi chạy thuật toán 
compose, giá trị khoảng lặng trong kết quả chính là trong WFST0 
(tạm gọi máy chuyển đổi trạng thái hữu hạn có trọng số này là 
WFST1). 
0 
8455:8455/0 
4464:4464/0.2 
1 2 
4870:4870/0.22 
3 
5114:5114/0.21 
4 
9639:9639/0.2 
5 
4493:4493/0.2 
6 7 
6092:6092/0.21 
8 
6214:6214/0.23 
9 
9606:9606/0.2 
11 
7892:7892/0 
10 
4674:4674/0.3 
 62 
Hình 6.3 máy chuyển đổi trạng thái hữu hạn truy vấn 
- Bƣớc 2: sau khi tạo đƣợc máy chuyển đổi trạng thái hữu hạn có 
trọng số từ bƣớc 1, chúng ta sử dụng công cụ OpenFST để chạy 
thuật toán kết hợp (compose) với máy chuyển đổi trạng thái hữu 
hạn có trọng số WFST0, kết quả ta đƣợc máy chuyển đổi trạng thái 
hữu hạn có trọng số mới có các cung tƣơng tự WFST1 (nếu tất cả 
các nhãn đều so khớp với nhau, điều kiện này thƣờng đƣợc thỏa 
bởi số lƣợng câu trong WFST0 khá lớn) với trọng số bằng với giá 
trị trong WFST0 ứng với câu so khớp. Nhƣ vậy ta đã có đƣợc 
thông tin về khoảng lặng giữa các đơn vị âm thanh trong câu cần 
xét. 
5.3.3. Kết hợp hệ thống tổng hợp tiếng nói và máy chuyển đổi trạng thái 
hữu hạn 
Việc chạy thuật toán compose giữa hai máy chuyển đổi trạng thái hữu hạn 
có trọng số có chi phí khá cao, đồng thời hiện chƣa có thƣ viện chạy trên môi 
trƣờng di động (cụ thể ở đây là windows mobile), vì vậy tôi đã xây dựng một 
webservice để chạy thuật toán này trên một server. Khi cần chạy thuật toán, 
ứng dụng trên windows mobile sẽ kết nối với webservice thông qua GPRS để 
chạy thuật toán compose. Đƣờng dẫn của webservice sử dụng trong thực 
nghiệm:  
Webservice sẽ nhận đầu vào là danh sách theo thứ tự các từ / cụm từ trong 
câu cần xác định khoảng lặng (mỗi từ / cụm từ đại diện bởi thứ tự trong từ 
điển của từ / cụm từ đó), đầu ra là danh sách các khoảng lặng theo đúng thứ 
tự đầu vào, với những câu không có trong dữ liệu của WFST0 thì giá trị của 
0 
8455:8455/0 4464:4464/0 
1 2 
4870:4870/0 
3 
5114:5114/0 
5 
 63 
khoảng lặng là 0 và ứng dụng trên windows mobile sẽ thay thế giá trị này 
bằng một hằng số (trong thực nghiệm, giá trị này là 25ms). 
5.3.4. Kết quả thực nghiệm 
Hệ thống cải tiến đƣợc thực nghiệm trên cùng các thiết bị phần cứng nhƣ 
của hệ thống nền. Kết quả đánh giá chất lƣợng tổng hợp của hệ thống cải tiến 
so với hệ thống nền đƣợc trình bày ở bảng 5.4 
Bảng 5.4 Kết quả đánh giá 
Tiêu chí đánh giá Hệ thống nền Hệ thống cải tiến 
Chất lượng tổng thể 3.7 3.95 
Cách phát âm 3.2 3.3 
Mức độ hiểu 4.2 4.5 
Mức độ rõ trong phát âm 4 4.3 
Mức độ hài lòng 3.4 3.7 
Thời gian khởi động chƣơng trình (cho lần chạy đầu tiên) là 15 giây (do 
phải tải từ điển từ và một số từ điển khác vào bộ nhớ), thời gian thực hiện đọc 
tin nhắn văn bản tiếng Việt trong thực nghiệm nhƣ bảng 6.4 (thời gian thực 
hiện còn phụ thuộc vào một số yếu tố khác nhƣ các ứng dụng đang chạy trên 
thiết bị di động; tốc độ kết nối GPRS). 
 64 
Bảng 5.5 Kết quả thực nghiệm với phƣơng pháp cải tiến. 
Nội dung tin nhắn Hệ thống nền Hệ thống cải tiến 
Thời 
gian 
xử lý 
Thời 
gian 
đọc 
Thời 
gian 
xử lý 
Thời 
gian đọc 
Anh có xem đã banh không ? 1 
giây 
4 giây 4 giây 4 giây 
Chiều này mấy giờ? Có những ai? 1 
giây 
4 giây 4 giây 5 giây 
Em chào thầy!em là sv ngày trƣớc 
đƣợc thầy Bắc giới thiệu gặp thầy để 
xin thầy tài liệu hệ thống efac của 
khoa để làm tài liệu nghiên cứu luận 
văn.thầy có mail cho thầy Khanh bên 
phòng selab nói tụi em liên hệ thầy 
xin tài liệu.nhƣng em mail cho thầy 
Khanh mà chƣa thấy thầy trả lời.em 
muốn xin thầy số phone của thầy 
Khanh có đƣợc không ạ!mong thầy 
giúp đỡ,em cám ơn thầy nhiều 
lắm!em chúc thầy khỏe! 
10 
giây 
43 
giây 
15 
giây 
45 giây 
Viettel Telecom trân trọng thông báo: 
Tổng số tiền khuyến mãi, giảm trừ 
Quý khách nhận đƣợc trong tháng 
12/2008 là: 108286 VNĐ. Trân trọng 
cám ơn! 
8 
giây 
20 
giây 
15 
giây 
24 giây 
 65 
Anh có rảnh xuống uống café với tụi 
em ở căn tin? 
2 
giây 
6 giây 5 giây 7 giây 
5.3.5. Nhận xét 
Khi áp dụng phƣơng pháp chèn khoảng lặng theo dữ liệu thống kê trong 
máy chuyển đổi trạng thái hữu hạn có trọng số thì kết quả phát âm có cải 
thiện, khoảng cách giữa các đơn vị âm thanh ghép nối gần với thực tế hơn. 
Tuy nhiên thời gian xử lý tăng lên. Vì vậy để áp dụng phƣơng pháp này cần 
nghiên cứu giải thuật phù hợp để cải thiện tốc độ. 
Mặt khác do bộ dữ liệu từ điển âm thanh đƣợc chuẩn hóa chƣa tốt nên còn 
hiện tƣợng khoảng lặng cuối mỗi đơn vị âm thanh khác nhau, làm cho kết quả 
chèn khoảng lặng chƣa hợp lý (dài hơn so với yêu cầu).