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ộcngười nó
Trang 1Đạ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
Trang 2Mục Lục
Lời Nói Đầu 3
Chương 1 TỔNG QUAN VỀ TIẾNG NÓI VÀ BÀI TOÁN NHẬN DẠNG 4
1.1 Lịch sử phát triển của nhận dạng tiếng nói 4
1.2 Tổng quan về bài toán nhận dạng tiếng nói 4
1.3 Một số hệ thống nhận dạng tiếng nói 5
1.4 Tổng quan về tiếng nói 6
1.5 Mục tiêu của đề tài 6
Chương 2 TIẾNG VIỆT VÀ TRÍCH CHỌN ĐẶC TRƯNG 7
2.1 Khái quát về tiếng Việt 7
2.2 Đơn vị cơ bản cho các hệ thống nhận dạng tiếng Việt 7
2.3 Đặc điểm âm tiết và bài toán nhận dạng 8
2.4 Trích chọn tần số đặc trưng của tiếng Việt 9
Chương 3 TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO 14
3.1 Giới thiệu về mạng nơron 14
3.2 Các Mô hình mạng nơron và luật học 15
3.3 Các ứng dụng của mạng nơron nhân tạo 15
Chương 4 MẠNG LAN TRUYỀN NGƯỢC NHẬN DẠNG TIẾNG VIỆT 17
4.1 Phương pháp lan truyền ngược 17
4.2 Ứng dụng mạng lan truyền ngược cho nhận dạng Tiếng Việt 17
4.3 Giao diện chương trình 21
Kết Luận 22
Tài liệu tham khảo 23
Trang 3Lờ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óichuyệ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á đơngiả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ủamộ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 naymớ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ủaOfficeXP…) 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ínhkhác với các ngôn ngữ đã được nghiên cứu nhận dạng nhiều như tiếng Anh, tiếngPháp Do đó việc nghiên cứu nhận dạng tiếng Việt là rất cần thiết
Trang 4Chươ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ộcngườ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ếtquả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óitiế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âydự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ínhiệ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ưngnà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ậndạng
Một số yếu tố khó khăn cho bài toán nhận dạng tiếng nói:
Trang 5• 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ưởngkhô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 quanhơ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
• 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
Trang 61.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 âmbậ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
Trang 7Chươ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àngnhất, nó bao trùm được tính biến thể âm vị
Trang 8Hì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ớtnhiề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
Trang 9Trong tiếng Việt ranh giới âm tiết trùng với ranh giới hình vị Đây là đặc điểmquan 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
Trang 10Hì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)
Trang 11Chuỗ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óngcủ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
Hình 2.7 Sơ đồ khối của bộ xử lí MFCC
Trang 12Có 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ăngtầ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áckhung
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:
Hình 2.9 Cửa sổ Hamming
Trang 13Biế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ố đobằ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ềnthờ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ợptuyến tính của các mẫu trước đó
Trang 14Chươ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ỷ quathà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
Trang 15Mô 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
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
Trang 16Mạ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ế…
Trang 17Chươ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ánnà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ủamạ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.nhphươ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àocủ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]
Trang 18Cấ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
•
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 saisố
Xét một mạng với Q lớp truyền thẳng, với q = 1, 2, , Q, k hiệu qneti và qyi lầnlượ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-1yj đến qyi
Đầu vào: một tập các cặp huấn luyện {(xk, dk) 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).η<η<2 và Emax (là giá trị lỗi cực đại có thể được).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)
• qyi = 1yi = xk
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:
Trang 19(4.40)
với mỗi i và q tới khi các đầu ra của lớp ra Qyi đề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 <η<2 và Emax (là giá trị lỗi cực đại có thể được) 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 <η<2 và Emax (là giá trị lỗi cực đại có thể được) Emax 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
nơron j nối tới nơron i
Trang 20Lự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ùngvới các tham số khác
Hình 4.7 Lưu đồ thuật toán mạng lan truyền ngược
Trang 214.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:
Trang 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.