-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
63 lines (45 loc) · 1.49 KB
/
main.py
File metadata and controls
63 lines (45 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import nltk
nltk.download('punkt')
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
import string
nltk.download('stopwords')
bankacilik_verisi = {
'soru': [
"Hesabımda ne kadar para var?"
"Hesap bakiyem ne kadar?",
"Son işlemim ne zaman yapıldı?",
"Kredi kartı borcum ne kadar?",
"Bir sonraki ödeme tarihim ne zaman?"
],
'cevap': [
"Hesabınızda 1500 TL bulunmaktadır.",
"Son işleminiz 15 Haziran tarihinde yapılmıştır.",
"Kredi kartı borcunuz 750 TL'dir.",
"Bir sonraki ödeme tarihiniz 1 Ağustos tarihindedir."
]
}
stop_words = set(stopwords.words('turkish'))
def preprocess_text(text):
text = text.lower()
text = ''.join([char for char in text if char not in string.punctuation])
words = word_tokenize(text)
filtered_words = [word for word in words if word not in stop_words]
return ' '.join(filtered_words)
def cevap_ver(soru):
temiz_soru = preprocess_text(soru)
for i in range(len(bankacilik_verisi['soru'])):
if temiz_soru in preprocess_text(bankacilik_verisi['soru'][i]):
return bankacilik_verisi['cevap'][i]
return "Üzgünüm, bu soruya cevap veremiyorum."
soru = "Hesabımda ne kadar para var?"
cevap = cevap_ver(soru)
print("Soru:", soru)
print("Cevap:", cevap)
while True:
soru = input("Soru: ")
if soru.lower() == 'exit':
break
cevap = cevap_ver(soru)
print("Cevap:", cevap)