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

KHÓA LUẬN tốt NGHIỆP CHATBOT TIẾNG VIỆT hỗ TRỢ DU LỊCH

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 (1.64 MB, 74 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN TẤN PHÚC
LÊ KHẮC HẬU LINH

KHÓA LUẬN TỐT NGHIỆP

CHATBOT TIẾNG VIỆT HỖ TRỢ DU LỊCH
Building a Vietnamese chatbot to support tourism

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN TẤN PHÚC – 16520954
LÊ KHẮC HẬU LINH – 16520664

KHÓA LUẬN TỐT NGHIỆP

CHATBOT TIẾNG VIỆT HỖ TRỢ DU LỊCH
Building a Vietnamese chatbot to support tourism


KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
TS.HUỲNH NGỌC TÍN

TP. HỒ CHÍ MINH, 2021


THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ……………………
ngày ………………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.


LỜI CẢM ƠN
Em xin chân thành cảm ơn quý Thầy, Cô trong khoa Công nghệ phần mềm
Trường ĐH Công Nghệ Thông Tin đã trang bị cho em kiến thực nền tảng để có thể
hồ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. Huỳnh Ngọc
Tín đã 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ể
hồn chỉnh hơn

Sinh viên

NGUYỄN TẤN PHÚC LÊ KHẮC HẬU LINH



MỤC LỤC
Chương 1.

MỞ ĐẦU

2

1.1.

Lý do chọn đề tài

2

1.2.

Mục tiêu và nhiệm vụ nghiên cứu

3

1.2.1.

Mục tiêu

3

1.2.2.

Nhiệm vụ nghiên cứu


3

1.3.

Đối tượng và phạm vi nghiên cứu

1.3.1.
1.3.2.

4

Đối tượng nghiên cứu
Phạm vi nghiên cứu

4
4

Phương pháp nghiên cứu

4

1.4.1.

Nghiên cứu lý thuyết

4

1.4.2.

Nghiên cứu thực nghiệm


4

1.4.

1.5.

Ý nghĩa khoa học và thực tiễn của đề tài

5

1.5.1.

Về mặt lý thuyết

5

1.5.2.

Về mặt thực tiễn

5

1.6.

Bố cục luận văn:

Chương 2.
2.1.


NỘI DUNG

Tổng quan về máy học và xử lý ngôn ngữ tự nhiên

5

7
7

2.1.1.
2.1.2.

Phương pháp máy học
Xử lý ngôn ngữ tự nhiên

7
14

2.1.3.
2.1.4.

Các phương pháp biểu diễn văn bản
Tính độ tương đồng

17
27

2.1.5.
2.1.6.


Các phương pháp phân loại văn bản
Chatbot

29
31

Phân tích và thiết kế hệ thống chatbot

34

2.2.
2.2.1.

Các mơ hình chatbot

34

2.2.2.

Phân loại chatbot

35

2.2.3.
2.2.4.

Các phương pháp xây dựng chatbot
Các vấn đề cơ bản khi phát triển hệ thống chatbot

38

42

2.3.

Cài đặt thực nghiệm hệ thống chatbot hỗ trợ tư vấn du lịch sài gịn

48

2.3.1.

Bài tốn tư vấn du lịch

48

2.3.2.
2.3.3.

Phân tích nhu cầu tư vấn du lịch
Dữ liệu thực nghiệm

50
52

2.3.4.
2.3.5.

Mơ hình hệ thống
Cài đặt thực nghiệm

54

56

2.3.6.
2.3.7.

Kết quả thực nghiệm
Phân tích và đánh giá

60
61

Chương 3. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
3.1.

Kết luận

63
63


3.2.

Hướng phát triển

64

DANH MỤC HÌNH
11
Hình 2.1: Bộ dữ liệu chữ viết tay
18

Hình 2.2: Mơ hình vector biểu diễn văn bản
Hình 2.3: Ví dụ mơ hình đồ thị khái niệm
21
22
Hình 2.4: Ví dụ mơ hình đồ thị hình sao
23
Hình 2.5: Ví dụ về mơ hình đồ thị có hướng, khơng gán nhãn
Hình 2.6: Ví dụ mơ hình đồ thị n khoảng cách đơn giản
23
Hình 2.7: Mơ hình Cbow và Skip-gram
24
25
Hình 2.8: Mơ hình túi từ phân tán của vectơ đoạn
Hình 2.9: Mơ hình bộ nhớ phân tán
26
26
Hình 2.10: Mơ hình bộ nhớ phân tán cho việc học vector đoạn
31
Hình 2.11: Xử lý hội thoại giữa chatbot và con người
Hình 2.12: ​Hoạt động của chatbot
32
36
Hình 2.13: Đoạn hội thoại của một chatbot trí tuệ nhân tạo
Hình 2.14: Cấu trúc cơ bản của một chatbot sử dụng NLP và cơng nghệ Machine 39
Hình 2.15: Hệ thống chatbot sử sử dụng phương pháp NLU
40
43
Hình 2.16: Kiến trúc của hệ thống phân lớp ý định
Hình 2.17: Minh hoạ quản lý hội thoại theo mơ hình máy trạng thái hữu hạn FSA 46
Hình 2.18: Phần mềm chatbot

49
Hình 2.19:​ ​Chatbot hỗ trợ tư vấn du lịch
51
54
Hình 2.20: Mơ hình hệ thống chatbot
Hình 2.21:​ ​Các bước thực hiện của giải thuật
56
60
Hình 2.22: Kết quả thực nghiệm
DANH MỤC BẢNG
Bảng 2.1. Biểu diễn văn bản trong mơ hình logic

17


DANH MỤC TỪ VIẾT TẮT
AI

Artificial Intelligence

ML

Machine Learning

NLG

Natural Language Generation

NLU


Natural Language Understanding

NLP

Natural Language Processing

SVM

Support Vector Machine


TĨM TẮT KHĨA LUẬN
-

-

1

Tìm hiểu cơ sở lý thuyết học máy
Tìm hiểu xử lý ngơn ngữ tự nhiên
Tìm hiểu các phương pháp tạo chatbot
Xây dựng hệ thống chat bot hỗ trợ hệ thống tư vấn du lịch gồm:
- Tìm kiếm khách sạn:
- Khách sạn gần đây
- Khách sạn giá rẻ
- Khách sạn tốt nhất
- Đường đến khách sạn
- Khách sạn có bãi gửi xe
- Tìm kiếm địa điểm du lịch:
- Các trung tâm thương mại

- Các viện bảo tàng
- Các khu chợ
- Khu vui chơi
- Bảo tàng chuyên ngành
- Tìm kiếm địa điểm ăn uống:
- Địa điểm ăn uống gần nhất
- Địa điểm ăn uống ngon nhất
- Món ăn ngon nhất
- Món ăn phổ biến
- Món ăn chay
- Câu hỏi thường gặp:
- Diện tích Sài Gịn
- Văn hóa Sài Gịn
- Phương tiện đi lại
Quá trình xây dựng gồm các bước sau:
- Thu nhập dữ liệu
- Xác định ngôn ngữ sử dụng
- Xây dựng tập dữ liệu huấn luyện
- Kịch bản hội thoại
- Xây dựng Action


Chương 1.
1.1.

MỞ ĐẦU

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 Michacl Mauldin dầu ticn vào năm 1994. Chatbots còn dược gọi là
Conversational Agcnts 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 dược thiết kế phức tạp dựa trcn nền tảng xừ lý ngơn
ngữ tự nhicn, nhưng cũng có nhiều hộ thống khác dơn giản hơn bằng cách quct từ
khỏa trong đầu vào, sau dó 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 vveb 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óc. 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, dời sống
con người. Chatbot có lợi thố dổ 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

2


tế khác, dồng thời giải quyết nhiều vấn đề mang tính chất xã hội. Sài Gịn, vùng đất
được thiên nhiên ưu ái ban tặng nhiều tài nguycn quý, dộc dáo dc 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à da dạng. Sài Gòn đã xác định “Du lịch là một ngành kinh tế mùi nhọn
của tình”. Sài Gòn là vùng dất giàu tiềm năng, lợi thế để phát triển du lịch, tuy
nhiên du lịch Sài Gòn 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 Sài Gòn 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 hơn, nâng cao sức cạnh tranh, nâng cao vị
thế du lịch Sài Gòn là một vấn đề quan trọng và cấp thiết cần được đặt ra hiện nay.
1.2.

Mục tiêu và nhiệm vụ nghiên cứu

1.2.1. Mục tiêu
-

Tìm hiểu về máy học, các thuật tốn trong xử lý ngôn ngữ tự nhiên áp dụng
trong xây dựng chatbot nhằm nâng cao hiệu quả, độ chính xác của chatbot.

-

Xây dựng ngữ cảnh chatbot về du lịch Sài Gòn dựa trên các đặc trưng dữ liệu
về du lịch Sài Gòn.

-

Ứng dụng ngữ cảnh mã nguồn mở Rasa để xây dựng thử nghiệm hệ thống
chatbothoox trợ tư vấn cho khách du lịch Sài Gịn.
1.2.2. 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.

3

-

Tìm hiểu các phương pháp tính tốn độ tương tự của văn bản.

-

Tìm hiểu cơng nghệ và kỹ thuật thiết kế chatbot.


1.3.

Đối tượng và phạm vi nghiên cứu

1.3.1. Đố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ây dựng 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.

-

Dữ liệu về du lịch Sài Gòn .
1.3.2. Phạm vi nghiên cứu

-

Nghiên cứu dữ liệu Tiếng Việt dùng trong du lịch và ngôn ngữ hội thoại sử
dụng cho xây dựng chatbot.

-

Xây dựng và thực nghiệm hệ thống mơ phỏng trợ lý ảo có trí tuệ nhân tạo,
hiểu và có thể trả lời những câu hỏi về thơng tin du lịch Sài Gịn .

1.4.

Phương pháp nghiên cứu

1.4.1. Nghiên cứu lý thuyết
-

Lý thuyết về máy học, các phương pháp biễu diễn văn bản đố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 Sài Gòn.

-

Xây dựng lịch bản cho chatbot di lịch Sài Gòn.
1.4.2. 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 Sài Gòn và phân tích,

đánh giá kết quả.

4


1.5.

Ý nghĩa khoa học và thực tiễn của đề tài

1.5.1. Về mặt lý thuyết
-

Thực nghiệm các giả thuyết về các kỹ thuật xử lý ngơn ngữ tự nhiên, kỹ
thuật tính 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 huấn luyện và trang bị

khả năng tự học của chatbot.
1.5.2. Về mặt thực tiễn

-

Khách du lịch giao tiếp với hệ thống chatbot hoạt động tự động trên nền tảng
trí tuệ nhân tạo, từng bước đưa Việt Nam bắt kịp và hội nhập theo xu hướng
phát triển của công nghiệp 4.0.

-

Tăng lượng du khách đến với Sài Gịn, nâng cao chất lượng chăm sóc khách
du lịch.

1.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:
Chương I. Mở đầu
Chương II. Nội dung luận văn
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.

5


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.
3. Cài đặt thực nghiệm hệ thống chatbot hỗ trợ tư vấn du lịch Sài Gịn
Trong chương này mơ tả bài tốn sử dụng chatbot hỗ trợ tư vấn, phân
tích nhu cầu tư vấn, xây dựng dữ liệu thực nghiệm, đề xuất mơ hình hệ
thống, cài đặt thực nghiệm, phân tích và đánh giá kết quả thực nghiệm
Chương III. Kết luận và hướng phát triển

6


Chương 2.
2.1.

NỘI DUNG

Tổng quan về máy học và xử lý ngơn ngữ tự nhiên

2.1.1. Phương pháp máy học
2.1.1.1.

Trí tuệ nhân tạo

a) Đị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 .
b) Q 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 .
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.
7


Những năm sau đó, các nhà khoa học như John McArthy, Marvin Minsky,
Allen Newell và Herbert Simon cùng với những cộng sự đã viết nên những chương
trình máy tính giải được những bài toán đại số, chứng minh các định lý và nói được
tiếng Anh. Những thập niên tiếp theo một số nghiên cứu đã chứng minh không thể
vượt qua với các cơng nghệ tại thời điểm đó.
Đến thập kỷ 60, 70 Joel Moses viết chương trình tốn học Macsyma sử dụng cơ
sở tri thức đầu tiên thành công. Marvin Minsky và Seymour Papert đưa ra các chứng
minh đầu tiên về giới hạn của các mạng nơron đơn giản.
Vào đầu những năm 1980, những nghiên cứu thành công liên quan đến AI như
các hệ chuyên gia (expert systems) - một dạng của chương trình AI mơ phỏng tri thức

và các kỹ năng phân tích của một hoặc nhiều chuyên gia con người. Đến những năm
1990 và đầu thế kỷ 21, AI đã đạt được những thành tựu to lớn nhất, AI được áp dụng
trong logic, khai phá dữ liệu, chẩn đoán y học và nhiều lĩnh vực ứng dụng khác trong
công nghiệp
Hiện nay, khoa học công nghệ phát triển mạnh mẽ, cùng những bộ dữ liệu
phong phú, các công cụ phát triển phần mềm miễn phí hoặc giá rẻ đã hỗ trợ rất nhiều
cho các nhà nghiên cứu. Từ đó đã thúc đẩy sự phát triển các nghiên cứu về trí tuệ nhân
tạo, giúp cho AI thu hút đơng đảo các ông lớn như: Facebook, Google, Microsoft...
tham gia nghiên cứu, phát triển sản phẩm và mở ra kỷ nguyên mới cho trí tuệ nhân tạo.
c) 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ềmVnDOCR 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
8


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.
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.
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 q” 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 .
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 q trình học tập, khám phá khoa học
9


của con người. Ngồi ra, dữ liệu thường có số lượng rất lớn, với nhiều kiểu (số, văn
bản, hình ảnh, âm thanh, video...) và khơng ngừng thay đổi. Để tìm ra tri thức thì các
chương trình phải đối mặt với vấn đề độ phức tạp tính tốn. Đây là lĩnh vực vẫn còn
đang trong giai đoạn đầu phát triển.
Lái xe tự động: Theo Sebastian Thrun, Giáo sư ngành máy tính và kỹ thuật điện

của Đại học Carnegie Mellon: ưu điểm lớn nhất của xe tự lái là khả năng loại bỏ sai
sót của con người - nguyên nhân dẫn đến 95% số vụ tử vong mỗi năm tại Mỹ do tai
nạn giao thơng. “Chúng tơi có thể giảm bớt 50% số vụ tai nạn do nguyên nhân này”,
ông Sebastian Thrun khẳng định. Chế tạo được ôtô tự lái và an toàn cao cũng là một
mục tiêu được Cục nghiên cứu các dự án cơng nghệ cao Bộ quốc phịng Mỹ DARPA
(Defense Advanced Research Projects Agency) khởi xướng và hỗ trợ dưới dạng một
cuộc thi mang tên “thách thức lớn của DARPA” (DARPA grand challenge). Chúng ta
hy vọng sẽ đến một ngày, những chiếc ôtô chạy trên đường không cần người lái. Chỉ
nói nơi muốn đến, xe sẽ đưa ta đi và đi an toàn.
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.
2.1.1.2.

Máy học

a) Các phương pháp máy học
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ữ.
10



Hiện nay có hai cách phổ biến để phân nhóm các thuật tốn học máy. Đó là dựa
trên phương thức học (learning style) và dựa trên chức năng (function) của mỗi thuật
toán. 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 tố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={x​1​,x​0​,…,x​N​} và một tập hợp nhãn tương ứng
Y={y​1​,y​2​,…,y​N​}, trong đó x​i​,y​i là các vector. Các cặp dữ liệu biết đượ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.
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

​ ​f ​(​x​)
được nhãn tương ứng của nó y 
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 tố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ự đốn bức ảnh đó chứa chữ số nào.

11


Hình 2.1: Bộ dữ liệu chữ viết tay

Thuật tốn học có giám sát được chia thành hai loại là phân loại (classification)
và hồi quy (regression). Một bài toán được gọi là ​phân loại n​ ếu các nhãn của dữ liệu

vào được chia thành một số hữu hạn nhóm. Ví dụ: cơng cụ xác định xem một email có
phải là thư rác hay không của Gmail; xác định xem một khách hàng có khả năng thanh
tốn nợ hay khơng trong các hãng tín dụng. Cịn ​hồi quy ​thì nhãn khơng được chia
thành các nhóm mà là một giá trị cụ thể. ​Ví dụ: một khu đất có diện tích là ​x m
​ 2​ , có ​y
căn nhà, các xa trung tâm thị trấn z k​ m sẽ có giá bao nhiêu?
- Học khơng giám sát ( Unsupervised Learning): Trong thuật tốn này chỉ có dữ
liệu đầu vào mà khơng biết được đầu ra hoặc nhãn. Thuật toán này sẽ dựa vào cấu trúc
dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc
giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và
tính tốn. Phát biểu dưới dạng tốn học, học khơng giám sát là khi chúng ta chỉ có dữ
liệu vào X ​mà khơng biết nhãn Y ​tương ứng.
Ví dụ: Xây dựng tham số “k-mean” cho vấn đề chia nhóm. Thuật tốn Apriori
cho các vấn đề liên quan đến việc học tập quy tắc.
Các bài tốn học khơng giám sát tiếp tục được chia thành hai loại phân nhóm
(clustering) và kết hợp (association). Phân nhóm của một bài tốn phân nhóm tồn bộ
dữ liệu X thành các nhóm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm.
Ví dụ: phân nhóm khách hàng dựa trên hành vi mua hàng. Kết hợp là bài toán khi
chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước. Ví dụ:
chẳng hạn như những người mua A cũng có khuynh hướng mua B.
-

Học bán giám sát (Semi-Supervised Learning): Các bài tốn khi chúng ta

có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn được gọi
là học bán giám sát. Những bài tốn thuộc nhóm này nằm giữa hai nhóm học giám sát
và học không giám sát. Trong thực tế các bài 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. Ngồi ra có những loại dữ
liệu chỉ có chuyên gia mới gán nhãn được (như ảnh y học), cũng có những loại dữ liệu
chưa có nhãn có thể thu thập với chi phí thấp từ internet.

12


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 ghi
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ố.
b) Ứng dụng của học máy
Hiện nay học máy được ứng dụng rộng khắp các ngành khoa học, sản xuất đặc
biệt là các ngành cần phân tích khối dữ liệu lớn. Một số ứng dụng học máy phổ biến:
Xử lý ngôn ngữ tự nhiên (Natural Language Processing): Xử lý văn bản, truy
xuất thơng tin, trích chọn thơng tin, tóm tắt văn bản tự động, khai phá và phát hiện tri
thức, giao tiếp người – máy, dịch máy.
Máy tìm kiếm: Như Google, Bing, Youtube các hệ thống này sử dụng các cơng
cụ của học máy để phát triển hệ thống tìm kiếm.
Tin sinh học: Trong lĩnh vực tin sinh học chuyên nghiên cứu về việc phát triển
các giải thuật, lý thuyết và các kĩ thuật thống kê và tính tốn để giải quyết các bài toán
bắt nguồn từ nhu cầu quản lý và phân tích dữ liệu sinh học, phân loại và dự đốn chuỗi
gene, dự đốn tính chất của thuốc mới.
Nhận dạng mẫu (Patten recognition): Các ứng dụng phổ biến là nhận dạng tiếng nói tự
động, phân loại văn bản thành nhiều loại khác nhau (ví dụ: những thư điện tử nào là
spam/non-spam), nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay hệ
thống nhận dạng danh tính dựa vào mặt người.

Chẩn đốn trong y tế: Công nghệ học máy giúp các chuyên gia y tế xác định
những xu hướng hoặc tín hiệu để cải thiện khả năng điều trị, chẩn đoán bệnh, trợ giúp
phân tích ảnh X – quang.
13


Các dịch vụ tài chính: Ngân hàng và các doanh nghiệp hoạt động trong lĩnh vực
tài chính sử dụng cơng nghệ học máy nhằm tìm khách hàng đang có hồ sơ rủi ro cao
hoặc sử dụng giám sát mạng để chỉ rõ những tín hiệu lừa đảo, gian lận thẻ tín dụng.
Phân tích thị trường chứng khốn (stock market analysis): Sử dụng các kỹ thuật
toán học máy tiên tiến như mạng nơron nhân tạo (ANN), máy vector hỗ trợ (SVM) vào
bài toán dự báo chứng khoán dựa trên tập dữ liệu lịch sử giá.
Trò chơi: Chơi cờ (Deep blue, IBM, 1998), Deep Blue là một máy tính chơi cờ
vua do IBM phát triển. Nó được biết đến như là hệ thống cờ vua máy tính đầu tiên
giành được cả một trò chơi cờ vua và một trận đấu cờ vua chống lại nhà vơ địch thế
giới trị vì dưới sự kiểm sốt thời gian thơng thường.
Người máy (robot): Là tổng hợp của rất nhiều ngành khoa học, trong đó học
máy tạo nên hệ thần kinh/bộ não của người máy.
2.1.2. Xử lý ngôn ngữ tự nhiên
2.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ụ hồn hảo nhất của tư duy và giao tiếp.
Xử lý ngôn ngữ chính là xử lý thơng tin khi thơng tin đầu vào là “dữ liệu ngôn
ngữ” (dữ liệu cần biến đổi), tức dữ liệu “văn bản” hay “tiếng nói”. Các dữ liệu liên
quan đến ngôn ngữ viết (văn bản) và nói (tiếng nói) đang dần trở thành kiểu dữ liệu

chính con người và lưu trữ dưới dạng điện tử. Đặc điểm chính của kiểu dữ liệu này là
khơng có cấu trúc hoặc nửa bán cấu trúc và chúng ta không thể lưu trữ trong các khuôn
dạng cố định như các bảng biểu.
2.1.2.2.

Các bài tố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:
14


Phân tích hình vị: Là sự nhận biết, phân tích, và miêu tả cấu trúc của những
hình vị trong một ngôn ngữ cho trước và các đơn vị ngôn ngữ khác, như từ gốc, biên
từ, phụ tố, từ loại,… Có hai loại bài tốn điển hình trong phần này, bao gồm bài toán
tách từ (word segmentation) và gán nhãn từ loại (POS).
Phân tích cú pháp: Là quy trình phân tích một chuỗi các biểu tượng, ở dạng
ngôn ngữ tự nhiên hoặc ngơn ngữ máy tính, tn theo văn phạm hình thức. Văn phạm
hình thức thường dùng trong phân tích cú pháp của ngôn ngữ tự nhiên bao gồm văn
phạm phi ngữ cảnh (Context-free grammar–CFG), văn phạm danh mục kết nối
(Combinatory categorial grammar–CCG), và văn phạm phụ thuộc (Dependency
grammar–DG). Đầu vào của q trình phân tích là một câu gồm một chuỗi từ và nhãn
từ loại của chúng, và đầu ra là một cây phân tích thể hiện cấu trúc cú pháp của câu đó.
Các thuật tốn phân tích cú pháp phổ biến bao gồm CKY, Earley, Chart và GLR.
Phân tích ngữ nghĩa: Là quá trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm từ,
mệnh đề, câu và đoạn đến cấp độ toàn bài viết, với ý nghĩa độc lập của chúng. Nói
cách khác, việc này nhằm tìm ra ngữ nghĩa của đầu vào ngơn từ. Phân tích ngữ nghĩa
bao gồm hai mức độ: Ngữ nghĩa từ vựng biểu hiện các ý nghĩa của những từ thành
phần, và phân biệt nghĩa của từ; Ngữ nghĩa thành phần liên quan đến cách thức các từ
liên kết để hình thành những nghĩa rộng hơn.

Phân tích diễn ngơn: Ngữ dụng học là môn nghiên cứu về mối quan hệ giữa
ngôn ngữ và ngữ cảnh sử dụng. Ngữ cảnh sử dụng bao gồm danh tính của người hoặc
vật, và vì thế ngữ dụng học bao gồm những nghiên cứu về cách ngôn ngữ được dùng
để đề cập (hoặc tái đề cập) tới người hoặc vật. Ngữ cảnh sử dụng bao gồm ngữ cảnh
diễn ngơn, vì vậy ngữ dụng học cũng bao gồm những nghiên cứu về cách thức cấu tạo
nên diễn ngôn, và cách người nghe hiểu người đang đối thoại với mình.
Khía cạnh thứ hai của NLP là sinh ngôn ngữ tự nhiên (NLG). Đây là một nhiệm
vụ trong quá trình xử lý ngôn ngữ tự nhiên trong việc sinh ra ngôn ngữ tự nhiên từ một
hệ thống máy biểu diễn như một cơ sở tri thức hoặc một dạng biểu diễn logic. NLG
đóng vai trị quan trọng trong rất nhiều ứng dụng NLP, bao gồm sinh hội thoại, tương
tác người – máy, dịch thuật máy, và tóm tắt văn bản tự động.
15


2.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 :
Nhận dạng chữ viết: Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ in, ví dụ
nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng văn bản. Phức tạp hơn là
nhận dạng chữ viết tay, có khó khăn bởi vì chữ viết tay khơng có khn dạng rõ ràng và
thay đổi từ người này sang người khác. Với chương trình nhạn dạng chữ viết in có thể
chuyển hàng ngàn đầu sách trong thư viện thành văn bản điện tử trong thời gian ngắn.
Nhận dạng chữ viết của con người có ứng dụng trong khoa học hình sự và bảo mật thông
tin (nhận dạng chữ ký điện tử).
Nhận dạng tiếng nói: Nhận dạng tiếng nói rồi chuyển chúng thành văn bản tương

ứng. Giúp thao tác của con người trên các thiết bị nhanh hơn và đơn giản hơn. Đây cũng
là bước đầu tiên cần phải thực hiện trong thực hiện giao tiếp giữa con người với robot.
Một ví dụ của ứng dụng nhận dạng tiếng nói là trợ giúp người khiếm thị.
Tổng hợp tiếng nói: Từ một văn bản tự động tổng hợp thành tiếng nói. Thay vì
phải tự đọc một cuốn sách hay nội dung một trang web, nó tự động đọc cho chúng ta.
Giống như nhận dạng tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt cho người khiếm
thị, nhưng ngược lại nó là bước cuối cùng trong giao tiếp giữa robot với người.
Dịch tự động (Machine translate): là chương trình dịch tự động từ ngơn ngữ này
sang ngôn ngữ khác. Các nghiên cứu và ứng dụng của dịch tự động hiện nay rất phát
triển, các ứng dụng có độ chính xác cao.
Tìm kiếm thơng tin (Information retrieval): Đặt câu hỏi và chương trình tự tìm ra
nội dung phù hợp nhất. Thông tin ngày càng đầy lên theo cấp số nhân, đặc biệt với sự
trợ giúp của internet, việc tiếp cận thông tin trở lên dễ dàng hơn bao giờ hết. Vấn đề là
tìm đúng nhất thơng tin cần tìm và đặc biệt thơng tin đó phải đáng tin cậy. Các máy tìm
kiếm dựa trên giao diện web như Google hay Yahoo hiện nay chỉ 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
16


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.

17


18



×