Spaces:
Runtime error
Runtime error
File size: 2,288 Bytes
3571bad 9904bf1 3571bad 2ecc574 3571bad 2ecc574 9904bf1 2ecc574 9904bf1 19cfb7e 3571bad |
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 59 60 61 62 63 64 65 66 |
import gradio as gr
import spacy
import pandas as pd
from spacy import displacy
from resources import triples
nlp = spacy.load("hu_core_news_lg")
def process(text: str) -> pd.DataFrame:
doc = nlp(text)
tuples_to_list = list()
tuples = triples.subject_verb_object_triples(doc)
if tuples:
tuples_to_list = list(tuples)
subject = ""
verb = ""
object = ""
if len(tuples_to_list) == 0:
return pd.DataFrame([["-", "-", "-"]], columns=['Subject', 'Verb', 'Object'])
for sub_multiple in tuples_to_list[0][0]:
subject += str(sub_multiple) + ", "
subject = subject[:-2]
for verb_multiple in tuples_to_list[0][1]:
verb += str(verb_multiple) + ", "
verb = verb[:-2]
for obj_multiple in tuples_to_list[0][2]:
object += str(obj_multiple) + ", "
object = object[:-2]
relation_list = [[subject,
verb,
object]]
return pd.DataFrame(relation_list, columns=['Subject', 'Verb', 'Object'])
EXAMPLES = ["Anna éppen most házat épít magának.",
"András fog főzni, ha haza ért.",
"Balázs Jéghideg narancslevet fog kortyolni Mallorca homokos partján.",
# "Júliska fagyit fog árulni a nyáron teljes állásban.",
"Júliska árulni fog fagyit a nyáron teljes állásban.",
"Einstein megmutatta a házát építés közben.",
"Vespucci 1497 és 1504 között legalább két felfedező úton vett részt.",
"Einstein megállapította, hogy az atomokra hasonló energiaeloszlás lehet érvényes.",
"Hawking úgy nyilatkozott, hogy a felfedezései az élete legizgalmasabb eseményei voltak.",
"Einstein megmutatta, ha feltételezi, hogy a fény valóban csak diszkrét csomagokban terjed, akkor meg tudja magyarázni a fényelektromos jelenség furcsa tulajdonságait."]
# process(EXAMPLES[3])
# displacy checker
# text = nlp(EXAMPLES[3])
# displacy.serve(text, style="dep")
demo = gr.Interface(
fn=process,
inputs=gr.Textbox(value=EXAMPLES[0], lines=10, label="Input text", show_label=True),
outputs=gr.DataFrame(label="Keywords", show_label=False, max_cols=3, max_rows=1),
examples=EXAMPLES,
# cache_examples=True,
)
|