1. Trang chủ
  2. » Tất cả

Đề tài nhận dạng tiếng nói

21 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhận Dạng Tiếng Nói
Tác giả Nguyễn Văn Tiến
Người hướng dẫn PGS.TS.Lê Hoàng Thái
Trường học Học viện Công nghệ Bưu chính Viễn thông TPHCM
Chuyên ngành Công nghệ Thông tin
Thể loại Báo cáo môn xử lý ảnh
Thành phố TPHCM
Định dạng
Số trang 21
Dung lượng 1,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đây là quá trình biến đổi tín hiệu âm thanh thu được qua micro, qua các thiết bị thu thanh khác… thành một chuổi các từ, sau đó được nhận dạng để sử dụng trong các ứng dụng điều khiển th

Trang 1

H ọc viện Công nghệ Bưu chính Viễn thông TPHCM

ĐỀ TÀI: NHẬN DẠNG TIẾNG NÓI

Giáo viên hướng dẫn: PGS.TS.Lê Hoàng Thái

Thực hiện báo cáo: D18CQCN01 - N18DCCN187 - Nguy ễn Văn Tiến

1 Gi ới thiệu

Giọng nói là phương tiện giao tiếp cơ bản nhất của con người khi trưởng thành Mục tiêu cơ bản

của xử lý giọng nói là cung cấp sự tương tác giữa con người và máy móc Giọng nói là sinh trắc

học dễ tiếp cận nhất vì không cần thêm thiết bị thu nhận hoặc hệ thống truyền dẫn Thực tế này mang lại cho giọng nói một lợi thế vượt trội so với các đặc điểm sinh trắc học khác, đặc biệt là khi các hệ thống điều kiển từ xa đang phát triển

Nhận dạng tiếng nói là làm cho máy hiểu, nhận biết được ngữ nghĩa của lời nói Đây là quá trình

biến đổi tín hiệu âm thanh thu được qua micro, qua các thiết bị thu thanh khác… thành một chuổi các từ, sau đó được nhận dạng để sử dụng trong các ứng dụng điều khiển thiết bị, nhập

dữliệu hoặc soạn thảo văn bản bằng lời… hoặc đưa đến một quá trình xử lý ngôn ngữ ở mức cao

hơn

Nhận dạng tiếng nói là quá trình phức tạp bao gồm nhiều khâu biến đổi Tín hiệu mà người phát

ra là tín hiệu tuơng tự, qua quá trình lấy mẫu, lượng tử hoá và mã hoá để thu được các mẫu tín

Trang 2

hiệu dạng số (tín hiệu mà máy tính có thể hiểu và xử lý được) Các mẫu tín hiệu này được trích

chọn đặc trưng Những đặc trưng này sẽ là đầu vào cho quá trình nhận dạng Sau khi nhận dạng tín hiệu người dùng phát âm, hệ thống sẽ đưa ra kết quả nhận dạng Tuỳ thuộc vào mô hình ứng

dụng mà cho chúng ta các dạng đầu ra khác nhau

Do tính chất của tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phân tích các đặc

trưng của tiếng nói là việc không dễ Ở đây, chúng ta có thể nêu ra một số yếu tố khó khăn cho bài toán nhận dạng tiếng nói:

  Khi phát âm, người nói thường nói nhanh, chậm khác nhau

  Các từ được nói thường dài ngắn khác nhau. Một người cùng nói một từ, nhưng ở hai lần phát âm khác nhau Kết quả phân tích khác nhau

  Mỗi người có một chất giọng riêng được thể hiện thông qua độ cao, độ to, cường độ

của âm và âm sắc

  Những yếu tố như nhiễu của môi trường, nhiễu của thiết bị thu…ảnh hưởng không

nhỏ tới hiệu quả nhận dạng

Có thể thấy nhận dạng tiếng nói là một lĩnh vực nghiên cứu có nhiều ứng dụng trong thực tế Các hệ thống nhận dạng góp phần rất lớn trong việc thúc đẩy phát triển nhiều ngành Tuy là

lĩnh vực mang ý nghĩa to lớn đó, nhưng việc phát triển các hệ thống nhận dạng cũng gặp không

ít những khó khăn, nhất là ở Việt Nam khi các kết quả nghiên cứu về nhận dạng tiếng Việt chưa nhiều, cũng như cơ sở hạ tầng cho việc nghiên cứu còn ít

Phân

biệt speaker identification và speaker verification

Về ứng dụng, Speaker Recognition có thể được phân loại thành speaker identification (nhận

dạng người nói) và speaker verification (xác thực người nói) Theo đó, nhận dạng người nói là quá trình xác định nguồn phát (người nói) của một phát âm nhất định, nó gán danh tính cho

giọng nói của một người chưa biết bằng cách so sánh mẫu giọng nói được lấy từ người chưa xác

Trang 3

định với các mẫu giọng nói từ nhiều người đã biết Còn xác minh người nói là quá trình chấp

nhận hoặc từ chối danh tính mà người nói đã xác nhận bằng cách so sánh giữa mẫu giọng nói được lấy từ người xác nhận với mẫu giọng nói được xác định là của người có danh tính đang được xác nhận

Speaker identification

Trang 4

Speaker verification

Về phương pháp, Speaker Recognition cũng được chia thành tiếp cận dựa trên văn bản

(text-dependent) và tiếp cận không phụ thuộc vào văn bản (text-independent)

Trang 5

Tuy nhiên, để tránh việc ghi âm trộm, hệ thống này có thể được nâng cao thành

Text-Prompted Speaker Recognition

Đối với phương pháp này, các câu “chìa khóa” được thay đổi liên tục trong mỗi lần truy cập Hệ

thống chỉ chấp nhận lời nói đầu vào khi xác định rằng chính người được cấp quyền đang thực

hiện câu lệnh do máy cung cấp Phương pháp này không chỉ nhận dạng chính xác người nói mà còn giúp phòng tránh trường hợp một giọng nói được ghi âm và phát lại

Một số kỹ thuật phổ biến truyền thống của phương pháp text-dependent là DTW (Dynamic Time Warping – quy hoạch thời gian động) hoặc sử dụng mô hình HMM (Hidden Markov Model – mô hình Markov ẩn)

Text-independent

Phương pháp text-independent không dựa vào một văn bản được định nghĩa trước cụ thể nào

Do đó, ưu điểm của phương pháp này là nó có thể nhận ra người nói độc lập với nội dung của

Trang 6

câu phát âm Vì rất khó có thể mô hình hóa hoặc so khớp các mẫu tiếng nói ở cấp độ từ hoặc

câu, nên đối với phương pháp không dựa trên văn bản, các kỹ thuật mô hình hóa toàn câu phát

âm sử dụng phương pháp thống kê thường được sử dụng

2 Trích ch ọn đặc trưng MFCC

Trong nhận dạng tiếng nói, kỹ thuật trích chọn đặc trưng MFCC (Mel-frequency cepstral

coefficients) là phương pháp phổ biến nhất dựa trên việc thực hiện biến đổi để chuyển dữ liệu

âm thanh đầu vào (đã qua biến đổi Fourier) về thang đo tần số Mel, một thang đo diễn tả sự

nhạy cảm của tai người đối với âm thanh Kỹ thuật trích chọn đặc trưng này gồm các bước biến đổi sau, kết quả là một tập gồm 39 giá trị đặc trưung cho mỗi một frame tiếng nói

2.1 ADC

Trang 7

Bước đầu tiên trong nhận diện giọng nói là cần truyền sóng âm vào máy tính Sóng âm có một chiều dữ liệu Ở mỗi thời điểm, chúng có một giá trị cao độ Để chuyển sóng âm thành số, chúng

ta chỉ cần ghi lại độ cao của sóng ở từng khoảng

Ta dùng biến đổi ADC (Analog-toDigital Converter) để chuyển tín hiệu tương tự sang tín hiệu số

như hình dưới

Tín hi ệu tương tự

Tín hi ệu số

Tiếng nói trước khi được phân tích hoặc nhận dạng cần phải được rút trích các đặc trưng của

nó Bởi vì dữ liệu tiếng nói có nhiều thông tin nên chỉ rút trích những thông tin cần thiết cho việc

nhận dạng Đặc trưng được rút trích là phổ tần rời rạc và các biến đổi tần số của tín hiệu tiếng nói

Theo định lý lấy mẫu Nyquist–Shannon: với 1 tín hiệu có các tần số thành phần ≤ fm, để đảm

bảo việc lấy mẫu không làm mất mát thông tin (aliasing), tần số lấy mẫu fs phải đảm bảo fs ≥ 2fm

Vậy để đảm bảo việc lấy mẫu không làm mất mát thông tin, tần số lấy mẫu fs = 44100 Hz Tuy

nhiên trong nhiều trường hợp, người ta chỉ cần lấy fs = 8000Hz hoặc fs = 16000Hz

Trang 8

2.2 Pre-emphasis

Các bộ phận tham gia vào hình thành tiếng nói của con người có đặc điểm: các âm ở tần số thấp

có mức năng lượng cao, các âm ở tần số cao lại có mức năng lượng khá thấp Trong khi đó, các

tần số cao này vẫn chứa nhiều thông tin về âm vị Vì vậy chúng ta cần 1 bước pre-emphasis để tăng cường độ của những tần số cao lên nhằm làm tăng năng lượng ở vùng có tần số cao, làm

tiếng nói lớn hơn để âm thanh môi trường và nhiễu trở nên không đáng kể

2.3 Windowing

Trong hệ thống nhận dạng tiếng nói, với mục đích nâng cao độ chính xác của việc nhận dạng

tiếng nói, thay vì nhận dậng từng từ riêng biệt, mỗi một từ sẽ được phân tích thành các âm vị và

hệ thống sẽ nhận dạng từng âm vị Thay vì biến đổi Fourier trên cả đoạn âm thanh dài, ta

trượt 1 cửa sổ dọc theo tín hiệu và cắt đoạn tín hiệu âm thanh đầu vào thành các mẫu tín hiệu

có thời lượng nhỏ gọi là các frame rồi mới áp dụng DFT trên từng frame này ( DFT - Discrete Fourier Transform) Tốc độ nói của con người trung bình khoảng 3, 4 từ mỗi giây, mỗi từ khoảng 3-4 âm, mỗi âm chia thành 3-4 phần, như vậy 1 giây âm thanh được chia thành 36 - 40 phần, ta

chọn độ rộng mỗi frame khoảng 20 - 25ms là vừa đủ rộng để bao 1 phần âm thanh Các frame được overlap lên nhau khoảng 10ms để có thể capture lại sự thay đổi context

Trang 9

Tuy nhiên, việc cắt frame sẽ làm các giá trị ở 2 biên của frame bị giảm đột ngột (về giá trị 0), sẽ

dẫn tới hiện tượng: khi DFT sang miền tần số sẽ có rất nhiều nhiễu ở tần số cao Để khắc phục điều này, ta cần làm mượt bằng cách nhân chập frame với 1 vài loại window Có 1 vài loại window phổ biến là Hamming window, Hanning window có tác dụng làm giá trị biên frame

giảm xuống từ từ từ

Hình dưới đây sẽ cho ta thấy rõ được tác dụng của các window này Trong các hình nhỏ, hình 1

là frame được cắt ra từ âm thanh gốc, âm thanh gốc là sự kết hợp của 2 sóng hình 2 Nếu áp

dụng rectangle window (tức là cắt trực tiếp), tín hiệu miền tần số tương ứng là hình 3, ta có thể

thấy tín hiệu này chứa rất nhiều nhiễu Nếu áp dụng các window như Hanning, Hamming, Blackman, tín hiệu miền tần số thu được khá mượt và sóng gốc ở hình 2

Trang 10

2.4 DFT

Trên từng frame, ta áp dụng DFT - Discrete Fourier Transform theo công thức:

Mỗi frame ta thu được 1 list các giá trị độ lớn (magnitude) tương ứng với từng tần số từ 0→N

Áp dụng trên tất cả các frame, ta đã thu được 1 Spectrogram như hình dưới đây Trục x là trục

thời gian (tương ứng với thứ tự các frame), trục y thể hiện dải tần số từ 0 →10000 Hz, giá trị magnitude tại từng tần số được thể hiện bằng màu sắc Qua quan sát spectrogram này, ta nhận

thấy các tại các tần số thấp thường có magnitude cao, tần số cao thường có magnitude thấp

Trang 11

Hình dưới là các spectrogram của 4 nguyên âm Quan sát spectrogram lần lượt từ dưới lên,

người ta nhận thấy có 1 vài tần số đặc trưng gọi là các formant, gọi là các tần số F1, F2, F3 Các chuyên gia về ngữ âm học có thể dựa vào vị trí, thời gian, sự thay đổi các formant trên

spectrogram để xác định đoạn âm thanh đó là của âm vị nào

Như vậy ta đã biết cách tạo ra spectrogram Tuy nhiên trong nhiều bài toán (đặc biệt là speech recognition), spectrogram không phải là sự lựa chọn hoàn hảo Vì vậy ta cần thêm vài bước tính

nữa để thu được dạng MFCC, tốt hơn, phổ biến hơn, hiệu quả hơn spectrogram

Trang 12

Tai người không cảm nhận sự thay đổi tần số của tiếng nói tuyến tính mà theo thang mel Thang

tần số Mel tuyến tính ở tần số dưới 1kHz và logarit ở tần số cao hơn 1kHz Ta chọn tần số 1kHz,

40 dB trên ngưỡng nghe 1000 Mel Do đó công thức gần đúng biểu diễn quan hệ tần số ở thang mel và thang tuyến tính như sau:

Một phương pháp để chuyển đổi sang thang Mel là sử dụng băng lọc Khoảng cách của băng lọc đƣợc định nghĩa bởi một hằng số tần số mel theo thời gian Biến đổi phổ S(w) bao gồm đầu ra

của bộ lọc khi S(w) là đầu vào Băng lọc này được áp dụng trong miền tần số, nó có thể xem như

các điểm thu được của bộ lọc chính (Hình 2.8) Với các khung nhỏ tốt nhất là sử dụng các bộ lọc

dạng tam giác hoặc thậm chí hình chữ nhật vì độ phân giải là quá thấp trong miền tần số thấp

Trang 13

2.6 Log

Mel filterbank trả về phổ công suất của âm thanh, hay còn gọi là phổ năng lượng Thực tế rằng con người kém nhạy cảm trong sự thay đổi năng lượng ở các tần số cao, nhạy cảm hơn ở tần số

thấp Vì vậy ta sẽ tính log trên Mel-scale power spectrum Điều này còn giúp giảm các biến thể

âm thanh không đáng kể để nhận dạng giọng nói

Trong hình này, tín hiệu chúng ta thu được là đồ thị 3, nhưng thông tin quan trọng chúng ta cần

là phần 2, thông tin cần loại bỏ là phần 1 Để loại bỏ đi thông tin về F0, ta làm 1 bước biến đổi Fourier ngược (IDFT) về miền thời gian, ta thu được Cepstrum Nếu để ý kỹ, ta sẽ nhận ra rằng tên gọi "cepstrum" thực ra là đảo ngược 4 chữ cái đầu của "spetrum"

Khi đó, với Cepstrum thu được, phần thông tin liên quan tới F0 và phần thông tin liên quan tới F1, F2, F3 nằm tách biệt nhau như 2 phần khoanh tròn trong hình 4 Ta chỉ đơn giản lấy thông tin trong đoạn đầu của cepstrum (phần được khoanh tròn to trong hình 4) Để tính MFCC, ta chỉ

cần lấy 12 giá trị đầu tiên

Trang 14

Phép biến đổi IDFT cũng tương đương với 1 phép biến đổi DCT discrete cosine transformation DCT là 1 phép biến đổi trực giao Về mặt toán học, phép biến đổi này tạo ra các uncorrelated features, có thể hiểu là các feature độc lập hoặc có độ tương quan kém với nhau Trong các thuật toán Machine learning, uncorrelated features thường cho hiểu quả tốt hơn Như vậy sau

bước này, ta thu được 12 Cepstral features

3 Mô hình HMM (Hidden Markov Models)

Mô hình Markov ẩn (HMM) là mô hình thống kê trong đó hệ thống được mô hình hóa được cho

là một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số

ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu

Các ký hiệu được sử dụng trong mô hình Markov ẩn là:

M: số ký hiệu quan sát có thể

Trang 15

S = {s1, s2, , sN}: tập các trạng thái

O = {O1, O2, , OT}: tập các trạng thái quan sát

Q = {Q1, Q2, , QT}: tập các trạng thái ẩn

V = {v1, v2, …, vM}: tập rời rạc các ký hiệu quan sát

π= {π1, π2, …, πN}: tập các phân bố xác suất cho trạng thái khởi đầu, πi là xác suất để trạng thái i được chọn tại thời điểm khởi đầu t = 1; πi = P(q1 = i);

A = {aij}: ma trận xác suất chuyển với aijlà xác suất để trạng thái j xuất hiện tại thời điểm t+1 khi trạng thái i đã xuất hiện tại thời điểm t Giả thuyết rằng aij là độc lập với thời gian t: aij= P(qt+1

= j/qt = i),

𝐵 = {𝑏𝑗 (𝑣𝑘)}: các hàm đo xác suất phát xạ mẫu, bj(vk)

= P(𝑣𝑘được phát sinh khi mô hình ở trạng thái j)

Bộ ba 𝜆 = (𝐴, 𝐵, 𝜋) được coi là ký pháp gọn của một mô hình Markov ẩn A, B và π được gọi là

bộ tham số (parameters) của mô hình λ Hoạt động của HMM có thể được mô tả như sau: tại

thời điểm t = 1, mô hình ở trạng thái q1 nào đó và phát sinh ra một ký hiệu quan sát nhất định O1, sau đó, tại thời điểm t = 2, mô hình chuyển sang trạng thái q2 và phát sinh ký hiệu quan sát O2 Cứ tiếp tục như vậy cho đến thời điểm t = T, mô hình phát sinh được dãy quan sát O = (O1, O2, , OT) bằng dãy trạng thái Q = (Q1, Q2, , QT) Dãy trạng thái Q phụ thuộc vào xác suất chọn trạng thái khởi đầu πi và xác suất chuyển aij Dãy ký hiệu quan sát {Ot} được HMM phát sinh ra phụ thuộc vào dãy trạng thái Q và các hàm đo xác suất phát xạ mẫu bj(.) Trong trường hợp tập

V các ký hiệu quan sát là không gian mẫu không đếm được, các hàm bj(.) có thểcho bằng hàm mật độ của một phân phối xác suất nào đó

Trang 16

3.1 Hu ấn luyện mô hình Markow ẩn

Bài toán: Với dãy huấn luyện O cần hiệu chỉnh các tham số của mô hình λ để cực đại hóa P(O/λ)

Định nghĩa công thức truy hồi 𝑎𝑡+1(𝑗)

Tương tự, định nghĩa công thức 𝛽𝑡(𝑖) cho tính toán ngược như sau:

Thuật toán tiến lùi Baum-Welch (Forward-Backward Baum-Welch algorithm):

Bước 1 Xác định:

Bước 2 Xác định:

Bước 3 Chỉnh tham số:

Trang 17

Bước 4 Nếu 𝑃(𝑂/𝜆𝑚ớ𝑖) ≤ 𝑃(𝑂/λ𝑐ũ) thì kết thúc Ngược lại quay lại bước 1

3.2 Nhận dạng mô hình Markow ẩn

Bài toán: Cho mô hình 𝜆 = (𝐴, 𝐵, 𝜋) và một dãy quan

sát 𝑂 = (O1, O2, , OT) Cần tìm dãy trạng thái 𝑄 = (Q1, Q2, , QT) để xác suất 𝑃(𝑂,𝑄/𝜆)

Thuật toán Viterbi:

Bước 1 Gọi

Bước 2 Khởi tạo cơ sở quy hoạch động: 𝑓(1,𝑗) = 𝜋𝑗𝑏𝑗(𝑂1)

Bước 3 Tính bảng phương án 𝑓 bằng công thức truy hồi:

Lưu vết:

Bước 4 Tìm dãy trạng thái tối ưu: 𝑞𝑇 = 𝑎𝑟𝑔 max 𝑓(𝑇,𝑗)

𝑞𝑡 = 𝑇𝑟𝑎𝑐𝑒(𝑡 + 1, 𝑞𝑡 +1),𝑡 = 𝑇 −1, 𝑇 − 2, … ,1

4 Ứng dụng

- Ứng dụng trong việc nhập liệu: Chuyển giọng nói thành văn bản được xem là ứng dụng phổ

biến nhất của công nghệ nhận dạng giọng nói Người dùng không chỉ xài giọng nói của mình như

một phương thức nhập liệu mà chính bản thân thiết bị cũng có thể dùng giọng nói để đọc ra

những thông tin cần thiết Nó mang lại lợi ích to lớn cho những người khiếm thị khi mà họ có

thể tận hưởng những tiến bộ công nghệ tương tự như những gì mà một người bình thường có

thể làm

- Ứng dụng trong việc điều khiển nhà thông minh: Công nghệ nhận dạng giọng nói đang là xu

hướng đối với các sản phẩm nhà thông minh Giờ đây chủ nhà có thể thực hiện các thao tác bật

Ngày đăng: 25/02/2023, 10:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w