مجموعه ابزار Tika فراداده ها و متن ها را در هزاران فایل مختلف مانند PPT، XLS و PDF تشخیص میدهد و استخراج میکند که بر اساس زبان جاوا است. همه این انواع فایل ها از طریق یک رابط تجزیه میشوند و باعث میشوند تیکا برای نمایه سازی موتور جستجو، تجزیه و تحلیل محتوا، ترجمه و موارد دیگر مفید باشد.
Tika چیست و چه کاربردی دارد؟
امروزه، با رشد تصاعدی و دیوانه وار اطلاعات، بسیاری از افراد در حال توسعه روش هایی برای به کارگرفتن و درک داده هایی هستند که در زندگی روزمره خود پیدا میکنند. نیاز به پردازش حجم بالای متن در حال افزایش است و بخش بزرگی از علم داده در جستجوی ابزاری برای پردازش متن است. در این مقاله به نحوه استفاده ابزار Tika برای این منظور خواهیم پرداخت.
کاربردهای متنوع Tika
مجموعه ابزار Tika فراداده ها و متن ها را در هزاران فایل مختلف مانند PPT، XLS و PDF تشخیص میدهد و استخراج میکند که بر اساس زبان جاوا است. همه این انواع فایل ها از طریق یک رابط تجزیه میشوند و باعث میشوند تیکا برای نمایه سازی موتور جستجو، تجزیه و تحلیل محتوا، ترجمه و موارد دیگر مفید باشد. Tika یک چارچوب شناسایی و تجزیه و تحلیل محتوا است که به زبان جاوا نوشته شده است و بر مبنای نرم افزار Apache نگهداری میشود. این ابزار یک کتابخانه جاوا را فراهم میکند؛ اما دارای ابزارهای سرور و خط فرمان است که باعث میشود برای به کارگیری در سایر زبان های برنامه نویسی مناسب باشد. تیکا از تجزیه کننده های سندهای مختلف و تکنیک های تشخیص انوع سند برای شناسایی و استخراج داده ها استفاده میکند. با استفاده از این ابزار، میتوانید محتوا را شناسایی و استخراج کنید؛ یعنی متن ساختار یافته و همچنین فراداده خاصی را از انواع مختلف اسناد از جمله صفحه گسترده، اسناد متنی، تصاویر، PDF و حتی برخی از قالب های ورودی چندرسانه ای استخراج کنید.
Tika کاربردهای مختلفی دارد. اولین کاربرد این ابزار در موتورهای جستجو است. با استفاده از تیکا، موتورهای جستجو میتوانند داده ها و فراداده ها را در سایت های موجود پیدا کرده و استخراج کنند. همچنین این ابزار میتواند برای تجزیه و تحلیل سند، مورد استفاده قرار گیرد زیرا میتواند اسناد را بر اساس برجسته ترین اصطلاحات سند طبقه بندی کند.
تیکا معمولاً توسط بسیاری از سازمان ها از جمله مؤسسات مالی مانند گلدمن ساکس، ناسا و محققان دانشگاهی و سیستم های اصلی مدیریت محتوا، به منظور تجزیه و تحلیل مقادیر گسترده محتوا مورد استفاده قرار میگیرد.
همچنین تیکا میتواند با استفاده از مکانیزم تشخیص MIME، نوع داده ای که سند در آن است را تشخیص دهد، رابط تجزیه متن و فراداده را استخراج میکند، سپس آن را برای کاربر با توجه به پلاگین های تجزیه کننده خاصی که کاربر مشخص میکند، خلاصه میکند. در نهایت، سطح Tika Facade الگویی برای فراخوانی اسناد از زبان هدف گرای جاوا است.
در ادامه به برخی از ویژگی هایی از Tika اشاره کرده ایم:
• رابط تجزیه کننده یکپارچه - تیکا از کتابخانه های تجزیه کننده مختلف به عنوان رابط تجزیه کننده استفاده میکند. با استفاده از این ویژگی، کاربر دیگر نیازی به انتخاب کتابخانه تجزیه کننده صحیح با توجه به نوع فایل ندارد.
• مصرف کم حافظه - Tika منابع حافظه کمتری را اشغال میکند و بنابراین به راحتی در برنامه های جاوا قابل جاسازی است.
• پردازش سریع - تیکا با زبان جاوا با شناسایی سریع محتوا و استخراج آن از برنامه ها شناخته شده است.
• ابرداده انعطاف پذیر - تیکا میتواند همه مدل های فراداده را که برای توصیف فایلها استفاده میشوند، شناسایی کند.
• تجزیه - تیکا میتواند برای هر نوع سند از کتابخانه های مختلف تجزیه کننده موجود، در یک برنامه واحد استفاده کند.
• تشخیص نوع داده با - MIME تیکا میتواند محتوا را از انواع رسانههای موجود در استانداردهای MIME شناسایی و استخراج کند
• تشخیص زبان - تیکا شامل یک ویژگی شناسایی زبان است و میتواند در اسناد مبتنی بر نوع زبان، مورد استفاده قرار گیرد.
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، زبان سند با استفاده از یک نمونه 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 تجزیه کننده مناسبی را از میان مخزن تجزیه کنندگان مختلف انتخاب میکند. مخزن تجزیه کننده کلاسهایی را در اختیار دارد که از سایر کتابخانه های خارجی استفاده میکنند.
سپس، سند به تجزیه کننده منتقل میشود و محتوا را تجزیه میکند، متن و داده ها را استخراج میکند و ممکن است استثناهایی را برای قالب های غیرقابل خواندن ارائه دهد.
علاوه بر محتوا، تیکا توانایی استخراج فراداده را از یک فایل دارد فراداده چیزی نیست جز اطلاعات اضافی مربوط به پرونده ای که همراه فایل است. به عنوان مثال، یک آهنگ یا یک فایل صوتی دانلود میکنید. متادیتای آن شامل مواردی مانند نام هنرمند، نام آلبوم و عنوان است و تیکا میتواند این نوع اطلاعات را از اسناد استخراج کند.
Extensible Metadata Platform (XMP) استانداردی برای پردازش و ذخیره اطلاعات مربوط به محتوای یک پرونده است. XMP از انواع مختلف استاندارد برای تعریف، ایجاد و پردازش فراداده برای انواع مختلف اسناد تشکیل شده است.
هنگام استفاده از Tika، میتوانید از روشی مانند (metadata.name) برای دریافت نام ها از فایل استفاده کنید. با این حال، برای فراخوانی نام، به یک فایل متاداده نیاز دارید. این فایل را از طریق روش تجزیه ای که در بالا توضیح داده شد، دریافت میکنید. یکی از پارامترهای یک ابرداده این است که پس از تکمیل روش تجزیه، فراداده را در خود نگه میدارد.
Tika همچنین با رابط کاربری گرافیکی (GUI) همراه است که کاربر میتواند از آن استفاده کند. بعد از نصب Tika میتوانید آن را در پوشه "gui" پیدا کنید.
چگونه میتوانیم از رابط کاربری گرافیکی Tika استفاده کنیم؟
در GUI، روی open کلیک کنید، مرور کنید و فایلی را که قرار است استخراج شود، انتخاب کنید (آن را به فضای خالی پنجره بکشید). در نهایت Tika محتوای پرونده ها را استخراج کرده و در پنج قالب مختلف نمایش میدهد: فراداده تصویری، متن قالب بندی شده، متن ساده، محتوای اصلی و متن ساختار یافته. میتوانید هر قالب را که میخواهید انتخاب کنید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690