1.1. Nhu cầu và lý do
Tổng hợp tiếng nói là lĩnh vực được rất nhiều nhóm nghiên cứu quan tâm,
vì nó có rất nhiều ứng dụng trong thực tế, như các hệ thống trả lời tự động,
đọc nội dung văn bản, máy phiên dịch, tuy nhiên tổng hợp tiếng nói cho
tiếng Việt còn rất nhiều hướng nghiên cứu, đặc biệt là trên thiết bị di động
như điện thoại thông minh, các ứng dụng còn rất hạn chế.
Cùng với sự phát triển của Khoa học kỹ thuật, các điện thoại thông minh
(smart phone) ngày nay có cấu hình mạnh (tốc độ xử lý) và bộ nhớ lớn, có thể
chạy được các ứng dụng yêu cầu cao về xử lý và bộ nhớ.
Các dịch vụ nội dung số cũng phát triển mạnh mẽ cùng với sự phát triển
của các điện thoại thông minh và cước phí viễn thông ngày càng rẻ, băng
thông ngày càng cao. Vì vậy các ứng dụng tiện ích chạy trên điện thoại di
động được rất nhiều người quan tâm. Trong đó, các ứng dụng tổng hợp tiếng
nói là một lĩnh vực khó, được nhiều nhóm nghiên cứu quan tâm.
Đối với đa số người dùng điện thoại, nhắn tin là một tiện ích không thể
thiếu, nó rất tiện lợi trong việc truyền đạt thông tin một cách rõ ràng và người
đọc cũng ít bị ảnh hưởng. Tuy nhiên với một số người mắt kém (đặc biệt là
người già), việc đọc các tin nhắn rất khó khăn vì chữ trên điện thoại thường
rất nhỏ. Nếu có phần mềm đọc tin nhắn văn bản thành lời sẽ rất tiện cho
những người này.
Kỹ thuật tổng hợp tiếng nói trên điện thoại di động cũng sẽ có nhiều ứng
dụng bổ ích cho một số mục đích như: đọc nội dung trang web, đọc nội dung
một file văn bản, Tuy nhiên viết ứng dụng trên điện thoại di động sẽ gặp
phải những khó khăn so với lập trình trên máy tính để bàn như: tốc độ xử lý,
bộ nhớ thấp hơn, hệ điều hành đi động hỗ trợ lập trình kém hơn (thư viện lập
trình hạn chế, giao diện hạn chế, )
1.2. Mục tiêu
Đề xuất giải pháp xây dựng hệ tổng hợp tiếng nói tiếng Việt trên thiết bị di
động dùng hệ điều hành Windows mobile. Đồng thời xây dựng phần mềm
đọc tin nhắn văn bản tiếng Việt (có dấu) làm thực nghiệm cho giải pháp này.
Thực nghiệm thực hiện trên hai phương pháp, dùng hệ thống nền (khoảng
lặng cố định) và hệ thống cải tiến (khoảng lặng thay đổi dựa vào máy chuyển
đổi trạng thái hữu hạn có trọng số)
1.3. Các hướng nghiên cứu liên quan
Ở trong nước, các nghiên cứu về tổng hợp tiếng nói cho tiếng Việt chủ yếu
được tiến hành theo hai phương pháp tổng hợp ghép nối và tổng hợp formant.
Đã có một số nghiên cứu và sản phẩm tổng hợp tiếng nói cho tiếng Việt trên
cơ sở ghép nối cho tiếng Việt, trong đó đơn vị ngữ âm cơ sở là âm tiết được
chọn lựa nhiều nhất. Một số nhóm nghiên cứu điển hình:
Nhóm của TS. Vũ Hải Quân thuộc phòng thí nghiệm trí tuệ nhân
tạo (AiLab) của Khoa Công Nghệ Thông tin trường Đại học Khoa
Học tự Nhiên TP. Hồ Chí Minh đã áp dụng khá thành công phương
pháp chọn đơn vị với tập dữ liệu âm thanh khá lớn, trang web thử
nghiệm của nhóm: www.ailab.hcmus.edu.vn/slp/vos/
Nhóm của Phạm Thanh Nam, với phần mềm “Tiếng nói Việt Nam”,
sourceforge.net/projects/vietnamesevoice/
Nhóm của Lương Chi Mai, thuộc Phòng Công nghệ phần mềm,
Viện Ứng dụng Công nghệ - Bộ Khoa học và Công nghệ, Website:
www.vndocr.com/
Các hệ thống tổng hợp tiếng nói cho tiếng Việt thường sử dụng công nghệ
TD-PSOLA để làm trơn điểm ghép nối và biến đổi các tham số cao độ và
trường độ. Tương tự như vậy, cũng đã có một số nghiên cứu cũng như sản
phẩm tổng hợp tiếng nói cho tiếng Việt theo phương pháp formant (cộng
hưởng tần số). Tuy nhiên thực nghiệm cho thấy chất lượng tiếng nói tổng hợp
theo phương pháp này còn rất hạn chế. Một số nhóm nghiên cứu điển hình:
Lê Hồng Minh, Hệ thống vnspeech, website:
www.vnisg.com/
Lê Hồng Minh, Tổng hợp formant âm tiết tiếng Việt, Tạp chí Bưu
chính Viễn thông.
Văn Ngọc An, Tổng hợp tiếng Việt bằng giải thuật TD-PSOLA, ĐH
Bách Khoa Hà Nội [1]
Hướng tiếp cận của đề tài này là dùng máy chuyển đổi trạng thái hữu hạn
có trọng số để xác định khoảng lặng giữa các đơn vị âm thanh dùng phương
pháp ghép nối.
1.4. Nội dung
Phần nội dung chính của đề tài gồm một số chương sau:
Chương 2: Tổng quan về tổng hợp tiếng nói
Giới thiệu tổng quan về một hệ thống tổng hợp tiếng nói từ văn
bản.
Chương 3: Tổng hợp tiếng nói trên windows mobile
Giới thiệu môi trường và các vấn đề cần giải quyết để xây dựng
ứng dụng tổng hợp tiếng nói trên môi trường di động, mà cụ thể
là trên Windows mobile.
Chương 4: Máy chuyển đổi trạng thái hữu hạn
Giới thiệu tổng quan về máy chuyển đổi trạng thái hữu hạn
(Finite State Transducer - FST), các thuật toán tối ưu trên FST.
Một dạng của FST áp dụng trong luận văn này là máy chuyển
đổi trạng thái hữu hạn có trọng số (Weighted Finite State
Transducer - WFST)
Chương 5: Thực nghiệm
Thực nghiệm được thực hiện trên hia phương pháp: hệ thống
nền (ghép nối với khoảng lặng có định) và hệ thống cải tiến
(ghép nối với khoảng lặng thay đổi) và so sánh kết quả đánh giá
giữa hai phương pháp.
Chương 6: Kết luận
Kết quả đạt được và hướng phát triển
19 trang |
Chia sẻ: tuandn | Lượt xem: 2035 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Luận văn Nghiên cứu xây dựng hệ tổng hợp tiếng Việt trên điện thoại di động, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
32
CHƢƠNG 4. MÁY CHUYỂN ĐỔI TRẠNG THÁI HỮU HẠN
Chƣơng này trình bày định nghĩa và ứng dụng của máy chuyển đổi trạng
thái hữu hạn (Finite State Transducer - FST) trong xử lý ngôn ngữ.
4.1. Giới thiệu
4.1.1. Tổng quan về máy trạng thái hữu hạn (FSM)
Máy trạng thái hữu hạn (Finite State Machine - FSM) hay còn gọi là
máy tự động trạng thái hữu hạn (Finite State Automaton - FSA) là một
dạng mô hình đa trạng thái, gồm 3 thành phần chính:
- Các trạng thái
- Các cung chuyển trạng thái
- Các hành động (Actions)
Hình 4.1 Máy trạng thái hữu hạn có 2 trạng thái.
33
Hình 4.1 minh họa một máy trạng thái hữu hạn với 2 trạng thái và các
hành động tƣơng ứng. Có 4 loại hành động khác nhau:
- Hành động vào (Entry action): đƣợc thực hiện khi vào trạng thái
tƣơng ứng.
- Hành động thoát (Exit action): đƣợc thực hiện khi rời trạng thái
tƣơng ứng.
- Hành động nhập (Input action): đƣợc thực hiện theo dữ liệu nhập
và trạng thái tƣơng ứng.
- Hành động chuyển trạng thái (Transition action): đƣợc thực hiện
khi chuyển trạng thái theo cung tƣơng ứng.
Một máy trạng thái hữu hạn có thể đƣợc biểu diễn bằng sơ đồ trạng
thái. Bảng 5.1 minh họa sơ đồ trạng thái của máy trạng thái hữu hạn trong
hình 4.1.
Bảng 4.1 Sơ đồ trạng thái của máy trạng thái hữu hạn.
Mở cửa Đóng cửa
mở_cửa --- Mở
đóng_cửa Đóng ---
Về mặt ứng dụng, máy trạng thái hữu hạn đóng vai trò quan trọng
trong nhiều lĩnh vực nhƣ công nghệ điện tử, ngôn ngữ học, khoa học máy
tính, triết học, sinh học, toán học, logic học… Trong khoa học máy tính,
máy trạng thái hữu hạn đƣợc sử dụng rộng rãi trong việc mô hình hóa
hoạt động của phần mềm, thiết kế hệ thống phần cứng, trình biên dịch,
công nghệ mạng, xử lý ngôn ngữ tự nhiên …
Về mặt phân loại, máy trạng thái hữu hạn gồm 2 nhóm chính:
- Máy trạng thái hữu hạn chấp nhận (Acceptor Finite State Machine
– A-FSM)
34
- Máy chuyển đổi trạng thái hữu hạn (Finite State Transducer – FST)
4.1.2. Máy trạng thái hữu hạn chấp nhận (A-FSM) và Máy chuyển đổi
trạng thái hữu hạn (FST)
Máy trạng thái hữu hạn chấp nhận (A-FSM) là một dạng máy chuyển
đổi trạng thái hữu hạn cho kết xuất nhị phân (yes/no) để xác định việc
một chuỗi nhập có đƣợc chấp nhận bởi máy trạng thái hữu hạn chấp nhận
hay không. Một trạng thái của máy trạng thái hữu hạn chấp nhận sẽ có 2
dạng quyết định là chấp nhận hay bác bỏ. Khi tất cả các tín hiệu nhập đã
đƣợc duyệt, nếu trạng thái cuối cùng chấp nhận thì chuỗi tín hiệu đó xem
nhƣ là hợp lệ, ngƣợc lại thì chuỗi tín hiệu sẽ bị bác bỏ bởi máy trạng thái
hữu hạn chấp nhận.
Đối với dạng Máy trạng thái hữu hạn chấp nhận, tín hiệu nhập là chuỗi
các ký tự, tín hiệu xuất là nhị phân (yes/no); hành động (action) không áp
dụng trong mô hình này.
Hình 4.2 minh họa một Máy trạng thái hữu hạn chấp nhận duyệt chính
tả cho từ “công”. Nếu từ đƣợc nhập đạt đƣợc đến trạng thái 7 thì xem nhƣ
hợp lệ, ngƣợc lại là sai chính tả.
35
Hình 4.2 Máy trạng thái hữu hạn chấp nhận (A-FST) duyệt chính tả cho từ
“công”
Thông thƣờng, Máy trạng thái hữu hạn chấp nhận đƣợc dùng để duyệt
cú pháp văn phạm cho các dạng ngôn ngữ hình thức, với trạng thái khởi
đầu đƣợc ký hiệu là một vòng tròn có mũi tên khống trỏ vào, và trạng thái
đích đƣợc ký hiệu là một vòng tròn viền đôi. Hình 4.3 minh họa một Máy
trạng thái hữu hạn chấp nhận duyệt chuỗi nhị phân xem số lƣợng số 0 là
chẵn hay lẻ.
Hình 4.3 Máy trạng thái hữu hạn chấp nhận duyệt chuỗi nhị phân có số
lƣợng số 0 là chẵn
Một dạng khác của máy trạng thái hữu hạn là máy chuyển đổi trạng
thái hữu hạn (Finite State Transducer - FST). Không giống nhƣ máy
chuyển đổi trạng thái hữu hạn chấp nhận (A-FST) chỉ phát sinh kết xuất
1
Bắt đầu
2
Có c c
3
Có ô ô
4
Có n n
6
Lỗi
g
Không có
c
Không có
ô
Không có
n
Không có
g
5
Có g
7
Thành
công
36
nhị phân, máy chuyển đổi trạng thái hữu hạn phát sinh kết xuất tùy theo
tín hiệu nhập và các hành động (action) tƣơng ứng trên trạng thái đi qua.
Có rất nhiều dạng máy chuyển đổi trạng thái hữu hạn khác nhau, phần
tiếp theo sẽ trình bày một cách hình thức hơn về máy chuyển đổi trạng
thái hữu hạn và một dạng đặc biệt của nó là máy chuyển đổi trạng thái
hữu hạn có trọng số (Weighted Finite State Transducer – WFST).
4.1.3. Máy chuyển đổi trạng thái hữu hạn có trọng số (WFST)
Máy chuyển đổi trạng thái hữu hạn có trọng số (Weighted Finite State
Transducer - WFST) hày còn gọi là máy chuyển đổi chuỗi sang trọng số
tuần tự (subsequential string-to-weight transducer) là một dạng của máy
chuyển đổi trạng thái hữu hạn với tín hiệu nhập là các chuỗi và kết xuất là
các trọng số. Dạng mô hình này đƣợc sử dụng trong nhiều lĩnh vực nhƣ
xử lý ngôn ngữ tự nhiên, xử lý tiếng nói, tổng hợp tiếng nói…
Hình 4.4 thể hiện vị trí của máy chuyển đổi trạng thái hữu hạn có trọng
số (WFST) trong họ máy trạng thái hữu hạn của nó. Các phần tiếp theo sẽ
trình bày về định nghĩa hình thức của máy chuyển đổi trạng thái hữu hạn
có trọng số cũng nhƣ các thuật toán phổ biến áp dụng trên nó.
37
Hình 4.4 Các dạng máy trạng thái hữu hạn.
4.2. Các định nghĩa
4.2.1. Máy chuyển đổi chuỗi sang trọng số
Một máy chuyển đổi chuỗi sang trọng số đƣợc định nghĩa là T = {Q,
∑, I, F, E, λ, ρ}, trong đó:
- Q: tập hữu hạn các trạng thái
- ∑: các ký tự nhập.
-
QI
: tập các trạng thái khởi đầu
-
QF
: tập các trạng thái kết thúc
-
QRQE
: tập các cung chuyển trạng thái
- λ: hàm trọng số khởi đầu, ánh xạ từ I sang R+
- ρ: hàm trọng số kết, ánh xạ từ F sang R+
Ngoài ra, ta còn có thể định hàm chuyển trạng thái δ, ánh xạ từ Q x ∑
sang 2
Q
nhƣ sau:
FSM
A-FSM FST
WFST …
38
EqxaqRxqaqQaq )',,,(:|'),(,),(
và một hàm kết xuất σ, ánh xạ từ E sang R+ nhƣ sau:
xtEqxapt )(,),,,(
Đƣờng đi π trong T từ q Q sang q‟ Q đƣợc định nghĩa là một tập
các cung chuyển trạng thái từ q đến q‟:
),(,1,0)),,,,(),...,,,,(( 11111000 iiimmmm aqqmiqxaqqxaq
Từ đây, ta có thể mở rộng định nghĩa của σ cho các đƣờng đi nhƣ sau:
110 ...)( mxxx
Vớ ký hiệu w
qq '
là một tập các đƣờng đi từ q đến q‟ đƣợc gán
nhãn theo chuỗi nhập w, ta sẽ mở rộng định nghĩa δ sang Q x ∑* và sang
2
Q
x ∑* nhƣ sau:
',in path :'),(,),( * qqTqwqQwq
w
Rq
wqwRwQR ),(),(,, *
Với bộ (q,w,q‟) Q x ∑ x Q mà tồn tại đƣờng đi từ q đến q‟ gán nhãn
theo w, ta định nghĩa θ(q,w,q‟) là kết xuất tối tiểu của tất cả các con
đƣờng từ q đến q‟ theo w:
)(min)',,(
'qq
w
qwq
Đƣờng đi trọn vẹn trong T là một đƣờng đi từ trạng thái khởi đầu đến
trạng thái đích. Chuỗi w ∑* đƣợc chấp nhận bởi T nếu và chỉ nếu tồn
tại một đƣờng đi trọn vẹn đƣợc gán nhãn theo w, kết xuất ƣơng ứng sẽ là:
))(),,()((min
),(:)(
ffwii
wifFIif
39
Một máy chuyển đổi T đƣợc gọi là đầy đủ nếu tất cả các trạng thái của
T đều thuộc về một đƣờng đi trọng vẹn nào đó. Các máy chuyển đổi
chuỗi sang trọng số tƣơng đƣơng với các hàm ánh xạ từ ∑* sang R+, ta
gọi các hàm này là các chuỗi lũy thừa hình thức.
Một máy chuyển đổi chuỗi sang trọng số đƣợc gọi là không mờ nếu
với mọi chuỗi w, có tối đa một đƣờng đi trọn vẹn gán nhãn theo w. Một
dạng đặc biệt của máy chuyển đổi chuỗi sang trọng số là máy chuyển đổi
chuỗi sang trọng số tuần tự, hay còn gọi là máy chuyển đổi trạng thái hữu
hạn có trọng số (WFST).
4.2.2. Máy chuyển đổi trạng thái hữu hạn có trọng số (WFST)
Một mô hình máy chuyển đổi trạng thái hữu hạn có trọng số đƣợc định
nghĩa là τ = (Q, i, F, ∑, δ, σ, λ, ρ) với:
- Q là tập các trạng thái
- i Q là các trạng thái khởi đầu
-
QF
là tập các trạng thái đích
- ∑: các ký tự nhập
- δ: hàm chuyển trạng thái, ánh xạ từ Q x ∑ sang Q, δ có thể đƣợc
mở rộng theo chuỗi để ánh xạ từ Q x ∑* sang Q.
- σ: hàm kết xuất, ánh xạ từ Q x ∑ sang R+, σ cũng có thể đƣợc mở
rộng sang trƣờng hợp Q x ∑*
- λ R+ là các trọng số khởi đầu
- ρ là hàm trọng số đích, ánh xạ từ F sang R+
Chuỗi w ∑* đƣợc chấp nhận bởi máy chuyển đổi trạng thái hữu hạn
có trọng số T nếu tồn tại f F sao cho δ(i, w) = f, và kết xuất tƣơng ứng
của w là: λ + σ(i, w) + ρ(f).
40
Hai trạng thái q và q‟ của một máy chuyển đổi chuỗi sang trọng số T,
không nhất thiết bán tuần tự, đƣợc gọi là song đôi nếu:
)',,'(),,()),'('),,(),,(}',({,)(),( 2* qvqqvqvqqvqquIqqvu
T có tính chất song đôi nếu mọi cặp trạng thái (q, q‟) bất kỳ đều là song
đôi.
4.3. Thuật toán Determinization của máy chuyển đổi trạng thái hữu
hạn có trọng số
Phần này trình bày thuật toán xây dựng một máy chuyển đổi bán tuần tự τ2
= (Q2, i2, F2, ∑, δ2, σ2, λ2, ρ2) tƣơng đƣơng với một máy chuyển đổi bất bán
tuần tự τ1 = (Q1, i1, F1, ∑, δ1, σ1, λ1, ρ1) cho trƣớc. Hình 4.5 minh họa các
bƣớc của thuật toán Determinization [8].
41
1
1
1 2
1 2
2
2
1
2 2 1
2
2
2 1
2 2 2
2 1
,( , )
Determinization( , )
1 F
2 ( )
3 i ( , ( )
4 Q i
5 while Q
6 do q [ ]
7 if ( (q,x) such that q F )
8 then F { }
9 (q ) ( )
10 fo
i I
i I
q F q x q
i
i i
head Q
q
F Q
x q
2 1 1 1
2 12
2
2 2 1
( , ) ( , ) ( , , ( ), ( ))
1
2 2 2 2 1
(q,x,t) (q , ), ( ) '' ( , )
2 2
r each a such that (q , )
11 do ( , ) ( )
12 ( , ) ', ( , ) ( )
13 if ( ( , ) is new sta
q x q a t q a t n t E
a n t qq v q a
a
q a x t
q a q q a x t
q a
2 2
te)
14 then ENQUEUE(Q, ( , ))
15 DEQUEUE(Q)
q a
Hình 4.5 Thuật toán Determinization
Trọng khởi đầu λ2 của τ2 sẽ là giá trị nhỏ nhất trong số các trọng số khởi
đầu của τ1 (dòng 2). Trạng thái khởi đầu i2 là tập con từ các cặp (i,x) với i là
trạng thái khởi đầu của τ1 và x = λ1(i) - λ2 (dòng 3). Thuật toán sử dụng một
hàng đợi Q đề lƣu lại các tập con q2. Ban đầu, Q chỉ chứa tập con i2. q2 là
trạng thái đích của τ2 nếu và chỉ nếu q2 chứa ít nhất một cặp (q, x) với q là
trạng thái đích của τ1 (dòng 7-8). Kết xuất cuối cùng sẽ là kết xuất nhỏ nhất
của các trạng thái đích trong q2 cộng với trọng tƣơng ứng (dòng 9).
42
Đối với mỗi nhãn nhập a mà có tồn tại ít nhất một trạng thái q của tập q2
liên kết với cung xuất có chứa a, ta xây dựng một cung chuyển trạng thái từ
q2 với nhãn nhập a (dòng 10-14). Kết xuất σ2 (q2, a) của cung chuyển trạng
thái này là kết xuất nhỏ nhất của tất cả các cung rời trạng thái trong q2 mà
mang nhãn a, cộng với trọng số tƣơng ứng của nó.
Thành phần δ2(q2, a) là tập con của các bộ (q‟, x‟) với q‟ là một trạng thái
của τ1 có thể đạt đến bằng cung mang nhãn a, và x‟ là trọng tƣơng ứng (dòng
12). δ2(q2, a) sẽ đƣợc đặt vào hàng đợi Q chỉ khi nào nó là một tập con mới.
Với ký hiệu n1(t) là trạng thái đến của cung t E1, các thành phần Г(q2, a),
γ(q2, a) và v(q2, a) của thuật toán đƣợc định nghĩa nhƣ sau:
2 2 1 1 1
2 2 1 1 1 1
2 2 1 1
( , ) ( , ) : ( , , ( ), ( ))
( , ) ( , , ) : ( , , ( ), ( ))
( , ) ' : ( , ) , ( , , ( ), ')
q a q x q t q a t n t E
q a q x t q E t q a t n t E
q a q q x q t q a t q E
Hình 4.7 minh họa kết quả của việc áp dụng thuật toán Determinization lên
máy chuyển đổi trong hình 4.6.
Hình 4.6 Máy chuyển đổi μ1 đại diện cho chuỗi lũy thừa định nghĩa trên {R+ U{∞},
min, +}
49
tính tƣơng đƣơng giữa 2 máy chuyển đổi trạng thái hữu hạn có trọng số này
không ?
Một thuật toán xét tính tƣơng đƣơng giữa 2 máy chuyển đổi trạng thái hữu
hạn có trọng số là dựa trên phƣơng pháp của Aho, Hopcroft, và Ullman
(1974). Độ phức tạp của thuật toán này cũng ở mức tƣơng đƣơng với thuật
toán Minimization [8].
4.7. Thuật toán Compose
Thuật toán này kết hợp hai máy chuyển đổi trạng thái hữu hạn, ký hiệu
AoB, trong đó nhãn đầu ra (output label) của máy chuyển đổi trạng thái hữu
hạn A và nhãn đầu vào (input label) của máy chuyển đổi trạng thái hữu hạn B
phải đƣợc sắp xếp trƣớc.
Nếu máy chuyển đổi trạng thái hữu hạn A có cung (transition) x:i/w1 và
máy chuyển đổi trạng thái hữu hạn B có cung i:y/w2 thì máy chuyển đổi
trạng thái hữu hạn kết quả có cung x:y/w3 với w3=w1+w2 [7, 8]
Một ví dụ:
Hình 4.11 Máy chuyển đổi trạng thái hữu hạn A
0
1/0
2/2.5
a:q/1
a:r/2.5
c:s/1
43
Hình 4.7 Máy chuyển đổi μ2 – kết quả của việc áp dụng thuật toán
Determinization lên μ1.
Thuật toán Determinization đã đƣợc chứng minh là sẽ tạo ra một máy
chuyển đổi tƣơng đƣơng với máy chuyển đổi nhập. Tuy nhiên, độ phức tạp
tính toán của thuật toán này ở mức lũy thừa. Chỉ trong một số ít trƣờng hợp,
thuật toán có thể chạy tƣơng đối nhanh. Nhƣng nếu xét về hoạt động duyệt,
WFST có độ phức tạp tính toán là tuyến tính theo chiều dài chuỗi nhập.
Chính vì vậy, việc áp dụng thuật toán Determinization để tăng tốc hoạt động
duyệt cũng là thỏa đáng.
Không phải máy chuyển đổi nào cũng có thể áp dụng đƣợc thuật toán
Determinization [8]. Thuật toán này chỉ áp dụng đƣợc trên các máy chuyển
đổi khả quyết. Phần tiếp theo trình bày về máy chuyển đổi khả quyết và các
đặc tính của nó.
4.4. Máy chuyển đổi khả quyết (Determinizable Transducers)
Có một số máy chuyển đổi mà khi áp dụng thuật toán Determinization,
thuật toán sẽ không có điểm dừng, và phát sinh vô số tập con. Ta định nghĩa
máy chuyển đổi khả quyết là các máy chuyển đổi làm dừng thuật toán
Determinization [8].
44
Định lý: Một máy chuyển đổi chuỗi sang trọng số τ1 = (Q1, ∑, I1, F1, E1, λ1,
ρ1) là khả quyết nếu nó có tính chất song đôi (nhƣ đã trình bày trong phần
định nghĩa).
Ngoài ra, có một số máy chuyển đổi không có tính chất song đôi nhƣng
vẫn khả quyết. Để xác định các dạng máy chuyển đổi này, cần có những điều
kiện phức tạp, tuy nhiên trong trƣờng hợp của các máy chuyển đổi đầy đủ-
không mờ (đã nêu ở phần định nghĩa), điều kiện khả quyết của nó cũng là
tính chất song đôi.
Phần tiếp theo trình bày thuật toán xét tính khả quyết của một máy chuyển
đổi đầy đủ-không mờ.
4.5. Xét tính khả quyết (Test of Determinizability)
Nhƣ đã trình bày trong phần 4.3.4, một máy chuyển đổi đầy đủ-không mờ
là khả quyết nếu nó có tính chất song đôi.
Một máy chuyển đổi chuỗi sang trọng số đầy đủ-không mờ τ1 = (Q1, ∑, I1,
F1, E1, λ1, ρ1) có tính chất song đôi nếu và chỉ nếu:
* 2 2
1
1 1 1 1 1
( , ) ( ) ,| | 2 | | 1,
({ , '} ( , ), ( , ), ' ( ', )) ( , , ) ( ', , ')
u v uv Q
q q I u q q v q q v q v q q v q
Thuật toán xét tính chất song đôi của máy chuyển đổi τ1 gồm các bƣớc sau:
1) Tính bao đóng của I: T(I)
2) Xác định các cặp trạng thái (q1, q2) của T(I) với q1 ≠ q2
3) Với mỗi cặp (q1, q2), tính bao đóng của (q1, q2, 0) trong A. Nếu bao
đóng này chứa (q1, q2, c) với c ≠ 0 thì τ1 không có tính chất song đôi.
trong đó, c là một số thực thuộc tập K định nghĩa bên dƣới, A = {Q, I, F,
E} là một máy trạng thái hữu hạn đƣợc tạo thành từ kết quả của phép tích
chéo giữa τ1 và chính nó. Các thành phần của A gồm:
- Gọi K là một tập hữu hạn các số thực, cho bởi biểu thức sau:
45
' 2 ' 2
1 1
1
( ( ) ( )) :1 2 | | 1, ( , )
k
i i i i
i
K t t k Q i k t t E
- Q = Q1 x Q1 x K = tập các trạng thái của A
- I = I1 x I1 x {0} = tập các trạng thái khởi đầu của A
- F = F1 x F1 x K = tập các trạng thái đích của A
- E = tập các cung chuyển trạng thái:
1 2 1 2
1 2 1 1 2 1
(( , , ), , ( ' , ' , ')) :
( , , , ) , ( ' , , ', ' ) , ' '
E q q c a q q c Q Q
q a x q E q a x q E c c x x
Thuật toán xét tính chất song đôi của một máy chuyển đổi có độ phức tạp
tính toán theo thời gian đa thức. Với thuật toán này, ta có thể xét tính khả
quyết của một máy chuyển đổi đầy đủ-không mờ.
Tuy nhiên, trong nhiều trƣờng hợp trên thực tế, các máy chuyển đổi cần
xét tính khả quyết lại là máy chuyển đổi mờ [8]. Giải pháp cho vấn đề này là
xây dựng máy chuyển đổi không mờ từ máy chuyển đổi mờ đã cho theo
phƣơng pháp của Eilenberg (1974-1976) với độ phức tạp tính toán là lũy thừa
trong trƣờng hợp xấu nhất. Nhƣ vậy, độ phức tạp của thuật toán xét tính khả
quyết cũng là lũy thừa trong trƣờng hợp xấu nhất.
4.6. Thuật toán Minimization
Phần này trình bày thuật toán xác định máy chuyển đổi trạng thái hữu hạn
có trọng số tối tiểu của một chuỗi lũy thừa S cho trƣớc.
Với mọi chuỗi lũy thừa S, ta định nghĩa quan hệ RS trên ∑* nhƣ sau:
1
*
s
-1 1 -1 1
/ supp(S)
( , ) , R v k R,
(u supp( ) supp(S)) and ( u )
u
u v u
S v S v S k
Đối với một chuỗi lũy thừa S bất kỳ, luôn tồn tại một máy chuyển đổi
trạng thái hữu hạn có trọng số tối tiểu để tính S, số trạng thái của máy chuyển
46
đổi trạng thái hữu hạn có trọng số này bằng với số chỉ mục của RS. Trƣớc khi
trình bày thuật toán xác định máy chuyển đổi trạng thái hữu hạn có trọng số
tối tiểu từ một máy chuyển đổi trạng thái hữu hạn có trọng số cho trƣớc, trƣớc
hết ta định nghĩa thao tác pushing.
Cho trƣớc một máy chuyển đổi trạng thái hữu hạn có trọng số T = (Q, i, F,
∑, δ, σ, λ, ρ), kết quả của thao tác pushing trên T là máy chuyển đổi trạng thái
hữu hạn có trọng số T‟ = (Q, i, F, ∑, δ, σ‟, λ‟, ρ‟). Điểm khác biệt giữa T và
T‟ nằm ở trọng kết xuất nhƣ sau:
' ( );
( , ) , '( , ) ( , ) ( ( , )) ( );
, '( ) 0
d i
q a Q q a q a d q a d q
q Q q
trong đó, d(q) đƣợc định nghĩa cho mỗi trạng thái q Q:
( , )
( ) ( ( , ) ( ( , )))min
q w F
d q q w q w
với định nghĩa này của d, ta có:
* : ( , ) , ( ) ( , ) ( ( , ), ) ( ( ( , ), ))w q aw F d q q a q a w q a w
điều này dẫn đến:
( ) ( , ) ( ( , ))d q q a d q a
Do đó, ta đƣợc:
( , ) , '( , ) 0q a Q q a
Chính vì vậy, ta luôn có T‟ (có đƣợc từ phép pushing) là tƣơng đƣơng với
T.
Thuật toán tìm máy chuyển đổi trạng thái hữu hạn có trọng số tối tiểu: cho
trƣớc T = (Q, i, F, ∑, δ, σ, λ, ρ), nếu áp dụng lên T lần lƣợt 2 phép biến đổi
sau:
1) pushing
2) automata minimization
47
ta sẽ đƣợc một máy chuyển đổi trạng thái hữu hạn có trọng số kết quả T‟.
T‟ này chính là máy chuyển đổi trạng thái hữu hạn có trọng số tối tiểu tƣơng
đƣơng với T.
Thông thƣờng, có nhiều máy chuyển đổi trạng thái hữu hạn có trọng số tối
tiểu tƣơng đƣơng với một máy chuyển đổi trạng thái hữu hạn có trọng số cho
trƣớc. Tuy nhiên, các máy chuyển đổi trạng thái hữu hạn có trọng số tối tiểu
này có cùng một cấu trúc, chúng chỉ khác nhau về nhãn xuất và cách phân
phối của các trọng xuất.
Độ phức tạp của thuật toán Minimization xác định máy chuyển đổi trạng
thái hữu hạn có trọng số tối tiểu trong trƣờng hợp tổng quát là:
O(|E|log|Q|)
Hình 4.8, 4.9 và 4.10 minh họa kết quả từng bƣớc của thuật toán
Minimization. Hình 4.8 minh họa máy chuyển đổi trạng thái hữu hạn có trọng
số β1. máy chuyển đổi trạng thái hữu hạn có trọng số γ1 trong hình 4.9 là kết
quả của thao tác pushing trên β1. Và cuối cùng, δ1 trong hình 4.10 là kết quả
cuối cùng của thuật toán Minimization – máy chuyển đổi trạng thái hữu hạn
có trọng số tối tiểu tƣơng đƣơng với β1 ban đầu.
Hình 4.8 Máy chuyển đổi trạng thái hữu hạn có trọng số β1.
48
Hình 4.9 Máy chuyển đổi trạng thái hữu hạn có trọng số γ1 có đƣợc từ việc
pushing β1.
Hình 4.10 Máy chuyển đổi trạng thái hữu hạn có trọng số tối tiểu δ1 có đƣợc từ
việc áp dụng bƣớc automata minimization lên γ1.
Máy chuyển đổi trạng thái hữu hạn có trọng số kết quả T‟ của thuật toán
Minimization sẽ có số trạng thái ít nhất và tƣơng đƣơng với máy chuyển đổi
trạng thái hữu hạn có trọng số ban đầu T. Một câu hỏi đặt ra là có một máy
chuyển đổi trạng thái hữu hạn có trọng số nào cũng tƣơng đƣơng với T nhƣng
có số cung chuyển trạng thái ít nhất hay không ? Hệ quả đã đƣợc chứng minh
sau đây trả lời cho câu hỏi này.
Hệ quả: một máy chuyển đổi trạng thái hữu hạn có trọng số tối tiểu thì
cũng có số lƣợng cung chuyển trạng thái là ít nhất so với các máy chuyển đổi
trạng thái hữu hạn có trọng số tƣơng đƣơng không tối tiểu.
Một vấn đề khác nữa đƣợc đặt ra là: nếu cho trƣớc 2 máy chuyển đổi trạng
thái hữu hạn có trọng số bất kỳ, liệu có một thuật toán nào giúp cho việc xét
50
Hình 4.12 Máy chuyển đổi trạng thái hữu hạn B
Hình 4.13 Kết quả của thuật toán compose C=AoB
0
2/2
q:f/1
r:h/3
s:j/1.5 1
s:g/2.5
0
3/2
2/4.5
a:f/2
a:h/5.5
c:j/2.5
1
c:g/3.5