Türkçe doğal dil metinlerinden python programlama dili kodu üretilmesi

Yükleniyor...
Küçük Resim

Tarih

2024

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Bursa Teknik Üniversitesi, Lisansüstü Eğitim Enstitüsü

Erişim Hakkı

info:eu-repo/semantics/openAccess

Özet

Dil insanların birbirleriyle iletişim kurmak, duygu ve düşüncelerini karşısında bulunan kişiye aktarmak amacıyla kullandıkları iletişim aracıdır. İnsan yaşamının vazgeçilemez bir parçasıdır. Bilgisayar dünyası açısından bakıldığında ise diller insanların günlük yaşamda kullandıkları İngilizce, Arapça, Türkçe gibi doğal diller ve belli kurallar çerçevesinde geliştirilen, bilgisayarların anlayıp makine koduna çevirebildiği ifadeler olan programlama dilleri olarak 2'ye ayrılabilir. Günümüzde çok sayıda programlama dili kullanılmaktadır. Bu dillerinin her birinin kendine özgü yazım kuralları olması dil öğrenimini ve diller arası geçişi zorlaştırmaktadır. Özellikle programlama dilini öğrenmeye yeni başlayan kişilerin bu kurallara alışması zaman almaktadır. Programlama dillerinin sentaksının İngilizce olması da farklı dillerden gelen kişilerin bu adaptasyon sürecini daha zor hale getirmektedir. Bu gibi problemler araştırmacıları doğal dilde programlama yapma fikrine sevk etmiştir. Günlük yaşamda birçok işlemde doğal dil işleme kullanan uygulamalara rastlanmaktadır. Bu uygulamalara örnek verilmek istenirse Bankalardaki sesli yanıt sistemleri, akıllı uygulamalarda karşılaştığımız sohbet robotları, diller arası çeviri programları, yazım denetim programları, metin özetleme sistemleri, dil bilgisi kontrol sistemleri, mesajlaşmalarımızda kullandığımız sonraki kelimenin tahmin edilmesi çalışmaları gibi örnekler verilebilir. Teknolojik cihazlar hayatımızın vazgeçilmez öğelerinden biri konumundadır. Günlük hayatımız da bu denli teknolojinin kullanılması programlama ile profesyonel olarak ilgilenmeyen, eğitim hayatında programlama dersi görmemiş kişilerin de yazılım teknolojilerine ilgi duymasına yol açmaktadır. Diğer bir taraftan da doğal dil işleme çalışmalarının bu kadar ilerlemesiyle birçok araştırmacı doğal dil ifadelerinden programlama dili ifadeleri oluşturma üzerine çalışmıştır. Bu tez çalışmasında Türkçe konuşma dilinde yazılmış doğal dil metinleri kullanılarak, kullanıcının isteklerini karşılayan Python programlama dili kodunun üretimini sağlayan bir sistem tasarımı oluşturulmaktır. Kullanıcıların sorabileceği olası sorulardan oluşan veri setleri çeşitli doğal dil işleme teknikleriyle bir dizi işlemden geçirilmiştir. Ön işleme aşamaları tamamlanan bu veriler Transformer Mimarisi kullanılarak eğitilmiştir. Bu eğitim verisinden elde edilen sonuçlar kullanılarak kullanıcıların girdiği doğal dildeki metinlerini anlamak ve sonuç üretebilmek için bir yapı kurulmuştur. Bu tez çalışmasının amacı Türkçe doğal dilinde yazılmış cümleleri analiz edip, isteklere karşılık gelen Python programlama dili kodu üretimi sağlayan bir yapı tasarlayarak Türkçe dilinde programlar yazabilme imkânı sunmaktır. Literatürde daha önce yapılan çalışmalar incelendiğinde Türkçe dili kullanılarak programlama dili kodu üretilmesi konusunda sınırlı sayıda çalışmaya rastlanmakta, çoğu çalışmanın İngilizce için yapıldığı görülmektedir. Bu nedenle bu alanda yapılacak Türkçe çalışmalar önem arz etmektedir. Yapılan bu çalışmayla hem otomatik programlama dili kodu üretilmesi konusunda Türkçe doğal dil işleme alanında literatürde bulunan bu eksikliğin doldurulmasına katkı sağlanacak hem de Python gibi çok kullanılan bir dil tercih edilerek bu dili öğrenme konusunda problem yaşayan kişiler için kolaylık sağlanacaktır.
Language is a communication tool that people use to communicate with each other and to convey their feelings and thoughts to the other person. It is an indispensable part of human life. From the point of view of the computer world, languages can be divided into natural languages such as English, Arabic, Turkish, which people use in daily life, and programming languages, which are expressions developed within the framework of certain rules, which computers can understand and translate into machine code. There are many programming languages in use today. The fact that each of these languages has its own writing rules makes language learning and transition between languages difficult. It takes time to get used to these rules, especially for people who are new to learning a programming language. The fact that the syntax of programming languages is English also makes this adaptation process more difficult for people from different languages. Such problems have led researchers to the idea of natural language programming. There are applications that use natural language processing in many processes in daily life. Examples of these applications are voice response systems in banks, chat robots that we encounter in smart applications, interlingual translation programs, spell checking programs, text summarization systems, grammar control systems, prediction of the next word we use in our messaging. Technological devices are one of the indispensable elements of our lives. The use of so much technology in our daily lives causes people who are not professionally interested in programming and who have not taken a programming course in their education life to be interested in software technologies. On the other hand, with the advancement of natural language processing, many researchers have worked on creating programming language expressions from natural language expressions. The aim of this thesis is to design a system that uses natural language texts written in Turkish spoken language to generate Python programming language code that meets the user's requests. Data sets consisting of possible questions that users may ask were subjected to a series of operations using various natural language processing techniques. After the pre-processing stages were completed, these data were trained using the Transformer Architecture. Using the results obtained from this training data, a structure was built to understand the natural language texts entered by users and to produce results. The aim of this thesis is to analyze sentences written in Turkish natural language and to design a structure that generates Python programming language code that responds to the requests and provides the opportunity to write programs in Turkish language. When the previous studies in the literature are examined, it is seen that there is a limited number of studies on generating programming language code using the Turkish language, and most of the studies are conducted in English. For this reason, Turkish studies in this field are important. This study will contribute to filling this gap in the literature on automatic programming language code generation in the field of natural language processing in Turkish, and by choosing a widely used language such as Python, it will provide convenience for people who have problems in learning this language.

Açıklama

Anahtar Kelimeler

Bilgisayar Mühendisliği Bilimleri, Bilgisayar ve Kontrol, Computer Engineering, Computer Science and Control

Kaynak

WoS Q Değeri

Scopus Q Değeri

Cilt

Sayı

Künye

Koleksiyon