menusearch
javapro.ir

Tika چیست و چه کاربردی در جاوا دارد؟

جستجو
دوشنبه ۶ بهمن ۱۳۹۹ | ۱:۵۲:۴۵
۱۳۹۹/۱۰/۲۵ پنج شنبه
(3)
(0)
Tika چیست و چه کاربردی در جاوا دارد؟
Tika چیست و چه کاربردی در جاوا دارد؟

کتابخانه Tika در جاوا

 

مجموعه ابزار Tika فراداده ‏ها و متن ‏ها را در هزاران فایل مختلف مانند PPT، XLS و PDF تشخیص می دهد و استخراج می کند که بر اساس زبان جاوا است. همه این انواع فایل ها از طریق یک رابط تجزیه می شوند و باعث می شوند تیکا برای نمایه سازی موتور جستجو، تجزیه و تحلیل محتوا، ترجمه و موارد دیگر مفید باشد.

 

 

 

 

 

کاربردهای متنوع Tika در جاوا چیست؟

 

 

 

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

 

 


کاربردهای متنوع Tika
مجموعه ابزار Tika فراداده ‏ها و متن ‏ها را در هزاران فایل مختلف مانند PPT، XLS و PDF تشخیص می دهد و استخراج می کند که بر اساس زبان جاوا است. همه این انواع فایل ها از طریق یک رابط تجزیه می شوند و باعث می شوند تیکا برای نمایه سازی موتور جستجو، تجزیه و تحلیل محتوا، ترجمه و موارد دیگر مفید باشد. Tika یک چارچوب شناسایی و تجزیه و تحلیل محتوا است که به زبان جاوا نوشته شده است و بر مبنای نرم افزار Apache نگهداری می شود. این ابزار یک کتابخانه جاوا را فراهم می کند؛ اما دارای ابزارهای سرور و خط فرمان است که باعث می‏شود برای به کارگیری در سایر زبان های برنامه نویسی مناسب باشد. تیکا از تجزیه کننده های سندهای مختلف و تکنیک های تشخیص انوع سند برای شناسایی و استخراج داده ها استفاده می کند. با استفاده از این ابزار، می توانید محتوا را شناسایی و استخراج کنید؛ یعنی متن ساختار یافته و همچنین فراداده خاصی را از انواع مختلف اسناد از جمله صفحه گسترده، اسناد متنی، تصاویر، PDF و حتی برخی از قالب های ورودی چندرسانه ای استخراج کنید.
 

 

 

کتابخانه tika در جاوا چیست؟


 

 

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

 

 

 

 در ادامه به برخی از ویژگی هایی از Tika اشاره کرده ‏ایم:

 

•    رابط تجزیه کننده یکپارچه - تیکا از کتابخانه های تجزیه کننده مختلف به عنوان رابط تجزیه کننده استفاده می کند. با استفاده از این ویژگی، کاربر دیگر نیازی به انتخاب کتابخانه تجزیه کننده صحیح با توجه به نوع فایل ندارد.


•    مصرف کم حافظه - Tika منابع حافظه کمتری را اشغال می کند و بنابراین به راحتی در برنامه های جاوا قابل جاسازی است.


•    پردازش سریع - تیکا با زبان جاوا با شناسایی سریع محتوا و استخراج آن از برنامه ها شناخته شده است.


•    ابرداده انعطاف پذیر - تیکا می تواند همه مدل های فراداده را که برای توصیف فایل‏ها استفاده می شوند، شناسایی کند.


•    تجزیه - تیکا می تواند برای هر نوع سند از کتابخانه های مختلف تجزیه کننده موجود، در یک برنامه واحد استفاده کند.


•    تشخیص نوع داده با - MIME  تیکا می تواند محتوا را از انواع رسانه‏های موجود در استانداردهای MIME شناسایی و استخراج کند


•    تشخیص زبان - تیکا شامل یک ویژگی شناسایی زبان است و می تواند در اسناد مبتنی بر نوع زبان، مورد استفاده قرار گیرد.

 

 

 

کاربرد کتابخانه Tika در جاوا چیست؟

 

 

 

 

Tikaمی تواند تعداد زیادی از انواع پرونده ها مانند: XML، HTML، پرونده های Microsoft Office، قالب OpenDocument، PDF، کتاب های دیجیتال جاوا، متن غنی و حتی پرونده های زبان جاوا و پرونده های jar  را پردازش کند.

 

 

 

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

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

 

 

آشنایی با فریمورک های مختلف جاوا

 

 

 

 

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

 

 


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

 

 


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


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

 

کتابخانه Tika در جاوا کاربردش چیست؟


 

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

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

 در 184 زبان استاندارد شده با ISO 639–1، Tika قادر است 18 زبان را تشخیص دهد و با استفاده از روش getLanguage از کلاس LanguageIdentifier انجام می شود. این روش نام کد زبان را به صورت String برمی گرداند. در زیر لیست 18 جفت کد زبان وجود دارد که توسط Tika شناسایی شده است:

 da - دانمارکی

 de - آلمانی

et - استونی - یونانی

en - انگلیسی

es - اسپانیایی

fi - فنلاندی

fr - فرانسوی

 hu - مجارستانی

 is - ایسلندی

it - ایتالیایی

nl - هلندی

 no - نروژی

pl - لهستانی

pt - پرتغالی

ru - روسی

sv - سوئدی

th - تایلندی

 

 

 

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

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

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

• بعد، پس از مشخص شدن نوع سند، Tika تجزیه کننده مناسبی را از میان مخزن تجزیه کنندگان مختلف انتخاب می کند. مخزن تجزیه کننده کلاسهایی را در اختیار دارد که از سایر کتابخانه های خارجی استفاده می کنند.
 

 

 

 Apache Tika در جاوا چیست؟

 


 

 سپس، سند به تجزیه کننده منتقل می شود و محتوا را تجزیه می کند، متن و داده ها را استخراج می کند و ممکن است استثناهایی را برای قالب های غیرقابل خواندن ارائه دهد.


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


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


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

 

 

 

بررسی انواع فریمورک ها و کتابخانه های زبان برنامه نویسی جاوا

 

 

 

Tika همچنین با رابط کاربری گرافیکی (GUI) همراه است که کاربر می تواند از آن استفاده کند. بعد از نصب Tika می توانید آن را در پوشه "gui" پیدا کنید.


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

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