Natural Language Understanding (NLU)
Doğal dil anlama (NLU), sesli asistanlarda ve aramada olduğu gibi metinden anlamı, amacı ve varlıkları çıkaran NLP dalıdır.
Doğal dil anlama (NLU), doğal dil işlemenin (NLP) bir metin parçasının ne anlama geldiğini belirleyen bölümüdür: yazarın ne istediği, hangi şeylerden söz ettiği ve sözcüklerin birden fazla yoruma izin verdiği durumlarda hangi yorumun kastedildiği. Bir NLU sistemi, "Yarın saat 7'ye iki kişilik masa ayırt" ifadesini, yazılımın işleyebileceği yapılandırılmış bir isteğe dönüştürür: reserve_table gibi bir amaç ve kişi sayısı, saat ve tarih için alanlar. Sanal asistanlar, müşteri hizmetleri sohbet botları ve arama motorları, ne yapacaklarına veya söyleyeceklerine karar vermeden önce her isteği NLU ile işler.
Dili Anlamak Neden Zor?#
Aynı sözcükler her düzeyde farklı anlamlar taşıyabilir. "Bank" bir finans kuruluşu veya nehir kıyısı anlamına gelebilir; "Teleskoplu adamı gördüm" cümlesi teleskopu kimin tuttuğunu söylemez; "Kupa kahverengi valize sığmıyor çünkü çok büyük" cümlesinde "o" kupaya gönderme yapar, ancak "büyük" yerine "küçük" kullanılırsa valize gönderme yapar. Hector Levesque, bu tür Winograd şemalarını 2011'de makine anlayışını sınamak için önerdi; çünkü bunları çözmek, sözcük istatistiklerinden çok dünya hakkında bilgi gerektirir. Terry Winograd'ın SHRDLU'su (1968-1970) gibi ilk kural tabanlı sistemler, yalnızca kurallarının tümüyle tanımladığı bloklardan oluşan benzetimli bir dünyadaki yazılı komutları anlayabiliyordu.
Temel NLU Görevleri#
- Amaç sınıflandırma: Bir isteği, bakiye kontrol etmek veya kartı bloke etmek gibi uygulamanın hedeflerinden birine atar.
- Adlandırılmış varlık tanıma (NER): Bir istekte geçen kişi, yer, ürün, tarih ve tutarları bulur; asistanlar bunları bir amacın alanlarını doldurmak için kullanır.
- Anlamsal ayrıştırma: Bir cümleyi, veritabanı sorgusu veya API çağrısı gibi programın çalıştırabileceği biçimsel bir gösterime eşler.
- Eş göndergeleri çözümleme: Zamirleri ve diğer göndermeleri işaret ettikleri varlıklarla ilişkilendirir.
- Doğal dil çıkarımı: Bir cümlenin diğerini gerektirip gerektirmediğine, onunla çelişip çelişmediğine veya ona karşı nötr olup olmadığına karar verir.
- Duygu analizi: Bir metnin ifade ettiği görüşü belirler.
Asistanlar genellikle amaçları, ince ayar yapılmış bir transformer kodlayıcısıyla sınıflandırır. Bir cümle kodlayıcısı, her amaç için tek bir örnek kullanarak tek örnekli sınıflandırma da yapabilir; bunun için örneği istekle anlam bakımından en yakın olan amacı seçer:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
# One labeled example per intent, as an assistant's training data would provide
intents = {
"check_balance": "What is my account balance?",
"block_card": "Please freeze my debit card",
"transfer_money": "Send money to another account",
}
utterances = ["my card was stolen", "how much cash do I have left", "pay Alex back 20 dollars"]
# Assign each utterance the intent whose example is closest in meaning
scores = model.similarity(model.encode(utterances), model.encode(list(intents.values())))
for text, row in zip(utterances, scores):
best = int(row.argmax())
print(f"{text!r} -> {list(intents)[best]} ({row[best]:.2f})")Üç isteğin tümü doğru amaçla eşleşiyor: block_card (0,42), check_balance (0,49) ve transfer_money (0,28). "ne kadar nakdim kaldı" ve "Alex'e 20 dolar borcumu öde" ifadeleri amaç örnekleriyle hiçbir ortak sözcük paylaşmıyor; dolayısıyla eşleşme anahtar sözcüklerden değil gömme vektörlerinden geliyor. Para gönderme isteği, diğer amaçların 0,17'lik puanına kıyasla yalnızca 0,28 puanla öne çıkıyor; Rasa gibi çerçeveler de en yüksek puanı güven eşiğinin altında kalan istekleri, kullanıcıdan yeniden ifade etmesini isteyen bir yedek yanıt akışına yönlendiriyor.
Karşılaştırmalar ve Modeller#
GLUE (2018), duygu analizi, başka sözcüklerle ifade tespiti ve doğal dil çıkarımı dahil dokuz cümle ve cümle çifti görevini tek bir puanda birleştirdi; BERT de bu puanı 2018'de 80,5'e yükseltti. Daha zor olan halefi SuperGLUE (2019), Winograd tarzı eş gönderge çözümlemesini ekledi; Microsoft'un DeBERTa'sı ve Google'ın T5 + Meena'sı Ocak 2021'de 89,8 olan insan temel puanını aştı. Yüksek puanlar kestirme öğrenmeye dayanabilir: Suchin Gururangan ve çalışma arkadaşları, 2018'de çıkarım çiftlerinin yalnızca ikinci cümlesini okuyan bir sınıflandırıcının SNLI veri kümesinin yaklaşık %67'sini doğru etiketlediğini gösterdi; çünkü olumsuzluk sözcükleri gibi ipuçları "çelişki" etiketiyle ilişkiliydi. Büyük dil modelleri (LLM) artık çoğu NLU görevini bir istem üzerinden yerine getiriyor; daha küçük kodlayıcı modelleriyse istek başına gecikme ve maliyetin önemli olduğu durumlarda yaygın olarak kullanılıyor.
Arama ve Görüde NLU#
Anlamsal arama, sorgunun tam sözcükleri yerine anlamını eşleştirerek NLU'yu sorgulara uygular; vektör arama ise bu işlemi milyonlarca öğe üzerinde hızlandırır. CLIP örneğinde olduğu gibi, metin ve görüntüler aynı gömme uzayını paylaştığında bu yaklaşım kipler arasında da çalışır. Ultralytics Platform Keşfet sayfasının Görüntüler sekmesi, "kanepedeki kediler" gibi bir sahne açıklamasını alır ve dosya adlarına veya etiketlere bağlı kalmadan, gösterdiklerine göre herkese açık veri kümelerinden görüntüler döndürür.
NLU ve İlgili Terimler#
- NLP: İnsan diliyle bilgisayar kullanımının tüm alanı. NLU girdiyi yorumlar; doğal dil üretimi (NLG) ise çıktı yazar.
- Konuşma tanıma: Konuşma sesini metne dönüştürür; ardından NLU dökümü yorumlar.
- Optik karakter tanıma (OCR): Metin görüntülerinden karakterleri çıkarır; NLU daha sonra bu karakterleri anlam bakımından yorumlayabilir.
- Soru yanıtlama: Doğal dille sorulan soruları yanıtlar; bunun için NLU'nun hem soruyu hem de yanıtı içeren metni yorumlaması gerekir.










