Chương 1 Giới thiệu 1. Phạm vi bài toán và mục tiêu nghiên cứu Hiện nay, với nhu cầu ngày càng nhiều của các ứng dụng trí tuệ nhân tạo, đặc biệt là các ứng dụng trợ lý ảo như Google Assistant (Google), Alexa (Amazon), Siri (Apple), v. thì nhu cầu xây dựng hệ tri thức để phục vụ cho các ứng dụng này ngày càng cấp bức và thiết yếu. Trong việc xây dựng hệ tri thức thì việc xây dựng một cơ sở dữ liệu các thực thể có tên và phân loại các thực thể có tên này là bước quan trọng nhất.
Bài toán phân loại thực thể có tên để phục vụ cho xây dựng hệ tri thức là bài toán sử dụng thông tin từ một nguồn dữ liệu để trích lọc ra các thực thể có tên, từ đó phân loại các thực thể có tên thành các kiểu thực thể như người (Person), tổ chức (Organization), Địa điểm (Place), Sự kiện (Event), v. hoặc các kiểu chi tiết hơn như kiểu FIGER [9], NERD, v. để phục vụ cho việc xây dựng các hệ tri thức. Đây là bài toán quan trọng trong lĩnh vực trích xuất thông tin (Information Extraction), và xây dựng hệ tri thức (Knowledge Base Construction), phân loại thực thể có tên trên miền Wikipedia thu hút được sự quan tâm lớn của giới học thuật trên thế giới [14], [16], [19].
Tại Việt Nam, trong bối cảnh nhiều công ty công nghệ như FPT1, NERD2, v. và các tổ chức phi lợi nhuận như Đề án hệ tri thức Việt số hóa3 đã và đang nỗ lực xây dựng một hệ tri thức lớn cho thị trường Việt, việc xây dựng và nghiên cứu một công cụ phân loại thực thể có tên cho tiếng Việt là cần thiết. Một số nghiên cứu liên quan có thể kể đến như công cụ dự đoán kiểu của thực thể trong hệ tri thức Dbpedia của tác giả Nguyễn Thị Như và cộng sự [12], [13]. Đây có thể coi là bước khởi đầu cho bài toán này đối với tiếng Việt.
Tuy nhiên, kết quả thu được chưa thực sự tốt do dữ liệu Dbpedia phiên bản tiếng Việt còn rất khiêm tốn. Hơn nữa, do các công cụ trích xuất thông tin của hệ tri thức Dbpdia 1 https://fpt.ai/ 2 https://www.vn/ 3 https://itrithuc.vn/ 3 không được tối ưu cho tiếng Việt, vì thế một số lượng lớn nhiễu vẫn còn tồn tại trong đó. Trong khuôn khổ của luận văn này, học viên nghiên cứu và xây dựng một công cụ dự đoán kiểu của thực thể có tên sử dụng dữ liệu lấy từ các trang Wikipedia tiếng Việt4. Nhờ đó, công cụ này có khả năng tận dụng nhiều kiểu đặc trưng hữu ích khác nhau từ một trang Wikipedia như: • kiểu đặc trưng có cấu trúc, ví dụ: hộp thông tin (infobox properties), tiêu đề (heading); • kiểu đặc trưng phi cấu trúc, ví dụ: từ khóa bao gồm thể loại (categories) và các cụm danh từ quan trọng thường xuất hiện ở đầu trang, v.
Theo sự hiểu biết và tìm kiếm thông tin của học viên, hiện nay chưa có nghiên cứu nào tương tự cho tiếng Việt. Để đạt được mục tiêu trên, luận văn sẽ tập trung triển khai các nội dung nghiên cứu chính như sau: • Tải dữ liệu từ Wikipedia tiếng Việt và tiền xử lý, lọc bỏ nhiễu (html, redirect pages, template pages, v. • Lựa chọn ngẫu nhiên 10,000 bài viết và gán nhãn thủ công cho 10,000 bài viết này. Đồng thời luận văn cũng đã xây dựng được một bộ luật từ thông tin Infobox template được thực hiện thủ công.
• Xây dựng một công cụ để trích chọn các đặc trưng từ các trang Wikipedia này để phục vụ cho bài toán chính. Trong đó, luận văn có tái sử dụng lại công cụ VNCoreNLP, là một công cụ rất phổ biến trong việc phân tách từ và gán nhãn từ loại tiếng Việt. • Tiếp theo, luận văn xây dựng một mô hình học máy, lựa chọn phương pháp Máy véc tơ hỗ trợ (SVM) để phân loại các thực thể sau khi đã thử nghiệm với một vài phương pháp khác dựa trên một tập dữ liệu nhỏ. Trong phần này học viên sử dụng thư viện Sklearn để thực thi các bài toán học máy cụ thể.
Mô hình này nhận dữ liệu đầu vào là thực thể có tên và các đặc trưng được trích chọn từ một trang Wikipedia tiếng Việt đã được tiền xử như trên, ví dụ: Đại học Quốc Gia Hà Nội, và cho ra kết quả là một kiểu của thực thể trong danh sách các kiểu đã được định nghĩa trước, ví dụ: tổ chức (Organization). 4 Luận văn được thực hiện trong quá trình hợp tác nghiên cứu giữa Đại học Công Nghệ và Công ty cổ phần NERD. 4 • Cuối cùng, luận văn đánh giá kết quả của phương pháp này và so sánh với phương pháp sơ sở (baseline) để chứng minh cho độ ưu việt của giải pháp. • Đồng thời, học viên cũng đưa ra các đề xuất để phát triển tiếp công cụ này trong tương lai.
Lý do luận văn lựa chọn Wikipedia do đây là một nền tảng tri thức đa ngôn ngữ, có cộng đồng phát triển đông đảo ở hầu hết các quốc gia trên thế giới. Đây chính là nguồn dữ liệu cơ bản giúp xây dựng các hệ tri thức lớn trên thế giới như Dbpedia [2], Wikidata [20], Yago [18], v. Hiện nay, phiên bản Wikipedia có hơn 52 triệu bài viết trên 309 ngôn ngữ, riêng tiếng Việt5 có khoảng 1.24 triệu bài viết với hơn 1.7 triệu thực thể bao gồm các khái niệm như Cầu thủ bóng đá, Trường đại học, v., và các thực thể có tên như Đoàn Văn Hậu, Đại học Quốc gia Hà Nội, v.1 thể hiện một phần trang Đại học Quốc Gia Hà Nội trên miền Wikipedia tiếng Việt.1: Trang Wikipedia tiếng Việt về Đại học Quốc Gia Hà Nội 1. Đóng góp của luận văn Luận văn này đã đóng góp cho cộng đồng nghiên cứu: • một công cụ có khả năng phân loại thực thể có tên trên miền Wikipedia tiếng Việt đạt độ chính xác 𝐹'.( = 94%, • một bộ dữ liệu với 10,000 thực thể được gán nhãn thủ công.org 5 • một công cụ tiền xử lý dữ liệu có thể tái sử dụng cho các bài toán và nghiên cứu liên quan.
Học viên tin tưởng rằng những đóng góp trên sẽ đẩy nhanh quá trình xây dựng hệ tri thức tiếng Việt giàu có về thông tin. Qua đó, luận văn sẽ trực tiếp hoặc gián tiếp đóng góp vào các nghiên cứu trong lĩnh vực xử lý ngôn ngữ tự nhiên (Natural Language Processing) và trí tuệ nhân tạo (Artificial Intelligence) như hỏi đáp tự động (Question Answering), tổng hợp và trích xuất thông tin (Information Extraction), v. Cấu trúc của luận văn Các phần còn lại của luận văn được tổ chức như sau: các khái niệm cơ bản và quan trọng của bài toán xây dựng hệ tri thức và phân loại thực thể được trình bày trong chương 2 như khái niệm hệ tri thức, thực thể, thực thể có tên, kiểu thực thể và các hệ thống kiểu thực thể phổ biến. Luận văn cũng sẽ phân tích những điểm khác biệt giữa bài toán này với bài toán nhận dạng thực thể có tên (Named Entity Recognization – NER) để làm rõ tính cần thiết của bài toán này.
Trong chương 3, luận văn sẽ giới thiệu cụ thể về các công cụ và phương pháp được sử dụng trong bài toán. Luận văn sẽ giới thiệu tổng quan về các phương pháp học máy, và phân tích chi tiết hơn về phương pháp máy véc tơ hỗ trợ (Support vector machine – SVM) là phương pháp học máy chính được học viên sử dụng trong luận văn. Đồng thời luận văn cũng giải thích chi tiết về thư viện Sklearn được sử dụng để thực thi mô hình học máy trong luận văn và một số công cụ của thư viện được sử dụng để phân chia dữ liệu thành tập huấn luyện và tập kiểm tra để kiểm định chéo (Stratified K-folds cross validation), trích chọn đặc trưng (Feature extraction), lựa chọn đặc trưng (Feature selection). Luận văn cũng giới thiệu sơ lược về VNCoreNLP, một công cụ rất phổ biến và hiệu quả để phân tách từ và gán nhãn từ loại, được sử dụng trong khâu tiền xử lý dữ liệu và trích chọn đặc trưng.
Luận văn cũng mô tả các đặc trưng sẽ sử dụng, cũng như cách biểu diễn các đặc trưng này trong bài toán. Tiếp theo, mô hình thực nghiệm và kết quả của thực nghiệm sẽ được trình bày ở chương 4. Trong chương này, luận văn sẽ mô tả sơ bộ về tập dữ liệu được sử dụng, các bước thực hiện thực nghiệm. Đồng thời luận văn cũng trình bày về mô hình được sử dụng trong thực nghiệm và các cài đặt trong mô hình (chiến lược phân loại, phương pháp phân chia dữ liệu, lựa chọn đặc trưng, v.
Luận văn cũng nêu ra phương pháp đánh giá hiệu quả của mô hình và so sánh với phương pháp cơ sở để chứng minh tính ưu việt của phương pháp. 6 Cuối cùng, toàn bộ các công việc đã thực hiện được tổng kết và trình bày trong phần kết luận. Đồng thời, trong phần này cũng trình bày hướng nghiên cứu, mở rộng tiếp theo của luận văn trong tương lai. 7 Chương 2 Hệ thống kiểu của thực thể có tên 2.
Hệ tri thức Hệ tri thức là một nhánh của ngành trí tuệ nhân tạo. Nó chứa đựng tri thức về giải quyết vấn đề của con người trong một lĩnh vực hẹp được định trước và có khả năng mở rộng kho tri thức này thông qua công cụ suy luận và hệ thống truy vấn của nó [25]. Một hệ tri thức (knowledge-based system) là một chương trình máy tính sử dụng một cơ sở tri thức (knowledge base) với một công cụ suy luận (inference engine) để giải quyết các vấn đề thường đòi hỏi tư duy đặc biệt của con người.1 mô tả kiến trúc chung của một hệ tri thức Hình 2.1 Kiến trúc của hệ tri thức6 6 https://searchcio.com/definition/knowledge-based-systems-KBS 8 Công cụ giao diện hoạt động như công cụ tìm kiếm và cơ sở tri thức đóng vai trò là kho lưu trữ kiến thức. Học máy là một thành phần thiết yếu của các hệ tri thức và mô hình học giúp cải thiện hệ thống.
Các hệ tri thức có thể được phân loại thành các hệ dựa trên CASE, hệ dạy học thông minh (Intelligent tutoring systems), hệ chuyên gia (Expert systems), hệ thao tác siêu văn bản (Hypertext manipulation systems ) và cơ sở dữ liệu với giao diện người dùng thông minh7. So với các hệ thống thông tin dựa trên máy tính truyền thống, các hệ tri thức có nhiều ưu việt hơn. Chúng có thể cung cấp tài liệu hiệu quả và cũng xử lý một lượng lớn dữ liệu phi cấu trúc theo cách thông minh. Các hệ tri thức có thể hỗ trợ trong việc ra quyết định chuyên sâu và cho phép người dùng làm việc ở mức độ chuyên môn cao hơn và thúc đẩy năng suất và tính nhất quán.