File size: 2,598 Bytes
541fa1f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
from pathlib import Path


ROOT_DIR = Path(__file__).resolve().parents[2]
DATA_PATH = ROOT_DIR / "data" / "processed" / "matcha_sentiment_binary.csv"
ARTIFACT_DIR = ROOT_DIR / "artifacts"
MODEL_DIR = ROOT_DIR / "models"

LABEL2ID = {"Negatif": 0, "Positif": 1}
ID2LABEL = {0: "Negatif", 1: "Positif"}

DEFAULT_TRANSFORMER_MODELS = [
    "ChristopherA08/IndoELECTRA",
    "naufalihsan/indonesian-sbert-large",
    "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
    "w11wo/indonesian-roberta-base-sentiment-classifier",
    "cahya/distilbert-base-indonesian",
]

CLASSICAL_MODELS = [
    "logistic_regression",
    "linear_svm",
    "random_forest",
    "extra_trees",
    "gradient_boosting",
]

INDONESIAN_STOPWORDS = {
    "ada",
    "adalah",
    "agar",
    "akan",
    "aku",
    "anda",
    "apa",
    "atau",
    "bagaimana",
    "bagi",
    "bagian",
    "bahwa",
    "baik",
    "banyak",
    "baru",
    "begitu",
    "belum",
    "benar",
    "berapa",
    "berada",
    "berbagai",
    "beri",
    "berikut",
    "bersama",
    "bisa",
    "buat",
    "cukup",
    "dalam",
    "dan",
    "dapat",
    "dari",
    "daripada",
    "dengan",
    "di",
    "dia",
    "dibanding",
    "diberikan",
    "diri",
    "dulu",
    "hingga",
    "ia",
    "ini",
    "itu",
    "jadi",
    "juga",
    "kalau",
    "kami",
    "kan",
    "karena",
    "ke",
    "kembali",
    "kemudian",
    "kepada",
    "ketika",
    "lagi",
    "lebih",
    "maka",
    "makanan",
    "makin",
    "masih",
    "melalui",
    "memang",
    "mereka",
    "menu",
    "meski",
    "minuman",
    "mungkin",
    "namun",
    "oleh",
    "pada",
    "para",
    "pasti",
    "pernah",
    "perlu",
    "saat",
    "saja",
    "saling",
    "sama",
    "sambil",
    "sampai",
    "sangat",
    "saya",
    "sebagai",
    "sebaiknya",
    "sebelum",
    "sebelumnya",
    "sebuah",
    "secara",
    "sedang",
    "sedikit",
    "sehingga",
    "sejak",
    "sekali",
    "sekitar",
    "selain",
    "selama",
    "seluruh",
    "semua",
    "sendiri",
    "seperti",
    "serta",
    "setelah",
    "setidaknya",
    "setiap",
    "sudah",
    "supaya",
    "tadi",
    "tanpa",
    "tapi",
    "telah",
    "tempat",
    "tentang",
    "tentu",
    "terasa",
    "terdapat",
    "tergolong",
    "tersebut",
    "tetapi",
    "the",
    "to",
    "untuk",
    "yang",
}

DOMAIN_STOPWORDS = {
    "gandaria",
    "city",
    "gc",
    "green",
    "ikuya",
    "ikuyo",
    "matcha",
    "matchanya",
    "matchaya",
    "milk",
    "tea",
}

STOPWORDS = INDONESIAN_STOPWORDS | DOMAIN_STOPWORDS