Nhận diện thực thể định danh là một bài toán cơ bản nhưng có vai trò quan trongtrong lĩnh vực Xử lý ngôn ngữ tự nhiên, với đầu vào là một câu văn tiếng Việt vàđầu ra là câu văn trên được
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
EE
VO LINH BAO - 18520503
NHAN DIEN THUC THE TRONG CAU VAN TIENG VIET
SU DUNG BIEU DIEN NGU DOAN
NAMED ENTITY RECOGNITION IN VIETNAMESE SENTENCES
USING SPAN REPRESENTATION
KHOA LUAN TOT NGHIEP
CU NHAN NGANH KHOA HOC MAY TINH
TP HO CHÍ MINH - NAM 2021
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
OK
@\
UIT
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THONG TIN
VÕ LINH BẢO - 18520503
NHẬN DIỆN THỰC THỂ TRONG CÂU VĂN TIENG VIỆT
SỬ DỤNG BIỂU DIỄN NGỮ ĐOẠN
NAMED ENTITY RECOGNITION IN VIETNAMESE SENTENCES
USING SPAN REPRESENTATION
KHÓA LUẬN TỐT NGHIỆP
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYỄN LƯU THUỲ NGÂN
ThS NGUYEN ĐỨC VŨ
TP HỒ CHÍ MINH - NĂM 2021
Trang 3Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
38/QD-DHCNTT ngày 19/01/2022 của Hiệu trưởng Trường Dai học Công nghệ Thông
tin.
1 Chủ tịch: PGS.TS Lê Đình Duy
2 Thư ký: ThS Nguyễn Bích Vân
3 Ủy viên: PGS.TS Quản Thành Thơ
Trang 4Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực
tiếp của tiền sĩ Nguyễn Lưu Thuỳ Ngân và thạc sĩ Nguyễn Đức Vũ
Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công
trình, và thời gian công bố
Moi sao chép không hợp lệ và vi phạm quy chế đào tạo tôi xin chịu hoàn toàn
trách nhiệm.
Thành phó Ho Chí Minh, tháng 12 năm 2021
Sinh viên
Võ Linh Bảo
Trang 5Ngợi khen Chúa vì ân điển và sự thành tín của Ngài luôn ở cùng con Nguyện
Chúa tiếp tục gìn giữ con trong mọi dự định và bước đi của con trong tương lai Con
cảm ơn Ngài!
Đầu tiên, tôi xin chân thành cảm ơn cô Nguyễn Lưu Thuỳ Ngân đã giúp đỡ vàđịnh hướng cho tôi từ lúc bắt đầu chọn chuyên ngành cho đến lúc hoàn thành khoáluận tốt nghiệp này Những góp ý chân thành và quý báu từ cô đã giúp tôi luôn theosát kế hoạch nghiên cứu đã đề ra
Đặc biệt, tôi xin gởi lời cảm ơn đến ThS Nguyễn Đức Vũ, với tư cách là một hậubối, cũng như là một sinh viên với giảng viên hướng dẫn Anh đã giúp đỡ và chỉ bảocho tôi rất nhiều! Qua những lần được làm việc cùng anh, bản thân tôi đã học hỏi vàrút ra được cho mình nhiều bài học quý giá!
Tôi cũng xin gửi lời cảm ơn đến các thay, cô khoa Khoa học Máy tính cùng cácthầy cô Trường Đại học Công nghệ thông tin mà em đã từng có cơ hội được học
Em xin cảm ơn thầy Thành, thầy Thanh Sơn, thầy Hoàng, cô Quí cùng những thầy
cô khác đã tận tình hướng dẫn và giúp đỡ em từ khi mới là một sinh viên năm nhấtcho đến bây giờ Sự tâm huyết trong từng bài giảng của các thầy cô luôn là nguồnđộng viên rất lớn cho em!
Tôi cũng muốn gửi lời cảm ơn đến gia đình của tôi, đến ba, mẹ và em trai tôi Họ
luôn là nguồn động viên cho tôi và khích lệ tôi những lúc khó khăn cũng như chia
sẻ cùng tôi những thành quả đạt được Gia đình thật sự là nguồn động lực mạnh mégiúp tôi có thể hoàn thành khoá luận này!
Tôi xin cảm ơn tập thể lớp KHTN2018, họ luôn là mục tiêu để tôi phấn đấu Xincảm ơn các bạn bè, anh chị em đã luôn đồng hành cùng tôi
Trong quá trình thực hiện luận văn này, chắc chắn sẽ không thể tránh khỏi nhữngthiếu sót và hạn chế Tôi rất mong nhận được mọi sự phản hôi và góp ý quý báu từquý Thay, Cô Một lần nữa, tôi xin chân thành cảm ơn!
Thành phó Hỗ Chí Minh, tháng 12 năm 2021
Sinh viên Võ Linh Bảo
Trang 6Nhận diện thực thể định danh là một bài toán cơ bản nhưng có vai trò quan trong
trong lĩnh vực Xử lý ngôn ngữ tự nhiên, với đầu vào là một câu văn tiếng Việt vàđầu ra là câu văn trên được thêm các thực thể định danh cùng với loại thực thể tươngứng Trong đề tài của khóa luận này, chúng tôi giải quyết việc nhận dạng thực thểđơn và tập trung hơn vào thực thé lồng nhau, bao gồm các mức thực thể từ 1 đến 4
Các công trình nghiên cứu cho đến thời điểm hiện tại trên bộ dif liệu tiếng Việtđược ghi nhận kết quả chưa cao, so với các công trình nghiên cứu state-of-the-arttrên dữ liệu tiếng Anh hoặc tiếng Trung Điều này đến từ các khó khăn của bài toánNER do một số đặc điểm của tiếng Việt Bên cạnh đó, bộ dữ liệu thực thể địnhdanh tiếng Việt vẫn còn quá nhỏ và vẫn đang trong quá trình phát triển cũng là mộtnguyên nhân dẫn đến kết quả thu được từ các công trình nghiên cứu chưa được tốt
chúng tôi đã tập trung nghiên cứu mô hình Partially-Observed TreeCREs Đây
là một mô hình mới được công bố năm 2020 và đạt được kết quả state-of-the-art
cho bài toán NER trên tiếng Anh Mô hình còn lại mà chúng tôi nghiên cứu là
mô hình kết hợp từ 4 mô hình độc lập dựa trên việc tinh chỉnh mô hình pre-trainedXLM-RoBERTa, cũng là một mô hình thể hiện tốt trên dữ liệu đa ngôn ngữ
Trong phạm vi của khoá luận này, chúng tôi tiền hành xây dựng hệ thống nhậndiện thực thể định danh trên dữ liệu tiếng Việt Chúng tôi quyết định nghiên cứu các
bộ dữ liệu đang được sử dụng rộng rãi bởi cộng đồng xử lí ngôn ngữ tiếng Việt đó
là bộ dữ liệu VLSP2021, bộ dữ liệu kế thừa và được cải thiện từ hai bộ dữ liệu tiền
nhiệm là VLSP2016 và VLSP2018.
Chúng tôi đã tiến hành cài đặt và so sánh kết quả của hai mô hình trên tập testcủa bộ dữ liệu VLSP2021 Kết quả cho thấy mô hình kết hợp thể hiện tốt hơn môhình Partially-Observed TreeCRFs Vì vậy, chúng tôi đã nộp mô hình kết hợp chocuộc thi VLSP 2021 Evaluation Campaign và đạt hang 3 trên tổng số 23 đội dự thicho phần thi Named Entity Recognition: Recognizing named entities in documents
Trang 7Danh sách hội đồng bảo vệ khóa luận
Lời cam đoan
1.3 Đối tượng và phạm vi nghiên cứu
-1.3.1 Đối tượng nghiêncứu
1.3.2 Phạm vinghiêncứu
-14 Kết quả của đềtài eee
15 Cấu trúc khoáluận ee
Chương 2 Tổng quan
2.1 Bài toán Rút trích thôngtin
2.2 Bài toán Nhận diện thực
thể -22.1 Môtäbàitoán Ặ.Ặ Q Q Q So
2.2.2 Khókhăắn Ặ.Ặ.Ặ Ặ Q 00000008.
2.3 Cac nghiên cứu lên quan
2.3.1 Các nghiên cứu cho bài toán Nhận diện thực thể trên ngôn
Trang 8Chương 3 Cơ sở lý thuyết
3.1 Mạng nơ-ron (NeuralNetwork)
3.1.1 Mô hình Mạng nơ-ron (Neural network)
3.1.2 Mạng nơ-ron hồi quy (Recurrent Neural Network)
3.1.3 Bộ nhớ Ngắn hạn Dai (Long Short-term Memory)
3.2 Biểu diễn Mã hóa hai chiều từ Transformer (BERT)
3.2.1 Tinh chỉnh mô hình BERT
3.2.2 Mô hình Ngôn ngữ có Mặtnạ
Chương 4 Mô hình cho bài toán Nhận diện thực thể định danh 4.1 Mô hình Partially-Obersed TreeCRFs
41.1 Giới thiệu eee 4.1.2 Các thành phần của mô hình
4.1.2.1 Bộ tính trọng số sử dụng hàm Biaffine
4.1.3 Partially-Observed TreeCRF
4.1.3.1 Thuật toán MaskInside
4.1.4 Giai đoạn huấn luyện và suy luận
4.2 Mô hình kết hợp4mức
Chương 5 Thí nghiệm và kết quả 5.1 Bộ ngữ liệu VLSP 2021 cho bài toán Nhận diện thực thể định danh_ 5.11 Giớithệu ee 5.1.2 Loạithựcthể ẶẶẶẶẶVC 5.2 Tiền xử lýngữ liệu ee 5.21 Rútchọn đặc trưng
5.2.1.1 Nhãn thực thể định danh
5.2.1.2 Thực thểlồngnhau
-5.2.13 Ranh giới của thựcthể
5.3 Cài đặt thí nghiệm và thiết lập thông số
5.3.1 Mô hình Partially-Observed TreeCRFs
5.3.2 Mô hình kếthợp4mức
17
17
18
20
23
26
26
27
30 30
30
31
32
32 35
36 38 38
Trang 95.4.1 Mô hình Partially-Observed TreeCRFs
Chương 7 Công bố khoa học
Tài liệu tham khảo
54 61
Trang 10Danh sách các loại thực thể với các loại tên tươngứng 7
Cách gan nhãn theo phương pháp BIO, với các biển thể IO và BIOES[6] 9
Ví dụ minh hoạ việc nhập nhằng giữa các loại thực thể có cùng từ
biểu diễn Q Quy 11
Vi dụ về từ mượn trong tiếng Viet [14] - 13Một số hàm kích hoạt (activation function) phổ biến 21
Thống kê số lượng thực thể theo mức độ thực thể lồng nhau 4I
Kết quả của mô hình Partially-Observed TreeCRFs trên tập test VLSP2021 46]Kết quả của mô hình kết hợp 4 mức trên tập test VLSP2021 47
So sánh kết quả dự đoán của hai mô hình dé xuất trên tập test của bộ
dữ liệu VLSP2021 50
Các phương pháp được các đội đạt giải sử dụng trong cuộc thi VLSP2021 51|
Phương pháp và kết quả đạt được của các đội đạt giải cuộc thi VLSP2018 5I|
Trang 113.1
3.2
3.3
3.4
3.5
3.6
4.1
4.2
4.3
5.1
5.2
5.3
5.4
5.5
Quy trình Nhận diện thực thé[7] - 9
Một tế bào nơ-ron đơn giản (https://askabiologist.asu.edu/neuron-AnAfONY) Q Q Q HH HQ ee 18 Mô hình mạng nơ-ron đơn giản với 2 phân lớp ẩn (hidden layers) 19
Triển khai kiến trúc của mộtRNN 22
Kiến trúc bên trong của một ô nhớ LSTM|39] 23
Tổng quan quá trình tiền huấn luyện và tinh chỉnh mô hình BERT[41] 26 Sơ đồ kiến trúc BERT theo tic vụMLM 28
Kiến trúc tổng quát của mô hình Partially-Observed TreeCRFs 31
Một ví dụ về cây biểu tượng Hình bên trái: cây đã được quan sát một phần (phần phía dưới) và phần cây biẻu tượng tương ứng (phần phía trên) với các loại node khác nhau rút ra được từ cây đã được quan sát Hình bên phải: một cây hoàn chỉnh tương ứng với cây thành phần bên trái (phần phía dưới) thông qua việc nhận biết (realizing) các node tiềm ẩn từ L] sang I (phan phía trên) Một cây thành phần có thể tương ứng với nhiều cây được-nhận-biết hoàn chỉnh khác nhau 33 Kiến trúc mô hình kết hợp dựa trên mô hình tiền huấn luyện XLM-RoBERTa ẶQ ee a 37 Thống kê số lượng từng loại thực thể trong bộ ngữ liệu VLSP2021 Vién màu đỏ: các loại thực thể có số lượng lớn Viền màu vàng: các loại thực thể có số lượng rat ít, gần như không có_ 42
Các công đoạn trong quá trình tiền xử lí ngữ liệu - 4
Kết quả đánh giá theo loại văn bản (domain) 47
Kết quả đánh giá theo loại thực thể 48
Kết quả đánh giá theo loại thực thể (tiếp theo) 49
Trang 121.1 Đặt van đề
Những năm gần đây chứng kiến sự tăng trưởng vượt trội của Internet, bên cạnh sựphát triển của các thiết bị điện tử như điện thoại thông minh, máy tinh bảng ngàycàng tiếp cận đến nhiều người dùng hơn Ngoài ra, các nền tảng mạng xã hội nhưFacebook, Twitter hay các hệ thống tìm kiếm như Google cũng đều có sự tăng mạnh
về số lượng người dùng Điều này dẫn đến kết quả là lượng thông tin được tạo rathống kê theo từng giây ngày càng lớn Từ đó, nhu cầu khai thác và khai phá dữ liệu
càng được quan tâm và chú trọng.
Phần lớn dữ liệu được tạo ra hiện nay là dữ liệu phi cấu trúc Để chúng có thểđược sử dụng cho những mục đích khác, cần phải chuyển đổi dữ liệu từ dạng phi cấu
trúc thành dạng có cau trúc được định nghĩa sẵn Đây chính là mục tiêu của các bài
toán trong lĩnh vực Trích xuất thông tin Với động lực có thể trích xuất những thôngtin hữu ích từ lượng dit liệu khổng lồ liên tục được tạo ra, các hệ thống trích chọn
thông tin đã được xây dựng, trong đó nhận dạng thực thể là phương pháp cơ bản,
đáng tin cậy nhất và là nền tang cho các phương pháp phức tạp hơn[ 1]
Vì tầm quan trọng trong các hệ thống trích xuất thông tin, bài toán Nhận dạngthực thể (Named entity Recognition - NER) đã được quan tâm nghiên cứu trên thế
giới từ đầu những năm 1990[2] Kể từ đó, nhiều hội thảo quốc tế đã được tổ chức để
đánh giá các hệ thống NER trên tiếng Anh, theo sau là tiếng Hà Lan, Tây Ban Nha
và Đức.
Đối với tiếng Việt, bài toán NER bắt đầu được cộng đồng xử lý ngôn ngữ tựnhiên quan tâm và nghiên cứu kể từ lần đầu tiên Câu lạc bộf Xử lí ngôn ngữ và Tiếngnói Tiếng Việt (the Association for Vietnamese Language and Speech Processing -VLSP) cung cấp bộ dữ liệu thực thể định danh tiếng Việt năm 2016 Qua hai lần
chỉnh sửa và cải thiện năm 2018 và 2021, bài toán NER trên dữ liệu tiếng Việt đã
thu hút nhiều sự nghiên cứu và đóng góp từ cộng đồng Xử lí ngôn ngữ tự nhiên
Các công trình nghiên cứu cho đến thời điểm hiện tại trên bộ dữ liệu của VLSPđược ghi nhận kết quả chưa cao, so với các công trình nghiên cứu state-of-the-arttrên dif liệu tiếng Anh hoặc tiếng Trung Điều này đến từ các khó khăn của bài toán
Trang 13NER do một số đặc điểm của tiếng Việt Bên cạnh đó, bộ dữ liệu thực thể địnhdanh tiếng Việt vẫn còn quá nhỏ và vẫn đang trong quá trình phát triển cũng là mộtnguyên nhân dẫn đến kết quả thu được từ các công trình nghiên cứu chưa được tốt.
D6 là những thách thức va cũng là động lực cho chúng tôi xây dựng hệ thốngNER trên bộ dữ liệu mới nhất của VLSP đưa ra năm 2021 Trong đó, mục tiêu củachúng tôi là xây dựng hệ thống nhận diện cho cả hai loại thực thể: thực thể đơn vàthực thể lồng nhau Bằng các phương pháp tiền xử lí, chúng tôi đã làm sạch bộ dữ
liệu được cung cấp và đưa về định dang JSON, nhằm thuận lợi cho việc phát triển.
Sau đó, chúng tôi đã quyết định chia bộ dữ liệu thành hai tập Train và Dev để huấnluyện và đánh giá mô hình Ngoài ra, chúng tôi đã nghiên cứu và tiến hành thựcnghiệm mô hình TreeCREs [3] và xây dựng một mô hình kết hợp từ 4 mô hình độc
lập (chúng tôi xin tạm gọi là mô hình kết hợp 4 mức) dựa trên việc tinh chỉnh trên
mô hình pre-trained XLM-RoBERTa[4] trên bộ dữ liệu của VLSP.
Bài toán chính trong đề tài của chúng tôi có thể được phát biểu như sau:
1 Đầu vào: là một câu văn tiếng Việt trong bắt kì lĩnh vực nào.
2 Đầu ra: là câu văn tiếng Việt trên đã được thêm các thực thể định danh cùng
với loại định danh tương ứng.
Cu thể, xét câu văn "Anh Thanh là cán bộ Uỷ ban nhân dân Thành phó Hà Nội."
Kết quả mong muốn nhận được sẽ là "<ENAMEX TYPE="PERSON"> Anh Thanh
</ENAMEX> là cán bộ <ENAMEX TYPE="ORGANIZATION"> Uỷ ban nhân dân
<ENAMEX TYPE="LOCATION"> thành phố Hà Nội <ENAMEX></ENAMEX>
." Trong đó, "anh Thanh" được nhận dạng là một thực thể với loại Tên người
(PER-SON), các thực thể còn lại cùng với loại thực thể tương ứng lần lượt là "Uỷ ban nhândân thành phố Hà Nội" (ORGANIZATION) và "thành phố Ha Nội" (LOCATION).Ngoài ra, các thực thể còn có thể lồng nhau, như ví dụ trên thực thể "thành phố HàNội" là một thực thể đơn được lồng trong thực thể "Uỷ ban nhân dân thành phố Ha
Nội".
Trang 141.2 Mục tiêu khoá luận
Về khía cạnh học thuật, chúng tôi muốn xây dựng một hệ thống NER có thể giảiquyết vấn đề nhận dạng thực thể lồng một cách hiệu quả Vì vậy, mục tiêu chính
của chúng tôi là nghiên cứu và cài đặt mô hình state-of-the-art Partially-Observed
TreeCRFs Bên cạnh đó, chúng tôi cũng đề xuất một mô hình kết hợp từ 4 mô hình
độc lập dựa trên việc tinh chỉnh trên mô hình pre-trained XLM-RoBERTa để xây
dựng một mô hình có kiến trúc đơn giản hơn TreeCRFs và so sánh kết quả của hai
mô hình đã dé xuất cho bài toán nhận diện thực thể định danh trên bộ dit liệu VLSP
2021 để kết luận được mô hình nào hiệu quả hơn
1.3 Đối tượng và phạm vi nghiên cứu
1.3.1 Đối tượng nghiên cứu
Chúng tôi đã tiền hành nghiên cứu các thực thể định danh có trong bộ dữ liệu VLSP
2021 Trong đó, chúng tôi tập trung vào quy tắc gán nhãn các thực thể định danh với
loại thực thể tương ứng với mục tiêu tìm ra được đặc điểm chung của từng loại thựcthể khi được gán nhãn Bên cạnh đó, chúng tôi cũng xem xét việc gán nhãn các thực
thể lồng nhau để từ đó có thể điều chỉnh mô hình cho phù hợp Ngoài ra, chúng tôi
cũng tập trung nghiên cứu mô hình Partially-Observed TreeCRFs Đây là một mô
hình mới được công bố năm 2020 và đạt được kết quả state-of-the-art cho bài toánNER trên tiếng Anh Mô hình còn lại mà chúng tôi nghiên cứu là mô hình kết hợp
từ 4 mô hình độc lập dựa trên việc tinh chỉnh mô hình pre-trained XLM-RoBERTa,
cũng là một mô hình thể hiện tốt trên dữ liệu đa ngôn ngữ
1.3.2 Pham vi nghiên cứu
Trong phạm vi của khoá luận này, chúng tôi tiến hành xây dựng hệ thống nhận diện
thực thể định danh trên dữ liệu tiếng Việt Chúng tôi quyết định nghiên cứu các bộ
đữ liệu đang được sử dụng rộng rãi bởi cộng đồng xử lí ngôn ngữ tiếng Việt đó là bộ
dữ liệu VLSP2021, bộ dữ liệu kế thừa và được cải thiện từ hai bộ dữ liệu tiền nhiệm
là VLSP2016 và VLSP2018.
Về phần nghiên cứu thực nghiệm, nhận thấy kết quả thu được từ các công trình
Trang 15nghiên cứu cho bài toán nhận diện thực thể định danh trên dữ liệu tiếng Việt quacác năm đều chưa thu được kết quả tốt, chúng tôi cài đặt hai mô hình đã đề xuấtchủ yếu với mục đích học thuật, đó là nắm được phương pháp của các công trìnhstate-of-the-art là chính, chấp nhận kết quả dự đoán của mô hình có thể không cao.
1.44 Kết quả của đề tài
Nghiên cứu của chúng tôi đã đạt được kết quả như sau:
+ Kết quả dự đoán trên tập Test được cung cấp bởi VLSP của mô hình
Partially-Observed TreeCRFs với lớp biểu diễn từ XLM-RoBERTa pase đạt được
1.5 Cấu trúc khoá luận
Bồ cục của báo cáo khoá luận này gồm 6 chương, với các nội dung chính được liệt
kê dưới đây:
s Chương 1: Mở đầu Trình bày động cơ thực hiện khoá luận, đề tài của khoá
luận, mục tiêu, đối tượng và phạm vi nghiên cứu của khoá luận và kết quả đạt
được của khoá luận.
* Chương 2: Tổng quan Giới thiệu bài toán Nhận diện thực thể định danh.
Trang 16những vấn đề mà chúng tôi sẽ tập trung giải quyết trong phạm vi khoá luận.Sau đó chúng tôi đề cập, phân tích đánh giá những công trình nghiên cứu liênquan đến đề tài Nhận điện thực thể định danh, Nhận diện thực thể định danhlồng nhau trên dit liệu tiếng Anh và tiếng Việt, đặc biệt là những công trình đã
đạt kết quả state-of-the-art cho bài toán Nhận diện thực thể định danh
* Chương 3: Bộ ngữ liệu thực thể định danh Trình bày về những bộ ngữ
liệu chúng tôi đã sử dụng để huấn luyện và kiểm thử hệ thống NER Trong đó,chúng tôi đưa ra các phân tích và thống kê số liệu trên các bộ ngữ liệu liênquan đến các đặc trưng cần rút trích và đưa vào mô hình huấn luyện
* Chương 4 Mô hình cho bài toán Nhận diện thực thể định danh Trong
chương này, chúng tôi tập trung trình bày cơ sở lý thuyết của thuật toán
Con-ditional random field (CRF), trên cơ sở đó trình bày mô hình TreeCRFs và mô
hình cải tiến Partially-Observed TreeCREs cho bài toán Nhận diện thực thể
định danh lồng nhau Ngoài ra, chúng tôi cũng giới thiệu các mô hình tiền
huấn luyện là mô hình BERT và mô hình XLM-RoBERTa Cuối cùng, chúngtôi trình bày về hệ thống Nhận diện thực thể định danh chúng tôi đã xây dựng
trong khoá luận này.
s Chương 5: Thí nghiệm và kết quả Trình bày các bước của giai đoạn tiền xử
lý dữ liệu, các đặc trưng cần rút trích cho mô hình chúng tôi đã đề xuất trongchương 4 Chúng tôi cũng đưa ra các thông số cài đặt trong quá trình tiến hànhthí nghiệm các mô hình Sau đó, chúng tôi cũng cung cấp bảng số liệu kết quả
đã đạt được.
* Chương 6: Kết luận và hướng phát triển Trong phần cuối cùng, chúng tôi
tổng kết những điều đã đạt được trong khoá luận này, chỉ ra những điểm hạnchế và đưa ra hướng phát triển trong tương lai
Trang 17Trong chương này, chúng tôi sẽ giới thiệu về bài toán Rút trích thông tin, bàitoán Nhận diện thực thể nói chung trên ngôn ngữ tiếng Việt nói riêng Bên cạnh đó
chúng tôi cũng trình bày những khó khăn của bài toán mà chúng tôi gặp phải trong
quá trình thực hiện khoá luận Sau đó chúng tôi sẽ đề cập và phân tích những côngtrình nghiên cứu liên quan đến dé tài này, đặc biệt là những công trình có kết quả
state-of-the-art ở thời điểm hiện tại
2.1 Bài toán Rút trích thông tin
Là một nhánh nghiên cứu trong lĩnh vực Xử lý ngôn ngữ tự nhiên, bài toán Rút trích thông tin (Information Extraction - IE) tập trung vào việc rút trích ra thông tin ngữ
nghĩa từ văn bản Nói cách khác, bài toán này giải quyết vấn đề biến đổi dữ liệu
dạng văn bản (phi cấu trúc) thành dạng biểu diễn có cấu trúc, chẳng hạn như cơ sở
dữ liệu Rút trích thông tin được ứng dụng trong rất nhiều lĩnh vực, có thể kể đếnnhư: Hệ thống trả lời câu hỏi, Tóm tắt văn bản, Knowledge graph, Các hệ thống đềxuẤt, v V
Theo Cunningham[1], các bước chính trong hệ thống rút trích thông tin bao gồm(1) giai đoạn tiền xử lí dữ liệu, bao gồm tách câu, tách từ, phân tích cú pháp, gán
nhãn từ loại; sau đó, bài toán Rút trích thông tin có thể được chia thành các bài
toán con đó là: (2) Nhận diện thực thể (Named entity Recognition), (3) Giải quyếtđồng tham chiều (Coreference resolution) và (4) Rút trích quan hệ giữa các thực
thể (Relation extraction)
2.2 Bài toán Nhận diện thực thé
2.2.1 Mô tả bài toán
Theo Cunningham[ 1], phương pháp Nhận diện thực thể là kỹ thuật đơn giản và đáng
tin cậy nhất Điều này có thể được giải thích bởi lý do trong bài toán Rút trích thôngtin, hệ thống cần xác định và trích xuất các thông tin cần thiết Đó có thé là: rút tríchcác thực thể, hoặc mối quan hệ giữa các thực thể, và giải quyết đồng tham chiếu.Điều này yêu cầu hệ thống rút trích thông tin trước hết cần nhận dạng được các thực
Trang 18thể có trong dữ liệu đầu vào, mà trong phạm vi khoá luận này là văn bản Vì vậy, có
thể khẳng định bài toán Nhận diện thực thể tuy là bài toán đơn giản nhất nhưng là
bước nền tảng nhất để giải quyết các bài toán phức tạp hơn
Thực thể định danh, nói một cách khái quát, có thể chỉ về bất cứ điều gì được
gắn với một cái tên thích hợp: một người, một địa điểm hoặc một tổ chức Nhiệm
vụ của bài toán nhận diện thực thể là có thể nhận dạng và phân loại các thực thể
đã được định nghĩa theo một bộ các quy ước và quy tắc gán nhãn cụ thể Nói cách
khác, mục tiêu của bài toán là đi tìm cụm biểu diễn từ (word span) cấu thành nên
một định danh phù hợp và gán nhãn cho chúng với loại tên tương ứng Trong các
hội nghị, hội thảo hay cuộc thi về NER, có 4 loại thực thể thường được xét đến là:
tên người (PERSON - PER), tên tổ chức (ORGANIZATION - ORG), tên địa lý
LOCATION - LOC và các tên khác (MISCELLANEOUS - MISC) Tuy nhiên,
khái niệm /hực thé định danh thường được mỏ rộng để chỉ những thứ mà bản thânchúng không phải là những thực thể, bao gồm ngày tháng, thời gian, và các dạng
biểu diễn thời gian khác, thậm chí đó có thể là biểu diễn dạng số, chẳng hạn như giá
tiền Dưới đây là một ví dụ về một câu văn đã được gán nhãn thực thể định danh:
Theo thong kê, [parerme năm nay] đã có tổng cộng [quantiry-Num 31]
tiểu hành tinh có cự li gần với [LocAnox-oso trái đất] va [L,ocATIoN-GEO
mặt trăng] đã bay lướt qua [Locarion-ceo Trái Đắt], lần gần đây nhất là
vào [parriE.parp tháng 4-2017] [person Trung Nguyễn] (Tổng hợp)
Loại thực thể | Nhãn Các loại tên Ví dụ
Tên người PER tên người, nhân vật hư Nguyên Du là một đại thi
cấu, bí danh hào trong nền văn học
Việt Nam.
Tên tổ chức ORG | tên cơ quan, công ti, tổ Nhà máy thuỷ điện Hoà
chức chính trị Bình là nhà máy thuỷ điện
lớn nhất Việt Nam và
Đông Nam Á.
Tên địađiểm | LOC | tên công trình xây dựng, | Thành pho Hồ Chí Minh
địa điểm địa lý, tên hành | là trung tâm kinh tế trọng
tỉnh điểm của cả nước
Bảng 2.1 Danh sách các loại thực thể với các loại tên tương ứng
Trong ví dụ trên, có 7 thực thể được gán nhãn, trong đó có 3 thực thể là tên
Trang 19địa điểm - địa lý, 2 thực thể thời gian, 1 thực thể số lượng và 1 thực thể tên người.Bảng 2.1 mô tả các loại thực thé tổng quát và tiêu biểu Trong một số ứng dụng, một
số loại thực thể sẽ được định nghĩa chuyên biệt ví dụ như protein, mã gen[5], các
sản phẩm thương mại hay tác phẩm nghệ thuật
Bài toán nhận diện thực thể cũng thuộc lớp bài toán Gán nhãn chuỗi (Sequencelabeling), một cách tổng quát bài toán có thể được phát biểu như sau:
* Đầu vào: X = {zizaz; z„} là chuỗi các từ z;
« Đầu ra: Y = {129i 0n } là chuỗi các nhãn ; được gán tương ứng cho X
Trong đó với mỗi từ z; X ta có tương ứng một nhãn y; Y là chuỗi các nhãn,
sao cho độ đài của X và Y bằng nhau.
Một cách tiếp cận tiêu chuẩn để giải quyết vấn đề gán nhãn chuỗi cho bài toán có
dạng biểu diễn theo cụm từ (span) như Nhận dạng thực thể định danh đó là phương
pháp gán nhãn BIO [6] (Begin - Inside - Outside) Bằng cách này, ta có thể xem bài
toán Nhận dạng thực thể định danh như một bài toán gán nhãn chuỗi theo từng từ
(word by word) thông qua các nhãn mang cả hai giá trị: ranh giới từ (word boundary)
- vị trí bắt đầu và kết thúc của một từ - và loại thực thể định danh Cùng xem xét ví
dụ sau:
Trận [Loc Việt Nam] - [oc Campuchia] được chuyển ra [Loc Mỹ Đình]
thay vi [Loc Thống Nhất].
Bảng 2.2 trình bày cách gán nhãn cho câu ví dụ trên theo phương pháp gán nhãn
BIO, cũng như các biến thể của nó là phương pháp gán nhãn IO và BIOES Trongcách gán nhãn BIO, ta gán tất cả những từ bắt đầu một cụm từ được quan tâm bằng
B, các từ xuất hiện trong cụm từ đó bằng nhãn 7, và tất cả những từ nằm ngoài cum
từ đang được quan tâm đều được gan nhãn O Biểu diễn câu văn theo các nhãn BIO
tận dụng được ưu điểm của phương pháp gán nhãn từ loại (part-of-speech tagging)trong bài toán gán nhãn chuỗi, đó là: gán mỗi nhãn y; tương ứng với một từ z; Ngoài
ra, các biển thể của phương pháp gán nhãn BIO là IO và BIOES cũng được chúng
tôi đề cập ở đây để so sánh: phương pháp gán nhãn IO sẽ làm mất đi một số thôngtin khi loại bỏ nhãn bắt đầu B của cụm từ, trong khi đó BIOES thêm một nhãn E
Trang 20> Tách câu |
) Gazetteer
¬ Xửphi sấu trúc Tach từ => Thực thé
Việt I-LOC B-LOC B-LOC
Nam I-LOC I-LOC E-LOC
sân I-LOC B-LOC B-LOC
My I-LOC I-LOC I-LOC
Dinh I-LOC I-LOC E-LOC
O O O
Bảng 2.2 Cách gán nhãn theo phương pháp BIO, với các biển thể IO và BIOES [6]
Bài toán nhận diện thực thể thường được chia thành hai quy trình liên tiếp: (1)
Nhận dạng thực thể và (2) Phân loại thực thé[7] Nhận dạng thực thể là quy trình
tìm kiếm các thực thể đang được quan tâm và được đề cập đến trong văn bản, còn
Phân loại thực thể có nhiệm vụ phân lớp các thực thể đã được xác định theo thể loại
hoặc theo các lớp, chẳng hạn như tên người hoặc tên tổ chức Một kiến trúc thường
thấy của một hệ thông Nhận diện thực thể được mô tả trong Hình 2.1
Kiến trúc này bao gồm nhiều thành phần khác nhau được liệt kê dưới đây:
Trang 21* Một bộ tách câu: có nhiệm vụ xử lí văn bản phi cấu trúc và chia nhỏ văn bản
thành các câu;
* Một bộ tách từ: tách các câu được xử lí ở bước trên thành các "token", chẳng
hạn như từ, số, và dấu câu;
* Một bộ gan nhãn từ loại: gán nhãn cho một từ trong văn bản với từ loại tương ứng của nó, ví dụ như danh từ, động từ, tính từ,v v
+ Một mô-đun nhận dang thực thé bao gồm 3 thành phan:
1 Từ điển định danh (gazetteer): chứa một danh sách các tên được phân
loại thành các loại thực thể Thuật ngữ gazetteer theo lịch sử dùng để chỉ
một danh sách chỉ tiết các định danh địa lý cùng những thông tin kèm
theo; ở đây thuật ngữ này được áp dụng một cách tổng quát hơn cho một
danh sách mở rộng các định danh và các lớp.
2 Bộ trích xuất đặc trưng: có nhiệm vụ trích xuất những đặc trưng có ý
nghĩa để dùng như là đầu vào cho mô hình trích chọn
3 Mô hình trích chọn: đây là thành phần cốt lõi thực hiện việc phân lớp
các thực thể dựa trên các đặc trưng được trích xuất
2.2.2 Khó khăn
Trong phần này, chúng tôi trình bày khó khăn của bài toán Nhận diện thực thể định
danh về: (1) Tính chất của bài toán, tính chất của các bộ ngữ liệu tính đến thời điểm
hiện tại cho bài toán và các nguyên nhân kĩ thuật; và (2) Các đặc điểm trong ngônngữ tiếng Việt
Không giống như bài toán gán nhãn từ loại khi mỗi từ đều được gán một nhãntương ứng, bản chất của bài toán Nhận diện thực thể định danh là đi tìm các cụm từ
(hay ranh giới của cụm từ) trong văn bản, vì vậy khó khăn của bài toán Nhận diện
thực thể định danh một phần đến từ sự nhập nhằng trong việc tách câu, tách từ Tacần phải xác định và lập ra các quy ước, quy tắc thế nào là một thực thể, và trong
trường hợp nào thì cụm từ không là một thực thể Ngoài ra, ta còn phải xác định
ranh giới từ cho các thực thể đó Trong một văn bản, hầu hết các từ không phải là
Trang 22thực thể Điều này làm cho dữ liệu thực thể định danh rút trích từ các văn bản đượcthu thập qua sách, báo, Internet là không nhiều Ngoài ra, một khó khăn lớn trong
ài toán Nhận diện thực thể định danh là việc xử lí nhập nhằng về loại thực thể.Bảng 2.3 cho 3 ví dụ về một từ nhưng lại dùng để chỉ về 3 loại tên thực thể khác
nhau:
Loại thực thể Ví dụ Nghĩa
PER Chủ tịch Hồ Chí Minh Tên người
LOC Thành phô Hồ Chí Minh Tên một thành phô
ORG Doan Thanh niên Cộng sản Hồ Tén một tổ chức, đoàn thể
công trình trước đây làm về Nhận dạng thực thể đều gần như hoàn toàn bỏ qua các
thực thể lồng nhau và chỉ tập trung nghiên cứu trên các thực thể đơn Finkel và
Manning[8] tin rằng điều này đến từ những nguyên nhân thực tế, chứ không phải
trên lý thuyết Hầu hết các nhà thiết kế ngữ liệu đã quyết định giảm bớt độ phức tạp
của bài toán, và chỉ tập trung gán nhãn những thực thể ngoài cùng Các bộ dữ liệu
được sử dụng rộng rãi như ConLL[9], các bộ ngữ liệu MUC-6 [10], MUC-7 [11],
được xây dựng từ những trang báo điện tử của Mỹ và Anh, tất cả đều chỉ gán nhãncác thực thể đơn Bộ ngữ liệu GENIA có chứa những thực thể lồng nhau, nhưng
trong cuộc thi JNLPBA năm 2004 [12], là cuộc thi có sử dụng bộ ngữ liệu này, đã
loại bỏ tất cả những thực thể lồng nhau trong bước đánh giá Một lý do khác cho việc
có ít sự quan tâm đến việc giải quyết các thực thể lồng nhau trong bài toán Nhận diện
thực thể đó là vấn đề kỹ thuật Bài toán Nhận diện thực thể định danh được bắt đầu
xuất hiện trong các buổi hội thảo của MUC như là những cụm từ ngắn và nhỏ, và các
mô hình trạng thái hữu han (finite state) hoặc các từ điển định danh (gazetteers) đều
có thể xác định được Điều này dẫn đến việc sử dụng rộng rãi các mô hình chuỗi,đầu tiên là mô hình Markov ẩn (Hidden Markov), sau đó là mô hình Markov có điều
kiện (conditional Markov) và Trường điều kiện ngẫu nhiên (Conditional Random
Fields - CRFs)[13] Tat cả những mô hình này đều không có khả năng mô hình hoá
Trang 23những thực thể định danh lồng nhau.
Khó khăn cuối cùng mà chúng tôi đề cập đến trong phần này xuất phát từ một sốđặc điểm trong ngôn ngữ tiếng Việt[ 14]
Thứ nhất, đó là đặc điểm của ranh giới từ tiếng Việt Tat cả các tiếng trong
tiếng Việt đều chỉ có 1 âm tiết, được phân cách với tiếng trước và sau bởi một khoảngcách Mặc dù vậy, không phải tat cả các tiéng đều là tir - theo khái niệm về tiv ápdụng cho ngôn ngữ các nước châu Âu Trong khi một số tiéng bản thân nó đã là một
từ, rất nhiều tiéng trong tiếng Việt phải kết hợp với một hoặc nhiều tiéng khác để tạonên một từ có nghĩa Điều đó dẫn đến việc có rất nhiều cách khác nhau để tách từ
trong một câu, và với mỗi cách tách từ khác nhau ta sẽ được các từ với ý nghĩa hoàn
toàn khác nhau Vì vậy, việc xác định ranh giới của từ trong tiếng Việt phụ thuộc rấtnhiều vào đặc điểm ngữ pháp và ngữ cảnh của câu, chứ không đơn thuần có thể xácđịnh ranh giới của từ bằng khoảng cách như trong tiếng Anh
Thứ hai, đó là từ mượn trong tiếng Việt Hơn 50% số lượng từ trong tiếng Việt
có nguồn gốc từ tiếng Trung, hay còn gọi là từ Hán-Việt Từ Hán-Việt được sử dụng
rộng rãi trong nhiều lĩnh vực, đặc biệt là khoa học và chính trị Tuy nhiên, ta nên
xem từ Hán-Việt là từ được kế thừa, chứ không phải từ mượn Trong tiếng Việt, hầuhết các từ mượn thật ra đến từ tiếng Pháp (trong giai đoạn thực dân Pháp xâm lược
từ năm 1789 đến năm 1945) và sau này là từ tiếng Anh (kể từ năm 1945 cho đếnnay) Bởi đặc điểm tiếng Việt cũng là một ngôn ngữ hệ La-tinh, và chữ viết tiếng
Viét là phiên âm chính xác của tiếng nói tiếng Việt, vì thế việc tạo lập các từ nước
ngoài bằng cách phiên âm (có hoặc không có dấu gạch nối giữa các tiếng) hoặc giữ
nguyên, không thay đổi từ đó Bảng 2.4 trình bày một số ví dụ về từ mượn trong
tiếng Việt:
Ngoài ra, có một số từ ghép được tạo ra bởi việc kết hợp giữa từ Hán-Việt (hoặc
từ thuần Việt) và từ mượn, chẳng hạn như tiém vắc-xin, vỉ-rút cúm gia cẩm, VW
Thứ ba, là định dạng của từ tiếng Việt Tiếng Việt là một ngôn ngữ không biếnhình (isolating language), các từ trong tiếng Việt đều không có biến tố (inflection)
và định dạng của từ chỉ là việc kết hợp các tiếng độc lập và thay đổi trật tự từ Các
khía cạnh về cú pháp đều được biểu dién bằng các trợ từ (grammatical particle) Dé
biểu diễn sự thay đổi của động từ theo các thì quá khứ, tương lai hay tiếp diễn, tiếng
Trang 24Từ gôc Ngôn ngữ gôc Từ tiêng Việt Nghĩa
cinéma tiêng Pháp xi-nê, xinê rạp chiêu phim
virus tiêng Anh vi-rut, virut, virus ky sinh trùng siêu
nhỏ Albert Einstein | tiéng Đức An-be Anh-xtanh Tén một nhà khoa
Tokyo tiêng Nhật Đông Kinh, Tô-ki-ô, | (nghĩa Hán Việt: kinh
Tô-ky-ô, Tokyo đô phía đông) thủ đô
của Nhật Bản
Bảng 2.4 Ví dụ về từ mượn trong tiếng Việt [14]
Việt sử dụng các trợ từ "đã", "sẽ", "đang" Đối với những danh từ số nhiều, tiếng
Việt sử dụng các từ "những wong, "các", thay vi thêm s/es như trong tiếng Anh
Thứ tư, một số từ có biến thể về phát âm (với cùng một nghĩa) Điều này đến
từ những lý do sau:
* Việc sử dụng dấu gạch nối trong từ mượn hoặc từ ghép: Việc không đồng nhấttrong việc sử dụng dấu gạch nối cho từ mượn hoặc từ ghép trong các văn bản
tiếng Việt cũng gây nên khó khăn trong việc chuẩn hoá bộ ngữ liệu Chẳng
hạn như các tài liệu trước đây thường sử dụng dấu gạch nối cho từ ghép, trong
khi các văn bản hiện đại đã bỏ đi quy tắc đó.
Việc sử dụng dấu thanh (tone marks) trong phiên âm: Cũng như lý do trên,việc sử dụng không đồng nhất dấu thanh đối với các từ phiên âm từ tiếng nước
ngoài, chẳng hạn Pé-cdc hoặc Pé-cac gây sự nhầm lẫn và nhập nhằng trong
việc xác định từ trong văn bản.
Các âm gần giống nhau trong các từ mượn: chữ viết tiếng Việt là sự phiên âm
của ngôn ngữ nói, vì vậy việc phiên âm các từ mượn có thể khác nhau dựatrên việc phát âm gần giống với từ trong ngôn ngữ gốc Ví dụ như Indonesia
(tiếng Anh: tên một quốc gia) có thé được phiên âm thành /n-đô-né-xi-a hoặcIn-đô-nê-si-a, bởi vì âm /x/ và /s/ trong tiếng Việt phát âm gần giống nhau
'Thứ năm, đó là phương ngữ trong tiếng Việt Có ba phương ngữ chính trong
Trang 25tiếng Việt theo ba vùng miễn: Bắc, Trung, Nam Giữa phương ngữ của các vùngmiễn có sự khác biệt nhiều nhất là về ngữ âm Điều này làm cho tiếng Việt có nhiều
từ đồng nghĩa nhưng phát âm lại khác nhau, thậm chí khác hoàn toàn, chẳng hạn
như bó, ba, cha, tía
Ngoài những khó khăn kể trên, dữ liệu đầu vào trong các bộ ngữ liệu hầu hết lànhững câu ngắn Các văn bản ngắn như vậy thường không mang nhiêu thông tin về
ngữ cảnh hoặc không chứa đủ nội dung, ngoài ra còn có thể chứa một số từ lặp lại
nhiều lần Điều này gây nên sự khó khăn trong việc trích xuất các đặc trưng cho mô
hình Nhận diện thực thể
2.3 Các nghiên cứu liên quan
2.3.1 Các nghiên cứu cho bài toán Nhận diện thực thể trên ngôn ngữ tiếng
Anh
Bài toán Nhận diện thực thể được nghiên cứu rất rộng rãi trên loại văn bản trang trọng
(formal texts), chẳng hạn như tin tức trên báo chí hoặc các nội dung trên Internet đã
được xác thực Khi bộ dữ liệu về Nhận diện thực thể định danh lần đầu được giớithiệu tại hội nghị MUC, đa số các hệ thống làm về Nhận diện thực thể đều tiếp cận
bài toán theo hướng dựa trên luật (rule-based), kèm theo từ điển định danh Về sau,
có nhiều phương pháp Máy học được đề xuất, trong đó sử dụng nhiều mô hình Máy
học khác nhau Có thể kể đến như mô hình Markov ẩn (Hidden Markov), Support
Vector Machine, sau đó là mô hình Markov có điều kiện (conditional Markov) vàTrường điều kiện ngẫu nhiên (Conditional Random Fields - CRFs)[13] Cụ thể,
McCallum và Li[15] đã áp dụng một phương pháp quy nạp đặc trưng cho mô hình
CREs để nhận dạng thực thể định danh [16] đã đề xuất một mô hình kết hợp giữaCRFs và các ngữ nghĩa tiềm ẩn (latent semantics) để nhận dạng thực thể định danh.Trong [17] và [18], các tác giả đã đề xuất một bộ gán nhãn dựa trên kỹ thuật Entropycực đại (maximum entropy) và một bộ gán nhãn cụm dựa trên mô hình Markov ẩn.Các mô hình này nhìn chung đều không phức tạp và không yêu cầu quá nhiều tàinguyên Tuy vậy, những mô hình này lại phụ thuộc quá nhiều vào việc sử dụng bộ
dữ liệu đặc trưng, các đặc trưng được thiết kế bởi con người (hand-crafted) mà việc
Trang 26xây dựng các bộ dữ liệu như vậy là rất tốn kém và không có tính tái sử dụng.
Trong những năm trở lại đây, với sự tiến bộ của kỹ thuật, các mô hình mạngnơ-ron (neural network) nổi lên như một công cụ mạnh mẽ để giải quyết rất nhiềubài toán, trong đó có những bài toán về gán nhãn chuỗi Các mô hình mạng nơ-ron là những hệ thống đầu cuối (end-to-end) không yêu cầu những đặc trưng riêngbiệt được định nghĩa trước Những mô hình này thường dựa trên những kiến trúc
mạng phức tạp như RNN, LSTM hay CNN[19, 20, 21, 22] Word embeddings hay
character embeddings thường được sử dụng để biểu diễn các mối quan hệ ngữ nghĩa
của từ hoặc chữ cái Những trường thông tin khác như nhãn từ loại (part-of-speech
- POS) hoặc nhãn cụm từ cũng được sử dụng để cung cấp thêm những thông tin
về ngữ nghĩa Các câu được biểu diễn theo dạng véc-tơ và được đưa vào các mạngnơ-ron học sâu có nhiều tầng kiến trúc để có thể trích xuất ra được tri thức Sau đó,một lớp CRE sẽ được thêm vào lớp trên cùng của kiến trúc mạng để có thể suy luận
ra nhãn thực thể cho từ hay tokens Với những điều kể trên, các mạng nơ-rơn dễ dang
thích ứng với những miền dữ liệu mới và có thể đạt được kết quả state-of-the-art chorất nhiều bài toán gan nhãn chuối Mặc dù vậy, một nhược điểm của các mô hìnhmạng nơ-ron chính là sự phức tạp của kiến trúc mạng, điều này yêu cầu một lượng
đữ liệu huấn luyện rất lớn và cũng tồn rất nhiều thời gian để huấn luyện các mô hình
này.
2.3.2 Các nghiên cứu cho bài toán Nhận diện thực thể trên ngôn ngữ tiếng
Việt
Trên miền dữ liệu tiếng Việt, có nhiều phương pháp đã được đề xuất bằng cách
sử dụng nhiều mô hình khác nhau, chẳng hạn như Support Vector Machine[ 14],classffier voting [23] và CRF [24, 25] Phạm và các cộng sự[26] đã đề xuất một
thuật toán học online, có tên là MIRA[27], bằng cách kết hợp CRE và thuật toán
bootstrapping Sam và các cộng sự [28] đã sử dụng ý tưởng của Liao và
Veera-machaneni trong bài [29] dựa trên CRE và phát triển nó bằng cách kết hợp các đồng
tham chiếu định danh tương ứng và các heuristics giải quyết nhập nhằng về tên vớimột mô hình Máy học dựa trên chuỗi Nguyễn và Phạm [30] đã đề xuất một phương
pháp lựa chọn đặc trưng cho bài toán Nhận diện thực thể bằng cách sử dụng thuật
Trang 27giải di truyền Sau đó, Lê và Tran[31] đã cải tiến phương pháp này bằng cách déxuất một số chiến lược để giảm thời gian chạy của thuật giải di truyền sử dụng trong
bước lựa chọn đặc trưng cho bài toán Nhận dạng thực thể định danh
Có một số công trình đáng chú ý được đề xuất bởi các nhà nghiên cứu người Việttrong việc giải quyết bài toán Nhận diện thực thể, chẳng hạn như mô hình suy luận
đặc trưng động (dynamic feature induction model)[32], mô hình sử dụng CRF[33]
hoặc LSTM[22, 34] Mô hình dựa trên CRF đạt kết quả state-of-the-art trên bộ dữ
liệu VLSP 2016 và 2018 trong cuộc thi đánh giá hệ thống Nhận diện thực thể địnhdanh do VLSP tổ chức; tuy nhiên, mô hình này vẫn còn tổn tại những hạn chế từnhững mô hình xác suất tuyến tính chúng tôi đã đề cập trong phan 2.3.1
Trang 28Trong chương này, chúng tôi trình bày cơ sở lý thuyết của các phương pháp chúng
tôi đã sử dụng để xây dựng mô hình Nhận diện thực thể định danh
3.1 Mạng no-ron (Neural Network)
Mục tiêu của ngành Trí tuệ nhân tạo nói chung hay lĩnh vực Máy hoc nói riêng, đó là
xây dựng nên những thuật toán, hệ thong giúp huấn luyện máy tính thực hiện nhữngtác vụ mà con người có thể làm tốt và làm thường xuyên trong đời sống hằng ngàyvới độ chính xác gần như tuyệt đối Những tác vụ đó đến một đứa trẻ cũng có thểlàm được, chẳng hạn như phân biệt giữa chó và mèo, hay gọi tên được các đồ vậtđược chỉ định, v.v Những công việc đó rất đơn giản đối với con người, tuy nhiên
đối với máy tính để thực hiện giống như vậy thì cực kì khó Vậy câu hỏi đặt ra là Su
khác biệt nằm ở đâu? Điều gì làm cho con người khác biệt so với máy tính về mặt
nhận thức? Câu trả lời nằm ở cấu trúc của não bộ con người với một số lượng lớn
các nơ-ron thần kinh liên kết với nhau
No-ron (neuron) là đơn vị cơ bản cầu tạo nên hệ thần kinh va là thành phần quantrọng nhất của não bộ Bộ não của một người trưởng thành có khoảng 10 triệu nơ-ron, trong đó mỗi nơ-ron đều liên kết với 10.000 nơ-ron khác tạo nên một mạng lướicác xung thần kinh dày đặc và phức tạp
Hình 3.1 mô tả cấu tạo của một nơ-ron thần kinh cơ bản Phần thân của nơ-ron
(soma) chứa nhân (nucleus), gắn liền với thân có các sợi nhánh (dendrites) và sợi
trục (axon) để truyền phát các tín hiệu đầu ra nhận được từ các sợi nhánh đến các sợi
nhánh của nơ-ron khác.
Các nơ-ron thần kinh thực hiện việc truyền dẫn tín hiệu qua lại lẫn nhau dựa vàoviệc lan truyền xung điện, hay còn gọi là xung thần kinh Nếu các xung điện này đủ
lớn, các nơ-ron sẽ kích hoạt để cho phép tín hiệu đi từ các sợi nhánh của mình, đến
sợi trục và lan truyền qua các sợi nhánh của các nơ-ron khác
Lấy cảm hứng từ cấu trúc mạng nơ-ron trong hệ thần kinh và cách thức hoạtđộng của não bộ trong việc lan truyền xung thần kinh giúp con người có thể xử lí
những thông tin nhận được từ môi trường bên ngoài thông qua năm giác quan, các
Trang 293.1.1 Mô hình Mạng nơ-ron (Neural network)
Hình 3.2 mô tả kiến trúc của một mạng nơ-ron cơ bản Tầng đầu tiên là tầng đầu vào(input layer), tầng cuối cùng là tầng đầu ra (output layer) Các hình tròn được gọi là
các node.
Mỗi mô hình mạng nơ-ron đều có 1 tầng đầu vào và | tầng dau ra, các phân lớp
ẩn có thể có hoặc không Tổng số tầng trong mô hình (không tính tầng đầu vào)
được quy ước bằng số tầng trừ đi 1 Ví dụ trong hình 3.2 có 1 tầng đầu vào, 1 tầng
đầu ra và 2 phân lớp ẩn Số tầng của mô hình này là 3
Mỗi node trong tầng đầu ra và các phân lớp ẩn đều liên kết với tất cả các node
ở tầng liền trước với các trọng số + (weight) riêng Ngoài ra, mỗi node cũng mang
một hệ số b (bias) riêng Tại mỗi node ở tầng đầu ra và các phân lớp ẩn đều diễn ra
2 quá trình:
* Tính tổng tuyến tính: tính tổng tất cả các node ở tầng liền trước nhân với hệ số
w tương ứng, rồi cộng với bias b
Trang 31+ Áp dụng hàm kích hoạt (activation function).
Hàm kích hoạt (activation function) là một thành phan rat quan trọng trongmạng nơ-ron Giống như trong não bộ, các nơ-ron có thể quyết định kích hoạt việclan truyền xung thần kinh đến các sợi nhánh của các nơ-ron khác hay không, hàmkích hoạt có nhiệm vụ tương tự là quyết định khi nào 1 node được kích hoạt hoặckhông, liệu thông tin tại node đó có nên được tiếp tục đưa vào các tầng kế tiếp hay
sẽ bị bỏ qua.
Hàm kích hoạt là một phép biên đổi phi tuyến tính thực hiện trên đữ liệu đầu vàotại mỗi node, và kết quả đầu ra sẽ được dùng làm đầu vào của các node tiếp theo.Công thức dưới đây mô tả một cách tổng quát về phép biến đổi này:
fw? x +) (3.1)
Trong đó 9Q) là hàm kích hoạt tai node thứ i trong tầng !, w” là ma trận hệ số và
b là véc-tơ hệ số độc lập
Néu không có hàm kích hoạt thì wTx + b sẽ chỉ là một phép biến đổi tuyến tính
Mặc dù giải phép biến đổi tuyến tính sẽ đơn giản hơn tuy nhiên ta sẽ không thể
mô hình hoá những bài toán phức tạp hơn, điển hình như bài toán XOR Một mạng
nơ-ron nếu không có hàm kích hoạt thì chỉ giống như một mô hình hồi quy tuyếntính (linear regression) Với việc sử dụng hàm kích hoạt, các kiến trúc mạng nd-ron
có thể "học" và thực hiện những nhiệm vụ đòi hỏi phức tạp hơn rất nhiều như bàitoán phân loại ảnh hoặc dịch máy (machine translation) Bảng 3.1 liệt kê một số
hàm kích hoạt phổ biến:
Ngoài ra, hàm kích hoạt còn hỗ trợ cơ chế lan truyền ngược (backpropagation)với việc cung cấp các hệ số đối với hàm chi phí (loss function), qua đó mô hình có
thể cập nhật lại weight va bias, giúp mô hình có thể tự cải thiện
3.1.2 Mạng nơ-ron hoi quy (Recurrent Neural Network)
Trong các mạng nơ-ron truyền thống, tat cả các giá trị đầu vào va đầu ra tại các nodeđều độc lập với nhau Đối với các bài toán yêu cầu thông tin dạng chuỗi như hoàn
Trang 32Bang 3.1 Một số hàm kích hoạt (activation function) phổ biến
thành câu hay dịch máy, mô hình mạng nơ-ron truyền thống không phù hợp vì các
dự đoán được đưa ra kế tiếp, chẳng hạn như từ tiếp theo, đều phụ thuộc vào vị trí
của từ đó trong câu và mối liên hệ giữa từ đó với những từ đằng trước nó Ví dụ,xét hai câu Con ăn cơm chưa và Con chưa ăn cơm Cả hai câu này đều có 4 tiếnghay tokens: "con, 'ăn, 'cơm”, ’chua’ Nếu áp dụng phương pháp tách từ one-hotencoding cho hai câu trên và đưa vào mạng nơ-ron truyền thống, ta có thể thấy rằng
không có sự khác biệt giữa hai câu trên Nhưng trên thực tế thì hai câu này mang
2 nghĩa hoàn toàn khác (thậm chí là trái ngược) nhau Vì vậy việc thay đổi trình tự
duyệt các từ trong câu đã làm sai lệch ý nghĩa của câu ban đầu
Mạng nơ-ron hôi quy (Recurrent Neural Network - RNN) đã ra đời để giải quyết
yêu cầu nói trên Ý tưởng chính của RNN chính là sử dụng thông tin dạng chuỗi,
cùng với việc dùng một bộ nhớ cho phép lưu lại thông tin từ những bước tính toán
trước đó để từ đó đưa ra dự đoán cho bước hiện tại RNN được gọi là hồi quy(recurrent) cũng chính vì cơ chế áp dung cùng một tác vụ cho tat cả các node trongmột chuỗi với kết quả đầu ra phụ thuộc vào tất cả các bước tính toán trước đó
Hình 3.3 mô tả một RNN đơn giản:
Theo hình3.3, một RNN được khai triển thành một chuỗi tuần tự các mạng ron Nếu ta có một câu ví du Nam là học sinh giỏi, thì RNN sẽ được triển khai thành
nơ-5 tầng mạng nơ-ron tương ứng với nơ-5 chữ trong câu ví dụ Khi đó, việc tính toán
trong RNN sé được diễn ra như sau:
* 2, là giá trị đầu vào tại thời điểm ¢ Nó có thể là một véc-tơ one-hot Ví dụ x;
sẽ tương ứng với từ /à trong câu ví dụ trên.
Trang 33x Xp] Xt Xt+]
Hình 3.3 Triển khai kiến trúc của một RNN
s; là trạng thái ẩn (hidden state) tại thời điểm ¿ s, được tính toán dựa trên tất cảcác trạng thái ẩn trước đó và giá trị đầu vào tại thời điểm ¿ theo một ham tínhtoán nhất định có dạng s; = ƒ(Uz;+ Ws¿_¡ +b„), với U là tham số trọng số tạitầng đầu vào, W là tham số trọng số tại tầng trạng thái ẩn và b„ là hệ số điềuchỉnh của tầng trạng thái ẩn Giống như ký hiệu đã trình bày trong phần mạng
nơ-ron truyền thống, hàm fC -) cũng đóng vai trò như một hàm kích hoạt, và
thường là một hàm phi tuyến tính chẳng hạn như tanh hay ReLU Ngoài ra, ở
thời điểm đầu tiên ta cũng cần khởi tạo một giá trị s_¡, thường được gán bằng
0.
ø, là giá trị đầu ra tại thời điểm t 0, được tính bằng công thức tổng quát:
or = ø(Vs; + bạ), với V là tham số trọng số tại tầng đầu ra với hệ số điều chỉnh
(0)
bq Tương tự như £0 (.) tai tầng trang thái ẩn, ø; ˆ(-) cũng là một ham phi tuyến
tính (thường được sử dụng phổ biến là hàm softmaz), kết quả trả về có thể làmột véc-tơ xác suất các từ có trong tập từ vựng
tưởng kết nối hay lưu trữ lại các thông tin từ các trạng thái trước đó để đưa ra
dự đoán cho thời điểm hiện tại của RNN đã được ứng dụng hiệu quả trong việc giải
quyết nhiều bài toán trong lĩnh vực Xử lý ngôn ngữ tự nhiên Nhưng lúc này lại cómột vấn đề xuất hiện: RNN có thể giải quyết tốt các trường hợp mà khoảng cách
các trạng thái trước đó đến thời điểm hiện tại là nhỏ, chẳng hạn như câu Toi là người
Việt Nam thì ta chỉ cần duyệt đến đoạn Ti là người Việt thì có thể dự đoán chính xác
Trang 34Công Công Ônhớ Công ©
quén đầu, vào
F tiém nang đầu ra
Trạng thái annà J— Us
Đầu vào X,
Tang kết nói đầy đủ Phép toán Sao chéi Ghép nối
Le] với hàm kích hoạt theo từng phần tử j} „Sao chép 7 Ghép nối
Hình 3.4 Kiến trúc bên trong của một ô nhớ LSTM[39]
từ còn lại là Nam.
Tuy nhiên, liệu RNN có thể dự đoán tốt trong những trường hợp yêu cầu ngữ cảnh
rộng và phức tạp hơn không? Thực tế đã cho thấy rằng, các mạng RNN truyền thống
đã gặp khó khăn khi các độ dài của chuỗi tuần tự bắt đầu tăng lên Về mặt lý thuyết,RNN có thể giải quyết vấn đề phụ thuộc xa (long-term dependencies) Nhưng theo
nghiên cứu của Hochreiter[36] va của Bengio cùng các cộng su[37], các mô hình
RNN đã gặp phải hai vấn đề là mát mát đạo hàm (vanishing gradient) và bùng nổ
dao hàm (exploding gradient).
3.1.3 Bộ nhớ Ngắn hạn Dài (Long Short-term Memory)
Bộ nhớ Ngắn hạn dài (Long Short-term Memory - LSTM) được dé xuất bởi Sepp
Hochreiter và Jiirgen Schmidhuber[38] vào năm 1997 như một phiên bản mở rộng
của mạng RNN, nhằm giải quyết vấn đề phụ thuộc xa trong mô hình RNN truyềnthống do việc mất mát đạo hàm Nếu như trong RNN, các phan tử đầu tiên có ảnhhưởng giảm dan đến kết quả dự đoán của các phan tử phía sau trong chuỗi đầu ra vìmat mát đạo hàm, thì LSTM với các kết nói phản hôi (feedback connection) có thé
khắc phục nhược điểm này.
Điểm nổi bật và khác biệt trong mô hình LSTM so với RNN là các ô nhớ (LSTM
memory cell) Hình 3.4 mô tả kiến trúc của một 6 nhớ LSTM Ý tưởng của LSTM
là thêm vào các trạng thái 6 nhớ nội bộ (cell internal state) và một hệ thông gồm 3
Trang 35cổng sàng lọc thông tin để kiểm soát các ô nhớ thông qua cơ chế cho phép một ô nhớđược phép ghi lại hay bỏ qua thông tin đầu vào của các trạng thái ẩn Hệ thống cáccổng này được lấy cảm hứng từ các cổng luận lý (logic) trong kiến trúc máy tính.
Ba cổng được giới thiệu trong LSTM là: cổng đầu vào (input gate) với nhiệm vụghi dữ liệu vào ô nhớ; cổng đầu ra (output gate) cho phép đọc thông tin từ ô nhớ đểtruyền đi các ô nhớ khác; cổng quên (forget gate) thực hiện việc quên đi các thông
tin không cần thiết từ ô nhớ
Dữ liệu đưa vào các cổng của LSTM tại thời điểm ¿ là véc-tơ đầu vào được kíhiệu là X; và véc-tơ trạng thái ẩn ở thời điểm trước đó H,_¡ Sau đó, dữ liệu nàyđược đưa qua một tầng két nói đẩy du (fully-connected layer) và một hàm kích hoạt
sigmoid Giá trị đầu ra tại ba cổng đều nằm trong khoảng [0, 1] Kí hiệu cho các cổng
lần lượt là: I, cho cổng đầu vào, F, cho cổng quên và O, cho cổng đầu ra Nhung vìcấu tạo của ba cổng đều giống nhau nên chúng tôi xin dùng thêm kí hiệu ¡, để chỉ
chung cho ba cổng đầu vào (input gate) tại thời điểm ¢, cùng với W là ma trận trong
số đầu vào (input weight), U là ma trận trọng số hồi quy (recurrent weight) và là
hệ số điều chỉnh (bias) Giá trị tại các cổng đầu vào được tính dựa trên công thức
Sau:
i, = ø(X©W + Hy_1U + 5) (3.2)
Một thành phần quan trong khác trong LSTM mà chúng tôi trình bày tiếp theo là
ô nhó tiém năng (candidate memory cell), kí hiệu là C; Các bước tính toán tại ô nhớtiềm năng cũng tương tự như đối với các cổng đầu vào, chỉ có hàm kích hoạt sigmoid
bây giờ được thay bằng hàm tanh cho giá trị trả về nằm trong khoảng [—1, 1] Phương
trình tính toán cho 6 nhớ tiềm năng tại thời điểm ¿ được trình bày dưới đây:
Ế, = tanh(X¿W + Hy_1U +b) (3.3)
Ô nhớ tại thời điểm ¢ trong LSTM được kí hiệu là C; Bên cạnh dữ liệu đầu vào
từ X¿ và C;, LSTM còn có một tham số quên F; để quyết định giữ lại hay bỏ qua
thông tin nhận từ ô nhớ tại thời điểm trước đó C;_¡ Phương trình cập nhật thông tin
Trang 36cho ô nhớ C; được trình bày dưới đây:
CG =FOC1+L0G (3.4)
với © là kí hiệu cho phép nhân véc-tơ theo từng điểm (point-wise vector product)
Nếu giá trị tại cổng quên F; luôn xấp xi bằng 1 và giá trị tại cổng vào I, luôn
xấp xi bằng 0, giá trị tại ô nhớ tại thời điểm trước đó C,_¡ sẽ được lưu lại và tiếp tụctruyền tới thời điểm hiện tại Điều này giúp hạn chế nhược điểm mất mát đạo hàmcủa RNN và đồng thời cũng giúp mô hình có thể nắm bắt các phụ thuộc xa tốt hơntrong chuỗi tuần tự
Cuối cùng, đầu ra của một ô nhớ LSTM Hy, hay còn gọi là trạng thái ẩn (hiddenstate) trong ô nhớ điểm kiểm soát bởi một hàm tanh, bảo đảm rằng giá trị của H,
luôn nằm trong khoảng (—1, 1) Giá trị của H; được xác định bằng phép nhân véc-tơ
theo từng điểm với giá trị tại cổng đầu ra O,, như được trình bày dưới đây: