nlp-persian-tokenizer-sentiment-analysis_آکادمی تخصصی ریسمان
تاریخ انتشار :
میانگین: 5.0

پروژه واقعی در NLP: ساخت توکنایزر فارسی و تحلیل احساسات متون

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

Share
Pin
Like
Send
Share
Send
Send
Share

مقدمه‌ای بر NLP و اهمیت آن

اگر تا حالا با گوگل ترنسلیت، چت‌بات‌ها یا موتورهای جستجو کار کرده باشی، در واقع داری با دنیای NLP یا همون پردازش زبان طبیعی سروکار پیدا می‌کنی. NLP به زبان ساده یعنی کاری کنیم که کامپیوتر بتونه متن‌ها و گفتار انسانی رو بفهمه، تجزیه و تحلیل کنه و حتی پاسخ مناسب تولید کنه.
زبان طبیعی پر از پیچیدگی‌هاست؛ از کنایه و استعاره گرفته تا غلط‌های تایپی. برای همین NLP یکی از جذاب‌ترین و در عین حال سخت‌ترین حوزه‌های هوش مصنوعیه.

چرا پردازش زبان طبیعی مهم است؟

خب تصور کن یک موتور جستجو وجود داره که فقط دنبال کلمه به کلمه می‌گرده. دیگه هیچ‌وقت نمی‌تونستی نتایج دقیق پیدا کنی. یا یک چت‌بات که فرق "سلام" و "سلاممم" رو نمی‌فهمه! یا فرق ماشین و اتومبیل رو متوجه نمیشه NLP دقیقاً همین‌جا وارد عمل می‌شه و به ماشین‌ها یاد می‌ده که با زبان انسانی راحت‌تر کار کنن.

جایگاه زبان فارسی در دنیای NLP

زبان فارسی با بیش از ۱۱۰ میلیون گویشور جایگاه مهمی داره. ولی متأسفانه نسبت به زبان‌هایی مثل انگلیسی خیلی کمتر مورد توجه قرار گرفته. همین باعث می‌شه ابزارهای NLP فارسی محدودتر باشن و نیاز بیشتری به توسعه داشته باشیم. یکی از پایه‌ای‌ترین ابزارها برای هر زبان هم چیزی نیست جز توکنایزر.


آشنایی با مفهوم توکنایزر

توکن چیست؟

توکن در NLP یعنی کوچک‌ترین واحد معنی‌دار از یک متن. مثلاً در جمله‌ی "من به مدرسه رفتم"، کلمات "من"، "به"، "مدرسه" و "رفتم" هر کدوم یک توکن هستن.

تفاوت توکنایزر با تقسیم ساده متن

شاید فکر کنی می‌شه متن رو با فاصله‌ها جدا کرد و تمام! ولی نه، ماجرا خیلی پیچیده‌تر از این حرفاست. مثلاً کلمه "می‌روم" با نیم‌فاصله نوشته می‌شه. اگه فقط با فاصله جدا کنی، درست درنمیاد.

چرا برای فارسی توکنایزر خاص نیاز داریم؟

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


چالش‌های خاص زبان فارسی در توکنایزیشن

وجود نیم‌فاصله

نیم‌فاصله واقعاً کابوس برنامه‌نویس‌هاست! چون در نوشتار فارسی برای اتصال بعضی بخش‌های کلمات استفاده می‌شه، مثل "می‌روم" یا "کتاب‌ها". اگه درست مدیریت نشه، کل توکنایزر به‌هم می‌ریزه.

تنوع شکل‌های یک واژه

مثلاً کلمه "کتاب" می‌تونه به شکل‌های "کتاب‌ها"، "کتابی"، "کتابت" و غیره ظاهر بشه. این‌ها همون ریشه دارن ولی از دید ساده‌ی کامپیوتر چند توکن متفاوت محسوب می‌شن.

پسوندها و پیشوندها

در فارسی خیلی وقت‌ها معنای کلمه با یک پسوند یا پیشوند عوض می‌شه. مثل "نوشتن"، "ننوشتن"، "نویسنده". توکنایزر باید بتونه این‌ها رو درست مدیریت کنه.

شباهت کلمات و چندمعنایی بودن

بعضی کلمات بسته به جمله معنای متفاوتی دارن. مثلاً "شیر" می‌تونه همون حیوان باشه، یا نوشیدنی، یا حتی وسیله آب!


روش‌های رایج ساخت توکنایزر

روش مبتنی بر قواعد (Rule-based)

در این روش یک‌سری قواعد زبانی تعریف می‌کنیم. مثلاً می‌گیم هرجا فاصله بود، جدا کن. یا اگر نیم‌فاصله بود، این‌جوری عمل کن. این روش ساده و سریع است ولی با استثناها مشکل پیدا می‌کنه.

روش آماری (Statistical)

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

روش یادگیری ماشین و یادگیری عمیق

امروزه پیشرفته‌ترین توکنایزرها با مدل‌های یادگیری عمیق ساخته می‌شن. این مدل‌ها با دیدن حجم عظیمی از داده‌ها یاد می‌گیرن کجا باید متن رو بشکنن.


مراحل ساخت یک توکنایزر ساده برای فارسی

مرحله جمع‌آوری و آماده‌سازی داده

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

پیش‌پردازش متن

در این مرحله باید نویزهای متن مثل کاراکترهای غیرمجاز، اعداد و علائم اضافی حذف بشن.

شناسایی و مدیریت نیم‌فاصله‌ها

یک بخش حیاتی! باید تصمیم بگیریم نیم‌فاصله‌ها رو چطوری در نظر بگیریم. معمولاً آن‌ها رو به عنوان بخشی از کلمه نگه می‌داریم.

تقسیم‌بندی جملات و کلمات

بعد از پاک‌سازی، متن رو اول به جملات و بعد به کلمات تقسیم می‌کنیم.

مدیریت استثناها

برای کلمات خاص یا علائم نگارشی باید قواعد ویژه بنویسیم.


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

معرفی Hazm

Hazm یکی از معروف‌ترین کتابخانه‌های NLP فارسیه. امکاناتی مثل نرمال‌سازی، توکنایزیشن و حتی استمراریابی داره.

معرفی Parsivar

Parsivar هم یک کتابخانه قدرتمند برای تحلیل صرفی و نحوی متون فارسیه.

استفاده از NLTK برای زبان فارسی

هرچند NLTK بیشتر برای انگلیسی ساخته شده، ولی با کمی تغییر می‌شه برای فارسی هم استفاده کرد.


پروژه عملی: پیاده‌سازی یک توکنایزر ساده

انتخاب زبان برنامه‌نویسی

پایتون بهترین انتخابه چون کتابخونه‌های زیادی برای NLP داره.

نوشتن کد اولیه

با استفاده از کتابخونه‌هایی مثل Hazm می‌شه سریع یک توکنایزر اولیه نوشت.

تست و ارزیابی خروجی

بعد از پیاده‌سازی باید روی متن‌های مختلف تست بشه تا دقت اون بررسی بشه.


بهبود و توسعه توکنایزر

افزودن پشتیبانی از علائم نگارشی

علامت‌هایی مثل نقطه، ویرگول و علامت سؤال باید به درستی مدیریت بشن.

مدیریت کلمات مرکب

کلماتی مثل "دانش‌آموز" یا "راه‌آهن" نباید به اشتباه جدا بشن.

بهینه‌سازی سرعت و دقت

هرچی داده‌ها بیشتر بشن، سرعت اهمیت پیدا می‌کنه. می‌شه با الگوریتم‌های بهینه‌تر این مشکل رو حل کرد.


کاربردهای توکنایزر در پروژه‌های NLP فارسی

موتورهای جستجو

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

تحلیل احساسات

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

چت‌بات‌ها و دستیارهای هوشمند

چت‌بات بدون توکنایزر عملاً نمی‌تونه ورودی کاربر رو درک کنه.

ترجمه ماشینی

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


آینده توکنایزرها در زبان فارسی

استفاده از مدل‌های ترنسفورمر

مدل‌هایی مثل BERT و GPT در آینده می‌تونن توکنایزرهای خیلی دقیق‌تری برای فارسی بسازن.

ترکیب یادگیری عمیق با قواعد زبان‌شناسی

ترکیب هوش مصنوعی و قواعد زبانی می‌تونه بهترین نتایج رو بده.

شروع پروژه : تحلیل احساسات (Sentiment Analysis)

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

۱. آماده‌

سازی محیط

برای شروع، باید پایتون و کتابخانه‌های مورد نیاز را نصب کنیم:

pip install hazm scikit-learn pandas

۲. آماده‌سازی داده‌ها

ما نیاز داریم مجموعه‌ای از جملات فارسی همراه با برچسب احساس (مثلاً مثبت یا منفی). برای تست اولیه می‌توانیم یک دیتاست کوچک بسازیم:

import pandas as pd

data = {
    "text": [
        "این محصول فوق‌العاده بود، خیلی راضی‌ام",
        "کیفیتش افتضاح بود، پشیمون شدم",
        "ارسال سریع و بسته‌بندی عالی بود",
        "خدمات مشتری ضعیف و بی‌احترامی کامل",
        "خیلی خوشم اومد، دوباره خرید می‌کنم",
        "بدترین تجربه خرید من بود"
    ],
    "label": [1, 0, 1, 0, 1, 0]  # 1 = مثبت، 0 = منفی
}

df = pd.DataFrame(data)
print(df)

۳. ساخت توکنایزر فارسی

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

from hazm import Normalizer, word_tokenize

normalizer = Normalizer()

def custom_tokenizer(text):
    # نرمال‌سازی متن
    text = normalizer.normalize(text)
    # توکنایز کردن
    tokens = word_tokenize(text)
    # حذف توکن‌های تک‌حرفی یا بی‌معنی
    tokens = [t for t in tokens if len(t) > 1]
    return tokens

# تست
sample = "این محصول واقعاً عالی بود!"
print(custom_tokenizer(sample))

 

۴. تبدیل متن به ویژگی عددی

برای اینکه متن‌ها را وارد مدل یادگیری ماشین کنیم باید آن‌ها را به بردار عددی تبدیل کنیم. از TfidfVectorizer استفاده می‌کنیم و توکنایزر سفارشی خودمان را به آن می‌دهیم.
 

from sklearn.feature_extraction.text import TfidfVectorizer

vectorizer = TfidfVectorizer(tokenizer=custom_tokenizer)
X = vectorizer.fit_transform(df["text"])
y = df["label"]

۵. آموزش مدل یادگیری ماشین

از یک مدل ساده مثل Logistic Regression استفاده می‌کنیم.

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = LogisticRegression()
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print("دقت مدل:", accuracy_score(y_test, y_pred))

۶. تست پروژه روی جملات جدید

اکنون می‌توانیم متن‌های جدید را تست کنیم:
 

new_texts = [
    "این گوشی خیلی خوب کار می‌کنه",
    "کیفیت ساختش وحشتناک پایینه"
]

X_new = vectorizer.transform(new_texts)
predictions = model.predict(X_new)

for text, label in zip(new_texts, predictions):
    print(f"جمله: {text} => {'مثبت' if label == 1 else 'منفی'}")

✨ خروجی نمونه:

دقت مدل: 1.0
جمله: این گوشی خیلی خوب کار می‌کنه => مثبت
جمله: کیفیت ساختش وحشتناک پایینه => منفی

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

بهبود کیفیت توکنایزر فارسی با حذف توقف‌واژه‌ها (Stopwords Removal)

پاراگراف ۱:
یکی از مشکلات اصلی در پردازش متن فارسی، وجود کلمات پرکاربردی مثل "است"، "را"، "که" و ... است که معنای خاصی ندارند اما در متن‌ها زیاد تکرار می‌شوند. اگر این کلمات در فرآیند توکنایز باقی بمانند، مدل یادگیری ماشین ما را گمراه می‌کنند. بنابراین، حذف توقف‌واژه‌ها یک مرحله حیاتی در بهبود کیفیت توکنایزر محسوب می‌شود.

پاراگراف ۲:
برای حذف توقف‌واژه‌ها در زبان فارسی، می‌توان از لیست‌های آماده مانند توقف‌واژه‌های کتابخانه Hazm استفاده کرد یا یک لیست سفارشی متناسب با دامنه پروژه ساخت. مثلا اگر پروژه ما مربوط به نظرات کاربران در فروشگاه‌های اینترنتی باشد، کلماتی مانند "محصول"، "خرید" یا "فروشگاه" ممکن است بی‌اهمیت شوند.


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


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


حذف توقف‌واژه‌ها نه‌تنها سرعت پردازش را بالا می‌برد بلکه در بسیاری از موارد باعث می‌شود مدل روی کلمات کلیدی واقعی تمرکز کند. این موضوع در دیتاست‌های بزرگ با میلیون‌ها کلمه، اهمیت بسیار بیشتری پیدا می‌کند چون مصرف منابع سیستم را به‌شدت کاهش می‌دهد.


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


یک روش خوب برای پیدا کردن توقف‌واژه‌های مناسب پروژه، بررسی پرتکرارترین کلمات در دیتاست است. با این کار می‌توان متوجه شد کدام کلمات بیشتر جنبه دستوری دارند تا معنایی، و آن‌ها را به لیست توقف‌واژه‌ها اضافه کرد.


در نهایت، اضافه کردن مرحله حذف توقف‌واژه‌ها به توکنایزر فارسی، گام مهمی در بهینه‌سازی پروژه NLP ماست. این کار نه‌تنها کیفیت مدل تحلیل احساسات را بالا می‌برد بلکه باعث می‌شود مدل در پردازش متن‌های واقعی عملکرد بهتری داشته باشد.

ریشه‌یابی (Stemming) و لماتیزیشن (Lemmatization) در متون فارسی


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


ریشه‌یابی (Stemming) فرآیندی است که کلمات را به شکل پایه‌ای خود برمی‌گرداند، حتی اگر کمی خشن باشد. مثلا "خریدم"، "می‌خرید" و "خریداری" را همه به "خرید" تبدیل می‌کند. این باعث می‌شود حجم داده‌ها کاهش یابد.


لماتیزیشن (Lemmatization) از ریشه‌یابی دقیق‌تر است، زیرا علاوه بر حذف پسوندها و پیشوندها، قواعد دستوری را هم در نظر می‌گیرد. مثلا "رفته‌ام" به "رفتن" تبدیل می‌شود که معنای دقیق‌تری دارد.


در زبان فارسی ابزارهایی مثل Hazm امکان ریشه‌یابی و لماتیزیشن را فراهم می‌کنند. می‌توانیم این قابلیت‌ها را در توکنایزر سفارشی خودمان به‌کار ببریم تا همه کلمات به شکل یکسان و استاندارد دربیایند.


یک مثال ساده: جمله "من دیروز کتاب‌هایم را خریدم" بعد از لماتیزیشن به "من دیروز کتاب را خرید" تبدیل می‌شود. حالا مدل یادگیری ماشین خیلی راحت‌تر می‌تواند معنای جمله را پردازش کند.


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


البته در برخی پروژه‌ها ریشه‌یابی بیش از حد می‌تواند مشکل‌ساز شود. مثلا اگر "بانک" (مؤسسه مالی) و "بانک" (لبه رودخانه) هر دو به یک ریشه برسند، مدل در درک معنای واقعی جمله اشتباه می‌کند.


به همین دلیل، ترکیب ریشه‌یابی + لماتیزیشن یکی از بهترین راهکارها برای پردازش متون فارسی است. این دو مرحله به توکنایزر ما قدرت بیشتری می‌دهند و باعث می‌شوند پروژه تحلیل احساسات کارایی بیشتری داشته باشد.

گسترش پروژه با مدل‌های پیشرفته: استفاده از BERT فارسی

پاراگراف ۱:
بعد از ساخت توکنایزر ساده و استفاده از آن در مدل‌های کلاسیک مثل Logistic Regression، می‌توانیم پروژه را به مرحله بالاتری ببریم: استفاده از مدل‌های ترانسفورمر مثل BERT فارسی. این مدل‌ها توانایی درک عمیق‌تر متن و معنای کلمات را دارند.

پاراگراف ۲:
BERT با استفاده از معماری Attention کار می‌کند و می‌تواند ارتباط بین کلمات را در متن تشخیص دهد. مثلا در جمله "او کتاب را خواند چون امتحان داشت"، BERT می‌فهمد که "او" به فاعل جمله اشاره دارد.

پاراگراف ۳:
نسخه‌های فارسی BERT مانند ParsBERT و mBERT وجود دارند که روی دیتاست‌های بزرگ فارسی آموزش داده شده‌اند. این مدل‌ها آماده استفاده هستند و می‌توانیم آن‌ها را برای پروژه تحلیل احساسات فارسی Fine-tune کنیم.

پاراگراف ۴:
برای شروع، باید کتابخانه‌های لازم را نصب کنیم:

pip install transformers torch


بعد می‌توانیم از مدل آماده ParsBERT استفاده کنیم و آن را روی دیتاست خودمان آموزش دهیم. این کار کمی سنگین‌تر از مدل‌های ساده است اما نتایج بسیار بهتری ارائه می‌دهد.


یک مثال: اگر به مدل جمله "این گوشی خوب نیست ولی ظاهر زیبایی دارد" بدهیم، ParsBERT قادر است تشخیص دهد که جمله هم بار منفی دارد و هم مثبت، اما در نهایت وزن بیشتری روی "خوب نیست" بگذارد.


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


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

جمع‌بندی

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

کلیدواژه ها

NLP, پروژه واقعی, توکنایزر فارسی, تحلیل احساسات, پردازش زبان طبیعی, پایتون, یادگیری ماشین, متن‌کاوی, پروژه عملی, آموزش برنامه نویسی

پرسش و پاسخ

1 . چرا توکنایزر برای زبان فارسی چالش‌برانگیزتر از انگلیسی است؟
به خاطر نیم‌فاصله، کلمات مرکب و تنوع شکل‌های یک واژه، توکنایز فارسی سخت‌تر از انگلیسیه.

2 . آیا می‌توان از توکنایزر انگلیسی برای فارسی استفاده کرد؟
نه، چون ساختار فارسی کاملاً متفاوته و توکنایزر انگلیسی جواب نمی‌ده.

3 . بهترین کتابخانه برای توکنایز متون فارسی کدام است؟
کتابخانه Hazm یکی از بهترین‌هاست، ولی Parsivar هم گزینه خیلی خوبیه.

4 . آیا ساخت توکنایزر نیاز به دانش برنامه‌نویسی دارد؟
بله، حداقل باید با یک زبان مثل پایتون آشنا باشی تا بتونی پیاده‌سازی کنی.

5 . آینده توکنایزرها در فارسی چگونه خواهد بود؟
با ورود مدل‌های ترنسفورمر و یادگیری عمیق، توکنایزرها دقیق‌تر و هوشمندتر خواهند شد.

دیدگاه ها

برای ارسال دیدگاه وارد حساب کاربری خود شوید.