Mobil cihazlar için aktivite tanıma tabanlı adaptif kullanıcı arayüzü
Adaptive user interface for mobile devices based on activity recognition
Yazar: ÖZLEM YURDAKURBAN
Danışman: DR. ÖĞR. ÜYESİ GÖKHAN İNCE
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2018
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Günümüzde birçok firma hizmetlerini mobil uygulamalar üzerinden sunmaya başlamıştır. Mobil uygulamalardan yapılan finansal işlem sayıları gün geçtikçe artmaya devam ederek geleneksel kanalların üzerine çıkmış durumdadır. Şirketler farklı kullanıcı profillerine hitap edebilmek için, mobil uygulamalarında mobil cihazlar ile sunulan limitli alana olabilecek en yüksek sayıda işlem ve seçenek koyma eğiliminde olmaktadırlar.  Bunun yanında bu seçenekler sunulurken, her oturumda maksimum kar hedefi ile en gelir getirici işlemler, yeni özellikler, kampanyalar ve reklamlar gösterimde önceliklendirilmektedir. 
Son yıllarda mobil uygulamaların yeteneklerinin artmasının bireylerin günlük hayattaki aktivitelerin yapılış şekline de etkisi olmuştur. Mobil uygulamalar eğlence ya da bilgi edinme amacının yanında eposta kontrol etme, fatura ödeme gibi birçok günlük işin tamamlanmasında da kullanılmaya başlanmıştır. Ayrıca, kullanıcılar mobil uygulamaları sıklıkla aynı anda başka bir aktiviteyi sürdürürken kullanmaktadır. 
Kullanıcılar aceleleri olduğunda ya da aynı anda başka bir aktivite ile uğraştıklarında hedeflerini hızlı bir şekilde, kolayca ve herhangi bir sürprizle karşılaşmadan tamamlamayı isterken, diğer yandan boş zamanlarında mobil uygulama kullanırken daha çok seçenek sunulmasını, yeni özellik ve fırsatlardan haberdar olmayı tercih etmekte ve yenilikçi tasarımlar deneyimlemekten hoşlanmaktadırlar. 
Bir mobil uygulamanın kullanıcıların farklı bağlamlardaki değişken ihtiyaçlarını karşılaması ve bunu yaparken şirketlerin hedeflerine olumsuz bir etkide bulunmaması için adaptif bir arayüzün yararlı olacağı düşünülmüştür. Kullanıcıların içinde bulunduğu koşulların yaptıkları aktiviteler tespit edilerek belirlenmesi hedeflenmiştir. Bunun için mobil cihazlar üzerinde bulunan sensörler kullanılarak veri toplanıp, makine öğrenmesi ile işlenerek kullanıcıların yaptıkları aktivitelerin belirlenmesi planlanmıştır. 
İnsan aktivitesi tanıma çözümlerinin en sık güvenlik, sağlık, çocuk bakımı, yaşlı bakımı ve spor alanlarında uygulandığı ve yürüme, koşma, kişisel bakım işlemlerinin yapılması gibi aktivitelerin tanıma işleminin yapıldığı görülmektedir. Kullanılan cihaz tiplerinin karşılaştırılması, kullanılan sensörlerin karşılaştırılması, cihazın kullanıcı üzerindeki konumunun etkisi gibi alanlardaki çalışmaların yanı sıra farklı makine öğrenmesi yöntemlerinin karşılaştırıldığı çalışmalar da bulunmaktadır. İnsan bilgisayar etkileşiminin bir konusu olan adaptif arayüzlerin kullanıcıların tercihlerine göre kişiselleştirilmiş bir sistem sunulması, kullanıcıya göre ilgisiz içeriğin filtrelenmesi, yeni bir sistemin kullanıcılarına sistemin öğrenilme aşamasında yardım ve öneriler getirilmesi, kullanıcının yapmayı hedeflediği işlemlerin öngörülerek kullanıcıya özellikle bir seçim yaptırılmaması gibi farklı uygulama alanları bulunmaktadır. 
Bu tezde aktivite tanıma işlemi için önce bir Android uygulaması üzerinden veri toplama yapılmıştır. Kullanıcılardan veri toplarken her kullanıcı uygulamayı kendi akıllı telefonuna yüklemiş ve uygulama aracılığıyla toplanan veriler sunucuya yüklenmiştir. Ardından öznitelik çıkarma işlemi yapılarak toplam 45 adet öznitelik çıkarılmıştır. Bunlar cihazda bulunan sensörlerden alınan değerlerin maksimum değeri, minimum değeri, ortalaması, standart sapması ve ortalama mutlak sapmasıdır.  Öznitelik çıkarma işlemi sırasında Kayan Pencereler (sliding windows) yönteminden yararlanılmıştır. Daha sonra En İyi İlk (Best First)  arama yöntemi kullanılarak Korelasyon Temelli Özellik Seçimi (Correlation-based Feature Selection) uygulanarak 25 niteliğin kullanıma en uygun olduğu belirlenmiştir. Veri Rastgele Ağaç (Random Tree), Karar Tablosu (Decision Table) ve Bayes ağı (Bayesnet) kullanılarak eğitilmiş ve sınıflandırılma modelleri elde edilmiştir.  Üç algoritmanın her biri için  çapraz doğrulama (Cross-validation) yapılmış ve ayrı bir test kümesi ile doğrulama yapılmıştır. Sonuçlar değerlendirilerek en başarılı sınıflandırma yöntemi belirlenmiştir.
Bu çalışmada adaptif arayüz kullanımı, başka bir aktivite yaparak uygulamayı kullanan kişinin kullanıcı deneyimini artırma hedefindedir. Önce kullanıcı ihtiyaçlarının belirlenmesi için seçilen bir gruba beklentilerini anlamak amacıyla sorular sorulmuştur. Bu soruların cevaplarına göre adaptif arayüz tasarımı için yaklaşımlar belirlenmiştir. Bu yaklaşımlara göre hem statik arayüzleri olan, hem de aktivite sırasında adaptif arayüz kullanan bir mobil uygulama geliştirilmiştir. Hazırlanan uygulama farklı aktiviteler yapan kişilere hem adaptif arayüz ile hem de statik arayüz ile verilmiştir. Kullanıcılardan bazı işlemleri gerçekleştirmeleri istenip, işlemleri video ile kaydedilmiştir. Ardından kullanıcılara kullanıcı memnuniyeti anketi uygulanmıştır. Farklı arayüzler ile yapılmış işlemlerin videoları incelenerek işlem süreleri bakımından karşılaştırılmıştır. Anket sonuçları analiz edilmiştir.

Abstract:
Companies giving service to their customers using mobile applications have been vastly increasing in the last five years. Mobile applications targeting both end users and corporates have become more important in main business processes of companies in nearly all sectors. Financial transaction counts triggered from mobile devices have rapidly increased and have finally overrun transaction counts that were performed using traditional financial channels such as ATMs, bank branches and physical POS devices. 
In order to aim various customer profiles, companies tend to develop as many feature as possible targeting the limited space that mobile devices work with. Furthermore, due to the profit maximization strategy of companies, these features and options are prioritized using their profit ratios and amounts. New features, campaigns and advertisements also have high priority than existing and widely known ones.
Since mobile device and mobile application capabilities have increased in the past years, the way that users behave in daily activities has also changed. Mobile applications are being used for not only entertainment and information collection, but also for daily operations such as checking emails and paying bills. Moreover, people often use mobile applications while performing other activities. 
We can categorize end users' mobile application usage needs in two categories. First of all, when users are in hurry or when they are performing other physical activities, they need to complete their tasks quickly, easily and without any problems. Secondly, in their free time or when they are not in a hurry, they want to have more options, be informed about new features and opportunities and experience new and innovative user interfaces.
We have figured that a mobile application should meet a user's changing needs in different contexts without negatively affecting a company's business and profit targets. In order to achieve this, an adaptive user interface may be of service. We have planned such an adaptive mobile application that identifies the user's current situation using the activities she has been performing. After obtaining user activity data with the help of the sensors on the mobile device, machine learning algorithms are to be used for determining and classifying user activities.
Human activity recognition solutions are mostly implemented on security, health, child care, elderly care and sports areas. Walking, running and personal care activities are frequently classified. There are numerous works that compare device types, sensors used and the body part that the user carries the device on. Also, some studies compare different machine learning methods. Activity recognition solutions have several application areas such as adaptive user interface personalization, user dependant content filtering and targeting, user training and instruction in the initial usage of the application, and user behaviour prediction that aims to prevent the user from performing some tasks.
Within our thesis study, user activity data was collected from end users with the help of a native Android mobile application. Every user installed the mobile application on her phone personally. After the collected data was uploaded to the server, feature extraction was applied and 45 features were extracted. These features consist of maximum, minimum, mean, standard deviation and mean absolute deviation values of device sensor data. 
Sliding Windows method was used for feature extraction. Afterwards, Best First search method was used and Correlation-based Feature Selection method was applied in order to determine the features to be used. 25 features were found suitable and usage ready. Random Tree, Decision Table and Bayesian Network models were trained using the data, and classification models were obtained. After performing cross validation on all of the three algorithms, models were validated using an independent test data set. Test results were evaluated and the best performing model was identified. Among three different methods (Random Tree, Decision Table and Bayesian Network) Bayesian Network was found the one with the more success on detecting the right activity.
In this study, adaptive user interface usage aims to enhance user experience for users that use the mobile application while performing other activities. In order to obtain end user expectations, a set of questions were asked to the testers that were selected for understanding user needs. According to the answers of the questions, adaptive user interface design requirements were settled. Using these requirements, a native Android application that has both static user interfaces and adaptive dynamic user interfaces was implemented.  The adaptive user interfaces are designed to be used during physical activity. 
Both versions of the application were provided to the testers. The users were asked to perform a set of banking operations using the mobile application. The tests were performed during five different activities, including standing, walking, climbing up the stairs, climbing down the stairs and running. All user operations were recorded as video files. Afterwards, a user satisfaction survey was applied to the testers. Video recordings of the operations performed using the two versions of the mobile application were examined, and durations were compared. Survey results were analysed.
In order to evaluate the quantitative results of the tests, durations of the tasks performed by testers are calculated using the video files recorded during the tests. The durations for each activity in both static user interface and adaptive dynamic user interfaces were analysed. The results showed that the use of adaptive dynamic user interface during the activity helped users to achieve their task in less time comparing to use of static user interface. 
Another analysis is made on the results of the user satisfaction survey. These results showed that majority of the testers are highly satisfied by the experience and stated that they would prefer to use mobile applications with the design provided by the adaptive user interface. 
This work is applicable to all kind of mobile application and mobile device.  The use of adaptive user interfaces would be helpful in music playing applications which are used during exercises, navigation applications which are used while walking or driving car or all social media application that users like to check during their other activities. On the other hand, the financial applications which contains processes taking long time, which require high attention or which contain urgent tasks are also an application area of adaptive user interfaces.