Bài toán gán nhãn cho dữ liệu dạng chuỗi là một phần quan trọng của vấn đề phân loại giám sát, khi mà các nhãn cho một bộ các biến mục tiêu sẽ được dự đoán đồng thời với nhãn các biến kh
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
BÙI ĐỨC TRUNG
NGHIÊN CỨU KỸ THUẬT GÁN NHÃN CHO DỮ LIỆU
DẠNG CHUỖI VÀ ỨNG DỤNG
CHUYÊN NGÀNH :
TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60.48.15
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI – 2010
Trang 2Luận văn được hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thông Tập đoàn Bưu chính Viễn thông Việt Nam
Người hướng dẫn khoa học:
PGS.TS TỪ MINH PHƯƠNG
Phản biện 1: ………
………
Phản biện 2: ………
………
Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện Học viện Công nghệ Bưu chính Viễn thông
Trang 3LỜI MỞ ĐẦU
Dữ liệu dạng chuỗi là một tập các phần tử được sắp thứ tự s:= a1, a2, an Trong đó mỗi phần tử ai có thể là kiểu số hoặc có thể nhận giá trị rời rạc Độ dài n của chuỗi là không cố định, chuỗi được sắp theo thứ tự thời gian hoặc vị trí và có thể sắp đều hoặc không
Bài toán gán nhãn cho dữ liệu dạng chuỗi là một phần quan trọng của vấn đề phân loại giám sát, khi mà các nhãn cho một bộ các biến mục tiêu sẽ được dự đoán đồng thời với nhãn các biến khác trong chuỗi
Có nhiều bài toán trong thực tế được giải quyết dựa trên vấn đề gán nhãn cho dữ liệu dạng chuỗi Gán nhãn cho dữ liệu dạng chuỗi có vai trò cốt lõi, quan trọng trong ba bài toán cơ bản sau: thông tin, nhận dạng giọng nói, ngôn ngữ và chữ viết Các ứng dụng cổ điển của bài toán gán nhãn cho dữ liệu dạng chuỗi là về giọng nói với chuỗi các âm vị, ngôn ngữ với chuỗi các từ và khoảng trắng và chữ viết tay với chuỗi các nét chữ Ngoài ra, hiện nay một số ứng dụng mới của phương pháp này như Tin sinh học với các bài toán về dự đoán gen, các ứng dụng trong viễn thông về cảnh báo lỗi, gán nhãn cho các gói dữ liệu …
Mô hình Markov ẩn đã thành công với bài toán gán nhãn cho dữ liệu dạng chuỗi này trong nhiều năm Gần đây, một số mô hình có điều kiện như Maximum Entropy Markov Model (MEMM) và Conditional Random Field (CRF) được sử dụng nhiều bởi khả năng cho phép các tính năng chồng chéo Đặc biệt là CRF được coi như là một phương pháp rất triển vọng đối với bài toán gán nhãn cho chuỗi
Bưu điện tỉnh Lạng Sơn là một doanh nghiệp kinh doanh các dịch vụ Bưu chính, viễn thông trên địa bàn tỉnh Lạng Sơn, các dữ liệu dạng chuỗi ngày càng
Trang 4xuất hiện nhiều trong quá trình sản xuất kinh doanh tại đơn vị và cho thấy có thể có
nhiều ứng dụng Vì lý do đó, tôi chọn đề tài: “Nghiên cứu kỹ thuật gán nhãn cho
dữ liệu dạng chuỗi và ứng dụng”
Mục đích nghiên cứu: Nghiên cứu các dạng dữ liệu dạng chuỗi, các kỹ
thuật gán nhãn cho dữ liệu dạng chuỗi và các ứng dụng trong các bài toán có cấu trúc trong thực tế
Với mục tiêu cụ thể như sau:
Markov Model – HMM), Mạng Markov với lề cực đại (Max Margin Markov Network -M3N) và Trường ngẫu nhiêu điều kiện (Conditional Random Field – CRF)
Đối tượng và phạm vi nghiên cứu:
Luận văn tập trung vào nghiên cứu các dữ liệu dạng chuỗi có cấu trúc, các
kỹ thuật gán nhãn cho dữ liệu dạng chuỗi, đây là một lĩnh vực giành được nhiều sự chú ý trong Machine Learning và lĩnh vực mới thu hút sự quan tâm của nhiều đối tượng Kỹ thuật gán nhãn cho dữ liệu dạng và ứng dụng cụ thể của kỹ thuật này
Phương pháp nghiên cứu:
Nghiên cứu lý thuyết trong các kỹ thuật gán nhãn cho dữ liệu dạng chuỗi, nghiên cứu cụ thể kỹ thuật SVM, HMM, M3N và CRF Nghiên cứu bài toán “Gán nhãn từ loại” và bài toán “Nhận dạng ký tự viết tay” cùng với các ứng dụng trong thực tế từ đó có hướng giải quyết cụ thể
Trang 5Luận văn này được trình bày trong ba chương:
Chương 1: Tổng quan
Chương 1 giới thiệu chung về dữ liệu dạng chuỗi, bài toán gán nhãn cho dữ liệu dạng chuỗi và các ứng dụng trong trí tuệ nhân tạo hiện nay Chương này cũng đề cập đến các công nghệ đã và đang được ứng dụng bài toán gán nhãn cho dữ liệu dạng chuỗi
Chương 2: Một số mô hình giải bài toán gán nhãn cho dữ liệu dạng chuỗi
Chương này sẽ giới thiệu một số mô hình để giải bài toán gán nhãn cho dữ liệu dạng chuỗi Trong chương này ta sẽ xem xét các phương pháp được ứng dụng nhiều hiện nay là SVM, HMM, M3N và CRF Ta cũng xem xét cụ thể cách mô hình bài toán gán nhãn cho dữ liệu dạng chuỗi đối với các phương pháp này
Chương 3: Thiết kế thử nghiệm và phân tích
Trong phần này ta sẽ áp dụng các thuật toán đã đề cập trong các phần trước
để mô hình hai bài toán học có cấu trúc đã được biết rộng rãi là: gán nhãn từ loại (Part-of-speech (POS) tagging) và nhận dạng ký tự viết tay (handwritten character recognition - OCR)
Trang 6Chương 1 TỔNG QUAN
1.1 DỮ LIỆU DẠNG CHUỖI
Dữ liệu dạng chuỗi là một tập các phần tử được sắp thứ tự s:= a1, a2, an Trong đó mỗi phần tử ai có thể là kiểu số hoặc có thể nhận giá trị rời rạc Độ dài n của chuỗi là không cố định, chuỗi được sắp theo thứ tự thời gian hoặc vị trí và có thể sắp đều hoặc không
Ngày nay, dữ liệu dạng chuỗi được ứng dụng thực tế trong nhiều ngành và
có vai trò quan trọng trong các bài toán phân loại hay nhận dạng
1.2 BÀI TOÁN GÁN NHÃN CHO DỮ LIỆU DẠNG CHUỖI
Gán nhãn cho chuỗi là xác định nhãn phân loại cho từng thành phần trong chuỗi quan sát được Để xác định nhãn cho các thành phần của một chuỗi, ta có thể xác định nhãn cho từng thành phần độc lập với các thành phần khác Khi đó, bài toán có thể coi như là một tập các nhiệm phụ phân lớp độc lập đối với các thành phần của chuỗi Tuy nhiên, có thể nhận thấy nhãn phân loại của mỗi thành phần lại phụ thuộc vào nhãn các thành phần xung quanh Vì vậy, việc gán nhãn cho chuỗi cần được thực hiện theo phương pháp cho phép tính tới sự phụ thuộc giữa các nhãn trong chuỗi với nhau Từ đây dẫn tới nhu cầu phát triển và sử dụng kỹ thuật phân loại đặc thù cho dữ liệu có dạng chuỗi
Trong bài toán gán nhãn cho dữ liệu dạng chuỗi, đầu ra là chuỗi của các
nhãn y = (y1, y2, …, yT) tương ứng với một chuỗi quan sát x = (x1, x2, …, xT) Nếu mỗi nhãn có thể nhận giá trị từ tập ∑ thì đầu ra có thể coi như là một vấn đề phân loại đa lớp với |∑|T các lớp khác nhau Bài toán có thể được đưa ra như sau:
Bài toán: Cho trước
Trang 7Đầu vào: x = (x1, x2, …, xT)
Và các nhãn tương ứng: y = (y1, y2, …, yT)
Khi đó, với mỗi x, hãy tiên đoán y
Gán nhãn cho dữ liệu dạng chuỗi được sử dụng nhiều trong các bài toán gán nhãn từ loại, nhận dạng hình ảnh, âm thanh hay các bài toán về dự đoán gen Mô hình Markov ẩn đã thành công trong một thời gian dài với bài toán gán nhãn cho
dữ liệu dạng chuỗi Gần đây, một số mô hình có điều kiện như Maximum Entropy Markov Model (MEMM) và Conditional Random Field (CRF) được sử dụng nhiều bởi khả năng cho phép các tính năng chồng chéoTrong đó CRF là phương pháp được chú ý nhiều nhất
Sự quan tâm dành cho bộ môn Trí tuệ nhân tạo cũng như bài toán gán nhãn cho dữ liệu dạng chuỗi trong những năm gần đây là rất đáng kể Nhiều công trình nghiên cứu trong và ngoài nước đã và đang sử dụng gán nhãn cho dữ liệu dạng chuỗi và có những ứng dụng nhất định Trong những năm gần đây, việc giải bài toán gán nhãn cho dữ liệu dạng chuỗi với dữ liệu có cấu trúc thu hút được nhiều sự chú ý trong các vấn đề về xử lý ngôn ngữ tự nhiên Mục đích của bài toán học có cấu trúc là dự đoán được các cấu trúc phức tạp như chuỗi, cây hay đồ thị
Trang 8Chương 2 MỘT SỐ MÔ HÌNH GIẢI BÀI TOÁN GÁN NHÃN CHO DỮ
LIỆU DẠNG CHUỖI
Chương này giới thiệu một số mô hình để giải bài toán gán nhãn cho dữ liệu dạng chuỗi Trong chương này ta sẽ xem xét các phương pháp được ứng dụng nhiều hiện nay là SW, SVM, HMM, M3N và CRF Ta cũng xem xét cụ thể cách mô hình bài toán gán nhãn cho dữ liệu dạng chuỗi đối với các phương pháp này
2.1 MÔ HÌNH CỬA SỔ TRƯỢT (SW)
Đối với bài toán gán nhãn cho dữ liệu dạng chuỗi nêu trên, có một số mô hình thích hợp dùng để giải như Mô hình Markov ẩn (Hidden Markov Model – HMM), mô hình máy vector hỗ trợ (Support Vector Machine – SVM), mô hình Cửa sổ trượt (Sliding Window) hay mô hình Các trường điều kiện ngẫu nhiên (Conditional Random Fields – CRFs) Trong đó có thể nói mô hình cửa sổ trượt là một mô hình đơn giản nhất
Mô hình cửa sổ trượt chuyển vấn đề học có giám sát một chuỗi thành mô
hình học có giám sát kinh điển Phương pháp này xây dựng một bộ phân loại cửa
sổ h w mà sắp xếp một cửa sổ đầu vào w với một giá trị đầu ra y riêng Cụ thể, lấy d
= (w-1)/2 là một nửa độ dài của cửa sổ Khi đo cửa sổ h w sẽ dự đoán phần tử y i,t sử dụng cửa sổ <xi,t-d, xi,t-d+1, …, xi,t, …, xi,t+d-1, xi,t+d> Kết quả là với mỗi chuỗi đầu vào xi được thêm vào một giá trị d null ở cuối và sau đó được chuyển thành N i mẫu riêng biệt
Trang 9Phương pháp cửa sổ trượt cho kết quả tương đối tốt trong một số ứng dụng tuy nhiên phương pháp này không cho phép tính đến sự phụ thuộc giữa giá trị của
y t với các giá trị y khác gần đó
Một cách để cải tiến mô hình cửa sổ trượt đã nêu ở trên là làm cho nó hồi
cấp như là đầu vào để hỗ trợ trong việc dự đoán giá trị y i,t+1 Cụ thể, với một cửa sổ
dụng như là các đầu vào (cùng với cửa sổ trượt <xi,t-d, xi,t-d+1, …, xi,t, …, xi,t+d-1,
xi,t+d>) để dự đoán y y,t
2.2 PHƯƠNG PHÁP MÁY VECTOR HỖ TRỢ (SVM)
nguyên từ tập = {1, … , } Một bộ phân loại đa lớp là một hàm : → mà
mà sử dụng bộ phân loại được cho bởi
Để xây dựng được bộ dự đoán, ta thay thế lỗi phân loại sai của một mẫu
Phương pháp SVM có thể sử dụng cho bài toán gán nhãn cho dữ liệu dạng
chuỗi Thay vì sử dụng chuỗi cặp (x,y) làm các mẫu huấn luyện, SVM sử dụng mỗi
cặp dấu hiệu nhãn (x, y) trong chuỗi làm mẫu huấn luyện Với ánh xạ đặc trưng
biến lỏng ξ cho vấn đề tối ưu bậc hai sau đây
Trang 10, 1
Với điều kiện ∀ , ∀ ∈ \ :
〈 , ( ( , ) − ( , ))〉 ≥ 1 − SVM sử dụng phưong pháp lát cắt để xử lý vấn đề tối ưu này lặp đi lặp lại
việc thêm hầu hết các hạn chế vi phạm vào tập hợp các hạn chế được tối ưu cho
công thức kép Sau đó ta được w đã học và ξ, sự phân loại của mẫu x mới được
Phương pháp này bao gồm một tham số điều chỉnh C là sự thoả hiệp giữa lỗi
huấn luyện và biên
2.3 MÔ HÌNH MARKOV ẨN (HMM)
Ta đã biết mô hình Markov là mô hình mà mỗi trạng thái tương ứng với một
sự kiện có thể quan sát được Tuy nhiên các mô hình như vậy có ứng dụng rất hạn chế trong các bài toán thực tế Do đó, mô hình được mở rộng bao gồm cả những trường hợp thống kê chồng kép với một quá trình thống kê mà bên trong không quan sát được (ẩn sâu bên trong), chỉ có thể quan sát được thông qua một tập các quá trình thống kê khác, các quá trình mà tạo ra dãy quan sát được Mô hình như vậy được gọi là mô hình Markov ẩn (HMM)
Một mô hình Markov ẩn học một mô hình có khả năng sinh qua các cặp đầu vào, mỗi cặp gồm một chuỗi của các quan sát và chuỗi của các nhãn Mô hình Markov ẩn đã có được nhiều thành công trước đây, các mô hình Markov ẩn khó
mô hình các đa đặc trưng không độc lập Đúng ra thì, cho trước một chuỗi quan sát, ta có thể tìm được tuyến trạng thái có khả năng nhất cho chuỗi quan sát bằng thuật toán Viterbi
Trang 11Ở đây Q = q , q , … , q là chuỗi trạng thái với độ dài T, và O =
o , o , … , o là chuỗi các quan sát tương ứng
Ma trận chuyển trạng thái được tính như sau:
Ở đây Count q , q là số các lần qj xuất hiện theo qi
Thứ hai, phân bố xác suất khởi tạo được tính như sau:
n Với n là số các chuỗi huấn luyện
Đối với các quan sát rời rạc như trường hợp gán nhãn từ loại, ma trận quan sát được tính toán như sau:
Count q + |∑|α
ở đây Count o , q là số các lần ok được gán nhãn qj, và α là thông số làm mịn Thông số điều chỉnh cho trường hợp rời rạc là α
Đối với các trường hợp khi các quan sát là các vector như bài toán nhận dạng ký tự viết tay, ta sử dụng mô hình Markov ẩn với mật độ liên tục Gaussian để
mô hình xác suất từ trạng thái,
Trang 12Ở đây và là giá trị trung bình và ma trận hiệp phương sai (covariance) của các quan sát được phát ra trên trạng thái qj
2.4 MẠNG MARKOV VỚI BỀ MẶT PHÂN CÁCH CỰC ĐẠI (M3N)
Mạng Markov với bề mặt phân cách cực đại (M3N) kết hợp chặt chẽ các lõi
mà có hiệu quả tốt với các đặc trưng có không gian lớn, và khả năng lưu giữ các sự tương quan trong dữ liệu có cấu trúc Ta cũng tham khảo một thuật toán có hiệu quả để học mạng M3 dựa trên sự trình bày chương trình bày bậc hai Ta cũng cung cấp một lý thuyết bao mới cho sự tổng quát hoá trong các miền có cấu trúc
Hướng tiếp cận này định nghĩa một mạng Markov tuyến tính logarit trên tập các biến nhãn; mạng này cho phép mô tả sự tương quan giữa các biến nhãn này Sau đó ta định nghĩa một vấn đề tối ưu dựa trên bề mặt phân cách đối với các thông số của mô hình này Để mạng Markov có thể tạo thành hình tam giác dễ sử
lý, kết quả thu được từ bài toán quy hoạch bậc hai (Quadratic program – QP) là tương đương với một công thức với kích thước đa thức mà cho phép một giải pháp
có nhiều hiệu quả
Trong mô hình này, một cặp mạng Markov đựoc định nghĩa dưới dạng đồ
thị G= (Y,E) Mỗi cạnh ( , ) ∈ được kết hợp với một hàm tiềm năng
cùng loại tương tác, do đó ta có thể định nghĩa một ánh xạ
( , )∈
Mạng mã hoá một phân bố xác suất có điều kiện chung
Trang 13( ( | ) ∝ , , ,
, ∈
= exp( ( , ))
Vector trọng số w được chọn để làm cực đại bề mặt phân cách, thu được tất
cả các ưu điểm của nền tảng SVM Chương trình bậc hai cơ bản đối với M3N sử dụng công thức giống như trong công thức (2.4.6) Tuy nhiên M3N cũng cung cấp một cách thông số hoá các biến đôi để có được các ưu điểm của cấu trúc mạng của vấn đề gán nhãn cho dữ liệu dạng chuỗi
2.5 MÔ HÌNH CÁC TRƯỜNG ĐIỀU KIỆN NGẪU NHIÊN (CRF)
CRF đưa ra một định nghĩa tốt về sự phân bổ xác suất dựa trên khả năng gán nhãn, được huấn luyện bởi khả năng lớn nhất hay sự ước lượng MAP CRF cũng
dễ dàng tổng quát hoá để tương tự với ngữ pháp phi ngữ cảnh ngẫu nhiên mà có thể có ích trong một số vấn đề như dự đoán cấu trúc ARN bậc hai và xử lý ngôn ngữ tự nhiên
Định nghĩa Lấy G = (V,E) là một đồ thị với Y = ( ) ∈ , Y là tập các chỉ mục các đỉnh của G Với (X,Y) là một trường điều kiện ngẫu nhiên trong trường hợp này, khi điều kiện được đặt trên X, các biến ngẫu nhiên Y v tuân theo thuộc tính Markov đối với đồ thị: p(Y v |X, Y w , w≠v) = p(Y v |X, Y w , w ~ v), ở đây w ~ v nghĩa là
w và v là hàng xóm trong G
Do đó, CRF là một trường ngẫu nhiên hoàn toàn có điều kiện trên quan sát
X
Vấn đề ước lượng thông số là xác định thông số θ = (λ , λ , … ; μ , μ , … ) từ
dữ liệu huấn luyện = {x( ), y( )} với phân phối kinh nghiệm p(x, y) Trong phần sau ta sẽ đề cập đến thuật toán xác định tỉ lệ nhắc lại mà nó làm cực đại khả