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

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]]

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