# توکن‌سازی

توکن‌سازی فرایند شکستن متن به واحدهای کوچک‌تر به نام «توکن» است. این توکن‌ها می‌توانند جمله، واژه یا حتی نویسه باشند. توکن‌سازی یکی از مراحل کلیدی در NLP است، چون به درک ساختار متن کمک می‌کند و در پیش‌پردازش مدل‌های یادگیری ماشین، موتورهای جست‌وجو و ابزارهای تحلیل متن کاربرد فراوان دارد.

## WordTokenizer

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

نمونهٔ استفاده:

```python
from shekar import WordTokenizer

text = "چه سیب‌های قشنگی! حیات نشئهٔ تنهایی است."
tokenizer = WordTokenizer()
tokens = tokenizer.tokenize(text)

print(list(tokens))
```

```shell
['چه', 'سیب‌های', 'قشنگی', '!', 'حیات', 'نشئهٔ', 'تنهایی', 'است', '.']
```

## SentenceTokenizer

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

نمونهٔ استفاده:

```python
from shekar import SentenceTokenizer

text = "هدف ما کمک به یکدیگر است! ما می‌توانیم با هم کار کنیم."
tokenizer = SentenceTokenizer()
sentences = tokenizer(text)

for sentence in sentences:
    print(sentence)
```

```shell
هدف ما کمک به یکدیگر است!
ما می‌توانیم با هم کار کنیم.
```
