Kafayı yiyecektim. Tatildeyim, mail geliyor, benim out of office mesajımı okuyup, gelen maile benim üslubumla cevap yazacak bir bot yazdım diye seviniyordum. Meğerse sorun şuradaymış: Bot, bazen o kadar resmi konuşuyor ki, sanki şirketin genel müdürü yazmış gibi oluyor. "Sayın ilgili" falan diye başlayan mailler gördüm, ben hayatımda öyle hitap etmedim!
Sorunu bulmak için loglara daldım. Meğerse bot, out of office mesajımdaki "Resmiyetsiz" kısmı tam anlayamıyormuş. Benim mesajımda "Selamlar, şu tarihler arasında ofiste değilim" gibi bir cümle var. Bot bunu alıp, gelen mailin konusuna ve içeriğine göre ton ayarlaması gerekiyor. Ama NLTK ile yaptığım basit duygu analizi, bazı maillerde "nötr" çıkınca, bot da güvenli moda geçip ultra resmi bir dil kullanıyormuş.
Python:
if tone_analysis == 'neutral':
response_template = get_formal_template() # İşte hata buradaydı!
else:
response_template = get_casual_template()
Çözüm aslında basitti. Botun, out of office mesajımdaki benim cümlelerimi doğrudan öğrenmesi ve kullanması gerekiyordu. Sadece "Selamlar" gibi kelimeleri değil, "Merhaba, selam" gibi benim sık kullandığım eş anlamlıları da bir havuzda topladım. Ayrıca, nötr tonlu maillere bile, benim imzamda kullandığım "İyi çalışmalar" gibi kişiselleştirilmiş bir kapanış cümlesi eklettim. Artık "Sayın ilgili" yerine, doğrudan isme hitap ediyor veya hiç hitap etmeden giriş yapıyor.
Sonuç? Bot hala bazen biraz tutuk ama en azından bir yabancı gibi değil, ofiste olmayan birazcık dağınık bir meslektaş gibi yazıyor.
Siz de böyle otomatik yanıtlayıcılar, chatbot'lar yazarken üslup taklidi konusunda saçmalar yaşadınız mı? "Şu kütüphane daha iyi sonuç veriyor" veya "Bunu şöyle train ettim" gibi tavsiyeleriniz varsa yoruma yazın, konuşalım!