.\" Portability macros (not validated). .\" FIXME: For some reason in man2html the registers are always null-strings. .\" Also, in man2html the code doesn't display the HTML code even .\" if the conditionals are changed to always be true. . .\" Check whether we are using grohtml. .nr mH 0 .if \n(.g \ . if '\*(.T'html' \ . nr mH 1 . .\" Start URL. .de UR . ds m1 \\$1\" . nh . if \\n(mH \{\ . \" Start diversion in a new environment. . do ev URL-div . do di URL-div . \} .. . . .\" End URL. .de UE . ie \\n(mH \{\ . br . di . ev . . \" Has there been one or more input lines for the link text? . ie \\n(dn \{\ . do HTML-NS "" . \" Yes, strip off final newline of diversion and emit it. . do chop URL-div . do URL-div \c . do HTML-NS . \} . el \ . do HTML-NS "\\*(m1" \&\\$*\" . \} . el \ \\*(la\\*(m1\\*(ra\\$*\" . . hy \\n(HY .. .\" define .EX/.EE (for multiline user-command examples; normal Courier font) .de EX .Vb .nf .ft CW .. .de EE .Ve .ft P .fi .. .\" ========================================================================= .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH LINK-PARSER 1 "2021-03-30" "Version 5.9.0" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH "نام (NAME)" link\-parser \- تجزیه جملات زبان طبیعی با استفاده از Link Grammar .SH "خلاصه دستور (SYNOPSIS)" .B link\-parser .RB \-\-help .br .B link\-parser .RB \-\-version .br .nf .B link\-parser [\fIlanguage\fP|\fIdict\_location\fP] \ \fR[\-\-quiet]\fP [\fI\-\fP...] .fi .SH "توضیحات (DESCRIPTION)" .PP .\" TeX users may be more comfortable with the \fB\fP and .\" \fI\fP escape sequences to invoke bold face and italics, .\" respectively. \fBlink\-parser\fP یک واسط خط فرمانی برای کتابخانه تجزیه زبان طبیعی \%link\-grammar است. این کتابخانه جملات نوشته‌شده به زبان‌های انگلیسی، روسی و سایر زبان‌ها را تجزیه کرده و درخت‌های پیوندی (linkage trees) تولید می‌کند که روابط میان فاعل، فعل و انواع صفت‌ها، قیدها و موارد دیگر را در جمله نشان می‌دهند. .PP .SH "مثال‌ها (EXAMPLES)" .EX .B link\-parser .EE .PP پوسته تعاملی تجزیه‌کننده را آغاز می‌کند. هر جمله‌ای را برای تجزیه وارد کنید: .PP .EX linkparser> \fBReading a man page is informative.\fP Found 18 linkages (18 had no P.P. violations) Linkage 1, cost vector = (UNUSED=0 DIS= 0.00 LEN=16) +------------------------Xp------------------------+ +--------------->WV-------------->+ | | +----------Ss*g---------+ | | +--------Os-------+ | | | | +---Ds**x---+ | | +--->Wd---+ +-PHc+---A--+ +---Pa---+ | | | | | | | | | LEFT\-WALL reading.g a man.ij page.n is.v informative.a . .EE.SH "پیش‌زمینه (BACKGROUND)" ابزار خط فرمانی \fBlink\-parser\fP برای کاوش کلی و استفاده کاربردی است، هرچند فرض بر این است که توسعه‌دهندگان برای تجزیه مقادیر زیاد متن، با استفاده از کتابخانه \%link\-grammar یک برنامه سفارشی ایجاد خواهند کرد. چندین برنامه از این دست در صفحه وب Link Grammar شرح داده شده‌اند (بخش «همچنین ببینید» در زیر را ملاحظه کنید). .PP نظریه Link Grammar در مقالات دانشگاهی متعددی توضیح داده شده است. در نخستینِ آن‌ها، دانیل سلیتر (Daniel Sleator) و دیوی تمپرلی (Davy Temperley)، در «تجزیه زبان انگلیسی با دستور زبان پیوندی» (۱۹۹۱)، نویسندگان یک سامانه دستور زبانی صوری جدید به نام «دستور زبان پیوندی» (link grammar) تعریف کردند. دنباله‌ای از کلمات در زبان یک دستور زبان پیوندی قرار دارد اگر روشی برای برقراری «پیوندها» بین کلمات وجود داشته باشد، به گونه‌ای که نیازمندی‌های محلی هر کلمه برآورده شود، پیوندها با هم تقاطع نداشته باشند و کلمات یک گراف همبند و سازگار تشکیل دهند. نویسندگان دستور زبان انگلیسی را در چنین سامانه‌ای پیاده‌سازی کردند و \%\fBlink\-parser\fP را برای تجزیه زبان انگلیسی با استفاده از این گرامر نوشتند. .PP موتوری که تجزیه را انجام می‌دهد از واژه‌نامه‌های توصیف‌کننده زبان جدا است. در حال حاضر، کامل‌ترین و توسعه‌یافته‌ترین واژه‌نامه‌ها برای زبان‌های انگلیسی و روسی هستند، اگرچه واژه‌نامه‌های آزمایشی و ناقصی برای زبان آلمانی و هشت زبان دیگر نیز وجود دارد. .SH "نمای کلی (OVERVIEW)" .PP \fBlink\-parser\fP هنگامی که به صورت دستی اجرا شود، یک شل تعاملی را آغاز کرده و کنترل ترمینال را در دست می‌گیرد. هر خطی که با یک علامت تعجب شروع شود، به عنوان یک «دستور ویژه» در نظر گرفته می‌شود؛ این دستورات در زیر شرح داده شده‌اند. دستور \%\fB!help\fP اطلاعات بیشتری ارائه می‌دهد؛ دستور \%\fB!variables\fP تمام دستورات ویژه را چاپ می‌کند. به این‌ها «متغیر» نیز گفته می‌شود، زیرا تقریباً تمام دستورات یک مقدار مرتبط با خود دارند: دستور معمولاً یک قابلیت را فعال یا غیرفعال می‌کند، یا تنظیمی چندمقداره را تغییر می‌دهد. .PP تمام ورودی‌های دیگر به عنوان یک تک‌جمله انگلیسی در نظر گرفته می‌شوند؛ جمله تجزیه شده و نتیجه تجزیه چاپ می‌شود. متغیرها تعیین می‌کنند چه چیزی چاپ شود: به‌طور پیش‌فرض، یک پیوندنگاشت گرافیکی اسکی (ASCII-graphics) چاپ می‌شود، هرچند خروجی PostScript نیز ممکن است. چاپ درخت سازه‌ها (constituent tree) نیز می‌تواند فعال شود. سایر کنترل‌های خروجی شامل چاپ منفصل‌ها (disjuncts) و داده‌های کامل پیوند است. .PP برای تحلیل جملات، \%\fBlink\-parser\fP به یک واژه‌نامه \%link\-grammar وابسته است. این واژه‌نامه شامل فهرست‌هایی از کلمات و متاداده‌های مرتبط با ویژگی‌های گرامری آن‌ها است. به‌طور پیش‌فرض یک واژه‌نامه زبان انگلیسی ارائه شده است. در صورتی که واژه‌نامه‌های زبان‌های دیگر در مسیرهای جستجوی پیش‌فرض نصب شده باشند، می‌توان آن‌ها را صراحتاً با استفاده از یک کد زبان دورقمی ISO مشخص کرد؛ بنابراین، برای مثال: .PP .RS 4 .EX .B link-parser de .EE .RE .PP شل تجزیه‌گر را با واژه‌نامه آلمانی راه‌اندازی می‌کند. .PP همچنین، مکان واژه‌نامه را می‌توان صراحتاً با یک مسیر فایل مطلق یا نسبی مشخص کرد؛ بنابراین، برای مثال: .PP .RS 4 .EX .B link\-parser /usr/share/link\-grammar/en .EE .RE .PP ابزار \%\fBlink\-parser\fP را با استفاده از واژه‌نامه انگلیسی واقع در دایرکتوری نصب معمول اجرا می‌کند. .PP همچنین می‌توان از \fBlink\-parser\fP در حالت غیرتعاملی («حالت دسته‌ای» یا batch mode) از طریق گزینه \%\fB\-batch\fP (یک دستور ویژه، زیر را ببینید) استفاده کرد؛ بنابراین، برای مثال: .PP .RS 4 .EX .B cat thesis.txt | link\-parser -batch .EE .RE .PP خطوط را از فایل \%\fBthesis.txt\fP خوانده و هر یک را به عنوان یک جمله کامل پردازش می‌کند. برای جملاتی که تجزیه کامل ندارند، عبارت زیر را .br .B +++++ error N .br (\fBN\fP یک عدد است) در خروجی استاندارد چاپ خواهد کرد. .PP همچنین، یک فایل ورودی را می‌توان با دستور ویژه \%\fB!file\fP \fIfilename\fP که در ادامه شرح داده شده است، مشخص کرد. .PP توجه داشته باشید که استفاده از «حالت دسته‌ای» چاپ معمول پیوندهای گرافیکی اسکی را غیرفعال می‌کند. جملات ورودی نیز به‌طور پیش‌فرض در stdout ظاهر نمی‌شوند. این ویژگی‌ها را می‌توان از طریق دستورات ویژه دوباره فعال کرد؛ دستورات ویژه می‌توانند لابه‌لای ورودی قرار گیرند. .PP به جای مشخص کردن \fB-batch\fP در خط فرمان، می‌توان \fB!batch\fP را در فایل ورودی مذکور تعیین کرد. .PP برای جزئیات بیشتر، از \fB!help batch\fP در شل تعاملی \%\fBlink\-parser\fP استفاده کنید. .SH "گزینه‌ها (OPTIONS)" .TP .B \-\-help چاپ نحوه استفاده و خروج. .TP .B \-\-version چاپ نسخه برنامه و جزئیات پیکربندی، و خروج. .TP .B \-\-quiet جلوگیری از نمایش پیام‌های نسخه هنگام راه‌اندازی. .SS "دستورات ویژه «!» (Special \"!\" commands)" دستورات ویژه «!» را می‌توان به صورت گزینه‌های خط فرمان در خط فرمان مشخص کرد، یا درون خود شل تعاملی با قرار دادن پیشوند «!» در ابتدای خط به کار برد. نیازی به استفاده از نام کامل گزینه نیست؛ تنها وارد کردن تعداد حروفی که گزینه را یکتا سازد کافی است. .PP هنگام تعیین به عنوان یک گزینه خط فرمان، پیش از یک دستور ویژه به جای «!» از «-» استفاده می‌شود. .PP متغیرهای بولی (Boolean) را می‌توان به سادگی با وارد کردن \%\fB!\fP\fIvarname\fP تغییر وضعیت داد (روشن/خاموش کرد)، برای مثال \%\fB!batch\fP. تنظیم سایر متغیرها نیازمند استفاده از علامت مساوی است: \%\fI!varname=value\fP، برای مثال \%\fB!width=100\fP. .PP دستور \%\fB!help\fP راهنمای کلی را چاپ می‌کند. هنگامی که از شل تعاملی صادر شود، می‌تواند یک آرگومان دریافت کند که معمولاً یک دستور ویژه است. دستور \%\fB!variables\fP تمام تنظیمات فعلی متغیرها را چاپ می‌کند. دستور \%\fB!file\fP ورودی را از فایل آرگومان خود می‌خواند. دستور \%\fB!file\fP یک متغیر \fIنیست\fP؛ نمی‌توان آن را مقداردهی کرد. می‌توان بارها از آن استفاده کرد. .PP دستور \%\fB!exit\fP به \%\fBlink\-parser\fP دستور خروج می‌دهد. .PP علامت تعجب «!» خود نیز به‌تنهایی یک دستور ویژه است که برای بررسی مدخل واژه‌نامه مربوط به هر کلمه مفروض (که اختیاری می‌تواند به یک زیرنویس ختم شود) به کار می‌رود. بنابراین هنگام انجام این کار از درون شل تعاملی، به دو علامت تعجب پیش از کلمه نیاز است. نویسه عمومی «*» را می‌توان به عنوان آخرین نویسه کلمه مشخص کرد تا چندین تطابق پیدا شود. مقادیر پیش‌فرض دستورات ویژه زیر درون پرانتز نشان داده شده‌اند. بیشتر آن‌ها مقادیر پیش‌فرض کتابخانه \%link\-grammar هستند. .br مقادیر پیش‌فرض بولی به صورت \fBon\fP (۱) یا \fBoff\fP (۰) نمایش داده می‌شوند. .TP .BR !bad \ (off) فعال‌سازی نمایش پیوندهای نامناسب. .TP .BR !batch \ (off) فعال‌سازی حالت دسته‌ای. .TP .BR !constituents \ (0) تولید خروجی سازه‌ها. مقدار آن می‌تواند چنین باشد: .RS .IP 0 غیرفعال .IP 1 درخت سازه به سبک Treebank .IP 2 درخت مسطح قلاب‌دار [A like [B this B] A] .IP 3 درخت مسطح به سبک treebank با پرانتز (A like (B this)) .RE .TP .BR !cost-max \ (2.7) بیشترین هزینه (cost) برای در نظر گرفته شدن. .TP .BR !dialect \ (no\ value) استفاده از نام‌های مشخص‌شده (جداشده با کاما). .br آن‌ها هزینه منفصل (disjunct cost) کلمات واژه‌نامه را که عبارت‌های آن‌ها شامل مشخصات هزینه نمادین است، تغییر می‌دهند. .TP .BR !disjuncts \ (off) نمایش منفصل‌های (disjuncts) استفاده‌شده. .TP .BR !echo \ (off) بازتاب جمله ورودی. .TP .BR !graphics \ (on) فعال‌سازی نمایش گرافیکی پیوندها. برای هر پیوند، جمله همراه با یک نمایش گرافیکی از پیوند آن در بالای آن چاپ می‌شود. .PP .RS نشانه‌گذاری‌های زیر برای کلمات درون جمله به کار می‌روند: .IP [word] کلمه‌ای بدون پیوند. .IP word[?].x کلمه‌ای ناشناخته که دسته نقش دستوری (POS) آن به عنوان x توسط تجزیه‌گر شناسایی شده است. .IP word[!] کلمه‌ای ناشناخته که مدخل واژه‌نامه \%link\-grammar آن توسط یک RegEx تخصیص یافته است. (برای مشاهده مدخل مذکور در واژه‌نامه از !morphology=1 استفاده کنید.) .IP word[~] یک کلمه ناشناخته در این موقعیت قرار داشته و با استفاده از حدس املایی، با این کلمه که در واژه‌نامه \%link\-grammar یافت شده، جایگزین گردیده است..IP word[&] این کلمه بخشی از یک کلمهٔ ناشناخته است که مشخص شده از دو یا چند کلمهٔ موجود در لغت‌نامهٔ \%link\-grammar تشکیل شده است. .IP word.POS این کلمه در لغت‌نامه به‌صورت word.POS یافت شد. .IP word.#CORRECTION این کلمه احتمالاً یک غلط املایی است \- به‌صورت کلمهٔ جایگزین CORRECTION پیوند خورد. .PP برای لغت‌نامه‌هایی که از ساخت‌واژه (صرف) پشتیبانی می‌کنند (فعال‌سازی با !morphology=1): .IP word= یک تکواژ پیشوندی .IP =word یک تکواژ پسوندی .IP word.= یک ریشه (ساقه) .RE .TP .BR !islands-ok \ (on) استفاده از جزیره‌های پیوند\-تهی (null-linked islands). .TP .BR !limit \ (1000) محدود کردن بیشینهٔ اتصالات پردازش‌شده. .TP .BR !links \ (off) فعال‌سازی نمایش کامل داده‌های پیوند. .TP .BR !null \ (on) مجاز دانستن پیوندهای تهی (null links). .TP .BR !morphology \ (off) نمایش ساخت‌واژه (صرف) کلمه. هنگامی که یک کلمه با یک عبارت منظم (RegEx) تطابق دارد، مدخلِ منطبق در لغت‌نامه نشان داده می‌شود. .TP .BR !panic \ (on) استفاده از «حالت اضطرار» (panic mode) در صورتی که یک تجزیه به سرعت پیدا نشود. .br دستور \%\fB!panic_variables\fP متغیرهای ویژه‌ای را که فقط در «حالت اضطرار» استفاده می‌شوند چاپ می‌کند. .TP .BR !postscript \ (off) تولید خروجی postscript. .TP .BR !short \ (16) بیشینهٔ طول پیوندهای کوتاه. .TP .BR !spell \ (7) اگر صفر باشد، هیچ اصلاح املایی و اصلاح کلمات پیوسته‌نویسی‌شده (run-on) برای کلمات ناشناخته انجام نمی‌شود. .br در غیر این صورت، تا این تعداد حدس املایی به ازای هر کلمهٔ ناشناخته استفاده می‌شود. در این حالت، تعداد تصحیحات پیوسته‌نویسی (تفکیک کلمه) برای کلمات ناشناخته محدود نیست. .TP .BR !timeout \ (30) لغو تجزیه پس از این تعداد ثانیه. .TP .BR !use-sat \ (off) استفاده از تجزیه‌گر بولی مبتنی بر SAT. .TP .BR !verbosity \ (1) سطح جزئیات در خروجی. برخی مقادیر کاربردی: .RS .IP 0 بدون اعلان (prompt)، حداقل پیام‌های کتابخانه .IP 1 پُرگویی در سطح عادی .IP 2 نمایش زمان مراحل تجزیه .IP 3 نمایش برخی پیام‌های اطلاعاتی بیشتر .IP 4 نمایش جستجوی فایل‌های داده و پیکربندی محلی (locale) .IP 5-9 اشکال‌زدایی نشانه‌گذار (tokenizer) و تجزیه‌گر (parser) .IP 10-19 اشکال‌زدایی لغت‌نامه .IP 101 چاپ تمام رابط‌های لغت‌نامه، همراه با محدودیت طول آن‌ها .RE .TP .BR !walls \ (off) نمایش کلمات دیواره (wall words). .TP .BR !width \ (16381)(*) عرض نمایشگر. .br * هنگام نوشتن در ترمینال، این مقدار از عرض آن تنظیم می‌شود. .br .TP .BR !wordgraph \ (0) نمایش گراف کلمات (گراف تفکیک کلمه). .RS .IP 0 غیرفعال .IP 1 نمایش پیش‌فرض .IP 2 نمایش نشانه‌های والد به‌صورت زیرگراف‌ها .IP 3 استفاده از پرچم‌های نمایشی خاص تنظیم‌شده توسط !test=wg:FLAGS .RE .SH "فایل‌ها (FILES)" فایل‌های زیر به ازای هر زبان هستند، هنگامی که \fILL\fP کد زبان ۲ حرفی ISO باشد. .TP .IR LL /4.0.dict لغت‌نامهٔ Link Grammar. .TP .IR LL /4.0.affix مقادیر موجودیت‌های مورد استفاده در نشانه‌گذاری (tokenization). .TP .IR LL /4.0.regex عبارات منظم (ببینید .BR regex (7)) که برای مطابقت نشانه‌هایی که در لغت‌نامه یافت نشده‌اند استفاده می‌شوند. .TP .IR LL /4.0.dialect تعاریف مؤلفه‌های لهجه. .TP .IR LL /4.0.knowledge تعاریف پس‌پردازش (Post-processing). .TP .IR LL /4.0.constituent\-knowledge تعاریف تولید درخت سازه (constituent tree). .TP .RI command-help- LL .txt \ \fBor \ command-help- LL-CC .txt متن راهنما برای دستور ویژهٔ «!» یعنی \%\fB!help\fP \fItopic\fP. اگر چندین فایل از این دست ارائه شده باشد، فایل مورد نظر می‌تواند مثلاً با متغیر محیطی LANGUAGE در صورتی که بر روی \fILL\fP یا \fILL-CC\fP تنظیم شده باشد، انتخاب شود (پیش‌فرض \fBen\fP است). در حال حاضر تنها \fBcommand-help-en.txt\fP ارائه شده است. .sp 2 .TP ترتیب جستجوی دایرکتوری برای این فایل‌ها عبارت است از: .RI \[bu]\ "./" .br .RI \[bu]\ "data/" .br .RI \[bu]\ "../" .br .RI \[bu]\ "../data/" .br \[bu]\ یک دایرکتوری داده سفارشی، همان‌طور که توسط فراخوانی API با نام \%\fBdictionary_set_data_dir()\fP تنظیم می‌شود. .br \[bu]\ دایرکتوری داده‌های سیستم وابسته به نصب (*) .sp 2 * این مکان هنگام ارائه آرگومان \%\fB\-\-version\fP به \%\fBlink\-parser\fP در خط فرمان، به‌صورت DICTIONARY_DIR نمایش داده می‌شود. در ویندوز ممکن است نسبت به مکان DLL کتابخانهٔ \%link\-grammar باشد؛ در این حالت وقتی \%\fBlink\-parser\fP با \-verbosity=4 فراخوانی شود، مکان واقعی به‌صورت "System data directory" نمایش داده می‌شود..SH "همچنین ببینید (SEE ALSO)" .nh از دستور \fBlink\-generator\fP می‌توان برای تولید جملات تصادفی از یک واژه‌نامهٔ مشخص استفاده کرد. .PP اطلاعات مربوط به API کتابخانهٔ اشتراکی \%link\-grammar و انواع پیوندهای استفاده‌شده در تجزیه، در .UR https://opencog.github.io/link-grammar-website وبگاه Link Grammar .UE در دسترس است. .PP مقاله‌های داوری‌شده‌ای که به توضیح Link Grammar می‌پردازند، در .UR http://www.link.cs.cmu.edu/link/papers وبگاه اصلی CMU .UE یافت می‌شوند. .PP کد منبع \%\fBlink\-parser\fP و کتابخانهٔ \%link\-grammar در .UR https://github.com/opencog/link-grammar GitHub .UE قرار دارد. .PP فهرست پستی برای گفت‌وگو پیرامون Link Grammar در .UR http://groups.google.com/group/link-grammar?hl=en گروه گوگل link-grammar .UE در دسترس است. .SH "نویسندگان (AUTHORS)" .nh برنامهٔ \fBlink\-parser\fP و کتابخانهٔ \%link\-grammar توسط Daniel Sleator ،‏ Davy Temperley و John Lafferty نوشته شده‌اند. .PP این صفحهٔ راهنما توسط Ken Bloom برای پروژهٔ Debian نوشته شده و توسط Linas Vepstas به‌روزرسانی گردیده است.