TIKA - Kiến trúc
Kiến trúc cấp độ ứng dụng của Tika
Các lập trình viên ứng dụng có thể dễ dàng tích hợp Tika trong các ứng dụng của họ. Tika cung cấp Giao diện dòng lệnh và GUI để làm cho nó thân thiện với người dùng.
Trong chương này, chúng ta sẽ thảo luận về bốn mô-đun quan trọng cấu thành nên kiến trúc Tika. Hình minh họa sau đây cho thấy kiến trúc của Tika cùng với bốn mô-đun của nó:
- Cơ chế phát hiện ngôn ngữ.
- Cơ chế phát hiện MIME.
- Giao diện phân tích cú pháp.
- Lớp Tika Facade.
Cơ chế phát hiện ngôn ngữ
Bất cứ khi nào một tài liệu văn bản được chuyển đến Tika, nó sẽ phát hiện ngôn ngữ mà nó được viết. Nó chấp nhận các tài liệu không có chú thích ngôn ngữ và thêm thông tin đó vào siêu dữ liệu của tài liệu bằng cách phát hiện ngôn ngữ.
Để hỗ trợ nhận dạng ngôn ngữ, Tika có một lớp gọi là Language Identifier trong gói org.apache.tika.languagevà một kho lưu trữ nhận dạng ngôn ngữ bên trong chứa các thuật toán phát hiện ngôn ngữ từ một văn bản nhất định. Tika nội bộ sử dụng thuật toán N-gram để phát hiện ngôn ngữ.
Cơ chế phát hiện MIME
Tika có thể phát hiện loại tài liệu theo tiêu chuẩn MIME. Phát hiện kiểu MIME mặc định trong Tika được thực hiện bằng cách sử dụng org.apache.tika.mime.mimeTypes . Nó sử dụng giao diện org.apache.tika.detect.Detector để phát hiện loại nội dung.
Bên trong Tika sử dụng một số kỹ thuật như tập tin toàn cầu, gợi ý kiểu nội dung, byte ma thuật, mã hóa ký tự và một số kỹ thuật khác.
Giao diện phân tích cú pháp
Giao diện phân tích cú pháp của org.apache.tika.parser là giao diện chính để phân tích cú pháp tài liệu trong Tika. Giao diện này trích xuất văn bản và siêu dữ liệu từ một tài liệu và tóm tắt nó cho những người dùng bên ngoài sẵn sàng viết các plugin phân tích cú pháp.
Sử dụng các lớp phân tích cú pháp cụ thể khác nhau, cụ thể cho các loại tài liệu riêng lẻ, Tika hỗ trợ rất nhiều định dạng tài liệu. Các lớp định dạng cụ thể này cung cấp hỗ trợ cho các định dạng tài liệu khác nhau, bằng cách triển khai trực tiếp logic trình phân tích cú pháp hoặc bằng cách sử dụng thư viện trình phân tích cú pháp bên ngoài.
Lớp mặt tiền Tika
Sử dụng lớp mặt tiền Tika là cách gọi trực tiếp và đơn giản nhất của Tika từ Java, và nó tuân theo mẫu thiết kế mặt tiền. Bạn có thể tìm thấy lớp mặt tiền Tika trong gói org.apache.tika của API Tika.
Bằng cách triển khai các trường hợp sử dụng cơ bản, Tika hoạt động như một nhà môi giới cảnh quan. Nó tóm tắt sự phức tạp cơ bản của thư viện Tika như cơ chế phát hiện MIME, giao diện phân tích cú pháp và cơ chế phát hiện ngôn ngữ, đồng thời cung cấp cho người dùng một giao diện đơn giản để sử dụng.
Đặc điểm của Tika
Unified parser Interface- Tika đóng gói tất cả các thư viện trình phân tích cú pháp của bên thứ ba trong một giao diện trình phân tích cú pháp duy nhất. Do tính năng này, người dùng thoát khỏi gánh nặng của việc chọn thư viện phân tích cú pháp phù hợp và sử dụng nó theo loại tệp gặp phải.
Low memory usage- Tika tiêu tốn ít tài nguyên bộ nhớ hơn nên có thể dễ dàng nhúng vào các ứng dụng Java. Chúng tôi cũng có thể sử dụng Tika trong ứng dụng chạy trên các nền tảng có ít tài nguyên hơn như PDA di động.
Fast processing - Có thể phát hiện và trích xuất nội dung nhanh chóng từ các ứng dụng.
Flexible metadata - Tika hiểu tất cả các mô hình siêu dữ liệu được sử dụng để mô tả tệp.
Parser integration - Tika có thể sử dụng các thư viện phân tích cú pháp khác nhau có sẵn cho từng loại tài liệu trong một ứng dụng duy nhất.
MIME type detection - Tika có thể phát hiện và trích xuất nội dung từ tất cả các loại phương tiện có trong tiêu chuẩn MIME.
Language detection - Tika bao gồm tính năng nhận dạng ngôn ngữ, do đó có thể được sử dụng trong các tài liệu dựa trên loại ngôn ngữ trong một trang web đa ngôn ngữ.
Chức năng của Tika
Tika hỗ trợ các chức năng khác nhau -
- Phát hiện loại tài liệu
- Trích xuất nội dung
- Trích xuất siêu dữ liệu
- Phát hiện ngôn ngữ
Phát hiện loại tài liệu
Tika sử dụng các kỹ thuật phát hiện khác nhau và phát hiện loại tài liệu được cấp cho nó.
Trích xuất nội dung
Tika có một thư viện phân tích cú pháp có thể phân tích nội dung của nhiều định dạng tài liệu khác nhau và trích xuất chúng. Sau khi phát hiện loại tài liệu, nó chọn trình phân tích cú pháp thích hợp từ kho trình phân tích cú pháp và chuyển tài liệu. Các lớp khác nhau của Tika có các phương thức để phân tích cú pháp các định dạng tài liệu khác nhau.
Trích xuất siêu dữ liệu
Cùng với nội dung, Tika trích xuất siêu dữ liệu của tài liệu với quy trình tương tự như trong trích xuất nội dung. Đối với một số loại tài liệu, Tika có các lớp để trích xuất siêu dữ liệu.
Phát hiện ngôn ngữ
Trong nội bộ, Tika tuân theo các thuật toán như n-gramđể phát hiện ngôn ngữ của nội dung trong một tài liệu nhất định. Tika phụ thuộc vào các lớp nhưLanguageidentifier và Profiler để nhận dạng ngôn ngữ.