Site icon آکادمی آمانج

Tika toolkit در زبان برنامه نویسی جاوا

Tika toolkit در زبان برنامه نویسی جاوا

در این مقاله از مجموعه آموزش های جاوا اندروید وبسایت آکادمی آمانج قصد داریم در مورد مجموعه ابزار Tika با شما صحبت کنیم.
امروزه با افزایش خیره کننده دیتا بسیاری از اشخاص به دنبال روش هایی برای درک و استفاده از دیتاهایی که در زندگی روزمره آن ها را به دست می‌آورند هستند. طبیعی است که جمع آوری این حجم اطلاعات یک بحث و پردازش آن یک بحث چالش برانگیز دیگری است.
Tika ابزاری است که می‌تواند مگادیتا ها و متن ها را در فرمت های مختلف تشخیص داده و آن ها برای شما استخراج کند. Tika toolkit که بر اساس زبان برنامه نویسی جاوا نوشته شده است امکان جمع آوری و پردازش اطلاعات را برای شما فراهم کرده و به صورت کلی برای نمایه سازی موتورهای جستجو، آنالیز محتوا و … استفاده می شود.

 

ویژگی های Tika

Tika به صورت کلی منابع حافظه کمی را اشغال می کند و بنابراین به راحتی در برنامه های جاوا قابل جاسازی است.
Tika از کتابخانه های مختلف به عنوان رابط تجزیه کننده استفاده می کند. با استفاده از این ویژگی، کاربر دیگر نیازی به انتخاب کتابخانه تجزیه کننده صحیح با توجه به نوع فایل ندارد و این موضوع راحتی کار با این کیت را به شکل قابل توجهی افزایش می دهد.
Tika می تواند برای هر نوع سند از کتابخانه های مختلف تجزیه کننده موجود، در یک برنامه واحد استفاده کند.
Tika می تواند تمام مدل های فراداده را که برای توصیف فایل‏ها استفاده می شوند، شناسایی و استخراج کند.
Tika شامل یک ویژگی شناسایی زبان است و می تواند در اسناد مبتنی بر نوع زبان، مورد استفاده قرار گیرد.

 

نحوه تشخیص زبان در Tika

از آنجایی که تیکا بر مبنای زبان برنامه نویسی جاوا نوشته شده است می تواند خود را حتی بدون کمک از اطلاعات فراداده، شناسایی کند. در نسخه های قدیمی Tika، زبان سند با استفاده از یک نمونه LanguageIdentifier کشف میشد اما در حال حاضر LanguageIdentifier به نفع سرویس های وب منسوخ شده است.
اکنون برای شناسایی زبان می‏توانید از زیرگروه های سطح انتزاعی LanguageDetector (ردیاب زبان) استفاده کنید.
همچنین می توانید از خدمات وب مانند Google Translate یا Microsoft Translator برای دریافت بیشتر خدمات ترجمه استفاده کنید.
تیکا همچنین قادر است 18 زبان مختلف را تشخیص داده و با استفاده از روش getLanguage از کلاس LanguageIdentifier استفاده کند. این روش، نام کد زبان را به صورت String برمی گرداند. در زیر لیست 18 جفت کد زبان وجود دارد که توسط Tika شناسایی شده است را میبینید:

da – دانمارکی
de – آلمانی
et – استونی – یونانی
en – انگلیسی
es – اسپانیایی
fi – فنلاندی
fr – فرانسوی
hu – مجارستانی
is – ایسلندی
it – ایتالیایی
nl – هلندی
no – نروژی
pl – لهستانی
pt – پرتغالی
ru – روسی
sv – سوئدی
th- تایلندی


مطالعه مقاله «۱۵ کتابخانه برتر اندروید» به شما توصیه می‌شود.


 

کاربرد Tika در جاوا

Tika toollit کاربردهای بسیار متنوعی دارد اما یکی از مهم ترین کاربردهای آن در موتورهای جستجو است. در اصل با استفاده از تیکا، موتورهای جستجو می توانند ابرداده ها را در سایت ها پیدا کرده و آن ها را استخراج کنند.
تیکا توسط بسیاری از سازمان های تحقیقاتی مثل ناسا و دانشگاه های مطرح جهان مورد استفاده قرار میگیرد. از این ابزار برای مدیریت محتوا، به منظور تجزیه و تحلیل مقادیر و دیتاهای مختلف مورد استفاده قرار می گیرد.
از طرفی تیکا می تواند با استفاده از مکانیزم تشخیص MIME، نوع داده ای که سند در آن است را تشخیص داده و رابط تجزیه متن و فراداده را استخراج کند و سپس آن را برای کاربر با توجه به پلاگین های تجزیه کننده خاصی که کاربر مشخص می کند، خلاصه کند.

 

Tika از همه انواع اسناد ارائه شده در MIME پشتیبانی می کند. هر وقت پرونده ای از طریق Tika عبور می کند، نوع سند و همچنین زبان آن را بر اساس خود سند تشخیص داده می‏شود. لازم به ذکر است که استانداردهای چند منظوره MIME بهترین استانداردهای موجود برای شناسایی انواع اسناد هستند. اطلاعات این استانداردها در تعاملات داخلی به مرورگر کمک می کند.
در اصل هر زمان که مرورگر با یک فایل رسانه‎‏ای روبرو می شود، این قابلیت کمک می‏کند تا یک نرم افزار سازگار و متناسب برای نمایش محتوای آن انتخاب شود. درصورتی که هیچ برنامه مناسبی برای اجرای یک سند رسانه‏ای خاص وجود نداشته باشد، به کاربر توصیه می‏شود نرم افزار و یا پلاگین مناسب را بر روی سیستم خود نصب کند.

Tika همچنین می تواند تشخیص را به ردیاب مناسب تری واگذار کند، زیرا الگوریتم مورد استفاده توسط ردیاب، وابسته به اجرا است. به عنوان مثال، ردیاب پیش فرض ابتدا بایت های جادویی را بررسی می کند، سپس اطلاعات مربوط به فراداده ها را جستجو می کند و اگر نوع محتوا هنوز مشخص نشده باشد، از لودکننده سرویس برای آزمایش تمام ردیاب های موجود استفاده می کند.

Tikaمی تواند تعداد قابل توجهی از انواع پرونده ها در فرمت های مختلف: xml، html، pdf، پرونده های جاوا، فایل های jar و…. را پیدا کرده آن را پردازش کرده و در اختیار شما قرار دهد.

 

استخراج محتوا در Tika

تیکا برای استخراج محتوا از انواع مختلفی از کتابخانه های تجزیه کننده استفاده می کند و پس از تصمیم گیری درباره نوع سند تجزیه کننده مناسب را انتخاب می کند. هنگام تجزیه اسناد، به طور کلی از روش parse To String استفاده می شود. در زیر شرح مختصر و خلاصه ای از روند تجزیه آورده شده است:

در ابتدا وقتی سندی را به Tika منتقل می کنیم، از مکانیزم تشخیص مناسب، درست مانند آنچه قبلاً توضیح داده شد، استفاده می کند و نوع سند را تشخیص می دهد. سپس با مشخص شدن نوع سند، Tika تجزیه کننده مناسبی را از میان مخزن تجزیه کنندگان مختلف انتخاب می کند. مخزن تجزیه کننده کلاسهایی را در اختیار دارد که از سایر کتابخانه های خارجی استفاده می کنند.

علاوه بر محتوا، تیکا توانایی استخراج فراداده را از یک فایل دارد فراداده چیزی نیست جز اطلاعات اضافی مربوط به پرونده ای که همراه فایل است. به عنوان مثال، یک آهنگ یا یک فایل صوتی دانلود می‏کنید. متادیتای آن شامل مواردی مانند نام هنرمند، نام آلبوم و عنوان است و تیکا می تواند این نوع اطلاعات را از اسناد استخراج کند.

Extensible Metadata Platform (XMP) استانداردی برای پردازش و ذخیره اطلاعات مربوط به محتوای یک پرونده است. XMP از انواع مختلف استاندارد برای تعریف، ایجاد و پردازش فراداده برای انواع مختلف اسناد تشکیل شده است. هنگام استفاده از Tika، می توانید از روشی مانند (metadata.name) برای دریافت نام ها از فایل استفاده کنید. با این حال، برای فراخوانی نام، به یک فایل متاداده نیاز دارید. این فایل را از طریق روش تجزیه ای که در بالا توضیح داده شد، دریافت می کنید. یکی از پارامترهای یک ابرداده این است که پس از تکمیل روش تجزیه، فراداده را در خود نگه می دارد.

 

 

چگونه می توانیم از رابط کاربری گرافیکی Tika استفاده کنیم؟

Tika با رابط کاربری گرافیکی (GUI) همراه است که کاربر می تواند از آن استفاده کند. بعد از نصب Tika می توانید آن را در پوشه “gui” پیدا کنید.
در GUI، روی open کلیک کنید، مرور کنید و فایلی را که قرار است استخراج شود، انتخاب کنید (آن را به فضای خالی پنجره بکشید). در نهایت Tika محتوای پرونده ها را استخراج کرده و در پنج قالب مختلف نمایش می دهد: فراداده تصویری، متن قالب بندی شده، متن ساده، محتوای اصلی و متن ساختار یافته. می توانید هر قالب را که می خواهید انتخاب کنید.

 

تجزیه API در Tika

تجزیه کننده API یکی از مهم ترین قسمت های برنامه است. این بخش تیکا ماهیت پیچیده عملیات را با تجزیه خلاصه می کند و کار را برای کاربر بسیار راحت تر می کند. تیکا برای این کار فقط به یک روش متکی است که تجزیه کننده نام دارد و از بخش های زیر تشکیل شده است:
• جریان ورودی (InputStream)-داده ورودی ایجاد شده را از سند، تجزیه می کند.
• هندلر محتوا (ContentHandler) – که توالی وقایع XHTML SAX را از سند ورودی تجزیه شده دریافت می کند (این کنترل کننده، رویدادها را پردازش می کند و نتیجه را نشان می دهد)
• فراداده (metadata)- فراداده ای است که خصوصیات فراداده را در تجزیه کننده و خارج از آن تجزیه می کند.
• نمونه متن تجزیه کننده (ParseContext)- که اطلاعات خاص متن را انتقال می دهد (می تواند برای سفارشی سازی فرآیند تجزیه استفاده شود).

اگر جریان ورودی خوانده نشود، تجزیه کننده یک IOException ایجاد می شود، اگر جریان ورودی قابل تجزیه نیست TikaException ایجاد می‏شوند و اگر کنترل کننده نمی تواند پردازش کند SAXException، یک رویداد را پردازش می کند. هنگام تجزیه، تیکا سعی در استفاده مجدد از کتابخانه های تجزیه کننده موجود دارد و در نتیجه، بیشتر کلاس های اجرا کننده فقط سازگار با چنین کتابخانه هایی هستند.

مشاهده نسخه گرافیکی و کامل