-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclassify.py
More file actions
36 lines (28 loc) Β· 937 Bytes
/
classify.py
File metadata and controls
36 lines (28 loc) Β· 937 Bytes
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
from regex_helper import classify_with_regex
from bert_helper import classify_with_bert
from llm_helper import classify_with_llm
def classify(logs):
labels = []
for source, log_msg in logs:
label = classify_log(source, log_msg)
labels.append(label)
return labels
def classify_log(source, log_msg):
if source == "LegacyCRM":
label = classify_with_llm(log_msg)
else:
label = classify_with_regex(log_msg)
if not label:
label = classify_with_bert(log_msg)
return label
def classify_csv(input_file):
import pandas as pd
df = pd.read_csv(input_file)
# Perform classification
df["target_label"] = classify(list(zip(df["source"], df["log_message"])))
# Save the modified file
output_file = "testing/output.csv"
df.to_csv(output_file, index=False)
return output_file
if __name__ == '__main__':
classify_csv("testing/test.csv")