Nguy n Th Thanh Huy n ễịềNguyễn Hoàng Đạt CH T CH HỦ ỊỘI ĐỒNG Trang 4 Lời cảm ơnLời đầu tiên, tác giả xin được gửi lời cảm ơn chân thành đến Tiến sĩ NguyễnThị Thanh Huyền bởi sự trợ giú
Trang 2LUẬ N VĂN TH C SĨ Ạ
NGUYỄN HOÀNG ĐẠT
dat.nhca190266@sis.hust.edu.vn
Chuyên ngành Toán Tin
Gi ảng viên hướ ng dẫn: TS Nguy n Th Thanh Huy n ễ ị ề
Vi ệ n: Toán ng d ng và Tin h c ứ ụ ọ
HÀ N I, 09/2020 Ộ
Chữ ký c a GVHD ủ
Trang 3B ẢN XÁC NHẬN CHỈNH SỬA LUẬ N VĂN TH C SĨ Ạ
H và tên tác gi luọ ả ận văn : Nguyễn Hoàng Đạ t
Đề tài luận văn: Mô hình ngôn ng ữ cho một số bài toán x lý ngôn ng t nhiên ử ữ ự Chuyên ngành: Toán Tin
Mã s ố SV: CA190266
Tác giả, Ngườ i hư ng d n khoa h c và H ớ ẫ ọ ội đồ ng ch m lu ấ ận văn xác nhậ n tác gi ả
đã sử a ch a, b sung lu n văn theo biên b ữ ổ ậ ả n h p H ọ ộ i đ ồng ngày 23/09/2020 với các
n i dung sau: ộ
• Không sử a ch a gì ữ
Ngày 24 tháng 09 năm 2020
Giáo viên hướng d n ẫ Tác gi luả ận văn
TS Nguy n Th Thanh Huy n ễ ị ề Nguyễn Hoàng Đạt
CH T CH HỦ Ị ỘI ĐỒNG
TS Lê Chí Ng c ọ
Trang 4Lời cảm ơn
Lời đầu tiên, tác giả xin được gửi lời cảm ơn chân thành đến Tiến sĩ NguyễnThị Thanh Huyền bởi sự trợ giúp nhiệt tình trong suốt quá trình nghiên cứu.Tác giả xin trân trọng cảm ơn Viện Toán ứng dụng và Tin học, Phòng đàotạo - Bộ phận quản lý đào tạo sau đại học, Trường Đại học Bách Khoa HàNội đã tạo mọi điều kiện thuận lợi để để tác giả hoàn thành luận văn này.Đồng thời tác giả xin gửi lời cảm ơn tới Tiến sĩ Lê Chí Ngọc cùng vớitoàn thể thành viên phòng nghiên cứu và phát triển công ty Cổ phần Truyềnthông Công nghệ iCOMM Việt Nam trong suốt quá trình làm luận văn hỗ trợ
về cả dữ liệu và góp ý chuyên môn để tác giả nghiên cứu và hoàn thành đềtài
Hà Nội, ngày 30 tháng 8 năm 2020
Nguyễn Hoàng Đạt
Trang 5mô hình đều đạt những kết quả tốt cho hai bài toán, đồng thời rất linh hoạt,
dễ dàng áp dụng, mở rộng cho những bài toán phân loại khác trong xử lýngôn ngữ tự nhiên Mã nguồn của mô hình được viết trên ngôn ngữ lập trìnhPython, sử dụng Pytorch
Từ khóa: Mô hình ngôn ngữ, nhận diện tên thực thể, phân loại sắc thái
văn bản, mạng biến đổi, cơ chế chú ý, Python, Pytorch
Trang 6Mục lục
1 Cơ sở lý thuyết 7
1.1 Xử lý ngôn ngữ tự nhiên 8
1.1.1 Giới thiệu về xử lý ngôn ngữ tự nhiên 8
1.1.2 Cơ sở lý thuyết của ngôn ngữ tự nhiên 8
1.1.3 Hướng tiếp cận chính trong xử lý ngôn ngữ tự nhiên 11 1.1.4 Biểu diễn văn bản ngôn ngữ tự nhiên 16
1.2 Mô hình ngôn ngữ 17
1.2.1 Giới thiệu về mô hình ngôn ngữ 17
1.2.2 Mô hình ngôn ngữ cổ điển 18
1.2.3 Mô hình ngôn ngữ hiện đại 21
2 Mô hình ngôn ngữ áp dụng cho một số bài toán nhận diện thực thể 31 2.1 Bài toán nhận diện tên thực thể tiếng Việt 32
2.1.1 Phát biểu bài toán 32
2.1.2 Nghiên cứu liên quan 34
2.2 Mô hình sử dụng 34
Trang 72.2.1 Hướng tiếp cận 34
2.2.2 Kiến trúc mô hình 35
2.3 Thực nghiệm và kết quả 40
2.3.1 Dữ liệu 40
2.3.2 Mô hình ngôn ngữ 41
2.3.3 Thực nghiệm 42
2.3.4 Kết luận 48
3 Mô hình ngôn ngữ áp dụng cho bài toán phân loại sắc thái văn bản 50 3.1 Bài toán phân loại sắc thái văn bản 51
3.1.1 Phát biểu bài toán 51
3.1.2 Nghiên cứu liên quan 53
3.2 Mô hình sử dụng 54
3.3 Thực nghiệm và kết quả 56
3.3.1 Dữ liệu 56
3.3.2 Mô hình 58
3.3.3 Thực nghiệm 59
3.3.4 Kết luận 62
Các hướng nghiên cứu tiếp theo 66 Tài liệu tham khảo 66
Trang 8Danh sách hình vẽ
1.1 Một neuron đơn giản 14
1.2 Mạng neuron lan truyền thuận 15
1.3 Mô hình ngôn ngữ sử dụng mạng lan truyền tiến [3] 20
1.4 Cơ chế chú ý tích vector theo thang và cơ chế chú ý đa đầu [55] 23 1.5 Kiến trúc biến đổi [55] 24
1.6 Đầu vào của mô hình BERT 26
1.7 Từ bước học trước đến bước điều chỉnh BERT 28
2.1 Ví dụ nhận diện thực thể 32
2.2 Ví dụ thực thể lồng trong thực thể khác 32
2.3 Mô hình xác định thực thể 36
2.4 Mô hình xác định thực thể - bản biến thể 40
2.5 Giá trị hàm mất mát mô hình PhoBERT cơ bản và bộ câu hỏi truy vấn đầy đủ 43
2.6 Độ chính xác và độ thu hồi trên tập kiểm thử 44
3.1 Hướng tiếp cận bài toán phận tích sắc thái văn bản [52] 53
3.2 Một số mô hình học sâu cho bài toán phân tích sắc thái 54
3.3 Mô hình đề xuất cho bài toán phân loại sắc thái văn bản 55
3.4 Độ chính xác và thu hồi trên tập dữ liệu kiểm thử 60
Trang 9Danh sách bảng
2.1 Ví dụ câu hỏi cho thực thể 35
2.2 Miêu tả tập dữ liệu VLSP-2016 41
2.3 Bộ câu hỏi đầy đủ 42
2.4 Độ chính xác, độ thu hồi và điểm F1 của từng nhãn trên tập thử 44 2.5 Độ chính xác, độ thu hồi và điểm F1 macro và micro 44
2.6 So sánh mô hình với một số nghiên cứu trước đó 45
3.1 Thống kê dữ liệu VLSP 2018 58
3.3 Kết quả mô hình với tập dữ liệu nhà hàng 61
3.2 Kết quả mô hình với tập dữ liệu khách sạn 61
Trang 10Lời nói đầu
Trong những năm gần đây, lĩnh vực nghiên cứu xử lý ngôn ngữ tự nhiên đã cónhững bước chuyển mình vô cùng lớn, bước sang một trang mới Sự chuyểnđổi này bắt đầu từ sự xuất hiện của các mô hình ngôn ngữ mới như là ELMO,ULMFIT, BERT, XLNET Những mô hình này bằng việc học trước từ mộtkhối dữ liệu vô cùng lớn, đã nhanh chóng ghi danh trên hàng loạt bài toán xử
lý ngôn ngữ
Trước đó, công thức chung cho phần lớn các bài toán xử lý ngôn ngữ tựnhiên bắt nguồn từ vector từ nhúng word2vec, Glove Tuy nhiên, biểu diễncủa các phương pháp nhúng từ trước đó chỉ giống như phần nổi của tảng băngchìm, chứa đựng một phần thông tin nhỏ về từ Trong khi đó, mô hình ngônngữ chứa đựng nhiều tầng thông tin, sâu hơn, trừu tượng hơn Mô hình ngônngữ dần thay thế bộ vector từ nhúng trong rất nhiều bài toán Thay vì chỉ sửdụng một lớp từ nhúng được học trước các mô hình dùng bây giờ sử dụng
cả một kiến trúc đã học trước, thêm một vài tầng ở trên và điều chỉnh để đạtđược kết quả vượt trội phương pháp khác Mô hình tiêu biểu nhất trong thờigian gần đây là GPT-3, có thể tự viết những bài luận, cho thấy mô hình ngônngữ có thể là bước đệm để đạt được trình độ ngang con người, thậm chí làchuyên gia trong xử lý ngôn ngữ
Thúc đẩy bởi các lý do trên, trong luận văn thạc sĩ, tôi đã chọn đề tài xây
Trang 11dựng mô hình cho một số bài toán xử lý ngôn ngữ tự nhiên, dựa vào nền móng
là mô hình ngôn ngữ Nội dung luận văn của tôi có thể được chia thành baphần chính:
1 Cơ sở lý thuyết: giới thiệu một số kiến thức cơ bản về xử lý ngôn ngữ
tự nhiên và mô hình ngôn ngữ
2 Giới thiệu và thử nghiệm mô hình xây dựng dựa trên mô hình ngôn ngữdành cho bài toán nhận diện tên thực thể tiếng Việt
3 Giới thiệu và thử nghiệm mô hình xây dựng dựa trên mô hình ngôn ngữdành cho bài toán phân loại sắc thái văn bản
Luận văn này vẫn còn có thể có những sai sót cần khắc phục Tôi mongnhận được sự góp ý của người đọc để những nghiên cứu tiếp theo có thể hoànthiện hơn
Trang 12Cơ sở lý thuyết
Trong chương đầu của luận văn, tôi sẽ trình bày ngắn gọn các kiến thức cơ sởliên quan đến nội dung chính của luận văn Nội dung của chương sẽ bao gồmhai phần chính:
• Giới thiệu tổng quan về ngôn ngữ tự nhiên: một số bài toán, kiến thức
cơ bản về xử lý ngôn ngữ tự nhiên, cơ sở lý thuyết về ngôn ngữ tự nhiên,các hướng tiếp cận chính
• Giới thiệu về mô hình ngôn ngữ, định nghĩa và khái niệm, mô hình
ngôn ngữ cổ điển và mô hình ngôn ngữ hiện đại Phần mô hình ngônngữ hiện đại sẽ đi sâu về mô hình BERT [13]
Một số kiến thức, khái niệm liên quan như là học sâu (deep learning), cơchế chú ý (attention), kiến trúc biến đổi (transformer) cũng sẽ được lồng ghéptrong nội dung của chương này
Trang 131.1 Xử lý ngôn ngữ tự nhiên
1.1.1 Giới thiệu về xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là một lĩnhvực nghiên cứu cách để máy tính có thể hiểu, xử lý, phân tích và sử dụng ngônngữ tự nhiên của con người [8] Ngôn ngữ tự nhiên là ngôn ngữ mà con người
sử dụng để giao tiếp hàng ngày, có thể thể hiện ở dạng chữ viết, đánh máy,chữ nổi, Xử lý ngôn ngữ tự nhiên liên quan đến nhiều lĩnh vực khác baogồm ngôn ngữ học tính toán, khoa học tính toán, khoa học nhận thức và trítuệ nhân tạo
Xử lý ngôn ngữ tự nhiên có nhiều ứng dụng trong đời sống, trong đó một
số ứng dụng rất dễ nhận ra đó là tìm kiếm Google, Google dịch, trợ lý ảo Sir icủa Apple, Cortana của Microsoft Cốt lõi của các ứng dụng đó là những bàitoán cơ bản trong NLP: gán nhãn văn bản (document classification), gán nhãnchuỗi (sequence classification), trả lời câu hỏi (question answering), phân tíchphụ thuộc (dependency parsing), mô hình ngôn ngữ (language modeling)
1.1.2 Cơ sở lý thuyết của ngôn ngữ tự nhiên
Trước khi bắt đầu giải quyết một bài toán NLP, kiến thức về ngôn ngữ là thiết
yếu [26] Những kiến thức đó sẽ quy định một đoạn ký tự thế nào thì tạo thànhmột từ có nghĩa, cấu trúc từ như thế nào sẽ tạo một câu có nghĩa, hay là một
từ có nghĩa như thế nào trong ngữ cảnh cho trước
Trang 14Một số khái niệm cơ bản của ngôn ngữ tự nhiên
• Hình thái (morphology): Phân tích và miêu tả cấu trúc của hình vị và
các đơn vị ý nghĩa khác như phụ tố, từ loại, thanh điệu, hàm ý Trong
đó, khái niệm từ loại đặc biệt dùng nhiều trong các bài toán NLP Từloại (part of speech - POS) là những nhóm từ có chức năng, kiểu nghĩagiống nhau Ba loại từ loại chính đó là danh từ, động từ, tính từ Phụ tốbao gồm tiền tố (prefix) và hậu tố (suffix) là các từ đặt trước hay sau
từ khác, làm bổ sung hay thay đổi nghĩa của từ Phụ tố dễ thấy ở tiếngAnh hơn, ví dụ như , ,ed s un, còn tiếng Việt thì có thể coi một số từ như
• Cú pháp (syntax): Cách các từ được sắp xếp và kết hợp lại với nhau để
tạo nên cụm từ, câu văn, đoạn văn Phân tích cú pháp giúp xác định từchính trong cụm từ, phân tích cấu trúc câu như là chủ ngữ, vị ngữ, bổngữ
• Ngữ nghĩa (sematics): Ý nghĩa của cụm từ, câu văn có thể đưa ra từ ý
nghĩa từng từ và cú pháp Phân tích ngữ nghĩa liên kết từ, cụm từ và câuvới sự vật và hiện tượng, xác định chủ thể của hành động là gì, hànhđộng là gì và như thế nào
• Ngữ dụng (pragmatics): Ý nghĩa của cụm từ, câu văn trong ngữ cảnh
sử dụng cụ thể Thông tin về ngữ cảnh có thể thay đổi cách hiểu về sựvật hiện tượng trong câu
• Diễn ngôn (discourse): Phân tích ý nghĩa ngôn ngữ trong cả văn bản,
đoạn hội thoại, xác định vai trò về ý nghĩa của câu trong tổng thể cảcâu chuyện
Trang 15Một tính chất đặc biệt quan trọng của ngôn ngữ tự nhiên đó làtính nhập nhằng.
Tính nhập nhằng của ngôn ngữ tự nhiên
Định nghĩa 1.1 Tính nhập nhằng (ambiguity) là khả năng có thể hiểu một
xâu (câu văn, đoạn văn) theo nhiều nghĩa khác nhau
Tính nhập nhằng của ngôn ngữ tự nhiên có thể được thể hiện ở một sốdạng như sau:
• Từ vựng nhập nhằng (Lexical Ambiguity): Một từ có thể được hiểu theo
nhiều nghĩa khác nhau
• Cú pháp nhập nhằng (Syntactic Ambiguity): Một câu có thể được phân
tích cú pháp theo nhiều cách khác nhau
• Ngữ nghĩa nhập nhằng (Sematic Ambiguity): Một câu, theo cùng một
cách phân tích cú pháp có thể được hiểu theo nhiều nghĩa khác nhau
• Ngữ dụng nhập nhằng (Pragmatic Ambiguity): Một câu, có thể hiểu
theo nghĩa khác nhau tùy thuộc ngữ cảnh
Nhận biết và xử lý tính nhập nhằng là vấn đề quan trọng trong việc tiếpcận các bài toán xử lý ngôn ngữ tự nhiên, đồng thời cũng hầu như là phần khónhất của bài toán NLP
Trang 161.1.3 Hướng tiếp cận chính trong xử lý ngôn ngữ tự nhiên
Hướng tiếp cận giải quyết những bài toán NLP thay đổi theo thời gian, phụthuộc vào những phát hiện, nghiên cứu mới Quá trình phát triển của NLP
có thể chia làm ba giai đoạn chính, tương ứng với ba hướng tiếp cận chính.Trong đó, hướng tiếp cận chính được xem xét trong luận văn sẽ là hướng tiếpcận sử dụng học sâu
Hướng tiếp cận dựa vào logic
Trong giai đoạn đầu của NLP, với các vấn đề cụ thể, những chuyên gia sẽmiêu tả lại những tri thức và sự lập luận của con người thành các quy tắc, sau
đó lập trình các quy tắc này vào hệ thống NLP Những hệ thống NLP tốt nhấttại thời điểm đó, ví dụ như là ELIZA [57], đều được xây đựng bởi những bộquy tắc rất phức tạp
Những hệ thống NLP xây dựng theo hướng này rất hiệu quả khi sử dụngtrong vấn đề hẹp mà chuyên gia đã giải quyết Hơn nữa, kết quả của các hệthống này đều dựa trên các logic rõ ràng và chi tiết, vì vậy, người dùng có thể
dễ dàng hiểu được và tận dụng hệ thống Tuy nhiên, do tính nhập nhằng củangôn ngữ, ngay với vấn đề nghe có vẻ đơn giản như xác định sắc thái của mộtđoạn văn cũng cần đưa ra rất nhiều quy tắc để có thể bao trùm nhiều trườnghợp Dễ thấy, hướng tiếp cận này là khó có thể áp dụng , khái quát hóa chocác lĩnh vực hay bài toán khác, làm giảm đi sự linh hoạt của hệ thống
Hướng tiếp cận dựa vào kinh nghiệm
Khi lượng dữ liệu và khả năng tính toán của hệ thống máy tính tăng lên,hướng tiếp cận cho các bài toán NLP tập trung nhiều hơn vào dữ liệu lớn và
Trang 17các thuật toánhọc máy [36], thay vì các quy tắc và lý thuyết về ngôn ngữ Định nghĩa 1.2 [40] Một chương trình máy tính được xem là học được từ
kinh nghiệmE liên quan đến họ các công việcT được đo hiệu suất bằng ,P
nếu mà hiệu suất của chương trình khi thực hiện công việc trong đo bởi ,T P
được cải thiện bằng kinh nghiệm E
Học máy là các kỹ thuật cho phép học từ dữ liệu mà không cần lập tr ình
rõ Việc học bản chất là giải quyết bài toán tối ưu với nghiệm là bộ tham số
để tối đa hiệu suất P dựa vào kinh nghiệm Hướng tiếp cận dựa vào kinhE
nghiệm giả thiết rằng cấu trúc của ngôn ngữ có thể học được thông qua dữliệu, vì vậy không cần định nghĩa một cách quá chi tiết các quy tắc để đưavào hệ thống NLP Độ chính xác khi dự đoán dữ liệu mới của thuật toán dầntăng lên khi thuật toán thu lại được nhiều "kinh nghiệm" hơn
Hai lớp bài toán chính học máy giải quyết bao gồm:
• Học có giám sát (supervised learning): mỗi một quan sát trong tập dữ
liệu dùng để học là một cặpx y , , trong đóx ∈ X là giá trị quan sát được,
vày ∈ Y là một nhãn tương ứng thuộc tập nhãn gán với quan sát đó.Y
Mục tiêu của bài toán học giám sát là học được một ánh xạ từX → Y,
để có thể dự đoán nhãn của một quan sát mới Một số thuật toán họcmáy hay được sử dụng đó là mô hình phân loại Naive-Bayes, mặt phâncách (support vector classifier - SVC),
• Học không giám sát (unsupervised learning): mô hình học, khám phá
những cấu trúc ẩn trong một tập dữ liệu cho trước Cấu tr úc ẩn ở đây cóthể là cụm các quan sát có điểm tương đồng, hay là quan hệ giữa một
số quan sát hay đặc trưng với nhau Khác với học có giám sát, mỗi quan
Trang 18sát ở đây không biết trước thông tin nó thuộc cụm nào hay có quan hệnhư thế nào mà mô hình tự khám phá điều đó.
Ngoài ra, một số lớp bài toán khác làhọc bán giám sát(semi-supervisedlearning),tự giám sát(self-supervised learning),học tăng cường(reinforce-ment learning)
Mô hình học máy không phải lúc nào cũng học được "kinh nghiệm" tốt.Trong một số trường hợp, mô hình không học được từ dữ liệu, khiến cho kếtquả dự đoán trên tập luyện không được như mong muốn, khi này mô hình bị
dưới khớp (underfit) Ngược lại, một số trường hợp mô hình hoạt động rất
tốt trên tập dữ liệu luyện, nhưng khi sử dụng với dữ liệu mới thì kết quả rất
tệ Khi này, mô hình bịquá khớp (overfit), do mô hình đã học phải nhiễu từ
dữ liệu Dữ liệu luyện có thể lỗi, không cân bằng, thiếu đa dạng Để phát hiệnsớm những hiện tượng nay, tập dữ liệu ban đầu sẽ tách thành hai phần: phần
dữ liệu luyện để mô hình và phần dữ liệu kiểm thử để đánh giá mô hình trongquá trình luyện
Những phương pháp dựa vào dữ liệu tập trung vào các vấn đề rộng vàkhái quát nhưng cũng đơn giản hơn, khác với phương pháp cũ tập trung phântích sâu trong vấn đề hẹp Các phương pháp học máy tại thời điểm này vẫntồn tại hạn chế là phải lựa chọn đúng các đặc trưng để mô tả dữ liệu và đưavào mô hình Việc này ảnh hưởng lớn đến hiệu quả của mô hình và thườngđược thực hiện bởi chuyên gia
Hướng tiếp cận dựa vào học sâu
Hướng tiếp cận thứ ba vẫn tập trung vào việc tận dụng dữ liệu lớn và khảnăng tính toán lớn Phương pháp được sử dụng thay vì các thuật toán học
Trang 19Hình 1.1: Một neuron đơn giản
máy truyền thống, dần hướng đến các thuật toánhọc sâu[15] sử dụng mạngneuron nhiều tầng Học sâu là lớp thuật toán học máy, có ý tưởng lấy từ cấutrúc não bộ của con người là mạng lưới giữa các neuron, trong đó tín hiệu đầuvào sẽ được truyền qua lại giữa các neuron để tính toán
Hình 1.1 miêu tả một neuron đơn giản nhận tín hiệu đầu vào x1, x2từ các
neuron đầu vào, và tính giá trị đầu ra f w( 0+ w1x1+ w2x2) Các giá trị w1, w2
là trọng số của mô hình, hàm được gọi là hàm kích hoạt Trong thực tế, sốf
lượng tín hiệu đầu vào và số lượng tham số có thể rất nhiều Công thức tổngquát tại một neuron như sau
o = ( · + ) f w x b
Hàm f thường được chọn là hàm phi tuyến tính như là hàm tanh sigmoid, ,
relu, vector b được gọi là thiên vị (bias) giúp tịnh tiến hàm xấp xỉ, trongnhiều trường hợp giúp xấp xỉ tốt hơn
Trang 20Hình 1.2: Mạng neuron lan truyền thuận
Hình 1.2 miêu tả kiến tr úc của mạng neuron đơn giản nhất, gọi là mạng
Lan truyền tiến (feed forward) Kiến trúc mạng lan truyền tiến được chia
làm các tầng: tầng đầu vào (input layer), một số tầng ẩn (hidden layer) ở giữa
và một tầng đầu ra (output layer), không có chu trình trong mạng Tín hiệuđầu vào sẽ được truyền và xử lý qua các tầng cho đến tầng đầu ra
Mạng neuron sẽ định nghĩa một ánh xạy = ( ; θ ) f x , trong đó θ là tất cảtham số của mô hình và là đầu ra mong muốn Tùy vào bài toán, mộty hàm mất mát (loss function) sẽ được định nghĩa để đánh giá chênh lệch giữa đầu
ra thật và đầu ra dự đoán Mục tiêu học là tìm được các giá trị θ tốt nhất đểxấp xỉ tới gần giá trị thực, tức là tối thiểu mất mát Thuật toán thường dùngy
để tìm nghiệm tối ưu θ ∗ là thuật toán gradient hướng giảm hay các biến thểcủa nó, trong đó gradient được tính bởi thuật toán lan truyền ngược (back-
propagation) [50] Ngoài cấu trúc trong hình ra, mạng neuron có thể có nhiềucấu trúc khác và cách chọn các hàm kích hoạt khác
Một ưu điểm của mô hình học sâu là mô hình có thể học cách tổng hợpđặc trưng ở tầng thấp thành những đặc trưng trừu tượng hơn ở những tầng cao
Trang 21hơn Nhờ đó, mô hình học sâu có thế khắc phục hạn chế của các thuật toánhọc máy khác khi làm việc với NLP Những đặc trưng có thể được học từ dữliệu luyện hay là học một cách không giám sát từ dữ liệu lớn [17, 39], thay vìcần chuyên gia chọn đặc trưng thủ công.
Các mô hình học sâu đạt được nhiều kết quả vượt trội hơn các phươngpháp cũ, nhưng cũng có một số hạn chế nhất định Lượng dữ liệu và khả năngtính toán cần để luyện một mô hình học sâu hiệu quả thường rất lớn Hơnnữa, các mô hình học sâu hoạt động như một hộp đen, rất khó để có thể giảithích kết quả cho người dùng để có thể gợi ý cũng như điều chỉnh Một vài
mô hình học sâu được áp dụng phổ biến nhất cho các bài toán NLP đó là môhình hồi quy RNN [15], mạng trí nhớ dài-ngắn hạn LSTM [18], mạng chú
ý (attention) [55] Trong những năm gần đây, một số mô hình ngôn ngữ sửdụng học sâu đã đạt được những kết quả đột phá cho hầu hết vấn đề NLP vàdần trở thành một hướng nghiên cứu chính [5, 9, 13, 59]
1.1.4 Biểu diễn văn bản ngôn ngữ tự nhiên
Để đưa dữ liệu đầu vào ngôn ngữ vào các mô hình, đặc biệt là những mô hìnhhọc máy và học sâu, dữ liệu ngôn ngữ cần được chuyển về dạng có thể tínhtoán được, tức là dạng số, vector Một số kỹ thuật được dùng bao gồm:
• Túi từ (bag of word): kỹ thuật đơn giản nhất để biểu diễn văn bản thành
vector Kỹ thuật này sử dụng đến từ điển V = {w1, w2, , w n }, chứa tập
từ được định nghĩa trước Khi đó, mỗi văn bản sẽ được chuyển thành
vector d ∈ R n , với mỗi phần tử d i tương ứng từ w icủa tập từ vựng Giá
trị d i có giá trị 0 hoặc 1 tùy vào từ w i có được sử dụng trong văn bản
hay không, hoặc cách biểu diễn khác là d i tương ứng số lần, tần suất từ
Trang 22w ixuất hiện trong văn bản.
• Từ nhúng (word embedding): kỹ thuật biểu diễn từ trong không gian
vector, sao cho quan hệ về ngữ nghĩa giữa các từ có thể biểu diễn quacác phép toán và quan hệ trên vector [39, 47], ví dụ như những từ cókhoảng cách trên không gian vector gần nhau thường sẽ xuất hiện trongngữ cảnh giống nhau Vector nhúng của từ có thể học trướcthông quacác bài toán học không giám sát trên tập dữ liệu lớn hơn Ưu điểm củaviệc sử dụng kỹ thuật nhúng từ so với các kỹ thuật dựa vào từ khóachính xác là cho phép mô hình khái quát tốt hơn cho các mẫu dữ liệu íthoặc không thấy trong tập luyện
1.2 Mô hình ngôn ngữ
1.2.1 Giới thiệu về mô hình ngôn ngữ
Định nghĩa 1.3 [26] Mô hình ngôn ngữ là mô hình tính xác suất xuất hiện
của các chuỗi
P (W) = (P w1, w2, , w T)
Mô hình ngôn ngữ là một mô hình quan trọng cho một số bài toán NLPnhư là dịch máy, kiểm tra lỗi chính tả Ví dụ, mô hình ngôn ngữ có thể xácđịnh câu "Học sinh lái xe tải" ít khả năng xuất hiện hơn câu "Học sinh lái
xe đạp", từ đó có thể chỉnh sửa lại kết quả của các thuật toán máy dịch hay
là phát hiện lỗi chính tả Xác suất xuất hiện của một cụm từ hay câu sẽ đượctính thông qua một tập dữ liệu lớn
Các mô hình ngôn ngữ có thể học trước từ một tập dữ liệu lớn và sử dụngcho nhiều bài toán khác để cải thiện các thuật toán đó, một số mô hình lớn
Trang 23như là BERT [26], GPT-3 [5] đều đã đạt được kết quả SOTA trong nhiều bàitoán khác nhau.
1.2.2 Mô hình ngôn ngữ cổ điển
Mô hình ngôn ngữ dựa vào N-gram
Mô hình ngôn ngữ dựa vào N-gram xây dựng dựa vào xác suất cơ bản Theoquy tắc dây chuyền, xác suất của câu có thể tính bằng tích của các xác suất cóđiều kiện
áp dụng giả định Markov, xác suất xuất hiện của từ trong câu có thể tính xấp
xỉ xác suất xuất hiện từ đó khi chỉ phụ thuộc vào một số từ phía trước [26].Với định nghĩa N-gram là một chuỗi N từ liên tiếp, công thức xác suất điềukiện có thế tính xấp xỉ như sau:
Mô hình ngôn ngữ dựa vào N-gram sẽ tính xác suất xuất hiện của từ tiếp theo
w n dựa vàoN − 1 từ phía trước Giả sử vớiN= 2, xác suất trong (1.1) có thểtính xấp xỉ như sau
Trang 24Xác suất bây giờ có thể tính bằng cách tỉ số giữa lần xuất hiện chuỗi vớiN từ
vàN − 1 từ trước đó
C w n N − +1, , w n −1
Bằng cách học từ tập dữ liệu, mô hình ngôn ngữ có thể mô tả một số quy tắc
về cú pháp, ngữ nghĩa của dữ liệu Ví dụ vớiN= 2, xác suất một từ là động
từ xuất hiện sau một từ là danh từ sẽ cao hơn các loại khác Khi áp dụng môhình ngôn ngữ N-gram, giá trị N thường được chọn bắt đầu N = 3và tăngdần phụ thuộc vào lượng dữ liệu có được và bài toán Khi sử dụngN >2, câuthường sẽ được thêm các từ trống chèn vào trước và sau câu để bổ sung ngữcảnh cho từ ở đầu và cuối câu
Mô hình ngôn ngữ N-gram được đánh giá bằngđộ hỗn độn (perplexity)
Độ hỗn độn trên tập dữ liệu thử W = { w0, w1, , w m−1 }, với w i là câu thứ ,i
được tính như sau
PP (W ) = 2 − M1∑m i=1 log2P w( i) (1.2)Giá trịM trong (1.2) là tổng số từ của các câu trong tập dữ liệu thử Giá trị
độ hỗn độn càng nhỏ thi mô hình ngôn ngữ càng tốt, do mô hình tự tin rằngnhững câu mới của tập thử là hợp lý
Dữ liệu thật có thể có những từ đơn chưa bao giờ xuất hiện trong tập dữliệu thật Vì vậy, tập từ vựng của mô hình ngôn ngữ có thể được giới hạn bằngcách chọn những từ đơn phổ biến nhất trong tập luyện, những từ còn lại đều
sẽ được chuyển thành từ ẩnunk
Ngoài cách tính xác suất N-gram được trình bày ở trên, có một số thuậttoán làm mịn (smoothing) khác được sử dụng để tính toán tốt hơn trong trườnghợp một từ trong tập từ vựng xuất hiện trong ngữ cảnh chưa từng thấy ở tậpluyện [26]
Trang 25Hình 1.3: Mô hình ngôn ngữ sử dụng mạng lan truyền tiến [3]
Dễ thấy, mô hình ngôn ngữ dựa vào N-gram có một số hạn chế như làkhông xử lý tốt được các chuỗi quá dài, không xử lý được tốt những từ mới,ngữ cảnh mới Một loại mô hình ngôn ngữ khác hiệu quả hơn đó là mô hìnhngôn ngữ sử dụng học sâu
Mô hình ngôn sử dụng mạng lan truyền tiến
Mô hình ngôn ngữ sử dụng mạng neuron lan truyền tiến [3] là mô hình ngônngữ dựa vào học sâu đơn giản nhất Mô hình là một mạng lan truyền tiếnthông thường Đầu vào của mô hình sẽ là biểu diễn nhúng của một số từ phíatrước, còn đầu ra sẽ là phân phối xác suất trên tập từ vựng để xác định từ cókhả năng cao nhất là từ tiếp theo
Hình 1.3 miêu tả mô hình ngôn ngữ dùng mạng lan truyền tiến, trongmạng này, các vector nhúng sẽ được đưa vào một tầng nhúng, đầu vào của
mô hình sẽ là các từ dưới dạng one-hot và đưa vào tầng nhúng để lấy ra
Trang 26vector nhúng tương ứng của từ đó Vector nhúng của cả tập từ vựng được đặtvào một tầng của mạng neuron như thế này cho phép mô hình có thể cập nhật
điều chỉnh vector nhúng nếu cần thiết Hàm kích hoạt của tầng ẩn là hàm tanh
và của tầng đầu ra là so f tmax
Đầu ra là vector tương ứng phân phối xác suất trên tập từ vựng,y U W H , , làcác ma trận trọng số vàd b , là các vector thiên vị
1.2.3 Mô hình ngôn ngữ hiện đại
Phần này sẽ giới thiệu về mô hình ngôn ngữ BERT [13], đại diện cho các môhình ngôn ngữ hiện đại BERT và các mô hình tương tự được gọi là hiện đại
do tác động của chúng đến hướng nghiên cứu lớn của NLP những năm gầnđây
Mô hình BERT là một mô hình ngôn ngữ có thể học trước, được nghiêncứu bởi Google và được công bố năm 2018, dành được sự chú ý lớn khi mà đãđạt được kết quả đột phá trên 11 bài toán NLP khác nhau Một số lượng lớncác nghiên cứu NLP thời gian sau đó đến bây giờ đều xoay quanh điều chỉnhBERT, xây dựng các mô hình lớn hơn, đạt được tác động giống như ImageNet[11] trong lĩnh vực xử lý hình ảnh
BERT được xây dựng dựa trên nền tảng là kiến trúc biến đổi (transformer)[55], một kiến trúc phụ thuộc hoàn toàn vào cơ chế tự chú ý (self-attention)
để tính toán biểu diễn của đầu vào và đầu ra mà không sử dụng mạng hồi quy(recurrent) hay mạng tích chập (convolution)
Trang 27Cơ chế chú ý
Cơ chế chú ý (attention) [2, 35] là một cơ chế cho phép mô hình tập trung vàonhững phần quan trọng nhất của chuỗi đầu vào, được dùng để cải thiện các
mô hìnhmã hóa giải mã-
Thông thường, phần mã hóa sẽ sử dụng mô hình hồi quy, nhận chuỗi tín
hiệu đầu vào dạng vector x = x1
sẽ tính dựa vào tín hiệu x t và trạng thái ẩn tại thời điểm trước đó là h t−1
Đầu ra của bộ mã hóa sẽ là một vector ngữ cảnh đầu ra được tính từ chuỗic
trạng thái ẩn Vector có số chiều cố định trước.c
Các hàm f q , thường là hàm phi tuyến, vector ngữ cảnh sẽ được đưa vàoc
phần giải mã để dự đoán chuỗi đầu ra Phần giải mã sẽ dựa vào vector ngữy
cảnh và các tín hiệu (y1, , y t ) đã đoán được để dự đoán y t+1
Hàm là một hàm phi tuyến vàg s t là trạng thái ẩn tại trạng tháit+ 1 Theocách làm như trên, mô hình cần nén tất cả thông tin của chuỗi tín hiệu đầuvào một vector ngữ cảnh có số chiều cố định Với những chuỗi có độ dài cànglớn, đặc biệt là khi lớn hơn những chuỗi tín hiệu trong tập dữ liệu luyện, tínhhiệu quả của mô hình giảm nhanh chóng [6]
Cơ chế chú ý tiếp cận theo một cách khác, thay vì nén chuỗi tín hiệu đầuvào thành một vector ngữ cảnh thì mã hóa chuỗi tín hiệu thành một chuỗi
Trang 28Hình 1.4: Cơ chế chú ý tích vector theo thang và cơ chế chú ý đa đầu [55]vector và cho phép xác định một số vector quan trọng trong khi giải mã.Phương trình 1.3 sẽ được thay đổi như sau
Theo Phương trình 1.4, tín hiệu đầu ra y i+1 sẽ được tính dựa vào vector ngữ
cảnh c i+1 ứng với thời điểmi+ 1 Vector ngữ cảnh c i+1 tính dựa vào chuỗitrạng thái ẩn của phần mã hóa
Giá trị e i j đánh giá độ tương thích giữa tín hiệu đầu vào ở vị tr í và tín hiệuj
đầu ra ở vị trí , giúp phản ánh mức độ quan trọng của trạng thái ẩni h j và s i đối với s i và tín hiệu dự đoan y i Như vậy, phần giải mã sẽ quyết định nhữngtín hiệu đầu vào nào có ý nghĩa để dự đoán
Ngoài cơ chế chú ý được đưa trong [2], một số cơ chế chú ý khác đó là cơchế chú ý tích vector theo thang, cơ chế chú ý đa đầu, cơ chế tự chú ý [55].Nếu miêu tả một cách khái quát, cơ chế tự chú ý là ánh xạ từ một cặp baogồm vector truy vấnQvà tập các cặp vector (khóa-giá tr ị) là(K V , )đến một
Trang 29Hình 1.5: Kiến trúc biến đổi [55]
vector đầu ra Vector đầu ra sẽ là tổng có trọng số của các giá trị, trọng số tínhbằng một hàm tương thích giữa vector truy vấn và vector khóa tương ứng Ví
dụ như ở 1.5, cặp vector khóa-giá trị tại thời điểm làj h j , h j, vector truy
vấn là s i−1
Kiến trúc biến đổi
Kiến trúc biến đổi (transformer) được xây đựng theo cấu trúc mã hóa - giải
mã, miêu tả như ở Hình 1.5
Trang 30Đầu vào của kiến trúc sử dụng vector từ nhúng đã được học từ trước cho
cả phần mã hóa và giải mã, kết hợp với vector vị trí để thêm thông tin vị trícủa tín hiệu trong chuỗi đầu vào
Đầu ra của kiến tr úc là y=so f tmax (W o · + ), với là đầu tra của phần b o
sử dụng cơ chế chú ý đa đầu để xử lý đầu ra của phần giải mã
Cơ chế chú ý trong kiến trúc biến đổi được áp dụng như sau
• Phần mã hóa và giải mã đều sử dụng cơ chế tự chú ý, tại mỗi khối
mã hóa (giải mã), vector truy vấn, khóa và giá trị đều là đầu ra của cáckhối mã hóa (giải mã) trước đó Mỗi khối mã khóa (giải mã) sẽ sử dụngthông tin mọi khối trước đó
• Tại mối khối giải mã vector truy vấn sẽ là trạng thái ẩn của khối giải
mã trước đó và cặp (khóa-giá trị) là đầu ra của phần mã hóa Như vậy,mỗi khối giải mã đều có thể sử dụng thông tin tại mọi vị trí của chuỗitín hiểu đầu vào
Ưu điểm của kiến trúc biến đổi so với của mạng hồi quy đó là tính hiểuquả với các phụ thuộc xa trong chuỗi tín hiệu và khả năng tính toán songsong, giúp giảm thời gian tính toán
Trang 31Hình 1.6: Đầu vào của mô hình BERT
Mô hình biểu diễn mã hóa hai chiều dựa vào kiến trúc biến đổi - BERT
Mô hình biểu diễn mã hóa hai chiều dựa vào kiến trúc biến đổi - BERT [13],đưa ra bởi Google, thiết kế để học trước biểu diễn từ tập dữ liệu không nhãnbằng cách sử dụng ngữ cảnh trước và sau tại mọi lớp
BERT về cơ bản là một chồng các tầng mã hóa hai chiều của kiến trúcbiến đổi với tầng, kích thước trạng thái ẩn làL H và số đầu tự chú ý là MôA
hình BERT sẽ được học trước hai bài toán NLP Các trọng số được học trướccủa mô hình BERT sẽ được dùng để làm giá trị khởi tạo khi dùng cho bàitoán khác, sau đó được điều chỉnh dựa vào dữ liệu bài toán cụ thể Kiến trúccủa mô hình lúc học trước và lúc điều chỉnh thường không khác nhau là mấy,
đa phần sẽ là thêm một số lớp ở mô hình điều chỉnh Tuy vậy, mô hình BERT
đã đạt kết quả xuất sắc ở 11 bài toán NLP khác nhau
Dữ liệu đầu vào của mô hình là một chuỗi từ đầu vào hoặc là hai chuỗighép thành một Mỗi chuỗi đầu vào không nhất thiết phải tạo thành một câu.Chuỗi đầu vào này sẽ được tách thành các token và nhúng vector, sử dụngthuật toán nhúng mẩu từ (WordPiece [58]) Ngoài ra, một token đặc biệt là
([CLS]) sẽ được đặt ở đầu mỗi chuỗi đầu vào Trạng thái ẩn tương ứng với
token nảy sẽ được dùng làm đại diện cho cả chuỗi khi đưa vào mô hình phânlớp Một token đặc biệt khác là([SEP])sẽ được sử dụng để tách khi ghép hai
Trang 32chuỗi vào với nhau Mô hình sẽ bổ sung thêm một vector nhúng để xác địnhxem mỗi token thuộc chuỗi thứ nhất hay là thứ hai và vector nhúng ứng vớitừng vị trí trong câu như miêu tả ở Hình 1.6.
Hai bài toán được dùng trong bài toán học trước là bài toán tìm kiếm từ
ẩn và bài toán xác nhận câu kế tiếp
• Bài toán dự đoán từ ẩn sẽ dự đoán một số token đã bị ẩn đi trong chuỗi
đầu vào Dữ liệu đầu vào sẽ bị ẩn một số token và mô hình sẽ dự đoántoken bị ẩn đó là gì Vector trạng thái ẩn cuối tại vị trí bị ẩn sẽ đượcđưa vào một lớpso f tmaxđể tính ra phân phối xác suất trên tập từ vựnggiống như mô hình ngôn ngữ thông thường
Ở bước chuẩn bị dữ liệu cho bài toán, từ tập dữ liệu không có nhãn banđầu, 15% số lượng token sẽ được chọn, trong số đó80% sẽ được thaythế bằng một token đặc biệt là [MASK],10% được thay thế bằng mộttoken ngẫu nhiên khác, 10%được giữ nguyên Hai lý do chính cho cơchế ẩn từ như vậy là: token[MASK]không xuất hiện trong các bài toánđiều chỉnh nên cần thay ngẫu nhiên một số token thành token khác, giữnguyên một số token để đảm bảo mô hình không vứt bỏ hết thông tincủa token khi tìm vector nhúng
• Bài toán xác nhận câu kế tiếp sẽ nhận đầu vào là hai câu và dự đoán
xem hai câu này có phải là hai câu liên tiếp không Bài toán này giúp
mô hình học được cách biểu diễn câu để miêu tả được mối liên hệ giữacác câu, giúp xử lý những bài toán như là trả lời câu hỏi, đọc hiểu ngônngữ tự nhiên
Ở bước điều chỉnh mô hình, chỉ cần thay đổi lớp đầu vào và lớp đầu ra phùhợp vào mô hình BERT và điều chỉnh các tham số của mô hình như ở Hình
Trang 33Hình 1.7: Từ bước học trước đến bước điều chỉnh BERT
1.7 Tham số ở các tầng của BERT sẽ có mức điều chỉnh khác nhau, tăng dần
từ lớp đầu vào đến lớp đầu ra, để đảm bảo việc điều chỉnh không làm cho môhình quá khớp vào dữ liệu điều chỉnh mà mất đi tính tổng quát
Nếu so sánh với cách phương pháp nhúng từ trước đó [39, 47], vectornhúng của BERT chứa nhiều thông tin về ngữ cảnh hơn
Ví dụ 1.3 "Người đàn ông đi bắt cá"
Ví dụ 1.4 "Anh ấy cá đội MU hôm nay sẽ thắng đậm"
Từ " " ở hai câu trên nếu dùng vector nhúng từ thông thường, sẽ có biểucá
diễn giống nhau mặc dù nghĩa là khác nhau hoàn toàn Mô hình BERT có thểđưa ra vector biểu diễn phù hợp trong từng ngữ cảnh
Một hướng học trước khác của BERT tối ưu và mạnh mẽ hơn gọi làRoBERTa [33] Theo đó, một số thay đổi được đưa vào quá trình học trước:
• Việc ẩn từ được thực hiện một cách động, mỗi lần một chuỗi được đưa
vào mô hình sẽ chọn mới những từ bị ẩn đi Với BERT thì việc này chỉđược thực hiện một lần trong quá trình tiền xử lý
• Mỗi lần đưa vào mô hình sẽ là nhiều câu được chọn có thể từ cùng văn
bản hoặc những văn bản khác nhau, thay vì là một cặp văn bản Bài
Trang 34toán dự đoán câu liên tiếp không được học nữa.
• Kích thước mỗi gói (batch size) được đưa vào mô hình mỗi lần học
được tăng lên
• Sử dụng tập từ vựng lấy từ mã hóa BPE [53] lớn hơn.
Việc học trước trên tập dữ liệu lớn rất tốn kém thời gian và tài nguyên,tuy nhiên mô hình học trước có thể được dùng cho nhiều bài toán khác Nhờviệc học trước đó, mô hình BERT dễ dàng áp dụng cho các bài toán khác và
có thể nhanh chóng đạt được độ chính xác cao với lượng dữ liệu luyện ít hơn.Tuy nhiên, mô hình BERT có một số nhược điểm lớn, hạn chế tính áp dụngvào thực tiễn
• Mô hình BERT có kích thước rất lớn, hai mô hình được đưa ra trong
bài báo lần lượt có xấp xỉ 110 triệu và 340 triệu tham số, cùng với sốlượng tính toán lớn khiến cho mô hình tốn rất nhiều tài nguyên và thờigian khi sử dụng, dẫn đến khó áp dụng BERT khi cần xử lý khối lượng
dữ liệu lớn nhanh chóng
• Mô hình BERT là một mô hình học sâu, vẫn được coi là hộp đen khiến
rất khó giải thích chính xác cơ chế suy luận diễn ra trong mô hình, khótrích xuất được các tr i thức mô hình đã học Các mô hình khi đưa vàoứng dụng cần có sự trong suốt và tường minh để người dùng có thể tintưởng được
Một số mô hình dựa vào BERT như là ALBERT [28], DistilBERT [51],TinyBERT [25], Ti đã khắc phục phần nào nhược điểm đầu tiên, giảm kíchthước mô hình bằng các phương pháp nén, tối ưu kiến trúc Một số nghiên
Trang 35cứu khác tìm cách tối ưu quá trường học trước để cải thiện kết quả như là môhình ELECTRA [9].
Trang 36Mô hình ngôn ngữ áp dụng cho một số bài toán nhận
diện thực thể
Trong chương thứ hai của luận văn, tôi sẽ ứng dụng mô hình ngôn ngữ chobài toán nhận diện tên thực thể (Named Entity Recognition - NER) cho tiếngViệt Bài toán nhận diện tên thực thể là một bài toán con thuộc lớp bài toántrích xuất thông tin (information extraction) Trích xuất thông tin là quá trìnhlấy các thông tin có giá trị từ văn bản, bao gồm các thực thể, quan hệ, và khónhất là sự kiện - ai làm gì với ai, ở đâu, khi nào [23] Bài toán nhận diện thựcthể là một trong những bài toán được áp dụng phổ biến nhất, sử dụng chonhiều bài toán trích xuất thông tin khác, trả lời câu hỏi, dịch máy Phươngpháp dược đưa ra ở phần này sẽ sử dụng đến mô hình ngôn ngữ để đánh giáhiệu quả của việc sử dụng mô hình ngôn ngữ học trước
Trang 37Hình 2.1: Ví dụ nhận diện thực thể
Hình 2.2: Ví dụ thực thể lồng trong thực thể khác
2.1 Bài toán nhận diện tên thực thể tiếng Việt
2.1.1 Phát biểu bài toán
Bài toán nhận diện thực thể là bài toán xác định và phân loại các thực thểđược nhắc đến trong văn bản ngôn ngữ tự nhiên vào một số lớp đã được địnhnghĩa trước [12]
Một số lớp thực thể thường được quan tâm trong bài toán phân loại thựcthể làcon người (PER) địa điểm (LOC) tổ chức (ORG), ,
Bài toán nhận diện thực thể có thể ánh xạ sang bài toàn gán nhãn chuỗi(sequence labeling, tagging) Gán nhãn chuỗi là bài toán gán cho mỗi phần tửcủa một chuỗi với một nhãn tương ứng Với bài toán nhận diện thực thể, mỗi
từ trong đoạn văn bản sẽ gán một trong nhãn:B-PER (từ bắt đầu tên người),
I-PER(từ bên trong tên người), B-LOC B-ORG, (tương tự như B-PER), LOC I-ORG, (tương tự I-PER), O(không thuộc tên thực thể) Ngoài ra, một
I-số trường hợp sẽ có thực thể MISC, cho những thực thể không phân loại.Hình 2.1 là một ví dụ nhận diện thực thể Trong một số trường hợp đặc biệt,thực thể có thế lồng trong một thực thể khác như Hình 2.2
Trang 38Thông thường, các thực thể thường là các tên riêng nên một cách để xácđịnh cụm từ có thể là thực thể hay bằng cách xem từ đó được viết hoa haykhông Cách này sẽ phù hợp nếu đang làm việc với các văn bản chuẩn chỉnhnhư là báo chí, vì người viết sẽ đảm bảo viết hoa đầy đủ Một cách khác đểnhận biết từ thực thể là dựa vào một số từ tiền tố: "ông", " ", " ", "bà xã câu lạc bộ" Ngoài ra, tên thực thể có thể đi kèm với một số từ chỉ gắn với loại thực
thể nhất định: những động từ "đến", "vào" trước các thực thể về địa điểm;
những động từ " ", "ăn uống" dùng cho con người Với tên thực thể người, một
cách khác để nhận biết là dựa vào những mẫu tên phổ biến như là "Nguyễn
địa điểm ("đường Nguyễn Văn Trội") hay gắn với tổ chức ("Hội người hâm
mộ Sơn Tùng MTP") Như vậy, số lượng các quy tắc, từ vựng để nhận biết tên
thực thể rất phong phú là phức tạp
Ngay cả với tất cả quy tắc trên, do tính nhập nhằng của ngôn ngữ, một sốtrường hợp ngoại lệ vẫn có thể xảy ra
Ví dụ 1.1 "Ngày hôm qua, Mỹ bị tấn công"
Nếu chỉ đọc ví dụ trên, người đọc sẽ nghĩ ngay "Mỹ" là chỉ đến "nước
Mỹ", nhưng nếu hiểu đó là tên một người tên là "Mỹ" cũng không sai Ngay
cả khi hiểu đó là nước Mỹ, một số trường hợp có thể hiểu là địa điểm " nước
Mỹ", cũng có thể hiểu là tổ chức "hợp chủng quốc Hoa Kỳ".
Ví dụ 1.2 "Mới đây, một thương hiệu thời trang streetwear đăng tải bài viết
tố Balenciaga ăn cắp ý tưởng sáng tạo trong bộ sưu tập năm 2019."
Ở ví dụ trên, nếu người đọc không biết rằng "Balenciaga" là tên một
thương hiệu thời trang, họ hoàn toàn có thể nghĩ đó là tên một nhà thiết kếnào đó
Trang 392.1.2 Nghiên cứu liên quan
Các hệ thống nhận diện thực thể truyền thống sử dụng mô hình trường ngẫunhiên có điều kiện (conditional random field - crf) [27, 37], mô hình markov
ẩn [41], entropy cực đại [4], hay là các phương pháp kết hợp nhiều mô hình[14] Những mô hình như vậy sử dụng những đặc trưng từ trong câu như là
từ loại, dạng gốc, tiền tố và hậu tố, Các đặc trưng được gán nhãn bởi conngười hoặc thông qua một mô hình có sẵn Nếu đặc trưng được định nghĩatốt, những mô hình trên có thể đạt kết quả rất tốt dù dữ liệu ít
Những nghiên cứu theo hướng học sâu có thể kể đến mô hình mạng LSTM[16], mô hình kết hợp CNN-CRF [10], mô hình kết hợp mạng LSTM hai chiều
và CRF [21] Với đủ dữ liệu, các phương pháp học sâu luôn đưa ra kết quảtốt hơn phương pháp học máy truyền thống, đồng thời cần ít công tự địnhnghĩa và chuẩn bị đặc trưng
Đối với ngôn ngữ tiếng Việt, nghiên cứu nổi bất nhất là gói công cụ corenlp [56], trong đó mô hình nhận diện thực thể là dựa vào mô hình suydiễn đặc trưng động [7] Trong nghiên cứu này, tác giả đã so sánh với nhiềuphương pháp dựa vào CRF và cho thấy mô hình của họ đạt kết quả tốt nhất là
Vn-88 55%. Gần đây, một số nghiên cứu khác sử dụng học sâu và mô hình ngônngữ cũng đã cho kết quả tốt hơn, đạt ngưỡng hơn90% [30, 43, 45]
2.2 Mô hình sử dụng
2.2.1 Hướng tiếp cận
Khác với cách tiếp cận thông thường, mô hình sử dụng trong luận văn này làbiến thể của mô hình máy đọc hiểu (machine reading comprehension - MRC),
Trang 40Bảng 2.1: Ví dụ câu hỏi cho thực thể
Tên thực thể Câu hỏi
PER Những ai được nhắc đến trong đoạn văn bản
Tìm những tên riêng trong văn bảnTìm tên người, tên cá nhân
LOC Những nơi nào được nhắc đến trong văn bản
Địa điểm, địa danh, nơi chốn
ORG Tên các tổ chức, đơn vị
MISC Tên của đối tượng nào đó
được đưa ra trong nghiên cứu của Xiaoya Li [31] Cách tiếp cận này đưa bàitoán NER về một bài toán trả lời câu hỏi (question answering) Mỗi tên thựcthể sẽ được đặt một sô câu hỏi tương ứng và câu trả lời sẽ là các thực thể tìmthấy trong câu Bảng 2.1 là một số ví dụ về câu hỏi
2.2.2 Kiến trúc mô hình
Với mỗi cặp câu hỏi q y = q1, q2, , q m tương ứng với thực thể và văn bảny
(thực thể) x start end , Hình 2.3 miêu tả kiến trúc của mô hình Mô hình đượctạo bởi bốn thành phần chính: mô hình ngôn ngữ BERT (hoặc các biến thểcủa BERT) dùng để trích xuất vector nhúng ngữ cảnh của từ, mô hình xácđịnh từ bắt đầu của thực thể, mô hình xác định từ kết thúc của thực thể, môhình xác định cụm từ thực thể