5.1 Mô tả các b − ớc tiến hành thí nghiệm
5.1.1 Phần thực hiện chung cho tất cả các thí nghiệm
Để có thể so sánh đ−ợc các kết quả nhận dạng ứng với các mô hình trên, hệ thống nhận dạng cho mỗi mô hình mô hình đều sử dụng chung một tập các file cơ
sở dữ liệu luyện và các file cơ sở dữ liệu thử nghiệm. Phần dữ liệu luyện và dữ liệu thử nghiệm đ−ợc lấy từ hệ cơ sở dữ liệu âm thanh của trung tâm MICA, với 9 ng−ời nói nh− trong bảng 5.1:
Bảng 5.1: Cơ sở dữ liệu luyện và thử nghiệm cho hệ thống HTK Ng−ời nói Họ và Tên Giới tính Miền
DH Đoàn Thị Ngọc Hiền Nữ Miền Bắc
DT Đỗ Thanh Hiền Nữ Miền Bắc
LA Lê Hoàng Anh Nam Miền Bắc
ND Ninh Khánh Duy Nam Miền Nam
NP Nguyễn Công Ph−ơng Nam Miền Bắc
NS Nguyễn Việt Sơn Nam Miền Bắc
NV Nguyễn Việt Tùng Nam Miền Nam
TD Trần Đỗ Đạt Nam Miền Bắc
TN Trịnh Đại Nghĩa Nam Miền Bắc
Dữ liệu ứng với mỗi ng−ời nói sẽ bao gồm hai phần chính: Phần hội thoại (dialogue) và phần đoạn văn (paragraph). Với tất cả các mô hình thử nghiệm, dữ liệu luyện đ−ợc sử dụng là phần đoạn văn của 9 ng−ời nói, với tổng số 509 file dữ liệu luyện, trong đó có 2280 từ khác nhau. Thời gian huấn luyện các mô hình trong 3 thí nghiệm mất khoảng 8 đến 9 tiếng. Phần dữ liệu thử nghiệm là phần hội thoại của từng ng−ời trong 9 ng−ời trên, với 17 file dữ liệu thử nghiệm cho mỗi ng−ời nói, trong đó có 455 từ khác nhau. Thời gian nhận dạng là 30 phút cho từng người nói.
Từ điển phiên âm sử dụng cho hệ thống nhận dạng là từ điển lớn, với số l−ợng từ khoảng 6700 từ. Từ điển này đã do NCS. Lê Việt Bắc[đang làm việc tại
phòng thí nghiệm GEOD - CLIPS / IMAG ở Pháp] xây dựng. Các từ trong từ điển về cơ bản đ−ợc phiên âm theo bảng mã FR.Janus3. Tuy nhiên để phù hợp với hệ thống HTK cũng nh− trong việc xây dựng mô hình l−ợc đồ âm tiết có phụ âm tắc họng, bảng phiên âm các từ trong từ điển có dạng nh− bảng 5.2.
Bảng 5.2: Bảng phiên âm tiếng Việt theo mã FR.Janus3 Phụ âm FR.Janus3 Nguyên âm VN.Janus3 Thanh điệu FR.Janus3
ngh, ng NG i,y i Không dấu _1
th th − M HuyÒn _2
tr tr u u Hái _3
ch c ê e Ngã _4
nh NJ ơ _7 Sắc _5
ph f e E Nặng _6
gi, d z o O
gh, g G © _7X ¢m cuèi FR.Janus3
q,c,k k a(anh, ach) EX P p
® d ¨,a(au, ay) aX t t
t t o(ong, oc) OX c,ch k
b b uô,ua uo m m
m m o, u w
n n Âm đệm y,i J
l l Ký tù FR.Janus3
x s o,u w
s ss
h h
v v
r zr
p p
tắc họng hhh
So với bảng phiên âm của NCS. Lê Việt Bắc xây dựng, bảng phiên âm tiếng Việt trong bảng 5.2 đã thêm ký hiệu phiên âm cho âm tắc họng là ‘hhh’, và các ký hiệu phiên âm các nguyên âm ‘ơ, â’ được thêm dấu gạch dưới ‘_’ để phù hợp với
định dạng yêu cầu của hệ thống HTK [3].
Ngoài ra, từ điển phiên âm tiếng Việt của NCS. Lê Việt Bắc đ−ợc soạn thảo với mã Unicode UTF - 8, tuy nhiên hệ thống HTK không cho phép làm việc với mã
font mày, do vậy từ điển phiên âm đã đ−ợc chuyển sang mã font VIQR (xem bảng 5.3).
Bảng 5.3: Mã Unicode UTF – 8 chuyển sang mã VIQR Mã Unicode UTF - 8 Mã VIQR
Buôn Buo^n
Buồn Buồn
Buổi Buổi
Buèt Buo^’t
Cẵm Cẵm
Cặm Cặm
… …
Mô hình chuỗi Markov ẩn (HMM) dùng để nhận dạng với các mô hình âm vị trên là mô hình 3 trạng thái. Tất nhiên ta cũng có thể sử dụng các mô hình HMM với số trạng thái nhỏ hơn hoặc lớn hơn. Trên thực tế theo kết quả thống kê, mô hình HMM 3 trạng thái cho kết quả tốt nhất đối với một âm vị. Tuy nhiên trong trường hợp ta sử dụng mô hình HMM 3 trạng thái cho các phần đ−ợc cấu tạo nhiều hơn một
âm vị (ví dụ phần vần trong l−ợc đồ âm tiết hình 3.1 có thể có tối đa 3 âm vị là âm
đệm, nguyên âm và âm cuối, hoặc trong l−ợc đồ âm tiết hình 3.2, phần âm chính có tối đa 2 âm vị là âm đệm và nguyên âm) thì ch−a chắc mô hình HMM 3 trạng thái
đã phù hợp nhất. Vì vậy trong luận văn này, các thí nghiệm sẽ đ−ợc tiến hành nh− sau: Đối với những phần của âm tiết có một âm vị (phần phụ âm đầu, âm tắc họng,
âm cuối) ta sẽ sử dụng mô hình HMM 3 trạng thái, còn đối với những phần có nhiều hơn một âm vị (phần vần, phần âm chính), ta sẽ dùng các mô hình HMM có số trạng thái khác nhau (3, 5, 7, ...). Quá trình tăng số trạng thái của mô hình HMM sẽ dừng lại nếu độ chính xác giảm của hệ thống nhận dạng giảm. Bằng cách này chúng ta có thể tìm ra đ−ợc cấu trúc của mô hình HMM phù hợp nhất với từng l ợc đồ âm tiết. −
Ch−ơng 3 của sách h−ớng dẫn sử dụng hệ thống HTK [3] có chỉ ra các b−ớc xây dựng hệ thống nhận dạng tiếng nói sử dụng các công cụ của hệ thống HTK. Ví dụ đ−ợc đ−a ra trong tài liệu là xây dựng một hệ thống nhận dạng tiếng nói tiếng Anh liên tục, phục vụ cho việc quay số điện thoại bằng giọng nói, hệ thống xây dựng dựa trên hệ cơ sở dữ liệu tiếng nói TIMIT. Dựa vào đó, ta sẽ xây dựng hệ
thống nhận dạng tiếng nói tiếng Việt liên tục. Do mỗi ngôn ngữ có những đặc tr−ng về âm học, từ vựng và ngữ pháp … khác nhau (vấn đề này đã đ−ợc bàn kỹ trong chương 3 khi nói về các đặc trưng cơ bản của tiếng Việt) nên quá trình xây dựng hệ thống nhận dạng tiếng nói tiếng Việt liên tục sẽ có một số điểm khác so với các bước được nêu ra trong ví dụ. ở đây chúng ta chỉ xét đến những bước thực hiện chung cho tất cả 3 thí nghiệm, phần khác nhau giữa các thí nghiệm sẽ đ−ợc trình bày kỹ hơn trong phần mô tả từng thí nghiệm.
Quá trình xây dựng hệ thống nhận dạng tiếng nói tiếng Việt liên tục gồm các b−íc sau:
Xây dựng từ điển: Từ điển trong hệ thống nhận dạng tiếng nói đ−ợc sử dụng
để phiên âm một từ thành các âm vị tương ứng. Hệ thống HTK hỗ trợ công cụ HDMan để xây dựng từ điển. (xem hình 5.1)
HDMan
Tõ ®iÓn dict
Script global.ded Từ điển phát âm
(BEEP)
Danh sách từ (wlist)
Hình 5.1: Tạo từ điển trong hệ thống HTK
Việc định nghĩa phiên âm một từ trong tiếng Việt có liên quan đến việc lựa chọn sử dụng l−ợc đồ âm tiết nào của tiếng Việt. Vấn đề này sẽ đ−ợc trình bày kỹ hơn trong phần mô tả từng thí nghiệm ứng với các l−ợc đồ âm tiết cụ thể.
Tạo file mô tả (transcription files): Trong quá trình huấn luyện, hệ thống nhận dạng tiếng nói cần tập các file mô tả nội dung ở mức độ âm vị (phones level
transcription) của các file tín hiệu tiếng nói. Công việc này đ−ợc thực hiện bởi công cụ HLEd trong hệ thống HTK nh− hình vẽ 5.2.
Hình 5.2: Tạo file mô tả (transcription files) Cơ sở dữ liệu
Word level Transcription
(words.mlf)
Script
mkphones0.led HLEd
Phones level Transcription
(phones.mlf)
Tõ ®iÓn dict
M∙ hóa dữ liệu (Coding data): Tập các file tín hiệu tiếng nói dùng cho quá
trình huấn luyện mô hình HMM sẽ đ−ợc tham số hóa thành chuỗi các vector đặc tính, cụ thể ở đây đó là các hệ số MFCC. Quá trình này đ−ợc thực hiện bởi công cụ HCopy nh− h×nh 5.3.
HCopy
MFCC File S0001.mfc S0002.mfc
…
Script (Codetr.scp) File cÊu h×nh
(Config)
File dữ liệu tiếng nói S0001.wav S0002.wav
…
Hình 5.3: Mã hóa dữ liệu trong hệ thống HTK
Tạo mô hình HMM đơn âm vị (Monophones HMM):
HMM mÉu
HCompV
hmm0 macros hmmdef
Danh sách file huấn luyện
Train.scp
hmm1 macros hmmdef Danh sách mô
h×nh HMM Monophones0
HERest
Phones level Transcription (phones.mlf)
Hình 5.4: Tạo mô hình HMM đơn âm vị
Mô hình HMM mẫu đ−ợc tạo ra để định nghĩa số trạng thái của mô hình,
định nghĩa kích thước và khởi tạo giá trị ban đầu của các vector tham số đặc trưng cho mỗi trạng thái trong mô hình (giá trị trung bình, độ lệch …) và ma trận chuyển trạng thái giữa các trạng thái trong mô hình. Các giá trị khởi tạo này chỉ mang ý nghĩa hình thức. Giá trị thật của nó đ−ợc tính toán lại bằng công cụ HCompV. Cuối cùng hệ thống dùng thuật toán Baum - Welch để −ớc l−ợng lại các tham số của mô
hình HMM sử dụng cơ sở dữ liệu luyện. Quá trình −ớc l−ợng này sử dụng công cụ HERest. Hình 5.4 chỉ rõ quá trình này.
Gắn mô hình khoảng lặng (silence model): Mô hình HMM của khoảng nghỉ (short pause - sp) có dạng mô hình HMM trái - phải 3 trạng thái, trong đó trạng thái giữa của nó đ−ợc coi nh− hoàn toàn giống với trạng thái giữa của mô hình khoảng lặng (silence - sil). Ng−ời ta thực hiện chia sẻ trạng thái giữa của hai mô
hình này với nhau nh− hình 5.5.
Hình 5.5: Mô hình khoảng lặng sil và mô hình nghỉ sp
Sau khi chia sẻ hai trạng thái giữa của mô hình sil và mô hình sp, hệ thống lại dùng công cụ HERest để −ớc l−ợng lại các tham số của mô hình HMM nh− hình 5.6
Script sil ặ sp
hmm5 macros hmmdef hmm4
macros hmmdef
HHEd HERest
(x2) Script
sil.hed Danh sách mô
h×nh HMM Monophones1
hmm7 macros hmmdef
Hình 5.6: Gắn mô hình khoảng lặng sil
Tổ chức lại dữ liệu huấn luyện: Trong từ điển, mỗi từ có thể đ−ợc phiên âm theo nhiều cách khác nhau. Trong b−ớc này, hệ thống HTK sẽ kiểm tra lại toàn bộ cách phát âm cho mỗi từ và tạo ra file mô tả ở mức độ âm vị mới (aligned.mlf) phù hợp nhất với dữ liệu âm học. Kết thúc quá trình này, các tham số của mô hình lại
đ−ợc −ớc l−ợng lại bằng cách sử dụng công cụ HERest.
Word level transcription
(words.mlf)
Tõ ®iÓn (dict)
hmm7 macros hmmdef
HHEd
Danh sách file huấn luyện
(train.scp)
Phones level transcription (aligned.mlf) Danh sách mô
h×nh HMM Monophones1
Hình 5.7: Tổ chức lại dữ liệu huấn luyện
Tạo mô hình triphones từ mô hình monophones: B−ớc cuối cùng trong quá
trình xây dựng mô hình HMM, đó là tạo ra các mô hình ba âm vị HMM phụ thuộc vào ngữ cảnh (context - dependent triphone HMMs). Giai đoạn này đ−ợc chia làm hai bước: Đầu tiên, từ các mô hình âm vị đơn (monophones) trong file aligned.mlf
đ−ợc tạo ra ở b−ớc tr−ớc, hệ thống sử dụng công cụ HLEd tạo ra file wintri.mlf chứa các mô hình ba âm vị phụ thuộc vào ngữ cảnh. Quá trình này đ−ợc thể hiện bằng nhánh bên phải của hình 5.8. Sau đó, các trạng thái âm học giống nhau trong mô
hình ba âm vị phụ thuộc ngữ cảnh sẽ cùng chia sẻ với nhau tập các tham số giống nhau của mô hình HMM. Quá trình này đ−ợc thực hiện bằng công cụ HHEd. Khi tập các mô hình ba âm vị phụ thuộc vào ngữ cảnh đ−ợc tạo ra, hệ thống HTK tiếp tục −ớc l−ợng lại các tham số của mô hình sử dụng công cụ HERest. Quá trình này hoàn toàn giống như đã thực hiện trong bước trước, ngoại trừ việc thay thế file chứa các mô hình đơn âm vị (monophones model) bằng file chứa các mô hình 3 âm vị (triphones model) và thay thế file mô tả bằng mô hình đơn âm vị (monophones transcription) bằng file mô tả bằng mô hình ba âm vị (triphones transcription).
HHEd
Monophones (hmm9)
Triphones (hmm12) Triphones
(hmm10) Phones
Transcription (wintri.mlf)
HLEd
HERest(x2)
State Occs (stats) Triphones transcription
(wintri.mlf)
Hình 5.8: Tạo mô hình triphones từ mô hình monophones Hình 5.8: Tạo mô hình triphones từ mô hình monophones
Nhận dạng: Để nhận dạng tiếng nói d−ới dạng các file tín hiệu âm thanh, hệ thống HTK sử dụng công cụ HVite. Đầu vào của công cụ này yêu cầu file chứa các mô hình ba âm vị HMM, từ điển, và danh sách các file thử nghiệm. Kết quả quá
trình nhận dạng chứa trong file recout.mlf. ở đây do ch−a sử dụng mô hình ngôn ngữ nên kết quả nhận dạng này mới chỉ dừng lại ở mức độ âm học. Để đánh giá kết quả, HTK hỗ trợ công cụ Hresults cho phép tính toán sai số, đếm số từ nhận dạng
đúng…
Nhận dạng: Để nhận dạng tiếng nói d−ới dạng các file tín hiệu âm thanh, hệ thống HTK sử dụng công cụ HVite. Đầu vào của công cụ này yêu cầu file chứa các mô hình ba âm vị HMM, từ điển, và danh sách các file thử nghiệm. Kết quả quá
trình nhận dạng chứa trong file recout.mlf. ở đây do ch−a sử dụng mô hình ngôn ngữ nên kết quả nhận dạng này mới chỉ dừng lại ở mức độ âm học. Để đánh giá kết quả, HTK hỗ trợ công cụ Hresults cho phép tính toán sai số, đếm số từ nhận dạng
đúng…
Triphones
(hmm12)
HVite Word Net
(wdnet) Tõ ®iÓn (dict)
Danh sách các file thử nghiệm
(test.scp)
Các từ đ−ợc nhận dạng
(recout.mlf) HResults
Kết quả
tóm tắt File mô tả chuẩn
(testref.mlf)
Hình 5.9: Nhận dạng dữ liệu Hình 5.9: Nhận dạng dữ liệu
Trên đây đã trình bày các bước cơ bản được thực hiện trong quá trình xây dựng hệ thống nhận dạng tiếng nói tiếng Việt liên tục. Sau đây chúng ta sẽ lần l−ợt xem xét các thí nghiệm cụ thể và kết quả nhận dạng của các thí nghiệm đó. Việc
đánh giá, nhận xét sẽ đ−ợc trình bày ở phần cuối cùng, khi chúng ta đã có đầy đủ kết quả của các thí nghiệm.