Mô hình Markov ẩn – HMM được mở rộng từ khái niệm mô hình Markov bằng cách mỗi trạng thái được gắn với một hàm phát xạ quan sát. Ngoài quá trình ngẫu nhiên chuyển trạng thái, tại mỗi trạng thái còn có một quá trình ngẫu nhiên sinh ra một quan sát. Như vậy, mô hình Markov ẩn có một quá trình ngẫu nhiên kép, trong đó có một quá trình ngẫu ngiên không quan sát được.
Tập các quan sát O được sinh ra bởi dãy các trạng thái S1, S2,…, SN của mô hình không thấy được, vì vậy mô hình này được gọi là mô hình Markov ẩn.
Một mô hình Markov ẩn được đặc trưng bởi các thành phần cơ bản sau:
− N: Số trạng thái (state) của mô hình Markov. Các trạng thái thường được ký hiệu bằng S = {1, 2,…,N} và trạng thái của mô hình tại thời điểm t được ký hiệu là qt.
− M: Số ký hiệu quan sát được ứng với một trạng thái, đây chính là kích thước của bảng từ vựng của mô hình. Các ký hiệu quan sát được biểu diễn bằng V =
{v1, v2, …,vM).
− Xác suất chuyển trạng thái A = {aij}, trong đó aij là xác suất để trạng thái j
xuất hiện tại thời điểm t + 1 khi trạng thái iđã xuất hiện tại thời điểm t. 1 ( | ) ij t t a =P q+ = j q =i vớiaij ≥0 ; 1≤i j N, ≤ (2.26)
− B = {bj(k)}: phân phôi xác suất các ký hiệu quan sát, với bj(k) là xác suất quan sát vkở trạng thái j tại thời điểm t.
bj(k) = P(ot=vk |qt = j) với 0; 1 ; 1, 2,..., j b k k M j N ( ) ≥ ≤ ≤ = (2.27) − Xác suất trạng thái khởi đầu π = {π1, π2,…,πN}, trong đó πi là xác suất để trạng thái iđược chọn là thời điểm khởi đầu t = 1: 1 ( ) i P q i π = = với π ≥i 0 ; 1≤ ≤i N (2.28) Với các giá trị thích hợp A, B, π, M, N một mô hình Markov ẩn được dùng để
sinh ra một dãy các quan sát O = {o1, o2, o3,….}.
Hoạt động của mô hình HMM được mô tả như sau:
− Bước 1: Chọn trạng thái khởi đầu q1= i tương ứng với xác suất trạng thái khởi đầu π.
− Bước 2: Gán t = 1
− Bước 3: Chọn ot = vk tương ứng với xác suất quan sát tại trạng thái i.
− Bước 4: Chuyển sang trạng thái mới qt+1 = j tương ứng với xác suất chuyển trạng thái aij.
− Bước 5: Gán t = t + 1 và quay lại bước 3 nếu t <T, nếu không kết thúc.
Người ta thường dùng bộ ba λ = (A, B, π) để biểu diễn một mô hình Markov ẩn.
A, B và πđược gọi là các tham số của mô hình λ.
Hình 2. 22. Ví dụ một mô hình Markov ẩn sáu trạng thái
Hình 2.22 cho ta thấy một ví dụ về một mô hình Markov ẩn gồm có sáu trạng thái, trong đó có một trạng thái khởi đầu và một trạng thái kết thúc. Sáu quan sát {o1, o2,…,o6} được sinh ra từ bốn trạng thái từ 2 đến 5. Mỗi trạng thái có thể chuyển sang trang thái bên phải nó, hoặc chuyển sang chính nó. Riêng trạng thái khởi đầu chỉ có một khả năng duy nhất là chuyển sang trạng thái thứ 2, tức là a12 = 1
Để áp dụng mô hình Markov ẩn cho việc xử lý nhận dạng tiếng nói, ta phải đi giải quyết ba bài toán cơ bản như sau:
− Bài toán 1: với dãy quan sát O = {o1, o2,…,oT} và mô hình Markov ẩn λ=(A, B, π) đã được huấn luyện, chúng ta cần xác định xác suất P(O|λ). Đây là bài toán nhận dạng khi có một dãy các quan sát cho trước và một tập các mô hình Markov ẩn, việc tính toán các P(O|λ) sẽ cho chúng ta tìm ra được mô hình Markov ẩn có xác suất P(O|λ) tương ứng lớn nhất. Trong hệ thống nhận dạng tiếng nói otlà vector đặc trưng tiếng nói ngõ vào tại thời điểm t.
− Bài toán 2: với dãy quan sát O = {o1, o2,…,oT} và mô hình Markov ẩn λ=(A, B, π) làm thế nào chúng ta có thể tìm được dãy trạng thái tương ứng q = {q1, q2, q3,….} tối ưu nhất theo một tiêu chuẩn nào đó. Đây là bài toán tìm phần ẩn của mô hình Markov, tức là dãy trạng thái q. Bài toán này thường được sử
dụng trong quá trình gán nhẫn cưỡng bức dữ liệu huấn luyện.
− Bài toán 3: làm thế nào chúng ta có thểđiều chỉnh các tham sốA, B, πđể có
được xác suất P(O|λ) lớn nhất. Đây là bài toán mà chúng ta phải điều chỉnh các tham số của mô hình Markov ẩn để nó có thể miêu tả một cách chính xác các quan sát đã được biết trước đó. Dãy các quan sát dùng để điều chỉnh các tham sốđược gọi là tập dữ liệu huấn luyện. Đây là khâu cơ bản trong một bài toán nhận dạng, nó cho phép điều chỉnh các tham số để mô hình học các dữ
liệu từ các hiện tượng thực như tiếng nói.
Để thiết kế hệ thống nhận dạng tiếng nói gồm các từ rời rạc, trước tiên chúng ta phải thiết kế HMM gồm N trạng thái riêng biệt cho mỗi từ của bộ từ vựng V. V chính là số từ trong bộ từ vựng. Nhiệm vụ này được giải quyết bằng cách tìm lời giải cho bài toán thứ 3. Sau đó sử dụng lời giải cho bài toán thứ 2 chúng ta có thể phân chia mỗi từ
trong các chuỗi huấn luyện thành các trạng thái để đảm bảo sự chính xác của mô hình nhận dạng, từđó cải thiện khả năng mô hình hóa các chuỗi từđược nói của mô hình. Cuối cùng từ chưa biết cần nhận dạng được thực hiện bằng cách sử dụng lời giải cho bài toán thứ nhất để xác định điểm số cho mỗi mô hình từ dựa trên chuỗi quan sát
được thử nghiệm, từđó chọn ra từ có điểm số mô hình cao nhất.
Việc lựa chọn loại mô hình, kích thước và các ký tự quan sát để thực thi mô hình HMM rất phức tạp, chúng phụ thuộc vào tín hiệu được mô hình. Khó khăn chủ yếu
huấn luyện quá nhỏ thì sau khi ước lượng ta sẽ có bi(k) = 0, nghĩa là mô hình sẽ tạo ra xác suất bằng 0 cho bất kỳ chuỗi quan sát nào. Vì vậy, một mô hình quan sát có đáng tin cậy hay không là tùy thuộc và chuỗi huấn luyện. Một giải pháp khả thi là giảm bớt kích thước mô hình, hay nói cách khác chính là giảm bớt số lượng các trạng thái, số
lượng ký tự trên một trạng thái,…