Bilgisayar
OKUDUĞUNUZ KONU
ChatBot Asistan Uygulaması
0

ChatBot Asistan Uygulaması

Yazar : Murat Duran4 Şubat 2018

Chatbot yapay zeka olarak bilinen aslında yapay zeka ile pek alakası olmayan bir alandır, daha önceden eşleştirilmiş cümlerileri konuşma sırasında belirli bir algoritmaya göre size gösteren bir yazılımdır.Son zamanlarda yapay zeka ile chatbotları birleştiren yeni sistemler geliştirilmeye başlandı kendi kendine öğrenip karar verebilen asistanların bazı arge merkezlerinde tasarımları devam etmektedir.

Bu projemizde sizlere daha önce yaptımız basit bir chatbot u tanıtıp kaynak dosyalarını sizlerle paylaşacağız.Kendini geliştirmek isteyen arkadaşlara ön ayak olmasını umuyorum.

Program tamamen javascritp ile hazırlandı herhangi bir veritabanı bağlantısına gerek duymuyor.Bu işe yeni başlayan arakdaşların sunucu kurulumuyla veritabanı bağlantısıyla uğraşmalarını istemedik.

Chat bot içerisindeki soru cevaplar js klasörünün içerisindeki sorucevap.js dosyasında tutulmaktadır.Aşağıda örnek soru cevap kodları bulunmaktadır.


 "MERHABA" : ["Merhaba Hoşgeldin :)"],
 
 "SA" : ["Aleyküm selam"],
 "SELAMIN ALEYKÜM" : ["Aleyküm selam"],
 "SELAMÜN ALEYKÜM" : ["Aleyküm selam"],
 
 "ADIN NE" : ["Benim adım Zeki"],
 "NEREDENSIN" : ["Türkiyeliyim ."],
 "YAŞIN KAÇ" : ["Henüz 6 aylık bir bebeğim , ama zekamı küçümseme :)"],
 "NE SEVERSIN" : ["Soru cevaplamak ve ye şeyler öğrenmek"],
 "YAPIMCIN KIM" : ["İsmi Murat DURAN 'dır. Kendisi adamın dibidir :)" ],
 "NASILSIN" : ["İyiyim ne olsun aynı bea" , "İyilik güzellik"],
 

Chatbot algoritması aşağıdaki gibidir kendiniz üzerinde geliştirmeler yapabilirsiniz.Açık kaynak paylaştığımız bu tarz uygulamalardaki amacımız yararlı olmaktır , sizde kendi geliştirdiğiniz uygulamalarınızı açık kaynak paylaşmak ve insanlara faydalı olmak isterseniz gönüllü yazarlarımız arasına katılabilirsiniz.

// ProjeHocam - YapayZeka Botu v1.2

var nfound = "nfound";

function takeInput(e) {

	if (e.which != 13) {
		return false;
	}
	
	var question = this.value;
	// appendOutput("
<div id='speechContainerUser'>
<img id='img-user' src='img/user.png'>
<div id='speechBubbleUser'>

" + question + "
</div>
</div>

", out);
	$('#dialogue').empty();
	$('#dialogue').append("
<div id='speechContainerComp'>
<div id='speechBubbleComp'>

 " + processInput(question) + "
</div>
</div>

", out);
	//appendOutput("<hr/>", out);
	
	this.focus();
	this.select();
	
	out.scrollByLines(100);
}


function processInput(question) {
	
	question = removePunc(question).toUpperCase();

	var answer = checkStatement(question);
	if(answer != nfound)
	{
		return answer;
	}

	var answer = getSimpleResponse();
	

	if (knowledgeBase[question]) {
		$('#dialogue').empty();
		$('#dialogue').append("<img id='img-comp' src='img/comp.png'>");
		var randKey = parseInt(Math.random() * knowledgeBase[question].length);
		answer = knowledgeBase[question][randKey];
	}
	return answer;
}

function getSimpleResponse()
{
$('#dialogue').empty();
$('#dialogue').append("<img id='img-comp' src='img/shock.png'>");
var answers = ["Bilmediğim yerden sordun :("]

return answers[Math.floor(Math.random() * answers.length)];
}

function checkStatement(statement)
{
$('#dialogue').empty();
$('#dialogue').append("<img id='img-comp' src='img/joy.png'>");
var patterns = [/KIZ ARKADAŞIN VARMI/, /ADAMSIN/, /TELEFON NUMARAN KAÇ/,];
var answers = ["Yok abi ya sap takılıyoz :(", "Eyvallah sende öylesin ;)", "0850 311 91 25",];

for(i = 0; i < patterns.length; i++)
{
var pattern = patterns[i];
if(pattern.test(statement))
{
return answers[i];
}
}
return nfound;
}


function removePunc(question)
{
question = question.replace(/[\.,-\/#¿¡!$?"%'\^&\*;:{}=\-_`~()1234567890]/g,"");
question = question.replace("á","a");
question = question.replace("ú","u");
question = question.replace("é","e");
question = question.replace("ó","o");
question = question.replace("ñ","n");

return question;
}


function appendOutput(message, dest) {
	dest.innerHTML += message;
}


var input = document.getElementById("userInput");
input.onkeyup = takeInput;

var out = document.getElementById("dialogue");

input.focus();

// CONDITIONALS
	//if (question.toUpperCase() == "HELLO")
		//answer = "Hi!";
	//else if (question.toUpperCase() == "WHAT TIME IS IT")
		//var date = new Date();
		//answer = "It's " + date.getHours() + " o'clock.";
SİZCE NASIL OLMUŞ?
Beğendim
85%
İlginç
9%
Eh İşte
0%
Anlamadım
6%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
YORUMLAR

YORUM YAP