ورود به حساب کاربری

نام کاربری *
رمز عبور *
یاداوری

تجزیه گر یا پارسر متون و تشخیص زبان با آپاچی تیکا (Apache Tika)

امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

 

آپاچی تیکا:

آپاچی تیکا یکی از پروژه‌های متن باز Apache است که کلاسی برای شناسایی زبان متون دارد. Tika برای استخراج متن اصلی از فایل های متنی و تجزیه کردن قسمت های مختلف فایل با توجه به متا دیتای آن کاربرد دارد. تیکا برای تعیین زبان یک متن، میزان فاصله بازنمایی آن متن را با بازنمایی زبان‌های موجود در سیستم تعیین می‌کند و زبانی که کمترین فاصله را با متن موجود دارد، در صورت رسیدن به یک اطمینان نسبی از زبان شناسایی شده، آن زبان را بر می‌گرداند. فاصله بین متن موجود و زبان‌های مختلف برمبنای فاصله اقلیدسیِ بسامد نسبی n-gramهای (یعنی نسبت بسامد هر n-gram به مجموع بسامد n-gramهای موجود) واقع در بازنمایی متن و بازنمایی زبان، محاسبه می‌شود. جویشگر متن‌باز Nutch نیز برای شناسایی زبان صفحات از Tika استفاده می‌کند

 


                                                                   آپاچی تیکا

 

ابزار ابزاری Apache Tika ™ می تواند متادیتا و متن را از بیش از هزار نوع فایل مختلف (مانند PPT، XLS و PDF) شناسایی و استخراج کند. همه این انواع فایل ها را می توان از طریق یک رابط واحد تجزیه کرد، که Tika برای نمایه سازی موتورهای جستجو، تجزیه و تحلیل محتوا، ترجمه و غیره مفید است. شما می توانید آخرین نسخه را در صفحه دانلود پیدا کنید. لطفا برای دریافت اطلاعات بیشتر در مورد نحوه شروع استفاده از Tika صفحه شروع به کار را مشاهده کنید.

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

Tika یک پروژه از بنیاد نرمافزار آپاچی است و قبلا یک زیر پروژه آپاچی لوسیان بود.

Tika  برای شناسایی زبان سندها از یک فایل tika.language.properties استفاده می‌کند که شامل اسامی دو حرفی زبان‌ها بر مبنای استاندارد ISO 639 است. بر مبنای این فایل، مجموعه‌ای از فایل‌های Language Profile مربوط به زبان‌های اشاره شده در tika.language.properties از حافظه جانبی خوانده می‌شوند و برای ساخت pofileهای زبانی مورد استفاده توسط Tika به کار گرفته می‌شوند. نام فایل های Language Profile به شکل <Language>.ngp است و شامل مجموعه‌ای از n-gramهای حرفی به همراه فراوانی آن‌ها برای یک زبان است. بخشی از فایل en.ngp که مربوط به زبان انگلیسی است در ادامه آورده شده است.

# See the License for the specific language governing permissions and

# limitations under the License.

_th 154732

the 117027

he_ 95427

on_ 52529

ion 52199

_in 48458

_of 47302

_to 46961

با مقایسه‌ی این n-gramها و n-gramهای استخراج شده از متن یک صفحه HTML مورد بررسی، میزان شباهت زبان متن صفحه با هر یک از زبان‌های موجود در Tika تعیین می‌شود. بر اساس یک مقدار از پیش تعیین شده برای ReasonablyCertain بودن برای زبان تشخیص داده شده، زبان شناسایی شده یا مقدار null بازگردانده می‌شود.

کلاس LanguageIdentifier در Tika برای تعیین زبان متن، میزان فاصله content profile آن متن را (که مشابه با Language Profile یک زبان است) با Language Profile زبان‌های موجود در Tika تعیین می‌کند و زبانی که کمترین فاصله را با متن موجود دارد، در صورت رسیدن به یک اطمینان نسبی از  زبان شناسایی شده، برمی‌گرداند. فاصله بین متن موجود و زبان‌های مختلف برمبنای فاصله اقلیدسیِ بسامد نسبی n-gramهای (یعنی نسبت بسامد هر n-gram به مجموع بسامد n-gramهای موجود) واقع در profile متن و profile زبان، محاسبه می‌شود.

public static String parseToPlainText(String filePath) {
    //If Your document contained more than 100000 characters, Set writeLimit to (-1) For receive the full text of the document.
    BodyContentHandler handler = new BodyContentHandler(-1);
    AutoDetectParser parser = new AutoDetectParser();
    Metadata metadata = new Metadata();
    try (FileInputStream stream = new FileInputStream(filePath)){
        parser.parse(stream, handler, metadata);
        return handler.toString();
    } catch (org.xml.sax.SAXException | IOException | TikaException ex) {
        JOptionPane.showMessageDialog(null, ex.getMessage(), "Exception in: MyTikaParser-parsToPlainText()", JOptionPane.ERROR_MESSAGE);
    }
    return null;
}

 

public static String identifyLanguage(String text) {
    LanguageIdentifier identifier = new LanguageIdentifier(text);;
    if (identifier.getLanguage().equalsIgnoreCase("fa")){
        if (text.contains("گ") || text.contains("چ") || text.contains("پ") || text.contains("ژ")){
            return "fa";
        } else {
            return "ar";
        }
    }else {
        return identifier.getLanguage();
    }

-------------------------------------------------------

منبع: https://tika.apache.org , http://bigdata-ir.com

 

 

 

 

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

 

سایت مرتبط : " بنیاد توسعه رایانش سریع و ابری "

 

 

آخرین مقالات

کامپایل و نصب mfix-2016.1

درک عملکرد دستگاه های انرژی، محیط زیست و فرایندها...

ماشین هوشمند بدون کمک انس...

یک ماشین هوشمند با حل معمای مکعب روبیک بدون هیچ آم...

معرفی lammps

اصطلاح شناسی شبیه ساز: فراهم کننده ی بستری برای شب...

آموزش نرم افزار amber (زب...

در اینجا تعدادی از آموزش های آماده شده توسط توسعه...

HPC Moves to the Cloud –...

While some domains that rely on computing systems...

یکسان سازی یا نرمال سازی...

در متن کاوی منظور از پردازش زبان طبیعی (NLP)، قابل...

پردازش متن با Jhazm نسخه...

jHazm نسخه جاوایی هضم از کتابخانه پایتون برای پردا...

Why Demand for In-Memory...

The demand for in-memory computing (IMC) and new...

آموزش عملی گراف کاوی و تح...

networkx یک بسته پایتون برای ایجاد، دستکاری و مطا...

معرفی مختصر مدل اقلیمی CW...

CWRF نسخه توسعه یافته اقلیمی مدل WRF می باشد که د...

بالاخره بعد از سالها یکه...

از سال 2013، ماشین های چینی در رتبه قدرتمندترین اب...

کاربردها و خطرات کلان داد...

داده شامل اطلاعات است؛ اما این همه‌ي ماجرا نیست....

Case Study: Supercomputin...

Hyperion Research has published a new case study...

داده کاوی بزرگ مقرون به ص...

چکیده : کاوش داده ی بزرگ، اغلب نیازمند منابع محاس...

Python: Unlocking the Pow...

The programming language Python is being used to...

Opportunities Abound: HPC...

The is the first entry in a five-part insideHPC s...

آموزش کد محاسباتی سیستا (...

در این آموزش سعی داریم انرژی کل و طول پیوند مولکو...

درمورد مدل‌های آب و هوایی...

دو اصطلاح اقلیم‌شناسی و هوا‌شناسی بیشتر مواقع به‌ج...

الگوریتم تجزیه بندرز خودک...

در نسخه‌ی ۱۲٫۷ نرم‌افزار CPLEX رویه‌ی جدیدی جایگز...

نرم افزار tecplot

معرفی : Tecplot در واقع یک ابزار تجسمی و رسم نمودا...

تجزیه گر یا پارسر متون و...

آپاچی تیکا: آپاچی تیکا یکی از پروژه‌های متن باز A...

OpenFOAM v5 User Guide: I...

This guide accompanies the release of version 5.0...

OpenFOAM User Guide - Ver...

Introduction The OpenFOAM User Guide provides an...

How to Prepare Weather an...

In this video from the NVIDIA GPU Technology Conf...

مثالی از داده کاوی و تحلی...

در این پست یک تحلیل و بصری سازی خوب از گراف ۶۰،۰۰...

نرم افزار سیپلکس

معرفی : Cpelx یک بسته ی نرم افزاری شامل مجموعه ای...

تلاش AMD برای ساخت تراشه‌...

ریسک‌های کمی در دنیای فناوری به بزرگی خرج میلیارده...

معرفی، آموزش و لینک دانلو...

معرفی : ابزاری به منظور آنالیز فنی و طراحی کامپیوت...

Neurala Reduces Training...

Today Neurala announced a breakthrough update to...

با 10 باور نادرست در ارتب...

برای آنکه اطمینان حاصل کنید برنامه‌های سازمان شما...

گالری تصاویر