Buộc các âm ba

Một phần của tài liệu Nghiên cứu một số phương pháp trong nhận dạng tiếng nói (Trang 88 - 93)

CHƢƠNG 4: XÂY DỰNG HỆ THỐNG NHẬN DẠNG BẰNG HMM

4.2.6 Buộc các âm ba

Hình 4.7. Quá trình buộc các âm ba bằng Hhed

Các tham số có thể được buộc vào nhaụ Khi một nhóm các tham số được buộc vào nhau, các giá trị của các tham số này được dùng chung bởi tất cả các thành viên và được biểu diễn bởi chung một macro trong tệp định nghĩa cấu hình của mô hình

Markov ẩn. Trong quá trình huấn luyện dữ liệu tương ứng với mỗi thành viên của một nhóm sẽ được dùng chung để tính toán các tham số cho cả nhóm. Chính vì vậy việc buộc các tham số sẽ có ích với các mô hình của các âm vị mà số lần xuất hiện của chúng trong tập dữ liệu không đủ. Khi đó việc buộc các mô hình này với nhau sẽ cung cấp đủ dữ liệu để huấn luyện và làm quá trình huấn luyện trở nên hiệu quả hơn. Trong hầu hết các hệ thống nhận dạng số lượng từ vựng lớn, phương pháp buộc tham số đều được áp dụng hiệu quả.

Các âm ba Hhed Âm ba đã được buộc Herest Âm ba đã được huấn luyện Tied list Treẹhed Tệp thống kê stats

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn

Như đã trình bày ở phần trên, các mô hình của các âm ba triphone được tạo bằng cách sao chép từ các mô hình của các âm đơn tương ứng. Sau đó các âm ba được huấn luyện lại bằng Herest. Số lượng các âm ba được sinh từ các âm đơn là rất lớn (từ vài chục đến vài trăm âm ba ứng với mỗi âm đơn), và do đó dữ liệu dùng để huấn luyện các âm ba cũng bị nhanh chóng giảm. Một số âm ba sẽ không còn đủ dữ liệu dùng để huấn luyện. Một phương pháp khắc phục vấn đề này là dùng phương pháp buộc. Thông thường các trạng thái ở giữa của các mô hình sẽ được buộc vào nhau do các trạng thái giữa là trạng thái ít bị ảnh hưởng nhất của ngữ cảnh xung quanh. Ví dụ câu lệnh để buộc các trạng thái này là:

TI “ieS3” {*-ie+*.state[3]} TI “aS3” {*-a+*.state[3]}

Câu lệnh đầu buộc tất cả các trạng thái giữa (trạng thái 3, trong mô hình có 5 trạng thái) của các âm ba được sao chép từ âm đơn là nguyên âm đôi /ie/. Câu lệnh sau buộc tất cả các trạng thái giữa của các âm ba tương ứng với âm vị /a/.

Tuy nhiên việc định nghĩa rõ ràng các trạng thái buộc trên không thường xuyên hiệu quả và các trạng thái bên trái và bên phải vẫn thiếu dữ liệu để huấn luyện. Một giải pháp tốt hơn hay được sử dụng đó là dùng phương pháp nhóm vùng (clustering). Có hai cơ chế được sử dụng: lái dữ liệu (data driven) và cây quyết định (decision tree- based).

4.2.6.1 Lái dữ liệu

Thuật toán lái dữ liệu (data driven) được khởi động bằng cho tất cả các trạng thái, mỗi trạng thái vào một nhóm (cluster). Sau đó cặp nhóm mà khi chúng kết hợp lại với nhau sẽ tạo thành nhóm mới có kích thước nhỏ nhất sẽ được ghép lại với nhaụ Quá trình này tiếp tục cho đến khi kích thước của nhóm lớn nhất vượt qua ngưỡng được

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn

định nghĩa bởi câu lệnh TC, hoặc là tổng số các nhóm nhỏ hơn ngưỡng được định nghĩa bởi câu lệnh NC. Kích thước của một nhóm được hiểu là khoảng cách lớn nhất của một cặp trạng thái bất ký trong nhóm.

Hình 4.8. Buộc các trạng thái

Hình 4.8 miêu tả hoạt động của một trường hợp dùng lái dữ liệu như sau:

TC 100.0 “oa” {*-a+*.state[2]}

4.2.6.2 Phân nhóm bằng cây

Một trong các nhược điểm của phương pháp lái dữ liệu là không thực hiện được với các âm ba mà không có dữ liệu huấn luyện. Khi xây dựng hệ thống nhận dạng với các âm ba giới nội từ, vấn đề này có thể tránh được bởi lựa chọn dữ liệu huấn luyện để cho tất cả các âm ba đều có dữ liệu huấn luyện tương ứng. Tuy nhiên nếu các âm ba liên từ được sử dụng thì số lượng các âm ba sẽ rất lớn, có thể lên đến hàng chục nghìn âm ba, sự tồn tại của các âm ba mà không có dữ liệu huấn luyện là điều khó tránh khỏị

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn

Phương pháp dùng cây (tree-based) là giải pháp thay thế và hay được sử dụng trong các hệ thống nhận dạng để khắc phục vấn đề nàỵ Để miêu tả hoạt động của thuật toán, ta sẽ xét một ví dụ: 1. RO 100.0 stats 2. TR 0 3. QS “L_Class_stop” {b-*,t-*,ch-*,tr-*,th-*,k-*,đ-*} 4. QS “R_Class_stop” {*+b,*+t,*+ch,*+tr,*+th,*+k,*+đ} 5. QS “L_Class_nasal” {n-*,m-*,ng-*,nh-*} 6. QS “R_Class_nasal” {*+n,*+m,*+ng,*+nh} 7. QS “L_Class_fricate” {h-*,s-*,kh-*,ph-*,v-*,x-*,g-*,r-*,dz-*} 8. QS “R_Class_fricate” {*+h,*+s,*+kh,*+ph,*+v,*+x,*+g,*+r,*+dz} 9. TR 2 10. 11. TB 350.0 “ST_b_2” {(b,*-b,*-b+*,b+*).state[2]} 12. TB 350.0 “ST_b_3” {(b,*-b,*-b+*,b+*).state[3]} 13. TB 350.0 “ST_b_4” {(b,*-b,*-b+*,b+*).state[4]} 14. TB 350.0 “ST_a_2” {(a,*-a,*-a+*,a+*).state[2]} 15. …. 16. 17. TR 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 18. 19. AU “fulllist” 20. CO “tiedlist” 21. 22. ST “trees”

Dòng 3 đến dòng 8 cho định nghĩa các câu hỏi, thực chất là định nghĩa các nhóm âm vị có tính chất gần giống nhau dùng để phân lớp các âm bạ Các ngữ cảnh được phân biệt là ngữ cảnh trái và ngữ cảnh phải tùy theo ảnh hưởng của nó đến các âm vị xung quanh. Từ dòng 11 đến dòng 15 là định nghĩa các nhóm âm ba bằng câu lệnh TB. Câu lệnh này hoạt động như sau: đầu tiên nhóm các âm ba được định nghĩa bằng lệnh TB tập hợp lại thành một cluster. Sau đó mỗi câu hỏi được dùng để chia cluster này làm hai phần. Do việc phân chia này mà xác suất likelihood của dữ liệu huấn luyện sẽ tăng lên và câu hỏi nào làm cho xác suất này tăng nhiều nhất sẽ được chọn để tách nhánh đầu tiên trong câỵ Quá trình lặp lại cho đến khi giá trị tăng xác suất của các câu hỏi không vượt qua được ngưỡng được xác định bởi câu lệnh TB (trong trường hợp này là 350.0). Giá trị ngưỡng đóng vai trò quan trọng trong điều khiên phân chia cây, nếu giá trị này lớn cây sẽ ít bị phân nhánh và các âm ba được buộc vào với nhau nhiều hơn. Ngược lại nếu giá trị này nhỏ thì số lượng các trạng thái âm ba bị buộc sẽ ít đị Chọn giá trị ngưỡng phụ thuộc nhiều vào kinh nghiệm của người nghiên cứu và phụ thuộc vào dữ liệu dùng để huấn luyện. Chọn giá trị ngưỡng chính xác là một yếu tố giúp tăng độ chính xác nhận dạng của hệ thống.

Tập các âm ba được xem xét tới thời điểm này chỉ bao gồm các âm ba nằm trong tập dữ liệu huấn luyện. Câu lệnh AU chứa danh sách các âm ba mà bao gồm tất cả các âm ba nằm trong cơ sở dữ liệụ Với các âm ba nằm trong cơ sở dữ liệu mà

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn

không có mặt trong tập dữ liệu huấn luyện thì hệ thống sẽ tổng hợp mô hình của âm ba đó trên cơ sở các âm ba đã được huấn luyện. Đây là một ưu điểm của phương pháp phân nhóm bằng câỵ Tuy nhiên điều kiện tối thiểu để cho âm ba này có thể được tổng hợp là phải tồn tại các âm ba đã được huấn luyện mà có cùng nguồn gốc âm đơn với âm ba được tổng hợp.

4.3 NHẬN DẠNG

Đến đây hệ thống đã sẵn sàng được dùng để tiến hành nhận dạng. Quá trình nhận dạng được thực hiện bằng công cụ Hvitẹ

Một phần của tài liệu Nghiên cứu một số phương pháp trong nhận dạng tiếng nói (Trang 88 - 93)

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

(113 trang)