Doğal Dil İşlemede Metin Özetleme: Algoritmalar, Teknikler ve Zorluklar
Yayınlanan: 2020-08-07Belirli bir içerik parçasından özet oluşturmak, herkesin katıldığı çok soyut bir süreçtir. Böyle bir süreci otomatikleştirmek, birçok veriyi ayrıştırmaya ve insanların önemli kararlar almak için zamanlarını daha iyi kullanmalarına yardımcı olabilir. Dışarıdaki çok büyük medya hacmiyle, en kritik bilgilerin etrafındaki tüyleri azaltarak çok verimli olabilir. Web'de otomatik olarak oluşturulan metin özetlerini görmeye başladık bile.
Reddit'i sık sık kullanıyorsanız, 'Autotldr bot'un belirli bir gönderideki bağlantılı makaleleri özetleyerek Redditors'a rutin olarak yardımcı olduğunu görmüş olabilirsiniz. Sadece 2011'de oluşturuldu ve şimdiden binlerce insan-saat tasarruf sağladı. Inshorts (haberleri 60 veya daha az kelimeyle özetleyen) ve Blinkist (kitapları özetleyen) gibi tam olarak bunu yapan bir uygulama eğiliminin gösterdiği gibi, güvenilir metin özetleri için bir pazar vardır.
Otomatik Metin Özetleme , bu nedenle, Doğal Dil İşleme (NLP) ve Makine Öğreniminde (ML) heyecan verici ancak zorlu bir sınırdır. Otomatik metin özetleme alanındaki güncel gelişmeler, Hans Peter Luhn'un “Edebiyat özetlerinin otomatik oluşturulması” başlıklı makalesinin yayınlandığı 1950'lerden bu yana bu alandaki araştırmalara borçludur.
Bu makale, bir belgeden temel cümleleri çıkarmak için sözcük sıklığı ve tümce sıklığı gibi özelliklerin kullanımını özetledi. Bunu, 1960'ların sonlarında Harold P. Edmundson tarafından yapılan ve bir belgeden önemli cümleleri çıkarmak için ipucu kelimelerinin, başlıkta kullanılan kelimelerin ve metinde görünen cümlelerin konumunun altını çizen bir başka eleştirel araştırma izledi.
Artık dünya, Makine öğreniminde ve bu alanda daha yeni çalışmalar yayınlamada ilerleme kaydettiğine göre, otomatik metin özetleme, dijital çağda bilgi ile etkileşimde bulunmak için her yerde bulunan bir araç haline gelmenin eşiğinde.
Okumalısınız: Hindistan'da NLP Mühendisi Maaşı

NLP'de metni özetlemek için öncelikle iki ana yaklaşım vardır.
İçindekiler
NLP'de Metin Özetleme
1. Çıkarmaya dayalı özetleme
Adından da anlaşılacağı gibi, bu teknik yalnızca bir belgeden anahtar sözcüklerin çıkarılmasına veya çıkarılmasına dayanır. Daha sonra, tutarlı bir özet oluşturmak için bu anahtar ifadeleri birleştirmek takip eder.
2. Soyutlama temelli özetleme
Bu teknik, çıkarmadan farklı olarak, bir belgenin bölümlerini başka sözcüklerle ifade etmeye ve kısaltmaya dayanır. Derin öğrenme problemlerinde böyle bir soyutlama doğru yapıldığında, tutarlı bir dilbilgisine sahip olduğunuzdan emin olabilirsiniz. Ancak, bu eklenen karmaşıklık katmanı, geliştirmenin çıkarmadan daha zor olması pahasına gelir.
Daha kaliteli özetler bulmanın başka bir yolu daha var. Bu yaklaşım, birleştirilmiş insan ve yazılım çabasını gerektiren destekli özetleme olarak adlandırılır. Bu da 2 farklı tatta geliyor
- Makine destekli insan özetleme : çıkarma teknikleri, insanın metin ekleyebileceği veya çıkarabileceği, dahil edilecek aday pasajları vurgular.
- İnsan destekli Makine özeti : insan, yazılımın çıktısını basitçe düzenler.
Metni özetlemeye yönelik temel yaklaşımların yanı sıra, metin özetleyicilerin sınıflandırıldığı başka temeller de vardır. Aşağıdakiler bu kategori başkanlarıdır:
3. Tek ve Çoklu belge özetleme
Tek belgeler, özetler oluşturmak için tutarlılığa ve gerçeklerin nadiren tekrarlanmasına dayanır. Öte yandan, çok belgeli özetlemeler, gereksiz bilgi ve tekrarlama şansını artırır.
4. Endikatif ve bilgilendirici
Özetlerin sınıflandırması, kullanıcının nihai hedefine dayanır. Örneğin, gösterge niteliğindeki özetlerde, bir makaleden yüksek seviyeli puanlar beklenebilir. Oysa bilgilendirici bir genel bakışta, okuyucunun özeti detaylandırmasına izin vermek için daha fazla konu filtrelemesi beklenebilir.
5. Belge uzunluğu ve türü
Giriş metninin uzunluğu, özetleme yaklaşımının türünü büyük ölçüde etkiler.
Cornell'in haber odası gibi en büyük özetleme veri kümeleri, ortalama 300-1000 kelimelik haber makalelerine odaklanmıştır. Çıkarıcı özetleyiciler, bu tür uzunlukları nispeten iyi bir şekilde ele alır. Çok sayfalı bir belge veya bir kitabın bölümü ancak hiyerarşik kümeleme veya söylem analizi gibi daha gelişmiş yaklaşımlarla yeterince özetlenebilir.
Ek olarak, metnin türü de özetleyiciyi etkiler. Teknik bir raporu özetleyecek yöntemler, bir mali tabloyu özetlemek için daha donanımlı olabilecek tekniklerden kökten farklı olacaktır.
Bu yazıda, ekstraksiyon özetleme tekniğinin daha fazla detayına odaklanacağız.
Sayfa Sıralaması Algoritması
Bu algoritma, google gibi arama motorlarının web sayfalarını sıralamasına yardımcı olur. Algoritmayı bir örnekle anlayalım. Aralarında farklı düzeyde bağlantı bulunan dört web sayfanız olduğunu varsayalım. Birinin diğer üçüyle bağlantısı olmayabilir; biri diğer 2'ye bağlanabilir, biri sadece biriyle ilişkilendirilebilir ve bu böyle devam eder.
Daha sonra, n'nin web sayfası sayısı olduğu n satır ve sütunlu bir matris kullanarak bir sayfadan diğerine gezinme olasılıklarını modelleyebiliriz. Matris içindeki her öğe, bir web sayfasından diğerine geçiş olasılığını temsil edecektir. Doğru olasılıkları atayarak, bir web sayfası sıralamasına gelmek için böyle bir matrisi yinelemeli olarak güncelleyebilirsiniz.
Ayrıca Okuyun: NLP Projesi ve Konuları
MetinSırası Algoritması
PageRank algoritmasını keşfetmemizin nedeni, aynı algoritmanın web sayfaları yerine metni sıralamak için nasıl kullanılabileceğini göstermektir. Bu, sayfalar arasındaki bağlantıları cümleler arasındaki benzerlikle değiştirerek ve benzerlik puanı olarak PageRank stili matrisini kullanarak perspektifi değiştirerek yapılabilir.
TextRank algoritmasını uygulama
Gerekli Kitaplıklar
- uyuşmuş
- pandalar
- ntlk
- tekrar
Aşağıda, çıkarma özetleme tekniğinin arkasındaki kodun bir açıklaması yer almaktadır:
Aşama 1
Kaynak belgede sahip olduğunuz tüm metni tek bir katı metin bloğu olarak birleştirin. Bunu yapmanın nedeni, 2. adımı daha kolay uygulayabilmemiz için koşulları sağlamaktır.
Adım 2
Nokta (.), soru işareti (?) ve ünlem işareti (!) gibi noktalama işaretleri aramak gibi bir cümleyi tanımlayan koşullar sağlarız. Bu tanımı elde ettikten sonra, metin belgesini cümlelere böleriz.
Aşama 3
Artık ayrı cümlelere erişimimiz olduğuna göre, bu cümlelerin her birinin vektör temsillerini (kelime yerleştirmeleri) buluyoruz. Şimdi vektör temsillerinin ne olduğunu anlamamız gerekiyor. Kelime yerleştirmeleri, benzer anlamlara sahip kelimelerin matematiksel bir tanımını sağlayan bir kelime temsili türüdür. Gerçekte, bu, kelimeleri önceden tanımlanmış bir vektör uzayında gerçek değerli vektörler olarak temsil eden bütün bir teknikler sınıfıdır.

Her kelime, birçok boyutu olan (zaman zaman 100'ün üzerinde) gerçek değerli bir vektörle temsil edilir. Dağılım gösterimi, kelimelerin kullanımına dayanır ve bu nedenle, benzer şekillerde kullanılan kelimelerin benzer tanımlara sahip olmasına izin verir. Bu, vektörlerin kendileri olarak temsil edilen diğer kelimelere yakınlıklarından dolayı kelimelerin anlamlarını doğal olarak yakalamamızı sağlar.
Bu kılavuz için, Global Vectors of Word Representation'ı (GloVe) kullanacağız. gloVe, Pennington tarafından Stanford'da geliştirilen açık kaynaklı dağıtılmış kelime temsil algoritmasıdır. 2 model ailesinin özelliklerini, yani global matris çarpanlara ayırma ve yerel bağlam penceresi yöntemlerini birleştirir.
4. Adım
Sözcüklerimiz için vektör temsiline sahip olduğumuzda, işlemi tüm cümleleri vektörler olarak temsil edecek şekilde genişletmemiz gerekir. Bunu yapmak için, bir cümledeki kelimeleri oluşturan terimlerin vektör temsillerini ve ardından cümle için birleştirilmiş bir vektöre ulaşmak için bu vektörlerin ortalamasını/ortalamalarını getirebiliriz.
Adım 5
Bu noktada, her bir cümle için bir vektör temsilimiz var. Şimdi, kosinüs benzerliği yaklaşımını kullanarak cümleler arasındaki benzerlikleri ölçmek faydalı olacaktır. Daha sonra boş bir matrisi cümlelerin kosinüs benzerlikleriyle doldurabiliriz.
6. Adım
Artık cümleler arasındaki kosinüs benzerlikleriyle doldurulmuş bir matrisimiz var. Bu matrisi, düğümlerin cümleleri temsil ettiği ve kenarların cümleler arasındaki benzerliği temsil ettiği bir grafiğe dönüştürebiliriz. Cümle sıralamasına ulaşmak için kullanışlı PageRank algoritmasını bu grafikte kullanacağız.
7. Adım
Şimdi makaledeki tüm cümleleri önem sırasına göre sıraladık. Şimdi bir özet oluşturmak için en üstteki N (10 diyelim) cümleyi çıkarabiliriz.
Böyle bir yöntemin kodunu bulmak için Github'da buna benzer birçok proje var; Öte yandan bu makale, aynı konuda bir anlayış geliştirmeye yardımcı olur.
Kontrol edin: Modern Yaşamda Dil Modellemenin Evrimi
Değerlendirme teknikleri
Bu tür modellerde ince ayar yapılmasında önemli bir faktör, üretilen özetlerin kalitesini yargılamak için güvenilir bir yönteme sahip olmaktır. Bu, genel olarak aşağıdaki şekilde sınıflandırılabilecek iyi değerlendirme tekniklerini gerektirir:
- İçsel ve dışsal değerlendirme :
İçsel: bu tür değerlendirme, özetleme sistemini kendi içinde test eder. Esas olarak özetin tutarlılığını ve bilgilendiriciliğini değerlendirirler.
Dışsal: bu tür değerlendirme, özetlemeyi başka bir görevi nasıl etkilediğine göre test eder. İlgililik değerlendirmesi, okuduğunu anlama vb. görevler üzerinde özetlemenin etkisini test edebilir.
- Metinlerarası ve Metin içi :
Metinlerarası: Bu tür değerlendirmeler, çeşitli özetleme sistemlerinin karşılaştırmalı bir analizine odaklanır.
Metin içi: bu tür değerlendirmeler, belirli bir özetleme sisteminin çıktısını değerlendirir.
- Alana özel ve alandan bağımsız :
Etki alanından bağımsız: Bu teknikler genellikle, bilgi açısından zengin metin bölümlerinin belirlenmesine odaklanabilen genel özellik kümelerini uygular.
Alana özgü: Bu teknikler, bir metin üzerindeki bir alana özgü mevcut bilgiyi kullanır. Örneğin, tıbbi literatürün metin özeti, tıbbi bilgi kaynaklarının ve ontolojilerin kullanılmasını gerektirir.
- Özetleri niteliksel olarak değerlendirmek :
Diğer değerlendirme tekniklerinin en büyük dezavantajı, otomatik özetlerin çıktısını modelle karşılaştırabilmek için referans özetlerini gerektirmeleridir. Bu, değerlendirme görevini zor ve pahalı hale getirir. Bu sorunu çözmek için bir makaleler/belgeler topluluğu ve bunlara karşılık gelen özetler oluşturmak için yapılan çalışmalar var.
Metin Özetlemenin Zorlukları
Özetler oluşturmak ve değerlendirmek için son derece gelişmiş araçlara rağmen, metin özetleyicilerin neyin önemli ve alakalı olduğunu anlamaları için güvenilir bir yol bulma konusundaki zorluklar devam etmektedir.
Tartışıldığı gibi, vektör temsili ve benzerlik matrisleri kelime ilişkilerini bulmaya çalışır, ancak yine de en önemli cümleleri belirlemek için güvenilir bir yönteme sahip değildirler.
Metin özetlemedeki diğer bir zorluk, insan dilinin karmaşıklığı ve özellikle yazılı metinde insanların kendilerini ifade etme biçimleridir. Dil, yalnızca bir şeyi açıklamak için sıfat ve zarfların olduğu uzun cümlelerden değil, aynı zamanda göreceli cümleler, apozisyonlar vb.

“Anaphora sorunu” metin özetlemede bir başka engeldir. Dilde, konuşmadaki konuyu genellikle eş anlamlıları veya zamirleriyle değiştiririz. Hangi zamirin hangi terimin yerini aldığının anlaşılması “anafora sorunu”dur.
“Katafor sorunu”, anafora sorununun zıttıdır. Bu belirsiz kelime ve açıklamalarda, terimin kendisini tanıtmadan önce metinde belirli bir terim kullanılmıştır.
Çözüm
Metin özetleme alanında hızlı bir büyüme yaşanıyor ve daha odaklı özetleme görevlerinin üstesinden gelmek için özel araçlar geliştiriliyor. Açık kaynaklı yazılımlar ve kelime yerleştirme paketlerinin yaygın olarak kullanıma sunulmasıyla birlikte, kullanıcılar bu teknolojinin kullanım durumunu genişletiyor.
Otomatik metin özetleme, insanların günlük olarak etkileşime girdiği bilgi hacmini basitleştirerek insan üretkenliğinde büyük bir sıçrama sağlayan bir araçtır. Bu, insanların sadece gerekli okumaları kısmalarına izin vermekle kalmaz, aynı zamanda gözden kaçan yazılı eserleri okumak ve anlamak için zaman kazandırır. Bu tür özetleyicilerin, insanlar tarafından yazılanlardan ayırt edilemeyen özetler oluşturacak kadar iyi bir şekilde bütünleşmesi sadece bir zaman meselesidir.
NLP becerilerinizi geliştirmek istiyorsanız, bu NLP projelerine el atmanız gerekir. Makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev, IIIT- sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka PG Diplomasına göz atın. B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.
NLP'nin kullanım alanları nelerdir?
En karmaşık ve ilginç modern teknolojilerden biri olan NLP veya Doğal Dil İşleme, çeşitli şekillerde kullanılmaktadır. En iyi uygulamaları arasında otomatik kelime düzeltme, otomatik tahmin, sohbet robotları ve sesli asistanlar, sanal asistanlarda konuşma tanıma, insan konuşmasının duygu analizi, e-posta ve spam filtreleme, çeviri, sosyal medya analitiği, hedef reklam, metin özetleme ve özgeçmiş tarama yer alır. işe alım, diğerleri arasında. Doğal Dil Anlayışı (NLU) gibi kavramlara yol açan NLP'deki diğer gelişmeler, karmaşık görevlerden daha yüksek doğruluk ve çok daha üstün sonuçlar elde edilmesine yardımcı oluyor.
NLP öğrenmek için matematik çalışmak zorunda mıyım?
Hem çevrimdışı hem de çevrimiçi olarak mevcut kaynakların bolluğu ile, NLP öğrenmek için tasarlanmış çalışma materyallerine erişmek artık daha kolay. Bu çalışma kaynaklarının tamamı, büyük resimden ziyade NLP olarak adlandırılan bu geniş alanın belirli kavramlarıyla ilgilidir. Ancak matematiğin NLP kavramlarının herhangi birinin parçası olup olmadığını merak ediyorsanız, matematiğin NLP'nin önemli bir parçası olduğunu bilmelisiniz. Matematik, özellikle olasılık teorisi, istatistik, lineer cebir ve hesap, NLP'yi yönlendiren algoritmaların temel direkleridir. Temel bir istatistik anlayışına sahip olmak, gerektiğinde üzerine inşa edebilmeniz için yararlıdır. Yine de, matematiğe girmeden Doğal Dil işlemeyi öğrenmenin bir yolu yoktur.
Bilgi çıkarmak için kullanılan bazı NLP teknikleri nelerdir?
Bu dijital çağda, sosyal medya platformları, müşteri şikayetleri ve anketler gibi çeşitli kanallardan temel olarak ses, görüntü, video ve metin biçiminde yapılandırılmamış verilerin üretiminde büyük bir artış oldu. NLP, işletmelere yardımcı olabilecek, yapılandırılmamış veri hacimlerinden faydalı bilgiler çıkarmaya yardımcı olur. Anlayışlı verileri çıkarmak için kullanılan beş yaygın NLP tekniği vardır; bunlar: adlandırılmış varlık tanıma, metin özetleme, duygu analizi, görünüm madenciliği ve konu modelleme. NLP'de başka birçok veri çıkarma yöntemi vardır, ancak bunlar en yaygın olarak kullanılanlardır.