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

Chát bot và công nghệ tích hợp xử lý ngôn ngữ tự nhiên

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.67 MB, 74 trang )

Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

ĐỒ ÁN TỐT NGHIỆP
TÊN ĐỀ TÀI: CHAT BOT VÀ CƠNG NGHỆ TÍCH HỢP XỬ LÝ
NGƠN NGỮ TỰ NHIÊN
Sinh viên thực hiên

: Trần Trung Hiếu

Ngày sinh

: 01/03/1999

Lớp

: DCCNTT8.10

Khoa

: Công Nghệ Thông Tin

Mã sinh viên

: 1752480201018



Giáo viên hướng dẫn

: ThS. Lê Trung Thực

Bắc Ninh T4 – 20222

1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

TRẦN TRUNG HIẾU
TÊN ĐỀ TÀI: CHAT BOT VÀ CÔNG NGHỆ TÍCH HỢP
XỬ LÝ NGƠN NGỮ TỰ NHIÊN

Giáo viên hướng dẫn: Ths. Lê Trung Thực

Bắc Ninh T4 – 2022


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn đến Ban Giám hiệu trường Đại học Công

Nghệ Đông Á đã tạo cho em môi trường tốt để em có thể học tập và tiếp thu được
những kiến thức quý báu trong những năm qua.
Em xin gửi lời cảm ơn sâu sắc đến Thầy giáo, Thạc Sĩ Lê Trung Thực đã
nhiệt tình hướng dẫn, định hướng, hỗ trợ em trong suốt quá trình thực hiện đồ án,
giúp đỡ em tiếp cận với cách tư duy, giải quyết và trình bày một vấn đề cần nghiên
cứu. Những điều này đã giúp em khắc phục được những hạn chế của bản thân và
những khó khăn để hồn thành đồ án thành công, đúng thời hạn.
Em cũng gửi lời cảm ơn chân thành tới các thầy cô trong trường, đặc biệt các
thầy cô trong Khoa Công nghệ thông tin đã giảng dạy em trong suốt thời gian học
tập tại trường. Với những kiến thức, bài học có được sẽ là hành trang giúp em tự
tin hơn trong công việc, cuộc sống và những mục tiêu trong tương lai.
Mặc dù em đã cố gắng hoàn đồ án bằng tất cả sự nỗ lực và khả năng của
mình, nhưng chắc chắn vẫn cịn nhiều hạn chế và thiếu sót. Em mong nhận được
sự cảm thơng và góp ý q giá từ các thầy cô và các bạn.

Bắc Ninh, Tháng 4, Năm 2022
Sinh viên thực hiện

Trần Trung Hiếu

1


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

MỤC LỤC


DANH MỤC HÌNH ẢNH .......................................................................... 5
DANH MỤC BẢNG BIỂU ........................................................................ 8
MỞ ĐẦU ................................................................................................... 9
1. Tên đề tài ............................................................................................ 9
2. Lý do chọn đề tài ................................................................................ 9
3. Mục tiêu của đề tài ............................................................................ 10
4. Đối tượng và phạm vi nghiên cứu ..................................................... 10
5. Phương pháp nghiên cứu................................................................... 10
CHƯƠNG 1. CÁC VẤN ĐỀ TỔNG QUAN ......................................... 11
1.1.

Giới thiệu ................................................................................... 11

1.2.

Trí tuệ nhân tạo........................................................................... 11

1.3.

Lịch sử hình thành và phát triển của chatbot ............................... 11

1.3.1.

Sự phát triển của Chatbot trong thế kỷ XX .............................................. 12

1.3.1.1.

Năm 1950: Các phép thử Turing .................................................................. 12


1.3.1.2.

Năm 1966: ELIZA – Chương trình trị chuyện đầu tiên được tạo ra .............. 13

1.3.1.3.

Năm 1972: Bác sĩ Kenneth Colby phát triển chatbot PARRY ....................... 14

1.3.1.4.

Năm 1988: Chatbot Jabberwacky ................................................................. 14

1.3.1.5.

Năm 1992: Dr. SBAITSO ............................................................................ 15

1.3.1.6.

Năm 1995: ALICE ....................................................................................... 16

Những bước tiến dài của Chatbot đầu thế kỷ XXI ................................... 16

1.3.2.
1.3.2.1.

Năm 2006: IBM Watson .............................................................................. 16

1.3.2.2.

Năm 2010-2016: Thời kỳ bùng nổ các trợ lý ảo ............................................ 17


1.3.2.3.

Từ năm 2016 đến nay: Chatbot Messenger bùng nổ...................................... 17

Chatbot và tương lai thay đổi ngành dịch vụ khách hàng ......................... 18

1.3.3.

1.4.

Tổng quan về xử lý ngôn ngữ tự nhiên ....................................... 18

1.4.1.

Sơ lược về ngôn ngữ tự nhiên ................................................................. 18

1.4.2.

Xử lý ngơn ngữ tự nhiên ......................................................................... 19

1.4.2.1.

Ngơn ngữ hình thức – Formal Language ...................................................... 19

1.4.2.2.

Các khái niệm cơ bản ................................................................................... 21

2



Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

1.4.2.3.

Văn Phạm – Grammar : G = { N, Σ, P, S} .................................................... 22

1.4.2.4.

Cấu trúc văn phạm trong xử lý ngôn ngữ tự nhiên ........................................ 22

1.4.2.5.

Giải thuật phân tích cú pháp Earley .............................................................. 23

1.4.3.

Xử lý tiếng Việt ...................................................................................... 26

1.5.

Bài toán chat bot gợi ý địa điểm ăn uống .................................... 27

1.6.


Kết luận chương ......................................................................... 28

CHƯƠNG 2. THIẾT KẾ HỆ THỐNG ................................................... 29
2.1.

Giới thiệu ................................................................................... 29

2.2.

Thiết kế hệ thống ........................................................................ 29

2.2.1.

Thiết kế sơ đồ khối hệ thống ................................................................... 29

2.2.2.

Chức năng các khối hệ thống .................................................................. 29

2.2.2.1.

Khối truyền dữ liệu, thông tin. ..................................................................... 29

2.2.2.2.

Khối xử lý dữ liệu, thông tin thông qua wit.ai............................................... 30

2.2.2.3.

Khối thực hiện truy vấn trên Webhook ......................................................... 32


CHƯƠNG 3. THI CÔNG HỆ THỐNG .................................................. 34
3.1.

Giới thiệu ................................................................................... 34

3.2.

Lập trình hệ thống ...................................................................... 34

3.2.1.

Sơ đồ và lưu đồ ....................................................................................... 34

3.2.2.

Phần mềm hệ thống................................................................................. 37

3.2.2.1.

Facebook Messenger Platform ..................................................................... 37

3.2.2.2.

Bộ API Send/Receive .................................................................................. 38

3.2.2.3.

Wit.ai........................................................................................................... 39


3.2.3.

Xử lý sự đa dạng hóa về dữ liệu .............................................................. 42

3.2.4.

Hệ thống Crawl dữ liệu ........................................................................... 45

3.2.4.1.

Crawl dữ liệu metadata(tỉnh, thành phố, quận huyện) và danh mục địa điểm 45

3.2.4.2.

Crawl dữ liệu nhà hàng, quán ăn. ................................................................. 50

3.2.5.

Hệ thống gửi và nhận tin nhắn qua Facebook Messenger ........................ 53

3.2.5.1.

Thiết lập Webhook ...................................................................................... 53

3.2.5.2.

Nhận yêu cầu, xử lý yêu cầu, truy vấn dữ liệu và phản hồi người dùng ......... 57

3.2.5.3.


Thuật toán nearby ........................................................................................ 61

CHƯƠNG 4. KẾT QUẢ ĐẠT ĐƯỢC VÀ NHẬN XÉT ĐÁNH GIÁ ... 68
4.1.

Kết quả đạt được......................................................................... 68

4.2.

Nhận xét và đánh giá .................................................................. 68
3


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

4.2.1.

Ưu điểm:................................................................................................. 68

4.2.2.

Nhược điểm: ........................................................................................... 68

4.3.

Hướng phát triển. ........................................................................ 69


4.3.1.

Mở rộng ra nhiều nền tảng khác nhau...................................................... 69

4.3.2.

Mở rộng phục vụ được nhiều dạng nghiệp vụ.......................................... 70

4.3.3.

Khai phá dữ liệu ..................................................................................... 71

TÀI LIỆU THAM KHẢO ........................................................................ 72

4


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

DANH MỤC HÌNH ẢNH
Hình 1.1: Chatbot qua các thời kỳ ............................................................ 12
Hình 1.2: Các phép thử Turing ................................................................. 13
Hình 1.3: Eliza - Chương trình trị chuyện đầu tiên được tạo ra ................ 14
Hình 1.4: Dr SBAITSO ............................................................................ 15
Hình 1.5: Phân loại ngơn ngữ tự nhiên theo nguồn gốc ............................ 19

Hình 1.6: Tiền đề trong việc xây dựng lý thuyết Automata là ngơn ngữ hình
thức .................................................................................................................. 20
Hình 1.7: Mơ hình phân cấp Chomsky ..................................................... 21
Hình 1.8: Cấu trúc thành phần .................................................................. 22
Hình 1.9: Cấu trúc phụ thuộc .................................................................... 23
Hình 1.10: Cây văn phạm liền kề.............................................................. 23
Hình 1.11: Hình thức logic ....................................................................... 23
Hình 1.12: Ví dụ về cây suy dẫn ............................................................... 26
Hình 1.13: Ví dụ nhập nhằng với kết quả nhiều cây suy dẫn .................... 26
Hình 2.1: Sơ đồ khối hệ thống .................................................................. 29
Hình 2.2: Sơ đồ quá trình truyền dữ liệu, thơng tin ................................... 30
Hình 2.3: Q trình xử lý dữ liệu thơng tin qua wit.ai............................... 31
Hình 2.4: Thực hiện truy vấn trên webhook.............................................. 32
Hình 3.1: Sơ đồ chương trình ................................................................... 34
Hình 3.2: Lưu đồ hệ thống ........................................................................ 36
Hình 3.3: Facebook Messenger Platform .................................................. 38
Hình 3.4: Tạo mới một app trong wit.ai .................................................... 40
Hình 3.5: Tạo entity trong wit.ai ............................................................... 41
5


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

Hình 3.6: Tạo intent trong wit.ai ............................................................... 42
Hình 3.7: Thực thể symnonym ................................................................. 42
Hình 3.8: Thực thể productDetail ............................................................. 43

Hình 3.9: Xử lý đa dạng dữ liệu ............................................................... 43
Hình 3.10: Tìm món ăn với nghĩa gốc ...................................................... 44
Hình 3.11: Tìm món ăn với từ đồng nghĩa ................................................ 44
Hình 3.12: Gọi API đăng nhập foody ....................................................... 46
Hình 3.13: Lưu cookie sau khi đăng nhập................................................. 47
Hình 3.14: Lấy dữ liệu metadata ............................................................... 48
Hình 3.15: Crawl dữ liệu nhà hàng, quán ăn ............................................. 50
Hình 3.16: Dữ liệu đầu vào API lấy dữ liệu nhà hàng, quán ăn................. 51
Hình 3.17: Gọi API lấy dữ liệu nhà hàng, quán ăn.................................... 52
Hình 3.18: Nền tảng Messenger hoạt động ............................................... 53
Hình 3.19: Khởi tạo dự án webhook ......................................................... 54
Hình 3.20: Tạo HTTP server .................................................................... 54
Hình 3.21: Tạo webhook API ................................................................... 55
Hình 3.22: Tiến trình xác minh webhook ................................................. 56
Hình 3.23: Triển khai webhook lên remote server .................................... 57
Hình 3.24: các hàm xử lý sự kiện webhook .............................................. 58
Hình 3.25: Trích xt PSID của người dùng trong webhook .................... 58
Hình 3.26: Xử lý input người dùng bao gồm địa điểm và tên món ăn ....... 59
Hình 3.27: Xử lý yêu cầu của người dùng chỉ có tên món ăn .................... 60
Hình 3.28: Hệ thống yêu cầu người dùng chọn địa điểm ......................... 60
Hình 3.29: Hệ thống trả lại kết quả cho người dùng ................................. 61
6


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT


Hình 3.30: Thuật tốn nearby của hệ thống .............................................. 62
Hình 3.31: Thực thể district ...................................................................... 62
Hình 3.32: Thực thể address ..................................................................... 63
Hình 3.33: Lọc theo quận khi người dùng gửi vị trí .................................. 63
Hình 3.34: Cơng thức haversine ............................................................... 64
Hình 3.35: Bán kính tạo bởi cơng thức havesine ....................................... 64
Hình 3.36: Địa điểm nằm trong bán kính nhưng khoảng cách thực tế lớn hơn
2km .................................................................................................................. 65
Hình 3.37: Địa điểm hợp lệ ...................................................................... 65
Hình 3.38: Lưu đồ thuật tốn nearby ........................................................ 66
Hình 3.39: Người dùng chia sẻ vị trí trực tiếp ........................................... 66
Hình 3.40: Hệ thống trả lại kết quả cho người dùng ................................. 67
Hình 4.1: Triển khai hệ thống trên nhiều nền tảng khác nhau ................... 69
Hình 4.2: Triển khai hệ thống trên một product component ...................... 70
Hình 4.3: Triển khai hệ thống trên nhiều component ................................ 70
Hình 4.4: Xây dựng center server chứa common component .................... 71
Hình 4.5: Thực thể FacebookUser ............................................................ 71

7


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

DANH MỤC BẢNG BIỂU
Bảng 1.1: Cách sắp xếp trật tự câu............................................................ 19
Bảng 3.1: Một số khái niệm cơ bản của wit.ai .......................................... 40


8


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

MỞ ĐẦU
1. Tên đề tài
“Chat bot và cơng nghệ tích hợp xử lý ngơn ngữ tự nhiên”.

2. Lý do chọn đề tài
Các doanh nghiệp ngày càng chú trọng việc kết nối trực tiếp và cung cấp các
dịch vụ hỗ trợ trực tuyến cho khách hàng. Nhiều doanh nghiệp lớn đã bỏ ra hàng
trăm triệu thậm chí hàng tỷ đồng để xây dựng các ứng dụng để kết nối với khách
hàng. Tuy nhiên, nhiều ứng dụng tỏ ra không hiệu quả và khách hàng vẫn phải
gọi điện lên tổng đài hỗ trợ để giải quyết vấn đề của họ.
Hàng loạt Apps ra đời để kết nối doanh nghiệp với khách hàng. Gần đây, các
doanh nghiệp hoạt động trong nhiều lĩnh vực đều tung ra thị trường các ứng dụng
trên nền tảng di động (mobile apps). Đặc biệt là trong lĩnh vực tin tức, tài chính,
du lịch, … Các ứng dụng này được tạo ra với mục đích chính đó là kết nối doanh
nghiệp với khách hàng và mang lại trải nghiệm tốt hơn cho khách hàng. Tuy nhiên,
số lượng người dùng các ứng dụng này thường không đồng đều và thời gian sử
dụng ứng dụng cũng rất thấp. Ngược lại, các ứng dụng nhắn tin như Facebook
Messenger hay Zalo Chat lại có thời gian sử dụng cực lớn. Theo thống kê, mỗi
ngày 1 người dành từ 4-12 tiếng để sử dụng điện thoại di động, thời gian trung
bình là khoảng 6 tiếng/ngày. Trong đó, thời gian cho việc sử dụng các ứng dụng

nhắn tin như Facebook và Zalo chiếm khoảng 1 tiếng/ngày.
Với ưu điểm là có hàng tỷ người dùng hàng tháng và có lượng thời gian sử
dụng cao, Facebook Messenger trở thành ứng dụng nhắn tin được nhiều người sử
dụng nhất. Sự ra đời của Chatbot đánh dấu một bước tiến dài và một bước ngoặt
lịch sử trong lĩnh vực Marketing cũng như chăm sóc khách hàng. Với tỷ lệ mở tin
nhắn lên đến 85%, gấp 8-10 lần so với email marketing hay SMS marketing,
Chatbot Messenger Marketing chắc chắn là một giải pháp tiếp cận khách hàng tốt
nhất hiện nay.

9


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

Nhiều doanh nghiệp vừa và nhỏ khơng có đủ kinh phí để tạo lập một ứng
dụng trên điện thoại. Và Chatbot Messenger trở thành một giải pháp tuyệt vời để
kết nối doanh nghiệp với khách hàng. Khách hàng có thể tìm hiểu thơng tin về
dịch vụ, sản phẩm của công ty thông qua các chatbot được xây dựng. Bot cịn có
khả năng hoạt động 24/24 trong suốt 365 ngày mà khơng cần nghỉ ngơi, có thể
chăm sóc khách hàng mọi lúc, mọi nơi. Chatbot cịn giúp tiết kiệm chi phí chăm
sóc khách hàng và làm giảm chi chí dịch vụ khách hàng của doanh nghiệp.

3. Mục tiêu của đề tài
Đề tài ra mục tiêu là hiểu rõ về chat bot và tích hợp cơng nghệ trí tuệ nhân
tạo để xử lý ngôn ngữ tự nhiên.
Để đạt được mục tiêu nêu trên cần khảo sát, phân tích và hệ thống hóa nội

dung các tài liệu khoa học liên quan đến chatbot và xử lý ngôn ngữ tự nhiên, thực
hành thiết kế mơ hình và thực hiện giải pháp cho bài toán chat bot gợi ý địa điểm
ăn uống.

4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Đề tài tập trung vào các đối tượng có nhu cầu tìm
kiếm địa điểm ăn uống trên internet.
Phạm vi nghiên cứu: Đề tài nghiên cứu về giải pháp chat bot gợi ý địa điểm
ăn uống trên nền tảng Facebook Messenger.

5. Phương pháp nghiên cứu
Khảo sát, phân tích và hệ thống hóa nội dung các tài liệu khoa học liên quan
đến chatbot và xử lý ngôn ngữ tự nhiên.
Đối sánh nội dung nghiên cứu của đề tài với các nội dung nghiên cứu đã thực
hiện để vừa phát triển áp dụng các kết quả khoa học - công nghệ đã có cho đề tài
vừa tìm ra các nội dung mới cần được nghiên cứu và thi hành.
Thiết kế mơ hình và thực nghiệm đánh giá các kỹ thuật, bài toán đã đề xuất
để chứng minh tính hiệu quả.
10


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

CHƯƠNG 1. CÁC VẤN ĐỀ TỔNG QUAN
1.1. Giới thiệu
Chương 1 giới thiệu tổng quan về chatbot, lịch sử phát triển của chatbot, xử

lý ngôn ngữ tự nhiên, giải thuật cơ bản về xử lý ngôn ngữ tự nhiên, bài toán chat
bot gợi ý địa điểm ăn uống cùng các vấn đề liên quan.

1.2. Trí tuệ nhân tạo
Trí tuệ nhân tạo hay trí thơng minh nhân tạo (Artificial intelligence – viết
tắt là AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science). Là
trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động
hóa các hành vi thơng minh như con người.
Trí tuệ nhân tạo khác với việc lập trình logic trong các ngơn ngữ lập trình là
ở việc ứng dụng các hệ thống học máy (machine learning) để mơ phỏng trí tuệ
của con người trong các xử lý mà con người làm tốt hơn máy tính.
Cụ thể, trí tuệ nhân tạo 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ữ, tiếng nói, biết học và tự thích nghi,…
Tuy rằng trí thơng minh nhân tạo có nghĩa rộng như là trí thơng minh trong
các tác phẩm khoa học viễn tưởng, nó là một trong những ngành trọng yếu của tin
học. Trí thơng minh nhân tạo liên quan đến cách cư xử, sự học hỏi và khả năng
thích ứng thơng minh của máy móc.

1.3. Lịch sử hình thành và phát triển của chatbot
Thuật ngữ “Chatbot” dường như chỉ mới được đưa vào bảng từ vựng cách
đây vài năm, nhưng dự kiến sẽ có đến 80% doanh nghiệp tồn cầu sẽ sử dụng
chúng vào năm 2020. Nhưng có rất ít người biết rằng Chatbot có một lịch sử phát
triển rất lâu đời từ những thập niên 50 của thế kỷ trước.

11


Năm: 2022


Trần Trung Hiếu

Khoa: CNTT

Hình 1.1: Chatbot qua các thời kỳ

Trong sự phát triển nhanh như vũ bão của làn sóng cách mạng cơng nghiệp
4.0, nhiều chương trình dựa trên trí thơng minh nhân tạo (AI) được biểu hiện dưới
nhiều dạng như hình ảnh, âm thanh và giọng nói. Bots cũng sẽ có thể làm được
nhiều thứ như con người và có khả năng thay thế con người, chẳng hạn như bán
hàng, thanh tốn hóa đơn, chẩn đốn bệnh tật, quản lý tài chính và cuối cùng là
thấu hiểu cảm giác của con người.
1.3.1. Sự phát triển của Chatbot trong thế kỷ XX
1.3.1.1. Năm 1950: Các phép thử Turing
Alan Turing viết báo cáo với tựa đề “Computing Machinery and
Intelligence”, xây dựng các phép thử Turing. Về cơ bản, Các phép thử Turing là
một loạt các phép thử dựa trên việc phân tích câu trả lời của một “máy tính”. Các
phép thử Turing được thực hiện để xác định xem một chương trình máy tính có
thể phân biệt được máy tính với con người trong một cuộc trị chuyện chỉ có văn
bản thuần túy hay không?

12


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT


Hình 1.2: Các phép thử Turing

Bằng cách gõ câu hỏi cho cả hai đối tượng thử nghiệm, người thẩm vấn sẽ
cố gắng xác định đối tượng nào là máy tính và đối tượng nào là con người. Máy
tính sẽ vượt qua Các phép thử Turing nếu người thẩm vấn khơng thể nói sự khác
biệt giữa chủ thể con người và máy tính.
1.3.1.2. Năm 1966: ELIZA – Chương trình trị chuyện đầu tiên được tạo ra
Joseph Weizenbaum xuất bản chương trình ELIZA, được coi là một trong
những chương trình Chatbots đầu tiên trên thế giới. ELIZA đã đạt được những
thành tích đáng kể và được coi là thành tựu đỉnh cao về trí thơng minh nhân tạo
vào thời điểm đó. Bằng cách nhận ra các từ và cụm từ chính từ đầu vào (Input)
của người dùng và đưa những câu trả lời tương ứng bằng cách sử dụng các tập
lệnh viết sẵn.

13


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

Hình 1.3: Eliza - Chương trình trò chuyện đầu tiên được tạo ra

Một trong những kịch bản này có tên là DOCTOR, cho phép ELIZA đảm
nhận vai trò như một nhà tâm lý học hay một bác sỹ tâm thần. Chatbot ELIZA có
thể được cải thiện và nâng cấp từng bước bằng cách chỉnh sửa các kịch bản
Chatbot của ELIZA. Khái niệm kịch bản Chatbots cũng được hình thành từ thời
điểm này.

1.3.1.3. Năm 1972: Bác sĩ Kenneth Colby phát triển chatbot PARRY
Kenneth Colby là một bác sỹ tâm thần, ơng phát triển PARRY (cịn được gọi
là “ELIZA với thái độ khác thường”). Trong khi ELIZA được biết đến với vai trò
là một bác sĩ tâm thần, PARRY lại đảm nhận vai trò của những bệnh nhân bị tâm
thần phân liệt hoang tưởng. Các bác sĩ tâm thần khi tham gia thử nghiệm đã không
thể xác định sự khác biệt giữa những cuộc hội thoại của PARRY và những cuộc
hội thoại khác giữa các bệnh nhân tâm thần với nhau.
1.3.1.4. Năm 1988: Chatbot Jabberwacky
Được phát triển vào những năm 1980 và phát hành trực tuyến vào năm 1997,
chatbot Jabberwacky được thiết kế để “Mơ phỏng trị chuyện của con người tự
nhiên theo cách thú vị và hài hước“. Mục đích ban đầu của dự án Chatbot
14


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

Jabberwacky là tạo ra một trí tuệ nhân tạo có khả năng vượt qua Các phép thử
Turing.
Nó được thiết kế để bắt chước tương tác của con người và thực hiện các cuộc
hội thoại với người dùng. Mục đích cuối cùng của chương trình là chuyển từ một
hệ thống dựa trên văn bản sang toàn bộ hoạt động bằng giọng nói. Tác giả của nó
tin rằng nó có thể được kết hợp vào các vật thể xung quanh nhà như robot, các
thiết bị thông minh,…
Trong khi tất cả các chatbot trước đó dựa trên cơ sở dữ liệu tĩnh để trả lời và
trò chuyện, Jabberwacky thu thập cụm từ được sử dụng bởi những người tham gia
trị chuyện với nó. Nó tự thêm những câu trả lời vào cơ sở dữ liệu và tự động phát

triển nội dung của riêng mình. Trong năm 2008, Jabberwacky đã phát hành một
phiên bản mới và đổi tên thành Cleverbot.
1.3.1.5. Năm 1992: Dr. SBAITSO

Hình 1.4: Dr SBAITSO

Được tạo ra bởi Creative Labs vào đầu những năm 1990, Dr SBAITSO là từ
viết tắt của Sound Blaster Artificial Intelligent Text to Speech Operator). Dr.
SBAITSO “trị chuyện” với người dùng như thể nó là một nhà tâm lý học. Mặc
dù hầu hết các câu trả lời của nó đều là “WHY DO YOU FEEL THAT WAY?”
nghĩa là “Bạn cảm thấy như thế nào?”. Thay vì bất kỳ loại tương tác phức tạp, khi
15


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

đối mặt với một cụm từ mà nó khơng thể hiểu được, nó thường trả lời là “THAT’S
NOT MY PROBLEM” (Đó khơng phải là vấn đề của tôi).
1.3.1.6. Năm 1995: ALICE
ALICE được xây dựng trên cùng một kỹ thuật được sử dụng để tạo nên
ELIZA. ALICE ban đầu được sáng tạo bởi Richard Wallace, ra đời vào ngày 23
tháng 11 năm 1995. Chương trình được viết lại bằng ngôn ngữ Java vào năm
1998. ALICEBOT sử dụng một lược đồ XML có tên AIML (Artificial
Intelligence Markup Language- Ngơn ngữ đánh dấu trí thơng minh nhân tạo) để
xác định các quy tắc trị chuyện heuristic. Tuy nhiên, nó lại không thể vượt qua
Các phép thử Turing.

1.3.2. Những bước tiến dài của Chatbot đầu thế kỷ XXI
Trong thập kỷ đầu tiên của thế kỷ 21, đã có những đột phá trong lĩnh vực
học máy và trí thơng minh nhân tạo. Điều đó trở thành những nền tảng cho những
bước phát triển vượt bậc. Trong khi các Chatbot trước đó đã dựa vào nhận dạng
mẫu, các Chatbot thế kỷ 21 hoạt động dựa trên các thuật toán và nền tảng điện
tốn đám mây, cho phép chúng thích ứng và “học” dựa trên tương tác của chúng
với con người.
Mặc dù có những tiến bộ như vậy nhưng các chuyên gia AI vẫn chưa thể
phát triển một chatbot có thể tư duy và giao tiếp thực sự với con người. Thay vào
đó, họ tập trung vào việc xây dựng chatbot cho các mục đích cụ thể, chủ yếu là
các trợ lý ảo có khả năng truy cập dữ liệu và trả lời các câu hỏi. Giá trị sử dụng
của các trợ lý ảo đã khích lệ nhiều đại gia lớn trong lĩnh vực công nghệ đầu tư vào
chatbot. Bắt đầu với IBM và theo sau là Apple, Google, Amazon, Microsoft và
Facebook.
1.3.2.1. Năm 2006: IBM Watson
IBM Watson được tạo ra với mục tiêu vượt lên và chiến thắng các thí sinh
tham dự cuộc thi Jeopardy! Với khả năng chạy hàng trăm thuật toán phân tích
ngơn ngữ cùng một lúc, IBM Watson sở hữu một sự thông minh ngôn ngữ đáng
16


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

ngạc nhiên. IBM thiết lập cho Watson có quyền truy cập vào cơ sở dữ liệu khổng
lồ về thơng tin. Watson có thể nhanh chóng truy cập 200 triệu trang dữ liệu, làm
cho nó trở thành một máy trả lời câu hỏi lý tưởng (hoặc, trong trường hợp của

Jeopardy, Watson trở thành máy tạo câu hỏi lý tưởng).
Rõ ràng, một hệ thống có thể nhanh chóng lấy thơng tin dựa trên đầu vào
đàm thoại cũng có thể cung cấp nền tảng cho việc tạo các trợ lý ảo mạnh mẽ. Hiện
nay, IBM Watson phục vụ như là “bộ não” cho nhiều chatbots hoạt động trên
nhiều ngành công nghiệp và lĩnh vực trên khắp thế giới.
1.3.2.2. Năm 2010-2016: Thời kỳ bùng nổ các trợ lý ảo
Nửa đầu thập kỷ này chứng kiến sự bùng nổ của các trợ lý cá nhân ảo: Siri
(2010), Google Now (2012), Alexa (2015), Cortana (2015) và Google Assistant
(2016). Với khả năng phân tích và xử lý ngơn ngữ tự nhiên, các trợ lý này kết nối
với các dịch vụ web để trả lời các câu hỏi và đáp ứng các yêu cầu của người dùng.
Gần đây, Google Home và Amazon Echo đã bắt đầu trở thành các tính năng
phổ biến trong các ngôi nhà của người Mỹ. Google Assistant và Alexa là cơ sở để
cho các thiết bị thông minh trong ngôi nhà tương tác với người dùng. Các thiết bị
thông minh Smart Devices kết nối với nhau tạo thành hệ thống Smart Home, cho
phép người dùng ra lệnh và điều khiển bằng giọng nói của họ.
1.3.2.3. Từ năm 2016 đến nay: Chatbot Messenger bùng nổ
Từ sau hội nghị F8 năm 2016, Facebook – mạng xã hội lớn nhất thế giới giới
thiệu Messenger Platform. Một nền tảng thân thiện hơn và cho phép bất kỳ ai cũng
có thể tạo cho mình một Chatbot. Ngay sau đó, các ứng dụng chat khác như LINE,
WhatsApp, Telegram hay Twitter cũng đưa ra các hỗ trợ hoặc các API cho phép
người dùng tạo các Chatbot trên ứng dụng nhắn tin.
Nhưng WeChat của Trung Quốc mới chính là kẻ đi tiên phong trong lĩnh vực
này khi cho ra mắt Xiaoice – chatbot khá hoàn thiện từ năm 2013. Trong cuộc đua
của các nhà phát triển chatbots, Facebook đang nắm giữ thị phần tồn cầu lớn nhất
vì có đến hơn 1 tỷ người sử dụng ứng dụng Messenger hàng tháng. Riêng ở thị
17


Năm: 2022


Trần Trung Hiếu

Khoa: CNTT

trường Trung Quốc, WeChat lại là ứng dụng chat số 1 mà không ứng dụng chat
nào có thể cạnh tranh nổi.
1.3.3. Chatbot và tương lai thay đổi ngành dịch vụ khách hàng
Trong những năm sắp tới, các công ty/doanh nghiệp/thương hiệu sẽ đầu tư
vào các Chatbot tinh vi hơn và có khả năng xử lý, trả lời, tương tác gần với con
người nhiều hơn. Đầu tư vào việc phát triển các trí thơng minh nhân tạo nhằm
tăng trải nghiệm khách hàng hướng đến gia tăng chất lượng dịch vụ và khả năng
phục vụ.
Chúng ta đã bắt đầu thấy sự pha trộn giữa con người và máy móc tự động
hóa: khách hàng thường bắt đầu hành trình của họ với chatbot và sau đó chuyển
sang dịch vụ khách hàng được giải quyết bởi con người nếu bots không giải quyết
được.

1.4. Tổng quan về xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) là một trong
những nhánh khó của trí tuệ nhân tạo. Bởi lẽ ngôn ngữ là một hệ thống phức tạp
để giao tiếp giữa những động vật bậc cao hay có năng lực tư duy như con người.
Nếu NLP được giải quyết thành công đồng nghĩa với việc máy tính có thể hiểu và
sử dụng ngơn ngữ tự nhiên để giao tiếp như chúng ta.
1.4.1. Sơ lược về ngôn ngữ tự nhiên
Ngôn ngữ tự nhiên không giống với ngôn ngữ nhân tạo như ngơn ngữ máy
tính (C, PHP, …). Trên thế giới hiện nay có khoảng 7000 loại ngơn ngữ. Có nhiều
cách để phân loại, một số cách phân loại ngôn ngữ phổ biến như dựa vào: nguồn
gốc, đặc điểm, …

18



Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

Hình 1.5: Phân loại ngơn ngữ tự nhiên theo nguồn gốc

Do đó tiếng Việt được xếp vào loại đơn lập – tức phi hình thái, khơng biến
hình. Cùng với đó, tiếng Việt được viết theo trật tự S – V – O. (subject (S), verb
(V) and object (O)).
Một vài so sánh các cách sắp xếp trật tự câu.
Câu ví dụ

Trật tự

Tơi đọc sách

SVO

I read a book

SVO

나는 책을 읽었다

SOV


Bảng 1.1: Cách sắp xếp trật tự câu

1.4.2. Xử lý ngơn ngữ tự nhiên
1.4.2.1. Ngơn ngữ hình thức – Formal Language
Ngơn ngữ hình thức (Formal Language) là một tập các chuỗi (string) được
xây dựng dựa trên một bảng chữ cái (alphabet), được ràng buộc bởi các luật (rule)
hoặc văn phạm (grammar) đã được định nghĩa trước. Alphabet có thể là tập các
ký tự trong ngôn ngữ tự nhiên (Natural Language) hoặc tập tự định nghĩa các ký
19


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

tự. Mơ hình ngơn ngữ tự nhiên tuân theo quy luật của chuỗi Markov và được hình
thức hóa đầu tiên bởi Noam Chomsky được gọi là ‘Mơ hình phân cấp Chomsky’.
Sau này những mơ hình này được dùng để tạo ra ngơn ngữ lập trình hoặc các ứng
dụng trong các nghiên cứu dịch tự động.

Hình 1.6: Tiền đề trong việc xây dựng lý thuyết Automata là ngơn ngữ hình thức

20


Năm: 2022

Trần Trung Hiếu


Khoa: CNTT

Hình 1.7: Mơ hình phân cấp Chomsky

1.4.2.2. Các khái niệm cơ bản
Bộ chữ (Alphabet Set): tập các ký hiệu (vơ hạn hoặc hữu hạn). Ví dụ: Tập
26 chữ Roman alphabet, Tập ∑ ={0,1}, …
Chuỗi (String) hoặc từ (Word): là một chuỗi các chữ cái trên Alphabet nào
đó Ví dụ ‘abc ‘; ‘0101110’ ; …
Chuỗi rỗng (khơng chứa ký tự nào trong Alphabet). (ký hiệu ԑ , |ԑ| = 0).
Ngôn ngữ rỗng (Empty Language): một ngôn ngữ khơng chứa bất kì câu nào
được gọi là ngơn ngữ rỗng (ký hiệu: ∅).
Một ngôn ngữ trên một bộ chữ Σ là tập các chuỗi trên Σ . Σ* là tập chứa tất
cả các chuỗi trên Σ bao gồm cả ԑ. Ví dụ với Σ = {0,1} thì: Σ* = { ԑ, 0, 1,00, 01,
10, 11, 000, 001,…}
Ngôn ngữ L là tập những chuỗi có chiều dài hữu hạn trên một bộ chữ hữu
hạn Σ nào đó. Nễu ngơn ngữ L hữu hạn ta chỉ cần liệt kê tất cả các chuỗi để biểu

21


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

diễn các trường hợp và xét ngữ nghĩa cho từng trường hợp, nhưng vì ngơn ngữ tự
nhiên vô hạn nên ta cần văn phạm để xét nghĩa.

1.4.2.3. Văn Phạm – Grammar : G = { N, Σ, P, S}
N: tập các từ vựng phụ trợ, như các phạm trù ngữ pháp, kí hiệu khơng kết
thúc (non-terminal).
S: tập các từ của ngôn ngữ, gọi là ký hiệu kết thúc (terminal).
P: tập các luật văn phạm, gọi là luật sản sinh. N{displaystyle cap } Σ = ∅
S : là yếu tố nguyên thủy của ngữ pháp, S ∈ N Một luật P có dạng : a → b
(a, b ∈ N {displaystyle cup } Σ).
X là tập các phần tử của chuỗi .
Xi là tập của những chuỗi có chiều dài i.
Nếu P trong văn phạm đều có dạng: X → a (X ∈ N, a ∈ N {displaystyle cup
} Σ), văn phạm đó gọi là phi ngữ cảnh (Context-Free Grammar: CFG).
1.4.2.4. Cấu trúc văn phạm trong xử lý ngơn ngữ tự nhiên
Các hình thức thể hiện cấu trúc văn phạm:
- Cấu trúc thành phần.
- Cấu trúc phụ thuộc.
- Cây văn phạm liền kề.
- Hình thức logic.

Hình 1.8: Cấu trúc thành phần

22


Năm: 2022

Trần Trung Hiếu

Khoa: CNTT

Hình 1.9: Cấu trúc phụ thuộc


Hình 1.10: Cây văn phạm liền kề

Hình 1.11: Hình thức logic

1.4.2.5. Giải thuật phân tích cú pháp Earley
Earley biểu diễn luật P thơng qua dấu chấm “•”. Dấu chấm “•” là một siêu
ký hiệu (metasymbol) không thuộc về N hay Σ. Vị trí dấu thay đổi theo trạng thái
đang xét.
Ví dụ một luật sản sinh P ở trạng thái S(j) : (A → α • β, i).
23


×