Lý thuyết về âm vị

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình markov ẩn và ứng dụng xây dựng hệ thống nhận dạng tiếng nói (Trang 34)

Âm vị là đơn vị nhỏ nhất của ngữ âm, có mang chức năng phân biệt nghĩa và nhận diện từ. Ngoài ra, nó cũng có thể được hiểu là đơn vị nhỏ nhất của cơ cấu âm thanh ngôn ngữ.

a. Chức năng của âm vị

Các âm vị trên nguyên tắc phải có sự khác nhau, ít nhất về một đặc trưng nào đó. Chính nhờ sự khác biệt này mà các âm vị có thể tạo ra sự khác biệt về hình thức âm thanh của các hình vị và từ, tạo nên những tín hiệu khác biệt đối với sự thụ cảm của con người. Theo đó, âm vị có 2 chức năng cơ bản : chức năng khu biệt vỏ âm thanh của hình vị và từ, và chức năng cấu tạo nên những thành tố

của đơn vị có nghĩa.

b. Tách âm vị và xác định âm vị trên chuỗi sóng âm

Số lượng từ trong mỗi ngôn ngữ đều rất lớn. Xây dựng hệ nhận dạng theo từ có khả năng phân biệt số lượng từ lớn đó quả là một thách thức. Thay vào đó, người ta nghĩ ra cách xây dựng hệ nhận dạng dựa trên hướng tiếp cận âm vị. Theo đó, chỉ cần nhận dạng khoảng vài chục âm vị sẽ có thể nhận dạng được toàn bộ từ của một ngôn ngữ (theo thống kê, số âm vị trong một ngôn ngữ dao động trong khoảng 20 đến 60). Và đây cũng chính là hướng tiếp cận đúng đắn cho nhận dạng tiếng nói tiếng Việt. Tuy nhiên, người ta lại gặp một khó khăn khác, đó là tách âm vị và xác định âm vị trên chuỗi sóng âm : Cho một dãy tín hiệu tiếng nói đã thu sẵn. Nhiệm vụ của chúng ta là tìm ra ranh giới của tất cả các âm vị và cho biết âm vị đó là âm vị gì. Chưa nói đến khả năng thực hiện công việc đó tự động bằng máy mà ngay cả con người vẫn có thể bị nhầm lẫn khi tách âm vị bằng tay do ranh giới giữa các âm vị là mập mờ hay chồng lấp lên nhau. Cả khi 2 âm vị thuộc 2 âm tiết khác nhau, nếu đứng kề nhau vẫn có thể xảy ra sự chồng lấp. Vì thế, công việc tách âm vị trên chuỗi sóng âm chỉ mang tính tương đối.

Trong một số nghiên cứu nhận dạng tiếng Việt, một phương pháp tách và nhận dạng âm vị tự động dùng mô hình HMM kết hợp mô hình ngôn ngữ để nhận dạng âm vị Triphone (âm vị mang 3 thông tin, thông tin về nó, thông tin về âm vị đứng trước, âm vị đứng sau) được nêu ra. Phương pháp này cơ bản giải quyết tốt công việc học và tách âm vị một cách tự động bằng máy. Kết quả tách âm vị được dùng cho quá trình nhận dạng tiếng nói tiếng Việt và đã thu được kết quả khả quan.

CHƯƠNG 2

TỔNG QUAN VỀ MÔ HÌNH MẠNG MARKOV ẨN 2.1. Mô hình Markov ẩn

Mô hình Markov được ứng dụng nhiều trong lĩnh vực nhận dạng giọng nói, trong lĩnh vực sinh học như nhận dạng gene hoặc phân loại protein; xử lý tín hiệu, xử lý hình ảnh và các ứng dụng khác liên quan đến chuỗi chuyển tiếp hoặc kết hợp các thành phần, dữ kiện. Trong lĩnh vực điện, mô hình Markov được sử dụng như là 1 công cụ dự báo giá điện năng với các dữ liệu liên quan. Một trong những thông số đặc trưng của mô hình Markov là các trạng thái ‘state’. Tùy thuộc vào việc xây dựng mô hình Markov với các đối tượng khác nhau thì sẽ có các ‘state’ khác nhau. Mô hình Markov có những hạn chế trong nhiều ứng dụng như các giá trị chuyển ‘state’ là các giá trị áp đặt sẵn, không thay đổi trong khi đối tượng, dữ liệu quan sát luôn biến đổi theo thời gian. Để khắc phục tình trạng này, chúng ta sử dụng mô hình Hidden Markov (Hidden Markov Model – HMM).

Mô hình Markov ẩn (Hidden Markov Model –HMM) là mô hình thống kê dùng để mô hình hóa các loại tín hiệu theo thời gian, với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này. Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu. Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất được sử dụng rất thành công trong những ứng dụng về nhận dạng đặc biệt là nhận dạng tiếng nói. Cấu trúc bên trong của HMM không phải dựa vào các kiến thức về tiếng nói, nhưng nó lại có khả năng mô hình hóa tiếng nói tiếng nói theo thời gian dựa trên cấu trúc được ràng buộc bằng toán học chặt chẽ. Thực tế nghiên cứu trong và ngoài nước cho thấy, trong lĩnh vực nhận dạng tiếng nói mô hình Markov ẩn cho kết quả nhận dạng tốt hơn các phương phápkhác.

Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiện đầu ra có thể. Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái.

Hình 2.1: Minh họa mô hình Markov trong nhận dạng tiếng nói với 5 trạng thái và chèn sp

Mô hình Markov ẩn là kết quả mở rộng của mô hình Markov, ở đó mỗi trạng thái S1, S2,…, SN trong mô hình Markov được gắn với một hàm phát xạ quan sát (observation distribution). Trong mô hình Markov ẩn 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ó quá trình ngẫu nhiên sinh ra một quan sát. 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, mặt khác dãy các trạng thái này là không thấy được nên mô hình Markov dạng này được gọi là mô hình Markov ẩn [2].

Một mô hình Markov ẩn gồm có:

N: Số trạng thái của mô hình. Các trạng thái của mô hình Markov ẩn thường được ký hiệu bằng S= { S1 , S2 ,…,SN), trạng thái ở thời điểm t của mô hình ký hiệu là qt với qt thuộc vào tập S.

M: Số các ký hiệu quan sát được (Observation symbol) ứng với một trạng thái của mô hình Markov ẩn. Trong nhận dạng tiếng nói số các ký hiệu quan sát là kích thước của bảng từ vựng của mô hình. Tập các ký hiệu quan sát được biểu diễn bằng V= {v1, v2,…,vM }, ký hiệu quan sát ở thời điểm t kí hiệu là ot với ot

thuộc vào tập V.

A={ aij}: Tập xác suất chuyển trạng thái (state transition probability distribution). 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.

aij=P(qt+1 = sj | qt = si)

B={bj(k)}: Tập xác suất phát xạ quan sát được trong các trạng thái (observation symbol probability distribution in state). bj(k) là xác suất quan sát của ký hiệu vk trong trạng thái j tại thời điểm t.

bj(k)=P(vk tại thời điểm t / qt =Sj)

Πi=P[qt = Sj], i thuộc vào tập [1, N] : Là tập xác suất khởi đầu (initial state distribution). Πi là xác suất để trạng thái i được chọn tại thời điểm khởi đầu t=1:

Πi = P (q1 = S1) với :

Với các giá trị A, B, , M, N thích hợp, một mô hình Markov ẩn sinh ra chuỗi các quan sát: O= {O1, O2,…}

Trong đó Oi lấy một trong các giá trị ở tập các ký hiệu quan sát V. Hoạt động của mô hình Markov ẩn (HMM) được mô tả tóm tắt qua các bước như sau:

Bước 1: Chọn một trang thái khởi đầu q1 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 Oi = vk tương ứng với xác suất quan sát tại trạng thái Si: bi(k).

Bước 4: Chuyển sang trạng thái mới qt+1 =Sj tương ứng với xác suất chuyển trạng thái aij.

Hình 2.2: Mô hình Markov ẩn với sáu trạng thái.

Trong hình minh họa trên là một ví dụ về mô hình HMM với 6 trạng thái, trong đó có trạng thái 1 là trạng thái khởi đầu và trạng thái 6 là trạng thái kết thúc. Tập quan sát gồm có sáu quan sát O={o1, o2, o3, o4, o5, o6} được sinh ngẫu nhiên bởi các trạng thái từ 2 đến 5. Mỗi trạng thái có thể chuyển sang trạng thái bên phải nó hay chuyển sang chính nó trừ trạng thái khởi đầu chỉ có thể chuyển sang trạng thái bên phải nó là trạng thái 2.

Thực tế, để biểu diễn một mô hình HMM người ta thường dùng bộ ký pháp =(A, B, ), trong đó A, B và gọi là các tham số (parameters) của mô hình Markov ẩn .

2.2. Các bài toán cơ bản của mô hình Markov ẩn

2.2.1. Bài toán 1

Với dãy quan sát O={o1, o2,…} và mô hình Markov ẩn =(A, B, ) đã được huấn luyện, chúng ta cần tí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à tập các mô hình Markov ẩn. Kết quả của tính toán trên sẽ giúp 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.

2.2.2. Bài toán 2

Giải quyết vấn dề tìm ra phương án tối ưu cho tập trạng thái q={q1, q2,…} theo một tiêu chuẩn nào đó.

Đây chính là quá trình đi tìm phần ẩn của mô hình Markov, tức là tìm dãy trạng thái q tối ưu. Bài toán thường được áp dụng vào bài toán gán nhãn cưỡng bức dữ liệu huấn luyện.

2.2.3. Bài toán 3

Cho chuỗi quan sát O và mô hình Markov ẩn , ta phải hiệu chỉnh các tham số A, B, của mô hình sao cho xác suất có điều kiện P(O/ ) là tối ưu.

Trong bài toán này chúng ta điều chỉnh tham số của mô hình Markov ẩn sao cho nó có thể miêu tả chính xác nhất các quan sát đã được biết trước đó. Dãy quan sát dùng để điều chỉnh tập tham số của mô hình gọi là tập dữ liệu huấn luyện (training data). Với bài toán nhận dạng nói chung và nhận dạng tiếng nói nói riêng, đây là vấn đề quan trọng, nó cho phép điều chỉnh các tham số để học các dữ liệu từ các hiện tượng thực như tiếng nói.

2.3. Các thuật toán cơ bản

2.3.1. Thuật toán tiến (forward)

Hàm forward được định nghĩa như sau:

t(i) =P(o1, o2,……,ot, qt = si / )

Trong đó: t(i) được gọi là toán tử tiến là xác suất của chuỗi quan sát từng phần o1, o2,……,ot và trạng thái Si tại thời điểm t với điều kiện cho mô hình Markov ẩn .

Toán tử tiến t(i) có thể tính được theo nguyên tắc đệ quy như sau:

Bước 1: Khởi tạo

1(i) = ibi (O1), 1 i ≤ N (với N là số trạng thái của mô hình Markov ẩn).

Bước 2: Đệ quy

Với t ∈ [1, T-1], j ∈ [1, N] ta có:

Bước 3: Kết thúc

P(O/λ) = T(i).

2.3.2. Thuật toán lùi (Backward)

Gọi βt(i) là toán tử lùi, βt(i) là xác suất của chuỗi quan sát từng phần Ot+1, Ot+2, … OT và trạng thái Si tại thời điểm t với điều kiện mô hình Markov ẩn λ. Khi đó hàm Backward được định nghĩa như sau:

βt(i) = P(Ot+1, Ot+2, … OT /qt =Si, λ).

Toán tử lùi βt(i) có thể được tính theo các bước đệ quy như sau:

Bước 1: Khởi tạo

Với t=T ta có βT(i) = 1, 1 i ≤ N (với N là số trạng thái của mô hình Markov ẩn).

Bước 2: Tính các βt(i) bằng phương pháp đệ quy

Với t ∈ [ T-1, 1], i∈ [1, T] ta có:

βt(i)= bj(Ot+1) βt+1+(i).

2.3.3. Các giải pháp giải quyết các bài toán cơ bản

a) Giải quyết bài toán 1

Để giải quyết bài toán 1 ta sử dụng thuật toán tiến (Forward). Áp dụng thuật toán Forward thì độ phức tạp là N2*T, so với phương pháp tính trực tiếp với độ phức tạp 2T*NT, thì ta thấy rằng thuật toán Forward đã giúp giảm đáng kể độ phức tạp. Ví dụ, với trường hợp số trạng thái của mô hình là N=5 và T=100 thì khi sử dụng thuật toán forward máy tính chỉ phải thực hiện khoảng 3000 phép nhân so với 1072 phép nhân của phương pháp trực tiếp.

b) Giải quyết bài toán 2

Trong bài toán này, chúng ta phải tìm dãy trạng thái q=(q1, q2,…,qT) tối ưu tương ứng với một dãy quan sát O=(o1, o2,…,oT) và mô hình =(A, B, ) cho trước để P(O,S/ ) là lớn nhất.

Để giải quyết vấn đề trên, người ta thường dùng thuật toán tìm kiếm Viterbi. Đây là thuật toán dựa trên phương pháp lập trình động (Dynamic Programing method) để tìm ra một dãy các trạng thái tối ưu duy nhất.\

Với một mô hình Markov ẩn, vấn đề tìm ra được chuỗi các tham số A, B và để xác suất P(O/λ) lớn nhất là vấn đề rất quan trọng và khó khăn. Thực tế, chúng ta chưa có phương pháp tối ưu để giải quyết vấn đề này. Tuy nhiên, chúng ta có thể dùng thuật toán Baum-Welch để điều chỉnh bộ tham số cho phù hợp.

Xét toán tử ξt(i,j) là xác suất của hệ thống ở trạng thái i tại thời điểm t và trạng thái j tại thời điểm t+1 với điều kiện có chuỗi quan sát O và mô hình Markov ẩn λ. ξt(i,j) = P(qt = si,qt+1= sj /O, λ) khi đó: ξt(i,j)= γt(i) = Kết hợp γt(i) và ξt(i,j), ta có:

= xác suất của hệ thống ở trạng thái I tại thời điểm t=1, tức là bằng γt(i).

ij= ; j=

Khi đó, = ( , , ) là mô hình đã được ước lượng lại.

2.4. So sánh các loại mô hình Markov ẩn

Có nhiều cách phân loại mô hình Markov ẩn, trong đó người ta thường phân biệt dựa vào đặc trưng của ma trận chuyển trạng thái Aij, có thể phân loại thành mô hình Markov ẩn có liên kết đầy đủ và mô hình Markov ẩn trái phải. Hoặc là dựa vào tính chất của hàm mật độ xác suất quan sát Bj(k), người ta phân loại thành mô hình Markov ẩn rời rạc (DHMM), mô hình Markov ẩn liên tục (CDHMM), mô hình Markov ẩn bán liên tục (SCHMM):

- DHMM: Đối với mô hình Markov ẩn rời rạc, không gian vector đặc trưng của tín hiệu tiếng nói được chia vào hữu hạn các vùng bằng một thủ tục phân nhóm chẳng hạn như lượng hóa vector(VQ).

- CDHMM: Lỗi lượng tử hóa vector đã được loại trừ bằng cách sử dụng hàm mật độ liên tục thay vì lượng hóa vector. Trong CDHMM phân bố xác suất trên không gian vector âm học được mô hình hóa trực tiếp sử dụng hàm mật độ xác suất liên tục chẳng hạn như hàm trộn của các hàm Gauss.

-SCHMM: Mô hình này cung cấp chi tiết dữ liệu mô hình hóa thông qua việc chia sẻ các tham số. Mô hình này là một sự kết hợp giữa DHMM và CDHMM.

CHƯƠNG 3

XÂY DỰNG HỆ THỐNG NHẬN DẠNG TIẾNG VIỆT

3.1. Tổng quan về HTK (HMM Tool Kit)

3.1.1. Giới thiệu hệ thống

HTK là một công cụ nhận dạng mạnh mẽ do Steve Young và các đồng nghiệp của ông nghiên cứu và phát triển. HTK tích hợp hầu hết các kĩ thuật về mô hình Markov ẩn, các kĩ thuật về xử lý và nhận dạng tiếng nói. Ngoài ra, nó còn cho phép ta xây dựng các mô hình ngôn ngữ, cú pháp văn phạm để quá trình nhận dạng tiếng nói đạt hiệu quả cao hơn. Hình 4.1 và 4.2 thể hiện tổng quan các chức năng và cấu trúc của bộ công cụ HTK.

Hình 3.3. Các công cụ và chức năng trong HTK

Với mục đích nghiên cứu ứng dụng của HTK trong xử lý và nhận dạng tiếng nói, luận văn sẽ trình bày chi tiết về các cấu trúc trong HTK có liên quan tới nhận dạng tiếng nói trong phần tiếp theo.

3.1.2. Mô hình các cấu trúc tập tin cơ bản khai báo HMM và MFCC cho nhận

dạng tiếng nói

a/ Cấu trúc tập tin vector HTK được minh họa qua cấu trúc sau:

Struct Feature VectorFile {

long nSameples; // số mẫu trong tập tin long sampPeriod;

// tần số mẫu =tần số cửa sổ (tính theo 100ns) Short int sampSize;

FeatureVector sample [nSample]; }

Với parmKind được định nghĩa như sau: 0: WAVEFORM (sample wave)

1: LPC (Linear Prediction Filter Coeficients)

2: LPREFC (Linear Prediction Reflection Coeficients) 3: LPCEPSTRA (LPC Cepstral Cofeicients)

4: MFCC (Mel-Frequency Ceptral Cofeicients) 5: FBANK (Log Mel-Filter bank chanel outputs) 6: USER (User defined sample kind)

Ngoài ra, HTK còn hỗ trợ các dạng tập tin cho phép ta rút trích các Vector đặc trưng khác nhau như sau:

_E: Đặc trưng dạng năng lượng

_D: Trong tập Vector đặc trưng có các hệ số đạo hàm cấp 1 _A: Trong tập Vector đặc trưng có các hệ số đạo hàm cấp 2 _0: Có hệ số Ceptral thứ 0 (đầu tiên).

Hình 3.4 dưới đây là một ví dụ về sự phân bố các tham số trong một số vector

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình markov ẩn và ứng dụng xây dựng hệ thống nhận dạng tiếng nói (Trang 34)

Tải bản đầy đủ (PDF)

(61 trang)