120 Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu GIẢI PHÁP TRÍCH RÚT VÀ PHÂN LOẠI CÁC THỰC THỂ DANH TỪ RIÊNG CHO KHO NGỮ LIỆU PHỤC VỤ XỬ LÝ NGÔN NGỮ TỰ NHIÊN EXTRACTION AND CLASSIFICATION OF NAMED[.]
Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu 120 GIẢI PHÁP TRÍCH RÚT VÀ PHÂN LOẠI CÁC THỰC THỂ DANH TỪ RIÊNG CHO KHO NGỮ LIỆU PHỤC VỤ XỬ LÝ NGÔN NGỮ TỰ NHIÊN EXTRACTION AND CLASSIFICATION OF NAMED ENTITIES FROM CORPORA IN NATURAL LANGUAGE PROCESSING Đặng Đại Thọ1, Huỳnh Công Pháp1, Doãn Hằng Diệu2 Trường Cao Đẳng Công nghệ Thông tin, Đại học Đà Nẵng; Email: ddtho.dt@gmail.com, hcphap@gmail.com Trường Đại học Bách khoa, Đại học Đà Nẵng; Email: doanhangdieu@gmail.com Tóm tắt - Trích rút và phân loại thực thể danh từ riêng cho kho ngữ liệu, phục vụ xử lý ngôn ngữ tự nhiên là bước quan trọng và là tiền đề cho việc mở rộng xây dựng kho ngữ liệu theo hướng ngữ nghĩa Việc nghiên cứu trích rút và phân loại thông tin đã thực hiện với nhiều ngôn ngữ Tuy nhiên, đến chưa có công trình nào nghiên cứu trích rút và phân loại thực thể danh từ riêng kho ngữ liệu phục vụ xử lý ngôn ngữ tự nhiên Hơn nữa, phương pháp trích rút và phân loại thông tin đã sử dụng nêu đều có những nhược điểm riêng của nó Trong bài báo này, chúng đề xuất giải pháp kết hợp thuật toán so khớp tối đa (Maximum matching) với phân tích quan hệ ngữ cảnh giữa thành tố văn bản để trích rút và phân loại thực thể danh từ riêng cho kho ngữ liệu phục vụ xử lý ngôn ngữ tự nhiên Giải pháp này bước đầu đã mang lại kết quả rất đáng khích lệ Abstract - Extraction and classification of named entities from corpora in Natural Language Processing (NLP) is an important initial step for extending and building semantic oriented corpora Though there have been many researches on the extraction and classification of information from internet resources in foreign languages, no research has dealt with corpora in NLP Moreover, information extraction and classification methods currently used such as rule based, machine learning or hidden Markov have shown some drawbacks In this paper, we propose a solution combining Maximum Matching method and contextual relation analysis of entities in the text for extracting and classifying named entities from corpora in NLP In the first stage of our research, this proposed solution has given positive results Từ khóa - trích rút thơng tin; phân loại thông tin; kho ngữ liệu; trích rút tên riêng; phân loại tên riêng Key words - Information extraction; information classification; named entity extraction; named entity classification; corpora Giới thiệu Trích rút thông tin là bài toán quan trọng lĩnh vực xử lý ngôn ngữ tự nhiên, đó trích rút thực thể danh từ riêng theo thể loại có ý nghĩa thiết thực nhằm phục vụ cho nhiều bài toán khác hỗ trợ web ngữ nghĩa, xây dựng hệ thống hỏi đáp, xây dựng các máy tìm kiếm hướng thực thế theo các đặc trưng riêng biệt… Theo đó, bài toán trích rút và phân loại các thực thể danh từ riêng đã được quan tâm nghiên cứu và thực hiện phổ biến thế giới và nước [2], [3] Tuy nhiên, đa số các công trình này nhằm khai thác và trích rút tên riêng từ các nguồn dữ liệu Internet và các văn bản thông thường Việc áp dụng bài toán này để khai thác và trích rút thực thể danh từ riêng cho các kho ngữ liệu phục vụ xử lý ngôn ngữ tự nhiên là rất cần thiết vẫn chưa được quan tâm nghiên cứu Việc xây dựng và mở rộng các kho ngữ liệu theo hướng ngữ nghĩa là rất quan trọng, bởi vì đa số các kho ngữ liệu phục vụ xử lý ngôn ngữ tự nhiên nói chung và dịch tự động nói riêng đều tồn tại dưới dạng tập hợp các văn bản phi cấu trúc, có định dạng hoặc không định dạng (thuần túy văn bản) Điều này gây nên những hạn chế rất lớn cho các hệ thống khai thác các kho ngữ liệu (hệ tìm kiếm, máy dịch, ) việc so khớp, tìm kiếm thông tin Bởi lẽ, đối với các kho ngữ liệu loại này, các giải thuật tìm kiếm, so khớp đã được xây dựng cho các hệ thống khai thác chỉ dừng lại ở mức so khớp dạng chuổi ký tự hoặc văn bản tính khoảng cách hai chuỗi hoặc tính xác suất,… [1] Do đó, để nâng cao nữa hiệu quả khai thác các kho ngữ liệu hay cải tiến hiệu quả và tính chính xác của quá trình so khớp và tìm kiếm của các hệ thống khai thác kho ngữ liệu, các kho ngữ liệu cần được mở rộng theo hướng ngữ nghĩa bằng cách xây dựng thêm tầng ngữ nghĩa cho kho ngữ liệu Tầng ngữ nghĩa có thể đơn giản là các chú thích, các từ/ cụm từ đồng nghĩa, các từ/cụm từ trái nghĩa,… Ở mức độ phức tạp, tầng ngữ nghĩa được xây dựng mạng lưới ontology, đó mỗi ontology gồm tập hợp các lớp thuộc một lĩnh vực hẹp nào đó [1] Như vậy, để có được các kho ngữ liệu theo hướng ngữ nghĩa thì mỗi tài liệu đó phải được tổ chức, biểu diễn dạng dữ liệu “thông minh”, tức là chỉ khả kết hợp, phân lớp và khả suy diễn dữ liệu đó [3] Bài toán trích rút và phân loại các thực thể danh từ riêng mà chúng đề cập bài báo này với mục đích làm tiền đề cho việc giải quyết và đặt nền móng cho việc xây dựng kho ngữ liệu theo hướng ngữ nghĩa Mợt sớ hướng tiếp cận trích chọn thực thể danh từ riêng Trong tiếng Việt, danh từ riêng là những danh từ để gọi riêng từng người, từng tổ chức, từng địa phương,… Ví dụ Nguyễn Trãi, Võ Nguyên Giáp, Hội người cao tuổi, Hà Nội, Trích chọn thực thể danh từ riêng là tìm kiếm và phân lớp các từ vào lớp (nhóm) đối tượng tên người, tổ chức, địa danh,…Trích chọn thực thể danh từ riêng chính là một những yêu cầu đầu tiên của hầu hết các hệ thống trích chọn các thông tin phức tạp [3] Các nghiên cứu về rút trích thông tin được phân thành ba hướng tiếp cận sau: 2.1 Hướng tiếp cận thủ công sử dụng hệ luật [2], [3] Sử dụng hệ luật là một những phương pháp truyền thống xây dựng các hệ thống rút trích thông tin Những hệ thống này thường dựa các đặc trưng cú pháp ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(84).2014, QUYỂN của thông tin (ví dụ từ loại của từ), ngữ cảnh của thông tin (từ đứng trước, từ đứng sau,…), hình thái của thông tin (chữ hoa, chữ thường, số, ) kết hợp với một bộ từ điển để viết thành các luật Ưu điểm của phương pháp này là hệ thống xử lý dữ liệu thô mà không cần thực hiện tiền xử lý dữ liệu Bên cạnh đó, hệ thống có thể hoạt động và thu được kết quả hình thành các luật Tuy vậy, để xây dựng một hệ luật đạt chất lượng, hiệu quả là một công việc rất khó khăn, mất nhiều chi phí về thời gian và công sức và tiền bạc, đặc biệt là xây dựng hệ luật từ ban đầu 2.2 Tiếp cận sử dụng phương pháp học máy 2.2.1 Mơ hình Markov ẩn (Hidden Markov Models HMM) [2], [5] Mô hình sử dụng khái niệm các trạng thái ẩn và khái niệm quan sát – các đối tượng dữ liệu được sinh bởi trạng thái ẩn Trong trường hợp trích chọn thông tin, mỗi từ hoặc mỗi đoạn câu được xem một quan sát Xi, trạng thái ẩn Yi chính là các nhãn cần gắn cho từ hay quan sát Xi Nhãn cần gán cho từ có thể là từ loại (danh từ, động từ, tính từ,…), hay định danh người, địa danh,… HMM một mô hình sinh, mô tả quá trình sinh các dữ liệu quan sát bằng cách xác định xác suất đồng thời của chuỗi quan sát và chuỗi trạng thái Chuỗi quan sát được sinh theo quá trình bắt đầu từ trạng thái đầu tiên, sinh một quan sát tương ứng với trạng thái đó, chuyển tới trạng thái thiếp theo, sinh một quan sát tương ứng với trạng thái đó, chuyển tới trạng thái tiếp theo,… Hình Mơ hình Markov ẩn [10] HMM được sử dụng rộng rãi cho việc trích chọn thông tin văn bản Tuy vậy, tập quan sát là các từ nên khó tích hợp các đặc trưng phụ thuộc hoặc liên quan lẫn vị trí các từ câu, chữ cái đầu tiên viết hoa hay không, cả từ có viết hoa hay không, vị trí các từ văn bản, từ có bắt đầu bằng số hay không,…Mặt khác, các bài toán tập quan sát thường rất lớn, khó liệt kê hết dược, điều đó làm giảm sự chính xác thực hiện, đồng thời làm tăng độ phức tạp của bài toán Bên cạnh đó, mơ hình MHH, quan sát thời điểm t chỉ phụ thuộc vào trạng thái t, mỗi quan sát được xử lý một đơn vị riêng biệt, không phụ thuộc vào các quan sát chuỗi Tuy nhiên, thực tế hầu hết các chuỗi dữ liệu không được biểu diễn chính xác tập hợp các đới tượng riêng biệt 2.2.2 Mơ hình Maximum Entropy Markov Models (MEMMs) [2], [6] Giống HMM, MEMMs là mô hình hữu hạn trạng thái theo xác suất Tuy vậy, HMM quan sát hiện tại chỉ phụ thuộc vào trạng thái hiện tại thì MEMMs quan sát hiện tại không chỉ phụ thuộc vào trạng thái hiện tại mà cịn phụ tḥc vào các trạng thái trước đó Điều đó giúp cho MEMMs giải quyết được hai hạn chế nói của mơ hình HMM 121 Hình Maximum Entropy Markov Models [10] Tuy nhiên áp dụng vào thực tế, với tập dữ liệu huấn luyện khá lớn, khả phân nhánh của các trạng thái cao thì tính chính xác của mô hình bị ảnh hưởng rất lớn Đây chính là hạn chế lớn nhất của mô hình MEMMs Trong đó, tách riêng xác suất chuyển trạng thái và xác suất sinh quan sát nên mô hình HMM không gặp phải vấn đề này 2.2.3 Mơ hình ngẫu nhiên (Conditional Random Fields CRFs) [2], [7] Hình Mơ hình Conditional Random Fields [10] CRFs là mô hình dựa xác xuất điều kiện, chúng có thể tích hợp được các thuộc tính đa dạng của chuỗi dữ kiệu quan sát nhằm hỗ trợ cho quá trình phân lớp Tuy vậy, khác với MEMMs, CRFs là một mô hình đồ thị vô hướng Điều này cho phép CRFs có thể định nghĩa phân phối xác suất của toàn bộ trạng thái thường được sử dụng gán nhãn và phân tích dữ liệu tuần tự ví dụ ký tự, ngôn ngữ tự nhiên Khác với mô hình MEMM, CRF là mô hình đồ thị vô hướng Điều này cho phép CRF có thể định nghĩa phân phối xác suất của toàn bộ chuỗi trạng thái với điều kiện biết chuỗi quan sát cho trước thay vì phân phối mỗi trạng thái với điều kiện biết trạng thái trước đó và quan sát hiện tại mô hình MEMMs Chính vì cách mô hình hóa vậy mà CRFs giải quyết được vấn đề mà MEMMs gặp phải Tuy nhiên,với CRFs, thời gian tính toán tương đối chậm trường hợp dữ liệu huấn luyện tương đối lớn 2.3 Hướng tiếp cận lai [4] Tiếp cận lai là kết hợp 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 Đến 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 đã có một vài nghiên cứu có kết quả khả quan với tiếng Trung Quốc, ngôn ngữ được xem là khá gần gũi với tiếng Việt Đây có thể sẽ là hướng quan trọng tương lai Giải pháp đề xuất Từ phân tích cho thấy các mô hình HMM, MEMM, CRFs đều có những ưu nhược điểm nhất định Một những nhược điểm đó là phải tiến hành tiền xử lý dữ liệu Cả ba mô hình đều phải sử dụng các công cụ để thực hiện phân lớp dữ liệu trước đưa chúng vào xử lý, việc đó khiến cho hệ thống trở nên cồng kềnh, tốn nhiều công sức, thời gian và tiền bạc Để khắc phục tình trạng trên, chúng hướng đến giải pháp nhận diện danh từ riêng dữ liệu thô Giải pháp đề xuất là sự kết hơp giữa thuật toán Maximum Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu 122 Matching và phân tích mối quan hệ giữa các thành tố văn bản, cụ thể là quan hệ của thực thể cần kiểm tra với các thực thể tiền tố và hậu tố của nó Việc sử dụng thuật toán Maximum Matching cần chuẩn bị một bộ từ điển tiếng Việt Dựa vào thuật toán này, chương trình so khớp thực thể cần kiểm tra với tập hợp từ vựng có từ điển nhằm loại bỏ những từ không phải danh từ riêng Mục đích của bước này là loại bỏ tất cả các từ văn bản trùng khớp với các từ có từ điển bằng cách áp dụng hướng của một những phương pháp phân đoạn từ là Maximum Matching [2], [8], [9] Các từ lại sẽ là danh từ riêng Ngoài ra, danh từ riêng hầu hết bắt đầu bằng chữ hoa, là một dấu hiệu dễ nhận dạng nhất Sau có danh sách các danh từ riêng, chúng ta tiến hành nhận biết các danh từ riêng đó thuộc lớp danh từ riêng nào Chẳng hạn, Trần Hưng Đạo, Võ Nguyên Giáp, Nguyễn Hoàng thuộc lớp Tên người; Hà Nội, Huế, Đà Nẵng thuộc lớp Địa danh Việc nhận biết, phân loại danh từ riêng này dựa vào quan hệ giữa các thực thể văn bản và so khớp các thực thể tiền tố và hậu tố với tập hợp các từ ngữ cảnh nhằm chỉ địa danh hoặc Kho ngữ liệu Tách từ - Nếu không, tiếp tục kiểm tra cụm t1t2 có từ điển không? o Nếu có, dịch chuyển khuôn sang phải vị trí, khuôn sẽ chứa tiếng t3, t4, t5 Tiếp tục kiểm tra cụm t3t4t5 có từ điển khơng? t1 t2 t3 t4 t5 t6 t7 … tn o Nếu không, kiểm tra t1 có từ điển không Nếu có, dịch chuyển khuôn sang phải vị trí, khuôn sẽ chứa từ tố t2, t3, t4 Tiếp tục kiểm tra t2t3t4 có từ điển khơng? t1 t2 t3 t4 t5 t6 t7 … tn Nếu không, thêm t1 vào danh sách các từ tố không có nghĩa rời dịch chủn khn sang phải vị trí Lúc này khuôn sẽ chứa từ tố t2, t3, t4 Tiếp tục kiểm tra cụm từ tố t2t3t4 có tồn tại từ điển không? t1 t2 t3 t4 t5 t6 t7 … tn Quá trình này sẽ lặp lặp lại cho đến hết danh sách từ tố Kết thúc, chúng ta có một danh sách chứa các từ tố không có nghĩa Bước 3: Gộp các từ tố đứng cạnh danh sách từ tố không có nghĩa thành một cụm từ và lưu vào danh sách các cụm từ tố không có nghĩa i=0,j=i+1,k=i+2 Từ điển Phân loại Dựa vào quan hệ giữa các thực thể (Tiền tố, hậu tố) i