Ý 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 |
Chia sẻ: vietpd | Lượt xem: 1402 | 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].