Chương 1 TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 1.1 Tổng quan về lĩnh vực xử lý tiếng nói 1. Tiếng nói là gì? Tiếng nói là một trong những phương tiện trao đổi thông tin cơ bản của con người. Tiếng nói được tạo ra từ tư duy của con người, trung khu thần kinh điều khiển hệ thống phát âm làm việc tạo ra âm thanh. Tiếng nói được phân biệt với các âm thanh khác bởi các đặc tính âm học có nguồn gốc từ cơ chế tạo tiếng nói.
Về bản chất, tiếng nói là sự dao động của không khí có mang theo thông tin. Các dao động này tạo thành những áp lực đến tai và được tai phát hiện, phân tích và chuyển kết quả đến trung khu thần kinh. Lúc này tại trung khu thần kinh, thông tin được tái tạo lại dưới dạng tư duy logic mà con người có thể hiểu được. Tín hiệu tiếng nói được tạo thành bởi các chuỗi các âm vị liên tiếp.
Sự sắp xếp của các âm vị được chi phối bởi các quy tắc của ngôn ngữ. Việc nghiên cứu một cách chi tiết về những quy tắc này cũng như những khía cạnh khác bên trong tiếng nói thuộc về chuyên ngành ngôn ngữ. Việc phân loại các âm vị của tiếng nói thuộc về chuyên ngành ngữ âm học. Khi nghiên cứu các mô hình toán học của cơ chế tạo tiếng nói, việc nghiên cứu về các âm vị là rất cần thiết.
Tóm lại khi nghiên cứu các vấn đề về xử lý tiếng nói chúng ta cần phải nghiên những vấn đề về ngữ âm, ngôn ngữ học, xử lý tín hiệu,… 1. Biểu diễn tín hiệu tiếng nói Tín hiệu tiếng nói là tín hiệu tương tự. Do đó khi biểu diễn tín hiệu tiếng nói trong môi trường tính toán của tín hiệu số, việc biểu diễn và lưu trữ sao cho không bị mất mát thông tin là vấn đề hết sức quan trọng trong các hệ thống thông tin có sử dụng tín hiệu tiếng nói. Việc xem xét các vấn đề xử lý tín hiệu tiếng nói trong các hệ thống này dựa trên ba vấn đề chính: download by : skknchat@gmail.com 4 - Biểu diễn tín hiệu tiếng nói dạng số.
- Cài đặt các kỹ thuật xử lý. - Các lớp ứng dụng dựa trên kỹ thuật xử lý tín hiệu số. Biểu diễn tín hiệu tiếng nói theo dạng số chịu ảnh hưởng quan trọng của lý thuyết lấy mẫu, theo đó các trạng thái của tín hiệu có dải tần giới hạn có thể được biểu diễn dưới dạng các mẫu lấy tuần hoàn theo một chu kỳ cố định gọi là chu kỳ lấy mẫu. Việc lấy mẫu này sẽ cung cấp cho hệ thống những mẫu tín hiệu với tỷ lệ đủ lớn để xử lý.
Tất cả các quá trình xử lý lấy mẫu được chỉ rõ trong các tài liệu về xử lý tín hiệu số. Có nhiều phương pháp biểu diễn rời rạc tín hiệu tiếng nói như biểu diễn dưới dạng sóng (hình 1.1), biểu diễn bằng phổ tín hiệu (hình 1.2) hay bằng spectrogram (hình 1. Phương pháp biểu diễn tín hiệu theo dạng sóng như bản thân tên của nó, được xem xét đến với việc bảo mật thông tin theo cách thông thường là giữ nguyên hình dạng sóng của tín hiệu tương tự sau khi đã qua các bước lấy mẫu và lượng tử hoá tín hiệu.1 Biểu diễn tín hiệu tiếng nói dạng sóng theo thời gian download by : skknchat@gmail. Phổ tín hiệu tiếng nói Hình 1.
Biểu diễn tín hiệu tiếng nói bằng spectrogram Trên phương diện khác, phương pháp biểu diễn tín hiệu theo tham số được xem xét đến trên khía cạnh biểu diễn tín hiệu tiếng nói như đầu ra của hệ thống tạo tiếng nói. Để thu được các tham số biểu diễn, bước đầu tiên của phương pháp này lại thường là biểu diễn tín hiệu theo dạng sóng. Điều này có nghĩa là tín hiệu tiếng nói được lấy mẫu và lượng tử hoá giống như phương pháp biểu diễn tín hiệu tiếng nói dạng sóng, sau đó tiến hành xử lý để thu được các tham số của tín hiệu tiếng nói của mô hình tạo tiếng nói nêu trên. download by : skknchat@gmail.com 6 Các tham số của mô hình tạo tiếng nói này thường được phân loại thành các tham số tín hiệu nguồn (có quan hệ mật thiết với nguồn của tiếng nói) và các tham số của bộ máy phát âm tương ứng (có quan hệ mật thiết với giọng nói của từng người).
Vì tiếng nói là tín hiệu liên tục nên để áp dụng các phương pháp xử lý tín hiệu thì tiếng nói phải được biểu diễn dưới dạng rời rạc. Quá trình rời rạc hoá tín hiệu tiếng nói bao gồm các bước sau: - Lấy mẫu tín hiệu tiếng nói. - Lượng tử hoá các mẫu với các bước lượng tử cụ thể. - Mã hoá và nén tín hiệu.
Các bài toán trong lĩnh vực xử lý tiếng nói Dựa trên cơ sở lựa chọn các cách biểu diễn tín hiệu và phương pháp xử lý, đã có rất nhiều các ứng dụng quan trọng đã được triển khai.4 dưới đây sẽ liệt kê các bài toán quan trọng của lĩnh vực xử lý tiếng nói: Hình 1. Các bài toán ứng dụng trong lĩnh vực xử lý tiếng nói Bản chất của xử lý tiếng nói chính là xử lý thông tin chứa trong tín hiệu tiếng nói nhằm truyền, lưu trữ tín hiệu này hoặc tổng hợp, nhận dạng tiếng nói. Các nghiên cứu được tiến hành để xử lý tiếng nói yêu cầu những hiểu biết trên nhiều lĩnh vực ngày càng đa dạng: từ ngữ âm và ngôn ngữ học cho đến download by : skknchat@gmail.com 7 xử lý tín hiệu. Trong khuôn khổ của luận văn này, tôi tập trung vào bài toán nhận dạng tiếng nói và ứng dụng trong việc điều khiển xe lăn.
Nhận dạng tiếng nói 1. Khái niệm nhận dạng tiếng nói Nhận dạng tiếng nói là quá trình nhận ra chuỗi từ tự động từ tín hiệu tiếng nói bằng các hệ thống chương trình máy tính. Hệ thống nhận dạng tiếng nói được thiết kế dựa trên thuật toán học máy có giám sát của lĩnh vực trí tuệ nhân tạo. Cũng giống như các hệ thống học có giám sát khác chúng ta sẽ phải có tập mẫu huấn luyện và sử dụng một trong các phương pháp học có giám sát để giải quyết bài toán.
Các thành phần cơ bản của hệ thống học máy được chỉ ra trong hình 1. Về cơ bản chúng ta có hệ thống tín hiệu âm thanh đầu vào và thông qua hệ thống nhận dạng đã được huấn luyện chúng ta sẽ có đầu ra là các chuỗi từ dạng văn bản. Tổng quan về một hệ thống nhận dạng tiếng nói Hình 1.5 gồm có các chức năng chính như sau: download by : skknchat@gmail.com 8 - Từ tín hiệu tiếng nói chúng ta phải tổng hợp, trích chọn đặc trưng tín hiệu, xử lý nhiễu,… Công đoạn này áp dụng cho cả dữ liệu huấn luyện và dữ liệu kiểm thử. - Pha trích chọn đặc trưng thường dùng phương pháp MFCC để xây dựng các vector đặc trưng.
- Tiếp theo có thể áp dụng mô hình Gausian cho mô hình ngữ âm để tính xác suất khả dĩ (likelihood). - Một mô hình Markov ẩn (HMM) được áp dụng cho bộ giải mã sử dụng thuật toán Viterbi. - Mô hình ngôn ngữ cung cấp thông tin cho ta tính xác suất trong mô hình HMM. 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 ở đây 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 thiên 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. Một số loại bài toán nhận dạng tiếng nói trên thực tế có thể kể đễn như sau: - Nhận dạng với số lượng từ vựng ít chẳng hạn yes, no, hay các số từ 0 đên 9 là nhiệm vụ dễ hơn cả, tuy nhiên nếu nhận dạng số lượng từ vựng lớn chẳng hạn các từ trong các cuộc đàm thoại thì vấn đề sẽ khó khăn hơn rất nhiều bởi số từ có thể lên đến hàng chục nghìn.
download by : skknchat@gmail.com 9 - Nhận dạng các từ độc lập (mỗi từ đều có khoảng lặng bao quanh) sẽ dễ dàng hơn các từ liên tục chẳng hạn một bài phát biểu liên tục, một cuộc hội thoại,… - Vấn đề nhận dạng trong môi trường nhiễu: chẳng hạn nhận dạng trong các nơi công cộng như nhà ga, bến xe, trên đường phố,… - Vấn đề cuối cùng là giọng nói: ví dụ nhận dạng người nước ngoài nói tiếng Việt, người nói giọng địa phương,… Bảng 1.1 trình bày kết quả của một số hệ thống nhận dạng tiếng nói. Chúng ta có thể thấy rằng với hệ thống nhận dạng gồm các con số đơn giản thì tỷ lệ đạt được là 99.5%, tuy nhiên với các hệ thống nhận dạng các từ nói liên tục, hàng ngày, bất kỳ thì tỷ nhận dạng đúng chỉ có thể đạt được là 80%. Chất lượng của một số hệ thống nhận dạng Tỷ lệ chính xác Bài toán Số lượng từ (%) Nhận dạng chữ số 11 99.5 Nhận dạng các bài đọc trên báo 5.000 97 Wall Street Nhận dạng các bài đọc trên báo 20.000 97 Wall Street Các chương trình truyền hình tin tức 64.000 90 Các cuộc đàm thoại 64.2 Tổng quan về bài toán nhận dạng Nhận dạng đối tượng là lớp bài toán được quan tâm nghiên cứu rất nhiều trong thực tế. Các ứng dụng của nó có thể kể như nhận dạng mặt người, nhận dạng chữ, nhận diện đồ vật, nhận dạng tiếng nói.
Các bài toán nhận dạng xuất hiện ở khắp nơi từ khi có sự ra đời của máy tính kèm theo các kỹ thuật để giải quyết các bài toán như vậy. Để giải quyết lớp các bài toán nhận dạng trên thực tế chúng ta sử dụng phương pháp học có giám sát. download by : skknchat@gmail.com 10 Học có giám sát (supervised learning) là một trong những chủ đề quan trọng trong lĩnh vực trí tuệ nhân tạo; đi kèm với học có giám sát chúng ta còn có học không giám sát và học nửa giám sát. Bài toán học có giám sát được phát biểu như sau: Cho tập X = {xi}, i = 1, 2,… , N với xi diễn tả một đối tượng trong không gian d chiều.