Chƣơng 3 TỔNG QUAN VỀ MÁY HỌC VÀ CÂY QUYẾT ĐỊNH
3.1. Tổng quan về máy học
3.1.1. Giới thiệu về máy học
Trong thời gian gần đây, chủ đề về cuộc Cách mạng Công nghiệp 4.0 được nhắc đến nhiều trên giới truyền thơng và mạng xã hội. Cùng với đó là những hứa hẹn về cuộc “đổi đời” của các doanh nghiệp tại Việt Nam nếu đón được làn sóng này.
Cách mạng công nghiệp đầu tiên sử dụng năng lượng nước và hơi nước để cơ giới hóa sản xuất. Cuộc cách mạng lần 2 diễn ra nhờ ứng dụng điện năng để sản xuất hàng loạt. Cuộc cách mạng lần 3 sử dụng điện tử và công nghệ thông tin để tự động hóa sản xuất. Cuộc cách mạng Cơng nghiệp lần thứ tư đang diễn ra với sự nổi bật của trí tuệ nhân tạo (Artificial Intelligence-AI) cụ thể hơn là máy học (Machine Learning-ML) (hình 3.1).
Hình 3.1. Lịch sử 4 cuộc cách mạng cơng nghiệp (Nguồn https://www.ninhthuan.gov.vn/)
Theo Tom Michael Mitchell thì “Một chương trình máy tính được gọi là “học tập” từ kinh nghiệm E để hoàn thành nhiệm vụ T với hiệu quả được đo bằng phép đánh giá P, nếu hiệu quả của nó khi thực hiện nhiệm vụ T, khi được đánh giá bởi P, cải thiện theo kinh nghiệm E“. Nó được xem như một tập hợp con của trí tuệ nhân tạo. Các thuật tốn máy học xây dựng một mơ hình tốn học dựa trên các dữ liệu mẫu còn được gọi là “dữ liệu đào tạo” để đưa ra dự đoán hoặc quyết định mà khơng cần lập trình trước. Các thuật tốn máy học được sử dụng trong nhiều ứng dụng, chẳng hạn như lọc thư rác, phân tích và nhận dạng các hình ảnh, trong đó việc phát triển các thuật tốn thơng thường để thực hiện các tác vụ cần thiết là khó hoặc khơng khả thi [5].
Máy học có liên quan mật thiết đến thống kê tính tốn, tập trung vào việc đưa ra dự đốn bằng máy tính. Data mining cũng là một lĩnh vực nghiên cứu liên quan đến máy học, nó tập trung vào phân tích dữ liệu khám phá thông qua học không giám sát. Trong ứng dụng của nó trong các vấn đề kinh doanh, máy học cịn được gọi là phân tích dự đốn [21].
Nói cách khác máy học là một ứng dụng của trí tuệ nhân tạo cung cấp cho các hệ thống khả năng tự động học hỏi và cải thiện từ kinh nghiệm mà không cần
được lập trình rõ ràng. Máy học tập trung vào việc phát triển các chương trình máy tính có thể truy cập dữ liệu và sử dụng nó để tự học.
Cùng với sự phát triển vượt bậc về khả năng tính tốn của máy tính và số lượng dữ liệu lớn được thu thập bởi các tổ chức công nghệ lớn. Một lĩnh vực mới của máy học đã ra đời là Deep Learning. Những công việc tưởng chừng như không thể giải quyết được nay đã được xử lý rất tốt nhờ Deep Learning như: phân loại hàng nghìn vật thể trong ảnh, nhận diện giọng nói, giao tiếp với con người hay sáng tác văn thơ … Mối quan hệ của AI, Machine Learning và Deep Learning được biểu diễn ở (hình 3.2).
Hình 3.2. Mối quan hệ giữa AI, ML và Deep Learning
(Nguồn: https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial- intelligence-machine-learning-deep-learning-ai/)
3.1.2. Phân nhóm các thuật tốn máy học
Các nhóm tiếp cận máy học theo truyền thống được chia thành ba loại lớn, tùy thuộc vào bản chất của "tín hiệu" hoặc "phản hồi" có sẵn cho hệ thống học tập bao gồm [5], [41]:
Học có giám sát (Supervised Learning): là phương pháp dự đoán đầu ra
còn được gọi là (dữ liệu, nhãn). Học có giám sát là nhóm phổ biến nhất trong các thuật tốn của máy học (hình 3.3).
Ví dụ: trong nhận dạng chữ viết tay, ta có ảnh của hàng nghìn chữ số được
viết bởi nhiều người khác nhau. Đưa các bức ảnh này vào trong một thuật tốn và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào. Sau khi thuật tốn tạo ra một mơ hình, tức một hàm số mà đầu vào là một bức ảnh và đầu ra là một chữ số, khi nhận được một bức ảnh mới mà mơ hình chưa nhìn thấy bao giờ, nó sẽ dự đốn bức ảnh đó chứa chữ số nào (hình 3.4).
Hình 3.3. Mơ hình học có giám sát (Supervised Learning)
(Nguồn https://medium.com/datadriveninvestor/learning-paradigms-in-machine- learning-146ebf8b5943)
Hình 3.4. MNIST- bộ cơ sở dữ liệu của chữ số viết tay. (Nguồn https://deepai.org/dataset/mnist) (Nguồn https://deepai.org/dataset/mnist)
Học không giám sát (Unsupervised Learning): Khác với phương pháp học
có giám sát phương pháp này máy tính khơng biết được kết quả hay nhãn mà chỉ có dữ liệu đầu vào. Thuật tốn sẽ tự tìm cấu trúc dựa dữ liệu đầu vào và thực phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính tốn (hình 3.5).
Hình 3.5. Mơ hình học khơng giám sát (Unsupervised Learning)
(Nguồn https://medium.com/datadriveninvestor/learning-paradigms-in-machine- learning-146ebf8b5943)
Học tập củng cố (Reinforcement Learning): là phương pháp học giúp cho
một máy tính tự động xác kết quả dựa trên hồn cảnh để đạt được kết quả tốt nhất. Hiện tại phương pháp này chủ yếu được áp dụng vào Lý Thuyết Trị Chơi (Game Theory), các thuật tốn cần xác định nước đi tiếp theo để đạt được điểm số cao nhất (hình 3.6).
Hình 3.6. Mơ hình học tập củng cố (Reinforcement Learning)
(Nguồn https://medium.com/datadriveninvestor/learning-paradigms-in-machine- learning-146ebf8b5943)
3.2. Mơ hình cây quyết định
Hiện nay, có rất nhiều cơng nghệ hỗ trợ việc xây dựng Chatbot để ứng dụng cho các hệ thống khác nhau. Trong phạm vi đề tài sẽ thực hiện tìm hiểu Machine Learning và các kỹ thuật xử lý ngôn ngữ trong Natural Language Processing (NLP) và Natural Language Understanding (NLU) để xây dựng mơ hình “Cây quyết định” và áp dụng thuật toán Text Classification, [18].
3.2.1. Giới thiệu về mơ hình Cây quyết định
Trong cuộc sống hàng ngày, chúng vẫn đang sử dụng mơ hình “Cây quyết định” để giải quyết các công việc hàng ngày. Ví dụ, khi vào siêu thị mua thịt cho bữa ăn trong gia đình. Câu hỏi đầu đầu tiên trong ta là: Cần mua bao nhiêu thịt? Lúc đó bản thân sẽ xác định: Nếu là ngày thường thì gia đình sẽ sử dụng khoảng 1 kg thịt, cịn cuối tuần thì sẽ là 1,5 kg. Như vậy, dựa theo ngày, ta sẽ quyết định lượng thực phẩm cần mua cho gia đình [12].
Đó chính là một dạng của mơ hình cây quyết định nhị phân.
Cây quyết định là một cấu trúc giống như lưu đồ, trong đó mỗi nút bên trong đại diện cho một “phép thử” trên một thuộc tính (ví dụ: liệu một lần lật đồng xu
xuất hiện ngửa hay sấp), mỗi nhánh đại diện cho kết quả của thử nghiệm và mỗi nút lá đại diện cho một nhãn lớp (quyết định được thực hiện sau khi tính tốn tất cả các thuộc tính). Các đường dẫn từ gốc đến lá đại diện cho các quy tắc phân loại.
Trong phân tích quyết định, cây quyết định và sơ đồ ảnh hưởng có liên quan chặt chẽ được sử dụng như một công cụ hỗ trợ ra quyết định trực quan và phân tích, nơi các giá trị mong muốn của các lựa chọn thay thế cạnh tranh được tính tốn [35], [22].
Đặc điểm của cây quyết định: là một cây có cấu trúc, trong đó (hình 3.7): + Root (Gốc): Nút trên cùng của cây.
+ Node trong: nút trung gian trên một thuộc tính đơn. + Nhánh: Biểu diễn các kết quả của kiểm tra trên nút.
+ Node lá: Biểu diễn lớp hay sự phân phối lớp (hình vng hoặc chữ nhật).
Hình 3.7. Cấu trúc Cây quyết định
Hình 3.8. Mơ hình cây quyết định chơi hay không chơi Tennis (Nguồn https://nulpointerexception.com/2017/12/16/a-tutorial-to- (Nguồn https://nulpointerexception.com/2017/12/16/a-tutorial-to-
understand-decision-tree-id3-learning-algorithm)
Cây quyết định được sử dụng có hai loại chính [22]:
+ Phân loại (Classification) (hình 3.9):
Các ví dụ mơ hình nêu ở trên là một ví dụ về cây phân loại, trong đó kết quả là một biến như “phù hợp” hoặc “không phù hợp”. Ở đây biến quyết định là phân loại.
Một cây như vậy được xây dựng thơng qua một q trình được gọi là phân vùng đệ quy nhị phân . Đây là một quá trình lặp đi lặp lại của việc chia nhỏ dữ liệu thành các phân vùng , sau đó chia nhỏ dữ liệu ra từng nhánh.
Hình 3.9. Ví dụ về cây phân loại
+ Hồi quy (Regression) (hình 3.10): Cây quyết định trong đó biến mục tiêu
có thể nhận các giá trị liên tục (thường là số thực) được gọi là cây hồi quy (ví dụ giá của một ngơi nhà, hoặc thời gian bệnh nhân nằm viện).
Hình 3.10. Ví dụ về cây hồi quy
(Nguồn https://machinelearningmastery.com/classification-and-regression-trees- for-machine-learning/)
3.2.2. Kỹ thuật xử lý ngôn ngữ Natural Language Processing và Natural Language Understanding Language Understanding
Ứng dụng Machine learning để xây dựng Chatbot có thể tự “học” thì cần các kỹ thuật xử lý ngôn ngữ. Kỹ thuật xử lý ngôn ngữ thường được sử dụng trong các hệ thống Chatbot hiện nay là Natural Language Processing (NLP) và Natural Language Understanding (NLU) [7].
NLP là một lĩnh vực nhỏ của ngôn ngữ học, khoa học máy tính và trí tuệ nhân tạo liên quan đến sự tương tác giữa máy tính và ngơn ngữ của con người, đặc biệt là cách lập trình máy tính để xử lý và phân tích lượng lớn dữ liệu ngơn ngữ tự nhiên. Nói một cách dễ hiểu, NLP đại diện cho việc xử lý tự động ngôn ngữ tự nhiên của con người như giọng nói hoặc văn bản.
Xử lý ngôn ngữ tự nhiên bao gồm nhiều kỹ thuật khác nhau để diễn giải ngôn ngữ của con người, từ các phương pháp thống kê và học máy đến các phương pháp tiếp cận dựa trên quy tắc và thuật toán [23].
Các tác vụ NLP cơ bản bao gồm mã hóa và phân tích, bổ sung/tạo gốc, gắn thẻ một phần giọng nói, phát hiện ngơn ngữ và xác định các mối quan hệ ngữ nghĩa.
Nói chung, nhiệm vụ NLP là chia nhỏ ngôn ngữ thành các phần ngắn hơn, mang tính nguyên tố, cố gắng hiểu mối quan hệ giữa các phần và khám phá cách các phần hoạt động với nhau để tạo ra ý nghĩa.
NLP thường được sử dụng để thực hiện một số việc như [13], [15], [16], [17]:
+ Phân loại nội dung: Bản tóm tắt tài liệu dựa trên ngơn ngữ, bao gồm tìm
kiếm và lập chỉ mục, cảnh báo nội dung và phát hiện trùng lặp.
+ Khám phá chủ đề và mơ hình hóa: Nắm bắt chính xác ý nghĩa và chủ đề
trong bộ sưu tập văn bản, đồng thời áp dụng phân tích nâng cao vào văn bản, như tối ưu hóa và dự báo.
+ Trích yếu ngữ cảnh: Tự động lấy thơng tin có cấu trúc từ các nguồn dựa
trên văn bản.
+ Phân tích tình cảm: Xác định tâm trạng hoặc ý kiến chủ quan trong một
+ Chuyển đổi giọng nói thành văn bản và chuyển văn bản thành giọng nói: Chuyển đổi lệnh thoại thành văn bản viết và ngược lại.
+ Tóm tắt tài liệu: Tự động tạo tóm tắt các nội dung lớn của văn bản.
+ Dịch ngôn ngữ: Dịch tự động văn bản hoặc lời nói từ ngôn ngữ này sang
Chƣơng 4. XÂY DỰNG CHATBOT HỖ TRỢ NGƢỜI DÙNG TÌM HIỂU VỀ THỦ TỤC HÀNH CHÍNH TRÊN CỔNG THÔNG TIN ĐIỆN TỬ
THÀNH PHỐ BÀ RỊA
4.1. Nền tảng xây dựng Chatbot FPT.AI Conversation
Như đã trình bày ở trên, hiện nay trên thế giới có rất nhiều nền tảng hỗ trợ xây dựng Chatbot trong đó có FPT.AI Conversation.
FPT.AI Conversation được xây dựng và phát triển bởi Ban công nghệ, trực thuộc tập đoàn FPT, đang được đánh giá là một trong những nền tảng tạo Chatbot thông minh, dễ sử dụng trên thị trường công nghệ Việt Nam hiện nay. Chatbot FPT.AI được tích hợp trí tuệ nhân tạo AI, công nghệ xử lý ngôn ngữ tự nhiên NLP đặt biệt là ngôn ngữ tiếng Việt. FPT.AI đã và đang trở thành đối tác của nhiều công ty, tập đoàn lớn, cung cấp nhiều giải pháp để hỗ trợ các doanh nghiệp giải phóng sức lao động, tối ưu hố quy trình, mang lại những giá trị to lớn và bền vững theo thời gian.
FPT.AI Conversation cung cấp nền tảng để tạo lập và quản lý Chatbot với giao diện người dùng. Với công nghệ xử lý ngôn ngữ tự nhiên và hệ thống quản lý hội thoại, nền tảng cung cấp một giải pháp xây dựng Chatbot hồn chỉnh, có thể tích hợp trên nhiều nền tảng và giao diện trị chuyện khác nhau, giúp tự động hóa các cuộc hội thoại giữa doanh nghiệp với khách hàng, góp phần đẩy mạnh bán hàng, mở rộng quy mơ vận hành và mang đến sự hài lịng cho khách hàng.
Một số điểm nổi bật khi sử dụng Chatbot của FPT.AI:
+ Đàm thoại tự nhiên: Được trang bị máy học cùng công nghệ Xử lý ngôn ngữ tự nhiên tiếng Việt tốt, Chatbot của FPT.AI có thể hiểu được ý định của khách hàng, đưa ra các câu trả lời phù hợp và trở nên thông minh hơn theo thời gian sau khi được đào tạo.
+ Cơng cụ hồn hảo cho Bán hàng, Marketing và Hỗ trợ khách hàng: Dễ dàng xây dựng và quản lý hội thoại với khách hàng tương ứng với hành trình khách hàng sử dụng sản phẩm/dịch vụ và tự động gửi tới khách hàng thông tin về các chương trình khuyến mãi.
+ Triển khai đa kênh: Dễ dàng tích hợp với các cổng thơng tin nội bộ sẵn có của doanh nghiệp, nhắn tin cũng như các nền tảng hội thoại phổ biến như live chat trên website, mạng xã hội (Facebook, Zalo, Viber, FB@W...) thông qua một vài thao tác đơn giản.
+ Tăng cƣờng hiệu quả dịch vụ chăm sóc khách hàng: FPT.AI Chatbot hoạt động 24/7, hỗ trợ khách hàng mọi lúc, mọi nơi, và sẵn sàng chuyển cuộc trò chuyện đến nhân viên tư vấn khi khách hàng yêu cầu, đảm bảo trải nghiệm khách hàng luôn nhất quán và tốt đẹp.
+ Khả năng tƣơng thích và mở rộng: Dễ dàng tích hợp với hệ thống của Doanh nghiệp thơng qua các API. Nền tảng đám mây cho phép mở rộng linh hoạt và xử lý hàng nghìn ý định của khách hàng cùng một lúc.
4.1.1. Các tính năng của FPT.AI Conversation
- Thống kê: Chức năng Thống kê cho phép sở hữu Chatbot theo dõi các chỉ
số như: báo cáo số lượng tin nhắn mà khách hàng đã gửi tương tác với bot, Xếp hạng các yêu cầu được người sử dụng quan tâm nhất, số lượng người dùng mới, số lượng người dùng quay lại…Chức năng này vơ cùng hữu ích khi tổ chức cần tổng kết và đánh giá mức độ hiệu quả của Chatbot sau thời gian sử dụng, mức độ đáp ứng các câu hỏi của khách hàng.
- Kịch bản: Tính năng này giúp người thiết kế bot xây dựng nhiều tình
huống khác nhau, tạo dựng các luồng hội thoại để đa dạng hố cuộc trị chuyện với khách hàng.
- NLP: NLP là tính năng nổi bật và là điểm nhấn của nền tảng tạo bot
FPT.AI Conversation. Với tính năng NLP, người thiết kế bot có thể đào tạo cho bot hiểu các ý định của người dùng, nhận diện các câu nói khác nhau nhưng cùng chung ý định. Từ đó, Chatbot sẽ đưa ra các câu trả lời tương ứng chính xác đến người dùng.
- Lịch sử: Tính năng này cho phép người quản lý Chatbot và kiểm soát tồn
bộ lịch sử trị chuyện của bot với khách hàng. Nhờ việc theo dõi và thường xuyên cập nhật lịch sử bot, bot sẽ ngày càng trở nên thông minh và hiểu người dùng hơn.
- Gửi thông báo: Với chức năng gửi thơng báo, người thiết kế bot có thể lựa
chọn những thông điệp khác nhau cho các đối tượng khác nhau. Đây là một công cụ rất hữu ích, giúp các tổ chức nhanh chóng tiếp cận hàng trăm, hàng nghìn khách hàng, và dễ dàng cá nhân hố thơng điệp đối với từng nhóm khách hàng chỉ qua vài thao tác đơn giản.
- Hỗ trợ trực tuyến: Tính năng Hỗ trợ trực tuyến cho phép quản lý tập trung
toàn bộ các cuộc hội thoại giữa bot với người dùng trên đa kênh như: Facebook, Zalo, Viber, website. Đây là tính năng giúp các tư vấn viên có thể trị chuyện trực tiếp với người dùng khi người dùng cần sự trợ giúp.