fix(danisman): tam koşudan çıkan düzeltmeler — regex alıntı yanlış alarmı, listeye çapalanma, eval beklentileri [KARAR]
Tam koşu (112 soru, commit 2bb9250, liste: taban çizgisinin robot dosyası): 82 geçti / 14 gri / 16 kaldı
(taban çizgisi 56 / 23 / 33). Sonuç: sonuc/2026-10-05T05-42-24-sohbet.json.
- cikti-denetimi: 'Hayır, "kesin tutar" gibi bir ifade kullanamam' cümlesine not ekleniyordu (s060; tam
koşudaki tek canlı not buydu). Tırnak içinde anılan ifade ve 'kullanamam' artık ihlal sayılmıyor.
Yeniden tarama: tam koşunun 112 cevabında 0 isabet; 73 örnekli altın sette 0 yanlış alarm, 1 kaçan (aynı).
- Prompt: sorulan program listede aynen yoksa benzer satırın kimliği kullanılmaz; listeyle sınırlı olmayan
soruda program_ara çağrılır. (Liste kimliği yeni bir hata türü getirdi: s015'te 'Kocaeli Makine' yerine
listedeki Kocaeli İnşaat'ın kimliği kullanıldı.) 4 soru × 2: s007 0/1 → 2/2; s015 ve s091 1/2; s004 0/2 (kaldı).
- Eval: s010/s012/s014/s044/s046 artık listedeki kimlikle doğrudan detay/net/karşılaştırma çağırıyor;
program_ara şartı kaldırıldı. s054 icermemeli 'kira ortalama' yönlendirme cümlesine takılıyordu.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,7 @@ const tr = (s: string) => s.toLocaleLowerCase("tr-TR");
|
||||
* şansın yüksek" cümlesindeki "yok" ikinci yarıyı aklamaz).
|
||||
*/
|
||||
const RED =
|
||||
/verme[mzy]|verem|verilem|vermiyor|veremiyor|değil|yok(?!sa)|diyem|demem|demiyor|denem|denilem|denmez|söyleyem|söylenem|söylemiyor|olmaz(?!sa)|edem|etmiyor|hesaplam|tahmin etm|anlamına gelm|kullanm|yapam|yapmıyor|sunam|bilinem|bilem|yanlış|yerine|doğru olmaz/;
|
||||
/verme[mzy]|verem|verilem|vermiyor|veremiyor|değil|yok(?!sa)|diyem|demem|demiyor|denem|denilem|denmez|söyleyem|söylenem|söylemiyor|olmaz(?!sa)|edem|etmiyor|hesaplam|tahmin etm|anlamına gelm|kullanm|kullanam|yapam|yapmıyor|sunam|bilinem|bilem|yanlış|yerine|doğru olmaz/;
|
||||
|
||||
/** Yan cümle sınırı: nokta, satır sonu ve "ama / ancak / fakat" bağlaçları. */
|
||||
const YAN_CUMLE_SONU = /[.!?;\n]|\s(?:ama|ancak|fakat|yine de|lakin)\s/;
|
||||
@@ -67,6 +67,8 @@ export function vaatDiliBul(metin: string): string[] {
|
||||
const sinir = kalan.search(YAN_CUMLE_SONU);
|
||||
const ardi = sinir < 0 ? kalan : kalan.slice(0, sinir);
|
||||
if (RED.test(e[0]) || RED.test(ardi)) continue;
|
||||
// Tırnak içinde anılan ifade ("kesin tutar" gibi bir söz…) kullanım değil, alıntıdır
|
||||
if (/["'“”‘’«]$/.test(m.slice(Math.max(0, i - 1), i)) && /^["'“”‘’»]/.test(kalan)) continue;
|
||||
const once = m.slice(Math.max(0, i - 30), i);
|
||||
if (/^gir/.test(e[0]) && GIRIS_BAGLAMI.test(once)) continue;
|
||||
if (ISTIHDAM_BAGLAMI.test(once)) continue;
|
||||
|
||||
@@ -154,6 +154,11 @@ KURALLAR:
|
||||
program_detay, program_netleri ve program_karsilastir'ı listedeki
|
||||
programlar için DOĞRUDAN bu kimlikle çağır, önce program_ara çağırma.
|
||||
Listede olmayan program için kimliği program_ara'dan al; kimlik UYDURMA.
|
||||
Sorulan program listede AYNEN yoksa (aynı üniversite VE aynı bölüm adı)
|
||||
listedeki benzer bir satırın kimliğini onun yerine KULLANMA (ör. aynı
|
||||
üniversitenin başka bölümü); program_ara ile ara. Aday listesiyle sınırlı
|
||||
olmayan bir soru sorduysa ("hangi üniversitelerde var", "… okutan yerler",
|
||||
"en iyi / en ucuz …") cevabı yalnız listeden verme, program_ara çağır.
|
||||
Kimlikler araç içindir: adaya kimlik numarası, araç adı ya da parametre
|
||||
yazma ("program_ara'ya baktım" değil, "verilere baktım").
|
||||
- PROFİL: aday bir tercih söylerse (yaşadığı il, evden en fazla kaç km,
|
||||
|
||||
Reference in New Issue
Block a user