Rasha-83 commited on
Commit
d82203a
·
verified ·
1 Parent(s): 653b0fa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -0
app.py CHANGED
@@ -69,6 +69,36 @@ class ContractAnalyzer:
69
  end_idx = text.find(".", start_idx)
70
  if end_idx != -1:
71
  info["parties"].append(text[start_idx:end_idx].strip())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
  return info
74
 
 
69
  end_idx = text.find(".", start_idx)
70
  if end_idx != -1:
71
  info["parties"].append(text[start_idx:end_idx].strip())
72
+
73
+ # البحث عن موضوع العقد
74
+ subject_indicators = [
75
+ "موضوع العقد", "الغرض من العقد", "يتفق الطرفان على",
76
+ "اتفق الطرفان على", "حيث أن", "حيث إن", "تمهيد",
77
+ "بشأن", "لغرض", "عقد"
78
+ ]
79
+
80
+ for indicator in subject_indicators:
81
+ if indicator in text:
82
+ start_idx = text.find(indicator)
83
+ # البحث عن نهاية الجملة
84
+ end_idx = text.find(".", start_idx)
85
+ if end_idx == -1:
86
+ end_idx = text.find("\n", start_idx)
87
+ if end_idx != -1:
88
+ subject_text = text[start_idx:end_idx].strip()
89
+ # تجنب النصوص القصيرة جداً
90
+ if len(subject_text) > 10:
91
+ info["subject"] = subject_text
92
+ break
93
+
94
+ # محاولة ثانية للعثور على الموضوع إذا لم يتم العثور عليه
95
+ if info["subject"] == "غير محدد":
96
+ # البحث في الجمل الأولى من العقد
97
+ first_sentences = text.split('.')[:3] # أول ثلاث جمل
98
+ for sentence in first_sentences:
99
+ if any(word in sentence.lower() for word in ["اتفاق", "عقد", "تعاقد"]):
100
+ info["subject"] = sentence.strip()
101
+ break
102
 
103
  return info
104