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
|
دقت مدل |