motore-ICC / app.py
azaninello's picture
Update app.py
b096b37
raw
history blame
4.53 kB
import gradio as gr
'''
import nltk
import simplemma
from nltk.tokenize import word_tokenize
from nltk.tokenize import sent_tokenize
from nltk.probability import FreqDist
from simplemma import text_lemmatizer
nltk.download('punkt')
'''
def sentence(cerca_una_parola):
return f"""La parola da cercare è {cerca_una_parola}}"""
def upper(cerca_una_parola):
return cerca_una_parola.upper()
demo = fr.Textbox(fn=sentence, inputs='text', outputs='text')
demo.launch()
demo2 = fr.Textbox(fn=upper, inputs='text', outputs='text')
demo2.launch()
'''
demo = gr.Interface(
sentence_builder,
[
gr.Textbox(),
gr.Radio(["park", "zoo", "road"]),
gr.CheckboxGroup(["ran", "swam", "ate", "slept"]),
gr.Checkbox(label="Is it the morning?"),
],
"text",
examples=[
["cats", "park", ["ran", "swam"], True],
["dog", "zoo", ["ate", "swam"], False],
["bird", "road", ["ran"], False],
["cat", "zoo", ["ate"], True],
],
)
'''
'''
def update(name):
return f"Welcome to Gradio, {name}!"
def search_engine_bot(target):
result = []
for i,sent in enumerate(sentences_lower):
if target.lower() in sent:
result.append(sentences[i])
if len(result) == 0:
return (f"Non ho trovato la parola '{target}' nei testi.\n", result)
else:
return (f"""Ho trovato {len(result)} {"frasi" if len(result) > 1 else "frase"} in cui è presente la parola {target}.\n""", result)
with gr.Blocks() as demo:
gr.Markdown("Inerisci la parola da cercare.")
with gr.Row():
target = gr.Textbox(placeholder="What is your name?")
out = gr.Textbox()
btn = gr.Button("Run")
btn.click(fn=search_engine_bot, inputs=target, outputs=out)
demo.launch()
file = "text.txt"
def get_lists(file):
with open(file, 'r', encoding='utf-8') as f:
text = f.read()
word_tokenized_text = word_tokenize(text, language='italian')
word_tokenized_text_lower = [word.lower() for word in word_tokenized_text]
sent_tokenized_text = sent_tokenize(text, language='italian')
sent_tokenized_text_lower = [sent.lower() for sent in sent_tokenized_text]
return word_tokenized_text, word_tokenized_text_lower, sent_tokenized_text, sent_tokenized_text_lower
words, words_lower, SENTENCES, SENTENCES_LOWER = get_lists(file)
def num_sentences(show=''):
try:
number = int(show)
return number
except:
number = ''
return number
def show_results(result, number):
display = []
try:
for num,sent in enumerate(result[1][:int(number)]):
display.append(f"{num+1}: {sent}\n")
return display
except:
for num,sent in enumerate(result):
display.append(f"{num+1}: {sent}")
return display
def search_engine(parola_da_cercare):
sentences_lower = sentences_lower
sentences = sentences
target= parola_da_cercare #input("Inserisci una o più parole da cercare.\n")
#target= input("Inserisci un'altra parola da cercare.") #input("Inserisci un'altra parola da cercare.\n")
result = []
for i,sent in enumerate(sentences_lower):
if target.lower() in sent:
result.append(sentences[i])
if len(result) == 0:
return(f"Non ho trovato la parola '{target}' nei testi.\n")
#search_engine(round=True)
else:
return(f"""Ho trovato {len(result)} {"frasi" if len(result) > 1 else "frase"} in cui è presente la parola {target}.\n""")
show = gr.Number(label="Quante frasi vuoi vedere? Scrivi un numero oppure 'tutte', se vuoi vederle tutte :-) \n", show_label=True)
try:
for num,sent in enumerate(result[:int(show)]):
print(f"{num+1}: {sent}")
except:
for num,sent in enumerate(result):
print(f"{num+1}: {sent}")
def sentence_builder(cerca_una_parola, place, activity_list, morning):
return f"""The {cerca_una_parola}s went to the {place} where they {" and ".join(activity_list)} until the {"morning" if morning else "night"}"""
demo = gr.Interface(search_engine, inputs="text", outputs="text")
demo = gr.Interface(
sentence_builder,
[
gr.Textbox(),
gr.Radio(["park", "zoo", "road"]),
gr.CheckboxGroup(["ran", "swam", "ate", "slept"]),
gr.Checkbox(label="Is it the morning?"),
],
"text",
examples=[
["cats", "park", ["ran", "swam"], True],
["dog", "zoo", ["ate", "swam"], False],
["bird", "road", ["ran"], False],
["cat", "zoo", ["ate"], True],
],
)
if __name__ == "__main__":
demo.launch()
'''