CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ CHATBOT 1. Khái niệm Theo từ điển Cambridge, chatbot là một một chương trình máy tính được thiết kế để trò chuyện với con người, đặc biệt là qua internet [15]. Chatbot thường trao đổi với người dùng qua hình thức tin nhắn hoặc âm thanh. Do được thiết kế để mô phỏng cách trò chuyện với con người, các hệ thống chatbot thường phải điều chỉnh và thử nghiệm liên tục.
Chatbot thường được sử dụng trong các hệ thống hội thoại cho các mục đích khác nhau bao gồm dịch vụ khách hàng, định tuyến yêu cầu hoặc để thu thập thông tin. Mặc dù một số ứng dụng chatbot sử dụng các phương pháp phân loại từ (word- classification), xử lý ngôn ngữ tự nhiên (NLP) và trí tuệ nhân tạo (AI), một số ứng dụng khác chỉ cần quét các từ khóa chung và tạo phản hồi bằng các cụm từ phổ biến thu được từ thư viện hoặc cơ sở dữ liệu liên quan. Ngày nay, hầu hết các chatbot được truy cập trực tuyến thông qua cửa sổ popup của trang web hoặc thông qua các trợ lý ảo như Google Assistant, Amazon Alexa hoặc các ứng dụng nhắn tin như Facebook Messenger hoặc WeChat. Lịch sử ra đời Dưới đây là tóm tắt lịch sử ngắn gọn về lịch sử hình thành của chatbot [6], [16].
1950 Phép thử Turing là một phương pháp để xác định xem một cỗ máy có thể chứng minh trí thông minh của nó giống với não người hay không. Nếu một cỗ máy có thể tham gia vào một cuộc hội thoại với con người mà không bị phát hiện là một cỗ máy, thì nó đã thể hiện được trí tuệ của con người. 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. 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 phép thử 3 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. 1966 Chatbot đầu tiên ra đời năm 1960, tên là Eliza, và là một chương trình máy tính của Joseph Weizenbaum (Viện Công nghệ Massachusetts, Mỹ). Chương trình được thiết kế theo cách bắt chước cuộc trò chuyện của con người. Chatbot Eliza hoạt động bằng cách chuyển các từ mà người dùng đã nhập vào máy tính và sau đó ghép nối chúng vào danh sách các câu trả lời có kịch bản.
Nó sử dụng một kịch bản mô phỏng một nhà tâm lý trị liệu. Kịch bản được chứng minh là một tác động đáng kể đến việc xử lý ngôn ngữ tự nhiên và trí thông minh nhân tạo và là một trong những chương trình đầu tiên có thể vượt qua bài kiểm tra Turing. 1972 Parry được xây dựng bởi bác sĩ tâm thần người Mỹ Kenneth Colby vào năm 1972. Chương trình bắt chước một bệnh nhân tâm thần phân liệt.
Nó là một chương trình ngôn ngữ tự nhiên tương tự như suy nghĩ của một cá nhân. Parry hoạt động thông qua một hệ thống phức tạp các giả định, phân bổ và “phản ứng cảm xúc” được kích hoạt bằng cách thay đổi trọng số được gán cho các đầu vào bằng lời nói. Trong cùng năm đó, Parry và Eliza đã “gặp” và “nói chuyện” với nhau tại Hội nghị Quốc tế về Truyền thông Máy tính ở Washington DC. Sau đó, Parry cũng đã vượt qua một phiên bản của Turing Test.
1981 Đượ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 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 4 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. 1992 Đượ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.
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 đố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). 1995 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.
2001 SmarterChild là một Chatbot có sẵn trên mạng AOL Instant Messenger và Windows Live Messenger (trước đây là MSN Messenger). AOL Instant Messenger là một chương trình tin nhắn tức thời và hiện diện do AOL tạo ra, sử dụng giao thức nhắn tin tức thời OSCAR độc quyền và giao thức TOC để cho phép người dùng đăng ký giao tiếp trong thời gian thực. SmarterChild đóng vai trò giới thiệu cho việc truy cập dữ liệu nhanh và cuộc trò chuyện được cá nhân hóa thú vị hơn. Hơn nữa, khi kết hợp với các nhà mạng, chúng trở thành một kênh tiếp thị hiệu quả và miễn phí.
Chúng 5 giúp người dùng giao tiếp nhanh chóng với hệ thống mạng bằng cách hiển thị các thông tin ngắn gọn với các lựa chọn trên bàn phím điện thoại. 2006 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 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. 2010-2016 Siri, một trợ lý cá nhân thông minh, đã được ra mắt dưới dạng một ứng dụng iPhone và sau đó được tích hợp là một phần của iOS. Năm 2012, Google ra mắt chatbot Google Now.
Năm 2016, Google đã giới thiệu trợ lý cá nhân thông minh mới Google Assistant, là một sự tiến hóa của Google Now. Trợ lý này có thể tham gia đối thoại hai chiều với người dùng. Trước đó vào năm 2014, Amazon phát hành Alexa, Microsoft giới thiệu Cortana vào 2015. Với khả năng phân tích và xử lý ngôn ngữ tự nhiên, các trợ lý ảo 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.
2016- nay 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à 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 6 đua của các nhà phát triển chatbots, Facebook đang nắm giữ thị phần toà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. Còn riêng ở thị 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. Phân loại chatbot Chatbots có thể được phân loại thành nhiều loại khác nhau dựa trên một số tiêu chí. Các phân loại có thể được thực hiện dựa trên các tiêu chí sau [7, tr.1: Phân loại Chatbot [7] - Theo chế độ tương tác (Interact Mode): + Dựa trên văn bản (Text-Based) + Dựa trên giọng nói (Voice-Based) - Theo miền (Domain): + Miền đóng/miền cụ thể (Closed Domain): Phạm vi của chatbot chỉ giải quyết một số vấn đề trong phạm vi nhất định.
Ví dụ: Khách hàng mua ô tô, tư vấn khách hàng mua bảo hiểm nhân thọ, dự báo thời tiết… Loại này phổ 7 biến, dữ liệu huấn luyện trong phạm vi nhỏ nên dễ huấn luyện, độ chính xác cao. + Miền mở (Open Domain): Loại này là mục tiêu của trí tuệ nhân tạo. Một chatbot biết mọi thứ và có thể trả lời mọi vấn đề. Rất nhiều chatbot thông minh được tạo ra.
Tuy nhiên trả lời mọi vấn đề và vượt qua được Turing test thì vẫn chưa thể đạt tới. - Theo mục tiêu (Goals): + Các chatbot hướng nhiệm vụ (Task-Oriented): được thiết kế cho một nhiệm vụ cụ thể và được thiết lập để có thời gian ngắn các cuộc hội thoại, thường là trong một miền đóng. + Các chatbot không hướng nhiệm vụ (Non Task-Oriented): có thể mô phỏng cuộc trò chuyện với một người và thường thực hiện chat cho mục đích giải trí trong các miền mở. - Theo Phương pháp thiết kế (Design Approach): + Dựa theo luật (Rule- Based): Loại chatbot này khả năng rất hạn chế.
Chỉ có khả năng phản hồi chính xác những lệnh cụ thể mà ta đã xác định từ trước hoặc người dùng không được phép tùy ý phản hồi mà phải lựa chọn các phản hồi do lập trình viên tạo ra.