Chương I. CƠ SỞ LÝ THUYẾT
1.2. Hệ thống nhận dạng tiếng nói [20]
Nhận dạng tiếng nói là một hệ thống tạo khả năng để máy nhận biết ngữ nghĩa của lời nói. Về bản chất, đây là quá trình biến đổi tín hiệu âm thanh thu được của người nói qua Micro, đường dây điện thoại hoặc các thiết bị khác thành một chuỗi các từ. Kết quả của quá trình nhận dạng có thể được ứng dụng trong điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng lời, quay số điện thoại tự động hoặc đưa tới một quá trình xử lý ngôn ngữ ở mức cao hơn.
Xây dựng một hệ nhận dạng tiếng nói gặp rất nhiều khó khăn. Một số khó khăn gặp phải như:
- 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… Một người phát âm cùng một từ nhưng mỗi lần phát âm cũng không giống nhau (chẳng hạn về âm lượng, tốc độ, tình trạng sức khỏe
…).
- 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”, chưa 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.
37
Do những khó khăn đó, nhận dạng tiếng nói cần tri thức từ rất nhiều ngành khoa học liên quan như:
- 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ã hóa, 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ế.
1.2.1. Cấu trúc của một hệ thống nhận dạng tiếng nói Cấu trúc cơ bản của hệ thống nhận dạng tiếng nói:
Mô hình âm học Mô hình ngôn ngữ
Bộ giải mã
Bộ thích nghi Khối xử lý
tín hiệu Tiếng nói
Ứng dụng
Hình 1.13: Cấu trúc hệ thống nhận dạng tiếng nói
38
Hình 1.13 mô tả cấu trúc một hệ thống nhận dạng tiếng nói điển hình. Hệ thống bao gồm các thành phần cơ bản sau:
- Khối xử lý tín hiệu: xử lý tín hiệu tiếng nói đầu vào, trích chọn các vector đặc trưng.
- Bộ giải mã: nhận các vector đặc trưng từ khối xử lý tín hiệu, kết hợp với các tri thức của mô hình âm học và mô hình ngôn ngữ để tìm ra chuỗi từ thích hợp nhất với vector đặc trưng tương ứng.
- Bộ thích nghi: nhận thông tin từ bộ giải mã và thay đổi các tham số của các mô hình âm học, mô hình ngôn ngữ nhằm nâng cao kết quả nhận dạng.
- Mô hình âm học: tri thức về âm học, ngữ âm, sự đa dạng về môi trường ghi âm, microphone và cả các đặc tính của người ghi âm như giới tính, tuổi, hình thái ngôn ngữ (tiếng địa phương)…
- Mô hình ngôn ngữ: tri thức về các yếu tố tạo nên từ, xác suất xuất hiện của các từ, cụm từ, chuỗi từ liên tục, các quy tắc ngữ pháp, ngữ nghĩa…
Đầu vào của một hệ thống nhận dạng tiếng nói là tín hiệu tiếng nói từ hệ thống thu âm, hoặc từ hệ thống lưu trữ. Các ứng dụng nhận kết quả của hệ thống, và có thể dùng các kết quả này để thích nghi một số thành phần của hệ thống. Trong đề tài này, đầu ra của hệ thống là văn bản và nội dung của đề tài này là tập trung vào tìm hiểu và xây dựng hệ thống nhận dạng tiếng Việt nói.
1.2.2. Phân loại hệ thống nhận dạng tiếng nói Nhận dạng từ liên tục và nhận dạng từ rời rạc
Một hệ thống nhận dạng tiếng nói có thể được chia thành hai dạng là nhận dạng liên tục và nhận dạng từng từ. Nhận dạng liên tục nghĩa là nhận dạng tiếng nói được phát liên tục như một câu, một đoạn. Các hệ thống dạng này rất phức tạp, các từ được phát liên tục khó xử lý nếu cần thời gian thực, hoặc khó tách khi người nói liên tục không có khoảng nghỉ. Kết quả của việc tách từ ảnh hưởng lớn đến các bước sau, vì vậy cần xử lý thật tốt ở bước này.
Đối với nhận dạng từng từ, mỗi từ cần nhận dạng được phát âm một cách rời rạc, có các khoảng nghỉ trước và sau mỗi từ. Mô hình này đơn giản hơn so với nhận
39
dạng liên tục và có một số ứng dụng thực tiễn trong các hệ thống điều khiển bằng lời nói, quay số bằng giọng nói… với độ chính xác cao.
Nhận dạng phụ thuộc người nói và độc lập người nói
Đối với hệ thống nhận dạng phụ thuộc người nói thì mỗi hệ nhận dạng chỉ thực hiện được một người nói, hệ thống sẽ không hiểu người khác nói nếu chưa được huấn luyện. Do đó, hệ thống không được áp dụng rộng rãi. Đặc biệt hệ thống này không thể ứng dụng ở nơi công cộng.
Đối với hệ thống nhận dạng độc lập người nói được ứng dụng rộng rãi hơn, đáp ứng được nhiều yêu cầu, nhưng hệ thống gặp vấn đề về độ chính xác. Trong thực tế, giọng của mỗi người là khác nhau, giọng của một người cũng khác nhau ở những thời điểm khác nhau. Điều này ảnh hưởng rất lớn đến việc nhận dạng, nó làm giảm độ chính xác của hệ thống. Để đảm bảo độ chính xác cao hơn hệ thống này đòi hỏi lượng dữ liệu huấn luyện phải đủ lớn (dữ liệu phải được thu từ nhiều giọng khác nhau của nhiều người). Trong thực tế thường sử dụng hệ thống bán độc lập người nói. Thực hiện bằng cách thu mẫu số lượng lớn người nói. Khi sử dụng hệ thống sẽ được điều chỉnh phù hợp với giọng của người dùng, bằng cách nó học thêm một vài câu chứa các từ cần thiết.
1.2.3. Các phương pháp nhận dạng tiếng nói
Có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói hiện nay là:
1. Phương pháp âm học - ngữ âm học;
2. Phương pháp nhận dạng mẫu;
3. Phương pháp áp dụng trí tuệ nhân tạo.
a) 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. Quá trình nhận dạng gồm 2 bước:
Bước 1: Phân đoạn và gán nhãn. Ở bước này tín hiệu tiếng nói được chia 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.
40
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,… để xác định một hoặc một chuỗi từ đúng trong các chuỗi nhãn ngữ âm đươc tạo ra sau bước 1.
b) Phương pháp nhận dạng mẫu:
Phương pháp này không cần xác định đặc tính âm học 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. Hệ thống nhận dạng theo phương pháp này thực hiện qua hai bước.
Bước 1: Sử dụng tập mẫu tiếng nói (cơ sở dữ liệu tiếng nói) để huấn luyện các mẫu tiếng nói đặc trưng hoặc các tham số tiếng nói.
Bước 2: Đối sánh mẫu tiếng nói từ ngoài với các mẫu đặc trưng để đưa ra quyết định.
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).
c) Phương pháp ứng dụng trí tuệ nhân tạo
Có thể coi đây là phương pháp kết hợp của các phương pháp trên với ý tưởng tận dụng tối đa các ưu điểm của từng phương pháp, đồng thời cố gắng mô phỏng khả năng tuyệt hảo của con người trong sự phân tích và cảm nhận các sự kiện bên ngoài nói chung và tiếng nói nói riêng.
Đặc điểm chung 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 để học mối quan hệ giữa các ngữ âm. Sau đó dùng mạng này để nhận dạng tiếng nói.
Việc sử dụng hệ chuyên gia ở đây là nhằm mục đích tận dụng các nguồn kiến thức của con người vào trong hệ thống nhận dạng, đó là :
- Kiến thức về âm học: Nhằm để 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 đầu vào.
41
- 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 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.
1.2.4. Các ứng dụng của nhận dạng tiếng nói
Sự phát triển của nhận dạng tiếng nói đã đem lại những thành quả to lớn trong thực tế, đã đem lại lợi ích lớn cho cuộc sống của con người, góp phần thay đổi phương thức tương tác người-máy làm cho cuộc sống ngày trở nên tiện nghi, tiết kiệm thời gian hơn.
Phạm vi ứng dụng của nhận dạng tiếng nói rất đa dạng, ứng dụng phổ biến trong các lĩnh vực sau:
- Ứng dụng trong văn phòng: Nhập thông tin vào biểu mẫu, quản lý, điều khiển cơ sở dữ liệu…
- Ứng dụng trong quản lý sản xuất: Giám sát quy trình, kiểm soát chất lượng…
- Ứng dụng trong viễn thông: quay số tự động bằng giọng nói, tổng đài trả lời tự động, truy nhập bằng giọng nói…
- Ứng dụng trong y tế: tạo báo cáo…
- Ứng dụng trên thiết bị di động: Dùng giọng nói để truy nhập, tìm kiếm thông tin, điều khiển các ứng dụng bằng giọng nói.
Chương I đã cung cấp các kiến thức cơ bản về mạng nơ ron sâu và hệ thống nhận dạng tiếng nói, trên cơ sở đó ta sẽ tiếp tục xây dựng cơ sở lý thuyết cho hệ thống nhận dạng tiếng Việt nói ở chương tiếp theo.