Latent semantic analysis, doğal dil işlemede bir metinde yer alan veri kümeleri ile veri kümelerinin içerdiği terimler arasındaki ilişkiyi analiz eden bir tekniktir. (Landauer 1997) Başka bir deyişle metin içerisinde yer alan cümlelerin verilen hangi konuya veya konsepte ait olduğuna dair sınıflandırma yapar. Latent semantic analysis yapabilmek için öncellikle bir dil modelimiz olması gereklidir. Modelimizin daha önce oluşturduğumuz M cümleleri, N kelimeleri belirtmek üzere MxN matrisi olduğunu varsayalım. Aslında LSA uygulayabilmek için çok daha fazla sayıda cümleye ihtiyacımız vardır.
Words/Sentences | to | i | going | school | study | math |
Sentence 1 | 0 | 0,029 | 0,029 | 0,029 | 0 | 0 |
Sentence 2 | 0 | 0,024 | 0 | 0,024 | 0,067 | 0,067 |
Sentence 3 | 0 | 0 | 0,022 | 0 | 0 | 0,059 |
Yukarıdaki tablodaki gibi oluşturduğumuz dil modeline giriş matrisi (input matrix) diyebiliriz. Verilen metinde geçen konseptleri veya konuları ortaya çıkartabilmek için input matrix üzerinde SVD (Singular Valued Decomposition) hesaplamasını yapmamız gerekiyor. Singular valued decomposition’dan kısaca bahsetmek gerekirse, SVD verilen input matrix üzerinde ayrıştırma yapıyor.SVD konusunu başka bir makalede incelemeye çalışacağım. Aşağıdaki denklemi incelersek;
A[mxn] = U[uxr] * S[rxr] * (V[nxr])T
A : Input Data Matrix mxn matrix (m number of sentences,n number of words)
U : Left Singular Matrix mxr matrix (m number of sentences,r number of concepts)
S : Rank Matrix rxr matrix (r = rank of A)
V : Right Singular Matrix nxr (n number of words, r number of concepts)
Dil modelimizi oluşturan giriş matrisini kullanarak 3 farklı matrisin çarpımı olarak ifade ederek, metin özetleme için kullanacağımız cümleye göre konsept ve kelimeye göre konseptleri belirlemiş oluyoruz. SVD işleminden sonra alınan sonuçları kullanarak cümle seçimi yapmamız gerekiyor. Böylece Latent semantic analysis tekniğini kullanarak metin özetleme uygulaması yapabilmek temelde 3 adımdan oluştuğunu anlıyoruz.
Step 1: Input matrisinin oluşturulması, bu adımda bag of words veya td-idf tercih edilebilir.
Step 2: Input matrisi üzerinde Singular valued decomposition (SVD) hesaplamasının yapılması.
Step 3: SVD sonuçlarına göre en uygun cümleyi seçmek.
Step 3 te geçen en uygun cümleyi seçebilmek için literatürde çeşitli yöntemler mevcut. Bu yöntemlerden ilki Gong and Liu’s Approach, (2001). Gong and Liu yönteminde SVD yöntemiyle ayrıştırılan VT right singular matrisindeki cümle ve konseptler arasından en yüksek skora sahip başka bir deyişle en önemli konseptin içinden bir cümle seçiliyor.
Steinberger and Jezek (2004) yönteminde ise Gong and Liu yaklaşımından farklı olarak VT matrisinin yanı sıra S rank matrisi de kullanılıyor. Seçilen cümleyi belirlemek için VT matrisindeki her cümle satırına karşılık gelen length skorlarına bakılır. Length değerleri verilen dimension dan küçük veya eşit konseptler kullanılarak hesaplanır. S rank matrisi en önemli matrisi belirlemek için kullanılır. Ayrıca Steinberger and Jezek (2004) yönteminde birden fazla cümle seçilebiliyor.
Bir diğer yöntem olan Murray, Renals and Carletta’s approach, (2005) yaklaşımında VT ve S matrisi cümle seçiminde kullanılıyor. Belirlenen en önemli konseptlere ait birden fazla cümle seçilebiliyor. Kaç cümle seçileceği S rank matrisi kullanılarak karar veriliyor.
Son olarak Ozsoy’s approach, (2010) 2 farklı yöntemi içermekte, ilk yöntem olan Cross Method için Steinberger and Jezek (2004) yönteminin genişletilmiş halidir diyebiliriz. Burada SVD hesaplaması adımıyla cümle seçimi adımının arasında pre-processing adımı bulunuyor. Yapılan pre-processing işleminin amacı konsepte ait önemli olmayan cümleleri elemeye çalışmaktır. Bunun için her cümle için bir averaj değer hesaplanıyor. Konsept ve cümleye ait cell değeri averajdan küçük veya eşitse sıfıra eşitleniyor. Yapılan pre-procesing işlemi sonra Steinberger and Jezek (2004) yaklaşımında ki adımlar uygulanıyor.
Ozsoy yaklaşımına ait ikinci yöntem Topic Methodudur. Topic metodunda temel amaç ana konsept ve alt konseptleri bulmaktır. Bu yöntemde de Cross yöntemiyle benzer şekilde SVD hesaplama adımıyla cümle seçimi adımı arasında pre-processing işlemi uygulanmakta. Sonrasında main topic’leri bulma adımı işletilmektedir. Bunun için bir konsept matrisi oluşturuluyor. Her konsept ait strength değerleri bulunuyor. Bu sayede ana konseptler ve alt konseptler bulunmuş oluyor.
Bu makalede metin özetlemede sıkça kullanılan yöntemlerden biri olan Latent semantic analysis konusunu anlatmaya çalıştım. Umarım faydalı olmuştur. Başka makalelerde görüşmek üzere.
Murat 🙂