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

Nhận dạng tiếng nói qua mô hình markov ẩn và nghiên cứu điều khiển vài ứng dụng máy tính bằng lời nói

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.27 MB, 34 trang )

TRƯỜNG ĐẠI HỌC AN GIANG
KHOA KỸ THUẬT - CÔNG NGHỆ - MÔI TRƯỜNG

NGUYỄN VĂN HỘI

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC

NHẬN DẠNG TIẾNG NÓI QUA MÔ HÌNH MARKOV ẨN
VÀ NGHIÊN CỨU ĐIỀU KHIỂN VÀI ỨNG DỤNG MÁY
TÍNH BẰNG LỜI NÓI

An Giang, 08/2010


TRƯỜNG ĐẠI HỌC AN GIANG
KHOA KỸ THUẬT - CÔNG NGHỆ - MÔI TRƯỜNG

NGUYỄN VĂN HỘI

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC

NHẬN DẠNG TIẾNG NÓI QUA MÔ HÌNH MARKOV ẨN
VÀ NGHIÊN CỨU ĐIỀU KHIỂN VÀI ỨNG DỤNG MÁY
TÍNH BẰNG LỜI NÓI

GV. hướng dẫn:
Ths. Trương Hoàng Vinh

An Giang, 05/2010



LỜI NÓI ĐẦU
Đã từ lâu, tôi rất thích về lĩnh vực khoa học và đặc biệt là lĩnh vực khoa học công
nghệ máy tính. Tôi có một ước mơ lớn là làm sao để giữa máy tính và con người có thể
giao tiếp trực tiếp được với nhau.
Thực hiện được điều đó sẽ mở ra nhiều ứng dụng trong các lĩnh vực đời sống ,vươn
tới một kỹ nghệ cao trong khoa học máy tính.
Nghiên cứu về lĩnh vực nhận dạng tiếng nói thì đã xuất hiện từ trước đây. Nhưng hiện
nay, chỉ đạt được một số thành công đối với hệ thống tiếng anh: hệ thống nhận dạng tiếng
nói tích hợp của Office XP, phần mềm Via Voice của IBM. Những hệ thống này hoạt
động khá tốt nhưng chưa đạt đến ước mơ của con người. Đối với, hệ thống nhận dạng
tiếng việt thì chưa thấy xuất hiện trên thị trường.
Với những lý do trên, cùng với sự giúp đỡ của các Thầy, các Anh trong khoa Kỹ
Thuật – Công Nghệ - Môi Trường trường Đại Học An Giang, tôi đã quyết định chọn đề
tài: “Nhận Dạng Tiếng Nói Qua Mô Hình Markov Ản Và Nghiên Cứu Điều Khiển
Vài Ứng Dụng Máy Tính Bằng Lời Nói” nhằm nghiên cứu phương pháp nhận dạng
tiếng nói, xây dựng thử nghiệm hệ thống nhận dạng cở nhỏ để điều khiển vài ứng dụng
máy tính bằng lời nói. Thực hiện đề tài này là bước khởi đầu để tôi thực hiện ước mơ đó
của mình. Hy vọng, sau này nhà trường có thể tạo điều kiện cho tôi phát triển hoài bảo
tương lai.
Các đối tượng cần nghiên cứu trong đề tài này: tìm hiểu về đặc trưng tín hiệu âm
thanh tiếng nói, tìm hiểu giải thuật nhận dạng tiếng nói, xây dựng thử nghiệm một phần
mềm: điều khiển vài ứng dụng máy tính bằng lời nói.
Trong khóa luận này, tôi lựa chọn mô hình markov ẩn để nhận dạng tiếng nói. Bởi vì,
nó có ưu điểm hơn so với các mô hình khác như mô hình mạng neural. Nhưng nếu có
điều kiện tôi sẽ kết hợp hai mô hình này lại, bởi vì: Mô hình Markov Ẩn thì cho xác suất
nhận dạng cao nhưng tốc độ nhận dạng chậm do số lượng phép tính lớn. Trong khi đó,
mô hình mạng neural thì ngược lại.
Sau thời gian thực hiện, mặc dù đã cố gắn hết sức nhưng do thời gian, phương tiện,
công cụ,… còn hạn chế nên kết quả nghiên cứu được còn chưa thỏa mản bản thân. Trong
tương lai, khi có điều kiện hệ thống sẽ được phát triển và hoàn thiện tốt hơn.



LỜI CẢM ƠN
Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc tới Thạc sỹ Trương Hoàng Vinh, thầy
đã nhiệt tình hướng dẫn, giúp đỡ về tài liệu, phương pháp học,…trong suốt thời gian làm
khóa luận vừa qua.
Em cảm ơn Anh Trương Minh Tuyền, Thầy Đỗ Thanh Cao, đã gợi ý, cũng như cung
cấp thêm về tài liệu nghiên cứu cho em.
Em cảm ơn các Thầy, Cô trong khoa Kỹ Thuật-Công Nghệ-Môi Trường, trường Đại
Học An Giang đã tận tình chỉ bảo, giúp đỡ tạo điều kiện cho em trong quá trình học tập,
nghiên cứu và thực hiện hoài bảo của mình.
Cảm ơn các bạn lớp DH7TH đặc biệt là bạn Lê Hiệp Hùng đã động viên, giúp đỡ để
tôi hoàn thành tốt công việc của mình.
Con xin cảm ơn Cha mẹ và toàn thể gia đình lòng biết ơn sâu đậm nhất và những tình
cảm thân thương nhất.
Con cảm ơn tất cả! Cảm ơn...

Long Xuyên, ngày 14 tháng 05 năm 2010
Nguyễn Văn Hội


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

MỤC LỤC
Mục lục ................................................................................................................................ 1
Danh mục hình .................................................................................................................... 2
Phần A: LÝ THUYẾT.................................................................................................... 3
Chƣơng I: GIỚI THIỆU ............................................................................................... 3

Chƣơng II: LÝ THUYẾT VỀ ÂM THANH ............................................................... 3
1. Giới thiệu về âm thanh ............................................................................................ 3
2. Cơ quan phát âm của con người .............................................................................. 4
Chƣơng III: NHẬN DẠNG TIẾNG NÓI .................................................................... 5
1. Giới thiệu ................................................................................................................. 5
2. Một số khái niệm ..................................................................................................... 5
3. Phân loại hệ thống nhận dạng tiếng nói ................................................................... 5
4. Các nghành liên quan đến nhận dạng tiếng nói ....................................................... 5
5. Những khó khăn trong nhận dạng tiếng nói ............................................................ 6
6. Ba nguyên tắc cơ bản khi nghiên cứu về nhận dạng tiếng nói ................................ 6
Chƣơng IV: MÔ HÌNH MARKOV ẨN VÀ ỨNG DỤNG TRONG NHẬN DẠNG
TIẾNG NÓI .................................................................................................................... 6
1. Giới thiệu ................................................................................................................. 6
2. Quá trình Markov ẩn................................................................................................ 6
3. Khái niệm mô hình Markov ẩn ................................................................................ 7
4. Các thành phần của HMM ....................................................................................... 8
5. Ba bài toán ............................................................................................................... 8
6. Phân loại .................................................................................................................. 9
7. Ứng dụng trong nhận dạng từ .................................................................................. 9
Chƣơng V: QUI TRÌNH NHẬN DẠNG TIẾNG NÓI ............................................. 10
1. Giới thiệu ............................................................................................................... 10
2. Qui trình nhận dạng tiếng nói ................................................................................ 10
Phần B: MÔ PHỎNG ỨNG DỤNG .............................................................................. 24
Chƣơng VI: XÂY DỰNG CHƢƠNG TRÌNH THỰC TẾ ....................................... 24
1. Giới thiệu ............................................................................................................... 24
2. Một số giao diện ban đầu của chương trình........................................................... 25
Chƣơng VII: KẾT LUẬN .......................................................................................... 28
1. Tóm tắt quá trình thực hiện ................................................................................... 28
2. Các công việc đã thực hiện được ........................................................................... 28
3. Các công việc chưa thực hiện ................................................................................ 29

4. Hướng phát triển .................................................................................................... 29
TÀI LIỆU THAM KHẢO............................................................................................... 30
Trang 1


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

DANH MỤC HÌNH
Hình 1: Cơ quan phát âm của con người ............................................................................. 4
Hình 2: Mô hình Markov ẩn ................................................................................................ 8
Hình 3: Sơ ứng dụng trong nhận dạng từ ............................................................................ 9
Hình 4: Sơ đồ giai đoạn huấn luyện .................................................................................. 11
Hình 5: Lược đồ giải thuật Huấn luyện HMM .................................................................. 11
Hình 6: Sơ đồ giai đoạn nhận dạng ................................................................................... 12
Hình 7: Lược đồ giải thuật nhận dạng sử dụng mô hình Markov Ẩn ............................... 13
Hình 8: Sơ đồ tổng quát của hệ thống nhận dạng .............................................................. 13
Hình 9: Tiếng nói “chín” khi chưa xử lý ........................................................................... 14
Hình 10: Tiếng nói “chín” qua tiền xử lý ( cắt khoảng lặng ) ........................................... 15
Hình 11: Tiếng nói “chín” sau khi trích đặc trưng chia thành 8 phần ............................... 18
Hình 12: Tiếng nói “một” khi chưa xử lý .......................................................................... 19
Hình 13: Tiếng nói “một” qua tiền xử lý ( cắt khoảng lặng ) ............................................ 19
Hình 14: Tiếng nói “một” sau khi trích đặc trưng chia thành 8 phần................................ 23
Hình 15: Tiếng nói “mở word” khi chưa xử lý ................................................................. 23
Hình 16: Tiếng nói “mở word” qua tiền xử lý ( cắt khoản lặng )...................................... 23
Hình 17: Tiếng nói “tắt máy” khi chưa xử lý .................................................................... 24
Hình 18: Tiếng nói “tắt máy” qua tiền xử lý ( cắt khoản lặng ) ........................................ 24
Hình 19: Giao diện chính .................................................................................................. 25
Hình 20: Giao diện nhận dạng số ...................................................................................... 26

Hình 21: Giao diện nhận dạng câu lệnh ............................................................................ 27

Trang 2


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Phần A: LÝ THUYẾT
Chƣơng I: GIỚI THIỆU
Ngôn ngữ lời nói là phương tiện đắc lực nhất trong giao tiếp của con người. Ngôn ngữ thì
gồm có ngôn điệu và ngữ điệu. Ngôn điệu của lời nói lại liên kết chặt chẽ với ngữ điệu. Ngôn
điệu chính là cái mang lại những âm sắc riêng biệt cho tiếng nói con người. Còn ngữ điệu là
sự nâng cao hạ thấp của giọng nói. Do đó, việc nghiên cứu các phương pháp để nhận dạng lời
nói của con người là một công việc vô cùng hấp dẫn và đầy khó khăn. Nó mở ra nhiều ứng
dụng trong các lĩnh vực: kinh tế, văn hóa, xã hội và chính trị.
Nội dung các chương được trình bày trong luận văn này như sau:
Chương I. Giới thiệu: trình bày nội dung cơ bản của các chương.
Chương II. Lý thuyết về âm thanh: giới thiệu về âm thanh và cơ quan phát âm của con
người.
Chương III. Nhận dạng tiếng nói: trình bày các khái niệm liên quan đến việc nhận dạng
tiếng nói giúp ta hiểu rõ hơn về các khái niệm: nhận dạng mẫu, nhận dạng tiếng nói, máy học,
học có giám sát, phân biệt được thế nào là nhận dạng tiếng nói với tổng hợp tiếng nói, nhận
dạng lệnh với nhận dạng người nói. Trong luận văn này sẽ nghiên cứu về nhận dạng tiếng nói
với việc là nhận dạng lệnh. Một số khó khăn trong nhận dạng tiếng nói, các nghành liên quan,
phân loại hệ thống nhận dạng tiếng nói đều được trình bày trong chương này.
Chương IV. Mô hình Markov ẩn và ứng dụng trong nhận dạng tiếng nói: trình bày về mô
hình Markov Ẩn (Hidden Markov Model), một mô hình nhận dạng hiệu quả nhất so với các
mô hình khác, nó sẽ cho ra xác suất nhận dạng chính xác khá cao. Đây là hướng tiếp cận với

phương pháp đối sánh mẫu xác suất, tức là mô hình sẽ so sánh mẫu cần nhận dạng với mẫu
được huấn luyện trước đó.
Chương V. Qui trình nhận dạng tiếng nói: trình bày các bước thực hiện hệ thống nhận
dạng tiếng nói, cũng như vẽ các sơ đồ, giải thuật dùng trong hệ thống, giải thích sơ đồ tổng
quát cho giai đoạn nhận dạng và trình bày một số hình ảnh biễu diễn tín hiệu âm thanh tiếng
nói được sử dụng trong hệ thống, từ hình ảnh tín hiệu chưa xử lý đến hình ảnh tín hiệu qua
quá trình tiền xử lý (cắt khoảng lặng) rồi đến các hình ảnh tín hiệu khi đã trích đặc trưng.
Chương VI. Xây dựng chương trình thực tế: trình bày việc xây dựng một ứng dụng thực tế
mô phỏng về quá trình nhận dạng tiếng nói và ứng dụng hệ thống vào việc điều khiển một số
chương trình ứng dụng của máy tính như: điều khiển nhóm Office, nhóm ứng dụng, nhóm hệ
thống của Windown XP, tạo thư mục,… và một số công cụ cần cho nghiên cứu.

Chƣơng II: LÝ THUYẾT VỀ ÂM THANH
1. Giới thiệu về âm thanh
Âm thanh là các dao động cơ học ( biến đổi vị trí qua lại) của các phần tử, nguyên tử hay
các hạt làm nên vật chất và lan truyền trong vật chất như các sóng. Âm thanh giống như nhiều
sóng, được đặc trưng bởi tần số, bước sóng, chu kỳ, biên độ và vận tốc lan truyền ( tốc độ âm
thanh ).

Trang 3


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Đối với thính giác của người, âm thanh thường là sự dao động trong dải tần số từ khoảng
20 Hz đến khoảng 20 kHz của các phần tử không khí, và lan truyền trong không khí, va đập
vào màng nhĩ, làm rung màn nhĩ và kích thích bộ não. Tuy nhiên, âm thanh có thể được định
nghĩa rộng hơn, tùy vào ứng dụng bao gồm các tần số cao hơn hay thấp hơn tần số mà tai

người có thể nghe thấy và không chỉ có thể lan truyền trong không khí mà trong bất cứ vật
liệu nào. Trong định nghĩa rộng này âm thanh là sóng cơ học, sóng này cũng có thể coi là
dòng lan truyền của các hạt lượng tử của âm thanh.
Cả tiếng ồn và âm nhạc đều là các âm thanh. Trong việc truyền tín hiệu bằng âm thanh,
tiếng ồn là các dao động ngẫu nhiên không mang tín hiệu.
Tiếng nói là một chuỗi các âm thanh khác nhau kết hợp lại. Các âm thanh này và sự
chuyển tiếp giữa chúng đóng vai trò là biểu diễn thông tin cần truyền đạt. Thứ tự sắp xếp các
âm này tuân theo các quy tắc của ngôn ngữ.
Để hiểu rõ hơn về âm thanh tiếng nói ta xem xét đến cơ quan phát âm của con người.
2. Cơ quan phát âm của con ngƣời

Hình 1: Cơ quan phát âm của con người
Không khí đi vào phổi thông qua sự hô hấp ( chưa tạo ra tiếng nói ).
Không khí xuất phát từ phổi thông qua khí quản làm căng dây thanh trong thanh quản tạo
ra dao động trong không khí.
Dao động trong không khí là các xung theo chu kì đi qua họng, khoang miệng, khoang
mũi.
Sự kết hợp của các bộ phận trong bộ máy phát âm tạo ra những âm thanh khác nhau.
* Cơ chế tạo tiếng nói
Phổi đóng vai trò là nguồn không khí kích thích bộ máy phát âm.
Các cơ ở lồng ngực đẩy không khí ra khỏi phổi qua phế quản và khí quản.
Nếu dây thanh âm căng lên, luồng không khí sẽ làm cho dây thanh dao động tạo ra âm
thanh.
Nếu dây thanh âm không căng, luồng không khí tiếp tục đi cho đến khi gặp vật cản tạo ra
các âm vô thanh như: /s/, /sh/ hoặc gặp điểm cuối sẽ tạo ra một áp suất tại đó, cho đến khi áp
suất được giải phóng một cách đột ngột tạo ra các âm bật như: /t/, /p/.

Trang 4



Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Chƣơng III: NHẬN DẠNG TIẾNG NÓI
1. Giới thiệu
Trong chương III này sẽ trình bày các khái niệm liên quan đến việc nhận dạng tiếng nói
giúp ta hiểu rõ hơn về các khái niệm: nhận dạng mẫu, nhận dạng tiếng nói, máy học, học có
giám sát, phân biệt được thế nào là nhận dạng tiếng nói với tổng hợp tiếng nói, nhận dạng
lệnh với nhận dạng người nói. Trong luận văn này sẽ nghiên cứu về nhận dạng tiếng nói với
việc là nhận dạng lệnh. Một số khó khăn trong nhận dạng tiếng nói, các nghành liên quan,
phân loại hệ thống nhận dạng tiếng nói đều được trình bày trong chương này.
2. Một số khái niệm
Nhận dạng tiếng nói là quá trình nhận dạng mẫu với mục đích là phân lớp thông tin đầu
vào thành một dãy tuần tự các mẫu được học trước đó và lưu trong bộ nhớ. Mỗi một mẫu là
một đơn vị nhận dạng hay âm vị hay từ.
Trong đó, nhận dạng mẫu là một nghành thuộc lĩnh vực học máy ( machine learning) hay
máy học, thuộc lĩnh vực trí tuệ nhân tạo, là một tập các phương pháp học có giám sát
(supervised), cần thực hiện một tác động vào dữ liệu thô ( tác động gì còn tùy thuộc vào loại
dữ liệu đó ), mục đích là phân loại dữ liệu dựa trên kiến thức tiên nghiệm hoặc thông tin thống
kê từ mẫu dữ liệu có sẵn.
Machine learning: là một kỹ thuật mà máy tính “học”.
Supervised: là kỹ thuật xây dựng hàm từ dữ liệu huấn luyện, nhiệm vụ là dự đoán giá trị
của hàm cho một đối tượng bất kỳ tức là đối tượng thông tin đầu vào.
Ta cần phân biệt:
Nhận dạng tiếng nói: từ sóng tiếng nói của người nói máy sẽ nhận biết và chuyển
thành dữ liệu văn bản hoặc thực thi câu lệnh mà người điều khiển muốn nói.
Tổng hợp tiếng nói: từ dữ liệu văn bản được lưu sẵn trước đó máy sẽ phân tích và
chuyển thành tiếng người nói.
Trong khái niệm nhận dạng tiếng nói ta lại cần phân biệt:

Nhận dạng lệnh: thực thi các lệnh trong máy mà người điều khiển yêu cầu.
Nhận dạng người nói: dựa vào lời nói của người đó mà máy sẽ cho ra những thông tin
được lưu trữ trước đó về họ.
3. Phân loại hệ thống nhận dạng tiếng nói
Có hai loại:
Hệ thống nhận dạng từ rời rạc.
Hệ thống nhận dạng từ liên tục.
Kích thước từ điển nhỏ ( từ vài chục đến vài trăm từ ).
Kích thước từ điển trung bình và lớn ( vài trăm từ trở lên ).
Trong luận văn này sẽ thực hiện hệ thống nhận dạng từ rời rạc.
4. Các nghành liên quan đến nhận dạng tiếng nói

Trang 5


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Recognition pattern: Nhận dạng mẫu.
Digital signal processing: Xử lý tín hiệu số.
Linguistic: Ngôn ngữ học.
Acoustic: vật lý ( âm học ).
5. Những khó khăn trong nhận dạng tiếng nói
Tín hiệu âm thanh tại thời điểm khác nhau là khác nhau về:
Yếu tố: trọng âm, ngữ điệu, tốc độ, âm sắc, âm vực, mỗi âm có thể bị ảnh hưởng bởi
các âm liền kề…
Cùng 1 âm tiết, cùng 1 người nói trong cùng một câu cũng khác nhau.
6. Ba nguyên tắc cơ bản khi nghiên cứu về nhận dạng tiếng nói
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. 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.
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 và suy đoán 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.

Chƣơng IV: MÔ HÌNH MARKOV ẨN VÀ ỨNG DỤNG
TRONG NHẬN DẠNG TIẾNG NÓI
1. Giới thiệu
Trong chương IV này sẽ trình bày về mô hình Markov Ẩn (Hidden Markov ModelHMM), một mô hình nhận dạng hiệu quả nhất so với các mô hình khác, nó sẽ cho ra xác suất
nhận dạng chính xác khá cao. Đây là hướng tiếp cận với phương pháp đối sánh mẫu xác suất,
tức là mô hình sẽ so sánh mẫu cần nhận dạng với mẫu được huấn luyện trước đó.
Mỗi từ sau khi trải qua giai đoạn trích đặc trưng ta thu được một dãy vector P chiều và
được kí hiệu là t1, t2, …, tn. Dãy vector đặc trưng này sẽ được biến đổi thành các quan sát sau
khi lượng tử hóa vector và được kí hiệu là o1, o2, …, on.
2. Quá trình Markov ẩn
Xét sự tiến triển của một hệ thống nào đó theo thời gian, kí hiệu qt là vị trí của hệ tại thời
điểm t, S = {Si}là không gian trạng thái (các vị trí mà hệ có thể xuất hiện trong tương lai).
- Ở thời điểm t hệ ở trạng thái Si, nếu xác suất chuyển sang trạng thái tiếp theo (Sj tại
thời điểm t’) chỉ phụ thuộc vào trạng thái hiện tại và độc lập với quá khứ (tức là chỉ phụ thuộc
vào t, t’, Si, Sj) thì ta gọi đó là tính Markov.
Trang 6


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội


- Hệ có tính Markov thì được gọi là quá trình Markov.
- Không gian trạng thái S quan sát được tức là đếm được thì gọi là xích Markov.
- Nếu t rời rạc (t = 0, 1,2,…) thì ta có Xích Markov Rời Rạc.
- Biểu diễn tính Markov của hệ bằng biểu thức:

Ví dụ 1: Quá trình Markov bậc 1, trong đó các nút là các trạng thái, ai ( i = 1,..,4 ) là các
xác suất chuyển trạng thái và  ai =1

Ví dụ 2: Quá trình Markov bậc 2, trong đó các nút là các trạng thái, ai (i = 1,…, 8) là các
xác suất chuyển trạng thái và  ai =1

3. Khái niệm mô hình Markov ẩn
Mô hình Markov Ẩn là mô hình Markov mà mỗi một nút trạng thái có thể phát sinh hơn
một sự kiện hay còn gọi là một quan sát (observation), tương ứng với các trạng thái là một
hàm xác suất của các trạng thái. Tập các quan sát O được sinh ra bởi không gian trạng thái S,
mà không gian này là không thấy được (tức là các nút trạng thái không đếm được). Đó là lý
do mà mô hình Markov được gọi là mô hình Markov Ẩn.

Trang 7


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Ví dụ 3:

Hình 2: Mô hình Markov ẩn
4. Các thành phần của HMM
Mô hình Markov ẩn bao gồm các thành phần:

+ [1, 2, …, N]: là các trạng thái.
+ N: là số trạng thái của mô hình.
+ qt: là trạng thái tại thời điểm t.
+ O = { o1, o2, …, oM}: là tập các quan sát.
+ M: là số lượng quan sát.
+ A = {aij}: là ma trận xác suất trạng thái.
+ aij = P[ qt+1 = j | qt = i ] : là xác suất từ trạng thái i ( ở thời điểm t) đến trạng thái j ( ở
thời điểm t + 1). Tổng của aij là 1.
+ B = { bj(k)}: là ma trận xác suất quan sát.
+ bj(k) = P[ Ot = vk | qt = j]: là xác suất tạo ra quan sát vk khi mô hình ở trạng thái j.
Tổng bj(k) bằng 1.
+  = {  i }: là ma trận xác suất trạng thái ban đầu.
+  i = P[qt=i]. Tổng  i bằng 1.
5. Ba bài toán
* Bài toán 1:
Tính xác suất lớn nhất mà các từ cần nhận dạng có thể có trong cơ sở dữ liệu mẫu.
* Bài toán 2:
Xác định chuỗi quan sát cần nhận dạng có trong cơ sở dữ liệu mẫu không ( nếu không
có thì chuỗi quan sát đó gọi là phần ẩn của cơ sở dữ liệu mẫu ). Đối với mạng Neural, hiện
đang nghiên cứu cách học nói của trẻ con để tìm ra phương pháp học cho máy.
* Bài toán 3:
Cực đại hóa tham số mô hình mẫu ( xây dựng cơ sở dữ liệu mẫu chuẩn nhất) để miêu
tả tốt nhất sự xuất hiện của một chuỗi quan sát cần nhận dạng
Trang 8


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội


6. Phân loại
Có hai loại mô hình Markov ẩn ( phân loại dựa vào cấu trúc của ma trận A ):
+ Mô hình Markov ẩn kết nối đầy đủ, tức là mỗi nút trạng thái của mô hình có thể đạt
tới những nút trạng thái khác.
+ Mô hình Bakis ( hay còn gọi là mô hình trái – phải ): trong luận văn này sẽ sử dụng
mô hình này để nhận dạng tiếng nói. Mô hình này có đặc điểm: khi thời gian tăng trạng thái sẽ
tăng lên, tức là trạng thái tiến dần từ trái sang phải. Điều này phù hợp với cấu trúc tự nhiên
của tiếng nói là biến thiên theo thời gian từ trái sang phải.
Có ba loại mô hình Markov ẩn ( phân loại dựa vào tính chất của hàm phát xạ quan sát).
+ Mô hình Markov ẩn rời rạc.
+ Mô hình Markov ẩn liên tục.
+ Mô hình Markov ẩn bán liên tục: mô hình này là sự kết hợp của hai mô hình: rời rạc
và liên tục.
7. Ứng dụng trong nhận dạng từ
Ta cần nhận dạng bộ từ vựng có V từ, mỗi từ đều có một mô hình markov riêng và được
nói k lần:
+ Giai đoạn huấn luyện: với mọi từ v trong bộ từ vựng, ta xây dựng mô hình Markov
ẩn  , tức là ta phải ước lượng tham số của mô hình ( A, B,  ).
+ Giai đoạn nhận dạng: với mỗi từ chưa biết ta xây dựng mô hình nhận dạng như sau:

Hình 3: Sơ ứng dụng trong nhận dạng từ
Tín hiệu tiếng nói khi thu âm vào cần được xử lý lọc nhiễu, cắt khoảng lặng thông qua
khâu tiền xử lý, sau đó ta trích đặc trưng tiếng rồi lượng tử hóa vector ta sẽ thu được chuỗi

Trang 9


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội


quan sát O. Ta sẽ cần tính các xác suất của chuỗi quan sát O ứng với từng từ trong cơ sở dữ
liệu rồi chọn ra xác suất lớn nhất. Đó chính là từ cần nhận dạng.
Xây dựng mô hình Markov ẩn (Hidden Markov Model) với 6 trạng thái, tối ưu hóa các hệ
số của Hidden Markov Model tương ứng với từng từ trong bộ từ vựng, tiến hành nhận dạng
một từ được đọc vào micro.
+ Cơ sỡ dữ liệu: vector đặc trưng ứng với từng từ.
+ Xây dựng mô hình markov ẩn: dữ liệu huấn luyện là các vector đặc trưng, xây dựng
bộ từ vựng.
+ Giải thuật huấn luyện HMM: sử dụng mô hình Bakis, 6 trạng thái, bước nhảy 2, mỗi
từ được xây dựng 1 mô hình markov ẩn riêng.

Chƣơng V: QUI TRÌNH NHẬN DẠNG TIẾNG NÓI
1. Giới thiệu
Trong chương V này sẽ trình bày các bước thực hiện hệ thống nhận dạng tiếng nói, cũng
như vẽ các sơ đồ, giải thuật dùng trong hệ thống, giải thích sơ đồ tổng quát cho giai đoạn
nhận dạng và trình bày một số hình ảnh biễu diễn tín hiệu âm thanh tiếng nói được sử dụng
trong hệ thống, từ hình ảnh tín hiệu chưa xử lý đến hình ảnh tín hiệu qua quá trình tiền xử lý
(cắt khoảng lặng) rồi đến các hình ảnh tín hiệu khi đã trích đặc trưng.
2. Qui trình nhận dạng tiếng nói
Quá trình xây dựng hệ thống nhận dạng trải qua 2 giai đoạn:
2.1. Giai đoạn huấn luyện(tạo cơ sở dữ liệu)
+ Thu âm: thu nhận và số hóa âm thanh của người điều khiển bằng microphone.
+ Tiền xử lý: cắt khoảng lặng, lọc nhiễu, xác định và lấy vùng chứa tín hiệu âm thanh.
+ Trích đặc trưng: tìm thông tin đặc trưng nhất của mẫu đầu vào dùng cho nhận dạng.
+ Lượng tử hóa vector: ước lượng tham số của mô hình.
+ Lưu vào cơ sở dữ liệu.
+ Lặp lại cho tất cả tiếng nói cần nhận dạng.

Trang 10



Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Tiếng nói

Thu âm

Tín hiệu thô

Nguyễn Văn Hội

Tiền xử lý
Tín
hiệu
đã
xử


Tham số nhận dạng

Huấn
luyện
HMM

Vector đặc trưng

Trích đặc
trưng


Hình 4: Sơ đồ giai đoạn huấn luyện
Bắt đầu
Ghi âm tất cả từ cần huấn luyện, mỗi từ nói n lần
Trích đặc trưng của từng từ
Kết hợp tất cả đặc trưng từng từ tạo thành tập dữ liệu
huấn luyện
Lượng tử vector tập dữ liệu huấn luyện để tạo
codebook
Đánh nhãn cho từng từ
Khởi tạo HMM cho từng từ

Huấn luyện HMM cho từng từ

Kết thúc
Hình 5: Lược đồ giải thuật Huấn luyện HMM
2.2. Nhận dạng
+ Thu âm: nhận vào đối tượng tiếng nói cần nhận dạng.

Trang 11


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

+ Tiền xử lý: cắt khoảng lặng, lọc nhiểu, xác định và lấy vùng chứa tín hiệu âm thanh.
+ Trích đặc trưng: tách đặc trưng của đối tượng và dùng cơ cấu nhận dạng xây dựng
lớp chứa đối tượng.
+ Lượng tử hóa vector.
+ Nhận dạng:

* Giới thiệu một số phương pháp nhận dạng:
+ Phương pháp 1: bất kỳ một bộ phận âm tiết nào(một phụ âm hoặc một
nguyên âm) đều có đặc trưng về phân bố năng lượng ở các tần số khác nhau. Đặc biệt,
mỗi một bộ phận âm tiết đều có vùng tần số đặc trưng( do cộng hưởng ) gọi là
formant. Dựa vào formant có thể phân biệt được thành phần âm tiết là phụ âm gì,
nguyên âm gì và tạo nên âm tiết nào.
Nhược điểm phương pháp 1: xác định formant chính xác không cao do khác
nhau về tín hiệu giữa các phụ âm là rất bé.
+ Phương pháp 2: trí tuệ nhân tạo(sử dụng mạng neural). Phương pháp này sẽ
học tập cách học nói ( nghe ) của người. Tìm hiểu quy luật ngữ âm, ngữ nghĩa, ngữ
pháp tích hợp vào hệ nhận dạng.
Nhược điểm: xác suất nhận dạng chưa cao.
+ Phương pháp 3: Đối sánh mẫu( sử dụng mô hình markov ẩn). Phương pháp
này sẽ so sánh đối tượng cần nhận dạng với mẫu trước đó, tìm ra mẫu giống. Xác định
đặc trưng của âm: phân bố năng lượng và biên độ ứng với mỗi miền tần số khác nhau,
so sánh đặc trưng.
Nhược điểm: tốc độ nhận dạng chậm do số lượng phép tính lớn.
 Trong các phương pháp trên thì phương pháp sử dụng mô hình markov ẩn là thông
dụng nhất và cho kết quả khá tốt vì cho xác suất nhận dạng khá cao. Tuy nhiên, nếu kết hợp
được hai phương pháp: phương pháp 2 và phương pháp 3 thì kết quả nhận dạng sẽ rất tốt.
Tiếng nói

Thu âm

Tín hiệu thô

Tiền xử lý
Tín
hiệu
đã

xử


Kết quả nhận dạng

Nhận
dạng

Vector đặc trưng

Trích đặc
trưng

Hình 6: Sơ đồ giai đoạn nhận dạng

Trang 12


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Bắt đầu
Ghi âm tiếng nói
Trích đặc trưng MFCC
Lượng tử vector để chuyển sang chuỗi quan sát
o
Đọc HMM của các từ đã được huấn luyện
Tính xác suất của chuỗi quan sát o với HMM của từng từ
Chọn từ có loglikhood lớn nhất đó là từ được nhận dạng


Kết thúc
Hình 7: Lược đồ giải thuật nhận dạng sử dụng mô hình Markov Ẩn
* Sơ đồ tổng quát của hệ thống nhận dạng:
Tiếng nói

Thu âm

Tín hiệu thô

Tiền x.lý
Tín
hiệ
u đã
xử


Huấn
luyện

Vector đặc trưng

Trích đặc
trưng

Kết
quả

Vector đặc trưng


Nhận dạng

HMM
Hình 8: Sơ đồ tổng quát của hệ thống nhận dạng
Trang 13


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Tín hiệu tiếng nói( THTN ) được thu âm thông qua microphone khi chưa được xử lý sẽ
bao gồm các thành phần: tín hiệu tiếng nói, nền nhiễu, khoảng lặng. Do đặc điểm, năng lượng
THTN lớn hơn năng lượng tín hiệu nhiễu, khoảng lặng và tỉ lệ qua điểm zero của THTN nhỏ
hơn tỉ lệ qua điểm zero của tín hiệu nhiễu. Nên ta hoàn toàn có thể tách riêng THTN thông
qua quá trình tiền xử lý.
Quá trình tiền xử lý sẽ được thực hiện như sau:
Chia THTN thành nhiều khung nhỏ, sau đó tính năng lượng cho từng khung. So sánh
năng lượng của mỗi khung vừa tính được với năng lượng ngưỡng, năng lượng ngưỡng là mức
năng lượng lớn hơn mức năng lượng khoảng lặng của THTN, thường thì mức năng lượng
ngưỡng là (1.5E-3). Nếu năng lượng của khung lớn hơn năng lượng ngưỡng thì lưu lại khung
tín hiệu đó, ngược lại năng lượng của khung nhỏ hơn năng lượng ngưỡng thì không lưu tức đó
là khung chứa tín hiệu khoảng lặng. Và cứ tiếp tục, tính năng lượng của các khung tiếp theo
và so sánh với năng lượng ngưỡng. Kết quả cuối cùng ta sẽ thu được tín hiệu chứa tiếng nói
và loại khoảng lặng ra khỏi THTN.
Sau quá trình tiền xử lý, ta sẽ thu được THTN cần cho nhận dạng. Để nhận dạng tiếng
nói, ta cần trích đặc trưng THTN thành một dãy vector sử dụng cho giai đoạn huấn luyện tạo
mẫu nhận dạng hoặc cho giai đoạn nhận dạng. Kết hợp với Hidden Markov Model (HMM) sẽ
cho ra kết quả nhận dạng.
Kết quả nhận dạng còn phụ thuộc vào giọng đọc của người điều khiển có chính xác

hay không.
* Một số hình ảnh biểu diễn tín hiệu âm thanh
+ Biễu diễn tín hiệu của tiếng nói được thu âm trong vòng 3 giây:

Hình 9: Tiếng nói “chín” khi chưa xử lý

Trang 14


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Hình 10: Tiếng nói “chín” qua tiền xử lý ( cắt khoảng lặng )

Trang 15


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Trang 16


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Trang 17



Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Hình 11: Tiếng nói “chín” sau khi trích đặc trưng chia thành 8 phần

Trang 18


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Hình 12: Tiếng nói “một” khi chưa xử lý

Hình 13: Tiếng nói “một” qua tiền xử lý ( cắt khoảng lặng )

Trang 19


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)

Nguyễn Văn Hội

Trang 20


Nhận dạng tiếng nói ( điều khiển ứng dụng máy tính)


Nguyễn Văn Hội

Trang 21


×