Ý tưởng đầu tiên xây dựng mạng nơ-ron nhân tạo giống mạng nơ-ron của con người là của MC.Culloch và Pitts vào năm 1943 với nguyên lý là các nơ-ron có thể được mô hình hóa như thiết bị ngưỡng giới hạn logic. Đến nay đã có nhiều nghiên cứu phát triển mô hình mạng nơ-ron và các ứng dụng của nó. Về cơ bản mạng nơ-ron bao gồm một hệ thống các phần tử đơn vị là các nơ-ron còn được gọi là nút được kết nối với nhau.
                
              
                                            
                                
            
 
            
                 12 trang
12 trang | 
Chia sẻ: vietpd | Lượt xem: 1548 | Lượt tải: 0 
              
            Bạn đang xem nội dung tài liệu Luận văn Xác định khoảng ngừng giữa các âm tiết, cường độ và trường độ của âm tiết cho bộ phát âm tiếng Việt, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
30 
Chương 3 - MÔ HÌNH MẠNG NƠ-RON XÁC ĐỊNH CÁC THÔNG SỐ 
NGỮ ĐIỆU CHO CÁC ÂM TIẾT TIẾNG VIỆT 
3.1 SƠ LƯỢC VỀ MẠNG NƠ-RON 
Ý tưởng đầu tiên xây dựng mạng nơ-ron nhân tạo giống mạng nơ-ron của 
con người là của MC.Culloch và Pitts vào năm 1943 với nguyên lý là các nơ-ron có 
thể được mô hình hóa như thiết bị ngưỡng giới hạn logic. Đến nay đã có nhiều 
nghiên cứu phát triển mô hình mạng nơ-ron và các ứng dụng của nó. Về cơ bản 
mạng nơ-ron bao gồm một hệ thống các phần tử đơn vị là các nơ-ron còn được gọi 
là nút được kết nối với nhau. Khả năng xử lý của mạng nơ-ron nằm ở các kết nối 
giữa các nơ-ron và trọng số của các kết nối đó. Các kết nối và trọng số tương ứng 
được xây dựng qua một quá trình huấn luyện với một tập dữ liệu mẫu cho trước. 
3.1.1 Cấu trúc của một nơ-ron nhân tạo 
Hình 3.1: Cấu trúc của một nơ-ron nhân tạo 
Cấu trúc của một nơ-ron nhân tạo có thể được mô tả như trong Hình 3.1. 
31 
Các tín hiệu ngõ vào của nơ-ron thứ i được biểu diễn bởi một hàm tổng hợp 
f(i) như sau: 
∑
=
=
n
j
jijawif
1
)( (3.1) 
Với aj là các tín hiệu vào và wij là trọng số tương ứng của liên kết ngõ vào j 
của nơ-ron i. 
Hàm tác động h(f(i)) có thể là hàm tuyến tính hoặc phi tuyến. Thông thường 
hàm tác động được dùng là hàm sigmoid có dạng chữ S như Hình 3.2 với công thức 
như sau: 
fe
fh −+= 1
1)( (3.2) 
Hình 3.2: Đồ thị hàm sigmoid 
32 
3.1.2 Kiến trúc mạng nơ-ron 
Có nhiều kiểu kiến trúc mạng nơ-ron khác nhau nhưng thông dụng nhất là 
kiến trúc mạng nơ-ron truyền thẳng nhiều lớp gồm một lớp input, một lớp output và 
một số lượng lớp ẩn tùy ý. Tuy nhiên chỉ cần với một lớp ẩn thì mạng nơ-ron đã có 
thể mô tả được mọi hàm phi tuyến. Theo Cybenco [46] thì bất kỳ hàm phi tuyến nào 
cũng có thể xấp xỉ tùy ý trên một tập compact bằng mạng nơ-ron truyền thẳng gồm 
2 lớp ẩn với độ phi tuyến cố định. Như vậy khi xây dựng mạng nơ-ron trong xử lý, 
mạng 2 lớp ẩn đủ khả năng xấp xỉ một hàm bất kỳ mà không cần phải dùng nhiều 
lớp hơn gây phức tạp tính toán. Hình 3.3 minh họa một mạng nơ-ron gồm một lớp 
input với n nút vào, 2 lớp ẩn b1 và b2, một lớp output b3 có 1 nút. 
Hình 3.3: Minh họa một kiến trúc mạng nơ-ron 
Số lượng nút input là số tín hiệu đầu vào tương ứng với số lượng các đặc 
trưng input của bài toán cần giải quyết, số lượng nút output tương ứng với số lượng 
các kết quả output của bài toán. Thông thường để cho việc huấn luyện được dễ dàng 
cho kết quả tốt, bài toán sẽ được chia ra thành nhiều mạng riêng biệt chỉ có một nút 
output cho từng kết quả yêu cầu. 
33 
Việc chọn lựa số lượng các nút ẩn tùy thuộc vào bài toán cụ thể và chỉ có thể 
xác định dựa vào việc thử sai với các lựa chọn khác nhau. Nếu chọn số lượng nút ẩn 
không phù hợp thì mạng sẽ cho kết quả kém chính xác. 
3.1.3 Huấn luyện mạng nơ-ron 
Tri thức của mạng nơ-ron được chứa đựng trong các trọng số giữa các mối 
liên kết nơ-ron. Khi mới khởi tạo các trọng số này thường được cho một giá trị mặc 
định hoặc ngẫu nhiên. Để có thể mô phỏng bài toán cần giải quyết, mạng phải được 
huấn luyện với các dữ liệu mẫu để điều chỉnh các trọng số cho phù hợp. Thuật toán 
huấn luyện được sử dụng cho mạng truyền thẳng nhiều lớp là thuật toán lan truyền 
ngược. Thuật toán này sẽ thực hiện điều chỉnh trọng số các kết nối bắt đầu từ lớp 
output lần ngược về hướng lớp input theo tiêu chí cực tiểu hóa sự khác biệt giữa kết 
quả tính toán của mạng và dữ liệu huấn luyện. 
Khi huấn luyện mạng nơ-ron, nếu việc huấn luyện được thực hiện quá nhiều 
thì các trọng số của mạng sẽ bị điều chỉnh để thích nghi quá mức với đặc thù của dữ 
liệu huấn luyện làm mất tính tổng quát cho dữ liệu bài toán. Khi này khả năng dự 
đoán cho các mẫu chưa huấn luyện sẽ kém chính xác. Để tránh tình trạng quá luyện 
thông thường dữ liệu được chia thành 2 phần, một phần dùng để huấn luyện và phần 
còn lại dùng để đánh giá. Một khi việc huấn luyện bắt đầu làm cho khả năng thích 
nghi với dữ liệu đánh giá có xu hướng giảm đi qua khỏi một mức tối ưu thì sẽ được 
dừng lại. 
34 
3.2 XÁC ĐỊNH CÁC THÔNG SỐ NGỮ ĐIỆU CHO BỘ PHÁT ÂM 
TIẾNG VIỆT BẰNG MẠNG NƠ-RON 
Việc xác định các thông số ngữ điệu sẽ được tiếp cận theo hướng “học” từ 
ngữ liệu tiếng nói tự nhiên với công cụ mạng nơ-ron. Các thông số ngữ điệu của 
từng âm tiết trong câu sẽ được các mạng nơ-ron xác định dựa vào vector mô tả đặc 
trưng cho âm tiết đó trong ngữ cảnh câu, giá trị của vector đặc trưng này cần phải 
xác định được một cách tự động trong quá trình xử lý văn bản. 
Như vậy để xây dựng hệ thống ta cần phải thực hiện những việc sau: 
• Xây dựng vector đặc trưng phù hợp cho các âm tiết tiếng Việt trong 
ngữ cảnh câu. 
• Xây dựng dữ liệu huấn luyện. 
• Thiết lập và huấn luyện các mạng nơ-ron. 
3.2.1 Vector mô tả đặc trưng âm tiết trong ngữ cảnh câu 
Với đầu vào của hệ thống là một câu văn bản, thành phần xử lý ngôn ngữ tự 
nhiên sẽ chuyển đổi câu thành một dãy các âm tiết được phát âm. Các thuộc tính 
đặc trưng cho âm tiết trong ngữ cảnh câu được chọn bao gồm các thuộc tính có khả 
năng liên hệ ảnh hưởng đến các thông số ngữ điệu của âm tiết trong câu và giá trị 
các thuộc tính này phải xác định được một cách tự động. 
Đối với một âm tiết riêng biệt ta có các yếu tố đặc trưng cấu tạo hình vị gồm: 
phụ âm đầu, âm đệm (bán nguyên âm đầu), âm chính (nguyên âm), âm cuối (phụ 
âm hoặc bán nguyên âm cuối) và dấu thanh (Hình 1.2). Các yếu tố này tác động trực 
tiếp đến các tính chất âm học của âm tiết trong đó có các tính chất về cường độ và 
trường độ. Biểu diễn hình vị (con chữ) không hoàn toàn tương ứng 1-1 với âm vị, 
một âm vị có khi được ghi lại bằng nhiều cách khác nhau, các vùng miền khác nhau 
có thể có cách phát âm khác nhau cho cùng một con chữ [3]. Do đó để hệ thống 
được linh hoạt, tác giả sử dụng biểu diễn hình vị thay vì âm vị cho các yếu tố trên, 
các mạng nơ-ron sẽ tự khám phá mối liên hệ giữa các yếu tố hình vị và thông số 
ngữ điệu tương ứng. 
35 
Trong ngữ cảnh câu nói, bằng thực nghiệm ta thấy ngữ điệu của âm tiết còn 
phụ thuộc vào mối liên hệ giữa nó với các âm tiết xung quanh, tính chất của ngữ 
đoạn chứa âm tiết, vị trí âm tiết trong ngữ đoạn tương ứng [6]. Ngoài ra ngữ điệu 
âm tiết còn phụ thuộc vào các loại câu khác nhau. 
Thừa hưởng thành quả từ các nghiên cứu xử lý ngôn ngữ tự nhiên cho phép 
xác định tự động ranh giới từ và từ loại tiếng Việt, tác giả xây dựng vector đặc 
trưng mô tả âm tiết trong ngữ cảnh câu bao gồm: 
• Các thuộc tính đặc trưng hình vị của: âm tiết hiện tại, âm tiết liền 
trước và sau. 
• Số âm tiết của từ chứa: âm tiết hiện tại, âm tiết liền trước và sau. 
• Vị trí của âm tiết trong từ chứa nó. 
• Từ loại của từ chứa nó. 
• Loại câu. 
Như vậy, vector mô tả đặc trưng âm tiết trong câu được chọn bao gồm 21 
thuộc tính như trong Bảng 3.1 (Giá trị Ø dùng cho các trường hợp hình vị âm tiết 
không có thành phần tương ứng và từ loại không xác định): 
36 
Bảng 3.1 – Các đặc trưng ngôn ngữ của âm tiết trong câu và nội dung tương ứng 
STT Đặc trưng Nội dung 
01 Phụ âm đầu 
 b, ch, c, d, đ, gh, gi, g, h, kh, k, l, m, ngh, ng, 
nh, n, ph, p, q, r, s, th, tr, t, v, x, Ø 
02 Âm đệm o, u, Ø 
03 Âm chính 
 a, ă, â, e, ê, ia, iê, i, o, ô, ơ, ua, uô, u, ưa, ươ, 
ư, ya, yê, y, Ø 
04 Âm cuối ch, c, m, ng, nh, n, p, t, i, y, o, u, Ø 
05 Dấu thanh 
0, 1, 2, 3, 4, 5 (tương ứng: ngang, sắc, huyền, 
hỏi, ngã, nặng) 
06 Phụ âm đầu của âm tiết trước 
b, ch, c, d, đ, gh, gi, g, h, kh, k, l, m, ngh, ng, 
nh, n, ph, p, q, r, s, th, tr, t, v, x, Ø 
07 Âm đệm của âm tiết trước o, u, Ø 
08 Âm chính của âm tiết trước 
a, ă, â, e, ê, ia, iê, i, o, ô, ơ, ua, uô, u, ưa, ươ, 
ư, ya, yê, y, Ø 
09 Âm cuối của âm tiết trước ch, c, m, ng, nh, n, p, t, i, y, o, u, Ø 
10 Dấu thanh của âm tiết trước 
0, 1, 2, 3, 4, 5 (tương ứng: ngang, sắc, huyền, 
hỏi, ngã, nặng) 
11 Phụ âm đầu của âm tiết sau 
b, ch, c, d, đ, gh, gi, g, h, kh, k, l, m, ngh, ng, 
nh, n, ph, p, q, r, s, th, tr, t, v, x, Ø 
12 Âm đệm của âm tiết sau o, u, Ø 
13 Âm chính của âm tiết sau 
a, ă, â, e, ê, ia, iê, i, o, ô, ơ, ua, uô, u, ưa, ươ, 
ư, ya, yê, y, Ø 
14 Âm cuối của âm tiết sau ch, c, m, ng, nh, n, p, t, i, y, o, u, Ø 
15 Dấu thanh của âm tiết sau 
0, 1, 2, 3, 4, 5 (tương ứng: ngang, sắc, huyền, 
hỏi, ngã, nặng) 
16 Số âm tiết của từ chứa nó 1..4 
17 Số âm tiết của từ chứa âm tiết trước 1..4 
18 Số âm tiết của từ chứa âm tiết sau 1..4 
19 Vị trí âm tiết trong từ chứa nó 0..3 
20 Từ loại của từ chứa âm tiết N, V, I, E, J, X, A, C, P, Ø 
21 Loại câu (.), (!), (?), (…) 
37 
Giá trị các thuộc tính đặc trưng này có thể xác định được một cách hoàn toàn 
tự động. Đối với các thuộc tính liên quan đến đặc trưng hình vị của âm tiết và thuộc 
tính “Loại câu” (các thuộc tính từ 1 đến 15 và 21 trong Bảng 3.1), giá trị của chúng 
có thể được xác định dễ dàng bằng các xử lý đơn giản. Đối với các thuộc tính còn 
lại (từ 16 đến 20), để xác định giá trị thì cần phải có thông tin về ranh giới từ và từ 
loại. Tác giả đã sử dụng thư viện phần mềm tách từ và gán nhãn từ loại do PGS.TS 
Đinh Điền và nhóm VCL cung cấp [16][17]. Đầu vào là câu văn gồm các âm tiết sẽ 
đọc, đầu ra là ranh giới từ và từ loại của mỗi từ. Một ví dụ xử lý tách từ và gán nhãn 
từ loại như sau: 
- Giả sử, với các âm tiết sẽ đọc gồm: (học), (sinh), (học), (sinh), (học) 
- Ghép các âm tiết trên thành câu văn: “học sinh học sinh học .” 
- Thực hiện xử lý tách từ và gán nhãn từ loại cho câu văn trên ta được chuỗi 
chứa thông tin về ranh giới từ và tự loại như sau: “học_sinh/N học/V 
sinh_học/N ./.” 
Sau khi xác định được các giá trị đặc trưng ta chuẩn hoá chúng bằng cách 
ánh xạ về miền giá trị số thực trong khoảng [0..1] theo công thức: 
 (Vị trí tính từ 0 của giá trị trong cột “Nội dung” Bảng 3.1) 
Trị chuẩn hoá = (3.3) 
(Số lượng các giá trị - 1) 
Ví dụ: 
+ Thuộc tính đặc trưng thứ 1 là “Phụ âm đầu” có giá trị là “Ø” (ứng với vị trí 
0) sẽ được chuẩn hóa thành: 0 / (28-1) = 0 
+ Thuộc tính đặc trưng thứ 3 là “Nguyên âm” có giá trị là “y” (ứng với vị trí 
là 19) sẽ được chuẩn hoá thành: 19 / (20 – 1) = 1. 
+ Thuộc tính đặc trưng thứ 5 là “Dấu thanh” có giá trị là dấu huyền (ứng với 
vị trí là 2) sẽ được chuẩn hoá thành: 2 / (6 – 1) = 0,4. 
38 
3.2.2 Dữ liệu huấn luyện 
Dữ liệu huấn luyện được xây dựng dựa trên dữ liệu tiếng nói tự nhiên. Tập 
dữ liệu huấn luyện bao gồm tập hợp các mẫu dữ liệu huấn luyện, mỗi mẫu gồm 
chứa thông tin vector đặc trưng của âm tiết trong ngữ cảnh câu và các thông số ngữ 
điệu tương ứng với nó gồm: cường độ, trường độ và khoảng ngừng. 
Bộ dữ liệu được xây dựng qua các bước như sau: 
- Thu âm dữ liệu tiếng nói tự nhiên của cùng một người với cùng một phong 
cách ngữ điệu nhất định. 
- Với mỗi âm tiết trong chuỗi tiếng nói ta đánh dấu vị trí bắt đầu, vị trí kết 
thúc, và nhãn tên của mỗi âm tiết. Việc đánh dấu được thực hiện thủ công 
với sự trợ giúp của công cụ phần mềm Transciber [49] (Hình 3.4). Cấu trúc 
nội dung của dữ liệu đánh dấu được trình bày minh họa như trong Bảng 3.2: 
Bảng 3.2 – Minh họa cấu trúc nội dung của dữ liệu đánh dấu 
Vị trí bắt đầu (giây) Âm tiết 
0 Chúc 
0.116 các 
0.256 bạn 
0.429 một 
0.64 tuần 
0.929 
1.107 với 
1.305 nhiều 
1.622 niềm 
1.889 vui 
2.124 
2.428 và 
2.65 sức 
2.796 khỏe 
3.074 dồi 
3.256 dào. 
39 
Từ các thông tin đánh dấu, ta dễ dàng xác định được các thông tin về trường 
độ các âm tiết và khoảng ngừng sau mỗi âm tiết như sau: 
- Trường độ âm tiết = Vị trí bắt đầu của dòng kế tiếp – Vị trí bắt đầu âm tiết 
- Khoảng ngừng sau âm tiết: 
o bằng: 0, nếu dòng tiếp theo là một âm tiết. 
o bằng: độ dài của , nếu dòng tiếp theo là <khoảng 
ngừng>. 
Với thông số vị trí bắt đầu và trường độ của âm tiết, ta trích đoạn tín hiệu 
tiếng nói tương ứng và tính được giá trị cường độ trung bình của âm tiết. 
Sau khi xác định được hết các giá trị cường độ, trường độ và khoảng ngừng 
cho tất cả các âm tiết huấn luyện, ta thống kê và loại bỏ các giá trị biên có tần suất 
xuất hiện thấp không đáng kể, ta được khoảng giá trị của các thông số ngữ điệu như 
sau: 
o Cường độ: -35..-3 (dB) 
o Trường độ: 50..550 (milisecond) 
o Khoảng ngừng: 0..1000 (milisecond) 
Tiếp theo ta chuẩn hoá giá trị các thông số ngữ điệu cho các mẫu huấn luyện 
bằng cách ánh xạ sang miền giá trị số thực tương ứng trong đoạn [0..1] theo công 
thức như sau: 
Trị chuẩn hoá = ([trị ban đầu]–[chặn dưới])/([chặn trên]–[chặn dưới]) (3.4) 
Sau cùng ta thực hiện phân tích xử lý ngôn ngữ cho từng câu dữ liệu huấn 
luyện ta xác định được giá trị của vector đặc trưng cho các âm tiết huấn luyện như 
đã trình bày trong mục 3.2.1. 
Dữ liệu huấn luyện được lưu trữ thành 3 tập tin để huấn luyện cho 3 mạng 
nơ-ron tương ứng với 3 thông số ngữ điệu. Tập tin chứa dữ liệu huấn luyện là tập 
tin văn bản dạng text được định dạng như sau: 
40 
- Dòng đầu tiên có 3 cột cách nhau bởi khoảng trắng tương ứng lần lượt với 
tổng số âm tiết huấn luyện, số lượng thuộc tính đầu vào (21), số lượng thuộc 
tính đầu ra (1). 
- Các dòng tiếp theo là thông tin các âm tiết huấn luyện, mỗi âm tiết được biểu 
diễn bởi 2 dòng. Dòng thứ nhất có 21 cột tương ứng giá trị của 21 thuộc tính 
đầu vào. Dòng thứ 2 có một cột tương ứng với giá trị thuộc tính đầu ra. 
Ví dụ nội dung tập tin chứa dữ liệu huấn luyện: 
20000 21 1 
0.444 1.000 1.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.518 1.000 1.000 1.000 0.000 0.000 
0.723286 
0.518 1.000 1.000 1.000 0.000 0.000 0.000 0.000 0.000 0.444 1.000 1.000 1.000 0.000 0.000 1.000 1.000 1.000 1.000 0.000 0.000 
0.756250 
1.000 1.000 1.000 1.000 0.000 0.000 0.000 0.000 0.000 0.518 1.000 1.000 1.000 0.000 0.000 0.259 1.000 1.000 0.083 0.000 0.000 
0.404133 
… 
Hình 3.4: Màn hình công cụ Transcriber 
41 
3.2.3 Cấu trúc các mạng nơ-ron 
Hình 3.5: Xác định các thông số ngữ điệu bằng các mạng nơ-ron 
Kiến trúc mạng nơ-ron truyền thẳng nhiều lớp được tác giả chọn sử dụng vì 
tính phổ biến của nó. Để việc huấn luyện dễ dàng và hiệu quả, mỗi yếu tố ngữ điệu 
sẽ được xác định bởi một mạng nơ-ron riêng biệt. Vì thế có tất cả 3 mạng nơ-ron 
được sử dụng cho 3 yếu tố ngữ điệu tương ứng như Hình 3.5. Mỗi mạng gồm 21 nút 
input và 1 nút output. Số lượng lớp ẩn và nút ẩn sẽ được xác định chọn lựa bằng 
cách thử sai trong quá trình thực nghiệm. 
3.2.4 Cài đặt và huấn luyện các mạng nơ-ron 
Tác giả sử dụng thư viện FANN [47] để tạo và huấn luyện các mạng nơ-ron. 
Trọng số của các liên kết được khởi tạo với giá trị mặc định là 0.7. Hàm hoạt động 
của các nơ-ron là hàm sigmoid. Các mạng được huấn luyện với giải thuật lan truyền 
ngược được điều chỉnh cải tiến iRPROP (Improving resilient backpropagation) [44].