Xử lý ngôn ngữ tự nhiên Tìm hiểu về trích rút mối quan hệ giữa các thực thể trong tiếng Việt. Mô tả chi tiết dataset trong VLSP 2020 RE, cách xử lí dữ liệu và về cách áp dụng mô hình dựa trên BERT. Tìm hiểu về trích rút thông tin. Các phương pháp giải quyết bài toán.
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
o0o BÁO CÁO CUỐI KÌ
XỬ LÝ NGÔN TỰ NHIÊN
Đề tài:
TÌM HIỂU VỀ TRÍCH RÚT MỐI QUAN HỆ GIỮA CÁC THỰC THỂ
TRONG TIẾNG VIỆT
Trang 2TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
Hà Nội, tháng 4 năm 2022
Trang 3LỜI CẢM ƠN
Nhóm em cảm ơn thầy Phạm Hồng Phong rất nhiều vì đã giảng dạy tận tình, truyềnđạt những kiến thức quý báu cho tụi em trong suốt thời gian học tập vừa qua Do chưa cónhiều kinh nghiệm cũng như những hạn chế về kiến thức, trong bài báo cáo sẽ không tránhkhỏi những thiếu sót Rất mong nhận được lời nhận xét, đóng góp ý kiến, phê bình từ thầy
để bài báo cáo được hoàn thiện hơn
Nhóm em kính chúc thầy nhiều sức khỏe, hạnh phúc và thành công trong công việccũng như trong cuộc sống
Trang 4TÓM TẮT
Hiện nay với sự phát triển và bùng nổ ngành Công nghệ thông tin, Intenet chứa mộtlượng dữ liệu khổng lồ, cho nên vai trò của hệ thống khai thác thông tin trở nên rất quantrọng Relation Extraction là một trong các nhiệm vụ của Information Extraction, nó tậptrung vào việc phân loại các mối quan hệ giữa các cặp Named Entities (NE) được đề cậptrong văn bản
Có rất nhiều phương pháp chiết xuất mới hiện nay, nó nhận được nhiều sự quantâm từ các nhà nghiên cứu trong ngôn ngữ nói chung và tiếng Việt nói riêng Theo thống
kê thì các mô hình dựa tên BERT (Bidirectional Encoder Representations fromTransformers) đã đạt được nhiều thành công trong và trở thành một xu hướng và sử dụngrộng rãi và được biệt là BERT đã được ứng dụng cho Tiếng Việt
Trong bài báo cáo này, chúng tôi sẽ trình bày cách tiếp cận về cách áp dụng môhình dựa trên BERT để trích xuất mối quan hệ nhiệm vụ chung của chiến dịch VLSP 2020
Về chi tiết, chúng tôi trình bày: (1) ý tưởng giải quyết nhiệm vụ này; (2) cách xử lý trước
dữ liệu phù hợp sao cho có thể mang lại kết quả tốt nhất có thể; (3) cách sử dụng mô hìnhdựa trên BERT cho nhiệm vụ trích xuất quan hệ; và (4) kết quả thu được dựa trên dữ liệucủa tổ chức VLSP 2020
Trang 5N i dung ội dung
DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT 1
DANH MỤC CÁC HÌNH VẼ 2
DANH MỤC CÁC BẢNG 3
CHƯƠNG I: GIỚI THIỆU VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN 4
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 5
1 Các lý thuyết liên quan 5
1.1 Bài toán trích rút thông tin 5
1.2 Bài toán trích rút thực thể 5
1.3 Bài toán trích rút mối quan hệ giữa các thực thể 6
CHƯƠNG III: CÁC PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN 7
1 Phân tích yêu cầu của bài toán 7
1.1 Yêu cầu của bài toán và dữ liệu 7
2 Các phương pháp giải quyết bài toán 7
2.1 Phương phápBERT 7
2.2 Phương pháp PhoBert 8
2.3 Phương pháp XLM-RoBERTa 8
2.4 Phương pháp PhoBert kết hợp với XLM-RoBERTa 9
3 Phương pháp đề xuất giải quyết bài toán 12
4 Phương pháp giải quyết bài toán 12
4.1 Mô hình tổng quát 12
4.2 Đặc trưng của mô hình đề xuất 13
CHƯƠNG IV: THỰC NGHIỆM 15
1 Dữ liệu 15
2 Xử lí dữ liệu 15
3 Công nghệ sử dụng 15
4 Các đánh giá 15
CHƯƠNG V : KẾT QUẢ 17
1 Kết quả đạt được 17
1.1.Tham số thực nghiệm 17
1.2 Kết quả đạt được 18
2 Kết luận 19
2.1 Kết quả đạt được 19
2.2 Hạn chế 20
Trang 6DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1.2.1 Các thao tác chính của bài toán trích rút thông tin Hình 1.3.1 Sơ đồ tổng quát PhoBERT đề xuất 13Y
Hình 1.5 1 Chỉ số accuracy của tập train và dev trong quá trình huấn luyện 17Hình 1.5 2 Chỉ số loss trong quá trình huấn luyện 18Hình 1.5 3 Độ chính xác của 3 model dựa theo độ đo accuracy trên tập dev 18Hình 1.5 4 Độ chính xác của 3 model dựa theo độ đo F1-score với average macro trên tập dev 19
Trang 8DANH MỤC CÁC BẢN
Bảng 1.2.1 Bảng mô tả dữ liệu 7Bảng 1.2.2 Hiệu suất của các mô hình trên tập phát triển 10Y
Bảng 1.4 1 Thư viện và môi trường 15
Bảng 1.5 1 Độ chính xác của 3 model dựa theo độ đo accuracy trên tập dev 18Bảng 1.5 2 Độ chính xác của 3 model dựa theo độ đo F1-score với average macro trên tập dev 19
Trang 9CHƯƠNG I: GIỚI THIỆU VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Ngày nay, xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực nghiên cứu rất thú vị và cầnthiết Kết quả trong lĩnh vực xử lý ngôn ngữ tự nhiên có thể mang lại nhiều lợi ích cho conngười, có thể giúp mọi người rất nhiều trong việc tự động hóa các tác vụ xử lý văn bản Tuynhiên, so với các ngôn ngữ phổ biến khác như tiếng Anh, tiếng Trung…, kết quả thu được đốivới trích xuất trong hệ trong Tiếng Việt vẫn còn rất nhiều hạn chế
Trong một cuộc hội thảo quốc tế về xử lí giọng nói, đặc biệt ngôn ngữ là Tiếng Việt,đây là lần đầu tiên có một nhiệm vụ chung về chiết tách quan hệ trong Tiếng Việt Điều nàythực sự tuyệt vời vì nó có nghĩa là khai thác mối quan hệ bằng tiếng Việt đang được cộngđồng nghiên cứu và ngành công nghiệp quan tâm nhiều hơn
Khai thác các mối quan hệ trong chiến dịch VLSP 2020, các nhà tổ chức sẽ phát hànhTrainning, Development và Test dữ liệu
Dữ liệu Trainning and Development bao gồm là các tờ báo điện tử Việt Namđược gắn nhãn theo 3 loại Named Entities - NE (Locations, Organizations, andPersons) được đề cập trong các bài báo và các mối quan hệ được gắn nhãntrong các loại NE phải thuộc cùng một câu
Dữ liệu Test cũng chứa các thông tin tương tự như Training và Development
Dữ liệu Test này sẽ dự đoán nhãn mối quan hệ giữa các NE trong câu
Tiếp theo, chúng tôi mô tả chi tiết dataset trong VLSP 2020 RE, cách xử lí dữ liệu và
về cách áp dụng mô hình dựa trên BERT
Trang 10CHƯƠNG II: CƠ SỞ LÝ THUYẾT
1 Các lý thuyết liên quan
1.1 Bài toán trích rút thông tin
Trích rút thông tin (Information Extraction - IE) là việc nhận biết các đoạn văn bản
ứng với các lớp thực thể và mối quan hệ giữa các thực thể từ dữ liệu dạng văn bản và chuyển chúng sang dạng biểu diễn có cấu trúc (ví dụ, cơ sở dữ liệu)
Có nhiều mức độ trích rút thông tin từ văn bản như sau: trích rút thực thể (Named Entity Recognition - NER) , trích rút quan hệ giữa các thực thể (Relation Extraction – RE), phân giải đồng tham chiếu (Co-Reference Resolution)… Các kỹ thuật được sử dụng trong trích rút thông tin gồm có: phân đoạn, phân lớp, kết hợp và phân cụm
Hình 1.2.1 Các thao tác chính của bài toán trích rút thông tin
1.2 Bài toán trích rút thực thể
Trích rút thực thể (Entity Extraction), còn được gọi là nhận dạng thực thể có tên
(Named Entity Reconition – NER) hoặc xác định thực thể (Entity Identification) là việc xácđịnh các từ, cụm từ trong văn bản đóng vai trò là thực thể thuọc một lớp định nghĩa trước
Trang 11Có thể coi trích rút thực thể là việc tìm kiếm và phân lớp các từ (cụm từ) trong văn bảnvào các nhóm thực thể như tên người (person), tên địa điểm (location), tên tổ chức(organization), ngày tháng (date)… Hiện nay , trích rút thực thể được mở rộng sang nhiều lớpkhác như tên protein, chủ đề bài báo, tên tạp chí, Hội thảo MUC-6 [13] đã phân bài toánNER thành ba loại: trích rủt tên các thực thể bao gồm: tên người, tên tổ chức, tên địa điểm ,nhận dạng các biểu thức thời gian như “9-2-2000” “09/02/2000”, “10h20” …
Các từ được gắn nhãn theo 3 loại thực thể là : Per (tên người), Loc (tên địa điểm), Org( tên tổ chức)
Ví dụ: Cho một đoạn văn:
Anh Trần Duy Hưng đi về Thái Bình
Chúng ta muốn đoạn văn trên được đánh dấu như sau:
Anh <per> Trần Duy Hưng </per> đi về <loc> Thái Bình </loc>
1.3 Bài toán trích rút mối quan hệ giữa các thực thể
Trích rút mối quan hệ giữa các thực thể (Relation Extraction - RE) là việc xác
định các mối quan hệ giữa các thực thể trong văn bản
Bài toán trích rút mối quan hệ giữa các thực thể khác với bài toán trích rút thực thể ởchỗ trích rút thực thể là bài toán quan tâm đến các dãy từ, tức là tìm và phân lớp dãy từ, haynói cách khác, gán nhãn cho các dãy từ Trong khi bài toán trích rút mối quan hệ giữa các thựcthể lại không gán nhãn cho dãy từ, mà quan tâm đến xác định mối quan hệ giữa các thực thể
Ví dụ: Chúng ta có mối quan hệ “sống ở” giữa hai thực thể “tên người” và “tên địađiểm”, quan hệ “họ hàng” giữa nhiều thực thể “tên người” và “tên người” như hai câu sau:
- Tổng thống Mỹ sống tại Nhà Trắng
- Nam là anh của Lan
Trang 12CHƯƠNG III: CÁC PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN
1 Phân tích yêu cầu của bài toán
1.1 Yêu cầu của bài toán và dữ liệu
Bài toán trích xuất mối quan hệ được đề xuất để làm nền tảng cho việc xử lý các tàiliệu một cách thông minh bằng việc giải quyết một trong những bài toán cơ bản của trích xuấtthông tin
Trích xuất mối quan hệ Bài toán này tập trung vào việc phân loại các cặp thực thể(NE) trong văn bản tin tức tiếng Việt thành bốn loại khác nhau không trùng lặp với các quan
hệ ngữ nghĩa đã được xác định trước
Bài toán này chỉ tập trung vào việc trích xuất quan hệ trong cùng một câu, tức là giớihạn quan hệ với các quan hệ được thể hiện duy nhất trong một câu đó Mối quan hệ giữanhững lần đề cập đến thực thể nó sẽ được chú thích khi mà mối quan hệ đó được tham chiếumột cách rõ ràng trong câu và phải chứa hai lượt đề cập Ngay cả khi nó có mối quan hệ trênthực tế, thì bắt buộc vẫn phải có bằng chứng chứng minh cho mối quan hệ đó trong ngữ cảnhcục bộ nơi mà nó được gắn thẻ
Dữ liệu : Bộ dữ liệu (training, development and test) đã được tái sử dụng và phát triển
từ nhiệm vụ VLSP-2018 (VNER 2018), được thu thập từ các báo điện tử đăng trên web Nóđược chú thích với ba loại thực thể (NE): Locations (LOC), Organizations (ORG) và Persons(PER), và bốn loại mối quan hệ giữa các NE Các kiểu quan hệ này được mô tả trong bảng1.2.1 bên dưới
N
o
y
2 PART–WHOLE LOC – LOC, ORG – ORG,
Trang 13BERT là viết tắt của Bidirectional Encoder Representations from Transformers đượchiểu là một mô hình học sẵn hay còn gọi là pre-train model, học ra các vector đại diện theongữ cảnh 2 chiều của từ, được sử dụng để transfer sang các bài toán khác trong lĩnh vực xử lýngôn ngữ tự nhiên BERT đã thành công trong việc cải thiện những công việc gần đây trongviệc tìm ra đại diện của từ trong không gian số (không gian mà máy tính có thể hiểu được)thông qua ngữ cảnh của nó.
Kiến trúc của mô hình BERT là một kiến trúc đa tầng gồm nhiều lớp BidirectionalTransformer encoder dựa trên bản mô tả đầu tiên của Vaswani et al (2017) và sự phát hànhtrong thư viện tensor2tensor Việc sử dụng các Transformers đã trở nên phổ biến trong thờigian gần đây
Trong báo cáo này, chúng ta sẽ gọi L là số lớp Transformer(blocks) được sử dụng vớikích thước của các lớp ẩn là H và số heads ở lớp attention là A Trong mọi trường hợp, kíchthước của bộ lọc(filter size) luôn được đặt bằng 4H Điều này có nghĩa là khi H = 768 thì filtersize = 3072 và hoặc khi H = 1024 thì filter size = 4096 Báo cáo chủ yếu lấy kết quả trên 2kích thước mô hình:
BERT BASE : L=12, H=768, A=12, Total Parameters=110M
BERT LARGE : L=24, H=1024, A=16, Total Parameters=340M
BERT ngày càng phát triển với các phiên bản cải tiến, biến thể như RoBERTa,ALBERT, DistilBERT,
2.2 Phương pháp PhoBert
Đây là một pre-trained được huấn luyện monolingual language, tức là chỉ huấn luyện dành riêng cho tiếng Việt Tương tự như BERT, PhoBERT cũng có 2 phiên bản là :
Trang 14RoBERTa là một phiên bản được huấn luyện lại của BERT với một phương pháp huấnluyện tốt hơn với dữ liệu được tang gấp 10 lần.
Để tăng cường quá trình huấn luyện, RoBERTa không sử dụng cơ chế dự đoán câu kế tiếp (NSP) từ BERT mà sử dụng kỹ thuật mặt nạ động (dynamic masking), theo đó các token mặt nạ sẽ bị thay đổi trong quá trình huấn luyện Sử dụng kích thước Batch lớn hơn cho thấy hiệu quả tốt hơn khi huấn luyện
RoBERTa sử dụng 160GB văn bản để huấn luyện Trong đó, 16GB là sách và
Wikipedia tiếng Anh được sử dụng trong huấn luyện BERT Phần còn lại bao gồm
CommonCrawl News dataset (63 triệu bản tin, 76 GB), ngữ liệu văn bản Web (38 GB) và Common Crawl Stories (31GB) Mô hình này được huấn luyện với GPU Tesla V100 trong 1 ngày
XLM-RoBERTa là phiên bản đa ngôn ngữ của RoBERTa Nó được pre-trained trên 2.5 TB dữ liệu Common Crawl đã được lọc chứa 100 ngôn ngữ
2.4 Phương pháp PhoBert kết hợp với XLM-RoBERTa
Các nghiên cứu của bài toán này tập trung vào các mô hình BERT-based Các mô hìnhnày đã đạt được những thành tựu cao trong các nghiên cứu NLP Vì vậy nó trở thành xuhướng và được sử dụng rộng rãi cho rất nhiều nghiên cứu về NLP
- Để nắm rõ hơn, dưới đây là một vài ví dụ Các ví dụ này trích từ những bài báo
“KINH TẾ” thuộc bộ dữ liệu VLSP2018
Trang 15o Ví dụ 1: Trong câu: “Hà Nội là thủ đô của Việt Nam”, dựa vào bảng 1.2.1
hai thực thể (“Hà Nội” và “Việt Nam”) đều nhãn là Locations (LOC) suy ra mốiquan hệ giữa cặp NE trên là “PART-WHOLE”
o Ví dụ 2: Trong câu: “Đào Minh Tú – Phó Thống đốc Ngân hàng Nhà
nước”, dựa vào bảng 1.2.1 thực thể “Đào Minh Tú” có nhãn là Persons (PER) và
“Ngân hàng Nhà nước” có nhãn là Organizations (ORG) suy ra mối quan hệ giữacặp NE trên là “ORGANIZATION–AFFILIATION”
Các bước Tiền xử lí dữ liệu :
- Trước tiên xóa các ký tự không phải là chữ và số ở đầu hoặc cuối thực thể (NE)
- Tiếp đến sử dụng thư viện Underthesea để chia tài liệu thô thành các câu và tạo
phân đoạn từ cho câu
- Đôi khi, Undethesea không chia tài liệu thô bằng một số ký tự ở cuối câu như dấu chấm, dấu ba chấm, Vì vậy, chúng tôi tìm thấy những câu bị lỗi này và sửa lại bằngcách sử dụng một số quy tắc
- Khắc phục sự cố với phân đoạn từ bị lỗi của Underthesea để khớp với các NE…
- Bên cạnh đó, có thể thực hiện một số bước tiền xử lý khác như: Kiểm tra và sửa nếu có mối liên hệ giữa các thực thể thuộc các câu khác nhau,… để đảm bảo dữ liệu tríchxuất từ dữ liệu thô là chính xác
Model Micro-averaged F-score
Trang 16Hình 1.2.2 Sơ đồ tổng quát PhoBERT và XLM-RoBERTaNhư hình 1.2.1 trên, chúng tôi sử dụng hai mô hình BERT-based hỗ trợ tiếng Việt:PhoBERT (PB) và XLM-RoBERTa (XLMR)
Về chi tiết, chúng tôi làm theo các bước sau để xử lý câu:
- Chuyển các câu vào các mô hình BERT-based để tạo ra các vectơ nhúng cho từngcặp NE của mỗi câu Sử dụng cả hai mẫu BERT-base PB và XLMR; và chỉ sử dụng PBhoặc chỉ XLMR
- Đặc biệt, mỗi NE có thể có nhiều mảnh ghép từ Vì vậy, sử dụng và kết hợp các
phép nhúng của nó từ các lớp BERT khác nhau thành một vectơ nhúng duy nhất cho đoạn
từ đó
Trang 17- Sau đó, với mỗi NE, thực hiện quy trình tương tự như vậy để tạo một vectơ nhúng duy nhất từ các vectơ nhúng các mảnh từ của nó.
- Mỗi câu có hai thực thể, vì vậy có hai vectơ nhúng Đặt vectơ đầu tiên là h1; vectơ nhúng thứ hai là h2 Từ hai vectơ này, tạo ra một vectơ nhúng duy nhất cho câu hiện tại:[h1, h2]
Kết quả đạt được :
- Khi sử dụng cả hai models (PB và XLMR) và chỉ một trong hai models này (PB
hoặc XLMR) và có thể nhận thấy rằng kết quả khi việc sử dụng cả hai models thì tốt hơn
nhiều Chi tiết về kết quả được trình bày trong Bảng 1.2 2
3 Phương pháp đề xuất giải quyết bài toán
Trước tiên chúng ta sẽ xây dựng bộ dữ liệu, bộ dữ liệu gồm tập train, dev và test Mỗi
dữ liệu sẽ bao gồm: một đoạn văn, vị trí của 2 thực thể và loại quan hệ của 2 thực thế đó
Sử dụng mô hình PhoBERT hỗ trợ tiếng Việt để tạo các vectơ nhúng
Sử dụng các mô hình dự đoán như: Multil-layers neural network để dự đoán mối quan
hệ của từng cặp thực thể
Nhóm lựa chọn phương pháp này vì:
o BERT được coi là bước đột phá thực sự của Google trong lĩnh vực xử lý
ngôn ngữ tự nhiên Và PhoBERT – một pre-trained được huấn luyện sẵn dành
cho tiếng Việt PhoBERT đã được train sẵn trên khoảng 20GB dữ liệu
o Hiện tại PhoBERT đang là mô hình hỗ trợ tiếng Việt được đánh giá đem
lại kết quả tốt nhất
4 Phương pháp giải quyết bài toán