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

Nhận dạng lệnh điều khiển bằng giọng nói với tập lệnh từ đơn hữu hạn

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 (874.29 KB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN VĂN TIN

NHẬN DẠNG LỆNH ĐIỀU KHIỂN BẰNG GIỌNG
NÓI VỚI TẬP LỆNH TỪ ĐƠN HỮU HẠN

TÓM TẮT LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH

Đà Nẵng - 2018


Công trình đƣợc hoàn thành tại
TRƢỜNG ĐẠI HỌC BÁCH KHOA

Ngƣời hƣớng dẫn khoa học: TS. Ninh Khánh Duy
Phản biện 1: TS. Lê Thị Mỹ Hạnh
Phản biện 2: TS. Trần Thiên Thành

Luận văn sẽ đƣợc bảo vệ trƣớc Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ ngành Khoa học máy tính họp tại Trƣờng Đại học Bách
khoa vào ngày 16 tháng 6 năm 2018

Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu, Đại học Đà Nẵng tại Trƣờng Đại học Bách
khoa.
- Thƣ viện Khoa Công nghệ thông tin, Trƣờng Đại học Bách khoa.



1
MỞ ĐẦU
1. Lý do chọn đề tài
Trong giao tiếp giữa ngƣời với ngƣời, tiếng nói là phƣơng
pháp trao đổi thông tin tự nhiên và hiệu quả nhất. Mục tiêu của các
kỹ thuật nhận dạng tiếng nói theo nghĩa rộng là tạo ra những máy có
khả năng nhận biết đƣợc thông tin tiếng nói và hành động theo tiếng
nói đó. Nhận dạng tiếng nói là một phần của quá trình tìm kiếm
thông tin để máy có thể “nghe”, “hiểu” và “hành động” theo thông
tin đồng thời “nói lại” để hoàn tất việc trao đổi thông tin.
Cho đến nay, vấn đề giao tiếp giữa con ngƣời và máy tính
tuy đã đƣợc cải thiện nhiều nhƣng chủ yếu vẫn còn khá thủ công
thông qua các thiết bị nhập, xuất. Giao tiếp với thiết bị máy bằng
tiếng nói sẽ là phƣơng thức giao tiếp văn minh và tự nhiên nhất. Dấu
ấn giao tiếp ngƣời - máy sẽ mất đi mà thay vào đó là cảm nhận của
sự giao tiếp giữa ngƣời với ngƣời, nếu hoàn thiện thì đây sẽ là một
phƣơng thức giao tiếp tiện lợi và hiệu quả trong công việc. Mặc dù
nhận dạng ngôn ngữ tiếng Anh đã đƣợc nghiên cứu khá hoàn thiện
nhƣng do có sự khác biệt về ngữ âm, ngữ nghĩa với tiếng Việt nên
khó có thể áp dụng các chƣơng trình nhận dạng khác hiện hành để
nhận dạng tiếng Việt. Một hệ thống nhận dạng tiếng nói ở nƣớc ta
phải đƣợc xây dựng trên nền tảng của tiếng nói tiếng Việt.
Một trong những ứng dụng phổ biến nhất của nhận dạng
tiếng nói là trong lĩnh vực điều khiển thiết bị bằng giọng nói. Lớp
ứng dụng này rất hữu ích đối với ngƣời khiếm thị vốn không thể nhìn
thấy thiết bị để điều khiển chúng, hoặc đối với ngƣời bình thƣờng
trong những tình huống bận tay và mắt (nhƣ khi đang nấu ăn hoặc lái


2

xe) không thể điều khiển thiết bị một cách dễ dàng. Nhằm đáp ứng
nhu cầu cập nhật thông tin, giải trí cho ngƣời khiếm thị tạo điều kiện
cho họ hoà nhập tốt với cộng đồng, tôi chọn đề tài nghiên cứu là:
“Nhận dạng lệnh điều khiển bằng giọng nói với tập lệnh từ đơn
hữu hạn”.
2. Mục đích và ý nghĩa đề tài
a. Mục đích
- Nghiên cứu và đề xuất phƣơng pháp nhận dạng tiếng Việt
rời rạc (isolated speech recognition).
- Xây dựng và cài đặt hệ thống nhận dạng tiếng Việt rời rạc
với tập lệnh hữu hạn để nhận dạng khẩu lệnh (voice command) điều
khiển thiết bị đọc báo điện tử cho ngƣời khiếm thị.
b. Ý nghĩa khoa học và thực tiễn của đề tài
- Đóng góp vào lĩnh vực nghiên cứu ứng dụng điều khiển
thiết bị bằng giọng nói cho ngƣời Việt.
- Làm cho con ngƣời với máy tính ngày càng gần gũi hơn,
giúp cho cuộc sống của con ngƣời hoà nhập với cộng đồng tốt hơn,
bắt kịp với xã hội phát triển công nghệ nhƣ hiện nay, giúp họ bớt tự
ti, phụ thuộc quá nhiều vào ngƣời khác.
3. Mục tiêu và nhiệm vụ
a. Mục tiêu
- Nghiên cứu, thử nghiệm nhận dạng tiếng Việt rời rạc bằng
mô hình Markov ẩn (Hidden Markov Model - HMM).
- Xây dựng chƣơng trình nhận dạng tiếng nói tiếng Việt cho
tập lệnh điều khiển máy tính, thiết bị, cụ thể là đọc báo điện tử cho
ngƣời khiếm thị, có khả năng nhận dạng không phụ thuộc ngƣời nói.


3
b. Nhiệm vụ

Để đạt đƣợc mục tiêu đề thì nhiệm vụ cần thiết phải làm là:
- Nghiên cứu lý thuyết mô hình Markov ẩn (HMM) và ứng
dụng của HMM trong nhận dạng tiếng nói rời rạc.
- Tìm hiểu HTK toolkit cho nhận dạng tiếng nói.
- Thiết kế tập lệnh điều khiển thiết bị.
- Thu âm dữ liệu tiếng nói của nhiều ngƣời với các chất
giọng khác nhau (từ 30 ngƣời trở lên).
- Cài đặt chƣơng trình huấn luyện HMM từ dữ liệu thu âm.
- Cài đặt chƣơng trình nhận dạng tiếng nói dùng HMM.
- Đánh giá độ chính xác của chƣơng trình nhận dạng.
4. Đối tƣợng và phạm vi nghiên cứu
- Đề tài chỉ giới hạn trong việc tìm hiểu về tiếng nói, các
phƣơng pháp xử lý tiếng nói, rút trích đặc trƣng tiếng nói; mô hình
Markov ẩn, mô hình âm học, âm vị áp dụng cho tiếng Việt; kiến trúc
hệ thống nhận dạng tiếng nói rời rạc (isolated speech recognition).
Chƣơng trình demo chỉ dừng ở mức nhận dạng đƣợc những câu lệnh
cơ bản điều khiển máy tính. Khi một ngƣời đọc lệnh điều khiển, máy
tính sẽ hiểu và xuất hiện dòng lệnh đó trên màn hình của chƣơng
trình.
- Chƣơng trình nhận dạng khẩu lệnh (voice command) để
điều khiển thiết bị đọc báo điện tử cho ngƣời khiếm thị.
5. Phƣơng pháp nghiên cứu
a. Phƣơng pháp lý thuyết
- Nghiên cứu mô hình Markov ẩn (Hidden Markov Model HMM)


4
- Nghiên cứu ứng dụng của HMM trong nhận dạng tiếng nói
rời rạc (isolated speech recognition).
- Tìm hiểu phƣơng pháp nhận dạng tiếng Việt bằng HMM.

- Tìm hiểu các phƣơng pháp xử lý tiếng nói.
- So sánh các phƣơng pháp để đƣa ra giải pháp tối ƣu.
b. Phƣơng pháp thực nghiệm
- Thu mẫu âm tiếng Việt rời rạc với tập lệnh hữu hạn.
- Tìm hiểu công cụ hỗ trợ nghiên cứu, thực nghiệm.
- Cài đặt thuật toán, xây dựng hệ thống.
- Triển khai, đánh giá kết quả đạt đƣợc.
6. Kết luận
a. Kết quả của đề tài
- Tập lệnh điều khiển thiết bị đọc báo điện tử cho ngƣời
khiếm thị.
- Dữ liệu tiếng nói của hơn 42 ngƣời với chất giọng khác
nhau.
- Mô hình hệ thống nhận dạng tiếng nói rời rạc qua các công
cụ của HTK toolkit.
- Mô hình âm học theo từ đƣợc huấn luyện, áp dụng cho
tiếng Việt.
- Chƣơng trình nhận dạng khẩu lệnh có độ chính xác cao để
điều khiển thiết bị.
b. Hƣớng phát triển của đề tài
Tối ƣu hoá thuật toán huấn luyện HMM và thuật toán nhận
dạng tiếng Việt để có kết quả nhận dạng chính xác hơn và nhanh hơn.


5
7. Cấu trúc luận văn
Chƣơng 1: CƠ SỞ LÝ THUYẾT XỬ LÝ TIẾNG NÓI
Chƣơng 2: NHẬN DẠNG TIẾNG NÓI DÙNG MÔ HÌNH
MARKOV ẨN
Chƣơng 3: XÂY DỰNG HỆ THỐNG NHẬN DẠNG LỆNH

ĐIỀU KHIỂN BẰNG GIỌNG NÓI.
Chƣơng 4: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN


6
CHƢƠNG 1 - CƠ SỞ LÝ THUYẾT XỬ LÝ TIẾNG NÓI
1.1. Tổng quan về xử lý tiếng nói
Kể từ khi xuất hiện, máy tính càng ngày càng chứng tỏ rằ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, khối lƣợng thông tin mà máy
tính cần xử lý tăng 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 với máy tính. Một trong
những hƣớng nghiên cứu này là sử dụng tiếng nói trong trao đổi
thông tin ngƣời - máy. Những nghiên cứu này liên quan trực tiếp tới
các kết quả của chuyên ngành xử lý tiếng nói, trong đó có nhận dạng
tiếng nói.
1.2. Nhận dạng tiếng nói tự động
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu [2] , với
mục đích là phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói
thành một dãy tuần tự các mẫu đã đƣơc học trƣớc đó và lƣu trữ trong
bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là các từ,
hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đổi thì
công việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ
liệu tiếng nói cần nhận dạng với các mẫu đã đƣơc học và lƣu trữ
trong bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng

nói luôn biến thiên theo thời gian và có sự khác biệt lớn giữa tiếng


7
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.
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 [1]:
- Tín hiệu tiếng nói đƣơc biểu diễn chính xác bởi các giá trị
phổ trong một khung thời gian ngắn (short-term amplitude spectrum).
Nhờ vậy ta có thể trích ra các đặc điểm tiếng nói từ những khoảng
thời gian ngắn và dùng các đặc điểm này làm dữ liệu để nhận dạng
tiếng nói.
- Nội dung của tiếng nói đƣơc biểu diễn dƣới dạng chữ viết,
là một dãy các ký hiệu ngữ âm. Do đó ý nghĩa của một phát âm đƣơc
bảo toàn khi chúng ta phiên âm phát âm thành dãy các ký hiệu ngữ
âm.
- Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin
về ngữ nghĩa (semantics) và suy đoán (pragmatics) có giá trị trong
quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học là
không rõ ràng.
1.3. Ngữ âm tiếng Việt
Âm vị: Về mặt ngôn ngữ học [1], có thể xem tiếng nói là một
chuỗi các âm cơ bản đƣợc gọi là âm vị. Âm vị là đơn vị ngôn ngữ
trừu tƣợng và không thể quan sát trực tiếp trong tín hiệu tiếng nói.
Nhiều âm vị khác nhau kết hợp với nhau một cách nào đó để tạo ra
những âm thanh khác nhau.
Nguyên âm: Nguyên âm đƣợc xác định bởi hốc cộng hƣởng
khoang miệng và hốc yết hầu-nguồn gốc của các Formant. Khoang



8
miệng và khoang yết hầu đƣợc tách biệt ra bởi lƣỡi. Do đó, sự thay
đổi của khoang này đồng nghĩa với sự thay đổi của khoang kia. Việc
xác định thể tích, hình dáng, lối thoát không khí của những hốc cộng
hƣởng này, tức xác định khả năng cộng hƣởng của chúng, chính là
mô tả độ mở của miệng, vị trí của lƣỡi và hình dáng của môi.
Phụ âm: Đặc điểm cơ bản của phụ âm là sự cấu tạo bằng
luồng không khí bị cản trở, sự cản trở này diễn ra với những mức độ
khác nhau, cách thức khác nhau và ở những bộ phận khác nhau của
cơ quan phát âm. Phụ âm đuợc chia ra phụ âm tắc (nhƣ „p‟, „t‟, „đ‟,
„b‟) và phụ âm xát (nhƣ „v‟, „s‟, „x‟).
Phụ âm tắc: Đặc trƣng là một tiếng nổ, do luồng không khí
bị cản trở hoàn toàn, phải phá vỡ sự cản trở để thoát ra ngoài. Phụ âm
tắc đƣợc chia làm phụ âm bật hơi (nhƣ „th‟)và phụ âm mũi (nhƣ „m‟,
„n‟, „ng‟, „nh‟).
Phụ âm xát: Đặc trƣng là tiếng cọ xát, phát sinh do luồng
không khi đi ra bị cản trở không hoàn toàn(chỉ bị khó khăn) phải lách
qua một khe hở nhỏ và trong khi thoát ra ngoài cọ xát vào thành của
bộ phận phát âm.
1.4. Thanh điệu
Thanh điệu là sự nâng cao hay hạ thấp “giọng nói” trong một
âm tiết. Âm tiết là đơn vị phát âm nhỏ nhất, trong tiếng Việt âm tiết
là một từ. Thanh điệu là sự thay đổi cao độ của giọng nói, điều đó có
nghĩa thay đổi biên độ tần số cơ bản trong âm hữu thanh. Thanh điệu
đƣợc xác định bằng tần số cơ bản.


9
1.5. Phân loại âm vị theo đặc tính âm học

Tiếng nói là âm thanh mang mục đích diễn đạt thông tin, khi
giao tiếp chuỗi lời nói mà con ngƣời phát ra gồm nhiều khúc đoạn dài
ngắn khác nhau. Đơn vị phát âm ngắn nhất là âm tiết (syllable).
Trong tiếng Việt, số âm tiết đƣợc sử dụng vào khoảng 6700. Khi
chúng ta phát ra một tiếng thì có rất nhiều bộ phận nhƣ lƣỡi, thanh
môn, môi, họng, thanh quản,... kết hợp với nhau để tạo thành âm
thanh.

m thanh phát ra đƣợc lan truyền trong không khí để đến tai

ngƣời nhận. Vì âm thanh phát ra từ sự kết hợp của rất nhiều bộ phận,
do đó âm thanh ở mỗi lần nói khác nhau hầu nhƣ khác nhau dẫn đến
khá khó khăn khi ta muốn phân chia tiếng nói theo những đặc tính
riêng. Ngƣời ta chỉ chia tiếng nói thành 3 loại cơ bản nhƣ sau 1 :
1.5.1. Âm hữu thanh
1.5.2. Âm vô thanh
1.5.3. Âm bật hơi
1.6. Các thành phần cơ bản của ngữ điệu trong tiếng nói
1.6.1. Ngữ điệu và các thành phần ngữ điệu
Ngữ điệu là một thành phần tổng quát và quan trọng của
tiếng nói, bởi vì tất cả các ngôn ngữ đều có ngữ điệu. Trong ngành
ngôn ngữ học, ngữ điệu là một thành của ngữ âm, và đƣợc biểu diễn
bởi các yếu tố vật lý nhƣ thời gian, cao độ, cƣờng độ, phổ. Và một hệ
thống ngữ điệu (intonation system) là một sự thay đổi về cao độ,
cƣờng độ, thời gian ngắt nghỉ, phổ của một câu nhằm thể hiện một ý
nghĩa, sắc thái tình cảm khi giao tiếp bằng tiếng nói. Ngữ điệu bao
gồm một số thành phần nhƣ sau:


10

- Cao độ (pitch hoặc f0):
- Trƣờng độ:
- Cƣờng độ:
1.6.2. Mô hình ngữ điệu
Trong các trƣờng hợp khác nhau, các tham số của ngữ điệu
biến đổi theo các quy luật đƣợc xác định cho trƣờng hợp đó. Các mô
hình ngôn điệu phục vụ mục đích:
Giải thích cách giao tiếp bằng tiếng nói.
Xây dựng nền tảng cho hệ thống phần mềm là một phần của
hệ thống giao tiếp hoặc là hệ tổng hợp tiếng nói.
Xây dựng nền tảng cho hệ thống nhận dạng ngôn điệu trong
giọng nói con ngƣời.
1.7. Phân tích tiếng nói
1.7.1. Mô hình phân tích tiếng nói
1.7.2. Phân tích tiếng nói ngắn hạn
1.8. Các đặc tính cơ bản của tiếng nói
1.8.1. Tần số cơ bản
Thông lƣợng: thể tích không khí vận chuyển qua thanh môn
trong một đơn vị thời gian (khoảng 1cm3/s).
Chu kỳ cơ bản T0: khi dây thanh rung với chu kỳ T0 thì thông
lƣợng cũng biến đổi tuần hoàn theo chu kỳ này và ta gọi T0 là chu kỳ
cơ bản.
Giá trị nghịch đảo của T0 là F0=1/T0 đƣợc gọi là tần số cơ
bản của tiếng nói. F0 phụ thuộc vào giới tính và lứa tuổi của ngƣời


11
phát âm; F0 thay đổi theo thanh điệu và F0 cũng ảnh hƣởng đến ngữ
điệu của câu nói.
1.8.2. Biểu diễn tín hiệu tiếng nói

Có 3 phƣơng pháp biểu diễn tín hiệu tiếng nói cơ bản là [2]:
- Biểu diễn dƣới dạng sóng theo thời gian.
- Biểu diễn trong miền tần số: phổ của tín hiệu tiếng nói.
- Biểu diễn trong không gian 3 chiều (spectrogram)


12
CHƢƠNG 2

NHẬN DẠNG TIẾNG NÓI RỜI RẠC DÙNG
MÔ HÌNH MARKOV ẨN

2.1. Mô hình Markov ẩn
2.1.1. Chuỗi Markov
Xét hệ thống có tính chất nhƣ sau: ở một thời điểm bất kỳ, hệ
thống sẽ ở một trong N trạng thái nhƣ hình vẽ dƣới đây. Cứ sau một
khoảng thời gian đều đặn, hệ thống sẽ chuyển sang trạng thái mới
hoặc giữ nguyên trạng thái trƣớc đó. Ta ký hiệu các khoảng thời gian
chuyển trạng thái là t =1, 2, … và trạng thái tại thời điểm t của hệ
thống là qt, qt sẽ có các giá trị 1, 2, …, N. Một trạng thái tƣơng ứng
với một sự kiện. Quá trình trên đƣợc gọi là quá trình Markov.
2.1.2. Mô hình Markov ẩn:
2.1.2.1. Định Nghĩa
Mô hình Markov ẩn (Hidden Markov Model – HMM) là mô
hình xác xuất phổ biến dùng để mô hình hóa chuỗi vector đặc trƣng
của tiếng nói. Một mô hình Markov ẩn có thể biểu diễn cho một đơn
vị âm thanh (nhƣ là từ hay âm vị). Trong nhận dạng tiếng nói, HMM
giải quyết việc phân lớp tín hiệu tiếng nói một cách hiệu quả.
Mô hình Markov ẩn gồm chuỗi các trạng thái (state), đƣợc
nối với nhau bởi các dây cung hay còn gọi là xác suất chuyển đổi

trạng thái. Mỗi trạng thái có thể sinh ra các quan sát (observation)
theo các xác suất nhất định (Hình 2.2). Ta gọi đây là mô hình Markov
ẩn vì các trạng thái đã bị ẩn đi, chuỗi quan sát không cho biết cụ thể
mỗi quan sát đƣợc sinh từ trạng thái nào.
2.1.2.2. Các thành phần của mô hình Markov ẩn:


13
Một mô hình HMM   ( A, B,  ) có 5 thành phần cơ bản
sau [6, 9] :
- Tập hợp các trạng thái: S = (s1, s2,...sN)
- Tập hợp các giá trị có thể quan sát đƣợc tại mỗi trạng thái:
V = (v1,v2,...vM)
- Ma trận xác suất chuyển đổi trạng thái (từ trạng thái i sáng
trạng thái j), độc lập với thời gian:

aij  P  qt 1  S j qt  Si  , 1  i, j  N

aij  0i, j với điều kiện một trạng thái Sj có thể đến đƣợc
N

từ mọi trạng thái Si và thỏa ràng buộc

a
j 1

ij

1 .


- Bảng xác suất quan sát (xác suất sinh ra quan sát k từ trạng
thái i), độc lập với thời gian: B = [bi(k)] với bi(k) = P(xt = vk| qt = si)
- Tập hợp các xác suất ban đầu (xác suất gặp trạng thái i đầu
tiên):

  [ i ] với  i  P(q1  si )
N


i 1

i

1  i  N thoả điều kiện

1

Trong các thành phần trên, giá trị M và N đƣợc chọn đầu tiên
và không thay đổi, chúng đƣợc sử dụng để tính 3 thành phần còn lại.
Các bƣớc tạo dữ liệu chuỗi quan sát O = O1O2...OT với Ot là
một quan sát tại thời điểm t và T là độ dài của chuỗi quan sát:
- Chọn trạng thái ban đầu với xác suất là π.
- Đặt t = 1


14
- Chọn

Ot  vk , với B  {b j (k)}


- Chuyển sang một trạng thái mới, sử dụng ma
trận

A  {a ij}
- Đặt t = t+1, quay lại bƣớc ba nếu t
thúc.
2.1.3. Ba bài toán cơ bản của HMM
2.1.3.1. Phát biểu bài toán
Từ mô hình đƣợc biểu diễn nhƣ trên, có ba bài toán đƣợc đặt
ra để ứng dụng vào các hệ thống sử dụng mô hình Markov ẩn [8, 9] .
Bài toán đánh giá: Cho chuỗi quan sát O = o1o2...oT và mô
hình . Tính xác suất mô hình sinh ra chuỗi quan sát . Bài toán này
dùng trong giai đoạn nhận dạng bằng cách chọn ra mô hình tiếng nói
sinh ra chuỗi quan sát tốt nhất. Bài toán đã đƣợc nghiên cứu giải
quyết bằng thuật toán tiến - lui (Forward-Backward Procedure).
Bài toán giải mã: Cho mô hình   ( A, B,  ) , chuỗi quan
sát O = o1o2...oT. Tìm chuỗi trạng thái Q = q1q2...qT tối ƣu nhất. Đây
còn đƣợc gọi là bài toán tìm ra phần ẩn, đƣợc dùng để tìm hiểu về
cấu trúc của mô hình. Thuật toán Viterbi đƣợc áp dụng để giải bài
toán.
Bài

toán

huấn

luyện:

Điều


chỉnh

các

tham

số

  ( A, B,  ) của mô hình để mô tả tốt nhất cách mà chuỗi quan sát
đƣợc tạo ra, tối đa hóa xác suất . Áp dụng thuật toán Baum-Welch để
giải quyết bài toán vào việc huấn luyện mô hình từ dữ liệu là các
chuỗi quan sát.


15
2.2. Ứng dụng của HMM trong nhận dạng tiếng nói rời rạc
2.2.1. Tổng quan
Giả sử ta có bộ từ vựng gồm V từ cần đƣợc nhận dạng, mỗi
từ đƣợc mô hình bằng một HMM. Việc huấn luyện mô hình HMM
cho mỗi từ cần có một bộ dữ liệu huấn luyện gồm K dữ liệu, mà mỗi
dữ liệu đƣa vào là chuỗi các vector đặc trƣng của tiếng nói hay còn
gọi là chuỗi quan sát đối với mô hình HMM. K càng lớn thì mô hình
càng đƣợc huấn luyện đầy đủ.
2.2.2. Giai đoạn huấn luyện mô hình
Đầu tiên các tham số của mô hình đƣợc khởi tạo. Với một dữ
liệu huấn luyện O ta dùng bài toán giải mã để phân lớp trạng thái
(nghĩa là tìm chuỗi trạng thái tối ƣu ứng với chuỗi quan sát cho
trƣớc), sau đó dùng bài toán huấn luyện để ƣớc tính tham số và tính
toán lại các tham số của mô hình HMM  tƣơng ứng. Quá trình giải

mã và tính toán lại bộ tham số đƣợc lặp lại nhiều lần cho đến khi xác
suất P(O|  ) hội tụ thì sẽ thu đƣợc các tham số tối ƣu của mô hình.
2.2.3. Giai đoạn nhận dạng
Tín hiệu tiếng nói cần nhận dạng đƣợc trích xuất vector đặc
trƣng, gọi là chuỗi quan sát O. Sau đó cần giải quyết bài toán đánh
giá để tính V xác suất P(O| i ) của V từ trong bộ từ vựng và chọn ra
mô hình mô tả đúng nhất tín hiệu tiếng nói đƣa vào, đó là mô hình i
có xác suất P(O| i ) lớn nhất trong tập V mô hình, từ đó suy ra lệnh
(từ đơn) ứng với tín hiệu đầu vào.


16
CHƢƠNG 3

XÂY DỰNG HỆ THỐNG NHẬN DẠNG LỆNH
ĐIỀU KHIỂN BẰNG GIỌNG NÓI

3.1. Ngữ cảnh ứng dụng
Có nhiều ngữ cảnh ứng dụng khác nhau cần ngƣời dùng ra
lệnh điều khiển bằng giọng nói. Trong luận văn này, tôi chọn hệ
thống đọc báo điện tử cho ngƣời khiếm thị để triển khai ứng dụng
nhận dạng lệnh điều khiển bằng giọng nói. Tập lệnh đƣợc thiết kế
nhằm điều khiển sự hoạt động của một phần mềm đọc báo điện tử [3]
hƣớng tới sự dễ sử dụng cho ngƣời khiếm thị, nghĩa là giúp một
ngƣời không có khả năng nhìn thấy giao diện của phần mềm đọc báo
nhƣng vẫn có thể điều khiển đƣợc các chức năng và sự vận hành của
hệ thống. Thêm vào đó, công nghệ nhận dạng tiếng nói mà tôi sử
dụng là nhận dạng tiếng nói đƣợc phát âm theo từng từ rời rạc nên
các lệnh điều khiển chỉ gồm một từ đơn (ví dụ nhƣ “mở”, “đọc”,…).
Do đó cần thiết kế tập lệnh sao cho chỉ với một từ đơn nhƣng vẫn mô

tả đƣợc đầy đủ câu lệnh thực hiện việc gì và vẫn đảm bảo sự dễ sử
dụng với ngƣời dùng.
3.2. Thiết kế tập lệnh
Bảng 3.1 mô tả tập lệnh gồm 37 từ đơn đƣợc thiết kế để điều
khiển phần mềm đọc báo điện tử cho ngƣời khiếm thị. Tập lệnh này
đƣợc chia thành 3 nhóm mô tả chi tiết trong các phần tiếp theo.


17
Bảng 3.1: Tập lệnh điều khiển.
Tên lệnh điều khiển

Nhóm

Chủ
Về
Trang

Tƣơi
Vào/Tải
Đọc
Đầu
Cuối

Điều hướng

Mục

Kế
Trƣớc

Mục
Đầu
Cuối

Bài

Kế
Trƣớc
Bài
Dừng/Ngừng
Tiếp
Lui

Điều khiển

Tới
Tăng/To
Giảm/Nhỏ
Lại/Lặp
Nhanh


18
Nhóm

Tên lệnh điều khiển
Chậm
Lƣu
Xóa
Hủy

Chạy
Xong
Giúp
Giờ
Ngày
Đúng

Tương tác

Sai

Không

3.2.1. Nhóm điều hƣớng
Đây là nhóm lệnh giúp hệ thống trỏ đến những trạng thái của
một trang web nhằm điều hƣớng truy cập. Mỗi trang web thƣờng
đƣợc cấu thành từ danh sách các mục, mỗi mục sẽ chứa các mục con
(nếu có) hoặc danh sách các bài, nơi chứa nội dung. Có 3 cấp điều
hƣớng: trang (page), mục (category) và bài (post) (Hình 3.1).
3.2.2. Nhóm điều khiển
Nhóm điều khiển thực hiện chức năng giống nhƣ một trình
phát nhạc, dùng để kiểm soát âm thanh phát ra từ ứng dụng. Ví dụ:
các lệnh nhƣ “Dừng”/“Tiếp” hay “To”/”Nhỏ” có chức năng nhƣ nút
Play/Pause và điều chỉnh âm lƣợng.


19
3.2.3. Nhóm tƣơng tác
Nhận lệnh “Có”/”Không” hoặc “Đúng”/”Sai” từ ngƣời dùng
để ra quyết định thực hiện lệnh kế trƣớc.

3.3. Thu âm dữ liệu tiếng nói
Dữ liệu lƣu theo định dạng chuẩn file *.wav của Microsoft, tần
số lấy mẫu là 16kHz, đơn kênh (mono), thời lƣợng mỗi file từ một đến
hai giây, có bao gồm khoảng lặng (silence) ở đầu và cuối file.
Điều kiện thu âm:
Phòng ốc:

phạm vi văn phòng (có nhiễu nhẹ từ những tạp âm nhƣ
tiếng quạt, tiếng chim hót, …).

Thiết bị:

cùng một loại micro.

3.3.1. Dữ liệu cho hệ thống nhận dạng phụ thuộc ngƣời nói
Bộ dữ liệu gồm 20 set thu âm trên cùng một ngƣời nói là nữ,
mỗi set gồm 37 lệnh. Từ đây, 75% dữ liệu đƣợc dùng để huấn luyện
hệ thống, và 25% còn lại để kiểm thử hệ thống nhận dạng.
3.2.2. Dữ liệu cho hệ thống nhận dạng độc lập ngƣời nói
Thu âm dữ liệu của 42 ngƣời nói thuộc các vùng miền khác
nhau (đa số giọng giọng Quảng Nam hoặc Đà Nẵng), mỗi ngƣời thu
âm 2 set với mỗi set gồm 37 câu lệnh. Từ bộ dữ liệu này, tôi phân
nhóm dữ liệu huấn luyện và kiểm thử nhƣ sau:
Dữ liệu huấn luyện: 2756 câu thu âm từ 31 ngƣời nói giọng Quảng
Nam hoặc Đà Nẵng (trong đó có 5 nữ)
Dữ liệu kiểm thử:

1012 câu thu âm từ 11 ngƣời nói giọng địa
phƣơng khác (4 nữ)



20
3.4. Cài đặt hệ thống nhận dạng
Tôi dùng HTK Toolkit (Version 3.4.1) [12] để tiến hành cài
đặt hệ thống nhận dạng tiếng nói trên nền hệ điều hành Linux nhƣ
sau:
Giải nén, chuyển đến thƣ mục htk:
>cd htk
>sudo ./configure --prefix=/tmp
>sudo make all
>sudo make install
>ls /tmp/bin
Kiểm tra đƣờng dẫn lƣu các modules trong /bin:
> PATH="$PATH:/tmp/bin:."
> export PATH
Chạy demo với bộ dữ liệu có sẵn của nhà phát triển:
> cd samples
> cd HTKDemo
> mkdir -p hmms/{tmp,hmm.{0,1,2,3}} proto acc test
> perl runDemo configs/monPlainM1S1.dcf

3.5 . Cấu hình hệ thống nhận dạng
Các cấu hình cố định gồm:
o

Loại tham số phổ: đặc trƣng MFCC.

o

Kích thƣớc véc tơ tham số: 39 chiều (gồm 13 hệ số tĩnh,

13 hệ số delta, 13 hệ số delta-delta).

o

Ma trận phƣơng sai: đƣờng chéo (giả sử các chiều độc
lập thống kê với nhau).


21
o

Ngữ cảnh: không phụ thuộc ngữ cảnh (vì là hệ thống
nhận dạng từ phát âm rời rạc).

Các cấu hình thay đổi để so sánh hiệu suất hoạt động của hệ
thống:
o

Số trạng thái HMM (nStates): từ 3 đến 7.

o

Số phân bố Gauss trong mô hình hỗn hợp Gauss cho
từng trạng thái HMM (nMixes): từ 1 đến 5.

Việc thay đổi 2 tham số này liên quan đến độ phức tạp của
mô hình HMM: số trạng thái HMM và số phân bố Gauss càng tăng
thì mô hình càng phức tạp (càng có nhiều tham số).

3.6 . Kết quả thực nghiệm

Bảng 3.2 và 3.3 cho thấy hiệu suất nhận dạng của hệ thống
khi thay đổi cấu hình. Các trƣờng hợp không có kết quả nhận dạng do
hệ thống bị lỗi (-) khi huấn luyện mô hình hoặc do dữ liệu huấn luyện
không đủ để huấn luyện mô hình có độ phức tạp cao.
Bảng 3.2 thể hiện độ chính xác nhận dạng phụ thuộc ngƣời
nói khi thay đổi số trạng thái HMM và số phân bố Gauss. Có thể thấy
với số trạng thái HMM là 7 và số phân bố Gauss là 2 thì hệ thống có
hiệu suất nhận dạng cao nhất đạt 99.28%.


22
Bảng 3.2: Thống kê kết quả nhận dạng phụ thuộc ngƣời nói
nStates

3

4

5

6

1

98.38%

98.74%

98.92%


99.28%

98.92%

2

98.92%

-

-

98.74%

99.28%

3

98.92%

-

98.74%

99.10%

-

4


98.56%

98.20%

98.20%

99.10%

98.74%

5

-

98.56%

98.02%

98.38%

98.74%

nMixes

7

Bảng 3.3: Thống kê kết quả nhận dạng độc lập ngƣời nói
nStates

3


4

5

6

7

1

88.82%

89.07%

90.54%

91.69%

91.73%

2

91.07%

91.44%

-

-


-

3

92.06%

-

-

-

-

4

92.38%

-

-

-

-

5

92.45%


-

-

-

-

nMixes

Bảng 3.3 hệ thống độc lập ngƣời nói đạt kết quả cao nhất
92.45% ở số trạng thái bằng 3 và số mixture bằng 5. Một số ô của kết
quả nhận dạng độc lập ngƣời nói không có vì dữ liệu (-) huấn luyện
không đủ để huấn luyện mô hình phức tạp (mô hình có số tham số
lớn).


23
CHƢƠNG 4 - KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
4.1. Kết luận
Đề tài thử nghiệm nhận dạng tiếng nói với 37 tập lệnh đơn
hữu hạn trong tiếng Việt theo hƣớng kết hợp MFCC và HMM tuy
còn nhiều hạn chế nhƣng đã đáp ứng đƣợc mục tiêu của đề tài. Nếu
điều kiện cho phép, tôi sẽ tối ƣu hóa chƣơng trình nhận dạng, đƣa
thêm nhiều bộ dữ liệu huấn luyện để đạt đƣợc kết quả cao hơn và
tăng tốc độ xử lý.
Tôi đã trình bày khái quát mô hình Markov ẩn trong ứng
dụng điều khiển máy tính bằng tiếng nói rời rạc và đặc biệt là mô tả
tập lệnh giúp ngƣời khiếm thị dùng ứng dụng này. Mục đích của

chúng tôi là tập trung vào thu âm bộ dữ liệu độc lập ngƣời nói, sau đó
tiến hành thực nghiệm huấn luyện và nhận dạng trên bộ dữ liệu nhằm
đánh giá sự phụ thuộc của hệ thống vào các tham số khác nhau của
mô hình.
Hạn chế của đề tài là dữ liệu huấn luyện tiếng nói chủ yếu
đƣợc ghi âm với chất giọng Quảng Nam và Đà Nẵng nên có thể sẽ
cho hiệu suất nhận dạng không cao khi cho nhận dạng với chất giọng
của vùng miền khác. Đề tài cũng mới chỉ dừng ở việc thử nghiệm
nhận dạng ở chế độ offline (tín hiệu tiếng nói đƣợc thu âm lƣu vào
file trƣớc khi thực hiện nhận dạng) chứ chƣa thử nghiệm nhận dạng
online (tín hiệu tiếng nói đƣợc thu vào micro trong khi thực hiện
nhận dạng).
4.2. Hƣớng phát triển
Cùng với chiều hƣớng phát triển của các hệ thống nhận dạng
tiếng nói tiếng Việt phát âm rời rạc ở trong nƣớc, tôi sẽ tiếp tục


×