TIKA - 概览



什么是 Apache Tika?

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

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

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

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

  • 所有这些解析器库都封装在一个名为 **Parser 接口** 的单一接口下。

Appache Tika

为什么选择 Tika?

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

Apache Tika 应用

有各种应用程序使用 Apache Tika。在这里,我们将讨论一些严重依赖 Apache Tika 的突出应用程序。

搜索引擎

在开发搜索引擎以索引数字文档的文本内容时,广泛使用 Tika。

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

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

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

  • 然后将提取的内容传递给搜索引擎的索引器,后者使用它来构建搜索索引。除此之外,搜索引擎还以多种其他方式使用提取的内容。

Search Engine

文档分析

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

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

  • 这些工具利用 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”。
广告