Hình 1: Người dùng tương tác với trợ lý ảo trên điện thoại (nguồn: Meta AI)

Hình 1: Người dùng tương tác với trợ lý ảo trên điện thoại (nguồn: Meta AI)


  • “Hey Siri, set the alarm at 8am please!”
  • “Hey Google, how can I get to the nearest train station?”
  • “Hey Cortana, remind me to pick up the laundry after 1 hour.”

Trợ lý ảo thông minh ngày càng trở nên thiết yếu trong việc quản lý thời gian và lên kế hoạch ở cuộc sống hiện đại, đặc biệt là với những bạn sành công nghệ. Chúng ta giao cho trợ lý ảo từ nhiệm vụ nhỏ nhặt như đặt báo thức mỗi sáng đến những kế hoạch lớn hơn như lên lịch họp với nhiều đối tác hay chỉ đường giao thông. Trợ lý ảo là một trong những ứng dụng gần gũi nhất của Dialogue System (hệ thống đối thoại), và bài viết này nhằm mục đích chia sẻ một số hiểu biết cơ bản về Dialogue System đến với bạn đọc.

Hình 2: Các bộ phận cơ bản của một hệ thống đối thoại

Hình 2: Các bộ phận cơ bản của một hệ thống đối thoại


Dialogue System

Dialogue System là công nghệ đằng sau những trợ lý ảo vô cùng quen thuộc như Google Assistant, Siri hay Cortana. Một Dialogue System cơ bản bao gồm 4 bộ phận:

  • Natural Language Understanding (NLU): tiếp nhận và phân tích thông tin đầu vào từ người dùng. Các trợ lý ảo phổ biết trên smart phone, NLU thường bao gồm 1 mô hình Speech Recognition (nhận diện dọng nói) và Intent Classification (phân loại ý định).
  • Dialogue State Tracking (DST): đánh giá yêu cầu người dùng ở mỗi giai đoạn đối thoại. DST trong một trợ lý ảo đặt bàn ăn sẽ nhận diện các giai đoạn đối thoại khác nhau như xác nhận số lượng thực khách, thời gian hẹn, hay gọi món, và đưa ra câu hỏi phù hợp với từng giai đoạn.
  • Dialogue Policy: bao gồm các phương thức đối thoại được lập trình tùy theo mục đích của Dialogue System. Ví dụ, một trợ lý ảo trong ứng dụng thương mại điện tử sẽ gồm các phương thức giúp bạn đặt hàng, tra cứu thông tín đơn hàng, số dư tài khoản,… thay vì tán gẫu với bạn trong thời gian rảnh.
  • Natural Language Generation (NLG): diễn đạt trả lời của Dialogue System thông qua ngôn ngữ tự nhiên. Dựa trên các kết quả xử lý của Dialogue Policy, các mô hình sinh văn bản (Text Generation) hoặc sinh giọng nói (Voice Generation) trong NLG, tạo ra câu trả lời vừa phù hợp với nhu cầu của người dùng, vừa tự nhiên như cách con người trò chuyện. Ví dụ, thay vì chỉ bạn “xoay trái sau khi từ nhà đi thẳng 400m để đến tiệm cà phê nằm 100m trong ngõ bên phải siêu thị”, một Dialogue System tốt sẽ hướng dẫn bạn “vui lòng đi thẳng 400m từ nhà rồi rẽ trái sẽ gặp siêu thị, sau đó vào ngõ bên phải siêu thị rồi đi thêm 100m để đến tiệm cà phê bạn muốn tìm”.

Hãy cùng VNDA xem cách 4 bộ phận hoạt động để trợ lý ảo có thể gọi điện và đặt lịch nhé.

Phân loại và ứng dụng

1. Task Oriented Dialogue System (TODS): được sử dụng rộng rãi trong các phần mềm đặt lịch hẹn, đặt vé máy bay tự động, chăm sóc khách hàng, tra cứu thông tin,… Như tên gọi, TODS được xây dựng quanh các kịch bản đối thoại có sẵn với mục tiêu hoàn thành yêu cầu của người dùng. Sau đây là một ví dụ của TODS:

Hình 3: Chatbot hỗ trợ đặt máy bay (nguồn: IntelliTicks)

Hình 3: Chatbot hỗ trợ đặt máy bay (nguồn: IntelliTicks)


TODS có ưu điểm là dễ phát triển với các câu thoại và kịch bản được lập trình sẵn. Ở mỗi giai đoạn đối thoại, TODS sẽ phân tích câu trả lời của người dùng qua các bài toán Intent Classification và Slot Filling nhằm thu thập thông tin phù hợp với kịch bản. Nhược điểm của TODS là sự thiếu linh hoạt khi cuộc đối thoại nằm ngoài kịch bản có sẵn. Tuy vậy, TODS vẫn là sự lựa chọn hàng đầu cho các doanh nghiệp muốn tự động hoá dịch vụ chăm sóc khách hàng của mình. TODS có thể được tích hợp các nền tảng nhắn tin như Messengers, Zalo,… dưới dạng chat bot hay tổng đài điện thoại dưới dạng voice bot.

2. Chit-chat Dialogue Systems (CCDS): khác với TODS, CCDS được xây dựng để “trò chuyện” với người dùng thay vì hoàn thành một yêu cầu cụ thể. CCDS được đánh giá dự trên sự đa dạng trong câu trả lời và chủ đề đối thoại, và sự liên hệ của nội dung đến với trải nhiệm cá nhân của người dùng. BlenderBot của Facebook là 1 ví dụ.

Hình 4: Một cuộc đối thoại mẫu của BlenderBot 2.0 (nguồn: ParlAI)

Hình 4: Một cuộc đối thoại mẫu của BlenderBot 2.0 (nguồn: ParlAI)


Không chỉ trò chuyện đơn thuần, CCDS còn được phát triển thành một liệu pháp tâm lý cho bệnh nhân trầm cảm. Điển hình như Woebot được phát triển bởi đại học Stanford. Qua tương tác và trò chuyện với Woebot, bệnh nhân trầm cảm có thể kiểm soát suy nghĩ và cảm xúc của mình tốt hơn, qua đó cải thiện vấn đề tâm lý.

Hình 5: Một đoạn đối thoại giữa Woebot và người dùng.

Hình 5: Một đoạn đối thoại giữa Woebot và người dùng.


3. Retrieval-based Dialogue System (RBDS): được xây dựng trên search engine với mục đích giúp người dùng tra cứu thông tin hiệu quả. Khác với search engine truyền thống khi các câu hỏi được xem xét độc lập, RBDS xem xét ngữ cảnh tổng thể của cuộc đối thoại để đưa ra kết quả chính xác nhất. Với tính tương tác cao, RBDS có thể đặt lại câu hỏi cho người dùng để khai thác thêm thông tin cần thiết, qua đó cải thiện hiệu quả tìm kiếm. RBDS thường được tích hợp với TODS trong các ứng dụng chat bot hỗ trợ khách hàng tự động.

Hình 6: Một đoạn đối thoại giữa hệ thống hỗ trợ khách hàng tự động của PayPal và người dùng.

Hình 6: Một đoạn đối thoại giữa hệ thống hỗ trợ khách hàng tự động của PayPal và người dùng.


Lời kết

Hi vọng qua bài viết này, các bạn đã hiểu thêm về công nghệ Dialogue System với 4 bộ phận cơ bản và các ứng dụng trong đời sống hằng ngày. Để cập nhật các tin tức mới nhất về AI và gặp gỡ thêm nhiều thành viên có cùng đam mê công nghệ, hãy tham gia server Discord của VNDA nhé. https://discord.gg/aqF8YRgz