Bất cứ khi nào một công nghệ mới xuất hiện, nó đều bị nhấn chìm trong sự cường điệu. Twitter của tôi đầy rẫy những "người có sức ảnh hưởng" tuyên bố đã xây dựng một trang web đầy đủ chỉ bằng một lời nhắc, nhưng bất kỳ ai đang cố gắng xây dựng trang web đều biết rằng hiện tại họ đủ giỏi để triển khai các chức năng nhỏ và bắt đầu thực hiện bất kỳ nhiệm vụ dài hạn nào với toàn bộ kho lưu trữ mã làm bối cảnh.
Bạn còn nhớ khi chúng ta được hứa hẹn về xe tự lái vào ngày mai cách đây khoảng mười năm không? Xe tự lái là một vấn đề đã được giải quyết, Elon Musk, bậc thầy thổi phồng, đã nói như vậy cách đây 8 năm .
Trong khi chúng ta đang chờ đợi Tesla bắt đầu tự làm bánh donut, những nỗ lực ít hấp dẫn hơn đã được tiến hành. Mobileye đã chế tạo một cảm biến phát ra tiếng bíp khi bạn sắp đâm vào thứ gì đó. Họ đã cứu vô số sinh mạng và giảm yêu cầu bồi thường bảo hiểm khoảng 90%. Họ đã xây dựng một công ty trị giá 17 tỷ đô la.
Tôi tin rằng hiểu tài liệu là công nghệ Mobileye dành cho LLM. Hiểu bảng tài chính, lập bảng yêu cầu bồi thường bảo hiểm và suy ra mã y tế từ ghi chú của Bác sĩ có vẻ khiêm tốn so với những giấc mơ xa vời. Nhưng nếu bạn nhấp đúp vào vấn đề này, bạn sẽ thấy trước đây nó chưa được giải quyết và nó mở ra rất nhiều giá trị.
Một thập kỷ trước, tôi đã làm việc cho nhóm chuẩn hóa dữ liệu nổi tiếng của LinkedIn. Chúng tôi đã cố gắng giải quyết một vấn đề đơn giản nhưng đánh lừa: làm thế nào để hiểu được một bản sơ yếu lý lịch, bất kể nó đến từ đâu, và ánh xạ tiêu đề của nó với một tập hợp nhỏ các tiêu đề được công nhận?
Bạn nghĩ điều này sẽ dễ dàng. Ý tôi là, "kỹ sư phần mềm" là một chức danh khá đơn giản, đúng không? Nhưng nếu ai đó viết "cộng sự" thì sao? Họ có thể đang sắp xếp hàng hóa trên kệ hoặc kiếm được mức lương sáu con số tại một công ty luật. Nhân viên trạm (Cao bồi Úc) là gì, tư vấn là gì (có thể có nghĩa là cố vấn/người làm việc tự do, nhưng cũng có thể là Bác sĩ nếu bạn là người Anh và có nền tảng phù hợp cho công việc này)? Nếu bạn đang cố gắng đưa các chức danh công việc vào danh sách các mục được công nhận để bạn có thể lập chỉ mục cho tìm kiếm, bán hàng, v.v. - làm thế nào bạn có thể xây dựng một mô hình biết được sắc thái của tất cả các ngôn ngữ và nền văn hóa, và không nhầm lẫn "Trợ lý điều hành" là một giám đốc điều hành, trong khi Trợ lý giám đốc khu vực thực sự là phó của giám đốc khu vực?
Được rồi, điều này rất hay, nhưng nếu tôi làm việc cho LinkedIn , tôi sẽ cần các kiểu dữ liệu cụ thể. Tôi muốn một JSON .
Cần phải làm nhiều việc hơn nữa để lập bản đồ các chức danh công việc thành một phân loại chuẩn - một danh sách hữu hạn các chức danh công việc được xác định trước có thể chấp nhận được. Nhưng bạn có thể thấy một điều gì đó rất khó khăn trong quá khứ trở nên tầm thường như thế nào.
Đọc sơ yếu lý lịch là một trường hợp sử dụng hay, nhưng tôi nghĩ nó không mang tính cách mạng. LinkedIn là một công ty công nghệ và luôn áp dụng một số biện pháp sắc bén nhất để giải quyết vấn đề. Nó có thể trở nên tốt hơn một chút, nhưng chúng tôi chỉ thay thế một quy trình tự động hóa mã bằng một quy trình khác.
Mọi thứ trở nên thú vị hơn nhiều khi bạn thay thế lao động chân tay tẻ nhạt. Một phần lớn của nền kinh tế dựa trên những người thực hiện các nhiệm vụ chuyên môn, tóm lại là "đọc một tài liệu, tìm hiểu nội dung của nó và lặp lại quá trình đó đến phát ngán".
Để tôi đưa ra cho bạn một số ví dụ:
Quản lý chi phí: Bạn có một hóa đơn và ai đó cần chuyển nó thành danh sách các con số — đã trả những gì, cho ai và bằng loại tiền nào. Nghe có vẻ dễ dàng? Không dễ chút nào khi nó bị chôn vùi trong một mớ thông tin bổ sung, bảng biểu chưa hoàn chỉnh hoặc tệp PDF trông giống như ai đó đã chạy chúng qua máy xay sinh tố.
Xử lý yêu cầu bồi thường chăm sóc sức khỏe: Đây là một cơn ác mộng, được giải quyết bởi một đội ngũ các thẩm định viên yêu cầu bồi thường chăm sóc sức khỏe. Họ sàng lọc hàng núi hóa đơn, ghi chú của bác sĩ lâm sàng và hóa đơn, tất cả đều phải được tập hợp lại thành một mớ hỗn độn với các bản sao, và phải đối chiếu với hợp đồng bảo hiểm y tế hiện có và tìm ra khoản phí đó có được chi trả hay không, thuộc loại nào và với số tiền bao nhiêu. Nhưng khi bạn thực hiện, phần lớn chỉ là đọc, sắp xếp và dán nhãn. Các quyết định không khó; thách thức nằm ở việc trích xuất dữ liệu.
Thẩm định khoản vay: Xem xét các báo cáo ngân hàng của ai đó và phân loại dòng tiền của họ. Một lần nữa, đây là việc cấu trúc thông tin phi cấu trúc hơn là khoa học tên lửa.
Quyến rũ? Không. Hữu ích? Tôi nghĩ vậy.
Đến giờ, LLM nổi tiếng là ảo giác—hay còn gọi là bịa chuyện. Nhưng thực tế thì phức tạp hơn: ảo giác là điều bình thường khi bạn yêu cầu kiến thức thế giới nhưng về cơ bản là bị loại bỏ trong một nhiệm vụ thực tế .
LLM không thực sự giỏi trong việc đánh giá những gì họ "biết"—đó là một sản phẩm phụ may mắn hơn khi họ có thể làm điều này vì họ không được đào tạo rõ ràng cho việc đó. Đào tạo chính của họ là dự đoán và hoàn thành các chuỗi văn bản. Tuy nhiên, khi một LLM được giao một nhiệm vụ có cơ sở - một nhiệm vụ mà chỉ cần đầu vào được cung cấp rõ ràng cho nó để đưa ra dự đoán, tỷ lệ ảo giác có thể giảm xuống về cơ bản là bằng không. Ví dụ: nếu bạn dán bài đăng trên blog này vào ChatGPT và hỏi liệu bài đăng đó có giải thích cách chăm sóc con chồn hương cưng của bạn không, thì mô hình sẽ đưa ra phản hồi chính xác 100% thời gian. Nhiệm vụ trở nên có thể dự đoán được. LLM rất giỏi trong việc xử lý một đoạn văn bản và dự đoán cách một nhà phân tích có năng lực sẽ điền vào chỗ trống, một trong số đó có thể là {“ferret care discussed”: false}.
Với tư cách là một cựu cố vấn AI, chúng tôi đã làm việc trên các dự án tập trung vào việc trích xuất thông tin từ các tài liệu, đặc biệt là trong các ngành như bảo hiểm và tài chính. Nỗi sợ chung là "LLM gây ảo giác", nhưng trên thực tế, những thách thức lớn nhất thường là do lỗi trong việc trích xuất bảng hoặc các sự không nhất quán đầu vào khác. LLM chỉ thất bại khi chúng tôi không trình bày chúng với đầu vào rõ ràng, không mơ hồ. Có hai thành phần chính để tự động hóa thành công quá trình xử lý tài liệu:
Trích xuất văn bản hoàn hảo – Điều này liên quan đến việc chuyển đổi tài liệu thành văn bản sạch, có thể đọc được bằng máy, bao gồm xử lý bảng, ghi chú viết tay hoặc bố cục đa dạng. LLM cần một văn bản rõ ràng, dễ hiểu để làm việc.
Sơ đồ mạnh mẽ – Các sơ đồ này sẽ xác định đầu ra bạn đang tìm kiếm, cách xử lý các trường hợp ngoại lệ và định dạng dữ liệu, đảm bảo hệ thống biết chính xác những gì cần trích xuất từ từng loại tài liệu.
Khoảng cách giữa các rủi ro tiềm ẩn của ảo giác và các rào cản kỹ thuật thực tế có thể rất lớn, nhưng với những nguyên tắc cơ bản này, bạn có thể tận dụng LLM một cách hiệu quả trong quy trình xử lý tài liệu.
Sau đây là những nguyên nhân khiến LLM thất bại và cho ra kết quả tệ hại:
Luôn hữu ích khi nhớ lại sự lộn xộn điên rồ diễn ra trong các tài liệu thực tế. Sau đây là một mẫu đơn thuế ngẫu nhiên:
Tất nhiên, các biểu mẫu thuế thực tế đều có tất cả các trường này được điền đầy đủ, thường là bằng chữ viết tay.
Hoặc đây là sơ yếu lý lịch của tôi
Hoặc một báo cáo phòng thí nghiệm mẫu có sẵn công khai (đây là kết quả trang nhất từ Google)
Nhân tiện, điều tệ nhất bạn có thể làm là yêu cầu khả năng đa phương thức của GPT phiên âm một bảng. Hãy thử nếu bạn dám — thoạt nhìn thì có vẻ đúng, hoàn toàn tạo ra những thứ ngẫu nhiên cho một số ô trong bảng, đưa mọi thứ hoàn toàn ra khỏi ngữ cảnh, v.v.
Khi được giao nhiệm vụ hiểu những loại tài liệu này, người đồng sáng lập Nitai Dean và tôi đã rất bối rối vì không có giải pháp sẵn có nào để hiểu những văn bản này.
Một số người tuyên bố giải quyết được vấn đề này, như AWS Textract. Nhưng họ mắc rất nhiều lỗi trên bất kỳ tài liệu phức tạp nào mà chúng tôi đã thử nghiệm. Sau đó, bạn có một loạt các lỗi nhỏ cần thiết, như nhận dạng dấu kiểm, nút radio, văn bản bị gạch bỏ, chữ viết tay nguệch ngoạc trên biểu mẫu, v.v.
Vì vậy, chúng tôi đã xây dựng Docupanda.io — đầu tiên tạo ra một bản trình bày văn bản sạch của bất kỳ trang nào bạn đưa vào. Ở bên trái, bạn sẽ thấy tài liệu gốc và ở bên phải, bạn có thể thấy đầu ra văn bản.
Các bảng cũng được xử lý tương tự. Về cơ bản, chúng tôi chỉ chuyển đổi các bảng thành định dạng markdown có thể đọc được bằng con người và LLM:
Phần cuối cùng để hiểu dữ liệu bằng LLM là tạo và tuân thủ các định dạng đầu ra cứng nhắc. Thật tuyệt khi chúng ta có thể khiến AI định hình đầu ra của nó thành JSON, nhưng để áp dụng các quy tắc, lý luận, truy vấn, v.v. trên dữ liệu — chúng ta cần làm cho nó hoạt động thường xuyên. Dữ liệu cần tuân thủ một tập hợp các khe được xác định trước mà chúng ta sẽ lấp đầy bằng nội dung. Trong thế giới dữ liệu, chúng ta gọi đó là Sơ đồ .
Lý do chúng ta cần một lược đồ là dữ liệu sẽ vô dụng nếu không có tính quy luật. Nếu chúng ta đang xử lý hồ sơ bệnh nhân và chúng ánh xạ tới "nam" "Nam" "m" và "M" — chúng ta đang làm một công việc tệ hại.
Vậy làm thế nào để bạn xây dựng một lược đồ? Trong sách giáo khoa, bạn có thể xây dựng một lược đồ bằng cách ngồi lâu và chăm chú nhìn vào tường, và xác định những gì bạn muốn trích xuất. Bạn ngồi đó, suy nghĩ về hoạt động dữ liệu chăm sóc sức khỏe của mình và nói "Tôi muốn trích xuất tên bệnh nhân, ngày tháng, giới tính và tên bác sĩ của họ. À, và giới tính phải là M/F/Khác".
Trong cuộc sống thực, để xác định những gì cần trích xuất từ các tài liệu, bạn phải nhìn chằm chằm vào các tài liệu của mình… rất nhiều. Bạn bắt đầu với một cái gì đó như trên, nhưng sau đó bạn nhìn vào các tài liệu và thấy rằng một trong số chúng có DANH SÁCH các bác sĩ thay vì một. Và một số trong số chúng cũng liệt kê địa chỉ của các bác sĩ. Một số địa chỉ có số đơn vị và số tòa nhà, vì vậy có thể bạn cần một khe cắm cho điều đó. Cứ thế tiếp tục.
Điều chúng tôi nhận ra là khả năng xác định chính xác tất cả những thứ bạn muốn trích xuất không hề đơn giản, khó khăn nhưng lại có thể giải quyết được bằng AI.
Đó là một phần quan trọng của DocuPanda. Thay vì chỉ yêu cầu một LLM ngẫu hứng tạo ra đầu ra cho mọi tài liệu, chúng tôi đã xây dựng cơ chế cho phép bạn:
Cuối cùng, bạn sẽ có được một lược đồ JSON mạnh mẽ — một mẫu nêu chính xác những gì bạn muốn trích xuất từ mọi tài liệu và ánh xạ qua hàng trăm nghìn tài liệu đó, trích xuất câu trả lời cho tất cả các tài liệu đó, đồng thời tuân thủ các quy tắc như luôn trích xuất ngày theo cùng một định dạng, tôn trọng một tập hợp các danh mục được xác định trước, v.v.
Giống như bất kỳ hang thỏ nào, luôn có nhiều thứ hơn những gì bạn thấy lần đầu. Theo thời gian, chúng ta đã khám phá ra rằng cần có nhiều thứ hơn:
Các tổ chức thường phải xử lý luồng tài liệu ẩn danh đến, vì vậy chúng tôi tự động phân loại chúng và quyết định lược đồ nào sẽ áp dụng cho chúng
Tài liệu đôi khi là sự kết hợp của nhiều tài liệu và bạn cần một giải pháp thông minh để chia nhỏ một tài liệu rất dài thành các thành phần riêng biệt, nguyên tử của nó
Truy vấn các tài liệu phù hợp bằng cách sử dụng kết quả được tạo ra là rất hữu ích
Nếu có một điều rút ra từ bài đăng này, đó là bạn nên xem xét việc khai thác LLM để hiểu các tài liệu theo cách thông thường. Nếu có hai điều rút ra, đó là bạn cũng nên thử Docupanda.io . Lý do tôi xây dựng nó là vì tôi tin vào nó. Có lẽ đó là lý do đủ tốt để thử?