ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
___________________
BÁO CÁO CUỐI KÌ
ĐỒ ÁN MƠN HỌC : ĐỒ ÁN 2
ĐỂ TÀI:
WEBSITE QUẢN LÍ CỬA HÀNG
TÍCH HỢP CHATBOT
Giảng viên hướng dẫn : GV. Phan Trung Hiếu
Nhóm sinh viên thực hiện:
Đặng Hải Thịnh – 19520976
Nguyễn Văn Dũng – 19521399
Thành phố Hồ Chí Minh,…tháng…năm 2022
1
NHẬN XÉT CỦA GIẢNG VIÊN
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
2
LỜI CÁM ƠN
Em xin gửi lời cảm ơn tới các thầy cơ giáo, cán bộ của Trường ĐH CNTT nói chung
đã giảng dạy, truyền đạt kiến thức cho em trong quá trình học tập.
Em xin gửi lời cảm ơn sâu sắc tới thầy Phan Trung Hiếu đã tận tình hướng dẫn, giúp
đỡ và động viên em để hoàn thành đồ án “WEBSITE QUẢN LÍ CỬA HÀNG
TÍCH HỢP CHATBOT”.
Do kiến thức và kinh nghiệm thực tiễn còn hạn chế nên đồ án khơng tránh khỏi
những thiếu sót nhất định. Em xin trân trọng tiếp thu các ý kiến của các thầy để luận
văn được hoàn thiện hơn.
Trân trọng cám ơn.
Sinh viên
(Ký và ghi rõ họ tên)
3
PHẦN I. MỞ ĐẦU.................................................................................................................................................... 9
1
2
3
4
5
6
LÝ DO CHỌN ĐỀ TÀI ..............................................................................................................................................9
MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU .....................................................................................................................9
2.1 Mục tiêu ....................................................................................................................................................9
2.2 Nhiệm vụ nghiên cứu ..............................................................................................................................10
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ...................................................................................................................10
3.1 Đối tượng nghiên cứu .............................................................................................................................10
3.2 Phạm vi nghiên cứu .................................................................................................................................10
PHƯƠNG PHÁP NGHIÊN CỨU ...............................................................................................................................10
4.1 Nghiên cứu lý thuyết ...............................................................................................................................10
4.2 Nghiên cứu thực nghiệm .........................................................................................................................10
Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI.........................................................................................................11
5.1 Về mặt lý thuyết ......................................................................................................................................11
5.2 Về mặt thực tiễn .....................................................................................................................................11
BỐ CỤC: ..........................................................................................................................................................11
PHẦN II. NỘI DUNG .............................................................................................................................................. 14
CHƯƠNG 1. TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN ........................................................... 14
1
1.1
PHƯƠNG PHÁP HỌC MÁY ............................................................................................................................14
Trí tuệ nhân tạo.......................................................................................................................................14
1.1.1
1.1.2
1.1.3
1.2
Định nghĩa..................................................................................................................................................... 14
Q trình hình thành và phát triển ............................................................................................................... 14
Một số ứng dụng .......................................................................................................................................... 15
Học máy ..................................................................................................................................................17
1.2.1
1.2.2
Các phương pháp học máy ........................................................................................................................... 17
Ứng dụng của học máy ................................................................................................................................. 20
2
XỬ LÝ NGÔN NGỮ TỰ NHIÊN ........................................................................................................................21
2.1 Tổng quan xử lý ngôn ngữ tự nhiên ........................................................................................................21
2.2 Các bài tốn cơ bản trong xử lý ngơn ngữ tự nhiên ...............................................................................21
2.3 Ứng dụng của xử lý ngôn ngữ tự nhiên ..................................................................................................23
3
CÁC PHƯƠNG PHÁP BIỂU DIỄN VĂN BẢN .....................................................................................................24
3.1 Mơ hình biểu diễn văn bản truyền thống ................................................................................................24
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
3.1.9
3.1.10
4
4.1
4.2
Mơ hình logic ................................................................................................................................................ 24
Mơ hình vector ............................................................................................................................................. 25
Mơ hình đồ thị biểu diễn văn bản................................................................................................................. 28
Mơ hình đồ thị khái niệm (Conceptual Graphs -CGs) ................................................................................... 29
Mơ hình đồ thị hình sao ............................................................................................................................... 29
Mơ hình đồ thị vơ hướng sử dụng tần số xuất hiện ..................................................................................... 30
Mơ hình đồ thị có hướng, cạnh khơng gán nhãn .......................................................................................... 30
Mơ hình đồ thị có hướng, cạnh không gán nhãn, cạnh là khoảng cách n giữa hai từ trong văn bản. .......... 31
Mơ hình Word2vec văn bản (vector hóa từ) ................................................................................................ 32
Mơ hình Doc2vec (vector hóa văn bản) ........................................................................................................ 33
TÍNH ĐỘ TƯƠNG ĐỒNG VĂN BẢN ................................................................................................................34
Khái niệm độ tương đồng .......................................................................................................................35
Độ tương đồng văn bản dựa trên tập từ chung......................................................................................35
4.2.1
4.2.2
Khoảng cách Jaro .......................................................................................................................................... 35
Mơ hình tương phản (Contrast model) ........................................................................................................ 36
4
4.2.3
4.3
4.3.1
4.3.2
4.3.3
4.4
5.1
5.2
5.3
Độ tương tự ngữ nghĩa từ - từ...................................................................................................................... 39
Độ tương tự ngữ nghĩa của văn bản ............................................................................................................. 40
Độ tương tự về thứ tự của từ trong văn bản ................................................................................................ 41
Kết hợp giữa các độ đo để đánh giá độ tương tự giữa hai văn bản ............................................................. 42
CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN ...................................................................................................43
Phương pháp Naive Bayes ......................................................................................................................43
Phương pháp k–Nearest Neighbor(KNN) ................................................................................................44
Phương pháp cây quyết định ..................................................................................................................45
5.3.1
5.4
Độ tương đồng cosine .................................................................................................................................. 36
Độ tương đồng dựa vào khoảng cách Euclide .............................................................................................. 37
Độ tương đồng dựa vào khoảng cách Manhattan ........................................................................................ 38
Độ tương đồng văn bản trong tiếng Việt ................................................................................................38
4.4.1
4.4.2
4.4.3
4.4.4
5
Hệ số Jaccard ................................................................................................................................................ 36
Độ tương đồng văn bản dựa trên vector biểu diễn.................................................................................36
Các độ đo trong thuật toán .......................................................................................................................... 46
Phương pháp mạng Nơron nhân tạo ......................................................................................................47
5.4.1
5.4.2
5.4.3
5.4.4
Kiến trúc mạng nơ ron nhân tạo ................................................................................................................... 47
Mạng nơ ron hồi quy RNN ............................................................................................................................ 51
Mạng Long short Term Memory (LSTM) ....................................................................................................... 53
Ứng dụng RNN vào quản lý hội thoại ........................................................................................................... 59
5.5
6
Phương pháp Support Vector Machines (SVM) ......................................................................................62
CHATBOT ......................................................................................................................................................63
6.1 Khái niệm ................................................................................................................................................63
6.2 Hoạt động của chatbot ...........................................................................................................................64
6.3 Sự phát triển của chatbot .......................................................................................................................65
6.4 Một số nền tảng phát triển chatbot ........................................................................................................65
6.5 Một số ứng dụng của chatbot .................................................................................................................67
6.6 Kết luận chương ......................................................................................................................................68
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT .................................................................................. 69
1
2
CÁC MƠ HÌNH CHATBOT ...............................................................................................................................69
PHÂN LOẠI CHATBOT....................................................................................................................................70
2.1 Flow-oriented chatbot.............................................................................................................................70
2.2 Chatbot thông minh nhân tạo (Artificially intelligent chatbot) ...............................................................71
2.3 Chatbot lai (Hybrid chatbot) ...................................................................................................................72
2.4 Chatbot được hỗ trợ bởi con người ........................................................................................................73
3
CÁC PHƯƠNG PHÁP XÂY DỰNG CHATBOT ...................................................................................................73
3.1 So sánh trùng khớp mẫu câu (Pattern matchers) ...................................................................................73
3.2 Sử dụng thuật toán phân lớp (Classification algorithms) .......................................................................74
3.3 Mạng nơron nhân tạo (Artificial Neural Network - ANN) .......................................................................74
3.4 Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) ..............................................................74
3.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding - NLU) .......................................................75
4
CÁC VẤN ĐỀ CƠ BẢN KHI PHÁT TRIỂN HỆ THỐNG CHATBOT ........................................................................76
4.1 Xác định ý định người dùng ....................................................................................................................77
4.2 Quản lý hội thoại (DM) ............................................................................................................................79
4.2.1
4.2.2
4.3
5
Mơ hình máy trạng thái hữu hạn FSA ........................................................................................................... 81
Mơ hình Frame-based .................................................................................................................................. 82
Thành phần sinh ngôn ngữ (NLG) ...........................................................................................................83
KẾT LUẬN CHƯƠNG ......................................................................................................................................86
5
CHƯƠNG 3. CÀI ĐẶT THỰC NGHIỆM HỆ THỐNG CHATBOT ................................................................................ 87
1
2
3
BÀI TOÁN ......................................................................................................................................................87
XÂY DỰNG CHATBOT HỖ TRỢ NGƯỜI DÙNG ...............................................................................................87
ỨNG DỤNG RASA XÂY DỰNG CHATBOT .......................................................................................................89
3.1 Rasa framework ......................................................................................................................................89
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
Giới thiệu ...................................................................................................................................................... 89
Cấu trúc chương trình của Rasa.................................................................................................................... 92
Intent ............................................................................................................................................................ 94
Entity ............................................................................................................................................................ 94
Stories ........................................................................................................................................................... 94
Actions .......................................................................................................................................................... 95
Policies .......................................................................................................................................................... 96
Slots .............................................................................................................................................................. 97
3.2
3.3
Mô hình huấn luyện cho chatbot ............................................................................................................97
Đánh giá hiệu quả của chatbot ...............................................................................................................99
4
XÂY DỰNG DỮ LIỆU CHATBOT ....................................................................................................................100
4.1 Xây dựng ý định ....................................................................................................................................101
4.2 Xây dựng entity .....................................................................................................................................101
4.3 Xây dựng câu trả lời cho bot .................................................................................................................102
4.4 Xây dựng khung kịch bản (history) ........................................................................................................103
4.5 Thực nghiệm .........................................................................................................................................104
4.6 Đánh giá ................................................................................................................................................104
CHƯƠNG 4. XÂY DỰNG WEB QUẢN LÍ BÁN HÀNG ........................................................................................... 105
1
QUY TRÌNH NGHIỆP VỤ & NGƯỜI DÙNG HỆ THỐNG ..................................................................................105
1.1 Quy trình nghiệp vụ ...............................................................................................................................105
1.1.1
1.1.2
1.1.3
1.2
Người dùng hệ thống ............................................................................................................................105
1.2.1
1.2.2
1.2.3
1.2.4
2
2.1
2.2
2.3
Quản lí sản phẩm ........................................................................................................................................ 105
Quản lí bán hàng ......................................................................................................................................... 105
Quản lí người dùng ..................................................................................................................................... 105
Người mua .................................................................................................................................................. 105
Nhân viên cửa hàng .................................................................................................................................... 105
Quản lý cửa hàng ........................................................................................................................................ 105
Chủ cửa hàng .............................................................................................................................................. 106
CÁC YÊU CẦU CHUNG .................................................................................................................................106
Yêu cầu môi trường...............................................................................................................................106
Yêu cầu giao diện ..................................................................................................................................106
Yêu cầu chức năng ................................................................................................................................106
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
2.3.10
2.3.11
2.3.12
Chức năng mua hàng .................................................................................................................................. 106
Chức năng tìm kiếm sản phẩm ................................................................................................................... 107
Chức năng xem thông tin sản phẩm ........................................................................................................... 107
Thêm sản phẩm vào giỏ hàng ..................................................................................................................... 107
Thanh toán sản phẩm online ...................................................................................................................... 107
Tương tác với chat bot ............................................................................................................................... 107
Sản phẩm u thích .................................................................................................................................... 107
Chức năng bảo mật..................................................................................................................................... 107
Thêm/xóa/sửa loại sản phẩm ..................................................................................................................... 108
Thêm/xóa/sửa sản phẩm............................................................................................................................ 108
Thêm/xóa/sửa danh mục ........................................................................................................................... 108
Thêm/xóa/sửa thơng tin nhà sản xuất ....................................................................................................... 108
6
2.3.13
2.3.14
2.3.15
2.3.16
2.3.17
2.3.18
2.3.19
2.3.20
3
Thêm/xóa/sửa chiến dịch ........................................................................................................................... 108
Quản lí thơng tin khách hàng ...................................................................................................................... 108
Quản lí đơn hàng ........................................................................................................................................ 108
Quản lí hóa đơn .......................................................................................................................................... 108
Thêm/xóa/sửa thơng tin nhân viên ............................................................................................................ 109
Thống kê tài chính ...................................................................................................................................... 109
Quản lí phân quyền .................................................................................................................................... 109
Quản lí phương thức thanh tốn ................................................................................................................ 109
MƠ HÌNH USECASE .....................................................................................................................................110
3.1 Danh sách Usecase................................................................................................................................110
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
3.1.9
3.1.10
3.1.11
3.1.12
3.1.13
3.1.14
3.1.15
3.1.16
3.1.17
3.1.18
3.1.19
3.1.20
4
4.1
Mua sản phẩm ............................................................................................................................................ 110
Tìm kiếm sản phẩm..................................................................................................................................... 111
Xem thơng tin sản phẩm............................................................................................................................. 111
Thêm sản phẩm vào giỏ hàng ..................................................................................................................... 112
Thanh toán sản phẩm online ...................................................................................................................... 112
Tương tác với chat bot ............................................................................................................................... 113
Sản phẩm yêu thích .................................................................................................................................... 114
Chức năng bảo mật..................................................................................................................................... 114
Thêm/xóa/sửa loại sản phẩm ..................................................................................................................... 115
Thêm/xóa/sửa sản phẩm............................................................................................................................ 116
Thêm/xóa/sửa danh mục ........................................................................................................................... 118
Thêm/xóa/sửa thơng tin nhà sản xuất ....................................................................................................... 119
Thêm/xóa/sửa chiến dịch ........................................................................................................................... 120
Quản lí thơng tin khách hàng ...................................................................................................................... 121
Quản lí đơn hàng ........................................................................................................................................ 122
Quản lí hóa đơn .......................................................................................................................................... 123
Thêm/xóa/sửa thơng tin nhân viên ............................................................................................................ 124
Thống kê tài chính ...................................................................................................................................... 125
Quản lí phân quyền .................................................................................................................................... 126
Quản lí phương thức thanh toán ................................................................................................................ 127
THIẾT KẾ CƠ SỞ DỮ LIỆU .............................................................................................................................128
Schema ..................................................................................................................................................128
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.7
4.1.8
4.1.9
4.1.10
4.1.11
4.1.12
4.1.13
4.1.14
4.1.15
4.1.16
4.1.17
4.1.18
4.1.19
4.1.20
User ............................................................................................................................................................ 129
Role............................................................................................................................................................. 129
Media.......................................................................................................................................................... 129
Item Media ................................................................................................................................................. 130
Cart ............................................................................................................................................................. 130
Cart Item ..................................................................................................................................................... 130
Product Type .............................................................................................................................................. 131
Product ....................................................................................................................................................... 131
Category ..................................................................................................................................................... 131
Manufacturer ............................................................................................................................................. 132
Manufacture Info........................................................................................................................................ 132
Metadata .................................................................................................................................................... 133
Campaign .................................................................................................................................................... 133
Campaign Product ...................................................................................................................................... 134
Order .......................................................................................................................................................... 134
Receipt ........................................................................................................................................................ 135
Receipt Detail ............................................................................................................................................. 135
Payment Method ........................................................................................................................................ 135
Customer Payment ..................................................................................................................................... 136
Payment...................................................................................................................................................... 136
7
5
5.1
THIẾT KẾ GIAO DIỆN ....................................................................................................................................137
Trang quản lí .........................................................................................................................................137
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.1.6
5.1.7
5.1.8
5.1.9
5.1.10
5.1.11
5.1.12
5.1.13
5.1.14
5.1.15
5.1.16
Đăng nhập .................................................................................................................................................. 146
Màn hình dashboard .................................................................................................................................. 147
Quản lí tài khoản......................................................................................................................................... 148
Chi tiết tài khoản ........................................................................................................................................ 148
Thêm tài khoản ........................................................................................................................................... 149
Trang đơn đặt hàng .................................................................................................................................... 149
Loại sản phẩm ............................................................................................................................................. 150
Thêm/sửa loại sản phẩm ............................................................................................................................ 151
Nhà sản xuất ............................................................................................................................................... 152
Thêm/sửa nhà sản xuất .............................................................................................................................. 153
Danh mục ................................................................................................................................................... 154
Thêm/sửa danh mục .................................................................................................................................. 154
Phương thức thanh tốn ............................................................................................................................ 155
Thêm/sửa phương thức thanh tốn ........................................................................................................... 155
Quản lí thông tin khách hàng ...................................................................................................................... 156
Chi tiết thông tin khách hàng ...................................................................................................................... 156
CHƯƠNG 5. CÔNG NGHỆ SỬ DỤNG ................................................................................................................. 157
1
1.1
1.2
1.3
2
3
FIREBASE ....................................................................................................................................................157
Firebase là gì? .......................................................................................................................................157
Các dịch vụ quan trọng..........................................................................................................................157
Ưu điểm, nhược điểm ...........................................................................................................................158
.NET GRAPHQL............................................................................................................................................158
ANGULAR ...................................................................................................................................................159
KẾT LUẬN ........................................................................................................................................................... 162
TÀI LIỆU THAM KHẢO......................................................................................................................................... 164
8
PHẦN I. MỞ ĐẦU
1
Lý do chọn đề tài
Chatbot là một chương trình máy tính hoặc trí thơng minh nhân tạo tương tác với
con người bằng ngôn ngữ tự nhiên, thực hiện cuộc trị chuyện thơng qua một giao diện
dưới dạng tin nhắn hoặc âm thanh. Thuật ngữ “ChatterBot” ban đầu được đặt bởi Michael
Mauldin đầu tiên vào năm 1994. Chatbots còn được gọi là Conversational Agents hay
Dialog Systems. Các chatbots được thiết kế một cách thuyết phục con người cờ xử nhờ một
đối tác đàm thoại. Theo cách tương tác mà chúng tương tác với người dùng, các chatbots
thường được chia thành hai loại: âm thanh và tin nhắn. Các chatbots được thiết kế phức tạp
dựa trên nền tảng xử lý ngơn ngữ tự nhiên, nhưng cũng có nhiều hệ thống khác đơn giản
hơn bằng cách quét từ khóa trong đầu vào, sau đó trả lời với từ khóa phù hợp nhất hoặc
mẫu từ ngữ tương tự nhất trong cơ sở dữ liệu.
Hiện nay phần lớn các chatbot đều thực hiện truy cập thông qua các trợ lý ảo nhờ
trợ lý Google và Amazon Alexa, dưới ứng dụng tin nhắn nhờ Facebook Messenger,
WeChat hoặc thông qua các ứng dụng và trang web của các tổ chức riêng lẻ. Sự phát triển
của trí tuệ nhân tạo tạo điều kiện để chatbot phát triển nhanh chóng và tạo ra một hệ sinh
thái chatbot tương tự hệ sinh thái ứng dụng. Chatbot được sử dụng trong rất nhiều công
việc nhờ trong việc chăm sóc khách hàng (cung cấp thơng tin sản phẩm, đưa ra các thông
tin gợi ý…), quản lý hàng tồn, sắp xếp lịch, tra cứu dữ liệu y tế, chăm sóc sức khỏe. Chatbot
giúp tối ưu hóa năng suất, giảm thiểu chi phí thơng qua chăm sóc khách hàng, chăm sóc
sức khỏe, đời sống con người. Chatbot có lợi thế để dễ dàng sử dụng bất cứ ngành nghề
nào.
Với mong muốn tạo một chatbot có khả năng hỗ trợ tư vấn thông tin sản phẩm của
một cửa hàng thiết bị điện tử, tôi đề xuất đề tài “Xây dựng ứng dụng hỗ trợ quản lí cửa
hàng tích hợp chatbots” làm đề tài đồ án 2 của mình.
2
Mục tiêu và nhiệm vụ nghiên cứu
2.1 Mục tiêu
-
Tìm hiểu về xây dựng ứng dụng quản lí cửa hàng thiết bị điện tử.
9
-
Tìm hiểu về học máy, các thuật tốn trong xử lý ngôn ngữ tự nhiên áp dụng
trong xây dựng chatbot nhằm nâng cao hiệu quả, độ chính xác của chatbot.
-
Xây dựng ứng dụng quản lí.
-
Xây dựng ngữ cảnh chatbot về cửa hàng.
-
Ứng dụng mã nguồn mở Rasa để xây dựng thử nghiệm hệ thống chatbot.
2.2 Nhiệm vụ nghiên cứu
-
3
Tìm hiểu lý thuyết máy học và các thuật toán liên quan đến chatbot.
Tìm hiểu các phương pháp xử lý ngơn ngữ tự nhiên với ngơn ngữ Tiếng Việt.
Tìm hiểu các phương pháp tính tốn độ tương tự của văn bản.
Tìm hiểu công nghệ và kỹ thuật thiết kế chatbot.
Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
-
Lý thuyết máy học, các thuật tốn, phương pháp xử lý ngơn ngữ tự nhiên với
ngôn ngữ Tiếng Việt.
-
Mã nguồn mở Rasa và kỹ thuật xây dựng chatbot.
3.2 Phạm vi nghiên cứu
-
Nghiên cứu dữ liệu Tiếng Việt dùng trong du lịch và ngôn ngữ hội thoại sử
dụng cho xây dựng chatbot.
-
Xây dựng và thực nghiệm hệ thống mơ phỏng trợ lý ảo có trí tuệ nhân tạo,
hiểu và có thể trả lời những câu hỏi về thơng tin du lịch Quảng Bình.
4
Phương pháp nghiên cứu
4.1 Nghiên cứu lý thuyết
-
Lý thuyết về học máy, các phương pháp biễu diễn văn bản và đối sánh văn
bản.
-
Tổng hợp và nghiên cứu các tài liệu liên quan đến chatbot, các thuật toán tối
ưu dùng trong chatbot.
4.2 Nghiên cứu thực nghiệm
-
Cài đặt thực nghiệm chatbot
10
5
Ý nghĩa khoa học và thực tiễn của đề tài
5.1 Về mặt lý thuyết
-
Thực nghiệm các giả thuyết về các kỹ thuật xử lý ngôn ngữ tự nhiên, kỹ thuật tính
tốn độ tương đồng về mặt ngữ nghĩa trong văn bản Tiếng Việt… giúp chatbot
hiểu được câu đàm thoại khi giao tiếp với con người.
-
Thực nghiệm các kỹ thuật học máy, khai phá dữ liệu trong huấn luyện và trang bị
khả năng tự học của chatbot.
5.2 Về mặt thực tiễn
-
Khách du lịch giao tiếp với hệ thống chatbot hoạt động tự động trên nền tảng trí
tuệ nhân tạo, từng bước đưa Việt Nam bắt kịp và hội nhập theo xu hướng phát triển
của công nghiệp 4.0.
-
Tăng lượng du khách đến với Quảng Bình, nâng cao chất lượng chăm sóc khách
du lịch.
6
Bố cục:
Nội dung báo cáo được trình bày với các phần chính nhờ sau:
Phần I. Mở đầu
Phần II. Nội dung
Chương 1. Tổng quan về học máy và xử lý ngôn ngữ tự nhiên
Chương này sẽ trình bày tổng quan về học máy và xử lý ngôn ngữ tự nhiên, các
phương pháp biểu diễn văn bản, tính độ tương đồng văn bản, các phương pháp phân loại
văn bản, chatbot.
Chương 2 . Phân tích và thiết kế chatbot hệ thống chatbot
Nội dung chương 2 sẽ trình bày về mơ hình chatbot, phân loại chatbot, các phương
pháp xây dựng chatbot, các vấn đề cơ bản khi triển khai xây dựng hệ thống chatbot, xây
dựng chatbot trên nền tảng Rasa.
Chương 3. Cài đặt thực nghiệm hệ thống chatbot
11
Trong chương này mơ tả bài tốn sử dụng chatbot hỗ trợ tư vấn, phân tích nhu cầu
tư vấn, xây dựng dữ liệu thực nghiệm, đề xuất mơ hình hệ thống, cài đặt thực nghiệm, phân
tích và đánh giá kết quả thực nghiệm
Phần III. Kết luận và hướng phát triển
12
13
PHẦN II. NỘI DUNG
CHƯƠNG 1. TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ NGƠN
NGỮ TỰ NHIÊN
1
PHƯƠNG PHÁP HỌC MÁY
1.1 Trí tuệ nhân tạo
1.1.1 Định nghĩa
Trí tuệ nhân tạo (Artificial Intelligence - AI) là lĩnh vực chuyên nghiên cứu và phát
triển các hệ thống (phần mềm và phần cứng) nhằm giải quyết các bài toán giống nhờ cách
thức giải quyết của con người trong một ngữ cảnh nào đó. Trí tuệ nhân tạo là một ngành
khoa học máy tính, được xây dựng trên một nền tảng lý thuyết chắc chắn và có thể ứng
dụng việc tự động hóa các hành vi thơng minh của máy tính; giúp máy tính có được những
trí tuệ của con người nhờ: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do
hiểu ngơn ngữ, biết nói, biết học và tự thích nghi [13].
1.1.2 Quá trình hình thành và phát triển
“Liệu máy tính có khả năng suy nghĩ hay khơng?” đây là vấn đề được bác học người
Anh Alan Turing đưa ra xem xét, ý tưởng xây dựng một chương trình AI xuất hiện lần đầu
vào tháng 10/1950. Thực hiện câu trả lời câu hỏi này, ông đã đưa ra khái niệm “phép thử
bắt chước” mà sau này người ta gọi là “phép thử Turing”. Phép thử được thực hiện dưới
dạng một trị chơi. Trong đó, có ba đối tượng tham gia trị chơi (gồm hai người và một máy
tính). Một người (người thẩm vấn) ngồi trong một phịng kín tách biệt với hai đối tượng
còn lại. Người này đặt các câu hỏi và nhận các câu trả lời từ người kia (người trả lời thẩm
vấn) và từ máy tính. Cuối cùng, nếu người thẩm vấn không phân biệt được câu trả lời nào
là của người, câu trả lời nào là của máy tính thì lúc đó có thể nói máy tính đã có khả năng
“suy nghĩ” giống nhờ người [32].
Tại hội nghị do Marvin Minsky và John McCarthy tổ chức với sự tham dự của vài
chục nhà khoa học tại trường Dartmouth (Mỹ) vào năm 1956, tên gọi “Artificial
Intelligence” được công nhận chính thức và được dùng cho đến ngày nay. Cũng tại đây, bộ
mơn nghiên cứu trí tuệ nhân tạo đầu tiên đã được thành lập.
14
Những năm sau đó, các nhà khoa học nhờ John McArthy, Marvin Minsky, Allen
Newell và Herbert Simon cùng với những cộng sự đã viết nên những chương trình máy
tính giải được những bài toán đại số, chứng minh các định lý và nói được tiếng Anh [32].
Những thập niên tiếp theo một số nghiên cứu đã chứng minh không thể vượt qua với các
cơng nghệ tại thời điểm đó.
Đến thập kỷ 60, 70 Joel Moses viết chương trình tốn học Macsyma sử dụng cơ sở
tri thức đầu tiên thành công. Marvin Minsky và Seymour Papert đưa ra các chứng minh
đầu tiên về giới hạn của các mạng nơron đơn giản.
Vào đầu những năm 1980, những nghiên cứu thành công liên quan đến AI nhờ các
hệ chuyên gia (expert systems) - một dạng của chương trình AI mơ phỏng tri thức và các
kỹ năng phân tích của một hoặc nhiều chuyên gia con người. Đến những năm 1990 và đầu
thế kỷ 21, AI đã đạt được những thành tựu to lớn nhất, AI được áp dụng trong logic, khai
phá dữ liệu, chẩn đoán y học và nhiều lĩnh vực ứng dụng khác trong công nghiệp
Hiện nay, khoa học công nghệ phát triển mạnh mẽ, cùng những bộ dữ liệu phong
phú, các cơng cụ phát triển phần mềm miễn phí hoặc giá rẻ đã hỗ trợ rất nhiều cho các nhà
nghiên cứu. Từ đó đã thúc đẩy sự phát triển các nghiên cứu về trí tuệ nhân tạo, giúp cho
AI thu hút đông đảo các ông lớn nhờ: Facebook, Google, Microsoft... tham gia nghiên cứu,
phát triển sản phẩm và mở ra kỷ nguyên mới cho trí tuệ nhân tạo.
1.1.3 Một số ứng dụng
Ngày nay, trí tuệ nhân tạo được ứng dụng theo hai hướng: Thiết kế những máy tính
thơng minh độc lập với cách suy nghĩ của con người và dùng máy tính để bắt chước q
trình xử lý của con người, một số ứng dụng cơ bản nhờ sau:
Nhận dạng chữ viết: Nhận dạng chữ viết ứng dụng trong lĩnh vực nhận dạng chữ in
hoặc chữ viết tay và lưu thành văn bản điện tử. Ở Việt Nam, phần mềm
VnDOCR do Phịng Nhận dạng & Cơng nghệ tri thức, Viện Cơng nghệ Thơng tin xây dựng
có thể nhận dạng trực tiếp tài liệu bằng cách quét thông qua máy scanner thành các tệp ảnh,
chuyển đổi thành các tệp có định dạng *.doc, *.xls, *.txt, *.rtf, giúp người sử dụng không
phải gõ lại tài liệu vào máy. Tương tự với phần mềm nhận dạng chữ viết trong thờ viện,
15
người ta cũng có thể dễ dàng chuyển hàng ngàn đầu sách thành văn bản điện tử một cách
nhanh chóng [33].
Nhận dạng tiếng nói: Nhận dạng tiếng nói đóng vai trị quan trọng trong giao tiếp
giữa người và máy. Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con người. Một
ứng dụng trong lĩnh vực này là hãng sản xuất xe hơi BMW (Đức) đang tiến hành phát triển
một công nghệ mới cho phép các tài xế có thể soạn email, tin nhắn bằng giọng nói trong
khi đang lái xe [33].
Dịch tự động: Dịch tự động là công việc thực hiện dịch một ngôn ngữ sang một hoặc
nhiều ngơn ngữ khác, khơng có sự can thiệp của con người trong quá trình dịch. Tuy nhiên,
để làm cho máy hiểu được ngôn ngữ là một trong những vấn đề khó nhất của trí tuệ nhân
tạo. Thí dụ câu: “bà già đi nhanh quá” cũng có nhiều cách hiểu khác nhau: với cách phân
tách từ và cụm từ thành bà già/đi/nhanh quá và bà/già đi/nhanh quá... thì việc dịch câu kiểu
nhờ thế này từ tiếng Việt sang tiếng Anh địi hỏi máy khơng những phải hiểu đúng nghĩa
câu tiếng Việt mà còn phải tạo ra được câu tiếng Anh tương ứng. Do đó đây vẫn là ứng
dụng phức tạp.
Tìm kiếm thông tin: Thông tin trên mạng hàng ngày được gia tăng theo cấp số nhân.
Việc tìm kiếm thơng tin mà người dùng quan tâm bây giờ là tìm đúng thơng tin mình cần
và phải đáng tin cậy. Theo thống kê, có đến hơn 90% số lượng người Việt
Nam lên mạng internet để thực hiện việc tìm kiếm thơng tin. Các máy tìm kiếm (search
engine) hiện nay chủ yếu thực hiện tìm kiếm dựa theo từ khóa. Thí dụ, Google hay Yahoo
chỉ phân tích nội dung một cách đơn giản dựa trên tần suất của từ khoá, thứ hạng của trang
và một số tiêu chí đánh giá khác. Kết quả là rất nhiều tìm kiếm khơng nhận được câu trả
lời phù hợp, thậm chí bị dẫn tới một liên kết khơng liên quan gì do thủ thuật đánh lừa nhằm
giới thiệu sản phẩm hoặc lại nhận được quá nhiều tài liệu khơng phải thứ ta mong muốn,
trong khi đó lại khơng tìm ra tài liệu cần tìm [33].
Khai phá dữ liệu và phát hiện tri thức: Đây là lĩnh vực cho phép xử lý từ rất nhiều
dữ liệu khác nhau để phát hiện ra tri thức mới. Ngoài ra, ứng dụng trong lĩnh vực này cũng
cần phải biết trả lời câu hỏi của người sử dụng chúng từ việc tổng hợp dữ liệu thay vì máy
móc chỉ đáp trả những gì có sẵn trong bộ nhớ. Thực tế để làm được điều này rất khó, nó
16
gần nhờ là mơ phỏng q trình học tập, khám phá khoa học của con người. Ngoài ra, dữ
liệu thường có số lượng rất lớn, với nhiều kiểu (số, văn bản, hình ảnh, âm thanh, video...)
và khơng ngừng thay đổi. Để tìm ra tri thức thì các chương trình phải đối mặt với vấn đề
độ phức tạp tính tốn. Đây là lĩnh vực vẫn còn đang trong giai đoạn đầu phát triển [33].
Lái xe tự động: Theo Sebastian Thrun, Giáo sờ ngành máy tính và kỹ thuật điện của
Đại học Carnegie Mellon: ưu điểm lớn nhất của xe tự lái là khả năng loại bỏ sai sót của con
người - nguyên nhân dẫn đến 95% số vụ tử vong mỗi năm tại Mỹ do tai nạn giao thơng.
“Chúng tơi có thể giảm bớt 50% số vụ tai nạn do nguyên nhân này”, ông Sebastian Thrun
khẳng định. Chế tạo được ôtô tự lái và an toàn cao cũng là một mục tiêu được Cục nghiên
cứu các dự án công nghệ cao Bộ quốc phòng Mỹ DARPA (Defense Advanced Research
Projects Agency) khởi xướng và hỗ trợ dưới dạng một cuộc thi mang tên “thách thức lớn
của DARPA” (DARPA grand challenge). Chúng ta hy vọng sẽ đến một ngày, những chiếc
ôtô chạy trên đường khơng cần người lái. Chỉ nói nơi muốn đến, xe sẽ đưa ta đi và đi an
toàn [33].
Robot: Nhiều đề án nghiên cứu về robot thông minh và các lĩnh vực liên quan được
ứng dụng trong đời sống. Các đề án này hướng đến các sáng tạo công nghệ có nhiều ý
nghĩa trong văn hóa, xã hội và cơng nghiệp, địi hỏi phải tích hợp nhiều cơng nghệ, nhờ
ngun lý các tác tử, biểu diễn tri thức về không gian, nhận biết chiến lược, lập luận thời
gian thực, nhận dạng và xử lý các chuỗi hình ảnh liên tục trong thời gian thực... Một trong
những ứng dụng đó là đề án RoboCup: tổ chức thi đấu bóng đá giữa các đội robot.
1.2 Học máy
1.2.1 Các phương pháp học máy
Học máy (Machine learning) là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc
nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải
quyết những vấn đề cụ thể. Ví dụ nhờ các máy có thể "học" cách phân loại thờ điện tử xem
có phải thờ rác (spam) hay không và tự động xếp thờ vào thờ mục tương ứng. Học máy rất
gần với suy diễn thống kê (statistical inference) tuy có khác nhau về thuật ngữ [25].
Hiện nay có hai cách phổ biến để phân nhóm các thuật tốn học máy. Đó là dựa trên
phương thức học (learning style) và dựa trên chức năng (function) của mỗi thuật toán [22].
17
Các thuật toán học máy theo phương thức học được chia làm 4 nhóm: Học có giám sát, học
khơng giám sát, học bán giám sát, học củng cố.
- Học có giám sát (Supervised Learning): Là thuật toán dự đoán đầu ra (outcome) của
một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu
này cịn được gọi là (dữ liệu, nhãn). Học có giám sát là nhóm phổ biến nhất trong các thuật
tốn học máy. Phát biểu dưới dạng toán học, học giám sát là khi chúng ta có một tập hợp
biến đầu vào X={x1,x0,…,xN} và một tập hợp nhãn tương ứng Y={y1,y2,…,yN}, trong đó
xi,yi là các vector. Các cặp dữ liệu biết trước
x yi , i
X Y được gọi là tập dữ liệu huấn
luyện (training data). Từ tập dữ liệu huấn luyện này, chúng ta cần tạo ra một hàm số ánh
xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y.
yi
f x( )i với
x 1,2,...N
Mục đích là xấp xỉ hàm số f thật tốt để khi có một dữ liệu x mới, chúng ta có thể tính được
nhãn tương ứng của nó y
f x( )
Ví dụ: Trong lĩnh vực nhận dạng chữ viết tay, ở Hình 1.1 dưới đây là tập bộ chữ số
mỗi chữ số được viết bởi nhiều người khác nhau. Bức ảnh này khi được đưa vào trong một
thuật toán và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào. Sau khi thuật tốn tạo
ra một mơ hình, tức một hàm số mà đầu vào là một bức ảnh và đầu ra là một chữ số, khi
nhận được một bức ảnh mới mà mơ hình chưa nhìn thấy bao giờ, nó sẽ dự đốn bức ảnh
đó chứa chữ số nào [22].
18
Hình 1.1. Bộ dữ liệu chữ viết tay [22]
Thuật tốn học có giám sát được chia thành hai loại là phân loại (classification) và hồi quy
(regression). Một bài toán được gọi là phân loại nếu các nhãn của dữ liệu vào được chia
thành một số hữu hạn nhóm. Ví dụ: cơng cụ xác định xem một email có phải là thờ rác hay
không của Gmail; xác định xem một khách hàng có khả năng thanh tốn nợ hay khơng
trong các hãng tín dụng. Cịn hồi quy thì nhãn khơng được chia thành các nhóm mà là một
giá trị cụ thể. Ví dụ: một khu đất có diện tích là x m2 , có y căn nhà, các xa trung tâm thị
trấn z km sẽ có giá bao nhiêu?
-
Học khơng giám sát ( Unsupervised Learning): Trong thuật tốn này chỉ có
dữ liệu đầu vào mà không biết được đầu ra hoặc nhãn. Thuật toán này sẽ dựa vào cấu trúc
dữ liệu để thực hiện một cơng việc nào đó, ví dụ nhờ phân nhóm (clustering) hoặc giảm số
chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính tốn. Phát
biểu dưới dạng tốn học, học khơng giám sát là khi chúng ta chỉ có dữ liệu vào X mà khơng
biết nhãn Y tương ứng.
Ví dụ: Xây dựng tham số “k-mean” cho vấn đề chia nhóm. Thuật tốn Apriori cho
các vấn đề liên quan đến việc học tập quy tắc.
Các bài tốn học khơng giám sát tiếp tục được chia thành hai loại phân nhóm
(clustering) và kết hợp (association). Phân nhóm của một bài tốn phân nhóm tồn bộ dữ
liệu X thành các nhóm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm. Ví dụ:
phân nhóm khách hàng dựa trên hành vi mua hàng. Kết hợp là bài toán khi chúng ta muốn
khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước. Ví dụ: chẳng hạn nhờ những
người mua A cũng có khuynh hướng mua B [29].
-
Học bán giám sát (Semi-Supervised Learning): Các bài tốn khi chúng ta có
một lượng lớn dữ liệu X nhờng chỉ một phần trong chúng được gán nhãn được gọi là học
bán giám sát. Những bài tốn thuộc nhóm này nằm giữa hai nhóm học giám sát và học
không giám sát. Trong thực tế các bài tốn học máy thuộc học bán giám sát thì việc thu
thập dữ liệu có chi phí cao và tốn nhiều thời gian. Ngồi ra có những loại dữ liệu chỉ có
chuyên gia mới gán nhãn được (nhờ ảnh y học), cũng có những loại dữ liệu chưa có nhãn
có thể thu thập với chi phí thấp từ internet.
19
Ví dụ: Chúng ta đã lưu trữ được là một kho ảnh nhờng chỉ có một phần ảnh được
gán nhãn (nhờ bức ảnh về người, động vật) và phần ảnh cịn lại khơng được gán nhãn.
-
Học củng cố (Reinforcement Learning): Là các bài toán giúp cho một hệ
thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất. Hiện tại,
học củng cố chủ yếu được áp dụng vào lý thuyết trò chơi (Game Theory), các thuật toán
cần xác định nước đi tiếp theo để đạt được điểm số cao nhất. Ví dụ: huấn luyện cho máy
tính chơi game Mario là một dạng học củng cố.
1.2.2 Ứng dụng của học máy
Hiện nay học máy được ứng dụng rộng khắp các ngành khoa học, sản xuất đặc biệt
là các ngành cần phân tích khối dữ liệu lớn. Một số ứng dụng học máy phổ biến:
Xử lý ngôn ngữ tự nhiên (Natural Language Processing): Xử lý văn bản, truy xuất
thơng tin, trích chọn thơng tin, tóm tắt văn bản tự động, khai phá và phát hiện tri thức, giao
tiếp người – máy, dịch máy.
Máy tìm kiếm: Nhờ Google, Bing, Youtube các hệ thống này sử dụng các công cụ
của học máy để phát triển hệ thống tìm kiếm.
Tin sinh học: Trong lĩnh vực tin sinh học chuyên nghiên cứu về việc phát triển các
giải thuật, lý thuyết và các kĩ thuật thống kê và tính tốn để giải quyết các bài toán bắt
nguồn từ nhu cầu quản lý và phân tích dữ liệu sinh học, phân loại và dự đốn chuỗi gene,
dự đốn tính chất của thuốc mới.
Nhận dạng mẫu (Patten recognition): Các ứng dụng phổ biến là nhận dạng tiếng nói
tự động, phân loại văn bản thành nhiều loại khác nhau (ví dụ: những thờ điện tử nào là
spam/non-spam), nhận dạng tự động các mã bưu điện viết tay trên các bao thờ, hay hệ
thống nhận dạng danh tính dựa vào mặt người.
Chẩn đốn trong y tế: Công nghệ học máy giúp các chuyên gia y tế xác định những
xu hướng hoặc tín hiệu để cải thiện khả năng điều trị, chẩn đoán bệnh, trợ giúp phân tích
ảnh X – quang.
20
Các dịch vụ tài chính: Ngân hàng và các doanh nghiệp hoạt động trong lĩnh vực tài
chính sử dụng cơng nghệ học máy nhằm tìm khách hàng đang có hồ sơ rủi ro cao hoặc sử
dụng giám sát mạng để chỉ rõ những tín hiệu lừa đảo, gian lận thẻ tín dụng.
Phân tích thị trường chứng khốn (stock market analysis): Sử dụng các kỹ thuật toán
học máy tiên tiến nhờ mạng nơron nhân tạo (ANN), máy vector hỗ trợ (SVM) vào bài toán
dự báo chứng khoán dựa trên tập dữ liệu lịch sử giá.
Trò chơi: Chơi cờ (Deep blue, IBM, 1998), Deep Blue là một máy tính chơi cờ vua
do IBM phát triển. Nó được biết đến nhờ là hệ thống cờ vua máy tính đầu tiên giành được
cả một trò chơi cờ vua và một trận đấu cờ vua chống lại nhà vơ địch thế giới trị vì dưới sự
kiểm sốt thời gian thơng thường [30].
Người máy (robot): Là tổng hợp của rất nhiều ngành khoa học, trong đó học máy
tạo nên hệ thần kinh/bộ não của người máy.
2
XỬ LÝ NGƠN NGỮ TỰ NHIÊN
2.1 Tổng quan xử lý ngơn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) là một nhánh của
trí tuệ nhân tạo được tập trung vào các ứng dụng trên ngôn ngữ của con người. Trong trí
tuệ nhân tạo thì xử lý ngơn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan
đến hiểu ngơn ngữ cơng cụ hoàn hảo nhất của tư duy và giao tiếp [26].
Xử lý ngơn ngữ chính là xử lý thơng tin khi thông tin đầu vào là “dữ liệu ngôn ngữ”
(dữ liệu cần biến đổi), tức dữ liệu “văn bản” hay “tiếng nói”. Các dữ liệu liên quan đến
ngơn ngữ viết (văn bản) và nói (tiếng nói) đang dần trở thành kiểu dữ liệu chính con người
và lưu trữ dưới dạng điện tử. Đặc điểm chính của kiểu dữ liệu này là khơng có cấu trúc
hoặc nửa bán cấu trúc và chúng ta không thể lưu trữ trong các khuôn dạng cố định nhờ các
bảng biểu.
2.2 Các bài toán cơ bản trong xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên bao gồm hiểu ngôn ngữ tự nhiên và sinh ngơn ngữ tự nhiên.
Trong đó, hiểu ngơn ngữ tự nhiên (NLU) bao gồm 4 bước chính sau đây [34]:
21
-
Phân tích hình vị: Là sự nhận biết, phân tích, và miêu tả cấu trúc của những hình
vị trong một ngôn ngữ cho trước và các đơn vị ngôn ngữ khác, nhờ từ gốc, biên từ, phụ tố,
từ loại,… Có hai loại bài tốn điển hình trong phần này, bao gồm bài toán tách từ (word
segmentation) và gán nhãn từ loại (POS).
-
Phân tích cú pháp: Là quy trình phân tích một chuỗi các biểu tượng, ở dạng ngôn
ngữ tự nhiên hoặc ngơn ngữ máy tính, tn theo văn phạm hình thức. Văn phạm hình thức
thường dùng trong phân tích cú pháp của ngôn ngữ tự nhiên bao gồm văn phạm phi ngữ
cảnh (Context-free grammar–CFG), văn phạm danh mục kết nối (Combinatory categorial
grammar–CCG), và văn phạm phụ thuộc (Dependency grammar–DG). Đầu vào của q
trình phân tích là một câu gồm một chuỗi từ và nhãn từ loại của chúng, và đầu ra là một
cây phân tích thể hiện cấu trúc cú pháp của câu đó. Các thuật tốn phân tích cú pháp phổ
biến bao gồm CKY, Earley, Chart và GLR.
-
Phân tích ngữ nghĩa: Là quá trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm từ,
mệnh đề, câu và đoạn đến cấp độ toàn bài viết, với ý nghĩa độc lập của chúng. Nói cách
khác, việc này nhằm tìm ra ngữ nghĩa của đầu vào ngơn từ. Phân tích ngữ nghĩa bao gồm
hai mức độ: Ngữ nghĩa từ vựng biểu hiện các ý nghĩa của những từ thành phần, và phân
biệt nghĩa của từ; Ngữ nghĩa thành phần liên quan đến cách thức các từ liên kết để hình
thành những nghĩa rộng hơn.
-
Phân tích diễn ngơn: Ngữ dụng học là môn nghiên cứu về mối quan hệ giữa ngôn
ngữ và ngữ cảnh sử dụng. Ngữ cảnh sử dụng bao gồm danh tính của người hoặc vật, và vì
thế ngữ dụng học bao gồm những nghiên cứu về cách ngôn ngữ được dùng để đề cập (hoặc
tái đề cập) tới người hoặc vật. Ngữ cảnh sử dụng bao gồm ngữ cảnh diễn ngơn, vì vậy ngữ
dụng học cũng bao gồm những nghiên cứu về cách thức cấu tạo nên diễn ngôn, và cách
người nghe hiểu người đang đối thoại với mình.
Khía cạnh thứ hai của NLP là sinh ngôn ngữ tự nhiên (NLG). Đây là một nhiệm vụ
trong quá trình xử lý ngôn ngữ tự nhiên trong việc sinh ra ngôn ngữ tự nhiên từ một hệ
thống máy biểu diễn nhờ một cơ sở tri thức hoặc một dạng biểu diễn logic. NLG đóng vai
trị quan trọng trong rất nhiều ứng dụng NLP, bao gồm sinh hội thoại, tương tác người –
máy, dịch thuật máy, và tóm tắt văn bản tự động.
22
2.3 Ứng dụng của xử lý ngôn ngữ tự nhiên
Xử lý ngơn ngữ tự nhiên có vai trị hết sức quan trọng trong ngành khoa học máy
tính. Xử lý ngơn ngữ tự nhiên có rất nhiều ứng dụng hữu ích trong cuộc sống cũng nhờ cơ
sở cho các nghiên cứu trong các lĩnh vực khác. Sau đây là một vài ứng dụng của xử lý ngôn
ngữ tự nhiên [34]:
-
Nhận dạng chữ viết: Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ in, ví
dụ nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng văn bản. Phức tạp
hơn là nhận dạng chữ viết tay, có khó khăn bởi vì chữ viết tay khơng có khn dạng
rõ ràng và thay đổi từ người này sang người khác. Với chương trình nhận dạng chữ
viết in có thể chuyển hàng ngàn đầu sách trong thờ viện thành văn bản điện tử trong
thời gian ngắn. Nhận dạng chữ viết của con người có ứng dụng trong khoa học hình
sự và bảo mật thông tin (nhận dạng chữ ký điện tử).
-
Nhận dạng tiếng nói: Nhận dạng tiếng nói rồi chuyển chúng thành văn bản
tương ứng. Giúp thao tác của con người trên các thiết bị nhanh hơn và đơn giản hơn.
Đây cũng là bước đầu tiên cần phải thực hiện trong thực hiện giao tiếp giữa con
người với robot. Một ví dụ của ứng dụng nhận dạng tiếng nói là trợ giúp người
khiếm thị.
-
Tổng hợp tiếng nói: Từ một văn bản tự động tổng hợp thành tiếng nói. Thay
vì phải tự đọc một cuốn sách hay nội dung một trang web, nó tự động đọc cho chúng
ta. Giống nhờ nhận dạng tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt cho người
khiếm thị, nhờng ngược lại nó là bước cuối cùng trong giao tiếp giữa robot với
người.
-
Dịch tự động (Machine translate): là chương trình dịch tự động từ ngơn ngữ
này sang ngôn ngữ khác. Các nghiên cứu và ứng dụng của dịch tự động hiện nay rất
phát triển, các ứng dụng có độ chính xác cao.
-
Tìm kiếm thơng tin (Information retrieval): Đặt câu hỏi và chương trình tự
tìm ra nội dung phù hợp nhất. Thông tin ngày càng đầy lên theo cấp số nhân, đặc
biệt với sự trợ giúp của internet, việc tiếp cận thông tin trở lên dễ dàng hơn bao giờ
hết. Vấn đề là tìm đúng nhất thơng tin cần tìm và đặc biệt thơng tin đó phải đáng tin
cậy. Các máy tìm kiếm dựa trên giao diện web nhờ Google hay Yahoo hiện nay chỉ
23
phân tích nội dung rất đơn giản là chỉ dựa trên tần suất của từ khoá, thứ hạng của
trang và một số tiêu chí đánh giá khác để đưa ra kết luận. Kết quả là rất nhiều tìm
kiếm khơng nhận được câu trả lời phù hợp, thậm chí bị dẫn tới một liên kết không
liên quan do thủ thuật đánh lừa của các trang web nhằm giới thiệu sản phẩm (kỹ
thuật SEO - Search Engine Optimization). Thực tế cho đến nay chưa có máy tìm
kiếm nào hiểu được ngơn ngữ tự nhiên của con người trừ trang www.ask.com được
đánh giá là "hiểu" được những câu hỏi có cấu trúc ở dạng đơn giản nhất.
-
Tóm tắt văn bản: Từ một văn bản dài được tóm tắt thành một văn bản ngắn
hơn nhờng vẫn chứa những nội dung thiết yếu nhất.
-
Khai phá dữ liệu và phát hiện tri thức: là phát hiện ra tri thức mới từ rất nhiều
tài liệu khác nhau. Khai phá dữ liệu là mơ phỏng q trình học tập, khai phá thơng
tin có ích của con người. Ở mức độ đơn giản khi kết hợp với máy tìm kiếm nó cho
phép đặt câu hỏi để từ đó cơng cụ tìm kiếm tự tìm ra câu trả lời thích hợp nhất.
3
CÁC PHƯƠNG PHÁP BIỂU DIỄN VĂN BẢN
3.1 Mơ hình biểu diễn văn bản truyền thống
3.1.1 Mơ hình logic
Theo mơ hình này các từ có nghĩa trong văn bản sẽ được đánh chỉ số và nội dung
văn bản được quản lý theo các chỉ số index đó. Mỗi văn bản được đánh chỉ số theo quy tắc
liệt kê các từ có nghĩa trong các văn bản với trị trí xuất hiện của nó trong văn bản. Từ có
nghĩa là từ mang thơng tin chính về các văn bản lưu trữ, khi nhìn nó người ta người ta có
thể biết chủ thể của văn bản cần biểu diễn [3].
Ví dụ: Ta có 2 văn bản với mã tương ứng là VB1, VB2.
“Cộng hòa xã hội chủ nghĩa Việt Nam” (VB1)
“Việt nam dân chủ cộng hịa” (VB2)
Khi đó ta có cách biểu diễn nhờ sau
Bảng 1.1. Biểu diễn văn bản trong mô hình logic
Từ mục
Mã văn bản_vị trí xuất hiện
Cộng
VB1(1),VB2(5)
24
Hịa
VB1(2), VB2(5)
Xã
VB1(3)
Hội
VB1(4)
Chủ
VB1(5),VB2(4)
Nghĩa
VB1(6)
Việt
VB1(7), VB2(1)
Nam
VB1(8), VB2(2)
Khi biểu diễn văn bản theo mơ hình này, người ta các tìm kiếm sau: Câu hỏi tìm kiếm
được đưa ra dưới dạng logic gồm một tập các phép toán (And, Or,…) thực hiện trên các từ
hoặc cụm từ, việc tìm kiếm dựa vào bảng Index đã tạo ra và kết quả lại là các văn bản thảo
mãn điều kiện trên.
3.1.2 Mơ hình vector
Mơ hình vector là một trong những mơ hình đơn giản và thường được sử dụng trong
phần lớn các bài toán xử lý dữ liệu văn bản. Theo mơ hình này, mỗi văn bản được biểu
diễn thành một vector, mỗi thành phần của vector là một từ khóa trong tập văn bản gốc và
được gán một giá trị trọng số xác định tần suất xuất hiện của từ trong văn bản [3].
Hình 1.2. Mơ hình vector biểu diễn văn bản [3]
Phát biểu của mơ hình [3]:
25