Named Entity Recognition (NER) bazen varlık kümeleme, çıkarma veya tanımlama olarak da anılmakla beraber metindeki önemli bilgileri (varlıkları) belirleme ve kategorilere ayırma işidir. Peki varlık olarak bahsettiğimiz şeyler neler?
Bir varlık, tutarlı bir şekilde aynı şeye atıfta bulunan herhangi bir kelime veya kelime dizisi olabilir. Varlıklar, isim öbekleri, fiil öbekleri veya her ikisi gibi belirli bir cümlenin en önemli parçalarıdır. Tespit edilen her varlık önceden belirlenmiş bir kategoride sınıflandırılır. Örneğin, bir NER makine öğrenimi (ML) modeli, bir metindeki "Microsoft" kelimesini algılayabilir ve onu "şirket" olarak sınıflandırabilir.
NER, yapay zekanın bir alt alanı olan doğal dil işlemenin (NLP) bir biçimidir. NLP, doğal dili, yani bilgisayar kodlama dilleri gibi yapay olarak değil, doğal olarak gelişen herhangi bir dili işleyen ve analiz eden bilgisayarlarla ilgilidir. NLP hakkında daha detaylı bilgi almak isterseniz "Doğal Dil İşleme Nedir ve Nasıl Uygulanır?" adlı yazımıza göz atabilirsiniz. Şimdi gelin, named entity recognition uygulamasına daha yakından bakalım.
Basitçe gözlemlediğimiz gibi, belirli bir metni okuduktan sonra insanlar, değerler, konumlar vb. gibi adlandırılmış varlıkları tanıyabiliriz.
Örneğin, aşağıdaki metne bakalım:
Yukarıdaki metinde de görebileceğimiz gibi, kişi, organizasyon, konum vb. varlık isimlerini tanımlamamız mümkün. Ancak aynı şeyi bilgisayarların yapabilmesi, yani onları kategorize edebilmeleri için önce varlıkları tanımalarına yardımcı olmamız gerekiyor. Bunu yapmak için en önemli ve yaygın olarak kullanılan metin analizi uygulamalarından Makine Öğrenimi ve Doğal Dil İşleme'nin (NLP) yardımına ihtiyacımız var. Bilgisayarları kullanarak NER uygularken NLP; dilin yapısını ve kurallarını inceleyerek metinden ve konuşmadan anlam çıkarabilen akıllı sistemler oluşturuyor. Makine öğrenimi ise, makinelerin zaman içinde öğrenmesine ve gelişmesine yardımcı oluyor.
Bir varlığın ne olduğunu öğrenmek için, bir NER modelinin bir varlığı oluşturan bir kelimeyi veya kelime dizisini (örneğin California) tespit edebilmesi ve hangi varlık kategorisine ait olduğuna karar verebilmesi gerekiyor. Sonuç olarak, herhangi bir NER modelinin temelinde iki aşamalı bir süreç olduğunu söyleyebiliriz:
Bu nedenle, öncelikle ad, konum, etkinlik, organizasyon vb. gibi varlık kategorileri oluşturmamız ve NER modeliyle ilgili eğitim verilerini beslememiz gerekmekte.
Eğer, nasıl NER (Named Entity Recognition) uygulamaları geliştirilebilir diyorsanız, bu alanda yaygın olarak yararlanılan açık kaynak kodlu NLTK, SpaCy ve Stanford NER kütüphanelerini kullanabilirsiniz. Her bir kütüphanenin bağlantılarına tıklayarak artı ve eksi yönlerini keşfetmeniz de mümkün. Ek olarak, bu kütüphanelerde yaygın olarak karşılaşabileceğimiz named entity türlerinin bir listesi de aşağıdaki tabloda yer alıyor.
NER, büyük miktarda metne yüksek düzeyde genel bakışın yararlı olduğu her duruma uygulanabilir. NER ile, bir metnin konusunu veya temasını bir bakışta anlayabilir ve metinleri alakalarına veya benzerliklerine göre hızlı bir şekilde gruplayabiliriz. NER’ın işlerimizi nasıl kolaylaştırdığını anlamak için yaygın kullanım senaryolarına hep birlikte göz atalım.
Haber içeriklerinde geçen kişi, kurum ve yer gibi ifadeler otomatik olarak çıkartılarak belli bir kişi ya da kuruma ait haberlere erişilmesini daha kolay hale getirmekte. Haberler için ilgili etiketleri bilmek, tanımlanmış hiyerarşilerde otomatik olarak kategorilere ayırmada ve içerik keşfi için NER kullanılmaktadır.
Bir NER modeli, ürün adları, teknik özellikler, şube konumu ve daha fazlası gibi önemli bilgilere dayalı olarak ilgili müşteri şikayetlerini, sorgularını ve geri bildirimlerini kolayca tespit edebilir. Şikayet veya geri bildirim uygun şekilde sınıflandırılır ve öncelikli anahtar kelimeleri filtreleyerek doğru departmana yönlendirilir. Böylece, problemin ilgili birime aktarılması için geçen süre oldukça kısalmış olur. Twitter gibi sosyal medya üzerinden analizler yapılırsa hangi üründe veya hangi lokasyonda ne tür problem olduğu otomatik olarak çıkartılır. Şirket elde ettiği verilerle gerekli analizleri yaparak ilgili konu için isabetli yatırımlar yapabilir.
İnsanlar tarafından konuşulan farklı diller arasında çeviri yapılırken dikkat edilmesi gereken hususlardan biri özel isimler gibi dile ait bilgilerin çeviri sisteminde değişmeden olduğu gibi kalmasıdır. Örnek olarak, “Yağmur bugün bize gelecek.” cümlesini ele alırsak; burada Yağmur bir özel isimdir, eğer çeviri sistemi bunu bir yağış biçimi türü olarak algılarsa çeviri hatalı yapılmış olur. Bu sebeple, varlıkların çıkarılması çeviri sistemleri için oldukça önemlidir.
Özgeçmişinizi tarayan ve onlardan ad, adres, nitelik vb. gibi önemli bilgileri alan çeşitli araçlarla karşılaşmış olabilirsiniz. Bu tür araçların çoğu, bu bilgilerin çıkarılmasına yardımcı olan NER (Named Entity Recognition) uygulamasından yararlanıyor. Ayrıca, şirketler genelinde İK departmanlarının karşılaştığı zorlu görevlerden biri, adayları kısa listeye almak için devasa bir özgeçmiş yığınını değerlendirmek. Bu özgeçmişlerin birçoğu aşı derecede ayrıntılı olarak hazırlanır ve bilgilerin çoğu değerlendirici için ilgisizdir. NER uygulmasından faydalanılarak, değerlendirici için ilgili bilgiler kolayca çıkarılabilir. Bu sayede insan kaynakları uzmanlarının adayları bir özgeçmiş yığını arasından kısa listeye almak için harcadığı çaba azalır.
Günümüzde Netflix, YouTube gibi birçok platform, optimum müşteri deneyimleri üretmek amacıyla öneri sistemlerinden yararlanır. Bu sistemlerin çoğu, kullanıcı arama geçmişine dayalı önerilerde bulunabilen adlandırılmış varlık tanımaya (NER) dayanır. Örneğin, YouTube’da çok sayıda eğitim videosu izlerseniz, eğitim varlığı olarak sınıflandırılan daha fazla öneri alırsınız.
Hemen hemen tüm ürün tabanlı şirketler için çevrimiçi incelemeler, müşterilerin ürünleriniz hakkında neyi sevip neyi sevmediği ve işletmenizin iş artışı için iyileştirmeye ihtiyaç duyan yönleri hakkında zengin bilgiler sağlayabileceğinden, müşteri geri bildirimi almak için harika bir kaynaktır.
Dolayısıyla, burada tüm müşteri geri bildirimlerini düzenlemek ve tekrar eden sorunları saptamak için NER’i kullanabiliriz. Örneğin, olumsuz müşteri geri bildirimlerinde en sık bahsedilen ve belirli bir ofis şubesine odaklanmamıza neden olabilecek konumları tespit etmek için NER’dan faydalanmak mümkün.
Tam da bu noktada kendi geliştirdiği teknoloji ürünleriyle tüketici konuşmalarını analiz etmek amacıyla mesai harcayan Kimola devreye giriyor. Burada insan gücüyle başa çıkılamayacak kadar büyük miktardaki tüketici konuşmalarından söz ediyoruz. Bu devasa miktardaki tüketici verisini analiz etmek için Kimola’nın Cognitive ürününü önemli bir rol oynuyor. Hiçbir kod bilgisine sahip olmadan ve web-tabanlı olarak çalışan Kimola Cognitive makine öğreniminin yanı sıra Unsupervised Named Entity Recognition ile doğal dil işleme teknolojisinden yararlanmamızı sağlıyor.
Makine öğrenimi ile sektöre uygun olarak tüketici görüşlerinin hangi kategorilerde olduğunu tespit etmek mümkün hale geliyor. Bununla beraber NER sayesinde bu içerikler Kimola’nın belirlediği 10 farklı varlık kategorisinde (GPE, ORG, Interests, Human, NORP vb.) etiketlenerek çok değerli içgörülerin çıkarılmasına katkı sağlıyor.
Siz de eğer bir NLP veri setine sahip iseniz, Kimola Cognitive’de ücretsiz bir hesap oluşturarak veri setinizde yer alan içeriklerin hangi kategorilerde yoğunlaştığını belirleyip, içerikte yer alan varlıkları yakalayarak markanız için önemli aksiyonlar almanızı sağlayacak içgörüler elde edebilirsiniz.
At Kimola, we are dedicated to understand texts to reveal insights. If you're looking for the definition of text analysis and its'...
Read how NLP is used for and the benefits of NLP in our latest article.