Thuật toán giải mã A* cho dịch máy

Một phần của tài liệu Trung tâm Thư viện và Tri thức số - Library and Digital Knowledge Center (Trang 30)

Hình 2 .6 Mơ hình log-tuyến tính

Hình 2.7 Thuật toán giải mã A* cho dịch máy

Q trình tìm kiếm đƣợc mơ tả nhƣ sau. Ban đầu trạng thái tìm kiếm của ta là r ng. Tiếp theo ta mở rộng nút này bằng cách trên m i nút bằng cách từ các từ trong câu tiếng Anh ta tìm các từ tiếng Anh có thể dịch ra đƣợc từ các từ đấy.

Tiếp theo ta chọn nút có đánh giá tối ƣu nhất để tiếp tục mở rộng nút này. Quá trình này tiếp tục đến khi nào tìm đƣợc câu dịch thỏa mãn. Đánh giá tại m i nút sẽ dựa theo hai giá trị là giá trị hiện tại và giá trị tƣơng lai. Giá trị hiện tại là tổng xác xuất của các cụm từ đã đƣợc dịch trong trong câu giả thiết nó là tích xác suất của mơ hình dịch, thay đổi vị trí và mơ hình ngơn ngữ.

Cost (V|E)=∏ ̅ ̅ (Công thức 2.7)

Giá trị tƣơng lai là đánh giá chi phí về các từ còn lại trong câu Tiếng Anh chƣa đƣợc dịch khi dịch sang câu Tiếng Việt. Khi kết hợp hai đánh giá này lại ta tìm đƣợc một đƣờng đi tối ƣu để dịch ra đƣợc câu Tiếng Việt. Để giảm bớt khơng gian tìm kiếm của bài tốn ta có thể sử dụng thuật toán beamsearch pruning. Sau m i bƣớc mở rộng, thì chỉ lƣu lại n trạng thái có đánh giá tốt nhất.

Sau đây là giải thuật tìm kiếm beam sử dụng đa ngăn xếp:

function BEAM SEARCH STACK DECODER (source

sentence) returns target sentence initial hypothesisStack[0..nf]

push initial null hypothesis on hypothesStack[0]

for i 0 to nf-1

for each hyp hypothesisStack[i]

for each new_hyp that can be derived from hyp

nf[new_hyp] number of foreign words covered by new_hyp

add new_hyp to hypothesisStack[nf[new_hyp]] prune hypothesisStack[nf[new_hyp]]

find best hypothesis best_hyp in hypothesisStack[nf]

return best path that lead to best_hyp via backtrace

Hình 2.8: Thuật tốn beamsearch pruning đánh giá chất lượng dịch

Đánh giá chất lƣợng các hệ thống dịch có thể đƣợc thực hiện thủ cơng bởi con ngƣời ho c tự động. Q trình đánh giá thủ cơng cho điểm cho các câu dịch dựa trên sự trơi chảy và chính xác của chúng. Thế nhƣng công việc đánh giá thủ công này lại tiêu tốn quá nhiều thời gian, đ c biệt khi cần so sánh nhiều mơ hình ngơn ngữ, nhiều hệ thống khác nhau. M i phƣơng pháp đánh giá đều có ƣu nhƣợc điểm riêng. Tuy đánh giá tự động khơng thể phản ánh đƣợc hết mọi khía cạnh của chất lƣợng dịch, nhƣng nó có thể nhanh chóng cho ta biết chất lƣợng của hệ dịch ở tầm nào.

BLEU là độ đo chất lƣợng hệ dịch phổ biến nhất hiện nay. BLEU tính điểm bằng cách đối chiếu kết quả dịch với tài liệu dịch tham khảo và tài liệu nguồn. M c dù điểm BLEU thƣờng không thực sự tƣơng quan với đánh giá thủ công của con ngƣời với các loại hệ thống khác nhau, thế nhƣng vẫn có thể khá chính xác để đánh giá trên cùng một hệ thống, ho c những hệ thống tƣơng tự nhau. Chính vì vậy, trong khóa luận này, điểm BLEU đƣợc sử dụng làm thƣớc đo chất lƣợng dịch, từ đó so sánh các loại mơ hình dịch tên riêng khác nhau[8].

CHƢƠNG 3. TỐI ƢU BẢNG CỤM TỪ CHO DỊCH MÁY THỐNG KÊ DỰA VÀO CỤM TỪ

3.1. Giới thiệu

Khi kích thƣớc tập văn bản huấn luyện lớn, số lƣợng các cụm n-gram và kích thƣớc của mơ hình ngơn ngữ cũng rất lớn. Nó khơng những gây khó khăn trong việc lƣu trữ, mà cịn làm tốc độ xử lý của mơ hình ngơn ngữ giảm xuống do bộ nhớ của máy tính là hạn chế. Để xây dựng mơ hình ngơn ngữ hiệu quả, chúng ta phải giảm kích thƣớc của mơ hình ngơn ngữ mà vẫn đảm bảo độ chính xác. Do vậy, việc cần có một kỹ thuật để tối ƣu bảng cụm từ, làm giảm kích thƣớc của mơ hình ngơn ngữ là cần thiết. Có ba kỹ thuật chính, bao gồm:

- Pruning(loại bỏ/cắt gọt): làm giảm số lƣợng các cụm n-gram trong mơ

hình ngơn ngữ bằng cách loại bỏ các cụm n-gram khơng quan trọng.

- Quantization (lƣợng tử hóa): thay đổi cấu trúc thông tin của m i cụm

n-gram trong mơ hình ngơn ngữ.

- Compression (nén): nén cấu trúc dữ liệu sử dụng trong việc lƣu trữ các

cụm n-gram trong mơ hình ngơn ngữ.  Pruning (loại bỏ/cắt gọt)

Số lƣợng các cụm n-gram xuất hiện vài lần trong tập huấn luyện thƣờng là lớn so với tổng số các cụm n-gram. Các cụm n-gram đó thƣờng là l i ngữ pháp trong tập huấn luyện, ho c là một số dạng đ c biệt nhƣ: tên riêng, từ viết tắt, ... [4] Những cụm n-gram này thƣờng rất ít sử dụng trong thực tế, do đó việc tồn tại của chúng có thể làm ảnh hƣởng đến độ chính xác của mơ hình ngơn ngữ. Chính vì lý do đó, kỹ thuật pruning tập trung vào việc loại bỏ các cụm n-gram nhƣ vậy. Có 2 phƣơng pháp chính:

- Cut-off (cắt bỏ): phƣơng pháp này tập trung vào việc loại bỏ các cụm n-

gram có tần số thấp trong tập huấn luyện.

- Weighted difference: phƣơng pháp này tập trung vào việc đánh giá và

loại bỏ các cụm n-gram không hiệu quả dựa vào xác suất của các cụm n-gram trƣớc và sau khi làm mịn theo phƣơng pháp truy hồi.

Quantization (lƣợng tử hóa)

Thuật tốn quantization lƣợng tử hóa làm giảm số lƣợng bit dùng để lƣu trữ các biến trong mơ hình ngơn ngữ. Thuật tốn này gồm hai bƣớc chính.

- Bƣớc thứ nhất, liệt kê và lƣu trữ tất cả các tần số của các cụm n-gram vào một bảng. Sau đó, thay thế tần số của các cụm n-gram trong mơ hình ngơn ngữ bằng chỉ số của tần số trong bảng. Nhƣ vậy, thay vì sử dụng b = log2(tần số

lớn nhất bit để lƣu trữ tần số của một cụm n-gram, thì chúng ta chỉ cần sử dụng b‟= log2 kích thƣớc của bảng) bit cho m i cụm n-gram. Do kích thƣớc của bảng nhỏ hơn nhiều so với giá trị tần số lớn nhất của các cụm n-gram nên b‟ < b, tức là kích thƣớc mơ hình ngơn ngữ đã giảm so với cách lƣu trữ ban đầu.

Tuy nhiên, để tăng tính hiệu quả, ở bƣớc thứ hai, thuật tốn này lƣợng tử hóa một số giá trị trong bảng tần số. Điều đó có nghĩa là, một số giá trị trong bảng có giá trị gần với nhau sẽ đƣợc thay thế bằng một con số chung. Sau bƣớc này, chúng ta sẽ thu đƣợc một bảng tần số với ít giá trị hơn, cũng tức là đã làm giảm kích thƣớc của mơ hình ngơn ngữ đi một lần nữa.

Compression (nén)

Mơ hình ngơn ngữ nào cũng có một cấu trúc dữ liệu. Do đó nếu cấu trúc dữ liệu đó đƣợc nén lại bằng các thuật tốn nén, thì kích thƣớc của mơ hình ngơn ngữ tất nhiên là giảm. Tuy nhiên, khi một mơ hình ngơn ngữ bị nén, thì độ chính xác và tốc độ của mơ hình ngơn ngữ đều giảm do phải giải nén, ho c bị mất dữ liệu do thuật tốn nén chƣa tốt . Do khơng hiệu quả nên kỹ thuật này hiện nay khơng cịn phổ biến nhƣ hai kỹ thuật trên, tuy vẫn đƣợc sử dụng bởi Microsoft trong modul kiểm l i chính tả của Microsoft Office 2007 .

Trong ba kỹ thuật trên (Pruning, Quantization, Compression) đều có chung mục tiêu, nhƣng m i kỹ thuật lại có những hiệu quả khác nhau. Trong luận văn này, tôi thực hiện nghiên cứu phƣơng pháp tối ƣu bảng cụm từ dựa vào kỹ thuật Pruning cắt gọt , cụ thể là mơ hình “Entropy-based Pruning” cho dịch máy thống kê dựa vào cụm từ, đƣợc đề xuất bởi Wang Ling 2012 [7]. Tƣ tƣởng của mơ hình Entropy cho bảng cụm từ là thực hiện loại bỏ các c p cụm từ ít xuất hiện trong mơ hình dịch, bằng cách nén khơng gian tìm kiếm trong quá trình giải mã mà khơng làm ảnh hƣởng đến chất lƣợng dịch.

Thuật toán cắt gọt bảng cụm từ là rất quan trọng trong việc dịch, nó có hiệu quả làm giảm kích thƣớc của mơ hình dịch mà khơng làm ảnh hƣởng đến chất lƣợng dịch. Và nó đ c biệt thích hợp trong mơi trƣờng có bộ nhớ bị hạn chế, ví dụ nhƣ các hệ thống dịch cho các thiết bị nhỏ nhƣ: Cell phone có hệ thống dịch online “Speech-to-Speech systems”.

3.2. Mơ hình Entropy tƣơng tự cho mơ hình dịch ảng cụm từ

Trong mục này, tơi trình bày về định nghĩa mơ hình entropy cho c p cụm từ, và áp dụng vào việc cắt gọt bảng cụm từ. Sau đây là một số khái niệm đƣợc đề cập trong phần trình bày:

Có hai c p cụm từ: C p cụm từ nguyên tử và c p cụm từ tổng hợp.

- C p cụm từ nguyên tử: dùng để định nghĩa một đơn vị dịch nhỏ, ví dụ dịch cụm từ từ s sang t, thì bản dịch thu đƣợc khơng thể là sự kết hợp của các

c p cụm từ khác. Nếu loại bỏ cụm từ sẽ làm giảm phạm vi dịch của bản dịch, và mơ hình đƣa ra có khả năng dịch và cũng là bản dịch tốt nhất có thể.

- C p cụm từ tổng hợp: dùng để định nghĩa bản dịch của một chu i các từ, và nó có thể thu đƣợc bằng cách sử dụng h n hợp các c p cụm từ nguyên tử này với các c p cụm từ nguyên tử khác. M i sự kết hợp này đƣợc gọi ho c . Việc loại bỏ các c p cụm từ không làm thay đổi tổng

số lƣợng câu mà mơ hình có thể dịch, vì tất cả các bản dịch đƣợc mã hóa trong những cụm từ, đều có thể đƣợc dịch bằng cách sử dụng cụm từ khác, nhƣng sẽ dẫn đến xác suất dịch khác nhau.

Chúng ta có thể thấy cụm từ nguyên tử mã hóa một sự kiện dịch cơ sở, trong khi cụm từ tổng hợp thực hiện mã hóa sự kiện chung, nó tạo ra từ việc tổng hợp liên kết mã hóa các cụm từ nguyên tử với nhau. Nếu chúng ta nhìn vào cụm từ nguồn “in”, thì có vơ số các bản dịch có thể cho từ này trong hầu hết các ngơn ngữ đích.

- Nếu lấy tiếng Việt là ngơn ngữ đích, thì xác xuất dịch từ “in” sang “ở”

là tƣơng đối thấp vì nó có thể đƣợc dịch sang nhiều từ khác nhau nhƣ: “ở trong”, “tại,” vào”, “vào năm”, “vì lẻ”, “gồm” và nhiều từ khác.

- Nếu lấy tiếng Bồ Đào Nha là ngơn ngữ đích, thì xác suất dịch từ “in”

sang “em” cũng tƣơng đối thấp, vì nó cũng có thể dịch sang các từ khác là “no”, “na”,”den-tro”, “dentro de” và nhiều từ khác.

Tuy nhiên, nếu chúng ta thêm từ khác vào phía sau từ “in” thì nhiều khả năng từ “in” đƣợc dịch sang ngơn ngữ đích là cao hơn:

Đối với ngơn ngữ đích là tiếng Việt:

Ví dụ, ta thêm từ “Viet Nam” vào phía sau từ “in” thì nhiều khả năng từ „‟in” đƣợc dịch sang từ “ở”. Ta định nghĩa sự kiện chung của việc dịch từ “in” sang từ “ở” là A1 , và dịch từ “Viet Nam” sang “Viet Nam” là B1, ký hiệu là

1 1

AB , trong c p cụm từ p in Viet Nam, ở Việt Nam . Nếu khơng có c p cụm từ này thì nhiều giả định đây là những sự kiện độc lập, và nhiều khả năng từ “in Viet Nam” đƣợc dịch sang “Vào Viet Nam”, “Vì lẻ Viet Nam”, “gồm Viet Nam”, “tại Viet Nam”, “trong Viet Nam”. Do đó kết quả dịch là khơng chính xác nhƣ mong đợi.

thì tạo thành “Lan in” mà không gây ảnh hƣởng đến bản dịch từ “in” vì nó vẫn có thể dịch thành “ở trong”, “tại,” vào”, “vào năm”, “vì lẻ”, “gồm” tùy thuộc vào từ phía sau.

Với định nghĩa này, nếu biểu diễn cụm từ p Lan, Lan không gây ảnh hƣởng đến dịch p in, ở và ngƣợc lại, chúng ta có thể nói xác xuất của sự kiện chung P( ) là bằng với xác suất của sự kiện chung P( ) P( ).

Đối với ngôn ngữ là Bồ Đào Nha

Theo [7] nhƣ sau: họ thêm từ khác nhƣ “Por-tugal” tạo thành “in Portugal”, thì nhiều khả năng từ “in” đƣợc dịch sang từ “em”. Và họ định nghĩa sự kiện chung của việc dịch từ “in” sang từ “em”(A1), và dịch từ “Portugal” sang “Portugal”(B1), kí hiệu là A1B1, trong c p cụm từ p in Portugal, em Portugal). Nếu khơng có c p cụm từ này, nó đƣợc giả định rằng đây là những sự kiện độc lập với xác suất cho bởi P( ) P( mà sẽ là 10%, dẫn đến giảm 60%. Trong trƣờng hợp này, sẽ có nhiều khả năng rằng từ “in Portugal” đƣợc dịch sang “no Portugal” ho c “na Portugal”, và kết quả sẽ là khơng chính xác.

Một số từ, ví dụ nhƣ “John” tạo thành “John in” không gây ảnh hƣởng đến bản dịch từ “in” vì nó vẫn có thể dịch thành “em”, “no”, “na”, “dentro” ho c “dentro de” tùy thuộc vào từ phía sau. Với định nghĩa này, nếu biểu diễn cụm từ p (John, John) không gây ảnh hƣởng đến dịch p in, em và ngƣợc lại, chúng ta có thể nói xác xuất của sự kiện chung P( ) là bằng với xác suất của sự kiện chung P( ) P( ).

Từ ví dụ trên nếu họ lựa chọn một c p cụm từ để cắt gọt ho c là p John in, John em ho c là p(in Portugal, em Portugal) thì sự lựa chọn hiển nhiên sẽ là đƣợc định dạng former , do xác suất của sự kiện đƣợc mã hố trong đó, c p cụm từ đƣợc tạo ra bởi 2 sự kiện độc lập, trong trƣờng hợp các bộ giải mã vốn sẽ xem xét các giả thuyết rằng "John in" đƣợc dịch là "John em" với xác suất nhƣ nhau. Nói cách khác, dự đốn của mơ hình là m c dù khơng cần c p cụm từ này thì vẫn sẽ giữ nguyên nhƣ cũ.

Ví dụ trên cho thấy trong những trƣờng hơp ngoại lệ, sự kiện mã hóa c p cụm từ p John in, John em đƣợc phân tích thành sự kiện độc lập, và có thể đƣợc loại bỏ mà khơng thay đổi dự đốn của mơ hình. Tuy nhiên, việc tìm kiếm và cắt gọt c p cụm từ là độc lập, dựa trên các sự kiện nhỏ hơn là khơng thực tế, vì hầu hết các sự kiện dịch đều không ch t chẽ. Tuy nhiên, nhiều c p cụm từ có thể đƣợc thay thế bằng cách sử dụng c p cụm từ nhỏ hơn với việc bỏ bớt đi lƣợng nhỏ trong mơ hình dự đoán.

ảng ảng ị h ụ từ với á ự iện li n ết

Phrase Pair Prob Event

Atomic Phrase Pairs In->em In->na In->no In->dentro In->dentro de Portugal->Portugal John->John 10% 20% 20% 5% 5% 100% 100% A1 A2 A3 A4 A5 B1 C1 Composite Phrase Pairs

In Portugal ->em Portugal John in->John em

John in->John na John in->John no John in->John dentro John in->John ndentro de

70% 10% 20% 20% 5% 5%

Do đó, họ muốn định nghĩa một chuẩn đo cho c p cụm từ đó, mà có thể để đánh giá nhƣ thế nào để loại bỏ m i c p cụm từ sẽ ảnh hƣởng đến dự đoán của cắt gọt. Bằng cách loại bỏ các c p cụm từ đó có thể đƣợc bắt nguồn sử dụng các c p cụm từ nhỏ với xác suất tƣơng tự nhƣ vậy, nó có thể loại bỏ một phần quan trọng của mơ hình dịch, trong khi giảm thiểu các tác động lên dự đoán của mơ hình.

3.2.2. Mơ hình Entropy cho dịch máy

M i c p cụm từ , chúng ta định nghĩa tập h trợ SP )=

tại m i phần tử = ..........., là một dẫn suất khác của s,t chuyển từ s sang t với xác suất là P )= P( ) x......x P( ). M i c p cụm từ có nhiều phần từ trong tập h trợ. Ví dụ, c p cụm từ p(Lan in Viet Nam, Lan ở Viet

Nam) có 3 thành phần trong tập h trợ:

- S1 = {p(Lan, Lan), p(in, ở), p(Viet Nam, Viet Nam)} - S2= {p(Lan, Lan), p(in Viet Nam, ở Viet Nam)} - S3= {p(Lan in, Lan ở), p(Viet Nam, Viet Nam)}

1

S , S2và S3là mã hóa 3 giả định khác nhau về sự kiện của dịch từ “Lan in Viet Nam” sang “Lan ở Viet Nam”.

1

S giả định rằng sự kiện này đƣợc tạo ra bởi 3 sự kiện độc lập A1, B1 và

1

Một phần của tài liệu Trung tâm Thư viện và Tri thức số - Library and Digital Knowledge Center (Trang 30)

Tải bản đầy đủ (PDF)

(52 trang)