Các ứng dụng liên quan

Một phần của tài liệu Xây dựng hệ thống kinh doanh sách trực tuyến với chatbot (khóa luận tốt nghiệp) (Trang 28)

12

13

Hình 2 Ứng dụng Tiki

− Là nền tảng thương mại điện tử bao gồm rất nhiều mặt hàng online, trong đó nổi bật nhất là sách.

− Ưu điểm:

+ Có mặt trên cả 2 nền tảng web và mobile

+ Tiki tạo niềm tin cho khách hàng bởi số lượng đầu sách phong phú, chất lượng, luôn áp dụng các chương trình khuyến mãi hấp dẫn như voucher giảm giá, mã giảm giá…

− Hạn Chế:

+ Không có các chức năng chuyên cho việc bán sách như phân loại sách, đánh giá nội dung của sách

+ Hệ thống Chatbot chưa trực quan, đầy đủ, chỉ như hệ thống tra cứu người dùng.

14

Hình 3 Website Fahasa

15

− Là trang web bán sách thuộc Fahasa (công ty sách nổi tiếng ở Việt Nam)

− Đây là trang web có hầu hết mọi đầu sách trên thị trường, đáp ứng đa số nhu cầu của khách hàng.

− Ưu điểm:

+ Hệ thống tìm kiếm chia ra các danh mục thể loại sách dễ dàng tìm kiếm đúng sở thích của khách hàng.

+ Có mặt trên cả 2 nền tảng web và mobile − Hạn chế:

+ Giao diện còn phức tạp và rối.

+ Chưa có hệ thống Chatbot để dễ dàng trao đổi, thực hiện các mục đích liên quan một cách trực quan

7.3. Vinabook

16

Hình 6 Ứng dụng Vinabook

− Vinabook.com là nhà sách trên mạng có số lượng đầu sách lớn nhất với hơn 60,000 tựa sách và đều cập nhật mới mỗi ngày.

− Ưu điểm:

+ Có mặt trên cả 2 nền tảng web và mobile

+ Là trang web đầu tiên tại Việt Nam cung cấp dịch vụ bán sách online − Hạn chế:

+ Giao diện đơn giản và không hiện đại

+ Chưa có hệ thống Chatbot để dễ dàng trao đổi, thực hiện các mục đích liên quan một cách trực quan mà chỉ thông qua trao đổi trực tiếp với nhân viên

7.4. Tổng kết

- Ưu điểm: Các hệ thống trên đều hỗ trợ người dùng trên đa nền tảng, hệ thống sách phong phú, đa dạng

17

+ Giao diện còn khá rối, bên cạnh đó có nhiều quảng cáo không cần thiết gây khó chịu cho người dùng

+ Hệ thống Chatbot hỗ trợ người dùng chưa có hoặc chưa đảm bảo trực quan, đẩy đủ các nhu cầu cần thiết với việc mua sách.

18

CHƯƠNG 3. KIẾN THỨC NỀN TẢNG 1. Kiến thức chung

1.1. Chatbot

Hình 7 Hình minh họa Chatbot

1.1.1. Khái niệm

Chatbot là một phần mềm máy tính được phát triển để có thể thảo luận hoặc trò chuyện với con người. Ví dụ, người dùng có thể đặt cho chatbot một câu hỏi hoặc một yêu cầu, và chatbot sẽ đưa ra phản hồi hay thực hiện một hành động tương ứng thông qua tin nhắn văn bản hoặc tin nhắn thoại`. Cách mà chatbot tương tác với người dùng gần giống với các cuộc đối thoại hằng ngày, nó sẽ dựa vào các từ khoá mà con người sử dụng để giao tiếp, học hỏi thông qua machine learning và ngày càng đưa ra các phản hồi cá nhân hoá hơn, giống thật hơn.

Tuy nhiên, đa số chatbot hiện nay yêu cầu sự bảo trì và kiểm tra liên tục, chúng thường không thể giao tiếp một cách tự nhiên như con người hay có thể vượt qua được Turing test (sẽ được giải thích ở phần sau).

19

Năm 1950, Alan Turing băn khoăn rằng liệu một chương trình máy tính có thể giao tiếp với một nhóm người mà khiến họ không nhận ra rằng người đối thoại là một máy tính nhân tạo không. Sự băn khoăn này được đặt tên là Turing test, được xem như là ý tưởng sơ khai nhất về chatbot.

Chatbot đầu tiên – ELIZA – được tạo ra bởi Joseph Weizenbaum (Viện Công nghệ Massachusetts, Mỹ) vào năm 1966. ELIZA mô phỏng lại hành vi của một nhà trị liêu tâm lý, phản hồi các câu nói của người dùng, dựa trên một kịch bản phỏng vấn có sẵn. Hiển nhiên, khả năng giao tiếp của ELIZA là cực kỳ hạn hẹp, nhưng đây là bước khởi đầu cho những phát triển vượt bậc của chatbot sau này.

Hình 8 Hội thoại minh họa Chatbot

Năm 1972, PARRY xuất hiện, được xây dựng bởi bác sĩ thần kinh người Mỹ Kenneth Colby. PARRY bắt chước các hành động của một bệnh nhân tâm thần phân liệt, nó là có nhiều cải tiến hơn so với ELIZA như việc có một “tính cách” như con người và có hệ thống điều khiển tốt hơn. PARRY hoạt động thông qua một hệ thống phức tạp các giả định, phản hồi bằng các “cảm xúc” dựa trên mức độ lời nói của người đối thoại.

20

Năm 1997, Jabberwacky được tạo ra bởi lập trình viên người Anh Rollo Carpenter là một trong những cấu trúc chatbot đầu tiên có sử dụng AI (trí tuệ nhân tạo). Nó sử dụng các mẫu ngữ cảnh sao cho phù hợp với các lựa chọn trước đó của người dùng.

Năm 2001, công nghệ chatbot thực sự tiến hoá với sự phát triển của SmarterChild. Đây là lần đầu tiên một chatbot có thể giúp con người trong các công việc hằng ngày như nó có thể thu thập dữ liệu từ database về lịch chiếu phim, tỉ số trận đấu thể thao, giá chứng khoán, tin tức và thời tiết.

Lần lượt những chatbot với khả năng vượt trội được ra mắt bởi các công ty lớn như Watson của IBM (2006), Siri của Apple (2010), Google Now của Google (2012), Alexa của Amazon (2015), Cortana của Microsoft (2015) ...

Đến năm 2016, chatbot xuất hiện ở khắp mọi nơi, Facebook ra mắt một nền tảng xây dựng chatbot cho Messenger, và hàng chục nghìn chương trình được tạo ra trong vòng vài tháng. Các dịch vụ nhắn tin khác như Slack, Telegram và Kik cũng làm như trên. Trong cùng năm, Apple mở iMessage cho các nhà phát triển bên thử ba. Công nghệ chatbot thực sự bùng nổ từ đây.

1.1.3. Các thành phần

Cấu tạo của chatbot cũng gồm những phần cở bản như các ứng dụng máy tính khác: - Cơ sở dữ liệu

- Tầng ứng dụng - Các API

1.1.4. Phân loại

Có 3 loại chatbot chính dựa trên cách vận hành:

- Chatbot đơn giản (simple chatbot): là chatbot có hành vi được xác định bởi các quy tắc cụ thể. Tại mỗi bước trong cuộc trò chuyện, người dùng cần phải chọn các tuỳ chọn có sẵn để xác định bước tiếp theo của cuộc trò chuyện. Với mỗi lựa chọn của người dùng, chatbot sẽ phản hồi lại dựa trên các kịch bản đã được sắp đặt sẵn.

21

Ví dụ: khi khách hàng muốn đặt mua trà sữa, chatbot sẽ đưa ra các lựa chọn cho khách hàng theo từng bước: đầu tiên chatbot sẽ hỏi khách hàng về hương vị trà sữa muốn mua, sau khi khách hàng chọn được hương vị mình thích, chatbot sẽ hỏi lần lượt về size, topping, độ lạnh… sau khi đã chọn xong ly trà sữa ưng ý sẽ là các câu hỏi về thông tin giao hàng và thanh toán.

- Chatbot thông minh (smart chatbot): là chatbot được xây dựng với các kỹ thuật trí tuệ nhân tạo. Chúng đối thoại tự do với người dùng, có thể hiểu được ý định, ngôn ngữ, tình cảm của người dùng. Những chatbot này cần được lập trình để giúp chúng hiểu được các ngữ cảnh giao tiếp. Chatbot thông minh phức tạp hơn nhiều và cần rất nhiều dữ liệu để tự học.

Ví dụ: trợ lý ảo là một biến thể của chatbot thông minh, chúng thu thập dữ liệu về các cuộc trò chuyện với mọi người trên thế giới để học và cải thiện khả năng giao tiếp. Lưu ý rằng để xây dựng được một trợ lý ảo thì khối lượng dữ liệu cần thu thập là khổng lồ, tuy nhiên trên lý thuyết, chatbot có thể hoạt động như một trợ lý ảo trên các web app.

- Chatbot hỗn hợp (hybrid chatbot): là chatbot kết hợp giữa chatbot đơn giản và chatbot thông minh. Simple chatbot và smart chatbot thể hiện hai thái cực rất khác nhau của chatbot. Chúng ta luôn muốn làm cho chatbot đơn giản trở nên thông minh hơn, và chatbot thông minh trở nên đơn giản hơn, chatbot hỗn hợp là sự kết hợp hoàn hảo của cả hai.

Ví dụ: để chẩn đoán tình trạng bệnh, bệnh nhân có thể mô tả các triệu chứng của mình cho chatbot thông qua các lựa chọn được hỏi, tuy nhiên, cơ thể con người là vô cùng phức tạp, đôi khi chỉ cần vài câu hỏi là bệnh tình của bệnh nhân đã có thể được chẩn đoán và đưa ra phương pháp điều trị thích hợp, nhưng có những trường hợp các kịch bản đặt sẵn không đáp ứng được nhu cầu của người bệnh, trí tuệ nhân tạo được sử dụng để phục vụ các trường hợp này.

1.1.5. Cách thức hoạt động

Chatbot là sự kết hợp của các kịch bản có trước và tự học trong quá trình tương tác. Người dùng sẽ tương tác với chatbot bằng tin nhắn văn bản, tin nhắn thoại hoặc bằng cử chỉ. Với các câu hỏi được đặt ra, Chatbot sử dụng các hệ thống xử lý ngôn ngữ tự nhiên (Natural

22

Language Processing) để phân tích dữ liệu sau đó chúng lựa chọn các thuật toán học máy để đưa ra các loại phản hồi khác nhau, chúng sẽ dự đoán và phản hồi chính xác nhất có thể. Chatbot sẽ quét các từ khoá có trong câu lệnh của người dùng, xác định các ý định của người dùng, từ đó trích xuất dữ liệu từ database để có câu trả lời phù hợp nhất. Nếu tình huống đó chatbot không xác định được ý định của người dùng, chúng sẽ bỏ qua nhưng sẽ đồng thời tự thêm vào dữ liệu tự học để áp dụng cho các cuộc trò chuyện về sau.

Một trong các yếu tố nổi trội của chatbot là khả năng tự học. Càng đối thoại, tương tác với người dùng nhiều, nền tảng chatbot càng trở nên “thông minh” hơn. Chatbot thông minh có khả năng tự học hỏi dựa trên các dữ liệu đưa vào mà không cần phải được lập trình cụ thể (phương pháp máy học – Machine learning), điều này giúp cho các nhà phát triển tạo ra được các cuộc trò chuyện tự động với người dùng.

Hình 9 Chatbot - Cách thức hoạt động

1.2. Mô hình Client-Server 1.2.1. Khái niệm 1.2.1. Khái niệm

Mô hình client server (mô hình mạng máy khách – máy chủ) là một cấu trúc ứng dụng phân tán. Nó phân vùng các nhiệm vụ hay workload giữa các nhà cung cấp tài nguyên hoặc dịch vụ, gọi là server, và người yêu cầu dịch vụ (Client).

23

Trong kiến trúc Client Server, khi máy Client gửi yêu cầu dữ liệu đến Server thông qua Internet, server sẽ chấp nhận quy trình được yêu cầu. Sau đó gửi các gói dữ liệu được yêu cầu trở lại client. Client không chia sẻ bất kỳ tài nguyên nào của họ.

1.2.2. Nguyên tắc hoạt động

Hình 10 Nguyên tắc hoạt động mô hình Client-Server

- Client: Khi nói đến Client (khách hàng), thì nó có nghĩa là một người hay một tổ chức sử dụng một dịch vụ cụ thể nào đó. Trong thế giới kỹ thuật số cũng tương tự như vậy. Client là một máy tính (Host), tức là có khả năng nhận thông tin hoặc sử dụng một dịch vụ cụ thể từ các nhà cung cấp dịch vụ (Server).

- Server: Tương tự như vậy, khi nói đến Server thì nó có nghĩa là một máy chủ hay một phương tiện phục vụ các dịch vụ nào đó. Trong lĩnh vực công nghệ thì Server là một máy tính từ xa. Nó cung cấp các thông tin (dữ liệu) hoặc quyền truy cập vào các dịch vụ cụ thể.

Vì vậy, về cơ bản thì trong mô hình Client và Server, Client là đối tượng yêu cầu một thứ gì đó. Server thì phục vụ nó, miễn là nó có mặt trong cơ sở dữ liệu.

1.2.3. Ưu điểm, nhược điểm

- Ưu điểm:

+ Tập trung: Ưu điểm chính của mô hình mạng khách chủ là khả năng kiểm soát tập trung (Centralization) được tích hợp sẵn. Với mô hình này, tất cả thông tin cần thiết đều được đặt ở một vị trí duy nhất. Việc này rất hữu ích cho những quản trị viên mạng. Vì họ có được toàn quyền quản lý và điều hành. Bằng tính năng này, mọi sự cố trong mạng đều có thể được giải quyết ở một nơi duy nhất. Và do đó, việc cập nhật tài nguyên, dữ liệu cũng trở nên dễ dàng hơn.

24

+ Bảo mật: Trong mạng Client Server, dữ liệu được bảo vệ tốt do kiến trúc tập trung của mạng. Nó có thể được áp dụng các biện pháp kiểm soát truy cập, sao cho chỉ những người dùng được ủy quyền mới có thể truy cập. Một trong những cách để làm vậy là áp đặt thông tin đăng nhập, chẳng hạn như Username hay Password. Hơn nữa, nếu dữ liệu bị mất, các file có thể được khôi phục dễ dàng từ chỉ một bản sao lưu duy nhất.

+ Khả năng mở rộng: Mô hình mạng Client server có khả năng mở rộng tốt. Bất cứ khi nào người dùng cần, họ có thể tăng số lượng tài nguyên, chẳng hạn như số Client hay Server. Do đó có thể dễ dàng tăng kích thước của Server mà không bị gián đoạn nhiều.

+ Khả năng truy cập: Không có sự phân biệt giữa các vị trí hay nền tảng khác nhau, mọi client đều có thể đăng nhập vào hệ thống. Bằng cách này, tất cả nhân viên đều có thể truy cập thông tin của công ty của họ, không cần phải dùng một terminal mode hay một bộ xử lý nào.

- Nhược điểm:

+ Tắc nghẽn lưu lượng: Nhược điểm chính của mô hình mạng Client Server là tắc nghẽn lưu lượng. Nếu có quá nhiều Client tạo request từ cùng một Server, nó có thể làm chậm kết nối. Hoặc tệ hơn là dẫn đến hiện tượng crash. Một server bị quá tải có thể tạo ra nhiều vấn đề trong việc truy cập thông tin.

+ Độ bền: Như ta đã biết, mạng Client Server là mạng tập trung. Nên nếu Server chính xảy ra sự cố hay bị nhiễu, toàn bộ hệ thống mạng sẽ bị gián đoạn. Do đó, các mạng client server sẽ thiếu tính ổn định và độ bền.

+ Chi phí: Chi phí thiết lập và bảo trì server trong các mạng client server thường khá cao. Vì các hệ thống mạng có sức mạnh lớn có thể có giá rất đắt. Do đó, không phải tất cả người dùng đều có thể chi trả được.

+ Bảo trì: Khi các Server được triển khai, nó sẽ hoạt động không ngừng nghỉ. Có nghĩa là nó cần được quan tâm đúng mức nếu có bất kỳ vấn đề gì thì phải giải quyết ngay. Vì vậy, cần có một nhà quản lý mạng chuyên biệt để duy trì hoạt động của Server.

25

+ Tài nguyên: Không phải tất cả tài nguyên hiện có ở trên Server đều có thể sử dụng được. Ví dụ như bạn không thể in trực tiếp tài liệu trên web, hoặc chỉnh sửa bất kỳ thông tin nào trên ổ cứng của Client.

2. Công nghệ sử dụng 1.1. Dialogflow

Hình 11 Logo Dialogflow

1.1.1. Khái niệm

- Dialogflow là một framework sử dụng để xây dựng và phát triển chatbot cho Google sở hữu. Đây là một nền tảng xử lý ngôn ngữ tự nhiên (natural language processing - NLP) có thể được sử dụng để xây dựng các ứng dụng và trải nghiệm trò chuyện cho khách hàng bằng nhiều ngôn ngữ và trên nhiều nền tảng khác nhau, cho phép các nhà phát triển tạo giao diện hội thoại dựa trên văn bản và thoại để trả lời các truy vấn của khách hàng bằng các ngôn ngữ khác nhau.

- Dialogflow là công cụ phổ biến nhất được sử dụng để tạo chức năng trò chuyện cho các thiết bị có sử dụng Trợ lý Google. Trước đây nó được gọi là API.AI và được Google mua lại vào năm 2016. Sau đó nó được đổi tên thành Dialogflow.

1.1.2. Tại sao sử dụng Dialogflow?

- Là sản phẩm của Google, nên nó có thể kết hợp các tính năng của Google như Machine learning và chuyển đổi giọng nói thành văn bản.

- Dialogflow tốt hơn các đối thủ cạnh tranh khác ở việc sử dụng Machine learning ngay cả khi có ít dữ liệu đào tạo hơn.

26

- Được chia thành nhiều phiên bản nên dễ dàng trong việc chọn lựa để phù hợp với chi phí và quy mô của hệ thống.

- Multi-channel support: Các hành động có thể được xây dựng cho nhiều trợ lý AI, nhiều nền tảng khác nhau, bao gồm Google Assistant, Alexa, Cortana, Slack và Facebook Messenger, …

- Hỗ trợ nhiều ngôn ngữ khác nhau và có những dịch vụ khác nhau được tích hợp cho

Một phần của tài liệu Xây dựng hệ thống kinh doanh sách trực tuyến với chatbot (khóa luận tốt nghiệp) (Trang 28)