Helpex - Trao đổi & giúp đỡ Đăng nhập

Vấn đề với giao diện hội thoại: Hội thoại

Hoàng Minh Tuệ
· 17:00 25/07/2018
18:49:51 13/06/2021

Vấn đề với giao diện hội thoại: Hội thoại

Tiêu đề này có thể nhìn thoáng qua có vẻ tương phản ( bài viết cuối cùng của tôi cũng vậy ), nhưng tôi thực sự tin rằng phần lớn chúng ta đang hiểu sai về giao diện ngôn ngữ tự nhiên cho các ứng dụng của chúng ta trông như thế nào. Dưới đây là suy nghĩ của tôi về vai trò của hội thoại trong hệ thống NLU / P.

Hội thoại là gì?

Hãy xác định ý của chúng ta khi nói chuyện trong ngữ cảnh của hệ thống NLU / P. Trước hết, cuộc trò chuyện xảy ra giữa hai hoặc nhiều người tham gia (máy tính tự nói chuyện với chính họ vào ban đêm nằm ngoài phạm vi của blog này). Thứ hai, hội thoại là một chuỗi hai hoặc nhiều câu được kết hợp chặt chẽ với nhau theo ngữ cảnh và thời gian của chúng.

Vì đơn giản, chúng tôi để ngoài khả năng của con người để tổ chức nhiều cuộc trò chuyện cùng lúc với những người tham gia khác nhau cũng như khả năng của chúng tôi để tổ chức các cuộc trò chuyện “giống nhau” trong một khoảng thời gian dài ( “I’ve been talking to my mom for years…”).

Chúng tôi cũng bỏ qua các xác nhận tầm thường ( “Are you sure you want to close your account?”) và làm rõ ( “Do you mean London, OH or London UK?”). Mặc dù về mặt kỹ thuật, chúng tạo thành một cuộc trò chuyện, nhưng chúng không mấy quan tâm ở đây. Lưu ý rằng là con người, chúng tôi cũng không coi đây là những cuộc trò chuyện thực sự.

Các loại hội thoại

Chúng là nhiều kiểu hội thoại khác nhau mà các nhà ngôn ngữ học hàn lâm có thể kể tên, nhưng với mục đích lập luận của chúng tôi, chúng ta hãy tách tất cả các cuộc hội thoại thành hai loại lớn:

  • (1) Đi sâu câu hỏi và câu trả lời. Một ví dụ điển hình sẽ là một chatbot y tế hoặc hỗ trợ dựa trên quy tắc trong đó hệ thống cần thu thập một lượng đáng kể thông tin phân cấp hoặc có tổ chức khác mà không thể diễn đạt trong một câu. Nó sẽ ầm ầm liên tục với những câu hỏi tẻ nhạt và những lời giải thích cho đến khi nó có được tất cả thông tin cần thiết. UX thường rất tuyến tính và không thể thay đổi.
  • (2) Tất cả những thứ khác. Chỉ về bất kỳ cuộc trò chuyện nào bạn có hàng ngày với bạn bè, con cái và vợ / chồng, đồng nghiệp, khách hàng và các đối tác kinh doanh. Những cuộc trò chuyện này thường không phải là để thu thập thông tin chặt chẽ. UX thường là phi tuyến tính và những cuộc trò chuyện như vậy có thể thay đổi hướng bất kỳ lúc nào.

Sự phân loại này thoạt nghe có vẻ thô thiển. Trên thực tế, là con người, chúng ta có hàng tá cuộc trò chuyện mỗi ngày và hầu như không ai trong số chúng đủ tiêu chuẩn là loại (1). Ngay cả khi chúng tôi đến phòng khám bác sĩ (sử dụng cùng một ví dụ y tế), chúng tôi thường có cuộc trò chuyện nhiều sắc thái hơn (1) liên quan đến cảm xúc, nói chuyện nhỏ, trao đổi thông tin chung, v.v. Nói cách khác, hầu như không có cuộc trò chuyện nào mà chúng tôi có từ thực tế một câu hỏi-và-trả lời (Q&A).

Tuy nhiên, phần lớn tuyệt đối các hệ thống NLU / P đàm thoại ngày nay (sai) được thiết kế cho chính xác điều này - tức là Hỏi & Đáp - kiểu (1) hội thoại. Bằng cách đó, họ đang buộc người dùng cuối vào các chuỗi Hỏi và Đáp khó xử của rô bốt thường bắt chước các số điện thoại nổi tiếng từ 1–800 bằng cách nhấn “0” cho số đó, nhấn “1” cho điều này, v.v. Thực tế, hầu hết các chatbot ngày nay đều không hơn so với phiên bản được văn bản hóa của 1–800 số điện thoại.

Chúng ta có thực sự cần cuộc trò chuyện không?

Câu trả lời là có, tất nhiên. Trong các hệ thống NLU / P hiện đại , chúng ta cần hỗ trợ các cuộc hội thoại kiểu (2) và cố gắng giảm thiểu các cuộc hội thoại kiểu (1).

Rõ ràng rằng các cuộc trò chuyện là một cơ chế xã hội và cảm xúc hơn là một cơ chế thu thập thông tin. Đáng ngạc nhiên, từ quan điểm kỹ thuật thuần túy, cuộc hội thoại thường là một cái nạng giao tiếp, tức là một cơ chế để thu thập thông tin cần thiết còn thiếu trong câu trước. Trong một thế giới lý tưởng, mọi người sẽ luôn nói bằng một câu được tải đầy đủ, được xây dựng đúng cách mà không cần thêm thông tin. Tuy nhiên, trong thế giới thực, điều đó không xảy ra mọi lúc.

Điểm chính tôi muốn làm là:

Hệ thống NLU / P chỉ cần quay lại hội thoại Hỏi & Đáp khi câu gốc thiếu dữ liệu cần thiết. Tuy nhiên, theo mặc định, hệ thống NLU / P sẽ có thể hiểu bất kỳ câu nào được đưa ra , dưới bất kỳ hình thức và ngữ pháp nào miễn là con người có thể hiểu như nhau và trích xuất tất cả thông tin từ đó.

Cũng có một điểm tâm lý quan trọng ở đây. Trong tương lai gần, con người sẽ dễ dàng phát hiện ra khi họ tương tác với máy tính. Hãy hỏi 10 người trên đường phố và cả 10 người sẽ nói với bạn rằng họ cực kỳ ghét việc trò chuyện với máy tính hoặc rô bốt. Chúng tôi tự động từ chối những “cuộc trò chuyện” này vì chúng tôi cảm thấy chúng là giả tạo và bịa đặt. Nó có thể sẽ thay đổi, nhưng chúng ta có lẽ là một vài thế hệ trước thời điểm đó.

Một vài ví dụ

Dưới đây là một số ví dụ điển hình về giao diện ngôn ngữ tự nhiên nói hoặc văn bản với số lượng hội thoại tối thiểu. Đây là những ý định rất đơn giản có thể được triển khai dễ dàng bằng cách sử dụng IBM Watson , Microsoft LUIS , Amazon Lex hoặc DataLingvo :

Người dùng : “I need UberXL from my home to JFK scheduled for tomorrow at 7:15am”
Uber : “Done. Your ride will be $95. We’ll notify you when your ride is ready.”
Người dùng : ”Ugh… actually n/m, cancel this ride”
Uber : “Your ride is cancelled.”
Người dùng : “What’s the price for UberX from JFK to my home on Wednesday night?” 
Uber :“Your ride will be between $70 and $95 depending on conditions.”

Người dùng : “Can I get all my transactions from Amazon for the last 6 months above 20 dollars (excl. prime membership fees)?”
Ngân hàng :“Click on this <<link>> to get the requested transactions list.”

Người dùng : “I need to change asap my flight to tomorrow the same time”
Hãng hàng không : “Flight UA1234 to Houston. Rescheduling fee is $250. Using the same card you purchased with?”
Người dùng : “No, use my points for that”
Hãng hàng không : “1000 points, ok?”
Người dùng : “Hm, no, use the card”
Hãng hàng không :“Your flight rescheduled. You’ll receive email with confirmation.”

LƯU Ý: trong ví dụ cuối cùng, sẽ hợp lý khi yêu cầu làm rõ thanh toán thay vì dựa vào mặc định. Nếu người dùng đã nói  “… using my points”, thì không cần làm rõ.

Đây là một ví dụ phức tạp hơn, sẽ nhấn mạnh đến bất kỳ hệ thống NLU / P nào. Hãy tưởng tượng một hệ thống phân tích tiếp thị / bán hàng được điều khiển bằng giọng nói:

Người sử dụng : “What’s the average user retention for the east coast on a 2-week cohorts?”
Hệ thống : <<response>>
người dùng : “What about monthly cohorts and how it compares to the west cost for the same time period?”
Hệ thống <<response>>
tài khoản : “Correlate with opportunities in $100K-$500K range from US Q118 pipeline.”
Hệ thống :<<response>>

LƯU Ý: trong ví dụ trên, hệ thống hiểu các ý định khá phức tạp và không yêu cầu hoặc tạo gánh nặng cho người dùng với các Câu hỏi và Đáp không cần thiết và dư thừa - nó chỉ cần một ngôn ngữ nói bình thường và trả lời. Đồng thời, nó đủ thông minh để duy trì bối cảnh của cuộc trò chuyện.

Phần kết luận

Đây là phần còn lại khô khan: chúng ta cần cố gắng giảm thiểu số lượng "cuộc trò chuyện ồn ào" - những cuộc trò chuyện mà tôi gọi là loại (1) Hỏi và Đáp. Để đạt được điều đó, chúng tôi cần cải thiện sự hỗ trợ của chúng tôi đối với khả năng hiểu ngôn ngữ tự nhiên ở dạng tự do, điều này sẽ loại bỏ tự nhiên nhu cầu về tiếng ồn Hỏi & Đáp ngay từ đầu.

21 hữu ích 0 bình luận 4.2k xem chia sẻ

Có thể bạn quan tâm