<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Rule-Based Sentiment Analysis of Macedonian</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sofija</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kochovska</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Branko Kavšek</string-name>
          <email>branko.kavsek@upr.si</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jernej Vičič</string-name>
          <email>jernej.vicic@upr.si</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Jožef Stefan Institute</institution>
          ,
          <addr-line>JSI, Jamova cesta 39, 1000 Ljubljana</addr-line>
          ,
          <country country="SI">Slovenia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Primorska, UP FAMNIT</institution>
          ,
          <addr-line>Glagoljaška 8, 6000 Koper</addr-line>
          ,
          <country country="SI">Slovenia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <abstract>
        <p>This paper addresses the problem of sentiment analysis in Macedonian, a low-resource language with limited annotated datasets, sentiment lexicons, and linguistic tools. We present the construction of a sentiment lexicon containing positive and negative words, which serves as the foundation for a rule-based sentiment classification system. The final lexicon consists of approximately 4,000 entries, making it a substantial linguistic resource for sentiment analysis in the absence of large-scale annotated data. To enhance the accuracy and contextual sensitivity of the system, we incorporate afirmative and non-afirmative (AnA) modifiers such as intensifiers, diminishers, and polarity shifters which were also prepared in the scope of the presented research. These elements allow for more nuanced handling of sentiment polarity, especially in the presence of negation or emphasis. Additionally, stopwords are taken into account to preserve the structural and semantic integrity of analyzed text. The system also accounts for specific linguistic characteristics of Macedonian, such as the absence of grammatical case distinctions, which influence how sentiment is expressed and interpreted. The rule-based methodology is particularly suitable for low-resource environments, as it reduces reliance on large-scale annotated data. The results demonstrate that linguistically informed, rule-based approaches can provide efective sentiment analysis in under-resourced language settings.</p>
      </abstract>
      <kwd-group>
        <kwd>Sentiment analysis</kwd>
        <kwd>Macedonian language</kwd>
        <kwd>Low-resource languages</kwd>
        <kwd>Rule-based classification</kwd>
        <kwd>Sentiment lexicon</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Macedonian language [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is an Eastern South Slavic language. It is spoken as a first language by around
1.6 million people and serves as the oficial language of North Macedonia. Macedonian has a high
degree of mutual intelligibility with Bulgarian and varieties of Serbo-Croatian. Section 4 describes
the datasets and lexicons used in this study for sentiment analysis of Macedonian text, including both
manually annotated and automatically generated resources. We detail the compilation and merging
process of these lexicons to create a comprehensive sentiment resource tailored for Macedonian social
media data.
      </p>
      <p>Sentiment analysis is a widely studied task in natural language processing (NLP), aiming to determine
the emotional tone of textual content. While significant advances have been made for high-resource
languages, low-resource languages such as Macedonian still lack fundamental tools, annotated datasets,
and reliable sentiment resources.</p>
      <p>In this work, we present a rule-based sentiment analysis system for Macedonian, developed in the
absence of large-scale annotated data. At the core of the system is a sentiment lexicon, initially built
manually and carefully curated to include approximately 4,000 sentiment-bearing words. This initial
lexicon served as the foundation for early system development and evaluation.</p>
      <p>
        To expand the coverage and explore the efect of larger lexical resources, we later merged our lexicon
with the publicly available sentiment lexicons from the work by Jovanoski et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. These resources
https://github.com/sof42 (S. Kochovska)
      </p>
      <p>CEUR
Workshop</p>
      <p>ISSN1613-0073
were obtained from the authors’ GitHub repository and combined with our existing entries, resulting in
a merged lexicon of approximately 8,000 words.</p>
      <p>
        We tested our rule-based sentiment classification algorithm on both lexicon versions: the smaller,
high-precision 4,000-word lexicon, and the broader 8000-word merged lexicon. This allowed us to
evaluate the trade-ofs between lexical precision and coverage in the context of rule-based classification.
For evaluation, we used the same manually annotated Twitter test dataset from the work of Jovanoski
et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], enabling a direct comparison of our system’s performance with previous approaches applied
to Macedonian sentiment analysis.
      </p>
      <p>To increase the sensitivity of our method to context and emphasis, we incorporated a set of
afirmative and non-afirmative (AnA) modifiers, including intensifiers, diminishers, and polarity shifters.
Additionally, Macedonian stopwords are taken into account to maintain semantic clarity.</p>
      <p>Our rule-based approach is especially suited for low-resource settings, ofering transparency and
interpretability without the need for large annotated datasets. By leveraging linguistic insights and
available lexical resources, we demonstrate that rule-based sentiment analysis can be a practical and
efective solution for under-resourced languages like Macedonian.</p>
      <p>The paper is structured as follows: Section 2 presents State-of-the-art in the scientific field of
sentiment analysis for Macedonian language. Section 3 presents the methodology used in the presented
experiment. Next follows the description of the properties and availability of data. Section 6 presents
the results with a brief discussion and the paper finishes with conclusions and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>Sentiment analysis for the Macedonian language has received limited attention in the NLP community
due to the scarcity of linguistic resources, annotated corpora, and standardized evaluation benchmarks.
However, a few key studies have laid the groundwork for sentiment classification in this low-resource
language.</p>
      <p>
        One of the most influential contributions is the work by Jovanoski et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], who developed and
evaluated several sentiment lexicons for Macedonian using Twitter data. Their study compared three
manually created lexicons and introduced a lexicon-based classification algorithm that served as a
baseline for Macedonian sentiment analysis. We incorporated both the manually created and manually
extended lexicons from this work into our own sentiment lexicon to assess the trade-of between lexical
precision and vocabulary coverage. The authors also made their resources publicly available1, which
greatly facilitated reproducibility and further development in this domain.
      </p>
      <p>
        In a closely related efort, Jahić and Vičič [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] developed an annotated sentiment lexicon for the Bosnian
language. While the lexicon was created for Bosnian, the two languages share many similarities due
to their common South Slavic origin. To address the lack of sentiment resources in Macedonian, we
translated the Bosnian lexicon into Macedonian as a foundation for our initial 4,000-word lexicon. This
translation was followed by manual validation and curation to ensure linguistic accuracy and contextual
relevance. Their methodological framework, which includes rule-based sentiment classification, the
use of linguistic modifiers, and attention to low-resource constraints served as a basis and inspiration
for our own approach.
      </p>
      <p>Although Bosnian benefits from slightly more NLP support, the success of Jahić and Vičič’s
lexiconbased system supports the feasibility of applying similar techniques to Macedonian. Our work extends
these ideas by adapting them to the specific linguistic features of Macedonian and incorporating
additional resources such as afirmative and non-afirmative (AnA) modifiers and stopword handling.</p>
      <p>
        Recent work on Bulgarian sentiment analysis [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] demonstrates the potential of leveraging
typologically similar languages, although their focus on fine-grained emotion datasets difers from our
lexicon-based approach. While Bulgarian’s grammatical similarities to Macedonian make it a promising
candidate for cross-lingual transfer, we prioritized Bosnian due to: (1) the immediate availability of
its manually annotated sentiment lexicon [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and (2) shared South Slavic lexical similarities in core
1https://github.com/badc0re/sent-lex/tree/master/sentiment_analysis_macedonian
sentiment vocabulary despite morphological diferences. Future work could explore hybrid approaches
that combine Bulgarian resources with Macedonian-specific adaptations.
      </p>
      <p>Together, these studies provide valuable foundations for lexicon-based sentiment analysis in
underresourced South Slavic languages, and our contribution demonstrates how these approaches can be
extended, translated, and tailored for the Macedonian language.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Methodology</title>
      <p>The development of our rule-based sentiment analysis system for Macedonian followed a multi-step
approach centered on the creation and expansion of a sentiment lexicon. Given the low availability
of sentiment resources for Macedonian, we began by adapting resources from a closely related South
Slavic language.</p>
      <sec id="sec-3-1">
        <title>3.1. Initial Lexicon Construction via Translation</title>
        <p>
          Our initial lexicon was derived by translating an existing Bosnian sentiment lexicon into Macedonian.
This lexicon, introduced by Jahić and Vičič [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], contains manually annotated positive and negative
words intended for sentiment analysis in Bosnian. Given the high lexical and morphological similarity
between Bosnian and Macedonian, especially in sentiment-bearing vocabulary, this translation provided
a suitable foundation. The initial translation of the Bosnian sentiment lexicon into Macedonian was
performed manually by the first author. To ensure linguistic and semantic adequacy in the Macedonian
context, the translated lexicon was subsequently reviewed by a total of five native speakers, including
members of the author’s family, fellow colleagues, and academic peers. The resulting lexicon consisted
of approximately 4,000 entries.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Lexicon Expansion through Merging</title>
        <p>
          To improve coverage and capture a broader range of sentiment expressions, we merged the translated
Bosnian lexicon with two publicly available Macedonian sentiment lexicons developed by Jovanoski et
al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. These resources include:
• A manually annotated lexicon of sentiment-bearing words, created for sentiment analysis of
Macedonian Twitter data by the aforementioned authors. This includes both the original manual
lexicon and an extended manual lexicon developed by Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] to enrich and expand
the set of sentiment words. Both were used together in the merging process to enhance the final
lexicon.
• A second lexicon automatically generated by the aforementioned authors using the Pointwise
Mutual Information (PMI) method, which quantifies the association between a word and a
sentiment class (positive or negative) based on their co-occurrence in a large unlabelled corpus.
Words with higher PMI scores relative to sentiment classes are included as indicative of that
polarity.
        </p>
        <p>The merging process involved deduplication, harmonization of polarity labels, and manual review
to resolve potential conflicts and inconsistencies across sources. The final merged lexicon comprises
approximately 8,000 unique entries labelled as positive or negative.</p>
        <p>Table 1 presents a quantitative overview of the overlap and unique contributions across the various
sentiment lexicons used in this study, highlighting the extent to which each source contributed to the
ifnal merged resource.</p>
        <p>
          Notably, the manual lexicon, the manual extended lexicon, and the PMI lexicon are all resources from
Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. These lexicons represent both manually annotated and automatically generated
sentiment vocabularies developed specifically for Macedonian Twitter data. The table details the number
of entries unique to each lexicon as well as the intersections between pairs of lexicons. For instance, the
“Translated lexicon only” row shows words exclusive to the translated lexicon, while “Manual extended
lexicon only” and “PMI lexicon only” indicate unique entries from those Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] lexicons.
The “Manual lexicon only” row has zero entries, indicating that all original manual lexicon words
overlap with other resources. The intersections, such as “Merged ∩ Manual extended” and “Merged
∩ PMI,” reveal how many words the final merged lexicon shares with these sources, reflecting their
substantial contributions. Overall, this table illustrates how the merging process efectively combined
multiple complementary lexicons to create a comprehensive sentiment resource.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Use of Afirmative and Non-Afirmative Modifiers</title>
        <p>In addition to sentiment words, the system incorporates a curated list of afirmative and non-afirmative
(AnA) modifiers. These include intensifiers, diminishers, and polarity shifters. These elements were
manually identified and assigned contextual polarity transformation rules, allowing the system to
handle negation and emphasis more accurately.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Inclusion of Stopwords and Linguistic Features</title>
        <p>To ensure robustness and avoid spurious sentiment cues, a Macedonian stopword list was applied
during preprocessing. These include common function words that do not carry sentiment information.
Additionally, the system was tailored to account for Macedonian-specific linguistic features, such as the
lack of grammatical case inflections, which simplifies certain syntactic parsing tasks compared to other
Slavic languages, but also increases the need for a bigger lexicon size to achieve comparable results as
lemmatized word forms do not cover the same amount of text.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Rule-Based Classification</title>
        <p>
          To perform sentiment classification on Macedonian text, we developed a rule-based sentiment
analyzer leveraging lexicons and modifier rules. First, we translated the Bosnian sentiment lexicon into
Macedonian and merged it with two manually annotated lexicons from Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], as well
as a lexicon generated via Pointwise Mutual Information (PMI) for research purposes. The combined
lexicon contains sets of positive and negative words.
        </p>
        <p>The classification pipeline begins with text preprocessing, which includes cleaning input sentences
by removing URLs, usernames, and punctuation, followed by normalization of character repetitions
(e.g., reducing repeated letters). We utilize the classla library [5] for tokenization and lemmatization
tailored to the Macedonian language. Tokens identified as stopwords are filtered out.</p>
        <p>Negation handling is applied by marking tokens that appear within the scope of polarity-shifting
negation words with a special prefix to indicate a negated context.</p>
        <p>Sentiment scoring is computed by iterating over the lemmatized tokens and summing polarity values
assigned by the lexicon: + for positive words, − for negative words, and 0 otherwise. Modifier tokens
preceding sentiment words adjust this score by intensifying (doubling) or diminishing (halving) the
weight. Additionally, if the sentiment word appears within a negation context, its polarity is inverted.
In our implementation,  was set to 1.</p>
        <p>The final sentiment score for a given text is obtained by summing the weighted polarity values of
all sentiment-bearing tokens, namely, tokens that appear in either the positive or negative sentiment
lexicons. This aggregate score is then normalized by the total number of sentiment-bearing tokens,
ensuring that the resulting value reflects the average polarity strength regardless of the length of the
input text. Based on the normalized score and a predefined threshold parameter  , the text is classified
as positive, negative, or neutral. The parameter  defines a margin around zero within which a sentiment
is considered neutral. To determine the most efective decision boundary, multiple values of  were
empirically evaluated on a manually annotated test set.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Data</title>
      <p>Initially, the sentiment lexicon was obtained by translating the Bosnian lexicon into Macedonian. The
sizes of the lexicons before merging are as follows:
• Positive words: 1204 entries
• Negative words: 2341 entries
• Intensifiers: 69 entries
• Diminishers: 37 entries
• Polarity shifters: 21 entries
• Stopwords: 311 entries</p>
      <sec id="sec-4-1">
        <title>The data are available in Zenodo repository in two separate datasets:</title>
        <p>• Sentiment polarity lexicon of Macedonian language, DOI: 10.5281/zenodo.15790587, https://doi.</p>
        <p>org/10.5281/zenodo.15790587,
• Macedonian stopwords list and Sentiment polarity lexicon of Macedonian language, DOI:
10.5281/zenodo.15794762, https://doi.org/10.5281/zenodo.15794762,</p>
        <p>
          After merging with the manually annotated and PMI-generated lexicons by Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], only
the positive and negative word lists were expanded, while the other categories remained unchanged:
• Positive words: 1997 entries
• Negative words: 6260 entries
        </p>
        <p>This merged lexicon forms the core resource for our sentiment analysis model, ensuring coverage
and accuracy for the Macedonian language domain.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Experimental Setup</title>
      <sec id="sec-5-1">
        <title>5.1. Dataset</title>
        <p>
          For evaluation, we utilized the annotated Twitter dataset introduced by Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], comprising
1,139 Macedonian tweets. Each tweet is labelled with one of three sentiment classes: positive (1), neutral
(0), or negative (-1). These labels served as the ground truth in our experiments. The data was extracted
into a test set file ( test_data.mo), where each line contains a tweet followed by its sentiment label,
separated by a comma.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Lexicons</title>
        <p>As mentioned above, the lexicons used in our lexicon-based sentiment analysis were preprocessed and
loaded as Python sets to enable eficient lookup during the sentiment scoring process.</p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3. Preprocessing</title>
        <p>Each tweet was processed through the following pipeline:
1. Noise Removal: URLs, user mentions, and punctuation were removed.
2. Normalization: Text was lowercased and repeated characters normalized.
3. Stopword Removal: Tokens found in the stopword list were removed.
4. Negation Marking: Tokens appearing within a three-token window after a polarity shifter were
marked to indicate negation scope.
5. Lemmatization: Tokens were lemmatized using the Classla NLP toolkit’s Macedonian language
model [5].</p>
      </sec>
      <sec id="sec-5-4">
        <title>5.4. Sentiment Scoring</title>
        <p>Sentiment scores for each tweet were calculated using a lexicon-based heuristic approach as follows:
• Each positive word contributes + , each negative word contributes − .
• Baseline Setup: Scores of words preceded by intensifiers are multiplied by 2, while those
preceded by diminishers are multiplied by 0.5.
• If a word is marked as negated (within the negation context), its score is inverted (multiplied by
−1).
• The total sentiment score for a tweet is normalized by dividing by the number of sentiment-bearing
words.</p>
        <p>The tweet was then classified based on the normalized score and a threshold  :
• Positive: normalized score &gt; 
• Negative: normalized score &lt; −
• Neutral: otherwise</p>
        <p>To evaluate the classifier’s sensitivity to sentiment intensity, we experimented with multiple threshold
values,  ∈ {0.00, 0.10, 0.20, 0.30, 0.40, 0.50} . The threshold  defines a neutral zone around zero, namely,
sentiment scores within the interval [−, +] are classified as neutral, while scores above or below
this range are labelled as positive or negative, respectively. In our implementation, the base polarity
contribution for each sentiment-bearing word was set to  = 1 or  = −1 , making the score normalization
and thresholding consistent with unit-weight sentiment scoring.</p>
      </sec>
      <sec id="sec-5-5">
        <title>5.5. Evaluation Metrics</title>
        <p>
          The evaluation was performed on a labelled test dataset by Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], with standard
classification metrics such as precision, recall, and F1-score [6]. Performance was measured using:
• Average F1-score computed as the arithmetic mean of the F1-scores for the positive and negative
classes, with the neutral class excluded. This metric treats both sentiment polarities equally
by averaging their individual F1-scores. Using this average F1-score aligns with the
evaluation approach of Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], enabling a direct comparison of polarity classification
performance.
        </p>
        <p>• Classification Report : Including Precision, Recall, and F1-score per class (negative and positive).</p>
        <p>
          Neutral tweets were excluded from F1 score calculations to focus evaluation on polarity classification
accuracy. This approach was adopted to enable direct comparison with the work of Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ],
who stated that “the systems were evaluated in terms of an F-score that is the average of the F1-score for
the positive, and the F1-score for the negative class”.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Results and Discussion</title>
      <p>In this study, we conducted sentiment analysis experiments using two diferent lexicon approaches: one
based solely on translated lexicons, and another that combined the translated lexicons with additional
manually curated or merged lexicons. The goal was to evaluate whether merging lexicons leads to
measurable improvements in sentiment classification performance for Macedonian text [ 7].</p>
      <p>For both approaches, we tested a range of threshold values ( ) to determine the optimal decision
boundary between positive, negative, and neutral sentiment classes. Standard classification metrics
such as precision, recall, and F1-score [6], are reported separately for positive and negative classes.</p>
      <sec id="sec-6-1">
        <title>6.1. Translated Lexicon Performance</title>
        <p>We begin by discussing the results obtained using the smaller lexicons (non-merged ones). Figure 1
illustrates how varying the threshold parameter  influences the classification performance on the test
dataset.</p>
        <p>At  = 0.00 , the classifier achieves an average F1-score of 0.591, performing notably better on the
positive class (F1 = 0.681) than the negative class (F1 = 0.501). As  increases up to 0.30, performance
remains relatively stable, with minimal changes in F1-scores. However, beyond  = 0.30 , performance
degrades, primarily due to a sharp drop in recall for the negative class. At  = 0.50 , the average F1-score
falls to 0.549. These results suggest that optimal performance with smaller lexicons is achieved around
 = 0.00 –0.30, with consistently stronger detection of positive sentiment.</p>
      </sec>
      <sec id="sec-6-2">
        <title>6.2. Merged Lexicons Performance</title>
        <p>We now turn our attention to the results obtained using the merged lexicons, to assess whether
combining translated and manually curated resources leads to improved sentiment classification performance
across diferent threshold values.</p>
        <p>With merged lexicons, the classifier shows improved and more balanced performance. At  = 0.00 , the
average F1-score is 0.713, with strong results for both classes (F1neg = 0.690, F1pos = 0.736). Performance
remains stable up to  = 0.30 , where the average F1-score peaks at 0.714. Beyond this, results begin
to decline, with the negative class F1-score dropping to 0.617 at  = 0.50 . Overall, merged lexicons
enhance sentiment classification, especially in the low-to-mid  range.</p>
      </sec>
      <sec id="sec-6-3">
        <title>6.3. Hyperparameter Optimization and Cross-Validation</title>
        <p>6.3.1. Baseline Epsilon Sensitivity via 5-Fold Cross-Validation
Before conducting a full grid search, we evaluated the impact of the epsilon ( ) threshold on classification
performance using 5-fold cross-validation with a fixed set of parameters using the merged lexicon:
• Intensifier = 2.0
• Diminisher = 0.5
• Negation window = 3</p>
        <p>This setup was chosen to establish a baseline and isolate the influence of  alone. The results, shown
in table 2, represent the average F1-score across the five folds (averaged over the positive and negative
classes):</p>
        <p>These results indicate that lower epsilon values (0.00–0.10) consistently yielded better performance,
while higher thresholds beyond 0.30 resulted in a notable drop in F1-score. This analysis confirmed the
model’s sensitivity to the epsilon threshold and motivated the narrowed epsilon range (0.00–0.30) used
in the full hyperparameter grid search described in the next subsection.</p>
      </sec>
      <sec id="sec-6-4">
        <title>6.4. Grid Search for Hyperparameter Optimization</title>
        <p>
          To address concerns regarding parameter tuning and overfitting, we performed an extensive grid search
to optimize key hyperparameters of our rule-based sentiment classification model. This was done
independently of the final test set, using 5-fold cross-validation on the 1,139 annotated Macedonian
tweets from Jovanoski et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
6.4.1. Grid Search Configuration
We systematically explored 108 configurations by varying the following parameters:
• Intensifier coeficient: {1.5, 2.0, 2.5}
• Diminisher coeficient: {0.3, 0.5, 0.7}
• Negation window size (in tokens): {2, 3, 4}
• Epsilon threshold ( ): {0.00, 0.10, 0.20, 0.30}
        </p>
        <p>This selection of epsilon values was informed by our earlier experiments in 6.3.1, where a fixed
configuration (Intensifier = 2.0, Diminisher = 0.5, NegWin = 3) showed that both  = 0.00 and  = 0.10
yielded the highest average F1-score. Therefore, we focused the epsilon range more narrowly (0.00 to
0.30) in the grid search to identify optimal combinations under broader parameter variations.</p>
        <p>
          Each combination was evaluated via 5-fold cross-validation on the manually labelled Macedonian
tweet dataset. For each fold, we computed the F1-scores for the positive and negative classes and
averaged them to produce a robust estimate of classification quality. The neutral class was excluded
from F1, following the evaluation protocol in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
6.4.2. Top 5 Performing Configurations
The results, shown in table 3 demonstrate that:
• The optimal intensifier coeficient (1.5) was lower than the initial 2.0, suggesting that Macedonian
sentiment expressions benefit from moderate emphasis. For example, phrases like ’very good’
required less amplification than in English to avoid over-scoring.
• The 2-token negation window outperformed larger windows, aligning with Macedonian’s
tendency for negation particles to modify immediately following adjectives/verbs. Longer windows
risked capturing irrelevant terms due to flexible syntax. Longer windows introduced noise by
capturing unrelated words outside the negation’s semantic scope.
• Similarly to intensifiers, diminisher values (0.5–0.7) provided balanced attenuation without
suppressing sentiment cues too strongly
• An epsilon threshold of 0.30 slightly outperformed 0.00 in most cases, despite earlier results
favoring 0.00 in isolation.
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusions and Future Work</title>
      <p>Our experiments demonstrate that merging translated lexicons with manually curated lexicons
improves sentiment classification performance for Macedonian tweets, achieving an average F1-score
of 73.6% at the optimal threshold alongside optimal hyperparameter configurations. This combined
lexicon approach yields more balanced results between positive and negative classes compared to using
translated lexicons alone.</p>
      <p>However, the overall F1-scores remain moderate, potentially due to the prevalence of slang and
informal language in tweets, which likely reduces lexicon coverage and impacts classification accuracy.</p>
      <p>
        Compared to the approach by Jovanoski et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], our method achieves competitive results with a
much simpler pipeline that relies primarily on lexicon merging and threshold tuning, without requiring
complex machine learning models or extensive feature engineering.
      </p>
      <p>The future work will incorporate creation of slang lexicons, context-aware models, or leveraging
deeper linguistic features that will further enhance performance on Macedonian social media text.
Future research can explore several avenues to further enhance the sentiment analysis framework:
• Lexicon Expansion: Increasing the coverage of sentiment lexicons by incorporating more
domain-specific terms, slang, and evolving language use could improve detection accuracy.</p>
      <p>Crowdsourcing or semi-automated lexicon creation methods may aid this process.
• Machine Learning Integration: Combining the lexicon-based approach with supervised or
unsupervised machine learning models could leverage both linguistic knowledge and data-driven
patterns, potentially boosting performance.
• Broader Dataset Testing: Evaluating the approach on larger, more diverse datasets, including
diferent genres or social media platforms, will test robustness and generalizability.
• Multilingual and Cross-domain Adaptation: Extending the methodology to other languages
or adapting lexicons for related domains could broaden the applicability of the system.
• Contextual and Phrase-level Sentiment: Incorporating context-aware sentiment analysis,
including handling of idiomatic expressions, negation scope, and multi-word phrases, will further
refine polarity detection.
• Parameter Generalization: Investigating language-specific tuning of coeficients (e.g., training
intensifier weights on annotated data) could further optimize rule-based systems for low-resource
languages.</p>
      <p>These directions ofer promising opportunities to improve sentiment analysis for Macedonian and
other low-resource languages.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <sec id="sec-8-1">
        <title>The authors have not employed any Generative AI tools.</title>
        <p>[5] N. Ljubešić, L. Terčon, K. Dobrovoljc, CLASSLA-Stanza: The Next Step for Linguistic Processing
of South Slavic Languages, in: Conference on Language Technologies and Digital Humanities
(JT-DH-2024), Institute of Contemporary History, Ljubljana, Slovenia, 2024. URL: https://doi.org/10.
5281/zenodo.13936406. doi:10.5281/zenodo.13936406.
[6] H. Schütze, C. D. Manning, P. Raghavan, Introduction to information retrieval, volume 39, Cambridge</p>
        <p>University Press, Cambridge, 2008.
[7] B. Liu, Sentiment Analysis: Mining Opinions, Sentiments, and Emotions, Cambridge University
Press, 2015.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C. E.</given-names>
            <surname>Kramer</surname>
          </string-name>
          , L. Mitkovska,
          <article-title>Macedonian: A course for beginning and intermediate students</article-title>
          , University of Wisconsin Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jovanoski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Pachovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Nakov</surname>
          </string-name>
          ,
          <article-title>Sentiment analysis in Twitter for Macedonian</article-title>
          , in: R. Mitkov, G. Angelova,
          <string-name>
            <surname>K.</surname>
          </string-name>
          Bontcheva (Eds.),
          <source>Proceedings of the International Conference Recent Advances in Natural Language Processing</source>
          , INCOMA Ltd. Shoumen,
          <string-name>
            <surname>BULGARIA</surname>
          </string-name>
          , Hissar, Bulgaria,
          <year>2015</year>
          , pp.
          <fpage>249</fpage>
          -
          <lpage>257</lpage>
          . URL: https://aclanthology.org/R15-1034/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jahic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vičič</surname>
          </string-name>
          ,
          <article-title>Annotated lexicon for sentiment analysis in the Bosnian language</article-title>
          ,
          <source>Slovenščina</source>
          <volume>2</volume>
          .0: empirične,
          <source>aplikativne in interdisciplinarne raziskave 11</source>
          (
          <year>2023</year>
          )
          <fpage>59</fpage>
          -
          <lpage>83</lpage>
          . doi:
          <volume>10</volume>
          .4312/slo2.0.
          <year>2023</year>
          .
          <volume>2</volume>
          .
          <fpage>59</fpage>
          -
          <lpage>83</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Temnikova</surname>
          </string-name>
          , I. Marinova,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gargova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Margova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Komarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Stefanova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kireva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Vyatrova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Grigorova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Mandevski</surname>
          </string-name>
          , S. Minkov,
          <article-title>SM-FEEL-BG - the first Bulgarian datasets and classifiers for detecting feelings, emotions, and sentiments of Bulgarian social media text</article-title>
          , in: N.
          <string-name>
            <surname>Calzolari</surname>
            , M.-
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Kan</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Hoste</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Lenci</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Sakti</surname>
          </string-name>
          , N. Xue (Eds.),
          <source>Proceedings of the 2024 Joint International Conference on Computational Linguistics</source>
          ,
          <article-title>Language Resources and Evaluation (LREC-COLING 2024), ELRA</article-title>
          and
          <string-name>
            <given-names>ICCL</given-names>
            ,
            <surname>Torino</surname>
          </string-name>
          , Italia,
          <year>2024</year>
          , pp.
          <fpage>14954</fpage>
          -
          <lpage>14966</lpage>
          . URL: https://aclanthology.org/
          <year>2024</year>
          .lrec-main.
          <volume>1301</volume>
          /.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>