Mô hình Markov ẩn và ứng dụng trong
nhận dạng tiếng nói
Nguyễn Duy Phương
Trường Đại học Công nghệ
Luận văn ThS chuyên ngành: Công nghệ thông tin; Mã số: 1 01 10
Người hướng dẫn: PGS.TS. Hồ Thuần
Năm bảo vệ: 2007
Abstract: Giới thiệu mô hình Markov ẩn (Hidden Markov Model HMM) và lựa chọn
mô hình HMM để nhận dạng tiếng nói. Khái quát về tiền xử lý tiếng nói và một số
phương pháp trích chọn đặc trưng được sử dụng trong nhận dạng tiếng nói. Quá trình
xây dựng mô hình HMM tự động cho các âm vị từ kho dữ liệu không gán nhãn âm vị
được giải quyết thông qua thuật toán huấn luyện nhúng. Đã xây dựng một ứng dụng
nhỏ về nhận dạng tiếng nói, cài đặt thuật toán và phần mềm từ điển tiếng nói
Keywords: Công nghệ thông tin, Mô hình Markov, Nhận dạng tiếng nói, Xử lý tín
hiệu
Content
MỞ ĐẦU
Ngay khi máy tính ra đời con người đã mơ ước máy tính có thể nói chuyện với mình.
Yêu cầu đơn giản nhất là máy có thể xác định được từ ngữ mà chúng ta nói với máy. Đó là
mục tiêu của ngành nhận dạng tiếng nói.
Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa người và máy. Nó
giúp máy móc hiểu và thực hiện các hiệu lệnh của con người. Hiện nay trên thế giới, lĩnh vực
nhận dạng tiếng nói đã đạt được nhiều tiến bộ vượt bậc. Đã có nhiều công trình nghiên cứu
về lĩnh vực nhận dạng tiếng nói (Speech recognition) trên cơ sở lý thuyết các hệ thống thông
minh nhân tạo, nhiều kết quả đã trở thành sản phẩm thương mại như ViaVoice, Dragon , các
hệ thống bảo mật thông qua nhận dạng tiếng nói, các hệ quay số điện thoại bằng giọng nói
Triển khai những công trình nghiên cứu và đưa vào thực tế ứng dụng vấn đề này là một việc
làm hết sức có ý nghĩa đặc biệt trong giai đoạn công nghiệp hoá hiện đại hoá hiện nay của
nước nhà.
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp
(classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã được học
trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là các từ,
hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đổi thì công việc nhận dạng tiếng
nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã được
học và lưu trữ trong bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn
biến đổi theo thời gian và có sự khác biệt lớn giữa tiếng nói của những người nói khác nhau,
tốc độ nói, ngữ cảnh và môi trường âm học khác nhau. Xác định những thông tin biến thiên
nào của tiếng nói là có ích và những thông tin nào là không có ích đối với nhận dạng tiếng
nói là rất quan trọng. Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất
thống kê mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói những biến thiên
quan trọng cần thiết trong nhận dạng tiếng nói.
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản [1]:
Tín hiệu tiếng nói được biểu diễn chính xác bởi các biên độ phổ trong một khung thời
gian ngắn (short-term amplitude spectrum). Nhờ vậy ta có thể trích ra các đặc điểm
tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu để
nhận dạng tiếng nói.
Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các ký hiệu ngữ
âm. Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta phiên âm phát âm
thành dãy các ký hiệu ngữ âm.
Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa (semantics)
và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi
thông tin về âm học là không rõ ràng.
Lĩnh vực nghiên cứu của nhận dạng tiếng nói là khá rộng liên quan đến nhiều ngành
khác nhau, như xử lý tín hiệu số (digital signal proccessing), vật lý hay âm học (acoustic),
nhận dạng mẫu, lý thuyết thông tin và khoa học máy tính (information and computer science
theory), ngôn ngữ học (linguistics), sinh lý học (physiology), tâm lý học ứng dụng (applied
psychology). Các hệ thống nhận dạng tiếng nói có thể được phân chia thành hai loại khác
nhau: hệ thống nhận dạng từ rời rạc và hệ thống nhận dạng từ liên tục. Trong hệ thống nhận
dạng tiếng nói liên tục, người ta lại phân biệt hệ thống nhận dạng có kích thước từ điển nhỏ
và hệ thống nhận dạng với kích thước từ điển trung bình hoặc lớn.
Ý tưởng về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những năm 50 của thế
kỷ 20 và đến nay đã đạt được nhiều kết quả đáng kể. Có 3 hướng tiếp cận chính cho nhận
dạng tiếng nói [8]:
Tiếp cận Âm học: Hướng tiếp cận này dựa vào các đặc điểm âm học được rút ra từ
phổ âm thanh. Tuy nhiên kết quả của hướng tiếp cận này còn thấp vì trong thực tế, các
đặc trưng âm học có sự biến động rất lớn. Hơn nữa phương pháp này đòi hỏi tri thức
rất đầy đủ về âm học (Vốn tri thức âm học hiện nay chưa thể đáp ứng).
Tiếp cận Nhận dạng mẫu thống kê: Sử dụng các phương pháp máy học dựa trên thống
kê để học và rút ra mẫu tham khảo từ lượng dữ liệu lớn. Hướng này đang được sử
dụng nhiều, chủ yếu là dựa vào Mô hình Markov ẩn (HMM).
Tiếp cận Trí tuệ nhân tạo: là hướng kết hợp của cả hai hướng trên. Phương
pháp này kết hợp được cả tri thức của chuyên gia và phương pháp mẫu thống
kê. Đây sẽ là hướng tiếp cận tương lai của nhận dạng tiếng nói.
Việc nhận dạng tiếng nói gặp một số khó khăn sau:
Trong môi trường sinh hoạt hàng ngày, chất lượng tiếng nói biến động rất lớn do chịu
ảnh hưởng của các yếu tố ngoại cảnh, tâm và sinh lý người nói: một câu của cùng một
người nói khi thu vào máy sẽ khác nhau nếu nói ở hai tâm trạng khác nhau (lúc vui
nói khác, lúc giận nói khác,…), sức khoẻ khác nhau (lúc khoẻ nói khác, lúc
bệnh nói khác), tốc độ nói khác nhau (nói chậm thì rõ hơn nói nhanh), môi trường
xung quanh khác nhau (môi trường có tiêng ồn thì âm thu vào sẽ bị nhiễu), v.v… Và
còn nhiều yếu tố khác nữa tác động lên chất lượng của lời nói như thiết bị thu không
tốt, tín hiệu bị nhiễu điện,… Do đó, việc nhận dạng trở nên rất khó khăn.
Trong nhận dạng tiếng nói theo hướng nhận dạng từng âm vị, một khó khăn chúng ta
gặp phải là: các âm vị liền nhau trong chuỗi tiếng nói không có vách ngăn rõ ràng (2
âm vị sát nhau có một phần giao nhau, khó xác định được phần giao nhau thuộc âm vị
trước hay âm vị sau). Ngay cả đối với con người, tách âm vị từ một âm tiết (xác định
vị trí bắt đầu và vị trí kết thúc của âm vị đó trên sóng âm của âm tiết) cũng không phải
là công việc đơn giản.
Hiện nay, hầu hết các hướng tiếp cận để nhận dạng âm vị là nhận dạng theo học mẫu
thống kê. Thông thường để học mẫu người ta cung cấp cho chương trình học một nguồn dữ
liệu có nhiều mẫu đã được phân loại thành nhiều lớp và có gán nhãn (nhãn cho biết mỗi mẫu
thuộc lớp nào). Nguồn dữ liệu này phải được phân lớp và gán nhãn chính xác hoàn toàn để
máy học. Tuy nhiên do không thể tách âm vị một cách chính xác, nguồn dữ liệu âm vị đưa
vào khó đạt được mức độ chính xác, kết quả là việc huấn luyện giảm hiệu suất, làm cho hiệu
suất của chương trình nhận dạng cũng giảm theo.
Chúng tôi xin nêu ra một hướng giải quyết để tránh việc gán nhãn âm vị
không chính xác: thay vì đánh nhãn âm vị, chúng ta sẽ đánh nhãn âm tiết, đồng thời cho biết
các âm vị cấu thành âm tiết đó. Như vậy, dữ liệu mẫu cung cấp cho quá trình học là các âm
tiết. Thuật toán học được sử dụng để tách âm vị là thuật toán huấn luyện nhúng (Embedded
training). Kết quả thu được là các mô hình HMM cho từng âm vị. Do mỗi dãy âm vị được
chọn tương đương với một âm tiết, công việc đánh nhãn âm vị trên sóng âm thực chất là
không có (chỉ đánh nhãn trên âm tiết, vốn được thực hiện dễ dàng). Vì vậy, có thể xem dữ
liệu đưa vào trong quá trình huấn luyện là dữ liệu không gán nhãn và phương pháp nhận dạng
này được xem là nhận dạng âm vị tự động.
Công việc gán nhãn âm vị bằng tay rất vất vả và mất nhiều thời gian. Ngoài ra, hiện
nay có rất ít kho dữ liệu đã được gán nhãn âm vị. Vì vậy, hướng tiếp cận nhận dạng âm vị tự
động, vốn hiệu quả hơn, tỏ ra là hướng tiếp cận đúng đắn. Tuy nhiên, huấn luyện trên dữ
liệu không gán nhãn cũng có những khó khăn: đòi hỏi khối lượng dữ liệu lớn hơn
nhiều so với huấn luyện trên dữ liệu có gán nhãn, đồng thời quá trình huấn luyện cũng lâu
hơn. Với những ưu thế vượt trội như trên đã nêu, hướng tiếp cận nhận dạng âm vị tự động
hứa hẹn tạo ra những mô hình nhận dạng tiếng nói với độ chính xác cao. Đó cũng chính là
hướng nghiên cứu mà tôi chọn lựa cho luận văn thạc sĩ của mình. Trong bản luận văn này,
chúng tôi muốn chứng minh hai điều:
Nếu có đầy đủ dữ liệu tiếng nói (không gán nhãn), có thể nhận dạng được số lượng
lớn các âm tiết với độ chính xác tương đối cao theo hướng tiếp cận nhận dạng âm vị
tự động.
Có thể nhận dạng được tiếng nói liên tục với tốc độ trung bình.
Luận văn được tổ chức như sau:
Chương 1 : Mô hình HMM và ứng dụng trong nhận dạng
Giới thiệu mô hình HMM và sự lựa chọn mô hình HMM để nhận dạng tiếng nói.
Chương 2 : Tiền xử lý tín hiệu tiếng nói
Chương này sẽ giới thiệu về tiền xử lý tiếng nói và một số phương pháp trích đặc trưng
được sử dụng trong nhận dạng tiếng nói.
Chương 3 : Thuật toán huấn luyện nhúng (Embedded training)
Giới thiệu thuật toán huấn luyện nhúng. Đây là quá trình xây dựng mô hình HMM tự
động cho các âm vị từ kho dữ liệu không gán nhãn âm vị.
Chương 4 : Cài đặt thuật toán - Giới thiệu phần mềm từ điển tiếng nói.
Kết luận
References
[1]. R. Rabiner, A Tutorial on Hidden Markov Models and Selected Applications in
Speech Recognition, Proceedings of IEEE, vol 77, no 2, 1998
[2]. Tom Mitchell, Machine Learning, McGraw Hill, 1996
[3]. Đặng Hùng Thắng, Mở đầu về lý thuyết xác suất và các ứng dụng, 1998
[4]. R. Rabiner and W. Schafer, Digital Processing Of Speech Signals, Prentice Hall,
1978
[5]. Đoàn Thiện Thuật, Ngữ âm tiếng Việt, Sách NXB ĐHQG Hà nội - 2002
[6]. Nguyễn Thanh Thuỷ, Nhập môn xử lý ảnh số, Sách NXBKHKT
[7]. John-Paul Hosom, Ron Cole, A diphone-based digit recognition system using
neural networks,
[8]. Đặng Thái Dương – Hà Giang Hải, Nhận dạng tiếng nói tiếng Việt theo hướng
tiếp cận nhận dạng âm vị tự động, luận văn cử nhân tin học 2004
[9]. Rabiner L.R, Huang B. H, Fundamentals of Speech Recognition, Sách NXB
Prentice Hall – 1993
[10]. V.Mantha, R.Duncan, Y.Wu, J.Zhao, Implementation and analysis of speech
recognition front-ends, ECE4773/Digital Signal Processing – 1998
[11]. Nguyễn Duy Tiến, Các mô hình xác suất và ứng dụng. Phần một – Xích Markov,
Sách NXB ĐHQG Hà Nội – 2000
[12]. Bách khoa toàn thư mở Wikipedia,
[13]. Phần mềm điều khiển giọng nói bằng tiếng Việt, Phạm Hữu Ngôn và Bành Duy
Khánh, cuộc thi trí tuệ Việt Nam 2004