You are on page 1of 88

Tài liệu tham khảo môn học Xử lý tiếng nói Trang 1

Chương I: Cơ chế tạo tiếng nói và nhận thức


1.1. Tiếng nói
Tiếng nói thường xuất hiện dưới nhiều hình thức mà ta gọi là đàm thoại, việc đàm thoại thể
hiện kinh nghiệm của con người. Đàm thoại là một quá trình gồm nhiều người, có sự hiểu hiết
chung và một nghi thức luân phiên nhau nói. Những người có điều kiện thể chất và tinh thần
bình thường thì rất dễ diễn đạt tiếng nói của mình, do đó tiếng nói là phương tiện giao tiếp
chính trong lúc đàm thoại. Tiếng nói có rất nhiều yếu tố khác hỗ trợ nhằm giúp người nghe hiểu
được ý cần diễn đạt như biểu hiện trên gương mặt, cử chỉ, điệu bộ. Vì có đặc tính tác động qua
lại, nên tiếng nói được sử dụng trong nhu cầu giao tiếp nhanh chóng. Trong khi đó, chữ viết lại
có khoảng cách về không gian lẫn thời gian giữa tác giả và người đọc.
Sự biểu đạt của tiếng nói hỗ trợ mạnh mẽ cho việc ra đời các hệ thống máy tính có sử dụng
tiếng nói, ví dụ như lưu trữ tiếng nói như là một loại dữ liệu, hay dùng tiếng nói làm phương
tiện giao tiếp qua lại. Nếu chúng ta có thể phân tích quá trình giao tiếp qua nhiều lớp, thì lớp
thấp nhất chính là âm thanh và lớp cuối cùng là tiếng nói diễn tả ý nghĩa muốn nói.
1.1.1. Nguồn gốc của tiếng nói
Âm thanh của lời nói cũng như âm thanh trong thế giới tự nhiên xung quanh ta, về bản chất
đều là những sóng âm được lan truyền trong một môi trường nhất định (thường là không khí).
Khi chúng ta nói dây thanh trong hầu bị chấn động, tạo nên những sóng âm, sóng truyền trong
không khí đến màng nhĩ – một màng mỏng rất nhạy cảm của tai ta – làm cho màng nhĩ cũng
dao động, các dây thần kinh của màng nhĩ sẽ nhận được cảm giác âm khi tần số dao động của
sóng đạt đến một độ lớn nhất định.
Tai con người chỉ cảm thụ được những dao động có tần số từ khoảng 16Hz đến khoảng
20000Hz. Những dao động trong miền tần số này gọi là dao động âm hay âm thanh, và các
sóng tương ứng gọi là sóng âm. Những sóng có tần số nhỏ hơn 16Hz gọi là sóng hạ âm, những
sóng có tần số lớn hơn 20000 Hz gọi là sóng siêu âm, con người không cảm nhận được (ví dụ
loài dơi có thể nghe được tiếng siêu âm). Sóng âm, sóng siêu âm và hạ âm không chỉ truyền
trong không khí mà còn có thể lan truyền tốt ở những môi trường rắn, lỏng, do đó cũng được sử
dụng rất nhiều trong các thiết bị máy móc hiện nay.
1.1.2. Phân loại tiếng nói
Tiếng nói là âm thanh mang mục đích diễn đạt thông tin, rất uyển chuyển và đặc biệt. Là
công cụ của tư duy và trí tuệ, tiếng nói mang tính đặc trưng của loài người. Nó không thể tách
riêng khi nhìn vào toàn thể nhân loại, và nhờ có ngôn ngữ tiếng nói mà loài người sống và phát
triển xã hội tiến bộ, có văn hóa, văn minh như ngày nay. Trong quá trình giao tiếp người nói,
có nhiều câu nói, mỗi câu gồm nhiều từ, mỗi từ lại có thể gồm 1 hay nhiều âm tiết. Ở 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:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 2

- Âm hữu thanh: Là âm khi phát ra thì có thanh, ví dụ như chúng ta nói “i”, “a”, hay “o”
chẳng hạn. Thực ra âm hữu thanh được tạo ra là do việc không khí qua thanh môn (thanh
môn tạo ra sự khép mở của dây thanh dưới sự điều khiển của hai sụn chóp) với một độ
căng của dây thanh sao cho chúng tạo nên dao động.
- Âm vô thanh: Là âm khi tạo ra tiếng thì dây thanh không rung hoặc rung đôi chút tạo ra
giọng như giọng thở, ví dụ “h”, “p” hay “th”
- Âm bật: Để phát ra âm bật, đầu tiên bộ máy phát âm phải đóng kín, tạo nên một áp suất,
sau đó không khí được giải phóng một cách đột ngột, ví dụ “ch”, “t”.
1.2. Cơ chế tạo ra tiếng nói và thu nhận tiếng nói
1.2.1. Cấu tạo của hệ thống cấu âm
Lời nói là kết quả của sự hoạt động với mối liên kết giữa các bộ phận hô hấp và nhai. Hành
động này diễn ra dưới sự kiểm soát của hệ thần kinh trung ương, bộ phận này thường xuyên
nhận được thông tin bằng những tác động ngược của các bộ phận thính giác và cảm giác bản
thể.
Bộ máy hô hấp cung cấp lực cần thiết khi khí được thở ra bằng khí quản.
Ở đỉnh khí quản là thanh quản nơi áp suất khí được điều biến trước khi đến tuyến âm kéo
dài từ hầu đến môi (hình 1.1)

Thanh quản là tập hợp các cơ và sụn động bao quanh một khoang nằm ở phần trên của khí
quản. Các dây thanh giống như là một đôi môi đối xứng nằm ngang thanh quản, hai môi này có
thể khép hoàn toàn thanh quản và khi mở ra chúng có thể tạo ra độ mở hình tam giác gọi là
thanh môn. Không khí qua thanh quản một cách tự do trong quá trình thở và cả trong quá trình
cấu âm của những âm điếc hay âm vô thanh. Các âm hữu thanh thì ngược lại, lại là kết quả của
sự rung động tuần hoàn của những dây thanh. Và như vậy những rung động liên tiếp sẽ đến
được tuyến âm.
Tuyến âm là tập hợp những khoang nằm giữa thanh môn và môi, trên hình ta có thể phân
biệt được khoang hầu (họng), khoang miệng và khoang mũi.
Khi nói, lồng ngực mở rộng và thu hẹp, không khí được đấy từ phổi vào khí quản, đi qua
thanh môn do các dây thanh tạo thành. Luồng khí này được gọi là tín hiệu kích cho tuyến âm vì
sau đó nó được đẩy qua tuyến âm và cuối cùng tán xạ ra ở môi. Tuyến âm có thể được coi như

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 3

một ống âm học (gồm các đoạn ống với độ dài bằng nhau và thiết diện các mặt cắt khác nhau
mắc nối tiếp) với đầu vào là các dây thanh (hay thanh môn) và đầu ra là môi. Như vậy tuyến
âm có dạng thay đổi như một hàm theo thời gian. Các mặt cắt của tuyến âm được xác định
bằng vị trí của lưỡi, môi, hàm, vòm miệng và thiết diện của những mặt cắt này thay đổi từ 0
cm2 (khi ngậm môi) đến khoảng 20 cm2 (khi hở môi). Tuyến mũi tạo thành tuyến âm học phụ
trợ cho truyền âm thanh, nó bắt đầu từ vòm miệng và kết thúc ở các lỗ mũi. Khi vòm miệng hạ
thấp, tuyến mũi được nối với tuyến âm về mặt âm học và tạo nên tiếng nói âm mũi.
Các âm của tiếng nói được tạo trong hệ thống này theo ba cách phụ thuộc vào tín hiệu kích.
âm hữu thanh như âm / i / được tạo nên khi kích tuyến âm bằng chuỗi xung (hay chu kỳ dao
động của đôi dây thanh) xác định chu kỳ pitch P và đại lượng nghịch đảo của nó là tần số cơ
bản F0. Đối với ngôn ngữ có thanh điệu thì kiểu thay đổi này còn phụ thuộc vào thanh điệu.
Âm vô thanh như âm / s / được tạo nên khi các dây thanh không dao động, xung kích được coi
như các tạp ngẫu nhiên, kích bởi các dòng khí xoáy qua các chỗ hẹp của tuyến âm (thường là
phía khoang miệng). Âm nổ như âm / p / được tạo ra bằng cách đóng hoàn toàn tuyến âm, gây
nên áp suất bên cạnh vị trí đóng, rồi nhanh chóng giải phóng âm này.
Vì tuyến âm và tuyến mũi bao gồm các ống âm học có mặt cắt khác nhau nên khi âm truyền
trong ống, phổ tần số thay đổi theo tính chọn lọc tần số của ống. Trong phạm vi tạo tiếng nói,
những tần số cộng hưởng của tuyến âm được gọi là tần số formant hay đơn giản là formant.
Những tần số này phụ thuộc vào dạng và kích thước của tuyến âm, do đó mỗi dạng tuyến âm
được đặc trưng bằng một tổ hợp tần số formant. Các âm khác nhau được tạo bởi sự thay đổi
dạng của tuyến âm. Như vậy tính chất phổ của tín hiệu tiếng nói thay đổi theo thời gian giống
với sự thay đổi dạng của tuyến âm.
Quá trình truyền âm qua tuyến âm làm mạnh lên ở một vùng tần số nào đó bằng cộng
hưởng và tạo cho mỗi âm những tính chất riêng biệt gọi là quá trình phát âm.
Âm được phát có nghĩa nó đã mang thông tin về âm vị được tán xạ ra ngoài từ môi. Trong
một vài trường hợp, đối với những âm mũi (như / m /, / n / trong tiếng Anh), tuyến mũi cũng
tham gia vào quá trình phát âm và âm được tán xạ ra từ mũi.
Tóm lại, sóng tín hiệu được chế tạo bằng ba động tác: tạo nguồn âm (hữu thanh và vô
thanh), phát âm khi truyền qua tuyến âm và tán xạ âm từ môi hoặc từ mũi, như hình 1.2 sau
đây:

Hình 1.2: Quá trình cơ bản tạo tín hiệu tiếng nói.

1.2.2. Cấu tạo của hệ thống tiếp âm


Không giống như các cơ quan tham gia vào quá trình tạo ra tiếng nói khi thực hiện các chức
năng khác trong cơ thể như: thở, ăn, ngửi. Tai chỉ sử dụng cho chức năng nghe.
Tai đặc biệt nhạy cảm với những tần số trong tín hiệu tiếng nói chứa thông tin phù hợp nhất
với việc liên lạc (những tần số xấp xỉ 200 – 5600 Hz). Người nghe có thể phân biệt được những
sự khác biệt nhỏ trong thời gian và tần số của những âm thanh nằm trong vùng tần số này

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 4

Tai gồm có ba phần: tai ngoài, tai giữa và tai trong. Tai ngoài dẫn hướng những thay đổi áp
xuất tiếng nói vào trong màng nhĩ, ở đó tai giữa sẽ chuyển đổi áp xuất này thành chuyển động
cơ học. Tai trong chuyển đổi những rung động cơ học này thành những luồng điện trong nơron
thính giác dẫn đến não.
a) Tai ngoài: bao gồm LOA TAI (pina) hay TÂM NHĨ (aurical) và LỖ (meatus) thính
giác hay ống tai ngoài. Loa tai có tham gia rất ít hoặc hầu như không vào độ thính của tai,
nhưng có chức năng bảo vệ lối vào ống tai và dường như cũng tham gia vào khả năng khu biệt
các âm, đặc biệt là ở những tần số cao hơn. Loa tai nối với ống tai ngoài, một ống ngắn có hình
dáng thay đổi có chiều dài khoảng từ 25 đến 53 cm làm đường cho các tín hiệu âm học đến tai
giữa. Lỗ tai có hai chức năng chính. Chức năng thứ nhất là bảo vệ các cấu trúc phức tạp và
không có tính chất cơ học lắm của tai giữa. Chức năng thứ hai là đóng vai trò như một bộ máy
cộng hưởng hình ống vốn ưu tiên cho việc truyền các âm có tần số cao giữa 2000 Hz và 4000
Hz. Chức năng này là quan trọng đối với việc tiếp nhận lời nói và đặc biệt trợ giúp cho việc
tiếp nhận các âm xát, vì đặc điểm của chúng thường được lập mã trong nguồn năng lượng
không có chu kì trong khu vực ảnh phổ âm học này. Sự cộng hưởng trong lỗ thính giác cũng
tham gia vào độ thính chung của chúng ta giữa 500 Hz và 4000 Hz, vốn là một dải tần có chứa
nhiều dấu hiệu chính đối với cấu trúc âm vị học.

Hình 1.3: Cấu trúc của hệ thính giác ngoài


b) Tai giữa bao gồm một khoang nằm trong cấu trúc hộp sọ có chứa màng nhĩ (eardrum) -
màng ở đầu trong của ống tai ngoài , một bộ ba khúc xương liên kết với nhau, được gọi là
xương vồ (mallet), xương đe (anvil) và xương bàn đạp (stirrup) (cũng có thuật ngữ là xương tai
<auditory ossicle>) và cấu trúc cơ liên kết. Mục đích của tai giữa là truyền những biến đổi áp
suất âm trong không khí đến tai ngoài vào những dịch chuyển cơ khí tương ứng. Quá trình
truyền này bắt đầu ở màng nhĩ, bị làm lệch đi bởi những biến đổi áp suất khí truyền đến nó qua
lỗ tai. Sự dịch chuyển này được truyền đến các xương tai, vốn đóng vai trò như một hệ thống
đòn bẩy cơ học khéo léo để chuyển tải những dịch chuyển này đến cửa hình bầu dục ở giao
diện đến tai trong và chất dịch trong lỗ tai ở trên.
Hoạt động làm đòn bẩy của các xương tai, và sự thực là màng nhĩ có vùng bề mặt lớn hơn
nhiều so với cửa hình bầu dục, đảm bảo cho việc truyền hiệu ứng của năng lượng âm học giữa

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 5

500 Hz và 4000 Hz, làm tăng đến mức tối đa khả năng thính của tai ở vùng tần số này. Hệ cơ
gắn với các xương tai cũng hoạt động để bảo vệ tai chống lại những âm lớn do hoạt động cơ
chế phản xạ âm học. Cơ chế này đi vào hoạt động khi các âm có biên độ khoảng 90 dB và lớn
hơn truyền đến tai: hệ cơ kết hợp và sắp xếp lại các xương tai để làm giảm hiệu quả truyền âm
đến cửa hình bầu dục (Borden và Harris 1980, Moore 1989).
Tai giữa được nối với họng bằng một ống hẹp gọi là vòi ốc tai (eustachian tube). Điều này
hình thành một đường khí và con đường này sẽ mở ra khi cần cân bằng những thay đổi áp suất
khí nền giữa cấu trúc tai giữa và tai ngoài.
Tai trong là một cấu trúc phức tạp bọc trong hộp sọ, ốc tai (cochlea) có trách nhiệm biến
đổi sự chuyển dịch cơ khí thành các tín hiệu thần kinh: sự dịch chuyển cơ khí được truyền đến
cửa hình bầu dục bằng các ốc tai được chuyển thành các tín hiệu thần kinh và các tín hiệu thần
kinh này được truyền đến hệ thống thần kinh trung ương. Về cơ bản, ốc tai là một cấu trúc hình
xoắn tận hết bằng một cửa sổ có 1 màng linh hoạt ở mỗi đầu.
Ở bên trong, ốc tai chia thành hai màng, một trong số đó, màng nền (basilar membrane) là
cực kì quan trọng đối với hoạt động nghe. Khi những dịch chuyển (do các rung động âm gây
ra) diễn ra tại cửa sổ hình bầu dục, chúng được truyền qua chất dịch trong ốc tai và gây ra sự
dịch chuyển (displacement) của màng nền. Ở một đầu màng nền cứng hơn so với ở đầu kia, và
điều này có nghĩa là cách thức mà trong đó nó được dịch chuyển phụ thuộc vào tần số của âm
tác động vào. Các âm có tần số cao sẽ gây ra sự dịch chuyển lớn hơn ở đầu cứng; với tần số
giảm dần, sự dịch chuyển cực đại sẽ di chuyển liên tục về phía đầu ít cứng hơn.
Gắn dọc với màng nền là cơ quan vỏ não (organ of corti), một cấu trúc phức tạp chứa nhiều
tế bào tóc. Nó là sự dịch chuyển và sự kích thích của các tế bào tóc này vốn biến sự dịch
chuyển của màng nền thành các tín hiệu thần kinh. Vì màng nền được dịch chuyển ở nhiều vị
trí khác nhau phụ thuộc vào tần số, cho nên ốc tai và các cấu trúc bên trong của nó có thể biến
tần số và cường độ của âm thành các tín hiệu thần kinh. Nhưng cần phải nhấn mạnh rằng sự tái
hiện có tính thần kinh cuối cùng của thông tin tần số không phụ thuộc vào vị trí của chỉ riêng
sự dịch chuyển màng nền không, và hiểu biết của chúng ta về cách thức tần số được lập mã
thông qua hệ thống thính giác là chưa hoàn thiện.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 6

Hình 1.4: Mặt cắt ngang của ốc tai


Nghiên cứu đầu tiên về thẩm nhận lời nói chỉ tính đến rất ít các thuộc tính thẩm nhận cơ
bản của tai. Hơn nữa, nó đã cố gắng gắn kết các thuộc tính thẩm nhận của tín hiệu lời nói với
kiểu tái hiện phổ thay đổi theo thời gian tuyến tính. Đến khoảng năm 1980 nhiều nhà nghiên
cứu đã nhận ra rằng cần phải hiểu những hiệu ứng có tính chất phân tích tính của hệ thính giác
người về các tín hiệu lời nói và thật là sai lầm khi cho rằng người nghe chỉ đang xử lí thông tin
theo cách giống như chiếc máy ghi phổ bình thường mà thôi.
1.3. Ngữ âm học
Ngữ âm học là khoa học nghiên cứu về âm thanh của ngôn ngữ loài người trong tất cả các
hình thái và chức năng của nó. Ngữ âm học ứng dụng các phương pháp khoa học tự nhiên để
nghiên cứu những đặc trưng âm học của âm thanh thực tế và những phương cách sản xuất ra
các âm thanh đó mà không cần biết chúng thuộc ngôn ngữ nào. Âm vị học là khoa học nghiên
cứu mặt xã hội của ngữ âm, nghiên cứu các đặc điểm sử dụng của ngữ âm trong từng ngôn ngữ
với những phương pháp và khái niệm riêng của mình.
1.3.1. Cơ sở vật lý của ngữ âm
Âm thanh ngôn ngữ là sự chấn động của luồng không khí đi qua bộ máy phát âm của con
người mà cơ quan thính giác của người ta có thể cảm thụ được. Âm truyền đi không khí dưới
dạng sóng âm với tốc độ 340 m/giây.
Mỗi âm được phân biệt bằng các yếu tố sau:
- Độ cao: phụ thuộc vào tần số rung động. Tai bình thường con người có thể nghe được
trong giới hạn tần số 16Hz đến 20.000 Hz.
- Độ vang: phụ thuộc vào biên độ dao động. Biên độ càng rộng thì độ vang càng to.
- Độ dài: phụ thuộc vào thời gian lâu hay mau của âm.
- Âm sắc: Là sắc thái riêng của âm. Âm nói chung là hợp thể của nhiều âm cơ bản, trong đó
âm cơ bản có tần số thấp nhất và các hoạ âm có tần số bằng bội số tần số âm cơ bản. Âm

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 7

sắc khác nhau là do số lượng và tính chất của các hoạ âm, mà tính chất của các hoạ âm bị
tác động nhiều bởi hiện tượng cộng hưởng.
Trong bộ máy phát âm của con người, dây thanh ở khoang thanh hầu là vật thể phát ra âm
cơ bản với tần số thấp nhất. Khoang miệng, khoang mũi là những hộp cộng hưởng tạo ra các
hoạ âm. Các khoang này do hoạt động của lưỡi, môi, ... luôn có khả năng thay đổi hình dáng,
thể tích, lối thoát của không khí và do đó có khả năng cộng hưởng khác nhau, tạo ra các nhóm
hoạ âm được tăng cường khác nhau. Các nguyên âm khác nhau do có sự cộng hưởng khác nhau
tạo ra các nhóm hoạ âm tăng cường khác nhau. Dải tần số được tăng cường đặc trưng cho mỗi
nguyên âm như thế được gọi là formant.

1.3.2. Cơ sở sinh lý của ngữ âm


Trong ngữ âm, tiếng thanh được tạo thành do sự rung động của dây thanh và tiếng động do
luồng hơi bị cản trở và cọ xát. Do đó nếu dây thanh không hoạt động hay hoạt động ít ta có chu
kỳ và tần số không xác định và gọi là tiếng động. Nguyên âm chủ yếu thuộc loại tiếng thanh,
còn phụ âm có sự tham ra nhiều của tiếng động, thậm chí tỷ lệ tiếng động cao hơn tiếng thanh.
Về độ cao, âm vô thanh cao hơn âm hữu thanh. Một số ngôn ngữ như tiếng Việt, Hán, Thái
độ cao tạo ra đơn vị ngữ âm là thanh điệu.
Về độ vang, các nguyên âm nghe vang to hơn các phụ âm.
1.3.3. Âm tiết tiếng Việt
Âm tiết là đơn vị ngữ âm nhỏ nhất khi nói. Dù phát âm có thật chậm, thật tách bạch thì
những âm thanh của phát ngôn cũng không thể chia nhỏ được nữa.
Âm tiết vì thế có tính toàn vẹn được phát âm bằng một đợt căng của bộ máy phát âm [2].
Các đợt căng của cơ nối tiếp nhau làm thành một chuỗi âm tiết và có thể hình dung bằng một
chuỗi đường cong hình sin.
u a a

u
u a
a q a
c

Trong sơ đồ trên là hai phát âm "cụ ạ" và "quạ". Trong phát âm thứ nhất có 2 âm tiết, âm
[u] nằm ở đỉnh âm tiết đầu. Trong phát âm thứ hai có một âm tiết và âm [u] nằm ở sườn của âm
tiết.
1.3.4. Đặc điểm âm tiết tiếng Việt
a) Tính độc lập cao :
- Tiếng Việt, âm tiết được thể hiện khá đầy đủ, rõ ràng, được tách và ngắt thành từng
khúc đoạn riêng biệt. Âm tiết nào của tiếng Việt cũng mang một thanh điệu và cấu trúc ổn
định. Điều này làm cho sự thể hiện của âm tiết tiếng Việt trong chuỗi lời nói nổi bật và tách
bạch hơn. Do đó nên việc vạch ra ranh giới giữa các âm tiết trong tiếng Việt dễ dàng hơn
nhiều việc phân chia ranh giới âm tiết trong các ngôn ngữ châu Âu [2] (trong ngôn ngữ châu
Âu, việc phân chia âm tiết có khi phải dùng phương pháp phân tích phổ). Việc tách bạch âm

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 8

tiết còn được thể hiện ở chữ viết, mỗi âm tiết được viết tách ra thành một từ riêng biệt. Có thể
nói so với các âm tiết châu Âu, tiếng Việt có tính độc lập cao hơn hẳn.
- Trong tiếng Việt không có hiện tượng nối âm (liaison).
Trong các ngôn ngữ châu Âu thường gặp các hiện tượng nối âm, ví dụ như :

Vous allez

Tiếng Việt không có hiện tượng nối âm như vậy.


- Tiếng Việt thường không bị nhược hoá (reduction) hay mất đi ???
b) Có khả năng biểu hiện ý nghĩa
Tuyệt đại đa số các âm tiết tiếng Việt đều có nghĩa. Gần như toàn bộ các âm tiết đều hoạt
động như từ. Nói cách khác trong tiếng Việt ranh giới của âm tiết trùng với ranh giới của hình
vị [2]. (hình vị là đơn vị có nghĩa nhỏ nhất trong một ngôn ngữ). Chính vì vậy trong một phát
ngôn, số lượng âm tiết trùng với số lượng hình vị.
c) Có cấu trúc chặt chẽ
Mỗi âm tiết tiếng Việt ở dạng đầy đủ có 5 phần như hình:

Thanh điệu

Vần
Âm đầu
Âm đệm Âm chính Âm cuối

Âm đầu: thường là phụ âm, được gọi là phụ âm đầu, nó có chức năng tạo ra âm sắc cho âm
tiết lúc mở đầu. Âm đầu có thể khuyết trong một số trường hợp.
Âm đệm: có chức năng làm thay đổi âm sác của âm tiết lúc khởi đầu và làm khu biệt âm tiết
này với âm tiết khác. Ví dụ “tán” và “toán”. Âm đệm có thể khuyết trong một số trường hợp.
Âm chính: luôn luôn có mặt trong mọi âm tiết có chức năng qui định âm sắc chủ yếu của âm
tiết. Âm chính luôn là nguyên âm.
Âm cuối: Có thể là phụ âm hoặc là bán nguyên âm. Có chức năng là cơ sở để phân chia loại
hình âm tiết, để nhận ra sự phân bố, xuất hiện của thanh điệu. Âm cuối có thể khuyết trong
một số trường hợp
Thanh điệu: Luôn có mặt và là yếu tố siêu đoạn tính có chức năng khu biệt âm tiết về cao độ
Cấu trúc tổng quát của một âm tiết tiếng Việt là (C1)(w)V(C2).
Năm phần cấu tạo âm tiết tiếng Việt không phải bình đẳng như nhau về mức độ độc lập và về
khả năng kết hợp. Nhiều sự kiện ngôn ngữ chứng tỏ rằng thanh điệu và âm đầu kết hợp với
phần còn lại của âm tiết một cách lỏng lẻo. Các yếu tố phần vần bao gồm âm đệm + âm chính
+ âm cuối thì kết hợp với nhau khá chặt chẽ. [3]
Cấu trúc gồm 2 bậc: bậc một bao gồm các hành tố trực tiếp được phân định bằng những ranh
giới có ý nghĩa ngữ âm học. Phần thứ hai bao gồm các yếu tố của phần vần chỉ có chức năng
khu biệt thuần tuý. Quan hệ giữa các yếu tố ở bậc một là quan hệ lỏng lẻo, giữa các yếu tố của
bậc hai có quan hệ chặt chẽ. Các thực nghiệm đã chứng minh rằng: tính độc lập của thanh
điệu đối với các âm tố cụ thể lộ ra ở chỗ đường nét âm điệu và trường độ của nó không gắn
liền với thành phần âm thanh của âm tiết. Trong khuôn khổ mỗi loại hình thanh điệu các âm

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 9

tiết có một trường độ cố định. Âm đầu không tham gia bảo đảm trường độ cố định ấy mà
chính âm phần vần lại đảm đương với bất kể số lượng và phẩm chất của những yếu tố làm
thanh phần của nó. Trong phần vần, việc rút ngắn các nguyên âm ở những vị trí nhất định
được bù lại bằng sự kéo dài các âm cuối [1].
Số lượng âm tiết trên lý thuyết của tiếng Việt là 11900, còn số lượng âm tiết trên thực tế là
6700. So với các các ngôn ngữ thông thường trên thế giới có số lượng âm tiết vào khoảng
3000-5000, tiếng Trung Quốc số lượng âm tiết trên lý thuyết là 1620, trên thực tế là 1255 [2].
Điều này cho thấy tiếng Việt có số lượng âm tiết rất lớn, và chính vì thế ít có hiện tượng đồng
âm, ít gây trở ngại cho việc nhận diện âm tiết. Theo [1], trong tiếng Việt có 6 thanh điệu, 22
âm đầu và 155 phần vần và phần vần đóng vai trò khu biệt lớn hơn cả so với các yếu tố khác
trong bậc 1.

Âm tiết

Thanh Âm đầu Phần vần Bậc 1


điệu

Âm đệm Âm Âm cuối Bậc 2


chính

1.3.5. Âm tố tiếng Việt


Âm tố là đơn vị nhỏ nhất trên ngữ tuyến, không thể phân chia ra được nữa.
Âm tố được phân chia thành nguyên âm và phụ âm. nguyên âm và phụ âm khác nhau ở các
điểm sau [2]:
- Nguyên âm chủ yếu cấu tạo bằng tiếng thanh, còn phụ âm cấu tạo bằng tiếng động.
- Khi phát âm nguyên âm luồng hơi đi tự do, còn phụ âm thì bị cản trở.
- Khi phát âm nguyên âm luồng hơi đi yếu, còn khi phát âm phụ âm luồng hơi đi mạnh.
- Khi phát âm nguyên âm, độ căng của bộ máy phát âm phân bố đều đặn, còn phụ âm thì
thường tập trung ở một số bộ phận được gọi là điểm cấu âm.
1.3.5.1.Phân loại nguyên âm
a) Các tiêu chí cấu âm
- Chiều hướng lưỡi: âm trước, âm sau, âm giữa hay còn gọi là dòng trước, dòng giữa, dòng
sau.
- Độ mở của miệng: nguyên âm hẹp, nguyên âm nửa hẹp, nguyên âm nửa rộng, nguyên âm
rộng.
- Hình dáng của môi: tròn môi, không tròn môi.
b) Tiêu chí âm học
- Độ dài: nguyên âm ngắn, nguyên âm thường, nguyên âm hơi dài, nguyên âm dài.
- Độ cao: bổng, trầm, trung hoà.
- Độ vang: độ mở miệng càng rộng, nguyên âm càng có độ vang lớn. Ta có nguyên âm độ
vang nhỏ, nguyên âm độ vang lớn, nguyên âm độ vang trung bình.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 10

c) Nguyên âm đơn và đôi


- Khi phát âm một nguyên âm đơn, lưỡi chỉ có một vị thế, có nghĩa là chỉ làm một động tác
cấu âm.
- Còn khi phát âm nguyên âm đôi, lưỡi sẽ lướt từ vị trí này sang vị trí khác, từ vị thế của âm
này sang vị thế của nguyên âm khác. Trong biểu đổ phổ các formant di chuyển từ vị trí
của nguyên âm thứ nhất sang vị trí của nguyên âm sau đó.
1.3.5.2.Phân loại phụ âm
a) Phân loại theo cấu âm
Có hai tiêu chí phân loại: phương thức cấu âm và vị trí cấu âm
- Phương thức cấu âm:
o Phương thức tắc: luồng hơi bị cản trở hoàn toàn ở miệng rồi sau đó mới thoát ra.
Tuỳ theo luồng hơi thoát ở mũi hay miệng, có bật manh hay không bật mạnh ta có:
 phụ âm tắc, luồng hơi thoát ra đằng miệng [p,t,k,d,b]
 phụ âm mũi: luồng hơi phát ra ở mũi [m,n,à,ứ]
 phụ âm bật hơi: luồng hơi bật mạnh ra đằng miệng
o Phương thức xát: luồng hơi không bị cản trở mà lách qua một khe hẹp do hai bộ
phận cấu âm tạo ra và cọ xát với thành của khe hẹp đó mà tạo ra âm xát.
 phụ âm xát: luồng hơi qua khe hẹp ngay ở giữa đường thông từ miệng ra
ngoài [f,v,s,ờ,z,ỹ,â,Å]
 phụ âm tắc xát: tiếng Việt không có phụ âm này.
o Phương thức rung: luồng hơi làm rung động một bộ phận cấu âm trên thanh hầu.
- Vị trí cấu âm
o phụ âm hai môi: [p,b]
o phụ âm môi răng [f,v]
o Giữa răng: đầu lưỡi đặt ở giữa răng cửa của hai hàm răng.
o Đầu lưỡi-răng: đầu lưỡi đặt ở sau răng [t,d,n].
o Đầu lưỡi, lợi: đầu lưỡi và lợi của hàm trên là điểm cấu âm[d,l,s,z]
o Quặt lưỡi: đầu lưỡi nâng lên cao và quặt cong về phía ngạc cứng. [ÿ,ờ,ỹ]
o Ngạc: mặt lưỡi hướng đến ngạc cứng [c, à]
o Mạc: Gốc lưỡi hướng đến ngạc mềm [k, â,Å, ứ]
o Lưỡi con: gốc lưỡi lùi lại, nâng lên hướng đến phía lưỡi con.
o Thanh môn: Thanh môn đóng lại để phát ra âm tắc, thanh môn ỏ trong thanh hầu
(còn gọi là âm thanh hầu) [h].
b) Phân loại theo âm học:
Hữu thanh/vô thanh. phụ âm hữu thanh nghĩa là có sự rung động của dây thanh khi phát
âm[b,được,z]. Vô thanh là âm không có tiếng thanh [p,t,f,s].
Độ vang: phụ âm có tỷ lệ tiếng thanh cao hơn tiếng động là phụ âm vang, ngược lại gọi là
phụ âm ồn.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 11

Độ dài: phụ âm liên tục có thể kéo dài đến một giới hạn mà hơi thở cho phép (phụ âm mũi).
Ngược lại phụ âm không liên tục do luồng hơi bị chặt hoàn toàn chỉ có thể phát ra đột ngột (âm
tắc).
1.3.5.3.Bán nguyên âm
Trong tiếng Việt có hai bán nguyên âm /i,u/. Về mặt cấu âm, bán nguyên âm không khác
nguyên âm thường. Tuy nhiên trong cấu trúc âm tiết bán nguyên âm không chiếm vị trí đỉnh âm
tiết (phi âm tiết tính) mà đóng vai trò như phụ âm.
1.3.5.4.Các cấu âm phụ
Môi hoá: Hiện tượng thêm động tác tròn môi vào cấu âm cơ bản. Thường các phụ âm bị
môi hoá khi phân bố cạnh các âm tròn môi (ví dụ “tủ”) (trường hợp các phụ âm môi ít gặp
hơn)
Mạc hoá: Hiện tương mặt lưỡi nhích sâu về phia ngạc mềm vào vị trí như của /w/
Ngạc hoá: Hiện tượng nâng phần trước của lưỡi lên cao ở vào vị trí của /i/ trong khi đang
thực hiện các âm cơ bản. tức là hiện tượng gốc lưỡi phát âm với xu hướng nhích về phia trước,
trở thành mặt lưỡi ngạc. Ví dụ /k/->/c/ và /ứ/->/à/ trong các từ “bình minh”, “chênh chếch”.
1.3.6. Âm vị tiếng Việt
Âm vị là đơn vị đoạn tính nhỏ nhất có chức năng phân biệt nghĩa. Về mặt xã hội của ngữ
âm, trong số các âm tố trong lời nói của ngôn ngữ, ta có thẻ tập hợp một số lượng có hạn những
đơn vị mang những nét chung về cấu tạo âm thanh và về chức năng trong ngôn ngữ đó gọi là
âm vị.
Âm vị và âm tố là hai khai niệm khác nhau. Âm vị là đơn vị trừu tượng thuộc bình diện
ngôn ngữ, đã được khái quát hoá từ những âm tố cụ thể trong các lời nói hàng ngày của người
sử dụng ngôn ngữ. Âm tố là đơn vị cụ thể, thuộc bình diện lời nói tồn tại thực tế trong thế giới
khách quan. Âm vị được hiện thực hoá bởi âm tố, thông qua âm tố ta biết được âm vị. Âm vị
thường chỉ mang một số nét đặc trưng khu biệt trong tất cả các đặc trưng vốn có của một âm
thanh còn âm tố bao gồm cả hai yếu tố khu biệt và không khu biệt của âm thanh. Qui ước âm vị
được ghi ở giữa hai dấu / /, âm tố được ghi giữa hai dấu [ ].
Có một cản trở khi nghiên cứu âm vị tiếng Việt là chưa có một qui định chính thức về pháp
lý, hay một chuẩn chung của các nhà khoa học ngữ âm về một chuẩn tiếng Việt [1]. Có thể
quan niệm tạm thời coi "tiếng Việt chuẩn như một thứ tiếng chung được hình thành trên cơ sở
tiếng địa phương của miền Bắc với trung tâm là Hà nội mà cách phát âm của nó là cách phát
âm Hà nội với sự phân biệt /ÿ-c/,/ờ-s/,/ỹ-z/ và các vần ưu/iu, ươu/iêu.
1.3.7. Thanh điệu
Âm vị tiếng Việt có hai loại âm vị đoạn tính và âm vị siêu đoạn tính. Âm vị đoạn tính là các
đơn vị có thể chia cắt được trong chuỗi lời nói như nguyên âm, phụ âm. Âm vị siêu đoạn tính là
loại đơn vị không có âm đoạn tính, không độc lập tồn tại, nhưng cũng có chức năng phân biệt
nghĩa, nhận diện từ, đó là thanh điệu. Đây là đặc điểm riêng của tiếng Việt so với các ngôn ngữ
Châu Âu Một số ngôn ngữ khác như tiếng Hán, tiếng Thái cũng có đặc điểm này như tiếng
Việt.
Thanh điệu được hình thành bằng sự rung động của dây thanh, tuỳ theo sự rung đó nhanh
hay chậm, mạnh hay yếu, biến chuyển ra sao mà ta có các thanh điệu khác nhau. Thanh điệu

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 12

tiếng Việt thuộc loại thanh lướt, có nghĩa là các thanh điệu phân biệt với nhau bằng sự di
chuyển cao độ từ thấp lên cao hay từ cao xuống thấp.
Theo các nhà ngôn ngữ học thì thanh điệu có ảnh hưởng bao chùm lên toàn bộ âm tiết, mặc
dù gánh nặng chủ yếu tập trung ở phần vần.
Tiếng Việt có sáu thanh điệu. Nếu chia thang độ của giọng nói bình thường thành 5 bậc thì
ta có thanh điệu tiếng Việt được miêu tả như sau:
(1) 5
(5)
(3) 4
(4) 3
(6)
2
(2)
1

(1) Không dấu (2) Huyền


(3) Ngã (4) Hỏi
(5) Sắc (6) Nặng

1.3.8. Các thành phần âm tiết


1.3.8.1.Âm đầu
Trong một số sách giáo khoa tiếng Việt [1,3,4], tiếng Việt có 22 âm vị là âm đầu. Các âm vị
/p,r/ không được liệt kê là các âm vị đầu tiếng Việt . Sở dĩ như vậy vì các âm vị này thường
được dùng trong các từ tiếng Việt vay mượn của nước ngoài như “đèn pin”, “pa tê”, “rađiô”,
tuy số lượng này không nhiều, ngoài ra một số địa phương âm /r/ được phát âm rung đầu lưỡi,
tuy nhiên địa bàn những thổ ngữ này không rộng, số người dùng không đông.
Tuy nhiên trong thực tế việc sử dụng các âm vị /p,r/ vẫn được người Việt nam dùng trong
các trường hợp tên riêng nước ngoài như Rumani, Pakistan, ... Nhằm xây dựng một hệ nhận
dạng giọng nói với định hướng tới môi trường thực tế thì hai âm vị /p,r/ vẫn nên được đưa vào
hệ thống nhận dạng như âm đầu mà tiếng Việt vay mượn của nước ngoài. (ngoài ra còn có một
số âm đầu vay mượn của nước ngoài như : /st/ stalin, /kl/ clo, ...)
Âm vị /ệ/, âm tắc thanh hầu được liệt kê trong một số sách giáo khoa tiếng Việt như một
phụ âm đầu [1]. Trong những âm tiết như ai, ơi, ăn, oản, uống, oanh, uyên có hiện tượng khép
khe thanh lúc mở đầu, khi chúng được phát âm lên. Tiếng bật do động tác mở khe thanh đột
ngột được nghe rõ hoặc không rõ ở từng người, trong từng lúc, phụ thuộc vào phong cách và
bối cảnh ngữ âm. Thừa nhận tồn tại âm tắc thanh hầu đưa đến xây dựng được một mô hình
tổng quát của âm tiết tiếng Việt cân xứng hơn với ba thành tố luôn có mặt: thanh điệu, âm đầu,
âm vần [1].
Tuy nhiên âm tắc thanh hầu không được thể hiện trên chữ viết. Sở dĩ như vậy vì bản chất
âm tắc thanh hầu vốn yếu, trong một số điều kiện nào đó không dễ được người bản ngữ nhận
ra. Thử thí nghiệm phát âm các âm tiết trên có tắc thanh hầu hay không có tắc thanh hầu, người
Việt nam vẫn không nhận ra sự khác biệt và coi như là một từ. Theo [2] sự xuất hiện của âm tắc
thanh hầu trong thực tế thường là tuỳ tiện, không theo qui luật, thậm chí là vắng mặt (68%)
nhiều hơn là có mặt (32%). Trong dạng phổ và dạng sóng, âm tắc thanh hầu cũng xuất hiện rất

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 13

mờ nhạt, không có ảnh hưởng lớn đến âm di sau nó. Vì lý do trên trong hệ thông nhận dạng
tiếng Việt, âm tắc thanh hầu không nên đưa vào như một âm vị đóng vai trò âm đầu trong từ.
(TDC: khảo sát với 26 đặc điểm phân tích tín hiệu, thử các hệ thống nhận dạng nhỏ với âm tắc
thanh hầu để chứng minh).
Tiếng Việt có 22 âm đầu, 6 thanh điệu, 2 âm đệm, 16 âm chính và 8 âm cuối. Vậy so với
các yếu tố cấu tạo âm tiết thì âm đầu có chức năng khu biệt lớn hơn cả.
Hệ thống các âm đầu trong hệ thống nhận dạng tiếng Việt

STT Âm vị Con chữ Ví dụ Miêu tả


(IPA)

1 b b buồn bã phụ âm tắc, hai môi, hữu thanh, không bật hơi, chỉ
xuất hiện trong âm tiết không có âm đệm

2 d đ đẫy đà phụ âm tắc, đầu lưỡi lợi, hữu thanh, không bật hơi,
xuất hiện trong mọi âm tiết.

3 t t tan tác phụ âm tắc, đầu lưỡi răng, vô thanh, không bật hơi,
xuất hiện trong mọi âm tiết.

4 t’ th thơm tho phụ âm tắc, vô thanh, bật hơi, đầu lưỡi răng, xuất hiện
trong mọi âm tiết

5 ÿ tr trục trặc phụ âm tắc, đầu lưỡi vòm miệng, vô thanh, không bật
hơi, xuất hiện trong mọi âm tiết.

6 c ch chuồn chuồn phụ âm tắc, vô thanh, mặt lưỡi, không bật hơi, xuất
hiện trong mọi âm tiết.

7 k k (đứng trước kiêu kỳ phụ âm tắc, vô thanh, gốc lưỡi, không bật hơi, xuất
/i/,/e/,/ô/) hiện trong mọi âm tiết.

c (đứng trước cầu cạnh


u,o,a,{,})

q (đứng trước quây quần


âm đệm /w/)

8 m m mượt mà phụ âm vang mũi, hai môi, xuất hiện trong âm tiết
không có âm đệm

9 n n no nê phụ âm vang mũi, đầu lưỡi lợi, xuất hiện trong mọi
âm tiết

10 à nh nhanh nhẹn phụ âm vang mũi, mặt lưỡi, xuất hiện trong mọi âm
tiết

11 ứ ngh (đứng trước nghi, nghê phụ âm vang mũi, gốc lưỡi, xuất hiện trong mọi âm
/i/,/e/,/ô/) tiết

ng ngủ ngày

12 f ph phất phới phụ âm xát, vô thanh, môi răng, xuất hiện trong âm
tiết không có âm đệm

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 14

13 v v vội vã phụ âm xá, hữu thanh, môi răng, xuất hiện trong âm
tiết không có âm đệm

14 S x xa xôi phụ âm xát, vô thanh, đầu lưỡi lợi, xuất hiện trong
mọi âm tiết

15 z d dễ dãi phụ âm xát, hữu thanh, đầu lưỡi lợi, xuất hiện trong
mọi âm tiết
gi giỏi giang

g gì

16 l l long lanh phụ âm vang bên, đầu lưỡi răng, xuất hiện trong mọi
âm tiết

17 ờ s sớm sủa phụ âm xát, vô thanh, dầu lưỡi vòm miệng, uốn lưỡi,
xuất hiện trong mọi âm tiết

18 ỹ r ra ruộng phụ âm xát, hữu thanh, đầu lưỡi vòng miệng, uốn
lưỡi, xuất hiện trong mọi âm tiết

19 Å kh không khí phụ âm xát, vô thanh, gốc lưỡi, xuất hiện trong mọi
âm tiết

20 â gh (đứng trước ghế, ghi phụ âm xát cuối lưỡi, hữu thanh, xuất hiện trong mọi
/i/,/e/,/ô/) âm tiết

g gà

21 h h hối hả phụ âm xát, vô thanh, họng, xuất hiện trong mọi âm


tiết

22 p p phụ âm tắc, hai môi, ....

23 r r phụ âm rung, ....

1.3.8.2.Âm đệm
Âm đệm có chức năng tu chỉnh âm sắc của âm tiết lúc khởi đầu, làm trầm hoá âm tiết và
khu biệt âm tiết này với âm tiết khác. Khác với âm chính luôn nằm ở đỉnh âm tiết, âm đệm nằm
ở đường cong đi lên của đỉnh âm tiết. Âm đệm không xuất hiện trước các nguyên âm tròn môi
/u,o,¿/, nó chỉ xuất hiện trước các nguyên âm hàng trước. Độ mở của âm đệm phụ thuộc vào độ
mở của các nguyên âm-âm chính đi sau.

STT Âm vị (IPA) Con chữ Ví dụ Miêu tả


1 uằ o (khi đứng trước hoa hoè, hoạ có cấu tạo giống nguyên âm
nguyên âm rộng /a, hoằn chính /u/, có độ mở hẹp, phát âm
aĂ, ô/) cực trầm, tròn môi, thuộc hàng
sau.
u (trong các trường huy, tuần,
hợp còn lại) huệ

2 Zero Có mặt sau mọi phụ âm

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 15

1.3.8.3.Âm chính
Âm chính là nguyên âm và có mặt trong mọi âm tiết qui định ăm sắc của âm tiết. Âm chính
tiếng Việt có tất cả 14 âm gồm 11 nguyên âm đon và 3 nguyên âm đôi. Âm chính âm tiết có thể
chia thành 4 nhóm:
- Nhóm nguyên âm đơn, hàng trước, không tròn môi. Âm sắc của nhóm này thường là
bổng. Có thể dài và thể ngắn. Thể ngắn có sự biến dạng ít nhiều về trường độ, âm sắc,
cường độ, phát âm căng và ngắn.
- Nhóm nguyên âm đơn, hàng sau tròn môi. Âm sắc trầm. Có thể dài và thể ngắn. Sự thể
hiện thể ngắn có cấu âm không giữ đều, rút ngắn phức hợp ???
- Nhóm nguyên âm đơn, hàng sau, không tròn môi. Âm sắc trầm vừa. Không có thể rút
ngắn phức hợp ???
- Nguyên âm đôi. phát âm yếu dần, yếu tố đầu phát âm mạnh hơn yếu tố sau, do đó âm
sắc của nguyên âm đôi là do yếu tố đầu quyết định. Nguyên âm chỉ có một thể dài và không bị
biến dạng về âm sắc và trường độ.

STT Âm vị Con chữ Ví dụ Miêu tả


(IPA)

1 i y (đứng sau âm đệm suy, nguy nguyên âm đơn dài, hàng trước, hẹp,
uằ ) không tròn môi, có tính bổng, trước /k,
ứ/ bị rút ngắn.
i (trường hợp còn tinh tích
lại)

2 e ê ênh ếch, bềnh nguyên âm đơn, dài, hàng trước, hơi


bệch hẹp, không trong môi, có tính chất bổng.
Đứng trước /k, ứ/ bị rút ngắn.

3 ô e nghe, ve, đen nguyên âm đơn, dài, hàng trước, hơi


rộng, không tròn môi, có tính chất bổng.

4 ôĂ a (đứng trước /k, ứ/) sách, xanh, nguyên âm đơn, ngắn. Gần như là thể
cảnh ngắn của /ô/

5 u u súng, vui nguyên âm đơn, dài, hàng sau, hẹp, tròn


môi, có âm sác trầm. Đứng trước /k, ứ/
bị rút ngắn.

6 o ô ô tô, lô nhô nguyên âm đơn, dài, hàng sau, hơi hẹp,


tròn môi, có âm sác trầm. Thể dài khi
không đứng trước /k, ứ/.

7 ¿ o cỏn con, trót nguyên âm đơn, dài, hàng sau, hơi rộng,
lọt tròn môi, có âm sác trầm. Thể dài khi
không đứng trước /k, ứ/.

8 ¿Ă o khi trước /k, ứ/ vòng, tóc nguyên âm đơn, ngắn. Gần như sự thể
hiện thể ngắn của /¿/

9 } ư lừ đừ, rừng nguyên âm đơn, dài, hàng sau, hẹp,


rực không tròn môi, âm sắc trầm vừa.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 16

10 { ơ lơ mơ, nơm nguyên âm đơn, dài, hàng sau, hơi hẹp,


nớp không tròn môi, có âm sắc trầm vừa.

11 {Ă â an cần, chật nguyên âm đơn, ngắn, hàng sau, hơi hẹp,


vật không tròn môi, có âm sác trầm vừa.
Xuất hiện trong mọi âm tiết trừ âm âm
tiết mở

12 a a lan can, cát nguyên âm đơn, dài , hàng sau, rộng,


không tròn môi, có âm sắc trầm vừa.
xuất hiện trong tất cả các âm tiết.

13 aĂ ă ăn năn, mặt nguyên âm đơn, ngắn , hàng sau, rộng,


không tròn môi, có âm sắc trầm vừa.
a (khi đứng trước lau tay xuất hiện trong tất cả các âm tiết trừ âm
âm cuối / uằ, iằ/ tiết mở.

14 ihe ia (khi trước không kia, thìa, bia nguyên âm đôi yếu dàn, hàng trước,
có âm đệm và sau không tròn môi, yếu tố sau là nguyên âm
không có âm cuối) hàng trước, hơi hẹp, không tròn môi.

ya (khi trước có âm khuya


đệm

iê (khi trước không tiên tiến


có âm đệm và sau
có âm cuối

yê khi trước có âm yêu, uyển


đệm hoặ sau nó ó chuyển
âm cuối là bán
nguyên âm

15 uho ua (khi sau nó mua, vua nguyên âm đôi yếu dần, hàng sau, tròn
không có âm cuối) chúa môi, yếu tố đầu là nguyên âm hàng sau,
hơi hẹp, không tròn môi.
uô (khi sau nó có muộn, tuồn,
âm cuối) tuột

16 }h{ ưa (khi không có âm mưa, vừa vừa nguyên âm đôi yếu dần, hàng sau, không
cuối) tròn môi, yếu tố đầu là nguyên âm hàng
sau, hẹp, không tròn môi. Yếu tố sau là
ươ (khi có âm cuối) ương bướng nguyên âm hàng sau, hơi hẹp, không
tròn môi.

1.3.8.4.Âm cuối
Các âm cuối tiếng Việt có đặc điểm giống nhau là không buông hay còn gọi là âm đóng (bộ
phần cấu âm tiến đến vị trí cấu âm rồi giữ nguyên vị trí đó chứ không về vị trí cũ). Do đó có sự
khác biệt lớn giữa âm [t] trong phát âm hai từ "at" và "ta". Trong khi phát âm từ "ta", lỗi thoát
của không khí được khai thông sau khi bị cản trở bằng một động tác mở ra tao thành một tiếng
động đặc thù. trong khi phát âm từ "at", bộ phận cấu âm ở nguyên vị trí cấu âm và không khí
không được thoát ra ngoài. [1].
Trong nhiều trường hợp phụ âm cuối hầu như chỉ là một khoảng im lặng. Ví dụ như âm vị
/k/ trong từ "tác". Trên dạng phổ âm vị /k/ chỉ thể hiển bởi sự biến đổi formant của âm vị /a/

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 17

theo một hướng nào đó (locus), trên đồ thị dạng sóng, âm vị /k/ chỉ thể hiện bằng một vài xung
nhỏ không rõ ràng. Do vậy âm vị /k/ được nhận diện chủ yếu làm biến đổi âm sắc của âm chính
đi ở giai đoạn cuối.
Bán nguyên âm cũng không thường xuyên được thể hiện rõ rệt mà chỉ được nhận diện bằng
việc biến đổi âm sắc của âm chính. Về mặt này thì bán nguyên âm còn có tác dụng mạnh hơn là
phụ âm cuối [1].
STT Âm vị Con chữ Ví dụ Miêu tả
(IPA)

1 p P cáp, cúp phụ âm cuối môi, ồn

2 t T suốt, cát phụ âm cuối, ồn, đầu lưỡi

3 m M xám, bom phụ âm cuối vang, mũi, môi

4 n n chân, tên phụ âm cuối vang, mũi, đầu


luỡi

5 k ch (đứng sau các âm vị thích, sạch phụ âm cuối ồn, mặt lưỡi
/i,e,ô/)

c (trường hợp còn lại) được,việc

6 ứ nh (đứng sau các âm vị mình, bánh phụ âm cuối vang, mũi, mặt
/i,e,ô/) lưỡi

ng (trường hợp còn lại) vùng,vằng, hàng


7 uằ o (đứng sau các âm vị leo cao phụ âm cuối vang, môi
/ô,a/)

u (trường hợp còn lại) kêu cứu,tiu nghỉu

8 iằ y (đứng sau nguyên âm mây bay phụ âm cuối vang, lợi


ngắn /{Ă,aĂ/)

i (trường hợp còn lại) nói, rồi, dài

Ngoài ra còn phụ âm cuối /zerô/ làm thành phụ âm cuối thứ 9 của tiếng Việt.

1.3.9. Sự phân bố và biến thể các âm vị tiếng Việt


1.3.9.1.Âm đầu
Trước các nguyên âm hàng trước, nhất là /i/ các phụ âm đều bị ngạc hoá. Trước các nguyên
âm trầm, tức là hàng sau tròn môi, và bán nguyên âm /uằ/ các phụ âm đều bị môi hoá.[1]
1.3.9.2.Âm đệm
Âm đầu /uằ/ không xuất hiện trước các nguyên âm tròn môi /u, o, ¿, uho/và hai nguyên âm
/}h{,}/.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 18

Trong lời nói, độ mở của âm đệm /uằ/ phụ thuộc vào độ mở của nguyên âm-âm chính đi sau
[2]. Ví dụ trước các nguyên âm rộng thì âm đệm được mở rộng : hoa, hoè, xoan. Trước các
nguyên âm hẹp thì âm đệm bị thu hẹp : thuỷ, tuân , huệ.
Âm đệm không xuất hiện sau các phụ âm môi /f,m,b,v/ trừ một số trường hợp phiên âm
như : phuy, khăn voan, xe buýt. Sau /n, â/ sự xuất hiện của /uằ/ cũng rất hạn chế chỉ trong các
từ sau: noãn, noa, goá. /ỹ/ cũng chỉ phân bố trước âm đệm trong một từ: roa
1.3.9.3.Âm chính
/uho/ không xuất hiện sau phụ âm đầu /f/
/ihe/ không xuất hiện sau phụ âm /â/, trừ trường hợp "iếc" hoá ???
Các nguyên âm bổng /i,e, ô, ihe/ khi kếp hợp với âm đệm /uằ/ thì không bao giờ đi với phụ
âm cuối /p,m/. Các nguyên âm /a,ă/ khi đi với âm đệm /uằ/ thì ít đi với phụ âm cuối /p,m/. Ví
dụ: quặp, quặm
Theo sau các phụ âm mũi, các nguyên âm- âm chính thường bị mũi hoá ít nhiều [2].
Sau âm đệm /uằ/, các nguyên âm bị môi hoá phần nào [2]. : ví dụ "hoa", "huệ"
Sau nguyên âm không có âm cuối thì nguyên âm bao giờ cũng ở thể dài có trường độ lớn
hơn so với nguyên âm trong âm tiết có âm cuối. Ví dụ trường độ của /a/ trong "ta" lớn hơn
trong "tan".
Sau các âm cuối /k, ứ/ thì nguyên âm bị biến dạng ở thể ngắn, trường độ, âm sắc chúng
được thể hiện ngắn đi. Ví dụ sinh, hùng, lanh, ...Có ngoài lệ là các nguyên âm /a, {/ chỉ có thể
dài và các nguyên âm /{,Ă aĂ/ chỉ có thể ngắn.
Phần lớn các nguyên âm đơn đều có hai thể: thể dài và thể ngắn. Trái lại nguyên âm đôi chỉ
có một thể dài, trước các phụ âm cuối /k, ứ/ chúng không bị biến dạng về trường độ, cường độ
và âm sắc. Âm sắc của nguyên âm đôi chủ yếu do yếu tố thứ nhất quyết định.
1.3.9.4.Âm cuối
Các âm cuối được phân bố sau các âm chính có âm sắc đổi lập. Chúng tuân theo nguyên tắc
dị hoá: xa nhau về mặt cấu âm. ví dụ như nguyên âm /uằ/ có âm sắc trầm thì chỉ phân bố sau
nguyên âm bổng và trung hoà (trừ trường hợp /{/). Bán nguyên âm /iằ/ có âm săc bổng thì được
phân bố sau nguyên âm trầm và trung hoà. [1]
Âm cuối /zêro/ không xuất hiện sau các nguyên âm ngắn: /{Ă,aĂ/.
Các âm cuối đều có hai thể, thể ngắn và thể dài. Thể ngắn xuất hiện sau các nguyên âm
luôn luôn dài /{,a,ô,¿, ihe, uho,}h{/ và thể dài xuất hiện sau các nguyên âm ngắn hoặc thể
ngắn của các nguyên âm. Sự đắp đổi giữa thể ngắn và thể dài giữa âm chính và âm cuối là để
đảm bảo tính cố định về trường độ của âm tiết. [1]
Các bán nguyên âm cuối ở thể ngắn không được phát âm với đặc điểm điển hình của nó mà
chỉ thể hiện hướng chuyến biến âm sắc ở giai đoạn kết thúc là hướng trầm. Các phụ âm ở thể
ngắn cũng bị biến dạng sau các âm chính nhưng không rõ ràng như ở thể dài.
Các phụ âm cuối /k, ứ/ ở thể dài khi kết hợp với các nguyên âm hàng trước tức là các
nguyên âm bổng /i,e, ô/thì bị ngạc hoá thành /k’, ứ '/ . Ví dụ : ích [i k’], ếch [e k’], inh [i, ứ '].
Các phụ âm cuối /k, ứ/ khi kết hợp với các nguyên âm hàng sau /u, o, ¿/ bị môi hoá rất
mạnh. Ví dụ như trong các từ : hùng hục, lông lốc, ròng rọc

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 19

1.3.9.5.Thanh điệu
Các âm tiết có âm cuối là /p,t,k/ chỉ có thanh nặng và thanh sắc.
Sau đây là bảng tổng kết sự phân bố giữa nguyên âm âm chính và các âm đệm và bán
nguyên âm cuối [2].
Âm Âm phụ Bán nguyên âm cuối
chính
/uằ/ Ví dụ /uằ/ /iằ/ Ví dụ
i + uy + - iu
e + uê + - êu
ô + oe + - eo
ihe + uyên + - yêu
u - ui - + ui
o - ôi - + ôi
¿ - oi - + oi
uho - uôi - + uôi

} - - + + ưu, ưi
{ + quơ - + -, ơi
{Ă + uân + + âu,ay
a + oa + + ao,ai
aĂ + ăn + + au,ay
}h{ - - + + ưưu,ươi

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 20

Chương II: Thu nhận và phân tích đặc trưng tiếng nói
2.1. Các phương pháp xử lý tín hiệu tiếng nói
Phần này sẽ giới thiệu hai phương pháp được sử dụng rộng rãi trong các hệ thống nhận
dạng hiện tại để tính toán các hệ số MFCC (Mel Scale Frequency Cepstral Coefficients) và hệ
số PLP (Perceptual Linear Prediction). Hai kỹ thuật xử lý tiếng nói RASTA (RelAtive
SpecTral) và CMS (Cepstral Mean Subtraction) cũng được giới thiệu. Đây là hai kỹ thuật loại
bỏ nhiễu hay được sử dụng đặc biệt là trong phát âm có nhiều nhiễu như các câu thu âm qua
điện thoại.
2.1.1. Phương pháp tính hệ số MFCC.
Tín hiệu tiếng nói

Nhấn mạnh Tạo khung tín Làm cửa sổ DFT


(pre-emphasis) hiệu (framing) (windowing)

Lọc tần số Mel


(Mel-frequency
filtering)

Tính giá trị delta Chỉnh giá trị DCT Logarit giá trị
MFCC cepstral năng lượng

Hệ số delta MFCC Hệ số MFCC

Hình 2.1 miêu tả các bước tính toán hệ số MFCC:


1) Nhấn mạnh tín hiệu (pre-emphasis). Trong bước xử lý đầu tiên này, tín hiệu được đưa
qua một bộ lọc số:
1
H pre ( z) 1 a pre z
Trong đó a pre là hệ số nhấn mạnh, thường có giá trị là 0,9700002861. Bộ lọc có tác dụng
tăng cường tín hiệu tại tần số cao (trên 1KHz) với hai lý do chính:
Giọng nói có sự suy giảm khoảng 20dB/decade khi lên tần số cao do đặc điểm sinh lý của
hệ thống phát âm của con người. Bước xử lý này sẽ tăng cường tín hiệu lên một giá trị gần
20dB/decade để khắc phục sự suy giảm này. Hệ thống thính giác của con người nhạy cảm hơn
với vùng tần số cao, bước xử lý này nhấn mạnh vùng tần số cao, trợ giúp cho quá trình mô hình
hoá âm thanh sau này của hệ thống nhận dạng.
2) Tạo khung tín hiệu (framing). Tín hiệu tiếng nói luôn luôn biến thiên theo thời gian, tuy
nhiên trong khoảng thời gian khoảng 10-20ms, tín hiệu tiếng nói được coi là tương đối ổn
định. Do đó tín hiệu thường được chia thành các khung kích thước 20-30ms với vùng gối lên
nhau khoảng 10-15 ms.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 21

3) Làm cửa sổ (frame windowing). Cửa sổ Hamming thường được áp dụng cho mỗi khung
tín hiệu để giảm sự tác động của việc chia khung tín hiệu:
2 ( n 1)
sn' {0.54 0.46cos( )}sn
N 1
Trong đó N là số mẫu dữ liệu (sample) của cửa sổ.
4) DFT (Discrete Fourier Transform). Tại bước này với mỗi khung tín hiệu, biến đổi
Fourier được áp dụng để chuyển tín hiệu về miền tần số. Công việc tính toán được thực hiện
bằng thuật toán FFT (Fast Fourier Transform).
5) Lọc theo thang tần số Mel (Mel-frequency bandpass filter). Các bộ lọc số được áp dụng
để lọc các tín hiệu theo các giải tần số khác nhau.
Phản ứng của tai người với các thành phần của tần số là không tuyến tính. Sự khác nhau về
tần số ở vùng tần số thấp (<1KHz) dễ được nhận biết bởi con người hơn là ở vùng tần số cao.
Lọc theo thang tần số Mel mô phỏng tính chất này bằng cách dùng các bộ lọc được phân bố
theo một hàm phi tuyến trong khoảng không gian tần số, thông thường là hàm Mel:
f
Mel ( f ) 2595log10 (1 )
700
6) Logarit giá trị năng lượng (logarit of filter energies). Các giá trị năng lượng thu được tại
mỗi kênh lọc được lấy logarit để “nén” các giá trị này vào một miền giá trị hẹp hơn.
7) DCT (Discrete Cosin Transform).
Do giọng nói phát âm bởi con người có phổ khá trơn (smooth) trên miền tần số, do vậy các
giá trị năng lượng của các bộ lọc gần nhau có sự tương quan (correlated) khá gần. Bước xử lý
này biến đổi các giá trị năng lượng thành các hệ số ít tương quan với nhau hơn, các hệ số này
được gọi là hệ số cepstral.
N
i
ci m j cos( ( j 0.5))
j 1 N
Trong đó N là số kênh lọc, mj là giá trị logarit năng lượng của mạch lọc thứ j, i là bậc của hệ
số cepstral.
8) Chỉnh các giá trị cepstral. Giá trị cepstral bậc cao thường có giá trị rất thấp, so với các
giá trị cepstral bậc thấp. Sự khác biệt này gây khó khăn cho việc mô hình hoá dữ liệu, ví dụ
như khi sử dụng các hàm mật độ xác suất Gauss. Do đó các hệ số cepstral được điều chỉnh lại
(re-scaled) theo công thức:
cn exp(n * k )cn
Sau bước hiệu chỉnh này ta thu được các giá trị MFCC.
9) Tính giá trị delta MFCC. Các giá trị delta của các hệ số MFCC được tính toán nhằm
phản ánh sự biến thiên tiếng nói theo thời gian. Các giá trị delta được tính toán dựa trên các
giá trị MFCC của các khung tín hiệu lân cận:

1
(ct ct )
dt 2
2 1

Trong đó là số khung tín hiệu lân cận được dùng (thông thường là 2).

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 22

Ngoài ra giá trị delta của delta (hay còn gọi là acceleration) cũng có thể được tính toán từ các
giá trị delta dùng cùng một công thức như trên.
2.1.2. Phương pháp tính hệ số PLP
Tiếng nói

FFT Tín hiệu


Lọc tần sốtiếng nói
Bark Nhấn mạnh dùng hàm
(Bark frequency Equal-loudness
filter)

Luật cường độ nghe


(power law of hearing)

Tính các giá trị delta Thuật toán Durbin Biến đổi Fourier ng-
ược (inverse DFT)

Hệ số PLP

Hình 2.2. Các bước xử lý của phương pháp tính toán hệ số PLP
Phương pháp PLP được phát triển dựa trên phương pháp mã dự báo tuyến tính LPC (Linear
Prediction Coding).
Phương pháp LPC hay còn gọi là mô hình hoá tự hồi qui (autoregression modeling) là ph-
ương pháp mô hình hoá tín hiệu bằng sự kết hợp tuyến tính các mẫu tín hiệu trước đó:
N
s( n ) a(i )s( n 1) e( n )
i 1

trong đó N là số hệ số hay là bậc của dự báo, các a(i) là các hệ số dự báo tuyến tính (linear
prediction coefficients), e(n) là hàm lỗi.
Các hệ số a(i) được chọn để làm cực tiểu hàm lỗi dự báo trung bình bình phương. Có một
vài phương pháp để tính các hệ số này: phương pháp dùng ma trận hiệp phương sai (covariance
matrix), phương pháp tự tương quan (auto-correlation method), phương pháp lưới hay còn gọi
là phương pháp điều hoà (lattice or harmonic). Phương pháp hay được áp dụng nhất trong nhận
dạng tiếng nói là phương pháp tự tương quan dùng thuật toán đệ qui Levinson-Durbin.
Thuật toán Levinson-Durbin như sau:
Tính p+1 các hệ số tự tương quan đầu tiên (p là bậc của dự báo tuyến tính) bằng công thức
sau:
N i
ri s js j i
j 1

Trong đó s(n) là tín hiệu trong cửa sổ, N là số lượng mẫu trong cửa sổ.
Các hệ số sau đó được tính toán đệ qui như sau:
E (0) r0

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 23

i 1
[ri a(ji 1) ri j ]
j
ki
E (i 1)
trong đó 1 i p

ai(i ) ki
aj aij 1 ki * aii 1j , với 1 j i 1
E (i ) (1 ki2 ) E ( i 1)

Các bước trên được tính toán lặp với i=1,2,...p. Cuối cùng ta thu được các hệ số:
aj a(j p ) với 1 j p
Phương pháp tính các hệ số PLP dựa vào phương pháp LPC. Hình 2.2 miêu tả các bước xử
lý tính toán hệ số PLP:
1) FFT. Tương tự như phương pháp MFCC, tín hiệu tiếng nói được chia thành các khung
tín hiệu và được biến đổi Fourier sang miền tần số bằng thuật toán FFT.
2) Lọc theo thang tần số Bark. Tương tự như phương pháp tính MFCC, tín hiệu tiếng nói
được lọc qua các bộ lọc phân bố theo thang tần số phi tuyến, trong trường hợp này là thang
tần số Bark:
f f 2
Bark( f ) 6 ln{ [( ) 1]0.5 }
1200 1200
3) Nhấn mạnh tín hiệu dùng hàm equal-loudness. Bước xử lý này tương tự như bư-
ớc nhấn mạnh pre-emphasis của phương pháp MFCC. Hàm này mô phỏng đường
cong cân bằng độ ồn (equal-loudness curve).
2
( 56,8 *106 ) 4
E( ) 2 6 2
( 6,3*10 )( 0,38 *109 )( 6 9,58 *10 26 )
4) Dùng luật cường độ nghe (power law of hearing). Bước xử lý này giống như
bước lấy giá trị logarit trong phương pháp MFCC. Hàm căn lập phương được sử dụng
để “nén” các giá trị năng lượng.
(f) ( f )0,33
5) Biến đổi Fourier ngược (inverse DFT). Các hệ số tự tương quan được biến đổi
Fourier ngược để sau đó dùng làm giá trị đầu vào cho phương pháp LPC.
6) Thuật toán Durbin được sử dụng để tính toán các hệ số dự báo tuyến tính giống
như trong phương pháp LPC.
7) Tính các giá trị delta. Phương pháp tính tương tự như phương pháp tính hệ số
MFCC.
2.2. Các đơn vị xử lý tiếng nói
2.2.1. Tần số lấy mẫu
Quá trình lấy mẫu tạo ra tín hiệu rời rạc hoặc tín hiệu số từ tín hiệu tín hiệu tương tự. Tần
số lấy mẫu là số lần lấy mẫu được tính trong một đơn vị thời gian, thông thường là giây. Tần số
lấy mẫu ký hiệu là Fs

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 24

Khoảng thời gian mà quá trình lấy mẫu được lặp lại gọi là chu kỳ lấy mẫu.
Ví dụ: Fs = 11025Hz nghĩa là 1s ta thu được 11025 mẫu và 1ms thu được 11025/1000 11
mẫu.
Số bit lưu một mẫu có thể là 8 hoặc 16 bit.
2.2.2. Nhiễu
Nhiễu đối với hệ thống là loại âm thanh không phải tiếng nói sinh ra trong môi trường xung
quanh ta. Ngay cả bộ phát âm của con người cũng sinh ra nhiễu, chẳng hạn như tiếng thở, tiếng
bật lưỡi, tiếng chép miệng cả khi môi chạm vào micro, … Không dễ gì có thể lọc được mọi thứ
nhiễu, ta chỉ tìm cách tối thiểu hoá chúng để có thể nâng cao chất lượng của hệ thống nhận
dạng.
s ~
s
Với tín hiệu tiếng nói là n , tín hiệu nhận được sau quá trình thu sẽ được ký hiệu là n .
~
sn s n chính là tín hiệu nền.
Như vậy:
Độ nhiễu của tín hiệu được xác định thông qua năng lượng đo được của tín hiệu:
N
sn2
n 0
E 10 log 10
N 2
~
sn sn
n 0 (Đơn vị năng lượng tính bằng dB)
~
s s
Như vậy nếu năng lượng E càng lớn thì n gần với n , tín hiệu nền có giá trị gần về 0. N
ếu E thì tín hiệu thu được là tín hiệu sạch, không có nhiễu.
2.2.3. Tần số cơ bản
Một âm thanh có thể là tổ hợp của nhiều tần số, tần số chính bao trùm trong âm được gọi là
tần số cơ bản. Trong tiếng nói tần số cơ bản là đáp ứng của sự rung động các dây thanh âm, tần
số cơ bản thường được ký hiệu là F0.
Tần số cơ bản có giá trị phụ thuộc vào tần số lấy mẫu và khoảng cách a, là khoảng cách
giữa hai đỉnh của các sóng âm tuần hoàn.
Đơn vị của tần số là Hertz, ký hiệu là Hz. Mỗi Hz bằng một dao động/một giây. Và 1 KHz
sẽ bằng 1000 Hz. (Xem biểu diễn đường F0 của một số thanh điệu ở phần phụ lục).
2.2.4. Formant
Formant là dải tần số được tăng cường do hiện tượng cộng hưởng trong ống dẫn thanh, đặc
trưng cho âm sắc của mỗi nguyên âm. Trong mỗi dải tần như thế có một tần số được tăng
cường hơn cả gọi là đỉnh formant.
Một nguyên âm do một người phát ra có nhiều formant:
- F1: ứng với cộng hưởng vùng yết hầu
- F2: ứng với cộng hưởng khoang miệng
Khi ta nói các âm mũi sẽ có sự xuất hiện của formant F3, các formant khác F4, F5,…liên
quan đến các đặc trưng giọng nói riêng của mỗi cá nhân. Mỗi lần môi, lưỡi, hàm ở những vị trí
khác nhau là một lần hộp cộng hưởng miệng và yết hầu thay đổi hình dáng, thể tích, lối thoát
của không khí làm biến đổi âm sắc của âm thanh đi qua chúng. Chính vì vậy hai khoang miệng

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 25

và yết hầu là hai hộp cộng hưởng quan trọng nhất, chúng tạo nên hai formant chính formant F1
và F2 đặc trưng của mỗi nguyên âm.

2.3. Định dạng âm thanh


Có nhiều chuẩn lưu trữ âm thanh số (AU, VOC, WAVE, AIFF, AIFF-C và IFF/8VX),
nhưng kết quả thực tế cho thấy rằng tập đoàn của Microsoft sử dụng các file wave trong hệ
thống điều hành windows, chúng đã trở thành chuẩn sử dụng phổ biến nhất.
Âm thanh được xử lý ở dạng PCM, tập tin được lưu lại trên bộ nhớ dưới dạng file. Wave.
Thông thường, các file WAVE PCM có cấu trúc như sau:
Các khối dữ liệu riêng biệt (còn gọi là các chunk), được thể hiện bằng cấu trúc hình cây cơ
bản.
Mỗi chunk bao gồm hai phần cơ bản là header và data.
Khối đầu tiên, cũng là phần chính của bất kỳ file RIFF nào là khối RIFF, nó giống như gốc
của một cây.
12 bytes 24 bytes 8 + ??? bytes

Header IFF Block “int” Block “data”

RIFF_ID FMT_ID DATA_ID

RIFF SIZE FMT_SIZE DATA_SIZE

RIFF_FORMAT FMT_FORMAT DATA_DATA

File bắt đầu với phần header RIFF, sau nó là hai khối con được định nghĩa FMT và DATA.
RIFF bao gồm ba phần tử: RIFF_ID, RIFF_SIZE và RIFF_FORMAT.
2.4. Thu tín hiệu âm thanh trong thời gian thực
Tín hiệu tiếng nói trước khi trở thành dữ liệu tiếng nói phải trải qua một quá trình xử lý, quá
trình này được gọi là tiền xử lý tín hiệu.
Hệ thống máy tính hiện tại chỉ hỗ trợ cho ta thu tĩnh. Mỗi lần chỉ thu được trong một
khoảng thời gian khá nhỏ (vì dãy tín hiệu số phát sinh quá lớn sẽ nhanh chóng lấp đầy phần
không gian lưu trữ). Nếu người sử dụng nói vào thời điểm hàm thu kết thúc thì dữ liệu sẽ bị
mất mát, do đặc trưng của tín hiệu tiếng nói các hệ thống thiết kế tốt cũng có thể không phát
hiện được, vẫn thực hiện và cho ra kết quả khi dữ liệu đầu vào đã sai.
Cách giải quyết chủ yếu dựa vào một số thủ thuật lập trình, cơ chế hoạt động của hệ điều
hành và cơ chế của hàm thu tín hiệu âm thanh. Tư tưởng chính là làm một hàng đợi vòng, xử lý
kịp thời để không bao giờ bị hết không gian lưu trữ, kết hợp với việc sử dụng cơ chế đa luồng
của hệ điều hành để vẫn có thể thực hiện được đồng thời các ứng dụng khác. Cách thực hiện cụ
thể như sau:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 26

- Xin cấp phát M vùng đệm (buffer), mỗi vùng đệm có kích thước 3N và đưa vào hàng đợi
(N là kích thước của một frame). Tạo một luồng (thread) làm những việc chính sau:
- Kiểm tra cờ điều khiển (semaphore), nếu cờ tắt thì dừng (return).
- Gọi hàm thu và chờ thu hết vùng đệm (hiện hành) (Khi này vùng đệm bị loại ra khỏi hàng
đợi).
- Tính năng lượng của ba frame trên vùng đệm, nếu năng lượng frame đầu lớn hơn ngưỡng
dữ liệu thì quay lại bước một (trạng thái đang có âm thanh khi gọi hàm thu-không thu
được trọn vẹn dữ liệu).
- Đưa vùng đệm vào hàng đợi.
- Tăng chỉ số vùng đệm hiện hành lên một.
- Chờ thu hết vùng đệm.
- Với mỗi frame của vùng đệm tính tổng năng lượng của nó và hai frame kế trước (có thể là
của vùng đệm trước- để đảm bảo tính liên tục).
- Nếu tổng năng lượng vừa tính lớn hơn ngưỡng im lặng thì chép frame vào vùng đệm
chính, cập nhật lại kích thước vùng đệm chính và bật cờ có dữ liệu.Ngược lại, nếu cờ có
dữ liệu bật: cập nhật lại kích thước đoạn im lặng.
- Nếu kích thước đoạn im lặng nhỏ hơn thời gian ngừng tối đa giữa hai tiếng: Quay lại bước
5.
Ta có thể chọn kích thước frame là 220 ms, thời gian ngừng tối đa giữa hai tiếng là 750 ms.
2.5. Xác định giá trị hằng-ngưỡng theo môi trường tín hiệu
2.5.1. Thông số ngưỡng zero:
Bản chất âm thanh là sự dao động, khi số hoá các mẫu dữ liệu âm thanh về miền giá trị
0..N-1 thì mẫu âm thanh im lặng (không có âm thanh) sẽ có giá trị là N/2, giá trị này gọi là
ngưỡng zero. Ví dụ nếu kích thước mỗi mẫu tín hiệu số là 8 bit thì giá trị của ngưỡng zero là
128, các mẫu tín hiệu âm thanh số sẽ có giá trị dao động xung quanh ngưỡng này.
Trên thực tế các thiết bị số hoá âm thanh của máy tính (sound card) có thể bị sai ngưỡng
zero (sound card mà người viết đang dùng có ngưỡng zero là 112-mẫu 8 bit). Nếu hệ thống
chương trình sử dụng ngưỡng zero tương ứng của thiết bị thì dữ liệu nhận được vẫn là dữ liệu
tốt. Còn nếu vẫn dùng ngưỡng như trên thì kết quả nhận dạng có thể sai trầm trọng.
Thuật toán phương pháp xác định ngưỡng zero:
- Lấy thu của sound card.
- Đặt mức thu ở giá trị thấp nhất (tín hiệu thu được là nhỏ nhất).
- Thu một đoạn dữ liệu ngắn (khoảng 3 giây).
- Tính "histogram" H (H[k] là số mẫu có giá trị biên độ k).
- Tìm trong dãy H phần tử H[max] có giá trị lớn nhất. Ngưỡng zero chính là max.
- Phục hồi lại mức thu ban đầu.
2.5.2. Thông số độ ồn nhiễu:
Cách xác định: Thông báo yêu cầu người sử dụng đừng nói gì trong ba giây và thu tín hiệu
trong thời gian đó để lấy tiếng ồn nhiễu của môi trường xung quanh. Ngưỡng im lặng được xác

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 27

định là năng lượng cao nhất của các frame. Ngoài ra có thể dùng biến đổi Fourier để tính ra các
tần số nhiễu phục vụ cho việc lọc nhiễu.
2.6. Lọc nhiễu
Hiện tại việc lọc nhiễu của hệ thống được thực hiện theo phương pháp kinh điển là dùng
phép biến đổi Fourier với thuật toán FFT. Dùng biến đổi Fourier thuận xác định được các tần
số tham gia và loại đi tất cả tần số không thuộc phạm vi tiếng nói (nếu biết được phạm vi tần số
của đúng người sử dụng thì kết quả lọc sẽ càng cao hơn) bằng cách cho các hệ số tương ứng giá
trị zero sau đó biến đổi ngược lại.
2.7. Xác định dãy tín hiệu số có chứa dữ liệu tiếng nói và xác định các điểm
đầu-cuối của tiếng.
Dữ liệu thu được không phải lúc nào cũng là tiếng nói, nhất là khi thu động dữ liệu sẽ
thường xuyên là khoảng lặng và nhiễu. Vì hệ thống nhận dạng được thiết kế theo hình thức so
khớp tìm ra mẫu giống nhất nên dù dữ liệu thu được không phải là tiếng nói mà được đưa vào
thì hệ thống vẫn gán đó là một trong các tiếng đã học mẫu dẫn đến sai hoàn toàn.
Trong mọi đoạn tín hiệu, dù có tiếng nói hoặc không có tiếng nói, thì luôn luôn có âm nền.
Khác biệt chủ yếu khi có tiếng nói là âm thanh tiếng nói sẽ là âm thanh chính. Ta có thể đưa ra
phương pháp sau:
Chia đều dãy tín hiệu số thành các frame với kích thước từ 5-10 ms (có thể căn cứ vào tần
số cơ bản trung bình của người đang nói để chọn giá trị phù hợp nhất).
Phân chia tín hiệu thành các Frame
Sau đó kiểm tra tính chứa tiếng nói của các frame bằng cách đếm số điểm zero hoặc tính
năng lượng ngắn hạn của frame có vượt qua ngưỡng.
Nếu tổng kích thước các frame liên tiếp được xác định có tính chứa tiếng nói lớn hơn 150
ms thì có thể xem là có chứa tiếng nói.
Nếu người nói nói rời rạc từng tiếng một và môi trường không bị ồn thì ở bước xác định
dãy tín hiệu số có chứa dữ liệu tiếng nói hay không ta cũng đã xác định được các điểm biên của
tiếng vì tại đó sẽ có các khoảng lặng. Nhưng người ta có thể nói hơi chậm chứ không quen nói
nhát gừng từng tiếng một và môi trường xung quanh cũng hoàn toàn có thể có nhiễu. Khi đó
giữa hai tiếng có thể không có khoảng lặng - Tức chúng bị dính nhau (thường hiện tượng này
chỉ xảy ra giữa hai tiếng chứ ít có ba tiếng dính nhau). Lúc này bước trên sẽ cho kết quả chỉ là
một tiếng mà ta đưa luôn cho hệ thống nhận dạng thì trước mắt sẽ có một tiếng bị nhận sai
(không có kết quả), và tiếng còn lại cũng nhiều khả năng sai. Như vậy bước này cũng là cần
thiết nếu muốn hệ thống hoạt động cho chính xác.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 28

Frame i Frame i=+1

Cöa sæ i

Cöa sæ i+1

Dl chia sÎ Dl míi

Nếu các tiếng được nói rõ ràng thì chiều dài của mỗi tiếng không dao động nhiều. Do đó ta
có thể yêu cầu người nói rời rạc một số tiếng rồi đo chiều dài nhỏ nhất L1 và lớn nhất LS các
tiếng của người đó. Khi nhận được đoạn dữ liệu có chiều dài lớn hơn LS, tức đang có hai tiếng
dính nhau, ta sẽ tìm frame trong đoạn [L1..LS] có năng lượng nhỏ nhất và điểm biên giữa hai
tiếng được chọn là điểm giữa của frame.
2.8. Chuẩn hoá biên độ
Dữ liệu tiếng nói khi thu được có biên độ rất biến động. Ngay cả khi người sử dụng nói với
một âm lượng rất chuẩn không hề thay đổi thì biên độ của dữ liệu thu được cũng vẫn có thể
không ổn định. Điều này dễ dàng xảy ra khi người nói hơi xoay mặt đi, nhích micro đến gần
miệng hơn hoặc kéo ra xa hơn chỉ vài cm. Sự biến động này ảnh hưởng đến kết quả nhận dạng.
Việc chuẩn hoá là cần nhưng không nhất thiết phải thật tốt, chỉ cần biên độ đừng nhỏ quá
làm mất mát đặc trưng. Như vậy ta có thể thực hiện đơn giản bằng cách nhân mỗi điểm với một
hệ số k thích hợp.
Ví dụ:
32767 / 2 100
k
max s n
Nhận dạng tiếng nói là mô hình phức tạp theo nhiều mức khác nhau. Tín hiệu tiếng nói
được phân tách ra thành từ, các cụm từ hay câu. Tiếp theo chúng được phân tích dựa vào cú
pháp của ngôn ngữ cần nhận dạng, được biến đổi và nén lại để đơn giản cho việc xử lý tiếp
theo.
Khi xử lý tín hiệu tiếng nói ta phải rời rạc hoá nó theo thời gian, sử dụng biến đổi FFT để
ước lượng các thành phần tần số của tín hiệu rời rạc, tách lọc các thành phần cần thiết trước khi
nhận dạng.
2.8.1. Biến đổi FFT
Phép biến đổi nhanh FFT không phải là một phép biến đổi mới nó thực chất là DFT nhưng
được thực hiện với một thuật toán nhanh, gọn. Đây là thuật toán đóng vai trò hết sức quan trọng
trong việc phân tích, thiết kế và xử lý tín hiệu.
Thuật toán biến đổi nhanh FFT cho N mẫu {x(n)} là:
Phép biến đổi thuận:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 29

N 1
j 2 kn / N
xk xne
k 0
Phép biến đổi ngược:

1
xn X k e j2 kn / N
N
Với n = 0, 1, …, N-1

Trong đó: xn an bn 1
Phép biến đổi FFT bảo toàn tính tuyến tính bất biến, tuần hoàn và tính trễ.

Sau khi qua quá trình biến đổi FFT chúng ta thu được phổ của các tín hiệu tiếng nói.

2.8.2. Làm rõ tín hiệu và cửa sổ hoá


Nhằm làm nổi bật đặc trưng phổ của tín hiệu. Thông thường bộ làm rõ tín hiệu là một bộ
lọc thông cao với phương trình sai phân là:
~
s n sn as n 1
Trong đó 0.9 a 1. Có thể chọn a = 0.95
Bước tiếp theo trong xử lý là cửa sổ hoá mỗi frame để làm giảm thiểu sự gián đoạn tín hiệu
ở đầu và cuối mỗi frame. Tập {x(n)} là các giá trị hạn chế của các trường đoạn của tín hiệu,
nếu chúng ta định nghĩa cửa sổ là w(n), N là số mẫu cho mỗi khung thì kết quả cửa sổ hoá tín
hiệu sẽ là:
~
x n x n .w n 0 n N 1
Trong tín hiệu tiếng nói người ta thường dùng cửa sổ Hamming
2 n
w(n) 0.54 0.46 cos
N 1 ,0 n N 1
Hàm Hamming suy rộng:
2
wH k wk 1 cos k 0 1
N
Cửa sổ Hamming: 0.54

2.8.3. Định lý lấy mẫu


Định lý Shannon: Tần số lấy mẫu phải tối thiểu là lớn hơn hai lần tần số lớn nhất của tín
hiệu
Sau khi áp dụng biến đổi FFT trên đoạn tín hiệu ngắn, dưới đây là một số ví dụ về Phổ
tiếng nói mà ta thu được.

Tiếng nói hữu thanh (voiced)

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 30

Tiếng nói vô thanh (unvoiced)

2.8.4. Phổ dẹt của tiếng nói


Mỗi frame sau khi được lấy cửa sổ sẽ được đưa qua bước phân tích tự tương quan và cho ra
(p + 1) hệ số tự tương quan:
n 1 m
r1 m ~
x1 n ~
x1 n m
n 0 m = 0, 1, 2…, p
Trong đó giá trị tự tương quan cao nhất, p, được gọi là cấp của phân tích LPC. Người ta
thường sử dụng các giá trị p từ 8 đến 16.
2.8.5. Biễu diển tiếng nói theo mô hình LPC và các hệ số dự báo tuyến tính
Mô hình LPC được sử dụng để trích lọc các thông tin đặc trưng của tín hiệu, kết quả của
quá trình phân tích tín hiệu thu được một chuỗi các khung tiếng nói, các khung này có thể được
gia công thêm và mục đích sử dụng cho việc phân tích âm học.
Các tín hiệu được trích rút theo hình thức xử lý tín hiệu số bình thường, toàn dãy dữ liệu
được chia thành các frame và dùng LPC phân tích thành các vector với số phần tử ít hơn hẳn.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 31

Hình 2.2: Trích đặc trưng tiếng nói với LPC


Các bước cơ bản trong tiến trình xử lý như sau:

sn Lµm râ ~
s n Ph©n ®o¹n x1 n LÊy cöa ~
x1 n Ph©n tÝch tù rm t
tÝn hiÖu frame sæ t-¬ng quan

c~m t LÊy ®¹o §Æt träng cm t ChuyÓn sang am t Ph©n tÝch


hµm sè cepstral LPC

cˆm t

Hình 2.3: Sơ đồ bộ xử lý LPC dùng cho trích đặc trưng tiếng nói
Dự báo tuyến tính:
Phân tích dự báo tuyến tính có nghĩa là một mẫu tiếng nói có thể được xấp xỉ như là tổ hợp tuyến
tính của các mẫu trước đó. Bằng việc tối thiểu hoá tổng của các bình phương sai số giữa các mẫu
hiện tại và các mẫu dự đoán tuyến tính ta có thể xác định được một tập duy nhất các hệ số dự
báo. Các hệ số dự báo này chính là các trọng số được sử dụng trong tổ hợp tuyến tính.
Chúng ta định nghĩa dãy tín hiệu tiếng nói bằng hàm s(n), giá trị dự báo:
P
~
s n ks n k
k 1

Các hệ số k đặc trưng cho hệ thống.


Lỗi dự báo được tính theo công thức:
P
en sn ~
s n sn ks n k
k 1
Muốn cực tiểu hoá các lỗi xảy ra cần phải chọn giá trì phù hợp nhất, tối ưu nhất đối với tập giá
trị k . Chính vì tín hiệu tiếng nói thay đổi theo thời gian nên các hệ số dự báo phải được ước
lượng từ một đoạn ngắn tín hiệu. Phương pháp tiếp cận cơ bản là tìm một tập các hệ số dự báo để
tối thiểu hoá sai số trung bình trên một đoạn ngắn tín hiệu tiếng nói.
Công thức tính lỗi dự báo trong một thời gian ngắn:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 32

P 2
2
En en n sn m k sn m k
m m k 1 (*)
2
P P
sn2 m 2s n m k sn m k k sn m k
m m k 1 m k 1
P P 2
sn2 m 2 k sn m sn m k k sn m k
m m k 1 m k 1
Trong đó sn(m) là một đoạn tín hiệu tiếng nói được chọn ở lân cận của mẫu thứ n, nghĩa là:
sn m s ( n m)
Chúng ta có thể tìm được các giá trị k để tối thiểu hoá En trong phương trình bằng cách đặt
En i 0 , với i = 1, 2, …, P.
E P
0 2sn m sn m i 2 k sn m k sn m i
i m m k 1
Từ đó nhận được phương trình:
P
sn m i sn m k sn m i sn m k
m k 1 m 1 i P (**)
Nếu chúng ta đặt:
n i, k sn m i sn m k
m (***)
Thì phương trình (**) có thể được viết gọn hơn:
P
n i,0 k n i, k
k 1 i 1, 2, , P (****)
Giải hệ P phương trình này ta sẽ tìm được P ẩn k . Tập các hệ số k sẽ tối thiểu sai số
trung bình bình phương dự đoán cho đoạn tín hiệu Sn(m). Sử dụng phương trình (*) và (**) sai
số dự đoán trung bình bình phương tối thiểu sẽ là:
P
En sn2 m k sn m sn m k
m k 1 m
Sử dụng phương trình (****) ta có thể biểu diễn En như sau:
P
En n 0,0 k n 0, k
k 1 (*****)
Về nguyên tắc phân tích dự đoán tuyến tính rất dễ hiểu. Nhưng việc tính toán n và nghiệm
i, k
của hệ phương trình là khá rắc rối. Phương pháp thông dụng để áp dụng giải các phương trình là
phương pháp tự tương quan.
Chúng ta giả sử đoạn tín hiệu sn(m) = 0 ngoài khoảng 0 m N 1 . Điều này có thể được biểu
diễn như sau:
sn m sm nwm
Trong đó w(m) là cửa sổ có chiều dài hữu hạn (thường hay dùng cửa sổ Hamming. w(m) khác
không trong khoảng 0 m N 1 . Do đó sai số dự đoán en(m) cho bộ dự đoán bậc p sẽ khác
không trong khoảng 0 m N 1 p . Vì vậy En có dạng sau:
N p 1
En en2 m
m 0

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 33

Từ đó công thức (***) trở thành:


N p 1
1 i p
n i, k sn m i sn m k
m 0 0 k p
N 1 i k
1 i p
n i, k sn m sn m i k
m 0 0 k p
Gọi Rn(k) là hàm tự tương quan có dạng:
N 1 k
Rn k sn m sn m k
m 0
Thì ta có:
n i, k Rn i k
Vì Rn(k) là hàm chẵn nên ta có thể viết:
i 1, 2,..., p
n i, k Rn i k k 0, 1, 2,..., p
Do đó phương trình (****) có thể được viết thành:
p
k Rn i k Rn i
k 1
Hệ phương trình này còn có thể được viết dưới dạng ma trận như sau:
1
R r
Ở đó:
1 r0 r1  r p 1 r1
2 r1 r0  r p 2 r2
R r
     
P r p 1 r p 2  r0 r P
Chú ý rằng R là ma trận đối xứng, tất cả các phần tử thuộc đường chéo của ma trận này đều có
giá trị bằng nhau, điều đó có nghĩa là: (1) Nghịch đảo của nó luôn tồn tại; (2) các nghiệm của nó
nằm ở phía trái của phương trình.
Tương tự như vậy sai số trung bình bình phương tối thiểu của phương trình (*****) sẽ có dạng:
p
En Rn 0 k Rn k
k 1

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 34

Chương III: Các mô hình cho nhận dạng tiếng nói


3.1. Phương pháp VQ
3.1.1. Khái niệm phép lượng tử hoá
VQ là một bộ xấp xỉ hóa.

Hình 3.1: Ví dụ VQ 1 chiều.


Ở hình trên mọi số nhỏ hơn -2 đều được xấp xỉ thành -3. Mọi số nằm giữa -2 và 0 được xấp
xỉ thành -1. Mọi số nằm giữa 0 và 2 được xấp xỉ thành 1. Mọi số lớn hơn 2 được xấp xỉ thành 3.

Hình 3.2: Ví dụ VQ 2 chiều


Ở hình trên mọi điểm nằm trong 1 phân vùng được xấp xỉ bằng điểm hình * tương ứng với
phân vùng đó.
Theo định nghĩa toán học, việc lượng tử hoá vector k chiều hay VQ bao gồm hai ánh xạ:
quá trình mã hoá thực hiện bằng hàm y, với mỗi vector đầu vào x = {x0,x1,…,xk-1} ta có hàm
mã hoá là y(x), M là ký hiệu của một tập các kênh, và một bộ giải mã gán cho mỗi ký hiệu
kênh v trong M một giá trị trong bảng chữ cái. Ví dụ: M có thể là một tập 2R (hệ nhị phân)
vector R chiều. Bảng chữ cái phát lại có tương tự khoảng trống của các vector đầu vào, đặc biệt
nó có thể có một vector thực với một chiều khác nhau.
Nếu M có M phần tử, nếu số lượng R = log2M thì được gọi là tỉ lệ số bit cho mỗi vector
trong bộ lượng tử hoá và r = R/k là tỉ lệ số bit cho một biểu tượng, khi đầu vào là dạng sóng đã
được lấy mẫu thì đó là số bit cho một mẫu.
3.1.2. Độ biến dạng

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 35

Độ biến dạng d ký hiệu d x, xˆ giữa vector đầu vào x và vector x̂ . Cho một giá trị của độ
biến dạng, chúng ta có thể xác định chất lượng thực hiện của hệ thống bằng độ biến dạng trung
ˆ
bình Ed X , X giữa vector đầu vào và vector được phát: Một hệ thống được đánh giá tốt nếu
như giá trị trung bình độ biến dạng nhỏ. Trên thực tế, giá trị trung bình được quan tâm là giá trị
trung bình giới hạn độ dài mẫu hoặc trung bình thời gian thực hiện, dĩ nhiên điều này được
đánh giá bằng trực giác.
k 1
2 2
d x, x x x xi xˆi
i 0

(6.1)
k: Số chiều của VQ
Tính chất 1:
Với mục đích cực tiểu hoá trung bình độ biến dạng, cho một bộ giải mã , không có bộ mã
hoá lượng tử nào tốt hơn chọn các từ mã v trong M, nó sẽ cung cấp độ biến dạng nhỏ nhất có
thể ở đầu ra, giá trị cực tiểu trên kênh v là:
d x, y x min d x, v min d x, y
v M y C
(6.2)
Bộ giải mã cho quá trình lượng tử hoá vector tốt nhất khi bộ mã hoá có độ biến dạng nhỏ
nhất.
1
yx min d x, v
v M (6.3)
Ngược lại biết v chúng ta sẽ tìm ra được giá trị cực tiểu ở công thức (6.3).
3.1.3. Tính chất:
Tính chất 2:
Đối với bộ mã hoá y, không có bộ giải mã nào tốt hơn việc gán mỗi kênh v một ceintroid
chung của tất cả các vector nguồn mã hoá thành v, đó là:
1
v cent v min E d X , xˆ | y X v
x Aˆ (6.4)
1
cent v xi
iv xi | y xi
v
Thường là:
Ở đó: i(v) là số của chỉ số i sao cho y(xi) = v.

3.1.4. Thiết kế codebook theo phương pháp LBG


Vấn đề thiết kế:
Tìm hiểu về cách thiết kế VQ có thể được bắt đầu như sau. Cho một vector nguồn với các
thuộc tính đã biết, cho một khoảng cách (độ sai lệch), và cho số lượng codevector , tìm một
codebook (tập gồm các ngôi sao màu đỏ) và cách phân chia (Tập các đường kẻ màu xanh)
codebook phải tìm là codebook có ra khoảng cách trung bình bé nhất
Chúng ta giả thiết rằng chuỗi huấn luyện gồm có M vector nguồn:
T = {x1, x2,…,xM}
Chuỗi huấn luyện này thu được từ một cơ sở dữ liệu khá lớn. Ví dụ như nếu nguồn là một
tín hiệu tiếng nói, khi đó chuỗi huấn luyện có thể thu được bởi cơ sở dữ liệu là một vài cuộc hội
thoại khá dài được ghi âm qua điện thoại. Giả thiết M có đầy đủ các thuộc tính thống kê của

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 36

nguồn thu được thông việc huấn luyện chuỗi. Chúng ta cũng giả thiết rằng các vector nguồn là
k chiều, ví dụ:
xm = (xm,1, xm,2, …, xm,k), m =1, 2, …, M
Cho N là số lượng codevector và biễu diễn codebook :
C = {c1, c2, …, cN},
Mỗi codebook có k chiều, ví du:
cn = (cn,1, cn,2, …, cn,k), n = 1, 2, …, N
Sn là miền mã hoá với codevector cn và chỉ rõ việc phân chia các khoảng trống.
P = { S1, S2,…, SN},
Nếu vector nguồn xm ở trong miền Sn, khi đó giá trị tương đương của nó (nghĩa là Q(xm)) sẽ là
cn .
Q(xm) = cn, if xm SN
Độ đo bình phương khoảng cách lỗi, độ lệch trung bình được tính bằng:
2
1 M
Dove xm Q xm
Mk m 1
Ở đó:.
2
e e12 e22 ... ek2
Như vậy vấn đề thiết kế thuật toán này có thể được nói ngắn gọn như sau: Cho T và N, tìm
C và P sao cho Dove là nhỏ nhất.
Tiêu chuẩn tối ưu hoá:
Nếu C và P là một giải pháp của vấn đề cực tiểu hoá, khi đó nó phải thoả mãn hai tiêu
chuẩn sau:
Điều kiện của thuật toán người láng giềng gần nhất:
2 2
Sn x : x cn x cn n 1,2,...,N
Điều kiện này yêu cầu miền mã hoá Sn phải bao gồm tất cả các vector, các vector gần với
Cn hơn bất kỳ một codevector nào khác. Những vector được cho dựa vào các đường biên
(đường màu xanh), thủ tục của điểm ngắt sẽ là
Điều kiện của trọng tâm:
xm Sn
Xm
cn
1
n = 1, 2, …, N
xm Sn

Điều kiện này cho rằng codevector Cn là trung bình của tất cả các vector huấn luyện, các
vector ở trong miền mã hoá Sn. Thêm vào đó có một điều chắc chắn là có ít nhất một vector
huấn luyện thuộc vào mỗi miền (mẫu số ở công thức trên phải khác 0)
Thiết kế thuật toán LBG
Thuật toán LBG là thuật toán đệ quy, việc giải quyết dựa vào sự lựa chọn hai tiêu chuẩn tối
ưu trên. Thuật toán yêu cầu một codebook ban đầu C(0). Đây là codebook khởi tạo, thu được
qua quá trình phân tách. Trong phương thức này, một codebook được đặt là giá trị trung bình
của toàn bộ dãy huấn luyện. Codevector này được phân tách thành hai. Thuật toán lặp được
chạy với hai vector được khởi tạo cho codebook. Hai codebook sau được phân thành bốn và

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 37

quá trình xử lý được lặp lại cho đến khi thu được số lượng codebook mong muốn. Thuật toán
này được tổng kết như sau:
Thiết kế thuật toán LBG:
1. Cho T. >0 là số lượng nhỏ nhất có giá trị cố định
2. Đặt N=1 và
1 M
c1* xm
M m 1
Tính
2
* 1 M
Dove xm c1*
Mk m 1
Phân tách: Cho i = 1, 2, …, N, khi đó:
ci 0 1 ci*
c N0 1 1 ci*
Đặt N = 2N
0 *
Lặp lại thuật toán: Đặt Dove Dove . Đặt chỉ số lặp i = 0.
Cho m = 1, 2, …, M, Tìm giá trị nhỏ nhất :
2
xm cni
với n = 1, 2, …, N. Với n* là chỉ số nhỏ nhất thu được. Khi đó:
i
Q xm c
n*
Cho n = 1, 2, …,N, Cập nhật lại codevector
Q xm c ni Xm
cni 1

Q xm c ni 1
Đặt i = i+1
Tính
i 1 M 2
Dove xm Q xm
Mk m 1
i 1 i i 1
Nếu Dove Dove Dove , Quay lại bước (i).
* i
Đặt Dove Dove . Cho n = 1, 2, …, N, đặt
cn* cni
Với các codevector cuối ta lặp lại bước 3 và 4 cho đến khi thu được số lượng codebook
mong muốn .
3.1.5. Ứng dụng VQ trong xử lý tín hiệu tiếng nói
Kết quả của việc trích trọn đặc trưng tiếng nói là một dãy các vector đặc trưng của chuỗi
các đặc trưng phổ của tín hiệu tiếng nói. Chúng ta có thể ánh xạ các vector này thành một tập
các vector rời rạc.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 38

Tập các vector Các thuật toán Codebook


huấn luyện phân cụm

Chỉ số
Các vector tín hiệu tiếng nói Bộ lượng tử hóa codebook

Hình3.3: Quá trình huấn luyện và phân lớp tín hiệu tiếng nói sử dụng VQ
Uư điểm của phương pháp:
- Giảm không gian lưu trữ các đặc trưng phổ.
- Giảm thời gian tính toán trong việc quyết định các sự giống nhau gữa các vector phổ.
- Biểu diễn tín hiệu âm thanh dưới dạng rời rạc.
Nhược điểm của phương pháp này:
- Bóp méo tín hiệu phổ trong quá trình phân tích các tín hiệu âm thanh thực.
- Phải tính đến không gian lưu trữ các codebook. Codebook càng lớn thì càng làm giảm các
lỗi lượng tử hóa nhưng không gian lưu trữ càng tăng lên. Phải cân bằng giữa 2 vấn đề về
không gian lưu trữ codebook và lỗi lượng tử hóa.

Hình 3.4:Đồ thị của chuỗi các vector phổ đã được mã hóa bằng VQ của phát âm từ 8 tiếng
anh.
3.2. Phương pháp căn chỉnh thời gian động
3.2.1. Khái quát về tiếp cận đối sánh mẫu và kỹ thuật căn chỉnh thời gian động
Đối sánh mẫu là một trong những cách tiếp cận cơ bản để giải quyết bài toán nhận dạng.
Trong lĩnh vực nhận dạng tiếng nói, cách tiếp cận này cũng được áp dụng và có hiệu quả. Một
sơ đồ khái quát của cách tiếp cận này được mô tả ở hình 1. Tại pha “Trích chọn đặc trưng”,
chúng ta thường sử dụng các kĩ thuật cơ bản như: mã hóa dự báo tuyến tính (Linear Predictive

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 39

Coding - LPC), các hệ số cepstral tần số Mel (Mel Frequency Cepstral Coefficients - MFCC),
... để trích các đặc trưng âm thanh thành bộ số liệu. Pha “Phát hiện tiếng nói” có nhiệm vụ tách
bỏ các thành phần âm thanh không cần thiết và phát hiện tiếng nói trong bộ số liệu đưa vào.
Một số kĩ thuật được dùng ở pha này có thể kể đến là: kĩ thuật phân tích phổ năng lượng, phân
tích phổ, ...

tín hiệu
Trích Phát hiện Đối sánh Luật
chọn đặc tiếng nói mẫu quyết
trưng định
Hình 3.5 : Sơ đồ cách tiếp cận đối sánh mẫu

Nhiệm vụ của pha “Đối sánh mẫu” là so khớp tín hiệu đưa vào nhận dạng với bộ tín hiệu đã
được lưu sẵn trong chương trình để tìm ra khoảng cách giữa các mẫu. Các kĩ thuật có thể dùng
là: căn chỉnh thời gian động (Dynamic Time Warping - DTW), mô hình Markov ẩn (Hidden
Markov Model - HMM), ... Cuối cùng “Luật quyết định” là pha trợ giúp máy tính đưa ra kết
quả nhận dạng mẫu tín hiệu nào gần giống nhất. Trong số các luật được đề nghị rất nhiều cho
các hệ nhận dạng, có hai luật được sử dụng rộng rãi là: luật lân cận gần nhất (Nearest
Neighbour Rule - NN) và luật k-lân cận gần nhất KNN.
Đối sánh mẫu đóng vai trò rất quan trọng trong các hệ nhận dạng tiếng nói. Đối sánh mẫu
tức là xác định sự tương đương giữa các mẫu khác nhau, hay nói cách khác là đo lường khoảng
cách giữa các mẫu. Tùy theo đặc tả của từng hệ thống mà chúng ta có những kỹ thuật so khớp
mẫu khác nhau.
DTW được áp dụng nhận dạng các từ đơn lẻ (IWR - Isolated Word Recognition). Điều này
có nghĩa là các từ được nói ra rời rạc từng từ một và với khoảng thời gian trễ vừa đủ. Với
những yêu cầu như vậy, có thể dễ dàng nhận biết được lúc nào bắt đầu một từ và lúc nào kết
thúc một từ. Điều này sẽ thực sự rất khó khăn đối với những hệ thống nhận dạng câu liên tục
(CSR - Continuous Speech Recognition) khi mà người nói phát âm một cách bình thường và
không có ranh giới rõ ràng giữa các từ. Khi các từ được nói bởi một người và mục tiêu của hệ
nhận dạng tiếng nói là nhận dạng các từ được phát âm bởi người đó thì hệ được gọi là hệ nhận
dạng phụ thuộc vào người nói (speaker-dependent recognition). Một hệ phức tạp hơn là hệ
nhận dạng độc lập với người nói (speaker-independent recognition).
Sau đây là ưu và nhược điểm của kĩ thuật DTW.

Ưu điểm Nhược điểm


Không sử dụng các đặc trưng ngôn ngữ nên Độ chính xác của hệ phụ thuộc vào số lượng
không phụ thuộc vào ngôn ngữ được nhận mẫu học. Các mẫu tham khảo sẽ bị ảnh
dạng. Tiêu hao tài nguyên hệ thống ít. hưởng bởi môi trường lúc tạo mẫu như: tiếng
ồn, thiết bị, tâm lý,...
Có thể sử dụng cho một từ đơn hoặc một Thời gian tính toán phụ thuộc nhiều vào số
nhóm từ mà không cần thay đổi thuật toán lượng mẫu học và số lượng từ cần nhận dạng.
nhiều. Do đó không thể sử dụng trong các hệ nhận
dạng với số lượng từ lớn.
Dễ cài đặt và triển khai với số lượng từ giới Không sử dụng nhiều các yếu tố ngữ nghĩa,
hạn (<100 từ), độ chính xác trong trường hợp cú pháp, từ,...

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 40

này có thể đạt đến 99,5%.

3.2.2. Kỹ thuật căn chỉnh thời gian động


a) Căn chỉnh thời gian động
Do sự khác nhau về ngữ điệu, về cách phát âm của từng người nói, về thời gian nói,... nên
dạng sóng của một từ trong các lần nói khác nhau có thể có rất nhiều sự khác biệt. Thậm chí
khi một từ được nói bởi một người thì sự khác nhau vẫn tồn tại bởi tốc độ nói, nói to/nhỏ, tâm
lí khi nói. Một số mẫu có thể có thời gian nói dài hơn và nói to hơn, một số khác có thể nói nhỏ
hơn và ngắn hơn. Ví dụ như hình G.1.3 a) và G.1.3 b) là hai lần nói khác nhau của cùng một từ
“speech”. So sánh giữa hai tín hiệu thể hiện ở hình G.1.3 c) ta thấy, âm s,p và ch của tín hiệu 1
ngắn hơn, và âm iy thì dài hơn (các đường nét đứt là tín hiệu 1, nét liền là tín hiệu 2). Bài toán
so sánh hai tín hiệu ở đây chính là ở chỗ độ dài các tín hiệu không giống nhau.
Mẫu tín hiệu tiếng sau khi thu vào máy tính là một dãy tín hiệu số. Chúng ta sẽ chia mẫu
tiếng nói được đưa vào nhận dạng thành các frame liên tục gối lên nhau. Giả sử mỗi frame
được chọn với độ dài là tf =512 mẫu tín hiệu và phần gối lên nhau giữa hai frame liên tiếp là t0
=100 mẫu tín hiệu như biểu diễn trong hình G.1.2.

Hình 3.6: Các frame lần lượt gối lên nhau.

Hình 3.7: So sánh sự khác nhau về thời gian trên từ “speech”

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 41

Mỗi frame này qua phép phân tích LPC ở pha trích chọn đặc trưng sẽ được biểu diễn bằng
một véc tơ p chiều và ta gọi véc tơ này là véc tơ đặc trưng. Giá trị p là một giá trị không cố
định thường được lựa chọn theo kinh nghiệm. Điều đó có nghĩa là từ việc lưu giữ một frame
với tf mẫu ta chỉ cần lưu một véc tơ với p chiều. Như vậy một mẫu nhận dạng sẽ là một chuỗi
các véc tơ đặc trưng. Chuỗi véc tơ đặc trưng này sẽ được dùng để so khớp với chuỗi véc tơ đặc
trưng chuẩn đã được lưu trong chương trình để tìm khoảng cách, khoảng cách này là cơ sở để
chúng ta quyết định kết quả nhận dạng.
Gọi a = {a1 , a2 , ... , aI} và r = {r1 , r2 , ... , rJ} lần lượt là chuỗi véc tơ đặc trưng của tín
r
hiệu 1 và tín hiệu 2. Ở đây j và ai là các véc tơ đặc trưng (hay còn gọi là các frame) p chiều
với i=1,...,I, j=1,...,J. Nói chúng do bản chất biến thiên về thời gian của tiếng nói nên độ dài của
hai chuỗi véc tơ a và r khác nhau nên I≠J. Sự chuẩn hóa về thời gian giữa a và r là sự mở rộng
một cách tuyến tính mẫu tín hiệu ngắn hơn đạt tới độ dài của mẫu tín hiệu dài hơn. Nghĩa là ta
phải thực hiện việc so khớp hai véc tơ có chiều dài khác nhau. Ta có một kĩ thuật đơn giản để
giải quyết vấn đề trên là kĩ thuật căn chỉnh thời gian tuyến tính.
Giả sử J<I. Kí hiệu D(r,a) là khoảng cách giữa hai mẫu tín hiệu r và a và được tính như sau:
I
J
D(r , a) d f ( r j ' , ai ) j' *i
i 1 I (3.14)
d f (r j ' , ai ) rj'
với là khoảng cách giữa hai frame và ai.

Kết quả của sự căn chỉnh thời gian tuyến tính được thể hiện ở hình G.1.3d) tuy vậy việc căn
chỉnh như hình d) là chưa tối ưu về mặt khoảng cách. Một lược đồ chuẩn hóa tốt phải thay đổi
khoảng thời gian của một mẫu theo đặc tính của mẫu kia để đạt được sự so khớp hợp lý giữa
chúng, do vậy mà khoảng cách D(r,a) có thể được cực tiểu hóa. Hình G.1.3e) thể hiện sự căn
chỉnh thời gian động (hay còn gọi là căn chỉnh thời gian phi tuyến) nghĩa là căn chỉnh trên từng
đoạn con rồi khớp chúng lại. Chúng ta có thể thấy các phần của âm s, p và ch của tín hiệu 1
được mở rộng, còn âm iy thì được nén.
b) Quy hoạch động trong kĩ thuật căn chỉnh thời gian động
Sự so khớp phi tuyến giữa các mẫu a và r như đã nói ở phần trước được biểu diễn trên lưới
điểm hình G.1.4. Trên lưới này tín hiệu a nằm dọc theo trục i, tín hiệu r nằm dọc theo trục j.
Mỗi giao điểm trên lưới được định nghĩa như là một nút, nút (i,j) có nghĩa là so khớp frame i
của tín hiệu a với frame j của tín hiệu r. Nút (0,0) được gọi là nút gốc nơi mà tất cả các đường
đều xuất phát từ đây.
r
df(i,j) là khoảng cách giữa vec tơ đặc trưng ai với j , khoảng cách này còn được gọi là khoảng
cách cục bộ. Ta định nghĩa giá tại nút (0,0) là : df(0,0) = 0 (3.15)
Một đường đi ở đây được định nghĩa bởi các cặp nút (ik-1, jk-1) -> (ik, jk). Một đường đi
xuất phát từ nút (0,0) đến nút (ik, jk) có một giá toàn cục là giá tích lũy từ điểm bắt đầu của
đường đi cho đến khi gặp nút (ik, jk). Ta gọi giá này là D(ik, jk) và được định nghĩa :
D(ik , j k ) D(ik 1 , j k 1 ) d f (ik , j k )
(3.16)

Vì nút (0,0) là nút khởi đầu của tất cả các đường đi nên ta có:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 42

D(0,0) 0 (3.17)
Ở biểu thức truy hồi (3.16) khi cho k chạy về tới k=1 ta có
k
D (ik , jk ) d f (im , jm )
m 0 (3.18)

Hình 3.8: Lưới minh họa quy hoạch động


Rõ ràng là trên lưới quy hoạch động có nhiều đường đi xuất phát từ nút (0,0) đến nút (ik,jk)
với các giá toàn cục khác nhau. Như vậy bài toán có thể được viết như là việc tìm kiếm một
đường đi đầy đủ từ nút (0,0) tới nút đích (I,J) sao cho giá toàn cục là nhỏ nhất. Kí hiệu
D*(ik,jk) là giá toàn cục nhỏ nhất. Khi đó từ (3.16) và (3.18) ta có:
D * (ik , jk ) min D (ik 1 , jk 1 ) d f (ik , jk )
k
min d f (im , jm )
m 0 (3.19)
trong biểu thức này (ik, jk) = (I,J), min lấy tại mọi đường đi có thể từ nút (0,0) đến nút (ik,jk).
Để tiện cho việc kí hiệu, sau này ta sẽ dùng kí hiệu D thay cho D*.
c) Phương pháp đo khoảng cách cục bộ
r
Trong phần trước ta đã đề cập df(i,j) là khoảng cách giữa vec tơ đặc trưng ai và j . Ta có
d (a , r )
thể viết đầy đủ là f i j với các véc tơ ai và rj nhận được qua phép phân tích LPC có dạng
sau :
rj
ai = [1 , ai2 , ai3 , . . . , aip]T và = [1 , rj2 , rj3 , . . . , rjp]T
d (a , r )
Do f i j là khoảng cách nên phải thỏa mãn 3 điều kiện :
d f (ai , r j ) r
≥ 0 và =0 khi ai = j ,
d f (ai , r j ) d f (r j , ai )
= ,
d f ( a i , r j ) d f ( a i , b ) d f (b , r j )
≤ + .
Bất cứ hàm nào đáp ứng được ba tính chất trên đều là metric hợp lệ của không gian véc tơ.
Do vậy sẽ có nhiều metric và mỗi cái sẽ có những điểm mạnh và yếu của riêng nó. Chúng ta

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 43

thường sử dụng những trường hợp đặc biệt của metric Minkowski trong các tính toán kĩ thuật.
r
Metric Minkowski bậc s giữa ai và j là :

p s

d s (ai , rj ) s aik rjk


k 1
(3.20)
Tương ứng với s=1 và s=2 ta lần lượt có:
City block metric:
p
d (ai , r j ) aik r jk
k 1 (3.21)
Euclidian metric:
p 2

d 2 (ai , rj ) aik rjk


k 1
(3.22)
Ngoài metric Minkowski còn có nhiều metric khác như:LPC,Itakura, Mahalanobis,... Tuy nhiên
trong báo cáo này chúng ta chỉ sử dụng và cài đặt hai metric (3.21) và (3.22) như đã được nêu.

3.2.3. Các Rằng buộc


Phương pháp đối sánh mẫu trong nhận dạng tiếng nói đo khoảng cách giữa mẫu kiểm tra
với tất cả các mẫu sẵn có rồi chọn ra mẫu có khoảng cách nhỏ nhất và mẫu đó được coi là kết
quả nhận dạng. Do vậy bài toán nhận dạng có thể qui về viêch tìm khoảng cách giữa hai tín
hiệu. Ta đã biết rằng thách thức của bài toán chính là sự đa dạng trong hành vi nói của con
người. Các yếu tố như tốc độ nói, kiểu ngữ điệu,... phải không làm ảnh hưởng đến kết quả nhận
dạng. Ta đã chỉ ra rằng quy hoạch động có thể được sử dụng để tìm đường đi so khớp phi tuyến
giữa tín hiệu kiểm tra và các tín hiệu mẫu do vậy mà khoảng cách giữa chúng được cực tiểu.
Ứng dụng này của quy hoạch động trong nhận dạng tiếng nói được gọi là Căn chỉnh thời gian
động (Dynamic Time Warping - DTW).
DTW cũng sử dụng lưới như ở hình G.1.4 để định nghĩa không gian tìm kiếm trong đó a là
mẫu tín hiệu cần kiểm tra, r là mẫu tín hiệu đã được lưu sẵn. Chúng ta sẽ tìm kiếm đường đi tốt
nhất dọc theo chỉ số của mẫu kiểm tra. Do là ứng dụng đặc thù của quy hoạch động trong nhận
dạng tiếng nói nên DTW áp dụng một số loại ràng buộc.
a) Các ràng buộc điểm đầu cuối (Endpoint Constraints)
Ràng buộc điểm bắt đầu : frame đầu tiên của mẫu kiểm tra phải được so khớp với frame
đầu tiên của mẫu sẵn có: (i1 , j1) = (1 , 1) (3.23)
Ràng buộc điểm kết thúc : frame cuối của mẫu kiểm tra phải được so khớp với frame cuối
cùng của mẫu sẵn có: (ik , jk) = (I , J) (3.24)

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 44

Hình 3.9: Các ràng buộc điểm đầu cuối (Endpoint Constraints)
Theo điều kiện ràng buộc này ta có một đường đi so khớp thông thường có dạng như ở hình
G.1.5.
b) Các ràng buộc đều đặn và liên tục (Continuity and Monotonicity Constraints)
Ràng buộc đều đặn yêu cầu các véc tơ của một từ phải được duyệt theo thứ tự tăng dần,
nghĩa là : jk - jk-1 ≥ 0 (3.25)
Ràng buộc liên tục có nghĩa là không có điểm “gẫy” trên đường đi, nghĩa là:
ik - ik-1 = 1 (3.26)
Nói cách khác việc so khớp phải tiến hành dọc theo trục của mẫu kiểm tra lần lượt từng
frame một.

Hình 3.10: Minh họa về so khớp không đều đặn


Hình 3.10 là một ví dụ về so khớp không đều đặn. Từ “pest” chạy dọc theo trục x và “pets”
dọc theo trục y. Tập âm vị của cả hai từ “pest” và ”pets” là {p, eh, s, t}. Nếu không có ràng
buộc đều đặn hai tín hiệu này có thể so khớp như đường nét liền và như vậy đưa ra thông tin
nhận dạng sai là hai mẫu này trùng nhau.
Hình 3.11 là một ví dụ về so khớp không liên tục. Từ “speak” chạy dọc theo trục x và
“spaek” dọc theo trục y. Tập âm vị của cả hai từ “speak” và ”spaek” là {s, p, eh, a, k}. Nếu
không có ràng buộc liên tục hai tín hiệu này có thể so khớp như đường nét liền và như vậy đưa
ra thông tin nhận dạng sai là hai mẫu này trùng nhau.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 45

Eh

P
S

S P Eh A K
Hình 3.11: Minh họa về so khớp không liên tục i

c) Các ràng buộc đường đi cục bộ (Local Constraints)


Các ràng buộc đường đi cục bộ được sử dụng để định ra đường đi hợp lệ giữa hai nút lưới
bất kì. Nói cách khác, ràng buộc này sẽ là điều kiện để kiểm tra giữa hai nút (m,n) và (k,l) của
lưới có tồn tại đường đi hay không. Hình 8 minh họa bốn kiểu ràng buộc cục bộ được
Sakoe&Chiba đề xuất .

(I)
(II)

(III)
(IV)

Hình 3.12: Các ràng buộc đường đi cục bộ


Ở loại (I) đường đi tuần tự diễn ra, với loại (II) đường đi ngang chỉ được thực hiện nêu
trước đó đã có đường đi chéo, cũnh tương tự như vậy với loại (IV) nhưng đường đi ngang chỉ
thực hiện nếu trước đó có hai đường đi chéo. Trong loại (III) sau hai đường đi ngang mới được
phép có đường đi chéo Itakura đề xuất ra một ràng buộc đường cục bộ khác đáng chú ý ở hai
điểm: không có hai đường đi ngang liên tục và tồn tại đường đi giữa hai nút (i-1,j-2) và (i,j).
Hình G.1.9 minh họa ràng buộc Itakura.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 46

i, j
i-2, j i-1,,j

i-1, j-1

i-1, j-2

Hình 3.13: Ràng buộc đường đi cục bộ Itakura

d) Các ràng buộc đường đi toàn cục (Global Constraints)


Ràng buộc này được sử dụng để giới hạn phạm vi của nén hoặc mở rộng mẫu tín hiệu dọc
theo chiều dài của trục thời gian. Sự biến thiên về tốc độ nói của người được cân nhắc để giới
hạn trong một khoảng hợp lí, điều này có nghĩa là chúng ta có thể giới hạn việc tìm kiếm trong
vùng

Hình 3.14 : Các ràng buộc đường đi toàn cục


tìm kiếm hợp lệ. Thay vì phải tìm kiếm trên toàn bộ lưới ta chỉ cần tìm kiếm các nút trên hình
vùng hợp lệ. Ràng buộc đường đi toàn cục thường dùng được mô tả trong hình 10. ở đây vùng
tìm kiếm hợp lệ được giới hạn bởi bốn đường thẳng có độ nghiêng (slope) là s hoặc 1/s.
Qua nghiên cứu, ứng với từng loại ràng buộc cục bộ mà s có thể nhận những giá trị sau:
Loại ràng buộc cục bộ Giá trị s Giá trị 1/s
I ∞ 0
II 2 1/2
III 3 1/3
IV 3/2 2/3
3.2.4. Thuật toán căn chỉnh thời gian động
a) Thuật toán DTW đối xứng (Symmetric DTW - SDTW)

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 47

Thuật toán được minh họa bằng ví dụ ở hình 11, ta sử dụng một ma trận thời gian-thời gian
để mô tả trực quan cách căn chỉnh. Theo quy ước thì trục tung sẽ biểu diễn mẫu chuẩn
“SPEECH”, trục hoành biểu diễn mẫu nhận dạng “SsPEEhH”. Trong ví dụ này mẫu nhận dạng
“SsPEEhH” là mẫu có nhiễu. ý tưởng ở đây là mẫu nhận dạng sẽ được so với tất cả các mẫu
chuẩn thuộc cùng một lớp. Mẫu nhận dạng phù hợp nhất là mẫu có khoảng cách đường căn
chỉnh với mẫu chuẩn ngắn nhất.

Hình 3.15 : Minh họa căn chỉnh thời gian động giữa mẫu
chuẩn “SPEECH” và mẫu nhận dạng có nhiễu “SsPEEhH”
Trong thuật toán này ta cần phải tuân thủ các ràng buộc sau:
- Các đường so khớp không thể quay ngược chiều thời gian (nghĩa là chỉ có tiến lên)
- Tất cả các frame phải được sử dụng trong đường so khớp.
- Khoảng cách toàn cục được tính bằng cách cộng dồn tất cả các khoảng cách cục bộ.
- Một ý quan trọng ở thuật toán này là ta chỉ có thể đi đến ô (i,j) từ các ô (i-1,j-1), (i-1,j),
(i,j-1) trong đó i là cột, j là hàng.
Biểu thức quy hoạch động của DTW đối xứng là :
D(i, j ) min D(i 1, j 1), D(i 1, j ), D(i, j 1) d (i, j ) (3.27)

với d(i,j) là khoảng cách cục bộ tại (i,j), D(i,j) là khoảng cách toàn cục tại (i,j).
Ta có thể nêu một cách cài đặt hiệu quả về bộ nhớ và khá nhanh trong tính toán của DTW
đối xứng. Cải tiến ở đây là ta dùng hai mảng để lưu các cột liên tiếp. Ta quy ước các hàng, cột
bắt đầu đánh số từ 0.
Hình 3.16: Các hướng
đi có thể của SDTW

Ô (i,j) và (i,0) có sự
khác nhau về các ô
xuất phát. Đường đến
ô (i,0) chỉ có thể từ
(i-1,0), còn đường đến
(i,j) có thể có 3 đường.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 48

- Đầu vào : Hai chuỗi véc tơ đặc trưng của mẫu chuẩn và mẫu nhận dạng
- Đầu ra: Giá toàn cục nhỏ nhất.
Thuật toán mô tả như sau:
- Tính ở cột 0, ô thấp nhất. Giá toàn cục ở ô này chính là giá cục bộ. Sau đó giá toàn cục của mỗi ô
tiếp theo là giá cục bộ của ô đó cộng với giá toàn cục của ô trước, cột này được gọi là predCol
(predecessor Column). Bước này được gọi là bước khởi tạo.
- Tính giá toàn cục ở ô đầu tiên của cột tiếp theo (ta gọi cột nàylà curCol - current Column). Giá trị
này bằng giá cục bộ của ô đó cộng với giá toàn cục của ô thấp nhất ở cột trước.
- Tính giá toàn cục của các ô còn lại của curCol. Ví dụ, tại ô (i,j) đó là khoảng cách cục bộ (hay giá
cục bộ) của (i,j) cộng với giá toàn cục nhỏ nhất tại một trong các ô (i-1,j-1), (i-1,j), hoặc (i,j-1).
- curCol được gán bằng predCol và lặp lại từ bước 2 cho đến khi tất cả các cột được tính.
 Giá trị toàn cục nhỏ nhất cuối cùng là giá trị lưu giữ ở ô trên cùng của cột cuối cùng.
b) Thuật toán DTW phản đối xứng (Asymmetric DTW - ASDTW)
Thuật toán DTW phản đối xứng là một cải tiến của DTW đối xứng. Biểu thức qui hoạch
động như sau:
D(i, j )min D(i 1, j 1) 2d (i, j ), D(i 1, j ) d (i, j ) dh, D(i, j 1) d (i, j ) dv (3.28)
trong đó các giá trị dh và dv phù hợp có thể tìm được qua thực nghiệm. Ta có thể hiểu dh và dv
là những trọng số ưu tiên, dh là trọng số ưu tiên đường đi ngang (horizontal), dv là trọng số ưu
tiên đường đi dọc (vertical), các trọng số này có thể nhận giá trị 0.
Nếu chúng ta hạn chế các đường đi cho phép là:
- (i-1,j-2 ) tới (i,j) hướng đi chéo mở rộng (bỏ qua một frame mẫu chuẩn, độ nghiêng chéo
là 2)
- (i-1,j-1) tới (i,j) hướng đi chéo chuẩn
- (i-1,j) tới (i,j) hướng đi ngang (lặp lại một frame ở mẫu chuẩn, độ nghiêng 0)
thì chúng ta giả sử rằng mỗi frame của mẫu nhận dạng được sử dụng một và chỉ một lần. Điều
đó có nghĩa rằng chúng ta có thể bỏ qua không cần đến sự chuẩn hóa độ dài mẫu và nó không
đòi hỏi cộng hai lần khoảng cách cục bộ vào các hướng đi chéo chuẩn (độ nghiêng 1). Cách
tiếp cận này được gọi là Quy hoạch động phản đối xứng (asymmetric dynamic programming).

Hình 3.17: Ba cách đi có


thể từ ô (i,j) đến một ô khác
trong DTW phản đối xứng

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 49

Hình 3.18 : Các hướng đi có


thể của DTW phản đối xứng

Có thể tới các ô (i,j), (i,0) và


(i,1) bằng các hướng khác
nhau. Đường đi tới (i,0) chỉ
có thể xuất phát từ ô (i-1,0).
Đường đi tới (i,1) chỉ có thể
xuất phát từ ô (i-1,0) và (i-
1,1).Đường đi tới (i,j) có thể
xuất phát từ 3 ô 1
(i-1,j), (i-1,j-1) và (i-1,j-2).
0

Mặc dù vậy chúng ta cần lưu ý là sẽ có những trường hợp đặc biệt xẩy ra. Hãy xem xét
đường đi xuất phát từ ô (0,0). Do đường đi sẽ phải tới cột 1 nên các hàng 1,2,... ở cột 0 sẽ trở
nên vô nghĩa bởi vì chúng chắc chắn sẽ không được đi qua. Hình dưới minh họa cho trường
hợp đặc biệt.

j
Hình 3.19: Đường đi qua vùng hợp lệ

Đường đi không bao giờ đi qua vùng gạch


chéo. Các ô chữ nhật đậm cho thấy những
trường hợp đặc biệt của đường đi. Theo
DTW đối xứng, hàng 0 là trường hợp đặc
biệt như bình thường. Còn trong DTW
phản đối xứng, hàng 1 cũng là đặc biệt.
i
Đường so khớp chỉ có thể đến được những ô đặc biệt từ một số vị trí giới hạn. Các trường
hợp đặc biệt có j=2i-1 hoặc 2i. Tổng giá cho mỗi trường hợp là:
2i-1 : Giá cục bộ + tổng khoảng cách nhỏ nhất tại predCol[j-1] và predCol[j-2]
2i : Giá cục bộ + tổng giá tại predCol[j-2]

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 50

3.3. Mô hình Markov ẩn


Phần này được dành để giới thiệu về mô hình Markov ẩn và ứng dụng của chúng trong
nhận dạng tiếng nói.
3.3.1. Quá trình Markov
Xét sự tiến triển theo thời gian của một hệ thống nào đó (có thể là một hệ vật lý hay hệ sinh
thái, ...), ký hiệu qt là vị trí của hệ tại thời điểm t. Các vị trí có thể có được của hệ được gọi là
không gian trạng thái, ký hiệu là S= {S1, S2, S3, ...}. Giả sử ở thời điểm s hệ ở trạng thái Si, nếu
xác suất để hệ ở trạng thái Sj ở thời điểm t trong tương lai chỉ phụ thuộc vào s, t, Si, Sj thì có
nghĩa là sự tiến triển của hệ chỉ phụ thuộc vào hiện tại và độc lập với quá khứ. Ta gọi đó là tính
Markov và hệ có tính chất này được gọi là quá trình Markov.
Nếu không gian trạng thái S của hệ là đếm được thì ta gọi hệ là xích Markov. Nếu thời gian
t là rời rạc t=0,1,2,... thì ta có xích Markov rời rạc. Ta có thể biểu diễn tính Markov của hệ bằng
biểu thức sau :
P(qt = Sj | qt-1 = Si, qt-2 = Sk,...) = P(qt = Sj | qt-1 = Si)
Đặt P(s,i,t,j) = P(qt = Sj | qs = Si ) là xác suất để hệ tại thời điểm s ở trạng thái i, đến thời
điểm t chuyển sang trạng thái j. Ta gọi P(s,i,t,j) là xác suất chuyển của hệ. Nếu xác suất chuyển
chỉ phụ thuộc vào (t-s) tức là
P(s,i,t,j)= P(s+h,i,t+h,j)
thì ta nói hệ là thuần nhất theo thời gian. Bắt đầu từ đây ta chỉ xét xích Markov rời rạc và thuần
a22
nhất.

S2
a23
a12
a11 S3
a31
a14 a33
S1

a15 a43
a53
S4
a54
S5 a44
a55
Hình 2.3. Xích Markov với năm trạng thái S1, S2, ..., S5 và
các xác suất chuyển trạng thái.
Hình 2.3 cho ta thấy một ví dụ về một mô hình xích Markov rời rạc và thuần nhất, trong đó
hệ có thể ở một trong năm trạng thái S1, S2, ..., SN (trong ví dụ trên N=5). Tại mỗi thời điểm
t=0,1,2,... hệ chuyển trạng thái theo xác suất chuyển trạng thái aij tương ứng với mỗi trạng thái.
aij P( qt 1 S j | qt Si )
N
j 1
aij 1; i 1, N
aij 0; i, j 1, N

Ngoài ra ta định nghĩa xác suất trạng thái khởi đầu (initial state distribution) = { 1, 2, ...,
N}, trong đó i là xác suất để trạng thái i được chọn tại thời điểm khởi đầu t=1:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 51

i=P(q1 =Si).
N
i 1 i 1

i 0; i 1, N
Quá trình Markov miêu tả ở trên được gọi là một mô hình Markov quan sát được
(observable Markov model). Đầu ra của quá trình là một tập các trạng thái tại các thời điểm rời
rạc liên tiếp nhau, trong đó mỗi trạng thái tương ứng với một sự kiện vật lý có thể quan sát
được (observation event).
Ví dụ : Ta xét một mô hình Markov ba trạng thái miêu tả thời tiết: S1, S2, S3 . Trong một
ngày thời tiết có thể là một trong ba trạng thái :
S1: mưa
S2: mây
S3: nắng
ma trận xác suất chuyển là
0.4 0.3 0.3
A= {aij} = 0.2 0.6 0.2
0.1 0.1 0.8
Giả thiết là thời tiết tại ngày t=1 là nắng. Ta sẽ tìm xác suất để trong 5 ngày liên tiếp có thời
tiết như sau : nắng, nắng, mưa, mưa, mây. Tức là ta có một dãy các quan sát (observation) O=
S3, S3, S1, S1, S2, tương ứng với các thời điểm t=1,2,3,4,5
P(O|Mô hình) = P(S3, S3, S1, S1, S2 | Mô hình)
= P(S3).P(S3|S3).P(S1|S3).P(S1|S1). P(S2|S1)
= 3.a33.a33.a31.a11.a12

= 1. (0.8). (0.8). (0.1).(0.4). (0.3)


= 768. 10-4
3.3.2. Mô hình Markov ẩn
Mô hình Markov ẩn được mở rộng khái niệm từ mô hình Markov bằng cách mỗi trạng thái
được gắn với một hàm phát xạ quan sát (observation distribution). Ngoài quá trình ngẫu nhiên
chuyển giữa các trạng thái, tại mỗi trạng thái còn có một quá trình ngẫu nhiên sinh ra một quan
sát. Như vậy trong Mô hình Markov ẩn có một quá trình ngẫu nhiên kép, trong đó có một quá
trình ngẫu nhiên không quan sát được. Tập các quan sát O được sinh ra bởi dãy các trạng thái
S1, S2, ..., SN của mô hình, mà dãy các trạng thái này là không thấy được, đó chính là lý do mô
hình được gọi là mô hình Markov ẩn (hidden) [31].
Một mô hình Markov ẩn được đặc trưng bởi các thành phần cơ bản sau :
-
N, số trạng thái (state) trong mô hình Markov. Các trạng thái thường được ký hiệu bằng
S= {S1, S2, S3, ...} và trạng thái của mô hình tại thời điểm t được kí hiệu là qt.
- M, số ký hiệu quan sát (observation symbol), đây là kích thước của bảng từ vựng của mô
hình. Các ký hiệu quan sát được biểu diễn bằng V= {v1, v2, ...}.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 52

- A = {aij}, xác suất chuyển trạng thái (state transition probability distribution). Trong đó aij
là xác suất để trạng thái j xuất hiện tại thời điểm t+1 khi trạng thái i đã xuất hiện tại thời
điểm t .
aij = P(qt+1 = Sj | qt = Si )
N
j 1
aij 1; i 1, N
aij 0; i, j 1, N

- B={bj(k)} xác suất phát xạ quan sát trong mỗi trạng thái (observation symbol probability
distribution in state). bj(k) là xác suất của quan sát vk tại trạng thái j tại thời điểm t.
bj(k) = P(vk tại thời điểm t | qt = Sj), (2.1)
M
k 1
b j (k ) 1; j 1, N
b j (k ) 0; j 1, N ; k 1, M

- = { 1, 2, ..., N} xác suất trạng thái khởi đầu (initial state distribution). i là xác suất để
trạng thái i được chọn tại thời điểm khởi đầu t=1:
i=P(q1=Si)

N
i 1 i 1

i 0; i 1, N

Với các giá trị thích hợp A, B, , M, N, một mô hình Markov ẩn được dùng để sinh ra
một dãy các quan sát:
O= {O1, O2, O3, ...}
Trong đó Oi lấy một trong các giá trị trong V. Hoạt động của HMM được mô tả như sau:
o Chọn một trạng thái khởi đầu q1 tương ứng với xác suất trạng thái khởi đầu .
o Gán t=1.
o Chọn Oi = vk tương ứng với xác suất quan sát tại trạng thái Si: bi(k).
o Chuyển sang trạng thái mới qt+1 = Sj tương ứng với xác suất chuyển trạng thái aij.
o Gán t=t+1 và quay lại lại bước 3) nếu t<T, nếu không kết thúc.
Người ta thường dùng bộ ba =(A, B, ) được coi là bộ ký pháp gọn để biểu diễn một mô
hình Markov ẩn. A, B và được gọi là các tham số (parameters) của mô hình .
a22 a33 a44 a55

a12 a23 a34 a45 a56


1 2 3 4 5 6

a24 a35

b2(o 1) b2(o 2) b3(o 3) b4(o 4) b4(o 5) b5(o 6)

o1 o2 o3 o4 o5 o6

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 53

Hình 2.4. Ví dụ một mô hình Markov ẩn với sáu trạng thái


Hình 2.4 cho ta một ví dụ về một mô hình Markov ẩn gồm có sáu trạng thái, trong đó có
một trạng thái khởi đầu và một trạng thái kết thúc. Sáu quan sát {O1, O2, ..., O6} được sinh ra từ
bốn trạng thái từ 2 đến 5. Mỗi trạng thái có thể chuyển sang trạng thái bên phải của nó, hoặc
chuyển sang chính nó. Riêng trạng thái khởi đầu chỉ có một khả năng duy nhất chuyển sang
trạng thái thứ 2, tức là a12=1.
3.3.3. Ba bài toán cơ bản của mô hình Markov ẩn
Có ba bài toán cơ bản của mô hình Markov ẩn được đặt ra trong ứng dụng nhận dạng tiếng
nói.
Bài toán 1: Với dãy quan sát O= {O1, O2, O3, ...} và mô hình Markov ẩn =(A, B, ) đã được
huấn luyện, chúng ta cần tính xác suất P(O ).
Bài toán 2: Với dãy quan sát O= {O1, O2, O3, ...} và mô hình Markov ẩn =(A, B, ) làm thế
nào chúng ta có thể tìm được dãy trạng thái tương ứng q={q1, q2, q3, ...} tối ưu nhất theo một
tiêu chuẩn nào đó.
Bài toán 3: Làm thế nào chúng ta điều chỉnh các tham số A, B, để có được xác suất P(O )
lớn nhất.
Nhận xét:
- Bài toán 1: đây là bài toán nhận dạng khi có một dãy các quan sát cho trước và một tập
các mô hình Markov ẩn, việc tính toán các P(O ) sẽ cho chúng ta tìm ra được mô hình
Markov ẩn có xác suất P(O ) tương ứng lớn nhất.
- Bài toán 2: đây là bài toán tìm phần ẩn của mô hình Markov, tức là dãy trạng thái q. Bài
toán này hay được sử dụng trong quá trình gán nhãn cưỡng bức dữ liệu huấn luyện.
- Bài toán 3: trong bài toán này chúng ta điều chỉnh tham số của mô hình Markov ẩn để nó
miêu tả một cách chính xác nhất các quan sát đã được biết trước đó. Dãy quan sát dùng để
điều chỉnh các tham số được gọi là tập dữ liệu huấn luyện (training data). Đây là khâu cơ
bản trong một bài toán nhận dạng, nó cho phép điều chỉnh các tham số để học các dữ liệu
từ các hiện tượng thực như tiếng nói.
Giải pháp toán học cho ba bài toán cơ bản
Bài toán 1
Chúng ta có dãy quan sát O= {O1, O2, O3, ...} và mô hình Markov ẩn =(A, B, ), chúng
ta cần tính xác suất P(O ).
Giả sử dãy quan sát có độ dài là T, vậy ta có một dãy các trạng thái tương ứng của mô hình
Markov ẩn sinh ra nó : q=q1, q2, q3, ... qT. Ta có xác suất để dãy quan sát O được sinh ra bởi
với dãy trạng thái q là:
T
P(O q, ) = P (Ot | qt , )
t 1

với giả thiết các Oi là độc lập ta có


P(O q, ) = bq1(O1) bq2(O2)... bqT(OT)

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 54

Mặt khác ta xác suất của dãy trạng thái q đối với mô hình là :

P(q )= q1 aq1q2 aq2q3... aqT-1qT


Từ đó ta có xác suất của dãy quan sát O, đối với mô hình và dãy trạng thái q là :
P(O, q| ) = P(O q, ) P(q )
= q1 bq1(O1) aq1q2 bq2(O2) aq2q3... aqT-1qT bqT(OT)

Xác suất của dãy quan sát O đối với mô hình sẽ là tổng của tất cả các xác suất dãy quan
sát O đối với mô hình với mọi dãy dãy trạng thái q có thể có :
P(O | ) P(O, q ) b (O1 )aq1q2 bq2 (O2 )...aqT 1qT bqT (OT )
q Q
q1 q1
(2.2)
Độ phức tạp tính toán của công thức (2.2) là 2T. NT , bởi vì tại mỗi thời điểm t, có N khả
năng chuyển trạng thái, trong mỗi trạng thái có (2T-1).NT phép tính nhân, NT -1 phép tính cộng.
Trong thực tế công thức này không thể thực hiện được do độ phức tạp quá lớn. Để khắc phục
vấn đề này thuật toán tiến-lùi (forward-backward algorithms) được dùng để tính xác suất dãy
quan sát O đối với mô hình .
Ta định nghĩa biến tiến t (i) forward là xác suất của dãy quan sát O tới thời điểm t: O= O1,
O2, ..., Ot tại trạng thái Si được sinh bởi mô hình .
t (i)=P(O1, O2, ..., Ot, qt =S i )
với giá trị khởi tạo 1(i)= i bi(O1), 1 i N
Các t (i) được tính bằng thuật toán đệ qui được miêu tả như sau:
1) Khởi tạo
1 (i)= i bi(O1) 1 i N
2) Tính các t+1 (j) bằng phương pháp đệ qui
N
t+1 (j) = t (i)aij b j (Ot 1 ) (2.3)
i 1

1 t T 1, 1 j N
3) Kết thúc
N
P(O )= T (i )
i 1

Bước 1) khởi tạo các 1 (i) tương ứng với các trạng thái i khác nhau. Tại bước 2 các t+1(j)
được tính theo phương pháp đệ quy dựa vào các t(j) được tính trước đó. Hình 2.5 miêu tả các
phép toán cần thiết để tính các t(j). Trạng thái của mô hình tại thời điểm t+1 là Sj và có tất cả
N khả năng để dẫn tới trạng thái Sj từ các trạng thái Si với xác suất là t (i). Xác suất này nhân
với xác suất chuyển trạng thái aij sẽ cho ta xác suất mô hình ở trạng thái Sj tại thời điểm t+1 với
điều kiện mô hình ở trạng thái Si tại thời điểm t. Tổng các xác suất này với các i từ 1 đến N cho
ta xác suất để mô hình ở trạng Sj tại thời điểm t+1, xác suất này nhân với xác suất bj(Ot+1) sẽ
cho ta xác suất dãy quan sát O tới thời điểm t +1 ở trạng thái Sj và đó chính là t+1(j).

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 55

Thuật toán quy nạp sẽ dừng ở bước 3) khi mà t =T. Khi đó tổng của các t(i) với i từ 1 đến
N sẽ cho ta xác suất của dãy quan sát O đối với mô hình : P(O ).
Độ phức tạp tính toán với cách tính theo các biến forward t(i) là N2T , thấp hơn so với độ
phức tạp 2T. NT của bước trước.

S1 a1j

S2 a2j

Sj

aNj
S3
t t +1
(i)
t t+1
(j)
Hình 2.5. Miêu tả các dãy phép toán được thực hiện để tính biến t (i).

Biến lùi (backward) t(j) được định nghĩa là xác suất của dãy O từ thời điểm t+1 đến T : O=
Ot+1, Ot+2, ..., OT, với điều kiện là mô hình ở trạng thái Si tại thời điểm t .
t(i) = P(Ot+1, Ot+2, ..., OT qt =Si, ), 1 t T
Thuật toán tính biến lùi t(i) cũng dựa trên phương pháp đệ qui giống như trường hợp của
biến tiến t (i):
1) Khởi tạo
T(i) = 1, 1 i N
2) Tính các t(j) bằng phương pháp đệ qui
N

t ( j) aij b j (Ot 1 ) t 1 ( j)
i 1

t= T-1, T-2, ..., 1, 1 i T


Bước 1) khởi tạo các T(i) bằng 1 cho tất cả các i. Các tính toán của bước 2) được mô tả
trong Hình 2.6, trong đó t(i) được tính dựa vào các t+1(j) được tính trước đó. Trạng thái của
mô hình tại thời điểm t là Si và có tất cả N khả năng để dẫn tới trạng thái Si từ các trạng thái Sj
tại thời điểm t+1 với xác suất là t+1(j). Xác suất này nhân với xác suất chuyển trạng thái aij,
kết hợp với xác suất quan sát Ot+1 tại trạng thái j sẽ cho ta xác suất mô hình ở trạng thái Si tại
thời điểm t với điều kiện mô hình ở trạng thái Sj tại thời điểm t+1. Tổng các xác suất này với
các j từ 1 đến N cho ta xác suất để mô hình ở trạng Si tại thời điểm t và đó là t(i).

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 56

a i1
S1
a i2
S2
Si

a Nj

SN
t t+1
t(i) t+1(j)

Hình 2.6. Miêu tả các dãy phép toán được thực hiện để tính biến t(i)

Bằng thuật toán tiến-lùi ta có thể tính xác suất P(O ) như sau:
N N N
P(O )= T (i ) = i bi (O1 ) 1 (i ) t (i ) t (i )
i 1 i 1 i 1

b)Bài toán 2
Trong bài toán này, ta phải tìm dãy trạng thái q=(q1, q2, ..., qT) tối ưu tương ứng với một
dãy quan sát O=(O1, O2, ..., OT) và mô hình =(A, B, ) cho trước, để cho P(O, S ) là lớn
nhất.
Một phương pháp thông dụng hay được dùng để giải quyết bài toán này là dùng thuật toán
tìm kiếm Viterbi. Đây là thuật toán dựa trên phương pháp lập trình động (Dynamic Programing
Method) để tìm ra một dãy các trạng thái tối ưu duy nhất.
Thuật toán Viterbi:
Ta định nghĩa biến dt(i) = max P(q1, q2 ,..., qt i, O1, O2 ,..., Ot ) là biến có điểm cao nhất
q1 ,q2 ,... qt 1 ,

(best score) tại thời điểm t tương ứng với dãy trạng thái q1, q2, ..., qt-1, kết thúc tại trạng thái Si.
Các biến dt(i) được tính bằng phương pháp đệ qui dựa trên các tính toán trước đó
dt+1(i)= [max( t (i)aij ]b j (Ok )
1 i N

Để lưu vết các các trạng thái của dãy ta dùng mảng y t(i), khi thuật toán kết thúc các phần tử
trong mảng chính là các trạng thái của dãy q cần tìm. Sau đây chi tiết thuật toán Viterbi
1) Khởi tạo
dt(i) = ibi(O1), 1 i N
y1(i)=0
2) Tính toán đệ qui
(i) [max( t (i).aij ].b j (Ok )
t 1
1 i N , 2 t , 1 i N (2.4)
(i) arg max[ (i).aij ]
1
1 i N
t 1
2 t T, 1 i N
3) Kết thúc
P* max[ T (i)]
1 i N

q *T arg max[ T (i).aij ]


1 i N

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 57

Truy hồi các trạng thái


q*T=y t+1(q*t+1), t = T-1, T-2, ... ,1
Kết thúc thuật toán các q*t chính là các trạng thái của dãy cần tìm.
Thuật toán Viterbi gần giồng như thuật toán tính biến tiến t(i). Điểm khác nhau cơ bản
giữa hai thuật toán này là công thức tính max (2.4) được dùng thay cho công thức tính tổng
(2.3).
c) Bài toán 3
Đây là bài toán khó khăn nhất của mô hình Markov ẩn, chúng ta phải điều chỉnh bộ ba các
tham số (A, B, ) để xác suất P(O ) là lớn nhất. Trên thực tế không tồn tại một phương pháp
thực sự tối ưu để P(O ) là lớn nhất. Giải pháp cho bài toán này thường lựa chọn các thủ tục
huấn luyện lặp Baum-Welch.
Để miêu tả thuật toán điều chỉnh tham số (re-estimation) Baum-Welch, ta định nghĩa biến
t(i) = P(q t = Si O, ) là xác suất để mô hình ở trạng thái Si vào thời điểm t với dãy quan sát O

và mô hình đã cho. Với định nghĩa trên, biến t(i) được biểu diễn thông qua hai biến tiến và
lùi như sau:
P(qt Si , O λ) αt (i)βt (i) αt (i)βt (i)
t(i)= (2.5)
P(O λ) P(O λ) N
αt (i)βt (i)
i 1

Trong công thức trên t (i) là xác suất của dãy qua sát O1, O2, ..., Ot và t(i) là xác suất của
dãy Ot+1, Ot+2, ..., OT với mô hình ở trạng thái Si vào thời điểm t.
Từ công thức (2.5) ta rút ra được
N
γ t (i ) 1
i 1

Với t(i) ta có thể tìm được tại thời điểm t xác suất lớn nhất của dãy O1, O2, ..., Ot là :
qt=argmax[ t(i)], 1 i N, 1 t T
Ta định nghĩa biến t(i, j) là xác suất mô hình ở trạng thái Si tại thời điểm t và ở trạng thái
Sj tại thời điểm t+1 với mô hình và dãy quan sát O cho trước.
t(i, j) = P(qt = Si, qt+1 = Sj O, )
Hình 2.7 miêu tả mối quan hệ chuyển dịch giữa các trạng thái Si và Sj. Từ định nghĩa các
biến tiến lùi t(i) và t(i) ta có
P(qt Si , qt 1 S j , O λ) t (i)aij b j (Ot 1 ) t 1 ( j)
t(i, j) = =
P(O λ) P(O )

t (i)aij b j (Ot 1 ) t 1 ( j)
t(i, j) = N N

t (i)aij b j (Ot 1 ) t 1 ( j)
i 1 j 1

P(qt Si , O ) t(i) t (i)


t(i) = P(qt = Si O, ) =
P(O ) P(O )
Với các định nghĩa trên ta có

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 58

N
t(i)= t (i, j )
j 1

Si Sj

(i)
t t+1(j)

t-1 t t+1 t+2

Hình 2.7. Miêu tả các phép tính cần thiết để tính t(i, j).
Từ định nghĩa công thức trên ta có thể nhận thấy:
T 1
t 1
ξ t (i, j ) = là khả năng để mô hình chuyển trạng thái từ Si sang Sj
T 1
t 1
γ t (i ) = là khả năng để mô hình chuyển trạng thái từ Si

Từ các quan sát trên ta có tập các công thức dùng để điều chỉnh (re-estimation) các tham số
của mô hình Markov ẩn như sau :
πi khả năng mô hình ở trạng thái Si tại thời điểm (t=1) γ 1 (i ) (2.6)
a ij khả năng chuyển từ trạng thái Si sang trạng thái Sj / khả năng chuyển từ trạng thái Si
T 1
t 1 t
ξ (i, j )
T 1
(2.7)
t
γ (i)
1 t

b j (v k ) khả năng ở tại trạng thái Si với ký hiệu quan sát vk / khả năng ở tại trạng thái Si
T
t 1,Ot vk
γt ( j )
T
(2.8)
t
γ ( j)
1 t

Với một mô hình =(A, B, ) đầu tiên chúng ta dùng các công thức (2.6), (2.7), (2.8) để
tính toán bộ tham số mới λ ( A, B , π) . Người ta đã chứng minh được rằng:

Hoặc là mô hình khởi điểm được định nghĩa chính xác là mô hình hội tụ và do đó = λ .
Hoặc là mô hình mới có P(O λ ) > P(O )
Dựa vào chứng minh này chúng ta dùng λ thay thế cho là lặp lại các tính toán (2.6), (2.7)
, (2.8) ta sẽ cải thiện được xác suất P(O ) cho tới thời điểm thuật toán hội tụ.
Trong quá trình tính toán, sau mỗi lần lặp các biểu thức sau đây luôn được thoả mãn :
N
i 1
i 1

N
a ij 1 1 i N
j 1

N
b j (k ) 1 1 j N
k 1

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 59

3.3.4. Các loại mô hình Markov ẩn


Có nhiều cách phân loại các mô hình Markov ẩn, trong đó người ta thường phân biệt các
mô hình Markov ẩn theo tính chất của hàm phát xạ quan sát. Có ba loại mô hình Markov ẩn:
mô hình Markov ẩn rời rạc, mô hình Markov ẩn liên tục và mô hình Markov ẩn bán liên tục.
a) Mô hình HMM rời rạc
Trong mô hình này không gian các đặc tính phổ được chia thành một số hữu hạn các vùng
(cluster) bằng phương pháp lượng tử hoá vector VQ (Vector Quantization). Trọng tâm của mỗi
vùng được biểu diễn bằng một từ mã (codeword) mà thực chất là một chỉ số chỉ tới một sách
mã (codebook). Một khung tín hiệu được biến đổi thành một từ mã bằng cách tìm một vector
gần với nó nhất trong sách mã. Nhược điểm của mô hình dạng này là có sai số trong quá trình
lượng tử hoá nhất là nếu kích thước của sách mã là nhỏ, ngược lại nếu kích thước của sách mã
lớn thì sẽ phải trả giá bằng số lượng tính toán sẽ tăng lên.
b) Mô hình HMM liên tục
Nhược điểm của phương pháp trên có thể được khắc phục bằng cách dùng mô hình HMM
liên tục CD-HMM (Continuous Density–HMM). Trong phương pháp này không gian các đặc
tính phổ được mô hình hoá bằng các hàm mật độ xác suất, thông thường là hàm trộn của các
hàm Gauss.
K
bj ( y) c jk N ( y; jk ; jk )
k 1

Trong đó K là số thành phần trộn (mixture) tại trạng thái j, cjk là trọng số của thành phần thứ
k và N (.; ; ) là hàm mật độ xác suất Gauss. Trong quá trình huấn luyện việc hiệu chỉnh các
xác suất hàm b() được thay bằng hiệu chỉnh các tham số , . Nhược điểm của phương pháp
này là mỗi trạng thái đều có các tham số của riêng chúng, do đó số lượng các tham số là rất lớn
và do vậy không thể tránh khỏi các trường hợp không đủ dữ liệu huấn luyện cho các trạng thái.
Ngoài ra mô hình liên tục sẽ có thời gian tính toán khá lâu.
c) Mô hình HMM bán liên tục
Mô hình HMM bán liên tục (semi-continuous) là mô hình kết hợp giữa hai mô hình trên.
Giống như trong mô hình rời rạc, trong mô hình bán liên tục cũng có một sách mã miêu tả các
vùng được dùng chung cho tất cả các trạng thái. Tuy nhiên thay vì biểu diễn các vùng bằng một
trọng tâm (centroid), trong đó các vector lân cận sẽ được nhóm vào làm một, các vùng được
biểu diễn bởi các hàm mật độ xác suất liên tục Gauss trong vùng không gian lân cận để tránh
các lỗi của lượng tử hoá. Như vậy
L
bj ( y) c jk N ( y; jk ; jk )
k 1

Trong đó L là kích thước của sách mã. Trong quá trình huấn luyện giống như trong mô hình
liên tục các tham số Gauss được tính toán. Việc dùng mô hình này sẽ giúp cải thiện thời gian
tính toán của mô hình liên tục.
Trong khi cả ba mô hình đều được sử dụng rộng rãi trong các hệ thống nhận dạng, mô hình
liên tục cho thấy khả năng nhận dạng tốt nhất mặc dù tốc độ hoạt động của hệ thống này chậm
hơn các hệ thống khác [23].

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 60

3.3.5. Giới hạn của mô hình Markov ẩn


Mặc dù mô hình Markov ẩn được sử dụng rộng rãi trong các hệ thống nhận dạng, tuy nhiên
mô hình Markov ẩn cũng có một số nhược điểm xuất phát từ các giả thiết của nó như sau:
Giả thiết về bậc. Trong mô hình Markov ẩn ta giả thiết rằng các xác suất chỉ phụ thuộc vào
trạng thái hiện thời mà độc lập với quá khứ. Điều này không đúng trong các ứng dụng tiếng
nói. Hậu quả của nhược điểm này là mô hình Markov ẩn khó khăn trong mô hình hoá hiện
tượng đồng phát âm (coarticulation) do các xác suất phát xạ quan sát bị ảnh hưởng bởi các
trạng trái trong quá khứ.
Giả thiết về tính độc lập. Giả thiết này cho rằng không có mối liên hệ giữa các khung tín
hiệu lân cận nhau, điều này không đúng trong giọng nói. HMM chỉ làm việc với một khung tín
hiệu tại một thời điểm. Để lấy thêm thông tin các khung tín hiệu xung quanh, HMM phải lấy
thêm đặc tính phổ của các khung tín hiệu lân cận làm dữ liệu huấn luyện.
Các mô hình Markov ẩn liên tục, rời rạc và bán liên tục khó đạt được trạng thái tối ưu. Với
mô hình rời rạc, một tỷ lệ lỗi lượng tử hoá là không tránh khỏi. Với mô hình liên tục và bán
liên tục có một tỷ lệ nhất định không hoàn toàn chính xác của mô hình thống kê.
3.4. Mạng neuron nhân tạo
3.4.1. Giới thiệu
Mạng ANN với khả năng phân lớp mạnh đã được sử dụng thành công trong nhiều bài toán
của trí tuệ nhân tạo. Với nhận dạng tiếng nói, các ưu điểm của mạng ANN được sử dụng hiệu
quả bao gồm:
Khả năng được huấn luyện. Mạng ANN có thể được huấn luyện để kết hợp bất kỳ các mẫu
dữ liệu vào và các mẫu dữ liệu ra. Vì vậy mạng có thể được dùng để phân lớp tín hiệu tiếng nói
thành các phần category của các âm vị.
Tổng quát hoá. Mạng ANN không phải chỉ có khả năng ghi nhớ dữ liệu huấn luyện mà
chúng còn có thể học các mẫu huấn luyện chính, tổng quát hoá từ dữ liệu huấn luyện sang các
mẫu mới. Tính chất này rất có ích vì tín hiệu tiếng nói thường xuyên là không giống nhau
Tính ổn định. Mạng ANN có tính ổn định cao với dữ liệu có nhiều nhiễu. Tín hiệu tiếng nói
là một trong các nguồn dữ liệu có nhiều nhiễu.
Tính song song. Mạng ANN có bản chất song song, do đó nó thích hợp để cài đặt trong các
hệ thống máy tính song song cho phép xử lý dữ liệu tiếng nói nhanh.
3.4.2. Mạng Perceptron tuyến tính đơn SLP
Mạng SLP (Simple Linear Perceptron) bao gồm một lớp nút vào (input) và lớp nút ra
(output). Với mỗi một vector giá trị đầu vào, các giá trị input được đưa vào các nút input, và
mạng ANN sẽ cho kết quả tương ứng tại các nút output. Ký hiệu các nút đầu vào xi là
x1 , x2 ,..., xni , trong đó ni là số lượng nút vào; các nút đầu ra yi là yˆ1 , yˆ 2 ,..., yˆ no , no là số lượng nút
ra. Mỗi một nút input xi liên hệ đều có một nối kết (connection hay synapses) với một nút
output yj. Mỗi nối kết được gán một giá trị, gọi là trọng số (synapses strength), ký hiệu là wij.
Các tín hiệu vào được lan truyền theo các nối kết và được nhân với các trọng số của mỗi nối
kết. Tính toán tại lớp vào sẽ được lan truyền sang lớp kế tiếp và do vậy mạng được gọi là lan
truyền thẳng (feed-forward).

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 61

ŷ1 ŷ2 ŷ3 yˆ no

...

trọng số
wij

...

Hình 2.8.xMạng xneuron Perceptron


x đơn
1 2 ni
Tại mỗi nút output của mạng, các tín hiệu vào sẽ được nhân với các trọng số và sau đó được
cộng lại thành giá trị output tương tự y i , sau đó giá trị này là input của một hàm phi tuyến gọi
là hàm kích hoạt (.) tạo ra kết quả là một giá trị output của nút yˆ i như được miêu tả bởi công
thức sau:
ni
yˆ i ( yi ) ( wij x j ) (2.9)
j 1

Hàm (.) hay được sử dụng trong nhận dạng tiếng nói là hàm sigmoid và hàm softmax.
Gọi tập dữ liệu mẫu dùng để huấn luyện là (xk, yk ). Với tập dữ liệu mẫu, mạng ANN với
các trọng số, bài toán huấn luyện mạng được đặt ra như là điều chỉnh các trọng số sao cho với
mỗi vector giá trị vào xk , mạng cho một kết quả tương ứng yˆ k , gần nhất với kết quả mong
muốn y k theo một tiêu chuẩn nào đó. Lựa chọn thông dụng cho một hàm tiêu chuẩn là hàm
bình phương tối thiểu (least square criterion).
K no
1
E ( yi ,k yˆi ,k ) 2 (2.10)
2 k 1 i 1

Trong đó yˆi ,k là giá trị output của nút ra thứ i tương ứng với vector giá trị vào xk, yi ,k là giá
trị mong muốn tương ứng của tập dữ liệu huấn luyện. K là số lượng các mẫu trong tập huấn
luyện. Giá trị 1/2 trong công thức với mục đích thuận tiện cho tính toán, khi lấy đạo hàm vế
phải của (2.10). Quá trình huấn luyện được thực hiện với mục đích giảm giá trị hàm lỗi E. Một
phương pháp thông dụng để giảm giá trị hàm lỗi E được áp dụng trong hầu hết các mạng là
phương pháp giảm gradient.
Phương pháp giảm gradient là một kỹ thuật tối ưu hoá đảm bảo hội tụ về một giá trị cực
tiểu cục bộ. Phương pháp được tiến hành theo nhiều vòng lặp, mỗi vòng lặp các giá trị trọng số
được điều chỉnh theo hướng ngược với giá trị gradient. Gọi w là giá trị trọng số tại một bước
của thuật toán, giá trị trọng số mới được tính toán cho bước tiếp theo:
w w w
trong đó w biểu diễn sự thay đổi của trọng số, tỷ lệ với giá trị w C , là giá trị lỗi vector
gradient được tính toán theo trọng số w
w w C
Các giá trị trọng số được biểu diễn bằng công thức:

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 62

C
wij
wij

Trong đó được gọi là hệ số học (learning rate). Hệ số học quyết định tốc độ hội tụ của
mạng. Nếu hệ số học nhỏ tốc độ hội tụ sẽ chậm, ngược lại nếu hệ số học lớn thì tốc độ hội tụ sẽ
nhanh hơn. Tuy nhiên nếu hệ số học quá lớn sẽ làm thuật toán khó tiếp cận gần đến điểm cực
tiểu. Giá trị tốt nhất của hệ số học phải đảm bảo để mạng hội tụ nhanh, mặt khác đảm bảo để
giá trị hàm lỗi E là nhỏ nhất.
Trong quá trình huấn luyện, bước lặp đầu tiên sẽ bắt đầu với các trọng số được khởi tạo
trước. Sau đó qua các bước lặp mạng sẽ điều chỉnh các trọng số theo hướng giảm gradient để
cuối cùng hội tụ tại một điểm cực tiểu địa phương (local minimum). Về mặt lý thuyết, quá trình
học có thể bị kẹt (stuck) tại một giá trị cực tiểu địa phương mà không thể tới được giá trị cực
tiểu toàn cục (global). Để giải quyết vấn đề này, mạng có thể được huấn luyện vài lần với tập
các trọng số được khởi tạo khác nhau.
Quá trình huấn luyện thường được tiến hành với tất cả tập dữ liệu mẫu tại mỗi bước lặp
(được gọi là tính toán theo lô, batch mode), quá trình huấn luyện thường mất rất nhiều thời
gian. Trong thực tế thay cho tính toán giá trị gradient (2.10) của toàn bộ dữ liệu mẫu, giá trị
gradient được tính toán trực tiếp (online) với mỗi một cặp dữ liệu mẫu (xk, yk ).
no
1
E ( yi yˆ i ) 2 (2.11)
2 i 1

Các trọng số được cập nhật vẫn theo các công thức như đã trình bầy ở trên. Phương pháp
này được gọi là giảm gradient ngẫu nhiên (stochastic gradient descent) và đã được chứng minh
là hiệu quả hơn nếu số mẫu huấn luyện là lớn (khoảng vài trăm trở lên).
Từ phương trình (2.11) lấy đạo hàm riêng theo từng trọng số ta có:
C 1 no ( yk yˆ k )2
wij 2k1 wij

1 ( yi yˆi ) 2 yˆi
( yi yˆi ) (2.12)
2 wij wij
Từ phương trình (2.9) ta có
ni
wil xl
yˆi l 1

wij wij
xi (2.13)
Từ hai phương trình (2.12) và (2.13) ta có
wij ( yi yˆi ) x j (2.14)
Phương trình (2.14) cho thấy sự biến thiên của trọng số của mạng sau khi có một giá trị vào
mạng, giá trị này tỷ lệ với hiệu số giữa giá trị tại các nút output và giá trị ra mong muốn nhận
được.
Ta định nghĩa đại lượng

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 63

i yi yˆi
Khi đó phương trình (2.14) được viết lại là
wij xj (2.15)
Phương trình (2.15) được gọi là luật delta (delta rule).
3.4.3. Mạng Perceptron đa lớp MLP
Một trong những cấu trúc thông dụng nhất của mạng neuron là mạng Perceptron đa lớp
MLP (MultiLayer Perceptron). Mạng MLP gồm có một lớp vào (input), một lớp ra (output) và
một hoặc nhiều lớp ẩn (hidden). Mạng MLP cũng có thể được hiểu là mạng Perceptron một lớp
được bổ sung thêm một hoặc nhiều lớp ẩn. Một vector đầu vào sẽ được đưa vào lớp vào (input)
của mạng và sau đó các tính toán được thực hiện lan truyền thẳng (feed-forward) từ lớp vào
input sang các lớp ẩn và kết thúc ở lớp ra output. Hàm kích hoạt kết hợp với các nút ẩn hay các
nút output có thể là hàm tuyến tính hay phi tuyến và có thể khác nhau giữa các nút. Hình 2.9
miêu tả một ví dụ mạng Perceptron đa lớp.
Quá trình huấn luyện mạng MLP là quá trình học có giám sát, các trọng số giữa các nút của
hai lớp kế tiếp được điều chỉnh theo một hàm tiêu chuẩn nào đó (criterion function). Hàm tiểu
chuẩn thông dụng hay được dùng giống như mạng Perceptron đơn lớp là hàm tổng bình
phương hiệu số giữa các giá trị output và các giá trị mong muốn của các nút ra.

ŷ1 ŷ2 ŷ3 yˆ no

...

trọng số
wij
...

trọng số
vij

...

x1 x2 xni
Hình 2.9. Mạng neuron Perceptron đa lớp MLP
Giả thiết rằng mạng MLP gồm có ba lớp, trong đó có một lớp ẩn như miêu tả trong Hình
2.9. Gọi hàm kích hoạt đối với các nút ẩn là ( x) , hàm kích hoạt đối với nút ra là ( x) , ta có
trọng số wij giữa nút ẩn j và nút ra i được điều chỉnh theo hàm lỗi E như sau:
no
1
E ( yn yˆ n ) 2
2 n 1

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 64

E
wij
wij
Ta có thể tính
E 1 no ( yn yˆ n )2
wij 2n1 wij

1 ( yi yˆi ) 2
2 wij
yi
( yi yˆi ) (2.16)
wij
Trong đó ta có thể tính:
yi ( yi )
wij wij

( yi ) yi
yi wij
nh
wil yˆl
l 1
i ( yi )
wij

i ( yi ) yˆ j (2.17)
Từ hai phương trình (2.16) và (2.17) ta có
wij ( yi yˆi ) i ( yi ) yˆ j

Đặt:

i
o
( yi yˆi ) i ( yi )
(2.18)
Cuối cùng ta có công thức điều chỉnh trọng số tương tự như trường hợp của mạng Perceptron
đơn lớp như sau:
wij i
o
yˆ j (2.19)

Bây giờ ta xem xét trường hợp của trọng số v jk giữa nút vào k và nút ẩn j được điều chỉnh
theo hàm lỗi E:
no
1
E ( yn yˆ n ) 2
2 n 1

E
v jk (2.20)
v jk

Ta có thể tính
E 1 no ( yn yˆ n )2
v jk 2n1 v jk

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 65

no
yˆ n
( yn yˆ n ) (2.21)
n 1 v jk
Ta có thể thấy từ phương trình (2.21) là sự thay đổi của trọng số v jk liên quan đến toàn bộ các
nút ra output của mạng.
yˆ n ( yn )
v jk v jk
( yn ) yn
yn v jk

yn
( yn ) (2.22)
v jk
Trong đó:
nh
wnl hˆl
yn l 1

v jk v jk
nh
hˆl
wnl
l 1 v jk

hˆ j
wnj (2.23)
v jk

Trong đó hˆ j là giá trị đầu ra của nút ẩn thứ j. Ta tiếp tục tính:

hˆ j (h j )
v jk v jk

(h j ) h j
hj v jk
ni
v jm xm
m 1
j (yj )
v jk

j (hj ) xk (2.24)
Từ các phương trình (2.20), (2.21), (2.22) và (2.24) ta có
no
v jk ( yn yˆ n ) n ( yn ) wnj j (h j ) xk
n 1

no
wnj ( yn yˆ n ) n ( yn ) j (h j ) xk (2.25)
n 1

no
o
( wnj n ) j ( h j ) xk
n 1

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 66

Trong đó o
n được định nghĩa bởi (2.18)
no
Đặt h
j ( wnj o
n ) j ( h j ) ta sẽ có công thức cập nhật trọng số tương tự như công thức (2.19):
n 1

h
v jk j k x (2.26)
Các phương trình (2.19) và (2.26) tạo thành một tập phương trình được gọi là qui tắc delta
tổng quát (Generalized Delta Rule)
Từ công thức (2.25) cho ta thấy trong quá trình học, giá trị hàm lỗi là bình phương hiệu số
giữa giá trị output của mạng và giá trị mong muốn của tập mẫu được tính toán tạo thành giá trị
delta của lớp output, giá trị này được dùng để hiệu chỉnh các trọng số liên kết với lớp output.
Sau đó giá trị delta này lan truyền ngược về phía lớp ẩn cho phép tính toán các trọng số liên kết
với lớp ẩn theo phương trình (2.25). Chính vì vậy quá trình này được gọi là học lan truyền
ngược sai số (Error Back Propagation) .

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 67

Chương IV: Huấn luyện và nhận dạng tiếng nói


4.1. Huấn luyện và nhận dạng theo mô hình markov
4.1.1. Giới thiệu về HTK
Bộ công cụ HTK (Hidden Markov Model Toolkit) là bộ công cụ dùng để xây dựng và
nghiên cứu thao tác trên các mô hình Markov ẩn. Nó bao gồm các modul, các công cụ được
viết bằng ngôn ngữ C. Các công cụ cung cấp phương tiện cho phép phân tích giọng nói, huấn
luyện HMM, kiểm tra và phân tích kết quả nhận dạng. Các phần mềm dùng cả các hàm mật độ
xác suất liên tục và rời rạc và có thể xây dựng các hệ thống HMM phức tạp.
HTK đầu tiên được phát triển tại nhóm Speech Vision and Robotics của Phòng Công nghệ
Đại học Cambridge CUED (Cambridge University Engineering Department) và đã được dùng
để xây dựng hệ thống nhận dạng từ vựng kích thước lớn của CUED. Vào năm 1993, phòng thí
nghiệm nghiên cứu Entropic đã dành được quyền bán HTK và sự phát triển của HTK đã hoàn
toàn được chuyển cho phòng thí nghiệm này vào năm 1995 khi phòng thí nghiệm nghiên cứu
Cambridge Entropic ra đời. Năm 1999, Microsoft mua lại Entropic và hiện nay Microsoft có
bản quyền của HTK. Trong khi Microsoft giữ bản quyền của mã nguồn HTK, tất cả mọi người
đều được khuyên khích tham gia vào phát triển mã nguồn và HTK được cung cấp miễn phí và
có thể tải xuống từ trên mạng tại địa chỉ: http://htk.eng.cam.ac.uk/download.shtml. Phiên bản
mới nhất của HTK là 3.1 [Steve 2002] và cộng đồng những người nghiên cứu sử dụng HTK đã
lên tới 12 000 người.
4.1.2. Huấn luyện hệ thống nhận dạng
Chuẩn bị dữ liệu:
a) Định nghĩa ngữ pháp
HTK cho phép định nghĩa một qui tắc ngữ pháp của một hệ thống nhận dạng dưới dạng một
tệp văn bản. Các qui tắc ngữ pháp này sẽ được sử dụng trong giai đoạn decoding dùng thuật
toán Viterbi. Tuỳ theo hệ thống nhận dạng mà ta xây dựng ngữ pháp cho hệ thống đó. Ví dụ
sau là một qui tắc ngữ pháp của một hệ thống nhận dạng quay số bằng giọng nói, người dùng
có thể đọc số điện thoại cần gọi hoặc đọc tên của người bị gọi.
$digit = ONE | TWO | THREE | FOUR | FIVE |
SIX | SEVEN | EIGHT | NINE | OH | ZERO;
$name = [ JOOP ] JANSEN |
[ JULIAN ] ODELL |
[ DAVE ] OLLASON |
[ PHIL ] WOODLAND |
[ STEVE ] YOUNG;
( SENT-START ( DIAL <$digit> | (PHONE|CALL) $name) SENT-END )
b) Định nghĩa từ điển
Từ điển được định nghĩa trong một tệp văn bản bao gồm các từ mà hệ thống có thể nhận
dạng được và các phiên âm của các từ này thành các đơn vị nhận dạng của hệ thống. Đối với
các hệ thống nhận dạng có số từ vựng lớn, các đơn vị nhận dạng này thường là âm vị. Một từ
điển bao gồm nhiều dòng, mỗi dòng tương ứng với một từ và phiên âm của nó. Một từ có thể
có nhiều phiên âm khác nhau. Có hai âm vị đặc biệt đó là sil và sp. sil là đơn vị nhận dạng biểu

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 68

thị một khoảng yên lặng, sp là đơn vị nhận dạng biểu thị một ngắt giọng (short pause). Cả hai
đơn vị đều biểu thị một khoảng yên lặng, sil được khai báo ở đầu và cuối mỗi phát âm, sp được
đặt ở giữa hai từ trong một câu. Mô hình Markov ẩn của sp được xây dựng dựa trên mô hình
Markov ẩn của sil. Khác nhau cơ bản của hai đơn vị nhận dạng là vai trò của nó trong xây dựng
ngữ cảnh cho các âm vị. Ví dụ về một tệp định nghĩa từ điển như sau:
soo s oo sp
soo s oo sil
ddieen dd ie n sp
ddieen dd ie n sil
thoai th w aw i sp
thoai th w aw i sil
quen k w e n sp
quen k w e n sil
....
c) Cơ sở dữ liệu
Cơ sở dữ liệu bao gồm các tệp âm thanh lưu ở dạng wav, và các tệp văn bản chứa phiên âm
chính tả của các tệp âm thanh. Mỗi tệp âm thanh có một tệp văn bản tương ứng chứa phiên âm
chính tả của phát âm. Các phiên âm ở mức âm vị được lưu trong các tệp có đuôi .phn. Các
phiên âm ở mức âm vị bao gồm nhiều dòng, mỗi dòng chứa tên âm vị cùng với nhãn thời gian
của âm vị đó trong tệp âm thanh.
d) Trích chọn các đặc điểm
Công việc tính toán trích chọn các đặc tính phổ của các tệp âm thanh được thực hiện bởi
công cụ Hcopy. HTK hỗ trợ tính toán nhiều loại tham số khác nhau, trong đó có các loại thông
dụng là MFCC và PLP. Các hệ số MFCC và PLP được tính toán và lưu vào một tệp tương ứng
với tệp âm thanh với phần đuôi là .mfc. Các giá trị delta của các hệ số trên được tính toán trong
quá trình huấn luyện và nhận dạng (on-the-fly). Hcopy sẽ đọc một tệp cấu hình, trong đó khai
báo các tham số dùng trong quá trình tính toán các giá trị đặc tính phổ của tệp âm thanh. Ví dụ
tệp cấu hình như sau:
SOURCEKIND = WAVEFORM
SOURCEFORMAT = WAV
TARKETRATE = 100000
ENORMALISE = T
NUMCEPS = 12
CELPLIFTER = 22
PREEMCOEF = 0.970000
USEPOWER = T
USEHAMMING = T
WINDOWSIZE = 250000.000000
SAVEWITHCRC = T
SAVECOMPRESSED = T
TARGETRATE = 100000.000000
TARGETKIND = PLP_E_D_A_Z

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 69

Trong khai báo trên phương pháp trích trọn đặc điểm PLP được áp dụng, kích thước cửa sổ
Hamming là 25sm, số mạch lọc là 22, hệ số dùng để nhấn mạnh (preemphasis) là 0.97, các
tham số được dùng bao gồm 12 hệ số PLP cộng với giá trị năng lượng. Giá trị delta và
delta+delta được sử dụng tạo thành vector 39 đặc tính. Phương pháp CMS được áp dụng để lọc
bỏ nhiễu.
e) Khai báo cấu trúc mô hình Markov
Mỗi mô hình Markov chứa nhiều trạng thái, trong đó có một trạng thái khởi đầu và một
trạng thái kết thúc là các trạng thái đặc biệt không phát sinh quan sát nonemitting), nghĩa là
không có xác suất phát xạ quan sát bj(ot) kết hợp với các trạng thái này.
Đối với các trạng thái không phải là trạng thái đầu và trạng thái cuối, xác suất phát xạ quan
sát là một hàm mật độ xác suất được xây dựng trên cơ sở các hàm mật độ xác suất Gaussian.
Hàm này bao gồm một hoặc nhiều các dòng (stream), mỗi dòng có thể có một hoặc nhiều thành
phần trộn bao gồm các hàm mật độ xác suất Gaussian. Cấu trúc nhiều dòng cho phép hệ thống
mô hình hoá nhiều dòng thông tin khác nhau. Thông thường số lượng dòng tối đa là 4 dòng.
Công thức tổng quát của hàm phát xạ quan sát ot tại trạng thái j được biểu diễn như sau:

Cấu trúc và các tham số của mô hình Markov ẩn được định nghĩa trong một tệp văn bản. Ví
dụ về một tệp định nghĩa một mô hình Markov ẩn có năm trạng thái, trong đó có một trạng thái
khởi đầu và một trạng thái kết thúc như sau:
1. ~o <VecSize> 39 <PLP_E_D_A_Z>
2. ~h "proto"
3. <BeginHMM>
4. <NumStates> 5
5. <State> 2
6. <Mean> 39
7. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
8. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
10. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
11. <Variance> 39
12. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
13. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
14. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
15. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
16. <State> 3
17. <Mean> 39
18. ...
19. <TransP> 5
20. 0.0 1.0 0.0 0.0 0.0
21. 0.0 0.6 0.4 0.0 0.0
22. 0.0 0.0 0.6 0.4 0.0

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 70

23. 0.0 0.0 0.0 0.7 0.3


24. 0.0 0.0 0.0 0.0 0.0
25. <EndHMM>
Dòng 1 cho biết vector đặc tính được sử dụng là 12 hệ số PLP, một giá trị năng lượng (E),
các giá trị delta bậc một và bậc 2 được sử dụng (D_A) tạo thành một vector gồm 39 đặc tính.
Phương pháp xử lý tiếng nói CMS được sử dụng để loại bỏ ảnh hưởng của nhiễu (_Z). Dòng 4
cho biết số lượng trạng thái trong mô hình là 5 trạng thái. Với mỗi trạng thái, các giá trị à và Σ
được khai báo từ dòng 6 tới dòng 15. Số lượng các giá trị này bằng số lượng các đặc tính phổ
được dùng. Ma trận hiệp phương sai thường là ma trận đối xứng có thể được khai báo bằng các
giá trị phần tử của ma trận hoặc được khai báo bằng các giá trị trên đường chéo của ma trận
như là ở ví dụ trên (khi đó các phần tử còn lại có giá trị 0).
f) Khởi tạo các tham số
Sau khi được khai báo với cấu trúc và các giá trị tham số ban đầu, các mô hình Markov ẩn
có thể được khởi tạo (initialised) bằng theo hai cách: dùng Hinit hoặc dung Hcompv.
g) Dùng công cụ Hinit

Hình 3.1. Thuật toán của Hinit


Hình 3.1 miêu tả hoạt động của Hinit. Hinit được dùng để huấn luyện mô hình Markov ẩn
đối với từng âm vị. Dữ liệu vào của Hinit là tệp định nghĩa cấu trúc và các tham số khai báo
bằng tay của âm vị, ví dụ âm vị /m/ có tệp tương ứng “m.1”. Dữ liệu vào thứ hai là dãy các
vector đặc tính phổ tương ứng với âm vị /m/ được lấy trong tập dữ liệu huấn luyện là các tệp
.mfc. Thông tin về các nhãn thời gian được dùng để lọc ra các vector phổ tương ứng với âm vị
/m/ trong số các âm vị khác trong dữ liệu huấn luyện. Kết quả huấn luyện của Hinit là các tham
số của mô hình Markov ẩn của âm vị /m/ đã được khởi tạo. Với mỗi dãy vector các đặc tính
phổ, đầu tiên thuật toán Viterbi được dùng để tìm dãy trạng thái tốt nhất với mỗi dãy vector
huấn luyện, sau đó các tham số được tính toán. Một hệ quả của thuật toán Viterbi là xác suất

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 71

giống nhau likelihook của dữ liệu huấn luyện với mô hình sẽ được tính toán và quá trình sẽ tiếp
tục lặp lại cho đến khi việc tăng xác suất tới gần điểm hội tụ.
Tuy nhiên ở vòng lặp đầu tiên, thuật toán Viterbi không được dùng để phân đoạn bởi vì các
tham số của mô hình lúc này mới chỉ là các tham số được khai báo bằng tay chưa đủ chính xác
để tiến hành phân đoạn. Để giải quyết trường hợp này các dãy vector phát âm được chia thành
các đoạn thời gian bằng nhau và gán cho các đoạn này các trạng thái tương ứng với mô hình.
Cách làm này chỉ áp dụng được với mô hình Markov ẩn có cấu trúc trái-phải (left-right). Đối
với mô hình Markov ẩn có cấu trúc ergodic, Hinit không áp dụng được.
Nếu trạng thái của mô hình có nhiều thành phần trộn, vector huấn luyện sẽ được kết hợp
với thành phần có xác suất giống nhau likelihood lớn nhất. Số lượng vector kết hợp với mỗi
thành phần trộn sau này sẽ được dùng để tính toán giá trị trọng số của thành phần trộn. Trong
bước đầu khi phát âm được phân đoạn thành các đoạn thời gian bằng nhau, thuật toán K-mean
được áp dụng để chia các vector thành các nhóm tương ứng với mỗi thành phần trộn trong mỗi
trạng thái.

h) Dùng công cụ Hcompv


Một giới hạn của công cụ Hinit đó là các dữ liệu huấn luyện cần phải được gán nhãn. Với
các thông tin về nhãn thời gian của các đơn vị nhận dạng, Hinit sẽ tính toán các tham số của mô
hình Markov ẩn tương ứng với từng âm vị dựa trên các thông tin nhãn thời gian của mỗi âm vị
trong tập dữ liệu huấn luyện.
Với Hcompv, khi các nhãn thời gian nói trên không được cung cấp thì Hcompv sẽ khởi tạo
các tham số của tất cả các mô hình Markov ẩn với cùng một giá trị. Cách làm này gọi là khởi
tạo phẳng (flat start). Trên thực tế, Hcompv làm việc giống như Hinit ở bước khởi đầu, tức là
các vector của một phát âm sẽ được chia thành các đoạn đều nhau đều cho tất các âm vị. Tuy
nhiên khác với Hinit, các âm vị đều chung nhau một mô hình và các tham số của mô hình này
sẽ được tính toán và khởi tạo giống nhau. Hình 3.3 miêu tả hoạt động của Hcompv.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 72

i) Huấn luyện các đơn vị nhận dạng đơn


Bước đầu tiên trong quá trình huấn luyện là huấn luyện các mô hình tương ứng với mỗi đơn
vị nhận dạng đơn (monophone). Đây là đơn vị nhận dạng cơ bản độc lập với ngữ cảnh xung
quanh. Quá trình nhận dạng được thực hiện bằng huấn luyện nhúng (embedded) dùng công cụ
Herest.
Quá trình huấn luyện được chia làm hai giai đoạn, giai đoạn đầu các mô hình được huấn
luyện với đơn vị nhận dạng sil tại hai đầu phát âm mà không có sự tham gia của đơn vị nhận
dạng sp.

Giai đoạn hai, mô hình của đơn vị nhận dạng sil được điều chỉnh bằng bổ sung them hai
cung chuyển trạng thái từ trạng thái 2 sang trạng thái 4 và ngược lại. Mục đích của việc làm
này là nhằm cho phép mô hình có thể chịu được các nhiễu của dữ liệu huấn luyện. Trong giai
đoạn này, mô hình sp mới được tạo gồm một trạng thái phát xạ quan sát và trạng thái này được
buộc (tied) với trạng thái giữa của mô hình sil. Cấu trúc của hai mô hình sil và sp được miêu tả
trong Hình 3.4.
Công việc tạo chuyển dịch trạng thái mới của mô hình sil, tạo mô hình sp được thực hiện
bởi công cụ Hhed. Các bước huấn luyện nhúng được thực hiện với công cụ Herest.
k) Huấn luyện nhúng bằng Herest.
Đây là công cụ huấn luyện chính thực hiện huấn luyện bằng phương thức nhúng (embedded
trainning), tính toán và cập nhật các tham số của nhiều mô hình cùng một lúc. Đây là công cụ

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 73

quan trọng nhất và được coi là trái tim của hệ thống huấn luyện.

Với mỗi một phát âm, Herest sẽ tìm tệp chứa phiên âm chính tả của phát âm đó, sau đó nó
sẽ tra cứu trong từ điển phát âm của mỗi từ để tìm ra được dãy các âm vị tương ứng với phát
âm. Một mô hình Markov ẩn lớn sẽ được xây dựng bằng cách nối các mô hình Markov ẩn của
các âm vị vào với nhau. Sau đó thuật toán huấn luyện forward-backward sẽ được áp dụng với
mô hình Markov ẩn này. Herest sẽ kết thúc khi tất cả các phát âm trong tập dữ liệu huấn luyện
được xử lý.
l) Gán nhãn cưỡng bức dữ liệu huấn luyện
Việc huấn luyện các mô hình Markov ẩn của các đơn vị nhận dạng độc lập ngữ cảnh kết
thúc bởi huấn luyện dữ liệu được gán nhãn cưỡng bức (forced-alignment). Trong từ điển, một
từ có thể được phiên âm thành các âm vị theo nhiều cách khác nhau. Trong các bước huấn
luyện trước, hệ thống lấy phiên âm đầu tiên gặp trong từ điển của một từ để phân tích một phát
âm thành dãy các âm vị. Tại bước này, sau khi các mô hình đã được huấn luyện, các tham số đã
được tính toán, chúng được sử dụng để gán nhãn cưỡng bức lại dữ liệu huấn luyện. Đây là quá
trình phân tích một phát âm là các từ thành dãy các âm vị phù hợp nhất, trong đó các phiên âm
khác nhau của một từ sẽ được chọn để tìm ra phiên âm thích hợp. Quá trình gán nhãn cưỡng
bức thực chất gần giống với quá trình nhận dạng, được thực hiện bởi thuật toán Viterbi.
Sau khi dữ liệu huấn luyện đã được gán nhãn cưỡng bức, thủ tục Herest lại được dùng để
huấn luyện lại các mô hình trên cơ sở các dãy phiên âm tìm được của quá trình gán nhãn cưỡng
bức.
m) Huấn luyện các âm ba
Sau khi quá trình huấn luyện các đơn vị nhận dạng độc lập ngữ cảnh kết thúc. Hệ thống đã
sẵn sàng để tiến hành nhận dạng. Tuy nhiên, một âm vị luôn chịu ảnh hưởng của ngữ cảnh
xung quanh và hệ thống nhận dạng chỉ làm việc tốt nếu như chúng được huấn luyện bởi các
đơn vị nhận dạng phụ thuộc ngữ cảnh. Trong HTK đơn vị phụ thuộc ngữ cảnh được gọi là các
âm ba (triphone) để phân biệt với các âm đơn, đơn vị độc lập ngữ cảnh.
Tạo các âm ba từ các âm đơn
Âm ba (triphone) là đơn vị nhận dạng âm vị phụ thuộc ngữ cảnh được ký hiệu là ab+
c, trong đó /b/ là âm đơn, /a/ là âm vị bên trái âm vị /b/ và /c/ là âm vị bên phải âm vị/b/.
Các âm ba được tạo bằng cách lấy các âm đơn tương ứng, bổ xung thêm ngữ cảnh trái và
ngữ cảnh phải. Các đơn vị nhận dạng sil và sp không được chuyển đổi sang âm ba vì chúng chỉ

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 74

là một khoảng yên lặng, không phụ thuộc ngữ cảnh xung quanh. Có hai cách sinh ra các âm ba:
âm ba với ngữ cảnh giới nội từ (word internal) và âm ba với ngữ cảnh liên từ (cross-word).
Trong trường hợp đầu các âm vị chịu ảnh hưởng của ngữ cảnh trong một từ, các từ được coi
là cách nhau một khoảng yên lặng và các âm vị của các từ khác không ảnh hưởng đến nhau.
Các âm vị đầu và cuối một từ trong thực tế là các âm hai (biphone) thay vì âm ba, chỉ có âm vị
ở giữa từ mới là âm ba. Ví dụ sau đây là một dãy các âm đơn của một phát âm và các âm ba
tương ứng:
Âm đơn: sil ea ngz sp n o i sp t ie ngz sil v ietc sp h a sp sil
Âm ba: sil ea+ngz ea-ngz sp n+o n-o+i o-i sp t+ie t-ie+ngz ie-ngz sp
v+ietc v-ietc sp h+a h-a sp sil
Trong trường hợp thứ hai, các âm vị không những chịu ảnh hưởng của các âm vị trong từ
đó mà còn của các âm vị của các từ xung quanh. Có sự khác nhau giữa vai trò của đơn vị nhận
dạng sp và sil. Nếu như sự có mặt của sp không ảnh hưởng đến sự ảnh hưởng của ngữ cảnh đến
các âm ba, ngược lại âm vị sil được coi như là khoảng lặng chia tách ngữ cảnh và các âm vị
đứng cạnh sil thì sẽ không bị ảnh hưởng bởi ngữ cảnh.
Ví dụ sau đây là một dãy các âm đơn của một phát âm và các âm ba tương ứng:
Âm đơn: sil ea ngz sp n o i sp t ie ngz sil v ietc sp h a sp sil
Âm ba: sil sil-ea+ngz ea-ngz+n sp ngz-n+o n-o+i o-i+t sp i-t+ie t-ie+ngz
ie-ngz+sil sil sil-v+ietc v-ietc+h sp ietc-h+a h-a+sil sp sil
Việc chuyển đổi từ các âm đơn sang các âm ba được thực hiện bởi công cụ Hhed, như được
miêu tả trong Hình 3.6. Các tham số của các âm ba được sao chép từ các âm đơn tương ứng
bao gồm: các xác suất chuyển trạng thái aij, các tham số của hàm Gaussian của xác suất phát xạ
quan sát bj(ok).

Sau đó tệp phiên âm các âm đơn cũng được chuyển đổi sang tệp phiên âm các âm ba tương
ứng bằng công cụ Hled. Các âm ba sau đó được huấn luyện bằng công cụ huấn luyện nhúng
Herest. Các tham số của các âm ba được sao chép từ các âm đơn tương ứng sẽ được điều chỉnh
lại theo phiên âm của các âm ba tạo bởi Hled. Với các âm ba có cùng một âm đơn tương ứng,
trước khi được huấn luyện bởi Herest, các xác suất chuyển trạng thái aij được buộc vào nhau
(tied).

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 75

Điều này được thực hiện do xác suất chuyển trạng thái của một đơn vị nhận dạng ít ảnh
hưởng của ngữ cảnh xung quanh so với xác suất phát xạ quan sát. Trong quá trình huấn luyện
bởi Herest các xác suất chuyển trạng thái bị buộc vào nhau sẽ có cùng giá trị và được tính toán
cùng với nhau.
n) Buộc các âm ba
Các tham số có thể được buộc vào nhau. Khi một nhóm các tham số được buộc vào nhau,
các giá trị của các tham số này được dùng chung bởi tất cả các thành viên và được biểu diễn
bởi chung một macro trong tệp định nghĩa cấu hình của mô hình Markov ẩn. Trong quá trình
huấn luyện dữ liệu tương ứng với mỗi thành viên của một nhóm sẽ được dùng chung để tính
toán các tham số cho cả nhóm. Chính vì vậy việc buộc các tham số sẽ có ích với các mô hình
của các âm vị mà số lần xuất hiện của chúng trong tập dữ liệu không đủ. Khi đó việc buộc các
mô hình này với nhau sẽ cung cấp đủ dữ liệu để huấn luyện và làm quá trình huấn luyện trở nên
hiệu quả hơn. Trong hầu hết các hệ thống nhận dạng số lượng từ vựng lớn, phương pháp buộc
tham số đều được áp dụng hiệu quả.

Như đã trình bày ở phần trên, các mô hình của các âm ba triphone được tạo bằng cách sao
phép từ các mô hình của các âm đơn tương ứng. Sau đó các âm ba được huấn luyện lại bằng
Herest. Số lượng các âm ba được sinh từ các âm đơn là rất lớn (từ vài chục đến vài trăm âm ba
ứng với mỗi âm đơn), và do đó dữ liệu dùng để huấn luyện các âm ba cũng bị nhanh chóng
giảm. Một số âm ba sẽ không còn đủ dữ liệu dùng để huấn luyện. Một phương pháp khắc phục
vấn đề này là dùng phương pháp buộc. Thông thường các trạng thái ở giữa của các mô hình sẽ
được buộc vào nhau do các trạng thái giữa là trạng thái ít bị ảnh hưởng nhất của ngữ cảnh xung
quanh. Ví dụ câu lệnh để buộc các trạng thái này là:
TI "ieS3" {*-ie+*.state[3]}
TI "aS3" {*-a+*.state[3]}
Câu lệnh đầu buộc tất cả các trạng thái giữa (trạng thái 3, trong mô hình có 5 trạng thái) của
các âm ba được sao chép từ âm đơn là nguyên âm đôi /ie/. Câu lệnh sau buộc tất cả các trạng
thái giữa của các âm ba tương ứng với âm vị /a/.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 76

Tuy nhiên việc định nghĩa rõ ràng các trạng thái buộc trên không thường xuyên hiệu quả và
các trạng thái bên trái và bên phải vẫn thiếu dữ liệu để huấn luyện. Một giải pháp tốt hơn hay
được sử dụng đó là dùng phương pháp nhóm vùng (clustering). Có hai cơ chế được sử dụng: lái
dữ liệu (data driven) và cây quyết định (decision tree-based).
o) Lái dữ liệu

Thuật toán lái dữ liệu (data driven) được khởi động bằng cho tất cả các trạng thái, mỗi trạng
thái vào một nhóm (cluster). Sau đó cặp nhóm mà khi chúng kết hợp lại với nhau sẽ tạo thành
nhóm mới có kích thước nhỏ nhất sẽ được ghép lại với nhau. Quá trình này tiếp tục cho đến khi
kích thước của nhóm lớn nhất vượt qua ngưỡng được định nghĩa bởi câu lệnh TC, hoặc là tổng
số các nhóm nhỏ hơn ngưỡng được định nghĩa bởi câu lệnh NC. Kích thước của một nhóm
được hiểu là khoảng cách lớn nhất của một cặp trạng thái bất kỳ trong nhóm. Đối với trường
hợp hàm phát xạ quan sát của trạng thái là hàm Gaussian thì khoảng cách là khoảng cách
Euclidean giữa các tham số của các hàm mật độ xác suất.
Hình 3.8 miêu tả hoạt động của một trường hợp dùng lái dữ liệu như sau:
TC 100.0 “oa” {*-a+*.state[2]}
p) Phân nhóm bằng cây
Một trong các nhược điểm của phương pháp lái dữ liệu là không thực hiện được với các âm
ba mà không có dữ liệu huấn luyện. Khi xây dựng hệ thống nhận dạng với các âm ba giới nội từ,
vấn đề này có thể tránh được bởi lựa chọn dữ liệu huấn luyện để cho tất cả các âm ba đều có dữ
liệu huấn luyện tương ứng. Tuy nhiên nếu các âm ba liên từ được sử dụng thì số lượng các âm
ba sẽ rất lớn, có thể lên đến hàng chục nghìn âm ba, sự tồn tại của các âm ba mà không có dữ
liệu huấn luyện là điều khó tránh khỏi. Phương pháp dùng cây (tree-based) là giải pháp thay thế
và hay được sử dụng trong các hệ thống nhận dạng để khắc phục vấn đề này. Để miêu tả hoạt
động của thuật toán, ta sẽ xét một ví dụ:
1. RO 100.0 stats
2. TR 0

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 77

3. QS "L_Class_stop" {b-*,t-*,ch-*,tr-*,th-*,k-*,dd-*}
4. QS "R_Class_stop" {*+b,*+t,*+ch,*+tr,*+th,*+k,*+dd}
5. QS "L_Class_nasal" {n-*,m-*,ng-*,nh-*}
6. QS "R_Class_nasal" {*+n,*+m,*+ng,*+nh}
7. QS "L_Class_fricate" {h-*,s-*,kh-*,ph-*,v-*,x-*,g-*,r-*,dz-*}
8. QS "R_Class_fricate" {*+h,*+s,*+kh,*+ph,*+v,*+x,*+g,*+r,*+dz}
9. TR 2
10.
11. TB 350.0 "ST_b_2" {(b,*-b,*-b+*,b+*).state[2]}
12. TB 350.0 "ST_b_3" {(b,*-b,*-b+*,b+*).state[3]}
13. TB 350.0 "ST_b_4" {(b,*-b,*-b+*,b+*).state[4]}
14. TB 350.0 "ST_a_2" {(a,*-a,*-a+*,a+*).state[2]}
15. ....
16.
17. TR 1
18.
19. AU "fulllist"
20. CO "tiedlist"
21.
22. ST "trees"
Dòng 3 đến dòng 8 cho định nghĩa các câu hỏi, thức chất là định nghĩa các nhóm âm vị có
tính chất gần giống nhau dùng để phân lớp các âm ba. Các ngữ cảnh được phân biệt là ngữ
cảnh trái và ngữ cảnh phải tuỳ theo ảnh hưởng của nó đến các âm vị xung quanh. Từ dòng 11
đến dòng 15 là định nghĩa các nhóm âm ba bằng câu lệnh TB.
Câu lệnh này hoạt động như sau: đầu tiên nhóm các âm ba được định nghĩa bằng lệnh TB
tập hợp lại thành một cluster. Sau đó mỗi câu hỏi được dùng để chia cluster này làm hai phần.
Do việc phân chia này mà xác suất likelihood của dữ liệu huấn luyện sẽ tăng lên và câu hỏi nào
làm cho xác suất này tăng nhiều nhất sẽ được chọn để tách nhánh đầu tiên trong cây. Quá trình
lặp lại cho đến khi giá trị tăng xác suất của các câu hỏi không vượt qua được ngưỡng được xác
định bởi câu lệnh TB (trong trường hợp này là 350.0). Giá trị ngưỡng đóng vai trò quan trọng
trong điều khiển phân chia cây, nếu giá trị này lớn cây sẽ ít bị phân nhánh và các âm ba được
buộc vào với nhau nhiều hơn.
Ngược lại nếu giá trị này nhỏ thì số lượng các trạng thái âm ba bị buộc sẽ ít đi. Chọn giá trị
ngưỡng phụ thuộc nhiều vào kinh nghiệm của người nghiên cứu và phụ thuộc vào dữ liệu dùng
để huấn luyện. Chọn giá trị ngưỡng chính xác là một yếu tố giúp tăng độ chính xác nhận dạng
của hệ thống.
Tập các âm ba được xem xét tới thời điểm này chỉ bao gồm các âm ba nằm trong tập dữ
liệu huấn luyện. Câu lệnh AU chứa sanh sách các âm ba mà bao gồm tất cả các âm ba nằm
trong cơ sở dữ liệu. Với các âm ba nằm trong cơ sở dữ liệu mà không có mặt trong tập dữ liệu
huấn luyện thì hệ thống sẽ tổng hợp mô hình của âm ba đó trên cơ sở các âm ba đã được huấn
luyện. Đây là một ưu điểm của phương pháp phân nhóm bằng cây. Tuy nhiên điều kiện tối
thiểu để cho âm ba này có thể được tổng hợp là phải tồn tại các âm ba đã được huấn luyện mà
có cùng nguồn gốc âm đơn với âm ba được tổng hợp.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 78

4.1.3. Nhận dạng


Đến đây hệ thống đã sẵn sàng được dùng để tiến hành nhận dạng. Quá trình nhận
dạng được thực hiện bằng công cụ Hvite.
a) Xây dựng mạng từ nhận dạng
Một mạng từ (word network) được định nghĩa dùng ngôn ngữ SLF (Standard Lattice
Format). Đó là một tệp văn bản và có thể soạn bằng tay. Tuy nhiên công việc định nghĩa bằng
tay khá dài dòng và mất nhiều công sức. HTK có hai công cụ hỗ trợ để có thể sinh tự động tệp
này, đó là HBuild và HParse. HParse cho phép sinh tự động SLF từ một tệp văn bản định nghĩa
ngữ pháp của hệ thống nhận dạng dưới dạng BNF. Dù công cụ nào được dùng để định nghĩa
mạng từ thì mạng từ đều được dùng để định nghĩa một ngữ pháp, mỗi liên hệ ngữ pháp giữa
các từ được nhận dạng bởi hệ thống.
Một tệp SLF chứa một danh sách các nút biểu diễn các từ và một danh sách các cung biểu
diễn chuyển dịch giữa các từ. Các chuyển dịch này có thể có các xác suất gắn liền với nó, ví dụ
các xác suất của mô hình ngôn ngữ bigram. Ví dụ dưới đây là một mạng từ của một hệ thống
nhận dạng mười chữ số liên tục và định nghĩa ngữ pháp của nó.
$chuso = mootj | hai | ba | boons | nawm | saus | baayr |
tams | chins | khoong ;
([sil] < $chuso > [sil])

Đối với các hệ thống nhận dạng có số lượng từ vựng lớn và trung bình, định nghĩa ngữ
pháp của hệ thống thường chỉ đơn thuần là cấu trúc vòng từ (word–loop), có nghĩa là bất kỳ
một từ nào trong bộ từ điển của hệ thống đều có thể theo sau từ bất kỳ khác trong từ điển.
b) Mô hình ngôn ngữ bigram
Hiện nay HTK mới chỉ hỗ trợ mô hình ngôn ngữ tới mức 2-gram, tức là bigram. Mô hình
ngôn ngữ bigram được sinh ra trong HTK bởi công cụ HStats. Sau đây là một ví dụ về một tệp
chứa thông tin mô hình ngôn ngữ bigram.
\data\
ngram 1=530
ngram 2=2790
\1-grams:
-99.999 !ENTER -0.7008
-2.6186 aam -0.5829
-4.0658 an -0.3000
-2.3176 anh -0.8285
......

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 79

\2-grams:
-2.4372 !ENTER awn
-1.5921 !ENTER ba
-1.5195 !ENTER baay
...
-1.9912 hai cai
một
hai
sil
chín
sil
76
-1.7694 hai hai
-1.9912 hai khoong
\end\

Phần đầu 1-gram định nghĩa xác suất xuất hiện của từ trong bộ từ điển P(wi). Trong phần
thứ hai (P(wi/wj) định nghĩa xác suất của một cặp từ. Các thông tin của mô hình ngôn ngữ được
tích hợp vào mạng từ bằng công cụ HBuild. Ví dụ về một mạng từ của một hệ thống nhận dạng
sử dụng dạng phổ biến của mạng nhận dạng là cấu trúc vòng từ word-loop, trong đó các từ
được đặt song song với nhau và các đường đấu vòng loop-back để cho phép bất kỳ một từ nào
cũng có thể đứng sau từ kia. Cấu trúc này được dùng phổ biến trong nhiều hệ thống nhận dạng
như hệ thống nhận dạng đọc chính tả. Công cụ Hbuild được dùng để bổ sung các xác suất
bigram vào mỗi cung nối giữa hai từ. Trong Hình 3.10 là sơ đồ một mạng word-loop gồm bốn
từ, các xác suất bigram P(wi/wj) được gắn vào mỗi cung loop-back giữa các từ, nghĩa là giữa
một cặp từ bất kỳ đều cần có một xác suất bigram tương ứng.
c) Sử dụng mạng từ trong hệ thống nhận dạng
Khi mạng từ được nạp vào trong hệ thống nhận dạng, một từ điển phiên âm của hệ thống sẽ
được dùng để tạo ra một mạng tương đương bao gồm các đơn vị nhận dạng cơ bản của hệ
thống, các âm đơn hoặc các âm ba. Tuỳ thuộc vào cấu hình của hệ thống mà các âm ba có thể
là các âm ba giới nội từ hay âm ba liên từ. Một từ có thể có nhiều phiên âm, khi đó sẽ có nhiều
nhánh của mạng mỗi nhánh tương ứng với mỗi phiên âm của từ. Mạng này được gọi là mạng

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 80

HMM. Như vậy ta có thể thấy một cấu trúc ba mức của một mạng để dùng nhận dạng: mức từ,
mức mô hình và mức trạng thái. Hình 3.11 mô tả cấu trúc này của hệ thống nhận dạng. Trong
hình này các hình ovan biểu thì các từ, hình vuông biểu diễn một nhãn kết thúc một từ (word
end).

Mạng dùng để nhận dạng cuối cùng bao gồm các trạng thái và các cung nối chúng với nhau.
Các cung trong một mô hình HMM chính là xác suất chuyển trạng thái được xác định bởi các
tham số của HMM. Các cung giữa các mô hình có xác suất tương đương nhau, các cung giữa
các từ có xác suất được xác định bởi mô hình ngôn ngữ.
d) Giải mã
Nhiệm vụ của quá trình giải mã là tìm ra một đường đi trong mạng HMM có xác suất lớn
nhất. Để thực hiện công việc này một thuật toán tương tự thuật toán Viterbi được dùng, gọi là
thuật toán chuyển thẻ bài (Token Passing).
Một mạng lớn mà có nhiều nút thì công việc tìm kiếm sẽ rất lâu và tốn thời gian. Một giải
pháp nhằm giảm có hiệu quả việc tính toán đó là chỉ cho phép các thẻ bài mà có cơ hội là một
trong các thẻ bài tốt nhất mới được tồn tại. Cơ chế này gọi là cắt tỉa (pruning). Tại mỗi bước
các thẻ bài mà có giá trị xác suất nằm ngoài khoảng giá trị cho phép so với thẻ bài có xác suất
cao nhất sẽ bị xoá đi. Khoảng giá trị cho phép (beamwidth) được điều chỉnh bởi dung hoà giữa
yếu tố tốc độ và hiệu quả của thuật toán tìm kiếm.
Kết thúc quá trình tìm kiếm với mỗi phát âm ta nhận được một dãy các từ với xác suất cao
nhất là kết quả nhận dạng.
4.1.4. Áp dụng cho tiếng Việt
Dữ liệu sử dụng:
VOV là một cơ sở dữ liệu âm thanh được thu từ đài tiếng nói việt nam. Nó là các dữ liệu từ
các chương trình như “Đọc truyện đêm khuya”, “Hộp thư VOV”, các chương trình phóng sự,
gặp gỡ các nhân vật,…. VOV Data bao gồm chính xác là 29062 câu nói phần lớn là của 15 phát
thanh viên đài tiếng nói việt nam (cả nam và nữ) và rất nhiều người nói khác nhưng với số
lượng không nhiều. Số lượng các âm tiết có xuất hiện trong VOV data là 4379 (nếu không kể
đến thanh điệu thì con số này là 1646). Như vậy là VOV Data đã chiếm tất cả các âm tiết
thường gặp trong số hơn 6000 âm tiết của tiếng Viết. Toàn bộ dũ liệu VOV Data chiếm dung
lượng 2.5 Gigabyte.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 81

Nhận xét về dữ liệu


Dữ liệu VOV như vậy không phải là một dữ liệu tốt bởi các lý do sau:
- Có quá ít người nói, dữ liệu chỉ tập trung vào một số ít giọng của các phát thanh viên
của đài tiếng nói Việt nam, nó không thể có hết tất cả các dạng nói của người Việt nam.
Thường một cơ sở dũ liệu tốt cho nhận dạng tiếng nói không phụ thuộc người nói phải có ít
nhất vào khoảng 200 người nói với các đặc điểm riêng dàn trải theo giới tính, tuổi tác, chiều
cao-cân nặng (liên quan tới giọng trầm- bổng),… được lựa chọn phù hợp.
- Xét về mặt ngữ âm, thì VOV Data không có được sự phân phối cân bằng cần thiết để
tránh việc học quá nhiều mẫu cho một unit nhận dạng, trong khi một số unit khác thì quá ít mẫu
học.
- Gần nửa dữ liệu VOV (1Gigabyte) là dữ liệu đọc truyện đêm khuya, đây là kiểu dữ liệu
thu không thật, nói theo nghĩa tự nhiên của người nói.
 Tuy nhiên đây cũng là dữ liệu được xây dựng tốt nhất hiện có cho tiếng Việt vào thời
điểm hiện tai của luận văn.
Áp dụng công cụ HTK với mô hình Markov
Với dữ liệu trên cùng với công cụ HTK và mô hình Markov như đã được trình bầy ở phần
trước tác giả đã xây dựng engine nhận dạng từ liên tục với số từ không hạn chế cho tiếng Việt.
VOV Data được chia là 2 phần dữ liệu như sau
- Phần Traning – học : chiếm 80% dữ liệu
- Phần Test – đánh giá: chiếm 20% dữ liệu
Và sau đây là kết quả đạt được :
- sentence correct : 68 %
- word correct : 75 %
4.2. Mô hình lai ghép ANN/HMM
4.2.1. Giới thiệu CSLU
Từ năm 1991, Trung tâm hiểu ngôn ngữ nói CSLU (Center for Spoken Language
Understanding) đã nhận được ngân sách từ NSF (National Science Foundation) để phát triển
một công cụ OGI, phần mềm miễn phí để phân tích, hiển thị và gán nhãn tiếng nói. Sau đó
công cụ OGI được chuyển đổi thành bộ công cụ CSLU, một bộ công cụ hỗ trợ công việc phát
triển, nghiên cứu về tiếng nói và các công nghệ tiếng nói. CSLU cũng đã phát triển một số
lượng lớn các cơ sở dữ liệu tiếng nói gồm 17 cơ sở dữ liệu tiếng nói với hơn 1000 giờ nói từ trẻ
con tới người lớn với 22 ngôn ngữ khác nhau [Cole931999a]. Các cơ sở dữ liệu này được thu
âm với nhiều loại micro từ chất lượng cao đến thu âm qua điện thoại, điện thoại di động; thu
âm từ nhiều môi trường khác nhau: trong phòng studio, trong phòng học, trong phòng thí
nghiệm đến ngoài khu vực công cộng; nhiều loại phát âm đã được thu âm: các từ riêng lẻ, các
câu đọc sẵn hoặc các câu nói tự nhiên. Bộ công cụ CSLU đã được phân phát tới 2000 địa điểm
khác nhau trên 65 nước và đã được sử dụng trong hơn 300 bài báo khoa học khác nhau
[Schalkwyk 2000].
Bộ công cụ CSLU bao gồm các module chính: tổng hợp tiếng nói, nhận dạng tiếng nói, mô
phỏng nét mặt, phân tích tiếng nói, hiểu ngôn ngữ tự nhiên, ... Để phục vụ mục đích nghiên
cứu, NCS chỉ tập trung nghiên cứu hệ thống nhận dạng tiếng nói của CSLU. Hệ thống nhận

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 82

dạng của CSLU hỗ trợ việc nghiên cứu nhận dạng với nhiều giải pháp: dùng mạng neuron
ANN, dùng mô hình Markov ẩn và mạng lai ghép HMM/ANN.
4.2.2. Huấn luyện hệ thống nhận dạng dùng ANN
Trong từ điển phát âm, mỗi từ được phiên âm thành các âm vị và một từ có thể bao gồm
một vài định nghĩa khác nhau. Để xây dựng các đơn vị nhận dạng phụ thuộc ngữ cảnh, các âm
vị được chia thành một, hai hoặc ba phần, mỗi phần như vậy được gọi là category và là đơn vị
nhận dạng cơ bản của hệ thống nhận dạng. Mỗi category phụ thuộc vào ngữ cảnh ở bên trái
hoặc bên phải của nó. Ví dụ âm vị /kh/ được chia thành hai phần, phần bên trái phụ thuộc vào
các âm vị đứng bên trái âm vị /kh/ và phần bên phải phụ thuộc vào các âm vị đứng bên phải âm
vị /kh/. Do /kh/ là phụ âm đứng đầu câu và chỉ xuất hiện duy nhất trong từ “không“ nên phần
bên phải của /kh/ chỉ có thể là âm vị /oo/, từ đó ta có một category /kh>oo/. Phần bên trái của
/kh/ sẽ cho ta category /.pau>kh/ khi từ “không“ đứng đầu câu hoặc sau một khoảng nghỉ
pause. Khi “không“ đứng sau các từ khác ta có các category tương ứng /oong>kh/, /oot>kh/,
/ai>kh/, /a>kh/, /oon>kh/, ...
Nếu âm vị được chia làm ba phần, phần ở giữa sẽ không phụ thuộc vào ngữ cảnh hai bên,
chỉ có hai phần hai bên sẽ phụ thuộc vào các âm vị đứng cạnh nó. Mỗi âm vị sẽ được xác định
kiểu phụ thuộc ngữ cảnh thông qua định nghĩa số phần phân chia của âm vị đó.
Mạng neuron dùng được huấn luyện gồm nhiều lớp, thông thường là ba lớp. Số lượng nút
đầu vào phụ thuộc vào kích thước vector đặc tính phổ của mỗi khung tín hiệu. Ví dụ vector đặc
tính phổ gồm 12 hệ tố MFCC cùng với giá trị năng lượng và giá trị delta của các giá trị trên tạo
thành 26 giá trị đối với mỗi khung tín hiệu. Ngoài ra bốn khung tín hiệu lân cận khung tín hiệu
chính: -60, -30, +30, +60ms cũng được dùng tạo thành một vector 130 đặc tính phổ ứng với
mỗi khung tín hiệu. Nếu vậy mạng ANN sẽ có 130 nút đầu vào. Số lượng nút thuộc lớp ẩn
thường được chọn là 200 nút. Tuy nhiên chưa có tài liệu nào đề xuất phương pháp dùng để xác
định số lượng nút ẩn để mạng ANN hoạt động tốt nhất. Số lượng nút thuộc lớp ẩn càng lớn thì
quá trình học của mạng ANN càng lâu. Thông thường số lượng nút thuộc lớp ẩn được chọn gần
với số lượng nút đầu ra của mạng ANN. Số lượng nút ra của mạng ANN phụ thuộc vào số
lượng category của hệ thống.
Quá trình huấn luyện mạng neuron được thực hiện với từng phát âm dùng thủ tục truyền
ngược sai số. Với mỗi phát âm, thông tin nhãn thời gian trong cơ sở dữ liệu tiếng nói cho ta các
khoảng thời gian thuộc về âm vị cần huấn luyện. Như vậy với mỗi category các khoảng thời
gian dành cho chúng được xác định trong mỗi phát âm. Các thông tin này được dùng để huấn
luyện cho mạng ANN.
Quá trình huấn luyện mạng ANN được tiến hành trên nhiều vòng lặp. Phụ thuộc vào số
lượng category, số lượng các category được buộc, cấu trúc mạng neuron, kích thước dữ liệu
huấn luyện, hệ số học mà mạng neuron có thể hội tụ sau một số lần lặp.
Một tham số quan trọng trong quá trình huấn luyện mạng ANN là hệ số học (learning rate).
Tuy nhiên giá trị này có thể điều chỉnh tuỳ theo từng mạng ANN và tuỳ theo kích thước dữ liệu
huấn luyện. Nếu hệ số học lớn, hệ thống sẽ nhanh chóng tiến tới điểm cực trị, tuy nhiên ngược
lại mạng khó tiếp cận gần đến điểm cực trị. Nếu hệ số học nhỏ, hệ thống tiến tới được điểm cực
trị lâu hơn nhưng ngược lại hệ thống có thể tiến gần hơn tới điểm cực trị.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 83

4.2.2. Hệ thống nhận dạng dùng HMM/ANN


Mạng ANN có ưu điểm nổi bật đó là khả năng phân lớp. Tuy nhiên khi áp dụng vào hệ
thống nhận dạng tiếng nói, mạng ANN có một nhược điểm là không thích hợp với các tín hiệu
tiếng nói dài, biến thiên theo thời gian. Do vậy các nhà nghiên cứu đã thử nghiệm hệ thống
nhận dạng lai ghép giữa mạng neuron và mô hình Markov ẩn (HMM/ANN) với mục đích để
hạn chế nhược điểm của hai phương pháp ANN và HMM, đồng thời tận dụng hai ưu điểm của
hai phương pháp này: khả năng phân lớp của mạng neuron và khả năng mô hình hoá thông tin
thời gian của mô hình Markov ẩn [40].
Có khá nhiều kiến trúc mạng lai ghép HMM/ANN đã được đề xuất, trong đó thông dụng
nhất là kiến trúc dùng mạng MLP làm xác suất phát xạ quan sát trong các hệ thống mạng lai
ghép [11]. Phần sau đây sẽ trình bày về kiến trúc mạng lai ghép này.
Cấu trúc mạng lai ghép
Điểm khác biệt chính của mạng lai ghép HMM/ANN so với các mô hình Markov thông
thường là hàm bj(k) không phải hàm mất độ xác suất mà là giá trị xác suất đầu ra của mạng
ANN.
Hình 2.10 miêu tả quan hệ giữa các mô hình HMM và mạng neuron ANN. Mỗi nút ra của
mạng ANN tương ứng với một trạng thái của mô hình HMM. Trạng thái của âm vị /oo/ trong
hai từ ”bốn” và ”một” có chung nhau một nút ra của mạng ANN.

b-oo+n m-oo+tc

C¸c m« h×nh ...


Markov

C¸c nót ra cña ...


ANN

C¸c nót Èn
cña ANN
...

C¸c nót vµo


cña ANN ...

Hình 2.10. Mô hình mạng lai ghép HMM/ANN


Huấn luyện mạng HMM/ANN
Mạng lai ghép HMM/ANN được huấn luyện bằng huấn luyện nhúng (embedded). Tương
ứng với mỗi phát âm, các mô hình Markov ẩn của các đơn vị nhận dạng trong phát âm đó được
nối ghép lại với nhau tạo thành một mô hình HMM lớn. Thuật toán forward-backward được áp
dụng để điều chỉnh các tham số của các mô hình lớn này. Các giá trị output của mạng ANN
được dùng làm xác suất phát xạ quan sát của mỗi trạng thái trong mô hình. Trong mỗi vòng lặp
của huấn luyện forward-backward, thuật toán Viterbi được áp dụng để tìm ra dãy các trạng thái
tốt nhất trong mô hình HMM lớn tương ứng với phát âm dùng để huấn luyện. Từ dãy trạng thái
này, tại mỗi thời điểm tương ứng với một khung thời gian tín hiệu tiếng nói, ta sẽ có giá trị
output của mạng ANN. Nút output tương ứng với trạng thái hiện tại có giá trị là 1, các nút

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 84

output khác có giá trị 0. Từ các giá trị output này, mạng ANN được huấn luyện lại bằng thủ tục
truyền ngược sai số. Hình 2.11 miêu tả quá trình huấn luyện mạng HMM/ANN.
Xây dựng mô hình
HMM ẩn

Hiệu chỉnh các


tham số của HMM
lớn Đúng
Viterbi
force-alignment

Kết quả Sai


Huấn luyện
ANN tốt hơn? Kết thúc

Hình 2.11. Huấn luyện mạng lai ghép HMM/ANN


Phương pháp huấn luyện như trên, có thể được áp dụng hiệu quả để huấn luyện mạng lai
ghép HMM/ANN nếu dữ liệu dùng để huấn luyện là lớn. Phương pháp trên có nhược điểm là
tại mỗi thời điểm, sẽ có một category có xác suất là 1, các category còn lại có xác suất là 0.
Điều này không hoàn toàn chính xác vì một khung tín hiệu, do ảnh hưởng của ngữ cảnh xung
quanh, có thể mang một phần đặc tính phổ của các khung tín hiệu lân cận. Một phương pháp để
hạn chế nhược điểm này là dùng xác suất xuất hiện tại trạng thái hiện thời làm giá trị output của
mạng ANN. Các giá trị output này được dùng để huấn luyện mạng ANN bằng thủ tục truyền
ngược sai số. Các giá trị này “mềm” (soft) hơn là giá trị 0 và 1. Kết quả thực nghiệm cho thấy
phương pháp này tăng độ chính xác nhận dạng của hệ thống [44].
Các xác suất dùng làm giá trị output của mạng ANN là t(i) = P(qt = Si O, ), đây cũng là
xác suất để mô hình ở trạng thái Si vào thời điểm t. Công thức tính xác suất này chính là công
thức được sử dụng trong thuật toán forward-backward:
P(qt Si , O λ) αt (i)βt (i) αt (i)βt (i)
t(i)=
P(O λ) P(O λ) N
αt (i)βt (i)
i 1

1 i N, 1 t T
4.2.3. Áp dụng cho tiếng Việt
Dữ liệu sử dụng:
CSLU Data là cơ sở dữ liệu tiếng nói được sử dụng bao gồm 442 câu, 2345 từ, được trích ra
từ hai cơ sở dữ liệu tiếng nói điện thoại “22 Language v1.2”, và “Multi-Language Telephone
Speech v1.2” của trung tâm CSLU (Center for Speech Language Understanding), Viện Sau Đại
học Oregon, Hoa kỳ.
Các câu trong cơ sở dữ liệu tiếng nói được thu âm theo hình thức phỏng vấn qua điện thoại
từ 213 người nói (135 nam, 78 nữ). Người nói phát âm các câu bao gồm các chữ số như: số
điện thoại, địa chỉ, số bưu điện, tuổi, ... Câu dài nhất có 18 từ và câu ngắn nhất có 1 từ.
Các câu được thu âm từ nhiều máy điện thoại khác nhau. Kiểu của máy điện thoại và đặc
tính của kênh thoại không được xác định. Các câu thu được đa dạng và khác nhau về tốc độ
phát âm; về độ to nhỏ; có câu được người nói nói trong văn phòng yên tĩnh, có câu có lẫn nhiều

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 85

tạp âm như tiếng đài, ti vi xen vào khi người nói ngồi trong nhà, hay tiếng ô tô khi người nói
đứng tại trạm bưu điện công cộng,... Các câu được thu âm theo PCM 8kHz, 8bit mã hoá.
Tất cả các câu trong cơ sở dữ liệu tiếng đều được phiên âm chính tả và gán nhãn bằng tay
tại mức âm vị.

Nhận xét về dữ liệu


Dữ liệu CSLU như vậy không phải là một dữ liệu khá tốt, nó có những đặc điểm sau:
- Nó có được đặc điểm đa dạng về mặt người nói (hơn 200) người.
- Môi trường từ người thu là rất phức tạp, có nhiều dữ liệu thu mà môi truờng người nói
có rất nhiều tạp âm như tiếng ô tô, tiếng tivi, tiếng người khác nói bên ngoài,…
- Đa số người nói là giọng miền nam, đó chủ yếu là những người Việt nam sống ở Mỹ
- Chất lượng thu là chỉ là chất lượng thấp : PCM 8kHz * 8 bit mã hóa = 64Kbps
 Đây cũng là dữ liệu khá tốt cho nhận dạng chữ số tiếng Việt.
Áp dụng công cụ CSLU với mô hình ANN/HMM
Với dữ liệu trên cùng với công cụ CSLU và mô hình ANN/HMM như đã được trình bầy ở
phần trước tác giả đã xây dựng engine nhận dạng từ liên tục với số từ hạn chế là các chữ số
tiếng Việt.
Cơ sở dữ liệu được chia thành ba tập như sau
- Tập dữ liệu huấn luyện (training set): bao gồm 300 câu, 1686 từ, do 158 người nói (104
nam và 54 nữ).
- Tập dữ liệu phát triển(development set): có 74 câu, 342 từ do 38 người nói (27 nam, 11
nữ)
- Tập dữ liệu kiểm tra (test set): tập dữ liệu kiểm tra có 68 câu, 317 từ do 47 người nói (34
nam, 13 nữ).
Và sau đây là kết quả đạt được :
- sentence correct : 90 %
- word correct : 97.80 %
Ta có thể so sánh kết quả đạt được này khi sử dụng chỉ mô hình HMM hoặc ANN cho cùng tập
dữ liệu trên
HMM ANN ANN/HMM

sentence correct : 86.30% 86.51% 90.41%

word correct 95.25% 95.45% 97.80%

Bảng 4.1: Độ chính xác cho nhận dạng 10 chữ số tiếng Việt liên tục với các mô hình nhận dạng
trên dữ liệu CSLU Data.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 86

4.3. Nhận xét về hai mô hình HMM và ANN/HMM


Phương pháp nhận dạng tiếng nói với mô hình HMM có ưu điểm là dữ liệu huấn luyện
không cần phải gán nhãn trước, có thể được sử dụng cho các hệ thống nhận dạng kích thước
lớn; thời gian huấn luyện tương đối nhanh và tốc độ nhận dạng nhanh hơn so với hệ thống
HMM/ANN. Tuy nhiên khả năng mô hình hoá âm thành và khả năng chịu nhiễu của hệ thống
này không bằng hệ thống mạng lai ghép HMM/ANN. Tuy nhiên, mặc dù mô hình Markov ẩn
được sử dụng rộng rãi trong các hệ thống nhận dạng, mô hình Markov ẩn cũng có một số
nhược điểm như sau:
- Giả thiết về bậc. Trong mô hình Markov ẩn ta giả thiết rằng các xác suất chỉ phụ thuộc
vào trạng thái hiện thời mà độc lập với quá khứ. Điều này không đúng trong các ứng dụng
tiếng nói. Hậu quả của nhược điểm này là mô hình Markov ẩn khó khăn trong mô hình
hoá hiện tượng đồng phát âm (coarticulation) do các xác suất phát xạ quan sát bị ảnh
hưởng bởi các trạng trái trong quá khứ.
- Giả thiết về tính độc lập. Giả thiết này cho rằng không có mối liên hệ giữa các khung tín
hiệu lân cận nhau, điều này không đúng trong giọng nói. HMM chỉ làm việc với một
khung tín hiệu tại một thời điểm. Để lấy thêm thông tin các khung tín hiệu xung quanh,
HMM phải lấy thêm đặc tính phổ của các khung tín hiệu lân cận làm dữ liệu huấn luyện.
Các mô hình Markov ẩn liên tục, rời rạc và bán liên tục khó đạt được trạng thái tối ưu. Với mô
hình rời rạc, một tỷ lệ lỗi lượng tử hoá là không tránh khỏi. Với mô hình liên tục và bán liên tục
có một tỷ lệ nhất định không hoàn toàn chính xác của mô hình thống kê.
Phương pháp xây dựng hệ thống nhận dạng bằng HMM/ANN có ưu điểm là thích hợp
cho các hệ thống nhận dạng có kích thước nhỏ, không đòi hỏi dữ liệu huấn luyện lớn. Hệ thống
cũng có khả năng mô hình hoá âm thanh cao, có khả năng chịu nhiễu và các âm thanh xen lẫn
tốt. Tuy nhiên nhược điểm của hệ thống này là cơ sở dữ liệu dùng để huấn luyện cần phải được
gán nhãn trước; quá trình huấn luyện và nhận dạng khá lâu do tốc độ học và phân lớp của mạng
ANN chậm. Vì nhược điểm này nên xây dựng hệ thống HMM/ANN với từ điển kích thước lớn
bị hạn chế.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 87

Chương V: Kết luận và định hướng nghiên cứu

Kết luận:
Luận văn đã lần lượt đi qua các nội dung quan trọng, là các vấn đề gặp phải trong
quá trình nghiên cứu xây dựng hệ thống nhận dạng tiếng nói nói chung và tiếng Việt nói
riêng
Phần 1: Tìm hiểu các khái niệm cơ bản của ngữ âm học. Việc nghiên cứu tập trung
vào các khía cạnh là đặc điểm của âm tiết tiếng Việt
Phần 2: Đi sâu vào vấn đề thu nhận và xử lý các đặc trưng của tiếng nói nói chung,
và trình bày các phương thức xử lý liên quan, các khó khăn gây ra bởi chất lượng thu
âm đặc biệt là qua điện thoại.
Phần 3: Giới thiệu các phương pháp cơ bản nhất đã và đang được sử dụng trong
nhận dạng tiếng nói như VQ, DTW, HMM, ANN.
Phần 4: Đi sâu vào trình bày về các mô hình được coi là thành công nhất hiện nay
trong nhận dạng tiếng nói là HMM, ANN và ANN/HMM kết hợp.
Việc trình bầy cũng đã cố gắng bám sát theo các bước phải thực hiện khi tác giả xây
dựng hai hệ thống nhận dạng cho tiếng Việt với hai qui mô từ vựng khác nhau.
- Hệ thống nhận dạng với từ điển không hạn chế với cơ sở dữ liệu VOV data ứng
dựng mô hình HMM.
- Hệ thống nhận dạng 10 chữ số liên tục với cơ sở dữ liệu CSLU và áp dụng các mô
hình HMM, ANN, ANN/HMM
- Cuối cùng, ở phần kết luận cuối chương, tác giả đã đưa ra nhận xét về ưu cũng như
nhược của hai mô hình và khuyến nghị cách lựa chọn hợp lý khi đưa vào ứng dụng
trong các hệ thống với qui mô hệ thống khác nhau.

Kiến nghị và định hướng nghiên cứu


- Xây dựng một cơ sở dữ liệu tiếng Việt:
Cho đến nay, chưa có một cơ sở dữ liệu tiếng Việt nào đầy đủ và chất lượng tốt. Việc
xây dựng một cơ sở dữ liệu tiếng nói tốt đang trở thành một nhu cầu cấp thiết để thúc
đẩy công việc nghiên cứu nhận dạng tiếng Việt. Cơ sở dữ liệu cần phải được xây dựng
với tiêu chuẩn cao, trên cơ sở đó việc nghiên cứu nhận dạng mới đem lại kết quả tốt.
- Nghiên cứu nhận dạng thanh điệu tiếng Việt:
Trên thế giới số lượng các ngôn ngữ có thanh điệu không nhiều: tiếng Hán, tiếng Quảng
đông, tiếng Việt, tiếng Thái, tiếng Nhật,... Các nghiên cứu về thanh điệu với các ngôn
ngữ nước ngoài như tiếng Anh, tiếng Pháp là rất ít. Nghiên cứu về nhận dạng thanh điệu
chủ yếu do các tác giả Trung quốc tiến hành, nhưng rất ít các bài báo về vấn đề này. Hệ
thống nhận dạng tiếng Việt bao gồm hai quá trình song song: nhận dạng các từ không
thanh điệu và nhận dạng thanh điệu. Để xây dựng hệ thống nhận dạng tiếng Việt hoàn

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam
Tài liệu tham khảo môn học Xử lý tiếng nói Trang 88

chỉnh, nhất thiết phải tiến hành nghiên cứu nhận dạng thanh điệu tiếng Việt. Đây là một
bài toán khó và mới chỉ có một số ít bài báo về nhận dạng thanh điệu từ rời rạc được
thực hiện. Nhiều vấn đề nghiên cứu còn ở phía trước với nhận dạng thanh điệu.

Lê Bá Dũng – Khoa Công nghệ Thông tin - Trường Đại học Hàng Hải Việt Nam

You might also like