Triển khai và vận hành
Chunking là gì? Tiêu chí cắt tài liệu thành đơn vị tìm kiếm, giải thích đầy đủ
Korea Deep LearningĐăng
Chunking là việc chia một tài liệu dài thành các mảnh có kích thước phù hợp cho tìm kiếm và sinh nội dung. Vị trí cắt quyết định việc khi có câu hỏi đến sau này, đoạn cần thiết có được tìm thấy hay không.
Vì sao vị trí cắt làm thay đổi chất lượng câu trả lời
Cắt giữa câu là làm mất ý nghĩa.
Muốn dùng tài liệu cho tìm kiếm thì không thể đưa nguyên cả tài liệu vào, nên phải chia nhỏ. Cách đơn giản nhất là đếm số ký tự rồi cắt sau mỗi độ dài nhất định. Cách này dễ triển khai và kích thước các mảnh cũng đồng đều.
Vấn đề là tài liệu không được cấu trúc theo số ký tự. Khi một bảng bị cắt giữa chừng, phần có tiêu đề và phần chỉ còn giá trị sẽ thành hai mảnh riêng. Khi một điều khoản bị chia thành hai mảnh, điều kiện và ngoại lệ sẽ bị tách rời. Nếu tìm kiếm chỉ lấy được một trong các mảnh đó, mô hình sẽ trả lời với một nửa thông tin. Nguyên nhân khiến câu trả lời kém chất lượng nhiều khi không nằm ở mô hình mà nằm ở đây.
Định nghĩa chính xác của chunking: khác gì cắt cơ học
Cắt theo độ dài và chunking dựa trên cấu trúc: ba điểm khác biệt
Thứ nhất, tiêu chí khác nhau. Cắt theo độ dài dựa vào số ký tự. Chunking dựa trên cấu trúc lấy các đơn vị logic của tài liệu, như mục, khoản và bảng, làm tiêu chí cắt, còn độ dài là điều kiện thứ yếu.
Thứ hai, kết quả khác nhau. Cắt theo độ dài cho kích thước mảnh đồng đều nhưng nội dung bị đứt. Chunking dựa trên cấu trúc cho kích thước mảnh không đều nhưng mỗi mảnh mang một ý nghĩa trọn vẹn.
Thứ ba, công việc chuẩn bị khác nhau. Cắt theo độ dài chỉ cần có văn bản. Chunking dựa trên cấu trúc đòi hỏi cấu trúc tài liệu đã được phân tích trước. Vì vậy, chất lượng chunking phụ thuộc vào chất lượng của bước cấu trúc hóa phía trước.
Hai cách này không thay thế cho nhau. Thực tế thường dùng cách kết hợp: chia theo đơn vị cấu trúc trước, sau đó chỉ chia tiếp theo độ dài đối với những mảnh quá dài.
Năm việc cần quyết định khi tạo mảnh
Năm quyết định trong thiết kế
Thứ nhất, tiêu chí biên. Cần quyết định chia theo khoản hay theo điểm, và bảng có giữ nguyên hay không, theo từng loại tài liệu.
Thứ hai, khoảng kích thước. Nếu quá nhỏ thì mảnh thiếu ngữ cảnh, nếu quá lớn thì nội dung không liên quan bị trộn vào. Trong thực tế, cách chia theo mức vài nghìn ký tự được dùng phổ biến.
Thứ ba, có chồng lấn hay không. Nếu các mảnh liền kề được chồng lên nhau một phần, ý nghĩa của câu bị cắt ở biên sẽ được bù lại.
Thứ tư, thông tin đi kèm. Nếu gắn tên tài liệu, tiêu đề mục, số trang và ngày hiệu lực vào từng mảnh, cả độ chính xác tìm kiếm lẫn khả năng trích dẫn nguồn đều được cải thiện.
Thứ năm, cách xử lý bảng. Bảng có tính chất khác với câu văn nên nếu để nguyên thì đôi khi không được tìm thấy. Cách lưu kèm một câu tóm tắt cho bảng thường hiệu quả.
Cách áp dụng chunking trong thực tế
Tách quy tắc theo từng loại tài liệu
Các loại tài liệu như văn bản pháp luật và thông tư có cấu trúc điều khoản rõ ràng, sổ tay có các mục và điểm phân cấp, công văn ngắn và độc lập, còn biểu mẫu khai báo có bảng là nội dung chính, mỗi loại cần một tiêu chí khác nhau.
Nếu áp dụng một quy tắc duy nhất cho tất cả, chắc chắn sẽ có vấn đề ở một trong các loại. Nên phân loại tài liệu trước rồi áp dụng quy tắc theo từng loại.
Giữ lại kết quả cấu trúc hóa và chỉ tạo lại các mảnh
Quy tắc chunking sẽ liên tục được điều chỉnh trong quá trình vận hành. Nếu gộp cấu trúc hóa và việc chia mảnh thành một xử lý, mỗi lần đổi quy tắc lại phải phân tích lại toàn bộ tài liệu từ đầu.
Khi tách thành hai bước và lưu lại kết quả cấu trúc hóa, chỉ cần thay quy tắc chia mảnh là có thể thử nghiệm nhanh.
Chunking trong môi trường tại Hàn Quốc
Tài liệu công tại Hàn Quốc thường có bảng nhiều tầng, mục đánh số bằng ký tự khoanh tròn, và phụ lục cùng biểu mẫu nằm xen giữa phần nội dung. Nếu coi các yếu tố này như văn bản thông thường rồi cắt, các mảnh sẽ rối rắm.
Việc sửa đổi thường xuyên cũng là một điều kiện. Nếu gắn ngày hiệu lực vào từng mảnh, khi có tài liệu sửa đổi được đưa vào, việc loại các mảnh cũ khỏi phạm vi tìm kiếm có thể được thực hiện tự động.
Căn chỉnh ranh giới mảnh theo cấu trúc tài liệu
Nếu lấy số ký tự làm tiêu chí cắt đầu tiên, bảng và điều khoản sẽ bị đứt giữa chừng. An toàn hơn là đặt các đơn vị logic của tài liệu, như mục hoặc khoản, làm ranh giới trước, rồi điều chỉnh độ dài bên trong ranh giới đó.
Trong thực tế, ba việc được quyết định cùng nhau. Trước hết, xác định đơn vị nào không được cắt đôi: một bảng và một điều khoản nên được giữ nguyên. Tiếp theo, xác định mức chồng lấn giữa các mảnh liền kề để giảm việc câu bị cắt ở biên làm mất ý nghĩa. Cuối cùng, xác định thông tin nào sẽ đi kèm mỗi mảnh. Nếu mảnh có sẵn tiêu đề mục gốc và số trang, người đọc có thể hiểu ngữ cảnh chỉ từ mảnh được tìm thấy.
Trong một dự án xây dựng cho một cơ quan công, văn bản được chia theo độ dài cố định rồi sắp xếp lại kết quả. Tuy nhiên, độ dài này cần được điều chỉnh theo tính chất tài liệu, và với các tài liệu nhiều bảng, ưu tiên cấu trúc hơn độ dài sẽ cho kết quả tốt hơn.
Câu hỏi thường gặp
Kích thước mảnh bao nhiêu ký tự là phù hợp?
Tùy thuộc vào tính chất tài liệu. Ranh giới quan trọng hơn độ dài, nên hãy xác định đơn vị logic trước rồi điều chỉnh độ dài bên trong đơn vị đó.
Có nên làm các mảnh chồng lên nhau không?
Chồng lấn giúp giảm việc câu bị cắt ở ranh giới. Tuy nhiên, nếu chồng lấn quá lớn thì dung lượng lưu trữ và kết quả tìm kiếm trùng lặp sẽ tăng, nên cần tìm mức phù hợp.
Bảng được chia như thế nào?
Nên giữ bảng trong một mảnh duy nhất, đồng thời gắn thông tin về điều khoản hoặc mục chứa bảng. Nếu cần, bổ sung thêm một câu tóm tắt.
Khi thay đổi quy tắc có phải xử lý lại toàn bộ không?
Nếu đã lưu kết quả cấu trúc hóa, chỉ cần tạo lại các mảnh. Nên thiết kế tách riêng hai bước này.
Làm sao kiểm tra việc chia mảnh có sai không?
Chỉ đọc các mảnh được trả về từ tìm kiếm rồi xem người đọc có trả lời được câu hỏi hay không. Nếu nhiều mảnh chỉ có thể hiểu khi tìm thêm ngữ cảnh xung quanh, cần xem lại tiêu chí.
Tài liệu có bảng thì nên chia như thế nào?
Nếu quan hệ giữa hàng và cột bị đứt, ý nghĩa của các giá trị sẽ mất, nên giữ toàn bộ bảng trong một mảnh là an toàn hơn. Nếu bảng quá dài và buộc phải chia, hãy lặp lại hàng tiêu đề ở mỗi mảnh.
Gửi cho chúng tôi một tài liệu bạn định dùng để tìm kiếm, chúng tôi sẽ trả lại kết quả tạo mảnh đúng như vậy.
Liên hệ



