Spaces:
Sleeping
Sleeping
Deploy-app
commited on
Upload 4 files
Browse files- dataset_tweet_sentiment_pilkada_DKI_2017.csv +0 -0
- main.py +182 -0
- requirements.txt +10 -0
- stopword_tweet_pilkada_DKI_2017.csv +784 -0
dataset_tweet_sentiment_pilkada_DKI_2017.csv
ADDED
The diff for this file is too large to render.
See raw diff
|
|
main.py
ADDED
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import pandas as pd
|
3 |
+
import numpy as np
|
4 |
+
import matplotlib.pyplot as plt
|
5 |
+
import seaborn as sns
|
6 |
+
import pickle
|
7 |
+
import nltk
|
8 |
+
import tensorflow as tf
|
9 |
+
import re
|
10 |
+
import nltk
|
11 |
+
from nltk.corpus import stopwords
|
12 |
+
from nltk.tokenize import word_tokenize, sent_tokenize
|
13 |
+
from sklearn.model_selection import train_test_split
|
14 |
+
from sklearn.metrics import classification_report, accuracy_score, confusion_matrix
|
15 |
+
import seaborn as sns
|
16 |
+
from transformers import BertTokenizer
|
17 |
+
from transformers import TFBertForSequenceClassification
|
18 |
+
nltk.download('punkt')
|
19 |
+
nltk.download('stopwords')
|
20 |
+
|
21 |
+
df = pd.read_csv("dataset_tweet_sentiment_pilkada_DKI_2017.csv")
|
22 |
+
|
23 |
+
df.rename(columns={
|
24 |
+
'Sentiment': 'sentiment',
|
25 |
+
'Pasangan Calon': 'calon',
|
26 |
+
'Text Tweet': 'text'
|
27 |
+
}, inplace=True)
|
28 |
+
|
29 |
+
df.dropna(inplace=True)
|
30 |
+
|
31 |
+
#preprocessing
|
32 |
+
def clean_text(text):
|
33 |
+
text = re.sub(r"https?://\S+|www\.\S+", "", text) #hapus url
|
34 |
+
text = re.sub(r"@\S+", "", text) #hapus mention
|
35 |
+
text = re.sub(r"#\S+", "", text) #hapus hastag
|
36 |
+
text = re.sub(r"\d+", "", text) #hapus nomor
|
37 |
+
text = re.sub(r"[^\w\s]", "", text) #hapus tanda baca
|
38 |
+
text = re.sub(r"(.)\1{2,}", r"\1", text) #hapus double karakter
|
39 |
+
text = text.strip() #hapus spasi di depan dan di belakang
|
40 |
+
text = text.lower() #ubah menjadi huruf kecil
|
41 |
+
return text
|
42 |
+
|
43 |
+
stopword_pilkada = pd.read_csv("stopword_tweet_pilkada_DKI_2017.csv", header=None)
|
44 |
+
stopword_pilkada.columns = ['stopword']
|
45 |
+
|
46 |
+
stop_words = set(stopwords.words('indonesian'))
|
47 |
+
additional_sw = set(stopword_pilkada.stopword.values)
|
48 |
+
stop_words = stop_words.union(additional_sw)
|
49 |
+
|
50 |
+
def remove_stopwords(text):
|
51 |
+
word_tokens = word_tokenize(text)
|
52 |
+
filtered_sentence = [w for w in word_tokens if not w in stop_words]
|
53 |
+
return " ".join(filtered_sentence)
|
54 |
+
|
55 |
+
def preprocess_text(text):
|
56 |
+
text = clean_text(text)
|
57 |
+
text = remove_stopwords(text)
|
58 |
+
return(text)
|
59 |
+
|
60 |
+
text_to_process = "sangat gak bagus pak ahok"
|
61 |
+
processed_text = preprocess_text(text_to_process)
|
62 |
+
print(processed_text)
|
63 |
+
|
64 |
+
df_train, df_test = train_test_split(df, test_size=0.3, random_state=42)
|
65 |
+
df_val, df_test = train_test_split(df_test, test_size=0.5, random_state=42)
|
66 |
+
|
67 |
+
print("Train Data Size: ", len(df_train)) #70%
|
68 |
+
print("Validation Data Size: ", len(df_val)) #15%
|
69 |
+
print("Test Data Size: ", len(df_test)) #15%
|
70 |
+
|
71 |
+
PRETRAINED_MODEL = "indobenchmark/indobert-base-p2"
|
72 |
+
tokenizer = BertTokenizer.from_pretrained(PRETRAINED_MODEL)
|
73 |
+
vocab = tokenizer.get_vocab()
|
74 |
+
|
75 |
+
#mengecek distrubusi data untuk mengetahui panjang maksimal untuk token
|
76 |
+
token_lens = []
|
77 |
+
|
78 |
+
for txt in df["text"]:
|
79 |
+
tokens = tokenizer.encode(txt)
|
80 |
+
token_lens.append(len(tokens))
|
81 |
+
|
82 |
+
MAX_LEN = 60
|
83 |
+
|
84 |
+
df_train['sentiment'] = df_train['sentiment'].map({'positive': 1, 'negative': 0})
|
85 |
+
df_val['sentiment'] = df_val['sentiment'].map({'positive': 1, 'negative': 0})
|
86 |
+
|
87 |
+
def encode_sentence(sent):
|
88 |
+
return tokenizer.encode_plus(
|
89 |
+
sent,
|
90 |
+
add_special_tokens =True,
|
91 |
+
padding = 'max_length',
|
92 |
+
truncation = 'longest_first',
|
93 |
+
max_length = MAX_LEN,
|
94 |
+
return_attention_mask =True,
|
95 |
+
return_token_type_ids=True
|
96 |
+
)
|
97 |
+
|
98 |
+
def map_example_to_dict(input_ids, attention_masks, token_type_ids, label):
|
99 |
+
return{
|
100 |
+
"input_ids": input_ids,
|
101 |
+
"attention_mask": attention_masks,
|
102 |
+
"token_type_ids": token_type_ids,
|
103 |
+
}, label
|
104 |
+
|
105 |
+
def encode_dataset(ds, limit=-1):
|
106 |
+
input_ids_list = []
|
107 |
+
attention_mask_list = []
|
108 |
+
token_type_ids_list = []
|
109 |
+
label_list = []
|
110 |
+
|
111 |
+
for index, row in ds.iterrows():
|
112 |
+
if limit > 0 and index >= limit:
|
113 |
+
break
|
114 |
+
|
115 |
+
input_ids, attention_mask, token_type_ids =encode_sentence(row["text"])["input_ids"],\
|
116 |
+
encode_sentence(row["text"])["attention_mask"],\
|
117 |
+
encode_sentence(row["text"])["token_type_ids"]
|
118 |
+
label = row["sentiment"]
|
119 |
+
|
120 |
+
input_ids_list.append(input_ids)
|
121 |
+
attention_mask_list.append(attention_mask)
|
122 |
+
token_type_ids_list.append(token_type_ids)
|
123 |
+
label_list.append(label)
|
124 |
+
|
125 |
+
return tf.data.Dataset.from_tensor_slices((
|
126 |
+
input_ids_list,
|
127 |
+
attention_mask_list,
|
128 |
+
token_type_ids_list,
|
129 |
+
label_list
|
130 |
+
)).map(map_example_to_dict)
|
131 |
+
|
132 |
+
EPOCH = 1
|
133 |
+
BATCH_SIZE = 42
|
134 |
+
LEARNING_RATE = 1e-5
|
135 |
+
|
136 |
+
df_train_shuffled = df_train.sample(frac=1, random_state=42)
|
137 |
+
train_data = encode_dataset(df_train_shuffled).batch(BATCH_SIZE)
|
138 |
+
val_data = encode_dataset(df_val).batch(BATCH_SIZE)
|
139 |
+
test_data = encode_dataset(df_test).batch(BATCH_SIZE)
|
140 |
+
|
141 |
+
model = TFBertForSequenceClassification.from_pretrained(PRETRAINED_MODEL, num_labels=2)
|
142 |
+
|
143 |
+
model.summary()
|
144 |
+
|
145 |
+
optimizer = tf.keras.optimizers.Adam(learning_rate=LEARNING_RATE)
|
146 |
+
loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
|
147 |
+
metric = tf.keras.metrics.SparseCategoricalAccuracy('accuracy')
|
148 |
+
|
149 |
+
model.compile(optimizer, loss=loss, metrics=[metric])
|
150 |
+
|
151 |
+
history = model.fit(
|
152 |
+
train_data,
|
153 |
+
epochs=EPOCH,
|
154 |
+
batch_size=BATCH_SIZE,
|
155 |
+
validation_data=val_data
|
156 |
+
)
|
157 |
+
|
158 |
+
|
159 |
+
# Convert string labels to numeric format for the test dataset
|
160 |
+
df_test['sentiment'] = df_test['sentiment'].map({'positive': 1, 'negative': 0})
|
161 |
+
|
162 |
+
# Create the test_data with the updated DataFrame
|
163 |
+
test_data = encode_dataset(df_test).batch(BATCH_SIZE)
|
164 |
+
|
165 |
+
# Evaluate the model
|
166 |
+
model.evaluate(test_data)
|
167 |
+
|
168 |
+
y_pred = model.predict(test_data)
|
169 |
+
y_actual = np.concatenate([y for x, y in test_data], axis=0)
|
170 |
+
|
171 |
+
labels = ["negative", "positive"]
|
172 |
+
|
173 |
+
def predict(text):
|
174 |
+
input_ids, attention_mask, token_type_ids = encode_sentence(text)["input_ids"],\
|
175 |
+
encode_sentence(text)["attention_mask"],\
|
176 |
+
encode_sentence(text)["token_type_ids"]
|
177 |
+
input_ids = tf.expand_dims(input_ids, 0)
|
178 |
+
attention_mask = tf.expand_dims(attention_mask, 0)
|
179 |
+
token_type_ids = tf.expand_dims(token_type_ids, 0)
|
180 |
+
|
181 |
+
outputs = model([input_ids, attention_mask, token_type_ids])
|
182 |
+
return labels[np.argmax(tf.nn.softmax(outputs[0], axis=1).numpy()[0])]
|
requirements.txt
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
matplotlib==3.8.3
|
2 |
+
nltk==3.8.1
|
3 |
+
numpy==1.26.4
|
4 |
+
pandas==2.2.2
|
5 |
+
scikit_learn==1.4.1.post1
|
6 |
+
seaborn==0.13.2
|
7 |
+
streamlit==1.31.1
|
8 |
+
tf-keras==2.16.0
|
9 |
+
tensorflow==2.16.1
|
10 |
+
transformers==4.41.2
|
stopword_tweet_pilkada_DKI_2017.csv
ADDED
@@ -0,0 +1,784 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
ada
|
2 |
+
adalah
|
3 |
+
adanya
|
4 |
+
adapun
|
5 |
+
agak
|
6 |
+
agaknya
|
7 |
+
agar
|
8 |
+
aja
|
9 |
+
akan
|
10 |
+
akankah
|
11 |
+
akhir
|
12 |
+
akhiri
|
13 |
+
akhirnya
|
14 |
+
aku
|
15 |
+
akulah
|
16 |
+
amat
|
17 |
+
amatlah
|
18 |
+
anda
|
19 |
+
andalah
|
20 |
+
antar
|
21 |
+
antara
|
22 |
+
antaranya
|
23 |
+
apa
|
24 |
+
apaan
|
25 |
+
apabila
|
26 |
+
apakah
|
27 |
+
apalagi
|
28 |
+
apatah
|
29 |
+
artinya
|
30 |
+
asal
|
31 |
+
asalkan
|
32 |
+
atas
|
33 |
+
atau
|
34 |
+
ataukah
|
35 |
+
ataupun
|
36 |
+
awal
|
37 |
+
awalnya
|
38 |
+
bagai
|
39 |
+
bagaikan
|
40 |
+
bagaimana
|
41 |
+
bagaimanakah
|
42 |
+
bagaimanapun
|
43 |
+
bagi
|
44 |
+
bagian
|
45 |
+
bahkan
|
46 |
+
bahwa
|
47 |
+
bahwasanya
|
48 |
+
baik
|
49 |
+
bakal
|
50 |
+
bakalan
|
51 |
+
balik
|
52 |
+
banyak
|
53 |
+
bapak
|
54 |
+
baru
|
55 |
+
bawah
|
56 |
+
bbrp
|
57 |
+
beberapa
|
58 |
+
begini
|
59 |
+
beginian
|
60 |
+
beginikah
|
61 |
+
beginilah
|
62 |
+
begitu
|
63 |
+
begitukah
|
64 |
+
begitulah
|
65 |
+
begitupun
|
66 |
+
bekerja
|
67 |
+
belakang
|
68 |
+
belakangan
|
69 |
+
belum
|
70 |
+
belumlah
|
71 |
+
benar
|
72 |
+
benarkah
|
73 |
+
benarlah
|
74 |
+
berada
|
75 |
+
berakhir
|
76 |
+
berakhirlah
|
77 |
+
berakhirnya
|
78 |
+
berapa
|
79 |
+
berapakah
|
80 |
+
berapalah
|
81 |
+
berapapun
|
82 |
+
berarti
|
83 |
+
berawal
|
84 |
+
berbagai
|
85 |
+
berdatangan
|
86 |
+
beri
|
87 |
+
berikan
|
88 |
+
berikut
|
89 |
+
berikutnya
|
90 |
+
berjumlah
|
91 |
+
berkali-kali
|
92 |
+
berkata
|
93 |
+
berkehendak
|
94 |
+
berkeinginan
|
95 |
+
berkenaan
|
96 |
+
berlainan
|
97 |
+
berlalu
|
98 |
+
berlangsung
|
99 |
+
berlebihan
|
100 |
+
bermacam
|
101 |
+
bermacam-macam
|
102 |
+
bermaksud
|
103 |
+
bermula
|
104 |
+
bersama
|
105 |
+
bersama-sama
|
106 |
+
bersiap
|
107 |
+
bersiap-siap
|
108 |
+
bertanya
|
109 |
+
bertanya-tanya
|
110 |
+
berturut
|
111 |
+
berturut-turut
|
112 |
+
bertutur
|
113 |
+
berujar
|
114 |
+
berupa
|
115 |
+
besar
|
116 |
+
betul
|
117 |
+
betulkah
|
118 |
+
bgt
|
119 |
+
biar
|
120 |
+
biasa
|
121 |
+
biasanya
|
122 |
+
bila
|
123 |
+
bilakah
|
124 |
+
bisa
|
125 |
+
bisakah
|
126 |
+
boleh
|
127 |
+
bolehkah
|
128 |
+
bolehlah
|
129 |
+
buat
|
130 |
+
bukan
|
131 |
+
bukankah
|
132 |
+
bukanlah
|
133 |
+
bukannya
|
134 |
+
bulan
|
135 |
+
bung
|
136 |
+
cara
|
137 |
+
caranya
|
138 |
+
cukup
|
139 |
+
cukupkah
|
140 |
+
cukuplah
|
141 |
+
cuma
|
142 |
+
dahulu
|
143 |
+
dalam
|
144 |
+
dan
|
145 |
+
dapat
|
146 |
+
dari
|
147 |
+
daripada
|
148 |
+
datang
|
149 |
+
dekat
|
150 |
+
demi
|
151 |
+
demikian
|
152 |
+
demikianlah
|
153 |
+
dengan
|
154 |
+
depan
|
155 |
+
dg
|
156 |
+
dgn
|
157 |
+
di
|
158 |
+
dia
|
159 |
+
diakhiri
|
160 |
+
diakhirinya
|
161 |
+
dialah
|
162 |
+
diantara
|
163 |
+
diantaranya
|
164 |
+
diberi
|
165 |
+
diberikan
|
166 |
+
diberikannya
|
167 |
+
dibuat
|
168 |
+
dibuatnya
|
169 |
+
didapat
|
170 |
+
didatangkan
|
171 |
+
digunakan
|
172 |
+
diibaratkan
|
173 |
+
diibaratkannya
|
174 |
+
diingat
|
175 |
+
diingatkan
|
176 |
+
diinginkan
|
177 |
+
dijawab
|
178 |
+
dijelaskan
|
179 |
+
dijelaskannya
|
180 |
+
dikarenakan
|
181 |
+
dikatakan
|
182 |
+
dikatakannya
|
183 |
+
dikerjakan
|
184 |
+
diketahui
|
185 |
+
diketahuinya
|
186 |
+
dikira
|
187 |
+
dilakukan
|
188 |
+
dilalui
|
189 |
+
dilihat
|
190 |
+
dimaksud
|
191 |
+
dimaksudkan
|
192 |
+
dimaksudkannya
|
193 |
+
dimaksudnya
|
194 |
+
diminta
|
195 |
+
dimintai
|
196 |
+
dimisalkan
|
197 |
+
dimulai
|
198 |
+
dimulailah
|
199 |
+
dimulainya
|
200 |
+
dimungkinkan
|
201 |
+
dini
|
202 |
+
dipastikan
|
203 |
+
diperbuat
|
204 |
+
diperbuatnya
|
205 |
+
dipergunakan
|
206 |
+
diperkirakan
|
207 |
+
diperlihatkan
|
208 |
+
diperlukan
|
209 |
+
diperlukannya
|
210 |
+
dipersoalkan
|
211 |
+
dipertanyakan
|
212 |
+
dipunyai
|
213 |
+
diri
|
214 |
+
dirinya
|
215 |
+
disampaikan
|
216 |
+
disebut
|
217 |
+
disebutkan
|
218 |
+
disebutkannya
|
219 |
+
disini
|
220 |
+
disinilah
|
221 |
+
ditambahkan
|
222 |
+
ditandaskan
|
223 |
+
ditanya
|
224 |
+
ditanyai
|
225 |
+
ditanyakan
|
226 |
+
ditegaskan
|
227 |
+
ditujukan
|
228 |
+
ditunjuk
|
229 |
+
ditunjuki
|
230 |
+
ditunjukkan
|
231 |
+
ditunjukkannya
|
232 |
+
ditunjuknya
|
233 |
+
dituturkan
|
234 |
+
dituturkannya
|
235 |
+
diucapkan
|
236 |
+
diucapkannya
|
237 |
+
diungkapkan
|
238 |
+
dong
|
239 |
+
dpt
|
240 |
+
dr
|
241 |
+
dua
|
242 |
+
dulu
|
243 |
+
empat
|
244 |
+
enggak
|
245 |
+
enggaknya
|
246 |
+
entah
|
247 |
+
entahlah
|
248 |
+
ga
|
249 |
+
gak
|
250 |
+
gini
|
251 |
+
guna
|
252 |
+
gunakan
|
253 |
+
hal
|
254 |
+
hampir
|
255 |
+
hanya
|
256 |
+
hanyalah
|
257 |
+
hari
|
258 |
+
harus
|
259 |
+
haruslah
|
260 |
+
harusnya
|
261 |
+
hendak
|
262 |
+
hendaklah
|
263 |
+
hendaknya
|
264 |
+
hingga
|
265 |
+
ia
|
266 |
+
ialah
|
267 |
+
ibarat
|
268 |
+
ibaratkan
|
269 |
+
ibaratnya
|
270 |
+
ibu
|
271 |
+
ikut
|
272 |
+
ingat
|
273 |
+
ingat-ingat
|
274 |
+
ingin
|
275 |
+
inginkah
|
276 |
+
inginkan
|
277 |
+
ini
|
278 |
+
inikah
|
279 |
+
inilah
|
280 |
+
itu
|
281 |
+
itukah
|
282 |
+
itulah
|
283 |
+
jadi
|
284 |
+
jadilah
|
285 |
+
jadinya
|
286 |
+
jangan
|
287 |
+
jangankan
|
288 |
+
janganlah
|
289 |
+
jauh
|
290 |
+
jawab
|
291 |
+
jawaban
|
292 |
+
jawabnya
|
293 |
+
jelas
|
294 |
+
jelaskan
|
295 |
+
jelaslah
|
296 |
+
jelasnya
|
297 |
+
jika
|
298 |
+
jikalau
|
299 |
+
juga
|
300 |
+
jumlah
|
301 |
+
jumlahnya
|
302 |
+
justru
|
303 |
+
kah
|
304 |
+
kala
|
305 |
+
kalau
|
306 |
+
kalaulah
|
307 |
+
kalaupun
|
308 |
+
kalian
|
309 |
+
kalo
|
310 |
+
kami
|
311 |
+
kamilah
|
312 |
+
kamu
|
313 |
+
kamulah
|
314 |
+
kan
|
315 |
+
kapan
|
316 |
+
kapankah
|
317 |
+
kapanpun
|
318 |
+
karena
|
319 |
+
karenanya
|
320 |
+
kasus
|
321 |
+
kata
|
322 |
+
katakan
|
323 |
+
katakanlah
|
324 |
+
katanya
|
325 |
+
ke
|
326 |
+
keadaan
|
327 |
+
kebetulan
|
328 |
+
kecil
|
329 |
+
kedua
|
330 |
+
keduanya
|
331 |
+
keinginan
|
332 |
+
kelamaan
|
333 |
+
kelihatan
|
334 |
+
kelihatannya
|
335 |
+
kelima
|
336 |
+
keluar
|
337 |
+
kembali
|
338 |
+
kemudian
|
339 |
+
kemungkinan
|
340 |
+
kemungkinannya
|
341 |
+
kenapa
|
342 |
+
kepada
|
343 |
+
kepadanya
|
344 |
+
kesampaian
|
345 |
+
keseluruhan
|
346 |
+
keseluruhannya
|
347 |
+
keterlaluan
|
348 |
+
ketika
|
349 |
+
khususnya
|
350 |
+
kini
|
351 |
+
kinilah
|
352 |
+
kira
|
353 |
+
kira-kira
|
354 |
+
kiranya
|
355 |
+
kita
|
356 |
+
kitalah
|
357 |
+
kok
|
358 |
+
kurang
|
359 |
+
lagi
|
360 |
+
lagian
|
361 |
+
lah
|
362 |
+
lain
|
363 |
+
lainnya
|
364 |
+
lalu
|
365 |
+
lama
|
366 |
+
lamanya
|
367 |
+
lanjut
|
368 |
+
lanjutnya
|
369 |
+
lebih
|
370 |
+
lewat
|
371 |
+
lima
|
372 |
+
luar
|
373 |
+
macam
|
374 |
+
maka
|
375 |
+
makanya
|
376 |
+
makin
|
377 |
+
malah
|
378 |
+
malahan
|
379 |
+
mampu
|
380 |
+
mampukah
|
381 |
+
mana
|
382 |
+
manakala
|
383 |
+
manalagi
|
384 |
+
mas
|
385 |
+
masa
|
386 |
+
masalah
|
387 |
+
masalahnya
|
388 |
+
masih
|
389 |
+
masihkah
|
390 |
+
masing
|
391 |
+
masing-masing
|
392 |
+
mau
|
393 |
+
maupun
|
394 |
+
melainkan
|
395 |
+
melakukan
|
396 |
+
melalui
|
397 |
+
melihat
|
398 |
+
melihatnya
|
399 |
+
memang
|
400 |
+
memastikan
|
401 |
+
memberi
|
402 |
+
memberikan
|
403 |
+
membuat
|
404 |
+
memerlukan
|
405 |
+
memihak
|
406 |
+
meminta
|
407 |
+
memintakan
|
408 |
+
memisalkan
|
409 |
+
memperbuat
|
410 |
+
mempergunakan
|
411 |
+
memperkirakan
|
412 |
+
memperlihatkan
|
413 |
+
mempersiapkan
|
414 |
+
mempersoalkan
|
415 |
+
mempertanyakan
|
416 |
+
mempunyai
|
417 |
+
memulai
|
418 |
+
memungkinkan
|
419 |
+
menaiki
|
420 |
+
menambahkan
|
421 |
+
menandaskan
|
422 |
+
menanti
|
423 |
+
menanti-nanti
|
424 |
+
menantikan
|
425 |
+
menanya
|
426 |
+
menanyai
|
427 |
+
menanyakan
|
428 |
+
mendapat
|
429 |
+
mendapatkan
|
430 |
+
mendatang
|
431 |
+
mendatangi
|
432 |
+
mendatangkan
|
433 |
+
menegaskan
|
434 |
+
mengakhiri
|
435 |
+
mengapa
|
436 |
+
mengatakan
|
437 |
+
mengatakannya
|
438 |
+
mengenai
|
439 |
+
mengerjakan
|
440 |
+
mengetahui
|
441 |
+
menggunakan
|
442 |
+
menghendaki
|
443 |
+
mengibaratkan
|
444 |
+
mengibaratkannya
|
445 |
+
mengingat
|
446 |
+
mengingatkan
|
447 |
+
menginginkan
|
448 |
+
mengira
|
449 |
+
mengucapkan
|
450 |
+
mengucapkannya
|
451 |
+
mengungkapkan
|
452 |
+
menjadi
|
453 |
+
menjawab
|
454 |
+
menjelaskan
|
455 |
+
menuju
|
456 |
+
menunjuk
|
457 |
+
menunjuki
|
458 |
+
menunjukkan
|
459 |
+
menunjuknya
|
460 |
+
menurut
|
461 |
+
menuturkan
|
462 |
+
menyampaikan
|
463 |
+
menyangkut
|
464 |
+
menyatakan
|
465 |
+
menyebutkan
|
466 |
+
menyeluruh
|
467 |
+
menyiapkan
|
468 |
+
merasa
|
469 |
+
mereka
|
470 |
+
merekalah
|
471 |
+
merupakan
|
472 |
+
meski
|
473 |
+
meskipun
|
474 |
+
meyakini
|
475 |
+
meyakinkan
|
476 |
+
minta
|
477 |
+
mirip
|
478 |
+
misal
|
479 |
+
misalkan
|
480 |
+
misalnya
|
481 |
+
mula
|
482 |
+
mulai
|
483 |
+
mulailah
|
484 |
+
mulanya
|
485 |
+
mungkin
|
486 |
+
mungkinkah
|
487 |
+
nah
|
488 |
+
naik
|
489 |
+
namun
|
490 |
+
nanti
|
491 |
+
nantinya
|
492 |
+
nih
|
493 |
+
nyaris
|
494 |
+
nyatanya
|
495 |
+
oleh
|
496 |
+
olehnya
|
497 |
+
opo
|
498 |
+
pada
|
499 |
+
padahal
|
500 |
+
padanya
|
501 |
+
pak
|
502 |
+
paling
|
503 |
+
panjang
|
504 |
+
pantas
|
505 |
+
para
|
506 |
+
pas
|
507 |
+
pasti
|
508 |
+
pastilah
|
509 |
+
penting
|
510 |
+
pentingnya
|
511 |
+
per
|
512 |
+
percuma
|
513 |
+
perlu
|
514 |
+
perlukah
|
515 |
+
perlunya
|
516 |
+
pernah
|
517 |
+
persoalan
|
518 |
+
pertama
|
519 |
+
pertama-tama
|
520 |
+
pertanyaan
|
521 |
+
pertanyakan
|
522 |
+
pihak
|
523 |
+
pihaknya
|
524 |
+
pukul
|
525 |
+
pula
|
526 |
+
pun
|
527 |
+
punya
|
528 |
+
rasa
|
529 |
+
rasanya
|
530 |
+
rata
|
531 |
+
rupanya
|
532 |
+
saat
|
533 |
+
saatnya
|
534 |
+
saja
|
535 |
+
sajalah
|
536 |
+
saling
|
537 |
+
sama
|
538 |
+
sama-sama
|
539 |
+
sambil
|
540 |
+
sampai
|
541 |
+
sampai-sampai
|
542 |
+
sampaikan
|
543 |
+
sana
|
544 |
+
sangat
|
545 |
+
sangatlah
|
546 |
+
satu
|
547 |
+
saya
|
548 |
+
sayalah
|
549 |
+
se
|
550 |
+
seandainya
|
551 |
+
sebab
|
552 |
+
sebabnya
|
553 |
+
sebagai
|
554 |
+
sebagaimana
|
555 |
+
sebagainya
|
556 |
+
sebagian
|
557 |
+
sebaik
|
558 |
+
sebaik-baiknya
|
559 |
+
sebaiknya
|
560 |
+
sebaliknya
|
561 |
+
sebanyak
|
562 |
+
sebegini
|
563 |
+
sebegitu
|
564 |
+
sebelum
|
565 |
+
sebelumnya
|
566 |
+
sebenarnya
|
567 |
+
seberapa
|
568 |
+
sebesar
|
569 |
+
sebetulnya
|
570 |
+
sebisanya
|
571 |
+
sebuah
|
572 |
+
sebut
|
573 |
+
sebutlah
|
574 |
+
sebutnya
|
575 |
+
secara
|
576 |
+
secukupnya
|
577 |
+
sedang
|
578 |
+
sedangkan
|
579 |
+
sedemikian
|
580 |
+
sedikit
|
581 |
+
sedikitnya
|
582 |
+
seenaknya
|
583 |
+
segala
|
584 |
+
segalanya
|
585 |
+
segera
|
586 |
+
seharusnya
|
587 |
+
sehingga
|
588 |
+
seingat
|
589 |
+
sejak
|
590 |
+
sejauh
|
591 |
+
sejenak
|
592 |
+
sejumlah
|
593 |
+
sekadar
|
594 |
+
sekadarnya
|
595 |
+
sekali
|
596 |
+
sekali-kali
|
597 |
+
sekalian
|
598 |
+
sekaligus
|
599 |
+
sekalipun
|
600 |
+
sekarang
|
601 |
+
sekecil
|
602 |
+
seketika
|
603 |
+
sekian
|
604 |
+
sekiranya
|
605 |
+
sekitar
|
606 |
+
sekitarnya
|
607 |
+
sekurang-kurangnya
|
608 |
+
sekurangnya
|
609 |
+
sela
|
610 |
+
selain
|
611 |
+
selaku
|
612 |
+
selalu
|
613 |
+
selama
|
614 |
+
selama-lamanya
|
615 |
+
selamanya
|
616 |
+
selanjutnya
|
617 |
+
seluruh
|
618 |
+
seluruhnya
|
619 |
+
semacam
|
620 |
+
semakin
|
621 |
+
semampu
|
622 |
+
semampunya
|
623 |
+
semasa
|
624 |
+
semasih
|
625 |
+
semata
|
626 |
+
semata-mata
|
627 |
+
semaunya
|
628 |
+
sementara
|
629 |
+
semisal
|
630 |
+
semisalnya
|
631 |
+
semoga
|
632 |
+
sempat
|
633 |
+
semua
|
634 |
+
semuanya
|
635 |
+
semula
|
636 |
+
sendiri
|
637 |
+
sendirian
|
638 |
+
sendirinya
|
639 |
+
seolah
|
640 |
+
seolah-olah
|
641 |
+
seorang
|
642 |
+
sepanjang
|
643 |
+
sepantasnya
|
644 |
+
sepantasnyalah
|
645 |
+
seperlunya
|
646 |
+
seperti
|
647 |
+
sepertinya
|
648 |
+
sepihak
|
649 |
+
sering
|
650 |
+
seringnya
|
651 |
+
serta
|
652 |
+
serupa
|
653 |
+
sesaat
|
654 |
+
sesama
|
655 |
+
sesampai
|
656 |
+
sesegera
|
657 |
+
sesekali
|
658 |
+
seseorang
|
659 |
+
sesuatu
|
660 |
+
sesuatunya
|
661 |
+
sesudah
|
662 |
+
sesudahnya
|
663 |
+
setelah
|
664 |
+
setempat
|
665 |
+
setengah
|
666 |
+
seterusnya
|
667 |
+
setiap
|
668 |
+
setiba
|
669 |
+
setibanya
|
670 |
+
setidak-tidaknya
|
671 |
+
setidaknya
|
672 |
+
setinggi
|
673 |
+
seusai
|
674 |
+
sewaktu
|
675 |
+
siap
|
676 |
+
siapa
|
677 |
+
siapakah
|
678 |
+
siapapun
|
679 |
+
sini
|
680 |
+
sinilah
|
681 |
+
skrg
|
682 |
+
soal
|
683 |
+
soalnya
|
684 |
+
suatu
|
685 |
+
sudah
|
686 |
+
sudahkah
|
687 |
+
sudahlah
|
688 |
+
supaya
|
689 |
+
tadi
|
690 |
+
tadinya
|
691 |
+
tahu
|
692 |
+
tahun
|
693 |
+
tak
|
694 |
+
tambah
|
695 |
+
tambahnya
|
696 |
+
tampak
|
697 |
+
tampaknya
|
698 |
+
tandas
|
699 |
+
tandasnya
|
700 |
+
tanpa
|
701 |
+
tanya
|
702 |
+
tanyakan
|
703 |
+
tanyanya
|
704 |
+
tapi
|
705 |
+
tdk
|
706 |
+
tegas
|
707 |
+
tegasnya
|
708 |
+
telah
|
709 |
+
tempat
|
710 |
+
tengah
|
711 |
+
tentang
|
712 |
+
tentu
|
713 |
+
tentulah
|
714 |
+
tentunya
|
715 |
+
tepat
|
716 |
+
terakhir
|
717 |
+
terasa
|
718 |
+
terbanyak
|
719 |
+
terdahulu
|
720 |
+
terdapat
|
721 |
+
terdiri
|
722 |
+
terhadap
|
723 |
+
terhadapnya
|
724 |
+
teringat
|
725 |
+
teringat-ingat
|
726 |
+
terjadi
|
727 |
+
terjadilah
|
728 |
+
terjadinya
|
729 |
+
terkira
|
730 |
+
terlalu
|
731 |
+
terlebih
|
732 |
+
terlihat
|
733 |
+
termasuk
|
734 |
+
ternyata
|
735 |
+
tersampaikan
|
736 |
+
tersebut
|
737 |
+
tersebutlah
|
738 |
+
tertentu
|
739 |
+
tertuju
|
740 |
+
terus
|
741 |
+
terutama
|
742 |
+
tetap
|
743 |
+
tetapi
|
744 |
+
tiap
|
745 |
+
tiba
|
746 |
+
tiba-tiba
|
747 |
+
tidak
|
748 |
+
tidakkah
|
749 |
+
tidaklah
|
750 |
+
tiga
|
751 |
+
tinggi
|
752 |
+
toh
|
753 |
+
tunjuk
|
754 |
+
turut
|
755 |
+
tutur
|
756 |
+
tuturnya
|
757 |
+
ucap
|
758 |
+
ucapnya
|
759 |
+
udah
|
760 |
+
udeh
|
761 |
+
ujar
|
762 |
+
ujarnya
|
763 |
+
umum
|
764 |
+
umumnya
|
765 |
+
ungkap
|
766 |
+
ungkapnya
|
767 |
+
untuk
|
768 |
+
usah
|
769 |
+
usai
|
770 |
+
via
|
771 |
+
waduh
|
772 |
+
wah
|
773 |
+
wahai
|
774 |
+
waktu
|
775 |
+
waktunya
|
776 |
+
walau
|
777 |
+
walaupun
|
778 |
+
wong
|
779 |
+
ya
|
780 |
+
yaitu
|
781 |
+
yakin
|
782 |
+
yakni
|
783 |
+
yang
|
784 |
+
yg
|