CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG TIẾNG NÓI 1. Khái niệm chung 1. Khái niệm nhận dạng tiếng nói Nhận dạng tiếng nói nhìn chung cũng là một quá trình nhận dạng mẫu, với mục đích là phân lớp tín hiệu tiếng nói (đầu vào) thành một dãy tuần tự các mẫu đã được học và lưu trữ trong bộ nhớ. Các mẫu có thể là các từ hay các âm vị.
Với đặc thù tiếng nói là một dạng tín hiệu biến thiên theo thời gian và có sự khác biệt giữa tiếng nói của những người khác nhau, tốc độ nói khác nhau hay ngữ cảnh và môi trường âm học khác nhau. Thậm chí tiếng nói của cùng một người cũng không giống nhau: khi người đó khỏe thì tiếng nói của họ khác khi bị ốm. Đó chính là khó khăn cơ bản nhất của nhận dạng tiếng nói. Việc xác định những thông tin biến thiên nào là hữu ích và những thông tin nào là vô ích cho 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ả những kỹ thuật xác suất thống kê mạnh cũng không thể tổng quát hóa từ các mẫu tiếng nói những biến thiên nào là quan trọng và cần thiết cho nhận dạng tiếng nói. Nhìn chung hiện nay 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: Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong miền thời gian ngắn (short-term amplitude spectrum). Nhờ yếu tố này ta có thể cắt khung tiếng nói trong một khoảng thời gian nhất định để trích rút ra các đặc trưng làm dữ liệu để nhận dạng tiếng nói. Nội dung của tiếng nói ở dạng văn bản 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 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 và suy đoán 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 không rõ ràng. 4 Ngành khoa học nhận dạng tiếng nói là một trong những ngành có lĩnh vực nghiên cứu khá rộng.
Lĩnh vực nghiên cứu của nhận dạng tiếng nói có liên quan tới nhiều ngành khác nhau như: Ngôn ngữ học (linguistics): Như đã nói ở trên khi chúng ta phiên âm phát âm thành các ký hiệu ngữ âm thì ý nghĩa của một phát âm không thay đổi. Vậy sự hiểu biết về cấu trúc của ngôn ngữ, đặc biệt là ngữ âm và vai trò của chúng trong việc tạo ra tiếng nói là rất quan trọng khi chúng ta xây dựng hệ thống nhận dạng tiếng nói. Sinh lý học (physiology) và tâm lý học ứng dụng (applied psychology): Kiến thức về cấu tạo bộ máy phát âm của con người, về quá trình sản sinh tiếng nói cũng như phân tích âm học và ngôn ngữ tại bộ não để con người hiểu được tiếng nói. Xử lý tín hiệu số (digital signal processing): Các kỹ thuật xử lý tín hiệu số dùng phân tích tín hiệu tiếng nói nhằm trích rút ra đặc trưng của tiếng nói cho quá trình nhận dạng.
Âm học (acoustic): Nghiên cứu mối quan hệ giữa tín hiệu tiếng nói và cơ chế sinh lý học của bộ máy phát âm của con người. Lý thuyết nhận dạng: Các thuật toán dùng để phân loại dữ liệu thành các tập mẫu dựa trên sơ sở tính toán khoảng cách giữa các đặc điểm của mẫu. Lý thuyết thông tin và khoa học máy tính (information and computer theory): Các thuật toán dùng để tính toán mô hình tham số của các mô hình thống kê, các thuật toán mã hóa và giải mã (lập trình động, thuật toán giải mã Viterbi) để quá trình nhận dạng tốt nhất. Phân loại nhận dạng tiếng nói Nếu xét về độ dài các câu từ cần nhận dạng ta có thể phân thành nhận dạng từ liên tục và nhận dạng từ rời rạc.
Ngoài ra ta còn có thể phân loại theo sự phụ thuộc hay độc lập người nói. Nhận dạng từ liên tục và nhận dạng từ rời rạc Nhận dạng từ liên tục là nhận dạng tiếng nói được phát liên tục trong một chuỗi tín hiệu, như một câu nói hay một đoạn văn được đọc bởi người dùng. Các hệ thống nhận dạng loại này rất phức tạp, nó phức tạp bởi lẽ quá trình xử lý tiếng nói liên tục là khó khăn hơn nhiều so với từng từ riêng lẻ. Quá trình xử lý tiếng nói liên tục còn phụ thuộc vào việc người dùng nói nhanh hay chậm.
Nếu người dùng nói không có khoảng nghỉ thì việc tách từ là khó khăn. Và chính kết quả của quá trình tách từ này có ảnh hưởng rất lớn tới các bước tiếp theo trong quá trình nhận dạng. Trái lại, trong nhận dạng từ rời rạc thì các phát âm được nhận dạng chỉ bao gồm một từ, hay một nhóm nhỏ các từ mà ở đó có các khoảng nghỉ trước và sau khi phát âm mỗi từ. Nhận dạng tiếng nói với các từ rời rạc thường được ứng dụng trong các chương trình dạng câu lệnh- điều khiển.
Quá trình nhận dạng tiếng nói với các từ rời rạc là dễ hơn nhiều so với quá trình nhận dạng tiếng nói liên tục. Nhận dạng phụ thuộc người nói và độc lập người nói Một hệ thống nhận dạng tiếng nói phụ thuộc người nói là một hệ thống dường như chỉ phục vụ cho một người, nó sẽ không hiểu người khác nói gì nếu như không có quá trình huấn luyện lại từ đầu. Do đó nên hệ thống nhận dạng tiếng nói phụ thuộc người nói khó được chấp nhận rộng rãi bởi lẽ là quá tốn kém nếu bỏ ra kinh phí lớn chỉ để xây dựng hệ thống phục vụ cho một cá nhân, hay không phải ai cũng có đủ khả năng kiến thức và sự kiên nhẫn để ngồi huấn luyện lại hệ thống. Rõ ràng rằng hệ thống nhận dạng tiếng nói loại này khó được áp dụng vào thực tế nhất là nơi công cộng.
Để khắc phục những nhược điểm trên thì hệ thống nhận dạng tiếng nói độc lập người nói là ưu việt hơn nhiều. Hệ thống nhận dạng tiếng nói độc lập người nói là lý tưởng hơn, có ứng dụng rộng rãi hơn và đáp ứng được hầu hết các yêu cầu đề ra với một hệ thống nhận dạng tiếng nói. Tuy nhiên, việc xây dựng một hệ thống nhận dạng độc lập người nói có độ chính xác cao cũng gặp không ít khó khăn. Trong thực tế mỗi vùng miền có một giọng nói khác nhau, mỗi người có một giọng nói khác nhau, thậm chí cùng một người giọng nói cũng khác nhau ở những 6 thời điểm khác nhau (Hình 1.
Đó là yếu tố ảnh hưởng rất lớn đến mức độ chính xác trong nhận dạng tiếng nói. Để khắc phục nhược điểm này, hệ thống nhận dạng độc lập người nói cần được thiết kế phức tạp hơn với lượng dữ liệu huấn luyện lớn và đa dạng hơn nhiều lần. Nhưng làm được yêu cầu trên là khó và độ chính xác trong nhận dạng cũng chưa phải là tối ưu. Do đó, trong thực tế để giải quyết chất lượng nhận dạng người ta thường kết hợp cả hai phương pháp trên và xây dựng hệ thống nhận dạng bán độc lập người nói.
Phương pháp này được thực hiện bằng cách thu một số lượng lớn các mẫu khác nhau để huấn luyện. Khi sử dụng hệ thống sẽ điều chỉnh cho phù hợp với người nói bằng cách để người dùng trải qua một quá trình ngắn để huấn luyện hệ thống (ví dụ như phần mềm nhận dạng tiếng nói được tích hợp trong Office của Microsoft).1: Quá trình phát âm sẽ khác nhau tùy theo người nói Hình 1.2: Mô hình nhận dạng tiếng nói bán độc lập người nói 7 1. Hệ thống nhận dạng tiếng nói tự động Hệ thống nhận dạng tiếng nói tự động (Automatic Speech Recognition – ASR) là hệ thống tự động chuyển đổi tiếng nói thành chữ viết hay thành một trong các chức năng của thiết bị. Các thành phần của một hệ thống nhận dạng tiếng nói bao gồm: Rút trích đặc trưng tiếng nói: Biến đổi tiếng nói (tín hiệu âm thanh) thành chuỗi các vector đặc trưng cho quá trình nhận dạng đồng thời thực hiện quá trình dò tìm điểm đầu cuối của tiếng nói và lọc nhiễu.
Phân lớp và nhận dạng: Đây thực chất là quá trình dựa vào mô hình âm thanh, từ điển phát âm và mô hình ngôn ngữ của hệ thống để nhận dạng. Giải mã: Quá trình giải mã có thể đơn giản là quá trình xuất ra chuỗi văn bản cần nhận dạng từ tín hiệu âm thanh vào hoặc đó là một quá trình phân tích chuỗi nhận được ứng với việc thực hiện tác vụ nào đó.3: Cấu trúc cơ bản của hệ thống ASR Hiện nay ASR có một số ứng dụng trong các lĩnh vực như: Điều khiển bằng tiếng nói (quay số điện thoại…), trong điện tử viễn thông (tổng đài điện thoại…). Các nghiên cứu hiện thời về nhận dạng tiếng nói 1. Các nghiên cứu về nhận dạng tiếng nói ở nước ngoài Nghiên cứu nhận dạng tiếng nói đã được bắt đầu từ cuối thập niên 40 của thế kỉ 20, công nghệ nhận dạng tiếng nói đã có bước đi khá dài và cũng đã đạt một số thành tựu đáng kể.
Một số phần mềm nhận dạng tiếng nói đã có mặt trên thị trường như các phần mềm nhận dạng tiếng nói đọc chính tả của IBM, phần mềm nhận dạng nói thật hay nói dối, …Và đặc biệt là với ngôn ngữ tiếng Anh hiện nay đã tạo được bộ cơ sở dữ liệu quý là: là bộ từ điển Beep và CSLU. Trong lĩnh vực nghiên cứu các ứng dụng nhận dạng tiếng nói trong viễn thông thì Speech Works là hãng phần mềm khá nổi tiếng. Hiện nay trên thế giới đã có nhiều trung tâm nghiên cứu về nhận dạng tiếng nói như: CSLU, Bell Labs, IBM Research Center, Microsoft Research… Nhìn chung môi trường thu âm tiếng nói có ảnh hưởng rất lớn đến độ chính xác của quá trình nhận dạng. Ở Mỹ hệ thống nhận dạng các số của thẻ tín dụng ngân hàng được đọc bởi người bán hàng tại các hệ thống cửa hàng bán lẻ có độ chính xác là 98% trong khi cùng hệ thống này trong môi trường phòng thí nghiệm thì độ chính xác lên tới 99,7%.
Theo một đánh giá của Barbara s. (2001), high- Performance Automatic Speech Recognition via Enhanced Front-end Analysis and Acoustic Modeling [1] ta có bảng so sánh tỷ lệ lỗi nhận dạng của các hệ thống nhận dạng tiếng Anh so với khả năng nhận dạng của con người như sau (bảng 1.