Tập mẫu không phân hoạch tuyến tính

Một phần của tài liệu (LUẬN văn THẠC sĩ) kết hợp mô hình học máy thống kê với mô hình học dựa trên luật đề khử nhập nhằng nghĩa từ tiếng việt (Trang 27)

Tuy nhiên, ta vẫn muốn dùng siêu phẳng để phân chia tập mẫu này. Để thực hiện đƣợc điều này, ta phải gán cho mỗi giá trị 𝑥𝑖 một sai số 𝜉𝑖 nào đó để xem nhƣ có thể phân chia tuyến tính.

𝑤. 𝑥𝑖 + 𝑏 ≥ +1 − 𝜉𝑖 với 𝑦𝑖 = +1 𝑤. 𝑥𝑖 + 𝑏 ≤ −1 + 𝜉𝑖 với 𝑦𝑖 = −1

với 𝜉𝑖 ≥ 0 với i = 1, 2, .., n

Tƣơng tự nhƣ trƣờng hợp tập mẫu phân hoạch tuyến tính đƣợc, để khoảng cách d lớn nhất thì 𝑤 phải nhỏ nhất. Do đó, ta đi tìm cực tiểu của biểu thức:

𝐹 𝑤, 𝑏, 𝜉 = 1

2 𝑤 2+ 𝐶 𝜉𝑖

𝑛

với

𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 − 1 + 𝜉𝑖 ≥ 0 𝜉𝑖 ≥ 0 𝑖 = 1,2, … , 𝑛

Trong đó C là một hằng số dƣơng tự chọn Để giải bài toán trên, ta giải bài toán đối ngẫu:

Tìm cực đại hàm G(u,v) với 𝑢 ∈ 𝑅𝑛, 𝑣 ∈ 𝑅𝑛, 𝑢 ≥ 0, 𝑣 ≥ 0

𝐺 𝑢, 𝑣 = inf 1 2 𝑤 2 + 𝐶 𝜉𝑖 𝑛 𝑖=1 − 𝑢𝑖 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 − 1 + 𝜉𝑖 − 𝑣𝑖𝜉𝑖 𝑛 𝑖=1 𝑛 𝑖=1 trƣớc tiên ta đi tìm cực tiểu cuả hàm 𝐿 𝑤, 𝑏, 𝜉 :

𝐿 𝑤, 𝑏, 𝜉 = 1 2 𝑤 2 + 𝐶 𝜉𝑖 𝑛 𝑖=1 − 𝑢𝑖 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 − 1 + 𝜉𝑖 − 𝑣𝑖𝜉𝑖 𝑛 𝑖=1 𝑛 𝑖=1 cực tiểu của hàm 𝐿 𝑤, 𝑏, 𝜉 xảy ra khi:

𝜕𝐿(𝑤, 𝑏, 𝜉) 𝜕𝑤 = 𝑤 − 𝑢𝑖 𝑛 𝑖=1 𝑦𝑖𝑥𝑖 = 0 𝜕𝐿(𝑤, 𝑏, 𝜉) 𝜕𝑏 = − 𝑢𝑖𝑦𝑖 𝑛 𝑖=1 = 0 𝜕𝐿(𝑤, 𝑏, 𝜉) 𝜕𝜉 = 𝐶 − 𝑢𝑖 − 𝑣𝑖 = 0 ⟹ 0 ≤ 𝑢𝑖 ≤ 𝐶

Lúc đó giá trị cực tiểu của 𝐿 𝑤, 𝑏, 𝜉 là:

𝐿0(𝑤, 𝑏, 𝜉) =1 2 𝑤 2 + 𝐶 𝜉𝑖 𝑛 𝑖=1 − 𝑢𝑖 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 − 1 + 𝜉𝑖 − 𝑣𝑖𝜉𝑖 𝑛 𝑖=1 𝑛 𝑖=1 = 𝑢𝑖 𝑛 𝑖=1 −1 2 𝑢𝑖𝑢𝑗𝑦𝑖𝑦𝑗𝑥𝑖𝑥𝑗 𝑛 𝑗 =1 𝑛 𝑖=1

Nhƣ vậy bài toán đối ngẫu đƣợc viết lại thành: Tìm cực đại của F(u):

𝐹 𝑢 = 𝑢𝑖 𝑛 𝑖=1 −1 2 𝑢𝑖𝑢𝑗𝑦𝑖𝑦𝑗𝑥𝑖𝑥𝑗 𝑛 𝑗 =1 𝑛 𝑖=1 với 0 ≤ 𝑢𝑖 ≤ 𝐶 𝑣ớ𝑖 𝑖 = 1,2, … , 𝑛 và 𝑛 𝑢𝑖𝑦𝑖 𝑖=1 = 0

Bài toán này hoàn toán giống với bài toán phân chia tuyến tính, chỉ có thêm điều kiện

0 ≤ 𝑢𝑖 ≤ 𝐶. Giải bài toán này ta tìm đƣợc u và từ đó tính đƣợc w theo công thức:

𝑤 = 𝑢𝑖

𝑁𝑠

𝑖=1

𝑦𝑖𝑥𝑖

Trong đó, 𝑥𝑖 là các support vector và các vector lỗi (ứng với 0 < 𝑢𝑖 ≤ 𝐶). Ns là số lƣợng các support vector và các vector lỗi. Để tìm b, sử dụng điều kiện Karush-Kuhn- Tucker cho bài toán gốc, ta có:

𝑢𝑖 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 − 1 + 𝜉𝑖 = 0 𝑣𝑖𝜉𝑖 = 0

Chọn một giá trị 𝑢𝑖 sao cho 0 < 𝑢𝑖 < 𝐶. Lúc đó 𝑦𝑖 𝑤. 𝑥𝑖 + 𝑏 − 1 + 𝜉𝑖 = 0. Do

𝐶 − 𝑢𝑖 − 𝑣𝑖 = 0 nên 𝑣𝑖 > 0 suy ra 𝜉𝑖 = 0. Lúc đó tính đƣợc 𝑏 = 𝑦𝑖 − 𝑤. 𝑥𝑖. Nhƣ vây ta đã xác định đƣợc siêu phẳng phân chia một tập dữ liệu không phân hoạch tuyến tính. Siêu phẳng nhƣ vậy gọi là siêu phẳng khoảng cách phân hoạch mềm (soft- margin-hyperplance).

SVM phi tuyến

Trong trƣờng hợp tổng quát, mặt phân hoạch có thể là một mặt phi tuyến bất kỳ. Giả sử các mẫu 𝑥𝑖 thuộc không gian 𝑅𝑛 (gọi là không gian giả thiết). Để tìm mặt phi tuyến trong không gian này có thể áp dụng một phƣơng pháp đơn giản là ánh xạ các vector mẫu 𝑥𝑖 từ không gian 𝑅𝑛 vào không gian 𝑅𝑑 có số chiều lớn hơn (d > n).

𝑅𝑑 đƣợc gọi là không gian đặc trƣng. Áp dụng phƣơng pháp SVM tuyến tính để tìm

siêu phẳng phân hoạch không gian đặc trƣng 𝑅𝑑. Siêu phẳng này sẽ tƣơng ứng với mặt

phi tuyến trong không gian 𝑅𝑛.

Hình 2.4. Ánh xạ từ không gian 𝑅𝑛 vào không gian 𝑅𝑑

Gọi 𝜑 là một ánh xạ từ không gian 𝑅𝑛 vào không gian 𝑅𝑑. Nhƣ vậy:

𝜑: 𝑅𝑛 ⟶ 𝑅𝑑 𝑥 ⟶ 𝜑(𝑥)

Cách tiếp cận trên có thể gặp phải vấn đề là hàm 𝜑(𝑥) có số chiều rất lớn. Do

đó, tốn thời gian nhiều cho các phép tính. Tuy nhiên, có thể nhận thấy rằng các phép

tính 𝜑(𝑥) chỉ xuất hiện dƣới dạng tích vô hƣớng 𝜑 𝑥 . 𝜑(𝑦) mà không xuất hiện riêng

rẽ. Nhƣ vậy, thay vì sử dụng dạng tƣờng mình của 𝜑(𝑥) thì chỉ cần sử dụng hàm biểu

diễn giá trị tích vô hƣớng 𝜑 𝑥 . 𝜑(𝑦). Đặt K(x,y) = 𝜑 𝑥 . 𝜑(𝑦) thì K(x,y) đƣợc gọi là hàm nhân. Do đó, chỉ cần biết dạng của hàm nhân K(x,y) mà không cần biết cụ thể ánh

xạ 𝜑 𝑥 . Tuy nhiên, 0 thể chọn tùy ý K(x,y) mà phải chọn K(x,y) sao cho tồn tại một

hàm 𝜑 mà K(x,y) = 𝜑 𝑥 . 𝜑(𝑦).

Tóm lại, phƣơng pháp SVM phi tuyến là tìm một hàm nhân K(x,y), sau đó giải bài toán soft-margin-hyperplance với việc thay 𝑥1𝑥2 = 𝐾(𝑥1, 𝑥2) để tìm ra u và b.

Cuối cùng xây dựng hàm nhận dạng đối với mẫu thử 𝑥∗ nào đó là:

𝑓(𝑥∗) = 𝑠𝑖𝑔𝑛( 𝑢𝑖𝑦𝑖 𝑛 𝑖=1 𝐾 𝑥𝑖, 𝑥∗ + 𝑏) Có một số hàm nhân có thể đƣợc sử dụng:  Tuyến tính: 𝐾 𝑥𝑖, 𝑥𝑗 = 𝑥𝑖𝑇𝑥𝑗  Đa thức : 𝐾 𝑥𝑖, 𝑥𝑗 = (𝜑𝑥𝑖𝑇𝑥𝑗 + 𝑟)𝑑, 𝜑 > 0  Hàm bán kính cơ bản (RBF): 𝐾 𝑥𝑖, 𝑥𝑗 = exp −𝜑 𝑥𝑖 − 𝑥𝑗 2 , 𝜑 > 0  Sigmoid: 𝐾 𝑥𝑖, 𝑥𝑗 = tanh⁡(𝜑𝑥𝑖𝑇𝑥𝑗 + 𝑟) Trong đó, d, r, 𝜑 là các tham số.

2.2.3. Mô hình học dựa trên luật

Học dựa trên luật (TBL) đƣợc biết đến nhƣ là một phƣơng pháp thành công nhất trong cách tiếp cận dựa trên luật để giải quyết các bài toán của xử lý ngôn ngữ tự nhiên bởi vì nó cung cấp một phƣơng pháp cho phép tự động học các luật.

Theo nghiên cứu của Brill[4], phƣơng pháp học dựa trên luật (TBL) đã cho thấy nó có thể giải quyết bài toán gán nhãn từ loại với độ chính xác khá cao. Cũng chính phƣơng pháp này có thể đƣợc áp dụng trong các bài toán khác của xử lý ngôn ngữ tự nhiên nhƣ text chunking, parsing, nhận dạng tên thực thể, và khử nhập nhằng nghĩa của từ. Ý tƣởng chính trong phƣơng pháp này là so sánh golden-corpus (kho ngữ liệu đã đƣợc gán nhãn bằng tay) với initial-corpus (kho ngữ liệu đƣợc tạo ra thông qua việc

khởi tạo một nhãn ban đầu bất kỳ), sau đó tự động tạo ra các luật để các sửa lỗi dựa trên một tập các mẫu luật đƣợc định nghĩa trƣớc.

Quá trình huấn luyện đƣợc mô tả theo từng bƣớc nhƣ sau:

Đầu vào: Kho ngữ liệu raw-corpus chứa đựng các thực thể text chƣa đƣợc gán

nhãn mà đƣợc trích rút từ kho ngữ liệu golden-corpus (kho ngữ liệu mà đã đƣợc

gán nhãn bằng tay)

Bƣớc 1: Tạo kho ngữ liệu initial-corpus bằng cách khởi tạo một nhãn ban đầu với đầu vào là kho ngữ liệu raw-corpus.

Bƣớc 2: So sánh kho ngữ liệu initial-corpus với kho ngữ liệu golden-corpus để xác định đƣợc những nhãn lỗi và từ đó sử dụng một tập mẫu luật định nghĩa trƣớc để tạo ra các luật tiềm năng.

Bƣớc 3: Áp dụng từng luật trong tập luật tiềm năng (thu đƣợc ở bƣớc 2) với một

bản copy của kho ngữ liệu initial-corpus. Điểm số của mỗi luật sẽ đƣợc

tính toán dựa trên hiệu số của các nhãn sai chuyển thành nhãn đúng và số nhãn đúng chuyển thành nhãn sai. Luật có điểm số tốt nhất là đƣợc chọn.

Bƣớc 4: Cập nhật lại kho ngữ liệu initial-corpus bằng cách áp dụng luật vừa đƣợc chọn ra ở bƣớc 3 và chuyển luật này vào danh sách các luật chuyển đƣợc lựa chọn.

Bƣớc 5: Dừng giải thuật nếu nhƣ điểm số tốt nhất là nhỏ hơn một ngƣỡng T đƣợc định nghĩa trƣớc, ngƣợc lại quay trở lại bƣớc 2.

Đầu ra: Danh sách các luật chuyển đƣợc lựa chọn.

Quá trình huấn luyện trên đƣợc mô tả chi tiết trong Hình 2.5 nhƣ sau:

Quá trình kiểm tra

Đầu vào: Kho ngữ liệu test-corpusvà danh sách các luật chuyển (selected TBL rules)

Bƣớc 1: Tạo ra kho ngữ liệu raw test-corpusbằng cách bỏ các nhãn từ kho ngữ liệu test-corpus.

Bƣớc 2: Khởi tạo nhãn ngẫu nhiên đối với kho ngữ liệu test-corpus,thu đƣợc một kho ngữ liệu gọi là initial-corpus.

Bƣớc 3: Áp dụng danh sách các luật chuyển (selected TBL rules) đối với kho

ngữ liệu initial-corpus thu đƣợc một kho ngữ liệu đã đƣợc gán nhãn gọi là

labeled corpus.

Bƣớc 4: So sánh kho ngữ liệu labeled corpus với kho ngữ liệu test-corpus để đánh giá hệ thống (thu đƣợc độ chính xác của hệ thống)

Đầu ra: Độ chính xác của mô hình TBL.

Quá trình kiểm tra đƣợc mô tả chiết trong Hình 2.6 nhƣ sau:

CHƢƠNG III. ĐỀ XUẤT MÔ HÌNH KHỬ NHẬP NHẰNG NGHĨA CỦA TỪ CỦA TỪ

Trong chƣơng này, chúng tôi đề cập đến hai vấn đề chính. Thứ nhất, chúng tôi đề xuất mô hình mới mà nó đƣợc xây dựng dựa trên việc kết hợp của hai mô hình là mô hình học máy thống kê và mô hình học dựa trên luật. Ý tƣởng chính của chúng tôi là dùng phƣơng pháp học dựa trên luật chuyển (TBL) để sửa lỗi sai (những ngữ cảnh chứa từ nhập nhằng bị phân lớp sai) của phƣơng pháp học máy thống kê (phƣơng pháp học máy thống kê ở đây chúng tôi chọn là phƣơng pháp Naive Bayes). Thứ hai, chúng tôi trình bày về cách biểu diễn ngữ cảnh và đề xuất lựa chọn các đặc trƣng mà chúng tôi sử dụng trong các phƣơng pháp Naive Bayes, TBL và SVM. Bên cạnh đó, tập mẫu luật chuyển trong phƣơng pháp TBL cũng đƣợc đề xuất.

3.1. Đề xuất mô hình

Mô hình của chúng tôi đề xuất là mô hình học máy thống kế dựa trên kho ngữ liệu, vì vậy nó sẽ gồm 2 quá trình là quá trình huấn luyện và quá trình kiểm tra. Quá trình huấn luyện là quá trình xây dựng lên mô hình phân lớp dựa vào kho ngữ liệu đầu vào chứa các tập mẫu đã đƣợc gán nhãn, thực tế quá trình này sẽ xây dựng lên một danh sách các luật chuyển. Quá trình kiểm tra sẽ áp dụng các luật chuyển thu đƣợc ở quá trình huấn luyện với một kho ngữ liệu chứa các tập mẫu chƣa đƣợc gán nhãn trƣớc để thu đƣợc các nhãn, qua đó đánh giá độ chính xác của mô hình. Chi tiết từng quá trình huấn luyện và kiểm tra của mô hình mà chúng tôi đề xuất nhƣ sau:

3.1.1. Quá trình huấn luyện

Quá trình huấn luyện sử dụng kho ngữ liệu corpus-1 để xây dựng tập luật chuyển. Kho ngữ liệu này đƣợc chia ngẫu nhiên N lần thành 2 kho ngữ liệu là

training-corpus-ideveloping-corpus-i với i = 1, 𝑁 theo tỉ lệ 3:1. Kho ngữ liệu

training-corpus-i dùng để xây dựng lên mô hình phân lớp Naive Bayes, còn kho ngữ

liệu developing-corpus-i dùng để học các luật chuyển theo giải thuật TBL.

Quá trình huấn luyện bao gồm ba giai đoạn. Giai đoạn thứ nhất, danh sách các lỗi đƣợc xác định sau quá trình phân lớp của mô hình Naive Bayes. Gia đoạn thứ hai, xác định đƣợc các luật chuyển tƣơng ứng để sửa các lỗi sai ở giai đoạn 1. Giai đoạn thứ ba, thực hiện N lần giai đoạn 1 và giai đoạn 2 tƣơng ứng với N bộ kho ngữ liệu

training-corpus-i và developing-corpus-i với i = 1, 𝑁 đã đƣợc chia ngẫu nhiên, sau đó tổng hợp N tập luật chuyển này với nhau để thu đƣợc một danh sách các luật chuyển duy nhất cho quá trình huấn luyện. Số N đƣợc xác định dựa vào thực nghiệm. Từng giai đoạn trong quá trình huấn luyện đƣợc mô tả chi tiết nhƣ sau:

Hình 3.1. Sơ đồ mô tả quá trình huấn luyện ở giải đoạn thứ nhất

Đầu vào: Hai kho ngữ liệu training-corpusdeveloping-corpus chứa các ngữ cảnh của từ đa nghĩa đã đƣợc gán nhãn bằng tay.

Bƣớc 1: Tạo kho ngữ liệu chƣa gán nhãn raw developing-corpusbằng cách loại

bỏ các nhãn của kho ngữ liệu developing-corpus

Bƣớc 2: Sử dụng kho ngữ liệu training-corpusđể huấn luyện lên mô hình phân lớp Naive Bayes. Chính mô hình này sau đó đƣợc sử dụng để phân lớp cho kho

ngữ liệu raw-developing-corpus (mà đã thu đƣợc ở bƣớc 1). Kết quả thu đƣợc

kho ngữ liệu gọi là initial-corpus.

Bƣớc 3: So sánh kho ngữ liệu initial-corpus với kho ngữ liệu developing- corpus để xác định danh sách tất cả các nhãn bị lỗi từ mô hình phân lớp Naive Bayes.

Đầ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 error nhƣ trong hình 3.1)

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

error 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 đƣợ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 chƣơng 3. Giai đoạn này đƣợc mô tả chi tiết trong hình 3.2)

Hình 3.2. Sơ đồ mô tả quá trình huấn luyện ở giải đoạn thứ hai

Đầu vào: Hai kho ngữ liệu developing-corpusinitial-corpus cùng với danh sách các lỗi list error.

Bƣớc 1: Áp dụng mẫu luật rule templates cho danh sách các lỗi để tạo ra một danh sách các luật chuyển tiềm năng (gọi là list potential-rules)

Bƣớc 2: Áp dụng mỗi luật chuyển có trong danh sách list potential-rules với một kho ngữ liệu là bản copy của kho ngữ liệu initial-corpus. Điểm của mỗi luật đƣợc tính toán theo công thức 𝑠2 − 𝑠1. Trong đó, 𝑠1 là các trƣờng hợp mà

nhãn đúng chuyển thành nhãn sai và 𝑠2 là các trƣờng hợp mà nhãn sai chuyển

thành nhãn đúng. Luật có số điểm cao nhất sẽ đƣợc chọn.

Bƣớc 3: Cập nhật lại kho ngữ liệu initial-corpus bằng cách áp dụng luật có số điểm cao nhất vừa chọn đƣợc ở bƣớc 2 và thêm luật này vào danh sách luật chuyển đƣợc chọn (selected TBL rules). Danh sách các lỗi (list error) đƣợc cập nhật lại bằng cách so sánh hai kho ngữ liệu initial-corpus với developing- corpus.

Bƣớc 4: Dừng giải thuật nếu điểm số cao nhất của luật nhỏ hơn một ngƣỡng T định nghĩa trƣớc. Ngƣợc lại thì quay lại bƣớc 1.

Đầu ra: Danh sách các luật chuyển (selected TBL rules)

Trong giai đoạn thứ ba của thuật toán huấn luyện, sẽ áp dụng giai đoạn 1và giai đoạn 2 N lần cho N cặp kho ngữ liệu (training-corpus-i, developing-corpus-i) với i =

1, 𝑁. Ta thu đƣợc N danh sách các luật chuyển tƣơng ứng (list rules-i với i =1, 𝑁). Sau đó, kết hợp N danh sách các luật chuyển này lại với nhau ta thu đƣợc 1 danh sách luật chuyển cuối cùng (gọi là list rules). Chi tiết quá trình này đƣợc mô tả trong hình 3.3.

Hình 3.3. Sơ đồ mô tả quá trình huấn luyện ở giải đoạn thứ ba

Đầu vào: N bộ kho ngữ liệu training-copus-ideveloping-corpus-ivới i = 1, 𝑁.

Bƣớc 1: Thực hiện giai đoạn 1 và giai đoạn 2 của giải thuật huấn luyện tƣơng

ứng với N bộ dữ liệu đầu vào. Thu đƣợc N danh sách các luật chuyển (list-rule-

i) với i = 1, 𝑁.

Bƣớc 2: Thực hiện kết hợp N danh sách các luật chuyển (list-rule-i) với i = 1, 𝑁

lại với nhau. Thu đƣợc bộ danh sách các luật chuyển cuối cùng (list rules).

Đầu ra: Danh sách các luật chuyển (list rules)

3.1.2. Quá trình kiểm tra

Trong giai đoạn này, chúng tôi sử dụng danh sách luật chuyển (list rules) thu

đƣợc trong giai đoạn 3 của quá trình huấn luyện ở trên. Chi tiết quá trình này đƣợc mô tả trong hình 3.4 nhƣ sau:

Hình 3.4. Sơ đồ mô tả quá trình kiểm tra

Đầu vào: Kho ngữ liệu test-corpusvà danh sách các luật chuyển (list rules) thu đƣợc ở giai đoạn 3 của quá trình huấn luyện.

Bƣớc 1: Tạo ra kho ngữ liệu raw test-corpusbằng cách bỏ các nhãn từ kho ngữ liệu test-corpus.

Bƣớc 2: Sử dụng mô hình phân lớp Naive Bayes đối với kho ngữ liệu raw test- corpus,thu đƣợc một kho ngữ liệu gọi là initial-corpus.

Bƣớc 3: Áp dụng danh sách các luật chuyển (list rules) đối với kho ngữ liệu

initial-corpus thu đƣợc một kho ngữ liệu gọi là labeled-corpus.

Bƣớc 4: So sánh kho ngữ liệu labeled-corpus với kho ngữ liệu test-corpus để đánh giá hệ thống (thu đƣợc độ chính xác của hệ thống)

Đầu ra: Độ chính xác của mô hình đã đề xuất.

3.2. Biểu diễn ngữ cảnh, lựa chọn đặc trƣng và tập luật mẫu

Một phần của tài liệu (LUẬN văn THẠC sĩ) kết hợp mô hình học máy thống kê với mô hình học dựa trên luật đề khử nhập nhằng nghĩa từ tiếng việt (Trang 27)

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

(52 trang)