tai lieu tham khao xu ly tieng noi - mr le ba dung

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

Upload: hectorphan

Post on 20-Jun-2015

632 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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:

Page 2: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

- Â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ư

Page 3: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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 cm

2 (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

Page 4: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 5: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Page 6: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 7: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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

c

u

u a

a

a q

a

a

u

Page 8: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ư :

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:

Â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

Thanh điệu

Vần

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

Vous allez

Page 9: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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.

Âm tiết

Thanh

điệu

Âm đầu Phần vần

Âm đệm

Âm

chính

Âm cuối

Bậc 1

Bậc 2

Page 10: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Page 11: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

Độ 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

Page 12: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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) 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

5

4

3

2

1

(1)

(2)

(3)

(4)

(5)

(6)

Page 13: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ị

(IPA)

Con chữ Ví dụ Miêu tả

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

/i/,/e/,/ô/)

kiêu kỳ phụ âm tắc, vô thanh, gốc lưỡi, không bật hơi, xuất

hiện trong mọi âm tiết.

c (đứng trước

u,o,a,{,})

cầu cạnh

q (đứng trước

âm đệm /w/)

quây quần

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

/i/,/e/,/ô/)

nghi, nghê phụ âm vang mũi, gốc lưỡi, xuất hiện trong mọi âm

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

Page 14: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

/i/,/e/,/ô/)

ghế, ghi phụ âm xát cuối lưỡi, hữu thanh, xuất hiện trong mọi

â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

nguyên âm rộng /a,

aĂ, ô/)

hoa hoè, hoạ

hoằn

có cấu tạo giống nguyên âm

chính /u/, có độ mở hẹp, phát âm

cực trầm, tròn môi, thuộc hàng

sau. u (trong các trường

hợp còn lại)

huy, tuần,

huệ

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

Page 15: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ị

(IPA)

Con chữ Ví dụ Miêu tả

1 i y (đứng sau âm đệm

uằ )

suy, nguy nguyên âm đơn dài, hàng trước, hẹp,

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

lại)

tinh tích

2 e ê ênh ếch, bềnh

bệch

nguyên âm đơn, dài, hàng trước, hơi

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,

cảnh

nguyên âm đơn, ngắn. Gần như là thể

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

lọt

nguyên âm đơn, dài, hàng sau, hơi rộng,

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 rực

nguyên âm đơn, dài, hàng sau, hẹp, không tròn môi, âm sắc trầm vừa.

Page 16: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

10 { ơ lơ mơ, nơm

nớp

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

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

11 {Ă â an cần, chật

vật

nguyên âm đơn, ngắn, hàng sau, hơi hẹp,

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.

xuất hiện trong tất cả các âm tiết trừ âm

tiết mở. a (khi đứng trước

âm cuối / uằ, iằ/

lau tay

14 ihe ia (khi trước không

có âm đệm và sau

không có âm cuối)

kia, thìa, bia nguyên âm đôi yếu dàn, hàng trước,

không tròn môi, yếu tố sau là nguyên âm

hàng trước, hơi hẹp, không tròn môi.

ya (khi trước có âm đệm

khuya

iê (khi trước không

có âm đệm và sau

có âm cuối

tiên tiến

yê khi trước có âm

đệm hoặ sau nó ó

âm cuối là bán

nguyên âm

yêu, uyển

chuyển

15 uho ua (khi sau nó

không có âm cuối)

mua, vua

chúa

nguyên âm đôi yếu dần, hàng sau, tròn

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ó

âm cuối)

muộn, tuồn,

tuột

16 }h{ ưa (khi không có âm

cuối)

mưa, vừa vừa nguyên âm đôi yếu dần, hàng sau, không

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à

nguyên âm hàng sau, hơi hẹp, không tròn môi.

ươ (khi có âm cuối) ương bướng

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/

Page 17: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ị

(IPA)

Con chữ Ví dụ Miêu tả

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ị

/i,e,ô/)

thích, sạch phụ âm cuối ồn, mặt lưỡi

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

6 ứ nh (đứng sau các âm vị

/i,e,ô/)

mình, bánh phụ âm cuối vang, mũi, mặt

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ị

/ô,a/)

leo cao phụ âm cuối vang, môi

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

8 iằ y (đứng sau nguyên âm

ngắn /{Ă,aĂ/)

mây bay phụ âm cuối vang, lợi

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{,}/.

Page 18: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 19: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

chính

Âm phụ Bán nguyên âm cuối

/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

Page 20: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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( ) 1pre preH z a z

Trong đó prea 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.

Tín hiệu tiếng nói

Nhấn mạnh

(pre-emphasis)

Tạo khung tín

hiệu (framing)

Làm cửa sổ

(windowing)

DFT

Lọc tần số Mel

(Mel-frequency

filtering)

Logarit giá trị

năng lượng

DCT

Chỉnh giá trị

cepstral

Tính giá trị delta

MFCC

Hệ số MFCC

Hệ số delta MFCC

Page 21: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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 ( 1){0.54 0.46cos( )}

1n n

ns s

N

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:

10( ) 2595log (1 )700

fMel f

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.

1

cos( ( 0.5))N

i jj

ic m j

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:

exp( * )n nc n k c

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

2

1

( )

2

t t

t

c cd

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

Page 22: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

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 đó:

1

( ) ( ) ( 1) ( )N

i

s n a i s n e n

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:

1

N i

i j j ij

r s s

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:

0

(0)E r

Tín hiệu tiếng nói

FFT

Lọc tần số Bark

(Bark frequency

filter)

Nhấn mạnh dùng hàm

Equal-loudness

Luật cường độ nghe

(power law of hearing)

Biến đổi Fourier ng-

ược (inverse DFT)

Thuật toán Durbin

Tính các giá trị delta

Hệ số PLP

Tiếng nói

Page 23: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

1( 1)

( 1)

[ ]i

ii j i j

j

i i

r a r

kE trong đó 1 i p

( )ii ia k

1 1*i i

j j i i ja a k a , với 1 1j i

( ) 2 ( 1)(1 )i iiE k E

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ố:

( )pj ja a 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:

}]1)1200

[(1200

ln{6)( 5.02fffBark

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 6 4

2 6 2 9 6 26

( 56,8*10 )( )

( 6,3*10 )( 0,38*10 )( 9,58*10 )E

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.

0,33( ) ( )f f

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

Page 24: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Với tín hiệu tiếng nói là ns, tín hiệu nhận được sau quá trình thu sẽ được ký hiệu là ns~

.

Như vậy: nn ss~ chính là tín hiệu nền.

Độ 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

nnn

N

nn

ss

s

E

0

2

0

2

10

~log10

(Đơn vị năng lượng tính bằng dB)

Như vậy nếu năng lượng E càng lớn thì ns~ gần với ns

, 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

Page 25: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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:

12 bytes 24 bytes 8 + ??? bytes

Header IFF Block “int” Block “data”

RIFF_ID

RIFF SIZE

RIFF_FORMAT

FMT_ID

FMT_SIZE

FMT_FORMAT

DATA_ID

DATA_SIZE

DATA_DATA

Page 26: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

- 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

Page 27: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

đị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.

Page 28: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ụ:

nsk

max

1002/32767

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:

Page 29: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

1

0

/2N

k

Nknjenxkx

Phép biến đổi ngược:

NknjekXN

nx /21

Với n = 0, 1, …, N-1

Trong đó: 1nbnanx

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à:

1~ nasnsns

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à:

nwnxnx .~ 10 Nn

Trong tín hiệu tiếng nói người ta thường dùng cửa sổ Hamming

1

2cos46.054.0)(

N

nnw

, 10 Nn

Hàm Hamming suy rộng:

102

cos1 kN

kwkwH

Cửa sổ Hamming: 54.0

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)

Page 30: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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:

mnxnxmrmn

n1

1

011

~~

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.

Page 31: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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:

Lµm râ

tÝn hiÖu

Ph©n ®o¹n

frame

LÊy cöa

Ph©n tÝch tù

t­¬ng quan

LÊy ®¹o

hµm

§Æt träng

ChuyÓn sang

cepstral

Ph©n tÝch

LPC

ns ns~ nx1 nx1~

tamtcmtcm~

tcmˆ

trm

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

kk knsns

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

kk knsnsnsnsne

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:

Page 32: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

mnn neE

2

2

1m

P

knkn kmsms

(*) 2

11

2 2m m

P

knk

P

knkn

mn kmskmsmsms

2

11

2 2m m m

P

knk

P

knnkn kmskmsmsms

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à:

)( mnsmsn

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

0in

E, với i = 1, 2, …, P.

imskmsimsmsE

nm

P

knk

mnn

i 1

220

Từ đó nhận được phương trình:

mnn

m

P

kknn kmsimsmsims

1 Pi1 (**)

Nếu chúng ta đặt:

mnnn kmsimski,

(***)

Thì phương trình (**) có thể được viết gọn hơn: P

knkn kii

1

,0,

Pi ,,2,1

(****)

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

k mnnk

mnn kmsmsmsE

1

2

Sử dụng phương trình (****) ta có thể biểu diễn En như sau:

kE n

P

kknn ,00,0

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 kin ,

và nghiệm

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 10 Nm . Điều này có thể được biểu

diễn như sau:

mwnmsmsn 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 10 Nm . Do đó sai số dự đoán en(m) cho bộ dự đoán bậc p sẽ khác

không trong khoảng pNm 10 . Vì vậy En có dạng sau: 1

0

2pN

mnn meE

Page 33: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

0

,pN

mnnn kmsimski

pk

pi

0

1

kiN

mnnn kimsmski

1

0

,

pk

pi

0

1

Gọi Rn(k) là hàm tự tương quan có dạng:

kN

mnnn kmsmskR

1

0 Thì ta có:

kiRki nn ,

Vì Rn(k) là hàm chẵn nên ta có thể viết:

kiRki nn , pk

pi

,...,2,1,0

,...,2,1

Do đó phương trình (****) có thể được viết thành:

p

knnk iRkiR

1 Hệ phương trình này còn có thể được viết dưới dạng ma trận như sau:

rR1

Ở đó:

Pr

r

r

r

r

pr

pr

pr

r

r

pr

r

r

R

P

2

1

0

2

1

2

0

1

1

1

0

2

1

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

knknn kRRE

1

0

Page 34: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 35: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

Độ biến dạng d ký hiệu xxd ˆ, 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 XXEd ˆ, 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.

1

0

22ˆ,

k

iii xxxxxxd

(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à:

yxdvxdxyxdCyMv

,min,min,

(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.

vxdxyMv

,min 1

(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à:

vXyxXdEvcentvAx

|ˆ,min1

ˆ (6.4)

Thường là: vxyxi

ii

xvi

vcent|

1

Ở đó: 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

Page 36: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

1 M

mmmove xQx

MkD

Ở đó:.

222

21

2... keeee

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:

NncxcxxS nnn ,...,2,1:22

Đ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:

nm

nm

Sx

Sx m

n

Xc

1 n = 1, 2, …, N

Đ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à

Page 37: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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à M

mmx

Mc

1

*1

1

Tính

2

1

*1

* 1 M

mmove cx

MkD

Phân tách: Cho i = 1, 2, …, N, khi đó:

*01

*0

1

1

iN

ii

cc

cc

Đặt N = 2N

Lặp lại thuật toán: Đặt *0oveove DD

. Đặt chỉ số lặp i = 0.

Cho m = 1, 2, …, M, Tìm giá trị nhỏ nhất : 2

inm cx

với n = 1, 2, …, N. Với n* là chỉ số nhỏ nhất thu được. Khi đó:

i

nm cxQ *

Cho n = 1, 2, …,N, Cập nhật lại codevector

in

inm

c

cxQinc

mxQ

m1

1

X

Đặt i = i+1

Tính M

mmm

iove xQx

MkD

1

21

Nếu11 i

ovei

ovei

ove DDD , Quay lại bước (i).

Đặt i

oveove DD*

. Cho n = 1, 2, …, N, đặt i

nn cc*

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.

Page 38: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Tập các vector

huấn luyện

Các thuật toán

phân cụm Codebook

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

codebook

Page 39: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ổ, ...

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

không phụ thuộc vào ngôn ngữ được nhận

dạng. Tiêu hao tài nguyên hệ thống ít.

Độ chính xác của hệ phụ thuộc vào số lượng

mẫu học. Các mẫu tham khảo sẽ bị ảnh

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

nhóm từ mà không cần thay đổi thuật toán

nhiều.

Thời gian tính toán phụ thuộc nhiều vào số

lượng mẫu học và số lượng từ cần nhận dạng.

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

hạn (<100 từ), độ chính xác trong trường hợp

Không sử dụng nhiều các yếu tố ngữ nghĩa,

cú pháp, từ,...

Trích

chọn đặc

trưng

Phát hiện

tiếng nói

Luật

quyết

định

Đối sánh

mẫu

tín hiệu

Page 40: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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”

Page 41: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

hiệu 1 và tín hiệu 2. Ở đây jr 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

i

ijf ardarD1

' ),(),(

iI

Jj *'

(3.14)

với ),( ' ijf ardlà khoảng cách giữa hai frame 'jr

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.

df(i,j) là khoảng cách giữa vec tơ đặc trưng ai với jr, 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 :

),(),(),( 11 kkfkkkk jidjiDjiD (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ó:

Page 42: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

0)0,0(D (3.17)

Ở biểu thức truy hồi (3.16) khi cho k chạy về tới k=1 ta có k

m

mmfkk jidjiD0

),(),(

(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ó:

),(),(min),(* 11 kkfkkkk jidjiDjiD

k

m

mmf jid0

),(min

(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ộ

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à jr. Ta có

thể viết đầy đủ là ),( jif rad

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 :

ai = [1 , ai2 , ai3 , . . . , aip]T và jr= [1 , rj2 , rj3 , . . . , rjp]T

Do ),( jif rad

là khoảng cách nên phải thỏa mãn 3 điều kiện :

),( jif rad≥ 0 và =0 khi ai = jr

,

),( jif rad=

),( ijf ard,

),( jif rad≤

),( bad if + ),( jf rbd.

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

Page 43: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Metric Minkowski bậc s giữa ai và jr là :

s

sp

k

jijis kkrarad

1

),(

(3.20)

Tương ứng với s=1 và s=2 ta lần lượt có:

City block metric: p

k

jiji kkrarad

1

),(

(3.21)

Euclidian metric:

2

1

2 ),(p

k

jiji kkrarad

(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)

Page 44: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

j

i

Page 45: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

S P Eh A K

Hình 3.11: Minh họa về so khớp không liên tục

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 .

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.

i

j

Eh

A

P

S

K

(I) (II)

(IV) (III)

Page 46: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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)

i-1,,j

i-1, j-1

i-2, j i, j

i-1, j-2

Page 47: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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à :

),()1,(),,1(),1,1(min),( jidjiDjiDjiDjiD (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.

Page 48: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

- Đầ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:

vh djidjiDdjidjiDjidjiDjiD ),()1,(,),(),1(),,(2)1,1(min),( (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

j

i

Page 49: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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 ô

(i-1,j), (i-1,j-1) và (i-1,j-2).

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.

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.

Đườ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]

j

i

1

0

Page 50: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

nhất.

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.

1 ( | )ij t j t ia P q S q S

11; 1,

0; , 1,

N

ijj

ij

a i N

a i j 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:

S1

S2

S3

S4

S5

a12

a23

a31

a54

a15

a14

a53

a43

a11

a22

a33

a44

a55

Page 51: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

i=P(q1=Si).

11

0; 1,

N

ii

i i 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à

A= {aij} =

0.4 0.3 0.3

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, ...}.

Page 52: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

- 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 )

11; 1,

0; , 1,

N

ijj

ij

a i N

a i j 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)

1( ) 1; 1,

( ) 0; 1, ; 1,

M

jk

j

b k j N

b k j N k 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)

11

0; 1,

N

ii

i i 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 .

1 2 3 4 5 6

a22

a33

a44

a55

a12

a23

a34

a45

a56

a24

a35

o1

o2

o3

o4 o

5o

6

b2(o

1) b

2(o

2) b

3(o

3) b

4(o

4) b

4(o

5) b

5(o

6)

Page 53: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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à:

P(O q, ) = 1

( | , )T

t t

t

P O q

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

P(O q, ) = bq1(O1) bq2

(O2)... bqT(OT)

Page 54: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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 aq

1q

2 aq2

q3... aq

T-1q

T

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ó :

1 1 1 2 2 11 2( | ) ( , ) ( ) ( )... ( )T T Tq q q q q q q q T

q Q

P O P O q b O a b O a b O (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, N

T -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

t+1(j) = 1

1

( ) ( )N

t ij j t

i

i a b O (2.3)

1 1t T , 1 j N

3) Kết thúc

P(O ) = 1

( )N

T

i

i

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).

Page 55: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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

1 1

1

( ) ( ) ( )N

t ij j t t

i

j a b O j

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).

a1j

a2j

aNj

S1

S2

S3

S j

t(i)

t+1(j)

t t +1

Page 56: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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:

P(O ) = 1

( )N

T

i

i = 1 1

1 1

( ) ( ) ( ) ( )N N

i i t t

i i

b O i i i

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) =1 2 1

1 2 1 2, ,... ,max ( , ,..., , , ,..., )

t

t tq q q

P q q q i O O O là biến có điểm cao nhất

(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)=1

[max( ( ) ] ( )t ij j ki N

i a b O

Để 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

11

( ) [max( ( ). ]. ( )t t ij j ki N

i i a b O, 2 t , 1 i N (2.4)

1 11

( ) arg max[ ( ). ]t iji N

i i a 2 t T, 1 i N

3) Kết thúc

1* max[ ( )]T

i NP i

1

* arg max[ ( ). ]T T iji N

q i a

a i1

a i2

a Nj

S1

S2

SN

S i

t+1(j)

t(i)

t+1t

Page 57: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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(qt = 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:

t(i)=

1

( , λ) α ( )β ( ) α ( )β ( )

( λ) ( λ)α ( )β ( )

t i t t t t

N

t t

i

P q S O i i i i

P O P Oi i

(2.5)

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

1)i(γN

1i

t

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ó

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

( λ)

t i t jP q S q S O

P O=

1 1( ) ( ) ( )

( )

t ij j t ti a b O j

P O

t(i, j) = 1 1

1 1

1 1

( ) ( ) ( )

( ) ( ) ( )

t ij j t t

N N

t ij j t t

i j

i a b O j

i a b O j

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

( ) ( )

t i t tP q S O i i

P O P O

Với các định nghĩa trên ta có

Page 58: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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)=1

( , )N

t

j

i j

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:

1T

1t t )j,i(ξ = là khả năng để mô hình chuyển trạng thái từ Si sang Sj

1T

1t 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) )i(1γ (2.6)

ija 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

1

1

1

1

ξ ( , )

γ ( )

T

tt

T

tt

i j

i (2.7)

)v(b kj 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

1,

1

γ ( )

γ ( )

t k

T

tt O v

T

tt

j

j (2.8)

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 :

1

1N

i

i

1

1N

ij

j

a 1 i N

1

( ) 1N

j

k

b k 1 j N

S j

t+1(j)t

(i)

t+2t-1 t t+1

S i

Page 59: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

1

( ) ( ; ; )K

j jk jk jk

k

b y c yN

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

1

( ) ( ; ; )L

j jk jk jk

k

b y c yN

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].

Page 60: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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à

1 2, ,...,inx x x , trong đó ni là số lượng nút vào; các nút đầu ra yi là 1 2

ˆ ˆ ˆ, ,...,ony y y , 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).

Page 61: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

Hình 2.8. Mạng neuron Perceptron đơn

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ự iy , 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 ˆ iy như được miêu tả bởi công

thức sau:

1

ˆ ( ) ( )in

i i ij j

j

y y w x (2.9)

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 kx , mạng cho một kết quả tương ứng ˆky , gần nhất với kết quả mong

muốn ky 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).

2

, ,

1 1

1ˆ( )

2

onK

i k i k

k i

E y y (2.10)

Trong đó ,ˆ

i ky là giá trị output của nút ra thứ i tương ứng với vector giá trị vào xk, ,i ky 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 đó wbiểu diễn sự thay đổi của trọng số, tỷ lệ với giá trị wC , là giá trị lỗi vector

gradient được tính toán theo trọng số w

ww C

Các giá trị trọng số được biểu diễn bằng công thức:

...

...

trọng số wij

1y 2y 3y

ˆony

1x

2x

inx

Page 62: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

ij

ij

Cw

w

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 ).

2

1

1ˆ( )

2

on

i i

i

E y y (2.11)

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ó:

2

1

ˆ( )1

2

on

k k

kij ij

y yC

w w

2ˆ( )1

2

i i

ij

y y

w

ˆˆ( ) i

i i

ij

yy y

w (2.12)

Từ phương trình (2.9) ta có

in

il l

i l

ij ij

w xy

w w

ix (2.13)

Từ hai phương trình (2.12) và (2.13) ta có

ˆ( )ij i i jw y y x (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

Page 63: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

ˆi i iy y

Khi đó phương trình (2.14) được viết lại là

ij jw x (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.

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ố ijw giữa nút ẩn j và nút ra i được điều chỉnh theo hàm lỗi E như sau:

2

1

1ˆ( )

2

on

n n

n

E y y

...

...

trọng số wij

1y

2y

3y

ˆony

1x

2x

inx

...

trọng số vij

Page 64: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

ij

ij

Ew

w

Ta có thể tính

2

1

ˆ( )1

2

on

n n

nij ij

y yE

w w

2ˆ( )1

2

i i

ij

y y

w

ˆ( ) ii i

ij

yy y

w (2.16)

Trong đó ta có thể tính:

( )i i

ij ij

y y

w w

( )i i

i ij

y y

y w

1

ˆ

( )

hn

il l

li i

ij

w y

yw

ˆ( )i i jy y (2.17)

Từ hai phương trình (2.16) và (2.17) ta có

ˆ ˆ( ) ( )ij i i i i jw y y y y

Đặt:

ˆ( ) ( )o

i i i i iy y y (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:

ˆo

ij i jw y (2.19)

Bây giờ ta xem xét trường hợp của trọng số jkv giữa nút vào k và nút ẩn j được điều chỉnh

theo hàm lỗi E:

2

1

1ˆ( )

2

on

n n

n

E y y

jk

jk

Ev

v (2.20)

Ta có thể tính

2

1

ˆ( )1

2

on

n n

njk jk

y yE

v v

Page 65: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

1

ˆˆ( )

on

nn n

n jk

yy y

v (2.21)

Ta có thể thấy từ phương trình (2.21) là sự thay đổi của trọng số jkv liên quan đến toàn bộ các

nút ra output của mạng.

ˆ ( )n n

jk jk

y y

v v

( )n n

n jk

y y

y v

( ) nn

jk

yy

v (2.22)

Trong đó:

1

ˆhn

nl l

n l

jk jk

w hy

v v

1

ˆhn

lnl

l jk

hw

v

ˆ

j

nj

jk

hw

v (2.23)

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

ˆ ( )j j

jk jk

h h

v v

( )j j

j jk

h h

h v

1( )

in

jm m

mj j

jk

v x

yv

( )j j kh x (2.24)

Từ các phương trình (2.20), (2.21), (2.22) và (2.24) ta có

1

ˆ( ) ( ) ( )on

jk n n n n nj j j k

n

v y y y w h x

1

ˆ( ) ( ) ( )on

nj n n n n j j k

n

w y y y h x (2.25)

1

( ) ( )on

o

nj n j j k

n

w h x

Page 66: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

Trong đó o

n được định nghĩa bởi (2.18)

Đặt 1

( ) ( )on

h o

j nj n j j

n

w h ta sẽ có công thức cập nhật trọng số tương tự như công thức (2.19):

h

jk j kv 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) .

Page 67: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 68: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 69: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 70: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 71: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Page 72: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ụ

Page 73: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ỉ

Page 74: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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).

Page 75: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

Đ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/.

Page 76: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 77: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Page 78: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

......

Page 79: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

\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

Page 80: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Page 81: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 82: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ị.

Page 83: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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

...

...

...

...

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

Page 84: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

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:

t(i)=

1

( , λ) α ( )β ( ) α ( )β ( )

( λ) ( λ)α ( )β ( )

t i t t t t

N

t t

i

P q S O i i i i

P O P Oi i

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

Sai

Viterbi

force-alignment

Huấn luyện

ANN

Kết quả

tốt hơn?

Hiệu chỉnh các

tham số của HMM

lớn Đúng

Xây dựng mô hình

HMM ẩn

Kết thúc

Page 85: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.

Page 86: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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ế.

Page 87: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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

Page 88: Tai Lieu Tham Khao Xu Ly Tieng Noi - Mr Le Ba Dung

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

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

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.