TIKA - Tổng quan
Apache Tika là gì?
Apache Tika là một thư viện được sử dụng để phát hiện loại tài liệu và trích xuất nội dung từ các định dạng tệp khác nhau.
Trong nội bộ, Tika sử dụng các trình phân tích cú pháp tài liệu khác nhau hiện có và các kỹ thuật phát hiện loại tài liệu để phát hiện và trích xuất dữ liệu.
Sử dụng Tika, người ta có thể phát triển một trình phát hiện kiểu phổ quát và trình trích xuất nội dung để trích xuất cả văn bản có cấu trúc cũng như siêu dữ liệu từ các loại tài liệu khác nhau như bảng tính, tài liệu văn bản, hình ảnh, PDF và thậm chí cả các định dạng đầu vào đa phương tiện ở một mức độ nhất định.
Tika cung cấp một API chung duy nhất để phân tích cú pháp các định dạng tệp khác nhau. Nó sử dụng các thư viện phân tích cú pháp chuyên dụng hiện có cho từng loại tài liệu.
Tất cả các thư viện phân tích cú pháp này được đóng gói trong một giao diện duy nhất được gọi là Parser interface.
Tại sao Tika?
Theo filext.com, có khoảng 15 nghìn đến 51 nghìn loại nội dung và con số này đang tăng lên từng ngày. Dữ liệu đang được lưu trữ ở nhiều định dạng khác nhau như tài liệu văn bản, bảng tính excel, PDF, hình ảnh và các tệp đa phương tiện. Do đó, các ứng dụng như công cụ tìm kiếm và hệ thống quản lý nội dung cần được hỗ trợ thêm để dễ dàng trích xuất dữ liệu từ các loại tài liệu này. Apache Tika phục vụ mục đích này bằng cách cung cấp một API chung để định vị và trích xuất dữ liệu từ nhiều định dạng tệp.
Ứng dụng Apache Tika
Có nhiều ứng dụng khác nhau sử dụng Apache Tika. Ở đây chúng ta sẽ thảo luận về một vài ứng dụng nổi bật phụ thuộc nhiều vào Apache Tika.
Công cụ tìm kiếm
Tika được sử dụng rộng rãi trong khi phát triển công cụ tìm kiếm để lập chỉ mục nội dung văn bản của tài liệu kỹ thuật số.
Công cụ tìm kiếm là hệ thống xử lý thông tin được thiết kế để tìm kiếm thông tin và tài liệu được lập chỉ mục từ Web.
Crawler là một thành phần quan trọng của công cụ tìm kiếm thu thập thông tin trên Web để tìm nạp các tài liệu sẽ được lập chỉ mục bằng cách sử dụng một số kỹ thuật lập chỉ mục. Sau đó, trình thu thập thông tin chuyển các tài liệu được lập chỉ mục này sang một thành phần trích xuất.
Nhiệm vụ của thành phần trích xuất là trích xuất văn bản và siêu dữ liệu từ tài liệu. Nội dung và siêu dữ liệu được trích xuất như vậy rất hữu ích cho công cụ tìm kiếm. Thành phần chiết xuất này có chứa Tika.
Nội dung được trích xuất sau đó được chuyển đến trình chỉ mục của công cụ tìm kiếm sử dụng nó để xây dựng chỉ mục tìm kiếm. Ngoài ra, công cụ tìm kiếm cũng sử dụng nội dung được trích xuất theo nhiều cách khác.
Phân tích tài liệu
Trong lĩnh vực trí tuệ nhân tạo, có một số công cụ nhất định để phân tích tài liệu tự động ở cấp độ ngữ nghĩa và trích xuất tất cả các loại dữ liệu từ chúng.
Trong các ứng dụng như vậy, các tài liệu được phân loại dựa trên các thuật ngữ nổi bật trong nội dung được trích xuất của tài liệu.
Các công cụ này sử dụng Tika để trích xuất nội dung để phân tích các tài liệu khác nhau từ văn bản thuần túy đến tài liệu kỹ thuật số.
Quản lý tài sản kỹ thuật số
Một số tổ chức quản lý tài sản kỹ thuật số của họ như ảnh, sách điện tử, bản vẽ, nhạc và video bằng cách sử dụng một ứng dụng đặc biệt được gọi là quản lý tài sản kỹ thuật số (DAM).
Các ứng dụng như vậy nhờ sự trợ giúp của trình phát hiện loại tài liệu và trình trích xuất siêu dữ liệu để phân loại các tài liệu khác nhau.
Phân tích nội dung
Các trang web như Amazon giới thiệu nội dung mới phát hành trên trang web của họ cho người dùng cá nhân theo sở thích của họ. Để làm như vậy, các trang web này theomachine learning techniqueshoặc nhờ sự trợ giúp của các trang web truyền thông xã hội như Facebook để trích xuất thông tin cần thiết như lượt thích và sở thích của người dùng. Thông tin thu thập này sẽ ở dạng thẻ html hoặc các định dạng khác yêu cầu phát hiện và trích xuất loại nội dung khác.
Để phân tích nội dung của một tài liệu, chúng tôi có các công nghệ triển khai các kỹ thuật học máy, chẳng hạn như UIMA và Mahout. Những công nghệ này rất hữu ích trong việc phân cụm và phân tích dữ liệu trong tài liệu.
Apache Mahoutlà một khuôn khổ cung cấp các thuật toán ML trên Apache Hadoop - một nền tảng điện toán đám mây. Mahout cung cấp một kiến trúc bằng cách tuân theo các kỹ thuật phân cụm và lọc nhất định. Bằng cách tuân theo kiến trúc này, các lập trình viên có thể viết các thuật toán ML của riêng họ để đưa ra các đề xuất bằng cách lấy các kết hợp văn bản và siêu dữ liệu khác nhau. Để cung cấp đầu vào cho các thuật toán này, các phiên bản gần đây của Mahout sử dụng Tika để trích xuất văn bản và siêu dữ liệu từ nội dung nhị phân.
Apache UIMAphân tích và xử lý các ngôn ngữ lập trình khác nhau và tạo ra các chú thích UIMA. Bên trong nó sử dụng Tika Annotator để trích xuất văn bản tài liệu và siêu dữ liệu.
Lịch sử
Năm | Phát triển |
---|---|
2006 | Ý tưởng của Tika đã được dự kiến trước Ủy ban quản lý dự án Lucene. |
2006 | Khái niệm về Tika và tính hữu dụng của nó trong dự án Jackrabbit đã được thảo luận. |
2007 | Tika vào lồng ấp Apache. |
2008 | Các phiên bản 0,1 và 0,2 đã được phát hành và Tika đã tốt nghiệp từ tủ ấm đến tiểu dự án Lucene. |
2009 | Các phiên bản 0.3, 0.4 và 0.5 đã được phát hành. |
2010 | Phiên bản 0.6 và 0.7 đã được phát hành và Tika đã hoàn thành dự án Apache cấp cao nhất. |
2011 | Tika 1.0 đã được phát hành và cuốn sách về Tika “Tika in Action” cũng được phát hành cùng năm. |