1

Nhận dạng tiếng nói trên cơ sở
mạng Nơron nhân tạo / Hồ Văn
Hương ; Nghd. : PGS.TS. Nguyễn
Quang Hoan

CHƯƠNG 1
TỔNG QUAN VỀ TIẾNG NÓI VÀ BÀI TOÁN NHẬN DẠNG

1.1 Lịch sử phát triển của nhận dạng tiếng nói
Các hệ thống nhận dạng đầu tiên có khả năng nhận dạng từ
rời rạc và phụ thuộc người nói. Dựa trên phương pháp âm học,
người ta thiết kế các hệ thống nhận dạng âm vị phụ thuộc người
nói và không phụ thuộc người nói, mặc dù mới cho các kết quả
khiêm tốn.
Trong thập kỷ 70, với sự phát triển của các thuật toán phân
tích tín hiệu như mô hình dự đoán tuyến tính, so sánh mẫu theo
thời gian…, công nghệ nhận dạng tiếng nói tiếp tục có những
bước phát triển mạnh mẽ. Các phương pháp này được sử dụng
để thiết kế các hệ thống nhận với số lượng từ khá lớn.
Đến đầu những năm 80, khả năng về kỹ thuật đã cho phép
các nhà nghiên cứu xây dựng các hệ thống nhận dạng được
hàng trăm từ rời rạc. Gần đây công nghệ nhận dạng đã có những
bước phát triển vô cùng nhanh chóng.
1.2 Tổng quan về bài toán nhận dạng tiếng nói

Chúng ta có thể thấy một cách trực quan bài toán nhận
dạng tiếng nói qua hình 1.1.


2

Hình 1.1 Mô hình nhận dạng tiếng nói
Nhận dạng tiếng nói là một quá trình phức tạp bao gồm
nhiều khâu biến đổi. Tín hiệu tiếng nói phát ra là tương tự. Qua
quá trình lấy mẫu, lượng tử hoá và mã hoá để thu được tín hiệu
số. Các mẫu tín hiệu này được trích chọn đặc trưng. Những đặc
trưng này sẽ là đầu vào của quá trình nhận dạng. Hệ thống nhận
dạng sẽ đưa ra kết quả nhận dạng.
Một số yếu tố khó khăn cho bài toán nhận dạng tiếng nói:
• Khi phát âm, người nói nhanh, chậm khác nhau.
• Các từ được nói thường dài ngắn khác nhau.
• Một người cùng nói một từ nhưng ở hai lần phát âm
khác nhau. Kết quả phân tích khác nhau.
• Mỗi người có một chất giọng riêng được thể hiện
thông qua độ cao, độ to, cường độ của âm và âm sắc.
Những yếu tố như nhiễu của môi trường, nhiễu của thiết
bị thu…, ảnh hưởng không nhỏ tới hiệu quả nhận dạng.
Nhận dạng tiếng nói cho nhiều ứng dụng trong thực tế.
1.3 Một số hệ thống nhận dạng tiếng nói
Tuú theo môc ®Ých sö dông mµ c¸c hÖ thèng nhận dạng
tiếng nói được chia thành hai nhóm riêng:


3
• Nhóm được sử dụng với mục đích điều khiển thiết bị
thông qua giọng nói.
• Nhóm sử dụng nhằm xử lý từ tiếng nói sang văn bản.
Phân loại các hệ thống nhận dạng tiếng nói sẽ giúp chúng
ta có một cái nhìn trực quan hơn. Các hệ thống nhận dạng được
phân loại (hình 1.2).
Có 3 phương pháp phổ biến được sử dụng trong nhận dạng
tiếng nói [10]:
• Phương pháp âm học - ngữ âm học.
• Phương pháp nhận dạng mẫu.
• Phương pháp sử dụng lĩnh vực trí tuệ nhân tạo.




1.4 Tổng quan về tiếng nói
Âm thanh thực chất là sự nén và giản một cách tuần hoàn
không khí, tạo ra một sóng đàn hồi dọc.
Tiếng nói là âm thanh của người phát ra. Tai người có thể
phân biệt được các âm thanh khác nhau là do âm thanh có các
đặc tính:
Cao độ của âm thanh: là độ cao hay thấp của âm thanh
được quyết định bởi sự rung của dây thanh.
Cường độ âm (I): là lượng năng lượng được sóng âm
Hình 1.2 Sơ đồ phân loại các hệ thống nhận dạng tiếng nói


4
truyền trong một đơn vị thời gian qua một đơn vị diện tích đặt
vuông góc với phương truyền âm, đơn vị đo là (W/m
2
).
Độ to của âm: là mức âm mà tai ng−êi cảm giác được.
Âm sắc: là sắc thái của âm thanh. Hầu hết các âm thanh
trong tự nhiên cũng như âm thanh trong lời nói đều phức hợp,
được tạo thành từ các âm cơ bản, các họa âm bậc cao.
1.5 Mục tiêu của đề tài
• Thiết kế mạng nơron lan truyền ngược để nhận dạng
các từ tiếng Việt đơn âm tiết là số đếm và phân tích các
tham số của mạng.
• Thử nghiệm nhận dạng với một số người nói.
CHƯƠNG 2
TIẾNG VIỆT VÀ TRÍCH CHỌN ĐẶC TRƯNG
2.1 Khái quát về tiếng Việt
Tiếng Việt là loại hình ngôn ngữ đơn lập (ngôn ngữ không
biến hình), tức là mỗi một tiếng (âm tiết) được phát âm tách rời
nhau, thể hiện bằng một chữ viết và có thanh điệu [1].
Âm tiết, hình vị trong tiếng Việt là cố định, không biến
đổi hình thái theo ngữ pháp và theo thì.
Tiếng Việt có 6 thanh điệu: huyền (-), sắc (/ // /), hỏi (?),
ngã (∼ ∼∼ ∼), nặng (.) và không dấu.
Âm tiết tiếng Việt ở dạng đầy đủ được tạo bởi 5 thành
phần: phụ âm đầu, âm đệm, âm chính, âm cuối và thanh điệu
(hình 2.1).

Thanh điệu
Âm đầu Vần
Âm đệm Âm chính Âm cuối

Một âm tiết trong tiếng Việt có thể theo 4 kiểu khác nhau:
Hình 2.1 Sơ đồ âm tiết tiếng Việt



5
Một mình nguyên âm
Nguyên âm + phụ âm
Phụ âm + nguyên âm
Phụ âm + nguyên âm + phụ âm
2.2 Đơn vị cơ bản cho các hệ thống nhận dạng
tiếng Việt
Mô hình từ và âm tiết
Việc lựa chọn từ làm đơn vị nhận dạng là phương pháp
thông thường và dễ dàng nhất, nó bao trùm được tính biến thể
âm vị (hình 2.2).


Mô hình âm vị
Nhằm giảm bớt số lượng mẫu huấn luyện, nhận dạng và để
sử dụng chung các mẫu này, mô hình âm vị thường được sử
dụng làm đơn vị để nhận dạng cơ bản cho các hệ thống nhận
dạng tiếng nói.
Mô hình Âm đầu và Vần
Hình 2.2 Vốn từ trung bình theo các ứng dụng


6
Tiếng Việt có 22 âm đầu và khoảng 155 vần [6]. Kết hợp
với thanh điệu thì tổng số âm đầu + vần có thanh điệu nhỏ hơn
(22+155)*6 = 1062, vì có nhiều âm đầu, vần và thanh điệu
không thể kết hợp với nhau. Mô hình âm đầu và vần cho phép
giảm bớt nhiều khó khăn cho việc phân đoạn, gán nhãn và yêu
cầu tính toán của máy tính.
2.3 Đặc điểm âm tiết và bài toán nhận dạng
Đặc điểm âm tiết tiếng Việt
Trong tiếng Việt ranh giới âm tiết trùng với ranh giới hình
vị [1]. Đây là đặc điểm quan trọng đã được chú ý khi tiến hành
trích chọn các đặc trưng của âm tiết.
Âm tiết với bài toán nhận dạng
Mét sè kÕt luËn khi chọn mô hình âm tiết cho bài toán
nhận dạng:
• Âm tiết tiếng Việt có ranh giới trùng với ranh giới
hình vị, do vậy khi đọc một câu vào luôn tìm thấy
ranh giới giữa các âm tiết.
• Mỗi âm tiết là một cách biểu diễn một hình vị xác
định, không gây ra sự trùng lặp dẫn tới không phân
biệt được ý nghĩa.
2.4 Trích chọn tần số đặc trưng của tiếng Việt
Cơ chế tạo và thu nhận tiếng nói



































































Định
hình
thông
địêp

ngôn
ngữ
Điều khiển
cơ thần
kinh

Hệ
thống
tuyến
âm

Cảm thụ
thông địêp
Giãi mã
ngôn
ngữ

Tín hiệu
thần kinh

Màng nhĩ
rung

Sóng âm
học
Tạo tiếng nói
Cảm thụ tiếng nói


7























• Cơ chế tạo tiếng nói
Hình 2.4 trình bày cấu tạo cơ quan phát âm của người
Phần cung cấp năng lượng cho việc tạo ra tiếng nói bao
gồm: phổi, khí quản.




Hình 2.4 Cấu tạo của bộ phận phát âm của người
Âm thanh tiếng nói được chia làm 3 loại phân biệt tuỳ
thuộc vào cách kích thích: âm hữu thanh, vô thanh và âm bật.

Hình 2.5 Mô hình số tạo tiếng nói
Nhìn chung mô hình số tạo tiếng nói gồm 3 phần [14]
sau: nguồn kích thích (Excitation), tuyến âm (Vocal tract) và
bức xạ (Radiation) (hình 2.5).
Hình 2.3. Quá trình tạo và cảm thụ tiếng nói


8
Chuỗi xung này kích thích một hệ tuyến tính với đáp ứng
xung g(n) có dạng sóng của thanh môn như sau:
| |
¦
¹
¦
´
¦
+ ≤ ≤ −
≤ ≤ −
=
khac n
N N n N N N n
N n N n
n g
, 0
, ) 2 / ) ( cos(
0 , ) / cos( 1 ) 2 / 1 (
) (
2 1 1 2 1
1 1
π
π
(2.1)
• Cơ chế thu nhận tiếng nói
Hình 2.6 là cấu tạo của tai người




Hình 2.6 Cơ chế nghe của tai người
Các nghiên cứu sinh - lý học đã chỉ ra rằng độ cảm nhận
của tai người đối với tần số không theo thang tuyến tính.
Các hệ số Cepstrum trên thang Mel (MFCC)
Bộ xử lý MFCC


Hình 2.7 Sơ đồ khối của bộ xử lí MFCC


9
Có nhiều cách để biểu diễn tham số của tín hiệu tiếng nói.
Trong đó MFCC có thể là cách nổi tiếng và thông dụng nhất.
MFCC dựa trên sự thay đổi nhận biết được băng tần tới hạn của
tai người [14]. Sơ đồ khối cấu trúc bộ xử lý MFCC (hình 2.7)

Bộ phân khung (Frame Blocking): tín hiệu tiếng nói
được xem là ổn định trong khoảng vài chục ms. Vì vậy, khi
phân tích, xử lý người ta thường chia thành các khung.


Cửa sổ hoá (Windowing)
Đối với mỗi tín hiệu tiếng nói, người ta thường sử dụng
cửa sổ Hamming như sau:
)
1
2
cos( 46 . 0 54 . 0 ) (

− =
N
n
n w
π
, 1 0 − ≤ ≤ N n (2.8)



Hình 2.8 Phân khung tín hiệu
Hình 2.9 Cửa sổ Hamming


10
Biến đổi Fourier nhanh (FFT)
Bước này sẽ biến đổi từng khung của N mẫu từ miền thời
gian sang miền tần số. Đây là thuật toán nhanh để cài đặt DFT
cho tập N mẫu {x
n
} như sau:
1 ,....., 2 , 1 , 0 ,
1
0
/ 2
− = =


=

N n e x X
N
k
N jkn
k n
π
(2.9)
Căn chỉnh thang tần số Mel
Chúng ta có thể sử dụng công thức xấp xỉ sau đây để tính
Mel khi biết tần số đo bằng Hz [6].
Mel = 1000*log
2
(1+f)
Cepstrum
Trong bước cuối cùng, chúng ta biến đổi log của phổ trên
thang Mel trở về miền thời gian. Việc biểu diễn cepstrum của
phổ tiếng nói cho ta thấy rõ các đặc tính phổ cục bộ tín hiệu của
khung đang xét.
Các hệ số Cepstrum của dự đoán tuyến tính (LPCC)
Tư tưởng của phương pháp là một mẫu tiếng nói có thể
được xấp xỉ như là tổ hợp tuyến tính của các mẫu trước đó.











11



CHƯƠNG 3
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO
3.1 Giới thiệu về mạng nơron
Não người có khả năng giải quyết nhiều vấn đề như nghe,
nhìn, nói, nhớ, phán đoán, hồi ức thông tin, phân biệt các mẫu
mặc dù sự kiện có bị méo mó, thiếu hụt. Lý thuyết về mạng
nơron đã hình thành và đang phát triển, đăc biệt là nghiên cứu
trong ứng dụng [4].
Có thể phân chia quá trình nghiên cứu và phát triển mạng
nơron trong thế kỷ qua thành 4 giai đoạn [4]:
Giai đoạn một: Từ cuối thế kỷ 19 đến những năm 1940.
Giai đoạn hai: vào những năm 1960, gần như đồng thời
một số mô hình mạng nơron hoàn hảo hơn đã được đưa ra.
Giai đoạn ba: khoảng năm 1980 đến những năm 1990.
Giai đoạn bốn (từ năm 1990 đến nay).
Mô hình nơron sinh vật
Một tế bào nơron gồm bốn phần cơ bản [12]: Thân, dây,
khớp thần kinh, các nhánh và các rễ (hình 3.1).


Hình 3.1 Mô hình nơron sinh vật


12

Mô hình nơron nhân tạo
Mô hình nơron nhân tạo được xây dựng từ ba thành phần
chính [12]: Bộ tổng các liên kết đầu vào, bộ động học tuyến
tính, bộ phi tuyến (hình 3.2)


Bộ tổng liên kết
Bộ tổng hợp các liên kết đầu vào một phần tử nơron có thể
mô tả như sau:

θ - ) t ( x w v(t)
m
1 = k
k k ∑
=
(3.1)
Phần động học tuyến tính
Hàm truyền tương ứng của phần động học tuyến tính có
thể mô tả dưới dạng (dùng toán tử Laplace):
U(s) = H(s)V(s) (3.2)
3.2 Các mô hình mạng nơron và luật học
Có nhiều cách kết hợp các nơron nhân tạo thành mạng,
mỗi cách kết hợp cho một loại mạng khác nhau [18].
Dựa vào số lớp có trong mạng: ta có mạng một lớp và
mạng nhiều lớp.
Dựa vào đường truyền tín hiệu trong mạng: ta cã mạng
truyền thẳng, mạng phản hồi, mạng tự tổ chức.
Để mạng nơron hoạt động được thì phải dạy cho nó học.
Luật học chia làm hai loại [12]: Học tham số và học cấu trúc.
Hình 3.2 Mô hình nơron nhân tạo


13
3.3 Các ứng dụng của mạng nơron nhân tạo
Mạng nơron có nhiều ứng dụng trong thực tế [4]. Các ứng
dụng trong tin học, viễn thông, đo lường, điều khiển, y tế…


14

CHƯƠNG 4
MẠNG LAN TRUYỀN NGƯỢC NHẬN DẠNG TIẾNG VIỆT
4.1 Phương pháp lan truyền ngược
Lan truyền ngược (BP - Back Propagation) là thuật
toán hạ Gradient. Thuật toán này thay đổi các trọng liên kết
trong mạng nơron để giảm bớt sai số tại đầu ra của mạng. Đây
là một thuật toán huấn luyện chuẩn cho mạng nơron. Thực chất,
ở đây ta áp dụng phương pháp gradient để tìm giá trị tối ưu của
các trọng w
ij
sao cho tổng bình phương sai số là nhỏ nhất.

4.2 Ứng dụng mạng lan truyền ngược cho nhận
dạng Tiếng Việt

Mô hình nhận dạng và phân loại mẫu
Mạng nơron có thể phân loại:
• Mẫu có tính không gian
• Mẫu có tính thời gian
Mục đích của phân loại mẫu là xác định một đối tượng, sự
kiện hay hiện tượng vật lý theo các phân loại cho trước.
Bài toán nhận dạng tiếng Việt
Mô tả bài toán
Đề tài này chọn nhận dạng mười từ đơn đó là: không,
một, hai, …, chín. Đầu vào của mạng nơron chính là các tham
số MFCC được trích ra từ quá trình trích chọn các đặc trưng
của tín hiệu âm thanh các từ đơn trên. Đầu ra của mạng nơron
là một vectơ Y = [y
0,
y
1
, y
2
, y
3
, y
4
, y
5
, y
6
, y
7
, y
8
, y
9
] với đầu ra
mong muốn tương ứng cho các từ đưa vào là:
• Không → [1 0 0 0 0 0 0 0 0 0]
• Một → [0 1 0 0 0 0 0 0 0 0]
• ………………………………
• Chín → [0 0 0 0 0 0 0 0 0 1]



15
Cấu trúc mạng lan truyền ngược
Cấu trúc mạng lan truyền ngược chỉ chọn gồm 3 lớp.
Lớp vào: gồm có 12 nơron, tương ứng với 12 tham số vào.
Lớp ra: mười nơron tương ứng với 10 đầu ra.
Lớp ẩn: chọn là 4 nơron.






Mô tả luật học lan truyền ngược
Để học, mỗi mẫu mạng thùc hiÖn hai bước: lan truyền tiến-
thực hiện ánh xạ, lan truyền ngược sai số- cập nhật các trọng.
Xét một mạng với Q lớp truyền thẳng, với q = 1, 2,..., Q,
ký hiệu
q
net
i

q
y
i
lần lượt là tổng đầu vào và đầu ra của nơron
thứ i trong lớp q. Mạng có m nút đầu vào và n nút ra.
ij
q
W

biểu
thị trọng liên kết từ
q-1
y
j
đến
q
y
i .
Đầu vào: một tập các cặp huấn luyện {(x
k
, d
k
) với k= 1, 2,
... , p}
• Bước 0 (khởi tạo): chọn 0<η<2 và E
max
(là giá trị lỗi
cực đại có thể được). Khởi tạo các trọng ngẫu nhiên
nhỏ. Lập E = 0 và k = 1.
• Bước 1 (lặp huấn luyện): đưa mẫu đầu vào thứ k tới
lớp vào (q=1)

q
y
i
=
1
y
i
= x
i
k
với mọi i (4.39)
Lớp vào Lớp ẩn Lớp ra
Hình 4.6 Cấu trúc của mạng lan truyền ngược


16
• Bước 2 (lan truyền tiến): lan truyền tiến tín hiệu qua
mạng sử dụng:
( )
|
|
¹
|

\
|
= =


j
j
1 q
ij
q
i
q
i
q
y w f net f y (4.40)
với mỗi i và q tới khi các đầu ra của lớp ra
Q
y
i
đều được áp
dụng.
• Bước 3 (tính toán lỗi): tính giá trị lỗi và tín hiệu lỗi
Q
δ
i
cho lớp đầu ra:
( )

=
+ − =
n
1 i
2
i
Q k
i
E y d
2
1
E (4.41)
( ) ( )
i
Q '
i
Q k
i i
Q
net f y d − = δ (4.42)
• Bước 4 (lan truyền ngược lỗi): Lan truyền lỗi ngược
lại để cập nhật các trọng và tính tín hiệu lỗi
Q
δ
i
cho
các lớp trước:

j
-1 q
i
q
ij
q
y w δ η ∆ = và
ij
q old
ij
q new
ij
q
w w w ∆ + = (4.43)
( )

− −
=
j
j
q
ji
q
i
1 q '
i
1 q
w net f δ δ với q = Q,Q-1,...,2. (4.44)
• Bước 5 (lặp 1 chu kỳ): kiểm tra xem toàn bộ tập dữ
liệu huấn luyện đã được duyệt qua một lần chưa. Nếu
k < p thì k = k + 1 và quay lại bước 1. Nếu không
thực hiện bước 6.
• •• • Bước 6 (kiểm tra lỗi toàn thể): kiểm tra xem lỗi toàn
thể đã đạt được hay chưa: nếu E < E
max
thì kết thúc
quá trình huấn luyện và có được các giá trị trọng cuối
cùng. Nếu không E = 0, k = 1 và bắt đầu một chu kỳ
mới bằng việc quay lại bước 1.

Phân tích và đánh giá các tham số của hệ thống nhận dạng
Phân tích chọn giá trị khởi tạo trọng
Chọn giá trị trọng Wij

trong khoảng
| |
i i
k k / 3 , / 3 −
trong đó k
i
là số lượng nơron j nối tới nơron i [10].


17
Lựa chọn hằng số học
Đối với bài toán nhận dạng âm thanh tiếng nói tiếng Việt,
qua thử nghiệm giá trị hằng số học được chọn cố định là 0.05.
Quá trình huấn luyện mạng đã hội tụ tốt cùng với các tham số
khác.

Hình 4.7 Lưu đồ thuật toán mạng lan truyền ngược


18
CHƯƠNG 5
XÂY DỰNG HỆ THỐNG NHẬN DẠNG
5.1 Kiến trúc hệ thống
Xây dựng hệ thống nhận dạng tiếng nói là một công việc
khó khăn. Bởi vì, nó phụ thuộc vào các kỹ thuật nhận dạng
cũng như các công nghệ được áp dụng.
Mô hình



Chức năng các Module
Mỗi Module đóng một vai trò quan trọng trong quá trình
nhận dạng tiếng nói.
• Module thu nhận tín hiệu: có chức năng thu tín hiêu
tiếng nói từ người dùng, có thể thu nhận trực tiếp từ
người nói hoặc dưới các dạng file *.wav.
• Module tiền xử lý: nhận tín hiệu tiếng nói từ Module thu
nhận tín hiệu và tách lấy tín hiệu tiếng nói ra khỏi nhiễu
nền. Nghĩa là tách lấy đoạn tín hiệu chứa từ được nói.
• Module trích chọn đặc trưng: phân tích đoạn tín hiệu
tiếng nói của một từ (là đầu ra của Module tiền xử lý) để
Hình 5.1 Kiến trúc tổng thể của hệ thống


19
tìm ra các đặc trưng của từ đó. Các đặc trưng này sẽ là
đầu vào cho Module nhận dạng.
• Module nhận dạng: nhận dạng các mẫu đặc trưng của
mỗi trích chọn là đầu ra của module trích chọn đặc trưng.
Xây dựng các Module
Module thu nhận tín hiệu
+ Kiễm tra xem có Sound Card không? và hoạt động tốt
không?



























+ Thuật toán mở thiết bị thu tín hiệu.









// Kiểm tra xem có Sound Card không ?
MMRESULT result;
sizeBuffer = 0;
result = waveInGetNumDevs();
if (result==0)
{ ::AfxMessageBox("No sound card device !");
return result;
}
// Kiểm tra xem card sound có hoạt động không ?
result=waveInGetDevCaps (0, & waveInDevCaps,
sizeof(WAVEINCAPS));
if ( result!=MMSYSERR_NOERROR){
::AfxMessageBox("Cannot determine sound
card capabilities !");
}

// Mở thiết bị thu
result = waveInOpen( &waveIn,0,
&waveFormat,(DWORD)waveInEvent, NULL,
CALLBACK_EVENT);
if ( result!= MMSYSERR_NOERROR){
::AfxMessageBox(_T("Cannot Open Sound Input
Device!"));
return result; }



20
+ Thuật toán ngừng quá trình thu tín hiệu.













Module tiền xử lý
§ể cho phổ đồng đều hơn, tín hiệu tiếng nói được đưa qua
bộ lọc hiệu chỉnh. Ta thường dùng bộ lọc cố định bậc nhất:
H(z) = 1 – az
-1











Module trích chọn đặc trưng
Phương pháp được dùng ở đây là trích chọn các hệ số
MFCC. Quá trình này được mô tả như hình 5.2.

TerminateThread = TRUE;
MMRESULT result; // Chứa mã lỗi

if (waveInEvent )
SetEvent(waveInEvent);
Sleep(50); // wait for the thread to terminate
if (waveIn)
waveInStop(waveIn); // ngừng qúa trình thu
if (waveIn)
waveInReset(waveIn); // đặt lại bộ đệm
return;
if (waveIn)
waveInClose(waveIn); // đóng bộ thu

DataMid = new int[NewLength];
DataMid[0] = DataRerult[0];
for(i=1;i<NewLength;i++)
{
DataMid[i] = (int)(DataRerult[i] - 0.95*DataRerult[i-1]);
}
for(i=0;i<NewLength;i++)
{
DataRerult[i] = DataMid[i];
}



21

Hình 5.2 Biểu đồ khối tính các hệ số MFCC
Module nhận dạng
Sử dụng mạng nơron với thuật toán lan truyền ngược để
đào tạo mạng nơron cho đầu vào là 12 tham số MFCC thu được
sau quá trình trích chọn đặc trưng.

5.2 Giao diện chương trình và cách sử dụng
Giao diện chương trình
Hình 5.3 là giao diện của chương trình. Chương trình được
viết bởi ngôn ngữ Visual C++. Giao diện không cầu kỳ nhưng
dễ sử dụng, bao gồm một số nút: Train, Open, Recognize,
Clear, Exit và hai khung Input, Output để chương trình đưa
số liệu đầu vào và ra sau khi thực hiện chương trình.


Hình 5.3 Giao diện chương trình


22
Hướng dẫn cách sử dụng
• Đào tạo nơron
Từ giao diện ta kích vào nút train: cho phép ta chọn các file
để huấn luyện cho mạng.
• Nhận dạng từ file đã ghi sẵn
Sau khi đã huấn luyện cho mạng thành công, ta thực hiện
bước tiếp theo là nhận dạng. Bấm vào nút “Open” để mở file
cần nhận dạng.
• Nhận dạng tiếng nói thu trực tiếp từ Micro
Để thực hiện bước này ta bấm vào nút “Recognize” và nói
một từ vào micro để chương trình nhận dạng.
• Xoá dữ liệu
Để thực hiện việc xoá dữ liệu, ta chỉ việc nhấn vào nút
“clear” sẽ xoá hết dữ liệu cũ và đặt lại trạng thái ban đầu.
• Thoát chương trình
Để thoát chương trình, ta chỉ việc nhấn và nút “exit” hoặc
dấu nhân chéo “X” ở góc bên phải chương trình.

5.3 Kết quả thực nghiệm
Môi trường phát triển chương trình
Tiếng nói được thu trong điều kiện phòng làm việc bình
thường, bao gồm giọng nói của một số người.

T
T
Họ Và Tên Tuổi Giới tính Quê quán
1 Hồ Văn Hương 26 Nam Nghệ An
2 Hoàng Thị Xuân 25 Nữ Nghệ An
3 Nguyễn Quốc Thành 22 Nam Hưng Yên

Điều kiện thu âm: phòng làm việc, micro loại tai nghe
hãng Sony loại thường.


23
Kết quả nhận dạng
Đối với các mẫu đã cho mạng được huấn luỵên trước, kết
quả đạt được.

TT Họ Và Tên Kết quả
1 Hồ Văn Hương 94%
12222 2 Hoàng Thị Xuân 96%
3 Nguyễn Quốc Thành 94.5%

Đối với các từ không được cho mạng huấn luyện trước,
kết quả đạt được.

TT Họ Và Tên Kết quả
1 Hồ Văn Hương 74%
2 Hoàng Thị Xuân 89%
3 Nguyễn Quốc Thành 75%

• Kết luận: Hệ thống có khả năng nhận dạng đúng từ
70% đến 90%. Kết quả thấp hơn do có lỗi nhưng chấp
nhận được.
• Nhận xét: Mặc dù kết quả nhận dạng những từ không
được mạng huấn luyện trước là không cao. Nhưng kết
quả này có thể chấp nhận được trong điều kiện thiết bị
thu âm chưa tốt và điều kiện phòng thu âm cũng chưa
đạt yêu cầu. Để nâng cao kết quả nhiều kỹ thuật cần
được nghiên cứu tiếp. Ví dụ, tăng thêm nút ẩn, lớp ẩn.
Tuy nhiên, độ phức tạp tính toán tăng.








24
KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU
Luận văn đã thực hiện được các mục tiêu đã đề ra:
• Đã thiết kế mạng nơron lan truyền ngược để nhận dạng
và phân tích các tham số của mạng.
• Đã thử nghiệm nhận dạng với ba người nói và cho kết
quả khá tốt. Điều này kh¼ng định rằng mạng nơron là
một công cụ hứa hẹn sẽ cho nhiều thành công trong
lĩnh vực nhận dạng tiếng nói.
• Tuy một số trường hợp nhận dạng sai hoặc không nhận
dạng được là do còn tồn tại một số hạn chế chính như:
chưa có cơ sở tiếng nói tiếng Việt đủ lớn, chương trình
mới được tiến hành trên một số máy tính cá nhân cho
kết quả chưa cao, chưa có thiết bị thu âm chuẩn…, tức
là có nhiều thông số chưa được lựa chọn tối ưu. Vì
vậy, ta hoàn toàn có thể nâng cao độ chính xác của hệ
thống nhận dạng thêm nữa.
• Phương pháp mới được áp dụng để nhận dạng các từ
đơn.
Vì vậy, phương hướng nghiên cứu phát triển đề tài tiếp
theo là: xây dựng cơ sở dữ liệu mẫu đủ lớn. So sánh với kết quả
các phương pháp kinh điển và truyền thống. Thử mở rộng và
phong phú cấu trúc mạng. Tiến hành thực nghiệm trên nhiều
máy cá nhân, kết hợp phương pháp sử dụng mạng nơron với
giải thuật di truyền và một số phương pháp hiện đại trong việc
nhận dạng tiếng nói nhằm nâng cao kết quả nhận dạng.
Đi sâu thêm nữa là tăng số lượng từ vựng nhận dạng, kết
hợp với phân tích ngữ pháp để có thể nhận dạng được những
câu tiếng nói tiếng Việt đơn giản và có độ chính xác cao.













25
Tài liệu tham khảo
Tiếng Việt
1. Mai Ngọc Chừ, Vũ Đức Nghệu, Hoàng Trọng Phiến
(2000), Cơ sở ngôn ngữ học và Tiếng Việt, Nhà xuất
bản Giáo dục.
2. Bùi Công Cường, Nguyễn Doãn Phước (2002), Hệ mờ
mạng nơron và ứng dụng, Nhà xuất bản Khoa học kỹ
thuật.
3. Đặng Ngọc Đức, Lương Chi Mai (3/2004), Tăng cường
độ chính xác của hệ thống mạng nơron nhận dạng tiếng
Việt, Tạp chí Bưu chính Viễn thông, số 11.
4. Nguyễn Quang Hoan (1996), Ổn định mạng nơron
Hopfield và khả năng ứng dụng trong điều khiển Robot,
Luận án Tiến sỹ.
5. Nguyễn Quang Hoan, Nguyễn Mạnh Tùng, Phạm
Thượng Hàn (2002), Ứng dụng mạng nơron tương tác
bậc cao cho bài toán phân lớp có giới hạn, tr.126-131,
Tuyển tập báo cáo khoa học, Hội nghị toàn Quốc lần
thứ năm về tự động hoá.
6. Ngô Hoàng Huy, Lương Chi Mai, Bùi Quang Trung,
Nguyễn Thị Thanh Mai, Vũ Kim Bảng, Vũ Thị Thanh
Hà (2003), Thiết kế các hệ thống nhận dạng tiếng Việt
trong thời gian thực, Kỷ yếu hội thảo Fair.
7. Nguyễn Thanh Phúc (2000), Một phương pháp nhận
dạng lời Việt: Áp dụng phương pháp kết hợp mạng
nơron với mô hình Markov ẩn cho các hệ thống nhận
dạng lời Việt, Luận Văn Tiến Sỹ kỹ thuật, Đại học
Bách khoa Hà nội.
Tiếng Anh
8. Cart G. Looney (1997), Parttern Recognition Using
Neural Network, Oxfoxd University Press.
9. Chin – Teng Lin, C. S. George Lee (1996), Neural
Fuzzy Systems: A Neuro-Fuzzy Synergism to Intelligent
Systems, Prentice-Hall International, Inc.
10. Claudio Becchetti and Lucio Prina Ricotti (1999),
Speech Recognition Theory and C++ Implementation,


26
Printed and Bound Great Britain by Antony Rowe Ltd,
Chippenham, Wiltshire.
11. Hong–Goo Kang (2003), Speech Signal Processing,
Yonsei University.
12. Hunt, K. J and Others (1992), Neural Networks for
Control System – A Survey, Automatica.. Vol. 28, No.6,
pp. 1080-1120.
13. José C. Principe, Neil R. Euliano, W. Curt Lefebvre
(1999), Neural and Adaptive Systems: Fundamentals
through Simulations, John Wiley and Sons, Inc.
14. L.R Rabiner, R.W.Sharfer (1978), Digital Processing
of Speech Signals, Prentice-Hall.
15. Ravi P. Ramachandra, Kevin R. Farell, Roopashri
Ramachandra, Richard J. Mammone (2002), Speaker
Recognition - General Classifier Approaches and Data
Fusion Methods
16. Qifeng Zhu and Abeer Alwan (2003), Non-linear
Feature Extraction for Robust Speech Recognition in
Stationary and Non-Stationary Noise, Q. Zhu, A.
Alwan/Computer Speech and Language .
17. Sadaoki Furui (2001), Digital Speech Processing,
Synthesis and Recognition, Marcel Dekker.
18. Simon Haykin (1999), Neural Networks A
Comprehensive Foundation, Prentice Hall
International, Inc.
19. Veronique Stouten, Huge Van Hamme, Kris
Demuynck, Patrick Wambacq (2003), Robust Speech
Recognition Using Model-Based Feature Enhancement,
Center for Processing Speech and Images (PSI) Dept of
Electrical Engeneering–ESAT Katholieke Universiteit
Leuven, Belgium.
20. Wu Chou and Biing Hwang Juang (2003), Parttern
Recognition in Speech and Language Processing, CRC
Press LLC.

Sign up to vote on this title
UsefulNot useful