Tải bản đầy đủ (.pdf) (7 trang)

Tài liệu Nhận dạng tiếng Việt dùng mạng neuron kết hợp trích đặc trưng dùng LPC và AMDF pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (278.79 KB, 7 trang )


Abstract: This paper describes a method of creating
neural network based isolated Vietnamese speech
recognizer. The formant extraction process uses the current
popular model LPC (Linear Predictive Coding) in which
LPC parameters are converted to cepstral coefficients. The
neural network is used to estimate the word probabilities
and we will choose the maximum for the target words. We
also combine LPC method with AMDF (Average
Magnitude Difference Function) method to increase the
accuracy. The experiments are stimulated by Matlab 6.5.
The high accuracy of results leads the conclusion that the
studied way is suitable.
Keyword: Vietnamese speech recognition, Neural
Network, LPC, AMDF.
I. GIỚI THIỆU
Nhận dạng tiếng nói là một kỹ thuật có thể ứng
dụng trong rất nhiều lĩnh vực của cuộc sống: trong
việc điều khiển (điều khiển robot, động cơ, điều khiển
xe lăn cho người tàn tật ), an ninh quốc phòng Ở
Việt Nam, trong những năm gần đây đã có một số kết
quả nghiên cứu ban đầu v
ề nhận dạng tiếng Việt, tuy
nhiên còn có giới hạn về độ chính xác, số từ, vấn đề
thanh điệu đặc thù tiếng việt hầu như chưa được đề
cập Bài báo trình bày một hướng ứng dụng thanh
điệu vào việc nhận dạng tiếng Việt đọc rời rạc nhằm
nâng cao độ chính xác: phương pháp kết hợp trích đặc
trưng bằng LPC với trích chu kỳ c
ơ bản dùng AMDF
cho kết quả nhận dạng chính xác cao qua thử nghiệm.


II. CƠ SỞ LÝ THUYẾT
1. Mã hóa dự báo tuyến tính (LPC - Linear
Predictive Coding) [4]
Gọi r(k) là giá trị tự tương quan của tín hiệu dời đi k
mẫu:



−∞=
+=
n
knxnxkr )()()( (1)
Khi đó các hệ số LPC sẽ là nghiệm của hệ phương
trình:























=













































−−−



)(
.
.
.
)3(

)2(
)1(
.
.
.
)0(.)3()2()1(



)3( )0
()1()2(
)2( )1()0()1(
)1( )2()1()0(
3
2
1
Pr
r
r
r
a
a
a
a
rPrPrPr
Prrrr
Prrrr
Prrrr
P
(2)

Hệ phương trình trên được giải bằng thuật toán
Levinson-Durbin. Tất cả các hệ số LPC sẽ là đặc
trưng của tín hiệu tiếng nói.
a) Thuật toán Levinson-Durbin: [4]
Khởi tạo: p=1
Tính sai số bình phương trung bình bậc nhất:

))1(1)(0(
2
11
arE −=
(3)
Nhận dạng tiếng Việt dùng mạng neuron kết
hợp trích đặc trưng dùng LPC và AMDF
Vietnamese Speech Recognition Using Neural Networks
Combined with LPC Formant Extraction and AMDF
Pitch-Detection
Hoàng Đình Chiến

trong đó
)0(
)1(
)1(
1
r
r
a −=
(4)
Đệ qui:
Với p=2,3,…,P

1. Tính hệ số K
p
:

1
11
)(

−−
+
−=
p
p
bT
p
p
E
arpr
K
(5)
2. Tính các hệ số dự báo bậc p:

pp
Kpa =)(
(6)

)()()(
11
kpaKkapa
pppp

−+=
−−
(7)
với k=1,2,…,p-1
3. Tính sai số bình phương trung bình bậc p:

)1(
2
1 ppp
KEE −=

(8)
4. Quay lại bước 1, thay p bằng p+1 nếu p

P
Kết thúc, thay:
[a
p
(1) a
p
(2) … a
p
(P)]= -[a
p
(1) a
p
(2) … a
p
(P)]
b) Hàm hiệu biên độ trung bình (AMDF - Average

Magnitude Difference Function) [3]
Hàm hiệu biên độ trung bình là hiệu biên độ của tín
hiệu với chính nó dời đi p mẫu.


−−
=
+−=
pN
n
pnxnxpd
1
0
)()()(
(9)
Nếu x(n) là tín hiệu tuần hoàn với chu kỳ T (mẫu)
thì AMDF sẽ đạt cực tiểu nếu tín hiệu bị dời đi một
đoạn đúng bằng T mẫu.
Nhận dạng giọng của người có tần số cơ bản từ
80Hz (tương ứng với số mẫu là n
1
=Fs / 80) đến 200Hz
(tương ứng n
2
=Fs/200, Fs là tần số lấy mẫu).
Sẽ tính AMDF của tín hiệu với độ dời thay đổi từ
n
2
đến n
1

. Giả sử AMDF đạt cực tiểu ứng với độ dời
P0 (mẫu). Đó chính là chu kỳ của tín hiệu (hoặc gần
với chu kỳ của tín hiệu nhất), và tần số cơ bản của tín
hiệu là F0=Fs/P0. Giá trị này chính là đặc trưng của
tín hiệu về mặt thanh điệu.
Do tiếng nói là tín hiệu không dừng nên cứ mỗi
30ms phải tính lại các giá trị mới. Tất cả các giá tr

tính được sẽ là đặc trưng của một từ và được dùng để
huấn luyện mạng neuron.
III. MẠNG NEURON
Mỗi neuron nhân tạo gồm một số các ngõ vào (từ
dữ liệu gốc, hay từ ngõ ra các neuron khác trong
mạng). Mỗi kết nối đến ngõ vào có một trọng số và
một giá trị ngưỡng. Tín hiệu được truyền qua hàm
kích hoạt (hay còn gọi là hàm truyền) tạo giá trị ngõ ra
neuron.
Nguyên tắc của mạ
ng neuron là học theo mẫu và
ánh xạ dữ liệu vào qua một hàm truyền để cho ra kết
quả. Kiểu mạng được sử dụng phổ biến nhất là mạng
lan truyền ngược (back propagation) với kỹ thuật cơ
bản là cập nhật trọng số theo hướng giảm gradient để
tìm vị trí tốt nhất trên mặt lỗi.

Hình 1: Cấu trúc Neural Networks
IV. TRÍCH ĐẶC TRƯNG
1. Trích đặc trưng bằng LPC [4]
Bước 1: Lọc nhiễu, sử dụng bộ lọc thông cao có
hàm truyền:


c
ws
s
sH
+
=)(
(10)
với tần số cắt dưới là 300 Hz để lọc nhiễu tần số
thấp do microphone gây ra.
Bước 2: Pre-emphasis, sử dụng bộ lọc thông cao có
đáp ứng xung:
y(n) = x(n) – a*x(n-1) với 0.9 ≤ a ≤ 1 (11)
Bước 3:
Tách

điểm đầu và cuối của một từ dùng
hàm năng lượng thời gian ngắn:

2
1
)](*)([

−+
=
−=
Nm
mn
m
mnwnxE

(12)
Bước 4: Phân đoạn thành các frame (frame này
khác với các frame trong giai đoạn tìm điểm đầu điểm
cuối), mỗi frame có N mẫu, độ chồng lấp M mẫu,

thường
NM
3
1
=
.
Bước 5:
Cửa sổ hóa. Hàm cửa sổ thông dụng nhất
là cửa sổ Hamming được định nghĩa như sau:





≤≤−
=
],0[0
0)/2cos(46.054.0
)(
Mn
MnMn
nw
π
(13)
Bước 6: Xác định các hệ số dự báo tuyến tính dùng

thuật toán Levinson-Durbin.
Bước 7:
Chuyển các hệ số dự báo tuyến tính thành
các hệ số cepstral.




=

+=
1
1
1
m
k
kmkmm
akc
m
ac
với 1

m

P (14)



=


=
1
1
1
m
k
kmkm
akc
k
c
với m >P (15)
Các hệ số cepstral này có độ tập trung cao hơn và
đáng tin cậy so với các hệ số dự báo tuyến tính. Thông
thường chọn Q =3/2P.
Bước 8: Chuyển sang cepstral có trọng số:
c’
m
= w
m
c
m
với 1

m

Q (16)
Hàm trọng số thích hợp là bộ lọc thông dải (trong
miền cepstral)

Qm

Q
mQ
w
m
≤≤














+= 1sin
2
1
π
(17)
Bước 9:
Tính đạo hàm cepstral.


−=
+≈∆=

K
Kk
mm
m
ktkctc
dt
tdc
)()(
)(
µ
(18)
với
µ
là hằng số chuẩn và (2K+1) là số lượng frame
cần tính. K= 3 là giá trị thích hợp để tính đạo hàm cấp
một.
Vectơ đặc trưng của tín hiệu gồm Q hệ số cepstral
và Q hệ số đạo hàm cepstral.
2. Trích chu kỳ cơ bản bằng AMDF [3]
Bước 1, bước 2

bước 3
giống như phương pháp
LPC. Đối với bộ lọc nhiễu, sử dụng bộ lọc thông cao
có tầ
n số cắt là 60Hz do tần số cơ bản của người từ
80Hz đến 200Hz.
Bước 4:

Tín hiệu sẽ được xén bớt nhằm làm nổi rõ

chu kỳ cơ bản:
(19)
Trong đó giá trị C khoảng 1/3 biên độ cực đại của
tín hiệu.
Bước 5:
Tín hiệu sau khi xén được đưa đến hàm lấy
hiệu biên độ trung bình :


−−
=
+−=
pN
n
pnxnxpd
1
0
)()()(
(20)
trong đó N là độ dài khung và p được lấy trong
khoảng pitch tương ứng với tần số cơ bản 80-200Hz.
Chọn P0 có d cực tiểu, đó chính là chu kỳ pitch và tần
số cơ bản là Fs/P0. Đối với các khung có d(P0) > 0.7
d
max
(p) được phân loại là khung vô thanh và gán F0 =
0.
Bước 6:

Sau khi đã xác định F0 của toàn bộ âm tiết,

cần phải xử lý các khung có F0 = 0. Nếu các khung là
vô thanh ở đầu hay ở cuối âm tiết, thay các khung đó
bằng F0 của khung hữu thanh kế cận. Nếu các khung
vô thanh ở giữa âm tiết thì thay F0 của khung đó bằng
trung bình của hai khung hữu thanh ở hai bên.
Bước 7:

Đường nét F0 được làm trơn bằng bộ lọc
trung bình có trọng số với đáp
ứng xung
h=[0.1 0.2 0.4 0.2 0.1]
Bước 8: Do số ngõ vào của mạng neuron là cố định
nên cần chuẩn hóa kích thước F0, nên cũng phải
chuẩn hóa độ lớn của F0 và chuyển qua thang log:
F0
n
[i] = -20log(F0
a
[i] –min + ∆)/(max-min) với
i=0,1, …, L-1
max và min là giá trị cực đại và cực tiểu của F0 lấy
trên toàn bộ dữ liệu, ∆ là số dương để tránh log0.
Bước 9: Lấy L giá trị đạo hàm của logF0, ghép L
giá trị logF0 với L giá trị đạo hàm thành vectơ đặc
trưng của từ.
V. HUẤN LUYỆN MẠNG VÀ KẾT QUẢ THU
ĐƯỢC
1. Huấn luyện mạng dùng LPC
Tín hiệu tiếng nói sẽ được trích đặc trưng b
ằng

phương pháp LPC-cepstrum. Vectơ đặc trưng của mỗi
từ có 144 hệ số. Như vậy mạng neuron sẽ có 144 ngõ

vào, số nút xuất: 10 (tương ứng với 10 số), số nút ẩn:
220.
Trục dọc là chữ số đọc để nhận dạng, số kết quả
nhận dạng đúng thể hiện ở đường chéo, ở trục ngang
thể hiện số lần số nhận dạng sai.
Bảng 1: Kết quả nhận dạng huấn luyện mạng dùng LPC
Ví dụ đọc nhận dạng 100 lần số 1 , nhận dạng đúng
là 84 lần. Nhận dạng sai thành số 4 là 13 lần, số 6 là 1
lần, số 8 là 2 lần .
Trong cách nhận dạng dùng phương pháp LPC, ta
thấy có một số từ có phát âm gần giống nhau bị nhầm
lẫn nhiều. Ví dụ, từ “một” và “bốn” , “hai”, và “bảy”,
“năm”, và “tám”. Để khắc phục hiện tượng này, khảo
sát giải pháp AMDF kết hợp LPC.
2. Hu
ấn luyện dùng LPC kết hợp với AMDF
Với ý tưởng cần phải phân chia tập mẫu nhận dạng
để khắc phục những hạn chế của phương pháp LPC,
phương pháp trích đặc trưng dùng AMDF tỏ ra có
hiệu quả khi tách được từ “bảy” và từ “một” ra một
nhóm riêng. Như trên đã đề cập, phương pháp AMDF
chỉ trích đặc trưng về mặt thanh điệu của tín hiệu nên
ít bị
ảnh hưởng về mặt phát âm như phương pháp
LPC. Mặt khác, nếu xét về mặt thanh điệu thì thanh
ngang sẽ gần giống với thanh sắc, và hai thanh này
khác xa so với thanh nặng và thanh hỏi, nên việc tách

từ “một” và từ “bảy” ra là có thể.
Phương pháp nhận dạng: Tập mẫu được chia làm
hai nhóm: nhóm 1 gồm những từ thanh hỏi và thanh
nặng, tương ứng với “một” và “bảy”, nhóm 2 gồm
những từ thanh ngang và thanh sắc, t
ương ứng với các
từ “không”, “hai”, “ba”, “bốn”, “năm”, “sáu”, “tám”,
“chín”. Đầu tiên, dùng phương pháp AMDF để nhận
dạng xem từ thuộc nhóm nào, sau đó sẽ đưa qua mạng
neuron thứ hai để xác định từ cụ thể. Như vậy sẽ cần
ba mạng neuron, hai mạng nhận dạng theo phương
pháp AMDF và mạng thứ ba nhận dạng theo phương
pháp LPC.












Hình 2: Sơ đồ khối phương pháp nhận dạng
Bảng 2: Kết quả nhận dạng huấn luyện mạng
dùng LPC kết hợp AMDF
0 1 2 3 4 5 6 7 8 9
0 97 1 2

1 99 1
2 96 1 1 2
3 99 1
4 4 1 1 90 1 2 1
5 1 94 5
6 1 95 4
7 1 2 97
8 1 3 1 95
9 100
Độ chính xác trung bình: 96,2%
Ví dụ nhận dạng đúng số 1 là 99 lần , sai số nhận
dạng là 1 lần . Độ chíng xác nhận dạng cao nhờ sự kết
hợp xử lý hợp lý.
Nhận xét về phương pháp AMDF:
Như vậy việc kết hợp hai phương pháp LPC và
AMDF đã nâng cao xác suất nhận dạng đúng, thời
gian huấn luyện có tăng lên không đáng kể. Ưu điểm
của AMDF là số ngõ vào ít, kích thước mạng huấ
n
0 1 2 3 4 5 6 7 8 9
0 98 2
1 84 13 1 2
2 88 12
3 100
4 6 91 3
5 2 84 1 13
6 1 98 1
7 4 1 94 1
8 1 99
9 100

Độ chính xác trung bình: 93,6%
Không Hai Ba Bốn
N
ăm Sáu
Tám Chín
Một Bảy
Không, một, hai, ba, bốn, năm, sáu,
Phương pháp AMDF: Mạng 10
nút nhập, 40 nút ẩn, 2 nút xuất

Một,
bảy
Không, hai, ba, b

n, nă
m
sáu, tám, chín
Phương pháp AMDF
Mạng 10 nút nhập,
40 nút ẩn, 2 nút xuất
Phương pháp LPC: Mạng
144 nút nhập, 220 nút ẩn, 8
nút xuất

luyện nhỏ. Mặt khác, phương pháp AMDF là ít phụ
thuộc vào cách phát âm nên tỷ lệ đọc sai sẽ thấp hơn
so với phương pháp LPC. Tuy nhiên, khuyết điểm của
phương pháp AMDF là chỉ phân biệt tiếng nói về mặt
thanh điệu, do đó khả năng ứng dụng trong thực tiễn
là hạn chế. Một khuyết điểm khác là phương pháp này

rất khó sử dụng trong trường hợp từ đọ
c liên tục.
So với AMDF, phương pháp LPC cho ra kết quả cụ
thể hơn, nhưng có khuyết điểm là số đặc trưng khá lớn
và dễ bị tác động bởi cách phát âm của người nói.
Từ những ưu và khuyết điểm của phương pháp LPC
và phương pháp AMDF, cho thấy hướng kết hợp hai
phương pháp này là hợp lý. Tuy nhiên, cần phải có
những nghiên cứu đầy đủ hơn nữa để có thể
mở rộng
lên bộ từ vựng lớn hơn cũng như ứng dụng phương
pháp AMDF rộng rãi hơn trong thực tiễn. Lưu ý là số
đọc rời rạc, mỗi người đọc huấn luyện được xử lý độc
lập.
Ưu điểm của mạng neuron trong nhận dạng tiếng
nói. Thứ nhất là về mặt tốc độ huấn luyện cũng như
tốc độ nhận dạng, mạng neuron tỏ ra vượt trội. Thứ
hai là ưu thế trong việc mở rộng bộ từ vựng , được
phát triển thêm cho nhận dạng từ điều khiển dưới đây.
Bảng 3: Kết quả với bộ từ vựng điều khiển
Lên
X
uống Trái Phải Tới Lui Xoay Dừng
Lên 200
Xuống 200
Trái 196 4
Phải 200
Tới 200
Lui 198 2
Xoay 1 197 2

Dừng 200
Độ chính xác trung bình: 99,4%
3. Nhận dạng từ điều khiển
Bài báo này cũng xây dựng bộ từ vựng nhỏ gồm
một số từ nhằm mục đích điều khiển tự động. Bộ từ
vựng: lên, xuống, trái, phải, tới, lui, xoay, dừng.
Việc huấn luyện bộ từ điều khiển không khác gì so
với huấn luyện bộ từ vựng số được trình bày
ở phần
trên.
Mạng neuron cũng được thử nghiệm với một số từ
ghép như:
xoay trái, xoay phải, xoay lên, xoay
xuống, đi tới, đi lui, dừng lại, tiếp tục. Mỗi từ được
đọc ngắt quảng, ví dụ từ “xoay trái” được đọc có sự
ngắt quãng giữa từ “xoay” và từ “trái”.
Các kết quả khảo sát trên cho thấy việc nhận dạng
có độ chính xác rất cao.
Bảng 4: Kết quả với bộ từ vựng điều khiển dùng mạng
neuron
Xoay
lên
Xoay
xuống
Xoay
trái
Xoay
phải
Đi
tới

Đi
Lui
Tiếp
tục
Dừng
lại
Xoay
lên
199 1
Xoay
xuống
3 194 3
Xoay
trái
199 1
Xoay
phải
200
Đi
tới
200
Đi
Lui
200
Tiếp
tục
200
Dừng
lại
200

Độ chính xác trung bình: 99,5%
VI. HƯỚNG PHÁT TRIỂN
− Việc kết hợp LPC với AMDF cho kết quả nhận
dạng tiếng nói tiếng việt rất cao nhờ kết hợp hợp lý
phương pháp nhận dạng. Bước tiếp theo là phát triển
bộ từ vựng lớn hơn, nâng cấp giải thuật.
− Phương pháp AMDF làm việc rất tốt với từ đọc rời
rạc. Tuy nhiên, hiện nay phương pháp này chưa được
khai thác tố
t, có thể là vì nó chỉ phân biệt được tiếng
nói về mặt thanh điệu. Cần có những ý tưởng để kết
hợp phương pháp này với những phương pháp khác
nhằm nâng cao độ chính xác và nhận dạng trên nền
nhiễu
− Nghiên cứu khả năng kết hợp mạng neuron với
những công cụ khác trong nhận dạng tiếng Việt, ví dụ
với logic mờ, với wavelet …

− Xây dựng bộ nhận dạng từ đọc liên tục dùng mô
hình âm vị , nhiều người nói.
TÀI LIỆU THAM KHẢO:
[1] Lê Tiến Thường, Hoàng Đình Chiến. “Vietnamese
Speech Recognition Applied to Robot Communications”.
Au Journal of Technology, Volume 7 No. 3 January 2004.
Published by Assumption University (ABAC) Hua Mak,
Bangkok, Thailand.
[2] Lê Tiến Thường (chủ nhiệm), Hoàng Đình Chiến,
Trần Tiến Đức… “Ứng dụng Wavelets nhận dạng tiếng nói
tiếng việt trong điều khiển và thông tin”. Báo cáo nghiệm
thu đề tài NCKH trọng điểm ĐHQG TP HCM ngày 28-01-

2004.
[3] Lê Tiến Thường, Trần Tiến Đức, “Nhận dạng thanh
điệu tiếng nói tiếng Việt bằng mạng neuron phân t
ầng”,
Tạp chí Tin học và Điều khiển học, 2004.
[4] L.Rabiner and B.H.Juang, “Fundamental of speech
recognition”, Prentice-hall. Englewood Cliffs. New Jersey
07632, 1993.
[5] Hoàng Đình Chiến, Lê Tiến Thường. “An Efficient
Approach Combining Wavelets And Neural Networks For
Signal Procesing In Digital Communications”. Proceedings
of IASTED-International Conference on Communication
and Computer Networks in MIT Cambidge, USA.
November 08 to November 10, 2004.
[6] Cao Xuân Hạo, “Tiếng Việt mấy vấn đề ngữ âm – ngữ
pháp – ngữ nghĩa”, Nhà xuất bản Giáo Dục, 1998.
[7] Claudio Becchetti and Lucio Prina Ricotti, “Speech
recognition. Theory & C++ Implementation”, Fondazione
Ugo Bordoni, Rome, Italy. John Wiley and Sons, LTD.
[8] Patrick M.Mills, “Fuzzy Speech Recognition”,
University of South Carolina-1996.
[9] Quách Tuấn Ngọc, “Xử lý tín hiệu số”, Nhà Xuất bản
Giáo dục, 1995.
[10] Lê Tiến Thường, Tr
ần Tiến Đức, “Nhận dạng tiếng
nói tiếng Việt liên tục bằng mạng neuron”, Tạp chí Phát
triển Khoa học và Công nghệ, Đại học Quốc gia TP. HCM,
số 10, Tập 5, 2002.
Ngày nhận bài: 05/08/2005





SƠ LƯỢC TÁC GIẢ
HOÀNG ĐÌNH CHIẾN
Sinh ngày: 17-4-1955 tại
Quảng Ngãi.

Tốt nghiệp Đại học MTYCI-Moscow 1979. Nhận
bằng Thạc sỹ Điện tử Viễn thông, ĐH Bách khoa TP.
HCM năm 1998, nhận bằng Tiến sỹ năm 2003.
Hiện đang giảng dạy tại Khoa Điện- Điện tử, ĐH
Bách khoa TP. HCM,
Lĩnh vực nghiên cứu: Truyền thông vệ tinh, xử lý
tín hiệu số, hệ thống truyền thông, wavelets, neuron
networks.
Email:
































×