Sơ đồ chƣơng trỡnh dịch Anh-Việt bằng thống kờ

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng chương trình dịch tự động Anh - Việt bằng phương pháp thống kê (Trang 68 - 92)

4.3. Modul huấn luyện bigram

Modul này làm nhiệm vụ huấn luyện cỏc bigram tiếng Việt dựa vào Corpus thụ tiếng Tiếng Việt. Ở đõy ta sử dụng cõy cấu trỳc Suffix Tree để tớnh toỏn và lƣu nú. Thủ tục tớnh giỏ trị mụ hỡnh của một xõu dựa vào bigram nhƣ sau:

float GetLanguageModel(TCHAR *str) {

SuffixTree tt;

tt.InitTree("labourbigram.dat" ); // Khai bao bien phan doan tu WordSeg vnwseg;

CList<CString, LPCTSTR> wlist; // Khoi tao

vnwseg.Init();

// Goi ham phan doan mot xau

vnwseg.Segment(wlist, str, FMM_SEG); float xs = 1.0;

POSITION pos;

pos = wlist.GetHeadPosition(); wlist.GetNext(pos);

CString strI_1 = wlist.GetNext(pos);

for (int i = 2 ; i < wlist.GetCount() - 1; i++){ CString strI = wlist.GetNext(pos);

//Tinh strI_1#strI/ strI_1

CString strBig = strI_1 + "#" + strI; unsigned int f1,f2; tt.FindKey2(f1, strBig); tt.FindKey2(f2,strI_1); float xsword; if (f2 == 0) xsword = (float) 0.0012; else //xsword = f1/f2; xsword = (float)(1000*f1)/f2; xs *= xsword; strI_1 = strI; } //Xoa tree tt.FreeTree(); if (xs < 0.0012) xs = (float)0.0012; return xs; }

Vớ dụ cõu vào: “Tụi là sinh viờn”. Ta cú giỏ trị mụ hỡnh ngụn ngữ là 96.68. Trong khi đú đối với cõu “Sinh viờn là tụi” cú giỏ trị mụ hỡnh ngụn ngữ là 15.01. Điều này cũng phản ỏnh đỳng cõu “Tụi là sinh viờn” thƣờng hay xuất hiện hơn cõu “Sinh viờn là tụi” (mặc dự 2 cõu đều đỳng ngữ phỏp).

4.4. Modul huấn luyện cỏc tham số của mụ hỡnh dịch mỏy

Modul này làm nhiệm vụ huấn luyện cỏc xỏc suất t(ei|vj) dựa vào cỏc tập vớ dụ huấn luyện song ngữ Anh-Việt dựa vào mụ hỡnh 1 và mụ hỡnh 2 và thuật toỏn EM.

4.4.1. Mụ hỡnh 1

Input: - Tập cỏc vớ dụ huấn luyện - Mụ hỡnh 1

Output: Bảng cỏc giỏ trị xỏc suất t(ei|vj).

Do việc huấn luyện dựa vào Model 1, nờn đầu tiờn ta mụ tả cấu trỳc của Model1 dƣới dạng class trong C++:

class CModel1 {

protected:

CString se, sv;

tmodel<COUNT, PROB> tTable; int c_voca_E; int c_voca_V; int solan_em; public: CModel1(); ~CModel1(); float GetHesoLagrang();

void GeneralTable(const TCHAR *filename); // Test ttable

void TestTable(); //Test voi du lieu lon

int InitPramater(const TCHAR *filename); int TrainningParamater();

void SavePramater(const TCHAR *filename); friend class CModel2;

};

Khi ta sử dụng mụ hỡnh 1, ta chỉ việc gọi đồng thời 3 hàm theo thứ tự sau để huấn luyện tham số:

InitInitPramater: Khởi tạo giỏ trị xỏc suất t(ei|vj) của bảng tTable.

TrainningParamater(): Hàm huấn luyện tham số dựa vào thuõt toỏn EM,

SavePramater(const TCHAR *filename): Lƣu cỏc tham số đƣợc huấn luyện (bảng tTable) ra file.

Thuật toỏn huấn luyện dựa vào EM đƣợc mụ tả trong ngụn ngữ Visual C++ nhƣ sau:

int iem = 0; do {

POSITION pos = listPair.GetHeadPosition(); while (pos != NULL){

SSenPair ss = listPair.GetNext(pos);

CList<CString, LPCTSTR> listword1, listword2; GetWordEnglish(ss.s_eng, listword1);

GetWordVietnamese(ss.s_viet,listword2); //Tinh count(e|v) -> ar_count

POSITION pos1 = listword1.GetHeadPosition(); for (int i = 0 ; i < listword1.GetCount(); i++){

int iE = 0;

POSITION pos2 = listword2.GetHeadPosition(); float sum = 0;

CString strEng = listword1.GetNext(pos1); map_Eng->GetKey(strEng,iE);

for (int j = 0 ; j < listword2.GetCount(); j++) {

int iV = 0; float aa = 0.0;

CString strViet = listword2.GetNext(pos2); map_Viet->GetKey(strViet, iV); float bb = tTable.GetProb(iV,iE); if (bb > PROB_SMOOTH) aa = bb; else aa = (float)PROB_SMOOTH; sum += aa; } pos2 = listword2.GetHeadPosition(); for (j = 0 ; j < listword2.GetCount(); j++) { int iV = 0;

CString strViet = listword2.GetNext(pos2); map_Viet->GetKey(strViet, iV); float aa; float bb = tTable.GetProb(iV,iE); if ( bb > PROB_SMOOTH){ aa = bb; }else aa = (float)PROB_SMOOTH; if (sum != 0){

float val = aa/sum;

tTable.IncCount(iV, iE, val); }

cout<<"iV:"<<iV<<"iE" << iE << endl; AfxMessageBox(_T("Loi tong bang 0")); }

} }

} //Ket thuc cua listPair

//Tinh lai prob thong qua ham nay tTable.NormalizeTable();

iem++;

}while (iem < solan_em);

Ta dễ dàng tỡm đƣợc giúng hàng từ tốt nhất theo mụ hỡnh 1 (giúng hàng mà cú xỏc suất lớn nhất):

for (int i = 1; i <= I; i++) ) | ( max arg max i j j v e t j4.4.2. Mụ hỡnh 2

Input: - Tập cỏc vớ dụ huấn luyện - Mụ hỡnh 2

Output: Bảng cỏc giỏ trị xỏc suất t(ei|vj).

Nhƣ ta đó biết mụ hỡnh 1 là trƣờng hợp đặc biệt của mụ hỡnh 2. Do đú khi ta mụ tả cấu trỳc của Model2 ta sẽ kế thừa từ mụ hỡnh 1:

class CModel2 : public CModel1 { public: amodel<PROB> aTable; amodel<COUNT> aCountTable; public: CModel2(); virtual ~CModel2(); CModel2(CModel1& m1,amodel<PROB>&,amodel<COUNT>&); public: void InitializeTable();

void LoadTable(const TCHAR* filename); inline amodel<PROB>& GetATable(void) {

return aTable; };

inline amodel<COUNT>& GetACountTable(void) {

return aCountTable; };

int TrainningParamater(); void TestModel2();

};

Khi ta sử dụng mụ hỡnh 2, ta chỉ việc gọi đồng thời 5 hàm theo thứ tự sau để huấn luyện tham số:

InitInitPramater: Khởi tạo giỏ trị xỏc suất t(ei|vj) của bảng tTable, chỳ ý hàm này là của lớp CModel1.

InitializeTable(): Khởit tạo giỏ trị a(i|j,v,e) của bảng amodel.

TrainningParamater(): Hàm huấn luyện tham số dựa vào thuõt toỏn EM,

kết quả lƣu trong bảng tTable và amodel.

SavePramater_tTable(const TCHAR *filename): Lƣu cỏc tham số

đƣợc huấn luyệnt(ei|vj) trong bảng tTable ra file.

SaveParamater_amodel(const TCHAR *filename): Lƣu cỏc tham số

a(i|j,v,e) của bảng amodel ra file.

Thuật toỏn huấn luyện cỏc tham số t(ei|vj) của mụ hỡnh 2 dựa vào thuật toỏn EM đƣợc mụ tả bằng ngụn ngữ Visual C++ nhƣ sau:

int lap_em = 0; do{

aCountTable.clear();

POSITION pos = listPair.GetHeadPosition(); while (pos != NULL){

SSenPair ss = listPair.GetNext(pos);

CList<CString, LPCTSTR> listword1, listword2; GetWordEnglish(ss.s_eng, listword1);

GetWordVietnamese(ss.s_viet,listword2); int m = listword1.GetCount() - 1;

int l = listword2.GetCount() - 1; //Tinh count(e|v) -> ar_count

POSITION pos1 = listword1.GetHeadPosition(); for (int i = 0 ; i < listword1.GetCount(); i++){

int iE = 0;

POSITION pos2 = listword2.GetHeadPosition(); float sum = 0.0;

CString strEng = listword1.GetNext(pos1); map_Eng->GetKey(strEng,iE);

{

int iV = 0; float aa = 0.0;

CString strViet = listword2.GetNext(pos2); map_Viet->GetKey(strViet, iV); float bb = tTable.getProb(iV,iE); if (bb > PROB_SMOOTH) aa = bb*aTable.getValue(j,i, l, m); else aa = (float)(PROB_SMOOTH* aTable.getValue(j,i, l, m)); sum += aa; } pos2 = listword2.GetHeadPosition(); for (j = 0 ; j < listword2.GetCount(); j++) { int iV = 0;

CString strViet = listword2.GetNext(pos2); map_Viet->GetKey(strViet, iV);

if (sum > 0){

float val = 1.0/sum; PROB e = 0.0;

float bb = tTable.getProb(iV,iE); if (e > PROB_SMOOTH) e = bb; else e = (float) PROB_SMOOTH; e *= aTable.getValue(j,i, l, m); COUNT temp = COUNT(e) * val ; tTable.incCount(iV, iE, temp);

aCountTable.getRef(j,i, l, m) += temp; }

else{

cout << "iV:" <<iV <<"iE" << iE << endl; AfxMessageBox(_T("Loi tong bang 0")); }

} } }

} //Ket thuc cua listPair tTable.NormalizeTable();

aCountTable.normalize(aTable); lap_em++;

} while(lap_em < solan_em);

Ta dễ dàng tỡm đƣợc giúng hàng từ tốt nhất theo mụ hỡnh 2 (giúng hàng mà cú xỏc suất lớn nhất):

) , , | ( * ) | ( max arg max t e v a j i J I j i j j4.5. Modul tỡm kiếm

Nhiệm vụ của modul này là ta phải đi tỡm cõu nguồn mà đó biết trƣớc đƣợc cõu đớch sao cho P(v|e) là lớn nhất. Dựa vào cỏc xỏc suất t(ei|vj) đó đƣợc tớnh trong modul huấn luyện tham số và đồng thời sử dụng thuật toỏn ngăn xếp nhanh. Cấu trỳc của quỏ trỡnh tỡm kiếm đƣợc mụ tả trong C++ nhƣ sau:

class CSearchThongke {

public:

CSearchThongke();

virtual ~CSearchThongke();

int SearchSMT(CString &strE, CString &strV); int GetScore(CString &str);

}

Thủ tục SearchSMT đƣợc mụ tả nhƣ sau:

for (int i = 0; i < Lm; i++){

CSearchQueue &sq = cs.GetAt(i);

POSTION pos = sq.data.GetHeadPosition(); for (int j = 0 ; j < sq.data.GetCount(); j++){

CString str_gt = sq.data.GetNext(pos)

if (sq.GetScore(str_gt) > sq.thres_hold){

POSITION pos1 = list_wordpromising.GetHeadPosition(); for (int k = 0; k < list_wordpromising.GetCount(); k++){

CString strword = list_wordpromising.GetNext(pos); if (Check(strword)){

str_gt += " " + strword;

double diem = GetScore(str_gt); CSearchQueue &sq1 = cs.GetAt(i + 1); sq1.SetScore(diem, str_gt); } } } } if (n_complete) break; } GetHighestScore(strV); 4.6. Từ điển dữ liệu Bao gồm từ điển:

- Song ngữ Anh –Việt: Giỳp cho việc huấn luyện và tỡm kiếm đƣợc nhanh hơn: Đƣợc lƣu bằng cấu trỳc Btree.

- Từ vựng tiếng Anh, Từ vựng tiếng Việt: Đƣợc lƣu bằng cấu trỳc Suffix tree. - Bigram tiếng Việt: Đƣợc lƣu băng cấu trỳc SuffixTree.

- Cỏc bảng giỏ trị xỏc suất tTable, amodel: Đƣợc lƣu dƣới dạng file txt.

4.7. Tiền xử lý và hậu xử lý

Phần tiền xử lý cú nhiệm vụ chia văn bản thành cỏc cõu, loại đi cỏc kớ tự điều khiển, cỏc hỡnh, cỏc đối tƣơng khụng phải là văn bản.

Phần hậu xử lý cú nhiệm vụ đƣa ra cỏc cõu dịch và lấy lại cỏc định dạng của cỏc cõu đầu vào.

Vớ dụ nhƣ cõu đƣợc dịch ở giữa hai dấu ngoặc kộp (“”) thỡ đến khi dịch đƣợc cũng phải nằm trong hai dấu ngoặc này. Hậu xử lý cũn cú thể lƣu cỏc ngữ cảnh của cõu dịch để kết hợp với cỏc cõu sau loại bỏ những cõu dịch khụng thớch hợp khi xảy ra trƣờng hợp một cõu vào mà cú nhiều cõu dịch khỏc nhau

4.8. Chương trỡnh thử nghiệm

4.6.1. Giao diện chƣơng trỡnh

Hỡnh 4.2: Giao diện chớnh của chƣơng trỡnh dịch Anh-Việt

Chƣơng trỡnh sẽ bao gồm hai cửa sổ: một cửa sổ chứa văn bản của ngụn ngữ tiếng Anh, một cửa sổ chứa văn bản đƣợc dịch trong ngụn ngữ tiếng Việt.

Vớ dụ: Nhƣ trờn hỡnh 4.2: Nhỡn vào hai cửa sổ ta biết cõu “Tụi thớch quyển sỏch màu xanh” đƣợc dịch từ cõu “I like a blue book”.

Cỏc chức năng chớnh của chƣơng trỡnh:

a) Dịch cả văn bản:

- Ta chỉ cần kớch chuột vào nỳt E-V trờn thanh cụng cụ hoặc là dụng phớm phải chuụt, sau đú chọn mục Translation trong menu ngữ cảnh.

b) Dịch văn bản đƣợc lựa chọn

- Cỏc thao tỏc cũng nhƣ dịch cả văn bản nhƣng ta cần chỳ ý là trƣớc đú ta cần bụi đen đoạn văn bản cần dịch.

Ngoài ra chƣơng trỡnh cũn cú chức năng của một hệ soạn thảo đơn giản, cho phộp chỳng ta cú thể thao tỏc nhanh nhƣ là cắt, dạn, chọn font chữ, ...

4.6.2. Thử nghiệm

Chƣơng trỡnh đƣợc thử nghiệm với Corpus 16490 mẫu cõu song ngữ Anh-Việt, bao gồm: - Corpus song ngữ: Từ trong Corpus Từ vựng Tiếng Anh 127952 từ 9166 từ Tiếng Việt 128088 từ 8961 từ - Corpus thụ: Tờn corpus Kớch thƣớc Cỏc chủ đề

Bỏo Lao động 46 Mb Khoa học, kinh tế, quốc tế, thể thao, văn hoỏ

Thống kờ trong Corpus thụ bao gồm 46 Mb bỏo Lao động ta đƣợc: Tổng số 1-gram là: 35128.

Tổng số xuất hiện của 1-gram là: 6918078. Tổng số 2-gram là: 1017708.

Tổng số xuất hiện của 2-gram là: 5700893.

Chạy mụ hỡnh 1, 2 với số lần lặp của thuật toỏn EM là 3, ta cú 1 số giỏ trị xỏc suất của một số từ tiếng việt nhƣ: tỡnh yờu, hạt nhõn. Bảng xỏc suất của từ này đối với một số từ tiếng Anh đƣợc thể hiện nhƣ sau:

a) Với mụ hỡnh 1 - Từ “tỡnh yờu”: e t(e|v) all 0.00600069 are 0.00392101 but 0.00706107 day 0.00497585 do 0.0210985 everything 0.106289 fiona 0.00768785 foes 0.0052714 for 0.0632788

friendship 0.0052715 know 0.00182686 love 0.480974 my 0.0393954 natural 0.00527129 - Từ “hạt nhõn”: e t(e|v) is 0.0229054 lasts 0.00187064 lately 0.0122465 lot 0.00410293 many 0.00606914 no 0.00572209 not 0.0018921 nuclear 0.58651 of 0.00516309 only 0.00458942 parts 0.00148803 people 0.00475152 power 0.0261725 power-stations 0.0122465 protest 0.0242362 reactor 0.00505461

Nhận xột: Chỳng ta thấy rằng xỏc suất đƣợc tụ đậm trờn hai bảng trờn là xỏc suất cú giỏ trị lớn nhất tức là e(nuclear|hạt nhõn) = 0.58, e(love|tỡnh yờu) = 0.48. Điều đú cú nghĩa là “hạt nhõn” sẽ là cỏch dịch của “nuclear” và của “tỡnh yờu” là “love”. Điều này cũng phự hợp với từ điển khi “tỡnh yờu” là nghĩa của từ “love”, “hạt nhõn” là nghĩa của từ “nuclear”.

b) Với mụ hỡnh 2: - Từ “tỡnh yờu”: e t(e|v) everything 0.0388639 for 0.127862 friendship 0.0103021

know 0.0148172 love 0.16379 me 0.013337 my 0.0520682 natural 0.00977076 on 0.0237324 people 0.0190655 understand 0.0116255 usually 0.0226969 - Từ “hạt nhõn”: e t(e|v) lately 0.0117767 lot 0.00997049 many 0.00718782 member 0.00156135 most 0.00485809 need 0.00323279 next 0.00525112 no 0.00795312 not 0.00955831 nuclear 0.0691014 of 0.022393 on 0.00287347 only 0.0186091 our 0.00331347 outcry 0.00558652 own 0.00297645 parts 0.00477344 people 0.0152944 power 0.0254838 power-stations 0.0117761 protest 0.0228998

Nhận xột: Đối với mụ hỡnh 2, ngoài việc dựa vào xỏc suất t(e|v), ta cũn phải dựa vào xỏc suất a(i|j,v,e). Tuy nhiờn, mụ hỡnh 1 là trƣờng đặc biệt của mụ hỡnh 2 nờn ta thấy rằng cỏc bảng xỏc suất trờn ta vẫn cú cỏc giỏ trị xỏc suất lớn nhất giống nhƣ mụ hỡnh 1 (đƣợc tụ đậm trờn bảng).

Ta dựng kết quả huấn luyện trong mụ hỡnh 1 (cỏc giỏ trị t(e|v)) làm giỏ trị khởi tạo cho cho mụ hỡnh 2. Thử nghiệm với 100 cõu đƣợc lấy trong cuốn Grammar In Use, kết quả nhƣ sau:

Cõu dịch đỳng Tỉ lệ

Mụ hỡnh 1 52 52 %

Mụ hỡnh 2 61 61 %

Nhận xột:

Cỏc cõu dịch tốt là cỏc cõu đơn giản. Lỗi ở đõy tập trung ở quỏ trỡnh tỡm kiếm, mụ hỡnh mà mụ tả nú và dữ liệu huấn luyện. Đặc biệt ở đõy tập trung vào mụ hỡnh dịch. Với việc cải tiến mụ hỡnh nhƣ ta ỏp dụng với mụ hỡnh 3, 4, 5 của IBM và một số mụ hỡnh đƣợc cải tiến gần đõy (đặc biệt là templete alignment) chất lƣợng dịch sẽ đƣợc cải thiện lờn rất nhiều.

KẾT LUẬN

Vấn đề dịch mỏy là một trong những vấn đề khú trong lĩnh vực xử lý ngụn ngữ tự nhiờn. Nú vẫn là vấn đề thỏch thức và cú nhiều cụng việc cần giải quyết đối với cỏc nhà tin học hiện nay. Hƣớng tiếp cận thống kờ là hƣớng tiếp cận dựa vào dữ liệu và đƣợc phỏt triển khỏ mạnh từ thập kỉ 90 cho tới nay. Nú đó khắc phục đƣợc cỏc nhƣợc điểm của cỏch tiếp cận dựa vào luật (dịch chuyển đổi). Qua năm chƣơng, luận văn đó trỡnh bày cỏch tiếp cận, phƣơng phỏp giải quyết cho vấn đề dịch mỏy bằng SMT và đồng thời ỏp dụng cho bài toỏn dịch Anh-Việt. Mặc dự chất lƣợng dịch chƣa cao nhƣng khi chỳng ta cải tiến mụ hỡnh dịch đồng thời huấn luyện với nhiều dữ liệu hơn, chất lƣợng dịch sẽ đƣợc nõng cao rừ rệt. Hơn nữa ta hoàn toàn cú thể ỏp dụng cho chiều dịch Việt-Anh.

1) Cỏc kết quả đạt đƣợc

- Trỡnh bày về cỏch tiếp cận dịch mỏy bằng thống kờ

- Xõy dựng chƣơng trỡnh giúng hàng cõu tự động Anh-Việt

- Áp dụng cỏch tiếp cận này vào bài toỏn dịch Anh-Việt

- Xõy dựng cụng cụ để huấn luyện mụ hỡnh dịch Model 1, Model 2.

- Xõy dựng chƣơng trỡnh thử nghiệm dịch Anh-Việt bằng thống kờ.

2) Hƣớng phỏt triển

- Tiếp tục cải tiến cỏc mụ hỡnh dịch cho bài toỏn dịch Anh-Việt bằng cỏch ỏp dụng cỏc mụ hỡnh 4, 5 và giúng hàng mẫu.

- Phõn tớch nụng để phõn tớch cõu thành cỏc cụm trƣớc khi ỏp dụng cỏc mụ hỡnh trờn

- Thử nghiệm với dữ liệu đa dạng hơn và lớn hơn.

- Cải tiến thuật toỏn giải nộn (decoding) để cho hiệu quả hơn.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Nguyễn Văn Hộ (2001), Xỏc suất thống kờ, Nhà xuất bản giỏo dục. [2] Hoàng Phờ (chủ biờn) (2002), Từ điển tiếng Việt, Nhà xuất bản Đà Nẵng. [3] Đinh Mạnh Tƣờng (2002), Trớ Tuệ Nhõn Tạo, Nhà xuất bản khoa học kĩ thuật. [4] Nguyễn Phƣơng Thỏi (2003), Kiểm lỗi chớnh tả cảm ngữ cảnh tiếng Việt, Luận văn thạc sỹ, Đại học Quốc Gia Hà Nội.

[5] Nguyễn Văn Vinh, Đinh Mạnh Tƣờng, Nguyễn Phƣơng Thỏi (2004), Chương trỡnh giúng hàng cõu tự động trong Corpus song ngữ Anh-Việt, Hội thảo toàn quốc về CNTT, Đà Nẵng, Việt Nam.

Tiếng Anh

[6]. Aho, A.V., Ullman J. D. (1972), The Theory Of Parsing, Translation and Compiling”, Vol I : Parsing, Prentice-Hall, Englewood Cliffs. N.J.

[7]. Alfred V.Aho, Ravi Shethi, Jeffrey D.Ullman (1986), Compilers principles, Teachniques, and Tools, Addison-Wesley Publishing Company. 1986

[8]. Brown, P., Cocke, J., Pietra, S. D., Jelinek, J., Lafferty and Roossina, P. (1990), “A statistical approach to machine translation”, Computational Linguistics, 16(2), pp. 79-85.

[9]. Brown, P.F., Dellta Pietra, S.A., Della Pietra, V. J., Mercer, R.L. (1993), “The Mathematics of Statistical Machine Translation: Parameter Estimation”,

Computational Linguistics, Vol 19, No. 2, pp. 263-311.

[10]. Byrne W. et al. (2003), The Johns Hopkins University 2003 Chinese-English Machine Translation System, In Machine Translation Summit IX. The Association for Machine Translation in the Americas.

[11]. Christopher D.Manning, Hinrich Shỹtze (2001), Foundation of Statistical Natural Language Processing, The Mit Press Cambridge, pp. 466-484.

[12]. Daniel J., James H. Martin (2000), Introduction to Natural Language Processing, Computational Linguistics, and Speed Recognition, Prentice-Hall, Inc. [13]. Eric H. Nyberg, Teruko Mitamura (1992), THE KANT SYSTEM: FAST, ACCURATE, HIGH-QUALITY TRANSLATION IN PRACTICAL DOMAINS, Proceedings of COLING-92, Nantes, France, July 1992.

[14]. Gale, W.A, Church, K.W. (1993), „A Program for Aligning Sentences in Bilingual Corpra‟, Computational Linguistics, Vol 19, No. 1, pp. 75-102.

[15]. Germann U., Jahr M., Knight K., Marcu D., and Yamada K.(2001), Fast Decoding and Optimal Decoding for Machine Translation

[16]. Gremanm, U. (2003), Greedy Decoding for Statitical Machine Translation in Almost Linear Time, Proceedings of HLT-NAACL 2003, Edmonton, Canada.

[17]. Hutchins W.John (1995), “MACHINE TRANSLATION: A BRIEF HISTORY”, Concise history of the language sciences: from the Sumerians to the cognitivists, Oxford: Pergamon Press, 1995, pp. 431-445.

[18]. Knight, K. (1997), “Automating Knowledge Acquisition for Machine Translation”, AI Magazine, 18(4), pp. 225-242.

[19]. Knight, K. (1999), A Statistical Machine Translation Tutorial Workbook, Tech. Rep., USC/ISI. (available at www.clsp.jhu.edu/ws/projects/mt/wkbk.rtf). [20]. Knight, K. (1999), “Decoding complexity in wordreplacement translation models”, Computational Linguistics, 25(4), pp. 607-615

[21]. Lappon ,R.Tang (2000), Intergrating Statistical and Relation learning for Semantic Parsing: Application to learning natural languge Interfaces for database,

Phd. Thesis.

[22]. Och, F. J., Useffing, N., Ney, H. (2001), An efficent A* search algorithm for statistical machine translation, Proceedings of the ACL 2001 Workshop on Data- Driven Methods in Machine Translation, Toulouse, France, pp. 55-62.

[23] Och, F. J. (2002), Statistical Machine Translation: From Single-Word Models to Alignment Templates, PhD thesis, RWTH Aachen, Germany.

[24] Och, F. J., Ney, H. (2003), “A Systematic Comparison of Various Statistical

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng chương trình dịch tự động Anh - Việt bằng phương pháp thống kê (Trang 68 - 92)

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

(92 trang)