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

TÍCH HỢP CÁC MÔ HÌNH NGÔN NGỮ VÀO NHẬN DẠNG TIẾNG NÓI VIỆT NAM

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.93 MB, 134 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN

LUẬN VĂN TỐT NGHIỆP

TÍCH HỢP CÁC MÔ HÌNH
NGÔN NGỮ VÀO NHẬN DẠNG
TIẾNG NÓI VIỆT NAM
Ngành
Niên khoá
Lớp
Sinh viên thực hiện

:
:
:
:

Công nghệ thông tin
2006-2010
DH06DT
Hoàng Tiến Long
Nguyễn Ngọc Thắm
Nguyễn Hữu Tình

TP.HỒ CHÍ MINH, tháng 9 năm 2010


BỘ GIÁO DỤC VÀ ĐÀO TẠO


TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN

LUẬN VĂN TỐT NGHIỆP

TÍCH HỢP CÁC MÔ HÌNH
NGÔN NGỮ VÀO NHẬN DẠNG
TIẾNG NÓI VIỆT NAM
Giáo viên hướng dẫn:

Sinh viên thực hiện:

TS. Lê Quân Hà

Hoàng Tiến Long

KS. Nguyễn Văn Khiêm

Nguyễn Ngọc Thắm
Nguyễn Hữu Tình

TP.HỒ CHÍ MINH, tháng 9 năm 2010


TÍCH HỢP CÁC MÔ HÌNH NGÔN NGỮ
TRONG NHẬN DẠNG TIẾNG NÓI

Năm
2010



LỜI CẢM ƠN
Để hoàn thành đề tài này và có kiến thức như ngày hôm nay, đầu tiên chúng
em xin gửi lời cảm ơn đến Ban Giám Hiệu cùng toàn thể Thầy Cô Khoa Công Nghệ
Thông Tin – Trường Đại Học Nông Lâm TP.HCM đã tận tình giảng dạy, truyền đạt
kiến thức cũng như những kinh nghiệm quý báu cho chúng em trong suốt quá trình
học tập và nghiên cứu tại trường.
Chúng em cũng chân thành cảm ơn TS Lê Quân Hà và thầy Nguyễn Văn
Khiêm đã tận tình hướng dẫn và quan tâm, động viên chúng em trong quá trình thực
hiện đề tài.
Chúng em cũng bày tỏ lòng biết ơn sâu sắc đến những người thân trong gia
đình, bạn bè đã động viên và tạo mọi điều kiện giúp chúng em trong quá trình học
tập cũng như trong cuộc sống.
Mặc dù chúng em đã cố gắng hoàn thành tốt đề tài nhưng cũng không thể
tránh khỏi những sai sót nhất định, rất mong được sự thông cảm và chia sẻ cùng
quý Thầy Cô và bạn bè.
Chúng em xin gửi lời chúc sức khỏe và thành đạt tới tất cả quý thầy cô cùng
các bạn.
Nhóm sinh viên thực hiện
06130155 Hoàng Tiến Long
06130194 Nguyễn Ngọc Thắm
06130204 Nguyễn Hữu Tình


CÁC XUẤT BẢN ĐÃ ĐẠT ĐƯỢC
TRONG NƯỚC
1) Nguyễn Văn Khiêm, Nguyễn Thị Tú Mi, Hoàng Tiến Long, Nguyễn Hữu
Tình, Nguyễn Ngọc Thắm, và Lê Quân Hà. 2010. Nhận dạng tiếng nói Việt
Nam. Hội Nghị Khoa Học Trẻ Trường Đại Học Nông Lâm lần thứ VII, trang
166-171. Tp Hồ Chí Minh.

2) Nguyễn Văn Khiêm, Cao Văn Kiên, Đào Duy Khanh, Trịnh Xuân Đạt,
Nguyễn Thị Tú Mi và Lê Quân Hà. 2010. Khảo Sát Mô Hình Ngôn Ngữ Cá
Thể Từ. Hội Nghị Khoa Học Trẻ Trường Đại Học Nông Lâm lần thứ VII,
trang 157-165. Tp Hồ Chí Minh.
3) Lê Quân Hà, Hoàng Tiến Long, Nguyễn Văn Khiêm, Nguyễn Hữu Tình,
Nguyễn Ngọc Thắm và Lai Quốc Trọng. 2010. Nhận dạng tiếng nói Việt
Nam bền vững. Đã chấp thuận và đang chờ đăng trên Tạp chí Công Nghiệp
số 3. Bộ Công Thương. Tp Hồ Chí Minh.
4) Lê Quân Hà, Nguyễn Văn Khiêm, Hoàng Tiến Long, Nguyễn Hữu Tình,
Nguyễn Ngọc Thắm và Đỗ Hồng Thy. 2010. Đề xuất Nhận dạng tiếng Việt
Nam cho Điện Thoại Di Động. Đã chấp thuận và đang chờ đăng trên Tạp chí
Công Nghiệp số 3. Bộ Công Thương. Tp Hồ Chí Minh.
5) Lê Quân Hà, Hoàng Tiến Long, Nguyễn Hữu Tình, Nguyễn Ngọc Thắm,
Nguyễn Văn Khiêm và Trần Thị Thu Vân. 2010. Mô Hình Ngôn Ngữ Cá Thể
Từ tiếng Việt. Đã chấp thuận và đang chờ đăng trên Tạp chí Công Nghiệp số
3. Bộ Công Thương. Tp Hồ Chí Minh.
NƯỚC NGOÀI (TẠP CHÍ LỚN NHẤT CHÂU Á & NẰM TRONG DANH SÁCH
CÔNG NHẬN TOÀN THẾ GIỚI CỦA ACL)
6) Le Trong Ngoc, Tran Thi Thu Van, Le Quan Ha, Hoang Tien Long, Nguyen
Huu Tinh and Nguyen Ngoc Tham. A Posteriori Individual Word Language
Models for Vietnamese Language. Đã chấp thuận và đang chờ đăng vào tạp
chí International Journal of Computational Linguistics and Chinese
Language Processing (IJCLCLP), Vol 1 của 2011. Taipei, Taiwan.


MỤC LỤC
LỜI CẢM ƠN ..................................................................................................... 4
MỤC LỤC ........................................................................................................... 6
DANH MỤC CÁC HÌNH ................................................................................... 9
DANH MỤC CÁC BẢNG ................................................................................11

DANH SÁCH CHỮ VIẾT TẮT .......................................................................12
TÓM TẮT .........................................................................................................13
MỤC ĐÍCH CỦA LUẬN VĂN ........................................................................15
CHƯƠNG 1 : BÀI TOÁN NHẬN DẠNG TIẾNG NÓI ..................................19
1.1 Giới thiệu .................................................................................................19
1.2 Công thức cơ bản.....................................................................................20
1.3 Các thành phần của một bộ nhận dạng tiếng nói ....................................21
Xử lý cú âm ...............................................................................................21
Mô hình cú âm...........................................................................................22
Mô hình ngôn ngữ .....................................................................................22
Tìm kiếm giả định .....................................................................................23
CHƯƠNG 2 : MÔ HÌNH MARKOV ẨN ........................................................24
2.1 Giới thiệu chuỗi Markov .........................................................................24
2.2 Cơ bản về mô hình Markov ẩn ................................................................25
2.3 Tìm chuỗi chuyển trạng thái tốt nhất - Thuật toán Viterbi .....................29
2.4 Ước lượng các tham số xác suất cho HMM – Thuật toán Baum-Welch 31
CHƯƠNG 3 : TIỀN XỬ LÝ TIẾNG NÓI ........................................................34
3.1 Tổng quan về tiền xử lý tiếng nói ...........................................................34
3.2 Cải thiện tín hiệu – bộ lọc Wiener...........................................................35
3.2.1 Định nghĩa bộ lọc Wiener ................................................................35
3.2.2 Công thức cơ bản của bộ lọc Wiener ...............................................36
3.2.3 Sai số tín hiệu của bộ lọc Wiener .....................................................36
3.2.4 Mối quan hệ giữa vector hệ số w và sai số tín hiệu e(m) .................36
3.2.5 Tối ưu bộ lọc Wiener........................................................................37
3.2.6 Biểu diễn bộ lọc Wiener trong không gian vector ...........................38
3.2.7 Ứng dụng bộ lọc Wiener trong việc loại bỏ nhiễu cộng thêm .........39
3.3 Cắt khung tín hiệu ...................................................................................42
3.4 Phân tích Fourier – biến đổi Fourier rời rạc ............................................43
3.4.1 Cơ bản về biến đổi Fourier ...............................................................43



Giai đoạn đầu tiên .....................................................................................44
Giai đoạn 2 ................................................................................................45
Giai đoạn 3 ................................................................................................45
3.5 Xác định phổ Mel ....................................................................................46
3.5.1 Định nghĩa tần số Mel ......................................................................46
3.5.2 Phổ Mel ............................................................................................47
3.6 Biến đổi Cosine rời rạc trên tần số Mel...................................................48
CHƯƠNG 4 : MÔ HÌNH CÚ ÂM ....................................................................49
4.1 Giới thiệu .................................................................................................49
4.2 Mô hình cú âm Phonetic..........................................................................49
CHƯƠNG 5 : MÔ HÌNH NGÔN NGỮ............................................................51
5.1 Giới thiệu .................................................................................................51
5.2 Cách sử dụng mô hình ngôn ngữ trong nhận dạng .................................52
5.3 Phân loại ..................................................................................................52
5.4 Mô hình ngôn ngữ Trigram .....................................................................53
5.5 Mô Hình Ngôn Ngữ Cá Thể Từ ..............................................................54
CHƯƠNG 6 : TÌM KIẾM GIẢ ĐỊNH ..............................................................60
6.1 Giới thiệu .................................................................................................60
6.2 Tìm chuỗi từ đúng nhất ...........................................................................60
6.3 Tìm kiếm Viterbi .....................................................................................62
6.4 Tìm kiếm theo cây ...................................................................................62
CHƯƠNG 7 : SPHINX 4 ..................................................................................64
7.1 Tổng quan về Sphin-4 .............................................................................64
Giới thiệu ...................................................................................................64
Khả năng của Sphinx-4 .............................................................................64
Diễn biến ...................................................................................................65
Cài đặt........................................................................................................66
7.1.1.1 Phần mềm yêu cầu ..................................................................66
7.1.1.2 Xây dựng Sphinx-4 .................................................................66

Các demo của Sphinx-4.............................................................................67
7.2 Các demo cho nhận dạng tiếng Việt........................................................68
Demo cho biến đổi Fourier nhanh .............................................................68
Chương trình demo đọc số liên tục ...........................................................68
ZipCity.......................................................................................................69


Chương trình hỗ trợ nhập điểm sinh viên .................................................71
Chương trình Mô hình Ngôn Ngữ Cá Thể Từ .........................................78
CHƯƠNG 8 : DỮ LIỆU VÀ HUẤN LUYỆN TIẾNG VIỆT NAM ................83
8.1 Lexicon ....................................................................................................83
8.2 Dữ liệu .....................................................................................................84
Dữ liệu văn bản .........................................................................................84
Dữ liệu âm thanh .......................................................................................85
Tiếng ồn và nhiễu trong dữ liệu âm thanh ................................................86
8.3 Huấn luyện tiếng Việt .............................................................................86
Chuẩn bị dữ liệu ........................................................................................87
Các bước trong quá trình học tiếng Việt ...................................................89
Tạo Model dùng cho Sphinx-4 ..................................................................98
Audio Tool ..............................................................................................101
CHƯƠNG 9 : POCKETSPHINX: HỆ THỐNG NHẬN DẠNG TIẾNG NÓI
LIÊN TỤC THỜI GIAN THỰC CHO CÁC THIẾT BỊ CẦM TAY ......................106
9.1 Giới thiệu ...............................................................................................106
9.2 Hệ thống Pocket Sphinx ........................................................................107
9.3 Tối ưu hóa .............................................................................................107
Tối ưu hóa bộ nhớ ...................................................................................107
Tối ưu hóa cấp thấp .................................................................................108
9.4 Tối ưu hóa thuật toán.............................................................................109
9.5 Demo Pocketsphinx_continuous ...........................................................111
9.6 Kết quả thử nghiệm ...............................................................................112

9.7 Nghiên cứu PocketSphinx trên hệ điều Hành Linux .............................113
9.8 Kết luận và công việc sắp tới ................................................................115
CHƯƠNG 10 : CÁC KẾT QUẢ ĐẠT ĐƯỢC ...............................................116
10.1 Kết quả trên Nhận dạng Tiếng nói ......................................................116
10.2 Kết quả trên Mô hình Ngôn ngữ Cá thể Từ ........................................120
TÀI LIỆU THAM KHẢO ...............................................................................127


DANH MỤC CÁC HÌNH
Hình 1.1 Mô tả tổng quan quá trình nhận dạng tiếng nói ..............................19
Hình 2.1 Một chuỗi Markov 3 trạng thái .......................................................25
Hình 2.2 Mô tả quá trình forward ..................................................................31
Hình 2.3 Mô tả quá trình backward ...............................................................32
Hình 2.4 Mô tả xác suất t(i, j) ......................................................................32
Hình 3.1 Phép chiếu bình phương tối thiểu sai số ước lượng của .................38
vector tín hiệu mong đợi x trên mặt phẳng chứa hai tín hiệu đầu vào y1 y2 ...38
Hình 3.2 Độ biến thiên tần số Wiener tương ứng với phổ tín hiệu của nhiễu
cộng thêm (nhiễu trắng) .................................................................................40
Hình 3.3Tần số W(f) trong tương quan tỉ lệ SNR(f) ......................................41
(a) phổ của tín hiệu và nhiễu không bị trùng lấp (overlap) cho nên tín hiệu có
thể được phục hồi bằng bộ lọc low- pass. ......................................................41
(b) phổ của tín hiệu và nhiễu bị trùng lấp (overlap) cho nên nhiễu có thể
được loại bỏ nhưng không hoàn toàn.............................................................41
Hình 3.4 Độ biến thiên giữa W(f) với SNR(f) ................................................42
Hình 3.5 Phân rã Fourier ................................................................................45
Hình 3.6 Tần số Mel và tần số tuyến tính Hz ................................................46
Hình 3.7 Mel filterbank..................................................................................47
Hình 6.1 Đồ thị xác suất cho mô hình ngôn ngữ unigram. ............................61
Hình 6.2 Đồ thị xác suất cho mô hình ngôn ngữ bigram. ..............................61
Hình 6.3 Đồ thị xác suất cho mô hình ngôn ngữ trigram hai trạng thái. .......62

Hình 6.4 Một cây với V = 3 và n = 4. ............................................................63
Hình 7.1 Demo cho biến đổi Fourier nhanh câu nói ......................................68
Hình 7.2 Màn hình ban đầu của demo đọc số ................................................69
Hình 7.3 Màn hình sau khi nhận dạng một câu đọc số ..................................69
Hình 7.4 Màn hình ZipCity khi nhận dạng ....................................................70
Hình 7.5 Màn hình chương trình khi mới khởi động .....................................72
Hình 7.6 Màn hình nhập điểm .......................................................................73
Hình 7.7 Màn hình thêm sinh viên.................................................................74
Hình 7.8 Màn hình sửa sinh viên ...................................................................75
Hình 7.9 Màn hình tìm kiếm ..........................................................................76
Hình 7.10 Màn hình kết quả tìm kiếm ...........................................................77


Hình 7.11 Giao diện chính và menu chương trình.........................................80
Hình 7.12 Tạo CSDL cho mô hình toàn cục Việt ..........................................80
Hình 7.13 Giao diện tạo các mô hình cá thể từ..............................................81
Hình 7.14 Giao diện đánh giá độ phức tạp của mô hình toàn cục .................81
Hình 7.15 Giao diện đánh giá độ phức tạp của mô hình cá thể từ nội suy
tuyến tính cho tiếng Việt ................................................................................82
Hình 8.1 Sóng của câu "ba bốn bảy" không bị ồn và nhiễu ..........................85
Hình 8.2 Câu "tôi đi" được đọc rõ ràng .........................................................85
Hình 8.3 Câu "tôi đi" khi đọc quá nhanh .......................................................85
Hình 8.4 Từ “tôi” khi đọc ngân dài................................................................86
Hình 8.5 Câu “ba bốn bảy” thu âm bị ồn và nhiễu ........................................86
Hình 8.6 Màn nhìn cấu hình ghi âm ............................................................102
Hình 8.7 Màn hình ghi âm ...........................................................................103
Hình 8.8 Màn hình của player khi mới khởi động .......................................104
Hình 8.9 Màn hình kiểm tra dữ liệu .............................................................105
Hình 9.1 Màn hình nhận dạng tiêng nói liên tục của PocketSphinx............112
Hình 9.2 Tập tin lưu kết quả nhận dạng từ PocketSphinx ...........................112

Hình 9.3 Giao diện PocketSphinx trên Ubuntu ...........................................114
Hình 10.1 Kết quả nhận dạng tiếng Việt trên máy PC (Khiêm 2009) của 4
người nói ......................................................................................................119
Hình 10.2 Kết quả nhận dạng tiếng Việt trên máy PC (2010) của 7 người nói
......................................................................................................................119


DANH MỤC CÁC BẢNG
Bảng 2.1 Bảng tính các giá trị α trong phương pháp tính tổng......................27
Bảng 2.2 Bảng tính các giá trị γ của thuật toán Viterbi ................................31
Bảng 3.1 Giá thực thực nghiệm tốt nhất tìm thấy cho xử lý front – end. ......48
Bảng 5.1 Một giải thích cho khoảng cách của các từ ....................................56
Bảng 5.2 Một số trọng số trong các mô hình trọng số ...................................57
Bảng 7.1 So sánh hiệu suất của Sphinx 3.3 với Sphinx-4 .............................65
Bảng 9.1 Tỷ lệ phần trăm thời gian tính toán ..............................................109
Bảng 9.2 Hiệu suất và độ chính xác trên 994-từ RM sau khi tối ưu............113
Bảng 10.1 Độ chính xác cho nhận dạng số của Khiêm 2009 ......................116
Bảng 10.2 Độ chính xác mới cho nhận dạng số .........................................117
Bảng 10.3 Độ chính xác mới cho nhận dạng số .........................................117
Bảng 10.4 Độ chính xác cho nhận dạng từ vựng lớn của Khiêm 2009 .......118
Bảng 10.5 Độ chính xác mới cho nhận dạng từ vựng lớn ..........................118
Bảng 10.6 Độ chính xác mới cho nhận dạng từ vựng lớn ...........................118
Bảng 10.7. Mô hình trọng số lũy thừa của Tiếng Anh ................................121
Bảng 10.8. Mô hình trọng số lũy thừa của Tiếng Việt ................................121
Bảng 10.9. Cải thiện của tất cả các mô hình xác suất tiên nghiệm Tiếng Anh
......................................................................................................................121
Bảng 10.10. Cải thiện cho các mô hình xác suất tiên nghiệm Tiếng Việt ...122
Bảng 10.11. Mô hình tần số trọng số Tiếng Anh .........................................122
Bảng 10.12. Mô hình tần số trọng số Tiếng Việt .........................................122
Bảng 10.13. Mô hình tân số phân rã lũy thừa Tiếng Việt............................123

Bảng 10.14. Kết quả của tất cả các mô hình tần số tiên nghiệm Tiếng Anh
......................................................................................................................123
Bảng 10.15. Cải thiện độ phức tạp cho các mô hình tần số tiên nghiệm Tiếng
Việt ...............................................................................................................123
Bảng 10.16. Mô hình tần số trọng số hậu nghiệm Tiếng Anh .....................124
Bảng 10.17. Mô hình tần số trọng số hậu nghiệm Tiếng Việt .....................125
Bảng 10.18. Cải tiến của các mô hình hậu nghiệm Tiếng Anh ...................125
Bảng 10.19. Độ cải thiện của các mô hình hậu nghiệm Tiếng Việt ............125
Bảng 10.20. Tỉ lệ lỗi từ cho các mô hình hậu nghiệm Tiếng Việt ...............126


DANH SÁCH CHỮ VIẾT TẮT

ARPA

Advanced Research Projects Agency

HMM

Hidden Markov Model.

CDHMM

Continuous Distribution HMMs

SCHMM

Semi-Continuous HMMs.

FFT


Fast Fourier Transform.

MFCC

Mel Frequency Cepstral Coefficient.

SNR

Signal-to-Noise Ratio


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

TÓM TẮT
Đã 20 năm qua, nhận dạng tiếng nói vẫn là một nỗ lực lớn để tạo ra trí tuệ cho
máy tính, nỗ lực không ngừng này đã mang lại ứng dụng trong quản lý điện thoại.
Chúng ta khởi đầu với nhận dạng đọc các chữ số từ 0 đến 9 trong ứng dụng này
(digit recognition), sau đó là các bài toán nhận dạng các từ cô lập (isolated word
recognition). Từ sau thập niên 90, chúng ta bắt đầu bước vào lĩnh vực nhận dạng
tiếng nói với từ vựng lớn, khi đó các yêu cầu về yếu tố bền vững của nhận dạng
tiếng nói trở nên cần thiết, nghĩa là: hệ thống không dễ gãy khi gặp bất kỳ một lỗi
nhận dạng, một lỗi phần mềm; khi gặp một tình huống nhận dạng ngoài ý muốn, hệ
thống dễ dàng khôi phục để tiếp tục tiến trình nhận dạng liên tục.
Phần mềm cho nhận dạng tiếng nói từ vựng lớn bền vững bao gồm ba trọng tâm
chính: làm thế nào để nắm bắt được (i) bộ giải mã (decoder), (ii) huấn luyện mô
hình âm học (acoustic model), và kết nối vào (iii) mô hình ngôn ngữ (language
model).
Bởi vì hiện nay tại Anh quốc, có một số giáo sư vẫn thường dùng một công cụ
làm sẵn về nhận dạng chữ số để làm case tool khởi điểm cho nghiên cứu sinh năm

nhất, trong khi tại Việt Nam vẫn là mò mẫm làm nghiên cứu không có cơ sở gì. Vì
vậy công việc ban đầu của nhóm là tìm hiểu bộ mã nguồn mở CMU Sphinx, để tạo
ra một demo chương trình đọc số tiếng Việt Nam (digit recognition). Công việc tiếp
theo là phát triển một bộ giải mã gồm từ điển Việt (Vietnamese lexicon) áp dụng
quy tắc phát âm tiếng Việt cho từ vựng lớn từ 40 ngàn đến 100 ngàn từ tiếng Việt,
mà bộ giải mã này đi từ đơn giản và cơ bản nhất là sử dụng mô hình trọng số trung
bình (weighted average model) mang tính chất tĩnh, đến liên kết với mô hình ngôn
ngữ tiếng Việt.
Công việc tiếp theo là mô hình ngôn ngữ nâng cao, mô hình cá thể từ (individual
word language model) dựa trên xác suất và dựa trên tần số, là một mô hình thích
nghi động phát triển từ nhiều năm nay trên nền của mô hình trọng số trung bình.
Nhóm đề tài sẽ phải liên kết giữa mô hình cá thể từ và CMU Sphinx, khả năng cải
thiện tỉ lệ lỗi từ (word error rate) là bao nhiêu để có thể có được một hệ thống nhận
dạng tiếng nói từ vựng lớn bền vững thực thụ.

GVHD : TS.Lê Quân Hà
KS.Nguyễn Văn Khiêm

- 13 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

Đề tài tìm cách đáp ứng càng nhiều càng tốt nhu cầu thương mại qua ba mô-đun
hệ thống, cần phải được liên kết với nhau để đóng góp cho nhận dạng tiếng nói Việt
Nam.


GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 14 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

MỤC ĐÍCH CỦA LUẬN VĂN
1. Tính cấp thiết của đề tài
1.1. Lý do chọn đề tài
Mô hình ngôn ngữ là thành phần mới nhất và tinh tế nhất của một bộ nhận dạng
tiếng nói. Hiện nay, các nhà nghiên cứu trên thế giới tập trung vào thành phần mô
hình ngôn ngữ này như là một hy vọng để cải thiện tình trạng lỗi cao và chính xác
kém của các bộ nhận dạng tiếng nói có vốn từ vựng rất lớn hiện nay.
Mô hình ngôn ngữ cá thể từ là mô hình ngôn ngữ động mới nhất hiện nay ra đời
tại Anh quốc mà trong số các tác giả có Thầy Hướng dẫn (Khiêm, Kiên, Khanh, Lê
Quân Hà, Stewart & Smith, 2009) trong thời gian tu nghiệp tại Anh quốc, hiện nay
đang thu hút sự chú ý cộng tác của các nhà khoa học Đông Âu rất nhiều mà ở Việt
Nam chưa có. Nó lại hứa hẹn một khả năng ứng dụng và nâng cao nhiều độ chính
xác của nhận dạng tiếng nói nên đó chính là lý do mà chúng em xin chọn đề tài này
để tiến hành luận văn của mình.
Đây là một đề tài về nhận dạng tiếng nói, bởi vì phẩn các chương trình demo về
Tiếng Nói Việt của Khiêm (2009) còn rất nhiều thiếu sót về bộ test chưa có, bộ huấn
luyện chỉ có 4 người nói, trên PC và trên mobile cũng chỉ có 4 người nói, Khiêm còn
chưa hoàn chỉnh phần Tiền Xử Lý Tiếng Nói gồm có Biến đổi Fourier Nhanh và
chưa có Bộ lọc nhiễu Wiener. Vì thế, chúng em trước hết hoàn chỉnh lại chương

trình demo căn bản của Nhận Dạng Tiếng Nói Việt Nam cho đầy đủ hết các nội dung
trên, sau đó lắp thêm phần Mô hình Ngôn Ngữ Cá Thể Từ vào trong hệ thống.
1.2. Giới thiệu đề tài
Mô hình ngôn ngữ thực chất là một bộ từ điển gồm những câu nói thông dụng
trong ngôn ngữ mà bộ nhận dạng cần xử lý. Sau khi chúng ta nhận dạng được các từ
riêng lẻ ở bước sử dụng mô hình cú âm, kết quả sẽ được đưa vào mô hình ngôn ngữ
và đem so sánh với các câu trong từ điển và tìm ra câu có xác suất nói cao nhất và
chọn nó làm kết quả cuối cùng của chương trình. Tuy nhiên kết quả không phải là
toàn bộ câu trong dữ liệu mà các chương trình khác nhau sẽ có cách lấy số lượng từ
của câu nhiều ít khác nhau tùy vào mỗi chương trình.

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 15 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

2. Tình hình nghiên cứu nghiên cứu và tính mới của đề tài
Những năm gần đây, nhờ những cải thiện về dung lượng đĩa cứng nên ta có thể
xây dựng được các mô hình ngôn ngữ thống kê cá thể từ, ứng với mỗi từ chính yếu
mang nội dung đối với văn cảnh, ta tạo ra một mô hình từ. Khi kết hợp các mô hình
ngôn ngữ miền từ tạo ra một mô hình miền đặc thù cao. Vào năm 2009, Thầy Hướng
dẫn đã xuất bản các mô hình xác suất và tần số từ tại Rumani, xây dựng và kiểm tra
chúng bằng văn bản huấn luyện 40 triệu từ Wall Street Journal của ngôn ngữ Anh.
Tuy nhiên, Thầy Hướng dẫn hiện nay là tác giả chính về mô hình này vẫn chưa có

kết quả trên ngôn ngữ Việt Nam.
Trong nước, nếu có thể ứng dụng mô hình này vào nhận dạng tiếng nói việt
Nam, hiện nay cũng hoàn toàn chưa có ai làm – sẽ có triển vọng mang lại bước ngoặt
cho tình hình nhận dạng tiếng nói Việt Nam.
3. Mục đích của đề tài
3.1. Phần nghiên cứu lý thuyết
Nghiên cứu Tiền Xử Lý Tiếng Nói:
-

Biến Đổi Fourier Nhanh

-

Biến Đổi Cosine Rời Rạc

-

Bộ lọc Nhiễu Wiener

Nghiên cứu các cơ sở lý thuyết ứng dụng trong nhận dạng tiếng nói thông qua
các mô hình ngôn ngữ sau:
-

Mô hình trọng số trung bình

-

Mô hình QUB tiếng Việt Nam

-


Các mô hình xác suất cá thể từ

-

Các mô hình tần số cá thể từ

-

Các mô hình hậu nghiệm

3.2. Phần cài đặt
Từ các mô hình lý thuyết đã nghiên cứu, xây dựng một ứng dụng nhận dạng
tiếng nói, cài đặt các công việc sau:
3.2.1. Các Bộ Huấn Luyện tăng lên 7 người nói cho
• Nhận Dạng Đọc Số
• Nhận Dạng Từ Vựng Lớn
GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 16 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam
• Nhận dạng trên Điện Thoại Di Động
3.2.2. Các bộ test nhận dạng tiếng nói Việt Nam cho các câu mới không có
huấn luyện

• Nhận Dạng Từ Vựng Lớn
• Mô Hình Cá Thể Từ
3.2.3. Demo Tiền Xử Lý Tiếng Nói, Biến Đổi Fourier Nhanh
3.2.4. Các mô hình xác suất cá thể từ
• Mô hình nội suy tuyến tính
• Mô hình phân rã lũy thừa
• Các mô hình trọng số
o Mô hình trọng số xác suất
o Mô hình trọng số lũy thừa
o Mô hình nội suy tuyến tính lũy thừa có trọng số
3.2.5. Các mô hình tần số cá thể từ
• Mô hình tần số nội suy tuyến tính
• Mô hình tần số phân rã lũy thừa
• Các mô hình trọng số
o Mô hình tần số trọng số
o Mô hình tần số trọng số phân rã lũy thừa
3.2.6. Các mô hình hậu nghiệm
• Mô hình xác suất nội suy tuyến tính
• Mô hình xác suất phân rã lũy thừa
• Mô hình xác suất trọng số
• Mô hình tần số nội suy tuyến tính
• Mô hình tần số trọng số
4. Phương pháp nghiên cứu
4.1. Phương pháp tiên nghiệm
4.2. Phương pháp hậu nghiệm
4.3. Mô hình Markov ẩn (HMM)

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm


- 17 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

5. Nội dung của đề tài, các vấn đề cần giải quyết:
5.1. Mô hình trọng số trung bình
5.2. Mô hình ngôn ngữ QUB tiếng Việt Nam
5.3. Các mô hình xác suất cá thể từ
5.4. Các mô hình tần số cá thể từ
5.5. Đánh giá mô hình hậu nghiệm cho tiếng Việt
5.6. Liên kết vào nhận dạng tiếng nói Việt Nam

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 18 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

CHƯƠNG 1 : BÀI TOÁN NHẬN DẠNG TIẾNG NÓI
1.1 Giới thiệu
Một bộ nhận dạng tiếng nói là một thiết bị có khả năng tự động chuyển đổi tiếng

nói thành văn bản.
Hình 1.1 mô tả tổng quan về quá trình nhận dạng tiếng nói. Ban đầu tiếng nói
được phát ra theo suy nghĩ của người nói, tiếng nói này được bộ phận thu âm thu lại
dưới dạng sóng âm và chuyển tới bộ phận xử lý cú âm. Tại đây sóng âm sẽ được tách
thành các cú âm. Sau đó các cú âm này được đưa qua bộ giải mã để cho ra chuỗi từ
phù hợp.
Ta có thể thấy rằng kết quả nhận dạng phụ thuộc vào rất nhiều yếu tố. Đầu tiên
là chất lượng giọng của người nói. Tiếp theo là môi trường mà người nói sử dụng,
đây là nguyên nhân ảnh hưởng hàng đầu tới kết quả nhận dạng, nó làm biến dạng âm
thanh mà người nói muốn diễn đạt. Chất lượng của thiết bị thu âm cũng ảnh hưởng
rất lớn tới chất lượng của tiếng nói được thu.
Một bộ nhận dạng tiếng nói có hai phần chính là bộ xử lý cú âm và bộ giải mã.
Trong đó quá trình xử lý cú âm thuộc về lĩnh vực vật lý và ngày nay đã được phát
triển rất tốt. Vì vậy mà trọng tâm của luận văn sẽ nói về bộ giải mã, thành phần quan
trọng nhất của bộ nhận dạng.

Hình 1.1 Mô tả tổng quan quá trình nhận dạng tiếng nói

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 19 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

Hiện nay có nhiều cách để cài đặt một bộ giải mã, xong cách được sử dụng phổ

biến nhất và tốt nhất là dùng mô hình thống kê. Và mô hình thống kê cũng có nhiều
cách khác nhau. Sau đây sẽ giới thiệu một cách cài đặt được trình bày trong luận
văn:
Như thấy ở hình 1.1, đầu vào của bộ giải mã là một chuỗi các cú âm quan sát
được (được thu vào). Cơ chế giải mã là từ chuỗi cú âm này, so sánh với các cú âm đã
được lưu trước (thông qua quá trình học) cùng với xác suất của chúng để tìm ra
chuỗi từ phù hợp nhất. Quá trình này được thực hiện bằng cách gắn các cú âm đã
quan sát được và các giả thiết đầu ra (các chuỗi từ phù hợp) vào mô hình Markov ẩn
(HMM). Trong đó các cú âm được gắn vào các trạng thái của mô hình HMM, còn
các giả thiết đầu ra là các quan sát. Các tham số dùng cho mô hình HMM được ước
lượng bằng thuật toán Forward-backward hay còn gọi là thuật toán Baum-welch.
Để tính xác suất từ một chuỗi trạng thái sinh ra một chuỗi quan sát nào đó,
chúng ta sử dụng thuật toán Viterbi. Các thành phần của bộ giải mã sẽ được giới
thiệu chi tiết ở các chương tiếp theo.
Phần còn lại của chương sẽ nói về các công thức cơ bản, và nói chi tiết hơn về
các thành phần của một hệ thống nhận dạng tiếng nói.

1.2 Công thức cơ bản
Trong phần này sẽ giới thiệu một số ký hiệu sử dụng và một số công thức cơ
bản.
Gọi A là tập hợp các cú âm để bộ nhận dạng dùng để xác định từ nào đã được
nói. A là một chuỗi các kí tự trong bảng alphabet A:
A = a1, a2, …, amai∈A

(1.1)

Gọi W = w1, w2, …, wnwi∈W

(1.2)


là một tập n từ, những từ này nằm trong một bộ từ vựng cố định cho trước.
P(W|A) là xác suất để tập từ W được nói khi chuỗi cú âm quan sát được là A.
Từ tập từ W bộ nhận dạng sẽ xác định một chuỗi từ tốt nhất Ŵ để cho ra chuỗi
quan sát là A, tức là:
(1.3)

Ŵ = arg
Theo công thức Bayes ta có:

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 20 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

(1.4)

P(W|A) =

Trong đó P(W) là xác suất để chuỗi W được nói, P(A|W) là xác suất quan sát
được A khi đọc chuỗi W, và P(A) là xác suất trung bình A được quan sát. P(A) được
tính theo công thức:
(1.5)
Vì A là cố định nên từ (1.3) và (1.5) ta có:
(1.6)


Ŵ = arg

Theo công thức 1.6 thì bài toán nhận dạng tiếng nói (nhận ra chuỗi từ Ŵ) chính
là phải xác định được các xác suất P(W) và P(A|W). P(W) được tính thông qua mô
hình ngôn ngữ, còn xác suất P(A|W) được tính thông qua mô hình cú âm.
Ngoài ra còn một số công thức về xác suất khác:
P(x, y|z) = P(x|y, z)P(y|z)

(1.7)

Công thức Bayes:
(1.8)

P(x|y) =

1.3 Các thành phần của một bộ nhận dạng tiếng nói
Ở phần 1.1 đã giới thiệu một quá trình nhận dạng tiếng nói, phần này sẽ giới
thiệu về bộ nhận dạng tiếng nói trong quá trình đó. Về cơ bản thì bộ nhận dạng tiếng
nói gồm hai phần: xử lý cú âm và giải mã. Trong đó bộ giải mã được cài đặt nhiều
thành phần khác nhau. Trong phần này sẽ giới thiệu về mô hình cú âm, mô hình
ngôn ngữ và tìm kiếm giả định.
Xử lý cú âm
Công việc đầu tiên của một bộ nhận dạng tiếng nói là xác định dữ liệu cú âm
được quan sát A. Bộ phận làm việc này gọi là front end, front end sẽ chuyển đổi âm
thanh (dưới dạng sóng) thành các ký tự ai. Việc xử lý tín hiệu âm thanh liên quan
nhiều đến lĩnh vực vật lý và sẽ không được nói sâu trong phạm vi của luận văn này.

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm


- 21 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

Mô hình cú âm
Quay trở lại công thức 1.6, bộ nhận dạng cần phải tính được P(A|W) là xác suất
khi người nói nói chuỗi từ W thì bộ phân tích cú âm phân tích được chuỗi cú âm A.
Để phục vụ công việc nhận dạng, chúng ta cần phải tính P(A|W) của tất cả các cặp
A, W có thể. Điều này khó có thể thực hiện được, vì số lượng rất lớn. Và nếu có tính
hết được thì cũng rất khó có thể tìm kiếm được cặp A, W phù hợp.
Vì vậy để tính P(A|W) chúng ta cần một mô hình xác suất cú âm của chuỗi từ
mà người nói đã nói. Số lượng mô hình phụ thuộc vào cách mà người nói nói chuỗi
từ đó, vào nhiễu (tiếng ồn, tiếng vọng …), vị trí và các đặc tính của microphone, và
việc xử lý cú âm của front end.
Mô hình cú âm được sử dụng rộng rãi nhất trong các bộ nhận dạng tiếng nói
hiện nay là mô hình Markov ẩn (HMM), sẽ được thảo luận ở chương tiếp. Ngoài ra
còn nhiều loại mô hình khác, chúng có thể dựa vào thuật toán mạng nơron (artificial
neural networks) hoặc thuật toán qui hoạch động (dynamic time warping). Những
phương pháp này không được đề cập tới trong luận văn.
Mô hình ngôn ngữ
Công thức 1.6 cũng yêu cầu phải tính xác suất các chuỗi từ W để tìm ra chuỗi từ
có xác suất tốt nhất mà người dùng muốn nói chuỗi từ W. Công thức Bayes cho phép
có nhiều cách khác nhau để phân tích P(W). Nhưng bởi vì bộ nhận dạng muốn
truyền đạt chuỗi văn bản một cách “tự nhiên” như những gì con người nói, vì thế
chúng ta sử dụng cách phân tích:

(1.9)
Bộ nhận dạng phải ước lượng xác suất P(wi|w1,…, wi-1). Chúng ta phải ước
lượng bởi vì dù với một giá trị n vừa phải và kích thước từ vựng hợp lý, thì xác suất
P(wi|w1,…, wi-1) có rất nhiều đối số.
Tuy nhiên, thật là vô lý nếu cho rằng việc lựa chọn từ thứ i của người nói phụ
thuộc vào tất cả i-1 từ trước trong toàn bộ những lời mà anh ta đã nói. Vì vậy, chúng
ta sẽ cho những từ trước vào các lớp tương đối Ф(wi|w1,…, wi-1), công thức 1.9 trở
thành:
(1.10)

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 22 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

Sự khác biệt giữa các mô hình ngôn ngữ khác nhau chính là việc xác định Ф phù
hợp và một phương pháp để ước lượng P(wi| Ф(w1,…, wi-1)).
Việc xây dựng mô hình ngôn ngữ chỉ phụ thuộc vào bộ văn bản sử dụng, hoàn
toàn không phụ thuộc vào tiếng nói (không phụ thuộc vào việc ghi âm cho học).
Tìm kiếm giả định
Cuối cùng, trong công thức 1.6, để tìm chuỗi từ mong đợi chúng ta cần phải tìm
trong tất cả các chuỗi từ W có thể để tìm ra chuỗi có xác suất tốt nhất. Chúng ta
không thể tìm kiếm vét cạn vì số chuỗi từ W cần tìm kiếm rất lớn.
Chúng ta cần phải tìm kiếm giả định, không xem xét toàn bộ các chuỗi từ W mà

chỉ khảo sát các chuỗi từ được gợi ý bởi mô hình cú âm A. Hiện nay có nhiều cách
để cài đặt tìm kiếm giả định. Trong chương 5 sẽ giới thiệu về phương pháp tìm kiếm
Viterbi và tìm kiếm theo cây.

GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 23 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

CHƯƠNG 2 : MÔ HÌNH MARKOV ẨN
2.1 Giới thiệu chuỗi Markov
Như đã đề cập trong chương 1, mô hình cú âm tính xác suất P(A|W) dựa vào mô
hình HMM. Mô hình này không chỉ hữu dụng trong nhận dạng tiếng nói mà còn
trong nhiều lĩnh vực khác. Trước khi áp dụng nó vào trong mô hình cú âm ở chương
3, chúng ta sẽ xem xét khái niệm tổng quát về mô hình HMM. Trước hết là về chuỗi
Markov.
Gọi Q1, Q2, …, Qn, … là một chuỗi các biến ngẫu nhiên có giá trị được lấy từ tập
hữu hạn Q = {1, 2, …, c}. Theo Bayes ta có:

P(Q1, Q2, …, Qn)

(2.1)

Các biến ngẫu nhiên Q1, Q2, …, Qn, … gọi là một chuỗi Markov, công thức 2.1

gọi là công thức của chuỗi Markov. Mỗi biến trong chuỗi gọi là một trạng thái. Tuy
nhiên, nếu trong chuỗi Markov giá trị tại thời điểm t chỉ phụ thuộc vào giá trị của
thời điểm liền trước nó, tức là:

P(Qi|Q1, Q2, …, Qi-1) = P(Qi|Qi-1) với mọi i

(2.2)

thì công thức của chuỗi Markov 2.1 trở thành:

P(Q1, Q2, …, Qn)

(2.3)

Trong phạm vi nhận dạng tiếng nói thì chuỗi Markov luôn có tính chất trên và
được gọi là giả thuyết First-Order.
Chuỗi Markov là đồng nhất, tức là:
P(Qi = q’|Qi-1 = q) = P(q’| q) với mọi q, q’∈Q

(2.4)

Ví dụ: cho chuỗi Markov:
Q=ABCDECD
Tương ứng vị trí i = 1 2 3 4 5 6 7
Thì P(Q4 = D|Q3= C) = P(Q7 = D|Q6= C) = p(D|C).
p(q’|q) được gọi là hàm chuyển trạng thái và được biểu diễn bằng một ma trận c x c.
Với mọi q∈Q ta có:
GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm


- 24 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


Tích hợp các Mô Hình Ngôn Ngữ vào nhận dạng tiếng nói Việt Nam

;

p(q’|q) ≥ 0, q’∈Q

Mỗi trạng thái đều có một xác suất đứng đầu chuỗi πi và:
Hình 2.1 là mô hình một chuỗi Markov ba trạng thái (c = 3). Trên hình mỗi mũi tên
cùng với xác suất gắn kèm biểu thị sự chuyển đổi giữa các trạng thái. Một số trạng
thái không có xác suất chuyển qua trạng thái khác, ngầm hiểu là p(1|2) = p(2|2) =
p(3|3) = 0.

Hình 2.1 Một chuỗi Markov 3 trạng thái

2.2 Cơ bản về mô hình Markov ẩn
Để mở đầu phần này chúng ta xét một ví dụ sau đây: Giả sử chúng ta có một
chuỗi Markov gồm ba trạng thái: nắng, mưa và nhiều mây, là ba trạng thái thời tiết.
Thời tiết của mỗi ngày chỉ có thể là một trong ba trạng thái trên. Cho ma trận xác
suất chuyển trạng thái như sau:
q1

q2

q3


A=
q1 = nắng, q2 = nhiều mây, q3 = mưa.
Với aij = p(qj|qi) là xác suất chuyển trạng thái từ i sang j.
Giả sử ngày đầu tiên là nắng (π1=1), ta có xác suất xuất hiện của chuỗi “q1q2q3”
(nắng-nhiều mây-mưa) là: p(q2|q1)* p(q3|q2)= 1/3*1/4 = 1/12. Nhiệm vụ của chuỗi
Markov đến đây là hết, nó cho phép tính xác suất của một chuỗi sự kiện nào đó. Tuy
nhiên chúng ta cần nhiều hơn thế.
GVHD : TS Lê Quân Hà
KS Nguyễn Văn Khiêm

- 25 -

SVTH : Tiến Long-Ngọc Thắm
Hữu Tình


×