Untitled

 avatar
unknown
python
3 years ago
9.2 kB
5
Indexable
import streamlit as st
import math
import random
import pandas as pd
import numpy as np
import speech_recognition as sr
from googletrans import Translator
from gtts import gTTS
import playsound
import os
from sumapi.api import SumAPI


mic = sr.Microphone()
r = sr.Recognizer()

st.title('Özlü Sözler')

Hayat = """

Olumlu düşünen, bütün olası dünyaların en iyisinde yaşadığımızı söyler ve olumsuz düşünen, bunun gerçek olmasından korkar. James Cabell

Bu dünyaya gelmenin sadece tek bir yolu vardır, terk etmenin ise çok fazla yolu. Donald Harington

Birisinin ‘Hayat zor.’ diye yakındığını duyduğumda, her zaman, ‘Neye kıyasla?’ diye sormayı isterim. Sidney Harris

Mutsuz olmamamız gerekir. Kimsenin hayatla bir kontratı yok. DavidHeath

Hayatını kazanırken yaşamasını bilmeyen bir adam, servetini kazanmadan öncesine göre daha fakirdir. Josiah Holland

Yarının ne olacağını sormaktan vazgeç. Her gün, sana verilen bir hazinedir. Eline geçtikçe değerlendir. Horace

Hayatınızı yaşamanın en iyi yolu, sizden sonra da kalıcı olacak şeyler için harcamaktır. William James

Biz Japonlar, küçük zevklerden hoşlanırız, israftan değil. Daha fazlasını karşılayabilirse de, insanın basit bir yaşam tarzı olması kanısındayım. Massaru Ibuka

Benim sanatım ve mesleğim yaşamaktır. Montaigne

Hayat, çikolata ile dolu bir kutu gibidir. Ne çıkacağını asla bilemezsiniz. Forrest Gump Filmi

Hayat, büyük bir sürprizdir. Ölümün neden daha büyük bir sürpriz olması gerektiğini anlayamıyorum. Vladimir Nabokov
"""
Sevgi = """

Karım,  benim  ‘Seni seviyorum.’  dememi binlerce kez duydu ama, hiçbir zaman ‘Üzgünüm.’ dediğimi duymadı. Bruce Willis

Büyüklerine saygı, küçüklerine şevkat göstermeyenler, bizden değildir. Hz, Muhammed

Sevip de kaybetmek, sevmemiş olmaktan daha iyidir. Seneca

Sevgiyle düşünün, sevgiyle konuşun, sevgiyle davranın. Her ihtiyaç karşılanacaktır. James Ailen

Sevgi, insanı birliğe, bencillik ise yalnızlığa götürür. Schiller

Sevdiği kadını ve sevdiği işi bulan bir erkek, yeryüzünde cenneti bulmuş demektir. Helen Rowland

Kızgınlık, kırgınlık ya da acıya tutunmayın. Enerjinizi çalarlar ve sizi sevmekten alıkoyarlar. Leo Buscaglia

Herkes temel bir şeyi unutuyor; insanlar sizi, siz onları sevmeden sevmeyecekler. Pat Carroll

Sevgi, dünyadaki yaşamın aktığı nehirdir. Henry Beecher

Sevmeden verebilirsiniz ama, vermeden sevemezsiniz. Amy Carmichael
"""
Gayret = """

Dileyin verilecektir; arayın bulacaksınız; kapıyı çalın size açılacaktır.    Hz.İsa (a.s.)

Damlayan su, mermeri, yürüyen de dağları deler. Ovidius

Hazine, eziyet çekene gözükür.    Hz. Mevlâna

Beklenen gün gelecekse, çekilen çile kutsaldır.V. Hugo

Yarınlar yorgun ve bezgin kimseler değil, rahatını terk edebilen gayretli insanlara aittir. Cicero

Emek olmadan, yemek olmaz.    Atasözü

Kötülüğün hakim olmaması için tek şart, iyilerin gayret göstermeleridir. Kelâmı Kibar

İnsan bir şeyi çok ciddi olarak arzu etmeye görsün; hiçbir şey erişilemeyecek kadar yükseklerde değildir. H. Andersen

Ümitsizlik ve korkaklık, çalışma azminden yoksun insanlara göredir.  A. Mourois

Bir çığlık, bir çığ meydana getirir.  Soljenitsin

Kıramıyacağm zinciri, hiç olmazsa kemir. C. Şehabettin

Basit bir insanın elinden geleni yapması; bilgili ve zeki bir insanın tembelliğinden çok daha değerlidir.

Taşı delen, suyun kuvveti değil; dalgaların sürekliliğidir.

Damlayan su, taşı deler. Ovidius
"""
Umut = """

Başlangıçta fazla umut ederiz ama, sonrasında yeteri kadar değil. Joesph Roux

Hayatta umutsuz durumlar yoktur,  sadece umutsuzluk besleyen insanlar vardır. Booth

Şafaktan önce her yer karanlıktır. Katherine Mansfield

Umut, gözle görülemeyeni görür, elle tutulamayanı hisseder ve imkansızı başarır. Anonim

Büyük umutlar, büyük adamlar yaratır. Thomas Fuller

Umut, fakirin ekmeğidir. Thales Miletus

Kazanmayı umut etmeyen, daha baştan kaybetmiştir. Jose Olmedo

Umut etmeyen, hiçbir zaman umutsuzluğa kapılmaz. George Bernard Shaw

Hiçbir kış, sonsuza kadar sürmez. Hal Borland

Umut, şüphe etmek daha kolayken, inanmaya devam etmektir. Anonim

Umut, mutluluktan alınmış bir miktar borçtur. Joseph İoubert
"""
Idare = """

Çok söyleyen değil, çok iş yapan yöneticiye muhtaçsınız. Hz. Ömer (r.a.)

Sevginin kurduğu devleti, adalet devam ettirir. Farabi

Her memleketin hakettiği bir hükümeti vardır. J. Maistere

Hükümetlerin en kötüsü, suçsuzu korkutandır.

Kendinizi yönetirken kafanızı, başkalarını yönetirken kalbinizi kullanın.

Evi ev eden avrat, yurdu şen eden devlet. Atasözü

Mal cimrilerde, silah korkanlarda, idare de zayıflarda olursa, işler bozulur. Hz. Ebubekir

İnsanlar üç sınıftır: İdareciler, din alimleri ve halk. İdareciler bozulunca, geçim; alimler bozulunca, din; halk bozulunca da hak bozulur. Ebu Bekir Verrak

Kendini yönet, dünyayı yönetecek gücü bulabilirsin. Plato

Kötü idarecilerin başarısı, halkın ıstırabıdır.

Bir memlekette ayaklar baş olursa, başlar ayaklar altında mahvolur.
"""
df_hayat = pd.DataFrame(Hayat.split("\n\n"))
df_sevgi = pd.DataFrame(Sevgi.split("\n\n"))
df_gayret = pd.DataFrame(Gayret.split("\n\n"))
df_idare = pd.DataFrame(Idare.split("\n\n"))
df_umut = pd.DataFrame(Umut.split("\n\n"))
pd.set_option('display.max_columns', None)
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', None)

df_hayat.drop(0, inplace=True)
df_sevgi.drop(0, inplace=True)
df_gayret.drop(0, inplace=True)
df_idare.drop(0, inplace=True)
df_umut.drop(0, inplace=True)

df_hayat.rename(columns={0: 'Sozler'}, inplace = True)
df_sevgi.rename(columns={0: 'Sozler'}, inplace = True)
df_gayret.rename(columns={0: 'Sozler'}, inplace = True)
df_idare.rename(columns={0: 'Sozler'}, inplace = True)
df_umut.rename(columns={0: 'Sozler'}, inplace = True)
df_hayat['Kategori'] = 'Hayat'
df_sevgi['Kategori'] = 'Sevgi'
df_gayret['Kategori'] = 'Gayret'
df_idare['Kategori'] = 'Idare'
df_umut['Kategori'] = 'Umut'
pdList = [df_hayat, df_sevgi, df_gayret, df_idare, df_umut]  # List of your dataframes
df = pd.concat(pdList)
df.reset_index(drop=True, inplace=True)
def jaccard_similarity(user, df):
    
    
    user = [word.lower() for word in user.split()]
    
    sim_list = []
    for index, row in df.iterrows():
        word_list =[df_word.lower() for df_word in row['Sozler'].split()]
        
        #sim_list.append(len((set(word_list).intersection(set(user)))) / len(set(word_list).union(set(user))))
        sim_list.append(np.intersect1d(user, word_list).size / np.union1d(user, word_list).size)
    
    df['Similarity'] = sim_list
    return df
def recognize_speech_from_mic(recognizer, microphone, firsttime = False):
    """Transcribe speech from recorded from `microphone`.

    Returns a dictionary with three keys:
    "success": a boolean indicating whether or not the API request was
               successful
    "error":   `None` if no error occured, otherwise a string containing
               an error message if the API could not be reached or
               speech was unrecognizable
    "transcription": `None` if speech could not be transcribed,
               otherwise a string containing the transcribed text
    """
    # check that recognizer and microphone arguments are appropriate type
    if not isinstance(recognizer, sr.Recognizer):
        raise TypeError("`recognizer` must be `Recognizer` instance")

    if not isinstance(microphone, sr.Microphone):
        raise TypeError("`microphone` must be `Microphone` instance")

    # adjust the recognizer sensitivity to ambient noise and record audio
    # from the microphone
    with microphone as source:
        if firsttime == True:
            recognizer.adjust_for_ambient_noise(source)
        print('recording..')
        audio = recognizer.listen(source, timeout = 2, phrase_time_limit = 5)

    # set up the response object
    response = {
        "success": True,
        "error": None,
        "transcription": None
    }

    # try recognizing the speech in the recording
    # if a RequestError or UnknownValueError exception is caught,
    #     update the response object accordingly
    try:
        response["transcription"] = recognizer.recognize_google(audio, language='tr-tr')
    except sr.RequestError:
        # API was unreachable or unresponsive
        response["success"] = False
        response["error"] = "API unavailable"
    except sr.UnknownValueError:
        # speech was unintelligible
        response["error"] = "Unable to recognize speech"

    return response



if st.button("Konuş: "):
    guess = recognize_speech_from_mic(r, mic)
    a = response(guess['transcription'], df)
    st.write(f"Similarity : {a[0]}\nResponse: {a[1]}\nCategory: {a[2]}")
Editor is loading...