TIKA - 概述
什么是 Apache Tika?
Apache Tika 是一个用于文档类型检测和从各种文件格式中提取内容的库。
在内部,Tika 使用现有的各种文档解析器和文档类型检测技术来检测和提取数据。
使用 Tika,可以开发通用类型检测器和内容提取器,从不同类型的文档(如电子表格、文本文档、图像、PDF 甚至多媒体输入格式)中提取结构化文本和元数据。
Tika 提供了一个通用 API 来解析不同的文件格式。它使用针对每种文档类型的现有专用解析器库。
所有这些解析器库都封装在一个名为 解析器接口 的接口下。

为什么是 Tika?
根据 filext.com 的数据,内容类型大约有 15k 到 51k 种,而且这个数字还在日益增长。数据以各种格式存储,例如文本文档、excel 电子表格、PDF、图像和多媒体文件等。因此,搜索引擎和内容管理系统等应用程序需要额外的支持,以便轻松从这些文档类型中提取数据。 Apache Tika 通过提供通用 API 来定位和提取多种文件格式中的数据,从而实现此目的。
Apache Tika 应用程序
有各种应用程序使用 Apache Tika。这里我们将讨论一些严重依赖 Apache Tika 的著名应用程序。
搜索引擎
Tika 在开发搜索引擎以索引数字文档的文本内容时被广泛使用。
搜索引擎是旨在从 Web 上搜索信息和索引文档的信息处理系统。
爬虫是搜索引擎的重要组成部分,它通过 Web 进行爬取,使用某种索引技术获取要索引的文档。此后,爬虫将这些索引文档传输到提取组件。
提取组件的职责是从文档中提取文本和元数据。这种提取的内容和元数据对搜索引擎非常有用。此提取组件包含 Tika。
提取的内容随后被传递给搜索引擎的索引器,索引器使用它来构建搜索索引。除此之外,搜索引擎还以许多其他方式使用提取的内容。

文档分析
在人工智能领域,有一些工具可以在语义级别自动分析文档并从中提取各种数据。
在此类应用中,根据文档提取内容中的突出术语对文档进行分类。
这些工具利用 Tika 进行内容提取,以分析从纯文本到数字文档的各种文档。
数字资产管理
一些组织使用一种称为数字资产管理 (DAM) 的特殊应用程序来管理其数字资产,如照片、电子书、绘图、音乐和视频。
此类应用程序借助文档类型检测器和元数据提取器对各种文档进行分类。
内容分析
像亚马逊这样的网站会根据个人用户的兴趣向他们推荐其网站新发布的内容。为此,这些网站遵循机器学习技术,或借助 Facebook 等社交媒体网站来提取所需信息,例如用户的喜好和兴趣。所收集的信息将以 html 标签或其他格式呈现,需要进一步检测和提取内容类型。
对于文档的内容分析,我们拥有实施机器学习技术的技术,例如 UIMA 和 Mahout。这些技术可用于聚类和分析文档中的数据。
Apache Mahout 是一个框架,它在云计算平台 Apache Hadoop 上提供 ML 算法。Mahout 通过遵循某些聚类和过滤技术来提供架构。通过遵循此架构,程序员可以编写自己的 ML 算法,通过采用各种文本和元数据组合来生成建议。为了为这些算法提供输入,Mahout 的最新版本使用 Tika 从二进制内容中提取文本和元数据。
Apache UIMA 分析和处理各种编程语言并生成 UIMA 注释。它在内部使用 Tika Annotator 来提取文档文本和元数据。
历史
年份 | 开发 |
---|---|
2006 | Tika 的想法是在 Lucene 项目管理委员会面前提出的。 |
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》也于同年出版。 |