Makine Öğrenmesi Deneylerimiz Bölüm 1



AR-GE olarak yaptığımız neredeyse her projenin ana odağında ev sahipliği yaptığımız milyonlarca özgeçmişin ve ilanın doğru bir biçimde eşleştirilmesi var. Bunu sağlamak için semantik anlamlandırma ve collaborative filtering gibi farklı ama aynı amaca hizmet eden yöntemleri kullanıyoruz. Bir süredir de makine öğrenmesi yoluyla başvuru yapan kişilerin firma hareketlerine göre aldığı değerlere bakarak modeller kuruyoruz. Nasıl başladık, hangi araçlarla, hangi modelleri deniyoruz kısaca anlatalım istedik. Gelişlemeler oldukça yeni makaleler yayınlamaya devam edeceğiz.

Yöntem ve Araçlar

Öncelikle ilanlara uygun özgeçmişleri modellemeye başladık. Adayların yaptıkları başvuruya, firmaların verdikleri tepkiye ve değerlemeye göre, özgeçmişlerin uygun ya da uygun olmadığını sisteme aktardık. Firmanın hareketlerine örnek vermek gerekirse, ilgili başvuru için özgeçmişin birden fazla kez açılması, kısa-uzun liste olarak işaretlenmesi, mülakata davet edilmesi gibi kıstasları seçtik. Her bir başvuru için bu durumları hesapladık ve kısaca bu durumlara uyanları "1" uymayanları "0" olarak işaretledik. Görüldüğü üzere durumu bir Classification problemi olarak ele aldık. Bu işlemleri "Yazılım Uzmanı" pozisyonunda 35 ilan ve bu ilanlara başvuru yapan yaklaşık 15.000 özgeçmiş üzerinde yaptık.

Verimizi biraz tanıdıktan sonra bu veriyi ve istediğimiz yöntemi hızlıca uygulayabileceğimiz ve sonuçlarını yine hızlıca değerlendirebileceğimiz araçları aramaya denedik. Burada yaklaşık 5 farklı platform denedik, bunlar:


Tüm araçları başlangıçta hazırladığımız seti kullanarak denedik. Model oluşturduk. Sonuç olarak sanırım daha ilk andan itibaren hepimizin favorisi olan Azure Machine Learning de karar kıldık. Tüm araştırmacılarla ortak bir platformu başarılı şekilde sunabilmesi olsun, tüm deney ortamının modüler olması, tüm aşamaların her an görünebilir ve değiştirilebilir olması, kullanması ve sonuç alımı basitliği bakımından tüm düzey makine öğrenmesi kullanıcılarına hitap edeceğini düşünüyoruz.

Geldiğimiz Nokta

Veri temizleme, feature extraction ve data dönüşümlerinden sonra birden fazla classification algoritması ile setimizi denedik. . Tabi bu iş tamamen deney yapmaktan geçiyor. Hangi feature lardan daha fazla bilgi edineceğimizi belirlemek işin en önemli ve zor tarafı. Her deneyin de bize anlattığı bir ders var. Her yeni parametre ile tekrar tekrar algoritmayı çalıştırıp sistemin o anki resmiyle not almak ilerleme kaydetmek için kesinlikle yapılması gereken bir iş.

Sonuçta yukarıda verdiğim sayılarla oluşan veri setimizle aşağıdaki sonuçları elde ettik. 394 adet karar ağacı oluşturuldu.

Gelecek Çalışmalar

Türkiye de bu denli çeşitli veri ile bu alanda yapılan ilk çalışma olan projemiz Tübitak desteği almaya hak kazanmıştır. Yazılım uzmanı ile elde ettiğimiz bu başarının aynısını hızlıca diğer pozisyonlar için uygulamaya başladık. Hedefimiz tüm pozisyonlar için bir karar ağacı elde etmek. Şu an "Muhasebe" alanı için çalışmaları tamamlamak üzereyiz. Sektör farklılıklarının özgeçmiş üzerindeki alanların değerlerine etkilerini tesbit ediyoruz. Bir sonraki makaleyi yazarken bunları da paylaşmayı ihmal etmeyeceğiz. Siz de benzer çalışmalarınızı bizimle paylaşmayı ihmal etmeyin.

Unutmadan.. Elde ettiğimiz sonuçları sadece sayısal veriler ile değerlendirmek pek bize göre değil o yüzden, tahmin motorumuzu simule eden, özgeçmişinizi size benzer ilanlar üzerinde değerlendirip ne kadar yüzde ile uygun olabileceğini söyleyebilen ufak bir uygulama yazdık. Onu da çok yakında burada bulabilirsiniz.