UBND TỈNH BÌNH DƢƠNG
TRƢỜNG ĐẠI HỌC THỦ DẦU MỘT
NGUYỄN ANH DŨNG
NHẬN DIỆN TÊN RIÊNG TIẾNG VIỆT BẰNG
PHƢƠNG PHÁP HỌC SÂU
LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 8480104
NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. BÙI THANH HÙNG
BÌNH DƢƠNG - 2019
LỜI CAM ĐOAN
Tôi là Nguyễn Anh Dũng, học viên lớp CH16HT, ngành Hệ thống thông tin,
trƣờng Đại học Thủ Dầu Một. Tôi cam đoan, luận văn của tôi với đề tài ―Nhận diện
tên riêng tiếng Việt bằng phƣơng pháp học sâu‖ là do tôi tìm hiểu, nghiên cứu và
đƣợc sự hƣớng dẫn tận tình của TS. Bùi Thanh Hùng, luận văn này của tôi có tham
khảo từ các bài báo, tài liệu, công trình nghiên cứu của ngƣời khác nhƣng tôi đều
ghi rõ trong tài liệu tham khảo. Tôi xin chịu trách nhiệm về lời cam đoan này.
Bình Dương, ngày 01 tháng 6 năm 2019
Ngƣời viết luận văn
Nguyễn Anh Dũng
ii
LỜI CẢM ƠN
Trong quá trình thực hiện luận văn ―Nhận diện tên riêng tiếng Việt bằng
phƣơng pháp học sâu‖, tôi đã đƣợc sự hƣớng dẫn nhiệt tình của TS. Bùi Thanh
Hùng. Thầy đã dành rất nhiều thời gian quý báu của mình để hƣớng dẫn chi tiết,
nghe báo cáo thử và động viên tinh thần tôi trong những lúc khó khăn khi thực hiện
luận văn. Tôi chân thành cảm ơn thầy!
Tôi cũng bày tỏ lòng biết ơn sâu sắc đến các thầy cô đã giảng dạy tôi tận tình,
truyền đạt những kiến thức bổ ích cho tôi trong suốt thời gian học tại trƣờng và các
thầy cô của trƣờng Đại học Thủ Dầu Một đã tạo điều kiện tốt nhất để tôi hoàn thành
luận văn này.
Cuối cùng, tôi cũng gửi lời cảm ơn đến gia đình, đồng nghiệp, các anh chị
học chung lớp đã đoàn kết, giúp đỡ, động viên tôi trong suốt thời gian học vừa qua.
Một lần nữa, tôi xin trân trọng cảm ơn.
Bình Dƣơng, ngày tháng
năm 2019
Ngƣời viết luận văn
iii
MỤC LỤC
MỤC LỤC ................................................................................................................ IV
TÓM TẮT LUẬN VĂN .............................................................................................1
DANH MỤC TỪ VIẾT TẮT ......................................................................................2
DANH MỤC CÁC BẢNG..........................................................................................3
DANH MỤC HÌNH VẼ, ĐỒ THỊ ..............................................................................4
CHƢƠNG I. GIỚI THIỆU CHUNG ..........................................................................6
1.1. LÍ DO THỰC HIỆN ĐỀ TÀI .......................................................................................6
1.2. MỤC TIÊU NGHIÊN CỨU .........................................................................................7
1.3. ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU .......................................................................7
1.4. PHƢƠNG PHÁP NGHIÊN CỨU ..................................................................................7
1.5. Ý NGHĨA KHOA HỌC VÀ Ý NGHĨA THỰC TIỄN CỦA ĐỀ TÀI .....................................7
1.5.1. Ý nghĩa khoa học...........................................................................................7
1.5.2. Ý nghĩa thực tiễn ...........................................................................................8
1.6. BỐ CỤC LUẬN VĂN ................................................................................................9
CHƢƠNG II. CƠ SỞ LÝ THUYẾT .........................................................................11
2.1. XỬ LÝ NGÔN NGỮ TỰ NHIÊN ...............................................................................11
2.1.1. Tách từ (Tokenizer) .....................................................................................12
2.1.2. Xác định loại từ trong câu (Part-of-Speech tagging - POS tagging) .........14
2.1.3. Xác định cụm từ (Chunking) .......................................................................15
2.1.4. Phân tích cú pháp (Parsing) .......................................................................17
2.2. CÁC PHƢƠNG PHÁP BIỂU DIỄN TỪ DƢỚI DẠNG VÉC TƠ .......................................18
2.2.1. Biểu diễn túi từ - Bag of words ...................................................................18
2.2.2 Biểu diễn One-hot-vector .............................................................................19
2.2.3. Túi từ liên tục - CBOW ...............................................................................21
2.2.4. Skip gram ....................................................................................................24
2.3. HỌC SÂU - DEEP LEARNING ................................................................................27
2.3.1. Mạng nơ ron nhân tạo (ANN) .....................................................................30
2.3.2. Mạng nơ-ron hồi quy RNN (Recurrent Neural Network) ...........................35
2.3.3. Bộ nhớ dài-ngắn LSTM (Long-short term memory) ...................................37
iv
2.3.4. Mạng nơ ron ngắn dài song song LSTM (Bidirectional Long-short term
memory).....................................................................................................................42
2.4. NHẬN DIỆN TÊN RIÊNG (NAME ENTITY RECOGNITION – NER) ..........................43
2.4.1. Tổng quan về bài toán Nhận diện tên riêng ...............................................43
2.4.2. Hướng tiếp cận nghiên cứu.........................................................................44
2.4.3. Các nghiên cứu gần đây .............................................................................44
2.4.4. Đề xuất hướng nghiên cứu ..........................................................................45
CHƢƠNG III. MÔ HÌNH ĐỀ XUẤT ......................................................................46
3.1. TỔNG QUAN MÔ HÌNH ĐỀ XUẤT...........................................................................46
3.2. CÁC ĐẶC TRƢNG CỦA MÔ HÌNH ĐỀ XUẤT............................................................47
3.2.1. Từ nhúng – Word embeddings ....................................................................47
3.2.2. Các đặc trưng cú pháp................................................................................48
3.3. NHẬN DIỆN TÊN RIÊNG TIẾNG VIỆT ....................................................................48
3.3.1 Mô hình học sâu trong bài toán nhận diện tên riêng tiếng Việt ..................51
3.3.2. Nhận diện tên riêng.....................................................................................53
CHƢƠNG IV. THỰC NGHIỆM ..............................................................................55
4.1. KHO DỮ LIỆU VLSP ............................................................................................55
4.2. PHƢƠNG PHÁP ĐÁNH GIÁ MÔ HÌNH .....................................................................57
4.3.1 Thực nghiệm giữa phương pháp LSTM và BiLSTM với đặc trưng từ .........59
4.3.2 Thực nghiệm BiLSTM với đặc trưng từ và số vòng huấn luyện khác nhau.60
4.3.3 Thực nghiệm phương pháp sử dụng các lớp BiLSTM với đặc trưng từ ......61
4.3.4 Thực nghiệm phương pháp BiLSTM với đặc trưng từ và tỉ lệ Dropout khác
nhau ...........................................................................................................................61
4.4. XÂY DỰNG ỨNG DỤNG WEB TRỰC QUAN HÓA KẾT QUẢ.....................................62
CHƢƠNG V. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN .........................................67
5.1. KẾT QUẢ ĐẠT ĐƢỢC ............................................................................................67
5.2. HƢỚNG PHÁT TRIỂN ............................................................................................67
TÀI LIỆU THAM KHẢO .........................................................................................68
v
TÓM TẮT LUẬN VĂN
Trong thời đại công nghiệp 4.0 hiện nay, khoa học công nghệ đang ở giai
đoạn phát triển mạnh mẽ đặc biệt là trong lĩnh vực công nghệ thông tin và truyền
thông. Nhu cầu giao tiếp, thƣơng mại điện tử và tìm kiếm thông tin rất lớn, vì thế
một số ứng dụng xử lý ngôn ngữ tự nhiên nhƣ tóm tắt văn bản, máy tìm kiếm, dịch
máy, trích xuất thông tin và trả lời câu hỏi tự động ngày càng phát triển. Những ứng
dụng này đƣợc phát triển dựa trên nền tảng của một số các tác vụ xử lý ngôn ngữ tự
nhiên khác và nhận diện tên riêng trong văn bản là một trong những tác vụ nền tảng
quan trọng. Nhận diện tên riêng trong văn bản đã đƣợc nghiên cứu trên nhiều ngôn
ngữ nhƣ tiếng Anh, tiếng Nhật, tiếng Trung,… bằng nhiều phƣơng pháp khác nhau
và đã đạt đƣợc nhiều kết quả khả quan. Các phƣơng pháp học máy trƣớc đây nhƣ
SVM, Cây quyết định, … cho kết quả phân loại tên riêng cũng khá tốt. Ngày nay,
sự phát triển của phần cứng máy tính đã giải quyết đƣợc một số thuật toán phức tạp
với tốc độ xử lý nhanh nên hƣớng nghiên cứu sử dụng phƣơng pháp học sâu Deep
Learning huấn luyện trên tập dữ liệu lớn cho kết quả tốt hơn nhiều so với các hệ
thống trƣớc không sử dụng phƣơng pháp học sâu.
Luận văn của tôi với đề tài ―Nhận diện tên riêng tiếng Việt bằng phƣơng
pháp học sâu‖ dựa trên những nghiên cứu trƣớc đây để đề xuất nghiên cứu và phát
triển một hệ thống nhận diện tên riêng cho tiếng Việt (ViNER) bằng cách kết hợp
các đặc trƣng cú pháp tự động với các từ nhúng đƣợc huấn luận sẵn làm đầu vào
cho Bộ nhớ ngắn dài hai chiều (BiLSTM). Tôi huấn luyện hệ thống này trên tập dữ
liệu VLSP 2016. Bộ dữ liệu này gồm 3 tập dữ liệu huấn luyện, phê chuẩn và kiểm
tra. Mỗi tập dữ liệu gồm 4 cột: Từ hoặc từ ghép, POS, CHUNK và TAG.
Sau khi huấn luyện và đánh giá thực nghiệm hệ thống trên nhiều khía cạnh
khác nhau bằng Độ đo chính xác (Accuracy), tôi nhận thấy hệ thống kết hợp các đặc
trƣng cú pháp tự động với các từ nhúng đƣợc huấn luận sẵn làm đầu vào cho Bộ
nhớ ngắn dài hai chiều (BiLSTM) cho kết quả cao nhất đạt 92,06%.
Luận văn cũng đề xuất xây dựng một ứng dụng web hỗ trợ nhận diện 4 loại
tên riêng tên ngƣời, tên tổ chức, tên địa điểm, tên khác cho một đoạn văn bản đƣợc
ngƣời dùng nhập vào.
1
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
Từ chuẩn
Diễn giải
NER
Named Entity Recognition
Nhận diện thực thể đƣợc đặt tên hay nhận
diện tên riêng
ViNER
Vietnamese Named Entity
Recognition
Nhận diện tên riêng tiếng Việt
NLP
Natural Languague
Processing
Xử lý ngôn ngữ tự nhiên
RNN
Recurrent Neural Network
Mạng nơ ron hồi quy
LSTM
Long short-term memory
Mạng nơ ron bộ nhớ ngắn – dài
BiLSTM
Bidirectional Long shortterm memory
Mạng nơ ron bộ nhớ ngắn – dài song song
POS
Part-of-Speech
Từ loại (N, A, R, …)
Chunking
Tách câu thành các cụm từ (Cụm danh từ,
cụm động từ, …)
CBOW
Continuous Bag of Words
Túi từ liên tục
PER
Person
Tên riêng chỉ ngƣời
LOC
Location
Tên riêng chỉ địa điểm
ORG
Organization
Tên riêng chỉ tổ chức
MISC
Miscellaneous
Tên riêng khác không thuộc Per, Loc, Org
VLSP
Vietnamese Language and
Speech Processing
Xử lí ngôn ngữ và tiếng nói Việt Nam
CHUNK
2
DANH MỤC CÁC BẢNG
Bảng 2. 1. Minh họa ví dụ tách từ ....................................................................13
Bảng 2. 2. Nhãn cụm từ cho hệ phân cụm từ Việt ...........................................16
Bảng 3. 1. Các đặc trƣng đƣợc sinh tự động ....................................................48
Bảng 3. 2. Một đặc trƣng véc tơ đầu vào cho mô hình ....................................52
Bảng 4. 1. Số lƣợng các thực thể trong tập dữ liệu ..........................................56
Bảng 4. 2. Thống kê về dữ liệu ........................................................................56
Bảng 4. 3. Thống kê chi tiết dữ liệu VLSP 2016 .............................................58
Bảng 4. 4. Tham số của mô hình huấn luyện ...................................................60
Bảng 4. 5. Độ chính xác của hệ thống khi sử dụng các phƣơng pháp học sâu 60
Bảng 4. 6. Kết quả so sánh giữa các lớp ..........................................................61
Bảng 4. 7. Kết quả của các Dropout khác nhau ...............................................61
Bảng 4. 8. Kết quả so sánh giữa các đặc trƣng ................................................61
Bảng 4. 9. Các tham số và đặc trƣng tối ƣu cho mô hình huấn luyện_đánh giá
hệ thống ViNER ...............................................................................................62
3
DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 2. 1. Mô hình xử lý ngôn ngữ tự nhiên ....................................................11
Hình 2. 2. Trích xuất (nhận diện) các thực thể trong văn bản ..........................12
Hình 2. 3. Mô hình hoạt động của bộ phân cụm từ Việt ..................................15
Hình 2. 4. Biểu diễn từ thành ma trận véc tơ 50 chiều .....................................18
Hình 2. 5. Mô hình Word2vector .....................................................................21
Hình 2. 6. Mô hình Continuous Bag of Words ................................................22
Hình 2. 7. Mô hình CBOW chi tiết ..................................................................24
Hình 2. 8. Mô hình Skip gram trong Word2vec ...............................................24
Hình 2. 9. Mô hình mạng nơ ron 1 lớp ẩn của Word2vec ................................25
Hình 2. 10. Ma trận trọng số của lớp ẩn của mô hình Word2vec ....................26
Hình 2. 11. Lớp ẩn của mô hình hoạt động nhƣ một bảng tra cứu...................27
Hình 2. 12. Mối tƣơng quan giữa từ ―ants‖ và từ ―car‖ ...................................27
Hình 2. 13. Lƣợc sử học sâu Deep Learning .... Error! Bookmark not defined.
Hình 2. 14. Một nơ ron sinh học .....................................................................30
Hình 2. 15. Một perceptron .............................................................................30
Hình 2. 16. Mô hình nơ ron .............................................................................32
Hình 2. 17. Mô hình mạng nơ ron ANN ..........................................................33
Hình 2. 18. Quá trình xử lý thông tin trong mạng RNN ..................................36
Hình 2. 19. RNN phụ thuộc short-term ............................................................37
Hình 2. 20. RNN phụ thuộc long-term .............................................................37
Hình 2. 21. Các mô-đun lặp của mạng RNN chứa một layer ..........................38
Hình 2. 22. Các mô-đun lặp của mạng LSTM chứa bốn layer ........................38
Hình 2. 23. Các kí hiệu sử dụng trong mạng LSTM ........................................39
Hình 2. 24. Tế bào trạng thái LSTM giống nhƣ một băng truyền ...................40
4
Hình 2. 25. Cổng trạng thái LSTM ..................................................................40
Hình 2. 26. LSTM focus f ................................................................................41
Hình 2. 27. LSTM focus i.................................................................................41
Hình 2. 28. LSTM focus c ................................................................................41
Hình 2. 29. Mô hình Bidirectional LSTM sử dụng 2 mạng nơ-ron LSTM .....42
Hình 2. 30. Mạng Bi-LSTM cho NER .............................................................43
Hình 2. 31. Trích xuất (nhận diện) các thực thể trong văn bản ........................44
Hình 3. 1. Mô hình đề xuất cơ bản cho nhận diện tên riêng tiếng Việt ...........46
Hình 3. 2. Mô hình xây dựng vector Word embedding ...................................48
Hình 3. 3. Hệ thống nhận diện tên riêng tiếng Việt chi tiết ViNER ................51
Hình 3. 4. Mô hình học sâu 2 lớp BiLSTM cho hệ thống ViNER ...................53
Hình 4. 1. Chi tiết một phần dữ liệu huấn luyện trong mô hình ViNER ........56
Hình 4. 2. Giao diện chính của trang web ........................................................63
Hình 4. 3. Giao diện phân tích dữ liệu .............................................................63
Hình 4. 4. Giao diện phân tích kết quả .............................................................64
Hình 4. 5. Các đặc trƣng đƣợc tạo tự động bởi công cụ Underthesea .............65
Hình 4. 6. So sánh nhãn tên riêng của ViNER và Underthesea .......................65
Hình 4. 7. Giao diện Demo thực tế...................................................................66
5
CHƢƠNG I. GIỚI THIỆU CHUNG
1.1. Lí do thực hiện đề tài
Dữ liệu lớn (Big data), Trí tuệ nhân tạo (AI) và Internet vạn vật (IOT) là ba
nhân tố quan trọng trong Cuộc cách mạng công nghiệp 4.0 đang bùng nổ và phát
triển mạnh mẽ. Thành phần cốt lõi của ba nhân tố trên chính là các phƣơng pháp
học máy (machine learning - ML) và Xử lí ngôn ngữ tự nhiên Natural Language
Processing (NLP) là một trong số những bài toán của Trí tuệ nhân tạo với nhiều chủ
đề nhƣ: tóm tắt văn bản, máy tìm kiếm, dịch máy, trích xuất thông tin và trả lời câu
hỏi tự động, ...Việc nhận diện ra những thành phần nguyên tử nhƣ tên ngƣời, tên địa
điểm, tên tổ chức, tiền tệ, ngày tháng, … trong các văn bản mang lại nhiều ý nghĩa
quan trọng cho các bài toán NLP.
Vì vậy, việc xây dựng một hệ thống để nhận diện ra đƣợc các tên thực thể
tên ngƣời, tên địa điểm, tên tổ chức, tiền tệ, ngày tháng, … là cần thiết. Hệ thống
nhận diện tên riêng đƣợc đề xuất nhằm giải quyết vấn đề đó. Hiện nay, có rất nhiều
hệ thống nhận diện tên riêng trên Thế giới nhƣng chủ yếu nghiên cứu và phát triển
phục vụ cho văn bản tiếng Anh, tiếng Trung, tiếng Nhật nhận diện đƣợc thực thể
với độ chính xác rất cao do nguồn dữ liệu để huấn luyện mô hình hệ thống phong
phú, cộng đồng nghiên cứu nhiều nhƣ hệ thống của Stanford University. 1 Đối với
tiếng Việt, một ngôn ngữ hầu nhƣ chỉ đƣợc sử dụng ở Việt Nam và ngữ pháp, ngữ
nghĩa cũng phức tạp hơn nhiều ngôn ngữ khác nên nguồn dữ liệu văn bản tiếng Việt
để huấn luyện mô hình ít, cộng đồng nghiên cứu ít thì việc xây dựng một hệ thống
nhận diện tên riêng cho tiếng Việt gặp nhiều khó khăn, thách thức.
Gần đây, kỹ thuật công nghệ phần cứng có sự phát triển vƣợt bậc tạo nền
tảng cho các thuật toán Trí tuệ nhân tạo nói chung và mạng nơ ron nhân tạo nói
riêng phát huy đƣợc tốc độ và tính ƣu việt của nó. Các phƣơng pháp học máy xử lý
văn bản cũng đƣợc cải tiến, phát triển kéo theo và Deeplearning (học sâu) là một
trong những phƣơng pháp tối ƣu để giải quyết các bài toán xử lí văn bản với nguồn
dữ liệu lớn nhƣ bài toán nhận diện tên riêng.
1
http://nlp.stanford.edu:8080/ner
6
Với những ý nghĩa và giải quyết những khó khăn, thách thức trên, tôi đã
chọn đề tài ―Nhận diện tên riêng tiếng Việt bằng phương pháp học sâu‖ (ViNER)
làm luận văn tốt nghiệp.
1.2. Mục tiêu nghiên cứu
Mục tiêu nghiên cứu của luận văn là xây dựng một hệ thống nhận diện tên
riêng tiếng Việt sử dụng phƣơng pháp học sâu mạng nơ ron ngắn dài song song
BiLSTM của kiến trúc học sâu Deeplearning với sự hỗ trợ của ma trận đƣợc huấn
luyện sẵn trƣớc của tiếng Việt và các công cụ trích xuất đặc trƣng. Ngoài ra, tôi còn
xây dựng một ứng dụng Web để trực quan hóa việc phân tích dữ liệu, phân tích kết
quả và nhận diện đƣợc tên riêng của một văn bản nhập vào từ trang web.
1.3. Đối tƣợng, phạm vi nghiên cứu
Nghiên cứu các Mô hình huấn luyện khảo sát trên nhiều tham số khác nhau
dựa trên nền tảng mạng học sâu để tìm ra mô hình học sâu với tham số tối ƣu cho hệ
thống nhận diện tên riêng tiếng Việt.
Phạm vi nghiên cứu: xây dựng mô hình nhận diện đƣợc các tên riêng từ các
văn bản tiếng Việt nhập vào từ giao diện Web. Mô hình đƣợc huấn luyện từ nguồn
dữ liệu VLSP 2016. 2 Trong bộ dữ liệu này, hệ thống của tôi chỉ nhận diện 4 loại
thực thể hay còn gọi là tên riêng tiếng Việt là tên ngƣời, tên địa điểm, tên tổ chức và
tên khác. Từ nhúng đƣợc huấn luyện sẵn từ 2 triệu bài báo của một Website báo
điện tử. Sử dụng phƣơng pháp học sâu mạng nơ ron ngắn dài song song BiLSTM.
1.4. Phƣơng pháp nghiên cứu
Vận dụng các lý thuyết đã học, các bài báo khoa học và các nghiên cứu trƣớc
đây của các tác giả, cùng với sự hƣớng dẫn của giảng viên hƣớng dẫn để thu thập,
lựa chọn nguồn dữ liệu, chọn mô hình đề xuất phù hợp.
1.5. Ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài
1.5.1. Ý nghĩa khoa học
Nghiên cứu về nhận dạng tên riêng tiếng Việt còn hạn chế nên kết quả của
luận văn sẽ là một nghiên cứu có thể làm tài liệu tham khảo cho các hƣớng phát
triển sau này.
2
http://vlsp.org.vn
7
Trích chọn đặc trƣng văn bản tiếng Việt kết hợp từ nhúng, thực nghiệm tìm
ra phƣơng pháp học sâu phù hợp, hiệu quả cho bài toán nhận diện tên riêng tiếng
Việt.
Đánh giá đƣợc hiệu suất của phƣơng pháp bằng cách thực nghiệm hệ thống
trên các khía cạnh khác nhau.
Xây dựng đƣợc ứng dụng web để trực quan hóa các tƣơng tác với ngƣời
dùng khi ngƣời dùng nhập văn bản cần nhận dạng các tên riêng và phân tích trực
quan các dữ liệu, kết quả.
1.5.2. Ý nghĩa thực tiễn
Đã có nhiều nghiên cứu về nhận diện tên riêng, tuy nhiên những
nghiên cứu về nhận diện tên riêng cho tiếng Việt chƣa nhiều. Nhận diện tên riêng là
nhiệm vụ đóng vai trò quan trọng trong các ứng dụng trích xuất thông tin, đã đƣợc
quan tâm nghiên cứu trên thế giới từ đầu những năm 1990. Nó có nhiệm vụ tìm
kiếm và rút ra những thông tin liên quan đến thực thể (một đối tƣợng hoặc một tập
hợp đối tƣợng của thế giới tự nhiên) trong văn bản, thông thƣờng là loại thực thể.
Có thể tùy theo từng bài toán, từng lĩnh vực cụ thể, ngƣời ta đƣa ra danh sách những
loại thực thể đƣợc nhận dạng khác nhau. Các hệ thống nhận dạng thực thể trong văn
bản (Cao 2007, Mansouri 2008) [14] thƣờng nhận một số loại thực thể: Thực thể chỉ
ngƣời (Person), tổ chức (Organization), địa điểm (Location), ngày (Date), thời gian
(Time), đơn vị tiền tệ (Money), phần trăm (Percent). Trong đó, loại thực thể chỉ
ngày (Date), thực thể chỉ thời gian (Time), thực thể chỉ các đơn vị tiền tệ (Money),
thực thể chỉ phần trăm (Percent) thƣờng ít mang tính nhập nhằng, không khó để
nhận dạng. Ngoài ra tùy từng lĩnh vực, ngƣời ta có thể chú ý thêm vào những loại
thực thể khác đặc thù. Ví dụ hệ thống nhận dạng thực thể trong văn bản với lĩnh vực
y tế (Phạm 2007) [15] sẽ nhận những thực thể chỉ tên thuốc, hoặc các loại bệnh hay
hệ thống nhận diện các thực thể sản phẩm kinh doanh trong kinh tế, … nhƣ những
loại thực thể chính.
Một hệ thống nhận biết các loại thực thể tên riêng tốt có thể đƣợc ứng dụng
trong nhiều lĩnh vực khác nhau, cụ thể nó có thể đƣợc sử dụng nhằm:
Hỗ trợ Web ngữ nghĩa. Web ngữ nghĩa là các trang Web có thể biểu diễn
dữ liệu ―thông minh‖ , ở đây ―thông minh‖ chỉ khả năng kết hợp, phân lớp và khả
năng suy diễn trên dữ liệu đó. Sự thành công của các Web ngữ nghĩa phụ thuộc vào
8
các ontology cũng nhƣ sự phát triển của các trang Web đƣợc chú giải bởi các siêu
dữ liệu tuân theo các ontology này. Mặc dù các lợi ích mà các ontology đem lại là
rất lớn nhƣng việc xây dựng chúng một cách tự động lại hết sức khó khăn. Vì lý do
này, các công cụ trích chọn thông tin tự động từ các trang Web để ―làm đầy ― các
ontology nhƣ hệ thống nhận biết các loại thực thể là hết sức cần thiết.
Xây dựng các máy tìm kiếm hƣớng thực thể. Ngƣời dùng có thể tìm thấy
các trang Web nói về ―Clinton‖ là một địa danh ở Bắc Carolina một cách nhanh
chóng mà không phải duyệt qua hàng trăm trang Web nói về tổng thống Bill Clinton.
Nhận biết các loại thực thể có thể đƣợc xem nhƣ là bƣớc tiền xử lý làm
đơn giản hóa các bài toán nhƣ dịch máy, tóm tắt văn bản, làm tiền đề cho việc trích
chọn thông tin phức tạp hơn.
Trƣớc khi đọc một tài liệu, ngƣời dùng có thể đọc lƣớt qua các tên ngƣời,
tên địa danh, tên công ty đƣợc đề cập đến trong đó.
Dựa vào kết quả nghiên cứu của đề tài, phƣơng pháp đề xuất, hệ thống nhận
diện tên riêng tiếng Việt sẽ làm tiền đề cho việc giải quyết các bài toán về trích
chọn thông tin từ các tài liệu tiếng Việt cũng nhƣ hỗ trợ cho việc xử lý ngôn ngữ
tiếng Việt.
1.6. Bố cục luận văn
Luận văn đƣợc chia thành 5 chƣơng với các nội dung nhƣ sau:
Chƣơng 1 – Giới thiệu chung
Trình bày lý do chọn đề tài, các khó khăn, thách thức, nêu ra mục tiêu,
đối tƣợng, phạm vi và phƣơng pháp nghiên cứu, ý nghĩa của đề tài.
Chƣơng 2 – Cơ sở lý thuyết
Giới thiệu tổng quan về xử lí ngôn ngữ tự nhiên, các phƣơng pháp, công
cụ để tách từ, gán nhãn từ loại, gán nhãn cụm từ, phân tích cú pháp; Giới
thiệu về các cách biểu diễn từ thành véc tơ, mạng nơ ron nhân tạo, kỹ thuật
lan truyền ngƣợc; Trình bày các phƣơng pháp học sâu có thể sử dụng cho hệ
thống nhận diện tên riêng tiếng Việt. Trình bày tổng quan hệ thống nhận diện
tên riêng, hƣớng tiếp cận và các nghiên cứu liên quan; Đề xuất hƣớng nghiên
cứu.
Chƣơng 3 – Mô hình đề xuất
9
Trình bày tổng quan mô hình đề xuất, các đặc trƣng trong mô hình; Chi
tiết hệ thống nhận diện tên riêng tiếng Việt.
Chƣơng 4 – Thực nghiệm
Giới thiệu bộ dữ liệu, quá trình xử lí dữ liệu, phƣơng pháp đánh giá,
phần thực nghiệm và đánh giá thực nghiệm theo các khía cạnh khác nhau để
chọn mô hình tối ƣu cho hệ thống nhận diện tên riêng tiếng Việt.
Chƣơng 5 – Kết luận và hƣớng phát triển
10
CHƢƠNG II. CƠ SỞ LÝ THUYẾT
2.1. Xử lý ngôn ngữ tự nhiên
Trong thời đại cách mạng công nghiệp 4.0 hiện nay, việc xử lý các ngôn ngữ
tự nhiên đang đƣợc nghiên cứu và phát triển mạnh mẽ. Xử lý ngôn ngữ tự nhiên
(gọi tắt NLP - Natural Language Processing) là các kĩ thuật, phƣơng pháp nhằm hỗ
trợ cho các hệ thống máy tính hiểu, xử lý, nhận dạng ngôn ngữ tự nhiên nhƣ tiếng
Việt, tiếng Anh, tiếng Trung. Có rất nhiều nghiên cứu về NLP nhƣng có thể phân
thành các nhánh nghiên cứu nhƣ: Phân tích cảm xúc (Sentiment), Phân loại tài liệu
(Classification), Dịch máy (Translation), Tóm tắt văn bản (Topic Modelling), Trích
xuất thông tin (Information Extraction), …
Hình 2. 1. Mô hình xử lý ngôn ngữ tự nhiên
Trích xuất thông tin bài toán nhận dạng những thành phần thông tin cụ thể
của một văn bản, những thành phần này chính là hạt nhân tạo nên nội dung ngữ
nghĩa của văn bản đó. Có nhiều mức độ trích chọn thông tin từ văn bản nhƣ xác
định các thực thể (Element Extraction), xác định quan hệ giữa các thực thể
(Relation Extraction), xác định và theo dõi các sự kiện và các kịch bản (Event and
Scenario Extraction and Tracking), xác định đồng tham chiếu (Co-reference
Resolution) ... Các kĩ thuật đƣợc sử dụng trong trích chọn thông tin gồm có: phân
đoạn, phân lớp, kết hợp và phân cụm. [16]Từ đây, ta sẽ có nhiều ứng dụng cho
11
nhiều domain nhƣ Text and Web mining (rút trích tên ngƣời nổi tiếng, sản phẩm
đang hot, so sánh giá sản phẩm, nghiên cứu đối thủ cạnh tranh, phân tích tâm lý
khách hàng), Biomedical, Business intelligent, Financial professional (đánh giá thị
trƣờng từ các nguồn khác nhau: giá xăng dầu tăng giảm, thông tin chiến tranh, chính
trị giữa các nƣớc, điều luật mới trong thị trƣờng kinh doanh), Terrism event (sử
dụng vũ khí gì, đối tƣợng tấn công là ai).
Sau các bƣớc tiền xử lý thiên về từ vựng và cú pháp nhƣ tách câu, tách từ,
phân tích cú pháp, gán nhãn từ loại. Từ IE ta sẽ đơn giản hóa thành các bài toán con
gồm: Rút trích tên thực thể (Named entity recognition – NER: people,
organization, location), phân giải đồng tham chiếu (Coreference resolution) và Rút
trích quan hệ giữa hai thực thể (Relation extraction). Bài toán nhận dạng ra các
thực thể có tên trong văn bản là một nhiệm vụ cốt lõi trong trích xuất thông tin.
Hình 2. 2. Trích xuất (nhận diện) các thực thể trong văn bản
2.1.1. Tách từ (Tokenizer)
Để có thể trích chọn đƣợc các thực thể tên riêng tiếng Việt trong các văn bản
thì dữ liệu ban đầu cần phải qua bƣớc tiền xử lý để tách câu, phân đoạn từ (tách
từ), chuẩn bị dữ liệu đầu vào cho bƣớc tiếp theo. Từ là một đơn vị nhỏ nhất có
nghĩa độc lập, có thể giữ một chức năng ngữ pháp nhất định và có thể quy về một từ
loại nhất định, có khả năng tách biệt khỏi những từ bên cạnh để có thể phân biệt
đƣợc với những bộ phận tạo thành từ. Tính hoàn chỉnh trong nội bộ của từ là cần
12
thiết cho nó, với tƣ cách một từ riêng biệt, phân biệt với cụm từ. Tính hoàn chỉnh và
tính tách biệt về ý nghĩa là bắt buộc với mỗi từ.
Từ đƣợc cấu tạo nhờ các từ tố (hình vị), một từ có thể có một, hai hoặc nhiều
âm tiết tạo nên, nên có rất nhiều cách phân chia các âm tiết thành các từ, gây ra
nhập nhằng. Việc phân giải nhập nhằng này gọi là bài toán tách từ. Nói cách khác,
từ đƣợc tạo ra nhờ một hoặc một số hình vị kết hợp với nhau theo những nguyên tắc
nhất định. Từ tố (hình vị) là đơn vị nhỏ nhất có ý nghĩa của ngôn ngữ. Tách từ là
gom nhóm các từ đơn liền kề thành một cụm từ có ý nghĩa, các từ đơn đƣợc gom
nhóm với nhau bằng cách nối với nhau bằng ký tự gạch dƣới ("_"). Sau khi thực
hiện tách từ thì mỗi từ (token) trong câu đƣợc cách nhau bởi một khoảng trắng. Đây
là quy ƣớc chung cho tất cả các ngôn ngữ của bài toán tách từ trong xử lý ngôn ngữ
tự nhiên. Mục tiêu của việc tách từ văn bản đầu vào là để khử tính nhập nhằng về
ngữ nghĩa của văn bản. Với ngôn ngữ tiếng Anh, thì việc tách từ khá đơn giản vì
ranh giới từ đƣợc nhận diện bằng khoảng trắng và dấu câu. Với ngôn ngữ tiếng Việt,
ranh giới từ không đƣợc xác định mặc nhiên bằng khoảng trắng. Tiếng Việt có đặc
điểm là ý nghĩa ngữ pháp nằm ở ngoài từ, phƣơng thức ngữ pháp chủ yếu là trật tự
từ và từ hƣ. Cho nên có trƣờng hợp một câu có thể có nhiều ngữ nghĩa khác nhau
tuỳ vào cách ta tách từ nhƣ thế nào, gây nhập nhằng về ngữ nghĩa của câu.
Ví dụ về tách từ trong tiếng Anh và tiếng Việt:
Văn bản đầu vào
Văn bản sau khi
tách từ
Dữ liệu tiếng Anh
Deep neural networks have
advanced the state of the art
in named entity recognition.
However, under typical
training procedures,
advantages over classical
methods emerge only with
large datasets.
Deep neural networks have
advanced the state of the art
in named entity recognition .
However , under typical
training procedures ,
advantages over classical
methods emerge only with
large datasets .
Dữ liệu tiếng Việt
Mạng học sâu đã nâng cao
được vai trò trong nhận diện
tên riêng. Tuy nhiên, với quy
trình huấn luyện thông
thường thì lợi thế cao hơn
các phương pháp trước đó
khi huấn luyện trên bộ dữ
liệu lớn.
Mạng học sâu đã nâng cao
được vai_trò trong
nhận_diện tên_riêng .
Tuy_nhiên , với quy_trình
huấn_luyện thông_thường
thì lợi_thế cao hơn các
phương_pháp trước đó khi
huấn_luyện trên bộ dữ_liệu
lớn .
Bảng 2. 1. Minh họa ví dụ tách từ
13
2.1.2. Xác định loại từ trong câu (Part-of-Speech tagging - POS tagging)
Công việc gán nhãn từ loại, cũng đƣợc gọi là gắn thẻ ngữ pháp, cho một văn
bản là xác định từ loại của mỗi từ trong phạm vi văn bản đó, tức là phân loại các từ
thành các lớp từ loại dựa trên thực tiễn hoạt động ngôn ngữ trong đó. Mỗi từ trong
một ngôn ngữ nói chung có thể gắn với nhiều từ loại. Mỗi từ loại tƣơng ứng với một
hình thái và một vai trò ngữ pháp nhất định. Gán nhãn từ loại là một trong những
bƣớc quan trọng và cơ bản trong xử lý và khai phá dữ liệu trƣớc khi phân tích văn
phạm, ngữ nghĩa sâu hơn hay các vấn đề xử lý ngôn ngữ phức tạp khác. Nó xác
định các chức năng ngữ pháp của từ trong câu. Khi văn bản đã đƣợc gán nhãn thì nó
sẽ đƣợc ứng dụng trong các hệ thống tìm kiếm thông tin, gán nhãn tên thực thể,
trong các hệ thống nhận dạng tiếng nói cũng nhƣ trong các hệ thống dịch máy. Gán
nhãn từ loại là bài toán nhận đƣợc quan tâm sớm nhất trong chuyên ngành xử lý
ngôn ngữ tự nhiên và đƣợc nghiên cứu nhiều cũng nhƣ có nhiều phƣơng pháp giải
quyết.
Có thể kể đến một số bộ công cụ POS tagging cho hai loại ngôn ngữ:
Tiếng Anh: POS tagger của NLTK, Stanford Log-linear Part-OfSpeech
Tagger…
o Ví dụ 1 (tiếng Anh). Văn bản đầu vào là: ―And now for
something completely different‖
o Sau khi tách từ và POS tagging sẽ thu đƣợc kết quả:
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'), ('completely', 'RB'),
('different', 'JJ')]
Tiếng Việt: JVnTagger, JH-POS-TAG, vnTagger, ViTokenizer…
o Ví dụ 2 (tiếng Việt). Văn bản đầu vào là: ―Mạng học sâu đã nâng
cao được vai trò trong nhận diện tên riêng. Tuy nhiên, với quy trình huấn
luyện thông thường thì lợi thế cao hơn các phương pháp trước đó khi huấn
luyện trên bộ dữ liệu lớn.
o Sau khi tách từ và POS tagging sẽ thu đƣợc kết quả:
Mạng/N học/V sâu/A đã/R nâng/V cao/A đƣợc/R vai_trò/V trong/E nhận_diện/N
tên_riêngV ./CH Tuy_nhiên/N ,/CH với/E quy_trình/N huấn_luyện/N
thông_thƣờng/V thì/C lợi_thế/N cao/A hơn/A các/L phƣơng_pháp/N trƣớc/N đó/P
khi/N huấn_luyện/X trên/E bộ/N dữ_liệu/N lớn/A ./CH
14
2.1.3. Xác định cụm từ (Chunking)
Phân cụm từ đƣợc nghiên cứu và đƣợc sử dụng trong nhiều ứng dụng thực tế
nhƣ các hệ thống chích trọn thông tin, dịch máy, và tóm tắt văn bản. Bài toán phân
cụm có thể hiểu là việc gộp một dãy liên tiếp các từ trong câu để gán nhãn cú pháp.
Việc nghiên cứu bài toán phân cụm trên thế giới đã đƣợc thực hiện khá kỹ lƣỡng
cho nhiều ngôn ngữ bao gồm: Tiếng Anh, Tiếng Trung, Tiếng Nhật, Tiếng Pháp.
Gần đây, tổ chức Xử lý tiếng nói và ngôn ngữ tiếng Việt (VLSP) đã xây dựng một
bộ công cụ phân cụm từ tiếng Việt sử dụng hai phƣơng pháp học máy cấu trúc bao
gồm CRFs và MIRA. Công cụ này đã đƣợc huấn luyện trên một tập dữ liệu
VietTreeBank gồm khoảng 260 câu. Quá trình thử nghiệm cho thấy mô hình đề ra
hoàn toàn tƣơng thích với dữ liệu VTB. Mặc dầu với số lƣợng dữ liệu ban đầu
không nhiều nhƣng kết quả thể hiện mô hình CRFs và Online Learning là các lựa
chọn đúng đắn. Đây là hai phƣơng pháp kinh tế, đảm bảo cả về mặt thời gian lẫn độ
chính xác. Các kết quả thu đƣợc đối với hệ thống phân cụm từ tiếng Việt dùng dữ
liệu chuẩn VTB cho kết quả khả quan 65.27%. 3
Hình 2. 3. Mô hình hoạt động của bộ phân cụm từ Việt
Bài toán phân cụm tiếng Việt đƣợc phát biểu nhƣ sau: Gọi X là câu đầu vào
tiếng Việt bao gồm một dãy các từ tố kí hiệu X=(X1, X2,…, Xn). Chúng ta cần xác
định Y=(Y1, Y2, ..., Yn) là một dãy các nhãn cụm từ (cụm danh từ, cụm động từ).
3
http://www.jaist.ac.jp/~bao/VLSP-text/ICTrda08/ICT08-VLSP-SP84-2.pdf
15
- Xem thêm -