Phân tích hội thoại, giải pháp cho chatbot trong lĩnh vực chăm sóc sức khỏe

166

Ngày nay, chăm sóc sức khỏe cho con người là một trong những lĩnh vực được quan tâm nhất trong cuộc cách mạng công nghiệp lần thứ tư, và FPT Software với tư cách là một trong những công ty công nghệ hàng đầu Việt Nam cũng không đứng ngoài cuộc chơi này. Công ty đã và đang có rất nhiều dự án, nhiều sản phẩm cũng như cung cấp nhiều giải pháp cho lĩnh vực chăm sóc sức khỏe cho các khách hàng trong và ngoài nước. Vừa qua, FPT Software đã triển khai một giải pháp PoC như vậy tích hợp trong hệ thống chatbot của khách hàng, thậm chí với một yêu cầu rất ngặt nghèo về thời gian.

Yêu cầu của khách hàng

Cụ thể, khách hàng muốn cung cấp một màn hình bao gồm các biểu đồ thống kê để người dùng doanh nghiệp của họ có một cái nhìn rõ ràng và dễ hiểu hơn về dữ liệu mà họ cung cấp. Những bảng biểu và con số sẽ phức tạp và khó hiểu đối với người dùng không có chuyên môn hơn là những hình vẽ. Ngoài ra họ còn muốn tích hợp thêm vào đó 1 mô-đun “Khám phá dữ liệu” (Data Explorer) dưới dạng một chatbot hỏi đáp để người dùng có thể hỏi bất cứ điều gì họ muốn biết về dữ liệu. Sau đó một engine AI phía sau sẽ dịch những câu hỏi đó thành các câu truy vấn vào cơ sở dữ liệu và ngay lập tức trả về kết quả cho người dùng. Như vậy người dùng sẽ không cần thiết phải hiểu sâu về cấu trúc dữ liệu cũng như không phải tự mình viết những câu truy vấn cơ sở dữ liệu để có được thông tin mình muốn.

FPT Software phải tích hợp trực tiếp mô-đun này vào hệ thống hiện tại của khách hàng và đảm bảo những tính năng sau:

  • Cho phép người dùng hỏi bằng ngôn ngữ tự nhiên, ngôn ngữ chat;
  • Phân tích câu hỏi của người dùng dựa trên công nghệ xử lý ngôn ngữ tự nhiên và cho ra câu truy vấn tương ứng;
  • Có thể truy vấn nhiều bảng dữ liệu và tổng hợp kết quả;
  • Thể hiện kết quả bằng một vài biểu đồ đặc trưng với từng loại câu hỏi khác nhau.

Hơn thế nữa, khách hàng còn yêu cầu PoC phải được hoàn thành trong 5 tuần và sẵn sàng demo trong một buổi họp giới thiệu sản phẩm của khách hàng sau đó. Đây thực sự là một khó khăn lớn cũng như là một cơ hội để FPT Software khẳng định được năng lực trong lĩnh vực AI.

Giải pháp của FPT Software

Vì thời gian có hạn, đội dự án đã quyết định sử dụng học máy để giải quyết bài toán. Mặc dù lúc đó kỹ thuật học sâu (Deep Learning) đang rất phổ biến nhưng đội dự án với lời khuyên của các chuyên gia hàng đầu đã lựa chọn kỹ thuật học thống kê (Statistical Learning) vì kỹ thuật này đòi hỏi thời gian huấn luyện dữ liệu ngắn hơn và dễ dàng hơn trong việc điều chỉnh các tham số.

Quá trình phân tích dữ liệu bao gồm ba giai đoạn chính: Huấn luyện (Training), Dự đoán (Prediction) và Trích xuất câu trả lời (Answer Extraction).

1. Giai đoạn huấn luyện

Đầu vào của giai đoạn huấn luyện là dữ liệu huấn luyện. Mục tiêu chính là tạo ra được một mô hình huấn luyện để dự đoán được các slots (nhãn) của các từ trong câu nói của người dùng. Ví dụ như slot Ý định, slot Phân loại, slot Bảng dữ liệu…

Dữ liệu huấn luyện là một tập hàng ngàn câu nói gắn với những slot tương ứng trong câu. Số lượng của các slot phải được quy ước trước khi huấn luyện mô hình. Nếu muốn bổ sung thêm slot mới thì đồng nghĩa với việc phải huấn luyện lại để ra mô hình mới.

Giai đoạn huấn luyện sẽ được thực hiện offline bao gồm những bước sau:

  • Tiền xử lý: Biến đổi dữ liệu huấn luyện thành dạng chuẩn. Bao gồm các kỹ thuật như đổi ký tự viết hoa thành viết thường, loại bỏ những từ phổ biến không có nghĩa (như “a”, “an”, “the”…) và các ký tự đặc biệt.
  • Trích xuất các feature: Dựa trên dữ liệu đã được tiền xử lý, một tập các feature của mô hình sẽ được tạo ra. Cụ thể mỗi từ sẽ được đại diện bởi một tập các giá trị khác nhau của mỗi feature đó và được gán nhãn tương ứng.
  • Huấn luyện mô hình: Sau khi có được các feature cũng như các giá trị tương ứng với mỗi từ, thuật toán huấn luyện sẽ được sử dụng để huấn luyện dữ liệu đó rồi tạo ra mô hình huấn luyện. Đây là bước quan trọng nhất và đòi hỏi phải có kinh nghiệm của các chuyên gia để có thể lựa chọn được mô hình phù hợp nhất cho bài toán

 2. Giai đoạn dự đoán

Đầu vào của giai đoạn này cũng là những câu nói của người dùng (không phải những câu đã mang đi huấn luyện), đầu ra chính là các slots. Giai đoạn dự đoán được thực hiện online và phải đáp ứng nhu cầu thời gian thực của khách hàng. Giai đoạn này sử dụng mô hình tạo ra từ giai đoạn trước, bao gồm những bước cụ thể sau:

  • Tiền xử lý: Bước này giống với bước tiền xử lý ở giai đoạn huấn luyện để đảm bảo tính nhất quán về dữ liệu.
  • Trích xuất feature: Tập các từ sẽ được biểu diễn bằng tập các feature sau khi tiền xử lý.
  • Dự đoán: Dựa trên các feature thu được và mô hình huấn luyện ở giai đoạn trước có thể dự đoán được các slot của các từ tương ứng ban đầu.

3. Giai đoạn trích xuất câu trả lời

Đầu vào của giai đoạn này là các slot được trích xuất từ giai đoạn dự đoán. Từ giá trị của các slot, dựa trên một số luật (rule-based) ta sẽ chuyển chúng về dạng những câu truy vấn SQL. Sau khi có được câu truy vấn tương ứng, dữ liệu sẽ được trả về để trả lời câu hỏi của người dùng.

Kết quả cuối cùng sẽ ở dạng các biểu đồ thống kê và được hiển thị trong hệ thống của khách hàng.

Kết quả PoC

Với hệ thống và kiến trúc như vậy, giải pháp của FPT Software đã được trình bày lại buổi họp mặt lãnh đạo và giới thiệu sản pẩm của khách hàng. Họ rất hài lòng với kết quả có được, với khả năng của công ty cũng như thái độ chuyên nghiệp của đội dự án. Khách hàng còn xác nhận sẽ tiếp tục hợp tác với công ty trong các giai đoạn tiếp theo của sản phẩm này. Cụ thể hơn, giải pháp này sẽ được xây dựng thành một mô-đun hoàn chỉnh và được tích hợp vào trong hệ thống của khách hàng với các yêu cầu nghiêm ngặt và cụ thể hơn đối với lĩnh vực chăm sóc sức khỏe.

Lợi ích và giá trị đạt được

  • Giúp những người dùng doanh nghiệp có thể hiểu được cơ sở dữ liệu phức tạp một cách đơn giản và trực quan mà không cần phải có kiến thức chuyên sâu cũng như khả năng lập trình.
  • Sử dụng hoàn toàn ngôn ngữ tự nhiên để hỏi cũng như truy vấn dữ liệu, từ đó hệ thống có thể được sử dụng như một chatbot hỏi đáp.
  • Thể hiện năng lực của FPT Software trong lĩnh vực xử lý ngôn ngữ tự nhiên qua việc xử lý được những bài toán khó của khách hàng trong thời gian ngắn.

Vũ Thanh Hải – FPT Software

Tin liên quan: