Key9x98 / Chat-with-PDF

0 stars 0 forks source link

Chunking problems #1

Closed vuminhoang closed 1 month ago

vuminhoang commented 1 month ago
  1. Thông tin từ một chunk không chứa đủ context cho câu hỏi cần tìm, vì chunk_size cần có một giới hạn nhất định để đảm bảo hoạt động của embedding (halong_embedding 512 tokens). Có thể giải quyết sơ bộ bằng cách đưa nhiều đoạn context vào LLM nhưng có thể khiến LLM bị nhiễu thông tin.

  2. Khi chunking, đôi khi sẽ bị dính thông tin từ các bảng, mà việc trích xuất thông tin trong bảng từ PyPDF đang cho ra kết quả không tốt --> làm nhiễu chunk, dẫn đến không tìm được context mong muốn. Hoặc trong trường hợp chỉ một phần nhỏ context cần tìm khác rơi vào một chunk có thông tin từ bảng --> coi như sẽ mất phần context đó.

vuminhoang commented 1 month ago

Hướng giải quyết hiện tại:

  1. Tăng overlap_size lên để hi vọng một chunk có thể chứa đủ context. Hoặc sẽ tìm một embedding có khả năng xử lý context dài hơn, qua đó tăng cả kích thước chunk.

  2. Hiện chưa có cách nên nhóm đang tính đến bỏ luôn thông tin từ bảng ra khỏi trích xuất. Hoặc phải cải thiện khả năng trích thông tin từ bảng

vuminhoang commented 1 month ago

Hướng giải quyết mới:

  1. Khi tăng chunk_size lên thì phải trade off bị mất nghĩa do embedding có thể không xử lý được hết chunk_size, nên nhóm đang thử nghiệm 1 cách mới là expand context. Ý tưởng đơn giản: khi tìm được chunk có similarity cao nhất rồi, sẽ tìm kiếm phần text đó trong original text và mở rộng về trước và sau (+ thêm text ở trước và sau đoạn đó) thành một context mới dài hơn, rồi tận dụng khả năng của LLM cho nó trả lời thông tin đó.
    • Hiệu quả: cần thử nghiệm thêm.
    • Cách này có thể giải quyết cả prob 2.
vuminhoang commented 1 month ago

Tạm thời đã giải quyết được bằng cách expand context.