| | import gradio as gr |
| | import spacy |
| | from spacy import displacy |
| | from spacy.tokens import Span |
| | from random import randint |
| | import spacy |
| | import random |
| | from fastcoref import spacy_component |
| | nlp = spacy.blank("th") |
| |
|
| | nlp.add_pipe( |
| | "fastcoref", |
| | config={'model_architecture': 'FCoref','model_path': 'pythainlp/han-coref-v1.0'} |
| | ) |
| |
|
| | default = "แกว่าเราเข้มแข็งมากพอที่จะเห็นแกไปน่ารักกับใครหรอ" |
| |
|
| | def corefer(text): |
| | doc = nlp(text) |
| | tags = doc._.coref_clusters |
| | title=None |
| | dic_ents = {"text":text,"ents":[],"title":title} |
| | _tag=[str(i) for i in list(range(len(tags)))] |
| | for i,tag in enumerate(tags): |
| | for s,e in tag: |
| | dic_ents["ents"].append({"start": s, "end": e, "label": _tag[i]}) |
| | colors={i:"#"+''.join([random.choice('0123456789ABCDEF') for j in range(6)]) for i in _tag} |
| | return displacy.render(dic_ents, manual=True, style="ent",options=colors, page=True) |
| |
|
| |
|
| | iface = gr.Interface(fn=corefer, |
| | inputs=gr.Textbox(label="Enter Text To Corefer with FastCoref", lines=2, value=default), |
| | outputs="html").queue() |
| | iface.launch() |