Tika 简明教程

TIKA - Overview

What is Apache Tika?

  1. Apache Tika 是一个用于文档类型检测和从各种文件格式中提取内容的库。

  2. 在内部,Tika 使用现有的各种文档解析器和文档类型检测技术来检测和提取数据。

  3. 使用 Tika,人们可以开发一个通用类型检测器和内容提取器,以从不同类型的文档(如电子表格、文本文档、图像、PDF 甚至多媒体输入格式)中提取结构化文本和元数据。

  4. Tika 为解析不同的文件格式提供了一个通用的 API。它为每种文档类型使用现有的专门解析器库。

  5. 所有这些解析器库都封装在名为 Parser interface 的单个界面下。

appache tika

Why Tika?

根据 filext.com,大约有 15k 到 51k 的内容类型,并且这个数字每天都在增长。数据存储在各种格式中,例如文本文档、Excel 电子表格、PDF、图像和多媒体文件,仅举几例。因此,诸如搜索引擎和内容管理系统之类的应用程序需要额外的支持,以便轻松地从这些文档类型中提取数据。Apache Tika 通过提供一个通用 API 来查找和提取来自多个文件格式的数据,来实现此目的。

Apache Tika Applications

有各种应用程序使用 Apache Tika。这里我们将讨论几个主要依赖 Apache Tika 的知名应用程序。

Search Engines

在开发搜索引擎时,Tika 被广泛用于对数字文档的文本内容进行索引。

  1. 搜索引擎是信息处理系统,旨在搜索信息和从 Web 中索引文档。

  2. 爬虫是搜索引擎的一个重要组成部分,它通过 Web 爬行来获取要使用某种索引技术进行索引的文档。此后,爬虫将这些索引文档传输到提取组件。

  3. 提取组件的职责是从文档中提取文本和元数据。此类提取的内容和元数据对于搜索引擎非常有用。此提取组件包含 Tika。

  4. 提取的内容随后被传递给搜索引擎的索引器,该索引器使用它来构建搜索索引。除此之外,搜索引擎也以许多其他方式使用提取的内容。

search engine

Document Analysis

  1. 在人工智能领域,有一些工具可以在语义层面自动分析文档并从中提取各种数据。

  2. 在这些应用中,文档是根据文档中提取内容的突出术语进行分类的。

  3. 这些工具利用 Tika 进行内容提取,以分析从纯文本到数字文档的各种文档。

Digital Asset Management

  1. 一些组织使用称为数字资产管理 (DAM) 的特殊应用程序来管理其数字资产,如照片、电子书、图纸、音乐和视频。

  2. 这些应用程序借助文档类型检测器和元数据提取器来对不同文档进行分类。

Content Analysis

  1. 像亚马逊这样的网站会根据个人用户的兴趣向他们推荐其网站上新发布的内容。为此,这些网站采用 machine learning techniques ,或者借助 Facebook 等社交媒体网站来提取必要的信息,例如用户的喜好和兴趣。收集到的信息将采用 html 标签或其他需要进一步内容类型检测和提取的格式。

  2. 对于文档的内容分析,我们有利用机器学习技术的技术,例如 UIMAMahout 。这些技术对于对文档中的数据进行聚类和分析非常有用。

  3. Apache Mahout 是在 Apache Hadoop(一种云计算平台)上提供机器学习算法的框架。Mahout 通过遵循某些聚类和过滤技术提供一种架构。遵循此架构,程序员可以编写自己的机器学习算法,通过采用各种文本和元数据组合来生成推荐。为了为这些算法提供输入,Mahout 的最新版本使用 Tika 从二进制内容中提取文本和元数据。

  4. Apache UIMA 分析和处理各种编程语言,并生成 UIMA 注释。它在内部使用 Tika 注释器来提取文档文本和元数据。

History

Year

Development

2006

Tika 的想法是在 Apache 二级委员会委员会之前提出的。

2006

讨论了 Tika 的概念及其在 Jackrabbit 项目中的用处。

2007

Tika 进入 Apache 孵化器。

2008

版本 0.1 和 0.2 发布,并且 Tika 从孵化器毕业到 Lucene 子项目。

2009

版本 0.3、0.4 和 0.5 发布。

2010

版本 0.6 和 0.7 发布,并且 Tika 毕业成为顶级 Apache 项目。

2011

Tika 1.0 发布,同一年也发布了 Tika 的书“Tika in Action”。