قطعه بندی متون فارسی (tokenize) با استفاده از جی هضم (Jhazm)
قطعه بندی متن (Tokenizer)
در بخش های قبلی به روش های تشخیص زبان در متون اشاره کردیم و همچنین به نقش واحد ساز (Tokenizer) در پردازش متن پرداختیم. در این مبحث با استفاده از جی هضم (Jhazm) به قطعه بندی متون میپردازیم. Tokenizer ابزاری برای شکستن یک متن بر اساس واحدهای با معنی مانند کلمه، پاراگراف، نمادهای معنادار مانند space و tab و … . لازمه ی ایجاد این ابزار جمع آوری واحد هایی است که در زبان فارسی به عنوان واحد های مستقل معنایی شناخته می شوند. سپس بر اساس انتخاب هر کدام از این واحدها متن بر اساس آن شکسته خواهد شد. از نمونه های انگلیسی آن می توان به Flex، JLex، JFLex، ANTLR، Ragel و Quex و Standfor اشاره کرد.
واحدساز (Tokenizer) مرز کلمات را در متون تشخیص داده و متن را به دنبالهای از کلمات تبدیل میکند و آن را برای تحلیل های بعدی آماده میکند. در واقع این واحد ساز جزء مراحل پیش پردازش (pre process) متن به حساب میآید. در فرایند تحلیل متون اغلب بعد از پارس (Pars) کردن متن عمل جداسازی کلمات با ابزار Tokenizer انجام میشود. معمولا بعد از این مرحله نوبت به مرحله حذف ایستواژهها یا Stop Wordsها میباشد که در مراحل بعدی به آن میپردازیم. در شکل زیر این مراحل به تصویر کشیده شده است. ابزار واحد ساز (Tokenizer) براي شکستن يک متن بر اساس واحدهاي با معني مانند کلمه، پاراگراف، جمله و نمادهاي معنادار مانند space و tab است.
به عیارتی دیگر واحدسازی تکه تکه کردن سند به قسمتهای کوچک به نام واحد است. واحدسازی در سطح کلمات رخ میدهد و واحدهای استخراج شده میتوانند به عنوان ورودی ماژولهای دیگر مانند ریشه یاب و برچسبگذار استفاده شود. لازمه ي ايجاد اين ابزار جمع آوري واحدهايي است که در زبان فارسي به عنوان واحدهاي مستقل معنايي شناخته مي شوند. متن بر اساس انتخاب هر کدام از اين واحدها، شکسته خواهد شد. از نمونه هاي انگليسي این ابزار ميتوان به Flex، JLex، JFLex، ANTLR،Ragel و Quex اشاره کرد.
این ابزار مرز کلمات را در متون تشخیص داده و متن را به دنبالهای از کلمات تبدیل میکند. کلمات چند بخشی، کلمات بهم چسبیده و ترکیبهای خاصی مانند اعداد اعشاری، تاریخ و ساعت از چالشهای موجود در تشخیص مرز کلمات است.
tokenizer را نباید با موارد زیر اشتباه گرفت:
چانکر (Chunker): ابزاري براي تشخيص گروه هاي اسمي، فعلي و …. در يک جمله. جهت تقويت الگوريتم هاي وابسته به برچسب زن معنایی (Semantic role labeler) لازم است، نه تنها نقش هاي کلمات مشخص گردند، بلکه بايد وابستگي هاي کلمات به لحاظ نقشي در جمله مشخص گردند. از جمله نمونه هاي انگليسي آن مي توان به Illinois Chunker اشاره کرد.
برچسب زن معنایی: ابزاري براي تشخيص نقش گرامري کلمه در جمله. اين ابزار يکي از مهمترين نقش ها را در پردازش هاي زباني بر عهده دارد. دقت در اين ابزار بسيار حائز اهميت است. اين ابزار بايد نقش هاي گرامري کلمات در جمله ها مانند فعل، فاعل، مفعول مستقيم، مفعول غير مستقيم و …. را تشخيص دهد. از جمله نمونه هاي انگليسي آن مي توان به OpenNlP، Illinois SRL، Swirl و LTHSRL اشاره کرد. اين ابزارها از الگوريتم پارسينگ charniak استفاده مي کنند.
پردازش متن |
تحلیل صرفی |
POS, Tokenizer, lemmatizer |
تحلیل نحوی |
Chunker, Parser |
|
تحلیل معنایی |
Co-reference, NER, Event Detection |
قطعه بندی متون
مثالی از نمونه کد جاوا برای استفاده از ابزار قطعه بند یا tokenizer با کتابخانه jhazm:
import jhazm.tokenizer.WordTokenizer; //jhazm tokenizer WordTokenizer wordtokenizer = null; try { wordtokenizer = new WordTokenizer(true); } catch (IOException e) { // If document File was crrupted So Go to Next Doc continue; } ArrayList<String> wordsList = new ArrayList<>(wordtokenizer.tokenize(textWithOutStopWords));
نقش و جایگاه واحدساز (Tokenizer) در پردازش متن
آدرس کانال تلگرام ما:
آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel
بازدیدها: 4433
برچسبjhazm text process Tokenizer TP پردازش زبان فارسی پردازش متن تکه کردن جاوا قطعه بندی متون متن کاوی واحدساز
همچنین ببینید
مجموعه داده اسامی مکان برای تشخیص موجودیت های مکانی در پردازش زبان طبیعی
عناوين مطالب: 'مقدمه ای بر اسامی مکان:کاربردهای (Named-entity recognition) NERروشهای تشخیص اسم مکاندانلود دیتاست اسامی …
آموزش فارسی اسپرینگ بوت (Spring Boot) به صورت کاربردی
در این مبحث قصد دارم به صورت خلاصه به آموزش کاربردی اسپرینگ بوت بپردازم. برای …