Chương 1 Tổng quan Trước cả khi máy tính được tạo ra, con người đã có mong muốn trao đổi với các công cụ qua phương thức tự nhiên nhất - tiếng nói. Hơn một nửa thế kỷ, bài toán nhận dạng tiếng nói đã được nghiên cứu để góp phần hoàn thành sứ mệnh trên. Dù bài toán rất phức tạp và có những câu hỏi khó chưa được giải đáp nhưng những thành tựu gần đây trong xử lý tín hiệu, xử lý ngôn ngữ tự nhiên và đặc biệt là trí tuệ nhân tạo giúp chúng ta có thể tiến gần tới mục tiêu này hơn. Với mục đích là giới thiệu về nhận dạng tiếng nói, chương được chia thành bốn phần.
Phần đầu nêu ra những thành phần chính và cách phân loại các hệ thống nhận dạng tiếng nói. Trong phần tiếp theo, các hướng tiếp cận phổ biến được giới thiệu. Phần thứ ba trình bày rõ hơn về mô hình ngôn ngữ bởi đây là thành phần quan trọng trong nhận dạng tiếng nói cũng là phần tập trung chủ yếu của luận văn. Ở phần cuối, các thách thức còn tồn tại sẽ được đưa ra.
11 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B 1.1 Hệ thống nhận dạng tiếng nói Các thành phần cơ bản của hệ thống nhận dạng tiếng nói Một hệ thống nhận dạng tiếng nói tự động gồm có các thành phần sau: • Bộ trích rút đặc trưng tiếng nói Mục tiêu của thành phần này là biến đổi tín hiệu âm thanh thành chuỗi các vector đặc trưng. Trích rút đặc trưng cũng có vai trò loại bỏ nhiễu. • Mô hình âm thanh Là nguồn tri thức quan trong trong hệ thống ASR với khả năng nhận diện các thành phần ngữ âm căn bản (âm vị, chữ cái hoặc một từ hoàn chỉnh) của ngôn ngữ. Với các mô hình nhận dạng âm vị, hệ thống ASR cần phải có thêm một thành phần nữa là từ điển ngữ âm (phonetic dictionary) để từ chuỗi âm vị có được từ mô hình âm thanh có thể suy ra được các từ riêng lẻ.
• Mô hình ngôn ngữ Mục tiêu của mô hình ngôn ngữ là giới hạn việc tìm kiếm. Mô hình thường dựa trên thống kê hoặc quy tắc ngữ pháp mà nó có thể chỉ ra đâu là các từ hợp lệ hay đâu là chuỗi có thể xuất hiện trong một ngữ cảnh nào đó. • Bộ giải mã Nhiệm vụ của bộ giải mã là tìm ra chuỗi từ phù hợp nhất cho dựa trên việc tổng hợp kết quả của mô hình âm thanh và mô hình ngôn ngữ. 12 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B Hình 1.1: Các thành phần cơ bản của hệ thống ASR Phân loại các hệ thống nhận dạng tiếng nói Dựa vào chế độ nói, người nói, kích cỡ từ vựng mà ta có thể chia bài toán phức tạp này thành các bài toán con với các tính chất khác nhau.
Trong số các đặc điểm trên thì chế độ nói là đặc điểm quan trọng nhất và góp phần quan trọng trong việc xác định độ khó của bài toán. Về cơ bản có 4 chế độ nói chính: • Chế độ nói từ riêng lẻ (Isolated word speech) Là hệ thống với hai trạng thái "nghe/không-nghe" giúp nhận biết chính xác điểm bắt đầu và kết thúc của từng từ. Những hệ thống nhận dạng tiếng nói ban đầu thường áp dụng chế độ này này bởi tính đơn giản và chủ yếu liên quan đến xử lý tín hiệu và so sánh tần số. Những hệ thống trên hiện vẫn được áp dụng rộng rãi trong các hệ thống ra lệnh và điều kiển (Command and Control).
• Chế độ nói nối từ (Connected word speech) 13 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B Là cơ chế giúp hệ thống nhận ra các chuỗi từ liên tiếp cách nhau bởi các khoảng nghỉ đủ lớn. • Chế độ nói liên tục (Continuous speech) Là chế độ nói tự nhiên mà không cần phải nghỉ giữa mỗi cụm từ. Có thể thấy, chế độ này phức tạp hơn hai chế độ trên bởi cần thêm cơ chế để nhận ra giới hạn giữa các phát âm. • Chế độ nói trực tiếp (Spontaneous speech) Là chế độ nói tự nhiên không chỉnh sửa do đó chứa các từ được nói liên tục, các từ đệm ("ừm", "à") hay cả khả năng bị lắp từ (nói lắp nhẹ).
Một tiêu chí nữa cũng quan trọng trong việc xác định độ phức tạp cũng như khả năng ứng dụng của hệ thống là từ vựng. Đối với từ vựng, ta có thể chia thành 3 loại chính: • Từ vựng bé (small-vocabulary) Từ vựng bé chứa lượng từ cố định và thường có kích thước bé hơn 100. Nó thường được sử dụng trong việc nhận dạng số, chứ cái. • Từ vựng vừa (medium-vocabulary) Từ vựng vừa chứa lượng từ cố định và thường có kích thước từ 100 đến cỡ hàng nghìn từ.
Với kích thước như vậy, hệ thống có khả năng nhận diện hầu hết các cuộc hội thoại thông thường. Tuy vậy, những từ ngữ chuyên môn, hay từ nước ngoài sẽ không được nhận đúng. • Từ vựng lớn (large-vocabulary) Từ vựng lớn là hệ thống có khả năng nhận ra được hơn chục nghìn từ thậm chí cả những từ không có trong tập dữ liệu huấn luyện. 14 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B 1.2 Các hướng tiếp cận Các phương pháp nhận diện tiếng nói có thể chia thành 3 hướng chính: tiếp cận dựa vào âm học - ngữ âm học (acoustic- phonetic), tiếp cận dựa theo mẫu và tiếp cận theo hướng trí tuệ nhân tạo.
Tiếp cận dựa vào âm học và ngữ âm học Hướng đi này đựa trên định đề là trong bất kỳ ngôn ngữ nào cũng chỉ tồn tại hữu hạn các đơn vị ngữ âm phân biệt (âm vị). Bước đầu tiên trong cách tiếp cận này là phân tích phổ tiếng nói kết hợp với các bộ nhận nhận diện đặc trưng để có được tập các tính chất âm học. Ở bước tiếp theo, tín hiệu được chia cắt và gán cho một hay nhiều nhãn ngữ âm. Bước cuối của phương pháp đưa ra chuỗi các từ kết quả dựa trên chuỗi nhãn ngữ âm từ bước trước.
Tiếp cận dựa vào nhận dạng mẫu Hai bước quan trọng nhất trong hướng tiếp cận này là huấn luyện mẫu và so sánh mẫu. Trong bước so sánh mẫu, từng phần âm thanh đầu vào được so sánh trực tiếp với các tập mẫu có được trong quá trình huấn luyện để tìm ra mẫu gần nhất. Dạng biểu diễn của mẫu so sánh có thể là mẫu âm thanh trực tiếp hoặc là một mô hình thống kê (ví dụ: mô hình Markov ẩn). Tiếp cận theo hướng trí tuệ nhân tạo Cách tiếp cận này là sự kết hợp của hai cách tiếp cận trên.
Cụ thể là nó khai thác ý tưởng từ hướng ngữ âm học và phương pháp từ nhận dạng mẫu. Có 3 hướng đi con trong cách tiếp cận 15 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B này: phương pháp dựa trên Dynamic Time Warping (DTW), phương pháp dựa trên mô hình Markov ẩn và mô hình học trực tiếp. Trong DTW, mỗi lớp nhận diện được đại diện bởi một hay nhiều mẫu[5]. Việc sử dụng nhiều hơn một mẫu mỗi lớp giúp tăng độ chính xác trong trường hợp có những khác biệt về các phát âm hay người nói của cùng một ngôn ngữ.
Trong khâu nhận diện, khoảng cách giữa chuỗi âm thu được và mẫu lớp được tính. Để loại bỏ sự khác biệt về độ dài của hai đối tượng này, mẫu bị co kéo và biến dạng cũng được sử dụng trong tính toán. Từ được nhận diện tương ứng với đường đi mà có tổng khoảng cách bé nhất. Trong các hệ thống hiện đại nhất, mô hình sử dụng Markov ẩn sẽ tốt hơn mô hình dựa vào DTW bởi tính khái quát và bộ nhớ tiêu tốn.
Mô hình Markov ẩn là mô hình thống kê với giả định tiếng nói tuân theo tiến trình Markov với các tham số ẩn. Thử thách ở đây là tìm ra tham số ẩn từ dữ liệu quan sát. Dù trạng thái không được trực tiếp nhận thấy nhưng các biến phụ thuộc bởi trạng thái thì biết được. Mô hình Markov ẩn do đó mà cần thiết kế cẩn thận lộ trình huấn luyện để dần có được các mô hình nhận diện phức tạp hơn.
Mô hình học trực tiếp sẽ được giới thiệu cụ thể ở chương 2.3 Mô hình ngôn ngữ trong nhận dạng tiếng nói Mô hình ngôn ngữ là tập hợp các điều kiện để một chuỗi các từ (ký tự) có thể được chấp nhận đối với một ngôn ngữ. Những điều kiện này có thể được biểu diễn bằng tập các luật ngữ pháp hoặc bằng việc thống kê trên mỗi cặp từ dựa trên một tập văn bản huấn luyện. Một trong các mô hình ngôn ngữ thường được sử dụng là mô 16 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B hình ngôn ngữ n-gram. Bằng việc thống kê trên các tập văn bản mẫu kích thước cớ hàng triệu từ, mà mô hình có thể đưa ra xác suất của một từ khi biết trước các từ trước nó.
Tùy vào số lượng từ phía trước nó sử dụng mà ta có các loại uni-gram (1 từ phía trước), bi-gram (2 từ phía trước) cho tới 5-gram. Xác suất của từ w n khi biết các từ phía trước w 1 , w2, .1) C (wnn−1 −N +1 ) Trong đó: - C (X ) là số lượng xuất hiện của X trong văn bản. - w ij là chuỗi wi w i+1.wj Xác suất của cả một câu: w1 , w2 , ., wn được tính bằng: P (w 1w2 .2) Do khi tính xác suất có nhiều trường hợp sẽ gặp các cụm n-gram chưa xuất hiện hoặc do sự phân bố không đều trong tập huấn luyện sẽ dẫn tới việc tính toán không chính xác. Vì vậy người ta đưa ra phương pháp làm mịn để khắc phục vấn đề này.
Các phương pháp làm mịn có thể chia thành 3 loại chính: • Discounting: giảm xác suất các cụm n-gram có xác suất lớn hơn 0 để bù cho các cụm n-gram chưa xuất hiện • Back-off: tính xác suất các cụm n-gram chưa xuất hiện bằng các cụm ngắn hơn và có xác suất lớn hơn 0 • Interpolation: tính xác suất của tất cả các cụm n-gram bằng các cụm ngắn hơn 1.4 Các thách thức Nhận dạng tiếng nói vẫn đang còn xa mới tới sự hoàn thiện. Theo [6], bài toán này vẫn còn 6 thách thức lớn: 17 HV: NGHIÊM NGUYỄN VIỆT DŨNG KHMT-2016B • Khai thác dữ liệu Nhờ mạng internet mà chúng ta có thể tiếp cận một lượng lớn các tệp tin giao tiếp ở nhiều tình huống và môi trường khác nhau. Thêm vào đó, các công ty như Apple, Google và Microsoft cũng có một lượng lớn dữ liệu người dùng qua các sản phẩm có sử dụng tiếng nói. Tuy nhiên, hầu hết dữ liệu này đều không được đánh nhãn hoặc đánh nhãn sơ sài.
Việc đánh nhãn chúng chính xác và đầy đủ sẽ tiêu tốn một nguồn lực không nhỏ.