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 |
Chia sẻ: vietpd | Lượt xem: 1546 | 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).