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

Xây dựng hệ thống chat tự động tiếng Việt

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 (760.44 KB, 79 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRẦN THỊ VÂN

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

TRẦN THỊ VÂN

XÂY DỰNG HỆ THỐNG CHAT TỰ ĐỘNG TIẾNG VIỆT

LUẬN VĂN THẠC SĨ KỸ THUẬT
CHUN NGÀNH: CƠNG NGHỆ THƠNG TIN

KHỐ CH2011A

Hà Nội – Năm 2013


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRẦN THỊ VÂN

XÂY DỰNG HỆ THỐNG CHAT TỰ ĐỘNG TIẾNG VIỆT

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN


NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. Nguyễn Hữu Đức

Hà Nội – Năm 2013


LỜI CẢM ƠN
Trước hết, tác giả xin được chân thành gửi lời cảm ơn tới các thầy cô giáo trong
trường Đại học Bách khoa Hà nội nói chung và các thầy cô trong Viện Công nghệ
thông tin và truyền thông nói riêng đã tận tình giảng dạy, truyền đạt cho tác giả những
kiến thức và kinh nghiệm quý báu trong suốt những năm học tập và rèn luyện.
Tác giả xin được gửi lời cảm ơn sâu sắc đến thầy TS. Nguyễn Hữu Đức đã hết
lòng giúp đỡ, hướng dẫn và chỉ dạy tận tình trong quá trình tác giả thực hiện luận văn
tốt nghiệp.
Cuối cùng, tác giả xin được gửi lời cảm ơn chân thành tới gia đình, bạn bè đã
quan tâm, động viên, đóng góp góp ý kiến và giúp đỡ tác giả trong quá trình học tập,
nghiên cứu và hoàn thành luận văn tốt nghiệp.

Hà Nội, ngày 18 tháng 03 năm 2013
Học viên thực hiện

Trần Thị Vân

1


LỜI NÓI ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là
trong lĩnh vực truyền thông, việc liên lạc và trao đổi thông tin giữa mọi người đã trở
nên nhanh chóng và tiện lợi hơn rất nhiều. Một phần rất quan trọng không thể khơng kể

đến đó là sự phát triển mạnh mẽ của Internet – mạng toàn cầu. Các hệ thống tin nhắn
nhanh, đàm thoại trực tuyến đã trở nên rất thông dụng với chi phí ngày càng rẻ và đó là
những phương thức liên lạc hữu hiệu để bổ sung cho các mạng điện thoại, thư tín thơng
thường. Đi kèm với các dịch vụ đó chính là mối liên hệ giữa quyền lợi và nghĩa vụ của
khách hàng với nhà cung cấp. Các nhà cung cấp dịch vụ thường tạo ra các kênh thông
tin như trả lời trực tuyến, website...nhằm phúc đáp các yêu cầu của người sử dụng, tuy
nhiên chi phí dành cho việc đó khá cao và cần có nhân công trực hệ thống thường
xuyên.
Chatbot là một lĩnh vực trong trí tuệ nhân tạo, chatbot thực hiện hội thoại thơng
minh giữa máy tính với người dùng thơng qua hỏi đáp trực tiếp. Với việc cung cấp các
gói thơng tin cho từng ngữ cảnh để tư vấn các vấn đề của khách hàng mạng điện thoại.
Đây chính là một giải pháp dễ dàng triển khai với sự hỗ trợ của mã nguồn mở
AIML(Artificial Intelligence Markup Language).
Chính vì lý do đó, được sự cho phép của giảng viên hướng dẫn, học viên quyết
định thực hiện đề tài “Xây dựng hệ thống chat tự động tiếng việt” để đáp ứng phần
nào nhu cầu sử dụng dịch vụ tự động của khách hàng và nhà cung cấp dịch vụ.

Học viên

Trần Thị Vân
6


MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. 1
DANH MỤC HÌNH ......................................................................................................... 2
LỜI NÓI ĐẦU ................................................................................................................. 6
PHẦN MỞ ĐẦU .............................................................................................................. 7
1. Lý do lựa chọn đề tài. ............................................................................................ 7
2. Mục tiêu và nhiệm vụ nghiên cứu ......................................................................... 7

3. Đối tượng và phạm vi nghiên cứu ......................................................................... 7
4. Phương pháp nghiên cứu ....................................................................................... 8
PHẦN NỘI DUNG .......................................................................................................... 9
CHƯƠNG 1: TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO VÀ ỨNG DỤNG
CHATBOX ................................................................................................................... 9
1.1. Mở đầu................................................................................................................ 9
1.2. Các khái niệm cơ bản ....................................................................................... 11
1.2.1. Khái niệm về tính thơng minh và hành xử thơng minh ............................. 11
1.2.2. Tri thức và trí tuệ nhân tạo ......................................................................... 11
1.3. Xu thế nghiên xứu và phát triển của trí tuệ nhân tạo hiện đại.......................... 13
1.4. Tìm hiểu chatbot ............................................................................................... 14
1.4.1. Hệ thống hội thoại ...................................................................................... 14
1.4.2. Quá trình phát triển của chatbot ................................................................. 16
1.4.3. Khả năng ứng dụng của Chatbot ................................................................ 21
CHƯƠNG 2: TÌM HIỂU VỀ MÃ NGUỒN MỞ AIML ........................................... 22
2.1. Tìm hiểu AIML và kiến trúc AIML. ................................................................ 22
2.2. Các phần tử trong AIML .................................................................................. 24
2.3. Quá trình xử lý của AIML ................................................................................ 29
2.4. Một số phần mềm tạo cơ sở tri thức dựa trên nền tảng mã nguồn mở AIML. 30
3


2.5. Xây dựng chương trình AIML Editor. ............................................................. 33
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT TRỢ GIÚP
NGƯỜI SỬ DỤNG DỊCH VỤ VIỄN THÔNG VIETTEL ........................................ 36
3.1. Phân tích nhu cầu của người sử dụng dịch vụ viễn thơng Viettel .................... 36
3.1.1. Q trình hình thành và phát triển của tập đoàn Viettel ............................ 36
3.1.2. Thực trạng phát triển dịch vụ viễn thông của Viettel ................................ 40
3.1.3. Những nhu cầu của người sử dụng dịch vụ Viễn thông Viettel ................ 44
3.2. Phân tích khả năng hội thoại của Chatbot xây dựng bằng AIML .................... 45

3.2.1. Hội thoại đơn giản...................................................................................... 45
3.3.2. Hội thoại phức hợp..................................................................................... 46
3.2.3. Khả năng ứng dụng .................................................................................... 48
3.3. Phân tích q trình xử lý các ngữ cảnh hội thoại ............................................. 49
3.3.1. Chuẩn hố thơng tin đầu vào ..................................................................... 49
3.3.2. Xác định đường dẫn đầu vào cho mẫu ...................................................... 50
3.3.3. So khớp mẫu, đưa ra thông tin phúc đáp ................................................... 50
3.4. Phân tích thiết hệ thống chatbot ....................................................................... 51
3.4.1. Khác niệm về hệ thống chatbot .................................................................. 51
3.4.2. Mơ hình hệ thống Chatbot ......................................................................... 52
3.4.3. Kịch bản khai thác hệ thống chatbot .......................................................... 52
3.4.4. Đặc tả đầu và đầu ra và yêu cầu của hệ thống. .......................................... 53
3.4.5. Tóm tắt các bước xây dựng hệ thống ......................................................... 54
CHƯƠNG 4: XÂY DỰNG CỞ SỞ TRI THỨC CHO HỆ THỐNG CHATBOT TRỢ
GIÚP NGƯỜI SỬ DỤNG DỊCH VỤ VIỄN THÔNG BẰNG MÃ NGUỒN AIML 55
4.1. Định nghĩa bài toán và quy trình xây dựng chatbot ......................................... 55
4.2. Xác định các chủ đề trợ giúp ............................................................................ 55
4.3. Thu nhập tri thức cho hệ thống chatbot............................................................ 56
4.3.1. Di động ....................................................................................................... 56
4.3.2. Internet ....................................................................................................... 61
4


4.4. Xây dựng các mẫu hội thoại. ............................................................................ 68
4.5. Xây dựng các gói hội thoại trợ giúp bằng AIML. ............................................ 68
4.6. Giao diện hội thoại ........................................................................................... 69
CHƯƠNG 5: KIỂM THỬ VÀ ĐÁNH GIÁ KẾT QUẢ ............................................ 70
5.1. Kiểm thử ........................................................................................................... 70
5.2. Một số ngữ cảnh hội thoại. ............................................................................... 70
5.3. Đánh giá ........................................................................................................... 71

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................. 73
DANH MỤC TÀI LIỆU THAM KHẢO.................................................................... 74
PHỤ LỤC ................................................................................................................... 75

5


DANH MỤC HÌNH
Hình 1.1: Q trình phát triển ngành trí tuệ nhân tạo........................................................................... 10
Hình 1. 2: Mơ hình chatbot ALICE .......................................................................................................... 19
Hình 1. 3: Mơ hình chatbot DAVE E.S.L.bot ........................................................................................... 20
Hình 2. 1:Quá trình xử lý của AIML ........................................................................................................ 29
Hình 2.2: Giao diện chương trình GaiToBot AIML Editor v2.1 ............................................................... 30
Hình 2.3: Giao diện tạo file AIML trong GaiToBot AIML Editor v2.1 ...................................................... 31
Hình 2.4: Hình ảnh mã nguồn được kết xuất ra file AIML trong GaiToBot ............................................ 31
Hình 2.5: Giao diện chương trình Simple AIML Editor v3.0 ................................................................... 32
Hình 2.6: Giao diện thêm Category trên phần mềm Simple AIML Editor .............................................. 33
Hình 2.7: Giao diện chương trình AIML Editor....................................................................................... 34
Hình 2.8: Cửa sổ cho phép người sử dụng lựa chọn các Category có sẵn ............................................. 35
Hình 3.1: Biểu đồ tỉ lệ thị phần doanh thu năm 2011 ngành Viễn thơng .............................................. 40
Hình 3.2: Biểu đồ tỉ lệ thị phần theo thuê bao điện thoại cố định năm 2011 ....................................... 40
Hình 3.3: Biểu đồ tỉ lệ thị phần theo thuê bao điện thoại di động năm 2011 ....................................... 41
Hình 3.4: Biểu đồ thị phần theo thuê bao điện thoại di động 3G năm 2011......................................... 41
Hình 3.5: Biểu đồ tỉ lệ thị phần theo thuê bao truy nhập Internet thông qua hệ thống hữu tuyến năm
2011[10] ................................................................................................................................................. 42
Hình 3.6: Mơ hình hệ thống Chatbot ..................................................................................................... 52
Hình 4.1:Giao diện lựa chọn chủ đề hội thoại ....................................................................................... 56
Hình 4.2:Giao diện chương trình trả lời tự động mạng viễn thơng Viettel ........................................... 69
Hình 5.1: Ngữ cảnh hội thoại theo giao tiếp thơng thường................................................................... 70
Hình 5.2 : Ngữ cảnh hội thoại theo dịch vụ mạng viễn thông ............................................................... 71


2


PHẦN MỞ ĐẦU
1. Lý do lựa chọn đề tài.
Trong thời đại cơng nghiệp hố tồn cầu hiện nay, Việt Nam đang có những bước tiến
quan trọng trong q trình hội nhập với xu thế phát triển chung của thế giới trong tất cả
các lĩnh vực: kinh tế, văn hoá, xã hội … và đặc biệt là sự ứng dụng của khoa học công
nghệ trong đời sống của con người chúng ta.
Hiện nay các phương tiện trao đổi chủ yếu là trực tiếp, điện thoại, chat thông qua các
phần mềm như yahoo và skype, tất cả những phương tiện trao đổi này đều cần có sự có
mặt của hai bên đối tác. Nếu điều này được áp dụng trong lĩnh vực tư vấn và chăm sóc
khách hàng thì sẽ rất mất thời gian và tiền bạc.
Nhận thấy tầm quan trọng của hệ thống trả lời tự động học viên quyết định thực hiện
đề tài “Xây dựng hệ thống chat tự động tiếng việt”, nhằm xây dựng thử nghiệm hệ
thống trả lời nhanh, tiện lợi và chính xác.
2. Mục tiêu và nhiệm vụ nghiên cứu
 Mục tiêu: Tìm hiểu kỹ thuật xây dựng chatbot trên nền tảng mã nguồn mở
AIML, từ đó xây dựng ứng dụng trả lời tự động cho các dịch vụ của mạng
viễn thơng Viettel.
 Nhiệm vụ:
- Tìm hiểu kỹ thuật liên quan đến hệ thống trả lời tự động.
- Xây dựng chương trình trả lời tự động tư vấn dịch vụ viễn thông.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
-

Khái quát về trí tuệ nhân tạo


-

Kiến trúc mã nguồn mở AIML và kỹ thuật xây dựng chatbot

-

Các vấn đề trong chăm sóc khách hàng của Viettel

Phạm vi nghiên cứu
-

Các dịch vụ của mạng viễn thông Viettel
7


-

Chatbot được xây dựng trên nền tảng mã nguồn mở AIML

4. Phương pháp nghiên cứu
Tổng quát hóa nội dung cần nghiên cứu để xây dựng các khái niệm và kết quả ở
mức mơ hình hóa
Lựa chọn cơng nghệ để cài đặt và thể hiện cụ thể những kết quả của nội dung
nghiên cứu

8


PHẦN NỘI DUNG
CHƯƠNG 1: TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO VÀ ỨNG

DỤNG CHATBOX
1.1. Mở đầu
Mặc dù không dự báo được tương lai,nhưng rõ ràng máy tính điện tử với độ thơng
minh nhất định đã có ảnh hưởng lớn tới cuộc sống ngày nay và tương lai phát triển của
văn minh nhân loại.
Chế tạo được những cỗ máy thông minh như con người, thậm chí thơng minh hơn
con người là một mơ ước cháy bỏng của loài người từ hàng ngàn năm nay. Năng lực
máy tính ngày càng mạnh mẽ là một điều kiện hết sức thuận lợi cho trí tuệ nhân tạo.
Điều này cho phép những chương trình máy tính áp dụng các thuật giải trí tuệ nhân tạo
có khả năng phản ứng nhanh và hiệu quả hơn trước. Sự kiện máy tính Deep Blue đánh
bại kiện tướng cờ vua thế giới Casparov là một minh chứng hùng hồn cho một bước
tiến dài trong công cuộc nghiên cứu về trí tuệ nhân tạo. Tuy có thể đánh bại được
Casparov nhưng Deep Blue là một cỗ máy chỉ biết đánh cờ ! Nó thậm chí khơng có
được trí thơng minh sư đẳng của một đứa bé biết lên ba như nhận diện được những
người thân, khả năng quan sát nhận biết thế giới, tình cảm thương, ghét…Ngành trí tuệ
nhân tạo đã có những bước tiến đáng kể, nhưng một trí tuệ nhân tạo thực sự vẫn chỉ có
trong những vộ phim khoa học giả tưởng. Vậy thì tại sao chúng ta vẫn nghiên cứu về
trí tuệ nhân tạo? Điều này cũng tương tự như ước mơ chế tạo vàng cảu các nhà giả kim
thuật thời Trung Cổ, tuy chưa thành cơng nhưng chính q trình nghiên cứu đã làm
sáng tỏ nhiều vấn đề[15].
Mặc dù mục tiêu tối thượng của ngành TTNT là xây dựng một chiếc máy có năng
lực tư duy tương tự như con người nhưng khả năng hiện tại của tất cả các sản phẩm
TTNT vẫn còn rất khiêm tốn so với mục tiêu đã đề ra.Tuy vậy, ngành khoa học mới mẻ
này vẫn đang tiến vộ mỗi ngày và đang tỏ ra ngày càng hữu dụng trong mộ số công

9


việc địi hỏi trí thơng minh của con người. Có thể hình dung q trình phát triển của
ngành trí tuệ nhân tạo qua hình ảnh dưới đây.


Hình 1.1: Quá trình phát triển ngành trí tuệ nhân tạo
Mục tiêu của ngành khoa học trí tuệ nhân tạo tạo ra những chiếc máy tính có khả
năng nhận thức,suy luận và phản ứng. Nhận thức được hiểu là khả năng quan sát, học
hỏi, hiểu biết cũng như những kinh nghiệm về thế giới xung quanh. Q trình nhận
thức giúp con người có tri thức. Suy luận là khả năng vận dụng những tri thức sẵn có
để phản ứng với những tình huống hay những vấn để- bài toán gặp phải trong cuộc
sống. Nhận thức và suy luận để từ đó đưa ra những phản ứng thích hợp là ba hành vi có
thể nói là đặc trưng cho trí tuệ của con người. (Dĩ nhiên cịn một yếu tố nữa là tình
cảm. Nhưng chúng ta sẽ khơng để cập đến ở đây!). Do đó, cũng khơng có gì ngạc
nhiên khi muốn tạo ra một chiếc máy tính thơng minh, ta cần phải trang bị cho nó
những khả năng này. Cả ba khả năng này đều cần đến một yếu tố cơ bản là tri thức.
Xây dựng trí tuệ nhân tạo là tìm cách biểu diễn tri thức, tìm cách vận dụng tri thức
để giải quyết vấn đề và tìm cách bổ sung tri thức bằng cách “phát hiện” tri thức từ các
thông tin sẵn có (máy học). Với những khả năng phát triển đó của ngành trí tuệ nhân
tạo, cùng với khả năng ứng dụng trong mọi lĩnh vực. Một ứng dụng điển hình là
Chatbot. Dựa vào những mục đích và khả năng như trên,cũng như trong phạm vi có

10


hạn của đề tài này, tôi xin đưa ra một giải pháp xây dựng hệ thống chatbot trợ giúp
phương pháp học tập cho sinh viên ngành kỹ thuật bằng mã nguồn mở AIML.
1.2. Các khái niệm cơ bản
1.2.1. Khái niệm về tính thơng minh và hành xử thơng minh
 Khái niệm về tính thơng minh
Là hoạt động cụ thể của một đối tượng cảm nhận được, hoạt động này là kết quả của
một quá trình thu thập, xử lý và điều khiển theo những tri thức đã có hay mới phát sinh,
kết quả mong đợi của hoạt động tốt hơn thơng thường[2].
Hành xử thơng minh cịn bao hàm:

-

Sự tương tác với môi trường để nhận các phản hồi.

-

Sự tiếp nhận các phản hồi để điều chỉnh hành động, kỹ năng.

-

Sự tiếp nhận các phản hồi để hiệu chỉnh và cập nhật tri thức.

Tính thơng minh của một đối tượng là sự tổng hợp của cả va yếu tố:
-

Thu thập tri thức.

-

Suy luận trên tri thức thi thập được.

-

Hành xử của đối tượng.

Cả ba yếu tố trên hoà quyện vào nhau thành một thể thống nhất, không thể đánh giá
riêng lẻ bất kì khía cạnh nào để nói về tính thơng minh[2].
 Hành xử thông minh
Hành xử thông minh của một đối tượng thường được viểu hiện qua các hoạt động sau:
-


Hiểu biết và nhận biết được tri thức.

-

Lý luận tạo ra tri thức mới dựa tren tri thức đã có.

-

Hành động theo kết quả các lý luận.

-

Có kỹ năng trong hành động.

1.2.2. Tri thức và trí tuệ nhân tạo
 Tri thức được thu nhận từ thông tin, tri thức là kết qủa của quá trình thu thập,
lưu trữ, xử lý thông tin.
11


Tri thức có từ hai q trình:
• Thu nhận tri thức: là quá trình thu nhận tri thức thường gồm các bước sau:
-

Xác định lĩnh vực, phạm vi tri thức cần qun tâm

-

Thu nhận dữ liệu liên quan dưới dạng các trương hợp cụ thể


-

Hệ thống hoá, tổng quát hoá từ đó rút ra những thơng tin tổng qt, đại
diện cho các trường hợp đã biết.

-

Xem xét và giữ lại những thông tin liên quan đến vấn đề cần quan tâm.

• Sản sinh tri thức: là q trình tri thức sau khi đã thu thập sữ được đưa vào kho
tri thức đã có, trên cơ sở đó thực hiện liên kết, suy diễn, kiểm chứng để sinh ra các tri
thức mới.
Hai q trình có thể diễn ra song song hoặc diễn ra nối tiếp nhau, nhưng hai q trình
này khơng bao giờ chấm dứt trong một thực thể “thông minh”.
 Trí tuệ nhân tạo là ngành khoa học nghiên cứu lý thuyết,kỹ thuật, cơng cụ để
xây dựng các chương trình máy tính thơng minh, các chương trình máy tính thơng
minh này có khả năng mơ phỏng một số q trình tư duy như học tập, suy luận giống
như trí tuệ con người[2].
- Trí tuệ nhân tạo giúp tạo ra các chương trình máy tính có thể đưa ra các hành
động hoặc tái diễn các hành động thích hợp đáp ứng các u cầu của từng hồn cảnh.
- Trí tuệ nhân tạo có thể biểu lộ các hành vi tương ứng với u cầu thơng minh
của con người.
- Trí tuệ nhân tạo có thể tạo nên các thực thể thơng minh.
Trí tuệ nhân tạo giúp máy tính thực hiện các nhiệm vụ theo nhưng u cầu thơng minh
từ con người. Có thể chia ngành trí tuệ nhân tạo thành hai trường phái như sau:
• Trí tuệ nhân tạo mạnh: Có thể tạo ra trí thơng minh và các chương trình máy
tính thơng minh hơn người.
• Trí tuệ nhân tạo yếu: Chương trình máy tính có thể mơ phỏng các hành vi thông
minh của con người

12


Một chương trình trí tuệ nhân tạo cơ bản nhất là một lệnh Nếu- Thì đơn,chẳng hạn “
Nếu A, thì B”. Nếu bạn gõ một chữ”A” thì máy tính sẽ đưa cho bạn chữ “B”. Về cơ
bản .bạn đang dạy máy tính làm một nhiệm vụ,Bạn cho dữ liệu vào là một thứ,máy tĩnh
sẽ đấp lại bằng một thứ gì đó bạn bảo nó làm hoặc nói
Ví dụ phức tạp hơn: Nếu gõ từ “ Xin chào!”, máy tính sẽ đáp lại “ bạn có khoẻ
khơng?”. Phản ứng này khơng phải là ý nghĩ của máy tính mà chẳng qua chỉ là một
dòng lệnh đã được viết từ trước trong chương trình,mỗi khi gõ từ “Xin chào!” máy tính
sẽ ln trả lơi “ Bạn có khoẻ khơng?”. Có thêt thêm một chút ngẫu nhiên để tạo hai hay
nhiều hướng trả lời .Ví dụ nếu gõ “ xin chào” máy tính có thể đáp lại “ Bạn có khoẻ
khơng?” hoặc đáp lại “Công việc của bạn dạo này thế nào?” hoặc “Xin chào,dạo này
bạn thế nảo?”, Chatbot chính là một ví dụ điểm hình cho sự giao tiếp giữa người và
máy tương đối gần gũi.
Một chương trình trí tuệ nhân tạo có thể có 1000 cách trả lời từ dữ liệu vào để gần với
cách trả lời của con người hơn,vì một người bình thường sẽ có câu trả lời khơng thể
đốn trước được. Nhiều trị chơi,chảng hạn các trị chơi cờ,trị chiến lược,máy tính sử
dụng các phản ứng bằng các hành động,do đó, con người có thể chơi với máy tính
được. Các robot với các bộ não trí tuệ nhân tạo cũng sẽ sử dụng các lệnh nếu- thì và
lữa chọn ngẫu nhiên để đưa ra các quyết định,Tuy nhiên dữ liệu vào có thể là các đối
tượng trước mặt robot thay vì một dịng chữ “Xin chào!” và phản ứng có thể là nhặt đối
tượng lên,hoặc tránh đối tượng lên, hoặc tránh đối tượng đi thay vì là in một dịng chữ
ra màn hình.
1.3. Xu thế nghiên xứu và phát triển của trí tuệ nhân tạo hiện đại
Trí tuệ nhân tạo hiện đại chú trọng nghiên cứu kỹ thuật thực tế , cịn gọi là trí
tuệ nhân tạo yếu để đối lập với trí tuệ nhân tạo mạnh. Rất nhiều lichx vực trí tệ nhân
tạo yếu có phần mềm hoặc ngơn ngữ lập trình được tạo riêng.
Một trong những lĩnh vực trí tuệ nhân tạo yếu là:
Nhận dang mẫu

13


• Xử lý ảnh
• Mạng Nơron
• Xử lý ngôn ngữ tự nhiên
Robot hoc
• Lý thuyết trị chơi
• Chatbot
1.4. Tìm hiểu chatbot
1.4.1. Hệ thống hội thoại
 Khái niệm hệ thống hội thoại.
Hệ thống hội thoại là hệ thống thực hiện sự trao đổi thông tin giữa hai hay nhiều đối
tượng theo một quy chuẩn nào đó,và q trình trao đổi thơng tin có thể bằng ngơn ngữ
nói, ngơn ngữ viết hay bằng kí hiệu. Hiện nay, để trao đổi thơng tin theo các mục đích
khác nhau con người đã xây dựng, thiết lập rất nhiều hệ thống thông tin khác nhau,
điển hình như các hệ thống sau:
 Các loại hệ thống hội thoại
o Hội thoại giữa người với người
Là sự trao đổi thơng tin giữa các đối tượng, mà trong đó mỗi đối tượng là con người.
Sự trao đổi thông tin này có thể diễn ra trục tiếp hoặc gián tiếp. Hơi thoại giữa người
và người có thể diễn ra giữa một người với một người hoặc một người và nhiều người
nhưng đòi hỏi sự tham gia trực tiếp về mặt thời gian của cả hai phía hội thoại và chỉ có
một nội dung hội thoai. Đây là dạng hội thoại phổ biến nhất mà chúng ta sử dụng,
nhưng dạng hội thoại này dẽ bị hạn chế là lượng tri thức, hạn chế về môi trường và thời
gian hội thoại, đổi lại dạng hội thoại này có ngữ cảnh phong phú, gần gũi với cách giao
tiếp của chúng ta.
o Hội thoại giữa máy với máy:
Là sự trao đổi thông tin giữa các đối tượng, mà trong đó mỗi đối tượng là một thiết bị
máy móc bất kì nào đó. Sự hội thoại này thường nhằm mục đích cung cấp các lệnh điều

14


khiển để máy móc hoạt động. Cấu trúc hội thoại thường đơn giản, ngắn gọn, có ngữ
cảnh cụ thể được quy ước chặt chưc từ trước, nhưng lại có ngơn ngữ hội thoại phong
phú, có thể khác biệt hồn tồn với ngôn ngữ giao tiếp của con người
o Hội thoại giữa người và máy:
- Hệ chuyên gia:
Hệ chuyên gia, còn gọi là hệ thống dựa tri thức, là một chương trình máy tính chứa một
số tri thức đặc thù của một hoặc nhiều chuyên gia con người về một chủ đề cụ thể nào
đó, Các chương trình thuộc loại này đã được phát triển từ các thập niên 1960 và 1970,
và trở thành ứng dụng thương mại từ thập niên 1980. Dạng phổ biến nhất của hệ
chuyên gia là một chương trình gồm một tập luật phân tích thơng tin ( thường được
cung cấp bởi người sử dụng hệ thống ) về một lớp vấn đề cụ thể, cũng như đưa ra các
phân tích về các vấn đề đó, và tùy theo thiết kế chương trình mà đưa lời khuyên về
trình tự các hành động cần thực hiện để giải quyết vấn đề .Đây là một hệ thống sử dụng
lập luận để đạt tới các kết luận [1].
- Hệ thống chatbot:
Chatbot là một chương trình máy tính được thiết kế để mô phỏng sự hội thoại thông
minh giữa người và máy tính bằng nói hoặc viết. Người sử dụng đưa vào máy tính một
đoạn hội thoại, máy tính biên dịch và so khớp thông tin được đưa vào với cơ sở dữ liệu
của minh rồi đưa ra phúc đáp [16].
Ngoài ra, chatbot thường tích hợp vào các hệ thống thoại cho nhiều mục đích thiết thực
như giúp đỡ trực tuyến, dịch vụ cá nhân, hoặc mua lại thông tin, Một số chatbot sử
dụng hệ thống vi xử lý ngôn ngữ tự nhiên.
- Hệ hỏi đáp tự động:
Là chương trình được xây dựng nguyên tắc các bộ câu hỏi – câu trả lời mặc định,
tương ứng với một câu hỏi hoặc một lựa chọn sẽ có một câu trả lời xác định.
Hệ hỏi đáp thường được sử dụng dưới dạng tổng đài hỗ trợ người sử dụng một dịch vụ
tư vấn có lượng thơng tin hẹp, . . .

15


- Nhận xét:
Ngồi các hệ thống nói trên cịn có các hệ thống trợ giúp ra quyết định, tổng đài tư vấn,
. . . cũng như các phần mềm và hội thoại nói chung.
Ngày nay sự giao tiếp giữa người và máy ngày càng trở nên quan trọng hơn khi con
người muốn điều khiển được mọi thứ, muốn mọi sản phẩm đều thông minh và gần gũi
với con người hơn. Hệ thống chatbot đã đáp ứng được sự giao tiếp giữa người và máy
với mức độ bước đàu có tính thông minh , chọn lọc, không quá rập khuôn, khô cứng
như hệ hỏi đáp tự động. Tuy vậy, hệ thống chatbot cũng chưa có được những suy luận
thơng minh hay thu nhận tri thức như hệ chuyên gia. Chatbot được xem là lĩnh vực “ trí
tuệ nhân tao yếu”.
1.4.2. Quá trình phát triển của chatbot
Chatbot được ghép từ chat và bot nghĩa là trò chuyện với robot, robot ở đây là một
chương trình máy tính. Thuật ngữ “ChatterBot” ban đầu được đặt ra bởi Michael
Mauldin (Creator những người đầu tiên Verbot, Julia) vào năm 1994 để mơ tả chương
trình đàm thoại.
Một chatbot , hoặc chatbot là một chương trình máy tính được thiết kế để mơ phỏng
một thơng minh trị chuyện với một hoặc nhiều người sử dụng thông qua thính giác của
con người hoặc văn bản phương pháp, chủ yếu để tham gia vào cuộc nói chuyện nhỏ.
Mục đích chính của mơ phỏng đó đã được, để đánh lừa người sử dụng nghĩ rằng đầu ra
của chương trình đã được sản xuất bởi một con người. Chương trình chơi vai trị này
đơi khi được gọi là các thực thể nhân tạo đàm thoại, chương trình nói chuyện hay
chatterbot. Ngồi ra, chatterbot thường được tích hợp vào các hệ thống thoại cho các
mục đích khác nhau thiết thực như giúp đỡ trực tuyến, dịch vụ cá nhân, hoặc mua lại
thông tin. Một số chatterbots sử dụng tinh vi xử lý ngôn ngữ tự nhiên, nhưng nhiều
chatterbot chỉ đơn giản là quét các từ khóa của đầu vào và đưa ra một trả lời với các từ
khóa phù hợp nhất, hoặc từ ngữ tương tự như hầu hết các mơ hình [16], [18].
 Bối cảnh

16


Năm 1950, Alan Turing xuất bản bài viết nổi tiếng của ơng “Máy móc và máy tính
thơng minh “ . Các tai tiếng của các thử nghiệm của Turing đề xuất kích thích sự quan
tâm rất lớn trong Joseph Weizenbaum của chương trình EliaZa, xuất bản năm 1966,
mà dường như có thể đánh lừa người sử dụng tưởng rằng họ đã trò chuyện với một con
người thật sự. Tuy nhiên, Weizenbaum đã không cho rằng Eliza đã thực sự thông minh,
và giới thiệu bài báo cáo của mình trình bày nó nhiều hơn như một bài tập lật tẩy:
Trí tuệ nhân tạo được thực hiện để hành xử theo những cách kỳ diệu, thường đủ để mê
hoặc cả những người quan sát có kinh nghiệm nhất. Nhưng một khi một chương trình
cụ thể được lột mặt nạ, một khi hoạt động bên trong của nó được giải thích ... ma thuật
của nó sụp đổ đi, nó như một bộ sưu tập chỉ là các thủ tục. Quan sát viên nói với chính
mình”Tơi có thể viết rằng”. Với suy nghĩ ơng đã đi chuyển các chương trình trong câu
hỏi từ các lệnh được đánh dấu “thông minh”, để mà dành cho curios. . . Các đối tượng
của bài báo này là nguyên nhân chỉ là một đánh giá chương trình để được “giải thích”.
Rất ít các chương trình cần thiết hơn bao giờ hết.
Phương pháp chính của Elixa hoạt động liên quan đến công nhận các từ gợi ý hoặc
cụm từ gợi ý hoặc cụm từ trong đầu vào và đầu ra của phản ứng tương ứng hoặc được
lập trình đó có thể di chuyển các cuộc trị chuyện về phía trước một các rõ ràng có ý
nghĩa. Như vậy một ảo tưởng của sự hiểu biết được tạo ra, mặc dù việc xử lý tham gia
đã được chỉ là bề ngoài. Eliza cho thấy rằng những ảo tưởng là đáng ngạc nhiên dễ
dàng để tạo ra, bởi vì các thẩm vấn con người rất sẵn sàng để cung cấp cho các lợi ích
của sự nghi ngờ khi câu trả lời đàm thoại có khả năng được hiểu là “thơng minh”. Do
đó, kỹ thuật quan trọng ở đây – đó là đặc điểm một chương trình như một chatbot hơn
là một hệ thống xử lý ngôn ngữ tự nhiên, là sản xuất đáp ứng được đầy đủ mơ hồ và
không cụ thể mà họ có thể được hiểu như là “thơng minh” trong một loạt các bối cảnh
đàm thoại [18].
 Turing Test


17


Đơi khi rất khó để phát hiện một đối tác đàm thoại ở đầu bên kia là một người thực sự
hoặc một chatbot . Trong thực tế, nó được nhận biết bởi những tiến bộ về công nghệ.
Một cách nổi tiếng để đo trí thơng minh của chatbot một cách khách quan được gọi là
Turing Test. Thử nghiệm này nhằm để xây dựng xem có thể phân biệt giữa con người
với máy tính thơng minh hay khơng.
Trong thử nghiệm được thiết lập ba khu vực : khu vực máy tính , gồm ba đến năm máy
tính , mỗi máy tính chạy một phiên bản độc lập của chatbot tham gia (tức không kết
nối với internet), một khu vực cho các thẩm vấn, thường là bốn người, và một khu vực
cho người thực hiện cuộc trò chuyện với chatbot . Các thẩm vấn làm việc trên các thiết
bị đầu cuối của riêng họ tách biệt khỏi nhau. Họ tham gia vào một cuộc trị chuyện với
người hoặc máy tính thơng qua thiết bị đầu cuối không biết liệu họ được kết nối với
một máy tính hoặc con người . Sau đó, chỉ đơn giản là bắt đầu biết tương tác. Cuộc trò
chuyện được giới hạn cho một chủ đề duy nhất. Nhiệm vụ của các thẩm vấn không thể
đáng tin cậy vào sự phân biệt các cuộc đàm thoại với chatbot hay con người . Nếu
những ngưởi thẩm vấn không thể đáng tin cậy vào sự phân biệt giữa chatbot và con
người , thì chatbot được vượt qua giới hạn cuộc thử nghiệm, Đây chính là cuộc thi
giành giải Loebner [18].
 Một số chatbot điển hình
Các chatterbot đầu tiên là Eliza(1966) và Parry (1972) gần đây các chương trình đáng
chú ý bao gồm ALICE, Jabberwacky và Dude (Agence Nationale de la Recherche và
CNRS 2006). Trong khi Eliza và Parry đã được sử dụng độc quyền để mơ phỏng cuộc
trị chuyện đánh máy, chatterbot nhiều chức năng hiện nay bao gồm các tính năng như
trị chơi và khả năng tìm kiếm web. Năm 1984, một cuốn sách gọi là Breard của Cảnh
sát viên là Half được xây dựng được công bố, bị cáo buộc bằng văn bản của chatbot
Racter (mặc dù các chương trình như phát hành sẽ khơng có được khả năng làm như
vậy). Chatbot Eliza được công nhận lần đầu tiên là chatbot trí thơng minh nhân tạo,
được phát triển tại MIT bởi Joseph Weizenbaum. Eliza được thực hiện trong SLIP

18


(danh sách xử lý đối xứng), một ngôn ngữ xử lý cũng được phát minh bởi Joseph
Weizenbaum. Nó làm việc bằng cú pháp phân tích đơn giản và thay thế các từ khóa
vào cụm từ đóng hộp. Mặc dù Joseph Weizenbaum tạo ra Eliza cách đây 30 năm, trước
khi internet trở thành quen thuộc với công chúng, sáng tạo này vẫn còn sống với phát
triển đến ngày nay với tất cả mọi người bởi cách trị chuyện đơn giản [16].

Hình 1. 2: Mơ hình chatbot ALICE
Đây là một chatbot thành viên của hiệp hội ALICE A. I, chatbot này có chủ đề vô
cùng phong phú, cở sở tri thức của chatbot được thường xuyên xập nhật bởi các thành
viên của hiệp hội chatbot ALICE mới bước đầu có mơ hình biểu trưng, mơ hình biểu
trưng chưa có những hành động phù hợp với ngữ cảnh giao tiếp.

19


Hình 1. 3: Mơ hình chatbot DAVE E.S.L.bot
DAVE E.S.L bot cũng là một thành viên của hiệp hội ALICE A.I, nhưng chatbot này
như là một giáo viên dạy tiếng Anh, có thể hội thoại bằng âm thanh và có nhân vật biểu
tượng giúp cho quá trình hội thoại gần gũi hơn, nhân vật biểu trưng có thể thực hiện
các cử chỉ hoặc phản ứng theo ngữ gần nhử con người .
Một trong những lĩnh vực của AI là nghiên cứu xử lý ngôn ngữ tự nhiên. Thông
thường, lĩnh vực AI yếu là chuyên ngành phần mềm hoặc sử dụng ngôn ngữ lập trình
tạo ra sự đặc biệt cho các chức năng yêu cầu thu hẹp. Ví dụ, ALICE sử dụng một ngơn
ngữ lập trình được gọi là AIML cho chức năng của nó như là một đại lý đàm thoại, và
từ đó được thơng qua bởi các nhà phát triển khác nhau khác, như vậy gọi là Alicebots.
Tuy nhiên, ALICE vẫn hồn tồn dựa trên mơ hình kết hợp kỹ thuật mà khơng có bất
kỳ khả năng lý luận, các Eliza kỹ thuật tương tự đã được sử dụng trở lại trong năm

1966. Đây không phải là điểm mạnh của AI yếu, mà sẽ yêu cầu sự khôn ngoan khả
năng lý luận và hợp lý.
Jebberwacky biết phản ứng mới và bối cảnh dựa trên tương tác người sử dụng thời gian
thực, chứ không phải là đang được thúc đẩy từ một cở sở dữ liệu tĩnh. Một số
chatterbot gần đây cũng kết hợp thời gian học tập với các thuật tốn tiến hóa mà tối ưu

20


hóa khả năng giao tiếp dựa trên mỗi cuộc trị chuyện diễn ra, với ví dụ đáng chú ý một
là Kyle, người chiến thắng của giải thưởng 2009 Leadis Al. Tuy nhiên, hiện nay nói
chung khơng có mục đích đàm thoại thông minh nhân tạo, và phát triển một số phần
mềm tập trung vào các khía cạnh thực tế, tìm kiếm thông tin [17].
1.4.3. Khả năng ứng dụng của Chatbot
Trong q trình hội thoại con người ln có nhu cầu thu thập và nắm bắt thông tin.
Cho dù con người có thể rất thơng minh và có trí nhớ siêu phàm, nhưng khả năng
thông minh và ghi nhớ siêu phàm đó khơng thể duy trì được mọi nơi, mọi lúc và lâu dài
được .
Ngày nay với sự xuất hiện của máy tính ở mọi nơi và dựa trên kho cơ sở dữ liệu đa
dạng và đồ sộ được lưu trữ trên máy tính . Để khai thác được kho dữ liệu đa dạng và đồ
sộ nay máy tính cần có khả năng xử lý thông tin thông minh trong quá trình trao đổi
thơng tin ( hội thoại). Với khả năng hội thoại thơng minh Chatbot có thể đáp ứng được
u cầu trên để trở thành một chương trình tư vấn trợ giúp cho mọi người.
Chatbot thường được tích hợp vào các hệ thống thoại , ví dụ, trợ lý tự động trực tuyến,
tạo cho họ có khả năng của, ví dụ, nhỏ nói chuyện hoặc tham gia vào cuộc đàm thoại
thường khơng liên quan đến phạm vi của chính mình hệ thống chun gia.
Các cơng ty lơn như Tập đồn ngân hàng lloyds, Royal Bank of Scotland, Renault và
Citroen đang sử dụng trợ lý tự động trực tuyến thay vì trung tâm chăm sóc khách hàng
sử dụng trực tiếp con người cung cấp thông tin [18].


21


CHƯƠNG 2: TÌM HIỂU VỀ MÃ NGUỒN MỞ AIML
2.1. Tìm hiểu AIML và kiến trúc AIML.
Kể từ năm 1995 AIML được giới thiệu bởi Richard Wallace, mã nguồn AIML đã
không ngừng được phát triển bởi các cộng đồng về mà nguồn mở trên interner. Tiêu
biểu là cộng đồng Eliza hay ALICE. Nhóm này đã giành được nhiều thành tích từ
AIML, như ba lần được giải Loebner, chiến thắng giải thắng giải thách thức đa ngôn
ngữ( Chatebox Challenge) vào năm 2004. Với mục tiêu đưa chatbot đến sự thông minh
như con người trong giao tiếp, thì mã nguồn mở của AIML ngày càng phong phú và đa
dạng [17]. Chúng ta có thể tham khảo những mã nguồn mở AIML nay từ các trang
Web

điển

hình

như

/>
,

hay

/>AIML (Artifiicial Intelligence Mark-up Language) bắt nguồn từ XML(Extensible
Mark-up Language),

AIML được phát triển bởi cộng đồng phần mềm miễn phí


Alicebot trong những năm 1995-2000, mục đích trong thiết kế của AIML đó là:
- AIML rất dễ học, nghiên cứu.
- AIML tương thích với XML.
- Các chương trình phần mềm rất dễ dàng truy cập và xử lý file AIML.
- Các đối tượng của AIML rất gần gũi với con người.
- Cấu trúc AIML rất rõ ràng.
- AIML không phụ thuộc vào bất kỳ ngôn ngữ nào.
Mỗi một đối tượng AIML gồm hai phần: phần logic và phần cấu trúc vật lý. Phần vật
lý bao gồm topics và categories, phần logic bao gồm các thành phần, cấu trúc câu từ và
các ánh xạ tài nguyên, tất cả đều được chứa các thẻ khác nhau của đối tượng.
Mỗi file AIML bắt đầu với thẻ <aiml version =number> biểu thị phiên bản AIML đang
được dùng. Những đối tượng AIML được tạo thành từ các đơn vị gọi là các topic và

22


các category, mỗi topic và category cùng chứa các dữ liệu được phân tích hoặc khơng
được phân tích. Mỗi topic là phần đầu tùy chọn của mỗi phần tử AIML, gồm thuộc tính
tên và xác lập mối liên hệ giữa các category của topic khác. Mỗi category gồm một
mẫu của người dùng đưa vào và một mẫu câu trả lời tương ứng của máy. Mẫu của
người sử dụng đưa vào nằm giữa thẻ <PATTERN> và thẻ </PATTERN> con mẫu câu
trả lời của máy nắm giữ thẻ <TEMPLATE> và thẻ </TEMPLATE> [8], [9].
Mẫu AIML đầy đủ.
<aiml version=”1. 0”>
<topic name= “ the topic”>
<category>
PATTERN </pattern>
<that>THAT</that>
(tempalate>TEMPLATE </template>
</category>

...
</topic>
</aiml>
Ví dụ:
< aiml version=”1. 0”>
<topic name= “CHAO HOI ” >

23


×