Trích chọn tên điện thoại di độ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
Trang 1ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
Trang 2ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
Trang 3LỜI CAM ĐOAN
Tôi là Lưu Tuấn Thành, học viên lớp CH17HT, 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 “Phương pháp học bán giám sát cho bài toán trích chọn thông tin và ứng dụng trích chọn thực thể tên điện thoại di động” là công trình nghiên cứu của riêng cá nhân tôi, dưới sự hướng dẫn
của TS Ngô Thanh Hùng Luận văn do tôi tự nghiên cứu, tìm hiểu, đọc, dịch tài liệu, tổng hợp và thực hiện Nội dung cơ sở lý thuyết được đúc kết từ các công trình nghiên cứu trước và được biên mục trong phần tài liệu tham khảo Các số liệu, chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình nào khác Tôi xin chịu trách nhiệm
về lời cam đoan này
Bình Dương, ngày 10 tháng 10 năm 2021
Người viết luận văn
Lưu Tuấn Thành
Trang 4Tô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, thầy Bùi Thanh Hùng đã 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 Đạ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
Sau cùng, tôi cũng xin 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, sát cánh 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 10 tháng 10 năm 2021
Người viết luận văn
LƯU TUẤN THÀNH
Trang 5TÓM TẮT LUẬN VĂN
Trong thời đại khoa học - kỹ thuật như hiện nay, thời đại của cách mạng khoa học 4.0, với sự phát triển về mọi mặt của đời sống từ văn hóa, giáo dục cho đến công nghệ trong đó lĩnh vực công nghệ thông tin đã tạo ra các sản phẩm trí tuệ nhân tạo, robot công nghệ và máy móc đang dần thay thế con người 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 Trích chọn tên điện thoại di độ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 cũng khá tốt
Luận văn với đề tài “Phương pháp học bán giám sát cho bài toán trích chọn thông tin và ứng dụng trích chọn thực thể tên điện thoại di động” 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 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 luyện sẵn làm đầu vào cho bộ nhớ ngắn dài hai chiều (BiLSTM) Phương pháp huấn luyện hệ thống này trên tập dữ liệu mà tôi thu thập
từ hàng trăm bài báo khác nhau 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 74,04%
Luận văn cũng xây dựng một ứng dụng web trích xuất trực quan, nhận diện tên điện thoại di động cho một đoạn văn bản do người dùng nhập vào
Trang 6MỤC LỤC
LỜI CAM ĐOAN I LỜI CẢM ƠN II
TÓM TẮT LUẬN VĂN
DANH MỤC VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHƯƠNG I GIỚI THIỆU CHUNG 1
1.1 Lí do thực hiện đề tài 1
1.2 Mục tiêu nghiên cứu 2
1.3 Đối tượng, phạm vi nghiên cứu 2
1.4 Phương pháp nghiên cứu 3
1.5 Ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài 3
1.5.1 Ý nghĩa khoa học 3
1.5.2 Ý nghĩa thực tiễn 4
1.6 Bố cục luận văn 4
CHƯƠNG II CƠ SỞ LÝ THUYẾT 5
2.1 Xử lý ngôn ngữ tự nhiên 5
2.1.1 Tách từ (ViTokenizer) 7
2.1.2 Xác định loại từ trong câu (Part-of-Speech tagging - POS tagging) 8 2.1.3 Xác định cụm từ (Chunking) 9
2.1.4 Phân tích cú pháp (Parsing) 12
2.2 Các phương pháp biểu diễn từ dưới dạng vector 13
2.2.1 Biểu diễn túi từ - Bag of words 13
2.2.2 Biểu diễn One-hot-vector 14
2.2.3 Túi từ liên tục - CBOW 18
Trang 72.2.4 Skip gram 21
2.3 Học sâu - Deep Learning 25
2.3.1 Mạng nơ ron nhân tạo (ANN) 26
2.3.2 Mạng nơ-ron hồi quy RNN (Recurrent Neural Network) 32
2.3.3 Bộ nhớ dài-ngắn LSTM (Long-short term memory) 34
2.3.4 Mạng nơ ron ngắn dài song song LSTM (Bidirectional Long-short term memory) 39
2.4 Phương pháp học bán giám sát 40
2.5 Học có giám sát 41
Ví dụ về học giám sát 42
2.6 Học không giám sát 43
2.7 Xác định thực thể tên điện thoại di động 44
2.7.1 Tổng quan về bài toán Trích chọn thực thể tên điện thoại di động 44 2.7.2 Hướng tiếp cận nghiên cứu 45
2.7.3 Các nghiên cứu gần đây 45
2.7.4 Đề xuất hướng nghiên cứu 46
CHƯƠNG III MÔ HÌNH ĐỀ XUẤT 48
3.1 Tổng quan mô hình đề xuất 48
3.2 Các đặc trưng của mô hình đề xuất 49
3.2.1 Từ nhúng – Word embeddings 49
3.2.2 Các đặc trưng cú pháp 51
3.3 Trích chọn tên thực thể điện thoại di động 51
3.3.1 Mô hình học sâu trong bài toán trích chọn tên điện thoại di động 53
3.3.2 Trích chọn tên điện thoại di động 56
3.4 Cách đánh giá: 56
CHƯƠNG IV 58
THỰC NGHIỆM 58
4.1 Môi trường thực nghiệm 58
Trang 84.2 Dữ liệu thực nghiệm 59
4.2.1 Thu thập dữ liệu 59
4.2.2 Xử lý dữ liệu 60
4.3 Kết quả Thực nghiệm 63
4.3.1 Trích xuất đặc trưng 63
4.3.2 Thực nghiệm giữa phương pháp LSTM và BiLSTM với đặc trưng từ 64
4.3.3 Thực nghiệm BiLSTM với đặc trưng từ và số vòng huấn luyện khác nhau 65
4.3.4 Thực nghiệm phương pháp sử dụng các lớp BiLSTM với đặc trưng từ 65
4.3.5 Thực nghiệm phương pháp BiLSTM với đặc trưng từ và tỉ lệ Dropout khác nhau 65
4.4 Xây dựng ứng dụng Web trực quan hóa kết quả 66
4.4.1 Thiết kế Xây dựng Web: 66
CHƯƠNG V 71
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71
5.1 Kết quả đạt được 71
5.2 Hướng phát triển 71
TÀI LIỆU THAM KHẢO 73
Trang 9DANH MỤC VIẾT TẮT
BiLSTM Bidirectional long
short-term memory
Mạng nơ ron bộ nhớ ngắn – dài song
song CBOW Continuous Bag of Words Túi từ liên tục
danh từ, cụm động từ, …) LSTM Long short-term memory Mạng nơ ron bộ nhớ ngắn – dài MISC Miscellaneous Tên riêng khác không thuộc Org
NER Named Entity Recognition Nhận diện thực thể được đặt tên hay
nhận diện tên riêng
Processing Xử lý ngôn ngữ tự nhiên ORG Organization Tên điện thoại di động chỉ tổ chức
RNN Recurrent Neural Network Mạng nơ ron hồi quy
ViNER Vietnamese Named Entity
Recognition Nhận diện tên riêng tiếng Việt ANN Artificial Neural Network Mạng nơ ron nhân tạo
Trang 10DANH MỤC CÁC BẢNG
Bảng 2 1 Minh họa ví dụ tách từ 8
Bảng 2 2 Nhãn cụm từ cho hệ phân cụm từ Việt 11
Bảng 2 3 Biểu diễn từ thành ma trận vector 50 chiều 13
Bảng 3 1 Các đặc trưng được sinh tự động 51
Bảng 3 2 Một đặc trưng vector đầu vào cho mô hình 55
Bảng 4 1: cấu hình máy PC dùng trong thực nghiệm 58
Bảng 4 2: Các công cụ sử dụng trong thực nghiệm 58
Bảng 4 3 Thống kê chi tiết dữ liệu 62
Bảng 4 4 Tham số của mô hình huấn luyện 64
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 64
Bảng 4 6 Độ chính xác hệ thống huấn luyện với các Epoch khác nhau 65
Bảng 4 7 Kết quả so sánh giữa các lớp 65
Bảng 4 8 Kết quả của các Dropout khác nhau 65
Bảng 4 9 Kết quả so sánh giữa các đặc trưng 66 Bảng 4 10 Các tham số và đặc trưng tối ưu cho mô hình huấn luyện_đánh giá 66
Trang 11DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 2 1 Mô hình xử lý ngôn ngữ tự nhiên 5
Hình 2 2 Trích xuất (trích chọn) các thực thể trong văn bản 7
Hình 2 3 Mô hình hoạt động của bộ phân cụm từ Việt 10
Hình 2 4 Mô hình Word2vector 18
Hình 2 5 Mô hình Continuous Bag of Words 20
Hình 2 6 Mô hình CBOW chi tiết 21
Hình 2 7 Mô hình Skip gram trong Word2vec 22
Hình 2 8 Mô hình mạng nơ ron 1 lớp ẩn của Word2vec 23
Hình 2 9 Ma trận trọng số của lớp ẩn của mô hình Word2vec 23
Hình 2 10 Lớp ẩn của mô hình hoạt động như một bảng tra cứu 24
Hình 2 11 Mối tương quan giữa từ “ants” và từ “car” 24
Hình 2 12 Lược sử học sâu Deep Learning 26
Hình 2 13 Một nơ ron sinh học 27
Hình 2 14 Một perceptron 27
Hình 2 15 Mô hình nơ ron 28
Hình 2 16 Mô hình mạng nơ ron ANN 29
Hình 2 17 xây dựng mô hình neural network 30
Hình 2 18 xây dựng mô hình neural network 32
Hình 2 19 Quá trình xử lý thông tin trong mạng RNN 33
Hình 2 20 RNN phụ thuộc short-term 34
Hình 2 21 RNN phụ thuộc long-term 34
Hình 2 22 Các mô-đun lặp của mạng RNN chứa một layer 35
Hình 2 23 Các mô-đun lặp của mạng LSTM chứa bốn layer 36
Trang 12Hình 2 24 Các kí hiệu sử dụng trong mạng LSTM 36
Hình 2 25 Tế bào trạng thái LSTM giống như một băng truyền 37
Hình 2 26 Cổng trạng thái LSTM 37
Hình 2 27 LSTM focus f 38
Hình 2 28 LSTM focus i 38
Hình 2 29 LSTM focus c 39
Hình 2 30 Mô hình Bidirectional LSTM sử dụng 2 mạng nơ-ron LSTM 40
Hình 2 31 Mạng Bi-LSTM cho NER 40
Hình 2 32 Mô hình học có giám sát 41
Hình 2 33 Thuật toán học có giám sát 42
Hình 3 1 Mô hình đề xuất cơ bản cho trích chọn tên sản phẩm (điện thoại di động) 49
Hình 3 2 Mô hình xây dựng vector Word embedding 50
Hình 3 3 Hệ thống trích chọn tên điện thoại di động chi tiết ViNER 54
Hình 3 4 Mô hình học sâu 2 lớp BiLSTM cho hệ thống ViNER 55
Hình 3 5 Precision và Recall 57
Hình 4 1 Mô hình của pha tiền xử lí 60
Hình 4 2 Sơ đồ thiết kế ứng dụng Web 67
Hình 4 3 Giao diện chính của trang web 67
Hình 4 4 Giao diện phân tích dữ liệu 68
Hình 4 5 Giao diện phân tích kết quả 68
Hình 4 6 Các đặc trưng được tạo tự động bởi công cụ Underthesea 69
Hình 4 7 So sánh nhãn tên điện thoại di độngcủa ViNER và Underthesea 70
Hình 4 8 Giao diện Demo thực tế 70
Trang 13CHƯƠNG I GIỚI THIỆU CHUNG
Trong chương này, chúng tôi sẽ giới thiệu tổng quan về các vấn đề được nghiên cứu của đề tài, đồng thời xác định mục tiêu, phạm vi nghiên cứu cũng như những ý nghĩa mà kết quả của đề tài này mang lại cả về ý nghĩa khoa học và áp dụng thực tiễn
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ẽ trên toàn thế giới 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 (nhiên Natural Language Processing - NLP) trong số những bài toán về Trí tuệ nhân tạo Những ứng dụng trên có chức năng xử lý tiêu biểunhư trích xuất thông tin, tóm tắt văn bản, máy tìm kiếm, dịch máy Trong đó việc trích chọn ra tên điện thoại di động, tên nhà sản xuất, tên địa danh, tên người nổi tiếng và nhiều tên khác 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 - Natural Language Processing
Hiện nay trên thế giới, có rất nhiều hệ thống trích chọn tên nhưng chủ yếu phục vụ cho văn bản tiếng Anh, tiếng Trung, tiếng Nhật Trích chọn thực thể là bài toán cơ bản nhất trong các bài toán trích chọn thông tin và đóng vai trò khá quan trọng Thực thể tên ngày càng được ứng dụng trong nhiều bài toán trong khai phá
dữ liệu web cũng như nhiều các bài toán trong xử lý ngôn ngữ tự nhiên Do đó việc xây dựng các giải thuật trích chọn các thực thể tên này từ web là bài toán có ý nghĩa quan trọng
Ở Việt Nam, số lượng các loại điện thoại mới ra đời được bán ngày càng nhiều, người tiêu dùng đang bắt đầu có xu hướng thay thế những chiếc điện thoại
đã cũ của mình Nhiều người thậm chí còn mua những chiếc điện thoại thứ hai, thứ
ba cho cá nhân Tuy nhiên thông tin trên mạng internet có rất nhiều tin quảng cáo
về sản phẩm điện thoại nên người dùng sẽ bị nhiễu loạn thông tin và không thể chọn lựa được những thông tin mình mong muốn Điều này đòi hỏi mỗi khi muốn
Trang 14mua một cái điện thoại mới người dùng phải cập nhật thông tin chính xác liên quan đến các loại điện thoại mới để đưa ra các quyết định phù hợp Tuy nhiên các thông tin trên mạng rất nhiều và chưa có sự phân loại, dẫn đến người dùng gặp phải khó khăn trong việc lấy ra các thông tin cần thiết cho nhu cầu sử dụng Một trong những nhu cầu đó, chính xác là xác định được tên điện thoại
Một ứng dụng khác của việc trích chọn tên điện thoại di động là tìm thêm các thông số kỹ thuật liên quan đến từng loại điện thoại để so sánh, đánh giá sản phẩm giữa các nhà sản xuất hoặc có thể ứng dụng vào bài toán khai phá quan điểm
Từ những nhu cầu bức thiết trên chúng tôi mạnh dạn chọn đề tài “Phương pháp học bán giám sát cho bài toán trích chọn thông tin và ứng dụng trích chọn thực thể tên điện thoại di động” làm luận văn nghiên cứu
1.2 Mục tiêu nghiên cứu
Để quá trình nghiên cứu luận văn đạt được những kết quả tốt chúng tôi cần thực hiện các công việc sau:
Thu thập dữ liệu từ các website, các trang báo, các trang quảng cáo trên mạng internet của các hãng điện thoại di động trong và ngoài nước
Xây dựng một hệ thống trích chọn tên điện thoại di động 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 Deep learning với sự hỗ trợ của ma trận Pretrain Word Embedding tiếng Việt và các công cụ trích xuất đặc trưng
Ngoài ra, chúng 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à trích chọn tên điện thoại di động nhập vào
từ trang web
1.3 Đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu: khảo sát trên bộ dữ liệu thông tin về điện thoại di
động có nhiều tham số khác nhaudựa trên nền tảng học sâu Deep Neural Networks
để tìm ra mô hình học sâu với tham số tối ưu cho hệ thống trích chọn tên điện thoại
di động
Trang 15Phạm vi nghiên cứu: xây dựng mô hình trích chọn được các tên điện thoại
di độ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 thu thập trên một số trang báo thương mại điện tử như: thegioididong.com, cellphone.com, Viettelstore.vn, Vnreview.vn Trong bộ dữ liệu này, hệ thống chỉ trích chọn 2 loại thực thể hay còn gọi là tên điện thoại di động (gồm tên điện thoại di động, model sản xuất)
1.4 Phương pháp nghiên cứu
Vận dụng kiến thức đã học, các bài báo nghiên cứu 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 để thu thập, lựa chọn nguồn dữ liệu, chọn mô hình đề xuất phù hợp
Phương pháp nghiên cứu lý thuyết: Dựa trên các môn học như Big data, học máy, khai phá dữ liệu, lập trình hướng đối tượng và phân tích hệ thống thông tin…
Phương pháp tổng hợp, phân tích: trên nền tảng tổng hợp kết quả đã có được
ta phân tính từng thành phần nhỏ của kết quả đó
Phương pháp học sâu mạng nơ ron ngắn dài song song BiLSTM: Có nghĩa
là LSTM hai chiều, là tín hiệu truyền ngược cũng như chuyển tiếp theo thời gian
và nó được sử dụng trong các trường hợp vấn đề học tập tuần tự
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
Luân văn đã tìm ra phương pháp học sâu trích chọn tên thực thể trong văn bản tiếng việt kết hợp từ “nhúng” phù hợp, hiệu quả cho bài toán trích chọn thực thể tên điện thoại di động, luận văn này cũng sẽ làm tài liệu tham khảo và nghiên cứu cho các hướng phát triển tiếp theo sau này
Luận văn cũng đá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 dựa trên bộ dữ liệu cho sẵn
Đã xây dựng được một ứng dụng web để trực quan hóa các nhu cầu 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 thực thể và phân tích trực quan các dữ liệu dựa trên các biểu đồ so sánh và kết quả
Trang 161.5.2 Ý nghĩa thực tiễn
Luận văn tìm ra phương pháp học sâu để trích chọn thực thể tên là bài toán
cơ bản nhất trong các bài toán trích chọn thông tin nó đóng vai trò quan trọng Thực thể tên ngày càng được ứng dụng trong nhiều trong bài toán trong xử lý ngôn ngữ tự nhiên cũng như khai phá dữ liệu web Vì vậy việc trích chọn các thực thể tên này từ web là bài toán có ý nghĩa quan trọng Luận văn dựa vào phương pháp học sâu, xây dựng một mô hình trích chọn thực thể tên điện thoại di động giúp cho người sử dụng tìm được thông tin về sản phẩm điện thoại một cách chính xác và xây dựng ứng dụng web để trích chọn thực thể tên điện thoại di động
1.6 Bố cục luận văn
Luận văn được chia thành 5 phần 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, 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 vector, mạng nơ ron nhân tạo, kỹ thuật lan truyền ngược; Phương pháp học sâu để sử dụng cho bài toán, Trình bày tổng quan hệ thống trích chọn tên điện thoại di độ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
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 trích chọn thực thể tên điện thoại di động
Trang 17có 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), …
Các trợ lý thông minh như Siri của Apple, alexa của Amazon và ok google của Google bắt đầu xác định các mẫu trong giọng nói, nhận dạng giọng nói, suy ra
ý nghĩa và đưa ra phản hồi
Hình 2 1 Mô hình xử lý ngôn ngữ tự nhiên 1
1 https://ichi.pro/vi/xu-ly-ngon-ngu-tu-nhien-bang-python-nltk-101258229749293
Trang 18Trích xuất thông tin bài toán lấy ra 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ừ đâysẽ có nhiều ứng dụng cho 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
Trang 19Hình 2 2 Trích xuất (trích chọn) các thực thể trong văn bản 2
2.1.1 Tách từ (ViTokenizer)
Để có thể trích chọn được các thực thể tên điện thoại di động trong các văn bản 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 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, việc tách
từ khá đơn giản vì ranh giới từ được trích chọ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 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:
2 entity-recognition/
Trang 20https://ongxuanhong.wordpress.com/2016/02/05/cac-thuat-ngu-trong-xu-ly-ngon-ngu-tu-nhien/named-Dữ liệu tiếng Anh Dữ liệu tiếng Việt Văn bản đầu vào Oppo Find X3 Neo
phone is a new breeze in the high-end phone segment, when copying almost every high-end technology from the elder Oppo Find X3 Pro but
at a more affordable price for users
Điện thoại Oppo Find X3 Neo là một làn gió mới trong phân khúc điện thoại cận cao cấp, khi sao chép gần như mọi công nghệ cao cấp từ đàn anh Oppo Find X3 Pro nhưng với mức giá phải chăng hơn cho người dùng 3
Văn bản sau khi
tách từ
Oppo Find X3 Neo phone is
a new breeze in the high-end phone segment, when copying almost every high-end technology from the elder Oppo Find X3 Pro but at a more affordable price for users
Điện thoại Find_X3_Neo,
là một làn gió mới trong phân khúc điện thoại cận cao cấp, khi sao chép gần như mọi công nghệ cao cấp
từ đàn anh Oppo_Find_X3_Pro nhưng với mức giá phải chăng hơn cho người dùng
Bảng 2 1 Minh họa ví dụ tách từ
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ừ 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
3 https://cellphones.com.vn/oppo-find-x3-neo.html
Trang 21Có 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…
Ví dụ 1 (tiếng Anh) Văn bản đầu vào là: “And now for Samsung Galaxy Note 21.”
Sau khi tách từ và POS tagging sẽ thu được kết quả:
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'), (‘Samsung’, ‘Np’), (‘Galaxy’, ‘Np’), ( ‘Note’, ‘Np’), (’21’, ‘M’)]
Tiếng Việt: JVnTagger, JH-POS-TAG, vnTagger, ViTokenizer…
Ví dụ 2 (tiếng Việt) Văn bản đầu vào là: “Samsung Galaxy M52 sử dụng màn hình kích thước 6.5 inches, cùng với tấmc nền AMOLED cho khả năng hiển thị rực rỡ hơn nhiều so với màn FullHD Bên cạnh đó, màn hình
đã vận dụng màn dạng đục lỗ, giúp mở rộng được kích thước không gian trải nghiệm và độ phân giải đạt chuẩn FullHD cho khả năng hiển thị sắc nét, góc nhìn tốt
Cấu hình mạnh mẽ bởi Snapdragon 730, 6GB RAM, bộ nhớ trong 128GB.”
Sau khi tách từ và POS tagging sẽ thu được kết quả:
Samsung/N Galaxy/Np M52/M sử/N dụng/N màn/N hình/N kích/N thước/N 6.5/M inches,/N cùng/A với/E tấm/Nc nền/N AMOLED/Np cho/V khả/N năng/N hiển/N thị/N rực/N rỡ/A hơn/A nhiều/A so/V với/E màn/N FullHD./N Bên/N cạnh/N đó,/N màn/N hình/N đã/R vận/V dụng/N màn/N dạng/N đục/N lỗ,/V giúp/V mở/V rộng/A được/V kích/V thước/N không/R gian/N trải/V nghiệm/N và/Np độ/N phân/N giải/N đạt/N chuẩn/N FullHD/N cho/V khả/N năng/N hiển/N thị/N sắc/N nét,/N góc/N nhìn/V tốt./N
Cấu/N hình/N mạnh/A mẽ/N bởi/E Snapdragon/Np 730,/V 6GB/N RAM,/N bộ/N nhớ/V trong/N 128GB/M
2.1.3 Xác định cụm từ (Chunking)
Trong nội dung xác định cụm từ thì 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
Trang 22má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% 4
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ừ)
Những tập nhãn chuẩn và xuất hiện nhiều trong câu văn tiếng việt như sau:
4 http://www.jaist.ac.jp/~bao/VLSP-text/ICTrda08/ICT08-VLSP-SP84-2.pdf
Data
CRFs Online- learning
Chunking models
VN Sentence
Decoding
Chunks Cell phone ở trên
NP [Cell phone] VP [ở trên bàn ]
Trang 23Bảng 2 2 Nhãn cụm từ cho hệ phân cụm từ Việt
Chú ý rằng bộ nhãn này đã được phối hợp chặt chẽ với nhóm VTB và sẽ còn được hiệu chỉnh trong tương lai Cấu trúc cơ bản của một cụm danh từ như sau:
<phần phụ trước><danh từ trung tâm><phần phụ sau>
Ví dụ: “Cái điện thoại đẹp” thì danh từ “điện thoại” là phần trung tâm, định
từ “cái” là phần phụ trước, còn tính từ “đẹp” là phần phụ sau
(NP (D cái) (N điện thoại) (J đẹp))
Một cụm danh từ có thể thiếu phần phụ trước hay phần phụ sau nhưng không thể thiếu phần trung tâm
Ký hiệu: VP (Cụm động từ)
Cấu trúc chung: Giống như cụm danh từ, cấu tạo một cụm động từ về cơ bản
như sau: <bổ ngữ trước><động từ trung tâm><bổ ngữ sau>; Bổ ngữ trước
thường là phụ từ
Ví dụ: “đang chơi game” (VP (R đang) (V chơi) (NP game))
Ký hiệu: ADJP (Cụm tính từ)
Cấu trúc chung: <bổ ngữ trước><tính từ trung tâm><bổ ngữ sau>;
Bổ ngữ trước: Bổ ngữ trước của cụm tính từ thường là phụ từ chỉ mức độ
WHNP Cụm danh từ nghi vấn (ai, cái gì, con gì, vv.)
WHADJP Cụm tính từ nghi vấn (lạnh thế nào, đẹp ra sao, vv.)
WHADVP Cụm từ nghi vấn dùng khi hỏi thời gian, nơi chốn, vv
WHPP Cụm giới từ nghi vấn (với ai, bằng cách nào, vv.)
Trang 24Ví dụ: rất đẹp (ADJP (R rất) (J đẹp))
Ký hiệu: PP (Cụm giới từ)
Cấu trúc chung : <Giới từ><cụm danh từ>
Ví dụ : vào thế giới di động (PP (S vào) (NP thế giới di động))
vị ngữ Trong chủ ngữ có thể bao gồm danh từ, cụm danh từ, đại từ, mệnh đề… và trong vị ngữ có thể có động từ chính, trạng từ, bổ túc từ… Xét nhỏ hơn nữa có thể chia tiếp cụm danh từ, mệnh đề thành các thành phần nhỏ hơn và cho đến khi chỉ còn lại từ và từ loại của nó Dựa vào cách phân tích cú pháp trong ngôn ngữ tự nhiên này ta nhận thấy cấu trúc cây phù hợp để biểu diễn cú pháp văn phạm cho một câu 5 Phân tích cú pháp đưa ra mô tả về quan hệ và vai trò ngữ pháp của các
từ, các cụm từ trong câu, đồng thời đưa ra hình thái của câu Cây phân tích cú pháp đại diện cho cấu trúc cú pháp của một chuỗi theo ngữ pháp ngữ cảnh
Một số bộ công cụ phân tích cây cú pháp như Stanford Parser (tiếng Anh), vn.vitk (tiếng Việt)…
Ví dụ văn bản đầu vào là: “When I was involved in a traffic accident.”
Sau khi tách từ và phân tích cú pháp sẽ thu kết quả:
(ROOT
5 http://nhiethuyettre.net/phan-tich-cu-phap-van-pham-grammar-parse/
Trang 252.2 Các phương pháp biểu diễn từ dưới dạng vector
Sau khi tiền xử lý ngôn ngữ bằng các phương pháp tách từ, gán nhãn từ loại, phân cụm từ ta có được các đặc trưng Để máy tính có thể hiểu được các đặc trưng thì nó phải được biểu diễn dưới dạng ma trận số hay còn gọi là vector Trong xử
lý ngôn ngữ tự nhiên, việc biểu diễn một từ thành một vector đóng một vai trò cực
kỳ quan trọng Nó lợi ích rất nhiều trong việc thể hiện sự tương đồng, đối lập về ngữ nghĩa giữa các từ, giúp mô hình hóa vector cho 1 câu hay đoạn văn, tìm các câu có nghĩa tương đồng, có nhiều phương pháp để tạo ra các vector từ như Biểu diễn túi từ - Bag of words, One-hot-vector, Túi từ liên tục – CBOW, Skip gram
Bảng 2 3 Biểu diễn từ thành ma trận vector 50 chiều
2.2.1 Biểu diễn túi từ - Bag of words
Mô hình “Bag of Words” là mô hình thường dùng trong các tác vụ phân lớp văn bản Thông tin sẽ được biểu diễn thành tập các từ kèm với tần suất xuất hiện của mỗi từ này trong văn bản Cơ bản là thực hiện bằng cách đếm số lần xuất hiện của mỗi từ trong văn bản
Trang 26Ví dụ, với hai câu sau:
(1) Iphone chụp hình rất đẹp, Samsung cũng chụp hình rất đẹp
(2) Samsung còn hợp thời trang
Dựa trên hai câu trên thì tập từ điển được xây dựng là [“Iphone”, “chụp”,
“hình”,, “rất”, “đẹp”, “Samsung”, “cũng”, “còn”, “hợp”, “thời”, “trang”]
Dựa trên tập từ điển xây dựng được, 2 câu ban đầu được kết quả như sau: (1) [1,2,2,2,1,1,0,0,0,0]
(2) [0,1,0,0,0,0,0,1,1,1]
Với cách mô hình hóa bằng Bag of words tần suất xuất hiện sẽ được quan tâm đến và không quan tâm đến thứ tự xuất hiện của từ Do đó, hai câu như “cá ăn kiến” và “kiến ăn cá” được vector hóa là như nhau nhưng nghĩa lại khác nhau
2.2.2 Biểu diễn One-hot-vector
Trong các ứng dụng về xử lý ngôn ngữ tự nhiên, học máy, các thuật toán không thể nhận được đầu vào là chữ với dạng biểu diễn thông thường Để máy tính
có thể hiểu được, thì cần chuyển các từ trong ngôn ngữ tự nhiên về dạng mà các thuật toán có thể hiểu được Một kỹ thuật đơn giản nhất được sử dụng là One hot vector (1-of-N)
Để chuyển đổi ngôn ngữ tự nhiên về dạng 1-of-N, ta thực hiện các bước như sau:
Xây dựng một bộ từ vựng
Mỗi vector đại diện cho một từ có số chiều bằng số từ trong bộ từ vựng Trong đó, mỗi vector chỉ có một phần tử duy nhất khác 0 (bằng 1) tại vị trí tương ứng với vị trí từ đó trong bộ từ vựng
Ví dụ:
Giả sử chúng ta có tập từ:
[“Điện”, “thoại”, “Oppo”, “Find”, “X3”, “Neo”, “là”, “một”, “làn”, “gió”,
“mới”, “trong”, “phân”, “khúc”, “smartphone”, “cận”, “cao”, “cấp”]
Biễu diễn tập từ: “Điện thoại Oppo Find X3 Neo là một làn gió mới trong phân khúc smartphone cận cao cấp” Như sau:
[0, 1, 2, 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
Trang 27Điện: trong tập từ là 0 gió: trong tập từ là 9
thoại: trong tập từ là 1 mới: trong tập từ là 10
Oppo: trong tập từ là 2 trong: trong tập từ là 11
Find: trong tập từ là 3 phân: trong tập từ là 12
Trang 28Tuy nhiên, phương pháp này lại để lộ ra những điểm hạn chế vô cùng lớn
Thứ nhất là độ dài của vector là quá lớn (vietwiki: Corpus Size(74M), Vocabulary size(10K))
Đặc biệt phương pháp này không xác định được sự tương quan ý nghĩa giữa các từ do tích vô hướng của 2 từ bất kì đều bằng 0 dẫn đến độ tương đồng cosin giữa 2 từ bất kì luôn bằng 0
Do đó, việc tìm một phương pháp biểu diễn từ mà vẫn thể hiện được một cách tốt nhất ngữ nghĩa của từ là một vấn đề cực kỳ quan trọng Vấn đề ở đây là làm thế nào để thể hiện mối quan hệ giữa các từ và tính tương đồng giữa chúng trong văn bản, Word embedding (nhúng từ) là giải pháp để giải quyết vấn đề này.6
6 https://viblo.asia/p/xay-dung-mo-hinh-khong-gian-vector-cho-tieng-viet-GrLZDXr2Zk0
Trang 29Word embedding (Nhúng từ) là tên của một tập hợp các mô hình ngôn ngữ
và các kỹ năng học tập tính năng trong xử lý ngôn ngữ tự nhiên (NLP), được xem
là một cách biểu diễn tốt nhất cho các token trong văn bản, nơi các từ có cùng ý nghĩa có một cách biểu diễn tương tự nhau, được ánh xạ tới vectơ của số thực Word embedding là kết quả của việc biểu diễn một từ như một vectơ của các số thực
Ngoài ra, các từ có thể được biểu diễn dưới dạng vectơ trong không gian ngữ nghĩa Cách tiếp cận này cũng được gọi là đại diện phân phối của các từ hoặc các từ nhúng Mỗi chiều của vectơ từ đại diện cho một ngữ nghĩa tiềm ẩn và chiều không gian của chúng thường thấp (so với one-hot-vector) Word embedding như
là một phương pháp đại diện cho văn bản trong các ứng dụng học tập sâu Kỹ thuật này không những biểu diễn mỗi token bằng một vector với số chiều thấp mà còn cho thấy được sự liên hệ ngữ nghĩa giữa các vector đó Những vector gần giống nhau sẽ biểu thị những từ với ý nghĩa gần giống nhau Điều này cho phép tính toán
sự giống nhau giữa các từ bằng cách áp dụng các biện pháp tương tự vectơ điển hình
Trong thực tế Word embedding là một lớp các kỹ thuật mà các từ riêng lẻ được biểu diễn dưới dạng vector có giá trị thực trong một không gian vector được xác định trước Mỗi từ được ánh xạ tới một vector và các giá trị vector được học theo một cách giống với mạng thần kinh, và do đó kỹ thuật này thường được gộp vào trong lĩnh vực học tập sâu Chìa khóa để tiếp cận là ý tưởng sử dụng một đại diện phân phối dày đặc cho mỗi từ, mỗi từ được đại diện bởi một vector có giá trị thực, thường là hàng chục hoặc hàng trăm kích thước Việc nhúng từ và cụm từ, được sử dụng làm biểu diễn đầu vào cơ bản, đã được hiển thị để tăng hiệu năng trong các nhiệm vụ NLP như phân tích cú pháp và phân tích tình cảm Các thuật toán Word embedding được sử dụng phổ biến như Embedding Layer, Word2Vec
và GloVe Bằng việc sử dụng các vector này như là input cho mô hình Deep Learning, mô hình sẽ có khả năng học tốt hơn và khả năng nhận dạng cũng tăng lên Có rất nhiều nhóm nghiên cứu làm việc trên các từ nhúng Vào năm 2013, một nhóm tại Google do Tomas Mikolov [17] sáng tạo đã tạo ra Word2Vec, một bộ
Trang 30công cụ nhúng từ có thể đào tạo các mô hình không gian vector nhanh hơn các phương pháp trước đó
Hình 2 4 Mô hình Word2vector
Để xây dựng được vector mô tả phân bố quan hệ với tập từ điển, bản chất
mô hình Word2vec sử dụng một mạng neural đơn giản với một lớp ẩn Sau khi được huấn luyện trên toàn bộ tập văn bản, toàn bộ lớp ẩn sẽ có giá trị mô hình hóa quan hệ của từ trong tập văn bản được huấn luyện ở mức trừu tượng Trong ngữ cảnh, từ sẽ được huấn luyện bằng việc sử dụng thuật toán Continuous Bag of Words (CBOW) hoặc Skip gram
2.2.3 Túi từ liên tục - CBOW
Không giống như các mô hình language model thông thường chỉ có thể dự đoán từ tiếp theo dựa trên thông tin của các từ xuất hiện trước nó, mô hình Word Embedding không bị giới hạn như vậy Với một mô hình lý tưởng, chúng ta có thể hình dung Word Embedding không chỉ có khả năng dự đoán tốt các từ tiếp theo trong một đoạn văn mà thậm chí có thể hiểu được nghĩa của từ, các từ đồng nghĩa hay trái nghĩa với nhau, hay thậm chí là nội dung tổng thể của cả đoạn văn nếu chúng ta biết cách kết hợp ý nghĩa của các từ cấu thành đoạn văn
Trong paper của Tomas Mikolov năm 2013, ông đã sử dụng các từ nằm ở phía trước và các từ ở phía sau của từ cần đoán (target word) để đào tạo mô hình Word Embedding Nó được gọi với cái tên là Continuous Bag of Words đơn giản
vì ông cho rằng, các từ có thể biển diễn một cách liên tục mà thứ tự của các từ trong một đoạn văn không phải là vấn đề
Một ví dụ cho các bạn dễ hình dung: Cái cellphones để trên bàn
Trang 31Cùng cắt nhỏ câu trên thành các từ có nghĩa trong từ điển tiếng việt Bước này có thể dùng các tool tokenizer để làm Kết quả có thể như sau:
“Cái” “cellphones” “để” “trên” “bàn”
Trong ví dụ đầu tiên, giả sử từ đầu vào (input word) trong mô hình là “Cái”
và “trên” để dự đoán từ tiếp theo là “cellphones” với Window size là 1 Ở đây xin nhấn mạnh lại là chúng ta đang cố dự đoán target word là “để” dựa vào ngữ cảnh context input word là “cái” và “trên”
Vậy các nhà nghiên cứu trước đã làm cụ thể như thế nào?
Đầu tiên, chúng ta sẽ chuyển toàn bộ các từ xuất hiện trong ví dụ thành dạng
one-hot vector có kiểu như sau Vì tổng số các từ có trong ví dụ là 5 (tạm gọi là V),
vì thế nên one-hot vector có số chiều (dimensions) là 5 Chúng sẽ có dạng như sau:
dụ với widow size =1 thì từ ngữ cảnh “Cellphones, trên” mô hình CBOW dự đoán được từ đầu ra là “để”
Trang 32Hình 2 5 Mô hình Continuous Bag of Words Input hay còn gọi là context word là 2 one-hot vector có size là V Hidden layer trong kiến trúc CBOW chứa N neutrals và output lại quay trở lại là một
vector có kích thước bằng V
Diễn giải theo ví dụ ở phía trên theo một cách đơn giản như sau:
input layer: đưa vào 2 vector [0, 1, 0, 0, 0] và [0, 0, 0, 1, 0] - đại
diện cho từ “mèo” và “trên” Với một corpus thật lớn, chúng ta sẽ cho mạng CBOW học lần lượt từng từ trong corpus với context tương ứng như minh họa trên Khi hiện thực, 2 vector one-hot của 2 từ trong context sẽ được cộng lại thành một vector input duy nhất (có 2 giá trị 1) và đưa vào hệ thống như một input duy nhất
hidden layer: từ mà được truyền vào ở input layer sẽ được embed
vào một không gian N chiều bằng cách nhân input vector X với ma trận trọng
số 𝑊𝑉𝑥𝑁𝑇
output layer: kết quả của hidden layer sẽ được map với đầu ra chính
là trọng số của từng từ có trong vocab V, trọng số càng cao thì có nghĩa là xác suất
từ đó là từ tiếp theo (positive prediction) càng cao Lưu ý: do trọng số ở output layer có biên độ không cố định nên thường thì người ta dùng softmax ở đoạn này nhằm convert trọng số của output layer thành xác suất probability
Nếu chỉ quan tâm đến input và output có thể hiểu đơn giản rằng, xây dựng một mô hình sao cho khi input vào một từ (word) thì mô hình sẽ đưa ra tập hợp xác suất cho tất cả các từ có trong từ điển (vocab) Từ mà có xác suất cao thì tỉ lệ
W (t) Để
Trang 33cao là từ đó sẽ là từ tiếp theo (target word) của từ mà mình đã input (context word)
Để máy tính biết được mục tiêu để tối ưu mô hình của mình theo đúng như kỳ vọng trên, theo như bài báo của Mikolov, mục tiêu của CBOW là tối ưu trung bình xác suất [18]:
𝐽𝜃 =1
𝑇 𝑡=1
(𝑤𝑡|𝑤𝑡−𝑛, … , 𝑤𝑡−1, 𝑤𝑡+1, … , 𝑤𝑡+𝑛) Với w1, w2, w3,…,wT là một chuỗi các từ huấn luyện
Hình 2 6 Mô hình CBOW chi tiết
Tuy nhiên, đối với tập dữ liệu lớn thì mô hình huấn luyện Word2vec phương pháp Skip gram cho kết quả tốt hơn
2.2.4 Skip gram
Ngược lại với mô hình CBOW ở trên, trong mô hình Skip gram, đầu vào (input) là từ cần tìm mối quan hệ, đầu ra (output) là các từ có quan hệ gần nhất với
từ được đưa ở đầu vào Lấy ví dụ như trên, với input đầu vào là one-hot vector của
từ “ngồi” và context ngữ cảnh với window size =1 Sau khi huấn luyện, chúng ta
sẽ có được 1 ma trận W và 2 ma trận chuyển vị W’ Ma trận W sẽ được dùng để tạo ra các embedding vector từ một one-hot vectors
Input layer Hidden layer Output layer
N is size of vector
(2.1)
Trang 34Hình 2 7 Mô hình Skip gram trong Word2vec
Mục tiêu đào tạo của mô hình Skip-gram là từ đầu vào input để dự đoán các
từ xung quanh trong câu hoặc tài liệu Đơn giản hơn, đưa ra một chuỗi các từ huấn luyện w1, w2, w3 , , wT, mục tiêu của mô hình Skip-gram là tối đa hóa mức trung bình xác suất: [19]
Với c là kích cỡ ngữ cảnh huấn luyện, như ví dụ trên thì c=1
Chi tiết cách thực hiện
Trước hết, tôi phải đưa từ vào mạng neural một lớp ẩn Để có thể huấn luyện được, từ được vector hóa để cho vào mạng tôi có thể xây dựng kho từ điển từ tập
dữ liệu văn bản sau đó sử dụng one-hot-vector để diễn tả từng từ trong kho từ điển Giả sử, tôi có từ điển gồm 10.000 từ riêng biệt Vector one-hot sẽ gồm 10.000 thành phần đại diện cho mỗi từ trong từ điển Vector one-hot có dạng bao gồm toàn bộ giá trị bằng 0, chỉ có chỉ số tương ứng với vị trí của từ trong từ điển có giá trị bằng 1 Ví dụ từ “ants” sẽ biểu diễn bằng vector 10.000 phần tử gồm toàn số 0, duy nhất số 1 tại vị trí tương ứng với từ “ants” trong từ điển [1]
OUTPUT PROJECTION
Cellphone cái
(2.2)
Trang 35Hình 2 8 Mô hình mạng nơ ron 1 lớp ẩn của Word2vec
Lớp ẩn giả sử gồm 300 neuron, thường không sử dụng hàm activation, nhưng đầu ra thì sử dụng hàm softmax Đầu ra sẽ là vector cũng là một vector có
độ lớn 10.000 và giá trị tương ứng với mỗi vị trí là xác suất xuất hiện gần từ đã chọn của từ gần vị trí đó Kích thước 300 nơ ron ở lớp ẩn là một hyperparameter của mô hình, nó được gọi là số chiều hay số đặc trưng của word2vec Con số 300 được Google sử dụng trong mô hình huấn luyện từ tập ngữ liệu Google News [12] Giá trị hyperparameter có thể được thay đổi sao cho phù hợp với mô hình, dữ liệu của người nghiên cứu
Hình 2 9 Ma trận trọng số của lớp ẩn của mô hình Word2vec
Trang 36Vậy mục đích cuối cùng của việc huấn luyện trên toàn tập ngữ liệu là tìm
ra ma trận trọng số tại lớp ẩn Nhận thấy đầu vào của mô hình là 1 từ được biểu diễn dưới dạng one-hot vector tức là một vector có các giá trị toàn bằng 0, chỉ có một vị trí bằng 1 tương ứng với vị trí của từ đầu vào theo thứ tự từ điển Việc nhân vector one-hot đầu vào với ma trận trọng số bản chất là việc tìm kiếm trên ma trận trọng số một vector đặc trưng có chiều dài bằng số chiều bằng số chiều của ma trận trọng số
Hình 2 10 Lớp ẩn của mô hình hoạt động như một bảng tra cứu
Đầu ra của mô hình Word2vec là một bộ phân loại sử dụng hàm softmax để tính xác suất Ưu điểm của hàm softmax là luôn tạo giá trị xác suất dương và tổng tất cả các xác suất thành phần là bằng 1 Giả sử tính mối tương quan giữa từ “ants”
và từ “car”, hai từ này sẽ được vector hóa dựa vào ma trận trọng số của lớp ẩn đã huấn luyện Đầu ra qua hàm softmax sẽ có ý nghĩa là xác suất từ “car” xuất hiện gần từ được chọn “ants”
Hình 2 11 Mối tương quan giữa từ “ants” và từ “car”
Mục đích của việc biểu diễn từ thành các vector là để tạo ra các đầu vào cho các mô hình học máy xử lí ngôn ngữ tự nhiên, việc số hóa từ thành vector có nhiều cách thực hiện nhưng phương pháp tối ưu hơn cả là Word2vec, Fasttext và GloVe
do nó thể hiện được mối tương quan của các từ với nhau trong không gian vector
Có nhiều mô hình học máy để xử lí ngôn ngữ tự nhiên và học sâu Deep learning
Trang 37hiện là hướng tiếp cận tối ưu nhất đặc biệt với dữ liệu huấn luyện lớn Luận văn của tôi nghiên cứu sử dụng Word2vec được huấn luyện sẵn dùng mô hình Skipgram như trên
2.3 Học sâu - Deep Learning
Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụ thể hơn là Machine Learning (Học Máy hoặc Máy Học) nổi lên như một bằng chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện, 3 - công nghệ thông tin) Trí tuệ nhân tạo đang len lỏi vào mọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra Xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple,
hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix, máy chơi
cờ vây AlphaGo của Google DeepMind, …, chỉ là một vài trong vô vàn những ứng dụng của AI/Machine Learning
Machine learning là một tập con của AI Nói đơn giản, machine learning là một lĩnh vực nhỏ của khoa học máy tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể
Trong nhiều thập kỷ, với một lượng dữ liệu ngày càng nhiều, để làm cho máy tính đáp ứng yêu cầu cần cung cấp thông tin của chúng ta, chúng ta đã phải học cách nói chuyện với nó theo cách nó sẽ hiểu, machine learning đã tiến lên một bước dài và deep learning (DL) là một lĩnh vực mới được ra đời Deep learning là tập hợp con của machine learning và nó có tác dụng hỗ trợ cho máy tính tự huấn luyện chính nó để có thể thực hiện mọi tác vụ tương tự như con người Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ
Các hệ thống của deep learning có khả năng cải thiện được những hiệu suất của chúng với quyền truy cập vào dữ liệu sẽ được nhiều hơn
Deep learning hoạt động dựa vào mạng lưới thần kinh nhân tạo và nó bao gồm nhiều lớp chứa các dữ liệu mô phỏng cách thức vận hành của não người
Bộ phận mạng thần kinh nhân tạo này giống với não người bao gồm: Các node (nó là đơn vị thần kinh trong mạng thần kinh nhân tạo) là những nơ ron thần
Trang 38kinh Hầu hết các node bản thân thường chỉ có khả năng trả lời cho những câu hỏi đơn giản và cơ bản nhất; với những tác vụ khó thì chúng sẽ tiến hành liên kết với nhau để trả lời, đồng thời nâng cấp các công nghệ như trích chọn giọng nói, dịch tự động (machine translation), xử lý ngôn ngữ tự nhiên…
Hình 2 12 Nguồn ảnh: What’s the Difference Between Artificial Intelligence,
Machine Learning, and Deep Learning?
Trong các thuật toán học máy hiện nay đã được sử dụng và phát triển, phương pháp học sâu đã học được nhiều dữ liệu nhất và có thể thay thế con người trong một số nhiệm vụ và nhận thức Do đó, phương pháp học sâu đã trở thành phương pháp tiếp cận có tiềm năng lớn trong lĩnh vực trí tuệ nhân tạo
2.3.1 Mạng nơ ron nhân tạo (ANN)
Thành phần cơ bản nhất của mạng học sâu deep learning đó chính là các perceptron, một perceptron có cơ chế hoạt động giống như một nơ ron sinh học
Trang 39Hình 2 13 Một nơ ron sinh học 7
Như hình trên, ta có thể thấy một nơ-ron có thể nhận nhiều đầu vào và cho
ra một kết quả duy nhất Mô hình của perceptron cũng tương tự như vậy:
Hình 2 14 Một perceptron
Một perceptron sẽ nhận một hoặc nhiều đầu X vào dạng nhị phân và cho ra một kết quả o dạng nhị phân duy nhất Các đầu vào được điều phối tầm ảnh hưởng bởi các tham số trọng lượng tương ứng w của nó, còn kết quả đầu ra được quyết định dựa vào một ngưỡng quyết định b (bias) nào đó:
0 ={
Trang 40𝑥𝑖 + 𝑏 > 0
}Nếu gắn x và 0 1 w , ta còn có thể viết gọn lại thành: 0 0
0 = {0 if WTX ≤ 0
1 if WTX > 0} Với đầu vào và đầu ra dạng nhị phân, ta rất khó có thể điều chỉnh một lượng nhỏ đầu vào để đầu ra thay đổi chút ít, nên để linh động, ta có thể mở rộng chúng
ra cả khoảng [0,1] Lúc này đầu ra được quyết định bởi một hàm sigmoid ( W X T )
Hàm sigmoid có công thức:
1 ( )
như tanh, ReLU để thay thế hàm sigmoid bởi dạng đồ thị của nó cũng tương tự như sigmoid Một cách tổng quát, hàm perceptron được biểu diễn qua một hàm
kích hoạt (activation function) f(z) như sau:
= f z = (f T )
Hình 2 15 Mô hình nơ ron
Mạng nơ ron nhân tạo (ANN)
Mạng ANN là sự kết hợp của của các tầng perceptron hay còn được gọi là
perceptron đa tầng (multilayer perceptron) Mạng ANN có thể coi là một phương thức để miêu tả cách hoạt động trong bộ não của con người Nói một cách đơn giản
( 2.4)
( 2.5)
(2.6)
(2.7)