Tổng quan về phương pháp thích nghi trong nhận dạng tiếng nói

451

Một hệ thống nhận dạng tiếng nói tốt là hệ thống có khả năng nhận dạng được mọi câu nói của người sử dụng. Thực tế cho thấy ngay cả con người trong một số trường hợp cũng không thể hiểu được cùng một câu nói nếu nó được phát âm bởi một người ở địa phương khác. Làm sao để hệ thống sau khi đã huấn luyện có thể vẫn nhận dạng được các giọng nói mới với độ chính xác mong muốn. Câu hỏi này đã, đang được giải quyết với nhiều phương pháp khác nhau, được gọi chung là “Speaker Adaptation”. Tổng quát thì kỹ thuật này có thể chia ra làm hai nhóm: Feature-based và Model-based.

Chất lượng của các hệ thống nhận dạng tiếng nói sử dụng các mô hình học máy như Gaussian Mixture Model – Hidden Markov Model (GMM-HMM) hay Deep Neural Network (DNN) phụ thuộc rất lớn vào dữ liệu huấn luyện. Vì thực chất có thể coi các mô hình này như các hàm mô tả mối quan hệ giữa XY có dạng: X=f(Y). Trong đó X={xi}, xi là vector biểu diễn đặc trưng tín hiệu tiếng nói của một câu phát âm, Y={yi}, với yi là đoạn văn bản biểu diễn nội dung (ngữ nghĩa) của xi. các cặp xi →y­i còn được gọi là dữ liệu mẫu để “dạy” cho các mô hình học máy.

Một hệ thống nhận dạng tiếng nói tốt là hệ thống có khả năng nhận dạng được mọi câu nói của người sử dụng. Như vậy có thể hình dung ra số lượng các cặp mẫu {xi →y­i} cần để “dạy máy” sẽ phải là rất lớn. Ngoài khó khăn là làm sao, để các mô hình học máy có thể mô hình hóa được mọi quan hệ xi →y­i thì chúng ta còn phải đối mặt với một vấn đề khác đó là sự đa dạng về giọng nói, vùng miền. Thực tế cho thấy ngay cả con người trong một số trường hợp cũng không thể hiểu được cùng một câu nói nếu nó được phát âm bởi một người ở địa phương khác. Do cấu tạo bộ máy phát âm của mỗi người là khác nhau nên tín hiệu tiếng nói của chúng ta nói chung là sẽ khác nhau dù chúng ta có phát âm cùng một câu.

Một cách tổng quát nếu có N người sử dụng một ngôn ngữ L thì số mẫu cần thiết để huấn luyện các mô hình học máy sẽ phải là  trong đó M số lượng mẫu {xi →y­i} của một người. Rõ ràng là S phải rất lớn nếu ta muốn hệ thống có thể nhận dạng được mọi giọng nói. Rất khó khăn để có thể sưu tầm được đủ tất cả S, hoặc nếu có làm được thì kinh phí xây dựng dữ liệu cũng sẽ quá lớn. Để giải quyết vấn đề này khi xây dựng cơ sở dữ liệu mẫu người ta thường chỉ chọn ngẫu nhiên đại điện một số lượng giọng vừa đủ theo từng độ tuổi, giới tính, địa phương và dùng nó để huấn luyện các mô hình nhận dạng. Cách làm này dẫn đến một câu hỏi lớn là làm sao để hệ thống sau khi đã huấn luyện có thể vẫn nhận dạng được các giọng nói mới (giọng nói không có trong dữ liệu huấn luyện) với độ chính xác mong muốn.

Câu hỏi này đã, đang được giải quyết với nhiều phương pháp khác nhau, được gọi chung là “Speaker Adaptation”, tạm dịch là kỹ thuật “thích nghi theo giọng nói”. Tổng quát thì kỹ thuật này có thể chia ra làm hai nhóm dựa trên cách tiếp cận của chúng: Feature-based (Thích nghi dựa vào việc hiệu chỉnh hoặc chuẩn hóa đặc trưng của tín hiệu) và Model-based (Các kỹ thuật nhằm hiệu chỉnh giá trị ra quyết định của mô hình nhận dạng với từng giọng nói cụ thể).

Feature-based

Các kỹ thuật trong nhóm này chỉ tác động đến đặc trưng của tín hiệu tiếng nói đầu vào. Giả sử đặc trưng tín hiệu tiếng nói  của một người bất kỳ được tổng quát hóa thông qua hai đại lượng M. Trong đó M là tâm (có thể là vector trung bình) và ∂ là hiệp phương sai của X. Nếu đặc trưng tín hiệu của giọng A được mô tả bằng hàm (MA, ∂A)B(MB,∂B), thì sự khác biệt giữa AB có thể được mô tả thông qua giá trị α=(MA, ∂A) (MB,∂B). Các kỹ thuật Feature-based nhằm tìm ra một phép biến đổi T (được mô tả trong Hình 1) trực tiếp trên X sao cho giá trị của α là nhỏ nhất có thể. Khi đó ta có thể nói sự khác biệt về mặt tín hiệu của AB là không đáng kể. Kết quả này cho phép các mô hình nhận dạng vẫn có thể làm việc tốt trên các mẫu tín hiệu của giọng nói mới.

Hình 1: Phép biến đổi không gian T nhằm thu hẹp nhất khoảng cách giữa các không gian đặc trưng của các giọng nói khác nhau.

Một trong các phương pháp phổ biến đại diện cho nhóm Feature-based này là kỹ thuật “Vocal Tract Length Normalization – VTLN” (tạm dịch là chuẩn hóa độ dài của bộ máy phát âm). Bộ máy tạo âm của chúng ta cơ bản là khác nhau về kích thước và hình dạng, điều này làm ảnh hưởng đến các tần số cộng hưởng formant được tạo ra khi nói. Mục đích của VTNL là tìm ra một hệ số β để nắn trục tần số của các giọng nói khác nhau, sao cho khi phát âm cùng một câu thì phổ tín hiệu của hai người khác nhau là khác nhau ít nhất. Khi đó ta thu được một trục tần số mới có dang , trong đó  là hàm nắn chỉnh. Công thức (1) mô tả một ví dụ về dạng hàm của , Hình 2 mô tả cách áp dụng VTLN với một hệ số  cho trước.

Hình 2: Quy trình áp dụng VTLN.

Kỹ thuật VTLN cần có một lượng dữ liệu vừa đủ để xác định được hệ số β một cách chính xác. Dẫn đến có thể kém hiệu quả trong việc áp dụng cho các hệ thống làm việc thời gian thực hoặc các hệ thống nhận dạng các cuộc hội thoại khi mà có thể sẽ có người sẽ chỉ nói một câu ngắn và duy nhất.

Trong nhận dạng tiếng nói, nói chung thì quy trình để xác định được hệ số β có thể được thự hiện như sau:

Giải thiết mô hình nhận dạng các đơn vị âm học là mô hình HMM-GMM (Hidden Markov Model – Gaussian Mixture Model), đã được huấn luyện với toàn bộ dữ liệu chưa được chuẩn hóa (β=1.0). Mô hình này được đặc trưng bởi bộ tham số .

Bước 1: Khởi tạo giá trị cho β=1.0 cho tất cả các giọng.

Bước 2: Sử dụng mô hình HMM-GMM dóng hàng lại toàn bộ dữ liệu tương ứng với transcript (W) của từng câu phát âm. Sau bước này ta thu được chuỗi trạng thái (HMM stage)  mô tả nhãn cho từng câu phát âm theo thời gian.

Bước 3: Chọn giá trị  trong miền giá trị 0.8 đến 1.3 sao cho hàm sau đạt giá trị lớn nhất

            Trong đó:  là đặc trưng của tín hiệu X thu được sau khi áp dụng hệ số β

Bước 4: Áp dụng VTLN với hệ số β lên toàn bộ dữ liệu tiếng nói, sau đó huấn luyện lại mô hình HMM-GMM với dữ mới này để thu được bộ tham số mới.

Bước 5: Đặt, và quay lại bước 2.

Số lần lặp được thực hiện khi mà giá trị ở bước 3 giữa hai vòng lặp liên tiếp nhỏ hơn một ngưỡng chọn trước.

Model-based

Nhóm thứ hai là “Model-based” là các kỹ thuật nhằm hiệu chỉnh giá trị ra quyết định của mô hình nhận dạng với từng giọng nói cụ thể. Có rất nhiều phương pháp theo cách tiếp cận này. Tuy nhiên ở đây chúng ta sẽ xem xét đến một kỹ thuật được áp dụng phổ biến cho các mô hình sử dụng mạng nơron học sâu (Deep learning). Đó là phương pháp sử dụng vector định danh giọng nói (Speaker identification vector: i-vector).

Ý tưởng của phương pháp này là đi biểu diễn các đặc trưng riêng biệt hoặc sự biến thiên các đặc trưng tín hiệu tiếng nói của một giọng cụ thể thông qua một vector, mỗi một giọng nói sẽ có một i-vector duy nhất. Sau đó sử dụng vector này cùng với các đặc trưng tín hiệu tiếng nói khác làm đầu vào cho các mạng nơron. I-vector làm việc như một hệ số kích thích nhằm biến đổi các giá trị tại các nút của mạng Nơ ron sao cho mạng có thể nhận dạng hiệu quả nhất với giọng nói đầu vào. Quy trình áp dụng i-vector trên mạng Nơ ron có thể được mô tả vắn tắt như ở Hình 2.  Ưu điểm của i-vector đó là nó có thể được tính toán với một lượng dữ liệu tiếng nói nhỏ (thông thường là 200ms), sau đó được đưa trực tiếp vào mạng cùng với các đặc trưng tiếng nói khác. Vì vậy i-vector có thể áp dụng cho cả trường hợp nhận dạng yêu cầu thời gian thực hoặc không do tốc độ tính toán nhanh và chỉ cần một lượng mẫu tiếng nói nhỏ của giọng nói mới. Các nghiên cứu và áp dụng trên nhiều ngôn ngữ khác nhau đã công bố cho thấy i-vector có thể giúp tăng chất lượng nhận dạng lên khoảng 3% tuyệt đối so với mô hình không sử dụng i-vector.

Các kỹ thuật thích nghi giọng nói có thể giúp chúng giải quyết được phần nào việc không làm giảm chất lượng nhận dạng của hệ thống. Ngay cả với các giọng nói không có trong dữ liệu huấn luyện. Tuy nhiên thực tế thì các phương pháp này chỉ có hiệu quả nếu sự biến đổi hay sự khác biệt giữa các giọng nói trong dữ liệu huấn luyện và các giọng nói mới lúc nhận dạng là không quá lớn. Vì các phương pháp huấn luyện luôn tìm cách tối ưu các tham số của mô hình nhận dạng sao cho chất lượng nhận dạng trên bộ dữ liệu huấn luyện là tốt nhất. Hay nói cách khác thì cách giải quyết triệt để vẫn là phải xây dựng bộ dữ liệu huấn luyện đủ lớn.

Nguyễn Văn Huy – Ban Công nghệ FPT (FTI)

Tin liên quan:
  • 1
    Share