Khóa luận Nhận dạng thực thể trong văn bản tiếng việt

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....

pdf73 trang | Chia sẻ: haohao | Lượt xem: 1393 | Lượt tải: 3download
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:

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