Apache Tika একটি শক্তিশালী টুল যা বিভিন্ন ফাইল ফরম্যাট থেকে Data Extraction করতে পারে। এটি সহজেই নন-স্ট্রাকচার্ড ডেটা যেমন PDF, Word, Excel, Text, ইমেজ এবং স্ক্যান করা ডকুমেন্ট থেকে টেক্সট এবং মেটাডেটা এক্সট্রাক্ট করতে পারে। এর মাধ্যমে প্রাপ্ত ডেটা Machine Learning মডেল এ ইনপুট হিসেবে ব্যবহার করা যেতে পারে।
Apache Tika দিয়ে Data Extraction
Apache Tika সাধারণত নন-স্ট্রাকচার্ড ডেটা থেকে টেক্সট সংগ্রহ করে, যা পরবর্তী পর্যায়ে স্ট্রাকচার্ড ফরম্যাটে সংরক্ষণ করা হয়।
কীভাবে Apache Tika কাজ করে?
১. ফাইলের ধরন সনাক্তকরণ (MIME Type Detection)
২. টেক্সট এবং মেটাডেটা এক্সট্রাকশন
৩. OCR Integration (ইমেজ ও স্ক্যান করা ফাইলের জন্য)
Data Extraction উদাহরণ (Java কোড)
import org.apache.tika.Tika;
import java.io.File;
public class DataExtractionExample {
public static void main(String[] args) throws Exception {
Tika tika = new Tika();
// ফাইল থেকে টেক্সট এক্সট্রাক্ট করা
File file = new File("sample.pdf");
String content = tika.parseToString(file);
System.out.println("Extracted Text: " + content);
}
}
Output:
Extracted Text: This is the text extracted from the PDF file.
Machine Learning মডেলে Apache Tika ডেটা ইনপুট
Apache Tika দিয়ে এক্সট্রাক্ট করা ডেটা Machine Learning মডেল এর জন্য প্রিপ্রসেস এবং ফিড করা হয়।
ধাপসমূহ
১. Data Preprocessing
- Text Cleaning: পাংচুয়েশন (Punctuation), স্টপওয়ার্ড (Stopwords) এবং বিশেষ চিহ্ন সরিয়ে ফেলা।
- Tokenization: টেক্সটকে ছোট ছোট শব্দ বা টোকেনে বিভক্ত করা।
- Normalization: ছোট হাতের অক্ষরে রূপান্তর এবং ফরম্যাটিং।
২. Feature Extraction
- TF-IDF (Term Frequency-Inverse Document Frequency)
- Bag of Words (BoW)
- Word Embedding: Word2Vec, GloVe, বা BERT এর মতো টেকনিক ব্যবহার।
৩. Data Feeding to Machine Learning Model
Extracted এবং প্রিপ্রসেস করা ডেটা মডেলে ইনপুট হিসেবে ব্যবহার করা হয়।
উদাহরণ: Apache Tika দিয়ে ডেটা প্রসেসিং এবং Machine Learning মডেল ইনপুট
Python এ উদাহরণ দিয়ে দেখা যাক।
Step 1: Extract Data using Apache Tika
from tika import parser
# ফাইল থেকে টেক্সট এক্সট্রাক্ট করা
raw = parser.from_file("sample.pdf")
content = raw['content']
print("Extracted Text:", content)
Step 2: Text Preprocessing
import re
from sklearn.feature_extraction.text import TfidfVectorizer
# Text Cleaning
cleaned_text = re.sub(r'\W+', ' ', content.lower())
# TF-IDF Feature Extraction
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform([cleaned_text])
print("TF-IDF Features:", X.toarray())
Step 3: Feed into Machine Learning Model
from sklearn.naive_bayes import MultinomialNB
# Sample Labels (0 - Negative, 1 - Positive)
y = [1]
# Model Training
model = MultinomialNB()
model.fit(X, y)
# Prediction
predicted = model.predict(X)
print("Prediction:", predicted)
সারাংশ
Apache Tika ব্যবহার করে নন-স্ট্রাকচার্ড ফাইল থেকে সহজেই ডেটা এক্সট্রাক্ট করা যায়। প্রাপ্ত ডেটা Text Preprocessing এবং Feature Extraction এর মাধ্যমে Machine Learning মডেল এ ইনপুট হিসেবে ব্যবহার করা সম্ভব। এই প্রসেসটি বিভিন্ন অ্যাপ্লিকেশন যেমন Sentiment Analysis, Document Classification, Information Retrieval এ অত্যন্ত কার্যকর।