TIKA-アーキテクチャ
Tikaのアプリケーションレベルのアーキテクチャ
アプリケーションプログラマーは、Tikaをアプリケーションに簡単に統合できます。Tikaは、ユーザーフレンドリーにするためのコマンドラインインターフェイスとGUIを提供します。
この章では、Tikaアーキテクチャを構成する4つの重要なモジュールについて説明します。次の図は、Tikaのアーキテクチャとその4つのモジュールを示しています-
- 言語検出メカニズム。
- MIME検出メカニズム。
- パーサーインターフェイス。
- ティカファサードクラス。
言語検出メカニズム
テキストドキュメントがTikaに渡されるときはいつでも、それが書かれた言語を検出します。言語注釈のないドキュメントを受け入れ、言語を検出することでその情報をドキュメントのメタデータに追加します。
言語識別をサポートするために、Tikaには次のクラスがあります。 Language Identifier パッケージに org.apache.tika.language、および特定のテキストからの言語検出のアルゴリズムを含む言語識別リポジトリ。Tikaは、言語検出にN-gramアルゴリズムを内部的に使用しています。
MIME検出メカニズム
Tikaは、MIME標準に従ってドキュメントタイプを検出できます。TikaでのデフォルトのMIMEタイプの検出は、org.apache.tika.mime.mimeTypesを使用して行われます。ほとんどのコンテンツタイプの検出にorg.apache.tika.detect.Detectorインターフェースを使用します。
内部的には、Tikaはファイルグロブ、コンテンツタイプのヒント、マジックバイト、文字エンコード、その他のいくつかの手法を使用しています。
パーサーインターフェース
org.apache.tika.parserのパーサーインターフェースは、Tikaでドキュメントを解析するための主要なインターフェースです。このインターフェイスは、ドキュメントからテキストとメタデータを抽出し、パーサープラグインを作成する意思のある外部ユーザー向けに要約します。
Tikaは、個々のドキュメントタイプに固有のさまざまな具象パーサークラスを使用して、多くのドキュメント形式をサポートしています。これらのフォーマット固有のクラスは、パーサーロジックを直接実装するか、外部パーサーライブラリを使用することにより、さまざまなドキュメントフォーマットのサポートを提供します。
ティカファサードクラス
Tikaファサードクラスの使用は、JavaからTikaを呼び出す最も簡単で直接的な方法であり、ファサードデザインパターンに従います。Tikaファサードクラスは、TikaAPIのorg.apache.tikaパッケージにあります。
基本的なユースケースを実装することにより、Tikaはランドスケープのブローカーとして機能します。MIME検出メカニズム、パーサーインターフェイス、言語検出メカニズムなど、Tikaライブラリの根本的な複雑さを抽象化し、ユーザーが使用できるシンプルなインターフェイスを提供します。
ティカの特徴
Unified parser Interface− Tikaは、すべてのサードパーティパーサーライブラリを単一のパーサーインターフェイス内にカプセル化します。この機能により、ユーザーは適切なパーサーライブラリを選択する負担から解放され、検出されたファイルタイプに応じてそれを使用できます。
Low memory usage− Tikaはメモリリソースの消費が少ないため、Javaアプリケーションに簡単に埋め込むことができます。モバイルPDAのようなリソースの少ないプラットフォームで実行されるアプリケーション内でTikaを使用することもできます。
Fast processing −アプリケーションからの迅速なコンテンツ検出と抽出が期待できます。
Flexible metadata − Tikaは、ファイルの記述に使用されるすべてのメタデータモデルを理解しています。
Parser integration − Tikaは、単一のアプリケーションで各ドキュメントタイプに使用できるさまざまなパーサーライブラリを使用できます。
MIME type detection − Tikaは、MIME標準に含まれるすべてのメディアタイプからコンテンツを検出して抽出できます。
Language detection − Tikaには言語識別機能が含まれているため、多言語Webサイトの言語タイプに基づいたドキュメントで使用できます。
ティカの機能
Tikaはさまざまな機能をサポートしています-
- ドキュメントタイプの検出
- コンテンツの抽出
- メタデータ抽出
- 言語検出
ドキュメントタイプの検出
Tikaはさまざまな検出技術を使用して、与えられたドキュメントのタイプを検出します。
コンテンツの抽出
Tikaには、さまざまなドキュメント形式のコンテンツを解析して抽出できるパーサーライブラリがあります。ドキュメントのタイプを検出した後、パーサーリポジトリから適切なパーサーを選択し、ドキュメントを渡します。Tikaのさまざまなクラスには、さまざまなドキュメント形式を解析するメソッドがあります。
メタデータ抽出
Tikaは、コンテンツとともに、コンテンツ抽出と同じ手順でドキュメントのメタデータを抽出します。一部のドキュメントタイプでは、Tikaにメタデータを抽出するクラスがあります。
言語検出
内部的には、Tikaは次のようなアルゴリズムに従います n-gram特定のドキュメントのコンテンツの言語を検出します。ティカは次のようなクラスに依存していますLanguageidentifier そして Profiler 言語識別用。