Báo cáo đồ án tốt nghiệp nghiên cứu mạng neurral và xây dựng ứng dụng nhận dạng tiếng việt - Pdf 13

Lời nói đầu
Từ rất lâu, con người đã mong muốn xây dựng và phát triển các hệ
thống có khả năng thông minh như con người. Trong nhiều hướng nghiên
cứu nhằm triển khai các hệ thống thông minh, mạng Neural đang là sự lựa
chọn khá phổ biến. Chúng là cơ sở cho các giải pháp nhận dạng, tự động
hóa điều khiển, trí tuệ nhân tạo… Mạng Neural nhân tạo là hệ thống xử lý
thông tin mới mẻ trong việc ứng dụng vào điều khiển và tự động hóa. Với
việc kết hợp chặt chẽ các hệ logic mờ, mạng Neural nhân tạo đã tạo nên
một cuộc cách mạng thực sự trong việc thông minh hóa và vạn năng hóa
các bộ điều khiển kỹ thuật cao trong giai đoạn hiện nay và cả trong tương
lai. Cùng với sự phát triển của công nghệ thông tin không thể không kể đến
công nghệ xử lý tiếng nói như: nhận dạng tiếng nói, chuyển lời nói thành
chữ viết và ngược lại… Mục tiêu đặt ra xây dựng một hệ thống nhận dạng
tiếng nói bằng máy tính. Tuy nhiên đây là vấn đề rất phức tạp vì độ biến
động của mẫu âm thanh là vô cùng lớn, cùng với yếu tố cơ bản là cơ quan
phát âm còn có sự ảnh hưởng nhiễu của môi trường truyền âm, ngoài ra
giọng nói của mỗi người mỗi khác, mỗi địa phương mang một sắc thái
riêng… Đó là một trong nhiều nguyên nhân làm bài toán nhận dạng tiếng
nói mặc dù đã được nghiên cứu từ lâu nhưng kết quả vẫn còn hạn chế. Bài
toán nhận dạng tiếng nói thường được chia thành các bài toán nhỏ hơn như:
nhận dạng thanh điệu, nhận dạng với số từ hữu hạn, nhận dạng các từ phát
âm rời rạc, nhận dạng câu, nhận dạng phụ thuộc người nói, nhận dạng độc
lập người nói.v.v. Vấn đề nhận dạng tiếng nói ngày càng trở nên cấp thiết,
với ứng dụng rộng, thiết thực vào mọi lĩnh vực của cuộc sống. Các nước
trên thế giới đều đang cố gắng xây dựng chương trình nhận dạng tiếng nói
cho mình.
1
Đối với tiếng Việt, hiện nay đang trong quá trình nghiên cứu và kết
quả vẫn còn nhiều khiêm tốn. Do đó nhu cầu giải quyết bài toán nhận dạng
tiếng nói tiếng Việt càng trở nên cần thiết. Với lý do đó em đã chọn hướng
nghiên cứu trong đồ án về lĩnh vực nhận dạng tiếng nói và giải quyết bài

Lời nói đầu 1
Chương 1. CẤU TRÚC NGÔN NGỮ TIẾNG VIỆT 4
1.1 Tiếng nói và nhận dạng tiếng nói 4
1.2 Hệ thống ngữ âm tiếng Việt 7
CHƯƠNG 2. KỸ THUẬT PHÂN TÍCH DỮ LIỆU TIẾNG NÓI 13
2.1. Cấu trúc File “.Wav” 13
2.2. Các kỹ thuật tiền xử lý 15
2.3. Các kỹ thuật trích rút đặc trưng 27
CHƯƠNG 3. TÌM HIỂU VỀ MẠNG NEURAL 37
3.1. Các khái niệm chung về mạng Neural 37
3.2. Mạng Neural lan truyền ngược 42
CHƯƠNG 4. ỨNG DỤNG MẠNG NEURAL NHẬN DẠNG ÂM THANH TIẾNG
VIỆT 51
4.1. Thiết kế hệ thống nhận dạng 51
4.2. Thiết kế mạng Neural lan truyền ngược 53
4.3. Các đầu vào nhận dạng 55
4.5. Phân tích và đánh giá kết quả 67
Kết luận 69
Các tài liệu tham khảo 70
Chương 1. CẤU TRÚC NGÔN NGỮ TIẾNG VIỆT
1.1 Tiếng nói và nhận dạng tiếng nói.
Tiếng nói được dùng để trao đổi thông tin giữa người nói và người
nghe, tiếng nói có một vị trí quan trọng trong xã hội loài người bởi vì tiếng
nói và lao động là các nhân tố tạo lên sự phát triển của xã hội loài người.
Tiếng nói, hay ngôn ngữ là một vấn đề vô cùng phức tạp và đã được
nhiều các nhà khoa học trên thế giới quan tâm nghiên cứu dưới nhiều góc
độ khác nhau. Dưới góc độ CNTT tiếng nói và nhận dạng tiếng nói có một
vai trò to lớn giải quyết nhiều bài toán hóc búa mà từ trước nay con người
đang quan tâm. Bài toán thông dịch các ngôn ngữ khác nhau, bài toán giao
tiếp giữa người và máy, bài toán cho người khiếm thị sử dụng máy

quả nhận dạng không cao, còn hệ thống nhận dạng có bộ từ điển lớn thì
không gian lưu trữ có hạn và việc tính toán nhận dạng cũng phức tạp.
-Môi trường phát âm để nhận dạng là một yếu tố quan trọng trong
nhận dạng âm thanh. Với môi trường yên tĩnh thì hiệu quả nhận dạng cao
nhưng với môi trường nhiều tạp âm thì hiệu quả nhận dạng thấp có khi
không nhận dạng được.
-Ngữ pháp của tiếng nói cũng là một vấn đề phức tạp trong nhận
dạng, với mỗi quốc gia có kiểu nói và ngữ pháp của ngôn ngữ khác nhau do
đó để nhận dạng tốt với mỗi tiếng nói là việc rất phức tạp, đã được rất
nhiều các nhà khoa học nghiên cứu và đã đi theo nghiên cứu nhận dạng
theo các hướng sau:
-Hệ thống nhận dạng tiếng nói độc lập hay phụ thuộc vào người nói:
Hệ thống nhận dạng phụ thuộc người nói được dùng để thực hiện
học và nhận dạng cho một người nói. Hệ thống này nhận dạng có hiệu quả
tương đối cao so với hệ thống nhận dạng độc lập với người nói vì hệ
thống này khi học sẽ dùng nhiều mẫu học của nhiều người nói khác nhau
và khi nhận dạng cũng phải nhận dạng nhiều người nói. Tuy nhiên ở kiểu
nhận dạng phụ thuộc người nói có yếu điểm là phải học lại mẫu khi nhận
dạng với một người nói mới chưa được học qua hệ thống. Cả hai kiểu nhận
dạng trên đều được dùng khi nhận dạng tiếng nói.
6
-Nhận dạng phát âm từ đơn lẻ hay nhận dạng phát âm liên tục
Hệ thống nhận dạng từ đơn được học với các đơn vị nhỏ nhất của
phát âm hay còn gọi là các âm tiết. Ở kiểu nhận dạng này người nói phải
nghỉ với một khoảng thời gian dài giữa hai phát âm. Công việc phát hiện ra
điểm đầu và điểm cuối của một phát âm tạo ra một khung bao của phát âm
để nhận dạng. Khi từ điển cho nhận dạng phát âm từ đơn quá lớn, chúng ta
phải cấu trúc lại cách học với kiểu dùng chung các phát âm của một từ.
Nhận dạng phát âm liên tục là một hệ thống nhận dạng phức tạp
được dùng để nhận dạng các phát âm liên tục, ở hệ thống này thời gian

Ta thấy rằng quan niệm truyền thống tiếng Việt có bảng chữ
cái gồm 17 phụ âm, 10 vần và 5 dấu, trên cơ sở đó tất cả các từ đơn được
sinh ra. Các từ đơn này là cơ sở tạo ra tất cả các từ trong tiếng Việt. Với
cách quan niệm trên, người ta có thể phân tích, nghiên cứu tiếng Việt ở
nhiều khía cạnh khác nhau như vần, điệu, ngữ pháp, ngữ nghĩa, cách phát
âm, v.v.
Tuy nhiên với cách quan niệm trên làm cho chúng ta gặp
nhiều khó khăn về thuật toán như làm tăng dung tích bộ nhớ, tăng thời gian
xử lý. Do đó để đơn giản hoá khi nghiên cứu nhận dang tiếng Việt người ta
có thể quan niệm toàn bộ tiếng Việt được xây dựng từ một bảng gồm 26
phụ âm và 620 vần, đồng thời có 620 vần. Như thế chúng ta có thể xem
mọi từ trong tiếng Việt có cấu trúc như sau:
[<PHỤ ÂM>] & [<NGUYÊN ÂM>] (*)
Trong đó <PHỤ ÂM> có thể có hoặc không, thành phần
<NGUYÊN ÂM> bắt buộc phải có. Theo dạng (*) khi đó toàn bộ tiếng
Việt có:
8
26*620+620=16.740 từ
Dưới đây là là bảng các phụ âm và vần được phân chia theo độ
dài:
Bảng các phụ âm:
Các phụ âm Số lượng
Phụ âm đơn b,c,d,đ,g,h,k,l,m,n,p,q,r,s,t,v,x 17
Phụ âm ghép Ch,kh,nh,gh,th,ng,ngh,tr 9
Bảng vần đơn:
Các vần đơn Số lượng
a A,à,á,ả,ã,ạ,ă,ắ,ằ,ẳ,ẵ,ặ,â,ầ,ấ,ậ,ẫ,ẩ 18
o O,ò,ó,ỏ,õ,ọ,ô,ồ,ố,ổ,ỗ,ộ,ơ,ờ,ớ,ở,ỡ,ợ 18
e E,è,é,ẻ,ẽ,ẹ,ê,ề,ế,ể,ễ,ệ 12
i I,ì,í,ỉ,ĩ,ị 06

18
ng Ang, àng,áng,ảng,ãng,ạng; ăng, ằng, ắng,ẳng, ẵng, ặng;
Âng,ấng,ầng,ẩng, ẫng, ậng; ing,
Eng, ;êng
Ong, ;ông
60
10
Ung ;ưng
ch Ách,ạch,ấch,ậch, ích,ịch, ếch, ệch, óch, ọch, úch, ụch 12
n Oen, oèn, oén, oẻn, oẽn; Ian; iàn, ián, iản, iạn, oan, oàn,
oán, oản, oãn, oạn
18
i/y Oai,oài,oái, oải, oại, oay, oày, oáy, oảy, oãy, oạy 12
o Iao, iào, iáo, iảo, ião, iạo 06
Bảng vần bốn:
nh Uanh,uành,uánh, uảnh,uạnh,uynh,uỳnh, ýnh, uỷnh,
uỹnh, uỵnh; oanh, oành, oánh, oảnh, oãnh, oạnh
18
ng Uang, uàng, uáng, uảng, ũng, uạng; uâng, uầng, uấng,
uẩng, uẫng, uậng, uông, uồng, uống, uổng, uỗng,uộng,
ương, ường, ưỡng, ưởng, ượng;
Iang, iàng, iáng, iảng, iạng, iêng, iềng, iếng, iểng, iễng,
iệng; oang, oàng, oáng, oảng, oãng, oạng; oăng, oằng,
oắng, oẳng, oẵng, oặng
48
Từ cách phân loại trên ta thấy:
Có:
• 26 phụ âm
• 72 vần đơn
• 150 vần kép loại 1

phân tích trực tiếp trên tín hiệu trong miền thời gian yêu cầu khối lượng
tính toán nhỏ và cung cấp lượng thông tin lớn để xác định các đặc trưng
của tiếng nói. Tín hiệu tiếng nói là một loại tín hiệu biến đổi theo thời gian.
Điều này có thể thấy rõ khi biểu diễn tiếng nói dưới dạng sóng. Vấn đề ở
chỗ cần phân tích chuỗi tín hiệu này để trích rút ra được các đặc trưng để
phân biệt các tiếng nói với nhau.
2.1. Cấu trúc File “.Wav”.
Một file wave là một phần của một lớp file lớn hơn dùng bởi các
hàm Multimedia của Windows là các file RIFF (Resource Interchange File
Format). Một file RIFF bao gồm một hoặc nhiều chunk. Mỗi chunk có con
trỏ chỉ đến chunk kế tiếp. Mỗi chunk có một mô tả kiểu theo sau bởi một số
13
dữ liệu. Một ứng dụng để đọc các file RIFF có thể đi qua một số chunk,
đọc các chunk cần quan tâm và bỏ qua các chunk không liên quan.
•Cấu trúc file.wav gồm những phần sau:
- RIF chunk: kích thước 12 byte.
+ 0 –3 : “RIF” (mã tự ASCII), đây là xâu ký tự định danh các
file âm thanh có đuôi *.wav.
+ 4 –7: độ dài tổng cộng của thông tin phần sau, nó được tính
bằng công thức: độ dài tổng cộng = độ dài của file *.wav –8.
+ 8 –11: là xâu “WAVE”.
- FORMAT chunk: kích thước 24 byte.
+ 0 – 3: là xâu ký tự bắt đầu khối định dạng dữ liệu.
+ 4 – 7: độ dài của FORMAT chunk.
+ 8 – 9: 0x01.
+ 10 –11: số chanel (kênh) (0x01 = mono, 0x02 = stero).
+ 12 –15: sample rate (tốc độ lấy mẫu), thường là các giá trị
xác định như: 11.025 kHz, 22.5 kHz, 44.1 kHz.
+ 16 –19: bytes per second, giá trị này cho biết số byte được
truy xuất trong 1 giây.

*Tần số lấy mẫu:
Bản chất của âm thanh là các sóng âm. Đây là tín hiệu tương
tự. Để có thể biểu diễn âm thanh trong máy tính và áp dụng các kỹ thuật xử
lý tín hiệu số thì bước đầu tiên là phải chuyển đổi các tín hiệu tương tự
thành các dãy số. Quá trình này được thực hiện bằng cách lấy mẫu tín hiệu
âm thanh theo một tần số lấy mẫu thích hợp ( tần số lấy mẫu là số mẫu lấy
trong một đơn vị thời gian).
Với tín hiệu tương tự x(t), chu kỳ lấy mẫu T (tần số lấy mẫu
1/T) thu được dãy số X(n):
15
X(n)=x(n*T) với -∞ < n < ∞
Để đảm bảo quá trình số hoá không làm mất mát thông tin của
phổ tín hiệu thì tần số lấy mẫu F
s
=1/T phải đủ lớn. Giá trị đủ lớn của F
s
phải tuân theo định lý lấy mẫu: Tín hiệu liên tục theo thời gian có bề rộng
phổ hữu hạn với tần số cao nhất f Hz có thể được khôi phục một cách duy
nhất từ các mẫu nếu quá trình lấy mẫu được thực hiện với tốc độ F
s
>=2f
mẫu trên một giây. Đối với chuẩn của file âm thanh thì tần số lấy mẫu thấp
nhất là 8000Hz điều này có nghĩa là quá trình số hóa chỉ áp dụng với các
tín hiệu tương tự có tần số cao nhất là 4000Hz-phù hợp với tiếng nói con
người có tần số từ 40Hz-4000Hz.
*Formant:
Formant hay còn gọi là các họa âm, đóng vai trò tạo nên âm sắc
của âm thanh. Formant là giải tần số được tăng cường do hiện tượng cộng
hưởng, đặc trưng cho âm sắc của mỗi vần.Trong mỗi dải tần như thế có
một tần số được tăng cường hơn cả và được gọi là đỉnh của Formant. Một

phân giải 16bit, miền giá trị này là khoảng đóng [0,65535]. Do đó xác định
chính xác biên độ của sóng là một bài toán khó và trên thực tế là không cần
thiết phải giải quyết tuyệt đối chính xác vì cái mà ta thực sự quan tâm là sự
biến thiên của biên độ. Do đó bài toán này thường được giải quyết bằng
phương pháp giải gần đúng. Trước hết ta xác định gần đúng ngưỡng không,
sau đó biên độ sẽ được tính bằng trị tuyệt đối hiệu của giá trị số hoá trừ đi
giá trị của ngưỡng không. Giá trị của ngưỡng không tuỳ thuộc vào từng
Soundcard.
*Nhiễu:
Nhiễu là một trong những yếu tố làm cho bài toán nhận dạng trở
nên vô cùng phức tạp. Nhiễu được xem xét như một đại lượng ngẫu nhiên,
làm biến đổi tín hiệu cần nhận dạng. Do đó, lọc nhiễu là một khâu cần thiết
phải tiến hành trong quá trình tiền xử lý tín hiệu.
2.2.2. Chuẩn hóa biên độ.
Để tránh mất mát đặc trưng do âm thanh quá to hoặc quá nhỏ,
đồng thời làm tăng ý nghĩa cho các đặc trưng để nhận dạng ta tiến hành
chuẩn hóa biên độ. Đây là một bước cần thiết nhưng không đòi hỏi tính
toán, xử lý phức tạp. Các mẫu âm thanh được thu trong quá trình làm đồ án
17
với độ phân giải thì biên độ của tiếng nói có giá trị nằm trong khoảng [0,
255], do đó ta tiến hành chuẩn hóa dữ liệu sao cho giá trị trung bình của nó
là 125. Chuẩn hoá biên độ có thể tiến hành đơn giản bằng cách nhân tín
hiệu với một hệ số thích hợp:
s(n)=k*s(n)
k là hệ số nhân. Giá trị của k có thể chọn như sau:
))((max
125
ns
k
n


−∞=
=
m
mxE )(
2
Giá trị năng lượng này ít có giá trị thực tế trong việc nghiên cứu
tín hiệu âm thanh nói chung và tín hiệu tiếng nói nói riêng. Giá trị này
20
không phản ánh được tính chất biến động theo thời gian của tín hiệu do nó
được tính trong khoảng thời gian vô cùng lớn. Ở đây, người ta đưa ra định
nghĩa về năng lượng thời gian ngắn:

+−=
=
n
Nnm
mx
n
E
1
)(
2
Công thức này cho thấy, để tính năng lượng thời gian ngắn của
dãy tín hiệu x(m) ta chia dãy x(m) thành những khoảng (có thể liên tục
hoặc gối lên nhau) theo thời gian. Khi đó, năng lượng thời gian ngắn của
x(m) tại khoảng thứ n, là tổng bình phương biên độ của N mẫu từ n-N+1
tới n.
Căn cứ vào giá trị năng lượng thời gian ngắn có thể phân biệt
được các đoạn hữu thanh-vô thanh hoặc các đoạn tín hiệu nhiễu nền.

Tín hiệu tiếng nói là tín hiệu có dải tần rộng nên không thể áp
dụng trực tiếp nhận xét trên mà thường xác định tần số cắt không trong một
thời gian ngắn nhằm dự đoán sự thay đổi phổ của tín hiệu tiếng nói. Công
thức chung như sau:

Trong đó:
Sgn[x(n)]=1 khi x(n)>=0
Sgn[x(n)]= -1 khi x(n)<0
W(n) cửa sổ lấy tín hiệu.
W(n)=
N2
1
với 0<=n<=N-1
W(n)=0 với các giá trị khác của n.
Năng lượng, độ lớn và tần số cắt không thời gian ngắn là cách
đơn giản và hiệu quả để xác định phần nhiễu nền và tín hiệu, phần vô thanh
và hữu thanh. Bằng thực nghiệm ta thấy: phần khác giá trị trung bình biên
độ sóng âm của 2 đoạn âm thanh có tín hiệu và nhiễu nền đều xấp xỉ
không, vì vậy số lần chuyển qua trục x=0 của đoạn tín hiệu nhiễu nền nhiều
hơn đoạn tín hiệu âm thanh. Khi cần phân biệt phần nhiễu nền và tín hiệu,
23

+∞
−∞=
=
m
n
Z n)-w(m| 1)]-sgn[x(m-[x(m)]sgn|
phần tín hiệu vô thanh và hữu thanh thuờng ta chỉ cần 1 chỉ tiêu trên cũng
đủ để phân biệt. Nhưng trong trường hợp phức tạp phải sử dụng đến cả

||
i
y
tuần hoàn với chu kỳ Po thì hàm AMDF sẽ
đạt giá trị cực tiểu tại Po. Như vậy việc xác định chu kỳ Pitch của tiếng nói
sẽ thông qua xác định chỉ số Po mà tại đó hàm AMDF đạt giá trị cực tiểu.
Trong thực tế chu kỳ Pitch của tiếng nói nằm trong một miền giới hạn vì
vậy không cần thiết phải tính toán cho mọi giá trị P của hàm AMDF.
Như vậy với mỗi tiếng nói ban đầu ta đều có thể đưa ra được
các đặc trưng thời gian ngắn như đã trình bày ở trên. Mỗi âm thanh sẽ có
các đặc trưng khác nhau, và các đặc trưng này được xác định theo những
tiêu chuẩn riêng. Việc xác định tần số Pitch theo hàm sai khác độ lớn trung
bình thời gian ngắn hay xác định tần số cắt không cũng chỉ là cách đưa ra
được ước lượng thô về tần số của tiếng nói vì chưa có một phát biểu mang
ý nghĩa vật lý về tần số cơ bản của tiếng nói. Nhưng nó cũng là cơ sở quan
trọng để nhận dạng được tiếng nói cũng như trong việc nhận dạng các
thanh điệu tiếng Việt.
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status