Document Type : Research Paper

Authors

1 M.Sc. in Computational Linguistics, Sharif University of Technology, Tehran, Iran

2 Assistant Professor, Department of Computer, Faculty of Statistics Mathematics and Computer, Allameh Tabataba'i University, Tehran, Iran

Abstract

Abstract
The present study aims to evaluate the performance of several machine learning methods in classifying Persian poetry into two categories: verses containing allusion and those without allusion. To this end, the following supervised learning algorithms were applied: Naive Bayes, Support Vector Machine (SVM), Decision Tree, Random Forest, k-Nearest Neighbors (k-NN), Logistic Regression, and Multilayer Perceptron (MLP). Labeled data were collected and stored in two text files. Each verse was then transformed into a numerical vector representation. After merging the datasets and splitting them into training and testing subsets, each algorithm was implemented on the training data and evaluated on the test set to assess its classification accuracy. The output of each algorithm consisted of predicted labels assigned to the verses. The evaluation methodology used was Leave-One-Out Cross-Validation (LOOCV). The results indicate that Naive Bayes (76.09%), Logistic Regression (76.09%), Multilayer Perceptron (75.22%), and Support Vector Machine (74.35%) performed better than the other algorithms in terms of accuracy. Overall, considering additional metrics such as F1-score and execution time, Naive Bayes demonstrated the best performance among the tested methods.

Introduction

Persian poetry is a rich cultural heritage filled with literary devices, one of which is allusion, a rhetorical technique that enriches meaning through indirect references to well-known stories, sayings, or cultural elements. As society becomes increasingly intertwined with technology, there is a growing need to leverage machine learning to preserve and study such literary elements. This study explores the application of supervised machine learning algorithms to classify Persian couplets as either containing allusion or not, thus contributing to the intersection of literary analysis and artificial intelligence.

Literature Review

Allusion has long been recognized as a central rhetorical device in Persian literature. Classical scholars such as Qeys Razi (1372: 279) and the author of Anvār al-Balāgha (17th century AD) defined it as a brief, implicit reference to the well-known texts, events, or sayings. Shamisa (1381: 22) expanded the definition, incorporating references to folklore, customs, and scientific concepts as part of the broader allusive framework. These definitions consistently highlight conciseness, implicitness, and the need for cultural familiarity to interpret the text accurately.
A large number of literary studies have focused on identifying allusions in the works of specific poets using manual and qualitative research methods. The field of computational literary studies is relatively underexplored in Persian, though some efforts have been made. For instance, works by Majiri and Minaei (2008) applied text mining techniques for prosodic analysis, while others such as Azin & Bahrani (2014) and Javanmardi & Akbari (2017) explored authorial style classification.
Machine learning, particularly supervised learning, has recently emerged as a promising approach in text classification, including applications in authorship attribution, genre detection, and sentiment analysis. However, the use of ML for detecting literary devices like allusion remains limited, especially in Persian literary texts. Two general approaches are used for text classification: vocabulary-based (dictionary-driven) and machine learning-based. This study focuses on the latter, aiming to automatically classify verses using statistical and linguistic features rather than predefined word lists.

Methodology

This study followed a seven-step machine learning pipeline using Python programming language:
Data Collection: Allusive verses were extracted from Farhang-e Asatir va Dastanvareha by Mohammad Jafar Yahaghi (1388) and were typed manually. Non-allusive verses were collected from the Ganjoor website (ganjoor.net). The dataset included 300 allusive and 160 non-allusive couplets, stored in separate .txt files.
Data Preprocessing: Text normalization and cleaning involved punctuation removal, spacing corrections, and standardization. Tokenization and stop-word removal were conducted using a curated stop-word list tailored to the dataset. Due to the limited data size and poetic language variability, lemmatization was omitted to preserve original word forms.
Feature Extraction and Vectorization: The remaining 2107 unique words after preprocessing were treated as features. Two vectorization techniques were used:
TF-IDF (Term Frequency–Inverse Document Frequency)
Binary Encoding (presence/absence of words)
The effect of the vectorization method on classification performance was observed, especially in Logistic Regression and MLP classifiers.

Dataset Splitting: The dataset was divided into training and test sets using Leave-One-Out Cross-Validation (LOOCV) to maximize accuracy evaluation on a small dataset.
Model Training: Seven supervised machine learning algorithms were trained: Naive Bayes, Support Vector Machine (SVM), Decision Tree, Random Forest, K-Nearest Neighbors (KNN), Logistic Regression, Multilayer Perceptron (MLP).
Model Evaluation: Accuracy, F1-score, and execution time were used as performance metrics. LOOCV ensured robust evaluation by testing each data point independently.
Output Generation: The predicted label for each couplet was obtained using the trained models. The predicted labels were compared with actual labels to compute accuracy.
Results

The accuracy scores for the best-performing models were: Naive Bayes: 76.09%, Logistic Regression: 76.09%, Multi-layer Perceptron: 75.22%, SVM: 74.35%.
Other models like Decision Tree, Random Forest, and KNN showed lower performance. Notably, most models showed negligible performance differences between the two vectorization methods, except for Logistic Regression and MLP, which exhibited a 10% accuracy gap.

Discussion

The results suggest that simpler models like Naive Bayes can perform competitively in literary text classification tasks, especially when the dataset is limited. The choice of vectorization method had minimal impact on overall accuracy, underscoring the importance of careful feature selection over sophisticated encoding. Despite the challenges of working with poetic texts—including varied structure and archaic language—machine learning offers promising results in detecting abstract literary features like allusion.

Conclusion

This study aimed to evaluate the performance of several supervised machine learning algorithms in classifying Persian poetry into two categories: verses containing allusions and those without. Algorithms such as Naive Bayes, Support Vector Machine, Decision Tree, Random Forest, k-Nearest Neighbors, Logistic Regression, and Multilayer Perceptron were applied, with their performance assessed using Leave-One-Out Cross-Validation (LOOCV).
The research highlighted several challenges in automatic text classification, especially in Persian poetry, including high feature dimensionality, lexical ambiguities, flexible sentence structures, and stylistic diversity among poets. Specifically, the identification of literary allusions proved to be complex due to the implicit nature of many references, variation in allusion types (e.g., Quranic, mythological, national), and the evolving nature of allusive language over time.
Despite these difficulties, some algorithms demonstrated promising results, suggesting that with larger, more diverse datasets and the use of advanced techniques such as transfer learning and pre-trained language models, future efforts in this area could achieve higher accuracy and robustness. The intersection of computational methods and literary analysis presents a valuable avenue for deeper understanding and automated processing of Persian literary texts.

Keywords

  1. مقدمه

«شعر جوهر حیات فرهنگی اقوام است». شفیعی کدکنی

شاعران بزرگ فارسی همواره در گذر زمان کوشیده‌اند تا به شیوه‌های مختلف و با استفاده از انواع هنرهای زبانی، عالی‌ترین مفاهیم انسانی را با اشاره و استعاره، به مردم زمان خود و حتی مردم نسل‌های بعد، منتقل کنند. یکی از شگردهایی که شاعر با استفاده از آن می‌تواند ظرفیت معنایی کلام را افزایش دهد و آن را ماندگار کند، هنر تلمیح[1] است.

کزازی (۱۳۷۲: ۱۱) در زمینۀ این هنر زبانی چنین می‌گوید که «چشمزد یا تلمیح، آرایه‌ای است درونی که سخنور بدان، سخت کوتاه، از داستانی، دَستانی (= مثل)، گفته‌ای و هرچه از این گونه، سخن در میان آورد و آن داستان، یا دستان، یا گفته را به یکبارگی در ذهن سخن‌دوست برمی‌انگیزد. چشمزد آرایه‌ای است که سخنور به یاری آن می‌تواند بافت معنایی سروده را نیک ‌ژرفا و گرانمایگی ببخشد و دریایی از اندیشه‌ها را در کوزه‌ای تنگ از واژگان فرو ریزد. از آن جاست که سخنورانی پندارآفرین و اندیشه‌انگیز، چون حافظ که سروده‌های خویش را با مایه‌ها و لایه‌هایی از نگاره‌ها و انگاره‌های شاعرانه، پی‌درپی و تودرتوی، ژرفی و شگرفی می‌دهند و از این آرایه بسیار بهره برده‌اند».

شمیسا (۱۳۸۱: ۲۲) نیز، در این زمینه معتقد است که «تلمیح از جمله صنایع معنوی در علم بدیع است و بدیع علمی است که پیرامون جنبه‌های تحسین و نیکویی کلام بحث می‌کند. به‌عبارت‌دیگر، بدیع مجموعۀ شگردها و فنونی است که کلام عادی را کم‌وبیش به کلام ادبی تبدیل می‌کند و یا کلام ادبی را به سطح والاتری از ادبی‌بودن می‌رساند و در بین اجزای کلام، تناسب و رابطه‌های خاصی برقرار می‌کند».

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

شرایط زندگی امروز و آمیختگی آن با فناوری‌ و نزدیکی روزافزون ماشین با انسان ایجاب می‌کند که به‌جای قائل‌شدن به استقلال شعر و ادبیات و تلقی هوش مصنوعی به‌منزلۀ دشمن تفکر و انسانیت و سایر جنبه‌های زیبای انسانی، از این دستاورد عظیم بشری با هدف آشنایی بیشتر نسل جدید با فرهنگی که دستاورد بزرگان روزگار است، بهره ببریم. در وضعیت کنونی، دست یازیدن به این هدف شاید بیشتر به آرزو شبیه باشد، اما غیرممکن نیست. ازاین‌رو، پژوهش حاضر قصد دارد در مسیر تحقق این هدف، قدمی کوچک بردارد. به‌این‌منظور، حوزۀ شعر و از این حوزه هم، صنعت ادبی تلمیح انتخاب شده است، چراکه چنانکه محبتی (۱۳۸۰: ۱۱۳) نیز به آن باور دارد، «مهم‌ترین آثار ادبی جهان، بیشترین بار معنایی خود را بر دوش تلمیح نهاده‌اند، چون از یک‌سو مانند تضمین[2] مستقیماً از گفته‌ها و گفتارهای دیگران سود نمی‌جوید و درعین‌حال، تاریخ فرهنگی و بار معنایی گفتارهای گذشته را به درون خود می‌کشد».

هدف اصلی پژوهش حاضر، استفاده از الگوریتم‌های یادگیری ماشین[3]، از جمله بیز ساده[4]، K ـ نزدیک‌ترین همسایه[5]، درخت تصمیم[6]، جنگل تصادفی[7]، رگرسیون لجستیک[8]، ماشین بردار پشتیبان[9] و پرسپترون چند لایه[10]، در تفکیک اشعار تلمیح‌دار از بدون‌تلمیح و مقایسۀ آنهاست. لازم به ذکر است که در این پژوهش، هر بیت به‌عنوان یک سند متنی[11] در نظر گرفته شده است.

  1. پیشینۀ پژوهش

به باور شمس‌الدین محمد قیس رازی (۱۳۷۲: ۲۷۹)، نویسندۀ بزرگ قرن ششم هجری، تلمیح «آن است که الفاظ اندک، بر معانی بسیار دلالت کند و لمح، جستن برق باشد و لمحه یک نظر بود و چون شاعر چنان سازد که الفاظ اندک بر معانی بسیار دلالت کند، آن را تلمیح گویند».

صاحب انوارالبلاغه (سدۀ یازدهم ه.ق) نیز دربارۀ تلمیح می‌گوید که «آن است که از فحوای کلام اشاره شود به شعری یا قصه‌ای یا مثل مشهوری بدون آن که آن شعر یا قصه یا مثل مذکور شوند، خواه آن کلام نظم بوده باشد یا نثر» (مازندرانی، 1375).

داد، مؤلف فرهنگ اصطلاحات ادبی (1385)، به معنای لغوی تلمیح (به گوشۀ چشم اشاره کردن، نگاه و نظر کردن) اشاره می‌کند و پس از تعریف تلمیح در اصطلاح بدیع، اقسام تلمیح از نگاه منتقدان غربی را اینگونه برمی‌شمارد: اشاره به اشخاص و حوادث، اشاره به زندگی شخصی یا نام خود گوینده (و این همان است که در بلاغت فارسی استشهاد نامیده می‌شود)، تلمیح استعاری و تلمیح تقلیدی.

با توجه ‌به تعاریف متعددی که از تلمیح در دوره‌های مختلف دیده می‌شود، می‌توان گفت که در تلمیح این عناصر مشترک است: ایجاز (اشارۀ کوتاه در حد گوشۀ چشم) و غیرصریح‌بودن، به‌گونه‌ای که اگر شاعر کل داستان یا شعر مدنظرش را به‌طور کامل شرح دهد، دیگر تلمیح محسوب نمی‌شود.

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

شمیسا (1378) نیز، در فرهنگ تلمیحات خود، معنای تلمیح را گسترش می‌دهد و اشاره به فرهنگ عامه و عقاید و آداب و رسوم و علوم قدیم را هم بخشی از تلمیح قلمداد می‌کند. وی اذعان دارد که از معنای تلمیح در کتب سنتی پا فراتر می‌گذارد و گاهی به مواردی اشاره می‌کند که حاوی اشاره به داستانی نیست، بلکه اشاره به مطلبی دارد که آگاهی‌نداشتن از آن، درک بیت را غیرممکن می‌سازد.

در میان پژوهش‌های ادبی، آثار نسبتاً زیادی در حوزۀ تلمیح به چشم می‌خورد، به‌ویژه در زمینۀ بررسی موردی کاربرد تلمیح در آثار شاعران، چه اشعار کهن و چه اشعار مربوط به دوران معاصر و حتی شعر نو.

از اوایل دهۀ 90 قرن بیستم شاهد ظهور رویکرد یادگیری ماشین به‌منظور دسته‌بندی متون[12] هستیم، اما این رویکرد تاکنون در حوزۀ ادبیات زبان فارسی، ورود قابل‌توجهی نداشته است. بیشتر پژوهش‌های پیشین در این حوزه به شناسایی سبک و ویژگی‌های زبانی مؤلف در آثار ادبی پرداخته‌اند. از جمله این پژوهش‌ها، مقالۀ مجیری و مینایی (1387) است که به کاربرد متن‌کاوی در تشخیص وزن عروضی اشعار فارسی می‌پردازد و یا مقالۀ آذین و بحرانی (139۳) و جوانمردی و اکبری (1397) است که در آنها هدف از پژوهش، شناسایی سبک شاعر و دسته‌بندی و تفکیک اشعار شاعران است. تیزهوش[13] (2008) هم جداسازی شعر از متن عادی در محیط وب را موضوع پژوهش خود قرار داده است.

در حالت کلی، برای تشخیص تلمیح در اشعار می‌توان دو رویکرد اصلی متصور شد: رویکرد یادگیری ماشین و رویکرد مبتنی بر واژگان[14]. رویکرد یادگیری ماشین از الگوریتم‌های معروف یادگیری که مبتنی بر ویژگی‌های زبانی هستند، استفاده می‌کند، در صورتی که رویکرد مبتنی بر واژگان، بر اساس واژه‌نامه‌ای بنا می‌شود که مجموعه‌ای از لغات و واژه‌های ازپیش‌تعیین‌شده است. در پژوهش حاضر به رویکرد اول توجه شده است.

همانند داده‌کاوی[15] که جستجویی برای کشف الگو در داده‌هاست، متن‌کاوی[16] نیز، جستجو در متون برای کشف الگوی آنهاست. دسته‌بندی متن یکی از زیرشاخه‌های اصلی متن‌کاوی است؛ علمی که بر اساس داده‌های قبلی که دارای برچسب[17] هستند، مدلی برای پیش‌بینی برچسب داده‌های جدید می‌سازد. هدف از این روش، یادگیری تابعی[18] است که الگوهای (بردارهای ویژگی) ورودی را به برچسب‌های متناظرشان نگاشت کند. در واقع، این فرایند در مرحلۀ آموزش[19] انجام می‌گیرد. بدیهی است که برچسب‌های واقعی الگوهای آموزشی، از پیش مشخص شده‌اند. در مرحلۀ آزمون[20]، الگوهایی که برچسب آنها مشخص نیست، به سامانه داده می‌شوند و سامانۀ طراحی‌شده، به کمک تابع خود، خروجی یا برچسب آنها را پیش‌بینی می‌کند. به‌بیان‌دیگر؛ دسته‌‌بندی به فرایند قراردادن نمونه‌های جدید در دسته‌های مختلف بر اساس داده‌های قدیمی اشاره دارد و به‌این‌منظور، به یک مدل یا الگوریتم دسته‌بند نیاز است. الگوریتم‌های طبقه‌بندی مشهور عبارت‌اند از: شبکه‌های عصبی[21]، انواع درخت تصمیم (CART، C4.5، J48، ID3 و ...)، K ـ نزدیک‌ترین همسایه، ماشین بردار پشتیبان، رگرسیون لجستیک، دسته‌بند بیز ساده و غیره که انتخاب هرکدام از آنها می‌تواند به موارد زیر وابسته باشد:

  • ساختار و نحوۀ‌ توزیع داده‌ها
  • تعداد طبقه‌ها
  • پیچیدگی زمانی ساخت مدل
  1. روش

در این بخش، به روش اجرای پژوهش در 7 مرحله پرداخته شده است که عبارت‌اند از: جمع‌آوری و مرتب‌سازی داده‌ها[22]، پیش‌پردازش داده‌ها[23]، استخراج و انتخاب ویژگی‌ها[24]، تبدیل متن به بردار[25]، تقسیم داده‌ها به دو دستۀ آموزش و آزمون، آموزش مدل‌های یادگیری ماشین و ارزیابی عملکرد مدل‌ها. مراحل پیاده‌سازی[26] در شکل 1 نشان داده شده است. لازم به ذکر است که در تمام این مراحل، از زبان برنامه‌نویسی پایتون[27] استفاده شده است.

 

 

 

 

 

 

 

 

شکل 1. مراحل پیاده‌سازی

 

در گام اول، برای جمع‌آوری داده‌های دستۀ تلمیح‌دار، از کتاب فرهنگ اساطیر و داستان‌واره‌ها در ادبیات فارسی (1388)، اثر یاحقی استفاده شد و ابیات آن به‌صورت دستی تایپ گردید. اشعار بدون‌تلمیح هم از سایت گنجور[28] گردآوری شد. در کل، بیشتر داده‌ها از اشعار حافظ انتخاب شده‌اند. نتایج حاصل از گردآوری داده‌ها، شامل 300 بیت تلمیح‌دار و 160 بیت بدون‌تلمیح، در دو فایل متنی مجزا با فرمت txt ذخیره شدند، به گونه‌ای که هر بیت نشان‌دهندۀ یک سند متنی جداگانه است. نمونه‌هایی از داده‌ها در جدول 1 آورده شده‌اند.

جدول ۱. نمونه‌هایی از داده‌های آموزشی

ابیات تلمیح‌دار

ابیات بدون‌تلمیح

گرت هواست که با خضر همنشین باشی / نهان ز چشم سکندر، چو آب حیوان باش

همه کارم ز خودکامی، به بدنامی کشید آخر / نهان کی ماند آن رازی، کز او سازند محفل‌ها

مقام عیش میسر نمی‌شود بی‌رنج / بلی به حکم بلا بسته‌اند عهد الست

ز عشق ناتمام ما جمال یار مستغنی است / به آب و رنگ و خال و خط چه حاجت روی زیبا را

من آن آیینه را روزی به دست آرم سکندروار / اگر می‌گیرد این آتش زمانی ور نمی‌گیرد

غرور حسنت اجازت مگر نداد ای گل / که پرسشی نکنی عندلیب شیدا را

زبان مور به آصف دراز گشت و رواست / که خواجه خاتم جم یاوه کرد و باز نجست

دل می‌رود ز دستم صاحب‌دلان خدا را / دردا که راز پنهان خواهد شد آشکارا

من ملک بودم و فردوس برین جایم بود / آدم آورد درین دیر خراب آبادم

ای پیک راستان خبر یار ما بگو / احوال گل به بلبل دستان سرا بگو

دوش وقت سحر از غصه نجاتم دادند / وندر آن ظلمت شب آب حیاتم دادند

ناصحم گفت که جز غم چه هنر دارد عشق / برو ای خواجه عاقل هنری بهتر از این

باز ارچه گاه‌گاهی، بر سر نهد کلاهی / مرغان قاف دانند آیین پادشاهی

ساقی و مطرب و می، جمله مهیاست ولی / عیش بی یار مهیا نشود، یار کجاست

جهان پیر است و بی‌بنیاد، ازین فرهادکش فریاد / که کرد افسون و نیرنگش ملول از جان شیرینم

گفتم که کی ببخشی بر جان ناتوانم / گفت آن زمان که نبود جان در میانه حائل

 

مرحلۀ پیش‌پردازش داده‌ها در اغلب موارد، از جمله مهم‌ترین و زمان‌برترین گام‌های پروژه‌های داده‌کاوی است که انجام درست آن به بالارفتن دقت مدل می‌انجامد. پیش‌پردازش متن عمدتاً در آغاز فرایند متن‌کاوی و با توجه به یکی از اهداف زیر انجام می‌شود:

  • پاک‌سازی و استانداردسازی[29] متن از قبیل اصلاح نویسه[30]‌ها، فاصله و نیم‌فاصله‌ها، وند[31]ها یا کلمات مرکب[32] جدا نوشته‌شده، ریشه‌یابی[33] و ...
  • غنی‌سازی یا حاشیه‌نویسی متن (افزودن اطلاعات جانبی مفید به متن)؛ از قبیل برچسب‌زنی نقش ادات سخن[34]، گسترش معنایی کلمات[35] (افزودن کلمات هم‌معنی[36] یا هم‌کاربرد با کلیدواژه[37]‌های داخل متن) و ...
  • حذف ویژگی‌های اضافه (کلمات بدون‌ارزش) از قبیل حذف کلمات توقف (ایست‌واژه‌ها)[38]، انتخاب کلیدواژه‌ها یا موجودیت‌های نامی و حذف سایر کلمات.

در پژوهش حاضر، ابتدا متن یک‌دست (بهنجار‌سازی) شد و علائم نگارشی[39] حذف شدند. سپس، کلمات موجود در ابیات از هم تقطیع[40] شدند و ایست‌واژه‌ها نیز، بر اساس فایلی که شامل این کلمات بود، حذف گردیدند. این ایست‌واژه‌ها با توجه ‌به داده‌های موجود انتخاب شده بودند.

اولین گام در دسته‌بندی متن این است که متون به ‌صورتی مناسب که توسط الگوریتم یادگیری ماشین قابل‌استفاده باشد، تبدیل شوند. هر کلمه در متن یک ویژگی[41] محسوب می‌شود، اما از آنجا که با افزایش مجموعۀ داده‌ها، تعداد بالای ویژگی‌ها مشکل‌آفرین خواهد شد، سعی بر آن است تا ابعاد داده‌ها تا حدممکن کاهش یابد.

هدف از کاهش ابعاد[42] چیست؟

  • پیشگیری از مزاحمت ابعاد (زمانی که تعداد ویژگی‌ها زیاد می‌شود، خطای دسته‌بندی داده‌ها افزایش پیدا می‌کند)؛
  • کاهش مدت زمان و حافظۀ استفاده‌شده توسط الگوریتم‌های داده‌کاوی؛
  • تسهیل بصری‌سازی[43] داده‌ها؛
  • تسهیل حذف داده‌های بی‌ربط.

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

از آنجا که اغلب روش‌های یادگیری ماشین از جمله دسته‌بندی متون، بر روی داده‌های عددی[44] قابل‌اجرا هستند، در گام دوم، داده‌های متنی باید به بردارهایی از اعداد تبدیل می‌شدند. به این فرایند، بردارسازی[45] یا بازنمایی برداری[46] متون گفته می‌شود. رویکردهای مختلفی برای بردارسازی متون در پردازش زبان طبیعی[47] وجود دارد:

  • رویکرد سبد کلمات[48] شامل:
  • کدگذاری دودویی[49] یا تک‌روشن[50]؛
  • بردارسازی شمارشی[51] یا وزن‌دهی مبتنی بر «فراوانی اصطلاح ـ معکوس فراوانی سند» [52]؛
  • بردارسازی درهم[53]؛
  • شمارش چندگانه‌ها[54]؛
  • رویکرد بازنمایی توزیع‌شده[55] و انتقال یادگیری[56]؛
  • روش‌های تعبیۀ کلمات و متن[57] از قبیلWord2Vec ، GloVe، Doc2Vec، FastText و ...؛
  • روش‌های مبتنی بر یادگیری عمیق[58] از قبیل لایۀ تعبیه[59] در شبکۀ عصبی؛
  • استفاده از بردارهای ازپیش‌آموزش‌دیده[60] از قبیل Elmo، GPT، BERT، GPT2، XLM، XLNet، Transform-XL، DistillBERT و ...؛

در این پژوهش، برای بردارسازی ابیات، یک بار از روش TF-IDF و بار دیگر از روش کدگذاری دودویی استفاده شد. به‌‌جز دو الگوریتم رگرسیون لجستیک و پرسپترون چندلایه که در دو روش فوق، حدود ده درصد در معیار دقت[61] اختلاف داشتند، سایر الگوریتم‌ها تفاوت قابل‌ملاحظه‌ای از خود نشان ندادند. درضمن، با توجه به تنوع کلمات از جهت ترتیب قرارگیری در اشعار و از سوی دیگر، تعداد کم داده‌ها، بردارسازیِ چندگانه در این پژوهش کارایی لازم را نداشت و از آن استفاده نشد.

در گام بعدی، باید داده‌ها به دو دستۀ آموزش و آزمون تقسیم می‌شدند. با توجه ‌به محدودیت تعداد داده‌های برچسب‌خورده، برای انتخاب بهترین الگوریتم که خطای کمتری داشته باشد، روش‌های بازنمونه‌گیری[62] مدنظر قرار گرفتند. یک راهکار موجود آن بود که زیرمجموعه‌ای از داده‌ها را به‌طور تصادفی انتخاب کنیم (مثلاً 80 درصد از داده‌ها) و آموزش را روی آن انجام دهیم و از زیرمجموعۀ کنارگذاشته‌شده (مثلاً 20 درصد بقیه) برای آزمون الگوریتم پیاده‌سازی‌شده، استفاده کنیم. به تکرار این مراحل به نحوی که مدل چندین بار با ترکیب‌های مختلفی از داده‌های آموزشی و آزمون، آموزش داده ‌شود، روش اعتبارسنجی متقابل[63] گفته می‌شود. هدف این روش، ارزیابی پایدارتر و دقیق‌تر از توانایی تعمیم مدل به داده‌های نادیده است و از بیش‌برازش[64] به داده‌های آموزش جلوگیری می‌کند. اگر در هر مرحله از تکرار آموزش، تنها یکی از داده‌ها برای آزمون کنار گذاشته شود و آموزش روی سایر داده‌ها انجام شود، به آن، اعتبارسنجی متقابلِ تک‌نمونه‌ای[65] می‌گویند. در پژوهش حاضر، به‌منظور ارزیابی عملکرد مدل‌های یادگیری ماشین، از این روش اعتبارسنجی استفاده شده است. دلیل انتخاب این روش، محدودبودن تعداد نمونه‌های آموزشی در مجموعه دادۀ استفاده‌شده بود. در شرایطی که حجم داده‌ها کم است، تقسیم آن به بخش‌های جداگانه برای آموزش و آزمون می‌تواند منجر به کاهش قابل‌توجه دقت در ارزیابی شود، چرا که بخش بزرگی از داده‌ها صرف آزمون شده و مدل با اطلاعات ناکافی آموزش می‌بیند. LOOCV با کنار گذاشتن تنها یک نمونه در هر تکرار و استفاده از باقی‌ماندۀ داده‌ها برای آموزش، این مشکل را تا حد زیادی برطرف می‌کند و امکان استفادۀ حداکثری از داده‌های موجود را فراهم می‌سازد. همچنین، این روش ارزیابی دقیق‌تری نسبت به روش‌های ساده‌تر نظیر تقسیم ثابت داده‌ها ارائه می‌دهد، هرچند در مقایسه با آنها هزینۀ محاسباتی بالاتری دارد.

در مرحلۀ آموزش مدل‌ها، فرایند یادگیری مدل هربار برای یکی از الگوریتم‌های موردنظر، پیاده‌سازی شد. برای پیاده‌سازی و آموزش مدل، به جهت بهینه‌سازی کدنویسی، از کتابخانۀ scikit-learn در زبان پایتون بهره گرفته شد. در این مرحله، از الگوریتم‌های نظارت‌شدۀ[66] زیر استفاده شد:

  • الگوریتم بیز ساده: این الگوریتم براساس قانون بیز و محاسبۀ احتمالات شرطی و با فرض استقلال متغیرهای تصادفی بنا شده است. براساس نظریۀ بیز، برای محاسبۀ احتمال وقوع B به شرط A، الگوریتم ابتدا تمام مواردی را که رخدادهای A و B هم‌زمان اتفاق افتاده‌اند را حساب می‌کند و به تعداد رخدادهای تکی A، تقسیم می‌کند تا احتمال شرطی مدنظر محاسبه شود (محمودی سعیدآباد و سمیع‌زاده، 1397). در پژوهش حاضر، احتمال وقوع B، همان احتمال قرارگرفتن یک بیت در یکی از دو دستۀ تلمیح‌دار یا بدون‌تلمیح است و A، همان بردار ویژگی‌ها (کلمات) است. این الگوریتم که یکی از موفق‌ترین الگوریتم‌های یادگیری ماشین محسوب می‌شود، در کارهایی مثل تشخیص هرزنامه‌ها[67] کاربرد بسیار دارد.
  • الگوریتم ماشین بردار پشتیبان: این الگوریتم سعی می‌کند یک مرز مناسب پیدا کند که داده‌های متعلق به دسته‌های مختلف را با بیشترین فاصله از هم جدا کند. این مرز تصمیم‌گیری ممکن است یک خط (در فضای دوبعدی) یا صفحه (در فضای سه‌بُعدی) یا اَبَرصفحه[68] (در فضای با ابعاد بالاتر) باشد. داده‌هایی که نزدیک‌ترین فاصله را به این مرز دارند، بردارهای پشتیبان[69] نامیده می‌شوند و نقش کلیدی در تعیین موقعیت مرز دارند. مرز بین دو دسته، با توجه به شرایط زیر تعیین می‌شود:
  • تمام نمونه‌های دستۀ اول در یک طرف و تمام نمونه‌های دستۀ دوم در سمت دیگر مرز واقع شوند.
  • مرز تصمیم‌گیری به گونه‌ای باشد که فاصلۀ نزدیک‌ترین نمونه‌های آموزشی هر دو دسته از یکدیگر، در راستای عمود بر مرز تصمیم‌گیری، در بیشترین مقدار ممکن خود باشد.

بدین‌ترتیب، دو ابرصفحۀ موازی در دو طرف مرز تصمیم‌گیری ایجاد می‌شوند؛ به گونه‌ای که ابرصفحۀ مرز، بیشترین فاصله را بین دو ابرصفحۀ موازی ایجاد کند (محمودی سعیدآباد و سمیع‌زاده، 1397)

برای داده‌هایی که به‌صورت خطی قابل‌تفکیک نیستند، الگوریتم SVM با بهره‌گیری از توابع هسته‌ای[70] داده‌ها را به فضای ویژگی با ابعاد بالاتر نگاشت می‌کند؛ در این فضا، امکان جداکردن کلاس‌ها با یک مرز خطی فراهم می‌شود. این قابلیت موجب شده است که SVM در مواجهه با داده‌های پیچیده نیز، عملکرد موفقی داشته باشد. برای انعطاف‌پذیری بیشتر در دسته‌بندی، از متغیرهای کمکی استفاده می‌شود تا اجازه داده شود برخی نمونه‌ها درون ناحیۀ حاشیه‌ای قرار گیرند، حتی اگر با جریمه روبه‌رو شوند. در این راستا، پارامتر C نقش کلیدی دارد؛ این پارامتر میزان حساسیت مدل را نسبت به خطاهای طبقه‌بندی تنظیم می‌کند و به‌عنوان یک پارامتر تنظیم‌کننده[71] بین افزایش پهنای حاشیه و کاهش خطا مصالحه برقرار می‌سازد.

از آن‌ جا که نگاشت صریح داده‌ها به فضای بُعد بالاتر می‌تواند از نظر محاسباتی هزینه‌بر باشد، توابع هسته‌ای به‌گونه‌ای طراحی شده‌اند که بدون نیاز به انجام نگاشت واقعی، محاسبۀ ضرب داخلی بردارها در فضای جدید را ممکن می‌سازند. این ویژگی، افزون ‌بر کاهش بار محاسباتی، امکان استفاده از فضاهای با ابعاد بسیار بالا یا حتی نامتناهی را نیز فراهم می‌کند و به‌لحاظ زمان و حافظه بسیار کارآمد است (بیرانوند برجله، ۱۳۹۰). تابع هسته می‌تواند یکی از انواع گوسی ، چندجمله‌ای یا سیگموئید باشد.

  • الگوریتم درخت تصمیم: درخت تصمیم الگوریتمی است که با یک ریشه شروع شده و رشد می‌کند. هر گره[72] درخت، یک گره تصمیم است که براساس ویژگی انتخاب شده، داده‌ها را به شاخه[73]‌هایی تقسیم می‌کند. هر شاخه نیز ممکن است به یک گره تصمیم دیگر برسد و یا به یک برگ که مشخص‌کنندۀ دستۀ داده‌هاست، ختم شود (بیرانوند برجله، 1390). درخت تصمیم می‌تواند با الگوریتم‌های مختلف یادگیری ماشین مانندCART وID3 و C4.5 طراحی شود. بیشتر الگوریتم‌های درخت تصمیم، حریصانه است؛ چرا که در هر گام در پی شکلی از جداسازی‌ است که در ظاهر بهترین انتخاب ممکن است (مستقل از انتخاب‌های قبلی و بعدی). برای یک مجموعۀ آموزشی درخت‌های بسیاری می‌توان در نظر گرفت، اما مطلوب‌ترین درخت، دارای کم‌ترین تعداد گره و سادگی بیشتر در عملیات مقایسه است. ناخالصی[74] معیاری برای تشخیص میزان مطلوبیت درخت دسته‌بندی است. هر انشعاب در صورتی «خالص» است که هر بخش آن شامل نمونه‌های یک دسته باشد. فرایند آموزش درخت باید به گونه‌ای صورت گیرد که در هر گام میزان خلوص افزایش یابد. یکی از معیارهای سنجش خلوص، آنتروپی اطلاعاتی[75] است. آنتروپی درواقع نشان‌دهندۀ کم‌بودن اطلاعات است؛ یعنی در مجموعه دادۀ موردنظر، چه میزان قادر به تشخیص کلاس نهایی هستیم.
  • الگوریتم جنگل تصادفی: مبنای دسته‌بندی در الگوریتم جنگل تصادفی، ساخت مجموعه‌ای از درخت‌های تصمیم و رأی‌گیری میان آنها برای تعیین برچسب نهایی است؛ به‌طوری‌که دسته‌ای که بیشترین تعداد رأی را کسب کرده باشد، به‌عنوان خروجی انتخاب می‌شود. برای ایجاد تنوع در درخت‌های این مجموعه، معمولاً در هر بار رشد یک درخت، زیرمجموعه‌ای تصادفی از ویژگی‌ها انتخاب می‌شود تا روند آموزش کنترل شود. این الگوریتم بر دو ویژگی کلیدی استوار است: ویژگی نخست، استفاده از روش بگینگ[76] است. در این روش، برای هر درخت، مجموعه‌ای آموزشی با انتخاب تصادفی و با جایگزینی از مجموعۀ آموزش اصلی تهیه می‌شود، سپس درخت تصمیم بر پایۀ این مجموعۀ جدید ساخته می‌شود. ویژگی دوم، انتخاب تصادفی ویژگی‌ها در هر گره از درخت است؛ به این صورت که در هر گره، تنها یک زیرمجموعۀ تصادفی از کل ویژگی‌ها در نظر گرفته می‌شود و از میان آنها، ویژگی‌ای که بیشترین بهرۀ اطلاعاتی[77] را دارد، برای تقسیم گره انتخاب می‌شود (امینی خویی، ۱۳۹۴).
  • الگوریتم k ـ نزدیک‌ترین همسایه: در این روش فرض می‌شود که تمام نمونه‌ها نقاطی در فضای n بعدی حقیقی ویژگی‌ها هستند و همسایه‌ها بر مبنای فاصلۀ اقلیدسی[78] تعیین می‌شوند. منظور از k تعداد همسایه‌های درنظرگرفته‌شده است. هنگامی که ورودی جدیدی ارائه می‌شود، دستۀ نمونۀ آموزشی‌ای که شبیه‌ترین نمونه بر اساس معیار فاصله به ورودی است، به‌عنوان دستۀ ورودی در نظر گرفته می‌شود (امینی خویی، 1394). در پژوهش حاضر، با تعداد 3 همسایه،‌ نسبت به 2 و 1 همسایه، نتایج بهتری حاصل شد.
  • الگوریتم رگرسیون لجستیک: این روش یک مدل آماری برای پیش‌بینی مقدار متغیرهای وابستۀ[79] دوسویه است. منظور از دوسویه‌بودن، رخداد یک واقعۀ تصادفی در دو موقعیت ممکن است؛ مثل بیماری یا سلامت، زندگی یا مرگ، هرز‌بودن یک رایانامه یا عادی‌بودن آن، و یا در این پژوهش، تلمیح‌دار بودن یک بیت یا بدون‌تلمیح‌بودن آن. این مدل در انتخاب متغیرهای مستقل محدودیتی ندارد و می‌تواند با انواع داده‌ها به‌کار رود. هدف الگوریتم این است که با استفاده از تابع سیگموئید[80]، خروجی مدل به یک مقدار بین صفر و یک نگاشت شود. این الگوریتم به‌ویژه در طبقه‌بندی داده‌ها و تحلیل روابط بین متغیرهای مستقل[81] و وابسته کاربرد فراوان دارد.

پیچیدگی چنین مدل‌هایی، تابعی از تعداد و اندازۀ پارامترهای آنهاست. افزایش بیش از حد این پیچیدگی ممکن است منجر به بیش‌برازش شود. برای جلوگیری از این مسأله، معمولاً یک عبارت جریمه[82] به تابع هزینه[83] افزوده می‌شود تا از بزرگ‌شدن بیش‌ازحد پارامترها جلوگیری کند. در رگرسیون لجستیک، تابع هزینه بر پایۀ منفی لگاریتم درست‌نمایی[84] تعریف می‌شود تا با کمینه‌کردن آن، به بیشینه‌سازی تابع درست‌نمایی دست یابیم. این روش به‌دلیل سادگی، تفسیرپذیری و دقت مناسب، در حوزه‌های مختلفی از جمله علوم اجتماعی، زیستی و پزشکی کاربرد فراوان دارد.

  • الگوریتم پرسپترون چندلایه: پرسپترون چندلایه یک مدل پیشخور[85] شبکۀ عصبی مصنوعی است که مجموعه‌ای از داده‌های ورودی را به مجموعۀ مناسب خروجی تصویر می‌کند. یک پرسپترون چندلایه شامل تعدادی لایه از گره‌ها در یک گراف جهت‌دار[86] است. این گراف بین یک لایه و لایۀ بعدی کاملاً متصل است. به‌جز گره‌های ورودی، باقی گره‌ها نورون‌هایی (واحد پردازش در شبکۀ عصبی) با تابع فعالیت غیرخطی[87] هستند. پرسپترون چندلایه از روش یادگیری نظارتی انتشار به عقب[88] برای آموزش شبکۀ خود استفاده می‌کند. پرسپترون چندلایه حالت بهبودیافتۀ پرسپترون خطی استاندارد است که قابلیت جداسازی داده‌هایی را دارد که به‌صورت خطی تفکیک‌پذیر نیستند (بیرانوند برجله، 1390).

در مرحلۀ پایانی، برای ارزیابی عملکرد الگوریتم‌ها و مقایسۀ آنها با هم، به‌جز معیار دقت که نسبت پیش‌بینی‌های درست به کل پیش‌بینی‌ها را نشان می‌دهد، از معیار اف ـ 1[89] نیز استفاده شد. این معیار، در واقع یک نوع میانگین بین دو پارامتر ارزیابی صحت[90] و فراخوانی[91] است و معیار ترکیبی مفیدی است برای دسته‌های نامتوازن. در این پژوهش هم، چون تعداد داده‌های آموزشی در دو دستۀ تلمیح‌دار و بدون‌تلمیح مساوی نیستند، این معیار عملکرد، ارزیابی بهتری را به ما نشان می‌دهد. همچنین در این پژوهش، از ماتریس درهم‌ریختگی[92] برای دست‌یافتن به تصویری جامع‌تر در ارزیابی عملکرد مدل استفاده گردید. شکل کلی این ماتریس در شکل 2 آورده شده است.

شکل ۲: ماتریس در‌هم‌ریختگی

دستۀ پیش‌‎بینی‌شده

 

تلمیح‌دار

بدون‌تلمیح

 

FP

TN

بدون‌تلمیح

دستۀ واقعی

TP

FN

تلمیح‌دار

 

  1. یافته‌ها

با توجه به نتایج مندرج در جدول 2 و مقایسۀ نتایج حاصل از ارزیابی عملکرد هفت الگوریتم موردمطالعه، ملاحظه شد که از نظر معیار دقت، دو الگوریتم بیز ساده و رگرسیون لجستیک نتیجۀ بهتری از خود نشان می‌دهند. باوجوداین، این معیار، به‌تنهایی معیار دقیقی برای تصمیم‌گیری نیست؛ چراکه عواملی مانند نامتوازن‌بودن اندازۀ داده‌های آموزشی در دو دسته، روی آن تأثیر می‌گذارد. به‌عنوان مثال، توجه به ماتریس درهم‌ریختگی نشان می‌دهد که الگوریتم جنگل تصادفی در تشخیص ابیات تلمیح‌دار بهتر عمل می‌کند، ولی در تشخیص ابیات بدون‌تلمیح آن‌قدرها موفق نیست و در مجموع عملکرد خوبی ندارد. در حالی که الگوریتم بیز ساده نسبت به بقیه، نتایج متعادل‌تری از خود نشان می‌دهد و اهمیت این موضوع در پژوهش حاضر، به این دلیل است که در پیکرۀ آموزشی ما، تعداد داده‌های تلمیح‌دار از بدون‌تلمیح بیشتر است. از نظر زمان آموزش مدل با استفاده از اعتبارسنجی متقابل، مشاهده شد که الگوریتم بیز ساده از سرعت بسیار بالاتری نسبت به سایر الگوریتم‌ها برخوردار است و الگوریتم جنگل تصادفی از همۀ روش‌های دیگر‌ به زمان بیشتری برای آموزش مدل نیاز دارد.

 

جدول 2: مقایسۀ عملکرد الگوریتم‌ها

الگوریتم

زمان آموزش مدل با استفاده از اعتبارسنجی متقابل LOOCV

(برحسب ثانیه)

دقت مدل (برحسب درصد) با استفاده از نمایش برداری

 TF-IDF

معیار اف ـ 1

با استفاده از نمایش برداری TF-IDF

دقت مدل ( برحسب درصد)، با استفاده از نمایش برداری

 one-hot

معیار اف ـ 1

با استفاده از نمایش برداری one-hot

ماتریس درهم‌ریختگی

درخت تصمیم

۱۱/۴۶۰

۰۴/۶۸

۷۷/۰

۲۶/۶۳

۷۳/۰

۱۰۳  ۵۷

  ۲۳۴  ۶۶ 

جنگل تصادفی

۱۳/۹۹۲

۹۱/۶۸

۸/۰

۲۶/۶۸

۸/۰

۱۳۶  ۲۴

  ۲۹۰   ۱۰

رگرسیون لجستیک

۷۳/۵۹

۷۴/۶۶

۸/۰

۰۹/۷۶

۸۴/۰

۹۳  ۶۷

   ۲۸۳  ۱۷

بیز ساده

۵۹/۱۲

۵۲/۷۱

۸۲/۰

۰۹/۷۶

۸/۰

۳۵  ۱۲۵

  ۲۲۵  ۷۵

ماشین بردار پشتیبان

۳۳/۳۸۰

۷۸/۷۴

۸۳/۰

۳۵/۷۴

۸۲/۰

۷۸  ۸۲

   ۲۶۰ ۴۰   

k ـ نزدیک‌ترین همسایه

۷۵/۱۵۵

۳۹/۷۲

۷۹/۰

۷۸/۶۹

۸/۰

۱۲۳  ۳۷

   ۲۸۴    ۱۶

پرسپترون چندلایه

۵۱/۴۳۷

۲۲/۶۵

۷۹/۰

۲۲/۷۵

۸۲/۰

۷۴  ۸۶

   ۲۶۰  ۴۰

 

 

جدول 3: نمونه‌هایی از پیش‌بینی الگوریتم‌ها

متن

واقعیت

پیش‌بینی

جنگل تصادفی

رگرسیون لجستیک

بیز ساده

ماشین بردار پشتیبان

k نزدیکترین همسایه

درخت تصمیم

پرسپترون چندلایه

در پس آینه طوطی‌صفتم داشته‌اند

آنچه استاد ازل گفت بگو می‌گویم

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

بدون‌تلمیح

تلمیح‌دار

بدون‌تلمیح

تلمیح‌دار

شاه عالم را بقا و عز و ناز

 باد و هر چیزی که باشد زین قبیل

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

ز شور و عربده شاهدان شیرین‌کار

شکر شکسته سمن ریخته رباب زده

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

بدون‌تلمیح

چو منصور از مراد آنان که بردارند بر دارند

بدین درگاه حافظ را چو می‌خوانند می‌رانند

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

بدون‌تلمیح

بدون‌تلمیح

تلمیح‌دار

بوی پیراهن گمگشتۀ خود می‌شنوم

گر بگویم همه گویند ضلالی‌ست قدیم

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

تلمیح‌دار

بدون‌تلمیح

بدون‌تلمیح

تلمیح‌دار

 

  1. بحث و نتیجه‌گیری

پژوهش حاضر با هدف بررسی عملکرد چند الگوریتم یادگیری ماشین در دسته‌بندی اشعار فارسی به دو گروهِ تلمیح‌دار و بدون‌تلمیح انجام شد. در این راستا، از الگوریتم‌های مختلف یادگیری نظارت‌شده، از جمله بیز ساده، ماشین بردار پشتیبان، درخت تصمیم، جنگل تصادفی، k نزدیک‌ترین همسایه، رگرسیون لجستیک و پرسپترون چندلایه استفاده شد و با بهره‌گیری از روش اعتبارسنجی متقابل LOOCV، عملکرد هر الگوریتم سنجیده شد.

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

در زبان فارسی، توسعۀ نظام دسته‌بندی خودکار متون فارسی به‌دلیل ماهیت زبان فارسی (صرف و نحو پیچیده و منعطف، وجود پسوندها و پیشوندهای متنوع، پوشیده‌بودن ساختار نحوی به‌دلیل حذف بعضی اجزای جمله در برخی موارد، گاه چندمعنایی واژه‌ها و ابهام معنایی) و دردسترس‌نبودن مجموعه‌ای دقیق شامل ریشۀ کلمات[93] و از سوی دیگر، نبود مجموعه‌ای استاندارد برای آزمون، کاری نسبتاً دشوار به نظر می‌رسد.

غیر از موارد فوق، در مسألۀ مربوط به پژوهش حاضر، مشکلات دیگری نیز به چشم می‌خورند، از جمله تنوع بسیار در واژه‌ها، چراکه هر شاعر بنابر ذوق و سبک مخصوص خود، واژه‌هایی جدید و گاه منحصربه‌خود، ابداع می‌کند و یا این که گاهی ترتیب معمول کلمات یک جمله را به هم می‌ریزد تا طرحی نو دراندازد. درنهایت، می‌توان گفت هر آنچه که اوج زیبایی هنری شعر را به نمایش می‌گذارد، برای یک الگوریتم دسته‌بندی ماشینی مایۀ دردسر است!

در حوزۀ تلمیح، یکی از مشکلات، اختلاف‌نظر در تعریف گسترۀ تلمیح و تعیین مواردی است که در این حوزه قرار می‌گیرند. این مشکل میان دسته‌بندی انسانی و ماشینی مشترک است. از طرف دیگر، در برخی از اشعار، تلمیح با صراحت بیشتر و با اتکا به واژه‌هایی خاص صورت گرفته است که تشخیص آن را آسان‌تر کرده است و به نظر می‌رسد که کشف شباهت میان این اشعار برای ماشین، راحت‌تر از اشعاری است که تلمیح موجود در آنها شکلی ضمنی‌تر دارد و تشخیص آنها نیازمند تخصص‌های انسانی است. وجود انواع مختلف تلمیح (تلمیحات اسطوره‌ای، حماسی و ملّی، قرآنی و ...) هم باعث می‌شود که دسته‌بندی دشوارتر شود، چراکه دو بیت که یکی تلمیح قرآنی دارد و دیگری تلمیح اسطوره‌ای و ملّی، از نظر تنوع واژگانی فضاهایی کاملاً متفاوت دارند. موضوع مهم دیگر که از ذات زبان سرچشمه می‌گیرد، پویایی مصادیق تلمیح است که باعث می‌شود هر مدل دسته‌بندی در تشخیص تلمیح در اشعار جدیدتر با چالش مواجه شود. به نظر می‌رسد بهره‌گیری از مجموعه‌داده‌های گسترده‌تر و متنوع‌تر که انواع تلمیح را پوشش دهند، در کنار بهره‌گیری از روش‌های پیشرفته‌تر، مانند یادگیری انتقالی و مدل‌های زبانی ازپیش‌آموزش‌دیده، می‌تواند دقت این نوع دسته‌بندی را در آینده بهبود ببخشد.

 

[1]. allusion

[2]. تضمین از آرایه‌های ادبی و به معنی آوردن آیه، حدیث، مثل، سخنی مشهور و یا مصراع یا بیتی از شاعری دیگر در بین سخن خود است.

[3]. machine learning algorithms

[4]. naive bayes

[5]. k-nearest neighbors (KNN)

[6]. decision tree

[7]. random forest

[8]. logistic regression

[9]. support vector machine (SVM)

[10]. multilayer perceptron

[11]. document

[12]. text classification

[13]. Tizhoosh, H. R.

[14]. lexicon-based approach

[15]. data mining

[16]. text mining

[17]. label

[18]. function

[19]. train

  1. 9. test

[21]. neural networks

[22]. data collection

[23]. preprocessing

[24]. feature extraction

[25]. text vectorization

[26]. implementation

[27]. python

[28]. ganjoor.net

[29]. normalization

[30]. character

[31]. affixes

[32]. compound words

[33]. stemming

[34]. part-of-speech tagging

[35]. semantic expansion

[36]. synonym

[37]. keyword

[38]. stop words

  1. 1. punctuation

[40]. named entity

[41]. feature

[42]. dimension reduction

[43]. visualization

[44]. numerical

[45]. vectorization

[46]. vector representation

[47]. natural language processing

  1. bag-of-words (BoW): مدلی ساده برای نمایش برداری متون که در آن ترتیب کلمات نادیده گرفته می‌شود و فقط به فراوانی هر کلمه توجه می‌شود.
  2. 6. binary encoding: نوعی نمایش برداری که در آن فقط حضور یا عدم‌حضور یک ویژگی (مانند کلمه) در سند با مقدار ۰ یا ۱ مشخص می‌شود.
  3. 7. one-hot encoding: شیوه‌ای برای نمایش برداری کلمات که در آن فقط یک عنصر مقدار ۱ دارد و بقیه صفر هستند.

[51]. frequency/count vectorization: بردارسازی متن بر اساس شمارش فراوانی وقوع هر کلمه در یک سند.

  1. 9. term frequency–inverse document frequency (TF-IDF): روشی برای وزن‌دهی به کلمات بر اساس فراوانی آنها در یک سند نسبت به فراوانی‌شان در کل مجموعۀ اسناد، به‌منظور کاهش اهمیت کلمات پرکاربرد.

[53]. hashing vectorization: بردارسازی با استفاده از توابع هش، بدون نیاز به ساخت واژگان کامل.

  1. 11. word/char N-gram: بردارسازی با استفاده از توالی‌های پیوسته‌ای از n کلمه یا نویسه با تأکید بر توالی و ترتیب قرارگیری آنها.

[55]. distributed representation: روشی که در آن معنا و ویژگی‌های زبانی هر واحد (مانند کلمه) در میان چندین بعد از یک بردار پخش می‌شود، به‌گونه‌ای که شباهت‌های معنایی در فضای برداری حفظ می‌گردد.

[56]. transfer learning: رویکردی در بردارسازی و یادگیری که در آن مدل‌های ازپیش‌آموزش‌دیده برای استخراج ویژگی‌های زبانی در وظایف جدید، بازاستفاده می‌شوند.

  1. 1. word/document embeddig: نوعی نمایش متراکم و معنایی که روابط نحوی و معنایی را در فضای برداری حفظ می‌کند.

[58]. deep learning

[59]. embedding layer

[60]. pretrained language model embedding: بردارسازی با استفاده از مدل زبانی ازپیش‌آموزش‌دیده که شامل ویژگی‌های معنایی و نحوی آموخته‌شده از حجم وسیعی از داده‌های متنی است.

[61]. accuracy

[62]. resampling

[63]. cross validation

  1. 1. Overfitting: حالتی که مدل به‌خوبی داده‌های آموزشی را یاد می‌گیرد، اما در تعمیم به داده‌های جدید ناتوان می‌ماند.

[65]. leave-one-out cross-validation (LOOCV)

[66]. supervised

[67]. spam detection

[68]. hyperplane

[69]. support vectors

[70]. kernel functions

[71]. regularization parameter

[72]. node

[73]. branch

[74]. impurity

[75]. information entropy

[76]. bagging

[77]. information gain

[78]. Euclidean distance

[79]. dependent variable

[80]. sigmoid function

  1. 5. independent variable

[82]. regularization term

[83]. loss function

[84]. log-likelihood

[85]. feedforward

[86]. directed graph

[87]. nonlinear activation function

[88]. backpropagation: الگوریتمی برای آموزش شبکه‌های عصبی است که با محاسبۀگرادیان خطا نسبت به وزن‌ها، آنها را به‌صورت تدریجی به‌روزرسانی می‌کند تا خطای خروجی کمینه شود.

[89]. f1-score

[90]. precision

[91]. recall

[92]. confusion matrix

[93]. واژه‌ها در فارسی ممکن است ریشۀ مشخص و ثابتی نداشته باشند یا ریشه‌یابی‌شان پیچیده باشد.

References
Azin, Z., & Bahrani, M. (2014). Automatic identification of modern Persian poets using stylistic features. In N. Iranzadeh (Ed.), Proceedings of Allameh Tabataba’i University, (pp. 1–16). Tehran: Allameh Tabataba’i University. [In Persian]
https://www.noormags.ir/view/fa/articlepage/1078911
Amini Khoyi, Z. (2015). Network traffic classification using machine learning algorithms [Master’s thesis, University of Kurdistan]. [In Persian]
Biranvand Barjleh, A. (2011). Spam filtering using machine learning techniques [Master’s thesis, Shahid Chamran University of Ahvaz]. [In Persian]
Javanmardi, K., & Akbari, M. (2018). Machine learning methods in examining poetic language features in the poems of Sacred Defense poets (Case study: Ghaysar Aminpour and Mohammadreza Abdolmalekian). Scientific-Promotional Quarterly of Sacred Defense Studies, 4(3), 121–144. [In Persian] https://civilica.com/doc/1377460
Dad, S. (2006). Dictionary of Literary Terms (3rd ed.). Tehran: Morvarid. [In Persian]
Kazazi, M. J. (1993). The Face of Dawn (6th ed.). Tehran: Markaz. [In Persian]
Mahmoudi Saeedabad, E., & Sami’Zadeh, R. (2018). Application of machine learning algorithms in text mining with a sentiment analysis approach. Journal of Information Technology Management, 10(2), 309–330. [In Persian] https://www.magiran.com/p1823367.
Mazandarani, M. H. M. S. (1996). Anwar al-Balagha (M. A. Gholaminajad, Ed.). Tehran: Mirath-e Maktub. [In Persian]
Mohabbati, M. (2001). Modern Badi‘: The Art of Composition and Rhetorical Embellishment. Tehran: Sokhan. [In Persian]
Mojiri, M. M., & Minaei Bidgoli, B. (2008). Prosodic meter recognition in Persian poetry: A new application of text mining. Second Iranian Data Mining Conference. Tehran: Iran. [In Persian] https://civilica.com/doc/70402
Razi, Sh. M. Q. (1993). Al-Mu'jam fi Ma'ayir Ash'ar al-Ajam (Vol. 1) (S. Shamisa Ed.). Tehran: Ferdows. [In Persian]
Shafi‘i Kadkani, M. R. (2008). Modern Arabic Poetry. Tehran: Sokhan. [In Persian]
Shamisa, S. (2002). Dictionary of Allusions (Mythological, Historical, and Religious References in Persian Literature). Tehran: Ferdows. [In Persian]
Tizhoosh, H. R. (2008). Poetic features for poem recognition: A comparative study. Journal of Pattern Recognition Research, 3(1), 24-39. https://doi.org/10.13176/11.62.
Yahaghi, M. J. (2009). Dictionary of Myths and Narratives in Persian Literature (2nd ed.). Tehran: Farhang-e Mo’aser. [In Persian]