Các kỹ thuật nhận dạng mẫu đơn giản như lượng tử hoá véctơ, hiệu chỉnh thời gian động…, đã được áp dụng khá thành công vào các chương trình nhận dạng tiếng nói tiếng Việt phát âm rời rạc
Trang 1HỒ VĂN HƯƠNG
NHẬN DẠNG TIẾNG NÓI TRÊN CƠ SỞ MẠNG
NƠRON NHÂN TẠO
LUẬN VĂN THẠC SỸ
Người hướng dẫn: PGS.TS Nguyễn Quang Hoan
Hà nội - 2005
Trang 2MỞ ĐẦU 3
CHƯƠNG 1 5
TỔNG QUAN VỀ TIẾNG NÓI VÀ BÀI TOÁN NHẬN DẠNG 5
1.1 Lịch sử phát triển của nhận dạng tiếng nói 5
1.2 Tổng quan về bài toán nhận dạng tiếng nói 6
1.3 Một số hệ thống nhận dạng tiếng nói 8
1.4 Tổng quan về tiếng nói 9
1.4.1 Âm thanh và tiếng nói 9
1.4.2 Cao độ của âm (pitch) 9
1.4.3 Cường độ (volume) và mức cường độ âm 10
1.4.4 Độ to của âm 10
1.4.5 Âm sắc (phonetics) 11
1.5 Mục tiêu của đề tài 11
CHƯƠNG 2 13
TIẾNG VIỆT VÀ TRÍCH CHỌN ĐẶC TRƯNG 13
2.1 Khái quát về tiếng Việt 13
Một số đặc điểm của tiếng Việt 13
Cấu trúc âm tiết trong tiếng Việt 14
2.2 Đơn vị cơ bản cho các hệ thống nhận dạng tiếng Việt 15
2.2.1 Mô hình từ và âm tiết 15
2.2.2 Mô hình âm vị 16
2.2.3 Mô hình Âm đầu và Vần 16
2.3 Đặc điểm âm tiết và bài toán nhận dạng 17
Đặc điểm âm tiết tiếng Việt 17
2.3.2 Âm tiết với bài toán nhận dạng 17
2.4 Trích chọn tần số đặc trưng của tiếng Việt 18
2.4.1 Cơ chế tạo và thu nhận tiếng nói 18
2.4.2 Các hệ số Cepstrum trên thang Mel (MFCC) 23
2.4.3 Các hệ số Cepstrum của dự đoán tuyến tính (LPCC) 28
2.5 Kết luận 32
CHƯƠNG 3 TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO 33
Giới thiệu về mạng nơron 33
3.1.1 Mô hình nơron sinh vật 35
3.2 Các mô hình mạng nơron và luật học 39
3.3 Các ứng dụng của mạng nơron nhân tạo 43
3.4 Kết luận 47
CHƯƠNG 4 48
MẠNG LAN TRUYỀN NGƯỢC NHẬN DẠNG TIẾNG VIỆT 48
4.1 Phương pháp lan truyền ngược 48
4.2 Ứng dụng mạng lan truyền ngược cho nhận dạng tiếng Việt 51
Trang 34.2.1 Mô hình nhận dạng và phân loại mẫu 51
4.2.3 Phân tích và đánh giá các tham số của hệ thống nhận dạng 64 CHƯƠNG 5 XÂY DỰNG HỆ THỐNG NHẬN DẠNG 66
5.1 Kiến trúc hệ thống 66
5.2 Giao diện chương trình và cách sử dụng 72
5.3 Kết quả thực nghiệm 75
5.3.1 Môi trường phát triển chương trình 75
Kết luận và định hướng nghiên cứu 77
Tài liệu tham khảo 77
Trang 4MỞ ĐẦU
Nhận dạng tiếng nói là mong ước của khoa học và con người Những người máy có thể hiểu được tiếng người nói và thực thi nhiệm vụ
Hiện nay, nhận dạng tiếng nói chưa thực sự đáp ứng đầy đủ các yêu cầu thực
tế, song những hệ thống nhận dạng tiếng nói đã có bước phát triển đáng kể
Trên thế giới, một số hệ thống nhận dạng tiếng nói cỡ lớn có độ chính xác tương đối cao Các hệ thống này chủ yếu được phát triển trên nền công nghệ hiện đại với những máy tính lớn, những vi mạch xử lý tiếng nói chuyên dụng và sử dụng
cơ sở dữ liệu tiếng nói khá hoàn chỉnh, nhưng phần lớn vẫn là xử lý cho tiếng Anh
Ở Việt Nam, việc tìm hiểu, nghiên cứu và phát triển các hệ thống nhận dạng tiếng nói còn đang bước đầu có kết quả Do có những đặc thù riêng của tiếng Việt, nên việc chọn lựa phương pháp tiếp cận bài toán nhận dạng phù hợp với tiếng Việt
là một vấn đề tương đối khó khăn
Những năm gần đây, cũng có khá nhiều đề tài nghiên cứu về nhận dạng tiếng nói tiếng Việt Các hệ thống nhận dạng tiếng nói thành công nhất chủ yếu dựa trên khuynh hướng nhận dạng mẫu Các kỹ thuật nhận dạng mẫu đơn giản như lượng tử hoá véctơ, hiệu chỉnh thời gian động…, đã được áp dụng khá thành công vào các chương trình nhận dạng tiếng nói tiếng Việt phát âm rời rạc với số lượng từ vựng hạn chế
Tuy nhiên, mục tiêu của nhận dạng tiếng nói tự động bằng máy là phải tiến tới
hệ thống nhận dạng tiếng nói liên tục, kích thước từ điển lớn, không phụ thuộc vào người nói Vì vậy, các hệ thống nhận dạng tiếng nói hiện nay thường xây dựng trên
cơ sở áp dụng các kỹ thuật nhận dạng mẫu phức tạp hơn, đó là mô hình Markov ẩn
và mạng nơron nhân tạo đã cho một số thành công nhất định
Xuất phát từ nhận thức trên, đề tài luận văn Thạc sỹ của em là tìm hiểu, đưa ra phương pháp và xây dựng một ứng dụng nhận dạng tiếng nói tiếng Việt Với những khả năng của mạng nơron nhân tạo trong ứng dụng, đã cho nhiều thành công đáng
Trang 5khích lệ Vì vậy, em đã chọn mạng nơron làm cơ sở cho việc nghiên cứu nhận dạng tiếng nói tiếng Việt
Nội dung luận văn gồm 5 chương như sau:
Chương 1: Tìm hiểu lịch sử việc nghiên cứu nhận dạng tiếng nói, tổng quan
về tiếng nói và nhận dạng tiếng nói
Chương 2: Trình bày một số tính chất của tiếng nói như: cơ chế tạo ra tiếng
nói, cơ chế thu tiếng nói, các đặc trưng tiếng nói Ngoài ra, chương này cũng
đề cập đến kỹ thuật tính hệ số MFCC, là một phương pháp trích chọn đặc trưng tín hiệu tiếng nói khá phổ biến đã được áp dụng hiệu quả trong các hệ thống nhận dạng
Chương 3: Tìm hiểu tổng quan về mạng nơron, những khái niệm, cấu trúc,
các luật học Chương này cũng đề cập đến những ứng dụng của mạng nơron trong nhận dạng và phân lớp
Chương 4: Nghiên cứu về mạng nơron lan truyền ngược gồm: cấu trúc,
phương pháp huấn luyện mạng Chương này cũng đề cập đến cấu trúc cụ thể của mạng áp dụng cho bài toán nhận dạng tiếng nói tiếng Việt và đồng thời đánh giá các tham số của hệ thống nhận dạng
Chương 5: Xây dựng hệ thống nhận dạng, giao diện chương trình, các kết
quả thực nghiệm
Cuối cùng là kết luận và định hướng phát triển của đề tài
Trang 6CHƯƠ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
Nhận dạng tiếng nói tự động đã phát triển khoảng 40 năm nay Những nhân tố quan trọng giúp cho sự phát triển của công nghệ nhận dạng này có thể kể đến như sự phát triển của hệ thống phân tích phổ âm thanh (năm 1946) cho phép thể hiện trực quan các tín hiệu âm, lý thuyết tạo âm thanh tiếng nói của người (năm 1948), sự xuất hiện và phát triển mạnh mẽ của các hệ thống máy tính số thương mại đầu tiên trên thế giới (năm 1958)
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 Để phân tích và nhận dạng các chữ số hoặc các từ đơn âm sử dụng đặc tính trong miền thời gian và các ngân hàng bộ lọc tương tự Tương tự như vậy, với phương pháp âm họ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 được thiết kế mặc dù mới cho được kết quả rất 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ẽ Với các phương pháp này những hệ thống nhận dạng với số lượng từ khá lớn được thiết kế
Trong những năm 60 của thế kỷ 20, nhiều phòng thí nghiệm của nhiều hãng lớn đã được đầu tư nghiên cứu phát triển các hệ thống nhận dạng tiếng nói các ngôn ngữ khác nhau Đế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
Nhận dạng tiếng nói là làm cho máy hiểu, nhận biết được ngữ nghĩa của lời nói Đây là quá trình biến đổi tín hiệu âm thanh thu được qua micro, qua các thiết bị
Trang 7thu thanh khác… thành một chuổi các từ, sau đó được nhận dạng để sử dụng trong các ứng dụng điều khiển thiết bị, nhập dữ liệu hoặc soạn thảo văn bản bằng lời… hoặc đưa đến một quá trình xử lý ngôn ngữ ở mức cao hơn
Tiếng nói là công cụ truyền đạt thông tin quan trọng của người Bình thường, chúng ta không để ý quá trình nhận dạng tiếng nói diễn ra như thế nào? tại sao chúng ta hiểu được các từ, các câu một cách đơn giản như vậy?
Trên thực tế, quá trình nhận dạng tiếng nói của người là một quá trình phức tạp Hiện nay, các nhà nghiên cứu cố gắng tìm hiểu, phân tích và mô phỏng quá trình nhận dạng tiếng nói của người dưới dạng các chương trình máy tính Nhưng đây là vấn đề rất rộng, có liên quan tới nhiều ngành nghiên cứu như sinh học, hoá học, vật lý Do vậy, việc mô phỏng tiếng nói cũng gặp nhiều khó khăn
Chúng ta có thể thấy được một cách trực quan bài toán nhận dạ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à quá trình phức tạp bao gồm nhiều khâu biến đổi Tín hiệu mà người phát ra là tín hiệu tuơng tự, qua quá trình lấy mẫu, lượng tử hoá và
mã hoá để thu được các mẫu tín hiệu dạng số (tín hiệu mà máy tính có thể hiểu và
xử lý được) 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 cho quá trình nhận dạng Sau khi nhận dạng tín hiệu người dùng phát
âm, hệ thống sẽ đưa ra kết quả nhận dạng Tuỳ thuộc vào mô hình ứng dụng mà cho chúng ta các dạng đầu ra khác nhau
Trang 8Do tính chất của tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phân tích các đặc trưng của tiếng nói là việc không dễ Ở đây, chúng ta có thể nêu ra 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 thường 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
Có thể thấy nhận dạng tiếng nói là một lĩnh vực nghiên cứu có nhiều ứng dụng trong thực tế Các hệ thống nhận dạng góp phần rất lớn trong việc thúc đẩy phát triển nhiều ngành Tuy là lĩnh vực mang ý nghĩa to lớn đó, nhưng việc phát triển các
hệ thống nhận dạng cũng gặp không ít những khó khăn, nhất là ở Việt Nam khi các kết quả nghiên cứu về nhận dạng tiếng Việt chưa nhiều, cũng như cơ sở hạ tầng cho việc nghiên cứu còn ít
1.3 Một số hệ thống nhận dạng tiếng nói
Nhận dạng tiếng nói là vấn đề đã được chia thành hai nhóm riêng biệt dựa trên mục đích sử dụng khác nhau
Một 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
Một 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 về bài toán Các hệ thống nhận dạng được phân loại như hình vẽ 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
Trang 9 Phương pháp nhận dạng mẫu
Phương pháp sử dụng các kết quả của lĩnh vực trí tuệ nhân tạo
1.4 Tổng quan về tiếng nói
1.4.1 Âm thanh và tiếng nói
Âm thanh thực chất là sự nén và dản một cách tuần hoàn không khí, tạo ra một sóng đàn hồi dọc Sóng trong không khí truyền đến tai, tác động vào màng nhĩ, làm
cho màng nhĩ dao động với cùng tần số (dao động cưỡng bức), có khả năng tạo ra cảm giác âm thanh trong tai khi tần số sóng đạt tới một độ lớn nhất định Tai người chỉ có thể cảm nhận được âm thanh trong một khoảng tần số từ 20Hz đến 20000Hz Những sóng này gọi là sóng âm hay âm thanh
Tiếng nói là âm thanh do người phát ra Khi phát âm, nguồn không khí từ phổi
sẽ kích hoạt bộ phát âm làm căng các dây thanh quản và khi không khí đi qua làm cho các dây thanh quản này dao động tạo nên âm thanh tiếng nói Tiếng nói của người có năng lượng tập trung nằm trong khoảng tần số từ 1000Hz đến 4000Hz
Hình 1.2 Sơ đồ phân loại các hệ thống nhận dạng tiếng nói
Trang 101.4.2 Cao độ của âm (pitch)
Cao độ của âm thanh là độ cao hay thấp của âm thanh được quyết định bởi sự rung dây thanh Dây thanh rung với tần số nhanh sẽ cho những âm cao, dây thanh
rung chậm sẽ cho những âm thấp Đơn vị đo cao độ ở đây được dùng là Hz, đo số
chu kỳ dao động thực hiện được trong 1 giây, gọi là tần số Những âm có tần số
khác nhau gây cho ta những cảm giác âm khác nhau Độ cao của âm mang đặc tính sinh lý của âm Nó dựa vào đặc tính của âm là tần số Do cấu tạo của dây thanh khác nhau, mà tần số tạo ra phụ thuộc vào giới tính và lứa tuổi của người phát âm (phụ nữ
và trẻ em thường có tần số cao hơn nam giới và người lớn tuổi)
Đối với tai người, giá trị tuyệt đối của cường độ âm I không quan trọng bằng giá trị tỷ số của I so với một giá trị Io nào đó được chọn làm chuẩn Người ta định nghĩa mức cường độ âm L là logarith thập phân của tỉ số I/Io:
L(B) = lg(I/Io) hoặc L(dB) = 10lg(I/Io) với 1B = 10dB (1.1)
Thực tế, người ta thường dùng đơn vị dB (deciben) hơn là B (ben) Khi L = 1dB, thì I/Io = 101/10 Đây là mức cường độ nhỏ nhất mà tai ta có thể phân biệt được
1.4.4 Độ to của âm
Muốn gây cảm giác âm, cường độ âm phải lớn hơn một giá trị cực tiểu nào đó gọi là ngưỡng nghe Do đặc điễm sinh lý của tai người, ngưỡng nghe thay đổi tùy
Trang 11theo tần số âm Với các tần số 1000Hz - 5000Hz, ngưỡng nghe khoãng 10-12W/m2 Với tần số 50Hz, ngưỡng nghe lớn gấp 105 lần
Nếu cường độ âm lên tới 10W/m2 thì sóng âm gây ra một cảm giác nhức nhối Giá trị cực đại này gọi là ngưỡng đau Miền nằm giữa ngưỡng đau và ngưỡng nghe gọi là miền nghe được Khi xác định cường độ âm, người ta lấy Io là ngưỡng nghe của âm có tần số 1000Hz gọi là tần số âm chuẩn
Tai người nghe thính nhất với các âm trong miền tần số 1000Hz - 4000Hz, và nghe âm cao thính hơn nghe âm trầm
1.4.5 Âm sắc (phonetics)
Â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 về cao độ và cường độ
Âm sắc là một đặc tính sinh lý của âm, được hình thành trên cơ sở các đặc tính vật lý của âm là tần số và biên độ Thực nghiệm chứng tỏ rằng khi một nhạc cụ hoặc một người phát ra một âm có tần số f1 thì đồng thời cũng phát ra các âm có tần số
f2 = 2f1; f3 = 3f1; f4 = 4f1 …
Âm có tần số f 1 gọi là âm cơ bản (hay họa âm thứ nhất), các âm có tần số f2, f3,
f4… gọi là các hoạ âm thứ hai, thứ ba, thứ tư… Tùy theo cấu trúc từng loại nhạc cụ, hoặc cấu trúc khoang miệng và cổ họng từng người mà trong số các hòa âm cái nào
có biên độ lớn, biên độ nhỏ và cái nào chóng bị tắt đi Do hiện tượng đó, âm phát ra không còn là đường sin, mà trở thành một đường phức tạp có chu kỳ Sự tương quan giữa âm cơ bản và các hoạ âm mà tạo nên âm sắc khác nhau Sự khác nhau về âm sắc là do sự phân bố vị trí môi, lưỡi, vòm miệng của từng người
1.5 Mục tiêu của đề tài
Cho đến nay, các hệ thống nhận dạng tiếng nói tiếng Việt khá thành công chủ yếu là dựa trên khuynh hướng nhận dạng mẫu đơn giản Trong khi đó, phương pháp
Trang 12sử dụng trí tuệ nhân tạo vào nhận dạng tiếng nói còn chưa nhiều, mặc dù mạng nơron là một công cụ rất mạnh và hứa hẹn nhiều ứng dụng mới Đặc biệt là ở Việt Nam, việc áp dụng mạng nơron vào các lĩnh vực ứng dụng là rất ít và mới chỉ cho những kết quả ban đầu Vì vậy, mục tiêu của đề tài là thử nghiệm mạng nơron lan truyền ngược để nhận dạng mười từ số đếm tiếng Việt từ: không đến chín
Trang 13CHƯƠ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] Đặc điểm này được thể hiện rõ rệt ở tất cả các ngữ âm, từ vựng
và ngữ pháp Trong tiếng Việt có một loại đơn vị đặc biệt được gọi là “tiếng” Về mặt ngữ âm, mỗi tiếng là một âm tiết Tiếng Việt là tiếng đơn âm có ranh giới cố định, mang thanh điệu, có cấu trúc đơn giản, có âm tiết trùng với hình vị, đơn vị nhỏ nhất có tổ chức mang ý nghĩa ngữ pháp Tiếng Việt có số lượng âm tiết hữu hạn, khoảng 6.900 âm tiết tồn tại thực
Â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ì Từ thường có hai loại đơn tiết và đa tiết Một phần từ đa tiết là từ Hán Việt Trong các từ đa tiết thường có dạng láy âm hoặc ghép các từ đơn âm tiết
Âm tiếng Việt có cấu trúc chặt chẽ so với các loại âm của các ngôn ngữ khác
Tiếng Việt có 6 thanh điệu là: huyền (- falling), sắc ( rising), hỏi (? curve),
ngã ( broken), nặng ( drop) và không dấu Mỗi thanh đều có thể tham gia vào
việc cấu tạo từ và tạo nghĩa cho từ Thanh điệu tiếng Việt có tính nhạc, câu văn có vần, nhịp điệu, trầm bổng nhịp nhàng Mỗi âm tiết đều mang thanh điệu nhất định Thanh điệu kết hợp với thành phần của âm tiết tạo thành các từ khác nhau, ví dụ như: ba, bà, bá, bả, bã, bạ Trong tiếng Việt không phải vần nào cũng phát âm đủ được sáu thanh Đối với âm tiết đóng chỉ có hai thanh sắc và nặng
Âm tiết tiếng Việt thường bao gồm 3 thành phần có mức độ độc lập khác nhau
là âm đầu (phụ âm), âm chính (nguyên âm hoặc nguyên âm đôi) và âm cuối (phụ âm đơn hoặc bán nguyên âm) Trong đó nguyên âm và thanh điệu là hạt nhân của âm tiết Trừ phụ âm đầu, phần còn lại của âm tiết tiếng Việt gọi là vần Tiếng Việt có
Trang 14khoảng 512 vần Vần và thanh tạo nên sự hài hoà về ngữ âm và ngữ nghĩa trong các
từ tượng hình, tượng thanh
Từ đa tiết chiếm phần lớn trong tổng số từ tiếng Việt Từ ghép đa tiết được chia ra thành các loại:
Từ ghép nghĩa
Từ láy
Từ ghép tự do
Các từ vay mượn nước ngoài
Vốn từ vựng tiếng Việt bao gồm các từ, thành ngữ, thuật ngữ Một bộ phận từ tiếng Việt có gốc Hán Ngoài ra, còn một số ít gốc Pháp, Anh: (Gác-ba-ga, Pê-đan) Phương tiện biểu hiện ý nghĩa ngữ pháp trong tiếng Việt là trật tự các thành tố (từ và câu), ngữ điệu, dạng láy, ngữ cảnh Từ và cụm từ là đơn vị cấu tạo nên câu Giữa nói và viết tiếng Việt không cách xa nhau về quy tắc ngữ âm, ngữ pháp
2.1.2 Cấu trúc âm tiết trong tiếng Việt
Âm tiết tiếng Việt ở dạng đầy đủ được tạo bởi 5 thành phần đó là: phụ âm đầu,
âm đệm (bán nguyên âm), âm chính (nguyên âm hoặc nguyên âm đôi), âm cuối (phụ
âm đơn hoặc bán nguyên âm) và thanh điệu (hình 2.1)
Về cấu trúc, âm tiết tiếng Việt có cấu trúc hai bậc Bậc một gồm ba thành phần
là thanh điệu, phụ âm đầu và vần Bậc hai là các thành tố của phần vần gồm âm đệm
là bán nguyên âm, nguyên âm chính và phụ âm hoặc bán nguyên âm cuối
Thanh điệu
Một âm tiết trong tiếng Việt có thể theo 4 kiểu khác nhau sau [1]:
Một mình nguyên âm
Nguyên âm + phụ âm
Hình 2.1 Sơ đồ âm tiết tiếng Việt
Trang 15 Phụ âm + nguyên âm
Phụ âm + nguyên âm + phụ âm
trong lược đồ âm tiết "Phụ âm + nguyên âm + phụ âm" thì phụ âm đầu, cuối có thể vắng còn nguyên âm bao giờ cũng có mặt
2.2 Đơn vị cơ bản cho các hệ thống nhận dạng tiếng Việt
2.2.1 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ị Đối với một số ứng dụng nhận dạng tiếng nói cần số lượng từ không lớn như hệ thống điều khiển học, đếm số có thể áp dụng tốt mô hình từ để nhận dạng do dễ dàng thu thập đủ số mẫu huấn luyện cho mỗi từ (hình 2.2)
Trong nhiều ngôn ngữ, từ là đơn vị nhỏ nhất của tiếng nói và từ là mục tiêu của các hệ thống nhận dạng tiếng nói Trong tiếng Việt, âm tiết là đơn vị âm thanh nhỏ nhất và như vậy âm tiết là mục tiêu của các hệ thống nhận dạng tiếng Việt Do
Hình 2.2 Vốn từ trung bình theo các ứng dụng
Trang 16trong tiếng Việt có trên 6900 âm tiết nên rất khó áp dụng nhận dạng vì việc thu thập mẫu quá lớn và thời gian xử lý lâu
Ngoài ra, mỗi mẫu huấn luyện của một âm tiết chỉ có thể dùng để huấn luyện chính âm tiết đó mà không thể sử dụng chúng để huấn luyện âm tiết khác Song bù lại, phương pháp này có nhiều đơn giản do không phải sử dụng một số các phương pháp để phân đoạn gán nhãn
2.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 Trong tiếng Việt có khoảng 40 âm vị trong đó có
22 phụ âm, 16 nguyên âm đơn và đôi và 2 bán nguyên âm, khi kết hợp với thanh điệu (huyền, sắc, hỏi, ngã, nặng và không dấu) thì tổng cộng có 40 x 6 = 240 âm vị
có thanh điệu [1] Với số lượng âm vị hạn chế như vậy, hoàn toàn có thể xây dựng một mô hình nhận dạng tiếng Việt với từ điển cỡ lớn không hạn chế khoảng 1500 đến 2000 câu huấn luyện Một đặc điểm nữa là, các từ trong tiếng Việt có số lượng
âm vị rất ít, nhiều nhất cũng chỉ là 7 (ví dụ: nghiêng) Tuy nhiên, mô hình âm vị có một số nhược điểm chính:
Các âm vị như nhau ở các vị trí khác nhau không hẳn đã có những đặc tính
âm học, ngữ âm học giống nhau Một số âm vị vừa đóng vai trò âm chính, vừa đóng vai trò âm phụ
Âm vị là đơn vị nhỏ nhất của một từ, việc xác định ranh giới của các âm vị rất khó khăn, do đó việc phân đoạn, gán nhãn chính xác ở mức âm vị rất khó, nhưng lại rất quan trọng và ảnh hưởng nhiều tới chất lượng hệ thống
2.2.3 Mô hình Âm đầu và Vần
Tiếng Việt là ngôn ngữ đơn âm tiết Âm tiết tuy được phát âm liền nhưng lại
có cấu tạo lắp ghép và hầu như theo một quy luật nhất định Mỗi từ trong tiếng Việt
có 3 bộ phận chính thanh điệu, âm đầu và vần Âm đầu có một âm vị tham gia cấu tạo, vần được cấu tạo bởi âm đệm, âm chính và âm cuối Tiếng Việt có 22 âm đầu
Trang 17và khoảng 155 vần [6] Kết hợp với thanh điệu thì tổng số âm đầu và 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
Âm tiết tiếng Việt có nhiều đặc điểm khác với một số ngôn ngữ khác Đây là đặc điểm mà luận văn này quan tâm khi phân tích âm tiết tiếng Việt
2.3.1 Đặ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 Chúng ta sẽ phân tích một phát ngôn Phát ngôn sau trong bài thơ của Bác Hồ:
“Tiến lên toàn thắng sẽ về ta”
Xét trên bình diện thứ nhất, bằng cách đối chiếu với các phát ngôn khác, như: "năm qua thắng lợi vẻ vang", người ta có thể phân tích ra các đơn vị
có ý nghĩa nhỏ nhất, đơn vị đó là hình vị Trong hai phát ngôn đó sẽ có số hình vị khác nhau:
“Tiến / lên / toàn / thắng / sẽ / về / ta” có 7 hình vị
"năm / qua / thắng / lợi / vẻ / vang" có 6 hình vị
Hình vị có hình thức cấu tạo một âm tiết, tức là mỗi hình vị trùng với âm tiết
Trên chữ viết mỗi hình vị được viết thành một chữ
Hai phát ngôn trên nếu được phân tích theo phương diện thứ hai bằng cách căn cứ vào trọng âm, vào luồng hơi thở khi phát âm và đi tới các đơn vị phát âm nhỏ nhất, tức là âm tiết, thì ta thu được 7 và 6 âm tiết
Như vậy, ta có thêr thấy số lượng âm tiết và số lượng hình vị bằng nhau và ranh giới của chúng trùng nhau Mỗi âm tiết là một hình thức biểu đạt hình vị
Trong một số ngôn ngữ khác, mỗi âm tiết có thể nhiều hơn một hình vị
Trang 182.3.2 Âm tiết với bài toán nhận dạng
Từ những đặc điểm của âm tiết như phân tích ở trên cho ta 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
Tuy nhiên, khi chọn mô hình âm tiết cũng gặp một khó khăn là số lượng âm tiết tiếng Việt rất nhiều như vậy hạn chế khả năng nhận dạng của hệ thống
2.4 Trích chọn tần số đặc trƣng của tiếng Việt
2.4.1 Cơ chế tạo và thu nhận tiếng nói
Quá trình tạo tiếng nói bắt đầu khi người nói định ra một thông điệp trong ý nghĩ và muốn chuyển thông điệp đó cho người nghe thông qua tiếng nói Thông điệp này phải được chuyển đỗi sang một mã ngôn ngữ nào đó, sau đó người nói phải thực hiện một chuổi các lệnh thông qua các dây thần kinh để điều khiển đôi dây thanh rung khi cần thiết và định hình tuyến âm sao cho chuỗi âm thanh phát ra chính xác Các lệnh này phải đồng thời điều khiển các cơ quan liên quan đến quá trình phát âm khác như: lưỡi, môi, hàm, vòm miệng mềm…
Quá trình cảm thụ tiếng nói bắt đầu ngay sau khi tín hiệu tiếng nói được tạo ra
và lan truyền đến người nghe thông qua sự thay đổi áp suất của không khí Trước tiên, sóng âm học tác động vào màng nhĩ ở tai trong, các tín hiệu này được phân tích tạo ra các tín hiệu tác động lên các dây thần kinh thính giác Sau đó, các tín hiệu thần kinh được chuyển thành một mã ngôn ngữ nào đó nhờ các trung tâm xử lý cao hơn ở trong não Cuối cùng, thông điệp được người nghe cảm thụ Quá trình tạo và cảm thụ tiếng nói của người được minh hoạ trong hình 2.3
Trang 192.4.1.1 Cơ chế tạo tiếng nói
Trước khi nghiên cứu chi tiết vấn đề nhận dạng tiếng nói, ta cần hiểu rõ về quá trình tạo và cảm thụ tiếng nói của con người Những hiểu biết này là cơ sở cho việc xây dựng các phần mềm nhận dạng tiếng nói tự động bởi máy tính Hình 2.4 trình bày cấu tạo của cơ quan phát âm
Hình 2.4 Cấu tạo bộ phận phát âm của người
Điều khiển cơ thần kinh (Nero-Mascular Controls)
Hệ thống tuyến âm (Vocal Tract System)
Tín hiệu thần kinh (Neural Transduction)
Màng nhĩ rung (Bisilar Membrance Motion)
Sóng âm học (Acoustic Waveform)
Tạo tiếng nói
Cảm thụ tiếng nói
Hình 2.3 Quá trình tạo và cảm thụ tiếng nói
Trang 20Tuyến âm (vocal tract) bắt đầu từ dây thanh (vocal cords) và kết thúc ở môi Tuyến âm bao gồm họng và khoang miệng hoặc khoang mũi Thiết diện vùng giao nhau của tuyến âm, bao gồm vị trí lưỡi, môi, hàm và vòm miệng thay đổi từ 0 (khi ngậm môi) đến khoảng 20cm2
(Khi môi hở)
Tuyến mũi bắt đầu từ vòm miệng (velum) và kết thúc ở lỗ mũi Khi mà vòm miệng hạ xuống thì khoang miệng bị cắt và khoang mũi được thông tạo nên âm mũ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 Khi phát âm, lồng ngực sẽ được mở rộng và thu hẹp lại để luồng không khí được đẩy lên
từ phổi vào khí quản đi qua thanh môn, ở đây không khí có thể bị thay đổi sau đó tiếp tục được chuyển lên tuyến âm và bức xạ tại mô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 [1]: âm hữu thanh, vô thanh và âm bật
Âm hữu thanh (Voiced sound): được tạo ra bởi việc đẩy không khí qua
thanh môn với một độ căng của dây thanh sao cho chúng tạo nên dao động
Vì vậy, nó tạo ra những xung gần như có chu kỳ kích thích tuyến âm Ví dụ các nguyên âm: a, i, o …
Âm vô thanh (Unvoiced sound): được tạo nên bởi sự co thắt ở một số
điểm nào đó trong tuyến âm, và đẩy không khí qua các điểm co thắt này với một gia tốc đủ lớn để tạo nên sự nhiễu loạn Ví dụ s trong sông núi…
Âm bật (Plosive sound): là kết quả từ việc đóng hoàn toàn, tạo nên một áp
suất, và thả đột ngột
Tiếng nói là sóng âm được phát ra từ hệ thống này khi mà luồng không khí bật
ra từ phổi và bị xáo trộn bởi sự co thắt đâu đó trong tuyến âm
Tuyến âm là một ống có tiết diện không đều Âm thanh lan truyền dọc theo ống, phổ tần số được tạo thành bởi sự chọn lọc tần số của ống Hiệu ứng này rất giống hiện tượng cộng hưởng của cây sáo hoặc dụng cụ âm nhạc truyền thống Các tần số cộng hưởng của tuyến âm được gọi là tần số Formant hay đơn giản là các Formant Các Formant này phụ thuộc vào hình dạng và kích thước của tuyến âm Mỗi hình dạng được đặc trưng bởi một tập các Formant Các âm thanh khác nhau
Trang 21được tạo thành bằng cách thay đổi hình dạng của tuyến âm Vì vậy, các đặc trưng của phổ tín hiệu tiếng nói thay đổi theo thời gian khi mà dạng tuyến âm thay đổi Dạng sóng của tiếng nói gồm 2 phần: phần gần giống nhiễu (biên độ biến đổi ngẫu nhiên) và phần có tính chu kỳ (tín hiệu lặp lại gần như là tuần hoàn) Phần tín hiệu có tính chu kỳ chứa các thành phần tần số có dạng điều hòa Tần số thấp nhất chính là tần số cơ bản F0 (pitch) và cũng chính là tần số dao động của dây thanh 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) dạng như hình 2.5
Hình 2.5 Mô hình số tạo tiếng nói
Nguồn kích thích có 2 dạng cho âm hữu thanh và âm vô thanh Đối với âm hữu thanh, tín hiệu vào là một chuỗi xung đơn vị có tần số được điều khiển bởi tần số cơ bản F0 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:
N N n N N
N n
N n N
n n
g
, 0
, ) 2 / ) (
cos(
0 , ) / cos(
1 ) 2 / 1 ( )
1 1
Mô hình tuyến
âm V(z)
Mô hình bức xạ R(z)
Bộ tạo nhiễu ngẫu nhiên
AN
Trang 22Trong miền tần số, mô hình thanh môn có tác dụng như bộ lọc thông thấp Biến đổi z, G(z) chỉ có toàn điểm không Tuy nhiên, mô hình toàn điểm cực được ưa dùng hơn Mô hình thành công đạt được bằng cách sử dụng 2 điểm cực như sau:
) Z )(1 (1
A
1 - 1
AV dùng để điều khiển biên độ của tín hiệu tại thanh môn
Đối với âm vô thanh, mô hình nguồn kích thích đơn giản hơn nhiều Nó chỉ đơn giản là bộ tạo số ngẫu nhiên gây ra nguồn nhiễu có phổ phẳng
HT/VT là một khoá chuyển đổi giữa hữu thanh và vô thanh
Mô hình tuyến âm nhằm tạo ra các mạch cộng hưởng Các Formant của tiếng nói tương đương với các điểm cực của hàm truyền đạt V(z) Mô hình toàn điểm cực
là một biểu diễn rất tốt với hầu hết các âm tiếng nói Các âm mũi và phụ âm sát có
cả điểm không và điểm cực (phản Formant và Formant) Khi đó người ta thường biến đổi các điểm không về dạng điểm cực Vì vậy, V(z) thường được biểu diễn dưới dạng mắc nối tiếp của các hệ bậc 2 như sau:
1
2 2 1
1 (
) (
(2.3)
Nếu chúng ta muốn nhận được mô hình áp suất tại môi, thì tác dụng của tải bức
xạ R(z) phải được xem xét Áp suất sóng âm tại môi tỷ lệ với đạo hàm của thông lượng không khí qua môi Như vậy R(z) là một bộ lọc thông cao có dạng sau:
Kết quả ta được hàm truyền đạt của cả hệ thống như sau:
H(z)=G(z)V(z)R(z)= A( z)
(2.5) Trong đó = A.B.C là một hằng số, và A(z) có dạng sau:
A
1
1)
Trang 23A(z) được gọi là hàm truyền đạt của bộ lọc đảo Từ (2.5) dễ nhận thấy H(z).A(z) là một hằng số
Như vậy, ta được mô hình toàn điểm cực Đây là mô hình thường hay được áp dụng trong thực tế
2.4.1.2 Cơ chế thu nhận tiếng nói
Hình 2.6 là cấu tạo của tai người Trong cấu tạo của tai, vành tai thu nhận các sóng âm Rung động của không khí làm màng nhĩ rung động theo gây nên chuyển đổi cơ học trên xương búa Các dao động được truyền vào tai trong Ốc tai chuyển đổi các dao động cơ học sang các xung lực thần kinh và được truyền vào não
Hình 2.6 Cơ chế nghe của tai người
Giới hạn của các tần số âm thanh mà tai người nghe được là từ 20Hz đến 20000Hz, trong đó tần số nghe rõ nhất trong khoảng từ 1000Hz đến 4000Hz 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 Vì vậy, người ta thường dùng thang Mel Chúng ta sẽ xem xét về thang Mel trong phần sau
Trang 24
2.4.2 Các hệ số Cepstrum trên thang Mel (MFCC)
2.4.2.1 Mở đầu
Chúng ta đã biết cơ chế tạo tiếng nói và các đặc tính của tiếng nói Đối với người, rất là khó nếu ta đặt các đầu đo vào trong cơ thể để thu thập các đặc tính Vì vậy, người ta đã làm theo phương pháp ngược lại Đó là dựa vào sản phẩm đầu ra của hệ thống (tiếng nói) để biết được các đặc tính của hệ thống (người nói) Một trong những phương pháp hay được dùng đó là xử lý đồng hình cho tiếng nói (Homomorphic Speech Processing) Phương pháp này sẽ tính được các hệ số Cepstrum Cepstrum là biến đổi Fourier ngược lại của Logarithm của phổ tín hiệu
Sử dụng bộ lọc đồng hình ta có thể tách được thành phần gây kích thích và thành phần thể hiện tác dụng của tuyến âm, xung thanh môn, bức xạ tại môi Nghĩa
là ta có thể nhận được các xấp xỉ của các thành phần cơ bản trong tín hiệu tiếng nói Chẳng hạn ta có thể ước lượng chu kỳ pitch, các tần số Formant Với mục đích này thì Cepstrum là hoàn toàn đầy đủ [14] Tuy nhiên, để nâng cao độ chính xác cho khâu phân lớp sau này và để hệ thống mang tính “người” ta sẽ xem xét thêm một số yếu tố nữa trong các phần sau đây
Có nhiều cách để biểu diễn tham số của tín hiệu tiếng nói Trong đó MFCC 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 Các bộ lọc được phân chia ở vùng tần số thấp theo thang tuyến tính và ở vùng tần số cao theo thang Logarithm được sử dụng để nắm bắt các đặc tính ngữ âm quan trọng của tiếng nói Với thang tần số Mel, theo thang tuyến tính ở tần số dưới 1000Hz và theo thang Logarithm ở tần số trên 1000Hz
2.4.2.2 Bộ xử lý MFCC
Sơ đồ khối cấu trúc của một bộ xử lý MFCC được chỉ ra hình 2.7 Tín hiệu tiếng nói ở đầu vào thường được lấy mẫu với tần số khoảng 10KHz Tần số này được chọn để tối thiểu hoá hiện tượng chồng phổ khi biến đổi tương tự số Tín hiệu được lấy mẫu này có tần số có thể lên tới 5KHz Do đó, nó bao gồm hầu hết năng lượng của âm thanh tiếng nói Như ta đã biết, mục đích chính của bộ xử lý MFCC là bắt chước hoạt động của tai người Hơn nữa MFCC ít nhạy cảm với biến động
Trang 25Bộ phân khung (Frame Blocking)
Do tín hiệu tiếng nói có thể coi là ổn định trong một khoảng thời gian ngắn cỡ khoảng vài chục ms, nên khi tiến hành các phép phân tích biến đổi trên tín hiệu tiếng nói người ta thường chia tín hiệu thành các đoạn cỡ 10-30 ms, công việc đó được gọi là phân khung tín hiệu (Frame Blocking)
Ở bước này, tín hiệu tiếng nói được phân chia thành các khung N mẫu và phân biệt với khung bên cạnh M mẫu Khung thứ nhất chứa N mẫu Khung thứ 2 sau khung thứ nhất M mẫu và chồng lên khung thứ nhất N-M mẫu, tương tự, khung thứ
Hình 2.7 Sơ đồ khối bộ xử lí MFCC
Hình 2.8 Phân khung tín hiệu
Trang 263 sau khung thứ nhất 2M mẫu (sau khung thứ hai M mẫu) và chồng lên khung thứ nhất N-2M mẫu… Quá trình cứ tiếp tục như vậy cho đến khi tất cả các mẫu tiếng nói nằm trong một hoặc nhiều khung Hình 2.8 biễu diễn phân khung tín hiệu
Dễ thấy, khi M N thì các khung kề sẽ chồng lên nhau, kết quả việc đánh giá phổ sẽ liên quan từ khung này đến khung kia, nếu M<<N thì việc đánh giá phổ từ khung này đến khung kia sẽ rất trơn
Ngược lại, khi M N thì các khung kề nhau sẽ không chồng lên nhau Do đó, một vài tín hiệu sẽ bị mất hoàn toàn (nghĩa là không xuất hiện trong bất kỳ khung nào), phổ thu được khi đánh giá các khung kề nhau sẽ chứa một phần nhiễu Biên độ của nhiễu này tăng lên khi M tăng Điều này không thể chấp nhận được đối với các
hệ thống nhận dạng thực tế
Trong thực tế, thông thường chọn N=256 (tương đương với khoảng 20-30ms
và thuận tiện cho tính FFT cơ số 2), còn M=100 (khoảng 10ms)
Cửa sổ hoá (Windowing)
Hình 2.9 Biễu diễn cửa sổ Hamming trong miền thời gian
Bước này là cửa sổ hoá từng khung để tối thiểu sự ngắt quãng của tín hiệu tại điểm đầu và điểm cuối của khung Đây là khái niệm tối thiểu hoá sự méo phổ bằng cách sử dụng cửa sổ để vuốt thon tín hiệu về không tại điểm đầu và điểm cuối của
Hình 2.9 Cửa sổ Hamming
Trang 27mỗi khung Nếu chúng ta định nghĩa cửa sổ là w(n), 0 nN 1, với N là số mẫu trong mỗi khung, thì kết quả của cửa sổ hoá tín hiệu là:
yt(n)=xt(n) w(n) 0 nN 1 (2.7) Đố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 sau:
1
2 cos(
46 0 54 0 ) (
, 0 nN 1 (2.8)
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:
1, ,2,1,0,
1 0
e x X
N k
N jkn k n
Nói chung, Xn là các số phức Dãy kết quả {Xn} được giải thích như sau:
Tần số không tương ứng với n=0
Các tần số dương 0<f<Fs/2 tương ứng với 1 nN/ 2 1
Các tần số âm –Fs/2<f<0 tương ứng với N/ 2 1 nN 1
Ở đây Fs là tần số lấy mẫu
Kết quả của bước này là phổ (spectrum hay periodogram) của tín hiệu
Căn chỉnh thang tần số Mel (Mel-frequency Warpping)
Như đã đề cập ở trên, các nghiên cứu tâm - sinh - lý đã chỉ ra rằng sự cảm nhận của con người theo tần số đối với âm thanh thuần khiết (pure tone) hay tiếng nói không tuân theo thang tuyến tính Nghiên cứu này dẫn tới việc định nghĩa tần số pitch cảm thụ (subjective pitch) của âm thuần khiết Vì vậy, đối với mỗi âm có tần
số thực tế f đo bằng Hz, có một tần số pitch cảm thụ được đo trên thang Mel Như là một điểm mốc, tần số pitch của âm 1KHz, 40dB trên ngưỡng nghe, được định nghĩa
là 1000Mel Vì vậy, 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 [17]
Mel= 1000*log2(1+f)
Trang 28Một cách tiếp cận để mô phỏng phổ cảm thụ là dùng bộ lọc thông giải được chia đều trên thang Mel Bộ lọc băng này có đáp ứng tần số trong băng thông có dạng tam giác và chia đều theo thang Mel Phổ đã sửa đổi sẽ chứa công suất ra của các bộ lọc này khi đầu vào là S(ω) Số bộ lọc thông giải K thường là khoảng 20
Cepstrum
Trong bước cuối cùng này, 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 Bởi vì, các hệ số phổ trên thang Mel là các số thực, nên ta có thể biến đổi chúng sang miền thời gian bằng cách sử dụng biến đổi Cosin rời rạc (DCT) Ký hiệu các hệ số phổ công suất trên thang Mel nhận được ở bước trước là S~k , k =1,2,…K, có thể tính được MFCC, c~ n như sau:
K k
n S
c
1
)2
1(cos)
~(log
n=1,2,….,L (2.10) trong đó, L là số hệ số MFCC Thông thường, L lấy giá trị từ 9 đến 20
Để ý rằng thành phần thứ nhất, ~c0bị loại khỏi DCT vì nó biểu diễn giá trị năng lượng tổng của tín hiệu vào của một khung Giá trị này mang ít thông tin cụ thể về người nói
2.4.3 Các hệ số Cepstrum của dự đoán tuyến tính (LPCC)
Cũng như MFCC, các hệ số cepstrum của dự đoán tuyến tính (LPCC - Linear Predictive Cepstral Coefficients) là một tập đặc trưng (feature set) tốt và được dùng nhiều trong nhận dạng ngôn ngữ Trước khi xem xét về LPCC, chúng ta đi xem xét phương pháp dự đoán tuyến tính (LPC - Linear Predictive Coding)
2.4.3.1 Phương pháp dự đoán tuyến tính (LPC)
Tư tưởng cơ bản của phân tích dự đoán tuyến tính 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 đó Bằng việc tối thiểu hoá tổng của các bình phương sai số giữa các mẫu hiện tại và các mẫu dự đoán tuyến tính ta có thể xác định được một tập duy nhất các hệ số dự báo Các hệ số dự đoán này chính là các trọng số được sử dụng trong tổ hợp tuyến tính
Trang 29Như ta đã biết trong phần trước, ảnh hưởng kết hợp của phát xạ tại môi, tuyến
âm và sự kích thích thanh môn được biểu diễn như một bộ lọc số biến đổi theo thời gian Hàm truyền đạt của bộ lọc này có dạng:
k
k Z a
z H
1 1
s
1
)()()
Tín hiệu tiếng nói s(n) là tổ hợp tuyến tính của các mẫu tiếng nói trong quá khứ s(n-k) và tín hiệu đầu vào hiện tại u(n) Trong các ứng dụng tiếng nói, u(n) không biết được nên ta bỏ qua Giá trị xấp xỉ của bộ dự đoán ~ n s( )chỉ còn phụ thuộc vào các mẫu ra trong quá khứ:
s
1
)()
a
1
)( (2.14) Bài toán cơ bản của dự đoán tuyến tính là tìm ra tập các hệ số dự đoán {ak} sao cho sai số này là nhỏ nhất Bởi vì, tín hiệu tiếng nói thay đổi theo thời gian, các hệ
số dự đoán được ước lượng từ một đoạn tín hiệu tiếng nói ngắn Phương pháp tiếp cận cơ bản là tìm một tập các hệ số dự đoán để tối thiểu hoá sai số trung bình bình phương trên một đoạn ngắn tín hiệu tiếng nói
Sai số dự đoán trung bình thời gian ngắn được xác định:
n
E
2 1
2
)()
()
Trong đó sn(m) là một đoạn ngắn tín hiệu tiếng nói được chọn ở lân cận của mẫu thứ n, nghĩa là:
s (m)=s(m+n) (2.16)
Trang 30Chúng ta có thể tìm được các giá trị ak để tối thiểu hoá En trong (2.15) bằng cách tính E n /a i 0với i=1, 2, , p Ta nhận được:
k n
s
1
)()()
()
n n
a
1
)0,(),
Giải hệ p phương trình này ta sẽ tìm được p ẩn {ak} Tập các hệ số {ak} này sẽ tối thiểu sai số trung bình bình phương dự đoán cho đoạn tín hiệu sn(m) Sử dụng (2.15) và (2.17) thì sai số dự đoán trung bình bình phương tối thiểu sẽ là:
E
1
),0()
0,0
Chúng ta giả sử đoạn tín hiệu sn(m)=0 ngoài khoảng 0 mN 1 Điều này có thể được biểu diễn như sau:
Trong đó w(m) là cửa sổ có chiều dài hữu hạn (thường hay dùng cửa sổ Hamming), w(m) khác không trong khoảng0 mN 1 Do đó sai số dự đoán,
Trang 31en(m), cho bộ dự đoán bậc p sẽ khác 0 trong khoảng0mN1 p Vì vậy, En có dạng như sau:
p N m n
,(
p N m
n n
)(
)()
,(
k i N m
n n
với1i p, 0k p (2.25)
Gọi Rn(k) là hàm tự tương quan:
)()()
(
1 0
k m s m s k
k N m n
Vì Rn(k) là hàm chẵn nên ta có thể viết được:
|) (|
) , (i k R n i k
n n
a
1
)(
E
1
) ( )
)2(
)1(
)
0(
)2()1(
)2(
)0()
1(
)1(
)1()
0(
2 1
p R
R R
a
a a
R p
R p
R
p R R
R
p R R
R
n
n n
p n
n n
n n
n
n n
n
(2.31)
Trang 32Ma trận bậc p*p với các giá trị của hàm tự tương quan này là một ma trận Toeplitz (ma trận đối xứng, các phần tử thuộc đường chéo bằng nhau) Đặc tính này được khai thác để có được thuật toán hiệu quả khi giải (2.29)
2.4.3.2 LPCC
Tập các hệ số dự đoán ak, 1k p, được coi là tập tham số cơ bản cho phân tích dự đoán tuyến tính Một cách lý tưởng, các véctơ đặc trưng này tương tự đối với một người nói, đồng thời khác nhau đối với các người nói khác nhau Hơn nữa, các véctơ này trở nên bền vững (robust) đối với các môi trường khác nhau (có nhiễu nền
và phương tiện truyền tiếng nói) Thể hiện là chúng ít biến đổi khi điều kiện môi trường thay đổi Vì vậy, người ta đã biến đổi tập các hệ số dự đoán ak này thành một dạng biểu diễn khác của tín hiệu tiếng nói Một trong những dạng hay được dùng đó
là LPCC
Chúng ta đã biết cách tìm cepstrum trực tiếp từ phổ tần số Bây giờ chúng ta sẽ xem xét một cách khác để tìm Cepstrum từ LPC, đó là LPCC Cả 2 phương pháp đều cho kết quả tương tự như nhau trong nhận dạng ngôn ngữ
Giả sử biết tập các hệ số LPC là ak với 1k p Tập N hệ số LPCC luôn luôn được xác định bởi quan hệ đệ quy như sau:
1 1
) 1 (
n k
n k n k n k
c
a c
Trang 33CHƯƠ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
Mô phỏng não người là ước mơ từ lâu của nhân loại Não người là một trong những bộ điều khiển thông minh nhất Với số lượng hơn 15 tỷ nơron thần kinh, não người được coi là cơ chế sinh học phức tạp nhất 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 Não thực hiện xử lí thông tin nhờ mạng nơron và điều khiển mối liên lạc giữa các nơron đó Các nơron không ngừng nhận và truyền thông tin cho nhau Các nơron liên kết tạo thành mạng với hàng chục vạn phần tử hoạt động đồng thời với nhau 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] Việc nghiên cứu nơron trong nhận dạng và điều khiển học là rất thiết thực và đang là vấn đề được quan tâm của nhiều nhà khoa học trên thế giới
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: có thể tính từ nghiên cứu của William 1890 về tâm lý học với
sự liên kết các nơron thần kinh Từ năm 1940 Mc.Culloch và Pitts đã cho biết: nơron có thể được mô hình hoá như thiết bị ngưỡng (giới hạn) để thực hiện các phép tính logic Cùng thời gian đó, Wiener đã xét các mối liên hệ giữa nguyên lý phản hồi trong điều khiển và chức năng bộ não; Ashly đã đề xuất mô hình chức năng bộ não và nguyên lý ổn định của nó
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, đó là mô hình:
- Perceptron của Rosenbatt
- Adaline của Widrow
- Ma trận học của Stinbuck
Trang 34Trong đó, mô hình Perceptron rất được quan tâm vì nguyên lý đơn giản, nhưng nó cũng có hạn chế vì như Minsky và Papert đã chứng minh nó không dùng được cho các hàm logic phức Còn Adaline là mô hình tuyến tính, tự chỉnh, được dùng rộng rãi trong điều khiển thích nghi, tách nhiễu vẫn phát triển và ứng dụng cho đến ngày nay
Giai đoạn ba: có thể được tính là khoảng đầu những năm 80 Những đóng
góp lớn cho mạng nơron trong giai đoạn này phải kể đến Grossberg, Kohonen và Hopfield Đặc biệt, Hopfield đã dự kiến nhiều khả năng tính toán lớn của mạng mà một nơron không có Cảm nhận của Hopfield đã được Rumelhart, Hinton đề xuất thuật toán sai số truyền ngược nổi tiếng để huấn luyện mạng nơron nhiều lớp nhằm giải bài toán mà mạng khác không thực hiện được
Giai đoạn bốn: từ năm 1990 đến nay, nhiều hội nghị, tạp chí khoa học và
chuyên đề đặc biệt về mạng nơron liên tục được tổ chức Hàng loạt các ứng dụng của mạng nơron trong các lĩnh vực: kỹ thuật tính toán, tính toán tối ưu, tin học, viễn thông, sinh học, y học, dự báo, thống kê… đã đi vào áp dụng và
đem lại nhiều hiệu quả đáng khích lệ
Ở trong nước, mạng nơron được nghiên cứu từ những năm 1980, đi vào ứng dụng trong các lĩnh vực tin học viễn thông, đo lường điều khiển… Một số chip
nơron đã được dùng trong kỹ thuật lọc và một số ứng dụng khác
Mạng nơron nhân tạo (ANN - Artificial Neural Network) là hệ thống được xây dựng trên cơ sở sử dụng một vài nguyên tắc cấu tạo giống như trong bộ não con người Mạng nơron nhân tạo có một số lượng lớn các phần tử xử lí liên lạc chặt chẽ
với nhau Các phần tử xử lí này được gọi là các nút mạng Các nút mạng này thường tính toán đồng thời hay còn gọi là tính toán song song và được xắp xếp một cách hài hoà Các hành vi của mạng nơron nhân tạo nói chung cũng giống như trong bộ não
con người Mạng nơron nhân tạo được bắt nguồn từ việc lập mô hình các nơron sinh học trong bộ não
Trang 353.1.1 Mô hình nơron sinh vật
Nơron sinh vật có nhiều dạng khác nhau như: dạng hình tháp, dạng tổ ong, dạng rễ cây Tuy khác nhau về hình dạng, nhưng chúng có cấu trúc và nguyên lý hoạt động chung Một tế bào nơron gồm bốn phần cơ bản [12] (hình 3.1):
Các nhánh và rễ: là các bộ phận nhận thông tin, các đầu nhạy hoặc các
đầu ra của nơron khác bám vào rễ hoặc nhánh Khi các đầu vào từ ngoài này có sự chênh lệch về nồng độ K+
, Na+ hay Cl- so với nồng độ bên trong của nó, thì xẩy ra hiện tượng thấm từ ngoài vào trong thông qua một cơ chế màng thấm đặc biệt Hiện tượng thẩm thấu như vậy tạo nên một cơ chế truyền đạt thông tin với hàng ngàn hàng vạn lối vào trên mỗi nơron sinh vật, ứng với hàng nghìn hàng vạn liên kết khác nhau Mức độ thẩm thấu đặc trưng bởi cơ chế màng tượng trưng bằng một tỷ lệ Tỷ lệ đó được gọi là
tỷ trọng hay đơn giản gọi là trọng (weight)
Thân thần kinh (Soma): chứa các nhân và cơ quan tổng hợp protein Các
ion vào được tổng hợp và biến đổi Khi nồng độ các ion đạt đến một giá trị nhất định, xảy ra quá trình phát xung (hay kích thích) Xung đó được phát ở các đầu ra của nơron Dây dẫn đầu ra xung được gọi là dây thần kinh
Hình 3.1 Mô hình nơron sinh vật
Trang 36 Dây thần kinh (Axon): là đầu ra Đây là phương tiện truyền dẫn tín hiệu,
được cấu tạo gồm các đốt và có thể dài từ vài micro mét đến vài mét tuỳ từng kết cấu cụ thể Đầu ra này có thể truyền tín hiệu đến các nơron khác
Khớp thần kinh (Synape): là bộ phận tiếp xúc của đầu ra nơron với rễ,
nhánh của các nơron khác Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu khi có sự chênh lệch về nồng độ ion giữa bên trong và bên ngoài Nếu độ lệch về nồng độ càng lớn thì việc truyền các ion càng nhiều
và ngược lại Mức độ thẩm thấu của các ion có thể coi là một đại lượng thay đổi tuỳ thuộc vào nồng độ như một giá trị đo thay đổi được gọi là trọng (weight)
3.1.2 Mô hình nơron nhân tạo
Trên cơ sở mô hình nơron sinh vật tổng quát người ta đề xuất mô hình nơron nhân tạo theo ngôn ngữ và ký hiệu chung nhất Mô hình nơron nhân tạo được xây dựng từ ba thành phần chính [12]: (hình 3.2)
- Bộ tổng các liên kết đầu vào;
Trang 37Bộ tổng liên kết
Bộ tổng hợp các liên kết đầu vào của 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)
trong đó:
v(t): tổng tất cả các đầu vào mô tả toàn bộ thế năng tác động ở thân nơron
xk(t): các đầu vào ngoài, k=1, 2,…, m; m là số lượng đầu vào mô tả tín hiệu vào từ các đầu nhạy thần kinh hoặc từ các nơron khác đưa vào
wk: trọng liên kết vào ngoài, là hệ số mô tả mức độ liên kết giữa các đầu vào ngoài tới nơron hiện tại, k=1, 2, , m; m là số đầu vào
y(t): đầu ra nơron, mô tả tín hiệu đưa ra
: hằng số, còn gọi là ngưỡng, xác định ngưỡng kích thích hay ức chế
Phần động học tuyến tính
Đầu vào của phần động học là v(t) Đầu ra của nó u(t) gọi là đầu ra tương tự 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) hay
) (
) ( )
(
s V
s U s
t v dt
t du
dt
t du
Các hàm phi tuyến: phần này sử dụng hàm quan hệ phi tuyến f(.) cho đầu ra y,
để chặn tín hiệu ở đầu ra Các hàm đầu ra thông thường là các hàm có giới hạn
Trang 38ngưỡng phù hợp với đặc điểm đầu ra của nơron sinh vật Hàm dạng này thường gọi
là hàm kích hoạt (activation function) thể hiện kích hoạt hay ức chế của một nơron
i
i t w x f t u f y
1
)())
(
Hàm phi tuyến gồm hai nhóm: nhóm hàm bước nhảy và nhóm hàm liên tục Đặc điểm chung của các hàm này thường tiến tới một giá trị cố định với các giá trị được gán [0, 1] hoặc [-1, 1]
Tuỳ thuộc vào dữ liệu huấn luyện mà chúng ta xây dựng cấu trúc, luật học và hàm kích hoạt thích hợp Một số dạng hàm phi tuyến hay dùng [12] trong bảng 2
Bảng 2 Một số hàm phi tuyến thường được sử dụng trong các mạng nơron
Tên hàm Công thức tương ứng Đặc tính
0 xif1
01
x if
x if
11
11
x if
x if
x
x if
Trang 39Một số dạng khác cũng được sử dụng như: dạng hàm Gauss, hàm logarit, hàm
mũ, hàm arctg…
Tóm lại: mạng nơron nhân tạo là một cấu trúc xử lí thông tin phân tán dạng
song song với các đặc trưng sau:
Nơron là một mô hình toán học dựa trên cấu trúc nơron sinh học
Mạng nơron gồm một số lượng lớn các nơron được kết nối qua lại chặt chẽ với nhau
Những trọng số trên mối liên kết qua lại của các nơron chứa các tin tức
Một nơron có thể đáp ứng theo kích thích đầu vào, và đáp ứng của nó hoàn toàn phụ thuộc vào các thông số bên trong
Mạng nơron có khả năng học, nhớ và tổng quát hoá từ các dữ liệu đã học bằng cách điều chỉnh các trọng số lối vào
Các đáp ứng của mạng nơron thể hiện khả năng tính toán lớn
Do các đặc trưng trên, nên mạng nơron nhân tạo thường còn được gọi là mô hình xử lí phân tán song song hoặc mô hình tự cấu trúc hoặc hệ thống Neuromorphic Tốc độ tính toán của mỗi nơron là chậm (khoảng cỡ bằng 1/6 tốc độ cổng Logic) Nhưng khả năng tính toán của mạng nơron nhanh hơn tốc độ tính toán của máy tính bởi vì mạng nơron tính toán song song cho nên chỉ cần qua một số chu
kì tính, thì mạng đã cho kết quả của phép tính một hàm số phi tuyến phức tạp bất kì Đây là một ưu điểm quan trọng để ứng dụng mạng nơron trong các hệ xử lí, tính toán
3.2 Các mô hình mạng nơron và luật học
Cũng như các nơron sinh vật, các nơron nhân tạo có thể liên kết với nhau để tạo thành mạng nơron nhân tạo 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 nơron nhân tạo khác nhau [18] Có nhiều cách để phân loại các lớp mạng