Cùng với sự phát triển không ngừng của công nghệ, con người có thể giao tiếp với máy tính thông qua nhiều phương tiện hỗ trợ như: màn hình cảm ứng, thiết bị thu hình, thiết bị thu âm… Tr
Trang 1LỜI CAM ĐOAN
Học viên xin cam đoan đây là công trình nghiên cứu của riêng mình và dưới
sự hướng dẫn khoa học của TS Hồ Thị Hương Thơm Các nội dung nghiên cứu,
kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ
Trang 2LỜI CẢM ƠN
Trong suốt quá trình học tập và nghiên cứu học viên đã nhận được rất nhiều
sự giúp đỡ của các thầy cô, bạn bè và gia đình
Học viên xin bày tỏ lòng biết ơn sâu sắc và chân thành cảm ơn TS Hồ Thị Hương Thơm đã tận tâm chỉ bảo, hướng dẫn và giúp đỡ tôi trong suốt thời gian
thực hiện đề tài:“NGHIÊN CỨU NHẬN DẠNG GIỌNG NÓI, ÁP DỤNG ĐIỀU
KHIỂN ỨNG DỤNG HOẶC TRÒ CHƠI TRÊN MÁY TÍNH”
Học viên xin cảm ơn Trường Đại học Hàng Hải, các thầy cô trong Viện đào tạo sau Đại họcđã tạo điều kiện tốt nhất cho tất cả các học viên được học tập và
nghiên cứu tại trường
Học viên xin cảm ơn các đồng nghiệp và các thành viên trong gia đình đã luôn động viên, ủng hộ, chia sẻ giúp học viên tập trung nghiên cứu và hoàn thành
luận văn của mình
Học viênxin kính chúc các thầy cô luôn luôn mạnh khỏe để tiếp tục thực hiện sứ mệnh cao đẹp trong sự nghiệp giáo dục
Xin chân thành cảm ơn!
Học viên
Nguyễn Thị Huyền Thanh
Trang 3MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANG MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU v
DANH MỤC CÁC HÌNH vi
DANH MỤC CÁC BẢNG viii
MỞ ĐẦU 1
CHƯƠNG 1 GIỚI THIỆU KHÁI NIỆM TỔNG QUAN 4
1.1 Khái niệm cơ bản về tương tác người máy 4
1.2 Cơ sở lý thuyết của âm thanh giọng nói 7
1.2.1 Giới thiệu về xử lý giọng nói 7
1.2.2 Chuyển đổi văn bản thành giọng nói 9
1.3 Nhận dạng giọng nói 10
1.3.1 Giới thiệu về nhận dạng tiếng nói 10
1.3.2 Phân loại hệ thống nhận dạng tiếng nói 13
1.4 Quá trình xử lý giọng nói 15
1.4.1 Phân tích ngữ âm và văn bản 15
1.4.2 Chuyển đổi ký tự sang âm thanh 17
1.5 Tổng hợp tiếng nói 19
1.6 Kỹ thuật thích ứng tiếng nói 22
1.7.Ứng dụng nhận dạng giọng nói trong thực tế và điều khiển trên máy tính 23
CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG GIỌNG NÓI 27
2.1 Phương pháp mô hình độ tương quan 27
2.1.1 Vị trí trình tự các biến 28
Trang 42.1.2 Miêu tả các thành phần vector tham số phổ độc lập 29
2.1.3 Kiểu nhận dạng 29
2.2 Phương pháp mạng nơron 31
2.2.1 Giới thiệu về mạng nơron nhân tạo 32
2.2.2 Mô hình mạng nơron 32
2.2.3 Xử lý tín hiệu tiếng nói 34
2.2.4 Quá trình nhận dạng 34
2.2.5 Nhận dạng tiếng nói bằng mạng nơron 37
CHƯƠNG 3 CÀI ĐẶT, THỬ NGHIỆM VÀ ỨNG DỤNG 42
3.1 Môi trường thử nghiệm 42
3.2 Mô phỏng chương trình 42
3.3 Thử nghiệm và đánh giá kết quả 45
KẾT LUẬN 49
TÀI LIỆU THAM KHẢO 51
Trang 5DANG MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
FD – PSOLA Frequency Domain -Pitch Synchronous Overlap Add
LP-PSOLA36 Linear Prediction - Pitch Synchronous Overlap Add
TD – PSOLA Time Domain- Pitch Synchronous Overlap Add
Trang 6DANH MỤC CÁC HÌNH
1.1 Mô hình bộ xử lý thông tin của con người (do Card, Moran
1.2 Tương tác người – máy bằng giọng nói, cử chỉ, khuôn mặt 6
1.3 Dùng giọng nói để lên thực đơn, rồi điều khiển robot đi chợ 6
1.6 Nhận dạng giọng nói qua tương tác máy tính 10
1.7 Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói 13
1.8 Điều khiển máy tính bằng giọng nói qua phần mềm PC
1.12 Sơ đồ thuật toán chuyển đổi ký tự sang âm thanh 18
1.15 Điều khiển giọng nói với máy tính bảng 24
1.16 Soạn thảo văn bản bằng giọng nói trên Google Dos 26
Trang 72.1 Mô hình mạng Neuron 33
2.2 Sơ đồ tổng quan của hệ thống nhận dạng 37
2.3 Sơ đồ khối mô tả hệ thống nhận dạng tiếng nói 37
3.5 Thu tín hiệu dùng để huấn luyện và nhận dạng 44
Trang 8DANH MỤC CÁC BẢNG
1 Kết quả nhận dạng huấn luyện mạng dùng LPC 46
Trang 9MỞ ĐẦU
Công nghệ thông tin đang giữ một vai trò quan trọng không chỉ trong các ngành công nghiệp, quân sự, nghiên cứu, giải trí…mà ngay cả trong đời sống
và nhu cầu ngày nay của con người Có rất nhiều các chuyên ngành khác nhau
trong công nghệ công tin, trong đó giao tiếp giữa người và máy là một phương
pháp rất được quan tâm hiện nay và có đã nhiều ứng dụng trong thực tiễn
Cùng với sự phát triển không ngừng của công nghệ, con người có thể giao tiếp với máy tính thông qua nhiều phương tiện hỗ trợ như: màn hình cảm
ứng, thiết bị thu hình, thiết bị thu âm… Trong đó tiếng nói là cách thức giao
tiếp cơ bản nhất của con người, sử dụng lời nói là một cách diễn đạt hiệu quả
nhất Ngày nay, cùng với sự phát triển của khoa học kỹ thuật và công nghệ, đặc
biệt trong lĩnh vực tin học, nhu cầu giao tiếp với thiết bị máy tính bằng tiếng
nói là rất cần thiết và hỗ trợ con người trong nhiều ứng dụng Vì vậy nghiên
cứu nhận dạng giọng nói trong tương tác người – máy đang được nhiều nhà
nghiên cứu quan tâm,nó cho phép con người tương tác với máy rất dễ dàng và
thuận tiện mà không cần sử dụng các phương pháp tương tác thông thường như
bàn phím, chuột…
Về mặt kinh tế và thương mại, việc nhận dạng tiếng nói đã thay đổi cách con người tương tác với hệ thống và thiết bị, không còn bị bó buộc trong cách
tương tác truyền thống như thông qua bàn phím máy tính hay điện thoại mà
chuyển sang tương tác trực tiếp bằng giọng nói
Về mặt nghiên cứu khoa học, các hệ thống nhận dạng tiếng nói hiện tại đều dựa trên phương pháp thống kê và so khớp mẫu Phương pháp này đòi hỏi
một lượng kiến thức về ngữ âm và dữ liệu huấn luyện lớn, bao gồm cả dạng âm
thanh và dạng văn bản, để huấn luyện bộ nhận dạng Lượng dữ liệu huấn luyện
càng lớn, bộ nhận dạng càng có nhiều khả năng đưa ra kết quả chính xác hơn
Việc nghiên cứu các phương pháp nhận dạng giọng nói đã và đang thu hút
rất nhiều sự đầu tư và nghiên cứu của các nhà khoa học trên khắp thế giới Trên
thế giới đã và đang có có rất nhiều công trình nghiên cứu ứng dụng về vấn đề
này với nhiều phương pháp nhận dạng tiếng nói khác nhau Và những nghiên
Trang 10cứu đó cũng đã có những thành công đáng kể như: Via Voice Mellennium
(IBM), Via Voice Standrad (IBM), nhận dạng tiếng Anh, một số hệ thống nhận
dạng tiếng nói của các ngôn ngữ khác như Trung Quốc, Ý, Đức… Nghiên cứu
nhận dạng tiếng nói được ứng dụng để đáp ứng nhu cầu thiết yếu của con người
và xã hội đem lại nhiều thuận lợi cho con người trong nhiều lĩnh vực của đời
sống như:
- Cải thiện hiệu quả nhập thông tin: nhập bằng tiếng nói nhanh gấp 2 lần nhập bằng gõ phím
- Những ứng dụng ít sử dụng đến đôi tay (trong phòng tối, buồng lái)
- Giúp cho người khiếm thị giao tiếp dễ dàng với bộ thiết bị
- Lĩnh vực chuyển đổi tín hiệu: Chuyển đổi lời nói thành văn bản
- Lĩnh vực nhận diện: Hệ thống mật mã giọng nói
- Các lĩnh vực trong y tế, quân sự…
Với mong muốn có thể hiểu rõ hơn cách thức giao tiếp giữa người và
máy tính, học viên lựa chọn đề tài: “Nghiên cứu một số kĩ thuật nhận dạng
tiếng nói, áp dụng trong việc điều khiển chương trình trên máy tính" dưới sự
hướng dẫn khoa học của TS Hồ Thị Hương Thơm để nghiên cứu và tìm hiểu
về hệ thống này với mục tiêu, phương pháp cụ thể như sau:
1 Mục tiêu của đề tài
Mục tiêu của đề tài là nghiên cứu nhận dạng giọng nói, ứng dụng tương tác điều khiển chương trình trên máy tính
2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài:
- Xử lý âm thanh giọng nói
Trang 11- Cài đặt chương trình thử nghiệm trên môi trường Matlab
3 Phương pháp nghiên cứu
Nghiên cứu và nắm rõ cơ sở lý thuyết của một số kỹ thuật về nhận dạng giọng nói, từ đó cài đặt thử nghiệm trên môi trường Matlab để đánh giá và đưa
ra phương hướng cụ thể khi ứng dụng thực tế
4 Dự kiến kết quả đạt được
Đưa ra được một số kết quả nghiên cứu về mặt lý thuyết nhận dạng giọng nói, xây dựng một số tập lệnh để ứng dụng tương tác chương trình trên máy
tính như là điều khiển trò chơi hoặc thao tác một số cửa sổ trên window
Nội dung luận văn được trình bày trong 3 chương cụ thể như sau:
Chương 1: Giới thiệu khái niệm tổng quan: trình bày những khái niệm
cơ bản về tương tác người - máy, một số cơ sở lý thuyết của âm thanh giọng
nói, nhận dạng giọng nói, ứng dụng của nhận dạng giọng nói trong thực tế và
điều khiển trên máy tính
Chương 2: Một số phương pháp nhận dạng giọng nói: đi vào nghiên
cứu cụ thể hai phương pháp nhận dạng giọng nói
Chương 3: Cài đặt thử nghiệm và ứng dụng: Trên cơ sở một số kỹ
thuật nhận dạng giọng nói được trình bày ở chương 2, chương này đề mô
chương trình, cài đặt, thử nghiệm và đánh giá kết quả
Trang 12CHƯƠNG 1: GIớI THIệU KHÁI NIệM TổNG QUAN 1.1 Khái niệm cơ bản về tương tác người – máy
Tương tác người – máy (Human Computer Interaction – HCL) nói đơn giản là việc nghiên cứu con người (người dùng), công nghệ máy tính và tác
động qua lại giữa các đối tượng đó HCL là một lĩnh vực được quan tâm từ rất
lâu từ khi máy tính ra đời Những nghiên cứu về tương tác người – máy tính là
sự phát triển tiếp theo của khoa học trong thời đại hiện nay, khi vai trò của máy
tính và các ứng dụng công nghệ thông tin ngày càng trở nên phổ biến
Trong tương tác có hai thành phần cơ bản tham gia giao tiếp đó là con người (người dùng) và máy tính Phương tiện giao tiếp giữa hai đối tượng đó là
đối thoại thông qua môi trường là phần mềm Cũng như giao tiếp giữa hai hay
nhiều người với nhau được thực hiện thông qua tiếng nói, hành động hay chữ
viết Người dùng thông qua các phương tiện giao tiếp cung cấp bởi phần mềm,
tương tác với máy tính để đưa ra các yêu cầu (dữ liệu hay mệnh lệnh) nhằm thực
hiện nhiệm vụ của mình Máy tính sẽ phân tích yêu cầu, căn cứ vào các chức
năng định sẵn, thực hiện các yêu cầu đó bằng cách trao đổi giữa các moodun
Việc trao đổi giữa các moodun là trong suốt với người dùng Việc đáp lại hay sự
trả lời của hệ thống thông qua việc biến đổi trạng thái của mình thể hiện trên
thiết bị hiển thị Điều quan trọng ở đây là làm sao, qua giao tiếp người dùng hiểu
công việc của mình làm và biết thực hiện công việc đó bằng cách nào Con
người tương tác với thế giới bên ngoài thông tin nhận được và đáp ứng bằng
thông tin gửi đi Trong quá trình tương tác với máy tính, người dùng nhận được
thông tin gửi ra bởi máy tính và đáp ứng bằng cách cung cấp thông tin vào cho
nó
Kênh vào của con người diễn ra chủ yếu nhờ các giác quan Còn kênh ra nhờ mô tơ điều khiển các tác động thông qua các giác quan vật lý như: mắt, tay,
tai, Trong 5 giác quan của con người, có 3 giác quan quan trọng với tương tác
người – máy tính, đó là: thị giác (nhìn), thính giác (nghe) và xúc giác (sờ, nắm,
Trang 13nhấn phím) Tương tự như vậy các tác nhân có ảnh hưởng đến đầu ra đó là: chân
tay, ngón tay, mắt, đầu và hệ thống ngữ âm
Trong mô hình bộ xử lý của con người tương tác với máy tính của Card, Moran và Newell, bao gồm 3 hệ thống con: hệ thống tiếp nhận dùng để xử lý
các kích thích giác quan từ bên ngoài, hệ thống vận động dùng để điều khiển
hành động, và hệ thống nhận thức đưa ra các xử lý cần thiết để kết nối với hai hệ
tính, người sử dụng sẽ nhận thông tin từ đầu ra của máy tính sau đó phản hồi lại
bằng cách gửi thông tin đến đầu vào của máy tính Khi đó đầu ra của người sử
dụng trở thành đầu vào của máy tính và ngược lại
Cả hai thành phần trong tương tác người – máy đều phức tạp do đó giao diện phải làm nhiệm vụ truyền tải một cách có hiệu quả giữa 2 thành phần đó để
Trang 14đảm bảo tương tác thành công Sự truyền tải này có thể khó khăn vì rất nhiều lí
do, vì vậy việc sử dụng các mô hình tương tác có thể giúp chúng ta hiểu về
những gì đang diễn ra trong tương tác và nhận dạng được nguồn gốc của những
khó khăn đó Chúng cũng cung cấp cho chúng ta một nền tảng để có thể so sánh
các kiểu tương tác khác nhau và xem xét các vấn đề liên quan đến tương tác
Một ví dụ về một ứng dụng tương tác thông minh điều khiển bằng máy tính:
Thực hiện tương tác
người với máy bằng giọng nói, cử chỉ và khuôn mặt
Hình 1.2.Tương tác người – máy bằng giọng nói, cử chỉ, khuôn mặt
Hình 1.3.Dùng giọng nói để lên thực đơn, rồi điều khiển robot đi chợ
Robot của các đội thi thực
hiện thao tác mua hàng tại
siêu thị sau khi nhận yêu cầu
bằng giọng nói của người
điều khiển
Trang 151.2 Cơ sở lý thuyết của âm thanh giọng nói
Máy tính ngày càng là một công cụ vô cùng hữu ích trợ giúp con người
xử lý thông tin Cùng với sự phát triển của xã hội thì khối lượng thông tin mà
máy tính cần xử lý tăng lên rất nhanh trong khi thời gian dành cho những công
việc này lại giảm đi Vì vậy, việc tăng tốc độ xử lý thông tin, trong đó có tốc độ
trao đổi thông tin giữa con người và máy tính, trở thành một yêu cầu cấp thiết
Hiện tại, giao tiếp người - máy được thực hiện bằng các thiết bị như bàn phím,
chuột, màn hình, với tốc độ tương đối chậm nên cần có các phương pháp trao
đổi thông tin mới giúp con người làm việc hiệu quả hơn Một trong những
phương pháp đó là sử dụng tiếng nói trong trao đổi thông tin người - máy
1.2.1 Giới thiệu về xử lý giọng nói
Xử lý giọng nói hiện nay đang là vấn đề được quan tâm nghiên cứu nhiều bởi khả năng ứng dụng trong nhiều lĩnh vực như: Công nghệ thông tin, Viễn
thông, tự động hóa qua đó giúp quá trình tương tác giữa người với máy trở nên
hiệu quả và tự nhiên hơn
Quá trình xử lý tín hiệu giọng nói là quá trình thu nhận, lưu trữ và truyền tín hiệu Quá trình nhận dạng, tổng hợp tiếng nói hay xác thực người nói thông
qua giọng nói là các ví dụ điển hình của quá trình xử lý tín hiệu tiếng nói
Mục đích của xử lý giọng nói đó là:
- Thực hiện xử lý, mã hoá một cách có hiệu quả tín hiệu tiếng nói để truyền
và lưu trữ tiếng nói
- Tổng hợp và nhận dạng giọng nói nói tới giao tiếp người-máy bằng tiếng
nói dựa vào các thông tin của quá trình tiền xử lý…
Chúng ta có thể mô hình hóa cho bài toán xử lý giọng nói như sau:
Trang 16Hình 1.4 Mô hình của bài toán nhận dạng tiếng nói
Nhận dạng tiếng nói là một quá trình phức tạp bao gồm nhiều khâu biến đổi Tín hiệu tiếng nói phát ra là tương tự Qua quá trình lấy mẫu, lượng tử hoá
và mã hoá để thu được tín hiệu số Các mẫu tín hiệu này được trích chọn đặc
trưng Những đặc trưng này sẽ là đầu vào của quá trình nhận dạng Hệ thống
nhận dạng sẽ đưa ra kết quả nhận dạng tương ứng
Thông tin đầu vào lúc này là tín hiệu tiếng nói do con người phát ra, sau
đó tín hiệu này được số hóa (rời rạc, lượng tử và mã hóa dạng nhị phân) Quá
trình tiền xử lý tiếng nói tiến hành xử lý tín hiệu tiếng nói cho kết quả là các
tham số của tín hiệu tiếng nói Các tham số này trở thành đầu vào đối với tất cả
các ứng dụng của xử lý tiếng nói
Như vậy tất cả các ứng dụng của xử lý tiếng nói đều phải dựa trên các kết quả của quá trình tiền xử lý Kết quả của quá trình này sẽ góp phần quyết định
tính chính xác và đánh giá hiệu quả của các ứng dụng đó
Một số yếu tố khó khăn cho bài toán nhận dạng tiếng nói đó là:
- Khi phát âm, người nói có tốc độ nói nhanh, chậm khác nhau
- Các từ được nói thường dài ngắn khác nhau
- Một người cùng nói một từ nhưng ở hai lần phát âm khác nhau sẽ cho
ra kết quả phân tích khác nhau
- Những yếu tố như nhiễu của môi trường, nhiễu của thiết bị thu…cũng ảnh hưởng không nhỏ tới kết quả nhận dạng
Trang 171.2.2 Chuyển đổi văn bản thành tiếngnói
Các hệ thống chuyển đổi văn bản thành giọng nói có thể được xem giống như hệ thống mã hóa tiếng nói cho phép lựa chọn các kiểu cách nói, tốc độ nói,
cường độ và các hiệu ứng khác nhau Hệ thống chuyển văn bản thành tiếng nói
(TTS) là một hệ thống có thể sinh ra tiếng nói gần giống với con người từ các
văn bản được đưa vào (còn được gọi là hệ thống tổng hợp tiếng nói) Sự chuyển
đổi các từ dưới dạng viết sang tiếng nói là một công việc khó khăn vì hệ thống
TTS phải cần dữ liệu từ vựng rất lớn và nhiều ngữ điệu của âm thanh mới có thể
chuyển đổi được
Bộ phân tích văn bản sẽ chuẩn hóa văn bản sang dạng thích hợp qua hệ thốngTTS gồm các thành phần:
- Bộ phân tích ngữ âm chuyển đổi văn bản đã được xử lý thành một dãy các
Trang 18 Thành phần phân tích vănbản gồm:
+ Xác định cấu trúc tài liệu, chuyển đổi ký hiệu, phân tích cấu trúc ngôn ngữ
+ Chuyển đổi các ký hiệu sang dạng chuẩn
+ Chuyển đổi các số sang dạng chữ tương ứng
+ Phân tích khoảng trống, dấu chấm câu để xác định cấu trúc ngôn ngữ
Thành phần phân tích ngữâm gồm:
+ Chuyển đổi các từ đã chuẩn hóa sang các âm vị tương ứng (với thông tin như
trọng âm, thời gian phát âm)
1.3 Nhận dạng giọng nói qua tương tác người - máy
1.3.1 Giới thiệu về nhận dạng giọng nói
Nhận dạng giọng nói là một kỹ thuật nhằm làm cho máy hiểu được tiếng nói của con người Nhận dạng giọng nói chính là quá trình nghiên cứu tiếng nói
để đưa ra tập đặc tính và quá trình nhận dạng, sau đó sẽ so sánh tiếng nói cần
được nhận dạng với tập đặc tính trên để phán đoán Đây là một quá trình biến tín
hiệu tiếng nói do người phát ra thành tín hiệu số sau đó sử dụng một số giải
thuật để đối chiếu giữa tín hiệu thu được với các dữ liệu tham chiếu để xác định
xem tín hiệu thu được tương ứng với dữ liệu tham chiếu nào trong bộ tham
chiếu Kết quả của việc nhận dạng sau đó có thể được sử dụng trong các ứng
dụng khác như nhập số liệu, soạn thảo văn bản bằng lời nói, điều khiển tự
động…
Hình 1.6 Nhận dạng giọng nói qua tương tác máy tính
Trang 19Nhận dạng giọ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 thông tin đầu vào từ 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à được 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 đó là bất biến
và không thay đổi thì việc nhận dạng tiếng nói sẽ đơn giản hơn bằng cách
sosánhdữliệutiếngnóicầnnhậndạngvớicácmẫuđãđượchọcvà được
lưutrữtrongbộ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 Sự khác biệt ở chỗ 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
Việc xác định những thông tin biến thiên 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 việc nhận dạng tiếng nói là rất quan trọng
Việc này 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 vớ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 đó là:
- Tín hiệu tiếng nói được biểu diễn chính xác qua các giá trị phổ trong một khung thời gian ngắn Qua đó 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, sau đó dùng các đặc điểm này làm dữ liệu để
nhận dạng tiếngnó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 sẽ đượ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 có thể hiểu 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 không được rõràng
Mục tiêu của hầu hết các chương trình nhận dạng tiếng nói là kết quả nhận dạng đạt đến độ chính xác gần 100% mà không phụ thuộc vào một điều
kiện nào cả Tuy nhiên tất cả các nghiên cứu gần đây chỉ cho độ chính xác đến
Trang 20khoảng 90% trong một số điều kiện cụ thể nào đó còn những chương trình nhận
dạng mà không có điều kiện giới hạn gì thì độ chính xác chỉ đạt không quá 80%
Các chương trình nhận dạng tiếng nói hiện nay khá nhiều và hết sức đa dạng
Tuy nhiên chúng ta cũng có thể dựa vào một số đặc điểm để phân chúng thành
một số dạng chủ yếu như:
Nhận dạng các từ phát âm rời rạc, liên tục:
Trong các chương trình nhận dạng các từ phát âm rời rạc yêu cầu người nóiphải dừng một khoảng trước khi nói từ tiếp theo Còn hệ thống nhận dạng các
từ phát âm liên tục không yêu cầu điều kiện này
Nhận dạng tiếng nói độc lậpphụ thuộc người nói:
Đối với hệ thống nhận dạng phụ thuộc người nói đòi hỏi tiếng người nói phải có trong cơ sở dữ liệu của hệ thống còn hệ thống nhận dạng không phụ
thuộc người nói thì người nói không nhất thiết phải có mẫu trước khi nhận dạng
trong cơ sở dữ liệu
Nhận dạng với tử điển cỡ nhỏ, vừa, lớn:
Hiệu năng của một hệ thống nhận dạng với từ điển cỡ nhỏ thường cao hơn hiệu năng của các hệ thống nhận dạng có từ điển cỡ vừa và lớn
Nhận dạng trong môi trường nhiễu cao, thấp:
Hiệu năng của các hệ thống nhận dạng không nhiễu sẽ cao hơn hiệu năng của các hệ thống nhận dạng có nhiễu
Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói được biểu diễn theo sơ đồ sau:
Trang 21Hình 1.7.Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói
Tín hiệu tiếng nói sau khi được số hóa sẽ phân thành các khung có độ dài khoảng từ 10 đến 45ms qua bước phân tích và xác định các đặc tính sẽ cho ta
một dãy các vector đặc tính của tiếng nói Các vector này sau đó sẽ được sử
dụng để tìm kiếm các từ giống nhất trong từ điển dựa trên một số điều kiện ràng
buộc nào đó về mặt âm thanh, ngữ nghĩa, từ vựng…
Do tính chất của tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phân tích các đặc trưng của tiếng nói là việc không dễ dàng Ở đây, chúng ta có
thể nêu ra một số yếu tố khó khăn cho bài toán nhận dạng tiếng nói như:
Khi phát âm, người nói thường nói nhanh chậm khác nhau
Các từ được nói thường dài ngắn khác nhau
Một người cùng nói một từ nhưng ở hai lần phát âm khác nhau thì cho kết quả phân tích khác nhau
Mỗi người có một chất giọng riêng được thể hiện thông qua độ cao của
âm, độ to của âm, cường độ âm và âm sắc
Những yếu tố như nhiễu của môi trường, nhiễu của thiết bị thu…
1.3.2 Phân loại hệ thống nhận dạng giọng nói
Nhận dạng tiếng nói được chia thành hai nhóm dựa trên mục đích sử dụng:
Trang 22 Nhóm được sử dụng với mục đích điều khiển thiết bị thông qua giọng nói
Hình 1.8 Điều khiển máy tính bằng giọng nói qua phần mềm PC to human
Nhóm sử dụng nhằm xử lý từ tiếng nói sang văn bản
Ứng dụng điều khiển smartphone bằng giọng nói có thể dịch văn bản sang nhiều thứ tiếng khác nhau
Hình 1.9 Điều khiển điện thoại bằng giọng nói Hiện nay, khả năng nhận dạng tiếng nói chưa thực sự đáp ứng được các yêu cầu của thực tế, song trong những năm gần đây những hệ thống nhận dạng
tiếng nói đã có bước phát triển đáng kể Trong một giới hạn nào đó thì bên cạnh
bàn phím và con chuột, những phần mềm nhận dạng tiếng nói đã đóng vai trò
như một bộ phận nhập dữ liệu vào các PC và một số thao tác điều khiển PC mà
người dùng đòi hỏi
Trang 23Như vậy, ta thấy được nhận dạng tiếng nói là lĩnh vực nghiên cứu quan trọng để phát triển và đưa các ứng dụng tự động vào nhiều ngành Ngoài các yếu
tố về công nghệ nhận dạng tiếng nói, thì do tiếng nói của mỗi dân tộc có những
đặc thù riêng cũng đòi hỏi việc phân tích và tìm ra công nghệ phù hợp Ở Việt
Nam việc phát triển các hệ thống nhận dạng tiếng nói còn đang ở bước đầu
nghiên cứu với rất ít các kết quả được công bố
1.4 Quá trình xử lý giọng nói
1.4.1 Phân tích ngữ âm và vănbản
a Từvựng Câu trong văn bản được ngăn cách với nhau bởi các dấu câu Các dấu câu được cho trong bảng dưới Các câu ở đây nhằm chỉ các loại câu khác nhau (trần
thuật, hỏi ) để xác định sự biến đổi của tần số cơ bản và có thể không chặt chẽ
về ngữpháp
Các câu được xác định theo lưu đồ thuật toán sau:
Hình 1.10 Lưu đồ thuật toán xét các văn bản
Trang 24a Xác định cấu trúc tàiliệu Sau khi được xác định, câu được phân loại để xử lý Ta có thể chia thành
ba loại:
Loại 1 (câu trần thuật): tương ứng với các dấu: “.”, “;” “)”, “]”, “}”
Loại 2 (câu hỏi): tương ứng với dấu câu: “?”
Loại 3 (câu hơi lên giọng ở cuối câu): dấu “,”, “!”
Sự biến đổi các thông số của tín hiệu tiếng nói tổng hợp phụ thuộc vào từng loại câu
Căn cứ vào sự biến đổi các thông số của tín hiệu tiếng nói, câu được phân tích thành các từ đi kèm với các thông số của từ Các thông số của từ bao
gồm:
Sự biến đổi tần số cơ bản
Biên độ
Trường độ Hình dưới đây minh hoạ sự biến đổi tần số cơ bản của các từ theo sự biếnđổi tần số cơ bản của câu
Hình 1.11.Sự biến đổi tần số cơ bản của các từ
Trang 25Các từ được nhấn mạnh trong câu có biên độ và trường độ của từ này lớn hơn các từ khác.Việc tách từ trong câu được thực hiện theo lưu đồ thuật toán ở
trên Để tiện xử lý về sau (sử dụng các bảng mã tiếng Việt khác nhau), trước khi
tách thành hai diphone từ được chuyển thành dạng telex Dấu của từ được viết ở
1.4.2 Chuyển đổi ký tự sang âmthanh
Từ ở dạng biểu diễn telex được tách thành hai âm kép bắt đầu và kết thúc tương ứng Âm kép bắt đầu được phân biệt bằng dấu “_” phía trước, âm kép kết
thúc có dấu “_” phía sau
Ví dụ: từ thuwowngf được tách thành hai âm kép _thuw và uwowng_
Mấu chốt của việc tách một từ thành hai âm kép là phát hiện được vị trí bắt đầu và kết thúc của nguyên âm đầu tiên (theo chiều từ trái sang phải)
Ví dụ: nếu tìm được nguyên âm ư (uw) thì dễ dàng tách từ thuwowng thành truw và uwowng
Thuật toán xác định vị trí bắt đầu và kết thúc của nguyên âm đầu tiên được cho trong hình 1.9
Trong hình 1.9 ứng với quá trình kiểm tra xem hai ký tự liên tiếp có phải
là aa, aw, ee, oo, ow, uw hay không
Việc xác định âm kép kết thúc phải đi kèm với việc xác định dấu của từ,
vì có trường hợp âm kép kết thúc không thể tạo thành từ âm kép không dấu
Ví dụ: từ hóc và học đều có âm kép kết thúc là oc_, âm kép này không thể
tạo thành từ âm kép không dấu nên phải căn cứ vào dấu của từ để xác định âm
kép là ocs_ hayocj_
Trang 26Đa số các âm kép được lưu trong cơ sở dữ liệu với tên là cách biểu diễn
âm kép, ví dụ âm képanh_ có tên là anh_ trong cơ sở dữ liệu, nhưng với âm
kép có cách biểu diễn dài, ví dụ uwowng_, thì tên lưu trong cơ sở dữ liệu khác
với cách biểu diễn wog_(tên của các âm kép trong cơ sở dữ liệu với kích thước
4 byte) nên cần chuyển đổi cách biểu diễn âm kép phù hợp với tên trong cơ sở
dữliệu
Hình 1.12 Sơ đồ thuật toán chuyển đổi ký tự sang âm thanh
Trang 271.5.Tổng hợp tiếngnói
1.5.1 Các tính chất của tổng hợp tiếngnói
Tổng hợp tiếng nói là một lĩnh vực đang được nghiên cứu khá rộng rãi trên thế giới và đã có những kết quả khá tốt Tổng hợp tiếng nói là phát sinh
tiếng nói từ sóng tiếng nói Trong thời gian gần đây, các bộ tổng hợp tiếng nói
có chất lượng ngày càng cao Tuy nhiên chất lượng của các phương pháp hiện
nay mới chỉ đạt đến mức phù hợp cho một vài ứng dụng, chẳng hạn như đa
phương tiện và truyền thông
Hình 1.13 Bộ tổng hợp tiếng nói
Trang 28Phương pháp đơn giản nhất để phát sinh tiếng nói tổng hợp là phát các mẫu tiếng nói đã thu từ tiếng nói tự nhiên (như các từ hoặc câu) Phương
pháp này cho chất lượng tương đối tốt nhưng gặp phải hạn chế là số lượng từ
vựng trong cơ sở dữ liệu rất lớn Có ba phương pháp cơ bản dùng để tổng hợp
tiếng nói đó là mô phỏng bộ máy phát âm, tổng hợp bằng formant và tổng
hợp bằng cách ghép nối Phương pháp mô phỏng bộ máy phát âm cho
chất lượng tốt nhưng đòi hỏi nhiều tính toán vì việc mô phỏng chính xác bộ
máy phát âm rất phức tạp Phương pháp tổng hợp formant không đòi hỏi chi
phí cao trong tính toán nhưng cho kết quả chưa tốt Phương pháp tổng hợp
tínhtoánkhôngcaonhưngsốlượngtừvựngphảirấtlớn
Ở các nước phát triển, những nghiên cứu xử lý tiếng nói đã cho các kết
máybằngtiếngnói.ỞViệtNam,cácnghiêncứutronglĩnh vực này tuy mới được
phát triển trong những năm gần đây nhưng cũng đã có một số kết quả khả quan
Một số vấn đề được tập trung nghiên cứu đó là:
- Phân tích các đặc trưng của ngữ âm, thông số và văn phạm của tiếng việt để nhận dạng tiếng nói
- Nghiên cứu tạo lập CSDL các mẫu câu để tạo tham số huấn luyện cho 3 loại: âm tiết - âm vị - âm học
- Nghiên cứu bài toán nhận dạng tiếng nói liên tục trên CSDL từ vựng cỡ nhỏ, cỡ trung bình và CSDL lớn
1.5.2 Tổng hợp tiếng nói bằng cáctần số Formant
Tuyến âm được coi như một hốc cộng hưởng có tác dụng tăng cường một tần số nào đó Những tần số được tăng cường lên gọi là các Formant Phương
pháp tổng hợp formantyêu cầu phải tổng hợp được tối thiểu 3 formant để hiểu
được tiếng nói, và để có được tiếng nói chất lượng cao thì cần tới 5 formant
Tiếng nói được tạo ra từ các bộ tổng hợp formant với thành phần chính là các bộ
Trang 29song cần nhiều thông tin để điều khiển hơn
1.5.3 Tổng hợp tiếng nói bằng ghépnối
Tổng hợp bằng cách ghép nối các âm là cách được tổng hợp từ các lời nói
tự nhiên đã được thu từ trước Phương pháp tổng hợp ghép nối cho chất lượng
cao và tương đối tự nhiên Phương pháp này rất phù hợp với các hệ thống phát
thanh và các hệ thống thông tin Tuy nhiên phương pháp này thường chỉ áp
dụng cho một giọng và phải sử dụng nhiều bộ nhớ hơn các phương pháp khác
do số lượng từ vựng rất lớn Để khắc phục nhược điểm này người ta xây dựng
các phương pháp tổng hợp ghép nối từ những đơn vị nhỏ như âm vị, âm tiết,
diphone (âm vị kép) Ngoài các diphone, chúng ta còn sử dụng triphone,
tetraphone hay syllable, demisyllable, nhưng chủ yếu vẫn là các diphone, được
thu từ tiếng nói tự nhiên Các âm vị kép được cắt ra từ tín hiệu rồi sau đó được
tổng hợp lại theo yêu cầu dựa trên một thuật toán ghépnối
Phương pháp này có một số khác biệt so với các phương pháp khác đó là:
- Xuất hiện sự biến dạng của tiếng nói tổng hợp do tính không liên tục của việc ghép nốicácâm vị képvớinhau.Vìvậyphảisửdụngbiện pháp làm trơn tín hiệu
- Bộ nhớyêu cầu cao, nhất là khi các đơn vị kết nối dài như là các âm vị hay các từ
- Sưu tầm và gắn các dữ liệu tiếng nói cần nhiều thời gian và công sức Tất
Trang 30cả các mẫu cần phải được lưu trữ, số lượng và chất lượng các mẫu lưu trữ là
một vấn đề cần giải quyết khi tiến hành lưutrữ
Hiện nay phương pháp này đang được sử dụng rộng rãi trên thế giới và ngày càng cho chất lượng tốt hơn nhờ sự trợ giúp của máy tính
Sau khi giới thiệu những đặc điểm cơ bản nhất của các phương pháp tổng hợp tiếng nói ta có thể rút ra một số nhận xét đánh giá về các phương pháp này
dựa trên chất lượng tiếng nói tổng hợp, chi phí tính toán và kích thướcdữ liệu
Về chất lượng của tiếng nói tổng hợp: Trong ba phương pháp nói trên thì
phương pháp mô phỏng bộ máy phát âm về nguyên tắc sẽ cho chất lượng tốt
nhất Để đạt được điều này thì vấn đề quan trọng là làm sao mô phỏng chính
xác bộ máy phát âm của con người Công việc này hoàn toàn không đơn
giản, mặc dù đã có sự trợ giúp của mày tính nhưng do cấu trúc phức tạp
của bộ máy phát âm nên chi phí tínhtoán sẽ rất lớn Trong hai phương pháp
còn lại thì thực tế cho thấy phương pháp ghép nối thường cho chất lượng tốt
hơn
Về hiệu quả tính toán: Phương pháp mô phỏng bộ máy phát âm đòi hỏi
chi phí tính toán lớn nhất vì phải mô phỏng một cách chính xác nhất bộ máy
phát âm phức tạp của con người Hai phương pháp còn lại có chi phí tính toán
thấp hơn do đặc điểm các thuật toánđược sử dụng
Về kích thước dữ liệu: Phương pháp ghép nối có kích thước dữ liệu lớn
nhất do số lượng từ vựng là rất lớn Hai phương pháp còn lại do không phải
lưu trữ các mẫu nên có kích thước dữ liệu nhỏhơn
1.6 Kỹ thuật thích ứng tiếng nói
Kỹ thuật thích ứng tiếng nói dùng để thay đổi tiếng nói thích ứng với mô hình có sẵn, có tác dụng nhằm tăng cường độ chính xác trong quá trình nhận
dạng
Để nhận dạng tiếng nói có độ chính xác cao, thì dữ liệu huấn luyện phải lớn, tuy nhiên trong hệ thống nhận dạng thực tế ngoài dữ liệu huấn luyện lớn