Tải bản đầy đủ (.pdf) (114 trang)

Nhận dạng tiếng nói tiếng việt sử dụng mô hình chuỗi markov ẩn và mạng nơ ron

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.31 MB, 114 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

LUẬN VĂN THẠC SĨ KHOA HỌC
NGÀNH: ĐO LƯỜNG VÀ CÁC HỆ THỐNG ĐIỀU KHIỂN

NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT SỬ DỤNG
MƠ HÌNH CHUỖI MARKOV VÀ MẠNG NƠ-RON

NGUYỄN TUẤN HẢI
Người hướng dẫn Luận văn: NGUYỄN QUỐC CƯỜNG

Hà Nội, 2010


Lời cảm ơn

Sau một thời gian nỗ lực nghiên cứu và thực hiện đề tài, với những vấn
đề mới, tôi đã gặp rất nhiều khó khăn, nhưng với sự giúp đỡ rất nhiệt tình của
các thầy cơ giáo tơi đã hồn thành được đề tài “Nhận dạng tiếng nói tiếng
Việt sử dụng mơ hình chuỗi Markov ẩn và mạng nơ-ron”. Đặc biệt tơi xin
gửi tới TS. Nguyễn Quốc Cường lịng biết ơn sâu sắc, người đã trực tiếp
hướng dẫn và giúp đỡ tơi tìm hiểu, tiếp cận với lĩnh vực nhận dạng tiếng nói.
Tơi xin cảm ơn các thầy cơ giáo bộ môn Kỹ thuật đo & Tin học Công
nghiệp và tồn thể các thầy cơ giáo trong chương trình đào tạo thạc sĩ của
trường Đại Học Bách Khoa Hà Nội đã tận tình hướng dẫn và chỉ bảo trong
thời gian học và thực hiện luận văn.
Tôi cũng xin gửi lời cảm ơn đến tất cả bạn bè, người thân đã giúp đỡ


tơi trong suốt q trình vừa qua.
Vì điều kiện về thời gian và khả năng bản thân còn hạn chế, do đó bản
luận văn này khơng tránh khỏi những thiết sót. Tơi rất mong Q thầy cơ
cùng tồn thể các bạn đồng nghiệp chỉ dẫn cho.

Hà Nội, ngày 27 tháng 04 năm 2010
Học viên
Nguyễn Tuấn Hải


MỤC LỤC
MỤC LỤC
Lời nói đầu
CHƯƠNG I.

TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI....................1

I.1. NHẬN DẠNG TIẾNG NÓI.........................................................................................1
I.2. CÁC PHƯƠNG PHÁP TIẾP CẬN TRONG NHẬN DẠNG TIẾNG NÓI.................2
I.2.1. Phương pháp âm học- ngữ âm học. .......................................................................2
I.2.2. Phương pháp nhận dạng mẫu. ...............................................................................4
I.2.3. Phương pháp ứng dụng trí tuệ nhân tạo.................................................................6

CHƯƠNG II.

PHÂN TÍCH THAM SỐ TIẾNG NÓI...................................9

II.1. PHÁT HIỆN ĐIỂM ĐẦU CUỐI CỦA TIẾNG NÓI..................................................9
II.1.1. Hàm năng lượng ngắn hạn ...................................................................................9
II.1.2. Phát hiện điểm đầu cuối của tiếng nói. ..............................................................10

II.2. PHÂN TÍCH CEPSTRAL THƠNG QUA MÃ HĨA TIÊN ĐỐN TUYẾN TÍNH11
II.2.1. Các phương trình phân tích LPC........................................................................11
II.2.2. Bộ xử lý LPC áp dụng vào nhận dạng tiếng nói ................................................13
II.3. PHÂN TÍCH CEPSTRAL TRÊN THEO THANG ĐO MEL ..................................17

CHƯƠNG III.

MẠNG NƠ-RON NHÂN TẠO............................................23

III.1. MẠNG NƠ-RON NHÂN TẠO...............................................................................23
III.2. QUÁ TRÌNH HỌC CỦA MẠNG NƠ-RON...........................................................31

CHƯƠNG IV. MƠ HÌNH CHUỖI MARKOV ẨN VÀ VẤN ĐỀ NHẬN
DẠNG TIẾNG NĨI .........................................................................................33
IV.1. MƠ HÌNH MARKOV ẨN. .....................................................................................33
IV.2. BA BÀI TỐN CƠ BẢN ĐỐI VỚI MƠ HÌNH MARKOV ẨN ...........................36
IV.2.1. Bài toán 1: Đánh giá xác suất ...........................................................................36
IV.2.2. Bài toán 2: Tìm dãy trạng thái tối ưu................................................................37
IV.2.3. Bài tốn 3: Ước lượng tham số mơ hình...........................................................38
IV.3. NHẬN DẠNG TIẾNG NĨI SỬ DỤNG MƠ HÌNH MARKOV............................38

CHƯƠNG V.

MƠ HÌNH HYBRID KẾT HỢP MẠNG NƠ-RON VÀ MƠ

HÌNH CHUỖI MARKOV ẨN ........................................................................41
V.1. DÙNG MẠNG NƠ-RON ƯỚC LƯỢNG XÁC SUẤT HẬU NGHIỆM.................41
V.2. CÁC MẠNG NƠ-RON NHƯ LÀ CÁC BỘ LƯỢNG TỬ HÓA VECTOR. ...........47



V.2.1. Mạng nơ-ron cho việc lượng tử hóa véc tơ (VQ) dựa trên tiêu chuẩn tối đa hóa
thơng tin tương hỗ (MMI).............................................................................................47
V.2.2. Các bộ gán nhãn nơ-ron (neural labelers). .........................................................50
V.3. SO SÁNH HAI MƠ HÌNH HYBRID.......................................................................56

CHƯƠNG VI. XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG
NĨI TIẾNG VIỆT............................................................................................59
VI.1. LỰA CHỌN MƠ HÌNH CHO BÀI TOÁN NHẬN DẠNG TIẾNG VIỆT ............59
VI.1.1. Hệ thống nhận dạng lời nói đề xuất..................................................................59
VI.1.2. Thực hiện các module trong Matlab .................................................................61
VI.1.3. XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG VIỆT .....................62
VI.2. KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH..........................................................63
VI.3. KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN.............................................64

Tài liệu tham khảo............................................................................................66


Bảng 5.1 Tỷ lệ lỗi ở lớp từ và câu cho 3 hệ thống...........................................46
Bảng 5. 2. Các kết quả nhận dạng với cơ sở DARPA RM độc lập người nói.50
Bảng 5.3. So sánh kết quả dựa trên phương pháp cơ bản................................54
Bảng 5.4. So sánh kết quả của LVQ, VQ và MLP với việc sử dụng HMM
nhiều codebook . ..............................................................................................55
Bảng 5.5. Kết quả nhận dạng với mô hinh HMM............................................57
Bảng 5.6. Kết quả sử dụng MLP như là bộ gán nhãn. .....................................57
Bảng 5.7. Kết quả sử dụng MLP để ước lượng xác suất hậu nghiệm. ............58
Bảng 6.1.Kết quả kiểm tra trên 50 mẫu kiểm tra cho mỗi từ...........................64


Lời nói đầu
Trong những năm gần đây, việc áp dụng kỹ thuật xử lý tiếng nói, tổng hợp

tiếng nói, nhận dạng tiếng nói trong mạng điện thoại ngày càng gia tăng
nhanh chóng. Một trong các bài tốn quan trọng có nhiều ứng dụng đó là nhận
dạng mười chữ số phát âm liên tục thu âm trong mạng điện thoại. Đây là bài
toán nhận dạng thuộc phạm vi nhận dạng các từ liên tục với số lượng từ vựng
nhỏ. Có nhiều ứng dụng gắn với bài toán này như: nhận dạng số thẻ tín dụng
bằng giọng nói, nhận dạng số tài khoản, nhận dạng mã số cá nhân, quay số
bằng giọng nói,...Hiện trên thế giới đã có một số hệ thống nhận dạng tiếng nói
cỡ lớn, có độ chính xác tương đối cao. Các hệ thống này chủ yếu phát triển
trên nền cơng nghệ hiện đại với các máy tính lớn, các vi mạch xử lý tiếng nói
chuyên dụng và sử dụng các cơ sở dữ liệu tiếng nói khá hồn chỉnh. Đối với
tiếng Việt, hiện tại việc nghiên cứu về nhận dạng tiếng nói nói chung cũng
như nhận dạng tiếng nói thu âm qua điện thoại nói riêng cịn vẫn đang ở bước
đầu và chưa có nhiều kết quả được công bố. Từ thực tiễn trên, cuốn đồ án này
được thực hiện nhằm đưa ra một số vấn đề cơ bản nhất khi chúng ta xây dựng
một hệ nhận dạng tiếng nói và giới thiệu hướng tiếp cận mới trong nhận dạng
tiếng Việt . Đó là sử dụng mạng nơ-ron nhân tạo cùng với các thuật toán học
và khả năng phân loại mẫu rất mạnh có thể được kết hợp cùng với các phương
pháp mơ hình Markov ẩn (HMM). Cụ thể là sử dụng mạng nơ-ron như một bộ
lượng tử hóa vector dữ liệu tiếng nói đưa vào mơ hình HMM từ đó đưa ra kết
quả nhận dạng.
Nội dung đồ án được trình bầy như sau:
Chương I, ở chương này giới thiệu về các khái niệm cơ bản trọng nhận dạng
tiếng nói và các phương pháp tiếp cận trong nhận dạng tiếng nói.
Chương II trình bày một số kỹ thuật phân tích đặc trưng tiếng nói. Các cơng
cụ này đều rất quan trọng và được sử dụng trong kỹ thuật nhận dạng tiếng nói.
Chương III đưa ra lý thuyết tổng quan về mạng nơ-ron.


Chương IV đề cập tới những khái niệm cơ bản của mơ hình Markov ẩn và
ứng dụng trọng nhận dạng tiếng nói.

Chương V giới thiệu về các mơ hình hybrid kết hợp giữa mạng nơ-ron và mơ
hình Markov ẩn trong nhận dạng tiếng nói.
Chương VI trình bày về các bước xây dưng một chương trình nhận dạng tiếng
nói dựa trên mơ hình Hybrid, trong đó sử dụng mạng nơ-ron như một bộ
lượng tử hóa vector cho mơ hình markov ẩn.

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009


Chương I. Tổng quan về nhận dạng tiếng nói

CHƯƠNG I.

TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI

I.1. NHẬN DẠNG TIẾNG NÓI.
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. Thực chất đây là quá trình biến đổi tín hiệu âm thanh thu được qua micro,
qua đường dây điện thoại hoặc các thiết bị thu âm khác,… thành một chuỗi
các từ, sau đó các từ được nhận dạng, kết quả có thể được sử dụng ngay trong
các ứng dụng điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng lời,
hoặc được đưa đến một q trình xử lý ngơn ngữ mức cao hơn.
Các hệ thống nhận dạng tiếng nói có thể được phân thành các loại như sau:
-

Nhận dạng các từ phát âm rời rạc/ liên tục.

-

Nhận dạng tiếng nói phụ thuộc người nói/ khơng phụ thuộc


người nói:
-

Hệ thống nhận dạng có từ điển cỡ nhỏ (<20 từ)/ từ điển cỡ lớn

(hàng nghìn từ).
-

Nhận dạng tiếng nói trong mơi trường có độ ồn thấp/cao.

Trong một hệ thống nhận dạng tiếng nói phát âm rời rạc thì người nói sau khi
nói một từ phải dừng lại trước khi phát âm từ tiếp theo. Ngược lại, hệ thống
nhận dạng lời nói liên tục khơng địi hỏi điều này.
Cơ sở dữ liệu tiếng nói/văn bản

Mơ hình
âm thanh

Mơ hình
từ vựng

Mơ hình
ngơn ngữ
Từ được
nhận dạng

Tín hiệu
vào


Phân tích xác định
đặc tính

Mơ hình hóa/
Phân lớp

Tìm kiếm

Hình 1.1: Mơ hình của một hệ thống nhận dạng tiếng nói điển hình[1] .
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

1


Chương I. Tổng quan về nhận dạng tiếng nói

Độ chính xác trong hệ thống nhận dạng tiếng nói có từ điển cỡ lớn hoặc có
nhiều từ dễ lẫn, thường khơng cao bằng hệ thống nhận dạng có vốn từ vựng
cỡ nhỏ. Hình 1.1 cho ta thấy các phần tử cơ bản của một hệ thống nhận dạng
điển hình. Tín hiệu tiếng nói sau khi được số hóa sẽ được chuyển thành một
tập các vector tham số đặc trưng với các phân đoạn tiếng nói có độ dài
khoảng 10-30ms. Các đặc trưng này được dùng để tìm kiếm các từ gần nhất
với một số điều kiện ràng buộc về âm học, từ vựng và ngữ pháp. Cơ sở dữ
liệu tiếng nói được sử dụng trong quá trình huấn luyện để xác định các tham
số hệ thống.
Một trong những khó khăn lớn nhất của việc nghiên cứu nhận dạng tiếng nói
tự động là tính phụ thuộc đa chun ngành. Có rất nhiều chuyên ngành khoa
học liên quan đến nhận dạng tiếng nói như: xử lý tiếng nói, vật lý (âm học),
nhận dạng mẫu, lý thuyết thông tin, ngôn ngữ học, sinh lý học, khoa học máy
tính,….Để có thể xây dựng thành cơng một hệ thống nhận dạng tiếng nói tự

nhiên có từ điển cỡ lớn thì cần phải có nhiều kiến thức trong tất cả các chuyên
ngành đó, đấy là một lượng kiến thức khổng lồ vượt quá khả năng của bất kỳ
người nào. Vì vậy, hầu hết các nhà khoa học thường chỉ tập trung giải quyết
một số bài toán cụ thể trên cơ sở chuyên ngành hẹp của mình.
I.2. CÁC PHƯƠNG PHÁP TIẾP CẬN TRONG NHẬN DẠNG TIẾNG
NĨI.
Hiện nay có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói
đó là [1]:
™ Phương pháp âm học – ngữ âm học.
™ Phương pháp nhận dạng mẫu.
™ Phương pháp ứng dụng trí tuệ nhân tạo.
I.2.1.Phương pháp âm học- ngữ âm học.
Phương pháp này dựa trên lý thuyết về âm học- ngữ âm học cho rằng tồn tại
các đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ
âm đó được đặc trưng bởi một tập các đặc tính tín hiệu tiếng nói. Bước đầu
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

2


Chương I. Tổng quan về nhận dạng tiếng nói

tiên trong nhận dạng tiếng nói theo phương pháp này là phân đoạn và gán
nhãn. Bước này chia tín hiệu tiếng nói thành các đoạn có đặc trưng âm học
đặc trưng cho một (hoặc một vài) đơn vị ngữ âm, đồng thời gán nhãn cho mỗi
đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp. Bước tiếp theo (bước
nhận dạng) dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp,.. để
xác định ra một từ hoặc một chuỗi từ đúng trong số một chuỗi các nhãn ngữ
âm được tạo ra sau bước thứ nhất. Sơ đồ khối của hệ thống nhận dạng theo
phương pháp này được biểu diễn ở hình 1.2 [1].

Bộ tách đặc
tính 1

Tín
hiệu
tiếng
nói

Phân tích
tiếng nói

Tiếng nói
được nhận
dạng

.
.
.

Phân đoạn

gán nhãn

Lựa
chọn

Bộc tách đặc
tính n

Format

tần số cơ bản
Vơ thanh/ hữu thành
Năng lượng
Âm mũi / âm xát

Lưới âm vị
Lưới phân đoạn Gán
nhãn
Cây quyết định
Chiến lược phân tích

Hình 1.2: sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp âm họcngữ âm học.
Nguyên lý hoạt động của hệ thống này như sau:
-

Tín hiệu tiếng nói sau khi được đưa vào khối phân tích tiếng nói

nhằm xác định các số đo phổ tín hiệu tiếng nói biến đổi theo thời gian. Các kỹ
thuật phân tích phổ tín hiệu tiếng nói phổ biến là sử dụng các bộ lọc thơng
dải, mã hóa dự đốn tuyến tính (LPC),…
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

3


Chương I. Tổng quan về nhận dạng tiếng nói

-

Bước sau đó là tách đặc trưng tín hiệu tiếng nói nhắm biến đổi các


số đo phổ tín hiệu thành tập các vector đặc tính mơ tả tính chất âm học của
các đơn vị ngữ âm khác nhau. Các đặc tính đó có thể là: tính chất âm mũi, âm
xát, vị trí các formant, âm hữu thanh hay vô thanh, tỷ số mức năng lượng tần
số cao so với mức năng lượng tần số thấp,…
-

Tiếp theo là bước phân đoạn và gán nhãn. Ở bước này hệ thống

nhận dạng tiếng nói cố gắng tìm các vùng âm thanh ổn định (vùng có đặc tính
thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của
đơn vị ngữ âm học. Đây là bước chủ yếu của hệ thống nhận dạng tiếng nói
theo khuynh hướng âm học-ngữ âm học, và là bước khó thực hiện tin cậy
nhất.
-

Bước cuối cùng là dựa vào một số nguyên tắc lựa chọn để kết hợp

chính xác các khối ngữ âm để tạo thành các từ nhận dạng.
Đặc điểm của phương pháp nhận dạng tiếng nói theo phương pháp âm họcngữ âm học này là:
9 Để đảm bảo độ chính xác thì người thiết kế phải có kiến thức khá
sâu rộng về âm học- ngữ âm học.
9 Sự phân tích các khối ngữ âm cịn mang tính trực giác, khó chính
xác.
9 Sự phân loại theo các khối ngữ âm thường không tối ưu do khó sử
dụng các cơng cụ tốn học để phân tích.
I.2.2.Phương pháp nhận dạng mẫu.
Phương pháp này khơng cần xác định đặc tính âm học hay phân đoạn tiếng
nói mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng.
Các hệ thống nhận dạng tiếng nói theo phương pháp này được phát triển theo

2 bước. Tại bước thứ nhất, hệ thống sử dụng một tập mẫu tiếng nói (mẫu
tham chiếu). Bước thứ hai hệ thống nhận dạng các mẫu tiếng nói từ bên
ngồi, so sánh chúng với các mẫu đặc trưng để nhận dạng.

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

4


Chương I. Tổng quan về nhận dạng tiếng nói

Trong phương pháp này, cơ sở dữ liệu tiếng nói dùng cho huấn luyện có đủ
các phiên bản của mẫu cần nhận dạng thì q trình huấn luyện có thể xác định
chính xác các đặc tính âm học của mẫu (mẫu ở đây có thể là âm vị, từ , cụm
từ, ..). Trước đây, đối với các hệ thống nhận dạng tiếng nói là các từ rời rạc,
vốn từ vựng cỡ nhỏ thì người ta thường áp dụng các kĩ thuật nhận dạng mẫu
đơn giản như: lượng tử hóa vector, hiệu chỉnh thời gian động, … Hiện nay có
hai kỹ thuật nhận dạng mẫu được áp dụng khá thành công trong lĩnh vực nhận
dạng tiếng nói đó và mơ hình Markov ẩn và mạng Nơ-ron.
Sơ đồ khối của hệ thống nhận dạng tiếng nói theo phương pháp này như sau
[1]:

Tín
hiện
tiếng
nói

Huấn luyện
mẫu


Trích chọn
đặc tính

Mẫu chuẩn
hoặc các mơ
hình

K 1
2
Phân loại
mẫu

quyết định
logic

Từ đựơc
nhận
dạng

Hình 1.3 Sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp nhận
dạng mẫu.
Hoạt động của hệ thống được tóm tắt như sau:
-

Trích chọn đặc trưng tiếng nói: đầu tiên tín hiệu tiếng nói được

phân tích thành một chuỗi các số đo để xác định mẫu nhận dạng. Các số đo
đặc tính thường là kết quả của một số kỹ thuật phân tích phổ như: các bộ lọc
thơng dải, phân tích mã hóa tiên đốn tuyến tính (LPC), phép biến đổi Fourier
rời rạc (DFT),…


Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

5


Chương I. Tổng quan về nhận dạng tiếng nói

-

Huấn luyện mẫu: các mẫu tiếng nói tương ứng với các đơn vị âm

thanh cùng loại được dùng để tạo ra các mẫu hoặc các mơ hình đại diện, cịn
gọi là mẫu tham chiếu hay mẫu chuẩn.
-

Nhận dạng: các mẫu tiếng nói được đưa tới khối phân loại mẫu,

khối này có nhiệm vụ so sánh mẫu đầu vào cần nhận dạng với các mẫu tham
chiếu đã được xác định, rồi dựa trên một số tiêu chuẩn để quyết định xem
mẫu tham chiếu nào giống mẫu đầu vào nhất.
Một số đặc điểm của phương pháp nhận dạng mẫu:
- Hiệu năng của hệ thống rất nhạy cảm đối với số dữ liệu mẫu đưa vào
huấn luyện. Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ thống càng
cao, tuy nhiên dung lượng bộ nhớ và thời gian luyện mẫu cũng tăng theo.
- Các mẫu tham chiếu thường phụ thuộc vào môi trường phát âm và
các đặc tính truyền dẫn của mơi trường.
- Phương pháp này có thể được sử dụng để nhận dạng từ mà khơng địi
hỏi khả năng âm hiểu sâu về ngơn ngữ.
I.2.3.


Phương pháp ứng dụng trí tuệ nhân tạo

Có thể coi đây là phương pháp kết hợp của các phương pháp trên với ý tưởng
tận dụng tối đa các ưu điểm của từng phương pháp, đồng thời cố gắng mô
phỏng khả năng tuyệt vời của con người trong sự phân tích và cảm nhận các
sự kiện bên ngồi nói chung và tiếng nói nói riêng.
Đặc điểm chung của các hệ thống nhận dạng theo phương pháp này là:
-

Sử dụng hệ chuyên gia để phân đoạn , gán nhãn ngữ âm học. Điều

này làm đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm.
-

Sử dụng mạng nơ-ron để học mối quan hệ giữa các ngữ âm. Sau đó

dùng mạng này để nhận dạng tiếng nói.
Việc sử dụng hệ chuyên gia ở đây là nhằm mục đích tận dụng các nguồn kiến
thức của con người vào trong hệ thống nhận dạng, đó là:
-

Kiến thức về âm học: Nhằm để phân tích phổ và xác định đặc tính
âm học của các mẫu tiếng nói đầu vào.

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

6



Chương I. Tổng quan về nhận dạng tiếng nói

-

Kiến thức về từ vựng : Sử dụng để kết hợp các khối ngữ âm thành
các từ cần nhận dạng.

-

Kiến thức về cú pháp: Nhằm kết hợp các từ thành các câu cần nhận
dạng.

-

Kiến thức về ngữ nghĩa: Nhằm xác định tính logic của các câu đã
được nhận dạng.

Tùy theo các hệ thống khác nhau mà sự kết hợp các nguồn kiến thức từ hệ
chuyên gia là khác nhau.
Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào một bộ nhận
dạng tiếng nói. Phương pháp thơng dụng nhất là xử lý “từ dưới lên” (hình
1.4). Theo cách này, các tiến trình xử lý của hệ thống được triển khai tuần tự
từ thấp lên cao.
Trong sơ đồ hình 1.4, các bước xử lý ở mức thấp (phân tích tín hiệu, tìm đặc
tính, phân đoạn , gán nhãn) được triển khai trước khi thực hiện các bước xử lý
ở mức cao hơn (phân lớp âm thanh, xác định từ, xác định câu). Mỗi bước xử
lý đòi hỏi mỗi hoặc một số nguồi kiến thức nhất định [1]. Ví dụ: bước phân
đoạn tiếng nói cần có sự hiểu biết sau sắc về đặc tính âm học- ngữ âm học
của các đơn vị ngữ âm, bước xác định từ đòi hỏi kiến thức về từ vựng, bước
xác định câu đòi hỏi kiến thức về mơ hình ngơn ngữ ngun tắc ngữ pháp.


Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

7


Chương I. Tổng quan về nhận dạng tiếng nói

Hình 1.4. mơ hình theo phương pháp botton-up.
Do ưu điểm của phương pháp nhận dạng mẫu nên phương pháp này đã và
đang được áp dụng thành công trong các ứng dụng nhận dạng tiếng nói thực
tế. Vì vậy đồ án này sẽ sử dụng phương pháp nhận dạng mẫu cho bài toán
nhận dạng tiếng nói Tiếng Việt. Bước đầu tiên của quá trình nhận dạng là
phân tích tham số đặc trưng tiếng nói, chương sau sẽ trình bày chi tiết về
phương pháp này.

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

8


Chương II. Phân tích tham số tiếng nói

CHƯƠNG II.

PHÂN TÍCH THAM SỐ TIẾNG NĨI

Trong các lĩnh vực tiếng nói như nhận dạng, tổng hợp, mã hóa đều cần phải
phân tích tham số tiếng nói. Trong chương này sẽ mơ tả hai kỹ thuật dùng để
trích chọn các đặc trưng của tiếng nói, đó là phương pháp phân tích cepstal

thơng qua mã hóa tiên đốn tuyến tính LPC (Linear Predictive Coding), và
phương pháp phân tích cepstral theo thang đo mel để tính các hệ số MFCC
(Mel Frequency Cepstral Corffcient) thơng qua việc sử dụng một dãy các
băng lọc (filter bank).
Khái niệm cơ bản trong phân tích tín hiệu tiếng nói là phân tích ngắn hạn theo
thời gian (short-time analysis). Trong khoảng thời gian dài, tín hiệu tiếng nói
là khơng dừng, nhưng trong khoảng thời gian đủ ngắn (10-30 ms) thì tiếng nói
được coi như là dừng. Do đó, thơng thường trong các ứng dụng xử lý tiếng
nói người ta thường chia tiếng nói thành nhiều đoạn có thời gian bằng nhau
gọi là các đoạn (khung), mỗi đoạn có độ dài khoảng từ 10 đến 30ms.
II.1. PHÁT HIỆN ĐIỂM ĐẦU CUỐI CỦA TIẾNG NÓI.
Phát hiện thời điểm bắt đầu cũng như điểm kết thúc của tiếng nói là một phần
khá quan trọng và cần thiết cho bất kì một chương trình nhận dạng tiếng nói
nào, đặc biệt là những hệ thống nhận dạng tiếng nói trong chế độ thời gian
thực. Phần này sẽ trình bày một phương pháp phát triển tiếng nói đơn giản
nhưng khá hiệu quả, đó là kĩ thuật phân tích, đánh giá dựa trên hàm năng
lượng ngắn hạn của tiếng nói [17].
II.1.1. Hàm năng lượng ngắn hạn
Hàm năng lượng ngắn hạn của tiếng nói được tính bằng cách chia tín hiệu
tiếng nói thành các đoạn , mỗi đoạn dài N mẫu. Mỗi đoạn này được nhân với
một hàm cửa sổ W(n) và với hàm cửa sổ bắt đầu ở mẫu thứ m thì hàm năng
lượng ngắn hạn Em được định nghĩa như sau:

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

9


Chương II. Phân tích tham số tiếng nói


Em =

m + N −1

∑ [ x(n)W (n − m)]

2

n=m

(2.1)

Hàm cửa sổ thường sử dụng là cửa sổ hình chữ nhật có dạng như sau :

⎧1 0 ≤ n < N
W ( n) = ⎨
n≥N
⎩0

(2.2)

II.1.2. Phát hiện điểm đầu cuối của tiếng nói.
Chúng ta có thể xây dựng thuật tốn phát hiện điểm đầu cuối của tiếng nói
dựa hàm năng lượng ngắn hạn như sau [17].
1. Với mỗi đoạn của tín hiệu, tính năng lượng ngắn hạn Em theo công
thức 2.1. Nếu Em lớn hơn giá trị ngưỡng Ethreshold đặt trước thì đánh dấu
đoạn đó là đoạn bắt đầu của tiếng nói (ký hiệu đoạn B). Ngược lại thì
xét đoạn kế tiếp cho đến khi xác định được đoạn B, nếu không xác
định được đoạn B thì tín hiệu đó khơng phải là tiếng nói.
2. Tính năng lượng ngắn hạn Em của các đoạn sau đoạn B cho đến khi

Em nhỏ hơn Ethreshold thì dừng, đánh dấu đoạn đó là đoạn kết thúc của
mỗi từ (ký hiệu là đoạn E).
3. Hiệu chỉnh điểm bắt đầu bằng cách tính năng lượng ngắn hạn em của
các section trong lân cận phía trước đoạn B, rồi chọn (section) thích
hợp có em nhỏ hơn ethreshold đặt trước làm điểm bắt đầu của tiếng nói.
Mỗi section phải có độ dài nhỏ hơn độ dài của một đoạn và
ethresholdSau khi xác định được điểm bắt đầu và kết thúc ta có thể dựa vào độ dài thời
gian đoạn âm thanh đó để tiến hành thêm bước nữa xem đó có chắc chắn là
tiếng nói hay khơng (một từ tiếng Việt nếu phát âm rõ ràng thì thường phải
dài hơn 200ms).

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

10


Chương II. Phân tích tham số tiếng nói

II.2. PHÂN TÍCH CEPSTRAL THƠNG QUA MÃ HĨA TIÊN ĐỐN
TUYẾN TÍNH
II.2.1. Các phương trình phân tích LPC
Mã hóa tiên đốn tuyến tính (Linear Predictive Coding – LPC ) là kĩ thuật xử
lý tiếng nói hiệu quả thường được sử dụng trong rất nhiều ứng dụng tổng hợp,
nhận dạng và mã hóa tiếng nói. Ý tưởng cơ bản của phương pháp này là mẫu
tín hiệu tiếng nói tại thời điển n, kí hiệu là x(n), có thể xấp xỉ là tổ hợp tuyến
tính của p mẫu quá khứ. Về mặt toán học, tiên đoán tuyến tính có thể được
mơ tả bởi phương trình sau:

x (n) ≈ a1 x ( n − 1) + a 2 x (n − 2) + ... + a p x (n − p )


(2.3)

Trong đó
n = 0, 2,..., N − 1 : số mẫu

x( n) là giá trị tại thời điểm hiện tại, x(n − i ) : mẫu tại thời điểm thứ i trước
đó

{ai } : gọi là hệ số dự đốn tuyến tính
Các hệ số được coi là khơng đổi trong tồn khung (frame) phân tích. Ta
chuyển quan hệ trên về dạng đẳng thức bằng cách thêm vào một số hạng gọi
là thành phần kích thích Gu(n):

x( n) ≈ a1 x( n − 1) + a2 x( n − 2) + ... + a p x( n − p ) + Gu ( n)

(2.4)

Trong đó u(n) là kích thích chuẩn hóa của G là độ tăng hay trọng số kích thích
(Gain). Thực hiện phép biến đổi Z cho 2 vế của đẳng thức (2.4) ta có:
p

X ( z ) = ∑ a k z − k X ( z ) + GU ( z )
k =1

(2.5)

Suy ra hàm truyền đạt:

H ( z) =


X ( z)
=
GU ( z )

1
p

1 − ∑ ak z −k

=

1
A( z )

(2.6)

k =1

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

11


Chương II. Phân tích tham số tiếng nói

Hình 2.1 là minh hoạ của biểu thức (2.6), trong đó nguồn kích thích chuẩn
hóa u(n) được nhân với trọng số kích thích G, đóng vai trị là đầu vào cho hệ
thống tồn điểm cực H ( z ) =


1
để tạo ra tín hiệu tiếng nói x(n).
A( z )
X(n)

u(n)
1/A(z)

G

Hình 2.1: Mơ hình dự đốn tuyến tính của tiếng nói

x ( n) là giá trị tiên đốn của x(n), ta có:
Kí hiệu ~
p

~
x ( n) = ∑ a k x ( n − k )

(2.7)

k =1

Khi đó sai số tiên đốn e(n) được định nghĩa là:
p

e( n ) = x ( n ) − ~
x ( n) = x ( n) − ∑ a k x ( n − k )
k =1


(2.8)

Và hàm truyền đạt của bộ lọc đảo là
A( z ) =

p
E( z)
= 1 − ∑ ak z −k
X ( z)
k =1

(2.9)

Vấ đề cơ bản của phân tích tiên đốn tuyến tính là phải xác định trực tiếp từ
tín hiệu tiếng nói một tập các hệ số tiên đoán {ak} sao cho các thuộc tính phổ
của bộ lọc số ở hình 2.1 phù hợp với các thuộc tính phổ tương ứng của dạng
song tiếng nói trong cửa sổ phân tích. Vì đặc tính phổ của tiếng nói thay đổi
theo thời gian nên các hệ số tiên đoán tại thời điểm n phải được đánh giá trên
một đoạn tín hiệu tiếng nói ngắn xung quang thời điểm n. Do vậy, cách tiếp
cận cơ bản là tìm ra một tập các hệ số tiên đốn mà tập hệ số này làm tối thiểu
hóa sai số bình phương trung bình một đoạn ngắn của tín hiệu.
Để thiết lập các phương trình xác định tập hệ số tiên đốn, ta định nghĩa tín
hiệu tiếng nói trong thời gian ngắn và sai số tại thời điểm n như sau:
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

12


Chương II. Phân tích tham số tiếng nói


xn(m)=x(n+m)

(2.10)

en(m)=e(n+m)

(2.11)

Sai số bình phương trung bình của tín hiệu tại thời điểm n sẽ có cơng thức
như sau:
p


E n = ∑ e ( m) = ∑ [ x n ( m) − ~
x n (m)] 2 = ∑ ⎢ x n (m) − ∑ a k x n (m − k )⎥
m
m
m
k =1



2

2
n

(2.12)

Khi đó các các giá trị hệ số tiên đốn ak có thể được tính theo hai phương

pháp phân tích LPC đó là phương pháp tự tương quan (Autocorrelation
Method) và phương pháp hiệp biến (Covariance method). Theo phương pháp
tự tương quan thì giá trị hệ số tiên đốn ak được tính như sau [1]:

ak = akp

, k = 1, p với p là hệ số dự đốn tuyến tính

(2.13)

II.2.2. Bộ xử lý LPC áp dụng vào nhận dạng tiếng nói

Trong các phần trước ta đã trình bầy một số đặc tính chung của phương pháp
mã hóa dự đốn tuyến tính LPC, trong phần này ta sẽ mô tả chi tiết về bộ tiền
xử lý LPC được áp dụng rộng rãi trong các ứng dụng nhận dạng tiếng nói.
Các bước cơ bản của bộ xử lý LPC được chỉ ra trong hình sau 2.2 [1]:
X1(n)

Tín hiệu
tiếng nói
Bộ lọc

X2(k, n)

X3(k,n)

Phân khung

Cửa sổ hoá


Phân tích
tuơng quan

Chỉnh giá trị
ceptral

Tính các hệ
số ceptral

Phân tích
LPC

C(m)

C(m)
Vi phân theo
thời gian

Hình 2.2 Sơ đồ khối của bộ xử lý LPC
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

13


Chương II. Phân tích tham số tiếng nói

1. Bộ lọc
Tín hiệu tiếng nói được đưa qua một bộ lọc số bậc thấp (thường là bộ lọc FIR
bậc một) để có phổ đồng đều hơn, như vậy sẽ là giảm ảnh hưởng gây ra bởi
độ chính xác hữu hạn của các xử lý tín hiệu sau này, bộ lọc số ở đây có thể là

bộ lọc cố định hoặc bộ lọc thích nghi chậm. Thường bộ lọc hiệu chỉnh trong
trường hợp này là bộ lọc cố định bậc một có dạng :
H(z)=1=a.z-1 , với 0.9≤a≤1.0
Trong trường hợp này tín hiệu ra quan hệ với tín hiệu vào theo phương trình
sai phân sau:

~
x (n) = x ( n) − a.x( n − 1)

(2.14)

Giá trị a thường được chọn là 0.97.
2. Phân khung (Đoạn blocking)
Trong bước này tín hiệu đã được hiệu chỉnh ~x (n) được phân thành các khung
(frame), mỗi khung có N mẫu. Hai khung kề nhau lệch nhau M mẫu. Khung
đầu tiên chứa N mẫu, khung thứ hai bắt đầu chậm hơn khung thứ nhất M mẫu,
và chờm lên khung thứ nhất N-M mẫu. Tương tự khung thứ ba chậm hơn
khung thứ nhất 2M mẫu (chậm hơn khung thứ hai M mẫu) và chờm lên khung
thứ nhất N-2M mẫu. Quá trình này tiếp tục cho đến khi tất cả các mẫu tiếng
nói cần phân tích thuộc về một hoặc nhiều khung.
Dễ thấy, nếu M≤N thì các khung kề nhau sẽ chờm lên nhau, kết quả là việc
đánh giá phổ sẽ liên quan từ khung này đến khung kia, nếu M <khung kề nhau sẽ chờm lên nhau, kết quả là việc đánh giá phổ từ khung này
đến khung kia sẽ rất trơn.
Ngược lại nếu M≥N thì các khung kề nhau sẽ khơng chờm lên nhau, do đó
một vài tín hiệu sẽ bị mất hồn tồn (nghĩa là khơng xuất hiện trong bất kì
khung nào), phổ thu được khi đánh giá các khung kề nhau sẽ chứa một phần
nhiễu mẫu. Biên độ nhiễu thành phần này tăng lên khi M tăng ( nghĩa là càng
nhiều mẫu bị bỏ qua khơng phân tích). Điều này là khơng thể chấp nhận được
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009


14


Chương II. Phân tích tham số tiếng nói

đối với các hệ thống nhận dạng thực tế. Nếu ta kí hiệu khung thứ k là xk(n), và
có tất cả K khung thì:

x k ( n) = ~
x ( M .k + n), n = 0,1, ..., N − 1, k = 0,1, ..., K − 1

20ms

(2.15)

10ms

Hình 2.3 Phân khung tín hiệu
3. Cửa sổ hóa (Windowing)
Bước tiếp theo trong việc xử lý là lấy cửa sổ hóa cho mỗi khung riêng rẽ, để
làm giảm thiểu tính gián đoạn tại điểm đầu và cuối của mỗi khung. Ý tưởng
của việc lấy cửa sổ ở đây là làm thon hai đầu của khung tín hiệu cần phân
tích. Nếu ta định nghĩa cửa sổ là w(n), 0≤n≤N-1, kết quả sau khi lấy cửa sổ
hóa là:

~
x k ( n ) = x k ( n ) w ( n ),

0 ≤ n ≤ N −1


(2.16)

Cửa sổ thường được sử dụng trong phương pháp phân tích tự tương quan là
cửa sổ Hamming, cửa sổ này có dạng:

⎛ 2πn ⎞
w(n) = 0.54 − 0.64 cos⎜
⎟, 0 ≤ n ≤ N − 1
⎝ N −1⎠

(2.17)

4. Phân tích tương quan
Mỗi khung sau khi đi qua cửa sổ được lấy mẫu tự tương quan

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

15


Chương II. Phân tích tham số tiếng nói

rk ( m) =

N −1− m

∑ ~x (n) ~x (n + m),
n =0


k

k

m = 0, 1, ..., p

(2.18)

Trong đó p là bậc của phân tích LPC. Một lợi ích phụ khi phân tích tự tương
quan là giá trị tương quan đầu tiên, rk(0), là năng lượng của khung thứ k.
Năng lượng của khung là một tham số quan trọng trong các hệ thống phát
triển tiếng nói.
5. Phân tích LPC
Bước xử lý tiếp theo là phân tích LPC, bước này sẽ chuyển p+1 giá trị tương
quan của mỗi khung thành một ‘tập tham số LPC’, tập tham số này có thể là
các hệ số LPC, hệ số phản xạ (PARCOR), hệ số cepstral, hay bất cứ thông tin
nào được suy ra từ các tập trên. Phương pháp tìm các hệ số LPC từ giá trị
tương quan đã được trình bày trong phần phân tích tự tương quan (các hệ số
PARCOR tương ứng là các km trong phương pháp này).
6. Chuyển đổi các tham số LPC thành các hệ số cepstral
Mục đích của việc chuyển đổi các tham số LPC là thu được các tập tham số
khác có ích hơn cho các xử lý sau này. Một trong những tập tham số rất quan
trọng có thể suy ra trực tiếp từ các hệ số LPC là các hệ số cepstral, c(m). Sử
dụng thủ tục truy hồi sau:
c0=lnσ2

(2.19)
m −1

⎛k⎞

c m = a m + ∑ ⎜ ⎟c k a m − k , 1 ≤ m ≤ p
k =1 ⎝ m ⎠

(2.20)

m −1
⎛k⎞
c m = ∑ ⎜ ⎟c k a m − k , m > p
k =1 ⎝ m ⎠

(2.21)

Trong đó σ2 là trọng số kích thích trong mơ hình LPC. Các hệ số này thích
hợp hơn cho hệ thống nhận dạng so với các hệ số khác như hệ số LPC hay hệ
số PARCOR. Thường dùng số các hệ số cepstral Q lớn hơn số các hệ số LPC
⎛3⎞
p (Q ≈ ⎜ ⎟ p ) .
⎝2⎠

Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

16


Chương II. Phân tích tham số tiếng nói

7. Tính các hệ số Cepstral.
Bởi vì độ nhạy của các hệ số cepstral bậc thấp làm cho phổ toàn bộ bị đổ dốc,
và độ nhạy của hệ số cepstral bậc cao gây ra nhiễu, nên người ta thường sử
dụng cửa sổ cepstral để cực tiểu hóa các độ nhạy này.

Cơng thức biểu diễn các hệ số cepstral có trọng số là:
cˆm = wm c m 1 ≤ m ≤ Q

(2.22)

Hàm trọng số thích hợp là bộ lọc thơng dải trong miền cepstral:
⎡ Q ⎛ πm ⎞⎤
⎟⎟⎥ 1 ≤ m ≤ Q
wm = ⎢1 + sin ⎜⎜
⎣ 2 ⎝ Q ⎠⎦

(2.230)

8. Tính đạo hàm cepstral theo thời gian
Biểu diễn cepstral của phổ tiếng nói là biểu diễn tốt tính chất phổ địa phương
ứng vói một đoạn đã cho. Để cải thiện hơn nữa ta có thể khảo sát thêm đạo
hàm cepstral theo thời gian. Kí hiệu hệ số cepstral thứ m tại thời điểm t là
cm(t). Khi tổi chức chương trình, thời gian t sẽ là chỉ số frame. DO cm(t) được
biểu diễn rời rạc theo thời gian nên dùng vi phân cấp một và cấp hai để xấp xỉ
đạo hàm là không thích hợp. Các xử lý phù hợp hơn cả là xấp xỉ ∂cm (t ) ∂t
bằng một đa thức trực giao phù hợp trên cửa sổ có chiều dài hữu hạn, tức là:
K
∂c m (t )
= ∆c m (t ) ≈ µ ∑ kc m (t + k )
∂t
k =− K

(2.24)

Trong đó µ là hằng số chuẩn hóa thích hợp và (2K+1) là số lượng đoạn cần

tính (K=3 là giá trị hay được sử dụng để tính đạo hàm cấp một).
Kết thúc bước trên với mỗi đoạn t ta thu được một vector có 2Q thành phần
gồm Q hệ số cepstral có trọng số và Q hệ số đạo hàm theo thời gian của nó.
II.3. PHÂN TÍCH CEPSTRAL TRÊN THEO THANG ĐO MEL

Bên cạnh phương pháp phân tích cepstral thơng qua mã hóa tiên đốn tuyến
tính LPC, cịn có một phương pháp trích chọn tham số tiếng nói khác được sử
dụng khá rộng rãi bởi tính hiệu quả của nó, đó là phương pháp tính các hệ số
MFCC (Mel Frequency Cepstral Coeffcient) thơng qua việc phân tích cepstral
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

17


Chương II. Phân tích tham số tiếng nói

theo thang đo mel [1]. Phương pháp này được xây dựng dựa trên sự biến đổi
cảm nhận của tai người đối với các dải tần số khác nhau. Đối với các tần số
thấp (dưới 1000Hz) thì độ cảm nhận là tuyến tính, cịn đối với các tần số cao
thì độ biến thiên là theo hàm logarit. Các băng lọc tuyến tính ở tần số thấp và
biến thiên theo hàm logarit ở tần số cao sẽ được sử dụng để trích chọn các đặc
trưng âm học quan trọng của tiếng nói. Mơ hình tính tốn hệ số MFCC được
mơ tả trong hình 2.4.

xi (n)

~
xi (n)

cˆi (t )


ci(t)

mk

∆cˆi (t )

H
Hình 2.4 sơ đồ tính tốn các hệ số MFCC
1. Bộ lọc hiệu chỉnh (preemphasis)

Tín hiệu tiếng nói được đưa qua một bộ lọc số bậc thấp (thường là bộ lọc FIR
bậc một) để có phổ đồng đều hơn, như vậy sẽ là giảm ảnh hưởng gây ra bởi
độ chính xác hữu hạn của các xử lý tín hiệu sau này, bộ lọc số ở đây có thể là
bộ lọc cố định hoặc bộ lọc thích nghi chậm. Thường bộ lọc hiệu chỉnh trong
trường hợp này là bộ lọc cố dịnh bậc một có dạng :
H(z)=1=a.z-1 , với 0.9≤a≤1.0
Trong trường hợp này tín hiệu ra quan hệ với tín hiệu vào theo phương trình
sai phân sau:

~
x (n) = x(n) − a.x(n − 1)

(2.25)

Giá trị a thường được chọn là 0.97.
Nguyễn Tuấn Hải – Lớp cao học đo lường và các hệ thống điều khiển 2007-2009

18



×