Vấn đề trọng số âm và cách giải quyết

Một phần của tài liệu Phân tích cú pháp trong tổng hợp tiếng nói tiếng việt (Trang 33 - 34)

Thuật toán BFS sẽ chỉ hoạt động trong một đồ thị mà các cạnh có trọng số không âm. Điều này hoàn toàn có thể với trường hợp của Kai Zhao (2013), vì hệ thống của họ có thể sử dụng giá trị f(ai,pi) = -log(P(ai,pi)) có giá trị luôn không âm để làm trọng số cho các cạnh của đồ thị. Tuy nhiên, với Perceptron cấu trúc, ta có công thức tính điểm cho một cạnh của đồ thị là: ( ) ( ) . Giá trị này hoàn toàn có thể mang giá trị âm, qua đó vi phạm điều kiện tiên quyết của thuật toán BFS.Tất nhiên hầu hết chúng ta sẽ nghĩ ngay đến cách thức đơn giản nhất là cộng thêm vào điểm của các action một giá trị offset đủ lớn sao cho: ( )

>= 0. Tuy nhiên, cách giải quyết này lại vấp phải một vấn đề khác: số lượng action với mỗi cây cú pháp đầu ra của cùng một câu văn bản là có thể khác nhau. Điều này dẫn tới kết quả là cộng thêm giá trị offset không đổi như trên có thể làm thay đổi thứ tự ưu tiên ban đầu, và đáp án đưa ra không phải là đáp án tối ưu.Để giải quyết vấn đề trọng số âm này, hệ thống phân tích BFS Shift-Reduce của luận văn sẽ được tinh chỉnh theo hai bước sau: thiết kế ra một hệ thống action mới nhằm đảm bảo số lượng action của tất cả các cây cú pháp đầu ra cho cùng một câu văn bản luôn là như nhau; sau đó, chọn giá trị offset thích hợp để đồ thị ban đầu thực sự trở thành đồ thị có trọng số không âm, phù hợp với yêu cầu của giải thuật BFS.

Các action Shift và Reduce Binary đều là những action số lượng đồng nhất, vì chúng ta luôn chỉ có n action Shift và n action Reduce Binary phải thực hiện để đi

Lê Quang Thắng – CNTT.KH.2012B 30

từ state bắt đầu đến state kết thúc, với n là số từ của câu văn bản đầu vào. Tuy nhiên, nguyên nhân gây ra việc các state kết thúc của cùng một state bắt đầu có số lượng action phải đi qua khác nhau chính là do sự xuất hiện không đồng nhất của các action Reduce Unary. Chính vì vậy, người làm luận văn đã quyết định đề xuất ra việc sử dụng một hệ thống action mới có thể đảm bảo được số lượng các action phải đi qua để đạt đến state kế thúc luôn là 2n. Ý tưởng cơ bản của hệ thống action này là việc hợp nhất các action reduce unary với action shift và reduce binary thành các loại action tổ hợp. Như vậy, hệ thống action mới của hệ thống sẽ bao gồm nămloại action:

 SH: action Shift bình thường.

 SHU(X): là action kết hợp giữa action Shift và action Reduce Unary(X). Action này sẽ thực hiện action Shift trước, rồi thực hiện tiếp action Reduce Unary(X).

 RE(X): action Reduce Binary(X) bình thường.

 REU(Y,X): là action kết hợp giữa action Reduce Binary(X) và Reduce Unary(Y). Action này sẽ thực hiện action Reduce Binary(X) trước, rồi thực hiện ngay action Reduce Unary(Y), tương ứng với luật đơn Y  X.  FIN: action kết thúc phân tích giống như action Finish.

Sau khi áp dụng hệ thống action này, thì việc lựa chọn ra một giá trị offset đủ lớn để điểm của các cạnh action trong đồ thị không âm là khá đơn giản.

Một phần của tài liệu Phân tích cú pháp trong tổng hợp tiếng nói tiếng việt (Trang 33 - 34)