天天看點

apache tika技術了解

tika産生背景

随着網際網路技術的興起,大資料的到來,使得各種語言各種資訊的擷取變得非常簡單。從這個角度來說,資訊的自動處理、檢索,對于跨文化、跨語言的各種内容的了解來說,變得異常重要。而apache的tika,無疑是這種環境下的一種産物,它是一個重要的内容識别和了解的工具。

tika是什麼

根據tika的官方解釋,它是這樣的一個工具集:使用已有的各種解析庫(parser libraries),從各種類型的文檔中,探測、抽取其中的頭資料(metadata)和結構化文本内容。

 tika的功能

1,文檔類型識别。主要是各種檔案的mime類型确定和識别等。tika會根據已知的mime庫以及一系列的scheme(mime MAGIC,URL模式比對,xml的根字元,或者檔案擴充名),來确定某個檔案,連結位址,或者文本的片段是否比對到已知的一種檔案類型。如果内容比對,tika探測到了它的mime類型,然後繼續送出給相關的解析器去作進一步的處理。

2,内容抽取。當tika識别出檔案的類型後,就可以找出合适的解析器去作進一步的處理,借助于不同的解析工具集,就可以讀取到該類型文檔裡的各個元素的内容。這個功能的一個很重要使用場景是,從各種電子文檔中抽取出其中的文本内容,然後去建立一個全文本的搜尋索引,這個就需要跟各種不同的解析工具集打交道了,但是殊途同歸,目的隻有一個,将該文檔中的文本資訊抽取出來。下列示意圖可以做一個簡單的處理過程的說明:

apache tika技術了解

3,metadata擷取。借助tika,你可以友善的抽取出任意檔案的metadata。

4,語言識别。要做一個基本的搜尋引擎,對于文檔的語言識别功能必不可少。而語言識别有其自己的識别算法,一般采用N-gram算法。下圖中就是針對“人人生而自由,在尊嚴和權力上一律平等”的阿拉伯語、中文、英文、法語及俄語的不同語種闡述:

apache tika技術了解

通過tika,你可以很友善的做到語言識别這一點。以下例子是應用tika來識别不同語言版本的pdf文檔效果:

apache tika技術了解

2

上一篇: TIKA架構
下一篇: RFC2048中文