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

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

دقت مدل