Tải bản đầy đủ (.pdf) (102 trang)

Nghiên cứu xây dựng chatbot hỗ trợ tư vấn du lịch quảng bình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.47 MB, 102 trang )

ĐẠ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  xi , yi  X  Y đƣợc gọi là tập dữ liệu huấn luyện (training data). Từ tập dữ liệu
huấn luyện này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một
phần tử (xấp xỉ) tƣơng ứng của tập Y.
yi  f ( xi ) với x  1, 2,...N

Mục đích là xấp xỉ hàm số f thật tốt để khi có một dữ liệu x mới, chúng ta có
thể tính đƣợc nhãn tƣơng ứng của nó y  f ( x)


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)



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)


×