SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------------
NÔNG VĂN TÙNG
NGHIÊN CỨU XÂY DỰNG CHATBOT
HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 8480101
LUẬN VĂN THẠC SĨ
Ngƣời hƣớng dẫn khoa học: TS. TRẦN VĂN CƢỜNG
Đà Nẵng - Năm 2019
ii
LỜI CAM ĐOAN
Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng
dẫn trực tiếp của thầy giáo TS. Trần Văn Cường.
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác
giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi
xin chịu hoàn toàn trách nhiệm.
Tác giả luận văn
NÔNG VĂN TÙNG
iii
Lời cảm ơn
Tôi xin chân thành cám ơn quý Thầy, Cô trong khoa Công nghệ thông tin
Trường ĐH Bách khoa, Đại học Đà Nẵng và giảng viên trường ĐH Quảng Bình đã
trang bị cho tôi kiến thức nền tảng để có thể hoàn thành tốt luận văn này.
Cám ơn các bạn trong lớp đã chia sẻ các kinh nghiệm và đã hỗ trợ trong lúc
làm luận văn.
Đặc biệt em xin chân thành cảm ơn thầy giáo hướng dẫn TS. Trần Văn Cƣờng
đã hỗ trợ em trong lúc thực hiện luận văn này.
Mặc dù đă cố gắng hết khả năng nhưng không thể nào tránh khỏi những thiếu
sót. Rất mong nhận được sự góp quý báu của quý thầy cô để đề tài có thể hoàn chỉnh
hơn.
Học viên
NÔNG VĂN TÙNG
iv
MỤC LỤC
LỜI CAM ĐOAN........................................................................................................... ii
MỤC LỤC......................................................................................................................iv
TÓM TẮT LUẬN VĂN............................................................................................... vii
DANH SÁCH CÁC HÌNH.......................................................................................... viii
DANH SÁCH CÁC BẢNG BIỂU..................................................................................x
PHẦN I. MỞ ĐẦU..........................................................................................................1
1. Lý do chọn đề tài .....................................................................................................1
2. Mục tiêu và nhiệm vụ nghiên cứu ...........................................................................2
3. Đối tƣợng và phạm vi nghiên cứu ...........................................................................2
4. Phƣơng pháp nghiên cứu .........................................................................................3
5. Ý nghĩa khoa học và thực tiễn của đề tài.................................................................3
6. Bố cục luận văn:.......................................................................................................4
PHẦN II. NỘI DUNG.....................................................................................................5
CHƢƠNG 1. TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN .5
1.1. PHƢƠNG PHÁP HỌC MÁY ..............................................................................5
1.1.1. Trí tuệ nhân tạo ..............................................................................................5
1.1.2. Học máy .........................................................................................................8
1.2. XỬ LÝ NGÔN NGỮ TỰ NHIÊN .....................................................................11
1.2.1. Tổng quan xử lý ngôn ngữ tự nhiên.............................................................11
1.2.2. Các bài toán cơ bản trong xử lý ngôn ngữ tự nhiên.....................................11
1.2.3. Ứng dụng của xử lý ngôn ngữ tự nhiên .......................................................12
1.3. CÁC PHƢƠNG PHÁP BIỂU DIỄN VĂN BẢN...............................................14
1.3.1. Mô hình biểu diễn văn bản truyền thống .....................................................14
1.3.2. Mô hình đồ thị biểu diễn văn bản ................................................................17
1.3.3. Mô hình Word2vec văn bản (vector hóa từ)................................................20
1.3.4. Mô hình Doc2vec (vector hóa văn bản).......................................................21
v
1.4. TÍNH ĐỘ TƢƠNG ĐỒNG VĂN.......................................................................23
1.4.1. Khái niệm độ tƣơng đồng ............................................................................23
1.4.2. Độ tƣơng đồng văn bản dựa trên tập từ chung.............................................23
1.4.3. Độ tƣơng đồng văn bản dựa trên vector biểu diễn.......................................24
1.4.4. Độ tƣơng đồng văn bản trong tiếng Việt .....................................................26
1.5. CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN .............................................30
1.5.1. Phƣơng pháp Naive Bayes...........................................................................30
1.5.2. Phƣơng pháp k–Nearest Neighbor(KNN)....................................................31
1.5.3. Phƣơng pháp cây quyết định........................................................................32
1.5.4. Phƣơng pháp mạng Nơron nhân tạo ............................................................33
1.5.5. Phƣơng pháp Support Vector Machines (SVM)..........................................35
1.6. CHATBOT..........................................................................................................37
1.6.1. Khái niệm.....................................................................................................37
1.6.2. Hoạt động của chatbot..................................................................................38
1.6.3. Sự phát triển của chatbot..............................................................................38
1.6.4. Các lĩnh vực ứng dụng của chatbot..............................................................39
CHƢƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT ........................40
2.1. CÁC MÔ HÌNH CHATBOT..............................................................................40
2.2. PHÂN LOẠI CHATBOT ...................................................................................41
2.2.1. Flow-oriented chatbot ..................................................................................41
2.2.2. Chatbot thông minh nhân tạo (Artificially intelligent chatbot) ...................41
2.2.3. Chatbot lai (Hybrid chatbot) ........................................................................42
2.2.4. Chatbot đƣợc hỗ trợ bởi con ngƣời..............................................................43
2.3. CÁC PHƢƠNG PHÁP XÂY DỰNG CHATBOT.............................................43
2.3.1. So sánh trùng khớp mẫu câu (Pattern matchers)..........................................43
2.3.2. Sử dụng thuật toán phân lớp (Classification algorithms) ............................44
2.3.3. Mạng nơron nhân tạo (Artificial Neural Network - ANN)..........................44
vi
2.3.4. Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) ................44
2.3.5. Hiểu ngôn ngữ tự nhiên (Natural Language Understanding - NLU)...........45
2.4. CÁC VẤN ĐỀ CƠ BẢN KHI PHÁT TRIỂN HỆ THỐNG CHATBOT ..........46
2.4.1. Xác định ý định ngƣời dùng.........................................................................47
2.4.2. Trích xuất thông tin......................................................................................49
2.4.3. Quản lý hội thoại..........................................................................................50
2.5. CÔNG CỤ TẠO CHATBOT .............................................................................52
2.5.1. Nền tảng tạo chatbot ....................................................................................52
2.5.2. Xây dựng chatbot dựa trên nền tảng mã nguồn mở RaSa............................52
CHƢƠNG 3. CÀI ĐẶT THỰC NGHIỆM HỆ THỐNG CHATBOT HỖ TRỢ TƢ
VẤN DU LỊCH QUẢNG BÌNH ...................................................................................57
3.1. BÀI TOÁN TƢ VẤN DU LỊCH........................................................................57
3.2. PHÂN TÍCH NHU CẦU TƢ VẤN DU LỊCH...................................................59
3.3. DỮ LIỆU THỰC NGHIỆM ...............................................................................61
3.4. MÔ HÌNH HỆ THỐNG......................................................................................63
3.5. CÀI ĐẶT THỰC NGHIỆM ...............................................................................64
3.5.1. Một số yêu cầu về hệ thống .........................................................................64
3.5.2. Ngôn ngữ sử dụng........................................................................................65
3.5.3. Xây dựng tập dữ liệu huấn luyện và kịch bản hội thoại ..............................66
3.5.4. Xây dựng các Action:...................................................................................69
3.6. KẾT QUẢ THỰC NGHIỆM..............................................................................71
3.7. PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ .........................................................74
PHẦN III. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN...................................................77
1. Kết luận..................................................................................................................77
2. Hƣớng phát triển ....................................................................................................77
TÀI LIỆU THAM KHẢO.............................................................................................79
vii
TÓM TẮT LUẬN VĂN
NGHIÊN CỨU XÂY DỰNG CHATBOT
HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH
Học viên: Nông Văn Tùng Chuyên ngành: Khoa học máy tính
Mã số: 8480101 Khóa: K35 Trƣờng Đại học Bách khoa – ĐHĐN
Tóm tắt: Ngày nay chatbot có thể đƣợc ứng dụng rất nhiều trong các lĩnh vực của
đời sống xã hội. Nghiên cứu xây dựng chatbot dựa trên mã nguồn mở là một hƣớng
nghiên cứu nhận đƣợc nhiều sự quan tâm hiện nay. Trong luận văn này, tôi trình bày cơ
sở lý thuyết học máy, xử lý ngôn ngữ tự nhiên, các phƣơng pháp tạo chatbot. Từ đó đề
xuất mô hình hệ thống chatbot hỗ trợ tƣ vấn du lịch. Quá trình xây dựng hệ thống
chatbot bao gồm các bƣớc sau: (1) Thu thập dữ liệu; (2) Xác định ngôn ngữ sử dụng; (3)
Xây dựng tập dữ liệu huấn luyện; (4) Kịch bản hộp thoại; (5) Xây dựng Action
Kết quả thực nghiệm trên bộ dữ liệu đã đƣợc xây dựng cho thấy giải pháp đề xuất
xây dựng chatbot mang lại hiệu quả trong việc tƣ vấn cho khách du lịch.
Từ khóa: Xử lý ngôn ngữ tự nhiên, biểu diễn văn bản, độ tƣơng đồng văn bản,
công nghệ chatbot, chatbot
RESEARCH CONSTRUCTION OF CHATBOT QUANG BINH
TOURIST CONSULTANT SUPPORT
Student: Nong Van Tung Major: Computer Science
Code: 8480101 Course: K35 Polytechnic University – Da Nang University
Abstract: Today chatbot can be applied a lot in the areas of social life.
Researching to build chatbot based on open source is a research direction that has
received much attention now. In this dissertation, I present the theory of machine
learning theory, natural language processing, methods and chatbot technology. Since
then propose a model of chatbot system to support tourism consultancy. The process of
building chatbot system includes the following steps: (1) Data collection; (2) Determine
the language used; (3) Develop training data set; (4) Script dialog; (5) Building Action
Experimental results on the data set have been developed, showing that the
proposed solution for building chatbot is effective in advising tourists.
Keywords: Natural language processing, Text representation, Text similarity,
Chatbot technology, chatbot.
viii
DANH SÁCH CÁC HÌNH
Hình 1.1. Bộ dữ liệu chữ viết tay [22].............................................................................9
Hình 1.2. Mô hình vector biểu diễn văn bản [3] ...........................................................15
Hình 1.3. Ví dụ mô hình đồ thị khái niệm.....................................................................18
Hình 1.4. Ví dụ mô hình đồ thị hình sao [3] .................................................................19
Hình 1.5. Ví dụ về mô hình đồ thị có hƣớng, không gán nhãn .....................................20
Hình 1.6. Ví dụ mô hình đồ thị n khoảng cách đơn giản [3].........................................20
Hình 1.7. Mô hình Cbow và Skip-gram [31] ................................................................21
Hình 1.8. Mô hình túi từ phân tán của vectơ đoạn [4] ..................................................22
Hình 1.9. Mô hình bộ nhớ phân tán [4].........................................................................22
Hình 1.10. Mô hình bộ nhớ phân tán cho việc học vector đoạn[35].............................23
Hình 1.11. Ví dụ về cây quyết định [15].......................................................................33
Hình 1.12. Sơ đồ đơn giản mạng Nơron nhân tạo [2]...................................................34
Hình 1.13. Sơ đồ đồ thị có hƣớng đơn giản [2].............................................................35
Hình 1.14. Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với
khoảng cách biên lớn nhất [10]. ....................................................................................36
Hình 1.15. Xử lý hội thoại giữa chatbot và con ngƣời..................................................38
Hình 1.16. Hoạt động của chatbot.................................................................................38
Hình 2.1. Đoạn hội thoại của một chatbot trí tuệ nhân tạo [8]......................................42
Hình 2.2. Chatbot tự động trả lời câu hỏi của khách hàng [28] ....................................43
Hình 2.3. Cấu trúc cơ bản của một chatbot sử dụng NLP và công nghệ Machine
learning [19] ..................................................................................................................45
Hình 2.4. Hệ thống chatbot sử sử dụng phƣơng pháp NLU [17]..................................46
Hình 2.5. Kiến trúc của hệ thống phân lớp ý định [23].................................................48
Hình 2.6. Minh hoạ quản lý hội thoại theo mô hình máy trạng thái hữu hạn FSA [24]51
Hình 2.7. Xây dựng tập dữ liệu huấn luyện ..................................................................55
Hình 3.1. Phần mềm chatbot .........................................................................................59
ix
Hình 3.2. Chatbot hỗ trợ tƣ vấn thông tin du lịch .........................................................60
Hình 3.3. Mô hình hệ thống chatbot..............................................................................63
Hình 3.4. Máy ảo Vultr.com dùng để cài đặt chatbot ...................................................64
Hình 3.5. Các bƣớc thực hiện của giải thuật .................................................................66
Hình 3.6. Đặt phòng thông qua chatbot.........................................................................72
Hình 3.7. Hỏi tìm thông tin nhà hàng............................................................................73
Hình 3.8. Hỏi tìm thông tin nhà hàng có chỉnh sửa.......................................................73
Hình 3.9. Chatbot trích xuất thông tin về số ngƣời phụ thuộc nhiều vào dữ liệu huấn
luyện NLU .....................................................................................................................74
Hình 3.10. Dữ liệu Tiếng Việt không dấu chƣa có kết quả nhƣ mong muốn ...............76
x
DANH SÁCH CÁC BẢNG BIỂU
Bảng 1.1. Biểu diễn văn bản trong mô hình logic.........................................................14
xi
DANH SÁCH CÁC CHỮ VIẾT TẮT
AI Artificial Intelligence
ML Machine Learning
NLG Natural Language Generation
NLU Natural Language Understanding
NPL Natural Language Processing
SVM Support Vector Machine
1
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.
Du lịch là một trong những ngành kinh tế quan trọng, là một ngành kinh tế
tổng hợp có tính liên ngành, liên vùng và xã hội hóa cao. Du lịch không những có
khả năng tạo ra nguồn thu nhập rất lớn cho xã hội mà còn góp phần thực hiện
chính sách mở cửa, giao lƣu văn hóa, thúc đẩy sự đổi mới và phát triển nhiều
ngành kinh tế khác, đồng thời giải quyết nhiều vấn đề mang tính chất xã hội.
Quảng Bình, vùng đất đƣợc thiên nhiên ƣu ái ban tặng nhiều tài nguyên quý, độc
đáo để phục vụ cho việc phát triển một ngành du lịch với nhiều loại sản phẩm du
lịch, hình thức du lịch phong phú và đa dạng. Quảng Bình đã xác định “Du lịch là
một ngành kinh tế mũi nhọn của tỉnh”. Quảng Bình là vùng đất giàu tiềm năng, lợi
thế để phát triển du lịch, tuy nhiên du lịch Quảng Bình chƣa phát triển tƣơng xứng
với tiềm năng vốn có. Làm thế nào để du lịch Quảng Bình phát triển đi lên ngày
một nhanh và mạnh mẽ, thu hút đƣợc lƣợng khách du lịch đến thăm quan nhiều
2
hơn, nâng cao sức cạnh tranh, nâng cao vị thế du lịch Quảng Bình là một vấn đề
quan trọng và cấp thiết cần đƣợc đặt ra hiện nay.
Hiện nay, khách du lịch có thể tìm hiểu thông tin về các địa điểm, dịch vụ
du lịch ở Quảng Bình thông qua các công cụ tìm kiếm thông tin trên internet và
thông tin từ các công ty du lịch. Tuy nhiên những thông tin hữu ích và thiết thực
với du khách còn hạn chế, du khách phải mất rất nhiều thời gian trong việc tìm
hiểu thông tin.
Với mong muốn tạo một chatbot có khả năng hỗ trợ tƣ vấn thông tin du lịch
ở Quảng Bình để góp phần thu hút khách du lịch, nâng cao chất lƣợng du lịch tại
Quảng Bình, tôi đề xuất đề tài “Nghiên cứu xây dựng chatbot hỗ trợ tư vấn du
lịch Quảng Bình” làm đề tài luận văn của mình.
2. Mục tiêu và nhiệm vụ nghiên cứu
a. Mục tiêu
- Tìm hiểu về học máy, các thuật toá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ữ cảnh chatbot về du lịch Quảng Bình dựa trên các đặc trƣng
dữ liệu về du lịch Quảng Bình.
- Ứng dụng mã nguồn mở Rasa để xây dựng thử nghiệm hệ thống chatbot hỗ
trợ tƣ vấn cho khách du lịch tới Quảng Bình.
b. Nhiệm vụ nghiên cứu
- 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 toá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.
3. Đối tƣợng và phạm vi nghiên cứu
a. Đối tƣợng nghiên cứu
- Lý thuyết máy học, các thuật toá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
- Dữ liệu về du lịch Quảng Bình.
b. 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
a. 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.
- Thu thập, thống kê số liệu từ nguồn dữ liệu về du lịch Quảng Bình.
- Xây dựng kịch bản cho chatbot du lịch Quảng Bình.
b. Nghiên cứu thực nghiệm
Cài đặt thực nghiệm chatbot trên tập dữ liệu về du lịch Quảng Bình và phân
tích, đánh giá kết quả.
5. Ý nghĩa khoa học và thực tiễn của đề tài
a. 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 toá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.
b. 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.
4
6. Bố cục luận văn:
Nội dung luận văn đƣợ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 luận văn
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 hỗ trợ tƣ vấn du lịch
Quảng bình
Trong chương này mô tả bài toá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
5
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.1.PHƢƠNG PHÁP HỌC MÁY
1.1.1. Trí tuệ nhân tạo
1.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.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.
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
6
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 toá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.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 quá 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, 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].
7
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ó gần nhƣ là mô phỏng quá 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 toá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
8
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ƣ nguyên 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.1.2. Học máy
1.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 toá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]. 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 toá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  
,
i i
x y 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.
( )
i i
y f x
 với 1,2,...
x 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

9
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 toá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ự đoán bức ảnh đó chứa chữ số nào [22].
Hình 1.1. Bộ dữ liệu chữ viết tay [22]
Thuật toá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
toá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 toá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 toán. Phát biểu dƣới dạng toá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 toán Apriori
cho các vấn đề liên quan đến việc học tập quy tắc.
Các bài toá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 toán phân nhóm toàn bộ
10
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 toá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 toá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 toá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. Ngoà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.
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.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 toá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ự đoán chuỗi
gene, dự đoá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ử
11
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 đoá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.
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 khoá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 soá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.
1.2.XỬ LÝ NGÔN NGỮ TỰ NHIÊN
1.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.
1.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]:
12
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 toá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, tuân 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 quá 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 toá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.
1.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]:
13
- 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ó khuôn
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ỉ 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.
14
- 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 quá 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.
1.3. CÁC PHƢƠNG PHÁP BIỂU DIỄN VĂN BẢN
1.3.1. Mô hình biểu diễn văn bản truyền thống
1.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)
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)
15
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.
1.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]:
Mỗi văn bản D được biểu diễn dưới dạng một vector V (vector đặc trưng cho
văn bản D). Trong đó, V =(v1,v2,…,vn) và n là số lượng đặc trưng hay số chiều của
vector văn bản (thường là số từ khóa), vi là trọng số của đặc trưng thứ i (với 1 ≤i ≤ n).
Trọng số của đặc trƣng có thể tính dựa trên tần số xuất hiện của từ khóa trong
văn bản. Ma trận biểu diễn trọng số (ma trận tần suất) W ={wij} đƣợc xác định dựa
trên tần số xuất hiện của từ khóa ti trong văn bản dj. Một số phƣơng pháp xác định wij:
- Phƣơng pháp Boolean weighting: Giá trị là 1 nếu số lần xuất hiện của từ khóa
lớn hơn một ngƣỡng nào đó, ngƣợc lại là 0.
- Phƣơng pháp dựa trên tần số từ khóa (Term Frequency Weighting).
- Phƣơng pháp dựa trên nghịch đảo tần số văn bản (Inverse Document
Frequency).
16
- TF*IDF weighting.
a) Phƣơng pháp Boolean weighting
Mô hình vector với trọng số từ khóa ti nhận giá trị đúng nếu và chỉ nếu ti xuất
hiện trong văn bản đó.
Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2,... dm}. Mỗi văn bản
đƣợc biểu diễn dƣới dạng một vector gồm n từ khóa T = {t1, t2,…tn}. Gọi W = {Wij} là
ma trận trọng số, trong đó Wij là giá trị trọng số của từ khóa ti trong văn bản dj.
ij
W 



i i
1 nÕu t cã trong d
0 ng­îc l¹i
b) Phƣơng pháp dựa trên tần số từ khóa (Term Frequency)
Các giá trị Wij đƣợc tính dựa trên tần số xuất hiện của từ khóa trong văn bản.
Giả sử fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó wij đƣợc tính bởi
một trong ba công thức:
Wij = fij
Wịj = 1 + log(fịj)
ij ij
W f

Nếu số lần xuất hiện từ khóa t trong văn bản dj càng lớn thì có nghĩa là văn bản
dj càng phụ thuộc vào từ khóa ti, hay nói cách khác từ khóa ti mang nhiều thông tin
trong văn bản dj. Ví dụ, nếu trong văn bản xuất hiện nhiều từ khóa máy tính, điều đó
có nghĩa là văn bản chủ yếu liên quan đến lĩnh vực tin học.
c) Phƣơng pháp dựa trên nghịch đảo tần số văn bản
Trong phƣơng pháp này Wij đƣợc tính theo công thứ sau:
ij
ij
log( ) nÕu tf 1
0 nÕu tf = 0
i
ij
N
df
W



 


Trong đó N là số lƣợng văn bản và df là số lƣợng văn bản mà từ khóa ti xuất
hiện. Trong công thức này, trọng số Wij đƣợc tính dựa trên độ quan trọng của từ khóa
ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, thì khi nó xuất hiện trong dj,
trọng số của nó đối với dj càng lớn (do tính nghịch đảo của hàm log), tức là hàm lƣợng
thông tin trong nó càng lớn. Nói cách khác ti là điểm quan trọng để phân biệt dj với các
văn bản khác.
17
d) Phƣơng pháp TF - IDF
Đây là phƣơng pháp kết hợp của hai phƣơng pháp TF và IDF. Trọng số Wij
đƣợc tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và độ hiếm của từ khóa
ti trong tập văn bản.
Công thức tính Wij
ij
ij
(1 log( ))log( ) nÕu f 1
(i, j)
0 nÕu f 0
ij
i
N
f
df
weigh

 

 
 

Trong đó:
- weigh(i,j): là trọng số của từ thứ i trong văn bản bản thứ j
- fij (term frequency): số từ xuất hiện từ thứ i trong văn bản j, fij càng cao thì từ
đó càng miêu tả tốt nội dung văn bản.
- dfi (document frequency): số văn bản có chứa từ thứ i.
Nhân xét
Ƣu điểm: Mô hình vector là mô hình biểu diễn văn bản đƣợc sử dụng khá phổ
biến trong các hệ xử lý văn bản. Mối quan hệ giữa các văn bản đƣợc tính toán dựa trên
các vector biểu diễn nên dễ dàng thực hiện.
Nhƣợc điểm: Vì mỗi văn bản đƣợc biểu diễn thành một vector n chiều, với số
chiều thƣờng là số từ khác nhau trong tập văn bản, do đó không gian biểu diễn có số
chiều tƣơng đối lớn, việc lƣu trữ và tính toán trên vector tốn kém và phức tạp.
Ngoài ra, hệ thống không linh hoạt khi lƣu trữ các từ khóa. Chỉ cần một thay
đổi nhỏ trong bảng từ vựng sẽ dẫn đến hoặc là vector hóa lại toàn bộ các tài liệu, hoặc
là bỏ qua các từ có nghĩa bổ sung trong các tài liệu đƣợc mã hóa trƣớc đó.
1.3.2. Mô hình đồ thị biểu diễn văn bản
Mô hình đồ thị biểu diễn văn bản đƣợc John F. Sowa đƣa ra lần đầu tiên vào năm
1976 - mô hình đồ thị khái niệm (Conceptual Graphs CGs). Trong mô hình đồ thị, mỗi
đồ thị là một văn bản. Đỉnh của đồ thị có thể là câu, hoặc từ, hoặc kết hợp câu và từ.
Cạnh nối giữa các đỉnh là vô hƣớng hoặc có hƣớng, thể hiện mối quan hệ trong đồ thị.
Nhãn của đỉnh thƣờng là tần số xuất hiện của đỉnh, còn nhãn của cạnh là tên mối liên
kết khái niệm giữa hai đỉnh, hay tần số xuất hiện chung của hai đỉnh trong một phạm
vi nào đó, hay tên vùng mà đỉnh xuất hiện.
18
Ví dụ, trong bài toán rút trích thông tin, đỉnh là từ hay từ kết hợp câu, cạnh thể
hiện tần số đồng hiện. Trong bài toán phân lớp văn bản, đỉnh là từ, cạnh thể hiện trật tự
xuất hiện của từ hay vị trí xuất hiện của từ trong văn bản. Trong bài toán tóm tắt văn
bản, đỉnh là câu, cạnh thể hiện sự tƣơng đồng giữa các câu.
1.3.2.1. Mô hình đồ thị khái niệm (Conceptual Graphs -CGs)
Mô hình đồ thị khái niệm sử dụng mạng ngữ nghĩa để biểu diễn văn bản thành
đồ thị. Mỗi từ trong văn bản là một khái niệm và đƣợc biểu diễn bẳng đỉnh hình
vuông. Đỉnh hình oval thể hiện mối quan hệ giữa các khái niệm. Các đỉnh hình vuông
đƣợc nối với nhau dựa trên mối quan hệ trong mạng ngữ nghĩa và qua trung gian là
đỉnh hình oval.
Ví dụ ta có câu: “Nam is going to DaNang by taxi”, đồ thị khái niệm có dạng:
Hình 1.3. Ví dụ mô hình đồ thị khái niệm
Trong hình, các khái niệm là “Go”, “Person: Nam”, “City: DaNang” và “Taxi”,
các mối quan hệ “Agnt”, “Dest” và “Inst”.
Ƣu điểm của CGs là mô hình hóa văn bản một cách trực quan, chính xác và
logic. Hạn chế của mô hình là khác phức tạp, đòi hỏi phân tích ngữ nghĩa sâu, chuyên
biệt và phụ thuộc vào lĩnh vực.
1.3.2.2. Mô hình đồ thị hình sao
Trong đồ thị hình sao, đỉnh trung tâm là nét khái quát cấu trúc của văn bản. Sau
khi đỉnh trung tâm đƣợc xác lập, các đỉnh còn lại sẽ đƣợc triển khai. Ngoài đỉnh trung
tâm, các đỉnh còn lại biểu diễn từ trong văn bản. Cạnh nối giữa các đỉnh đƣợc gán
nhãn, thể hiện mối quan hệ giữa các đỉnh [3].
19
Hình 1.4. Ví dụ mô hình đồ thị hình sao [3]
1.3.2.3. Mô hình đồ thị vô hướng sử dụng tần số xuất hiện
Trong mô hình này, đỉnh và cạnh đều đƣợc gán nhãn là tần số xuất hiện của
đỉnh và cạnh tƣơng ứng. Cạnh đƣợc nối giữa hai đỉnh nếu hai từ xuất hiện chung trong
trong tập hợp (câu hoặc nhóm từ hoặc trang). Nhãn của đỉnh là tần số xuất hiện của từ
trong văn bản, nhãn của cạnh là tần số xuất hiện chung của 2 từ trong tập hợp và tần số
xuất hiện chung này lớn hơn ngƣỡng cho phép.
Ƣu điểm của mô hình là khai thác đƣợc mối quan hệ giữa từ với từ trong cấu
trúc văn bản cũng nhƣ tần số xuất hiện của từ, hỗ trợ cho quá trình tìm kiếm thông tin
nhanh chóng.
1.3.2.4. Mô hình đồ thị có hướng, cạnh không gán nhãn
Mô hình này còn đƣợc gọi là mô hình đồ thị đơn giản. Mỗi đỉnh biểu diễn một
từ riêng biệt và chỉ xuất hiện một lần trên đồ thị ngay cả khi từ đó xuất hiện nhiều lần
trong văn bản. Nhãn đình là tên của từ. Sau bƣớc tiền xử lý văn bản, nếu từ “a” đứng
ngay trƣớc từ “b” sẽ có cạnh nối từ đỉnh “a” đến đỉnh “b” (không kể các trƣờng hợp
phân cách bởi dấu câu).
Ví dụ: “Samsung sẽ giới thiệu điện thoai Samsung galaxy note 10 và trƣng bày
công nghệ bổ trợ đƣợc xây dựng để cải tiến điện thoại”
Ví dụ:
20
Hình 1.5. Ví dụ về mô hình đồ thị có hướng, không gán nhãn
Ƣu điểm của mô hình là lƣu trữ đƣợc các thông tin cấu trúc nhƣ thứ tự xuất
hiện, vị trí của từ trong văn bản và làm tăng hiệu quả của các bài toán phân lớp cũng
nhƣ gom cụm văn bản.
1.3.2.5. 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.
Mô hình này còn có tên gọi khác là mô hình khoảng cách n đơn giản. Trong mô
hình này, ngƣời dùng cung cấp tham số n. Thay vì chỉ quan tâm từ “A” trực tiếp ngay
trƣớc từ “B” ta còn chú ý đến n từ đứng trƣớc từ “B”. Cạnh đƣợc xây dựng giữa hai từ
khi giữa chúng có số từ xuất hiện nhiều nhất là (n-1), ngoại trừ trƣờng hợp các từ đƣợc
phân cách bởi các dấu câu [3].
Ví dụ: ta có câu “Cánh đồng lúa xanh bát ngát”, với n = 2, mô hình biểu diễn
câu nhƣ sau:
Hình 1.6. Ví dụ mô hình đồ thị n khoảng cách đơn giản [3]
Ƣu điểm của mô hình là tận dụng đƣợc mối quan hệ giữa các từ, vùng lân cận
của từ trong câu và có thể áp dụng vào bài toán phân lớp văn bản.
1.3.3. Mô hình Word2vec văn bản (vector hóa từ)
Trong word2vec, một biểu diễn phân tán (distributed representation) của một từ
đƣợc sử dụng. Sử dụng một vector với vài trăm chiều. Mỗi từ đƣợc biểu diễn bởi tập
21
các trọng số của từng phần tử trong nó. Nhƣ thế thay vì kết nối one-to-one giữa các
phần từ trong vector và 1 từ, biểu diễn từ sẽ là dàn trải tất cả các thành phần của
vector, và mỗi phần tử trong vector sẽ góp phần định nghĩa nhiều từ khác.
Mỗi vector nhƣ vậy cũng đại diện cho một cách tóm lƣợc của ý nghĩa của một
từ. Và nhƣ vậy tiếp theo, chỉ đơn giản bằng cách kiểm tra một ngữ liệu lớn nó có thể
học word vectors, ta có thể nắm bắt các mối quan hệ giữa các từ trong một cách đáng
ngạc nhiên. Có thể sử dụng các vector là đầu vào cho một mạng nơron [4].
Bao gồm 2 mô hình :
- Mô hình túi từ liên lục (CBOW): Dự đoán 1 từ khi đã có các từ lân cận
- Mô hình Skip-gram: Là một mô hình đối lập hoàn toàn với mô hình CBOW.
Dự đoán các từ lân cận khi đã có 1 từ (theo thống kê mô hình này giúp làm mƣợt
CBOW mƣợt hơn nhiều)
Hình 1.7. Mô hình Cbow và Skip-gram [31]
Mục đích và tính hữu ích của word2vec là nhóm các vectơ của các từ tƣơng tự
lại với nhau trong vectorspace. Nghĩa là, nó phát hiện các điểm tƣơng đồng về mặt
toán học.
1.3.4. Mô hình Doc2vec (vector hóa văn bản)
Mô hình Doc2Vec đƣợc phát triển dựa trên mô hình Word2Vec [4] trên cơ sở
thừa kế ý tƣởng của Word2Vec và xây dựng thêm ma trận đoạn. Việc này giúp cho mô
hình Doc2Vec tập hợp tất cả các từ trong một câu thành một vectơ.
Mô hình Doc2vec bao gồm hai mô hình: Mô hình túi từ phân tán (distributed
bag of words- DBOW) và mô hình bộ nhớ phân tán (distributed memory- DM)
a. Mô hình túi từ phân tán(DBOW)
22
Hình 1.8. Mô hình túi từ phân tán của vectơ đoạn [4]
Mô hình này đơn giản là không quan tâm thứ tự các từ, huấn luyện nhanh hơn,
không sử dụng bối cảnh địa phƣơng/lân cận.
Mô hình chèn thêm 1 "word" là ParagraphID, ParagraphID này đại diện cho
văn bản đƣợc huấn luyện. Sau khi huấn luyện xong có thể hiểu các vector ParagraphID
này là vector nhúng của các văn bản.
b. Mô hình bộ nhớ phân tán(DM)
Hình 1.9. Mô hình bộ nhớ phân tán [4]
Nó xem một đoạn văn (paragraph) là một từ, sau đó nối từ này vào tập các từ
trong câu. Trong quá trình huấn luyện, vector của đoạn văn (paragraph) và vector từ
đều đƣợc cập nhật.
Đối với Doc2vec ngoài từ ta còn có thể biểu diễn các câu thậm chí là một đoạn
văn bản. Khi đó, có thể dễ dàng vector hóa cả một đoạn văn bản thành một vector có
số chiều cố định và nhỏ, từ đó có thể chạy bất cứ thuật toán phân loại cơ bản nào trên
các vector đó [40].
23
Hình 1.10. Mô hình bộ nhớ phân tán cho việc học vector đoạn[35]
1.4. TÍNH ĐỘ TƢƠNG ĐỒNG VĂN
Các phép đo độ tƣơng tự giữa văn bản và văn bản đã đƣợc nghiên cứu trong các
ứng dụng của xử lý ngôn ngữ tự nhiên và các lĩnh vực liên quan. Ứng dụng sớm nhất
của độ tƣơng tự văn bản là tìm kiếm thông tin, ở đó các tài liệu có liên quan tới câu
truy vấn đƣợc xếp hạng theo thứ tự của độ tƣơng tự. Ngoài ra, độ tƣơng tự văn bản còn
đƣợc dùng cho phân lớp văn bản, trích chọn hay tóm tắt văn bản, phƣơng pháp cho
đánh giá dịch máy tự động hay đánh giá tính chặt chẽ của văn bản.
1.4.1. Khái niệm độ tƣơng đồng
Độ tƣơng đồng là một đại lƣợng dùng để so sánh hai hay nhiều đối tƣợng với
nhau, phản ánh cƣờng độ của mối quan hệ giữa các đối tƣợng với nhau. Ví dụ: xét 2
câu “Tôi là nam” và “Tôi là nữ”, ta có thể nhận thấy hai câu trên có sự tƣơng đồng khá
cao [4].
Phát biểu bài toán tính độ tƣơng đồng nhƣ sau:
Xét 2 văn bản di và dj. Mục tiêu là tìm ra một giá trị S(di,dj), Se (0,1), thể hiện
độ tương đồng giữa 2 văn bản di và dj. Giá trị càng cao thì sự giống nhau về nghĩa của
hai văn bản càng nhiều.
Ví dụ trong mô hình không gian vector, ta sử dụng độ đo Cosine để tính độ
tƣơng đồng giữa hai văn bản, mỗi văn bản đƣợc biểu diễn bởi một vector.
Độ tƣơng tự ngữ nghĩa là khái niệm thể hiện tỷ lệ dựa trên sự giống nhau về nội
dung ý nghĩa của tập các tài liệu hoặc các thuật ngữ trong một danh sách các thuật ngữ
[6]. Độ tƣơng đồng ngữ nghĩa phản ánh mối quan hệ ngữ nghĩa giữa các câu, các tài
liệu văn bản.
1.4.2. Độ tƣơng đồng văn bản dựa trên tập từ chung
24
1.4.2.1. Khoảng cách Jaro
Khoảng cách Jaro định nghĩa độ đo tƣơng tự giữa hai chuỗi. Cho hai câu s1 và
s2, khoảng cách Jaro d giữa s1 và s2 đƣợc tính nhƣ sau [11]:
1 2
1
3
m m m t
d
s s m
 

  
 
 
 
Trong đó m là số từ giống nhau, t là ½ số bƣớc chuyển.
Phép chuyển vị trí sẽ đƣợc thực hiện khi hai từ giống nhau trong hai câu s1 và s2
có khoảng cách không lớn hơn giá trị:
 
1 2
max ,
1
2
s s

Mỗi từ trong câu s1 đƣợc so sánh với tất cả các từ trong s2. Số bƣớc chuyển
đƣợc định nghĩa là số lƣợng từ giống nhau giữa hai câu (nhƣng thứ tự trong chuỗi khác
nhau) chia cho 2.
1.4.2.2. Mô hình tương phản (Contrast model)
Mô hình tƣơng phản do Tversky đề xuất (“Features of similarity”,
Psychological Review, 1977) để tính độ tƣơng tự giữa hai câu A và B nhƣ sau:
sim(A,B) *g(A B) *g(A B) * (B A)
g
  
     
Trong đó g(A B)
 biểu diễn cho các từ chung A và B, g(A-B) biểu diễn cho
các từ riêng của A và g(B-A) biểu diễn cho các từ riêng của B. Hệ số    đƣợc xác
định trong quá trình thử nghiệm thuật toán.
1.4.2.3. Hệ số Jaccard
Hệ số Jaccard là một độ đo tƣơng tự của các tập hợp dựa trên phƣơng pháp
thống kê. Theo đó, độ tƣơng tự giữa hai câu A và B nhƣ sau [9] :
1.4.3. Độ tƣơng đồng văn bản dựa trên vector biểu diễn
1.4.3.1. Độ tương đồng cosine
(A,B)
A B
sim
A B



25
Trong phƣơng pháp này, các văn bản đƣợc biểu diễn theo mô hình không gian
vector, mỗi thành phần của vector chỉ đến một từ tƣơng ứng trong danh sách mục từ đã
thu đƣợc từ quá trình tiền xử lý văn bản đầu.
Không gian vector hay số chiều của vector có kích thƣớc bằng số mục từ trong
danh sách mục từ. Giá trị mỗi phần tử của vector là độ quan trọng của mục từ trong
câu. Độ quan trọng của từ đƣợc tính theo một trong các phƣơng pháp đã trình bày ở
trên, phần mô hình vector biểu diễn văn bản, ví dụ:
ij
ij 2
ij
W
j
tf
tf


Giả sử vector biểu diễn cho hai văn bản lần lƣợt có dạng:
Di = <wi
1, ..., wi
1> với wi
t là trọng số của từ thứ t trong không gian vector i
Dj = <wj
1, …, wj
t> với wj
t là trọng số của từ thứ t trong không gian vector j.
Độ đo tƣơng đồng đƣợc tính là Cosine của góc giữa hai vector biểu diễn cho hai
văn bản Di và Dj. Độ tƣơng tự của chúng đƣợc tính theo công thức:
1
ij 2 2
1 1
( )
(w ) * (w )
t i j
k k k
t i t j
k k k k
w w
Sim D 
 


 
Nhân xét: Vector biểu diễn cho các câu chƣa quan tâm đến mối quan hệ ngữ
nghĩa giữa các từ mục, do đó các từ đồng nghĩa sẽ không đƣợc phát hiện, kết quả tính
độ tƣơng tự chƣa cao.
1.4.3.2. Độ tương đồng dựa vào khoảng cách Euclide
Khoảng cách Euclide cũng là một phƣơng pháp khá phổ biến để xác định mức
độ tƣơng đồng giữa các vector đặc trƣng của hai văn bản [3].
Cho hai vector a
v và b
v khoảng cách Euclide đƣợc định nghĩa nhƣ sau:
2
1
( , ) (w w )
_
n
ai bi
i
a b
v v
E Dist

 

Mức độ tƣơng đồng giữa hai vector đƣợc xác định bằng công thức:
1
1 2
( , )
( , ) ( )
_ w
1 1 w
_ n
a i
n i b
i
a b
a b
v v
v v
E sim
n
E Dist


    
1.4.3.3. Độ tương đồng dựa vào khoảng cách Manhattan
26
Khoảng cách Manhattan là phƣơng pháp tính độ tƣơng đồng giữa các vector
đặc trƣng biểu diễn cho hai văn bản [2].
Cho hai vector a
v và b
v khoảng cách Euclide đƣợc định nghĩa nhƣ sau:
1
( , ) w w
man_dist
n
ai bi
i
a b
v v

 

Mức độ tƣơng đồng giữa hai vector đƣợc xác định bằng công thức:
1
1
( , )
( , )
_dist
w w
man_ 1 1
n
ai bi
i
n
a b
a b
v v
v v
man
sim
n 

    
1.4.4. Độ tƣơng đồng văn bản trong tiếng Việt
Thông thƣờng khi đánh giá độ tƣơng tự văn bản, chúng ta cần phân tích văn bản
thành các đơn vị nhỏ hơn và thực hiện đánh giá dựa trên các đơn vị này. Một số bộ
công cụ tách từ tiếng Việt nhƣ vnTokenizer, JvnTextPro đã đƣợc xây dựng và cho kết
quả khả quan có thể sử dụng làm bƣớc tiền xử lý cho hệ thống so sánh văn bản. Sau
khi tách từ, mỗi văn bản Ti sẽ đƣợc biểu diễn bằng một vector các từ có dạng: Ti =
{w1, w2,..., wni} với n là số từ tách đƣợc của Ti.
Trong nhiều trƣờng hợp, độ tƣơng tự giữa hai đoạn văn bản có thể xác định dựa
trên so khớp từ đơn giản, điểm tƣơng tự đƣợc xác định dựa trên số đơn vị từ vựng xuất
hiện ở cả hai đoạn văn bản đầu vào.
Các phƣơng pháp đánh giá độ tƣơng tự văn bản chủ yếu dựa trên hai yếu tố [3] :
- Đánh giá độ tƣơng tự ngữ nghĩa giữa các từ: Một số phƣơng pháp sử dụng
mạng từ (WordNet), một số khác dựa trên kho ngữ liệu Web hoặc dựa trên phân tích
ngữ nghĩa ẩn.
- Đánh giá độ tƣơng tự theo trật tự của từ trong văn bản.
Đánh giá về độ tƣơng tự ngữ nghĩa của từ đƣợc dùng để tạo ra các vector đặc
trƣng ngữ nghĩa của văn bản. Vector đặc trƣng này sử dụng các công thức trong mục
1.4.2 cho ta một phép đo độ tƣơng tự giữa hai văn bản tƣơng ứng.
1.4.4.1. Độ tương tự ngữ nghĩa từ - từ
a) Độ tương tự ngữ nghĩa từ - từ dựa trên WordNet
Wordnet là cơ sở dữ liệu tri thức từ vựng đƣợc thiết kế dựa trên những lý
thuyết về ngôn ngữ tâm lý theo cách liên tƣởng từ ngữ của con ngƣời. WordNet đƣợc
tổ chức dựa theo các quan hệ ngữ nghĩa. Một quan hệ ngữ nghĩa là một quan hệ giữa
27
các nghĩa. Một từ có thể có nghiều nghĩa và khi đó mỗi nghĩa sẽ thuộc vào những tập
đồng nghĩa khác nhau. Ngƣợc lại, mỗi tập đồng nghĩa lại có thể chứa một hoặc nhiều
hơn các từ khác nhau. Khi đó quan hệ ngữ nghĩa có thể đƣợc xem nhƣ là con trỏ giữa
các tập đồng nghĩa [14].
b) Độ tương tự ngữ nghĩa từ - từ dựa trên ngữ liệu
Độ tƣơng tự ngữ nghĩa dựa trên tập ngữ liệu (corpus) xác định mức độ tƣơng tự
về mặt ngữ nghĩa giữa các từ sử dụng thông tin xuất phát từ tập ngữ liệu lớn. Một số
phƣơng pháp xác định nhƣ sau:
- PMI (Pointwise Mutual Information) - thông tin chung dựa trên điểm
PMI đƣợc đƣa ra bởi Turney 2001 nhƣ một độ đo không giám sát để đánh giá
độ tƣơng tự ngữ nghĩa của từ. PMI sử dụng dữ liệu đã tập hợp từ việc tìm kiếm thông
tin (PMI-IR), dựa trên hiện tƣợng đồng xảy ra của các từ trên tập ngữ liệu lớn để xác
định độ tƣơng tự cho 2 từ w1 và w2 nhƣ sau:
1 2
1 2
1 2
(w ,w )
(w ,w ) log
(w )*p(w )
p
PMI
p

- LSA (Latent Semantic Analysis) - phân tích ngữ nghĩa ẩn
• Xây dựng ma trận T (ma trận từ - tài liệu) thể hiện tập ngữ liệu.
• Giảm số chiều SVD
Trong đó SVD có thể đƣợc xem là cách khắc phục một số hạn chế của mô hình
không gian vector chuẩn nhƣ số chiều cao, giúp cho LSA đƣợc tính với số chiều thấp
hơn và mối quan hệ giữa từ - văn bản đƣợc khai thác. Độ tƣơng tự trong không gian
kết quả đƣợc đo bằng độ tƣơng tự Cosine. Ngoài ra, LSA cũng sinh ra một mô hình
không gian vector thể hiện sự đồng nhất giữa các từ, cụm từ và các văn bản.
1.4.4.2. Độ tương tự ngữ nghĩa của văn bản
Việc đánh giá độ tƣơng tự ngữ nghĩa giữa hai văn bản trong đa số các nghiên
cứu sử dụng vector đặc trƣng cho ngữ nghĩa của văn bản. Mỗi thành phần trong vector
này đƣợc thiết lập từ việc tính độ tƣơng tự của một từ trong văn bản với các từ trong
văn bản còn lại, trọng số của thành phần là độ đo tƣơng tự lớn nhất [3].
Giả sử cho hai văn bản (đã đƣợc tách từ vựng) nhƣ sau:
T1 = { w11, w12, ..., w1m1}
T2 = { w21 ,w22, .., w2m2 }
28
Trong đó :
wij là từ thứ j trong văn bản di (i=i,2)
mi là số lƣợng từ vựng tách đƣợc của văn bản Ti.
Tập các từ không giống nhau của cả hai văn bản là:
T = Ti  T2 = { wi, w2, ..., wm }
Vector đặc trƣng ngữ nghĩa cho văn bản Ti, ký hiệu V1 = (v11, v12, ..., v1m) đƣợc
xây dựng nhƣ sau:
- Xét lần lƣợt từng từ wi T, tính độ tƣơng tự ngữ nghĩa với mỗi từ trong T1, độ
đo tƣơng tự lớn nhất đƣợc đƣa vào thành phần v1i tƣơng ứng trong V1.
V1i = max{ sim(wi, w1j) | j =1..mi }, với i=1..m
- Độ tƣợng tự ngữ nghĩa của hai văn bản đƣợc tính dựa trên hai vector đặc trƣng
ngữ nghĩa tƣơng ứng. Hệ số cosin là một trong các độ đo hay đƣợc sử dụng để tính độ
tƣơng tự này:
1 2
1 2 1
1 2
2 2
1 2
1 2 1 2
1 1
.
.
(T ,T )
.
m
i i
i
m m
i i i i
i i
v v
V V
simS
V V v v v v

 
 

 
Để tính toán độ tƣơng tự (sim) giữa hai từ, trong tiếng Anh ngƣời ta có thể dựa
vào mạng từ WordNet, tuy nhiên với tiếng Việt mạng từ chƣa đƣợc xây dựng đầy đủ
nên một phƣơng án là sử dụng công cụ dịch từ tiếng Việt ra tiếng Anh, sau đó đánh giá
độ tƣơng tự đối với cặp từ tiếng Anh bằng mạng WordNet nhƣ trong đề tài của tác giả
Dƣơng Thăng Long [1]. Một số nghiên cứu khác sử dụng phƣơng pháp phân tích ngữ
nghĩa ẩn LSA hay PMI để đo độ tƣơng tự của từ dựa trên tập ngữ liệu.
1.4.4.3. Độ tương tự về thứ tự của từ trong văn bản
Một yếu tố quan trọng ảnh hƣởng đến độ tƣơng tự của văn bản là thứ tự của từ.
Cùng một một tập từ vựng giống nhau trong các văn bản nhƣng khác nhau về vị trí có
thể có ý nghĩa hoàn toàn khác nhau.
Ví dụ cho hai câu:
T1 = {con_trâu, húc, con_bò}
T2 = {con_bò, húc, con_trâu}
Hai câu trên cùng chứa một tập các từ giống nhau và gần giống nhau về thứ tự
từ, chỉ sai khác thứ tự của cặp từ “con_trâu và “con_bò”. Nếu chỉ dựa trên độ tƣơng tự
29
ngữ nghĩa của văn bản thì hai văn bản nếu cùng chứa một tập từ giống nhau sẽ cho kết
quả là hoàn toàn giống nhau, có nghĩa là sim(T1,T2)=1. Tuy nhiên, hai câu trên có ý
nghĩa không giống nhau, sự khác nhau của hai câu chính là do sự sai khác về vị trí của
các từ trong câu.
Theo tác giả Dƣơng Thăng Long [1] trong đề tài nghiên cứu của mình đã đƣa ra
phƣơng pháp đánh giá độ tƣơng tự của văn bản dựa trên thứ tự của từ nhƣ sau:
- Với mỗi cặp văn bản T1 và T2, xác định tập các từ vựng phân biệt của cả hai
văn bản T = T1  T2.
- Vector đặc trƣng thứ tự từ của hai văn bản, kí hiệu R1 = (r11, r12, ..., r1m) và R2
= (r21, r22, ..., r2m), đƣợc tính dựa trên tập T.
+ Vector thứ tự từ biểu diễn thứ tự của mỗi từ thuộc T nằm ở vị trí nào trong
văn bản tƣơng ứng.
+ Với mỗi từ wi  T, tìm một từ đúng hoặc gần nghĩa nhất trong T1 để xác
định trọng số cho phần tử r1i trong R1 theo một trong ba trƣờng hợp sau:
• Nếu từ wi có trong T1 thì r1i là số thứ tự của từ đó trong T1.
• Tìm từ trong T1 gần nghĩa nhất với wi, sử dụng phƣơng pháp đo độ
tƣơng tự ngữ nghĩa giữa hai từ. Nếu độ đo này vƣợt ngƣỡng  cho trƣớc thì r1i
là số thứ tự của từ đó trong T1.
• Nếu không tìm thấy hoặc độ tƣơng tự giữa từ các trong T1 và wi không
vƣợt ngƣỡng thì đặt r1i là  .
Vector đặc trƣng thứ tự của từ biểu diễn thông tin về cấu trúc của từ trong văn
bản. Mức độ giống nhau về cấu trúc của hai văn bản đƣợc tính toán dựa trên vector đặc
trƣng thứ tự từ bằng công thức sau:
2
1 2
1 2 1
2
1 2
1 2
1
( )
1 1
( )
m
i i
i
m
i i
i
r r
R R
simR
R R r r




   
 


1.4.4.4. Kết hợp giữa các độ đo để đánh giá độ tương tự giữa hai văn bản
Trong các phân tích ở trên, độ tƣơng tự ngữ nghĩa thể hiện phép đo dựa trên
nghĩa từ vựng, còn độ tƣơng tự cấu trúc của từ thể hiện mối quan hệ về thứ tự giữa các
từ, các từ đứng trƣớc hoặc sau các từ khác. Cả hai độ tƣơng tự này đều có vai trò quan
trọng trong xác định độ tƣơng tự của văn bản. Do đó, để đo sự tƣơng tự của các văn
30
bản cần phải kết hợp của hai loại độ đo trên, độ tƣơng tự về ngữ nghĩa và độ tƣơng tự
về thứ tự các từ trong văn bản. Biểu thức kết hợp giữa hai độ đo có dạng [3].
sim = a*simS + b*simR với a+ b = 1
Việc xác định bộ trọng số của mỗi độ đo tƣơng tự (a,b) chƣa có một công thức
chung nào, chỉ có thể sử dụng phƣơng pháp quan sát và thử nghiệm qua các dữ liệu
thực tế để có lựa chọn tốt nhất cho hệ thống. Phƣơng án cân bằng các tiêu chí là một
lựa chọn, trong đó trọng số của các tiêu chí kết hợp có giá trị giống nhau, tức là a = 0.5
và b = 0.5.
1.5. CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN
1.5.1. Phƣơng pháp Naive Bayes
Đây là thuật toán đƣợc xem là đơn giản nhất trong các phƣơng pháp. Bộ phân
lớp Bayes có thể dự báo các xác suất là thành viên của lớp, chẳng hạn xác suất mẫu
cho trƣớc thuộc về một lớp xác định. Chúng giả định các thuộc tính là độc lập nhau
(độc lập điều kiện lớp) [16] .
Thuật toán Naive Bayes dựa trên định lý Bayes đƣợc phát biểu nhƣ sau:
( ). ( )
( )
( )
P X Y P Y
P Y X
P Y

Trong đó:
• Y đại diện một giả thuyết, giả thuyết này đƣợc suy luận khi có đƣợc chứng
cứ mới X.
• P(X): xác suất X xảy ra (Xác suất biên duyên của X).
• P(Y): xác suất Y xảy ra (Điều kiện tiên nghiệm của Y).
• P(X|Y): xác suất X xảy ra khi Y xảy ra (xác suất có điều kiện, khả năng của
X khi Y đúng).
• P(Y|X): xác suất hậu nghiệm của Y nếu biết X.
Áp dụng trong bài toán phân loại, các dữ kiện cần có :
• D: tập dữ liệu huấn luyện đã đƣợc vector hoá dƣới dạng x = (x1x0,...,xn)
• Ci : tập các tài liệu của D thuộc lớp Ci với i={1,2,3,...}
• Các thuộc tính x1 ,x2,.. .xn độc lập xác suất đôi một với nhau.
Theo định lý Bayes :
31
( ) ( )
( )
( )
i i
i
P X C P C
P C X
P x

Theo tính chất độc lập điều kiện:
1 2
1
( ) ( ) ( ) ( )... ( )
n
i k i i i n i
k
P X C P x C P x C P x C P x C

 

Khi đó, luật phân lớp cho các tài liệu mới Xnew
= {x1 ,x2… xn} là:
1
max ( ) ( )
n
i i i
k
P C P x C

 
 
 

Trong đó:
( )
i
P C : đƣợc tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện.
( )
i i
P x C : đƣợc tính từ những tập thuộc tính đã đƣợc tính trong quá trình huấn
luyện.
1.5.2. Phƣơng pháp k–Nearest Neighbor(KNN)
Thuật toán phân lớp là một phƣơng pháp truyền thống và khá nổi tiếng trong
hƣớng tiếp cận dựa trên thống kê, đã đƣợc nghiên cứu trong nhận dạng mẫu trong vài
thập kỷ gần đây. Nó đƣợc đánh giá là một trong những phƣơng pháp tốt nhất và đƣợc
sử dụng ngay từ những thời kỳ đầu của phân lớp văn bản .
Muốn phân lớp một văn bản mới, thuật toán KNN sẽ tính khoảng cách (Euclide,
Cosine ...) của văn bản này đến các văn bản trong tập huấn luyện và chọn ra k văn bản
có khoảng cách gần nhất, còn gọi là k “láng giềng”. Dùng các khoảng cách vừa tính
đƣợc đánh trọng số cho các chủ đề đã có. Trọng số của một chủ đề sẽ đƣợc tính bằng
tổng các khoảng cánh từ văn bản cần phân lớp đến các văn bản trong k láng giềng mà
có cùng chủ đề đó. Những chủ đề không xuất hiện trong tập k văn bản sẽ có trọng số
bằng 0. Các chủ đề đƣợc sắp xếp theo độ giảm dần của các trọng số và chủ đề nào có
trọng số cao sẽ là chủ đề cho văn bản cần phân lớp.
Công thức
Trọng số của chủ đề cj đối với văn bản x :
, ( ). ( , )
( ) ,
i
i
j i j j
d KNN
W c sim d y d c b
x x

 

Trong đó:
-  
( , ) 0,1
i j
y d c  với
32
+ y=0 : văn bản di không phụ thuộc chủ đề cj
+ y=1 : văn bản di thuộc về chủ đề cj
- ,
( )
i
sim d
x độ giống nhau giữa văn bản cần phân loại x và văn bản di.
Sử dụng độ đo cosin để tính ,
( )
i
sim d
x :
.
,
( ) cos( )
.
, i
i i
i
x
x x
d
si d
x
m d
d
 
- j
b là ngƣỡng phân loại chủ đề cj, đƣợc tự động học sử dụng một tập văn
bản hợp lệ chọn ra từ tập huấn luyện.
Khi số văn bản trong tập văn bản láng giềng càng lớn thì thuật toán càng
ổn định và sai sót thấp.
1.5.3. Phƣơng pháp cây quyết định
Khái niệm: Cây quyết định (Decision Tree) là một mô hình thuộc nhóm thuật
toán học có giám sát. Cây quyết định là một công cụ phổ biến trong phân loại văn bản.
Đặc điểm của cây quyết định là một cây có cấu trúc kiểu lƣu đồ, trong đó:
- Gốc: Là nút trên cùng của cây
- Nút trong: Biểu diễn một kiểm tra trên một thuộc tính đơn (hình oval)
- Nhánh: Biểu diễn các kết quả của kiểm tra trên nút.
- Nút lá: Biểu diễn lớp hay sự phân phối lớp (hình vuông hoặc chữ nhật)
Ví dụ: Câu hỏi có chơi tennis hay không? Quyết định đƣa ra dựa trên các yếu tố
về thời tiết: outlook, humidity, wind.
33
Hình 1.11. Ví dụ về cây quyết định [15]
Các độ đo trong thuật toán
Entropy: Đặc trƣng cho độ hỗn tạp của (tinh khiết) của một tập bất kỳ
các mẫu thử.
( )
Entropy S  2
1
log
c
i i
i
p p



Trong đó :
- S : Tập các mẫu thử (tập huấn luyện)
- c : Là phân lớp trong mẫu thử
- Pi : Xác suất (tỉ lệ) các mẫu thử thuộc phân lớp Ci
Information Gain: đo sự giảm sút mong muốn của Entropy gây ra bởi một thuộc
tính A.
 
,
Gain S A = ( )
Entropy S -
 
v
Entr )
py S
(
o
Value A
v
v
s
s


- Value(A) : Tập các giá trị có thể cho thuộc tính A.
- Sv : Tập con của s mà A nhận giá trị V.
1.5.4. Phƣơng pháp mạng Nơron nhân tạo
Mạng Nơron nhân tạo là một hệ thống bao gồm nhiều phần tử xử lý đơn giản
(hay còn gọi là Nơron) tựa nhƣ Nơron thần kinh của não ngƣời, hoạt động song song
34
và đƣợc nối với nhau bởi các liên kết Nơron. Mỗi liên kết kèm theo một trọng số nào
đó, đặc trƣng cho tính kích hoạt hoặc ức chế giữa các Nơron [2].
Có thể xem các trọng số là phƣơng tiện để lƣu trữ thông tin dài hạn trong mạng
Nơron và nhiệm vụ của quá trình huấn luyện của mạng là cập nhật các trọng số khi có
thêm thông tin về mẫu học. Hay nói một cách khác, các trọng số đều đƣợc điều chỉnh
sao cho dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trƣờng
đang xem xét.
.
Hình 1.12. Sơ đồ đơn giản mạng Nơron nhân tạo [2]
Mô hình mạng Nơron ở trên gồm 3 lớp: Lớp nhập (input), lớp ẩn(hidden) và lớp
xuất (output). Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào
mạng.
Dữ liệu từ tất cả các nút trong lớp nhập đƣợc tích hợp - ta gọi là tổng trọng số -
và chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp này chỉ
liên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có ngƣời thiết kế mạng mới biết
lớp này (ngƣời sử dụng không biết lớp này).
Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn.
Mỗi nút trong lớp xuất tƣơng ứng với một biến phụ thuộc.
Kiến trúc mạng Nơron:
Về cơ bản ta có thể hiểu mạng Nơron là một đồ thị có hƣớng nhƣ hình 1.13
Trong đó các đỉnh của đồ thị là các Nơron và các cạnh của đồ thị là các liên kết
giữa các Nơron
35
Hình 1.13. Sơ đồ đồ thị có hướng đơn giản [2]
Vì vậy để xây dựng một mạng Nơron ta xây dựng một đồ thị có hƣớng: Số đỉnh
của đồ thị bằng số Nơron trong mạng, giá trị của các cạnh chính là trọng số liên kết
Nơron. Ví dụ xây dựng một mạng Nơron đơn giản:
Đầu vào: Cho :
- Mạng Nơron có số lớp (với số lớp>1).
- Mỗi lớp có số Nơron trong một lớp (số Nơron>=1).
- Trọng số w liên kiết Nơron ngẫu nhiên trong khoảng (-a,a).
Đầu ra: Mạng nơron nhân tạo.
- Kiểu dữ liệu: chọn lƣu dữ kiểu mảng :
Int số lớp;
int số nơron[số lớp];
float w[i][j][k]; với 2<=i<=số lớp, 1<=j,k<=số nơron[] ,
1.5.5. Phƣơng pháp Support Vector Machines (SVM)
Máy sử dụng vector hỗ trợ(SVM) đƣợc Cortess và Vapnik giới thiệu năm 1995,
là phƣơng pháp tiếp cận phân lớp hiệu quả để giải quyết vấn đề nhận dạng mẫu 2 lớp
sử dụng nguyên lý cực tiểu hóa rủi ro có cấu trúc (Structural Risk Minimization) [10]
Trong không gian vector cho trƣớc một tập huấn luyện đƣợc biểu diễn trong đó
mỗi tài liệu là một điểm, thuật toán SVM sẽ tìm ra một siêu mặt phẳng h quyết định tốt
nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tƣơng ứng lớp +
và lớp -. Chất lƣợng của siêu mặt phẳng phân cách này đƣợc quyết định bởi khoảng
cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng
cách biên càng lớn thì mặt phẳng quyết định càng tốt và việc phân lớp càng chính
36
xác. Mục đích thuật toán SVM là tìm đƣợc khoảng cách biên lớn nhất. Hình sau minh
họa cho thuật toán này:
Hình 1.14. Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với
khoảng cách biên lớn nhất [10].
Công thức
Phƣơng trình siêu mặt phẳng chứa vector d trong không gian:
i
d .w b 0
 
Đặt
i
i i
i
+1, khi d .w b 0
(d ) sign(d .w b)
-1, khi d .w b
h
0
  

   
 


Từ đó, i
h(d )biễu diễn sự phân lớp của i
d vào hai lớp nói trên.
Có i
y { 1}
  , thì với yi =+1 thì văn bản d  lớp “+”; với yi = -1 thì văn bản d
 lớp “-”, lúc này muốn có siêu mặt phẳng h, ta sẽ giải bài toán sau:
Tìm Min w trong đó w và b thỏa mãn điều kiện
i i
i 1,n : y (sign(d .w b)) 1
   
Khi đó ta có thể sử dụng toán tử Lagrange biến đổi thành dạng thức để giải bài
toán.
Ở phƣơng pháp SVM, mặt phẳng quyết định chỉ phụ thuộc vào các điểm gần nó
nhất (vector hỗ trợ - support vector) mà có khoảng cách đến nó là:
1
w
. Khi các điểm
khác bị xóa đi thì vẫn không ảnh hƣởng đến kết quả ban đầu.
37
1.6. CHATBOT
1.6.1. Khái niệm
Chatbot là một chƣơng trình máy tính có khả năng giao tiếp với con ngƣời bằng
cách đƣa ra câu trả lời cho các câu hỏi và thực hiện cuộc trò chuyện bằng cách sử dụng
xử lý ngôn ngữ tự nhiên. Con ngƣời đƣa vào lời nói hoặc văn bản ngôn ngữ tự nhiên,
trong khi chƣơng trình chatbot sẽ đƣa ra phản hồi thông minh phù hợp nhất dƣới dạng
văn bản hoặc lời [5].
Cuộc trò chuyện có thể đƣợc bắt đầu bởi ngƣời dùng hoặc bởi chatbot. Quá
trình giao tiếp bắt đầu khi ngƣời dùng nhập câu hỏi hoặc câu dƣới dạng lời nói hoặc
văn bản cho chƣơng trình. Sau đó, đầu vào của ngƣời dùng đƣợc phân tích cho các từ
khóa hoặc cụm từ mà nó chứa và câu trả lời đƣợc lập trình phù hợp nhất từ cơ sở dữ
liệu chatbot. Quá trình kết thúc sau khi đầu ra đƣợc trình bày cho ngƣời dùng bằng đồ
họa hoặc bằng lời nói.
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
chatbot đƣợ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 chatbot thƣờng
đƣợc chia thành hai loại: âm thanh và tin nhắn. Các chatbot đƣợ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.
Dữ liệu vào của
ngƣời dùng
Dữ liệu của chatbot
Từ khóa hoặc cụm từ
đƣợc trích xuất
Chọn câu trả lời phù
hợp nhất
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf
NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf

Weitere ähnliche Inhalte

Was ist angesagt?

Phân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty Bluesky
Phân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty BlueskyPhân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty Bluesky
Phân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty BlueskyDịch vụ Làm Luận Văn 0936885877
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...Dịch vụ Làm Luận Văn 0936885877
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Dịch vụ Làm Luận Văn 0936885877
 
Nhập môn công nghệ thông tin
Nhập môn công nghệ thông tinNhập môn công nghệ thông tin
Nhập môn công nghệ thông tinThanh Lee
 
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...https://www.facebook.com/garmentspace
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITNguynMinh294
 
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍLuận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍViết thuê trọn gói ZALO 0934573149
 
Báo cáo quản lý cửa hàng máy tính
Báo cáo quản lý cửa hàng máy tínhBáo cáo quản lý cửa hàng máy tính
Báo cáo quản lý cửa hàng máy tínhthuvienso
 
Giáo trình Phân tích, thiết kế hệ thống thông tin
Giáo trình Phân tích, thiết kế hệ thống thông tinGiáo trình Phân tích, thiết kế hệ thống thông tin
Giáo trình Phân tích, thiết kế hệ thống thông tinKien Thuc
 
Tong quan ve phan cum data mining
Tong quan ve phan cum   data miningTong quan ve phan cum   data mining
Tong quan ve phan cum data miningHoa Chu
 

Was ist angesagt? (20)

Luận văn: Xây dựng website quản lý nhà hàng, HOT
Luận văn: Xây dựng website quản lý nhà hàng, HOTLuận văn: Xây dựng website quản lý nhà hàng, HOT
Luận văn: Xây dựng website quản lý nhà hàng, HOT
 
Phân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty Bluesky
Phân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty BlueskyPhân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty Bluesky
Phân tích thiết kế hệ thống thông tin quản lý khách hàng tại công ty Bluesky
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Đề tài: Xây dựng phần mềm quản lý thông tin nhân sự ĐH Hải Phòng
Đề tài: Xây dựng phần mềm quản lý thông tin nhân sự ĐH Hải PhòngĐề tài: Xây dựng phần mềm quản lý thông tin nhân sự ĐH Hải Phòng
Đề tài: Xây dựng phần mềm quản lý thông tin nhân sự ĐH Hải Phòng
 
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
Phân tích thiết kế hệ thống thông tin bán hàng cho công ty phần mềm quản trị ...
 
Luận văn: Bài toán nhận dạng biển số xe, HAY
Luận văn: Bài toán nhận dạng biển số xe, HAYLuận văn: Bài toán nhận dạng biển số xe, HAY
Luận văn: Bài toán nhận dạng biển số xe, HAY
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
 
Nhập môn công nghệ thông tin
Nhập môn công nghệ thông tinNhập môn công nghệ thông tin
Nhập môn công nghệ thông tin
 
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
 
Luận văn: Ứng dụng công nghệ thông tin tại các Sở trong hiện đại hóa
Luận văn: Ứng dụng công nghệ thông tin tại các Sở trong hiện đại hóaLuận văn: Ứng dụng công nghệ thông tin tại các Sở trong hiện đại hóa
Luận văn: Ứng dụng công nghệ thông tin tại các Sở trong hiện đại hóa
 
Đề tài: Chương trình quản lý bệnh nhân tại bệnh viện Tâm Phúc
Đề tài: Chương trình quản lý bệnh nhân tại bệnh viện Tâm PhúcĐề tài: Chương trình quản lý bệnh nhân tại bệnh viện Tâm Phúc
Đề tài: Chương trình quản lý bệnh nhân tại bệnh viện Tâm Phúc
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTIT
 
Luận văn: Hệ thống quản lý, hỗ trợ yêu cầu phần mềm, HAY
Luận văn: Hệ thống quản lý, hỗ trợ yêu cầu phần mềm, HAYLuận văn: Hệ thống quản lý, hỗ trợ yêu cầu phần mềm, HAY
Luận văn: Hệ thống quản lý, hỗ trợ yêu cầu phần mềm, HAY
 
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍLuận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
Luận văn: Xây dựng chương trình quản lý chấm công RẤT HAY, MIỄN PHÍ
 
Báo cáo quản lý cửa hàng máy tính
Báo cáo quản lý cửa hàng máy tínhBáo cáo quản lý cửa hàng máy tính
Báo cáo quản lý cửa hàng máy tính
 
Giáo trình Phân tích, thiết kế hệ thống thông tin
Giáo trình Phân tích, thiết kế hệ thống thông tinGiáo trình Phân tích, thiết kế hệ thống thông tin
Giáo trình Phân tích, thiết kế hệ thống thông tin
 
Đề tài: Ứng dụng công nghệ thông tin trong điều hành công việc
Đề tài: Ứng dụng công nghệ thông tin trong điều hành công việcĐề tài: Ứng dụng công nghệ thông tin trong điều hành công việc
Đề tài: Ứng dụng công nghệ thông tin trong điều hành công việc
 
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đĐề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
 
Tong quan ve phan cum data mining
Tong quan ve phan cum   data miningTong quan ve phan cum   data mining
Tong quan ve phan cum data mining
 

Ähnlich wie NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf

Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...
Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...
Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...Dịch vụ viết bài trọn gói ZALO: 0936 885 877
 
VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...
VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...
VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...Dịch vụ viết bài trọn gói ZALO: 0936 885 877
 
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...luanvantrust
 
đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...
đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...
đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...TÀI LIỆU NGÀNH MAY
 
SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...
SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...
SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...Nguyen Thanh Tu Collection
 
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...Man_Ebook
 

Ähnlich wie NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf (20)

Luận án: Phát triển một số phương pháp xây dựng hệ tư vấn
Luận án: Phát triển một số phương pháp xây dựng hệ tư vấnLuận án: Phát triển một số phương pháp xây dựng hệ tư vấn
Luận án: Phát triển một số phương pháp xây dựng hệ tư vấn
 
Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...
Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...
Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...
 
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
 
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
 
Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...
Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...
Luận Văn Nâng Cao Hiệu Quả Hoạt Động Kinh Doanh Ví Điện Tử Ví Việt Của Ngân H...
 
Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệm trong họ...
Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệm trong họ...Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệm trong họ...
Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệm trong họ...
 
Luận văn: Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệ...
Luận văn: Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệ...Luận văn: Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệ...
Luận văn: Rèn luyện cho sinh viên kỹ năng thiết kế và sử dụng thí nghiệ...
 
Luận văn: Xây dựng hệ thống dịch tự động giúp dự báo thời tiết, HAY
Luận văn: Xây dựng hệ thống dịch tự động giúp dự báo thời tiết, HAYLuận văn: Xây dựng hệ thống dịch tự động giúp dự báo thời tiết, HAY
Luận văn: Xây dựng hệ thống dịch tự động giúp dự báo thời tiết, HAY
 
Phân loại giới tính người dùng mạng xã hội dựa vào tin nhắn văn bản
Phân loại giới tính người dùng mạng xã hội dựa vào tin nhắn văn bảnPhân loại giới tính người dùng mạng xã hội dựa vào tin nhắn văn bản
Phân loại giới tính người dùng mạng xã hội dựa vào tin nhắn văn bản
 
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợpLuận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
 
VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...
VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...
VẤN ĐỀ TIẾP CẬN VÀ XỬ LÝ THÔNG TIN CỦA NHÀ BÁO TRONG LĨNH VỰC QUẢN LÝ XÂY DỰN...
 
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
 
Đề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOT
Đề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOTĐề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOT
Đề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOT
 
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
 
đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...
đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...
đáNh giá hiện trạng môi trường không khí và đề xuất biện pháp giảm thiểu ô nh...
 
SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...
SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...
SÁNG KIẾN TỔ CHỨC CÁC TRÒ CHƠI TRONG DẠY HỌC CHƯƠNG IV – VECTƠ (TOÁN 10 – KẾT...
 
Chế tạo Rectenna công suất lớn cho hệ thống truyền năng lượng
Chế tạo Rectenna công suất lớn cho hệ thống truyền năng lượngChế tạo Rectenna công suất lớn cho hệ thống truyền năng lượng
Chế tạo Rectenna công suất lớn cho hệ thống truyền năng lượng
 
Đề tài: Tính toán ổn định thanh tạo hình nguội theo tiêu chuẩn Úc
Đề tài: Tính toán ổn định thanh tạo hình nguội theo tiêu chuẩn ÚcĐề tài: Tính toán ổn định thanh tạo hình nguội theo tiêu chuẩn Úc
Đề tài: Tính toán ổn định thanh tạo hình nguội theo tiêu chuẩn Úc
 
Luận văn: Tính toán ổn định thanh tạo hình nguội, HAY, 9đ
Luận văn: Tính toán ổn định thanh tạo hình nguội, HAY, 9đLuận văn: Tính toán ổn định thanh tạo hình nguội, HAY, 9đ
Luận văn: Tính toán ổn định thanh tạo hình nguội, HAY, 9đ
 
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
 

Mehr von nataliej4

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155nataliej4
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...nataliej4
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279nataliej4
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gianataliej4
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngnataliej4
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốcnataliej4
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin họcnataliej4
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngnataliej4
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnnataliej4
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877nataliej4
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree towernataliej4
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...nataliej4
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtnataliej4
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864nataliej4
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...nataliej4
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngnataliej4
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhnataliej4
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intronataliej4
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcnataliej4
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)nataliej4
 

Mehr von nataliej4 (20)

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gia
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vương
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốc
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao động
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắn
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tật
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùng
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanh
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intro
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắc
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
 

Kürzlich hochgeladen

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxhoangvubaongoc112011
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhdtlnnm
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh chonamc250
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 

Kürzlich hochgeladen (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh cho
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 

NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH 3f40d1cf

  • 1. ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA --------------------------------------- NÔNG VĂN TÙNG NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 8480101 LUẬN VĂN THẠC SĨ Ngƣời hƣớng dẫn khoa học: TS. TRẦN VĂN CƢỜNG Đà Nẵng - Năm 2019
  • 2. ii LỜI CAM ĐOAN Tôi xin cam đoan : 1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo TS. Trần Văn Cường. 2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. 3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm. Tác giả luận văn NÔNG VĂN TÙNG
  • 3. iii Lời cảm ơn Tôi xin chân thành cám ơn quý Thầy, Cô trong khoa Công nghệ thông tin Trường ĐH Bách khoa, Đại học Đà Nẵng và giảng viên trường ĐH Quảng Bình đã trang bị cho tôi kiến thức nền tảng để có thể hoàn thành tốt luận văn này. Cám ơn các bạn trong lớp đã chia sẻ các kinh nghiệm và đã hỗ trợ trong lúc làm luận văn. Đặc biệt em xin chân thành cảm ơn thầy giáo hướng dẫn TS. Trần Văn Cƣờng đã hỗ trợ em trong lúc thực hiện luận văn này. Mặc dù đă cố gắng hết khả năng nhưng không thể nào tránh khỏi những thiếu sót. Rất mong nhận được sự góp quý báu của quý thầy cô để đề tài có thể hoàn chỉnh hơn. Học viên NÔNG VĂN TÙNG
  • 4. iv MỤC LỤC LỜI CAM ĐOAN........................................................................................................... ii MỤC LỤC......................................................................................................................iv TÓM TẮT LUẬN VĂN............................................................................................... vii DANH SÁCH CÁC HÌNH.......................................................................................... viii DANH SÁCH CÁC BẢNG BIỂU..................................................................................x PHẦN I. MỞ ĐẦU..........................................................................................................1 1. Lý do chọn đề tài .....................................................................................................1 2. Mục tiêu và nhiệm vụ nghiên cứu ...........................................................................2 3. Đối tƣợng và phạm vi nghiên cứu ...........................................................................2 4. Phƣơng pháp nghiên cứu .........................................................................................3 5. Ý nghĩa khoa học và thực tiễn của đề tài.................................................................3 6. Bố cục luận văn:.......................................................................................................4 PHẦN II. NỘI DUNG.....................................................................................................5 CHƢƠNG 1. TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN .5 1.1. PHƢƠNG PHÁP HỌC MÁY ..............................................................................5 1.1.1. Trí tuệ nhân tạo ..............................................................................................5 1.1.2. Học máy .........................................................................................................8 1.2. XỬ LÝ NGÔN NGỮ TỰ NHIÊN .....................................................................11 1.2.1. Tổng quan xử lý ngôn ngữ tự nhiên.............................................................11 1.2.2. Các bài toán cơ bản trong xử lý ngôn ngữ tự nhiên.....................................11 1.2.3. Ứng dụng của xử lý ngôn ngữ tự nhiên .......................................................12 1.3. CÁC PHƢƠNG PHÁP BIỂU DIỄN VĂN BẢN...............................................14 1.3.1. Mô hình biểu diễn văn bản truyền thống .....................................................14 1.3.2. Mô hình đồ thị biểu diễn văn bản ................................................................17 1.3.3. Mô hình Word2vec văn bản (vector hóa từ)................................................20 1.3.4. Mô hình Doc2vec (vector hóa văn bản).......................................................21
  • 5. v 1.4. TÍNH ĐỘ TƢƠNG ĐỒNG VĂN.......................................................................23 1.4.1. Khái niệm độ tƣơng đồng ............................................................................23 1.4.2. Độ tƣơng đồng văn bản dựa trên tập từ chung.............................................23 1.4.3. Độ tƣơng đồng văn bản dựa trên vector biểu diễn.......................................24 1.4.4. Độ tƣơng đồng văn bản trong tiếng Việt .....................................................26 1.5. CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN .............................................30 1.5.1. Phƣơng pháp Naive Bayes...........................................................................30 1.5.2. Phƣơng pháp k–Nearest Neighbor(KNN)....................................................31 1.5.3. Phƣơng pháp cây quyết định........................................................................32 1.5.4. Phƣơng pháp mạng Nơron nhân tạo ............................................................33 1.5.5. Phƣơng pháp Support Vector Machines (SVM)..........................................35 1.6. CHATBOT..........................................................................................................37 1.6.1. Khái niệm.....................................................................................................37 1.6.2. Hoạt động của chatbot..................................................................................38 1.6.3. Sự phát triển của chatbot..............................................................................38 1.6.4. Các lĩnh vực ứng dụng của chatbot..............................................................39 CHƢƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT ........................40 2.1. CÁC MÔ HÌNH CHATBOT..............................................................................40 2.2. PHÂN LOẠI CHATBOT ...................................................................................41 2.2.1. Flow-oriented chatbot ..................................................................................41 2.2.2. Chatbot thông minh nhân tạo (Artificially intelligent chatbot) ...................41 2.2.3. Chatbot lai (Hybrid chatbot) ........................................................................42 2.2.4. Chatbot đƣợc hỗ trợ bởi con ngƣời..............................................................43 2.3. CÁC PHƢƠNG PHÁP XÂY DỰNG CHATBOT.............................................43 2.3.1. So sánh trùng khớp mẫu câu (Pattern matchers)..........................................43 2.3.2. Sử dụng thuật toán phân lớp (Classification algorithms) ............................44 2.3.3. Mạng nơron nhân tạo (Artificial Neural Network - ANN)..........................44
  • 6. vi 2.3.4. Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) ................44 2.3.5. Hiểu ngôn ngữ tự nhiên (Natural Language Understanding - NLU)...........45 2.4. CÁC VẤN ĐỀ CƠ BẢN KHI PHÁT TRIỂN HỆ THỐNG CHATBOT ..........46 2.4.1. Xác định ý định ngƣời dùng.........................................................................47 2.4.2. Trích xuất thông tin......................................................................................49 2.4.3. Quản lý hội thoại..........................................................................................50 2.5. CÔNG CỤ TẠO CHATBOT .............................................................................52 2.5.1. Nền tảng tạo chatbot ....................................................................................52 2.5.2. Xây dựng chatbot dựa trên nền tảng mã nguồn mở RaSa............................52 CHƢƠNG 3. CÀI ĐẶT THỰC NGHIỆM HỆ THỐNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH ...................................................................................57 3.1. BÀI TOÁN TƢ VẤN DU LỊCH........................................................................57 3.2. PHÂN TÍCH NHU CẦU TƢ VẤN DU LỊCH...................................................59 3.3. DỮ LIỆU THỰC NGHIỆM ...............................................................................61 3.4. MÔ HÌNH HỆ THỐNG......................................................................................63 3.5. CÀI ĐẶT THỰC NGHIỆM ...............................................................................64 3.5.1. Một số yêu cầu về hệ thống .........................................................................64 3.5.2. Ngôn ngữ sử dụng........................................................................................65 3.5.3. Xây dựng tập dữ liệu huấn luyện và kịch bản hội thoại ..............................66 3.5.4. Xây dựng các Action:...................................................................................69 3.6. KẾT QUẢ THỰC NGHIỆM..............................................................................71 3.7. PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ .........................................................74 PHẦN III. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN...................................................77 1. Kết luận..................................................................................................................77 2. Hƣớng phát triển ....................................................................................................77 TÀI LIỆU THAM KHẢO.............................................................................................79
  • 7. vii TÓM TẮT LUẬN VĂN NGHIÊN CỨU XÂY DỰNG CHATBOT HỖ TRỢ TƢ VẤN DU LỊCH QUẢNG BÌNH Học viên: Nông Văn Tùng Chuyên ngành: Khoa học máy tính Mã số: 8480101 Khóa: K35 Trƣờng Đại học Bách khoa – ĐHĐN Tóm tắt: Ngày nay chatbot có thể đƣợc ứng dụng rất nhiều trong các lĩnh vực của đời sống xã hội. Nghiên cứu xây dựng chatbot dựa trên mã nguồn mở là một hƣớng nghiên cứu nhận đƣợc nhiều sự quan tâm hiện nay. Trong luận văn này, tôi trình bày cơ sở lý thuyết học máy, xử lý ngôn ngữ tự nhiên, các phƣơng pháp tạo chatbot. Từ đó đề xuất mô hình hệ thống chatbot hỗ trợ tƣ vấn du lịch. Quá trình xây dựng hệ thống chatbot bao gồm các bƣớc sau: (1) Thu thập dữ liệu; (2) Xác định ngôn ngữ sử dụng; (3) Xây dựng tập dữ liệu huấn luyện; (4) Kịch bản hộp thoại; (5) Xây dựng Action Kết quả thực nghiệm trên bộ dữ liệu đã đƣợc xây dựng cho thấy giải pháp đề xuất xây dựng chatbot mang lại hiệu quả trong việc tƣ vấn cho khách du lịch. Từ khóa: Xử lý ngôn ngữ tự nhiên, biểu diễn văn bản, độ tƣơng đồng văn bản, công nghệ chatbot, chatbot RESEARCH CONSTRUCTION OF CHATBOT QUANG BINH TOURIST CONSULTANT SUPPORT Student: Nong Van Tung Major: Computer Science Code: 8480101 Course: K35 Polytechnic University – Da Nang University Abstract: Today chatbot can be applied a lot in the areas of social life. Researching to build chatbot based on open source is a research direction that has received much attention now. In this dissertation, I present the theory of machine learning theory, natural language processing, methods and chatbot technology. Since then propose a model of chatbot system to support tourism consultancy. The process of building chatbot system includes the following steps: (1) Data collection; (2) Determine the language used; (3) Develop training data set; (4) Script dialog; (5) Building Action Experimental results on the data set have been developed, showing that the proposed solution for building chatbot is effective in advising tourists. Keywords: Natural language processing, Text representation, Text similarity, Chatbot technology, chatbot.
  • 8. viii DANH SÁCH CÁC HÌNH Hình 1.1. Bộ dữ liệu chữ viết tay [22].............................................................................9 Hình 1.2. Mô hình vector biểu diễn văn bản [3] ...........................................................15 Hình 1.3. Ví dụ mô hình đồ thị khái niệm.....................................................................18 Hình 1.4. Ví dụ mô hình đồ thị hình sao [3] .................................................................19 Hình 1.5. Ví dụ về mô hình đồ thị có hƣớng, không gán nhãn .....................................20 Hình 1.6. Ví dụ mô hình đồ thị n khoảng cách đơn giản [3].........................................20 Hình 1.7. Mô hình Cbow và Skip-gram [31] ................................................................21 Hình 1.8. Mô hình túi từ phân tán của vectơ đoạn [4] ..................................................22 Hình 1.9. Mô hình bộ nhớ phân tán [4].........................................................................22 Hình 1.10. Mô hình bộ nhớ phân tán cho việc học vector đoạn[35].............................23 Hình 1.11. Ví dụ về cây quyết định [15].......................................................................33 Hình 1.12. Sơ đồ đơn giản mạng Nơron nhân tạo [2]...................................................34 Hình 1.13. Sơ đồ đồ thị có hƣớng đơn giản [2].............................................................35 Hình 1.14. Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với khoảng cách biên lớn nhất [10]. ....................................................................................36 Hình 1.15. Xử lý hội thoại giữa chatbot và con ngƣời..................................................38 Hình 1.16. Hoạt động của chatbot.................................................................................38 Hình 2.1. Đoạn hội thoại của một chatbot trí tuệ nhân tạo [8]......................................42 Hình 2.2. Chatbot tự động trả lời câu hỏi của khách hàng [28] ....................................43 Hình 2.3. Cấu trúc cơ bản của một chatbot sử dụng NLP và công nghệ Machine learning [19] ..................................................................................................................45 Hình 2.4. Hệ thống chatbot sử sử dụng phƣơng pháp NLU [17]..................................46 Hình 2.5. Kiến trúc của hệ thống phân lớp ý định [23].................................................48 Hình 2.6. Minh hoạ quản lý hội thoại theo mô hình máy trạng thái hữu hạn FSA [24]51 Hình 2.7. Xây dựng tập dữ liệu huấn luyện ..................................................................55 Hình 3.1. Phần mềm chatbot .........................................................................................59
  • 9. ix Hình 3.2. Chatbot hỗ trợ tƣ vấn thông tin du lịch .........................................................60 Hình 3.3. Mô hình hệ thống chatbot..............................................................................63 Hình 3.4. Máy ảo Vultr.com dùng để cài đặt chatbot ...................................................64 Hình 3.5. Các bƣớc thực hiện của giải thuật .................................................................66 Hình 3.6. Đặt phòng thông qua chatbot.........................................................................72 Hình 3.7. Hỏi tìm thông tin nhà hàng............................................................................73 Hình 3.8. Hỏi tìm thông tin nhà hàng có chỉnh sửa.......................................................73 Hình 3.9. Chatbot trích xuất thông tin về số ngƣời phụ thuộc nhiều vào dữ liệu huấn luyện NLU .....................................................................................................................74 Hình 3.10. Dữ liệu Tiếng Việt không dấu chƣa có kết quả nhƣ mong muốn ...............76
  • 10. x DANH SÁCH CÁC BẢNG BIỂU Bảng 1.1. Biểu diễn văn bản trong mô hình logic.........................................................14
  • 11. xi DANH SÁCH CÁC CHỮ VIẾT TẮT AI Artificial Intelligence ML Machine Learning NLG Natural Language Generation NLU Natural Language Understanding NPL Natural Language Processing SVM Support Vector Machine
  • 12. 1 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. Du lịch là một trong những ngành kinh tế quan trọng, là một ngành kinh tế tổng hợp có tính liên ngành, liên vùng và xã hội hóa cao. Du lịch không những có khả năng tạo ra nguồn thu nhập rất lớn cho xã hội mà còn góp phần thực hiện chính sách mở cửa, giao lƣu văn hóa, thúc đẩy sự đổi mới và phát triển nhiều ngành kinh tế khác, đồng thời giải quyết nhiều vấn đề mang tính chất xã hội. Quảng Bình, vùng đất đƣợc thiên nhiên ƣu ái ban tặng nhiều tài nguyên quý, độc đáo để phục vụ cho việc phát triển một ngành du lịch với nhiều loại sản phẩm du lịch, hình thức du lịch phong phú và đa dạng. Quảng Bình đã xác định “Du lịch là một ngành kinh tế mũi nhọn của tỉnh”. Quảng Bình là vùng đất giàu tiềm năng, lợi thế để phát triển du lịch, tuy nhiên du lịch Quảng Bình chƣa phát triển tƣơng xứng với tiềm năng vốn có. Làm thế nào để du lịch Quảng Bình phát triển đi lên ngày một nhanh và mạnh mẽ, thu hút đƣợc lƣợng khách du lịch đến thăm quan nhiều
  • 13. 2 hơn, nâng cao sức cạnh tranh, nâng cao vị thế du lịch Quảng Bình là một vấn đề quan trọng và cấp thiết cần đƣợc đặt ra hiện nay. Hiện nay, khách du lịch có thể tìm hiểu thông tin về các địa điểm, dịch vụ du lịch ở Quảng Bình thông qua các công cụ tìm kiếm thông tin trên internet và thông tin từ các công ty du lịch. Tuy nhiên những thông tin hữu ích và thiết thực với du khách còn hạn chế, du khách phải mất rất nhiều thời gian trong việc tìm hiểu thông tin. Với mong muốn tạo một chatbot có khả năng hỗ trợ tƣ vấn thông tin du lịch ở Quảng Bình để góp phần thu hút khách du lịch, nâng cao chất lƣợng du lịch tại Quảng Bình, tôi đề xuất đề tài “Nghiên cứu xây dựng chatbot hỗ trợ tư vấn du lịch Quảng Bình” làm đề tài luận văn của mình. 2. Mục tiêu và nhiệm vụ nghiên cứu a. Mục tiêu - Tìm hiểu về học máy, các thuật toá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ữ cảnh chatbot về du lịch Quảng Bình dựa trên các đặc trƣng dữ liệu về du lịch Quảng Bình. - Ứng dụng mã nguồn mở Rasa để xây dựng thử nghiệm hệ thống chatbot hỗ trợ tƣ vấn cho khách du lịch tới Quảng Bình. b. Nhiệm vụ nghiên cứu - 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 toá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. 3. Đối tƣợng và phạm vi nghiên cứu a. Đối tƣợng nghiên cứu - Lý thuyết máy học, các thuật toá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.
  • 14. 3 - Dữ liệu về du lịch Quảng Bình. b. 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 a. 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. - Thu thập, thống kê số liệu từ nguồn dữ liệu về du lịch Quảng Bình. - Xây dựng kịch bản cho chatbot du lịch Quảng Bình. b. Nghiên cứu thực nghiệm Cài đặt thực nghiệm chatbot trên tập dữ liệu về du lịch Quảng Bình và phân tích, đánh giá kết quả. 5. Ý nghĩa khoa học và thực tiễn của đề tài a. 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 toá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. b. 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.
  • 15. 4 6. Bố cục luận văn: Nội dung luận văn đƣợ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 luận văn 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 hỗ trợ tƣ vấn du lịch Quảng bình Trong chương này mô tả bài toá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
  • 16. 5 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.1.PHƢƠNG PHÁP HỌC MÁY 1.1.1. Trí tuệ nhân tạo 1.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.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. 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
  • 17. 6 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 toá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.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 quá 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, 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].
  • 18. 7 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ó gần nhƣ là mô phỏng quá 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 toá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
  • 19. 8 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ƣ nguyên 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.1.2. Học máy 1.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 toá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]. 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 toá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   , i i x y 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. ( ) i i y f x  với 1,2,... x 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 
  • 20. 9 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 toá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ự đoán bức ảnh đó chứa chữ số nào [22]. Hình 1.1. Bộ dữ liệu chữ viết tay [22] Thuật toá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 toá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 toá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 toán. Phát biểu dƣới dạng toá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 toán Apriori cho các vấn đề liên quan đến việc học tập quy tắc. Các bài toá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 toán phân nhóm toàn bộ
  • 21. 10 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 toá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 toá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 toá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. Ngoà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. 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.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 toá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ự đoán chuỗi gene, dự đoá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ử
  • 22. 11 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 đoá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. 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 khoá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 soá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. 1.2.XỬ LÝ NGÔN NGỮ TỰ NHIÊN 1.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. 1.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]:
  • 23. 12 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 toá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, tuân 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 quá 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 toá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. 1.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]:
  • 24. 13 - 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ó khuôn 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ỉ 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.
  • 25. 14 - 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 quá 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. 1.3. CÁC PHƢƠNG PHÁP BIỂU DIỄN VĂN BẢN 1.3.1. Mô hình biểu diễn văn bản truyền thống 1.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) 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)
  • 26. 15 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. 1.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]: Mỗi văn bản D được biểu diễn dưới dạng một vector V (vector đặc trưng cho văn bản D). Trong đó, V =(v1,v2,…,vn) và n là số lượng đặc trưng hay số chiều của vector văn bản (thường là số từ khóa), vi là trọng số của đặc trưng thứ i (với 1 ≤i ≤ n). Trọng số của đặc trƣng có thể tính dựa trên tần số xuất hiện của từ khóa trong văn bản. Ma trận biểu diễn trọng số (ma trận tần suất) W ={wij} đƣợc xác định dựa trên tần số xuất hiện của từ khóa ti trong văn bản dj. Một số phƣơng pháp xác định wij: - Phƣơng pháp Boolean weighting: Giá trị là 1 nếu số lần xuất hiện của từ khóa lớn hơn một ngƣỡng nào đó, ngƣợc lại là 0. - Phƣơng pháp dựa trên tần số từ khóa (Term Frequency Weighting). - Phƣơng pháp dựa trên nghịch đảo tần số văn bản (Inverse Document Frequency).
  • 27. 16 - TF*IDF weighting. a) Phƣơng pháp Boolean weighting Mô hình vector với trọng số từ khóa ti nhận giá trị đúng nếu và chỉ nếu ti xuất hiện trong văn bản đó. Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2,... dm}. Mỗi văn bản đƣợc biểu diễn dƣới dạng một vector gồm n từ khóa T = {t1, t2,…tn}. Gọi W = {Wij} là ma trận trọng số, trong đó Wij là giá trị trọng số của từ khóa ti trong văn bản dj. ij W     i i 1 nÕu t cã trong d 0 ng­îc l¹i b) Phƣơng pháp dựa trên tần số từ khóa (Term Frequency) Các giá trị Wij đƣợc tính dựa trên tần số xuất hiện của từ khóa trong văn bản. Giả sử fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó wij đƣợc tính bởi một trong ba công thức: Wij = fij Wịj = 1 + log(fịj) ij ij W f  Nếu số lần xuất hiện từ khóa t trong văn bản dj càng lớn thì có nghĩa là văn bản dj càng phụ thuộc vào từ khóa ti, hay nói cách khác từ khóa ti mang nhiều thông tin trong văn bản dj. Ví dụ, nếu trong văn bản xuất hiện nhiều từ khóa máy tính, điều đó có nghĩa là văn bản chủ yếu liên quan đến lĩnh vực tin học. c) Phƣơng pháp dựa trên nghịch đảo tần số văn bản Trong phƣơng pháp này Wij đƣợc tính theo công thứ sau: ij ij log( ) nÕu tf 1 0 nÕu tf = 0 i ij N df W        Trong đó N là số lƣợng văn bản và df là số lƣợng văn bản mà từ khóa ti xuất hiện. Trong công thức này, trọng số Wij đƣợc tính dựa trên độ quan trọng của từ khóa ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, thì khi nó xuất hiện trong dj, trọng số của nó đối với dj càng lớn (do tính nghịch đảo của hàm log), tức là hàm lƣợng thông tin trong nó càng lớn. Nói cách khác ti là điểm quan trọng để phân biệt dj với các văn bản khác.
  • 28. 17 d) Phƣơng pháp TF - IDF Đây là phƣơng pháp kết hợp của hai phƣơng pháp TF và IDF. Trọng số Wij đƣợc tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và độ hiếm của từ khóa ti trong tập văn bản. Công thức tính Wij ij ij (1 log( ))log( ) nÕu f 1 (i, j) 0 nÕu f 0 ij i N f df weigh          Trong đó: - weigh(i,j): là trọng số của từ thứ i trong văn bản bản thứ j - fij (term frequency): số từ xuất hiện từ thứ i trong văn bản j, fij càng cao thì từ đó càng miêu tả tốt nội dung văn bản. - dfi (document frequency): số văn bản có chứa từ thứ i. Nhân xét Ƣu điểm: Mô hình vector là mô hình biểu diễn văn bản đƣợc sử dụng khá phổ biến trong các hệ xử lý văn bản. Mối quan hệ giữa các văn bản đƣợc tính toán dựa trên các vector biểu diễn nên dễ dàng thực hiện. Nhƣợc điểm: Vì mỗi văn bản đƣợc biểu diễn thành một vector n chiều, với số chiều thƣờng là số từ khác nhau trong tập văn bản, do đó không gian biểu diễn có số chiều tƣơng đối lớn, việc lƣu trữ và tính toán trên vector tốn kém và phức tạp. Ngoài ra, hệ thống không linh hoạt khi lƣu trữ các từ khóa. Chỉ cần một thay đổi nhỏ trong bảng từ vựng sẽ dẫn đến hoặc là vector hóa lại toàn bộ các tài liệu, hoặc là bỏ qua các từ có nghĩa bổ sung trong các tài liệu đƣợc mã hóa trƣớc đó. 1.3.2. Mô hình đồ thị biểu diễn văn bản Mô hình đồ thị biểu diễn văn bản đƣợc John F. Sowa đƣa ra lần đầu tiên vào năm 1976 - mô hình đồ thị khái niệm (Conceptual Graphs CGs). Trong mô hình đồ thị, mỗi đồ thị là một văn bản. Đỉnh của đồ thị có thể là câu, hoặc từ, hoặc kết hợp câu và từ. Cạnh nối giữa các đỉnh là vô hƣớng hoặc có hƣớng, thể hiện mối quan hệ trong đồ thị. Nhãn của đỉnh thƣờng là tần số xuất hiện của đỉnh, còn nhãn của cạnh là tên mối liên kết khái niệm giữa hai đỉnh, hay tần số xuất hiện chung của hai đỉnh trong một phạm vi nào đó, hay tên vùng mà đỉnh xuất hiện.
  • 29. 18 Ví dụ, trong bài toán rút trích thông tin, đỉnh là từ hay từ kết hợp câu, cạnh thể hiện tần số đồng hiện. Trong bài toán phân lớp văn bản, đỉnh là từ, cạnh thể hiện trật tự xuất hiện của từ hay vị trí xuất hiện của từ trong văn bản. Trong bài toán tóm tắt văn bản, đỉnh là câu, cạnh thể hiện sự tƣơng đồng giữa các câu. 1.3.2.1. Mô hình đồ thị khái niệm (Conceptual Graphs -CGs) Mô hình đồ thị khái niệm sử dụng mạng ngữ nghĩa để biểu diễn văn bản thành đồ thị. Mỗi từ trong văn bản là một khái niệm và đƣợc biểu diễn bẳng đỉnh hình vuông. Đỉnh hình oval thể hiện mối quan hệ giữa các khái niệm. Các đỉnh hình vuông đƣợc nối với nhau dựa trên mối quan hệ trong mạng ngữ nghĩa và qua trung gian là đỉnh hình oval. Ví dụ ta có câu: “Nam is going to DaNang by taxi”, đồ thị khái niệm có dạng: Hình 1.3. Ví dụ mô hình đồ thị khái niệm Trong hình, các khái niệm là “Go”, “Person: Nam”, “City: DaNang” và “Taxi”, các mối quan hệ “Agnt”, “Dest” và “Inst”. Ƣu điểm của CGs là mô hình hóa văn bản một cách trực quan, chính xác và logic. Hạn chế của mô hình là khác phức tạp, đòi hỏi phân tích ngữ nghĩa sâu, chuyên biệt và phụ thuộc vào lĩnh vực. 1.3.2.2. Mô hình đồ thị hình sao Trong đồ thị hình sao, đỉnh trung tâm là nét khái quát cấu trúc của văn bản. Sau khi đỉnh trung tâm đƣợc xác lập, các đỉnh còn lại sẽ đƣợc triển khai. Ngoài đỉnh trung tâm, các đỉnh còn lại biểu diễn từ trong văn bản. Cạnh nối giữa các đỉnh đƣợc gán nhãn, thể hiện mối quan hệ giữa các đỉnh [3].
  • 30. 19 Hình 1.4. Ví dụ mô hình đồ thị hình sao [3] 1.3.2.3. Mô hình đồ thị vô hướng sử dụng tần số xuất hiện Trong mô hình này, đỉnh và cạnh đều đƣợc gán nhãn là tần số xuất hiện của đỉnh và cạnh tƣơng ứng. Cạnh đƣợc nối giữa hai đỉnh nếu hai từ xuất hiện chung trong trong tập hợp (câu hoặc nhóm từ hoặc trang). Nhãn của đỉnh là tần số xuất hiện của từ trong văn bản, nhãn của cạnh là tần số xuất hiện chung của 2 từ trong tập hợp và tần số xuất hiện chung này lớn hơn ngƣỡng cho phép. Ƣu điểm của mô hình là khai thác đƣợc mối quan hệ giữa từ với từ trong cấu trúc văn bản cũng nhƣ tần số xuất hiện của từ, hỗ trợ cho quá trình tìm kiếm thông tin nhanh chóng. 1.3.2.4. Mô hình đồ thị có hướng, cạnh không gán nhãn Mô hình này còn đƣợc gọi là mô hình đồ thị đơn giản. Mỗi đỉnh biểu diễn một từ riêng biệt và chỉ xuất hiện một lần trên đồ thị ngay cả khi từ đó xuất hiện nhiều lần trong văn bản. Nhãn đình là tên của từ. Sau bƣớc tiền xử lý văn bản, nếu từ “a” đứng ngay trƣớc từ “b” sẽ có cạnh nối từ đỉnh “a” đến đỉnh “b” (không kể các trƣờng hợp phân cách bởi dấu câu). Ví dụ: “Samsung sẽ giới thiệu điện thoai Samsung galaxy note 10 và trƣng bày công nghệ bổ trợ đƣợc xây dựng để cải tiến điện thoại” Ví dụ:
  • 31. 20 Hình 1.5. Ví dụ về mô hình đồ thị có hướng, không gán nhãn Ƣu điểm của mô hình là lƣu trữ đƣợc các thông tin cấu trúc nhƣ thứ tự xuất hiện, vị trí của từ trong văn bản và làm tăng hiệu quả của các bài toán phân lớp cũng nhƣ gom cụm văn bản. 1.3.2.5. 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. Mô hình này còn có tên gọi khác là mô hình khoảng cách n đơn giản. Trong mô hình này, ngƣời dùng cung cấp tham số n. Thay vì chỉ quan tâm từ “A” trực tiếp ngay trƣớc từ “B” ta còn chú ý đến n từ đứng trƣớc từ “B”. Cạnh đƣợc xây dựng giữa hai từ khi giữa chúng có số từ xuất hiện nhiều nhất là (n-1), ngoại trừ trƣờng hợp các từ đƣợc phân cách bởi các dấu câu [3]. Ví dụ: ta có câu “Cánh đồng lúa xanh bát ngát”, với n = 2, mô hình biểu diễn câu nhƣ sau: Hình 1.6. Ví dụ mô hình đồ thị n khoảng cách đơn giản [3] Ƣu điểm của mô hình là tận dụng đƣợc mối quan hệ giữa các từ, vùng lân cận của từ trong câu và có thể áp dụng vào bài toán phân lớp văn bản. 1.3.3. Mô hình Word2vec văn bản (vector hóa từ) Trong word2vec, một biểu diễn phân tán (distributed representation) của một từ đƣợc sử dụng. Sử dụng một vector với vài trăm chiều. Mỗi từ đƣợc biểu diễn bởi tập
  • 32. 21 các trọng số của từng phần tử trong nó. Nhƣ thế thay vì kết nối one-to-one giữa các phần từ trong vector và 1 từ, biểu diễn từ sẽ là dàn trải tất cả các thành phần của vector, và mỗi phần tử trong vector sẽ góp phần định nghĩa nhiều từ khác. Mỗi vector nhƣ vậy cũng đại diện cho một cách tóm lƣợc của ý nghĩa của một từ. Và nhƣ vậy tiếp theo, chỉ đơn giản bằng cách kiểm tra một ngữ liệu lớn nó có thể học word vectors, ta có thể nắm bắt các mối quan hệ giữa các từ trong một cách đáng ngạc nhiên. Có thể sử dụng các vector là đầu vào cho một mạng nơron [4]. Bao gồm 2 mô hình : - Mô hình túi từ liên lục (CBOW): Dự đoán 1 từ khi đã có các từ lân cận - Mô hình Skip-gram: Là một mô hình đối lập hoàn toàn với mô hình CBOW. Dự đoán các từ lân cận khi đã có 1 từ (theo thống kê mô hình này giúp làm mƣợt CBOW mƣợt hơn nhiều) Hình 1.7. Mô hình Cbow và Skip-gram [31] Mục đích và tính hữu ích của word2vec là nhóm các vectơ của các từ tƣơng tự lại với nhau trong vectorspace. Nghĩa là, nó phát hiện các điểm tƣơng đồng về mặt toán học. 1.3.4. Mô hình Doc2vec (vector hóa văn bản) Mô hình Doc2Vec đƣợc phát triển dựa trên mô hình Word2Vec [4] trên cơ sở thừa kế ý tƣởng của Word2Vec và xây dựng thêm ma trận đoạn. Việc này giúp cho mô hình Doc2Vec tập hợp tất cả các từ trong một câu thành một vectơ. Mô hình Doc2vec bao gồm hai mô hình: Mô hình túi từ phân tán (distributed bag of words- DBOW) và mô hình bộ nhớ phân tán (distributed memory- DM) a. Mô hình túi từ phân tán(DBOW)
  • 33. 22 Hình 1.8. Mô hình túi từ phân tán của vectơ đoạn [4] Mô hình này đơn giản là không quan tâm thứ tự các từ, huấn luyện nhanh hơn, không sử dụng bối cảnh địa phƣơng/lân cận. Mô hình chèn thêm 1 "word" là ParagraphID, ParagraphID này đại diện cho văn bản đƣợc huấn luyện. Sau khi huấn luyện xong có thể hiểu các vector ParagraphID này là vector nhúng của các văn bản. b. Mô hình bộ nhớ phân tán(DM) Hình 1.9. Mô hình bộ nhớ phân tán [4] Nó xem một đoạn văn (paragraph) là một từ, sau đó nối từ này vào tập các từ trong câu. Trong quá trình huấn luyện, vector của đoạn văn (paragraph) và vector từ đều đƣợc cập nhật. Đối với Doc2vec ngoài từ ta còn có thể biểu diễn các câu thậm chí là một đoạn văn bản. Khi đó, có thể dễ dàng vector hóa cả một đoạn văn bản thành một vector có số chiều cố định và nhỏ, từ đó có thể chạy bất cứ thuật toán phân loại cơ bản nào trên các vector đó [40].
  • 34. 23 Hình 1.10. Mô hình bộ nhớ phân tán cho việc học vector đoạn[35] 1.4. TÍNH ĐỘ TƢƠNG ĐỒNG VĂN Các phép đo độ tƣơng tự giữa văn bản và văn bản đã đƣợc nghiên cứu trong các ứng dụng của xử lý ngôn ngữ tự nhiên và các lĩnh vực liên quan. Ứng dụng sớm nhất của độ tƣơng tự văn bản là tìm kiếm thông tin, ở đó các tài liệu có liên quan tới câu truy vấn đƣợc xếp hạng theo thứ tự của độ tƣơng tự. Ngoài ra, độ tƣơng tự văn bản còn đƣợc dùng cho phân lớp văn bản, trích chọn hay tóm tắt văn bản, phƣơng pháp cho đánh giá dịch máy tự động hay đánh giá tính chặt chẽ của văn bản. 1.4.1. Khái niệm độ tƣơng đồng Độ tƣơng đồng là một đại lƣợng dùng để so sánh hai hay nhiều đối tƣợng với nhau, phản ánh cƣờng độ của mối quan hệ giữa các đối tƣợng với nhau. Ví dụ: xét 2 câu “Tôi là nam” và “Tôi là nữ”, ta có thể nhận thấy hai câu trên có sự tƣơng đồng khá cao [4]. Phát biểu bài toán tính độ tƣơng đồng nhƣ sau: Xét 2 văn bản di và dj. Mục tiêu là tìm ra một giá trị S(di,dj), Se (0,1), thể hiện độ tương đồng giữa 2 văn bản di và dj. Giá trị càng cao thì sự giống nhau về nghĩa của hai văn bản càng nhiều. Ví dụ trong mô hình không gian vector, ta sử dụng độ đo Cosine để tính độ tƣơng đồng giữa hai văn bản, mỗi văn bản đƣợc biểu diễn bởi một vector. Độ tƣơng tự ngữ nghĩa là khái niệm thể hiện tỷ lệ dựa trên sự giống nhau về nội dung ý nghĩa của tập các tài liệu hoặc các thuật ngữ trong một danh sách các thuật ngữ [6]. Độ tƣơng đồng ngữ nghĩa phản ánh mối quan hệ ngữ nghĩa giữa các câu, các tài liệu văn bản. 1.4.2. Độ tƣơng đồng văn bản dựa trên tập từ chung
  • 35. 24 1.4.2.1. Khoảng cách Jaro Khoảng cách Jaro định nghĩa độ đo tƣơng tự giữa hai chuỗi. Cho hai câu s1 và s2, khoảng cách Jaro d giữa s1 và s2 đƣợc tính nhƣ sau [11]: 1 2 1 3 m m m t d s s m             Trong đó m là số từ giống nhau, t là ½ số bƣớc chuyển. Phép chuyển vị trí sẽ đƣợc thực hiện khi hai từ giống nhau trong hai câu s1 và s2 có khoảng cách không lớn hơn giá trị:   1 2 max , 1 2 s s  Mỗi từ trong câu s1 đƣợc so sánh với tất cả các từ trong s2. Số bƣớc chuyển đƣợc định nghĩa là số lƣợng từ giống nhau giữa hai câu (nhƣng thứ tự trong chuỗi khác nhau) chia cho 2. 1.4.2.2. Mô hình tương phản (Contrast model) Mô hình tƣơng phản do Tversky đề xuất (“Features of similarity”, Psychological Review, 1977) để tính độ tƣơng tự giữa hai câu A và B nhƣ sau: sim(A,B) *g(A B) *g(A B) * (B A) g          Trong đó g(A B)  biểu diễn cho các từ chung A và B, g(A-B) biểu diễn cho các từ riêng của A và g(B-A) biểu diễn cho các từ riêng của B. Hệ số    đƣợc xác định trong quá trình thử nghiệm thuật toán. 1.4.2.3. Hệ số Jaccard Hệ số Jaccard là một độ đo tƣơng tự của các tập hợp dựa trên phƣơng pháp thống kê. Theo đó, độ tƣơng tự giữa hai câu A và B nhƣ sau [9] : 1.4.3. Độ tƣơng đồng văn bản dựa trên vector biểu diễn 1.4.3.1. Độ tương đồng cosine (A,B) A B sim A B   
  • 36. 25 Trong phƣơng pháp này, các văn bản đƣợc biểu diễn theo mô hình không gian vector, mỗi thành phần của vector chỉ đến một từ tƣơng ứng trong danh sách mục từ đã thu đƣợc từ quá trình tiền xử lý văn bản đầu. Không gian vector hay số chiều của vector có kích thƣớc bằng số mục từ trong danh sách mục từ. Giá trị mỗi phần tử của vector là độ quan trọng của mục từ trong câu. Độ quan trọng của từ đƣợc tính theo một trong các phƣơng pháp đã trình bày ở trên, phần mô hình vector biểu diễn văn bản, ví dụ: ij ij 2 ij W j tf tf   Giả sử vector biểu diễn cho hai văn bản lần lƣợt có dạng: Di = <wi 1, ..., wi 1> với wi t là trọng số của từ thứ t trong không gian vector i Dj = <wj 1, …, wj t> với wj t là trọng số của từ thứ t trong không gian vector j. Độ đo tƣơng đồng đƣợc tính là Cosine của góc giữa hai vector biểu diễn cho hai văn bản Di và Dj. Độ tƣơng tự của chúng đƣợc tính theo công thức: 1 ij 2 2 1 1 ( ) (w ) * (w ) t i j k k k t i t j k k k k w w Sim D        Nhân xét: Vector biểu diễn cho các câu chƣa quan tâm đến mối quan hệ ngữ nghĩa giữa các từ mục, do đó các từ đồng nghĩa sẽ không đƣợc phát hiện, kết quả tính độ tƣơng tự chƣa cao. 1.4.3.2. Độ tương đồng dựa vào khoảng cách Euclide Khoảng cách Euclide cũng là một phƣơng pháp khá phổ biến để xác định mức độ tƣơng đồng giữa các vector đặc trƣng của hai văn bản [3]. Cho hai vector a v và b v khoảng cách Euclide đƣợc định nghĩa nhƣ sau: 2 1 ( , ) (w w ) _ n ai bi i a b v v E Dist     Mức độ tƣơng đồng giữa hai vector đƣợc xác định bằng công thức: 1 1 2 ( , ) ( , ) ( ) _ w 1 1 w _ n a i n i b i a b a b v v v v E sim n E Dist        1.4.3.3. Độ tương đồng dựa vào khoảng cách Manhattan
  • 37. 26 Khoảng cách Manhattan là phƣơng pháp tính độ tƣơng đồng giữa các vector đặc trƣng biểu diễn cho hai văn bản [2]. Cho hai vector a v và b v khoảng cách Euclide đƣợc định nghĩa nhƣ sau: 1 ( , ) w w man_dist n ai bi i a b v v     Mức độ tƣơng đồng giữa hai vector đƣợc xác định bằng công thức: 1 1 ( , ) ( , ) _dist w w man_ 1 1 n ai bi i n a b a b v v v v man sim n        1.4.4. Độ tƣơng đồng văn bản trong tiếng Việt Thông thƣờng khi đánh giá độ tƣơng tự văn bản, chúng ta cần phân tích văn bản thành các đơn vị nhỏ hơn và thực hiện đánh giá dựa trên các đơn vị này. Một số bộ công cụ tách từ tiếng Việt nhƣ vnTokenizer, JvnTextPro đã đƣợc xây dựng và cho kết quả khả quan có thể sử dụng làm bƣớc tiền xử lý cho hệ thống so sánh văn bản. Sau khi tách từ, mỗi văn bản Ti sẽ đƣợc biểu diễn bằng một vector các từ có dạng: Ti = {w1, w2,..., wni} với n là số từ tách đƣợc của Ti. Trong nhiều trƣờng hợp, độ tƣơng tự giữa hai đoạn văn bản có thể xác định dựa trên so khớp từ đơn giản, điểm tƣơng tự đƣợc xác định dựa trên số đơn vị từ vựng xuất hiện ở cả hai đoạn văn bản đầu vào. Các phƣơng pháp đánh giá độ tƣơng tự văn bản chủ yếu dựa trên hai yếu tố [3] : - Đánh giá độ tƣơng tự ngữ nghĩa giữa các từ: Một số phƣơng pháp sử dụng mạng từ (WordNet), một số khác dựa trên kho ngữ liệu Web hoặc dựa trên phân tích ngữ nghĩa ẩn. - Đánh giá độ tƣơng tự theo trật tự của từ trong văn bản. Đánh giá về độ tƣơng tự ngữ nghĩa của từ đƣợc dùng để tạo ra các vector đặc trƣng ngữ nghĩa của văn bản. Vector đặc trƣng này sử dụng các công thức trong mục 1.4.2 cho ta một phép đo độ tƣơng tự giữa hai văn bản tƣơng ứng. 1.4.4.1. Độ tương tự ngữ nghĩa từ - từ a) Độ tương tự ngữ nghĩa từ - từ dựa trên WordNet Wordnet là cơ sở dữ liệu tri thức từ vựng đƣợc thiết kế dựa trên những lý thuyết về ngôn ngữ tâm lý theo cách liên tƣởng từ ngữ của con ngƣời. WordNet đƣợc tổ chức dựa theo các quan hệ ngữ nghĩa. Một quan hệ ngữ nghĩa là một quan hệ giữa
  • 38. 27 các nghĩa. Một từ có thể có nghiều nghĩa và khi đó mỗi nghĩa sẽ thuộc vào những tập đồng nghĩa khác nhau. Ngƣợc lại, mỗi tập đồng nghĩa lại có thể chứa một hoặc nhiều hơn các từ khác nhau. Khi đó quan hệ ngữ nghĩa có thể đƣợc xem nhƣ là con trỏ giữa các tập đồng nghĩa [14]. b) Độ tương tự ngữ nghĩa từ - từ dựa trên ngữ liệu Độ tƣơng tự ngữ nghĩa dựa trên tập ngữ liệu (corpus) xác định mức độ tƣơng tự về mặt ngữ nghĩa giữa các từ sử dụng thông tin xuất phát từ tập ngữ liệu lớn. Một số phƣơng pháp xác định nhƣ sau: - PMI (Pointwise Mutual Information) - thông tin chung dựa trên điểm PMI đƣợc đƣa ra bởi Turney 2001 nhƣ một độ đo không giám sát để đánh giá độ tƣơng tự ngữ nghĩa của từ. PMI sử dụng dữ liệu đã tập hợp từ việc tìm kiếm thông tin (PMI-IR), dựa trên hiện tƣợng đồng xảy ra của các từ trên tập ngữ liệu lớn để xác định độ tƣơng tự cho 2 từ w1 và w2 nhƣ sau: 1 2 1 2 1 2 (w ,w ) (w ,w ) log (w )*p(w ) p PMI p  - LSA (Latent Semantic Analysis) - phân tích ngữ nghĩa ẩn • Xây dựng ma trận T (ma trận từ - tài liệu) thể hiện tập ngữ liệu. • Giảm số chiều SVD Trong đó SVD có thể đƣợc xem là cách khắc phục một số hạn chế của mô hình không gian vector chuẩn nhƣ số chiều cao, giúp cho LSA đƣợc tính với số chiều thấp hơn và mối quan hệ giữa từ - văn bản đƣợc khai thác. Độ tƣơng tự trong không gian kết quả đƣợc đo bằng độ tƣơng tự Cosine. Ngoài ra, LSA cũng sinh ra một mô hình không gian vector thể hiện sự đồng nhất giữa các từ, cụm từ và các văn bản. 1.4.4.2. Độ tương tự ngữ nghĩa của văn bản Việc đánh giá độ tƣơng tự ngữ nghĩa giữa hai văn bản trong đa số các nghiên cứu sử dụng vector đặc trƣng cho ngữ nghĩa của văn bản. Mỗi thành phần trong vector này đƣợc thiết lập từ việc tính độ tƣơng tự của một từ trong văn bản với các từ trong văn bản còn lại, trọng số của thành phần là độ đo tƣơng tự lớn nhất [3]. Giả sử cho hai văn bản (đã đƣợc tách từ vựng) nhƣ sau: T1 = { w11, w12, ..., w1m1} T2 = { w21 ,w22, .., w2m2 }
  • 39. 28 Trong đó : wij là từ thứ j trong văn bản di (i=i,2) mi là số lƣợng từ vựng tách đƣợc của văn bản Ti. Tập các từ không giống nhau của cả hai văn bản là: T = Ti  T2 = { wi, w2, ..., wm } Vector đặc trƣng ngữ nghĩa cho văn bản Ti, ký hiệu V1 = (v11, v12, ..., v1m) đƣợc xây dựng nhƣ sau: - Xét lần lƣợt từng từ wi T, tính độ tƣơng tự ngữ nghĩa với mỗi từ trong T1, độ đo tƣơng tự lớn nhất đƣợc đƣa vào thành phần v1i tƣơng ứng trong V1. V1i = max{ sim(wi, w1j) | j =1..mi }, với i=1..m - Độ tƣợng tự ngữ nghĩa của hai văn bản đƣợc tính dựa trên hai vector đặc trƣng ngữ nghĩa tƣơng ứng. Hệ số cosin là một trong các độ đo hay đƣợc sử dụng để tính độ tƣơng tự này: 1 2 1 2 1 1 2 2 2 1 2 1 2 1 2 1 1 . . (T ,T ) . m i i i m m i i i i i i v v V V simS V V v v v v         Để tính toán độ tƣơng tự (sim) giữa hai từ, trong tiếng Anh ngƣời ta có thể dựa vào mạng từ WordNet, tuy nhiên với tiếng Việt mạng từ chƣa đƣợc xây dựng đầy đủ nên một phƣơng án là sử dụng công cụ dịch từ tiếng Việt ra tiếng Anh, sau đó đánh giá độ tƣơng tự đối với cặp từ tiếng Anh bằng mạng WordNet nhƣ trong đề tài của tác giả Dƣơng Thăng Long [1]. Một số nghiên cứu khác sử dụng phƣơng pháp phân tích ngữ nghĩa ẩn LSA hay PMI để đo độ tƣơng tự của từ dựa trên tập ngữ liệu. 1.4.4.3. Độ tương tự về thứ tự của từ trong văn bản Một yếu tố quan trọng ảnh hƣởng đến độ tƣơng tự của văn bản là thứ tự của từ. Cùng một một tập từ vựng giống nhau trong các văn bản nhƣng khác nhau về vị trí có thể có ý nghĩa hoàn toàn khác nhau. Ví dụ cho hai câu: T1 = {con_trâu, húc, con_bò} T2 = {con_bò, húc, con_trâu} Hai câu trên cùng chứa một tập các từ giống nhau và gần giống nhau về thứ tự từ, chỉ sai khác thứ tự của cặp từ “con_trâu và “con_bò”. Nếu chỉ dựa trên độ tƣơng tự
  • 40. 29 ngữ nghĩa của văn bản thì hai văn bản nếu cùng chứa một tập từ giống nhau sẽ cho kết quả là hoàn toàn giống nhau, có nghĩa là sim(T1,T2)=1. Tuy nhiên, hai câu trên có ý nghĩa không giống nhau, sự khác nhau của hai câu chính là do sự sai khác về vị trí của các từ trong câu. Theo tác giả Dƣơng Thăng Long [1] trong đề tài nghiên cứu của mình đã đƣa ra phƣơng pháp đánh giá độ tƣơng tự của văn bản dựa trên thứ tự của từ nhƣ sau: - Với mỗi cặp văn bản T1 và T2, xác định tập các từ vựng phân biệt của cả hai văn bản T = T1  T2. - Vector đặc trƣng thứ tự từ của hai văn bản, kí hiệu R1 = (r11, r12, ..., r1m) và R2 = (r21, r22, ..., r2m), đƣợc tính dựa trên tập T. + Vector thứ tự từ biểu diễn thứ tự của mỗi từ thuộc T nằm ở vị trí nào trong văn bản tƣơng ứng. + Với mỗi từ wi  T, tìm một từ đúng hoặc gần nghĩa nhất trong T1 để xác định trọng số cho phần tử r1i trong R1 theo một trong ba trƣờng hợp sau: • Nếu từ wi có trong T1 thì r1i là số thứ tự của từ đó trong T1. • Tìm từ trong T1 gần nghĩa nhất với wi, sử dụng phƣơng pháp đo độ tƣơng tự ngữ nghĩa giữa hai từ. Nếu độ đo này vƣợt ngƣỡng  cho trƣớc thì r1i là số thứ tự của từ đó trong T1. • Nếu không tìm thấy hoặc độ tƣơng tự giữa từ các trong T1 và wi không vƣợt ngƣỡng thì đặt r1i là  . Vector đặc trƣng thứ tự của từ biểu diễn thông tin về cấu trúc của từ trong văn bản. Mức độ giống nhau về cấu trúc của hai văn bản đƣợc tính toán dựa trên vector đặc trƣng thứ tự từ bằng công thức sau: 2 1 2 1 2 1 2 1 2 1 2 1 ( ) 1 1 ( ) m i i i m i i i r r R R simR R R r r             1.4.4.4. Kết hợp giữa các độ đo để đánh giá độ tương tự giữa hai văn bản Trong các phân tích ở trên, độ tƣơng tự ngữ nghĩa thể hiện phép đo dựa trên nghĩa từ vựng, còn độ tƣơng tự cấu trúc của từ thể hiện mối quan hệ về thứ tự giữa các từ, các từ đứng trƣớc hoặc sau các từ khác. Cả hai độ tƣơng tự này đều có vai trò quan trọng trong xác định độ tƣơng tự của văn bản. Do đó, để đo sự tƣơng tự của các văn
  • 41. 30 bản cần phải kết hợp của hai loại độ đo trên, độ tƣơng tự về ngữ nghĩa và độ tƣơng tự về thứ tự các từ trong văn bản. Biểu thức kết hợp giữa hai độ đo có dạng [3]. sim = a*simS + b*simR với a+ b = 1 Việc xác định bộ trọng số của mỗi độ đo tƣơng tự (a,b) chƣa có một công thức chung nào, chỉ có thể sử dụng phƣơng pháp quan sát và thử nghiệm qua các dữ liệu thực tế để có lựa chọn tốt nhất cho hệ thống. Phƣơng án cân bằng các tiêu chí là một lựa chọn, trong đó trọng số của các tiêu chí kết hợp có giá trị giống nhau, tức là a = 0.5 và b = 0.5. 1.5. CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN 1.5.1. Phƣơng pháp Naive Bayes Đây là thuật toán đƣợc xem là đơn giản nhất trong các phƣơng pháp. Bộ phân lớp Bayes có thể dự báo các xác suất là thành viên của lớp, chẳng hạn xác suất mẫu cho trƣớc thuộc về một lớp xác định. Chúng giả định các thuộc tính là độc lập nhau (độc lập điều kiện lớp) [16] . Thuật toán Naive Bayes dựa trên định lý Bayes đƣợc phát biểu nhƣ sau: ( ). ( ) ( ) ( ) P X Y P Y P Y X P Y  Trong đó: • Y đại diện một giả thuyết, giả thuyết này đƣợc suy luận khi có đƣợc chứng cứ mới X. • P(X): xác suất X xảy ra (Xác suất biên duyên của X). • P(Y): xác suất Y xảy ra (Điều kiện tiên nghiệm của Y). • P(X|Y): xác suất X xảy ra khi Y xảy ra (xác suất có điều kiện, khả năng của X khi Y đúng). • P(Y|X): xác suất hậu nghiệm của Y nếu biết X. Áp dụng trong bài toán phân loại, các dữ kiện cần có : • D: tập dữ liệu huấn luyện đã đƣợc vector hoá dƣới dạng x = (x1x0,...,xn) • Ci : tập các tài liệu của D thuộc lớp Ci với i={1,2,3,...} • Các thuộc tính x1 ,x2,.. .xn độc lập xác suất đôi một với nhau. Theo định lý Bayes :
  • 42. 31 ( ) ( ) ( ) ( ) i i i P X C P C P C X P x  Theo tính chất độc lập điều kiện: 1 2 1 ( ) ( ) ( ) ( )... ( ) n i k i i i n i k P X C P x C P x C P x C P x C     Khi đó, luật phân lớp cho các tài liệu mới Xnew = {x1 ,x2… xn} là: 1 max ( ) ( ) n i i i k P C P x C         Trong đó: ( ) i P C : đƣợc tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện. ( ) i i P x C : đƣợc tính từ những tập thuộc tính đã đƣợc tính trong quá trình huấn luyện. 1.5.2. Phƣơng pháp k–Nearest Neighbor(KNN) Thuật toán phân lớp là một phƣơng pháp truyền thống và khá nổi tiếng trong hƣớng tiếp cận dựa trên thống kê, đã đƣợc nghiên cứu trong nhận dạng mẫu trong vài thập kỷ gần đây. Nó đƣợc đánh giá là một trong những phƣơng pháp tốt nhất và đƣợc sử dụng ngay từ những thời kỳ đầu của phân lớp văn bản . Muốn phân lớp một văn bản mới, thuật toán KNN sẽ tính khoảng cách (Euclide, Cosine ...) của văn bản này đến các văn bản trong tập huấn luyện và chọn ra k văn bản có khoảng cách gần nhất, còn gọi là k “láng giềng”. Dùng các khoảng cách vừa tính đƣợc đánh trọng số cho các chủ đề đã có. Trọng số của một chủ đề sẽ đƣợc tính bằng tổng các khoảng cánh từ văn bản cần phân lớp đến các văn bản trong k láng giềng mà có cùng chủ đề đó. Những chủ đề không xuất hiện trong tập k văn bản sẽ có trọng số bằng 0. Các chủ đề đƣợc sắp xếp theo độ giảm dần của các trọng số và chủ đề nào có trọng số cao sẽ là chủ đề cho văn bản cần phân lớp. Công thức Trọng số của chủ đề cj đối với văn bản x : , ( ). ( , ) ( ) , i i j i j j d KNN W c sim d y d c b x x     Trong đó: -   ( , ) 0,1 i j y d c  với
  • 43. 32 + y=0 : văn bản di không phụ thuộc chủ đề cj + y=1 : văn bản di thuộc về chủ đề cj - , ( ) i sim d x độ giống nhau giữa văn bản cần phân loại x và văn bản di. Sử dụng độ đo cosin để tính , ( ) i sim d x : . , ( ) cos( ) . , i i i i x x x d si d x m d d   - j b là ngƣỡng phân loại chủ đề cj, đƣợc tự động học sử dụng một tập văn bản hợp lệ chọn ra từ tập huấn luyện. Khi số văn bản trong tập văn bản láng giềng càng lớn thì thuật toán càng ổn định và sai sót thấp. 1.5.3. Phƣơng pháp cây quyết định Khái niệm: Cây quyết định (Decision Tree) là một mô hình thuộc nhóm thuật toán học có giám sát. Cây quyết định là một công cụ phổ biến trong phân loại văn bản. Đặc điểm của cây quyết định là một cây có cấu trúc kiểu lƣu đồ, trong đó: - Gốc: Là nút trên cùng của cây - Nút trong: Biểu diễn một kiểm tra trên một thuộc tính đơn (hình oval) - Nhánh: Biểu diễn các kết quả của kiểm tra trên nút. - Nút lá: Biểu diễn lớp hay sự phân phối lớp (hình vuông hoặc chữ nhật) Ví dụ: Câu hỏi có chơi tennis hay không? Quyết định đƣa ra dựa trên các yếu tố về thời tiết: outlook, humidity, wind.
  • 44. 33 Hình 1.11. Ví dụ về cây quyết định [15] Các độ đo trong thuật toán Entropy: Đặc trƣng cho độ hỗn tạp của (tinh khiết) của một tập bất kỳ các mẫu thử. ( ) Entropy S  2 1 log c i i i p p    Trong đó : - S : Tập các mẫu thử (tập huấn luyện) - c : Là phân lớp trong mẫu thử - Pi : Xác suất (tỉ lệ) các mẫu thử thuộc phân lớp Ci Information Gain: đo sự giảm sút mong muốn của Entropy gây ra bởi một thuộc tính A.   , Gain S A = ( ) Entropy S -   v Entr ) py S ( o Value A v v s s   - Value(A) : Tập các giá trị có thể cho thuộc tính A. - Sv : Tập con của s mà A nhận giá trị V. 1.5.4. Phƣơng pháp mạng Nơron nhân tạo Mạng Nơron nhân tạo là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn gọi là Nơron) tựa nhƣ Nơron thần kinh của não ngƣời, hoạt động song song
  • 45. 34 và đƣợc nối với nhau bởi các liên kết Nơron. Mỗi liên kết kèm theo một trọng số nào đó, đặc trƣng cho tính kích hoạt hoặc ức chế giữa các Nơron [2]. Có thể xem các trọng số là phƣơng tiện để lƣu trữ thông tin dài hạn trong mạng Nơron và nhiệm vụ của quá trình huấn luyện của mạng là cập nhật các trọng số khi có thêm thông tin về mẫu học. Hay nói một cách khác, các trọng số đều đƣợc điều chỉnh sao cho dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trƣờng đang xem xét. . Hình 1.12. Sơ đồ đơn giản mạng Nơron nhân tạo [2] Mô hình mạng Nơron ở trên gồm 3 lớp: Lớp nhập (input), lớp ẩn(hidden) và lớp xuất (output). Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng. Dữ liệu từ tất cả các nút trong lớp nhập đƣợc tích hợp - ta gọi là tổng trọng số - và chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp này chỉ liên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có ngƣời thiết kế mạng mới biết lớp này (ngƣời sử dụng không biết lớp này). Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn. Mỗi nút trong lớp xuất tƣơng ứng với một biến phụ thuộc. Kiến trúc mạng Nơron: Về cơ bản ta có thể hiểu mạng Nơron là một đồ thị có hƣớng nhƣ hình 1.13 Trong đó các đỉnh của đồ thị là các Nơron và các cạnh của đồ thị là các liên kết giữa các Nơron
  • 46. 35 Hình 1.13. Sơ đồ đồ thị có hướng đơn giản [2] Vì vậy để xây dựng một mạng Nơron ta xây dựng một đồ thị có hƣớng: Số đỉnh của đồ thị bằng số Nơron trong mạng, giá trị của các cạnh chính là trọng số liên kết Nơron. Ví dụ xây dựng một mạng Nơron đơn giản: Đầu vào: Cho : - Mạng Nơron có số lớp (với số lớp>1). - Mỗi lớp có số Nơron trong một lớp (số Nơron>=1). - Trọng số w liên kiết Nơron ngẫu nhiên trong khoảng (-a,a). Đầu ra: Mạng nơron nhân tạo. - Kiểu dữ liệu: chọn lƣu dữ kiểu mảng : Int số lớp; int số nơron[số lớp]; float w[i][j][k]; với 2<=i<=số lớp, 1<=j,k<=số nơron[] , 1.5.5. Phƣơng pháp Support Vector Machines (SVM) Máy sử dụng vector hỗ trợ(SVM) đƣợc Cortess và Vapnik giới thiệu năm 1995, là phƣơng pháp tiếp cận phân lớp hiệu quả để giải quyết vấn đề nhận dạng mẫu 2 lớp sử dụng nguyên lý cực tiểu hóa rủi ro có cấu trúc (Structural Risk Minimization) [10] Trong không gian vector cho trƣớc một tập huấn luyện đƣợc biểu diễn trong đó mỗi tài liệu là một điểm, thuật toán SVM sẽ tìm ra một siêu mặt phẳng h quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tƣơng ứng lớp + và lớp -. Chất lƣợng của siêu mặt phẳng phân cách này đƣợc quyết định bởi khoảng cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt và việc phân lớp càng chính
  • 47. 36 xác. Mục đích thuật toán SVM là tìm đƣợc khoảng cách biên lớn nhất. Hình sau minh họa cho thuật toán này: Hình 1.14. Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với khoảng cách biên lớn nhất [10]. Công thức Phƣơng trình siêu mặt phẳng chứa vector d trong không gian: i d .w b 0   Đặt i i i i +1, khi d .w b 0 (d ) sign(d .w b) -1, khi d .w b h 0             Từ đó, i h(d )biễu diễn sự phân lớp của i d vào hai lớp nói trên. Có i y { 1}   , thì với yi =+1 thì văn bản d  lớp “+”; với yi = -1 thì văn bản d  lớp “-”, lúc này muốn có siêu mặt phẳng h, ta sẽ giải bài toán sau: Tìm Min w trong đó w và b thỏa mãn điều kiện i i i 1,n : y (sign(d .w b)) 1     Khi đó ta có thể sử dụng toán tử Lagrange biến đổi thành dạng thức để giải bài toán. Ở phƣơng pháp SVM, mặt phẳng quyết định chỉ phụ thuộc vào các điểm gần nó nhất (vector hỗ trợ - support vector) mà có khoảng cách đến nó là: 1 w . Khi các điểm khác bị xóa đi thì vẫn không ảnh hƣởng đến kết quả ban đầu.
  • 48. 37 1.6. CHATBOT 1.6.1. Khái niệm Chatbot là một chƣơng trình máy tính có khả năng giao tiếp với con ngƣời bằng cách đƣa ra câu trả lời cho các câu hỏi và thực hiện cuộc trò chuyện bằng cách sử dụng xử lý ngôn ngữ tự nhiên. Con ngƣời đƣa vào lời nói hoặc văn bản ngôn ngữ tự nhiên, trong khi chƣơng trình chatbot sẽ đƣa ra phản hồi thông minh phù hợp nhất dƣới dạng văn bản hoặc lời [5]. Cuộc trò chuyện có thể đƣợc bắt đầu bởi ngƣời dùng hoặc bởi chatbot. Quá trình giao tiếp bắt đầu khi ngƣời dùng nhập câu hỏi hoặc câu dƣới dạng lời nói hoặc văn bản cho chƣơng trình. Sau đó, đầu vào của ngƣời dùng đƣợc phân tích cho các từ khóa hoặc cụm từ mà nó chứa và câu trả lời đƣợc lập trình phù hợp nhất từ cơ sở dữ liệu chatbot. Quá trình kết thúc sau khi đầu ra đƣợc trình bày cho ngƣời dùng bằng đồ họa hoặc bằng lời nói. 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 chatbot đƣợ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 chatbot thƣờng đƣợc chia thành hai loại: âm thanh và tin nhắn. Các chatbot đƣợ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. Dữ liệu vào của ngƣời dùng Dữ liệu của chatbot Từ khóa hoặc cụm từ đƣợc trích xuất Chọn câu trả lời phù hợp nhất