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

Xây dựng chương trình nhận dạng tiếng nói tiếng việt bộ từ vựng hạn chế ứng dụng điều khiển robot

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 (2.25 MB, 61 trang )

Lời nói đầu
Tiếng nói là phương tiện giao tiếp cơ bản nhất của loài người, nó hình
thành và phát triển song song với quá trình tiến hóa của loài người. Đối với con
người, sử dụng lời nói là một cách diễn đạt đơn giản và hiệu quả nhất. Ưu điểm
của việc giao tiếp bằng tiếng nói trước tiên là ở tốc độ giao tiếp, tiếng nói từ
người nói được người nghe hiểu ngay lập tức sau khi được phát ra.
Ngày nay, nhờ sự phát triển của khoa học kỹ thuật, máy móc dần dần thay
thế các lao động tay chân. Tuy nhiên để điều khiển máy móc, con người phải làm
khá nhiều thao tác tốn nhiều thời gian và cần phải được đào tạo. Điều này gây trở
ngại không ít đối với việc sử dụng các máy móc, thành tựu khoa học kỹ thuật.
Trong khi đó, nếu điều khiển máy móc thiết bị bằng tiếng nói sẽ dễ dàng hơn.
Nhu cầu điều khiển máy móc thiết bị bằng tiếng nói càng bức thiết hơn đối với
các thiết bị cầm tay, như: điện thoại di động, máy Palm/Pocket PC,…
Để máy tính có thể nghe được tiếng nói, âm thanh con người đã xây dựng
lĩnh vực nhận dạng tiếng nói. Hơn nửa thế kỷ trôi qua con người đã thu được
những thành tựu đáng kể, và có những ứng dụng hữu ích thiết thực vào trong
cuộc sống. Nhưng dù sao khả năng nghe hiểu của máy tính vẫn còn nhiều hạn
chế và khoảng cách khác xa so với thực tế. Mặt khác, nhận dạng tiếng nói chỉ
đang được phát triển trên các thứ tiếng khác, còn đối với nước ta nhận dạng tiếng
nói vẫn còn là một lĩnh vực khá mới mẻ.
Vì vậy, trong quá trình làm đồ án em xây dựng đề tài:” Xây dựng chương
trình nhận dạng tiếng nói tiếng Việt bộ từ vựng hạn chế. Ứng dụng điều khiển
Robot ” với mong muốn tìm hiểu được sâu hơn về lĩnh vực nhận dạng tiếng nói
tiếng Việt. Cách thức nhận dạng tiếng nói khi sử dụng thuật toán Dynamic Time
Warping (DTW). Tìm hiểu các ứng dụng và thành tựu của những người đi trước
đã thu được và có thể góp phàn thúc đẩy quá trình phát triển của lĩnh vực nhận
dạng âm thanh…

1



Hoàn thành luận văn tốt nghiệp này có sự đóng góp rất lớn của thầy giáo
Phùng Trung Nghĩa, Bộ môn Điện tử viễn thông – Khoa Công Nghệ Thông Tin
– Đại học Thái Nguyên. Thầy đã tận tình hướng dẫn tạo điều kiện cho em trong
quá trình thực hiện nghiên cứu về nhận dạng tiếng nói, em xin chân thành cảm ơn
thầy.
Em xin gửi lời cám ơn các thầy, cô giáo trong khoa Công nghệ thông tin
Đại học Thái Nguyên, đã giảng dạy giúp đỡ em trong suốt năm năm học vừa qua.
Và em cũng xin chân thành cám ơn sự động viên chăm sóc của gia đình và
sự cộng tác giúp đỡ và ủng hộ tinh thần của bạn bè.

Thái Nguyên, tháng 06 năm 2008

2


Mục lục hình ảnh
Hình 1.1 Sơ đồ nhận dạng tổng quát ...................................................................7
Hình 1.2 Mô tả giai đoạn huấn luyện ...................................................................8
Hình 1.3 Các lĩnh vực trong xử lý tiếng nói ......................................................10
Hình 1.4 Danh giới giữa “cô” và “ấy” không rõ ràng.........................................11
Hình 1.5 Người nói khác nhau sẽ phát âm khác nhau........................................13
Hình 1.6 Mô hình nhận dạng bán độc lập người nói..........................................13
Hình 1.7 Các thành phần cơ bản của hệ thống ASR ..........................................14
Hình 1.8 Tổng quan về quá trình rút trích các vector đặc trưng.........................16
Hình 1.9 Các dạng cửa sổ thường dùng ............................................................16
Hình 1.10 Các kỹ thuật nhận dạng tiếng nói và xu hướng phát triển .................17
Hinh 1.11 HMM với 3 trạng thái và trọng số chuyển trạng thái .........................20
Hình 2.1 Ví dụ về lấy mẫu tín hiệu f(t) trên miền thời gian...............................21
Hình 2.2 Minh họa hoạt động bộ lọc FIR..........................................................22
Hình 2.2 Minh họa hoạt động bộ lọc IIR...........................................................23

Hình 2.4 Dò tìm điểm cuối dựa vào mức năng lượng........................................24
Hình 2.5 Sơ đồ rút trích vector đặc trưng tổng quát ..........................................25
Hình 2.6 Sơ đồ rút trích đặc trưng chi tiết.........................................................25
Hình 2.7 Phân tích wavelet................................................................................26
Hình 2.8 Phân đoạn tiếng nói thành các khung chồng lấp .................................27
Hình 2.10 Sự khác biệt giữa các dạng cửa sổ tín hiệu .......................................30
Hình 2.11 Biến đồi Fourier ................................................................................32
Hình 2.12 Biến đổi Fourier thời gian ngắn.........................................................33
Hình 2.14 Các bước trích đặc trưng MFCC .......................................................37
Hình 2.15 Bộ lọc trên thang Mel........................................................................38
Hình 2.16 Bộ lọc trên tần số thật .......................................................................38
Hình 2.17 Minh họa các bước biến đổi MFCC ..................................................38
Hình 2.18 Sơ đồ xử lý LPC dùng cho trích đặc trưng tiếng nói........................40
Hình 2.19 Hình dạng tín hiệu tiếng nói..............................................................46

3


Hình 2.20 Kết quả trích F0 ................................................................................47
Hình 2.21 Kết quả sau khi lọc Median...............................................................47
Hình 3.1 Nguyên lý Bellman đo khoảng cách vector .........................................51
Hình 3.2 Nguyên tắc tính tổng quát ...................................................................51
Hình 3.3a Đo khoảng cách giữa 2 vector X và M...............................................52
Hình 3.3b Kết quả Đo khoảng cách giữa 2 vector X và M .................................52
Hình 3.4 Giao diện chức năng lựa chọn .............................................................55
Hình 3.5 Thêm file vào cơ sở dữ liệu.................................................................56
Hình 3.6 Nhận dạng từ file ................................................................................57
Hình 3.7 Nhận dạng từ Microphone...................................................................58

4



Mục lục
Lời nói đầu.........................................................................................................1
Mục lục hình ảnh...............................................................................................3
Mục lục...............................................................................................................5
Mục lục...............................................................................................................5
Chương 1 Tổng quan về nhận dạng tiếng nói ..................................................7
1.1 Nhận dạng..................................................................................................7
1.2 Nhận dạng tiếng nói ...................................................................................8
1.2.1 Xử lý âm thanh .................................................................................10
1.2.2 Phân loại nhận dạng tiếng nói ...........................................................11
1.2.2.1 Nhận dạng từ liên tục và nhận dạng từ cách biệt..........................11
1.2.2.2 Nhận dạng phụ thuộc người nói và độc lập người nói..................12
1.2.3 Hệ thống nhận dạng tiếng nói tự động ..............................................13
1.2.4 Lý thuyết nhận dạng tiếng nói...........................................................14
1.2.4.1 Rút trích vector đặc trưng............................................................15
1.2.4.2 Phân lớp......................................................................................16
Chương 2 Xử lý tiếng nói rút trích vector đặc trưng....................................21
2.1 Xử lý tiếng nói .........................................................................................21
2.1.1 Lấy mẫu tín hiệu................................................................................21
2.1.2 Bộ lọc tín hiệu ..................................................................................22
2.2 Rút trích đặc trưng ...................................................................................25
2.2.1 Các bước rút trích đặc trưng .............................................................25
2.2.1.1 Làm rõ tín hiệu............................................................................26
2.2.1.2 Phân đoạn thành các khung ........................................................26
2.2.1.3 Lấy cửa sổ..................................................................................27
2.2.2 Các dạng đặc trưng tiếng nói ............................................................31
2.2.2.1 Biến đổi tín hiệu sang miền tần số..............................................32
2.2.2.2 Đặc trưng năng lượng.................................................................35

2.2.2.3 Đặc trưng MFCC(Mel Frequency Cepstral Coefficients)............35

5


2.2.2.4 Đặc trưng LPC(Linear predictive coding)...................................39
2.2.2.5 Đặc trưng tần số cơ bản.............................................................42
Chương 3 Xây dựng chương trình nhận dạng tiếng nói tiếng Việt bộ từ vựng
hạn chế .............................................................................................................48
3.1 Thuật toán DTW (Dynamic Time Warpping)...........................................48
3.1.1 Định nghĩa.........................................................................................48
3.1.2 Các đặc trưng trong nhận dạng tiếng nói...........................................48
3.2 Nhận dạng âm thanh sử dụng DTW .........................................................50
3.3 Thuật toán DTW và chương trình nhận dạng tiếng nói .............................53
3.3.1 Thủ tục chính.....................................................................................53
3.3.2 Chương trình nhận dạng tiếng nói tiếng Việt .....................................55
3.3.2.1 Nhận dạng tĩnh (Nhận dạng từ file) .............................................56
3.2.2.2 Nhận dạng động (Nhận dạng từ Microphone)..............................57
Kết luận............................................................................................................59
Tài liệu tham khảo...........................................................................................60
Nhận xét của giáo viên.....................................................................................61

6


Chương 1 Tổng quan về nhận dạng tiếng nói
1.1 Nhận dạng
Nhận dạng đối với con người là quá trình mô phỏng lại sự nhận biết các
sự vật hiện tượng xung quanh của não người. Một hệ nhận dạng trên máy tính
cũng mô phỏng lại quá trình đó, và được xây dựng với các thành phần cơ bản

sau:
 Module thu nhận tín hiệu và trích đặc trưng: Thu nhận tín hiệu cần
nhận dạng, tiền xử lý và rút ra các đặc trưng bất biến của đối tượng.
 Module học mẫu: Cho máy biết đối tượng sẽ nhận dạng và các đặc
trưng tương ứng.
 Module tra cứu – so khớp: Tìm mối liên hệ giữa các đối tượng vừa
mới nhận vào với các đối tượng đã lưu trước đó bằng một phương
pháp tra cứu – so khớp nào đó và đưa ra kết quả.
Sơ đồ tổng quát thường như sau:

Hình 1.1 Sơ đồ nhận dạng tổng quát
Quá trình xây dựng hệ nhận dạng trải qua hai giai đoạn:
1. Giai đoạn huấn luyện:
 Thu thập mẫu
 Tách đặc trưng của mẫu và phân loại thành các lớp khác
nhau (tuỳ thuộc mô hình nhận dạng).

7


 Huấn luyện cơ cấu nhận dạng ghi nhớ đặc trưng của mỗi
lớp.

Hình 1.2 Mô tả giai đoạn huấn luyện
2. Giai đoạn nhận dạng:
 Nhận vào đối tượng cần nhận dạng
 Đặc trưng của đối tượng và dùng cơ cấu nhận dạng xác định
lớp chứa đối tượng.
 Xác định, đưa ra và sử dụng kết quả.
1.2 Nhận dạng tiếng nói

Nhận dạng tiếng nói bao gồm cả nhận dạng âm tiết rời rạc, liên tục, nhận
dạng người nói, ngôn ngữ nói và cao cấp hơn có thể nhận dạng được trạng thái
tâm lý của người nói. Có rất nhiều ứng dụng của nhận dạng tiếng nói trong đời
sống xã hội như xác nhận thông tin (liên quan đến security), dịch tự động, các hệ
thống phone banking, voice mail,… Tuy nhiên cái mà mọi người cố gắng nghiên
cứu là làm sao máy tính có thể giao tiếp với con người thông qua tiếng nói. Nhận
dạng tiếng nói là một lĩnh vực của xử lý ngôn ngữ tự nhiên (Natural Language
Processing), tức là về cơ bản nhận dạng tiếng nói phụ thuộc vào ngôn ngữ nói.
Do vậy ngôn ngữ nhận dạng tiếng Việt rất khác so với tiếng Anh và các thứ tiếng

8


khác. Một ví dụ đơn giản để có thể hình dung, nếu sử dụng các engine nhận dạng
tiếng Anh có sẵn (bao gồm cả software như speech engine trong Microsoft Office
hay hardware như một số vi mạch xử lý tiếng nói đang bán trên thị trường) thì
hiệu quả đối với tiếng Việt là khá thấp. Một số không thể phân biệt được như
chuẩn, chuẫn, chuân,…(vì tiếng Việt có thanh điệu - tonal language, còn tiếng
Anh thì không), vì vậy nhận dạng tiếng Việt chỉ có thể do người Việt làm. Nhận
dạng và tổng hợp tiếng nói không thể dựa trên các mức xử lý thấp (signal
processing) mà còn phải kết hợp xử lý thông tin ở các mức cao và cao nhất là tri
thức.
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là
phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự
các mẫu đã được học trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị
nhận dạng, chúng có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất biến
và không thay đổi thì công việc nhận dạng tiếng nói trở nên đơn giản bằng cách
so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã được học và lưu trữ trong
bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn biến thiên
theo thời gian và có sự khác biệt lớn giữa tiếng nói của những người nói khác

nhau, tốc độ nói, ngữ cảnh và môi trường âm học khác nhau. Xác định những
thông tin biến thiên nào của tiếng nói là có ích và những thông tin nào là không
có ích đối với 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ả với các kỹ thuật xác suất thống kê mạnh cũng khó khăn trong
việc tổng quát hoá từ các mẫu tiếng nói những biến thiên quan trọng cần thiết
trong nhận dạng tiếng nói.
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
một khung thời gian ngắn (short-term amplitude spectrum). Nhờ vậy ta
có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn
và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói.

9


 Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, 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
chúng 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 (semantics) và suy đoán (pragmatics) 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 là không rõ ràng.
1.2.1 Xử lý âm thanh
Khi âm thanh được máy vi tính hỗ trợ thì nhu cầu xử lý âm thanh đã xuất
hiện. Các nhu cầu này đã tạo ra nhiều lĩnh vực ứng dụng trong thực tế. Chẳng
hạn như: Tổng hợp âm thanh (Synthesis), nén âm thanh (Compression), nhận
dạng người nói (speaker recognition), dạng tiếng nói (speech recognition)… Các
lĩnh vực ứng dụng khác nhau của xử lý tiếng nói được thể hiện qua hình 1.3.

Hình 1.3 Các lĩnh vực trong xử lý tiếng nói
Xử lý âm thanh đóng một vai trò quan trọng trong quá trình nhận dạng

tiếng nói, nó cần trong việc lọc nhiễu tín hiệu, biến đổi tín hiệu, rút trích vector
đặc trưng,…

10


1.2.2 Phân loại nhận dạng tiếng nói
1.2.2.1 Nhận dạng từ liên tục và nhận dạng từ cách biệt
Một hệ nhận dạng tiếng nói có thể là một trong hai dạng: nhận dạng liên
tục và nhận dạng từng từ.
Nhận dạng liên tục 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, chẳng hạn như một câu nói, một mệnh lệnh hoặc một đoạn
văn được đọc bởi người dùng. Các hệ thống loại này rất phức tạp, nó phức tạp ở
chỗ các từ được phát liên tục khó xử lý kịp (nếu cần thời gian thực), hoặc khó
tách ra nếu như người nói liên tục không có khoảng nghỉ (thông thường rất hay
xảy ra trong thực tế). Kết quả tách từ ảnh hưởng rất lớn đến các bước sau, cần
xử lý thật tốt trong quá trình này.
Trái lại, đối với mô hình nhận dạng từng từ, mỗi từ cần nhận dạng được
phát âm một cách rời rạc, có các khoảng nghỉ trước và sau khi phát âm một từ.
Mô hình loại này dĩ nhiên đơn giản hơn mô hình nhận dạng liên tục, đồng thời
cũng có những ứng dụng thực tiễn như trong các hệ thống điều khiển bằng lời
nói, quay số bằng giọng nói…, với độ chính xác khá cao, tuy nhiên khó áp dụng
rộng rãi đối với mô hình trên.

Hình 1.4 Danh giới giữa “cô” và “ấy” không rõ ràng

11


1.2.2.2 Nhận dạng phụ thuộc người nói và độc lập người nói

Đối với nhận dạng phụ thuộc người nói thì mỗi một hệ nhận dạng chỉ
phục vụ được cho một người, và nó sẽ không hiểu người khác nói gì nếu như
chưa được huấn luyện lại từ đầu. Do đó, hệ thống nhận dạng người nói khó
được chấp nhận rộng rãi vì không phải ai cũng đủ khả năng kiến thức và nhất là
kiên nhẫn để huấn luyện hệ thống. Đặc biệt là hệ thống loại này không thể ứng
dụng ở nơi công cộng.
Ngược lại, hệ thống nhận dạng độc lập người nói thì lý tưởng hơn, ứng
dụng rộng rãi hơn, đáp ứng được hầu hết các yêu cầu đề ra. Nhưng không may là
hệ thống lý tưởng như vậy gặp một số vấn đề, nhất là độ chính xác của hệ thống.
Trong thực tế, mỗi người có một giọng nói khác nhau, thậm chí ngay
cùng một người cũng có giọng nói khác nhau ở những thời điểm khác nhau. Điều
này ảnh hưởng rất lớn đến việc nhận dạng, nó làm giảm độ chính xác của hệ
thống nhận dạng xuống nhiều lần. Do đó để khắc phục khuyết đ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, đòi hỏi lượng
dữ liệu huấn luyện lớn hơn nhiều lần (dữ liệu được thu từ nhiều giọng khác nhau
của nhiều người). Nhưng điều này cũng không cải thiện được bao nhiêu chất
lượng nhận dạng. Do đó, trong thực tế có một cách giải quyết là bán độc lập
người nói. Phương pháp này thực hiện bằng cách thu mẫu một số lượng lớn các
giọng nói khác biệt nhau. Khi sử dụng, hệ thống sẽ được điều chỉnh cho phù hợp
với giọng của người dùng, bằng cách nó học thêm một vài câu có chứa các từ cần
thiết (người dùng trước khi sử dụng hệ thống cần phải qua một quá trình ngắn
huấn luyện hệ thống). Điều này đã được Microsoft đưa vào bộ phần mềm Office
của mình.
Nhận dạng độc lập người nói khó hơn rất nhiều so với nhận dạng phụ
thuộc người nói. Cùng một từ, một người, dù có cố gắng phát âm cho thật giống
đi nữa thì cũng có sự khác biệt. Đối với bộ não con người, một hệ thống hoàn
hảo, thì sự khác biệt đó có thể được bỏ qua do ngữ cảnh, và do có phần xử lý làm
mờ đi của não. Nhưng đối với máy tính thì rất khó xây dựng được một mô hình
giải quyết cho tất cả các trường hợp khác biệt đó.


12


Hình 1.5 Người nói khác nhau sẽ phát âm khác nhau

Hình 1.6 Mô hình nhận dạng bán độc lập người nói
1.2.3 Hệ thống nhận dạng tiếng nói tự động
Nhận dạng tiếng nói tự động (Automatic Speech Recognition - ASR) có
nghĩa là chuyển đổi tự động tiếng nói thành chữ viết hoặc thành một trong các
chức năng của thiết bị.
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:
 Rút trích đặc trưng tiếng nói: biến đổi tín hiệu âm thanh
thành chuỗi các vector đặc trưng. Ngoài ra, quá trình này còn giải
quyết vấn đề dò tìm điểm cuối (phân biệt trong chuỗi âm thu được
đâu là tiếng nói đâu là độ ồn nền) và lọc nhiễu.

13


 Quá trình phân lớp và nhận dạng: Thực chất đây là quá
trình nhận dạng dựa trên mô hình âm thanh, từ điển phát âm và mô
hình ngôn ngữ của hệ thống. Mô hình ngôn ngữ ở đây thực chất chỉ
biểu diển một ngữ pháp nào đó, nó có thể ứng với một ngôn ngữ cụ
thể hoặc đơn giản chỉ gói gọn trong phạm vi ứng dụng của hệ
thống, điều này góp phần giảm thiểu phạm vi nhận dạng của tiếng
đó trong một vài từ chứ không phải toàn bộ từ vựng.
 Giải mã: Quá trình này quá trình này có thể chỉ đơn giản là xuất ra
chuỗi văn bản nhận dạng được hoặc là một quá trình phân tích
chuỗi nhận được ứng với tác vụ gì và thực hiện tác vụ đó.


Hình 1.7 Các thành phần cơ bản của hệ thống ASR
Ứng dụng:
 Điều khiển bằng tiếng nói (khoảng 30 từ): Nhận dạng tên người,
chữ số của hệ thống quay số bằng giọng nói trên điện thoại di động,
điều khiển thiết bị điện tử,…
 Trong điện tử viễn thông (khoảng 2000 từ): Tự động điền mẫu đơn
trong hệ thống xử lý thông tin, tổng đài điện thoại, …
 Từ điển (khoảng 64k từ): Chuyển đổi thư thoại (bộ từ vựng lớn),
thư ký điện tử,…
1.2.4 Lý thuyết nhận dạng tiếng nói
Nhận dạng tiếng nói là kỹ thuật nhận ra các thành phần lời nói của con
người. Tiến trình này có thể được thực hiện từ việc thu vào tín hiệu tiếng nói từ
micro, và kết thúc bằng từ đã được nhận dạng được hệ thống xuất ra.

14


Việc nghiên cứu nhận dạng tiếng nói đã được bắt đầu từ cuối thập niên
40, trong đó sự phát triển nhanh chóng của công nghệ máy tính đã đóng góp một
phần rất quan trọng. Ngày nay, nhận dạng tiếng nói đã có mặt trong trong công
nghiệp ở một số lĩnh vực. . . Trong công nghiệp, khi tay và mắt của con người đã
được tận dụng triệt để, thì việc điều khiển bằng tiếng nói có một thuận lợi rất lớn.
Hơn nữa, nhận dạng tiếng nói còn được ứng dụng nhiều dạng khác nhau như hệ
thống chính tả, các đồ chơi trẻ em, trò chơi game,…
Một trình nhận dạng sẽ có thể nhận dạng được các từ khác nhau của bất kỳ
người nào trong bất kỳ môi trường nào. Nhưng trong thực tế, khả năng của hệ
thống phụ thuộc vào nhiều yếu tố khác nhau. Bộ từ vựng, đa người dùng, nhận
dạng liên tục (phức tạp hơn nhiều so với nhận dạng từng từ) là các yếu tố gây
khó khăn, phức tạp cho việc nhận dạng tiếng nói.
1.2.4.1 Rút trích vector đặc trưng

Ngày nay, việc xử lý tín hiệu tiếng nói được thực hiện trên miền số. Tín
hiệu số được thu bằng cách lấy mẫu theo một tần số nhất định, đó là việc đo tín
hiệu theo một chu kỳ thời gian. Theo lý thuyết, bất cứ một tín hiệu có băng tần
giới hạn nào cũng có thể tái tạo lại một cách hoàn chỉnh nếu như tần số lấy mẫu
FS ít nhất là gấp đôi tần số tối đa của tín hiệu (định lý Nyquist). Chất lượng của
tín hiệu được lấy mẫu còn phụ thuộc vào biên độ lấy mẫu – phụ thuộc vào số bit
được dùng.
Đối với những ứng dụng ASR, biểu diễn tín hiệu ở miền tần số thì tối ưu
hơn – một biểu diễn gọn hơn hữu dụng hơn là cần thiết. Rút trích vector đặc
trưng là việc xử lý biến đổi tín hiệu âm thanh thành một chuỗi những vector đặc
trưng. Có một vài dạng đặc trưng của tín hiệu âm thanh có thể được sử dụng làm
vector đặc trưng, chẳng hạn như là MFCC (Mel Frequency Cepstral Coeficient),
LPC (Linear Prediction Filter Coefficient),…
Để tham số hóa dạng sóng của tín hiệu, tín hiệu được chia thành chuỗi
các khung gối lên nhau theo thời gian, mỗi khung thường dài khoảng 25ms,
khoảng thời gian thích hợp để cho việc xử lý tĩnh hơn. Hình 1.8:

15


Hình 1.8 Tổng quan về quá trình rút trích các vector đặc trưng
Để khử nhiễu và làm rõ tín hiệu, các khung trước khi được xử lý được
nhân với hàm cửa sổ, thường dùng là cửa sổ Hamming hay Hanning. Sau khi áp
hàm cửa sổ cạnh của khung sẽ trở nên mịn hơn, mặt khác nó còn giúp cho thành
phần có tần số cao của tín hiệu xuất hiện trong phổ. Hình 1.9:

Hình 1.9 Các dạng cửa sổ thường dùng
1.2.4.2 Phân lớp
Sau việc biến đổi tiếng nói thành vector đặc trưng là việc nhận ra cái gì
thực sự được nói ra. Có một vài cách tiếp cận vấn đề này, như là: hướng cơ sở tri


16


thức, hướng so khớp mẫu,… những phương pháp này có thể được kết hợp với
nhau.

Hình 1.10 Các kỹ thuật nhận dạng tiếng nói và xu hướng phát triển
a) Kỹ thuật so khớp mẫu (pattern recognition)
So khớp mẫu (pattern recognition): Nhận dạng mẫu nhằm mục đích phân
loại dữ liệu (là các mẫu) dựa trên: hoặc là kiến thức tiên nghiệm

(a priori) hoặc

dựa vào thông tin thống kê được trích rút từ các mẫu có sẵn. Các mẫu cần phân
loại thường được biểu diễn thành các nhóm của các dữ liệu đo đạc hay quan sát
được, mỗi nhóm là một điểm ở trong một không gian đa chiều phù hợp. Đó là
không gian của các đặc tính để dựa vào đó ta có thể phân loại. Một hệ thống nhận
dạng mẫu hoàn thiện gồm một thiết bị cảm nhận (sensor) để thu thập các quan sát
cần cho việc phân loại hay miêu tả; một cơ chế trích rút đặc trưng (feature
extraction) để tính toán các thông tin dưới dạng số hay dạng tượng trưng
(symbolic) từ các dữ liệu quan sát được; và một bộ phân loại (hay lược đồ mô tả)
nhằm thực hiện công việc phân loại thực sự (hay miêu tả các quan sát đó) dựa
vào các đặc tính đã được trích rút.
Việc phân loại (hay lược đồ mô tả) thường dựa vào sự có sẵn của một tập
các mẫu mà đã được phân loại (hay miêu tả) sẵn. Tập các mẫu này được gọi là

17



tập huấn luyện và chiến lược học nhằm phân loại mẫu vào một trong các lớp có
sẵn được gọi là học có giám sát. Việc học cũng có thể là không có giám sát, theo
nghĩa là hệ thống không được cung cấp các mẫu được đánh nhãn (phân loại) tiên
nghiệm, mà nó phải tự đưa ra các lớp để phân loại dựa vào tính ổn định trong
thống kê của các mẫu.
Một hệ thống so khớp mẫu dựa trên ý tưởng là sự so khớp lời nói với
một số tập mẫu được lưu trữ, chẳng hạn như các đoạn âm thanh mẫu. Thường
mỗi mẫu phù hợp với một từ trong từ điển. Người phân lớp sẽ tính toán sự khác
nhau về âm thanh giữa lời nói thu vào và từng mẫu đã được lưu trữ. Sau đó, anh
ta sẽ chọn mẫu nào so khớp nhất với dữ liệu nhập.
So sánh đối tượng cần nhận dạng với các mẫu được thu thập trước đó để
tìm mẫu "giống" đối tượng nhất. Đây là phương pháp được nghiên cứu nhiều
nhất và cho kết quả khả quan nhất. Tuy nhiên đối với tiếng nói đòi hỏi rất nhiều
việc phải giải quyết:
1. Việc đầu tiên là xác định đặc trưng của âm trong tín hiệu âm (xác định các
âm khác nhau ở chỗ nào rồi so sánh độ giống nhau). Việc khảo sát mẫu và
tham khảo tài liệu cho thấy có thể dùng phân bố năng lượng và biên độ
ứng với mỗi miền tần số khác nhau làm đặc trưng của âm. Người ta đã mô
hình hoá phân bố phổ năng lượng (spectra - spectrum) của tín hiệu âm ở
các mô hình khác nhau và biểu diễu ở các dạng đặc trưng khác nhau: LPC,
MFCC, PLP…
2. Việc thứ 2 là so sánh đặc trưng như thế nào ? Không đơn giản là dùng
hàm khoảng cách Euclide vì nhiều lí do: thứ nhất là tín hiệu âm thay đổi
theo thời gian (cùng một âm tiết, cùng một người nói trong cùng một câu
cũng khác nhau: tốc độ, âm sắc, âm vực, đặc biệt là mỗi âm có thể bị ảnh
hưởng nhiều bởi các âm liền kề), thứ 2 là sự khác biệt trong hàm khoảng
cách không có ý nghĩa lắm về mặt ngữ âm. Vì thế, thường là người ta xây
dựng một cơ cấu nào đó có khả năng ghi nhớ hoặc tổng quát hoá đặc trưng
tín hiệu. 2 cơ cẩu phổ biến nhất đã được nghiên cứu là HMM (Hidden


18


Markov Model – mô hình Markov ẩn) và ANN (Artificial Neural
Networks - mạng nơ ron nhân tạo).
Đối với chương trình, một thuật toán cần được sử dụng để tìm ra sự so
khớp không tuyến tính giữa tỷ lệ thời gian giữa hai tín hiệu, nó dùng để bù đắp sự
chênh lệch do sự khác biệt tốc độ nói gây ra.
b) Mạng Neural nhận tạo ANN (Artificial Neural Networks)
Mạng Neural là một mô hình cố gắng mô phỏng hệ thống nơron thần kinh
của con người. Một mạng neural bao gồm một số lượng các nút. Những nút này
được sắp xếp thành từng lớp kết nối lẫn nhau bằng trọng số khác nhau. Thông tin
được đưa qua lớp vào, được xử lý qua mạng, sau đó được xuất ra ngoài thông
qua lớp ra. Kết quả trả về của mỗi nút được tính bằng hàm không tuyến tính các
trọng số của các giá trị vào.
Mạng có khả năng phân loại chính xác phụ thuộc vào trọng số và các giá
trị tối ưu được xác định trong quá trình huấn luyện. Khi huấn luyện, thông tin
một vài mẫu âm thanh, ví dụ như phổ biên độ, được đưa vào mạng thông qua các
nút nhập, các giá trị kết xuất được so sánh với giá trị được yêu cầu. Sự sai khác
giữa các giá trị sẽ làm thay đổi các trọng số. Quá trình này được lập đi lập lại vài
lần cho mỗi mẫu học, làm tăng độ chính xác của mạng.
c) Hướng dựa trên tri thức
Hệ thống dựa trên tri thức sử dụng tri thức để phân biệt sự khác nhau giữa
các âm thanh. Vào khoảng thập niên 70 và 80, nó thích hợp trong việc ứng dụng
trong hệ chuyên gia, nó dựa trên bộ luật được rút ra từ tri thức về tín hiệu âm
thanh.
Một dạng khác của hệ thống được kế thừa từ quá trình phát âm của con
người. Ở đây thay vì sử dụng bộ luật thì định nghĩa thành phần trung gian. Theo
cách này, sự phân biệt diễn ra bằng cách so sánh tiếng nói được tổng hợp với một
tiếng nói cần nhận dạng. Mặc dù là một kỹ thuật có tiềm năng, nhưng một hệ

thống như vậy có sự giới hạn của nó.

19


d) Mô hình Markov ẩn (Hidden Markov models – HMM)
Mô hình Markov ẩn là một phương pháp thống kê mạnh mẽ để mô hình
hóa tín hiệu tiếng nói, và nó thật sự vượt trội trong việc áp dụng vào nhận dạng
tiếng nói ngày nay. Một mô hình Markov ẩn được dùng để biểu diễn cho một đơn
vị của ngôn ngữ, như là từ hay là âm vị. Nó gồm có một số hữu hạn các trạng
thái và sự chuyển đổi trạng thái, sự chuyển đổi đó được thực hiện thông qua xác
suất chuyển đổi, hàm phân bố Gauss thường được chọn lựa để thực hiện điều
này.
Một khi biểu diển một chuỗi mẫu quan sát, mô hình có thể xác định xác
suất gặp các mẫu quan sát đó, nhưng nếu như một chuỗi đơn các mẫu quan sát
không thể tìm ra một chuỗi các trạng thái có liên quan thì nó không thể xác định
trạng thái nào và ở thứ tự nào. Xác suất chuyển trạng thái và sự phân bố xác suất
phụ thuộc vào trọng số của nó. Trong quá trình huấn luyện các trọng số này được
tối ưu hóa cho phù hợp với dữ liệu huấn luyện. (Hình 1.11 )

Hinh 1.11 HMM với 3 trạng thái và trọng số chuyển trạng thái

20


Chương 2 Xử lý tiếng nói rút trích vector đặc trưng
2.1 Xử lý tiếng nói
Tín hiệu (signal) là tất cả sự vật hiện tượng có mang hoặc chứa một thông
tin nào đó mà chúng ta có thể hiểu, được quy ước trước. Các tín hiệu trong thế
giới thực đều ở dạng liên tục (tín hiệu tương tự), nó hết sức phức tạp, thiếu độ

chính xác cần thiết đối với máy tính. Do đó các tín hiệu này thường bị biến đổi
thành các tín hiệu số (số hóa), một dạng thông tin máy tính có thể xử lý.
Tiếng nói cũng là một dạng tín hiệu tương tự, do đó nó cũng cần được số
hóa.
2.1.1 Lấy mẫu tín hiệu
Hàm lấy mẫu là cầu nối giữa các hệ thống rời rạc và các hệ thống liên tục.
Nó còn được gọi là: hàm Dirac Delta, hàm sàng lọc,…
Công thức 2.1:


x1 (t)

=

 x(t ) (t  nT )

n  

Đối với máy tính, lấy mẫu chỉ đơn giản là cứ theo một chu kỳ thời gian
(đối với tín hiệu âm thanh và các dạng tương tự), hay là chu kỳ không gian (đối
với tín hiệu là ảnh và các dạng tương tự) ta đo tín hiệu một lần.
Quá trình trên sẽ tạo ra một chuỗi các số biểu diễn cho tín hiệu, và có thể
xử lý được bởi máy tính.

Hình 2.1 Ví dụ về lấy mẫu tín hiệu f(t) trên miền thời gian

21


2.1.2 Bộ lọc tín hiệu

Bộ lọc số có vai trò rất quan trọng trong xử lý tiếng nói, chúng được dùng
với 2 mục đích chính:
 Tách tín hiệu cần thiết: Các tín hiệu ban đầu thường chứa đựng
các nhiễu hoặc các tín hiệu không mong muốn khác, các nhiễu này
làm giảm đáng kể chất lượng của tín hiệu và cần phải tách riêng các
tín hiệu cần thiết.
 Khôi phục các tín hiệu bị biến dạng: Có một số trường hợp vì một
nguyên nhân nào đó (thường là nguyên nhân liên quan đến thiết bị)
sẽ tạo ra các tín hiệu vào bị méo mó. Vì vậy cần phải chỉnh lại để
tăng chất lượng của tín hiệu số.
Trong thực tế kỹ thuật, có hai bộ lọc tuyến tính dùng để lọc tín hiệu như
sau:
 Bộ lọc đáp ứng xung hữu hạn (Finite Impulse Response – FIR):
hệ có tín hiệu ra chỉ phụ thuộc vào tín hiệu vào nên các hệ này còn
được gọi là mạch không truy hồi hay mạch không đệ qui (nonrecursive). Bộ lọc có công thức sau:
Công thức 2.2
q

y(n) = b0x(n) + b1x(n-1) + … + b qx(n-q) =

b

j

x(n  j)

j0

Hình 2.2 Minh họa hoạt động bộ lọc FIR
 Bộ lọc đáp ứng xung vô hạn (Infinite Impulse Response – IIR): hệ

xử lý có đáp ứng xung có độ dài vô hạn hay đáp ứng xung vô hạn.
Tín hiệu ra không những chỉ phụ thuộc vào tín hiệu vào mà còn

22


phụ thuộc vào quá khứ của chính tín hiệu ra, vì vậy chúng còn
được gọi là các mạch có truy hồi hay đệ qui. Công thức bộ lọc:
Công thức 2.3
q

n

yd =

a

i

y d i

+

b d
j

d j

j 0


i0

Hình 2.2 Minh họa hoạt động bộ lọc IIR
Dò tìm điểm cuối (end-point detection)
Dò tìm điểm cuối là một xử lý cố gắng tìm ra chính xác khi nào người
ta bắt đầu và kết thúc nói. Nó còn được dùng để xác định khi mà người ta không
thật sự nói gì, hoặc nói những điều không mong đợi (như không có trong bộ từ
vựng định trước). Khi đó, dò tìm điểm cuối giúp giảm một số lượng khung mà
trình nhận dạng cần phải xử lý, dẫn đến giảm tải việc tính toán. Tuy nhiên, việc
dò tìm điểm cuối không dễ như ta tưởng, bởi vì có sự tồn tại của tiếng ồn nền,
tiếng nói nền và sự liên kết của các âm tiết, như là sự khó khăn trong việc dò tìm
đoạn vô thanh ở phần bắt đầu và kết thúc tiếng nói.
Dò tìm điểm cuối được thực hiện qua ba bước, qua mỗi bước xác định
điểm cuối càng chính xác. Việc dò tìm dựa trên mức năng lượng của tín hiệu
N
2

được đặc trưng bằng: E=log

 x (n )
n 1

a) Dò tìm thô: Dựa trên kỹ thuật năng lượng ít chính xác nhất. Nó tìm một
đoạn mà mức năng lượng cao hơn đoạn trước đó và cho một số khung là điểm
bắt đầu (thường khoảng 40 khung) trước khi gặp khung mức năng lượng cao

23


hơn. Khi một số lượng (thường khoảng 20 khung) khung khác qua (không cần

kiểm tra bất kỳ khung nào) được cho là điểm cuối.
b) Dò tìm tinh: Bước dò tìm tinh sẽ kiểm tra mức năng lượng của tiếng
nói, nó cố lọc ra điểm đầu và cuối bằng cách cho rằng mức năng lượng của tiếng
nói thì cao hơn độ ồn nền (cao hơn một ngưỡng nào đó).
c) Kỹ thuật VUS (Voice, Unvoice and Silence): Kỹ thuật này cố phân loại
từng khung thành đoạn hữu thanh, đoạn vô thanh và khoảng lặng. Việc phân loại
dựa trên sự phân bố năng lượng trong khung, phổ biến dạng và sự phân loại
khung trước đó. Phương pháp này cố loại bỏ đi những phần không phải tiếng nói
như: tiếng nhép miệng, tiếng thở, độ ồn,…

Hình 2.4 Dò tìm điểm cuối dựa vào mức năng lượng

24


2.2 Rút trích đặc trưng

Hình 2.5 Sơ đồ rút trích vector đặc trưng tổng quát
Đối với một hệ nhận dạng tiếng, việc rút trích vector đặc trưng của tiếng
nói là cần thiết. Điều này giúp giảm thiểu số lượng dữ liệu trong việc huấn luyện
và nhận dạng, dẫn đến số lượng công việc tính toán trong hệ giảm đáng kể.
Bên cạnh đó, việc rút trích đặc trưng còn làm rõ sự khác biệt của tiếng này
so với tiếng khác, làm mờ đi sự khác biệt của cùng hai lần phát âm khác nhau của
cùng một tiếng.
2.2.1 Các bước rút trích đặc trưng

Hình 2.6 Sơ đồ rút trích đặc trưng chi tiết

25



×