MỤC LỤC
1
LỜI NÓI ĐẦU
Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói
(Speech recognition) trên cơ sở lý thuyết các hệ thống thông minh nhân
tạo, nhiều kết quả đã trở thành sản phẩm thương mại như ViaVoice,
Dragon , các hệ thống bảo mật thông qua nhận dạng tiếng nói, các hệ quay
số điện thoại bằng giọng nói Triển khai những công trình nghiên cứu và
đưa vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa
đặc biệt trong giai đoạn công nghiệp hoá hiện đại hoá hiện nay.
Tuy nhiên do tính phức tạp của vấn đề mà kết quả của những công
trình có thể có nhiều phạm vi áp dụng khác nhau. Mỗi công trình ứng dụng
cho một phạm vi nào đó, mong muốn chung là có một hệ thống nhận dạng
được toàn bộ các từ, của nhiều người nói. Những việc phải giải quyết của
bài toán này còn nhiều khó khăn nhất là với tiếng Việt.
Mạng neural (Neural Netwok) là một công cụ có khả năng giải quyết
được nhiều lớp bài toán khó, thực tế những nghiên cứu về mạng neural đưa
ra một cách tiếp cận hiệu quả trong nhận dạng tiếng nói. Với bài toán nhận
dạng một số phụ âm bật tiếng Việt, thông qua mạng neural hy vọng góp
phần nâng cao hiệu quả của hệ thống nhận dạng.
Sau thời gian nghiên cứu không dài với sự giúp đỡ nhiệt tình của
thầy hướng dẫn PGS_TS và các thầy cô giáo của khoa CNTT em đã hoàn
thành đúng thời hạn các nhiệm vụ đặt ra trong quá trình nghiên cứu. Em
xin chân thành cảm các thầy đã tận tình giúp đỡ em, cảm tất cả các thành
viên trong lớp đã tạo điều kiện tốt nhất để em hoàn thành tốt đề tài của
mình. Em mong sự đóng góp ý kiến của thầy cô để em tiếp tục hoàn thiện
và phát triển đề tài của mình.
2
I. TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI
1. Nhận dạng tiếng nói nói chung.
một tập thể các nhà khoa học đã đưa ra hệ thống nhận dạng với 10 chữ số.
và 100 câu lệnh phục vụ cho điều khiển quỹ đạo đạn đạo của tên lửa và vệ
tinh.
2. Nhận dạng tiếng Việt.
Đối với tiếng Việt do có đặc thù riêng chúng ta không thể ứng dụng
nguyên vẹn các thành quả nghiên cứu của các ngôn ngữ khác (tiếng Anh,
Đức, Nga…) vào nhận dạng tiếng Việt. Vì thế nghiên cứu đặc trưng và xây
dựng chương trình nhận dạng cho tiếng Việt là hết sức quan trọng.
Trong những năm qua đã có nhiều công trình, luận án nghiên cứu
nhận dạng tiếng nói, tuy nhiên kết quả đạt được chưa nhiều. Đáng chú ý là
những công trình nghiên cứu như.
- “Nghiên cứu phát triển công nghệ nhận dạng, tổng hợp và xử lý
ngôn ngữ tiếng Việt” do GS. Bạch Hưng Khang làm chủ nhiệm.
Kết quả đạt 70% - 90% cho giọng chuẩn Hà Nội.
- “Điều khiển robot bằng tiếng Việt theo hướng dẫn thông minh“
do tiến sĩ Nguyễn Thiện Thành và các nhà khoa học thuộc sở
KHCN TP.HCM nghiên cứu
4
- Hệ thống nhận dạng tiếng nói có thanh điệu đầu tiên trên thế giới
với bộ 10 chữ số tiếng Việt và 200 từ phát âm rời rạc do tiến si
Nguyễn Anh Tuấn thuộc Trung tâm tính toán viện hàn lâm Liên
Xô nghiên cứu. Kết quả chính xác khoảng 97% - 98%.
- Và một số luận án tiến sĩ, thạc sĩ khác đã nghiên cứu về nhận
dạng tiếng nói tiếng Việt.
Dù là hướng nghiên cứu nào thì bài toán nhận dạng phải thuộc lớp
mô hình bài toán nhận dạng sau:
- Phân theo số người nói.
o Nhận dạng một giọng nói
o Nhận dạng nhiều giọng nói.
- Phân theo số lượng từ.
một ngôn ngữ có thanh điệu nên lựa chọn đơn vị nhận dạng như thế nào lại
càng quan trọng. Luận văn trình bày quan niệm về cấu trúc tiếng Việt (đặc
biệt cấu trúc tiếng Việt dưới góc độ CNTT), nghiên cứu đặc trưng của từ,
các thành phần của từ, tập trung chủ yếu vào phần phụ âm đầu, nhằm phục
vụ cho bài toán nhận dạng phụ âm đã đặt ra theo lớp bài toán nhận dạng từ
rời rạc.
II. KHÁI QUÁT CHUNG VỀ MÁY HỌC.
1. Khái niệm máy học:
Để bắt đầu với khái niệm máy học, trước tiên phải xem xét đến khái
niệm học. Học là việc làm tăng khả năng thực hiện nhiệm vụ T của chương
trình dựa trên kinh nghiệm E với hiệu quả thực hiện nhiệm vụ là P. Như
vậy chương trình được thiết kế có khả năng học gọi là máy học.
Mỗi bài toán về máy học ta phải xác định nhiệm vụ T, hiệu quả thực
hiện P và kinh nghiệm E còn gọi là bộ dữ liệu huấn luyện cho máy.
E còn được gọi là bộ dữ liệu kinh nghiệm, phương pháp thực hiện
làm tăng khả năng thực hiện nhiệm vụ T(Làm tăng hiệu quả P) bằng cách
khai thác dữ liệu từ bộ dữ liệu kinh nghiệm E được gọi là phương pháp
học…
Mỗi phương pháp học sẽ có thuật toán tương ứng gọi là thuật toán
học, việc lựa chọn phương pháp phụ thuộc vào nhiệm vụ T và bộ dữ liệu
kinh nghiệm E.
Một số ví dụ:
7
Xét một số bài toán ứng dụng máy học.
Bài toán chơi cờ.
T: Chơi cờ (máy - người, máy - máy)
P: Tỉ lệ ván thắng đối thủ.
E: Kinh nghiệm từ những ván tự chơi (máy - máy) hoặc máy -
người.
Bài toán nhận dạng chữ viết tay.
Bộ dữ liệu mẫu dùng huấn luyện cho máy được xem là bộ dữ
liệu kinh nghiệm E. Mỗi bài toán cụ thể sẽ xác định cấu trúc của bộ dữ liệu
mẫu dùng để huấn luyện. Ví dụ: Bài toán nhận dạng tiếng nói thì bộ dữ
liệu mẫu dùng để huấn luyện là những đặc trưng được trích chọn từ mỗi
từ.
9
Bộ dữ liệu mẫu là tập hợp các mẫu dữ liệu, mỗi mẫu dữ liệu
thường được biểu diễn bởi véctơ b(x
1
, x
2
,…, x
n
), trong đó x
i
là các giá trị
đặc trưng, mẫu dữ liệu được phân thành hai loại:
- Mẫu dữ liệu có giá trị đích: Mẫu dữ liệu được xác định
là thuộc phân lớp, đối tượng hoặc quyết định, trong trường hợp này máy
học theo cách học có giám sát.
- Mẫu dữ liệu không có giá trị đích: Mẫu dữ liệu không
được xác định trước phân lớp, đối tượng hoặc quyết định. Trong trường
hợp này máy học theo cách học không có giám sát. Dữ liệu huấn luyện kiểu
này máy sẽ phải tự xác định những dữ liệu nào là cùng một phân lớp, đối
tượng hay cùng một quyết định theo tiêu chí đánh giá riêng.
2.2. Xác định hàm mục tiêu.
Hàm mục tiêu là các lớp, đối tượng hay quyết định, các giá trị
hàm mục tiêu được xác định từ bộ dữ liệu huấn luyện có giá trị đích hoặc
máy tự xác định, ví dụ trong bài toán nhận dạng tiếng nói thì tập giá trị hàm
đích là tập các từ rời rạc, trong bài toán xấp xỉ hàm thì tập các giá trị mục
x
n
.
Hàm V’(b) được đánh giá xấp xỉ tuyến tính, V’(b) được gọi là
hàm học. V
train
(b) là giá trị huấn luyện, là giá trị lý tưởng.
2.4. Thuật toán học
Quá trình học là quá trình thực hiện điều chỉnh các hệ số w
i
sao cho giá trị đánh giá hàm mục tiêu V’(b) càng bám sát giá trị hàm mục
tiêu huấn luyện V
train
(b) càng tốt. Sai số được đánh giá theo công thức:
Error = (V’(b) – V
train
(b))
2
Quá trình huấn luyện lặp lại nhiều lần trên toàn bộ dữ liệu
mẫu, mỗi vòng lặp các giá trị w
i
được điều chỉnh sao cho hệ số error giảm
dần.
Các bước thực hiện học:
Bước 1: Xác định giá trị học và giá trị hàm đích tương ứng.
Bước 2: Khởi tạo trọng số w
i
.
11
Bước 3: Tính giá trị đầu ra hàm học được V’(b).
3. Phân lớp bằng hệ thống máy học
Hệ thống máy học sau khi đã được huấn luyện bằng bộ dữ liệu mẫu
(b, V
train
(b)), với sai số đủ nhỏ (so với ngưỡng đặt trước) hoặc đủ số vòng
lặp huấn luyện mẫuthu được bộ hệ số hạo w
i
, giá trị hàm đích được đánh
giá như sau:
V’(b) = w
0
+ w
1
x
1
+ w
2
x
2
+ … + w
n
.x
n
.
Giá trị hàm đích xác định mức độ giống so với giá trị hàm mục tiêu
của bộ mẫu đã huấn luyện, nếu gọi bộ mẫu huấn luyện là bộ dữ liệu: (p
1
,t
1
),
, x
2
, . . . , x
n
), đặt giá trị hàm
mục tiêu V
train
(b) đưa vào hệ thống máy học huấn luyện thu được bộ hệ số
học w
i
, khi thực hiện nhận dạng tiếng nói một từ bằng cách đánh giá hàm
đích của bộ đặc trưng tiếng nói đó với bộ hệ số học w
i,
giá trị hàm đích sai
lệch so với giá trị hàm mục tiêu của từ nào là ít nhất sẽ là từ cần nhận
dạng.
4. Phương pháp xây dựng máy học
Có nhiều phương pháp được sử dụng xây dựng hệ thống máy học,
gồm một số phương pháp sau:
- Cây quyết định.
- Mạng Nơron nhân tạo
- Phương pháp Bayesian.
- Mô hình Markov ẩn, . . .
14
Trong báo cáo này tôi xin trình bày phưong pháp xây dựng máy học
bằng mạng Neural nhân tạo.
Mạng Neural nhân tạo là công cụ xây dựng hệ thống máy học mà
hàm mục tiêu được xấp xỉ là các giá trị thực, rời rạc hoặc vectơ. Mạng
neural được xây dựng dựa phỏng mạng neural sinh học của con người.
4.1 Cấu trúc mạng neural nhân tạo.
4.2 Một số hàm chuyển thông dụng
* Hàm ngưỡng: harlim
15
<
≥
==
00
01
)lim(
n
n
nharda
Ký hiệu:
* Hàm ngưỡng đối xứng: Hardlims
<−
≥
==
01
01
)(lim
n
n
−
≤≤−
≥
==
1
11
11
)( nn
n
nsatlinsa
Ký hiệu:
* Hàm log_sig: log_sigmoid
e
n
nsiga
+
−
==
1
1
)(log
Ký hiệu:
* Hàm tanghyperbolic: tansig
<
=
==
max0
max1
)(
n
n
ncompeta
Ký hiệu:
4.3 Mạng neural đa lớp
Mạng neural đa lớp được cấu tạo từ nhiều neural, các neural được
thiết kế theo từng lớp , mạng đa lớp được đặc trưng bởi các tham số sau:
- Số lớp của mạng, gồm các lớp:
o Lớp dữ liệu vào (input layer) lớp này chỉ có dữ liệu vào và
không có neural, số lượng nút của lớp vào phụ thuộc mẫu
dữ liệu đưa vào hệ thống.
o Các lớp ẩn (hidden layers), lớp này được thiết kế gồm một
hay nhiều lớp, mỗi lớp được cấu trúc có 1 hoặc nhiều
neural.
o Lớp dữ liệu ra (output layer), lớp này được cấu trúc 1 hoặc
nhiều neural tuỳ theo hàm chuyển và số phân lớp hàm mục
tiêu.
18
Hình 1.2 Mạng neural 3 lớp
4.4. Quy tắc học.
otwE
2
)(
2
1
)(
Trong đó :
- D: tập dữ liệu mẫu
- t
d
: giá trị hàm mục tiêu V
train
(d) của mẫu d.
- Bộ hệ số học w(w
1
, w
2
, . . ., w
n
)
Có nhiều thuật toán sử dụng cho việc huấn luyện mạng nhằm cải
thiện tốc độ, trong đó thuật toán được sử dụng phổ biến là thuật toán lan
truyền ngược lỗi (backpropagation algorithm).
4.6. Mạng 3 lớp dùng thuật toán lan truyền ngược.
Xét mạng 3 lớp dùng n
in
nút dữ liệu vào, n
hidden
nút neural ẩn, n
out
mẫu x(x
1
, x
2
, . . . , x
m
), t_ giá trị hàm mục tiêu tương ứng với
vectơ mẫu x.
- n
in
: Số nút lớp vào.
- n
hidden
: Số nút lớp ẩn.
- n
out
: Số nút lớp ra.
- η: Tốc độ học.
21
Output:
- Bộ hệ số học w
ij
BACKPROPAGATION(training_examples, η, n
in
, n
hidden
, n
out
)
x
1, ,1,0,))(1(
−=−−←
outkkkkk
nkotoo
δ
iii. Tính lỗi tại mỗi neural lớp ẩn:
∑
∈
−←
outputk
kkhhhh
woo
δδ
)1(
iv. Tính lại các hệ số học
jijiji
www
∆+←
22
Trong đó:
jijji
xw
ηδ
←∆
b. Lặp lại với mẫu tiếp theo
4. Lặp lại bước 3 nếu chưa đủ số lần huấn luyện và sai số chưa đặt
dưới ngưỡng cho phép.
23
III. LÝ THUYẾT XỬ LÝ TIẾNG NÓI
1. Cơ sở lý thuyết âm thanh.
Tần số lấy mẫu (f
s
): tần số lấy mẫu được ký hiệu là f
s
là
số mẫu thu được trong thời gian 1 giây. Nếu tần số lấy mẫu càng cao thì
dạng của tín hiệu càng có khả năng khôi phục giống như tín hiệu gốc, Chất
lượng âm thanh khôi phục được càng giống âm thanh gốc. Tuy nhiên nếu
25