Quá trình huấn luyện sử dụng một phần kho ngữ liệu Treebank đặt tên là Tcorpus để xây dựng tập luật chuyển. Kho ngữ liệu này được chia ngẫu nhiên thành 2 kho ngữ liệu là Mcorpus và Bcorpus theo tỉ lệ 3:1. Kho ngữ liệu Mcorpus dùng để xây dựng lên mô hình xác suất thống kê trong mô hình cực đại hóa Entropy, còn kho ngữ liệu Bcorpus
dùng để học các luật chuyển theo phương pháp TBL.
Quá trình huấn luyện bao gồm hai giai đoạn. Giai đoạn thứ nhất, bao gồm quá trình huấn luyện mô hình cơ sở bằng kho dữ liệu Mcorpus. Sau khi huấn luyện mô hình xong thì sẽ sử dụng chính mô hình đó để gán nhãn cho ngữ liệu Bcorpus (là ngữ liệu thu được sau khi loại bỏ thông tin từ loại trên Bcorpus). Danh sách các lỗi được xác định sau quá trình gán nhãn bằng mô hình cực đại hóa Entropy và đem so sánh kết quả gán nhãn với ngữ liệu Bcorpus ban đầu. Giai đoạn thứ hai, xác định được tập các luật chuyển tốt nhất để sửa các lỗi sai ở giai đoạn thứ nhất.
a) Giai đoạn 1
Quá trình phân tích lỗi đối với kết quả của mô hình cực đại hóa Entropy được mô tả chi tiết như sau:
Đầu vào: Ngữ liệu cần gán nhãn từ loại.
Đầu ra: Tập nhãn kết quả (câu đã được gán nhãn).
Bước 1: Tiền xử lý (Tách từ dựa trên đặc trưng ngôn ngữ)
Bước 2: Gán nhãn cơ sở bằng giải thuật ME, với câu cần gán nhãn từ
loại W = {w1...wn}.
- Tìm chuỗi sn1 theo giải thuật tại mục 3.1.1.2.
Bước 3: Gán nhãn từ loại bằng giải thuật TBL
Lặp, với luật ri trong tập luật huấn luyện trên mô hình kết hợp Lặp, với từ wj trong câu cần gán nhãn từ loại.
Nếu ngữ cảnh của từ wj phù hợp với ngữ cảnh trong luật ri
Áp dụng luật ri cho từ wj
Hình 3-2: Sơ đồ mô tả quá trình huấn luyện ở giai đoạn thứ nhất
Ngữ liệu Mcorpus để sử dụng xây dựng mô hình cực đại hóa Entropy cho bài toán gán nhãn từ loại, kết quả của quá trình huấn luyện ta thu được module gán nhãn cơ sở
MEM POS Tagging. Một bản sao của ngữ liệu Bcorpus được sử dụng loại bỏ nhãn từ loại (Remove label) theo thuật tuán 3-6 để trở thành ngữ liệu thô chưa được gán nhãn (RBCorpus). Ngữ liệu RBCorpus sẽ được tái gán nhãn bởi với mô hình cơ sở (MEM POS Tagging) bằng thuật toán 3-3 để thu được ngữ liệu đã gán nhãn cơ sở (Initial Corpus).Sau đó chúng tôi xây dựng hệ thống tự động phân tích lỗi từ loại dựa trên tập ngữ liệu Bcorpus như sau:
Thuật toán: 3-5. Thuật toán phân tích lỗi từ loại đối với bộ gán nhãn cơ sở
Mcorpus ME Model
Training ME Model
RBcorpus MEM POS
Tagging Initial Corpus
Remove label
Bcorpus Compare
List POS errors
Đầu vào: Ngữ liệu Bcorpus.
Đầu ra: Danh sách các ngữ cảnh chứa từ nhập nhằng cùng với nhãn lỗi (gọi đó là danh sách lỗi List POS errors như trong hình 3.3) Bước 1: Tạo kho ngữ liệu chưa gán nhãn từ loại RBcorpus bằng cách loại bỏ các nhãn từ loại kho ngữ liệu Bcorpus bằng thuật toán 3.6.
Bước 2: Ngữ liệu RBcorpus được gán nhãn bằng MEM POS Tagging thu được tập ngữ liệu initial-corpus (hình 3.3).
Bước 3: So sánh kho ngữ liệu initial-corpus với kho ngữ liệu Bcorpus
bằng thuật toán 3.7 để xác định danh sách tất cả các nhãn bị lỗi từ loại được gán bởi mô hình cực đại hóa Entropy.
Trong đó thuật toán loại bỏ nhãn từ loại từ kho ngữ liệu Bcorpus thực hiện như sau:
Thuật toán: 3-6. Thuật toán loại bỏ nhãn từ loại
Thực tế cho thấy ngữ liệu tồn tại dưới khá nhiều dạng nên giải pháp tách từ và tách nhãn của từ phải đảm bảo độ chính xác. Với cả hai ngôn ngữ thực nghiệm, việc tách từ và từ loại lấy cơ sở từ vị trí dấu “/” cuối cùng trong một token. Ngữ liệu sau khi được gán nhãn bằng MEM POS Tagging sẽ được so sánh với ngữ liệu Bcorpus để tìm danh sách lỗi (List POS errors – ER[][]) từ loại như sau:
Thuật toán: 3-7. Thuật toán so sánh ngữ liệu
Đầu vào: Ngữ liệu Bcorpus.
Đầu ra: Ngữ liệu RBcorpus đã được loại bỏ nhãn từ loại
Sentence: Là một kiểu dữ liệu có cấu trúc đã được định nghĩa trước bao gồm tập hợp các từ tố.
Token: Là kiểu dữ liệu có cấu trúc đã được định nghĩa trước bao gồm từ và từ loại tương ứng.
Bước 1: Khởi tạo Senten là một mảng các câu (Sentence) trong ngữ liệu Bcorpusi. Khởi tạo ngữ liệu RBcorpus là rỗng.
Bước 2: Với mỗi câu i trong mảng Senten thực hiện:
2.1. Gán mảng TK là tập hợp các token của Senten[i]
2.2. Gán biến st = tập hợp các từ được lấy ra từ mảng TK; phân cách các từ bởi dấu một cách.
2.3. Cắt bỏ tất cả các dấu cách thừa (nếu có) trong xâu st. 2.4. Cập nhật thêm xâu st và ngữ liệu RBcorpus.
Đầu vào: Ngữ liệu Bcorpus. Ngữ liệu initial-corpus
Đầu ra: Tập các lỗi từ loại ER[i][j] (lỗi trên câu i tại vị trí j).
Bước 1: Khởi tạo:
RSentence: Tập các câu trong kho ngữ liệu Bcorpus.
ESentence: Tập các câu trong kho ngữ liệu initial-corpus.
ER[i][j] = 0 với mọi i,j;
Bước 2: Với mỗi câu i trong mảng RSentence thực hiện: 2.1. Gán:
RToken: Tập các từ tố của câu thứ i trong mảng RSentence. EToken: Tập các từ tố của câu thứ i trong mảng ESentence.
2.2. Lặp với mỗi từ tố j trong mảng RToken
Nếu RToken.GetWord(j) == EToken.GetWord(j) thì Nếu RToken.GetTag(j) != EToken.GetTag(j) thì
b) Giai đoạn 2
Trong giai đoạn thứ hai của giải thuật huấn luyện, tập tất cả các luật chuyển TBL rules được xác định dựa trên việc áp dụng giải thuật TBL trên danh sách lỗi List POS errors mà đã thu được ở giai đoạn 1. Trong giai đoạn này, chúng tôi có sử dụng một mẫu luật chuyển Template Rules được định nghĩa từ trước cho việc sinh ra các luật
TBL rules. Chi tiết các mẫu luật này chúng tôi sẽ đề cập trong mục 3.2.3. Giai đoạn này được mô tả chi tiết trong hình 3.3).
Hình 3-3: Sơ đồ mô tả quá trình huấn luyện ở giai đoạn thứ hai
+ Các thành phần dữ liệu bao gồm:
- Copy of Initial Corpus: Là dữ liệu bản sao được tạo ra từ kho dữ liệu Initial Corpus. - Rule templates: Là tập các luật mẫu đóng vai trò làm cơ sở để sinh ra các luật đề cử trong TBL (List protential rules).
- Selected TBL rules: Là tập các luật sửa sai có “điểm” cao nhất thu được sau quá trình học trong TBL.
- Bcorpus: Là kho dữ liệu chuẩn được sử dụng để làm cơ sở so sánh đối với ngữ liệu
Initial Corpus.
Chi tiết quá trình huấn luyện ở giai đoạn hai được thực hiện như sau:
T
F
Selected TBL rules
Select best rule
Copy of Initial Corpus List potential rules Rule templates Appling rule
Initial Corpus Appling rule
Compare
Bcorpus
List POS errors
Appling rule Stop Score >T Copy of Initial Corpus
Thuật toán: 3-8. Thuật toán huấn luyện TBL với mô hình cực đại hóa Entropy cơ sở