5.2.1 Xây d ng bộ d li u huấn luy n lớn h n
Nh ta đƣ th y, bộ d li u là thành phần c c kì quan trọng đối với h nh n d ng. Hi n t i bộ d li u tôi đƣ xơy d ng (1100 file, 11 t , 10 ng i) còn khiêm tốn. Để có thể có nh ng k t qu nghiên c u tốt h n, tôi sẽ m rộng bộ d li u: tăng số ng i nói và số t , đa d ng hóa môi tr ng ghi âm.
5.2.2 Xây d ng phần m m nh n d ng d a trên k t qu nghiên c u
H thống nh n d ng hi n t i c a tôi hi n chỉ đ c th nghi m trên môi tr ng Matlab, mới có kh năng nh n d ng một file ghi âm sẵn c a một t (nh n d ng t đ n, ngo i tuy n), trong tr ng h p nh n d ng tr c ti p, m ng ho t động ch a đ c chính xác. Trong khi đó để h nh n d ng có thể ng d ng đ c thì h ph i ho t động d ng tr c ti p và liên t c (t c là v a ghi âm v a nh n d ng, nh n d ng nhi u
Trang 76
ch số một lúc, ch y nh một ch ng trình h thống). M c tiêu c a tôi là sau khi th nghi m h thống cho k t qu cao sẽ xây d ng một bộ công c nh n d ng ti ng nói và các phần m m ng d ng, vì đó mới là m c đích c a nghiên c u nh n d ng ti ng nói.
5.2.3 Nghiên c u các phư ng pháp xác định đặc trưng khác
nghiên c u này, vi c tách đặc tr ng c a tín hi u ti ng nói còn r t đ n gi n. Để nâng cao k t qu nh n d ng cần tìm nh ng đặc tr ng ổn định h n c a ti ng nói và nh ng ph ng pháp trích đặc tr ng hi u qu h n.
5.2.4 Nghiên c u các phư ng pháp nh n d ng khác
Các nghiên c u khác cho th y hi n t i mô hình Markov ẩn (HMM) đang cho k t qu nh n d ng cao nh t. H ớng nghiên c u mới c a đ tài là tìm cách k t h p m ng neural và mô hình Markov ẩn nhằm k t h p u điểm c a hai mô hình.
Mặt khác, đối với bộ t v ng nhỏ thì nh n d ng t đ n (ơm ti t) là thích h p. Tuy nhiên với h nh n d ng c lớn, nh t là h nh n d ng ti ng Vi t hoàn chỉnh (6 nghìn âm ti t) thì chọn đ n vị nh n d ng là âm ti t không h p lắm.
Một h ớng nghiên c u khác c a đ tài là nh n d ng đối với đ n vị nhỏ h n ơm ti t là âm vị. T c là xây d ng các h nh n d ng có ch c năng:
Phân bi t đ c nhi u n n (kho ng lặng), ph âm, nguyên âm. Nh n d ng ph âm (phân bi t đ c các ph âm khác nhau). Nh n d ng nguyên âm (phân bi t đ c các nguyên âm khác nhau) Nh n d ng thanh đi u c a âm ti t.
Trang 77
TÀI LI U THAM KH O
1. ĐoƠn Thi n Thu t, Ng âm ti ng Vi t, NXB ĐHQG HƠ Nội, 2003. 2. Lê Bá Dũng, X lý ti ng nói, Tr ng Đ i học Hàng H i Vi t Nam, 2001.
3. Ph m H u Đ c D c, M ng N ron vƠ ng d ng trong đi u khiển t động, NXB Khoa Học và Kỹ Thu t, 2009.
4. Nguy n Hoàng H i ậ Nguy n Khắc Kiểm, L p trình Matlab, Nhà xu t b n Khoa Học và Kỹ Thu t, 2003.
5. Joe Tebelskis, Speech Recognition using Neural Networks, School of Computer ScienceCarnegie Mellon University Pittsburgh, Pennsylvania 15213-3890,May 1995.
6. Bahl, L., Bakis, R., Cohen, P., Cole, A., Jelinek, F., Lewis, B., and Mercer, R. (1981), Speech Recognition of a Natural Text Read as Isolated Words, In Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, 1981.
7. Mark Hudson Beale, Martin T. Hagan, and Howard B. Demuth, Neural Network Toolbox™ User‟s Guide, The MathWorks, Inc.
8. Bodenhausen, U., and Manke, S. (1993), Connectionist Architectural Learning for High Performance Character and Speech Recognition, In Proc. IEEE International Confer-ence on Acoustics, Speech, and Signal Processing, 1993. 9. Bourlard, H. and Morgan, N. (1990), A Continuous Speech Recognition System
Embedding MLP into HMM - In Advances in Neural Information Processing Systems 2, Touretzky, D. (ed.), Morgan Kaufmann Publishers.
10. Bourlard, H., Morgan, N., Wooters, C., and Renals, S. (1992), CDNN: A Context Dependent Neural Network for Continuous Speech Recognition, In
Trang 78
Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, 1992.
11. Bourlard, H. and Morgan, N. (1994), Connectionist Speech Recognition: A HybridApproach, Kluwer Academic Publishers.
12. Bridle, J. (1990), Alpha-Nets: A Recurrent “Neural” Network Architecture with a Hidden Markov Model Interpretation. Speech Communication, 9:83-92, 1990. 13. John R.Deller & John G.Proakis & John H. L. Hansen, Discrete ậ Time
Processing of Speech Signals, Macmillan Publishing Company, 1993.
14. B. Plannerer, An Introduction to Speech Recognition, ©2001,2002,2003 Bernd Plannerer, Munich, Germany, March 28, 2005.
15. Howard Demuth, Mark Beale - Neural Network ToolboxFor Use with MATLAB®, © COPYRIGHT 1992 - 2002 by The MathWorks, Inc.
Trang 79
PH L C
A. Giới thi u hàm và ToolBox trong Matlab cần để xây d ng h thống nh n
d ng
Nh chúng ta đƣ bi t, Matlab (Matrix Laboratory) là một môi tr ng tr giúp tính toán và hiển thị r t m nh đ c hãng MathWorks phát triển. M c phát triển c a Matlab ngƠy nay đƣ ch ng tỏ Matlab là một phần m m có giao di n c c m nh cùng nhi u l i th trong kĩ thu t l p trình để gi i quy t nh ng v n đ đa d ng trong nghiên c u KHKT.
NgoƠi th vi n các hàm tính toán, vào-ra, đồ ho … c b n, Matlab còn có các toolbox lƠ các th vi n cho t ng lĩnh v c c thể. Ví d có toolbox cho x lí tín hi u (Signal Processing), mô phỏng mô hình (SimulLink), logic m (Fuzzy Logic), m ng Neural (NNet), … th m chí cho c thi t k máy bay (Aerospace) hay gi i ph ng trình vi phơn (PDE)…
1. Các hàm xử lý âm thanh
[y fs]=wavread(wavfile) Đọc tín hi u âm thanh t file wav cho b i xâu wavfile, y là vector mô t tín hi u âm thanh (có giá trị th c t 0 đ n 1), fs là tần số l y m u (giá trị nguyên)
wavwrite(y,fs,wavfile) Ghi tín hi u âm thanh t file wav cho b i xâu wavfile, y là vector mô t tín hi u âm thanh, fs là tần số l y m u.
sound(y) Phát âm thanh ra loa, y là vector mô t tín hi u âm thanh.
y=wavrecord(n, fs) Ghi âm (t micro) với tần số l y m u fs và n m u. K t qu là vector y.
Trang 80
2. VoiceBox toolbox
VoiceBox là một toolbox c a Matlab chuyên v x lí ti ng nói do Mike Brookes phát triển. VoiceBox yêu cầu Matlab phiên b n 5 tr lên. Voicebox có thể t i v t http://webscripts.softpedia.com/script/Scientific-Engineering-
Ruby/Signal- Processing/Voicebox-34702.html.
VoiceBox gồm các hàm có thể chia thành một số nhóm ch c năng sau:
X lí file ơm thanh (đọc, ghi file wav và một số định d ng file âm thanh khác).
Phân tích phổ tín hi u Phân tích LPC
Tính toán MFCC, chuyển đổi spectral - cepstral Chuyển đổi tần số (mel-scale, midi,...)
Bi n đổi Fourier, Fourier ng c, Fourier th c...
Tính kho ng cách (sai l ch) gi a các vector và dãy vector. Lo i tr nhi u trong tín hi u ti ng nói.
Ch c năng quan trọng nh t là trích đặc tr ng tín hi u ti ng nói, mà đơy lƠ 2 lo i phổ bi n nh t LPC và MFCC.
Hàm tính MFCC c a tín hi u trong VoiceBox là hàm :
melcepst(s,fs,w,nc,p,n,inc,fl,fh)
Hàm có nhi u tham số, một số tham số quan trọng là:
s là vector tín hi u ti ng nói (có đ c sau khi dùng hàm hoặc ), fs là tần số l y m u (mặc định là 11050).
nc là số h số MFCC cần tính (t c là số phần t c a vector đặc tr ng, mặc định là 12).
p là số bộ lọc mel-scale.
w là một xâu mô t các l a chọn khác: n u có thì tính thêm log năng l ng, có thì tính thêm đặc tr ng delta.
Mặc dù v y hàm có thể gọi một cách đ n gi n là:
Trang 81
L i gọi hàm sinh ra ma tr n c, mỗi dòng c a ma tr n là 12 h số MFCC c a một frame.
Để kèm thêm log năng l ng và d li u delta nh trong các h nh n d ng khác, ta dùng l nh:
c=melcepst(s,fs,’ed’);
Khi đó mỗi dòng c a c là vector 26 h số MFCC c a frame t ng ng.
3. Nh p và xuất
Toàn bộ các bi n đang s d ng đ c gọi là không gian làm vi c (workspace) c a Matlab. Sau khi thoát khỏi Matlab thì chúng bị xoá. Để làm vi c với d li u đ c nhi u lần ta ph i ghi (save) và n p (load) các bi n đó. Ngoài ra ta còn có nhu cầu chia xẻ d li u gi a Matlab vƠ các môi tr ng khác. Matlab cung c p ch c năng Save vƠ Load để th c hi n các yêu cầu này.
Ghi vƠ đọc d li u qua file trong Matlab có thể th c hi n qua 2 l nh save và load, cũng có thể th c thi bằng chọn menu. Trong tr ng h p ta chắc chắn đ c c u trúc c a file d li u thì nên dùng l nh cho nhanh, trong tr ng h p không rõ (th ng x y ra khi nh p t file c a các môi tr ng khác) ta nên dùng menu vì máy cần chúng ta cung c p vƠ xác định c u trúc file.
Cú pháp c a l nh save, load:
Save <filename> Ghi toàn bộ không gian làm vi c vào file .MAT có tên là <filename>
Save <filename> x Ghi bi n x vào file .MAT có tên là <filename>
Save <filename> x y z Ghi các bi n x,y,z vào file .MAT có tên là <filename> Load <filename> Đọc các bi n trong file .MAT có tên là <filename> vào
không gian làm vi c.
Load <filename> x Đọc giá trị c a bi n x t file .MAT có tên là <filename> Load <filename> x y z Đọc giá trị các bi n x,y,z t file .MAT có tên là
Trang 82
B. M ng Neural trên môi trư ng Matlab
1. Kh i t o m ng FEEDFORWARD
net = newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl}, BTF,BLF)
Dùng newff để t o m ng t 3 thông sốban đầu
P: ma tr n vector đầu vào m u, mỗi vector có R phần t .
T: ma tr n vector m c tiêu, mỗi vector có S phần t .
Si: m ng gồm số neural trong các lớp ẩn t ng ng. Thông số bổ sung:
TFi: hàm truy n dùng trong mỗi lớp. Mặc định: hàm truyền cho lớp ẩn là tansig, cho lớp ra là purelin.
BLF: tên c a hàm hu n luy n. Mặc định: hàm huấn luyện là trainlm.
2. Kh i t o trọng số
N u dùng newff, mặc định các trọng số đ c kh i t o với giá trị ban đầu t ng ng. N u chúng ta muốn kh i t o l i trọng số và các bias, có thể dùng l nh init
net = init(net)
3. Huấn luy n m ng
Khi trọng sốvƠ bias đ c kh i t o, nghĩa lƠ m ng đƣ sẵn sàng cho vi c hu n luy n. Có thể hi u chỉnh một vài thông số hu n luy n mặc định:
net.trainParam.epochs = 100; net.trainParam.goal = 1; net = train(net,p,t);
4. Mô phỏng
Hàm sim dùng để mô phỏng một m ng. Hàm có gái trị đầu vào là vector p, đối t ng m ng net vƠ đầu ra chính lƠ đầu ra a c a m ng.