EPUB sang văn bản: Trích xuất nội dung sách để tìm kiếm và xử lý
Sách là loại văn xuôi dài được biên tập tốt nhất mà chúng tôi có. Được viết chuyên nghiệp, được sao chép chuyên nghiệp, hàng nghìn từ có giọng điệu nhất quán không có menu điều hướng, biểu ngữ cookie hoặc phần bình luận trộn lẫn in. Là nguyên liệu thô cho mọi thứ có hình dạng ngôn ngữ - nhúng, phân tích văn phong, truy xuất, đào tạo bộ phân loại để nhận dạng âm thanh - thật khó để đánh bại.
Vấn đề là nó nằm trong một gói tệp XHTML được nén. Một Trình chuyển đổi EPUB sang văn bản đưa nó ra: một luồng văn xuôi liên tục, không có thẻ, không có đánh dấu các ký tự, không có gì mà tokeniser của bạn phải được dạy để bỏ qua. Tải lên ở trên và nó sẽ quay lại sau vài giây. Miễn phí, không cần đăng ký, giới hạn 50 MB, không có gì được lưu trữ.
Tại sao văn bản phẳng là hình dạng phù hợp cho tác phẩm này
Văn bản thuần túy không phải là lựa chọn ngân sách ở đây. Đối với hầu hết những việc bạn làm với một cuốn sách ở quy mô lớn, đó là định dạng công cụ thực sự mong đợi:
- Nhúng và truy xuất ngữ nghĩa. Cắt đoạn văn xuôi, nhúng từng đoạn, truy xuất bằng cách sự tương đồng. Markdown băm và dấu hoa thị chiếm vị trí mã thông báo và không đóng góp gì cho ý nghĩa — họ làm loãng vectơ. Các đoạn văn sạch sẽ được truy xuất tốt hơn và mọi thư viện phân đoạn trên trái đất đều mất văn bản theo mặc định.
- Khả năng đọc và phong cách. Flesch-Kincaid, độ dài câu trung bình, tỷ lệ loại mã thông báo, vốn từ vựng phong phú, nhịp điệu chấm câu. Đây là các thước đo ở cấp độ từ và câu cũng như định dạng mã thông báo làm hỏng mọi thứ trong số chúng.
- Tìm kiếm lập chỉ mục trên một thư viện. Postgres
tsvector, SQLite FTS5, Elaticsearch hoặc một thư mục đơn giản mà bạngrep. Tất cả đều muốn văn bản thô trong một trường. năm mươi sách được chuyển đổi tạo nên một công cụ tìm kiếm cá nhân thực sự nhanh chóng. - Ngôn ngữ học Corpus và đường dẫn NLP. Đối chiếu, phân tích sắp xếp thứ tự, đặt tên trích xuất thực thể, mô hình hóa chủ đề. spaCy và NLTK lấy chuỗi chứ không phải đánh dấu.
- Chuyển văn bản thành giọng nói và khả năng truy cập. Một công cụ TTS được trao Markdown sẽ vui vẻ đọc "băm băm Chương Bốn" thành tiếng.
- Các phiên bản khác nhau. Hai bản in có cùng tiêu đề, được trích xuất thành văn bản, chạy qua một sự khác biệt ở cấp độ từ - đó là cách bạn nhận thấy ấn bản thứ hai thực sự đã thay đổi những gì.
Những gì bạn từ bỏ bằng cách làm phẳng
Ranh giới chương. Đó là chi phí thực sự và đó là chi phí lớn hơn đối với sách so với hầu hết các loại tài liệu, bởi vì một cuốn sách đủ dài nên "tôi đang ở đâu" cũng quan trọng.
Trong EPUB nguồn, mỗi chương là một tệp XHTML riêng biệt có thẻ tiêu đề và mục nhập trong điều hướng tài liệu. Làm phẳng, tiêu đề chương sẽ trở thành một dòng văn bản ngắn nằm phía trên một dòng văn bản dài, với không có gì đánh dấu nó là khác nhau. Yêu cầu một mô hình "tóm tắt chương bảy" và nó phải tìm ra chỗ nào bảy bắt đầu chỉ từ cách diễn đạt. Thông thường nó quản lý. Đôi khi nó bắt đầu một đoạn văn muộn và lặng lẽ tóm tắt lại điều sai.
Các trích dẫn khối cũng không còn khác biệt về mặt hình ảnh với tường thuật nữa, điều này quan trọng đối với tác phẩm phi hư cấu khi được trích dẫn. tài liệu nguồn và lập luận của chính tác giả nằm cạnh nhau. Nếu bất kỳ thứ nào trong số đó chịu tải cho những gì bạn đang làm, hãy lấy EPUB tới Markdown thay vào đó - cây tiêu đề vẫn tồn tại ở đó và bạn có thể cắt tệp một cách rõ ràng theo chương. Chuyển đổi định dạng ở đầu trang này chuyển đổi giữa chúng và chuyển tệp đã chọn của bạn qua để bạn có thể tạo cả hai và so sánh mà không cần tải lên hai lần.
Những đồ tạo tác kiểu chữ đáng được dọn dẹp
Các nhà xuất bản sắp chữ đúng cách, điều này rất tốt cho việc đọc và hơi khó chịu khi tính toán. Một số ít mọi thứ hiển thị một cách đáng tin cậy trong văn bản sách được trích xuất và một lần tìm và thay thế sẽ xử lý hầu hết chúng:
- Dấu ngoặc kép và dấu nháy đơn. Sách sử dụng dấu ngoặc kép kiểu chữ, không phải
"và'. Những người tạo mã thông báo thường có thể xử lý được, nhưng việc so khớp chuỗi và biểu thức chính quy đơn giản thì không — hãy tìm kiếmdon'ttrong một cuốn tiểu thuyết và bạn có thể không nhận được gì khi trang này chứa đầy don’t. - Em dấu gạch ngang và dấu gạch ngang. Thường không có khoảng cách, điều đó có nghĩa là thỉnh thoảng có các đoạn chia tách câu dán hai câu lại với nhau hoặc ngắt một câu không đúng chỗ.
- Dấu gạch ngang mềm và khoảng trắng không ngắt. Vô hình trên màn hình, hiện diện trong luồng byte, và lặng lẽ chịu trách nhiệm về số từ không khớp với bất cứ thứ gì.
- Chữ ghép. "fi" và "fl" đôi khi là những ký tự đơn lẻ. Họ thường trích xuất tốt, nhưng một phông chữ nhúng bất thường có thể tạo ra các ký tự kỳ lạ trong từ lẻ.
- Vấn đề trước sau. Trang tiêu đề, thông báo bản quyền, sự cống hiến, lời cảm ơn, "về tác giả", chỉ mục còn sót lại. Bản tóm tắt xuất hiện trong mỗi cuốn sách bạn chuyển đổi, vì vậy nó sẽ trở thành từ vựng phổ biến một cách giả tạo trong một kho ngữ liệu. Cắt nó nếu bạn đang làm công việc tần số.
Không ai trong số này là bộ chuyển đổi cẩu thả. Đó là những gì thực sự có trong hồ sơ và biết cách tìm kiếm nó là phần lớn của trận chiến.
DRM và nguồn gốc của sách chuyển đổi
Một cuốn sách mua từ một nhà bán lẻ lớn thường được mã hóa. XHTML bên trong vùng chứa bị xáo trộn và
một encryption.xml tập tin khai báo nó, do đó không có trình chuyển đổi nào — bao gồm cả trình chuyển đổi này — có thể đọc một từ
nó. Tải lên một cái và bạn sẽ gặp lỗi hoặc đầu ra trống. Đáng để biết trước khi bạn dành mười phút
tự hỏi điều gì đã xảy ra.
Rất nhiều nguồn tốt được thiết kế không có DRM. Danh mục phạm vi công cộng của Project Gutenberg rất lớn và lý tưởng cho công việc ngữ liệu. Sách điện tử tiêu chuẩn tạo ra các ấn bản thuộc phạm vi công cộng được sắp chữ cẩn thận với đánh dấu sạch sẽ. Hầu hết các nhà xuất bản kỹ thuật, nhà xuất bản liền kề arXiv, tiêu đề Creative Commons và bất kỳ thứ gì bạn tự mình xuất khẩu tất cả chuyển đổi mà không có khiếu nại. Việc chuyển đổi sách bạn sở hữu để tự học là chuyện bình thường sử dụng; việc phân phối lại văn bản được trích xuất của một cuốn sách có bản quyền thì không. Nói thế là đủ rồi.
Thực hiện điều này trên toàn bộ thư viện
Chuyển đổi một cuốn sách là một công việc hai giây. Phiên bản thú vị đang chuyển đổi bốn mươi và xử lý kết quả dưới dạng một tập dữ liệu. Một số điều giúp việc đó diễn ra suôn sẻ:
- Nén lô. ZIP thành văn bản lấy một kho lưu trữ và chuyển đổi mọi tệp được hỗ trợ bên trong nó trong một lần, tốc độ này vượt qua bốn mươi lần riêng biệt tải lên. Xem mức trần 50 MB — EPUB tuy nhỏ nhưng được minh họa thì không.
- Bình thường hóa trước khi bạn chunk. Làm thẳng dấu ngoặc kép, loại bỏ dấu gạch nối mềm, thu gọn lặp lại dòng trống. Thực hiện một lần khi nhập và mọi bước xuôi dòng sẽ trở nên đơn giản hơn.
- Phân đoạn theo ranh giới đoạn văn, không cố định số lượng ký tự. Sách có đoạn văn thật và chúng là những đơn vị ngữ nghĩa tự nhiên. Blind 1.000 ký tự chia tách câu làm đôi và tạo ra nhúng cho các mảnh.
- Giữ tên tệp làm siêu dữ liệu. Khi tất cả chỉ là một luồng văn bản, tiêu đề và tác giả là nguồn gốc duy nhất mà bạn có. Lưu trữ chúng dọc theo từng đoạn hoặc bạn sẽ lấy được một đoạn văn hay và không biết nó đến từ cuốn sách nào.
- Kiểm tra số lượng mã thông báo. Bộ đếm phía dưới đầu ra cung cấp cho bạn số thực của một tiêu đề nhất định, đó là sự khác biệt giữa việc lập kế hoạch cho một đường ống và việc đoán mò về một đường ống.
EPUB là nguồn tài liệu tốt hơn phiên bản PDF
Nếu tiêu đề giống nhau tồn tại ở cả hai định dạng thì EPUB sẽ cung cấp cho bạn văn bản rõ ràng hơn mà ít tốn công sức hơn. Một bản PDF là bố cục cố định: mỗi dòng trực quan là một dòng glyph riêng biệt, vì vậy các đoạn văn sẽ được chia thành các dòng ngắn, các từ được gạch nối ở các ngắt dòng vẫn được gạch nối và tiêu đề cũng như số trang đang chạy nằm trong văn xuôi cứ sau vài trăm từ. PDF thành văn bản giải quyết tất cả những điều đó, nhưng bạn sẽ cọ rửa sau đó.
EPUB có thể chỉnh lại được. Không có trang nên không có nội dung trang và đoạn văn là đoạn văn thực tế trong đánh dấu — để chúng xuất hiện dưới dạng các dòng liên tục mà tìm kiếm biểu thức chính quy có thể khớp. Vì bất cứ điều gì liên quan đến tìm kiếm cụm từ, tách câu hoặc nhúng, chỉ riêng sự khác biệt đó cũng đáng để trao đổi.
Câu hỏi thường gặp
Làm cách nào để chuyển đổi EPUB thành văn bản?
Thả .epub vào trình chuyển đổi ở trên và văn bản của cuốn sách sẽ trở lại dưới dạng văn bản thuần túy mà bạn có thể tải xuống dưới dạng .txt. Miễn phí, không cần đăng ký, 50 MB mỗi tệp — thoải mái hơn bất kỳ nhu cầu sách điện tử có thể chỉnh lại nào vì EPUB là HTML nén và ngay cả những cuốn sách dài cũng hiếm khi vượt quá vài megabyte.
Nó có hoạt động trên sách mua từ Kindle hoặc Apple Books không?
Chỉ khi chúng không có DRM. Sách đã mua thường được mã hóa và liên kết với tài khoản đã mua sách đó, đồng thời tệp được mã hóa không có văn bản có thể đọc được bên trong để bất kỳ trình chuyển đổi nào tiếp cận được. Các đầu sách trong phạm vi công cộng từ Project Gutenberg, Sách điện tử tiêu chuẩn, sách kỹ thuật từ các nhà xuất bản bán tệp không được mã hóa và bản xuất của riêng bạn đều chuyển đổi bình thường.
Các chương có được tách biệt ở đầu ra không?
Ranh giới các chương vẫn tồn tại dưới dạng các điểm ngắt trong dòng, nhưng tiêu đề chương lại xuất hiện dưới dạng các dòng thông thường và không có gì đánh dấu chúng là tiêu đề - đó là bản chất của việc làm phẳng thành văn bản. Nếu bạn cần điều hướng hoặc phân đoạn theo chương sau đó, EPUB tới Markdown giữ các cấp độ tiêu đề để có thể thực hiện được điều đó.
Còn chú thích cuối trang và chú thích cuối sách thì sao?
Chúng đi qua, thường được thu thập ở cuối phần mà chúng thuộc về thay vì ở trong dòng nơi đặt điểm đánh dấu. Đối với các văn bản mang tính học thuật, điều này có nghĩa là một loạt các nội dung ghi chú xuất hiện giữa các chương. Dễ dàng đọc qua, đáng để biết liệu bạn có đang phân chia đầu ra để nhúng và tự hỏi tại sao một đoạn lại toàn là trích dẫn hay không.
Tôi có thể cung cấp toàn bộ sách cho LLM theo cách này không?
Bạn có thể chuyển đổi nó trong một lần, nhưng hãy kiểm tra số lượng mã thông báo trước khi dán. Một cuốn tiểu thuyết dài 300 trang có dung lượng khoảng 120.000 mã thông báo - bên trong cửa sổ ngữ cảnh 200K và thoải mái về những gì giao diện trò chuyện sẽ chấp nhận trong một tin nhắn. Bộ đếm bên dưới đầu ra sẽ cho bạn biết số trước khi bạn tìm ra một cách khó khăn.
Phần còn lại của bộ công cụ
EPUB là một trong mười ba định dạng được hỗ trợ. File2Txt xử lý tất cả chúng từ một tải lên duy nhất. Đối với bản thảo có Word sang văn bản, dành cho văn bản có định dạng kế thừa tài liệu RTF sang văn bản, và để lưu bài viết HTML thành văn bản. Có cấu trúc dữ liệu của riêng bạn đi qua CSV thành văn bản hoặc JSON thành văn bản.
Ngoài tài liệu: chuyển đổi một GitHub kho lưu trữ thành văn bản, một dự án GitLabhoặc một thư mục cục bộ, và sử dụng Web2Txt để kéo các trang trực tiếp xuống dưới dạng văn bản. Có cái dài hơn hướng dẫn chuẩn bị tài liệu cho LLM nếu bạn muốn hình ảnh rộng hơn.
Repo2Txt được xây dựng và duy trì bởi v12hero, một nhà phát triển độc lập xây dựng các ứng dụng web và ứng dụng gốc ưu tiên quyền riêng tư.