کار با متن فارسی تو دنیای هوش مصنوعی و پردازش زبان طبیعی همیشه دردسرهای خاص خودش رو داشته؛ از نیمفاصله و فاصلهگذاری گرفته تا فعلهای ترکیبی و پیشوندی، شکلهای مختلف نوشتن یک واژه و قاطی شدن فارسی رسمی و محاورهای. خیلی وقتها ابزارهایی که برای زبانهای دیگه خوب جواب میدن، روی فارسی یا دقت کافی ندارن یا اصلا براش طراحی نشدن. شِکَر دقیقا برای حل همین مشکل ساخته شده؛ یک کتابخانه متنباز و سبک که تمرکزش فقط روی فارسیه و سعی میکنه پردازش متن فارسی رو هم دقیقتر کنه، هم سادهتر و هم قابل استفاده تو پروژههای واقعی.
راحت و سرراست برای استفاده
لازم نیست حتما متخصص NLP باشی تا بتونی با شِکَر کار کنی. APIها ساده و قابل فهم طراحی شدن و خیلی سریع میشه تو پروژه ازش استفاده کرد.
ماژولار و انعطافپذیر
هر بخش شِکَر مثل نرمالایزر، توکنایزر یا مدلها بهصورت جداگانه قابل استفادهست. میتونی فقط همون چیزی که لازم داری رو برداری یا چند تا ماژول رو با هم ترکیب کنی.
سبک و سریع
شِکَر طوری طراحی شده که روی سیستمهای معمولی هم خوب و روان اجرا بشه. برای کار با دیتای بزرگ یا استفاده تو محیطهای واقعی، دردسر منابع سنگین رو نداره.
متنباز و آزاد برای توسعه
شِکَر با مجوز MIT منتشر شده، یعنی میتونی با خیال راحت تو پروژههای شخصی، دانشگاهی یا حتی تجاری ازش استفاده کنی و اگه دوست داشتی تو توسعهاش هم مشارکت کنی یا issue ثبت کنی. ریپازیتوری گیتهاب شِکَر از آدرس زیر دردسترسه:
https://github.com/amirivojdan/shekar

شِکَر از همون اول با این دید ساخته شده که مشکلات واقعی متن فارسی رو حل کنه، نه فقط مثالهای تمیز و آزمایشگاهی رو. یکی از مهمترین ویژگیهاش نرمالایزر (Normalizer) خیلی دقیقشه؛ ابزاری که میتونه متنهای شلوغ دنیای واقعی رو سر و شکل بده، فاصلهگذاری و نیمفاصلهها رو درست کنه، حروف عربی و فارسی رو یکدست کنه و کلی ریزهکاری زبانی رو که معمولا نادیده گرفته میشن، رعایت کنه. نتیجهاش متنیه که هم از نظر نگارشی درستتره و هم برای مدلهای یادگیری ماشین خیلی قابل اعتمادتر.
از طرف دیگه، شِکَر طوری طراحی شده که ماژولار باشه. یعنی لازم نیست برای استفاده از یک قابلیت، کل کتابخونه رو با خودش بکشی تو پروژه. هر بخش مثل normalizer، tokenizer، stemmer، lemmatizer یا مدلهای زبانی بهصورت مستقل قابل استفادهست و میشه خیلی راحت اونها رو با هم ترکیب کرد یا حتی جایگزینشون کرد. این موضوع هم برای پروژههای پژوهشی مهمه، هم برای محصولهایی که باید سبک و قابل نگهداری بمونن.
در کنار اینها، شِکَر ابزارهای مدرنتری هم ارائه میده؛ مثل Embeddingهای واژه و جمله، برچسبگذاری نقش دستوری (POS tagging) و تشخیص موجودیتهای نامدار (Named Entity Recognition). این یعنی میشه با شِکَر سراغ کارهای جدیتر مثل تحلیل معنا، خوشهبندی متن، جستجوی هوشمند یا تحلیل احساس رفت، بدون این که از چند تا کتابخونه مختلف استفاده بشه و آخرش هم همهچیز به هم نریزه.