Graduate Studies
Permanent URI for this communityhttp://repository.kln.ac.lk/handle/123456789/149
Browse
31 results
Search Results
Item ER to Relational Model Mapping: Information Preserved Generalized Approach(International Postgraduate Research Conference 2019, Faculty of Graduate Studies, University of Kelaniya, Sri Lanka, 2019) Pieris, D.; Wijegunasekera, M.C.; Dias, N.G.J.The Entity-Relationship (ER) model is widely used to create ER schemas to represent application domains in the Information Systems development field. However, when an ER schema is transformed to a Relational Database Schema (RDS), some critical information modeled on the ER schema may not be represented meaningfully on the RDS. This situation causes a loss of information during the transformation process. In our previous studies, we showed that the deficiencies that exist both in the ER model and the transformation algorithm cause this situation. Accordingly, we modified the ER model and the transformation algorithm to eliminate the deficiencies and thereby to preserve the information in the transformation process. We then showed that a mapping that is one-to-one and onto exists from the ER Schema to the RDS, and the information represented on the ER schema is preserved on the RDS. For this purpose, the ER schema should be created using the modified ER model and transformed to the RDS by the modified transformation algorithm. However, this concept has not yet been proved formally. It needs to be testified for any ER schema representing any application domain. Subsequently, following the modified ER model, we also proposed a generic ER schema ̶ an ER schema that represents any real-world phenomena in symbolic notation ̶ for using in a future proof creation process. Thus, in this work, we aim to create a formal proof for validating the work that we had done. For simplicity, we use a generic ER schema that consists of two regular (strong) entity types and a one-to-many-relationship-type. We first show that the generic ER schema can be partitioned into unique segments. We call them ER-construct-units, where each one represents a unique semantic meaning in the real world. The ER schema can be viewed to have been made up of the set of ER-construct-units. Both the ER schema and the ER-construct-unit set are equivalent. Second, we transform the generic ER schema to its corresponding RDS using the modified transformation algorithm. We then show that the RDS can also be partitioned into unique segments, which we call Relation-schema-units. Next, we show that a mapping that is one-to-one and onto exists from the set of ER-construct-units to the set of Relation-schema-units. In conclusion, we show that any ER-construct-unit in the ER schema has its own and unique Relation-schema-unit on the RDS. Therefore, any piece of information represented on the ER schema has its own and unique representation on the RDS. The proof can be expanded to any generic ER schema that is even bigger than the current one, and accordingly, the same result can be obtained. Since the generic ER schema means a generalized representation of any real-world ER schema, we conclude that information represented on any ER schema is preserved on its corresponding RDS.Item Comparison of Part of Speech taggers for Sinhala Language(Faculty of Graduate Studies, University of Kelaniya, Sri Lanka, 2016) Jayaweera, M.; Dias, N.G.J.Part of Speech (POS) tagging is an important tool for processing natural languages. It is one of the basic analytical model used in for many Natural language processing applications. It is the process of marking up a word in a corpus as corresponding to a particular part of speech like noun, verb, adjective and adverb. Automatic assignment of descriptors to the given tokens is called Tagging. The descriptor is called a tag. The tag may indicate one of the parts of speech category and the semantic information. So tagging is a kind of classification. The process of assigning one of the parts of speech to the given word is called parts of speech tagging. It is commonly referred to as POS tagging. In grammar, a part of speech (also known as word class, lexical class, or lexical category) is a linguistic category of words (or more precisely lexical items), which is generally defined by the syntactic or morphological behavior of the lexical item in the language. Each part of speech explains not what the word is, but how the word is used. In fact, the same word can be a noun in one sentence and a verb or adjective in another. In most of the natural languages in the world, noun and verb are common linguistic categories among others. Almost all languages have the lexical categories noun and verb, but beyond these there are significant variations in different languages. The significance of the part of speech for language processing is that it gives a significant amount of information about the word and its neighbours. There are different approaches to the problem of assigning a part of speech tag to each word of a natural language sentence. The most widely used methods for English are the statistical methods that is Hidden Markov Model (HMM) based tagging and the rule based or transformation based methods. Subsequent researches add various modifications to these basic approaches to improve the performance of the taggers for English. In this paper we present a comparison of the different researches that was carried out of POS tagging for Sinhala language. For Sinhala language, there were 4 reported work for developing a POS tagger. In 2004, a HMM based POS tagger was proposed using bigram model and reported only 60% of accuracy. Another HMM based approach was tried out for Sinhala language in 2013 and reported a 62% of accuracy. In 2016, another research was reported 72% of accuracy which was a hybrid approach based on bi-gram HMM and rules based approach in predicting the relevant tag for unknown words. The tagger that we have developed is based on a trigram based HMM approach, which used the knowledge of distribution of words and parts of speech categories in predicting the relevant tag for unknown words. The Witten-Bell discounting technique was used for smoothing and our approach gave an accuracy of 91.50% with a corpus of 90551 annotated words.Item An improved method to isolate Vehicle License Plate(Faculty of Graduate Studies, University of Kelaniya, Sri Lanka, 2016) Ashan, M.K.B.; Dias, N.G.J.In a License Plate Recognition (LPR) system, vehicle license plate isolation is one of the major tasks. By sending this isolated vehicle license plate image into an Optical Character Recognition (OCR) system, the license plate can be recognized. Locating the license plate in a vehicle image, the non-uniformity of license plates and the captured images which consists of skewed license plates are the key problems when it comes to the license plate isolation problem. The work proposed in this paper is a solution to the vehicle license plate isolation problem. The first phase of license plate isolation process is the conversion of the input image into grayscale. This may help to reduce the luminance of the colour image. As the second phase, the boundaries of the objects in the image will be improved by filling any unwanted holes. This filling process is called dilation. Next the, edge processing is performed on the dilated image both horizontally and vertically and, by drawing histograms for these two processing, the probable candidates for the license plate locations are identified. However, there may be consecutive columns and rows which consists of drastically changing values in the histograms. These are smoothed in the next phase. Now, the low histogram value regions are identified as the unwanted regions and by removing these, the probable candidate regions are identified. The most probable candidate which may contain the license plate is considered to be the highest histogram valued region. Closely located line of letters in the license plate with a plain background colour causes to generate such higher histogram values rather than in other regions. Finally, our algorithm work on different levels of illumination and skewed images. The efficiency of our algorithm is significantly increased and it is around 80%.Item New Processing Model for Operating Systems(Faculty of Graduate Studies, University of Kelaniya, Sri Lanka, 2016) Weerakoon, C.; Karunananda, A.; Dias, N.G.J.The computer plays a vital role in executing programs to solve problems. Further, for each and every such program, a process must be created, and all the required resources should be allocated to the process. In fact, the management of these processes is one of the most important jobs to be accomplished by an operating system. Moreover, by observing different behaviours that the processes display, the researchers have introduced variety of processing models such as two-state model, three-state model, five-state model, and seven-state model to increase the processing power of the computer. Here, the state of a process is related to the current task that the process does, and the term use for a state can be changed from one operating systems to another. Although, they have gained improvements, so far they have failed to produce a processing model to fully utilize the underline hardware architecture. Meanwhile, we made some observations on real world scenarios which revealed that how the human mind works is rather different from how the processing models incorporated in to the computers work till then. Furthermore, the human mind conditionally evolves with the time by drawing associations among the existing and newly arriving data and instructions. Having this insight, the research we conduct introduces a new eight-state processing model, which executes continuously depending on the presented conditions to enhance the processing power of the system. There, one additional state with the name “Terminate” with four new actions such as Ready-to-Ready, Ready-to-Terminate, Exit-to-Ready/Suspend, and Exit-to-Ready have been introduced to the existing seven-state processing model. In addition to those, two of the existing actions such as New-to-Ready/Suspend and New-to-Ready have been modified. In doing these changes, a set of fifteen from twenty four causal relations in Buddhist theory of mind, which can be exploited in explaining any phenomenon, has been applied. In order to depict the changes on each and every action, and to do the experiments, particular algorithms have being designing and these algorithms are to be integrated to the Kernel of the operating system. After doing these implementations, new processing model can be compared with the existing model by executing the same program for multiple times in the operating system with and without the new model and recording the time take in each round. Then the dependent two sample t-test which is more powerful and descriptive, can be applied on the results. Further, to check the quality of the new model a parametric test can be applied on the results of a survey conducted on a single group of users who has worked on the operating system with and without the new processing model.Item Optimization of SpdK-means Algorithm(Faculty of Graduate Studies, University of Kelaniya, Sri Lanka, 2016) Gunasekara, R.P.T.H.; Wijegunasekara, M.C.; Dias, N.G.J.This study was carried out to enhance the performance of the k-mean data-mining algorithm by using parallel programming methodologies. As a result, the Speedup k-means (SpdK-means) algorithm which is an extension of k-means algorithm was implemented to reduce the cluster building time. Although SpdK-means speed up the cluster building process, the main drawback was that the cumulative cluster density of the created clusters by the SpdK-means algorithm was different from the initial population. This means some elements (data points) were missed out in the clustering process which reduces the cluster quality. The aim of this paper is to discuss how the drawback was identified and how the SpdK-means algorithm was optimized to overcome the identified drawback. The SpdK-means clustering algorithm was applied to three datasets which was gathered from a Ceylon Electricity Board Dataset by changing the number of clusters k. For k=2, 3, 4 did not give any significant difference between the cumulative cluster density and the initial dataset. When the number of clusters were more than 4 (i.e., when k>=5), there was a significant difference on cluster densities. The density of each cluster was recorded and it was identified that the cumulative density of all clusters was different from the initial population. It was identified that about 1% of elements from total population were missing after clusters were formed. To overcome this identified drawback the SpdK-mean clustering algorithm was studied carefully and it was identified that there are elements which had equal distances from several cluster centroids were missed out in intermediate iterations. When an element had an equal distance to two or more centroids the SpdK-means algorithm was unable to identify to which cluster that the element should belong and as a result the element is not included in any cluster. If such element was included into all the clusters that had an equal distance and if this process is repeated to all such elements the cumulative cluster density will be highly increased from the initial population. Therefore, the SpdK-means was optimized by selecting one of the cluster centroids which had equal distance to one element. After many studies of selection methods and their outcomes, it was able to modify the SpdK-means algorithm to find suitable cluster to an equal distance element. Since, an element can belong to any cluster it is not possible give any priority to select a belonging cluster. As all centroids had equal distances from the elements, the algorithm will select one of the centroid from all equal centroids randomly. The developed optimized SpdK-means algorithm successfully solved the identified problem by identifying missing elements and including them in to the correct clusters. By analyzing the iterations when applied to the datasets, the number of iterations was reduced by 20% than the former SpdK-means algorithm. After applying optimized SpdK-means algorithm to above mentioned datasets, it was found that it reduces the cluster building time by 10% to 12% than the SpdK-means algorithm. Therefore, the cluster building time was further reduced than the former SpdK-means algorithm.Item Hardware Implementation of a Hidden Markov Model Based, Speaker Independent, Continuous, Sinhala Speech Recognition System(Faculty of Graduate Studies, University of Kelaniya, 2015) Samankula, W.G.D.M.; Dias, N.G.J.A speaker independent speech recognition system is built to recognize the continuous Sinhala speech sentences using the toolkit, HTK 3.4.1 based on the statistical approach, Hidden Markov Model (HMM). Mel Frequency Cepstral Coefficient (MFCC), Perceptual Linear Prediction (PLP) and Linear Predictive Coding (LPC) are considered as the feature extraction methods. The recognition performance is considered for number of feature parameters varied from 4 to 12, by adding energy coefficients, first and second derivatives of each coefficient, in order to find the optimal number of parameters for each feature extraction method. Three hundred Sinhala sentences were considered for recording in order to create the phonetically balanced dictionary. Data recordings were done with 50 males and 50 females and testing was performed by 25 speakers who had participated and had not participated for the training. The recognized sequence of words are the commands to automate home appliances such as light, television and radio etc., and this can help people with motor disabilities to operate equipment. The speech recognition system was physically implemented to provide access from a PC or a laptop, based on Arduino UNO board (ATmega328 microcontroller). Arduino comes with a simple integrated development environment (IDE) and allows the programmer to write programs for Arduino in C language. The identified command is transferred to the Arduino UNO board through serial communication and the signal is transmitted using Radio Frequency (RF) to operate electrical home appliances from anywhere up to 150 meters using wireless transceiver modules (C1101) with operating frequency 433MHz. Software was developed to operate more than 18 home appliances, but in hardware implementation, only four are tested. Four Arduino UNO boards are used to implement the light and fan on/off control and the door and curtain angle control. On/off control is operated using relays to switch on and switch off. The door and curtain angle control are constructed by motor with the MOSFET transistors (IRFZ44N). Since a high recognition rate of 85% was achieved for MFCC with 7 feature parameters and adding energy coefficients, first and second derivatives in the software analysis of the previous studies, the same model was used to implement the hardware. A different grammar file is created in the language model of the software to achieve high recognition rate, by considering words and phrases that are only needed to operate the hardware.Item Deep Unsupervised Pre-trained Neural Network for Human Gesture Recognition(Faculty of Graduate Studies, University of Kelaniya, 2015) Kumarika, B.M.T.; Dias, N.G.J.Recognition of visual patterns for real world applications is a complex process that involves many issues. Varying and complex backgrounds, bad lighting environments, person independent gesture recognition and the computational costs are some of the issues in this process. Since human gestures are perceived through vision, it is a subject of visual pattern recognition. Hand gesture recognition is of higher interest for Human-Computer Interaction (HCI), due to its widespread applications in virtual reality, sign language recognition, robot control, medical industry and computer games. The main goal of the research is to propose a computationally efficient and accurate pattern recognition algorithm for HCI. Deep learning attempts to model high-level abstractions (features) in data and build strong feature space for the recognition task. Neural network with five hidden layers was used and each layer can learn features at a different level of abstraction. However, training neural networks with multiple hidden layers was difficult in practice. At first, each hidden layer individually was trained in an unsupervised fashion using autoencoders. After training the first autoencoder, second autoencoder was trained in a similar way. The main difference is that features that were generated from the first autoencoder are used as the training data in the second autoencoder thus decreased the size of the hidden representation, so that the second autoencoder learns an even smaller representation of the input data. The original vectors in the training data had 101376 dimensions. After passing them through the first encoder, this was reduced to 10000 dimensions. After using the second encoder, this was reduced to 1000 dimensions. Likewise at the end, final layer was trained to classify 50 dimensional vectors into different image classes. The result for the deep neural network is improved by performing Backpropagation on the whole multilayer network. Finally, we observed that average test classification error for traditional neural network with supervised learning algorithm is 3.6% while the error for pre-trained deep neural network is 1.4%. We can conclude that unsupervised pre-training adds robustness to a deep architecture and it proposes computationally efficient and accurate pattern recognition algorithms for HCI.Item Application of written-bell discounting techniques for smoothing in part of speech tagging algorithm for Sinhala language(Faculty of Graduate Studies, University of Kelaniya, 2015) Jayaweera, M.P.; Dias, N.G.J.Item A Plug-in to Boost the Behaviour of a Rule-Based Expert System More Like a Human(Faculty of Graduate Studies, University of Kelaniya, 2015) Weerakoon, W.A.C.; Karunananda, A.S.; Dias, N.G.J.Artificial Intelligence (AI) is one major aspect of Computer Science. Among the applications of AI, expert systems are predominant. There are expert systems built for variety of subject domains such as education, medicine, and engineering, and were built by imitating the human experts with the ability to make accurate decisions by resolving the proper set of rules and facts stored in a knowledgebase to solve more complex problems. When it comes to systems, it is expected to be more accurate, reliable, efficient and complete. The current expert systems consists of many facilities such as user interfaces, reasoning of the system, knowledgebase, working memory, making inferences, prioritizing and an automatic way for the user to enter knowledge, with compared to the human experts. Even though, the expert systems are still behind and much specific in some aspect such as the abilities in generalizing concepts, drawing associations among knowledge entities depending on the causal relationships, adding new knowledge, removing irrelevant knowledge, prioritizing knowledge entities for the execution as per the input to gain improvements over generations of execution as human experts do. Among the technical categories of the expert systems such as rulebased, frame-based and induction-based, our concern is to improve the rule-based expert systems by solving the said problem by constructing a processing model which consists of the processing states such as Origin, Classified, Pre-State, Resolve and Terminate with newly introduced multiple sub-processes such as Input/Identify knowledge entities, Classify facts/rules depending on the causal relationships crafting the generalizing facility and Termination. When the system executes over generations, it produces outputs and gains improvements using the above mentioned processing model as per the input/queries. For this processing model, newly introduced sub-processes will be implemented using C programming language and will integrate to the current expert systems written in ‗C Language Integrated Production System‘ as a plug-in. The system will be able to evaluate by comparing its states With-Plug-In and Without-Plug-In for the quality using a non-parametric test such as Mann-Whitney-U-test and for the time using a paired-t-test. As a result we are capable of providing an expert system which is more like a human expert.Item Performance of k-mean data mining algorithm with the use of WEKA-parallel(University of Kelaniya, 2013) Gunasekara, R.P.T.H.; Dias, N.G.J.; Wijegunasekara, M.C.This study is based on enhancing the performance of the k-mean data mining algorithm by using parallel programming methodologies. To identify the performance of parallelizing, first a study was done on k-mean algorithm using WEKA in a stand-alone machine and then compared with the performance of k-mean with WEKA-parallel. Data mining is a process to discover if data exhibit similar patterns from the database/dataset in the different areas like finance, retail industry, science, statistics, medical sciences, artificial intelligence, neuro science etc. To discover patterns from large data sets, clustering algorithms such as k-mean, k -medoid and, balance iterative reducing and clustering using hierarchies (BIRCH) are used. In data mining, k-means clustering is a method of cluster analysis which aims to partition n observations into k (where k is the number of selected groups) clusters in which each observation belongs to the cluster with the nearest mean. The grouping is done by minimizing the sum of squared distances (Euclidean distances) between items and the corresponding centroid (Center of Mass of the cluster). As the data sets are increasing exponentially, high performance technologies are needed to analyze and to recognize patterns of those data. The applications or the algorithms that are used for these processes have to invoke data records several times iteratively. Therefore, this process is very time consuming and consumes more device memory on a very large scale. During the study of enhancing the performance of data mining algorithms, it was identified that the data mining algorithms that were developed for the parallel processing were based on the distributed, cluster or grid computing environments. Nowadays, the algorithms are required to implement the multi-core processor to utilize the full computation power of the processors. The widely used machine learning and data mining software, namely WEKA was first chosen to analyze clusters and identify the performance of k -mean algorithm. k -mean clustering algorithm was applied to an electricity consumption dataset to generate k clusters. As a result, the dataset was partitioned into k clusters along with their mean values and the time taken to build clusters was also recorded. (The dataset consists of 30000 entries and it was collected from the Ceylon Electricity Board). Secondly to reduce the time consumed, we selected parallel environment using WEKA-parallel (Machine Learning software). This is a new option of WEKA used for multi-core programming methodology that can be used to connect several servers and client machines. Here, threads are passed among machines to fulfill this task. The WEKA parallel was installed and established for some distributed server machines with one client machine. The same electricity consumption dataset was used with k -mean in WEKA-parallel. The speed of building clusters was increased when the parallel software was used. But the mean values of the clusters are not exact with the previously obtained clusters. By visualizing both sets of clusters it was identified that some border elements of the first set of clusters have jumped to other clusters. The mean values of clusters are changed because of those jumped elements. The experiment was done on a single core i3, 3.3 GHz machine with Linux operating system to find the execution time taken to create k number of clusters using WEKA for several different datasets. The same experiment was repeated on a cluster of machines with similar specifications to compute the execution time taken to create k number of clusters in a parallel environment using WEKA-parallel by varying the number of machines in the cluster. According to the results, WEKA-parallel significantly improves the speed of k-mean clustering. The results of the experiment for a dataset on the consumption of electricity consumers in the North Western Province are shown in Table 1. This study shows that the use of WEKA-parallel and parallel programming methodologies significantly improve the performance of the k-mean data mining algorithm for building clusters.