Tài liệu Khóa luận Nhận dạng thực thể trong văn bản tiếng việt: ĐẠ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....
73 trang |
Chia sẻ: haohao | Lượt xem: 1393 | Lượt tải: 3
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Nhận dạng thực thể trong văn bản tiếng việt, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠ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 ....................................................................... 39
4.3.3.4 Nhận dạng thực thể chỉ địa điểm và thực thể thuộc về quốc gia . 39
4.3.3.5 Nhận dạng thực thể chỉ tổ chức ................................................................... 41
4.3.3.6 Nhận dạng thực thể chỉ các tổ chức tôn giáo ...................................................... 41
4.3.3.7 Nhận dạng các thực thể chỉ người ........................................................................ 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 + - 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ụ FlexCRFs2
-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 == "."})?
)
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
18
Sử dụng NEWTITLE trong mệnh đề trái của luật TitlePerson.
Rule: TitlePerson
(
(NEWTITLE)
({Upper})
):name
-->
...
3.4.3 Mệnh đề phải (RHS)
Mệnh đề phải sử dụng các mẫu (pattern) được cung cấp bởi mệnh đề trái để thực thi
một mệnh lệnh nào đó, thông thường là tạo ra các nhãn (annotation) mới.
Ví dụ:
Rule: City
(
{Lookup.majorType == “name_city”}
):name
:name.Location = {kind="city", rule=„„Search in gazetters‟‟
Trong ví dụ trên, mệnh đề trái cung cấp cho mệnh đề phải các mẫu (pattern) là tên các
thành phố (tìm trong từ điển có majorType =“name_city”). Mệnh đề phải tạo ra các
nhãn mới (annotations) tương ứng với các mẫu (pattern) nhận được. Nhãn (annotation)
mới được tạo ra có kiểu là “Location” và hai đặc trưng (feature) là kind = “city” và
rule = “Search in gazetters”.
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
19
3.4.4 Sử dụng đoạn mã Java trong JAPE
Để tăng tính linh động và hiệu quả, bộ luật JAPE hỗ trợ chèn những đoạn mã JAVA
vào trong mệnh đề phải. Nhờ đó ngoài việc tạo ra các nhãn (annotations) mới, mệnh đề
phải còn có thể làm rất nhiều việc khác như: chèn thêm các đặc trưng (features), thay
đổi kiểu nhãn (Type) hay xóa các nhãn đã tồn tại v.v…
Ví dụ:
Rule: Person1
(
{Lookup.majorType == person }
):person
{
gate.AnnotationSet person = gate.AnnotationSet)bindings.get("person");
gate.Annotation personAnn = (gate.Annotation)person.iterator().next();
gate.FeatureMap features = Factory.newFeatureMap();
features.put("gender", personAnn.getFeatures().get("minorType"));
features.put("rule", "Person gazetteer");
outputAS.add(person.firstNode(), person.lastNode(), "Person",features);
}
Rule: Person2
(
{Lookup.majorType == person }
):person
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
20
:person.Person = {kind = “Person”, rule = “Person gazetteer”}
Để thấy định tính hiệu quả của các đoạn mã JAVA trong mệnh đề phải, ta so sánh hai
luật Person1 và Person2. Cả hai luật đều nhận từ mệnh đề trái các mẫu (pattern) thỏa
mãn nằm trong từ điển có “majorType = person”. Ở luật Person2 (không dùng mã
JAVA) người viết luật không thể sử dụng bất kỳ thông tin nào khác, vì thế việc tạo ra
các nhãn mới (annotations) không mang đầy đủ thông tin cần thiết. Trong khi đó luật
Person1 có thể sử dụng thêm nhiều thông tin khác như: các đặc trưng còn lại của mẫu
do vế trái cung cấp (ví dụ: “personAnn.getFeatures().get("minorType")”) và sử dụng
nó để tạo nên các nhãn mới mang nhiều thông tin hơn.
3.4.5 Một vài lựa chọn khi viết luật
Thành phần đầu tiên của mỗi luật (phase) JAPE luôn là các lựa chọn như:
Kiểu điều khiển (Control) để quản lý cách so khớp mẫu. Có 5 lựa chọn cho kiểu
điều khiển là “brill”, “all”, “first”, “once” và “appelt”
o “brill”: khi có nhiều hơn một luật cùng thỏa mãn cho một đoạn của văn
bản, thì tất cả các luật này đều được thực thi. Sau khi quá trình so khớp
(matching) diễn ra ở tất cả các luật thì điểm bắt đầu quá trình so khớp
tiếp theo sẽ là điểm kết thúc của luật được so khớp dài nhất trong quá
trình trước (longest matching).
o “all”: cũng giống như “brill” nó cho phép thực hiện nhiều luật trên cùng
một đoạn văn bản. Tuy nhiên có điểm khác biệt với “brill” đó là: điểm
bắt đầu quá trình so khớp tiếp theo là điểm bắt đầu của nhãn (annotation)
gần nhất sau nó.
o “first”: luật được thực hiện ngay khi quá trình so khớp đầu tiên được
thỏa mãn. Bởi vậy nó không thích hợp cho các luật sử dụng “*”, “+”,
“?”.
o “once”: chỉ có luật đầu tiên thỏa mãn quá trình so khớp được thực hiện
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
21
o “appelt”: chỉ một luật (rule) thỏa mãn quá trình so khớp và có độ thực thi
cao nhất được thực hiện. Độ thực thi của các luật được tính như sau:
Tất cả các luật cùng thỏa mãn so khớp từ vị trí X thì luật nào so
khớp được dài nhất (longest matching) sẽ có độ thực thi cao nhất.
Nếu có nhiều hơn một luật so khớp cùng một đoạn trong văn bản
thì luật nào được định nghĩa độ ưu tiên cao hơn sẽ có độ thực thi
cao hơn và được thi hành.
Nếu có hai hay nhiều luật so khớp cùng một đoạn trong văn bản
và có độ ưu tiên như nhau thì luật nào được định nghĩa sớm nhất
sẽ có độ thực thi cao nhất và được thi hành.
Kiểu gỡ rối (Debug): Khi kiểu gỡ rối được bật, kiểu điều khiển là “appelt” và
có nhiều hơn hai sự so khớp có thể xảy ra, sự xung đột sẽ được hiển thị cho
người dùng qua dòng thông báo trên màn hình.
Tập các nhãn đầu vào (Input Annotations): các nhãn (annotations) có kiểu
(Type) thuộc tập các nhãn đầu vào sẽ được sử dụng như là đầu vào cho các
mệnh đề trái (quá trình so khớp).
Ví dụ minh họa cho một luật JAPE:
Phase: Location
Input: Token SpaceToken Lookup
Options: control = appelt
Rule: Location
Priority: 25
(
({Lookup.majorType == “pre_loc”}
{SpaceToken})?
{Lookup.majorType == location}
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
22
):locName
-->
:locName.Location = {kind = "location", rule = "pre_loc + location"}
Rule: SearchGazetteers
Priority: 20
(
({Lookup.majorType == location}):loc
)
-->
:loc.Name = {kind = "location", rule=GazLocation}
Ví dụ trên đã sử dụng:
Tập các nhãn đầu vào gồm các nhãn có kiểu (Type): “Token”, “SpaceToken”,
“Lookup”.
Kiểu điều khiển: “appelt”
Luật (phase) gồm hai luật nhỏ (rule) đó là: Location với độ ưu tiên là 25 và
SearchGazetteers với độ ưu tiên là 20.
3.5 Tạo thêm thành phần tích hợp trên khung làm việc GATE
Một thành phần tích hợp (Plugin) có thể gồm ba loại: thành phần ngôn ngữ (Language
Resources), thành phần xử lý (processing Resource), thành phần thể hiện (Visual
Resource) (tham khảo khái niệm ở mục 3.1). Thành phần tích hợp được sử dụng để tạo
nên các ứng dụng trong GATE (mục 3.6). Ví dụ: hệ thống nhận dạng thực thể trong
văn bản tiếng Việt của chúng tôi gồm 3 thành phần tích hợp (mục 4.3):
Bộ tách từ và gán nhãn từ loại – Coltech.NLP.tokenizer.
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
23
Bộ từ điển – VNEgazetteer.
Bộ luật – VNEtransducer.
Ở đây với bài toán nhận dạng thực thể, tôi chỉ giới thiệu sâu về cách tạo một thành
phần xử lý (processing Resource).
Việc tạo ra một thành phần xử lý rất đơn giản, được thực hiện qua các bước:
Tạo lớp Plugin (tên thành phần xử lý) kế thừa (extends) lớp
AbstractProcessingResource và thể hiện (implements) lớp ProcessingResource.
Tạo file creole.xml khai báo thành phần xử lý mới. Ví dụ:
Coltech.NLP.tokenizer
Vtokenizer.jar
Vtokenizer
gate.Document
<PARAMETER NAME="annotationOutputSetName"
RUNTIME="true" OPTIONAL="true">
java.lang.String
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
24
Sau khi đã có thành phần tích hợp (Plugin), có hai cách để thêm thành phần này vào
khung làm việc của GATE.
Cách 1: đặt thư mục chứa toàn bộ thành phần tích hợp vào trong %GATE-
HOME%/plugins. Chạy lệnh “bin/ant plugins.build”, hệ thống GATE sẽ tự
động thêm thành phần tích hợp vào hệ thống.
Cách 2: Chọn File -> Manage CREOLE plugins -> Add new CREOLE
repository -> Select a directory và chọn thư mục chứa thành phần tích hợp mới
tạo (hình 3.2).
Như vậy, ta đã có một thành phần tích hợp mới sẵn sàng hoạt động trên khung làm
việc GATE.
Hình 3.2 - Giao diện thêm một thành phần tích hợp vào GATE.
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
25
Hình 3.3 - Chọn các thành phần cho ứng dụng GATE
3.6 Tạo ứng dụng trên GATE
Một ứng dụng (Application) trên GATE bao gồm một tập các thành phần tích hợp
(Plugin). Ta có thể chọn các thành phần phù hợp, hoặc loại bỏ những thành phần tích
hợp không cần thiết cho ứng dụng (hình 3.3). Chính nhờ cơ chế này, chúng tôi có thể
dễ dàng kết hợp sử dụng các thành phần tích hợp đã được xây dựng sẵn trong GATE
cùng với những thành phần tích hợp mới do chúng tôi xây dựng để tiết kiệm chi phí và
đạt hiệu quả cao hơn.
3.7 Các công cụ quản lý chất lượng
Khi phát triển một hệ thống, các công cụ quản lý chất lượng là rất cần thiết. Việc luôn
luôn có sự đánh giá chất lượng ngay từ giai đoạn xây dựng tập dữ liệu cho đến những
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
26
giai đoạn cuối cùng (đánh giá kết quả làm việc của hệ thống) giúp hệ thống luôn vận
hành tốt trong sự kiểm soát của người phát triển.
3.7.1 Công cụ đánh giá độ tương đồng khi gán nhãn hai văn bản
(Annotation Diff)
“Annotation Diff” cho phép người sử dụng so sánh hai văn bản được gán nhãn
(Annotated Document) trên từng loại nhãn (annotation). Điều này mang lại rất nhiều
lợi ích trong giai đoạn xây dựng tập dữ liệu. Bởi để mang tính khách quan, ta luôn
luôn phải có hai đội xây dựng tập dữ liệu độc lập và khi đó “Annotation Diff” sẽ giúp
so sánh những phần làm việc chung, để đi đến thống nhất tạo ra một tập dữ liệu chuẩn.
Trong ví dụ ở hình 3.4 là giao diện của “Annotation Diff” khi so sánh hai văn bản
doctest (Key Document) và doc (Respone Document) với kiểu nhãn (Annotation
Type) “Location”. Khi so sánh hai văn bản, những nhãn (annotation) giống nhau sẽ
được bỏ qua, những nhãn khác nhau sẽ được hiển thị lên giao diện đồ họa để người
dùng có thể dễ dàng quan sát được. Ngoài ra “Annotation Diff” cũng cung cấp ba
thông số đo độ chính xác cơ bản là “Recall, Precision và F-Measure”.
Tuy nhiên điểm hạn chế của “Annotation Diff” là chỉ so sánh được từng cặp
văn bản, và từng kiểu nhãn khác nhau.
3.7.2 Công cụ đánh giá chất lượng của hệ thống (Corpus Benchmark
tool)
Đây là công cụ cho phép người sử dụng đánh giá độ tương đồng của các tập dữ
liệu khác nhau như: tập dữ liệu được gán nhãn (annotated corpus) bằng tay, tập dữ liệu
được xử lý bởi hệ thống hiện hành, hay tập dữ liệu được xử lý bởi một hệ thống được
lưu trữ. Corpus Benchmark tool hoạt động cũng hoạt động tương tự như Annotation
Diff, nhưng là trên một tập văn bản và tất cả các nhãn. Giao diện của Corpus
Benchmark tool như hình 3.5.
Chương 3. Giới thiệu GATE Nguyễn Bá Đạt
27
Hình 3.4 - Giao diện của Annotation Diff
Hình 3.5 - Giao diện của Corpus Benchmark tool
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
28
Chương 4
Nhận dạng thực thể trong văn bản tiếng Việt
Cùng với sự phát triển của lĩnh vực xử lý ngôn ngữ tự nhiên cho tiếng Việt, bài toán
nhận dạng thực thể trong văn bản tiếng Việt đã hình thành và bắt đầu thu được những
kết quả khả quan. Một số hệ thống tiêu biểu như: 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) (Nguyễn 2005), hệ thống
nhận dạng thực thể sử dụng phương pháp máy vector hỗ trợ (SVM) (Phạm 2007), hệ
thống VN-KIM NE, nhận biết và chú thích tự động cho các thực thể (Cao 2007).
Tuy nhiên cho đến thời điểm này vẫn chưa có những quy chuẩn cho bài toán
nhận dạng thực thể trong văn bản tiếng Việt, ví dụ như:
Chưa có tập các loại nhãn chuẩn cho thực thể: Nguyễn đưa ra 8 loại nhãn cho
thực thể (Nguyễn 2005), Phạm đưa ra 22 loại nhãn (Phạm 2007), trong khi Cao
nhận diện 7 loại thực thể (Cao 2007).
Chưa có một khung làm việc chuẩn. Các hệ thống nhận dạng thực thể hiện nay
ở Việt Nam xây dựng trên nền mã nguồn đóng, và rất khó để cộng đồng có thể
tiếp cận sử dụng và phát triển.
Bởi 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ể trong văn
bản tiếng Việt bắt đầu từ việc định nghĩa các thực thể, các loại thực thể cho đến một
khung làm việc và tập dữ liệu được gán nhãn chuẩn. Hệ thống sẽ được xây dựng trên
khung làm việc GATE và được mở cho cộng đồng có thể sử dụng và phát triển.
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
29
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ể
Trước hết, chúng ta cần có những định nghĩa về thực thể, các loại thực thể được nhận
dạng và cách phân biệt các loại thực thể. Tham khảo các khái niệm này trong tiếng
Anh (Annotation Guideline for Named Entity Recognization) và các tài liệu tiếng Việt
(Mai 2008) liên quan, chúng tôi đưa ra các khái niệm cơ bản cho bài toán nhận dạng
thực thể trong văn bản tiếng Việt (tham khảo chi tiết tại phụ lục A).
4.1.1 Các khái niệm cơ bản
4.1.1.1 Định nghĩa thực thể và tên thực thể
Thực thể (entity): là một đối tượng hoặc một tập hợp đối tượng trong thế giới tự
nhiên.
Thực thể thể hiện trong các dạng :
o Tên riêng (name entity).
o Danh từ hoặc cụm danh từ chung (common noun, noun phrase).
o Đại từ (pronoun).
Trong khuôn khổ của khóa luận, để thuận tiện chúng tôi sử dụng cụm “nhận dạng thực
thể” để chỉ việc nhận dạng các thực thể có tên (thể hiện dưới dạng tên riêng).
4.1.1.2 Các loại thực thể được nhận dạng
o Person: Thực thể chỉ người
o Organization: Thực thể chỉ một tổ chức, một nhóm người được thành lập theo
một cấu trúc phân cấp nào đó.
o Facility: Thực thể chỉ những thực thể do con người tạo ra thường là các thực thể
xây dựng và kiến trúc, như sân vận động, bảo tàng, nhà ga v.v…
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
30
o Location: Thực thể chỉ những thực thể địa lý như vùng lãnh thổ, địa danh, sông,
suối v.v…
o Nationality: Thực thể chỉ quốc tịch người, hoặc thuộc về quốc gia.
o Religion: Thực thể chỉ các tổ chức tôn giáo.
4.1.2 Quy tắc nhận dạng thực thể
Khi nhận dạng thực thể trong văn bản ta phải đảm bảo quy tắc: không có các tên lồng
nhau. Một tên mới chỉ được nhận khi tên cũ đã kết thúc (không bao giờ có hai tên có
phần chung). Trong trường hợp có sự lồng nhau giữa các tên, chỉ một tên dài nhất
được nhận (longest matching – dài thì thắng).
Ví dụ trong câu:
“Phòng Giáo dục huyện Mỹ Đức đang họp giao ban.”
ta chỉ nhận “Phòng Giáo dục huyện Mỹ Đức” là thực thể chỉ các tổ chức
(Organization) và bỏ qua thực thể chỉ địa điểm “Mỹ Đức”.
4.2 Chuẩn bị tập dữ liệu
Tuy không cần thiết có một tập dữ liệu được gán nhãn lớn để dùng trong giai đoạn
huấn luyện như những hệ thống sử dụng các phương pháp học máy, nhưng với mục
đích xây dựng thêm một bộ dữ liệu chuẩn, cùng với những khó khăn trong vấn đề nhập
nhằng ngôn ngữ khi viết luật, chúng tôi quyết định xây dựng song song hệ thống nhận
dạng thực thể và tập dữ liệu được gán nhãn chuẩn, trong đó tập văn bản ban đầu được
lấy từ đề 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. Quá trình phát triển đồng thời hai thành
phần như vậy mang lại rất nhiều lợi ích như:
Tiết kiệm thời gian và công sức so với việc hoàn toàn gán nhãn bằng tay cho
tập dữ liệu.
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
31
Quá trình chuẩn hóa lại tập thực thể được nhận sai của hệ thống đem lại cho
chúng tôi nhiều kinh nghiệm để hoàn thiện bộ luật cũng như bộ từ điển trong hệ
thống.
Mô hình của hệ thống được mô tả quá trình phát triển của hệ thống trong hình 4.1.
Hình 4.1 - Mô hình các bước phát triển của hệ thống
Đầu tiên chúng tôi xây dựng rất nhanh một hệ thống nhận dạng thực thể sử
dụng bộ luật Jape cho văn bản tiếng Việt có thể dùng được. Sau khi hệ thống đã hình
thành, chúng tôi sử dụng nó để gán nhãn tự động cho văn bản (một tập văn bản). Tập
văn bản được gán nhãn tự động này còn mang nhiều lỗi, được chúng tôi chuẩn hóa
thành những văn bản được gán nhãn chuẩn và thêm nó vào tập dữ liệu (corpus). Tuy
đã tiết kiệm được khá nhiều thời gian và công sức nhờ mô hình gán nhãn tự động
nhưng việc chuẩn hóa lại cũng gặp phải một số khó khăn như:
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
32
Mang tính chủ quan, dễ mắc sai sót.
Nhiều trường hợp nhập nhằng rất khó để phân loại.
Chính vì những lý do trên, chúng tôi chia ra làm hai đội, gán nhãn lại độc lập với nhau.
Sau đó sử dụng bộ công cụ Coltech.NE.tool do nhóm tự xây dựng dựa trên các bộ
công cụ quản lý chất lượng của GATE (Annotation Diff, Corpus Benchmark tool) để
so khớp và thống nhất. Quá trình chuẩn hóa và phân tích lỗi giúp chúng tôi tiếp tục
hoàn thiện hệ thống nhận dạng thực thể. Các bước cứ được tiến hành như vậy cho đến
khi hệ thống nhận dạng thực thể đạt hiệu quả như mong muốn.
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
Tính hiệu quả của khung làm việc GATE cho bài toán nhận dạng thực thể đã được
chứng minh qua nhiều nghiên cứu (Maynard 2001, Cao 2007), bởi vậy chúng tôi quyết
định xây dựng hệ thống nhận dạng thực thể trong văn bản tiếng Việt như một thành
phần tích hợp (Plugin) trên GATE nhằm tận dụng những ưu điểm mà GATE mang lại.
Tham khảo kiến trúc của bộ ANNIE (một thành phần tích hợp có sẵn trong GATE)
chúng tôi đưa ra kiến trúc hệ thống như hình 4.2.
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
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
33
Hệ thống bao gồm 4 phần chính:
Bộ tách từ
Bộ gán nhãn từ loại
Bộ từ điển
Bộ luật
Ta có thể hình dung một cách tổng quan các bước hoạt động của hệ thống như sau:
trước tiên, văn bản được tách từ và gán nhãn từ loại. Sau đó bộ từ điển hoạt động tìm
ra một lớp các thực thể bằng phép so khớp (matching). Cuối cùng bộ luật nhận dạng
lại các thực thể, gán nhãn cho từng thực thể trong văn bản, và trả ra kết quả.
Để hiểu chi tiết hơn về hệ thống nhận dạng thực thể trong văn bản tiếng Việt
trên nền GATE, ta sẽ đi sâu tìm hiểu từng bộ phận của hệ thống.
4.3.1 Bộ tách từ và bộ gán nhãn từ loại
Một nét đặc trưng rất khác biệt của tiếng Việt so với tiếng Anh đó là vấn đề tách từ
(word segmentation). Trong tiếng Anh các từ được phân biệt bởi dấu trống, tuy nhiên
từ trong tiếng Việt thì không như vậy. Một từ có thể bao gồm một, hai, ba hoặc nhiều
hơn các tiếng. Một tiếng có thể liên kết với từ đứng trước nó, hoặc đứng sau nó để tạo
thành từ. Ví dụ như câu:
“Học sinh học sinh học.”
Có thể tách câu trên như sau:
“Học_sinh học sinh_học.”
hay
“Học sinh_học sinh_học.”
Như vậy tiếng “sinh” có thể kết hợp với tiếng “Học” đứng trước nó để tạo thành từ
“Học sinh”, hay nó còn có thể kết hợp với tiếng “học” đứng sau nó để tạo thành từ
“sinh_học”.
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
34
Quay trở lại bài toán nhận dạng thực thể trong văn bản tiếng Việt, đương nhiên
thực thể phải là từ, hoặc cụm từ mang ý nghĩa. Chúng ta không thể nhận một cụm các
tiếng không mang một ý nghĩa gì làm thực thể. Vậy yêu cầu đầu tiên của giai đoạn tiền
xử lý cho bài toán nhận dạng thực thể là bài toán tách từ trong tiếng Việt. Một hệ
thống nhận dạng thực thể chỉ có thể tốt khi có một bộ tách từ hoạt động tốt. Lấy câu
sau đây làm ví dụ:
“Anh Hùng lái xe trên đại lộ 5.”
Nếu bộ tách từ hoạt động chính xác, câu đó sẽ được tách thành:
“Anh Hùng lái_xe trên đại_lộ 5.”
Từ “Hùng” đứng sau tiền tố nhận dạng “Anh” sẽ được nhận là thực thể chỉ người
và chính xác. Tuy nhiên nếu bộ tách từ hoạt động không chính xác và câu
được tách thành:
“Anh_Hùng lái_xe trên đại_lộ 5.”
Khi đó trong tập các từ hoàn toàn không có từ “Hùng” và việc nhận ra “Hùng” là thực
thể tên người sẽ trở nên rất khó khăn.
Ngoài yêu cầu bắt buộc về một bộ tách từ, chúng tôi còn sử dụng thêm bộ gán
nhãn từ loại trong giai đoạn tiền xử lý của hệ thống, nhằm cung cấp được nhiều thống
tin cho các giai đoạn xử lý tiếp theo. Chúng tôi đóng gói bộ WS&PT.2IN1.4VN (Phạm
2009) thành plugin Coltech.NLP.tokenizer trong khung làm việc GATE. Nhờ đó bộ
tách từ và gán nhãn từ loại có thể dễ dàng thay đổi, cải tiến mà không làm ảnh hưởng
đến kiến trúc của hệ thống.
Các văn bản sau khi được xử lý bởi Coltech.NLP.tokenizer sẽ trở thành văn bản
ở định dạng của GATE tức là gồm: nội dung văn bản, tập các nhãn (annotation) và tập
các đặc trưng (tham khảo 3.2). Ở đây chúng tôi chỉ tạo ra các nhãn “Word” và “Split”
Mỗi nhãn (annotation) “Word” được tạo mới trên một từ gồm một vài đặc trưng
như:
o Từ loại (POS): là từ loại của từ. Ví dụ: Np, Nn v.v…(tham khảo tại phụ
lục B).
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
35
o Nội dung (string): là xâu thể hiện từ. Ví dụ: “học sinh”, “đại ca” v.v…
o Viết hoa (upper): nếu ký tự đầu tiên của từ viết hoa thì upper = “true”.
Ngược lại upper = “false”.
o Ngoài ra còn một số đặc trưng như: kind, nation v.v…để giúp ích cho
quá trình viết luật.
Mỗi nhãn “Split” được tạo mới trên một dấu tách câu như: “.”, “?”, “!”, cũng có
những đặc trưng tương tự như nhãn “Word”.
Sau khi Coltech.NLP.tokenizer hoàn thành, chúng tôi bước vào xây dựng thành phần
xử lý chính trong hệ thống: gồm hai nguồn xử lý (Processing Resource) VNEgazetteer
như một bộ từ điển, và VNEtransducer như một bộ luật. Hai nguồn xử lý này được xây
dựng và phát triển song song cùng với quá trình tạo tập dữ liệu được gán nhãn
(Annotated corpus).
4.3.2 Bộ từ điển
Bộ từ điển (VNEgazetteer) được tạo từ nhiều từ điển với các tiêu chí khác nhau, nhằm
nhận dạng được một lớp các thực thể nhờ quá trình so khớp, cũng như cung cấp những
thông tin cần thiết cho quá trình nhận dạng trong bộ luật. Mỗi từ điển gồm các từ mang
cùng một ý nghĩa nào đó, có thể là chứa các thực thể cùng loại như: tên người, tên tổ
chức v.v… hay chứa các từ, cụm từ đóng những vai trò giống nhau về mặt cú pháp,
ngữ nghĩa, hoặc chỉ đơn giản là để sử dụng cho một luật nào đó trong bộ luật. Bộ từ
điển được chúng tôi xây dựng nhờ những kinh nghiệm có được trong quá trình gán
nhãn bằng tay, và vẫn đang được tiếp tục phát triển.
Có thể chia bộ từ điển thành những nhóm sau:
Những từ điển chứa các tên các thực thể được nhận dạng
o Từ điển tên người:
Chứa các tên đầy đủ: Hồ Chí Minh, Nguyễn Tấn Dũng v.v…
Chứa các tên viết tắt: Sơn, Duy, Đại, Đạt v.v…
Chứa các tên đặc biệt: Bà Trưng, Bà Triệu v.v…
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
36
o Từ điển tên tổ chức: chứa tên các tổ chức như OPEC, G8, G7 v.v…
o Từ điển tên địa điểm: gồm 3 từ điển nhỏ
Từ điển tên nước: Việt Nam, Pháp, Canada v.v…
Từ điển tên các thành phố trên thế giới: NewYork, Paris v.v…
Từ điển tên các vùng miền: miền Bắc, miền Anh, châu Á v.v…
o Từ điển tên các công trình đặc biệt như: Kim tự tháp, BigBen v.v…
o Từ điển tên các tổ chức tôn giáo: Hội Phật Giáo, Thiên Chúa Giáo v.v…
Những từ điển dùng cho việc nhận dạng trong bộ luật:
o Từ điển các từ đứng trước tên người: anh, cô, chú, ông v.v…
o Từ điển các động từ thường đứng sau tên người: cười, khóc, nói v.v…
o Từ điển các từ đứng trước tên tổ chức: công ty, tập đoàn, bệnh viện
v.v…
o Từ điển các từ đứng trước tên địa điểm: đảo, biển, thành phố, quận,
huyện v.v…
o Từ điển các từ đứng trước thực thể chỉ quốc gia: người, chính phủ v.v…
o Từ điển các từ đứng trước các công trình: cầu, tòa nhà, cảng v.v…
Từ điển chứa các từ gây ra sự nhập nhằng:
o Từ điển các từ nhập nhằng giữa tổ chức và công trình như: Lầu Năm
Góc, Nhà Trắng v.v…
o Từ điển các từ nhập nhằng giữa tên người, tên địa điểm và quốc gia:
Anh, Mỹ, Nga, Nhật v.v…
VNEgazetteer hoạt động tạo ra một tập các nhãn (annotation) Lookup (loại
nhãn mặc định của GATE). Mỗi một nhãn Lookup được tạo mới tương ứng với một từ
hoặc cụm từ của văn bản xuất hiện trong bộ từ điển (gazetteer) và chứa các đặc trưng
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
37
của từ điển (bao gồm majorType và minorType). Như vậy sau hai quá trình xử lý là
Coltech.NLP.tokenizer và VNEgazetteer, văn bản đã được gán ba kiểu nhãn
(annotation) là: “Word”, “Split” và “Lookup”.
4.3.3 Bộ luật
Song song với quá trình xây dựng bộ từ điển (VNEgazetteer) chúng tôi tiến hành xây
dựng bộ luật (VNEtransducer) – thành phần quan trọng nhất trong hệ thống của chúng
tôi. Bộ luật sử dụng các thông tin do các thành phần khác trong hệ thống (bộ tách từ,
bộ gán nhãn từ loại, bộ từ điển) cung cấp để nhận dạng các thực thể (thực thể và loại
thực thể). Có thể mô tả các bước hoạt động của bộ luật do chúng tôi xây dựng như sau:
Tiền xử lý
o Loại bỏ các nhãn “Lookup” không cần thiết, hoặc có thể đưa những thông
tin sai cho quá trình nhận dạng.
o Tạo ra nhãn (annotation) NamePhrase dùng làm thành phần chính cho quá
trình nhận dạng thực thể.
Xử lý
o Nhận dạng các thực thể chỉ công trình và xử lý nhập nhằng giữa
hai loại thực thể và
o Nhận dạng các thực thể chỉ địa điểm và các thực thể thuộc về
quốc gia
o Nhận dạng các thực thể chỉ tổ chức
o Nhận dạng các thực thể chỉ các tổ chức tôn giáo
o Nhận dạng các thực thể chỉ người
o Sử dụng ngữ cảnh và quá trình nhận dạng thông minh.
Kiến trúc của bộ luật được chúng tôi đưa ra gồm nhiều bước, nhằm giải quyết từng
nhóm thực thể mang độ nhập nhằng cao: và ,
và v.v… Ngoài ra, các bước xử lý sau có thể sử dụng các thực thể được
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
38
nhận dạng ở bước xử lý trước làm thông tin cho việc nhận dạng của mình. Ví dụ: sử
dụng để nhận dạng (chi tiết tại mục 4.3.3.5).
Bộ luật được phát triển dựa trên những kinh nghiệm của quá trình phân tích lỗi, hay
nói cách khác nó ngày càng hoàn thiện hơn sau mỗi lần chúng tôi phát hiện lỗi và sửa
lỗi. Để đảm bảo việc phát triển các luật không làm ảnh hưởng đến những thành quả đã
có của hệ thộng, chúng tôi luôn sử dụng unit testing trong suốt quá trình viết luật.
4.3.3.1 Chuẩn hóa tập nhãn Lookup
Hoạt động đầu tiên của bộ luật là loại bỏ đi những nhãn Lookup chỉ là tiếng không
phải là từ, không mang đúng ngữ nghĩa trong văn cảnh. Ví dụ trong câu:
“Thị trường Việt Nam thật ảm đảm trong thời kỳ khủng hoảng”.
Vì trong từ điển các từ đứng trước các thực thể chỉ tổ chức do chúng tôi xây
dựng có chứa từ “trường”, nên hiển nhiên sẽ có một nhãn (annotation) Lookup được
tạo ra ở tiếng “trường”. Tuy nhiên nếu chúng ta thừa nhận nhãn (annotation) này tức là
chúng ta công nhận tiếng “trường” như một từ mang ý nghĩa “trường học” và hiển
nhiên là không đúng trong văn cảnh này bởi nó nằm trong từ “thị trường”. Những nhãn
(annotation) như vậy bị chúng tôi loại bỏ vì nó sẽ mang lại những sai lầm trong quá
trình nhận dạng. Nhờ có bước này mà từ “Việt Nam” trong câu ví dụ được nhận là
chứ không phải là .
4.3.3.2 Tạo nhãn “NamePhrase”
Sau quá trình chuẩn hóa tập nhãn “Lookup”, chúng tôi gộp những nhãn có kiểu
“Word” và có đặc trưng “upper = true” cạnh nhau lại thành một nhãn (annotation)
mới: nhãn “NamePhrase”. Ví dụ câu:
“Chủ nhật tới, công ty TNHH Tân Phát Hoàn Cầu sẽ khai trương.”
các nhãn Word: “TNHH”, “Tân Phát”, “Hoàn Cầu” sẽ được gộp lại với nhau thành
một nhãn mới NamePhrase “TNHH Tân Phát Hoàn Cầu”. Có thể hình dung giai đoạn
này chúng tôi gộp các “từ viết hoa thông thường” ở cạnh nhau lại và chúng sẽ được sử
dụng để nhận dạng phần lớn các thực thể sau này. Vậy thế nào là từ viết hoa không
thông thường? Chúng tôi quy định tất cả các từ, cụm từ sử dụng làm tiền tố nhận dạng
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
39
và một số từ đặc biệt (“Tôi”, “Bạn” v.v…) sẽ luôn luôn có đặc trưng “upper = false”
cho dù chúng được viết hoa. Việc này giúp các từ, cụm từ làm tiền tố nhận dạng không
bị nhập vào các NamePhrase, làm mất đi khả năng nhận dạng.
4.3.3.3 Nhận dạng thực thể chỉ công trình
Sau khi hoàn tất các bước tiền xử lý, chúng tôi bắt đầu bước vào quá trình nhận dang.
Đầu tiên, chúng tôi nhận dạng các thực thể chỉ công trình và xử lý sự nhập
nhằng giữa những thực thể chỉ tổ chức với những thực thể chỉ các
công trình ví dụ như: “Nhà Trắng”, “Lầu Năm Góc”, v.v… trong các
trường hợp:
“Lầu Năm Góc được xây dựng rất kiên cố.”
“Lầu Năm Góc vừa ra lệnh trừng phạt Iraq.”
Trong bước này chúng tôi xem xét sự chủ động của thực thể, các thực thể đứng trước
các mang tính bị động như từ “được” trong ví dụ sẽ được nhận là thực thể chỉ các công
trình . Còn lại được nhận là thực thể chỉ tổ chức . Tuy còn
xử lý ở mức đơn giản nhưng nó cũng đã đem lại những hiệu quả nhất định.
4.3.3.4 Nhận dạng thực thể chỉ địa điểm và thực thể thuộc về
quốc gia
Ở giai đoạn thứ 4 của quá trình xử lý trong bộ luật, chúng tôi nhận dạng các thực thể
chỉ địa điểm đơn giản. Ngoài việc áp dụng bộ từ điển chứa các thực thể
chỉ địa điểm như: vùng miền, tên các thành phố v.v… chúng tôi sử dụng các tiền tố
như: “ở, tại, đến, trong, ngoài v.v…” để nhận dạng các thực thể chỉ địa điểm đơn giản.
Ví dụ luật nhận đứng sau “ở, tại v.v…”
Rule: Location5
(
{Lookup.majorType == "vlocation"}
({NamePhrase}):namephrase):location
)
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
40
-->
:location.Location = {kind = "Location", rule = "title + Location"}
Sở dĩ nói các thực thể chỉ địa điểm đơn giản bởi còn một số trường hợp nhập nhằng
giữa thực thể chỉ địa điểm , thực thể thuộc về quốc gia và
thực thể chỉ người mà giai đoạn này chưa thể giải quyết được.
Trong các tiền tố được sử dụng để nhận biết thực thể chỉ địa điểm có một
trường hợp khiến chúng tôi phải cân nhắc rất nhiều đó là từ “về”. Lấy các câu sau làm
ví dụ phân tích:
“Tôi sẽ bay về Nga vào ngày mai.”
“Đây là câu chuyện về Nga, cô sinh viên nghèo hiếu học
xứ Nghệ.”
Rõ ràng nếu để từ “về” như một tiền tố nhận dạng thực thể chỉ địa điểm, sẽ có khá
nhiều trường hợp nhận sai xảy ra. Hiện tại, chúng tôi vẫn loại bỏ từ “về” ra khỏi từ
điển chứa các tiền tố nhận dạng thực thể chỉ địa điểm .
Cũng trong các luật về nhận dạng thực thể chỉ địa điểm chúng tôi chia ra xử lý
hai loại thực thể chỉ địa điểm:
Với những thực thể chỉ địa điểm mang tính tự nhiên như: đảo Phú Quốc, Biển
Đông, núi Phú Sỹ v.v… chúng tôi nhận cả cụm tiền tố (đảo, biển, núi v.v…)
cùng với nhãn (NamePhrase) thành thực thể chỉ địa điểm .
Với những thực thể chỉ địa điểm không mang tính tự nhiên như: đường Phạm
Văn Đồng, thành phố Hà Nội v.v… chúng tôi không nhận các tiền tố vào thực
thể chỉ địa điểm. Tuy nhiên cũng có những trường hợp đặc biệt như: “quận 5”,
“tiểu khu 8” v.v… chúng tôi xử lý riêng và nhận cả cụm trên là .
Sau khi nhận dạng các thực thể chỉ địa điểm , những nhãn
(annotation) Lookup chỉ tên quốc gia (ngoại trừ một số trường hợp đặc biệt như: Anh,
Nga, Mỹ, Nhật v.v… sẽ được xử lý riêng) không nhận là thực thể chỉ địa điểm
sẽ được nhận là thực thể thuộc quốc gia . Ngoài ra thực thể
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
41
thuộc về quốc gia còn được nhận dạng thông qua một số tiền tố như: “người”, “dân
tộc”, “tiếng” v.v…
4.3.3.5 Nhận dạng thực thể chỉ tổ chức
Sở dĩ đến thời điểm này chúng tôi mới nhận dạng là bởi có một số
trường hợp cần những thông tin về thực thể chỉ địa điểm . Ví dụ như:
“Chi nhánh Canon tỉnh Bình Dương tuyên bố
phá sản.”
Nếu chỉ dừng lại ở việc nhận dạng thực thể chỉ tố chức thông qua từ điển và tiền tố
(“Chi nhánh”) thì ta chỉ nhận được cụm không đầy đủ “Chi nhánh Canon” là thực thể
chỉ tổ chức . Chúng tôi sử dụng các thông tin về thực thể chỉ địa điểm
để việc nhận dạng thực thể chỉ tổ chức được chính xác hơn. Có thể hình
dung luật là:
tổ chức + (tiền tố) + địa điểm -> tổ chức.
4.3.3.6 Nhận dạng thực thể chỉ các tổ chức tôn giáo
Có thể nói, đây là giai đoạn đơn giản, mang ít tính nhập nhằng nhất của hệ thống. Bởi
số lượng các từ, cụm từ chỉ các tổ chức tôn giáo không nhiều, và chúng cũng ít khi
xuất hiện trong các văn bản, nên chúng tôi chọn giải pháp xử lý đơn giản là nhờ bộ từ
điển. Ví dụ:
Phase: Religion
Input: Lookup
Options: control = appelt
Rule: religion
(
{Lookup.majorType == "religion"}
):name
-->
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
42
:name.Religion = {kind = "Religion", rule = "Religion trong Gazetter"}
4.3.3.7 Nhận dạng các thực thể chỉ người
Các thực thể chỉ người chiếm một tỷ trọng lớn và mang độ nhập nhằng cao. Ví dụ:
Nhóm các từ: Đức, Mỹ, Anh, Nga v.v… nhập nhằng giữa ba loại thực thể:
, và .
Nhóm các tên người lấy theo tên địa danh: Việt Nam, Hải Dương v.v…
Có khá nhiều luật được chúng tôi áp dụng trong giai đoạn này như: sử dụng từ điển, sử
dụng tiền tố, sử dụng hậu tố (các động từ “nói”, “cười”, “khóc” v.v…) và một số kỹ
thuật khác. Trong giai đoạn này, chúng tôi mới chỉ xử lý nhận dạng thực thể chỉ người
một cách đơn giản, và trong những trường hợp nhập nhằng giữa và
hay thì vẫn ưu tiên cho và hơn.
Tuy nhiên những thực thể được nhận trong các trường hợp nhập nhằng như vậy sẽ
được đánh dấu lại, để chúng tôi nhận dạng lại bằng văn cảnh trong giai đoạn sau.
4.3.3.8 Sử dụng văn cảnh và quá trình nhận dạng thông minh
Có thể nói kết thúc giai đoạn nhận dạng thực thể chỉ người ở mục 4.3.3.7, ta đã xây
dựng xong một hệ thống nhận dạng thực thể trong văn bản tiếng Việt ở một mức nào
đó. Tuy nhiên thực tế hiệu quả của hệ thống chưa được cao như chúng tôi mong muốn.
Rất nhiều câu như:
“Ba Te, người con cả trong gia đình, đi phu hồ quanh năm mà vẫn không kiếm
được là bao.”
“Niềm vui bất ngờ ập đến với A Lưới.”
không thể được nhận dạng đúng bởi hệ thống. Hơn nữa trong các trường hợp nhập
nhằng hơn như các từ: “Anh”, “Mỹ”, “Nhật” v.v… việc nhận dạng lại càng khó khăn.
Đến giai đoạn này, chúng tôi quyết định tích hợp những thành phần “thông minh” hơn
cho hệ thống. “Thông minh” bởi chúng có sử dụng thêm các yêu tố văn cảnh vào việc
nhận dạng.
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
43
Trước tiên chúng tôi xử lý tập các từ có độ nhập nhằng cao “Mỹ, Nga, Nhật, Đức
v.v…” dựa trên một số quy định:
Nếu trong văn bản xuất hiện nhiều hơn 2 tên quốc gia thì sẽ nhận tất các tên
như trên là ở dạng thực thể chỉ địa điểm hoặc thực thể thuộc về
quốc gia .
Nếu có nhiều hơn 2 tên trong số các từ nhập nhằng trên xuất hiện trong văn bản
thì sẽ nhận tất cả các tên như trên là ở dạng thực thể chỉ địa điểm
hoặc thực thể thuộc về quốc gia .
Nếu có một tên trong số các tên trên chắc chắn chỉ người (đứng sau các tiền tố:
ông, bà, anh, v.v…) thì sẽ nhận tất cả các tên như trên là ở dạng thực thể chỉ
người .
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
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
44
Hình 4.3 mô tả kết quả nhận dạng của hệ thống cho câu:
“Nga, Mỹ vừa ra lệnh trừng phạt Nhật”.
Tuy cả ba từ: “Nga”, “Mỹ”, “Nhật” đều có thể là tên người, hoặc tên quốc gia, nhưng
vì chúng ở cùng trong một câu, nên chúng tôi ưu tiên nhận dạng thực thể thuộc về
quốc gia .
Bước tiếp theo chúng tôi sử dụng văn cảnh và độ chắc chắn để nhận thêm các
thực thể chỉ người , chỉ địa điểm , chỉ tổ chức ,
chỉ công trình . Những thực thể được xác định bởi những luật có độ chắc
chắn cao sẽ được nhận là thực thể có độ chính xác cao. Một số luật có độ chắc chắn
cao như:
Tiền tố (ông, bà, anh, chị v.v…) +
+ hậu tố (nói, cười, khóc v.v…)
Tiền tố (ở, đến, tại v.v…) +
Tiền tố (công ty, tập đoàn v.v…) +
Tiền tố (chợ, cầu, cảng v.v…) +
Chúng tôi sử dụng đặc trưng “sure=90” cho những nhãn (annotation) này. Những từ,
cụm từ giống với những thực thể có độ chính xác cao được nhận là thực thể cùng loại.
Xem xét đoạn văn sau:
“Bà Nùng vừa hút tẩu thuốc vừa kể: “Đời thằng A Lưới khổ lắm. Nhà chẳng
còn ai, lao động quần quật cả năm mà vẫn không đủ ăn. Không biết đời nó bao giờ
mới có vợ.” Ấy thế mà niềm vui bất ngờ đã đến với A Lưới, anh gặp Hoa, cô giáo miền
xuôi mới lên bản.”
Nhờ có cụm “thằng A Lưới” nên “A Lưới” được nhận là thực thể chỉ người với độ
chắc chắn cao. Nhờ đó từ “A Lưới” ở câu dưới cũng được nhận là thực thể chỉ người.
Hình 4.4 là kết quả chạy của hệ thống đối với đoạn văn trên.
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
45
Hình 4.4 – Một ví dụ cho quá trình nhận dạng thông minh
Tuy nhiên trong một số trường hợp luật này gây ra một vài mâu thuẫn. Lấy đoạn văn
sau làm ví dụ:
“Chợ Quảng Châu tại Quảng Châu là một nơi nổi tiếng nhất Trung Quốc về
hàng nhái.”
Cả Quảng Châu trong “Chợ Quảng Châu” và Quảng
Châu trong “tại Quảng Châu” đều được nhận với độ chắc chắn cao sẽ dẫn
đến việc gán nhãn sai. Vì lý do này chúng tôi chỉ cho phép những thực thể chưa được
nhận, hoặc nhận ở độ chắc chắn không cao được phép gán nhãn lại trong giai đoạn
này.
Một mặt khác, trong quá trình phân tích lỗi chúng tôi đã gặp những trường hợp
rất đáng tiếc như:
“Các sinh viên Đạt, Đại, Đăng, Giang đang đánh bi a.”
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
46
Tất nhiên sau này khi chúng tôi đã cập nhật lại cho bộ từ điển tên người, thì hiển nhiên
tất cả các tên này đều được nhận ra một cách đơn giản. Nhưng mới đầu trong từ điển
tên người không có các từ “Đạt, Đại, Đăng, Giang” làm cho hệ thống chỉ nhận ra một
mình “Đạt” là thực thể chỉ người (do đứng sau tiền tố “sinh viên”) và bỏ xót
mất ba thực thể một cách đáng tiếc. Giải quyết việc này cũng thực đơn giản, chúng tôi
xây dựng một bước kiểm tra các nhãn (annotation) NamePhrase ở cạnh nhau (cách
nhau bởi dấu “,” hoặc từ “và”), nếu có một NamePhrase đã được nhận ra ở dạng thực
thể nào đó, thì tất cả các NamePhrase liền kề nó sẽ được nhận dạng cùng loại.
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
Cuối cùng chúng tôi duyệt lại toàn bộ các thực thể đã được nhận dạng, xóa đi
những thực thể vi phạm nguyên tắc nằm trong một thực thể khác và những nhãn
(annotation) trung gian do bộ luật tự sinh ra.
Như vậy chúng ta đã tìm hiểu qua những nét cơ bản của hệ thống nhận dạng
thực thể trong văn bản tiếng Việt do chúng tôi xây dựng. Ở chương tiếp theo, chúng
Chương 4. Nhận dạng thực thể trong văn bản tiếng Việt Nguyễn Bá Đạt
47
tôi sẽ đưa ra những đánh giá về hiệu quả của hệ thống, cũng như phân tích những lỗi
mà hệ thống còn mắc phải.
Chương 5. Kết quả thực nghiệm và phân tích lỗi Nguyễn Bá Đạt
48
Chương 5
Kết quả thực nghiệm và phân tích lỗi
Chúng tôi đánh giá hệ thống trên hai tập dữ liệu, tập dữ liệu được dùng trong quá trình
viết luật (tập huấn luyện) gồm 18 văn bản (1013 câu), và tập dữ liệu mới (tập kiểm tra)
gồm 17 văn bản (879 câu). Cả hai tập dữ liệu này được gán nhãn và kiểm tra bởi hai
người theo quy trình ở mục 4.2.
5.1 Các bước tiến hành thực nghiệm
Bước 1: Sử dụng hệ thống nhận dạng thực thể trong văn bản tiếng Việt do
chúng tôi xây dựng để tự động nhận dạng và gán nhãn cho các thực thể.
Bước 2: So sánh tập dữ liệu được gán nhãn tự động và tập dữ liệu chuẩn được
gán nhãn bằng tay, qua đó đưa ra các thông số đánh giá chất lượng của hệ thống
(Precision, Recall, F-measure).
5.2 Kết quả thực nghiệm
Chúng tôi đánh giá kết quả thực nghiệm qua hai tiêu chí:
Tiêu chí chặt (strict): một thực thể được nhận dạng đúng khi trùng khớp hoàn
toàn (về vị trí), và cùng kiểu với thực thể trong tập dữ liệu chuẩn.
Tiêu chí lỏng (lenient): một thực thể được nhận dạng đúng khi nó có phần
chung và cùng kiểu với thực thể trong tập dữ liệu chuẩn.
Với tiêu chí đánh giá chặt, ta thu được các kết quả sau:
Chương 5. Kết quả thực nghiệm và phân tích lỗi Nguyễn Bá Đạt
49
Kết quả nhận dạng trên tập huấn luyện (bảng 5.1) mới chỉ dừng lại ở F-measure
đạt 89.90%, hứa hẹn chúng tôi sẽ còn cải tiến được nhiều trong tương lai.
Bảng 5.1 – Kết quả nhận dạng trên tập huấn luyện
Loại
Số
thực thể
Số thực
thể được
nhận
dạng
Số thực
thể được
nhận
đúng
Precision Recall F-measure
Person 548 470 457 97.23 % 83.39 % 89.78 %
Organization 100 85 80 94.11 % 80.00 % 86.48 %
Location 272 255 244 95.68 % 89.70 % 92.59 %
Nationality 87 84 72 85.71 % 82.75 % 84.21 %
Facility 78 76 69 90.78 % 88.46 % 89.61 %
Religion 18 18 18 100.00 % 100.00 % 100.00 %
All 1103 988 940 95.14 % 85.22 % 89.90 %
Bảng 5.2 – Bảng kết quả nhận dạng trên tập kiểm tra
Loại
Số
thực thể
Số thực
thể được
nhận
dạng
Số thực
thể được
nhận
đúng
Precision Recall F-measure
Person 370 285 263 92.28 % 71.08 % 80.30 %
Organization 48 33 25 75.75 % 52.08 % 61.72 %
Location 260 239 222 92.88 % 85.38 % 88.97 %
Nationality 82 68 56 82.35 % 68.29 % 74.66 %
Facility 40 33 29 87.87 % 72.50 % 79.45 %
Religion 20 19 19 100.00 % 95.00 % 97.43 %
All 820 677 614 90.69 % 74.87 % 82.03 %
Chương 5. Kết quả thực nghiệm và phân tích lỗi Nguyễn Bá Đạt
50
Trong khi đó, trên tập kiểm tra kết quả thu được cũng khá khả quan: F-measure
đạt 82.03% (bảng 5.2). Tuy nhiên, bên cạnh những loại thực thể có kết quả nhận dạng
rất tốt như: thực thể chỉ các tổ chức tôn giáo (F-measure: 97.43%), thực
thể chỉ địa điểm (F-measure: 88.97%) v.v… thì loại thực thể chỉ tổ chức
lại thu được kết quả khá khiêm tốn F-measure: 61.72%. Sở dĩ có điều
này là vì tên các tổ chức của Việt Nam đôi khi khá dài, khó nhận diện, đặc biệt khi
chúng không được viết hoa. Ví dụ câu sau:
“Công ty Hợp tác lao động nước ngoài - LOD , thuộc Bộ GTVT.”
Câu trên gồm 3 thực thể chỉ tổ chức: “Công ty Hợp tác lao động nước ngoài”,
“LOD” và “Bộ GTVT”. Tuy nhiên hệ thống chỉ nhận được thực thể “Công ty Hợp tác”
(nhận sai) và “Bộ GTVT” (nhận đúng). Tuy nhận sai nhưng việc nhận ra một phần của
thực thể “Công ty Hợp tác lao động nước ngoài” cũng có ý nghĩa, bởi thật khó để nhận
được thực thể này. Chúng tôi thử đánh giá lại chất lượng của hệ thống theo tiêu chí
“lỏng” hơn (lenient evaluation). Kết quả thu được như sau:
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)
Loại
Số thực
thể
Số thực
thể được
nhận
dạng
Số thực
thể được
nhận
đúng
Precision Recall F-measure
Person 370 285 266 93.33 % 71.89 % 81.22 %
Organization 48 33 30 90.90 % 62.50 % 74.07 %
Location 260 239 224 93.72 % 86.15 % 89.77 %
Nationality 82 68 57 83.82 % 69.51 % 76.00 %
Facility 40 33 31 93.93 % 77.50 % 84.93 %
Religion 20 19 19 100.00 % 95.00 % 97.43 %
All 820 677 627 92.61 % 76.46 % 83.76 %
Chương 5. Kết quả thực nghiệm và phân tích lỗi Nguyễn Bá Đạt
51
Rõ ràng trong khi hầu như các kết quả nhận dạng thực thể khác không tăng nhiều, thì
kết quả nhận dạng các thực thể chỉ tổ chức đã tăng đáng kể (F-measure từ 61.72% lên
74.07%).
Bảng 5.4 thể hiện kết quả của những hệ thống nhận dạng thực thể trong văn bản
tiếng Việt hiện tại (Nguyễn 2005, Cao 2007). Tuy không cùng so sánh trên một tập
kiểm tra, nhưng với những kết quả tương đương (F-measure: 82.03%), cùng rất nhiều
hướng cải tiến: mở rộng bộ từ điển, cải tiến bộ luật để sử dụng tốt hơn những yếu tố
văn cảnh v.v… chúng tôi tin rằng hệ thống của chúng tôi sẽ là nền tảng để phát triển
thành những hệ thống nhận dạng thực thể trong văn bản tiếng Việt đạt hiệu quả cao.
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
Precision Recall F-measure
Hệ thống nhận dạng thực thể sử dụng
CRF (Nguyễn 2005)
81.85% 79.35% 80.53%
Hệ thống VN-KIM IE (Cao 2007 81.37% 81.37% 81.37%
5.3 Phân tích lỗi
Như chúng ta đã phân tích ở mục 5.2, việc nhận dạng các thực thể chỉ tổ chức trong
văn bản tiếng Việt là khá khó. Một số thực thể chỉ tổ chức rất khó để nhận biết như:
“Ngân hàng nông nghiệp và phát triển nông thôn”
“Công ty Hợp tác lao động nước ngoài”.
“Cục Phòng chống buôn người và bảo vệ trẻ vị thành niên vương quốc
Campuchia”. v.v…
Có thể chúng tôi sẽ phải sử dụng thêm những từ điển đặc biệt, cùng với vận dụng văn
cảnh ở mức độ cao để nhận ra các thực thể này.
Tuy đã có cả một phần nhận dạng thông minh nhằm giải quyết sự nhập nhằng
của nhóm các từ: “Mỹ, Nga, Nhật v.v…” - nhập nhằng giữa , và
, nhưng chúng tôi vẫn chưa thể giải quyết triệt để vấn đề này. Ngoài ra
Chương 5. Kết quả thực nghiệm và phân tích lỗi Nguyễn Bá Đạt
52
còn có những trường hợp nhập nhằng giữa và làm cho kết
quả nhận dạng chưa được cao (F-measure: 74.07%). Lấy câu sau làm ví
dụ phân tích:
“Sau khi con tàu đã có một bản “ khai sinh ” khác thì bọn chúng tìm mối tiêu
thụ và giao tàu tận nơi , Philippines là địa điểm mà chúng thường đến ... .”
Với câu này, hệ thống nhận “Philippines” là thay vì (nhận
sai), tuy nhiên thật khó để nhận đúng trong trường hợp này. Ta chỉ có thể nhận đúng
“Philippines” là khi sử dụng được ngữ nghĩa của cụm từ đứng sau: “là địa
điểm”.
Ngoài thực thể thuộc về quốc gia và thực thể chỉ tổ chức
, thực thể chỉ tên người cũng chưa thu được một kết quả
nhận dạng như ý (F-measure: 81.22%), trong đó kết quả Recall khá thấp: 71.89%. Cá
biệt khi xem xét những lỗi trong quá trình nhận dạng, chúng tôi phát hiện những đoạn
văn gồm khá nhiều thực thể chỉ người bị bỏ sót. Ví dụ:
“Người ta giới thiệu chúng tôi gặp S . , một thủy thủ già dặn đã có kinh nghiệm
hàng chục năm trong nghề “ vệ sinh tàu bè ” . S . không đồng ý nêu tên thật của anh
cho dù giờ đây S . đã là một ông chủ quán bình dị : “ Chúng tôi hay tụ tập tại quán cà
phê “ tổng hành dinh ” , khi ấy tôi đang ngồi với hàng chục thủy thủ thất nghiệp khác
thì “ ông chủ ” đến , chỉ cần mười phút ra giá là nhóm chúng tôi đi theo ông ta ngay
.”
Trong đoạn văn trên “S.” là thực thể chỉ người, tuy nhiên hệ thống lại bỏ qua
bởi hiện tại chưa có hệ luật đủ mạnh để vận dụng hết những yếu tố văn cảnh trong quá
trình nhận dạng. Cũng phải nói thêm vì xây dựng hệ thống nhận dạng thực thể trong
văn bản tiếng Việt nên chúng tôi chưa xử lý triệt để các trường hợp tên viết tắt, hoặc
tên viết theo kiểu nước ngoài như: “A. Morgan” v.v… Ở đây dấu “.” không được phép
nhận là dấu tách câu (Split).
Ngoài ra, còn một số trường hợp hệ thống nhận dạng lỗi do bộ tách từ hoạt
động không chính xác. Ví dụ câu:
“Linh cảm thấy buồn.”
Chương 5. Kết quả thực nghiệm và phân tích lỗi Nguyễn Bá Đạt
53
Câu được tách từ thành: “Linh_cảm thấy buồn.”, và không nhận ra được “Linh”
là thực thể chỉ người. Trong khi nếu tách từ đúng “Linh cảm_thấy buồn” thì khả năng
“Linh” sẽ được nhận ra là bởi đứng trước hành động “cảm thấy”, và có xuất
hiện trong từ điển tên người.
Chương 6. Tổng kết và hướng phát triển Nguyễn Bá Đạt
54
Chương 6
Tổng kết và hướng phát triển
Có thể nói chúng tôi đã bước đầu xây dựng được một hệ thống mở trên nền GATE để
cộng đồng có thể tiếp cận sử dụng và phát triển cho bài toán nhận dạng thực thể trong
văn bản tiếng Việt. Tuy nhiên vẫn còn một số thực thể có kết quả nhận dạng khá thấp
như: thực thể chỉ tổ chức , thực thể thuộc nước và thực
thể chỉ người là do chúng tôi chưa vận dụng được hết những yếu tố văn cảnh
vào quá trình nhận dạng.
Bên cạnh hệ thống nhận dạng thực thể cho văn bản tiếng Việt, chúng tôi còn
xây dựng được một tài liệu định nghĩa và phận loại các loại thực thể, cùng một tập dữ
liệu đã được gán nhãn chuẩn. Khi tập dữ liệu được gán nhãn đủ lớn, chúng tôi có thể
sử dụng thêm các thành phần nhận dạng thực thể bằng các phương pháp học máy, làm
tăng sức mạnh của hệ thống.
Một hướng phát triển khác đã bắt đầu được chúng tôi sử dụng ở mức độ thấp là
kết hợp giữa hệ luật được xây dựng bởi chuyên gia, cùng lý thuyết xác suất mờ để
thêm vào những yếu tố văn cảnh trong quá trình nhận dạng thực thể.
Hiện tại, các hệ thống nhận dạng thực thể trong văn bản Tiếng Việt (Nguyễn
2005, Cao 2007) mới chỉ dừng lại ở độ chính xác khoảng 80% (F-measure), vì thế dù
không cùng đánh giá trên một tập kiểm tra, nhưng với những kết quả đã đạt được (F-
measure – 82.03%) và khả năng có thể cải tiển hệ thống ở nhiều mặt như: cải tiến bộ
từ điển, thêm những thành phần xử lý sâu về ngữ cảnh, kết hợp với bộ nhận dạng sử
dụng các phương pháp học máy v.v… sẽ hứa hẹn đem lại một hệ thống nhận dạng
thực thể trong văn bản tiếng Việt đạt kết quả cao trong tương lai.
Tài liệu tham khảo Nguyễn Bá Đạt
55
Tài liệu tham khảo
[1] [Appelt 1995] D. Appelt, SRI International FASTUS system MUC-6 test results
and analysis, Proceedings of the MUC-6, NIST, Morgan-Kaufmann Publisher,
Columbia, 1995.
[2] [Appelt 1999] D. Appelt, An Introduction to information extraction, Artificial
Intelligence Communications, 12, 1999.
[3] [Bechet 2000] F. Bechet, A. Nasr and F. Genet, Tagging Unknown Proper
Names Using Decision Trees, In proceedings of the 38
th
Annual Meeting of the
Association for Computational Linguistics, 2000.
[4] [Bikel 1998] D. Bikel, S. Miller, R. Schwartz, R. Weischedel, a High-
Performance Learning Name-finder, fifth conference on applied natural
language processing, PP 194-201, 1998.
[5] [Borthwick 1998] A. Borthwick, J. Sterling, E, Agichtein, and R. Grishman,
Exploiting diverse knowledge sources via maximum entropy in named entity
recognition, Proceedings of the Sixth workshop on Very Large Corpora,
Montreal, Canada, 1998.
[6] [Budi 2003] I. Budi, S. Bressan, Association Rules Mining for Name Entity
Recognition, Proceedings of the Fourth International Conference on Web
Information Systems Engineering, 2003.
[7] [Cao 2007] T. Cao, Automatic Extraction of Vietnamese Named-Entities on the
Web, New Generation Computing, Ohmsha, Ltd. And Springer.
[8] [Collins 1999] Collins, Michael and Y. Singer, Unsupervised models for named
entity classification, In proceedings of the Joint SIGDAT Conference on
Empirical Methods in Natural Language Processing and Very Large Corpora,
1999.
Tài liệu tham khảo Nguyễn Bá Đạt
56
[9] [Cowie 1996] Cowie and W.Lehnert, Information Extraction, In
Communications of the ACM, 39, 1996.
[10] [Cunningham 1999] H. Cunningham, Information extraction: a User Guide
(revised version), Research Menorandum CS-99-07, Department of Computer
Science, University of Sheffied, May, 1999.
[11] [Cunningham 2002] H. Cunningham, D. Maynard, K. Bontcheva, V. Tablan.
GATE, A Framework and Graphical Development Environment for Robust
NLP Tools and Applications, Proceedings of the 40
th
Anniversary Meeting of
the Association for Computational Linguistics (ACL'02). Philadelphia, July
2002.
[12] [Grishman 1995] R. Grishman, The NYU System for MUC-6 or Where's the
Syntax, In Proceedings of the Sixth Message Understanding Conference
(MUC-6), 1995.
[13] [Iwanska 1995] L. Iwanska, M. Croll, T. Yoon, and M. Adams, Wayne state
university: Description of the UNO processing system as used for MUC-6, In
Proc. of the MUC-6, NIST, Morgan- Kaufmann Publishers, Columbia, 1995.
[14] [Kim 2002] J. Kim, I. Kang, k. Choi, Unsupervised Named Entity Classification
Models and their Ensembles, Proceedings of the 19th international conference
on Computational linguistics, 2002.
[15] [Mansouri 2008] A. Mansouri, L. Affendey, A. Mamat, Named Entity
Recognition Using a New Fuzzy Support Vector Machine.
[16] [Maynard 2001] D. Maynard, V. Tablan, C. Ursu, H. Cunningham and Y.
Wilks, Named Entity Recognition from deverse Test Types.
[17] [Maynard 2003] Maynard, Diana and Bontcheva, Kalina and Cunningham,
Hamish, Towards a semantic extraction of named entities. In Proceedings
Recent Advances in Natural, Borovets, Bulgaria.
[18] [Morgan 1995]R. Morgan, University of durham: Description of the LOLITA
system as used for MUC-6, In Proc of the MUC-6, NIST, Morgan-Kaufmann
Publishers, Columbia, 1995.
Tài liệu tham khảo Nguyễn Bá Đạt
57
[19] [Nguyễn 2005] T. Nguyễn, T. Oanh, P. Hieu, H. Thuy, Named Entity
Recognition in Vietnamese Free-Text and Web Documents Using Conditional
Ramdom Fields, The 8
th
Conference on Some selection problems of
Information Technology and Telecommunication, Hai Phong, Viet Nam 2005.
[20] [Pastra 2002] K. Pastra, D. Maynard, O. Hamza, H. Cunningham, Y. Wilks,
How feasible is the reuse of grammars for Named Entity Recognition? (2002).
[21] [Phạm 2007] T. Pham, A. Kawazoe; D. Dinh; N. Collier, Construction of
Vietnamese corpora for named entity recognition, In Conference RIAO2007,
Pittsburgh PA, U.S.A. May 30-June 1, 2007 – Copyright C.I.D. Paris, France,
2007.
[22] [Wu 2006] Y. Wu, T. Fan, Y. Lee, S. Yen, Extracting Named Entities Using
Support Vector Machines, Spring-Verlag, Berlin Heidelberg, 2006.
[23] [Phạm 2009] D. Phạm, Phương pháp phân đoạn từ tiếng Việt sử dụng gán nhãn
từ loại, Khóa luận tốt nghiệp, Coltech, VNU, 2009.
Phụ lục Nguyễn Bá Đạt
58
Phụ lục A. Annotation Guideline.
1. Khái niệm thực thể và tên thực thể
Thực thể (entity): là một đối tượng hoặc một tập hợp đối tượng trong thế giới tự
nhiên.
Thực thể thể hiện trong các dạng :
o Tên riêng (name entity).
o Danh từ hoặc cụm danh từ chung (common noun, noun phrase).
o Đại từ (pronoun).
Trong bài toán nhận dạng thực thể, chúng tôi sử dụng từ “thực thể” để chỉ các thực thể
có tên.
2. Các loại thực thể
Person: Thực thể chỉ người
Organization: Thực thể chỉ một tổ chức, một nhóm người được thành lập theo
một cấu trúc phân cấp nào đó.
Facility: Thực thể chỉ những thực thể do con người tạo ra thường là các thực thể
xây dựng và kiến trúc, như sân vận động, bảo tàng, nhà ga v.v…
Location: Thực thể chỉ những thực thể địa lý như vùng lãnh thổ, địa danh, sông,
suối v.v…
Nationality: Thực thể chỉ quốc tịch người, hoặc thuộc về quốc gia.
Religion: Thực thể chỉ các tổ chức tôn giáo.
3. Quy tắc khi nhận dạng thực thể
Khi nhận dạng thực thể trong văn bản ta phải đảm bảo một số quy tắc như sau: không
có các tên lồng nhau. Một tên mới chỉ được nhận khi tên cũ đã kết thúc (không bao giờ
Phụ lục Nguyễn Bá Đạt
59
có hai tên có phần chung). Trong trường hợp có sự lồng nhau giữa các tên, chỉ một tên
dài nhất được nhận (longest matching – dài thì thắng).
Ví dụ trong câu:
“Phòng Giáo dục huyện Mỹ Đức.”
ta chỉ nhận “Phòng Giáo dục huyện Mỹ Đức” là thực thể chỉ các tổ chức
(Organization) và bỏ qua thực thể chỉ địa điểm “Mỹ Đức”.
4. Phân loại các loại thực thể
4.1 Thực thể chỉ người
Là các từ chỉ tên riêng của con người, bao gồm cả tên đầy đủ (cả họ và tên) và tên viết
tắt (tên).
Ví dụ :
Chủ tịch Hồ Chí Minh
Ông Nguyễn Bá Đạt
Cầu thủ Hồng Sơn
Cựu tổng thống Saddam Hussein đã bị quân đội Mỹ
bắt và giam giữ.
Các trường hợp lưu ý (các trường hợp này không phải là tên người)
Các từ(cụm từ) gián tiếp chỉ người. Ví dụ:
o Tổng thống Hoa Kỳ.
o Quả bóng vàng Việt Nam 2008.
Các dấu hiệu nhận biết từ loại này :
o Các tiền tố:
Các tiền tố chỉ cách xưng hô :
Ông “Nguyễn Minh Triết”.
Bà Lý
Phụ lục Nguyễn Bá Đạt
60
Bác Sơn.
Tuy nhiên trong một vài trường hợp đặc biệt ví dụ: Bà Trưng, Bà Triệu v.v… ta
sẽ nhận cả cụm Bà Trưng, Bà Triệu là Person.
Các tiền tố chỉ cách gọi theo quan hệ họ hàng :
Dì Ninh
Chú Duy
Anh Giang.
Các tiền tố chỉ cách gọi theo quan hệ chính trị - địa vị xã hội:
Chủ tịch nước Lê Khả Phiêu.
Giám đốc Đăng.
o Các hậu tố : các từ đi sau thực thể chỉ người thường là các động từ ở
dạng chủ động như: chơi, cười, khóc v.v…
Đại cười duyên.
4.2 Thực thể chỉ tổ chức
Thực thể chỉ một tổ chức, một nhóm người được thành lập theo một cấu trúc phân cấp
nào đó (không bao gồm các tổ chức tôn giáo). Một số loại tổ chức:
Tổ chức chính trị - nhà nước
o Văn Phòng Chính Phủ
o Công an Thành phố Hà Nội
Tổ chức kinh tế
o Công ty TNHH Tân Hoàng Phát
o Tập đoàn FPT
Tổ chức giáo dục
o Trường Đại học Công Nghệ
o Học viện Ngân Hàng
Phụ lục Nguyễn Bá Đạt
61
Tổ chức y tế
o Bệnh viện Y Tuệ Tĩnh
Các tổ chức khác
o Hội Chữ Thập Đỏ
o G20
Dấu hiệu nhận biết: thực thể chỉ tổ chức thường đứng sau các tiền tố như: Công ty, tập
đoàn, trường học, bệnh viện v.v…
4.3 Thực thể chỉ địa điểm
Thực thể chỉ chỉ những thực thể địa lý như vùng lãnh thổ, địa danh, sông, suối v.v…
Với các tên thành phố, quận, huyện, đường v.v… (mang tính chất hành chính
do con người đặt ra)
o Thành Phố Hồ Chí Minh
o Quận Tây Hồ
Tuy nhiên với các trường hợp Quận 5, Tiểu khu 8 v.v… thì sẽ nhận cả cụm
Quận 5, Tiểu khu 8 là Location.
Với các tên đảo, đại dương, sông v.v… (mang tính tự nhiên)
o Đảo Bạch Long Vỹ
o Sông Hồng
o Châu Á
Dấu hiệu nhận biết: đứng sau các tiền tố chỉ nơi trốn: ở, trong, ngoài, tại v.v…
Tôi sinh ra tại Hà Tây
Chiến Tranh đã nổ ra ở Đại Tây Dương
4.4 Thực thể chỉ thực thể do con người tạo ra
Thực thể chỉ những thực thể do con người tạo ra thường là các thực thể xây dựng và
kiến trúc, như sân vận động, bảo tàng, nhà ga v.v…
Phụ lục Nguyễn Bá Đạt
62
Ví dụ
Tòa nhà HITC đang được xây mới.
Cầu Trắng
4.5 Thực thể chỉ thực thể thuộc về quốc gia
Thực thể chỉ quốc tịch người, hoặc thuộc về quốc gia.
Ví dụ
Cô hướng dẫn viên du lịch người Hoa
Chính phủ Việt Nam
Quần đảo Hoàng Sa của Việt
Nam
4.6 Thực thể chỉ các tổ chức tôn giáo
Thực thể chỉ các tổ chức tôn giáo như Phật Giáo, Thiên chúa giáo v.v…
Ví dụ
Tôi là người theo đạo Phật
Hội Phật Giáo Việt Nam
Phụ lục Nguyễn Bá Đạt
63
Phụ lục B. Bảng nhãn từ loại tiếng Việt
Np danh từ riêng proper noun
Nc danh từ đơn thể countable noun
Ng danh từ tổng thể collective noun
Nt danh từ loại thể classifier noun
Nu danh từ chỉ đơn vị concrete noun
Na danh từ trừu tượng abstract noun
Nn danh từ số lượng numeral
Nl danh từ vị trí locative noun
Vt động từ ngoại động transitive verb
Vit động từ nội động intransitive verb
Vim động từ cảm nghĩ impression verb
Vo động từ chỉ hướng orientation verb
Vs động từ tồn tại state verb
Vb động từ biến hoá transformation verb
Vv động từ ý chí volotive verb
Va động từ tiếp thụ acceptation verb
Vc động từ so sánh comparative verb
Vm động từ chuyển động move verb
Vla động từ "là" “là” verb
Vtim động từ ngoại động cảm nghĩ transitive-impression verb
Phụ lục Nguyễn Bá Đạt
64
Vta động từ ngoại động tiếp thụ transitive-acceptation verb
Vtc động từ ngoại động so sánh transitive-comparative verb
Vtb động từ ngoại động biến hoá transitive-transformation verb
Vto động từ ngoại động chỉ hướng transitive-orientation verb
Vts động từ ngoại động tồn tại transitive-state verb
Vtm động từ ngoại động chuyển động transitive-move verb
Vtv động từ ngoại động ý chí transitive-volotive verb
Vitim động từ nội động cảm nghĩ intransitive-impression verb
Vitb động từ nội động biến hoá intransitive-transformation verb
Vits động từ nội động tồn tại intransitive-state verb
Vitc động từ nội động so sánh intransitive-comparative verb
Vitm động từ nội động chuyển động intransitive-move verb
Aa tính từ hàm chất quality adjective
An tính từ hàm lượng quantity adjective
Pp đại từ xưng hô personal pronoun
Pd đại từ không gian, thời gian demonstrative pronoun
Pn đại từ số lượng quantity pronoun
Pa đại từ hoạt động, tính chất quality pronoun
Pi đại từ nghi vấn interrogative pronoun
Jt phụ từ chỉ thời gian time adjunct
Jd phụ từ chỉ mức độ degree adjunct
Jr phụ từ so sánh rapport adjunct
Ja phụ từ khẳng định, phủ định adjunct of negation and acceptation
Ji phụ từ mệnh lệnh imperative adjunct
Phụ lục Nguyễn Bá Đạt
65
Cm giới từ major/minor conjunction
Cc liên từ combination conjunction
E cảm từ emotion word
I trợ từ introductory word
X không xác định
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- NHẬN DẠNG THỰC THỂ TRONG VĂN BẢN TIẾNG VIỆT.pdf