Logo Zephyrnet

Tạo ra một lợi thế thông tin với quyền truy cập dữ liệu đàm thoại

Ngày:

AI đàm thoại để phân tích dữ liệu

Hình 1: Biểu diễn luồng Text2SQL

Khi thế giới của chúng ta ngày càng toàn cầu hóa và năng động hơn, các doanh nghiệp ngày càng phụ thuộc nhiều hơn vào dữ liệu để đưa ra các quyết định sáng suốt, khách quan và kịp thời. Tuy nhiên, tính đến thời điểm hiện tại, việc giải phóng toàn bộ tiềm năng của dữ liệu tổ chức thường là đặc quyền của một số nhà khoa học và nhà phân tích dữ liệu. Hầu hết nhân viên không thành thạo bộ công cụ khoa học dữ liệu thông thường (SQL, Python, R, v.v.). Để truy cập dữ liệu mong muốn, họ đi qua một lớp bổ sung nơi các nhà phân tích hoặc nhóm BI “dịch” nội dung câu hỏi kinh doanh sang ngôn ngữ dữ liệu. Khả năng xảy ra xung đột và kém hiệu quả trong hành trình này là rất cao — ví dụ: dữ liệu có thể được gửi bị chậm trễ hoặc ngay cả khi câu hỏi đã trở nên lỗi thời. Thông tin có thể bị thất lạc khi các yêu cầu không được dịch chính xác thành các truy vấn phân tích. Bên cạnh đó, việc tạo thông tin chi tiết chất lượng cao đòi hỏi một cách tiếp cận lặp đi lặp lại không được khuyến khích với mỗi bước bổ sung trong vòng lặp. Mặt khác, những tương tác đặc biệt này tạo ra sự gián đoạn cho các tài năng dữ liệu đắt tiền và khiến họ mất tập trung vào công việc dữ liệu chiến lược hơn, như được mô tả trong “lời thú tội” sau đây của một nhà khoa học dữ liệu:

Khi tôi ở Square và nhóm còn nhỏ hơn, chúng tôi có một vòng quay “phân tích theo yêu cầu” đáng sợ. Nó được luân phiên nghiêm ngặt hàng tuần và nếu đến lượt bạn, bạn biết rằng mình sẽ hoàn thành được rất ít công việc “thực tế” trong tuần đó và dành phần lớn thời gian của mình để giải quyết các câu hỏi đặc biệt từ các nhóm vận hành và sản phẩm khác nhau tại văn phòng. công ty (SQL khỉ, chúng tôi gọi nó là). Đã có sự cạnh tranh gay gắt cho vai trò người quản lý trong nhóm phân tích và tôi nghĩ đây hoàn toàn là kết quả của việc người quản lý được miễn vòng luân chuyển này — không phần thưởng địa vị nào có thể sánh được với củ cà rốt của việc không làm công việc theo yêu cầu.[1]

Thật vậy, sẽ rất tuyệt nếu nói chuyện trực tiếp với dữ liệu của bạn thay vì phải trải qua nhiều vòng tương tác với nhân viên dữ liệu của bạn phải không? Tầm nhìn này được bao trùm bởi các giao diện đàm thoại cho phép con người tương tác với dữ liệu bằng ngôn ngữ, kênh giao tiếp phổ biến và trực quan nhất của chúng tôi. Sau khi phân tích cú pháp một câu hỏi, một thuật toán sẽ mã hóa câu hỏi đó thành một dạng logic có cấu trúc bằng ngôn ngữ truy vấn bạn chọn, chẳng hạn như SQL. Do đó, người dùng không có kỹ thuật có thể trò chuyện với dữ liệu của họ và nhanh chóng có được thông tin cụ thể, phù hợp và kịp thời mà không cần đi đường vòng thông qua nhóm BI. Trong bài viết này, chúng tôi sẽ xem xét các khía cạnh triển khai khác nhau của Text2SQL và tập trung vào các phương pháp hiện đại với việc sử dụng Mô hình ngôn ngữ lớn (LLM), đạt được hiệu suất tốt nhất hiện nay (xem [2]; để khảo sát về các phương pháp thay thế ngoài LLMs, độc giả được tham khảo [3]). Bài viết được cấu trúc theo “mô hình tinh thần” sau đây về các yếu tố chính cần xem xét khi lập kế hoạch và xây dựng một tính năng AI:

AI đàm thoại để phân tích dữ liệu
Hình 2: Mô hình tinh thần của một tính năng AI

Hãy bắt đầu với suy nghĩ cuối cùng và tóm tắt lại giá trị — tại sao bạn lại xây dựng tính năng Text2SQL vào dữ liệu hoặc sản phẩm phân tích của mình. Ba lợi ích chính là:

  • người dùng doanh nghiệp có thể truy cập dữ liệu của tổ chức một cách trực tiếp và kịp thời.
  • Điều này làm giảm nhà khoa học dữ liệu và nhà phân tích khỏi gánh nặng của các yêu cầu đặc biệt từ người dùng doanh nghiệp và cho phép họ tập trung vào các thách thức dữ liệu nâng cao.
  • Điều này cho phép kinh doanh để tận dụng dữ liệu của mình theo cách linh hoạt và chiến lược hơn, cuối cùng biến nó thành cơ sở vững chắc cho việc ra quyết định.

Bây giờ, các kịch bản sản phẩm mà bạn có thể xem xét Text2SQL là gì? Ba cài đặt chính là:

  • Bạn đang cung cấp một dữ liệu có thể mở rộng/sản phẩm BI và muốn cho phép nhiều người dùng hơn truy cập dữ liệu của họ theo cách phi kỹ thuật, do đó tăng cả mức sử dụng và cơ sở người dùng. Như một ví dụ, ServiceNow có truy vấn dữ liệu tích hợp vào một cung cấp đàm thoại lớn hơnvà Atlan mới đây công bố khám phá dữ liệu ngôn ngữ tự nhiên.
  • Bạn đang tìm cách xây dựng thứ gì đó trong không gian dữ liệu/AI để dân chủ hóa quyền truy cập dữ liệu trong các công ty, trong trường hợp đó, bạn có thể xem xét một giải pháp MVP với Text2SQL ở cốt lõi. Nhà cung cấp như AI2SQL và Text2sql.ai đã có lối vào trong không gian này.
  • Bạn đang làm việc trên một hệ thống BI tùy chỉnh và muốn tối đa hóa và dân chủ hóa việc sử dụng nó trong từng công ty.

Như chúng ta sẽ thấy trong các phần sau, Text2SQL yêu cầu thiết lập trả trước không tầm thường. Để ước tính ROI, hãy xem xét bản chất của các quyết định sẽ được hỗ trợ cũng như trên dữ liệu có sẵn. Text2SQL có thể là một chiến thắng tuyệt đối trong môi trường năng động, nơi dữ liệu thay đổi nhanh chóng và được sử dụng tích cực và thường xuyên trong quá trình ra quyết định, chẳng hạn như đầu tư, tiếp thị, sản xuất và ngành năng lượng. Trong những môi trường này, các công cụ quản lý tri thức truyền thống quá tĩnh và các cách truy cập dữ liệu và thông tin trôi chảy hơn sẽ giúp các công ty tạo ra lợi thế cạnh tranh. Về mặt dữ liệu, Text2SQL cung cấp giá trị lớn nhất với cơ sở dữ liệu đó là:

  • Lớn và đang phát triển, để Text2SQL có thể phát huy giá trị của nó theo thời gian khi ngày càng nhiều dữ liệu được tận dụng.
  • Chất lượng cao, để thuật toán Text2SQL không phải xử lý nhiễu quá mức (sự không nhất quán, giá trị trống, v.v.) trong dữ liệu. Nói chung, dữ liệu được tạo tự động bởi các ứng dụng có chất lượng và tính nhất quán cao hơn dữ liệu được tạo và duy trì bởi con người.
  • Trưởng thành về mặt ngữ nghĩa trái ngược với dữ liệu thô, để con người có thể truy vấn dữ liệu dựa trên các khái niệm, mối quan hệ và chỉ số trung tâm tồn tại trong mô hình tinh thần của họ. Lưu ý rằng sự trưởng thành về ngữ nghĩa có thể đạt được bằng một bước chuyển đổi bổ sung làm cho dữ liệu thô phù hợp với cấu trúc khái niệm (xem phần “Làm phong phú lời nhắc bằng thông tin cơ sở dữ liệu”).

Trong phần tiếp theo, chúng ta sẽ đi sâu vào dữ liệu, thuật toán, trải nghiệm người dùng, cũng như các yêu cầu phi chức năng có liên quan của một tính năng Text2SQL. Bài báo được viết cho các nhà quản lý sản phẩm, nhà thiết kế UX và những nhà khoa học dữ liệu và kỹ sư đang ở giai đoạn đầu của hành trình Text2SQL. Đối với những người này, nó không chỉ cung cấp hướng dẫn để bắt đầu mà còn là nền tảng kiến ​​thức chung cho các cuộc thảo luận xung quanh các giao diện giữa sản phẩm, công nghệ và kinh doanh, bao gồm cả những đánh đổi liên quan. Nếu bạn đã nâng cao hơn trong quá trình triển khai của mình, các tài liệu tham khảo ở cuối cung cấp một loạt các nội dung tìm hiểu sâu để khám phá.

Nếu nội dung giáo dục chuyên sâu này hữu ích cho bạn, bạn có thể đăng ký vào danh sách gửi thư nghiên cứu AI của chúng tôi để được cảnh báo khi chúng tôi phát hành tài liệu mới. 

1. Dữ liệu

Mọi nỗ lực học máy đều bắt đầu bằng dữ liệu, vì vậy chúng tôi sẽ bắt đầu bằng cách làm rõ cấu trúc của dữ liệu đầu vào và dữ liệu đích được sử dụng trong quá trình đào tạo và dự đoán. Trong suốt bài viết, chúng tôi sẽ sử dụng luồng Text2SQL từ Hình 1 làm biểu diễn đang chạy của chúng tôi và đánh dấu các thành phần và mối quan hệ hiện đang được xem xét bằng màu vàng.

AI đàm thoại để phân tích dữ liệu
Hình 3: Trong biểu diễn Text2SQL này, các thành phần và quan hệ liên quan đến dữ liệu được đánh dấu màu vàng.

1.1 Định dạng và cấu trúc của dữ liệu

Thông thường, một cặp đầu vào-đầu ra Text2SQL thô bao gồm một câu hỏi ngôn ngữ tự nhiên và truy vấn SQL tương ứng, ví dụ:

câu hỏi: "Liệt kê tên và số lượng người theo dõi cho mỗi người dùng.”

Truy vấn SQL:

chọn tên, người theo dõi từ user_profiles

Trong không gian dữ liệu đào tạo, ánh xạ giữa các câu hỏi và truy vấn SQL là nhiều-nhiều:

  • Một truy vấn SQL có thể được ánh xạ tới nhiều câu hỏi khác nhau bằng ngôn ngữ tự nhiên; ví dụ: ngữ nghĩa của truy vấn trên có thể được diễn đạt bằng: “cho tôi biết tên và số lượng người theo dõi trên mỗi người dùng","có bao nhiêu người theo dõi cho mỗi người dùng?Vv
  • Cú pháp SQL rất linh hoạt và hầu hết mọi câu hỏi đều có thể được trình bày trong SQL theo nhiều cách. Ví dụ đơn giản nhất là các thứ tự khác nhau của mệnh đề WHERE. Trên quan điểm nâng cao hơn, tất cả những người đã thực hiện tối ưu hóa truy vấn SQL sẽ biết rằng nhiều con đường dẫn đến cùng một kết quả và các truy vấn tương đương về mặt ngữ nghĩa có thể có cú pháp hoàn toàn khác.

Việc thu thập thủ công dữ liệu đào tạo cho Text2SQL đặc biệt tẻ nhạt. Nó không chỉ yêu cầu trình độ thông thạo SQL của người chú thích mà còn cần nhiều thời gian hơn cho mỗi ví dụ so với các tác vụ ngôn ngữ chung hơn như phân tích tình cảm và phân loại văn bản. Để đảm bảo đủ số lượng ví dụ đào tạo, có thể sử dụng tính năng tăng cường dữ liệu — ví dụ: LLM có thể được sử dụng để tạo các phiên bản cho cùng một câu hỏi. [3] cung cấp một cuộc khảo sát đầy đủ hơn về các kỹ thuật tăng cường dữ liệu Text2SQL.

1.2 Làm phong phú lời nhắc với thông tin cơ sở dữ liệu

Text2SQL là một thuật toán tại giao diện giữa dữ liệu phi cấu trúc và dữ liệu có cấu trúc. Để có hiệu suất tối ưu, cả hai loại dữ liệu cần phải có mặt trong quá trình đào tạo và dự đoán. Cụ thể, thuật toán phải biết về cơ sở dữ liệu được truy vấn và có thể xây dựng truy vấn theo cách mà nó có thể được thực thi đối với cơ sở dữ liệu. Kiến thức này có thể bao gồm:

  • Các cột và bảng của cơ sở dữ liệu
  • Quan hệ giữa các bảng (khóa ngoại)
  • Nội dung cơ sở dữ liệu

Có hai tùy chọn để kết hợp kiến ​​thức cơ sở dữ liệu: một mặt, dữ liệu đào tạo có thể được giới hạn trong các ví dụ được viết cho cơ sở dữ liệu cụ thể, trong trường hợp đó, lược đồ được học trực tiếp từ truy vấn SQL và ánh xạ của nó tới câu hỏi. Cài đặt cơ sở dữ liệu đơn này cho phép tối ưu hóa thuật toán cho cơ sở dữ liệu riêng lẻ và/hoặc công ty. Tuy nhiên, nó giết chết mọi tham vọng về khả năng mở rộng, vì mô hình cần được tinh chỉnh cho từng khách hàng hoặc cơ sở dữ liệu. Ngoài ra, trong cài đặt nhiều cơ sở dữ liệu, lược đồ cơ sở dữ liệu có thể được cung cấp như một phần của đầu vào, cho phép thuật toán “khái quát hóa” thành các lược đồ cơ sở dữ liệu mới, chưa từng thấy. Mặc dù bạn nhất thiết phải thực hiện phương pháp này nếu bạn muốn sử dụng Text2SQL trên nhiều cơ sở dữ liệu khác nhau, hãy nhớ rằng nó đòi hỏi nỗ lực kỹ thuật nhanh chóng đáng kể. Đối với bất kỳ cơ sở dữ liệu kinh doanh hợp lý nào, việc bao gồm đầy đủ thông tin trong lời nhắc sẽ cực kỳ kém hiệu quả và hầu như không thể thực hiện được do giới hạn độ dài của lời nhắc. Do đó, chức năng chịu trách nhiệm lập công thức nhanh phải đủ thông minh để chọn một tập hợp con thông tin cơ sở dữ liệu “hữu ích” nhất cho một câu hỏi nhất định và để thực hiện điều này đối với cơ sở dữ liệu tiềm ẩn.

Cuối cùng, cấu trúc cơ sở dữ liệu đóng một vai trò quan trọng. Trong những tình huống mà bạn có đủ quyền kiểm soát đối với cơ sở dữ liệu, bạn có thể làm cho mô hình của mình hoạt động dễ dàng hơn bằng cách cho phép mô hình học hỏi từ một cấu trúc trực quan. Theo nguyên tắc chung, cơ sở dữ liệu của bạn càng phản ánh cách người dùng doanh nghiệp nói về doanh nghiệp, thì mô hình của bạn có thể học hỏi từ cơ sở dữ liệu đó càng tốt và nhanh hơn. Do đó, hãy xem xét áp dụng các phép biến đổi bổ sung cho dữ liệu, chẳng hạn như tập hợp dữ liệu đã chuẩn hóa hoặc phân tán thành các bảng rộng hoặc kho dữ liệu, đặt tên bảng và cột theo cách rõ ràng và rõ ràng, v.v. Tất cả kiến ​​thức kinh doanh mà bạn có thể mã hóa trước sẽ giảm bớt gánh nặng học tập xác suất trên mô hình của bạn và giúp bạn đạt được kết quả tốt hơn.

2. thuật toán

AI đàm thoại để phân tích dữ liệu
Hình 4: Trong biểu diễn Text2SQL này, các yếu tố và quan hệ liên quan đến thuật toán được đánh dấu màu vàng.

Text2SQL là một loại phân tích cú pháp ngữ nghĩa - ánh xạ của văn bản tới các biểu diễn logic. Do đó, thuật toán không chỉ “học” ngôn ngữ tự nhiên mà còn cả biểu diễn mục tiêu — trong trường hợp của chúng tôi là SQL. Cụ thể, nó phải có được và những kiến ​​thức sau:

  • Cú pháp SQL và ngữ nghĩa
  • Cấu trúc cơ sở dữ liệu
  • Hiểu ngôn ngữ tự nhiên (NLU)
  • Ánh xạ giữa ngôn ngữ tự nhiên và truy vấn SQL (cú pháp, từ vựng và ngữ nghĩa)

2.1 Giải quyết biến đổi ngôn ngữ trong đầu vào

Ở phần nhập liệu, thách thức chính của Text2SQL nằm ở tính linh hoạt của ngôn ngữ: như được mô tả trong phần Định dạng và cấu trúc dữ liệu, cùng một câu hỏi có thể được diễn giải theo nhiều cách khác nhau. Ngoài ra, trong bối cảnh đàm thoại thực tế, chúng ta phải xử lý một số vấn đề như lỗi chính tả và ngữ pháp, đầu vào không đầy đủ và mơ hồ, đầu vào đa ngôn ngữ, v.v.

AI đàm thoại để phân tích dữ liệu
Hình 5: Thuật toán Text2SQL phải xử lý nhiều biến thể khác nhau của một câu hỏi

Các LLM như mô hình GPT, T5 và CodeX đang ngày càng tiến gần hơn đến việc giải quyết thách thức này. Học từ một lượng lớn văn bản đa dạng, họ học cách đối phó với một số lượng lớn các mẫu ngôn ngữ và sự bất thường. Cuối cùng, họ có thể khái quát hóa các câu hỏi giống nhau về mặt ngữ nghĩa mặc dù có các dạng bề mặt khác nhau. LLM có thể được áp dụng ngay lập tức (zero-shot) hoặc sau khi tinh chỉnh. Cái trước, trong khi thuận tiện, dẫn đến độ chính xác thấp hơn. Loại thứ hai đòi hỏi nhiều kỹ năng và công việc hơn, nhưng có thể tăng độ chính xác lên đáng kể.

Về độ chính xác, như mong đợi, các mô hình hoạt động tốt nhất là các mô hình mới nhất của dòng GPT bao gồm cả các mô hình CodeX. Vào tháng 2023 năm 4, GPT-5 đã giúp độ chính xác của GPT-85.3 tăng đáng kể hơn 4% so với công nghệ hiện đại trước đó và đạt được độ chính xác là 2% (trên chỉ số “thực thi các giá trị”).[5] Trong trại mã nguồn mở, những nỗ lực ban đầu để giải câu đố Text6SQL tập trung vào các mô hình mã hóa tự động như BERT, vốn vượt trội trong các nhiệm vụ của NLU. trên các mô hình tự hồi quy như mô hình T7. T5 được đào tạo trước bằng cách học đa tác vụ và do đó dễ dàng thích nghi với các nhiệm vụ ngôn ngữ mới, bao gồm cả. các biến thể khác nhau của phân tích cú pháp ngữ nghĩa. Tuy nhiên, các mô hình tự hồi quy có một lỗ hổng nội tại khi thực hiện các tác vụ phân tích cú pháp ngữ nghĩa: chúng có không gian đầu ra không bị giới hạn và không có rào cản ngữ nghĩa nào có thể hạn chế đầu ra của chúng, điều đó có nghĩa là chúng có thể sáng tạo một cách đáng kinh ngạc trong hành vi của mình. Mặc dù đây là công cụ tuyệt vời để tạo nội dung dạng tự do, nhưng lại gây phiền toái cho các tác vụ như Text5SQL khi chúng tôi mong đợi một đầu ra mục tiêu có cấu trúc tốt, bị hạn chế.

2.2 Xác thực và cải thiện truy vấn

Để hạn chế đầu ra LLM, chúng tôi có thể giới thiệu các cơ chế bổ sung để xác thực và cải thiện truy vấn. Điều này có thể được thực hiện như một bước xác thực bổ sung, như được đề xuất trong hệ thống PICARD.[8] PICARD sử dụng một trình phân tích cú pháp SQL có thể xác minh liệu một phần truy vấn SQL có thể dẫn đến một truy vấn SQL hợp lệ sau khi hoàn thành hay không. Ở mỗi bước tạo bởi LLM, các mã thông báo làm mất hiệu lực truy vấn sẽ bị từ chối và các mã thông báo hợp lệ có xác suất cao nhất được giữ lại. Mang tính xác định, cách tiếp cận này đảm bảo tính hợp lệ 100% của SQL miễn là trình phân tích cú pháp tuân thủ các quy tắc SQL chính xác. Nó cũng tách riêng xác thực truy vấn khỏi thế hệ, do đó cho phép duy trì cả hai thành phần độc lập với nhau và nâng cấp cũng như sửa đổi LLM.

Một cách tiếp cận khác là kết hợp kiến ​​thức cấu trúc và SQL trực tiếp vào LLM. Ví dụ, Graphix [9] sử dụng các lớp nhận biết đồ thị để đưa kiến ​​thức SQL có cấu trúc vào mô hình T5. Do tính chất xác suất của phương pháp này, nó làm sai lệch hệ thống đối với các truy vấn chính xác, nhưng không đảm bảo cho sự thành công.

Cuối cùng, LLM có thể được sử dụng như một tác nhân nhiều bước có thể tự kiểm tra và cải thiện truy vấn.[10] Sử dụng nhiều bước trong lời nhắc chuỗi suy nghĩ, tác nhân có thể được giao nhiệm vụ phản ánh tính chính xác của các truy vấn của chính nó và cải thiện bất kỳ sai sót nào. Nếu vẫn không thể thực thi truy vấn đã xác thực, thì truy xuất ngược ngoại lệ SQL có thể được chuyển đến tổng đài viên dưới dạng phản hồi bổ sung để cải thiện.

Ngoài các phương thức tự động xảy ra trong phần phụ trợ này, người dùng cũng có thể tham gia vào quá trình kiểm tra truy vấn. Chúng tôi sẽ mô tả điều này chi tiết hơn trong phần Trải nghiệm người dùng.

2.3 Đánh giá

Để đánh giá thuật toán Text2SQL của chúng tôi, chúng tôi cần tạo tập dữ liệu thử nghiệm (xác thực), chạy thuật toán của chúng tôi trên đó và áp dụng các chỉ số đánh giá có liên quan trên kết quả. Một bộ dữ liệu ngây thơ được chia thành dữ liệu đào tạo, phát triển và xác thực sẽ dựa trên các cặp câu hỏi-truy vấn và dẫn đến kết quả dưới mức tối ưu. Các truy vấn xác thực có thể được tiết lộ cho mô hình trong quá trình đào tạo và dẫn đến một cái nhìn quá lạc quan về các kỹ năng khái quát hóa của nó. MỘT phân chia dựa trên truy vấn, trong đó tập dữ liệu được phân chia theo cách không có truy vấn nào xuất hiện cả trong quá trình đào tạo và trong quá trình xác thực, sẽ cung cấp kết quả trung thực hơn.

Về các số liệu đánh giá, điều chúng tôi quan tâm ở Text2SQL là không tạo ra các truy vấn hoàn toàn giống với tiêu chuẩn vàng. Cái này “khớp chuỗi chính xác” quá nghiêm ngặt và sẽ tạo ra nhiều phủ định sai, vì các truy vấn SQL khác nhau có thể dẫn đến cùng một tập dữ liệu được trả về. Thay vào đó, chúng tôi muốn đạt được thành tích cao độ chính xác ngữ nghĩa và đánh giá xem các truy vấn được dự đoán và "tiêu chuẩn vàng" có luôn trả về cùng một bộ dữ liệu hay không. Có ba chỉ số đánh giá xấp xỉ mục tiêu này:

  • Độ chính xác đối sánh được thiết lập chính xác: các truy vấn SQL được tạo và đích được chia thành các thành phần của chúng và các tập hợp kết quả được so sánh để nhận dạng.[11] Thiếu sót ở đây là nó chỉ tính đến các biến thể thứ tự trong truy vấn SQL, chứ không tính đến sự khác biệt rõ rệt hơn về cú pháp giữa các truy vấn tương đương về mặt ngữ nghĩa.
  • Độ chính xác thực hiện: bộ dữ liệu kết quả từ các truy vấn SQL được tạo và đích được so sánh để nhận dạng. Nếu may mắn, các truy vấn có ngữ nghĩa khác nhau vẫn có thể vượt qua bài kiểm tra này trên một phiên bản cơ sở dữ liệu cụ thể. Ví dụ: giả sử cơ sở dữ liệu có tất cả người dùng trên 30 tuổi, hai truy vấn sau đây sẽ trả về kết quả giống hệt nhau mặc dù có ngữ nghĩa khác nhau:
    chọn * từ người dùng
    chọn * từ người dùng có tuổi > 30
  • Độ chính xác của bộ thử nghiệm: độ chính xác của bộ thử nghiệm là phiên bản nâng cao hơn và ít dễ dãi hơn của độ chính xác thực thi. Đối với mỗi truy vấn, một bộ cơ sở dữ liệu (“bộ thử nghiệm”) được tạo ra có sự khác biệt cao đối với các biến, điều kiện và giá trị trong truy vấn. Sau đó, độ chính xác thực thi được kiểm tra trên từng cơ sở dữ liệu này. Mặc dù cần thêm nỗ lực để thiết kế thế hệ bộ thử nghiệm, số liệu này cũng giảm đáng kể nguy cơ dương tính giả trong quá trình đánh giá.[12]

3. Trải nghiệm người dùng

AI đàm thoại để phân tích dữ liệu
Hình 6: Trong biểu diễn Text2SQL này, các yếu tố và quan hệ liên quan đến UX được đánh dấu màu vàng.

Công nghệ tiên tiến nhất hiện tại của Text2SQL không cho phép tích hợp hoàn toàn liền mạch vào các hệ thống sản xuất — thay vào đó, cần chủ động quản lý các kỳ vọng và hành vi của người dùng, những người phải luôn biết rằng mình đang tương tác với một hệ thống AI.

3.1 Quản lý lỗi

Text2SQL có thể bị lỗi ở hai chế độ, cần được phát hiện theo những cách khác nhau:

  • Lỗi SQL: truy vấn đã tạo không hợp lệ — SQL không hợp lệ hoặc không thể thực thi truy vấn đối với cơ sở dữ liệu cụ thể do lỗi từ vựng hoặc ngữ nghĩa. Trong trường hợp này, không có kết quả nào có thể được trả lại cho người dùng.
  • lỗi ngữ nghĩa: truy vấn được tạo là hợp lệ nhưng nó không phản ánh ngữ nghĩa của câu hỏi, do đó dẫn đến tập dữ liệu trả về sai.

Chế độ thứ hai đặc biệt phức tạp vì nguy cơ “lỗi thầm lặng” — lỗi mà người dùng không phát hiện — là rất cao. Người dùng nguyên mẫu sẽ không có thời gian cũng như kỹ năng kỹ thuật để xác minh tính chính xác của truy vấn và/hoặc dữ liệu kết quả. Khi dữ liệu được sử dụng để ra quyết định trong thế giới thực, loại lỗi này có thể gây ra hậu quả nghiêm trọng. Để tránh điều này, điều quan trọng là giáo dục người dùng và thiết lập lan can ở cấp độ kinh doanh hạn chế tác động tiềm ẩn, chẳng hạn như kiểm tra dữ liệu bổ sung cho các quyết định có tác động cao hơn. Mặt khác, chúng ta cũng có thể sử dụng giao diện người dùng để quản lý tương tác giữa người và máy, đồng thời giúp người dùng phát hiện và cải thiện các yêu cầu có vấn đề.

3.2 Tương tác người-máy

Người dùng có thể tham gia vào hệ thống AI của bạn với các mức độ cường độ khác nhau. Nhiều tương tác hơn cho mỗi yêu cầu có thể dẫn đến kết quả tốt hơn, nhưng nó cũng làm chậm tính trôi chảy của trải nghiệm người dùng. Bên cạnh tác động tiêu cực tiềm ẩn của các truy vấn và kết quả sai, hãy xem xét động cơ thúc đẩy người dùng của bạn cung cấp phản hồi qua lại để nhận được kết quả chính xác hơn và cũng giúp cải thiện sản phẩm về lâu dài.

Cách dễ nhất và ít hấp dẫn nhất là làm việc với điểm tin cậy. Mặc dù tính toán ngây thơ về độ tin cậy là trung bình xác suất của các mã thông báo được tạo là quá đơn giản, nhưng có thể sử dụng các phương pháp nâng cao hơn như phản hồi bằng lời nói. [13] Độ tin cậy có thể được hiển thị trong giao diện và được đánh dấu bằng một cảnh báo rõ ràng trong trường hợp nó ở mức thấp nguy hiểm. Bằng cách này, trách nhiệm theo dõi thích hợp trong “thế giới thực” — có thể là từ chối, chấp nhận hoặc kiểm tra bổ sung dữ liệu — đặt lên vai người dùng của bạn. Mặc dù đây là cách đặt cược an toàn cho bạn với tư cách là nhà cung cấp, nhưng việc chuyển giao công việc này cho người dùng cũng có thể làm giảm giá trị sản phẩm của bạn.

Khả năng thứ hai là thu hút người dùng vào một cuộc đối thoại làm rõ trong trường hợp các truy vấn có độ tin cậy thấp, mơ hồ hoặc đáng ngờ. Ví dụ: hệ thống của bạn có thể đề xuất sửa chính tả hoặc ngữ pháp cho đầu vào và yêu cầu phân biệt các từ hoặc cấu trúc ngữ pháp cụ thể. Nó cũng có thể cho phép người dùng chủ động yêu cầu chỉnh sửa trong truy vấn:[14]

NGƯỜI DÙNG: Cho tôi xem nhiệm vụ của John trong lần chạy nước rút này.

PHỤ TÁ: Bạn có muốn xem các nhiệm vụ mà John đã tạo hoặc những nhiệm vụ mà anh ấy đang thực hiện không?

NGƯỜI DÙNG: nhiệm vụ John đã tạo

PHỤ TÁ: Ok, đây là ID nhiệm vụ:

AI đàm thoại để phân tích dữ liệu

NGƯỜI DÙNG: Cảm ơn, tôi cũng muốn xem thêm thông tin về các nhiệm vụ. Cũng xin vui lòng sắp xếp theo mức độ khẩn cấp.

PHỤ TÁ: Chắc chắn rồi, đây là các nhiệm vụ cùng với mô tả ngắn, người được giao và thời hạn, được sắp xếp theo thời hạn.

AI đàm thoại để phân tích dữ liệu

Cuối cùng, để giúp người dùng hiểu các truy vấn dễ dàng hơn, hệ thống của bạn cũng có thể cung cấp một cấu trúc lại văn bản rõ ràng của truy vấn và yêu cầu người dùng xác nhận hoặc sửa nó.[15]

4. Yêu cầu phi chức năng

Trong phần này, chúng tôi thảo luận về các yêu cầu phi chức năng cụ thể đối với Text2SQL cũng như sự đánh đổi giữa chúng. Chúng tôi sẽ tập trung vào sáu yêu cầu có vẻ quan trọng nhất đối với nhiệm vụ: độ chính xác, khả năng mở rộng, tốc độ, khả năng giải thích, quyền riêng tư và khả năng thích ứng theo thời gian.

4.1 độ chính xác

Đối với Text2SQL, yêu cầu về độ chính xác cao. Đầu tiên, Text2SQL thường được áp dụng trong cài đặt hội thoại nơi các dự đoán được thực hiện từng cái một. Do đó, “Luật số lớn” thường giúp cân bằng lỗi trong các dự đoán theo đợt, không giúp được gì. Thứ hai, tính hợp lệ của cú pháp và từ vựng là một điều kiện “cứng”: mô hình phải tạo ra một truy vấn SQL được định dạng tốt, có thể có cú pháp và ngữ nghĩa phức tạp, nếu không thì yêu cầu đó không thể được thực thi đối với cơ sở dữ liệu. Và nếu điều này diễn ra suôn sẻ và truy vấn có thể được thực thi, nó vẫn có thể chứa lỗi ngữ nghĩa và dẫn đến tập dữ liệu được trả về sai (xem phần 3.1 Quản lý lỗi).

4.2 Khả năng mở rộng

Các cân nhắc về khả năng mở rộng chính là liệu bạn muốn áp dụng Text2SQL trên một hay nhiều cơ sở dữ liệu — và trong trường hợp sau, liệu tập hợp cơ sở dữ liệu có được biết và đóng hay không. Nếu có, bạn sẽ có thời gian dễ dàng hơn vì bạn có thể đưa thông tin về các cơ sở dữ liệu này vào quá trình đào tạo. Tuy nhiên, trong trường hợp sản phẩm có thể thay đổi quy mô — có thể là ứng dụng Text2SQL độc lập hoặc tích hợp vào sản phẩm dữ liệu hiện có — thuật toán của bạn phải đối phó nhanh chóng với bất kỳ lược đồ cơ sở dữ liệu mới nào. Kịch bản này cũng không cho bạn cơ hội chuyển đổi cấu trúc cơ sở dữ liệu để làm cho nó trực quan hơn cho việc học (liên kết!). Tất cả điều này dẫn đến sự đánh đổi nặng nề với độ chính xác, điều này cũng có thể giải thích tại sao các nhà cung cấp Text2SQL hiện tại cung cấp truy vấn đặc biệt cho cơ sở dữ liệu mới vẫn chưa đạt được mức thâm nhập thị trường đáng kể.

Tốc độ 4.3

Vì các yêu cầu Text2SQL thường sẽ được xử lý trực tuyến trong một cuộc hội thoại nên khía cạnh tốc độ rất quan trọng đối với sự hài lòng của người dùng. Về mặt tích cực, người dùng thường nhận thức được thực tế là các yêu cầu dữ liệu có thể mất một khoảng thời gian nhất định và thể hiện sự kiên nhẫn cần thiết. Tuy nhiên, thiện chí này có thể bị phá hoại bởi cài đặt trò chuyện, nơi người dùng mong đợi tốc độ trò chuyện giống con người trong tiềm thức. Các phương pháp tối ưu hóa mạnh mẽ như giảm kích thước của mô hình có thể có tác động không thể chấp nhận được đối với độ chính xác, vì vậy hãy xem xét tối ưu hóa suy luận để đáp ứng kỳ vọng này.

4.4 Khả năng giải thích và tính minh bạch

Trong trường hợp lý tưởng, người dùng có thể theo dõi cách truy vấn được tạo từ văn bản, xem ánh xạ giữa các từ hoặc biểu thức cụ thể trong câu hỏi và truy vấn SQL, v.v. Điều này cho phép xác minh truy vấn và thực hiện bất kỳ điều chỉnh nào khi tương tác với hệ thống . Bên cạnh đó, hệ thống cũng có thể cung cấp một cấu trúc lại văn bản rõ ràng của truy vấn và yêu cầu người dùng xác nhận hoặc sửa nó.

Quyền riêng tư 4.5

Hàm Text2SQL có thể được tách biệt khỏi quá trình thực thi truy vấn, vì vậy thông tin cơ sở dữ liệu được trả về có thể được ẩn đi. Tuy nhiên, câu hỏi quan trọng là có bao nhiêu thông tin về cơ sở dữ liệu được đưa vào dấu nhắc. Ba tùy chọn (bằng cách giảm mức độ riêng tư) là:

  • Không có thông tin
  • Lược đồ cơ sở dữ liệu
  • Nội dung cơ sở dữ liệu

Quyền riêng tư được đánh đổi bằng độ chính xác — bạn càng ít bị ràng buộc trong việc đưa thông tin hữu ích vào lời nhắc thì kết quả càng tốt.

4.6 Khả năng thích ứng theo thời gian

Để sử dụng Text2SQL một cách lâu dài, bạn cần thích ứng với sự trôi dạt của dữ liệu, tức là sự thay đổi phân phối dữ liệu mà mô hình được áp dụng. Ví dụ: giả sử rằng dữ liệu được sử dụng để tinh chỉnh ban đầu phản ánh hành vi truy vấn đơn giản của người dùng khi họ bắt đầu sử dụng hệ thống BI. Thời gian trôi qua, nhu cầu thông tin của người dùng trở nên phức tạp hơn và đòi hỏi các truy vấn phức tạp hơn, điều này sẽ lấn át mô hình ngây thơ của bạn. Bên cạnh đó, các mục tiêu hoặc chiến lược thay đổi của công ty cũng có thể trôi dạt và hướng nhu cầu thông tin đến các khu vực khác của cơ sở dữ liệu. Cuối cùng, một thách thức dành riêng cho Text2SQL là trôi dạt cơ sở dữ liệu. Khi cơ sở dữ liệu của công ty được mở rộng, các cột và bảng mới, không nhìn thấy được sẽ xuất hiện trong dấu nhắc. Mặc dù thuật toán Text2SQL được thiết kế cho ứng dụng đa cơ sở dữ liệu có thể xử lý vấn đề này tốt, nhưng nó có thể ảnh hưởng đáng kể đến độ chính xác của mô hình cơ sở dữ liệu đơn. Tất cả những vấn đề này được giải quyết tốt nhất với bộ dữ liệu tinh chỉnh phản ánh hành vi hiện tại, trong thế giới thực của người dùng. Do đó, điều quan trọng là phải ghi nhật ký các câu hỏi và kết quả của người dùng, cũng như bất kỳ phản hồi liên quan nào có thể được thu thập từ việc sử dụng. Ngoài ra, các thuật toán phân cụm ngữ nghĩa, chẳng hạn như sử dụng nhúng hoặc lập mô hình chủ đề, có thể được áp dụng để phát hiện những thay đổi dài hạn cơ bản trong hành vi của người dùng và sử dụng những thay đổi này làm nguồn thông tin bổ sung để hoàn thiện bộ dữ liệu tinh chỉnh của bạn

Kết luận

Hãy tóm tắt những điểm chính của bài viết:

  • Text2SQL cho phép triển khai truy cập dữ liệu trực quan và dân chủ trong doanh nghiệp, do đó tối đa hóa giá trị của dữ liệu có sẵn.
  • Dữ liệu Text2SQL bao gồm các câu hỏi ở đầu vào và các truy vấn SQL ở đầu ra. Ánh xạ giữa các câu hỏi và truy vấn SQL là nhiều-nhiều.
  • Điều quan trọng là cung cấp thông tin về cơ sở dữ liệu như một phần của lời nhắc. Ngoài ra, cấu trúc cơ sở dữ liệu có thể được tối ưu hóa để giúp thuật toán học và hiểu nó dễ dàng hơn.
  • Về đầu vào, thách thức chính là sự thay đổi ngôn ngữ của các câu hỏi ngôn ngữ tự nhiên, có thể được tiếp cận bằng cách sử dụng LLM đã được đào tạo trước về nhiều kiểu văn bản khác nhau
  • Đầu ra của Text2SQL phải là một truy vấn SQL hợp lệ. Ràng buộc này có thể được kết hợp bằng cách “đưa” kiến ​​thức SQL vào thuật toán; cách khác, bằng cách sử dụng phương pháp lặp lại, truy vấn có thể được kiểm tra và cải thiện theo nhiều bước.
  • Do tác động tiềm ẩn cao của "lỗi thầm lặng" trả về dữ liệu sai cho việc ra quyết định, quản lý lỗi là mối quan tâm chính trong giao diện người dùng.
  • Theo kiểu “tăng cường”, người dùng có thể tham gia tích cực vào việc xác thực lặp lại và cải tiến các truy vấn SQL. Mặc dù điều này làm cho ứng dụng ít trôi chảy hơn, nhưng nó cũng làm giảm tỷ lệ lỗi, cho phép người dùng khám phá dữ liệu theo cách linh hoạt hơn và tạo ra các tín hiệu có giá trị để học hỏi thêm.
  • Các yêu cầu phi chức năng chính cần xem xét là độ chính xác, khả năng mở rộng, tốc độ, khả năng giải thích, quyền riêng tư và khả năng thích ứng theo thời gian. Một mặt, sự đánh đổi chính bao gồm giữa độ chính xác và mặt khác, khả năng mở rộng, tốc độ và quyền riêng tư.

dự án

[1] Ken Văn Haren. 2023. Thay thế một nhà phân tích SQL bằng 26 lời nhắc GPT đệ quy

[2] Nitarshan Rajkumar và cộng sự. 2022. Đánh giá khả năng chuyển văn bản thành SQL của các mô hình ngôn ngữ lớn

[3] Đặng Naihao và cộng sự. 2023. Những tiến bộ gần đây trong Text-to-SQL: Khảo sát về những gì chúng tôi có và những gì chúng tôi mong đợi

[4] Mohammadreza Pourreza và cộng sự. 2023. DIN-SQL: Học văn bản thành SQL trong ngữ cảnh được phân tách với khả năng tự sửa lỗi

[5] Victor Zhong và cộng sự. 2021. Thích ứng có căn cứ để phân tích ngữ nghĩa thực thi Zero-shot

[6] Xi Victoria Lin và cộng sự. 2020. Kết nối dữ liệu dạng văn bản và dạng bảng để phân tích cú pháp ngữ nghĩa từ văn bản sang SQL trên nhiều miền

[7] Tong Guo và cộng sự. 2019. Tạo văn bản thành SQL dựa trên BERT nâng cao nội dung

[8] Torsten Scholak và cộng sự. 2021. PICARD: Phân tích cú pháp tăng dần để giải mã tự động hồi quy bị ràng buộc từ các mô hình ngôn ngữ

[9] Jinyang Li và cộng sự. 2023. Graphix-T5: Trộn các Transformer được đào tạo trước với các lớp nhận biết đồ thị để phân tích cú pháp văn bản thành SQL

[10] LangChain. 2023. LLM và SQL

[11] Tao Yu và cộng sự. 2018. Spider: Bộ dữ liệu được gắn nhãn con người quy mô lớn cho tác vụ phân tích cú pháp ngữ nghĩa phức tạp và liên miền và chuyển văn bản thành SQL

[12] Ruiqi Zhong và cộng sự. 2020. Đánh giá ngữ nghĩa cho Text-to-SQL với Distilled Test Suites

[13] Kinda Tian và cộng sự. 2023. Chỉ cần yêu cầu hiệu chỉnh: Các chiến lược để đạt được điểm tin cậy đã hiệu chỉnh từ các mô hình ngôn ngữ được tinh chỉnh với phản hồi của con người

[14] Braden Hancock và cộng sự. 2019. Học hỏi từ Đối thoại sau khi triển khai: Chatbot cho chính bạn ăn!

[15] Ahmed Elgohary và cộng sự. 2020. Nói chuyện với Trình phân tích cú pháp của bạn: Chuyển văn bản thành SQL tương tác với Phản hồi bằng ngôn ngữ tự nhiên

[16] Janna Lipenkova. 2022. Nói chuyện với tôi! Text2SQL hội thoại với dữ liệu của công ty bạn, nói chuyện tại buổi gặp mặt Xử lý ngôn ngữ tự nhiên ở New York.

Tất cả các hình ảnh là của tác giả.

Bài viết này ban đầu được xuất bản vào Hướng tới khoa học dữ liệu và được xuất bản lại lên TOPBOTS với sự cho phép của tác giả.

Thưởng thức bài viết này? Đăng ký để cập nhật thêm nghiên cứu AI.

Chúng tôi sẽ cho bạn biết khi chúng tôi phát hành thêm các bài viết tóm tắt như thế này.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img