Mitesh Koshiya commited on
Commit
b3c91e5
·
1 Parent(s): 8efae68

Expense keyword updates

Browse files
Files changed (1) hide show
  1. main.py +18 -5
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": 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)