Кіріспе
Символдар тізбесін ресми грамматика ережелеріне сәйкес талдау. Синтаксистік талдау немесе синтаксистік жіктеу – бұл ресми грамматика ережелеріне сәйкес, табиғи тілдерде, компьютерлік тілдерде немесе деректер құрылымдарында символдар тізбесін талдау процесі. "Парсинг" термині латын тіліндегі *pars (orationis)* сөзінен шыққан, яғни "сөздің бөлігі" деген мағынаны білдіреді. Бұл термин тіл білімі мен компьютерлік ғылымның әртүрлі салаларында сәл әртүрлі мағыналарға ие. Дәстүрлі сөйлемдік талдау көбінесе сөйлемнің немесе сөздің нақты мағынасын түсіну әдісі ретінде қолданылады, кейде сөйлем схемалары сияқты құралдардың көмегімен. Ол әдетте грамматикалық бөлімдердің, мысалы, тәуелдеуші және баяндаушының маңыздылығын атап көрсетеді. Есептеу лингвистикасында бұл термин компьютердің сөйлемді немесе басқа сөз тізбегін оның құрамдас бөліктеріне ресми түрде талдауын білдіреді, нәтижесінде олардың синтаксистік байланыстарын көрсететін талдау ағашы құрылады, онда семантикалық ақпарат та болуы мүмкін. Кейбір талдау алгоритмдері синтаксистік тұрғыдан түсініксіз тізбектен талдау орманын немесе талдау ағаштарының тізімін жасайды. Бұл термин психолингвистикада тілді түсінуді сипаттағанда да қолданылады. Осы контексте талдау – адамның сөйлемді немесе тіркесті (ауызша немесе жазбаша түрде) "грамматикалық құрамдас бөліктер, сөздердің түрлері, синтаксистік қатынастар және т.б. тұрғысынан" талдау жолы болып табылады. Бұл тілдің жіктелуі мен түбірленуінің зерттеуі арқылы анықталады, бұл ауыр жіктелетін тілдер үшін өте күрделі болуы мүмкін. Мысалы, "адам итті шақты" деген тіркесті талдау үшін "адам" деген есімнің жалғыз сан түріндегі сөйлемнің жатысы екенін, "шақты" деген етістіктің қазіргі заманның үшінші жақ, жалғыз сан түріндегі етістік екенін және "ит" деген есімнің жалғыз сан түріндегі сөйлемнің толықтырылысы екенін анықтау қажет. Сөйлем схемалары сияқты техникалар сөйлемдегі элементтер арасындағы байланысты көрсету үшін кейде қолданылады. Бұрын талдау ағылшын тілді елдерде грамматиканы оқытудың орталық бөлігі болды және жазбаша тілді қолдану мен түсінудің негізі ретінде қарастырылды. Дегенмен, мұндай техникаларды оқытудың жалпы практикасы қазіргі уақытта кең таралмаған.
Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term parsing comes from Latin pars (orationis), meaning part (of speech). The term has slightly different meanings in different branches of linguistics and computer science. Traditional sentence parsing is often performed as a method of understanding the exact meaning of a sentence or word, sometimes with the aid of devices such as sentence diagrams. It usually emphasizes the importance of grammatical divisions such as subject and predicate. Within computational linguistics the term is used to refer to the formal analysis by a computer of a sentence or other string of words into its constituents, resulting in a parse tree showing their syntactic relation to each other, which may also contain semantic information. Some parsing algorithms generate a parse forest or list of parse trees from a string that is syntactically ambiguous. The term is also used in psycholinguistics when describing language comprehension. In this context, parsing refers to the way that human beings analyze a sentence or phrase (in spoken language or text) "in terms of grammatical constituents, identifying the parts of speech, syntactic relations, etc." This is determined in large part from study of the language's conjugations and declensions, which can be quite intricate for heavily inflected languages. To parse a phrase such as "man bites dog" involves noting that the singular noun "man" is the subject of the sentence, the verb "bites" is the third person singular of the present tense of the verb "to bite", and the singular noun "dog" is the object of the sentence. Techniques such as sentence diagrams are sometimes used to indicate relation between elements in the sentence. Parsing was formerly central to the teaching of grammar throughout the English speaking world, and widely regarded as basic to the use and understanding of written language. However, the general teaching of such techniques is no longer current.
Есептеу әдістері
Кейбір машиналық аударма және табиғи тілді өңдеу жүйелерінде адам тілдеріндегі мәтіндер компьютерлік бағдарламалармен талданады. Адам сөйлемдерін бағдарламалармен талдау қиын, себебі адам тілінің құрылымында маңызды түсініксіздік бар. Оның қолданылуы мағынаны (немесе семантиканы) мүмкіндіктердің шексіз диапазоны ішінде жеткізуге бағытталған, бірақ олардың тек бір бөлігі нақты жағдайға қатысты. Мысалы, "Адам итті шақты" және "Ит адамды шақты" деген сөздер бір детальде нақты, бірақ басқа тілде "Адам ит шақты" деп түсіндірілуі мүмкін, мұндай жағдайда осы екі мүмкіндікті ажырату үшін үлкен контекстке сүйену қажет, егер бұл айырмашылық маңызды болса. Бейресми мінез-құлықты сипаттау үшін формалды ережелерді жасау қиын, дегенмен белгілі бір ережелер сақталғаны анық. Табиғи тіл деректерін талдау үшін зерттеушілер қолданылатын грамматика туралы келісуі керек. Синтаксистің таңдалуы тілдік және есептеулік факторларға байланысты; мысалы, кейбір талдау жүйелері лексикалық-функционалдық грамматиканы қолданады, бірақ жалпы алғанда, осы типтегі грамматикаларды талдау NP-толық деп есептеледі. Басқарылатын фразалық құрылымдық грамматика талдау қауымдастығында танымал лингвистикалық формализм, бірақ басқа зерттеулер Пенн ағаш банкінде қолданылатын сияқты, аз күрделі формализмдерге бағытталған. Шамалы талдау негізгі құрамдастардың, мысалы, есім фразаларының шекараларын табуға бағытталған. Лингвистикалық даулардан қашудың тағы бір танымал стратегиясы – тәуелділік грамматикасын талдау. Көптеген қазіргі заманғы талдағыштар кемінде ішінара статистикалық болып табылады, яғни олар бұрыннан белгіленген (қолмен талдаған) оқыту деректерінің корпусына сүйенеді. Бұл тәсіл жүйеге нақты контексттерде әртүрлі құрылымдардың жиілігі туралы ақпарат жинауға мүмкіндік береді. (Машиналық оқытуды қараңыз.) Қолданылатын тәсілдерге қарапайым PCFG (көбінесе контекстсіз грамматикалар), максималды энтропия және нейрондық желілер жатады. Ең табысты жүйелердің көпшілігі лексикалық статистиканы қолданады (яғни, сөздердің өзінің сәйкестігін және олардың сөз табын ескереді). Алайда, мұндай жүйелер артық үйлесімге ұшырауы мүмкін және тиімді болу үшін кейбір тегістеу қажет. Табиғи тілді талдау алгоритмдері грамматиканың бағдарламалау тілдері үшін қолмен жасалған грамматикалар сияқты "жақсы" қасиеттерге ие болуына сүйене алмайды. Бұрын айтқанымыздай, кейбір грамматикалық формализмдерді есептеу арқылы талдау өте қиын; әдетте, тіпті қажетті құрылым контекстсіз болмаса да, грамматикаға контекстсіз жақындау бірінші кезеңде қолданылады. Контекстсіз грамматиканы қолданатын алгоритмдер көбінесе CYK алгоритмінің кейбір нұсқаларына сүйенеді, әдетте уақытты үнемдеу үшін ықтимал емес талдауларды жою үшін эвристикалық тәсілдер қолданылады. (Картты талдауды қараңыз.) Алайда, кейбір жүйелер жылдамдықты дәлдікке айырбастайды, мысалы, ауысуды азайту алгоритмінің сызықтық уақыт нұсқаларын пайдаланады. Соңғы уақытта пайда болған жаңалық – талдауды қайта бағалау, онда талдағыш көптеген талдауларды ұсынады, ал күрделі жүйе ең жақсы нұсқаны таңдайды. Табиғи тілді түсіну қолданбаларында семантикалық талдағыштар мәтінді оның мағынасының бейнесіне айналдырады.
Психолингвистика
Психолингвистикада талдау тек сөздерді категорияларға бөлуді ғана емес, сонымен қатар сөйлемнің мағынасын сөйлемдегі әрбір сөзден туындайтын қорытындылар негізінде құрылған синтаксис ережелерімен салыстырып бағалауды қамтиды (бұл коннотация деп аталады). Бұл көбінесе сөздерді естігенде немесе оқығанда болады. Нейролингвистика талдауды жұмыс жадының функциясы деп қарастырады, яғни талдау бір сөйлемнің бірнеше бөлігін бір уақытта есте ұстауға және қажет болғанда талдауға мүмкіндік береді. Адамның жұмыс жады шектеулі болғандықтан, сөйлемді талдау мүмкіндігі де шектеулі. Бұл әртүрлі синтаксистік тұрғыдан күрделі сөйлемдердің ақыл-оймен талдау кезінде қиындықтар тудыруымен дәлелденеді. Ең алғашқы және, мүмкін, ең танымал сөйлем түрі – «бақша жолы» сөйлемдері. Бұл сөйлемдердің мағынасын түсіндірудің ең көп таралған жолы грамматикалық қате болып көрінеді, бірақ одан әрі тексергенде, сөйлем грамматикалық тұрғыдан дұрыс екені анықталады. «Бақша жолы» сөйлемдерін талдау қиын, себебі олар бірнеше мағынасы бар сөз тіркесін немесе сөзді қамтиды, көбінесе олардың ең көп қолданылатын мағынасы сөйлемнің басқа бөлігіне жатады. Мысалы, «ат қорадан өтіп бара жатып құлап кетті» деген сөйлемде «өтті» сөзі бастапқыда өткен шақ етістігі ретінде түсініледі, бірақ бұл сөйлемде ол сөз тіркесінің бөлігі ретінде жұмыс істейді. Талдау сөздердің сөз түрлерін анықтау үшін қолданылатындықтан, мұндай сөйлемдер оқырманның талдау қабілетін сынап көреді. Сөйлемді талдауды қиындататын тағы бір түрі – жалғау екіұштылығы, ол сөйлемнің әртүрлі бөліктерін өзгерте алатын сөз тіркесін қамтиды, сондықтан синтаксистік байланысты анықтауда қиындық тудырады (мысалы, «Ұл қызды телескоппен көрді», онда «телескоппен» деген сөз тіркесі ұлдың немесе қыздың әрекетін сипаттауы мүмкін). Нейролингвистикада мида талдау қалай жүзеге асатынын түсіндіруге бағытталған бірнеше теория бар. Олардың бірі – сөйлемді өңдеудің дәстүрлі генеративтік моделі, ол мида сөйлемдерді талдауға арналған жеке модуль бар екенін, оған лексикалық тану және іздестіруге қол жеткізілгеннен кейін синтаксистік өңдеу жүреді деп санайды. Ал қазіргі заманғы модель, керісінше, мида сөйлемді өңдеудің модульдік емес, немесе қатаң реттілікпен жүрмейтінін болжайды. Оның орнына, бірнеше синтаксистік мүмкіндіктер бір уақытта қарастырылуы мүмкін, себебі лексикалық қолжетімділік, синтаксистік өңдеу және мағынаны анықтау мида параллель түрде жүреді. Осылайша, бұл процестер біріктіріледі. Талдаудың неврологиясы туралы әлі де көп нәрсе білу қажет болғанымен, зерттеулер мидың бірнеше аймағы талдау процесіне қатысуы мүмкін екенін көрсетті. Оларға сол жақ алдыңғы шекпен полюсі, сол жақ төменгі маңдай шекпен миы, сол жақ жоғарғы маңдай шекпен миы, оң жақ артқы ми миы және сол жақ бұрышты миы жатады. Бұл толығымен дәлелденбесе де, бұл әртүрлі құрылымдар фразалық құрылымды талдауға немесе тәуелділік құрылымды талдауға бейім болуы мүмкін, яғни әртүрлі талдау түрлері әлі толық түсінілмеген әртүрлі жолдармен өңделуі мүмкін.
Дискурсты талдау
Дискурстық талдау тілді қолдану мен семиотикалық құбылыстарды талдау әдістерін зерттейді. Әсерлі тіл риторика деп аталуы мүмкін.
Процесс туралы жалпы түсінік
Келесі мысал компьютерлік тілді екі деңгейлі грамматикамен талдаудың әдеттегі жағдайын көрсетеді: лексикалық және синтаксистік. Бірінші кезең – токендерді жасау, немесе лексикалық талдау, осы арқылы кіріс таңбалар ағыны тұрақты өрнектер грамматикасымен анықталған мағыналы символдарға бөлінеді. Мысалы, калькулятор бағдарламасы "12 * (3 + 4)^2" сияқты кірісті қарап, оны 12, *, (, 3, +, 4, ), ^, 2 токендеріне бөледі, олардың әрқайсысы арифметикалық өрнек үшін мағыналы символ болып табылады. Лексерде *, +, ^, ( және ) таңбалары жаңа токеннің басталуын көрсететін ережелер болады, сондықтан "12*" немесе "(3" сияқты мағынасыз токендер жасалмайды. Келесі кезең – талдау немесе синтаксистік талдау, ол токендердің рұқсат етілген өрнекті құрайтынын тексеру болып табылады. Бұл әдетте контекстсіз грамматикаға сілтеме жасау арқылы іске асырылады, ол өрнекті құрайтын компоненттерді және олардың қандай ретпен орналасуы керектігін рекурсивті түрде анықтайды. Дегенмен, бағдарламалау тілдерін анықтайтын барлық ережелерді тек контекстсіз грамматикамен ғана көрсету мүмкін емес, мысалы, типтік дұрыстығы және идентификаторларды дұрыс жариялау. Мұндай ережелерді атрибут грамматикасымен формальды түрде көрсетуге болады. Соңғы кезең – семантикалық талдау, ол жаңа ғана тексерілген өрнектің мағынасын анықтау және тиісті әрекеттерді орындау болып табылады. Калькулятор немесе интерпретатор жағдайында, әрекет өрнекті немесе бағдарламаны есептеу болып табылады, ал компилятор басқа кодты жасайды. Атрибут грамматикасы осы әрекеттерді анықтау үшін де қолданылуы мүмкін.