Question-Answering — 1

Merhaba arkadaşlar, bugün sizlere Doğal Dil İşleme(NLP)’de çok önemli bir konuya değineceğim. Apple, Google gibi büyük şirketlerin kullandığı Question-Answering konusunu anlatacağım. Question-Answering nedir, nasıl uygulanır gibi bir takım sorulara cevap bulmaya çalışacağım. Bu konuyu 4 parça halinde anlatmayı planlıyorum. Bugün ki yazım giriş seviyesinde, genel tabiriyle ve yaklaşımları daha detaya girmeden anlatacağım. Serinin ilerleyen yazılarında daha teknik konulara gireceğiz ve en sonunda da bu seriyi bir projeyle taçlandıracağız. Kaynak olarak daha çok Stanford Universitesi’nden Dan Jurafsky’nin derste anlattığı içerikleri kullanarak sizlere kalite bir içerek sunmaya çalışacağım.

Başlayalım…

Question-Answering Nedir?

Question-Answering, insanların doğal bir dilde yönelttikleri soruları otomatik olarak cevaplayan yapı sistemleri ile ilgilenen, bilgi alma ve doğal dil işleme (NLP) alanlarında bir bilgisayar bilimi disiplinidir.Question-Answering konuları ilk olarak 1961 yıllarında delikli kartlarla ele alınmıştır. Daha sonra, Simmons, Klein ve McConlogue 1964 yılında Indexing and Dependency Logic for Answering English Questions adlı çalışma gerçekleştirmiştir.

Question Answering için basit örneklere bakabiliriz, aklınızda biraz daha oturması için.

Sisteme “What do worms eat” diye bir soru sordunuz, yan tarafta ise potansiyel cevaplar var. Ancak sistem bunlardan hangisini size döndürücek. Bunun cevabını bu yazı bittiğinde öğrenmiş olacaksınız.

Yukarıda bahsetmiştim, Apple gibi büyük şirketlerin bu yapıyı kullandığını, yukarıdaki görselde görüyoruzki Siri’ye Yarın San Fransisco’da şemşiye ihtiyacım var mı diye sorduğunuzda size “Evet” cevabını veriyor ve akabinde hava durumunu getiriyor. Soruyu anlıyor ve ona göre size ihtiyacınız olan cevabı döndürüyor.

İşte, bir örnek daha. Question-Answering konusu kafanızda daha iyi otursun diye yazıyı bol örnekli tutmak istiyorum. Yukarıdaki örneğe baktığımızda soru olarak 2 dilim muzlu pasta kaç kalori dediğinizde bunu contexten anlayıp size direk 702 Cal olarak size dönüş yapıyor.

Types of Questions in Modern Systems

Modern sistemde soru tipleri Factoid Question ve Complex Question olmak üzere ikiye ayrılmaktadır.

Factoid questions

Factoid sorular daha çok basit amaçlı kullandığımız sorulara denk gelmektedir. Örnek vermek gerekirse “x” kitabının yazarı kimdir?, Apple şirketi nerededir gibi basit ve direk sonuca gidilebilecek sorular Factoid sorular olarak nitelendirilmektedir.

Örnek:

  • Who wrote “The Universal Declaration of Human Rights”?
  • What is the average age of the onset of autism?
  • Where is Apple Computer based?
  • How many calories are there in two slices of apple pie?

Complex (narrative) questions

Kompleks sorular ise, daha çok soruları bir kaç bağlam içeren ve detay içeren sorulara denk gelmektedir. Örnek vermek gerekirse, “Ateşli hastalığı olan çocuklarda, asetaminofenin ateşi azaltmada etkinliği nedir?” gibi gerçekten zorlayıcı ve detay içeren sorular kompleks sorulara girmektedir.

Örnek:

  • What do scholars think about Jefferson’s position on dealing with pirates?
  • In children with an acute febrile illness, what is the efficacy of acetaminophen in reducing fever?

Paradigms for QA

Question-Answering için Bilgi Çıkarımı tabanlı yakalaşım(IR-based approaches) ve Bilgi tabanlı ve Hibrid yaklaşım(Knowledge-based and hybrid approaches) olmak üzere 2 farklı paradiğmaya sahiptir.

IR-based yaklaşıma örnek olarak TREC, IBM Watson ve Google ürünleri verilebilir.

Knowledge-based ve Hybrid yaklaşımlarına örnek olarak IBM Watson, Apple Siri, Wolfram Alpha, True Knowledge Evi ürünleri verilebilir.

Yukarıda ki görselde Google’da search kısmına Odin’inin kuzgunlarının isminin ne olduğunu sorduğunuzda cevabı direk olarak Huginnand Muninn olarak döndürüyor. Sorunuzu contextten anlıyor ve cevabı veriyor.

Yine Google’dan bir örnek, Information Retrieval(IR) tabanlı yaklaşımda Louvre Müzesinin nerede olduğunu sorduğunuzda size Paris,Fransa yanıtını veriyor.

IR tabanlı Factoid Soruların Mimarisi

Mimariyi basit olarak anlatmak gerekirse, Toplu olarak Dokümanlarınızı indexli olarak Document Retrieval aşamasına gönderiyoruz. Sorduğumuz soru ise, ilk önce processing işlemine tabi tutuluyor ve Query Formulation’dan çıkan sonuç Document Retrieval kısmına geliyor ya da Answer Type Detection kısmında direk Answer Processing aşamasına geçiyor. Passage Retrieval aşamasına baktığımızda, Document Retrieval aşamasından sonra ilgili olan dökümanlar bulunuyor akabinde Passage çıkarılıyor ve daha sonra da ilgili passagelar sıralaranarak answer processing aşamasına geçiyor. Anlattıklarım biraz karışık gelebilir ancak görsele bakarak çok rahat anlayacağınızı düşünüyorum. Question-Answering’de ana mantık, bir soru soruyorsanız o sorunun cevabını barındırıcak önce bir döküman olmalı daha sonra bir passage olmalı ve en sonunda da bir cümle olmalı. Bunu bir hiyerarşi olarak kabul ederseniz, Document -> Passage -> Sentence olarak düşünülebilir basit anlamda.

Gelelim mimarideki bölümleri anlatmaya…

QUESTION PROCESSING

Bu bölümde sorunun tipini, cevabın tipini, sorudaki odaklanılan noktayı ve ilişkilerin çıkarıldığı bölümdür. Ayrıca arama motorlarına gönderdiğimiz sorgularıda bu aşamada formüle ediyor.

PASSAGE RETRIEVAL

Soruyla alakalı olan dökümanları bu bölümde sıralı şekilde ele alıyor akabinde dökümanları ele aldıktan sonra uygun olan passageları sıralayarak ele alıyor.

ANSWER PROCESSING

Bu aşamada aday cevapları çıkararak sonuca yaklaşıyor ve bu cevapları çıkarırken olasılıklarına göre sıralama işlemi gerçekleştiriliyor. Bu sıralamayı, sisteme verilen dökümanlardan veya dış kaynaklı verilerden yararlanarak yapılıyor.

Knowledge-­based approaches

Bu yaklaşımda, Sorgunun anlamsal temsili oluşturmak önemlidir. Örnek olarak zamanlar, tarihler, konumlar, varlıklar, numerik değerler bu anlamsal temsiline örnektir.

Semantik temsiller oluşturulurken 4 farklı yapısal veriden ve kaynaklardan yararlanılabilir. Bunlar;

  • Ontologies (Wikipedia infoboxes, dbPedia, WordNet, Yago)
  • Geospatial databases
  • Restaurant review sources and reservation services
  • Scientific databases

olarak bilinmektedir.

Bu yaklaşıma en iyi örnek Apple Siri verilebilir. Hatırlıycaksınız yazının en başında Siri ile ilgili bir görsel paylaşmıştım. O görselde soruda “Yarın San Francisco’da şemsiye almama gerek var mı?” sorusunu hava durumu vermiş ve yarının yağmurlu olacağını söylemişti. Burada’da bahsettiğim semantik temsiller kullanılarak böyle bir cevap dönmüştür.

Hybrid approaches

Bu yaklaşım, hem IR tabanlı hemde Knowlodge tabanlı iki sistemin birleşiminden ortaya çıkan bir yaklaşımdır. Bu yaklaşımda, Sorgunun sığ bir şekilde anlamsal temsili oluşturulur. IR methodları kullanılarak, aday cevaplar üretilir. Bu cevaplar, Yarı yapılandırılmış verilerden ve ontolojik verilerden çoğaltılır. Zengin knowledge kaynakları kullanılarak, aday cevaplar skorlanır. Bu zengin kaynaklar neler derseniz aşağıdaki gibi kaynaklardan yararlanarak doğru olan cevaba ulaşmaya çalışılır.

  • Taxonomical classification
  • Geospatial databases
  • Temporal reasoning

Question-Answering konusunun ilk serisini burada bitirmek istiyorum. Dediğim gibi 4 seri yapmayı planlıyorum. Bahsettiğim yaklaşımları ayrıntılı şekilde ve derinlemesine anlatacağım. En son olarakta BERT kullanarak Türkçe Question-Answering çalışması yapacağız birlikte.

Şimdilik SEVGİYLE KALIN.

REFERENCE

https://web.stanford.edu/class/cs124/lec/

https://medium.com/@buteliauskaslukas/question-answering-systems-why-what-how-cfa04eb51880

--

--