apak commited on
Commit
ff4ef43
·
verified ·
1 Parent(s): 6fcdcbb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -7
app.py CHANGED
@@ -53,17 +53,32 @@ def refine_label_with_llm(entity_text, full_sentence, wiki_context, custom_label
53
  # 2. Sistematik CoT ve Kuralların Tanımlanması
54
 
55
  prompt = f"""
56
- Sen yüksek hassasiyetli bir semantik analiz uzmanısın.
57
- Görevin, '[[{entity_text}]]' varlığını aşağıdaki 4 adımlı Sistematik CoT protokolüne göre sınıflandırmaktır.
58
 
59
  ETİKET TANIMLARI:
60
  {label_rules}
61
 
62
  SİSTEMATİK CoT ADIMLARI:
63
- Adım 1 - Wikipedia ve Cümle Çakıştırma: Wikipedia bilgisini ("{wiki_context}") analiz et. Varlığın cümledeki yüklem ("{full_sentence}") ve niteleyicilerle (örn: 'kitabı', 'sistemi', 'reklamı') olan ilişkisini belirle.
64
- Adım 2 - Tanım Eşleştirme: {custom_labels} listesindeki 'tanim' alanlarını incele. Wikipedia verisiyle cümledeki 'kullanım amacını' (örneğin varlık bir 'okuma nesnesi' mi yoksa bir 'zaman birimi' mi?) karşılaştır.
65
- Adım 3 - Olasılık Filtresi: En yüksek puanlı etiketi seçerken 'Disambiguation' (Anlam Ayrıştırma) yap. Eğer varlık hem bir yıl hem bir sanat eseri ise, cümledeki 'yazar' veya 'kitap' ifadesine dayanarak ART_WORK etiketine öncelik ver.
66
- Adım 4 - Kanıta Dayalı Karar: Seçtiğin etiketi cümle içindeki somut bir anahtar kelimeyle (keyword) doğrula. Eşleşme yoksa MISC etiketini koru.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
 
68
  GÜNCEL GÖREV:
69
  - HEDEF VARLIK: {entity_text}
@@ -82,7 +97,6 @@ Cevap: [SADECE_ETIKET_ADI]
82
 
83
 
84
 
85
-
86
  messages = [{"role": "user", "content": prompt}]
87
  text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
88
  model_inputs = tokenizer([text], return_tensors="pt").to(device)
 
53
  # 2. Sistematik CoT ve Kuralların Tanımlanması
54
 
55
  prompt = f"""
56
+ Sen yüksek hassasiyetli bir semantik analiz uzmanısın. Görevin, '[[{entity_text}]]' varlığını aşağıdaki 4 adımlı Sistematik CoT protokolüne göre sınıflandırmaktır.
 
57
 
58
  ETİKET TANIMLARI:
59
  {label_rules}
60
 
61
  SİSTEMATİK CoT ADIMLARI:
62
+ Adım 1: Wikipedia'dan gelen bilgileri ("{wiki_context}") analiz et. Varlığın temel niteliğini (kişi mi, yazılım mı, sanat eseri mi?) belirle.
63
+ Adım 2: Bu nitelikleri {custom_labels} listesindeki 'tanim' alanlarıyla karşılaştır. Wikipedia'daki anahtar kelimeler ile etiket tanımlarındaki anahtar kelimeleri eşleştir.
64
+ Adım 3: En yüksek anlamsal benzerliğe sahip etiketi RAG sonucu olarak seç. Eğer Wikipedia bilgisi yetersizse, orijinal cümledeki ("{full_sentence}") fiil ve niteleyicilere (örn: "yazdı", "kuruldu", "işletim sistemi") odaklan.
65
+ Adım 4: Kararını somut kanıtlara dayandır. Eğer hiçbir etiket tanımına uyum sağlanamazsa MISC değerini koru.
66
+
67
+ FEW-SHOT ÖRNEKLERİ:
68
+
69
+ ÖRNEK 1:
70
+ - CÜMLE: "1984, distopik bir geleceği anlatan en önemli romandır."
71
+ - VARLIK: 1984
72
+ - WIKIPEDIA: "1984 (roman), George Orwell tarafından yazılmış distopik bir kitaptır. Ayrıca 1984 bir takvim yılıdır."
73
+ - ANALİZ: [Adım 1: Wiki hem yıl hem kitap diyor. Adım 2: Cümlede 'roman' ve 'anlatan' geçiyor, bu BOOK tanımına uyar. Adım 3: BOOK seçildi. Adım 4: Cümledeki 'roman' ifadesi kitap türünü ifade eder.]
74
+ - CEVAP: BOOK
75
+
76
+ ÖRNEK 2:
77
+ - CÜMLE: "Sistem Windows üzerinde sorunsuz çalışıyor."
78
+ - VARLIK: Windows
79
+ - WIKIPEDIA: "Microsoft Windows, kişisel bilgisayarlar için geliştirilmiş bir işletim sistemidir."
80
+ - ANALİZ: [Adım 1: Wiki bunun bir işletim sistemi olduğunu doğruluyor. Adım 2: SOFTWARE tanımı 'işletim sistemleri ve dijital araçlar'ı kapsıyor. Adım 3: SOFTWARE seçildi. Adım 4: Wiki'deki 'işletim sistemi' tanımıyla tam eşleşme sağlandı.]
81
+ - CEVAP: SOFTWARE
82
 
83
  GÜNCEL GÖREV:
84
  - HEDEF VARLIK: {entity_text}
 
97
 
98
 
99
 
 
100
  messages = [{"role": "user", "content": prompt}]
101
  text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
102
  model_inputs = tokenizer([text], return_tensors="pt").to(device)