İçeriğe atla
Yapay Zeka & Veri

Müşteri '10 boy 30'luk 304 boru' yazdı: serbest metinden ürün nasıl çıkarılır

Doğukan Azer ÇİFTCİ

Yazılım Mühendisi

7 dk okuma

Paylaş
Müşteri '10 boy 30'luk 304 boru' yazdı: serbest metinden ürün nasıl çıkarılır

Fotoğraf: Jimmy Liao / Pexels

Serbest metinden ürün çıkarmak, cümleyi bir bütün olarak “anlamaya” çalışmakla değil, cümleyi alanlara ayırıp her alanı ayrı ayrı doğrulamakla olur: ürün cinsi, ölçü, adet, malzeme kalitesi, teslim şekli. Emin olunan alan doldurulur; emin olunmayan alan tahminle kapatılmaz, işaretlenir ve müşteriye tek cümlelik bir netleştirme sorusu sorulur.

Başlıktaki cümle uydurma değil, formatı gerçek. “10 boy 30'luk 304 boru” yirmi küsur karakterde beş ayrı bilgi taşıyor ve bunlardan en az ikisi tek başına belirsiz. Bu yazıda üç örnek talep cümlesini alan alan çözeceğiz: hangi bilgi var, hangisi eksik, hangisi belirsiz. Sonra da belirsiz alanın doğru şekilde nasıl ele alındığını göstereceğiz.

Bir talep cümlesi aslında doldurulmamış bir formdur

Satınalmacı size form doldurmaz. Elindeki işi bildiği için kendi kısaltmasıyla yazar. Sizin tarafınızda ise bu cümlenin karşılığı stok kartı, ölçü, adet ve kalite alanlarından oluşan bir kayıttır. İşin tamamı bu iki tarafı hatasız eşleştirmekten ibaret.

Örnek 1: “Çap 30x6000 10 boy 303 paslanmaz”

Var olan bilgi: malzeme paslanmaz, kalite 303, dış çap 30, boy 6000, miktar 10 boy. Eksik olan bilgi: ürün cinsinin kendisi. “Çap” ve “6000” yazması bunun bir çubuk ya da boru olduğunu düşündürür ama yazmıyor. Belirsiz olan bilgi: 30 ölçüsünün milimetre olduğu, 6000'in de milimetre olduğu bağlamdan anlaşılıyor; ancak boru ise et kalınlığı hiç verilmemiş. Boru için çap tek başına ürün belirlemez.

Burada iki farklı boşluk var ve ikisi aynı ağırlıkta değil. Cinsin çubuk mu boru mu olduğu, geçmiş talep arşiviyle ve müşterinin sipariş geçmişiyle yüksek güvenle kapanabilir. Et kalınlığı kapanamaz — çünkü aynı çapta beş ayrı et kalınlığı stokta durur.

Örnek 2: “4'' - 2 1/2'' redüksiyon 316L 4 adet”

Var olan bilgi: ürün redüksiyon, giriş ölçüsü 4 inç, çıkış ölçüsü 2,5 inç, kalite 316L, miktar 4 adet. Bu cümle önceki örneğe göre çok daha temiz. Eksik olan bilgi: bağlantı tipi. Kaynaklı mı, dişli mi, flanşlı mı? Belirsiz olan bilgi: “4 adet” ifadesindeki 4 ile ölçüdeki 4 aynı satırda iki farklı anlamda geçiyor; ayrıştırma bunu konumuna göre değil, yanındaki birime göre çözmek zorunda.

Örnek 3: “20'lik köşebent 6 metre 12 adet”

Var olan bilgi: ürün köşebent, kanat ölçüsü 20 mm, boy 6 metre, miktar 12 adet. Eksik olan bilgi: malzeme kalitesi hiç yazılmamış. Belirsiz olan bilgi: “12 adet” 12 boy mu, yoksa toplam 12 metre mi? Sektörde ikisi de kullanılıyor. Ayrıca köşebentte 20 ölçüsü kanat genişliğidir ama et kalınlığı yine yok.

Serbest metnin dört tipik zorluğu

Yukarıdaki üç cümlede aynı dört sorun tekrar ediyor. Bir sistem kurulacaksa bu dördü ayrı ayrı ele alması gerekir; tek bir “anlama” adımıyla hepsi çözülmez.

1. Kısaltma

“30'luk”, “4 köşe”, “DKP”, “siyah”, “L profil”, “kutu” — bunların hepsi sektör içinde tek anlamlı, sektör dışında hiçbir şey ifade etmiyor. Kısaltmalar tahmin edilerek değil, sizin firmanızın kendi sözlüğüyle çözülür. Aynı kısaltma başka bir firmada başka ürüne karşılık gelebilir.

2. Birimin yazılmaması

Kimse “30 milimetre” yazmaz, “30” yazar. Birim, sayının büyüklüğünden ve ürün cinsinden anlaşılır. Boruda 30 milimetredir, boyda 6000 milimetredir, köşebentte 6 metredir. Bu çıkarım güvenli görünür ama ürün cinsi belirsizken güvenli değildir — çünkü birimi belirleyen şey ürünün kendisidir.

3. Aynı sayının farklı anlamı

“10 boy 30'luk 304 boru” cümlesinde üç sayı var ve üçü de farklı alana ait: 10 miktar, 30 çap, 304 kalite. Sıraları değişse anlam değişmez, çünkü anlamı taşıyan şey sayının yanındaki kelime. “10 boy” miktardır, “30'luk” ölçüdür, “304” tek başına bir sayıdır ama paslanmaz bağlamında kalite adıdır. Sırayla değil, komşulukla çözülür.

4. Kalitenin farklı standartlarla anılması

Aynı malzeme müşteriden müşteriye farklı adla gelir: 304, 1.4301, X5CrNi18-10 aynı şeyi işaret eder. 316L ile 1.4404 aynıdır. Müşteri hangisini yazarsa yazsın sizin stok kartınızdaki tek karşılığa bağlanmalıdır. Bu, tahmin işi değil, muadil tablosu işidir.

Boşluğu tahminle doldurmak yerine görünür kılmak

Tahminin bedeli

Eksik alanı “büyük ihtimalle şudur” diyerek doldurmak, hatayı ortadan kaldırmaz; sadece hatayı görünmez yapar ve teklife taşır. Et kalınlığı tahmin edilerek verilen bir boru teklifi kabul edilirse iş sipariş olur, sipariş sevkiyat olur, sevkiyat iade olur. Maliyeti nakliye değil, o müşterinin bir dahaki talebini size göndermemesidir. Yanlış teklif, teklif vermemekten pahalıdır.

Doğru davranış

Emin olunan alanlar doldurulur, emin olunmayan alan boş kalır ve neden boş kaldığı yazılır. Sonra müşteriye tek bir soru gider. Buradaki kritik nokta soru sormak değil, kaç soru sorulduğu.

Kötü örnek: “Talebinizi netleştirmek için lütfen aşağıdaki bilgileri iletiniz: 1) ürün cinsi 2) et kalınlığı 3) yüzey durumu 4) standart 5) teslim yeri 6) termin.” Bu mesaj müşteriye şunu söyler: senin yazdığını okumadım, formu sen doldur. Cevap gelmez.

İyi örnek: “30x6000 303 paslanmaz için 10 boy teklif hazırlıyorum, et kalınlığı 2 mm mi olacak?” Bu mesaj beş alanın anlaşıldığını gösterir, tek bir açık soru bırakır ve cevabı tek kelimedir. Fark, bilgi miktarında değil, karşı tarafa yüklenen iş miktarında.

Talepten tek soruya: örnek çözümleme

Aşağıdaki tablo yukarıdaki üç cümlenin ve başlıktaki cümlenin nasıl çözüldüğünü gösteriyor. Sağ sütun, müşteriye gidecek tek cümlelik netleştirme sorusu.

Talep cümlesiÇıkarılan alanlarEksik kalan alanSorulacak tek soru
10 boy 30'luk 304 boruÜrün: boru · Çap: 30 mm · Kalite: 304 · Miktar: 10 boyEt kalınlığı, boy uzunluğu30x2 mm 6 metre boy olarak mı hesaplayayım?
Çap 30x6000 10 boy 303 paslanmazÖlçü: 30x6000 mm · Kalite: 303 · Miktar: 10 boyÜrün cinsi (çubuk / boru)30x6000 için dolu çubuk mu, boru mu istiyorsunuz?
4'' - 2 1/2'' redüksiyon 316L 4 adetÜrün: redüksiyon · Ölçü: 4''-2,5'' · Kalite: 316L · Miktar: 4 adetBağlantı tipiRedüksiyonlar kaynaklı mı olsun, dişli mi?
20'lik köşebent 6 metre 12 adetÜrün: köşebent · Kanat: 20 mm · Boy: 6 mKalite, miktar birimi (boy / metre)12 adet derken 12 boy mu, toplam 12 metre mi?

Dikkat edilecek nokta: hiçbir satırda sistem “muhtemelen şudur” diye ilerlemiyor. Anlaşılan alanı yazıyor, anlaşılmayanı soruyor. Aradaki çizgi budur.

Tablodaki soruların hepsinin ortak bir özelliği var: cevabı bir kelime ya da bir sayı. Müşteri mesajı açtığı yerde, telefonu bırakmadan cevaplayabiliyor. Netleştirme sorusunun kalitesini belirleyen şey ne kadar bilgi istediği değil, cevaplanmasının ne kadar sürdüğü. Otuz saniyede cevaplanan soru aynı gün döner, beş dakika düşündüren soru ertesi güne kalır ve çoğu zaman hiç dönmez.

Kuralın modeli doğruladığı yer

Serbest metni okuyan kısım esnek olmak zorunda, çünkü müşteri her seferinde başka türlü yazar. Ama okunan sonucun doğrulandığı kısım esnek olamaz. Ölçü kombinasyonlarının stokta karşılığı var mı, 304 gerçekten 1.4301'e mi denk geliyor, o çapta o et kalınlığı üretiliyor mu — bunların hepsi tabloya bakılarak kesin cevaplanır.

Pratikte akış şöyle işler: metinden alanlar çıkarılır, çıkarılan her alan ürün ana verisine ve ölçü tablolarına karşı sınanır, sınamayı geçemeyen alan “emin değil” damgası alır. Bir sistemin en güvenilir olduğu yer tam olarak burasıdır — çünkü burada tahmin yoktur, eşleşme vardır. Metal ticaretinde kurduğumuz sistem 1.500+ gerçek talep ve 8.000+ kalemlik tedarikçi stok listesi üzerinde çalıştı, isabet %99'un üzerinde ölçüldü. Bu oranın kaynağı zeki bir yorum değil, tablonun kendisi.

Aynı motor, farklı kanal

Talep WhatsApp'tan gelir, mailden gelir, telefonda konuşulup nota düşülür. Üçünde de metin farklı görünür: WhatsApp'ta kısa ve kısaltmalı, mailde bazen Excel eki ile, telefon notunda ise satış personelinin kendi el yazısı diliyle. Ama üçünde de çıkarılacak alanlar aynıdır.

  • Kanal sadece metni getirir; alanları çıkaran kısım tek ve ortaktır.
  • Yeni bir kanal eklemek, ayrıştırma mantığını baştan yazmayı gerektirmez.
  • Netleştirme sorusu, talebin geldiği kanaldan geri gider — müşteri kanal değiştirmez.
  • Hangi kanaldan gelirse gelsin talep aynı listede, aynı alanlarla birikir.

Bu ayrım, işi yapay zeka personel ekibi mantığıyla kurmanın temel sebebi: kanal arayüzü değişkendir, işin kendisi sabittir. Kurulum sürecimizde önce sabit olan kısmı oturtur, kanalları sonra bağlarız.

Kurmadan önce elinizde olması gerekenler

Bu işin yazılım tarafı, veri tarafı hazır değilse çalışmaz. Başlamadan önce toplanması gereken dört şey var.

  • Ürün ana verisi: stok kartlarınız, kart adlarının tutarlı yazılmış hali ve hangi kartın hangi ürün ailesine ait olduğu.
  • Ölçü tabloları: hangi çapta hangi et kalınlıklarının var olduğu, standart boy uzunlukları, profil ve köşebent ölçü aralıkları.
  • Muadil ve eşdeğer listesi: 304 = 1.4301 tipi kalite karşılıkları, inç-milimetre dönüşümleri, sizin firmanıza özel kısaltma sözlüğü.
  • Geçmiş talep arşivi: müşterilerin gerçekte nasıl yazdığını gösteren eski mailler ve mesajlar. Bu arşiv, hangi kısaltmanın gerçekten kullanıldığını varsayımdan değil kayıttan öğretir.

Bu dördü eksikse ilk iş onları derlemektir. Nasıl bir araya getirildiğini demir-çelik talep-teklif vakamızda adım adım anlattık.

Özet

Serbest metinden ürün çıkarmak bir dil problemi değil, bir alan doldurma problemidir. Cümle parçalanır, her alan ayrı doğrulanır, doğrulanamayan alan gizlenmez. Sistemin değeri her talebi tek başına kapatmasında değil; kapatabildiklerini hatasız kapatıp kapatamadıklarını tek soruya indirmesinde. Kendi talep akışınız için değerlendirme isteyin, elinizdeki gerçek talep cümleleriyle birlikte bakalım.

Sıkça Sorulan Sorular

Müşterilerimiz her seferinde farklı yazıyor, sistem bunların hepsini öğrenebilir mi?
Farklı yazımların büyük kısmı aynı kalıpların varyasyonudur ve geçmiş talep arşiviniz bu varyasyonları zaten içerir. Sistem yeni bir yazım gördüğünde tahmin etmek yerine emin olmadığını işaretler. Zamanla işaretlenen alanların sayısı düşer, çünkü her netleştirme sözlüğe bir kayıt ekler.
Elimizde düzgün bir stok kartı listesi yok, kartlar karışık yazılmış. Yine de kurulabilir mi?
Kurulabilir ama ilk iş kart listesini derlemek olur. Kart adları tutarsızsa metinden doğru alan çıkarılsa bile bağlanacağı hedef belirsiz kalır. Bu derleme genelde sanıldığından kısa sürer, çünkü fiilen kullanılan kart sayısı toplam kart sayısından çok azdır.
Sistem yanlış ürün seçerse sorumluluk kimde olur?
Doğru kurulmuş bir akışta sistem emin olmadığı alanı doldurmaz, o yüzden sessizce yanlış ürün seçme durumu ortaya çıkmaz. Teklif her hâlükârda bir kişinin onayından geçer. Sistemin işi doğru alanları hazır getirmek ve şüpheli alanı önünüze işaretli koymaktır.
Müşteriye sürekli soru sormak profesyonel görünmez diye çekiniyoruz.
Sorun soru sormak değil, altı soruluk form göndermek. Beş alanı doğru okuduğunuzu gösterip tek bir teknik soru sormak müşteriye işi bildiğinizi anlatır. Zaten deneyimli satınalmacı, hiç soru sormadan gelen teklife de temkinli yaklaşır.
Talepler bize hem WhatsApp hem mail hem telefonla geliyor. Üçü için üç ayrı kurulum mu gerekir?
Hayır. Kanal sadece metni taşır; alanları çıkaran ve doğrulayan kısım tektir. Telefon notu da yazıya döküldüğü anda diğer ikisiyle aynı yoldan geçer. Yeni bir kanal eklemek bağlantı işidir, mantığı yeniden kurmak değildir.
Talep içinde birden fazla kalem varsa ne oluyor?
Her satır ayrı bir kalem olarak çözülür ve kendi alan setini alır. Bir kalemde belirsizlik olması diğerlerini bekletmez; emin olunan kalemler fiyatlanmaya devam eder. Netleştirme sorusu da sadece o tek kalem için sorulur.

Yazar

Doğukan Azer ÇİFTCİ

Yazılım Mühendisi

QuantKOD’da yazılım mühendisi. Ölçeklenebilir mimariler, özel yazılım geliştirme ve doğru teknoloji seçimleri üzerine yazıyor.

İlgili yazılar

Hazır mı, özel mi? Birlikte karar verelim

Süreçlerinizi kısa bir görüşmede dinleyip, ihtiyacınıza en uygun çözümü ve yol haritasını dürüstçe çıkaralım.