Tải bản đầy đủ (.pdf) (73 trang)

nhận dạng thực thể trong văn bản tiếng việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 73 trang )

ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI





Nguyễn Bá Đạt


NHẬN DẠNG THỰC THỂ
TRONG VĂN BẢN TIẾNG VIỆT



KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY

Ngành: Công Nghệ Thông Tin



Hà Nội – 2009
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI




Nguyễn Bá Đạt

NHẬN DẠNG THỰC THỂ


TRONG VĂN BẢN TIẾNG VIỆT


KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY


Ngành: Công Nghệ Thông Tin
GV hướng dẫn: TS. Phạm Bảo Sơn




Hà Nội – 2009
Nhận dạng thực thể trong văn bản Tiếng Việt Nguyễn Bá Đạt


i


Lời mở đầu
Bài toán nhận dạng thực thể trong văn bản là bài toán khá cơ bản và quan trọng trong
nhóm các bài toán rút trích thông tin. Nó có nhiệm vụ tìm kiếm và phân loại các thực
thể như: thực thể chỉ người, thực thể chỉ tổ chức, thực thể chỉ địa điểm v.v… Trong
khóa luận này, chúng tôi giới thiệu một hệ thống nhận dạng thực thể trong văn bản
tiếng Việt được phát triển trên nguồn mở GATE (General Architecture for Text
Engineering), với kết quả khá khả quan: F-measure – 82.03%. Toàn bộ hệ thống và
những tài liệu liên quan gồm: định nghĩa thực thể, cách phân loại thực thể và một tập
dữ liệu được gán nhãn chuẩn sẽ được mở cho cộng động sử dụng và phát triển.

Nhận dạng thực thể trong văn bản Tiếng Việt Nguyễn Bá Đạt



ii


Lời cảm ơn
Trước tiên, em xin gửi lời cảm ơn sâu sắc nhất đến thầy TS. Phạm Bảo Sơn, người đã
không quản vất vả hướng dẫn em trong suốt thời gian làm khóa luận tốt nghiệp vừa
qua. Em cũng xin chân thành cảm ơn thầy TS. Bùi Thế Duy đã luôn chỉ bảo mỗi khi
em có những vấn đề vướng mắc.
Em xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong Trường Đại Học
Công Nghệ đã tận tình dạy dỗ em suốt bốn năm học qua.
Tôi xin chân thành cảm ơn đề tài “Nghiên cứu phát triển một số sản phẩm thiết
yếu về xử lý tiếng nói và văn bản tiếng Việt”, mã số KC01.01/06-10 đã hỗ trợ kinh phí
và dữ liệu để tôi có thể hoàn thành khóa luận này.
Con xin cảm ơn bố, mẹ và gia đình đã luôn bên con, cho con động lực để làm
việc tốt hơn. Cảm ơn bé Ngân đã luôn ở bên và động viên tớ. Cảm ơn tất cả bạn bè đã
luôn sát cánh cùng tôi.

Hà Nội, ngày 20 tháng 5 năm 2009
Nguyễn Bá Đạt

Nhận dạng thực thể trong văn bản Tiếng Việt Nguyễn Bá Đạt


iii


Mục lục


Lời mở đầu i
Lời cảm ơn ii
Mục lục iii
Danh sách hình vẽ v
Danh sách bảng vi
Chương 1 Giới thiệu 1
Chương 2 Các hướng tiếp cận cho bài toán nhận dạng thực thể 4
2.1 Hướng tiếp cận sử dụng hệ luật cho bài toán nhận dạng thực thể 5
2.2 Hướng tiếp cận sử dụng các phương pháp học máy cho bài toán nhận dạng thực thể 7
2.3 Hướng tiếp cận lai 10
Chương 3 Giới thiệu GATE 11
3.1 Tổng quan về GATE 11
3.2 Những khái niệm trong khung làm việc GATE 13
3.3 Bộ từ điển (Gazetteers) 14
3.4 Bộ luật JAPE 15
3.4.1 Mệnh đề trái (LHS) 16
3.4.2 Thành phần thay thế (Macros) 17
3.4.3 Mệnh đề phải (RHS) 18
3.4.4 Sử dụng đoạn mã Java trong JAPE 19
3.4.5 Một vài lựa chọn khi viết luật 20
3.5 Tạo thêm thành phần tích hợp trên khung làm việc GATE 22
3.6 Tạo ứng dụng trên GATE 25
3.7 Các công cụ quản lý chất lượng 25
3.7.1 Công cụ đánh giá độ tương đồng khi gán nhãn hai văn bản (Annotation Diff) 26
Nhận dạng thực thể trong văn bản Tiếng Việt Nguyễn Bá Đạt


iv



3.7.2 Công cụ đánh giá chất lượng của hệ thống (Corpus Benchmark tool) 26
Chương 4 Nhận dạng thực thể trong văn bản tiếng Việt 28
4.1 Định nghĩa thực thể, các loại thực thể và cách phân biệt các loại thực thể 29
4.1.1 Các khái niệm cơ bản 29
4.1.1.1 Định nghĩa thực thể và tên thực thể 29
4.1.1.2 Các loại thực thể được nhận dạng 29
4.1.2 Quy tắc nhận dạng thực thể 30
4.2 Chuẩn bị tập dữ liệu 30
4.3 Xây dựng hệ thống nhận dạng thực thể trong văn bản tiếng Việt 32
4.3.1 Bộ tách từ và bộ gán nhãn từ loại 33
4.3.2 Bộ từ điển 35
4.3.3 Bộ luật 37
4.3.3.1 Chuẩn hóa tập nhãn Lookup 38
4.3.3.2 Tạo nhãn “NamePhrase” 38
4.3.3.3 Nhận dạng thực thể chỉ công trình <Facility> 39
4.3.3.4 Nhận dạng thực thể chỉ địa điểm <Location> và thực thể thuộc về quốc gia <Nationality> . 39
4.3.3.5 Nhận dạng thực thể chỉ tổ chức <Organization> 41
4.3.3.6 Nhận dạng thực thể chỉ các tổ chức tôn giáo <Religion> 41
4.3.3.7 Nhận dạng các thực thể chỉ người <Person > 42
4.3.3.8 Sử dụng văn cảnh và quá trình nhận dạng thông minh 42
Chương 5 Kết quả thực nghiệm và phân tích lỗi 48
5.1 Các bước tiến hành thực nghiệm 48
5.2 Kết quả thực nghiệm 48
5.3 Phân tích lỗi 51
Chương 6 Tổng kết và hướng phát triển 54
Tài liệu tham khảo 55
Phụ lục A. Annotation Guideline. 58
Phụ lục B. Bảng nhãn từ loại tiếng Việt 63
Nhận dạng thực thể trong văn bản Tiếng Việt Nguyễn Bá Đạt



v


Danh sách hình vẽ

Hình 2.1 - Kết quả cho 10 lần thực nghiệm của Nguyễn Cẩm Tú (Nguyễn 2005) 9
Hình 3.1 - Kiến trúc tổng quát của GATE 12
Hình 3.2 - Giao diện thêm một thành phần tích hợp vào GATE. 24
Hình 3.3 - Chọn các thành phần cho ứng dụng GATE 25
Hình 3.4 - Giao diện của Annotation Diff 27
Hình 3.5 - Giao diện của Corpus Benchmark tool 27
Hình 4.1 - Mô hình các bước phát triển của hệ thống 31
Hình 4.2 - Mô tả chi tiết hệ thống nhận dạng thực thể trong văn bản tiếng Việt 32
Hình 4.3 - Mô tả kết quả nhận dạng của một trường hợp nhập nhằng giữa Person và Nationality 43
Hình 4.4 – Một ví dụ cho quá trình nhận dạng thông minh 45
Hình 4.5 - Trường hợp hệ thống nhận dạng một dãy các thực thể cạnh nhau 46
Nhận dạng thực thể trong văn bản Tiếng Việt Nguyễn Bá Đạt


vi


Danh sách bảng

Bảng 3.1 – Minh họa về nhãn (annotation) 14
Bảng 5.1 – Kết quả nhận dạng trên tập huấn luyện 49
Bảng 5.2 – Bảng kết quả nhận dạng trên tập kiểm tra 49
Bảng 5.3 – Kết quả nhận dạng trên tập kiểm tra với tiêu chí “lỏng” ( lenient evaluation) 50
Bảng 5.4 – Kết quả thực nghiệm của một số hệ thống nhận dạng thực thể trong văn bản tiếng Việt 51

Chương 1. Giới thiệu bài toán nhận dạng thực thể Nguyễn Bá Đạt




1


Chương 1

Giới thiệu
Với sự bùng nổ của nguồn dữ liệu trên Internet, những bài toán về xử lý thông tin như:
trích chọn thông tin, tóm tắt nội dung văn bản v.v… ra đời như một nhu cầu tất yếu.
Bài toán nhận dạng thực thể là một bài toán khá cơ bản trong nhóm các bài toán trích
chọn thông tin. Nó có nhiệm vụ tìm kiếm và rút ra những thông tin liên quan đến thực
thể (một đối tượng hoặc một tập hợp đối tượng của thế giới tự nhiên) trong văn bản,
thông thường là loại thực thể. Có thể tùy theo từng bài toán, từng lĩnh vực cụ thể,
người ta đưa ra danh sách những loại thực thể được nhận dạng khác nhau. Các hệ
thống nhận dạng thực thể trong văn bản (Cao 2007, Mansouri 2008) thường nhận một
số loại thực thể:
Thực thể chỉ người (Person).
Thực thể chỉ tổ chức (Organization).
Thực thể chỉ địa điểm (Location).
Thực thể chỉ ngày (Date).
Thực thể chỉ thời gian (Time).
Thực thể chỉ các đơn vị tiền tệ (Money).
Thực thể chỉ phần trăm (Percent).
Trong đó, loại thực thể chỉ ngày (Date), thực thể chỉ thời gian (Time), thực thể chỉ các
đơn vị tiền tệ (Money), thực thể chỉ phần trăm (Percent) thường ít mang tính nhập
nhằng, không khó để nhận dạng. Ngoài ra tùy từng lĩnh vực, người ta có thể chú ý

Chương 1. Giới thiệu bài toán nhận dạng thực thể Nguyễn Bá Đạt




2


thêm vào những loại thực thể khác đặc thù. Ví dụ hệ thống nhận dạng thực thể trong
văn bản với lĩnh vực y tế (Phạm 2007) sẽ nhận những thực thể chỉ tên thuốc, hoặc các
loại bệnh v.v… như những loại thực thể chính.
Có ba hướng tiếp cận chính cho bài toán nhận dạng thực thể trong văn bản:
hướng tiếp cận sử dụng hệ luật được xây dựng bởi chuyên gia (Maynard 2001, Cao
2007), hướng tiếp cận sử dụng các phương pháp học máy (Mansouri 2008) và hướng
tiếp cận lai (Fang 2002). Tuy mang tính tự động cao, nhưng các hướng tiếp cận sử
dụng các phương pháp học máy và hướng tiếp cận lai đòi hỏi cần phải có một tập dữ
liệu đã được gán nhãn (annotated corpus) đủ lớn cho quá trình huấn luyện. Trong khi
đó, hướng tiếp cận sử dụng hệ luật được xây dựng bởi chuyên gia lại không yêu cầu
điều này, hệ thống có thể hoạt động ngay khi hệ luật được hình thành.
Là một bài toán khá quan trọng và cơ bản nhưng hiện nay vẫn chưa có nhiều
nghiên cứu về bài toán nhận dạng thực thể trong văn bản đối với tiếng Việt. Hơn nữa
những hệ thống hiện thời không phải là nguồn mở nên rất khó để tiếp cận sử dụng và
phát triển (Nguyễn 2005, Cao 2007). Chính vì vậy chúng tôi quyết định xây dựng một
hệ thống nhận dạng thực thể sử dụng hệ luật cho văn bản tiếng Việt trên nguồn mở của
khung làm việc GATE (General Architecture for Text Engineering)
1
. Toàn bộ hệ
thống sẽ được mở cho cộng đồng sử dụng và phát triển. Song song với việc phát triển
hệ thống, chúng tôi cũng xây dựng một bộ tài liệu bao gồm: định nghĩa các thực thể,
các loại thực thể, cùng với một tập dữ liệu được gán nhãn chuẩn (corpus) cho bài toán

nhận dạng thực thể trong văn bản tiếng Việt.



1
Website chính thức của GATE:
Chương 1. Giới thiệu bài toán nhận dạng thực thể Nguyễn Bá Đạt




3


Phần còn lại của khóa luận được chia thành 5 chương:
Chương 2: Chúng tôi giới thiệu về những hướng tiếp cận cho bài toán nhận
dạng thực thể trên thế giới, cũng như những công trình nghiên cứu đối với tiếng
Việt.
Chương 3: Chúng tôi giới thiệu một cách tổng quan về khung làm việc GATE,
và cách xây dựng một hệ thống tích hợp (Plugin) trong GATE.
Chương 4: Chúng tôi mô tả chi tiết hệ thống nhận dạng thực thể trong văn bản
tiếng Việt được xây dựng trên khung làm việc GATE.
Chương 5: Chúng tôi đưa ra những kết quả thực nghiệm và phân tích những lỗi
vẫn còn tồn tại.
Chương 6: Chúng tôi đưa ra những kết luận về hệ thống và hướng phát triển hệ
thống trong tương lai.
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt


4



Chương 2

Các hướng tiếp cận cho
bài toán nhận dạng thực thể
Cũng như các bài toán khác trong lĩnh vực xử lý ngôn ngữ tự nhiên như: bài toán phân
loại văn bản, bài toán dịch máy v.v… Bài toán nhận dạng thực thể trong văn bản cũng
được phát triển theo các hướng truyền thống đó là:
Hướng tiếp cận sử dụng hệ luật được xây dựng bởi chuyên gia (rule based) (để
thuận tiện, chúng tôi sẽ sử dụng cụm từ viết tắt “hướng tiếp cận sử dụng hệ
luật”).
Hướng tiếp cận sử dụng các phương pháp học máy (machine learning).
Hướng tiếp cận lai (hybrid system) giữa hai hướng tiếp cận trên.
Trong chương này, chúng tôi giới thiệu tổng quan về các hướng nghiên cứu cùng
những kết quả đã đạt được cho bài toán nhận dạng thực thể trong văn bản. Để thống
nhất, các hệ thống trong khuôn khổ của khóa luận được đánh giá sử dụng độ đo:
Precision, Recall và F-measure.
Precision = (N1 / N2) x 100%
Recall = (N1 / N3) x 100%
F-measure = 2 x (Precision x Recall ) / (Precision + Recall) x 100%
Trong đó:
N1: Số thực thể được nhận dạng chính xác.
N2: Tổng số thực thể được nhận ra.
N3: Số thực thể thực tế.
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt


5



2.1 Hướng tiếp cận sử dụng hệ luật cho bài toán nhận dạng thực
thể
Sử dụng chuyên gia xây dựng hệ luật là phương pháp truyền thống, có thể nói là được
áp dụng sớm nhất trong các bài toán xử lý ngôn ngữ tự nhiên nói chung và bài toán
nhận dạng thực thể trong văn bản nói riêng. Hệ luật là một tập hợp các luật do con
người đặt ra nhằm những mục đích nhất định, ở đây là việc nhận dạng các thực thể
trong văn bản. Một hệ thống nhận dạng thực thể sử dụng hệ luật thông thường sẽ có
các các thành phần chính như: từ loại (danh từ, động từ v.v…), ngữ cảnh (từ đứng
trước, từ đứng sau v.v…) và một số thuộc tính (viết hoa, viết thường v.v…) kết hợp
với một bộ từ điển để viết thành các luật (Budi 2003). Ví dụ với câu sau đây:
“President Bush said Monday‟s talks will include discussion on security, a
timetable for U.S forces to leave Iraq.”
Trong ví dụ này từ “Bush” đứng sau từ “President” sẽ được nhận là một tên người
(Person), “Iraq” đứng sau động từ “leave” sẽ được nhận là tên chỉ địa điểm (Location).
Với ý tưởng tương tự, Iwanska sử dụng các kiểu từ điển chuyên biệt (gazetteers)
(Iwanska 1995), Morgan sử dụng một bộ phân tích ngôn ngữ ở mức độ cao (kết hợp
giữa sự phân tích cú pháp, phân tích từ loại và ngữ cảnh) nhằm tăng hiệu quả cho hệ
thống nhận dạng thực thể (Morgan 1995).
Có lẽ một trong những ưu điểm lớn nhất của hướng tiếp cận sử dụng hệ luật so
với hướng tiếp cận sử dụng các phương pháp học máy là hướng tiếp cận sử dụng hệ
luật không cần một tập dữ liệu đã được gán nhãn. Tức là hệ thống có thể hoạt động và
thu được kết quả ngay khi hình thành các luật. Với một luật đơn giản:
Mr + <Person> - trong tiếng anh
hay: “ông” + tên người (Person) – trong tiếng Việt
cũng có thể nhận ra một số lượng lớn các thực thể trong văn bản. Bởi vậy ngay từ giai
đoạn đầu xây dựng tập dữ liệu được gán nhãn cho bài toán nhận dạng thực thể trong
văn bản tiếng Việt, chúng tôi đã tiến hành song song việc phát triển hệ thống luật và
gán nhãn cho tập dữ liệu. Hệ thống sử dụng hệ luật chạy và nhận dạng thực thể tự
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt



6


động, sau đó được kiểm tra và chuẩn hóa bằng tay. Quá trình kiểm tra mang lại những
kinh nghiệm để chúng tôi có thể cải tiến bộ luật hoàn thiện hơn.
Tuy nhiên việc xây dựng một hệ thống luật đạt kết quả cao thường rất khó
khăn, mất nhiều thời gian và công sức, đặc biệt khi xây dựng hệ thống từ đầu. Trên thế
giới đã có khá nhiều hệ thống nhận dạng thực thể đạt hiệu quả cao, nhưng hầu hết
chúng không được xây dựng trên nền nguồn mở, và rất khó khăn để tiếp cận được với
những hệ thống này. Chính vì vậy, phải mãi đến khi GATE – một hệ thống được xây
dựng trên nguồn mở với bộ luật JAPE ra đời như một khung nền, các nghiên cứu về
hướng tiếp cận sử dụng hệ luật với bài toán nhận dạng thực thể trong văn bản mới thực
sự phát triển và thu được những kết quả khá khả quan. Maynard giới thiệu hệ thống
MUSE (Multi source entity finder) được phát triển trên GATE có độ thích ứng cao, dễ
dàng thay đổi khi chuyển sang một lĩnh vực mới. Người dùng có thể chọn bộ luật
(grammar) cũng như bộ từ điển (gazetter) cho những lĩnh vực khác nhau (Maynard
2001). Kết quả thu được khá khả quan – F-measure khoảng 93 ~ 94 % với các loại tên:
“Entity (organization, person, location), Time(date, time), Number (money, percent),
Address (email, url, telephone, ip) và Identifier”. Tạm thời việc chọn hay chuyển đổi
các phần của hệ thống được thực hiện bằng tay, tuy nhiên bài báo cũng đưa ra ý tưởng
phát triển hệ thống để có thể tự động chọn các bộ luật và bộ từ điển tương ứng với
từng lĩnh vực.
Một số nghiên cứu khác tái sử dụng các luật Jape, thay đổi và chỉnh sửa để tạo
ra những mô hình khác nhau cho bài toán nhận dạng thực thể trong văn bản với nhiều
ngôn ngữ và lĩnh vực (Pastra 2002, Maynard 2003) đã chứng minh tính hiệu dụng của
GATE và hệ thống luật JAPE.
Đối với tiếng Việt, có thể nói hệ thống VN-KIM IE là hệ thống đầu tiên có sử
dụng bộ luật JAPE trong khung làm việc GATE(Cao 2007). Chức năng chính của bộ

VN-KIM IE là nhận biết và chú thích tự động cho các thực thể có tên trong trang web
tiếng Việt. Quá trình rút trích thông tin của VN-KIM IE được thực hiện qua các bước:
Quy chuẩn các văn bản trên web về một loại mã tiếng Việt.
Trích ra các khối văn bản mang thông tin chính.
Gán nhãn từ loại cho văn bản.
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt


7


Nhận dạng các thực thể và xử lý các trường hợp nhập nhằng.
Với tập dữ liệu thu thập từ các báo điện tử phổ biến như: Tuổi trẻ, Người lao động,
Vnexpress v.v… VN-KIM IE đưa ra kết quả khá khả quan, F-measure đạt được trên
80% với các loại nhãn: “organization, location, person, date, time, money, percent
expression”.
2.2 Hướng tiếp cận sử dụng các phương pháp học máy cho bài
toán nhận dạng thực thể
Các phương pháp học máy như: máy vector hỗ trợ (SVM), cây quyết định, mô hình
markov ẩn, CRF v.v… thường xuyên được áp dụng và thu được kết quả khá cao trong
các bài toán về xử lý ngôn ngữ tự nhiên. Với hệ thống nhận dạng thực thể trong văn
bản sử dụng các phương pháp học máy, vấn đề nhận dạng thực thể (NER – Named
Entities Recognition) được chuyển đối thành bài toán phân loại. Đầu tiên sử dụng mô
hình IOB (Krishnan 2005) để gán nhãn (label) cho các từ theo tiêu chí:
I: nếu từ nằm trong cụm thực thể đang xét.
O: nếu từ nằm ngoài cụm thực thể đang xét.
B: nếu từ là vị trí bắt đầu cụm thực thể đang xét.
Sau đó dựa trên những thông tin về nhãn của từ thu được qua mô hình IOB, cùng với
từ loại và loại thực thể (named entity) v.v… để trích chọn đặc trưng làm đầu vào cho
các mô hình phân loại sử dụng các phương pháp học máy.

Thông thường có ba kiểu hệ thống sử dụng các phương pháp học máy là hệ
thống học có giám sát (Supervised), học không giám sát (Unsupervised) và học nửa
giám sát (Semisupervised). Tuy nhiên hệ thống sử dụng phương pháp học không giám
sát và học nửa giám sát ít được áp dụng cho bài toán nhận dạng thực thể, trên thế giới
cũng chỉ có một vài nghiên cứu về các hệ thống này, tiêu biểu như Collins giới thiệu
hệ thống sử dụng dữ liệu không gán nhãn (Collins 1999), Kim đưa ra hệ thống sử dụng
một từ điển tên riêng và tập dữ liệu không gán nhãn (Kim 2002).
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt


8


Hệ thống sử dụng phương pháp học có giám sát được sử dụng khá phổ biến
trong bài toán nhận dạng thực thể: Bikel giới thiệu hệ thống sử dụng Mô hình Markov
ẩn (Bikel - 1998), Borthwick giới thiệu hệ thống sử dụng Maximum Entropy
(Borthwick 1998), và Wu đưa ra hệ thống sử dụng phương pháp SVM cho bài toán
nhận dạng thực thể (Wu 2006). Mansouri có đưa ra một mô hình hệ thống khá mới: kết
hợp giữa hệ mờ (Fuzzy) và máy vector hỗ trợ (SVM). Thực thể được chia thành các
loại: ENAMEX (organization, person, location), TIMEX (date, time), NUMEX
(money, percent). Kết quả thu được cũng khá cao với F-measure khoảng 93%
(Mansouri 2008).
Tuy bài toán nhận dạng thực thể là một bài toán khá cơ bản trong trích chọn
thông tin và xử lý ngôn ngữ tự nhiên nhưng chưa có nhiều nghiên cứu về bài toán này
đối với tiếng Việt. Một trong những nghiên cứu đầu tiên là của tác giả Nguyễn với hệ
thống nhận dạng thực thể trong văn bản dựa trên mô hình Conditional Random Fields
(CRF) để xác định 8 loại thực thể: thực thể chỉ người (Person), thực thể chỉ địa danh
(Location), thực thể chỉ tổ chức (Organization), phần trăm, thời gian (Time), số
(Number), tiền tệ (Money) (Nguyễn 2005). Tác giả tiến hành thực nghiệm sử dụng
công cụ FlexCRFs

2
-measure trung bình khoảng 80 ~ 81%.



2
- website chính thức của công cụ FlexCRFs.
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt


9


0
20
40
60
80
100
1 2 3 4 5 6 7 8 9 10
Precision Recall F-measure

Hình 2.1 - Kết quả cho 10 lần thực nghiệm của Nguyễn Cẩm Tú (Nguyễn 2005)

Trong khi đó Phạm giới thiệu hệ thống nhận dạng thực thể trong văn bản tiếng
Việt sử dụng phương pháp máy vector hỗ trợ (SVM) (Phạm 2007). Tác giả mô tả khá
kỹ quá trình xây dựng hệ thống song song với quá trình xây dựng tập dữ liệu bởi ở
Việt Nam hiện nay vẫn chưa có một tập dữ liệu chuẩn cho bài toán nhận dạng thực thể.
Tác giả chọn phương pháp xây dựng hệ thống bán tự động. Một trăm văn bản đầu tiên
được gán nhãn thực thể bằng tay, sau đó sử dụng dữ liệu này làm tập huấn luyện cho

thuật toán SVM tạo nên một hệ thống nhận dạng thực thể. Dùng hệ thống này để gán
nhãn tự động cho thực thể trong một trăm văn bản tiếp theo, sau đó chỉnh sửa lại bằng
tay và tiếp tục huấn luyện lại để tạo ra một hệ thống tốt hơn. Quá trình này được lặp đi
lặp lại nhiều lần cho đến khi thu được một tập dữ liệu được gán nhãn đủ lớn. Thực tế
quá trình nửa tự động ở đây không có ý nghĩa về mặt cải thiện kết quả cuối cùng của
hệ thống, mà nó chỉ có ý nghĩa giúp giảm công sức của việc gán nhãn bằng tay cho
một dữ liệu khổng lồ. Kết quả của hệ thống thu được F-measure khoảng 83.56%.
Trong đó tác giả cũng nhấn mạnh đến tầm quan trọng của một bộ tách từ tốt trong hệ
Chương 2. Các hướng tiếp cận cho bài toán nhận dạng thực thể Nguyễn Bá Đạt


10


thống nhận dạng thực thể với văn bản tiếng Việt (điều này sẽ được chúng tôi phân tích
rõ hơn trong chương 4).
Hệ thống sử dụng các phương pháp học máy luôn có tính tự động hóa cao, tuy
nhiên một yêu cầu không thể thiếu để mô hình hoạt động hiệu quả là một tập dữ liệu
lớn đã được gán nhãn chuẩn. Điều này đòi hỏi một quá trình chuẩn bị dữ liệu khá công
phu và mất thời gian khi bắt đầu làm trên một ngôn ngữ mới hoặc một lĩnh vực mới.
2.3 Hướng tiếp cận lai
“Hệ thống lai” là hệ thống kết hợp giữa hai hướng tiếp cận truyền thống, là sử dụng hệ
luật và các phương pháp học máy, nhằm sử dụng được ưu điểm của cả hai hướng tiếp
cận này. Tuy chưa có một nghiên cứu nào về hướng tiếp cận này đối với tiếng Việt,
nhưng cũng đã có một vài nghiên cứu đạt kết quả khá khả quan với tiếng Trung Quốc
được xem là khá gần gũi với tiếng Việt. Sirhari và X. Fang cùng đưa ra những hệ
thống lai kết hợp giữa các phương pháp học máy và hệ luật (Sirhari 2000, Fang 2002).
Đặc biệt hệ thống của X. Fang đã thu được những kết quả khá cao cho văn bản tiếng
Trung. Tuy chưa có nhiều nghiên cứu về hướng tiếp cận này cho bài toán nhận dạng
thực thể trong văn bản tiếng Việt, nhưng với những kết quả khả quan như vậy có thể

nó sẽ là hướng quan trọng trong tương lai.

Chương 3. Giới thiệu GATE Nguyễn Bá Đạt


11


Chương 3

Giới thiệu GATE
GATE là một khung làm việc mã nguồn mở cho các bài toán xử lý văn bản do nhóm
giáo sư Cunningham thuộc trường đại học Sheffield – Anh phát triển (H. Cunningham
– 2002). Có thể download phiên bản mới nhất của GATE miễn phí tại địa chỉ:

3.1 Tổng quan về GATE
Mô hình kiến trúc tổng quát của GATE được mô tả trong hình 3.1
Trong đó:
Tầng hiển thị (IDE GUI Layer): có nhiệm vụ hiển thị giao diện trực quan tương
tác với người dùng.
Tầng ứng dụng (Application Layer): gồm các ứng dụng khác nhau như bộ
ANNIE (có sẵn trong GATE) hay các thành phần tích hợp (Plugin) mới v.v…
Tầng xử lý định dạng văn bản (Document Format layer): có nhiệm vụ xử lý cho
từng định dạng văn bản khác nhau.
Tầng dữ liệu (Corpus Layer): Kho tài liệu gồm nhiều thành phần khác nhau
như: tập dữ liệu (Corpus) chứa các văn bản (Document), nội dung văn bản
(Document Content) gồm các bộ nhãn (Annotation Set), nhãn (Annotation)
gồm các đặc trưng (Feature Map) (các khái niệm sẽ được giải thích rõ trong
mục 3.2).
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt



12


Tầng xử lý (Processing Layer): Gồm các thành phần xử lý khác nhau như: tách
từ (word segmentation), gán nhãn từ loại (POS), nhận dạng thực thể (NE) v.v…
Tầng nguồn ngôn ngữ (Language Resource Layer): gồm các kho dữ liệu khác
nhau như: tập từ điển (gazetteers), tập từ vựng (lexicon) v.v…
Tầng lưu trữ (DataStore Layer): Lưu trữ dữ liệu ở các dạng khác nhau.


Hình 3.1 - Kiến trúc tổng quát của GATE

Sở dĩ nói GATE như một khung làm việc chuẩn bởi nó có khá nhiều ưu điểm như:
Tính linh động: GATE có thể xử lý nhiều định dạng văn bản như: xml, pdf, text
v.v…
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt


13


Tính đầy đủ: GATE cung cấp đầy đủ các thành phần cơ bản
o Thành phần ngôn ngữ (Language Resources): có thể là kho dữ liệu
(corpus) hoặc các tài nguyên khác như: tập từ điển (gazetteers), tập từ
vựng (lexicons) hay một cấu trúc (ontology).
o Thành phần xử lý (Processing Resource): là một chương trình được cài
đặt thuật toán xử lý trên các thành phần ngôn ngữ.
o Thành phần thể hiện (Visual Resource): là chương trình phân tích các

văn bản đã được xử lý và thể hiện chúng lên giao diện tương tác với
người dùng.
Tính khả dụng: GATE cung cấp một thư viện API khá linh hoạt và đầy đủ cho
người lập trình Java. Ngoài ra ta có thể rất dễ dàng thêm vào những thành phần
tích hợp (Plugin) mới, bởi cơ chế dễ dàng “thêm và tích hợp” của GATE.
Tính dễ dùng: GATE cũng cung cấp một giao diện đồ họa (GUI) cho phép
người dùng có thể thao tác một cách dễ dàng và trực quan.
Tuy vẫn còn một vài hạn chế về giao diện chưa ổn định, quản lý lưu trữ chưa thực sự
tốt v.v… nhưng với những ưu điểm nổi bật kể trên, GATE đã trở thành một khung làm
việc khá hiệu quả trong lĩnh vực xử lý văn bản.
3.2 Những khái niệm trong khung làm việc GATE
Trước khi tìm hiểu sâu hơn về GATE, chúng tôi sẽ giới thiệu một vài khái niệm được
sử dụng trong khung làm việc GATE.
Tập dữ liệu (Corpora): là một tập hợp các văn bản (Document).
Văn bản (Document): gồm nội dung văn bản, nhãn (annotations) và đặc trưng
(features)
Nhãn (Annotation): là một cấu trúc gồm điểm đầu (startNode), điểm cuối
(endNode), khóa (Id), kiểu (Type) và một tập các đặc trưng (FeatureMap). Ví
dụ về nhãn được minh họa trong bảng 3.1.
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt


14


Tập đặc trưng (FeatureMap): là kiểu tập hợp (kiểu Map trong java) của các đặc
trưng.
Đặc trưng (Features): là cặp tên (kiểu String) và giá trị (kiểu Object).
Bảng 3.1 – Minh họa về nhãn (annotation)


3.3 Bộ từ điển (Gazetteers)
Bộ từ điển (gazetteers) gồm một tập hợp các từ điển nhỏ chứa các từ cùng loại theo
một nghĩa nào đó.
Ví dụ:
Theo tiêu chí loại tên ta có thể có các từ điển:
o từ điển tên người: Peter, Ronaldo, Jackson v.v…
o từ điển tên nước: England, American, Mexico v.v…
o từ điển tên thành phố: New York, LonDon, Paris v.v…
Theo tiêu chí vị trí của từ ta có thể có các từ điển:
o từ điển các thành phần đứng trước tên người: Mr, Mrs, Miss, Sir v.v…
o từ điển các thành phần đứng trước địa điểm: leave, live in v.v…
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt


15


Mỗi một từ điển trong bộ từ điển được khai báo trong file list.def với bộ giá trị: tên file
chứa từ điển, giá trị đặc trưng thứ nhất (majorType), giá trị đặc trưng thứ hai
(minorType – có thể có hoặc không). Ví dụ: person.lst:name_person:person – khai báo
một từ điển trong file person.lst với hai đặc trưng majorType = “name_person” và
minorType = “person”.
Khi bộ từ điển hoạt động trên văn bản, các nhãn (annotations) kiểu Lookup
(một kiểu nhãn mặc định trong GATE) được tạo ra bằng cách so khớp các từ trong bộ
từ điển với các xâu trong văn bản. Ví dụ: trong văn bản xuất hiện từ Peter có trong từ
điển person.lst như khai báo ở trên. Thì tại xâu “Peter” trong văn bản sẽ xuất hiện một
nhãn (annotation) mới kiểu Lookup với hai đặc trưng: majorType = “name_person” và
minorType = “person”. Các nhãn (annotation) Lookup này sẽ được sử dụng trong khi
viết các luật JAPE.
GATE cũng hỗ trợ một công cụ tạo, chỉnh sửa và quan sát gazetteer đó là Gaze.

3.4 Bộ luật JAPE
Bộ luật JAPE là thành phần cơ bản trong khung làm việc của GATE, cho phép người
dùng viết biểu thức chính quy trên nhãn (annotation) và tạo ra các nhãn mới trong văn
bản. Một bộ luật JAPE có thể bao gồm nhiều luật nhỏ (phases). Mỗi luật nhỏ (phase)
gồm các mẫu (pattern) và cách thực thi (action) khác nhau có dạng: LHS (left-hand-
side)  RHS (right-hand-side).
Ví dụ:
Rule: Person2
(
{Lookup.majorType == person }
):person


:person.Person = {kind = “Person”, rule = “Person gazetteer”}
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt


16


Khi một luật JAPE thực thi thì các luật nhỏ trong nó được thi hành một cách tuần tự,
từ trên xuống.
Mệnh đề trái (LHS) là các biểu thức chính quy trên nhãn (annotation). Trong
khi đó mệnh đề phải thể hiện hành động cần được thực thi khi mệnh đề trái được thỏa
mãn (so khớp).
3.4.1 Mệnh đề trái (LHS)
Mệnh đề trái (LHS) là một biểu thức của các mẫu (annotation pattern) và các phép
toán như “ *, ?, +, | ”
Các phép toán sử dụng trong mệnh đề trái
| : phép hoặc

*: phép lặp (không hoặc nhiều lần)
?: phép lặp không hoặc một lần
+: phép lặp một hoặc nhiều lần

Ví dụ cho một mệnh đề trái:
({Person} | {Location}) : name
Trong ví dụ này cứ nhãn (annotation) có kiểu (Type) là Person hoặc Location sẽ được
được gán là một mẫu (pattern) “name”. Vậy mẫu là gì? Ta có thể đưa ra khái niệm về
mẫu như sau: một mẫu (pattern) gồm một hoặc nhiều nhãn (annotation) thỏa mãn các
lựa chọn (có thể về kiểu nhãn (annotation Type), có thể về các đặc trưng (features)
v.v…).
Trong một mệnh đề trái, ta có thể nhận nhiều mẫu, các mẫu có thể bao hàm lẫn
nhau. Ví dụ:
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt


17


(
(
({Lookup.majorType == “jobtitle”}):job
)
{Person}
):person
Trong ví dụ trên một mệnh đề trái nhận ra hai mẫu (pattern): job và person, trong đó
mẫu job nằm trong mẫu person.
Các mẫu được gán trong mệnh đề trái sẽ được sử dụng trong mệnh đề phải (RHS).
3.4.2 Thành phần thay thế (Macros)
Thành phần thay thế (Macros) thường xuyên được sử dụng trong các mệnh đề trái. Nó

thay thế cho một tập các lệnh, giúp cho bộ luật đơn giản và rõ ràng hơn. Một thành
phần thay thế (Macros) có thể gọi một thành phần thay thế khác bên trong nó. Ngoài
ra, khi một thành phần thay thế đã được khai báo thì mọi luật trong bộ luật đều có thể
sử dụng nó mà không cần phải khai báo lại.
Ví dụ về thành thần thay thế (Macros) - khai báo thành phần thay thế NEWTITLE
Macro: NEWTITLE
(
{Title}
({Word.string == "."})?
({Title})?
({Word.string == "."})?
)


×