Açık Akademik Arşiv Sistemi

Enhancing mobile application age ratings using natural language processing techniques

Show simple item record

dc.contributor.advisor Profesör Doktor Muhammed Fatih Adak
dc.date.accessioned 2024-01-26T12:22:51Z
dc.date.available 2024-01-26T12:22:51Z
dc.date.issued 2023
dc.identifier.citation Idelbi, Muhammed Emin. (2023). Enhancing mobile application age ratings using natural language processing techniques. (Yayınlanmamış Yüksek Lisans Tezi). Sakarya Üniversitesi Fen Bilimleri Enstitüsü
dc.identifier.uri https://hdl.handle.net/20.500.12619/101746
dc.description 06.03.2018 tarihli ve 30352 sayılı Resmi Gazetede yayımlanan “Yükseköğretim Kanunu İle Bazı Kanun Ve Kanun Hükmünde Kararnamelerde Değişiklik Yapılması Hakkında Kanun” ile 18.06.2018 tarihli “Lisansüstü Tezlerin Elektronik Ortamda Toplanması, Düzenlenmesi ve Erişime Açılmasına İlişkin Yönerge” gereğince tam metin erişime açılmıştır.
dc.description.abstract Mobil uygulama mağazalarındaki uygulama sayısının hızla artmasıyla, her bir uygulama hakkındaki tüm bilgileri doğrulamak zorlaşmaktadır. Özellikle Yaş Derecelendirmesi konusunda bu durum daha da zorlaşmaktadır. Örneğin, Play Store ve App Store'un bir uygulamanın yaş derecelendirmesini belirlemek için bir algoritması vardır. Geliştiricilere uygulama hakkında sorular sorulur, örneğin uygulama şiddet içeriyor mu, sıklığı nedir, hakaret içeren dil veya açık saçık espri içeriyor mu gibi sorular sorulur. Ayrıca her ülkenin kuralları da geliştiricinin verdiği cevaplarla birlikte uygun derecelendirmeyi belirlemede dikkate alınır. Buradaki zorluk, bir geliştiricinin soruların herhangi birini yanlış cevaplaması durumunda, bu uygulamanın derecelendirme sürecini olumsuz etkileyebilmesi veya uygulamayı kullanmaması gereken yaş grubundaki kullanıcıların erişimini sınırlamasıdır. Mobil uygulamalara yaş derecelendirmesi atamak için gösterilen çabalara rağmen, mevcut yaklaşımlar çeşitli sınırlamalardan muzdariptir. Bu sınırlamalar, önerilen NLP tabanlı yaklaşım gibi daha etkili ve güvenilir bir çözüme olan ihtiyacı vurgulamaktadır. Mevcut çözümlerin temel sınırlamalarından bazıları şunlardır: Öznellik ve Tutarsızlık: Mevcut yaş derecelendirmesi atama süreci, manuel değerlendirmeye ve geliştiricilerin öznel yargılarına dayanmaktadır. Farklı geliştiriciler kriterleri farklı yorumlayabileceğinden, bu öznellik yaş derecelendirmesi atamalarında tutarsızlıklara yol açabilir. Bu tutarsızlık, mobil uygulamalar için yaş derecelendirmelerinin güvenini ve güvenilirliğini baltalamaktadır. Zaman Alıcı ve Zahmetli: Yaş derecelendirmelerini atamak için kullanılan anket tabanlı yaklaşım, geliştiriciler için zaman alıcı ve külfetli olabilir. Uygulamanın içeriğiyle ilgili birden çok soruyu yanıtlama süreci, büyük çaba gerektirir ve geliştiricilerin doğru bilgi vermesini engelleyebilir. Bu, yanlış veya eksik yaş derecelendirmesi atamalarına neden olabilir. Sürekli İzleme Eksikliği: Bir uygulamaya bir kez yaş sınırı atandığında, içeriği genellikle sınırlı veya sürekli olarak izlenmez. Bu, ilk yaş derecelendirmesi atamasından sonra uygulamada yapılan herhangi bir değişikliğin veya güncellemenin, uygulamanın farklı yaş grupları için uygunluğu üzerindeki etkisinin yeterince değerlendirilmeyebileceği anlamına gelir. Sonuç olarak, bir zamanlar belirli bir yaş grubu için uygun görülen bir uygulama, içerik güncellemeleri nedeniyle artık uygun olmayabilir. Kültürel Farklılıkların Sınırlı Olarak Dikkate Alınması: Mevcut yaş derecelendirme sistemleri genellikle kültürel farklılıkların ve hassasiyetlerin kapsamlı bir şekilde değerlendirilmesinden yoksundur. Farklı ülkeler ve bölgeler, farklı yaş grupları için neyin uygun olduğu konusunda farklı normlara ve değerlere sahip olabilir. Mevcut sistemlerin herkese uyan tek yaklaşımı, bu kültürel nüansları doğru bir şekilde yansıtmayabilir, bu da tutarsızlıklara ve uygun olmayan içeriğe potansiyel erişime yol açabilir. Bağlamsal Bilgileri Yakalayamama: Mevcut yaş derecelendirmesi atama yöntemleri, öncelikle geliştiriciler tarafından belirli sorulara verilen yanıtlar şeklinde sağlanan açık bilgilere dayanmaktadır. Ancak, genellikle uygulamanın içeriğinin bağlamsal bilgilerini ve inceliklerini yakalayamazlar. Bu, uygulama içeriğinin bazı yönleri gözden kaçabileceği veya yeterince dikkate alınmayabileceği için, yetersiz veya yanlış yaş derecelendirme atamalarına neden olabilir. Sınırlı Ölçeklenebilirlik: Mobil uygulamaların sayısı hızla artmaya devam ettikçe, mevcut manuel değerlendirme yaklaşımının ölçeklendirilmesi giderek daha zor hale geliyor. Çok sayıda başvuru, kapsamlı bir şekilde incelemeyi ve her birine doğru yaş derecelendirmesi atamayı zorlaştırıyor. Bu ölçeklenebilirlik sorunu, yaş derecelendirme atamalarının gecikmesine veya uygulamaların farklı yaş grupları için uygunluğunun değerlendirilmesinde gözden kaçmasına neden olabilir. Bu tez, mobil uygulamaları app store açıklamalarına dayalı olarak sınıflandırmak için yenilikçi bir yaklaşım önermektedir. Çalışma, Apple App Store'dan elde edilen 365.000'den fazla uygulama açıklamasını içeren bir veri kümesinden yararlanmaktadır. Araştırma, uygulamaları doğru bir şekilde sınıflandırmayı ve yaş derecelendirmesi yapmayı amaçlamaktadır, böylece kullanıcılar yaş grubu ve tercihlerine uygun uygulamaları bulabilir ve geliştiriciler doğrudan rakipleri ve pazar trendlerini belirleyebilir. Yaklaşım, veri ön işleme, vektörleştirme (kelime gömme "Word Embeddings" ve Bag-of-Words kullanarak) ve sınıflandırma olmak üzere üç ana adımdan oluşmaktadır. Küçük harfe dönüştürme, belirteçlere ayırma, ASCII olmayan karakterlerin, sayıların, URL'lerin ve etkisiz kelimelerinin kaldırılması gibi metin ön işleme teknikleri uygulanır. İki vektörleştirme yöntemi kullanılır: en çok kullanılan 1000 kelimeye dayalı Bag-of-Words ve kelime gömme modelleri (GloVe, Word2Vec, fastText). Oluşturulan kelime gömmeleri, basit ağırlıksız ortalama kullanılarak tüm uygulama açıklamasını temsil eder. Sınıflandırma, Support Vector Machines, Naive Bayes, Multi-layer Perceptron, Random Forests, Nearest Neighbor, AdaBoost, Decision Trees ve Logistic Regression gibi çeşitli algoritmalar kullanılarak gerçekleştirilir. Sınıflandırıcıların performansı, hassasiyet, hatırlama, F-ölçütü ve doğruluk kullanılarak değerlendirilir. Çalışma, kelime gömmelerini konu modellemesi (LDA) ile karşılaştırır ve kelime gömmelerinin uygulama sınıflandırma görevlerinde LDA'ya göre daha iyi performans gösterdiğini gösterir. LDA'nın kısa metin girdileriyle sınırlamaları vurgulanır ve kelime gömmelerinin anlamsal anlamı yakalama ve daha iyi sınıflandırma performansı elde etmedeki avantajı vurgulanır. Ayrıca, kelime gömmelerini Bag-of-Words yaklaşımı (VSM) ile karşılaştırır ve VSM uygulama açıklamalarındaki kelime ilişkilerini ve benzerlikleri yakalamada kelime gömmelerininden daha iyi performans gösterdiğini gösterir. Kelime gömme modelleri (GloVe, Word2Vec, fastText) arasında GloVe'nin en iyi performansı gösterdiği belirlenmiştir, bu durum muhtemelen daha kapsamlı bir kelime hazinesine sahip olmasından kaynaklanmaktadır. fastText'te karakter n-gramlarının dahil edilmesi, sınıflandırma doğruluğuna önemli ölçüde katkı sağlamamıştır.Genel olarak, önerilen yaklaşım, kullanıcılara ve geliştiricilere daha iyi uygulama keşfi ve pazar içgörüleri sağlayarak pratik sonuçlar sunmaktadır. Gelecek yönelimler arasında uzmanların oluşturduğu kategorizasyonlarla daha kapsamlı analizler yapma vearaştırmayı gerçek dünya uygulamasına yaklaştırmak için bir çalışma prototipi geliştirme yer almaktadır. Özet olarak, bu tez, uygulama mağazası açıklamalarına dayalı olarak uygulama sınıflandırması için etkili bir yaklaşım sunar, kelime gömmelerini kullanır ve doğru yaş derecelendirme tahminleri elde eder.
dc.description.abstract As the huge number of mobile applications in stores increases, it gets difficult to verify all the information about each application. Especially Age Rating. For instance, Play Store and App Store have an algorithm to determine the age rating of an application, the algorithm is applied after the developer is asked questions about the application such as if the application includes any violence scenes and if It is frequent or not or containing offensive language or crude humor and many other questions, also rules of each country are put into account with the developer's answers while giving the appropriate rating. The challenge here is that a developer may answer any of the questions wrongly and this would affect the process of the rating of the application negatively, either by making it accessible by users who must not use it because of age restriction or limiting users from reaching the application while the application is suitable for them. In this thesis, a novel method is presented to classify mobile apps by analyzing their app store descriptions. The study utilizes a dataset obtained from the Apple App Store, consisting of over 365,000 app descriptions. The research aims to accurately classify and age-rate apps, enabling users to find apps suitable for their age group and preferences, and helping developers identify direct competitors and market trends. The approach consists of three major steps: data pre-processing, vectorization (using word embeddings and Bag-of-Words), and classification. Text pre-processing techniques such as lowercasing, tokenization, removal of non-ASCII characters, numbers, URLs, and stop-word removal are applied. Two vectorization methods are used: Bag-of-Words with a maximum of 1000 most-frequent words and word embeddings (GloVe, Word2Vec, fastText). The generated word embeddings represent the entire app description using simple unweighted averaging. Classification is performed using various algorithms such as Support Vector Machines, Multi-layer Perceptron, Random Forests, Nearest Neighbor, AdaBoost, Decision Trees and Logistic Regression. The performance of these classifiers is evaluated using accuracy, recall, precision, and F-measure. The study compares word embeddings with topic modeling (LDA) and demonstrates that word embeddings outperform LDA in app classification tasks. The limitations of LDA with short text inputs are highlighted, emphasizing the advantage of word embeddings in capturing semantic meaning and achieving better classification performance. Furthermore, the study compares word embeddings with the bag-of-words approach (VSM) and shows that VSM outperform word embeddings in capturing the semantic relationships and similarities between words in app descriptions. Among the word embedding models (GloVe, Word2Vec, fastText), GloVe performed the best, potentially due to its more comprehensive vocabulary. The inclusion of character n-grams in fastText did not significantly contribute to classification accuracy. Overall, the proposed approach has practical implications for users and developers, enabling better app discovery and market insights. Future directions include conducting more extensive analysis with expert-generated categorizations and developing a working prototype to bring the research closer to real-world application. In summary, the thesis presents an effective approach for app classification based on app store descriptions, utilizing word embeddings, and achieving accurate age rating predictions.
dc.format.extent xxv, 35 yaprak : şekil, tablo ; 30 cm.
dc.language İngilizce
dc.language.iso eng
dc.publisher Sakarya Üniversitesi
dc.rights.uri http://creativecommons.org/licenses/by/4.0/
dc.rights.uri info:eu-repo/semantics/openAccess
dc.subject Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol,
dc.subject Computer Engineering and Computer Science and Control
dc.title Enhancing mobile application age ratings using natural language processing techniques
dc.type masterThesis
dc.contributor.department Sakarya Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar ve Bilişim Mühendisliği Ana Bilim Dalı,
dc.contributor.author Idelbi, Muhammed Emin
dc.relation.publicationcategory TEZ


Files in this item

This item appears in the following Collection(s)

Show simple item record

http://creativecommons.org/licenses/by/4.0/ Except where otherwise noted, this item's license is described as http://creativecommons.org/licenses/by/4.0/