Mô hình Markov ẩn là mô hình thống kê phổ biến để mô hình chuỗi dữ liệu biến đổi nhiều theo thời gian. Trong việc xử lý ngôn ngữ tự nhiên NLP ( Natural Language Processing), HMM đã được ứng dụng với những thành công to lớn trong việc giải quyết các vấn đề như trích thuộc tính của tiếng nói, phân khúc các cụm từ
Hidden Markov Model I TÓM TẮT Mô hình Markov ẩn mô hình thống kê phổ biến để mô hình chuỗi liệu biến đổi nhiều theo thời gian Trong việc xử lý ngôn ngữ tự nhiên NLP ( Natural Language Processing), HMM ứng dụng với thành công to lớn việc giải vấn đề trích thuộc tính tiếng nói, phân khúc cụm từ II GIỚI THIÊU Mô hình Markov ẩn công cụ thống kê mạnh việc mô hình hóa chuỗi sinh , hay nói cách khác chuỗi mà đặc trưng chuỗi trạng thái sinh chuỗi quan sát khác Mô hình Markov ẩn ứng dụng nhiều lĩnh vực xử lý tín hiệu nói chung, xử lý tiếng nói nói riêng Và ứng dụng thành công NLP ( Natural Languages Processing ) như: part-of-speech tagging, phrase chunking, extracting target information from document - Định nghĩa mô hình Markov ẩn là: - S tập hợp tất trạng thái: - V tập hợp tất quan sát được: - Q chuỗi trạng thái xảy ra, có chiều dài T - Và tương ứng với chuỗi quan sát quan sát - A bảng chuyển đổi, chứa giá trị xác suất chuyển đổi từ trạng thái i sang trạng thái j, xác suất chuyển đổi độc lập với thời gian: - B bảng xác suất quan sát, chứa giá trị xác suất quan sát k từ trạng thái i, độc lập với thời gian: - Π bảng xác suất đầu tiên: Ta giả sử mô hình Markov ẩn thỏa mãn điều kiện sau: Thứ 1: mô hình Markov first-order, trạng thái phụ thuộc vào trạng thái liền trước nó, đặc trưng cho tính nhớ mô hình Thứ 2: quan sát thời điểm t, phụ thuộc vào trạng thái tại, độc lập với trạng thái quan sát khứ III EVALUATION Cho mô hình Markov ẩn chuỗi quan sát O, ta tính P(O| λ), xác xuất xuất chuỗi quan sát cho mô hình Makov ẩn Từ ta đánh giá chất lượng mô hình dự đoán chuỗi O cho trước chọn mô hình thích hợp Xác suất chuỗi quan sát O cho chuỗi trang thái Q tính bởi: Xác suất chuỗi trạng thái Q ứng mô hình Markov ẩn là: Từ ta tính xác suất chuỗi quan sát O cho HMM là: Chúng ta tính trực tiếp xác xuất chuỗi O, nhiên lượng phép tính cần dùng lớn Do đó, sử dụng phương pháp tốt nhận biết lượng tính toán dư, sau đệm chúng để đạt mục tiêu giảm độ phức tạp tính toán Ta thực đệm biểu đồ mắt cáo cho bước tính, ta tính giá trị đệm (ký hiệu α)tại trạng thái cách tổng tất trạng thái trước α lúc xác suất cua chuỗi O mức trạng thái thời điểm t Sau ta điền đầy đủ thông số α vào biểu đồ mắt cáo Tổng giá trị cột cuối xác suất chuỗi quan sát Các bước thực thuật toán sau: Initialisation: (Điền cột đầu tiên): Industion: (Điền cột lại) Termination: (Tính xác xuất chuỗi O) Hình biểu diễn phép tính bước từ trạng thái thứ t sang trạng thái thứ t+1 Bằng phương pháp sử dụng α để đệm, ta giảm lượng tính toán từ phép tính IV DECODING Mục đích việc decoding xác đinh chuỗi trạng thái mà có khả đưa chuỗi quan sát cho trước nhiều Một giải pháp cho vấn đề sử dụng thuật toán Viterbi Thuật toán Viterbi dạng khác thuật toán biểu đồ mắt cáo, tương tự thuật toán Forward, ngoại trừ chọn giá trị xác suất chuyển đổi lớn bước, thay tính tổng chúng Đầu tiên, phải xác định: - Thuật toán Viterbi thực sau: Initialisation: Recursion: Bước Recursion thuật toán Viterbi Termination: Optimal state sequence backtracking: Bước Backtracking thuật toán Viterbi Sau ta xét ví dụ dự báo thời tiết để hiểu rõ thuật toán Viterbi The Viterbi Algorithm: Thuật toán Viterbi để xác định chuỗi thời tiết xảy Có loại thời tiết: nắng , mưa , sương mù Và ta giả thiết loại thời tiết xảy diễn ngày, không thay đổi vào khoảng thời gian ngày Bây giả thiết bạn bị nhốt phòng nhiều ngày, bạn hỏi thời tiết bên Và có vài chứng bạn có việc người bạn đem bữa ăn đến cho bạn có mang dù bị khóa hay không Bạn thời tiết bạn Vào ba ngày bạn quan sát thấy người bạn sau: Tìm xác suất lớn chuổi thời tiết sử dụng thuật toán Viterbi (giả thiết xác suất ưu tiên vào ngày 1) Tính giá trị ban đầu ( Initialisation ): Các công thức tính tương tự bước Hình 5: Thuật toán Viterbi để tìm chuỗi thời tiết xảy Ta tìm thấy đường dẫn đến trạng thái trời nắng thời điểm n= 2 Đệ quy (Recursion ): Chúng ta tính khả tới trạng thái xảy với từ tất trạng thái trước, chọn có khả Các công thức tính bước Tức hình vẽ tìm đường dẫn mà dẫn đến likelihood lớn xét likelihood tốt thời điểm trước bước chuyển tiếp từ Rồi nhân với likelihood cho trạng thái Và kết tìm thấy đường dẫn tốt Likelihood tính δ, trạng thái trước ψ Xem hình Thực tương tự với trạng thái trời : n=3: Cuối cùng, thu đường dẫn kết thúc xảy trạng thái mô hình Xem hình Hình 6: Thuật toán Viterbi để tìm chuỗi thời tiết có khả xảy n= Hình 7: Thuật toán Virtebi tìm chuổi thời tiết xảy Termination: Con đường xảy xác định, bắt đầu cách tìm trạng thái cuối chuổi xảy Backtracking: Chuỗi trạng thái tốt đọc từ vector ψ Xem hình Theo cách chuỗi thời tiết xảy là: V LEARNING Cho trước hệ thống mẫu trình, đánh giá thông số mô hình Makov ẩn λ = (A, B, π) cho chũng thể trình cách tối ưu Có phương pháp thông thường để thực hiện, tùy thuộc vào dạng mẫu ví dụ cho trước, training có giám sát training không giám sát Nếu mẫu ví dụ có đầu vào đầu ta thực training có giám sát, với đầu vào chuỗi quan sát đầu chuỗi trạng thái Nếu mẫu ví dụ có đầu vào ta training không giám sát cách “đoán” thông số mô hình để đạt chuỗi quan sát cho Trong ta thảo luận training có giám sát, training không giám sát với thuật toán Baum -Wetch trình bày [6] Giải pháp đơn giản để thiết lập mô hình Makov ẩn có thông số λlà sử dụng loạt mẫu ví dụ Tiêu biểu cho phương pháp giải pháp PoS tagging Ta mô tả nhóm: nhóm tag, tương đương nhóm trạng thái HMM nhóm word, tương đương nhóm quan sát HMM Để xác định thông số mô hình ta dùng đánh giá khả cực đại (MLE – Maximum Likelihood Estimation) từ chuỗi quan sát chuỗi trạng thái tương ứng Ma trận chuyển đổi tính: số lần chuyện trạng thái từ sang số lần xuất Ma trận quan sát tính bởi: số lần quan sát ứng với số lần xuất Thông số π cho bởi: Trong thực tế tính toán thông số ta cần biện pháp làm mượt để tránh số đếm tăng hiệu mô hình với liệu không xuất mẫu ví dụ dùng training