Spaces:
Running
Running
Mitesh Koshiya
commited on
Commit
·
b3c91e5
1
Parent(s):
8efae68
Expense keyword updates
Browse files
main.py
CHANGED
@@ -152,7 +152,11 @@ expense_keywords = [
|
|
152 |
"paid", "bought", "purchased", "ordered", "spent", "payment",
|
153 |
"recharged", "booked", "transaction", "debit", "renewed",
|
154 |
"credit card", "cash", "amount", "transfer", "EMI", "wallet",
|
155 |
-
"petrol", "bill", "invoice"
|
|
|
|
|
|
|
|
|
156 |
]
|
157 |
|
158 |
class TextInput(BaseModel):
|
@@ -716,6 +720,15 @@ async def analyze(input: TextInput):
|
|
716 |
|
717 |
best_label = label_map.get(best_label, best_label)
|
718 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
719 |
if "reported" in text or "announced" in text or "collapsed" in text:
|
720 |
if best_label in ["task", "reminder", "event"]:
|
721 |
best_label = "news"
|
@@ -736,12 +749,13 @@ async def analyze(input: TextInput):
|
|
736 |
mood = estimate_mood(text)
|
737 |
tags = generate_tags(best_label, text)
|
738 |
language_detected = detect_language(text)
|
739 |
-
sentiment_score = get_sentiment_score(text)
|
740 |
entities = await asyncio.to_thread(extract_entities, text)
|
741 |
people = entities["people"] # Extracted people entities
|
742 |
intent = infer_intent(best_label, text)
|
743 |
urgency_score = get_urgency_score(text, parsed_dates)
|
744 |
detected_stores = detect_store_category(text)
|
|
|
745 |
expense_category = ""
|
746 |
if best_label == "expense" or best_label == "purchase":
|
747 |
expense_category = predict_expense_category(text, detected_stores)
|
@@ -778,7 +792,7 @@ async def analyze(input: TextInput):
|
|
778 |
"people": people,
|
779 |
"mood": mood,
|
780 |
"language": language_detected,
|
781 |
-
"sentiment_score":
|
782 |
"tags": tags,
|
783 |
"action_required": action_required,
|
784 |
"entities": entities,
|
@@ -803,5 +817,4 @@ async def analyze(input: TextInput):
|
|
803 |
result.pop("raw_json", None)
|
804 |
|
805 |
# Return the result as JSON response
|
806 |
-
return ORJSONResponse(content=result)
|
807 |
-
|
|
|
152 |
"paid", "bought", "purchased", "ordered", "spent", "payment",
|
153 |
"recharged", "booked", "transaction", "debit", "renewed",
|
154 |
"credit card", "cash", "amount", "transfer", "EMI", "wallet",
|
155 |
+
"petrol", "bill", "invoice", "kharida", "kharcha", "kharch", "bill", "paisa", "khareed", "order", "le liya", "diya", "khud diya", "khud kharida",
|
156 |
+
"expense", "cost", "buy", "buying", "purchase", "purchased", "paid for", "paid to", "paid via", "paid using",
|
157 |
+
"expense", "expenses", "costs", "costing", "bills", "bought from", "ordered from", "paid at",
|
158 |
+
"paid online", "paid cash", "paid card", "paid wallet", "paid app", "paid through", "paid via",
|
159 |
+
"khariden", "kharidi"
|
160 |
]
|
161 |
|
162 |
class TextInput(BaseModel):
|
|
|
720 |
|
721 |
best_label = label_map.get(best_label, best_label)
|
722 |
|
723 |
+
if (
|
724 |
+
best_label == "task"
|
725 |
+
and (any(word in text.lower() for word in expense_keywords) or amounts)
|
726 |
+
):
|
727 |
+
best_label = "expense"
|
728 |
+
|
729 |
+
if best_label == "purchase":
|
730 |
+
best_label = "expense"
|
731 |
+
|
732 |
if "reported" in text or "announced" in text or "collapsed" in text:
|
733 |
if best_label in ["task", "reminder", "event"]:
|
734 |
best_label = "news"
|
|
|
749 |
mood = estimate_mood(text)
|
750 |
tags = generate_tags(best_label, text)
|
751 |
language_detected = detect_language(text)
|
752 |
+
# sentiment_score = get_sentiment_score(text)
|
753 |
entities = await asyncio.to_thread(extract_entities, text)
|
754 |
people = entities["people"] # Extracted people entities
|
755 |
intent = infer_intent(best_label, text)
|
756 |
urgency_score = get_urgency_score(text, parsed_dates)
|
757 |
detected_stores = detect_store_category(text)
|
758 |
+
|
759 |
expense_category = ""
|
760 |
if best_label == "expense" or best_label == "purchase":
|
761 |
expense_category = predict_expense_category(text, detected_stores)
|
|
|
792 |
"people": people,
|
793 |
"mood": mood,
|
794 |
"language": language_detected,
|
795 |
+
"sentiment_score": "",
|
796 |
"tags": tags,
|
797 |
"action_required": action_required,
|
798 |
"entities": entities,
|
|
|
817 |
result.pop("raw_json", None)
|
818 |
|
819 |
# Return the result as JSON response
|
820 |
+
return ORJSONResponse(content=result)
|
|