100% found this document useful (3 votes)
698 views

Megersa Oljira

This paper is my MSc. final thesis. The title of the paper is SENTIMENT ANALYSIS OF AFAAN OROMOO SOCIAL MEDIA CONTENT USING MACHINE LEARNING APPROACH. The aim of the research is to determine opinion of the people from social media such as Facebook. As stated in the research, determining the opinion of the people is valuable input for business, politics and etc.

Uploaded by

megersa oljira
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
698 views

Megersa Oljira

This paper is my MSc. final thesis. The title of the paper is SENTIMENT ANALYSIS OF AFAAN OROMOO SOCIAL MEDIA CONTENT USING MACHINE LEARNING APPROACH. The aim of the research is to determine opinion of the people from social media such as Facebook. As stated in the research, determining the opinion of the people is valuable input for business, politics and etc.

Uploaded by

megersa oljira
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 106

AMBO UNIVERSITY WOLISO CAMPUS

SCHOOL OF TECHNOLOGY AND INFORMATICS


DEPARTMENT OF INFORMATION TECHNOLOGY

SENTIMENT ANALYSIS OF AFAAN OROMOO SOCIAL


MEDIA CONTENT USING MACHINE LEARNING
APPROACH
By
MEGERSA OLJIRA

WOLISO, ETHIOPIA
Dec, 2019 GC
AMBO UNIVERSITY WOLISO CAMPUS
SCHOOL OF TECHNOLOGY AND INFORMATICS
DEPARTMENT OF INFORMATION TECHNOLOGY

SENTIMENT ANALYSIS OF AFAAN OROMOO SOCIAL MEDIA


CONTENT USING MACHINE LEARNING APPROACH

A MASTER THESIS SUBMITTED TO THE DEPARTMENT OF INFORMATION


TECHNOLOGY IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE
DEGREE OF MASTER OF SCIENCE IN INFORMATION TECHNOLOGY

BY: MEGERSA OLJIRA RASE

MAIN ADVISOR: KULA KEKEBA (PhD)


CO-ADVISOR: _____________________

WOLISO, ETHIOPIA
Dec, 2019 GC
Approval Sheet
Submitted by:
Megersa Oljira Rase _____________ ______________
PG Candidate Signature Date
Approved by:
1. Advisor
Kula Kekeba (Ph.D.) _____________ ______________

Name Signature Date


2. Co-advisor
_____________________________ _____________ ______________
Name Signature Date
3. Co-advisor
_____________________________ _____________ ______________
Name Signature Date
4. College/Institute Dean
_____________________________ _____________ _____________
Name Signature Date
5. Head, Department
_____________________________ _____________ _____________
Name Signature Date
6. Director, School of Graduate Studies
_____________________________ _____________ _____________
Name Signature Date

i
AMBO UNIVERSITY WOLISO CAMPUS

SCHOOL OF GRADUATE STUDIES


CERTIFICATION SHEET
A thesis research advisor, I hereby certify that have read and evaluated this thesis
prepared under my guidance by Megersa Oljira Rase entitled: Sentiment Analysis of
Afaan Oromoo Social Media Content Using Machine Learning Approach. I
recommend that it be submitted as fulfilling the thesis requirement.
Kula Kekeba (Ph.D.) _____________ ___________

Name of Major Advisor Signature Date

________ _____________ ___________

Name of Co-Advisor Signature Date

As mentioned of the Board of Examiners of the M.Sc. thesis open defense examined. We
certified that we have read and evaluated the thesis prepared by Megersa Oljira Rase and
examined the candidate. We recommend that the thesis be accepted as fulfilling the thesis
requirements for the degree of Master of Science in Information Technology.

______________________ _____________ ___________

Chairperson Signature Date

______________________ _____________ ___________

Name of Internal Examiner Signature Date

______________________ _____________ ___________

Name of External Examiner Signature Date

______________________ _____________ ___________

Name of PG Coordinator Signature Date

ii
Declaration

I, the undersigned, declare that the thesis comprises my own work. In compliance with
internationally accepted practices, I have dually acknowledged and refereed all materials
used in this work. I understand that non-adherence to the principles of academic honesty
and integrity, misrepresentation/ fabrication of any idea/data/fact/source will constitute
sufficient ground for disciplinary action by the university and can also evoke penal action
from the sources which have not been cited or acknowledged.

Megersa Oljira Rase ___________ __________

Name of the student Signature Date

iii
Acknowledgements
The first and the most special thanks go to the almighty God, thank you for giving me
favors in your sight. All I am and all I have, it is because of you Thank You GOD so much.

I gratefully acknowledge Ambo University for providing me the necessary benefits for my
study.

My sincere gratitude should go to my Adviser Dr Kulaa Qaqqabaa. I am grateful to him


because without his guidance and comments the completion of this research would have
not been possible. His advice and encouragement gave me confidence to think critically.

Furthermore, my special thanks go to my Father Oljira Rase, my Mother Yadete Gemechu,


my big Brother Temesgen Oljira, and my lovely Sister Ayantu Oljira for their love and
encouragement without which I would have not been who I am today. I have no words to
thank you.

I am also indebted to my teacher Dr Debela Tesfaye for providing constructive comments.

My special thanks should go to my wife Roman Yadeta for her love, encouragement, and
kindness to help me in any way.

Lastly but not least, I would like to thank all my classmates for their collaboration and
constructive ideas.

iv
Contents

Approval Sheet ................................................................................................................................ i


CERTIFICATION SHEET .............................................................................................................. ii
Declaration .................................................................................................................................... iii
Acknowledgements .................................................................................................................... iv
Lists of Abbreviations and terminologies ................................................................................... xi
Abstract .......................................................................................................................................... xii
Chapter One ................................................................................................................................... 1
Introduction .................................................................................................................................... 1
1.1. Motivation........................................................................................................................... 3
1.2. Application of Sentiment Analysis .................................................................................. 5
1.3. Statement of the Problem .................................................................................................. 5
1.4. Research question .............................................................................................................. 7
1.5. Goal/Objective/Purpose ..................................................................................................... 7
1.5.1. General objective ....................................................................................................... 7
1.5.2. Specific objective ........................................................................................................ 7
1.6. Scope and limitations ......................................................................................................... 8
1.7. Methodology ....................................................................................................................... 9
1.7.1. Literature Review ...................................................................................................... 9
1.7.2. Corpus/Data Set Preparation .................................................................................... 9
1.7.3. Implementation Tools ................................................................................................ 9
1.7.4. Feature selection .................................................................................................... 10
1.7.5. Classification algorithms ......................................................................................... 10
1.7.6. Evaluation Techniques ............................................................................................ 12
1.8. Significance of the study ................................................................................................ 12
Chapter Two ................................................................................................................................. 13
Literature Review .................................................................................................................... 13
2.1. Background ...................................................................................................................... 13
2.1.1. A global overview of social media ........................................................................... 14
2.1.2. Social media in Ethiopia .......................................................................................... 16
2.1.3. Facebook ................................................................................................................... 17

v
2.1.4. Afaan Oromoo Language ........................................................................................... 19
2.1.4.1. Afaan Oromoo writing system ........................................................................... 20
2.1.4.1.1. Afaan Oromoo punctuation marks ..................................................................... 21
2.1.4.2. Parts of speeches in Afaan Oromoo ....................................................................... 22
2.1.4.2.1. Afaan Oromoo Nouns ........................................................................................ 22
2.1.4.2.2. Afaan Oromoo adjectives................................................................................... 22
2.1.4.2.3. Afaan Oromoo Adverbs ..................................................................................... 22
2.1.4.2.4. Afaan Oromoo Negation .................................................................................... 23
2.1.4.2.5. Afaan Oromoo Conjunctions ............................................................................. 23
2.1.4.2.6. Afaan Oromoo Preposition ................................................................................ 23
2.1.4.3. Afaan Oromoo Word Segmentation .......................................................................... 24
2.1.4.4. Afaan Oromoo Sentence structure ............................................................................. 24
2.2. Sentiment Analysis .................................................................................................... 25
2.3. Techniques of sentiment Analysis ............................................................................... 27
2.3.1. Lexicon based approach .......................................................................................... 28
2.3.1.1. Dictionary-based approach .................................................................................... 28
2.3.1.2. Corpus-based approach .......................................................................................... 28
2.3.2. Machine learning approach .................................................................................... 29
2.3.2.1. The supervised machine learning approach ........................................................... 29
2.3.2.1.1. Naïve Bayes ....................................................................................................... 29
2.3.2.1.2. Support vector machine ..................................................................................... 29
2.3.2.1.3. Maximum Entropy ............................................................................................. 30
2.3.2.1.4. Decision tree ...................................................................................................... 31
2.3.2.1.5. K-nearest neighbor ............................................................................................. 31
2.3.2.1.6. Neural Networks (NN) based Models ................................................................ 31
2.3.2.2. Unsupervised machine learning Approach ............................................................ 32
2.4. Related works ............................................................................................................... 33
2.4.3. Deep learning for sentiment Analysis ........................................................................ 37
2.5. Chapter Summary ........................................................................................................... 41
Chapter Three ................................................................................................................................ 42
Materials and Methods ............................................................................................................... 42
3.1.1. Data collection ....................................................................................................... 42
vi
3.1.2. Data preprocessing ................................................................................................. 43
3.1.3. Tokenization .......................................................................................................... 44
3.1.4. Stemming ............................................................................................................... 44
3.1.5. Feature Selection .................................................................................................... 44
3.2. Classifiers ...................................................................................................................... 48
3.2.1. Naïve Bayes Classifier.......................................................................................... 48
3.2.2. Convolutional neural network (CNN) ................................................................ 50
3.2.3. Long Short Term memory...................................................................................... 54
3.3. Development tools ........................................................................................................ 58
Chapter four ................................................................................................................................... 59
Results and Discussion .............................................................................................................. 59
Chapter Five ................................................................................................................................... 71
Conclusions and recommendation ................................................................................................. 71
References ..................................................................................................................................... 74
Appendices..................................................................................................................................... 82

vii
Lists of figures
Figure 1 social media interconnection image source: Wikipedia ................................................... 13
Figure 2 number of peoples using social media in the world (Esteban, 2019) .............................. 15
Figure 3 daily hours spent on social media, American (Esteban, 2019) ........................................ 16
Figure 4 the statistics of social media in Ethiopia during the last 12 months []. ........................... 16
Figure 5 Male and Female Facebook users in Ethiopia 2018 [] ..................................................... 18
Figure 6 average interaction per post ODP, source socialBakers data Analyzer ........................... 18
Figure 7 Average Post per day of ODP ........................................................................................... 19
Figure 8 languages of Ethiopia in 2007 .......................................................................................... 20
Figure 9 image source Wikipedia ................................................................................................... 25
Figure 10 Proposed Architecture of Afaan Oromoo Sentiment Analysis ...................................... 42
Figure 11 Architecture of MNB for Afaan Oromoo SA................................................................... 50
Figure 12 CNN architecture for AO SA ........................................................................................... 51
Figure 13 LSTM Network ................................................................................................................ 55
Figure 14 proposed LSTM architecture for AO SA ......................................................................... 57
Figure 15 Results from MNB using unigram and TF-IDF extraction............................................... 61
Figure 16 Results from MNB using a combination of unigram and bigram with TF-IDF extraction
....................................................................................................................................................... 62
Figure 17 Results from MNB using unigram and trigram with TF-IDF extraction.......................... 62
Figure 18 Results from MNB using Bigram and TF-IDF extraction................................................. 63
Figure 19 Results from MNB using Bigram and trigram with TF-IDF extraction............................ 63
Figure 20 Results from MNB using Trigram and TF-IDF extraction ............................................... 64
Figure 21 comparison of the MNB with different n-gram techniques .......................................... 64
Figure 22 model accuracy of CNN ................................................................................................. 66
Figure 23 model loss of CNN .......................................................................................................... 66
Figure 24 model accuracy with epochs for LSTM .......................................................................... 68
Figure 25 model loss of LSTM in each epochs .............................................................................. 69
Figure 26 Comparison of the Three Algorithms............................................................................. 70

viii
Lists of table
Table 1 Statistics of Dataset............................................................................................................. 9
Table 2 Afaan Oromoo punctuation marks.................................................................................... 21
Table 3 summary of SA and opinin mining of AO .......................................................................... 33
Table 4 Summaric of Amharic SA and OM ..................................................................................... 36
Table 5 CNN configuration for AO SA ............................................................................................ 65
Table 6 LSTM network configuration for AO SA ............................................................................ 68
Table 7 the confusion matrix of LSTM ........................................................................................... 69
Table 8 precision and recall performance metrics of the LSTM .................................................... 69

ix
Appendix A: Reviews classified by LSTM ................................................................................... 82
Appendix B: reviews classified by MNB........................................................................................ 90
Appendix C: The CNN ................................................................................................................... 84

x
Lists of Abbreviations and terminologies

CNN: Convolutional Neural Network

LSTM: Long-Short Term Memory

MNB: Multinomial Naïve Bayes

RNN: Recurrent Neural Network

SNSs: Social Network sites

BOW: Bag of words

AO: Afaan Oromoo

OM: opinion Mining

SA: Sentiment analysis

ReLU: Rectifier linear unit

TF-IDF: Term Frequency, Inverse Document Frequency

GPU: Graphical Processing Unit

Terminology:

The following terms are consistently employed when implanting the LSTM and CNN deep
learning algorithms throughout this article so as to avoid confusion.

A “parameter” stands for a variable that is automatically learned during the training
process. A “hyperparameter” refers to a variable that needs to be configured before the
training process starts. A “kernel” refers to the sets of learnable parameters applied in CNN
convolutional operations. Embedding dimension: the dimension of word vectors,
learning rate: the rate at which the weights are updated during training.

xi
Abstract
The rapid development and popularity of social media and social networks provide people
with unprecedented opportunities to express and share their thoughts, views, opinions and
feelings about almost anything through their personal webpages and blogs or using social
network sites like Facebook, Twitter, and Blogger. This study focuses on sentiment
analysis of social media content because automatically identifying and classifying opinions
from social media posts can provide significant economic values and social benefits. The
major problem with sentiment analysis of social media posts is that it is extremely vast,
fragmented, unorganized and unstructured. Nevertheless, many organizations and
individuals are highly interested to know what other peoples are thinking or feeling about
their services and products. Therefore, sentiment analysis has increasingly become a major
area of research interest in the field of Natural Language Processing and Test Mining. In
general, sentiment analysis is the process of automatically identifying and categorizing
opinions in order to determine whether the writer's attitude towards a particular entity is
positive or negative. To the best of the researcher’s knowledge, there is no machine
learning approach done for Afaan Oromoo Sentiment analysis to identify the opinion of
the people on social media content. Therefore, in this study, we focused on investigating
Convolutional Neural Network, Long Short Term Memory and Multinomial Naïve Bayes
machine learning approaches for the development of sentiment analysis of Afaan Oromoo
social media content such as Facebook posts comments. To this end, a total of 1452
comments collected from the official site of the Facebook page of Oromo Democratic
Party/ODP for the study. After collecting the data, manual annotation is undertaken.
Preprocessing, normalization, tokenization, stop word removal, stemming of the sentence
are performed. Using the Scikit-learn feature extraction python library Term Frequency-
Inverse Document Frequency Vectorizer and n-gram range we build the feature extraction
method for Naïve Bayes Approach. In the case of Long Short Term Memory and
Convolutional Neural Network, we used word embedding as a feature. We used the Keras
deep learning python library to implement both deep learning algorithms. We conducted
our experiment on the selected classifiers. For classifiers, we used 80% training and 20%
testing rule. According to the experiment, the result shows that for MNB approach accuracy
of 90.7%, 71.1%, 54.6%, 92.78%, 92.44%, and 75% for unigram, bigram, trigram,
unigram-bigram, unigram-trigram and bigram-trigram respectively. Whereas, in the case
of Convolutional Neural Network the experiment result shows that the accuracy of 89% is
achieved. The Long Short Memory achieves accuracy of 87.6% which is slightly less than
among the other two selected algorithms. Even though the result is promising there are still
challenges. The big challenge we faced in this work is the spelling problem. Correcting the
spelling and normalization takes more of our time.
Keywords: Sentiment Analysis; Opinionated Afaan Oromoo facebook comments; Oromo Democratic
Party Facebook page

xii
Chapter One

Introduction
The revolution of web2.0 and the increasing numbers of blogs, social media networks, web
reviews, and many others have fundamentally changed the way people express their
opinions and share information on the Internet. Due to the rapid development and
popularity of social media networks, a huge amount of user-generated content, have been
made available online. Identifying and determining whether the opinion of user generated
content as positive or negative has become essential for different businesses and social
entities as it is important for service providers and vendors to create successful marketing
strategies and for the understanding of areas of improvement in products and services (Liu
B. , 2012). Sentiment analysis is also important for tracking political opinions and
politicians to understanding their social image, etc. (Bakliwal, et al., 2013).

People are able to express their opinions in form of posts, comments, tweets (Twitter),
emoticons etc. with regard to many issues that affect their day to day lives (Vinodhini &
Chandrasekaran, 2012). These online comments or opinions can be about several topics
like government, organizations, products, politics, and many others. Since sentiment
analysis can influence the interest of different parties such as customers, companies, and
governments, organizations are highly interested in analyzing and exploring online
opinions. While several commercial companies are interested to know the opinion of the
public with respects to their products and services, many government organizations are
interested to know the public feedback with respect to the new policy, rules and regulations
set out as well as public services delivered.

Before the expansion of the internet and web2.0 technology, manual surveys had been used
as the main method for answering the question of what do people think about some of the
major economic and social events. Careful sampling of the surveyed population and a
standardized questionnaire has been the standard way of learning about large groups of
people. Now a days, the era of wide-spread internet access and social media has brought a
new way of learning about large populations.

1
,
Therefore collection and analysis of opinions have become easier because individuals

share their views about different topics through social networks such as Facebook, Twitter,
or they leave comments and reviews regarding topics on a particular website (AKINYI,
2014) such as web reviews.

Analysis of opinions plays an important role in all science areas (politics, economics, and
social life) (Liu B. , 2012). For example, in marketing, if the sellers know about the
customer's satisfaction with a particular product they may predict demand on the service
or product. The same for politicians, they will know whether people support them or not,
the government also understands the will of the society on their policy.

Sentiment analysis is mainly concerned with the analysis of emotions and opinions from
the text. We can also refer to sentiment analysis as opinion mining to understand the
outlook of a speaker or a writer with respect to some subject. The outlook may be their
judgment or evaluation, their affective state or the envisioned emotional communication
(George and Joseph, 2014). Most popular classification of sentiment: positive or negative
(binary classification) (Chiavetta et al., 2016).

The evolution of the Internet and of social media texts, such as Twitter, YouTube, and
Facebook messages, has created many new opportunities for people to express the attitudes
towards any individual, product, services, organizations, political parties, etc. on their own
language. So that the amount of Afaan Oromoo documents on the web is also increasing.
However, there are very few works proposed on Afaan Oromoo sentiment analysis.
Sentiment analysis is not a new field and it has been researched since 2000. The previous
works are focus on the English language. But in Afaan Oromoo and other under-resourced
languages, this field is new and it is at the initial state.

Sentiment analysis can be conducted at different levels. The most famous level of
sentiment analysis is document level, aspect level, and sentence level. The document level
deals with determining the overall opinion of the document expressed by the opinion holder
(Liu B. , 2012). This level of analysis assumes that each document expresses opinions on
a single entity (e.g., a single product egg. review) (Pang, Lee, & Vaithyanathan, 2002). The
aspect level sentiment analysis is the task of extracting the relevant aspects of the reviewed

2
product or entity and determining the sentiment of the corresponding opinion about them.
The assumption of the aspect level sentiment analysis is that all opinions are generally
directed at a specific topic/object (Popescu and Etzioni, 2005). Sentence level sentiment
analysis is the more fine-grained analysis of the document. In this, polarity is calculated
for each sentence as each sentence is considered a separate unit and each sentence can have
different opinions. The core task in sentence-level sentiment analysis is subjectivity
classification (Liu B. , 2012). The subjective sentence is the one that has polarity
information that can be classified as positive or negative. Whereas objective sentence is
the sentence that has factual information and it is classified as neutral or no opinion (Liu
B. , 2012). For example: “The Nokia phone is very good!” The sentence is the subjective
sentence as the sentences consist of opinionated words. Whereas the objective sentence has
no opinionated words. For example “Nokia is the product of Nokia Company” this
sentence holds factual information and it has no sentiment orientation.

In this study, we considered the document-level sentiment analysis assumes that a


document expresses a single sentiment. This approach suitable for some areas like reviews,
where a last statement about the entity is assumed to be required which is a weighted
conclusion arising from different sides even if the review carries different opinions. The
social networking site Facebook is the targeted website for this paper. This is because
Facebook has many members and vast user-generated data is available. Thus, this research
focuses on sentiment analysis of Afaan Oromo texts on facebook. In this study, we
developed machine learning approaches such as Naïve Bayes and deep learning approaches
(Long Short Term Memory and Convolutional Neural Network). The dataset is collected
from Oromoo Democratic /ODP facebook page. After data is collected, take the reviews
as input, different preprocessing is applied and the feature is selected, the machine learning
classification algorithm is applied, the model is developed and finally, the performance of
the model is evaluated.

1.1. Motivation
The evolution of the Internet and of social media texts, such as Twitter, YouTube, and
Facebook messages, has created many new opportunities for people to express their

3
attitudes towards any individual, services, organizations, political parties, government
policy, etc. by using their own native languages.

The tracking of these opinions in social media has fascinated an increasing level of interest
in the research community. Since large numbers of users share their views, opinions,
judges, ideas, and opinions it is hard to handle such a huge amount of online content. It is
a critical need for automated methods of opinion analysis, which allows in a short time to
process large amounts of data and to understand the polarity of users' messages.

In addition, the limited availability of the previous studies that is deal with the Afaan
Oromoo documents; encouraged us to appliance the sentiment analysis process over the
Afaan Oromoo language. There are only two research works on sentiment analysis of
Afaan Oromoo in the news domain (Tariku, 2017) and on Facebook posts (Jemal, 2019).
(Tariku, 2017) That had used a rule-based and lexicon-based approach and developed
sentiment mining and aspect-based summarization of opinionated Afaan Oromoo news
text. The problem of rule-based approach is that it is less learning capacity (Medhat,
Hassan, & Korashy, 2014) which means system will generate the result as per the rules so
the learning capacity of the system by itself is much less, needs detail knowledge of the
domain, building the rule can take lot of time, as well as requires a lot of manual work.
Whereas, machine learning has a larger variety of performance, as it automatically learns

from the dataset and easy to implement. Furthermore, the previous researcher focuses on

aspect level sentiment analysis. This approach is applicable when opinion holders mention
the target of the subject or the feature of the product specifications. For example: “the
camera of the iPhone seven (7) is very good”. In this case, the opinion holder mentioned
the feature of the product which is a camera. But what if the opinion holder comment like
this “I like the iPhone seven (7)”? In general Texts, consist of several types of sentences,
each of those has various particular characteristics that make it possible to treat it in a
different way and allow different types of distinct classification for them. It can be claimed
that there is not one classification scheme that fits all the types of sentences.

In addition, in case social media the way users write comments on social media is very
short, indirect (Tariku, 2017) and idiomatic and most of the time informal, so it needs
improvement to handle these problems. This also needs a semantic way of opinion mining

4
as the previous work is not based on semantic techniques since it is word matching based.
More recently, (Abate, 2019) studied an unsupervised approach for Afaan Oromoo
sentiments. The same with (Tariku, 2017) the researcher used the lexicon approach with n-
grams. Such a mechanism needs a large lexical database and it is challenging to implement
for under-resourced languages like Afaan Oromoo. Furthermore, in spite of that
researchers, we followed a neural network (LSTM and CNN) and the Naïve Bayes machine
learning approach which is a novel method for the area in our language.

1.2. Application of Sentiment Analysis

Numerous applications and possibilities [1,2]


• The analysis towards politician and government policy
• Upcoming elections, a better tool for politicians
• Politics
o Politicians want to now voters’ views
o Voters want to know politicians’ stances and who else supports them
• Marketing
o Consumer attitudes
o Trends
• Consumer information
o Product reviews
• Social
o Find likeminded individuals or community
1.3. Statement of the Problem
The essential popularity and superficial value of social networks have led to the creation
of huge amounts of textual data often in an unstructured and fragmented form.
Companies, governments and so on typically receive bulks of electronic public opinion
every day, some in the form of comments, counsels, and criticism. A large number of
reviews make it difficult for companies or any government institution to react to feedback

1
https://lct-master.org/files/MullenSentimentCourseSlides.pdf
2
https://www.kdnuggets.com/2016/06/politics-analytics-trump-clinton-sanders-twitter-sentiment.html

5
rapidly and to direct it to the appropriate channels within the company/organization for
action. More, readers or potential clients of these companies may not be able to swiftly
mark informed decisions based on the unstructured data thus may give up as it may take
too long going through the data in order to filter the information required to make a
decision. To overcome the above challenges, it is necessary to provide an automated system
that can effectively classify social media data so that it can be utilized by human users in a
meaningful way (Wang, Mossie, & Jenq-Haur, 2018), and (Alemu, 2018).
The focus of this study is, to conduct sentiment analysis of facebook comments by
identifying positive and negative ones. This is done by applying three different machine
learning approaches. Specifically, we investigate and apply the approaches for polarity
classification and choosing the most efficient one.
 Given a text comments/reviews comprising polarity information of words or
phrases, sentence identifies whether that words, phrases, sentences or reviews are
positive or negative in that context.
 Given text reviews/comments identify whether the text is positive or negative
sentiment.
The amount of Afaan Oromoo text on the web is increasing from time to time (Tariku,
2017). However, to the best of the researcher’s knowledge, there is no supervised machine
learning approach done for Afaan Oromoo. The previous proposed work for Afaan Oromoo
is by using the combination of rule-based and lexicon-based (Tariku, 2017) , and (Abate,
2019). According to the researchers report their approaches perform better but they also
informed that the absence of resources like the lexical database made the work challenging.
If the large lexical database resources such as WordNet is available, the lexicon-based
methods are very competitive as they require few efforts in a human-labeled document and
isn’t sensitive to the quantity and quality of the training dataset. However, collecting and
annotating each word of a corpus with its emotional meanings would be both a time and
resource-consuming job when such a resource is not available.

In another case, this approach operates according to word matching techniques, however
many words possibly have various meanings according to their context i.e. lack of context
that can be understood from a word. According to researchers (Hailong, Wenyan, & Bo,
2014) , and (Medhat, Hassan, & Korashy, 2014), machine learning methods show higher

6
performance than the traditional lexicon based approach. Also, (Moschitti, Severyn and
Alessandro, 2015) stated that the machine learning techniques have been drawing attention
recently as they may reduce the effort for the feature definition and achieve relatively high
performance (e.g., accuracy). The machine learning approach requires less user interaction
as well as it automatically learns the semantics of the words from the data.

Furthermore (Tariku, 2017) focuses on aspect level sentiment analysis. However, texts
consist of various types of sentences, each of those has several particular characteristics
that make it possible to treat it in a different way and perform different classification
methods for them. The other levels such as document level are not considered by the
researcher. Considering the texts at this level is a potentially significant task. So in our
work, we considered the document-level sentiment analysis in social media contents.
Additionally, it is hard to handle sentimental phrases in a sentence by using the lexicon-
based approach. For instance: “ODP isin wajjiin jirra”. Such like word phrases are very
common in Afaan Oromoo so it needs a special method to deal with such problems.

1.4. Research question


To this end, this study tries to answer the following research questions.

 How the selected algorithm performs for social media texts SA of Afaan Oromoo?
 How a reliable text corpus can be developed for Facebook comments in the Afaan
Oromo language in order to design and develop a ML-based SA?
 Which classification algorithms can be successfully designed and used for SA of
Afaan Oromoo?

1.5. Goal/Objective/Purpose
1.5.1. General objective

The main objective of this study is to design and develop a machine learning Approach
for Sentiment Analysis of Afaan Oromoo facebook comments.

1.5.2. Specific objective


 To explore and understand what has been done in the previous SA works which are
a related application of ML approaches in sentiment analysis.

7
 Preprocessing and preparation text corpus for AO social media posts comments.
 Understanding and analyzing the complex nature of user comments on social
media.
 To develop a model classifier using the proposed algorithms.
 Evaluate their performance and Conduct a comparative analysis of the applied
algorithms.
 Based on the obtained result, to propose a set of improvements and to suggest
recommendations.

1.6. Scope and limitations


The focus of this study is on the Designing Sentiment Analysis system of Afaan Oromoo
social media content (Facebook) for the socio-political domain by using a machine learning
approach. The study is focused on document-level sentiment analysis. The approaches are
good for data like reviews, where a final statement about the entity is required which is a
weighted conclusion arising from different aspects. The reason behind choosing the Oromo
Democratic Party /ODP facebook page is that a large number of user-generated socio-
political related posts are released every day in Afaan Oromoo. So this research is
conducted based on data acquired from Oromo Democratic Party /ODP facebook page.
Users of facebook express their idea by using different methods like emoji, pictures, video,
audio and etc. from these we focused on text-based users' opinions in this work. In fact,
many sentences do not carry a specific sentiment. It is significant to differentiate subjective
from non-subjective sentences because non-subjective sentences add no mark to the
classifier. Therefore, subjectivity classification is used to increase the performance of
sentiment classifiers. This means the study focused on binary classification (negative and
positive), and neutral class is not included. In social media, people express their feeling
towards publicly posted issues using emotion icon (Emojis) this also not included. Due to
the resource constraint and time, we are limited to work until this. But this is not our final
word, we would improve in our future work.

8
1.7. Methodology
The methodology is a way to scientifically answer the research problem. Towards
achieving the main objective the following step by step processes are tailed.

1.7.1. Literature Review

To have conceptual understanding and identify what has been done in previous and
understand the gap that is not covered by previous studies, different materials, including
journal articles, conference papers, books, unpublished research thesis, and different useful
websites has been reviewed. In this study, the review is mainly concerned with works that
have direct and conceptual relation with the topic and the objective of the study. These
include previous works done on sentiment analysis using different approaches.

1.7.2. Corpus/Data Set Preparation

There is no standard corpus developed for Afaan Oromoo sentiment analysis. For the
purpose of this study, we collected data from facebook social media posts of the target
entity which have more opinionated post comments and feedbacks. We collected primary
data source ODP Official Facebook page because this page is a formal page of government
and people express his/her idea freely on social media. So a total of 1452 reviews are
extracted by using facebook graph API.

No Economic Environmental Immigration Public


forums protection relation
1 400 380 312 360
Table 1 Statistics of Dataset

1.7.3. Implementation Tools

The development area we used is the Windows environment and the programming
language used is Anaconda Python 3.7.3. Python is a dynamic programming language that
is used in a wide range of application domains. It is simple, strong, involves the natural
expression of procedural code, modular, dynamic data types, and embeddable within
applications as a scripting interface. Also, we used the Scikit-learn feature extraction
classes and Keras deep learning class library.

9
1.7.4. Feature selection

Features are the portion of the information we take from the text and feed to the algorithm
for classification. In sentiment analysis, feature selection is the process of selecting a
specific subset of the terms of the training set and using only them in the classification
algorithm. Feature selection helps to reduce the dimension of the data, increase the
performance, make the training faster by removing noisy features as well as avoid
overfitting[3]. The task of the feature selection process is performed before the training of
the classifier. For this thesis, the TF-IDF feature selection is employed for the Naïve Bayes
model (Mossie et al., 2018), (Medhat, Hassan, & Korashy, Sentiment analysis algorithms
and applications: A survey., 2014), and (Bakliwal et al., 2013). Term frequency and inverse
document frequency (TF-IDF), is a simple and effective feature selection approach. It
removes from the original feature space the infrequent terms that are considered as less or
non-informative for classification. The importance or informativeness of the feature of a
term is calculated based on both term frequency and inverse document frequency.

In addition to that, we used n-gram as a feature. Using only single words as features have
several disadvantages. N-grams are better for negation handling and handle the context of
the word.

1.7.5. Classification algorithms

Bayesian network classifiers are a popular supervised classification paradigm. A well-


known Bayesian network classifier is the Naïve Bayes classifier is a probabilistic classifier
based on the Bayes’ theorem, considering Naïve (Strong) independence assumption (Bibi
& Bahria). Naïve Bayes classifier is widely used in text classification domain and
sentiment analysis due to its simplicity and efficiency (Pang, Lee, & Vaithyanathan, 2002),
(Medhat, Hassan, & Korashy, 2014) , and (Aggarwal & Zhai, 2012). There are three
distribution models these are, Bernoulli naive Bayes (BNB), multinomial naive Bayes
(MNB) and Poisson naive Bayes (PNB). In this thesis, we used the Multinomial Naïve
Bayes classifier (features shows how many times each word occurs in the given dataset).

10
The multinomial Naive Bayes classifier is appropriate for classification with discrete
features (e.g., word counts for text classification) [4].

The other machine learning approach we used is neural networks, or sometimes called
artificial neural networks (ANN) are computational networks which are inspired by the
neural networks in the human brain (Goodfellow, Bengio, & Courville, 2014). Among the
neural networks, we used the Convolutional neural network or (CNN) and LSTM.
Originally CNN is developed for image processing. But recently efficiency of a
convolution neural network in natural language processing tasks such as sentiment analysis
has inspired many researchers. In computer vision tasks, the filters used in CNN's slide
over patches of an image whereas, in the sentiment classification task, the filters slide over
the matrix of the sentence and filter words at a time. By this method, it learns a set of
important patterns or features that are pretty like the n-grams but represented in a more
dense way. The main advantage of CNNs is that they are very fast. Convolutions are a
principal part of computer graphics and implemented on a hardware level on GPUs (Lopez
and Kalita, 2017). An LSTM network is a variant of recurrent neural networks. A recurrent
neural network is a neural network that tries to model time or sequence-dependent behavior
such as language, stock prices, and sentiment analysis and so on. This is achieved by
feeding back the output of a neural network layer at time t to the input of the same network
layer at time 𝑡 + 1. The main significant feature of the LSTM network is that it has a long-
term memory and thus is capable of handling long-term dependencies (Miedema, 2018).
Moreover, it has a long-term memory and hence is capable of handling long-term
dependencies. The literature study shows that the LSTM network is a very powerful
classifier for sentiment analysis because it makes use of memory in the network. Having a
memory in the network is useful because when dealing with sequenced data such as a text,
the meaning of a word depends on the context of the previous text.

4 https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.Multinomial NB.html

11
1.7.6. Evaluation Techniques

The effectiveness of the classification algorithms is usually estimated based on such


metrics as precision, recall, 𝐹1 score, and accuracy. More, the learning capacity of the deep
learning algorithms is evaluated based on loss and accuracy.

1.8. Significance of the study


Social media is a computer-based technology that simplifies and enables the sharing of
opinions, ideas, information, thoughts, etc. by creating virtual networks and communities.
Many organizations and institutions adopt the advantage of this technology and made it
their integral communication with their customers and people. Identifying the polarity of
the reviews/opinions from social media has various importance as its input for decision
making process for the target entity. By using automatic sentiment analysis, any entity
(government, Product Company, service providers, individual etc.) can gauge how
customers feel about different areas of their business or services without having to read
thousands of customer comments at once and the decision can be made based on a
significant amount of data. The output of the sentiment analysis has many application and
discussed in the above section 1.2. It is also significant for the development of Afaan
Oromoo language, and the speaker of the language can be benefited from the application
of sentiment analysis.

Organization of the thesis:


The thesis has four chapters excluding chapter one and organized as follows.
Chapter 2: describes related works and describes different techniques that can be applied
for the sentiment classification tasks. The related works introduce different kinds of
literature related to our work. Chapter 3: describes the methodology followed and Gives
information about the data used for training and testing the classifiers. Moreover, the
feature selection technique is presented. The main part of this chapter is an overview of the
used classification algorithms and their implementation details. In Chapter 4: we described
the experimental results and analysis of the work. The result of the training and testing of
applied algorithms is presented. Based on the obtained results analysis is performed in
order to define which of the algorithms performs better for Afaan Oromoo SA. And finally
in the Chapter 5: Conclusion and future research works are presented.

12
Chapter Two
Literature Review

2.1. Background
Social media is a computer-based technology that simplifies and enables the sharing of
opinions, ideas, information, thoughts, etc. by creating virtual networks and communities.
Essentially, social media is internet-based and it offers the users a quick electronic
communication of the content. (Oman, 2016). The content may include documents, ideas,
information, videos, photos, etc. The users join social media by using devices such as
smartphones, pill, and computer (pc) via web-based application software and often
exploiting it for messaging.

Originally social media is created to facilitate the way to interact with friends and family
however was later adopted by businesses to utilize the advantages of the new technology
and to resolute customers (Oman, 2016). The power of social media is the ability to
interconnect and share information with many people concurrently.

Figure 1 social media interconnection image source: Wikipedia

13
Social media can bring a variety of benefits in supporting government communications and
wider objectives, including Increase the speed of public comments and input, Improve
Government response to quickly adjust or refocus communications, Encounter public
expectations of modern service organizations and enhance reputation, Create and develop
content written by citizens and facilitates the way the public interacts with government,
etc. (Dollarhide, 2019). On social media, people can involve in direct dialogue with
government agencies, civic officials and politicians. It also gives them an opportunity to
participate back. It can also be a very influential way for government organizations to
interact with the public.

Social media also plays a significant role in marketing. It simplifies and facilitates
communication with customers, allowing the melding of social interactions on e-commerce
sites. Its capability to collect information helps focus on marketing efforts and market
research. It assists in promoting services and products, as it allows the delivery of targeted,
well-timed, and exclusive sales and coupons to would-be customers. More, social media
can relief in building customer relationships through reliability programs linked to social
media (Dollarhide, 2019).

2.1.1. A global overview of social media

Globally, there are more than 3 billion social media users (Esteban, 2019). Social media is
constantly changing and developing a web-based platform. More than half of the handsets
in use today are smart devices, so it is increasingly easy for people to enjoy a rich Internet
experience. As the study shows that the social media use increasing exponentially and the
number of people using the platform in each country has increased by almost one million
users every day during the past 12 months during late 2017[ 5]. More than 3 billion people
around the world now use social media with 9 out of 10 of those users get into their chosen
platform via hand-held mobile devices. Among the social media platforms, Facebook is
the largest social media platform in the world, and it has 2.4 billion users (Dollarhide,
2019). Other social media platforms such as Youtube and Whatsapp also have more than
one billion users each. This indicates that there are 7.7 billion people in the world, with 3.5

5
Africa Internet Users,2019 Population and Facebook Statistics.html

14
billion of us online (Esteban, 2019). This shows that social media platforms are used by
one-in-three people in the world and more than two-thirds of all internet users.

Figure 2 number of peoples using social media in the world (Esteban, 2019)

The next chart shows the number of people spends on the internet across a selection of
developed countries. As we can see, on average more than 4 hours per day, and in some
countries, the average is above 6 hours per day (Esteban, 2019).

15
Figure 3 daily hours spent on social media, American (Esteban, 2019)

2.1.2. Social media in Ethiopia

According to the report data of internet world stats, the total number of populations in
Ethiopia is 110,135,635 (2019 Est.) from those 16,437,811 are internet users among these
number of Facebook subscribers are 4,500,000 in Dec/2017 with 4.1% penetration rate and
about 4,500,000 Facebook users on June/2017, 4.3% penetration rate (Alemu, 2018). There
were 5392500 Facebook users in Ethiopia in September 2019, which increased by 892,500
number.

social media usage in Ethiopia


3% 0% 1% 0%0% 0%
4%
0%
0%
3%

89%

Facebook Pinterest YouTube Twitter Instagram VKontakte Google+ Tumblr LinkedIn reddit Other

Figure 4 the statistics of social media in Ethiopia during the last 12 months [ 6].

The picture shows the status of social media platform between Mar 2018 and Mar 2019 in
Ethiopia. As the picture illustrates, social media growing from time to time in Ethiopia.
Among these, Facebook occupies 89% of which is the largest number. According to the
report, the growth in Internet users has been driven by more affordable smartphones and
mobile data plans. More than 200 million people got their first mobile device in 2017, and
two-thirds of the world’s 7.6 billion people now have a mobile phone.

6
http://gs.statcounter.com/social-media-stats/all/ethiopia/#monthly-201804-201903-map

16
2.1.3. Facebook

Facebook, the largest social media platform in the world, has 2.4 billion users (Dollarhide,
2019). It is an online social networking service that allows users to share pictures, music,
videos, and articles, as well as their own thoughts and opinions with however many people
they like. Facebook allows users to create their personal profiles and add other users as
“friends”. It also facilitates communication via its “message” system that allows for private
communication and a “wall” system that allows for a more public form of communication.
More, users may join common-interest groups organized by the school, college or
workplace and also group their friends into custom lists such as “workmates”, “family”,
“close friends” etc. Facebook also provides the “News Feed” feature which lets the users
receive automatic notifications on their profiles every time their friends update their
profiles or engage in any form of online activity e.g. status updates and sorts these events
in sequential order.

In September 2019 there were 5392500 Facebook users in Ethiopia, which holds 4.8% of
the entire population. The majority of them were men 69.9%. People age 25 to 34 were
the largest user group (3,300,000). The highest difference between men and women
occurs within people aged 25 to 34, where men lead by 1300,000. The detail is illustrated
in the figure below.

17
Figure 5 Male and Female Facebook users in Ethiopia 2018 [7]

The rapid and vast adoption of these technologies is changing how we find partners, how
we access information from the news, and how we organize to demand political change.
The Ethiopian government has long recognized the power of social networks and has made
it an integral part of its communication medium with the people [ 8]. Users of social media
most of them participating in different issues and give feedback towards the issue raised
by the government by their language. However, to the best of our knowledge, there is
limited work done on sentiment analysis for the socio-political domain based on
opinionated Afaan Oromoo text using state of the art machine learning approach.

2.1.3.1. Official facebook page of Oromo Democratic Party /ODP

The official facebook page of the Oromo Democratic Party was created in 2015. Since that,
it was serving as integral communication through which the government and peoples
interact and communicate with each other. People drop their opinion regarding the issue
raised by the government. So a lot of users generated data available from many audiences.
The detail audiences of the page are depicted in the following picture.

Figure 6 average interaction per post ODP, source socialBakers data Analyzer

7
NapoleonCat.com
8
Africa Internet Users,2019 Population and Facebook Statistics.html

18
The above figure 6 shows the minimu, maximum and average interaction (comments, likes,
share) per posts each day. And the average post of the page per day is depicted the
following fig 7.

Figure 7 Average Post per day of ODP

2.1.4. Afaan Oromoo Language

Afaan Oromoo is one of the Cushitic branches of the Afro-Asiatic language family
(Tamirat & Tesema, 2017). More than 35 million Oromo people use as mother tongue and
neighboring peoples by an additional half-million parts of northern and eastern Kenya
(Cesnsus, 2007). Afaan Oromoo is also widely spoken by other countries like Tanzania
and Somalia, which is one of the most resource-scarce languages (Tamirat & Tesema,
2017) .

19
Figure 8 languages of Ethiopia in 2007

It is the official language of Oromia regional state of Ethiopia and currently recognized as
the working language of the federal government. Also academic language for primary
school of the region and field of study in higher education. Among the major languages
that are widely spoken and used in Ethiopia, Afaan Oromo has the largest speakers. It is
considered to be one of the most widely spoken languages among the one thousand
languages of Africa.

2.1.4.1. Afaan Oromoo writing system

Afaan Oromoo uses the adopted and modified Latin alphabet which is called Qubee. The
Afaan Oromoo Qubee consists of five vowels and twenty-four consonant letters. The Afaan
Oromoo five vowels are ‘a’, ‘e’, ‘o’, ‘u’ and ‘i’, and it is the same as that of the English
language. The Afaan Oromoo consonant is also the same with English except ‘p’,’v’ and
‘z’. In addition, it has seven paired letters which are commonly known as ‘Qubee dachaa’
or combined consonant letters (Tamirat & Tesema, 2017). In Afaan Oromoo the short and
long sound is formed by repeating the vowels. A doubled vowel makes the sound long and
even changes the meaning of the word. For example ‘lafa’ and ‘laafaa’, the meaning of the
words are completely different as the meaning of the first word is ‘ground’ and the next is
‘soft’. In another case, the doubled consonant forms more emphasized sound, for example:
‘bobaa’ (lap) and ‘bobbaa’ (excrement).

20
2.1.4.1.1. Afaan Oromoo punctuation marks

No Punctuation marks symbol use


1 Mallattoo Tuqaa (Full stop ) “.” Used to end
sentences, sentence
boundaries, and
abbreviation
2 Mallattoo gaaffii(question mark) “?” Interrogative,
indicate sentence
boundaries.
3 Mallatto raajeffannoo(exclamation mark) “!” Indicate command,
exclamatory,
sentence boundaries.
4 Mallattoo tuq-lamee(colon) “:” Separate and
introduce lists,
clauses, and
quotations, along
with several
conventional uses.
5 Mallattoo qoodduu(comma) “,” Separate listing or
elements in a series.
Table 2 Afaan Oromoo punctuation marks

In Afaan Oromoo the three punctuation marks used to determine the boundary of a
sentence, similar to English and other Latin languages. Whereas the end of one word is
determined by blank character (space). Unlike the English language, in Afaan Oromoo the
apostrophe mark (‘) used as part of the word. It is used to write the word in which most of
the time two vowels appeared together like “ba’e” to mean (“get out”) with the exception
of some words like “ga’a” to mean “enough” which is identified from the sound created.
Most of the time apostrophe mark (‘) in Afaan Oromo interchangeable with the letter “h”.
For instance, “ba’e”, “ja’a” can be interchanged by the spelling “h” like “bahe”, “jaha”
respectively still the senses of the words are not changed (Tamirat & Tesema, 2017). So in
the normalization phase, we replaced all words with “`” by “h” to reduce the variations of
the words in this work. Most people write by using an apostrophe (hudhaa), and many
other writes by using “h”. For example “baga bara haaraatiin isin ga’e”, is similar to “baga
bara haaraatiin isin gahe”.

21
2.1.4.2. Parts of speeches in Afaan Oromoo
2.1.4.2.1. Afaan Oromoo Nouns

A noun is a word that recognizes the categories of things, people, places and ideas. Nouns
in Afaan Oromo are inflected for gender, definiteness, and number (Tariku, 2017). Nouns
have an essential masculine or feminine gender that cannot be determined by the form of
the noun, with a few exceptions when biological gender is associated with a certain suffix,
such as eessa for male and -eetti for female nouns, e.g., obboleessa, brother‟ and
obboleettii, sister. Adjectives comply with the nouns they modify in gender. All nouns and
adjectives are marked for number: singular and plural, e.g., for masculine nouns nama,
man‟ namicha, the man‟; for female nouns haroo, lake‟ harittii, the lake‟. All nouns are
marked for case. Nouns can be used attributively to express modification. There is also a
difference between proximal and distal demonstrative pronouns, e.g., kana, this‟ and san,
that‟.

2.1.4.2.2. Afaan Oromoo adjectives

The adjective is a word whose syntactic role is to modify a noun or phrase. In Afaan
Oromoo adjectives comes after the noun, unlike English. For instance “Tolaan Saree
diimaa ajjeese”, look the adjective “diima” placed after noun “Saree”. Adjectives in Afaan
Oromoo can be male, female or neutral.

For example:

Male Female Neutral


Jaallatamaa Jaallatamtuu Jaallatamoo

Bareedaa Bareedduu babbareedoo

2.1.4.2.3. Afaan Oromoo Adverbs

Verbs are words that indicate action or state of being. For example “Tolaan saree
ajjeese”.They also used to express different adverbial relations such as relations of time,
place, and manner or measure. Example: “caalaan saffisaan fiiga”

“Magarsaan amma dhufe”

22
2.1.4.2.4. Afaan Oromoo Negation

In Afaan oromoo negation is formed in the word “hin” and “miti”. The “hin” word comes
before the verb or pre-verb to indicate the negative. For instance: “ani Dhaaba OPD hin
jaalladhu” (negative), and “ani dhaaba ODP nan jaalladha” (positive)

Affirmative form Negative form


nan jaalladha hin jaalladhu
Nan deggara hin deggaru

In other cases, the “miti” comes before a noun, or adjectives to indicate the negative
form.

For instance: “Tolaan Nama gaariidha” positive and “Tolaan Nama gaarii miti”
(negative)

Affirmative form Negative form


Gaaiidha Gaarii miti
Yaraadha Yaraa miti
Namadha Nama miti

2.1.4.2.5. Afaan Oromoo Conjunctions

The main task of conjunction is to link the logical relation between phrases, clauses, or
sentences. Afaan Oromoo can be sub dived into coordinating and subordinating
conjunction. The main task of coordinating conjunction is coordinating parts of the
sentence and the function of the subordinating conjunction is coordinating syntactical
unequal clauses (Tesfaye & Abebe, 2010). Examples of coordinating conjunction include
garuu, kanaafuu, haata’u malee, tu’ullee, etc. Afaan Oromo subordinating conjunctions
include yoo, akka waan, wayta/yeenna, hamma, erga, dursa, etc.

2.1.4.2.6. Afaan Oromoo Preposition

In general, the role of the proposition is to link words to other words. For instance: ‘ani
Afaan Oromoo fi Afaan Ingiliffaa nan dubbadha’ the ‘fi’ connects the words ‘oromoo’

23
and ‘Ingiliffaa’. In Afaan Oromo preposition may come before noun, pronoun, after
adjective, and after verbs.

Prepo+Noun->Magarsaa wajjiin nyaate.

Prepo+Pronoun->ishee wajjiin deemtaa?

Adjective+prepo->dheerinaan ishee ni caala.

2.1.4.3. Afaan Oromoo Word Segmentation

The word, in Afaan Oromo “jecha” is the smallest unit of a language. There are different
methods for separating words from each other. Like other most Latin languages in Afaan
Oromoo, a word is separated from other words by white space characters (Tamirat &
Tesema, 2017). For example, “Caalaan kaleessa dhufe”. In this sentence, the word
“Caalaan”, ”kaleessa” and ”dhufe” are separated from each other by a white space
character.

2.1.4.4. Afaan Oromoo Sentence structure

Unlike English, Afaan Oromo follows the subject-object-verb (SOV) language. SOV is
the sort of language structure in which the subject, object, and verb appear in that order.
Subject-verb-object (SVO) is a sentence structure where the subject comes first, the verb-
second and the third object. For instance, in the Afaan Oromo sentence “Oromoon
Birmaduu bahe”. “Oromoo “is a subject, “birmaduu” is an object and “bahe” is a verb
(Tamirat & Tesema, 2017).

24
2.2. Sentiment Analysis
People express their idea and make a judgment about events around them whether they
love, hates, support, criticize, think negatively, positively or neutral. This kind of judgment
is commonly known as the sentiment.

Figure 9 image source Wikipedia

Moreover, Sentiment is a broad term that concerns people's judgment, attitudes,


appreciation about government, politics, products, places, and events, etc. around the
world. Whereas sentiment analysis concerns the use of technology and systematic
techniques to categorize this sentiment from written languages into different categories like
positive, negative, neutral, etc.

Over the years traditional methods such as surveys are used for understanding public
opinion on certain issues. These methods are labor-intensive and it takes time and money.
Thanks to technology nowadays the wide explosion of social media changes the way
people give opinions and feedback and as a result the huge public opinions available on
the web. Moreover, in today’s date, most of the data available in the form of the electronic
form are unstructured and it is hard for any entity to deal with it. So it needs an automatic
method of structuring and determining the sentiment of a given text.

Sentiment analysis is not a new task, it has been researched over a years. But nowadays it
attracts the attention of many researchers due to the exponential growth of social media
blogs and the wide availability of opinionated data on social media and web pushed
research in this area on a new stage. Moreover, the earliest literature focuses only on the
English language. Since 2000 till now a lot of literature was coming in different languages
due to the increasing amount of unstructured data in electronic form and the requirement

25
of analyzing and structuring information that comes from social media in the form of
unstructured data.

(Liu B. , 2012): defined the sentiment analysis as follows:

“Sentiment analysis, also called opinion mining, is the field of study that analyzes
people’s opinions, sentiments, evaluations, appraisals, attitudes, and emotions towards
entities such as products, services, organizations, individuals, issues, events, topics, and
their attributes.”

In other words, sentiment analysis deals with processing or analysis of opinionated text
which can be a message, comments or others in order to analyses and categorize opinions
from certain documents. The polarity of sentiment can be binary (Alec, Bhayani, & Huang,
2009), (Bing & Hu, 2004) or multi-class classification (Philemon & Mulugeta, 2014),
(Ding & Philip, 2008) and (Ouyang, Zhou, Li, & Liu, 2015) It can be also labeled as
positive, negative, neutral, very positive, very negative, and also incorporated with
emotions which can be labeled as sad, anger, fearful, happy, joy, sadness, fear, anger, guilt,
pride, optimism, frustration, etc. Sentiment analysis is a developing and interesting area
especially in e-commerce, e-marketing, producer, film industries, politicians, government
policy, and many more as it is a core for the decision-making process. Since the explosion
of social media and web changes the way of expressing emotions; conducting survey is no
longer necessarily about particular entity, they can easily find that information by browsing
the Internet and navigate to customer reviews, comments, tweets and etc. it is useful for
consumers who want to know the sentiment of products before purchase, or companies that
want to monitor the public opinion of their products.

The Growth of social media has resulted in an explosion of publicly available, user-
generated text on the World Wide Web. These data and information can potentially be
utilized to provide real-time insights into the sentiments of people (Liu B. , 2012).

Sentiment analysis can be conducted at different levels. The popular level of granularity of
Sentiment analysis are:

Document-level: sentiment analysis concerns determining the sentiment orientation of an


entire document text. Usually, each text is assumed to be written by a single opinion holder

26
and about a single entity to make the task more tractable. For example, given a review
about product or service, the task is to identify whether the review expresses an overall
negative or positive opinion about the service or product. This task is commonly known as
document-level sentiment classification (Pang, Lee, & Vaithyanathan, 2002), (Bibi &
Bahria) , (Shoushan, et al., 2010). This level of analysis assumes that each document
expresses opinions on a single entity (e.g., a single product egg. review).

Sentence level: determines whether each sentence expressed a positive, negative, or


neutral opinion (Ouyang, Zhou, Li, & Liu, 2015). Neutral usually means no opinion. This
level of analysis is closely related to subjectivity classification which distinguishes
objective and subjective sentences. Objective sentences are sentences that express factual
information and subjective sentences are sentences that express subjective views and
opinions.

The other one is the Entity and Aspect level. The aspect level also called feature level
(feature-based opinion mining and summarization) (Bing & Hu, 2004), (Song, Zhou, &
Fei) and (Sarawgi & Vandana, 2017). This method aims at extracting the target opinion,
and the opinion itself instead of looking at language constructs (documents, paragraphs,
sentences, clauses or phrases) (Bing & Hu, 2004). It is based on the idea that an opinion
consists of sentiment (positive or negative), target (of opinion) and entity (opinion holder).
Mainly this method aims to extract three different parameters. These are opinion targets,
opinion holders, and time. Researchers also conduct by focusing only on the target of the
opinion and regardless of entity and time (Bing & Hu, 2004). Moreover, some researchers
also categorized the level of sentiment analysis as term level, message level, and phrase
level.

2.3. Techniques of sentiment Analysis


The overall approaches towards sentiment analysis are classified into two. The first and the
earliest one is a lexicon-based approach and the second one is a machine learning approach.
The detail description and explanation organized as the following.

27
2.3.1. Lexicon based approach

The earliest method of sentiment analysis is the lexicon-based approach (Liu B. , 2012),
(Thakkar & Patel, 2015) , and (Hailong, Wenyan, & Bo, 2014) . In this approach, the
sentiment of the given text is extracted based on the polarity (positive, negative and neutral)
of word features from sentiment lexicons, lists of words that are marked with positive or
negative sentiment. Further, the lexicon-based approach is classified into two. The detail
is discussed as the following.

2.3.1.1. Dictionary-based approach

The dictionary approaches make use of available language resources like a dictionary.
Initially, the opinion seed words are collected manually and then expand the lists by
searching through their synonyms and antonyms. The large lexical database is needed for
looking up the process of their synonyms and antonyms. After that by using an algorithm
that grows this set by searching the dictionary (WordNet) or another online dictionary for
their synonyms and antonyms. When new words are found they are added to the seed list.
The iterative process continues until when no more new words can be found. Examples of
lexical databases are WordNet (Miller, 1995) , HowNet (Dong, Dong, & Hao, 2010) , etc.
WordNet is a large lexical database of English in which nouns, verbs, adjectives, and
adverbs are grouped into sets of cognitive synonyms (synset) (Miller, 1995) whereas
HowNet is an online common-sense knowledge base exposing inter-conceptual
relationship and inter-attribute relationships of concepts as meaning in lexicons of the
chines and the English equivalents (Dong, Dong, & Hao, 2010). The main problem is a
collection of synonyms and antonyms requires a lot of time. Most of the under-resourced
languages like Afaan Oromoo has no such resources.

2.3.1.2. Corpus-based approach

The same to dictionary-based approach the Corpus-based methods use a seed set of
sentiment words with known polarity but it exploits syntactic patterns of co-occurrence
patterns to identify new sentiment words and their polarity in a large corpus. The corpus-
based approach operates by considering the group of words as word lists and classifies
words. Furthermore, the Corpus-based approach is also classified as a semantic and

28
statistical approach. The semantic approach uses terms to represent in semantic space for
finding a relationship in terms (Hatzivassiloglou, V., K., & R., 1997). The statistical
approach using statistical terms identifies the sentiment by utilizing the syntactic patterns
of co-occurrences of words in the corpus (Liu B. , 2012), (Hailong, Wenyan, & Bo, 2014).

In general, the lexicon-based approach is labor-intensive because it needs to collect initial


words by hand. As (Thakkar & Patel, 2015) the performance of lexicon-based methods in
terms of time complexity and accuracy heavily depends on the number of words in the
dictionary which means performance decreases significantly as the dictionary size growth.

2.3.2. Machine learning approach


2.3.2.1. The supervised machine learning approach

Many works have been proposed by numerous researchers in this area. Also, many machine
learning classifiers are there for this approach. This method needs a labeled dataset for the
learning process and test data for the evaluation of the classifier. Based on the input
example the classifier performs the classification of the unseen (test) data. Formally, the
task of supervised classification is to take an input x and a fixed set of output classes 𝑌 =
𝑦1, 𝑦2, . . . , 𝑦𝑀 and return a predicted class 𝑦 ∈ 𝑌 (Martin, Jurafsky, & H., 2018).

Let’s discuss each of them one by one.

2.3.2.1.1. Naïve Bayes

The simplicity and efficiency, as well as the performance of the NB classifier, attracted
many researchers to use it for sentiment analysis and text classification domains. It is a
probabilistic approach integrating the Bayes’ algorithm (Thakkar & Patel, 2015) that
allows computing the probability of features belonging to a label. The detail description of
NB is discussed in the next section.

2.3.2.1.2. Support vector machine

A Support Vector Machine (SVM) is one of the supervised linear classifier formally
defined by a separating hyperplane. In another way, given labeled training data (supervised

29
learning), the algorithm creates an optimal line or hyperplane which categorizes new
examples9.

Authors (Pang, Lee, & Vaithyanathan, 2002), (Alec, Bhayani, & Huang, 2009), (Gautam
& Yadav, 2014) used support vector machines in their proposed system. The approach
assumes a division of space into subspaces that correspond to particular classes. In terms
of binary classification, the idea of the training stage is to discover a hyperplane that best
separates a dataset into two classes with the maximum margin.

A support vector is any point on or inside the margin. In general, SVM in some cases can
outperform algorithms such as Naïve Bayes, Maximum Entropy (Pang, Lee, &
Vaithyanathan, 2002). However, it has its own problem since it is not suited to large
datasets due to SVM’s time complexity.

2.3.2.1.3. Maximum Entropy

Unlike the Naive Bayes classifier, the Max Entropy does not assume that the features are
conditionally independent of each other and is used when the conditional independence of
the features cannot be assumed. Due to the minimum assumptions that the Maximum
Entropy classifier makes, it is regularly used when nothing is known about the prior
distributions and when it is risky to make any such assumptions. The Maximum Entropy
is based on the Principle of Maximum Entropy and from all the models that fit the training
data, selects the one which has the largest entropy. The Max Entropy classifier has a large
variety of applications in text classification tasks such as language detection, topic
classification, sentiment analysis and more. Maximum Entropy used by researchers (Pang,
Lee, & Vaithyanathan, 2002), (Alec, Bhayani, & Huang, 2009) and (Gautam & Yadav,
2014). As they concluded Maximum Entropy classifier is used when the conditional
independence of the features cannot be expected. This is mostly correct in Text
Classification problems where the features are usually words that clearly are not
independent. So such a classifier may outperform the Naïve Bayes classifier but the
problem is that the Maximum Entropy algorithm is more difficult to implement and the
learning process is slower (Pang, Lee, & Vaithyanathan, 2002). The Max Entropy requires

9
https://medium.com/machine-learning-101/chapter-2-svm-support-vector-machine-theory-f0812effc72

30
more time to train compared to Naive Bayes, primarily due to the optimization problem
that needs to be solved in order to estimate the parameters of the model.

2.3.2.1.4. Decision tree

A decision tree is also another supervised classifier that is designed with the use of a
hierarchical division of the underlying data space with the use of different text features.
The task of classification is done by the hierarchical division of the data space. So
hierarchical division creates class partitions that are more skewed, then determine the
partition that is most likely to belong to. The tree structure composed of two types of nodes
which are leaf node that contains the value of the target attribute, i.e. positive or negative
label in case of binary classification task of sentiment analysis and decision node that
contains a condition on one of the attributes for space division (Aggarwal & Zhai, 2012).
The partitioning of the data space is done in a recursive way.

2.3.2.1.5. K-nearest neighbor

K-nearest neighbor is one of the earliest supervised classifiers. KNN addresses the pattern
recognition problems and also solves a variety of classification related tasks. Moreover,
KNN is simple to implement and executes quickly for small training datasets.

(Huq, Ali, & Rahman, 2017) , Used KNN and SVM for twitter sentiment analysis. The
authors used simple features like n-gram features, pattern features, punctuation features,
keyword-based features, and word features. As the report of the authors, KNN performs
better. But when the training set is large it may take a lot of space and also a lot of time
may be needed for the testing.

2.3.2.1.6. Neural Networks (NN) based Models

The artificial neural network follows the principles of the biological neural network. It is
assumed that the neural networks can solve the issues in the same way as they can be solved
by humans10. ANN is a set of interconnected neurons structured in layers. These are the
input layer which brings the initial data into the system for further processing by
subsequent layers of artificial neurons (Goodfellow, Bengio, & Courville, 2014).

10
http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/

31
The hidden layer is a layer in between input layers and output layers, where artificial
neurons take in a set of weighted inputs and produce an output through an activation
function and the output layer which is the last layer of neurons that produces given outputs
for the program. Depending on the different ways of structuring multiple layers, several
types of deep neural networks were proposed, where CNNs and RNNs are among the most
popular ones. CNN's are usually used in computer vision since convolution operations can
be naturally applied in edge detection and image sharpening. CNN's have also been used
for more complex tasks where varying lengths of texts are used such as sentiment analysis,
long text categorization, and sarcasm detection. The RNN operates the classification by
calculating a weighted combination of all words in the sentence, whereas CNN extracts the
most informative n-grams features for the relation and only considers their resulting
activations (Yin, Kann, Yu, & Sch¨utze, 2017).
2.3.2.2. Unsupervised machine learning Approach
In these methodologies, there is no need for annotated training data. Authors (Tibshirani,
Rothfels, & Julie, 2010), (Turney & D.) , and (Zagibalov & Carroll, 2008) used
unsupervised method for sentiment analysis. (Zagibalov & Carroll, 2008) Developed
automatic selection of seed words for unsupervised sentiment classification for Chinese
text. Inspired by (Zagibalov & Carroll, 2008), (Tibshirani, Rothfels, & Julie, 2010) adopted
the work proposed by (Zagibalov & Carroll, 2008) for the English language domain. The
proposed system by the authors able to achieve 65.5%. (Turney & D.) The proposed
unsupervised technique for movie reviews. Part-of-speech tagger (POS) is used in order to
decide which phrases have to be retrieved. The researcher also developed the method to
extract phrases that consist of two words based on tags patterns. Further, Pointwise Mutual
Information and Information Retrieval algorithm (PMI-IR) is used to find the semantic
orientation of the extracted phrase. For example, the semantic orientation of a phrase is
defined as a difference between PMI (phrase, “excellent”) and PMI (phrase, “poor”). This
means the Semantic orientation of a phrase is positive if a phrase has a stronger relation
with “excellent” or the reference word and negative if it has a stronger association with
“poor”.

32
2.4. Related works
2.4.1. Sentiment Analysis in Afaan Oromoo

In Afaan Oromoo the sentiment analysis is new and only a few works were studied. We
encountered only two researchers on the Afaan Oromoo language. (Tariku, 2017),
conducted aspect based summarization of Afaan Oromoo news text on the news domain.
This work is the first attempt at Afaan Oromoo opinion mining. The researchers used
manually crafted rules and a lexicon-based approach. The dataset obtained from the ORTO
news service. As reported by the researcher, eventhought the system shows good results,
the lack of resources such as lexical database and linguistic resources such as POS made
the work challenging. There are also gaps that are needed to be elaborated more. For
example, people express their feeling on social media indirectly and their system cannot
handle this problem. The other works by (Abate, 2019). The researcher proposed an
unsupervised approach for Afaan Oromoo on a Facebook domain. Data is obtained from
the official facebook page of the Oromoo democratic page and other Activists pages on
current political situations. N-gram and POS used as features. As the researcher claims the
proposed work shows a promising result.

Author objective features model classes Selected Domain No


model Afaan Dataset
oromoo
Data
source
(Tariku, Assign feature Lexicons rule based +ve&-ve General ORTO 400
2017), sentiment & +rule lexicon news reviews
summarization based with rule service
Msc based
Thesis,
DBU
(Abate, Feature Lexicon, Unsupervised +ve,-ve bigram (OPDO) 600
2019) extraction POS, N- &neutral official reviews
& polarity gram Facebook
Journal classification page,
Article political
bloggers
page
Table 3 summary of SA and opinion mining of AO

The general work proposed by the two researchers needs the lexical database and it
involves the manual collection of lexicons. Moreover, the machine learning method
performs better with less human intervention (Vinodhini & Chandrasekaran, 2012). In

33
addition, regarding social media texts where nature the texts are informal, indirect (Tariku,
2017) , slang and idiomatic it is difficult to deal with the previous techniques. Despite these
researchers, we proposed a state of the art machine learning and deep learning approaches
such as Convolutional neural network, long-short memory, and Naïve Bayes machine
learning approach. According to the literature (Hailong, Wenyan, & Bo, 2014), the lexicon-
based models were not very accurate and a good rule-based model was very hard to
elaborate, we implemented state-of-the-art methods for Afaan Oromoo sentiment analysis.

2.4.2. Sentiment analysis of Amharic Language

Unlike Afaan Oromoo Sentiment analysis is not new in Amharic language and many works
have been proposed by researchers (Alemu, 2018), (Philemon & Mulugeta, 2014),
(Gebremeskel, 2010), (Mengistu, 2013), (Tilahun, 2014) and (Abreham, 2014). The
researchers (Gebremeskel, 2010) and (Tilahun, 2014), proposed by using the combination
of a rule-based and lexicon-based approach (Gebremeskel, 2010) for movie reviews and
news domains, and (Tilahun, 2014) for Hotel, University, and Hospital. The first work,
(Gebremeskel, 2010) proposed by using the lexicon and context valence shifter feature
selection method. The dataset he used is 303 which is too small. The author (Mengistu,
2013) proposed a supervised machine learning approach NB and decision tree algorithm,
again on movie reviews and news but with some modification on the size of the dataset.
The researcher used a bag of words and information gain feature selection methods.
Another work has been done by the author (Abreham, 2014)with some improvement on
the dataset as well as he used three different machine learning algorithm namely NB, MNB,
and SVM. N-gram presence, n-gram frequency and n-gram TF-IDF used for the feature
extraction method.

(Philemon & Mulugeta, 2014) Also proposed a multi-scale sentiment analysis ranging
from -2 to +2. The author used a set of n-gram (unigram, bigram, and hybrid) for the feature
selection method and Naïve Bayes classifier for the classification algorithm. As the
researcher’s claim, the bigram approach performs better, 43.6%, 44.3%, and 39.5% for
unigram, bigram, and trigram. But according to the researcher's report, the morphological
richness, data cleanness and the absence of large corpora in Amharic make a sentiment
analysis of Amharic challenging. Dataset collected from social media, marketing, and

34
news. As (Philemon & Mulugeta, 2014) the machine learning approach requires less effort.
(Abreham, 2014) , conducted another solution by using three different machine learning
algorithms (NB, DT and ME). The author conducted binary classification which assigns a
given document to negative and positive. Bag of words and information gain is used as
features and dataset from the news. The researcher (Alemu, 2018) conducted empirical
research by using deep learning techniques to improve previous works. (Alemu, 2018),
proposed a new solution by applying state of the art study. The dataset obtained from the
official facebook page of Fana Broadcasting Corporation regarding the socio-political
domain. The proposed solution includes emotion icons such as emoji. This is the first work
deep learning approach toward Amharic language and as the researcher claims an accuracy
of 90.1 %, 82.4 % and 70.1% obtained based the three experiments. According to The
researcher, the size of training data and test data has an impact on the performance of the
classifier. For example, with 90% training data and 10% test data, accuracy 90.1%
obtained, and with 70% training data and 30% test data an accuracy 70.1 obtained. The
literature review of Amhharic Sentiment Analysis and Opinion mining using different
approaches and techniques summarized in the following table 4.

35
Author Objective Features Model Classes Selected Model Domain, No
Amharic dataset
(data
source)
+ve, very +ve,
extremely
+ve, neutral, -
ve, very -ve Fana BC
(Alemu, 2018) Assign docs learning word and extremely Facebook 1600
Journal Article sentiment embedding CNN -ve page reviews
(Philemon &
Mulugeta, Social
2014) Assign docs Unigram, NB -2, -1, 0, Naïve Bayes + media, 608
Journal Article sentiment Bigram & +1, +2 Bigram Product
Hybrid
valence marketing
shifter (multi- &
scale) News
(Abreham, NB, DT
2014) Assign docs BoW & & +ve & -ve Naïve Bayes with EBC, 616
diretube.c
Thesis (AAU) sentiment IG ME Information Gain om
&
habesha.c
om
(Tilahun, 2014) Assign Feature + Rule & +ve, -ve & Feature with Hotel,
adjacent left & Universit
Journal Article feature Opinion + Lexicon neutral right y& 484
sentiment Context Based adjective Hospital
valance
shifter
& n-
grams-TF-
IDF
Abebe, (2013), NB and
MSc Assign docs BoW, IG DT +ve & -ve Naïve Bayes + Movie 456
review+n
Thesis (UoG) sentiment Information Gain ews

n-grams ERTA.com
presence, +
n-grams FanaBC.co
frequency m
(Mengistu, 2013) & n- Support Vector +
MSc Assign docs grams-TF- NB, MNB +ve, -ve & Machine with diretube.co
Thesis (AAU) sentiment IDF & SVM Neutral unigram m 576
lexicon +
Context Rule & General lexicon Movie
(Gebremeskel, Assign docs valence Lexicon +ve, -ve & with valence review +
2010) sentiment shifter Based Neutral shifter news doc 303

Table 4 Summary of Amharic SA and OM

36
2.4.3. Deep learning for sentiment Analysis
Deep learning technology is one of the most states of the art machine learning approaches,
has been recently successfully used in sentiment analysis tasks. (Dong, et al., 2014)
Proposed a new model, called the Adaptive Recursive Neural Network (AdaRNN) and
aims to classify Twitter texts into three sentiment classes: positive, neutral, and negative.
As reported by the author the AdaRNN achieved 66.3% accuracy. (Huang, Cao, & Dong,
2016) Designed Hierarchical Long Short-Term Memory (HLSTM) and gotten 64.1%
accuracy on tweet texts. (Tang et al., 2015) presented a new variant of the RNN model,
called Gated Recurrent Neural Network (GRNN), and achieved an accuracy of 66.6 % and
45.3% on two different datasets ( Yelp2013–2015data) and (IMDB data) respectively. On
the other hand (Qian, Huang, Lei, & Zhu) applied Long Short-Term Memory (LSTM) for
binary classification of sentiment and gotten 82.1% accuracy on the movie review data.

Authors (Liu, Qiu, & Huang, 2016) designed RNN for text classification with multi-task
learning. The following tasks are selected: multi-class classification (somewhat negative,
negative, neutral, somewhat positive, positive), binary classification, subjectivity
classification which involves subjective or objective (sentence level) and binary
classification on document-level. In the article (Liu, Qiu, & Huang, 2016) authors
presented 3 model architectures of sharing information to model text sequence. The first
model architecture utilizes one shared layer for all tasks. The second architecture utilizes
different layers for different tasks. The last model assumes the assignment a certain task to
a certain level, but also has a shared layer for all the tasks. After experiments were
conducted, authors compared obtained results and concluded that on some tasks they
achieved better results opposed to the state-of-the-art baselines. Even though the RNN
achieved better results there is a disadvantage in RNN. The limitations of RNN is that it is
not very good in holding long term dependencies and the problem of vanishing gradient
resurface in RNN.

As (Tsungnan et.al., 1996)it is stated that Recurrent Neural Networks (RNN) are capable
of dealing with short-term dependencies in a sequence of data. Nevertheless, RNNs have
suffered when dealing with long-term dependencies. These long-term dependencies have
a great influence on the meaning and overall polarity of a document. So having methods of

37
capturing long term dependency is very important. Long Short-term memory networks
(LSTM) overcomes this long-term dependency problem by introducing a memory into the
network.

(Kim Y. , 2014) Designed multichannel CNN and obtained a maximum of 89.6% accuracy
with seven different types of data through their CNN model with one convolutional layer.
(Moschitti, Severyn and Alessandro, 2015) Employed a pre-trained Word2Vec for their
CNN model and achieved 84.79% (phrase-level) and 64.59% (message-level) accuracies
on SemEval-2015 data. The CNN model used in (Severyn, Moschitti, & Unitn, 2015) was
essentially the same as the model of (Kim Y. , 2014). (Deriu, et al., 2017) Implemented the
CNN model which has a combination of two convolutional layers and two pooling layers
for four different languages which classify twitter data and obtained a 67.79% F1 score.
Another study (Ouyang, Zhou, Li, & Liu, 2015), designed the CNN model with
convolution pooling layer pairs, and the authors claimed that the model outperformed other
previous models.

As we can understand from the above literature, for the sentiment classification, there are
two leading types of deep learning techniques: LSTM and CNN. In this work, we proposed
a CNN and LSTM model, for effective sentiment classification.

2.4.3.1. LSTM for sentiment analysis

LSTM is one of the recent successful algorithms in sentiment analysis and other natural
language processing tasks. (Wang, et al., 2015)Described that identifying the sentiment of
these social media blogs is a challenging task that has attracted increased research interest
in recent years and requires state of the art technology to handle these problems. As (Wang,
et al., 2015) states that the traditional RNNs are not powerful enough to deal with complex
sentiment terminologies, hence an LSTM network is instigated for classifying the
sentiment of social media texts. (Liu et al., 2018) Investigated the effectiveness of long
short-term memory (LSTM) for sentiment classification of short texts with distributed
representation in social media. The researchers addressed that, since social media posts
are usually very short, there’s a lack of features for effective classification. Thus, word
embedding models can be used to learn different word usages in various contexts. To detect

38
the sentiment polarity from short texts and longer dependency, we need to explore deeper
semantics of words using deep learning methods.

LSTM (Long Short Term Memory) is the kind of RNN that is used to learn long-range
dependencies for text sequences. LSTM contains memory blocks which also known as
gates to control the text flow. The memory blocks contain three gates named as input gate;
forget gate and output gate to control the flow of information (Miedema, 2018). The author
(Miedema, 2018) also described that, the Shortcoming of the Recurrent Neural network
and implemented the LSTM for sentiment analysis. Based on many kinds of literature we
explored that LSTM is the more advantageous state of the art neural network algorithm for
sentiment analysis. So in this work, we focused on LSTM. We proposed the LSTM for
Afaan Oromoo based on (Miedema, 2018)but we extended with two hidden layers of
LSTM with different memory units. In LSTM or RNN Sentiment analysis will be the two
dimensional. Performed in sequence to vector model, that means the input is the sequence
of words and the output is a two-dimensional vector indicating the positive or negative
class of the sentiment.

2.4.3.2. Convolutional Neural Network for Sentiment Analysis

CNN is one of the states of the art deep learning classification algorithm. The convolutional
filters that automatically learn important features for any task make it more famous. In
sentiment analysis also very important, since the convolutional filters can capture the
semantic and syntactic of sentiment expressions (Rios & Kavuluru, 2015). In another case,
CNN does not need linguistic experts to understand the linguistic structure of the language
(Zhang, Zhao, & LeCun, 2015). As (Kim Y. , 2014), a single convolutional layer, a
combination of convolutional filters can achieve comparable performance even without
any special hyperparameter adjustment. Because of these CNN is successfully applied to
various natural language processing tasks search query (Shen, Xiaodong, Gao, Deng, &
Mensnil), semantic parsing for question answering (Yih et al., 2014), sentence modeling
(Nal et al., 2014).

We proposed the CNN model for Afaan Oromoo sentiment analysis based on the
architecture developed by (Kim Y. , 2014). Our approach composed of multiple parallel
kernel sizes or filters. We focused on a multichannel CNN model with one hidden layer.

39
2.4.4. Naïve Bayes for sentiment classification

The naïve Bayes classifier is operates based on the Bayes theorem. The simplicity and
efficiency, as well as the performance of the NB classifier, attracted many researchers to
use it for sentiment analysis and text classification domains. The authors (Pang, Lee, &
Vaithyanathan, 2002), (Philemon & Mulugeta, 2014), (Gautam & Yadav, 2014), (Jumayl,
Robert, & Lu, 2019) , (Martin, Jurafsky, & H., 2018) reported that NB is the most
prominent algorithm for sentiment analysis and text classification tasks despite its
simplicity. It is a probabilistic approach integrating the Bayes’ algorithm (Thakkar & Patel,
2015) that allows computing the probability of features belonging to a label:

(Pang, Lee, & Vaithyanathan, 2002)Have studied the aspect of sentiment classification
based on categorization study, with binary classification (positive and negative)
sentiments. The authors made an experiment with three different machine learning
algorithms, such as NB, SVM, and ME. The classification process is performed using the
n-gram technique like unigram, bigram, and combination of both unigram and bigram. The
researchers also have used bag-of- word features framework to implement the machine
learning algorithms. (Tripathy et al., 2016) Implemented naïve Bayes and maximum
entropy for twitter data. The authors used TF-IDF and Count Vectorizer feature extraction
methods. Based on their experiment the naïve Bayes performs better results with TF-IDF
and n-gram.

40
2.5. Chapter Summary
Detailed literature is discussed in this section. Moreover Approaches to sentiment analysis,
classification algorithms that are applied for sentiment analysis in the literature are
described.

Based on the detail exploration of kinds of literature we found that supervised machine
learning performs better than unsupervised machine learning approaches (Pang, Lee, &
Vaithyanathan, 2002). During detail analysis of literature, we found that Naïve Bayes,
LSTM (long short term memory) and Convolutional Neural Network classification
algorithms are effective for sentiment analysis tasks. Furthermore, the Naïve Bayes
algorithm is simple, effective and fast to build a model. It is used for real-world applications
like spam filtration and classification news articles11. In addition to its state of the art
machine learning algorithm, CNN is also successful in various text classification tasks
including sentiment analysis12. A convolutional neural network is also effective for natural
language it allows to significantly reduce the number of learning parameters and obtain a
high quality of classification. The LSTM (Long Short-Term Memory) has been dominating
most NLP tasks in the last few years achieving state of the art results. An LSTM approach
reads text sequentially and stores relevant information to the task at hand, for example,
plurality, gender, negation and so on. Long Short-Term Memory is a special kind of
recurrent neural network that was designed to capture and model temporal sequences and
their long-range dependencies more precisely than the conventional RNNs. Based on these
factors, Naïve Bayes, LSTM and CNN are employed for sentiment analysis in this work.

11
https://www.hackerearth.com
12
www.joshuakim.io/understanding-how-convolutional-neural-network-cnn-perform-text-classification

41
Chapter Three

Materials and Methods

In this section, we introduce the methodology or the steps we followed in order to conduct
Afaan Oromoo Sentiment Analysis. The proposed Afaan Oromoo Sentiment analysis
system architecture is depicted in the following system architecture.

Figure 10 Proposed Architecture of Afaan Oromoo Sentiment Analysis

3.1.1. Data collection

For this thesis, the primary data source from Oromo Democratic Party /ODP official
Facebook page is extracted by using face graph API. The reason for choosing this page is
that there is a huge user generated opinions. This page is the government organization page
and the government policy related post is released every day on this page. So that the
genuine and reliable user-generated data is available on this page. Moreover, this page is
a public page and people express their idea about government freely on this page. We

42
focused on sociopolitical related issues, government policy, and other related issues. The
total amount of reviews collected is 1452, 726 positive and 726 negatives. The extracted
data is saved in comma delimiter (CSV) format in excel.

3.1.2. Data preprocessing

As stated previously, for this thesis we used a supervised machine learning method. Since
the supervised method requires the labeled dataset for training purposes the dataset
collected was labeled manually by experts. After that, the data is split into training and
testing data using scikit-learn train_test_split. The training data used to train the classifiers,
and the test data used for testing the accuracy of the classifiers.

We split our dataset according to the 80/20 rule (Philemon & Mulugeta, 2014) i.e. eighty
percent of the dataset goes to the training set and twenty present goes to the test set. We
used the train_test_split method of the sklearn library to perform this task in python.
train_test_split is faster, simpler so it would be easier to analyze the testing errors.

Another step is preprocessing in order to exclude irrelevant data from the dataset.
Preprocessing is very import as it reduces the computational time and increases the
classifier performance because noisy data can slow the learning process and decrease the
efficiency of the system. Accordingly, our preprocessing includes the following:

Cleaning: Removal of user names, Removal of links, lower casing, Removal of none
Afaan Oromoo texts, unnecessary characters, etc.

Stopword removal: some Afaan Oromoo Stopwords are significant for the sentiment
classification and need to remain in the text. For instance, the “hin” is used to indicate the
negativity of the word: for example, “dhufeera”, “hin dhufne”. In another case, some stop
words constitute a phrase: “walii hin gaallu”, “isin waliin jirra” etc. These stop words
portray important information. So we filtered removed stop words through a manual
process that is not relevant for the classification process.

Normalization: homophones like “baay’ee” and “baayyee” has the same meaning with
different writing. The only difference is that the apostrophe “’” is replaced by “y”.

 Normalization of elongated texts, for example, sin jaallannaaaaaa is normalized to


sin jaallanna

43
 Normalization of numbers into equivalent texts. Example:”sin jaallanna
100%“normalized to” sin jaallanna persentii dhibba tokko”.

Spelling correction: we encounter many wrongly spelled texts. So they need to be


corrected to the right spelling.

3.1.3. Tokenization

Tokenization is the process of splitting an input sequence into tokens. It a useful unit for
semantic processing. The tokens usually consist of either a single word or what is called
an N-gram, meaning that N consecutive words are split into a single token. The idea is to
preserve some of the information that is stored in the order of the words.

3.1.4. Stemming
Stemming is the technique of reducing inflection in words. For the purpose of this study,
we used the stemmer developed by (Tesfaye & Abebe). Stemmer is the system that reduces
morphological variants of words into base or root form. In morphologically rich languages
like Afaan Oromo, a stemmer will lead to important improvements in sentiment Analysis
(Tariku, 2017).

3.1.5. Feature Selection

After preprocessing is completed, the next step is feature extraction which is used for
training the classifiers. Features are the piece of information taken from the text and given
to the algorithm for classification. Feature selection is not used only for dimension
reduction of our data, but also it is crucial for making training faster and it can improve
accuracy by removing features that are noisy and irrelevant for classification. In addition,
feature selection can help to avoid overfitting [ 13]. In sentiment analysis, features can be
words, terms or phrases that strongly express the opinion as negative or positive.

There are several methods that are used to select the most important features in a text.
Among this one of the common and effective ways to select features is to assign weights
to them and then define a certain threshold for the targeted features. TF-IDF feature

13 http://blog.datumbox.com/using-feature-selection-methods-in-text-classification/

44
selection was investigated for the Naïve Bayes classifier in this thesis (Bakliwal, et al.,
2013) , (Wang, Mossie, & Jenq-Haur, 2018), (Medhat, Hassan, & Korashy, 2014), and
(Aggarwal & Zhai, 2012). The TF-IDF feature selection is a simple and effective feature
selection paradigm. It is easy to remove hundreds of rare and uninformative features. In
TF-IDF weighting the importance of features is computed based on both term frequency
and inverse document frequency.

TF-IDF which stands for Term Frequency – Inverse Document Frequency and it is a
statistical method of evaluating the significance of a word in given documents.

Term frequency (tf): measures the frequency of the occurrences of a given term in a
document.

Inverse document frequency: measures the cost of the word in the document, i.e. if the
word is common or infrequent in the entire document. The main idea behind tf-idf follows
that the terms that appear frequently in a document are less important than terms that are
infrequent or rare. The TF-ID customs the vector space modeling system for text document
representation.

TF-IDF measure accounts both, the Term Frequency and the Inverse Document Frequency.
The term frequency indicated as 𝑡𝑓(𝑡, 𝑑) is the total number of times a given term t appears
in document d against the total number of all words in the document. If the frequency of a
given term increases in a document then its tf also increases. The inverse document
frequency represented as 𝑖𝑑𝑓(𝑡, 𝐷) is a measure of how much information the word
provides. In another word, it measures the worth weight of a given word in a given
document. IDF shows how common or rare a given word is across all documents.

Term frequency–Inverse document frequency is the product of term frequency 𝑡𝑓 (𝑡, 𝑑)


and inverse document frequency𝑖𝑑𝑓(𝑡, 𝐷). TF-IDF can be computed as:

𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑖𝑚𝑒𝑠 𝑡𝑒𝑟𝑚 (𝑡)𝑎𝑝𝑝𝑒𝑎𝑟𝑠 𝑖𝑛 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡 (𝑑)


𝑇𝐹(𝑡, 𝑑) =
𝑡𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑒𝑟𝑚𝑠 (𝑡) 𝑖𝑛 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡 (𝑑)

The Inverse Document Frequency measures how word contribute to discriminate each
document and obtained as the following,

45
𝑡𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐷𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠 (𝐷)
𝐼𝐷𝐹(𝑡, 𝐷) = 𝑙𝑜𝑔
𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠 𝑤𝑖𝑡ℎ 𝑡𝑒𝑟𝑚 (𝑡) 𝑖𝑛 𝑖𝑡

Now we got TF and IDF, and next, we can calculate TFIDF as below.

𝑇𝐹𝐼𝐷𝐹(𝑡, 𝑑, 𝐷) = 𝑇𝐹(𝑡, 𝑑). 𝐼𝐷𝐹(𝑡, 𝐷)

The second feature we used for the naïve Bayes classification algorithm is n-gram. N-
grams are the combination of neighboring words or letters of length n that can be
searched in the source text.

Features can take the form of unigrams, bigrams or n-grams subject to requirements or
hybrid of them (Pang, Lee, & Vaithyanathan, 2002), (Philemon & Mulugeta, 2014). In
some cases the studies find that better polarity classification can be achieved by using
bigrams and unigrams instead of trigrams, others find that bigrams outperform unigrams
in sentiment classification (Philemon & Mulugeta, 2014). N-gram is an effective feature
selection approach. For example when using 2-grams, the semantic difference between "cat
calling" and "cat food" would not get lost, which it would be when using 1-grams (Tripathy
et al., 2016).

In most literature, single words were used as features. If the term “gadhee or yaraa” ("bad”)
occurs in a document, it is likely to have a negative sentiment. However, considering only
single words as a feature have several limitations. For example, Negations, such as “gadhee
miti” ("not bad") or (gaarii miti) "not good" for example, will not be taken into account.
So this leads to misclassification as a single word features can even change the direction
of the classification.

Negations are used in order to contradict or deny a statement. Commonly used Afaan
Oromoo negations are introduced with ’hin’ and ’miti’. An example with a sentiment
bearing verb: "inni ni danda'a “(he can) "inni hin danda’u" (he cannot) An example with a
sentiment bearing adverb: "kun gaariidha" (this is good) "kun gaarii miti" (this is not good).
So in this thesis, we used n-grams (1, 2, and 3) as features in addition to single words can
overcome this problem.

46
In another case, Phrasal verbs are common in the Afaan Oromoo language [ 14]. They are
verbs which are composed of one verb in combination with one or more particles, for
example, "waa'ee saa walii hin gallu" (we disagree about it). Each part needs to be taken
into account for the expression to make sense. To overcome such problems we used n-
grams as features in addition to single words. [15]. The detail architecture of the proposed
MNB is depicted in figure 11.

For both selected deep learning algorithms we used word embedding as a feature. One of
the important features of Word embedding is that it provides a dense representation of
words and their relative meanings. The word embeddings are very important in sentiment
analysis of social media texts where social media posts are usually very short, there’s a
lack of features for effective classification (Liu et al., 2018). Thus, word embedding models
can be used to learn different word usages in various contexts. To detect the sentiment
polarity from short texts, we need to explore deeper semantics of words using deep learning
methods. As addressed by the researcher (Tariku, 2017), there is an issue in the polarity of
opinion in their study. That means people express their opinion in a context-based or/and
indirect manner. They may use positive words to express their negative feeling or vice
versa. Thus it needs further research to make the system consider context-based or semantic
opinion mining. So to improve this problem we choose the word embedding in this study.
Word embeddings are an improvement over sparse representations used in a traditional bag
of word model representations. In this work Embedding layer is initialized with random
weights and will learn an embedding for all of the words in the training dataset .i.e. the
network learns a word embedding while fitting or while training a neural network by its
own. Most researchers (Kim Y. , 2014) and (Kalchbrenner, Grefenstette, & Blunsom,
2014) used pre-trained word embeddings such as word2vec and GloVe. For Afaan Oromoo
language there are no such resources.

14
https://en.wikibooks.org/wiki/Afaan_Oromo#contents

47
CNN uses filters or kernels to detect features. Convolution is one of the main principal
components of CNN. The term convolution signifies the mathematical combination of two
functions to yield a third function. It combines two sets of information and produces
another information. So convolution is applied to the input data with the help of a filter or
kernel and then produce a feature map. Accordingly in this thesis, we conducted our
experiment with different filters (1, 2, 3, 4, and 5) size with 64 filters.

3.2. Classifiers
3.2.1. Naïve Bayes Classifier

Naïve Bayes classifier is widely used in text classification domain and sentiment analysis
due to its simplicity and efficiency (Pang, Lee, & Vaithyanathan, 2002), (Medhat, Hassan,
& Korashy, Sentiment analysis algorithms and applications: A survey., 2014) , (Aggarwal
& Zhai, 2012), (Tang, et al., 2016) .

𝑃(𝑙𝑎𝑏𝑒𝑙) ∗ 𝑃(𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠|𝑙𝑎𝑏𝑒𝑙)
𝑃(𝑙𝑎𝑏𝑒𝑙|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) =
𝑃(𝑓𝑒𝑎𝑎𝑡𝑢𝑟𝑒𝑠)

Where 𝑃(𝑙𝑎𝑏𝑒𝑙|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) is the posterior probability of features belonging to a label


(positive or negative), 𝑃(𝑙𝑎𝑏𝑒𝑙) is the prior probability of a given label,
𝑃 (𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠|𝑙𝑎𝑏𝑒𝑙) is the conditional probability that the particular feature in features
appears given label, 𝑃 (𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) is the prior probability of the feature in features.

To illustrate the ‘naïve’ assumption that the features are independent of each other. That
gives the following:
𝑝(𝑙𝑎𝑏𝑒𝑙|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) ≈ 𝑝(𝑓1|𝑙𝑎𝑏𝑒𝑙) ∗ 𝑝(𝑓2|𝑙𝑎𝑏𝑒𝑙)𝑝(𝑓3|𝑙𝑎𝑏𝑒𝑙) ∗ … ∗ 𝑝(𝑓𝑛|𝑙𝑎𝑏𝑒𝑙)

= 𝑝(𝑓𝑖|𝑙𝑎𝑏𝑒𝑙)

𝑝(𝑙𝑎𝑏𝑒𝑙) ∗ ∏ 𝑝(𝑓𝑖|𝑙𝑎𝑏𝑒𝑙)
𝑝(𝑙𝑎𝑏𝑒𝑙|𝑓𝑒𝑎𝑡𝑢𝑟𝑒𝑠) =
𝑝(𝑓𝑒𝑎𝑎𝑡𝑢𝑟𝑒𝑠)

𝑓 =indicates an individual feature.

Although the Naïve Bayes model assumes that features are generated independently of
their positions, it still gives good results in real tasks. The main goal of the classification

48
is to define the label the feature belongs to. Therefore, we do not interested in finding the
probability itself, however, the most probable label has to be defined. Naïve Bayes
classifier uses the maximum a posteriori (MAP) estimation to define the most probable
label 𝑙𝑎𝑏𝑒𝑙𝑚𝑎𝑝, (Medhat, Hassan, & Korashy, Sentiment analysis algorithms and
applications: A survey., 2014), (Thakkar & Patel, 2015).
( )∗∏ ( | )
𝑙𝑎𝑏𝑒𝑙𝑚𝑎𝑝 =𝑎𝑟𝑔 max
∈ ( )

Since the Denominator is common it can be omitted and simplified as: Hence expression
for computing 𝑙𝑎𝑏𝑒𝑙𝑚𝑎𝑝 can be rewritten as:

𝑙𝑎𝑏𝑒𝑙𝑚𝑎𝑝 =𝑎𝑟𝑔 max 𝑃(𝑙𝑎𝑏𝑒𝑙) ∗ ∏ 𝑃(𝑓𝑖|𝑙𝑎𝑏𝑒𝑙)


𝑃 marked as 𝑃 because trthe ue values of the corresponding parameters will be estimated


from the training dataset.

In this thesis work Multinomial Naïve Bayes classifier is applied (features show how many
times each word occurs in the given dataset). As discussed earlier the multinomial Naive
Bayes classifier is well suit for classification with discrete features like text classification
task [16]. MultinomialNB utilizes the naive Bayes algorithm for multinomially dispersed
data and is one of the two typical naive Bayes variants used in text classification (where
the data are classically represented as word vector counts and although tf-idf vectors are
also known to work well in practice) [ 17]. The distribution is parameterized by vectors 𝜃 =
(𝜃 , … , 𝜃 ) for each class 𝑦, where n is the number of features this indicates in text
classification, the size of the vocabulary and 𝜃𝑦𝑖 is the probability 𝑃(𝑥 ∣ 𝑦) of feature 𝑖
appearing in a sample belonging to class 𝑦. Our training method consists of relative-
frequency estimation of P (label or class) and P (fi | class), using add-one smoothing which
is called Laplace smoothing.

16 https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.Multinomial
NB.html
17 https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.Multinomial

NB.html

49
The parameters 𝜃𝑦 is calculated by a smoothed version of maximum likelihood, i.e. relative
frequency counting:

𝜃𝑦𝑖=

Where 𝑁 = ∑ ∈ 𝑥𝑖 is the number of times feature 𝑖 appears in a sample of class y in the


training set T, and 𝑁 =∑ 𝑁 is the total count of all features for class y.

The smoothing priors 𝛼 ≥ 0 stands for features not present in the learning samples or in
our case vocabulary and prevents zero probabilities in further computations [18].
Accordingly in this thesis, we implemented our experiment by using a sklearn feature
extraction python library.

Figure 11 Architecture of MNB for Afaan Oromoo SA

3.2.2. Convolutional neural network (CNN)

In this work, we implemented a multi-channel convolutional neural network that performs


by using different kernel sizes. As the researcher (Kim Y. , 2014) the multichannel
convolutional neural network with multichannel architecture has more effective, especially
on small datasets. The researcher also argued that the multichannel paradigm may prevent

18
https://scikit-learn.org/stable/modules/naive_bayes.html

50
overfitting by guaranteeing that the learned vectors do not deviate too far from the original
values and hence more advantageous than the single-channel model. Despite the researcher
implemented on top of word2vec, we used the randomly initialize word embedding i.e. the
word embedding learned during training. The researcher also describes experimented with
static and dynamic (updated) embedding layers, instead, we focused only on the use of
different kernel sizes. A multi-channel convolutional neural network for text classification
involves using multiple versions of the standard model with different sized kernels. This
allows the document to be processed at different resolutions or different n-grams (groups
of words) at a time, whilst the model learns how to best integrate these interpretations.

In order to build CNN model for sentiment classification, each comment is broken into
sentences and, sentences are first tokenized into words, and represented as a matrix where

Figure 12 CNN architecture for AO SA

each row corresponds to words. That is each row is a vector that represents a word vectors
that index the word into a vocabulary. Let say S denote the length of the sentence and d be
the dimension of the word vector, therefore we now have the matrix with shape SXd. That
means the length of the sentence is S means the count of words in a sentence. Let say the
sentence has a total of 9 words, and let say the dimension of the word vector is 7, so we
have the matrix of shape 9x5. Now we replaced all words in the sentence replaced by a

51
fixed dimension of 7. Now we have a 7-dimensional word vector. The transformation input
is completed and represented as a high dimensional vector, the next step is to apply
convolutional filters. We have an Embedding matrix (i.e., input embedding layer) of d
dimension. The filter matches the word vector and varies the region size h. The region size
refers to the number of rows representing words in the sentence matrix that would be
filtered at a time. Then convolutional filters slide over full rows of input embedding layer
with different kernel sizes and perform element-wise dot product operations.

For example, we have the sentence: ‘Baayyee namatti tola ODP abdii fi kallacha qabsoo
oromoo!’

Let say the first convolution with filter size 2, considering two words, ‘baayyee’, ‘namatti’,
the filter represented by 2x7 since our word vector dimension is 7. The convolution
overlays across the vectors of ‘baayyee’ and ‘namatti’. Then it performs the element-wise
dot product operation for all 2x7 matrix elements, adds the result and produces a single
value number. For instance, 0.6x0.1+0.2x0.1+…w10*0.1=0.82. We assumed that the
weight is initialized randomly which is performed by the system. Now we got the value for
the first sequence for the first convolution. Again the convolution moves down one word
and overlays across the word vectors of the next words and performs the same operations
to get the next value.

So the output of the filter has the form s-h+1*1, in this case, 9-1+1*1=9 for the first
convolution. 9-2+1*1=8 for the second convolution and 9-3+1*1 =7 for the third
convolution with 3 filters which is illustrated in the architecture above.

The same operation is performed for each convolution for example for filter size 3, it
considers three words at a time and performs the above procedures. Finally, the result from
different convolutional channels is concatenated into a single dimension. Before going to
the fully connected layer, maximum pooling operation is performed to pick the maximum
features and finally fed to the fully connected layer for classification. In additions the detail
parameters used along with the CNN is described as the following:

To obtain the feature map c we add bias and apply activation function. The feature can be
mathematically represented as (Kim Y. , 2014):

52
𝑐 = 𝑓 (𝑤 ∗ 𝑠 : + 𝑏)

Filter weights are initialized randomly in the beginning and then attuned through the
training process. Where w is a vector of weights, “* “refers to the dot product, 𝑠 : is
a sliding window as illustrated in the above example, 𝑏 ∈ ℝ is a bias vector, and 𝑓 is a non-
linear activation function. At each convolutional channel, we apply nonlinear activation
function which is called ReLU (Moschitti, Severyn, & Alessandro, 2015) and (Kim Y. ,
2014), (Jumayl, Robert, & Lu, 2019). Rectifier linear unit or ReLU is the most widely used
nonlinear activation function on CNN. The task of RELU is to avoid negative value.ie.it
maps the negative value to zero and returns if the result is positive. ReLU allows producing
a non-linear decision boundary. So it can be written as:

𝑓(𝑥) = 𝑚𝑎𝑥 (0, 𝑥)

It returns x if the value is positive and returns zero if the result is negative.

The filter is employed to each sequence of words in the sentence that corresponds to the
filter size {𝑠 : , 𝑠 : ,… 𝑠 : to generate a feature map (Kim Y. , 2014):

𝑐 (𝑤) = [𝑐 , 𝑐 , … , 𝑐 ]

Pooling layer: In this work max-pooling operation is used as it is extensively used by many
researchers the most widely used pooling mechanism. In one thing it allows reducing the
size of the feature map as it combines the vectors resulting from the different convolutional
windows into a single l-dimensional vector and at the same time preserving the most
relevant feature. Pooling greatly affects the performance of CNN. The pooling operation
is used to ideally this vector will capture the most relevant features of the sentence.

𝑐̂ = 𝑚𝑎𝑥 {𝑐 (𝑤)}

Such operation provides a single feature 𝑐̂ for the feature map produced by the particular
kernel w. the other technique is flattening. Flattening mechanism is added to convert the
pooled result in to one dimension or single dimension before going to fully connected of
the output layer.

53
Fully connected layer: After max-pooling is performed, the concatenated feature vector
is fed into a fully connected layer. At this layer, the classification result output is produced.
Since our work is a binary classification task, we used sigmoid (Jumayl, Robert, & Lu,
2019) as the activation function and binary cross-entropy as our loss function. Because the
Softmax function is used in multiclass classification, whereas sigmoid function is used in
binary classification.

Dropout: Dropout is a technique where randomly selected neurons are ignored during
training. They are “dropped-out” randomly (Kim Y. , 2014). This technique is used for
preventing the network from overfitting. We used the dropout at every convolutional
channel to avoid bias. At the fully connected layer also we used dropout, with parameter
0.1, which means 10% of unnecessary neurons are dropped.

Training the network: Training is usually performed using a stochastic gradient descent
by randomly selecting some samples from the dataset. Dropout ensures regularization and
applied before a fully connected layer. The dropout method assumes that only on the
training stage some portion of neurons is removed (dropout rate is set to 0.) that prevents
co-adaptation of neurons and leads to learning more robust features and makes model
generalize new data well (Srivastava et al., 2014).

Training of the CNN assumes the fine-tuning of the network parameters. This tuning
process called backpropagation error. Backpropagation will be applied to compute the
gradient of the error function with respect to the filter weights. Adam algorithm (Kingma
& Ba, 2014) that is a stochastic gradient descent algorithm is used for optimizing
parameters of CNN (updating weights).

3.2.3. Long Short Term memory

The main intuition of the LSTM network is that it has the mechanism of long-term memory
and accordingly is proficient in handling long-term dependencies.

LSTM has a special structure called cell blocks. These cells are composed of an input gate,
the forget gate and the output gate.

54
Figure 13 LSTM Network

3.2.3.1. Forget Gate

𝑓 = 𝜎 𝑊 . [𝑋 , ℎ − 1] + 𝑏 , … … … … . . (1)

The forget gate is used to forget the unnecessary information. It has a sigmoid layer that
takes the previous output at ℎ and the current input at a time 𝑥 and outputs the value
between 0 and 1.

The main objective of this task is to determine the extent to which a value or information
is thrown away or remain in the cell. This can be done by the value form the current input
at time 𝑡 and the value from the previous hidden state at time 𝑡 − 1 are combined in to a
single tensor. Then passes through the neural network sigmoid function for transformation.
The value from the sigmoid function is squishing between zero and one (0 and 1) because
of the sigmoid. After multiplying the number with the internal state, the information to be
forgotten or kept in to the cell is determined by, the value which is closer to zero is forgotten
and the value which is closer to one is kept in the cell.

𝑖𝑓 𝑓 =0, the previous internal state is totally forgotten

𝑒𝑙𝑠𝑒 𝑖𝑓 𝑓 =1 will be passed unaltered.

3.2.3.2. Input Gate

𝑖 = 𝜎(𝑊 . [ℎ − 1, 𝑋 ] + 𝑏 ) … … … … (2)

The task of the input gate is to decide the extent of new input or value that will be flown
into the cell. I other words it determines which of the new input will be updated or ignored.

55
This can be done by receiving the new input and the previously hidden state output passed
to another sigmoid layer. Again the output value from the sigmoid is between zero and one
due to sigmoid. So the output of the input gate then multiplied with the output of the
candidate layer as the following:

𝐶 = 𝑡𝑎𝑛ℎ(𝑊 . [ℎ − 1, 𝑋 ] + 𝑏 ) … . . (3)
The candidate vector 𝐶 is created by neural network hyperbolic tangent (Tanh) and is
added to the internal state.
Now old cell state 𝐶 is updated into new cell state 𝐶 via the following rule:
𝐶 = 𝑓 ∗ 𝐶 − 1 + 𝑖 ∗ 𝐶 … … … … … … … (4)

As we can see from the formula, to obtain the new cell 𝐶 the old state is multiplied by 𝑓𝑡,
forgetting the value we decided to forget earlier. Then we add the product of𝑖 ∗ 𝐶 . This
is the new candidate values, mounted by how much we decided to update each state value.

3.2.3.3. Output Gate

𝑂 = 𝜎(𝑊 . [ℎ − 1, 𝑋 ] + 𝑏 ) … … … . (5)

ℎ = 𝑂 ∗ 𝑡𝑎𝑛ℎ(𝐶 ) … … … … … … … … … … … … . . (6)

The output gate computes what part of the cell is used to compute the output activation
function of LSTM and which parts of the cells going to output. This can be done by the
cell state is pass through the 𝑡𝑎𝑛ℎ function this squishes the value between -1 and 1. And
then multiply it by the output of sigmoid function or gate. By this method, we get the output
we need. When relating to our work, it decides whether the polarity is positive or negative.

Our model composed of two hidden layers or with two LSTM layers with 256 memory
units each. This makes the model a deeper more accurate prediction. The same to CNN,
we used the embedding layer for LSTM. As mentioned earlier Word embeddings facilitate
learned word representations. As reported by many researchers word embedding is has
many advantages in extracting idioms and sarcasm complex language features which have
been an issue in previous researches (Joshi et al., 2016). The same step as the CNN, after
preprocessing and padding is performed and represented in matrix form, this matrix was
finally fed as input to the LSTM layer. Then the output of the first LSTM is input to the
next LSTM layer. The first LSTM layer provides a sequence output rather than a single

56
value output to the next LSTM layer. That means it provides one output per input time
step rather than one output time step for all input time steps. This adds levels of abstraction
of input observations over time and representing the problem at different time scales. This
approach possibly lets the hidden state at each level to operate at different timescale.

So the additional hidden layers assumed to recombine the learned representation from prior
layers and build new representations at high levels of abstraction. The sigmoid function is
employed the same with CNN since our work is a binary classification. Dropout
regularization is also used as described in the above section to avoid co-adoption and to
avoid overfitting. The detail of the network parameter and configuration described in
chapter four.

The overview of the proposed architecture of LSTM is depicted in figure 14 below, each
comment with different lengths need to have the same length, so the shorter comments are
padded with to have an equal size with the longer sentences. The maximum length of the
reviews in our dataset is 1344. So, by adding zero to any reviews less than 1344, we make
the reviews have equal length. So, there are 1344 time steps in the model for each word
and accordingly, each word of the review is being fed to the model at each time step. This
further passed to the word embeddings, the word embedding in a case is the dense
representation of words, where words with a similar meaning are close to the vector space.
By this method, the model learns the relevant feature representation by itself.

Figure 14 proposed LSTM architecture for AO SA

57
The input to the model is a text of fixed length words, where each word is encoded to
integers. So we have 1344 time steps, at each time step one word is fed to the model. The
word is further entered into the embedding layer with one neuron, in this layer the word is
transformed into a real-valued vector of length 256. In this way, 256 features are created.
Next, an LSTM layer with 256 neurons is added to the network, each of the features is
multiplied by weight for each LSTM cell, where each LSTM cell contains four gates
discussed in the above section. Next to the 256 features, the output of the previous time
step is also used as an input for the LSTM cells. The LSTM enhances recurrent connections
to each other and predicts the series of words in the records. The final layer is the output
layer with two neurons. Here the weighted sum of the 256 outputs of the LSTM layer is
taken and a sigmoid activation is added and performs the dot product between features and
the weight matrix 𝑤 used to predict the value between 0 and 1 for the two class.

3.3. Development tools


The development we used is the Windows environment and the programming language we
used is Anaconda Python 3.7.3. Python is a dynamic programming language that is used in
a wide variety of application domains. It is simple, strong, involves the natural expression
of procedural code, modular, dynamic data types, and embeddable within applications as a
scripting interface (Jumayl, Robert, & Lu, 2019). We used Keras with the TensorFlow back
end library in python for implementation.

58
Chapter four
Results and Discussion

This chapter introduces the results obtained when conducting an experiment by using the
three classifiers namely, CNN, LSTM and Naïve Bayes (MNB). The naive Bayes
algorithm implemented using the sci-kit-learn library in python and CNN and LSTM
implemented using Keras deep learning library in python. We used evaluation metrics
(precision, recall, accuracy and f1 score) to evaluate the performance of the classifier on
proposed work.

𝑇𝑃 + 𝑇𝑁
𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁

TP is the number of true positives: the reviews/comments that are actually positive and
estimated as positive.

TN is the number of true negatives: the reviews/comments that are actually negative and
estimated as negative,
FP is the number of false positives: the reviews/comments that are actually negative but
estimated as positive,
FN is the number of false negatives: the reviews/comments that are actually positive but
estimated as negative.

A Precision can be estimated using the following formula (Jumayl, Robert, & Lu, 2019):

𝑇𝑃
𝑝𝑟𝑒𝑐𝑖𝑠𝑜𝑛 =
𝑇𝑃 + 𝐹𝑃

Precision shows how many positive reviews received from the classifier are correct. The
greater precision the fewer number of false hits. However, precision does not show whether
all the correct answers are returned by the classifier. In order to take into account the latter
recall will be used (Jumayl, Robert, & Lu, 2019):
𝑇𝑃
𝑟𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃 + 𝐹𝑁

59
Recall shows the ability of the classifier to “guess” as many correct answers, (reviews
with correct labels) as possible out of the expected.

The more precision and recall the better. However, simultaneous achievement of high
precision and recall is almost impossible in real life that is why the balance between two
metrics has to be found. 𝐹1 score is a harmonic mean of precision and recall (Jumayl,
Robert, & Lu, 2019):

2 ∗ 𝑝𝑟𝑒𝑒𝑐𝑖𝑠𝑜𝑖𝑛 ∗ 𝑟𝑒𝑐𝑎𝑙𝑙
𝑓 =
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙

In addition to precision, accuracy, and f1score, the neural network is measured by the
average loss and accuracy. The loss is calculated on training and validation and its
interoperation is how well the model is doing for these two sets. It is a summation of the
errors made for each example in training or validation sets. The lowest loss is the best
model.

4.1.1. Multinomial Naïve Bayes

After preprocessing of text reviews, it is required to convert to a numeric vector matrix.


We used TF-IDF Vectorizer to perform this. This is performed by using sckit-learn python
class. TF-IDF is word frequency scores that try to suggests words that are more interesting,
e.g. frequent in a document but not across documents. The TfidfVectorizer tokenize
comments with different n-gram, learn the vocabulary and inverse document frequency
weightings. After this step is completed different experiment is performed using unigram
bigram, trigram, and their combination.

The confusion matrix and various evaluation parameters such as precision, recall, f-
measure, and accuracy values obtained after classification using Multinomial Naïve Bayes
n-gram techniques are shown in the classification report below. It can be analyzed that the
accuracy value obtained using the hybrid of unigram+bigram, unigram+trigram is better
than the value obtained using techniques such as bigram and trigram. NB method is a
probabilistic method, where the features are independent of each other. Hence, when the
analysis is carried out using unigram and the combination (unigram and bigram) or
(unigram and trigram), the accuracy value obtained is comparatively better than that

60
obtained using bigram and trigram. The accuracy obtained by using the trigram technique
is the lowest accuracy. However, it is possible to extract the most informative phrases from
the text. For example: ‘isin wajjiin jirra’, ‘baayyee namatti toltu”, ‘wow namatti tola’ these
like phrases can be extracted by using trigram technique. Using only the trigram techniques
decreases the accuracy because trigram is being considered for analysis of features, words
are repeated a number of times; thus, it affects the probability of the document. For
example: ‘hamaa keessan dhagahuu hin barbaadu’, when this phrase tokenized into
trigram, ‘hamaa keessan dhagahuu’, ‘keessan dhagahuu hin’, ‘dhagahuu hin barbaadu’,
‘dhagahuu hin barbaadu’ shows negative polarity, whereas the text or sentence represents
positive sentiment. That is why the accuracy of the trigram is decreased than the others. So
this experiment reveals that using the hybrid of unigram and trigram is the best technique
for Afaan Oromoo sentiment analysis. When the hybrid of trigram and unigram is used,
the unigram techniques extract individual word feature and the trigram technique extracts
informative phrases in the text.

4.1.1. Multinomial Naïve Bayes classifier Report

Figure 15 Results from MNB using unigram and TF-IDF extraction

61
Figure 16 Results from MNB using a combination of unigram and bigram with TF-IDF extraction

Figure 17 Results from MNB using unigram and trigram with TF-IDF extraction

62
Figure 18 Results from MNB using Bigram and TF-IDF extraction

Figure 19 Results from MNB using Bigram and trigram with TF-IDF extraction

63
Figure 20 Results from MNB using Trigram and TF-IDF extraction

Comparsion of MNB with different unigram


100
90
80
70
60
50
40
30
20
10
0

Figure 21 comparison of the MNB with different n-gram techniques

64
4.1.2. Results of the neural networks
To perform classification, we used Tokenizer from Keras preprocessing python library.
The Tokenizer performs the Vectorization of a text corpus into a list of integers. So each
integer maps to a value in a dictionary that translates the entire corpus, with the keys in the
dictionary being the vocabulary terms themselves. We choose Tokenizer because of many
reasons, that we can add the parameter num_words, which is accountable for setting the
size of the vocabulary i.e. the most common num_words will be then kept. Moreover, we
have comments in which each text sequence has a different length of words. To tackle this,
Keras has a pad_sequence() option which simply pads the sequence of words with zeroes.

The results of CNN and LSTM described in the section below:


4.1.2.1. Convolutional Neural Network

We got the architecture of the network configuration through try and error and fine-tuning
process. The model we proposed using CNN performed well despite our dataset is small.
We applied a maximum dropout (0.1). This is a help to remove unnecessary biases from
the network. The optimal parameter network architecture is obtained through fine-tuning.
After many searches of efforts, we found that the following network configurations
perform good results. The following table 4 shows the CNN network configuration and the
two figures fig 22 and 23 show how accuracy increases and the loss decreases with
parameters defined.
Hyperparameter training parameters
Embedding dimension 10
Convolutional filers(kernel size) 1,3,4,5

dropout 0.1, at fully connected layer


Pooling Max-pooling
Number of filters 64
epochs 10
Learning rate Default(0.001), beta_1=0.9, beta_2=0.999

Batch size 32
Table 5 CNN configuration for AO SA

65
Figure 22 model accuracy of CNN

Figure 23 model loss of CNN

66
The confusion matrix of the system is illustrated in the table below.

True Positive 127


False Positive 13
True Negative 132
False Negative 19
As we can understand from the table, from the 145positive reviews, the system correctly
classifies 127 and 19 reviews are misclassified. And, from 146 negative reviews, 13 are
misclassified and 132 are correctly classified. The precision and recall of the system
illustrated in the table below:

class Positive Negative


precision 0.90 0.86
recall 0.87 0.91

Accordingly, the proposed system by CNN achieved an accuracy of 89% and f1 score of
87%.

One of the strengths of the model is its capability to handle the contextually of the words.
As mentioned earlier, social media texts luck contextually and it is difficult to deal with it
by using the traditional methods. Our proposed model overcomes this problem using deep
learning model. This approach learns and extracts features by using different kernels at the
same time.

67
4.1.2.2. Long-short Term Memory

Our LSTM model achieved an accuracy of 87.6% and f1 score 87.7% based on the
architecture given in the table below. We investigated the following network architecture
for LSTM.

Hyper parameter training parameters


Embedding dimension 256
dropout 0.3 , recurrent dropout =0.2
Memory unit 250 for both LSTM layers
epochs 10
Learning rate Default(0.001), beta_1=0.9, beta_2=0.999

Batch size 20
Table 6 LSTM network configuration for AO SA

Figure 24 model accuracy with epochs for LSTM

68
Figure 25 model loss of LSTM in each epoch

The two figures above, fig 24 and 25 show how accuracy increases and average loss decreseases
with the defined architecture.

The performance of the LSTM classifier is given in the table below after training and
testing with the network configuration discussed above.

True Positive 127


False Positive 18
True Negative 128
False Negative 18
Table 7 the confusion matrix of LSTM

Class Positive Negative


precision 0.876 0.88
recall 0.876 0.88
Table 8 precision and recall performance metrics of the LSTM

The two tables show the precision, recall, and the confusion matrix or the number of true
positive, true negative and false positive and false negative of the LSTM classifier.

69
In general, the NB performs well in the condition when words appearing in a text with the
probability of that text being about a certain topic. In addition Simple and need less
computational resources as compared to neural networks. Nonetheless, in most cases only
considering the probability of the word is not enough to predict the sentiment. So it
contributes less especially, when dealing with complex sentiment expressions because the
probability of the word is not more enough to determine the sentiment. CNN can abele to
handle the longer dependency of the words through different convolutional filters. When
the context of the word is used to determine the polarity of the text rather than the
probability of the occurrence of the word both CNN and LSTM are the best approaches. In
addition, the two deep learning (CNN and LSTM) requires no special feature selection
methods, since they discover and learn the relevant features from the text.

The LSTM by its nature has the capability to hold relevant information to the task at hand.
This makes it better for text classification and sentiment analysis tasks. But relatively
slower computational time than CNN. In general, both LSTM and CNN can handle
complex sentiment expression than NB.

Comparison og the Three Algorithms


93
92
91
90
89
88
87
86
85
MNB LSTM CNN

Figure 26 Comparison of the Three Algorithms

In this study, the Multinomial Naïve Bayes with Unigram+bigram and TF-IDF outperforms
the other two CNN and LSTM. This is because our data is small, and both LSTM and CNN
need huge data to learn the important features from the data and perform well. Whereas,
MNB can achieve good results even with small datasets.

70
Chapter Five
Conclusions and recommendation
The rapid development of social media networks like Facebook, twitter, etc. provides a
variety of benefits, in facilitating the way people share their opinion and increase the speed
of public comments. Due to this, companies and governments receive high volumes of
electronic comments every day. Identifying the polarity of the comments may be valuable
input for decision making. Though, a large number of reviews make it difficult for a
company or any institutions to react to the opinions rapidly and take appropriate decisions.
Therefore, sentiment Analysis has become a major area of research interest in the field of
Natural Language Processing and Text Mining to overcome these problems. The sentiment
analysis task is under research since the early 2000s. Nevertheless, it is a new area and at
an initial state in Afaan Oromoo.

The main drawback of the lexicon-based approach is the inability to detect sentiment words
with domain and context specific polarity orientations. In addition, the performance of
lexicon-based methods in terms of time complexity and accuracy heavily depends on the
number of words in the dictionary, that is, performance decreases significantly with the
exponential growth of the dictionary size. Hence, According to the literature review, it was
found that the majority of sentiment analysis approaches rely on supervised machine-
learning methods. Therefore, it was decided to study Naïve Bayes, Long Short Term
Memory and Convolutional neural network approaches as far as these methods are state of
the art among researchers and they provide meaningful results.

We studied three methods, first Multinomial Naïve Bayes that use Term frequency and
inverse document frequency representation and n-gram features for training the classifier.
Secondly, Long Short Term Memory deep learning method that uses word embeddings and
two different hidden layers to further make precise the polarity of the reviews/comments.
Thirdly Convolutional Neural Network deep learning technology that uses word
embeddings and applies different convolutional filters and extracts sentiment of the text is
studied. Therefore, we aimed to perform experiments and investigate the performance of

71
three different algorithms detecting positive and negative comments. Furthermore, the
algorithm which gives the best results is defined.

The experimental results show that our proposed CNN performed an accuracy of 89%. The
MNB performs an accuracy 93% with unigram-bigram and TF-IDF. Whereas, the LSTM
achieved an accuracy of 87.6%.
In general, in this study shows that LSTM performs slightly less than CNN and MNB. The
MNB outperforms both CNN and LSTM, and it is simple and demands fewer resources
than both CNN and LSTM. CNN is relatively faster than LSTM and is capable of handling
longer text and context of words as LSTM. But, both requires solid computational
resources and large amount of training sample.
The system can deal with lengthy comments, as the lengthy comments were a challenge to
classify as it was common to find a contradiction in the sentiment expressed and longer
expression depends on the meaning of its predecessors. The two deep learning approaches
are good at handling indirect comments, but the MNB machine learning approach still has
challenge with indirect comments.
The general limitation of the study is that, Social media is an informal means of
communication that includes considerable use of slang, malformed words, and colloquial
expressions. So, our system fails with sarcasm detection in some cases.
Based on our work we provided several feature directions:
 Online texts, especially social media networks like facebook may contain a lot of
spelling mistakes, so spelling corrector can be applied to exclude errors.
 We focused on texts, Emoticons and emoji expressions that carry laugh, sad, angry,
and happy, love, etc. need to be included and labeled whether emoticon, emoji
expression refers to a positive or negative meaning.
 The neural networks LSTM and CNN requires huge data to perform good results.
Hence, it is necessary to have a well prepared standard corpus.
 The LSTM and CNN may have a good performance with pre-trained word
embeddings (trained on a sufficiently large corpus). Therefore, preparing and trying
with pre-trained word embeddings.
 This study considers the review level or document-level sentiment analysis. Others
like sentence level can be considered.

72
 we considered only the binary sentiment classification, in the future multi-scale or
multi-class also needs to be considered
 We focused on facebook domain, so different social media networks like twitter,
YouTube, etc. also need to be targeted in the future.
 Testing these algorithms on different datasets and evaluate their results.
 Further, fake reviews may lead to wrong decision making as Opinions from social
media are increasingly used by individuals and organizations for making purchase
decisions and making choices at elections and for marketing and product design, so
opinion spam detection is another future work.

73
References

Abate, J. (2019). Unsupervised Opinion Mining Approach for Afaan Oromoo Sentiments,
Haramaya University, 2019.

Abreham, G. (2014). OPINION MINING FROM AMHARIC ENTERTAINMENT TEXTS. OPINION


MINING FROM AMHARIC ENTERTAINMENT TEXTS," Addis Abeba Universty, Addis Abeba,
2014. Addis Abeba, Ethiopia: Addis Abeba Universty.

Aggarwal, C. C., & Zhai, C. (2012). A survey of text classification algorithms. USA: Springer US.

Alec, Bhayani, & Huang. (2009). Twitter Sentiment Classification using Distant Supervision.
Stanford.

Alemu, A. (2018). DEEP LEARNING APPROACH FOR AMHARIC SENTIMENT ANALYSIS UNIVERSITY
OF GONDAR.

André Luiz da Costa Carvalho1, E. S. (2010). Using Statistical Features to Find Phrasal Terms in
Text Collections. Journal of Information and Data Management, Vol. 1, No. 3,, 583–597.

Artur Kulmizev, Bo Blankers, Johannes Bjerva, Malvina Nissim, Gertjan van Noord, Barbara
Plank, Martijn Wieling. (2017). The Power of Character N-grams in Native Language
Identification. Proceedings of the 12th Workshop on Innovative Use of NLP for Building
Educational Applications. Copenhagen, Denmark.

Bakliwal et al. (2013). Sentiment Analysis of Political Tweets. Towards an Accurate Classifier,
Proceedings of the Workshop on Language in Social Media (LASM 2013, Atlanta,
Georgia.

Bakliwal, A., Foster, J., Puil, J. v., O’Brien, R., Tounsi, L., & Hughes, M. (2013). Sentiment Analysis
of Political Tweets. Towards an Accurate Classifier, Proceedings of the Workshop on
Language in Social Media (LASM 2013, Atlanta, Georgia.

Bibi, & Bahria. (n.d.). Sentiment Analysis at Document Level, University Islamabad, Pakistan.
ResearchGate.

Bing, L., & Hu. (2004). Mining and Summarizing Customer Reviews. Washington, USA.: ACM.

Britz, D. (2017, 05 05). Recurrent Neural Networks Tutorial, Part 1–Introduction to RNNs.
Retrieved 02 24, 2019, from http://www.wildml.com/2015/09/recurrent-neural-
networks-tutorial-part-1-introduction-to-rnns/

74
Cesnsus. (2007). Census report of Ethipia. Ethiopia: http://ethiopolitics.com/news.

Chandrasekaran, Vinodhini and R. (2012). Sentiment analysis and Opinion Mining:A survey.
International Journal of Advanced Resarch in Computer Science and Software
Engineering,, vol. 2, no. 6, pp 1-11.

Chiavetta et al. (2016). A Lexicon-based Approach for Sentiment Classification of Amazon Books
Reviews in Italian Language.

Deriu, J., Lucchi, A., De Luca, V., Severyn, A., Müller, S., Cieliebak, M., . . . Jaggi, M. (2017).
Leveraging large amounts of weakly supervised data for multi-language sentiment
classification. In Proceedings of the 26th International Conference on World Wide Web,
3–7 April 2017; pp. 1045–1052. Perth, Australia.

Ding, L., & Philip. (2008). A Holistic Lexicon-Based Approach to Opinion Mining. In Proceedings of
the 2008 international conference on web search and data mining. California, USA.

Dollarhide, M. (2019, May 2). InvestoPedia. (MAYA DOLLARHIDE) Retrieved October 25, 2019,
from https://www.investopedia.com/terms/s/social-media.asp

Dong, L., Wei, F., Tan, C., Tang, D., Zhou, M., & Xu, K. (2014). Adaptive recursive neuralnetwork
for target-dependent twitter sentiment classification. In Proceedings of the 52nd Annual
Meeting of the Association for Computational Linguistics (Volume 2: Short Papers),
Baltimore, Maryland, USA, 23–25 June 2014; Volume 2, pp. 49–54. Maryland.

Dong, Z., Dong, Q., & Hao, C. (2010). HowNet and Its Computation of Meaning. In Proceedings of
the 23rd International Conference on Computational Linguistics. Beijing.

Esteban, O.-O. (2019, September 18). Our Wolrd in Data. Retrieved October 25, 2019, from
https://ourworldindata.org/rise-of-social-media

Gautam, & Yadav. (2014). Sentiment analysis of twitter data using machine learning approaches
and semantic analysis. Contemporary computing (IC3), 2014 seventh international
conference. IEE.

Gebremeskel, S. (2010). Sentiment Mining Model for Opinionated Amharic Texts. Unpublished
Masters Thesis. Addis Ababa, Addis Ababa , Ethiopia: Addis Ababa University.

Gemechu, A. D. (2009). Automatic classification of Afaan Oromo news text. Addis Ababa : Addis
Ababa University.

George and Joseph. (2014). Text Classification by Augmenting Bag of Words (BOW)
Representation with Co-occurrence Feature. IOSR Journal of Computer Engineering
(IOSR-JCE), e-ISSN: 2278-0661, p- ISSN, Volume 16(Issue 1), PP 34-38.

75
Goodfellow, Bengio, & Courville. (2014). Deep Learning. Unpublished,
https://github.com/janishar/mit-deep-learning-book-pdf/blob/master/complete-book-
pdf/deeplearningbook.pdf.

Hailong Zhang, W. G. (2014). Machine Learning and Lexicon based Methods for Sentiment
Classification. IEE Web Information System and Application Conference.

Hailong, Wenyan, & Bo. (2014). Machine learning and lexicon based methods for sentiment
classification: A survey. In Web Information System and Application Conference (WISA),
2014 11th, IEEE., 262-265.

Hatzivassiloglou, V., K., M., & R. (1997). Predicting the Semantic Orientation of Adjectives. In
Software Engineering Research, Management and Applications (SERA), 2016 IEEE 14th
International Conference on (pp. 39-44). IEEE.

Huang, M., Cao, Y., & Dong, C. (2016). Modeling rich contexts for sentiment classification with
lstm. arXiv 2016, arXiv:1605.01478.

Huq, M. R., Ali, A., & Rahman, A. (2017). Sentiment Analysis on Twitter Data using KNN and
SVM. (IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No. 6.

Jemal, A. (2019). Unsupervised Opinion Mining Approach for Afaan Oromoo Sentiments.

Joshi et al. (2016). How do cultural differences impact the quality of sarcasm annotation. 10th
SIGHUM Workshop Lang. Technol. Cultural Heritage, Social Sci., Hum.

Juliane. (2014). A Comparative evaluation of sentiment analysis Techniques on Facebook data


using three machine Learning algorithms: Naïve Bayes, Maximum Entropy and Support
Vector machines. NAIROBI., Kenya, Nairobi, Kenya: Unpublished.

Jumayl, Robert, & Lu. (2019). Multi-ChannelConvolutionalNeuralNetworkfor Twitter Emotion


and Sentiment Recognition. Proceedings of NAACL-HLT. Proceedings of NAACL-HLT.

Kalchbrenner, N., Grefenstette, E., & Blunsom. (2014). A Convolutional Neural Network for
Modelling Sentences. arXiv:1404.2188v1 [cs.CL].

Kim, S. M. (2004). Determining the sentiment of opinions. In Proceedings of the 20th


international conference on Computational Linguistics (p. 1367). Association for
Computational Linguistics.

Kim, Y. (2014). Convolutional neural networks for sentence classification. Proceedings of the
2014 Conference on Empirical Methods in Natural Language Processing. arXiv preprint
arXiv:1408.5882.

76
Kingma, D., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint
arXiv:1412.6980.

Lin, P. (2012). Sentiment Analysis in Chinese. Brandeis University.

Liu et al. (2018). LSTM Approach to Short Text Sentiment Classification with word embeddings.
Conference on Computational Linguistics and Speech Processing , The Association for
Computational Linguistics and Chinese Language Processing, (pp. 214-223). Beijing.

Liu, B. (2012). Sentiment Analysis and Opinion Mining. Morgan Claypool Publishers.

Liu, B. (2012). Sentiment analysis and opinion mining. Synthesis lectures on human language
technologies. Morgan& Claypool Publishers.

Liu, P., Qiu, X., & Huang. (2016). Recurrent neural network for text classification with multi-task
learning. arXiv preprint arXiv:1605.05101.

Lopez and Kalita. (2017). Deep Learning applied to NLP. arXiv:1703.03091v1 [cs.CL].

Ludovici, M. ( 2016 ). Swedish Sentiment Analysis with SVM and handlers for language specific
traits. StockHolm University.

MALIK KHIZAR HAYAT 1, A. D. (2019). Towards Deep Learning Prospects: Insights for Social
Media Analytics. Toward DL Prospects: Insights for SMA, 7, 2019.

Mamo, G. (2010). part-of-speech tagging for Afaan Oromo language.

MarioAndrésParedes-Valverde, 1. R.-P.-Z.-G. (2017). Sentiment Analysis in Spanish for


Improvement of Products and Services: A Deep Learning Approach. Scientific
Programming, Hindawi, 2017, 6.

Martin, Jurafsky, D., & H., J. (2018). Speech and Language Processing. In Speech and Language
Processing (p. 21).

Medhat, W., Hassan, A., & Korashy, H. (2014). Sentiment analysis algorithms and applications: A
survey. Ain Shams Engineering Journal, 5, 093-1113.

Medhat, W., Hassan, A., & Korashy, H. (2014). Sentiment analysis algorithms and applications: A
survey. Ain Shams Engineering Journal, 5, 093-1113.

Mengistu, B. (2013). Sentiment Analysis for Amharic opinionated text. Addis Ababa: Ababa
university.

Miedema, F. (2018). Sentiment Analysis with Long Short-Term Memory networks.

Miller, G. A. (1995). WordNet: A Lexical Database for English . ACM.

77
Moschitti, Severyn and Alessandro. (2015). Twitter Sentiment Analysis with Deep Convolutional
Neural Networks. Proceedings of the 38th International ACM SIGIR Conference on
Research and Development in Information Retrieval.

Moschitti, Severyn, A., & Alessandro. (2015). Twitter Sentiment Analysis with Deep
Convolutional Neural Networks. Proceedings of the 38th International ACM SIGIR
Conference on Research and Development in Information Retrieval.

Mossie et al. (2018). Social network hate speech detection for Amharic language. international
journal of Computer Science and IT, pp. 41–55.

Nal et al. (2014). A convolutional neural network for modelling sentences. arXiv 2014,
arXiv:1404.2188.

Nissim, V. B. (2013). Sentiment analysis on Italian tweets. Proceedings of the 4th Workshop on
Computational Approaches to Subjectivity, Sentiment and Social Media Analysis, pages
100–107.

OlhaShepelenko. (2017). Opinion Mining and Sentiment Analysis using Bayesian and Neural
Networks Approaches. Tartu: University Of Tartu.

Oman, S. (2016). Social Media in. New Zealand.

Ouyang, X., Zhou, P., Li, C., & Liu, L. (2015). Sentiment Analysis Using Convolutional Neural
Network. IEEE International Conference on Computer and Information Technology;
Ubiquitous Computing and Communications; Dependable, Autonomic and Secure
Computing; Pervasive Intelligence and Computing.

Pang, B., Lee, L., & Vaithyanathan, S. (2002). Thumbs up? Sentiment Classification using Machine
Learning Techniques. Proceedings of the Conference on Empirical Methods in Natural
Language Processing. Association for Computational Linguistics., (pp. 79-86).

Park, S. &. (2016). Building Thesaurus Lexicon using Dictionary-Based Approach for Sentiment
Classification. In Software Engineering Research, Management and Applications (SERA),
2016 IEEE 14th International Conference on (pp. 39-44). IEEE.

Pérez-Rosas, V. &. (2012). Learning Sentiment Lexicons in Spanish. Proceedings of the 8th
International Conference on Language Resources and Evaluation. Not Mentioned.

Philemon, W., & Mulugeta, W. (2014). A Machine Learning Approach to Multi-Scale Sentiment
Analysis of Amharic Online Posts. HiLCoE Journal of Computer Science and Technology,
No. 2, Vol. 2, 87.

Popescu and Etzioni. (2005). Extracting product features and opinions from reviews. In
Proceedings of the conference on Human Language Technology and Empirical Methods
in Natural Language Processin.

78
Qian, Q., Huang, M., Lei, J., & Zhu, X. (n.d.). Linguistically regularized lstms for sentiment
classification. arXiv 2016, arXiv:1611.03949.

Rios, A., & Kavuluru. (2015). Convolutional neural networks for biomedical text classification:
Application in indexing biomedical articles. In Proceedings of the 6th ACM Conference on
Bioinformatics, Computational Biology and Health Informatics, Atlanta, Georgia. Atlanta,
Georgia.

Sarawgi, & Vandana. (2017). Opinion Mining: Aspect Level Sentiment Analysis using
SentiWordNet and Amazon Web Services,. International Journal of Computer
Applications (0975 – 8887) Volume 158 – No 6., 158.

Selama, G. (2010). Sentiment Mining Model for Opinionated Amharic Texts. Master
Thesis,,Sentiment Mining Model for Opinionated Amharic Texts," Addis Ababa
University, Addis Ababa,Ethiopia, 2010. Addis Ababa , Addis Ababa , Ethiopia: Addis
Ababa University.

Severyn, Moschitti, & Unitn. (2015). Training deep convolutional neural network for twitter
sentiment classification. In Proceedings of the 9th International Workshop On Semantic
Evaluation (SemEval 2015), Denver, Colorado, 4–5 June 2015; pp. 464–469. Denver,
Colorado.

Shen, Y., Xiaodong, H., Gao, J., Deng, L., & Mensnil, G. (n.d.). Learning Semantic Representations
Using Convolutional Neural Networks for Web Search. In Proceedings of the 23rd
International Conference on World Wide Web, Seoul, Korea, 7–11 April 2014; pp. 373–
374. 2014.

Shoukry, A. M. (2013). ARABIC SENTENCE LEVEL SENTIMENT ANALYSIS. Cairo : Unpublished,


project thesis, The American University in Cairo School of Science and Engineering.

Shoushan, L., Sophia, Y., Lee, M., Chen, Y., Huang, C.-R., & Zhou, G. (2010). Sentiment
Classification and Polarity Shifting. Proceedings of the 23rd International Conference on
Computational Linguistics (Coling 2010), pages 635–643, Beijing. Beijing.

Song, Zhou, H., & Fei. (n.d.). Aspect-Level Sentiment Analysis Based on a Generalized
Probabilistic Topic and Syntax Model. Proceedings of the Twenty-Eighth International
Florida Artificial Intelligence Research Society Conference. Florida.

Srivastava et al. (2014). Dropout: A Simple Way to Prevent Neural Networks from Overfitting.
Journal of Machine Learning Research 15 (2014) 1929-1958.

Tamirat, D., & Tesema, W. (2017). Investigating Afan Oromo Language Structure and Developing
Effective File Editing Tool as Plug-in into Ms Word to Support Text Entry and Input
Methods. American Journal of Computer Science and Engineering Surve.

79
Tang et al. (2015). Documentmodeling with gated recurrent neural network for sentiment
classification. In Proceedings of the 2015 Conference on Empirical Methods in Natural
Language Processing 17–21 ; pp. 1422–1432. Lisbon, Portugal,.

Tang, B., Member, S., Kay, S., Fellow, He, H., & Member, S. (2016). Toward Optimal Feature
Selection in Naive Bayes for Text Categorization. IEEE.

Tariku, W. (2017). SENTIMENT MINING AND ASPECT BASED SUMMARIZATION OF OPINIONATED


AFAAN OROMOO NEWS TEXT. Debre Berham: DEBRE BERHAN UNIVERSITY.

TARIKU, W. (2017). SENTIMENT MINING AND ASPECT BASED SUMMARIZATION OF


OPINIONATED AFAAN OROMOO NEWS TEXT. Debre Berhan: Unpublished.

Tesfaye and Abebe. (2010). Designing a Rule Based Stemmer for Afaan Oromo Text.
International journal of Computational Linguistics, 1, 1-11.

Tesfaye, D., & Abebe, E. (n.d.). Designing a Rule Based Stemmer for Afaan Oromo Text.
International Journal of Computational Linguistics (IJCL), 1(2), 1-11.

Thakkar, & Patel. (2015). Approaches for sentiment analysis on twitter: A state-of-art study.
arXiv preprint arXiv:1512.0104.

Tibshirani, Rothfels, J., & Julie. (2010). Unsupervised sentiment classification of English movie
reviews using automatic selection of positive and negative sentiment items. CS224N-
Final Project.

Tilahun, T. (2014). Linguistic Localization of Opinion Mining from Amharic Blogs. International
Journal of Information Technology & Computer Sciences Perspectives © Pezzottaite
Journals., 895.

Tomas Mikolov, Kai Chen and Ilya Sutskever. (2013). Distributed Representations of Words and
Phrases and their Compositionality. In Advances in neural information processing
systems.

Tripathy et al. (2016). Classification of sentiment reviews using n-gram machine learning
approach. Expert Systems With Applications, 117-126.

Tsungnan et.al. (1996). Learning LongTerm Dependencies in NARX Recurrent Neural Networks.
Transactions on neural networks.

Turney, & D., P. (n.d.). Thumbs up or thumbs down?: semantic orientation applied to
unsupervised classification of reviews. In Proceedings of the 40th annual meeting on
association for computational linguistics (Association for Computational Linguistics).

Wang, Mossie, & Jenq-Haur. (2018). Social network hate speech detection for Amharic
language. international journal of Computer Science and IT, pp. 41–55.

80
Wang, X., chaoLiu, Y., C. S., Wang, B., Wang, X., & hu. (2015). Predicting Polarities of Tweets by
Composing Word Embeddings with Long Short-Term Memory. Proceedings of the 53rd
Annual Meeting of the Association for Computational Linguistics and the 7th
International Joint Conference on Natural Language Processing, 1343–1353.

Yanikoglu, G. G. (n.d.). Sentiment Analysis in Turkish. TURKEY: Sabanci University, Istanbul.

Yih et al. (2014). Semantic Parsing for Single-Relation Question Answering. In Proceedings of the
52nd Annual Meeting of the Association for Computational Linguistics, Baltimore,
Maryland, USA, 23–25 June 2014; Volume 2, pp. 643–648. Maryland.

Yin, W., Kann, K., Yu, M., & Sch¨utze, H. (2017). Comparative Study of CNN and RNN for Natural
Language proessing. Computing Research Repository (CoRR).

81
Appendices
Appendix A: Reviews classified by LSTM

model = Sequential()
model.add(Embedding(vocab_size, 256, input_length=X.shape[1]))
model.add(Dropout(0.3))
model.add(LSTM(256, return_sequences=True, dropout=0.2, recurrent_dropout=0.2))
model.add(LSTM(256, dropout=0.3, recurrent_dropout=0.2))
model.add(Dense(2, activation = 'sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy'])
model.summary()
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=0)
batch_size = 20
epochs = 10
history = model.fit(x_train, y_train, epochs=epochs,
batch_size=batch_size,validation_split=0.2, verbose=2)
predictions=model.predict(x_test)
[print (mydata['text'][i], predictions[i], y_test[i]) for i in range(0, 50)]

ODP jabeeffadhaa wal gorsachaa wal gargaaraa wal guddisna jabaadhaa [0.4
2455846 0.5859617] [0 1]
Wow baayyee namatti tola baga waqaayyoo guyyaa kanaan isin gahe lammiIwo
wan koo jabaadhaa [0.99805856 0.00219756] [1 0]
Mashaallah mashaalla mashaalla mashaalla mashaalla mashaalla mashaalla b
aayyee namatti toltu Abiyii Raabiin duniyati jaalala namaa sikf kenneera
Raabii karaa Ammatii isilamaa karaa qajeelaa kana irratti si kalaqe atim
o AmmatikeErafate jallate Raabiini siqajeche yeroo dhihotti hakirakele s
if haa tolchu jaalala Raabiis aragadhu jennee siif kadhanna [9.9997699e-
01 2.6196241e-05] [1 0]
Wow Nama Gammachiisa Nuff jiraadhaa Lammiiko Jabaadhaa [2.824068e-04 9.9
98098e-01] [0 1]
Waaqayyo bakka deemtu hundatti isin wajjiin haa tahu goota Gootota keen
yaaa uff naaf jiraadhaa goota gootota caalu isin [9.9996459e-01 4.88162
04e-05] [1 0]

82
Wow bagaa wajjuma gammanne mmDr abiyyi kabaajama jaallatamaa obbo lammaa
magarsa baayyee isin jaallaadha nuff jiraadha haasaawa keessani ni miyaa
wa akka dammaa sammuu namaa hiika [0.39588755 0.6252983] [1 0]
Damma afaan dammaa waaqayyo bakka ati deemtu hundatti saa gargaaruu ebbi
famaa keenya [0.9984498 0.00116834] [1 0]
itti nuff haa fufu itti gammanneerra [0.95516384 0.03972489] [1 0]
goomattuu oromoo kan taate hunduu ilaalii gubadhu motummaan inni harka s
i qabuffu softii barbaada inni kan keenyaa harkaan dhoqqee hara ilaali [
0.9506911 0.0490635] [1 0]
Gaggeessa dhugaa jechuun kana [0.00922048 0.9912785 ] [0 1]
ergaa baayyee gaarii [0.52765 0.50234413] [0 1]
Wow orormiyaa koo [9.999498e-01 5.376339e-05] [1 0]
sin jaalladha dr abiyyi [9.9990916e-01 1.2597442e-04] [1 0]
Nuff jiraadhu [1.1920929e-04 9.9985373e-01] [0 1]
Akkam akka nama gammachiisuu dhugaa [1.6218424e-04 9.9988264e-01] [0 1]
wow aboo ijarraaa nuff hafi rabbiin umurii kee nuff si haa dheeressu [9
.302497e-04 9.990725e-01] [0 1]
Baga Gammaddan gammachuun keessan kan kooti [0.99835277 0.00184867] [1 0
]
Wow sanyii ofii baga rabbi guyyaa kanaan sin gahe [0.00619185 0.99407
34 ] [0 1]
Wow baayyee bareeddani jiraadhaa [9.9914372e-01 7.0640445e-04] [1 0]
Baga rabbiin guyyaa kanaan nu gahe guyyaa gamachuu nuff haa tahu ufffff
osoo anillee achi kessa jiraadhee maal qaba [9.9883515e-01 9.7912550e-04
] [1 0]
Yeroo hunda gammachuu keessan malee gadda keessan na hin argisiisin lamm
ii koo [0.94377077 0.04532102] [1 0]
Wooow jabaadhaa tokkummaan xiiqiidha [9.9986225e-01 1.6686320e-04] [1 0]
Namuusni keessan baayyee namatti tola garaan diinaa keenyaa yaa gubatu t
okkummaan oromoo itti fufuu qaba [3.529787e-04 9.997887e-01] [0 1]
Hedduu nama gammachiistu yaa lammiikoo [9.9997580e-01 2.8312206e-05] [1
0]
Baga sin gahe baayyee namatti toltu [9.9974024e-01 2.2953749e-04] [1 0]
Baga ittiin nu gahe jedhaa namni ani oromoodha ofiin jettani Bilisummaa
waggaa tokkoo [0.62101823 0.42686245] [1 0]
Wow oromoon leencuma duruu gammachuun keessan itti haa fufu [1.4379621e-
04 9.9983156e-01] [0 1]
Baga ittiin sin gahe jabaadhaa Ammas Rabbi isin haa gargaaruu [9.9970281
e-01 3.5449862e-04] [1 0]
nuff jiraadhu lamma keenyaa [4.1893125e-04 9.9954414e-01] [0 1]
leenca wayi LAMMICHOOOO [9.9998510e-01 1.9103289e-05] [1 0]
Wawuu umurii nuff dheeradhu leenca keenyaa [0.00421146 0.99593633] [1 0]

83
Tokkummaan Keessan Haa Cimu Oromoon Gootuma Duruu Baayyee sin Jaalladha
Galatoomaa Ummata Oromoo iji Hamtuun Sin hin Argiin [3.7947297e-04 9.995
8122e-01] [0 1]
obbo lamma keenyaa nu jiraadhu Boonsaa Lammii keenyaa [9.9957144e-01 3.9
869547e-04] [1 0]
Rabbiin umurii dheeraa siif haa kennu [6.8998337e-04 9.9922031e-01] [0
1]
Maashaallaa maashaallaa maashaallaa baayyee namatti toltu nuff jiraadhaa
[0.5491569 0.5028093] [0 1]
Lammaan Goota Seenaan Hin Daganneedha Siwaliin jirra SANYII mootii [9.99
90356e-01 8.6277723e-05] [1 0]
lammaa keenya waggaa kuma nuff jiraadhu leenca keenya magaalaan guddoon
oromiyaa finffinneedha akkasitti itti himi leenca koo jabaadhu qeerroon
sin waliin jira obbo lammaan ija oromooti ati kan asiin nu gahe sihii f
i jawaarii fi qeerroodha [9.9996829e-01 3.2037497e-05] [1 0]
Uufff leenca kenyaa [1.9985437e-04 9.9978739e-01] [0 1]
Uuffff lammicho koo ati ija ummata oromooti nuff jiiraadhu beekaa koo [1
.232326e-04 9.998582e-01] [0 1]
Wawu kabajamoo fi jaallatamoo obbo lammaa ati nuff utubaa keenya baga nu
ff dhalatte hamtuun si hin argiin umurii nuff dheeradhu ati [0.00242418
0.9975378 ] [0 1]
Baga oromoo irraa nuff dhalatte leenca keenya nuff jiraadhu sin jaallann
aaa uphaa [0.9983585 0.00132433] [1 0]
Ati agartuu ummata keenyaati lammaa koo umurii nuff dheeradhu [9.1284513
e-05 9.9989074e-01] [0 1]
Lammichoo baga keenya taate jiraadhu [0.3950786 0.61506313] [0 1]
Jiraadhu ilma Abbaa gadaa [0.99588454 0.00441584] [1 0]
jechi keessan na boonse nuff jabaadhaa [9.9995935e-01 4.5448542e-05] [1
0]
wow kabajamoo fi jaallatamo obbo Lammaa keenya si jaallana nuff jiraadhu
hamtuun si hin argiin ati gamnaa fi beekaa keenya [0.9948151 0.00551218
] [1 0]
Wowow goota keenya kabajamaa fi jaallatamaa obbo lammaa magarsaa gudda
a si jaallana nuf jiraadhu waqayyo sihaa egu gota oromoo [0.997774 0.0
022721] [1 0]
Wowowow Lammichoo Keenya diinni kee Haa Gubatu baga Keenya Taate Si Jaal
lanna [0.86777437 0.12991431] [1 0]

Appendix B: The reviews classified by CNN

tokenizer=Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X_train)
x_train=tokenizer.texts_to_sequences(X_train)

84
x_test=tokenizer.texts_to_sequences(X_test)
vocab_size=len(tokenizer.word_index)+1
length=1344
x_trainn=pad_sequences(x_train, padding="post",maxlen=length)
x_testn=pad_sequences(x_test, padding="post", maxlen=length)
model=Sequential()

#first channel with kernel size =1 or unigram

inputs1 = Input(shape=(length,))

embedding1 = Embedding(vocab_size, 10)(inputs1)

conv1 = Conv1D(filters=64, kernel_size=1, activation='relu')(embedding1)

drop1 = Dropout(0.0)(conv1)

pool1 = MaxPooling1D()(drop1)

flat1 = Flatten()(pool1)

# channel 2 with kernel size =2 or bigram

inputs2 = Input(shape=(length,))

embedding2 = Embedding(vocab_size, 10)(inputs2)

conv2 = Conv1D(filters=64, kernel_size=2, activation='relu')(embedding2)

drop2 = Dropout(0.0)(conv2)

pool2 = MaxPooling1D()(drop2)

flat2 = Flatten()(pool2)

# channel 3 with kernel size =3 or trigram

inputs3 = Input(shape=(length,))

embedding3 = Embedding(vocab_size, 10)(inputs3)

conv3 = Conv1D(filters=64, kernel_size=3, activation='relu')(embedding3)

drop3 = Dropout(0.0)(conv3)

pool3 = MaxPooling1D()(drop3)

flat3 = Flatten()(pool3)

# channel 4 with kernel size = 4 or four-gram

inputs4 = Input(shape=(length,))

embedding4 = Embedding(vocab_size, 10)(inputs4)

85
conv4 = Conv1D(filters=64, kernel_size=4, activation='relu')(embedding4)

drop4 = Dropout(0.0)(conv4)

pool4 = MaxPooling1D()(drop4)

flat4 = Flatten()(pool4)

# channel 5 with kernel size = 5 of five-gram

inputs5 = Input(shape=(length,))

embedding5 = Embedding(vocab_size, 10)(inputs5)

conv5 = Conv1D(filters=64, kernel_size=5, activation='relu')(embedding5)

drop5 = Dropout(0.0)(conv5)

pool5 = MaxPooling1D()(drop5)

flat5 = Flatten()(pool5)

# merge

merged = concatenate([flat1, flat2, flat3, flat4, flat5])

# interpretation

dense1 = Dense(100, activation='relu')(merged)

outputs = Dense(1, activation='sigmoid')(dense1)

drop9=Dropout(0.1)(outputs)

model = Model(inputs=[inputs1, inputs2, inputs3, inputs4, inputs5],


outputs=drop9)

# compile

model.compile(loss='binary_crossentropy', optimizer='adam',
metrics=['accuracy'])

# summarize

print(model.summary())

history = model.fit([x_trainn, x_trainn,x_trainn,x_trainn,x_trainn],


y_train, epochs=10,validation_data=[x_testn,
x_testn,x_testn,x_testn,x_testn], y_test, batch_size=64)

score = model.evaluate([x_testn, x_testn,x_testn,x_testn,x_testn],


y_test, verbose=2)

print('test losss: %f' % (score[0]))

print("test accuracy: %f" % (score[1]))

[0.29756516] ati nama ergamaa fi mullata hin qabne fi barsiisaa


osoo carraa argattee haadha tee oromiyaa saamsisuff waan qarshi

86
xiqqoon gurguratudha jedhe si amana. [0.8679151] ilma abbaa gadaa!
congratulations my pm!! [0.05001149] raabiin raamataa isaaf ha
godhuu [0.88077664] guddina biyya tokkoof investimentiin baayyee
murteessaa waan taheef irratti hojjetamuu qaba. dargaggoonni
keenyas carraa kanatti fayyadamuun dinagdee isaanii fooyyeeffachuu
qabu. [0.23622262] itiyoophiyaa irra darbee addunyan nu waliin jira
jabaadhaa. [0.7264057] maashaalla rabbin isii haa guddisu.
[0.04512841] isinitti hin hafne hooggansi keessan dura akkam akka
jiru ilaalaa. [0.46512136] odp ilmaan wayyaanee. [0.00044185] tokko
hojjatanii dhibba dhaadachuun,dhibba balleessanii kuma dhokachuun
akka waan asxaa keessan gama duubaatirra jiru natti fakkaata.
[0.22630414] kan na dhibe lakkoofsi 9ffaan kun hoo oromoo h/
goorgis ? [0.89560103] nuff guddadhu waan ofii too. [0.8966802]
obbo lamma keenyaa nu jiraadhu boonsaa lammii keenyaa. [0.91143185]
lubbuyye too nuff jiraadhu galatoomi sanyii koo. [0.8269851]
yarabbii haqaa basii [0.55526054] lammaan goota seenaan hin
daganneedha siwaliin jirra sanyii mootii. [0.02111068] mariimanni
isin taahaa ooltan kun kamii kaa ummata faayidaa hin qabne.
[0.8600489] jiraadhu saba bohaarsuu keefi qabichoo. [0.850441]
guddadhuu waankoo. [0.02528977] mudamni guyyaa harraa kenname
baayyeen isaa bakki isaan itti rammadamanii fi kallattiin barnoota
isaanii wal hin fakkatuu????? namni ogummaa kallattiin barateen
yoo hojjatee buwaa gaarii busuu dandaha ture??? [0.2891717]
guddadhuu sanyii tiya ija hamtuu sira ha qabuu [0.8963539]
dr.abiyyeee fi dr.lamiyyee nuti oromoon akka lubbuu keenyaatti sin
jaallanna sin dukaa jirra yaada keessan hunda ni fudhanna....
[0.38733065] hojii dhabaa oromoo, buqqaatota akkasumas tajaajila
hawaasaa garaagaraa akkamiin guutuun dandahama? [0.30805513]
caalaan ajjeefamuu qaba. [0.00123072] mee jarana hattoota godina
shawaa bahaa keessatti maqaa jijjiiramaa ufffattee garuu warra
jijjiiramaatti guffuu tahaa jiru kana irratti hojjedhaa, kaan itti
deebinaa. [0.03046042] ati oromoon maallaqaaf ykn faayidaa
dhuunfaaf kan qabsaahu sitti fakkataa ? [0.00475585] iiiish ummata
kijibaaa maqaa keessanii mitii maqaa saba oromoo qabatani hin
kijibinaa. [0.22640261] injifannoon arganne gurgurameera; amma
akka haaraatti qeerroon qabsoo jalqabuun furmaata jedheen yaada.
[0.00022924] maal baasa waaqi walitti waamaa hojjachuun hin biqilu,
biqilus buwaan hin jiru sababiinsaa hanga dhugaan aanaa keenya
irratti mowutti fi awol laagoonii,kaalid karaa irraa dabanitti
malee qonnaan bultoonni keenyas isa jarri xibaartu dhiisaatii buna
keenya isuma durii nuu kunuunsaa. [0.00288072] yaaa odp isin waggaa
27 tplf waaliin nutti qabsahaa turtan. [0.8026239] dhugaan isin
wajjin jirra gooticha oromoo. [0.90717995] wow abiyyi fi obo lammaa
nuff jiraadhaa. [0.04976219] umriin hayyuu yoomiyyuu haa dheeratuu.
nama waahee biqiltuu beekuu qofatu yaada gaarii ibsuuu dandaha waan

87
taheef, bara kana barri beekaan biyyaaf, sabaafi lafaaf mijaata
tahee argame. [0.17697242] namicha gaafa lafa magaalota oromiyaa
hoogganu liizi itti baasee alagatti gurgurate faatu harr odp
xireessa jiraam. [0.8759484] wow hojii daansaadha. [0.58098626]
oromiyaan qulqullina jaallata waan taheef tokko osoon hin hafiin
itti yaana lammii. [0.11758485] maal godha kaabineetu saamahoo.
[0.17071465] gaaffiin gaafatame duris tahe amma afaanin qofa
furamaara jedhamuu malee hanga harraa gochaan arginees dhageenyees
hin beeknu. tarii ummannis gaaffiin isaa akka afaaniin deebihuff
barbaada tahuu hin hafu. [0.8988284] finffinnee haandhuura oromiyaa
nuff jiraadhu lammaa keenya. [0.66222334] rodmap indargachew
hojiirra oolchaa jirtuu! jabaadhaa yoo isiniif milkaye.
[0.32076964] ergaan kabajamoo preezidantii obboo lamma bayyee
cimaafi ergaa guddaa of keessaa qaba. dhiiroo lammaan waa hunda
lafa kayeeti jira. [0.00292641] albaatota wayii. akka warra soddaa
keessani sodaattanii fi jala guggufftan eenyu jala hin fiigdani.
oromoon kumaatamaan lakkaawamu karaa irra jira. waaheen soddaa
keessanii garuu hirriba isin dhorke. afufftuu!!! [0.14093158]
nageenya saba keenyaa raayyaa ittisa biyyaatiin sarbamaa jiru
furuunis ajandaa haa tahu. [0.8470274] jiraadhu. deemsi itti fuffa
dhugaadha! [0.9113369] baayyee namatti tola umurii nuff dheeradhaa
ija diinaa isin irraa haa qabu dr abiyii & dr lammaa sabboontota
keenya. [0.4537968] leencota, waraabeyyii guyyaa qaanessite!
isiniin boonna. [0.02063614] yeroo dargaggoo dargaggoo jettanii
sammuu namaa qarshiin bittanii namoota qabsoof aarsaa kaffalan
bakkeetti dhiistan ; kun essanuu isin hin gahu. [0.19692773]
efffuuu opdo biyya bulchuu hin dandeenye. [0.90873957] wow nama
gammachiisa nuff jiraadhaa lammiiko jabaadhaa. [0.04041284]
injifannoo jechaa hin oolinaa wanta ummata keenya faayyadu
hojjadhaa nu agarsiisaa malee injifanno odeessuun gatii hin qabu!!
[0.1897588] qabeenya uumamaa keenya kunuunsuudhaan hawaasa rakkoo
jijjiirama qilleensaa dandamatu uumuff gahee keenya ni baana.
[0.55634516] dachee oromiyaa abbaa hin qabne argattanii kara
deemaaf hiruutti kaatanii? baayyee nama gadddisiisa. [0.88297826]
hedduu nama gammachiisa wanti haaraan galmaawuu qaba akka biyyaatti
kanammoo hawowiin eegna jabaadhaa sin waliin jirra. [0.00171286]
opdon ofii cooma murachaa waan bultuff oromiyaan hundi akkuma ishii
quffee bula seeti. [0.8917692] ergaa baayyee gaarii. [0.00018948]
oromoon wallaggaa loltoota biyyaan dararama jira. hidhamaas jira.
sochiin dinagdee laamshaheera. furmaanni maali? [0.75043046] dr
keenya jabaadhaa lammii kenyaa jabadhaa sin jaallannaa %100%100"%
[0.00174838] ummanni oromoo gochatti amana malee oduu qofaani miti
kan odeesitaniifi kan hojjetamaa jiru walittu hin dhuffu ummanni
oromoo kanaaf isin shakkee!! [0.84880424] eyyee naannoo keenya
qulqulleessinee dhaloota itti aanuff mijataa taasisnee haa

88
dhaalchisnu, jaalalaan haa jiraanu. [0.6012021] maanguddoonni
hirriba malee bulanii laata. [0.0852856] opdon oromiyaa gadi nuff
dhiisuu qabdi ezematti dabalamuu qabdi.... [0.00030112] opdo of
odp maqaa jijjiirame faayidaa maal qabdu footo maxxasuu malee.
[0.0238286] maal isinoo mana hidhaa ijaaraafii waan jirtan
fakkaattuum... [0.00433737] caalaa bultumee ajjeechaa mohammed
said keessaa harkaa hin qabu seenaa qaboo oromoo keessatti qooda
guddaa kan qabu weellisaa ebbesaa addunyaa fi caalaa bultumee
oromoof nan wareegama malee oromoo hin ajjeesu [0.083444] ahamari
jibbaa guddaa oromoo milliyoona 70 irraa qabdu ifatti baasaa jirti.
kanaaf keewowata 39 kush warri taanee jaratti irraa cituu qabna.
[0.87929887] nuff jiraadhaa. [0.00844523] opdo dullattii of keessaa
baasaa. [0.01005387] dubartiin hin jirtu moo maali kun hundi dhiira
qofaa jarati irra dalaga. [3.1769276e-05] ani kan na dhibu
muudamnii jiha jihaan kun maalii aangoo itti gaafatamummaa
fudhatanii uummata tajaajiluudha malee taayitaa qofaaf miti. namni
tokko biiroo bishaan oromiyaaf harra yoo muudamee osoo boolla
bishaanii takka ummata oromoof hin qofforsiisin bakka isa irra
kaha. kan biraatu dhuffa akkasuma ummanni maal fayyadama jira
muudama kanarraa? [0.89614546] ufff rabbi si haa guddisu.
[0.49539655] soba dhisaa. [0.8655207] jajjabeeffamuu qabu.
[0.89317083] dabalee siif haa kennu beekumsa ija diinaarraa hafi
guddadhu. [0.89892197] naaf guddadhu damma tiyya nuff guddadhuu
[0.8731151] baga oromoo taate guddadhu bakka gahi. [0.7255413]
abichuun kan nagayaa abichuun kan jaalalaa abichuun kan kabajaati
abichuff kabajaatu malaaf malee tutuuqaa fi jibbi isaaf hin malu
abichuu koo si jaallanna si waliin jiraa tee ollummaa abbii.
[0.02998364] bekaan guluma kijibbaan sigayee hin jiru ati guffuu
oromoti dhibbaa dhibbatti. [0.8528073] abyii &lamma. [0.04461911]
garjalllaa baranoolen daba hiyyeessarratti akka hin xanne tohadhaa
yoo yaada mawotaa jedhamaa jiru kun dhuga tahe [0.7190395]
kadireefi hin tataatu essaan ummata bira geessi kun. [0.02134985]
hojii dhabdootaaf fala maalii qabduu? [0.03219822] fashaloo! kentu
lifat! ofumaa waan buwaa itti hin argamsiifnetti maallaqa gubaa
nyaadhaa dhagaatti fincaahaa jirtu!! [0.8648419] dr abiyyi
galatoomi galanni guddaan waaqayyoof haa tahu! [0.7536934] baayyee
namatti tola odp harras booris abdiif kalacha qabsoo oromooti!!!
[0.88845396] baayyee namatti tola. [0.11669564] waan abn
balleesseef shanee hin hidhinaa. [0.56680703] yaa rabbii yaa alhaa
dhugaa isaa basii [0.8921652] ufffee jiraadhu guddadhu.
[0.00186208] odp, adaraa industirii naannawaa finfinnee agarsiisuu
keessan dhiisa. nuti jijjiirama arguu kan barbaannu kan naannawaa
oromiyaa keessaa kan akka kamisee, ilubbaaboor, jimma, wallaggaa
fi kkf. dha [0.07624316] harra akkuma jedhame siyaasni oromoo
sadarkaa olaanaatti cehee jira. injifannoo boonsaa kana fiduu

89
keessattis aarsaan hedduu kaffalameera. garuu ammatti injifannoo
kanaan boonuun akkuma jirutti tahee tokkummaa uummatichaa fi
dinagdeen uummata kana cimsuun dhimma xiyyeeffannoo barbaadu. karaa
tokkoon biyya olaantummaan geggeessaa jira jabaadhaa! [0.8856234]
abbichuu galatoomi nuff jiradhu [0.85866463] waaqayyo bakka deemtu
hundatti isin wajjiin haa tahu goota gootota keenyaaa ufff naaf
jiraadhaa goota gootota caalu isin. [0.88056535] namatti tola garaa
jaalalaa fi tokkummaan hojjechuun akkuma kanaan itti fuffa.
[0.79163086] rabbi ija irraa haa qabu umrii isii haa dhereessu
akassitti itti muddi bareedduu tiyyaa. [0.8334743] baayyee namatti
tola odp harras booris abdiif kallacha qabsooo oromooti!!!
[0.04771256] biyyee haa nyatuu yoo argatana ajjasaa isaana diqalaa
akkaana kanatuu nu nyataa biyyee nyadhuu [0.8958468] wow oromoo
sin jaallanna dr abiyyi. [0.00144073] ayii yaa injifanoo keessan
dhiigni qeerroo keenyaa ethiopia jigdee kaasee dhaabee ofiisaaf
harras hidhaaf ajjeechaan irraa hin dhabanne sin wahumaa ijiffannoo
hasahaa qeerroo keenya mana hidhaahoo? [0.0151661] ammas baayyee
isin hafa anaan garuu wanti gaaffii natti tahe tokko, biyya
itoophiyaa jedhamtu kana keessatti hamma yoomiitti afaan tokko
olaantummaa tahee jiraata ??? [0.65688354] baayyee abdii namatti
hora, opdn abdii ummata oromoo tahuu gammachuu hawaasa aanoota
godina arsii 26n irraa hubatamuu qaba. [0.8880125] bara hojii
gaarii. [0.06215343] kijibduu hudduu jala isin garafaa jira
amaarri. [0.8859297] ufff mortuurraa nuff hafi qarrootoo.
[0.86314404] guddadhu sanyii oromo. [0.8961627] leencoo koo
jabaadhu sin waliin jirra ! [0.78403366] waan gaaridha hedduu
namatti tola ijoollee keenyaafis haala mijeessaa abbooti qabeenyaa
waliin dubbadhaa ijoollee hojii dhabanii daandiirra jiran simadhaa
jedhaani janaadhaa. [0.9006386] nuff guddadhu biqiltuu too jiraadhu
umurii dheeradhu. [0.00016364] hoggansi kessaan haa gogutti namni
beelaan baalee dhumaa jira isin barchumma howaa irra taahaa dhiiro
opdo tana maaluma goona? [0.7386556] odp haalli diinagdee oromiyaa
ittiin tarkaanfachiisa jirtan hedduu kan nama abdachiisudha.
[0.64427763] rabbii rafmata haa godhuffi [0.25355834] hayyoota
ummata biraa jaalala qabu moggaatti qabdani. [0.86320794]
gaariidha. [0.8367573] wow dr.abiyyi teenna oluma jabaadhu si faana
jirra hanga dhumaa!! [0.0013701] obboleessa keenya mohammed saidiif
araarama karadhaa rabbiin jannatul fardoosiin isa haa qananiisu
[0.8805059] guddadhu baredduukoo beekumsakee rabbi itti siif haa
dabalu. [0.16083485] tokkummaa gadaa odp tu ummata oromootti guffuu
tahaa jira malee kan diinaa salphaa ture.

Appendix C: reviews classified by MNB

90
tfidf_vect_untgram = TfidfVectorizer(analyzer='word', token_pattern=r'\w{1,}',
ngram_range=(1,3), max_features=6000)
tfidf_vect_untgram.fit(X)
xtrain_tfidf_untgram = tfidf_vect_untgram.transform(x_train)
xvalid_tfidf_untgram = tfidf_vect_untgram.transform(x_test)
def train_model(classifier, feature_vector_train, label, feature_vector_valid,
is_neural_net=False):
# fit the training dataset on the classifier
classifier.fit(feature_vector_train, label)
# predict the labels on validation dataset
predictions = classifier.predict(feature_vector_valid)
print(predictions)
[print (X[i], predictions[i], y_test[i]) for i in range(0, 30)]
if is_neural_net:
predictions = predictions.argmax(axis=-1)
return metrics.accuracy_score(predictions, y_test)
train_model(naive_bayes.MultinomialNB(), xtrain_tfidf_untgram, y_train,
xvalid_tfidf_untgram)

wow odp baga gammaddan uummanni kee hammam akka si duukaa jiru asumaa hu
bachuu dandeessa hojii kee cimsi ati dhuguma kallacha keenya!!!!! 1 1
odp jabeeffadhaa wal gorsachaa wal gargaaraa wal guddisna jabaadhaa. 1 1
wow baayyee namatti tola baga waqaayyoo guyyaa kanaan isin gahe lammiiwo
wan koo jabaadhaa. 1 1
mashaallah mashaalla mashaalla mashaalla mashaalla mashaalla mashaalla b
aayyee namatti toltu abiyii raabiin duniyati jaalala namaa sikf kenneera
. raabii karaa ammatii isilamaa karaa qajeelaa kana irratti si kalaqe .a
timo ammatikeerafate jallate raabiini siqajeche yeroo dhihotti hakirakel
e sif haa tolchu jaalala raabiis aragadhu jennee siif kadhanna. 0 0
wow nama gammachiisa nuuf jiraadhaa lammiiko jabaadhaa. 1 1
waaqayyo bakka deemtu hundatti isin wajjiin haa tahu goota gootota keeny
aaa uff naaf jiraadhaa goota gootota caalu isin. 0 0
wow bagaa wajjuma gammanne m.m.d/r abiyyi kabaajama jaallatamaa obbo lam
maa magarsa baayyee isin jaallaadha nuuf jiraadha haasaawa keessani ni m
iyaawa akka dammaa sammuu namaa hiika. 1 1

91
damma afaan dammaa waaqayyo bakka ati deemtu hundatti saa gargaaruu ebbi
famaa keenya. 1 1
baayyee namatti tola. 1 1
ergaa baayyee gaarii. 0 0
nuuf jiraadhu. 1 1
akkam akka nama gammachiisuu dhugaa. 1 1
wow aboo ijarraaa nuuf hafi rabbiin umurii kee nuuf si haa dheeressu. 0
0
baga gammaddan, gammachuun keessan kan kooti.! 0 0
wow sanyii ofii baga rabbi guyyaa kanaan sin gahe. 1 1
wow baayyee bareeddani jiraadhaa. 0 0
baga rabbiin guyyaa kanaan nu gahe guyyaa gamachuu nuuf haa tahu ufffff
osoo anillee achi kessa jiraadhee maal qaba. 1 1
yeroo hunda gammachuu keessan malee gadda keessan na hin argisiisin lamm
ii koo. 0 0
wow jabaadhaa tokkummaan xiiqiidha. 1 1
namuusni keessan baayyee namatti tola garaan diinaa keenyaa yaa gubatu t
okkummaan oromoo itti fufuu qaba. 0 1
hebareedduu nama gammachiistu yaa lammiikoo. 1 1
baga sin gahe baayyee namatti toltu. 1 1
baga ittiin nu gahe jedhaa namni ani oromoodha ofiin jettani bilisummaa
waggaa tokkoo. 1 1
wow oromoon leencuma duruu gammachuun keessan itti haa fufu. 1 1
baga ittiin sin gahe jabaadhaa ammas rabbi isin haa gargaaruu. 1 1

92

You might also like