.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "SLMBUILD 1" .TH SLMBUILD 1 2024-07-13 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" slmbuild \- تولید مدل زبانی از فایل idngram .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" slmbuild [\fIoption\fR]... \fIidngram_file\fR... .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" دستور \&\fBslmbuild\fR یک مدل زبانی هموارسازی پس‌گرد (back-off smoothing language model) را از یک فایل idngram مشخص تولید می‌کند. معمولاً فایل \fIidngram_file\fR توسط \fBids2ngram\fR ساخته می‌شود. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS All the following options are mandatory." تمامی گزینه‌های زیر الزامی هستند. .IP "\fB\-n\fR,\fB\-\-NMax\fR \fIN\fR" 4 .IX Item "-n,--NMax N" مقدار 1 برای unigram، مقدار 2 برای bigram و 3 برای trigram. هر عددی خارج از بازه 1..3 نامعتبر است. .IP "\fB\-o\fR, \fB\-\-out\fR \fIoutput-file\fR" 4 .IX Item "-o, --out output-file" تعیین نام فایل خروجی. .IP "\fB\-l\fR, \fB\-\-log\fR" 4 .IX Item "-l, --log" استفاده از \fI\-log(pr)\fR؛ در حالت پیش‌فرض مستقیماً از \fIpr\fR استفاده می‌شود. .IP "\fB\-w\fR, \fB\-\-wordcount\fR \fIN\fR" 4 .IX Item "-w, --wordcount N" اندازه واژگان (lexicon)، تعداد کلمات متمایز. .IP "\fB\-b\fR, \fB\-\-brk\fR \fIid\fR..." 4 .IX Item "-b, --brk id..." تعیین شناسه‌هایی (id) که باید به عنوان جداکننده (breaker) در نظر گرفته شوند. .IP "\fB\-e\fR, \fB\-\-e\fR \fIid\fR..." 4 .IX Item "-e, --e id..." تعیین شناسه‌هایی (id) که نباید در مدل زبانی (LM) قرار گیرند. .IP "\fB\-c\fR, \fB\-\-cut\fR \fIc\fR..." 4 .IX Item "-c, --cut c..." مواردی از k\-gram که بسامد (freq) آن‌ها <= c[k] باشد کنار گذاشته می‌شوند. .IP "\fB\-d\fR, \fB\-\-discount\fR \fImethod\fR, \fIparam\fR..." 4 .IX Item "-d, --discount method, param..." پارامتر k\-ام \fB\-d\fR روش تخفیف (discount) را مشخص می‌کند. .Sp برای k\-gram، مقادیر ممکن برای method/param عبارتند از: .Sp .Vb 7 \& B,I,I : تخفیف B برای r E= I؛ r بسامد یک ngram است. \& تخفیف خطی برای r E I، یعنی r\*(Aq=r*dis \& 0 EE dis E 1.0، برای مثال 0.999 \& B,[I] : تخفیف مطلق r\*(Aq=r\-I، و I اختیاری است \& 0 EE I E cut[k]+1.0، معمولاً I E 1.0. \& LIN,[I] : تخفیف خطی r\*(Aq=r*dis، و dis اختیاری است \& 0 E dis E 1.0 .Ve .SH "نکات (NOTES)" .IX Header "NOTE" گزینه \&\fB\-n\fR باید پیش از \fB\-c\fR و \fB\-b\fR مشخص شود. همچنین \fB\-c\fR باید تعداد صحیحی از مقادیر cut-off را تعیین کند؛ گزینه‌های \fB\-d\fR نیز باید دقیقاً N بار تکرار شوند تا تخفیف‌ها را به ترتیب برای 1\-gram، 2\-gram و... مشخص کنند. .PP شناسه‌های BREAKER-ID می‌توانند SentenceTokens یا ParagraphTokens باشند. از نظر مفهومی، این شناسه‌ها هنگامی که در میان یک n\-gram قرار گیرند هیچ معنایی ندارند. .PP شناسه‌های EXCLUDE-ID می‌توانند شناسه‌های مبهم (ambiguous-ids) باشند. از نظر مفهومی، n\-gramهایی که شامل این شناسه‌ها باشند بی‌معنی هستند. .PP نمی‌توان n-gramها را مستقیماً بر اساس BREAKER-IDها و EXCLUDE-IDها از فایل IDNGRAM حذف کرد، چرا که برخی از اطلاعات سطح پایین موجود در آن همچنان مفید هستند. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLE" مثال زیر فایل 'all.id3gram' را می‌خواند و مدل trigram با نام 'all.slm' را می‌نویسد. .PP در سطح 1\-gram، از تخفیف Good-Turing با cut-off برابر با 0، مقدار R=8 و \fIdis\fR=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) استفاده می‌کند. .PP \&\fBslmbuild \-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\fR .SH "نویسندگان (AUTHORS)" .IX Header "AUTHOR" در ابتدا توسط Phill.Zhang نوشته شده است. در حال حاضر توسط Kov.Chai نگهداری می‌شود. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBids2ngram\fR(1), \fBslmprune\fR(1).