HMM đƣợc bắt đầu xây dựng và cơng bố từ những năm 1960, là mơ hình tốn học về thống kê [3][4][19][31]. Kể từ năm 1980 cho đến nay, mơ hình này đƣợc bắt đầu nghiên cứu để ứng dụng trong lĩnh vực nhận dạng. Do đạt đƣợc độ chính xác cao và khả năng thay đổi cấu trúc dễ dàng nên mơ hình này ngày càng đƣợc sử dụng rộng rãi trong nhiều lĩnh vực, trong đĩ bao gồm:
Lĩnh vực nhận dạng lời nĩi hay nhận dạng ký tự quang học Quy trình ngơn ngữ tự nhiên
Tin sinh học và hệ gen học.
o Dự đốn các vùng mang mã (khung đọc mở) trên một trình từ gene
o Xác định các họ gene hoặc họ protein liên quan
o Mơ phỏng cấu trúc khơng gian của protein từ trình tự amino acid
o Lĩnh vực nhận dạng tiếng nĩi, tin sinh học và xử lý ngơn ngữ tự nhiên. HMM là mơ hình máy trạng thái hữu hạn (probabilistic finite state machine) với các tham số biểu diễn xác suất chuyển trạng thái và xác suất sinh dữ liệu quan sát tại mỗi trạng thái.
Đây là một mơ hình thống kê, thành phần của mơ hình bao gồm tập N trạng thái, các trạng thái dịch chuyển qua lại với nhau với một xác suất nhất định, tập xác suất di chuyển này đƣợc gọi là ma trận dịch chuyển trạng thái. Mơ hình hoạt động khi cho chuỗi dữ liệu đầu vào gọi là chuỗi quan sát, đây là dữ liệu nhận dạng từ thực thể cần nhận dạng trong ứng dụng nhận dạng tiếng nĩi. Mỗi quan sát cĩ một xác xuất xuất hiện trên mỗi trạng thái, tập hợp các xác xuất này gọi là phân phối xác xuất của quan sát. Ngồi ra cịn cĩ tập là xác suất quan sát đầu tiên tại trạng thái mỗi trạng thái. Khi cĩ chuỗi quan sát đƣợc đƣa vào mơ hình, từ đầu ra ở các trạng thái sẽ rút ra đƣợc các tham số ẩn trong chuỗi quan sát (Juang and L.R. Rabiner, 1991). Hình 3.1 là một ví dụ HMM gồm 3 trạng thái.
Hình 3.1: Một ví dụ mơ hình HMM gồm 3 trạng thái Trong đĩ:
x: các trạng thái trong mơ hình Markov a: các xác suất chuyển tiếp
b: các xác suất đầu ra y: các dữ liệu quan sát.
Trong mơ hình HMM, các trạng thái đƣợc xem là bị ẩn đi bên dƣới dữ liệu quan sát sinh ra do mơ hình. Quá trình sinh ra, chuỗi dữ liệu quan sát trong HMM thơng qua một loạt các bƣớc chuyển trạng thái xuất phát từ một trong các trạng thái bắt đầu và dừng lại ở một trạng thái kết thúc. Tại mỗi trạng thái, một thành phần của chuỗi quan sát đƣợc sinh ra trƣớc khi chuyển sang trạng thái tiếp theo, cứ nhƣ vậy, quá trình chuyển tiếp lại làm tƣơng tự, quan sát một dữ liệu khác và cứ tiếp tục nhƣ vậy cho tới một trạng thái đích cuối cùng đƣợc đƣa ra. Kết hợp các dữ liệu thu đƣợc thành một tập dữ liệu của các trạng thái:
x = {x1, x2, …, xn} – chuỗi các trạng thái ẩn
và xác suất phân bố trên các biểu hiện đầu ra cĩ thể trong các từ vựng quan sát: y = {y1, y2, …, yn} – chuỗi các dữ liệu quan sát
Trong bài tốn nhận dạng thực thể, tƣơng ứng mỗi trạng thái cĩ thể xem là một trong các nhãn B_PER, B_LOC, I_PER, O_TIME...và dữ liệu quan sát là các từ trong câu. Mặc dù các lớp này khơng sinh ra các từ, nhƣng mỗi lớp đƣợc gán cho một từ bất kì cĩ thể xem nhƣ là sinh ra từ này theo một cách thức nào đĩ. Vì thế ta cĩ thể tìm ra chuỗi các trạng thái (chuỗi các lớp loại thực thể) mơ tả tốt nhất cho chuỗi dữ liệu quan sát (chuỗi các từ) bằng cơng thức :
P(x|y) =
Mơ hình HMM cĩ thể đƣợc mơ tả dƣới dạng một đồ thị cĩ hƣớng nhƣ sau :
Hình 3.2: Đồ thị mơ tả mơ hình HMM.
Ở đây, xi là trạng thái tại thời điểm t = i trong chuỗi trạng thái x, yi là dữ liệu quan sát đƣợc tại thời điểm t = i trong chuỗi y. Quá trình tìm ra chuỗi trạng thái tối ƣu mơ tả tốt nhất chuỗi dữ liệu quan sát cho trƣớc cĩ thể đƣợc thực hiện bởi một kĩ thuật lập trình quy hoạch động sử dụng thuật tốn Viterbi [8]. Dƣới đây là một ví dụ đồ thị mơ hình HMM cho nhận dạng thực thể tiếng Việt:
Hình 3.3: Một ví dụ cụ thể áp dụng mơ hình HMM vào bài tốn NER.