| SLMBUILD(1) | User Contributed Perl Documentation | SLMBUILD(1) |
نام (NAME)
slmbuild - تولید مدل زبانی از فایل idngram
خلاصه دستور (SYNOPSIS)
slmbuild [option]... idngram_file...
توضیحات (DESCRIPTION)
دستور slmbuild یک مدل زبانی هموارسازی پسگرد (back-off smoothing language model) را از یک فایل idngram مشخص تولید میکند. معمولاً فایل idngram_file توسط ids2ngram ساخته میشود.
گزینهها (OPTIONS)
تمامی گزینههای زیر الزامی هستند.
- -n,--NMax N
- مقدار 1 برای unigram، مقدار 2 برای bigram و 3 برای trigram. هر عددی خارج از بازه 1..3 نامعتبر است.
- -o, --out output-file
- تعیین نام فایل خروجی.
- -l, --log
- استفاده از -log(pr)؛ در حالت پیشفرض مستقیماً از pr استفاده میشود.
- -w, --wordcount N
- اندازه واژگان (lexicon)، تعداد کلمات متمایز.
- -b, --brk id...
- تعیین شناسههایی (id) که باید به عنوان جداکننده (breaker) در نظر گرفته شوند.
- -e, --e id...
- تعیین شناسههایی (id) که نباید در مدل زبانی (LM) قرار گیرند.
- -c, --cut c...
- مواردی از k-gram که بسامد (freq) آنها <= c[k] باشد کنار گذاشته میشوند.
- -d, --discount method, param...
- پارامتر
k-ام -d روش
تخفیف (discount) را
مشخص
میکند.
برای k-gram، مقادیر ممکن برای method/param عبارتند از:
B<GT>,I<R>,I<dis> : تخفیف B<GT> برای r E<lt>= I<R>؛ r بسامد یک ngram است. تخفیف خطی برای r E<gt> I<R>، یعنی r'=r*dis 0 E<lt>E<lt> dis E<lt> 1.0، برای مثال 0.999 B<ABS>,[I<dis>] : تخفیف مطلق r'=r-I<dis>، و I<dis> اختیاری است 0 E<lt>E<lt> I<dis> E<lt> cut[k]+1.0، معمولاً I<dis> E<lt> 1.0. LIN,[I<dis>] : تخفیف خطی r'=r*dis، و dis اختیاری است 0 E<lt> dis E<lt> 1.0
نکات (NOTES)
گزینه -n باید پیش از -c و -b مشخص شود. همچنین -c باید تعداد صحیحی از مقادیر cut-off را تعیین کند؛ گزینههای -d نیز باید دقیقاً N بار تکرار شوند تا تخفیفها را به ترتیب برای 1-gram، 2-gram و... مشخص کنند.
شناسههای BREAKER-ID میتوانند SentenceTokens یا ParagraphTokens باشند. از نظر مفهومی، این شناسهها هنگامی که در میان یک n-gram قرار گیرند هیچ معنایی ندارند.
شناسههای EXCLUDE-ID میتوانند شناسههای مبهم (ambiguous-ids) باشند. از نظر مفهومی، n-gramهایی که شامل این شناسهها باشند بیمعنی هستند.
نمیتوان n-gramها را مستقیماً بر اساس BREAKER-IDها و EXCLUDE-IDها از فایل IDNGRAM حذف کرد، چرا که برخی از اطلاعات سطح پایین موجود در آن همچنان مفید هستند.
مثالها (EXAMPLES)
مثال زیر فایل 'all.id3gram' را میخواند و مدل trigram با نام 'all.slm' را مینویسد.
در سطح 1-gram، از تخفیف Good-Turing با cut-off برابر با 0، مقدار R=8 و dis=0.9995 استفاده میشود. در سطح 2-gram، از تخفیف Absolute با cut-off برابر با 3 و محاسبه خودکار dis استفاده میشود. در سطح 3-gram، از تخفیف Absolute با cut-off برابر با 2 و محاسبه خودکار dis استفاده میشود. شناسههای کلمه 10، 11 و 12 جداکننده هستند (جداکننده جمله/پاراگراف/مقاله و غیره). مقدار Exclude-ID برابر 9 است. واژگان شامل 200000 کلمه است. مدل زبانی حاصل از -log(pr) استفاده میکند.
slmbuild -l -n 3 -o all.slm -w 200000 -c 0,3,2 -d GT,8,0.9995 -d ABS -d ABS -b 10,11,12 -e 9 all.id3gram
نویسندگان (AUTHORS)
در ابتدا توسط Phill.Zhang <phill.zhang@sun.com> نوشته شده است. در حال حاضر توسط Kov.Chai <tchaikov@gmail.com> نگهداری میشود.
همچنین ببینید (SEE ALSO)
| 2024-07-13 | perl v5.38.2 |