Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,16 +1,33 @@
|
|
1 |
import nltk
|
2 |
import streamlit as st
|
3 |
from nltk.chat.util import Chat, reflections
|
4 |
-
from nltk.metrics import jaccard_distance
|
5 |
-
import re
|
6 |
|
|
|
7 |
# Eğitim veri seti
|
8 |
training_data = [
|
9 |
-
("Benim adım (.*)", ["Merhaba %1, nasıl yardımcı olabilirim?"]),
|
10 |
("merhaba|selam|hey", ["Merhaba, size nasıl yardımcı olabilirim?"]),
|
11 |
("nasılsın|naber", ["İyi, teşekkür ederim. Siz nasılsınız?"]),
|
12 |
("(iyiyim|teşekkürler), seninle konuşmaktan keyif alıyorum", ["Ben de sizinle konuşmaktan keyif alıyorum. Size nasıl yardımcı olabilirim?"]),
|
13 |
("çıkış|kapat|sonlandır", ["Görüşürüz, umarım tekrar görüşürüz!"]),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
]
|
15 |
|
16 |
# NLTK chat için eğitim
|
@@ -21,32 +38,15 @@ def train_bot(training_data):
|
|
21 |
# Sohbet botunu eğitme
|
22 |
chatbot = train_bot(training_data)
|
23 |
|
24 |
-
# Jaccard benzerliği hesapla
|
25 |
-
def jaccard_similarity(s1, s2):
|
26 |
-
s1 = set(s1.split())
|
27 |
-
s2 = set(s2.split())
|
28 |
-
common_tokens = s1.intersection(s2)
|
29 |
-
all_tokens = s1.union(s2)
|
30 |
-
return 1 - len(common_tokens) / len(all_tokens)
|
31 |
-
|
32 |
# Sohbet botunu çalıştırma
|
33 |
def run_chatbot():
|
34 |
print("Merhaba! Benim adım ChatBot. Size nasıl yardımcı olabilirim? (Çıkış için 'çıkış' yazabilirsiniz)")
|
35 |
|
|
|
36 |
user_input = st.text_area("Siz: ")
|
37 |
if user_input:
|
38 |
-
|
39 |
-
|
40 |
-
for pattern, responses in chatbot._pairs:
|
41 |
-
if isinstance(pattern, str):
|
42 |
-
pattern_str = pattern
|
43 |
-
else:
|
44 |
-
pattern_str = pattern.pattern
|
45 |
-
sim = jaccard_similarity(user_input.lower(), pattern_str.lower())
|
46 |
-
if sim > max_sim:
|
47 |
-
max_sim = sim
|
48 |
-
response = chatbot.respond(pattern_str)
|
49 |
-
st.write("ChatBot: " + response)
|
50 |
|
51 |
# Sohbet botunu başlat
|
52 |
run_chatbot()
|
|
|
1 |
import nltk
|
2 |
import streamlit as st
|
3 |
from nltk.chat.util import Chat, reflections
|
|
|
|
|
4 |
|
5 |
+
# Eğitim veri seti
|
6 |
# Eğitim veri seti
|
7 |
training_data = [
|
8 |
+
("Benim adım (.*)|ben (.*)", ["Merhaba %1, nasıl yardımcı olabilirim?"]),
|
9 |
("merhaba|selam|hey", ["Merhaba, size nasıl yardımcı olabilirim?"]),
|
10 |
("nasılsın|naber", ["İyi, teşekkür ederim. Siz nasılsınız?"]),
|
11 |
("(iyiyim|teşekkürler), seninle konuşmaktan keyif alıyorum", ["Ben de sizinle konuşmaktan keyif alıyorum. Size nasıl yardımcı olabilirim?"]),
|
12 |
("çıkış|kapat|sonlandır", ["Görüşürüz, umarım tekrar görüşürüz!"]),
|
13 |
+
("Hava nasıl?", ["Bugün hava nasıl olduğuna dair bilgi almak ister misiniz?"]),
|
14 |
+
("Bugün ne yaptın?", ["Bugün ne yaptığını anlatır mısınız?"]),
|
15 |
+
("En sevdiğin film/kitap/şarkı nedir?", ["En sevdiğiniz film/kitap/şarkı hakkında konuşmak ister misiniz?"]),
|
16 |
+
("Bir hobiye sahip misin? Hangi hobilerden hoşlanırsın?", ["Hobilerinizden bahseder misiniz?"]),
|
17 |
+
("En son nerede tatil yaptın?", ["En son tatil yaptığınız yer hakkında konuşabiliriz."]),
|
18 |
+
("Gelecek planların neler?", ["Gelecek planlarınız hakkında konuşmak ister misiniz?"]),
|
19 |
+
("Hangi sporu seversin?", ["Hangi sporları sevdiğinizi öğrenmek isterim."]),
|
20 |
+
("En son izlediğin film/izlediğin dizinin adı nedir?", ["Son izlediğiniz film/dizi hakkında konuşabiliriz."]),
|
21 |
+
("En sevdiğin yemek nedir?", ["En sevdiğiniz yemek hakkında konuşabiliriz."]),
|
22 |
+
("Evcil hayvanın var mı? Varsa, ne tür bir hayvan?", ["Evcil hayvanlarınız hakkında konuşabiliriz."]),
|
23 |
+
("Şu anda ne yapıyorsun?", ["Şu anda ne yaptığınızı öğrenmek isterim."]),
|
24 |
+
("Ne tür müzik dinlersin?", ["Hangi tür müzikleri dinlemeyi sevdiğinizi öğrenmek isterim."]),
|
25 |
+
("Bir rüya gördün mü? Anlatır mısın?", ["En son gördüğünüz rüyayı anlatır mısınız?"]),
|
26 |
+
("En son yaptığın spor nedir?", ["Son yaptığınız spor hakkında konuşabiliriz."]),
|
27 |
+
("En sevdiğin mevsim hangisi?", ["En sevdiğiniz mevsimi öğrenmek isterim."]),
|
28 |
+
("Bir kitap okudun mu? Hangi kitap?", ["Okuduğunuz son kitap hakkında konuşabiliriz."]),
|
29 |
+
("Bir yetenek veya becerin var mı?", ["Sahip olduğunuz bir yetenek veya beceriyi paylaşır mısınız?"]),
|
30 |
+
("En sevdiğin renk nedir?", ["En sevdiğiniz rengi öğrenmek isterim."]),
|
31 |
]
|
32 |
|
33 |
# NLTK chat için eğitim
|
|
|
38 |
# Sohbet botunu eğitme
|
39 |
chatbot = train_bot(training_data)
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
# Sohbet botunu çalıştırma
|
42 |
def run_chatbot():
|
43 |
print("Merhaba! Benim adım ChatBot. Size nasıl yardımcı olabilirim? (Çıkış için 'çıkış' yazabilirsiniz)")
|
44 |
|
45 |
+
|
46 |
user_input = st.text_area("Siz: ")
|
47 |
if user_input:
|
48 |
+
response = chatbot.respond(user_input)
|
49 |
+
st.write("ChatBot: "+response)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
# Sohbet botunu başlat
|
52 |
run_chatbot()
|