3 thách thức quan trọng trong phát triển AI đàm thoại và cách tránh chúng - KDnuggets

3 thách thức quan trọng trong phát triển AI đàm thoại và cách tránh chúng – KDnuggets

Nút nguồn: 3079880

XXXXX
Hình ảnh của Freepik
 

AI đàm thoại đề cập đến các tác nhân ảo và chatbot bắt chước các tương tác của con người và có thể thu hút con người vào cuộc trò chuyện. Sử dụng AI đàm thoại đang nhanh chóng trở thành một phong cách sống – từ việc hỏi Alexa đến “tìm nhà hàng gần nhất” để yêu cầu Siri “tạo một lời nhắc nhở,” trợ lý ảo và chatbot thường được sử dụng để trả lời các câu hỏi của người tiêu dùng, giải quyết khiếu nại, đặt chỗ, v.v. 

Việc phát triển những trợ lý ảo này đòi hỏi nỗ lực đáng kể. Tuy nhiên, sự hiểu biết và giải quyết những thách thức chính có thể hợp lý hóa quá trình phát triển. Tôi đã sử dụng kinh nghiệm trực tiếp của mình trong việc tạo một chatbot hoàn thiện cho nền tảng tuyển dụng làm điểm tham khảo để giải thích những thách thức chính và giải pháp tương ứng của chúng. 

Để xây dựng chatbot AI đàm thoại, nhà phát triển có thể sử dụng các framework như RASA, Lex của Amazon hoặc Dialogflow của Google để xây dựng chatbot. Hầu hết thích RASA khi họ lên kế hoạch thay đổi tùy chỉnh hoặc bot đang ở giai đoạn trưởng thành vì đây là một khung nguồn mở. Các khuôn khổ khác cũng phù hợp làm điểm khởi đầu.

Những thách thức có thể được phân loại thành ba thành phần chính của chatbot.

Hiểu ngôn ngữ tự nhiên (NLU) là khả năng của bot để hiểu được cuộc đối thoại của con người. Nó thực hiện phân loại ý định, trích xuất thực thể và truy xuất phản hồi.

Trình quản lý đối thoại chịu trách nhiệm về một tập hợp các hành động sẽ được thực hiện dựa trên tập hợp đầu vào hiện tại và trước đó của người dùng. Nó lấy ý định và thực thể làm đầu vào (như một phần của cuộc trò chuyện trước đó) và xác định phản hồi tiếp theo.

Thế hệ ngôn ngữ tự nhiên (NLG) là quá trình tạo ra các câu viết hoặc nói từ dữ liệu đã cho. Nó đóng khung phản hồi, sau đó được trình bày cho người dùng.

 

XXXXX
Hình ảnh từ phần mềm Talentica

Dữ liệu không đầy đủ

Khi các nhà phát triển thay thế Câu hỏi thường gặp hoặc các hệ thống hỗ trợ khác bằng chatbot, họ sẽ nhận được một lượng dữ liệu đào tạo kha khá. Nhưng điều tương tự không xảy ra khi họ tạo bot từ đầu. Trong những trường hợp như vậy, các nhà phát triển tạo ra dữ liệu đào tạo một cách tổng hợp. 

Phải làm gì?

Trình tạo dữ liệu dựa trên mẫu có thể tạo ra một lượng lớn truy vấn người dùng để đào tạo. Khi chatbot đã sẵn sàng, chủ dự án có thể hiển thị nó cho một số lượng người dùng hạn chế để nâng cao dữ liệu đào tạo và nâng cấp nó theo thời gian.

Lựa chọn mô hình không phù hợp

Việc lựa chọn mô hình và dữ liệu huấn luyện phù hợp là rất quan trọng để có được kết quả trích xuất mục đích và thực thể tốt nhất. Các nhà phát triển thường đào tạo chatbot bằng một ngôn ngữ và miền cụ thể và hầu hết các mô hình được đào tạo trước có sẵn thường dành riêng cho miền và được đào tạo bằng một ngôn ngữ duy nhất. 

Cũng có thể có những trường hợp có nhiều ngôn ngữ hỗn hợp ở những người nói nhiều thứ tiếng. Họ có thể nhập truy vấn bằng ngôn ngữ hỗn hợp. Ví dụ: ở khu vực do người Pháp thống trị, mọi người có thể sử dụng một loại tiếng Anh kết hợp cả tiếng Pháp và tiếng Anh.

Phải làm gì?

Sử dụng các mô hình được đào tạo bằng nhiều ngôn ngữ có thể làm giảm vấn đề. Một mô hình được đào tạo trước như LaBSE (Nhúng câu Bert bất khả tri về ngôn ngữ) có thể hữu ích trong những trường hợp như vậy. LaBSE được đào tạo bằng hơn 109 ngôn ngữ về nhiệm vụ so sánh câu. Mô hình đã biết các từ tương tự ở một ngôn ngữ khác. Trong dự án của chúng tôi, nó hoạt động rất tốt.

Trích xuất thực thể không đúng cách

Chatbots yêu cầu các thực thể xác định loại dữ liệu mà người dùng đang tìm kiếm. Các thực thể này bao gồm thời gian, địa điểm, người, vật phẩm, ngày tháng, v.v. Tuy nhiên, bot có thể không xác định được một thực thể từ ngôn ngữ tự nhiên:

Cùng một bối cảnh nhưng các thực thể khác nhau. Ví dụ: bot có thể nhầm lẫn một địa điểm với tư cách là một thực thể khi người dùng nhập “Tên sinh viên từ IIT Delhi” rồi đến “Tên sinh viên từ Bengaluru”.

Các tình huống trong đó các thực thể bị dự đoán sai với độ tin cậy thấp. Ví dụ: bot có thể xác định IIT Delhi là thành phố có độ tin cậy thấp.

Trích xuất thực thể một phần bằng mô hình học máy. Nếu người dùng nhập “sinh viên từ IIT Delhi”, mô hình chỉ có thể xác định “IIT” dưới dạng một thực thể thay vì “IIT Delhi”.

Đầu vào từ đơn không có ngữ cảnh có thể gây nhầm lẫn cho các mô hình học máy. Ví dụ: một từ như “Rishikesh” có thể vừa là tên của một người vừa có thể là tên của một thành phố.

Phải làm gì?

Thêm nhiều ví dụ đào tạo có thể là một giải pháp. Nhưng có một giới hạn mà sau đó việc bổ sung thêm sẽ không giúp ích gì. Hơn nữa, đó là một quá trình vô tận. Một giải pháp khác có thể là xác định các mẫu biểu thức chính quy bằng cách sử dụng các từ được xác định trước để giúp trích xuất các thực thể có tập hợp các giá trị có thể đã biết, như thành phố, quốc gia, v.v. 

Các mô hình có độ tin cậy thấp hơn bất cứ khi nào họ không chắc chắn về dự đoán thực thể. Các nhà phát triển có thể sử dụng điều này làm công cụ kích hoạt để gọi một thành phần tùy chỉnh có thể khắc phục thực thể có độ tin cậy thấp. Hãy xem xét ví dụ trên. Nếu như IIT Đê-li được dự đoán là thành phố có độ tin cậy thấp thì người dùng luôn có thể tìm kiếm nó trong cơ sở dữ liệu. Sau khi không tìm thấy thực thể được dự đoán trong City bảng, mô hình sẽ tiến tới các bảng khác và cuối cùng tìm thấy nó trong Viện bảng, dẫn đến hiệu chỉnh thực thể.  

Phân loại mục đích sai

Mỗi tin nhắn của người dùng đều có một số ý định liên quan đến nó. Vì ý định bắt nguồn từ quá trình hành động tiếp theo của bot nên việc phân loại chính xác các truy vấn của người dùng theo ý định là rất quan trọng. Tuy nhiên, các nhà phát triển phải xác định ý định với sự nhầm lẫn tối thiểu giữa các ý định. Nếu không, có thể xảy ra trường hợp bị lỗi do nhầm lẫn. Ví dụ, "Cho tôi xem các vị trí đang mở” so với “Hãy chỉ cho tôi những ứng viên đang trống vị trí”. 

Phải làm gì?

Có hai cách để phân biệt các truy vấn khó hiểu. Đầu tiên, nhà phát triển có thể giới thiệu mục đích phụ. Thứ hai, các mô hình có thể xử lý các truy vấn dựa trên các thực thể được xác định.

Một chatbot dành riêng cho từng miền phải là một hệ thống khép kín, nơi nó cần xác định rõ ràng những gì nó có khả năng và những gì không. Các nhà phát triển phải thực hiện phát triển theo từng giai đoạn trong khi lập kế hoạch cho các chatbot dành riêng cho từng miền. Trong mỗi giai đoạn, họ có thể xác định các tính năng không được hỗ trợ của chatbot (thông qua mục đích không được hỗ trợ). 

Họ cũng có thể xác định những gì chatbot không thể xử lý trong mục đích “ngoài phạm vi”. Nhưng có thể có trường hợp bot bị nhầm lẫn vì mục đích không được hỗ trợ và nằm ngoài phạm vi. Đối với những trường hợp như vậy, nên áp dụng cơ chế dự phòng trong đó, nếu độ tin cậy của ý định dưới ngưỡng, thì mô hình có thể hoạt động trơn tru với ý định dự phòng để xử lý các trường hợp nhầm lẫn.

Sau khi xác định được mục đích trong tin nhắn của người dùng, bot phải gửi phản hồi lại. Bot quyết định phản hồi dựa trên một bộ quy tắc và câu chuyện nhất định. Ví dụ: một quy tắc có thể đơn giản như nói "buổi sáng tốt lành" khi người dùng chào hỏi "CHÀO". Tuy nhiên, thông thường nhất, các cuộc trò chuyện với chatbot bao gồm tương tác tiếp theo và phản hồi của chúng phụ thuộc vào bối cảnh chung của cuộc trò chuyện.  

Phải làm gì?

Để xử lý vấn đề này, chatbot được cung cấp các ví dụ hội thoại thực tế được gọi là Câu chuyện. Tuy nhiên, không phải lúc nào người dùng cũng tương tác như dự định. Một chatbot trưởng thành sẽ xử lý tất cả những sai lệch như vậy một cách khéo léo. Các nhà thiết kế và phát triển có thể đảm bảo điều này nếu họ không chỉ tập trung vào con đường hạnh phúc khi viết truyện mà còn làm việc trên những con đường không hạnh phúc.  

Sự tương tác của người dùng với chatbot phụ thuộc rất nhiều vào phản hồi của chatbot. Người dùng có thể mất hứng thú nếu phản hồi quá robot hoặc quá quen thuộc. Ví dụ: người dùng có thể không thích câu trả lời như “Bạn đã nhập sai truy vấn” do nhập sai ngay cả khi phản hồi đó đúng. Câu trả lời ở đây không phù hợp với tính cách của một trợ lý.

Phải làm gì?

Chatbot đóng vai trò như một trợ lý và phải có tính cách cũng như giọng điệu cụ thể. Họ nên chào đón và khiêm tốn, đồng thời các nhà phát triển nên thiết kế các cuộc trò chuyện và cách phát biểu phù hợp. Các câu trả lời không nên có vẻ như máy móc hoặc máy móc. Chẳng hạn, bot có thể nói, “Xin lỗi, có vẻ như tôi không có bất kỳ chi tiết nào. Bạn có thể vui lòng nhập lại truy vấn của mình không?” để giải quyết một đầu vào sai.

Các chatbot dựa trên LLM (Mô hình ngôn ngữ lớn) như ChatGPT và Bard là những đổi mới mang tính thay đổi cuộc chơi và đã cải thiện khả năng của AI đàm thoại. Chúng không chỉ giỏi thực hiện các cuộc trò chuyện mở giống con người mà còn có thể thực hiện các nhiệm vụ khác nhau như tóm tắt văn bản, viết đoạn văn, v.v., những điều mà trước đây chỉ có thể đạt được bằng các mô hình cụ thể.

Một trong những thách thức với hệ thống chatbot truyền thống là phân loại từng câu thành ý định và quyết định phản hồi phù hợp. Cách tiếp cận này không thực tế. Những câu trả lời như “Xin lỗi, tôi không thể gặp bạn” thường gây khó chịu. Các hệ thống chatbot không có mục đích là con đường phía trước và LLM có thể biến điều này thành hiện thực.

LLM có thể dễ dàng đạt được các kết quả tiên tiến trong nhận dạng thực thể được đặt tên chung, ngăn chặn nhận dạng thực thể theo miền cụ thể nhất định. Một cách tiếp cận hỗn hợp để sử dụng LLM với bất kỳ khung chatbot nào có thể truyền cảm hứng cho một hệ thống chatbot mạnh mẽ và trưởng thành hơn. 

Với những tiến bộ mới nhất và nghiên cứu liên tục về AI đàm thoại, chatbot đang trở nên tốt hơn mỗi ngày. Các lĩnh vực như xử lý các nhiệm vụ phức tạp với nhiều ý định, chẳng hạn như “Đặt chuyến bay đến Mumbai và sắp xếp taxi đến Dadar” đang nhận được nhiều sự chú ý. 

Các cuộc trò chuyện được cá nhân hóa sẽ sớm diễn ra dựa trên đặc điểm của người dùng để thu hút người dùng. Ví dụ: nếu bot nhận thấy người dùng không hài lòng, nó sẽ chuyển hướng cuộc trò chuyện sang một đại lý thực sự. Ngoài ra, với dữ liệu chatbot ngày càng tăng, các kỹ thuật học sâu như ChatGPT có thể tự động tạo phản hồi cho các truy vấn bằng cách sử dụng cơ sở kiến ​​thức.
 
 

Suman Saurav là Nhà khoa học dữ liệu tại Talentica Software, một công ty phát triển sản phẩm phần mềm. Anh là cựu sinh viên của NIT Agartala với hơn 8 năm kinh nghiệm thiết kế và triển khai các giải pháp AI mang tính cách mạng bằng cách sử dụng NLP, AI đàm thoại và AI sáng tạo.

Dấu thời gian:

Thêm từ Xe đẩy