.2 Hê ̣ thống trích chọn tên riêng cho tiếng Viê ̣t

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống trích chọn tên riêng cho văn bản tiếng Việt bằng phương pháp học thống kê Luận văn ThS. Công nghệ thông tin 1 01 10 (Trang 74)

Các bước để gán nhãn cho một trang Web tiếng Việt được minh ho ̣a như hình vẽ dưới đây

Hình 11: Cấu trúc hê ̣ thống trích chọn tên riêng

III.3 Các tham số huấn luyện và đánh giá thực nghiệm

III.3.1 Huấn luyện

Dùng lệnh crf_learn

Cú pháp: % crf_learn template_file train_file model_file Trong đó:

- Template_file: file mô tả các mẫu của thẻ.

- Train_file: file dùng để huấn luyện. Input (text)

Tiền xử lý Lựa cho ̣n thuô ̣c tính

CRF++ framework

Khôi phu ̣c + tagging Output (text)

- Model_file: file mô hình huấn luyện.

III.3.1.1 Các tham số huấn luyện

Mô ̣t số tùy cho ̣n trong CRF++ framework cho quá trình huấn luyê ̣n: Tham số -a được dùng để lựa chọn thuật toán huấn luyện. Tham số này có 3 lựa chọn:

- CRF-L1: thuật toán CRF - CRF-L2: thuật toán CRF - MIRA: thuật toán perceptron

Nếu tham số -a là CRF-L1 hoặc CRF-L2 ta có các tham số:

Tham số Giá trị Ý nghĩa

-c float 1.5

Tham số này điều chỉnh độ bất cân đối của dữ liệu. Tùy vào dạng phân bố của dữ liệu mà ta đặt tham số này. Giá trị tối ưu có thể tìm thấy bằng cách thực hiện thủ công hoặc thông qua phương pháp lựa chọn mô hình như cross- validation

-f NUM 3

Tham số thiết lập ngưỡng đối với các đặc trưng. CRF++ dùng các đặc trưng xuất hiện không ít hơn NUM lần trong dữ liệu huấn luyện. Khi ta dụng CRF++ đối với tập dữ liệu lớn, số lượng các đặc trưng có thể lên đến hàng triệu, thì việc sử dụng tham số NUM là cần thiết.

-p NUM: 1

Nếu PC có nhiều CPU, khi đó ta có thể thực hiện việc huấn luyện nhanh hơn bằng cách sử dụng đa luồng. NUM là số luồng

Bảng 2: Các tham số trong quá trình huấn luyện đối với thuật toán CRF

Nếu tham số -a là MIRA thì ta có các tham số tiếp theo:

Tham số Giá trị Ý nghĩa

-c float 1.5

Về cơ bản tham số này có ý nghĩa tương tự như tham số -c đối với thuật toán CRF. Với giá trị C lớn thì thuật toán hướng tới việc overfit đối với dữ liệu huấn luyện.

-f NUM 3 Giống -f trong CRF

-H NUM: 2

Thiết lập độ co của dữ liệu, Khi một câu huấn luyện sau NUM lần không được dùng để thực hiện việc cập nhật giá trị của vectơ tham số, ta có thể coi câu đó không có trong dữ liệu huấn luyện nữa. Quá trình loại bỏ này gọi là sự co lại của dữ liệu (shrinking)

Bảng 3: Các tham số trong quá trình huấn luyê ̣n đối với thuật toán MIRA

Mô ̣t hê ̣ thống trích chọn tên riêng có thể được đánh giá ở mức độ nhãn hoặc ở mức độ cụm từ. Để hiểu rõ hơn vấn đề này chúng ta hãy xem xét ví du ̣ sau :

chính xác sẽ là 2/3. Ở mức độ cụm từ , ta muốn cả cu ̣m này được đánh dấu là tên người hay chuỗ i nhãn tương ứng phải là “B _PER I_PER I_PER”, đô ̣ chính xác khi xét ở mức độ cụm từ sẽ là 0/1 (thực tế có mô ̣t cu ̣m tên thực thể nhưng hê ̣ thống không đánh dấu đúng được cu ̣m nào).

III.3.1.2 Phương pháp “10-fold cross validation”

Hê ̣ thố ng thử nghiê ̣m theo phương pháp “ 10-fold cross validation” . Theo phương pháp này, dữ liê ̣u thực nghiê ̣m được chia thành 10 phần bằng nhau, lần lượt lấy 9 phần để huấn luyê ̣n và 1 phần còn la ̣i để kiểm tra , kết quả sau 10 lần thực nghiệm đươ ̣c ghi la ̣i và đánh giá tổng thể.

III.3.2 Kiểm tra

Sử dụng lệnh crf_test

Cú pháp: % crf_test -m model_file test_files ... Trong đó:

- file model_file: chính là file model của lệnh huấn luyện

- test_files: file dùng để chạy kiểm tra kết quả huấn luyện

III.4 Lựa chọn các thuộc tính

Lựa cho ̣n các thuô ̣c tính từ tâ ̣p dữ liê ̣u huấn luyê ̣n là nhiệm vụ quan trọng nhất, giữ vai trò quyết đi ̣nh chất lượng của mô ̣t hê ̣ thống trích chọn tên riêng. Các thuô ̣c tính được lựa cho ̣n càng t inh tế thì đô ̣ chính xác của hê ̣ thống càng tăng . Do tiếng Viê ̣t thiếu các thông tin ngữ pháp (POS) cũng như các nguồn tài nguyên có thể tra cứu nên để có thể đa ̣t được đô ̣ chính xác gần với đô ̣ chính xác đa ̣t được với các hệ thống xây dựng cho tiếng Anh cần phải lựa chọn các thuộc tính một cách cẩn thâ ̣n và hợp lý.

Các thuộc tính tại vị trí i trong chuỗi dữ liệu quan sát gồm hai phần , mô ̣t là thông tin ngữ cảnh tai vi ̣ trí i của chuỗi dữ liê ̣u quan sát , hai là phần thông tin về

nhãn tương ứng. Công viê ̣c lựa cho ̣n các thuô ̣c tính thực chất là cho ̣n ra các mẫu vị từ ngữ cảnh (context predicate template), các mẫu này thể hiện những các thông tin đáng quan tâm ta ̣i m ột vị trí bất kì trong chuỗi dữ liệu quan sát . Áp dụng các mẫu ngữ cảnh này ta ̣i m ột vị trí trong chuỗi dữ liệu quan sát cho ta các thông tin ngữ cảnh (context predicate ) tại vị trí đó . Mỗi thông tin ngữ cảnh ta ̣i i khi kết hợp với thông tin nhãn tương ứng ta ̣i vi ̣ trí đó sẽ cho ta mô ̣t thuô ̣c tính của chuỗi dữ liê ̣u quan sát ta ̣i i . Như vâ ̣y mô ̣t khi đã có các mẫu ngữ cảnh , ta có thể rút ra được hàng nghìn thuộc tính một cách tự động từ tập dữ liệu huấn luyện.

Các thuộc tính được mô tả trong các file mẫu (template file) và file huấn luyện (train file). Các file mẫu mô tả các ngữ cảnh về từ vựng. Các file huấn luyện mô tả các dữ liệu được dùng để huấn luyện.

III.4.1 File huấn luyện

Mỗi file huấn luyện chứa nhiều token, mỗi token tương ứng sẽ được mô tả trên một dòng. Mỗi dòng có thể có nhiều cột (số cột trên mỗi dòng là giống nhau). Trong các bài toán khác nhau, token được hiểu là khác nhau. Trong bài toán trích chọn tên riêng các token được hiểu như các từ. Các token liên tiếp tạo thành một chuỗi quan sát (observation sequence). Dòng trắng được xen vào trong file huấn luyện tương ứng với việc kết thúc một chuỗi quan sát.

Với mỗi dòng, cột đầu tiên luôn là nội dung của token, cột cuối cùng là nhãn đúng của token

Trong hệ thống trích chọn tên riêng mà tôi xây dựng, mỗi dòng mô tả token sẽ gồm 3 cột. Cột đầu tiên chứa nội dung của từ, cột thứ hai mô tả thuộc tính chính tả của từ (orthographic), cột thứ tư là nhãn đúng của từ.

Tên thuộc tính Viết tắt Ý nghĩa Ví dụ

all_cap wf:ac Tất cả đều là chữ cái viết hoa TCVN

all_cap_and_digit wf:acd Tất cả đều là chữ cái viết hoa

và chữ số 12ABC

all_digit wf:ad Tất cả đều là số 123

alphanumeric wf:alm Tất cả đều là chữ cái và số tp23

all_cap_and_hyphen wf:cah Tất cả đều là chữ cái viết hoa

và dấu gạch ngang BC-VT

contain_comma_sign wf:ccs Chứa dấu phẩy 12,21

contain_dot_sign wf:cds Chứa dấu chấm 21.32

contain_colon_sign wf:cls Chứa dấu hai chấm 12:21:15

contain_slash_sign wf:css Chứa dấu gạch chéo QD123/BGDDT/07

initial_cap wf:ic Chữ cái đầu là chữ hoa Nguyễn

initial_cap_and_dot_sign wf:icds Chữ cái đầu là chữ hoa và chứa

dấu chấm Tp.Hồ Chí Minh

initial_cap_and_hyphen wf:ich Chữ cái đầu là chữ hoa và chứa dấu gạch ngang

Bưu chính - Viễn thông

all_lower_case wf:lower Tất cả đều là chữ thường ngang

all_digit_and_hyphen wf:adh Tất cả đều là số và dấu gạch

ngang 12-21-2007

Lamingo wf:ic B-loc ĐạiLải wf:ic I-loc Resort wf:ic I-loc

được O O

quyhoạch O O

bởi O O

Côngty wf:ic B-org Kiến wf:ic I-org trúc wf:lower I-org ViệtNam wf:ic I-org

O O

Trungtâm wf:ic B-org Pháttriển wf:ic I-org vùng wf:lower I-org Sena wf:ic I-org

Hình 12: Mô tả một chuỗi quan sát trong file huấn luyện.

III.4.2 File mẫu:

Có hai loại: mẫu đơn (Unigram), mẫu kép (Bigram)

Loại mẫu đơn: mẫu này được bắt đầu bằng chữ cái „U‟. Mẫu đơn có dạng

%x[row,col], mẫu này được dùng để xác định một token trong dữ liệu đầu vào. Trong đó row tương ứng với vị trí tương đối đối với token được quan sát tại thời điểm hiện thời, col tương ứng với vị trí cố định trong file huấn luyện.

Với mẫu U01:%x[0,1], và một đoạn của file train tương ứng với mẫu quan

sát “Bộ Bưu chính – Viễn thông vừa ra quyết định cho phép thêm 2 doanh nghiệp nữa tham gia cung cấp dịch vụ viễn thông kể từ tháng 1/2007”là:

Bộ wf:ic wf:iorg B-org

Bưu chính – Viễn thông wf:icah wf:iorg I-org

vừa O O << Từ hiện thời

ra O O

quyết định O O

Khi đó, các hàm đặc trưng được sinh ra tương ứng là:

hàm 1: if(ouput=B-org and feature U01:wf:ic) return 1 else return 0 hàm 2: if(ouput=I-org and feature U01:wf:icah) return 1 else return 0 ….

Số hàm được sinh ra tương ứng bằng (N*L) trong đó L là số lớp đầu ra có thể. N là số chuỗi phân biệt có thể được gán tương ứng với mỗi lớp đầu ra. Trong hệ thống tôi xây dựng, số lớp đầu ra L = 9 (B-org, I-org, B-loc, I-loc, B-time, I-time, B-per, I-per, và O). Nếu đặc trưng tương ứng trong cột hai ta có 14 đặc trưng (N=14). Nếu đặc trưng tương ứng trong cột ba ta có 6 đặc trưng (N=6)

Loại mẫu kép: mẫu này được bắt đầu bằng chữ cái „B‟. Mẫu này sẽ tự động sinh ra một kết hợp giữa token hiện thời và token ngay trước đó. Số hàm được sinh ra bởi một đặc trưng kép này bằng (N*N*L). (ý nghĩa của L và N tương tự như trong mẫu đơn.

# Unigram U00:%x[-2,0] U01:%x[-1,0] U02:%x[0,0] U03:%x[1,0] U04:%x[2,0] U05:%x[-1,0]/%x[0,0] U06:%x[0,0]/%x[1,0] U10:%x[-2,1] U11:%x[-1,1] U12:%x[0,1] U13:%x[1,1] U14:%x[2,1] U15:%x[-2,1]/%x[-1,1] U16:%x[-1,1]/%x[0,1] U17:%x[0,1]/%x[1,1] U18:%x[1,1]/%x[2,1] U20:%x[-2,1]/%x[-1,1]/%x[0,1] U21:%x[-1,1]/%x[0,1]/%x[1,1]

U22:%x[0,1]/%x[1,1]/%x[2,1] # Bigram

B

Hình 13: File mẫu của hệ thống

III.5 Kết quả thực nghiệm

Kết quả của 10 lần thử nghiê ̣m với thuật toán perceptron

70 75 80 85 90 95 1 2 3 4 5 6 7 8 9 10

Precision Recall F-measure

Hình 14: Giá trị ba độ đo Precision, Recall, F-measure qua 10 lần thực nghiê ̣m với thuật toán perceptron

Lần thực nghiê ̣m cho kết quả tốt nhất:

Manual Model Match Precision Recall F-measual

loc 149 150 129 86.0 86.5 86.25 org 258 263 237 90.1 91.8 90.94 per 147 141 127 90.0 86.3 88.11 time 213 218 210 96.3 98.5 97.39 avg1: 90.60 90.77 90.68 avg2: 767 772 703 91.06 91.65 91.35

Bảng 5: Đánh giá mức cụm từ - Lần thực nghiê ̣m cho kết quả tốt nhất với thuật toán perceptron

Manual Model Match Precision Recall F-measual B-loc 161 158 136 86.00 84.40 85.19 I-loc 81 88 69 78.40 85.10 81.61 B-org 266 269 239 88.80 89.80 89.30 I-org 222 224 203 90.60 91.40 91.00 B-per 150 146 129 88.30 86.00 87.13 I-per 20 15 13 86.60 65.00 74.26 B-time 214 220 210 95.40 98.10 96.73 I-time 320 322 317 98.40 99.00 98.70 avg1: 89.00 87.30 88.10 avg2: 1434 1442 1316 91.20 91.70 91.45

Bảng 6: Đánh giá mức nhãn - Lần thực nghiê ̣m cho kết quả tốt nhất với thuật toán perceptron

Trung bình 10 lần thực nghiê ̣m

Độ đo Mức nhãn (%) Mức cụm từ (%)

Precision 90.32 89.26

Recall 90.67 90.14

F-measure 90.49 89.69

Kết quả của 10 lần thử nghiê ̣m với thuật toán crf 70 75 80 85 90 95 1 2 3 4 5 6 7 8 9 10

Precision Recall F-measure

Hình 15: Giá trị ba độ đo Precision, Recall, F-measure qua 10 lần thực nghiê ̣m với thuật toán crf

Lần thực nghiê ̣m cho kết quả tốt nhất:

Manual Model Match Pre Rec F-measual

loc 149 150 129 86 86.5 86.25 org 258 263 237 90.1 91.8 90.94 per 147 141 127 90 86.3 88.11 time 213 218 210 96.3 98.5 97.39 avg1: 90.6 90.77 90.68 avg2: 767 772 703 91.06 91.65 91.35

Manual Model Match Pre Rec F-measual B-loc 157 158 137 86.70 87.20 86.95 I-loc 77 88 67 76.10 87.00 81.19 B-org 264 269 243 90.30 92.00 91.14 I-org 232 224 209 93.30 90.00 91.62 B-per 152 146 132 90.40 86.80 88.56 I-per 16 15 13 86.60 81.20 83.81 B-time 215 220 212 96.30 98.60 97.44 I-time 321 322 318 98.70 99.00 98.85 avg1: 89.80 90.20 89.90 avg2: 1434 1442 1331 92.30 92.80 92.55

Bảng 9: Đánh giá mức nhãn - Lần thực nghiê ̣m cho kết quả tốt nhất với thuật toán crf

Trung bình 10 lần thực nghiê ̣m

Độ đo Mức nhãn (%) Mức cụm từ (%)

Precision 90.40 88.80

Recall 91.00 89.60

F-measure 90.40 88.80

80 81 82 83 84 85 86 87 88 89 90 91

Precision Recall F-measure

perceptron crf

Hình 16: So sánh độ chính xác của hai thuật toán perceptron và crf

Nhâ ̣n xét

Bước đầu thực nghiê ̣m hê ̣ thống trích chọn tên riêng cho văn bản Tiếng Việt đã có kết quả tương đối khả quan . Tuy nhiên hệ thống hiện thời mới chỉ đáp ứng cho việc nhận diện các văn bản dạng chuẩn tắc mà chưa có khả năng thứ lỗi đối với các văn bản tự do. Các dữ liệu thu thập được vẫn chỉ trong trang vnexpress.net mà chưa chú trọng đến các văn bản ngoài. Nhưng tôi tin rằng khi xây dựng được bộ dữ liệu dồi dào và phong phú hơn, với nhiều các đặc trưng tổng quát hơn sẽ cho kết quả cao hơn trong tương lai.

KẾT LUẬN

Những vấn đề đã được giải quyết trong luận văn

Luận văn đã hê ̣ thống hóa m ột số vấn đề lý thuyết về trích chọn thông tin , bài toán trích chọn tên riêng đồng thời trình bày, phân tích, đánh giá mô ̣t số hướng tiếp câ ̣n bài toán trích chọn tên riêng. Mô ̣t số vấn đề và giải pháp đối với bài toán trích chọn tên riêng cho văn bản tiếng Viê ̣t dựa trên mô hình CRF và thuật toán perceptron đã đươ ̣c đề xuất , thực nghiê ̣m và thu được mô ̣t số kết quả rất khả quan . Sau đây là mô ̣t số nét chính mà luâ ̣n văn đã tâ ̣p trung giải quyết .

Chương mô ̣t đưa ra mô ̣t cái nhìn khái quát về trích cho ̣n thông tin , bài toán trích chọn tên riêng , mô hình hóa bài toán dưới da ̣ng mô ̣t bài toán gán nhãn dữ liệu dạng chuỗi và những ứng dụng của bài toán trích chọn tên riêng, từ đó thấy được sự cần thiết phải có mô ̣t hê ̣ thống trích chọn tên riêng cho tiếng Viê ̣t.

Chương hai xem xét một số phương pháp học thống kê như HMMs, CRFs và thuật toán perceptron. Việc đi sâu vào việc phân tích, đánh giá từng phương pháp trong chương này cho thấy sự nghèo nàn của các thuộc tính được chọn trong mô hình HMMs và vấn đề “label bias” mà các mô hình HMMs và MEMM gă ̣p phải . Những đánh giá này lý giải vì sao tôi lại lựa chọn phương pháp học máy CRF s và perceptron là cơ sở để xây dựng hệ thống trích chọn tên riêng cho văn bản tiếng Viê ̣t.

Chương ba trình bày hệ thống trích chọn tên riêng cho văn bản tiếng Viê ̣t và đề xuất các phương pháp lựa chọn thuộc tính cho việc nhận diện các loại thực thể trong các văn bản tiếng Viê ̣t . Chương này cũng đưa ra các kết quả của hê ̣ thống trích chọn tên riêng tiếng Viê ̣t qua mô ̣t số lần thực nghiê ̣m.

Hướng phát triển

Mă ̣c dù kết quả phân loa ̣i thực thể của hê ̣ thống có thể tốt hơn nữa nhưng do thời gian có ha ̣n nên tôi mới chỉ dừng la ̣i ở con số trung bình là 88%, trong thời gian

tới, tôi sẽ tiếp tục nghiên cứu nhằm cải thiện hệ thống , tôi tin rằng kết quả này có thể tăng lên trên 90% ở mức cụm từ.

Trên cơ sở hê ̣ thống trích chọn tên riêng tiếng Viê ̣t hiê ̣n nay , tôi dự đi ̣nh sẽ mở rô ̣ng loại thực thể và cụ thể hóa các loại thực thể như phân nhỏ loại thực thể chỉ đi ̣a danh thành các loa ̣i thực thể chỉ đất nước, sông ngòi, ....

Tìm hiểu và xây dựng mô ̣t hê ̣ thống nhâ ̣n diê ̣n mối quan hê ̣ giữa các thực

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống trích chọn tên riêng cho văn bản tiếng Việt bằng phương pháp học thống kê Luận văn ThS. Công nghệ thông tin 1 01 10 (Trang 74)

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

(92 trang)