Chương 1 LỚP CÁC BÀI TOÁN NHẬN DẠNG TIẾNG NÓI 1. Nhận dạng tiếng nói và một số phương pháp nhận dạng tiếng nói 1. Nhận dạng tiếng nói Hiểu một cách đơn giản, nhận dạng tiếng nói (speech recognition by machine) là dùng máy tính chuyển đổi tín hiệu ngôn ngữ từ dạng âm thanh thành dạng văn bản. Nhận dạng tiếng nói có nhiều ứng dụng: - Đọc chính tả: Là ứng dụng được sử dụng nhiều nhất trong các hệ nhận dạng.
Thay vì nhập liệu bằng tay thông qua bàn phím, người sử dụng nói với máy qua micro và máy xác định các từ được nói trong đó. - Điều khiển - giao tiếp không dây: Chẳng hạn hệ thống cho phép máy tính nhận lệnh điều khiển bằng giọng nói của con người như: “chạy chương trình”, “tắt máy”… Một số ưu điểm của việc sử dụng tiếng nói thay cho các thiết bị vào chuẩn như bàn phím, con chuột là: thuận tiện, tốc độ cao, không bị ảnh hưởng của cáp, khoảng cách, không đòi hỏi huấn luyện sử dụng. - Điện thoại-liên lạc: Một số hệ thống (chẳng hạn ở máy điện thoại di động) cho phép người sử dụng đọc tên người trong danh sách thay vì bấm số. Một số hệ thống khác (ở ngân hàng, trung tâm chứng khoán…) thực hiện việc trả lời tự động đối với các các cuộc gọi hỏi về tài khoản… Tuy nhiên vấn đề nhận dạng tiếng nói gặp rất nhiều khó khăn.
Một số khó khăn chủ yếu là: Tiếng nói là tín hiệu thay đổi theo thời gian. Mỗi người có một giọng nói, cách phát âm khác nhau. Thậm chí một người phát âm cùng một từ mà mỗi lần khác nhau cũng không giống nhau (chẳng hạn về tốc độ, âm lượng. 4 Các phương pháp nhận dạng hiện tại của máy tính khá “máy móc”, còn xa mới đạt đến mức độ tư duy của con người.
Nhiễu là thành phần luôn gặp trong môi trường hoạt động của các hệ thống nhận dạng và ảnh hưởng rất nhiều đến kết quả nhận dạng. Do những khó khăn đó, nhận dạng tiếng nói cần tri thức từ rất nhiều từ ngành khoa học liên quan: - Xử lí tín hiệu: tìm hiểu các phương pháp tách các thông tin đặc trưng, ổn định từ tín hiệu tiếng nói, giảm ảnh hưởng của nhiễu và sự thay đổi theo thời gian của tiếng nói. - Âm học: tìm hiểu mối quan hệ giữa tín hiệu tiếng nói vật lí với các cơ chế sinh lí học của việc phát âm và việc nghe của con người. - Nhận dạng mẫu: nghiên cứu các thuật toán để phân lớp, huấn luyện và so sánh các mẫu dữ liệu.
- Lí thuyết thông tin: nghiên cứu các mô hình thống kê, xác suất; các thuật toán tìm kiếm, mã hoá, giải mã, ước lượng các tham số của mô hình… - Ngôn ngữ học: tìm hiểu mối quan hệ giữa ngữ âm và ngữ nghĩa, ngữ pháp, ngữ cảnh của tiếng nói. - Tâm-sinh lí học: tìm hiểu các cơ chế bậc cao của hệ thống nơron của bộ não người trong các hoạt động nghe và nói. - Khoa học máy tính: nghiên cứu các thuật toán, các phương pháp cài đặt và sử dụng hiệu quả các hệ thống nhận dạng trong thực tế. Do tính phức tạp của bài toán nhận dạng tiếng nói người ta chia bài toán này thành các lớp bài toán sau: - Nhận dạng tiếng nói trong môi trường không có nhiễu.
- Nhận dạng tiếng nói trong môi trường có nhiễu. 5 - Nhận dạng tiếng nói liên tục: Nghĩa là giữa các từ, các câu không có khoảng lặng. - Nhận dạng tiếng nói rời rạc: Nghĩa là giữa các từ, các câu có khoảng lặng. - Nhận dạng tiếng nói với số lượng từ hạn chế, số người nói hạn chế.
- Nhận dạng tiếng nói với số lượng từ hạn chế, số người nói không hạn chế. - Nhận dạng tiếng nói số lượng từ không hạn chế, số người nói không hạn chế. - Nhận dạng tiếng nói kết hợp các bài toán của 7 dạng trên. Thực tế cho đến nay, mặc dù người ta đã đầu tư nhiều công sức để giải quyết các bài toán nhận dạng tiếng nói, song độ tin cậy đạt được chưa cao.
Vì vậy vẫn chưa được ứng dụng rộng rãi trong thực tiễn. Các phương pháp nhận dạng tiếng nói * Phương pháp Âm học - Ngữ âm học: Phương pháp này dựa trên lý thuyết về Âm học - Ngữ âm học. Lý thuyết đó cho biết: tồn tại các đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ âm đó được đặc trưng bởi một tập các tín hiệu tiếng nói. Các bước nhận dang của phương pháp gồm: Bước 1: Phân đoạn và gán nhãn.
Bước này chia tín hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một (hoặc một vài) đơn vị ngữ âm, đồng thời gán cho mỗi đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp. Bước 2: Nhận dạng. Bước này dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp v.v…để xác định một hoặc một chuỗi từ đúng trong các 6 chuỗi nhãn ngữ âm được tạo ra sau bước: Sơ đồ khối của phương pháp này được biểu diễn ở (Hình 1. Nguyên lý hoạt động của phương pháp có thể mô tả như sau: Trích chọn đặc trưng: Tín hiệu tiếng sau khi số hóa được đưa tới khối trích chọn đặc trưng nhằm xác định các phổ tín hiệu.
Các kỹ thuật trích chọn đặc trưng tiếng nói phổ biến là sử dụng băng lọc (filter bank), mã hóa dự đoán tuyến tính (LPC)… Tách tín hiệu tiếng nói nhằm biến đổi phổ tín hiệu thành một tập các đặc tính mô tả các tính chất âm học của các đơn vị ngữ âm khác nhau. Các đặc tính đó có thể là: tính chất các âm mũi, âm xát; vị trí các formant; âm hữu thanh, vô thanh; tỷ số mức năng lượng tín hiệu… Phân đoạn và gán nhãn: Ở bước này hệ thống nhận dạng tiếng xác định các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của đơn vị ngữ âm. Đây là bước quan trọng của hệ nhận dạng tiếng nói theo khuynh hướng Âm học - Ngữ âm học và là bước khó đảm bảo độ tin cậy nhất. Nhận dạng: Chọn lựa để kết hợp chính xác các khối ngữ âm tạo thành các từ nhận dạng.
Đặc điểm của phương pháp nhận dạng tiếng nói theo hướng tiếp cận Âm học - Ngữ âm học: • Người thiết kế phải có kiến thức khá sâu rộng về Âm học - Ngữ âm học. • Phân tích các khối ngữ âm mang tính trực giác, thiếu chính xác. • Phân loại tiếng nói theo các khối ngữ âm thường không tối ưu do khó sử dụng các công cụ toán học để phân tích.1- Sơ đồ khối nhận dạng tiếng nói theo Âm học - Ngữ âm học * Phương pháp nhận dạng mẫu Hình 1.2- Sơ đồ khối hệ nhận dạng tiếng nói theo phương pháp mẫu Phương pháp nhận dạng mẫu không cần xác định đặc tính âm học hay phân đoạn tiếng nói mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng. Các hệ thống nhận dạng tiếng nói theo phương pháp này được phát triển theo hai bước (Hình 1.2), cụ thể là: Bước 1: Sử dụng tập mẫu tiếng nói (cơ sở dữ liệu mẫu tiếng nói) để đào tạo các mẫu tiếng nói đặc trưng (mẫu tham chiếu) hoặc các tham số hệ thống.
Bước 2: Đối sánh mẫu tiếng nói từ ngoài với các mẫu đặc trưng để ra quyết định. 8 Trong phương pháp này, nếu cơ sở dữ liệu tiếng nói cho đào tạo có đủ các phiên bản mẫu cần nhận dạng thì quá trình đào tạo có thể xác định chính xác các đặc tính âm học của mẫu (các mẫu ở đây có thể là âm vị, từ, cụm từ…). Hiện nay, một số kỹ thuật nhận dạng mẫu được áp dụng thành công trong nhận dạng tiếng nói là lượng tử hóa vector, so sánh thời gian động (DTW), mô hình Markov ẩn (HMM), mạng nơron nhân tạo (ANN). Hệ thống bao gồm các hoạt động sau: Trích chọn đặc trưng: Tín hiệu tiếng nói được phân tích thành chuỗi các số đo để xác định mẫu nhận dạng.
Các số đo đặc trưng là kết quả xử lý của các kỹ thuật phân tích phổ như: lọc thông dải, phân tích mã hóa dự đoán tuyến tính (LPC), biến đổi Fourier rời rạc (DFT). Huấn luyện mẫu: Nhiều mẫu tiếng nói ứng với các đơn vị âm thanh cùng loại dùng để đào tạo các mẫu hoặc các mô hình đại diện, được gọi là mẫu tham chiếu hay mẫu chuẩn. Nhận dạng: Các mẫu tiếng nói được đưa tới khối phân loại mẫu. Khối này đối sánh mẫu đầu vào với các mẫu tham chiếu.
Khối nhận dạng căn cứ vào các tiêu chuẩn đánh giá để quyết định mẫu tham chiếu nào giống mẫu đầu vào. Một số đặc điểm của phương pháp nhận dạng mẫu: • Hiệu năng của hệ phụ thuộc vào số mẫu đưa vào. Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ càng cao; tuy nhiên, dung lượng nhớ và thời gian huấn luyện mẫu tăng. • Các mẫu tham chiếu phụ thuộc vào môi trường thu âm và môi trường truyền dẫn.
• Không đòi hỏi kiến thức sâu về ngôn ngữ. 9 * Phương pháp ứng dụng trí tuệ nhân tạo Phương pháp ứng dụng trí tuệ nhân tạo kết hợp các phương pháp trên nhằm tận dụng tối đa các ưu điểm của chúng, đồng thời bắt chước các khả năng của con người trong phân tích và cảm nhận các sự kiện bên ngoài để áp dụng vào nhận dạng tiếng nói. Sơ đồ khối của phương pháp trí tuệ nhân tạo theo mô hình từ dưới lên (bottom-up) (Hình 1. Đặc điểm của các hệ thống nhận dạng theo phương pháp này là: Sử dụng hệ chuyên gia để phân đoạn, gán nhãn ngữ âm.
Điều này làm đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm. Sử dụng mạng nơron nhân tạo để học mối quan hệ giữa các ngữ âm, sau đó dùng nó để nhận dạng tiếng nói.3- Sơ đồ khối hệ nhận dạng tiếng nói theo phương pháp từ dưới lên Việc sử dụng hệ chuyên gia nhằm tận dụng kiến thức con người vào hệ nhận dạng: Kiến thức về âm học: Để phân tích phổ và xác định đặc tính âm học của các mẫu tiếng nói. Kiến thức về từ vựng: sử dụng để kết hợp các khối ngữ âm thành các 10 từ cần nhận dạng. Kiến thức về cú pháp: nhằm kết hợp các từ thành các câu cần nhận dạng.
Kiến thức về ngữ nghĩa: nhằm xác định tính logic của các câu đã được nhận dạng. Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào bộ nhận dạng tiếng nói. Phương pháp thông dụng nhất là xử lý “từ dưới lên”.