Protolanguage

Protolanguage Reconstruction Tool

Go to homepage

შესავალი

ზოგადი დახასიათება

Protolanguage Reconstuction Tool (PRT) არის პროგრამა, რომელიც იღებს ინფუთად ბუნებრივი ენების ლექსიკონებს და აგენერირებს ამ ენების ნათესაობის ხეს აუთფუთად, რომელიც თითოეულ ნოუდში შეიცავს შუალედური ენების ლექსიკონებს.

აქ ლექსიკონში იგულისხმება სიტყვების სიმრავლე, რომლებსაც აქვთ ზუსტად იმავე რაოდენობის კოგნატი სიტყვა ყველა დანარჩენ განხილულ ენაში. ორი სიტყვა არის ურთიერკოგნატი, თუ ისინი სხვადასხვა ენაზე ერთსა და იმავე შინაარსს ატარებენ და, სავარაუდოდ, ერთი ძირიდან არიან ნაწარმოები.

მაგალითისთვის ავიღოთ სამი ენა და თითოში 4-4 სიტყვა. ინფუთი იქნება:

ინგლისური გერმანული ფრანგული
Cat Katze Chat
Mother Mutter Mère
Squirrel Eichhörnchen Écureuil
Worm Wurm Ver

აუთფუთის ერთ-ერთი სავარაუდო ფორმა შეიძლება იყოს:

Node-1 (*katus, *mehter, *ekorel, *verm) [2800]
|   |
|   └── Node-2 (*katuz, *moder, *eṡkörel, *vorm) [1500]
|       |   |
│       |   └── გერმანული (Katze, Mutter, Eichhörnchen, Wurm)
|       |
│       └── ინგლისური (Cat, Mother, Squirrel, Worm)
|
└── ფრანგული (Chat, Mère, Écureuil, Ver)

სადაც ასტერისკით დაწყებული სიტყვები არის პროგრამის მიერ აღდგენილები და კვადრატულ ფრჩხილებში მოცემული რიცხვები არის სავარაუდო წლების რაოდენობა, რომლის წინაც არსებობდა ეს ენა.

ეს tool-ი წარმოდგენილი იქნება საჯაროდ, ვებ-საიტზე, სადაც ნებისმიერი ენების კომბინაციის მითითება შეეძლება ნებისმიერ მსურველს და სანაცვლოდ მიიღებს ვიზუალიზებულ ხეს, რომელშიც ნებისმიერი აღდგენილი ენის ლექსიკონის ნახვა შეეძლება.

პირველი ხე ასე გამოიყურება

ცნებები და განმარტებები

აქ მოყვანილი იქნება ტერმინებისა და ცნებების განმარტებები, რომლებიც ამ დოკუმენტის განმავლობაში იქნება გამოყენებული:

ფონემა

ბგერა, რომელიც შეადგენს რომელიმე ენის ფარგლებში სიტყვის ელემენტარულ ერთეულს. ამ პროექტის ფარგლებში სიტყვებს ჩავწერ ფონემების მასივად IPA-ის (საერთაშორისო ფონეტიკური ანბანის) სიმბოლოებით. ფონემა წარმოდგენილია ბგერითი მახასიათებლების და მათი მნიშვნელობების სიით.

მაგალითი: /ʃ/ არის ფონემა (IPA-ს ფონემებს სტანდარტულად წერენ ხოლმე ორ დახრილ წილადის ხაზს შორის, როგორც აქ წერია), რომელიც აღნიშნავს ბგერა -ს ქართული სიტყვების აბსოლუტურ უმრავლესობაში და ინგლისურ სიტყვაბში sh-ს, მაგალითად sheep-ში ან ti-ს - nation-ში. ამ ფონემის მახასიათებლებია:

სადაც ისრების მარცხნივ წერია მახასიათებლები, რომლებიც ნებისმიერ ფონემას გააჩნა, ხოლო მარჯვენა მხარეს ამ მახასიათებლების მნიშვნელობებია /ʃ/-ს შემთხვევაში.

სიტყვა

ფონემების მასივი, რომელსაც აქვს ერთი კონკრეტული მნიშვნელობა.

ლექსიკონი

სიტყვების სიმრავლე, რომლებიც მიეკუთვნებიან რომელიმე კონკრეტულ ენას (ინფუთად მიცემულ ენასაც და აღდგენილსაც).

ხე

ენათა შორის ნათესაობის ხე, რომელსაც აქვს ერთი ფესვი ენა (პროტოენა) და ტოტებად იშელება, რომლის თითოეულ კვანძში არის შუალედური ენები, ხოლო ფოთლებში კი - ინფუთად გადმოცემული თანამედროვე ენები.

ფონემებს შორის მანძილი

ორ ფონემას შორის მანძილი არის რიცხვი, რომელიც ასახავს თუ რამდენი მახასიათებლით განსხვავდებიან ერთმანეთისგან, სადაც თითოეული მახასიათებლით განსხვავება შეიძლება იყოს ნებისმიერი რიცხვი, რომელიც იცვლება პროგრამის მიმდინარეობის განმავლობაში და დამოკიდებულია ამ მახასიათებლის მნიშვნელოვნების წონაზე (იხ. ბგერითი მახასიათებლის ცვლილების წონა).

სიტყვებს შორის მანძილი

ორ სიტყვას შორის მანძილი არის რიცხვი, რომელიც არის მინიმუმი მნიშვნელობა ერთი სიტყვიდან მეორეს მიღებისა ფონემების ცვლილების გზით. სადაც თითოეულ ფონემათა ცვლილებას აქვს შესაბამისი წონა განსაზღვრული ამ ფონემებს შორის მანძილით (იხ, ფონემებს შორის მანძილი).

ენებს შორის მანძილი

არის ორ ენას შორის მანძილი გამოხატული ერთი ან მრავალი რიცხვით, რომელიც ითვლება ამ ენების სიტყვების წყვილ-წყვილად შედარებით და სიტყვებს შორის მანძილის დათვლით. ერთი რიცხვის გამოყვანა ბევრი რიცხვიდან დამოკიდებულია ალგორითმზე, რომელიც შემდეგში იქნება განხილული.

ბგერითი მახასიათებლის ცვლილების წონა

არის რიცხვი, რომელიც ასახავს, თუ რამდენი დროის პირობითი ერთეული სჭირდება ბგერის ერთ მახასიათებელს მეორე მახასიათებლად გადასაქცევად. სწორედ ამ დროის ერთეულებში იქნება წარმოდგენილი საბოლოოდ მიღებული ხეც (რაც მერე ისტორიასთან თანხვედრით შეიძლება წლებზე დასკალირდეს).

პრობლემის დასახვა

იმისათვის რომ ამ პროგრამამ აღადგინოს ენები მათი რეალურ ისტორიულ მნიშვნელობებთან მაქსიმალურად მსგავსად, თეორიულ შემთხვევაში საჭიროა ვიცოდეთ ყველა შესაძლო ბგერათცვლილების ალბათობა დროის რამე პერიოდში. ეს ალბათობები შეიძლება დამოკიდებული იყოს არამხოლოდ ამ ფონემების ბგერით მახასიათებლებზე და მათი მნიშვნელობების წონაზე, არამედ ასევე იმ კონტექსტზე, რომელშიც ისინი იცვლებიან. ლინგვისტიკაში ჩატარებული კვლევების მიხედვით მართლაც ძალიან განსხვავდება სხვადასხვა კონტექსტებში ერთი და იგივე ფონემბის ცვლილებები. ეს კონტექსტი შეიძლება იყოს ამ ფონემის მეზობელი ფონემების თვისებები; ასევე კონტექსტი შეიძლება იყოს მთლიანად ენის მახასიათებელი (მაგალითად, რამდენად მიდრეკილია ეს ენა თანხმოვნების დარბილებისკენ), რომელიც ვარირებს სხვადასხვა ენათა ჯგუფებს შორის; ან კონტექსტი იყოს დროის პერიოდი, რომელშიც ეს ცვლილებები მოხდა; ან სულაც რამე ისეთი კონტექსტი, რომლის ვარაუდიც ზეპირად მხოლოდ ადამიანური კვლევის პირობებში ძნელი აღმოსაჩენია. პროგრამის მიზანი არის მაქსიმალურად ზუსტად ამოიცნოს ეს ბგერათცვლილებების ალბათობები მათი კონტექსტების გათვალისწინებით და შემდეგ ეს ცოდნა გამოიყენოს იმაში, რომ აღადგინოს ხე და მასში ყველა საშუალედო თუ საწყისი პროტოენა.

ლინგვისტური ბექგრაუნდი და საჭიროება

ლინგვისტების ერთ-ერთ ძირითად საკვლევ სფეროს სწორედ პროტოენების აღდგენა და მათი ხეების შედგენა წარმოადგენს. 150 წელზე მეტია ამ პრობლემას მეტ-ნაკლებად სტრუქტურირებული მეტოდიკით ათასობით ენათმეცნიერი ეჭიდება და გარკვეულ შედეგსაც მიაღწიეს, თუმცა, იმის გამო რომ გასათვალისწინებელია მილიონობით მონაცემი, ეს იმდენად ხანგრძლივ და რთულ სამუშაოსთანაა დაკავშირებული, რომ ძნელია თითოეული ადამიანის ნამუშავრის სანდოობაზე თავის დადება. სწორედ ეს ფაქტორები გახდა იმის მიზეზი, რომ ამ საქმის მექანიზაცია მეცადა.

ამ პროგრამის არსებობის შემთხვევაში რამდენიმე ათასწლეულის განმავლობაში არსებული ყველა შესაძლო ენის რეკონსტრუირებაა შესაძლებელი, რომელიც ენათმეცნიერებს მოაცილებს დამღლელ მექანიკურ საქმეს და მეტ დროს მისცემს მეტად მეცნიერული კვლევის ჩასატარებლად, ბევრად ადვილად გაიშიფრება ჯერაც გაუშიფრავი ძველი ტექსტები და მარტივად გამოაშკარავდება ცრუმეცნიერული დასკვნები ენების შესახებ, რომლებიც შეიძლბეა ხშირად პოლიტიკური მიზნებითაც ყოფილიყო გამოყენებული.

ამ პროგრამის შედეგის ინტერდისციპლინარულად გამოყენება, ანუ კაცობრიობის გენეტიკურ კველვებათან, არქეოლოგიურ მასალასთან და ისტორიულ წყაროებთან ერთად განხილვა ბევრად მეტად მოჰფენს ნათელს ჩვენს ისტორიას, არამარტო მეფეებისა და ბრძოლების ისტორიას, არამედ ჩვეულებრივი ხალხის ცხოვრებებში ჩაგვახედებს. სწორედ ამის გამო ამ პროექტს “დროის მანქანა 1.0”-ს ვეძახი.

მსგავსი პროექტების მიმოხილვა

ბოლო ათწლეულის განმავლობაში მსგავსი პროექტები არაერთი შექმნილა, თუმცა მათი უდიდესი უმეტესობა მხოლოდ ენათა ხის დაგენერირებით შემოიფარგლება. მხოლოდ ერთი პროექტი არსებობს, რომლიც პროტოენების აღდგენასაც შეეჭიდა.

ეს სტატია არის სწორედ ამ ერთადერთი პროქტის შესახებ. ქვემოთ ჩამოვწერ ჩემი და მათი პროექტის მსგავსებებს და შემდეგ განსხვავებებს:

  Alexandre Bouchard-Côté, David Hall , Thomas L. Griffiths and Dan Klein ალექსანდრე აბრამიშვილი კომენტარი
საჯაროობა ამ პროგრამაზე მხოლოდ აღნიშნულ მეცნიერებს მიუწვდებათ ხელი ჩემს პროგრამას საჯარო გამოყენებადობა ექნება, მათ შორის იუზერ-ფრენდლი ვებსაიტი, რომლიდანაც ინფუთის მითითება ნებისმიერ მსურველს შეეძლება და აუთფუთსაც ვიზუალური სახით იხილავს  
ინფუთი ენების ლექსიკონები იგივე  
აუთფუთი ენათა ხე და ნოუდებში აღდგენილი ენები, ასევე თითოეულ წიბოზე ყველაზე გავრცელებული ბგერათცვალებადობა ენათა ხე და ნოუდებში აღდგენილი ენები მიუხედავად იმისა, რომ ჩემი საწყისი იდეა წიბოებზე ბგერათცვალებადობის ტრენდების ჩვენებას არ გულისხმობს, ამ მონაცემის აუთფუთში გამოტანა უკვე არსებული არქიტექტურით უმარტივესი ფუნქციონალი იქნება, თუკი ამის საჭიროებას დავინახავ
მონაცემების შეგროვება ავსტრონეზიური ენათა ოჯახის 700-ამდე ენის ლექსიკონები Wiktionary-ის API ჩემს პროგრამას მეტი მოქნილობა აქვს ინფუთის მხრივ და ყოველი ახალი ხის დაგენერირება არ იქნება დამოკიდებული ადამიანურ შრომაზე
ლინგვისტური მოდელი პირდაპირ IPA-თი ჩაწერილი ფონემები IPA-თი ჩაწერილი თითოეული ფონემა იქნება შენახული ბგერითი მახასიათებლების ვექტორად იმის გამო, რომ ფონემები ფიზიკური მახასიათებლების გამო ზოგი ერთმანეთს ძალიან ჰგავს და ზოგიც თითქმის არა, მათი შენახვა მათი მახასიათებლების ვექტორებით უფრო მიახლოებულ მოდელს ქმნის იმისათვის, რომ ბგერების ცვლილებების ალბათობები აღმოვაჩინოთ, თანაც ჩემი მიდგომით თეორიულად ყველა ფონემის მიღებაა შესაძლებელი (დაახლოებით 10 000) მხოლოდ 9 მახასიათებლით და ალბათობების მატრიცაც ბევრად პატარა იქნება და შესაბამისად ნაკლებ დროს მოიხმარს მათი დათვლა ვიდრე პირდაპირ ფონემების ალბათობების
სიტყვებს შორის მანძილის დათვლა Levenshtein-ის edit distance, რომელიც 3 მოქმედებას იყენებს: ქარაქტერის ჩანაცვლებას, გაქრობასა და გაჩენას Damerau–Levenshtein-ის edit distance-ის გავრცობილი ვარიანტით, რომელიც ერთეულად არა ქარაქტერს, არამედ ვექტორს იღებს და აქვს 6 სხვადასხვა მოქმედების ჩატარების უფლება: ერთი ფონემის ჩანაცვლება (ერთი მახასიათებლით განხვავებულით), ფონემის გაჩენა (n მახასიათებლიანი), გაქრობა (n მახასიათებლიანი), მეზობლების გადანაცვლება, მეზობლების გაერთიანება, 6. ფონემის ორად გაყოფა მიუხედავად იმისა, რომ სტანდარტული ლევენშტაინის მანძილით დათვლილი ცვლილებები ერთი ენის ფარგლებში ორთოგრაფიული შეცდომების უმეტესობას ფარავს, ენათა შორის ცვალებადობაზე ეს არ ვრცელდება და 3 ყველაზე გავრცელებულ ბგრათცვლილებას არ ითვალისწინებს, რომლებიცაა ფონემების შერწყმა, ფონემების გადანაცვლება და ფონემების განცალკევება. ჩემი ალგორითმი ამ დამატებით სამ ცვლილებასაც შეიცავს და უფრო დახვეწილი შედეგის მიღებას, ვვარაუდობ.
პროტოენების აღდგენა ჭეშმარიტი კოგნატების სიმრავლეების გამოყოფით და ბგერათცვლილებების ალბათობაზე დაფუძნებით მშობელ ნოუდებში შვილების ლექსიკონებიდან მშობლის ლექსიკონის აღდგენა იგივე თვითონ ეს პროცესი კი იგივე იქნება ჩემს შემთხვევაშიც, მაგრამ იმის გამო რომ მოდელი მაქვს განსხვავებული ჩემი პროგრამის მიერ აღდგენილი პროტოენები არ იქნება შეზღუდული კონკრეტული ფონოლოოგიით (ფონემათა სიმრავლით). ანუ შეიძლება მივიღოთ ენა, რომელშიც ისეთი ბგერებია, რომელიც არცერთ თანამედროვე ენაში არ გვხვდება, რაც რეალურ პროცეს შეესაბამება.
ბგერათცვლილებების ალბათობების სწავლა იტერაციული machine learning ალგორითმი, რომელიც საწყის ხეში სწავლობს ყველა ბგერათცვლილების ალბათობას და შემდეგ ამ ალბათობებზე დაყრდნობით აგებს ხელახლა მთელ ხეს. ეს პროცესი მიმდინარეობს იქამდე სანამ ხე არ დაქონვერჯდება, და დაქონვერჯება გარანტირებულია იმით, რომ ყოველ მომდევნო იტერაციაზე ალგორითმი ენებს შორის წიბოების სიგრძეებს ამცირებს (ანუ ოპტიმალურ გადასვლების გრაფს აგებს) იგივე ამ ეტაპზე შეიძლება deep-learning-ის გამოყენება Expectation–maximization ალგორითმის ნაცვლად, ან ნებისმიერი ML მიდგომის, რომელიც აღმოაჩენს და შეისწავლის ხეში ბგერათცვლილებების ალბათობებს

ერთი სხვა პროექტი, რომლის ხსენებაც ღირს არის ეს. მიუხედავად იმისა, რომ მათი მიზანი მხოლოდ ხის დაგენერირება და არა პროტოენების აღდგენაა და ლინგვისტურ მოდელად ძალიან მიახლოებითი მიდგომა აქვთ აღებული, რომელიც თითოეულ ფონემასაც კი არ განიხილავს, არამედ ამ ფონემებს აერთიანებს ზოგად კლასტერებში, შედეგი საკმაოდ ზუსტი აქვთ და რაც მთავარია მათი პროგრამის ინტერაქტიული გამოყენებაა შესაძლებელი, რის გამოც ჩემი აზრით ძალიან დასაფასებელია და თუ მეც მათ მსგავსად ინტერაქტიულს გავხდი, ჩემი უფრო დაწვრილებითი ალგორითმით ბევრად უკეთესი და მრავლისმეტყველი შედეგის მიღწევით, ამ ორი ნახსენები პროექტის საინტერესო ნაზავს დამატებულ უნიკალური ფუნქციონალის მქონე პროექტს მივიღებ.

მეთოდები

პროგრამის დასაწერად გამოყენებული იქნება python-ი, ხოლო ვებ-საიტისთვის ruby on rails-ი.

მეთოდების და მიდგომების მოკლე გეგმა

მონაცემების შეგროვება

ინფუთისთვის საჭიროა n ენის m-სიტყვიანი ლექსიკონები ჩაწერილი IPA-თი. ამ ტიპის ინფორმაციის მიღება მარტივად შეიძლება Wiktionary-ის API-თი. Wiktionary-ს აქვს 8 000 ენაზე მეტის მხარდაჭერა და 5 000 000-ზე მეტი სიტყვა განმარტებული. მართალია აქედან დიდ ნაწილს ტრანსკრიპცია აკლია, თუმცა მაინც წარმოუდგენლად დიდი ბაზა რჩება ტრანსკრიპციიანი სიტყვების, ანუ სიტყვების რომელთა ჟღერადობაც ჩაწერილია IPA-თი.

მოდელის შექმნა

იმისათვის რომ პირველადი ხის ასაგებად სიტყვების შედარების შესაძლებლობა მქონდეს, საჭიროა შესაბამისი ლინგვისტური მოდელი.

სიტყვები, რომლებიც ჩაწერილი იქნება საერთაშორისო ფონეტიკური ანბანის (IPA) სიმბოლოებით, გადაიწერება ბგერითი მახასიათებლების იმდენ ვექტორად (იხ. ფონემა) რამდენი ფონემაცაა მასში.

ეს გადაწერის პროცესი ხელით სამუშაოა, რადგან არ არსებობს სრული სია IPA-ს ფონემებისა და მათი მახასიათებლებისა, თუმცა მიუხედავად შრომატევადობისა, რეალისტურად მოსწრებადია, რადგან IPA შედგება სულ რაღაც 107 ერთსიმბოლოიანი ფონემისგან და 66 დამატებითი, დიაკრიტიკული ნიშნისგან.

ხის აგება

ხის ასაგებად პირველი ნაბიჯია ყველა ენის წყვილწყვილად (O(n2)) შედარება, რომლის ფარგლებშიც საჭიროა ამ ორი ენიდან ერთის სიტყვების მათ შესაბამის სიტყვებთან შედარება (O(m)) და მანძილების დათვლა.

სიტყვების შედარება

სიტყვებს შორის მანძილების დათვლა მოხდება Damerau–Levenshtein-ის edit distance-ის გავრცობილი ვარიანტით, რომლის მიხედვითაც მხარდაჭერილია 6 ოპერაცია:

მიუხედავად იმისა, რომ შერწყმა შეიძლება წარმოდგენილი იყოს, როგორც ერთი ფონემის გაქრობა და მეორის ცვლილბეა, ხოლო გახლეჩა - როგორც ფონემის გაჩენა და არსებულის შეცვლა, ამ ტიპის ცვლილებების დამატება აუცილებელია იმიტომ, რომ უფრო მოკლე მანძილები მიიღება, ჩვენ კიდევ გვინდა მინიმალური მანძილების დათვლა.

ენების შედარება

რეალურად, ორ ენას შორის ყველა სიტყვის შედარებით ეს ენები უკვე შედარებულია ერთმანეთს და მათი დაშორების ერთი მახასიათებელი სწორედ ამ სიტყვების შორის მანძილების მასივით გამოისახება. თუმცა იმისათვის რომ ხის აგება იყოს შესაძლებელი, გვჭირდება ერთრიცხვიანი მანძილები ენებს შორისაც. ამ რიცვის არჩევის რამდენიმე ვარიანტი არსებობს, რომლებიდანაც ყველაზე მარტივებია მასივიდან მინიმალურის, მაქსიმალურის ან საშუალოს ამორჩევა.

იმის გამო, რომ სიტყვებს შორის მანძილები ასახავს დროს, რომელშიც ეს ერთი სიტყვა მეორედ შეიძლებოდა ქცეულიყო, თუ ორ ენას შორის შედარუებულ სიტყვების მანძილებში არსებობს მაქსიმუმი, მაშინ გამოდის რომ მინიმუმ ეს დრო გავიდა. სწორედ ამიტომ მარტივი გადაწყვეტილები იქნება მასივიდან მაქსიმუმის აღება.

Threshold-ების დადება

თუმცა უნდა გავითვალისწინოთ, რომ ეს ენები რეალურ სამყაროში დისკრეტულად არ იყოფიან ერთმანეთისგან. გარდა იმისა რომ გაყოფის დრო გაწელილია, მას შემდეგაც რაც ენები სრულიად დაშორებულია ერთმანეთს, მათ შორის ხდება სიტყვების გაცვლა. კიდევ ერთი რაც ბუნებრივ ენებში ხდება არის სიტყვების შინაარსების ცვლილება.

ამ ფაქტორების გათვალისწინებით ორი ენის სიტყვების შედარებისას გამოიყოფა სამი ჯგუფი სიტყვებისა: სიტყვები, რომლებიც ნათესაობით უკავშირდებიან ერთმანეთს და ამ ენების განვითარებასთან ერთად შეიცვალნენ, სიტყვები, რომლებიც ერთი ენიდან მეორეში შევიდა უკვე ჩამოყალიბებული სახით (ან მესამედან ორივეში) და სიტყვები, რომლებმაც შინაარსი შეიცვალეს. მეორე და მესამე კატეგორიის სიტყვები ისეთებია, რომლებიც არ დაგვეხმარება ენების ნათესაობის დადგენაში, ამიტომ რამენაირად მათი იდენტიფიკაციაა საჭირო.

პროგრამის პირველი ვერსიისთვის გამოვიყენებ მარტივ threshold-ებს. სიტყვების მანძილების მასივიდან გამოვყოფ კლასტერებს k-means clustering ალგორითმით, და ამ კლასტერებში გამოვყოფ ყველაზე პატარა მანძილისა და ყველაზე დიდი მანძილის სიტყვებს, რომლებსაც დავაიდენტიფიცირებ, როგორც გვიან შემოსულ სიტყვებსა და შინაარსშეცვლილ სიტყვებს. საბოლოოდ, ხის დასაგენერირებლად დავტოვებ მხოლოდ შუა კლასტერს.

პირველადი ხის დაგენერირება

ამ ეტაპზე მოცემული მაქვს ყოველი ენის ყოველთან მანძილების სია, ანუ n-სრული გრაფი, რომლიდანაც მინდა ბინარული ხის აგება. ეს ზუსტად იგივე პრობლემაა, რაც გენეტიკურ ალგორითმებში უდგათ, ამიტომ მეც მათ მიდგომას მივმართავ და გამოვიყენებ neighbor joining ალგორითმს.

ამ ალგორითმის დასრულების შედეგად მივიღებთ ენების გენეტიკურ ხეს.

მშობელ კვანძებში ენების დაგენერირება

შემდეგი ეტაპია უკვე ახლად გაჩენილ მშობელ კვანძებში (ნოუდებში) ენების დაგენერირება. რადგან ხე ბინარულია და ფოთლები ინფუთად გადმოგვეცა, თითოეულ მშობელ კვანძს ზუსტად ორი შვილი აქვს. შვილებიდან ამოვყვებით და თითოეული მშობლისთვის მისი ორი შვილის თითოეული სიტყვისგან დავაგენერირებთ მშობლის სიტყვას.

ორი სიტყვისგან მშობელი სიტყვის მიღება ისევ ზემოთ აღწერილი სიტყვების შედარების მეთოდით მოხდება, ანუ დავითვლი უმოკლეს გზას საიდანაც ეს ორი შვილი სიტყვა შეიძლება მიგვეღო.

თუმცა იმის გამო, რომ სიტყვების მასივებს threshold-ები დავადეთ, რომელიღაც სიტყვებიდან, კერძოდ ყველაზე მეტად განსხვავებული სიტყვებიდან მშობელ ენაში სიტყვის დაგენერირება არარელევანტურია, მეტიც, არასწორია, რადგან ძალიან დაშორებული ერთი შინაარსის სიტყვები დედმამიშვილ ენებში ნიშნავს, რომ ამ სიტყვამ რომელიმე ამ ენის ჩამოყალიბებისას შინაარსი შეიცვალა ან უბრალოდ დაიკარგა ამ ფორმით. ასეთ შემთხვევებში არ ვიცით რომელი შვილის სიტყვა უნდა ავიღოთ მშობლის სიტყვისთვის. ამ პრობლემის მოგვარება შეიძლება მშობელი ენის დედმამიშვილების აღდგენის შემდეგ, როცა ამ კონკრეტულ პრომლემურ სიტყვას შევადარებთ ერთმანეთს, რომელიც ბევრად ახლოს იქნება, იმის შესაბამის სიტყვას დავაგენერირებთ. ერთადერთი ენა, რომელშიც შეიძლება დაგვრჩეს გადაუწყვეტელი სიტყვები იქნება ძირი ენა, რადგან მას დედმამიშვილი ენები არ ჰყავს, თუმცა ესეც მშვენიერი შედეგია და უბრალოდ ერთი შესაძლო ვერსიის მაგივრად გვექნება მაქსიმუმ ორი ვერსია რომელიმე სიტყვების შემთხვევაში.

თვითსწავლადი ბგერათცვლილებების იტერაციები

მას შემდეგ რაც პირველად ხე და მისი შესაბამისი პროტოენები უკვე დაგენერირებულია იწყება ყველაზე საინტერესო პროცესი. იმის გამო, რომ ხის დაგენერირება იდგა იმ დაშვებაზე, რომ ბგერის მახასიათებლების ცვლილება ყველა თანაბარი ალბათობისაა, მიღიბული შედეგზე ვერ ვიტყვით რომ აუცილებლად შეესაბამება სიმართლეს. თუმცა სრულად შემთხვევით გადანაწილებასთან შედარებით ბევრად უფრო ზუსტი შედეგი უკვე მიღებული გვაქვს და რადგან თითო სიტყვის მაგივრად ბევრი სიტყვის შედარებით გვაქვს დაგენერირებული პროტოენები, ის ინფორმაცია არ გვაქვს გამოყენებული, საშუალოდ რა ალბათობებით ხდება გადასვლები ბგერებს შორის.

სწორედ ამიტომ მთელ ხეში გამოვყოფ კოგნატების ხეებს, ანუ თითოეული სიტყვისთვის ხეს, რომელიც არ შეიცავს იმ ენების სიტყვებს, რომელბიც წინა ეტაპებზე დავაიდენტიფიცირეთ როგორც შინნარსშეცვლილი სიტყვები დიდი დაშორების საფუძველზე. ამ გამოყოფილ ხეებზე კი გავუშვებ მანქანური სწავლის რომელიმე ალგორითმს, რომელიც შეიწავლის ყველა იმ ბგერათცვლილების ალბათობას, რომელიც შეხვდება ამ ხეებში თავისი კონტექტსების გათვალისწინებით.

შემდეგ ამ ინფორმაციას გამოვიყენებთ იმისათვის რომ თავიდან ჩავატაროთ ხის დაგენერირების პროცესი, ოღონდ ამ შემთხვევაში სიტყვებს შორის მანძილი დაითვლება იმავე ალგორითმით, რომელიც გაითვალისწინებს ფონემის მახასიათებლების ერთმანეთში გადასვლის ალბათობებს, რომლებიც მანქანური სწავლით ვისწავლეთ.

ეს ორი პროცესი (ალბათობების სწავლა და ხის აგება) გაგრძელდება იქამდე სანამ ხე არ დაქონვერჯდება. ხოლო ამის შემდეგ გვექნება მიღებული საბოლოო შედეგი.