Giới thiệu tính năng phân đoạn AI (AI chunking) vào semchunk

Giới thiệu công nghệ phân đoạn nội dung bằng AI vào thư viện semchunk

  • 5 min read
Giới thiệu tính năng phân đoạn AI (AI chunking) vào semchunk
Giới thiệu công nghệ phân đoạn nội dung bằng AI vào thư viện semchunk

Giới thiệu phương thức chunking (chia nhỏ văn bản) bằng AI cho semchunk

Chúng tôi xin giới thiệu một phương thức chia nhỏ văn bản (chunking) bằng AI lần đầu tiên xuất hiện trong thuật toán semchunk. Thuật toán này tận dụng mô hình phân đoạn phân cấp và làm giàu dữ liệu mà chúng tôi vừa phát hành, có tên là Kanon 2 Enricher.

Trên tập dữ liệu Legal RAG QA, chế độ chia nhỏ bằng AI của semchunk giúp tăng 6% độ chính xác cho hệ thống RAG so với chế độ thông thường, 8% so với thuật toán chia nhỏ đệ quy của LangChain, 12% so với cách chia nhỏ theo kích thước cố định đơn giản và 15% so với các chế độ chia nhỏ của chonkie. Điều này cho thấy sự lựa chọn thuật toán chunking có tác động đáng kể đến hiệu suất RAG.

Để bắt đầu tích hợp chế độ chunking bằng AI mới này vào ứng dụng của bạn, bạn có thể cài đặt phiên bản mới nhất của semchunk theo hướng dẫn trong README của chúng tôi.

Tác động của chunking lên độ chính xác của RAG

Tại sao chunking lại quan trọng?

Retrieval-augmented generation (RAG) là quá trình cung cấp cho các mô hình ngôn ngữ lớn (LLM) thông tin mới từ các nguồn bên ngoài để tạo cơ sở cho câu trả lời.

Vì LLM có giới hạn về số lượng token trong một lần xử lý, các hệ thống RAG thường cần chia nhỏ dữ liệu đầu vào lớn thành các phần nhỏ hơn và chỉ đưa những phần phù hợp nhất cho LLM, tránh tình trạng quá tải thông tin.

Quá trình chia dữ liệu lớn thành các phần nhỏ được gọi là chunking.

Nếu chỉ chia nhỏ theo khoảng cách cố định (ví dụ: mỗi 100 từ), phương pháp này rất nhanh nhưng thường gây ra lỗi: cắt ngang giữa ngữ cảnh quan trọng. Khi LLM bị hạn chế ngữ cảnh và đối mặt với các truy vấn phức tạp đòi hỏi kết quả tìm kiếm chính xác, việc cắt ngang ngữ cảnh có thể khiến hệ thống từ tìm thấy câu trả lời đúng chuyển sang đưa ra thông tin sai lệch (hallucination).

Vì vậy, một lớp các phương pháp mới đã xuất hiện gọi là “semantic chunking” (chia nhỏ theo ngữ nghĩa). Mục tiêu là tối đa hóa lượng thông tin ngữ nghĩa trong mỗi đoạn và giảm thiểu việc ngắt quãng giữa ngữ cảnh quan trọng.

Cách thức hoạt động

semchunk

semchunk là thuật toán chia nhỏ dựa trên ngữ nghĩa, tận dụng các mô hình trình bày văn bản thông thường (đặc biệt là chữ Latin) để bảo toàn cấu trúc cú pháp và ngữ nghĩa. Kể từ phiên bản 4.0.0, semchunk thực hiện:

  • Chia văn bản bằng cách sử dụng các điểm ngắt cấu trúc từ đơn giản đến phức tạp.
  • Đệ quy chia nhỏ các phần vượt quá kích thước cho phép.
  • Hợp nhất các phần nhỏ lại với nhau một cách thông minh.
  • Loại bỏ các phần chỉ chứa khoảng trắng.

Kanon 2 Enricher

Đây là mô hình làm giàu và đồ thị hóa phân cấp. Nó biến các tài liệu phi cấu trúc thành các đồ thị tri thức phân cấp giàu thông tin. Nó trích xuất các thực thể (người, tổ chức, ngày tháng, thuật ngữ định nghĩa) và phân đoạn tài liệu theo cấu trúc hoàn chỉnh (chương, điều, khoản).

Khác với mô hình tạo sinh, Kanon 2 Enricher không tạo thêm nội dung nên không gây ra tình trạng “ảo tưởng” (hallucination) và chạy nhanh hơn nhiều so với LLM thông thường.

AI chunking

Chế độ chia nhỏ bằng AI của semchunk sử dụng Kanon 2 Enricher để xác định các phần tử cấu trúc của tài liệu, sau đó hợp nhất và chia nhỏ chúng một cách lặp đi lặp lại để tạo ra các “chunk” không vượt quá kích thước chỉ định. Cách tiếp cận này thay thế các heuristic dựa trên ký tự bằng các cấu trúc thực sự có ý nghĩa trong tài liệu.

Đánh giá hiệu suất

Chúng tôi đã đánh giá semchunk trên bộ dữ liệu Legal RAG QA — một bộ dữ liệu về luật pháp đòi hỏi khả năng suy luận cao, nơi mà thông tin chính xác là sống còn.

Kết quả:

  • Thuật toán tốt nhất là AI chunking của semchunk, đạt độ chính xác cao hơn 15,6% so với thuật toán tệ nhất là chonkie.
  • Thuật toán của LangChain tốt hơn 4,5% so với chia nhỏ cố định.
  • semchunk thông thường vượt qua LangChain 2%.
  • Chế độ AI chunking của semchunk vượt qua bản semchunk thông thường thêm 6,2%.

Pushing the frontier (Tiến xa hơn)

Chế độ AI chunking mới của semchunk đại diện cho một bước nhảy vọt trong lĩnh vực chunking ngữ nghĩa và RAG. Những phát hiện này nhấn mạnh rằng chunking kém chất lượng có thể gây hại nghiêm trọng cho hệ thống RAG, đặc biệt trong các môi trường bị hạn chế ngữ cảnh.

Chúng tôi sẽ tiếp tục cải thiện semchunk và khả năng phân đoạn phân cấp. Bạn có thể theo dõi cập nhật từ chúng tôi qua LinkedIn, Twitter/X, hoặc Reddit.

Recommended for You

Có gì mới trong bản phát hành Mellea 0.4.0 + Thư viện Granite

Có gì mới trong bản phát hành Mellea 0.4.0 + Thư viện Granite

Cập nhật các tính năng mới và cải tiến trong phiên bản Mellea 0.4.0 và các thư viện hỗ trợ Granite.

Xây dựng mô hình nhúng đặc thù theo miền trong chưa đầy một ngày

Xây dựng mô hình nhúng đặc thù theo miền trong chưa đầy một ngày

Hướng dẫn cách xây dựng và tinh chỉnh mô hình nhúng (embedding) chuyên biệt cho từng lĩnh vực cụ thể một cách nhanh chóng.