پرش به محتویات

# peykare_reader

این ماژول شامل کلاس‌ها و توابعی برای خواندن پیکرهٔ Peykare است.

peykare پیکرهٔ جموعه‌ای از متون نوشتاری و گفتاری رسمی زبان فارسی است که از منابع واقعی همچون روزنامه‌ها، سایت‌ها و مستنداتِ از قبل تایپ‌شده، جمع‌آوری شده، تصحیح گردیده و برچسب خورده است. حجم این دادگان حدوداً ۱۰۰ میلیون کلمه است و از منابع مختلف تهیه گردیده و دارای تنوع بسیار زیادی است. ۱۰ میلیون کلمه از این پیکره با استفاده از ۸۸۲ برچسب نحوی-معنایی به صورت دستی توسط دانشجویان رشتهٔ زبان‌شناسی برچسب‌دهی شده‌اند و هر پرونده بر حسب موضوع و منبع آن طبقه‌بندی شده است. این پیکره که توسط پژوهشکده پردازش هوشمند علائم تهیه شده است، برای استفاده در آموزش مدل زبانی و سایر پروژه‌های مربوط به پردازش زبان طبیعی مناسب است.

## `PeykareReader`

این کلاس شامل توابعی برای خواندن پیکرهٔ Peykare است.

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`root` | `str` | آدرس فولدر حاوی فایل‌های پیکره. | اجباری
`joined_verb_parts` | `bool` | اگر `True‍` باشد افعال چندقسمتی به‌شکل چسبیده‌به‌هم برگردانده_می‌شود. | `True`
`pos_map` | `str` | دیکشنری مبدل برچسب‌های ریز به درشت. | `coarse_pos_e`

### `docs()`

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

خروجی تدریجی:

نوع | توضیحات
--- | ---
`str` | متن خام سند بعدی.

### `doc_to_sents(document)`

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

هر جمله لیستی از `(کلمه, برچسب)`ها است.

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`document` | `str` | سندی که باید تبدیل شود. | اجباری

خروجی تدریجی:

نوع | توضیحات
--- | ---
`List[Tuple[str, str]]` | `ها جملهٔ بعدی در قالب لیستی از`(کلمه، برچسب).

### `sents()`

جملات پیکره را در قالب لیستی از `(توکن، برچسب)`ها برمی‌گرداند.

مثال‌ها:

    >>> peykare = PeykareReader(root='peykare')
    >>> next(peykare.sents())
    [('دیرزمانی', 'N'), ('از', 'P'), ('راه‌اندازی', 'N,EZ'), ('شبکه‌ی', 'N,EZ'), ('خبر', 'N,EZ'), ('الجزیره', 'N'), ('نمی‌گذرد', 'V'), ('،', 'PUNC'), ('اما', 'CONJ'), ('این', 'DET'), ('شبکه‌ی', 'N,EZ'), ('خبری', 'AJ,EZ'), ('عربی', 'N'), ('بسیار', 'ADV'), ('سریع', 'ADV'), ('توانسته', 'V'), ('در', 'P'), ('میان', 'N,EZ'), ('شبکه‌های', 'N,EZ'), ('عظیم', 'AJ,EZ'), ('خبری', 'AJ'), ('و', 'CONJ'), ('بنگاه‌های', 'N,EZ'), ('چندرسانه‌ای', 'AJ,EZ'), ('دنیا', 'N'), ('خودی', 'N'), ('نشان', 'N'), ('دهد', 'V'), ('.', 'PUNC')]

خروجی تدریجی:

نوع | توضیحات
--- | ---
`List[Tuple[str, str]]` | جملهٔ بعدی در قالب لیستی از `(توکن، برچسب)`ها.

## `coarse_pos_u(tags, word)`

برچسب‌های ریز را به برچسب‌های درشت منطبق با استاندارد جهانی (coarse-grained universal pos tags) تبدیل می‌کند.

مثال‌ها:

    >>> coarse_pos_u(['N','COM','SING'], 'الجزیره')
    'NOUN'

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`tags` | `List[str]` | لیست برچسب‌های ریز. | اجباری
`word` | `str` | برچسبی که می‌خواهید به برچسب جهانی تبدیل شود. | اجباری

خروجی‌ها:

نوع | توضیحات
--- | ---
`List[str]` | لیست برچسب‌های درشت جهانی.

## `coarse_pos_e(tags, word)`

برچسب‌های ریز را به برچسب‌های درشت (coarse-grained pos tags) تبدیل می‌کند.

مثال‌ها:

    >>> coarse_pos_e(['N','COM','SING'],'الجزیره')
    'N'

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`tags` | `List[str]` | لیست برچسب‌های ریز. | اجباری

خروجی‌ها:

نوع | توضیحات
--- | ---
`List[str]` | لیست برچسب‌های درشت.

## `join_verb_parts(sentence)`

جمله را در قالب لیستی از `(توکن، برچسب)‌`ها می‌گیرد و توکن‌های مربوط به افعال چندبخشی را با کاراکتر زیرخط (_) به هم می‌چسباند.

مثال‌ها:

    >>> join_verb_parts([('اولین', 'AJ'), ('سیاره', 'Ne'), ('خارج', 'AJ'), ('از', 'P'), ('منظومه', 'Ne'), ('شمسی', 'AJ'), ('دیده', 'AJ'), ('شد', 'V'), ('.', 'PUNC')])
    [('اولین', 'AJ'), ('سیاره', 'Ne'), ('خارج', 'AJ'), ('از', 'P'), ('منظومه', 'Ne'), ('شمسی', 'AJ'), ('دیده_شد', 'V'), ('.', 'PUNC')]

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`sentence` | `List[Tuple[str, str]]` | جمله در قالب لیستی از `(توکن، برچسب)`ها. | اجباری

خروجی‌ها:

نوع | توضیحات
--- | ---
`List[Tuple[str, str]]` | لیستی از `(توکن، برچسب)`ها که در آن افعال چندبخشی در قالب یک توکن با کاراکتر زیرخط به هم چسبانده شده‌اند.

#### درخواست استفاده از کوکی

با پذیرش کوکی به ما اجازه می‌دهید تا با بررسی تعامل شما با سایت و شناسایی بازدیدهای بعدی‌‌تان، کیفیت مستندات را بهبود ببخشیم.
سپاس از همکاری شما. ❤️

- Google Analytics
- GitHub

مدیریت تنظیمات