.4 Kết luận

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 72)

Chương này đã trình bày một vài phương pháp học máy thống kê như HMMs, CRFs, và perceptron. Những phương pháp này đã được sử dụng nhiều trong các hệ thống trích chọn tên riêng đối với các văn bản tiếng Anh, Đức, Trung Quốc,… Ở Việt Nam hiện nay, đã có một số hệ thống trích chọn tên riêng được xây dựng bằng phương pháp CRF, MEMM, SVM,… Riêng đối với hệ thống trích chọn tên riêng được xây dựng bằng phương pháp perceptron thì chưa thấy được đề cập đến. Phần tiếp theo của luận văn sẽ trình bày hệ thống 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à perceptron.

Chương III XÂY DỰNG HỆ THỐNG TRÍCH CHỌN TÊN RIÊNG CHO VĂN BẢN TIẾNG VIỆT

Mô ̣t hê ̣ thống trích chọn tên riêng trong tiếng Viê ̣t nếu ra đời sẽ góp phần quan tro ̣ng trong xử lý tiếng Viê ̣t và hiểu các văn bản tiếng Viê ̣t . Tuy rằng trích chọn tên riêng là một bài toán cơ bản tr ong trích cho ̣n thông tin và xử lý ngôn ngữ tự nhiên nhưng đối với tiếng Viê ̣t thì đây la ̣i là mô ̣t bài toán tương đối mới . Mă ̣c dù có những khó khăn do đặc thù của tiếng Việt và tính chất tiên phong trong lĩnh vực nghiên cứu này, những thử nghiê ̣m ban đầu của tôi cho tiếng Viê ̣t cũng đã đa ̣t được những kết quả rất đáng khích lê ̣.

III.1 Môi trường thực nghiệm

Phần cứng

Máy Pentium 1.73GHz, chip 798 MHz, Ram 448 MB

Phần mềm

Hê ̣ thống trích chọn tên riêng cho tiếng Viê ̣t của tôi được xây dựng trên nền của Framework CRF++ là mô ̣t Framework cho các bài t oán gán nhãn d ữ liệu dữ liê ̣u da ̣ng chuỗi . CRF++ được thiết kế để áp dụng cho các bài toán trích chọn tên riêng, trích chọn thông tin và Text chunking. Đây là mô ̣t công cu ̣ mã nguồn mở đươ ̣c phát triển bởi Taku Kodu (http://crfpp.sourceforge.net). Công cụ này cho phép thực hiện với cả hai thuật toán CRF và perceptron.

Dữ liê ̣u thực nghiê ̣m

Dữ liê ̣u cho thực nghiê ̣m gồm 260 bài báo lĩnh vực kinh doanh (khoảng gần 6400 câu) lấy từ nguồn http://www.vnexpress.net.

Dữ liê ̣u ban đầu được cho qua bô ̣ tiền xử lý để lo ̣c bỏ các thẻ HTML và chuyển từ da ̣ng mã hóa UTF -8 sang tiếng Viê ̣t không dấu mã hóa da ̣ng Telex . Sau đó dữ liê ̣u được phân tách từ và gán nhãn bằng tay để phục vụ cho quá trình thực nghiê ̣m.

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

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 ,

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 72)

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

(92 trang)