Кіріспе

Грамматикалық индукция (немесе грамматикалық қорытынды) — машиналық оқытудағы формалды грамматиканы (әдетте қайта жазу ережелерінің немесе өнімдерінің жиынтығы түрінде, немесе қандай да бір түрдi шекті күйдегі машина немесе автомат түрінде) байқаулар жиынтығынан үйрену процесі, осы арқылы байқалған объектілердің ерекшеліктерін қамтитын модель құрастыру. Көбірек айтқанда, грамматикалық қорытынды — машиналық оқытудың сол саласы, онда мысалдар кеңістігі жолдар, ағаштар және графтар сияқты дискретті комбинаторлық объектілерден тұрады.

Грамматика сабақтары

Грамматикалық тұжырымдама көбінесе әртүрлі типтегі шекті күйдегі машиналарды үйрену мәселесіне баса назар аударды (осы тәсілдер туралы толық мәліметтерді «Регламенттік тілдерді индукциялау» мақаласында қараңыз), себебі 1980 жылдардан бері осы мәселе үшін тиімді алгоритмдер бар. Ғасырдың басынан бері бұл тәсілдер контекстсіз грамматиканы және одан да күрделі формализмдерді, мысалы, бірнеше контекстсіз грамматиканы және параллель бірнеше контекстсіз грамматиканы тұжырымдау мәселесіне дейін кеңейтілді. Грамматикалық тұжырымдама зерттелген грамматиканың басқа түрлері – комбинаторлық категориялық грамматика, контексттік грамматика және үлгілік тілдер.

Оқу үлгілері

Оқудың ең қарапайым түрі – оқу алгоритмінің тек қана сұраныс тілінен алынған мысалдар жиынтығын қабылдауы. Мақсат – тілді оның мысалдары арқылы үйрену (және сирек жағдайларда, тілге жатпайтын мысалдар, яғни қарсы мысалдар арқылы). Дегенмен, басқа оқу үлгілері де зерттелді. Жиі зерттелетін бір балама – оқушының Angluin ұсынған дәл сұраныс оқыту моделі немесе минималды қанағаттанарлық мұғалім моделі сияқты мүшелік сұрақтарын қоюға мүмкіндігі.

Әдістемелер

Грамматикалық қорытынды жасаудың көптеген әдістері бар. Екі классикалық еңбек те осы мәселеге қысқаша тоқталып, көптеген сілтемелер келтіреді. Олар ұсынған негізгі сынақ-қате әдісі төменде талқыланады. Әдеттегі тілдердің кіші топтарын анықтау тәсілдері үшін «Әдеттегі тілдердің индукциясы» дегенге қараңыз. Ал де ла Хигераның (2010) жаңа оқулығы табиғи тілдер үшін грамматикалық қорытынды жасау әдістерін қарастыратын шолуды ұсынады.

Ықтималдық грамматиканың индукциясы

Ықтималдық контекстсіз грамматикаларды индукциялаудың бірнеше әдістері бар.

Сынақ пен қате арқылы грамматикалық тұжырымдау

8.7 бөлімінде ұсынылған әдіс грамматикалық ережелерді (өндірістерді) біртіндеп табалауды және оларды оң және теріс мысалдармен тексеруді ұсынады. Ережелер жиынтығы әрбір оң мысалды жасауға мүмкіндік беру үшін кеңейтіледі, бірақ егер берілген ережелер жиынтығы теріс мысал жасаса, одан бас тарту керек. Бұл тәсілді «гипотезаны тексеру» деп сипаттауға болады және ол Митчелдің нұсқа кеңістігі алгоритмімен кейбір ортақ белгілерге ие. Мәтін бұл процесті жақсы көрсететін қарапайым мысал келтіреді, бірақ мұндай бағытталмаған сынақ пен қате жолының күрделірек мәселелер үшін тиімділігі күмәнді.

Генетикалық алгоритмдер арқылы грамматикалық тұжырымдау

Эволюциялық алгоритмдерді қолдана отырып грамматикалық индукция – бұл эволюциялық процестің бірі арқылы мақсатты тілдің грамматикасын дамыту процесі. Формальды грамматикаларды өндіріс ережелерінің ағаш құрылымдары ретінде бейнелеуге болады, олар эволюциялық операторларға түсіріледі. Осындай алгоритмдер Джон Коза бастаған генетикалық бағдарламалау парадигмасынан туындайды. Жасырап формальды тілдердегі алғашқы жұмыстар генетикалық алгоритмдердің екілік тізбектей бейнелеуін қолданды, бірақ EBNF тілінде жазылған грамматиканың иерархиялық құрылымы ағаштарды тиімдірек тәсілге айналдырды. Коза Lisp бағдарламаларын ағаштар ретінде бейнеледі. Ол ағаш операторларының стандартты жиынтығында генетикалық операторларға ұқсас нәрселерді тапты. Мысалы, кіші ағаштарды ауыстыру генетикалық кроссоверге ұқсас процесс, онда генетикалық кодтың кіші тізбектері келесі буынға жататын жеке тұлғаға трансплантацияланады. Сәйкестік Lisp кодының функцияларынан алынған нәтижелерді бағалау арқылы өлшенеді. Ағаш құрылымды Lisp бейнелеуі мен грамматиканы ағаш ретінде бейнелеу арасындағы ұқсас аналогтар грамматикалық индукция үшін генетикалық бағдарламалау техникаларын қолдануға мүмкіндік берді. Грамматикалық индукция жағдайында кіші ағаштарды трансплантациялау белгілі бір тілден фразаларды талдауға мүмкіндік беретін өндіріс ережелерін ауыстыруға сәйкес келеді. Грамматиканың сәйкестік операторы мақсатты тілден алынған сөйлемдер тобын талдаудағы оның өнімділігіне негізделген. Грамматиканың ағаш бейнелеуінде өндіріс ережесінің терминалды символы ағаштың жапырақты түйініне сәйкес келеді. Оның балама түйіндері ереже жиынтығындағы терминалды емес символға (мысалы, атау фразасы немесе етіс фразасы) сәйкес келеді. Соңында, түбір түйін терминалды емес сөйлемге сәйкес болуы мүмкін.

Таратулық оқыту

Жаңағы тәсіл үлестірулік оқытуға негізделген. Осы тәсілді қолданатын алгоритмдер контекстсіз грамматикаларды және шамалы контекстке сезімтал тілдерді үйренуге қолданылды және осы грамматикалардың ірі топтары үшін дұрыс және тиімді екені дәлелденді.

Үлгілік тілдерді үйрену

Англюин үлгіні "Σ жиынынан тұрақты символдар тізбегі және бөлек жиынтықтан өзгермелі символдар" деп анықтайды. Мұндай үлгінің тілі – оның бос емес барлық негізгі мысалдарының жиынтығы, яғни өзгермелі символдарды тұрақты символдардың бос емес тізбектерімен сәйкес алмастыру нәтижесінде алынған барлық тізбектер. Егер үлгінің тілі кіріс жиынтығын қамтитын барлық үлгі тілдерінің арасында ең кішкентай болса (жиынтық кіріктірілуге қатысты), онда үлгі шекті кіріс тізбектер жиынтығы үшін сипаттамалық деп аталады. Англюин берілген кіріс тізбектер жиынтығы үшін бір x айнымалысындағы барлық сипаттамалық үлгілерді есептеуге арналған полиномдық алгоритм ұсынады. Осы мақсатта ол барлық мүмкін тиісті үлгілерді көрсететін автомат құрастырады; x жалғыз айнымалы болғандықтан сөздердің ұзындығына қатысты күрделі аргументтерді қолдану арқылы күйлердің санын күрт азайтуға болады. Эрлебах және авторлар Англюиннің үлгіні үйрену алгоритмінің тиімдірек нұсқасын, сондай-ақ параллельдік нұсқасын ұсынады. Аримура және авторлар үлгілердің шектеулі біріктірілімдерінен алынған тіл класын полиномиалдық уақытта үйренуге болатынын көрсетеді.

Қолданбалар

Грамматикалық индукция принципі табиғи тілді өңдеудің басқа да салаларына қолданылды және, басқа көптеген мәселелермен қатар, семантикалық талдау, табиғи тілді түсіну, мысалға негізделген аударма, тілді игеру, грамматикалық негіздемедегі сығылу және аномалияларды анықтау сияқты мәселелерде де қолданылды.