Hệdịch D3

Một phần của tài liệu Đồ án tốt nghiệp Xây dựng thử nghiệm hệ dịch tự động Anh - Việt theo hướng tiếp cận So khớp tập mẫu (Trang 36)

3.1.1 Giới thiệu chung

D3 là một mô hình dịch máy trên nền ví dụ, được đề xướng bởi một nhà khoa học Nhật Bản có tên là Sumita. Mô hình này đã được thử nghiệm và gây đuợc ấn tượng trong một hệ dịch từ tiếng Nhật sang tiếng Anh trong lĩnh vực du lịch. D3 yêu cầu một tập mẫu, gồm các cặp câu song ngữ, nhưng trong quá trình dịch chúng phải được biểu diễn dưới dạng dãy từ (word sequence).

Để dịch một câu đầu vào, hệ thống sẽ tìm kiếm trong tập ngữ liệu những cặp câu nào có phần ngôn ngữ nguồn tương tự nhất với nó. Khái niệm “tương tự” ở đây sẽ được lượng hoá bằng một độ đo ngữ nghĩa gọi là “edit-distance”. Sau đó, với mỗi một cặp câu vừa được chọn ra, hệ thống sẽ so sánh phần ngôn ngữ nguồn của nó với câu đầu vào, lọc ra các thành phần khác nhau giữa chúng để tổng quát hoá câu ngữ liệu thành các mẫu (patterns). Công đoạn cuối cùng chỉ là chọn ra mẫu phù hợp nhất và thực hiện phép thay thế các thành phần khác nhau nói trên để có được câu dịch cần tìm từ phần ngôn ngữ đích của mẫu đó. Hình sau sẽ mang lại một sự hình dung

đầu tiên về phương thức làm việc của D3, trong đó các công đoạn “tìm kiếm” và

sản sinh mẫu” được thể hiện bằng hai khối “Retreival” và “Adapt”:

36

Những nội dung chính:

Nghiên cứu chi tiết hệ D3 (Dp-match Driven transDucer) và giải thuật DP-matching.

Trên cơ sở phân tích những ưu, nhược điểm của hệ, đề xuất hệ thống các giải pháp để làm cho nó được tốt hơn, cụ thể là các vấn đề sau:

o Tổ chức lưu trữ ngữ liệu bằng đồ thị.

o Kết hợp giải thuật Dp-matching với giải thuật A* trong pha So khớp để chọn ra tập ngữ liệu tương tự nhất.

Hình 3. 1 Minh hoạ cách thức làm việc của D3 3.1.2. Các đặc điểm và tính năng

 D3 là hệ dịch dựa hoàn toàn vào tập ngữ liệu để xây dựng phương thức dịch

cho mình, không cần phải phân tích cú pháp của câu, hay xây dựng cây chuyển đổi cú pháp giữa hai ngôn ngữ.

 D3 sản sinh ra các mẫu dịch (Translation Patterns) dựa trên sự so sánh

những điểm giống và khác nhau giữa câu đầu vào với tập câu ứng viên (được xem là tương tự nhất) với nó sau khi lọc ra từ tập mẫu.

3.1.3. Cấu hình

Output: Tôi / thích / màu sắc Input: I / like / the / color

RETRIEVE

Example I / like / the / trademark Tôi / thích / thương hiệu

ADAPT

Hình 3. 2 Cấu hình của D3 (Các nguồn dữ liệu và các khối xử lý chính)

Theo như hình trên, chúng ta thấy hệ dịch D3, cũng giống như một hệ dịch Example- Based tổng quát, cần sử dụng tới 3 nguồn dữ liệu. Đó là:

* Kho dữ liệu song ngữ: (Bilingual Corpus):Yêu cầu huấn luyện đối với kho ngữ liệu hoàn toàn giống như phần trình bày (2.3.2.). Tham gia vào giai đoạn “Tìm kiếm ngữ liệu tương tự”

* Từ điển đồng nghĩa: (Thesaurus):

Kho ngữ liệu song ngữ Từ điển đồng nghĩa Từ điển song ngữ

Tìm kiếm ngữ liệu tương tự

Sản sinh mẫu Chọn mẫu phù hợp nhất Thay thế Input Sentence Output Sentence 38

Hình 3. 3 Cấu trúc phân cấp của Từ điển đồng nghĩa (Thesaurus)

Từ điển đồng ngữ được xây dựng với mục đích chính là giúp xác định được độ đồng nghĩa (hoặc khoảng cách về mặt ngữ nghĩa) giữa hai từ thuộc cùng một ngôn ngữ.Trong D3, từ điển đồng nghĩa được xây dựng ở cả ngôn ngữ nguồn và ngôn ngữ đích.Chúng được sử dụng trong hai giai đoạn là: “Tìm kiếm ngữ liệu tương tự” và “Sản sinh mẫu”.

Từ điển đồng nghĩa gồm một số lớp nghĩa được phân cấp, theo chủ đề của từ đi từ trừu tượng đến cụ thể. Số lớp phân cấp càng lớn, nghĩa là số chủ đề càng nhiều thì độ đo ngữ nghĩa càng chính xác. Sau khi phân lớp xong, chúng ta sẽ tiến hành đánh số mức cho lớp. Quy tắc đánh số là: (adsbygoogle = window.adsbygoogle || []).push({});

- Mức của lớp ít trừu tượng nhất sẽ là 0. Dưới mức 0 này sẽ là các từ cụ thể.

- Nếu một lớp có mức là N thì lớp cha của nó (theo định nghĩa của cấu trúc cây) sẽ có mức là N+1.

Chẳng hạn, trong hình minh hoạ …thì các lớp fruit, vegetable, meat…có mức 0;

lớp cha của chúng ingredients sẽ là mức 1, và cứ như vậy cho đến gốc của cây.

Nếu cây có số mức cao nhất là N, thì khoảng cách về ngữ nghĩa của hai từ trong từ điển được định nghĩa như sau:

N K SEMDIST = (3.1) Thesaurus vegetable carrot potato Từ Fruit Apple Orange meat beef chicken ingredients TOP food K N N K SEMDIST =

Mức trừu tượng chung thấp nhất

Trong đó: K là mức trừu tượng chung thấp nhất ( Most specific common abstraction) giữa hai từ.Nói cách khác, nếu xuất phát từ hai từ nói trên và đi ngược lên gốc của cây, thì K là mức của lớp giao nhau của hai đường đi đó.

Ví dụ: Trong hình …giả sử K=5, lúc này dễ thấy khoảng cách ngữ nghĩa giữa các từ “Apple” và “Orange” là: SEMDIST(“Apple”,“Orange”) = 0; Tương tự: SEMDIST(“Apple”, “beef”) =

5 1

.

Từ điển đồng nghĩa tham gia vào hai giai đoạn là “Tìm kiếm ngữ liệu tương tự” và “Sản sinh mẫu”.

* Từ điển song ngữ (Bilingual Dictionary): dùng trong 2 giai đoạn “Sản sinh mẫu” và “Thay thế”.

3.1.4. Khối “Example Retrieval” (Tìm kiếm ngữ liệu tương tự)

Sau khi kết thúc giai đoạn “Pre-processing”, lúc này mỗi câu trong đoạn văn bản đã được tách từ, đồng thời được gán nhãn từ loại và biểu diễn dưới dạng một chuỗi các từ. Mỗi câu này sẽ là đầu vào của khối xử lý tiếp theo, khối lọc ra những câu tương tự nhất với nó mà tập mẫu có được. Có thể nói đây là khối xử lý phức tạp nhất, tốn nhiều thời gian nhất và chất lượng của nó ảnh hưởng đến hiệu suất dịch của toàn bộ hệ thống.

3.1.4.1. Ý tưởng

Duyệt từng câu trong tập mẫu, sau đó sử dụng giải thuật tính khoảng cách (hoặc độ tương tự) giữa nó với câu đầu vào, để tìm ra những câu có độ khoảng cách nhỏ nhất (hay độ tương tự lớn nhất). Để có thể lấy ra được những câu có thể tin cậy được, cần phải đưa ra một giá trị ngưỡng. Nếu giá trị khoảng cách nhỏ nhất có thể được vượt quá giá trị ngưỡng thì thuật toán sẽ kết thúc mà không có một câu nào được chọn.

Kho ngữ liệu X X X X X Dist (input,example) <= (=1/3) INPUT:

We close the door

EXAMPLE:

We will close the shop I open the door We open the shop…

Hình 3. 4 Minh hoạ khối Tìm kiếm ngữ liệu tuơng tự.

3.1.4.2. Tính khoảng cách giữa hai câu dựa vào giải thuật DP- Matching

Khái niệm: Khoảng cách ngữ nghĩa (edit-distance) giữa hai câu s1 và s2 (được biểu diễn bằng các word-sequence) được định nghĩa bằng thương số giữa chi phí biến đổi

tối thiểu để thu được s2 từ s1 và tổng số từ trong hai câu đó:

d(s1,s2) = ( ) 2 1 2 1, s s L L s s C + (3.2)

Trong đó: C(s1, s2) là ký hiệu chi phí cực tiểu để thu được s2 từ s1, Ls1 và Ls2 lần lượt

là tổng số từ (hay còn được gọi là “độ dài”) của s1 và s2

Cách xác định C(s1,s2) :

Quá trình biến đổi s1 để thu được s2 thực chất là tổ hợp của các thao tác: (adsbygoogle = window.adsbygoogle || []).push({});

 Thêm từ vào s2.

 Xoá từ trong s2.

 Thay thế một từ trong s2 bằng một từ trong s1.

Chúng ta định nghĩa:

C(“ ”, “ ”) = 0. (1) C(s, “ ”) = C(“ ”, s) = |s| (|s| là độ dài hay là tổng số từ trong s). (2) C(s1+w1, s2+w2) = (3) min ( C(s1,s2) + 2.SEMDIST(w1,w2) ,

C(s1+w1,s2) + 1,C(s1,s2+w2) + 1)

Dễ thấy (1) và (2) là hiển nhiên. Đối với (3), đó là công thức đệ quy giúp xác định

được C(s1,s2) từ các giá trị khởi tạo trong (1) hoặc (2). Trong đó, w1 và w2 là các từ

riêng biệt. Để biến đổi từ (s1+w1) sang (s2+w2) có thể áp dụng 3 khả năng sau:

i) Thay thế (Biến đổi) w1 thành w2 ,chi phí tổng thể là: C(s1,s2) + 2.SEMDIST(w1,w2)

ii) Biến đổi (s1+w1) thành s2, sau đó thêm w2 vào s2. Chi phí tổng thể là:

C(s1+w1,s2) + 1

iii) Xoá từ, sau đó biến đổi thành .Chi phí tổng thể là C(s1,s2+w2) + 1

Vì vậy, chi phí cực tiểu sẽ được xác định bằng giá trị nhỏ nhất trong 3 chi phí trên.

3.1.4.3. Giải thuật DP-matching:

Trong giải thuật này, chúng ta sử dụng 1 mảng 2 chiều m[0..|s1|, 0..|s2|] để lưu giá trị

chi phí C nói trên. Như vậy:

m[i,j] = C(s1[1..i], s2[1..j] ). m[0,0] = 0

m[i,0] = i, i=1..|s1| m[0,j] = j, j=1..|s2|

m[i,j] = min(m[i-1,j-1] + 2.SEMDIST(s1[i],s2[j]), m[i-1, j] + 1,

m[i, j-1] + 1 ), i=1..|s1|, j=1..|s2|

1) Khởi tạo m[0,0] := 0;

2) for i:= 1 to |s1| do m[i,0] := i ; 3) for j:= 1 to |s2| do m[0,j] := j ; 4) for i:= 1 to |s1| do

for j:= 1 to |s2| do

m[i,j] = min(m[i-1,j-1] + 2.SEMDIST(s1[i],s2[j]),

m[i-1, j] + 1, m[i, j-1] + 1 ) ; 5) d := m[i,j] / (l1 + l2) ;

*Đánh giá độ phức tạp của thuật giải:

Độ phức tạp của thuật toán, về mặt thời gian là O(|s1|*|s2|) , chẳng hạn O(n2) nếu cả

hai câu đều có độ dài n. Về mặt không gian, độ phức tạp vẫn là O(n2) nếu là mảng 2

chiều. (adsbygoogle = window.adsbygoogle || []).push({});

3.1.5. Khối “Sản sinh mẫu” và thuật toán sinh mẫu

Đầu vào của khối xử lý này là tập hợp gồm các cặp câu song ngữ được xem là “tương tự” nhất (ký hiệu tập là tập Q) so với câu đầu vào (ký hiệu là input) trong tập mẫu, với độ tương tự được xác định qua giải thuật DP-Matching.

Thuật toán sinh mẫu như sau:

Với mỗi cặp câu s ∈Q:

Bước 1: So sánh s và input để tìm ra tập các thành phần khác nhau : Different = {s1, s2,…,sn}

(Giả sử mỗi thành phần si ∈ thành phần ngôn ngữ nguồn của s là

“Substitution” của thành phần ii ∈ input)

Bước 2: Sử dụng từ điển song ngữ để xác định phần nghĩa tương ứng của mỗi di

trong câu ngôn ngữ đích (chẳng hạn câu Tiếng Việt).

Bước 3: Sản sinh mẫu cho s bằng cách: giữ nguyên phần giống nhau với input, còn

những phần khác nhau được biểu diển thành các biến.Nói cách khác, mỗi di và nghĩa

tương ứng được thay bằng Xi.

Bước 4: Đặt ii = Xi và lưu vào bộ nhớ.

Hình 3. 5 Minh hoạ cơ chế sản sinh mẫu. 3.1.6. Khối “Chọn mẫu phù hợp nhất”

Nếu tập ứng viên được chọn ra sau bước “Example Retrieval” gồm nhiều phần tử, có nghĩa là có nhiều mẫu được sinh ra, chúng ta phải chọn ra từ chúng một mẫu tốt nhất để hiệu chỉnh thành câu dịch cuối cùng. Để thực hiện được điều đó, một số luật heuristic đã được đưa ra như là những tiêu chí cho sự lựa chọn:

Luật 1: Mẫu được lựa chọn phải là mẫu có số “khoảng trống” (gaps) ít nhất so với câu đầu vào.Trong đó, gaps được định nghĩa là tổng của các insertion,

INPUT: We close the door.

EXAMPLE_1:

ENGLISH: You close the door. VIETNAMESE: Bạn đóng cái cửa.

EXAMPLE_2:

ENGLISH: We close the shop. VIETNAMESE: Chúng tôi đóng cửa hàng

Từ điển song ngữ You = Bạn Shop = Cửa hàng 1-X1 = We X2 = door 2-PATTERN_1:

ENGLISH: X1 close the door. VIETNAMESE: X

1 đóng cái cửa.

PATTERN_2:

ENGLISH: We close the X2. VIETNAMESE: Chúng tôi đóng X2. 1-Store input word. 2-Allign source and tagret 43

deletion và các biến (đã được lập ở bước trước) không ứng với bất kỳ từ nào của câu dịch.

Luật 2: Chọn mẫu có tính chất: được tạo thành từ nhiều câu nhất trong tập ứng viên.

Luật 3: Chọn mẫu làm tối ưu hoá tần suất xuất hiện của các từ trong PC.

3.1.7. Khối “Thay thế” (adsbygoogle = window.adsbygoogle || []).push({});

Sau khi đã chọn được mẫu phù hợp nhất, chỉ còn một pha cuối cùng nữa là chúng ta đã có được câu dịch cần tìm, đó là thao tác thay thế. Thực chất đây là sự điều chỉnh phần câu dịch (ngôn ngữ đích) của mẫu để nó trở thành câu dịch của đầu vào.Quy trình thay thế như sau:

Lần lượt xét từng biến một trong mẫu.Với mỗi biến Xi :

Bước 1: Lấy ra từ trong input tương ứng với biến đó, đã được lưu trong pha “Sản

sinh mẫu” (ký hiệu là ei )

Bước 2: Thông qua Từ điển song ngữ, xác định được nghĩa của nó là vi.

Bước 3: Thay thế biến Xi trong cả 2 vế của mẫu (phần ngôn ngữ nguồn và đích) bằng cặp (ei, vi).

Cơ chế này có thể được hình dung một cách trực quan thông qua sơ đồ dưới đây:

Hình 3. 6 Minh hoạ cơ chế Thay thế

PATTERN_1: X1close the door.

X1 đóng cái cửa.

Chúng tôi đóng cái cửa

THAY THẾ X1 = We LOOK-UP X1 = Chúng tôi Từ điển song ngữ 44

3.2. Các ý tưởng cải tiến hệ D3 truyền thống

3.2.1. Phân lớp và “đồ thị hoá” tập mẫu3.2.1.1. Đặt vấn đề 3.2.1.1. Đặt vấn đề

Đối với hệ D3 truyền thống như đã trình bày ở trên, PC chỉ cần được huấn luyện như trong mục (2.3.2) là đã đủ. Tuy vậy, quá trình tìm kiếm trong D3 là rất khó thực hiện nếu kích thước PC lớn. Do vậy, việc cải tiến cơ chế tìm kiếm phải đi đôi với việc nâng cao hơn nữa mức độ “huấn luyện” tập mẫu. Ở đây chúng ta sẽ xét một bước huấn luyện nữa, xuất phát từ PC như đã đề cập ở trên, bao gồm hai giai đoạn, đó là Phân lớp và Đồ thị hoá PC.

3.2.1.1.1.Giai đoạn 1: Phân lớp PC

Ở giai đoạn này, PC – bao gồm các cặp câu song ngữ Anh-Việt (E, V) sẽ được phân

nhóm như sau: Tất cả các cặp (Ei, Vi) có số từ nội dung (content word) và số từ

chức năng (functional word) trong Ei tương ứng bằng nhau sẽ được nhóm vào cùng một lớp. Trong phát biểu trên có bao gồm hai khái niệm: “content word” và “functional word”, chúng được định nghĩa như sau:

* Functional word: Từ chức năng (hay còn có thể gọi với một tên khác là “từ ngữ pháp”-grammatical word), là những từ có rất ít ý nghĩa từ vựng (ý nghĩa biểu đạt), hoặc có nghĩa nhập nhằng, nhưng lại đóng vai trò trong việc biểu đạt mối liên hệ ngữ pháp của các từ còn lại trong câu.

* Content word: Từ nội dung (còn được gọi là “từ vựng”-lexical word) là những

từ không phải là functional word. Đây là từ có một hoặc một vài nghĩa cố định, rõ ràng, là yếu tố mang thông tin, góp phần hình thành nên nội dung mà câu muốn biểu đạt.

Xuất phát từ đặc thù của từng loại từ mà chúng ta thấy: Trong các từ điển hầu như

chỉ liệt kê được nghĩa của content word, còn đối với functional word chỉ có thể mô tả

được cách dùng mà thôi.Trái ngược lại, các quy tắc ngữ pháp lại chú trọng đến việc

liệt kê từng trường hợp sử dụng của các functional word mà ít quan tâm đến content word.

Có hai câu hỏi được đặt ra là:

Câu hỏi 1: Tại sao lại lấy số lượng các content word và functional word làm tiêu chí phân lớp PC?

Trả lời: Đơn giản vì hai loại từ này đại diện cho 2 mặt quan trọng nhất của

bất kỳ một câu nào, đó là: mặt nội dung (thông tin mà câu biểu đạt) và mặt ngữ (adsbygoogle = window.adsbygoogle || []).push({});

pháp (kết cấu ngữ pháp của câu).Hai câu sẽ không thể là tương tự nếu số lượng các

từ này tương ứng khác biệt quá nhiều.Vì vậy, đây sẽ là tiêu chí tốt giúp loại bớt một số lớp có sự khác biệt như vậy, làm giảm đáng kể số câu cần so khớp.

Câu hỏi 2: Làm sao để xác định được đâu là content word, đâu là functional word trong câu?

Trả lời: Đây là vấn đề thuần tuý ngôn ngữ học, đã được các nhà khoa học dày công nghiên cứu và đã đưa ra sự phân loại sau:

+ Content word gồm có: Danh từ; động từ; tính từ và hầu hết các phó từ (trừ

then why)

+ Functional word đông đảo hơn vì bao gồm phần còn lại.Cụ thể là: Giới từ; đại từ; mạo từ; liên từ; hư từ; tiểu từ…

Ví dụ: Trong câu sau đây, các content word sẽ được in nghiêng, và phần còn lại là functional word:

The Phantom of the Opera, a novel which Gaston Leroux published in 1900,

draws us into an extraordinary adventure which keeps us in suspense from the

first to the last line.

Rõ ràng PC của chúng ta đã được gán nhãn từ loại nên việc phân chia content word và functional word là rất dễ dàng.Tóm lại, sau giai đoạn 1, PC sẽ được chia thành

các lớp. Trong mỗi lớp, các Ei đều có số content word bằng nhau, số functional word

bằng nhau và do đó, có tổng số từ là như nhau.

3.2.1.1.2. Giai đoạn 2: Đồ thị hoá PC

Sau khi phân lớp xong, chúng ta tiến hành xây dựng đồ thị để biểu diễn các câu trong mỗi lớp. Mục đích của việc xây dựng đồ thị là tạo nguồn ngữ liệu sử dụng được cho thuật toán so khớp (xem chi tiết ở 3.2.4). Với tiêu chí tối ưu không gian lưu trữ mà vẫn đảm bảo biểu diễn lớp câu (không thừa, không thiếu), đồ thị sau khi xây dựng phải thoả mãn các yêu cầu bắt buộc sau:

(1) Số đỉnh phải là cực tiểu.

(2) Mỗi đường đi bất kỳ từ đỉnh đầu đến đỉnh cuối của đồ thị phải tương ứng với một câu nào đó trong lớp.

Việc xây dựng đồ thị tối ưu này có thể được thực hiện thông qua việc chuyển nó về

Một phần của tài liệu Đồ án tốt nghiệp Xây dựng thử nghiệm hệ dịch tự động Anh - Việt theo hướng tiếp cận So khớp tập mẫu (Trang 36)