Trong luận văn này, tôi sẽ giớithiệu một số kỹ thuật tiêu biểu trong nhận dạng tiếng nói, bao gồm kỹ thuật trích chọnđặc trưng MFCC, các kỹ thuật nhận dạng bằng mô hình Markov ẩn và bằng
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đàm Tiến Dũng
NGHIÊN CỨU CÁC KỸ THUẬT TRONG NHẬN
DẠNG TIẾNG NÓI)
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS Lê Anh Cường
HÀ NỘI - 2010
Trang 3LỜI CẢM ƠN
Đầu tiên, tôi xin bày tỏ sự biết ơn sâu sắc tới TS Lê Anh Cường (công tác tạitrường ĐH Công Nghệ - ĐH Quốc gia Hà Nội), người đã tận tình theo sát hướng dẫntôi trong suốt quá trình thực hiện luận văn này
Tiếp theo, tôi xin dành lời cảm ơn chân thành tới TS Lê Sỹ Vinh (công tác tạitrường ĐH Công Nghệ - Đại học Quốc Gia Hà Nội), người đã nhiệt tình giúp đỡ, chotôi những lời khuyên hữu ích để hoàn thiện luận văn
Tôi xin gửi lời cảm ơn đến cô Lương Chi Mai và anh Vũ Tất Thắng (công tác tạiviện Khoa học và Công nghệ Việt Nam), hai người đã sẵn lòng giải đáp khúc mắc vàchia sẻ kinh nghiệm cho tôi khi gặp bế tắc trong quá trình nghiên cứu
Tôi cũng xin gửi lời cảm ơn đến người đồng nghiên cứu với tôi, bạn Hà ThanhTùng, người đã sát cánh cùng tôi vượt qua rất nhiều khó khăn trong thời gian hoànluận văn này
Cuối cùng, tôi xin bày tỏ sự biết ơn vô hạn tới cha mẹ tôi, các anh chị tôi và cùngvới bạn bè đã luôn ở bên cạnh khuyến khích, động viên, giúp đỡ tôi vượt qua nhữngkhó khăn trong quá trình thực hiện luận văn
Hà Nội, tháng 05 năm 2010
Sinh viên
Đàm Tiến Dũng
Trang 4Nhận dạng tiếng nói là một lĩnh vực nghiên cứu quan trọng và có nhiều ứng dụngtrong cuộc sống Cho đến nay, có rất nhiều nghiên cứu về nhận dạng tiếng nói đã đượcđưa ra, và kỹ thuật đều có điểm mạnh, điểm yếu riêng Trong luận văn này, tôi sẽ giớithiệu một số kỹ thuật tiêu biểu trong nhận dạng tiếng nói, bao gồm kỹ thuật trích chọnđặc trưng MFCC, các kỹ thuật nhận dạng bằng mô hình Markov ẩn và bằng đối sánhmẫu Song song với việc nghiên cứu lý thuyết, tôi cũng xây dựng một hệ thống nhậndạng tiếng nói thử nghiệm dựa trên các lý thuyết đó, với mục đích là kiểm tra tínhđúng đắn và so sánh các kỹ thuật trong nhận dạng tiếng nói Cuối cùng, thông quanghiên cứu này, tôi xin đề xuất ra một số phương hướng phát triển, nghiên cứu tiếptheo, cùng với những ứng dụng của nghiên cứu vào các bài toán trong thực tế.
Trang 5MỤC LỤC
Trang 6DANH MỤC BẢNG BIỂU
Trang 7DANH MỤC HÌNH ẢNH
Trang 8BẢNG KÝ HIỆU VIẾT TẮT
DTW Dynamic Time Warping So sánh thời gian độngHMM Hidden Markov Model Mô hình Markov ẩn
IPA International Phonetics Alphabet Bảng chữ cái ngữ âm quốc tếMFCC Mel frequency cepstral coefficients Các hệ số phổ tần số MelNNs Neural Networks Các mạng nơ ron
Trang 9Chương 1 MỞ ĐẦU
Trong chương này, tôi sẽ nêu lên tính cần thiết, mục đích cùng với những ý nghĩakhoa học, tính thực tiễn của đề tài nghiên cứu này
1.1. GIỚI THIỆU BÀI TOÁN NHẬN DẠNG TIẾNG NÓI
Trong cuộc sống hàng ngày, tiếng nói tự nhiên chính là phương tiện giao tiếp đơngiản, hiệu quả và thông dụng nhất giữa người với người Tiếng nói đã trở nên quáquen thuộc đối với con người ngay từ khi mới lọt lòng Tầm quan trọng của tiếng nóitrong cuộc sống thường ngày là không thể phủ nhận Tuy nhiên, ngày nay khi mà máymóc có ở khắp nơi xung quanh chúng ta thì loại hình giao tiếp cơ bản nhất giữa conngười và máy móc lại là các dòng lệnh, các chỉ thị thông qua việc gõ bàn phím Cácdòng lệnh đó thường rất máy móc và khó nhớ đối với con người, đồng thời thao tácbằng tay cũng thường chậm hơn so với việc sử dụng tiếng nói Hãy thử tưởng tượng,cuộc sống sẽ trở nên dễ dàng thế nào nếu chúng ta có thể giao tiếp với máy móc bằngtiếng nói tự nhiên Khi đó, chúng ta có thể soạn thảo văn bản bằng tiếng nói, quay sốđiện thoại bằng tiếng nói, hay tìm kiếm thông tin trên Internet bằng giọng nói chứkhông qua thao tác bằng tay
Nhận dạng tiếng nói, đứng trên quan điểm học máy là một bài toán nhận dạngmẫu phức tạp Mục đích của bài toán này là phân lớp tín hiệu tiếng nói đầu vào thànhmột dãy liên tiếp các mẫu đã được học sẵn Trong đó một mẫu có thể là một từ, hoặcmột âm vị (đơn vị nhỏ nhất có thể phân biệt được cấu tạo nên từ) Về cơ bản, bài toánnhận dạng tiếng nói được chia ra thành các loại sau[19]:
Nhận dạng tiếng nói rời rạc/liên tục
Nhận dạng tiếng nói phụ thuộc người nói/không phục thuộc người nói
Nhận dạng tiếng nói với bộ từ vựng nhỏ/bộ từ vựng lớn
Lĩnh vực nhận dạng tiếng nói đang ngày càng được quan tâm hơn trong nhữngnăm gần đây Nhiều lý thuyết đã được xây dựng, như kỹ thuật trích chọn đặc trưngLPC hay MFCC, các kỹ thuật nhận dạng như mô hình Markov ẩn (HMM), các mạng
nơ ron (NNs) hay so sánh thời gian động (DTW) Bàng dưới đây chỉ ra kết quả đạtđược của một số hệ thống nhận dạng tiếng nói hiện thời trên thế giới [7]:
Trang 10Bảng 1: Kết quả của một số hệ thống nhận dạng tiếng nói trên thế giới
Hệ thống Lượng từ vựng Tỉ lệ lỗi (%)
Wall street Journal read speech 5.000 3Wall street Journal read speech 20.000 3
Conversation Telephone Speech (CTS) 64.000+ 20
Mặc dù có rất nhiều lý thuyết đã được đưa ra, tuy nhiên những gì đạt được vẫn làchưa đủ để tiếng nói có thể thay hoàn toàn những dòng lệnh trong giao tiếp giữa ngườivới máy Tuy nhiên, những thành tựu đạt được đó cũng đã giúp con người giải quyếtkhá nhiều bài toán trong cuộc sống Một số mày điện thoại di động đã có thể cho phépquay số tự động khi người dùng đọc tên người cần gọi trong danh bạ vào Con người
đã có thể điều khiển sự hoạt động của rô bốt bằng giọng nói, mặc dù những chỉ thị đóthường ngắn gọn và nằm trong một tập hữu hạn các chỉ thị đã được huấn luyện
1.2. MỤC ĐÍCH CỦA NGHIÊN CỨU
Ngày nay, hướng nghiên cứu chủ đạo trong lĩnh vực nhận dạng tiếng nói là các
kỹ thuật để tách biệt hệ thống nhận dạng tiếng nói ra khỏi sự phụ thuộc vào người nói,
bộ từ vựng hay môi trường Ở Việt Nam hiện nay, các nghiên cứu về nhận dạng tiếngnói không nhiều, và thường tập trung vào các tập từ vựng nhỏ nhằm giải quyết một sốbài toán thực tế nhất định
Dựa trên những lý thuyết đã được xây dựng, nghiên cứu này được thực hiệnnhằm đạt được những mục đích sau đây:
Tìm hiểu các kỹ thuật trong nhận dạng tiếng nói, trong đó tập trung vào hai phầnchính là kỹ thuật trích chọn đặc trưng MFCC và kỹ thuật nhận dạng sử dụng môhình Markov ẩn
Tự cài đặt hệ thống nhận dạng tiếng nói trên tập số đếm tiếng Việt từ 0 đến 9bằng mô hình Markov ẩn và bằng phương pháp đối sánh mẫu, dựa trên phươngpháp trích chọn đặc trưng MFCC Sau đó so sánh các kết quả đạt được để đưa rakết luận về các phương pháp trên
Đề ra những định hướng phát triển tiếp theo sau nghiên cứu này
Trang 11Chương 2 TIẾNG NÓI VÀ SỰ BIỂU DIỄN TIẾNG NÓI
Các hệ thống nhận dạng như nhận dạng chữ viết tay hay nhận dạng tiếng nói đều
cố gắng mô phỏng tốt nhất quá trình mà vật cần nhận dạng được hình thành trong thực
tế Chính vì vậy ,trước khi đi vào tìm hiểu các kỹ thuật trong nhận dạng tiếng nói,chúng ta cần nắm được một số kiến thức về tiếng nói như cách một tiếng nói được tạothành hay cách biểu diễn tiếng nói
2.1. ÂM VỊ VÀ SỰ TẠO THÀNH TIẾNG NÓI
Trong ngữ âm học, âm vị là một đơn vị phân đoạn nhỏ nhất của tiếng nói đượcdùng để tạo nên các từ có nghĩa Nói cách khác, âm vị là đơn vị nhỏ nhất có thể phânbiệt của tiếng nói Như vậy, một từ được phát âm ra thực chất là sự kết hợp của mộttập các âm vị liên tiếp nhau
Tiếng nói của con người được hình thành nhờ sự kết hợp của các bộ phận trong
bộ máy phát âm như lưỡi, họng, môi, răng, mũi… Khi những bộ phận đó ở những vịtrí khác, các âm thanh khác nhau sẽ được tạo thành Chính vì vậy, chúng ta hoàn toàn
có thể phân biệt âm này với âm khác trên cơ sở đánh giá cách kết hợp của các cơ quantrong bộ máy phát âm, hay vị trí của chúng khi phát âm
2.2. PHIÊN ÂM 1
Tổ chức ngữ âm quốc tế (International Phonetic Association), đã phát minh rabảng chữ cái ngữ âm quốc tế (International Phonetic Alphabet), viết tắt là IPA, dựatrên các đặc tính của âm vị và sự tạo thành tiếng nói IPA là một hệ thống chuẩn các
ký hiệu bằng chữ latin được dùng để biểu diễn tiếng nói, trong đó mỗi ký hiệu tươngứng với một âm vị Việc biểu diễn tiếng nói bằng các ký hiệu này được gọi là phiên
âm Ví dụ, từ PEN trong tiếng Anh sẽ được phiên âm là /p ε n/ Phiên âm, nói cách
khác, chính là sự biểu diễn của tiếng nói dưới dạng văn bản
Tuy nhiên, trong máy tính, các ngôn ngữ lập trình không thể biểu diễn được hếtcác ký hiệu latin, vì vậy các ký hiện trong IPA sẽ được biểu diễn bằng một ký tự hoặcmột nhóm ký tự ASCII viết liền nhau Trong tiếng Anh Mỹ (American English), bảngchữ cái ARPABET đã được sử dụng để biểu diễn phiên âm, trong đó mỗi ký tự hoặcnhóm ký tự ASCII trong ARPABET sẽ tương ứng với một ký hiệu latin trong IPA.Ví
dụ, từ PEN khi sử dụng ARPABET sẽ được phiên âm là /p eh n/.
1 Tham khảo Chương 6, “Speech and Language Processing” [7] và Chương 5, “Pattern Recognition in
Speech and Language Processing”[4]
Trang 122.3. BIỂU DIỄN TÍN HIỆU TIẾNG NÓI TRONG MÁY TÍNH
Tín hiệu âm thanh nói chung, và tiếng nói nói riêng có thể được mô phỏng dướidạng đồ thị có trục hoành là thời gian, trục tung là cường độ Giá trị tại một điểm trên
đồ thị sẽ là cường độ của âm thanh tại một thời điểm nhất định
Tín hiệu âm thanh ngoài đời thực là tín hiệu liên tục, hay tín hiệu tương tự(Analog signal) Trước khi thực hiện bất cứ bước xử lý nào, tín hiệu âm thanh cầnđược số hóa Việc này được thực hiện tự động bởi các thiết bị thu âm, bằng cách lấygiá trị của tín hiệu đầu vào tại các thời điểm khác nhau, hay còn gọi là lấy mẫu Tínhiệu âm thanh sau khi đã được lấy mẫu trở thành tín hiệu số, là tín hiệu rời rạc
Hình 1: Số hóa tín hiệu âm thanh
Như vậy, một tín hiệu âm thanh bất kỳ khi đã được đưa vào máy tính, là một tậpcác mẫu liên tiếp nhau, mỗi mẫu là giá trị biên độ của tín hiệu tại một thời điểm nhấtđịnh Một tham số quan trọng trong việc lấy mẫu tín hiệu âm thanh là tần số lấy mẫu,
Fs, tức là số mẫu được lấy trong một giây Để có thể đo lường chính xác, cần phải lấy
ít nhất 2 mẫu trong một chu kỳ của tín hiệu tương tự đầu vào Như vậy, tần số lấy mẫuphải lớn hơn 2 lần tần số cao nhất của tín hiệu âm thanh đầu vào Tuy nhiên, trên thực
tế tai người chỉ có thể nhận biết được các âm thanh có tần số nhở hơn 10.000Hz, do đótần số lấy mẫu là 20.000Hz là đủ cho việc nhận dạng với độ chính xác cao Trong lĩnhvực nhận dạng tiếng nói qua điện thoại, tần số lẫy mẫu chỉ cần là 8.000Hz vì chỉ cócác tín hiệu có tần số nhỏ hơn 4.000Hz được truyền đi bởi điện thoại Các thiết bị thu
âm thì thường có tần số lấy mẫu là 16.000Hz
Trang 13Chương 3 KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG MFCC TRONG
NHẬN DẠNG TIẾNG NÓI 2
Trong các bài toán nhận dạng mẫu nói chung, phương pháp trích chọn đặc trưngđóng vai trò quyết định trong sự chính xác của bài toán Chính vì vậy, lựa chọn mộtphương pháp trích chọn đặc trưng tốt là điều cần được quan tâm đặc biệt Trongchương này, tôi sẽ giới thiệu một phương pháp trích chọn đặc trưng phổ biến và hiệuquả trong nhận dạng tiếng nói, trích chọn đặc trưng MFCC
3.1. ĐỊNH NGHĨA
Trích chọn đặc trưng đối với nhận dạng tiếng nói là việc tham số hóa chuỗi tínhiệu âm thanh đầu vào, biến đổi tín hiệu âm thanh thành một chuỗi các vector đặctrưng, mỗi vector đặc trưng bao gồm n giá trị thực (n phụ thuộc vào cách trích chọnđặc trưng) [6] Hiện nay, có rất nhiều phương pháp trích chọn đặc trưng như:LPC(Linear predictive coding), AMDF(Average magnitude different function),MFCC(Mel-frequency cepstral coefficients), hoặc kết hợp của các phương pháp trên.Phần tiếp theo sẽ giới thiệu cụ thể về phương pháp trích chọn đặc trưng MFCC
Trong nhận dạng tiếng nói, kỹ thuật trích chọn đặc trưng MFCC là phương phápphổ biến nhất MFCC là viết tắt của Mel-frequency cepstral coefficients Kỹ thuật nàydựa trên việc thực hiện biến đổi để chuyển dữ liệu âm thanh đầu vào về thang đo tần
số Mel, một thang đo diễn tả tốt hơn sự nhạy cảm của tai người đối với âm thanh
Kỹ thuật trích chọn đặc trưng này gồm các bước biến đổi liên tiếp như trong
hình 2, trong đó đầu ra của bước biến đổi trước sẽ là đầu vào của bước biến đổi sau.
Đầu vào của quá trình trích chọn đặc trưng này sẽ là một đoạn tín hiệu tiếng nói đãđược rời rạc hóa Chi tiết của từng bước xử lý sẽ được giới thiệu trong phần tiếp theođây.3
2 Một số nội dung trong chương này được nghiên cứu cùng sinh viên Hà Thanh Tùng trong khóa luận
“Nghiên cứu các đặc trưng trong nhận dạng tiếng nói tiếng Việt”, năm 2010.
3 Tham khảo Chương 9, “Speech and Language Processing” [7]
Trang 14Hình 2: Các bước trích chọn đặc trưng MFCC
3.2.1 Pre-emphasis
Đây là bước đầu tiên của trích chọn đặc trưng MFCC, được thực hiện bằng cáchtăng cường độ của những tần số cao lên nhằm làm tăng năng lượng ở vùng có tần sốcao Việc tăng cường độ của vùng tần số cao lên làm cho thông tin rõ ràng hơn với môhình âm học và tăng độ chính xác của việc nhận dạng từng mẩu âm
3.2.2 Windowing
Để nâng cao độ chính xác của nhận dạng tiếng nói, mỗi một từ trong đoạn hộithoại sẽ được phân tích thành các âm vị, và hệ thống sẽ nhận dạng từng âm vị Do đó,các đặc trưng cần phải được trích chọn trên từng âm vị, thay vì trên cả đoạn hội thoạidài Windowing là việc cắt đoạn tín hiệu âm thanh đầu vào ra thành các mẩu tín hiệu
có thời lượng nhỏ, gọi là các frame Mỗi frame này sau đó sẽ được nhận dạng như một
âm vị Một lý do khác cho thấy sự cần thiết của việc windowing là vì tín hiệu âm thanhthay đổi rất nhanh, do đó các thuộc tính như biên độ, chu kỳ sẽ không ổn định Khi tínhiệu âm thanh được cắt ra thành những đoạn nhỏ thì ở mỗi đoạn, có thể coi tín hiệu đó
là ổn định, các đặc trưng của tín hiệu là không đổi theo thời gian
Để thực hiện việc này, chúng ta sử dụng một cửa sổ (window) chạy dọc tín hiệu
âm thanh và cắt ra các đoạn tín hiệu nằm trong cửa sổ đó Một cửa sổ được định nghĩabằng các thông số:
Frame size: độ rộng của cửa sổ, cũng là độ lớn của frame tín hiệu sẽ được cắt ra.Frame shift: bước nhảy của cửa sổ, là độ dài đoạn mà cửa sổ sẽ trượt để cắt raframe tiếp theo
Trang 15Hình 3: Cắt tín hiệu bằng cửa sổ trượt (window)
Mỗi frame sau đó sẽ được nhân với một hệ số, giá trị của hệ số này tùy thuộc vàotừng loại cửa sổ
Trong đó x[n] là giá trị của mẫu thứ n, y[n] là giá trị của mẫu thứ n sau khi nhân với hệ số, w[n] là hệ số cho mẫu thứ n.
Loại cửa sổ đơn giản nhất là cửa sổ Rectangular, giá trị của các hệ số w[n] được
cho bởi công thức sau:
Một loại cửa sổ khác thông dụng hơn trong trích chọn đặc trưng MFCC là cửa sổ
Hamming Trong loại cửa sổ này, giá trị của tín hiệu sẽ giảm dần về 0 khi tiến dần ra
2 biên của frame Biểu thức hệ số của cửa sổ hamming là:
3.2.3 DFT (Dicrete fourier transform)
Bước biến đổi tiếp theo là thực hiện biến đổi Fourier rời rạc đối với từng mẩu tínhiệu đã được cắt ra Qua phép biến đổi này, tín hiệu sẽ được đưa về không gian tần số Công thức của biến đổi Fourier là:
Trong đó x[n] là giá trị của mẫu thứ n trong frame, X[k] là một số phức biểu diễn
cường độ và pha của một thành phần tần số trong tín hiệu gốc, N là số mẫu trong mộtframe Thông thường người ta sử dụng biến đổi FFT (Fast fourier transform) thay vì
Trang 16DFT Biến đổi FFT nhanh hơn nhiều so với biến đổi DFT, tuy nhiên thuật toán này đòihỏi giá trị N phải là một lũy thừa của 2.
Vì X[k] là một số phức nên nó sẽ được lấy giá trị tuyệt đối:
3.2.4 Mel filter-bank and log
Kết quả của quá trình biến đổi Fourier thể hiện năng lượng của tín hiệu ở nhữngdải tần số khác nhau Tuy nhiên, tai của người lại không có sự nhạy cảm như nhau đốivới mọi dải tần số Do đó việc mô hình hóa tính chất này của tai người trong quá trìnhtrích chọn đặc trưng làm tăng khả năng nhận dạng của hệ thống Trong mô hình tríchchọn đặc trưng MFCC, tần số sẽ được chuyển sang thang đo tần số mel theo côngthức:
Trong đó f là tần số ở thang đo thường, fmel là tần số ở thang đo mel Người ta sửdụng các băng lọc để tính các hệ số mel Sử dụng bao nhiêu băng lọc thì sẽ cho ra bấynhiêu hệ số mel, và các hệ số mel này sẽ là đầu vào cho quá trình tiếp theo của tríchchọn đặc trưng MFCC Hình vẽ sau biểu diễn mô hình các băng lọc trong thang đo tần
số bình thường và thang đo mel [11]:
Hình 4: tương quan giữa thang đo tần số thường và tần số Mel
Với M băng lọc, các hệ số Mel được tính như sau:
Trong đó H m [k] là trọng số cho giá trị thứ k trong frame, đối với hệ số thứ m, và
được tính bằng công thức [13][16]:
Trang 173.2.5 DCT (Discrete consinse transform)
Bước tiếp theo trong quá trình trích chọn đặc trưng là thực hiện biến đổi cosinerời rạc DCT Sau khi thực hiện biến đổi Fourier thì tín được chuyển về không gian tần
số Việc lọc tần số bằng các băng lọc Mel giúp cô đọng mỗi giải tần số về một hệ sốthực Các hệ số này thể hiện các đặc trưng về tần số cơ bản, xung âm thanh Tuynhiên, các đặc trưng này không quan trọng đối với việc phân biệt các âm khác nhau.Thay vào đó, các đặc trưng về bộ máy phát âm như vị trí của khoang miệng, khoangmũi, lưỡi… rất quan trọng cho hệ thống nhận dạng Việc thực hiện biến đổi consine sẽlàm tách biệt các đặc trưng về bộ máy phát âm và nguồn âm Trên thực tế, chỉ cókhoảng 12 hệ số đầu tiên sau khi thực hiện biến đổi DCT là cần thiết cho nhận dạngtiếng nói Biểu thức của biến đổi DCT như sau [14]:
3.2.6 Feature extraction
Các hệ số mel thu được sau khi thực hiện biến đổi DCT sẽ được lấy làm đặctrưng Thông thường, chỉ 12 hệ số đầu tiên được lấy làm đặc trưng cho nhận dạng vìcác hệ số này là đủ để nhận ra sự khác biệt khi hai âm khác nhau được phát âm
Đặc trưng thứ 13 là đặc trưng về năng lượng của tín hiệu Đặc trưng năng lượng
có thể được trích chọn ngay sau bước windowing, và được tính bằng công thức:
Những đặc trưng vừa trích chọn được gọi là các đặc trưng gốc Với 13 đặc trưnggốc đó, chúng ta thêm vào 13 đặc trưng delta, thể hiện tốc độ thay đổi của tín hiệu giữacác frame Các đặc trưng delta được tính bằng công thức:
Trong đó c t [n] là đặc trưng thứ n trong 13 đặc trưng gốc của frame thứ t, d t [n] là
đặc trưng delta thứ n của frame thứ t
Để tăng độ chính xác của nhận dạng, có thể thêm 13 đặc trưng double delta, thểhiện gia tốc thay đổi của tín hiệu giữa các frame Các đặc trưng double delta được tínhnhư các đặc trưng delta, khi coi các đặc trưng delta là đặc trưng gốc
Như vậy chúng ta đã trích chọn được tổng cộng là 39 đặc trưng Mỗi frame saukhi biến đổi sẽ cho ra một vector đặc trưng 39 chiều, mỗi chiều là một giá trị thực Cácvector này sẽ được sử dụng trực tiếp cho các quá trình huấn luyện và nhận dạng
Trang 19Chương 4 KỸ THUẬT NHẬN DẠNG TIẾNG NÓI SỬ DỤNG MÔ HÌNH
MARKOV ẨN
Nếu coi phương pháp trích chọn đặc trưng là điều kiện cần cho sự chính xác của
hệ thống nhận dạng tiếng nói, thì điều kiện đủ chính là mô hình nhận dạng Trongphần này tôi sẽ giới thiệu chi tiết về kỹ thuật nhận dạng tiếng nói sử dụng mô hìnhMarkov ẩn, một mô hình đã được áp dụng thành công trong một số phần mềm như bộcông cụ nhận dạng tiếng nói HTK4 hay bộ nhận dạng tiếng nói Sphinx [17]
4.1. GIỚI THIỆU MÔ HÌNH MARKOV ẨN
Lý thuyết về nhận dạng tiếng nói đang ngày càng phát triển, tuy nhiên một hệthống nhận dạng tiếng nói không bị phụ thuộc vào người nói hay các điều kiện môitrường phải rất lâu nữa mới có thể đạt được Có nhiều phương pháp cho nhận dạngtiếng nói đã được đưa ra như: mạng neural (Neural networks), DTW (Dynamic TimeWarping), mô hình Markov ẩn (Hidden Markove Model)… Trong đó, kỹ thuật nhậndạng tiếng nói sử dụng mô hình Markov ẩn là một hướng tiếp cận tiềm năng, đặc biệt
là đối với nhận dạng tiếng nói liên tục với bộ từ vựng lớn
Mô hình Markov ẩn đã được nghiên cứu từ rất lâu, và công trình nghiên cứuthành công đầu tiên về HMM được thực hiện bởi Baum vào cuối những năm 60, đầunhững năm 70 HMM là một phương pháp học máy dựa trên thống kê, trong đó hệthống được mô hình bởi một tập các trạng thái (hay nhãn) ẩn và các xác suất chuyểntrạng thái Với mỗi một chuỗi các quan sát đầu vào, mô hình sẽ tìm ra một chuỗi cáctrạng thái có xác suất cao nhất tương ứng với chuỗi quan sát đó
Một HMM được xác định bởi các yếu tố sau:5
Q = q1q2 qT: là tập các trạng thái
A = a11a12…a1N…aN1…aNN: là ma trận xác suất chuyển trạng thái, trong đó mỗi giá
trị a ij biểu diễn xác suất chuyển từ trạng thái i sang trạng thái j và
O = o1o2…oT : là chuỗi gồm T quan sát.
B = bi(ot): là tập các likelihood của các quan sát, hay còn được gọi là xác suất sinh, trong đó mỗi giá trị b i(ot) biểu diễn xác suất của quan sát ot được sinh ra từ
trạng thái i.
4 Website: http://htk.eng.cam.ac.uk
5 Tham khảo Chương 6, “Speech and Language Processing” [7]
Trang 20q0, qend: là các trạng thái bắt đầu và trạng thái kết thúc 2 trạng thái là luôn có ởbất kỳ HMM nào và không liên hệ với chuỗi quan sát.
Xác suất chuyển tới một trạng thái tiếp theo chỉ phụ thuộc vào trạng thái hiện tại
Xác suất chuyển trạng thái là không phụ thuộc vào thời gian
Xác suất của một quan sát đầu ra o t chỉ phụ thuộc vào trạng thái đã sinh ra quan
sát q t, không phụ thuộc vào bất kỳ trạng thái hay quan sát nào khác
Có ba vấn đề chính cần được đề cập đến khi sử dụng một hệ thống HMM, đólà[2]:
Ước lượng xác suất mô hình:
Cho trước: mô hình λ = (A, B, �), cùng chuỗi quan sát O = o1o2…oT,
Cần làm: tính xác suất của chuỗi quan sát với mô hình đó P(O| λ)
Nhận dạng
Cho trước: mô hình λ = (A, B, �), cùng chuỗi quan sát O = o1o2…oT,
Trang 21 Cần làm: tìm dãy trạng thái tối ưu Q = q 1 q2 …qT có khả năng cao nhất
sinh ra chuỗi quan sát O, với mô hình cho trước đó
4.2.1 Ước lượng xác suất mô hình 6
Vấn đề cần quan tâm đầu tiên khi sử dụng HMM là việc ước lượng xác suất của
mô hính Đó là xác suất đoán nhận một dãy quan sát của một mô hình λ = (A, B, �) cho trước, ký hiệu là P(O|λ) Ta có các công thức:
Trong đó, p là số khả năng có thể có của dãy Q = q 1q2 qT, đoán nhận dãy quan
sát O bởi mô hình λ Xét một ví dụ đơn giản, một HMM gồm có 3 trạng thái và chuỗi quan sát O = o 1o2o3o4o5 gồm 5 quan sát Hình dưới đây mô tả mô hình này, trong đóhàng dọc là các trạng thái, hàng ngang là các quan sát, một quan sát sẽ được đoán nhận
bởi một trong 3 trạng thái Xét một trường hợp, dãy Q 1 = q1q1q2q3q3 được thể hiện bởi
đường đi nét đậm trong hình vẽ dưới đây.
6 Tham khảo “The Concepts of Hidden Markov Model in Speech recognition Systems”[2] và “A Tutorial
on Hidden Markov Models and Selected Applications in Speech Recognition”[12]