Tải bản đầy đủ (.docx) (24 trang)

Tiểu luận môn Máy học và ứng dụng NHẬN DẠNG TIẾNG NÓI BẰNG MẠNG NƠRON NHÂN TẠO

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 (447.63 KB, 24 trang )

Đại Học Quốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tin
BÀI THU HOẠCH MÔN HỌC
MÁY HỌC VÀ ỨNG DỤNG
ĐỀ TÀI:
NHẬN DẠNG TIẾNG NÓI BẰNG
MẠNG NƠRON NHÂN TẠO
GVHD: PGS.TS. Vũ Thanh Nguyên
HVTH: Nguyễn Thành Thiện
MSHV: CH1301059
TP.HCM – 2013
Mục Lục
2
Lời Nói Đầu
Ngay khi phát minh ra máy tính, con người đã mơ ước máy tính có thể nói
chuyện với mình. Yêu cầu đơn giản nhất là máy có thể xác định được từ ngữ mà
chúng ta nói với máy. Đó là mục tiêu của ngành nhận dạng tiếng nói.
Đối với con người, việc nghe, nhất là nghe tiếng mẹ đẻ là một vấn đề khá đơn
giản. Còn đối với máy tính, xác định một chuỗi tín hiệu âm thanh là sự phát âm của
một từ nào hoàn toàn không đơn giản, khó khăn cũng như việc học nghe ngoại ngữ
của chúng ta.
Lĩnh vực nhận dạng tiếng nói đã được nghiên cứu hơn 4 thập kỉ và hiện nay
mới chỉ có một số thành công. Có thể k ể đến hệ thống nhận dạng tiếng Anh (ví dụ:
phần mềm Via Voice của IBM, hệ thống nhận dạng tiếng nói tích hợp của
OfficeXP…). Các hệ thống này hoạt động khá tốt (cho độ chính xác khoảng 90 -
95%) nhưng còn xa mới đạt đến mức mơ ước của chúng ta: có một hệ thống có thể
nghe chính xác và hiểu hoàn toàn những điều ta nói.
Riêng với tiếng Việt, lĩnh vực nhận dạng tiếng nói còn khá mới mẻ. Chưa hề
thấy xuất hiện một phần mềm nhận dạng tiếng Việt hoàn chỉnh trên thị trường. Số
công trình nghiên cứu về nhận dạng tiếng nói tiếng Việt được công bố r ất hiếm hoi,
và kết quả còn hạn chế về bộ từ vựng, độ chính xác…. Tiếng Việt có nhiều đặc tính


khác với các ngôn ngữ đã được nghiên cứu nhận dạng nhiều như tiếng Anh, tiếng
Pháp. Do đó việc nghiên cứu nhận dạng tiếng Việt là rất cần thiết.
3
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ườinó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ântích tín hiệu như Mô
hình dự đoán tuyến tính, so sánh mẫu theothời gian…, công nghệ nhận dạng tiếng nói
tiếp tục có nhữngbướ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épcác nhà nghiên cứu xây
dựng các hệ thống nhận dạng đượchà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ậndạng tiếng nói qua h.nh 1.1.
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ồmnhiều khâu biến đổi. Tín
hiệu tiếng nói phát ra là tương tự. Quaquá tr.nh lấy mẫu, lượng tử hoá và m. hoá để
thu được tín hiệusố. Các mẫu tín hiệu này được trích chọn đặc trưng. Những đặctrưng
này sẽ là đầu vào của quá tr.nh nhận dạng. Hệ thống nhậndạ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:
4
• 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ếtbị 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
Tùy 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
2 nhóm riếng
• 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 Sơ đồ phân loại các hệ thống nhận dạng tiếng nói
Có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói :
• Phương pháp âm học - ngữ âm học.
5
• 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 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/m2).
Độ 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
1.6
• 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.
6
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 .
Â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 Sơ đồ âm tiết tiếng Việt
Một âm tiết trong tiếng Việt có thể theo 4 kiểu khác nhau:
_ 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ị.

7
Hình 2.2 Vốn từ trung bình theo các ứng dụng
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
Tiếng Việt có 22 âm đầu và khoảng 155 vần. Kết hợpvớ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
8
Trong tiếng Việt ranh giới âm tiết trùng với ranh giới hình vị. Đâ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
Hình 2.3. Quá trình tạo và cảm thụ tiếng nói
Cơ chế tạo tiếng nói
9
Hình 2.4 Cấu tạo của bộ phận 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.
Â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 sau: nguồn kích thích
(Excitation), tuyến âm (Vocal tract) và bức xạ (Radiation).
10
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:
Cơ chế thu nhận tiếng nó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
11
Hình 2.7 Sơ đồ khối của bộ xử lí MFCC
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 . 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.
Hình 2.8 Phân khung tín hiệu
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:
12
Hình 2.9 Cửa sổ Hamming
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 {xn} như sau:
(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.
Mel = 1000*log2(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 đó.
13
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.
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:
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: Thân, dây, khớp thần kinh, các nhánh và các
rễ.
Hình 3.1 Mô hình nơron sinh vật
Mô hình nơron nhân tạo

14
Mô hình nơron nhân tạo được xây dựng từ ba thành phần chính : 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 Mô hình nơron nhân tạo
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:
(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.
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: Học tham số và học cấu trúc.
15
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ế. Các ứng dụng trong tin học, viễn thông,
đo lường, điều khiển, y tế…
16
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 wij 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 = [y0, y1, y2, y3, y4, y5, y6, y7, y8, y9] 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]
Cấu trúc mạng lan truyền ngược
17
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.

Hình 4.6 Cấu trúc của mạng lan truyền ngược
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 , lan truyền ngược sai

số
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.
q
W
ij
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à Emax (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
k
i
với mọi i (4.39)
• Bước 2 (lan truyền tiến): lan truyền tiến tín hiệu qua mạng sử dụng:
18
(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:
(4.41)
(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:
(4.43)
(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
19
Chọn giá trị trọng Wij trong khoảng trong đó ki là số lượng
nơron j nối tới nơron i .
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.
20
Hình 4.7 Lưu đồ thuật toán mạng lan truyền ngược
4.3 Giao diện chương trình
Chương trình được viết trên hệ điều hành android với giao diện như sau:
21



22
Kết Luận
Bài thu hoạch này đã cung cấp kiến thức tổng quan về tiếng nói và bài toán
nhận dạng tiếng nói và xây dựng thuật giải ,ứng dụng viết 1 chương trình demo.
Do tính hạn chế của tiểu luận nên chương trình demo chưa mang nhiều tính ứng
dụng mà mới chỉ dừng lại ở mức thực hiện các thao tác đơn giản.
Vì thời gian và kiến thức còn gói gọn trong môn học nên chuyên đề sẽ không tránh
được những sai xót, em mong nhận được sự đóng góp xây dựng tích cực của thầ.
23
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á.
Tiếng Anh
6. Cart G. Looney (1997), Parttern Recognition Using Neural Network, Oxfoxd
University Press.
7. Chin – Teng Lin, C. S. George Lee (1996), Neural Fuzzy Systems: A Neuro-Fuzzy
Synergism to Intelligent Systems, Prentice-Hall International, Inc.
24

×