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

# sequence_tagger

این ماژول شامل کلاس‌ها و توابعی برای برچسب‌گذاری توکن‌هاست.

## `SequenceTagger`

این کلاس شامل توابعی برای برچسب‌گذاری توکن‌ها است. این کلاس در نقش یک wrapper برای کتابخانهٔ python-crfsuite است.

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`model` | `str` | مسیر فایل tagger. | `None`
`data_maker` | `function` | تابعی که لیستی دو بعدی از کلمات توکنایز شده را گرفته و لیست دو بعدی از از دیکشنری‌هایی که تعیین‌کننده ویژگی‌ها هر کلمه هستند را برمی‌گرداند. | `data_maker`

### `load_model(model)`

فایل تگر را بارگزاری می‌کند.

مثال‌ها:

    >>> tagger = SequenceTagger()
    >>> tagger.load_model(model = 'tagger.model')

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`model` | `str` | مسیر فایل تگر. | اجباری

### `tag(tokens)`

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

مثال‌ها:

    >>> tagger = SequenceTagger(model = 'tagger.model')
    >>> tagger.tag(tokens = ['من', 'به', 'مدرسه', 'ایران', 'رفته_بودم', '.'])
    [('من', 'PRON'), ('به', 'ADP'), ('مدرسه', 'NOUN,EZ'), ('ایران', 'NOUN'), ('رفته_بودم', 'VERB'), ('.', 'PUNCT')]

پارامترها:

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

خروجی‌ها:

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

### `tag_sents(sentences)`

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

هر لیست از `(توکن، برچسب)`ها مربوط به یک جمله است.

مثال‌ها:

    >>> tagger = SequenceTagger(model = 'tagger.model')
    >>> tagger.tag_sents(sentences = [['من', 'به', 'مدرسه', 'ایران', 'رفته_بودم', '.']])
    [[('من', 'PRON'), ('به', 'ADP'), ('مدرسه', 'NOUN,EZ'), ('ایران', 'NOUN'), ('رفته_بودم', 'VERB'), ('.', 'PUNCT')]]

پارامترها:

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

خروجی‌ها:

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

### `train(tagged_list, c1=0.4, c2=0.04, max_iteration=400, verbose=True, file_name='crf.model', report_duration=True)`

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

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

مثال‌ها:

    >>> tagger = SequenceTagger()
    >>> tagger.train(tagged_list = [[('من', 'PRON'), ('به', 'ADP'), ('مدرسه', 'NOUN,EZ'), ('ایران', 'NOUN'), ('رفته_بودم', 'VERB'), ('.', 'PUNCT')]], c1 = 0.5, c2 = 0.5, max_iteration = 100, verbose = True, file_name = 'tagger.model', report_duration = True)
    Feature generation
    type: CRF1d
    feature.minfreq: 0.000000
    feature.possible_states: 0
    feature.possible_transitions: 1
    0....1....2....3....4....5....6....7....8....9....10
    Number of features: 150
    Seconds required: 0.001
    ...
    Writing feature references for attributes
    Seconds required: 0.000

training time: 0.01 sec

پارامترها:

نام | نوع | توضیحات | پیش‌فرض
--- | --- | --- | ---
`tagged_list` | `List[{List[Tuple[str,str]]]` | جملاتی که مدل از روی آن‌ها آموزش می‌بیند. | اجباری
`c1` | `float` | مقدار L1 regularization. | `0.4`
`c2` | `float` | مقدار L2 regularization. | `0.04`
`max_iteration` | `int` | تعداد تکرار آموزش بر کل دیتا. | `400`
`verbose` | `boolean` | نمایش اطلاعات مربوط به آموزش. | `True`
`file_name` | `str` | نام و مسیر فایلی که می‌خواهید مدل در آن ذخیره شود. | `'crf.model'`
`report_duration` | `boolean` | نمایش گزارشات مربوط به زمان. | `True`

### `save_model(filename)`

مدل تهیه‌شده توسط تابع train() را ذخیره می‌کند.

مثال‌ها:

    >>> tagger = SequenceTagger()
    >>> tagger.train(tagged_list = [[('من', 'PRON'), ('به', 'ADP'), ('مدرسه', 'NOUN,EZ'), ('ایران', 'NOUN'), ('رفته_بودم', 'VERB'), ('.', 'PUNCT')]], c1 = 0.5, c2 = 0.5, max_iteration = 100, verbose = True, file_name = 'tagger.model', report_duration = True)
    >>> tagger.save_model(file_name = 'new_tagger.model')

پارامترها:

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

### `evaluate(tagged_sent)`

داده صحیح دریافت شده را با استفاده از مدل لیبل می‌زند و دقت مدل را برمی‌گرداند.

مثال‌ها:

    >>> tagger = SequenceTagger(model = 'tagger.model')
    >>> tagger.evaluate([[('نامه', 'NOUN,EZ'), ('ایشان', 'PRON'), ('را', 'ADP'), ('دریافت', 'NOUN'), ('داشتم', 'VERB'), ('.', 'PUNCT')]])
    1.0

پارامترها:

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

خروجی‌ها:

نوع | توضیحات
--- | ---
`float` | دقت مدل

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

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

- Google Analytics
- GitHub

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